exiv2-0.25/0000775000175000017500000000000012541550116012313 5ustar andreasandreasexiv2-0.25/build/0000775000175000017500000000000012541547732013424 5ustar andreasandreasexiv2-0.25/build/msvc/0000775000175000017500000000000012541547732014374 5ustar andreasandreasexiv2-0.25/build/msvc/build.cmd0000664000175000017500000001304112537254374016161 0ustar andreasandreas@echo off SETLOCAL REM --------------------------------------------------- REM -- Created by danielkaneider for the exiv2 project REM --------------------------------------------------- rem https://github.com/madler/zlib/commits SET ZLIB_COMMIT_LONG=50893291621658f355bc5b4d450a8d06a563053d rem https://github.com/bagder/curl SET CURL_COMMIT_LONG=dd39a671019d713bd077be9eed511c2dc6013598 ml64.exe > NUL IF ERRORLEVEL 1 ( set Platform=Win32 set RawPlatform=x86 set CpuPlatform=ia32 ) ELSE ( set Platform=x64 set RawPlatform=x64 set CpuPlatform=intel64 ) IF EXIST ..\..\..\exiv2-trunk ( CD ..\..\.. call exiv2-trunk\build\msvc\setenv.cmd ) ELSE ( call setenv.cmd ) IF %Platform% EQU x64 ( set VS_CMAKE=%VS_CMAKE% Win64 ) IF NOT EXIST %CMAKE_DIR%\bin\cmake.exe ( echo. echo.ERROR: CMake not found: %CMAKE_DIR%\bin\cmake.exe echo. goto error_end ) IF NOT EXIST %CYGWIN_DIR%\bin\cp.exe GOTO cygwin_error IF NOT EXIST %CYGWIN_DIR%\bin\gzip.exe GOTO cygwin_error IF NOT EXIST %CYGWIN_DIR%\bin\mv.exe GOTO cygwin_error IF NOT EXIST %CYGWIN_DIR%\bin\svn.exe GOTO cygwin_error IF NOT EXIST %CYGWIN_DIR%\bin\tar.exe GOTO cygwin_error IF NOT EXIST %CYGWIN_DIR%\bin\unzip.exe GOTO cygwin_error IF NOT EXIST %CYGWIN_DIR%\bin\wget.exe GOTO cygwin_error GOTO cygwin_ok :cygwin_error echo ERROR: Cygwin with echo cp echo gzip echo mv echo svn echo tar echo unzip echo wget echo is required GOTO error_end :cygwin_ok IF NOT DEFINED Configuration ( set Configuration=Release ) cls echo. echo.--- %VS_CMAKE% --- echo.Configuration = %Configuration% echo.Platform = %Platform% (%RawPlatform%) echo. IF NOT EXIST %TEMP_DIR% ( mkdir %TEMP_DIR% ) IF NOT EXIST vcDlls ( mkdir vcDlls robocopy "%vcinstalldir%redist\%RawPlatform%" vcDlls /MIR >nul ) IF NOT EXIST vcDlls\selected ( mkdir vcDlls\selected %CYGWIN_DIR%\bin\cp.exe vcDlls/**/vcomp* vcDlls/selected %CYGWIN_DIR%\bin\cp.exe vcDlls/**/msv* vcDlls/selected ) SET INSTALL_DIR=dist IF NOT EXIST %INSTALL_DIR% ( mkdir %INSTALL_DIR% ) SET ZLIB_COMMIT=%ZLIB_COMMIT_LONG:~0,7% IF NOT EXIST %TEMP_DIR%\zlib-%ZLIB_COMMIT%.zip ( %CYGWIN_DIR%\bin\wget.exe -O %TEMP_DIR%/zlib-%ZLIB_COMMIT%.zip --no-check-certificate http://github.com/madler/zlib/zipball/%ZLIB_COMMIT_LONG% ) IF NOT EXIST zlib-%ZLIB_COMMIT% ( %CYGWIN_DIR%\bin\unzip.exe -q %TEMP_DIR%/zlib-%ZLIB_COMMIT%.zip %CYGWIN_DIR%\bin\mv.exe madler-zlib-* zlib-%ZLIB_COMMIT% ) IF NOT EXIST zlib-%ZLIB_COMMIT%.build ( mkdir zlib-%ZLIB_COMMIT%.build pushd zlib-%ZLIB_COMMIT%.build %CMAKE_DIR%\bin\cmake.exe -G "%VS_CMAKE%" -DCMAKE_INSTALL_PREFIX=..\%INSTALL_DIR% ..\zlib-%ZLIB_COMMIT% IF errorlevel 1 goto error_end %CMAKE_DIR%\bin\cmake.exe --build . --config %Configuration% IF errorlevel 1 goto error_end %CMAKE_DIR%\bin\cmake.exe --build . --config %Configuration% --target install IF errorlevel 1 goto error_end popd ) IF NOT EXIST %TEMP_DIR%\expat-2.1.0.tar ( %CYGWIN_DIR%\bin\wget.exe -O %TEMP_DIR%/expat-2.1.0.tar.gz http://sourceforge.net/projects/expat/files/expat/2.1.0/expat-2.1.0.tar.gz/download %CYGWIN_DIR%\bin\gzip.exe -d %TEMP_DIR%/expat-2.1.0.tar.gz ) IF NOT EXIST expat-2.1.0 ( %CYGWIN_DIR%\bin\tar.exe -xf %TEMP_DIR%/expat-2.1.0.tar ) IF NOT EXIST expat-2.1.0.build ( mkdir expat-2.1.0.build pushd expat-2.1.0.build %CMAKE_DIR%\bin\cmake.exe -G "%VS_CMAKE%" -DCMAKE_INSTALL_PREFIX=..\%INSTALL_DIR% ..\expat-2.1.0 IF errorlevel 1 goto error_end %CMAKE_DIR%\bin\cmake.exe --build . --config %Configuration% IF errorlevel 1 goto error_end %CMAKE_DIR%\bin\cmake.exe --build . --config %Configuration% --target install IF errorlevel 1 goto error_end popd ) SET CURL_COMMIT=%CURL_COMMIT_LONG:~0,7% IF NOT EXIST %TEMP_DIR%\curl-%CURL_COMMIT%.zip ( %CYGWIN_DIR%\bin\wget.exe -O %TEMP_DIR%/curl-%CURL_COMMIT%.zip --no-check-certificate http://github.com/bagder/curl/zipball/%CURL_COMMIT_LONG% ) IF NOT EXIST curl-%CURL_COMMIT% ( %CYGWIN_DIR%\bin\unzip.exe -q %TEMP_DIR%/curl-%CURL_COMMIT%.zip %CYGWIN_DIR%\bin\mv.exe bagder-curl-* curl-%CURL_COMMIT% ) IF NOT EXIST curl-%CURL_COMMIT%.build ( mkdir curl-%CURL_COMMIT%.build pushd curl-%CURL_COMMIT%.build %CMAKE_DIR%\bin\cmake.exe -G "%VS_CMAKE%" -DCMAKE_INSTALL_PREFIX=..\%INSTALL_DIR% -DBUILD_CURL_TESTS=OFF -DCMAKE_USE_OPENSSL=OFF -DCMAKE_USE_LIBSSH2=OFF ..\curl-%CURL_COMMIT% IF errorlevel 1 goto error_end %CMAKE_DIR%\bin\cmake.exe --build . --config %Configuration% IF errorlevel 1 goto error_end %CMAKE_DIR%\bin\cmake.exe --build . --config %Configuration% --target install IF errorlevel 1 goto error_end popd ) IF NOT EXIST exiv2-trunk ( %CYGWIN_DIR%\bin\svn.exe co svn://dev.exiv2.org/svn/trunk exiv2-trunk ) ELSE ( REM %CYGWIN_DIR%\bin\svn.exe update exiv2-trunk ) IF NOT EXIST exiv2-trunk.build ( mkdir exiv2-trunk.build ) pushd exiv2-trunk.build %CMAKE_DIR%\bin\cmake.exe -G "%VS_CMAKE%" -DCMAKE_INSTALL_PREFIX=..\%INSTALL_DIR% -DCMAKE_PROGRAM_PATH=%SVN_DIR% -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_ENABLE_BUILD_SAMPLES=ON -DEXIV2_ENABLE_CURL=ON -DEXIV2_ENABLE_SSH=OFF ..\exiv2-trunk IF errorlevel 1 goto error_end %CMAKE_DIR%\bin\cmake.exe --build . --config %Configuration% IF errorlevel 1 goto error_end %CMAKE_DIR%\bin\cmake.exe --build . --config %Configuration% --target install IF errorlevel 1 goto error_end popd goto end IF errorlevel 1 goto error_end popd goto end :error_end REM pause :end endlocalexiv2-0.25/build/msvc/setenv.cmd0000664000175000017500000000216412537242563016367 0ustar andreasandreas@echo off REM --------------------------------------------------- REM -- Created by danielkaneider for the exiv2 project REM --------------------------------------------------- SET CYGWIN_DIR=c:\cygwin64 SET TEMP_DIR=.downloaddir SET CMAKE_DIR=C:\Data\Programs\cmake-3.2.2-win32-x86 SET SVN_DIR=C:\Data\Programs\Apache-Subversion-1.8.13\bin REM Options: ------------------------------------------- REM enable another configuration (defaulting to Release) REM SET Configuration=Debug IF DEFINED VS120COMNTOOLS ( REM Visual Studio 2013 set VS_SHORT=vc12 set VS_CMAKE=Visual Studio 12 set VS_PROG_FILES=Microsoft Visual Studio 12.0 ) ELSE IF DEFINED VS110COMNTOOLS ( REM Visual Studio 2012 set VS_SHORT=vc11 set VS_CMAKE=Visual Studio 11 set VS_PROG_FILES=Microsoft Visual Studio 11.0 ) ELSE IF DEFINED VS100COMNTOOLS ( REM Visual Studio 2010 set VS_SHORT=vc10 set VS_CMAKE=Visual Studio 10 set VS_PROG_FILES=Microsoft Visual Studio 10.0 ) ELSE ( REM Visual Studio 2008 set VS_SHORT=vc9 set VS_CMAKE=Visual Studio 9 2008 set VS_PROG_FILES=Microsoft Visual Studio 9.0 ) exiv2-0.25/samples/0000775000175000017500000000000012541550116013757 5ustar andreasandreasexiv2-0.25/samples/conntest.cpp0000664000175000017500000001135612452753677016350 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // con-test.cpp // Tester application for testing the http/https/ftp/ssh/sftp connection #include #include #include using namespace std; void httpcon(const std::string& url, bool useHttp1_0 = false) { Exiv2::dict_t response; Exiv2::dict_t request; string errors; Exiv2::Uri uri = Exiv2::Uri::Parse(url); Exiv2::Uri::Decode(uri); request["server"] = uri.Host; request["page"] = uri.Path; request["port"] = uri.Port; if (!useHttp1_0) request["version"] = "1.1"; int serverCode = Exiv2::http(request,response,errors); if (serverCode < 0 || serverCode >= 400 || errors.compare("") != 0) { throw Exiv2::Error(55, "Server", serverCode); } } #if EXV_USE_CURL == 1 void curlcon(const std::string& url, bool useHttp1_0 = false) { CURL* curl = curl_easy_init(); if(!curl) { throw Exiv2::Error(1, "Uable to init libcurl."); } // get the timeout value std::string timeoutStr = Exiv2::getEnv(Exiv2::envTIMEOUT); long timeout = atol(timeoutStr.c_str()); if (timeout == 0) { throw Exiv2::Error(1, "Timeout Environmental Variable must be a positive integer."); } string response; curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, Exiv2::curlWriter); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, timeout); //curl_easy_setopt(curl, CURLOPT_VERBOSE, 1); // debug if (useHttp1_0) curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); else curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); /* Perform the request, res will get the return code */ CURLcode res = curl_easy_perform(curl); if(res != CURLE_OK) { // error happends throw Exiv2::Error(1, curl_easy_strerror(res)); } // get return code long returnCode; curl_easy_getinfo (curl, CURLINFO_RESPONSE_CODE, &returnCode); // get code curl_easy_cleanup(curl); if (returnCode >= 400 || returnCode < 0) { throw Exiv2::Error(55, "Server", returnCode); } } #endif #if EXV_USE_SSH == 1 void sshcon(const std::string& url) { Exiv2::Uri uri = Exiv2::Uri::Parse(url); Exiv2::Uri::Decode(uri); string page = uri.Path; // remove / at the beginning of the path if (page[0] == '/') { page = page.substr(1); } Exiv2::SSH ssh(uri.Host, uri.Username, uri.Password, uri.Port); string response = ""; string cmd = "declare -a x=($(ls -alt " + page + ")); echo ${x[4]}"; if (ssh.runCommand(cmd, &response) != 0) { throw Exiv2::Error(1, "Unable to get file length."); } else { long length = atol(response.c_str()); if (length == 0) { throw Exiv2::Error(1, "File is empty or not found."); } } } void sftpcon(const std::string& url) { Exiv2::Uri uri = Exiv2::Uri::Parse(url); Exiv2::Uri::Decode(uri); string page = uri.Path; // remove / at the beginning of the path if (page[0] == '/') { page = page.substr(1); } Exiv2::SSH ssh(uri.Host, uri.Username, uri.Password, uri.Port); sftp_file handle; ssh.getFileSftp(page, handle); if (handle == NULL) throw Exiv2::Error(1, "Unable to open the file"); else sftp_close(handle); } #endif int main(int argc,const char** argv) { if (argc < 2) { cout << "Usage: " << argv[0] << " url {-http1_0}\n"; return 1; } std::string url(argv[1]); Exiv2::Protocol prot = Exiv2::fileProtocol(url); bool useHttp1_0 = false; for ( int a = 1 ; a < argc ; a++ ) { std::string arg(argv[a]); if (arg == "-http1_0") useHttp1_0 = true; } bool isOk = false; try { #if EXV_USE_SSH == 1 if (prot == Exiv2::pSsh) { sshcon(url); isOk = true; } else if (prot == Exiv2::pSftp){ sftpcon(url); isOk = true; } #endif #if EXV_USE_CURL == 1 if (prot == Exiv2::pHttp || prot == Exiv2::pHttps || prot == Exiv2::pFtp) { curlcon(url, useHttp1_0); isOk = true; } #endif if (!isOk && prot == Exiv2::pHttp) { httpcon(url, useHttp1_0); isOk = true; } } catch (Exiv2::AnyError& e) { std::cout << "Error: '" << e << "'\n"; return -1; } if (!isOk) cout << "The protocol is unsupported.\n"; else cout << "OK.\n"; return 0; } // That's all Folks! exiv2-0.25/samples/write2-test.cpp0000664000175000017500000001753211411621067016663 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* Abstract : ExifData write unit tests for Exif data created from scratch File : write2-test.cpp Version : $Rev: 2286 $ Author(s): Andreas Huggel (ahu) History : 26-Jun-04, ahu: created */ // ***************************************************************************** // included header files #include #include #include #include #include void write(const std::string& file, Exiv2::ExifData& ed); void print(const std::string& file); // ***************************************************************************** // Main int main(int argc, char* const argv[]) { try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } std::string file(argv[1]); std::cout <<"----- Some IFD0 tags\n"; Exiv2::ExifData ed1; ed1["Exif.Image.Model"] = "Test 1"; Exiv2::Value::AutoPtr v1 = Exiv2::Value::create(Exiv2::unsignedShort); v1->read("160 161 162 163"); ed1.add(Exiv2::ExifKey("Exif.Image.SamplesPerPixel"), v1.get()); Exiv2::Value::AutoPtr v2 = Exiv2::Value::create(Exiv2::signedLong); v2->read("-2 -1 0 1"); ed1.add(Exiv2::ExifKey("Exif.Image.XResolution"), v2.get()); Exiv2::Value::AutoPtr v3 = Exiv2::Value::create(Exiv2::signedRational); v3->read("-2/3 -1/3 0/3 1/3"); ed1.add(Exiv2::ExifKey("Exif.Image.YResolution"), v3.get()); Exiv2::Value::AutoPtr v4 = Exiv2::Value::create(Exiv2::undefined); v4->read("255 254 253 252"); ed1.add(Exiv2::ExifKey("Exif.Image.WhitePoint"), v4.get()); write(file, ed1); print(file); std::cout <<"\n----- One Exif tag\n"; Exiv2::ExifData ed2; ed2["Exif.Photo.DateTimeOriginal"] = "Test 2"; write(file, ed2); print(file); std::cout <<"\n----- Canon MakerNote tags\n"; Exiv2::ExifData edMn1; edMn1["Exif.Image.Make"] = "Canon"; edMn1["Exif.Image.Model"] = "Canon PowerShot S40"; edMn1["Exif.Canon.0xabcd"] = "A Canon makernote tag"; edMn1["Exif.CanonCs.0x0002"] = uint16_t(41); edMn1["Exif.CanonSi.0x0005"] = uint16_t(42); edMn1["Exif.CanonCf.0x0001"] = uint16_t(43); edMn1["Exif.CanonPi.0x0001"] = uint16_t(44); edMn1["Exif.CanonPa.0x0001"] = uint16_t(45); write(file, edMn1); print(file); std::cout <<"\n----- Non-intrusive writing of special Canon MakerNote tags\n"; Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(file); assert(image.get() != 0); image->readMetadata(); Exiv2::ExifData& rEd = image->exifData(); rEd["Exif.CanonCs.0x0001"] = uint16_t(88); rEd["Exif.CanonSi.0x0004"] = uint16_t(99); image->writeMetadata(); print(file); std::cout <<"\n----- One Fujifilm MakerNote tag\n"; Exiv2::ExifData edMn2; edMn2["Exif.Image.Make"] = "FUJIFILM"; edMn2["Exif.Image.Model"] = "FinePixS2Pro"; edMn2["Exif.Fujifilm.0x1000"] = "A Fujifilm QUALITY tag"; write(file, edMn2); print(file); std::cout <<"\n----- One Sigma/Foveon MakerNote tag\n"; Exiv2::ExifData edMn3; edMn3["Exif.Image.Make"] = "SIGMA"; edMn3["Exif.Image.Model"] = "SIGMA SD10"; edMn3["Exif.Sigma.0x0018"] = "Software? Exiv2!"; write(file, edMn3); print(file); std::cout <<"\n----- One Nikon1 MakerNote tag\n"; Exiv2::ExifData edMn4; edMn4["Exif.Image.Make"] = "NIKON"; edMn4["Exif.Image.Model"] = "E990"; edMn4["Exif.Nikon1.0x0080"] = "ImageAdjustment by Exiv2"; write(file, edMn4); print(file); std::cout <<"\n----- One Nikon2 MakerNote tag\n"; Exiv2::ExifData edMn5; edMn5["Exif.Image.Make"] = "NIKON"; edMn5["Exif.Image.Model"] = "E950"; edMn5["Exif.Nikon2.0xffff"] = "An obscure Nikon2 tag"; write(file, edMn5); print(file); std::cout <<"\n----- One Nikon3 MakerNote tag\n"; Exiv2::ExifData edMn6; edMn6["Exif.Image.Make"] = "NIKON CORPORATION"; edMn6["Exif.Image.Model"] = "NIKON D70"; edMn6["Exif.Nikon3.0x0004"] = "A boring Nikon3 Quality tag"; write(file, edMn6); print(file); std::cout <<"\n----- One Olympus MakerNote tag\n"; Exiv2::ExifData edMn7; edMn7["Exif.Image.Make"] = "OLYMPUS CORPORATION"; edMn7["Exif.Image.Model"] = "C8080WZ"; edMn7["Exif.Olympus.0x0201"] = uint16_t(1); write(file, edMn7); print(file); std::cout <<"\n----- One Panasonic MakerNote tag\n"; Exiv2::ExifData edMn8; edMn8["Exif.Image.Make"] = "Panasonic"; edMn8["Exif.Image.Model"] = "DMC-FZ5"; edMn8["Exif.Panasonic.0x0001"] = uint16_t(1); write(file, edMn8); print(file); std::cout <<"\n----- One Sony1 MakerNote tag\n"; Exiv2::ExifData edMn9; edMn9["Exif.Image.Make"] = "SONY"; edMn9["Exif.Image.Model"] = "DSC-W7"; edMn9["Exif.Sony1.0x2000"] = "0 1 2 3 4 5"; write(file, edMn9); print(file); std::cout <<"\n----- Minolta MakerNote tags\n"; Exiv2::ExifData edMn10; edMn10["Exif.Image.Make"] = "Minolta"; edMn10["Exif.Image.Model"] = "A fancy Minolta camera"; edMn10["Exif.Minolta.ColorMode"] = uint32_t(1); edMn10["Exif.MinoltaCsNew.WhiteBalance"] = uint32_t(2); edMn10["Exif.MinoltaCs5D.WhiteBalance"] = uint16_t(3); edMn10["Exif.MinoltaCs5D.ColorTemperature"] = int16_t(-1); edMn10["Exif.MinoltaCs7D.WhiteBalance"] = uint16_t(4); edMn10["Exif.MinoltaCs7D.ExposureCompensation"] = int16_t(-2); edMn10["Exif.MinoltaCs7D.ColorTemperature"] = int16_t(-3); write(file, edMn10); print(file); std::cout <<"\n----- One IOP tag\n"; Exiv2::ExifData ed3; ed3["Exif.Iop.InteroperabilityIndex"] = "Test 3"; write(file, ed3); print(file); std::cout <<"\n----- One GPS tag\n"; Exiv2::ExifData ed4; ed4["Exif.GPSInfo.GPSVersionID"] = "19 20"; write(file, ed4); print(file); std::cout <<"\n----- One IFD1 tag\n"; Exiv2::ExifData ed5; ed5["Exif.Thumbnail.Artist"] = "Test 5"; write(file, ed5); print(file); std::cout <<"\n----- One IOP and one IFD1 tag\n"; Exiv2::ExifData ed6; ed6["Exif.Iop.InteroperabilityIndex"] = "Test 6 Iop tag"; ed6["Exif.Thumbnail.Artist"] = "Test 6 Ifd1 tag"; write(file, ed6); print(file); std::cout <<"\n----- One IFD0 and one IFD1 tag\n"; Exiv2::ExifData ed7; ed7["Exif.Thumbnail.Artist"] = "Test 7"; Exiv2::Value::AutoPtr v5 = Exiv2::Value::create(Exiv2::unsignedShort); v5->read("160 161 162 163"); ed7.add(Exiv2::ExifKey("Exif.Image.SamplesPerPixel"), v5.get()); write(file, ed7); print(file); return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } } void write(const std::string& file, Exiv2::ExifData& ed) { Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(file); assert(image.get() != 0); image->setExifData(ed); image->writeMetadata(); } void print(const std::string& file) { Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(file); assert(image.get() != 0); image->readMetadata(); Exiv2::ExifData &ed = image->exifData(); Exiv2::ExifData::const_iterator end = ed.end(); for (Exiv2::ExifData::const_iterator i = ed.begin(); i != end; ++i) { std::cout << std::setw(45) << std::setfill(' ') << std::left << i->key() << " " << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << i->tag() << " " << std::setw(12) << std::setfill(' ') << std::left << i->ifdName() << " " << std::setw(9) << std::setfill(' ') << std::left << i->typeName() << " " << std::dec << std::setw(3) << std::setfill(' ') << std::right << i->count() << " " << std::dec << i->value() << "\n"; } } exiv2-0.25/samples/exifvalue.cpp0000664000175000017500000000202612504576267016471 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // exifvalue.cpp, $Rev: 3090 $ // Sample program to print value of an exif key in an image #include #include #include #include #include int main(int argc, char* const argv[]) { if (argc != 3) { std::cerr << "Usage: " << argv[0] << " file key\n"; return 1; } const char* file = argv[1]; const char* key = argv[2]; Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(file); assert(image.get() != 0); image->readMetadata(); Exiv2::ExifData &exifData = image->exifData(); if ( exifData.empty()) { std::cerr << "no metadata found in file " << file << std::endl; exit(2); } try { std::cout << exifData[key] << std::endl; } catch (Exiv2::AnyError& e) { std::cerr << "Caught Exiv2 exception '" << e << "'" << std::endl; exit(3); } catch ( ... ) { std::cerr << "Caught a cold!" << std::endl; exit(4); } return 0; } exiv2-0.25/samples/iptceasy.cpp0000664000175000017500000000273112173660260016312 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // iptceasy.cpp, $Rev: 3090 $ // The quickest way to access, set or modify IPTC metadata. #include #include #include #include int main(int argc, char* const argv[]) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } std::string file(argv[1]); Exiv2::IptcData iptcData; iptcData["Iptc.Application2.Headline"] = "The headline I am"; iptcData["Iptc.Application2.Keywords"] = "Yet another keyword"; iptcData["Iptc.Application2.DateCreated"] = "2004-8-3"; iptcData["Iptc.Application2.Urgency"] = uint16_t(1); iptcData["Iptc.Envelope.ModelVersion"] = 42; iptcData["Iptc.Envelope.TimeSent"] = "14:41:0-05:00"; iptcData["Iptc.Application2.RasterizedCaption"] = "230 42 34 2 90 84 23 146"; iptcData["Iptc.0x0009.0x0001"] = "Who am I?"; Exiv2::StringValue value; value.read("very!"); iptcData["Iptc.Application2.Urgency"] = value; std::cout << "Time sent: " << iptcData["Iptc.Envelope.TimeSent"] << "\n"; // Open image file Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(file); assert (image.get() != 0); // Set IPTC data and write it to the file image->setIptcData(iptcData); image->writeMetadata(); return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } exiv2-0.25/samples/tiff-test.cpp0000664000175000017500000000633712173660260016404 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // tiff-test.cpp, $Rev: 3090 $ // First and very simple TIFF write test. #include #include #include #include #include using namespace Exiv2; void print(const ExifData& exifData); void mini1(const char* path); void mini9(const char* path); int main(int argc, char* const argv[]) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } const char* path = argv[1]; mini1(path); mini9(path); return 0; } catch (const AnyError& e) { std::cout << e << "\n"; } void mini1(const char* path) { ExifData exifData; Blob blob; WriteMethod wm; // Write nothing to a new structure, without a previous binary image wm = ExifParser::encode(blob, 0, 0, bigEndian, exifData); assert(wm == wmIntrusive); assert(blob.size() == 0); std::cout << "Test 1: Writing empty Exif data without original binary data: ok.\n"; // Write nothing, this time with a previous binary image DataBuf buf = readFile(path); wm = ExifParser::encode(blob, buf.pData_, buf.size_, bigEndian, exifData); assert(wm == wmIntrusive); assert(blob.size() == 0); std::cout << "Test 2: Writing empty Exif data with original binary data: ok.\n"; // Write something to a new structure, without a previous binary image exifData["Exif.Photo.DateTimeOriginal"] = "Yesterday at noon"; wm = ExifParser::encode(blob, 0, 0, bigEndian, exifData); assert(wm == wmIntrusive); std::cout << "Test 3: Wrote non-empty Exif data without original binary data:\n"; exifData.clear(); ByteOrder bo = ExifParser::decode(exifData, &blob[0], (uint32_t) blob.size()); assert(bo == bigEndian); print(exifData); } void mini9(const char* path) { TiffImage tiffImage(BasicIo::AutoPtr(new FileIo(path)), false); tiffImage.readMetadata(); std::cout << "MIME type: " << tiffImage.mimeType() << "\n"; std::cout << "Image size: " << tiffImage.pixelWidth() << " x " << tiffImage.pixelHeight() << "\n"; ExifData& exifData = tiffImage.exifData(); std::cout << "Before\n"; print(exifData); std::cout << "======\n"; exifData["Exif.Photo.DateTimeOriginal"] = "Yesterday at noon"; std::cout << "After\n"; print(exifData); tiffImage.writeMetadata(); } void print(const ExifData& exifData) { if (exifData.empty()) { std::string error("No Exif data found in the file"); throw Exiv2::Error(1, error); } Exiv2::ExifData::const_iterator end = exifData.end(); for (Exiv2::ExifData::const_iterator i = exifData.begin(); i != end; ++i) { std::cout << std::setw(44) << std::setfill(' ') << std::left << i->key() << " " << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << i->tag() << " " << std::setw(9) << std::setfill(' ') << std::left << i->typeName() << " " << std::dec << std::setw(3) << std::setfill(' ') << std::right << i->count() << " " << std::dec << i->value() << "\n"; } } exiv2-0.25/samples/prevtest.cpp0000664000175000017500000000257412173660260016352 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // prevtest.cpp, $Rev: 3090 $ // Test access to preview images #include #include #include #include int main(int argc, char* const argv[]) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } std::string filename(argv[1]); Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename); assert(image.get() != 0); image->readMetadata(); Exiv2::PreviewManager loader(*image); Exiv2::PreviewPropertiesList list = loader.getPreviewProperties(); for (Exiv2::PreviewPropertiesList::iterator pos = list.begin(); pos != list.end(); pos++) { std::cout << pos->mimeType_ << " preview, type " << pos->id_ << ", " << pos->size_ << " bytes, " << pos->width_ << 'x' << pos->height_ << " pixels" << "\n"; Exiv2::PreviewImage preview = loader.getPreviewImage(*pos); preview.writeFile(filename + "_" + Exiv2::toString(pos->width_) + "x" + Exiv2::toString(pos->height_)); } // Cleanup Exiv2::XmpParser::terminate(); return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } exiv2-0.25/samples/Jzon.cpp0000664000175000017500000005727412523351131015416 0ustar andreasandreas/* Copyright (c) 2013 Johannes Häggqvist Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifdef _WINDLL #define JzonAPI __declspec(dllexport) #endif #include "Jzon.h" #include #include #include #include namespace Jzon { class FormatInterpreter { public: FormatInterpreter() { SetFormat(NoFormat); } FormatInterpreter(const Format &format) { SetFormat(format); } void SetFormat(const Format &format) { this->format = format; indentationChar = (format.useTabs ? '\t' : ' '); spacing = (format.spacing ? " " : ""); newline = (format.newline ? "\n" : spacing); } std::string GetIndentation(unsigned int level) const { if (!format.newline) { return ""; } else { return std::string(format.indentSize * level, indentationChar); } } inline const std::string &GetNewline() const { return newline; } inline const std::string &GetSpacing() const { return spacing; } private: Format format; char indentationChar; std::string newline; std::string spacing; }; inline bool IsWhitespace(char c) { return (c == '\n' || c == ' ' || c == '\t' || c == '\r' || c == '\f'); } inline bool IsNumber(char c) { return ((c >= '0' && c <= '9') || c == '.' || c == '-'); } Node::Node() { } Node::~Node() { } Object &Node::AsObject() { if (IsObject()) return static_cast(*this); else throw TypeException(); } const Object &Node::AsObject() const { if (IsObject()) return static_cast(*this); else throw TypeException(); } Array &Node::AsArray() { if (IsArray()) return static_cast(*this); else throw TypeException(); } const Array &Node::AsArray() const { if (IsArray()) return static_cast(*this); else throw TypeException(); } Value &Node::AsValue() { if (IsValue()) return static_cast(*this); else throw TypeException(); } const Value &Node::AsValue() const { if (IsValue()) return static_cast(*this); else throw TypeException(); } Node::Type Node::DetermineType(const std::string &json) { std::string::const_iterator jsonIt = json.begin(); while (jsonIt != json.end() && IsWhitespace(*jsonIt)) ++jsonIt; if (jsonIt == json.end()) return T_VALUE; switch (*jsonIt) { case '{' : return T_OBJECT; case '[' : return T_ARRAY; default : return T_VALUE; } } Value::Value() : Node() { SetNull(); } Value::Value(const Value &rhs) : Node() { Set(rhs); } Value::Value(const Node &rhs) : Node() { const Value &value = rhs.AsValue(); Set(value); } Value::Value(ValueType type, const std::string &value) { Set(type, value); } Value::Value(const std::string &value) { Set(value); } Value::Value(const char *value) { Set(value); } Value::Value(const int value) { Set(value); } Value::Value(const float value) { Set(value); } Value::Value(const double value) { Set(value); } Value::Value(const bool value) { Set(value); } Value::~Value() { } Node::Type Value::GetType() const { return T_VALUE; } Value::ValueType Value::GetValueType() const { return type; } std::string Value::ToString() const { if (IsNull()) { return "null"; } else { return valueStr; } } int Value::ToInt() const { if (IsNumber()) { std::stringstream sstr(valueStr); int val; sstr >> val; return val; } else { return 0; } } float Value::ToFloat() const { if (IsNumber()) { std::stringstream sstr(valueStr); float val; sstr >> val; return val; } else { return 0.f; } } double Value::ToDouble() const { if (IsNumber()) { std::stringstream sstr(valueStr); double val; sstr >> val; return val; } else { return 0.0; } } bool Value::ToBool() const { if (IsBool()) { return (valueStr == "true"); } else { return false; } } void Value::SetNull() { valueStr = ""; type = VT_NULL; } void Value::Set(const Value &value) { if (this != &value) { valueStr = value.valueStr; type = value.type; } } void Value::Set(ValueType type, const std::string &value) { valueStr = value; this->type = type; } void Value::Set(const std::string &value) { valueStr = UnescapeString(value); type = VT_STRING; } void Value::Set(const char *value) { valueStr = UnescapeString(std::string(value)); type = VT_STRING; } void Value::Set(const int value) { std::stringstream sstr; sstr << value; valueStr = sstr.str(); type = VT_NUMBER; } void Value::Set(const float value) { std::stringstream sstr; sstr << value; valueStr = sstr.str(); type = VT_NUMBER; } void Value::Set(const double value) { std::stringstream sstr; sstr << value; valueStr = sstr.str(); type = VT_NUMBER; } void Value::Set(const bool value) { if (value) valueStr = "true"; else valueStr = "false"; type = VT_BOOL; } Value &Value::operator=(const Value &rhs) { if (this != &rhs) Set(rhs); return *this; } Value &Value::operator=(const Node &rhs) { if (this != &rhs) Set(rhs.AsValue()); return *this; } Value &Value::operator=(const std::string &rhs) { Set(rhs); return *this; } Value &Value::operator=(const char *rhs) { Set(rhs); return *this; } Value &Value::operator=(const int rhs) { Set(rhs); return *this; } Value &Value::operator=(const float rhs) { Set(rhs); return *this; } Value &Value::operator=(const double rhs) { Set(rhs); return *this; } Value &Value::operator=(const bool rhs) { Set(rhs); return *this; } bool Value::operator==(const Value &other) const { return ((type == other.type)&&(valueStr == other.valueStr)); } bool Value::operator!=(const Value &other) const { return !(*this == other); } Node *Value::GetCopy() const { return new Value(*this); } // This is not the most beautiful place for these, but it'll do static const char charsUnescaped[] = { '\\' , '/' , '\"' , '\n' , '\t' , '\b' , '\f' , '\r' }; static const char *charsEscaped[] = { "\\\\", "\\/", "\\\"", "\\n", "\\t", "\\b", "\\f", "\\r" }; static const unsigned int numEscapeChars = 8; static const char nullUnescaped = '\0'; static const char *nullEscaped = "\0\0"; const char *&getEscaped(const char &c) { for (unsigned int i = 0; i < numEscapeChars; ++i) { const char &ue = charsUnescaped[i]; if (c == ue) { const char *&e = charsEscaped[i]; return e; } } return nullEscaped; } const char &getUnescaped(const char &c1, const char &c2) { for (unsigned int i = 0; i < numEscapeChars; ++i) { const char *&e = charsEscaped[i]; if (c1 == e[0] && c2 == e[1]) { const char &ue = charsUnescaped[i]; return ue; } } return nullUnescaped; } std::string Value::EscapeString(const std::string &value) { std::string escaped; for (std::string::const_iterator it = value.begin(); it != value.end(); ++it) { const char &c = (*it); const char *&a = getEscaped(c); if (a[0] != '\0') { escaped += a[0]; escaped += a[1]; } else { escaped += c; } } return escaped; } std::string Value::UnescapeString(const std::string &value) { std::string unescaped; for (std::string::const_iterator it = value.begin(); it != value.end(); ++it) { const char &c = (*it); char c2 = '\0'; if (it+1 != value.end()) c2 = *(it+1); const char &a = getUnescaped(c, c2); if (a != '\0') { unescaped += a; if (it+1 != value.end()) ++it; } else { unescaped += c; } } return unescaped; } Object::Object() : Node() { } Object::Object(const Object &other) : Node() { for (ChildList::const_iterator it = other.children.begin(); it != other.children.end(); ++it) { const std::string &name = (*it).first; Node &value = *(*it).second; children.push_back(NamedNodePtr(name, value.GetCopy())); } } Object::Object(const Node &other) : Node() { const Object &object = other.AsObject(); for (ChildList::const_iterator it = object.children.begin(); it != object.children.end(); ++it) { const std::string &name = (*it).first; Node &value = *(*it).second; children.push_back(NamedNodePtr(name, value.GetCopy())); } } Object::~Object() { Clear(); } Node::Type Object::GetType() const { return T_OBJECT; } void Object::Add(const std::string &name, Node &node) { children.push_back(NamedNodePtr(name, node.GetCopy())); } void Object::Add(const std::string &name, Value node) { children.push_back(NamedNodePtr(name, new Value(node))); } void Object::Remove(const std::string &name) { for (ChildList::iterator it = children.begin(); it != children.end(); ++it) { if ((*it).first == name) { delete (*it).second; children.erase(it); break; } } } void Object::Clear() { for (ChildList::iterator it = children.begin(); it != children.end(); ++it) { delete (*it).second; (*it).second = NULL; } children.clear(); } Object::iterator Object::begin() { if (!children.empty()) return Object::iterator(&children.front()); else return Object::iterator(NULL); } Object::const_iterator Object::begin() const { if (!children.empty()) return Object::const_iterator(&children.front()); else return Object::const_iterator(NULL); } Object::iterator Object::end() { if (!children.empty()) return Object::iterator(&children.back()+1); else return Object::iterator(NULL); } Object::const_iterator Object::end() const { if (!children.empty()) return Object::const_iterator(&children.back()+1); else return Object::const_iterator(NULL); } bool Object::Has(const std::string &name) const { for (ChildList::const_iterator it = children.begin(); it != children.end(); ++it) { if ((*it).first == name) { return true; } } return false; } size_t Object::GetCount() const { return children.size(); } Node &Object::Get(const std::string &name) const { for (ChildList::const_iterator it = children.begin(); it != children.end(); ++it) { if ((*it).first == name) { return *(*it).second; } } throw NotFoundException(); } Node *Object::GetCopy() const { return new Object(*this); } Array::Array() : Node() { } Array::Array(const Array &other) : Node() { for (ChildList::const_iterator it = other.children.begin(); it != other.children.end(); ++it) { const Node &value = *(*it); children.push_back(value.GetCopy()); } } Array::Array(const Node &other) : Node() { const Array &array = other.AsArray(); for (ChildList::const_iterator it = array.children.begin(); it != array.children.end(); ++it) { const Node &value = *(*it); children.push_back(value.GetCopy()); } } Array::~Array() { Clear(); } Node::Type Array::GetType() const { return T_ARRAY; } void Array::Add(Node &node) { children.push_back(node.GetCopy()); } void Array::Add(Value node) { children.push_back(new Value(node)); } void Array::Remove(size_t index) { if (index < children.size()) { ChildList::iterator it = children.begin()+index; delete (*it); children.erase(it); } } void Array::Clear() { for (ChildList::iterator it = children.begin(); it != children.end(); ++it) { delete (*it); (*it) = NULL; } children.clear(); } Array::iterator Array::begin() { if (!children.empty()) return Array::iterator(&children.front()); else return Array::iterator(NULL); } Array::const_iterator Array::begin() const { if (!children.empty()) return Array::const_iterator(&children.front()); else return Array::const_iterator(NULL); } Array::iterator Array::end() { if (!children.empty()) return Array::iterator(&children.back()+1); else return Array::iterator(NULL); } Array::const_iterator Array::end() const { if (!children.empty()) return Array::const_iterator(&children.back()+1); else return Array::const_iterator(NULL); } size_t Array::GetCount() const { return children.size(); } Node &Array::Get(size_t index) const { if (index < children.size()) { return *children.at(index); } throw NotFoundException(); } Node *Array::GetCopy() const { return new Array(*this); } FileWriter::FileWriter(const std::string &filename) : filename(filename) { } FileWriter::~FileWriter() { } void FileWriter::WriteFile(const std::string &filename, const Node &root, const Format &format) { FileWriter writer(filename); writer.Write(root, format); } void FileWriter::Write(const Node &root, const Format &format) { Writer writer(root, format); writer.Write(); std::fstream file(filename.c_str(), std::ios::out | std::ios::trunc); file << writer.GetResult(); file.close(); } FileReader::FileReader(const std::string &filename) { if (!loadFile(filename, json)) { error = "Failed to load file"; } } FileReader::~FileReader() { } bool FileReader::ReadFile(const std::string &filename, Node &node) { FileReader reader(filename); return reader.Read(node); } bool FileReader::Read(Node &node) { if (!error.empty()) return false; Parser parser(node, json); if (!parser.Parse()) { error = parser.GetError(); return false; } else { return true; } } Node::Type FileReader::DetermineType() { return Node::DetermineType(json); } const std::string &FileReader::GetError() const { return error; } bool FileReader::loadFile(const std::string &filename, std::string &json) { std::fstream file(filename.c_str(), std::ios::in | std::ios::binary); if (!file.is_open()) { return false; } file.seekg(0, std::ios::end); std::ios::pos_type size = file.tellg(); file.seekg(0, std::ios::beg); json.resize(static_cast(size), '\0'); file.read(&json[0], size); return true; } Writer::Writer(const Node &root, const Format &format) : fi(new FormatInterpreter), root(root) { SetFormat(format); } Writer::~Writer() { delete fi; fi = NULL; } void Writer::SetFormat(const Format &format) { fi->SetFormat(format); } const std::string &Writer::Write() { result.clear(); writeNode(root, 0); return result; } const std::string &Writer::GetResult() const { return result; } void Writer::writeNode(const Node &node, unsigned int level) { switch (node.GetType()) { case Node::T_OBJECT : writeObject(node.AsObject(), level); break; case Node::T_ARRAY : writeArray(node.AsArray(), level); break; case Node::T_VALUE : writeValue(node.AsValue()); break; } } void Writer::writeObject(const Object &node, unsigned int level) { result += "{" + fi->GetNewline(); for (Object::const_iterator it = node.begin(); it != node.end(); ++it) { const std::string &name = (*it).first; // const Node &value = (*it).second; if (it != node.begin()) result += "," + fi->GetNewline(); result += fi->GetIndentation(level+1) + "\""+name+"\"" + ":" + fi->GetSpacing(); writeNode((*it).second, level+1); } result += fi->GetNewline() + fi->GetIndentation(level) + "}"; } void Writer::writeArray(const Array &node, unsigned int level) { result += "[" + fi->GetNewline(); for (Array::const_iterator it = node.begin(); it != node.end(); ++it) { const Node &value = (*it); if (it != node.begin()) result += "," + fi->GetNewline(); result += fi->GetIndentation(level+1); writeNode(value, level+1); } result += fi->GetNewline() + fi->GetIndentation(level) + "]"; } void Writer::writeValue(const Value &node) { if (node.IsString()) { result += "\""+Value::EscapeString(node.ToString())+"\""; } else { result += node.ToString(); } } Parser::Parser(Node &root) : jsonSize(0), cursor(0), root(root) { } Parser::Parser(Node &root, const std::string &json) : jsonSize(0), cursor(0), root(root) { SetJson(json); } Parser::~Parser() { } void Parser::SetJson(const std::string &json) { this->json = json; jsonSize = json.size(); } bool Parser::Parse() { cursor = 0; tokenize(); bool success = assemble(); return success; } const std::string &Parser::GetError() const { return error; } void Parser::tokenize() { Token token; std::string valueBuffer; bool saveBuffer; char c = '\0'; for (; cursor < jsonSize; ++cursor) { c = json.at(cursor); if (IsWhitespace(c)) continue; saveBuffer = true; switch (c) { case '{' : { token = T_OBJ_BEGIN; break; } case '}' : { token = T_OBJ_END; break; } case '[' : { token = T_ARRAY_BEGIN; break; } case ']' : { token = T_ARRAY_END; break; } case ',' : { token = T_SEPARATOR_NODE; break; } case ':' : { token = T_SEPARATOR_NAME; break; } case '"' : { token = T_VALUE; readString(); break; } case '/' : { char p = peek(); if (p == '*') { jumpToCommentEnd(); } else if (p == '/') { jumpToNext('\n'); } break; } default : { valueBuffer += c; saveBuffer = false; break; } } if ((saveBuffer || cursor == jsonSize-1) && (!valueBuffer.empty())) // Always save buffer on the last character { if (interpretValue(valueBuffer)) { tokens.push(T_VALUE); } else { // Store the unknown token, so we can show it to the user data.push(MakePair(Value::VT_STRING, valueBuffer)); tokens.push(T_UNKNOWN); } valueBuffer.clear(); } // Push the token last so that any // value token will get pushed first // from above. // If saveBuffer is false, it means that // we are in the middle of a value, so we // don't want to push any tokens now. if (saveBuffer) { tokens.push(token); } } } bool Parser::assemble() { std::stack > nodeStack; std::string name = ""; Token token; while (!tokens.empty()) { token = tokens.front(); tokens.pop(); switch (token) { case T_UNKNOWN : { const std::string &unknownToken = data.front().second; error = "Unknown token: "+unknownToken; data.pop(); return false; } case T_OBJ_BEGIN : { Node *node = NULL; if (nodeStack.empty()) { if (!root.IsObject()) { error = "The given root node is not an object"; return false; } node = &root; } else { node = new Object; } nodeStack.push(MakePair(name, node)); name.clear(); break; } case T_ARRAY_BEGIN : { Node *node = NULL; if (nodeStack.empty()) { if (!root.IsArray()) { error = "The given root node is not an array"; return false; } node = &root; } else { node = new Array; } nodeStack.push(MakePair(name, node)); name.clear(); break; } case T_OBJ_END : case T_ARRAY_END : { if (nodeStack.empty()) { error = "Found end of object or array without beginning"; return false; } if (token == T_OBJ_END && !nodeStack.top().second->IsObject()) { error = "Mismatched end and beginning of object"; return false; } if (token == T_ARRAY_END && !nodeStack.top().second->IsArray()) { error = "Mismatched end and beginning of array"; return false; } std::string name = nodeStack.top().first; Node *node = nodeStack.top().second; nodeStack.pop(); if (!nodeStack.empty()) { if (nodeStack.top().second->IsObject()) { nodeStack.top().second->AsObject().Add(name, *node); } else if (nodeStack.top().second->IsArray()) { nodeStack.top().second->AsArray().Add(*node); } else { error = "Can only add elements to objects and arrays"; return false; } delete node; node = NULL; } break; } case T_VALUE : { if (!tokens.empty() && tokens.front() == T_SEPARATOR_NAME) { tokens.pop(); if (data.front().first != Value::VT_STRING) { error = "A name has to be a string"; return false; } else { name = data.front().second; data.pop(); } } else { Node *node = NULL; if (nodeStack.empty()) { if (!root.IsValue()) { error = "The given root node is not a value"; return false; } node = &root; } else { node = new Value; } if (data.front().first == Value::VT_STRING) { static_cast(node)->Set(data.front().second); // This method calls UnescapeString() } else { static_cast(node)->Set(data.front().first, data.front().second); } data.pop(); if (!nodeStack.empty()) { if (nodeStack.top().second->IsObject()) nodeStack.top().second->AsObject().Add(name, *node); else if (nodeStack.top().second->IsArray()) nodeStack.top().second->AsArray().Add(*node); delete node; node = NULL; name.clear(); } else { nodeStack.push(MakePair(name, node)); name.clear(); } } break; } case T_SEPARATOR_NAME : case T_SEPARATOR_NODE : break; } } return true; } char Parser::peek() { if (cursor < jsonSize-1) { return json.at(cursor+1); } else { return '\0'; } } void Parser::jumpToNext(char c) { ++cursor; while (cursor < jsonSize && json.at(cursor) != c) ++cursor; } void Parser::jumpToCommentEnd() { ++cursor; char c1 = '\0', c2 = '\0'; for (; cursor < jsonSize; ++cursor) { c2 = json.at(cursor); if (c1 == '*' && c2 == '/') break; c1 = c2; } } void Parser::readString() { if (json.at(cursor) != '"') return; std::string str; ++cursor; char c1 = '\0', c2 = '\0'; for (; cursor < jsonSize; ++cursor) { c2 = json.at(cursor); if (c1 != '\\' && c2 == '"') { break; } str += c2; c1 = c2; } data.push(MakePair(Value::VT_STRING, str)); } bool Parser::interpretValue(const std::string &value) { std::string upperValue(value.size(), '\0'); std::transform(value.begin(), value.end(), upperValue.begin(), toupper); if (upperValue == "NULL") { data.push(MakePair(Value::VT_NULL, std::string(""))); } else if (upperValue == "TRUE") { data.push(MakePair(Value::VT_BOOL, std::string("true"))); } else if (upperValue == "FALSE") { data.push(MakePair(Value::VT_BOOL, std::string("false"))); } else { bool number = true; for (std::string::const_iterator it = value.begin(); it != value.end(); ++it) { if (!IsNumber(*it)) { number = false; break; } } if (number) { data.push(MakePair(Value::VT_NUMBER, value)); } else { return false; } } return true; } } exiv2-0.25/samples/remotetest.cpp0000664000175000017500000001051712452753677016704 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // remotetest.cpp // Tester application for testing remote i/o. // It makes some modifications on the metadata of remote file, reads new metadata from that file // and reset the metadata back to the original status. #include #include #include #include int main(int argc, char* const argv[]) try { if (argc < 2) { std::cout << "Usage: " << argv[0] << " file {--nocurl | --curl}\n\n"; return 1; } bool useCurlFromExiv2TestApps = true; for ( int a = 1 ; a < argc ; a++ ) { std::string arg(argv[a]); if (arg == "--nocurl") useCurlFromExiv2TestApps = false; else if (arg == "--curl") useCurlFromExiv2TestApps = true; } std::string file(argv[1]); // set/add metadata std::cout << "Modify the metadata ...\n"; Exiv2::ExifData exifData; exifData["Exif.Photo.UserComment"] = "Hello World"; // AsciiValue exifData["Exif.Image.Software"] = "Exiv2"; // AsciiValue exifData["Exif.Image.Copyright"] = "Exiv2"; // AsciiValue exifData["Exif.Image.Make"] = "Canon"; // AsciiValue exifData["Exif.Canon.OwnerName"] = "Tuan"; // UShortValue exifData["Exif.CanonCs.LensType"] = uint16_t(65535); // LongValue Exiv2::Value::AutoPtr v = Exiv2::Value::create(Exiv2::asciiString); v->read("2013:06:09 14:30:30"); Exiv2::ExifKey key("Exif.Image.DateTime"); exifData.add(key, v.get()); Exiv2::Image::AutoPtr writeTest = Exiv2::ImageFactory::open(file, useCurlFromExiv2TestApps); assert(writeTest.get() != 0); writeTest->setExifData(exifData); writeTest->writeMetadata(); // read the result to make sure everything fine std::cout << "Print out the new metadata ...\n"; Exiv2::Image::AutoPtr readTest = Exiv2::ImageFactory::open(file, useCurlFromExiv2TestApps); assert(readTest.get() != 0); readTest->readMetadata(); Exiv2::ExifData &exifReadData = readTest->exifData(); if (exifReadData.empty()) { std::string error(argv[1]); error += ": No Exif data found in the file"; throw Exiv2::Error(1, error); } Exiv2::ExifData::const_iterator end = exifReadData.end(); for (Exiv2::ExifData::const_iterator i = exifReadData.begin(); i != end; ++i) { const char* tn = i->typeName(); std::cout << std::setw(44) << std::setfill(' ') << std::left << i->key() << " " << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << i->tag() << " " << std::setw(9) << std::setfill(' ') << std::left << (tn ? tn : "Unknown") << " " << std::dec << std::setw(3) << std::setfill(' ') << std::right << i->count() << " " << std::dec << i->value() << "\n"; } // del, reset the metadata std::cout << "Reset ...\n"; exifReadData["Exif.Photo.UserComment"] = "Have a nice day"; // AsciiValue exifReadData["Exif.Image.Software"] = "Exiv2.org"; // AsciiValue exifReadData["Exif.Image.Copyright"] = "Exiv2.org"; // AsciiValue key = Exiv2::ExifKey("Exif.Image.Make"); Exiv2::ExifData::iterator pos = exifReadData.findKey(key); if (pos == exifReadData.end()) throw Exiv2::Error(1, "Exif.Image.Make not found"); exifReadData.erase(pos); key = Exiv2::ExifKey("Exif.Image.DateTime"); pos = exifReadData.findKey(key); if (pos == exifReadData.end()) throw Exiv2::Error(1, "Exif.Image.DateTime not found"); exifReadData.erase(pos); key = Exiv2::ExifKey("Exif.Canon.OwnerName"); pos = exifReadData.findKey(key); if (pos == exifReadData.end()) throw Exiv2::Error(1, "Exif.Canon.OwnerName not found"); exifReadData.erase(pos); key = Exiv2::ExifKey("Exif.CanonCs.LensType"); pos = exifReadData.findKey(key); if (pos == exifReadData.end()) throw Exiv2::Error(1, "Exif.CanonCs.LensType not found"); exifReadData.erase(pos); readTest->setExifData(exifReadData); readTest->writeMetadata(); return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } exiv2-0.25/samples/addmoddel.cpp0000664000175000017500000001100012402420015016356 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // addmoddel.cpp, $Rev: 3353 $ // Sample program showing how to add, modify and delete Exif metadata. #include #include #include #include int main(int argc, char* const argv[]) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } std::string file(argv[1]); // Container for exif metadata. This is an example of creating // exif metadata from scratch. If you want to add, modify, delete // metadata that exists in an image, start with ImageFactory::open Exiv2::ExifData exifData; // ************************************************************************* // Add to the Exif data // This is the quickest way to add (simple) Exif data. If a metadatum for // a given key already exists, its value is overwritten. Otherwise a new // tag is added. exifData["Exif.Image.Model"] = "Test 1"; // AsciiValue exifData["Exif.Image.SamplesPerPixel"] = uint16_t(162); // UShortValue exifData["Exif.Image.XResolution"] = int32_t(-2); // LongValue exifData["Exif.Image.YResolution"] = Exiv2::Rational(-2, 3); // RationalValue std::cout << "Added a few tags the quick way.\n"; // Create a ASCII string value (note the use of create) Exiv2::Value::AutoPtr v = Exiv2::Value::create(Exiv2::asciiString); // Set the value to a string v->read("1999:12:31 23:59:59"); // Add the value together with its key to the Exif data container Exiv2::ExifKey key("Exif.Photo.DateTimeOriginal"); exifData.add(key, v.get()); std::cout << "Added key \"" << key << "\", value \"" << *v << "\"\n"; // Now create a more interesting value (without using the create method) Exiv2::URationalValue::AutoPtr rv(new Exiv2::URationalValue); // Set two rational components from a string rv->read("1/2 1/3"); // Add more elements through the extended interface of rational value rv->value_.push_back(std::make_pair(2,3)); rv->value_.push_back(std::make_pair(3,4)); // Add the key and value pair to the Exif data key = Exiv2::ExifKey("Exif.Image.PrimaryChromaticities"); exifData.add(key, rv.get()); std::cout << "Added key \"" << key << "\", value \"" << *rv << "\"\n"; // ************************************************************************* // Modify Exif data // Since we know that the metadatum exists (or we don't mind creating a new // tag if it doesn't), we can simply do this: Exiv2::Exifdatum& tag = exifData["Exif.Photo.DateTimeOriginal"]; std::string date = tag.toString(); date.replace(0, 4, "2000"); tag.setValue(date); std::cout << "Modified key \"" << tag.key() << "\", new value \"" << tag.value() << "\"\n"; // Alternatively, we can use findKey() key = Exiv2::ExifKey("Exif.Image.PrimaryChromaticities"); Exiv2::ExifData::iterator pos = exifData.findKey(key); if (pos == exifData.end()) throw Exiv2::Error(1, "Key not found"); // Get a pointer to a copy of the value v = pos->getValue(); // Downcast the Value pointer to its actual type Exiv2::URationalValue* prv = dynamic_cast(v.release()); if (prv == 0) throw Exiv2::Error(1, "Downcast failed"); rv = Exiv2::URationalValue::AutoPtr(prv); // Modify the value directly through the interface of URationalValue rv->value_[2] = std::make_pair(88,77); // Copy the modified value back to the metadatum pos->setValue(rv.get()); std::cout << "Modified key \"" << key << "\", new value \"" << pos->value() << "\"\n"; // ************************************************************************* // Delete metadata from the Exif data container // Delete the metadatum at iterator position pos key = Exiv2::ExifKey("Exif.Image.PrimaryChromaticities"); pos = exifData.findKey(key); if (pos == exifData.end()) throw Exiv2::Error(1, "Key not found"); exifData.erase(pos); std::cout << "Deleted key \"" << key << "\"\n"; // ************************************************************************* // Finally, write the remaining Exif data to the image file Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(file); assert(image.get() != 0); image->setExifData(exifData); image->writeMetadata(); return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } exiv2-0.25/samples/xmpsample.cpp0000664000175000017500000002123412173660260016476 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // xmpsample.cpp, $Rev: 3090 $ // Sample/test for high level XMP classes. See also addmoddel.cpp #include #include #include #include #include #include bool isEqual(float a, float b) { double d = std::fabs(a - b); return d < 0.00001; } int main() try { // The XMP property container Exiv2::XmpData xmpData; // ------------------------------------------------------------------------- // Teaser: Setting XMP properties doesn't get much easier than this: xmpData["Xmp.dc.source"] = "xmpsample.cpp"; // a simple text value xmpData["Xmp.dc.subject"] = "Palmtree"; // an array item xmpData["Xmp.dc.subject"] = "Rubbertree"; // add a 2nd array item // a language alternative with two entries and without default xmpData["Xmp.dc.title"] = "lang=de-DE Sonnenuntergang am Strand"; xmpData["Xmp.dc.title"] = "lang=en-US Sunset on the beach"; // ------------------------------------------------------------------------- // Any properties can be set provided the namespace is known. Values of any // type can be assigned to an Xmpdatum, if they have an output operator. The // default XMP value type for unknown properties is a simple text value. xmpData["Xmp.dc.one"] = -1; xmpData["Xmp.dc.two"] = 3.1415; xmpData["Xmp.dc.three"] = Exiv2::Rational(5, 7); xmpData["Xmp.dc.four"] = uint16_t(255); xmpData["Xmp.dc.five"] = int32_t(256); xmpData["Xmp.dc.six"] = false; // In addition, there is a dedicated assignment operator for Exiv2::Value Exiv2::XmpTextValue val("Seven"); xmpData["Xmp.dc.seven"] = val; xmpData["Xmp.dc.eight"] = true; // Extracting values assert(xmpData["Xmp.dc.one"].toLong() == -1); assert(xmpData["Xmp.dc.one"].value().ok()); const Exiv2::Value &getv1 = xmpData["Xmp.dc.one"].value(); assert(isEqual(getv1.toFloat(), -1)); assert(getv1.ok()); assert(getv1.toRational() == Exiv2::Rational(-1, 1)); assert(getv1.ok()); const Exiv2::Value &getv2 = xmpData["Xmp.dc.two"].value(); assert(isEqual(getv2.toFloat(), 3.1415f)); assert(getv2.ok()); assert(getv2.toLong() == 3); assert(getv2.ok()); Exiv2::Rational R = getv2.toRational(); assert(getv2.ok()); assert(isEqual(static_cast(R.first) / R.second, 3.1415f )); const Exiv2::Value &getv3 = xmpData["Xmp.dc.three"].value(); assert(isEqual(getv3.toFloat(), 5.0f/7.0f)); assert(getv3.ok()); assert(getv3.toLong() == 0); // long(5.0 / 7.0) assert(getv3.ok()); assert(getv3.toRational() == Exiv2::Rational(5, 7)); assert(getv3.ok()); const Exiv2::Value &getv6 = xmpData["Xmp.dc.six"].value(); assert(getv6.toLong() == 0); assert(getv6.ok()); assert(getv6.toFloat() == 0.0); assert(getv6.ok()); assert(getv6.toRational() == Exiv2::Rational(0, 1)); assert(getv6.ok()); const Exiv2::Value &getv7 = xmpData["Xmp.dc.seven"].value(); getv7.toLong(); // this should fail assert(!getv7.ok()); const Exiv2::Value &getv8 = xmpData["Xmp.dc.eight"].value(); assert(getv8.toLong() == 1); assert(getv8.ok()); assert(getv8.toFloat() == 1.0); assert(getv8.ok()); assert(getv8.toRational() == Exiv2::Rational(1, 1)); assert(getv8.ok()); // Deleting an XMP property Exiv2::XmpData::iterator pos = xmpData.findKey(Exiv2::XmpKey("Xmp.dc.eight")); if (pos == xmpData.end()) throw Exiv2::Error(1, "Key not found"); xmpData.erase(pos); // ------------------------------------------------------------------------- // Exiv2 has specialized values for simple XMP properties, arrays of simple // properties and language alternatives. // Add a simple XMP property in a known namespace Exiv2::Value::AutoPtr v = Exiv2::Value::create(Exiv2::xmpText); v->read("image/jpeg"); xmpData.add(Exiv2::XmpKey("Xmp.dc.format"), v.get()); // Add an ordered array of text values. v = Exiv2::Value::create(Exiv2::xmpSeq); // or xmpBag or xmpAlt. v->read("1) The first creator"); // The sequence in which the array v->read("2) The second creator"); // elements are added is their v->read("3) And another one"); // order in the array. xmpData.add(Exiv2::XmpKey("Xmp.dc.creator"), v.get()); // Add a language alternative property v = Exiv2::Value::create(Exiv2::langAlt); v->read("lang=de-DE Hallo, Welt"); // The default doesn't need a v->read("Hello, World"); // qualifier xmpData.add(Exiv2::XmpKey("Xmp.dc.description"), v.get()); // According to the XMP specification, Xmp.tiff.ImageDescription is an // alias for Xmp.dc.description. Exiv2 treats an alias just like any // other property and leaves it to the application to implement specific // behaviour if desired. xmpData["Xmp.tiff.ImageDescription"] = "TIFF image description"; xmpData["Xmp.tiff.ImageDescription"] = "lang=de-DE TIFF Bildbeschreibung"; // ------------------------------------------------------------------------- // Register a namespace which Exiv2 doesn't know yet. This is only needed // when properties are added manually. If the XMP metadata is read from an // image, namespaces are decoded and registered at the same time. Exiv2::XmpProperties::registerNs("myNamespace/", "ns"); // ------------------------------------------------------------------------- // Add a property in the new custom namespace. xmpData["Xmp.ns.myProperty"] = "myValue"; // ------------------------------------------------------------------------- // There are no specialized values for structures, qualifiers and nested // types. However, these can be added by using an XmpTextValue and a path as // the key. // Add a structure Exiv2::XmpTextValue tv("16"); xmpData.add(Exiv2::XmpKey("Xmp.xmpDM.videoFrameSize/stDim:w"), &tv); tv.read("9"); xmpData.add(Exiv2::XmpKey("Xmp.xmpDM.videoFrameSize/stDim:h"), &tv); tv.read("inch"); xmpData.add(Exiv2::XmpKey("Xmp.xmpDM.videoFrameSize/stDim:unit"), &tv); // Add an element with a qualifier (using the namespace registered above) xmpData["Xmp.dc.publisher"] = "James Bond"; // creates an unordered array xmpData["Xmp.dc.publisher[1]/?ns:role"] = "secret agent"; // Add a qualifer to an array element of Xmp.dc.creator (added above) tv.read("programmer"); xmpData.add(Exiv2::XmpKey("Xmp.dc.creator[2]/?ns:role"), &tv); // Add an array of structures tv.read(""); // Clear the value tv.setXmpArrayType(Exiv2::XmpValue::xaBag); xmpData.add(Exiv2::XmpKey("Xmp.xmpBJ.JobRef"), &tv); // Set the array type. tv.setXmpArrayType(Exiv2::XmpValue::xaNone); tv.read("Birthday party"); xmpData.add(Exiv2::XmpKey("Xmp.xmpBJ.JobRef[1]/stJob:name"), &tv); tv.read("Photographer"); xmpData.add(Exiv2::XmpKey("Xmp.xmpBJ.JobRef[1]/stJob:role"), &tv); tv.read("Wedding ceremony"); xmpData.add(Exiv2::XmpKey("Xmp.xmpBJ.JobRef[2]/stJob:name"), &tv); tv.read("Best man"); xmpData.add(Exiv2::XmpKey("Xmp.xmpBJ.JobRef[2]/stJob:role"), &tv); // Add a creator contact info structure xmpData["Xmp.iptc.CreatorContactInfo/Iptc4xmpCore:CiAdrCity"] = "Kuala Lumpur"; xmpData["Xmp.iptc.CreatorContactInfo/Iptc4xmpCore:CiAdrCtry"] = "Malaysia"; xmpData["Xmp.iptc.CreatorContactInfo/Iptc4xmpCore:CiUrlWork"] = "http://www.exiv2.org"; // ------------------------------------------------------------------------- // Output XMP properties for (Exiv2::XmpData::const_iterator md = xmpData.begin(); md != xmpData.end(); ++md) { std::cout << std::setfill(' ') << std::left << std::setw(44) << md->key() << " " << std::setw(9) << std::setfill(' ') << std::left << md->typeName() << " " << std::dec << std::setw(3) << std::setfill(' ') << std::right << md->count() << " " << std::dec << md->value() << std::endl; } // ------------------------------------------------------------------------- // Serialize the XMP data and output the XMP packet std::string xmpPacket; if (0 != Exiv2::XmpParser::encode(xmpPacket, xmpData)) { throw Exiv2::Error(1, "Failed to serialize XMP data"); } std::cout << xmpPacket << "\n"; // Cleanup Exiv2::XmpParser::terminate(); return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } exiv2-0.25/samples/exifcomment.cpp0000664000175000017500000000416611411621067017007 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* Abstract : Sample program showing how to set the Exif comment of an image, Exif.Photo.UserComment File: exifcomment.cpp Version : $Rev: 2286 $ Author(s): Andreas Huggel (ahu) History : 10-May-04, ahu: created 16-Jan-05, ahu: updated using CommentValue and operator trickery */ // ***************************************************************************** // included header files #include #include #include // ***************************************************************************** // Main int main(int argc, char* const argv[]) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(argv[1]); assert (image.get() != 0); image->readMetadata(); Exiv2::ExifData &exifData = image->exifData(); /* Exiv2 uses a CommentValue for Exif user comments. The format of the comment string includes an optional charset specification at the beginning: [charset=["]Ascii|Jis|Unicode|Undefined["] ]comment Undefined is used as a default if the comment doesn't start with a charset definition. Following are a few examples of valid comments. The last one is written to the file. */ exifData["Exif.Photo.UserComment"] = "charset=\"Unicode\" An Unicode Exif comment added with Exiv2"; exifData["Exif.Photo.UserComment"] = "charset=\"Undefined\" An undefined Exif comment added with Exiv2"; exifData["Exif.Photo.UserComment"] = "Another undefined Exif comment added with Exiv2"; exifData["Exif.Photo.UserComment"] = "charset=Ascii An ASCII Exif comment added with Exiv2"; std::cout << "Writing user comment '" << exifData["Exif.Photo.UserComment"] << "' back to the image\n"; image->writeMetadata(); return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } exiv2-0.25/samples/path-test.cpp0000664000175000017500000000171612452753677016423 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // path-test.cpp, $Rev: 3513 $ #include #include #include #include #include #include "utils.hpp" int main(int argc, char* const argv[]) { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } std::ifstream file(argv[1]); if (!file) { std::cerr << *argv[1] << ": Failed to open file for reading\n"; return 1; } std::string line; while (std::getline(file, line)) { std::string path, dir, base; std::istringstream is(line); is >> path >> dir >> base; std::string d = Util::dirname(path); std::string b = Util::basename(path); if (d != dir || b != base) { std::cout << path << "\t'" << d << "'\t '" << b << "'\t ==> Testcase failed\n"; } } return 0; } exiv2-0.25/samples/mmap-test.cpp0000664000175000017500000000177112173660260016403 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // mmap-test.cpp, $Rev: 3090 $ // Simple mmap tests #include #include #include using namespace Exiv2; int main(int argc, char* const argv[]) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } const char* path = argv[1]; FileIo file(path); // Open the file in read mode if (file.open("rb") != 0) { throw Error(10, path, "rb", strError()); } // Map it to memory const Exiv2::byte* pData = file.mmap(); long size = file.size(); DataBuf buf(size); // Read from the memory mapped region memcpy(buf.pData_, pData, buf.size_); // Reopen file in write mode and write to it file.write(buf.pData_, buf.size_); // Read from the mapped region again memcpy(buf.pData_, pData, buf.size_); file.close(); return 0; } catch (const AnyError& e) { std::cout << e << "\n"; } exiv2-0.25/samples/Makefile0000664000175000017500000001431012541167021015415 0ustar andreasandreas# ************************************************************* -*- Makefile -*- # # Copyright (C) 2004-2015 Andreas Huggel # # This Makefile is part of the Exiv2 distribution. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials provided # with the distribution. # 3. The name of the author may not be used to endorse or promote # products derived from this software without specific prior # written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # File: Makefile # Version: $Rev: 3861 $ # Author(s): Andreas Huggel (ahu) # History: 08-Oct-07, ahu: created # # Description: # Simple Makefile to build sample programs. Requires installed exiv2 library # and headers. Adapted from the main Exiv2 src/Makefile. # # Restrictions: # Requires GNU make. # # Default make target all: samples # Include system configuration top_srcdir = .. include $(top_srcdir)/config/config.mk # ****************************************************************************** # Source files # Add source files of sample programs to this list BINSRC = addmoddel.cpp \ conntest.cpp \ convert-test.cpp \ easyaccess-test.cpp \ exifcomment.cpp \ exifdata-test.cpp \ exifdata.cpp \ exifprint.cpp \ exifvalue.cpp \ httptest.cpp \ iotest.cpp \ iptceasy.cpp \ iptcprint.cpp \ iptctest.cpp \ key-test.cpp \ largeiptc-test.cpp \ mmap-test.cpp \ prevtest.cpp \ remotetest.cpp \ stringto-test.cpp \ taglist.cpp \ tiff-test.cpp \ werror-test.cpp \ write-test.cpp \ write2-test.cpp \ xmpparse.cpp \ xmpparser-test.cpp \ xmpsample.cpp # Samples that need special treatment during compilation or linking OTHERSRC = exiv2json.cpp \ geotag.cpp \ metacopy.cpp \ path-test.cpp # ****************************************************************************** # Initialisations SHELL = /bin/sh PKGCONFIG=pkg-config BAR='****************************************' .SUFFIXES: .SUFFIXES: .c .cpp .o .so .PRECIOUS: %.cpp CPPFLAGS := `pkg-config exiv2 --cflags` LDFLAGS := `pkg-config exiv2 --libs` BINOBJ = $(BINSRC:.cpp=.o) BINARY = $(BINSRC:.cpp=) OTHEROBJ = $(OTHERSRC:.cpp=.o) Jzon.o OTHERBIN = $(OTHERSRC:.cpp=) EXECUTABLE = $(BINSRC:%.cpp=../bin/%$(EXEEXT)) $(OTHERSRC:%.cpp=../bin/%$(EXEEXT)) ifdef DEP_TRACKING DEP = $(BINSRC:%.cpp=$(DEPDIR)/%.d) $(OTHERSRC:%.cpp=$(DEPDIR)/%.d) $(DEPDIR)/Jzon.d endif PREFIX = /usr/local/lib LINK.cc += -rpath $(PREFIX) -L$(PREFIX) # TODO: This should really not be here. We should use the installed headers # to build the samples. Some errors only show up in this scenario, e.g., errors # due to missing headers which are not installed (depending on compile-time # settings) but may be wrongly included from other headers. COMPILE.cc += -I$(top_srcdir)/include/exiv2 # ****************************************************************************** # Rules samples: $(BINARY) $(OTHERBIN) $(BINOBJ): %.o: %.cpp @if [ -z `which $(PKGCONFIG)` ]; then echo $(BAR) $'\\n***' utility $(PKGCONFIG) not available $'***\n'$(BAR) ; exit 42 ; fi $(COMPILE.cc) -o $@ $< @$(MAKEDEPEND) @$(POSTDEPEND) $(BINARY): %: %.o mkdir -pv ../bin 2>&1 > /dev/null $(LIBTOOL) --mode=link $(LINK.cc) -o ../bin/$@ $@.o %.o: %.cpp $(COMPILE.cc) -o $@ $< @$(MAKEDEPEND) @$(POSTDEPEND) %.ii: %.cpp set -e; \ $(CXXCPP) -E $(CPPFLAGS) $< | sed '/^[ ]*$$/d' > $@ # ****************************************************************************** # Targets .PHONY: all relink binclean mostlyclean clean distclean maintainer-clean ifdef DEP_TRACKING # Include targets from dependency files -include $(DEP) endif relink: binclean samples # link expat directly to geotag geotag: %: %.cpp $(COMPILE.cc) -o $@.o $< @$(MAKEDEPEND) @$(POSTDEPEND) $(LIBTOOL) --mode=link $(LINK.cc) -lexpat $@.o -o ../bin/$@ # link applications which require utils.cpp support metacopy path-test: %: %.cpp ../src/utils.o $(COMPILE.cc) -I../src -I../include/exiv2 -o $@.o $< @$(MAKEDEPEND) @$(POSTDEPEND) $(LIBTOOL) --mode=link $(LINK.cc) $@.o ../src/utils.o -o ../bin/$@ # exiv2json sample requires Jzon exiv2json: %: %.cpp Jzon.o $(COMPILE.cc) -o $@.o $< @$(MAKEDEPEND) @$(POSTDEPEND) $(LIBTOOL) --mode=link $(LINK.cc) Jzon.o $@.o -o ../bin/$@ # Remove binaries, e.g., to relink them binclean: $(RM) $(EXECUTABLE) mostlyclean: $(RM) core $(RM) $(BINSRC:.cpp=.ii) $(OTHERSRC:.cpp=.ii) Jzon.ii $(RM) $(BINOBJ) $(OTHEROBJ) clean: binclean mostlyclean # Run `make distclean' from the top source directory to also remove # files created by configuring the program. distclean: clean ifdef DEP_TRACKING $(RM) $(DEP) -rmdir $(DEPDIR) endif $(RM) *~ *.bak *# # This command is intended for maintainers to use; it deletes files # that may need special tools to rebuild. maintainer-clean: distclean exiv2-0.25/samples/exiv2json.cpp0000664000175000017500000002413412523354625016425 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // exiv2json.cpp, $Id: exiv2json.cpp 518 2013-05-10 23:53:00Z robinwmills@gmail.com $ // Sample program to print metadata in JSON format #include #include #include "Jzon.h" #include #include #include #include #if defined(__MINGW32__) || defined(__MINGW64__) # ifndef __MINGW__ # define __MINGW__ # endif #endif #include #include #include #include #if defined(_MSC_VER) || defined(__MINGW__) #include #ifndef PATH_MAX # define PATH_MAX 512 #endif const char* realpath(const char* file,char* path) { GetFullPathName(file,PATH_MAX,path,NULL); return path; } #else #include #endif struct Token { std::string n; // the name eg "History" bool a; // name is an array eg History[] int i; // index (indexed from 1) eg History[1]/stEvt:action }; typedef std::vector Tokens ; // "XMP.xmp.MP.RegionInfo/MPRI:Regions[1]/MPReg:Rectangle" bool getToken(std::string& in,Token& token) { bool result = false; token.n = "" ; token.a = false ; token.i = 0 ; while ( !result && in.length() ) { std::string c = in.substr(0,1); char C = c[0]; in = in.substr(1,std::string::npos); if ( in.length() == 0 && C != ']' ) token.n += c; if ( C == '/' || C == '[' || C == ':' || C == '.' || C == ']' || in.length() == 0 ) { token.a = C == '['; if ( C == ']' ) token.i = std::atoi(token.n.c_str()); // encoded string first index == 1 result = token.n.length() > 0 ; } else { token.n += c; } } return result; } Jzon::Node& addToTree(Jzon::Node& r1,Token token) { Jzon::Object object ; Jzon::Array array ; std::string key = token.n ; size_t index = token.i-1; // array Eg: "History[1]" indexed from 1. Jzon expects 0 based index. Jzon::Node& empty = token.a ? (Jzon::Node&) array : (Jzon::Node&) object ; if ( r1.IsObject() ) { Jzon::Object& o1 = r1.AsObject(); if ( !o1.Has(key) ) o1.Add(key,empty); return o1.Get(key); } else if ( r1.IsArray() ) { Jzon::Array& a1 = r1.AsArray(); while ( a1.GetCount() <= index ) a1.Add(empty); return a1.Get(index); } return r1; } Jzon::Node& recursivelyBuildTree(Jzon::Node& root,Tokens& tokens,size_t k) { return addToTree( k==0 ? root : recursivelyBuildTree(root,tokens,k-1), tokens[k] ); } // build the json tree for this key. return location and discover the name Jzon::Node& objectForKey(const std::string Key,Jzon::Object& root,std::string& name) { // Parse the key Tokens tokens ; Token token ; std::string input = Key ; // Example: "XMP.xmp.MP.RegionInfo/MPRI:Regions[1]/MPReg:Rectangle" while ( getToken(input,token) ) tokens.push_back(token); size_t l = tokens.size()-1; // leave leaf name to push() name = tokens[l].n ; return recursivelyBuildTree(root,tokens,l-1); #if 0 // recursivelyBuildTree: // Go to the root. Climb out adding objects or arrays to create the tree // The leaf is pushed on the top by the caller of objectForKey() // The recursion could be expressed by these if statements: if ( l == 1 ) return addToTree(root,tokens[0]); if ( l == 2 ) return addToTree(addToTree(root,tokens[0]),tokens[1]); if ( l == 3 ) return addToTree(addToTree(addToTree(root,tokens[0]),tokens[1]),tokens[2]); if ( l == 4 ) return addToTree(addToTree(addToTree(addToTree(root,tokens[0]),tokens[1]),tokens[2]),tokens[3]); ... #endif } bool isObject(std::string& value) { return !value.compare(std::string("type=\"Struct\"")); } bool isArray(std::string& value) { return !value.compare(std::string("type=\"Seq\"")) || !value.compare(std::string("type=\"Bag\"")) || !value.compare(std::string("type=\"Alt\"")) ; } #define STORE(node,key,value) \ if (node.IsObject()) node.AsObject().Add(key,value);\ else node.AsArray() .Add( value) template void push(Jzon::Node& node,const std::string& key,T i) { std::string value = i->value().toString(); switch ( i->typeId() ) { case Exiv2::xmpText: if ( ::isObject(value) ) { Jzon::Object v; STORE(node,key,v); } else if ( ::isArray(value) ) { Jzon::Array v; STORE(node,key,v); } else { STORE(node,key,value); } break; case Exiv2::unsignedByte: case Exiv2::unsignedShort: case Exiv2::unsignedLong: case Exiv2::signedByte: case Exiv2::signedShort: case Exiv2::signedLong: STORE(node,key,std::atoi(value.c_str()) ); break; case Exiv2::tiffFloat: case Exiv2::tiffDouble: STORE(node,key,std::atof(value.c_str()) ); break; case Exiv2::unsignedRational: case Exiv2::signedRational: { Jzon::Array arr; Exiv2::Rational rat = i->value().toRational(); arr.Add(rat.first ); arr.Add(rat.second); STORE(node,key,arr); } break; case Exiv2::langAlt: { Jzon::Object l ; const Exiv2::LangAltValue& langs = dynamic_cast(i->value()); for ( Exiv2::LangAltValue::ValueType::const_iterator lang = langs.value_.begin() ; lang != langs.value_.end() ; lang++ ) { l.Add(lang->first,lang->second); } Jzon::Object o ; o.Add("lang",l); STORE(node,key,o); } break; default: case Exiv2::date: case Exiv2::time: case Exiv2::asciiString : case Exiv2::string: case Exiv2::comment: case Exiv2::undefined: case Exiv2::tiffIfd: case Exiv2::directory: case Exiv2::xmpAlt: case Exiv2::xmpBag: case Exiv2::xmpSeq: // http://dev.exiv2.org/boards/3/topics/1367#message-1373 if ( key == "UserComment" ) { size_t pos = value.find('\0') ; if ( pos != std::string::npos ) value = value.substr(0,pos); } if ( key == "MakerNote") return; STORE(node,key,value); break; } } void fileSystemPush(const char* path,Jzon::Node& nfs) { Jzon::Object& fs = (Jzon::Object&) nfs; fs.Add("path",path); char resolved_path[2000]; // PATH_MAX]; fs.Add("realpath",realpath(path,resolved_path)); struct stat buf; memset(&buf,0,sizeof(buf)); stat(path,&buf); fs.Add("st_dev" ,(int) buf.st_dev ); /* ID of device containing file */ fs.Add("st_ino" ,(int) buf.st_ino ); /* inode number */ fs.Add("st_mode" ,(int) buf.st_mode ); /* protection */ fs.Add("st_nlink" ,(int) buf.st_nlink ); /* number of hard links */ fs.Add("st_uid" ,(int) buf.st_uid ); /* user ID of owner */ fs.Add("st_gid" ,(int) buf.st_gid ); /* group ID of owner */ fs.Add("st_rdev" ,(int) buf.st_rdev ); /* device ID (if special file) */ fs.Add("st_size" ,(int) buf.st_size ); /* total size, in bytes */ fs.Add("st_atime" ,(int) buf.st_atime ); /* time of last access */ fs.Add("st_mtime" ,(int) buf.st_mtime ); /* time of last modification */ fs.Add("st_ctime" ,(int) buf.st_ctime ); /* time of last status change */ #if defined(_MSC_VER) || defined(__MINGW__) size_t blksize = 1024; size_t blocks = (buf.st_size+blksize-1)/blksize; #else size_t blksize = buf.st_blksize; size_t blocks = buf.st_blocks ; #endif fs.Add("st_blksize",(int) blksize ); /* blocksize for file system I/O */ fs.Add("st_blocks" ,(int) blocks ); /* number of 512B blocks allocated */ } int main(int argc, char* const argv[]) try { if (argc < 2 || argc > 3) { std::cout << "Usage: " << argv[0] << " [-option] file" << std::endl; std::cout << "Option: all | exif | iptc | xmp | filesystem" << std::endl; return 1; } const char* path = argv[argc-1]; const char* opt = argc == 3 ? argv[1] : "-all" ; while (opt[0] == '-') opt++ ; // skip past leading -'s char option = opt[0]; Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path); assert(image.get() != 0); image->readMetadata(); Jzon::Object root; if ( option == 'f' ) { // only report filesystem when requested const char* FS="FS"; Jzon::Object fs ; root.Add(FS,fs) ; fileSystemPush(path,root.Get(FS)); } if ( option == 'a' || option == 'e' ) { Exiv2::ExifData &exifData = image->exifData(); for ( Exiv2::ExifData::const_iterator i = exifData.begin(); i != exifData.end() ; ++i ) { std::string name ; Jzon::Node& object = objectForKey(i->key(),root,name); push(object,name,i); } } if ( option == 'a' || option == 'i' ) { Exiv2::IptcData &iptcData = image->iptcData(); for (Exiv2::IptcData::const_iterator i = iptcData.begin(); i != iptcData.end(); ++i) { std::string name ; Jzon::Node& object = objectForKey(i->key(),root,name); push(object,name,i); } } if ( option == 'a' || option == 'x' ) { Exiv2::XmpData &xmpData = image->xmpData(); for (Exiv2::XmpData::const_iterator i = xmpData.begin(); i != xmpData.end(); ++i) { std::string name ; Jzon::Node& object = objectForKey(i->key(),root,name); push(object,name,i); } } Jzon::Writer writer(root,Jzon::StandardFormat); writer.Write(); std::cout << writer.GetResult() << std::endl; return 0; } //catch (std::exception& e) { //catch (Exiv2::AnyError& e) { catch (Exiv2::Error& e) { std::cout << "Caught Exiv2 exception '" << e.what() << "'\n"; return -1; } exiv2-0.25/samples/exifdata-test.cpp0000664000175000017500000001130111411621067017220 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* Abstract : ExifData assignment and copy construction unit tests File : exifdata-test.cpp Version : $Rev: 2286 $ Author(s): Andreas Huggel (ahu) History : 20-Feb-05, ahu: created */ // ***************************************************************************** // included header files #include #include #include #include #include void write(const std::string& file, Exiv2::ExifData& ed); void print(const std::string& file); // ***************************************************************************** // Main int main(int argc, char* const argv[]) { try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } std::string file(argv[1]); Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(file); assert (image.get() != 0); image->readMetadata(); Exiv2::ExifData &ed = image->exifData(); if (ed.empty()) { std::string error = file + ": No Exif data found in the file"; throw Exiv2::Error(1, error); } std::cout << "Copy construction, non-intrusive changes\n"; Exiv2::ExifData ed1(ed); ed1["Exif.Image.DateTime"] = "Sunday, 11am"; ed1["Exif.Image.Orientation"] = uint16_t(2); ed1["Exif.Photo.DateTimeOriginal"] = "Sunday, 11am"; ed1["Exif.Photo.MeteringMode"] = uint16_t(1); ed1["Exif.Iop.InteroperabilityIndex"] = "123"; // ed1["Exif.Thumbnail.Orientation"] = uint16_t(2); write(file, ed1); print(file); std::cout << "----------------------------------------------\n"; std::cout << "Copy construction, intrusive changes\n"; Exiv2::ExifData ed2(ed); ed2["Exif.Image.DateTime"] = "Sunday, 11am and ten minutes"; ed2["Exif.Image.Orientation"] = "2 3 4 5"; ed2["Exif.Photo.DateTimeOriginal"] = "Sunday, 11am and ten minutes"; ed2["Exif.Photo.MeteringMode"] = "1 2 3 4 5 6"; ed2["Exif.Iop.InteroperabilityIndex"] = "1234"; ed2["Exif.Thumbnail.Orientation"] = "2 3 4 5 6"; write(file, ed2); print(file); std::cout << "----------------------------------------------\n"; std::cout << "Assignment, non-intrusive changes\n"; Exiv2::ExifData ed3; ed3["Exif.Iop.InteroperabilityVersion"] = "Test 6 Iop tag"; ed3["Exif.Thumbnail.Artist"] = "Test 6 Ifd1 tag"; ed3 = ed; ed3["Exif.Image.DateTime"] = "Sunday, 11am"; ed3["Exif.Image.Orientation"] = uint16_t(2); ed3["Exif.Photo.DateTimeOriginal"] = "Sunday, 11am"; ed3["Exif.Photo.MeteringMode"] = uint16_t(1); ed3["Exif.Iop.InteroperabilityIndex"] = "123"; ed3["Exif.Thumbnail.Orientation"] = uint16_t(2); write(file, ed3); print(file); std::cout << "----------------------------------------------\n"; std::cout << "Assignment, intrusive changes\n"; Exiv2::ExifData ed4; ed4["Exif.Iop.InteroperabilityVersion"] = "Test 6 Iop tag"; ed4["Exif.Thumbnail.Artist"] = "Test 6 Ifd1 tag"; ed4 = ed; ed4["Exif.Image.DateTime"] = "Sunday, 11am and ten minutes"; ed4["Exif.Image.Orientation"] = "2 3 4 5"; ed4["Exif.Photo.DateTimeOriginal"] = "Sunday, 11am and ten minutes"; ed4["Exif.Photo.MeteringMode"] = uint16_t(1); ed4["Exif.Iop.InteroperabilityIndex"] = "123"; ed4["Exif.Thumbnail.Orientation"] = uint16_t(2); write(file, ed4); print(file); return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } } void write(const std::string& file, Exiv2::ExifData& ed) { Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(file); assert (image.get() != 0); image->setExifData(ed); image->writeMetadata(); } void print(const std::string& file) { Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(file); assert (image.get() != 0); image->readMetadata(); Exiv2::ExifData &ed = image->exifData(); Exiv2::ExifData::const_iterator end = ed.end(); for (Exiv2::ExifData::const_iterator i = ed.begin(); i != end; ++i) { std::cout << std::setw(45) << std::setfill(' ') << std::left << i->key() << " " << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << i->tag() << " " << std::setw(12) << std::setfill(' ') << std::left << i->ifdName() << " " << std::setw(9) << std::setfill(' ') << std::left << i->typeName() << " " << std::dec << std::setw(3) << std::setfill(' ') << std::right << i->count() << " " << std::dec << i->value() << "\n"; } } exiv2-0.25/samples/geotag.cpp0000664000175000017500000007100312535324477015746 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // geotag.cpp, $Rev: 2286 $ // Sample program to read gpx files and update images with GPS tags #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if defined(__MINGW32__) || defined(__MINGW64__) # ifndef __MINGW__ # define __MINGW__ # endif #endif using namespace std; #ifndef lengthof #define lengthof(x) (sizeof(*x)/sizeof(x)) #endif #ifndef nil #define nil NULL #endif #if defined(_MSC_VER) || defined(__MINGW__) #include char* realpath(const char* file,char* path); #define lstat _stat #define stat _stat #if _MSC_VER < 1400 #define strcpy_s(d,l,s) strcpy(d,s) #define strcat_s(d,l,s) strcat(d,s) #endif #endif #if ! defined(_MSC_VER) #include #include #include #define stricmp strcasecmp #endif #ifndef _MAX_PATH #define _MAX_PATH 1024 #endif #define UNUSED(x) (void)(x) // prototypes class Options; int getFileType(const char* path ,Options& options); int getFileType(std::string& path,Options& options); string getExifTime(const time_t t); time_t parseTime(const char* ,bool bAdjust=false); int timeZoneAdjust(); // platform specific code #if defined(_MSC_VER) || defined(__MINGW__) char* realpath(const char* file,char* path) { char* result = (char*) malloc(_MAX_PATH); if (result) GetFullPathName(file,_MAX_PATH,result,NULL); return result ; UNUSED(path); } #endif // Command-line parser class Options { public: bool verbose; bool help; bool version; bool dst; bool dryrun; Options() { verbose = false; help = false; version = false; dst = false; dryrun = false; } virtual ~Options() {} ; } ; enum { resultOK=0 , resultSyntaxError , resultSelectFailed }; enum // keyword indices { kwHELP = 0 , kwVERSION , kwDST , kwDRYRUN , kwVERBOSE , kwADJUST , kwTZ , kwDELTA , kwMAX // manages keyword array , kwNEEDVALUE // bogus keywords for error reporting , kwSYNTAX // -- ditto -- , kwNOVALUE = -kwVERBOSE // keywords <= kwNOVALUE are flags (no value needed) }; // file types supported enum { typeUnknown = 0 , typeDirectory = 1 , typeImage = 2 , typeXML = 3 , typeFile = 4 , typeDoc = 5 , typeCode = 6 , typeMax = 7 }; // Position (from gpx file) class Position { public: Position(time_t time,double lat,double lon,double ele) : time_(time),lon_(lon),lat_(lat),ele_(ele) {}; Position() { time_=0 ; lon_=0.0 ; lat_=0.0 ; ele_=0.0 ; }; virtual ~Position() {} ; // copy constructor Position(const Position& o) : time_(o.time_),lon_(o.lon_),lat_(o.lat_),ele_(o.ele_) {}; // instance methods bool good() { return time_ || lon_ || lat_ || ele_ ; } std::string getTimeString() { if ( times_.empty() ) times_ = getExifTime(time_) ; return times_; } time_t getTime() { return time_ ; } std::string toString(); // getters/setters double lat() {return lat_ ;} double lon() {return lon_ ;} double ele() {return ele_ ;} int delta() {return delta_ ;} void delta(int delta) {delta_=delta ;} // data private: time_t time_; double lon_ ; double lat_ ; double ele_ ; std::string times_; int delta_; // public static data public: static int adjust_ ; static int tz_ ; static int dst_ ; static time_t deltaMax_; // public static member functions public: static int Adjust() {return Position::adjust_ + Position::tz_ + Position::dst_ ;} static int tz() {return tz_ ;} static int dst() {return dst_ ;} static int adjust() {return adjust_;} static std::string toExifString(double d,bool bRational,bool bLat); static std::string toExifString(double d); static std::string toExifTimeStamp(std::string& t); }; std::string Position::toExifTimeStamp(std::string& t) { char result[200]; const char* arg = t.c_str(); int HH = 0 ; int mm = 0 ; int SS = 0 ; if ( strstr(arg,":") || strstr(arg,"-") ) { int YY,MM,DD ; char a,b,c,d,e ; sscanf(arg,"%d%c%d%c%d%c%d%c%d%c%d",&YY,&a,&MM,&b,&DD,&c,&HH,&d,&mm,&e,&SS); } sprintf(result,"%d/1 %d/1 %d/1",HH,mm,SS); return std::string(result); } std::string Position::toExifString(double d) { char result[200]; d *= 100; sprintf(result,"%d/100",abs((int)d)); return std::string(result); } std::string Position::toExifString(double d,bool bRational,bool bLat) { const char* NS = d>=0.0?"N":"S"; const char* EW = d>=0.0?"E":"W"; const char* NSEW = bLat ? NS: EW; if ( d < 0 ) d = -d; int deg = (int) d; d -= deg; d *= 60; int min = (int) d ; d -= min; d *= 60; int sec = (int)d; char result[200]; sprintf(result,bRational ? "%d/1 %d/1 %d/1%s" : "%03d.%02d'%02d\"%s" ,deg,min,sec,bRational?"":NSEW); return std::string(result); } std::string Position::toString() { char result[200]; std::string sLat = Position::toExifString(lat_,false,true ); std::string sLon = Position::toExifString(lon_,false,false); sprintf(result,"%s %s %-8.3f",sLon.c_str(),sLat.c_str(),ele_); return std::string(result); } int Position::adjust_ = 0; int Position::tz_ = timeZoneAdjust(); int Position::dst_ = 0; time_t Position::deltaMax_ = 60 ; // globals typedef std::map TimeDict_t; typedef std::map::iterator TimeDict_i; typedef std::vector strings_t; TimeDict_t gTimeDict ; strings_t gFiles; /////////////////////////////////////////////////////////// // UserData - used by XML Parser class UserData { public: UserData(Options& options) : indent(0),count(0),nTrkpt(0),bTime(false),bEle(false),options_(options) {}; virtual ~UserData() {} ; // public data members int indent; size_t count ; Position now ; Position prev; int nTrkpt; bool bTime ; bool bEle ; double ele; double lat; double lon; std::string xmlt; std::string exift; time_t time; Options& options_; // static public data memembers }; // XML Parser Callbacks static void startElement(void* userData, const char* name, const char** atts ) { UserData* me = (UserData*) userData; //for ( int i = 0 ; i < me->indent ; i++ ) printf(" "); //printf("begin %s\n",name); me->bTime = strcmp(name,"time")==0; me->bEle = strcmp(name,"ele")==0; if ( strcmp(name,"trkpt")==0 ) { me->nTrkpt++; while ( *atts ) { const char* a=atts[0]; const char* v=atts[1]; if ( !strcmp(a,"lat") ) me->lat = atof(v); if ( !strcmp(a,"lon") ) me->lon = atof(v); atts += 2 ; } } me->count++ ; me->indent++ ; } static void endElement(void* userData, const char* name) { UserData* me = (UserData*) userData; me->indent-- ; if ( strcmp(name,"trkpt")==0 ) { me->nTrkpt--; me->now = Position(me->time,me->lat,me->lon,me->ele) ; if ( !me->prev.good() && me->options_.verbose ) { printf("trkseg %s begin ",me->now.getTimeString().c_str()); } // printf("lat,lon = %f,%f ele = %f xml = %s exif = %s\n",me->lat,me->lon,me->ele,me->xmlt.c_str(),me->exift.c_str()); // if we have a good previous position // add missed entries to timedict //if ( me->prev.good() && (me->now.getTime() - me->prev.getTime()) < Position::timeDiffMax ) { // time_t missed = me->prev.getTime() ; // while ( ++missed < me->now.getTime() ) // gTimeDict[missed] = me->prev ; // Position(missed,me->lat,me->lon,me->ele) ; //} // remember our location and put it in gTimeDict gTimeDict[me->time] = me->now ; me->prev = me->now ; } if ( strcmp(name,"trkseg")==0 && me->options_.verbose ) { printf("%s end\n",me->now.getTimeString().c_str()); } } void charHandler(void* userData,const char* s,int len) { UserData* me = (UserData*) userData; if ( me->nTrkpt == 1 ) { char buffer[100]; int l_max = 98 ; // lengthof(buffer) -2 ; if ( me->bTime && len > 5 ) { if ( len < l_max ) { memcpy(buffer,s,len); buffer[len]=0; char* b = buffer ; while ( *b == ' ' && b < buffer+len ) b++ ; me->xmlt = b ; me->time = parseTime(me->xmlt.c_str()); me->exift = getExifTime(me->time); } me->bTime=false; } if ( me->bEle && len > 5 ) { if ( len < l_max ) { memcpy(buffer,s,len); buffer[len]=0; char* b = buffer ; while ( *b == ' ' && b < buffer+len ) b++ ; me->ele = atof(b); } me->bEle=false; } } } /////////////////////////////////////////////////////////// // Time Functions time_t parseTime(const char* arg,bool bAdjust) { time_t result = 0 ; try { //559 rmills@rmills-imac:~/bin $ exiv2 -pa ~/R.jpg | grep -i date //Exif.Image.DateTime Ascii 20 2009:08:03 08:58:57 //Exif.Photo.DateTimeOriginal Ascii 20 2009:08:03 08:58:57 //Exif.Photo.DateTimeDigitized Ascii 20 2009:08:03 08:58:57 //Exif.GPSInfo.GPSDateStamp Ascii 21 2009-08-03T15:58:57Z // if ( strstr(arg,":") || strstr(arg,"-") ) { int YY,MM,DD,HH,mm,SS ; char a,b,c,d,e ; sscanf(arg,"%d%c%d%c%d%c%d%c%d%c%d",&YY,&a,&MM,&b,&DD,&c,&HH,&d,&mm,&e,&SS); struct tm T; #if 0 int tm_sec; /* seconds (0 - 60) */ int tm_min; /* minutes (0 - 59) */ int tm_hour; /* hours (0 - 23) */ int tm_mday; /* day of month (1 - 31) */ int tm_mon; /* month of year (0 - 11) */ int tm_year; /* year - 1900 */ int tm_wday; /* day of week (Sunday = 0) */ int tm_yday; /* day of year (0 - 365) */ int tm_isdst; /* is summer time in effect? */ char *tm_zone; /* abbreviation of timezone name */ long tm_gmtoff; /* offset from UTC in seconds */ #endif memset(&T,0,sizeof(T)); T.tm_min = mm ; T.tm_hour = HH ; T.tm_sec = SS ; if ( bAdjust ) T.tm_sec -= Position::Adjust(); T.tm_year = YY -1900 ; T.tm_mon = MM -1 ; T.tm_mday = DD ; result = mktime(&T); } } catch ( ... ) {}; return result ; } // West of GMT is negative (PDT = Pacific Daylight = -07:00 == -25200 seconds int timeZoneAdjust() { time_t now = time(NULL); int offset; #if defined(_MSC_VER) || defined(__MINGW__) TIME_ZONE_INFORMATION TimeZoneInfo; GetTimeZoneInformation( &TimeZoneInfo ); offset = - (((int)TimeZoneInfo.Bias + (int)TimeZoneInfo.DaylightBias) * 60); UNUSED(now); #elif defined(__CYGWIN__) struct tm lcopy = *localtime(&now); time_t gmt = timegm(&lcopy) ; // timegm modifies lcopy offset = (int) ( ((long signed int) gmt) - ((long signed int) now) ) ; #elif defined(OS_SOLARIS) struct tm local = *localtime(&now) ; time_t local_tt = (int) mktime(&local); time_t time_gmt = (int) mktime(gmtime(&now)); offset = time_gmt - local_tt; #else struct tm local = *localtime(&now) ; offset = local.tm_gmtoff ; #endif #if 0 // debugging code struct tm utc = *gmtime(&now); printf("utc : offset = %6d dst = %d time = %s", 0 ,utc .tm_isdst, asctime(&utc )); printf("local: offset = %6d dst = %d time = %s", offset,local.tm_isdst, asctime(&local)); printf("timeZoneAdjust = %6d\n",offset); #endif return offset ; } string getExifTime(const time_t t) { static char result[100]; strftime(result,sizeof(result),"%Y-%m-%d %H:%M:%S",localtime(&t)); return result ; } std::string makePath(std::string dir,std::string file) { return dir + std::string(EXV_SEPARATOR_STR) + file ; } const char* makePath(const char* dir,const char* file) { static char result[_MAX_PATH] ; std::string r = makePath(std::string(dir),std::string(file)); strcpy(result,r.c_str()); return result; } // file utilities bool readDir(const char* path,Options& options) { bool bResult = false; #ifdef _MSC_VER DWORD attrs = GetFileAttributes(path); bool bOKAttrs = attrs != INVALID_FILE_ATTRIBUTES; bool bIsDir = (attrs & FILE_ATTRIBUTE_DIRECTORY) ? true : false ; if( bOKAttrs && bIsDir ) { bResult = true ; char search[_MAX_PATH+10]; strcpy_s(search,_MAX_PATH,path); strcat_s(search,_MAX_PATH,"\\*"); WIN32_FIND_DATA ffd; HANDLE hFind = FindFirstFile(search, &ffd); BOOL bGo = hFind != INVALID_HANDLE_VALUE; if ( bGo ) { while ( bGo ) { if (ffd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { // _tprintf(TEXT(" %s \n"), ffd.cFileName); } else { std::string pathName = makePath(path,std::string(ffd.cFileName)); if ( getFileType(pathName,options) == typeImage ) { gFiles.push_back( pathName ); } } bGo = FindNextFile(hFind, &ffd) != 0; } // CloseHandle(hFind); } } #else DIR* dir = opendir (path); if (dir != NULL) { bResult = true; struct dirent* ent; // print all the files and directories within directory while ((ent = readdir (dir)) != NULL) { std::string pathName = makePath(path,ent->d_name); struct stat buf ; lstat(path, &buf ); if ( ent->d_name[0] != '.' ) { // printf("reading %s => %s\n",ent->d_name,pathName.c_str()); if ( getFileType(pathName,options) == typeImage ) { gFiles.push_back( pathName ); } } } closedir (dir); } #endif return bResult ; } inline size_t sip(FILE* f,char* buffer,size_t max_len,size_t len) { while ( !feof(f) && len < max_len && buffer[len-1] != '>') buffer[len++] = fgetc(f); return len; } bool readXML(const char* path,Options& options) { FILE* f = fopen(path,"r"); XML_Parser parser = XML_ParserCreate(NULL); bool bResult = f && parser ; if ( bResult ) { char buffer[8*1024]; UserData me(options) ; XML_SetUserData (parser, &me); XML_SetElementHandler (parser, startElement, endElement); XML_SetCharacterDataHandler(parser,charHandler); // a little sip at the data size_t len = fread(buffer,1,sizeof(buffer)-100,f); const char* lead = "readMetadata(); ExifData &exifData = image->exifData(); bResult = !exifData.empty(); } } catch ( ... ) {}; return bResult ; } time_t readImageTime(std::string path,std::string* pS=NULL) { using namespace Exiv2; time_t result = 0 ; static std::map cache; if ( cache.count(path) == 1 ) return cache[path]; const char* dateStrings[] = { "Exif.Photo.DateTimeOriginal" , "Exif.Photo.DateTimeDigitized" , "Exif.Image.DateTime" , NULL }; const char* ds = dateStrings[0] ; while ( !result && ds++ ) { try { Image::AutoPtr image = ImageFactory::open(path); if ( image.get() ) { image->readMetadata(); ExifData &exifData = image->exifData(); // printf("%s => %s\n",(ds-1), exifData[ds-1].toString().c_str()); result = parseTime(exifData[ds-1].toString().c_str(),true); if ( result && pS ) *pS = exifData[ds-1].toString(); } } catch ( ... ) {}; } if ( result ) cache[path] = result; return result ; } bool sina(const char* s,const char** a) { bool bResult = false ; int i = 0 ; while ( *s == '-' ) s++; while ( !bResult && a[i]) { const char* A = a[i] ; while ( *A == '-' ) A++ ; bResult = stricmp(s,A)==0; i++; } return bResult; } int readFile(const char* path,Options /* options */) { FILE* f = fopen(path,"r"); int nResult = f ? typeFile : typeUnknown; if ( f ) { const char* docs[] = { ".doc",".txt", nil }; const char* code[] = { ".cpp",".h" ,".pl" ,".py" ,".pyc", nil }; const char* ext = strstr(path,"."); if ( ext ) { if ( sina(ext,docs) ) nResult = typeDoc; if ( sina(ext,code) ) nResult = typeCode; } } if ( f ) fclose(f) ; return nResult ; } Position* searchTimeDict(TimeDict_t& td, const time_t& time,long long delta) { Position* result = NULL; for ( int t = 0 ; !result && t < delta ; t++ ) { for ( int x = 0 ; !result && x < 2 ; x++ ) { int T = t * ((x==0)?-1:1); if ( td.count(time+T) ) { result = &td[time+T]; result->delta(T); } } } return result; } int getFileType(std::string& path,Options& options) { return getFileType(path.c_str(),options); } int getFileType(const char* path,Options& options) { return readXML (path,options) ? typeXML : readDir (path,options) ? typeDirectory : readImage(path,options) ? typeImage : readFile (path,options) ; } int version(const char* program) { printf("%s: %s %s\n",program,__DATE__,__TIME__); return 0; } int help(const char* program,char const* words[],int nWords,bool /*bVerbose*/) { printf("usage: %s ",program); for ( int i = 0 ; i < nWords ; i++ ) { if ( words[i] ) printf("%c-%s%s",i?'|':'{',words[i],i>(-kwNOVALUE)?" value":""); } printf("} path+\n"); return 0; } int compare(const char* a,const char* b) { int result=*a && *b; while ( result && *a && *b) { char A=*a++; char B=*b++; result=tolower(A)==tolower(B); } return result; } int find(const char* arg,char const* words[],int nWords) { if ( arg[0] != '-' ) return kwSYNTAX; int result=0; int count =0; for ( int i = 0 ; i < nWords ; i++) { int j = 0 ; while ( arg[j] == '-' ) j++; if ( ::compare(arg+j,words[i]) ) { result = i ; count++; } } return count==1?result:kwSYNTAX; } int parseTZ(const char* adjust) { int h=0; int m=0; char c ; try { sscanf(adjust,"%d%c%d",&h,&c,&m); } catch ( ... ) {} ; return (3600*h)+(60*m); } bool mySort(std::string a,std::string b) { time_t A = readImageTime(a); time_t B = readImageTime(b); return (A shorts; shorts["-?"] = "-help"; shorts["-h"] = "-help"; shorts["-v"] = "-verbose"; shorts["-V"] = "-version"; shorts["-d"] = "-dst"; shorts["-a"] = "-adjust"; shorts["-t"] = "-tz"; shorts["-D"] = "-delta"; shorts["-s"] = "-delta"; shorts["-X"] = "-dryrun"; Options options ; options.help = sina(keywords[kwHELP ],argv) || argc < 2; options.verbose = sina(keywords[kwVERBOSE],argv); options.dryrun = sina(keywords[kwDRYRUN ],argv); options.version = sina(keywords[kwVERSION],argv); options.dst = sina(keywords[kwDST ],argv); options.dryrun = sina(keywords[kwDRYRUN ],argv); for ( int i = 1 ; !result && i < argc ; i++ ) { const char* arg = argv[i++]; if ( shorts.count(arg) ) arg = shorts[arg].c_str(); const char* value = argv[i ]; int ivalue = ::atoi(value?value:"0"); int key = ::find(arg,keywords,kwMAX); int needv = key < kwMAX && key > (-kwNOVALUE); if (!needv ) i--; if ( needv && !value) key = kwNEEDVALUE; switch ( key ) { case kwDST : options.dst = true ; break; case kwHELP : options.help = true ; break; case kwVERSION : options.version = true ; break; case kwDRYRUN : options.dryrun = true ; break; case kwVERBOSE : options.verbose = true ; break; case kwTZ : Position::tz_ = parseTZ(value);break; case kwADJUST : Position::adjust_ = ivalue;break; case kwDELTA : Position::deltaMax_= ivalue;break; case kwNEEDVALUE: fprintf(stderr,"error: %s requires a value\n",arg); result = resultSyntaxError ; break ; case kwSYNTAX : default: { int type = getFileType(arg,options) ; if ( options.verbose ) printf("%s %s ",arg,types[type]) ; if ( type == typeImage ) { time_t t = readImageTime(std::string(arg)) ; char* path = realpath(arg,NULL); if ( t && path ) { if ( options.verbose) printf("%s %ld %s",path,(long int)t,asctime(localtime(&t))); gFiles.push_back(path); } if ( path ) :: free((void*) path); } if ( type == typeUnknown ) { fprintf(stderr,"error: illegal syntax %s\n",arg); result = resultSyntaxError ; } if ( options.verbose ) printf("\n") ; }break; } } if ( options.help ) ::help(program,keywords,kwMAX,options.verbose); if ( options.version ) ::version(program); if ( !result ) { sort(gFiles.begin(),gFiles.end(),mySort); if ( options.dst ) Position::dst_ = 3600; if ( options.verbose ) { int t = Position::tz(); int d = Position::dst(); int a = Position::adjust(); int A = Position::Adjust(); int s = A ; int h = s/3600; s-= h*3600; s = abs(s); int m = s/60 ; s-= m*60 ; printf("tz,dsl,adjust = %d,%d,%d total = %dsecs (= %d:%d:%d)\n",t,d,a,A,h,m,s); } for ( size_t p = 0 ; !options.dryrun && p < gFiles.size() ; p++ ) { std::string arg = gFiles[p] ; std::string stamp ; try { time_t t = readImageTime(arg,&stamp) ; Position* pPos = searchTimeDict(gTimeDict,t,Position::deltaMax_); Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(gFiles[p]); if ( image.get() ) { image->readMetadata(); Exiv2::ExifData& exifData = image->exifData(); #if 0 /* char* keys[]={ "Exif.Image.GPSTag" , "Exif.GPSInfo.GPSProcessingMethod" , "Exif.GPSInfo.GPSAltitudeRef" , "Exif.GPSInfo.GPSVersionID" , "Exif.GPSInfo.GPSProcessingMethod" , "Exif.GPSInfo.GPSVersionID" , "Exif.GPSInfo.GPSMapDatum" , "Exif.GPSInfo.GPSLatitude" , "Exif.GPSInfo.GPSLongitude" , "Exif.GPSInfo.GPSAltitude" , "Exif.GPSInfo.GPSAltitudeRef" , "Exif.GPSInfo.GPSLatitudeRef" , "Exif.GPSInfo.GPSLongitudeRef" , "Exif.GPSInfo.GPSDateStamp" , "Exif.GPSInfo.GPSTimeStamp" }; static int bPrint = true ; for ( int k = 0 ; k < 15 ; k++ ) { try { if ( bPrint ) printf("erasing %s\n",keys[k]); Exiv2::ExifKey key = Exiv2::ExifKey(keys[k]); Exiv2::ExifData::iterator kk = exifData.findKey(key); if ( kk != exifData.end() ) exifData.erase(kk); } catch (...) {}; } bPrint = false; */ #endif #if 0 Exiv2::ExifData::const_iterator end = exifData.end(); for (Exiv2::ExifData::iterator i = exifData.begin(); i != end; ++i) { char name[100]; strcpy(name,i->key().c_str()); // std::cout << "sniff " << i->key() << std::endl; if ( strstr(name,"GPS") ) { Exiv2::ExifData::iterator pos; Exiv2::ExifKey exifKey = Exiv2::ExifKey(name); pos = exifData.findKey(exifKey); while( pos != exifData.end()) { exifData.erase(pos); } } } #endif if ( pPos ) { /* struct _stat buf; int result; char timebuf[26]; char* filename = "crt_stat.c"; errno_t err; // Get data associated with "crt_stat.c": result = _stat( filename, &buf ); int _utime( const char *filename, struct _utimbuf *times ); */ exifData["Exif.GPSInfo.GPSProcessingMethod" ] = "65 83 67 73 73 0 0 0 72 89 66 82 73 68 45 70 73 88"; // ASCII HYBRID-FIX exifData["Exif.GPSInfo.GPSVersionID" ] = "2 2 0 0"; exifData["Exif.GPSInfo.GPSMapDatum" ] = "WGS-84"; exifData["Exif.GPSInfo.GPSLatitude" ] = Position::toExifString(pPos->lat(),true,true); exifData["Exif.GPSInfo.GPSLongitude" ] = Position::toExifString(pPos->lon(),true,false); exifData["Exif.GPSInfo.GPSAltitude" ] = Position::toExifString(pPos->ele()); exifData["Exif.GPSInfo.GPSAltitudeRef" ] = pPos->ele()<0.0?"1":"0"; exifData["Exif.GPSInfo.GPSLatitudeRef" ] = pPos->lat()>0?"N":"S"; exifData["Exif.GPSInfo.GPSLongitudeRef" ] = pPos->lon()>0?"E":"W"; exifData["Exif.GPSInfo.GPSDateStamp" ] = stamp; exifData["Exif.GPSInfo.GPSTimeStamp" ] = Position::toExifTimeStamp(stamp); exifData["Exif.Image.GPSTag" ] = 4908; printf("%s %s % 2d\n",arg.c_str(),pPos->toString().c_str(),pPos->delta()); } else { printf("%s *** not in time dict ***\n",arg.c_str()); } image->writeMetadata(); } } catch ( ... ) {}; } } return result ; } // That's all Folks! //// exiv2-0.25/samples/werror-test.cpp0000664000175000017500000000132312452753677017001 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // werror-test.cpp, $Rev: 3513 $ // Simple tests for the wide-string error class WError #include #include int main() { try { throw Exiv2::Error(-1, "ARG1", "ARG2", "ARG3"); } catch (const Exiv2::Error& e) { std::cout << "Caught Error '" << e.what() << "'\n"; } #ifdef EXV_UNICODE_PATH try { throw Exiv2::WError(-1, L"WARG1", L"WARG2", L"WARG3"); } catch (const Exiv2::WError& e) { std::wstring wmsg = e.wwhat(); std::string msg(wmsg.begin(), wmsg.end()); std::cout << "Caught WError '" << msg << "'\n"; } #endif return 0; } exiv2-0.25/samples/convert-test.cpp0000664000175000017500000000165112173660260017126 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // convert-test.cpp, $Rev: 3090 $ // Conversion test driver - make sure you have a copy of the input file around! #include #include #include #include int main(int argc, char* const argv[]) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(argv[1]); assert(image.get() != 0); image->readMetadata(); Exiv2::XmpData xmpData; Exiv2::copyExifToXmp(image->exifData(), xmpData); Exiv2::ExifData exifData; Exiv2::copyXmpToExif(xmpData, exifData); image->setXmpData(xmpData); image->setExifData(exifData); image->writeMetadata(); return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } exiv2-0.25/samples/exifprint.cpp0000664000175000017500000000321412173660260016476 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // exifprint.cpp, $Rev: 3090 $ // Sample program to print the Exif metadata of an image #include #include #include #include int main(int argc, char* const argv[]) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(argv[1]); assert(image.get() != 0); image->readMetadata(); Exiv2::ExifData &exifData = image->exifData(); if (exifData.empty()) { std::string error(argv[1]); error += ": No Exif data found in the file"; throw Exiv2::Error(1, error); } Exiv2::ExifData::const_iterator end = exifData.end(); for (Exiv2::ExifData::const_iterator i = exifData.begin(); i != end; ++i) { const char* tn = i->typeName(); std::cout << std::setw(44) << std::setfill(' ') << std::left << i->key() << " " << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << i->tag() << " " << std::setw(9) << std::setfill(' ') << std::left << (tn ? tn : "Unknown") << " " << std::dec << std::setw(3) << std::setfill(' ') << std::right << i->count() << " " << std::dec << i->value() << "\n"; } return 0; } //catch (std::exception& e) { //catch (Exiv2::AnyError& e) { catch (Exiv2::Error& e) { std::cout << "Caught Exiv2 exception '" << e.what() << "'\n"; return -1; } exiv2-0.25/samples/largeiptc-test.cpp0000664000175000017500000000426712173660260017426 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // Test for large (>65535 bytes) IPTC buffer #include #include #include int main(int argc, char* const argv[]) try { if (argc != 3) { std::cout << "Usage: " << argv[0] << " image datafile\n"; return 1; } std::string file(argv[1]); std::string data(argv[2]); // Read data file into data buffer Exiv2::FileIo io(data); if (io.open() != 0) { throw Exiv2::Error(9, io.path(), Exiv2::strError()); } Exiv2::DataBuf buf(io.size()); std::cout << "Reading " << buf.size_ << " bytes from " << data << "\n"; io.read(buf.pData_, buf.size_); if (io.error() || io.eof()) throw Exiv2::Error(14); // Read metadata from file Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(file); assert(image.get() != 0); image->readMetadata(); // Set Preview field to the content of the data file Exiv2::DataValue value; value.read(buf.pData_, buf.size_); Exiv2::IptcData& iptcData = image->iptcData(); std::cout << "IPTC fields: " << iptcData.size() << "\n"; iptcData["Iptc.Application2.Preview"] = value; std::cout << "IPTC fields: " << iptcData.size() << "\n"; // Set IRB, compare with IPTC raw data Exiv2::DataBuf irb = Exiv2::Photoshop::setIptcIrb(0, 0, iptcData); std::cout << "IRB buffer : " << irb.size_ << "\n"; const Exiv2::byte* record; uint32_t sizeHdr; uint32_t sizeData; Exiv2::Photoshop::locateIptcIrb(irb.pData_, irb.size_, &record, &sizeHdr, &sizeData); Exiv2::DataBuf rawIptc = Exiv2::IptcParser::encode(iptcData); std::cout << "Comparing IPTC and IRB size... "; if (static_cast(rawIptc.size_) != sizeData) { std::cout << "not "; } std::cout << "ok\n"; std::cout << "Comparing IPTC and IRB data... "; if (0 != memcmp(rawIptc.pData_, record + sizeHdr, sizeData)) { std::cout << "not "; } std::cout << "ok\n"; // Set Iptc data and write it to the file image->writeMetadata(); return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } exiv2-0.25/samples/tiffaddpath-test.cpp0000664000175000017500000000730512452753677017745 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // tiffaddpath-test.cpp, $Rev: 3513 $ // Test driver to test adding new tags to a TIFF composite structure #include #include "tiffcomposite_int.hpp" #include "makernote2_int.hpp" #include "tiffimage_int.hpp" #include #include #include #include using namespace Exiv2; void addPath(TiffComponent* pRootDir, uint16_t tag, TiffPath& tiffPath); void printPath(TiffPath tiffPath, uint32_t tag, uint16_t grp); struct TiffTagInfo { bool operator==(const uint32_t& tag) const; uint32_t tag_; const char* name_; }; extern const TiffTagInfo tiffTagInfo[] = { { 0x10000, "none" }, { 0x20000, "root" }, { 0x30000, "next" }, { 0x40000, "all" } }; bool TiffTagInfo::operator==(const uint32_t& tag) const { return tag_ == tag; } std::string tiffTagName(uint32_t tag) { const TiffTagInfo* gi = find(tiffTagInfo, tag); std::string name; if (gi != 0) { name = gi->name_; } else { std::ostringstream os; os << "0x" << std::hex << std::setw(4) << std::setfill('0') << std::right << tag; name = os.str(); } return name; } // ----------------------------------------------------------------------------- // Main program int main(int argc, char* const argv[]) { if (argc != 3) { std::cout << "Usage: " << argv[0] << " tag group\n" << "Print the TIFF path for a tag and group (decimal numbers)\n"; return 1; } uint32_t tag = atol(argv[1]); uint16_t grp = atol(argv[2]); TiffComponent* pRootDir = new TiffDirectory(0, 1); TiffPath tiffPath1; TiffCreator::getPath(tiffPath1, tag, grp); printPath(tiffPath1, tag, grp); addPath(pRootDir, tag, tiffPath1); ++tag; TiffPath tiffPath2; TiffCreator::getPath(tiffPath2, tag, grp); printPath(tiffPath2, tag, grp); addPath(pRootDir, tag, tiffPath2); return 0; } // ----------------------------------------------------------------------------- void addPath(TiffComponent* pRootDir, uint16_t tag, TiffPath& tiffPath) { TiffComponent* tc = pRootDir->addPath(tag, tiffPath); TiffPrinter tiffPrinter(std::cout); pRootDir->accept(tiffPrinter); std::cout << std::endl; if (tc) { std::cout << "Added tag " << tiffTagName(tc->tag()) << ", group " << tiffGroupName(tc->group()) << "\n"; } else { std::cout << "No tag added\n"; } std::cout << std::endl; } // ----------------------------------------------------------------------------- void printPath(TiffPath tiffPath, uint32_t tag, uint16_t grp) { std::cout << "\nTiff path for tag " << std::setw(6) << std::setfill(' ') << std::left << tiffTagName(tag) << ", group " << tiffGroupName(grp) << " (id = " << std::dec << grp << "):\n\n" << "ext. tag group new group \n" << "-------- ------------ ------------\n"; while (!tiffPath.empty()) { const TiffStructure* ts = tiffPath.top(); tiffPath.pop(); std::cout << std::setw(8) << std::setfill(' ') << std::left << tiffTagName(ts->extendedTag_) << " " << std::setw(12) << std::setfill(' ') << std::left << tiffGroupName(ts->group_) << " " << std::setw(12) << std::setfill(' ') << std::left << tiffGroupName(ts->newGroup_) << "\n"; } std::cout << std::endl; } exiv2-0.25/samples/xmpparse.cpp0000664000175000017500000000323311411621067016322 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // xmpparse.cpp, $Rev: 2286 $ // Read an XMP packet from a file, parse it and print all (known) properties. #include #include #include #include int main(int argc, char* const argv[]) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } Exiv2::DataBuf buf = Exiv2::readFile(argv[1]); std::string xmpPacket; xmpPacket.assign(reinterpret_cast(buf.pData_), buf.size_); Exiv2::XmpData xmpData; if (0 != Exiv2::XmpParser::decode(xmpData, xmpPacket)) { std::string error(argv[1]); error += ": Failed to parse file contents (XMP packet)"; throw Exiv2::Error(1, error); } if (xmpData.empty()) { std::string error(argv[1]); error += ": No XMP properties found in the XMP packet"; throw Exiv2::Error(1, error); } for (Exiv2::XmpData::const_iterator md = xmpData.begin(); md != xmpData.end(); ++md) { std::cout << std::setfill(' ') << std::left << std::setw(44) << md->key() << " " << std::setw(9) << std::setfill(' ') << std::left << md->typeName() << " " << std::dec << std::setw(3) << std::setfill(' ') << std::right << md->count() << " " << std::dec << md->value() << std::endl; } Exiv2::XmpParser::terminate(); return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } exiv2-0.25/samples/iotest.cpp0000664000175000017500000001410012521135474015772 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* Abstract : Tester application for BasicIo functions. Tests MemIo primarily since FileIo just sits atop of FILE* streams. File : iotest.cpp Version : $Rev: 3777 $ Author(s): Brad Schick (brad) History : 04-Dec-04, brad: created */ // ***************************************************************************** // included header files #include #include // for EOF #include #include using Exiv2::byte; using Exiv2::BasicIo; using Exiv2::MemIo; using Exiv2::FileIo; using Exiv2::IoCloser; using Exiv2::Error; using Exiv2::strError; int WriteReadSeek(BasicIo &io); // ***************************************************************************** // Main int main(int argc, char* const argv[]) { try { if (argc != 4) { std::cout << "Usage: " << argv[0] << " filein fileout1 fileout2\n"; std::cout << "fileouts are overwritten and should match filein exactly\n"; return 1; } FileIo fileIn(argv[1]); if (fileIn.open() != 0) { throw Error(9, fileIn.path(), strError()); } FileIo fileOut1(argv[2]); if (fileOut1.open("w+b") != 0) { throw Error(10, argv[2], "w+b", strError()); } MemIo memIo1; // Copy to output file through memIo memIo1.write(fileIn); memIo1.seek(0, BasicIo::beg); fileOut1.write(memIo1); // Make sure they are all the same size if(fileIn.size() != memIo1.size() || memIo1.size() != fileOut1.size()) { std::cerr << argv[0] << ": Sizes do not match\n"; return 1; } // Read writereadseek test on MemIo MemIo memIo2; int rc = WriteReadSeek(memIo2); if (rc != 0) return rc; // Read writereadseek test on FileIo // Create or overwrite the file, then close it FileIo fileTest("iotest.txt"); if (fileTest.open("w+b") != 0) { throw Error(10, "iotest.txt", "w+b", strError()); } fileTest.close(); rc = WriteReadSeek(fileTest); if (rc != 0) return rc; // Another test of reading and writing fileOut1.seek(0, BasicIo::beg); memIo2.seek(0, BasicIo::beg); FileIo fileOut2(argv[3]); if (fileOut2.open("w+b") != 0) { throw Error(10, argv[3], "w+b", strError()); } long readCount = 0; byte buf[32]; while ((readCount=fileOut1.read(buf, sizeof(buf)))) { if (memIo2.write(buf, readCount) != readCount) { std::cerr << argv[0] << ": MemIo bad write 2\n"; return 13; } if (fileOut2.write(buf, readCount) != readCount) { std::cerr << argv[0] << ": FileIo bad write 2\n"; return 14; } } return 0; } catch (Exiv2::AnyError& e) { std::cerr << "Caught Exiv2 exception '" << e << "'\n"; return 20; } } int WriteReadSeek(BasicIo &io) { byte buf[4096]; const char tester1[] = "this is a little test of MemIo"; const char tester2[] = "Appending this on the end"; const char expect[] = "this is a little teAppending this on the end"; const long insert = 19; const long len1 = (long)std::strlen(tester1) + 1; const long len2 = (long)std::strlen(tester2) + 1; if (io.open() != 0) { throw Error(9, io.path(), strError()); } IoCloser closer(io); if (io.write((byte*)tester1, len1) != len1) { std::cerr << ": WRS initial write failed\n"; return 2; } if (io.size() != len1) { std::cerr << ": WRS size is not " << len1 << "\n"; return 2; } io.seek(-len1, BasicIo::cur); int c = EOF; std::memset(buf, -1, sizeof(buf)); for (int i = 0; (c=io.getb()) != EOF; ++i) { buf[i] = (byte)c; } // Make sure we got the null back if(buf[len1-1] != 0) { std::cerr << ": WRS missing null terminator 1\n"; return 3; } if (strcmp(tester1, (char*)buf) != 0 ) { std::cerr << ": WRS strings don't match 1\n"; return 4; } io.seek(-2, BasicIo::end); if (io.getb() != 'o') { std::cerr << ": WRS bad getb o\n"; return 5; } io.seek(-2, BasicIo::cur); if (io.getb() != 'I') { std::cerr << ": WRS bad getb I\n"; return 6; } if (io.putb('O') != 'O') { std::cerr << ": WRS bad putb\n"; return 7; } io.seek(-1, BasicIo::cur); if (io.getb() != 'O') { std::cerr << ": WRS bad getb O\n"; return 8; } io.seek(insert, BasicIo::beg); if(io.write((byte*)tester2, len2) != len2) { std::cerr << ": WRS bad write 1\n"; return 9; } // open should seek to beginning if (io.open() != 0) { throw Error(9, io.path(), strError()); } std::memset(buf, -1, sizeof(buf)); if (io.read(buf, sizeof(buf)) != insert + len2) { std::cerr << ": WRS something went wrong\n"; return 10; } // Make sure we got the null back if(buf[insert + len2 - 1] != 0) { std::cerr << ": WRS missing null terminator 2\n"; return 11; } if (std::strcmp(expect, (char*)buf) != 0 ) { std::cerr << ": WRS strings don't match 2\n"; return 12; } return 0; } exiv2-0.25/samples/xmpparser-test.cpp0000664000175000017500000000461412173660260017471 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // xmpparser-test.cpp, $Rev: 3090 $ // Read an XMP packet from a file, parse and re-serialize it. #include #include #include #include int main(int argc, char* const argv[]) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } std::string filename(argv[1]); Exiv2::DataBuf buf = Exiv2::readFile(filename); std::string xmpPacket; xmpPacket.assign(reinterpret_cast(buf.pData_), buf.size_); std::cerr << "-----> Decoding XMP data read from " << filename << " <-----\n"; Exiv2::XmpData xmpData; if (0 != Exiv2::XmpParser::decode(xmpData, xmpPacket)) { std::string error(argv[1]); error += ": Failed to parse file contents (XMP packet)"; throw Exiv2::Error(1, error); } if (xmpData.empty()) { std::string error(argv[1]); error += ": No XMP properties found in the XMP packet"; throw Exiv2::Error(1, error); } for (Exiv2::XmpData::const_iterator md = xmpData.begin(); md != xmpData.end(); ++md) { std::cout << std::setfill(' ') << std::left << std::setw(44) << md->key() << " " << std::setw(9) << std::setfill(' ') << std::left << md->typeName() << " " << std::dec << std::setw(3) << std::setfill(' ') << std::right << md->count() << " " << std::dec << md->value() << std::endl; } filename += "-new"; std::cerr << "-----> Encoding XMP data to write to " << filename << " <-----\n"; if (0 != Exiv2::XmpParser::encode(xmpPacket, xmpData)) { std::string error(argv[1]); error += ": Failed to encode the XMP data"; throw Exiv2::Error(1, error); } Exiv2::FileIo file(filename); if (file.open("wb") != 0) { throw Exiv2::Error(10, filename, "wb", Exiv2::strError()); } if (file.write(reinterpret_cast(xmpPacket.data()), static_cast(xmpPacket.size())) == 0) { throw Exiv2::Error(2, filename, Exiv2::strError(), "FileIo::write"); } Exiv2::XmpParser::terminate(); return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } exiv2-0.25/samples/write-test.cpp0000664000175000017500000001562411411621067016601 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* Abstract : ExifData write unit tests Author(s): Andreas Huggel (ahu) Version : $Rev: 2286 $ Test procedure: $ rm -f test.jpg thumb.jpg iii ttt; $ ./exifprint ../test/img_1771.jpg > iii; $ cp ../test/img_1771.jpg ./test.jpg; $ ./makernote-test2 ../test/img_1771.jpg > ttt; $ diff iii ttt */ // ***************************************************************************** // included header files #include #include #include #include #include #include #include // ***************************************************************************** // local declarations using namespace Exiv2; void testCase(const std::string& file1, const std::string& file2, const std::string& thumb, const std::string& key, const std::string& value); void exifPrint(const ExifData& exifData); // ***************************************************************************** // Main int main(int argc, char* const argv[]) { try { if (argc != 3) { std::cout << "Usage: write-test file case\n\n" << "where case is an integer between 1 and 11\n"; return 1; } std::string testFile = argv[1]; std::istringstream iss(argv[2]); int testNo; iss >> testNo; int rc = 0; switch (testNo) { case 1: std::cerr << "Case 1: "; std::cerr << "Non-intrusive change to the standard Exif metadata\n"; testCase(testFile, "test1.jpg", "thumb1", "Exif.Photo.DateTimeOriginal", "1999:11:22 00:11:22"); break; case 2: std::cerr << "Case 2: "; std::cerr << "Non-intrusive change to the makernote metadata\n"; testCase(testFile, "test2.jpg", "thumb2", "Exif.Canon.OwnerName", "Chan YeeSend"); break; case 3: std::cerr << "Case 3: "; std::cerr << "Non-intrusive change to the Exif metadata (w/o makernote)\n"; testCase(testFile, "test3.jpg", "thumb3", "Exif.Photo.DateTimeOriginal", "1999:11:22 00:11:22"); break; case 4: std::cerr << "Case 4: "; std::cerr << "Intrusive change to the standard Exif metadata\n"; testCase(testFile, "test4.jpg", "thumb4", "Exif.Photo.DateTimeOriginal", "1999:11:22 00:11:22 and twenty seconds"); break; case 5: std::cerr << "Case 5: "; std::cerr << "Intrusive change to the Canon makernote metadata\n"; testCase(testFile, "test5.jpg", "thumb5", "Exif.Canon.OwnerName", "Frau Chan YeeSend und Herr Andreas Huggel"); break; case 6: std::cerr << "Case 6: "; std::cerr << "Intrusive change to the Exif metadata (w/o makernote)\n"; testCase(testFile, "test6.jpg", "thumb6", "Exif.Photo.DateTimeOriginal", "1999:11:22 00:11:22 and twenty seconds"); break; case 7: std::cerr << "Case 7: "; std::cerr << "Intrusive change to the Fujifilm makernote metadata\n"; testCase(testFile, "test7.jpg", "thumb7", "Exif.Fujifilm.Quality", "Typical Fujifilm Quality"); break; case 8: std::cerr << "Case 8: "; std::cerr << "Intrusive change to the Sigma makernote metadata\n"; testCase(testFile, "test8.jpg", "thumb8", "Exif.Sigma.ResolutionMode", "Sigma HI resolution"); break; case 9: std::cerr << "Case 9: "; std::cerr << "Intrusive change to the Nikon1 makernote metadata\n"; testCase(testFile, "test9.jpg", "thumb9", "Exif.Nikon1.Quality", "Typical Nikon1 Quality"); break; case 10: std::cerr << "Case 10: "; std::cerr << "Intrusive change to the Nikon2 makernote metadata\n"; testCase(testFile, "test10.jpg", "thumb10", "Exif.Nikon2.0x0002", "Nikon2 Version 2"); break; case 11: std::cerr << "Case 11: "; std::cerr << "Intrusive change to the Nikon3 makernote metadata\n"; testCase(testFile, "test11.jpg", "thumb11", "Exif.Nikon3.Quality", "Typical Nikon3 Quality"); break; // ToDo: Erase Sigma thumbnail // ToDo: Write to a broken (truncated) IFD entry default: std::cout << "Usage: exiftest file case\n\n" << "where case is an integer between 1 and 11\n"; rc = 1; break; } return rc; } catch (AnyError& e) { std::cerr << "Caught Exiv2 exception '" << e << "'\n"; return 1; } } // ***************************************************************************** void testCase(const std::string& file1, const std::string& file2, const std::string& thumb, const std::string& key, const std::string& value) { ExifKey ek(key); //Open first image Image::AutoPtr image1 = ImageFactory::open(file1); assert(image1.get() != 0); // Load existing metadata std::cerr << "---> Reading file " << file1 << "\n"; image1->readMetadata(); Exiv2::ExifData &ed1 = image1->exifData(); std::cerr << "---> Modifying Exif data\n"; Exiv2::ExifData::iterator pos = ed1.findKey(ek); if (pos == ed1.end()) { throw Error(1, "Metadatum with key = " + ek.key() + " not found"); } pos->setValue(value); // Open second image Image::AutoPtr image2 = ImageFactory::open(file2); assert(image2.get() != 0); image2->setExifData(image1->exifData()); std::cerr << "---> Writing Exif data to file " << file2 << "\n"; image2->writeMetadata(); std::cerr << "---> Reading file " << file2 << "\n"; image2->readMetadata(); Exiv2::ExifData &ed2 = image2->exifData(); exifPrint(ed2); std::cerr << "---> Writing Exif thumbnail to file " << thumb << ".*\n"; ExifThumbC et2(ed2); et2.writeFile(thumb); } // ***************************************************************************** void exifPrint(const ExifData& exifData) { ExifData::const_iterator i = exifData.begin(); for (; i != exifData.end(); ++i) { std::cout << std::setw(44) << std::setfill(' ') << std::left << i->key() << " " << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << i->tag() << " " << std::setw(9) << std::setfill(' ') << std::left << i->typeName() << " " << std::dec << std::setw(3) << std::setfill(' ') << std::right << i->count() << " " << std::dec << i->value() << "\n"; } } exiv2-0.25/samples/httptest.cpp0000664000175000017500000000637612452753677016400 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* httptest.cpp This application is to test http.cpp. It provides the function to GET|HEAD|PUT the file via http protocol. */ #include #include #include using namespace std; static int testSyntax(const char* arg) { if ( !arg ) { cout << "insufficient input" << endl; exit(0); } return 0; } int main(int argc,const char** argv) { if ( argc < 2 ) { cout << "usage : " << argv[0] << " [key value]+" << endl; cout << "example: " << argv[0] << " [[-url] url | -server clanmills.com -page /LargsPanorama.jpg] -header \"Range: bytes=0-200\"" << endl; cout << "or : " << argv[0] << " http://clanmills.com/LargsPanorama.jpg" << endl; cout << "useful keys: -verb {GET|HEAD|PUT} -page str -server str -port number -version [-header something]+ " << endl; cout << "default keys: -verb GET -server clanmills.com -page robin.shtml -port 80 -version 1.0" << endl; cout << "export http_proxy=url eg export http_proxy=http://64.62.247.244:80" << endl; return 0; } Exiv2::dict_t response; Exiv2::dict_t request; string errors; // convert the command-line arguments into the request dictionary for ( int i = 1 ; i < argc ; i +=2 ) { const char* arg = argv[i]; // skip past the -'s on the key while ( arg[0] == '-' ) arg++; if ( string(arg) == "header" ) { testSyntax(argv[i+1]); string header = argv[i+1]; if ( ! strchr(argv[i+1],'\n') ) { header += "\r\n"; } request[arg] += header; } else if ( string(arg) == "uri" || string(arg) == "url" ) { testSyntax(argv[i+1]); Exiv2::Uri uri = Exiv2::Uri::Parse(argv[i+1]); if ( uri.Protocol == "http" ) { request["server"] = uri.Host; request["page"] = uri.Path; request["port"] = uri.Port; } } else if ( string(arg).substr(0,7) == "http://" ) { Exiv2::Uri uri = Exiv2::Uri::Parse(argv[i--]); if ( uri.Protocol == "http" ) { request["server"] = uri.Host; request["page"] = uri.Path; request["port"] = uri.Port; } } else { testSyntax(argv[i+1]); request[arg]=argv[i+1]; } } if ( !request.count("page" ) ) request["page" ] = "robin.shtml"; if ( !request.count("server") ) request["server"] = "clanmills.com"; int result = Exiv2::http(request,response,errors); cout << "result = " << result << endl; cout << "errors = " << errors << endl; cout << endl; for ( Exiv2::dict_i it = response.begin() ; it != response.end() ; it++ ) { // don't show request header if (it->first == "requestheaders") continue; cout << it->first << " -> "; if ( it->first == "body") { string& value = it->second; cout << "# " << value.length(); if ( value.length() < 1000 ) cout << " = " << value ; } else { cout << it->second; } cout << endl; } return 0; } // That's all Folks! //// exiv2-0.25/samples/Jzon.h0000664000175000017500000002660712523351131015057 0ustar andreasandreas/* Copyright (c) 2013 Johannes Häggqvist Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #ifndef Jzon_h__ #define Jzon_h__ #ifndef JzonAPI # ifdef _WINDLL # define JzonAPI __declspec(dllimport) # elif defined(__GNUC__) && (__GNUC__ >= 4) # define JzonAPI __attribute__ ((visibility("default"))) # else # define JzonAPI # endif #endif #include #include #include #include #include namespace Jzon { #ifdef _MSC_VER # pragma warning(disable : 4251) #endif template struct Pair { Pair(T1 first, T2 second) : first(first), second(second) {} Pair &operator=(const Pair &rhs) { if (this != &rhs) { this->first = rhs.first; this->second = rhs.second; } return *this; } T1 first; T2 second; }; template static Pair MakePair(T1 first, T2 second) { return Pair(first, second); } class Node; class Value; class Object; class Array; typedef Pair NamedNode; typedef Pair NamedNodePtr; class TypeException : public std::logic_error { public: TypeException() : std::logic_error("A Node was used as the wrong type") {} }; class NotFoundException : public std::out_of_range { public: NotFoundException() : std::out_of_range("The node could not be found") {} }; struct Format { bool newline; bool spacing; bool useTabs; unsigned int indentSize; }; static const Format StandardFormat = { true, true, true, 1 }; static const Format NoFormat = { false, false, false, 0 }; class JzonAPI Node { friend class Object; friend class Array; public: enum Type { T_OBJECT, T_ARRAY, T_VALUE }; Node(); virtual ~Node(); virtual Type GetType() const = 0; inline bool IsObject() const { return (GetType() == T_OBJECT); } inline bool IsArray() const { return (GetType() == T_ARRAY); } inline bool IsValue() const { return (GetType() == T_VALUE); } Object &AsObject(); const Object &AsObject() const; Array &AsArray(); const Array &AsArray() const; Value &AsValue(); const Value &AsValue() const; virtual inline bool IsNull() const { return false; } virtual inline bool IsString() const { return false; } virtual inline bool IsNumber() const { return false; } virtual inline bool IsBool() const { return false; } virtual std::string ToString() const { throw TypeException(); } virtual int ToInt() const { throw TypeException(); } virtual float ToFloat() const { throw TypeException(); } virtual double ToDouble() const { throw TypeException(); } virtual bool ToBool() const { throw TypeException(); } virtual bool Has(const std::string &/*name*/) const { throw TypeException(); } virtual size_t GetCount() const { return 0; } virtual Node &Get(const std::string &/*name*/) const { throw TypeException(); } virtual Node &Get(size_t /*index*/) const { throw TypeException(); } static Type DetermineType(const std::string &json); protected: virtual Node *GetCopy() const = 0; }; class JzonAPI Value : public Node { public: enum ValueType { VT_NULL, VT_STRING, VT_NUMBER, VT_BOOL }; Value(); Value(const Value &rhs); Value(const Node &rhs); Value(ValueType type, const std::string &value); Value(const std::string &value); Value(const char *value); Value(const int value); Value(const float value); Value(const double value); Value(const bool value); virtual ~Value(); virtual Type GetType() const; ValueType GetValueType() const; virtual inline bool IsNull() const { return (type == VT_NULL); } virtual inline bool IsString() const { return (type == VT_STRING); } virtual inline bool IsNumber() const { return (type == VT_NUMBER); } virtual inline bool IsBool() const { return (type == VT_BOOL); } virtual std::string ToString() const; virtual int ToInt() const; virtual float ToFloat() const; virtual double ToDouble() const; virtual bool ToBool() const; void SetNull(); void Set(const Value &value); void Set(ValueType type, const std::string &value); void Set(const std::string &value); void Set(const char *value); void Set(const int value); void Set(const float value); void Set(const double value); void Set(const bool value); Value &operator=(const Value &rhs); Value &operator=(const Node &rhs); Value &operator=(const std::string &rhs); Value &operator=(const char *rhs); Value &operator=(const int rhs); Value &operator=(const float rhs); Value &operator=(const double rhs); Value &operator=(const bool rhs); bool operator==(const Value &other) const; bool operator!=(const Value &other) const; static std::string EscapeString(const std::string &value); static std::string UnescapeString(const std::string &value); protected: virtual Node *GetCopy() const; private: std::string valueStr; ValueType type; }; static const Value null; class JzonAPI Object : public Node { public: class iterator : public std::iterator { public: iterator(NamedNodePtr *o) : p(o) {} iterator(const iterator &it) : p(it.p) {} iterator &operator++() { ++p; return *this; } iterator operator++(int) { iterator tmp(*this); operator++(); return tmp; } bool operator==(const iterator &rhs) { return p == rhs.p; } bool operator!=(const iterator &rhs) { return p != rhs.p; } NamedNode operator*() { return NamedNode(p->first, *p->second); } private: NamedNodePtr *p; }; class const_iterator : public std::iterator { public: const_iterator(const NamedNodePtr *o) : p(o) {} const_iterator(const const_iterator &it) : p(it.p) {} const_iterator &operator++() { ++p; return *this; } const_iterator operator++(int) { const_iterator tmp(*this); operator++(); return tmp; } bool operator==(const const_iterator &rhs) { return p == rhs.p; } bool operator!=(const const_iterator &rhs) { return p != rhs.p; } const NamedNode operator*() { return NamedNode(p->first, *p->second); } private: const NamedNodePtr *p; }; Object(); Object(const Object &other); Object(const Node &other); virtual ~Object(); virtual Type GetType() const; void Add(const std::string &name, Node &node); void Add(const std::string &name, Value node); void Remove(const std::string &name); void Clear(); iterator begin(); const_iterator begin() const; iterator end(); const_iterator end() const; virtual bool Has(const std::string &name) const; virtual size_t GetCount() const; virtual Node &Get(const std::string &name) const; using Node::Get; protected: virtual Node *GetCopy() const; private: typedef std::vector ChildList; ChildList children; }; class JzonAPI Array : public Node { public: class iterator : public std::iterator { public: iterator(Node **o) : p(o) {} iterator(const iterator &it) : p(it.p) {} iterator &operator++() { ++p; return *this; } iterator operator++(int) { iterator tmp(*this); operator++(); return tmp; } bool operator==(const iterator &rhs) { return p == rhs.p; } bool operator!=(const iterator &rhs) { return p != rhs.p; } Node &operator*() { return **p; } private: Node **p; }; class const_iterator : public std::iterator { public: const_iterator(const Node *const *o) : p(o) {} const_iterator(const const_iterator &it) : p(it.p) {} const_iterator &operator++() { ++p; return *this; } const_iterator operator++(int) { const_iterator tmp(*this); operator++(); return tmp; } bool operator==(const const_iterator &rhs) { return p == rhs.p; } bool operator!=(const const_iterator &rhs) { return p != rhs.p; } const Node &operator*() { return **p; } private: const Node *const *p; }; Array(); Array(const Array &other); Array(const Node &other); virtual ~Array(); virtual Type GetType() const; void Add(Node &node); void Add(Value node); void Remove(size_t index); void Clear(); iterator begin(); const_iterator begin() const; iterator end(); const_iterator end() const; virtual size_t GetCount() const; virtual Node &Get(size_t index) const; using Node::Get; protected: virtual Node *GetCopy() const; private: typedef std::vector ChildList; ChildList children; }; class JzonAPI FileWriter { public: FileWriter(const std::string &filename); ~FileWriter(); static void WriteFile(const std::string &filename, const Node &root, const Format &format = NoFormat); void Write(const Node &root, const Format &format = NoFormat); private: std::string filename; }; class JzonAPI FileReader { public: FileReader(const std::string &filename); ~FileReader(); static bool ReadFile(const std::string &filename, Node &node); bool Read(Node &node); Node::Type DetermineType(); const std::string &GetError() const; private: bool loadFile(const std::string &filename, std::string &json); std::string json; std::string error; }; class JzonAPI Writer { public: Writer(const Node &root, const Format &format = NoFormat); ~Writer(); void SetFormat(const Format &format); const std::string &Write(); // Return result from last call to Write() const std::string &GetResult() const; private: void writeNode(const Node &node, unsigned int level); void writeObject(const Object &node, unsigned int level); void writeArray(const Array &node, unsigned int level); void writeValue(const Value &node); std::string result; class FormatInterpreter *fi; const Node &root; // Disable assignment operator Writer &operator=(const Writer&); }; class JzonAPI Parser { public: Parser(Node &root); Parser(Node &root, const std::string &json); ~Parser(); void SetJson(const std::string &json); bool Parse(); const std::string &GetError() const; private: enum Token { T_UNKNOWN, T_OBJ_BEGIN, T_OBJ_END, T_ARRAY_BEGIN, T_ARRAY_END, T_SEPARATOR_NODE, T_SEPARATOR_NAME, T_VALUE }; void tokenize(); bool assemble(); char peek(); void jumpToNext(char c); void jumpToCommentEnd(); void readString(); bool interpretValue(const std::string &value); std::string json; std::size_t jsonSize; std::queue tokens; std::queue > data; std::size_t cursor; Node &root; std::string error; // Disable assignment operator Parser &operator=(const Parser&); }; } #endif // Jzon_h__ exiv2-0.25/samples/iptctest.cpp0000664000175000017500000001245311411621067016326 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* Abstract : Sample program test the Iptc reading and writing. This is not designed to be a robust application. File : iptctest.cpp Version : $Rev: 2286 $ Author(s): Brad Schick (brad) History : 01-Aug-04, brad: created */ // ***************************************************************************** // included header files #include #include #include #include using namespace Exiv2; bool processLine(const std::string& line, int num, IptcData &iptcData); void processAdd(const std::string& line, int num, IptcData &iptcData); void processRemove(const std::string& line, int num, IptcData &iptcData); void processModify(const std::string& line, int num, IptcData &iptcData); // ***************************************************************************** // Main int main(int argc, char* const argv[]) { try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " image\n"; std::cout << "Commands read from stdin.\n"; return 1; } Image::AutoPtr image = ImageFactory::open(argv[1]); assert (image.get() != 0); image->readMetadata(); // Process commands std::string line; int num = 0; std::getline(std::cin, line); while (line.length() && processLine(line, ++num, image->iptcData())) { std::getline(std::cin, line); } // Save any changes image->writeMetadata(); return 0; } catch (AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } } bool processLine(const std::string& line, int num, IptcData &iptcData) { switch (line.at(0)) { case 'a': case 'A': processAdd(line, num, iptcData); break; case 'r': case 'R': processRemove(line, num, iptcData); break; case 'm': case 'M': processModify(line, num, iptcData); break; case 'q': case 'Q': return false; default: std::ostringstream os; os << "Unknown command (" << line.at(0) << ") at line " << num; throw Error(1, os.str()); } return true; } void processAdd(const std::string& line, int num, IptcData &iptcData) { std::string::size_type keyStart = line.find_first_not_of(" \t", 1); std::string::size_type keyEnd = line.find_first_of(" \t", keyStart+1); std::string::size_type dataStart = line.find_first_not_of(" \t", keyEnd+1); if (keyStart == std::string::npos || keyEnd == std::string::npos || dataStart == std::string::npos) { std::ostringstream os; os << "Invalid \'a\' command at line " << num; throw Error(1, os.str()); } std::string key(line.substr(keyStart, keyEnd-keyStart)); IptcKey iptcKey(key); std::string data(line.substr(dataStart)); // if data starts and ends with quotes, remove them if (data.at(0) == '\"' && data.at(data.size()-1) == '\"') { data = data.substr(1, data.size()-2); } TypeId type = IptcDataSets::dataSetType(iptcKey.tag(), iptcKey.record()); Value::AutoPtr value = Value::create(type); value->read(data); int rc = iptcData.add(iptcKey, value.get()); if (rc) { throw Error(1, "Iptc dataset already exists and is not repeatable"); } } void processRemove(const std::string& line, int num, IptcData &iptcData) { std::string::size_type keyStart = line.find_first_not_of(" \t", 1); if (keyStart == std::string::npos) { std::ostringstream os; os << "Invalid \'r\' command at line " << num; throw Error(1, os.str()); } const std::string key( line.substr(keyStart) ); IptcKey iptcKey(key); IptcData::iterator iter = iptcData.findKey(iptcKey); if (iter != iptcData.end()) { iptcData.erase(iter); } } void processModify(const std::string& line, int num, IptcData &iptcData) { std::string::size_type keyStart = line.find_first_not_of(" \t", 1); std::string::size_type keyEnd = line.find_first_of(" \t", keyStart+1); std::string::size_type dataStart = line.find_first_not_of(" \t", keyEnd+1); if (keyStart == std::string::npos || keyEnd == std::string::npos || dataStart == std::string::npos) { std::ostringstream os; os << "Invalid \'m\' command at line " << num; throw Error(1, os.str()); } std::string key(line.substr(keyStart, keyEnd-keyStart)); IptcKey iptcKey(key); std::string data(line.substr(dataStart)); // if data starts and ends with quotes, remove them if (data.at(0) == '\"' && data.at(data.size()-1) == '\"') { data = data.substr(1, data.size()-2); } TypeId type = IptcDataSets::dataSetType(iptcKey.tag(), iptcKey.record()); Value::AutoPtr value = Value::create(type); value->read(data); IptcData::iterator iter = iptcData.findKey(iptcKey); if (iter != iptcData.end()) { iter->setValue(value.get()); } else { int rc = iptcData.add(iptcKey, value.get()); if (rc) { throw Error(1, "Iptc dataset already exists and is not repeatable"); } } } exiv2-0.25/samples/stringto-test.cpp0000664000175000017500000000326612173660260017323 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // stringto-test.cpp, $Rev: 3090 $ // Test conversions from string to long, float and Rational types. #include #include #include const char* testcases[] = { // bool "True", "False", "t", "f", // long "-1", "0", "1", // float "0.0", "0.1", "0.01", "0.001", "-1.49999", "-1.5", "1.49999", "1.5", // Rational "0/1", "1/1", "1/3", "-1/3", "4/3", "-4/3", "0/0", // nok "text" }; int main() { std::cout << std::setfill(' '); std::cout << std::setw(12) << std::left << "string"; std::cout << std::setw(12) << std::left << "long"; std::cout << std::setw(12) << std::left << "float"; std::cout << std::setw(12) << std::left << "Rational"; std::cout << std::endl; for (unsigned int i = 0; i < EXV_COUNTOF(testcases); ++i) try { std::string s(testcases[i]); std::cout << std::setw(12) << std::left << s; bool ok; long l = Exiv2::parseLong(s, ok); std::cout << std::setw(12) << std::left; if (ok) std::cout << l; else std::cout << "nok"; float f = Exiv2::parseFloat(s, ok); std::cout << std::setw(12) << std::left; if (ok) std::cout << f; else std::cout << "nok"; Exiv2::Rational r = Exiv2::parseRational(s, ok); if (ok) std::cout << r.first << "/" << r.second; else std::cout << "nok"; std::cout << std::endl; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } return 0; } exiv2-0.25/samples/taglist.cpp0000664000175000017500000000333212224266756016147 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* Abstract: Print a simple comma separated list of tags defined in Exiv2 File: taglist.cpp Version: $Rev: 3189 $ Author(s): Andreas Huggel (ahu) History: 07-Jan-04, ahu: created */ // ***************************************************************************** #include #include #include using namespace Exiv2; int main(int argc, char* argv[]) try { int rc = 0; switch (argc) { case 2: { std::string item(argv[1]); if (item == "Exif") { ExifTags::taglist(std::cout); break; } if (item == "Iptc") { IptcDataSets::dataSetList(std::cout); break; } if (ExifTags::isExifGroup(item) || ExifTags::isMakerGroup(item)) { ExifTags::taglist(std::cout, item); break; } try { XmpProperties::printProperties(std::cout, item); } catch(const AnyError&) { rc = 2; } break; } case 1: ExifTags::taglist(std::cout); break; default: rc = 1; break; } if (rc) { std::cout << "Usage: " << argv[0] << " [Exif|Canon|CanonCs|CanonSi|CanonCf|Fujifilm|Minolta|Nikon1|Nikon2|Nikon3|Olympus|Panasonic|Pentax|Sigma|Sony|Iptc" << "|dc|xmp|xmpRights|xmpMM|xmpBJ|xmpTPg|xmpDM|pdf|photoshop|crs|tiff|exif|aux|iptc]\n" << "Print Exif tags, MakerNote tags, or Iptc datasets\n"; } return rc; } catch (AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return 1; } exiv2-0.25/samples/easyaccess-test.cpp0000664000175000017500000000514612173660260017574 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // easyaccess-test.cpp, $Rev: 3090 $ // Sample program using high-level metadata access functions // included header files #include #include #include #include typedef Exiv2::ExifData::const_iterator (*EasyAccessFct)(const Exiv2::ExifData& ed); struct EasyAccess { const char* label_; EasyAccessFct findFct_; }; static const EasyAccess easyAccess[] = { { "Orientation", Exiv2::orientation }, { "ISO speed", Exiv2::isoSpeed }, { "Flash bias", Exiv2::flashBias }, { "Exposure mode", Exiv2::exposureMode }, { "Scene mode", Exiv2::sceneMode }, { "Macro mode", Exiv2::macroMode }, { "Image quality", Exiv2::imageQuality }, { "White balance", Exiv2::whiteBalance }, { "Lens name", Exiv2::lensName }, { "Saturation", Exiv2::saturation }, { "Sharpness", Exiv2::sharpness }, { "Contrast", Exiv2::contrast }, { "Scene capture type", Exiv2::sceneCaptureType }, { "Metering mode", Exiv2::meteringMode }, { "Camera make", Exiv2::make }, { "Camera model", Exiv2::model }, { "Exposure time", Exiv2::exposureTime }, { "FNumber", Exiv2::fNumber }, { "Subject distance", Exiv2::subjectDistance }, { "Camera serial number", Exiv2::serialNumber }, { "Focal length", Exiv2::focalLength }, { "AF point", Exiv2::afPoint } }; int main(int argc, char **argv) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(argv[1]); assert (image.get() != 0); image->readMetadata(); Exiv2::ExifData& ed = image->exifData(); for (unsigned int i = 0; i < EXV_COUNTOF(easyAccess); ++i) { Exiv2::ExifData::const_iterator pos = easyAccess[i].findFct_(ed); std::cout << std::setw(20) << std::left << easyAccess[i].label_; if (pos != ed.end()) { std::cout << " (" << std::setw(35) << pos->key() << ") : " << pos->print(&ed) << "\n"; } else { std::cout << " (" << std::setw(35) << " " << ") : \n"; } } return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } exiv2-0.25/samples/iptcprint.cpp0000664000175000017500000000303612173660260016504 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // iptcprint.cpp, $Rev: 3090 $ // Sample program to print the IPTC metadata of an image #include #include #include #include int main(int argc, char* const argv[]) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(argv[1]); assert (image.get() != 0); image->readMetadata(); Exiv2::IptcData &iptcData = image->iptcData(); if (iptcData.empty()) { std::string error(argv[1]); error += ": No IPTC data found in the file"; throw Exiv2::Error(1, error); } Exiv2::IptcData::iterator end = iptcData.end(); for (Exiv2::IptcData::iterator md = iptcData.begin(); md != end; ++md) { std::cout << std::setw(44) << std::setfill(' ') << std::left << md->key() << " " << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << md->tag() << " " << std::setw(9) << std::setfill(' ') << std::left << md->typeName() << " " << std::dec << std::setw(3) << std::setfill(' ') << std::right << md->count() << " " << std::dec << md->value() << std::endl; } return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } exiv2-0.25/samples/metacopy.cpp0000664000175000017500000001310212521135474016305 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* Abstract : Tester application for image file handling File : metacopy.cpp Version : $Rev: 3777 $ Author(s): Brad Schick (brad) History : 13-Jul-04, brad: created */ // ***************************************************************************** // included header files #include #include #include #include #include "utils.hpp" #include "metacopy.hpp" // ***************************************************************************** // Main int main(int argc, char* const argv[]) { try { // Handle command line arguments Params params; if (params.getopt(argc, argv)) { params.usage(); return 1; } if (params.help_) { params.help(); return 2; } // Use MemIo to increase test coverage. Exiv2::BasicIo::AutoPtr fileIo(new Exiv2::FileIo(params.read_)); Exiv2::BasicIo::AutoPtr memIo(new Exiv2::MemIo); memIo->transfer(*fileIo); Exiv2::Image::AutoPtr readImg = Exiv2::ImageFactory::open(memIo); assert(readImg.get() != 0); readImg->readMetadata(); Exiv2::Image::AutoPtr writeImg = Exiv2::ImageFactory::open(params.write_); assert(writeImg.get() != 0); if (params.preserve_) writeImg->readMetadata(); if (params.iptc_) { writeImg->setIptcData(readImg->iptcData()); } if (params.exif_) { writeImg->setExifData(readImg->exifData()); } if (params.comment_) { writeImg->setComment(readImg->comment()); } if (params.xmp_) { writeImg->setXmpData(readImg->xmpData()); } try { writeImg->writeMetadata(); } catch (const Exiv2::AnyError&) { std::cerr << params.progname() << ": Could not write metadata to (" << params.write_ << ")\n"; return 8; } return 0; } catch (Exiv2::AnyError& e) { std::cerr << "Caught Exiv2 exception '" << e << "'\n"; return 10; } } int Params::option(int opt, const std::string& /*optarg*/, int optopt) { int rc = 0; switch (opt) { case 'h': help_ = true; break; case 'i': iptc_ = true; break; case 'e': exif_ = true; break; case 'c': comment_ = true; break; case 'x': xmp_ = true; break; case 'p': preserve_ = true; break; case 'a': iptc_ =true; exif_ =true; comment_ =true; xmp_ =true; break; case ':': std::cerr << progname() << ": Option -" << static_cast(optopt) << " requires an argument\n"; rc = 1; break; case '?': std::cerr << progname() << ": Unrecognized option -" << static_cast(optopt) << "\n"; rc = 1; break; default: std::cerr << progname() << ": getopt returned unexpected character code " << std::hex << opt << "\n"; rc = 1; break; } return rc; } int Params::nonoption(const std::string& argv) { if (!write_.empty()) { std::cerr << progname() << ": Unexpected extra argument (" << argv << ")\n"; return 1; } if (first_) read_ = argv; else write_ = argv; first_ = false; return 0; } int Params::getopt(int argc, char* const argv[]) { int rc = Util::Getopt::getopt(argc, argv, optstring_); // Further consistency checks if (help_==false) { if (rc==0 && read_.empty() ) { std::cerr << progname() << ": Read and write files must be specified\n"; rc = 1; } if (rc==0 && write_.empty() ) { std::cerr << progname() << ": Write file must be specified\n"; rc = 1; } if (preserve_ && iptc_ && exif_ && comment_ && xmp_ ) { std::cerr << progname() << ": Option -p has no effect when all metadata types are specified.\n"; rc = 1; } } return rc; } // Params::getopt void Params::usage(std::ostream& os) const { os << "\nReads and writes raw metadata. Use -h option for help.\n" << "Usage: " << progname() << " [-iecaph] readfile writefile\n"; } void Params::help(std::ostream& os) const { usage(os); os << "\nOptions:\n" << " -i Read Iptc data from readfile and write to writefile.\n" << " -e Read Exif data from readfile and write to writefile.\n" << " -c Read Jpeg comment from readfile and write to writefile.\n" << " -x Read XMP data from readfile and write to writefile.\n" << " -a Read all metadata from readfile and write to writefile.\n" << " -p Preserve existing metadata in writefile if not replaced.\n" << " -h Display this help and exit.\n\n"; } // Params::help exiv2-0.25/samples/key-test.cpp0000664000175000017500000001156511445366253016251 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* Abstract : Key unit tests File : key-test.cpp Version : $Rev: 2348 $ Author(s): Andreas Huggel (ahu) History : 24-Aug-04, ahu: created */ // ***************************************************************************** // included header files #include #include #include #include using namespace Exiv2; int main() { int tc = 0; int rc = 0; std::string key("Exif.Iop.InteroperabilityVersion"); ExifKey ek(key); // operator<< tc += 1; std::ostringstream os; os << ek; if (os.str() != key) { std::cout << "Testcase failed (operator<<)" << std::endl; rc += 1; } // familyName tc += 1; if (std::string(ek.familyName()) != "Exif") { std::cout << "Testcase failed (familyName)" << std::endl; rc += 1; } // groupName tc += 1; if (ek.groupName() != "Iop") { std::cout << "Testcase failed (groupName)" << std::endl; rc += 1; } // tagName tc += 1; if (ek.tagName() != "InteroperabilityVersion") { std::cout << "Testcase failed (tagName)" << std::endl; rc += 1; } // tagName tc += 1; if (ek.tag() != 0x0002) { std::cout << "Testcase failed (tag)" << std::endl; rc += 1; } // ifdName tc += 1; if (std::string(ExifTags::ifdName(ek.groupName())) != "Iop") { std::cout << "Testcase failed (ifdName: " << std::endl; rc += 1; } // sectionName tc += 1; if (strcmp(ExifTags::sectionName(ek), "Interoperability") != 0) { std::cout << "Testcase failed (sectionName)" << std::endl; rc += 1; } // ----- // Copy constructor ExifKey ek2(ek); // operator<< tc += 1; std::ostringstream os2; os2 << ek2; if (os2.str() != key) { std::cout << "Testcase failed (operator<<)" << std::endl; rc += 1; } // familyName tc += 1; if (std::string(ek2.familyName()) != "Exif") { std::cout << "Testcase failed (familyName)" << std::endl; rc += 1; } // groupName tc += 1; if (ek2.groupName() != "Iop") { std::cout << "Testcase failed (groupName)" << std::endl; rc += 1; } // tagName tc += 1; if (ek2.tagName() != "InteroperabilityVersion") { std::cout << "Testcase failed (tagName)" << std::endl; rc += 1; } // tagName tc += 1; if (ek2.tag() != 0x0002) { std::cout << "Testcase failed (tag)" << std::endl; rc += 1; } // ifdName tc += 1; if (std::string(ExifTags::ifdName(ek2.groupName())) != "Iop") { std::cout << "Testcase failed (ifdName: " << std::endl; rc += 1; } // sectionName tc += 1; if (strcmp(ExifTags::sectionName(ek2), "Interoperability") != 0) { std::cout << "Testcase failed (sectionName)" << std::endl; rc += 1; } // ----- ExifKey ek4("Exif.Image.0x0110"); tc += 1; if (ek4.key() != "Exif.Image.Model") { std::cout << "Testcase failed (converted key)" << std::endl; rc += 1; } tc += 1; if (ek4.tagName() != "Model") { std::cout << "Testcase failed (converted tagName)" << std::endl; rc += 1; } // ----- ExifKey ek5("Exif.Nikon3.0x0007"); tc += 1; if (ek5.key() != "Exif.Nikon3.Focus") { std::cout << "Testcase failed (converted key)" << std::endl; rc += 1; } tc += 1; if (ek5.tagName() != "Focus") { std::cout << "Testcase failed (converted tagName)" << std::endl; rc += 1; } // ----- IptcKey ik1("Iptc.Envelope.0x0005"); tc += 1; if (ik1.key() != "Iptc.Envelope.Destination") { std::cout << "Testcase failed (converted Iptc key)" << std::endl; rc += 1; } tc += 1; if (ik1.tagName() != "Destination") { std::cout << "Testcase failed (converted tagName)" << std::endl; rc += 1; } tc += 1; if (ik1.recordName() != "Envelope") { std::cout << "Testcase failed (converted recordName)" << std::endl; rc += 1; } // ----- IptcKey ik2(0xabcd, 0x1234); tc += 1; if (ik2.key() != "Iptc.0x1234.0xabcd") { std::cout << "Testcase failed (unknown Iptc key)" << std::endl; rc += 1; } tc += 1; if (ik2.tagName() != "0xabcd") { std::cout << "Testcase failed (converted tagName)" << std::endl; rc += 1; } tc += 1; if (ik2.recordName() != "0x1234") { std::cout << "Testcase failed (converted recordName)" << std::endl; rc += 1; } // ----- if (rc == 0) { std::cout << "All " << tc << " testcases passed." << std::endl; } else { std::cout << rc << " of " << tc << " testcases failed." << std::endl; } } exiv2-0.25/samples/CMakeLists.txt0000664000175000017500000000560412537242563016535 0ustar andreasandreas# CMake build system for exiv2 library and executables # Copyright 2012- Robin Mills # Copyright 2010-2012 Gilles Caulier # Copyright 2008 Patrick Spendrin # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. if ( NOT MSVC ) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) endif() if (MSVC) include(../CMake_msvc.txt) msvc_runtime_configure(${EXIV2_ENABLE_SHARED}) # include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/../include ${CMAKE_CURRENT_SOURCE_DIR}/../msvc64/include ) if ( NOT EXIV2_ENABLE_SHARED ) # link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../zlib-1.2.7/$(ConfigurationName)) endif() endif() include_directories("${CMAKE_SOURCE_DIR}/include" "${CMAKE_SOURCE_DIR}/src") SET( SAMPLES addmoddel.cpp convert-test.cpp easyaccess-test.cpp exifcomment.cpp exifdata-test.cpp exifdata.cpp exifprint.cpp exifvalue.cpp geotag.cpp iotest.cpp iptceasy.cpp iptcprint.cpp iptctest.cpp key-test.cpp largeiptc-test.cpp mmap-test.cpp prevtest.cpp stringto-test.cpp taglist.cpp tiff-test.cpp werror-test.cpp write-test.cpp write2-test.cpp xmpparse.cpp xmpparser-test.cpp xmpsample.cpp ) FOREACH(entry ${SAMPLES}) STRING( REPLACE ".cpp" "" target ${entry}) ADD_EXECUTABLE( ${target} ${target}.cpp ) ADD_TEST( ${target}_test ${target} ) TARGET_LINK_LIBRARIES( ${target} exiv2lib ) #INSTALL( TARGETS ${target} ${INSTALL_TARGET_STANDARD_ARGS} ) ENDFOREACH(entry ${SAMPLES}) ################################### # metacopy/path-test sample applications require utils.cpp support IF( MSVC ) SET( PATHTEST_SRC ${PATHTEST_SRC} ../src/getopt_win32.c ) SET( MC_SRC ${MC_SRC} ../src/getopt_win32.c ) ENDIF( MSVC ) SET( MC_SRC ${MC_SRC} metacopy.cpp ../src/utils.cpp ) ADD_EXECUTABLE( metacopy ${MC_SRC} ) TARGET_LINK_LIBRARIES( metacopy exiv2lib ) INSTALL( TARGETS metacopy ${INSTALL_TARGET_STANDARD_ARGS} ) SET( PATHTEST_SRC ${PATHTEST_SRC} path-test.cpp ../src/utils.cpp ) ADD_EXECUTABLE( pathtest ${PATHTEST_SRC} ) SET_TARGET_PROPERTIES( pathtest PROPERTIES OUTPUT_NAME path-test ) TARGET_LINK_LIBRARIES( pathtest exiv2lib ) INSTALL( TARGETS pathtest ${INSTALL_TARGET_STANDARD_ARGS} ) SET( EXIV2JSON_SRC exiv2json.cpp Jzon.cpp ) ADD_EXECUTABLE( exiv2json ${EXIV2JSON_SRC} ) SET_TARGET_PROPERTIES( exiv2json PROPERTIES OUTPUT_NAME exiv2json ) TARGET_LINK_LIBRARIES( exiv2json exiv2lib ) INSTALL( TARGETS exiv2json ${INSTALL_TARGET_STANDARD_ARGS} ) # That's all Folks! ## exiv2-0.25/samples/exifdata.cpp0000664000175000017500000001273312504576267016274 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // exifdata.cpp, $Rev: 3090 $ // Sample program to format exif data in various external formats #include #include #include #include #include typedef std::map format_t; typedef format_t::const_iterator format_i; typedef enum { wolf , csv , json , xml } format_e; void syntax(const char* argv[],format_t& formats) { std::cout << "Usage: " << argv[0] << " file format" << std::endl; int count = 0; std::cout << "formats: "; for ( format_i i = formats.begin() ; i != formats.end() ; i++ ) { std::cout << ( count++ ? " | " : "") << i->first ; } std::cout << std::endl; } size_t formatInit(Exiv2::ExifData& exifData) { size_t result = 0; for (Exiv2::ExifData::const_iterator i = exifData.begin(); i != exifData.end() ; ++i) { result ++ ; } return result ; } /////////////////////////////////////////////////////////////////////// std::string escapeCSV(Exiv2::ExifData::const_iterator it,bool bValue) { std::string result ; std::ostringstream os; if ( bValue ) os << it->value() ; else os << it->key() ; std::string s = os.str(); for ( size_t i = 0 ;i < s.length() ; i ++ ) { if ( s[i] == ',' ) result += '\\'; result += s[i]; } return result ; } std::string formatCSV(Exiv2::ExifData& exifData) { size_t count = 0; size_t length = formatInit(exifData); std::ostringstream result; for (Exiv2::ExifData::const_iterator i = exifData.begin(); count++ < length; ++i) { result << escapeCSV(i,false) << (count != length ? ", " : "" ) ; } result << std::endl; count = 0; for (Exiv2::ExifData::const_iterator i = exifData.begin(); count++ < length ; ++i) { result << escapeCSV(i,true) << (count != length ? ", " : "" ) ; } return result.str(); } /////////////////////////////////////////////////////////////////////// std::string formatWolf(Exiv2::ExifData& exifData) { size_t count = 0; size_t length = formatInit(exifData); std::ostringstream result; result << "{ " << std::endl; for (Exiv2::ExifData::const_iterator i = exifData.begin(); count++ < length ; ++i) { result << " " << i->key() << " -> " << i->value() << (count != length ? "," : "" ) << std::endl ; } result << "}"; return result.str(); } /////////////////////////////////////////////////////////////////////// std::string escapeJSON(Exiv2::ExifData::const_iterator it,bool bValue=true) { std::string result ; std::ostringstream os; if ( bValue ) os << it->value() ; else os << it->key() ; std::string s = os.str(); for ( size_t i = 0 ;i < s.length() ; i ++ ) { if ( s[i] == '"' ) result += "\\\""; result += s[i]; } std::string q = "\""; return q + result + q ; } std::string formatJSON(Exiv2::ExifData& exifData) { size_t count = 0; size_t length = formatInit(exifData); std::ostringstream result; result << "{" << std::endl ; for (Exiv2::ExifData::const_iterator i = exifData.begin(); count++ < length ; ++i) { result << " " << escapeJSON(i,false) << ":" << escapeJSON(i,true) << ( count != length ? "," : "" ) << std::endl ; } result << "}"; return result.str(); } /////////////////////////////////////////////////////////////////////// std::string escapeXML(Exiv2::ExifData::const_iterator it,bool bValue=true) { std::string result ; std::ostringstream os; if ( bValue ) os << it->value() ; else os << it->key() ; std::string s = os.str(); for ( size_t i = 0 ;i < s.length() ; i ++ ) { if ( s[i] == '<' ) result += "≶"; if ( s[i] == '>' ) result += ">"; result += s[i]; } return result ; } std::string formatXML(Exiv2::ExifData& exifData) { size_t count = 0; size_t length = formatInit(exifData); std::ostringstream result; result << "" << std::endl; for (Exiv2::ExifData::const_iterator i = exifData.begin(); count++ < length ; ++i) { std::string key = escapeXML(i,false); std::string value = escapeXML(i,true); result << " <" << key << ">" << value << "<" << key << "/>" << std::endl ; } result << "" << std::endl; return result.str(); } /////////////////////////////////////////////////////////////////////// int main(int argc,const char* argv[]) { format_t formats; formats["wolf"] = wolf; formats["csv" ] = csv ; formats["json"] = json; formats["xml" ] = xml ; int result = 0 ; if (argc != 3) { syntax(argv,formats) ; result = 1; } const char* file = argv[1]; const char* format = argv[2]; if ( !result && formats.find(format) == formats.end() ) { std::cout << "Unrecognised format " << format << std::endl; syntax(argv,formats); result = 2; } if ( !result ) try { Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(file); assert(image.get() != 0); image->readMetadata(); Exiv2::ExifData &exifData = image->exifData(); switch ( formats.find(format)->second ) { case wolf : std::cout << formatWolf(exifData) << std::endl; break; case csv : std::cout << formatCSV (exifData) << std::endl; break; case json : std::cout << formatJSON(exifData) << std::endl; break; case xml : std::cout << formatXML (exifData) << std::endl; break; default : std::cout << "*** error: format not implemented yet: " << format << " ***" << std::endl; result = 3; break; } } catch (Exiv2::AnyError& e) { std::cerr << "*** error exiv2 exception '" << e << "' ***" << std::endl; result = 4; } catch ( ... ) { std::cerr << "*** error exception" << std::endl; result = 5; } return result; } exiv2-0.25/samples/metacopy.hpp0000664000175000017500000000576212521135474016327 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file metacopy.hpp @brief Defines class Params, used for the command line handling @version $Rev: 3777 $ @author Brad Schick (brad) @date 13-Jul-04, brad: created */ #ifndef METACOPY_HPP_ #define METACOPY_HPP_ class Params : public Util::Getopt { private: std::string optstring_; bool first_; public: bool help_; //!< Help option flag. bool iptc_; //!< Iptc option flag. bool exif_; //!< Exif option flag. bool comment_; //!< JPEG comment option flag. bool xmp_; //!< XMP option flag. bool preserve_; //!< Preserve existing metadata option flag. std::string read_; //!< Source file std::string write_; //!< Destination file public: /*! @brief Default constructor. Note that optstring_ is initialized here. */ Params() : optstring_(":iecaph"), first_(true), help_(false), iptc_(false), exif_(false), comment_(false), xmp_(false), preserve_(false) {} /*! @brief Call Getopt::getopt() with optstring, to initiate command line argument parsing, perform consistency checks after all command line arguments are parsed. @param argc Argument count as passed to main() on program invocation. @param argv Argument array as passed to main() on program invocation. @return 0 if successful, >0 in case of errors. */ int getopt(int argc, char* const argv[]); //! Handle options and their arguments. virtual int option(int opt, const std::string& optarg, int optopt); //! Handle non-option parameters. virtual int nonoption(const std::string& argv); //! Print a minimal usage note to an output stream. void usage(std::ostream& os =std::cout) const; //! Print further usage explanations to an output stream. void help(std::ostream& os =std::cout) const; }; // class Params #endif // METACOPY_HPP_ exiv2-0.25/README-CMAKE0000664000175000017500000002113212473447425014024 0ustar andreasandreas------------------------------------------------------------------------------- NOTE: * CMake scripts are "work in progress". Use them only if you're prepared to fix them. See TODO-CMAKE for known pending tasks. * The existing automake (./configure), msvc2003 and msvc2005 build files will continue to be supported by exiv2 until at least v0.26. We will flag them as "deprecated" for at least one release cycle (about 12 months). Our plan is to only support CMake when our scripts are feature-complete, stable and documented. All help is appreciated. If you know and understand CMake (especially with Visual Studio) please consider contributing your time and skill to help Exiv2 and CMake work well together. Robin Mills robin@clanmills.com 2015-02-23 ------------------------------------------------------------------------------- Exiv2 uses cmake, a cross-platform build system, to control the compilation process using platform/compiler independent configuration files. TABLE OF CONTENTS ----------------- 1 CMake resources 2 Building and Installing for Unix type systems 3 Building and Installing for Visual Studio Users 4 Building and Installing for other users (Xcode, Eclipse, Qt) 1 CMake resources ================= You have to install cmake on your target system. Home: http://www.cmake.org/ Help: http://www.cmake.org/cmake/help/help.html Doc: http://www.cmake.org/cmake/help/documentation.html Wiki: http://www.cmake.org/Wiki/CMake FAQ: http://www.cmake.org/Wiki/CMake_FAQ 2 Building and Installing on Linux ================================== This process also covers MacOS-X Terminal, Cygwin and MinGW users. a) From the command line Run the following commands from the top directory (containing this file) to configure, build and install the library and utility: $ mkdir build $ cd build $ cmake .. $ make $ make install To modify the configuration $ ccmake .. Usual CMake options : -DCMAKE_INSTALL_PREFIX : decide where the program will be install on your computer. -DCMAKE_BUILD_TYPE : decide which type of build you want. You can chose between: "debugfull". : for hacking. Include all debug information. "debug". "profile". "relwithdebinfo" : default. use gcc -O2 -g options. "release" : generate stripped and optimized bin files. For packaging. Specific Exiv2 options : -DEXIV2_ENABLE_SHARED : Build exiv2 as a shared library (dll). [default=on ] -DEXIV2_ENABLE_XMP : Build with XMP metadata support. [default=on ] -DEXIV2_ENABLE_LIBXMP : Build a static convenience Library for XMP. [default=on ] -DEXIV2_ENABLE_PNG : Build with png support (requires libz). [default=on ] -DEXIV2_ENABLE_NLS : Build native language support (requires gettext). [default=on ] -DEXIV2_ENABLE_PRINTUCS2 : Build with Printucs2. [default=on ] -DEXIV2_ENABLE_LENSDATA : Build including lens data. [default=on ] -DEXIV2_ENABLE_COMMERCIAL : Build with the EXV_COMMERCIAL_VERSION symbol set. [default=off] -DEXIV2_ENABLE_BUILD_SAMPLES : Build the unit tests. [default=off] -DEXIV2_ENABLE_BUILD_PO : Build translations files. [default=off] -DEXIV2_ENABLE_CURL : USE Libcurl for HttpIo [default=off] -DEXIV2_ENABLE_SSH : USE Libssh for SshIo [default=off] Default install locations Use -DCMAKE_INSTALL_PREFIX like this : "cmake . -DCMAKE_INSTALL_PREFIX=/usr" is equivalent to "./configure --prefix=/usr" with automake/configure. To uninstall Exiv2, run: $ make uninstall b) Using the cmake GUI ccmake 3 Building and installing for DevStudio Users ============================================= exiv2 provides three build environment for users of Visual Studio: msvc2003: 32 bit build environment for MSVC 2003 msvc2005: 32 bit AND 64 bit build environment for MSVC 2005 and later (2008/10/12/13) cmake: This environment CMake doesn't build code. It generates build environments. CMake is a language for describing builds and the CMake interpreter generates the build environment for your system. CMake generates MSVC .sln and .vcproj files for your target environment. The files generated by CMake provide 4 configs: Debug|Release|RelWithDebInfo|MinSizeRel The current architecture of CMake requires you to decide before running cmake: 1) The version of DevStudio 2) 32bit or 64 bit builds 3) Building static or shared libraries Code FileSystem Layout ---------------------- I set up my environment as follows: Directory of C:\gnu.cmake 2012-05-31 09:49 exiv2 | Vanilla 2012-05-31 09:45 expat-2.1.0 | source 2012-05-30 16:22 zlib-1.2.7 | trees The command to run cmake is of the form: cmake CMakeLists.txt -G "Visual Studio 9 2008 Win64" There are many options for the cmake command, and many generators. I've added a little batch file cm.bat for my convenience. c:\> cm 2008 64 == cmake CMakeLists.txt -G "Visual Studio 9 2008 Win64" Building from source -------------------- There are 3 steps (build zlib/expat, build exiv2, test). You can skip step 1 if you have prebuilt libraries (see note below) 1) Building the support libraries expat and zlib with cmake cd expat-2.1.0 If you wish to use a static library (shared is default) a) set expat-2.1.0/CMakeLists.txt static option(BUILD_shared "build a shared expat library" ON) <------- Set OFF b) You'll need the following patch (around line 23) See "Note about expat-2.1.0/CMakeLists.txt" --- extract from CMakeLists.txt --- option(XML_NS "Define to make XML Namespaces functionality available" ON) # rmills patch begin include(../exiv2/CMake_msvc.txt) msvc_runtime_configure(${BUILD_shared}) # rmills patch end if(XML_DTD) --- extract end --- cmake CMakeLists.txt -G "Visual Studio 9 2008 Win64" .... rattle roll .... Open expat.sln and build all. Similar process for zlib-1.2.7 You will not need to edit CMakeLists.txt (zlib builds shared and dynamic libraries) cmake CMakeLists.txt -G "Visual Studio 9 2008 Win64" .... rattle roll .... Open zlib.sln and build all. 2) Building exiv2 CMake recommend building "out of source" which means building in a clean directory BELOW the source tree: eg cd exiv2 Edit CMakeLists.txt to specify shared or static library (and other options) You may need to change the path to expat and zlib to match your setup mkdir build cd build cmake -G "Visual Studio 9 2008 Win64" .. ... rattle roll ... Open build/exiv2.sln and build all. 3) Location of built files (exiv2.exe, exiv2.dll etc) exiv2\build\bin\{ x64 | Win32 }\{ Dynamic|Static }\{Config}\exiv2.exe etc.... Config: Debug | MinSizeRel | Release | RelWithDebInfo The test suite is a bash script and requires Cygwin. cd /c/gnu/exiv2/test ./testMSVC.sh ${PWD}/../build/bin/x64/Dynamic/Release or ./testMSVC.sh ${PWD}/../build/bin/x64/Dynamic/ | tee foo.txt ./verifyMSVC foo.txt Note about expat-2.1.0/CMakeLists.txt ------------------------------------- expat-2.1.0/CMakeLists.txt can build static or dynamic libraries. However expat's CMakeLists.txt links with MSVCRTx.dll for both static and dynamic. I've taken a decision to either link "All static" or "All dynamic" with no mixing. This patch enforces my design and avoids linker headaches. Note about using prebuilt zlib, expat and iconv ----------------------------------------------- I expect you to setup the source build tree and build expat and zlib. However you may wish to use prebuilt versions of zlib, iconv and expat. Specify the location of the prebuilt libraries on the cmake command line: For example: cmake -G "NMake Makefiles" .. -DEXPAT_LIBRARY=%KDE4_INSTALL_DIR%/lib/libexpat.lib Daniel has provided a patch (SVN:2893) which enables you to specify a ZLIB search path: Example: cmake.exe -G "Visual Studio 11 Win64" -DZLIB_ROOT=..\zlib-1.2.7-dev;..\zlib-1.2.7-dev\Release ... If ZLIB is not located on the path provided, the normal default (..\zlib-1.2.7) will be used. ToDo: More information about parameters -DEXPAT_LIBRARTY -DZLIB_LIBRARY etc. 4 Building and Installing for other users (Xcode, Eclipse, Qt) ============================================================== To be written # That's all Folks ## exiv2-0.25/po/0000775000175000017500000000000012541550116012731 5ustar andreasandreasexiv2-0.25/po/sk.po0000664000175000017500000244216612540520175013726 0ustar andreasandreas# translation of exiv2 to Slovak # Copyright (C) 2008-2015 Andreas Huggel # This file is distributed under the same license as the exiv2 package. # Ivan Masár , 2008. # msgid "" msgstr "" "Project-Id-Version: exiv2\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: 2008-11-18 14:54+0100\n" "Last-Translator: Ivan Masár \n" "Language-Team: Slovak \n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Poedit-Language: Slovak\n" "X-Poedit-Country: SLOVAKIA\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 msgid "Failed to open the file\n" msgstr "Nepodarilo sa otvoriť súbor\n" #: src/actions.cpp:282 msgid "File name" msgstr "Názov súboru" #: src/actions.cpp:288 msgid "File size" msgstr "Veľkosť súboru" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "bajtov" #: src/actions.cpp:293 msgid "MIME type" msgstr "MIME typ" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 msgid "Image size" msgstr "Veľkosť obrázka" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 msgid "No Exif data found in the file\n" msgstr "V súbore neboli nájdené žiadne EXIF údaje\n" #: src/actions.cpp:307 msgid "Camera make" msgstr "Zmačka fotoaparátu" #: src/actions.cpp:310 msgid "Camera model" msgstr "Model fotoaparátu" #: src/actions.cpp:313 msgid "Image timestamp" msgstr "Časová známka obrázka" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 msgid "Image number" msgstr "Číslo obrázka" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 msgid "Exposure time" msgstr "Čas expozície" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 msgid "Aperture" msgstr "Clona" #: src/actions.cpp:345 msgid "Exposure bias" msgstr "Skreslenie expozície" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 msgid "Flash" msgstr "Blesk" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 msgid "Flash bias" msgstr "Skreslenie blesku" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 msgid "Focal length" msgstr "Ohnisková vzdialenosť" #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr "ekvivalent 35 mm" # exif-subjectdistance #: src/actions.cpp:373 msgid "Subject distance" msgstr "vzdialenosť subjektu" #: src/actions.cpp:387 msgid "ISO speed" msgstr "ISO rýchlosť" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 msgid "Exposure mode" msgstr "Režim expozície" # exif-meteringmode #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 msgid "Metering mode" msgstr "merací režim" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 msgid "Macro mode" msgstr "režim makro" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 msgid "Image quality" msgstr "Kvalita obrázka" #: src/actions.cpp:403 msgid "Exif Resolution" msgstr "Rozlíšenie exif" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "Vyváženie bielej" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 msgid "Thumbnail" msgstr "Náhľad" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "Nič" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 msgid "Copyright" msgstr "Copyright" #: src/actions.cpp:458 msgid "Exif comment" msgstr "Komentár EXIF" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "(binárna hodnota potlačená)" #: src/actions.cpp:742 msgid "JPEG comment" msgstr "Komentár JPEG" #: src/actions.cpp:767 #, fuzzy msgid "Preview" msgstr "Dáta náhľadu" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "pixelov" #: src/actions.cpp:773 src/actions.cpp:1113 msgid "bytes" msgstr "bajtov" #: src/actions.cpp:820 msgid "Neither tag" msgstr "Žiadna značka" #: src/actions.cpp:821 msgid "nor" msgstr "nor" #: src/actions.cpp:822 msgid "found in the file" msgstr "nájdený v súbore" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "Časová známka vytvorenia obrázka nebola v súbore nastavená" #: src/actions.cpp:833 src/actions.cpp:1590 msgid "Failed to parse timestamp" msgstr "Nepodarilo sa prečítať časovú známku" #: src/actions.cpp:834 msgid "in the file" msgstr "v súbore" #: src/actions.cpp:845 msgid "Updating timestamp to" msgstr "Časová známka sa aktualizuje na" #: src/actions.cpp:939 #, fuzzy msgid "Erasing thumbnail data" msgstr "bajtov údajov náhľadov" #: src/actions.cpp:947 msgid "Erasing Exif data from the file" msgstr "Vymazávajú sa Exif údaje zo súboru" #: src/actions.cpp:956 msgid "Erasing IPTC data from the file" msgstr "Vymazávajú sa IPTC údaje zo súboru" #: src/actions.cpp:965 msgid "Erasing JPEG comment from the file" msgstr "Vymazáva sa komentár JPEG zo súboru" #: src/actions.cpp:974 msgid "Erasing XMP data from the file" msgstr "Vymazávajú sa XMP dáta zo súboru" #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "Obrázok neobsahuje EXIF náhľad\n" #: src/actions.cpp:1055 #, fuzzy msgid "Writing thumbnail" msgstr "náhľad" #: src/actions.cpp:1056 src/actions.cpp:1114 msgid "to file" msgstr "do súboru" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "EXIF údaje neobsahujú náhľad\n" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "" #: src/actions.cpp:1107 #, fuzzy msgid "Writing preview" msgstr "Zapisuje sa" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "Nastavuje sa JPEG komentár" #: src/actions.cpp:1319 msgid "Add" msgstr "Pridať" #: src/actions.cpp:1341 src/actions.cpp:1415 msgid "Warning" msgstr "Upozornenie" #: src/actions.cpp:1342 src/actions.cpp:1416 msgid "Failed to read" msgstr "Nepodarilo sa prečítať" #: src/actions.cpp:1344 src/actions.cpp:1418 msgid "value" msgstr "hodnota" #: src/actions.cpp:1355 msgid "Set" msgstr "Nastaviť" #: src/actions.cpp:1427 msgid "Del" msgstr "Vymazať" #: src/actions.cpp:1459 msgid "Reg " msgstr "Reg " #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "Časová známka metadáta s kľúčom" #: src/actions.cpp:1544 msgid "not set\n" msgstr "nenastavené\n" #: src/actions.cpp:1549 msgid "Adjusting" msgstr "Dolaďuje sa" #: src/actions.cpp:1549 msgid "by" msgstr "Autor" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "rokov" #: src/actions.cpp:1556 msgid "year" msgstr "rok" #: src/actions.cpp:1564 msgid "months" msgstr "mesiacov" #: src/actions.cpp:1567 msgid "month" msgstr "mesiac" #: src/actions.cpp:1575 msgid "days" msgstr "dní" #: src/actions.cpp:1578 msgid "day" msgstr "deň" #: src/actions.cpp:1584 msgid "s" msgstr "s" #: src/actions.cpp:1600 msgid "Can't adjust timestamp by" msgstr "Nie je možné upraviť časovú známku o" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 msgid "to" msgstr "až" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "Štandardný EXIF ISO značka už existuje; nebude sa meniť\n" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "Nastavuje sa hodnota EXIF ISO na" #: src/actions.cpp:1708 #, fuzzy msgid "No Exif user comment found" msgstr "Komentár EXIF" #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "" #: src/actions.cpp:1723 msgid "No Exif UNICODE user comment found" msgstr "" #: src/actions.cpp:1729 #, fuzzy msgid "Setting Exif UNICODE user comment to" msgstr "Nastavuje sa hodnota EXIF ISO na" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "Zapisujú sa EXIF údaje z" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "Zápis IPTC dát od" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "Zápis XMP dát od" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "Zápis JPEG komentára od" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "Nepodarilo sa zapísať metadáta do súboru" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "Formát názvu súboru dáva prázdny názov súboru" #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "Tento súbor už má správny názov" #: src/actions.cpp:1975 src/exiv2.cpp:168 msgid "File" msgstr "Súbor" #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr "existuje. [P]repísať, p[r]emenovať alebo pre[s]kočiť?" #: src/actions.cpp:2004 msgid "Renaming file to" msgstr "Súbor sa premenúva na" #: src/actions.cpp:2006 msgid "updating timestamp" msgstr "aktualizuje sa časová známka" #: src/actions.cpp:2015 msgid "Failed to rename" msgstr "Nepodarilo sa premenovať" #: src/actions.cpp:2037 msgid "Overwrite" msgstr "Prepísať" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "vypnutý" #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "zapnutý" #: src/canonmn.cpp:363 #, fuzzy msgid "Format 1" msgstr "Formát" #: src/canonmn.cpp:364 #, fuzzy msgid "Format 2" msgstr "Formát" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 #, fuzzy msgid "On (1)" msgstr "zapnutý" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 #, fuzzy msgid "On (2)" msgstr "zapnutý" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "sRGB" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 msgid "Adobe RGB" msgstr "Adobe RGB" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "Neznáme" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 msgid "Camera Settings" msgstr "Nastavenie fotoaparátu" #: src/canonmn.cpp:383 msgid "Various camera settings" msgstr "Rôzne nastavenia fotoaparátu" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 msgid "Focal Length" msgstr "Ohnisková vzdialenosť" #: src/canonmn.cpp:386 src/sonymn.cpp:394 msgid "Shot Info" msgstr "Info o snímke" #: src/canonmn.cpp:386 msgid "Shot information" msgstr "Informácie o snímke" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 msgid "Panorama" msgstr "panoráma" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 msgid "Image Type" msgstr "Typ obrázka" #: src/canonmn.cpp:388 msgid "Image type" msgstr "Typ obrázka" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 msgid "Firmware Version" msgstr "Verzia firmvéru" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 msgid "Firmware version" msgstr "Verzia firmvéru" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 #, fuzzy msgid "File Number" msgstr "číslo F" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 #, fuzzy msgid "File number" msgstr "Názov súboru" #: src/canonmn.cpp:391 msgid "Owner Name" msgstr "Meno vlastníka" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 msgid "Serial Number" msgstr "Sériové číslo" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 msgid "Camera serial number" msgstr "Sériové číslo fotoaparátu" #: src/canonmn.cpp:393 #, fuzzy msgid "Camera Info" msgstr "Info o fotoaparáte" #: src/canonmn.cpp:393 #, fuzzy msgid "Camera info" msgstr "Info o fotoaparáte" #: src/canonmn.cpp:394 src/canonmn.cpp:406 msgid "Custom Functions" msgstr "Vlastné funkcie" #: src/canonmn.cpp:395 msgid "ModelID" msgstr "ID modelu" #: src/canonmn.cpp:395 msgid "Model ID" msgstr "ID modelu" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 msgid "Picture Info" msgstr "Informácie o obrázku" #: src/canonmn.cpp:396 msgid "Picture info" msgstr "Informácie o obrázku" #: src/canonmn.cpp:397 #, fuzzy msgid "Thumbnail Image Valid Area" msgstr "Náhľad" #: src/canonmn.cpp:397 #, fuzzy msgid "Thumbnail image valid area" msgstr "Náhľad" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial Number Format" msgstr "Sériové číslo 1" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial number format" msgstr "Sériové číslo 2" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 #, fuzzy msgid "Super Macro" msgstr "super makro" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "super makro" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 #, fuzzy msgid "AF Info" msgstr "Info o AZ" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 #, fuzzy msgid "AF info" msgstr "Info o AZ" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "" #: src/canonmn.cpp:402 msgid "White Balance Table" msgstr "Tabuľka vyváženia bielej" #: src/canonmn.cpp:402 msgid "White balance table" msgstr "Tabuľka vyváženia bielej" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 msgid "Lens Model" msgstr "Model šošoviek" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 #, fuzzy msgid "Lens model" msgstr "Model šošoviek" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 #, fuzzy msgid "Internal Serial Number" msgstr "Sériové číslo fotoaparátu" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 #, fuzzy msgid "Internal serial number" msgstr "Sériové číslo fotoaparátu" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "" #: src/canonmn.cpp:406 #, fuzzy msgid "Custom functions" msgstr "Vlastné funkcie" #: src/canonmn.cpp:407 #, fuzzy msgid "Processing Info" msgstr "Softvér použitý na spracovanie" #: src/canonmn.cpp:407 #, fuzzy msgid "Processing info" msgstr "Softvér použitý na spracovanie" #: src/canonmn.cpp:408 #, fuzzy msgid "Measured Color" msgstr "Prirodzená farba" #: src/canonmn.cpp:408 #, fuzzy msgid "Measured color" msgstr "Prirodzená farba" #: src/canonmn.cpp:409 #, fuzzy msgid "ColorSpace" msgstr "Farebný priestor" #: src/canonmn.cpp:413 #, fuzzy msgid "VRD Offset" msgstr "Ofset" #: src/canonmn.cpp:413 #, fuzzy msgid "VRD offset" msgstr "ofset" #: src/canonmn.cpp:414 #, fuzzy msgid "Sensor Info" msgstr "Info o šošovkách" #: src/canonmn.cpp:414 #, fuzzy msgid "Sensor info" msgstr "Info o snímke" #: src/canonmn.cpp:415 #, fuzzy msgid "Color Data" msgstr "Matica farieb" #: src/canonmn.cpp:415 #, fuzzy msgid "Color data" msgstr "moje farebné údaje" #: src/canonmn.cpp:417 msgid "Unknown CanonMakerNote tag" msgstr "Neznáma značka CanonMakerNote" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "ekonomický" #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 msgid "Normal" msgstr "Normálny" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 msgid "Fine" msgstr "jemný" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "RAW" #: src/canonmn.cpp:437 msgid "Superfine" msgstr "superjemný" #: src/canonmn.cpp:438 #, fuzzy msgid "Normal Movie" msgstr "Bežné spracovanie" #: src/canonmn.cpp:439 #, fuzzy msgid "Movie (2)" msgstr "Film" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 msgid "Auto" msgstr "Auto" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "Červené oči" #: src/canonmn.cpp:448 msgid "Slow sync" msgstr "Pomalá synchronizácia" #: src/canonmn.cpp:449 msgid "Auto + red-eye" msgstr "auto + korekcia červených očí" #: src/canonmn.cpp:450 msgid "On + red-eye" msgstr "zapnutý + korekcia červených očí" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 msgid "External" msgstr "externý" #: src/canonmn.cpp:457 msgid "Single / timer" msgstr "Jednotlivý záber / časovač" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 msgid "Continuous" msgstr "Spojitý" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 msgid "Movie" msgstr "Film" #: src/canonmn.cpp:460 msgid "Continuous, speed priority" msgstr "spojitý, priorita pre rýchlosť" #: src/canonmn.cpp:461 msgid "Continuous, low" msgstr "Spojitý, nízky" #: src/canonmn.cpp:462 msgid "Continuous, high" msgstr "Spojitý, vysoký" # AF = automatické zaostrenie #: src/canonmn.cpp:467 msgid "One shot AF" msgstr "automatické zaostrenie pre jeden záber" # AF = automatické zaostrenie #: src/canonmn.cpp:468 msgid "AI servo AF" msgstr "inteligentné servo zaostrenie" # AF = automatické zaostrenie #: src/canonmn.cpp:469 msgid "AI focus AF" msgstr "inteligentné zaostrenie" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 msgid "Manual focus" msgstr "Ručné zaostrenie" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 msgid "Single" msgstr "Jednotlivý" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 msgid "Pan focus" msgstr "posúvať zaostrenie" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 msgid "Large" msgstr "Veľký" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 msgid "Medium" msgstr "Stredný" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 msgid "Small" msgstr "malý" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 msgid "Medium 1" msgstr "stredný 1" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 msgid "Medium 2" msgstr "stredný 2" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 msgid "Medium 3" msgstr "stredný 3" #: src/canonmn.cpp:490 msgid "Full auto" msgstr "Plne automatický" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 msgid "Manual" msgstr "Manuál" # exif-scenecapturetype-1 #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 msgid "Landscape" msgstr "krajinka" #: src/canonmn.cpp:493 msgid "Fast shutter" msgstr "rýchla uzávierka" #: src/canonmn.cpp:494 msgid "Slow shutter" msgstr "pomalá uzávierka" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 msgid "Night Scene" msgstr "Nočná scéna" #: src/canonmn.cpp:496 msgid "Gray scale" msgstr "Odtiene šedej" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "Sépia" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 msgid "Portrait" msgstr "Portrét" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "Športy" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "Makro / záber zblízka" #: src/canonmn.cpp:501 src/fujimn.cpp:149 msgid "Black & white" msgstr "Čierna a biela" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 msgid "Vivid" msgstr "živé" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 msgid "Neutral" msgstr "Neutrálny" #: src/canonmn.cpp:505 msgid "Flash off" msgstr "Blesk vypnutý" #: src/canonmn.cpp:506 msgid "Long shutter" msgstr "pomalá uzávierka" #: src/canonmn.cpp:508 msgid "Foliage" msgstr "zeleň" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 msgid "Indoor" msgstr "vnútri" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 msgid "Fireworks" msgstr "Ohňostroj" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "Pláž" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 msgid "Underwater" msgstr "pod vodou" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "Sneh" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "deti & zvieratá" #: src/canonmn.cpp:515 msgid "Night SnapShot" msgstr "Nočný záber" #: src/canonmn.cpp:516 msgid "Digital macro" msgstr "digitálne makro" #: src/canonmn.cpp:517 msgid "My Colors" msgstr "Moje farby" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 msgid "Still image" msgstr "Fotografia" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 msgid "Other" msgstr "Iný" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 msgid "Low" msgstr "nízka" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 msgid "High" msgstr "vysoká" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "nie je k dispozícii" #: src/canonmn.cpp:540 msgid "Auto High" msgstr "automatický vysoký" #: src/canonmn.cpp:558 src/sonymn.cpp:235 msgid "Default" msgstr "štandardný" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 msgid "Spot" msgstr "Bodový" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "priemer" #: src/canonmn.cpp:561 msgid "Evaluative" msgstr "vyhodnocujúci" #: src/canonmn.cpp:562 src/tags.cpp:1427 msgid "Partial" msgstr "Čiastočný" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 msgid "Center weighted" msgstr "Stredovo vážený" #: src/canonmn.cpp:570 msgid "Not known" msgstr "Neznámy" # exif-subjectdistancerange-1 #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "makro" #: src/canonmn.cpp:572 msgid "Very close" msgstr "veľmi zblízka" #: src/canonmn.cpp:573 msgid "Close" msgstr "Zblízka" #: src/canonmn.cpp:574 msgid "Middle range" msgstr "stredný rozsah" #: src/canonmn.cpp:575 msgid "Far range" msgstr "V diaľke" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 msgid "Infinity" msgstr "Nekonečno" # AF = automatické zaostrenie #: src/canonmn.cpp:583 msgid "Manual AF point selection" msgstr "Ručná voľba bodu automatického zaostrenia" #: src/canonmn.cpp:584 msgid "None (MF)" msgstr "Nič (MF)" #: src/canonmn.cpp:585 msgid "Auto-selected" msgstr "Automatický výber" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 msgid "Right" msgstr "vpravo" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 msgid "Center" msgstr "v strede" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 msgid "Left" msgstr "vľavo" # AF = automatické zaostrenie #: src/canonmn.cpp:589 msgid "Auto AF point selection" msgstr "automatická voľba bodu zaostrenia" #: src/canonmn.cpp:594 msgid "Easy shooting (Auto)" msgstr "Jednoduché fotenie (auto)" #: src/canonmn.cpp:595 msgid "Program (P)" msgstr "Program (P)" # exif-exposureprogram-4 #: src/canonmn.cpp:596 msgid "Shutter priority (Tv)" msgstr "Priorita uzávierky (Tv)" # FUZZY exif-exposureprogram-3 #: src/canonmn.cpp:597 msgid "Aperture priority (Av)" msgstr "Priorita clony (Av)" #: src/canonmn.cpp:598 msgid "Manual (M)" msgstr "Manuál (M)" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "A-DEP" #: src/canonmn.cpp:600 msgid "M-DEP" msgstr "M-DEP" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 msgid "Did not fire" msgstr "Blesk sa nespustil" #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 msgid "Fired" msgstr "Spustil sa" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 msgid "External flash" msgstr "externý blesk" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 msgid "Internal flash" msgstr "Vnútorný blesk" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "TTL" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "A-TTL" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "E-TTL" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "FP synchr. zapnutá" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "synchr. 2. zácl. použitá" #: src/canonmn.cpp:980 msgid "FP sync used" msgstr "FP synchr. použitá" #: src/canonmn.cpp:991 msgid "Normal AE" msgstr "Normálna AE" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 msgid "Exposure compensation" msgstr "Kompenzácia expozície" # AE - automatická expozícia #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "zámok AE" # AE - automatická expozícia #: src/canonmn.cpp:994 msgid "AE lock + exposure compensation" msgstr "zámok AE + kompenzácia expozície" # AE - automatická expozícia #: src/canonmn.cpp:995 msgid "No AE" msgstr "bez AE" #: src/canonmn.cpp:1002 msgid "On, shot only" msgstr "zapnutý, iba pri fotení" # AF = automatické zaostrenie #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 msgid "AF Point" msgstr "Bod automatického zaostrenia" #: src/canonmn.cpp:1016 msgid "Smooth" msgstr "Hladký" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "ČB" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 msgid "Custom" msgstr "Vlastný" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 msgid "My color data" msgstr "moje farebné údaje" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 msgid "Full" msgstr "Plný" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "" #: src/canonmn.cpp:1043 msgid "Selftimer" msgstr "Samospúšť" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 msgid "Self timer" msgstr "Samospúšť" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 msgid "Quality" msgstr "Kvalita" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 msgid "Flash Mode" msgstr "Režim blesku" #: src/canonmn.cpp:1045 msgid "Flash mode setting" msgstr "Nastavenie režimu blesku" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 msgid "Drive Mode" msgstr "Režim jazda autom" #: src/canonmn.cpp:1046 msgid "Drive mode setting" msgstr "Nastavenie režimu jazda autom" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 msgid "Focus Mode" msgstr "režim zaostrenia" #: src/canonmn.cpp:1048 msgid "Focus mode setting" msgstr "Nastavenie režimu zaostrenia" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 msgid "Image Size" msgstr "Veľkosť obrázka" #: src/canonmn.cpp:1052 msgid "Easy Mode" msgstr "Jednoduchý režim" #: src/canonmn.cpp:1052 msgid "Easy shooting mode" msgstr "režim jednoduchého fotenia" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 msgid "Digital Zoom" msgstr "digitálne priblíženie" #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 msgid "Digital zoom" msgstr "digitálne priblíženie" #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 msgid "Contrast" msgstr "Kontrast" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 msgid "Contrast setting" msgstr "Nastavenie kontrastu" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 msgid "Saturation" msgstr "Sýtosť" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 msgid "Saturation setting" msgstr "Nastavenie sýtosti" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 msgid "Sharpness" msgstr "Ostrosť" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 msgid "Sharpness setting" msgstr "Nastavenie zaostrenia" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 msgid "ISO Speed Mode" msgstr "Režim ISO rýchlosť" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 msgid "ISO speed setting" msgstr "Nastavenie ISO rýchlosti" # exif-meteringmode #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 msgid "Metering Mode" msgstr "merací režim" #: src/canonmn.cpp:1058 msgid "Metering mode setting" msgstr "Nastavenie režimu merania" #: src/canonmn.cpp:1059 msgid "Focus Type" msgstr "Typ zaostrenia" #: src/canonmn.cpp:1059 msgid "Focus type setting" msgstr "Nastavenie typu zaostrenia" #: src/canonmn.cpp:1060 msgid "AF point selected" msgstr "Nebol vybraný bod automatického zaostrenia" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 msgid "Exposure Program" msgstr "Režim expozície" # exif-exposuremode #: src/canonmn.cpp:1061 msgid "Exposure mode setting" msgstr "Nastavenie režimu expozície" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 msgid "Lens Type" msgstr "Typ šošpviek" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 msgid "Lens type" msgstr "typ šošoviek" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 msgid "Lens" msgstr "šošovky" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "" #: src/canonmn.cpp:1065 #, fuzzy msgid "Short focal" msgstr "Bodové zaostrenie" #: src/canonmn.cpp:1066 #, fuzzy msgid "Focal Units" msgstr "Ohnisková vzdialenosť" #: src/canonmn.cpp:1066 #, fuzzy msgid "Focal units" msgstr "Ohnisková vzdialenosť" #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 msgid "Max Aperture" msgstr "Max. clona" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 msgid "Max aperture" msgstr "Max. clona" #: src/canonmn.cpp:1068 #, fuzzy msgid "Min Aperture" msgstr "Max. clona" #: src/canonmn.cpp:1068 #, fuzzy msgid "Min aperture" msgstr "Max. clona" #: src/canonmn.cpp:1069 msgid "Flash Activity" msgstr "Aktivita blesku" #: src/canonmn.cpp:1069 msgid "Flash activity" msgstr "aktivita blesku" #: src/canonmn.cpp:1070 msgid "Flash Details" msgstr "Podrobnosti blesku" #: src/canonmn.cpp:1070 msgid "Flash details" msgstr "podrobnosti blesku" #: src/canonmn.cpp:1073 msgid "Focus Continuous" msgstr "Spojité zaostrenie" #: src/canonmn.cpp:1073 msgid "Focus continuous setting" msgstr "Nastavenie spojité zaostrenie" #: src/canonmn.cpp:1074 msgid "AESetting" msgstr "Nastavenie AE" #: src/canonmn.cpp:1074 msgid "AE setting" msgstr "Nastavenie AE" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 msgid "Image Stabilization" msgstr "Stabilizácia obrazu" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 msgid "Image stabilization" msgstr "Stabilizácia obrazu" #: src/canonmn.cpp:1076 msgid "Display Aperture" msgstr "Clona displeja" #: src/canonmn.cpp:1076 msgid "Display aperture" msgstr "Clona displeja" #: src/canonmn.cpp:1077 msgid "Zoom Source Width" msgstr "Zdrojová šírka priblíženia" #: src/canonmn.cpp:1077 msgid "Zoom source width" msgstr "zdrojová šírka priblíženia" #: src/canonmn.cpp:1078 msgid "Zoom Target Width" msgstr "Cieľová šírka priblíženia" #: src/canonmn.cpp:1078 msgid "Zoom target width" msgstr "Cieľová šírka priblíženia" # exif-meteringmode #: src/canonmn.cpp:1080 #, fuzzy msgid "Spot Metering Mode" msgstr "merací režim" #: src/canonmn.cpp:1080 #, fuzzy msgid "Spot metering mode" msgstr "Režim merania." #: src/canonmn.cpp:1081 msgid "Photo Effect" msgstr "Fotoefekt" #: src/canonmn.cpp:1081 msgid "Photo effect" msgstr "fotoefekt" #: src/canonmn.cpp:1082 #, fuzzy msgid "Manual Flash Output" msgstr "Ručné uvoľnenie" #: src/canonmn.cpp:1082 #, fuzzy msgid "Manual flash output" msgstr "Ručné uvoľnenie" #: src/canonmn.cpp:1083 msgid "Color Tone" msgstr "Farebný tón" #: src/canonmn.cpp:1083 msgid "Color tone" msgstr "Farebný tón" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "" #: src/canonmn.cpp:1084 #, fuzzy msgid "SRAW quality" msgstr "Kvalita obrázka" #: src/canonmn.cpp:1086 msgid "Unknown Canon Camera Settings 1 tag" msgstr "Neznáma značka Nastavenie fotoaparátu Canon 1" # exif-lightsource-1 #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 msgid "Daylight" msgstr "denné svetlo" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 msgid "Cloudy" msgstr "oblačno" # exif-lightsource-3 #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 msgid "Tungsten" msgstr "volfrám" # exif-lightsource-2 #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 msgid "Fluorescent" msgstr "fluorescencia" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 msgid "Black & White" msgstr "Čiernobiela" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "Tieň" # ?exif-lightsource-255 #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "Ručné nastavenie teploty (v kelvinoch)" #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "PC Set 1" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "PC Set 2" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "PC Set 3" # exif-lightsource-12 #: src/canonmn.cpp:1109 msgid "Daylight Fluorescent" msgstr "denné svetlo, fluorescenčné" #: src/canonmn.cpp:1110 src/properties.cpp:816 msgid "Custom 1" msgstr "Vlastný 1" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 msgid "Custom 2" msgstr "Vlastný 2" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 msgid "Custom 3" msgstr "vlastné 3" #: src/canonmn.cpp:1115 #, fuzzy msgid "PC Set 4" msgstr "PC Set 1" #: src/canonmn.cpp:1116 #, fuzzy msgid "PC Set 5" msgstr "PC Set 1" # exif-exposureprogram-4 #: src/canonmn.cpp:1117 #, fuzzy msgid "Auto (ambience priority)" msgstr "priorita uzávierky" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 msgid "left" msgstr "vľavo" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 msgid "center" msgstr "v strede" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 msgid "right" msgstr "vpravo" #: src/canonmn.cpp:1151 msgid "ISO Speed Used" msgstr "Použitá ISO rýchlosť" #: src/canonmn.cpp:1151 msgid "ISO speed used" msgstr "Použitá ISO rýchlosť" #: src/canonmn.cpp:1152 msgid "Measured EV" msgstr "" #: src/canonmn.cpp:1153 msgid "Target Aperture" msgstr "Cieľová clona" #: src/canonmn.cpp:1154 msgid "Target Shutter Speed" msgstr "Cieľová rýchlosť uzávierky" # exif-shutterspeedvalue #: src/canonmn.cpp:1154 msgid "Target shutter speed" msgstr "exif-shutterspeedvalue" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 msgid "White Balance" msgstr "Vyváženie bielej" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 msgid "White balance setting" msgstr "Nastavenie vyváženia bielej" #: src/canonmn.cpp:1158 msgid "Sequence" msgstr "Poradové číslo" #: src/canonmn.cpp:1158 msgid "Sequence number (if in a continuous burst)" msgstr "Poradové číslo (ak je zo spojitého záberu)" # AF = automatické zaostrenie #: src/canonmn.cpp:1163 msgid "AF Point Used" msgstr "Použitý bod automatického zaostrenia" # AF = automatické zaostrenie #: src/canonmn.cpp:1163 msgid "AF point used" msgstr "Použitý bod automatického zaostrenia" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 msgid "Flash Bias" msgstr "Skreslenie blesku" # exif-subjectdistance #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 msgid "Subject Distance" msgstr "vzdialenosť subjektu" # exif-subjectdistancerange #: src/canonmn.cpp:1168 msgid "Subject distance (units are not clear)" msgstr "Vzdialenosť subjektu (jednotky nie sú jasné)" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 msgid "Aperture Value" msgstr "Hodnota clony" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 msgid "Shutter Speed Value" msgstr "Hodnota rýchlosti uzávierky" # exif-shutterspeedvalue #: src/canonmn.cpp:1171 src/tags.cpp:1630 msgid "Shutter speed" msgstr "rýchlosť uzávierky" #: src/canonmn.cpp:1172 msgid "Measured EV 2" msgstr "" #: src/canonmn.cpp:1177 msgid "Unknown Canon Camera Settings 2 tag" msgstr "Neznáma značka Nastavenie fotoaparátu Canon 2" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 msgid "Left to right" msgstr "zľava doprava" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 msgid "Right to left" msgstr "sprava doľava" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 msgid "Bottom to top" msgstr "zdola hore" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 msgid "Top to bottom" msgstr "zhora dolu" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "matica 2x2 (v smere hodinových ručičiek)" #: src/canonmn.cpp:1196 msgid "Panorama Frame" msgstr "Rámec panorámy" #: src/canonmn.cpp:1196 msgid "Panorama frame number" msgstr "Číslo rámca panorámy" #: src/canonmn.cpp:1197 msgid "Panorama Direction" msgstr "Smer panorámy" #: src/canonmn.cpp:1197 msgid "Panorama direction" msgstr "smer panorámy" #: src/canonmn.cpp:1199 msgid "Unknown Canon Panorama tag" msgstr "Neznáma značka Canon Panorama" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 msgid "Noise Reduction" msgstr "Redukcia šumu" #: src/canonmn.cpp:1209 msgid "Long exposure noise reduction" msgstr "Redukciu šumu dlhej expozície" #: src/canonmn.cpp:1210 msgid "Shutter Ae Lock" msgstr "Ae zámok uzávierky" #: src/canonmn.cpp:1210 msgid "Shutter/AE lock buttons" msgstr "Tlačidlá zamknutia uzávierky/AE" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 msgid "Exposure Level Increments" msgstr "Kroky úrovne expozície" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 msgid "AF Assist" msgstr "Asistent AZ" # AF = automatické zaostrenie #: src/canonmn.cpp:1213 msgid "AF assist light" msgstr "Svetlo asistenta AZ" #: src/canonmn.cpp:1214 msgid "Flash Sync Speed Av" msgstr "Blesk synch. rýchlosť Av" #: src/canonmn.cpp:1214 msgid "Shutter speed in Av mode" msgstr "Rýchlosť uzávierky v režime Av" #: src/canonmn.cpp:1215 msgid "AEB Sequence" msgstr "Poradové číslo AEB" #: src/canonmn.cpp:1215 msgid "AEB sequence/auto cancellation" msgstr "" # exif-exposureprogram-4 #: src/canonmn.cpp:1216 #, fuzzy msgid "Shutter Curtain Sync" msgstr "priorita uzávierky" # exif-exposureprogram-4 #: src/canonmn.cpp:1216 #, fuzzy msgid "Shutter curtain sync" msgstr "priorita uzávierky" # TODO: check #: src/canonmn.cpp:1217 #, fuzzy msgid "Lens AF Stop Button" msgstr "F stops šošoviek" # TODO: check #: src/canonmn.cpp:1217 #, fuzzy msgid "Lens AF stop button Fn. Switch" msgstr "F stops šošoviek" #: src/canonmn.cpp:1218 msgid "Fill Flash Auto Reduction" msgstr "Blesk sa spustí automatická redukcia" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "Automatická redukcia alebo blesk sa spustí" #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "Tlačidlo menu Návrat" #: src/canonmn.cpp:1219 msgid "Menu button return position" msgstr "Poloha tlačidla menu Návrat" #: src/canonmn.cpp:1220 msgid "Set Button Function" msgstr "Nastavenie funkcie tlačidla" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "" #: src/canonmn.cpp:1221 msgid "Sensor Cleaning" msgstr "Čistenie snímača" #: src/canonmn.cpp:1221 msgid "Sensor cleaning" msgstr "Vyčistenie snímača" #: src/canonmn.cpp:1222 msgid "Superimposed Display" msgstr "" #: src/canonmn.cpp:1222 msgid "Superimposed display" msgstr "" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "Uvoľnenie spúšte Žiadna CF karta" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "Uvoľnenie spúšte bez CF karty" #: src/canonmn.cpp:1225 msgid "Unknown Canon Custom Function tag" msgstr "Neznáma značka Canon Custom Function" #: src/canonmn.cpp:1236 msgid "mid-right" msgstr "v strede vpravo" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 msgid "bottom" msgstr "dolu" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 msgid "top" msgstr "hore" #: src/canonmn.cpp:1240 msgid "mid-left" msgstr "v strede vľavo" #: src/canonmn.cpp:1247 msgid "upper-left" msgstr "vyššie vľavo" #: src/canonmn.cpp:1248 msgid "upper-right" msgstr "vyššie vpravo" #: src/canonmn.cpp:1252 msgid "lower-left" msgstr "nižšie vľavo" #: src/canonmn.cpp:1253 msgid "lower-right" msgstr "nižšie vpravo" #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 msgid "Image Width" msgstr "Šírka obrázka" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 msgid "Image width" msgstr "Šírka obrázka" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 msgid "Image Height" msgstr "Výška obrázka" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 msgid "Image height" msgstr "Dĺžka obrázka" #: src/canonmn.cpp:1261 msgid "Image Width As Shot" msgstr "šírka obrázka ako bol odfotený" #: src/canonmn.cpp:1261 msgid "Image width (as shot)" msgstr "šírka obrázka (ako bol odfotený)" #: src/canonmn.cpp:1262 msgid "Image Height As Shot" msgstr "výška obrázka (ako bol odfotený)" #: src/canonmn.cpp:1262 #, fuzzy msgid "Image height (as shot)" msgstr "šírka obrázka (ako bol odfotený)" # AF = automatické zaostrenie #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF Points Used" msgstr "Použité body automatického zaostrenia" # AF = automatické zaostrenie #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF points used" msgstr "Použité body automatického zaostrenia" # AF = automatické zaostrenie #: src/canonmn.cpp:1264 msgid "AF Points Used 20D" msgstr "Použité body automatického zaostrenia 20D" # AF = automatické zaostrenie #: src/canonmn.cpp:1264 #, fuzzy msgid "AF points used (20D)" msgstr "Použité body automatického zaostrenia 20D" #: src/canonmn.cpp:1266 msgid "Unknown Canon Picture Info tag" msgstr "Neznáma značka Canon Picture Info" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 #, fuzzy msgid "ISO" msgstr "Info o snímke" #: src/canonmn.cpp:1280 msgid "WB" msgstr "" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "" #: src/canonmn.cpp:1293 #, fuzzy msgid "Medium Movie" msgstr "stredný 1" #: src/canonmn.cpp:1294 #, fuzzy msgid "Small Movie" msgstr "Film" #: src/canonmn.cpp:1300 #, fuzzy msgid "On 1" msgstr "zapnutý" #: src/canonmn.cpp:1301 #, fuzzy msgid "On 2" msgstr "zapnutý" # AF = automatické zaostrenie #: src/canonmn.cpp:1309 #, fuzzy msgid "On (shift AB)" msgstr "automatické zaostrenie pre jeden záber" # AF = automatické zaostrenie #: src/canonmn.cpp:1310 #, fuzzy msgid "On (shift GM)" msgstr "automatické zaostrenie pre jeden záber" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 #, fuzzy msgid "Orange" msgstr "V diaľke" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 #, fuzzy msgid "Red" msgstr "Červené oči" #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 #, fuzzy msgid "Green" msgstr "Zelený odtieň" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 #, fuzzy msgid "Blue" msgstr "hodnota" #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "" #: src/canonmn.cpp:1334 #, fuzzy msgid "Bracket Mode" msgstr "Krok viacnásobného záberu" #: src/canonmn.cpp:1335 #, fuzzy msgid "Bracket Value" msgstr "Krok viacnásobného záberu" #: src/canonmn.cpp:1336 #, fuzzy msgid "Bracket Shot Number" msgstr "Krok viacnásobného záberu" #: src/canonmn.cpp:1337 #, fuzzy msgid "Raw Jpg Quality" msgstr "Kvalita obrázka" #: src/canonmn.cpp:1338 #, fuzzy msgid "Raw Jpg Size" msgstr "Veľkosť obrázka" #: src/canonmn.cpp:1340 #, fuzzy msgid "WB Bracket Mode" msgstr "Krok viacnásobného záberu" #: src/canonmn.cpp:1341 #, fuzzy msgid "WB Bracket Value AB" msgstr "Tabuľka vyváženia bielej" #: src/canonmn.cpp:1342 #, fuzzy msgid "WB Bracket Value GM" msgstr "Tabuľka vyváženia bielej" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 #, fuzzy msgid "Filter Effect" msgstr "Farebný efekt" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 #, fuzzy msgid "Toning Effect" msgstr "fotoefekt" #: src/canonmn.cpp:1345 #, fuzzy msgid "Macro Magnification" msgstr "Elektromagnetické zväčšenie" #: src/canonmn.cpp:1345 #, fuzzy msgid "Macro magnification" msgstr "Elektromagnetické zväčšenie" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "" #: src/canonmn.cpp:1346 #, fuzzy msgid "Live view shooting" msgstr "Nastavenie režimu jazda autom" #: src/canonmn.cpp:1347 #, fuzzy msgid "Focus Distance Upper" msgstr "Vzdialenosť zaostrenia" #: src/canonmn.cpp:1348 #, fuzzy msgid "Focus Distance Lower" msgstr "Vzdialenosť zaostrenia" #: src/canonmn.cpp:1349 #, fuzzy msgid "Flash Exposure Lock" msgstr "Kompenzácia expozície blesku" #: src/canonmn.cpp:1349 #, fuzzy msgid "Flash exposure lock" msgstr "Kompenzácia expozície blesku" #: src/canonmn.cpp:1351 #, fuzzy msgid "Unknown Canon File Info tag" msgstr "Neznáma značka Canon Picture Info" #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 msgid "Standard" msgstr "Štandardný" #: src/canonmn.cpp:1369 #, fuzzy msgid "Lowest" msgstr "vľavo dolu" #: src/canonmn.cpp:1373 #, fuzzy msgid "Highest" msgstr "vysoká" #: src/canonmn.cpp:1381 #, fuzzy msgid "High Saturation" msgstr "Sýtosť" #: src/canonmn.cpp:1383 #, fuzzy msgid "Low Saturation" msgstr "Sýtosť" #: src/canonmn.cpp:1384 #, fuzzy msgid "CM Set 1" msgstr "PC Set 1" #: src/canonmn.cpp:1385 #, fuzzy msgid "CM Set 2" msgstr "PC Set 2" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 msgid "Monochrome" msgstr "jednofarebné" #: src/canonmn.cpp:1399 #, fuzzy msgid "Fine Detail" msgstr "Podrobnosti blesku" #: src/canonmn.cpp:1404 #, fuzzy msgid "ToneCurve" msgstr "Krivka tónu" #: src/canonmn.cpp:1404 msgid "Tone curve" msgstr "Krivka tónu" #: src/canonmn.cpp:1406 #, fuzzy msgid "SharpnessFrequency" msgstr "Ostrosť" #: src/canonmn.cpp:1406 #, fuzzy msgid "Sharpness frequency" msgstr "Ostrosť" #: src/canonmn.cpp:1407 #, fuzzy msgid "SensorRedLevel" msgstr "WB_RGGBLevelsShade" #: src/canonmn.cpp:1407 #, fuzzy msgid "Sensor red level" msgstr "Úroveň čiernej" #: src/canonmn.cpp:1408 #, fuzzy msgid "SensorBlueLevel" msgstr "WB_RGGBLevelsShade" #: src/canonmn.cpp:1408 #, fuzzy msgid "Sensor blue level" msgstr "Úroveň čiernej" #: src/canonmn.cpp:1409 #, fuzzy msgid "WhiteBalanceRed" msgstr "Vyváženie bielej" #: src/canonmn.cpp:1409 #, fuzzy msgid "White balance red" msgstr "Vyváženie bielej" #: src/canonmn.cpp:1410 #, fuzzy msgid "WhiteBalanceBlue" msgstr "Tabuľka vyváženia bielej" #: src/canonmn.cpp:1410 #, fuzzy msgid "White balance blue" msgstr "Tabuľka vyváženia bielej" #: src/canonmn.cpp:1411 #, fuzzy msgid "WhiteBalance" msgstr "Vyváženie bielej" #: src/canonmn.cpp:1412 #, fuzzy msgid "ColorTemperature" msgstr "Farebná teplota" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 msgid "Color Temperature" msgstr "Farebná teplota" #: src/canonmn.cpp:1413 #, fuzzy msgid "PictureStyle" msgstr "Režim obrázka" #: src/canonmn.cpp:1413 #, fuzzy msgid "Picture style" msgstr "Režim obrázka" #: src/canonmn.cpp:1414 #, fuzzy msgid "DigitalGain" msgstr "digitálne makro" #: src/canonmn.cpp:1414 #, fuzzy msgid "Digital gain" msgstr "digitálne makro" #: src/canonmn.cpp:1415 msgid "WBShiftAB" msgstr "" # AF = automatické zaostrenie #: src/canonmn.cpp:1415 #, fuzzy msgid "WBShift AB" msgstr "automatické zaostrenie pre jeden záber" #: src/canonmn.cpp:1416 msgid "WBShiftGM" msgstr "" # AF = automatické zaostrenie #: src/canonmn.cpp:1416 #, fuzzy msgid "WB Shift GM" msgstr "automatické zaostrenie pre jeden záber" #: src/canonmn.cpp:1417 #, fuzzy msgid "Unknown Canon Processing Info tag" msgstr "Neznáma značka Canon Picture Info" #: src/crwimage.cpp:656 msgid "Header, offset" msgstr "Hlavička, ofset" #: src/crwimage.cpp:674 msgid "tag" msgstr "značka" #: src/crwimage.cpp:676 msgid "dir" msgstr "priečinok" #: src/crwimage.cpp:678 msgid "type" msgstr "typ" #: src/crwimage.cpp:679 msgid "size" msgstr "veľkosť" #: src/crwimage.cpp:680 msgid "offset" msgstr "ofset" #: src/datasets.cpp:79 msgid "(invalid)" msgstr "(nesprávny)" #: src/datasets.cpp:80 msgid "IIM envelope record" msgstr "záznam IIM obálky" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "záznam IIM aplikácie 2" #: src/datasets.cpp:85 msgid "Model Version" msgstr "Verzia modelu" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Binárne číslo, ktoré identifikuje verziu Modelu na výmenu informácií, časť " "1, ktorú používa poskytovateľ. Čísla verzií priraďujú organizácie IPTC a NAA." #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 msgid "Destination" msgstr "Cieľ" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" "Táto množina údajov slúži pre niektorých poskytovateľov, ktorí vyžadujú " "tieto smerovacie informácie nad príslušnými vrstvami modelu OSI." #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 msgid "File Format" msgstr "Formát súboru" #: src/datasets.cpp:95 msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" "Binárne číslo, ktoré predstavuje formát súboru. Formát súboru musí byť " "zaregistrovaný u IPTC alebo NAA, kde má priradené jedinečné číslo. Tieto " "údaje sa používajú na smerovanie údajov príslušnému systému a na umožnenie " "prijímajúcemu systému na nich vykonávať príslušné operácie." #: src/datasets.cpp:101 msgid "File Version" msgstr "Verzia súboru" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" "Binárne číslo, ktoré predstavuje konkrétnu verziu Formátu súboru, ktorý " "špecifikuje značka ." #: src/datasets.cpp:105 msgid "Service Id" msgstr "Servisné identifikačné číslo" #: src/datasets.cpp:106 msgid "Identifies the provider and product" msgstr "Identifikácia poskytovateľa a produktu" #: src/datasets.cpp:108 msgid "Envelope Number" msgstr "Číslo obálky" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" "Dva znaky z čísla, ktoré bude jedinečné pre údaje uvedené v značke " " a Identifikátor služby uvedený v značke . Ak " "sa vyskytne identické číslo obálky, záznamy s rovnakým dátumom a " "Identifikátorom služby, záznamy 2-9 musia byť oproti originálu nezmenené. " "Nie je však účelom byť sekvenčnou kontrolou prijatia sériového čísla." #: src/datasets.cpp:117 msgid "Product Id" msgstr "Identifikačné číslo výrobku" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" "Umožňuje poskytovateľovi identifikovať podmnožiny svojich služieb. Používa " "sa na príjem organizačných údajov, na základe ktorých sa vyberajú, smerujú " "alebo inak pracuje s údajmi." #: src/datasets.cpp:122 msgid "Envelope Priority" msgstr "Priorita obálky" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" #: src/datasets.cpp:129 msgid "Date Sent" msgstr "Dátum odoslania" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" #: src/datasets.cpp:133 msgid "Time Sent" msgstr "Čas odoslania" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" #: src/datasets.cpp:139 msgid "Character Set" msgstr "Znaková sada" #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" #: src/datasets.cpp:145 #, fuzzy msgid "Unique Name Object" msgstr "Jedinečný model fotoaparátu" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "Identifikátor ARM" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:156 msgid "ARM Version" msgstr "Verzia ARM" #: src/datasets.cpp:157 #, fuzzy msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" "Binárne číslo, ktoré predstavuje konkrétnu verziu Formátu súboru, ktorý " "špecifikuje značka ." #: src/datasets.cpp:170 msgid "Record Version" msgstr "Verzia záznamu" #: src/datasets.cpp:171 #, fuzzy msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Binárne číslo, ktoré identifikuje verziu Modelu na výmenu informácií, časť " "1, ktorú používa poskytovateľ. Čísla verzií priraďujú organizácie IPTC a NAA." #: src/datasets.cpp:175 msgid "Object Type" msgstr "Typ objektu" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" #: src/datasets.cpp:184 msgid "Object Attribute" msgstr "Atribút objektu" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" #: src/datasets.cpp:193 msgid "Object Name" msgstr "Názov objektu" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" #: src/datasets.cpp:198 msgid "Document Title" msgstr "Názov dokumentu" #: src/datasets.cpp:199 src/olympusmn.cpp:827 msgid "Edit Status" msgstr "Upraviť stav" #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "" #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "Súrnosť" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 msgid "Subject" msgstr "Predmet" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "" #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "Kategória" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" #: src/datasets.cpp:222 msgid "Supplemental Category" msgstr "Dodatočná kategória" #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" #: src/datasets.cpp:228 src/properties.cpp:442 msgid "Supplemental Categories" msgstr "Dodatočné kategórie" #: src/datasets.cpp:229 msgid "Fixture Id" msgstr "ID upevnenia" #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 msgid "Keywords" msgstr "Kľúčové slová" #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" #: src/datasets.cpp:240 msgid "Location Code" msgstr "Kód umiestnenia" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:248 msgid "Location Name" msgstr "Názov umiestnenia" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" #: src/datasets.cpp:253 src/properties.cpp:376 msgid "Release Date" msgstr "Dátum vydania" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:257 msgid "Release Time" msgstr "Čas vydania" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:261 msgid "Expiration Date" msgstr "Dátum expirácie" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:265 msgid "ExpirationTime" msgstr "Čas ukončenia platnosti" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:269 msgid "Special Instructions" msgstr "Speciálne inštrukcie" #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" #: src/datasets.cpp:273 src/properties.cpp:439 msgid "Instructions" msgstr "Inštrukcie" #: src/datasets.cpp:274 msgid "Action Advised" msgstr "Mali by ste urobiť" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:279 msgid "Reference Service" msgstr "Referenčná služba" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:283 msgid "Reference Date" msgstr "Referenčný dátum" #: src/datasets.cpp:284 msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "" #: src/datasets.cpp:286 msgid "Reference Number" msgstr "Referenčné číslo" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 msgid "Date Created" msgstr "Dátum vytvorenia" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:295 msgid "Time Created" msgstr "Čas vytvorenia" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:301 msgid "Digitization Date" msgstr "Dátum digitalizácie" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:305 msgid "Digitization Time" msgstr "Čas digitalizácie" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 msgid "Program" msgstr "Program" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "" #: src/datasets.cpp:313 msgid "Program Version" msgstr "Verzia programu" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "" #: src/datasets.cpp:316 msgid "Object Cycle" msgstr "Cyklus objektu" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "" #: src/datasets.cpp:319 msgid "By-line" msgstr "Vedľajší" #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "" #: src/datasets.cpp:323 src/properties.cpp:2103 msgid "Author" msgstr "Autor" #: src/datasets.cpp:324 msgid "By-line Title" msgstr "Vedľajší názov" #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "" #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 msgid "City" msgstr "Mesto" #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:333 msgid "Sub Location" msgstr "Umiestnenie sub." #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" #: src/datasets.cpp:337 msgid "Province State" msgstr "Provincia štátu" #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:341 msgid "State/Province" msgstr "Štát/provincia" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 msgid "Country Code" msgstr "Kód krajiny" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:352 msgid "Country Name" msgstr "Krajina" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 msgid "Country" msgstr "Krajina" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 msgid "Transmission Reference" msgstr "Osvedčenie na prenos" #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 msgid "Headline" msgstr "Nadpis" #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "" #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 msgid "Credit" msgstr "Pôvodca" #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "" #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source" msgstr "Zdroj" #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" "Identifikácia pôvodného vlastníka intelektuálneho obsahu obrázka. To môže " "byť agentúra, člen agentúry alebo meno individuálneho fotografa." #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "" #: src/datasets.cpp:379 msgid "Copyright Notice" msgstr "Oznam autorských práv" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 msgid "Contact" msgstr "Kontakt" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" #: src/datasets.cpp:384 src/properties.cpp:2101 msgid "Caption" msgstr "Titulok" #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "" #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 msgid "Description" msgstr "Popis" #: src/datasets.cpp:388 msgid "Writer" msgstr "Zapísal" #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" #: src/datasets.cpp:392 msgid "Rasterized Caption" msgstr "Rasterizovaný titulok" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "Farebné zložky obrázka." #: src/datasets.cpp:399 msgid "Image Orientation" msgstr "Orientácia obrázka" #: src/datasets.cpp:400 msgid "Indicates the layout of an image." msgstr "Rozloženie obrázka." #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 msgid "Language" msgstr "Jazyk" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" #: src/datasets.cpp:408 msgid "Audio Type" msgstr "Typ audio" #: src/datasets.cpp:409 msgid "Indicates the type of an audio content." msgstr "Označuje typ zvukového obsahu." #: src/datasets.cpp:411 msgid "Audio Rate" msgstr "Rýchlosť zvuku" #: src/datasets.cpp:412 #, fuzzy msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "Zobrazuje dĺžku trvania zvukového obsahu" #: src/datasets.cpp:414 msgid "Audio Resolution" msgstr "Rozlíšenie zvuku" #: src/datasets.cpp:415 #, fuzzy msgid "Indicates the sampling resolution of an audio content." msgstr "Zobrazuje dĺžku trvania zvukového obsahu" #: src/datasets.cpp:417 msgid "Audio Duration" msgstr "Trvanie zvuku" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "Zobrazuje dĺžku trvania zvukového obsahu" #: src/datasets.cpp:420 msgid "Audio Outcue" msgstr "Zvuková signalizácia konca" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" #: src/datasets.cpp:424 msgid "Preview Format" msgstr "Formát náhľadu" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" #: src/datasets.cpp:429 src/properties.cpp:1276 msgid "Preview Version" msgstr "Verzia náhľadu" #: src/datasets.cpp:430 #, fuzzy msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" "Binárne číslo, ktoré predstavuje konkrétnu verziu Formátu súboru, ktorý " "špecifikuje značka ." #: src/datasets.cpp:433 msgid "Preview Data" msgstr "Dáta náhľadu" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "Údaje náhľadu binárneho obrázka." #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "(Chybný)" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 msgid "Unknown dataset" msgstr "Neznáma množina údajov" #: src/error.cpp:55 #, fuzzy msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "Chyba %0: arg1=%1, arg2=%2, arg3=%3." #: src/error.cpp:56 msgid "Success" msgstr "Úspešné" #: src/error.cpp:59 msgid "This does not look like a %1 image" msgstr "Toto nevyzerá ako obrázok %1" #: src/error.cpp:60 msgid "Invalid dataset name `%1'" msgstr "Chybný názov množiny údajov „%1“" #: src/error.cpp:61 msgid "Invalid record name `%1'" msgstr "Neplatný názov záznamu „%1“" #: src/error.cpp:62 msgid "Invalid key `%1'" msgstr "Neplatný kľúč „%1“" #: src/error.cpp:63 msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "neplatný názov značky alebo ifdId „%1“, ifdId %2" #: src/error.cpp:64 msgid "Value not set" msgstr "Nenastavená hodnota" #: src/error.cpp:65 msgid "%1: Failed to open the data source: %2" msgstr "%1: Nepodarilo sa otvoriť zdroj dát: %2" #: src/error.cpp:66 msgid "%1: Failed to open file (%2): %3" msgstr "%1: Nepodarilo sa otvoriť súbor (%2): %3" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "%1: Súbor obsahuje dáta neznámeho typu obrázka" #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "Pamäť obsahuje dáta neznámeho typu obrázka" #: src/error.cpp:69 msgid "Image type %1 is not supported" msgstr "Typ obrázka %1 nie je podporovaný" #: src/error.cpp:70 msgid "Failed to read image data" msgstr "Nepodarilo sa načítať obrazové údaje" #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "Toto nevyzerá na JPEG obrázok" #: src/error.cpp:72 #, fuzzy msgid "%1: Failed to map file for reading and writing: %2" msgstr "Nepodarilo sa otvoriť súbor s príkazmi na čítanie\n" #: src/error.cpp:73 msgid "%1: Failed to rename file to %2: %3" msgstr "%1: Nepodarilo sa premenovať súbor na %2: %3" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "%1: Prenos zlyhal: %2" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "Prenos z pamäte zlyhal: %1" #: src/error.cpp:76 msgid "Failed to read input data" msgstr "Nepodarilo sa načítať vstupné údaje" #: src/error.cpp:77 msgid "Failed to write image" msgstr "Nepodarilo sa zapísať obrázok" #: src/error.cpp:78 msgid "Input data does not contain a valid image" msgstr "Vstupné dáta neobsahujú podporovaný obrázok" #: src/error.cpp:79 #, fuzzy msgid "Invalid ifdId %1" msgstr "Neplatný kľúč „%1“" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" "Entry::setValue: Hodnota je príliš veľká (značka=%1, veľkosť=%2, požadovaná=" "%3)" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" "Entry::setDataArea: Hodnota je príliš veľká (značka=%1, veľkosť=%2, " "požadovaná=%3)" #: src/error.cpp:82 msgid "Offset out of range" msgstr "Ofset mimo rozsahu" #: src/error.cpp:83 msgid "Unsupported data area offset type" msgstr "Nepodporovaný typ ofsetu oblasti údajov" #: src/error.cpp:84 msgid "Invalid charset: `%1'" msgstr "Neplatná znaková sada: „%1“" #: src/error.cpp:85 msgid "Unsupported date format" msgstr "Nepodporovaný formát dátumu" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "Nepodporovaný formát času" #: src/error.cpp:87 #, fuzzy msgid "Writing to %1 images is not supported" msgstr "Zapisovanie do obrázkov „%2“ nie je podporované" #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "Voľba %1 v %2 obrázkoch nie je povolené" #: src/error.cpp:89 msgid "This does not look like a CRW image" msgstr "Toto nevyzerá na CRW obrázok" #: src/error.cpp:90 msgid "%1: Not supported" msgstr "%1: Nepodporovaný" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "Nie sú dostupné informácie mennom priestore XMP predpony „%1“" #: src/error.cpp:92 #, fuzzy msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "Pre menný priestor „%1“ nie je zaregistrovaná predpona" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "Veľkosť %1 JPEG časti je väčšia ako 65535 bajtov" #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "Xmpdatum %1 typu %2 bez obsluhy" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "XMP uzol %1 s opt=%2 bez obsluhy" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "Chyba XMP Toolkit %1: %2" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "Nepodarilo sa dekódovať vlastnosť Lang Alt %1 s opt=%2" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "Nepodarilo sa dekódovať kvalifikátor Lang Alt %1 s opt=%2" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "Nepodarilo sa zakódovať vlastnosť Lang Alt %1" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "" "Nepodarilo sa dekódovať názov vlastnosti z cesty %1, menného priestoru %2" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "Menný priestor schémy %1 nie je registrovaný v XMP Toolkit" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "Pre predponu „%1“ nie je zaregistrovaný menný priestor" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" #: src/error.cpp:104 #, fuzzy msgid "Invalid XmpText type `%1'" msgstr "Neplatný kľúč „%1“" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "" #: src/error.cpp:106 msgid "Multiple TIFF array element tags %1 in one directory" msgstr "" #: src/error.cpp:107 msgid "TIFF array element tag %1 has wrong type" msgstr "" #: src/error.cpp:108 #, fuzzy msgid "%1 has invalid XMP value type `%2'" msgstr "Neplatný kľúč „%1“" #: src/exiv2.cpp:213 #, fuzzy msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "Autorské práva (C) 2004-2013 Andreas Huggel.\n" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" "Tento program je šírený v nádeji, že bude užitočný, avšak\n" "BEZ AKEJKOĽVEK ZÁRUKY; neposkytujú sa ani odvodené záruky PREDAJNOSTI \n" "alebo VHODNOSTI PRE URČITÝ ÚČEL. Ďalšie podrobnosti hľadajte \n" "v GNU General Public License.\n" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "Použitie:" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" "[ voľby ] [ činnosť ] súbor ...\n" "\n" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "Manipulácia s Exif metadátami obrázkov.\n" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" "\n" "Operácie:\n" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" " ad | adjust Upraviť časové známky EXIF o daný čas. Táto operácia\n" " vyžaduje aspoň jednu z volieb -a, -Y, -O or -D.\n" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr " pr | print Vypísať metadáta obrázka.\n" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr " rm | delete Zmazať metadáta obrázkov zo súborov.\n" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" " in | insert Vložiť metadáta zo zodpovedajúcich súborov *.exv.\n" " Voľbou -S môžete zmeniť príponu vstupných súborov.\n" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" " ex | extract Extrahovať metadáta do súborov *.exv, *.xmp a náhľadov.\n" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" " mv | rename Premenovať súbory a/alebo nastaviť časové známky podľa\n" " časovej známky EXIF. Formát názvu súboru je možné nastaviť\n" " voľbou -r, voľby časovej známku sa menia pomocou -t a -T.\n" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" " mo | modify Použiť operácie na zmenu (pridanie, nastavenie, zmazanie) " "EXIF\n" " a IPTC metadát obrázkových súborov alebo nastavenie JPEG " "komentára.\n" " Vyžaduje voľbu -c, -m alebo -M.\n" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" " fi | fixiso Skopírovať nastavenie ISO z Pozn. výrobcu Nikon Makernote " "do\n" " bežnej EXIF značky.\n" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" #: src/exiv2.cpp:262 msgid "" "\n" "Options:\n" msgstr "" "\n" "Voľby:\n" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr " -h Zobraziť tohto pomocníka a skončiť.\n" #: src/exiv2.cpp:264 msgid " -V Show the program version and exit.\n" msgstr " -V Zobraziť verziu programu a skončiť.\n" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr " -v Výrečné informácie o behu programu.\n" #: src/exiv2.cpp:266 #, fuzzy msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr " -v Výrečné informácie o behu programu.\n" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" #: src/exiv2.cpp:268 msgid " -b Show large binary values.\n" msgstr " -b Zobrazovať veľké binárne hodnoty.\n" #: src/exiv2.cpp:269 #, fuzzy msgid " -u Show unknown tags.\n" msgstr " -u Nezobrazovať neznáme značky.\n" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr "" #: src/exiv2.cpp:271 msgid " -K key Only output info for this key (exact match).\n" msgstr "" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr " -k Zachovať časové známky súborov.\n" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" " -t Pri operácii „rename“ nastaviť aj časové známky súborov (má " "prioritu pred -k).\n" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" " -T Operáciou „rename“ iba nastavovať časové známky, nepremenúvať\n" " súbor (má prioritu pred -k).\n" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr " -f Nepýtať sa pred prepísaním existujúcich súborov.\n" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr " -F Nepýtať sa pred premenovaním súborov.\n" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" " -a time nastavenie času vo formáte [-]HH[:MM[:SS]]. Táto voľba\n" " sa používa iba s operáciou „adjust“.\n" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr " -Y rok Nastavenie rokov operáciou „adjust“.\n" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr " -O mes Nastavenie mesiacov operáciou „adjust“.\n" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr " -D deň Nastavenie dní operáciou „adjust“.\n" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr " -p rež Režim výpisu operácie „print“. možné režimy sú:\n" #: src/exiv2.cpp:285 msgid " s : print a summary of the Exif metadata (the default)\n" msgstr " s : vypísať zhrnutie EXIF metadát (štandardne)\n" #: src/exiv2.cpp:286 #, fuzzy msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr " v : čisto hodnoty EXIF údajov (skratka pre -Pxgnycv)\n" #: src/exiv2.cpp:287 #, fuzzy msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr "" " t : interpretované (preložené) EXIF údaje (skratka pre -Pkyct)\n" #: src/exiv2.cpp:288 #, fuzzy msgid " v : plain Exif data values (-PExgnycv)\n" msgstr " v : čisto hodnoty EXIF údajov (skratka pre -Pxgnycv)\n" #: src/exiv2.cpp:289 #, fuzzy msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr "" " h : hexadecimálny výpis EXIF údajov (skratka pre -Pxgnycsh)\n" #: src/exiv2.cpp:290 #, fuzzy msgid " i : IPTC data values (-PIkyct)\n" msgstr " i : hodnoty IPTC údajov\n" #: src/exiv2.cpp:291 #, fuzzy msgid " x : XMP properties (-PXkyct)\n" msgstr " x : XMP vlastnosti\n" #: src/exiv2.cpp:292 src/exiv2.cpp:317 msgid " c : JPEG comment\n" msgstr " c : JPEG komentár\n" #: src/exiv2.cpp:293 #, fuzzy msgid " p : list available previews\n" msgstr " l : označenie značky\n" #: src/exiv2.cpp:294 #, fuzzy msgid " S : print structure of image\n" msgstr " v : čisté dátové hodnoty\n" #: src/exiv2.cpp:295 #, fuzzy msgid " X : extract XMP from image\n" msgstr " x : XMP vlastnosti\n" #: src/exiv2.cpp:296 #, fuzzy msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" " -P stĺps Vypísať stĺpce zoznamu EXIF značiek (operácia „print“). Platné " "voľby:\n" #: src/exiv2.cpp:297 #, fuzzy msgid " E : include Exif tags in the list\n" msgstr " s : veľkosť v bajtoch\n" #: src/exiv2.cpp:298 #, fuzzy msgid " I : IPTC datasets\n" msgstr " i : údaje IPTC\n" #: src/exiv2.cpp:299 #, fuzzy msgid " X : XMP properties\n" msgstr " x : XMP vlastnosti\n" #: src/exiv2.cpp:300 #, fuzzy msgid " x : print a column with the tag number\n" msgstr " x : vypísať stĺpec s hodnotou značky\n" #: src/exiv2.cpp:301 msgid " g : group name\n" msgstr " g : názov skupiny\n" #: src/exiv2.cpp:302 msgid " k : key\n" msgstr " k : kľúč\n" #: src/exiv2.cpp:303 msgid " l : tag label\n" msgstr " l : označenie značky\n" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr " n : názov značky\n" #: src/exiv2.cpp:305 msgid " y : type\n" msgstr " y : typ\n" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr " c : počet zložiek\n" #: src/exiv2.cpp:307 msgid " s : size in bytes\n" msgstr " s : veľkosť v bajtoch\n" #: src/exiv2.cpp:308 msgid " v : plain data value\n" msgstr " v : čisté dátové hodnoty\n" #: src/exiv2.cpp:309 msgid " t : interpreted (translated) data\n" msgstr " t : interpretované (preložené) hodnoty\n" #: src/exiv2.cpp:310 msgid " h : hexdump of the data\n" msgstr " h : hexadecimálny výpis údajov\n" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr " -d cieľ Ciele zmazanie operácie „delete“. Možné ciele sú:\n" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr " a : všetky podporované metadáta (štandardne)\n" #: src/exiv2.cpp:313 msgid " e : Exif section\n" msgstr " e : sekcia EXIF\n" #: src/exiv2.cpp:314 msgid " t : Exif thumbnail only\n" msgstr " t : iba EXIF náhľady\n" #: src/exiv2.cpp:315 msgid " i : IPTC data\n" msgstr " i : údaje IPTC\n" #: src/exiv2.cpp:316 msgid " x : XMP packet\n" msgstr " x : XMP paket\n" #: src/exiv2.cpp:318 #, fuzzy msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" " -i cieľ Ciele vkladania operácie „insert“. Možné ciele sú\n" " rovnaké ako pri voľbe -d, plus:\n" " X : Vložiť XMP paket zo .xmp\n" " Je možné vložiť iba náhľady JPEG, musia byť pomenované\n" " -thumb.jpg\n" #: src/exiv2.cpp:323 #, fuzzy msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" " -e cieľ Ciele extrakcie operácie „extract“. Možné ciele\n" " rovnaké ako pri voľbe -i, plus:\n" " X : Extrahovať XMP paket do .xmp\n" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" " -r fmt Formát názvu súboru operácie „rename“. Formátovací reťazec\n" " je podľa strftime(3). Podporované sú nasledovné kľúčové slová:\n" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr " :basename: - pôvodný názov súboru bez prípony\n" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr "" " :dirname: - názov adresára, v ktorom sa nachádza pôvodný " "súbor\n" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr " :parentname: - názov rodičovského adresára\n" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr " Štandardný formát názvu súboru je " #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr " -c txt Reťazec JPEG komentára, ktorý sa má v obrázku nastaviť.\n" #: src/exiv2.cpp:336 msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" " -m súbor Súbor s príkazmi operácie „modify“. Formát príkazov je\n" " set|add|del [[] ].\n" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" " -M súbor Príkazový riadok operácie „modify“. Formát príkazov je\n" " rovnaký ako formát riadkov súboru s príkazmi.\n" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" " -l adr Umiestnenie (adresár) súborov, ktoré sa majú vložiť alebo " "extrahovať.\n" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" " -S .suf Použiť príponu .suf pre zdrojové súbory operácie „insert“.\n" "\n" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 msgid "Option" msgstr "Voľba" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "vyžaduje parameter\n" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "Neprípustná možnosť" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "getopt vrátil neočakávaný kód znaku" #: src/exiv2.cpp:410 #, fuzzy msgid "Invalid argument" msgstr "Neplatný kľúč" #: src/exiv2.cpp:434 #, fuzzy msgid "Invalid regexp" msgstr "Neplatný kľúč" #: src/exiv2.cpp:473 src/exiv2.cpp:526 msgid "Ignoring surplus option" msgstr "Ignoruje sa nadbytočná voľba" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "nie je kompatibilná s predošlou voľbou\n" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "Ignoruje sa nadbytočná voľba -a" #: src/exiv2.cpp:504 msgid "Error parsing -a option argument" msgstr "Chyba syntaktickej analýzy argumentu voľby -a" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "Voľba -a nie je kompatibilná s predošlou voľbou\n" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "Spracovanie chýb" #: src/exiv2.cpp:535 msgid "option argument" msgstr "argument voľby" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "Nerozpoznaný režim výpisu" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "Ignoruje sa nadbytočná voľba -p" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "Voľba -p nie je kompatibilná s predošlou voľbou\n" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "Nerozpoznaný cieľ výpisu" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "Ignoruje sa nadbytočná voľba -P" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "Voľba -P nie je kompatibilná s predošlou voľbou\n" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "Voľba -d nie je kompatibilná s predošlou voľbou\n" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "Voľba -e nie je kompatibilná s predošlou voľbou\n" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "Voľba -i nie je kompatibilná s predošlou voľbou\n" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "Činnosť adjust nie je kompatibilná so zadanými voľbami\n" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "Činnosť print nie je kompatibilná so zadanými voľbami\n" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "Činnosť delete nie je kompatibilná so zadanými voľbami\n" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "Činnosť extract nie je kompatibilná so zadanými voľbami\n" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "Činnosť insert nie je kompatibilná so zadanými voľbami\n" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "Činnosť rename nie je kompatibilná so zadanými voľbami\n" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "Činnosť modify nie je kompatibilná so zadanými voľbami\n" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "Činnosť fixiso nie je kompatibilná so zadanými voľbami\n" #: src/exiv2.cpp:824 #, fuzzy msgid "Action fixcom is not compatible with the given options\n" msgstr "Činnosť fixiso nie je kompatibilná so zadanými voľbami\n" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "Musí byť uvedená operácia\n" #: src/exiv2.cpp:904 msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "Operácia adjust vyžaduje aspoň jednu z volieb -a, -Y, -O alebo -D\n" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "Operácia modify vyžaduje aspoň jednu z volieb -c, -m alebo -M\n" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "Je požadovaný aspoň jeden súbor\n" #: src/exiv2.cpp:920 msgid "Error parsing -m option arguments\n" msgstr "Chyba syntaktickej analýzy argumentov voľby -m\n" #: src/exiv2.cpp:927 msgid "Error parsing -M option arguments\n" msgstr "Chyba syntaktickej analýzy argumentov voľby -M\n" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "Voľbu -l možno použiť iba s operáciami extract alebo insert\n" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "Voľbu -S možno použiť iba s operáciou insert\n" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "Voľbu -t možno použiť iba s operáciou rename\n" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "Voľbu -T možno použiť iba s operáciou rename\n" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "Nerozpoznaný " #: src/exiv2.cpp:1039 msgid "target" msgstr "cieľ" #: src/exiv2.cpp:1065 #, fuzzy msgid "Invalid preview number" msgstr "Číslo intervalu" #: src/exiv2.cpp:1097 msgid "Failed to open command file for reading\n" msgstr "Nepodarilo sa otvoriť súbor s príkazmi na čítanie\n" #: src/exiv2.cpp:1110 msgid "line" msgstr "riadok" #: src/exiv2.cpp:1133 msgid "-M option" msgstr "voľba -M" #: src/exiv2.cpp:1180 #, fuzzy msgid "Invalid command line:" msgstr "Neplatný príkazový riadok" #: src/exiv2.cpp:1187 msgid "Invalid command" msgstr "Neplatný príkaz" #: src/exiv2.cpp:1219 msgid "Invalid key" msgstr "Neplatný kľúč" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "Neplatný príkazový riadok" #: src/fujimn.cpp:62 #, fuzzy msgid "Soft mode 1" msgstr "Bodový režim" #: src/fujimn.cpp:63 #, fuzzy msgid "Soft mode 2" msgstr "Bodový režim" #: src/fujimn.cpp:65 msgid "Hard mode 1" msgstr "Tvrdý režim 1" #: src/fujimn.cpp:66 msgid "Hard mode 2" msgstr "Tvrdý režim 2" #: src/fujimn.cpp:74 msgid "Fluorescent (daylight)" msgstr "fluorescenčné (denné svetlo)" #: src/fujimn.cpp:75 msgid "Fluorescent (warm white)" msgstr "fluorescenčné (teplá biela)" #: src/fujimn.cpp:76 msgid "Fluorescent (cool white)" msgstr "fluorescenčné (chladná biela)" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 msgid "Incandescent" msgstr "Inkadescentné" #: src/fujimn.cpp:87 src/fujimn.cpp:88 msgid "None (black & white)" msgstr "Žiadne (čiernobiele)" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 msgid "Red-eye reduction" msgstr "Korekcia červených očí" #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 msgid "Night scene" msgstr "Nočná scéna" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 msgid "Program AE" msgstr "Program AE" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "Prirodzené svetlo" #: src/fujimn.cpp:122 msgid "Anti-blur" msgstr "Zabránenie rozostrenia" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 msgid "Sunset" msgstr "Západ slnka" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 msgid "Museum" msgstr "múzeum" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 msgid "Party" msgstr "Oslavy" #: src/fujimn.cpp:126 msgid "Flower" msgstr "Kvet" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "Text" #: src/fujimn.cpp:128 msgid "Natural light & flash" msgstr "Prírodné svetlo a blesk" # FUZZY exif-exposureprogram-3 #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 msgid "Aperture-priority AE" msgstr "Priorita clony AE" # FUZZY exif-exposureprogram-4 #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 msgid "Shutter speed priority AE" msgstr "Priorita rýchlosti uzávierky AE" #: src/fujimn.cpp:142 msgid "No flash & flash" msgstr "Bez blesku a blesk" #: src/fujimn.cpp:148 msgid "Chrome" msgstr "Chróm" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 msgid "Wide" msgstr "Široké" #: src/fujimn.cpp:160 msgid "F0/Standard" msgstr "F0/Štandardný" #: src/fujimn.cpp:161 msgid "F1/Studio portrait" msgstr "F1/Štúdiový portrét" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "F2/Fujichróm" #: src/fujimn.cpp:163 msgid "F3/Studio portrait Ex" msgstr "F3/Štúdiový portrét Ex" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "F4/Velvia" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "Auto (100-400 %)" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "Raw" #: src/fujimn.cpp:171 msgid "Standard (100%)" msgstr "Štandardný (100%)" #: src/fujimn.cpp:172 msgid "Wide mode 1 (230%)" msgstr "Široký režim 1 (230%)" #: src/fujimn.cpp:173 msgid "Wide mode 2 (400%)" msgstr "Široký režim 2 (400%)" #: src/fujimn.cpp:174 msgid "Film simulation mode" msgstr "Režim simulácie filmu" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 msgid "Version" msgstr "Verzia" #: src/fujimn.cpp:180 msgid "Fujifilm Makernote version" msgstr "Poznámka výrobcu Fujifilm" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" "Toto číslo je jedinečné a obsahuje dátum výroby, ale nie je rovnaké ako " "číslo na plášti fotoaparátu." #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 msgid "Image quality setting" msgstr "Nastavenie kvality obrázka" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 msgid "Color" msgstr "Farba" #: src/fujimn.cpp:196 msgid "Chroma saturation setting" msgstr "Nastavenie sýtosti chromaticity" #: src/fujimn.cpp:198 msgid "Tone" msgstr "odtieň" #: src/fujimn.cpp:202 msgid "Flash firing mode setting" msgstr "Nastavenie režimu spustenia blesku" #: src/fujimn.cpp:204 msgid "Flash Strength" msgstr "Sila blesku" #: src/fujimn.cpp:205 msgid "Flash firing strength compensation setting" msgstr "Nastavenie kompenzácie intenzity blesku" #: src/fujimn.cpp:208 msgid "Macro mode setting" msgstr "Nastavenie režimu makro" #: src/fujimn.cpp:211 msgid "Focusing mode setting" msgstr "Nastavenie režimu zaostrenia" #: src/fujimn.cpp:216 msgid "Slow Sync" msgstr "Pomalá synchronizácia" #: src/fujimn.cpp:217 msgid "Slow synchro mode setting" msgstr "Nastavenie režimu pomalej synchronizácie" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 msgid "Picture Mode" msgstr "Režim obrázka" #: src/fujimn.cpp:220 msgid "Picture mode setting" msgstr "Nastavenie režimu obrázka" #: src/fujimn.cpp:226 msgid "Continuous shooting or auto bracketing setting" msgstr "Nastavenie spojitého alebo viacnásobného záberu" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 msgid "Sequence Number" msgstr "Poradové číslo" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 msgid "Sequence number" msgstr "Poradové číslo" #: src/fujimn.cpp:234 msgid "FinePix Color" msgstr "FinePix Color" #: src/fujimn.cpp:235 msgid "Fuji FinePix color setting" msgstr "Nastavenie farieb Fuji FinePix" #: src/fujimn.cpp:237 msgid "Blur Warning" msgstr "Upozornenie pred rozostrením" #: src/fujimn.cpp:238 msgid "Blur warning status" msgstr "Stav upozornenia pred rozostrením" #: src/fujimn.cpp:240 msgid "Focus Warning" msgstr "Upozornenie zaostrenia" #: src/fujimn.cpp:241 msgid "Auto Focus warning status" msgstr "Stav upozornenia automatického zaistrenia" #: src/fujimn.cpp:243 msgid "Exposure Warning" msgstr "Upozornenie expozície" #: src/fujimn.cpp:244 msgid "Auto exposure warning status" msgstr "Stav upozornenia automatickej expozície" #: src/fujimn.cpp:246 msgid "Dynamic Range" msgstr "Dynamický rozsah" #: src/fujimn.cpp:247 msgid "Dynamic range" msgstr "Dynamický rozsah" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 msgid "Film Mode" msgstr "Režim filmu" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 msgid "Film mode" msgstr "Režim filmu" #: src/fujimn.cpp:252 msgid "Dynamic Range Setting" msgstr "Nastavenie dynamického rozsahu" #: src/fujimn.cpp:253 msgid "Dynamic range settings" msgstr "Nastavenie dynamického rozsahu" #: src/fujimn.cpp:255 msgid "Development Dynamic Range" msgstr "Vývojový dynamický rozsah" #: src/fujimn.cpp:256 msgid "Development dynamic range" msgstr "Vývojový dynamický rozsah" # FUZZY exif-focallength #: src/fujimn.cpp:258 msgid "Minimum Focal Length" msgstr "Minimálna ohnisková vzdialenosť" # FUZZY exif-focallength #: src/fujimn.cpp:259 msgid "Minimum focal length" msgstr "Minimálna ohnisková vzdialenosť" # FUZZY exif-focallength #: src/fujimn.cpp:261 msgid "Maximum Focal Length" msgstr "Maximálna ohnisková vzdialenosť" # FUZZY exif-focallength #: src/fujimn.cpp:262 msgid "Maximum focal length" msgstr "Maximálna ohnisková vzdialenosť" #: src/fujimn.cpp:264 #, fuzzy msgid "Maximum Aperture at Minimum Focal" msgstr "maximálna clona pri minimálnom ohnisku" #: src/fujimn.cpp:265 #, fuzzy msgid "Maximum aperture at minimum focal" msgstr "maximálna clona pri minimálnom ohnisku" #: src/fujimn.cpp:267 #, fuzzy msgid "Maximum Aperture at Maximum Focal" msgstr "maximálna clona pri maximálnom ohnisku" #: src/fujimn.cpp:268 #, fuzzy msgid "Maximum aperture at maximum focal" msgstr "maximálna clona pri maximálnom ohnisku" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 msgid "File Source" msgstr "Zdroj súboru" #: src/fujimn.cpp:271 msgid "File source" msgstr "Zdroj súboru" #: src/fujimn.cpp:273 msgid "Order Number" msgstr "Poradové číslo" #: src/fujimn.cpp:274 msgid "Order number" msgstr "Poradové číslo" #: src/fujimn.cpp:276 msgid "Frame Number" msgstr "Číslo rámca" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 msgid "Frame number" msgstr "Číslo rámca" #: src/fujimn.cpp:281 msgid "Unknown FujiMakerNote tag" msgstr "Neznáma značka FujiMakerNote" #: src/minoltamn.cpp:56 msgid "Natural Color" msgstr "Prirodzená farba" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 msgid "Vivid Color" msgstr "Živé farby" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 msgid "Solarization" msgstr "Solarizácia" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "Adobe RGB" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 msgid "Natural" msgstr "Prirodzené" #: src/minoltamn.cpp:64 msgid "Natural sRGB" msgstr "Prirodzené sRGB" #: src/minoltamn.cpp:65 msgid "Natural+ sRGB" msgstr "Prirodzené+ sRGB" #: src/minoltamn.cpp:67 msgid "Evening" msgstr "Večer" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 msgid "Night Portrait" msgstr "Nočný portrét" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 msgid "Super Fine" msgstr "super jemný" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 msgid "Extra Fine" msgstr "extra jemný" #: src/minoltamn.cpp:90 msgid "Makernote Version" msgstr "Poznámky zhotoviteľa - verzia" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "Reťazec 'MLT0' (nie je ukončený nulou)" #: src/minoltamn.cpp:93 msgid "Camera Settings (Std Old)" msgstr "Nastavenie fotoaparátu (štd. staré)" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "" #: src/minoltamn.cpp:96 msgid "Camera Settings (Std New)" msgstr "Nastavenie fotoaparátu (štd. nové)" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "" #: src/minoltamn.cpp:99 msgid "Camera Settings (7D)" msgstr "Nastavenie fotoaparátu (7D)" #: src/minoltamn.cpp:100 msgid "Camera Settings (for Dynax 7D model)" msgstr "Nastavenia fotoaparátu (pre model Dynax 7D)" #: src/minoltamn.cpp:102 msgid "Image Stabilization Data" msgstr "Údaje o stabilizácii obrazu" #: src/minoltamn.cpp:103 msgid "Image stabilization data" msgstr "Údaje o stabilizácii obrazu" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "" #: src/minoltamn.cpp:111 msgid "Compressed Image Size" msgstr "Veľkosť komprimovaného obrázka" #: src/minoltamn.cpp:112 msgid "Compressed image size" msgstr "Veľkosť komprimovaného obrázka" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "Jpeg miniatúra 640x480 bodov" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 msgid "Thumbnail Offset" msgstr "Ofset náhľadu" #: src/minoltamn.cpp:118 msgid "Offset of the thumbnail" msgstr "Umiestnenie náhľadu v dátach" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 msgid "Thumbnail Length" msgstr "Dĺžka náhľadu" #: src/minoltamn.cpp:121 msgid "Size of the thumbnail" msgstr "Veľkosť náhľadu" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 msgid "Scene Mode" msgstr "Režim scény" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 msgid "Color Mode" msgstr "Farebný režim" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 msgid "Color mode" msgstr "Farebný režim" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 msgid "Image Quality" msgstr "Kvalita obrázka" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 msgid "Flash Exposure Compensation" msgstr "Kompenzácia expozície blesku" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 msgid "Flash exposure compensation in EV" msgstr "Kompenzácia expozície blesku v EV" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 #, fuzzy msgid "Teleconverter Model" msgstr "Režim scény" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 #, fuzzy msgid "Zone Matching" msgstr "Redukcia šumu" #: src/minoltamn.cpp:154 #, fuzzy msgid "Zone matching" msgstr "Redukcia šumu" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 msgid "Color temperature" msgstr "Farebná teplota" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 msgid "Lens ID" msgstr "ID šošoviek" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 msgid "Lens identifier" msgstr "Identifikátor šošoviek" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 #, fuzzy msgid "Color Compensation Filter" msgstr "Kompenzácia tónu" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 #, fuzzy msgid "White Balance Fine Tune" msgstr "Tabuľka vyváženia bielej" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 #, fuzzy msgid "White Balance Fine Tune Value" msgstr "Tabuľka vyváženia bielej" #: src/minoltamn.cpp:168 #, fuzzy msgid "Image Stabilization A100" msgstr "Stabilizácia obrazu" #: src/minoltamn.cpp:169 #, fuzzy msgid "Image Stabilization for the Sony DSLR-A100" msgstr "Údaje o stabilizácii obrazu" #: src/minoltamn.cpp:173 msgid "Camera Settings (5D)" msgstr "Nastavenie fotoaparátu (5D)" #: src/minoltamn.cpp:174 msgid "Camera Settings (for Dynax 5D model)" msgstr "Nastavenia fotoaparátu (pre model Dynax 5D)" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 #, fuzzy msgid "PrintIM information" msgstr "Informácie GPS" #: src/minoltamn.cpp:183 msgid "Camera Settings (Z1)" msgstr "Nastavenie fotoaparátu (Z1)" #: src/minoltamn.cpp:184 msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "Nastavenia fotoaparátu (pre modely Z1, DImage X, a F100)" #: src/minoltamn.cpp:188 msgid "Unknown Minolta MakerNote tag" msgstr "Neznáma značka Minolta MakerNote" # exif-exposureprogram-3 #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 msgid "Aperture priority" msgstr "priorita clony" # exif-exposureprogram-4 #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "priorita uzávierky" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 msgid "Fill flash" msgstr "Spustí sa blesk" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 #, fuzzy msgid "Rear flash sync" msgstr "Odrazenie externého blesku" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 msgid "Wireless" msgstr "Bezdrôtové" #: src/minoltamn.cpp:224 msgid "Fluorescent 2" msgstr "fluorescentné 2" #: src/minoltamn.cpp:231 msgid "Full size" msgstr "Plná veľkosť" #: src/minoltamn.cpp:243 msgid "Super fine" msgstr "super jemný" #: src/minoltamn.cpp:247 msgid "Extra fine" msgstr "extrajemný" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 #, fuzzy msgid "Single Frame" msgstr "jediný záber" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 msgid "Self-timer" msgstr "samospúšť" #: src/minoltamn.cpp:255 msgid "Bracketing" msgstr "Viacnásobné snímky" #: src/minoltamn.cpp:256 msgid "Interval" msgstr "Interval" #: src/minoltamn.cpp:257 msgid "UHS continuous" msgstr "UHS spojitý" #: src/minoltamn.cpp:258 msgid "HS continuous" msgstr "HS spojitý" # exif-meteringmode-4 #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 #, fuzzy msgid "Multi-segment" msgstr "Viacbodový" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 msgid "Center weighted average" msgstr "Stredovo vážený priemer" #: src/minoltamn.cpp:271 msgid "Electronic magnification" msgstr "Elektromagnetické zväčšenie" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 msgid "Top" msgstr "hore" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 msgid "Top-right" msgstr "vpravo hore" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 msgid "Bottom-right" msgstr "vpravo dolu" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 msgid "Bottom" msgstr "dolu" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 msgid "Bottom-left" msgstr "vľavo dolu" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 msgid "Top-left" msgstr "vpravo hore" # exif-sharpness-2 #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 msgid "Hard" msgstr "tvrdý" # exif-sharpness-1 #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 msgid "Soft" msgstr "mäkký" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 msgid "Night portrait" msgstr "Nočný portrét" #: src/minoltamn.cpp:315 msgid "Sports action" msgstr "Akčný šport" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "" #: src/minoltamn.cpp:349 msgid "Standard form" msgstr "Štandardný tvar" #: src/minoltamn.cpp:350 msgid "Data form" msgstr "Tvar dát" #: src/minoltamn.cpp:355 msgid "Natural color" msgstr "Prirodzená farba" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 msgid "Black and white" msgstr "Čiernobiela" #: src/minoltamn.cpp:357 msgid "Vivid color" msgstr "Živé farby" #: src/minoltamn.cpp:364 msgid "No zone" msgstr "Žiadna oblasť" #: src/minoltamn.cpp:365 msgid "Center zone (horizontal orientation)" msgstr "Stredná oblasť (vodorovná orientácia)" #: src/minoltamn.cpp:366 msgid "Center zone (vertical orientation)" msgstr "Stredná oblasť (zvislá orientácia)" #: src/minoltamn.cpp:367 msgid "Left zone" msgstr "Oblasť vľavo" #: src/minoltamn.cpp:368 msgid "Right zone" msgstr "Oblasť vpravo" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 msgid "Auto focus" msgstr "Automatické zaostrenie" #: src/minoltamn.cpp:379 msgid "Wide focus (normal)" msgstr "Široké zaostrenie (bežné)" #: src/minoltamn.cpp:380 msgid "Spot focus" msgstr "Bodové zaostrenie" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 msgid "Exposure" msgstr "Expozícia" #: src/minoltamn.cpp:388 msgid "Filter" msgstr "Filter" #: src/minoltamn.cpp:393 msgid "Not embedded" msgstr "Nevložený" #: src/minoltamn.cpp:394 msgid "Embedded" msgstr "Vložený" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "Text + ID#" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "ADI (Pokročilá integrácia vzdialenosti)" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "" #: src/minoltamn.cpp:410 msgid "Manual flash control" msgstr "Ručné riadenie blesku" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 msgid "Exposure Mode" msgstr "Režim expozície" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 msgid "Flash mode" msgstr "Režim blesku" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 msgid "Drive mode" msgstr "jazda autom" #: src/minoltamn.cpp:512 #, fuzzy msgid "ISO Value" msgstr "Hodnota ISO rýchlosti" #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 msgid "Exposure Time" msgstr "Čas expozície" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 msgid "FNumber" msgstr "číslo F" #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 msgid "The F-Number" msgstr "Číslo F" #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 msgid "Macro Mode" msgstr "Režim makro" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 msgid "Exposure Compensation" msgstr "Kompenzácia expozície" #: src/minoltamn.cpp:529 msgid "Bracket Step" msgstr "Krok viacnásobného záberu" #: src/minoltamn.cpp:530 msgid "Bracket step" msgstr "Krok viacnásobného záberu" #: src/minoltamn.cpp:532 msgid "Interval Length" msgstr "Dĺžka intervalu" #: src/minoltamn.cpp:533 msgid "Interval length" msgstr "Dĺžka intervalu" #: src/minoltamn.cpp:535 msgid "Interval Number" msgstr "Číslo intervalu" #: src/minoltamn.cpp:536 msgid "Interval number" msgstr "Číslo intervalu" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 msgid "Focus Distance" msgstr "Vzdialenosť zaostrenia" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 msgid "Focus distance" msgstr "Vzdialenosť zaostrenia" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 #, fuzzy msgid "Flash Fired" msgstr "Zariadenie blesku" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 #, fuzzy msgid "Flash fired" msgstr "Blesk vypnutý" #: src/minoltamn.cpp:547 msgid "Minolta Date" msgstr "Dátum Minolta" #: src/minoltamn.cpp:548 msgid "Minolta date" msgstr "Dátum Minolta" #: src/minoltamn.cpp:550 msgid "Minolta Time" msgstr "Čas Minolta" #: src/minoltamn.cpp:551 msgid "Minolta time" msgstr "Čas Minolta" #: src/minoltamn.cpp:556 msgid "File Number Memory" msgstr "Pamäť čísla súboru" #: src/minoltamn.cpp:557 msgid "File number memory" msgstr "Pamäť čísla súboru" #: src/minoltamn.cpp:559 #, fuzzy msgid "Last Image Number" msgstr "Číslo obrázka" #: src/minoltamn.cpp:560 #, fuzzy msgid "Last image number" msgstr "Číslo obrázka" #: src/minoltamn.cpp:562 msgid "Color Balance Red" msgstr "Vyváženie farieb Červená" #: src/minoltamn.cpp:563 msgid "Color balance red" msgstr "Vyváženie farieb Červená" #: src/minoltamn.cpp:565 msgid "Color Balance Green" msgstr "Vyváženie farieb Zelená" #: src/minoltamn.cpp:566 msgid "Color balance green" msgstr "Vyváženie farieb Zelená" #: src/minoltamn.cpp:568 msgid "Color Balance Blue" msgstr "Vyváženie farieb Modrá" #: src/minoltamn.cpp:569 msgid "Color balance blue" msgstr "Vyváženie farieb Modrá" #: src/minoltamn.cpp:580 msgid "Subject Program" msgstr "Program subjektu" #: src/minoltamn.cpp:581 msgid "Subject program" msgstr "Program subjektu" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 msgid "ISO Settings" msgstr "Nastavenia ISO" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 msgid "ISO setting" msgstr "Nastavenia ISO" #: src/minoltamn.cpp:589 msgid "Minolta Model" msgstr "Model Minolta" #: src/minoltamn.cpp:590 msgid "Minolta model" msgstr "Model Minolta" #: src/minoltamn.cpp:592 msgid "Interval Mode" msgstr "Režim intervalu" #: src/minoltamn.cpp:593 msgid "Interval mode" msgstr "Režim intervalu" #: src/minoltamn.cpp:595 msgid "Folder Name" msgstr "Názov priečinka" #: src/minoltamn.cpp:596 msgid "Folder name" msgstr "Názov priečinka" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 msgid "ColorMode" msgstr "Farebný režim" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 msgid "Color Filter" msgstr "Farebný filter" #: src/minoltamn.cpp:602 msgid "Color filter" msgstr "Farebný filter" #: src/minoltamn.cpp:604 msgid "Black and White Filter" msgstr "Čiernobiely filter" #: src/minoltamn.cpp:605 msgid "Black and white filter" msgstr "Čiernobiely filter" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 msgid "Internal Flash" msgstr "Vnútorný blesk" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 msgid "Brightness" msgstr "Jas" #: src/minoltamn.cpp:613 msgid "Spot Focus Point X" msgstr "Bod zaostrenia X" #: src/minoltamn.cpp:614 msgid "Spot focus point X" msgstr "Bod zaostrenia X" #: src/minoltamn.cpp:616 msgid "Spot Focus Point Y" msgstr "Bod zaostrenia Y" #: src/minoltamn.cpp:617 msgid "Spot focus point Y" msgstr "Bod zaostrenia Y" #: src/minoltamn.cpp:619 msgid "Wide Focus Zone" msgstr "Široký rozsah zaostrenia" #: src/minoltamn.cpp:620 msgid "Wide focus zone" msgstr "Oblasť širokého zaostrenia" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 msgid "Focus mode" msgstr "režim zaostrenia" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 msgid "Focus area" msgstr "Rozsah zaostrenia" #: src/minoltamn.cpp:628 msgid "DEC Switch Position" msgstr "Poloha prepínača DEC" #: src/minoltamn.cpp:629 msgid "DEC switch position" msgstr "poloha prepínača DEC" #: src/minoltamn.cpp:631 msgid "Color Profile" msgstr "Farebný profil" #: src/minoltamn.cpp:632 msgid "Color profile" msgstr "Farebný profil" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 #, fuzzy msgid "Data Imprint" msgstr "Výpis dát 1" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 msgid "Flash Metering" msgstr "Meranie blesku" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 msgid "Flash metering" msgstr "Meranie blesku" #: src/minoltamn.cpp:642 msgid "Unknown Minolta Camera Settings tag" msgstr "Neznáma značka Nastavenie fotoaparátu Minolta" #: src/minoltamn.cpp:660 #, fuzzy msgid "Program-shift A" msgstr "Posunutie programu" #: src/minoltamn.cpp:661 #, fuzzy msgid "Program-shift S" msgstr "Posunutie programu" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 msgid "Raw+Jpeg" msgstr "Raw+Jpeg" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 msgid "Kelvin" msgstr "Kelvinov" # AF = automatické zaostrenie #: src/minoltamn.cpp:695 msgid "Single-shot AF" msgstr "automatické zaostrenie pre jeden záber" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 msgid "Continuous AF" msgstr "spojité automatické zaostrenie" #: src/minoltamn.cpp:698 msgid "Automatic AF" msgstr "automatické zaostrenie" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 msgid "sRGB (Natural)" msgstr "sRGB (prirodzené)" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 msgid "sRGB (Natural+)" msgstr "sRGB (prirodzené+)" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 msgid "Horizontal (normal)" msgstr "Horizontálne (normálne)" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "Otočiť o 90°" #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "Otočiť o 270°" # AF = automatické zaostrenie #: src/minoltamn.cpp:756 msgid "AF Points" msgstr "body automatického zaostrenia" # AF = automatické zaostrenie #: src/minoltamn.cpp:757 msgid "AF points" msgstr "body automatického zaostrenia" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 msgid "Color Space" msgstr "Farebný priestor" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 msgid "Color space" msgstr "Fariebný priestor" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 msgid "Free Memory Card Images" msgstr "" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 msgid "Free memory card images" msgstr "" #: src/minoltamn.cpp:789 msgid "Hue" msgstr "Odtieň" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 msgid "Rotation" msgstr "otočenie" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 msgid "Image Number" msgstr "Číslo obrázka" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 msgid "Noise reduction" msgstr "Redukcia šumu" #: src/minoltamn.cpp:817 msgid "Zone Matching On" msgstr "" #: src/minoltamn.cpp:818 #, fuzzy msgid "Zone matching on" msgstr "Kompenzácia tónu" #: src/minoltamn.cpp:822 msgid "Unknown Minolta Camera Settings 7D tag" msgstr "Neznáma značka Minolta Camera Settings 7D" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 #, fuzzy msgid "Program Shift A" msgstr "Posunutie programu" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 #, fuzzy msgid "Program Shift S" msgstr "Posunutie programu" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 #, fuzzy msgid "Night View/Portrait" msgstr "Nočný portrét" #: src/minoltamn.cpp:895 msgid "200 (Zone Matching High)" msgstr "" #: src/minoltamn.cpp:896 msgid "80 (Zone Matching Low)" msgstr "" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 #, fuzzy msgid "Adobe RGB (ICC)" msgstr "Adobe RGB" #: src/minoltamn.cpp:918 msgid "Central" msgstr "Stred" #: src/minoltamn.cpp:919 msgid "Up" msgstr "Hore" #: src/minoltamn.cpp:920 msgid "Up right" msgstr "Vpravo hore" #: src/minoltamn.cpp:922 msgid "Down right" msgstr "Vpravo dolu" #: src/minoltamn.cpp:923 msgid "Down" msgstr "Dolu" #: src/minoltamn.cpp:924 msgid "Down left" msgstr "Vľavo dolu" #: src/minoltamn.cpp:926 msgid "Up left" msgstr "Vľavo hore" #: src/minoltamn.cpp:932 msgid "Selection" msgstr "Výber" #: src/minoltamn.cpp:947 #, fuzzy msgid "Natural+" msgstr "Prirodzené" #: src/minoltamn.cpp:949 #, fuzzy msgid "Wind Scene" msgstr "Nočná scéna" #: src/minoltamn.cpp:950 #, fuzzy msgid "Evening Scene" msgstr "Večer" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus Position" msgstr "poloha zaostrenia" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus position" msgstr "poloha zaostrenia" #: src/minoltamn.cpp:1003 msgid "Focus Area" msgstr "rozsah zaostrenia" #: src/minoltamn.cpp:1036 msgid "Exposure Revision" msgstr "Revízia expozície" #: src/minoltamn.cpp:1037 msgid "Exposure revision" msgstr "Revízia expozície" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 #, fuzzy msgid "Rotation2" msgstr "otočenie" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 #, fuzzy msgid "Picture Finish" msgstr "Informácie o obrázku" #: src/minoltamn.cpp:1063 msgid "Exposure Manual Bias" msgstr "Ručné skreslenie expozície" #: src/minoltamn.cpp:1064 msgid "Exposure manual bias" msgstr "Ručné skreslenie expozície" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 msgid "AF Mode" msgstr "Režim AZ" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 msgid "AF mode" msgstr "Režim AZ" #: src/minoltamn.cpp:1087 msgid "Unknown Minolta Camera Settings 5D tag" msgstr "Neznáma značka Minolta Camera Settings 5D" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 #, fuzzy msgid "Self-timer 10 sec" msgstr "samospúšť (12 sek)" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 #, fuzzy msgid "Self-timer 2 sec" msgstr "samospúšť (2 sek)" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 #, fuzzy msgid "White Balance Bracketing Low" msgstr "Viacnásobné snímky so zmenou vyváženia bielej" #: src/minoltamn.cpp:1105 #, fuzzy msgid "White Balance Bracketing High" msgstr "Viacnásobné snímky so zmenou vyváženia bielej" #: src/minoltamn.cpp:1106 #, fuzzy msgid "Single-frame Bracketing Low" msgstr "jediný záber" #: src/minoltamn.cpp:1107 #, fuzzy msgid "Continuous Bracketing Low" msgstr "Viacnásobné snímky" #: src/minoltamn.cpp:1108 #, fuzzy msgid "Single-frame Bracketing High" msgstr "jediný záber" #: src/minoltamn.cpp:1109 #, fuzzy msgid "Continuous Bracketing High" msgstr "Spojitý, vysoký" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 #, fuzzy msgid "Continuous Bracketing" msgstr "Spojitý, vysoký" #: src/minoltamn.cpp:1156 #, fuzzy msgid "Single-Frame Bracketing" msgstr "jediný záber" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 #, fuzzy msgid "White Balance Bracketing" msgstr "Viacnásobné snímky so zmenou vyváženia bielej" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 msgid "Preset" msgstr "Štandardné" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 #, fuzzy msgid "Color Temperature/Color Filter" msgstr "Farebná teplota" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 msgid "Temperature" msgstr "Teplota" #: src/minoltamn.cpp:1213 #, fuzzy msgid "Setup" msgstr "Nastaviť" #: src/minoltamn.cpp:1214 msgid "Recall" msgstr "" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "" #: src/minoltamn.cpp:1232 #, fuzzy msgid "Image and Information" msgstr "Konfigurácia obrázka" #: src/minoltamn.cpp:1233 #, fuzzy msgid "Image Only" msgstr "Typ obrázka" #: src/minoltamn.cpp:1234 #, fuzzy msgid "Image and Histogram" msgstr "Výška obrázka" #: src/minoltamn.cpp:1240 #, fuzzy msgid "Fill Flash" msgstr "Spustí sa blesk" #: src/minoltamn.cpp:1251 #, fuzzy msgid "Focus Hold" msgstr "režim zaostrenia" #: src/minoltamn.cpp:1252 #, fuzzy msgid "DOF Preview" msgstr "Dáta náhľadu" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "" #: src/minoltamn.cpp:1258 #, fuzzy msgid "Toggle" msgstr "odtieň" #: src/minoltamn.cpp:1259 #, fuzzy msgid "Spot Hold" msgstr "Bodový režim" #: src/minoltamn.cpp:1260 #, fuzzy msgid "Spot Toggle" msgstr "Bodový režim" # exif-shutterspeedvalue #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 msgid "Shutter Speed" msgstr "Rýchlosť uzávierky" #: src/minoltamn.cpp:1271 msgid "Ambient and Flash" msgstr "" #: src/minoltamn.cpp:1272 msgid "Ambient Only" msgstr "" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 #, fuzzy msgid "Automatic" msgstr "automatické zaostrenie" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 #, fuzzy msgid "Auto-rotate" msgstr "Automatický kontrast" #: src/minoltamn.cpp:1291 #, fuzzy msgid "Horizontal" msgstr "Horizontálne (normálne)" #: src/minoltamn.cpp:1297 #, fuzzy msgid "Manual Rotate" msgstr "Ručné uvoľnenie" #: src/minoltamn.cpp:1302 #, fuzzy msgid "Within Range" msgstr "Rozsah šošoviek:" #: src/minoltamn.cpp:1303 #, fuzzy msgid "Under/Over Range" msgstr "prenosový rozsah" #: src/minoltamn.cpp:1304 #, fuzzy msgid "Out of Range" msgstr "Ofset mimo rozsahu" #: src/minoltamn.cpp:1309 #, fuzzy msgid "Not Indicated" msgstr "nedefinované" #: src/minoltamn.cpp:1310 #, fuzzy msgid "Under Scale" msgstr "pod vodou" #: src/minoltamn.cpp:1311 #, fuzzy msgid "Bottom of Scale" msgstr "zdola hore" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "" #: src/minoltamn.cpp:1330 #, fuzzy msgid "Over Scale" msgstr "Štandardná škála" #: src/minoltamn.cpp:1335 msgid "AM" msgstr "" #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "" #: src/minoltamn.cpp:1342 msgid "Built-in" msgstr "" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 msgid "Very Low" msgstr "veľmi nízky" #: src/minoltamn.cpp:1350 #, fuzzy msgid "Half Full" msgstr "Plný" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "" #: src/minoltamn.cpp:1359 #, fuzzy msgid "Exposure Compensation Setting" msgstr "Kompenzácia expozície" #: src/minoltamn.cpp:1360 #, fuzzy msgid "Exposure compensation setting" msgstr "Kompenzácia expozície" #: src/minoltamn.cpp:1362 #, fuzzy msgid "High Speed Sync" msgstr "Orezanie vysoká rýchlosť" #: src/minoltamn.cpp:1363 #, fuzzy msgid "High speed sync" msgstr "Orezanie vysoká rýchlosť" #: src/minoltamn.cpp:1365 #, fuzzy msgid "Manual Exposure Time" msgstr "Čas expozície" #: src/minoltamn.cpp:1366 #, fuzzy msgid "Manual exposure time" msgstr "Čas expozície" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 #, fuzzy msgid "Manual FNumber" msgstr "Číslo intervalu" #: src/minoltamn.cpp:1377 #, fuzzy msgid "Drive Mode 2" msgstr "Režim jazda autom" #: src/minoltamn.cpp:1378 #, fuzzy msgid "Drive mode 2" msgstr "jazda autom" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 #, fuzzy msgid "AF Area Mode" msgstr "Režim AZ" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 #, fuzzy msgid "FlashMode" msgstr "Režim blesku" #: src/minoltamn.cpp:1395 #, fuzzy msgid "Flash Exposure Comp Setting" msgstr "Kompenzácia expozície blesku" #: src/minoltamn.cpp:1396 #, fuzzy msgid "Flash exposure compensation setting" msgstr "Kompenzácia expozície blesku v EV" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 #, fuzzy msgid "ISO Setting" msgstr "Nastavenia ISO" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 #, fuzzy msgid "Zone Matching Mode" msgstr "Redukcia šumu" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 #, fuzzy msgid "Dynamic Range Optimizer Mode" msgstr "Nastavenie dynamického rozsahu" #: src/minoltamn.cpp:1408 #, fuzzy msgid "Dynamic range optimizer mode" msgstr "Nastavenie dynamického rozsahu" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "" #: src/minoltamn.cpp:1434 #, fuzzy msgid "Self Timer Time" msgstr "Samospúšť" #: src/minoltamn.cpp:1435 #, fuzzy msgid "Self timer time" msgstr "Samospúšť" #: src/minoltamn.cpp:1438 #, fuzzy msgid "Continuous bracketing" msgstr "Spojitý, vysoký" #: src/minoltamn.cpp:1440 #, fuzzy msgid "Single Frame Bracketing" msgstr "Viacnásobné snímky so zmenou vyváženia bielej" #: src/minoltamn.cpp:1441 #, fuzzy msgid "Single frame bracketing" msgstr "Viacnásobné snímky so zmenou vyváženia bielej" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 msgid "White balance bracketing" msgstr "Viacnásobné snímky so zmenou vyváženia bielej" #: src/minoltamn.cpp:1446 #, fuzzy msgid "White Balance Setting" msgstr "Nastavenie vyváženia bielej" #: src/minoltamn.cpp:1449 #, fuzzy msgid "Preset White Balance" msgstr "Vyváženie bielej" #: src/minoltamn.cpp:1450 #, fuzzy msgid "Preset white balance" msgstr "Vyváženie bielej" #: src/minoltamn.cpp:1452 #, fuzzy msgid "Color Temperature Setting" msgstr "Farebná teplota" #: src/minoltamn.cpp:1453 #, fuzzy msgid "Color temperature setting" msgstr "Farebná teplota" #: src/minoltamn.cpp:1455 #, fuzzy msgid "Custom WB Setting" msgstr "Vlastný 1" #: src/minoltamn.cpp:1456 #, fuzzy msgid "Custom WB setting" msgstr "Vlastný 1" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 #, fuzzy msgid "Dynamic Range Optimizer Settings" msgstr "Nastavenie dynamického rozsahu" #: src/minoltamn.cpp:1464 #, fuzzy msgid "Custom WB Red Level" msgstr "WB_RGGBLevelsShade" #: src/minoltamn.cpp:1465 #, fuzzy msgid "Custom WB red level" msgstr "Úroveň čiernej" #: src/minoltamn.cpp:1467 #, fuzzy msgid "Custom WB Green Level" msgstr "Úroveň čiernej" #: src/minoltamn.cpp:1468 #, fuzzy msgid "Custom WB green level" msgstr "Úroveň čiernej" #: src/minoltamn.cpp:1470 #, fuzzy msgid "Custom WB Blue Level" msgstr "WB_RGGBLevelsShade" #: src/minoltamn.cpp:1471 #, fuzzy msgid "CustomWB blue level" msgstr "Úroveň čiernej" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 #, fuzzy msgid "Custom WB Error" msgstr "Vlastný 1" #: src/minoltamn.cpp:1477 #, fuzzy msgid "White balance fine tune" msgstr "Nastavenie vyváženia bielej" #: src/minoltamn.cpp:1483 #, fuzzy msgid "Color compensation filter" msgstr "Hodnota kompenzácie expozície" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 #, fuzzy msgid "Sony Image Size" msgstr "Veľkosť obrázka" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "" #: src/minoltamn.cpp:1500 msgid "Eye Start AF" msgstr "" # AF = automatické zaostrenie #: src/minoltamn.cpp:1501 #, fuzzy msgid "Eye start AF" msgstr "automatické zaostrenie pre jeden záber" #: src/minoltamn.cpp:1503 #, fuzzy msgid "Red Eye Reduction" msgstr "Korekcia červených očí" #: src/minoltamn.cpp:1504 #, fuzzy msgid "Red eye reduction" msgstr "Korekcia červených očí" #: src/minoltamn.cpp:1506 #, fuzzy msgid "Flash Default" msgstr "Podrobnosti blesku" #: src/minoltamn.cpp:1507 #, fuzzy msgid "Flash default" msgstr "podrobnosti blesku" #: src/minoltamn.cpp:1509 #, fuzzy msgid "Auto Bracket Order" msgstr "Automatická uzávierka" #: src/minoltamn.cpp:1510 #, fuzzy msgid "Auto bracket order" msgstr "Automatický viacnásobný záber" #: src/minoltamn.cpp:1512 #, fuzzy msgid "Focus Hold Button" msgstr "Nastavenie režimu zaostrenia" #: src/minoltamn.cpp:1513 #, fuzzy msgid "Focus hold button" msgstr "Nastavenie režimu zaostrenia" #: src/minoltamn.cpp:1515 #, fuzzy msgid "AEL Button" msgstr "Nastavenie AE" #: src/minoltamn.cpp:1516 #, fuzzy msgid "AEL button" msgstr "Nastavenie AE" #: src/minoltamn.cpp:1518 #, fuzzy msgid "Control Dial Set" msgstr "Nastavenie kontrastu" #: src/minoltamn.cpp:1519 #, fuzzy msgid "Control dial set" msgstr "Kontrast" #: src/minoltamn.cpp:1521 #, fuzzy msgid "Exposure Compensation Mode" msgstr "Kompenzácia expozície" #: src/minoltamn.cpp:1522 #, fuzzy msgid "Exposure compensation mode" msgstr "Kompenzácia expozície" #: src/minoltamn.cpp:1525 #, fuzzy msgid "AF assist" msgstr "Asistent AZ" #: src/minoltamn.cpp:1527 #, fuzzy msgid "Card Shutter Lock" msgstr "Ae zámok uzávierky" #: src/minoltamn.cpp:1528 #, fuzzy msgid "Card shutter lock" msgstr "Ae zámok uzávierky" #: src/minoltamn.cpp:1530 #, fuzzy msgid "Lens Shutter Lock" msgstr "Ae zámok uzávierky" #: src/minoltamn.cpp:1531 #, fuzzy msgid "Lens shutter lock" msgstr "pomalá uzávierka" #: src/minoltamn.cpp:1533 #, fuzzy msgid "AF Area Illumination" msgstr "GPS Informácie o oblasti" #: src/minoltamn.cpp:1534 #, fuzzy msgid "AF area illumination" msgstr "Režim AZ" #: src/minoltamn.cpp:1536 msgid "Monitor Display Off" msgstr "" #: src/minoltamn.cpp:1537 msgid "Monitor display off" msgstr "" #: src/minoltamn.cpp:1539 msgid "Record Display" msgstr "" #: src/minoltamn.cpp:1540 msgid "Record display" msgstr "" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "" #: src/minoltamn.cpp:1545 #, fuzzy msgid "Exposure Indicator" msgstr "Index expozície" #: src/minoltamn.cpp:1546 #, fuzzy msgid "Exposure indicator" msgstr "Expozičný index" #: src/minoltamn.cpp:1548 #, fuzzy msgid "AEL Exposure Indicator" msgstr "Index expozície" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "" #: src/minoltamn.cpp:1551 #, fuzzy msgid "Exposure Bracketing Indicator Last" msgstr "Viacnásobné snímky so zmenou expozície" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "" #: src/minoltamn.cpp:1557 #, fuzzy msgid "Flash Exposure Indicator" msgstr "Kompenzácia expozície blesku" #: src/minoltamn.cpp:1558 #, fuzzy msgid "Flash exposure indicator" msgstr "Kompenzácia expozície blesku" #: src/minoltamn.cpp:1560 #, fuzzy msgid "Flash Exposure Indicator Next" msgstr "Kompenzácia expozície blesku" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1563 #, fuzzy msgid "Flash Exposure Indicator Last" msgstr "Kompenzácia expozície blesku" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1569 #, fuzzy msgid "Focus Mode Switch" msgstr "režim zaostrenia" #: src/minoltamn.cpp:1570 #, fuzzy msgid "Focus mode switch" msgstr "Nastavenie režimu zaostrenia" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 #, fuzzy msgid "Flash Type" msgstr "Režim blesku" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 #, fuzzy msgid "Flash type" msgstr "Režim blesku" # AE - automatická expozícia #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 #, fuzzy msgid "AE Lock" msgstr "zámok AE" #: src/minoltamn.cpp:1585 msgid "Color compensation filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:1587 src/tags.cpp:766 msgid "Battery Level" msgstr "úroveň batérie" #: src/minoltamn.cpp:1588 #, fuzzy msgid "Battery level" msgstr "úroveň batérie" #: src/minoltamn.cpp:1592 #, fuzzy msgid "Unknown Sony Camera Settings A100 tag" msgstr "Neznáma značka Nastavenie fotoaparátu Canon 1" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 #, fuzzy msgid "Clear" msgstr "rok" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 #, fuzzy msgid "Deep" msgstr "Denver" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 #, fuzzy msgid "Light" msgstr "vpravo" #: src/minoltamn.cpp:1950 #, fuzzy msgid "Night View" msgstr "Nočná scéna" #: src/minoltamn.cpp:1951 msgid "Autumn Leaves" msgstr "" #: src/minoltamn.cpp:1990 #, fuzzy msgid "Local" msgstr "Umiestnenie" #: src/minoltamn.cpp:2005 #, fuzzy msgid "Top-Right" msgstr "vpravo hore" #: src/minoltamn.cpp:2007 #, fuzzy msgid "Bottom-Right" msgstr "vpravo dolu" #: src/minoltamn.cpp:2009 #, fuzzy msgid "Bottom-Left" msgstr "vľavo dolu" #: src/minoltamn.cpp:2011 #, fuzzy msgid "Top-Left" msgstr "vpravo hore" #: src/minoltamn.cpp:2012 #, fuzzy msgid "Far-Right" msgstr "Orezať vpravo" #: src/minoltamn.cpp:2013 #, fuzzy msgid "Far-Left" msgstr "Orezať vľavo" # exif-transferfunction #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 #, fuzzy msgid "Advanced Auto" msgstr "prenosová funkcia" #: src/minoltamn.cpp:2028 #, fuzzy msgid "Advanced Level" msgstr "Orezanie vysoká rýchlosť" # AF = automatické zaostrenie #: src/minoltamn.cpp:2041 #, fuzzy msgid "AF" msgstr "AZ-S" #: src/minoltamn.cpp:2042 #, fuzzy msgid "Release" msgstr "Dátum vydania" #: src/minoltamn.cpp:2054 #, fuzzy msgid "RAW " msgstr "RAW" #: src/minoltamn.cpp:2055 #, fuzzy msgid "CRAW " msgstr "RAW" #: src/minoltamn.cpp:2058 #, fuzzy msgid "RAW+JPEG" msgstr "JPEG" #: src/minoltamn.cpp:2059 #, fuzzy msgid "CRAW+JPEG" msgstr "JPEG" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "" #: src/minoltamn.cpp:2116 #, fuzzy msgid "Compressed Raw" msgstr "Kompresný pomer" #: src/minoltamn.cpp:2117 #, fuzzy msgid "Compressed Raw + JPEG" msgstr "Veľkosť komprimovaného obrázka" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "" #: src/minoltamn.cpp:2132 msgid "Minolta AF 1.4x APO (D)" msgstr "" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "" #: src/minoltamn.cpp:2163 msgid "ISO Setting Used" msgstr "Použité nastavenie ISO" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 msgid "High Key" msgstr "Vysoký kľúč" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "Nízky kľúč" #: src/nikonmn.cpp:80 #, fuzzy msgid "Extra High" msgstr "extra jemný" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 msgid "Single area" msgstr "Jednoduchá oblasť" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 msgid "Dynamic area" msgstr "Dynamická oblasť" #: src/nikonmn.cpp:88 #, fuzzy msgid "Dynamic area, closest subject" msgstr "Najbližší subjekt" #: src/nikonmn.cpp:89 #, fuzzy msgid "Group dynamic" msgstr "Skupinové dynamické AZ" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 msgid "Single area (wide)" msgstr "" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 msgid "Dynamic area (wide)" msgstr "Dynamická oblasť (široká)" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 msgid "Upper-left" msgstr "vľavo hore" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 msgid "Upper-right" msgstr "vpravo hore" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 msgid "Lower-left" msgstr "vľavo dolu" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 msgid "Lower-right" msgstr "vpravo dolu" #: src/nikonmn.cpp:108 msgid "Left-most" msgstr "najviac vľavo" #: src/nikonmn.cpp:109 msgid "Right-most" msgstr "najviac vpravo" #: src/nikonmn.cpp:143 msgid "Fire, manual" msgstr "Blesk, ručne" #: src/nikonmn.cpp:144 msgid "Fire, external" msgstr "blesk, externý" #: src/nikonmn.cpp:145 msgid "Fire, commander mode" msgstr "" #: src/nikonmn.cpp:146 #, fuzzy msgid "Fire, TTL mode" msgstr "Režim AZ" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 msgid "Delay" msgstr "Oneskorenie" #: src/nikonmn.cpp:153 #, fuzzy msgid "PC Control" msgstr "Riadenie PC" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 #, fuzzy msgid "Exposure Bracketing" msgstr "Viacnásobné snímky so zmenou expozície" #: src/nikonmn.cpp:156 #, fuzzy msgid "Auto ISO" msgstr "Auto" #: src/nikonmn.cpp:157 #, fuzzy msgid "White-Balance Bracketing" msgstr "Viacnásobné snímky so zmenou vyváženia bielej" #: src/nikonmn.cpp:158 #, fuzzy msgid "IR Control" msgstr "riadenie IR" #: src/nikonmn.cpp:159 #, fuzzy msgid "D-Lighting Bracketing" msgstr "Spojitý, vysoký" #: src/nikonmn.cpp:166 msgid "PC control" msgstr "Riadenie PC" #: src/nikonmn.cpp:167 msgid "Exposure bracketing" msgstr "Viacnásobné snímky so zmenou expozície" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "" #: src/nikonmn.cpp:170 msgid "IR control" msgstr "riadenie IR" #: src/nikonmn.cpp:176 msgid "Auto release" msgstr "Automatické uvoľnenie" #: src/nikonmn.cpp:177 msgid "Manual release" msgstr "Ručné uvoľnenie" #: src/nikonmn.cpp:182 #, fuzzy msgid "Lossy (type 1)" msgstr "typ šošoviek" # exif-compression-1 #: src/nikonmn.cpp:183 src/tags.cpp:251 msgid "Uncompressed" msgstr "nekomprimovaný" #: src/nikonmn.cpp:184 #, fuzzy msgid "Lossless" msgstr "Los Angeles" #: src/nikonmn.cpp:185 #, fuzzy msgid "Lossy (type 2)" msgstr "typ šošoviek" #: src/nikonmn.cpp:191 #, fuzzy msgid "B & W" msgstr "ČB" #: src/nikonmn.cpp:193 #, fuzzy msgid "Trim" msgstr "Čas" #: src/nikonmn.cpp:194 #, fuzzy msgid "Small picture" msgstr "Film" # exif-lightsource-1 #: src/nikonmn.cpp:195 #, fuzzy msgid "D-Lighting" msgstr "denné svetlo" #: src/nikonmn.cpp:196 #, fuzzy msgid "Red eye" msgstr "Červené oči" #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 #, fuzzy msgid "Cyanotype" msgstr "typ" # exif-lightsource-1 #: src/nikonmn.cpp:198 #, fuzzy msgid "Sky light" msgstr "denné svetlo" #: src/nikonmn.cpp:199 #, fuzzy msgid "Warm tone" msgstr "Farebný tón" #: src/nikonmn.cpp:200 #, fuzzy msgid "Color custom" msgstr "Farebný tón" #: src/nikonmn.cpp:201 #, fuzzy msgid "Image overlay" msgstr "Tón obrázka" #: src/nikonmn.cpp:207 #, fuzzy msgid "Minimal" msgstr "Manuál" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 msgid "Nikon Makernote version" msgstr "Poznámka výrobcu Nikon" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 msgid "ISO Speed" msgstr "ISO rýchlosť" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 msgid "Sharpening" msgstr "Zaostrovanie" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 msgid "Image sharpening setting" msgstr "Nastavenie zaostrovania obrazu" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 msgid "Focus" msgstr "zaostrenie" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 msgid "Flash Setting" msgstr "Nastavenie blesku" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 msgid "Flash setting" msgstr "Nastavenie blesku" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 msgid "ISO Selection" msgstr "Výber ISO" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 msgid "ISO selection" msgstr "Výber ISO" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 #, fuzzy msgid "Data Dump" msgstr "Výpis dát 1" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 #, fuzzy msgid "Data dump" msgstr "Výpis dát 1" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 msgid "Image Adjustment" msgstr "Úpravy obrázka" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 msgid "Image adjustment setting" msgstr "Nastavenia úprav obrázka" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "Pomocné šošovky" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 #, fuzzy msgid "Auxiliary lens (adapter)" msgstr "Pomocné šošovky" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 msgid "Manual focus distance" msgstr "Ručné nastavenie vzdialenosti zaostrenia" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 msgid "Digital zoom setting" msgstr "nastavenie digitálneho priblíženie" # AF = automatické zaostrenie #: src/nikonmn.cpp:260 msgid "AF Focus Position" msgstr "poloha automatického zaostrenia" #: src/nikonmn.cpp:261 msgid "AF focus position information" msgstr "Informácie o polohe automatického zaostrenia" #: src/nikonmn.cpp:265 msgid "Unknown Nikon1MakerNote tag" msgstr "Neznáma značka Nikon1MakerNote" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 msgid "Continuous autofocus" msgstr "Spojité automatické zaostrenie" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 msgid "Single autofocus" msgstr "" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 msgid "Not used" msgstr "Nepoužité" #: src/nikonmn.cpp:371 msgid "guess" msgstr "hádať" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "VGA základné" #: src/nikonmn.cpp:419 msgid "VGA Normal" msgstr "Normálny VGA" #: src/nikonmn.cpp:420 msgid "VGA Fine" msgstr "VGA jemné" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "SXGA základné" #: src/nikonmn.cpp:422 msgid "SXGA Normal" msgstr "Normálny SXGA" #: src/nikonmn.cpp:423 msgid "SXGA Fine" msgstr "SXGA jemné" #: src/nikonmn.cpp:435 msgid "Bright+" msgstr "Jas+" #: src/nikonmn.cpp:436 msgid "Bright-" msgstr "Jas-" #: src/nikonmn.cpp:437 msgid "Contrast+" msgstr "Kontrast+" #: src/nikonmn.cpp:438 msgid "Contrast-" msgstr "Kontrast-" #: src/nikonmn.cpp:457 msgid "Speedlight" msgstr "Rýchlosvetlo" #: src/nikonmn.cpp:497 msgid "Unknown Nikon2MakerNote tag" msgstr "Neznáma značka Nikon2MakerNote" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 msgid "Flash Device" msgstr "Zariadenie blesku" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 msgid "Flash device" msgstr "Zariadenie blesku" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 msgid "White Balance Bias" msgstr "Skreslenie vyváženia bielej" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 msgid "White balance bias" msgstr "Skreslenie vyváženia bielej" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 #, fuzzy msgid "WB RB Levels" msgstr "WB_RGGBLevelsShade" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 #, fuzzy msgid "WB RB levels" msgstr "Úroveň čiernej" #: src/nikonmn.cpp:544 msgid "Program Shift" msgstr "Posunutie programu" #: src/nikonmn.cpp:544 msgid "Program shift" msgstr "Posunutie programu" #: src/nikonmn.cpp:545 msgid "Exposure Difference" msgstr "Rozdiel expozície" #: src/nikonmn.cpp:545 msgid "Exposure difference" msgstr "Rozdiel expozície" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 msgid "Pointer to a preview image" msgstr "Ukazovateľ na náhľad" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 msgid "Offset to an IFD containing a preview image" msgstr "Umiestnenie IFD obsahujúceho náhľad obrázka" #: src/nikonmn.cpp:549 msgid "Flash Comp" msgstr "Komp. blesku" #: src/nikonmn.cpp:549 msgid "Flash compensation setting" msgstr "Nastavenie kompenzácie blesku" #: src/nikonmn.cpp:551 msgid "Image Boundary" msgstr "Okraj obrázka" #: src/nikonmn.cpp:551 msgid "Image boundary" msgstr "Okraj obrázka" #: src/nikonmn.cpp:552 #, fuzzy msgid "Flash exposure comp" msgstr "Kompenzácia expozície blesku" #: src/nikonmn.cpp:553 msgid "Flash Bracket Comp" msgstr "Komp. viacnásobného záberu blesku" #: src/nikonmn.cpp:553 msgid "Flash bracket compensation applied" msgstr "Kompenzácia viacnásobného záberu blesku" #: src/nikonmn.cpp:554 msgid "Exposure Bracket Comp" msgstr "Komp. viacnásobného záberu" #: src/nikonmn.cpp:554 msgid "AE bracket compensation applied" msgstr "Použitá kompenzácia viacnásobného záberu AE" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 msgid "Image Processing" msgstr "Spracovanie obrazu" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 msgid "Image processing" msgstr "Spracovanie obrazu" #: src/nikonmn.cpp:556 msgid "Crop High Speed" msgstr "Orezanie vysoká rýchlosť" #: src/nikonmn.cpp:556 msgid "Crop high speed" msgstr "Orezanie vysoká rýchlosť" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure Tuning" msgstr "Upozornenie expozície" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure tuning" msgstr "Upozornenie expozície" #: src/nikonmn.cpp:560 #, fuzzy msgid "VR Info" msgstr "Nespracované info" #: src/nikonmn.cpp:560 #, fuzzy msgid "VR info" msgstr "Nespracované info" #: src/nikonmn.cpp:561 #, fuzzy msgid "Image Authentication" msgstr "Orientácia obrázka" #: src/nikonmn.cpp:561 #, fuzzy msgid "Image authentication" msgstr "Orientácia obrázka" #: src/nikonmn.cpp:562 msgid "ActiveD-Lighting" msgstr "" #: src/nikonmn.cpp:562 msgid "ActiveD-lighting" msgstr "" #: src/nikonmn.cpp:563 #, fuzzy msgid "Picture Control" msgstr "Informácie o obrázku" #: src/nikonmn.cpp:563 #, fuzzy msgid " Picture control" msgstr "Informácie o obrázku" #: src/nikonmn.cpp:564 src/properties.cpp:1387 #, fuzzy msgid "World Time" msgstr "Čas Minolta" #: src/nikonmn.cpp:564 #, fuzzy msgid "World time" msgstr "Čas Minolta" #: src/nikonmn.cpp:565 #, fuzzy msgid "ISO Info" msgstr "Info o snímke" #: src/nikonmn.cpp:565 #, fuzzy msgid "ISO info" msgstr "Nastavenia ISO" #: src/nikonmn.cpp:566 #, fuzzy msgid "Vignette Control" msgstr "Diaľkové ovládanie?" #: src/nikonmn.cpp:566 #, fuzzy msgid "Vignette control" msgstr "Diaľkové ovládanie?" #: src/nikonmn.cpp:568 msgid "Tone Compensation" msgstr "Kompenzácia tónu" #: src/nikonmn.cpp:568 msgid "Tone compensation" msgstr "Kompenzácia tónu" #: src/nikonmn.cpp:574 msgid "Mode of flash used" msgstr "Použitý režim blesku" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 msgid "Shooting Mode" msgstr "Režim fotenia" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 msgid "Shooting mode" msgstr "Režim fotenia" #: src/nikonmn.cpp:577 msgid "Auto Bracket Release" msgstr "Uvoľnenie viacnásobného záberu" #: src/nikonmn.cpp:577 msgid "Auto bracket release" msgstr "Uvoľnenie viacnásobného záberu" # TODO: check #: src/nikonmn.cpp:578 #, fuzzy msgid "Lens FStops" msgstr "F stops šošoviek" #: src/nikonmn.cpp:579 #, fuzzy msgid "Contrast Curve" msgstr "Kontrast" #: src/nikonmn.cpp:579 #, fuzzy msgid "Contrast curve" msgstr "Kontrast" #: src/nikonmn.cpp:580 #, fuzzy msgid "Color Hue" msgstr "Farebný tón" #: src/nikonmn.cpp:580 #, fuzzy msgid "Color hue" msgstr "Farebný tón" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 msgid "Scene mode" msgstr "Režim scény" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 msgid "Light Source" msgstr "Zdroj svetla" # exif-lightsource #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 msgid "Light source" msgstr "Svetelný zdroj" #: src/nikonmn.cpp:583 #, fuzzy msgid "Shot info" msgstr "Info o snímke" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 msgid "Hue Adjustment" msgstr "Úpravy tónu" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 msgid "Hue adjustment" msgstr "Úpravy tónu" #: src/nikonmn.cpp:585 #, fuzzy msgid "NEF Compression" msgstr "Kompresia" #: src/nikonmn.cpp:585 #, fuzzy msgid "NEF compression" msgstr "Kompresia" #: src/nikonmn.cpp:588 src/tags.cpp:905 msgid "Linearization Table" msgstr "Linearizačná tabuľka" #: src/nikonmn.cpp:588 #, fuzzy msgid "Linearization table" msgstr "Linearizačná tabuľka" #: src/nikonmn.cpp:589 #, fuzzy msgid "Color Balance" msgstr "Vyváženie farieb 1" #: src/nikonmn.cpp:589 #, fuzzy msgid "Color balance" msgstr "Vyváženie farieb Červená" #: src/nikonmn.cpp:590 msgid "Lens Data" msgstr "Údaje šošoviek" #: src/nikonmn.cpp:590 msgid "Lens data settings" msgstr "Nastavenia údajov šošoviek" #: src/nikonmn.cpp:591 #, fuzzy msgid "Raw Image Center" msgstr "Počet obrázkov" #: src/nikonmn.cpp:591 #, fuzzy msgid "Raw image center" msgstr "Zobraziť vložený obrázok" #: src/nikonmn.cpp:592 msgid "Sensor Pixel Size" msgstr "Veľkosť obrazového bodu snímača" #: src/nikonmn.cpp:592 msgid "Sensor pixel size" msgstr "Veľkosť obrazového bodu snímača" #: src/nikonmn.cpp:594 #, fuzzy msgid "Scene Assist" msgstr "Asistent AZ" #: src/nikonmn.cpp:594 #, fuzzy msgid "Scene assist" msgstr "scenéria" #: src/nikonmn.cpp:595 #, fuzzy msgid "Retouch History" msgstr "História" #: src/nikonmn.cpp:595 #, fuzzy msgid "Retouch history" msgstr "História" #: src/nikonmn.cpp:597 #, fuzzy msgid "Serial NO" msgstr "Sériové číslo" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "" #: src/nikonmn.cpp:598 msgid "Image Data Size" msgstr "Veľkosť obrazových údajov" #: src/nikonmn.cpp:598 msgid "Image data size" msgstr "Veľkosť obrazových údajov" #: src/nikonmn.cpp:600 msgid "Image Count" msgstr "Počet obrázkov" #: src/nikonmn.cpp:600 msgid "Image count" msgstr "Počet obrázkov" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 #, fuzzy msgid "Deleted Image Count" msgstr "Zmazať počet obrázkov" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 #, fuzzy msgid "Deleted image count" msgstr "Zmazať počet obrázkov" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 msgid "Shutter Count" msgstr "Počítadlo uzávierky" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "Počet snímok zachytených fotoaparátom" #: src/nikonmn.cpp:603 #, fuzzy msgid "Flash info" msgstr "Info o blesku" #: src/nikonmn.cpp:604 msgid "Image Optimization" msgstr "Optimalizácia obrázka" #: src/nikonmn.cpp:604 msgid "Image optimization" msgstr "Optimalizácia obrázka" #: src/nikonmn.cpp:606 msgid "Program Variation" msgstr "Variácia programu" #: src/nikonmn.cpp:606 msgid "Program variation" msgstr "Variácia programu" # AF = automatické zaostrenie #: src/nikonmn.cpp:608 msgid "AF Response" msgstr "Odpoveď automatického zaostrenia" # AF = automatické zaostrenie #: src/nikonmn.cpp:608 msgid "AF response" msgstr "Odpoveď automatického zaostrenia" #: src/nikonmn.cpp:609 #, fuzzy msgid "Multi exposure" msgstr "Viacnásobná expozícia" #: src/nikonmn.cpp:610 msgid "High ISO Noise Reduction" msgstr "Vysoká redukcia šumu ISO" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 #, fuzzy msgid "Toning effect" msgstr "fotoefekt" #: src/nikonmn.cpp:612 #, fuzzy msgid "AF info 2" msgstr "Info o AZ" #: src/nikonmn.cpp:613 #, fuzzy msgid "File info" msgstr "Názov súboru" # AF = automatické zaostrenie #: src/nikonmn.cpp:614 #, fuzzy msgid "AF tune" msgstr "Použitý bod automatického zaostrenia" #: src/nikonmn.cpp:617 msgid "Capture Data" msgstr "Dáta snímania" #: src/nikonmn.cpp:617 msgid "Capture data" msgstr "Dáta snímania" #: src/nikonmn.cpp:618 msgid "Capture Version" msgstr "Verzia snímania" #: src/nikonmn.cpp:618 msgid "Capture version" msgstr "Verzia snímania" #: src/nikonmn.cpp:620 msgid "Capture Offsets" msgstr "Ofset snímania" #: src/nikonmn.cpp:620 msgid "Capture offsets" msgstr "Ofset snímania" #: src/nikonmn.cpp:621 #, fuzzy msgid "Scan IFD" msgstr "Uložiť ID" #: src/nikonmn.cpp:622 #, fuzzy msgid "ICC profile" msgstr "Farebný profil" #: src/nikonmn.cpp:623 #, fuzzy msgid "Capture output" msgstr "Dáta snímania" #: src/nikonmn.cpp:625 msgid "Unknown Nikon3MakerNote tag" msgstr "Neznáma značka Nikon3MakerNote" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 msgid "No" msgstr "Nie" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "Áno" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 #, fuzzy msgid "Vibration Reduction" msgstr "Bez korekcie" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 #, fuzzy msgid "Vibration reduction" msgstr "Bez korekcie" #: src/nikonmn.cpp:657 #, fuzzy msgid "Unknown Nikon Vibration Reduction Tag" msgstr "Neznáma značka Canon Custom Function" #: src/nikonmn.cpp:667 #, fuzzy msgid "Default Settings" msgstr "Nastavenia" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 #, fuzzy msgid "Quick Adjust" msgstr "Úpravy tónu" #: src/nikonmn.cpp:669 #, fuzzy msgid "Full Control" msgstr "Riadenie farieb" #: src/nikonmn.cpp:690 msgid "Blue-green" msgstr "" #: src/nikonmn.cpp:692 msgid "Purple-blue" msgstr "" #: src/nikonmn.cpp:693 msgid "Red-purple" msgstr "" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 #, fuzzy msgid "Name" msgstr "Prezývka" #: src/nikonmn.cpp:701 #, fuzzy msgid "Base" msgstr "Základné URL" #: src/nikonmn.cpp:702 #, fuzzy msgid "Adjust" msgstr "Dolaďuje sa" #: src/nikonmn.cpp:703 #, fuzzy msgid "Quick adjust" msgstr "Úpravy tónu" #: src/nikonmn.cpp:709 #, fuzzy msgid "Filter effect" msgstr "Farebný efekt" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning Saturation" msgstr "Sýtosť" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning saturation" msgstr "Sýtosť" #: src/nikonmn.cpp:713 #, fuzzy msgid "Unknown Nikon Picture Control Tag" msgstr "Neznáma značka Canon Picture Info" # AF = automatické zaostrenie #: src/nikonmn.cpp:730 #, fuzzy msgid "AF Fine Tune" msgstr "Použitý bod automatického zaostrenia" # AF = automatické zaostrenie #: src/nikonmn.cpp:730 #, fuzzy msgid "AF fine tune" msgstr "Použitý bod automatického zaostrenia" # AF = automatické zaostrenie #: src/nikonmn.cpp:731 #, fuzzy msgid "AF Fine Tune Index" msgstr "Použitý bod automatického zaostrenia" # AF = automatické zaostrenie #: src/nikonmn.cpp:731 #, fuzzy msgid "AF fine tune index" msgstr "Použitý bod automatického zaostrenia" # AF = automatické zaostrenie #: src/nikonmn.cpp:732 #, fuzzy msgid "AF Fine Tune Adjustment" msgstr "Použitý bod automatického zaostrenia" # AF = automatické zaostrenie #: src/nikonmn.cpp:732 #, fuzzy msgid "AF fine tune adjustment" msgstr "Použitý bod automatického zaostrenia" #: src/nikonmn.cpp:734 #, fuzzy msgid "Unknown Nikon AF Fine Tune Tag" msgstr "Neznáma značka Canon Picture Info" #: src/nikonmn.cpp:744 #, fuzzy msgid "Timezone" msgstr "odtieň" # exif-lightsource-1 #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight Savings" msgstr "denné svetlo" # exif-lightsource-1 #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight savings" msgstr "denné svetlo" #: src/nikonmn.cpp:746 #, fuzzy msgid "Date Display Format" msgstr "Formát súboru" #: src/nikonmn.cpp:746 #, fuzzy msgid "Date display format" msgstr "Tvar dát" #: src/nikonmn.cpp:748 #, fuzzy msgid "Unknown Nikon World Time Tag" msgstr "Neznáma značka Nikon1MakerNote" #: src/nikonmn.cpp:759 #, fuzzy msgid "Hi 0.3" msgstr "HV10" #: src/nikonmn.cpp:760 #, fuzzy msgid "Hi 0.5" msgstr "HV10" #: src/nikonmn.cpp:761 #, fuzzy msgid "Hi 0.7" msgstr "HV10" #: src/nikonmn.cpp:762 #, fuzzy msgid "Hi 1.0" msgstr "HV10" #: src/nikonmn.cpp:763 #, fuzzy msgid "Hi 1.3" msgstr "HV10" #: src/nikonmn.cpp:764 #, fuzzy msgid "Hi 1.5" msgstr "HV10" #: src/nikonmn.cpp:765 #, fuzzy msgid "Hi 1.7" msgstr "HV10" #: src/nikonmn.cpp:766 #, fuzzy msgid "Hi 2.0" msgstr "HV10" #: src/nikonmn.cpp:767 #, fuzzy msgid "Hi 2.3" msgstr "HV10" #: src/nikonmn.cpp:768 #, fuzzy msgid "Hi 2.5" msgstr "HV10" #: src/nikonmn.cpp:769 #, fuzzy msgid "Hi 2.7" msgstr "HV10" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "" #: src/nikonmn.cpp:778 #, fuzzy msgid "Lo 1.0" msgstr "HV10" #: src/nikonmn.cpp:784 #, fuzzy msgid "ISO Expansion" msgstr "Výber ISO" #: src/nikonmn.cpp:784 #, fuzzy msgid "ISO expansion" msgstr "Výber ISO" #: src/nikonmn.cpp:785 #, fuzzy msgid "ISO 2" msgstr "Info o snímke" #: src/nikonmn.cpp:786 #, fuzzy msgid "ISO Expansion 2" msgstr "Výber ISO" #: src/nikonmn.cpp:786 #, fuzzy msgid "ISO expansion 2" msgstr "Výber ISO" #: src/nikonmn.cpp:788 #, fuzzy msgid "Unknown Nikon Iso Info Tag" msgstr "Neznáma značka Canon Picture Info" #: src/nikonmn.cpp:798 #, fuzzy msgid "Single Area" msgstr "Jednoduchá oblasť" #: src/nikonmn.cpp:799 #, fuzzy msgid "Dynamic Area" msgstr "Dynamická oblasť" #: src/nikonmn.cpp:800 #, fuzzy msgid "Dynamic Area, Closest Subject" msgstr "Najbližší subjekt" #: src/nikonmn.cpp:801 #, fuzzy msgid "Group Dynamic" msgstr "Skupinové dynamické AZ" #: src/nikonmn.cpp:802 #, fuzzy msgid "Single Area (wide)" msgstr "Jednoduchá oblasť" #: src/nikonmn.cpp:803 #, fuzzy msgid "Dynamic Area (wide)" msgstr "Dynamická oblasť (široká)" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 msgid "Mid-left" msgstr "v strede vľavo" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 msgid "Mid-right" msgstr "v strede vpravo" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 #, fuzzy msgid "Far Left" msgstr "Orezať vľavo" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 #, fuzzy msgid "Far Right" msgstr "Orezať vpravo" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 #, fuzzy msgid "AF area mode" msgstr "Režim AZ" # AF = automatické zaostrenie #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 msgid "AF point" msgstr "bod automatického zaostrenia" # AF = automatické zaostrenie #: src/nikonmn.cpp:840 #, fuzzy msgid "AF Points In Focus" msgstr "Použité body automatického zaostrenia" # AF = automatické zaostrenie #: src/nikonmn.cpp:840 #, fuzzy msgid "AF points in focus" msgstr "Použité body automatického zaostrenia" #: src/nikonmn.cpp:842 #, fuzzy msgid "Unknown Nikon Auto Focus Tag" msgstr "Neznáma značka Canon Custom Function" #: src/nikonmn.cpp:853 msgid "On (51-point)" msgstr "" #: src/nikonmn.cpp:854 msgid "On (11-point)" msgstr "" #: src/nikonmn.cpp:855 #, fuzzy msgid "On (39-point)" msgstr "zapnutý" #: src/nikonmn.cpp:856 #, fuzzy msgid "On (73-point)" msgstr "zapnutý" #: src/nikonmn.cpp:857 msgid "On (73-point, new)" msgstr "" #: src/nikonmn.cpp:858 #, fuzzy msgid "On (105-point)" msgstr "zapnutý" #: src/nikonmn.cpp:864 #, fuzzy msgid "Contrast Detect AF" msgstr "Nastavenie kontrastu" #: src/nikonmn.cpp:864 #, fuzzy msgid "Contrast detect AF" msgstr "Nastavenie kontrastu" #: src/nikonmn.cpp:866 #, fuzzy msgid "Phase Detect AF" msgstr "Nepodarilo sa prečítať" #: src/nikonmn.cpp:866 #, fuzzy msgid "Phase detect AF" msgstr "Nepodarilo sa prečítať" # AF = automatické zaostrenie #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF Point" msgstr "Bod automatického zaostrenia" # AF = automatické zaostrenie #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF point" msgstr "bod automatického zaostrenia" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF Image Width" msgstr "Šírka obrázka" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF image width" msgstr "Šírka obrázka" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF Image Height" msgstr "Výška obrázka" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF image height" msgstr "Dĺžka obrázka" # AF = automatické zaostrenie #: src/nikonmn.cpp:871 #, fuzzy msgid "AF Area X Position" msgstr "poloha automatického zaostrenia" # AF = automatické zaostrenie #: src/nikonmn.cpp:871 #, fuzzy msgid "AF area x position" msgstr "poloha automatického zaostrenia" # AF = automatické zaostrenie #: src/nikonmn.cpp:872 #, fuzzy msgid "AF Area Y Position" msgstr "poloha automatického zaostrenia" # AF = automatické zaostrenie #: src/nikonmn.cpp:872 #, fuzzy msgid "AF area y position" msgstr "poloha automatického zaostrenia" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF Area Width" msgstr "Režim AZ" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF area width" msgstr "Režim AZ" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF Area Height" msgstr "Režim AZ" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF area height" msgstr "Orezať vpravo" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast Detect AF In Focus" msgstr "Nastavenie kontrastu" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast detect AF in focus" msgstr "Nastavenie kontrastu" #: src/nikonmn.cpp:877 #, fuzzy msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "Neznáma značka Canon Custom Function" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory Number" msgstr "Poradové číslo" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory number" msgstr "Poradové číslo" #: src/nikonmn.cpp:891 #, fuzzy msgid "Unknown Nikon File Info Tag" msgstr "Neznáma značka Canon Picture Info" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 msgid "Multiple Exposure" msgstr "Viacnásobná expozícia" #: src/nikonmn.cpp:903 #, fuzzy msgid "Image Overlay" msgstr "Tón obrázka" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi Exposure Mode" msgstr "Režim expozície" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi exposure mode" msgstr "Viacnásobná expozícia" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi Exposure Shots" msgstr "Viacnásobná expozícia" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi exposure shots" msgstr "Viacnásobná expozícia" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi Exposure Auto Gain" msgstr "Viacnásobná expozícia" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi exposure auto gain" msgstr "Viacnásobná expozícia" #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 #, fuzzy msgid "Unknown Nikon Multi Exposure Tag" msgstr "Neznáma značka Canon Custom Function" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 msgid "Internal" msgstr "Vnútorný" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "" #: src/nikonmn.cpp:991 #, fuzzy msgid "iTTL-BL" msgstr "TTL" #: src/nikonmn.cpp:992 #, fuzzy msgid "iTTL" msgstr "TTL" #: src/nikonmn.cpp:993 #, fuzzy msgid "Auto Aperture" msgstr "Clona" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 #, fuzzy msgid "Repeating Flash" msgstr "Ročník vydania" #: src/nikonmn.cpp:1004 #, fuzzy msgid "Bounce Flash" msgstr "Bez blesku" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "" #: src/nikonmn.cpp:1018 #, fuzzy msgid "Amber" msgstr "číslo F" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash Source" msgstr "Zdroj súboru" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash source" msgstr "Zdroj súboru" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 #, fuzzy msgid "0x0005" msgstr "1000" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External Flash Firmware" msgstr "Priblíženie externého blesku" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External flash firmware" msgstr "Režim externého blesku" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External Flash Flags" msgstr "externý blesk" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External flash flags" msgstr "externý blesk" # FUZZY exif-focallength #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash Focal Length" msgstr "Maximálna ohnisková vzdialenosť" # FUZZY exif-focallength #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash focal length" msgstr "Maximálna ohnisková vzdialenosť" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 #, fuzzy msgid "Repeating flash rate" msgstr "Súbor sa premenúva na" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 #, fuzzy msgid "Repeating flash count" msgstr "Ručné riadenie blesku" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN Distance" msgstr "Vzdialenosť zaostrenia" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN distance" msgstr "Vzdialenosť zaostrenia" #: src/nikonmn.cpp:1032 msgid "Flash Group A Control Mode" msgstr "" #: src/nikonmn.cpp:1032 msgid "Flash group a control mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash Group B Control Mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash group b control mode" msgstr "" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash Color Filter" msgstr "Farebný filter" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash color filter" msgstr "Farebný filter" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 msgid "Shutter count" msgstr "Hodnota uzávierky" #: src/nikonmn.cpp:1088 #, fuzzy msgid "Unknown Nikon Shot Info D80 Tag" msgstr "Neznáma značka Canon Picture Info" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 #, fuzzy msgid "Flash Level" msgstr "Zariadenie blesku" #: src/nikonmn.cpp:1100 #, fuzzy msgid "Flash level" msgstr "Zariadenie blesku" #: src/nikonmn.cpp:1102 #, fuzzy msgid "Unknown Nikon Shot Info D40 Tag" msgstr "Neznáma značka Canon Picture Info" # AF = automatické zaostrenie #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 #, fuzzy msgid "AF Fine Tune Adj" msgstr "Použitý bod automatického zaostrenia" # AF = automatické zaostrenie #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 #, fuzzy msgid "AF fine tune adj" msgstr "Použitý bod automatického zaostrenia" #: src/nikonmn.cpp:1162 #, fuzzy msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "Neznáma značka Canon Picture Info" #: src/nikonmn.cpp:1222 #, fuzzy msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "Neznáma značka Canon Picture Info" #: src/nikonmn.cpp:1235 #, fuzzy msgid "On (3)" msgstr "zapnutý" #: src/nikonmn.cpp:1248 #, fuzzy msgid "Shutter Count 1" msgstr "Počítadlo uzávierky" #: src/nikonmn.cpp:1248 #, fuzzy msgid "Shutter count 1" msgstr "Hodnota uzávierky" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration Reduction 1" msgstr "Bez korekcie" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration reduction 1" msgstr "Bez korekcie" #: src/nikonmn.cpp:1252 #, fuzzy msgid "Shutter Count 2" msgstr "Počítadlo uzávierky" #: src/nikonmn.cpp:1252 #, fuzzy msgid "Shutter count 2" msgstr "Hodnota uzávierky" #: src/nikonmn.cpp:1253 #, fuzzy msgid "Vibration Reduction 2" msgstr "Bez korekcie" #: src/nikonmn.cpp:1253 #, fuzzy msgid "Vibration reduction 2" msgstr "Bez korekcie" #: src/nikonmn.cpp:1257 #, fuzzy msgid "Unknown Nikon Shot Info Tag" msgstr "Neznáma značka Canon Picture Info" #: src/nikonmn.cpp:1268 #, fuzzy msgid "WB RBGG Levels" msgstr "WB_RGGBLevelsShade" #: src/nikonmn.cpp:1268 #, fuzzy msgid "WB RBGG levels" msgstr "Úroveň čiernej" #: src/nikonmn.cpp:1270 #, fuzzy msgid "Unknown Nikon Color Balance 1 Tag" msgstr "Vyváženie farieb 1" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 #, fuzzy msgid "WB RGGB Levels" msgstr "WB_RGGBLevelsShade" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 #, fuzzy msgid "WB RGGB levels" msgstr "Úroveň čiernej" #: src/nikonmn.cpp:1283 #, fuzzy msgid "Unknown Nikon Color Balance 2 Tag" msgstr "Vyváženie farieb 2" #: src/nikonmn.cpp:1296 #, fuzzy msgid "Unknown Nikon Color Balance 2a Tag" msgstr "Vyváženie farieb 2" #: src/nikonmn.cpp:1309 #, fuzzy msgid "Unknown Nikon Color Balance 2b Tag" msgstr "Vyváženie farieb 2" #: src/nikonmn.cpp:1320 #, fuzzy msgid "WB RGBG Levels" msgstr "WB_RGGBLevelsShade" #: src/nikonmn.cpp:1320 #, fuzzy msgid "WB RGBG levels" msgstr "Úroveň čiernej" #: src/nikonmn.cpp:1322 #, fuzzy msgid "Unknown Nikon Color Balance 3 Tag" msgstr "Neznáma značka Canon Panorama" #: src/nikonmn.cpp:1333 #, fuzzy msgid "WB GRBG Levels" msgstr "WB_RGGBLevelsShade" #: src/nikonmn.cpp:1333 #, fuzzy msgid "WB GRBG levels" msgstr "Úroveň čiernej" #: src/nikonmn.cpp:1335 #, fuzzy msgid "Unknown Nikon Color Balance 4 Tag" msgstr "Neznáma značka Canon Panorama" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID Number" msgstr "Sériové číslo" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID number" msgstr "Sériové číslo fotoaparátu" # TODO: check #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-Stops" msgstr "F stops šošoviek" # TODO: check #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-stops" msgstr "F stops šošoviek" # FUZZY exif-focallength #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 #, fuzzy msgid "Min Focal Length" msgstr "Minimálna ohnisková vzdialenosť" # FUZZY exif-focallength #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 #, fuzzy msgid "Min focal length" msgstr "Minimálna ohnisková vzdialenosť" # FUZZY exif-focallength #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 #, fuzzy msgid "Max Focal Length" msgstr "Maximálna ohnisková vzdialenosť" # FUZZY exif-focallength #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 #, fuzzy msgid "Max focal length" msgstr "Maximálna ohnisková vzdialenosť" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 #, fuzzy msgid "Max Aperture At Min Focal" msgstr "maximálna clona pri minimálnom ohnisku" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 #, fuzzy msgid "Max aperture at min focal" msgstr "maximálna clona pri minimálnom ohnisku" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 #, fuzzy msgid "Max Aperture At Max Focal" msgstr "maximálna clona pri maximálnom ohnisku" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 #, fuzzy msgid "Max aperture at max focal" msgstr "maximálna clona pri maximálnom ohnisku" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU Version" msgstr "Verzia ARM" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU version" msgstr "Verzia ARM" #: src/nikonmn.cpp:1354 #, fuzzy msgid "Unknown Nikon Lens Data 1 Tag" msgstr "Neznáma značka Nikon1MakerNote" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit Pupil Position" msgstr "Poloha prepínača DEC" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit pupil position" msgstr "poloha prepínača DEC" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF Aperture" msgstr "Clona" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF aperture" msgstr "Clona" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 #, fuzzy msgid "Effective Max Aperture" msgstr "Max. clona" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 #, fuzzy msgid "Effective max aperture" msgstr "Max. clona" #: src/nikonmn.cpp:1379 #, fuzzy msgid "Unknown Nikon Lens Data 2 Tag" msgstr "Neznáma značka Nikon1MakerNote" #: src/nikonmn.cpp:1399 #, fuzzy msgid "Max aperture at min focal length" msgstr "maximálna clona pri minimálnom ohnisku" #: src/nikonmn.cpp:1400 #, fuzzy msgid "Max aperture at max focal length" msgstr "maximálna clona pri maximálnom ohnisku" #: src/nikonmn.cpp:1404 #, fuzzy msgid "Unknown Nikon Lens Data 3 Tag" msgstr "Neznáma značka Nikon1MakerNote" #: src/nikonmn.cpp:1590 msgid "Closest subject" msgstr "Najbližší subjekt" #: src/nikonmn.cpp:1591 msgid "Group dynamic-AF" msgstr "Skupinové dynamické AZ" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "žiadne" #: src/nikonmn.cpp:1624 msgid "used" msgstr "použité" # AF = automatické zaostrenie #: src/nikonmn.cpp:1650 #, fuzzy msgid "All 11 Points" msgstr "body automatického zaostrenia" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 msgid "Single-frame" msgstr "jediný záber" #: src/olympusmn.cpp:71 msgid "Standard Quality (SQ)" msgstr "Štandardná kvalita (SQ)" #: src/olympusmn.cpp:72 msgid "High Quality (HQ)" msgstr "Vysoká kvalita (HQ)" #: src/olympusmn.cpp:73 msgid "Super High Quality (SHQ)" msgstr "Super vysoká kvalita (SHQ)" #: src/olympusmn.cpp:88 msgid "On (preset)" msgstr "Zapnuté (predvolené)" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 msgid "Sport" msgstr "Šport" # exif-scenecapturetype-1 #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 #, fuzzy msgid "Landscape+Portrait" msgstr "krajinka" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 #, fuzzy msgid "Self Portrait" msgstr "Portrét" #: src/olympusmn.cpp:102 #, fuzzy msgid "2 in 1" msgstr "zapnutý" #: src/olympusmn.cpp:105 #, fuzzy msgid "Night+Portrait" msgstr "Nočný portrét" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "jedlo" #: src/olympusmn.cpp:112 #, fuzzy msgid "Documents" msgstr "ID dokumentu" #: src/olympusmn.cpp:114 #, fuzzy msgid "Shoot & Select" msgstr "fotoefekt" #: src/olympusmn.cpp:115 #, fuzzy msgid "Beach & Snow" msgstr "surfovanie & sneh" #: src/olympusmn.cpp:116 #, fuzzy msgid "Self Portrait+Timer" msgstr "Samospúšť" #: src/olympusmn.cpp:117 #, fuzzy msgid "Candle" msgstr "svetlo sviečky" #: src/olympusmn.cpp:118 #, fuzzy msgid "Available Light" msgstr "nedostupné" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "" #: src/olympusmn.cpp:120 #, fuzzy msgid "My Mode" msgstr "Jednoduchý režim" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 msgid "Pet" msgstr "Zvieratko" #: src/olympusmn.cpp:122 #, fuzzy msgid "Underwater Wide1" msgstr "pod vodou" #: src/olympusmn.cpp:123 #, fuzzy msgid "Underwater Macro" msgstr "pod vodou" #: src/olympusmn.cpp:124 #, fuzzy msgid "Shoot & Select1" msgstr "fotoefekt" #: src/olympusmn.cpp:125 #, fuzzy msgid "Shoot & Select2" msgstr "fotoefekt" #: src/olympusmn.cpp:127 #, fuzzy msgid "Digital Image Stabilization" msgstr "Stabilizácia obrazu" #: src/olympusmn.cpp:128 #, fuzzy msgid "Auction" msgstr "Auto" #: src/olympusmn.cpp:131 #, fuzzy msgid "Underwater Wide2" msgstr "pod vodou" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "" #: src/olympusmn.cpp:135 #, fuzzy msgid "Nature Macro" msgstr "Prirodzená farba" #: src/olympusmn.cpp:136 #, fuzzy msgid "Underwater Snapshot" msgstr "pod vodou" #: src/olympusmn.cpp:137 #, fuzzy msgid "Shooting Guide" msgstr "Režim fotenia" #: src/olympusmn.cpp:145 msgid "Internal + External" msgstr "Interný + externý" #: src/olympusmn.cpp:176 msgid "Interlaced" msgstr "Prekladaný" #: src/olympusmn.cpp:177 msgid "Progressive" msgstr "Progresívne" #: src/olympusmn.cpp:188 #, fuzzy msgid "Thumbnail Image" msgstr "Náhľad" #: src/olympusmn.cpp:189 #, fuzzy msgid "Thumbnail image" msgstr "Náhľad" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 #, fuzzy msgid "Body Firmware Version" msgstr "Verzia firmvéru" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 #, fuzzy msgid "Body firmware version" msgstr "Verzia firmvéru" #: src/olympusmn.cpp:195 msgid "Special Mode" msgstr "Špeciálny režim" #: src/olympusmn.cpp:196 msgid "Picture taking mode" msgstr "Režim fotenia" #: src/olympusmn.cpp:204 msgid "Black & White Mode" msgstr "Čiernobiely režim" #: src/olympusmn.cpp:205 msgid "Black and white mode" msgstr "Čiernobiely režim" # exif-digitalzoomratio #: src/olympusmn.cpp:208 msgid "Digital zoom ratio" msgstr "Pomer digitálneho priblíženia" #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 msgid "Focal Plane Diagonal" msgstr "Diagonála ohniskovej roviny" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 msgid "Focal plane diagonal" msgstr "Diagonála ohniskovej roviny" #: src/olympusmn.cpp:213 msgid "Lens Distortion Parameters" msgstr "Parametre zakrivenia šošoviek" #: src/olympusmn.cpp:214 msgid "Lens distortion parameters" msgstr "Parametre zakrivenia šošoviek" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 #, fuzzy msgid "Camera Type" msgstr "Zmačka fotoaparátu" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 #, fuzzy msgid "Camera type" msgstr "Zmačka fotoaparátu" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "údaje vo formáte ASCII ako [PictureInfo]" #: src/olympusmn.cpp:222 msgid "Camera ID" msgstr "ID fotoaparátu" #: src/olympusmn.cpp:223 msgid "Camera ID data" msgstr "ID údaje fotoaparátu" # exif-software #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "softvér" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 #, fuzzy msgid "Preview Image" msgstr "Zobraziť vložený obrázok" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 #, fuzzy msgid "Preview image" msgstr "Zobraziť vložený obrázok" #: src/olympusmn.cpp:237 msgid "Pre Capture Frames" msgstr "Predzachytávať rámce" #: src/olympusmn.cpp:238 msgid "Pre-capture frames" msgstr "Predzachytávať rámce" #: src/olympusmn.cpp:240 #, fuzzy msgid "White Board" msgstr "Vyváženie bielej" #: src/olympusmn.cpp:241 #, fuzzy msgid "White board" msgstr "Vyváženie bielej" #: src/olympusmn.cpp:243 msgid "One Touch WB" msgstr "VB jedným dotykom" #: src/olympusmn.cpp:244 msgid "One touch white balance" msgstr "Vyváženie bielej jedným dotykom" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 #, fuzzy msgid "White Balance Bracket" msgstr "Viacnásobné snímky so zmenou vyváženia bielej" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 #, fuzzy msgid "White balance bracket" msgstr "Viacnásobné snímky so zmenou vyváženia bielej" #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 msgid "Firmware" msgstr "Firmvér" #: src/olympusmn.cpp:261 msgid "Data Dump 1" msgstr "Výpis dát 1" #: src/olympusmn.cpp:262 msgid "Various camera settings 1" msgstr "Rôzne nastavenia fotoaparátu 1" #: src/olympusmn.cpp:264 msgid "Data Dump 2" msgstr "Výpis dát 2" #: src/olympusmn.cpp:265 msgid "Various camera settings 2" msgstr "Rôzne nastavenia fotoaparátu 2" # exif-shutterspeedvalue #: src/olympusmn.cpp:268 msgid "Shutter speed value" msgstr "Hodnota rýchlosti uzávierky" #: src/olympusmn.cpp:271 msgid "ISO speed value" msgstr "Hodnota ISO rýchlosti" #: src/olympusmn.cpp:274 msgid "Aperture value" msgstr "Hodnota clony" #: src/olympusmn.cpp:277 msgid "Brightness value" msgstr "Hodnota jasu" #: src/olympusmn.cpp:285 msgid "Bracket" msgstr "Viacnásobné snímky" #: src/olympusmn.cpp:286 msgid "Exposure compensation value" msgstr "Hodnota kompenzácie expozície" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 msgid "Sensor Temperature" msgstr "Teplota snímača" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 msgid "Sensor temperature" msgstr "Teplota snímača" #: src/olympusmn.cpp:291 msgid "Lens Temperature" msgstr "Teplota šošoviek" #: src/olympusmn.cpp:292 msgid "Lens temperature" msgstr "Teplota šošoviek" #: src/olympusmn.cpp:294 #, fuzzy msgid "Light Condition" msgstr "Silné nasýtenie" #: src/olympusmn.cpp:295 #, fuzzy msgid "Light condition" msgstr "Silné nasýtenie" #: src/olympusmn.cpp:297 #, fuzzy msgid "Focus Range" msgstr "Rozsah zaostrenia" #: src/olympusmn.cpp:298 #, fuzzy msgid "Focus range" msgstr "Rozsah zaostrenia" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "Priblíženie" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 msgid "Zoom step count" msgstr "Počet krokov priblíženia" #: src/olympusmn.cpp:309 msgid "Macro Focus" msgstr "Priblíženie makro" #: src/olympusmn.cpp:310 msgid "Macro focus step count" msgstr "Počet krokov makro priblíženia" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 msgid "Sharpness Factor" msgstr "Koeficient ostrosti" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 msgid "Sharpness factor" msgstr "Koeficient ostrosti" #: src/olympusmn.cpp:315 msgid "Flash Charge Level" msgstr "Úroveň nabitia blesku" #: src/olympusmn.cpp:316 msgid "Flash charge level" msgstr "Úroveň nabitia blesku" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 msgid "Color Matrix" msgstr "Matica farieb" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 msgid "Color matrix" msgstr "Matica farieb" #: src/olympusmn.cpp:321 msgid "BlackLevel" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 msgid "Black level" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 msgid "White balance mode" msgstr "Režim vyváženia bielej" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 msgid "Red Balance" msgstr "Vyváženie červenej" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 msgid "Red balance" msgstr "Vyváženie červenej" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 msgid "Blue Balance" msgstr "Vyváženie modrej" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 msgid "Blue balance" msgstr "Vyváženie modrej" #: src/olympusmn.cpp:342 #, fuzzy msgid "Color Matrix Number" msgstr "Matica farieb 1" #: src/olympusmn.cpp:343 #, fuzzy msgid "Color matrix number" msgstr "Matica farieb 2" #: src/olympusmn.cpp:345 msgid "Serial Number 2" msgstr "Sériové číslo 1" #: src/olympusmn.cpp:346 msgid "Serial number 2" msgstr "Sériové číslo 2" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 msgid "Flash exposure compensation" msgstr "Kompenzácia expozície blesku" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 msgid "External Flash Bounce" msgstr "Odrazenie externého blesku" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 msgid "External flash bounce" msgstr "Odrazenie externého blesku" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 msgid "External Flash Zoom" msgstr "Priblíženie externého blesku" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 msgid "External flash zoom" msgstr "Priblíženie externého blesku" #: src/olympusmn.cpp:387 msgid "External Flash Mode" msgstr "Režim externého blesku" #: src/olympusmn.cpp:388 msgid "External flash mode" msgstr "Režim externého blesku" #: src/olympusmn.cpp:396 msgid "Color Control" msgstr "Riadenie farieb" #: src/olympusmn.cpp:397 msgid "Color control" msgstr "Riadenie farieb" #: src/olympusmn.cpp:399 msgid "ValidBits" msgstr "Platné bity" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 msgid "Valid bits" msgstr "Platné bity" #: src/olympusmn.cpp:402 #, fuzzy msgid "CoringFilter" msgstr "Farebný filter" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring filter" msgstr "Farebný filter" #: src/olympusmn.cpp:423 msgid "Compression Ratio" msgstr "Kompresný pomer" #: src/olympusmn.cpp:424 msgid "Compression ratio" msgstr "Kompresný pomer" #: src/olympusmn.cpp:427 msgid "Preview image embedded" msgstr "Zobraziť vložený obrázok" #: src/olympusmn.cpp:430 msgid "Offset of the preview image" msgstr "Posunutie náhľadu" #: src/olympusmn.cpp:433 msgid "Size of the preview image" msgstr "Veľkosť náhľadu" #: src/olympusmn.cpp:435 msgid "CCD Scan Mode" msgstr "Režim CCD snímania" #: src/olympusmn.cpp:436 msgid "CCD scan mode" msgstr "Režim CCD snímania" #: src/olympusmn.cpp:441 msgid "Infinity Lens Step" msgstr "Nekonečný krok šošoviek" #: src/olympusmn.cpp:442 msgid "Infinity lens step" msgstr "Nekonečný krok šošoviek" #: src/olympusmn.cpp:444 msgid "Near Lens Step" msgstr "Blízky krok šošoviek" #: src/olympusmn.cpp:445 msgid "Near lens step" msgstr "Blízky krok šošoviek" #: src/olympusmn.cpp:447 msgid "Equipment Info" msgstr "Info o vybavení" #: src/olympusmn.cpp:448 #, fuzzy msgid "Camera equipment sub-IFD" msgstr "Informácie o vybavení fotoaparátu" #: src/olympusmn.cpp:451 #, fuzzy msgid "Camera Settings sub-IFD" msgstr "Nastavenie fotoaparátu (7D)" #: src/olympusmn.cpp:453 msgid "Raw Development" msgstr "Nespracovaný vývoj" #: src/olympusmn.cpp:454 #, fuzzy msgid "Raw development sub-IFD" msgstr "Nespracovaný vývoj" #: src/olympusmn.cpp:456 #, fuzzy msgid "Raw Development 2" msgstr "Nespracovaný vývoj" #: src/olympusmn.cpp:457 #, fuzzy msgid "Raw development 2 sub-IFD" msgstr "Nespracovaný vývoj" #: src/olympusmn.cpp:460 #, fuzzy msgid "Image processing sub-IFD" msgstr "Spracovanie obrazu" #: src/olympusmn.cpp:462 msgid "Focus Info" msgstr "Info o zaostrení" #: src/olympusmn.cpp:463 #, fuzzy msgid "Focus sub-IFD" msgstr "Info o zaostrení" #: src/olympusmn.cpp:465 msgid "Raw Info" msgstr "Nespracované info" #: src/olympusmn.cpp:466 #, fuzzy msgid "Raw sub-IFD" msgstr "Sub-IFD" #: src/olympusmn.cpp:470 msgid "Unknown OlympusMakerNote tag" msgstr "Neznáma značka OlympusMakerNote" #: src/olympusmn.cpp:486 #, fuzzy msgid "Program-shift" msgstr "Posunutie programu" #: src/olympusmn.cpp:491 #, fuzzy msgid "Center-weighted average" msgstr "Stredovo vážený priemer" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "" # exif-meteringmode-5 #: src/olympusmn.cpp:494 #, fuzzy msgid "Pattern+AF" msgstr "vzorka" #: src/olympusmn.cpp:495 #, fuzzy msgid "Spot+Highlight control" msgstr "Riadenie farieb" #: src/olympusmn.cpp:496 #, fuzzy msgid "Spot+Shadow control" msgstr "Riadenie farieb" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 #, fuzzy msgid "Single AF" msgstr "Jednotlivý" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 #, fuzzy msgid "Multi AF" msgstr "Viacbodový" # AF = automatické zaostrenie #: src/olympusmn.cpp:517 #, fuzzy msgid "AF Not Used" msgstr "Použitý bod automatického zaostrenia" # AF = automatické zaostrenie #: src/olympusmn.cpp:518 #, fuzzy msgid "AF Used" msgstr "Použitý bod automatického zaostrenia" #: src/olympusmn.cpp:523 #, fuzzy msgid "Not Ready" msgstr "Nepoužité" #: src/olympusmn.cpp:524 #, fuzzy msgid "Ready" msgstr "Červené oči" #: src/olympusmn.cpp:531 #, fuzzy msgid "Fill-in" msgstr "Názov súboru" #: src/olympusmn.cpp:533 #, fuzzy msgid "Slow-sync" msgstr "Pomalá synchronizácia" # exif-lightsource-2 #: src/olympusmn.cpp:534 #, fuzzy msgid "Forced On" msgstr "fluorescencia" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "" #: src/olympusmn.cpp:541 msgid "Channel 1, Low" msgstr "" #: src/olympusmn.cpp:542 msgid "Channel 2, Low" msgstr "" #: src/olympusmn.cpp:543 msgid "Channel 3, Low" msgstr "" #: src/olympusmn.cpp:544 msgid "Channel 4, Low" msgstr "" #: src/olympusmn.cpp:545 msgid "Channel 1, Mid" msgstr "" #: src/olympusmn.cpp:546 msgid "Channel 2, Mid" msgstr "" #: src/olympusmn.cpp:547 msgid "Channel 3, Mid" msgstr "" #: src/olympusmn.cpp:548 msgid "Channel 4, Mid" msgstr "" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "" # exif-lightsource-9 #: src/olympusmn.cpp:567 #, fuzzy msgid "7500K (Fine Weather with Shade)" msgstr "pekné počasie" #: src/olympusmn.cpp:568 #, fuzzy msgid "6000K (Cloudy)" msgstr "Auto (oblačno)" # exif-lightsource-9 #: src/olympusmn.cpp:569 #, fuzzy msgid "5300K (Fine Weather)" msgstr "pekné počasie" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 msgid "3600K (Tungsten light-like)" msgstr "" #: src/olympusmn.cpp:572 #, fuzzy msgid "Auto Setup" msgstr "Clona" #: src/olympusmn.cpp:573 #, fuzzy msgid "5500K (Flash)" msgstr "Auto (blesk)" # exif-lightsource-12 #: src/olympusmn.cpp:574 #, fuzzy msgid "6600K (Daylight fluorescent)" msgstr "denné svetlo, fluorescenčné" #: src/olympusmn.cpp:575 #, fuzzy msgid "4500K (Neutral white fluorescent)" msgstr "Auto (biely deň, fluorescenčné)" #: src/olympusmn.cpp:576 #, fuzzy msgid "4000K (Cool white fluorescent)" msgstr "chladné biele fluorescenčné (W 3900 - 4500K)" # exif-lightsource-15 #: src/olympusmn.cpp:577 #, fuzzy msgid "White Fluorescent" msgstr "biela, fluorescenčná" #: src/olympusmn.cpp:580 #, fuzzy msgid "One Touch WB 1" msgstr "VB jedným dotykom" #: src/olympusmn.cpp:581 #, fuzzy msgid "One Touch WB 2" msgstr "VB jedným dotykom" #: src/olympusmn.cpp:582 #, fuzzy msgid "One Touch WB 3" msgstr "VB jedným dotykom" #: src/olympusmn.cpp:583 #, fuzzy msgid "One Touch WB 4" msgstr "VB jedným dotykom" #: src/olympusmn.cpp:584 #, fuzzy msgid "Custom WB 1" msgstr "Vlastný 1" #: src/olympusmn.cpp:585 #, fuzzy msgid "Custom WB 2" msgstr "Vlastný 2" #: src/olympusmn.cpp:586 #, fuzzy msgid "Custom WB 3" msgstr "vlastné 3" #: src/olympusmn.cpp:587 #, fuzzy msgid "Custom WB 4" msgstr "Vlastný 1" #: src/olympusmn.cpp:593 #, fuzzy msgid "CM1 (Red Enhance)" msgstr "Vyváženie modrej" #: src/olympusmn.cpp:594 #, fuzzy msgid "CM2 (Green Enhance)" msgstr "Vyváženie modrej" #: src/olympusmn.cpp:595 #, fuzzy msgid "CM3 (Blue Enhance)" msgstr "Vyváženie modrej" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 #, fuzzy msgid "Noise Filter" msgstr "Filter" #: src/olympusmn.cpp:610 #, fuzzy msgid "Noise Filter (ISO Boost)" msgstr "Filter" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 #, fuzzy msgid "Muted" msgstr "použité" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 #, fuzzy msgid "Monotone" msgstr "Farebný tón" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "" #: src/olympusmn.cpp:648 msgid "SHQ" msgstr "" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 msgid "On, Mode 1" msgstr "zapnutý, režim 1" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 msgid "On, Mode 2" msgstr "zapnutý, režim 2" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 #, fuzzy msgid "On, Mode 3" msgstr "zapnutý, režim 1" #: src/olympusmn.cpp:661 #, fuzzy msgid "Camera Settings Version" msgstr "Informácie o nastaveniach fotoaparátu" #: src/olympusmn.cpp:661 #, fuzzy msgid "Camera settings version" msgstr "Informácie o nastaveniach fotoaparátu" #: src/olympusmn.cpp:662 #, fuzzy msgid "PreviewImage Valid" msgstr "Zobraziť vložený obrázok" #: src/olympusmn.cpp:662 #, fuzzy msgid "Preview image valid" msgstr "Zobraziť vložený obrázok" #: src/olympusmn.cpp:663 #, fuzzy msgid "PreviewImage Start" msgstr "Dáta náhľadu" #: src/olympusmn.cpp:663 #, fuzzy msgid "Preview image start" msgstr "Zobraziť vložený obrázok" #: src/olympusmn.cpp:664 #, fuzzy msgid "PreviewImage Length" msgstr "Dĺžka obrázka" #: src/olympusmn.cpp:664 #, fuzzy msgid "Preview image length" msgstr "Zobraziť vložený obrázok" #: src/olympusmn.cpp:666 #, fuzzy msgid "Auto exposure lock" msgstr "Automatická expozícia" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure Shift" msgstr "Čas expozície" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure shift" msgstr "Čas expozície" #: src/olympusmn.cpp:671 #, fuzzy msgid "Focus Process" msgstr "režim zaostrenia" #: src/olympusmn.cpp:671 #, fuzzy msgid "Focus process" msgstr "Vlastné spracovanie" #: src/olympusmn.cpp:672 #, fuzzy msgid "AF Search" msgstr "Moje vyhľadávania" #: src/olympusmn.cpp:672 #, fuzzy msgid "AF search" msgstr "Moje vyhľadávania" #: src/olympusmn.cpp:673 #, fuzzy msgid "AF Areas" msgstr "rozsah zaostrenia" #: src/olympusmn.cpp:673 #, fuzzy msgid "AF areas" msgstr "Rozsah zaostrenia" #: src/olympusmn.cpp:674 #, fuzzy msgid "AFPointSelected" msgstr "Nebol vybraný bod automatického zaostrenia" # AF = automatické zaostrenie #: src/olympusmn.cpp:675 #, fuzzy msgid "AF Fine Tune Adjust" msgstr "Použitý bod automatického zaostrenia" # AF = automatické zaostrenie #: src/olympusmn.cpp:675 #, fuzzy msgid "AF fine tune adjust" msgstr "Použitý bod automatického zaostrenia" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash Remote Control" msgstr "Diaľkové ovládanie?" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash remote control" msgstr "Diaľkové ovládanie?" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash Control Mode" msgstr "Režim blesku" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash control mode" msgstr "Režim blesku" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash Intensity" msgstr "Aktivita blesku" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash intensity" msgstr "Aktivita blesku" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual Flash Strength" msgstr "Sila blesku" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual flash strength" msgstr "Ručné riadenie blesku" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 #, fuzzy msgid "White Balance 2" msgstr "Vyváženie bielej" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 #, fuzzy msgid "White balance 2" msgstr "Vyváženie bielej" #: src/olympusmn.cpp:683 #, fuzzy msgid "White Balance Temperature" msgstr "Tabuľka vyváženia bielej" #: src/olympusmn.cpp:683 #, fuzzy msgid "White balance temperature" msgstr "Tabuľka vyváženia bielej" #: src/olympusmn.cpp:685 #, fuzzy msgid "Custom Saturation" msgstr "Modrá sýtosť" #: src/olympusmn.cpp:685 #, fuzzy msgid "Custom saturation" msgstr "Slabé nasýtenie" #: src/olympusmn.cpp:686 #, fuzzy msgid "Modified Saturation" msgstr "Červená sýtosť" #: src/olympusmn.cpp:686 #, fuzzy msgid "Modified saturation" msgstr "Červená sýtosť" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 #, fuzzy msgid "Contrast Setting" msgstr "Nastavenie kontrastu" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 #, fuzzy msgid "Sharpness Setting" msgstr "Nastavenie zaostrenia" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 #, fuzzy msgid "Distortion Correction" msgstr "Bez korekcie" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 #, fuzzy msgid "Distortion correction" msgstr "Bez korekcie" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 #, fuzzy msgid "Shading Compensation" msgstr "Kompenzácia tónu" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 #, fuzzy msgid "Shading compensation" msgstr "Kompenzácia tónu" #: src/olympusmn.cpp:694 #, fuzzy msgid "Compression Factor" msgstr "Kompresný pomer" #: src/olympusmn.cpp:694 #, fuzzy msgid "Compression factor" msgstr "Kompresný pomer" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 #, fuzzy msgid "Gradation" msgstr "Trvanie" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 msgid "Picture mode" msgstr "Režim obrázka" #: src/olympusmn.cpp:697 #, fuzzy msgid "Picture Mode Saturation" msgstr "Nastavenie režimu obrázka" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 #, fuzzy msgid "Picture mode saturation" msgstr "Nastavenie režimu obrázka" #: src/olympusmn.cpp:698 #, fuzzy msgid "Picture Mode Hue" msgstr "Režim obrázka" #: src/olympusmn.cpp:698 #, fuzzy msgid "Picture mode hue" msgstr "Režim obrázka" #: src/olympusmn.cpp:699 #, fuzzy msgid "Picture Mode Contrast" msgstr "Režim obrázka" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 #, fuzzy msgid "Picture mode contrast" msgstr "Nastavenie režimu obrázka" #: src/olympusmn.cpp:700 #, fuzzy msgid "Picture Mode Sharpness" msgstr "Režim obrázka" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 #, fuzzy msgid "Picture mode sharpness" msgstr "Nastavenie režimu obrázka" #: src/olympusmn.cpp:701 #, fuzzy msgid "Picture Mode BW Filter" msgstr "Režim obrázka" #: src/olympusmn.cpp:701 #, fuzzy msgid "Picture mode BW filter" msgstr "Režim obrázka" #: src/olympusmn.cpp:702 #, fuzzy msgid "Picture Mode Tone" msgstr "Režim obrázka" #: src/olympusmn.cpp:702 #, fuzzy msgid "Picture mode tone" msgstr "Režim obrázka" #: src/olympusmn.cpp:703 #, fuzzy msgid "Noise filter" msgstr "Farebný filter" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art Filter" msgstr "Filter" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art filter" msgstr "Farebný filter" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic Filter" msgstr "Digitálny filter" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic filter" msgstr "Digitálny filter" #: src/olympusmn.cpp:707 #, fuzzy msgid "Panorama Mode" msgstr "panoráma" #: src/olympusmn.cpp:707 #, fuzzy msgid "Panorama mode" msgstr "Rámec panorámy" #: src/olympusmn.cpp:708 #, fuzzy msgid "Image Quality 2" msgstr "Kvalita obrázka" #: src/olympusmn.cpp:708 #, fuzzy msgid "Image quality 2" msgstr "Kvalita obrázka" # exif-compression-1 #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 #, fuzzy msgid "Manometer Pressure" msgstr "nekomprimovaný" # exif-compression-1 #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 #, fuzzy msgid "Manometer pressure" msgstr "nekomprimovaný" # exif-compression-1 #: src/olympusmn.cpp:711 #, fuzzy msgid "Manometer Reading" msgstr "nekomprimovaný" # exif-compression-1 #: src/olympusmn.cpp:711 #, fuzzy msgid "Manometer reading" msgstr "nekomprimovaný" #: src/olympusmn.cpp:712 #, fuzzy msgid "Extended WB Detect" msgstr "Režim scény" #: src/olympusmn.cpp:712 #, fuzzy msgid "Extended WB detect" msgstr "Režim scény" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "" #: src/olympusmn.cpp:716 msgid "Unknown OlympusCs tag" msgstr "Neznáma značka OlympusCs" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "" #: src/olympusmn.cpp:745 #, fuzzy msgid "Equipment Version" msgstr "Info o vybavení" #: src/olympusmn.cpp:745 #, fuzzy msgid "Equipment version" msgstr "Info o vybavení" #: src/olympusmn.cpp:747 msgid "Serial number" msgstr "Sériové číslo" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 #, fuzzy msgid "Lens Serial Number" msgstr "Sériové číslo" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 #, fuzzy msgid "Lens serial number" msgstr "Sériové číslo fotoaparátu" #: src/olympusmn.cpp:754 #, fuzzy msgid "Lens Firmware Version" msgstr "Verzia firmvéru" #: src/olympusmn.cpp:754 #, fuzzy msgid "Lens firmware version" msgstr "Verzia firmvéru" #: src/olympusmn.cpp:759 #, fuzzy msgid "Max Aperture At Current Focal" msgstr "maximálna clona pri minimálnom ohnisku" #: src/olympusmn.cpp:759 #, fuzzy msgid "Max aperture at current focal" msgstr "maximálna clona pri minimálnom ohnisku" #: src/olympusmn.cpp:760 #, fuzzy msgid "Lens Properties" msgstr "Vlastnosti digiKam" #: src/olympusmn.cpp:760 #, fuzzy msgid "Lens properties" msgstr "Teplota šošoviek" #: src/olympusmn.cpp:761 #, fuzzy msgid "Extender" msgstr "externý" #: src/olympusmn.cpp:762 #, fuzzy msgid "Extender Serial Number" msgstr "Sériové číslo fotoaparátu" #: src/olympusmn.cpp:762 #, fuzzy msgid "Extender serial number" msgstr "Sériové číslo fotoaparátu" #: src/olympusmn.cpp:763 #, fuzzy msgid "Extender Model" msgstr "Režim scény" #: src/olympusmn.cpp:763 #, fuzzy msgid "Extender model" msgstr "Režim scény" #: src/olympusmn.cpp:764 #, fuzzy msgid "Extender Firmware Version" msgstr "Verzia firmvéru" #: src/olympusmn.cpp:764 #, fuzzy msgid "Extender firmwareversion" msgstr "Verzia formvéru" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 #, fuzzy msgid "Conversion Lens" msgstr "Verzie" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 #, fuzzy msgid "Conversion lens" msgstr "Hodnota jasu" #: src/olympusmn.cpp:767 src/properties.cpp:402 #, fuzzy msgid "Flash Model" msgstr "Režim blesku" #: src/olympusmn.cpp:767 #, fuzzy msgid "Flash model" msgstr "Režim blesku" #: src/olympusmn.cpp:768 #, fuzzy msgid "Flash Firmware Version" msgstr "Verzia firmvéru" #: src/olympusmn.cpp:768 #, fuzzy msgid "Flash firmware version" msgstr "Verzia firmvéru" #: src/olympusmn.cpp:769 #, fuzzy msgid "FlashSerialNumber" msgstr "SériovéČíslo" #: src/olympusmn.cpp:771 msgid "Unknown OlympusEq tag" msgstr "Neznáma značka OlympusEq" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 #, fuzzy msgid "High Speed" msgstr "Orezanie vysoká rýchlosť" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 #, fuzzy msgid "High Function" msgstr "Silné nasýtenie" #: src/olympusmn.cpp:790 #, fuzzy msgid "Advanced High Speed" msgstr "Orezanie vysoká rýchlosť" # exif-transferfunction #: src/olympusmn.cpp:791 #, fuzzy msgid "Advanced High Function" msgstr "prenosová funkcia" #: src/olympusmn.cpp:796 msgid "Original" msgstr "Originál" # exif-scenecapturetype-1 #: src/olympusmn.cpp:797 #, fuzzy msgid "Edited (Landscape)" msgstr "krajinka" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 #, fuzzy msgid "Edited (Portrait)" msgstr "Nočný portrét" #: src/olympusmn.cpp:804 #, fuzzy msgid "WB Color Temp" msgstr "Farebný tón" # AF = automatické zaostrenie #: src/olympusmn.cpp:805 #, fuzzy msgid "WB Gray Point" msgstr "Bod automatického zaostrenia" #: src/olympusmn.cpp:815 #, fuzzy msgid "Raw Development Version" msgstr "Nespracovaný vývoj" #: src/olympusmn.cpp:815 #, fuzzy msgid "Raw development version" msgstr "Informácie o nespracovanom vývoji" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 msgid "Exposure Bias Value" msgstr "Hodnota skreslenia expozície" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 #, fuzzy msgid "Exposure bias value" msgstr "Hodnota skreslenia expozície" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 #, fuzzy msgid "White Balance Value" msgstr "Tabuľka vyváženia bielej" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 #, fuzzy msgid "White balance value" msgstr "Tabuľka vyváženia bielej" #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 #, fuzzy msgid "WB Fine Adjustment" msgstr "Úpravy tónu" #: src/olympusmn.cpp:818 #, fuzzy msgid "WB fine adjustment" msgstr "Úpravy tónu" # AF = automatické zaostrenie #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 #, fuzzy msgid "Gray Point" msgstr "Bod automatického zaostrenia" # AF = automatické zaostrenie #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 #, fuzzy msgid "Gray point" msgstr "bod automatického zaostrenia" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 #, fuzzy msgid "Saturation Emphasis" msgstr "Nastavenie sýtosti" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 #, fuzzy msgid "Saturation emphasis" msgstr "Nastavenie sýtosti" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 #, fuzzy msgid "Memory Color Emphasis" msgstr "Moje farby" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 #, fuzzy msgid "Memory color emphasis" msgstr "Moje farby" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 #, fuzzy msgid "Contrast Value" msgstr "Kontrast" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 #, fuzzy msgid "Contrast value" msgstr "Kontrast" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 #, fuzzy msgid "Sharpness Value" msgstr "Ostrosť" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 #, fuzzy msgid "Sharpness value" msgstr "Ostrosť" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 #, fuzzy msgid "Engine" msgstr "Večer" #: src/olympusmn.cpp:827 #, fuzzy msgid "Edit status" msgstr "Upraviť stav" #: src/olympusmn.cpp:828 #, fuzzy msgid "Settings" msgstr "Nastavenie AE" #: src/olympusmn.cpp:830 msgid "Unknown OlympusRd tag" msgstr "Neznáma značka OlympusRd" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw Development 2 Version" msgstr "Nespracovaný vývoj" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw development 2 version" msgstr "Informácie o nespracovanom vývoji" #: src/olympusmn.cpp:889 #, fuzzy msgid "White balance fine adjustment" msgstr "Nastavenie vyváženia bielej" #: src/olympusmn.cpp:899 #, fuzzy msgid "PM Saturation" msgstr "Sýtosť" #: src/olympusmn.cpp:900 #, fuzzy msgid "PM Contrast" msgstr "Kontrast" #: src/olympusmn.cpp:901 #, fuzzy msgid "PM Sharpness" msgstr "Ostrosť" #: src/olympusmn.cpp:902 #, fuzzy msgid "PM BW Filter" msgstr "Filter" #: src/olympusmn.cpp:902 #, fuzzy msgid "PM BW filter" msgstr "Filter" #: src/olympusmn.cpp:903 #, fuzzy msgid "PM Picture Tone" msgstr "Režim obrázka" #: src/olympusmn.cpp:903 #, fuzzy msgid "PM picture tone" msgstr "Režim obrázka" #: src/olympusmn.cpp:906 #, fuzzy msgid "Auto Gradation" msgstr "Trvanie zvuku" #: src/olympusmn.cpp:906 #, fuzzy msgid "Auto gradation" msgstr "Trvanie zvuku" #: src/olympusmn.cpp:907 #, fuzzy msgid "PM Noise Filter" msgstr "Filter" #: src/olympusmn.cpp:907 #, fuzzy msgid "Picture mode noise filter" msgstr "Nastavenie režimu obrázka" #: src/olympusmn.cpp:909 msgid "Unknown OlympusRd2 tag" msgstr "Neznáma značka OlympusRd2" #: src/olympusmn.cpp:920 #, fuzzy msgid "On (2 frames)" msgstr "Zapnuté (predvolené)" #: src/olympusmn.cpp:921 #, fuzzy msgid "On (3 frames)" msgstr "Zapnuté (predvolené)" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image Processing Version" msgstr "Spracovanie obrazu" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image processing version" msgstr "Informácie o spracovaní obrazu" #: src/olympusmn.cpp:940 #, fuzzy msgid "WB RB Levels 3000K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:940 #, fuzzy msgid "WB RB levels 3000K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:941 #, fuzzy msgid "WB RB Levels 3300K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:941 #, fuzzy msgid "WB RB levels 3300K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:942 #, fuzzy msgid "WB RB Levels 3600K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:942 #, fuzzy msgid "WB RB levels 3600K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:943 #, fuzzy msgid "WB RB Levels 3900K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:943 #, fuzzy msgid "WB RB levels 3900K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:944 #, fuzzy msgid "WB RB Levels 4000K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:944 #, fuzzy msgid "WB RB levels 4000K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:945 #, fuzzy msgid "WB RB Levels 4300K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:945 #, fuzzy msgid "WB RB levels 4300K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:946 #, fuzzy msgid "WB RB Levels 4500K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:946 #, fuzzy msgid "WB RB levels 4500K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:947 #, fuzzy msgid "WB RB Levels 4800K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:947 #, fuzzy msgid "WB RB levels 4800K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:948 #, fuzzy msgid "WB RB Levels 5300K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:948 #, fuzzy msgid "WB RB levels 5300K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:949 #, fuzzy msgid "WB RB Levels 6000K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:949 #, fuzzy msgid "WB RB levels 6000K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:950 #, fuzzy msgid "WB RB Levels 6600K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:950 #, fuzzy msgid "WB RB levels 6600K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:951 #, fuzzy msgid "WB RB Levels 7500K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:951 #, fuzzy msgid "WB RB levels 7500K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:952 #, fuzzy msgid "WB RB Levels CWB1" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:952 #, fuzzy msgid "WB RB levels CWB1" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:953 #, fuzzy msgid "WB RB Levels CWB2" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:953 #, fuzzy msgid "WB RB levels CWB2" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:954 #, fuzzy msgid "WB RB Levels CWB3" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:954 #, fuzzy msgid "WB RB levels CWB3" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:955 #, fuzzy msgid "WB RB Levels CWB4" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:955 #, fuzzy msgid "WB RB levels CWB4" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:956 #, fuzzy msgid "WB G Level 3000K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:956 #, fuzzy msgid "WB G level 3000K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:957 #, fuzzy msgid "WB G Level 3300K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:957 #, fuzzy msgid "WB G level 3300K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:958 #, fuzzy msgid "WB G Level 3600K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:958 #, fuzzy msgid "WB G level 3600K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:959 #, fuzzy msgid "WB G Level 3900K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:959 #, fuzzy msgid "WB G level 3900K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:960 #, fuzzy msgid "WB G Level 4000K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:960 #, fuzzy msgid "WB G level 4000K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:961 #, fuzzy msgid "WB G Level 4300K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:961 #, fuzzy msgid "WB G level 4300K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:962 #, fuzzy msgid "WB G Level 4500K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:962 #, fuzzy msgid "WB G level 4500K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:963 #, fuzzy msgid "WB G Level 4800K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:963 #, fuzzy msgid "WB G level 4800K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:964 #, fuzzy msgid "WB G Level 5300K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:964 #, fuzzy msgid "WB G level 5300K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:965 #, fuzzy msgid "WB G Level 6000K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:965 #, fuzzy msgid "WB G level 6000K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:966 #, fuzzy msgid "WB G Level 6600K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:966 #, fuzzy msgid "WB G level 6600K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:967 #, fuzzy msgid "WB G Level 7500K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:967 #, fuzzy msgid "WB G level 7500K" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G Level" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G level" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:970 msgid "Enhancer" msgstr "" #: src/olympusmn.cpp:971 #, fuzzy msgid "Enhancer Values" msgstr "Ostrosť" #: src/olympusmn.cpp:971 #, fuzzy msgid "Enhancer values" msgstr "Ostrosť" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring Filter" msgstr "Farebný filter" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring Values" msgstr "Hodnota jasu" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring values" msgstr "Hodnota jasu" #: src/olympusmn.cpp:974 src/tags.cpp:915 #, fuzzy msgid "Black Level" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:975 #, fuzzy msgid "Gain Base" msgstr "Základné URL" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "" #: src/olympusmn.cpp:976 #, fuzzy msgid "Valid Bits" msgstr "Platné bity" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 msgid "Crop Left" msgstr "Orezať vľavo" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 #, fuzzy msgid "Crop left" msgstr "Orezať vľavo" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 msgid "Crop Top" msgstr "Orezať vrch" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 #, fuzzy msgid "Crop top" msgstr "Orezať vrch" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 msgid "Crop Width" msgstr "Orezať šírku" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 #, fuzzy msgid "Crop width" msgstr "Orezať šírku" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 msgid "Crop Height" msgstr "Orezať výšku" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 #, fuzzy msgid "Crop height" msgstr "Orezať výšku" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple Exposure Mode" msgstr "Režim expozície" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple exposure mode" msgstr "Viacnásobná expozícia" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 msgid "Aspect Ratio" msgstr "" #: src/olympusmn.cpp:985 #, fuzzy msgid "Aspect ratio" msgstr "Trvanie zvuku" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect Frame" msgstr "Názov objektu" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect frame" msgstr "Názov objektu" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 #, fuzzy msgid "Face Detect" msgstr "Nepodarilo sa prečítať" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 #, fuzzy msgid "Face detect" msgstr "Nepodarilo sa prečítať" #: src/olympusmn.cpp:988 #, fuzzy msgid "Face Detect Area" msgstr "Nepodarilo sa prečítať" #: src/olympusmn.cpp:988 #, fuzzy msgid "Face detect area" msgstr "Nepodarilo sa prečítať" #: src/olympusmn.cpp:990 msgid "Unknown OlympusIp tag" msgstr "Neznáma značka OlympusIp" #: src/olympusmn.cpp:1000 msgid "Bounce or Off" msgstr "" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "" #: src/olympusmn.cpp:1005 #, fuzzy msgid "Focus Info Version" msgstr "Informácie o zaostrení" #: src/olympusmn.cpp:1005 #, fuzzy msgid "Focus info version" msgstr "Informácie o zaostrení" #: src/olympusmn.cpp:1006 #, fuzzy msgid "Auto Focus" msgstr "Automatické zaostrenie" #: src/olympusmn.cpp:1007 #, fuzzy msgid "Scene Detect" msgstr "Režim scény" #: src/olympusmn.cpp:1007 #, fuzzy msgid "Scene detect" msgstr "Režim scény" #: src/olympusmn.cpp:1008 #, fuzzy msgid "Scene Area" msgstr "scenéria" #: src/olympusmn.cpp:1008 #, fuzzy msgid "Scene area" msgstr "Jednoduchá oblasť" #: src/olympusmn.cpp:1009 #, fuzzy msgid "Scene Detect Data" msgstr "Režim scény" #: src/olympusmn.cpp:1009 #, fuzzy msgid "Scene detect data" msgstr "Režim scény" #: src/olympusmn.cpp:1010 #, fuzzy msgid "Zoom Step Count" msgstr "Počet krokov priblíženia" #: src/olympusmn.cpp:1011 #, fuzzy msgid "Focus Step Count" msgstr "Počet krokov makro priblíženia" #: src/olympusmn.cpp:1011 #, fuzzy msgid "Focus step count" msgstr "Počet krokov makro priblíženia" #: src/olympusmn.cpp:1012 #, fuzzy msgid "Focus Step Infinity" msgstr "Nastavenia zaostrenia" #: src/olympusmn.cpp:1012 #, fuzzy msgid "Focus step infinity" msgstr "Nastavenia zaostrenia" #: src/olympusmn.cpp:1013 #, fuzzy msgid "Focus Step Near" msgstr "Typ zaostrenia" #: src/olympusmn.cpp:1013 #, fuzzy msgid "Focus step near" msgstr "Vzdialenosť zaostrenia" #: src/olympusmn.cpp:1016 #, fuzzy msgid "External Flash" msgstr "externý blesk" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External Flash Guide Number" msgstr "Režim externého blesku" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External flash guide number" msgstr "Odrazenie externého blesku" #: src/olympusmn.cpp:1021 #, fuzzy msgid "Manual Flash" msgstr "Ručné uvoľnenie" #: src/olympusmn.cpp:1021 #, fuzzy msgid "Manual flash" msgstr "Ručné uvoľnenie" #: src/olympusmn.cpp:1025 msgid "Unknown OlympusFi tag" msgstr "Neznáma značka OlympusFi" #: src/olympusmn.cpp:1036 #, fuzzy msgid "Unknown OlympusFe tag" msgstr "Neznáma značka OlympusFi" # exif-lightsource-9 #: src/olympusmn.cpp:1049 #, fuzzy msgid "Fine Weather" msgstr "pekné počasie" # exif-lightsource-3 #: src/olympusmn.cpp:1050 #, fuzzy msgid "Tungsten (incandescent)" msgstr "volfram (inkadescentné svetlo)" #: src/olympusmn.cpp:1051 #, fuzzy msgid "Evening Sunlight" msgstr "Večer" #: src/olympusmn.cpp:1052 #, fuzzy msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "denné svetlo fluorescenčné (D 5700 - 7100K)" #: src/olympusmn.cpp:1053 #, fuzzy msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "biely deň, fluorescenčné (N 4600 - 5400K)" #: src/olympusmn.cpp:1054 #, fuzzy msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "chladné biele fluorescenčné (W 3900 - 4500K)" #: src/olympusmn.cpp:1055 #, fuzzy msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "biele fluorescenčné (WW 3200 - 3700K)" #: src/olympusmn.cpp:1056 #, fuzzy msgid "One Touch White Balance" msgstr "Vyváženie bielej jedným dotykom" #: src/olympusmn.cpp:1057 #, fuzzy msgid "Custom 1-4" msgstr "Vlastný 1" #: src/olympusmn.cpp:1061 #, fuzzy msgid "Raw Info Version" msgstr "Informácie o zaostrení" #: src/olympusmn.cpp:1061 #, fuzzy msgid "Raw info version" msgstr "Nespracované informácie" #: src/olympusmn.cpp:1062 #, fuzzy msgid "WB_RB Levels Used" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:1062 #, fuzzy msgid "WB_RB levels used" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:1063 #, fuzzy msgid "WB_RB Levels Auto" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:1063 #, fuzzy msgid "WB_RB levels auto" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:1064 #, fuzzy msgid "WB_RB Levels Shade" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:1064 #, fuzzy msgid "WB_RB levels shade" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:1065 #, fuzzy msgid "WB_RB Levels Cloudy" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:1065 #, fuzzy msgid "WB_RB levels cloudy" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:1066 #, fuzzy msgid "WB_RB Levels Fine Weather" msgstr "WB_RGGBLevelsFlash" #: src/olympusmn.cpp:1066 #, fuzzy msgid "WB_RB levels fine weather" msgstr "WB_RGGBLevelsFlash" #: src/olympusmn.cpp:1067 #, fuzzy msgid "WB_RB Levels Tungsten" msgstr "WB_RGGBLevelsTungsten" #: src/olympusmn.cpp:1067 #, fuzzy msgid "WB_RB levels tungsten" msgstr "WB_RGGBLevelsTungsten" #: src/olympusmn.cpp:1068 #, fuzzy msgid "WB_RB Levels Evening Sunlight" msgstr "WB_RGGBLevelsDaylight" #: src/olympusmn.cpp:1068 #, fuzzy msgid "WB_RB levels evening sunlight" msgstr "WB_RGGBLevelsDaylight" #: src/olympusmn.cpp:1069 #, fuzzy msgid "WB_RB Levels Daylight Fluor" msgstr "WB_RGGBLevelsDaylight" #: src/olympusmn.cpp:1069 #, fuzzy msgid "WB_RB levels daylight fluor" msgstr "WB_RGGBLevelsDaylight" #: src/olympusmn.cpp:1070 #, fuzzy msgid "WB_RB Levels Day White Fluor" msgstr "WB_RGGBLevelsDaylight" #: src/olympusmn.cpp:1070 #, fuzzy msgid "WB_RB levels day white fluor" msgstr "WB_RGGBLevelsDaylight" #: src/olympusmn.cpp:1071 #, fuzzy msgid "WB_RB Levels Cool White Fluor" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:1071 #, fuzzy msgid "WB_RB levels cool white fluor" msgstr "WB_RGGBLevelsCloudy" # exif-lightsource-15 #: src/olympusmn.cpp:1072 #, fuzzy msgid "WB_RB Levels White Fluorescent" msgstr "WB_RGGBLevelsFluorescentD" # exif-lightsource-15 #: src/olympusmn.cpp:1072 #, fuzzy msgid "WB_RB levels white fluorescent" msgstr "WB_RGGBLevelsFluorescentD" #: src/olympusmn.cpp:1073 #, fuzzy msgid "Color Matrix2" msgstr "Matica farieb 2" #: src/olympusmn.cpp:1073 #, fuzzy msgid "Color matrix 2" msgstr "Matica farieb 2" #: src/olympusmn.cpp:1076 #, fuzzy msgid "Black Level 2" msgstr "Úroveň čiernej" #: src/olympusmn.cpp:1076 #, fuzzy msgid "Black level 2" msgstr "Úroveň čiernej" # exif-ycbcrcoefficients #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 msgid "YCbCr Coefficients" msgstr "koeficienty YCbCr" # exif-ycbcrcoefficients #: src/olympusmn.cpp:1077 #, fuzzy msgid "YCbCr coefficients" msgstr "koeficienty YCbCr" #: src/olympusmn.cpp:1078 msgid "Valid Pixel Depth" msgstr "" #: src/olympusmn.cpp:1078 msgid "Valid pixel depth" msgstr "" #: src/olympusmn.cpp:1084 #, fuzzy msgid "White Balance Comp" msgstr "Vyváženie bielej" #: src/olympusmn.cpp:1084 #, fuzzy msgid "White balance comp" msgstr "Vyváženie bielej" #: src/olympusmn.cpp:1085 #, fuzzy msgid "Saturation Setting" msgstr "Nastavenie sýtosti" #: src/olympusmn.cpp:1086 #, fuzzy msgid "Hue Setting" msgstr "Nastavenia" #: src/olympusmn.cpp:1086 #, fuzzy msgid "Hue setting" msgstr "Nastavenie AE" #: src/olympusmn.cpp:1089 #, fuzzy msgid "CM Exposure Compensation" msgstr "Kompenzácia expozície" #: src/olympusmn.cpp:1089 #, fuzzy msgid "CM exposure compensation" msgstr "Kompenzácia expozície" #: src/olympusmn.cpp:1090 #, fuzzy msgid "CM White Balance" msgstr "Vyváženie bielej" #: src/olympusmn.cpp:1090 #, fuzzy msgid "CM white balance" msgstr "Vyváženie bielej" #: src/olympusmn.cpp:1091 #, fuzzy msgid "CM White Balance Comp" msgstr "Vyváženie bielej" #: src/olympusmn.cpp:1091 #, fuzzy msgid "CM white balance comp" msgstr "Vyváženie bielej" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM White Balance Gray Point" msgstr "Viacnásobné snímky so zmenou vyváženia bielej" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM white balance gray point" msgstr "Viacnásobné snímky so zmenou vyváženia bielej" #: src/olympusmn.cpp:1093 #, fuzzy msgid "CM Saturation" msgstr "Sýtosť" #: src/olympusmn.cpp:1093 #, fuzzy msgid "CM saturation" msgstr "Sýtosť" #: src/olympusmn.cpp:1094 #, fuzzy msgid "CM Hue" msgstr "Odtieň" #: src/olympusmn.cpp:1094 #, fuzzy msgid "CM hue" msgstr "Odtieň" #: src/olympusmn.cpp:1095 #, fuzzy msgid "CM Contrast" msgstr "Kontrast" #: src/olympusmn.cpp:1095 #, fuzzy msgid "CM contrast" msgstr "Kontrast" #: src/olympusmn.cpp:1096 #, fuzzy msgid "CM Sharpness" msgstr "Ostrosť" #: src/olympusmn.cpp:1096 #, fuzzy msgid "CM sharpness" msgstr "Ostrosť" #: src/olympusmn.cpp:1098 #, fuzzy msgid "Unknown OlympusRi tag" msgstr "Neznáma značka OlympusRd" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 msgid "User-Selected" msgstr "Vybrané používateľom" #: src/olympusmn.cpp:1122 #, fuzzy msgid "Auto-Override" msgstr "Prepísať" #: src/olympusmn.cpp:1158 msgid "Fast" msgstr "rýchly" #: src/olympusmn.cpp:1223 msgid "3000 Kelvin" msgstr "3000 Kelvinov" #: src/olympusmn.cpp:1224 msgid "3700 Kelvin" msgstr "3700 Kelvinov" #: src/olympusmn.cpp:1225 msgid "4000 Kelvin" msgstr "4000 Kelvinov" #: src/olympusmn.cpp:1226 msgid "4500 Kelvin" msgstr "4500 Kelvinov" #: src/olympusmn.cpp:1227 msgid "5500 Kelvin" msgstr "5500 Kelvinov" #: src/olympusmn.cpp:1228 msgid "6500 Kelvin" msgstr "6500 Kelvinov" #: src/olympusmn.cpp:1229 msgid "7500 Kelvin" msgstr "7500 Kelvinov" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "jedným dotykom" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "" #: src/olympusmn.cpp:1456 #, fuzzy msgid "Imager AF" msgstr "Jedinečný ID obrázka" #: src/olympusmn.cpp:1457 #, fuzzy msgid "AF sensor" msgstr "Moje vyhľadávania" #: src/olympusmn.cpp:1502 #, fuzzy msgid "Soft Focus" msgstr "Bodové zaostrenie" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "" #: src/olympusmn.cpp:1505 #, fuzzy msgid "Light Tone" msgstr "Oblasť vpravo" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "" #: src/olympusmn.cpp:1508 #, fuzzy msgid "Diorama" msgstr "panoráma" #: src/olympusmn.cpp:1509 #, fuzzy msgid "Cross Process" msgstr "režim zaostrenia" # exif-flashenergy #: src/olympusmn.cpp:1510 #, fuzzy msgid "Fish Eye" msgstr "energia blesku" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "" #: src/olympusmn.cpp:1513 msgid "Pale & Light Color II" msgstr "" #: src/olympusmn.cpp:1514 msgid "Pop Art II" msgstr "" #: src/olympusmn.cpp:1515 msgid "Pin Hole II" msgstr "" #: src/olympusmn.cpp:1516 msgid "Pin Hole III" msgstr "" #: src/olympusmn.cpp:1517 msgid "Grainy Film II" msgstr "" #: src/olympusmn.cpp:1518 #, fuzzy msgid "Dramatic Tone" msgstr "Informácie o snímke" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "" #: src/olympusmn.cpp:1520 #, fuzzy msgid "Soft Focus 2" msgstr "Bodové zaostrenie" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "" #: src/olympusmn.cpp:1522 #, fuzzy msgid "Watercolor" msgstr "Prirodzená farba" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "" #: src/olympusmn.cpp:1525 #, fuzzy msgid "Miniature" msgstr "Max. clona" #: src/olympusmn.cpp:1526 #, fuzzy msgid "Reflection" msgstr "Výber" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "" #: src/olympusmn.cpp:1528 #, fuzzy msgid "Cross Process II" msgstr "režim zaostrenia" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "" #: src/olympusmn.cpp:1530 #, fuzzy msgid "Watercolor I" msgstr "Prirodzená farba" #: src/olympusmn.cpp:1531 #, fuzzy msgid "Watercolor II" msgstr "Prirodzená farba" #: src/olympusmn.cpp:1532 #, fuzzy msgid "Diorama II" msgstr "panoráma" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "" #: src/olympusmn.cpp:1534 #, fuzzy msgid "Vintage II" msgstr "Manažér" #: src/olympusmn.cpp:1535 #, fuzzy msgid "Vintage III" msgstr "Manažér" #: src/olympusmn.cpp:1536 #, fuzzy msgid "Partial Color" msgstr "Prirodzená farba" #: src/olympusmn.cpp:1537 #, fuzzy msgid "Partial Color II" msgstr "Prirodzená farba" #: src/olympusmn.cpp:1538 #, fuzzy msgid "Partial Color III" msgstr "Prirodzená farba" #: src/olympusmn.cpp:1608 #, fuzzy msgid "Left (or n/a)" msgstr "Oblasť vľavo" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 #, fuzzy msgid "Center (horizontal)" msgstr "Stredná oblasť (vodorovná orientácia)" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 #, fuzzy msgid "Center (vertical)" msgstr "Stredná oblasť (zvislá orientácia)" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1623 #, fuzzy msgid "Top-center (horizontal)" msgstr "Stredná oblasť (vodorovná orientácia)" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1625 #, fuzzy msgid "Left (horizontal)" msgstr "Horizontálne (normálne)" #: src/olympusmn.cpp:1626 msgid "Mid-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1628 msgid "Mid-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1629 #, fuzzy msgid "Right (horizontal)" msgstr "Horizontálne (normálne)" #: src/olympusmn.cpp:1630 #, fuzzy msgid "Bottom-left (horizontal)" msgstr "vľavo dolu" #: src/olympusmn.cpp:1631 #, fuzzy msgid "Bottom-center (horizontal)" msgstr "vľavo dolu" #: src/olympusmn.cpp:1632 #, fuzzy msgid "Bottom-right (horizontal)" msgstr "vpravo dolu" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "" #: src/olympusmn.cpp:1634 #, fuzzy msgid "Top-center (vertical)" msgstr "v strede" #: src/olympusmn.cpp:1635 #, fuzzy msgid "Top-right (vertical)" msgstr "vpravo hore" #: src/olympusmn.cpp:1636 msgid "Left (vertical)" msgstr "" #: src/olympusmn.cpp:1637 msgid "Mid-left (vertical)" msgstr "" #: src/olympusmn.cpp:1639 #, fuzzy msgid "Mid-right (vertical)" msgstr "v strede vpravo" #: src/olympusmn.cpp:1640 msgid "Right (vertical)" msgstr "" #: src/olympusmn.cpp:1641 #, fuzzy msgid "Bottom-left (vertical)" msgstr "vľavo dolu" #: src/olympusmn.cpp:1642 #, fuzzy msgid "Bottom-center (vertical)" msgstr "vľavo dolu" #: src/olympusmn.cpp:1643 #, fuzzy msgid "Bottom-right (vertical)" msgstr "vpravo dolu" #: src/olympusmn.cpp:1680 #, fuzzy msgid "Single Target" msgstr "Jednoduchá oblasť" #: src/olympusmn.cpp:1681 #, fuzzy msgid "All Target" msgstr "cieľ" #: src/olympusmn.cpp:1682 #, fuzzy msgid "Dynamic Single Target" msgstr "Nastavenie dynamického rozsahu" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "TIFF" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 msgid "Very High" msgstr "veľmi vysoký" #: src/panasonicmn.cpp:60 #, fuzzy msgid "Motion Picture" msgstr "Režim obrázka" #: src/panasonicmn.cpp:61 #, fuzzy msgid "Full HD Movie" msgstr "Film" #: src/panasonicmn.cpp:62 #, fuzzy msgid "4k Movie" msgstr "Film" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "Halogén" #: src/panasonicmn.cpp:83 msgid "Auto, focus button" msgstr "auto, stlačenie tlačidla zaostrenia" #: src/panasonicmn.cpp:84 msgid "Auto, continuous" msgstr "auto, spojitý" # AF = automatické zaostrenie #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "AZ-S" # AF = automatické zaostrenie #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "AZ-C" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 msgid "Panning" msgstr "posúvanie" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "Tele-makro" # exif-subjectdistancerange-1 #: src/panasonicmn.cpp:104 #, fuzzy msgid "Macro-zoom" msgstr "makro" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 msgid "Scenery" msgstr "scenéria" # exif-exposureprogram-4 #: src/panasonicmn.cpp:117 msgid "Shutter-speed priority" msgstr "priorita rýchlosti uzávierky" #: src/panasonicmn.cpp:121 #, fuzzy msgid "Movie preview" msgstr "Zapisuje sa" #: src/panasonicmn.cpp:123 #, fuzzy msgid "Simple" msgstr "Jednotlivý" #: src/panasonicmn.cpp:124 #, fuzzy msgid "Color effects" msgstr "Farebný efekt" #: src/panasonicmn.cpp:130 msgid "Night scenery" msgstr "nočná scéna" #: src/panasonicmn.cpp:132 #, fuzzy msgid "Baby" msgstr "Autor" # exif-sharpness-1 #: src/panasonicmn.cpp:133 #, fuzzy msgid "Soft skin" msgstr "mäkký" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 msgid "Candlelight" msgstr "svetlo sviečky" #: src/panasonicmn.cpp:135 #, fuzzy msgid "Starry night" msgstr "Štandardné svetlo A" #: src/panasonicmn.cpp:136 #, fuzzy msgid "High sensitivity" msgstr "ISO citlivosť" #: src/panasonicmn.cpp:137 #, fuzzy msgid "Panorama assist" msgstr "panoráma" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 #, fuzzy msgid "Intelligent ISO" msgstr "Dĺžka intervalu" #: src/panasonicmn.cpp:144 #, fuzzy msgid "Clipboard" msgstr "Vyváženie bielej" #: src/panasonicmn.cpp:145 #, fuzzy msgid "High speed continuous shooting" msgstr "Nastavenie spojité zaostrenie" #: src/panasonicmn.cpp:146 #, fuzzy msgid "Intelligent auto" msgstr "Dĺžka intervalu" #: src/panasonicmn.cpp:147 #, fuzzy msgid "Multi-aspect" msgstr "Viacbodový" #: src/panasonicmn.cpp:148 #, fuzzy msgid "Transform" msgstr "prenosový rozsah" #: src/panasonicmn.cpp:149 #, fuzzy msgid "Flash Burst" msgstr "Skreslenie blesku" #: src/panasonicmn.cpp:151 #, fuzzy msgid "Film Grain" msgstr "Názov súboru" #: src/panasonicmn.cpp:152 #, fuzzy msgid "My Color" msgstr "Moje farby" #: src/panasonicmn.cpp:153 #, fuzzy msgid "Photo Frame" msgstr "Rámec panorámy" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 #, fuzzy msgid "Handheld Night Shot" msgstr "svetlo sviečky" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 #, fuzzy msgid "Creative Control" msgstr "Diaľkové ovládanie?" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 msgid "Digital Filter" msgstr "Digitálny filter" #: src/panasonicmn.cpp:162 #, fuzzy msgid "Clear Portrait" msgstr "Portrét" # exif-sharpness-1 #: src/panasonicmn.cpp:163 #, fuzzy msgid "Silky Skin" msgstr "mäkký" #: src/panasonicmn.cpp:164 msgid "Backlit Softness" msgstr "" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "" #: src/panasonicmn.cpp:166 #, fuzzy msgid "Relaxing Tone" msgstr "Vzťah" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "" #: src/panasonicmn.cpp:168 #, fuzzy msgid "Distinct Scenery" msgstr "nočná scéna" #: src/panasonicmn.cpp:169 #, fuzzy msgid "Bright Blue Sky" msgstr "hodnota" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "" #: src/panasonicmn.cpp:177 #, fuzzy msgid "Glittering Illuminations" msgstr "GPS Informácie o oblasti" #: src/panasonicmn.cpp:178 #, fuzzy msgid "Clear Night Portrait" msgstr "Nočný portrét" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "" #: src/panasonicmn.cpp:181 msgid "Cute Desert" msgstr "" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "" #: src/panasonicmn.cpp:183 msgid "Clear Sports Shot" msgstr "" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "" #: src/panasonicmn.cpp:198 msgid "Warm" msgstr "Teplé" #: src/panasonicmn.cpp:199 msgid "Cool" msgstr "Chladné" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "" #: src/panasonicmn.cpp:208 msgid "Low/High quality" msgstr "Nízka/vysoká kvalita" #: src/panasonicmn.cpp:209 msgid "Infinite" msgstr "nekonečno" #: src/panasonicmn.cpp:217 #, fuzzy msgid "Medium low" msgstr "stredný 1" #: src/panasonicmn.cpp:218 #, fuzzy msgid "Medium high" msgstr "stredný 1" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "" #: src/panasonicmn.cpp:229 #, fuzzy msgid "High (+1)" msgstr "vysoká" #: src/panasonicmn.cpp:230 msgid "Lowest (-2)" msgstr "" #: src/panasonicmn.cpp:231 #, fuzzy msgid "Highest (+2)" msgstr "vysoká" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 #, fuzzy msgid "Rotate 180" msgstr "Otočiť o 90°" #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "" #: src/panasonicmn.cpp:254 #, fuzzy msgid "Disabled but Required" msgstr "Nepoužité" #: src/panasonicmn.cpp:255 #, fuzzy msgid "Disabled and Not Required" msgstr "Nepoužité" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "" #: src/panasonicmn.cpp:282 src/properties.cpp:915 #, fuzzy msgid "Home" msgstr "Rím" #: src/panasonicmn.cpp:294 #, fuzzy msgid "Standard (color)" msgstr "Štandardný tvar" #: src/panasonicmn.cpp:295 #, fuzzy msgid "Dynamic (color)" msgstr "Dynamická oblasť" #: src/panasonicmn.cpp:296 #, fuzzy msgid "Nature (color)" msgstr "Prirodzená farba" #: src/panasonicmn.cpp:297 #, fuzzy msgid "Smooth (color)" msgstr "Hladký" #: src/panasonicmn.cpp:298 #, fuzzy msgid "Standard (B&W)" msgstr "Štandardný (100%)" #: src/panasonicmn.cpp:299 #, fuzzy msgid "Dynamic (B&W)" msgstr "Dynamická oblasť" #: src/panasonicmn.cpp:300 #, fuzzy msgid "Smooth (B&W)" msgstr "Hladký" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "" #: src/panasonicmn.cpp:307 #, fuzzy msgid "No Bracket" msgstr "Viacnásobné snímky" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:319 #, fuzzy msgid "1st" msgstr "10s" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "" #: src/panasonicmn.cpp:349 #, fuzzy msgid "Extended" msgstr "externý" #: src/panasonicmn.cpp:368 #, fuzzy msgid "NoAuto" msgstr "Auto" #: src/panasonicmn.cpp:369 #, fuzzy msgid "Standard or Custom" msgstr "Štandardný tvar" #: src/panasonicmn.cpp:386 #, fuzzy msgid "Rotate CW" msgstr "Otočiť o 90°" #: src/panasonicmn.cpp:388 #, fuzzy msgid "Rotate CCW" msgstr "Otočiť o 90°" #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "" #: src/panasonicmn.cpp:396 #, fuzzy msgid "Left to Right" msgstr "zľava doprava" #: src/panasonicmn.cpp:397 #, fuzzy msgid "Right to Left" msgstr "sprava doľava" #: src/panasonicmn.cpp:398 #, fuzzy msgid "Top to Bottom" msgstr "zhora dolu" #: src/panasonicmn.cpp:399 #, fuzzy msgid "Bottom to Top" msgstr "zdola hore" #: src/panasonicmn.cpp:405 #, fuzzy msgid "Time Lapse" msgstr "Čas odoslania" #: src/panasonicmn.cpp:406 #, fuzzy msgid "Stop-Motion Animation" msgstr "Informácie o snímke" #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "" #: src/panasonicmn.cpp:423 #, fuzzy msgid "Electronic" msgstr "Výber" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "Audio" #: src/panasonicmn.cpp:453 msgid "White balance adjustment" msgstr "Nastavenie vyváženia bielej" #: src/panasonicmn.cpp:454 msgid "FlashBias" msgstr "Skreslenie blesku" # exif-exifversion #: src/panasonicmn.cpp:456 src/tags.cpp:194 msgid "Exif version" msgstr "Verzia EXIF" #: src/panasonicmn.cpp:458 msgid "Color Effect" msgstr "Farebný efekt" #: src/panasonicmn.cpp:458 msgid "Color effect" msgstr "Farebný efekt" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" #: src/panasonicmn.cpp:460 msgid "Burst Mode" msgstr "Režim dávky" #: src/panasonicmn.cpp:460 msgid "Burst mode" msgstr "Režim dávky" #: src/panasonicmn.cpp:463 msgid "NoiseReduction" msgstr "Redukcia šumu" #: src/panasonicmn.cpp:464 msgid "Self Timer" msgstr "Samospúšť" #: src/panasonicmn.cpp:467 #, fuzzy msgid "AF Assist Lamp" msgstr "Asistent AZ" #: src/panasonicmn.cpp:469 #, fuzzy msgid "Baby Age 1" msgstr "Autor" #: src/panasonicmn.cpp:469 msgid "Baby (or pet) age 1" msgstr "" #: src/panasonicmn.cpp:470 #, fuzzy msgid "Optical Zoom Mode" msgstr "Špeciálny režim" #: src/panasonicmn.cpp:470 #, fuzzy msgid "Optical zoom mode" msgstr "Režim filmu" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "Cestovanie" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "Cestovanie" #: src/panasonicmn.cpp:474 #, fuzzy msgid "World Time Location" msgstr "Miesto záberu" #: src/panasonicmn.cpp:474 #, fuzzy msgid "World time location" msgstr "Miesto záberu" #: src/panasonicmn.cpp:475 #, fuzzy msgid "Text Stamp 1" msgstr "Čas odoslania" #: src/panasonicmn.cpp:476 #, fuzzy msgid "Program ISO" msgstr "Program" #: src/panasonicmn.cpp:477 #, fuzzy msgid "Advanced Scene Type" msgstr "Typ scény" #: src/panasonicmn.cpp:478 #, fuzzy msgid "Text Stamp 2" msgstr "Čas odoslania" #: src/panasonicmn.cpp:479 #, fuzzy msgid "Faces detected" msgstr "Nepodarilo sa prečítať" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temp Kelvin" msgstr "Farebná teplota" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temperatur in Kelvin" msgstr "Farebná teplota" #: src/panasonicmn.cpp:484 #, fuzzy msgid "Bracket Settings" msgstr "Viacnásobné snímky" #: src/panasonicmn.cpp:485 #, fuzzy msgid "WB Adjust AB" msgstr "Úpravy tónu" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "" #: src/panasonicmn.cpp:486 #, fuzzy msgid "WB Adjust GM" msgstr "Úpravy tónu" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "" #: src/panasonicmn.cpp:487 #, fuzzy msgid "Flash Curtain" msgstr "Info o blesku" #: src/panasonicmn.cpp:488 #, fuzzy msgid "Long Shutter Noise Reduction" msgstr "Redukciu šumu dlhej expozície" # AF = automatické zaostrenie #: src/panasonicmn.cpp:491 #, fuzzy msgid "AF Point Position" msgstr "poloha automatického zaostrenia" #: src/panasonicmn.cpp:492 #, fuzzy msgid "Face detection info" msgstr "Nepodarilo sa prečítať" #: src/panasonicmn.cpp:495 #, fuzzy msgid "Accessory Type" msgstr "Typ šošpviek" #: src/panasonicmn.cpp:495 #, fuzzy msgid "Accessory type" msgstr "typ šošoviek" #: src/panasonicmn.cpp:496 #, fuzzy msgid "Accessory Serial Number" msgstr "Sériové číslo" #: src/panasonicmn.cpp:497 #, fuzzy msgid "Transform 1" msgstr "prenosový rozsah" #: src/panasonicmn.cpp:498 #, fuzzy msgid "Intelligent Exposure" msgstr "Dĺžka intervalu" #: src/panasonicmn.cpp:499 #, fuzzy msgid "Firmware Version of the Lens" msgstr "Verzia firmvéru" #: src/panasonicmn.cpp:500 #, fuzzy msgid "Face recognition info" msgstr "Informácie o redukcii chvenia" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash Warning" msgstr "Upozornenie zaostrenia" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash warning" msgstr "Meranie blesku" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 msgid "Title" msgstr "Názov" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby Name" msgstr "Autor" #: src/panasonicmn.cpp:503 msgid "Baby name (or pet name)" msgstr "" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 msgid "Location" msgstr "Umiestnenie" #: src/panasonicmn.cpp:506 src/properties.cpp:441 msgid "State" msgstr "Štát" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "" #: src/panasonicmn.cpp:509 #, fuzzy msgid "Intelligent resolution" msgstr "Dĺžka intervalu" # exif-shutterspeedvalue #: src/panasonicmn.cpp:510 #, fuzzy msgid "Burst Speed" msgstr "Rýchlosť uzávierky" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "" #: src/panasonicmn.cpp:511 #, fuzzy msgid "Intelligent Dynamic Range" msgstr "Vývojový dynamický rozsah" #: src/panasonicmn.cpp:512 #, fuzzy msgid "Clear Retouch" msgstr "Redukcia šumu" #: src/panasonicmn.cpp:513 #, fuzzy msgid "City2" msgstr "Mesto" #: src/panasonicmn.cpp:515 #, fuzzy msgid "Photo style" msgstr "Režim obrázka" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "" #: src/panasonicmn.cpp:518 msgid "Accelerometer X" msgstr "" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "" #: src/panasonicmn.cpp:519 msgid "Accelerometer Y" msgstr "" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "" #: src/panasonicmn.cpp:520 #, fuzzy msgid "Camera Orientation" msgstr "Orientácia obrázka" #: src/panasonicmn.cpp:521 #, fuzzy msgid "Roll Angle" msgstr "Orezať vľavo" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "" #: src/panasonicmn.cpp:523 #, fuzzy msgid "Sweep Panorama Direction" msgstr "Smer panorámy" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "" #: src/panasonicmn.cpp:525 #, fuzzy msgid "Timer Recording" msgstr "Posunitie záznamu" #: src/panasonicmn.cpp:526 #, fuzzy msgid "Internal ND Filter" msgstr "Interný + externý" # exif-shutterspeedvalue #: src/panasonicmn.cpp:528 #, fuzzy msgid "Shutter Type" msgstr "rýchlosť uzávierky" #: src/panasonicmn.cpp:529 #, fuzzy msgid "Clear Retouch Value" msgstr "Prebieha meranie" #: src/panasonicmn.cpp:530 #, fuzzy msgid "TouchAE" msgstr "VB jedným dotykom" #: src/panasonicmn.cpp:533 #, fuzzy msgid "MakerNote Version" msgstr "Poznámky zhotoviteľa - verzia" #: src/panasonicmn.cpp:533 #, fuzzy msgid "MakerNote version" msgstr "Poznámky zhotoviteľa - verzia" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 #, fuzzy msgid "WB Red Level" msgstr "WB_RGGBLevelsShade" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 #, fuzzy msgid "WB red level" msgstr "Úroveň čiernej" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 #, fuzzy msgid "WB Green Level" msgstr "Úroveň čiernej" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 #, fuzzy msgid "WB green level" msgstr "Úroveň čiernej" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 #, fuzzy msgid "WB Blue Level" msgstr "WB_RGGBLevelsShade" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 #, fuzzy msgid "WB blue level" msgstr "Úroveň čiernej" #: src/panasonicmn.cpp:539 #, fuzzy msgid "Text Stamp 3" msgstr "Čas odoslania" #: src/panasonicmn.cpp:540 #, fuzzy msgid "Text Stamp 4" msgstr "Čas odoslania" #: src/panasonicmn.cpp:541 #, fuzzy msgid "Baby Age 2" msgstr "Autor" #: src/panasonicmn.cpp:541 msgid "Baby (or pet) age 2" msgstr "" #: src/panasonicmn.cpp:542 #, fuzzy msgid "Transform 2" msgstr "prenosový rozsah" #: src/panasonicmn.cpp:544 msgid "Unknown PanasonicMakerNote tag" msgstr "Neznáma značka PanasonicMakerNote" #: src/panasonicmn.cpp:562 #, fuzzy msgid "Spot mode on or 9 area" msgstr "Bodový režim" #: src/panasonicmn.cpp:563 msgid "Spot mode off or 3-area (high speed)" msgstr "" #: src/panasonicmn.cpp:564 msgid "23-area" msgstr "" #: src/panasonicmn.cpp:565 #, fuzzy msgid "Spot focussing" msgstr "Bodové zaostrenie" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "" #: src/panasonicmn.cpp:568 #, fuzzy msgid "1-area (high speed)" msgstr "Orezanie vysoká rýchlosť" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "" #: src/panasonicmn.cpp:572 msgid "3-area (right)" msgstr "" #: src/panasonicmn.cpp:574 #, fuzzy msgid "Spot Focusing 2" msgstr "Bodové zaostrenie" #: src/panasonicmn.cpp:588 msgid " EV" msgstr " EV" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 #, fuzzy msgid "not set" msgstr "nenastavené\n" #: src/panasonicmn.cpp:725 #, fuzzy msgid "Panasonic raw version" msgstr "Verzia firmvéru" #: src/panasonicmn.cpp:726 #, fuzzy msgid "Sensor Width" msgstr "Orezať šírku" #: src/panasonicmn.cpp:726 #, fuzzy msgid "Sensor width" msgstr "Orezať šírku" #: src/panasonicmn.cpp:727 #, fuzzy msgid "Sensor Height" msgstr "Čistenie snímača" #: src/panasonicmn.cpp:727 #, fuzzy msgid "Sensor height" msgstr "Čistenie snímača" #: src/panasonicmn.cpp:728 #, fuzzy msgid "Sensor Top Border" msgstr "Teplota snímača" #: src/panasonicmn.cpp:728 #, fuzzy msgid "Sensor top border" msgstr "Teplota snímača" #: src/panasonicmn.cpp:729 #, fuzzy msgid "Sensor Left Border" msgstr "Teplota snímača" #: src/panasonicmn.cpp:729 #, fuzzy msgid "Sensor left border" msgstr "Teplota snímača" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "" #: src/panasonicmn.cpp:739 src/tags.cpp:469 msgid "Manufacturer" msgstr "Výrobca" #: src/panasonicmn.cpp:739 msgid "The manufacturer of the recording equipment" msgstr "" #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 msgid "Model" msgstr "Model" #: src/panasonicmn.cpp:740 #, fuzzy msgid "The model name or model number of the equipment" msgstr "Názov scény" # exif-stripoffsets #: src/panasonicmn.cpp:741 src/tags.cpp:481 msgid "Strip Offsets" msgstr "umiestnenie obrazových dát" # exif-stripoffsets #: src/panasonicmn.cpp:741 #, fuzzy msgid "Strip offsets" msgstr "umiestnenie obrazových dát" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 msgid "Orientation" msgstr "Orientácia" # exif-rowsperstrip #: src/panasonicmn.cpp:743 #, fuzzy msgid "Rows Per Strip" msgstr "riadkov na prúžok" #: src/panasonicmn.cpp:743 #, fuzzy msgid "The number of rows per strip" msgstr "Počet úderov." # exif-stripbytecounts #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip Byte Counts" msgstr "bajtov na komprimovaný prúžok" # exif-stripbytecounts #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip byte counts" msgstr "bajtov na komprimovaný prúžok" #: src/panasonicmn.cpp:745 #, fuzzy msgid "Raw Data Offset" msgstr "umiestnenie IFD" #: src/panasonicmn.cpp:745 #, fuzzy msgid "Raw data offset" msgstr "Hlavička, ofset" #: src/panasonicmn.cpp:746 src/tags.cpp:797 msgid "Exif IFD Pointer" msgstr "" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "" #: src/panasonicmn.cpp:747 src/tags.cpp:808 #, fuzzy msgid "GPS Info IFD Pointer" msgstr "IFD ukazovateľ interoperability" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "" #: src/panasonicmn.cpp:749 #, fuzzy msgid "Unknown PanasonicRaw tag" msgstr "Neznáma značka PanasonicMakerNote" #: src/pentaxmn.cpp:57 msgid "Night-Scene" msgstr "Nočná scéna" #: src/pentaxmn.cpp:199 msgid "Good" msgstr "dobrý" #: src/pentaxmn.cpp:200 msgid "Better" msgstr "Lepší" #: src/pentaxmn.cpp:201 msgid "Best" msgstr "Najlepší" #: src/pentaxmn.cpp:204 #, fuzzy msgid "Premium" msgstr "Stredný" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "2560x1920 alebo 2304x1728" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "2304x1728 alebo 2592x1944" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "2816x2212 alebo 2816x2112" #: src/pentaxmn.cpp:247 msgid "Auto, Did not fire" msgstr "auto, blesk sa nespustil" #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 #, fuzzy msgid "Off, Did not fire" msgstr "Blesk sa nespustil" #: src/pentaxmn.cpp:250 msgid "Auto, Did not fire, Red-eye reduction" msgstr "automaticky, blesk sa nespustil, korekcia červených očí" #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:252 msgid "Auto, Fired" msgstr "auto, blesk sa spustil" #: src/pentaxmn.cpp:253 #, fuzzy msgid "On, Fired" msgstr "Spustil sa" #: src/pentaxmn.cpp:254 msgid "Auto, Fired, Red-eye reduction" msgstr "auto, blesk sa spustil, korekcia červených očí" #: src/pentaxmn.cpp:255 msgid "On, Red-eye reduction" msgstr "Zap., korekcia červených očí" #: src/pentaxmn.cpp:256 #, fuzzy msgid "On, Wireless (Master)" msgstr "zapnuté, bezdrôtovo" #: src/pentaxmn.cpp:257 #, fuzzy msgid "On, Wireless (Control)" msgstr "zapnuté, bezdrôtovo" #: src/pentaxmn.cpp:258 msgid "On, Soft" msgstr "zapnutý, mäkký" #: src/pentaxmn.cpp:259 msgid "On, Slow-sync" msgstr "zapnuté, pomalá synchr." #: src/pentaxmn.cpp:260 msgid "On, Slow-sync, Red-eye reduction" msgstr "zapnutý, pomalá synch., korekcia červených očí" #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "zapnuté, synchr. koncovej záclony" #: src/pentaxmn.cpp:272 msgid "Pan Focus" msgstr "posúvať zaostrenie" # AF = automatické zaostrenie #: src/pentaxmn.cpp:275 #, fuzzy msgid "AF-A" msgstr "AZ-S" #: src/pentaxmn.cpp:276 #, fuzzy msgid "Contrast-detect" msgstr "Nastavenie kontrastu" #: src/pentaxmn.cpp:277 #, fuzzy msgid "Tracking Contrast-detect" msgstr "Nastavenie kontrastu" #: src/pentaxmn.cpp:284 msgid "Fixed Center" msgstr "pevný stred" #: src/pentaxmn.cpp:285 #, fuzzy msgid "Automatic Tracking AF" msgstr "automatické zaostrenie" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "" #: src/pentaxmn.cpp:287 #, fuzzy msgid "AF Select" msgstr "Výber" #: src/pentaxmn.cpp:305 #, fuzzy msgid "Fixed Center or multiple" msgstr "pevný stred" #: src/pentaxmn.cpp:307 #, fuzzy msgid "Top-center" msgstr "v strede" #: src/pentaxmn.cpp:313 #, fuzzy msgid "Bottom-center" msgstr "vľavo dolu" # exif-meteringmode-4 #: src/pentaxmn.cpp:402 msgid "Multi Segment" msgstr "Viacbodový" #: src/pentaxmn.cpp:403 msgid "Center Weighted" msgstr "Stredovo vážený" # exif-lightsource-12 #: src/pentaxmn.cpp:415 msgid "DaylightFluorescent" msgstr "denné svetlo, fluorescenčné" # exif-lightsource-13 #: src/pentaxmn.cpp:416 msgid "DaywhiteFluorescent" msgstr "biely deň, fluorescenčné" # exif-lightsource-15 #: src/pentaxmn.cpp:417 msgid "WhiteFluorescent" msgstr "biela, fluorescenčná" #: src/pentaxmn.cpp:420 #, fuzzy msgid "Color Temperature Enhancement" msgstr "Farebná teplota" #: src/pentaxmn.cpp:423 msgid "User Selected" msgstr "Vybrané používateľom" #: src/pentaxmn.cpp:428 msgid "Auto (Daylight)" msgstr "Auto (denné svetlo)" #: src/pentaxmn.cpp:429 msgid "Auto (Shade)" msgstr "Auto (tieň)" #: src/pentaxmn.cpp:430 msgid "Auto (Flash)" msgstr "Auto (blesk)" #: src/pentaxmn.cpp:431 msgid "Auto (Tungsten)" msgstr "Auto (volfrám)" #: src/pentaxmn.cpp:432 #, fuzzy msgid "Auto (DaylightFluorescent)" msgstr "Auto (biely deň, fluorescenčné)" #: src/pentaxmn.cpp:433 msgid "Auto (DaywhiteFluorescent)" msgstr "Auto (biely deň, fluorescenčné)" #: src/pentaxmn.cpp:434 msgid "Auto (WhiteFluorescent)" msgstr "Auto (biela, fluorescenčná)" #: src/pentaxmn.cpp:435 msgid "Auto (Cloudy)" msgstr "Auto (oblačno)" #: src/pentaxmn.cpp:437 msgid "Preset (Fireworks?)" msgstr "Štandard (ohňostroj?)" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 msgid "Med Low" msgstr "stredne nízky" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 msgid "Med High" msgstr "stredne vysoký" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "" #: src/pentaxmn.cpp:473 msgid "Med Soft" msgstr "stredne mäkký" #: src/pentaxmn.cpp:474 msgid "Med Hard" msgstr "stredne tvrdý" #: src/pentaxmn.cpp:475 msgid "Very Soft" msgstr "veľmi mäkký" #: src/pentaxmn.cpp:476 msgid "Very Hard" msgstr "veľmi tvrdý" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 msgid "Home town" msgstr "Domovské mesto" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "Pago Pago" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "Honolulu" #: src/pentaxmn.cpp:491 msgid "Anchorage" msgstr "Ukotvenie" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "Vancouver" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "San Fransisco" #: src/pentaxmn.cpp:494 msgid "Los Angeles" msgstr "Los Angeles" #: src/pentaxmn.cpp:495 msgid "Calgary" msgstr "Calgary" #: src/pentaxmn.cpp:496 msgid "Denver" msgstr "Denver" #: src/pentaxmn.cpp:497 msgid "Mexico City" msgstr "Mexico City" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "Chicago" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "Miami" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "Toronto" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "New York" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "Santiago" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "Caracus" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "Halifax" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "Buenos Aires" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "Sao Paulo" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "Rio de Janeiro" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "Madrid" #: src/pentaxmn.cpp:509 msgid "London" msgstr "Londýn" #: src/pentaxmn.cpp:510 msgid "Paris" msgstr "Paríž" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "Miláno" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "Rím" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "Berlín" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "Johannesburg" #: src/pentaxmn.cpp:515 msgid "Istanbul" msgstr "Istambul" #: src/pentaxmn.cpp:516 msgid "Cairo" msgstr "Káhira" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "Jeruzalem" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "Moskva" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "Jeddah" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "Teherán" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "Dubaj" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "Karáčí" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "Kábul" #: src/pentaxmn.cpp:524 msgid "Male" msgstr "Male" #: src/pentaxmn.cpp:525 msgid "Delhi" msgstr "Delhi" #: src/pentaxmn.cpp:526 msgid "Colombo" msgstr "Colombo" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "Káthmandu" #: src/pentaxmn.cpp:528 msgid "Dacca" msgstr "Dacca" #: src/pentaxmn.cpp:529 msgid "Yangon" msgstr "Yangon" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "Bangkok" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "Kuala Lumpur" #: src/pentaxmn.cpp:532 msgid "Vientiane" msgstr "Vientiane" #: src/pentaxmn.cpp:533 msgid "Singapore" msgstr "Singapur" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "Phnom Pénh" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "Ho Chi Minh" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "Jakarta" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "Hong Kong" #: src/pentaxmn.cpp:538 msgid "Perth" msgstr "Perth" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "Peking" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "Šanghaj" #: src/pentaxmn.cpp:541 msgid "Manila" msgstr "Manila" #: src/pentaxmn.cpp:542 msgid "Taipei" msgstr "Tchaj-pej" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "Soul" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "Adelaide" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "Tokio" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "Guam" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "Sydney" #: src/pentaxmn.cpp:548 msgid "Noumea" msgstr "Noumea" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "Wellington" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "Auckland" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "Lima" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "Dakar" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "Algiers" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "Helsinki" #: src/pentaxmn.cpp:555 msgid "Athens" msgstr "Athény" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "Nairobi" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "Amsterdam" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "Štokholm" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "Lisabon" #: src/pentaxmn.cpp:560 #, fuzzy msgid "Copenhagen" msgstr "Pokrytie" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "" #: src/pentaxmn.cpp:568 msgid "Unprocessed" msgstr "Nespracovaný" #: src/pentaxmn.cpp:570 #, fuzzy msgid "Resized" msgstr "veľkosť" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 msgid "Cropped" msgstr "Orezaný" #: src/pentaxmn.cpp:573 #, fuzzy msgid "Digital Filter 6" msgstr "Digitálny filter" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "Syntéza rámcov?" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 msgid "Hi-speed Program" msgstr "Vysokorýchlostný program" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 msgid "DOF Program" msgstr "Program DOF" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 msgid "MTF Program" msgstr "Program MTF" #: src/pentaxmn.cpp:588 msgid "Night Scene Portrait" msgstr "Nočný portrét" #: src/pentaxmn.cpp:589 msgid "No Flash" msgstr "Bez blesku" #: src/pentaxmn.cpp:592 msgid "Surf & Snow" msgstr "surfovanie & sneh" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "Deti" #: src/pentaxmn.cpp:600 #, fuzzy msgid "Stage Lighting" msgstr "Výška obrázka" #: src/pentaxmn.cpp:601 #, fuzzy msgid "Night Snap" msgstr "Nočný záber" #: src/pentaxmn.cpp:602 #, fuzzy msgid "Blue Sky" msgstr "hodnota" #: src/pentaxmn.cpp:604 #, fuzzy msgid "Night Scene HDR" msgstr "Nočná scéna" #: src/pentaxmn.cpp:606 #, fuzzy msgid "Quick Macro" msgstr "super makro" # exif-lightsource-2 #: src/pentaxmn.cpp:607 #, fuzzy msgid "Forest" msgstr "fluorescencia" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "" #: src/pentaxmn.cpp:610 msgid "Auto PICT (Standard)" msgstr "Auto PICT (štandard)" #: src/pentaxmn.cpp:611 msgid "Auto PICT (Portrait)" msgstr "Auto PICT (portrét)" #: src/pentaxmn.cpp:612 msgid "Auto PICT (Landscape)" msgstr "Auto PICT (krajinka)" #: src/pentaxmn.cpp:613 msgid "Auto PICT (Macro)" msgstr "Auto PICT (makro)" #: src/pentaxmn.cpp:614 msgid "Auto PICT (Sport)" msgstr "Auto PICT (šport)" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 msgid "Green Mode" msgstr "Zelený režim" # exif-exposureprogram-4 #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 msgid "Shutter Speed Priority" msgstr "Priorita rýchlosti uzávierky" # exif-exposureprogram-3 #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 msgid "Aperture Priority" msgstr "Priorita clony" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "Žiarovka" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "" #: src/pentaxmn.cpp:631 #, fuzzy msgid "Program Tv Shift" msgstr "Posunutie programu" #: src/pentaxmn.cpp:632 #, fuzzy msgid "Program Av Shift" msgstr "Posunutie programu" # FUZZY exif-exposureprogram-3 #: src/pentaxmn.cpp:635 msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "Priorita clony (vyp. - auto - clona)" #: src/pentaxmn.cpp:636 msgid "Manual (Off-Auto-Aperture)" msgstr "Ručné nastavenie (vyp. - auto - clona)" #: src/pentaxmn.cpp:637 msgid "Bulb (Off-Auto-Aperture)" msgstr "Žiarovka (vyp. - auto - clona)" #: src/pentaxmn.cpp:639 msgid "Shutter Priority" msgstr "Priorita uzávierky" #: src/pentaxmn.cpp:640 msgid "Shutter & Aperture Priority AE" msgstr "Priorita uzávierky a clony AE" #: src/pentaxmn.cpp:641 msgid "Shutter & Aperture Priority AE (1)" msgstr "Priorita uzávierky a clony AE (1)" # FUZZY exif-exposureprogram-4 #: src/pentaxmn.cpp:642 msgid "Sensitivity Priority AE" msgstr "Priorita citlivosti AE" # FUZZY exif-exposureprogram-4 #: src/pentaxmn.cpp:643 msgid "Sensitivity Priority AE (1)" msgstr "Priorita citlivosti AE (1)" #: src/pentaxmn.cpp:644 msgid "Flash X-Sync Speed AE" msgstr "Blesk synch. s rýchlosťou AE" #: src/pentaxmn.cpp:645 msgid "Flash X-Sync Speed AE (1)" msgstr "Blesk synch. s rýchlosťou AE (1)" #: src/pentaxmn.cpp:646 #, fuzzy msgid "Auto Program (Normal)" msgstr "Program (P)" #: src/pentaxmn.cpp:647 msgid "Auto Program (Hi-Speed)" msgstr "" #: src/pentaxmn.cpp:648 #, fuzzy msgid "Auto Program (DOF)" msgstr "Program (P)" #: src/pentaxmn.cpp:649 #, fuzzy msgid "Auto Program (MTF)" msgstr "Program (P)" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "" #: src/pentaxmn.cpp:651 #, fuzzy msgid "Blur control" msgstr "Riadenie farieb" #: src/pentaxmn.cpp:654 msgid "Video (30 fps)" msgstr "" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "" #: src/pentaxmn.cpp:662 #, fuzzy msgid "Continuous (Hi)" msgstr "Spojitý" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 #, fuzzy msgid "Burst" msgstr "Režim dávky" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 #, fuzzy msgid "Video" msgstr "Široké" #: src/pentaxmn.cpp:666 msgid "Self-timer (12 sec)" msgstr "samospúšť (12 sek)" #: src/pentaxmn.cpp:667 msgid "Self-timer (2 sec)" msgstr "samospúšť (2 sek)" #: src/pentaxmn.cpp:669 msgid "Mirror Lock-up" msgstr "" #: src/pentaxmn.cpp:670 #, fuzzy msgid "Remote Control (3 sec)" msgstr "Diaľkové ovládanie?" #: src/pentaxmn.cpp:671 #, fuzzy msgid "Remote Control" msgstr "Diaľkové ovládanie?" #: src/pentaxmn.cpp:672 #, fuzzy msgid "Remote Continuous Shooting" msgstr "Nastavenie spojité zaostrenie" #: src/pentaxmn.cpp:675 #, fuzzy msgid "HDR Strong 1" msgstr "Silný" #: src/pentaxmn.cpp:676 #, fuzzy msgid "HDR Strong 2" msgstr "Silný" #: src/pentaxmn.cpp:677 #, fuzzy msgid "HDR Strong 3" msgstr "Silný" #: src/pentaxmn.cpp:678 #, fuzzy msgid "HDR Auto" msgstr "Auto" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "šošovky M-42 alebo žiadne" #: src/pentaxmn.cpp:691 #, fuzzy msgid "K or M Lens" msgstr "šošovky K,M" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "Šošovky série A" #: src/pentaxmn.cpp:970 msgid "Bright" msgstr "Jasný" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "" #: src/pentaxmn.cpp:990 #, fuzzy msgid "Weakest" msgstr "Západ" #: src/pentaxmn.cpp:991 msgid "Weak" msgstr "Slabé" #: src/pentaxmn.cpp:992 msgid "Strong" msgstr "Silný" #: src/pentaxmn.cpp:1112 msgid "No extended bracketing" msgstr "Bez rozšírených viacnásobných snímok" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "WB-BA" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "WB-GM" #: src/pentaxmn.cpp:1133 msgid "Unknown " msgstr "Neznáme" #: src/pentaxmn.cpp:1146 msgid "Pentax Makernote version" msgstr "Poznámka výrobcu Pentax" #: src/pentaxmn.cpp:1149 msgid "Camera shooting mode" msgstr "Režim záberu fotoaparátu" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 msgid "Resolution of a preview image" msgstr "Rozlíšenie náhľadu" #: src/pentaxmn.cpp:1154 msgid "Length of a preview image" msgstr "Dĺžka náhľadu" #: src/pentaxmn.cpp:1155 msgid "Size of an IFD containing a preview image" msgstr "Veľkosť IFD obsahujúceho náhľad obrázka" #: src/pentaxmn.cpp:1160 msgid "Model identification" msgstr "Model" #: src/pentaxmn.cpp:1161 #, fuzzy msgid "Pentax model identification" msgstr "Identifikácia modelu Pentax" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 msgid "Date" msgstr "Dátum" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 msgid "Time" msgstr "Čas" #: src/pentaxmn.cpp:1170 msgid "Image quality settings" msgstr "Nastavenie kvality obrázka" #: src/pentaxmn.cpp:1173 msgid "Image size settings" msgstr "Nastavenie veľkosti obrázka" #: src/pentaxmn.cpp:1177 msgid "Flash mode settings" msgstr "Nastavenie režimu blesku" #: src/pentaxmn.cpp:1180 msgid "Focus mode settings" msgstr "Nastavenie režimu zaostrenia" #: src/pentaxmn.cpp:1183 msgid "Selected AF point" msgstr "Vybraný bod AZ" # AF = automatické zaostrenie #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 #, fuzzy msgid "AF point in focus" msgstr "Použité body automatického zaostrenia" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 msgid "F-Number" msgstr "číslo F" #: src/pentaxmn.cpp:1195 msgid "ISO sensitivity" msgstr "ISO citlivosť" #: src/pentaxmn.cpp:1196 msgid "ISO sensitivity settings" msgstr "Nastavenia citlivosti ISO" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 msgid "MeteringMode" msgstr "merací režim" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 msgid "AutoBracketing" msgstr "Viacnásobné snímky" #: src/pentaxmn.cpp:1216 #, fuzzy msgid "Blue color balance" msgstr "Vyváženie modrej" #: src/pentaxmn.cpp:1219 #, fuzzy msgid "Red color balance" msgstr "Vyváženie farieb Červená" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 msgid "FocalLength" msgstr "Ohnisková vzdialenosť" #: src/pentaxmn.cpp:1239 msgid "Hometown" msgstr "Domovské mesto" #: src/pentaxmn.cpp:1245 msgid "Hometown DST" msgstr "Domovské mesto, letný čas" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "Či v domovskom meste prebieha letný čas" #: src/pentaxmn.cpp:1248 msgid "Destination DST" msgstr "Cieľová DST" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "Či v cieľovom meste prebieha letný čas" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 #, fuzzy msgid "DSPFirmwareVersion" msgstr "Verzia firmvéru" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 #, fuzzy msgid "CPUFirmwareVersion" msgstr "Verzia firmvéru" #: src/pentaxmn.cpp:1261 #, fuzzy msgid "Light value" msgstr "Hodnota jasu" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 #, fuzzy msgid "Image area offset" msgstr "Veľkosť obrazových údajov" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 #, fuzzy msgid "Raw image size" msgstr "Veľkosť obrázka" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 #, fuzzy msgid "Preview image borders" msgstr "Zobraziť vložený obrázok" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 #, fuzzy msgid "Sensitivity adjust" msgstr "ISO citlivosť" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 msgid "Digital filter" msgstr "Digitálny filter" #: src/pentaxmn.cpp:1299 msgid "Camera temperature" msgstr "Teplota fotoaparátu" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 msgid "Image tone" msgstr "Tón obrázka" #: src/pentaxmn.cpp:1319 msgid "Shake reduction" msgstr "Redukcia chvenia" #: src/pentaxmn.cpp:1320 msgid "Shake reduction information" msgstr "Informácie o redukcii chvenia" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 #, fuzzy msgid "Dynamic range expansion" msgstr "Nastavenie dynamického rozsahu" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 #, fuzzy msgid "High ISO noise reduction" msgstr "Vysoká redukcia šumu ISO" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 #, fuzzy msgid "AF Adjustment" msgstr "Úpravy tónu" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 msgid "Black point" msgstr "čierny bod" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 msgid "White point" msgstr "biely bod" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 #, fuzzy msgid "ShotInfo" msgstr "Info o snímke" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 msgid "AEInfo" msgstr "Info o AE" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 msgid "LensInfo" msgstr "Info o šošovkách" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 msgid "FlashInfo" msgstr "Info o blesku" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 msgid "AEMeteringSegments" msgstr "Segmenty merania AZ" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 msgid "FlashADump" msgstr "FlashADump" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 msgid "FlashBDump" msgstr "FlashBDump" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 msgid "WB_RGGBLevelsDaylight" msgstr "WB_RGGBLevelsDaylight" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 msgid "WB_RGGBLevelsShade" msgstr "WB_RGGBLevelsShade" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 msgid "WB_RGGBLevelsCloudy" msgstr "WB_RGGBLevelsCloudy" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 msgid "WB_RGGBLevelsTungsten" msgstr "WB_RGGBLevelsTungsten" # exif-lightsource-15 #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 msgid "WB_RGGBLevelsFluorescentD" msgstr "WB_RGGBLevelsFluorescentD" # exif-lightsource-15 #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 msgid "WB_RGGBLevelsFluorescentN" msgstr "WB_RGGBLevelsFluorescentN" # exif-lightsource-15 #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 msgid "WB_RGGBLevelsFluorescentW" msgstr "WB_RGGBLevelsFluorescentW" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 msgid "WB_RGGBLevelsFlash" msgstr "WB_RGGBLevelsFlash" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 msgid "CameraInfo" msgstr "Info o fotoaparáte" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 msgid "BatteryInfo" msgstr "Info o batérii" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 msgid "AFInfo" msgstr "Info o AZ" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 #, fuzzy msgid "ColorInfo" msgstr "Farba" #: src/pentaxmn.cpp:1405 msgid "Unknown PentaxMakerNote tag" msgstr "Neznáma značka PentaxMakerNote" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "" #: src/properties.cpp:113 msgid "XMP Basic schema" msgstr "XMP základná schéma" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "" #: src/properties.cpp:115 msgid "XMP Media Management schema" msgstr "" #: src/properties.cpp:116 #, fuzzy msgid "XMP Basic Job Ticket schema" msgstr "XMP základná schéma" #: src/properties.cpp:117 #, fuzzy msgid "XMP Paged-Text schema" msgstr "XMP základná schéma" #: src/properties.cpp:118 #, fuzzy msgid "XMP Dynamic Media schema" msgstr "XMP základná schéma" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "" #: src/properties.cpp:120 #, fuzzy msgid "Adobe Lightroom schema" msgstr "Schéma Adobe Photoshop" #: src/properties.cpp:121 msgid "Adobe PDF schema" msgstr "Schéma Adobe PDF" #: src/properties.cpp:122 msgid "Adobe photoshop schema" msgstr "Schéma Adobe Photoshop" #: src/properties.cpp:123 msgid "Camera Raw schema" msgstr "RAW schéma fotoaparátu" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "" #: src/properties.cpp:127 src/properties.cpp:128 msgid "IPTC Core schema" msgstr "" #: src/properties.cpp:129 src/properties.cpp:130 msgid "IPTC Extension schema" msgstr "" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "" #: src/properties.cpp:132 msgid "iView Media Pro schema" msgstr "" #: src/properties.cpp:133 msgid "Expression Media schema" msgstr "" #: src/properties.cpp:134 msgid "Microsoft Photo 1.2 schema" msgstr "" #: src/properties.cpp:135 msgid "Microsoft Photo RegionInfo schema" msgstr "" #: src/properties.cpp:136 msgid "Microsoft Photo Region schema" msgstr "" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "" #: src/properties.cpp:138 msgid "Metadata Working Group Keywords schema" msgstr "" #: src/properties.cpp:139 #, fuzzy msgid "XMP Extended Video schema" msgstr "XMP základná schéma" #: src/properties.cpp:140 #, fuzzy msgid "XMP Extended Audio schema" msgstr "XMP základná schéma" #: src/properties.cpp:141 #, fuzzy msgid "XMP Darwin Core schema" msgstr "XMP základná schéma" #: src/properties.cpp:142 #, fuzzy msgid "Qualified Dublin Core schema" msgstr "XMP základná schéma" #: src/properties.cpp:143 #, fuzzy msgid "ACDSee XMP schema" msgstr "Schéma Adobe PDF" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "" #: src/properties.cpp:148 msgid "Colorant structure" msgstr "Štruktúra farbiva" #: src/properties.cpp:149 msgid "Dimensions structure" msgstr "Štruktúra rozmerov" #: src/properties.cpp:150 msgid "Font structure" msgstr "Štruktúra písma" #: src/properties.cpp:151 msgid "Thumbnail structure" msgstr "Štruktúra náhľadu" #: src/properties.cpp:152 #, fuzzy msgid "Resource Event structure" msgstr "Štruktúra písma" #: src/properties.cpp:153 #, fuzzy msgid "ResourceRef structure" msgstr "Štruktúra verzie" #: src/properties.cpp:154 msgid "Version structure" msgstr "Štruktúra verzie" #: src/properties.cpp:155 msgid "Basic Job/Workflow structure" msgstr "" #: src/properties.cpp:156 #, fuzzy msgid "Area structure" msgstr "Štruktúra farbiva" #: src/properties.cpp:159 msgid "Qualifier for xmp:Identifier" msgstr "" #: src/properties.cpp:163 msgid "Contributor" msgstr "Prispievateľ" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "Prispeli do zdroja (okrem autorov)." #: src/properties.cpp:164 msgid "Coverage" msgstr "Pokrytie" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" "Priestorová alebo časová téma zdroja, priestorová aplikovateľkosť zdroja " "alebo jurisdikcia, v ktorej je zdroj relevantný." #: src/properties.cpp:166 msgid "Creator" msgstr "Tvorca" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "Autori zdroja (uvedení v poradí, ak je to dôležité)." #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "Dátumy, kedy sa so zdrojom udialo niečo významné." #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" "Textový popis obsahu zdroja. Môže byť prítomných viacero hodnôt v rôznych " "jazykoch." #: src/properties.cpp:170 src/properties.cpp:1160 msgid "Format" msgstr "Formát" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" "Formátu súboru použitý pri uložení zdroja. Nástroje a aplikácie by mali túto " "vlastnosť nastavovať na formát, v ktorom sú uložené dáta. Môže obsahovať " "príslušné kvalifikátory." #: src/properties.cpp:172 src/properties.cpp:228 msgid "Identifier" msgstr "Identifikátor" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" "Jedinečný identifikátor zdroja. Odporúča sa identifikovať zdroje reťazcom " "zodpovedajúcim formalizovanému identifikačnému systému." #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "Nezoradené pole so zoznamom jazykov použitých v zdroji." #: src/properties.cpp:175 msgid "Publisher" msgstr "Vydavateľ" #: src/properties.cpp:175 msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" "Entita zodpovedná za sprístupnenie zdroja. Medzi príklady Vydavateľa patrí " "osoba, organizácia alebo služba. Na označenie entity sa zvyčajne používa " "meno Vydavateľa." #: src/properties.cpp:178 msgid "Relation" msgstr "Vzťah" #: src/properties.cpp:178 msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" "Vzťah k iným dokumentom. Odporúča sa identifikovať súvisiace zdroje reťazcom " "zodpovedajúcim formalizovanému identifikačnému systému." #: src/properties.cpp:180 msgid "Rights" msgstr "Práva" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" "Neformálny oznam o právach, vybraný podľa jazyka. Informácia o právach je " "zvyčajne vyjadrenie o rôznych vlastníckych právach súvisiacich so zdrojom " "vrátane práv na intelektuálne vlastníctvo." #: src/properties.cpp:183 msgid "Unique identifier of the work from which this resource was derived." msgstr "Jedinečný identifikátor diela, z ktorého bol zdroj odvodený." #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" "Nezoradené pole popisných kľúčových slov alebo spojení, ktoré špecifikujú " "predmet obsahu zdroja." #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" "Titulok dokumentu alebo názov pridelený zdroju. Zvyčajne to bude názov, " "ktorým je zdroj formálne označovaný." #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 msgid "Type" msgstr "Typ" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "Typ dokumentu, napr. román, báseň alebo pracovný dokument." #: src/properties.cpp:194 msgid "Tags List" msgstr "Zoznam značiek" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" "Zoznam úplnej cesty ako reťazec. Hierarchia ciest sa oddeľuje znakom " "„/“ (napr. „City/Paris/Monument/Eiffel Tower“)" #: src/properties.cpp:195 #, fuzzy msgid "Captions Author Names" msgstr "Krajina" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" #: src/properties.cpp:196 #, fuzzy msgid "Captions Date Time Stamps" msgstr "aktualizuje sa časová známka" #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" #: src/properties.cpp:197 src/tags.cpp:844 #, fuzzy msgid "Image History" msgstr "Výška obrázka" #: src/properties.cpp:197 msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" #: src/properties.cpp:198 #, fuzzy msgid "Lens Correction Settings" msgstr "Nastavenia údajov šošoviek" #: src/properties.cpp:198 msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" #: src/properties.cpp:199 #, fuzzy msgid "Color Label" msgstr "Farebný priestor" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" #: src/properties.cpp:200 #, fuzzy msgid "Pick Label" msgstr "Označenie" #: src/properties.cpp:200 msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" #: src/properties.cpp:206 #, fuzzy msgid "Panorama Input Files" msgstr "Rámec panorámy" #: src/properties.cpp:206 msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" #: src/properties.cpp:207 msgid "Enfuse Input Files" msgstr "" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" #: src/properties.cpp:208 #, fuzzy msgid "Enfuse Settings" msgstr "Nastavenia" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "" #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "" #: src/properties.cpp:216 msgid "Advisory" msgstr "Poradca" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" #: src/properties.cpp:219 src/properties.cpp:1066 msgid "Base URL" msgstr "Základné URL" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" #: src/properties.cpp:224 msgid "Create Date" msgstr "Dátum vytvorenia" #: src/properties.cpp:224 msgid "The date and time the resource was originally created." msgstr "Dátum a čas, kedy bol obrázok pôvodne vytvorený." #: src/properties.cpp:225 msgid "Creator Tool" msgstr "Vytvorené nástrojom" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" #: src/properties.cpp:233 msgid "Label" msgstr "Označenie" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" #: src/properties.cpp:235 msgid "Metadata Date" msgstr "Dátum (metadáta)" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" #: src/properties.cpp:237 msgid "Modify Date" msgstr "Dátum zmeny" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" #: src/properties.cpp:240 msgid "Nickname" msgstr "Prezývka" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "" #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 msgid "Rating" msgstr "Hodnotenie" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" #: src/properties.cpp:244 msgid "Thumbnails" msgstr "Náhľady" #: src/properties.cpp:244 msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" #: src/properties.cpp:251 msgid "Certificate" msgstr "Certifikát" #: src/properties.cpp:251 msgid "Online rights management certificate." msgstr "" #: src/properties.cpp:252 msgid "Marked" msgstr "Označené" #: src/properties.cpp:252 #, fuzzy msgid "Indicates that this is a rights-managed resource." msgstr "Dátumy, kedy sa so zdrojom udialo niečo významné." #: src/properties.cpp:253 msgid "Owner" msgstr "Vlastník" #: src/properties.cpp:253 #, fuzzy msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "Nezoradené pole so zoznamom jazykov použitých v zdroji." #: src/properties.cpp:254 msgid "Usage Terms" msgstr "Podmienky používania" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "" # exif-meteringmode-4 #: src/properties.cpp:255 #, fuzzy msgid "Web Statement" msgstr "element" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" #: src/properties.cpp:261 msgid "Derived From" msgstr "Odovodené od" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" #: src/properties.cpp:266 msgid "Document ID" msgstr "ID dokumentu" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" #: src/properties.cpp:268 msgid "History" msgstr "História" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" #: src/properties.cpp:272 msgid "Instance ID" msgstr "ID príkladu" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" #: src/properties.cpp:274 msgid "Managed From" msgstr "Riadený z" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" #: src/properties.cpp:277 msgid "Manager" msgstr "Manažér" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" #: src/properties.cpp:280 #, fuzzy msgid "Manage To" msgstr "Riadený z" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" #: src/properties.cpp:283 #, fuzzy msgid "Manage UI" msgstr "Manažér" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" #: src/properties.cpp:285 #, fuzzy msgid "Manager Variant" msgstr "Manažér" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" #: src/properties.cpp:287 msgid "Rendition Class" msgstr "Ročník vydania" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" #: src/properties.cpp:289 msgid "Rendition Params" msgstr "Parametre interpretácie" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" #: src/properties.cpp:291 msgid "Version ID" msgstr "ID verzie" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr "" #: src/properties.cpp:295 msgid "Versions" msgstr "Verzie" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" #: src/properties.cpp:301 msgid "Last URL" msgstr "Posledný URL" #: src/properties.cpp:301 msgid "Deprecated for privacy protection." msgstr "" #: src/properties.cpp:302 msgid "Rendition Of" msgstr "Vydanie" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" #: src/properties.cpp:304 msgid "Save ID" msgstr "Uložiť ID" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "" #: src/properties.cpp:310 #, fuzzy msgid "Job Reference" msgstr "Referenčný dátum" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" #: src/properties.cpp:319 msgid "Maximum Page Size" msgstr "Maximálna veľkosť stránky" #: src/properties.cpp:319 msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "" #: src/properties.cpp:320 msgid "Number of Pages" msgstr "Počet stránok" #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "" #: src/properties.cpp:321 msgid "Fonts" msgstr "Písma" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" #: src/properties.cpp:322 msgid "Colorants" msgstr "Farbivá" #: src/properties.cpp:322 msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" #: src/properties.cpp:323 msgid "Plate Names" msgstr "Názvy plôch" #: src/properties.cpp:323 msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" #: src/properties.cpp:329 src/properties.cpp:1285 #, fuzzy msgid "Project Reference" msgstr "GPS referencia zemepisnej dĺžky" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "" #: src/properties.cpp:330 src/properties.cpp:1163 msgid "Video Frame Rate" msgstr "Počet snímok za sekundu vo videu" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "Počet snímok za sekundu vo videu: 24, NTSC, PAL." #: src/properties.cpp:331 src/properties.cpp:1164 msgid "Video Frame Size" msgstr "Veľkosť snímky vo videu" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "Veľkosť snímky. Napr.: š:720, v: 480, jednotka:pixely" #: src/properties.cpp:332 msgid "Video Pixel Aspect Ratio" msgstr "" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "" #: src/properties.cpp:333 src/properties.cpp:1261 #, fuzzy msgid "Video Pixel Depth" msgstr "Poradie video polí" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "Video Color Space" msgstr "Farebný priestor videa" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" #: src/properties.cpp:337 #, fuzzy msgid "Video Alpha Mode" msgstr "Model Minolta" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "" #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "" #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "" #: src/properties.cpp:341 msgid "Video Compressor" msgstr "Kompresia videa" #: src/properties.cpp:341 #, fuzzy msgid "Video compression used. For example, jpeg." msgstr "Použitý zvukový komprimátor. Napríklad MP3." #: src/properties.cpp:342 msgid "Video Field Order" msgstr "Poradie video polí" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "" #: src/properties.cpp:343 #, fuzzy msgid "Pull Down" msgstr "Dolu" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" #: src/properties.cpp:345 src/properties.cpp:1425 #, fuzzy msgid "Audio Sample Rate" msgstr "Rýchlosť zvuku" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" #: src/properties.cpp:346 src/properties.cpp:1426 #, fuzzy msgid "Audio Sample Type" msgstr "Typ audio" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:347 src/properties.cpp:1400 #, fuzzy msgid "Audio Channel Type" msgstr "Typ audio" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "Audio Compressor" msgstr "Kompresia zvuku" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "Použitý zvukový komprimátor. Napríklad MP3." #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "Poloha reproduktora" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" #: src/properties.cpp:351 src/properties.cpp:1149 #, fuzzy msgid "File Data Rate" msgstr "Dátum Minolta" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "" #: src/properties.cpp:352 src/properties.cpp:1334 msgid "Tape Name" msgstr "Názov pásky" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "" #: src/properties.cpp:353 #, fuzzy msgid "Alternative Tape Name" msgstr "Názov pásky" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" #: src/properties.cpp:355 msgid "Start Time Code" msgstr "Kód času začiatku" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "" #: src/properties.cpp:356 #, fuzzy msgid "Alternative Time code" msgstr "Kód času začiatku" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" #: src/properties.cpp:357 src/properties.cpp:1124 msgid "Duration" msgstr "Trvanie" #: src/properties.cpp:357 #, fuzzy msgid "The duration of the media file." msgstr "Názov scény" # exif-scenetype #: src/properties.cpp:358 msgid "Scene" msgstr "Scéna" #: src/properties.cpp:358 msgid "The name of the scene." msgstr "Názov scény" #: src/properties.cpp:359 msgid "Shot Name" msgstr "Názov záberu" #: src/properties.cpp:359 #, fuzzy msgid "The name of the shot or take." msgstr "Meno autora alebo autorov" #: src/properties.cpp:360 msgid "Shot Date" msgstr "Dátum záberu" #: src/properties.cpp:360 msgid "The date and time when the video was shot." msgstr "Dátum a čas, kedy bolo video nasnímané." #: src/properties.cpp:361 msgid "Shot Location" msgstr "Miesto záberu" #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" #: src/properties.cpp:363 msgid "Log Comment" msgstr "Komentár denníka" #: src/properties.cpp:363 msgid "User's log comments." msgstr "Komentár používateľovho denníka." #: src/properties.cpp:364 msgid "Markers" msgstr "Značky" #: src/properties.cpp:364 msgid "An ordered list of markers" msgstr "" #: src/properties.cpp:365 #, fuzzy msgid "Contributed Media" msgstr "Prispievateľ" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "" #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:368 msgid "Video Modified Date" msgstr "Dátum úpravy videa" #: src/properties.cpp:368 msgid "The date and time when the video was last modified." msgstr "Dátum a čas, kedy bolo video naposledy zmenené." #: src/properties.cpp:369 msgid "Audio Modified Date" msgstr "Dátum úpravy zvuku" #: src/properties.cpp:369 msgid "The date and time when the audio was last modified." msgstr "Dátum a čas, kedy bol zvuk naposledy zmenený." #: src/properties.cpp:370 #, fuzzy msgid "Metadata Modified Date" msgstr "Dátum (metadáta)" #: src/properties.cpp:370 msgid "The date and time when the metadata was last modified." msgstr "Dátum a čas, kedy boli metadáta naposledy zmenené." #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "Umelec" #: src/properties.cpp:371 src/properties.cpp:1058 msgid "The name of the artist or artists." msgstr "Meno autora alebo autorov" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "Album" msgstr "Album" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "The name of the album." msgstr "Názov albumu." #: src/properties.cpp:373 src/properties.cpp:1366 msgid "Track Number" msgstr "Číslo stopy" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "Genre" msgstr "Žáner" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "The name of the genre." msgstr "Názov žánru" #: src/properties.cpp:375 msgid "The copyright information." msgstr "Informácie o autorských právach" #: src/properties.cpp:376 msgid "The date the title was released." msgstr "Dátum, kedy bol titul vydaný" #: src/properties.cpp:377 src/properties.cpp:1086 msgid "Composer" msgstr "Skladateľ" #: src/properties.cpp:377 msgid "The composer's name." msgstr "Meno skladateľa" #: src/properties.cpp:378 src/properties.cpp:1143 #, fuzzy msgid "Engineer" msgstr "Večer" #: src/properties.cpp:378 #, fuzzy msgid "The engineer's name." msgstr "Meno skladateľa" #: src/properties.cpp:379 msgid "Tempo" msgstr "Rýchlosť" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "Rýchlosť zvuku" #: src/properties.cpp:380 msgid "Instrument" msgstr "Nástroj" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "Hudobný nástroj" #: src/properties.cpp:381 msgid "Intro Time" msgstr "Čas vstupu" #: src/properties.cpp:381 msgid "The duration of lead time for queuing music." msgstr "" #: src/properties.cpp:382 msgid "Out Cue" msgstr "" #: src/properties.cpp:382 msgid "The time at which to fade out." msgstr "" #: src/properties.cpp:383 msgid "Relative Timestamp" msgstr "Relatívna časová známka" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "" #: src/properties.cpp:384 msgid "Loop" msgstr "Slučka" #: src/properties.cpp:384 msgid "When true, the clip can be looped seamlessly." msgstr "" #: src/properties.cpp:385 #, fuzzy msgid "Number Of Beats" msgstr "Počet stránok" #: src/properties.cpp:385 msgid "The number of beats." msgstr "Počet úderov." #: src/properties.cpp:386 msgid "Key" msgstr "Kľúč" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "" #: src/properties.cpp:387 msgid "Stretch Mode" msgstr "Režim roztiahnutia" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" #: src/properties.cpp:388 msgid "Time Scale Parameters" msgstr "" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "" #: src/properties.cpp:389 msgid "Resample Parameters" msgstr "" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "" #: src/properties.cpp:390 msgid "Beat Splice Parameters" msgstr "" #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "" #: src/properties.cpp:391 msgid "Time Signature" msgstr "Časová signatúra" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" #: src/properties.cpp:392 msgid "Scale Type" msgstr "Typ mierky" #: src/properties.cpp:392 msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "" #: src/properties.cpp:399 src/tags.cpp:1078 msgid "Camera Serial Number" msgstr "Sériové číslo fotoaparátu" #: src/properties.cpp:399 msgid "Camera Serial Number." msgstr "Sériové číslo fotoaparátu." #: src/properties.cpp:400 msgid "Date Acquired" msgstr "Dátum vytvorenia" #: src/properties.cpp:400 msgid "Date Acquired." msgstr "Dátum vytvorenia." #: src/properties.cpp:401 msgid "Flash Manufacturer" msgstr "Výrobca blesku" #: src/properties.cpp:401 msgid "Flash Manufacturer." msgstr "Výrobca blesku." #: src/properties.cpp:402 msgid "Flash Model." msgstr "Model blesku." #: src/properties.cpp:403 #, fuzzy msgid "Last Keyword IPTC" msgstr "Posledné kľúčové slovo XMP." #: src/properties.cpp:403 #, fuzzy msgid "Last Keyword IPTC." msgstr "Posledné kľúčové slovo XMP." #: src/properties.cpp:404 #, fuzzy msgid "Last Keyword XMP" msgstr "Posledné kľúčové slovo XMP." #: src/properties.cpp:404 msgid "Last Keyword XMP." msgstr "Posledné kľúčové slovo XMP." #: src/properties.cpp:405 msgid "Lens Manufacturer" msgstr "Výrobca šošoviek" #: src/properties.cpp:405 msgid "Lens Manufacturer." msgstr "Výrobca šošoviek." #: src/properties.cpp:406 src/properties.cpp:1199 msgid "Lens Model." msgstr "Model šošoviek." #: src/properties.cpp:407 msgid "Rating Percent" msgstr "Percentá hodnotenia" #: src/properties.cpp:407 msgid "Rating Percent." msgstr "Percentá hodnotenia." #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "" #: src/properties.cpp:414 #, fuzzy msgid "Private RTK Info" msgstr "Informácie o obrázku" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "" #: src/properties.cpp:420 msgid "Keywords." msgstr "Kľúčové slová." #: src/properties.cpp:421 msgid "PDF Version" msgstr "PDF verzia" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "Verzia PDF súboru (napríklad: 1.0, 1.3, atď)." #: src/properties.cpp:422 src/properties.cpp:1278 msgid "Producer" msgstr "Tvorca" #: src/properties.cpp:422 msgid "The name of the tool that created the PDF document." msgstr "Názov programu, pomocou ktorého bol vytvorený PDF dokument" #: src/properties.cpp:428 msgid "Authors Position" msgstr "Pozícia autora" #: src/properties.cpp:428 #, fuzzy msgid "By-line title." msgstr "Vedľajší názov" #: src/properties.cpp:429 msgid "Caption Writer" msgstr "Zapisovač titulku" #: src/properties.cpp:429 msgid "Writer/editor." msgstr "Autor/vydavateľ" #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "" #: src/properties.cpp:431 msgid "City." msgstr "Mesto." #: src/properties.cpp:432 msgid "Country/primary location." msgstr "" #: src/properties.cpp:433 msgid "Credit." msgstr "Pôvodca." #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" #: src/properties.cpp:438 msgid "Headline." msgstr "Titulok." #: src/properties.cpp:439 msgid "Special instructions." msgstr "Špecifické pokyny." #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source." msgstr "Zdroj." #: src/properties.cpp:441 msgid "Province/state." msgstr "Provincia/štát" #: src/properties.cpp:442 msgid "Supplemental category." msgstr "Doplnková kategória" #: src/properties.cpp:443 #, fuzzy msgid "Original transmission reference." msgstr "Osvedčenie na prenos" #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "" #: src/properties.cpp:452 msgid "inches" msgstr "palcov" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "cm" #: src/properties.cpp:457 msgid "Auto Brightness" msgstr "Automatický jas" #: src/properties.cpp:457 msgid "When true, \"Brightness\" is automatically adjusted." msgstr "" #: src/properties.cpp:458 msgid "Auto Contrast" msgstr "Automatický kontrast" #: src/properties.cpp:458 msgid "When true, \"Contrast\" is automatically adjusted." msgstr "" #: src/properties.cpp:459 msgid "Auto Exposure" msgstr "Automatická korekcia expozície" #: src/properties.cpp:459 msgid "When true, \"Exposure\" is automatically adjusted." msgstr "" #: src/properties.cpp:460 msgid "Auto Shadows" msgstr "Automatické tiene" #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "" #: src/properties.cpp:461 msgid "Blue Hue" msgstr "Modrý odtieň" #: src/properties.cpp:461 msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "Nastavenie \"Modrý odtieň\". Rozsah -100 to 100." #: src/properties.cpp:462 msgid "Blue Saturation" msgstr "Modrá sýtosť" #: src/properties.cpp:462 #, fuzzy msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "Nastavenie \"Sýtosť\". Rozsah od -100 do +100." #: src/properties.cpp:463 msgid "\"Brightness\" setting. Range 0 to +150." msgstr "Nastavenie \"Jas\". Rozsah od 0 do +150." #: src/properties.cpp:464 msgid "Camera Profile" msgstr "Profil fotoaparátu" #: src/properties.cpp:464 msgid "\"Camera Profile\" setting." msgstr "Nastavenie \"Profil fotoaparátu\"" #: src/properties.cpp:465 msgid "Chromatic Aberration Blue" msgstr "Chromatická aberácia modrej" #: src/properties.cpp:465 #, fuzzy msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "Nastavenie \"Sýtosť\". Rozsah od -100 do +100." #: src/properties.cpp:466 msgid "Chromatic Aberration Red" msgstr "Chromatická aberácia červenej" #: src/properties.cpp:466 #, fuzzy msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "Nastavenie \"Sýtosť\". Rozsah od -100 do +100." #: src/properties.cpp:467 src/properties.cpp:1080 msgid "Color Noise Reduction" msgstr "Redukcia farebného šumu" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "Nastavenie \"Kontrast\". Rozsah od -50 do +100." #: src/properties.cpp:468 msgid "\"Contrast\" setting. Range -50 to +100." msgstr "Nastavenie \"Kontrast\". Rozsah od -50 do +100." #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "" #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "" #: src/properties.cpp:471 msgid "Crop Bottom" msgstr "Orezať dolu" #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "" #: src/properties.cpp:472 msgid "Crop Right" msgstr "Orezať vpravo" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "" #: src/properties.cpp:473 #, fuzzy msgid "Crop Angle" msgstr "Orezať vľavo" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "" #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:476 msgid "Crop Units" msgstr "Jednotky pri orezávaní" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "" #: src/properties.cpp:477 msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "Nastavenie \"Expozícia\". Rozsah od -4.0 do +4.0." #: src/properties.cpp:478 #, fuzzy msgid "Green Hue" msgstr "Zelený odtieň" #: src/properties.cpp:478 msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "Nastavenie \"Zelený odtieň\". Rozsah od -100 do +100." #: src/properties.cpp:479 msgid "Green Saturation" msgstr "Zelená sýtosť" #: src/properties.cpp:479 #, fuzzy msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "Nastavenie \"Sýtosť\". Rozsah od -100 do +100." #: src/properties.cpp:480 msgid "Has Crop" msgstr "Orezanie" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "" #: src/properties.cpp:481 msgid "Has Settings" msgstr "Nastavenia" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "" #: src/properties.cpp:482 msgid "Luminance Smoothing" msgstr "" #: src/properties.cpp:482 #, fuzzy msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "Nastavenie \"Sýtosť\". Rozsah od -100 do +100." #: src/properties.cpp:483 msgid "Raw File Name" msgstr "Názov nespracovaného súboru" #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "Názov RAW súboru (nie kompletná cesta k nemu)." #: src/properties.cpp:484 msgid "Red Hue" msgstr "Červený odtieň" #: src/properties.cpp:484 msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "Nastavenie \"Červený odtieň\". Rozsah od -100 do +100." #: src/properties.cpp:485 msgid "Red Saturation" msgstr "Červená sýtosť" #: src/properties.cpp:485 #, fuzzy msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "Nastavenie \"Sýtosť\". Rozsah od -100 do +100." #: src/properties.cpp:486 msgid "\"Saturation\" setting. Range -100 to +100." msgstr "Nastavenie \"Sýtosť\". Rozsah od -100 do +100." #: src/properties.cpp:487 msgid "Shadows" msgstr "Tiene" #: src/properties.cpp:487 msgid "\"Shadows\" setting. Range 0 to +100." msgstr "Nastavenie \"Tiene\". Rozsah od 0 do +100." #: src/properties.cpp:488 msgid "Shadow Tint" msgstr "Sfarbenie tieňa" #: src/properties.cpp:488 msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "Nastavenie \"Sfarbenie tieňa\". Rozsah od -100 do +100." #: src/properties.cpp:489 src/properties.cpp:1301 msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "Nastavenie \"Ostrosť\". Rozsah od 0 do +100." #: src/properties.cpp:490 msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "Nastavenie \"Teplota\". Rozsah od 2000 do 50000." #: src/properties.cpp:491 msgid "Tint" msgstr "Sfarbenie" #: src/properties.cpp:491 msgid "\"Tint\" setting. Range -150 to +150." msgstr "Nastavenie \"Sfarbenie\". Rozsah od -150 do +150." #: src/properties.cpp:492 msgid "Tone Curve" msgstr "Krivka tónu" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "" #: src/properties.cpp:493 msgid "Tone Curve Name" msgstr "Názov krivky tónu" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "Verzia RAW zásuvného modulu fotoaparátu" #: src/properties.cpp:496 #, fuzzy msgid "Vignette Amount" msgstr "Diaľkové ovládanie?" #: src/properties.cpp:496 #, fuzzy msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "Nastavenie \"Sýtosť\". Rozsah od -100 do +100." #: src/properties.cpp:497 #, fuzzy msgid "Vignette Midpoint" msgstr "Diaľkové ovládanie?" #: src/properties.cpp:497 #, fuzzy msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "Nastavenie \"Sýtosť\". Rozsah od -100 do +100." #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "TIFF tag 256, 0x100. Šírka obrázka v bodoch." #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 msgid "Image Length" msgstr "Dĺžka obrázka" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "TIFF tag 257, 0x101. Dĺžka obrázka v bodoch." #: src/properties.cpp:507 msgid "Bits Per Sample" msgstr "bitov na vzorku" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "" #: src/properties.cpp:508 src/tags.cpp:434 msgid "Compression" msgstr "Kompresia" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "" #: src/properties.cpp:509 src/tags.cpp:440 msgid "Photometric Interpretation" msgstr "Fotometrická interpretácia" #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "" #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" #: src/properties.cpp:519 msgid "Samples Per Pixel" msgstr "vzoriek na pixel" #: src/properties.cpp:519 #, fuzzy msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "TIFF tag 257, 0x101. Dĺžka obrázka v bodoch." #: src/properties.cpp:520 src/tags.cpp:514 msgid "Planar Configuration" msgstr "Rovinná konfigurácia" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "" # exif-ycbcrsubsampling #: src/properties.cpp:521 msgid "YCbCr Sub Sampling" msgstr "podvzorkovanie YCbCr" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" #: src/properties.cpp:523 src/tags.cpp:720 msgid "YCbCr Positioning" msgstr "polohovanie YCbCr" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" # exif-xresolution #: src/properties.cpp:525 src/properties.cpp:1390 msgid "X Resolution" msgstr "horizontálne rozlíšenie" #: src/properties.cpp:525 #, fuzzy msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "" "EXIF značka 41486, 0xA20E. Vodorovné ohniskové rozlíšenie v pixeloch na " "jednotku" # exif-xresolution #: src/properties.cpp:526 src/properties.cpp:1392 msgid "Y Resolution" msgstr "horizontálne rozlíšenie" #: src/properties.cpp:526 #, fuzzy msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "" "EXIF značka 41487, 0xA20F. Zvislé ohniskové rozlíšenie v pixeloch na jednotku" # exif-resolutionunit #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 msgid "Resolution Unit" msgstr "jednotka rozlíšenia" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" # exif-transferfunction #: src/properties.cpp:529 src/tags.cpp:540 msgid "Transfer Function" msgstr "prenosová funkcia" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" # exif-whitepoint #: src/properties.cpp:531 src/tags.cpp:572 msgid "White Point" msgstr "biely bod" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "" # exif-primarychromaticities #: src/properties.cpp:532 src/tags.cpp:577 msgid "Primary Chromaticities" msgstr "primárne chromaticity" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "" #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "" #: src/properties.cpp:534 msgid "Reference Black White" msgstr "Referenčná čierna a biela" #: src/properties.cpp:534 msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "" #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 msgid "Date and Time" msgstr "Dátum a čas" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" #: src/properties.cpp:541 src/tags.cpp:462 msgid "Image Description" msgstr "Popis obrázka" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" #: src/properties.cpp:542 msgid "Make" msgstr "Zhotoviteľ" #: src/properties.cpp:542 msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "" #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "" #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" #: src/properties.cpp:546 msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" #: src/properties.cpp:548 msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" #: src/properties.cpp:555 src/tags.cpp:1605 msgid "Exif Version" msgstr "Verzia EXIF" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "EXIF značka 36864, 0x9000. Číslo verzie EXIF." #: src/properties.cpp:556 msgid "Flashpix Version" msgstr "Verzia FlashPix" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "EXIF značka 40960, 0xA000. Verzia FlashPix." #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "EXIF značka 40961, 0xA001. Informácie o farebnom priestore" #: src/properties.cpp:558 src/tags.cpp:1616 msgid "Components Configuration" msgstr "Nastavenie zložiek" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" "EXIF značka 37121, 0x9101. Konfigurácia dátových zložiek: 4 5 6 0 (pre RGB " "komprimované údaje), 1 2 3 0 (ostatné prípady)." # exif-compressedbitsperpixel #: src/properties.cpp:560 src/tags.cpp:825 msgid "Compressed Bits Per Pixel" msgstr "komprimované bity na pixel" #: src/properties.cpp:560 msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" "EXIF značka 37122, 0x9102. Kompresný režim komprimovaného obrázka sa " "označuje v jednotkách bity na pixel." #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "Vodorovný rozmer pixelu" #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "EXIF značka 40962, 0xA002. Platná šírka obrázka v pixeloch" #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "Zvislý rozmer pixelu" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "EXIF značka 40963, 0xA003. Platná výška obrázka v pixeloch" #: src/properties.cpp:564 src/tags.cpp:1674 msgid "User Comment" msgstr "Komentár používateľa" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "EXIF značka 37510, 0x9286. Komentár používateľa." #: src/properties.cpp:565 src/tags.cpp:1716 msgid "Related Sound File" msgstr "Súvisiaci zvukový súbor" #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" "EXIF značka 40964, 0xA004. \"8.3\" názov súboru príslušného zvukového súboru." #: src/properties.cpp:566 src/properties.cpp:1110 msgid "Date and Time Original" msgstr "Dátum a čas zhotovenia" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" "EXIF značky 36867, 0x9003 (primárny) a 37521, 0x9291 (podsekundy). Dátum a " "čas, kedy bol vytvorený pôvodný obrázok, vo formáte ISO 8601. Vrátane údajov " "EXIF SubSecTimeOriginal." #: src/properties.cpp:569 src/properties.cpp:1111 msgid "Date and Time Digitized" msgstr "Dátum a čas digitalizácie" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" "EXIF značka 36868, 0x9004 (primárny) a 37522, 0x9292 (podsekundy). Dátum a " "čas, kedy bol obrázok uložený ako digitálne údaje. Môže byť rovnaký ako " "DateTimeOriginal ak bol obrázok pôvodne uložený v digitálnej forme. Ukladá " "sa vo formáte ISO 8601. Vrátane údajov EXIF SubSecTimeOriginal." #: src/properties.cpp:573 msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "EXIF značka 33434, 0x829A. Čas expozície v sekundách" #: src/properties.cpp:574 src/properties.cpp:1157 msgid "F Number" msgstr "číslo F" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "EXIF značka 33437, 0x829D. Číslo F" #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "EXIF značka 34850, 0x8822. Trieda expozičného programu" #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 msgid "Spectral Sensitivity" msgstr "Spektrálna citlivosť:" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "EXIF značka 34852, 0x8824. Spektrálna citlivosť každého kanála" #: src/properties.cpp:577 msgid "ISOSpeedRatings" msgstr "ISO rýchlosti" #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" "EXIF značka 34855, 0x8827. Označuje ISO rýchlosť a ISO zemepisnú šírku " "fotoaparátu alebo vstupného zariadenia podľa špecifikácie ISO 12232." #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "OECF" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" "EXIF značka 34856, 0x8828. Opto-elektronická konverzná funkcie podľa " "špecifikácie ISO 14524" #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" "EXIF značka 37377, 0x9201. Rýchlosť uzávierky, jednotka je APEX. Pozri " "Prílohu C Špecifikácie EXIF." #: src/properties.cpp:581 msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "EXIF značka 37378, 0x9202. Clona šošoviek, jednotka je APEX." #: src/properties.cpp:582 src/tags.cpp:828 msgid "Brightness Value" msgstr "Hodnota jasu" #: src/properties.cpp:582 msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "EXIF značka 37379, 0x9203. Jas, jednotka je APEX." #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "EXIF značka 37380, 0x9204. Skreslenie expozície, jednotka je APEX." #: src/properties.cpp:584 src/properties.cpp:1211 msgid "Maximum Aperture Value" msgstr "Maximálna hodnota clony" #: src/properties.cpp:584 msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "" "EXIF značka 37381, 0x9205. Najmenšie číslo F šošoviek, jednotka je APEX." #: src/properties.cpp:585 msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "EXIF značka 37382, 0x9206. Vzdialenosť subjektu v metroch." #: src/properties.cpp:586 msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "EXIF značka 37383, 0x9207. Režim merania" #: src/properties.cpp:587 msgid "EXIF tag 37384, 0x9208. Light source." msgstr "EXIF značka 37384, 0x9208. Svetelný zdroj" #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "" "EXIF značka 37385, 0x9209. Zdrojové údaje o impulznom osvetlení (blesk)" #: src/properties.cpp:589 msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "" "EXIF značka 37386, 0x920A. Ohnisková vzdialenosť šošoviek v milimetroch" # exif-subjectarea #: src/properties.cpp:590 src/tags.cpp:1666 msgid "Subject Area" msgstr "oblasť subjektu" #: src/properties.cpp:590 msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" "EXIF značka 37396, 0x9214. Táto značka označuje polohu a plochu hlavného " "subjektu v celkovej scéne." # exif-flashenergy #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 msgid "Flash Energy" msgstr "energia blesku" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "EXIF značka 41483, 0xA20B. Energia blesku počas zachytenia obrázka" # exif-spatialfrequencyresponse #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "priestorová frekvenčná odozva" #: src/properties.cpp:592 msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" "EXIF značka 41484, 0xA20C. Priestorové frekvenčná tabuľka vstupného " "zariadenia a hodnoty SFR podľa špecifikácie ISO 12233" # exif-focalplanexresolution #: src/properties.cpp:594 src/tags.cpp:839 msgid "Focal Plane X Resolution" msgstr "vodorovné rozlíšenie ohniskovej roviny" #: src/properties.cpp:594 msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "" "EXIF značka 41486, 0xA20E. Vodorovné ohniskové rozlíšenie v pixeloch na " "jednotku" # exif-focalplanexresolution #: src/properties.cpp:595 src/tags.cpp:840 msgid "Focal Plane Y Resolution" msgstr "zvislé rozlíšenie ohniskovej roviny" #: src/properties.cpp:595 msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "" "EXIF značka 41487, 0xA20F. Zvislé ohniskové rozlíšenie v pixeloch na jednotku" # exif-focalplaneresolutionunit #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 msgid "Focal Plane Resolution Unit" msgstr "jednotka rozlíšenia v ohniskovej rovine" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" "EXIF značka 41488, 0xA210. Jednotka pre FocalPlaneXResolution a " "FocalPlaneYResolution" # exif-subjectlocation #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 msgid "Subject Location" msgstr "umiestnenie subjektu" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" "EXIF značka 41492, 0xA214. Umiestnenie hlavného subjektu scény. Prvá hodnota " "je vodorovný a druhá zvislý pixel, na ktorom sa nachádza subjekt." #: src/properties.cpp:600 src/tags.cpp:846 msgid "Exposure Index" msgstr "Index expozície" #: src/properties.cpp:600 msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "EXIF značka 41493, 0xA215. Expozičný index vstupného zariadenia" # exif-sensingmethod #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 msgid "Sensing Method" msgstr "snímacia metóda" #: src/properties.cpp:601 msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "" "EXIF značka 41495, 0xA217. Táto značka označuje typ obrazového snímača " "vstupného fotoaparátu alebo vstupného zariadenia." #: src/properties.cpp:602 msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "EXIF značka 41728, 0xA300. Zdroj obrázka" #: src/properties.cpp:603 src/tags.cpp:1771 msgid "Scene Type" msgstr "Typ scény" #: src/properties.cpp:603 msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "EXIF značka 41729, 0xA301. Typ scény" # exif-cfapattern #: src/properties.cpp:604 src/tags.cpp:761 msgid "CFA Pattern" msgstr "vzorka CFA" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" "EXIF značka 41730, 0xA302. Geometrický vzor snímača obrázka poľa farebného " "filtra" # exif-customrendered #: src/properties.cpp:605 src/tags.cpp:1781 msgid "Custom Rendered" msgstr "ručné spracovanie obrazu" #: src/properties.cpp:605 msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "" "EXIF značka 41985, 0xA401. Použitie špeciálneho spracovania obrazových údajov" #: src/properties.cpp:606 msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "" "EXIF značka 41986, 0xA402. Táto značka označuje aký režim expozície bol " "zvolený pri odfotení obrázka." #: src/properties.cpp:607 msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "" "EXIF značka 41987, 0xA403. Táto značka označuje aký režim vyváženia bielej " "bol zvolený pri odfotení obrázka." # exif-digitalzoomratio #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 msgid "Digital Zoom Ratio" msgstr "pomer digitálneho priblíženia" #: src/properties.cpp:608 msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "" "EXIF značka 41988, 0xA404. Táto značka označuje aký pomer digitálneho " "priblíženia bol zvolený pri odfotení obrázka." # exif-focallengthin35mmfilm #: src/properties.cpp:609 src/tags.cpp:1800 msgid "Focal Length In 35mm Film" msgstr "ohnisková vzdialenosť na 35 mm filme" #: src/properties.cpp:609 msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" "EXIF značka 41989, 0xA405. Táto značka označuje ohniskovú vzdialenosť " "ekvivalentnú fotoaparátu s 35 mm filmom. Hodnota 0 znamená, že ohnisková " "vzdialenosť je neznáma. Všimnite si, že táto značka sa líši od značky " "FocalLength." # exif-scenecapturetype #: src/properties.cpp:612 src/tags.cpp:1806 msgid "Scene Capture Type" msgstr "typ zachytenia scény" #: src/properties.cpp:612 msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "EXIF značka 41990, 0xA406. Typ snímanej scény." #: src/properties.cpp:613 src/tags.cpp:1811 msgid "Gain Control" msgstr "Riadenie zosilnenia" #: src/properties.cpp:613 msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "" "EXIF značka 41991, 0xA407. Táto značka označuje stupeň celkového zosilnenia " "obrazu." #: src/properties.cpp:614 msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" "EXIF značka 41992, 0xA408. Táto značka označuje smer spracovania kontrastu, " "ktorý použil fotoaparát pri zachytení obrázka." #: src/properties.cpp:615 msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" "EXIF značka 41993, 0xA409. Táto značka označuje smer spracovania sýtosti, " "ktorý použil fotoaparát pri zachytení obrázka." #: src/properties.cpp:616 msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" "EXIF značka 41994, 0xA40A. Táto značka označuje smer spracovania ostrosti, " "ktorý použil fotoaparát pri zachytení obrázka." # exif-devicesettingdescription #: src/properties.cpp:617 src/tags.cpp:1826 msgid "Device Setting Description" msgstr "opis nastavení zariadenia" #: src/properties.cpp:617 msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" "EXIF značka 41995, 0xA40B. Táto značka označuje informácie o podmienkach " "fotografovania konkrétnym modelom fotoaparátu. Značka sa používa iba na " "označenie podmienok fotografovania v čítacom zariadení." # exif-subjectdistancerange #: src/properties.cpp:618 src/tags.cpp:1831 msgid "Subject Distance Range" msgstr "rozsah vzdialenosti subjektu" #: src/properties.cpp:618 msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "" "EXIF značka 41996, 0xA40C. Táto značka označuje vzdialenosť k subjektu." #: src/properties.cpp:619 src/tags.cpp:1834 msgid "Image Unique ID" msgstr "Jedinečný ID obrázka" #: src/properties.cpp:619 msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" "EXIF značka 42016, 0xA420. Táto značka označuje jedinečný identifikátor " "priradený každému obrázku. Je zaznamenaný ako ASCII reťazec zodpovedajúci " "hexadecimálnemu zápisu 128-bitového čísla." #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 msgid "GPS Version ID" msgstr "ID verzie GPS" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" # exif-gpslatitude #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "GPS zemepisná šírka" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "" # exif-gpslongitude #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "GPS zemepisná dĺžka" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "" # exif-gpsaltituderef #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 msgid "GPS Altitude Reference" msgstr "GPS referencia nadmorskej výšky" #: src/properties.cpp:625 src/properties.cpp:1168 #, fuzzy msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "GPS tag 6, 0x06. Udáva nadmorskú výšku v metroch." # exif-gpsaltitude #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "GPS nadmorská výška" #: src/properties.cpp:626 src/properties.cpp:1167 msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "GPS tag 6, 0x06. Udáva nadmorskú výšku v metroch." #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 #, fuzzy msgid "GPS Time Stamp" msgstr "Čas odoslania" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 msgid "GPS Satellites" msgstr "GPS satelity" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:634 src/tags.cpp:1989 msgid "GPS Status" msgstr "Stav GPS" #: src/properties.cpp:634 msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "" #: src/properties.cpp:635 src/tags.cpp:1994 msgid "GPS Measure Mode" msgstr "GPS Režim merania" #: src/properties.cpp:635 msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "" #: src/properties.cpp:636 msgid "GPS DOP" msgstr "GPS DOP" #: src/properties.cpp:636 #, fuzzy msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "Stupeň presnosti GPS údajov" # exif-gpsaltituderef #: src/properties.cpp:637 src/tags.cpp:2002 #, fuzzy msgid "GPS Speed Reference" msgstr "GPS referencia nadmorskej výšky" #: src/properties.cpp:637 msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "" #: src/properties.cpp:638 src/tags.cpp:2006 msgid "GPS Speed" msgstr "GPS rýchlosť" #: src/properties.cpp:638 #, fuzzy msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "Označuje rýchlosť pohybu GPS prijímača." #: src/properties.cpp:639 #, fuzzy msgid "GPS Track Reference" msgstr "GPS referencia zemepisnej šírky" #: src/properties.cpp:639 msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "" #: src/properties.cpp:640 src/tags.cpp:2013 msgid "GPS Track" msgstr "" #: src/properties.cpp:640 msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 #, fuzzy msgid "GPS Image Direction Reference" msgstr "GPS Smer obrázka" #: src/properties.cpp:641 msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "" #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 msgid "GPS Image Direction" msgstr "GPS Smer obrázka" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 #, fuzzy msgid "GPS Map Datum" msgstr "Stav GPS" #: src/properties.cpp:643 msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "" #: src/properties.cpp:644 src/tags.cpp:2033 #, fuzzy msgid "GPS Destination Latitude" msgstr "GPS Vzdialenosť cieľa" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" #: src/properties.cpp:645 src/tags.cpp:2045 #, fuzzy msgid "GPS Destination Longitude" msgstr "GPS Vzdialenosť cieľa" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" #: src/properties.cpp:646 src/tags.cpp:2052 #, fuzzy msgid "GPS Destination Bearing Reference" msgstr "GPS Vzdialenosť cieľa" #: src/properties.cpp:646 msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "" #: src/properties.cpp:647 src/tags.cpp:2056 #, fuzzy msgid "GPS Destination Bearing" msgstr "GPS Vzdialenosť cieľa" #: src/properties.cpp:647 msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "" #: src/properties.cpp:648 src/tags.cpp:2060 #, fuzzy msgid "GPS Destination Distance Reference" msgstr "GPS Vzdialenosť cieľa" #: src/properties.cpp:648 msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "" #: src/properties.cpp:649 src/tags.cpp:2064 msgid "GPS Destination Distance" msgstr "GPS Vzdialenosť cieľa" #: src/properties.cpp:649 #, fuzzy msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "EXIF značka 37382, 0x9206. Vzdialenosť subjektu v metroch." #: src/properties.cpp:650 src/tags.cpp:2067 msgid "GPS Processing Method" msgstr "GPS Metóda spracovania" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" #: src/properties.cpp:651 src/tags.cpp:2072 msgid "GPS Area Information" msgstr "GPS Informácie o oblasti" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "" #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "" #: src/properties.cpp:652 #, fuzzy msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "GPS tag 6, 0x06. Udáva nadmorskú výšku v metroch." #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "" #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "" #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "Kontaktné informácie tvorcu" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" #: src/properties.cpp:667 msgid "Contact Info-Address" msgstr "Kontaktné informácie- Adresa" #: src/properties.cpp:667 msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" #: src/properties.cpp:669 msgid "Contact Info-City" msgstr "Kontaktné informácie- Mesto" #: src/properties.cpp:669 #, fuzzy msgid "sub-key Creator Contact Info: city." msgstr "Kontaktné informácie tvorcu" #: src/properties.cpp:670 msgid "Contact Info-State/Province" msgstr "Kontaktné informácie- Štát/Provincia" #: src/properties.cpp:670 #, fuzzy msgid "sub-key Creator Contact Info: state or province." msgstr "Kontaktné informácie- Štát/Provincia" #: src/properties.cpp:671 msgid "Contact Info-Postal Code" msgstr "Kontaktné informácie- PSČ" #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "" #: src/properties.cpp:672 msgid "Contact Info-Country" msgstr "Kontaktné informácie- Krajina" #: src/properties.cpp:672 #, fuzzy msgid "sub-key Creator Contact Info: country." msgstr "Kontaktné informácie tvorcu" #: src/properties.cpp:673 msgid "Contact Info-Email" msgstr "Kontaktné informácie- E-mail" #: src/properties.cpp:673 #, fuzzy msgid "sub-key Creator Contact Info: email address." msgstr "Časť krajina kontaktných informácií." #: src/properties.cpp:674 msgid "Contact Info-Phone" msgstr "Kontaktné informácie- Tel. číslo" #: src/properties.cpp:674 #, fuzzy msgid "sub-key Creator Contact Info: phone number." msgstr "Kontaktné informácie tvorcu" #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "Kontaktné informácie- Web stránka" #: src/properties.cpp:675 #, fuzzy msgid "sub-key Creator Contact Info: web address." msgstr "Kontaktné informácie tvorcu" #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" #: src/properties.cpp:678 msgid "IPTC Scene" msgstr "IPTC Scéna" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" #: src/properties.cpp:680 msgid "IPTC Subject Code" msgstr "IPTC Kód subjektu" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" #: src/properties.cpp:682 msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" #: src/properties.cpp:687 msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" #: src/properties.cpp:696 #, fuzzy msgid "Additional model info" msgstr "Informácie o polohe automatického zaostrenia" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "" #: src/properties.cpp:697 msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "" #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" #: src/properties.cpp:699 #, fuzzy msgid "Model age" msgstr "Model" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "" #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "" #: src/properties.cpp:701 #, fuzzy msgid "Person shown" msgstr "Verzie" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "" #: src/properties.cpp:702 #, fuzzy msgid "Digital Image Identifier" msgstr "Stabilizácia obrazu" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "" #: src/properties.cpp:703 #, fuzzy msgid "The type of the source digital file." msgstr "Názov scény" #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 #, fuzzy msgid "Event" msgstr "Večer" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "" #: src/properties.cpp:705 #, fuzzy msgid "Maximum available height" msgstr "nedostupné" #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" # FUZZY exif-focallength #: src/properties.cpp:706 #, fuzzy msgid "Maximum available width" msgstr "Maximálna ohnisková vzdialenosť" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:707 #, fuzzy msgid "Registry Entry" msgstr "položka poľa" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" #: src/properties.cpp:708 #, fuzzy msgid "Registry Entry-Item Identifier" msgstr "položka poľa" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "" #: src/properties.cpp:710 #, fuzzy msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "Dátum a čas, kedy boli metadáta naposledy zmenené." #: src/properties.cpp:711 #, fuzzy msgid "Location shown" msgstr "Kód umiestnenia" #: src/properties.cpp:711 #, fuzzy msgid "A location shown in the image." msgstr "Posunutie náhľadu" #: src/properties.cpp:712 #, fuzzy msgid "Location Created" msgstr "Kód umiestnenia" #: src/properties.cpp:712 #, fuzzy msgid "The location the photo was taken." msgstr "Dátum, kedy bol titul vydaný" #: src/properties.cpp:713 #, fuzzy msgid "Location-City" msgstr "Umiestnenie" #: src/properties.cpp:713 #, fuzzy msgid "Name of the city of a location." msgstr "Meno autora alebo autorov" #: src/properties.cpp:714 #, fuzzy msgid "Location-Country ISO-Code" msgstr "Kód umiestnenia" #: src/properties.cpp:714 #, fuzzy msgid "The ISO code of a country of a location." msgstr "Meno autora alebo autorov" #: src/properties.cpp:715 #, fuzzy msgid "Location-Country Name" msgstr "Názov umiestnenia" #: src/properties.cpp:715 #, fuzzy msgid "The name of a country of a location." msgstr "Meno autora alebo autorov" #: src/properties.cpp:716 #, fuzzy msgid "Location-Province/State" msgstr "Provincia štátu" #: src/properties.cpp:716 #, fuzzy msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "Meno autora alebo autorov" #: src/properties.cpp:717 #, fuzzy msgid "Location-Sublocation" msgstr "Umiestnenie sub." #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" #: src/properties.cpp:718 #, fuzzy msgid "Location-World Region" msgstr "Kód umiestnenia" #: src/properties.cpp:718 #, fuzzy msgid "The name of a world region of a location." msgstr "Meno autora alebo autorov" #: src/properties.cpp:719 #, fuzzy msgid "Artwork or object in the image" msgstr "Oznam autorských práv" #: src/properties.cpp:719 msgid "A set of metadata about artwork or an object in the image." msgstr "" #: src/properties.cpp:720 #, fuzzy msgid "Artwork or object-Copyright notice" msgstr "Oznam autorských práv" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" #: src/properties.cpp:721 #, fuzzy msgid "Artwork or object-Creator" msgstr "Oznam autorských práv" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" #: src/properties.cpp:722 #, fuzzy msgid "Artwork or object-Date Created" msgstr "Oznam autorských práv" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" #: src/properties.cpp:723 #, fuzzy msgid "Artwork or object-Source" msgstr "Oznam autorských práv" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" #: src/properties.cpp:724 #, fuzzy msgid "Artwork or object-Source inventory number" msgstr "Oznam autorských práv" #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" #: src/properties.cpp:725 #, fuzzy msgid "Artwork or object-Title" msgstr "Oznam autorských práv" #: src/properties.cpp:725 msgid "A reference for the artwork or object in the image." msgstr "" #: src/properties.cpp:732 msgid "Scan from film" msgstr "" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "" #: src/properties.cpp:734 msgid "Scan from print" msgstr "" #: src/properties.cpp:735 #, fuzzy msgid "Camera RAW" msgstr "ID fotoaparátu" #: src/properties.cpp:736 #, fuzzy msgid "Camera TIFF" msgstr "ID fotoaparátu" #: src/properties.cpp:737 #, fuzzy msgid "Camera JPEG" msgstr "ID fotoaparátu" #: src/properties.cpp:742 #, fuzzy msgid "PLUS Version" msgstr "PDF verzia" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "" #: src/properties.cpp:743 #, fuzzy msgid "Licensee" msgstr "šošovky" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "" #: src/properties.cpp:744 #, fuzzy msgid "Licensee ID" msgstr "ID šošoviek" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "" #: src/properties.cpp:745 #, fuzzy msgid "Licensee Name" msgstr "Názov umiestnenia" #: src/properties.cpp:745 #, fuzzy msgid "Name of each Licensee." msgstr "Názov scény" #: src/properties.cpp:746 #, fuzzy msgid "End User" msgstr "externý" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "" #: src/properties.cpp:747 #, fuzzy msgid "End User ID" msgstr "externý" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "" #: src/properties.cpp:748 #, fuzzy msgid "End User Name" msgstr "Meno vlastníka" #: src/properties.cpp:748 #, fuzzy msgid "Name of each End User." msgstr "Názov scény" #: src/properties.cpp:749 #, fuzzy msgid "Licensor" msgstr "šošovky" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "" #: src/properties.cpp:750 #, fuzzy msgid "Licensor ID" msgstr "ID šošoviek" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "" #: src/properties.cpp:751 #, fuzzy msgid "Licensor Name" msgstr "Názov umiestnenia" #: src/properties.cpp:751 #, fuzzy msgid "Name of each Licensor." msgstr "Názov scény" #: src/properties.cpp:752 #, fuzzy msgid "Licensor Address" msgstr "Vlastnosti digiKam" #: src/properties.cpp:752 #, fuzzy msgid "Licensor street address." msgstr "Krajina" #: src/properties.cpp:753 #, fuzzy msgid "Licensor Address Detail" msgstr "Kontaktné informácie- PSČ" #: src/properties.cpp:753 #, fuzzy msgid "Additional Licensor mailing address details." msgstr "Informácie o polohe automatického zaostrenia" #: src/properties.cpp:754 #, fuzzy msgid "Licensor City" msgstr "Mexico City" #: src/properties.cpp:754 #, fuzzy msgid "Licensor City name." msgstr "Krajina" #: src/properties.cpp:755 #, fuzzy msgid "Licensor State or Province" msgstr "Štát/provincia" #: src/properties.cpp:755 #, fuzzy msgid "Licensor State or Province name." msgstr "Štát/provincia" #: src/properties.cpp:756 #, fuzzy msgid "Licensor Postal Code" msgstr "Kontaktné informácie- PSČ" #: src/properties.cpp:756 #, fuzzy msgid "Licensor Postal Code or Zip Code." msgstr "Kontaktné informácie- PSČ" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country" msgstr "Krajina" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country name." msgstr "Krajina" #: src/properties.cpp:758 #, fuzzy msgid "Licensor Telephone Type 1" msgstr "Sériové číslo fotoaparátu" #: src/properties.cpp:758 #, fuzzy msgid "Licensor Telephone Type 1." msgstr "Sériové číslo fotoaparátu" #: src/properties.cpp:759 #, fuzzy msgid "Licensor Telephone 1" msgstr "Sériové číslo fotoaparátu" #: src/properties.cpp:759 #, fuzzy msgid "Licensor Telephone number 1." msgstr "Sériové číslo fotoaparátu" #: src/properties.cpp:760 #, fuzzy msgid "Licensor Telephone Type 2" msgstr "Sériové číslo fotoaparátu" #: src/properties.cpp:760 #, fuzzy msgid "Licensor Telephone Type 2." msgstr "Sériové číslo fotoaparátu" #: src/properties.cpp:761 #, fuzzy msgid "Licensor Telephone 2" msgstr "Sériové číslo fotoaparátu" #: src/properties.cpp:761 #, fuzzy msgid "Licensor Telephone number 2." msgstr "Sériové číslo fotoaparátu" #: src/properties.cpp:762 #, fuzzy msgid "Licensor Email" msgstr "Názov umiestnenia" #: src/properties.cpp:762 #, fuzzy msgid "Licensor Email address." msgstr "Kontaktné informácie- PSČ" #: src/properties.cpp:763 #, fuzzy msgid "Licensor URL" msgstr "Posledný URL" #: src/properties.cpp:763 msgid "Licensor world wide web address." msgstr "" #: src/properties.cpp:764 #, fuzzy msgid "Licensor Notes" msgstr "Vlastnosti digiKam" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" #: src/properties.cpp:765 #, fuzzy msgid "PLUS Media Summary Code" msgstr "GPS Režim merania" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" #: src/properties.cpp:766 #, fuzzy msgid "License Start Date" msgstr "Dátum Minolta" #: src/properties.cpp:766 #, fuzzy msgid "The date on which the license takes effect." msgstr "Dátum a čas, kedy bolo video nasnímané." #: src/properties.cpp:767 #, fuzzy msgid "License End Date" msgstr "Údaje šošoviek" #: src/properties.cpp:767 #, fuzzy msgid "The date on which the license expires." msgstr "Názov scény" #: src/properties.cpp:768 #, fuzzy msgid "Media Constraints" msgstr "Kontrast" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" #: src/properties.cpp:769 #, fuzzy msgid "Region Constraints" msgstr "Kontrast" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" #: src/properties.cpp:770 #, fuzzy msgid "Product or Service Constraints" msgstr "Automatický kontrast" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" #: src/properties.cpp:771 #, fuzzy msgid "Image File Constraints" msgstr "Nastavenie veľkosti obrázka" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "" #: src/properties.cpp:772 #, fuzzy msgid "Image Alteration Constraints" msgstr "Nastavenie kvality obrázka" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" #: src/properties.cpp:773 #, fuzzy msgid "Image Duplication Constraints" msgstr "Nastavenie kvality obrázka" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "" #: src/properties.cpp:774 #, fuzzy msgid "Model Release Status" msgstr "Dátum vydania" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" #: src/properties.cpp:775 #, fuzzy msgid "Model Release ID" msgstr "ID modelu" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "" #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "" #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "" #: src/properties.cpp:777 #, fuzzy msgid "Property Release Status" msgstr "Dátum vydania" #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" #: src/properties.cpp:778 #, fuzzy msgid "Property Release ID" msgstr "ID modelu" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "" #: src/properties.cpp:779 #, fuzzy msgid "Other Constraints" msgstr "Automatický kontrast" #: src/properties.cpp:779 #, fuzzy msgid "Additional constraints on the license." msgstr "Informácie o polohe automatického zaostrenia" #: src/properties.cpp:780 #, fuzzy msgid "Credit Line Required" msgstr "Nepoužité" #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "" #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "" #: src/properties.cpp:782 #, fuzzy msgid "Other License Requirements" msgstr "Info o šošovkách" #: src/properties.cpp:782 #, fuzzy msgid "Additional license requirements." msgstr "Informácie o polohe automatického zaostrenia" #: src/properties.cpp:783 #, fuzzy msgid "Terms and Conditions Text" msgstr "Podmienky zachytenia obrázka" #: src/properties.cpp:783 msgid "Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:784 #, fuzzy msgid "Terms and Conditions URL" msgstr "Podmienky zachytenia obrázka" #: src/properties.cpp:784 msgid "URL for Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:785 #, fuzzy msgid "Other License Conditions" msgstr "Podmienky zachytenia obrázka" #: src/properties.cpp:785 #, fuzzy msgid "Additional license conditions." msgstr "Informácie o polohe automatického zaostrenia" #: src/properties.cpp:786 #, fuzzy msgid "Identifies the type of image delivered." msgstr "Identifikácia poskytovateľa a produktu" #: src/properties.cpp:787 #, fuzzy msgid "Licensor Image ID" msgstr "ID šošoviek" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "" #: src/properties.cpp:788 #, fuzzy msgid "Image File Name As Delivered" msgstr "Súvisiaci formát súboru obrázka" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "" #: src/properties.cpp:789 #, fuzzy msgid "Image File Format As Delivered" msgstr "Súvisiaci formát súboru obrázka" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "" #: src/properties.cpp:790 #, fuzzy msgid "Image File Size As Delivered" msgstr "Súvisiaci formát súboru obrázka" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "" #: src/properties.cpp:791 #, fuzzy msgid "Copyright Status" msgstr "Copyright" #: src/properties.cpp:791 #, fuzzy msgid "Copyright status of the image." msgstr "Oznam autorských práv" #: src/properties.cpp:792 #, fuzzy msgid "Copyright Registration Number" msgstr "Meno vlastníka" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" #: src/properties.cpp:793 #, fuzzy msgid "First Publication Date" msgstr "Dátum digitalizácie" #: src/properties.cpp:793 #, fuzzy msgid "The date on which the image was first published." msgstr "Dátum, kedy bol titul vydaný" #: src/properties.cpp:794 #, fuzzy msgid "Copyright Owner" msgstr "Copyright" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "" #: src/properties.cpp:795 #, fuzzy msgid "Copyright Owner ID" msgstr "Copyright" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "" #: src/properties.cpp:796 #, fuzzy msgid "Copyright Owner Name" msgstr "Meno vlastníka" #: src/properties.cpp:796 #, fuzzy msgid "Name of Copyright Owner." msgstr "Copyright" #: src/properties.cpp:797 #, fuzzy msgid "Copyright Owner Image ID" msgstr "Copyright" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "" #: src/properties.cpp:798 #, fuzzy msgid "Image Creator" msgstr "Orientácia obrázka" #: src/properties.cpp:798 #, fuzzy msgid "Creator/s of the image." msgstr "Posunutie náhľadu" #: src/properties.cpp:799 #, fuzzy msgid "Image Creator ID" msgstr "Orientácia obrázka" #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "" #: src/properties.cpp:800 #, fuzzy msgid "Image Creator Name" msgstr "Tón obrázka" #: src/properties.cpp:800 #, fuzzy msgid "Name of Image Creator." msgstr "Počet obrázkov" #: src/properties.cpp:801 #, fuzzy msgid "Image Creator Image ID" msgstr "Orientácia obrázka" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "" #: src/properties.cpp:802 #, fuzzy msgid "Image Supplier ID" msgstr "Jedinečný ID obrázka" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "" #: src/properties.cpp:803 #, fuzzy msgid "Image Supplier Name" msgstr "Veľkosť obrázka" #: src/properties.cpp:803 #, fuzzy msgid "Name of Image Supplier." msgstr "Počet obrázkov" #: src/properties.cpp:804 #, fuzzy msgid "Image Supplier Image ID" msgstr "Jedinečný ID obrázka" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "" #: src/properties.cpp:805 #, fuzzy msgid "Licensee Image ID" msgstr "Zmazať počet obrázkov" #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "" #: src/properties.cpp:806 #, fuzzy msgid "Licensee Image Notes" msgstr "Zmazať počet obrázkov" #: src/properties.cpp:806 #, fuzzy msgid "Notes added by Licensee." msgstr "Názov scény" #: src/properties.cpp:807 #, fuzzy msgid "Other Image Info" msgstr "Info o šošovkách" #: src/properties.cpp:807 #, fuzzy msgid "Additional image information." msgstr "Informácie o polohe automatického zaostrenia" #: src/properties.cpp:808 #, fuzzy msgid "License ID" msgstr "ID šošoviek" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "" #: src/properties.cpp:809 #, fuzzy msgid "Licensor Transaction ID" msgstr "Dátum expirácie" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "" #: src/properties.cpp:810 #, fuzzy msgid "Licensee Transaction ID" msgstr "Dátum expirácie" #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" #: src/properties.cpp:811 msgid "Licensee Project Reference" msgstr "" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "" #: src/properties.cpp:812 #, fuzzy msgid "License Transaction Date" msgstr "Dátum expirácie" #: src/properties.cpp:812 #, fuzzy msgid "The date of the License Transaction." msgstr "Názov scény" #: src/properties.cpp:813 #, fuzzy msgid "Reuse" msgstr "použité" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" #: src/properties.cpp:814 #, fuzzy msgid "Other License Documents" msgstr "Podmienky zachytenia obrázka" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "" #: src/properties.cpp:815 #, fuzzy msgid "Other License Info" msgstr "Info o šošovkách" #: src/properties.cpp:815 #, fuzzy msgid "Additional license information." msgstr "Informácie o polohe automatického zaostrenia" #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "" #: src/properties.cpp:819 #, fuzzy msgid "Custom 4" msgstr "Vlastný 1" #: src/properties.cpp:820 #, fuzzy msgid "Custom 5" msgstr "Vlastný 1" #: src/properties.cpp:821 #, fuzzy msgid "Custom 6" msgstr "Vlastný 1" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "" #: src/properties.cpp:822 #, fuzzy msgid "Custom 7" msgstr "Vlastný 1" #: src/properties.cpp:823 #, fuzzy msgid "Custom 8" msgstr "Vlastný 1" #: src/properties.cpp:824 #, fuzzy msgid "Custom 9" msgstr "Vlastný 1" #: src/properties.cpp:825 #, fuzzy msgid "Custom 10" msgstr "Vlastný 1" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "" #: src/properties.cpp:833 #, fuzzy msgid "Not Required" msgstr "Nepoužité" #: src/properties.cpp:839 #, fuzzy msgid "Protected" msgstr "Identifikačné číslo výrobku" #: src/properties.cpp:840 msgid "Public Domain" msgstr "" #: src/properties.cpp:846 #, fuzzy msgid "Credit Adjacent To Image" msgstr "Zobraziť vložený obrázok" #: src/properties.cpp:847 msgid "Credit in Credits Area" msgstr "" #: src/properties.cpp:848 #, fuzzy msgid "Credit on Image" msgstr "Zobraziť vložený obrázok" #: src/properties.cpp:849 #, fuzzy msgid "Not Require" msgstr "nedefinované" #: src/properties.cpp:854 #, fuzzy msgid "No Colorization" msgstr "Solarizácia" #: src/properties.cpp:855 msgid "No Cropping" msgstr "" #: src/properties.cpp:856 #, fuzzy msgid "No De-Colorization" msgstr "Solarizácia" #: src/properties.cpp:857 msgid "No Flipping" msgstr "" #: src/properties.cpp:858 #, fuzzy msgid "No Merging" msgstr "Redukcia šumu" #: src/properties.cpp:859 #, fuzzy msgid "No Retouching" msgstr "Redukcia šumu" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "" #: src/properties.cpp:865 #, fuzzy msgid "No Duplication Constraints" msgstr "Nastavenie kvality obrázka" #: src/properties.cpp:866 #, fuzzy msgid "No Duplication" msgstr "Trvanie zvuku" #: src/properties.cpp:871 #, fuzzy msgid "Maintain File Name" msgstr "Názov nespracovaného súboru" #: src/properties.cpp:872 #, fuzzy msgid "Maintain File Type" msgstr "Názov nespracovaného súboru" #: src/properties.cpp:873 #, fuzzy msgid "Maintain ID in File Name" msgstr "Názov nespracovaného pôvodného súboru" #: src/properties.cpp:874 #, fuzzy msgid "Maintain Metadata" msgstr "Dátum Minolta" #: src/properties.cpp:879 #, fuzzy msgid "Windows Bitmap (BMP)" msgstr "Názov okna" #: src/properties.cpp:880 msgid "Digital Negative (DNG)" msgstr "" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "" # exif-jpeginterchangeformat #: src/properties.cpp:882 #, fuzzy msgid "Graphics Interchange Format (GIF)" msgstr "formát JPEG" # exif-jpeginterchangeformat #: src/properties.cpp:883 #, fuzzy msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "formát JPEG" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "" #: src/properties.cpp:889 #, fuzzy msgid "Tagged Image File Format (TIFF)" msgstr "Súvisiaci formát súboru obrázka" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "" #: src/properties.cpp:896 #, fuzzy msgid "Up to 1 MB" msgstr "Optio A10" #: src/properties.cpp:897 #, fuzzy msgid "Up to 10 MB" msgstr "Optio A10" #: src/properties.cpp:898 #, fuzzy msgid "Up to 30 MB" msgstr "Optio 30" #: src/properties.cpp:899 #, fuzzy msgid "Up to 50 MB" msgstr "Optio S50" #: src/properties.cpp:904 #, fuzzy msgid "Illustrated Image" msgstr "Šírka súvisiaceho obrázka" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "" #: src/properties.cpp:913 msgid "Cell" msgstr "" #: src/properties.cpp:914 msgid "FAX" msgstr "" #: src/properties.cpp:916 #, fuzzy msgid "Pager" msgstr "Manažér" #: src/properties.cpp:917 msgid "Work" msgstr "" #: src/properties.cpp:922 #, fuzzy msgid "Age Unknown" msgstr "Neznáme" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "" #: src/properties.cpp:924 msgid "Age 24" msgstr "" #: src/properties.cpp:925 msgid "Age 23" msgstr "" #: src/properties.cpp:926 msgid "Age 22" msgstr "" #: src/properties.cpp:927 msgid "Age 21" msgstr "" #: src/properties.cpp:928 msgid "Age 20" msgstr "" #: src/properties.cpp:929 msgid "Age 19" msgstr "" #: src/properties.cpp:930 msgid "Age 18" msgstr "" #: src/properties.cpp:931 msgid "Age 17" msgstr "" #: src/properties.cpp:932 msgid "Age 16" msgstr "" #: src/properties.cpp:933 msgid "Age 15" msgstr "" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "" #: src/properties.cpp:941 #, fuzzy msgid "Unlimited Model Releases" msgstr "ID modelu" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "" #: src/properties.cpp:949 msgid "Unlimited Property Releases" msgstr "" #: src/properties.cpp:950 msgid "Limited or Incomplete Property Releases" msgstr "" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "" #: src/properties.cpp:960 src/properties.cpp:969 #, fuzzy msgid "Fixture Identification" msgstr "Model" #: src/properties.cpp:961 src/properties.cpp:970 #, fuzzy msgid "Status" msgstr "Stav GPS" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "" #: src/properties.cpp:962 src/properties.cpp:971 msgid "People" msgstr "" #: src/properties.cpp:963 src/properties.cpp:972 #, fuzzy msgid "Catalog Sets" msgstr "Číslo intervalu" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "" #: src/properties.cpp:978 #, fuzzy msgid "RegionInfo" msgstr "Info o šošovkách" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "" #: src/properties.cpp:984 src/properties.cpp:1000 #, fuzzy msgid "Regions" msgstr "Verzie" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "" #: src/properties.cpp:985 #, fuzzy msgid "Date Regions Valid" msgstr "Dátum a čas zhotovenia" #: src/properties.cpp:985 #, fuzzy msgid "Date the last region was created" msgstr "Dátum, kedy bol titul vydaný" #: src/properties.cpp:991 #, fuzzy msgid "Person Display Name" msgstr "Názvy plôch" #: src/properties.cpp:991 msgid "Name of the person (in the given rectangle)" msgstr "" #: src/properties.cpp:992 msgid "Rectangle" msgstr "" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "" #: src/properties.cpp:993 #, fuzzy msgid "Person Email Digest" msgstr "Názov nespracovaného pôvodného súboru" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "" #: src/properties.cpp:994 msgid "Person LiveId CID" msgstr "" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "" #: src/properties.cpp:1001 #, fuzzy msgid "Applied To Dimensions" msgstr "Vodorovný rozmer pixelu" #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "" #: src/properties.cpp:1002 #, fuzzy msgid "Region List" msgstr "Verzie" #: src/properties.cpp:1002 #, fuzzy msgid "List of Region structures" msgstr "Štruktúra verzie" #: src/properties.cpp:1003 #, fuzzy msgid "Area" msgstr "rozsah zaostrenia" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" #: src/properties.cpp:1007 #, fuzzy msgid "Focus Usage" msgstr "Rozsah zaostrenia" #: src/properties.cpp:1008 #, fuzzy msgid "Bar Code Value" msgstr "Krok viacnásobného záberu" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "" #: src/properties.cpp:1009 #, fuzzy msgid "Extensions" msgstr "Verzie" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "" #: src/properties.cpp:1015 msgid "Main structure containing keyword based information" msgstr "" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "" #: src/properties.cpp:1016 #, fuzzy msgid "List of root keyword structures" msgstr "Štruktúra verzie" #: src/properties.cpp:1017 #, fuzzy msgid "Keyword" msgstr "Kľúčové slová" #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "" #: src/properties.cpp:1018 msgid "Applied" msgstr "" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" #: src/properties.cpp:1019 #, fuzzy msgid "List of children keyword structures" msgstr "Štruktúra verzie" #: src/properties.cpp:1026 #, fuzzy msgid "Use Panorama Viewer" msgstr "panoráma" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" #: src/properties.cpp:1027 #, fuzzy msgid "Capture Software" msgstr "Dáta snímania" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" #: src/properties.cpp:1028 #, fuzzy msgid "Stitching Software" msgstr "Softvér použitý na spracovanie" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" #: src/properties.cpp:1029 #, fuzzy msgid "Projection Type" msgstr "Typ objektu" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "" #: src/properties.cpp:1034 #, fuzzy msgid "The pitch angle of the initial view in degrees." msgstr "Vzdialenosť subjektu v metroch." #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" #: src/properties.cpp:1037 #, fuzzy msgid "First Photo Date" msgstr "Dátum digitalizácie" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "" #: src/properties.cpp:1038 #, fuzzy msgid "Last Photo Date" msgstr "Dátum záberu" #: src/properties.cpp:1038 #, fuzzy msgid "Date and time for the last image created in the panorama." msgstr "Dátum a čas, kedy boli metadáta naposledy zmenené." #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "" #: src/properties.cpp:1040 #, fuzzy msgid "Exposure Lock Used" msgstr "Režim expozície" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" #: src/properties.cpp:1041 #, fuzzy msgid "Cropped Area Image Width Pixels" msgstr "Šírka obrázka" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" #: src/properties.cpp:1042 #, fuzzy msgid "Cropped Area Image Height Pixels" msgstr "Výška obrázka" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" #: src/properties.cpp:1047 #, fuzzy msgid "Initial Camera Dolly" msgstr "Jedinečný model fotoaparátu" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" #: src/properties.cpp:1055 #, fuzzy msgid "Archival Location" msgstr "Miesto záberu" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "" #: src/properties.cpp:1056 #, fuzzy msgid "Arranger" msgstr "V diaľke" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "" #: src/properties.cpp:1057 #, fuzzy msgid "Arranger Keywords" msgstr "Kľúčové slová" #: src/properties.cpp:1057 msgid "Information about the Arranger Keywords." msgstr "" #: src/properties.cpp:1059 #, fuzzy msgid "Video Aspect Ratio" msgstr "Trvanie zvuku" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "" #: src/properties.cpp:1060 #, fuzzy msgid "Video Aspect Ratio Type" msgstr "Trvanie zvuku" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "" #: src/properties.cpp:1062 #, fuzzy msgid "Attached File Description" msgstr "Popis obrázka" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "" #: src/properties.cpp:1064 #, fuzzy msgid "Attached File Name" msgstr "Názov nespracovaného súboru" #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "" #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" #: src/properties.cpp:1068 #, fuzzy msgid "Brightness setting." msgstr "Nastavenie zaostrenia" #: src/properties.cpp:1069 #, fuzzy msgid "Camera Byte Order" msgstr "Endianita" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "" #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "" #: src/properties.cpp:1070 #, fuzzy msgid "The video Cinematographer information." msgstr "Informácie o autorských právach" #: src/properties.cpp:1071 #, fuzzy msgid "Clean Aperture Width" msgstr "Max. clona" #: src/properties.cpp:1071 #, fuzzy msgid "Clean aperture width in pixels" msgstr "maximálna clona pri minimálnom ohnisku" #: src/properties.cpp:1072 #, fuzzy msgid "Clean Aperture Height" msgstr "Režim AZ" #: src/properties.cpp:1072 #, fuzzy msgid "Clean aperture height in pixels" msgstr "maximálna clona pri minimálnom ohnisku" #: src/properties.cpp:1073 #, fuzzy msgid "Video Codec" msgstr "Kompresia videa" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" #: src/properties.cpp:1074 msgid "Video Codec Decode Info" msgstr "" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" # exif-devicesettingdescription #: src/properties.cpp:1075 #, fuzzy msgid "Video Codec Description" msgstr "opis nastavení zariadenia" #: src/properties.cpp:1075 src/properties.cpp:1403 msgid "Contains description the codec." msgstr "" #: src/properties.cpp:1076 #, fuzzy msgid "Video Codec Information" msgstr "Konfigurácia obrázka" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL" msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL." msgstr "" #: src/properties.cpp:1078 #, fuzzy msgid "Video Codec Settings" msgstr "Nastavenie režimu jazda autom" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1083 #, fuzzy msgid "Comment" msgstr "Komentár denníka" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned" msgstr "Kompresia" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned." msgstr "Kompresia" #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1086 msgid "Information about the Composer." msgstr "" #: src/properties.cpp:1087 #, fuzzy msgid "Composer Keywords" msgstr "Windows kľúčové slová" #: src/properties.cpp:1087 msgid "Information about the Composer Keywords." msgstr "" #: src/properties.cpp:1088 #, fuzzy msgid "Compressor" msgstr "Kompresia" #: src/properties.cpp:1088 #, fuzzy msgid "Video Compression Library Used" msgstr "Kompresia videa" #: src/properties.cpp:1089 #, fuzzy msgid "Video Compressor ID" msgstr "Kompresia videa" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "" #: src/properties.cpp:1090 #, fuzzy msgid "Compressor Version" msgstr "Kompresia" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "" #: src/properties.cpp:1091 #, fuzzy msgid "Container Type" msgstr "Zmačka fotoaparátu" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "" #: src/properties.cpp:1092 #, fuzzy msgid "Content Compression Algorithm" msgstr "Kompresný pomer" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "" #: src/properties.cpp:1097 #, fuzzy msgid "Indicates the direction of contrast processing applied by the camera." msgstr "" "EXIF značka 41992, 0xA408. Táto značka označuje smer spracovania kontrastu, " "ktorý použil fotoaparát pri zachytení obrázka." #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "" #: src/properties.cpp:1100 #, fuzzy msgid "Name of the country where the video was created." msgstr "Dátum, kedy bol titul vydaný" #: src/properties.cpp:1101 #, fuzzy msgid "Creation Date" msgstr "Dátum vytvorenia" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" #: src/properties.cpp:1103 #, fuzzy msgid "Pixel Crop Bottom" msgstr "Orezať dolu" #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "" #: src/properties.cpp:1104 #, fuzzy msgid "Pixel Crop Left" msgstr "Orezať vľavo" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "" #: src/properties.cpp:1105 #, fuzzy msgid "Pixel Crop Right" msgstr "Orezať vpravo" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "" #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "" #: src/properties.cpp:1107 #, fuzzy msgid "Pixel Crop Top" msgstr "Orezať vrch" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "" #: src/properties.cpp:1108 #, fuzzy msgid "Current Time" msgstr "Aktuálny ICC profil" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "" #: src/properties.cpp:1109 #, fuzzy msgid "Data Packets" msgstr "Oblasť dát" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "" #: src/properties.cpp:1110 #, fuzzy msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "Dátum a čas, kedy boli metadáta naposledy zmenené." #: src/properties.cpp:1111 #, fuzzy msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" "EXIF značka 36868, 0x9004 (primárny) a 37522, 0x9292 (podsekundy). Dátum a " "čas, kedy bol obrázok uložený ako digitálne údaje. Môže byť rovnaký ako " "DateTimeOriginal ak bol obrázok pôvodne uložený v digitálnej forme. Ukladá " "sa vo formáte ISO 8601. Vrátane údajov EXIF SubSecTimeOriginal." #: src/properties.cpp:1113 #, fuzzy msgid "Date-Time Original" msgstr "Dátum a čas zhotovenia" #: src/properties.cpp:1113 #, fuzzy msgid "Contains the production date" msgstr "Redukcia farebného šumu" #: src/properties.cpp:1114 msgid "Video Track Default On" msgstr "" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1115 #, fuzzy msgid "Indicates the digital zoom ratio when the video was shot." msgstr "" "EXIF značka 41988, 0xA404. Táto značka označuje aký pomer digitálneho " "priblíženia bol zvolený pri odfotení obrázka." #: src/properties.cpp:1116 #, fuzzy msgid "Dimensions" msgstr "Verzie" #: src/properties.cpp:1116 msgid "Information about the Dimensions of the video frame." msgstr "" #: src/properties.cpp:1117 #, fuzzy msgid "Director" msgstr "Pôvodca" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "" #: src/properties.cpp:1118 msgid "Video Display Unit" msgstr "" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1120 #, fuzzy msgid "Doc Type" msgstr "Typ zaostrenia" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" #: src/properties.cpp:1121 #, fuzzy msgid "Doc Type Read Version" msgstr "Verzia záznamu" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" #: src/properties.cpp:1122 #, fuzzy msgid "Doc Type Version" msgstr "Verzia modelu" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "" #: src/properties.cpp:1124 #, fuzzy msgid "The duration of the media file. Measured in milli-seconds." msgstr "Názov scény" #: src/properties.cpp:1125 #, fuzzy msgid "EBML Read Version" msgstr "Verzia záznamu" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "" #: src/properties.cpp:1126 #, fuzzy msgid "EBML Version" msgstr "Verzia ARM" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "" #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "" #: src/properties.cpp:1136 msgid "Edited By" msgstr "" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1137 #, fuzzy msgid "Video Track Enabled" msgstr "Počet snímok za sekundu vo videu" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels width in pixels" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "" #: src/properties.cpp:1141 msgid "Encoder" msgstr "" #: src/properties.cpp:1141 msgid "Information about the Encoder." msgstr "" #: src/properties.cpp:1142 #, fuzzy msgid "End Timecode" msgstr "Kód času začiatku" #: src/properties.cpp:1143 msgid "Engineer, in most cases name of person." msgstr "" #: src/properties.cpp:1144 #, fuzzy msgid "Equipment" msgstr "Info o vybavení" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "" #: src/properties.cpp:1145 #, fuzzy msgid "Exposure Compensation Information." msgstr "Kompenzácia expozície" #: src/properties.cpp:1146 #, fuzzy msgid "Exposure Program Information." msgstr "Režim expozície" #: src/properties.cpp:1147 #, fuzzy msgid "Exposure time in seconds." msgstr "Čas expozície v sekundách (sek)." # exif-devicesettingdescription #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description" msgstr "opis nastavení zariadenia" # exif-devicesettingdescription #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description, usually found in ASF type files." msgstr "opis nastavení zariadenia" #: src/properties.cpp:1150 #, fuzzy msgid "File ID" msgstr "Súbor" #: src/properties.cpp:1150 #, fuzzy msgid "File ID." msgstr "Súbor" #: src/properties.cpp:1151 #, fuzzy msgid "File Length" msgstr "Dĺžka dlaždice" #: src/properties.cpp:1151 #, fuzzy msgid "File length." msgstr "Dĺžka dlaždice" #: src/properties.cpp:1152 #, fuzzy msgid "File Name" msgstr "Názov súboru" #: src/properties.cpp:1152 msgid "File Name or Absolute File Path" msgstr "" #: src/properties.cpp:1153 #, fuzzy msgid "File Size" msgstr "Veľkosť súboru" #: src/properties.cpp:1153 #, fuzzy msgid "File Size, in MB" msgstr "Veľkosť súboru" #: src/properties.cpp:1154 #, fuzzy msgid "File Type" msgstr "Nový typ podsúboru" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "" #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "" #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "" #: src/properties.cpp:1158 #, fuzzy msgid "Focal length of the lens, in millimeters." msgstr "" "EXIF značka 37386, 0x920A. Ohnisková vzdialenosť šošoviek v milimetroch" #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "" #: src/properties.cpp:1161 #, fuzzy msgid "Frame Count" msgstr "Počet obrázkov" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "" #: src/properties.cpp:1162 #, fuzzy msgid "Frame Height" msgstr "Režim AZ" #: src/properties.cpp:1162 msgid "Height of frames in a video" msgstr "" #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" #: src/properties.cpp:1165 #, fuzzy msgid "Frame Width" msgstr "Režim AZ" #: src/properties.cpp:1165 msgid "Width of frames in a video" msgstr "" #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "" #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "" #: src/properties.cpp:1171 msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:1172 #, fuzzy msgid "Reference for image direction." msgstr "smer panorámy" #: src/properties.cpp:1173 msgid "(North/South). Indicates latitude." msgstr "" #: src/properties.cpp:1174 msgid "(East/West). Indicates longitude." msgstr "" #: src/properties.cpp:1175 msgid "Geodetic survey data." msgstr "" #: src/properties.cpp:1176 msgid "Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:1177 #, fuzzy msgid "Time stamp of GPS data, " msgstr "Časová známka metadáta s kľúčom" #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "" #: src/properties.cpp:1179 #, fuzzy msgid "Graphics Mode" msgstr "Jednoduchý režim" #: src/properties.cpp:1179 msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" #: src/properties.cpp:1181 msgid "Grouping" msgstr "" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 #, fuzzy msgid "Handler Description" msgstr "Popis obrázka" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 #, fuzzy msgid "Handler Type" msgstr "Typ mierky" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Handler Vendor ID" msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 #, fuzzy msgid "Component manufacturer." msgstr "Výrobca šošoviek." #: src/properties.cpp:1186 #, fuzzy msgid "Video Height" msgstr "Čistenie snímača" #: src/properties.cpp:1186 src/properties.cpp:1309 msgid "Video height in pixels" msgstr "" #: src/properties.cpp:1187 #, fuzzy msgid "Hue Adjustment Settings Information." msgstr "Nastavenia úprav obrázka" #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "" #: src/properties.cpp:1189 msgid "Information Banner Image." msgstr "" #: src/properties.cpp:1190 #, fuzzy msgid "Info Banner URL" msgstr "Základné URL" #: src/properties.cpp:1190 msgid "Information Banner URL." msgstr "" #: src/properties.cpp:1191 #, fuzzy msgid "Information" msgstr "Informácie o snímke" #: src/properties.cpp:1191 #, fuzzy msgid "Additional Movie Information." msgstr "Informácie o polohe automatického zaostrenia" #: src/properties.cpp:1192 #, fuzzy msgid "Info Text" msgstr "Text" #: src/properties.cpp:1192 #, fuzzy msgid "Information Text." msgstr "Informácie o snímke" #: src/properties.cpp:1193 #, fuzzy msgid "Info URL" msgstr "Posledný URL" #: src/properties.cpp:1193 #, fuzzy msgid "Information URL." msgstr "Informácie o snímke" #: src/properties.cpp:1194 msgid "Information about the ISO Setting." msgstr "" #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "" #: src/properties.cpp:1196 #, fuzzy msgid "Junk Data" msgstr "Údaje šošoviek" #: src/properties.cpp:1196 msgid "Video Junk data" msgstr "" #: src/properties.cpp:1197 #, fuzzy msgid "Language." msgstr "Jazyk" #: src/properties.cpp:1198 #, fuzzy msgid "Length" msgstr "Ohnisková vzdialenosť" #: src/properties.cpp:1198 #, fuzzy msgid "The length of the media file." msgstr "Názov scény" #: src/properties.cpp:1200 #, fuzzy msgid "Lens Type." msgstr "Typ šošpviek" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness" msgstr "Jas" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness." msgstr "Jas" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information" msgstr "Informácie o snímke" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information." msgstr "Informácie o snímke" #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "" #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "" #: src/properties.cpp:1204 #, fuzzy msgid "Logo URL" msgstr "Posledný URL" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "" #: src/properties.cpp:1205 msgid "Lyrics" msgstr "" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "" #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "" #: src/properties.cpp:1207 #, fuzzy msgid "Equipment Make" msgstr "Info o vybavení" #: src/properties.cpp:1207 msgid "Manufacturer of recording equipment" msgstr "" #: src/properties.cpp:1208 #, fuzzy msgid "Camera Maker Note Type" msgstr "Zmačka fotoaparátu" #: src/properties.cpp:1208 msgid "Maker Note Type of the camera." msgstr "" #: src/properties.cpp:1209 #, fuzzy msgid "Camera Maker Note Version" msgstr "Poznámky zhotoviteľa - verzia" #: src/properties.cpp:1209 #, fuzzy msgid "Maker Note Version of the camera." msgstr "Poznámky zhotoviteľa - verzia" #: src/properties.cpp:1210 #, fuzzy msgid "Maker URL" msgstr "Základné URL" #: src/properties.cpp:1210 #, fuzzy msgid "Camera Manufacturer's URL." msgstr "Výrobca šošoviek." #: src/properties.cpp:1211 #, fuzzy msgid "Smallest F number of lens, in APEX." msgstr "" "EXIF značka 37381, 0x9205. Najmenšie číslo F šošoviek, jednotka je APEX." #: src/properties.cpp:1212 #, fuzzy msgid "Maximum Bit Rate" msgstr "Maximálna hodnota clony" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" #: src/properties.cpp:1213 #, fuzzy msgid "Maximum Data Rate" msgstr "Dátum Minolta" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 #, fuzzy msgid "Media Track Create Date" msgstr "Dátum vytvorenia" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 #, fuzzy msgid "Media Track Duration" msgstr "Trvanie zvuku" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 #, fuzzy msgid "Media Header Version" msgstr "Verzia modelu" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 #, fuzzy msgid "Media Language Code" msgstr "GPS Režim merania" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 #, fuzzy msgid "Media Track Modify Date" msgstr "Dátum (metadáta)" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" #: src/properties.cpp:1220 #, fuzzy msgid "Medium." msgstr "Stredný" #: src/properties.cpp:1221 #, fuzzy msgid "Metadata" msgstr "Dátum (metadáta)" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1222 #, fuzzy msgid "Metadata Library" msgstr "Dátum (metadáta)" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "" # exif-meteringmode #: src/properties.cpp:1223 #, fuzzy msgid "Metering mode." msgstr "merací režim" #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "" #: src/properties.cpp:1225 #, fuzzy msgid "Mime Type" msgstr "Typ obrázka" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "" #: src/properties.cpp:1226 #, fuzzy msgid "QTime Minor FileType Version" msgstr "Verzia súboru" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "" #: src/properties.cpp:1227 #, fuzzy msgid "Equipment Model" msgstr "Info o vybavení" #: src/properties.cpp:1227 #, fuzzy msgid "Model name or number of equipment." msgstr "Názov scény" #: src/properties.cpp:1228 #, fuzzy msgid "Modification Date-Time" msgstr "Názov umiestnenia" #: src/properties.cpp:1228 msgid "Contains the modification date of the video" msgstr "" #: src/properties.cpp:1229 #, fuzzy msgid "Movie Header Version" msgstr "Verzia modelu" #: src/properties.cpp:1230 msgid "Music By" msgstr "" #: src/properties.cpp:1230 msgid "Music By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1231 msgid "Muxing App" msgstr "" #: src/properties.cpp:1231 msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" #: src/properties.cpp:1232 msgid "Name of song or the event." msgstr "" #: src/properties.cpp:1233 #, fuzzy msgid "Next Track ID" msgstr "Ďalší IFD" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" #: src/properties.cpp:1234 #, fuzzy msgid "Number Of Colours" msgstr "Počet stránok" #: src/properties.cpp:1234 #, fuzzy msgid "Total number of colours used" msgstr "Poradové číslo (ak je zo spojitého záberu)" #: src/properties.cpp:1235 #, fuzzy msgid "Number Of Important Colours" msgstr "Počet stránok" #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1236 #, fuzzy msgid "Number Of Parts" msgstr "Počet stránok" #: src/properties.cpp:1236 msgid "Total number of parts in the video." msgstr "" #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" #: src/properties.cpp:1238 #, fuzzy msgid "Organization" msgstr "Orientácia" #: src/properties.cpp:1238 msgid "Name of organization associated with the video." msgstr "" #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" #: src/properties.cpp:1248 #, fuzzy msgid "Part" msgstr "Oslavy" #: src/properties.cpp:1248 #, fuzzy msgid "Part." msgstr "Oslavy" #: src/properties.cpp:1249 msgid "Performers" msgstr "" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords" msgstr "Kľúčové slová" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords." msgstr "Kľúčové slová." #: src/properties.cpp:1251 msgid "Performer URL" msgstr "" #: src/properties.cpp:1251 msgid "Performer's dedicated URL." msgstr "" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data" msgstr "Informácie o obrázku" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data." msgstr "Informácie o obrázku" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Version" msgstr "Informácie o obrázku" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Data Version." msgstr "Informácie o obrázku" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name" msgstr "Informácie o obrázku" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name." msgstr "Informácie o obrázku" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Base" msgstr "Informácie o obrázku" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Data Base." msgstr "Informácie o obrázku" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust" msgstr "Informácie o obrázku" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust Information." msgstr "Nastavenie režimu obrázka" #: src/properties.cpp:1257 #, fuzzy msgid "Picture Control Quick Adjust" msgstr "Informácie o obrázku" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection" msgstr "Výber" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection." msgstr "Výber" #: src/properties.cpp:1259 #, fuzzy msgid "Play Mode" msgstr "Jednoduchý režim" #: src/properties.cpp:1259 msgid "Information about the Play Mode." msgstr "" #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "" #: src/properties.cpp:1260 #, fuzzy msgid "Contains the information of External media." msgstr "Časť krajina kontaktných informácií." #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1265 msgid "Planes" msgstr "" #: src/properties.cpp:1265 msgid "The number of Image Planes in the video" msgstr "" #: src/properties.cpp:1266 #, fuzzy msgid "Poster Time" msgstr "Čas expozície" #: src/properties.cpp:1266 msgid "The time value of the time of the movie poster." msgstr "" #: src/properties.cpp:1267 #, fuzzy msgid "Preferred Rate" msgstr "Referenčný dátum" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1269 msgid "Preroll" msgstr "" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" #: src/properties.cpp:1272 #, fuzzy msgid "Preview Atom Type" msgstr "Dáta náhľadu" #: src/properties.cpp:1272 #, fuzzy msgid "Indicates the type of atom that contains the preview data" msgstr "Označuje typ zvukového obsahu." #: src/properties.cpp:1273 #, fuzzy msgid "Preview Date" msgstr "Dáta náhľadu" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "" #: src/properties.cpp:1274 #, fuzzy msgid "Preview Duration" msgstr "Dáta náhľadu" #: src/properties.cpp:1274 #, fuzzy msgid "The duration of the movie preview in movie time scale units" msgstr "Názov scény" #: src/properties.cpp:1275 #, fuzzy msgid "Preview Time" msgstr "Zobraziť vložený obrázok" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "" #: src/properties.cpp:1276 #, fuzzy msgid "The version of the movie preview " msgstr "Názov scény" #: src/properties.cpp:1277 #, fuzzy msgid "Produced By" msgstr "Tvorca" #: src/properties.cpp:1277 msgid "Produced By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1278 msgid "Producer involved with the video." msgstr "" #: src/properties.cpp:1279 #, fuzzy msgid "Producer Keywords" msgstr "Kľúčové slová" #: src/properties.cpp:1279 msgid "Information about the Producer Keywords." msgstr "" #: src/properties.cpp:1280 #, fuzzy msgid "Production Aperture Width" msgstr "Clona" #: src/properties.cpp:1280 msgid "Production aperture width in pixels" msgstr "" #: src/properties.cpp:1281 #, fuzzy msgid "Production Aperture Height" msgstr "Clona" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "" #: src/properties.cpp:1282 msgid "Production Designer" msgstr "" #: src/properties.cpp:1282 msgid "Information about the Production Designer." msgstr "" #: src/properties.cpp:1283 #, fuzzy msgid "Production Studio" msgstr "Identifikačné číslo výrobku" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "" #: src/properties.cpp:1284 #, fuzzy msgid "Product" msgstr "Identifikačné číslo výrobku" #: src/properties.cpp:1284 #, fuzzy msgid "Product." msgstr "Identifikačné číslo výrobku" #: src/properties.cpp:1286 msgid "Rate" msgstr "" #: src/properties.cpp:1286 msgid "Rate." msgstr "" #: src/properties.cpp:1287 msgid "Rated" msgstr "" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "" #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright" msgstr "Posunitie záznamu" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright." msgstr "Posunitie záznamu" #: src/properties.cpp:1292 #, fuzzy msgid "Requirements" msgstr "Info o šošovkách" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "" #: src/properties.cpp:1293 msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" #: src/properties.cpp:1294 msgid "Ripped By" msgstr "" #: src/properties.cpp:1294 msgid "Ripped By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1295 #, fuzzy msgid "Indicates the direction of saturation processing applied by the camera." msgstr "" "EXIF značka 41993, 0xA409. Táto značka označuje smer spracovania sýtosti, " "ktorý použil fotoaparát pri zachytení obrázka." #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "" #: src/properties.cpp:1296 #, fuzzy msgid "The name of the secondary genre.." msgstr "Názov žánru" #: src/properties.cpp:1297 #, fuzzy msgid "Selection Time" msgstr "Výber" #: src/properties.cpp:1297 msgid "The time value for the start time of the current selection." msgstr "" #: src/properties.cpp:1298 #, fuzzy msgid "Selection Duration" msgstr "Trvanie zvuku" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "" #: src/properties.cpp:1299 #, fuzzy msgid "Send Duration" msgstr "Trvanie" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "" #: src/properties.cpp:1303 #, fuzzy msgid "Software Version" msgstr "Verzia firmvéru" #: src/properties.cpp:1303 #, fuzzy msgid "The Version of the software used." msgstr "Meno autora alebo autorov" #: src/properties.cpp:1304 #, fuzzy msgid "Song Writer" msgstr "Zapisovač titulku" #: src/properties.cpp:1304 #, fuzzy msgid "The name of the song writer." msgstr "Meno autora alebo autorov" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords" msgstr "Windows kľúčové slová" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords." msgstr "Kľúčové slová." #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits" msgstr "Pôvodca" #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits." msgstr "Pôvodca." #: src/properties.cpp:1308 #, fuzzy msgid "Source Form" msgstr "Zdroj" #: src/properties.cpp:1308 #, fuzzy msgid "Source Form." msgstr "Zdroj." #: src/properties.cpp:1309 #, fuzzy msgid "Source Image Height" msgstr "Výška obrázka" #: src/properties.cpp:1310 #, fuzzy msgid "Source Image Width" msgstr "Šírka obrázka" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "" #: src/properties.cpp:1311 #, fuzzy msgid "Starring" msgstr "Štandardné svetlo A" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "" #: src/properties.cpp:1312 #, fuzzy msgid "Start Timecode" msgstr "Kód času začiatku" #: src/properties.cpp:1313 #, fuzzy msgid "Statistics" msgstr "Stav GPS" #: src/properties.cpp:1313 msgid "Statistics." msgstr "" #: src/properties.cpp:1314 #, fuzzy msgid "Stream Count" msgstr "Počítadlo uzávierky" #: src/properties.cpp:1314 #, fuzzy msgid "Total Number Of Streams" msgstr "Počet stránok" #: src/properties.cpp:1315 #, fuzzy msgid "Stream Name" msgstr "Názov záberu" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "" #: src/properties.cpp:1316 #, fuzzy msgid "Stream Quality" msgstr "Kvalita obrázka" #: src/properties.cpp:1316 #, fuzzy msgid "General Stream Quality" msgstr "Kvalita obrázka" #: src/properties.cpp:1317 #, fuzzy msgid "Stream Sample Rate" msgstr "Rýchlosť zvuku" # exif-stripbytecounts #: src/properties.cpp:1318 #, fuzzy msgid "Stream Sample Count" msgstr "bajtov na komprimovaný prúžok" #: src/properties.cpp:1319 #, fuzzy msgid "Stream Sample Size" msgstr "bitov na vzorku" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "" #: src/properties.cpp:1320 #, fuzzy msgid "Stream Type" msgstr "Typ mierky" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1321 #, fuzzy msgid "Subtitles Codec" msgstr "Kód času začiatku" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "" #: src/properties.cpp:1322 msgid "Subtitle Codec Decode Info" msgstr "" #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1323 #, fuzzy msgid "Subtitles Codec Information" msgstr "Informácie o snímke" #: src/properties.cpp:1323 msgid "Contains additional information about subtitles." msgstr "" #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "" #: src/properties.cpp:1325 #, fuzzy msgid "Subtitle Codec Settings" msgstr "Nastavenie režimu obrázka" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1327 msgid "Subtitle Track Enabled" msgstr "" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1328 #, fuzzy msgid "Subtitle" msgstr "Názov" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords" msgstr "Kľúčové slová" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords." msgstr "Kľúčové slová." #: src/properties.cpp:1330 #, fuzzy msgid "Subtitles Language" msgstr "Jazyk" #: src/properties.cpp:1330 #, fuzzy msgid "The Language in which the subtitles is recorded in." msgstr "Názov scény" #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1332 msgid "Subtitle Track Lacing" msgstr "" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1333 #, fuzzy msgid "Subject. " msgstr "Predmet" #: src/properties.cpp:1334 #, fuzzy msgid "TapeName." msgstr "Názov pásky" #: src/properties.cpp:1335 #, fuzzy msgid "Tag Default Setting" msgstr "Nastavenia" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "" #: src/properties.cpp:1336 #, fuzzy msgid "Tag Language" msgstr "Jazyk" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "" #: src/properties.cpp:1337 #, fuzzy msgid "Tag Name" msgstr "Názov pásky" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1338 msgid "Tag String" msgstr "" #: src/properties.cpp:1338 msgid "Information contained in a Tags" msgstr "" #: src/properties.cpp:1339 #, fuzzy msgid "Target Type" msgstr "Typ obrázka" #: src/properties.cpp:1339 msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "" #: src/properties.cpp:1340 msgid "Technician" msgstr "" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "" #: src/properties.cpp:1341 #, fuzzy msgid "Thumbnail Height" msgstr "Dĺžka náhľadu" #: src/properties.cpp:1341 #, fuzzy msgid "Preview Image Thumbnail Height." msgstr "Zobraziť vložený obrázok" #: src/properties.cpp:1342 #, fuzzy msgid "Preview Image Thumbnail Length." msgstr "Dĺžka obrázka" #: src/properties.cpp:1343 #, fuzzy msgid "Thumbnail Width" msgstr "Dĺžka náhľadu" #: src/properties.cpp:1343 #, fuzzy msgid "Preview Image Thumbnail Width." msgstr "Zobraziť vložený obrázok" #: src/properties.cpp:1344 #, fuzzy msgid "Timecode Scale" msgstr "pod vodou" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "" # exif-stripoffsets #: src/properties.cpp:1345 src/properties.cpp:1428 #, fuzzy msgid "Time Offset" msgstr "Ofsety dlaždíc" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" #: src/properties.cpp:1346 #, fuzzy msgid "Time Scale" msgstr "Čas odoslania" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1350 msgid "Toning Effect Settings Applied." msgstr "" # exif-stripbytecounts #: src/properties.cpp:1351 #, fuzzy msgid "Total Frame Count" msgstr "Počet bajtov dlaždice" #: src/properties.cpp:1352 #, fuzzy msgid "Number Of Streams" msgstr "Počet stránok" #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1353 #, fuzzy msgid "Track" msgstr "Viacnásobné snímky" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "" #: src/properties.cpp:1354 #, fuzzy msgid "Video Track Create Date" msgstr "Počet snímok za sekundu vo videu" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" #: src/properties.cpp:1355 #, fuzzy msgid "Video Track Duration" msgstr "Trvanie zvuku" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced" msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 #, fuzzy msgid "Track ID" msgstr "Číslo stopy" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 #, fuzzy msgid "Track Header Version" msgstr "Poznámky zhotoviteľa - verzia" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 #, fuzzy msgid "Track Language" msgstr "Jazyk" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "The Language in which a particular stream is recorded in." msgstr "" #: src/properties.cpp:1361 #, fuzzy msgid "Video Track Layer" msgstr "Počet snímok za sekundu vo videu" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" #: src/properties.cpp:1364 #, fuzzy msgid "Video Track Modify Date" msgstr "Dátum úpravy videa" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" #: src/properties.cpp:1365 #, fuzzy msgid "Track Name" msgstr "Číslo stopy" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "" #: src/properties.cpp:1366 #, fuzzy msgid "Track Number." msgstr "Číslo stopy" #: src/properties.cpp:1367 src/properties.cpp:1440 #, fuzzy msgid "Track Volume" msgstr "Číslo stopy" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "" #: src/properties.cpp:1368 msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" #: src/properties.cpp:1369 src/properties.cpp:1370 #, fuzzy msgid "Unknown Information" msgstr "Informácie o snímke" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1371 #, fuzzy msgid "Video URL" msgstr "Široké" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1372 #, fuzzy msgid "Video URN" msgstr "Široké" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1373 #, fuzzy msgid "Vari Program" msgstr "Program" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "" #: src/properties.cpp:1376 msgid "Vendor" msgstr "" #: src/properties.cpp:1376 #, fuzzy msgid "The developer of the compressor that generated the compressed data." msgstr "" "Táto značka označuje smer spracovania ostrosti, ktorý použil fotoaparát pri " "zachytení obrázka." #: src/properties.cpp:1377 src/properties.cpp:1443 #, fuzzy msgid "Vendor ID" msgstr "ID šošoviek" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" #: src/properties.cpp:1378 #, fuzzy msgid "Video Quality" msgstr "Kvalita" #: src/properties.cpp:1378 #, fuzzy msgid "Video Stream Quality" msgstr "Počet snímok za sekundu vo videu" #: src/properties.cpp:1379 #, fuzzy msgid "Video Sample Size" msgstr "Veľkosť snímky vo videu" #: src/properties.cpp:1379 #, fuzzy msgid "Video Stream Sample Size" msgstr "Veľkosť snímky vo videu" #: src/properties.cpp:1380 #, fuzzy msgid "Video Scan Type" msgstr "Typ mierky" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "" #: src/properties.cpp:1381 msgid "Watermark URL" msgstr "" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "" #: src/properties.cpp:1384 #, fuzzy msgid "White Balance Fine Tune." msgstr "Tabuľka vyváženia bielej" #: src/properties.cpp:1385 #, fuzzy msgid "Video Width" msgstr "Šírka dlaždice" #: src/properties.cpp:1386 #, fuzzy msgid "Window Location" msgstr "Windows hodnotenie" #: src/properties.cpp:1386 msgid "Information about the Window Location." msgstr "" #: src/properties.cpp:1388 #, fuzzy msgid "Written By" msgstr "Zapísal" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1389 #, fuzzy msgid "Writing App" msgstr "Zapisuje sa" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" #: src/properties.cpp:1390 #, fuzzy msgid "Horizontal resolution in pixels per unit." msgstr "" "EXIF značka 41486, 0xA20E. Vodorovné ohniskové rozlíšenie v pixeloch na " "jednotku" #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "" #: src/properties.cpp:1391 #, fuzzy msgid "Year in which the video was made." msgstr "Dátum a čas, kedy bolo video naposledy zmenené." #: src/properties.cpp:1392 #, fuzzy msgid "Vertical resolution in pixels per unit." msgstr "" "EXIF značka 41487, 0xA20F. Zvislé ohniskové rozlíšenie v pixeloch na jednotku" #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "" #: src/properties.cpp:1398 #, fuzzy msgid "Balance" msgstr "Vyváženie červenej" #: src/properties.cpp:1398 #, fuzzy msgid "Indicates the left-right balance of the audio" msgstr "Táto značka označuje vzdialenosť k cieľovému bodu." #: src/properties.cpp:1399 #, fuzzy msgid "Bits Per Sample/ Bit Rate" msgstr "bitov na vzorku" # exif-bitspersample #: src/properties.cpp:1399 #, fuzzy msgid "Bits per test sample" msgstr "bitov na vzorku" #: src/properties.cpp:1401 #, fuzzy msgid "Audio Codec" msgstr "Kompresia zvuku" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "" #: src/properties.cpp:1402 msgid "Audio Codec Decode Info" msgstr "" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1403 #, fuzzy msgid "Audio Codec Description" msgstr "Popis obrázka" #: src/properties.cpp:1404 msgid "Audio Codec Download URL" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL." msgstr "" #: src/properties.cpp:1405 #, fuzzy msgid "Audio Codec Information" msgstr "Informácie o snímke" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" #: src/properties.cpp:1406 #, fuzzy msgid "Audio Codec Settings" msgstr "Nastavenie režimu zaostrenia" #: src/properties.cpp:1408 #, fuzzy msgid "Audio Default Duration" msgstr "Trvanie zvuku" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "" #: src/properties.cpp:1409 #, fuzzy msgid "Audio Default Stream" msgstr "Štandardná škála" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "" #: src/properties.cpp:1410 #, fuzzy msgid "Audio Track Default On" msgstr "Automatická uzávierka" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "" #: src/properties.cpp:1411 msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1412 #, fuzzy msgid "Audio Format" msgstr "Rýchlosť zvuku" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "" #: src/properties.cpp:1423 #, fuzzy msgid "Output Audio Sample Rate" msgstr "Rýchlosť zvuku" #: src/properties.cpp:1423 msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" #: src/properties.cpp:1424 #, fuzzy msgid "Audio Sample Count" msgstr "Rýchlosť zvuku" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title" msgstr "nájdený v súbore" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title." msgstr "nájdený v súbore" #: src/properties.cpp:1429 #, fuzzy msgid "Audio Track Create Date" msgstr "Uvoľnenie viacnásobného záberu" #: src/properties.cpp:1430 #, fuzzy msgid "Audio Track Duration" msgstr "Trvanie zvuku" #: src/properties.cpp:1431 #, fuzzy msgid "Audio Track Forced" msgstr "Automatický viacnásobný záber" #: src/properties.cpp:1431 msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1434 #, fuzzy msgid "Audio Track Lacing" msgstr "Trvanie zvuku" #: src/properties.cpp:1434 msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1436 #, fuzzy msgid "Audio Track Layer" msgstr "Typ audio" #: src/properties.cpp:1439 #, fuzzy msgid "Audio Track Modify Date" msgstr "Dátum úpravy zvuku" #: src/properties.cpp:1441 #, fuzzy msgid "Audio URL" msgstr "Rýchlosť zvuku" #: src/properties.cpp:1442 #, fuzzy msgid "Audio URN" msgstr "Rýchlosť zvuku" #: src/properties.cpp:1449 #, fuzzy msgid "The nature or genre of the resource." msgstr "Názov žánru" #: src/properties.cpp:1450 #, fuzzy msgid "Date Modified" msgstr "Identifikátor" #: src/properties.cpp:1450 #, fuzzy msgid "Date on which the resource was changed." msgstr "Dátum a čas, kedy bolo video naposledy zmenené." #: src/properties.cpp:1451 #, fuzzy msgid "A language of the resource." msgstr "Názov scény" #: src/properties.cpp:1452 #, fuzzy msgid "License" msgstr "šošovky" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" #: src/properties.cpp:1453 #, fuzzy msgid "Rights Holder" msgstr "Oblasť vpravo" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" #: src/properties.cpp:1454 #, fuzzy msgid "Access Rights" msgstr "Práva" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "" #: src/properties.cpp:1455 msgid "A bibliographic reference for the resource." msgstr "" #: src/properties.cpp:1456 #, fuzzy msgid "References" msgstr "Referenčný dátum" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" #: src/properties.cpp:1459 msgid "*Main structure* containing Darwin Core location based information." msgstr "" #: src/properties.cpp:1468 #, fuzzy msgid "Record" msgstr "Tvorca" #: src/properties.cpp:1469 msgid "*Main structure* containing record based information." msgstr "" #: src/properties.cpp:1472 #, fuzzy msgid "Institution ID" msgstr "Inštrukcie" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" #: src/properties.cpp:1475 #, fuzzy msgid "Collection ID" msgstr "Výber" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" #: src/properties.cpp:1478 #, fuzzy msgid "Institution Code" msgstr "Režim rozlíšenia" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1481 #, fuzzy msgid "Dataset ID" msgstr "Výpis dát 1" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "" #: src/properties.cpp:1484 #, fuzzy msgid "Collection Code" msgstr "Kód umiestnenia" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" #: src/properties.cpp:1487 #, fuzzy msgid "Dataset Name" msgstr "Názvy plôch" #: src/properties.cpp:1488 #, fuzzy msgid "The name identifying the data set from which the record was derived." msgstr "Jedinečný identifikátor diela, z ktorého bol zdroj odvodený." #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" #: src/properties.cpp:1496 #, fuzzy msgid "Information Withheld" msgstr "Informácie o snímke" #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" #: src/properties.cpp:1502 #, fuzzy msgid "Dynamic Properties" msgstr "Vlastnosti digiKam" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" #: src/properties.cpp:1507 #, fuzzy msgid "Occurrence" msgstr "ID šošoviek" #: src/properties.cpp:1508 msgid "*Main structure* containing occurrence based information." msgstr "" #: src/properties.cpp:1511 #, fuzzy msgid "Occurrence ID" msgstr "ID šošoviek" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" #: src/properties.cpp:1514 #, fuzzy msgid "Catalog Number" msgstr "Číslo intervalu" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" #: src/properties.cpp:1517 #, fuzzy msgid "Occurrence Details" msgstr "ID šošoviek" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "" #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "" #: src/properties.cpp:1521 msgid "Comments or notes about the Occurrence." msgstr "" #: src/properties.cpp:1523 #, fuzzy msgid "Record Number" msgstr "Poradové číslo" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" #: src/properties.cpp:1526 #, fuzzy msgid "Recorded By" msgstr "Tvorca" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" #: src/properties.cpp:1529 msgid "Individual ID" msgstr "" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" #: src/properties.cpp:1532 msgid "Individual Count" msgstr "" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "" #: src/properties.cpp:1535 #, fuzzy msgid "Organism Quantity" msgstr "Kvalita obrázka" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "" #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "" #: src/properties.cpp:1541 #, fuzzy msgid "Sex" msgstr "Nastaviť" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1544 msgid "Life Stage" msgstr "" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1547 #, fuzzy msgid "Reproductive Condition" msgstr "Identifikačné číslo výrobku" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1550 msgid "Behavior" msgstr "" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1559 #, fuzzy msgid "Preparations" msgstr "Trvanie" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" #: src/properties.cpp:1562 #, fuzzy msgid "Disposition" msgstr "poloha zaostrenia" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" #: src/properties.cpp:1565 #, fuzzy msgid "Other Catalog Numbers" msgstr "Číslo intervalu" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" #: src/properties.cpp:1568 src/properties.cpp:1607 #, fuzzy msgid "Previous Identifications" msgstr "Model" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" #: src/properties.cpp:1571 #, fuzzy msgid "Associated Media" msgstr "Prispievateľ" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" #: src/properties.cpp:1574 #, fuzzy msgid "Associated References" msgstr "GPS referencia zemepisnej dĺžky" #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1580 #, fuzzy msgid "Associated Sequences" msgstr "Poradové číslo AEB" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" #: src/properties.cpp:1588 #, fuzzy msgid "Organism" msgstr "Orientácia" #: src/properties.cpp:1589 msgid "*Main structure* containing organism based information." msgstr "" #: src/properties.cpp:1592 msgid "Organism ID" msgstr "" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1595 #, fuzzy msgid "Organism Name" msgstr "Názov záberu" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "" #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1601 #, fuzzy msgid "Organism Associated Occurrences" msgstr "Poradové číslo AEB" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1604 #, fuzzy msgid "Associated Organisms" msgstr "GPS referencia zemepisnej dĺžky" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" #: src/properties.cpp:1610 #, fuzzy msgid "Organism Remarks" msgstr "Prebieha meranie" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "" #: src/properties.cpp:1615 #, fuzzy msgid "Material Sample" msgstr "bitov na vzorku" #: src/properties.cpp:1616 msgid "*Main structure* containing material sample based information." msgstr "" #: src/properties.cpp:1618 #, fuzzy msgid "Living Specimen" msgstr "Večer" #: src/properties.cpp:1619 msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "" #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "" #: src/properties.cpp:1622 msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "" #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "" #: src/properties.cpp:1625 msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "" #: src/properties.cpp:1628 #, fuzzy msgid "Material Sample ID" msgstr "bitov na vzorku" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" #: src/properties.cpp:1634 msgid "*Main structure* containing event based information." msgstr "" #: src/properties.cpp:1636 msgid "Human Observation" msgstr "" #: src/properties.cpp:1637 msgid "*Main structure* containing human observation based information." msgstr "" #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "" #: src/properties.cpp:1640 msgid "*Main structure* containing machine observation based information." msgstr "" #: src/properties.cpp:1643 #, fuzzy msgid "Event ID" msgstr "Večer" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1646 #, fuzzy msgid "Parent Event ID" msgstr "Večer" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" #: src/properties.cpp:1649 #, fuzzy msgid "Event Date" msgstr "Dátum vytvorenia" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1652 #, fuzzy msgid "Event Earliest Date" msgstr "Dátum vytvorenia" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1655 #, fuzzy msgid "Event Latest Date" msgstr "Dátum vytvorenia" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1658 #, fuzzy msgid "Event Time" msgstr "Aktuálny ICC profil" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "" #: src/properties.cpp:1670 #, fuzzy msgid "Month" msgstr "mesiac" #: src/properties.cpp:1671 #, fuzzy msgid "The ordinal month in which the Event occurred." msgstr "Názov scény" #: src/properties.cpp:1673 #, fuzzy msgid "Day" msgstr "Oneskorenie" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "" #: src/properties.cpp:1676 #, fuzzy msgid "Verbatim Event Date" msgstr "Dátum vytvorenia" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" #: src/properties.cpp:1679 msgid "Habitat" msgstr "" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" #: src/properties.cpp:1685 #, fuzzy msgid "Sampling Effort" msgstr "Formát súboru" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "" #: src/properties.cpp:1688 #, fuzzy msgid "Sampling Size Value" msgstr "Ostrosť" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" #: src/properties.cpp:1691 #, fuzzy msgid "Sampling Size Unit" msgstr "Formát súboru" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" #: src/properties.cpp:1694 #, fuzzy msgid "Field Number" msgstr "číslo F" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" #: src/properties.cpp:1697 #, fuzzy msgid "Field Notes" msgstr "Vlastnosti digiKam" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "" #: src/properties.cpp:1701 msgid "Comments or notes about the Event." msgstr "" #: src/properties.cpp:1705 #, fuzzy msgid "Location Class" msgstr "Kód umiestnenia" #: src/properties.cpp:1706 msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "" #: src/properties.cpp:1709 #, fuzzy msgid "Location ID" msgstr "Umiestnenie" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" #: src/properties.cpp:1718 #, fuzzy msgid "Continent" msgstr "Spojitý" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "" #: src/properties.cpp:1721 msgid "Water Body" msgstr "" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1724 msgid "Island Group" msgstr "" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1727 msgid "Island" msgstr "" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "" #: src/properties.cpp:1736 #, fuzzy msgid "State Province" msgstr "Štát/provincia" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1739 #, fuzzy msgid "County" msgstr "Krajina" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1742 #, fuzzy msgid "Municipality" msgstr "Kvalita" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" #: src/properties.cpp:1745 #, fuzzy msgid "Locality" msgstr "Umiestnenie" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "" #: src/properties.cpp:1749 msgid "The original textual description of the place." msgstr "" #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1760 msgid "Verbatim Depth" msgstr "" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "" #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1766 #, fuzzy msgid "Maximum Depth In Meters" msgstr "Dátum Minolta" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1775 #, fuzzy msgid "Location According To" msgstr "Kód umiestnenia" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" #: src/properties.cpp:1778 #, fuzzy msgid "Location Remarks" msgstr "Kód umiestnenia" #: src/properties.cpp:1779 msgid "Comments or notes about the Location." msgstr "" #: src/properties.cpp:1781 msgid "Verbatim Coordinates" msgstr "" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1784 #, fuzzy msgid "Verbatim Latitude" msgstr "GPS Vzdialenosť cieľa" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1787 #, fuzzy msgid "Verbatim Longitude" msgstr "GPS Vzdialenosť cieľa" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1796 #, fuzzy msgid "Decimal Latitude" msgstr "GPS Vzdialenosť cieľa" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" # exif-gpslongitude #: src/properties.cpp:1799 #, fuzzy msgid "Decimal Longitude" msgstr "GPS zemepisná dĺžka" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" #: src/properties.cpp:1802 msgid "Geodetic Datum" msgstr "" #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" #: src/properties.cpp:1808 msgid "Coordinate Precision" msgstr "" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "" #: src/properties.cpp:1812 #, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "" #: src/properties.cpp:1821 #, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" #: src/properties.cpp:1823 #, fuzzy msgid "Georeferenced By" msgstr "Referenčný dátum" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" #: src/properties.cpp:1826 #, fuzzy msgid "Georeferenced Date" msgstr "Referenčný dátum" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" #: src/properties.cpp:1832 #, fuzzy msgid "Georeference Sources" msgstr "Referenčná služba" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1838 #, fuzzy msgid "Georeference Remarks" msgstr "Referenčné číslo" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" #: src/properties.cpp:1843 msgid "Geological Context" msgstr "" #: src/properties.cpp:1844 msgid "*Main structure* containing geological context based information." msgstr "" #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" #: src/properties.cpp:1889 msgid "Group" msgstr "" #: src/properties.cpp:1890 #, fuzzy msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "Dátum, kedy bol titul vydaný" #: src/properties.cpp:1892 #, fuzzy msgid "Formation" msgstr "Informácie o snímke" #: src/properties.cpp:1893 #, fuzzy msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "Dátum, kedy bol titul vydaný" #: src/properties.cpp:1895 #, fuzzy msgid "Member" msgstr "číslo F" #: src/properties.cpp:1896 #, fuzzy msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "Dátum, kedy bol titul vydaný" #: src/properties.cpp:1898 #, fuzzy msgid "Bed" msgstr "Červené oči" #: src/properties.cpp:1899 #, fuzzy msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "Dátum, kedy bol titul vydaný" #: src/properties.cpp:1903 #, fuzzy msgid "Identification" msgstr "Model" #: src/properties.cpp:1904 msgid "*Main structure* containing identification based information." msgstr "" #: src/properties.cpp:1907 #, fuzzy msgid "Identification ID" msgstr "Model" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1910 #, fuzzy msgid "Identified By" msgstr "Identifikátor" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" #: src/properties.cpp:1913 #, fuzzy msgid "Date Identified" msgstr "Identifikátor" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" #: src/properties.cpp:1916 #, fuzzy msgid "Identification References" msgstr "GPS Smer obrázka" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" #: src/properties.cpp:1922 #, fuzzy msgid "Identification Remarks" msgstr "Model" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "" #: src/properties.cpp:1925 #, fuzzy msgid "Identification Qualifier" msgstr "Model" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" #: src/properties.cpp:1928 #, fuzzy msgid "Type Status" msgstr "Stav GPS" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" #: src/properties.cpp:1933 msgid "Taxon" msgstr "" #: src/properties.cpp:1934 msgid "*Main structure* containing taxonomic based information." msgstr "" #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" #: src/properties.cpp:1949 #, fuzzy msgid "Original Name Usage ID" msgstr "Názov nespracovaného pôvodného súboru" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" #: src/properties.cpp:1961 #, fuzzy msgid "Scientific Name" msgstr "Názov dokumentu" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" #: src/properties.cpp:1967 #, fuzzy msgid "Parent Name Usage" msgstr "Názvy plôch" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" #: src/properties.cpp:1970 #, fuzzy msgid "Original Name Usage" msgstr "Názov nespracovaného pôvodného súboru" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" #: src/properties.cpp:1973 #, fuzzy msgid "Name According To" msgstr "Posunitie záznamu" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" #: src/properties.cpp:1976 #, fuzzy msgid "Name Published In" msgstr "Vydavateľ" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "" #: src/properties.cpp:1980 #, fuzzy msgid "The four-digit year in which the scientificName was published." msgstr "Dátum, kedy bol titul vydaný" #: src/properties.cpp:1982 #, fuzzy msgid "Higher Classification" msgstr "Elektromagnetické zväčšenie" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" #: src/properties.cpp:1985 msgid "Kingdom" msgstr "" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "" #: src/properties.cpp:1988 msgid "Phylum" msgstr "" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" #: src/properties.cpp:1991 msgid "Class" msgstr "" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "" #: src/properties.cpp:1994 #, fuzzy msgid "Order" msgstr "poradie vypĺňania" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "" #: src/properties.cpp:1997 msgid "Family" msgstr "" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "" #: src/properties.cpp:2000 msgid "Genus" msgstr "" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "" #: src/properties.cpp:2003 msgid "Subgenus" msgstr "" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "" #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" #: src/properties.cpp:2021 #, fuzzy msgid "Vernacular Name" msgstr "Číslo stopy" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "" #: src/properties.cpp:2024 #, fuzzy msgid "Nomenclatural Code" msgstr "Prirodzená farba" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "" #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "" #: src/properties.cpp:2039 msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "" #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" #: src/properties.cpp:2045 #, fuzzy msgid "Resource ID" msgstr "Zdroj súboru" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "" #: src/properties.cpp:2048 #, fuzzy msgid "Related Resource ID" msgstr "blok obrazových prostriedkov" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" #: src/properties.cpp:2051 #, fuzzy msgid "Relationship Of Resource" msgstr "Zdroj súboru" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "" #: src/properties.cpp:2065 #, fuzzy msgid "Measurement Or Fact" msgstr "Interoperabilita merania" #: src/properties.cpp:2066 msgid "*Main structure* containing measurement based information." msgstr "" #: src/properties.cpp:2069 #, fuzzy msgid "Measurement ID" msgstr "Prebieha meranie" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:2072 #, fuzzy msgid "Measurement Type" msgstr "Prebieha meranie" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2075 #, fuzzy msgid "Measurement Value" msgstr "Prebieha meranie" #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2078 #, fuzzy msgid "Measurement Accuracy" msgstr "Interoperabilita merania" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "" #: src/properties.cpp:2081 #, fuzzy msgid "Measurement Unit" msgstr "Interoperabilita merania" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" #: src/properties.cpp:2084 #, fuzzy msgid "Measurement Determined Date" msgstr "Interoperabilita merania" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2087 #, fuzzy msgid "Measurement Determined By" msgstr "Interoperabilita merania" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" #: src/properties.cpp:2090 #, fuzzy msgid "Measurement Method" msgstr "GPS Režim merania" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2093 #, fuzzy msgid "Measurement Remarks" msgstr "Prebieha meranie" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "" #: src/properties.cpp:2101 #, fuzzy msgid "A brief description of the file" msgstr "Názov scény" #: src/properties.cpp:2102 #, fuzzy msgid "Date Time" msgstr "Dátum a čas" #: src/properties.cpp:2103 #, fuzzy msgid "The name of the author or photographer" msgstr "Meno autora alebo autorov" #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "" #: src/properties.cpp:2105 #, fuzzy msgid "Notes" msgstr "Vlastnosti digiKam" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "" #: src/properties.cpp:2106 msgid "Tagged" msgstr "" #: src/properties.cpp:2106 msgid "True or False" msgstr "" #: src/properties.cpp:2107 #, fuzzy msgid "Categories" msgstr "Kategória" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "" #: src/sigmamn.cpp:62 msgid "Resolution Mode" msgstr "Režim rozlíšenia" #: src/sigmamn.cpp:63 msgid "Resolution mode" msgstr "Režim rozlíšenia" #: src/sigmamn.cpp:65 msgid "Autofocus Mode" msgstr "Režim automatického zaostrenia" #: src/sigmamn.cpp:66 msgid "Autofocus mode" msgstr "Režim automatického zaostrenia" #: src/sigmamn.cpp:68 msgid "Focus Setting" msgstr "Nastavenia zaostrenia" #: src/sigmamn.cpp:69 msgid "Focus setting" msgstr "Nastavenia zaostrenia" #: src/sigmamn.cpp:80 msgid "Lens Range" msgstr "Rozsah šošoviek:" #: src/sigmamn.cpp:81 msgid "Lens focal length range" msgstr "Rozsah ohniskovej vzdialenosti šošoviek" # exif-lightsource-11 #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 msgid "Shadow" msgstr "Tieň" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 msgid "Highlight" msgstr "Svetlé miesta" #: src/sigmamn.cpp:104 #, fuzzy msgid "Fill Light" msgstr "nedostupné" #: src/sigmamn.cpp:105 #, fuzzy msgid "X3 Fill light" msgstr "Spustí sa blesk" #: src/sigmamn.cpp:107 msgid "Color Adjustment" msgstr "Úprava farieb" #: src/sigmamn.cpp:108 msgid "Color adjustment" msgstr "Úprava farieb" #: src/sigmamn.cpp:110 msgid "Adjustment Mode" msgstr "Režim úprav" #: src/sigmamn.cpp:111 msgid "Adjustment mode" msgstr "Režim úprav" #: src/sigmamn.cpp:122 msgid "Auto Bracket" msgstr "Automatická uzávierka" #: src/sigmamn.cpp:123 src/tags.cpp:1497 msgid "Auto bracket" msgstr "Automatický viacnásobný záber" #: src/sigmamn.cpp:127 msgid "Unknown SigmaMakerNote tag" msgstr "Neznáma značka SigmaMakerNote" #: src/sigmamn.cpp:170 msgid "8-Segment" msgstr "" #: src/sonymn.cpp:131 msgid "Advanced Lv1" msgstr "" #: src/sonymn.cpp:132 msgid "Advanced Lv2" msgstr "" #: src/sonymn.cpp:133 msgid "Advanced Lv3" msgstr "" #: src/sonymn.cpp:134 msgid "Advanced Lv4" msgstr "" #: src/sonymn.cpp:135 msgid "Advanced Lv5" msgstr "" #: src/sonymn.cpp:154 #, fuzzy msgid "Night Scene / Twilight" msgstr "Nočná scéna" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "" #: src/sonymn.cpp:156 #, fuzzy msgid "Twilight Portrait" msgstr "Nočný portrét" #: src/sonymn.cpp:157 #, fuzzy msgid "Soft Snap / Portrait" msgstr "Portrét" #: src/sonymn.cpp:159 #, fuzzy msgid "Smile Shutter" msgstr "pomalá uzávierka" #: src/sonymn.cpp:161 #, fuzzy msgid "High Sensitivity" msgstr "ISO citlivosť" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "" #: src/sonymn.cpp:166 #, fuzzy msgid "Sweep Panorama" msgstr "panoráma" #: src/sonymn.cpp:168 #, fuzzy msgid "Anti Motion Blur" msgstr "Režim obrázka" #: src/sonymn.cpp:170 #, fuzzy msgid "Backlight Correction HDR" msgstr "Bez korekcie" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "" #: src/sonymn.cpp:172 #, fuzzy msgid "Background Defocus" msgstr "Priblíženie makro" # exif-sharpness-1 #: src/sonymn.cpp:173 #, fuzzy msgid "Soft Skin" msgstr "mäkký" #: src/sonymn.cpp:174 #, fuzzy msgid "3D Image" msgstr "Jedinečný ID obrázka" #: src/sonymn.cpp:189 #, fuzzy msgid "On (Continuous)" msgstr "Spojitý" #: src/sonymn.cpp:190 #, fuzzy msgid "On (Shooting)" msgstr "Režim fotenia" #: src/sonymn.cpp:198 msgid "Plus" msgstr "" # exif-lightsource-15 #: src/sonymn.cpp:214 #, fuzzy msgid "White Flourescent" msgstr "biela, fluorescenčná" # exif-lightsource-15 #: src/sonymn.cpp:215 #, fuzzy msgid "Cool White Flourescent" msgstr "biela, fluorescenčná" # exif-lightsource-13 #: src/sonymn.cpp:216 #, fuzzy msgid "Day White Flourescent" msgstr "biely deň, fluorescenčné" #: src/sonymn.cpp:217 #, fuzzy msgid "Incandescent2" msgstr "Inkadescentné" # exif-lightsource-15 #: src/sonymn.cpp:218 #, fuzzy msgid "Warm White Fluorescent" msgstr "biela, fluorescenčná" #: src/sonymn.cpp:221 #, fuzzy msgid "Underwater 1 (Blue Water)" msgstr "pod vodou" #: src/sonymn.cpp:222 #, fuzzy msgid "Underwater 2 (Green Water)" msgstr "pod vodou" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "" #: src/sonymn.cpp:237 #, fuzzy msgid "Center AF" msgstr "v strede" #: src/sonymn.cpp:238 #, fuzzy msgid "Spot AF" msgstr "Bodový" #: src/sonymn.cpp:239 msgid "Flexible Spot AF" msgstr "" #: src/sonymn.cpp:240 #, fuzzy msgid "Touch AF" msgstr "VB jedným dotykom" #: src/sonymn.cpp:241 #, fuzzy msgid "Manual Focus" msgstr "Ručné zaostrenie" #: src/sonymn.cpp:242 #, fuzzy msgid "Face Detected" msgstr "Nepodarilo sa prečítať" #: src/sonymn.cpp:257 #, fuzzy msgid "Close Focus" msgstr "Automatické zaostrenie" #: src/sonymn.cpp:347 src/sonymn.cpp:348 #, fuzzy msgid "Multi Burst Mode" msgstr "Režim dávky" #: src/sonymn.cpp:350 src/sonymn.cpp:351 #, fuzzy msgid "Multi Burst Image Width" msgstr "Šírka súvisiaceho obrázka" #: src/sonymn.cpp:353 src/sonymn.cpp:354 #, fuzzy msgid "Multi Burst Image Height" msgstr "Výška obrázka" #: src/sonymn.cpp:364 #, fuzzy msgid "JPEG preview image" msgstr "Zobraziť vložený obrázok" #: src/sonymn.cpp:390 #, fuzzy msgid "Auto HDR" msgstr "automatický vysoký" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "" #: src/sonymn.cpp:395 #, fuzzy msgid "Shot Information" msgstr "Informácie o snímke" #: src/sonymn.cpp:400 src/sonymn.cpp:401 #, fuzzy msgid "Sony Model ID" msgstr "ID modelu" #: src/sonymn.cpp:403 src/sonymn.cpp:404 #, fuzzy msgid "Color Reproduction" msgstr "Redukcia farebného šumu" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 #, fuzzy msgid "Dynamic Range Optimizer" msgstr "Nastavenie dynamického rozsahu" #: src/sonymn.cpp:427 src/sonymn.cpp:428 #, fuzzy msgid "Minolta MakerNote" msgstr "Dátum Minolta" #: src/sonymn.cpp:433 src/sonymn.cpp:434 #, fuzzy msgid "Full Image Size" msgstr "Veľkosť obrázka" #: src/sonymn.cpp:436 #, fuzzy msgid "Preview Image Size" msgstr "Zobraziť vložený obrázok" #: src/sonymn.cpp:437 #, fuzzy msgid "Preview image size" msgstr "Zobraziť vložený obrázok" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 msgid "AF Illuminator" msgstr "" #: src/sonymn.cpp:454 src/sonymn.cpp:455 #, fuzzy msgid "JPEG Quality" msgstr "Kvalita" #: src/sonymn.cpp:460 src/sonymn.cpp:461 #, fuzzy msgid "Release Mode" msgstr "Dátum vydania" #: src/sonymn.cpp:464 #, fuzzy msgid "Shot number in continuous burst mode" msgstr "Poradové číslo (ak je zo spojitého záberu)" #: src/sonymn.cpp:466 src/sonymn.cpp:467 #, fuzzy msgid "Anti-Blur" msgstr "Zabránenie rozostrenia" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 #, fuzzy msgid "Long Exposure Noise Reduction" msgstr "Redukciu šumu dlhej expozície" #: src/sonymn.cpp:475 src/sonymn.cpp:476 #, fuzzy msgid "Intelligent Auto" msgstr "Dĺžka intervalu" #: src/sonymn.cpp:483 #, fuzzy msgid "Unknown Sony1MakerNote tag" msgstr "Neznáma značka SonyMakerNote" #: src/sonymn.cpp:497 #, fuzzy msgid "Continuous High" msgstr "Spojitý, vysoký" #: src/sonymn.cpp:501 #, fuzzy msgid "Continuous Low" msgstr "Spojitý, nízky" #: src/sonymn.cpp:503 src/sonymn.cpp:504 #, fuzzy msgid "D-Range Optimizer Bracketing Low" msgstr "Optimalizácia obrázka" #: src/sonymn.cpp:536 #, fuzzy msgid "Autumn" msgstr "Auto" #: src/sonymn.cpp:542 msgid "ADI" msgstr "" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "" #: src/sonymn.cpp:578 #, fuzzy msgid "Auto No Flash" msgstr "Auto (blesk)" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 #, fuzzy msgid "Dynamic Range Optimizer Level" msgstr "Nastavenie dynamického rozsahu" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 #, fuzzy msgid "Creative Style" msgstr "Dátum vytvorenia" #: src/sonymn.cpp:648 src/sonymn.cpp:649 #, fuzzy msgid "Zone Matching Value" msgstr "Hodnota jasu" #: src/sonymn.cpp:666 src/sonymn.cpp:667 #, fuzzy msgid "AF With Shutter" msgstr "rýchla uzávierka" #: src/sonymn.cpp:674 src/sonymn.cpp:675 #, fuzzy msgid "High ISO NoiseReduction" msgstr "Vysoká redukcia šumu ISO" #: src/sonymn.cpp:678 src/sonymn.cpp:679 #, fuzzy msgid "Image Style" msgstr "Typ obrázka" #: src/sonymn.cpp:704 #, fuzzy msgid "Unknown Sony1 Camera Settings tag" msgstr "Neznáma značka Nastavenie fotoaparátu Canon 1" #: src/sonymn.cpp:768 #, fuzzy msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "Neznáma značka Nastavenie fotoaparátu Canon 2" #: src/tags.cpp:188 msgid "Unknown section" msgstr "Neznáma sekcia" #: src/tags.cpp:189 msgid "Image data structure" msgstr "Štruktúra obrazových údajov" #: src/tags.cpp:190 msgid "Recording offset" msgstr "Posunitie záznamu" #: src/tags.cpp:191 msgid "Image data characteristics" msgstr "Charakteristika obrazových dát" #: src/tags.cpp:192 msgid "Other data" msgstr "Iné údaje" #: src/tags.cpp:193 #, fuzzy msgid "Exif data structure" msgstr "Štruktúra obrazových údajov" #: src/tags.cpp:195 msgid "Image configuration" msgstr "Konfigurácia obrázka" #: src/tags.cpp:196 msgid "User information" msgstr "Informácie o používateľovi" #: src/tags.cpp:197 msgid "Related file" msgstr "Súviasiaci súbor" #: src/tags.cpp:198 msgid "Date and time" msgstr "Dátum a čas" #: src/tags.cpp:199 msgid "Picture taking conditions" msgstr "Podmienky zachytenia obrázka" #: src/tags.cpp:200 msgid "GPS information" msgstr "Informácie GPS" #: src/tags.cpp:201 msgid "Interoperability information" msgstr "Informácie o interoperabilite" #: src/tags.cpp:202 msgid "Vendor specific information" msgstr "Špecifické informácie dodávateľa" #: src/tags.cpp:203 msgid "Adobe DNG tags" msgstr "Značky Adobe DNG" #: src/tags.cpp:204 #, fuzzy msgid "Panasonic RAW tags" msgstr "Neznáma značka PanasonicMakerNote" #: src/tags.cpp:205 #, fuzzy msgid "TIFF/EP tags" msgstr "ID štandardu TIFF/EP" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "" #: src/tags.cpp:207 #, fuzzy msgid "Adobe OPI tags" msgstr "Značky Adobe DNG" #: src/tags.cpp:208 msgid "Last section" msgstr "Posledná sekcia" #: src/tags.cpp:224 msgid "Primary image" msgstr "Primárny obrázok" #: src/tags.cpp:225 msgid "Thumbnail/Preview image" msgstr "Náhľad" #: src/tags.cpp:226 #, fuzzy msgid "Primary image, Multi page file" msgstr "Primárny obrázok" #: src/tags.cpp:227 #, fuzzy msgid "Thumbnail/Preview image, Multi page file" msgstr "Náhľad" #: src/tags.cpp:228 msgid "Primary image, Transparency mask" msgstr "" #: src/tags.cpp:229 #, fuzzy msgid "Thumbnail/Preview image, Transparency mask" msgstr "Náhľad" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "" #: src/tags.cpp:237 #, fuzzy msgid "Full-resolution image data" msgstr "Nepodarilo sa načítať obrazové údaje" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "" #: src/tags.cpp:245 msgid "inch" msgstr "palce" #: src/tags.cpp:252 msgid "CCITT RLE" msgstr "CCITT RLE" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "T4/Group 3 Fax" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "T6/Group 4 Fax" #: src/tags.cpp:255 msgid "LZW" msgstr "LZW" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "" #: src/tags.cpp:257 msgid "JPEG" msgstr "JPEG" #: src/tags.cpp:258 msgid "Adobe Deflate" msgstr "Adobe deflate" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "JBIG ČB" #: src/tags.cpp:260 msgid "JBIG Color" msgstr "JBIG farby" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "" #: src/tags.cpp:262 msgid "Epson ERF Compressed" msgstr "Kompresia Epson ERF" #: src/tags.cpp:263 #, fuzzy msgid "Samsung SRW Compressed" msgstr "Kompresia Epson ERF" #: src/tags.cpp:264 msgid "CCITT RLE 1-word" msgstr "CCITT RLE 1-word" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "Thunderscan RLE" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "IT8 Linework RLE" #: src/tags.cpp:269 msgid "IT8 Monochrome Picture" msgstr "IT8 Jednofarebný obrázok" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "IT8 Binárne čiarové umenie" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "" #: src/tags.cpp:273 #, fuzzy msgid "Pixar Deflate" msgstr "Adobe deflate" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "" #: src/tags.cpp:275 msgid "ISO JBIG" msgstr "ISO JBIG" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "Leadtools JPEG 2000" #: src/tags.cpp:279 msgid "Nikon NEF Compressed" msgstr "Kompresia Nikon NEF" #: src/tags.cpp:280 #, fuzzy msgid "Kodak DCR Compressed" msgstr "Kompresia Epson ERF" #: src/tags.cpp:281 msgid "Pentax PEF Compressed" msgstr "Kompresia Pentax PEF" #: src/tags.cpp:286 #, fuzzy msgid "White Is Zero" msgstr "Čierna je nula" #: src/tags.cpp:287 msgid "Black Is Zero" msgstr "Čierna je nula" #: src/tags.cpp:288 msgid "RGB" msgstr "RGB" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "RGB paleta" #: src/tags.cpp:290 msgid "Transparency Mask" msgstr "" #: src/tags.cpp:291 src/tags.cpp:330 msgid "CMYK" msgstr "CMYK" #: src/tags.cpp:292 msgid "YCbCr" msgstr "YCbCr" #: src/tags.cpp:293 msgid "CIELab" msgstr "CIELab" #: src/tags.cpp:294 msgid "ICCLab" msgstr "ICCLab" #: src/tags.cpp:295 msgid "ITULab" msgstr "ITULab" #: src/tags.cpp:296 #, fuzzy msgid "Color Filter Array" msgstr "Farebný filter" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "Pixar LogL" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "Pixar LogLuv" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "Lineárny Raw" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "" #: src/tags.cpp:306 #, fuzzy msgid "Randomized process" msgstr "Bežné spracovanie" #: src/tags.cpp:311 msgid "top, left" msgstr "hore, vľavo" #: src/tags.cpp:312 msgid "top, right" msgstr "hore, vpravo" #: src/tags.cpp:313 msgid "bottom, right" msgstr "dolu, vpravo" #: src/tags.cpp:314 msgid "bottom, left" msgstr "dolu. vľavo" #: src/tags.cpp:315 msgid "left, top" msgstr "hore, vľavo" #: src/tags.cpp:316 msgid "right, top" msgstr "vpravo, hore" #: src/tags.cpp:317 msgid "right, bottom" msgstr "vpravo, dolu" #: src/tags.cpp:318 src/tags.cpp:319 msgid "left, bottom" msgstr "vľavo, dolu" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "" #: src/tags.cpp:325 msgid "Horizontal differencing" msgstr "" #: src/tags.cpp:331 #, fuzzy msgid "not CMYK" msgstr "CMYK" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "" #: src/tags.cpp:339 src/tags.cpp:340 #, fuzzy msgid "Undefined data format" msgstr "Nepodporovaný formát dátumu" #: src/tags.cpp:345 #, fuzzy msgid "Not indexed" msgstr "nedefinované" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "" #: src/tags.cpp:351 msgid "A" msgstr "" #: src/tags.cpp:352 msgid "B" msgstr "" #: src/tags.cpp:353 msgid "C" msgstr "" # AF = automatické zaostrenie #: src/tags.cpp:354 #, fuzzy msgid "A+B-C" msgstr "AZ-C" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "" #: src/tags.cpp:362 msgid "Centered" msgstr "Vystrednený" #: src/tags.cpp:363 msgid "Co-sited" msgstr "Spolu umiestnený" #: src/tags.cpp:368 msgid "No flash" msgstr "Bez blesku" #: src/tags.cpp:370 #, fuzzy msgid "Fired, return light not detected" msgstr "Spustil sa, vracajúci sa impulz svetla nebol detekovaný." #: src/tags.cpp:371 #, fuzzy msgid "Fired, return light detected" msgstr "Spustil sa, vracajúci sa impulz svetla bol detekovaný." #: src/tags.cpp:372 msgid "Yes, did not fire" msgstr "Áno, blesk sa nespustil" #: src/tags.cpp:373 #, fuzzy msgid "Yes, compulsory" msgstr "Áno, povinný režim blesku, korekcia červených očí" #: src/tags.cpp:374 msgid "Yes, compulsory, return light not detected" msgstr "Áno, povinný režim blesku, vracajúce sa svetlo nedetekované." #: src/tags.cpp:375 msgid "Yes, compulsory, return light detected" msgstr "Áno, povinný režim blesku, vracajúce sa svetlo detekované." #: src/tags.cpp:376 msgid "No, compulsory" msgstr "" #: src/tags.cpp:377 #, fuzzy msgid "No, did not fire, return light not detected" msgstr "Nie, nespustil sa, vracajúci sa impulz svetla nebol detekovaný." #: src/tags.cpp:378 msgid "No, auto" msgstr "Nie, automaticky" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "Áno, automaticky" #: src/tags.cpp:380 msgid "Yes, auto, return light not detected" msgstr "Áno, vracajúci sa impulz svetla nebol detekovaný." #: src/tags.cpp:381 msgid "Yes, auto, return light detected" msgstr "Áno, automaticky, vracajúci sa impulz svetla bol detekovaný." #: src/tags.cpp:382 msgid "No flash function" msgstr "Bez funkcie blesku." #: src/tags.cpp:383 msgid "No, no flash function" msgstr "Nie, bez funkcie blesku." #: src/tags.cpp:384 msgid "Yes, red-eye reduction" msgstr "Áno, korekcia červených očí" #: src/tags.cpp:385 msgid "Yes, red-eye reduction, return light not detected" msgstr "Áno, korekcia červených očí, vracajúce sa svetlo nedetekované." #: src/tags.cpp:386 msgid "Yes, red-eye reduction, return light detected" msgstr "Áno, korekcia červených očí, vracajúce sa svetlo detekované." #: src/tags.cpp:387 msgid "Yes, compulsory, red-eye reduction" msgstr "Áno, povinný režim blesku, korekcia červených očí" #: src/tags.cpp:388 msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "" "Áno, povinný režim blesku, korekcia červených očí, vracajúce sa svetlo " "nedetekované." #: src/tags.cpp:389 msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "" "Áno, povinný režim blesku, korekcia červených očí, vracajúce sa svetlo " "detekované." #: src/tags.cpp:390 msgid "No, red-eye reduction" msgstr "Nie, korekcia červených očí" #: src/tags.cpp:391 msgid "No, auto, red-eye reduction" msgstr "Nie, automaticky, korekcia červených očí" #: src/tags.cpp:392 msgid "Yes, auto, red-eye reduction" msgstr "Áno, automaticky, korekcia červených očí" #: src/tags.cpp:393 msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "" "Áno, automaticky, korekcia červených očí, vracajúce sa svetlo nedetekované." #: src/tags.cpp:394 msgid "Yes, auto, red-eye reduction, return light detected" msgstr "" "Áno, automaticky, korekcia červených očí, vracajúce sa svetlo detekované." #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "" #: src/tags.cpp:408 msgid "Processing Software" msgstr "Softvér použitý na spracovanie" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "" #: src/tags.cpp:412 msgid "New Subfile Type" msgstr "Nový typ podsúboru" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "Všeobecné označenie údajov obsiahnutých v tomto podsúbore." #: src/tags.cpp:415 #, fuzzy msgid "Subfile Type" msgstr "Nový typ podsúboru" #: src/tags.cpp:416 #, fuzzy msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "Všeobecné označenie údajov obsiahnutých v tomto podsúbore." #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Počet stĺpcov obrazových údajov rovný počtu pixelov na riadok. V JPEG " "komprimovaných dátach sa namiesto tejto značky používa JPEG značka." #: src/tags.cpp:425 msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" "Počet riadkov obrazových údajov rovný počtu pixelov na stĺpec. V JPEG " "komprimovaných dátach sa namiesto tejto značky používa JPEG značka." # exif-bitspersample #: src/tags.cpp:428 msgid "Bits per Sample" msgstr "bitov na vzorku" #: src/tags.cpp:429 msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" "Počet bitov na obrazovú zložku. V tomto štandarde má každá zložka 8 bitov, " "takže hodnota tejto značky je 8. Pozri aj . V JPEG " "komprimovaných dátach sa namiesto tejto značky používa JPEG značka." #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" "Kompresná schéma použitá na obrazové dáta. Keď je primárny obrázok " "komprimovaný ako JPEG, tento údaj nie je potrebný a vynecháva sa. Ak náhľady " "používajú JPEG kompresiu, hodnota tejto značky je 6." #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" "Kompozícia pixelov. V JPEG komprimovaných dátach sa namiesto tejto značky " "používa JPEG značka." #: src/tags.cpp:444 msgid "Thresholding" msgstr "" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" #: src/tags.cpp:448 #, fuzzy msgid "Cell Width" msgstr "Orezať šírku" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" #: src/tags.cpp:452 #, fuzzy msgid "Cell Length" msgstr "Dĺžka dlaždice" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" #: src/tags.cpp:456 msgid "Fill Order" msgstr "poradie vypĺňania" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "" #: src/tags.cpp:459 msgid "Document Name" msgstr "Názov dokumentu" #: src/tags.cpp:460 #, fuzzy msgid "The name of the document from which this image was scanned" msgstr "Dátum, kedy bol titul vydaný" #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" "Znakový reťazec udávajúci nadpis obrázka. Môže to byť komentár ako \"rodinný " "piknik 1988\" alebo podobne. Dvojbajtové znakové sady nie je možné použiť. " "Keď je potrebná dvojbajtová znaková sada, použite Privátnu značku Exif " "." #: src/tags.cpp:470 msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" "Výrobca záznamového zariadenia. Toto je výrobca digitálneho fotoaparátu, " "skenera, videodigitalizátora alebo iného zariadenia, ktoré vytvorilo " "obrázok. Keď je pole prázdne, výrobca je neznámy." #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" "Názov alebo číslo modelu zariadenia. Toto je model digitálneho fotoaparátu, " "skenera, videodigitalizátora alebo iného zariadenia, ktoré vytvorilo " "obrázok. Keď je pole prázdne, model je neznámy." #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" "Pre každý prúžok, ofset prúžka v bajtoch. Odporúča sa ho zvoliť tak, aby " "počet bajtov prúžka neprekročil 60 kilobajtov. Pri JPEG komprimovaných " "dátach tento údaj nie je potrebný a vynechá sa. Pozri aj a " "." #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "Orientácia obrázka vzhľadom na riadky a stĺpce." # exif-samplesperpixel #: src/tags.cpp:491 msgid "Samples per Pixel" msgstr "vzoriek na pixel" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" "Počet zložiek na pixel. Keďže tento štandard sa vzťahuje na RGB a YCbCr " "obrázky, hodnota tejto značky je 3. V JPEG komprimovaných dátach sa namiesto " "tejto značky používa JPEG značka." # exif-rowsperstrip #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "riadkov na prúžok" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" "Počet riadkov na prúžok. Toto je počet obrazových riadkov v jednom prúžku, " "keď sa obrázok delí na prúžky. Pri JPEG komprimovaných dátach tento údaj nie " "je potrebný a vynechá sa. Pozri aj a ." # exif-stripbytecounts #: src/tags.cpp:502 msgid "Strip Byte Count" msgstr "bajtov na komprimovaný prúžok" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" "Celkový počet bajtov na každý komprimovaný prúžok. Pre JPEG komprimované " "dáta tento údaj nie je potrebný a vynechá sa." # exif-xresolution #: src/tags.cpp:506 msgid "X-Resolution" msgstr "vodorovné rozlíšenie" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" "Počet pixelov na v smere . Keď je rozlíšenie " "obrázka neznáme, použije sa 72 [dpi]." # exif-xresolution #: src/tags.cpp:510 msgid "Y-Resolution" msgstr "zvislé rozlíšenie" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" "Počet pixelov na v smere . Použije sa rovnaká " "hodnota ako ." #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" "Označuje, či sa obrazové zložky zaznamenávajú v kúskovom alebo rovinnom " "formáte. V JPEG komprimovaných dátach sa namiesto tejto značky používa JPEG " "značka. Ak toto pole neexistuje, štandardná hodnota pre TIFF sa predpokladá " "1 (kúskový)." # AF = automatické zaostrenie #: src/tags.cpp:520 #, fuzzy msgid "Gray Response Unit" msgstr "bod automatického zaostrenia" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "" #: src/tags.cpp:523 #, fuzzy msgid "Gray Response Curve" msgstr "Krivka tónu" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "" #: src/tags.cpp:526 #, fuzzy msgid "T4 Options" msgstr "Voľba" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "" #: src/tags.cpp:529 #, fuzzy msgid "T6 Options" msgstr "Voľba" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "" #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" "Jednotka pre meranie and . Rovnaká jednotka sa " "používa pre aj . Ak je rozlíšenie obrázka " "neznáme, použije sa 2 (palce)." #: src/tags.cpp:537 #, fuzzy msgid "Page Number" msgstr "Číslo obrázka" #: src/tags.cpp:538 #, fuzzy msgid "The page number of the page from which this image was scanned." msgstr "Dátum, kedy bol titul vydaný" #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" "Prenosová funkcia obrázka, popísaná tabuľkou. Bežne táto značka nie je " "potrebná, keďže farebný priestor je uvedený v informačnej značke farebného " "priestoru ()." #: src/tags.cpp:546 msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" "Táto značka zaznamenáva názov a verziu softvéru alebo firmvéru fotoaparátu " "alebo zariadenia, ktoré bolo použité pri tvorbe obrázka. Podrobný formát nie " "je špecifikovaný, ale odporúča sa dodržiavať formát ako v dolu uvedenom " "príklade. Keď je pole prázdne, verzia je neznáma." #: src/tags.cpp:553 msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" "Dátum a čas vytvorenia obrázka. V tomto štandarde (EXIF-2.1) je to dátum a " "čas zmeny súboru." #: src/tags.cpp:557 msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" "Táto značka zaznamenáva vlastníka fotoaparátu, fotografa alebo tvorcu " "obrázka. Presný formát nie je špecifikovaný, ale odporúča sa, aby kvôli " "interoperabilite bola informácia zapísaná ako v dolu uvedenom príklade. Keď " "je pole prázdne, umelec je neznámy. Príklad: \"Camera owner, John Smith; " "Photographer, Michael Brown; Image creator, Ken James\"" #: src/tags.cpp:564 msgid "Host Computer" msgstr "" #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" #: src/tags.cpp:568 #, fuzzy msgid "Predictor" msgstr "Pôvodca" #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" #: src/tags.cpp:573 msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" "Chromaticita bieleho bodu obrázka. Bežne nie je táto značka potrebná, keďže " "farebný priestor je uvedený v informačnej značke farebného priestoru " "()." #: src/tags.cpp:578 msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" "Chromaticity troch primárnych farieb obrázka. Bežne nie je táto značka " "potrebná, keďže farebný priestor je uvedený v informačnej značke farebného " "priestoru ()." #: src/tags.cpp:582 #, fuzzy msgid "Color Map" msgstr "Matica farieb" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" #: src/tags.cpp:593 msgid "Tile Width" msgstr "Šírka dlaždice" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "" #: src/tags.cpp:596 msgid "Tile Length" msgstr "Dĺžka dlaždice" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "" # exif-stripoffsets #: src/tags.cpp:599 msgid "Tile Offsets" msgstr "Ofsety dlaždíc" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" # exif-stripbytecounts #: src/tags.cpp:605 msgid "Tile Byte Counts" msgstr "Počet bajtov dlaždice" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" #: src/tags.cpp:609 msgid "SubIFD Offsets" msgstr "Umiestnenie SubIFD" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "Definovala Adobe Corporation aby umožnila TIFF stromy v TIFF súboroch." #: src/tags.cpp:612 #, fuzzy msgid "Ink Set" msgstr "Nastaviť" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:615 #, fuzzy msgid "Ink Names" msgstr "Meno vlastníka" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:618 #, fuzzy msgid "Number Of Inks" msgstr "Počet stránok" #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" #: src/tags.cpp:621 #, fuzzy msgid "Dot Range" msgstr "Dynamický rozsah" #: src/tags.cpp:622 #, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "" #: src/tags.cpp:624 #, fuzzy msgid "Target Printer" msgstr "Cieľová clona" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "" #: src/tags.cpp:627 #, fuzzy msgid "Extra Samples" msgstr "bitov na vzorku" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" #: src/tags.cpp:631 #, fuzzy msgid "Sample Format" msgstr "Formát súboru" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "" #: src/tags.cpp:634 #, fuzzy msgid "SMin Sample Value" msgstr "Ostrosť" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "" #: src/tags.cpp:637 #, fuzzy msgid "SMax Sample Value" msgstr "Max. hodnota clony" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "" #: src/tags.cpp:640 msgid "Transfer Range" msgstr "prenosový rozsah" #: src/tags.cpp:641 msgid "Expands the range of the TransferFunction" msgstr "" #: src/tags.cpp:643 msgid "Clip Path" msgstr "" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" #: src/tags.cpp:647 msgid "X Clip Path Units" msgstr "" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:651 msgid "Y Clip Path Units" msgstr "" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" #: src/tags.cpp:660 #, fuzzy msgid "JPEG tables" msgstr "JPEG proces" #: src/tags.cpp:661 msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" #: src/tags.cpp:668 msgid "JPEG Process" msgstr "JPEG proces" #: src/tags.cpp:669 msgid "This field indicates the process used to produce the compressed data" msgstr "" # exif-jpeginterchangeformat #: src/tags.cpp:671 msgid "JPEG Interchange Format" msgstr "formát JPEG" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" "Ofset k začiatočnému bajtu (SOI) komprimovaných JPEG dát náhľadu. Nepoužíva " "sa pre JPEG dáta primárneho obrázka." # exif-jpeginterchangeformatlength #: src/tags.cpp:675 msgid "JPEG Interchange Format Length" msgstr "dĺžka JPEG dát" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" "Počet bajtov komprimovaných JPEG dát náhľadu. Nepoužíva sa pre JPEG dáta " "primárneho obrázka. JPEG náhľady sa nerozdeľujú ale zaznamenávajú sa ako " "súvislý bitový tok JPEG od SOI po EOI. Značky Appn a COM sa nezaznamenávajú. " "Komprimované náhľady nesmú byť zaznamenané vo viac ako 64 kilobajtoch " "vrátane všetkých ostatných dát zaznamenaných v APP1." #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "" #: src/tags.cpp:684 #, fuzzy msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "" "Táto značka označuje smer spracovania ostrosti, ktorý použil fotoaparát pri " "zachytení obrázka." #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "" #: src/tags.cpp:694 #, fuzzy msgid "JPEG Q-Tables" msgstr "JPEG proces" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" #: src/tags.cpp:698 #, fuzzy msgid "JPEG DC-Tables" msgstr "JPEG proces" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" #: src/tags.cpp:702 #, fuzzy msgid "JPEG AC-Tables" msgstr "JPEG proces" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" #: src/tags.cpp:707 msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" "Matica koeficientov transformácie obrazových dát z RGB na YCbCr. V TIFF nie " "je definovaná štandardná hodnota; ale tu sa používa hodnota uvedená v " "Prílohe E, \"Pokyny ohľadne farebného priestoru\". Farebný priestor je " "deklarovaný informačnou značkou farebného priestoru, pričom štandardnou " "hodnotou je tá, ktorá dáva optimálnu charakteristiku interoperability tohto " "stavu." # exif-ycbcrsubsampling #: src/tags.cpp:715 msgid "YCbCr Sub-Sampling" msgstr "podvzorkovanie YCbCr" #: src/tags.cpp:716 msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Vzorkovací pomer zložiek chrominancie v pomere k svietivosti. V dátach " "komprimovaných JPEG sa namiesto tejto značky používa značka JPEG." #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" "Poloha zložiek chrominancie vzhľadom ku zložke svietivosti. Toto pole je " "určené iba pre komprimované dáta JPEG alebo nekomprimované dáta YCbCr. " "Štandard TIFF je 1 (centrované), ale keď Y:Cb:Cr = 4:2:2 odporúča sa v tomto " "štandarde použiť pre záznam dát 2 (na rovnakom mieste), aby sa zlepšila " "kvalita obrazu pri zobrazovaní na televíznych systémoch. Keď toto pole " "neexistuje, čítacie zariadenie bude predpokladať štandard TIFF. V prípade, " "že Y:Cb:Cr = 4:2:0 sa odporúča štandard TIFF (centrované). Ak čítacie " "zariadenie nedokáže naraz podporovať oba druhy , bude sa " "držať štandardu TIFF nezávisle od hodnoty v tomto poli. Uprednostňuje sa, " "aby čítacie zariadenia podporovali obe polohy - centrované aj na rovnakom " "mieste." # exif-referenceblackwhite #: src/tags.cpp:735 msgid "Reference Black/White" msgstr "referenčná čierna/biela" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" "Referenčná hodnota čierneho bodu a referenčná hodnota bieleho bodu. TIFF " "neudáva štandardné hodnoty, ale nižšie uvedené hodnoty sú tu dané ako " "štandardy. Farebný priestor sa deklaruje v informačnej značke farebného " "priestoru, pričom štandardnou hodnotou je tá, ktorá dáva optimálnu " "charakteristiku interoperability tohto stavu." #: src/tags.cpp:743 msgid "XML Packet" msgstr "XML paket" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "" #: src/tags.cpp:746 msgid "Windows Rating" msgstr "Windows hodnotenie" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "" #: src/tags.cpp:749 #, fuzzy msgid "Windows Rating Percent" msgstr "Percentá hodnotenia" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "" #: src/tags.cpp:752 #, fuzzy msgid "Image ID" msgstr "Jedinečný ID obrázka" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" "Označuje geometrickú vzorku poľa farebného filtra (CFA) obrazového snímača " "pri použítí jednočipového farebného snímača oblasti. Nevzťahuje sa na všetky " "metódy snímania." #: src/tags.cpp:770 #, fuzzy msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" "Informácia o autorských právach. V tomto štandarde značka označuje aj práva " "fotografa aj redaktora. Je to informácia o autorských právach osoby či " "organizácie, ktorá si nárokuje práva na obrázok. Do tohto poľa patrí " "vyhlásenie autorských práv vrátane dátumu; napr. \"Copyright, John Smith, " "20xx. Všetky práva vyhradené.\". V tomto štandarde pole obsahuje ako " "autorské práva fotografa, tak aj redaktora, pričom každé je samostatnou " "časťou záznamu. Keď existuje jasný rozdiel medzi autorskými právami " "fotografa a redaktora, majú byť zapísané v poradí najskôr fotograf, potom " "redaktor, oddelené znakom NULL (v takom prípade, keďže značka tiež končí " "znakom NULL, obsahuje dva znaky NULL) (pozri príklad 1). Keď sa udáva iba " "fotograf, je ukončené iba jedným znakom NULL (pozri príklad 2). Keď je pole " "nevyplnené, zaobchádza sa s ním ako s neznámym." #: src/tags.cpp:789 #, fuzzy msgid "Exposure time, given in seconds." msgstr "Čas expozície v sekundách (sek)." # exif-fnumber #: src/tags.cpp:790 src/tags.cpp:1553 msgid "The F number." msgstr "číslo F." #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "IPTC/NAA" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "Obsahuje IPTC/NAA nahrávku" #: src/tags.cpp:794 msgid "Image Resources Block" msgstr "blok obrazových prostriedkov" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "" #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" "Ukazovateľ na Exif IFD. Interoperabilita, Exif IFD má rovnakú štruktúru ako " "štruktúra IFD podľa špecifikácie v TIFF. Bežne však neobsahuje obrazové dáta " "ako v prípade štruktúry v TIFF." #: src/tags.cpp:803 msgid "Inter Color Profile" msgstr "Farebný profil Inter" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" "Trieda programu, ktorý fotoaparát používa na nastavenie expozície pri fotení " "obrázka." #: src/tags.cpp:807 #, fuzzy msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "EXIF značka 34852, 0x8824. Spektrálna citlivosť každého kanála" #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" "Ukazovateľ na GPS Info IFD. Štruktúra interoperability GPS Info IFD, rovnako " "ako pri Exif IFD, neobsahuje obrazové dáta." # exif-isospeedratings #: src/tags.cpp:813 src/tags.cpp:1564 msgid "ISO Speed Ratings" msgstr "rýchlostné ohodnotenie ISO" #: src/tags.cpp:813 src/tags.cpp:1565 msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" "Označuje ISO rýchlosť a ISO zemepisnú šírku fotoaparátu alebo vstupného " "zariadenia podľa špecifikácie ISO 12232." #: src/tags.cpp:814 #, fuzzy msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" "EXIF značka 34856, 0x8828. Opto-elektronická konverzná funkcie podľa " "špecifikácie ISO 14524" #: src/tags.cpp:815 #, fuzzy msgid "Interlace" msgstr "Prekladaný" #: src/tags.cpp:815 #, fuzzy msgid "Indicates the field number of multifield images." msgstr "Rozloženie obrázka." # exif-stripoffsets #: src/tags.cpp:816 #, fuzzy msgid "Time Zone Offset" msgstr "Ofsety dlaždíc" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" #: src/tags.cpp:823 #, fuzzy msgid "Self Timer Mode" msgstr "Samospúšť" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "" #: src/tags.cpp:824 #, fuzzy msgid "Date Time Original" msgstr "Dátum a čas zhotovenia" #: src/tags.cpp:824 #, fuzzy msgid "The date and time when the original image data was generated." msgstr "Dátum a čas, kedy boli metadáta naposledy zmenené." #: src/tags.cpp:825 #, fuzzy msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "" "Informácia špecifická komprimovaným dátam. Režim kompresie použitý na " "komprimovaný obrázok sa označuje v jednotkách bity na pixel." # exif-shutterspeedvalue #: src/tags.cpp:826 #, fuzzy msgid "Shutter speed." msgstr "rýchlosť uzávierky" #: src/tags.cpp:827 #, fuzzy msgid "The lens aperture." msgstr "Max. clona" #: src/tags.cpp:828 #, fuzzy msgid "The value of brightness." msgstr "Počet úderov." #: src/tags.cpp:829 #, fuzzy msgid "The exposure bias." msgstr "Skreslenie expozície" #: src/tags.cpp:830 src/tags.cpp:1645 msgid "Max Aperture Value" msgstr "Max. hodnota clony" #: src/tags.cpp:830 #, fuzzy msgid "The smallest F number of the lens." msgstr "Názov scény" #: src/tags.cpp:831 src/tags.cpp:1651 msgid "The distance to the subject, given in meters." msgstr "Vzdialenosť subjektu v metroch." #: src/tags.cpp:832 src/tags.cpp:1654 msgid "The metering mode." msgstr "Režim merania." #: src/tags.cpp:833 src/tags.cpp:1657 msgid "The kind of light source." msgstr "Druh svetelného zdroja." #: src/tags.cpp:834 #, fuzzy msgid "Indicates the status of flash when the image was shot." msgstr "" "Táto značka označuje aký režim vyváženia bielej bol zvolený pri odfotení " "obrázka." #: src/tags.cpp:835 #, fuzzy msgid "The actual focal length of the lens, in mm." msgstr "" "EXIF značka 37386, 0x920A. Ohnisková vzdialenosť šošoviek v milimetroch" #: src/tags.cpp:836 msgid "Amount of flash energy (BCPS)." msgstr "" #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "" #: src/tags.cpp:838 #, fuzzy msgid "Noise" msgstr "Nič" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "" #: src/tags.cpp:839 #, fuzzy msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" "Počet pixelov na v smere . Použije sa rovnaká " "hodnota ako ." #: src/tags.cpp:840 #, fuzzy msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" "Počet pixelov na v smere . Použije sa rovnaká " "hodnota ako ." #: src/tags.cpp:841 #, fuzzy msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" "EXIF značka 41488, 0xA210. Jednotka pre FocalPlaneXResolution a " "FocalPlaneYResolution" #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "" #: src/tags.cpp:843 #, fuzzy msgid "Security Classification" msgstr "Elektromagnetické zväčšenie" #: src/tags.cpp:843 #, fuzzy msgid "Security classification assigned to the image." msgstr "Elektromagnetické zväčšenie" #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "" #: src/tags.cpp:845 #, fuzzy msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "" "Táto značka označuje polohu a plochu hlavného subjektu v celkovej scéne." #: src/tags.cpp:846 #, fuzzy msgid "Encodes the camera exposure index setting when image was captured." msgstr "" "Táto značka označuje expozičný index zvolený na fotoaparáte alebo vstupnom " "zariadení v čase zachytenia obrázka." #: src/tags.cpp:847 msgid "TIFF/EP Standard ID" msgstr "ID štandardu TIFF/EP" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" #: src/tags.cpp:851 #, fuzzy msgid "Type of image sensor." msgstr "Počet obrázkov" #: src/tags.cpp:852 msgid "Windows Title" msgstr "Názov okna" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:855 msgid "Windows Comment" msgstr "Windows Komentár" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:858 msgid "Windows Author" msgstr "Windows autor" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:861 msgid "Windows Keywords" msgstr "Windows kľúčové slová" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:864 msgid "Windows Subject" msgstr "Windows predmet" #: src/tags.cpp:865 msgid "Subject tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:867 msgid "Print Image Matching" msgstr "" #: src/tags.cpp:868 msgid "Print Image Matching, description needed." msgstr "" #: src/tags.cpp:870 msgid "DNG version" msgstr "Verzia DNG" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" #: src/tags.cpp:875 msgid "DNG backward version" msgstr "Spätná verzia DNG" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" #: src/tags.cpp:884 msgid "Unique Camera Model" msgstr "Jedinečný model fotoaparátu" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" #: src/tags.cpp:892 msgid "Localized Camera Model" msgstr "Lokalizovaný model fotoaparátu" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" #: src/tags.cpp:897 msgid "CFA Plane Color" msgstr "Farba CFA roviny" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" #: src/tags.cpp:902 msgid "CFA Layout" msgstr "" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "" #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" #: src/tags.cpp:912 msgid "Black Level Repeat Dim" msgstr "Úroveň čiernej - stlmenie opakovania" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "" #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" #: src/tags.cpp:921 msgid "Black Level Delta H" msgstr "Úroveň čiernej - vodorov. rozdiel" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" #: src/tags.cpp:928 msgid "Black Level Delta V" msgstr "Úroveň čiernej - zvis. rozdiel" #: src/tags.cpp:929 msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" #: src/tags.cpp:935 msgid "White Level" msgstr "Úroveň bielej" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" #: src/tags.cpp:941 msgid "Default Scale" msgstr "Štandardná škála" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" #: src/tags.cpp:957 #, fuzzy msgid "Default Crop Size" msgstr "Štandardná škála" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" #: src/tags.cpp:964 msgid "Color Matrix 1" msgstr "Matica farieb 1" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" #: src/tags.cpp:971 msgid "Color Matrix 2" msgstr "Matica farieb 2" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" #: src/tags.cpp:977 msgid "Camera Calibration 1" msgstr "Kalibrácia fotoaparátu 1" #: src/tags.cpp:978 msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:987 #, fuzzy msgid "Camera Calibration 2" msgstr "Kalibrácia fotoaparátu 1" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:997 #, fuzzy msgid "Reduction Matrix 1" msgstr "Matica farieb 1" #: src/tags.cpp:998 msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1004 #, fuzzy msgid "Reduction Matrix 2" msgstr "Matica farieb 2" #: src/tags.cpp:1005 msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1011 msgid "Analog Balance" msgstr "Analógové vyváženie" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" #: src/tags.cpp:1021 msgid "As Shot Neutral" msgstr "Neutrálny, ako nafotený" #: src/tags.cpp:1022 msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" #: src/tags.cpp:1027 msgid "As Shot White XY" msgstr "" #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" #: src/tags.cpp:1032 #, fuzzy msgid "Baseline Exposure" msgstr "Viacnásobná expozícia" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" #: src/tags.cpp:1047 #, fuzzy msgid "Baseline Noise" msgstr "Viacnásobná expozícia" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" #: src/tags.cpp:1054 #, fuzzy msgid "Baseline Sharpness" msgstr "Ostrosť" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" #: src/tags.cpp:1061 msgid "Bayer Green Split" msgstr "" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" #: src/tags.cpp:1070 msgid "Linear Response Limit" msgstr "" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" #: src/tags.cpp:1079 msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" #: src/tags.cpp:1082 msgid "Lens Info" msgstr "Info o šošovkách" #: src/tags.cpp:1083 msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" #: src/tags.cpp:1095 msgid "Anti Alias Strength" msgstr "Sila antialiasingu" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" # exif-lightsource-11 #: src/tags.cpp:1102 #, fuzzy msgid "Shadow Scale" msgstr "Tieň" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" #: src/tags.cpp:1106 msgid "DNG Private Data" msgstr "Privátne údaje DNG" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" #: src/tags.cpp:1111 msgid "MakerNote Safety" msgstr "Poistka Poznámky výrobcu" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" #: src/tags.cpp:1119 msgid "Calibration Illuminant 1" msgstr "" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" #: src/tags.cpp:1125 #, fuzzy msgid "Calibration Illuminant 2" msgstr "Bez korekcie" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" #: src/tags.cpp:1132 #, fuzzy msgid "Best Quality Scale" msgstr "Štandardná škála" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" #: src/tags.cpp:1140 msgid "Raw Data Unique ID" msgstr "Jedinečný ID nespracovaných údajov" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" #: src/tags.cpp:1149 msgid "Original Raw File Name" msgstr "Názov nespracovaného pôvodného súboru" #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" #: src/tags.cpp:1153 #, fuzzy msgid "Original Raw File Data" msgstr "Názov nespracovaného pôvodného súboru" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" # exif-subjectarea #: src/tags.cpp:1164 msgid "Active Area" msgstr "Aktívna oblasť" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" #: src/tags.cpp:1168 msgid "Masked Areas" msgstr "Maskované oblasti" #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" #: src/tags.cpp:1176 msgid "As-Shot ICC Profile" msgstr "ICC profil ako bolo nafotené" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" #: src/tags.cpp:1188 #, fuzzy msgid "As-Shot Pre-Profile Matrix" msgstr "ICC profil ako bolo nafotené" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" #: src/tags.cpp:1198 msgid "Current ICC Profile" msgstr "Aktuálny ICC profil" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1205 #, fuzzy msgid "Current Pre-Profile Matrix" msgstr "Aktuálny ICC profil" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1212 #, fuzzy msgid "Colorimetric Reference" msgstr "GPS referencia zemepisnej dĺžky" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" #: src/tags.cpp:1220 #, fuzzy msgid "Camera Calibration Signature" msgstr "Kalibrácia fotoaparátu 1" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" #: src/tags.cpp:1227 #, fuzzy msgid "Profile Calibration Signature" msgstr "Bez korekcie" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" #: src/tags.cpp:1234 #, fuzzy msgid "As Shot Profile Name" msgstr "ICC profil ako bolo nafotené" #: src/tags.cpp:1235 msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" #: src/tags.cpp:1238 #, fuzzy msgid "Noise Reduction Applied" msgstr "Redukcia šumu" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" #: src/tags.cpp:1246 #, fuzzy msgid "Profile Name" msgstr "Názvy plôch" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1279 #, fuzzy msgid "Profile Tone Curve" msgstr "Krivka tónu" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" #: src/tags.cpp:1288 msgid "Profile Embed Policy" msgstr "" #: src/tags.cpp:1289 msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" #: src/tags.cpp:1292 #, fuzzy msgid "Profile Copyright" msgstr "Copyright" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" #: src/tags.cpp:1297 #, fuzzy msgid "Forward Matrix 1" msgstr "Matica farieb 1" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" #: src/tags.cpp:1301 #, fuzzy msgid "Forward Matrix 2" msgstr "Matica farieb 2" #: src/tags.cpp:1305 #, fuzzy msgid "Preview Application Name" msgstr "Dáta náhľadu" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" #: src/tags.cpp:1309 #, fuzzy msgid "Preview Application Version" msgstr "Verzia náhľadu" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" #: src/tags.cpp:1313 #, fuzzy msgid "Preview Settings Name" msgstr "Zobraziť vložený obrázok" #: src/tags.cpp:1314 msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" # exif-devicesettingdescription #: src/tags.cpp:1317 #, fuzzy msgid "Preview Settings Digest" msgstr "opis nastavení zariadenia" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" #: src/tags.cpp:1321 #, fuzzy msgid "Preview Color Space" msgstr "Farebný priestor videa" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" #: src/tags.cpp:1326 #, fuzzy msgid "Preview Date Time" msgstr "Dáta náhľadu" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" #: src/tags.cpp:1331 #, fuzzy msgid "Raw Image Digest" msgstr "Počet obrázkov" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" #: src/tags.cpp:1337 #, fuzzy msgid "Original Raw File Digest" msgstr "Názov nespracovaného pôvodného súboru" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" #: src/tags.cpp:1387 #, fuzzy msgid "Noise Profile" msgstr "Farebný filter" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" #: src/tags.cpp:1396 src/tags.cpp:1397 msgid "Unknown IFD tag" msgstr "Neznáma značka IFD" #: src/tags.cpp:1408 src/tags.cpp:1466 msgid "Not defined" msgstr "nedefinované" #: src/tags.cpp:1413 msgid "Creative program" msgstr "Tvorivý program" #: src/tags.cpp:1414 msgid "Action program" msgstr "Akčný program" #: src/tags.cpp:1415 msgid "Portrait mode" msgstr "Režim portrét" #: src/tags.cpp:1416 msgid "Landscape mode" msgstr "Režim krajinka" #: src/tags.cpp:1425 msgid "Multi-spot" msgstr "Viacbodový" # exif-lightsource-3 #: src/tags.cpp:1437 msgid "Tungsten (incandescent light)" msgstr "volfram (inkadescentné svetlo)" # exif-lightsource-9 #: src/tags.cpp:1439 msgid "Fine weather" msgstr "pekné počasie" # exif-lightsource-10 #: src/tags.cpp:1440 msgid "Cloudy weather" msgstr "oblačné počasie" #: src/tags.cpp:1442 msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "denné svetlo fluorescenčné (D 5700 - 7100K)" #: src/tags.cpp:1443 msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "biely deň, fluorescenčné (N 4600 - 5400K)" #: src/tags.cpp:1444 msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "chladné biele fluorescenčné (W 3900 - 4500K)" #: src/tags.cpp:1445 msgid "White fluorescent (WW 3200 - 3700K)" msgstr "biele fluorescenčné (WW 3200 - 3700K)" #: src/tags.cpp:1446 msgid "Standard light A" msgstr "Štandardné svetlo A" #: src/tags.cpp:1447 msgid "Standard light B" msgstr "Štandardné svetlo B" #: src/tags.cpp:1448 msgid "Standard light C" msgstr "Štandardné svetlo C" # exif-lightsource-20 #: src/tags.cpp:1449 msgid "D55" msgstr "D55" # exif-lightsource-21 #: src/tags.cpp:1450 msgid "D65" msgstr "D65" # exif-lightsource-22 #: src/tags.cpp:1451 msgid "D75" msgstr "D75" #: src/tags.cpp:1452 msgid "D50" msgstr "D50" # exif-lightsource-24 #: src/tags.cpp:1453 msgid "ISO studio tungsten" msgstr "ISO štúdiový volfrám" #: src/tags.cpp:1454 msgid "Other light source" msgstr "Iný svetelný zdroj" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "Nekalibrované" # exif-sensingmethod-2 #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "jednočipový farebný snímač oblasti" # exif-sensingmethod-3 #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "dvojčipový farebný snímač oblasti" # exif-sensingmethod-4 #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "trojčipový farebný snímač oblasti" # exif-sensingmethod-5 #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "sekvenčný farebný snímač oblasti" # exif-sensingmethod-7 #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "trilineárny snímač" # exif-sensingmethod-5 #: src/tags.cpp:1472 msgid "Color sequential linear" msgstr "sekvenčný farebný snímač oblasti" #: src/tags.cpp:1477 #, fuzzy msgid "Film scanner" msgstr "Názov súboru" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "" #: src/tags.cpp:1479 msgid "Digital still camera" msgstr "digitálny fotoaparát" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "" #: src/tags.cpp:1489 msgid "Normal process" msgstr "Bežné spracovanie" #: src/tags.cpp:1490 msgid "Custom process" msgstr "Vlastné spracovanie" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "Slabé zosilnenie" # exif-gaincontrol-2 #: src/tags.cpp:1519 msgid "High gain up" msgstr "vysoké zosilnenie" # exif-gaincontrol-3 #: src/tags.cpp:1520 msgid "Low gain down" msgstr "nízke zoslabenie" # exif-gaincontrol-4 #: src/tags.cpp:1521 msgid "High gain down" msgstr "vysoké zoslabenie" # exif-subjectdistancerange-2 #: src/tags.cpp:1542 msgid "Close view" msgstr "pohľad zblízka" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "Vzdialený pohľad" #: src/tags.cpp:1550 msgid "Exposure time, given in seconds (sec)." msgstr "Čas expozície v sekundách (sek)." #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" "Označuje spektrálnu citlivosť každého z kanálov použitého fotoaparátu. " "Hodnota značky je ASCII reťazec kompatibilný so štandardom vyvinutým " "Technickou komisiou ASTM." #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "" # exif-oecf #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" "Označuje optoelektronickú konverznú funkciu (OECF) podľa špecifikácie ISO " "14524. je vzťah medzi optickým vstupom fotoaparátu a hodnotami " "obrázka." #: src/tags.cpp:1573 #, fuzzy msgid "Sensitivity Type" msgstr "ISO citlivosť" #: src/tags.cpp:1574 msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" #: src/tags.cpp:1580 #, fuzzy msgid "Standard Output Sensitivity" msgstr "Spektrálna citlivosť:" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1585 #, fuzzy msgid "Recommended Exposure Index" msgstr "Index expozície" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1595 #, fuzzy msgid "ISO Speed Latitude yyy" msgstr "Režim ISO rýchlosť" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" #: src/tags.cpp:1600 #, fuzzy msgid "ISO Speed Latitude zzz" msgstr "Režim ISO rýchlosť" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" "Podporovaná verzia tohto štandardu. Neexistencia tohto poľa znamená " "nekonformnosť so štandardom." #: src/tags.cpp:1609 msgid "Date and Time (original)" msgstr "Dátum a čas (pôvodný)" #: src/tags.cpp:1610 msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" "Dátum a čas, kedy boli vytvorené pôvodné obrazové dáta. Pre digitálny " "fotoaparát je to dátum a čas zachytenia a zaznamenania obrázka." # exif-datetimedigitized #: src/tags.cpp:1613 msgid "Date and Time (digitized)" msgstr "dátum a čas digitalizácie" #: src/tags.cpp:1614 msgid "The date and time when the image was stored as digital data." msgstr "Dátum a čas, kedy bol obrázok uložený ako digitálne dáta." #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" "Informácia špecifická pre kompresné dáta. Kanály každej zložky sú zoradené v " "poradí d 1. po 4. zložku. Pre nekomprimované dáta je poradie dát dané " "značkou . Avšak keďže " "dokáže vyjadriť iba poradie Y, Cb a táto značka je použiteľná v prípadoch, " "kedy komprimované dáta používajú iné komponenty ako Y, Cb, a Cr a na to, aby " "sa umožnila podpora iných poradí." # exif-compressedbitsperpixel #: src/tags.cpp:1626 msgid "Compressed Bits per Pixel" msgstr "komprimované bity na pixel" #: src/tags.cpp:1627 msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" "Informácia špecifická komprimovaným dátam. Režim kompresie použitý na " "komprimovaný obrázok sa označuje v jednotkách bity na pixel." #: src/tags.cpp:1631 msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" "Rýchlosť uzávierky. Jednotka je nastavenie APEX (Aditívny systém " "fotografickej expozície)." #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "Clona. Jednotka je hodnota APEX." #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" "Hodnota jasu. Jednotka je hodnota APEX. Bežne sa udáva v rozsahu -99.99 až " "99.99." #: src/tags.cpp:1641 msgid "Exposure Bias" msgstr "Skreslenie expozície" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" "Expozičné skreslenie. Jednotka je hodnota APEX. Bežne sa udáva v rozsahu " "-99.99 až 99.99." #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" "Najmenšie číslo F šošoviek. Jednotka je hodnota APEX. Bežne sa udáva v " "rozsahu -99.99 až 99.99." #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "" "Táto značka sa zaznamenáva, keď je obrázok odfotený pri impulznom svetle " "(blesk)." #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" "Skutočná ohnisková vzdialenosť šošoviek v mm. Nerobí sa konverzia na " "ohniskovú vzdialenosť fotoaparátu s 35 mm filmom." #: src/tags.cpp:1667 msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "" "Táto značka označuje polohu a plochu hlavného subjektu v celkovej scéne." #: src/tags.cpp:1670 msgid "Maker Note" msgstr "Poznámka výrobcu" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" "Značka pre výrobcov zariadení zapisujúcich EXIF informácie pre uloženie " "akejkoľvek potrebnej informácie. Obsah je na výrobcovi." #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" #: src/tags.cpp:1679 #, fuzzy msgid "Sub-seconds Time" msgstr "Pôvodný čas - zlomky sekundy" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "Značka, ktorá sa používa na záznam zlomkov sekundy značky ." #: src/tags.cpp:1682 msgid "Sub-seconds Time Original" msgstr "Pôvodný čas - zlomky sekundy" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "Značka, ktorá sa používa na záznam zlomkov sekundy značky ." #: src/tags.cpp:1685 msgid "Sub-seconds Time Digitized" msgstr "Čas digitalizácie - zlomky sekundy" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "Značka, ktorá sa používa na záznam zlomkov sekundy značky " "." #: src/tags.cpp:1688 msgid "FlashPix Version" msgstr "Verzia FlashPix" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "Verzia FlashPix formátu podporovaná FPXR súborom." #: src/tags.cpp:1692 msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" "Značka informácie o farebnom priestore je vždy zaznamenaná ako špecifikátor " "farebného priestoru. Normálne sa na definíciu farebného priestoru používa " "sRGB (=1) na základe podmienok a prostredia PC monitora. Ak je použitý iný " "farebný priestor ako sRGB, nastaví sa Nekalibrovaný (=FFFF.H). S obrazovými " "údajmi zaznamenanými ako Nekalibrované je možné pracovať ako s sRGB keď sa " "skonvertujú na FlashPix." #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" "Informácia špecifická komprimovaným dátam. Keď sa zaznamená komprimovaný " "súbor, platná šírka zmysluplného obrázka sa musí zaznamenať do tejto značky, " "či je alebo nie je prítomná výplň alebo značka reštart. Táto značka by " "nemala existovať v nekomprimovanom súbore." #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" "Informácia špecifická komprimovaným dátam. Keď sa zaznamená komprimovaný " "súbor, platná výška zmysluplného obrázka sa musí zaznamenať do tejto značky, " "či je alebo nie je prítomná výplň alebo značka reštart. Táto značka by " "nemala existovať v nekomprimovanom súbore. Keďže nie je potrebné dopĺňať " "údaje v zvislom smere, počet riadkov zaznamenaných v tejto značke platnej " "výšky obrázka bude v skutočnosti rovnaký ako v SOF." #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" #: src/tags.cpp:1723 msgid "Interoperability IFD Pointer" msgstr "IFD ukazovateľ interoperability" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" "IFD interoperability sa skladá zo značiek ukladajúcich informácie na " "zaistenie interoperability a ukazuje naň nasledujúci značku nachádzajúcu sa " "v Exif IFD. Štruktúra IFD interoperability je rovnaká ako IFD štruktúra " "definovaná v TIFF, ale neobsahuje obrazové údaje charakteristicky porovnané " "s normálnym TIFF IFD." #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" "Označuje energiu elektronického dosvietenia v čase zachytenia obrázka meranú " "v Beam Candle Power Seconds (BCPS)." #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" "Táto značka zaznamenáva tabuľku priestorovej frekvenčnej odozvy zariadenia a " "hodnoty PFO v smere šírky obrázka a v diagonálnom smere podľa špecifikácie " "ISO 12233." # exif-focalplanexresolution #: src/tags.cpp:1740 msgid "Focal Plane X-Resolution" msgstr "horizontálne rozlíšenie ohniskovej roviny" #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" "Táto značka označuje počet pixelov šírky obrázka (X) na " " v ohniskovej rovine fotoaparátu." # exif-focalplanexresolution #: src/tags.cpp:1744 msgid "Focal Plane Y-Resolution" msgstr "horizontálne rozlíšenie ohniskovej roviny" #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" "Táto značka označuje počet pixelov výšky obrázka (Y) na " " v ohniskovej rovine fotoaparátu." #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" "Táto značka označuje jednotky, v ktorých je merané a " ". Táto hodnota je rovnaká ako ." #: src/tags.cpp:1753 msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" "Táto značka označuje umiestnenie hlavného subjektu na scéne. Hodnota tejto " "značky predstavuje pixel v strede hlavného subjektu vzhľadom na ľavý okraj, " "pred procesom rotácie podľa značky . Prvá hodnota označuje číslo X " "stĺpca a druhá označuje číslo Y riadka." #: src/tags.cpp:1759 msgid "Exposure index" msgstr "Expozičný index" #: src/tags.cpp:1760 msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" "Táto značka označuje expozičný index zvolený na fotoaparáte alebo vstupnom " "zariadení v čase zachytenia obrázka." #: src/tags.cpp:1764 msgid "Indicates the image sensor type on the camera or input device." msgstr "" "Táto značka označuje typ obrazového snímača vstupného fotoaparátu alebo " "vstupného zariadenia." #: src/tags.cpp:1767 msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" "Táto značka označuje zdroj obrázka. Ak obrázok zaznamenal DSC, táto značka " "musí byť vždy nastavená na 3, čo značí, že obrázok bol nahraný na DSC." #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" "Táto značka označuje typ scény. Ak obrázok zaznamenal DSC, táto značka musí " "byť vždy nastavená na 1, čo značí, že obrázok bol priamo odfotografovaný." #: src/tags.cpp:1776 #, fuzzy msgid "Color Filter Array Pattern" msgstr "Farebný filter" #: src/tags.cpp:1777 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" "Označuje geometrickú vzorku poľa farebného filtra (CFA) obrazového snímača " "pri použití jednočipového farebného snímača oblasti. Nevzťahuje sa na všetky " "metódy snímania." #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" "Táto značka označuje použitie špeciálneho spracovania obrazových dát ako " "spracovanie zamerané na výstup. Po vykonaní špeciálneho spracovania sa od " "čítacieho zariadenia očakáva, že vypne alebo minimalizuje akékoľvek ďalšie " "spracovanie." #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" "Táto značka označuje aký expozičný režim bol zvolený pri odfotení obrázka. V " "režime viacnásobných snímok so zmenou expozície fotoaparát nafotí sériu " "snímok rovnakej scény pri rozličných nastaveniach expozície." #: src/tags.cpp:1793 msgid "This tag indicates the white balance mode set when the image was shot." msgstr "" "Táto značka označuje aký režim vyváženia bielej bol zvolený pri odfotení " "obrázka." #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" "Táto značka označuje pomer digitálneho priblíženia v čase zachytenia snímky. " "Ak je zaznamenaná hodnota 0, nebolo použité digitálne priblíženie." #: src/tags.cpp:1801 msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" "Táto značka označuje ohniskovú vzdialenosť ekvivalentnú fotoaparátu s 35 mm " "filmom. Hodnota 0 znamená, že ohnisková vzdialenosť je neznáma. Všimnite si, " "že táto značka sa líši od značky ." #: src/tags.cpp:1807 msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" "Táto značka označuje typ zachytenej scény. Tiež je možné ho použiť na " "zaznamenanie režimu, v ktorom bol obrázok odfotený. Všimnite si, že táto " "značka sa líši od značky ." #: src/tags.cpp:1812 msgid "This tag indicates the degree of overall image gain adjustment." msgstr "Táto značka označuje stupeň celkového zosilnenia obrazu." #: src/tags.cpp:1815 msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" "Táto značka označuje smer spracovania kontrastu, ktorý použil fotoaparát pri " "zachytení obrázka." #: src/tags.cpp:1819 msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" "Táto značka označuje smer spracovania sýtosti, ktorý použil fotoaparát pri " "zachytení obrázka." #: src/tags.cpp:1823 msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" "Táto značka označuje smer spracovania ostrosti, ktorý použil fotoaparát pri " "zachytení obrázka." #: src/tags.cpp:1827 msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" "Táto značka označuje informácie o podmienkach fotografovania konkrétnym " "modelom fotoaparátu. Značka sa používa iba na označenie podmienok " "fotografovania v čítacom zariadení." #: src/tags.cpp:1832 msgid "This tag indicates the distance to the subject." msgstr "Táto značka označuje vzdialenosť k subjektu." #: src/tags.cpp:1835 msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" "Táto značka označuje jedinečný identifikátor priradený každému obrázku. Je " "zaznamenaný ako ASCII reťazec zodpovedajúci hexadecimálnemu zápisu 128-" "bitového čísla." #: src/tags.cpp:1839 #, fuzzy msgid "Camera Owner Name" msgstr "Meno vlastníka" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" #: src/tags.cpp:1843 #, fuzzy msgid "Body Serial Number" msgstr "Sériové číslo" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1847 #, fuzzy msgid "Lens Specification" msgstr "Špecifické informácie dodávateľa" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" #: src/tags.cpp:1854 #, fuzzy msgid "Lens Make" msgstr "Model šošoviek" #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "" #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1866 src/tags.cpp:1867 msgid "Unknown Exif tag" msgstr "Neznáma značka EXIF" #: src/tags.cpp:1878 msgid "North" msgstr "Sever" #: src/tags.cpp:1879 msgid "South" msgstr "Juh" #: src/tags.cpp:1884 msgid "East" msgstr "Východ" #: src/tags.cpp:1885 msgid "West" msgstr "Západ" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "nad hladinou mora" #: src/tags.cpp:1891 msgid "Below sea level" msgstr "Pod hladinou mora" #: src/tags.cpp:1896 msgid "Measurement in progress" msgstr "Prebieha meranie" #: src/tags.cpp:1897 msgid "Measurement Interoperability" msgstr "Interoperabilita merania" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "Dvojrozmerné meranie" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "Trojrozmerné meranie" #: src/tags.cpp:1908 msgid "km/h" msgstr "km/h" #: src/tags.cpp:1909 msgid "mph" msgstr "míľ za hodinu" #: src/tags.cpp:1910 msgid "knots" msgstr "uzlov" #: src/tags.cpp:1915 msgid "True direction" msgstr "Skutočný smer" #: src/tags.cpp:1916 msgid "Magnetic direction" msgstr "Magnetický smer" #: src/tags.cpp:1921 msgid "Kilometers" msgstr "Kilometrov" #: src/tags.cpp:1922 msgid "Miles" msgstr "Míľ" #: src/tags.cpp:1923 msgid "Knots" msgstr "Uzlov" #: src/tags.cpp:1928 msgid "Without correction" msgstr "Bez korekcie" #: src/tags.cpp:1929 msgid "Correction applied" msgstr "S korekciou" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" "Označuje verziu . Verzia sa udáva ako 2.0.0.0. Táto značka je " "povinný, ak je prítomná značka . (Pozn.: Značka je " "uvedená v bajtoch na rozdiel od značky . Keď je verzia 2.0.0.0, " "hodnota značky je 02000000.H)." #: src/tags.cpp:1941 msgid "GPS Latitude Reference" msgstr "GPS referencia zemepisnej šírky" #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" "Označuje, či je zemepisná šírka severná alebo južná šírka. ASCII hodnota „N“ " "označuje severnú šírku a „S“ južnú šírku." #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" "Označuje zemepisnú šírku. Zemepisná šírka je vyjadrená tromi RACIONÁLNYMI " "hodnotami udanými v stupňoch, minútach a sekundách. Stupne, minúty a sekundy " "sú vyjadrené vo formáte ddd/1,mm/1,ss/1. Keď sú použité stupne, minúty a " "napr. zlomky minút sú zadané na dve desatinné miesta, formát je ddd/1," "mmmm/100,0/1." #: src/tags.cpp:1953 msgid "GPS Longitude Reference" msgstr "GPS referencia zemepisnej dĺžky" #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" "Označuje, či je zemepisná dĺžka východná alebo západná dĺžka. ASCII hodnota " "„E“ označuje východnú dĺžku a „W“ západnú dĺžku." #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" "Označuje zemepisnú dĺžku. Zemepisná dĺžka je vyjadrená tromi RACIONÁLNYMI " "hodnotami udanými v stupňoch, minútach a sekundách. Stupne, minúty a sekundy " "sú vyjadrené vo formáte ddd/1,mm/1,ss/1. Keď sú použité stupne, minúty a " "napr. zlomky minút sú zadané na dve desatinné miesta, formát je ddd/1," "mmmm/100,0/1." #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" "Označuje nadmorskú výšku, ktorá sa použije ako referenčná. Ak je referenčnou " "hodnotou úroveň hladiny mora a nadmorská výška je nad hladinou mora, udáva " "sa 0. Ak je nadmorská výška pod hladinou mora, udáva sa hodnota 0 a " "nadmorská výška sa uvedie ako absolútna hodnota v značke GSPAltitude. " "Referenčná jednotka sú metre. Všimnite si, že táto značka je typu BAJT na " "rozdiel od iných referenčných značiek." #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" "Označuje nadmorskú výšku na základe referenčného GPSAltitudeRef. Nadmorská " "výška je vyjadrená ako jedna RACIONÁLNA hodnota. Referenčná jednotka sú " "metre." #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" #: src/tags.cpp:1998 msgid "GPS Data Degree of Precision" msgstr "Stupeň presnosti GPS údajov" #: src/tags.cpp:1999 msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" #: src/tags.cpp:2007 msgid "Indicates the speed of GPS receiver movement." msgstr "Označuje rýchlosť pohybu GPS prijímača." #: src/tags.cpp:2009 msgid "GPS Track Ref" msgstr "" #: src/tags.cpp:2010 msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2014 msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2022 msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" #: src/tags.cpp:2029 #, fuzzy msgid "GPS Destination Latitude Reference" msgstr "GPS referencia zemepisnej šírky" #: src/tags.cpp:2030 msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" "Označuje, či je zemepisná šírka severná alebo južná šírka. ASCII hodnota „N“ " "označuje severnú šírku a „S“ južnú šírku." #: src/tags.cpp:2034 msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" "Označuje zemepisnú šírku. Zemepisná šírka je vyjadrená tromi RACIONÁLNYMI " "hodnotami udanými v stupňoch, minútach a sekundách. Stupne, minúty a sekundy " "sú vyjadrené vo formáte ddd/1,mm/1,ss/1. Keď sú použité stupne, minúty a " "napr. zlomky minút sú zadané na dve desatinné miesta, formát je ddd/1," "mmmm/100,0/1." #: src/tags.cpp:2041 #, fuzzy msgid "GPS Destination Longitude Reference" msgstr "GPS referencia zemepisnej dĺžky" #: src/tags.cpp:2042 msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" "Označuje, či je zemepisná dĺžka východná alebo západná dĺžka. ASCII hodnota " "„E“ označuje východnú dĺžku a „W“ západnú dĺžku." #: src/tags.cpp:2046 msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" "Označuje zemepisnú dĺžku. Zemepisná dĺžka je vyjadrená tromi RACIONÁLNYMI " "hodnotami udanými v stupňoch, minútach a sekundách. Stupne, minúty a sekundy " "sú vyjadrené vo formáte ddd/1,mm/1,ss/1. Keď sú použité stupne, minúty a " "napr. zlomky minút sú zadané na dve desatinné miesta, formát je ddd/1," "mmmm/100,0/1." #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2057 #, fuzzy msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "Táto značka označuje vzdialenosť k cieľovému bodu." #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" #: src/tags.cpp:2065 msgid "Indicates the distance to the destination point." msgstr "Táto značka označuje vzdialenosť k cieľovému bodu." #: src/tags.cpp:2068 msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" #: src/tags.cpp:2076 #, fuzzy msgid "GPS Date Stamp" msgstr "Dátum odoslania" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" #: src/tags.cpp:2081 msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "" #: src/tags.cpp:2084 src/tags.cpp:2085 msgid "Unknown GPSInfo tag" msgstr "Neznáma značka GPSInfo" #: src/tags.cpp:2096 msgid "Interoperability Index" msgstr "Index interoperability" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" "Označuje identifikáciu Pravidla interoperability. Použite \"R98\" pre " "vyhlásenie pravidiel ExifR98. Použité štyri bajty vrátane ukončovacieho " "znaku (NULL). Ďalšie značky použité v ExifR98 nájdete v samostatnom zväzku " "Recommended Exif Interoperability Rules (ExifR98)." #: src/tags.cpp:2103 msgid "Interoperability Version" msgstr "Verzia interoperability" #: src/tags.cpp:2104 msgid "Interoperability version" msgstr "Verzia interoperability" #: src/tags.cpp:2106 msgid "Related Image File Format" msgstr "Súvisiaci formát súboru obrázka" #: src/tags.cpp:2107 msgid "File format of image file" msgstr "Formát súboru s obrázkom" #: src/tags.cpp:2109 msgid "Related Image Width" msgstr "Šírka súvisiaceho obrázka" #: src/tags.cpp:2112 msgid "Related Image Length" msgstr "Dĺžka súvisiaceho obrázka" #: src/tags.cpp:2116 src/tags.cpp:2117 msgid "Unknown Exif Interoperability tag" msgstr "Neznáma EXIF značka Interoperability" #: src/tags.cpp:2128 msgid "Offset" msgstr "Ofset" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "" #: src/tags.cpp:2131 msgid "Byte Order" msgstr "Endianita" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" #: src/tags.cpp:2135 src/tags.cpp:2136 msgid "Unknown Exiv2 Makernote info tag" msgstr "Neznáma značka Exiv2 MakerNote" #: src/tags.cpp:2146 src/tags.cpp:2147 msgid "Unknown tag" msgstr "Neznáma značka" #: src/tags.cpp:2688 msgid "Digital zoom not used" msgstr "Digitálne priblíženie nebolo použité" #: src/tiffimage.cpp:2308 msgid "TIFF header, offset" msgstr "Hlavička TIFF, ofset" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "" #, fuzzy #~ msgid "ascii bytes" #~ msgstr "bajtov" exiv2-0.25/po/gl.po0000664000175000017500000254612512540520175013713 0ustar andreasandreas# Galician translation for exiv2 # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the exiv2 package. # # Xosé , 2014. msgid "" msgstr "" "Project-Id-Version: exiv2\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: 2014-12-19 21:59+0000\n" "Last-Translator: Fran Fondo \n" "Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2015-05-09 22:57+0000\n" "X-Generator: Launchpad (build 17474)\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 msgid "Failed to open the file\n" msgstr "Produciuse un fallo ao abrir o ficheiro\n" #: src/actions.cpp:282 msgid "File name" msgstr "Nome do ficheiro" #: src/actions.cpp:288 msgid "File size" msgstr "Tamaño do ficheiro" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "Bytes" #: src/actions.cpp:293 msgid "MIME type" msgstr "Tipo MIME" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 msgid "Image size" msgstr "Tamaño da imaxe" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 msgid "No Exif data found in the file\n" msgstr "Non se atoparon datos EXIF no ficheiro\n" #: src/actions.cpp:307 msgid "Camera make" msgstr "Marca da cámara" #: src/actions.cpp:310 msgid "Camera model" msgstr "Modelo de cámara" #: src/actions.cpp:313 msgid "Image timestamp" msgstr "Data da imaxe" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 msgid "Image number" msgstr "Número da imaxe" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 msgid "Exposure time" msgstr "Tempo de exposición" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 msgid "Aperture" msgstr "Abertura" #: src/actions.cpp:345 msgid "Exposure bias" msgstr "Compensación da exposición" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 msgid "Flash" msgstr "Flash" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 msgid "Flash bias" msgstr "Compensación do flash" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 msgid "Focal length" msgstr "Distancia focal" #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr "equivalente a 35mm" #: src/actions.cpp:373 msgid "Subject distance" msgstr "Distancia ao suxeito" #: src/actions.cpp:387 msgid "ISO speed" msgstr "Velocidade ISO" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 msgid "Exposure mode" msgstr "Modo de exposición" #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 msgid "Metering mode" msgstr "Modo de medida" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 msgid "Macro mode" msgstr "Modo de macro" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 msgid "Image quality" msgstr "Calidade da imaxe" #: src/actions.cpp:403 msgid "Exif Resolution" msgstr "Resolución Exif" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "Balance de brancos" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 msgid "Thumbnail" msgstr "Miniatura" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "Nada" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 msgid "Copyright" msgstr "Copyright" #: src/actions.cpp:458 msgid "Exif comment" msgstr "Comentario Exif" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "(Valor binario suprimido)" #: src/actions.cpp:742 msgid "JPEG comment" msgstr "Comentario JPEG" #: src/actions.cpp:767 msgid "Preview" msgstr "Vista previa" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "píxeles" #: src/actions.cpp:773 src/actions.cpp:1113 msgid "bytes" msgstr "bytes" #: src/actions.cpp:820 msgid "Neither tag" msgstr "Ningunha das etiquetas" #: src/actions.cpp:821 msgid "nor" msgstr "normal" #: src/actions.cpp:822 msgid "found in the file" msgstr "atopado no ficheiro" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "Non se registrou o momento de creación da imaxe" #: src/actions.cpp:833 src/actions.cpp:1590 msgid "Failed to parse timestamp" msgstr "Produciuse un fallo ao analizar a data e a hora" #: src/actions.cpp:834 msgid "in the file" msgstr "no ficheiro" #: src/actions.cpp:845 msgid "Updating timestamp to" msgstr "Actualizando data e hora a" #: src/actions.cpp:939 msgid "Erasing thumbnail data" msgstr "Borrando datos de vista en miniatura" #: src/actions.cpp:947 msgid "Erasing Exif data from the file" msgstr "Borrando os datos Exif do ficheiro" #: src/actions.cpp:956 msgid "Erasing IPTC data from the file" msgstr "Borrando os metadatos IPTC do ficheiro" #: src/actions.cpp:965 msgid "Erasing JPEG comment from the file" msgstr "Borrando os comentarios JPEG do ficheiro" #: src/actions.cpp:974 msgid "Erasing XMP data from the file" msgstr "Borrando os metadatos XMP do ficheiro" #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "A imaxe non conten unha miniatura Exif\n" #: src/actions.cpp:1055 msgid "Writing thumbnail" msgstr "Escribindo a vista en miniatura" #: src/actions.cpp:1056 src/actions.cpp:1114 msgid "to file" msgstr "no ficheiro" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "Os datos Exif non conteñen unha miniatura\n" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "A imaxe non ten vista previa" #: src/actions.cpp:1107 msgid "Writing preview" msgstr "Escribiendo a vista previa" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "Configurar comentario JPEG" #: src/actions.cpp:1319 msgid "Add" msgstr "Engadir" #: src/actions.cpp:1341 src/actions.cpp:1415 msgid "Warning" msgstr "Aviso" #: src/actions.cpp:1342 src/actions.cpp:1416 msgid "Failed to read" msgstr "Produciuse un fallo de lectura" #: src/actions.cpp:1344 src/actions.cpp:1418 msgid "value" msgstr "valor" #: src/actions.cpp:1355 msgid "Set" msgstr "Estabelecer" #: src/actions.cpp:1427 msgid "Del" msgstr "Eliminar" #: src/actions.cpp:1459 msgid "Reg " msgstr "Reg " #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "Metadatos de data e hora con chave" #: src/actions.cpp:1544 msgid "not set\n" msgstr "non estabelecido\n" #: src/actions.cpp:1549 msgid "Adjusting" msgstr "Axustando" #: src/actions.cpp:1549 msgid "by" msgstr "por" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "anos" #: src/actions.cpp:1556 msgid "year" msgstr "ano" #: src/actions.cpp:1564 msgid "months" msgstr "meses" #: src/actions.cpp:1567 msgid "month" msgstr "mes" #: src/actions.cpp:1575 msgid "days" msgstr "días" #: src/actions.cpp:1578 msgid "day" msgstr "día" #: src/actions.cpp:1584 msgid "s" msgstr "seg." #: src/actions.cpp:1600 msgid "Can't adjust timestamp by" msgstr "Non é posíbel axustar a data e a hora" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 msgid "to" msgstr "a" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "A etiqueta ISO Exif estándar xa existe; non se modifica\n" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "Estabelecendo o valor Exif ISO a" #: src/actions.cpp:1708 msgid "No Exif user comment found" msgstr "Non se atoparon comentarios Exif do usuario" #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "Comentario Exif do usuario cun tipo de valor inesperado" #: src/actions.cpp:1723 msgid "No Exif UNICODE user comment found" msgstr "Non se atopa o comentario Exif UNICODE do usuario" #: src/actions.cpp:1729 msgid "Setting Exif UNICODE user comment to" msgstr "Configurar o comentario Exif UNICODE do usuario a" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "Escribindo datos Exif desde" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "Escribindo datos IPTC desde" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "Escribindo datos XMP desde" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "Escribindo comentario JPEG desde" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "Non foi posíbel escribir os metadatos no ficheiro" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "Nome de ficheiro perdido por un problema de formato." #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "O nome do ficheiro xa é o correcto" #: src/actions.cpp:1975 src/exiv2.cpp:168 msgid "File" msgstr "Ficheiro" #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr "xa existe. S[o]brescribir, [r]enomear ou [s]omitir?" #: src/actions.cpp:2004 msgid "Renaming file to" msgstr "Renome o ficheiro a" #: src/actions.cpp:2006 msgid "updating timestamp" msgstr "actualizando a data e a hora" #: src/actions.cpp:2015 msgid "Failed to rename" msgstr "Produciuse un fallo ao renomear" #: src/actions.cpp:2037 msgid "Overwrite" msgstr "Sobrescrebir" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "Apagado" #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "Acendido" #: src/canonmn.cpp:363 msgid "Format 1" msgstr "Formato 1" #: src/canonmn.cpp:364 msgid "Format 2" msgstr "Formato 2" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 msgid "On (1)" msgstr "Acendido (1)" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 msgid "On (2)" msgstr "Acendido (2)" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "sRGB" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 msgid "Adobe RGB" msgstr "RGB de Adobe" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "Descoñecido" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 msgid "Camera Settings" msgstr "Opcións da cámara" #: src/canonmn.cpp:383 msgid "Various camera settings" msgstr "Axustes varias da cámara" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 msgid "Focal Length" msgstr "Distancia focal" #: src/canonmn.cpp:386 src/sonymn.cpp:394 msgid "Shot Info" msgstr "Información de disparo" #: src/canonmn.cpp:386 msgid "Shot information" msgstr "Información de disparo" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 msgid "Panorama" msgstr "Panorama" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 msgid "Image Type" msgstr "Tipo de imaxe" #: src/canonmn.cpp:388 msgid "Image type" msgstr "Tipo de imaxe" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 msgid "Firmware Version" msgstr "Versión do firmware" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 msgid "Firmware version" msgstr "Versión do firmware" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 msgid "File Number" msgstr "Número de ficheiro" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 msgid "File number" msgstr "Número de ficheiro" #: src/canonmn.cpp:391 msgid "Owner Name" msgstr "Nome do propietario" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 msgid "Serial Number" msgstr "Número de serie" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 msgid "Camera serial number" msgstr "Número de serie da cámara" #: src/canonmn.cpp:393 msgid "Camera Info" msgstr "Información da cámara" #: src/canonmn.cpp:393 msgid "Camera info" msgstr "Información da cámara" #: src/canonmn.cpp:394 src/canonmn.cpp:406 msgid "Custom Functions" msgstr "Funcións personalizadas" #: src/canonmn.cpp:395 msgid "ModelID" msgstr "ID do modelo" #: src/canonmn.cpp:395 msgid "Model ID" msgstr "ID do modelo" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 msgid "Picture Info" msgstr "Información da imaxe" #: src/canonmn.cpp:396 msgid "Picture info" msgstr "Información da imaxe" #: src/canonmn.cpp:397 msgid "Thumbnail Image Valid Area" msgstr "Área válida da imaxe na miniatura" #: src/canonmn.cpp:397 msgid "Thumbnail image valid area" msgstr "Área válida da imaxe na miniatura" #: src/canonmn.cpp:398 msgid "Serial Number Format" msgstr "Formato do número de serie" #: src/canonmn.cpp:398 msgid "Serial number format" msgstr "Formato do número de serie" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 msgid "Super Macro" msgstr "Super macro" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "Super macro" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF Info" msgstr "Información do AF" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF info" msgstr "Información do AF" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "Desprazamento dos datos orixinais de decisión" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "Desprazamento dos datos orixinais de decisión" #: src/canonmn.cpp:402 msgid "White Balance Table" msgstr "Táboa de balance de brancos" #: src/canonmn.cpp:402 msgid "White balance table" msgstr "Táboa de balance de brancos" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 msgid "Lens Model" msgstr "Modelo das lentes" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 msgid "Lens model" msgstr "Modelo das lentes" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 msgid "Internal Serial Number" msgstr "Número de serie interno" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 msgid "Internal serial number" msgstr "Número de serie interno" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "Datos de retirada de pó" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "Datos de retirada de pó" #: src/canonmn.cpp:406 msgid "Custom functions" msgstr "Funcións personalizadas" #: src/canonmn.cpp:407 msgid "Processing Info" msgstr "Información do procesado" #: src/canonmn.cpp:407 msgid "Processing info" msgstr "Información do procesado" #: src/canonmn.cpp:408 msgid "Measured Color" msgstr "Cor medido" #: src/canonmn.cpp:408 msgid "Measured color" msgstr "Cor medido" #: src/canonmn.cpp:409 msgid "ColorSpace" msgstr "Espazo de cor" #: src/canonmn.cpp:413 msgid "VRD Offset" msgstr "Desprazamento VRD" #: src/canonmn.cpp:413 msgid "VRD offset" msgstr "Desprazamento VRD" #: src/canonmn.cpp:414 msgid "Sensor Info" msgstr "Información do sensor" #: src/canonmn.cpp:414 msgid "Sensor info" msgstr "Información do sensor" #: src/canonmn.cpp:415 msgid "Color Data" msgstr "Datos de cor" #: src/canonmn.cpp:415 msgid "Color data" msgstr "Datos de cor" #: src/canonmn.cpp:417 msgid "Unknown CanonMakerNote tag" msgstr "Etiqueta CanonMakerNote descoñecida" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "Económico" #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 msgid "Normal" msgstr "Normal" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 msgid "Fine" msgstr "Fino" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "En bruto (RAW)" #: src/canonmn.cpp:437 msgid "Superfine" msgstr "Superfino" #: src/canonmn.cpp:438 msgid "Normal Movie" msgstr "Filme normal" #: src/canonmn.cpp:439 #, fuzzy msgid "Movie (2)" msgstr "Filme" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 msgid "Auto" msgstr "Automático" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "Ollos vermellos" #: src/canonmn.cpp:448 msgid "Slow sync" msgstr "Sincronización lenta" #: src/canonmn.cpp:449 msgid "Auto + red-eye" msgstr "Auto + ollos vermellos" #: src/canonmn.cpp:450 msgid "On + red-eye" msgstr "Acendido + ollos vermellos" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 msgid "External" msgstr "Externa" #: src/canonmn.cpp:457 msgid "Single / timer" msgstr "Único / temporizador" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 msgid "Continuous" msgstr "Continuo" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 msgid "Movie" msgstr "Filme" #: src/canonmn.cpp:460 msgid "Continuous, speed priority" msgstr "Continuo, prioridade da velocidade" #: src/canonmn.cpp:461 msgid "Continuous, low" msgstr "Continuo, baixo" #: src/canonmn.cpp:462 msgid "Continuous, high" msgstr "Continuo, alto" #: src/canonmn.cpp:467 msgid "One shot AF" msgstr "Un disparo AF" #: src/canonmn.cpp:468 msgid "AI servo AF" msgstr "Servo do AF de IA" #: src/canonmn.cpp:469 msgid "AI focus AF" msgstr "Exposición automática" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 msgid "Manual focus" msgstr "Enfoque manual" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 msgid "Single" msgstr "Sinxelo" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 msgid "Pan focus" msgstr "Enfoque panorámico" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 msgid "Large" msgstr "Grande" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 msgid "Medium" msgstr "Medio" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 msgid "Small" msgstr "Pequeno" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 msgid "Medium 1" msgstr "Medio 1" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 msgid "Medium 2" msgstr "Medio 2" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 msgid "Medium 3" msgstr "Medio 3" #: src/canonmn.cpp:490 msgid "Full auto" msgstr "Totalmente automático" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 msgid "Manual" msgstr "Manual" #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 msgid "Landscape" msgstr "Paisaxe" #: src/canonmn.cpp:493 msgid "Fast shutter" msgstr "Obturador rápido" #: src/canonmn.cpp:494 msgid "Slow shutter" msgstr "Obturador lento" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 msgid "Night Scene" msgstr "Escena nocturna" #: src/canonmn.cpp:496 msgid "Gray scale" msgstr "Escala de grises" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "Sepia" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 msgid "Portrait" msgstr "Retrato" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "Deportes" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "Macro / acercamento" #: src/canonmn.cpp:501 src/fujimn.cpp:149 msgid "Black & white" msgstr "Branco e negro" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 msgid "Vivid" msgstr "Vívido" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 msgid "Neutral" msgstr "Neutro" #: src/canonmn.cpp:505 msgid "Flash off" msgstr "Flash inactivo" #: src/canonmn.cpp:506 msgid "Long shutter" msgstr "Obturador longo" #: src/canonmn.cpp:508 msgid "Foliage" msgstr "Follaxe" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 msgid "Indoor" msgstr "Interior" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 msgid "Fireworks" msgstr "Fogos de artificio" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "Praia" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 msgid "Underwater" msgstr "Submarina" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "Neve" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "Nenos e mascotas" #: src/canonmn.cpp:515 msgid "Night SnapShot" msgstr "Instantánea nocturna" #: src/canonmn.cpp:516 msgid "Digital macro" msgstr "Macro dixital" #: src/canonmn.cpp:517 msgid "My Colors" msgstr "As miñas cores" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 msgid "Still image" msgstr "Imaxe estática" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 msgid "Other" msgstr "Outros" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 msgid "Low" msgstr "Baixa" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 msgid "High" msgstr "Alta" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "n/d" #: src/canonmn.cpp:540 msgid "Auto High" msgstr "Altura automática" #: src/canonmn.cpp:558 src/sonymn.cpp:235 msgid "Default" msgstr "Predeterminado" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 msgid "Spot" msgstr "Punto" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "Promedio" #: src/canonmn.cpp:561 msgid "Evaluative" msgstr "Avaliativo" #: src/canonmn.cpp:562 src/tags.cpp:1427 msgid "Partial" msgstr "Parcial" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 msgid "Center weighted" msgstr "Peso centrado" #: src/canonmn.cpp:570 msgid "Not known" msgstr "Descoñecido" #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "Macro" #: src/canonmn.cpp:572 msgid "Very close" msgstr "Moi perto" #: src/canonmn.cpp:573 msgid "Close" msgstr "Pechar" #: src/canonmn.cpp:574 msgid "Middle range" msgstr "Rango medio" #: src/canonmn.cpp:575 msgid "Far range" msgstr "Rango lonxano" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 msgid "Infinity" msgstr "Infinita" #: src/canonmn.cpp:583 msgid "Manual AF point selection" msgstr "Punto de selección manual do AF" #: src/canonmn.cpp:584 msgid "None (MF)" msgstr "Ningún (Enfoque manual)" #: src/canonmn.cpp:585 msgid "Auto-selected" msgstr "Autoseleccionado" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 msgid "Right" msgstr "Dereita" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 msgid "Center" msgstr "Centro" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 msgid "Left" msgstr "Esquerda" #: src/canonmn.cpp:589 msgid "Auto AF point selection" msgstr "Seleción automática do punto de AF" #: src/canonmn.cpp:594 msgid "Easy shooting (Auto)" msgstr "Disparo sinxelo (Auto)" #: src/canonmn.cpp:595 msgid "Program (P)" msgstr "Programa (P)" #: src/canonmn.cpp:596 msgid "Shutter priority (Tv)" msgstr "Prioridade do obturador (Tv)" #: src/canonmn.cpp:597 msgid "Aperture priority (Av)" msgstr "Prioridade da abertura (Av)" #: src/canonmn.cpp:598 msgid "Manual (M)" msgstr "Manual (M)" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "A-PROF" #: src/canonmn.cpp:600 msgid "M-DEP" msgstr "M-PROF" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 msgid "Did not fire" msgstr "Non disparou." #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 msgid "Fired" msgstr "Disparado" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 msgid "External flash" msgstr "Flash externo" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 msgid "Internal flash" msgstr "Flash interno" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "Medición a través de la Lente (TTL)" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "A-TTL" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "E-TTL" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "Sincronización FP activada" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "Usada a sincronía de segunda-cortina" #: src/canonmn.cpp:980 msgid "FP sync used" msgstr "Usado o modo de sincronización FP" #: src/canonmn.cpp:991 msgid "Normal AE" msgstr "EA Normal" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 msgid "Exposure compensation" msgstr "Compensación da exposición" #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "Bloqueo da Exposición Automática" #: src/canonmn.cpp:994 msgid "AE lock + exposure compensation" msgstr "EA bloqueada + compensación da exposición" #: src/canonmn.cpp:995 msgid "No AE" msgstr "Sen EA" #: src/canonmn.cpp:1002 msgid "On, shot only" msgstr "Acendido, só disparo" #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 msgid "AF Point" msgstr "Punto de AF" #: src/canonmn.cpp:1016 msgid "Smooth" msgstr "Suavizado" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "B/N" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 msgid "Custom" msgstr "Personalizada" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 msgid "My color data" msgstr "Os meus datos de cor" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 msgid "Full" msgstr "Completa" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "sRAW1 (mRAW)" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "sRAW2 (sRAW)" #: src/canonmn.cpp:1043 msgid "Selftimer" msgstr "Temporizador" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 msgid "Self timer" msgstr "Temporizador" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 msgid "Quality" msgstr "Calidade" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 msgid "Flash Mode" msgstr "Modo do flash" #: src/canonmn.cpp:1045 msgid "Flash mode setting" msgstr "Ajuste do modo de flash" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 msgid "Drive Mode" msgstr "Modo do controlador" #: src/canonmn.cpp:1046 msgid "Drive mode setting" msgstr "Configuración do modo de axuste" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 msgid "Focus Mode" msgstr "Modo de enfoque" #: src/canonmn.cpp:1048 msgid "Focus mode setting" msgstr "Ajuste do modo de enfoque" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 msgid "Image Size" msgstr "Tamaño da imaxe" #: src/canonmn.cpp:1052 msgid "Easy Mode" msgstr "Modo sinxelo" #: src/canonmn.cpp:1052 msgid "Easy shooting mode" msgstr "Modo de disparo sinxelo" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 msgid "Digital Zoom" msgstr "Zoom dixital" #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 msgid "Digital zoom" msgstr "Zoom dixital" #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 msgid "Contrast" msgstr "Contraste" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 msgid "Contrast setting" msgstr "Axuste do contraste" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 msgid "Saturation" msgstr "Saturación" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 msgid "Saturation setting" msgstr "Axuste de saturación" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 msgid "Sharpness" msgstr "Nitidez" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 msgid "Sharpness setting" msgstr "Axuste de nitidez" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 msgid "ISO Speed Mode" msgstr "Modo de velocidade ISO" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 msgid "ISO speed setting" msgstr "Axuste de velocidade ISO" #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 msgid "Metering Mode" msgstr "Modo de medición" #: src/canonmn.cpp:1058 msgid "Metering mode setting" msgstr "Axuste do modo de medición" #: src/canonmn.cpp:1059 msgid "Focus Type" msgstr "Tipo de foco" #: src/canonmn.cpp:1059 msgid "Focus type setting" msgstr "Axuste do tipo de foco" #: src/canonmn.cpp:1060 msgid "AF point selected" msgstr "Punto de AF seleccionado" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 msgid "Exposure Program" msgstr "Programa de exposición" #: src/canonmn.cpp:1061 msgid "Exposure mode setting" msgstr "Axuste do modo de exposición" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 msgid "Lens Type" msgstr "Tipo de lentes" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 msgid "Lens type" msgstr "Tipo de lentes" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 msgid "Lens" msgstr "Lentes" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" "Lonxitude focal «longa» e «curta» (en «unidades focais») e «unidades focais " "por mm»" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "Enfoque curto" #: src/canonmn.cpp:1065 msgid "Short focal" msgstr "Enfoque curto" #: src/canonmn.cpp:1066 msgid "Focal Units" msgstr "Unidades de foco" #: src/canonmn.cpp:1066 msgid "Focal units" msgstr "Unidades de foco" #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 msgid "Max Aperture" msgstr "Abertura máxima" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 msgid "Max aperture" msgstr "Abertura máxima" #: src/canonmn.cpp:1068 msgid "Min Aperture" msgstr "Abertura mínima" #: src/canonmn.cpp:1068 msgid "Min aperture" msgstr "Abertura mínima" #: src/canonmn.cpp:1069 msgid "Flash Activity" msgstr "Actividade do flash" #: src/canonmn.cpp:1069 msgid "Flash activity" msgstr "Actividade do flash" #: src/canonmn.cpp:1070 msgid "Flash Details" msgstr "Detalles do flash" #: src/canonmn.cpp:1070 msgid "Flash details" msgstr "Detalles do flash" #: src/canonmn.cpp:1073 msgid "Focus Continuous" msgstr "Foco contínuo" #: src/canonmn.cpp:1073 msgid "Focus continuous setting" msgstr "Axuste de foco contínuo" #: src/canonmn.cpp:1074 msgid "AESetting" msgstr "Configuración EA" #: src/canonmn.cpp:1074 msgid "AE setting" msgstr "Configuración EA" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 msgid "Image Stabilization" msgstr "Estabilización da imaxe" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 msgid "Image stabilization" msgstr "Estabilización da imaxe" #: src/canonmn.cpp:1076 msgid "Display Aperture" msgstr "Abertura do visor" #: src/canonmn.cpp:1076 msgid "Display aperture" msgstr "Abertura do visor" #: src/canonmn.cpp:1077 msgid "Zoom Source Width" msgstr "Amplitude da orixe do zomm" #: src/canonmn.cpp:1077 msgid "Zoom source width" msgstr "Amplitude da orixe do zoom" #: src/canonmn.cpp:1078 msgid "Zoom Target Width" msgstr "Amplitude do zoom do obxectivo" #: src/canonmn.cpp:1078 msgid "Zoom target width" msgstr "Amplitude do zoom do obxectivo" #: src/canonmn.cpp:1080 msgid "Spot Metering Mode" msgstr "Modo de medición de punto" #: src/canonmn.cpp:1080 msgid "Spot metering mode" msgstr "Modo de medición de punto" #: src/canonmn.cpp:1081 msgid "Photo Effect" msgstr "Efecto foto" #: src/canonmn.cpp:1081 msgid "Photo effect" msgstr "Efecto foto" #: src/canonmn.cpp:1082 msgid "Manual Flash Output" msgstr "Saída de flash manual" #: src/canonmn.cpp:1082 msgid "Manual flash output" msgstr "Saída de flash manual" #: src/canonmn.cpp:1083 msgid "Color Tone" msgstr "Ton da cor" #: src/canonmn.cpp:1083 msgid "Color tone" msgstr "Ton da cor" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "Calidade do ton SRAW" #: src/canonmn.cpp:1084 msgid "SRAW quality" msgstr "calidade SRAW" #: src/canonmn.cpp:1086 msgid "Unknown Canon Camera Settings 1 tag" msgstr "Configuración descoñecida da cámara Canon etiqueta 1" #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 msgid "Daylight" msgstr "Luz diúrna" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 msgid "Cloudy" msgstr "Anubrado" #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 msgid "Tungsten" msgstr "Tungsteno" #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 msgid "Fluorescent" msgstr "Fluorescente" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 msgid "Black & White" msgstr "Branco e negro" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "Sombra" #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "Temperatura manual (Kelvin)" #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "Axuste PC 1" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "Axuste PC 2" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "Axuste PC 3" #: src/canonmn.cpp:1109 msgid "Daylight Fluorescent" msgstr "Fluorescente de luz de día" #: src/canonmn.cpp:1110 src/properties.cpp:816 msgid "Custom 1" msgstr "Personalizada 1" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 msgid "Custom 2" msgstr "Personalizada 2" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 msgid "Custom 3" msgstr "Personalizada 3" #: src/canonmn.cpp:1115 msgid "PC Set 4" msgstr "Axuste PC 4" #: src/canonmn.cpp:1116 msgid "PC Set 5" msgstr "Axuste PC 5" #: src/canonmn.cpp:1117 #, fuzzy msgid "Auto (ambience priority)" msgstr "GN (prioridade da distancia)" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 msgid "left" msgstr "esquerda" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 msgid "center" msgstr "centro" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 msgid "right" msgstr "dereita" #: src/canonmn.cpp:1151 msgid "ISO Speed Used" msgstr "Velocidade ISO usada" #: src/canonmn.cpp:1151 msgid "ISO speed used" msgstr "Velocidade ISO usada" #: src/canonmn.cpp:1152 msgid "Measured EV" msgstr "Medida EV" #: src/canonmn.cpp:1153 msgid "Target Aperture" msgstr "Abertura do obxectivo" #: src/canonmn.cpp:1154 msgid "Target Shutter Speed" msgstr "Velocidade de obturación do obxectivo" #: src/canonmn.cpp:1154 msgid "Target shutter speed" msgstr "Velocidade de obturación do obxectivo" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 msgid "White Balance" msgstr "Balance de brancos" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 msgid "White balance setting" msgstr "Axuste doe balance de brancos" #: src/canonmn.cpp:1158 msgid "Sequence" msgstr "Secuencia" #: src/canonmn.cpp:1158 msgid "Sequence number (if in a continuous burst)" msgstr "Número de secuencia (se estamos en modo raxada)" #: src/canonmn.cpp:1163 msgid "AF Point Used" msgstr "Punto de AF utilizado" #: src/canonmn.cpp:1163 msgid "AF point used" msgstr "Punto de AF utilizado" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 msgid "Flash Bias" msgstr "Compensación do flash" #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 msgid "Subject Distance" msgstr "Distancia do suxeito" #: src/canonmn.cpp:1168 msgid "Subject distance (units are not clear)" msgstr "Distancia do suxeito (as unidades non están determinadas)" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 msgid "Aperture Value" msgstr "Valor da abertura" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 msgid "Shutter Speed Value" msgstr "Valor da abertura do obturador" #: src/canonmn.cpp:1171 src/tags.cpp:1630 msgid "Shutter speed" msgstr "Velocidade do obturador" #: src/canonmn.cpp:1172 msgid "Measured EV 2" msgstr "Medida EV 2" #: src/canonmn.cpp:1177 msgid "Unknown Canon Camera Settings 2 tag" msgstr "Configuración descoñecida da cámara Canon etiqueta 2" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 msgid "Left to right" msgstr "De esquerda a dereita" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 msgid "Right to left" msgstr "De dereita a esquerda" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 msgid "Bottom to top" msgstr "De abaixo a arriba" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 msgid "Top to bottom" msgstr "De arriba a abaixo" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "matriz 2x2 (no sentido das agullas do reloxo)" #: src/canonmn.cpp:1196 msgid "Panorama Frame" msgstr "Fotograma panorámico" #: src/canonmn.cpp:1196 msgid "Panorama frame number" msgstr "Número de fotograma panorámico" #: src/canonmn.cpp:1197 msgid "Panorama Direction" msgstr "Dirección do panorama" #: src/canonmn.cpp:1197 msgid "Panorama direction" msgstr "Dirección do panorama" #: src/canonmn.cpp:1199 msgid "Unknown Canon Panorama tag" msgstr "Etiqueta de panorama Canon descoñecida" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 msgid "Noise Reduction" msgstr "Redución de ruído" #: src/canonmn.cpp:1209 msgid "Long exposure noise reduction" msgstr "Redución do ruído de longa exposición" #: src/canonmn.cpp:1210 msgid "Shutter Ae Lock" msgstr "Bloqueo de EA do obturador" #: src/canonmn.cpp:1210 msgid "Shutter/AE lock buttons" msgstr "Disparador/botóns de bloqueo EA" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "Bloqueo do espello" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "Bloqueo do espello" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 msgid "Exposure Level Increments" msgstr "Incremento do nivel de exposición" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "Tv/Av e nivel de exposición" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 msgid "AF Assist" msgstr "Asistente do AF" #: src/canonmn.cpp:1213 msgid "AF assist light" msgstr "Apoio luminoso ao AF" #: src/canonmn.cpp:1214 msgid "Flash Sync Speed Av" msgstr "Promedio de velocidade de sincronización do flash" #: src/canonmn.cpp:1214 msgid "Shutter speed in Av mode" msgstr "Velocidade do obturador en modo Av" #: src/canonmn.cpp:1215 msgid "AEB Sequence" msgstr "Secuencia AEB" #: src/canonmn.cpp:1215 msgid "AEB sequence/auto cancellation" msgstr "Secuencia AEB / cancelación automática" #: src/canonmn.cpp:1216 msgid "Shutter Curtain Sync" msgstr "Sincronización da cortina do obturador" #: src/canonmn.cpp:1216 msgid "Shutter curtain sync" msgstr "Sincronización da cortina do obturador" #: src/canonmn.cpp:1217 msgid "Lens AF Stop Button" msgstr "Botón de parada do AF da lente" #: src/canonmn.cpp:1217 msgid "Lens AF stop button Fn. Switch" msgstr "Interruptor Fn. deter o AF das lentes" #: src/canonmn.cpp:1218 msgid "Fill Flash Auto Reduction" msgstr "Auto redución de flash de recheo" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "Auto redución de flash de recheo" #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "Botón de retorno ao menú" #: src/canonmn.cpp:1219 msgid "Menu button return position" msgstr "Botón do menú volver á posición" #: src/canonmn.cpp:1220 msgid "Set Button Function" msgstr "Estabelecer a función do botón" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "ESTABELECER a función do botón ao disparar" #: src/canonmn.cpp:1221 msgid "Sensor Cleaning" msgstr "Limpeza do sensor" #: src/canonmn.cpp:1221 msgid "Sensor cleaning" msgstr "Limpeza do sensor" #: src/canonmn.cpp:1222 msgid "Superimposed Display" msgstr "Enfoque en imaxes superpostas" #: src/canonmn.cpp:1222 msgid "Superimposed display" msgstr "Enfoque en imaxes sobrepostas" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "Liberación do obturador sen tarjeta CF" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "Liberación do obturador con ou sen tarxeta CF" #: src/canonmn.cpp:1225 msgid "Unknown Canon Custom Function tag" msgstr "Etiqueta de función personalizada de Canon descoñecida" #: src/canonmn.cpp:1236 msgid "mid-right" msgstr "medio-dereita" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 msgid "bottom" msgstr "abaixo" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 msgid "top" msgstr "enriba" #: src/canonmn.cpp:1240 msgid "mid-left" msgstr "medio-esquerda" #: src/canonmn.cpp:1247 msgid "upper-left" msgstr "superior-esquerda" #: src/canonmn.cpp:1248 msgid "upper-right" msgstr "superior-dereita" #: src/canonmn.cpp:1252 msgid "lower-left" msgstr "abaixo-esquerda" #: src/canonmn.cpp:1253 msgid "lower-right" msgstr "abaixo-dereita" #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 msgid "Image Width" msgstr "Largura da imaxe" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 msgid "Image width" msgstr "Largura da imaxe" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 msgid "Image Height" msgstr "Altura da imaxe" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 msgid "Image height" msgstr "Altura da imaxe" #: src/canonmn.cpp:1261 msgid "Image Width As Shot" msgstr "Largura da imaxe no disparo" #: src/canonmn.cpp:1261 msgid "Image width (as shot)" msgstr "Largura da imaxe (no disparo)" #: src/canonmn.cpp:1262 msgid "Image Height As Shot" msgstr "Altura da imaxe no disparo" #: src/canonmn.cpp:1262 msgid "Image height (as shot)" msgstr "Altura da imaxe (no disparo)" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF Points Used" msgstr "Punto de AF usado" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF points used" msgstr "Punto de AF usado" #: src/canonmn.cpp:1264 msgid "AF Points Used 20D" msgstr "Punto de AF usado 20D" #: src/canonmn.cpp:1264 msgid "AF points used (20D)" msgstr "Puntos de AF usados (20D)" #: src/canonmn.cpp:1266 msgid "Unknown Canon Picture Info tag" msgstr "Etiqueta de información da imaxe Cannon descoñecida" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "AEB" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "FEB" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 msgid "ISO" msgstr "ISO" #: src/canonmn.cpp:1280 msgid "WB" msgstr "BN" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "Tarxeta postal" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "Pantalla panorámica" #: src/canonmn.cpp:1293 msgid "Medium Movie" msgstr "Filme mediano" #: src/canonmn.cpp:1294 msgid "Small Movie" msgstr "Filme pequeno" #: src/canonmn.cpp:1300 msgid "On 1" msgstr "Acendido 1" #: src/canonmn.cpp:1301 msgid "On 2" msgstr "Acendido 2" #: src/canonmn.cpp:1309 msgid "On (shift AB)" msgstr "Acendido (cambiar AB)" #: src/canonmn.cpp:1310 msgid "On (shift GM)" msgstr "Acendido (cambiar GM)" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "Marelo" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 msgid "Orange" msgstr "Laranxa" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 msgid "Red" msgstr "Vermello" #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 msgid "Green" msgstr "Verde" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 msgid "Blue" msgstr "Azul" #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "Púrpura" #: src/canonmn.cpp:1334 msgid "Bracket Mode" msgstr "Modo forcada" #: src/canonmn.cpp:1335 msgid "Bracket Value" msgstr "Valor da forcada" #: src/canonmn.cpp:1336 msgid "Bracket Shot Number" msgstr "Número de disparos en forcada" #: src/canonmn.cpp:1337 msgid "Raw Jpg Quality" msgstr "Calidade Raw Jpg" #: src/canonmn.cpp:1338 msgid "Raw Jpg Size" msgstr "Tamaño Raw Jpg" #: src/canonmn.cpp:1340 msgid "WB Bracket Mode" msgstr "BB en modo forcada" #: src/canonmn.cpp:1341 msgid "WB Bracket Value AB" msgstr "BB en forcada valor AB" #: src/canonmn.cpp:1342 msgid "WB Bracket Value GM" msgstr "BB en forcada valor GM" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 msgid "Filter Effect" msgstr "Efecto de filtro" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 msgid "Toning Effect" msgstr "Efecto de matiz" #: src/canonmn.cpp:1345 msgid "Macro Magnification" msgstr "Magnificación de macro" #: src/canonmn.cpp:1345 msgid "Macro magnification" msgstr "Magnificación de macro" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "Visor de disparo en vivo" #: src/canonmn.cpp:1346 msgid "Live view shooting" msgstr "Visor de disparo en vivo" #: src/canonmn.cpp:1347 #, fuzzy msgid "Focus Distance Upper" msgstr "Distancia do foco" #: src/canonmn.cpp:1348 #, fuzzy msgid "Focus Distance Lower" msgstr "Distancia do foco" #: src/canonmn.cpp:1349 msgid "Flash Exposure Lock" msgstr "Bloqueo de exposición de flash" #: src/canonmn.cpp:1349 msgid "Flash exposure lock" msgstr "Bloqueo de exposición de flash" #: src/canonmn.cpp:1351 msgid "Unknown Canon File Info tag" msgstr "Etiqueta de información de ficheiro Canon descoñecida" #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 msgid "Standard" msgstr "Estándar" #: src/canonmn.cpp:1369 msgid "Lowest" msgstr "A máis baixa" #: src/canonmn.cpp:1373 msgid "Highest" msgstr "A máis alta" #: src/canonmn.cpp:1381 msgid "High Saturation" msgstr "Saturación alta" #: src/canonmn.cpp:1383 msgid "Low Saturation" msgstr "Saturación baixa" #: src/canonmn.cpp:1384 msgid "CM Set 1" msgstr "CM axuste 1" #: src/canonmn.cpp:1385 msgid "CM Set 2" msgstr "CM axuste 2" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "Def. usuario 1" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "Def. usuario 2" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "Def. usuario 3" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "PC 1" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "PC 2" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "PC 3" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "Fidel" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 msgid "Monochrome" msgstr "Monocromo" #: src/canonmn.cpp:1399 #, fuzzy msgid "Fine Detail" msgstr "Detalles do flash" #: src/canonmn.cpp:1404 msgid "ToneCurve" msgstr "Curvas de ton" #: src/canonmn.cpp:1404 msgid "Tone curve" msgstr "Curva de ton" #: src/canonmn.cpp:1406 msgid "SharpnessFrequency" msgstr "Frecuencia de nitidez" #: src/canonmn.cpp:1406 msgid "Sharpness frequency" msgstr "Frecuencia de nitidez" #: src/canonmn.cpp:1407 msgid "SensorRedLevel" msgstr "Nivel do sensor de vermello" #: src/canonmn.cpp:1407 msgid "Sensor red level" msgstr "Nivel do sensor de vermello" #: src/canonmn.cpp:1408 msgid "SensorBlueLevel" msgstr "Nivel do sensor de azul" #: src/canonmn.cpp:1408 msgid "Sensor blue level" msgstr "Nivel do sensor de azul" #: src/canonmn.cpp:1409 msgid "WhiteBalanceRed" msgstr "Balance de brancos de vermello" #: src/canonmn.cpp:1409 msgid "White balance red" msgstr "Balance de brancos de vermello" #: src/canonmn.cpp:1410 msgid "WhiteBalanceBlue" msgstr "Balance de brancos de azul" #: src/canonmn.cpp:1410 msgid "White balance blue" msgstr "Balance de brancos de azul" #: src/canonmn.cpp:1411 msgid "WhiteBalance" msgstr "Balance de brancos" #: src/canonmn.cpp:1412 msgid "ColorTemperature" msgstr "Temperatura da cor" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 msgid "Color Temperature" msgstr "Temperatura da cor" #: src/canonmn.cpp:1413 msgid "PictureStyle" msgstr "Estilo da imaxe" #: src/canonmn.cpp:1413 msgid "Picture style" msgstr "Estilo da imaxe" #: src/canonmn.cpp:1414 msgid "DigitalGain" msgstr "Ganancia dixital" #: src/canonmn.cpp:1414 msgid "Digital gain" msgstr "Ganancia dixital" #: src/canonmn.cpp:1415 msgid "WBShiftAB" msgstr "Balance de brancos cambia AB" #: src/canonmn.cpp:1415 msgid "WBShift AB" msgstr "Balance de brancos cambia AB" #: src/canonmn.cpp:1416 msgid "WBShiftGM" msgstr "Balance de brancos cambia GM" #: src/canonmn.cpp:1416 msgid "WB Shift GM" msgstr "Balance de brancos cambia GM" #: src/canonmn.cpp:1417 msgid "Unknown Canon Processing Info tag" msgstr "Etiqueta de información de procesado Canon descoñecida" #: src/crwimage.cpp:656 msgid "Header, offset" msgstr "Cabeceira, desprazamento" #: src/crwimage.cpp:674 msgid "tag" msgstr "etiqueta" #: src/crwimage.cpp:676 msgid "dir" msgstr "directorio" #: src/crwimage.cpp:678 msgid "type" msgstr "tipo" #: src/crwimage.cpp:679 msgid "size" msgstr "tamaño" #: src/crwimage.cpp:680 msgid "offset" msgstr "desprazamento" #: src/datasets.cpp:79 msgid "(invalid)" msgstr "(non válido)" #: src/datasets.cpp:80 msgid "IIM envelope record" msgstr "Rexistro de sobre IIM" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "Rexistro de aplicativo IIM 2" #: src/datasets.cpp:85 msgid "Model Version" msgstr "Versión do modelo" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Un número binario identificando a versión do Modelo de Intercambio de " "Información (IIM), Parte I, usado polo fornecedor. Os números de versión son " "asignados polas organizacións IPTC e NAA." #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 msgid "Destination" msgstr "Destino" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" "Este «conxunto de datos» usase para acomodar algúns fornecedores que " "requiren información de enrutamento sobre as capas OSI apropiadas" #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 msgid "File Format" msgstr "Formato do ficheiro" #: src/datasets.cpp:95 msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" "Un número binario representando o formato do ficheiro. Dito formato debe " "estar rexistrado por medio dun número único asignado pola IPTC ou a NAA. A " "información usase para dirixir os datos ao sistema apropiado e permitirlle " "ao sistema receptor executar as accións que sexan apropiadas." #: src/datasets.cpp:101 msgid "File Version" msgstr "Versión do ficheiro" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" "Un número binario representando a versión particular do formato de ficheiro " "especificado ploa etiqueta ." #: src/datasets.cpp:105 msgid "Service Id" msgstr "ID do servizo" #: src/datasets.cpp:106 msgid "Identifies the provider and product" msgstr "Identifica ao fornecedor e ao produto" #: src/datasets.cpp:108 msgid "Envelope Number" msgstr "Número de sobre" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" "Os caracteres dun número que será único para a data especificada na etiqueta " " e para o Identificador do servizo na etiqueta " ". Se aparecen números de sobre iguais coa mesma data e o " "mesmo identificador de servizo, os rexistros 2-9 non deben cambiar con " "respecto ao orixinal. Isto non pretende ser un número de serie secuencial de " "verificación de recepción." #: src/datasets.cpp:117 msgid "Product Id" msgstr "ID do produto" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" "Permítelle a un fornecedor identificar subconxuntos do seu servizo global. " "Utilizado para recibir os datos organizativos dun modo que permita " "seleccionar, dirixir ou manipular os datos de varios modos." #: src/datasets.cpp:122 msgid "Envelope Priority" msgstr "Prioridade do sobre" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" "Non especifica a urxencia editorial (para iso véxase a etiqueta ) " "senón a prioridade de manipulación dos sobres. «1» indica o máis urxente, " "«5» urxencia normal e «8» as copias menos urxentes. O «9» permítelle ao " "usuario definir unha prioridade personalizada. O «0» está reservado para " "usos futuros." #: src/datasets.cpp:129 msgid "Date Sent" msgstr "Data do envío" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" "Usa o formato SSAAMMDD (século, ano, mes, día) definido en ISO 8601 para " "indicar ano, mes e día en que o servizo enviou o material." #: src/datasets.cpp:133 msgid "Time Sent" msgstr "Hora de envío" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" "Usa o formato HHMMSS:HHMM onde HHMMSS refírese á hora local, minuto e " "segundos e HHMM refírese as horas e minutos posteriores (+) o anteriores (-) " "do horario coordinado universal (UTC) tal e como está descrito na ISO 8601. " "Este é o momento no que o servizo enviou o material." #: src/datasets.cpp:139 msgid "Character Set" msgstr "Conxunto de caracteres" #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" "Esta etiqueta consiste nunha ou máis funcións de control utilizadas para o " "anuncio, invocación ou designación de conxuntos de caracteres codificados. " "As funcións de control seguen o estándar ISO 2022 e poden consistir no " "carácter de control de escape e un ou máis caracteres gráficos." #: src/datasets.cpp:145 msgid "Unique Name Object" msgstr "Único nome de obxecto (UNO)" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" "Esta etiqueta fornece un identificador único global para obxectos, " "independente do fornecedor e para calquera tipo de medio, tal e como está " "especificado no IIM. O fornecedor debe garantir que o UNO é único. Os " "obxectos co mesmo UNO son idénticos." #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "Identificador ARM" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" "O «conxunto de datos» identifica ao Abstract Relationship Method identifier " "(ARM) que é descrito nun documento rexistrado polo creador do ARM coas " "organizacións IPTC e NAA." #: src/datasets.cpp:156 msgid "ARM Version" msgstr "Versión ARM" #: src/datasets.cpp:157 msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" "Consiste nun número binario representando a versión particular do ARM " "especificado pola etiqueta ." #: src/datasets.cpp:170 msgid "Record Version" msgstr "Versión de rexistro" #: src/datasets.cpp:171 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Un número binario, asignado polas organizacións IPTC e NAA, que identifica a " "versión do Modelo de Intercambio de Información (IIM), Parte II, utilizado " "polo fornecedor." #: src/datasets.cpp:175 msgid "Object Type" msgstr "Tipo de obxecto" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" "o «tipo de obxecto», utilizase para distinguir entre diferentes tipos de " "obxectos dentro do IIM. Consta de dúas partes separadas por un signo de dous " "puntos, sendo a segunda parte opcional. A primeira é un número de referencia " "internacional e independente do idioma para un tipo de obxecto; A segunda é " "unha representación textual do número de tipo do obxecto (Object Type " "Number) mediante caracteres gráficos e espazos, ben en inglés ou no idioma " "do servizo indicado na etiqueta ." #: src/datasets.cpp:184 msgid "Object Attribute" msgstr "Atributo de obxecto" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" "O «atributo de obxecto» define a natureza do obxecto independentemente do " "«asunto» que trate. Consta de dúas partes separadas por un signo de dous " "puntos, sendo a segunda parte opcional. A primeira é un número de referencia " "internacional e independente do idioma para un atributo do obxecto; A " "segunda é unha representación textual do número de atributo do obxecto " "(Object Attribute Number) mediante caracteres gráficos e espazos, ben en " "inglés ou no idioma do servizo indicado na etiqueta ." #: src/datasets.cpp:193 msgid "Object Name" msgstr "Nome do obxecto" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" "Utilizado como referencia rápida (taquigráfica) para o obxecto. Os cambios a " "datos existentes, como historias actualizadas ou novos recortes en fotos, " "deben estar identificados na etiqueta ." #: src/datasets.cpp:198 msgid "Document Title" msgstr "Título do documento" #: src/datasets.cpp:199 src/olympusmn.cpp:827 msgid "Edit Status" msgstr "Editar o estado" #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "Estado dos datos do obxecto, de acordo co costume do fornecedor" #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "Actualización editorial" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" "Indica o tipo de actualización que este obxecto fornece a un obxecto previo. " "A ligazón ao obxecto previo faise usando as etiquetas e " ", de acordo cos costumes do fornecedor." #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "Urxencia (de edición)" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" "Especifica a urxencia editorial do contido e non equivale necesariamente á " "prioridade de manipulación do sobre (véxase ). O «1» é o " "máis urxente, «5» é normal e «8» indica a copia menos prioritaria." #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 msgid "Subject" msgstr "Asunto" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "A referencia «asunto» é unha definición estruturada do contido" #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "Categoría" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" "Identifica o asunto dos datos do obxecto en opinión do fornecedor. Onde sexa " "posíbel unha lista de categorías será mantida por un rexistro rexional, " "noutro caso vai ser fornecida polo fornecedor." #: src/datasets.cpp:222 msgid "Supplemental Category" msgstr "Categoría suplementaria" #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" "As «categorías suplementarias» permiten refinar un dato do obxecto. Unha " "categoría suplementaria pode incluír calquera das categorías xa recoñecidas " "na etiqueta . Polo demais, a selección de categorías " "suplementarias deixase ao fornecedor." #: src/datasets.cpp:228 src/properties.cpp:442 msgid "Supplemental Categories" msgstr "Categorías suplementarias" #: src/datasets.cpp:229 msgid "Fixture Id" msgstr "ID de arranxo" #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" "Identifica os datos do obxecto que se repiten decote e de xeito predicíbel, " "permitíndolle aos usuarios atopalos inmediatamente ou reclamalos cando se " "precise." #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 msgid "Keywords" msgstr "Palabras clave" #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" "Utilizase para indicar palabras clave específicas. Agardase que un " "fornecedor de varios tipos de datos ligados a un mesmo asunto utilice a " "mesma palabra clave, permitíndolle ao sistema receptor ou aos distintos " "subsistemas atopar rapidamente todo o material relacionado entre todos os " "tipos de datos." #: src/datasets.cpp:240 msgid "Location Code" msgstr "Código de localización" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" "Indica o código de País/localización xeográfica referenciado polo contido " "dun obxecto. Alí onde a ISO 3166 teña estabelecido un código apropiado de " "país utilizarase ese código. Pola contra (ex. o espazo ou barcos en alta " "mar, IPTC asignará un código de tres caracteres apropiado baixo as " "previsións da ISO 3166 para evitar conflitos." #: src/datasets.cpp:248 msgid "Location Name" msgstr "Nome da localización" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" "Fornece un nome, publicábel e completo, do país ou localización xeográfica " "referenciado polo contido dun obxecto, de acordo coas directrices do " "fornecedor." #: src/datasets.cpp:253 src/properties.cpp:376 msgid "Release Date" msgstr "Data de publicación" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" "Designa a data inicial (expresada en forma CCYYMMDD) a partir da que o " "fornecedor ten intención de que un obxecto concreto poida ser usado. Segue o " "estándar ISO 8601." #: src/datasets.cpp:257 msgid "Release Time" msgstr "Hora de publicación" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" "Designa a hora inicial (expresada en forma HHMMSS:HHMM) a partir da que o " "fornecedor ten intención de que un obxecto concreto poida ser usado. Segue o " "estándar ISO 8601." #: src/datasets.cpp:261 msgid "Expiration Date" msgstr "Data de caducidade" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" "Designa a data de caducidade da validez dun obxecto para o seu uso " "(expresada en forma CCYYMMDD) a partir da que o fornecedor ou o usuario " "consideran que xa non debe utilizarse mais ditos datos do obxecto. Segue o " "estándar ISO 8601." #: src/datasets.cpp:265 msgid "ExpirationTime" msgstr "Hora de caducidade" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" "Designa a hora de caducidade da validez dun obxecto para o seu uso " "(expresada en forma HHMMSS:HHMM) a partir da que o fornecedor ou o usuario " "consideran que xa non debe utilizarse mais ditos datos do obxecto. Segue o " "estándar ISO 8601." #: src/datasets.cpp:269 msgid "Special Instructions" msgstr "Instrucións especiais" #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" "Instrucións editoriais adicionais sobre o uso dos datos do obxecto, como " "embargos e avisos." #: src/datasets.cpp:273 src/properties.cpp:439 msgid "Instructions" msgstr "Instrucións" #: src/datasets.cpp:274 msgid "Action Advised" msgstr "Acción suxerida" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" "Indica o tipo de acción que este obxecto fornece a un obxecto anterior. Para " "ligala ao obxecto anterior úsanse as etiquetas e " ", de acordo aos costumes do fornecedor." #: src/datasets.cpp:279 msgid "Reference Service" msgstr "Servizo de referencia" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" "Identifica ao identificador de servizo dun sobre anterior no que o obxecto " "actual se referencia." #: src/datasets.cpp:283 msgid "Reference Date" msgstr "Data de referencia" #: src/datasets.cpp:284 msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "" "Identifica a data dun sobre anterior no que o obxecto actual se referencia." #: src/datasets.cpp:286 msgid "Reference Number" msgstr "Número de referencia" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "" "Identifica o número de sobre dun sobre anterior no que o obxecto actual se " "referencia." #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 msgid "Date Created" msgstr "Data de creación" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" "Representada no CCYYMMDD designa a data da creación do contido intelectual " "dos datos do obxecto no canto da creación física da representación física. " "Segue o estándar ISO 8601." #: src/datasets.cpp:295 msgid "Time Created" msgstr "Hora de creación" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" "Representada no formato HHMMSS:HHMM designa a hora da creación do contido " "intelectual dos datos do obxecto no canto da creación física da " "representación física. Segue o estándar ISO 8601." #: src/datasets.cpp:301 msgid "Digitization Date" msgstr "Data de dixitalización" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" "Representada no formato CCYYMMDD designa a data na que foi creada a " "representación dixital dos datos do obxecto. Segue o estándar ISO 8601." #: src/datasets.cpp:305 msgid "Digitization Time" msgstr "Hora de dixitalización" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" "Representada no formato HHMMSS:HHMM designa a data na que foi creada a " "representación dixital dos datos do obxecto. Segue o estándar ISO 8601." #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 msgid "Program" msgstr "Programa" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "Identifica o tipo de programa usado para orixinar os datos do obxecto." #: src/datasets.cpp:313 msgid "Program Version" msgstr "Versión do programa" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "" "Usado para identificar a versión do programa mencionado na etiqueta " #: src/datasets.cpp:316 msgid "Object Cycle" msgstr "Ciclo do obxecto" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "Utilizado para identificar o ciclo editorial dos datos do obxecto." #: src/datasets.cpp:319 msgid "By-line" msgstr "Por liña" #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "" "Conten o nome do creador dos datos do obxecto, p.e. escritor, fotógrafo ou " "artista gráfico." #: src/datasets.cpp:323 src/properties.cpp:2103 msgid "Author" msgstr "Autoría" #: src/datasets.cpp:324 msgid "By-line Title" msgstr "Título por liña" #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "" "Un «título por liña» é o título do creador ou creadores dos datos dun " "obxecto. Cando se usa, un título por liña debería seguir os «po liña» que " "modifica." #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 msgid "City" msgstr "Cidade" #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" "Identifica a cidade dos datos do obxecto orixinal de acordo coas indicacións " "estabelecidas polo fornecedor." #: src/datasets.cpp:333 msgid "Sub Location" msgstr "Sublocalización" #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" "Identifica o lugar dentro dunha cidade desde o que se orixinan os datos do " "obxecto, de acordo coas indicacións estabelecidas polo fornecedor." #: src/datasets.cpp:337 msgid "Province State" msgstr "Estado ou Provincia" #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "" "Identifica a Provincia/Estado de orixe de acordo coas indicacións " "estabelecidas polo fornecedor." #: src/datasets.cpp:341 msgid "State/Province" msgstr "Estado/Provincia" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 msgid "Country Code" msgstr "Código do país" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" "Indica o código do país ou localización primaria onde foi creada a " "propiedade intelectual dos datos do obxecto, por exemplo, onde foi tomada " "unha foto, ocorreu un acontecemento. Se ISO ten estabelecido un código de " "país apropiado baixo a ISO 3166, usarase ese código. Cando ISO 3166 non " "forneza unha identificación adecuada para a localización ou no caso dun país " "novo, ou cando sexan barcos en alta mar, ou o espazo exterior, IPCT asignará " "un código apropiado de tres caracteres, segundo as condiciones de ISO 3166 " "para evitar conflitos." #: src/datasets.cpp:352 msgid "Country Name" msgstr "Nome do país" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" "Fornece o nome do país, completo e publicábel, ou a localización primaria " "onde e creou a propiedade intelectual dos datos do obxecto, de acordo coas " "indicacións do fornecedor." #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 msgid "Country" msgstr "País" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 msgid "Transmission Reference" msgstr "Referencia de transmisión" #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" "Un código que representa a localización da transmisión orixinal de acordo " "coas costumes do fornecedor." #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 msgid "Headline" msgstr "Encabezamento" #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "" "Unha entrada publicábel que fornece a sinopse dos contidos dos datos do " "obxecto." #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 msgid "Credit" msgstr "Crédito" #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "" "Identifica ao fornecedor dos datos do obxecto, non necesariamente o " "propietario/creador" #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source" msgstr "Orixe" #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" "Identifica o propietario intelectual orixinal dos contidos dos datos do " "obxecto. Pode ser unha axencia, un membro dunha axencia ou un individuo." #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "Conten calquer aviso necesario de Dereitos de autoría." #: src/datasets.cpp:379 msgid "Copyright Notice" msgstr "Aviso de Dereitos de autoría" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 msgid "Contact" msgstr "Contacto" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" "Identifica á persoa ou organización que pode fornecer mais información de " "axuda dos datos do obxecto." #: src/datasets.cpp:384 src/properties.cpp:2101 msgid "Caption" msgstr "Lenda" #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "Descrición textual dos datos do obxecto." #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 msgid "Description" msgstr "Descrición" #: src/datasets.cpp:388 msgid "Writer" msgstr "Escritor" #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" "Identificación do nome da persoa autora do escrito, edición ou corrección " "dos datos do obxecto ou do seu resumo." #: src/datasets.cpp:392 msgid "Rasterized Caption" msgstr "Lenda rasterizada" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" "Conten a descrición de datos do obxecto rasterizado e é usado onde se " "requiran os caracteres que non foron codificados para o titulo" #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "Indica os compoñentes de cor dunha imaxe" #: src/datasets.cpp:399 msgid "Image Orientation" msgstr "Orientación da imaxe" #: src/datasets.cpp:400 msgid "Indicates the layout of an image." msgstr "Indica a disposición dunha imaxe." #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 msgid "Language" msgstr "Idioma" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" "Describe o principal idioma nacional dos datos do obxecto, segundo os " "códigos de dúas letras de ISO 639:1988. Non define nin implica algún " "conxunto de caracteres codificado, mais usase para o enrutado interno, por " "exemplo os varios escritorios editoriais." #: src/datasets.cpp:408 msgid "Audio Type" msgstr "Tipo de son" #: src/datasets.cpp:409 msgid "Indicates the type of an audio content." msgstr "Indica o tipo de contido de son" #: src/datasets.cpp:411 msgid "Audio Rate" msgstr "Taxa de son" #: src/datasets.cpp:412 msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "Indica a frecuencia en Hertzios dun contido de son" #: src/datasets.cpp:414 msgid "Audio Resolution" msgstr "Resolución de son" #: src/datasets.cpp:415 msgid "Indicates the sampling resolution of an audio content." msgstr "Indica a resolución da mostraxe dun contido de son." #: src/datasets.cpp:417 msgid "Audio Duration" msgstr "Duración do son" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "Indica a duración dun contido de son." #: src/datasets.cpp:420 msgid "Audio Outcue" msgstr "Cola de saída do son" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" "Identifica o contido do final dos datos dun obxecto de son, de acordo coas " "indicacións estabelecidas polo fornecedor." #: src/datasets.cpp:424 msgid "Preview Format" msgstr "Formato de vista previa" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" "Un número binario que representa o formato de ficheiro da vista previa dos " "datos do obxecto. O formato de ficheiro debe estar rexistrado nas " "organizacións IPTC ou NAA cun número único asignado." #: src/datasets.cpp:429 src/properties.cpp:1276 msgid "Preview Version" msgstr "Versión de vista previa" #: src/datasets.cpp:430 msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" "Un número binario representando a versión particular do formato de ficheiro " "da vista previa dos datos do obxecto especificado na etiqueta " #: src/datasets.cpp:433 msgid "Preview Data" msgstr "Vista previa dos datos" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "Facer unha v¡sta previa dos datos da imaxe binaria." #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "(non válido)" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 msgid "Unknown dataset" msgstr "Conxunto de datos descoñedido" #: src/error.cpp:55 msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "Erro %0: arg2=%2, arg3=%3, arg1=%1." #: src/error.cpp:56 msgid "Success" msgstr "Correcto" #: src/error.cpp:59 msgid "This does not look like a %1 image" msgstr "Isto non se parace a unha imaxe como %1" #: src/error.cpp:60 msgid "Invalid dataset name `%1'" msgstr "Nome non válido do conxunto de datos «%1»" #: src/error.cpp:61 msgid "Invalid record name `%1'" msgstr "Nome non válido do rexistro inválido «%1»" #: src/error.cpp:62 msgid "Invalid key `%1'" msgstr "Chave non válida «%1»" #: src/error.cpp:63 msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "Nome non válido da etiqueta ou ifdld «%1», ifdId %2" #: src/error.cpp:64 msgid "Value not set" msgstr "Valor non estabelecido" #: src/error.cpp:65 msgid "%1: Failed to open the data source: %2" msgstr "%1: produciuse un fallo ao abrir a orixe dos datos: %2" #: src/error.cpp:66 msgid "%1: Failed to open file (%2): %3" msgstr "%1: produciuse un fallo ao abrir o ficheiro (%2): %3" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "%1: o ficheiro conten datos dun tipo de imaxe descoñecido" #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "A memoria conten datos dunha imaxe de tipo descoñecido" #: src/error.cpp:69 msgid "Image type %1 is not supported" msgstr "Non está admitido o tipo de imaxe %1" #: src/error.cpp:70 msgid "Failed to read image data" msgstr "Produciuse un fallo ao ler os datos da imaxe" #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "Non parece ser unha imaxe JPEG" #: src/error.cpp:72 msgid "%1: Failed to map file for reading and writing: %2" msgstr "" "%1: produciuse un fallo ao asignar o ficheiro para lectura e escritura: %2" #: src/error.cpp:73 msgid "%1: Failed to rename file to %2: %3" msgstr "produciuse un fallo ao renomear o ficheiro a %2: %3" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "%1: non foi posíbel facer a transferencia: %2" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "Produciuse un fallo na transferencia de memoria: %1" #: src/error.cpp:76 msgid "Failed to read input data" msgstr "Produciuse un fallo ao ler os datos de entrada" #: src/error.cpp:77 msgid "Failed to write image" msgstr "Produciuse un fallo ao escribir a imaxe" #: src/error.cpp:78 msgid "Input data does not contain a valid image" msgstr "Os datos de entrada non conteñen unha imaxe válida" #: src/error.cpp:79 msgid "Invalid ifdId %1" msgstr "ifdId %1 non válido" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" "Entry::setValue: Valor grande de máis (etiqueta=%1, tamaño=%2, solicitado=" "%3)" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" "Entry::setDataArea: Valor grande de máis (etiqueta=%1, tamaño=%2, solicitado=" "%3)" #: src/error.cpp:82 msgid "Offset out of range" msgstr "Desprazamento fora do rango" #: src/error.cpp:83 msgid "Unsupported data area offset type" msgstr "Tipo de datos de desprazamento de área non admitidos" #: src/error.cpp:84 msgid "Invalid charset: `%1'" msgstr "Conxunto de caracteres non válido «%1»" #: src/error.cpp:85 msgid "Unsupported date format" msgstr "Formato de data non admitido" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "Formato horario non admitido" #: src/error.cpp:87 msgid "Writing to %1 images is not supported" msgstr "Non está admitido a escritura a %1 imaxes" #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "Configurar %1 en imaxes %2 non está admitido" #: src/error.cpp:89 msgid "This does not look like a CRW image" msgstr "Non parece ser unha imaxe CRW" #: src/error.cpp:90 msgid "%1: Not supported" msgstr "%1: Non admitido" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "" "Non hai información do espazo de nomes dispoñíbel para o prefixo XMP «%1»" #: src/error.cpp:92 msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "" "Non hai un prefixo rexistrado para o espazo de nome «%2», necesario para a " "propiedade ruta «%1»" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "O tamaño do segmento JPEG %1 é maior que 65535 bytes" #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "Xmpdatum %1 non manipulábel, do tipo %2" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "nodo XMP %1 non manipulábel con opc=%2" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "Produciuse o erro %1 das ferramentas XMP: %2" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "" "Produciuse un fallo ao descodificar a propiedade Lang Alt %1 con opt=%2" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "" "Produciuse un fallo ao descodificar o cualificador Lang Alt %1 con opt=%2" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "Produciuse un fallo ao codificar a propiedade Lang Alt %1" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "" "Produciuse un fallo ao determinar a propiedade nome desde a ruta %1, espazo " "de nome %2" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "" "O esquema de espazo de nome %1 non está rexistrado co conxunto de " "ferramentas XMP" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "Non ha espazo de nome registrado para o prefixo «%1»" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" "Non se admiten os alias. E envíe este paquete XMP a ahuggel@gmx.net «%1», " "«%2», «%3»" #: src/error.cpp:104 msgid "Invalid XmpText type `%1'" msgstr "Tipo XmpText «%1» non válido" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "O directorio TIFF %1 tene demasiadas entradas" #: src/error.cpp:106 msgid "Multiple TIFF array element tags %1 in one directory" msgstr "Múltiples etiquetas de elementos de orde TIFF %1 nun directorio" #: src/error.cpp:107 msgid "TIFF array element tag %1 has wrong type" msgstr "Tipo equivocado para etiqueta de elemento de orde TIFF %1" #: src/error.cpp:108 msgid "%1 has invalid XMP value type `%2'" msgstr "%1 ten un tipo de valor XMP «%2» incorrecto" #: src/exiv2.cpp:213 msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "Copyright (C) 2004-2015 Andreas Huggel.\n" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" "Este programa é software libre; pode redistribuílo e/ou\n" "modificalo baixo os termos da Licenza Pública Xeral de GNU\n" "publicada pola Free Software Foundation; na versión 2\n" "da licenza, ou (a súa elección) en calquera versión posterior.\n" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" "Este programa distribúese coa intención de que sexa útil, pero SEN\n" "NINGUNHA GARANTIA; nin sequera a garantía implícita de COMERCIALIZACIÓN\n" "ou ADECUACIÓN A UN FIN PARTICULAR. Vexa a Licenza Pública Xeral de\n" "GNU para obter máis detalles.\n" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" "Debe ter recibido unha copia da Licenza Pública Xeral\n" "de GNU con este programa; en caso contrario, escriba á\n" "Free Software Foundation, Inc Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "Modo de uso:" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" "[ opción ] [ acción ] ficheiro ...\n" "\n" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "Manipular os metadatos Exif das imaxes.\n" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" "\n" "Accións:\n" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" " ad | adjust Axusta as marcas de tempo Exif polo nome dado. Esta acción\n" " require polo menos unha das opcións -a, -Y, -O ou -D\n" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr " pr | print Imprime os metadatos da imaxe.\n" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr " rm | delete Elimina os metadatos da imaxe dos ficheiros.\n" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" " in | insert Insire metadatos desde os correspondentes ficheiros *.exv.\n" " Use a opción -S para cambiar o sufixo dos ficheiros de " "entrada.\n" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" " ex | extract Extrae os metadatos a *.exv, *xmp e ficheiros de imaxes en " "miniatura\n" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" " mv | rename Renomea os ficheiros ou axusta as datas segundo a\n" " data de creación do Exif. O formato do nome do ficheiro pode " "axustarse con\n" " -r formato, as opcións da data son controladas con -t e -T.\n" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" " mo | modify Aplica ordes para modificar (engadir, estabelecer, eliminar) " "o Exif e os\n" " metadatos IPTC de ficheiros de imaxe ou estabelecer o " "comentario JPEG.\n" " Require a opción -c, -m ou -M.\n" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" " fc | fixcom Convirte o comentario de usuario EXIF UNICODE a UCS-2. A súa " "codificación\n" " de caracteres actual pódese especificar coa opción -n.\n" #: src/exiv2.cpp:262 msgid "" "\n" "Options:\n" msgstr "" "\n" "Opcións:\n" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr " -h Mostra esta axuda e sae.\n" #: src/exiv2.cpp:264 msgid " -V Show the program version and exit.\n" msgstr " -V Mostra a versión do programa e sae.\n" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr "" " -v Fornece unha saída detallada mentres se executa o programa.\n" #: src/exiv2.cpp:266 msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr "" " -q Silencia as mensaxes de aviso durante a execución do programa " "(quiet).\n" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" #: src/exiv2.cpp:268 msgid " -b Show large binary values.\n" msgstr " -b Mostra os valores binarios grandes.\n" #: src/exiv2.cpp:269 msgid " -u Show unknown tags.\n" msgstr " -u Mostra etiquetas descoñecidas.\n" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr " -g clave Fornece información de saída só para esta clave (grep).\n" #: src/exiv2.cpp:271 #, fuzzy msgid " -K key Only output info for this key (exact match).\n" msgstr " -g clave Fornece información de saída só para esta clave (grep).\n" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" " -n enc Conxunto de caracteres que usar para descodificar os comentarios " "de usuarios EXIF UNICODE.\n" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr " -k Conserva o selo de tempo do ficheiro (keep).\n" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" " -t Axusta tamén a data do ficheiro na acción «renomear» (substitúe a -k)\n" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" " -T Axusta só a data do ficheiro na acción «renomear», non o renomea\n" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr "" " -f Non pregunta antes de sobrescribir ficheiros existentes (force).\n" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr " -F Non pregunta antes de renomear ficheiros (Force).\n" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" " -a hora Axusta a hora ao formato [-]HH[:MM[:SS]]. Esta opción\n" " só se emprega coa acción «axustar»'.\n" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr " -Y ano Axusta o ano coa acción «axustar»\n" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr " -O mes Axusta o mes coa acción «axustar»\n" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr " -D día Axusta o día coa acción «axustar»\n" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr "" " -p modo Modo de impresión para a acción «imprimir». Os modos posíbeis " "son:\n" #: src/exiv2.cpp:285 msgid " s : print a summary of the Exif metadata (the default)\n" msgstr "" " s : imprime un resumo dos metadatos Exif (predeterminado)\n" #: src/exiv2.cpp:286 msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr "" " a : imprime os metadatos Exif, IPTC e XMP (atallo para -Pkyct)\n" #: src/exiv2.cpp:287 msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr " t : datos Exif interpretados (traducidos) (-PEkyct)\n" #: src/exiv2.cpp:288 msgid " v : plain Exif data values (-PExgnycv)\n" msgstr " v : valores de datos Exif sen formato (-PExgnycv)\n" #: src/exiv2.cpp:289 msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr " h : envorcado hexadecimal dos datos Exif (-PExgnycsh)\n" #: src/exiv2.cpp:290 msgid " i : IPTC data values (-PIkyct)\n" msgstr " i : valores de datos IPTC (-PIkyct)\n" #: src/exiv2.cpp:291 msgid " x : XMP properties (-PXkyct)\n" msgstr " x : propiedades XMP (-PXkyct)\n" #: src/exiv2.cpp:292 src/exiv2.cpp:317 msgid " c : JPEG comment\n" msgstr " c: Comentario JPEG\n" #: src/exiv2.cpp:293 msgid " p : list available previews\n" msgstr " p : lista as vistas previas dispoñíbeis\n" #: src/exiv2.cpp:294 #, fuzzy msgid " S : print structure of image\n" msgstr " v: datos de valor simple\n" #: src/exiv2.cpp:295 #, fuzzy msgid " X : extract XMP from image\n" msgstr " X : propiedades XMP\n" #: src/exiv2.cpp:296 msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" " -P flgs Imprime as marcas para un control preciso das listas de etiquetas " "(acción «imprimir»):\n" #: src/exiv2.cpp:297 msgid " E : include Exif tags in the list\n" msgstr " E : inclúe etiquetas Exif na lista\n" #: src/exiv2.cpp:298 msgid " I : IPTC datasets\n" msgstr " I : conxuntos de datos IPTC\n" #: src/exiv2.cpp:299 msgid " X : XMP properties\n" msgstr " X : propiedades XMP\n" #: src/exiv2.cpp:300 msgid " x : print a column with the tag number\n" msgstr " x : imprime unha columna co número de etiqueta\n" #: src/exiv2.cpp:301 msgid " g : group name\n" msgstr " g : nome do grupo\n" #: src/exiv2.cpp:302 msgid " k : key\n" msgstr " k : clave\n" #: src/exiv2.cpp:303 msgid " l : tag label\n" msgstr " l : tag etiqueta\n" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr " n : nome de etiqueta\n" #: src/exiv2.cpp:305 msgid " y : type\n" msgstr " y : tipo\n" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr " c : número de compoñentes (count)\n" #: src/exiv2.cpp:307 msgid " s : size in bytes\n" msgstr " s : tamaño en bytes\n" #: src/exiv2.cpp:308 msgid " v : plain data value\n" msgstr " v: datos de valor simple\n" #: src/exiv2.cpp:309 msgid " t : interpreted (translated) data\n" msgstr " t : datos interpretados (traducidos)\n" #: src/exiv2.cpp:310 msgid " h : hexdump of the data\n" msgstr " h : envorcado hexadecimal dos datos\n" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr "" " -d tgt Elimina deestino(s) para a acción «eliminar». Destinos posíbeis:\n" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr " a : todos os metadatos admitidos (predeterminado)\n" #: src/exiv2.cpp:313 msgid " e : Exif section\n" msgstr " e : sección Exif\n" #: src/exiv2.cpp:314 msgid " t : Exif thumbnail only\n" msgstr " t : Só miniatura Exif\n" #: src/exiv2.cpp:315 msgid " i : IPTC data\n" msgstr " i: Datos IPTC\n" #: src/exiv2.cpp:316 msgid " x : XMP packet\n" msgstr " x : Paquete XMP\n" #: src/exiv2.cpp:318 msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" #: src/exiv2.cpp:323 msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr " :basename: - nome do ficheiro orixinal sen extensión\n" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr "" " :dirname: - nome do directorio que aloxa o ficheiro " "orixinal\n" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr " :parentname: - nome do directorio pai\n" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr " O formato predeterminado do nome de ficheiro é " #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr " -c text Comentario que poñer na imaxe JPEG\n" #: src/exiv2.cpp:336 #, fuzzy msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" " -M cmd Liña de ordes para a acción de modificar. O formato das\n" " ordes é o mesmo que o das liñas do ficheiro de ordes.\n" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" " -M cmd Liña de ordes para a acción de modificar. O formato das\n" " ordes é o mesmo que o das liñas do ficheiro de ordes.\n" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" " -l dir Localización do directorio que conten os ficheiros que inserir ou " "extraer.\n" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" " -S .suf Usa o sufixo .suf para ficheiros orixe na orde inserir.\n" "\n" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 msgid "Option" msgstr "Opción" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "require un argumento\n" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "Opción non recoñecida" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "«getopt» devolveu un código de caracter inesperado" #: src/exiv2.cpp:410 msgid "Invalid argument" msgstr "O argumento non é válido" #: src/exiv2.cpp:434 #, fuzzy msgid "Invalid regexp" msgstr "O argumento non é válido" #: src/exiv2.cpp:473 src/exiv2.cpp:526 msgid "Ignoring surplus option" msgstr "Ignorando a opción sobrante" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "non é compatíbel coa opción anterior\n" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "Ignorando a opción sobrante -a" #: src/exiv2.cpp:504 msgid "Error parsing -a option argument" msgstr "Produciuse un erro ao analizar o argumento da opción -a" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "A opción -a non é compatíbel coa opción anterior\n" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "Produciuse un erro na análise" #: src/exiv2.cpp:535 msgid "option argument" msgstr "argumento de opción" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "Modo de impresión descoñecido" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "Ignorando a opción sobrante -p" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "A opción -p non é compatíbel coa opción anterior\n" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "Elemento de impresión decoñecido" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "Ignorando a opción sobrante -P" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "A opción -P non é compatíbel coa opción anterior\n" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "A opción -d non é compatíbel coa opción anterior\n" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "A opción -e non é compatíbel coa opción anterior\n" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "A opción -i non é compatíbel coa opción anterior\n" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "A acción de axuste non é compatíbel coas opcións dadas\n" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "A acción de impresión non é compatíbel coas opcións dadas\n" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "A acción de eliminado non é compatíbel coas opcións dadas\n" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "A acción de extracción non é compatíbel coas opcións dadas\n" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "A acción de inserción non é compatíbel coas opcións dadas\n" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "A acción de renomeado non é compatíbel coas opcións dadas\n" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "A acción de modificación non é compatíbel coas opcións dadas\n" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "A acción «fixiso» non é compatíbel coas opcións dadas\n" #: src/exiv2.cpp:824 msgid "Action fixcom is not compatible with the given options\n" msgstr "A acción «fixcom» non é compatíbel coas opcións dadas\n" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "Debese especificar unha acción\n" #: src/exiv2.cpp:904 msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "A acción de axuste require polo menos unha opción -a, -Y, -O ou -D\n" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "A acción de modificación require polo menos unha opción -c, -m ou -M\n" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "Requirese, polo menos, un ficheiro\n" #: src/exiv2.cpp:920 msgid "Error parsing -m option arguments\n" msgstr "Produciuse un erro ao analizar os argumentos da opción -m\n" #: src/exiv2.cpp:927 msgid "Error parsing -M option arguments\n" msgstr "Produciuse un erro ao analizar os argumentos da opción -M\n" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "A opción -l só pode usarse con accións de extracción o inserción\n" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "A opción -S só pode usarse coa acción de inserción\n" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "A opción -t só pode usarse coa acción de renomeado\n" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "A opción -T só pode usarse coa acción de renomeado\n" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "Descoñecido " #: src/exiv2.cpp:1039 msgid "target" msgstr "destino" #: src/exiv2.cpp:1065 msgid "Invalid preview number" msgstr "Número non válido de vista previa" #: src/exiv2.cpp:1097 msgid "Failed to open command file for reading\n" msgstr "Produciuse un fallo ao abrir para lectura o ficheiro de ordes\n" #: src/exiv2.cpp:1110 msgid "line" msgstr "liña" #: src/exiv2.cpp:1133 msgid "-M option" msgstr "Opción -M" #: src/exiv2.cpp:1180 #, fuzzy msgid "Invalid command line:" msgstr "Liña de ordes incorrecta" #: src/exiv2.cpp:1187 msgid "Invalid command" msgstr "Orde incorrecta" #: src/exiv2.cpp:1219 msgid "Invalid key" msgstr "Clave non válida" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "Liña de ordes incorrecta" #: src/fujimn.cpp:62 msgid "Soft mode 1" msgstr "Modo suave 1" #: src/fujimn.cpp:63 msgid "Soft mode 2" msgstr "Modo suave 2" #: src/fujimn.cpp:65 msgid "Hard mode 1" msgstr "Modo duro 1" #: src/fujimn.cpp:66 msgid "Hard mode 2" msgstr "Modo duro 2" #: src/fujimn.cpp:74 msgid "Fluorescent (daylight)" msgstr "Fluorescente (luz de día)" #: src/fujimn.cpp:75 msgid "Fluorescent (warm white)" msgstr "Fluorescente (blanco cálido)" #: src/fujimn.cpp:76 msgid "Fluorescent (cool white)" msgstr "Fluorescente (blanco frio)" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 msgid "Incandescent" msgstr "Incandescente" #: src/fujimn.cpp:87 src/fujimn.cpp:88 msgid "None (black & white)" msgstr "Ningún (B/N)" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 msgid "Red-eye reduction" msgstr "Redución de ollos vermellos." #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 msgid "Night scene" msgstr "Escena nocturna" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 msgid "Program AE" msgstr "Programa AE" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "Luz natural" #: src/fujimn.cpp:122 msgid "Anti-blur" msgstr "Anti esborranchado" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 msgid "Sunset" msgstr "Solpor" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 msgid "Museum" msgstr "Museo" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 msgid "Party" msgstr "Festa" #: src/fujimn.cpp:126 msgid "Flower" msgstr "Flor" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "Texto" #: src/fujimn.cpp:128 msgid "Natural light & flash" msgstr "Luz natural e flash" #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 msgid "Aperture-priority AE" msgstr "Prioridade de abertura AE" #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 msgid "Shutter speed priority AE" msgstr "Prioridade de velocidade do obturador AE" #: src/fujimn.cpp:142 msgid "No flash & flash" msgstr "Sen flash e flash" #: src/fujimn.cpp:148 msgid "Chrome" msgstr "Cromo" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 msgid "Wide" msgstr "Amplo" #: src/fujimn.cpp:160 msgid "F0/Standard" msgstr "F0/Estándar" #: src/fujimn.cpp:161 msgid "F1/Studio portrait" msgstr "F1/Retrato de estudio" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "F2/Fujichrome" #: src/fujimn.cpp:163 msgid "F3/Studio portrait Ex" msgstr "F3/Studio portrait Ex" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "F4/Velvia" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "Auto (100-400%)" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "En bruto" #: src/fujimn.cpp:171 msgid "Standard (100%)" msgstr "Estándar (100%)" #: src/fujimn.cpp:172 msgid "Wide mode 1 (230%)" msgstr "Panorámico 1 (230%)" #: src/fujimn.cpp:173 msgid "Wide mode 2 (400%)" msgstr "Panorámico 2 (400%)" #: src/fujimn.cpp:174 msgid "Film simulation mode" msgstr "Modo de simulación de película" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 msgid "Version" msgstr "Versión" #: src/fujimn.cpp:180 msgid "Fujifilm Makernote version" msgstr "Versión da nota do fabricante Fujifilm" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" "Este número é único, e conten a data de manufactura, mais non é o mesmo " "número que o impreso no corpo da cámara" #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 msgid "Image quality setting" msgstr "Axuste da calidade da imaxe" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 msgid "Color" msgstr "Cor" #: src/fujimn.cpp:196 msgid "Chroma saturation setting" msgstr "Axuste da saturación de croma" #: src/fujimn.cpp:198 msgid "Tone" msgstr "Ton" #: src/fujimn.cpp:202 msgid "Flash firing mode setting" msgstr "Axuste do modo de disparo do flash" #: src/fujimn.cpp:204 msgid "Flash Strength" msgstr "Forza do flash" #: src/fujimn.cpp:205 msgid "Flash firing strength compensation setting" msgstr "Axuste da compensación de forza de disparo do flash" #: src/fujimn.cpp:208 msgid "Macro mode setting" msgstr "Axuste do modo de macro" #: src/fujimn.cpp:211 msgid "Focusing mode setting" msgstr "Axuste do modo de enfoque" #: src/fujimn.cpp:216 msgid "Slow Sync" msgstr "Sincronización lenta" #: src/fujimn.cpp:217 msgid "Slow synchro mode setting" msgstr "Axuste do modo de sincronización lento" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 msgid "Picture Mode" msgstr "Modo de imaxe" #: src/fujimn.cpp:220 msgid "Picture mode setting" msgstr "Axuste do modo de imaxe" #: src/fujimn.cpp:226 msgid "Continuous shooting or auto bracketing setting" msgstr "Disparo continuo ou axuste en forcada" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 msgid "Sequence Number" msgstr "Número de secuencia" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 msgid "Sequence number" msgstr "Número de secuencia" #: src/fujimn.cpp:234 msgid "FinePix Color" msgstr "Color FinePix" #: src/fujimn.cpp:235 msgid "Fuji FinePix color setting" msgstr "Axuste de color Fuji FinePix" #: src/fujimn.cpp:237 msgid "Blur Warning" msgstr "Aviso do esborranchado" #: src/fujimn.cpp:238 msgid "Blur warning status" msgstr "Estado do aviso do esborranchado" #: src/fujimn.cpp:240 msgid "Focus Warning" msgstr "Aviso de foco" #: src/fujimn.cpp:241 msgid "Auto Focus warning status" msgstr "Estados do aviso de enfoque automático" #: src/fujimn.cpp:243 msgid "Exposure Warning" msgstr "Aviso de exposición" #: src/fujimn.cpp:244 msgid "Auto exposure warning status" msgstr "Estado do aviso de exposición automática" #: src/fujimn.cpp:246 msgid "Dynamic Range" msgstr "Rango dinámico" #: src/fujimn.cpp:247 msgid "Dynamic range" msgstr "Rango dinámico" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 msgid "Film Mode" msgstr "Modo do filme" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 msgid "Film mode" msgstr "Modo do filme" #: src/fujimn.cpp:252 msgid "Dynamic Range Setting" msgstr "Axuste do rango dinámico" #: src/fujimn.cpp:253 msgid "Dynamic range settings" msgstr "Axustes do rango dinámico" #: src/fujimn.cpp:255 msgid "Development Dynamic Range" msgstr "Rango dinámico de desenvolvemento" #: src/fujimn.cpp:256 msgid "Development dynamic range" msgstr "Rango dinámico de desenvolvemento" #: src/fujimn.cpp:258 msgid "Minimum Focal Length" msgstr "Distancia focal mínima" #: src/fujimn.cpp:259 msgid "Minimum focal length" msgstr "Distancia focal mínima" #: src/fujimn.cpp:261 msgid "Maximum Focal Length" msgstr "Distancia focal máxima" #: src/fujimn.cpp:262 msgid "Maximum focal length" msgstr "Distancia focal máxima" #: src/fujimn.cpp:264 #, fuzzy msgid "Maximum Aperture at Minimum Focal" msgstr "Abertura máxima co foco mínimo" #: src/fujimn.cpp:265 #, fuzzy msgid "Maximum aperture at minimum focal" msgstr "Abertura máxima co foco mínimo" #: src/fujimn.cpp:267 #, fuzzy msgid "Maximum Aperture at Maximum Focal" msgstr "Abertura máxima co foco máximo" #: src/fujimn.cpp:268 #, fuzzy msgid "Maximum aperture at maximum focal" msgstr "Abertura máxima co foco máximo" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 msgid "File Source" msgstr "Orixe do ficheiro" #: src/fujimn.cpp:271 msgid "File source" msgstr "Orixe do ficheiro" #: src/fujimn.cpp:273 msgid "Order Number" msgstr "Número de pedido" #: src/fujimn.cpp:274 msgid "Order number" msgstr "Número de pedido" #: src/fujimn.cpp:276 msgid "Frame Number" msgstr "Número de fotograma" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 msgid "Frame number" msgstr "Número de fotograma" #: src/fujimn.cpp:281 msgid "Unknown FujiMakerNote tag" msgstr "Etiqueta FujiMakerNote descoñecida" #: src/minoltamn.cpp:56 msgid "Natural Color" msgstr "Cor natural" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 msgid "Vivid Color" msgstr "Color vívido" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 msgid "Solarization" msgstr "Solarización" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "RGB de Adobe" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 msgid "Natural" msgstr "Natural" #: src/minoltamn.cpp:64 msgid "Natural sRGB" msgstr "sRGB natural" #: src/minoltamn.cpp:65 msgid "Natural+ sRGB" msgstr "Natural + sRGB" #: src/minoltamn.cpp:67 msgid "Evening" msgstr "Serán" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 msgid "Night Portrait" msgstr "Retrato nocturno" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 msgid "Super Fine" msgstr "Superfino" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 msgid "Extra Fine" msgstr "Extrafino" #: src/minoltamn.cpp:90 msgid "Makernote Version" msgstr "Versión da nota do fabricante" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "Secuencia «MLT0» (sen terminacion nula)" #: src/minoltamn.cpp:93 msgid "Camera Settings (Std Old)" msgstr "Axustes da cámara (antigo estándar)" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "" "Axustes estándar da cámara (modelos de cámara antigos como D5, D7, S304 e " "S404)" #: src/minoltamn.cpp:96 msgid "Camera Settings (Std New)" msgstr "Axustes da cámara (novo estándar)" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "" "Axustes estándar da cámara (modelos de cámara novos como D7u, D7i e D7hi)" #: src/minoltamn.cpp:99 msgid "Camera Settings (7D)" msgstr "Axustes da cámara (7D)" #: src/minoltamn.cpp:100 msgid "Camera Settings (for Dynax 7D model)" msgstr "Axustes da cámara (para modelo Dynax 7D)" #: src/minoltamn.cpp:102 msgid "Image Stabilization Data" msgstr "Datos de estabilización da imaxe" #: src/minoltamn.cpp:103 msgid "Image stabilization data" msgstr "Datos de estabilización da imaxe" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "Información do BB A100" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "Información do balance de brancos para Sony DSLR-A100" #: src/minoltamn.cpp:111 msgid "Compressed Image Size" msgstr "Tamaño da imaxe comprimida" #: src/minoltamn.cpp:112 msgid "Compressed image size" msgstr "Tamaño da imaxe comprimida" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "Miniatura Jpeg 640x480 píxeles" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 msgid "Thumbnail Offset" msgstr "Desprazamento da miniatura" #: src/minoltamn.cpp:118 msgid "Offset of the thumbnail" msgstr "Desprazamento da miniatura" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 msgid "Thumbnail Length" msgstr "Lonxitude da miniatura" #: src/minoltamn.cpp:121 msgid "Size of the thumbnail" msgstr "Tamaño da miniatura" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 msgid "Scene Mode" msgstr "Modo de escena" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 msgid "Color Mode" msgstr "Modo de cor" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 msgid "Color mode" msgstr "Modo de cor" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 msgid "Image Quality" msgstr "Calidade da imaxe" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "0x0103" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 msgid "Flash Exposure Compensation" msgstr "Compensación da exposición co flash" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 msgid "Flash exposure compensation in EV" msgstr "Compensación da exposición co flash en EV" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 msgid "Teleconverter Model" msgstr "Modelo de teleconvertedor" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "Gravación RAW+JPG" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "Gravación de ficheiros RAW e JPG" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 msgid "Zone Matching" msgstr "Zona coincidente" #: src/minoltamn.cpp:154 msgid "Zone matching" msgstr "Zona coincidente" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 msgid "Color temperature" msgstr "Temperatura de cor" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 msgid "Lens ID" msgstr "ID da lente" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 msgid "Lens identifier" msgstr "Identificador de lentes" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 msgid "Color Compensation Filter" msgstr "Filtro de compensación de cor" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "" "Filtro de compensación da cor: o verde é negativo, o maxenta é positivo" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 msgid "White Balance Fine Tune" msgstr "Axuste fino do balance de brancos" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 msgid "White Balance Fine Tune Value" msgstr "Valor do axuste fino do balance de brancos" #: src/minoltamn.cpp:168 msgid "Image Stabilization A100" msgstr "Estabilización de imaxe A100" #: src/minoltamn.cpp:169 msgid "Image Stabilization for the Sony DSLR-A100" msgstr "Estabilización de imaxe para Sony DSLR-A100" #: src/minoltamn.cpp:173 msgid "Camera Settings (5D)" msgstr "Axustes da cámara (5D)" #: src/minoltamn.cpp:174 msgid "Camera Settings (for Dynax 5D model)" msgstr "Axustes da cámara (para o modelo Dynax 5D)" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "Impresión de mensaxería instantánea" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 msgid "PrintIM information" msgstr "Información de PrintIM" #: src/minoltamn.cpp:183 msgid "Camera Settings (Z1)" msgstr "Axustes da cámara (Z1)" #: src/minoltamn.cpp:184 msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "Axustes da cámara (para modelos Z1, DImage X e F100)" #: src/minoltamn.cpp:188 msgid "Unknown Minolta MakerNote tag" msgstr "Etiqueta Minolta MakerNote descoñecida" #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 msgid "Aperture priority" msgstr "Prioridade da abertura" #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "Prioridade do obturador" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 msgid "Fill flash" msgstr "Flash de recheo" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 msgid "Rear flash sync" msgstr "Sincronización de flash traseiro" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 msgid "Wireless" msgstr "Sen fíos" #: src/minoltamn.cpp:224 msgid "Fluorescent 2" msgstr "Fluorescente 2" #: src/minoltamn.cpp:231 msgid "Full size" msgstr "Tamaño completo" #: src/minoltamn.cpp:243 msgid "Super fine" msgstr "Super fino" #: src/minoltamn.cpp:247 msgid "Extra fine" msgstr "Extra fino" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 msgid "Single Frame" msgstr "Cadro único" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 msgid "Self-timer" msgstr "Temporizador" #: src/minoltamn.cpp:255 msgid "Bracketing" msgstr "En forcada" #: src/minoltamn.cpp:256 msgid "Interval" msgstr "Intervalo" #: src/minoltamn.cpp:257 msgid "UHS continuous" msgstr "UHS continuo" #: src/minoltamn.cpp:258 msgid "HS continuous" msgstr "HS continuo" #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 msgid "Multi-segment" msgstr "Multisegmento" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 msgid "Center weighted average" msgstr "Media ponderada no centro" #: src/minoltamn.cpp:271 msgid "Electronic magnification" msgstr "Ampliación electrónico" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 msgid "Top" msgstr "Arriba" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 msgid "Top-right" msgstr "Arriba - dereita" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 msgid "Bottom-right" msgstr "Abaixo - dereita" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 msgid "Bottom" msgstr "Abaixo" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 msgid "Bottom-left" msgstr "Abaixo - esquerda" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 msgid "Top-left" msgstr "Arriba - esquerda" #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 msgid "Hard" msgstr "Duro" #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 msgid "Soft" msgstr "Brando" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 msgid "Night portrait" msgstr "Retrato nocturno" #: src/minoltamn.cpp:315 msgid "Sports action" msgstr "Acción deportiva" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "Tempo transcorrido do filme" #: src/minoltamn.cpp:349 msgid "Standard form" msgstr "Formulario estándar" #: src/minoltamn.cpp:350 msgid "Data form" msgstr "Formulario de datos" #: src/minoltamn.cpp:355 msgid "Natural color" msgstr "Cor natural" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 msgid "Black and white" msgstr "Branco e negro" #: src/minoltamn.cpp:357 msgid "Vivid color" msgstr "Cor vívido" #: src/minoltamn.cpp:364 msgid "No zone" msgstr "Sen zona" #: src/minoltamn.cpp:365 msgid "Center zone (horizontal orientation)" msgstr "Zona central (orientación horizontal)" #: src/minoltamn.cpp:366 msgid "Center zone (vertical orientation)" msgstr "Zona central (orientación vertical)" #: src/minoltamn.cpp:367 msgid "Left zone" msgstr "Zona esquerda" #: src/minoltamn.cpp:368 msgid "Right zone" msgstr "Zona dereita" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 msgid "Auto focus" msgstr "Enfoque automático" #: src/minoltamn.cpp:379 msgid "Wide focus (normal)" msgstr "Enfoque amplo (normal)" #: src/minoltamn.cpp:380 msgid "Spot focus" msgstr "Enfoque puntual" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 msgid "Exposure" msgstr "Exposición" #: src/minoltamn.cpp:388 msgid "Filter" msgstr "Filtro" #: src/minoltamn.cpp:393 msgid "Not embedded" msgstr "Non incrustado" #: src/minoltamn.cpp:394 msgid "Embedded" msgstr "Incrustado" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "Texto + num. ID" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "ADI (Integración Avanzada da Distancia)" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "Pre-flash TTl" #: src/minoltamn.cpp:410 msgid "Manual flash control" msgstr "Control de flash manual" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 msgid "Exposure Mode" msgstr "Modo de exposición" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 msgid "Flash mode" msgstr "Modo do flash" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 msgid "Drive mode" msgstr "Modo do controlador" #: src/minoltamn.cpp:512 msgid "ISO Value" msgstr "Valor ISO" #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 msgid "Exposure Time" msgstr "Tempo de exposición" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 msgid "FNumber" msgstr "Número F/abertura" #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 msgid "The F-Number" msgstr "O número F." #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 msgid "Macro Mode" msgstr "Modo de macro" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 msgid "Exposure Compensation" msgstr "Compensación da exposición" #: src/minoltamn.cpp:529 msgid "Bracket Step" msgstr "Paso de forcada" #: src/minoltamn.cpp:530 msgid "Bracket step" msgstr "Paso de forcada" #: src/minoltamn.cpp:532 msgid "Interval Length" msgstr "Lonxitude do intervalo" #: src/minoltamn.cpp:533 msgid "Interval length" msgstr "Lonxitude do intervalo" #: src/minoltamn.cpp:535 msgid "Interval Number" msgstr "Número do intervalo" #: src/minoltamn.cpp:536 msgid "Interval number" msgstr "Número do inetervalo" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 msgid "Focus Distance" msgstr "Distancia do foco" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 msgid "Focus distance" msgstr "Distancia do foco" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 msgid "Flash Fired" msgstr "Flash disparado" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 msgid "Flash fired" msgstr "Flash disparado" #: src/minoltamn.cpp:547 msgid "Minolta Date" msgstr "Data Minolta" #: src/minoltamn.cpp:548 msgid "Minolta date" msgstr "Data Minolta" #: src/minoltamn.cpp:550 msgid "Minolta Time" msgstr "Hora Minolta" #: src/minoltamn.cpp:551 msgid "Minolta time" msgstr "Hora Minolta" #: src/minoltamn.cpp:556 msgid "File Number Memory" msgstr "Número de ficheiro de memoria" #: src/minoltamn.cpp:557 msgid "File number memory" msgstr "Número de ficheiro de memoria" #: src/minoltamn.cpp:559 msgid "Last Image Number" msgstr "Número da última imaxe" #: src/minoltamn.cpp:560 msgid "Last image number" msgstr "Número da última imaxe" #: src/minoltamn.cpp:562 msgid "Color Balance Red" msgstr "Balance de cor vermello" #: src/minoltamn.cpp:563 msgid "Color balance red" msgstr "Balance de cor vermello" #: src/minoltamn.cpp:565 msgid "Color Balance Green" msgstr "Balance de cor verde" #: src/minoltamn.cpp:566 msgid "Color balance green" msgstr "Balance de cor verde" #: src/minoltamn.cpp:568 msgid "Color Balance Blue" msgstr "Balance de cor azul" #: src/minoltamn.cpp:569 msgid "Color balance blue" msgstr "Balance de cor azul" #: src/minoltamn.cpp:580 msgid "Subject Program" msgstr "Suxeito do programa" #: src/minoltamn.cpp:581 msgid "Subject program" msgstr "Suxeito do programa" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 msgid "ISO Settings" msgstr "Axustes ISO" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 msgid "ISO setting" msgstr "Axustes ISO" #: src/minoltamn.cpp:589 msgid "Minolta Model" msgstr "Modelo Minolta" #: src/minoltamn.cpp:590 msgid "Minolta model" msgstr "Modelo Minolta" #: src/minoltamn.cpp:592 msgid "Interval Mode" msgstr "Modo de intervalo" #: src/minoltamn.cpp:593 msgid "Interval mode" msgstr "Modo de intervalo" #: src/minoltamn.cpp:595 msgid "Folder Name" msgstr "Nome do cartafol" #: src/minoltamn.cpp:596 msgid "Folder name" msgstr "Nome do cartafol" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 msgid "ColorMode" msgstr "Modo de cor" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 msgid "Color Filter" msgstr "Filtro de cor" #: src/minoltamn.cpp:602 msgid "Color filter" msgstr "Filtro de cor" #: src/minoltamn.cpp:604 msgid "Black and White Filter" msgstr "Filtro de branco e negro" #: src/minoltamn.cpp:605 msgid "Black and white filter" msgstr "Filtro de branco e negro" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 msgid "Internal Flash" msgstr "Flash interno" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 msgid "Brightness" msgstr "Brillo" #: src/minoltamn.cpp:613 msgid "Spot Focus Point X" msgstr "Punto de enfoque X" #: src/minoltamn.cpp:614 msgid "Spot focus point X" msgstr "Punto de enfoque X" #: src/minoltamn.cpp:616 msgid "Spot Focus Point Y" msgstr "Punto de enfoque Y" #: src/minoltamn.cpp:617 msgid "Spot focus point Y" msgstr "Punto de enfoque Y" #: src/minoltamn.cpp:619 msgid "Wide Focus Zone" msgstr "Zona de foco amplo" #: src/minoltamn.cpp:620 msgid "Wide focus zone" msgstr "Zona de foco amplo" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 msgid "Focus mode" msgstr "Modo de enfoque" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 msgid "Focus area" msgstr "Área de enfoque" #: src/minoltamn.cpp:628 msgid "DEC Switch Position" msgstr "Cambio de posición DEC" #: src/minoltamn.cpp:629 msgid "DEC switch position" msgstr "Cambio de posición DEC" #: src/minoltamn.cpp:631 msgid "Color Profile" msgstr "Perfil de cor" #: src/minoltamn.cpp:632 msgid "Color profile" msgstr "Perfil de cor" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 msgid "Data Imprint" msgstr "Impresión de datos" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 msgid "Flash Metering" msgstr "Medición do flash" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 msgid "Flash metering" msgstr "Medición do flash" #: src/minoltamn.cpp:642 msgid "Unknown Minolta Camera Settings tag" msgstr "Etiqueta de axustes de cámara Minolta descoñecida" #: src/minoltamn.cpp:660 msgid "Program-shift A" msgstr "Cambio a programa A" #: src/minoltamn.cpp:661 msgid "Program-shift S" msgstr "Cambio a programa S" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 msgid "Raw+Jpeg" msgstr "Raw+Jpeg" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 msgid "Kelvin" msgstr "Kelvin" #: src/minoltamn.cpp:695 msgid "Single-shot AF" msgstr "AF a un disparo" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 msgid "Continuous AF" msgstr "AF continuo" #: src/minoltamn.cpp:698 msgid "Automatic AF" msgstr "AF automático" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 msgid "sRGB (Natural)" msgstr "sRGB (natural)" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 msgid "sRGB (Natural+)" msgstr "sRGB (natural+)" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 msgid "Horizontal (normal)" msgstr "Horizontal (normal)" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "Rotar 90 SH" #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "Rotar 270 SH" #: src/minoltamn.cpp:756 msgid "AF Points" msgstr "Puntos AF" #: src/minoltamn.cpp:757 msgid "AF points" msgstr "Puntos AF" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 msgid "Color Space" msgstr "Espazo de cores" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 msgid "Color space" msgstr "Espazo de cores" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 msgid "Free Memory Card Images" msgstr "Eliminar as imaxes da tarxeta de memoria" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 msgid "Free memory card images" msgstr "Eliminar as imaxes da tarxeta de memoria" #: src/minoltamn.cpp:789 msgid "Hue" msgstr "Matiz" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 msgid "Rotation" msgstr "Rotación" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 msgid "Image Number" msgstr "Número de imaxe" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 msgid "Noise reduction" msgstr "Redución de ruído" #: src/minoltamn.cpp:817 msgid "Zone Matching On" msgstr "Coincidencia de zonas activada" #: src/minoltamn.cpp:818 msgid "Zone matching on" msgstr "Coincidencia de zonas activada" #: src/minoltamn.cpp:822 msgid "Unknown Minolta Camera Settings 7D tag" msgstr "Etiqueta de axustes de camara Minolta descoñecida 7D" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 msgid "Program Shift A" msgstr "Cambio de programa A" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 msgid "Program Shift S" msgstr "Cambio de programa S" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 msgid "Night View/Portrait" msgstr "Visión nocturna/retrato" #: src/minoltamn.cpp:895 msgid "200 (Zone Matching High)" msgstr "200 (alta coincidencia de zonas)" #: src/minoltamn.cpp:896 msgid "80 (Zone Matching Low)" msgstr "80 (baja coincidencia de zonas)" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 msgid "Adobe RGB (ICC)" msgstr "Adobe RGB (ICC)" #: src/minoltamn.cpp:918 msgid "Central" msgstr "Central" #: src/minoltamn.cpp:919 msgid "Up" msgstr "Arriba" #: src/minoltamn.cpp:920 msgid "Up right" msgstr "Arriba - dereita" #: src/minoltamn.cpp:922 msgid "Down right" msgstr "Abaixo- dereita" #: src/minoltamn.cpp:923 msgid "Down" msgstr "Abaixo" #: src/minoltamn.cpp:924 msgid "Down left" msgstr "Abaixo esquerdaizquierda" #: src/minoltamn.cpp:926 msgid "Up left" msgstr "Arriba esquerda" #: src/minoltamn.cpp:932 msgid "Selection" msgstr "Selección" #: src/minoltamn.cpp:947 msgid "Natural+" msgstr "Natural+" #: src/minoltamn.cpp:949 msgid "Wind Scene" msgstr "Escena con vento" #: src/minoltamn.cpp:950 msgid "Evening Scene" msgstr "Escena nocturna" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus Position" msgstr "Posición do foco" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus position" msgstr "Posición do foco" #: src/minoltamn.cpp:1003 msgid "Focus Area" msgstr "Área de enfoque" #: src/minoltamn.cpp:1036 msgid "Exposure Revision" msgstr "Revisión da exposición" #: src/minoltamn.cpp:1037 msgid "Exposure revision" msgstr "Revisión da exposición" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 msgid "Rotation2" msgstr "Rotación2" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 msgid "Picture Finish" msgstr "Acabado da imaxe" #: src/minoltamn.cpp:1063 msgid "Exposure Manual Bias" msgstr "Compensación manual da exposición" #: src/minoltamn.cpp:1064 msgid "Exposure manual bias" msgstr "Compensación manual da exposición" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 msgid "AF Mode" msgstr "Modo AF" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 msgid "AF mode" msgstr "Modo AF" #: src/minoltamn.cpp:1087 msgid "Unknown Minolta Camera Settings 5D tag" msgstr "Etiqueta de axustes de camara Minolta descoñecida 5D" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 msgid "Self-timer 10 sec" msgstr "Temporizador (10 seg.)" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 msgid "Self-timer 2 sec" msgstr "Temporizador (2 seg.)" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 msgid "White Balance Bracketing Low" msgstr "Balance de brancos en forcada baixa" #: src/minoltamn.cpp:1105 msgid "White Balance Bracketing High" msgstr "Balance de brancos en forcada alta" #: src/minoltamn.cpp:1106 msgid "Single-frame Bracketing Low" msgstr "Fotograma único en forcada baixa" #: src/minoltamn.cpp:1107 msgid "Continuous Bracketing Low" msgstr "Agrupamento continuo baixo" #: src/minoltamn.cpp:1108 msgid "Single-frame Bracketing High" msgstr "Fotograma único en forcada alta" #: src/minoltamn.cpp:1109 msgid "Continuous Bracketing High" msgstr "Agrupamento continuo alto" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "Avanzado" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 msgid "Continuous Bracketing" msgstr "En forcada contínua" #: src/minoltamn.cpp:1156 msgid "Single-Frame Bracketing" msgstr "Fotograma único en forcada" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 msgid "White Balance Bracketing" msgstr "Balance de brancos en forcada" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 msgid "Preset" msgstr "Predefinición" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 msgid "Color Temperature/Color Filter" msgstr "Temperatura de cor/filtro de cor" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 msgid "Temperature" msgstr "Temperatura" #: src/minoltamn.cpp:1213 msgid "Setup" msgstr "Axustes" #: src/minoltamn.cpp:1214 msgid "Recall" msgstr "Reclamar" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "Aceptar" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "Erro" #: src/minoltamn.cpp:1232 msgid "Image and Information" msgstr "Imaxe e información" #: src/minoltamn.cpp:1233 msgid "Image Only" msgstr "Só imaxe" #: src/minoltamn.cpp:1234 msgid "Image and Histogram" msgstr "Imaxe e histograma" #: src/minoltamn.cpp:1240 msgid "Fill Flash" msgstr "Flash de recheo" #: src/minoltamn.cpp:1251 msgid "Focus Hold" msgstr "Manter o foco" #: src/minoltamn.cpp:1252 msgid "DOF Preview" msgstr "Vista previa DOF" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "Reter" #: src/minoltamn.cpp:1258 msgid "Toggle" msgstr "Alternar" #: src/minoltamn.cpp:1259 msgid "Spot Hold" msgstr "Manter o punto" #: src/minoltamn.cpp:1260 msgid "Spot Toggle" msgstr "Alternar o punto" #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 msgid "Shutter Speed" msgstr "Velocidade do obturador" #: src/minoltamn.cpp:1271 msgid "Ambient and Flash" msgstr "Ambiente e flash" #: src/minoltamn.cpp:1272 msgid "Ambient Only" msgstr "Só ambiente" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "0,3 segundos" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "0,6 segundos" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 msgid "Automatic" msgstr "Automático" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 msgid "Auto-rotate" msgstr "Rotar automaticamente" #: src/minoltamn.cpp:1291 msgid "Horizontal" msgstr "Horizontal" #: src/minoltamn.cpp:1297 msgid "Manual Rotate" msgstr "Rotar manualmente" #: src/minoltamn.cpp:1302 msgid "Within Range" msgstr "Dentro do rango" #: src/minoltamn.cpp:1303 msgid "Under/Over Range" msgstr "Sobre/baixo o rango" #: src/minoltamn.cpp:1304 msgid "Out of Range" msgstr "Fóra de Rango" #: src/minoltamn.cpp:1309 msgid "Not Indicated" msgstr "Non indicado" #: src/minoltamn.cpp:1310 msgid "Under Scale" msgstr "Baixo a escala" #: src/minoltamn.cpp:1311 msgid "Bottom of Scale" msgstr "Na fin da escala" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "na cima da escala" #: src/minoltamn.cpp:1330 msgid "Over Scale" msgstr "Sobre a escala" #: src/minoltamn.cpp:1335 msgid "AM" msgstr "AM" #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "Enfoque manual" #: src/minoltamn.cpp:1342 msgid "Built-in" msgstr "Integrado" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 msgid "Very Low" msgstr "Moi baixa" #: src/minoltamn.cpp:1350 msgid "Half Full" msgstr "Medio chea" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "Resta enerxia abondo" #: src/minoltamn.cpp:1359 msgid "Exposure Compensation Setting" msgstr "Axuste da compensación da exposición" #: src/minoltamn.cpp:1360 msgid "Exposure compensation setting" msgstr "Axuste da compensación da exposición" #: src/minoltamn.cpp:1362 msgid "High Speed Sync" msgstr "Sincronización a alta velocidade" #: src/minoltamn.cpp:1363 msgid "High speed sync" msgstr "Sincronización a alta velocidade" #: src/minoltamn.cpp:1365 msgid "Manual Exposure Time" msgstr "Tempo de exposición manual" #: src/minoltamn.cpp:1366 msgid "Manual exposure time" msgstr "Tempo de exposición manual" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 msgid "Manual FNumber" msgstr "Número F manual" #: src/minoltamn.cpp:1377 msgid "Drive Mode 2" msgstr "Modo de control 2" #: src/minoltamn.cpp:1378 msgid "Drive mode 2" msgstr "Modo de control 2" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "Punto de área de AF local" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 msgid "AF Area Mode" msgstr "Modo de área de AF" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 msgid "FlashMode" msgstr "ModoFlash" #: src/minoltamn.cpp:1395 msgid "Flash Exposure Comp Setting" msgstr "Axuste da compensación da exposición do flash" #: src/minoltamn.cpp:1396 msgid "Flash exposure compensation setting" msgstr "Axuste da compensación da exposición do flash" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 msgid "ISO Setting" msgstr "Asuste ISO" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 msgid "Zone Matching Mode" msgstr "Modo de zona coincidente" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 msgid "Dynamic Range Optimizer Mode" msgstr "Modo de optimizador de rango dinámico" #: src/minoltamn.cpp:1408 msgid "Dynamic range optimizer mode" msgstr "Modo de optimización de rango dinámico" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "Axuste de prioridade do disparador" #: src/minoltamn.cpp:1434 msgid "Self Timer Time" msgstr "Tempo do temporizador" #: src/minoltamn.cpp:1435 msgid "Self timer time" msgstr "Tempo do temporizador" #: src/minoltamn.cpp:1438 msgid "Continuous bracketing" msgstr "En forcada contínua" #: src/minoltamn.cpp:1440 msgid "Single Frame Bracketing" msgstr "Fotograma único en forcada" #: src/minoltamn.cpp:1441 msgid "Single frame bracketing" msgstr "Fotograma único en forcada" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 msgid "White balance bracketing" msgstr "Balance de brancos en forcada" #: src/minoltamn.cpp:1446 msgid "White Balance Setting" msgstr "Axuste do balance de brancos" #: src/minoltamn.cpp:1449 msgid "Preset White Balance" msgstr "Predefinir o balance de brancos" #: src/minoltamn.cpp:1450 msgid "Preset white balance" msgstr "Predefinir o balance de brancos" #: src/minoltamn.cpp:1452 msgid "Color Temperature Setting" msgstr "Axuste da temperatura da cor" #: src/minoltamn.cpp:1453 msgid "Color temperature setting" msgstr "Axuste da temperatura da cor" #: src/minoltamn.cpp:1455 msgid "Custom WB Setting" msgstr "Axuste personalizado do BB" #: src/minoltamn.cpp:1456 msgid "Custom WB setting" msgstr "Axuste personalizado do BB" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 msgid "Dynamic Range Optimizer Settings" msgstr "Configuración do optimizador do rango dinámico" #: src/minoltamn.cpp:1464 msgid "Custom WB Red Level" msgstr "Nivel personalizado do BB do vermello" #: src/minoltamn.cpp:1465 msgid "Custom WB red level" msgstr "Nivel personalizado do BB do vermello" #: src/minoltamn.cpp:1467 msgid "Custom WB Green Level" msgstr "Nivel personalizado do BB do verde" #: src/minoltamn.cpp:1468 msgid "Custom WB green level" msgstr "Nivel personalizado do BB do verde" #: src/minoltamn.cpp:1470 msgid "Custom WB Blue Level" msgstr "Nivel personalizado do BB do azul" #: src/minoltamn.cpp:1471 msgid "CustomWB blue level" msgstr "Nivel personalizado do BB do azul" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 msgid "Custom WB Error" msgstr "hai un erro no BB personalizado" #: src/minoltamn.cpp:1477 msgid "White balance fine tune" msgstr "Axuste fino do balance de brancos" #: src/minoltamn.cpp:1483 msgid "Color compensation filter" msgstr "Filtro de compensación de cor" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 msgid "Sony Image Size" msgstr "Tamaño de imaxe Sony" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "Tempo de reprodución instantáneo" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "Tempo de reprodución instantáneo" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "Axuste da reprodución instantánea" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "Axuste da reprodución instantánea" #: src/minoltamn.cpp:1500 #, fuzzy msgid "Eye Start AF" msgstr "Eye start AF" #: src/minoltamn.cpp:1501 msgid "Eye start AF" msgstr "Eye start AF" #: src/minoltamn.cpp:1503 msgid "Red Eye Reduction" msgstr "Redución de ollos vermellos" #: src/minoltamn.cpp:1504 msgid "Red eye reduction" msgstr "Redución de ollos vermellos" #: src/minoltamn.cpp:1506 msgid "Flash Default" msgstr "Flash predeterminado" #: src/minoltamn.cpp:1507 msgid "Flash default" msgstr "Flash predeterminado" #: src/minoltamn.cpp:1509 msgid "Auto Bracket Order" msgstr "Orde en forcada automática" #: src/minoltamn.cpp:1510 msgid "Auto bracket order" msgstr "Orde en forcada automática" #: src/minoltamn.cpp:1512 msgid "Focus Hold Button" msgstr "Botón de retención de enfoque" #: src/minoltamn.cpp:1513 msgid "Focus hold button" msgstr "Botón de retención de enfoque" #: src/minoltamn.cpp:1515 msgid "AEL Button" msgstr "Botón AEL" #: src/minoltamn.cpp:1516 msgid "AEL button" msgstr "Botón AEL" #: src/minoltamn.cpp:1518 msgid "Control Dial Set" msgstr "Estabelecer o dial de control" #: src/minoltamn.cpp:1519 msgid "Control dial set" msgstr "Estabelecer o dial de control" #: src/minoltamn.cpp:1521 msgid "Exposure Compensation Mode" msgstr "Modo de compensación da exposición" #: src/minoltamn.cpp:1522 msgid "Exposure compensation mode" msgstr "Modo de compensación da exposición" #: src/minoltamn.cpp:1525 msgid "AF assist" msgstr "Asistente AF" #: src/minoltamn.cpp:1527 msgid "Card Shutter Lock" msgstr "Bloqueo do obturador da tarxeta" #: src/minoltamn.cpp:1528 msgid "Card shutter lock" msgstr "Bloqueo do obturador da tarxeta" #: src/minoltamn.cpp:1530 msgid "Lens Shutter Lock" msgstr "Bloqueo do obturador do lente" #: src/minoltamn.cpp:1531 msgid "Lens shutter lock" msgstr "Bloqueo do obturador do lente" #: src/minoltamn.cpp:1533 msgid "AF Area Illumination" msgstr "Iluminación da área AF" #: src/minoltamn.cpp:1534 msgid "AF area illumination" msgstr "Iluminación da área AF" #: src/minoltamn.cpp:1536 msgid "Monitor Display Off" msgstr "Monitor apagado" #: src/minoltamn.cpp:1537 msgid "Monitor display off" msgstr "Monitor apagado" #: src/minoltamn.cpp:1539 msgid "Record Display" msgstr "Gravar pantalla" #: src/minoltamn.cpp:1540 msgid "Record display" msgstr "Gravar pantalla" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "Reproducir pantalla" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "Acender a pantalla" #: src/minoltamn.cpp:1545 msgid "Exposure Indicator" msgstr "Indicador de exposición" #: src/minoltamn.cpp:1546 msgid "Exposure indicator" msgstr "Indicador da exposición" #: src/minoltamn.cpp:1548 msgid "AEL Exposure Indicator" msgstr "Indicador da exposición AEL" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "" "Indicador da exposición AEL (indica tamén a exposición para o seguinte " "disparo durante unha forcada)" #: src/minoltamn.cpp:1551 msgid "Exposure Bracketing Indicator Last" msgstr "Indicador da última exposición da forcada" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" "Último indicador de exposición da forcada (indicador para o último disparo " "durante a forcada)" #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "Indicador da escala de medición apagado" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "" "Indicador de medida fóra de escala (dous triángulos intermitentes cando se " "atope por debaixo ou por riba da escala de medida)" #: src/minoltamn.cpp:1557 msgid "Flash Exposure Indicator" msgstr "Indicador da exposición do flash" #: src/minoltamn.cpp:1558 msgid "Flash exposure indicator" msgstr "Indicador da exposición do flash" #: src/minoltamn.cpp:1560 msgid "Flash Exposure Indicator Next" msgstr "Seguiente indicador da exposición do flash" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" "Seguinte indicador da exposición do flash (indicador para o seguinte disparo " "en forcada)" #: src/minoltamn.cpp:1563 msgid "Flash Exposure Indicator Last" msgstr "Último indicador da exposición do flash" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" "Último indicador da exposición do flash (indicador para o último disparo en " "forcada)" #: src/minoltamn.cpp:1569 msgid "Focus Mode Switch" msgstr "Conmutador de modo de flash" #: src/minoltamn.cpp:1570 msgid "Focus mode switch" msgstr "Conmutador de modo de flash" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 msgid "Flash Type" msgstr "Tipo de flash" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 msgid "Flash type" msgstr "Tipo de flash" #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 msgid "AE Lock" msgstr "Bloqueo de EA" #: src/minoltamn.cpp:1585 msgid "Color compensation filter: negative is green, positive is magenta" msgstr "Filtro de compensación de cor: negativo é verde, positivo é maxenta" #: src/minoltamn.cpp:1587 src/tags.cpp:766 msgid "Battery Level" msgstr "Nivel da batería" #: src/minoltamn.cpp:1588 msgid "Battery level" msgstr "Nivel da batería" #: src/minoltamn.cpp:1592 msgid "Unknown Sony Camera Settings A100 tag" msgstr "Etiqueta de axustes de cámara Sony A100 descoñecida" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 msgid "Clear" msgstr "Limpar" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 msgid "Deep" msgstr "Profundo" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 msgid "Light" msgstr "Claro" #: src/minoltamn.cpp:1950 msgid "Night View" msgstr "Vista nocturna" #: src/minoltamn.cpp:1951 msgid "Autumn Leaves" msgstr "Follas de outono" #: src/minoltamn.cpp:1990 msgid "Local" msgstr "Local" #: src/minoltamn.cpp:2005 msgid "Top-Right" msgstr "Arriba-dereita" #: src/minoltamn.cpp:2007 msgid "Bottom-Right" msgstr "Abaixo-dereita" #: src/minoltamn.cpp:2009 msgid "Bottom-Left" msgstr "Abaixo-esquerda" #: src/minoltamn.cpp:2011 msgid "Top-Left" msgstr "Arriba-esquerda" #: src/minoltamn.cpp:2012 msgid "Far-Right" msgstr "Lonxe-dereita" #: src/minoltamn.cpp:2013 msgid "Far-Left" msgstr "Lonxe-esquerda" #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 msgid "Advanced Auto" msgstr "Automático avanzado" #: src/minoltamn.cpp:2028 msgid "Advanced Level" msgstr "Nivel avanzado" #: src/minoltamn.cpp:2041 msgid "AF" msgstr "AF" #: src/minoltamn.cpp:2042 msgid "Release" msgstr "Publicación" #: src/minoltamn.cpp:2054 msgid "RAW " msgstr "RAW " #: src/minoltamn.cpp:2055 msgid "CRAW " msgstr "CRAW " #: src/minoltamn.cpp:2058 msgid "RAW+JPEG" msgstr "RAW+JPEG" #: src/minoltamn.cpp:2059 msgid "CRAW+JPEG" msgstr "CRAW+JPEG" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "Raw + JPEG" #: src/minoltamn.cpp:2116 msgid "Compressed Raw" msgstr "RAW comprimido" #: src/minoltamn.cpp:2117 msgid "Compressed Raw + JPEG" msgstr "RAW comprimido + JPEG" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "Minolta AF 2x APO (D)" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "Minolta AF 2x APO II" #: src/minoltamn.cpp:2132 msgid "Minolta AF 1.4x APO (D)" msgstr "Minolta AF 1.4x APO (D)" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "Minolta AF 1.4x APO II" #: src/minoltamn.cpp:2163 msgid "ISO Setting Used" msgstr "Axuste ISO usado" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 msgid "High Key" msgstr "Clave alta" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "Clave baixa" #: src/nikonmn.cpp:80 msgid "Extra High" msgstr "Extra alta" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 msgid "Single area" msgstr "Área única" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 msgid "Dynamic area" msgstr "Área dinámica" #: src/nikonmn.cpp:88 msgid "Dynamic area, closest subject" msgstr "Área dinámica, suxeito moi preto" #: src/nikonmn.cpp:89 msgid "Group dynamic" msgstr "Grupo dinámico" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 msgid "Single area (wide)" msgstr "Área única (larga)" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 msgid "Dynamic area (wide)" msgstr "Área única (larga)" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 msgid "Upper-left" msgstr "Arriba-esquerda" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 msgid "Upper-right" msgstr "Arriba-dereita" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 msgid "Lower-left" msgstr "Abaixo-esquerda" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 msgid "Lower-right" msgstr "Abaixo-dereita" #: src/nikonmn.cpp:108 msgid "Left-most" msgstr "máis á esquerda" #: src/nikonmn.cpp:109 msgid "Right-most" msgstr "máis á dereita" #: src/nikonmn.cpp:143 msgid "Fire, manual" msgstr "Disparo, manual" #: src/nikonmn.cpp:144 msgid "Fire, external" msgstr "Disparo, externo" #: src/nikonmn.cpp:145 #, fuzzy msgid "Fire, commander mode" msgstr "Disparo, modo TTL" #: src/nikonmn.cpp:146 msgid "Fire, TTL mode" msgstr "Disparo, modo TTL" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 msgid "Delay" msgstr "Atraso" #: src/nikonmn.cpp:153 #, fuzzy msgid "PC Control" msgstr "Control do PC" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 msgid "Exposure Bracketing" msgstr "Exposición da forcada" #: src/nikonmn.cpp:156 msgid "Auto ISO" msgstr "ISO automática" #: src/nikonmn.cpp:157 #, fuzzy msgid "White-Balance Bracketing" msgstr "Balance de brancos en forcada" #: src/nikonmn.cpp:158 #, fuzzy msgid "IR Control" msgstr "Control IV" #: src/nikonmn.cpp:159 #, fuzzy msgid "D-Lighting Bracketing" msgstr "En forcada contínua" #: src/nikonmn.cpp:166 msgid "PC control" msgstr "Control do PC" #: src/nikonmn.cpp:167 msgid "Exposure bracketing" msgstr "Exposición da forcada" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "Atraso LE-NR sen usar" #: src/nikonmn.cpp:170 msgid "IR control" msgstr "Control IV" #: src/nikonmn.cpp:176 msgid "Auto release" msgstr "Liberación automática" #: src/nikonmn.cpp:177 msgid "Manual release" msgstr "Liberación manual" #: src/nikonmn.cpp:182 msgid "Lossy (type 1)" msgstr "Con perdas (tipo 1)" #: src/nikonmn.cpp:183 src/tags.cpp:251 msgid "Uncompressed" msgstr "Descomprimido" #: src/nikonmn.cpp:184 msgid "Lossless" msgstr "Sen perdas" #: src/nikonmn.cpp:185 msgid "Lossy (type 2)" msgstr "Con perdas (tipo 2)" #: src/nikonmn.cpp:191 msgid "B & W" msgstr "B e N" #: src/nikonmn.cpp:193 msgid "Trim" msgstr "Recortar" #: src/nikonmn.cpp:194 msgid "Small picture" msgstr "Imaxe pequena" #: src/nikonmn.cpp:195 msgid "D-Lighting" msgstr "Oluminación diúrna" #: src/nikonmn.cpp:196 msgid "Red eye" msgstr "Ollo vermello" #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 msgid "Cyanotype" msgstr "Cianotipo" #: src/nikonmn.cpp:198 msgid "Sky light" msgstr "Luz natural" #: src/nikonmn.cpp:199 msgid "Warm tone" msgstr "Ton quente" #: src/nikonmn.cpp:200 msgid "Color custom" msgstr "Cor personalizada" #: src/nikonmn.cpp:201 msgid "Image overlay" msgstr "Solapamento de imaxe" #: src/nikonmn.cpp:207 msgid "Minimal" msgstr "Mínimo" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 msgid "Nikon Makernote version" msgstr "Versión da nota do fabricante Nikon" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 msgid "ISO Speed" msgstr "Velocidade ISO" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 msgid "Sharpening" msgstr "Nitidez" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 msgid "Image sharpening setting" msgstr "Axuste da nitidez da imaxe" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 msgid "Focus" msgstr "Foco" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 msgid "Flash Setting" msgstr "Axustes do flash" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 msgid "Flash setting" msgstr "Axustes do flash" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 msgid "ISO Selection" msgstr "Selección ISO" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 msgid "ISO selection" msgstr "Selección ISO" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data Dump" msgstr "Envorcado de datos" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data dump" msgstr "Envorcado de datos" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 msgid "Image Adjustment" msgstr "Axuste da imaxe" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 msgid "Image adjustment setting" msgstr "Configuración do axuste da imaxe" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "Lentes auxiliares" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 msgid "Auxiliary lens (adapter)" msgstr "Lentes auxiliares (adaptador)" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 msgid "Manual focus distance" msgstr "Distancia manual do foco" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 msgid "Digital zoom setting" msgstr "Axuste de zoom dixital" #: src/nikonmn.cpp:260 msgid "AF Focus Position" msgstr "Posición de foco AF" #: src/nikonmn.cpp:261 msgid "AF focus position information" msgstr "Información de posición de foco AF" #: src/nikonmn.cpp:265 msgid "Unknown Nikon1MakerNote tag" msgstr "Etiqueta Nikon1MakerNote descoñecida" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 msgid "Continuous autofocus" msgstr "Autofoco continuo" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 msgid "Single autofocus" msgstr "Autofoco único" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 msgid "Not used" msgstr "Non usado" #: src/nikonmn.cpp:371 msgid "guess" msgstr "estimación" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "VGA Básico" #: src/nikonmn.cpp:419 msgid "VGA Normal" msgstr "VGA Normal" #: src/nikonmn.cpp:420 msgid "VGA Fine" msgstr "VGA Fino" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "SXGA Básico" #: src/nikonmn.cpp:422 msgid "SXGA Normal" msgstr "SXGA Normal" #: src/nikonmn.cpp:423 msgid "SXGA Fine" msgstr "SXGA Fino" #: src/nikonmn.cpp:435 msgid "Bright+" msgstr "Brillo+" #: src/nikonmn.cpp:436 msgid "Bright-" msgstr "Brillo-" #: src/nikonmn.cpp:437 msgid "Contrast+" msgstr "Contraste+" #: src/nikonmn.cpp:438 msgid "Contrast-" msgstr "Contraste-" #: src/nikonmn.cpp:457 msgid "Speedlight" msgstr "Velocidade da luz" #: src/nikonmn.cpp:497 msgid "Unknown Nikon2MakerNote tag" msgstr "Etiqueta Nikon2MakerNote descoñecida" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 msgid "Flash Device" msgstr "Dispositivo de flash" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 msgid "Flash device" msgstr "Dispositivo de flash" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 msgid "White Balance Bias" msgstr "Compensación do balance de brancos" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 msgid "White balance bias" msgstr "Compensación do balance de brancos" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB Levels" msgstr "Niveis BN RB" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB levels" msgstr "Niveis BN RB" #: src/nikonmn.cpp:544 msgid "Program Shift" msgstr "Cambio de programa" #: src/nikonmn.cpp:544 msgid "Program shift" msgstr "Cambio de programa" #: src/nikonmn.cpp:545 msgid "Exposure Difference" msgstr "Diferencia de exposición" #: src/nikonmn.cpp:545 msgid "Exposure difference" msgstr "Diferencia de exposición" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 msgid "Pointer to a preview image" msgstr "Punteiro a unha imaxe de previsualización" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 msgid "Offset to an IFD containing a preview image" msgstr "Desprazamento a un IFD contendo unha previsualización da imaxe" #: src/nikonmn.cpp:549 msgid "Flash Comp" msgstr "Compensación de flash" #: src/nikonmn.cpp:549 msgid "Flash compensation setting" msgstr "Axuste da compensación de flash" #: src/nikonmn.cpp:551 msgid "Image Boundary" msgstr "Límites da imaxe" #: src/nikonmn.cpp:551 msgid "Image boundary" msgstr "Límites da imaxe" #: src/nikonmn.cpp:552 #, fuzzy msgid "Flash exposure comp" msgstr "Bloqueo de exposición de flash" #: src/nikonmn.cpp:553 msgid "Flash Bracket Comp" msgstr "Compensación do flash na forcada" #: src/nikonmn.cpp:553 msgid "Flash bracket compensation applied" msgstr "Aplicouse a compensación do flash na forcada" #: src/nikonmn.cpp:554 msgid "Exposure Bracket Comp" msgstr "Compensacion da exposición na forcada" #: src/nikonmn.cpp:554 msgid "AE bracket compensation applied" msgstr "Aplicouse a compensación AE na forcada" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 msgid "Image Processing" msgstr "Procesamento de imaxes" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 msgid "Image processing" msgstr "Procesamento de imaxes" #: src/nikonmn.cpp:556 msgid "Crop High Speed" msgstr "Recorte a alta velocidade" #: src/nikonmn.cpp:556 msgid "Crop high speed" msgstr "Recorte de alta velocidade" #: src/nikonmn.cpp:557 msgid "Exposure Tuning" msgstr "Axuste da exposición" #: src/nikonmn.cpp:557 msgid "Exposure tuning" msgstr "Axuste da exposición" #: src/nikonmn.cpp:560 msgid "VR Info" msgstr "Información VR" #: src/nikonmn.cpp:560 msgid "VR info" msgstr "Información VR" #: src/nikonmn.cpp:561 msgid "Image Authentication" msgstr "Autentificación da imaxe" #: src/nikonmn.cpp:561 msgid "Image authentication" msgstr "Autentificación da imaxe" #: src/nikonmn.cpp:562 msgid "ActiveD-Lighting" msgstr "Iluminación ActiveD" #: src/nikonmn.cpp:562 msgid "ActiveD-lighting" msgstr "Iluminación ActiveD" #: src/nikonmn.cpp:563 msgid "Picture Control" msgstr "Control da imaxe" #: src/nikonmn.cpp:563 msgid " Picture control" msgstr " Control da imaxe" #: src/nikonmn.cpp:564 src/properties.cpp:1387 msgid "World Time" msgstr "Hora universal" #: src/nikonmn.cpp:564 msgid "World time" msgstr "Hora universal" #: src/nikonmn.cpp:565 msgid "ISO Info" msgstr "Información ISO" #: src/nikonmn.cpp:565 msgid "ISO info" msgstr "Información ISO" #: src/nikonmn.cpp:566 msgid "Vignette Control" msgstr "Control de viñetas" #: src/nikonmn.cpp:566 msgid "Vignette control" msgstr "Control de viñetas" #: src/nikonmn.cpp:568 msgid "Tone Compensation" msgstr "Compensación de ton" #: src/nikonmn.cpp:568 msgid "Tone compensation" msgstr "Compensación de ton" #: src/nikonmn.cpp:574 msgid "Mode of flash used" msgstr "Modo de flash usado" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 msgid "Shooting Mode" msgstr "Modo de disparo" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 msgid "Shooting mode" msgstr "Modo de disparo" #: src/nikonmn.cpp:577 msgid "Auto Bracket Release" msgstr "Inicio automático da forcada" #: src/nikonmn.cpp:577 msgid "Auto bracket release" msgstr "Inicio automático da forcada" #: src/nikonmn.cpp:578 msgid "Lens FStops" msgstr "vr" #: src/nikonmn.cpp:579 msgid "Contrast Curve" msgstr "Curva de contraste" #: src/nikonmn.cpp:579 msgid "Contrast curve" msgstr "Curva de contraste" #: src/nikonmn.cpp:580 msgid "Color Hue" msgstr "Matíz da cor" #: src/nikonmn.cpp:580 msgid "Color hue" msgstr "Matíz da cor" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 msgid "Scene mode" msgstr "Modo de escena" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 msgid "Light Source" msgstr "Fonte de luz" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 msgid "Light source" msgstr "Fuente de luz" #: src/nikonmn.cpp:583 msgid "Shot info" msgstr "Información de disparo" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 msgid "Hue Adjustment" msgstr "Axute do matiz" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 msgid "Hue adjustment" msgstr "Axute do matiz" #: src/nikonmn.cpp:585 msgid "NEF Compression" msgstr "Compresión NEF" #: src/nikonmn.cpp:585 msgid "NEF compression" msgstr "Compresión NEF" #: src/nikonmn.cpp:588 src/tags.cpp:905 msgid "Linearization Table" msgstr "Táboa de liñalización" #: src/nikonmn.cpp:588 msgid "Linearization table" msgstr "Táboa de liñalización" #: src/nikonmn.cpp:589 msgid "Color Balance" msgstr "Balance da cor" #: src/nikonmn.cpp:589 msgid "Color balance" msgstr "Balance da cor" #: src/nikonmn.cpp:590 msgid "Lens Data" msgstr "Datos de lentes" #: src/nikonmn.cpp:590 msgid "Lens data settings" msgstr "Axustes de datos de lentes" #: src/nikonmn.cpp:591 msgid "Raw Image Center" msgstr "Centro da imaxe en bruto" #: src/nikonmn.cpp:591 msgid "Raw image center" msgstr "Centro da imaxe en bruto" #: src/nikonmn.cpp:592 msgid "Sensor Pixel Size" msgstr "Tamaño de pixel do sensor" #: src/nikonmn.cpp:592 msgid "Sensor pixel size" msgstr "Tamaño de pixel do sensor" #: src/nikonmn.cpp:594 msgid "Scene Assist" msgstr "Asistente de escena" #: src/nikonmn.cpp:594 msgid "Scene assist" msgstr "Asistente de escena" #: src/nikonmn.cpp:595 msgid "Retouch History" msgstr "Historial de retoques" #: src/nikonmn.cpp:595 msgid "Retouch history" msgstr "Historial de retoques" #: src/nikonmn.cpp:597 msgid "Serial NO" msgstr "Número de serie" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "Número de serie da cámara, normalmente comeza con «NO= »" #: src/nikonmn.cpp:598 msgid "Image Data Size" msgstr "Tamaño de datos de imaxe" #: src/nikonmn.cpp:598 msgid "Image data size" msgstr "Tamaño de datos de imaxe" #: src/nikonmn.cpp:600 msgid "Image Count" msgstr "Reconto de imaxes" #: src/nikonmn.cpp:600 msgid "Image count" msgstr "Reconto de imaxes" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted Image Count" msgstr "Contador de imaxes eliminadas" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted image count" msgstr "Contador de imaxes eliminadas" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 msgid "Shutter Count" msgstr "Contador de disparos" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "Número de disparos realizados pola cámara" #: src/nikonmn.cpp:603 msgid "Flash info" msgstr "Información do flash" #: src/nikonmn.cpp:604 msgid "Image Optimization" msgstr "Optimización da imaxe" #: src/nikonmn.cpp:604 msgid "Image optimization" msgstr "Optimización da imaxe" #: src/nikonmn.cpp:606 msgid "Program Variation" msgstr "Variación de programa" #: src/nikonmn.cpp:606 msgid "Program variation" msgstr "Variación de programa" #: src/nikonmn.cpp:608 msgid "AF Response" msgstr "Resposta AF" #: src/nikonmn.cpp:608 msgid "AF response" msgstr "Resposta AF" #: src/nikonmn.cpp:609 msgid "Multi exposure" msgstr "Exposición múltiple" #: src/nikonmn.cpp:610 msgid "High ISO Noise Reduction" msgstr "Reducción alta de ruídos para ISO" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 #, fuzzy msgid "Toning effect" msgstr "Efecto de matiz" #: src/nikonmn.cpp:612 msgid "AF info 2" msgstr "Información AF 2" #: src/nikonmn.cpp:613 msgid "File info" msgstr "Información do ficheiro" #: src/nikonmn.cpp:614 msgid "AF tune" msgstr "Axuste AF" #: src/nikonmn.cpp:617 msgid "Capture Data" msgstr "Datos da captura" #: src/nikonmn.cpp:617 msgid "Capture data" msgstr "Datos da captura" #: src/nikonmn.cpp:618 msgid "Capture Version" msgstr "Versión da captura" #: src/nikonmn.cpp:618 msgid "Capture version" msgstr "Versión da captura" #: src/nikonmn.cpp:620 msgid "Capture Offsets" msgstr "Desprazamentos da captura" #: src/nikonmn.cpp:620 msgid "Capture offsets" msgstr "Desprazamentos da captura" #: src/nikonmn.cpp:621 msgid "Scan IFD" msgstr "Analizar IFD" #: src/nikonmn.cpp:622 msgid "ICC profile" msgstr "Perfil ICC" #: src/nikonmn.cpp:623 msgid "Capture output" msgstr "Capturar a saída" #: src/nikonmn.cpp:625 msgid "Unknown Nikon3MakerNote tag" msgstr "Etiqueta Nikon3MakerNote descoñecida" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 msgid "No" msgstr "Non" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "Si" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "A/M/D" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "D/M/A" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "D/M/A" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration Reduction" msgstr "Redución das vibracións" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration reduction" msgstr "Redución das vibracións" #: src/nikonmn.cpp:657 msgid "Unknown Nikon Vibration Reduction Tag" msgstr "Etiqueta de redución das vibracións Nikon descoñecida" #: src/nikonmn.cpp:667 msgid "Default Settings" msgstr "Axustes predeterminados" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 msgid "Quick Adjust" msgstr "Axuste rápido" #: src/nikonmn.cpp:669 msgid "Full Control" msgstr "Control total" #: src/nikonmn.cpp:690 msgid "Blue-green" msgstr "Azul-verde" #: src/nikonmn.cpp:692 msgid "Purple-blue" msgstr "Púrpura-azul" #: src/nikonmn.cpp:693 msgid "Red-purple" msgstr "Vermello-púrpura" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 msgid "Name" msgstr "Nome" #: src/nikonmn.cpp:701 msgid "Base" msgstr "Base" #: src/nikonmn.cpp:702 msgid "Adjust" msgstr "Axustar" #: src/nikonmn.cpp:703 msgid "Quick adjust" msgstr "Axuste rápido" #: src/nikonmn.cpp:709 msgid "Filter effect" msgstr "Efecto de filtro" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning Saturation" msgstr "Saturación alta" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning saturation" msgstr "Saturación alta" #: src/nikonmn.cpp:713 msgid "Unknown Nikon Picture Control Tag" msgstr "Etiqueta de control de imaxe Nikon desconocida" #: src/nikonmn.cpp:730 msgid "AF Fine Tune" msgstr "Axuste fino do enfoque automático" #: src/nikonmn.cpp:730 msgid "AF fine tune" msgstr "Axuste fino AF" #: src/nikonmn.cpp:731 msgid "AF Fine Tune Index" msgstr "Índice do axuste fino AF" #: src/nikonmn.cpp:731 msgid "AF fine tune index" msgstr "Índice de axuste fino AF" #: src/nikonmn.cpp:732 msgid "AF Fine Tune Adjustment" msgstr "Axuste do axuste fino do enfoque automático" #: src/nikonmn.cpp:732 msgid "AF fine tune adjustment" msgstr "Posta a punto do axuste fino AF" #: src/nikonmn.cpp:734 #, fuzzy msgid "Unknown Nikon AF Fine Tune Tag" msgstr "Etiqueta de información do ficheiro Nikon descoñecida" #: src/nikonmn.cpp:744 msgid "Timezone" msgstr "Fuso horario" #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight Savings" msgstr "Luz diúrna" #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight savings" msgstr "Luz diúrna" #: src/nikonmn.cpp:746 msgid "Date Display Format" msgstr "Formato de data" #: src/nikonmn.cpp:746 msgid "Date display format" msgstr "Formato de data" #: src/nikonmn.cpp:748 msgid "Unknown Nikon World Time Tag" msgstr "Etiqueta de tempo universal Nikon descoñecida" #: src/nikonmn.cpp:759 msgid "Hi 0.3" msgstr "Al 0.3" #: src/nikonmn.cpp:760 msgid "Hi 0.5" msgstr "Al 0.5" #: src/nikonmn.cpp:761 msgid "Hi 0.7" msgstr "Al 0.7" #: src/nikonmn.cpp:762 msgid "Hi 1.0" msgstr "Al 1.0" #: src/nikonmn.cpp:763 msgid "Hi 1.3" msgstr "Al 1.3" #: src/nikonmn.cpp:764 msgid "Hi 1.5" msgstr "Al 1.5" #: src/nikonmn.cpp:765 msgid "Hi 1.7" msgstr "Al 1.7" #: src/nikonmn.cpp:766 msgid "Hi 2.0" msgstr "Al 2.0" #: src/nikonmn.cpp:767 #, fuzzy msgid "Hi 2.3" msgstr "Al 2.0" #: src/nikonmn.cpp:768 #, fuzzy msgid "Hi 2.5" msgstr "Al 2.0" #: src/nikonmn.cpp:769 #, fuzzy msgid "Hi 2.7" msgstr "Al 2.0" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "Ba 0.3" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "Ba 0.5" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "Ba 0.7" #: src/nikonmn.cpp:778 msgid "Lo 1.0" msgstr "Ba 1.0" #: src/nikonmn.cpp:784 msgid "ISO Expansion" msgstr "Expansión ISO" #: src/nikonmn.cpp:784 msgid "ISO expansion" msgstr "Expansión ISO" #: src/nikonmn.cpp:785 msgid "ISO 2" msgstr "ISO 2" #: src/nikonmn.cpp:786 msgid "ISO Expansion 2" msgstr "Expansión ISO 2" #: src/nikonmn.cpp:786 msgid "ISO expansion 2" msgstr "Expansión ISO 2" #: src/nikonmn.cpp:788 msgid "Unknown Nikon Iso Info Tag" msgstr "Etiqueta de información ISO de Nikon descoñecida" #: src/nikonmn.cpp:798 msgid "Single Area" msgstr "Área única" #: src/nikonmn.cpp:799 msgid "Dynamic Area" msgstr "Área dinámica" #: src/nikonmn.cpp:800 msgid "Dynamic Area, Closest Subject" msgstr "Área dinámica, suxeito moi preto" #: src/nikonmn.cpp:801 msgid "Group Dynamic" msgstr "Grupo dinámico" #: src/nikonmn.cpp:802 msgid "Single Area (wide)" msgstr "Superficie simple (largo)" #: src/nikonmn.cpp:803 msgid "Dynamic Area (wide)" msgstr "Área dinámica (largo)" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 msgid "Mid-left" msgstr "Centro-esquerda" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 msgid "Mid-right" msgstr "Centro-dereita" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 msgid "Far Left" msgstr "Lonxe á esquerda" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 msgid "Far Right" msgstr "Lonxe á dereita" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 msgid "AF area mode" msgstr "Modo de área AF" #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 msgid "AF point" msgstr "Punto AF" #: src/nikonmn.cpp:840 msgid "AF Points In Focus" msgstr "Puntos de AF en foco" #: src/nikonmn.cpp:840 msgid "AF points in focus" msgstr "Puntos de AF en foco" #: src/nikonmn.cpp:842 msgid "Unknown Nikon Auto Focus Tag" msgstr "Etiqueta de enfoque automático Nikon desoñecida" #: src/nikonmn.cpp:853 msgid "On (51-point)" msgstr "Acender (51-puntos)" #: src/nikonmn.cpp:854 msgid "On (11-point)" msgstr "Acender (11-puntos)" #: src/nikonmn.cpp:855 #, fuzzy msgid "On (39-point)" msgstr "Acender (51-puntos)" #: src/nikonmn.cpp:856 #, fuzzy msgid "On (73-point)" msgstr "Acender (51-puntos)" #: src/nikonmn.cpp:857 #, fuzzy msgid "On (73-point, new)" msgstr "Acender (51-puntos)" #: src/nikonmn.cpp:858 #, fuzzy msgid "On (105-point)" msgstr "Acender (11-puntos)" #: src/nikonmn.cpp:864 msgid "Contrast Detect AF" msgstr "Detección de contraste AF" #: src/nikonmn.cpp:864 msgid "Contrast detect AF" msgstr "Detección de contraste AF" #: src/nikonmn.cpp:866 msgid "Phase Detect AF" msgstr "Detección de fase AF" #: src/nikonmn.cpp:866 msgid "Phase detect AF" msgstr "Detección de fase AF" #: src/nikonmn.cpp:867 msgid "Primary AF Point" msgstr "Punto de AF primario" #: src/nikonmn.cpp:867 msgid "Primary AF point" msgstr "Punto de AF primario" #: src/nikonmn.cpp:869 msgid "AF Image Width" msgstr "Largura da imaxe AF" #: src/nikonmn.cpp:869 msgid "AF image width" msgstr "Largura da imaxe AF" #: src/nikonmn.cpp:870 msgid "AF Image Height" msgstr "Altura da imaxe AF" #: src/nikonmn.cpp:870 msgid "AF image height" msgstr "Altura da imaxe AF" #: src/nikonmn.cpp:871 msgid "AF Area X Position" msgstr "Posición X da área AF" #: src/nikonmn.cpp:871 msgid "AF area x position" msgstr "Posición X da área AF" #: src/nikonmn.cpp:872 msgid "AF Area Y Position" msgstr "Posición Y da área AF" #: src/nikonmn.cpp:872 msgid "AF area y position" msgstr "Posición Y da área AF" #: src/nikonmn.cpp:873 msgid "AF Area Width" msgstr "Largura da área AF" #: src/nikonmn.cpp:873 msgid "AF area width" msgstr "Largura da área AF" #: src/nikonmn.cpp:874 msgid "AF Area Height" msgstr "Altura da área AF" #: src/nikonmn.cpp:874 msgid "AF area height" msgstr "Altura da aŕea AF" #: src/nikonmn.cpp:875 msgid "Contrast Detect AF In Focus" msgstr "Detección de contraste AF en enfoque" #: src/nikonmn.cpp:875 msgid "Contrast detect AF in focus" msgstr "Detección de contraste AF en enfoque" #: src/nikonmn.cpp:877 msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "Etiqueta de enfoque automático Nikon 2 descoñecida" #: src/nikonmn.cpp:888 msgid "Directory Number" msgstr "Número de directorio" #: src/nikonmn.cpp:888 msgid "Directory number" msgstr "Número de directorio" #: src/nikonmn.cpp:891 msgid "Unknown Nikon File Info Tag" msgstr "Etiqueta de información do ficheiro Nikon descoñecida" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 msgid "Multiple Exposure" msgstr "Exposición múltiple" #: src/nikonmn.cpp:903 msgid "Image Overlay" msgstr "Superposición de Imaxe" #: src/nikonmn.cpp:909 msgid "Multi Exposure Mode" msgstr "Modo de exposición múltiple" #: src/nikonmn.cpp:909 msgid "Multi exposure mode" msgstr "Modo de exposición múltiple" #: src/nikonmn.cpp:910 msgid "Multi Exposure Shots" msgstr "Disparos de exposición múltiple" #: src/nikonmn.cpp:910 msgid "Multi exposure shots" msgstr "Disparos de exposición múltiple" #: src/nikonmn.cpp:911 msgid "Multi Exposure Auto Gain" msgstr "Ganancia automática de exposición múltiple" #: src/nikonmn.cpp:911 msgid "Multi exposure auto gain" msgstr "Ganancia automática de exposición múltiple" #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 #, fuzzy msgid "Unknown Nikon Multi Exposure Tag" msgstr "Etiqueta de enfoque automático Nikon desoñecida" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 msgid "Internal" msgstr "Interno" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "1.01 (SB-800 ou Metz 58 AF-1)" #: src/nikonmn.cpp:991 msgid "iTTL-BL" msgstr "iTTL-BL" #: src/nikonmn.cpp:992 msgid "iTTL" msgstr "iTTL" #: src/nikonmn.cpp:993 msgid "Auto Aperture" msgstr "Abertura automática" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "GN (prioridade da distancia)" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 msgid "Repeating Flash" msgstr "Repetición defFlash" #: src/nikonmn.cpp:1004 msgid "Bounce Flash" msgstr "Flash rebotado" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "Adaptador de flash largo" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "FL-GL1" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "FL-GL2" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "TN-A1" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "TN-A2" #: src/nikonmn.cpp:1018 msgid "Amber" msgstr "Ámbar" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash Source" msgstr "Fonte de flash" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash source" msgstr "Fonte de flash" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 msgid "0x0005" msgstr "0x0005" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 msgid "External Flash Firmware" msgstr "Firmware do flash externo" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 msgid "External flash firmware" msgstr "Firmware do flash externo" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 msgid "External Flash Flags" msgstr "Marcas do flash externo" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 msgid "External flash flags" msgstr "Marcas do flash externo" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 msgid "Flash Focal Length" msgstr "Lonxitud focal do flash" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 msgid "Flash focal length" msgstr "Lonxitud focal do flash" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "Taxa de repetición do flash" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating flash rate" msgstr "Taxa de repetición do flash" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "Reconto de repetición do flash" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating flash count" msgstr "Reconto de repetición do flash" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN Distance" msgstr "Distancia do flash NG" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN distance" msgstr "Distancia do flash NG" #: src/nikonmn.cpp:1032 msgid "Flash Group A Control Mode" msgstr "Modo de control do grupo A de flash" #: src/nikonmn.cpp:1032 msgid "Flash group a control mode" msgstr "Modo de control do grupo A de flash" #: src/nikonmn.cpp:1033 msgid "Flash Group B Control Mode" msgstr "Modo de control do grupo B de flash" #: src/nikonmn.cpp:1033 msgid "Flash group b control mode" msgstr "Modo de control do grupo B de flash" #: src/nikonmn.cpp:1073 msgid "Flash Color Filter" msgstr "Filtro de cor do flash" #: src/nikonmn.cpp:1073 msgid "Flash color filter" msgstr "Filtro de cor do flash" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 msgid "Shutter count" msgstr "Contador de disparos" #: src/nikonmn.cpp:1088 #, fuzzy msgid "Unknown Nikon Shot Info D80 Tag" msgstr "Etiqueta de información de disparo Nikon descoñecida" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 msgid "Flash Level" msgstr "Nivel do flash" #: src/nikonmn.cpp:1100 msgid "Flash level" msgstr "Nivel do flash" #: src/nikonmn.cpp:1102 #, fuzzy msgid "Unknown Nikon Shot Info D40 Tag" msgstr "Etiqueta de información de disparo Nikon descoñecida" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF Fine Tune Adj" msgstr "Axuste fino do AF" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF fine tune adj" msgstr "Axuste fino do AF" #: src/nikonmn.cpp:1162 #, fuzzy msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "Etiqueta de información de disparo Nikon descoñecida" #: src/nikonmn.cpp:1222 #, fuzzy msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "Etiqueta de información de disparo Nikon descoñecida" #: src/nikonmn.cpp:1235 msgid "On (3)" msgstr "Acendido (3)" #: src/nikonmn.cpp:1248 msgid "Shutter Count 1" msgstr "Contador de disparos 1" #: src/nikonmn.cpp:1248 msgid "Shutter count 1" msgstr "Contador de disparos 2" #: src/nikonmn.cpp:1251 msgid "Vibration Reduction 1" msgstr "Redución da vibración 1" #: src/nikonmn.cpp:1251 msgid "Vibration reduction 1" msgstr "Redución da vibración 1" #: src/nikonmn.cpp:1252 msgid "Shutter Count 2" msgstr "Contador de disparos 2" #: src/nikonmn.cpp:1252 msgid "Shutter count 2" msgstr "Contador de disparos 2" #: src/nikonmn.cpp:1253 msgid "Vibration Reduction 2" msgstr "Redución das vibracións 2" #: src/nikonmn.cpp:1253 msgid "Vibration reduction 2" msgstr "Redución das vibracións 2" #: src/nikonmn.cpp:1257 msgid "Unknown Nikon Shot Info Tag" msgstr "Etiqueta de información de disparo Nikon descoñecida" #: src/nikonmn.cpp:1268 msgid "WB RBGG Levels" msgstr "Niveis BB RBGG" #: src/nikonmn.cpp:1268 msgid "WB RBGG levels" msgstr "Niveis BB RBGG" #: src/nikonmn.cpp:1270 msgid "Unknown Nikon Color Balance 1 Tag" msgstr "Etiqueta Nikon de balance de cor 1 descoñecida" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB Levels" msgstr "Niveis BB RGGB" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB levels" msgstr "Niveis BB RGGB" #: src/nikonmn.cpp:1283 msgid "Unknown Nikon Color Balance 2 Tag" msgstr "Etiqueta Nikon de balance de cor 2 descoñecida" #: src/nikonmn.cpp:1296 msgid "Unknown Nikon Color Balance 2a Tag" msgstr "Etiqueta Nikon de balance de cor 2a descoñecida" #: src/nikonmn.cpp:1309 msgid "Unknown Nikon Color Balance 2b Tag" msgstr "Etiqueta Nikon de balance de cor 2b descoñecida" #: src/nikonmn.cpp:1320 msgid "WB RGBG Levels" msgstr "Niveis BB RGBG" #: src/nikonmn.cpp:1320 msgid "WB RGBG levels" msgstr "Niveis BB RGBG" #: src/nikonmn.cpp:1322 msgid "Unknown Nikon Color Balance 3 Tag" msgstr "Etiqueta Nikon de balance de cor 3 descoñecida" #: src/nikonmn.cpp:1333 msgid "WB GRBG Levels" msgstr "Niveis BB GRBG" #: src/nikonmn.cpp:1333 msgid "WB GRBG levels" msgstr "Niveis BB GRBG" #: src/nikonmn.cpp:1335 msgid "Unknown Nikon Color Balance 4 Tag" msgstr "Etiqueta Nikon de balance de cor 4 descoñecida" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID Number" msgstr "Número de ID da lente" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID number" msgstr "Número de ID da lente" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-Stops" msgstr "vr" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 msgid "Lens F-stops" msgstr "Números F da lente" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min Focal Length" msgstr "Distancia focal mínima" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min focal length" msgstr "Distancia focal mínima" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max Focal Length" msgstr "Distancia focal máxima" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max focal length" msgstr "Distancia focal máxima" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 msgid "Max Aperture At Min Focal" msgstr "Máxima abertura a mínimo foco" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 msgid "Max aperture at min focal" msgstr "Máxima abertura a mínimo foco" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 msgid "Max Aperture At Max Focal" msgstr "Máxima abertura a máximo foco" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 msgid "Max aperture at max focal" msgstr "Máxima abertura a máximo foco" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU Version" msgstr "Versión MCU" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU version" msgstr "Versión MCU" #: src/nikonmn.cpp:1354 msgid "Unknown Nikon Lens Data 1 Tag" msgstr "Etiqueta Nikon de datos de lente 1 descoñecida" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit Pupil Position" msgstr "Cambio de posición DEC" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit pupil position" msgstr "Cambio de posición DEC" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 msgid "AF Aperture" msgstr "Abertura do AF" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 msgid "AF aperture" msgstr "Abertura do AF" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective Max Aperture" msgstr "Abertura máxima efectiva" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective max aperture" msgstr "Abertura máxima efectiva" #: src/nikonmn.cpp:1379 msgid "Unknown Nikon Lens Data 2 Tag" msgstr "Etiqueta Nikon de datos de lente 2 descoñecida" #: src/nikonmn.cpp:1399 msgid "Max aperture at min focal length" msgstr "Abertura máxima en mínima distancia focal" #: src/nikonmn.cpp:1400 msgid "Max aperture at max focal length" msgstr "Abertura máxima en máxima distancia focal" #: src/nikonmn.cpp:1404 msgid "Unknown Nikon Lens Data 3 Tag" msgstr "Etiqueta Nikon de datos de lente 3 descoñecida" #: src/nikonmn.cpp:1590 msgid "Closest subject" msgstr "Suxeito máis perto" #: src/nikonmn.cpp:1591 #, fuzzy msgid "Group dynamic-AF" msgstr "Grupo dinámico" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "ningún" #: src/nikonmn.cpp:1624 msgid "used" msgstr "usado" #: src/nikonmn.cpp:1650 msgid "All 11 Points" msgstr "Todos os 11 puntos" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 msgid "Single-frame" msgstr "Fotograma único" #: src/olympusmn.cpp:71 msgid "Standard Quality (SQ)" msgstr "Calidade estándar (SQ)" #: src/olympusmn.cpp:72 msgid "High Quality (HQ)" msgstr "Calidade alta (HQ)" #: src/olympusmn.cpp:73 msgid "Super High Quality (SHQ)" msgstr "Super alta calidade (SHQ)" #: src/olympusmn.cpp:88 msgid "On (preset)" msgstr "Activado (Predefinido)" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 msgid "Sport" msgstr "Deportes" #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 msgid "Landscape+Portrait" msgstr "Paisaxe+Retrato" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 msgid "Self Portrait" msgstr "Autoretrato" #: src/olympusmn.cpp:102 msgid "2 in 1" msgstr "2 en 1" #: src/olympusmn.cpp:105 msgid "Night+Portrait" msgstr "Noite+Retrato" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "Comida" #: src/olympusmn.cpp:112 msgid "Documents" msgstr "Documentos" #: src/olympusmn.cpp:114 msgid "Shoot & Select" msgstr "Disparar e seleccionar" #: src/olympusmn.cpp:115 msgid "Beach & Snow" msgstr "Praia e neve" #: src/olympusmn.cpp:116 msgid "Self Portrait+Timer" msgstr "Autoretrato+temporizador" #: src/olympusmn.cpp:117 msgid "Candle" msgstr "Candea" #: src/olympusmn.cpp:118 msgid "Available Light" msgstr "Luz dispoñíbel" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "Detrás dun cristal" #: src/olympusmn.cpp:120 msgid "My Mode" msgstr "O meu modo" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 msgid "Pet" msgstr "Mascota" #: src/olympusmn.cpp:122 msgid "Underwater Wide1" msgstr "Submarino largo 1" #: src/olympusmn.cpp:123 msgid "Underwater Macro" msgstr "Macro submarino" #: src/olympusmn.cpp:124 msgid "Shoot & Select1" msgstr "Disparar e seleccionar 1" #: src/olympusmn.cpp:125 msgid "Shoot & Select2" msgstr "Disparar e seleccionar 2" #: src/olympusmn.cpp:127 msgid "Digital Image Stabilization" msgstr "Estabilización dixital da imaxe" #: src/olympusmn.cpp:128 #, fuzzy msgid "Auction" msgstr "" "\n" "Accións:\n" #: src/olympusmn.cpp:131 msgid "Underwater Wide2" msgstr "Submarino largo 2" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "Nenos" #: src/olympusmn.cpp:135 msgid "Nature Macro" msgstr "Macro natural" #: src/olympusmn.cpp:136 msgid "Underwater Snapshot" msgstr "Instantánea submarina" #: src/olympusmn.cpp:137 msgid "Shooting Guide" msgstr "Guía de disparo" #: src/olympusmn.cpp:145 msgid "Internal + External" msgstr "Interno + Externo" #: src/olympusmn.cpp:176 msgid "Interlaced" msgstr "Entrelazado" #: src/olympusmn.cpp:177 msgid "Progressive" msgstr "Progresivo" #: src/olympusmn.cpp:188 msgid "Thumbnail Image" msgstr "Miniatura da imaxe" #: src/olympusmn.cpp:189 msgid "Thumbnail image" msgstr "Miniatura da imaxe" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body Firmware Version" msgstr "Versión do firmware do corpo" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body firmware version" msgstr "Versión do firmware do corpo" #: src/olympusmn.cpp:195 msgid "Special Mode" msgstr "Modo especial" #: src/olympusmn.cpp:196 msgid "Picture taking mode" msgstr "Modo de toma de imaxe" #: src/olympusmn.cpp:204 msgid "Black & White Mode" msgstr "Modo branco e negro" #: src/olympusmn.cpp:205 msgid "Black and white mode" msgstr "Modo branco e negro" #: src/olympusmn.cpp:208 msgid "Digital zoom ratio" msgstr "Proporción de zoom dixital" #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 msgid "Focal Plane Diagonal" msgstr "Diagonal do plano focal" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 msgid "Focal plane diagonal" msgstr "Diagonal do plano focal" #: src/olympusmn.cpp:213 msgid "Lens Distortion Parameters" msgstr "Parámetros de distorsión das lentes" #: src/olympusmn.cpp:214 msgid "Lens distortion parameters" msgstr "Parámetros de distorsión das lentes" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 msgid "Camera Type" msgstr "Tipo de cámara" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 msgid "Camera type" msgstr "Tipo de cámara" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "Formato ASCII de datos como [PictureInfo]" #: src/olympusmn.cpp:222 msgid "Camera ID" msgstr "ID da Cámara" #: src/olympusmn.cpp:223 msgid "Camera ID data" msgstr "Datos de ID da cámara" #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "Software" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 msgid "Preview Image" msgstr "Vista previa da imaxe" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 msgid "Preview image" msgstr "Vista previa da imaxe" #: src/olympusmn.cpp:237 #, fuzzy msgid "Pre Capture Frames" msgstr "Tipo de captura da escena" #: src/olympusmn.cpp:238 #, fuzzy msgid "Pre-capture frames" msgstr "Desprazamentos da captura" #: src/olympusmn.cpp:240 #, fuzzy msgid "White Board" msgstr "Balance de brancos" #: src/olympusmn.cpp:241 #, fuzzy msgid "White board" msgstr "Balance de brancos de vermello" #: src/olympusmn.cpp:243 msgid "One Touch WB" msgstr "BB a un toque" #: src/olympusmn.cpp:244 msgid "One touch white balance" msgstr "Balance de brancos automático" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 msgid "White Balance Bracket" msgstr "Balance de brancos da forcada" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 msgid "White balance bracket" msgstr "Balance de brancos da forcada" #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 msgid "Firmware" msgstr "Firmware" #: src/olympusmn.cpp:261 #, fuzzy msgid "Data Dump 1" msgstr "Envorcado de datos 2" #: src/olympusmn.cpp:262 msgid "Various camera settings 1" msgstr "Axustes varios da cámara 1" #: src/olympusmn.cpp:264 msgid "Data Dump 2" msgstr "Envorcado de datos 2" #: src/olympusmn.cpp:265 msgid "Various camera settings 2" msgstr "Axustes varias da cámara 2" #: src/olympusmn.cpp:268 msgid "Shutter speed value" msgstr "Valor da velocidade do obturador" #: src/olympusmn.cpp:271 msgid "ISO speed value" msgstr "Valor da velocidade ISO" #: src/olympusmn.cpp:274 msgid "Aperture value" msgstr "Valor de abertura" #: src/olympusmn.cpp:277 msgid "Brightness value" msgstr "Valor do brillo" #: src/olympusmn.cpp:285 msgid "Bracket" msgstr "Forcada" #: src/olympusmn.cpp:286 msgid "Exposure compensation value" msgstr "Valor de compensación da exposición" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 msgid "Sensor Temperature" msgstr "Sensor de temperatura" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 msgid "Sensor temperature" msgstr "Sensor de temperatura" #: src/olympusmn.cpp:291 msgid "Lens Temperature" msgstr "Temperatura da lente" #: src/olympusmn.cpp:292 msgid "Lens temperature" msgstr "Temperatura da lente" #: src/olympusmn.cpp:294 msgid "Light Condition" msgstr "Condicións de iluminación" #: src/olympusmn.cpp:295 msgid "Light condition" msgstr "Condicións de iluminación" #: src/olympusmn.cpp:297 msgid "Focus Range" msgstr "Rango do enfoque" #: src/olympusmn.cpp:298 msgid "Focus range" msgstr "Rango do enfoque" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "Zoom" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 msgid "Zoom step count" msgstr "Contador de pasos do zoom" #: src/olympusmn.cpp:309 msgid "Macro Focus" msgstr "Macro foco" #: src/olympusmn.cpp:310 msgid "Macro focus step count" msgstr "Contador de pasos de enfoque macro" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 msgid "Sharpness Factor" msgstr "Factor de nitidez" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 msgid "Sharpness factor" msgstr "Factor de nitidez" #: src/olympusmn.cpp:315 msgid "Flash Charge Level" msgstr "Nivel de carga do flash" #: src/olympusmn.cpp:316 msgid "Flash charge level" msgstr "Nivel de carga do flash" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 msgid "Color Matrix" msgstr "Matriz de cor" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 msgid "Color matrix" msgstr "Matriz de cor" #: src/olympusmn.cpp:321 msgid "BlackLevel" msgstr "Nivel do negro" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 msgid "Black level" msgstr "Nivel do negro" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 msgid "White balance mode" msgstr "Modo de balance de brancos" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 msgid "Red Balance" msgstr "Balance de vermellos" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 msgid "Red balance" msgstr "Balance de vermellos" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 msgid "Blue Balance" msgstr "Balance de azuis" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 msgid "Blue balance" msgstr "Balance de azuis" #: src/olympusmn.cpp:342 msgid "Color Matrix Number" msgstr "Número da matriz de cor" #: src/olympusmn.cpp:343 #, fuzzy msgid "Color matrix number" msgstr "Número da matriz de cor" #: src/olympusmn.cpp:345 msgid "Serial Number 2" msgstr "Número de serie 2" #: src/olympusmn.cpp:346 msgid "Serial number 2" msgstr "Número de serie 2" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 msgid "Flash exposure compensation" msgstr "Compensación da exposición do flash" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 msgid "External Flash Bounce" msgstr "Límite do flash externo" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 msgid "External flash bounce" msgstr "Límite do flash externo" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 msgid "External Flash Zoom" msgstr "Zoom do flash externo" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 msgid "External flash zoom" msgstr "Zoom do flash externo" #: src/olympusmn.cpp:387 msgid "External Flash Mode" msgstr "Modo do flash externo" #: src/olympusmn.cpp:388 msgid "External flash mode" msgstr "Modo do flash externo" #: src/olympusmn.cpp:396 msgid "Color Control" msgstr "Controlo de cor" #: src/olympusmn.cpp:397 msgid "Color control" msgstr "Control de cor" #: src/olympusmn.cpp:399 msgid "ValidBits" msgstr "Bits válidos" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 msgid "Valid bits" msgstr "Bits válidos" #: src/olympusmn.cpp:402 #, fuzzy msgid "CoringFilter" msgstr "Filtro de cor" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring filter" msgstr "Filtro de cor" #: src/olympusmn.cpp:423 msgid "Compression Ratio" msgstr "Taxa de compresión" #: src/olympusmn.cpp:424 msgid "Compression ratio" msgstr "Taxa de compresión" #: src/olympusmn.cpp:427 msgid "Preview image embedded" msgstr "Vista previa da imaxe incrustada" #: src/olympusmn.cpp:430 #, fuzzy msgid "Offset of the preview image" msgstr "Tamaño da imaxe de visualización" #: src/olympusmn.cpp:433 msgid "Size of the preview image" msgstr "Tamaño da imaxe de visualización" #: src/olympusmn.cpp:435 msgid "CCD Scan Mode" msgstr "Modo de exploración CCD" #: src/olympusmn.cpp:436 msgid "CCD scan mode" msgstr "Modo de exploración CCD" #: src/olympusmn.cpp:441 msgid "Infinity Lens Step" msgstr "Paso de lente infinito" #: src/olympusmn.cpp:442 msgid "Infinity lens step" msgstr "Paso de lente infinito" #: src/olympusmn.cpp:444 #, fuzzy msgid "Near Lens Step" msgstr "vr" #: src/olympusmn.cpp:445 #, fuzzy msgid "Near lens step" msgstr "Paso de lente infinito" #: src/olympusmn.cpp:447 msgid "Equipment Info" msgstr "Información do equipamento" #: src/olympusmn.cpp:448 msgid "Camera equipment sub-IFD" msgstr "" #: src/olympusmn.cpp:451 #, fuzzy msgid "Camera Settings sub-IFD" msgstr "Axustes da cámara (7D)" #: src/olympusmn.cpp:453 msgid "Raw Development" msgstr "" #: src/olympusmn.cpp:454 msgid "Raw development sub-IFD" msgstr "" #: src/olympusmn.cpp:456 msgid "Raw Development 2" msgstr "" #: src/olympusmn.cpp:457 msgid "Raw development 2 sub-IFD" msgstr "" #: src/olympusmn.cpp:460 #, fuzzy msgid "Image processing sub-IFD" msgstr "Procesamento de imaxes" #: src/olympusmn.cpp:462 msgid "Focus Info" msgstr "Información de foco" #: src/olympusmn.cpp:463 #, fuzzy msgid "Focus sub-IFD" msgstr "Información de foco" #: src/olympusmn.cpp:465 #, fuzzy msgid "Raw Info" msgstr "Información VR" #: src/olympusmn.cpp:466 msgid "Raw sub-IFD" msgstr "" #: src/olympusmn.cpp:470 msgid "Unknown OlympusMakerNote tag" msgstr "Etiqueta OlympusMakerNote descoñecida" #: src/olympusmn.cpp:486 msgid "Program-shift" msgstr "Cambio de programa" #: src/olympusmn.cpp:491 msgid "Center-weighted average" msgstr "Promedio ponderado no centro" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "ESP" #: src/olympusmn.cpp:494 msgid "Pattern+AF" msgstr "Patrón+AF" #: src/olympusmn.cpp:495 msgid "Spot+Highlight control" msgstr "" #: src/olympusmn.cpp:496 #, fuzzy msgid "Spot+Shadow control" msgstr "Control de cor" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 msgid "Single AF" msgstr "EA sinxelo" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 msgid "Multi AF" msgstr "EA multi" #: src/olympusmn.cpp:517 msgid "AF Not Used" msgstr "AF non usado" #: src/olympusmn.cpp:518 msgid "AF Used" msgstr "AF usado" #: src/olympusmn.cpp:523 msgid "Not Ready" msgstr "Non está preparado" #: src/olympusmn.cpp:524 msgid "Ready" msgstr "Preparado" #: src/olympusmn.cpp:531 msgid "Fill-in" msgstr "Encher" #: src/olympusmn.cpp:533 msgid "Slow-sync" msgstr "Sincronización lenta" #: src/olympusmn.cpp:534 msgid "Forced On" msgstr "Forzado" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "2ª cortina" #: src/olympusmn.cpp:541 msgid "Channel 1, Low" msgstr "Canle 1, baixo" #: src/olympusmn.cpp:542 msgid "Channel 2, Low" msgstr "Canle 2, baixo" #: src/olympusmn.cpp:543 msgid "Channel 3, Low" msgstr "Canle 3, baixo" #: src/olympusmn.cpp:544 msgid "Channel 4, Low" msgstr "Canle 4, baixo" #: src/olympusmn.cpp:545 msgid "Channel 1, Mid" msgstr "Canle 1, medio" #: src/olympusmn.cpp:546 msgid "Channel 2, Mid" msgstr "Canle 2, medio" #: src/olympusmn.cpp:547 msgid "Channel 3, Mid" msgstr "Canle 3, medio" #: src/olympusmn.cpp:548 msgid "Channel 4, Mid" msgstr "Canle 4, medio" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "Canle 1, alto" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "Canle 2, alto" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "Canle 3, alto" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "Canle 4, alto" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "" #: src/olympusmn.cpp:567 msgid "7500K (Fine Weather with Shade)" msgstr "7500K (bo tempo con sombra)" #: src/olympusmn.cpp:568 msgid "6000K (Cloudy)" msgstr "6000K (anubrado)" #: src/olympusmn.cpp:569 msgid "5300K (Fine Weather)" msgstr "5300K (choiva fina)" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "3000K (lámpada incandescente)" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 msgid "3600K (Tungsten light-like)" msgstr "3600K (luz tipo tungsteno)" #: src/olympusmn.cpp:572 #, fuzzy msgid "Auto Setup" msgstr "Abertura automática" #: src/olympusmn.cpp:573 #, fuzzy msgid "5500K (Flash)" msgstr "Auto (flash)" #: src/olympusmn.cpp:574 msgid "6600K (Daylight fluorescent)" msgstr "6600K (fluorescente luz de día)" #: src/olympusmn.cpp:575 msgid "4500K (Neutral white fluorescent)" msgstr "4500K (fluorescente branco neutro)" #: src/olympusmn.cpp:576 msgid "4000K (Cool white fluorescent)" msgstr "4000K (fluorescente branco frio)" #: src/olympusmn.cpp:577 #, fuzzy msgid "White Fluorescent" msgstr "Fluorescente branco" #: src/olympusmn.cpp:580 #, fuzzy msgid "One Touch WB 1" msgstr "BB a un toque" #: src/olympusmn.cpp:581 #, fuzzy msgid "One Touch WB 2" msgstr "BB a un toque" #: src/olympusmn.cpp:582 #, fuzzy msgid "One Touch WB 3" msgstr "BB a un toque" #: src/olympusmn.cpp:583 #, fuzzy msgid "One Touch WB 4" msgstr "BB a un toque" #: src/olympusmn.cpp:584 msgid "Custom WB 1" msgstr "BB personalizado 1" #: src/olympusmn.cpp:585 msgid "Custom WB 2" msgstr "BB personalizado 2" #: src/olympusmn.cpp:586 msgid "Custom WB 3" msgstr "BB personalizado 3" #: src/olympusmn.cpp:587 msgid "Custom WB 4" msgstr "BB personalizado 4" #: src/olympusmn.cpp:593 msgid "CM1 (Red Enhance)" msgstr "CM1 (vermello mellorado)" #: src/olympusmn.cpp:594 msgid "CM2 (Green Enhance)" msgstr "CM2 (verde mellorado)" #: src/olympusmn.cpp:595 msgid "CM3 (Blue Enhance)" msgstr "CM3 (azul mellorado)" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "CM4 (ton de pel)" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 msgid "Noise Filter" msgstr "Filtro de ruído" #: src/olympusmn.cpp:610 msgid "Noise Filter (ISO Boost)" msgstr "Filtro de ruído (ISO Boost)" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 msgid "Muted" msgstr "Mudo" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 msgid "Monotone" msgstr "Monotono" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "SQ" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "HQ" #: src/olympusmn.cpp:648 msgid "SHQ" msgstr "SHQ" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 msgid "On, Mode 1" msgstr "Acendido, modo 1" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 msgid "On, Mode 2" msgstr "Acendido, modo 2" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 msgid "On, Mode 3" msgstr "Acendido, modo 3" #: src/olympusmn.cpp:661 msgid "Camera Settings Version" msgstr "Versión dos axustes da cámara" #: src/olympusmn.cpp:661 msgid "Camera settings version" msgstr "Versión dos axustes da cámara" #: src/olympusmn.cpp:662 msgid "PreviewImage Valid" msgstr "Vista previa válida" #: src/olympusmn.cpp:662 msgid "Preview image valid" msgstr "Vista previa válida" #: src/olympusmn.cpp:663 msgid "PreviewImage Start" msgstr "Inicio de vista previa" #: src/olympusmn.cpp:663 msgid "Preview image start" msgstr "Inicio de vista previa" #: src/olympusmn.cpp:664 msgid "PreviewImage Length" msgstr "Tamaño da vista previa" #: src/olympusmn.cpp:664 msgid "Preview image length" msgstr "Lonxitude da imaxe previa" #: src/olympusmn.cpp:666 msgid "Auto exposure lock" msgstr "Bloqueo de exposición automática" #: src/olympusmn.cpp:668 msgid "Exposure Shift" msgstr "Cambio de exposición" #: src/olympusmn.cpp:668 msgid "Exposure shift" msgstr "Cambio de exposición" #: src/olympusmn.cpp:671 msgid "Focus Process" msgstr "Proceso de enfoque" #: src/olympusmn.cpp:671 msgid "Focus process" msgstr "Proceso de enfoque" #: src/olympusmn.cpp:672 msgid "AF Search" msgstr "Busca do AF" #: src/olympusmn.cpp:672 msgid "AF search" msgstr "Busca do AF" #: src/olympusmn.cpp:673 msgid "AF Areas" msgstr "Áreas de AF" #: src/olympusmn.cpp:673 msgid "AF areas" msgstr "Áreas de AF" #: src/olympusmn.cpp:674 msgid "AFPointSelected" msgstr "Punto de EA seleccionado" #: src/olympusmn.cpp:675 msgid "AF Fine Tune Adjust" msgstr "Axuste fino do AF" #: src/olympusmn.cpp:675 msgid "AF fine tune adjust" msgstr "Axuste fino do AF" #: src/olympusmn.cpp:678 msgid "Flash Remote Control" msgstr "Control remoto do flash" #: src/olympusmn.cpp:678 msgid "Flash remote control" msgstr "Control remoto do flash" #: src/olympusmn.cpp:679 msgid "Flash Control Mode" msgstr "Modo de control do flash" #: src/olympusmn.cpp:679 msgid "Flash control mode" msgstr "Modo de control do flash" #: src/olympusmn.cpp:680 msgid "Flash Intensity" msgstr "Intensidade do flash" #: src/olympusmn.cpp:680 msgid "Flash intensity" msgstr "Intensidade do flash" #: src/olympusmn.cpp:681 msgid "Manual Flash Strength" msgstr "Fuerza do flash manual" #: src/olympusmn.cpp:681 msgid "Manual flash strength" msgstr "Fuerza do flash manual" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 msgid "White Balance 2" msgstr "Balance de brancos 2" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 msgid "White balance 2" msgstr "Balance de brancos 2" #: src/olympusmn.cpp:683 msgid "White Balance Temperature" msgstr "Temperatura do balance de brancos" #: src/olympusmn.cpp:683 msgid "White balance temperature" msgstr "Temperatura do balance de brancos" #: src/olympusmn.cpp:685 msgid "Custom Saturation" msgstr "Saturación personalizada" #: src/olympusmn.cpp:685 msgid "Custom saturation" msgstr "Saturación personalizada" #: src/olympusmn.cpp:686 msgid "Modified Saturation" msgstr "Saturación modificada" #: src/olympusmn.cpp:686 msgid "Modified saturation" msgstr "Saturación modificada" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 msgid "Contrast Setting" msgstr "Axuste do contraste" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 msgid "Sharpness Setting" msgstr "Axuste da nitidez" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion Correction" msgstr "Corrección da distorsión" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion correction" msgstr "Corrección da distorsión" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 msgid "Shading Compensation" msgstr "Compensación da sombra" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 msgid "Shading compensation" msgstr "Compensación da sombra" #: src/olympusmn.cpp:694 msgid "Compression Factor" msgstr "Factor de compresión" #: src/olympusmn.cpp:694 msgid "Compression factor" msgstr "Factor de compresión" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 msgid "Gradation" msgstr "Graduación" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 msgid "Picture mode" msgstr "Modo de imaxe" #: src/olympusmn.cpp:697 msgid "Picture Mode Saturation" msgstr "Modo de saturación da imaxe" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 msgid "Picture mode saturation" msgstr "Modo de saturación da imaxe" #: src/olympusmn.cpp:698 msgid "Picture Mode Hue" msgstr "Modo de matíz da imaxe" #: src/olympusmn.cpp:698 msgid "Picture mode hue" msgstr "Modo de matíz da imaxe" #: src/olympusmn.cpp:699 msgid "Picture Mode Contrast" msgstr "Modo de contraste da imaxe" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 msgid "Picture mode contrast" msgstr "Modo de contraste da imaxe" #: src/olympusmn.cpp:700 msgid "Picture Mode Sharpness" msgstr "Modo de nitidez da imaxe" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 msgid "Picture mode sharpness" msgstr "Modo de nitidez da imaxe" #: src/olympusmn.cpp:701 msgid "Picture Mode BW Filter" msgstr "Modo de filtro de branco e negro da imaxe" #: src/olympusmn.cpp:701 msgid "Picture mode BW filter" msgstr "Modo de filtro de branco e negro da imaxe" #: src/olympusmn.cpp:702 msgid "Picture Mode Tone" msgstr "Modo de ton da imaxe" #: src/olympusmn.cpp:702 msgid "Picture mode tone" msgstr "Modo de ton da imaxe" #: src/olympusmn.cpp:703 msgid "Noise filter" msgstr "Filtro de ruído" #: src/olympusmn.cpp:704 msgid "Art Filter" msgstr "Filtro artístico" #: src/olympusmn.cpp:704 msgid "Art filter" msgstr "Filtro artístico" #: src/olympusmn.cpp:705 msgid "Magic Filter" msgstr "Filtro máxico" #: src/olympusmn.cpp:705 msgid "Magic filter" msgstr "Filtro artístico" #: src/olympusmn.cpp:707 msgid "Panorama Mode" msgstr "Modo panorama" #: src/olympusmn.cpp:707 msgid "Panorama mode" msgstr "Modo panorama" #: src/olympusmn.cpp:708 msgid "Image Quality 2" msgstr "Calidada da imaxe 2" #: src/olympusmn.cpp:708 msgid "Image quality 2" msgstr "Calidada da imaxe 2" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer Pressure" msgstr "Manómetro de presión" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer pressure" msgstr "Manómetro de presión" #: src/olympusmn.cpp:711 msgid "Manometer Reading" msgstr "Lectura do manómetro" #: src/olympusmn.cpp:711 msgid "Manometer reading" msgstr "Lectura do manómetro" #: src/olympusmn.cpp:712 msgid "Extended WB Detect" msgstr "Detección estendida do BB" #: src/olympusmn.cpp:712 msgid "Extended WB detect" msgstr "Detección estendida do BB" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "" #: src/olympusmn.cpp:716 #, fuzzy msgid "Unknown OlympusCs tag" msgstr "Etiqueta OlympusEq descoñecida" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "" #: src/olympusmn.cpp:745 msgid "Equipment Version" msgstr "Versión do equipamento" #: src/olympusmn.cpp:745 msgid "Equipment version" msgstr "Versión do equipamento" #: src/olympusmn.cpp:747 msgid "Serial number" msgstr "Número de serie" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 msgid "Lens Serial Number" msgstr "Número de serie da lente" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 msgid "Lens serial number" msgstr "Número de serie da lente" #: src/olympusmn.cpp:754 msgid "Lens Firmware Version" msgstr "Versión do firmware das lentes" #: src/olympusmn.cpp:754 msgid "Lens firmware version" msgstr "Versión do firmware das lentes" #: src/olympusmn.cpp:759 msgid "Max Aperture At Current Focal" msgstr "Máxima abertura co foco actual" #: src/olympusmn.cpp:759 msgid "Max aperture at current focal" msgstr "Máxima abertura co foco actual" #: src/olympusmn.cpp:760 msgid "Lens Properties" msgstr "Propiedades das lentes" #: src/olympusmn.cpp:760 msgid "Lens properties" msgstr "Máxima abertura co foco actual" #: src/olympusmn.cpp:761 msgid "Extender" msgstr "Extensor" #: src/olympusmn.cpp:762 msgid "Extender Serial Number" msgstr "Número de serie estendido" #: src/olympusmn.cpp:762 msgid "Extender serial number" msgstr "Número de serie estendido" #: src/olympusmn.cpp:763 msgid "Extender Model" msgstr "Modelo estendido" #: src/olympusmn.cpp:763 msgid "Extender model" msgstr "Modelo estendido" #: src/olympusmn.cpp:764 msgid "Extender Firmware Version" msgstr "Versión do firmware estendida" #: src/olympusmn.cpp:764 msgid "Extender firmwareversion" msgstr "Versión do firmware estendida" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion Lens" msgstr "Lentes de conversión" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion lens" msgstr "Lentes de conversión" #: src/olympusmn.cpp:767 src/properties.cpp:402 msgid "Flash Model" msgstr "Modelo do flash" #: src/olympusmn.cpp:767 msgid "Flash model" msgstr "Modelo do flash" #: src/olympusmn.cpp:768 msgid "Flash Firmware Version" msgstr "Versión do firmware do flash" #: src/olympusmn.cpp:768 msgid "Flash firmware version" msgstr "Versión do firmware do flash" #: src/olympusmn.cpp:769 msgid "FlashSerialNumber" msgstr "Número de serie do flash" #: src/olympusmn.cpp:771 msgid "Unknown OlympusEq tag" msgstr "Etiqueta OlympusEq descoñecida" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 msgid "High Speed" msgstr "Alta Velocidade" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 msgid "High Function" msgstr "Función superior" #: src/olympusmn.cpp:790 msgid "Advanced High Speed" msgstr "Alta velocidade avanzada" #: src/olympusmn.cpp:791 msgid "Advanced High Function" msgstr "Función superior avanzada" #: src/olympusmn.cpp:796 msgid "Original" msgstr "Orixinal" #: src/olympusmn.cpp:797 msgid "Edited (Landscape)" msgstr "Editado pPaisaxe)" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 msgid "Edited (Portrait)" msgstr "Editado (retrato)" #: src/olympusmn.cpp:804 msgid "WB Color Temp" msgstr "Temperatura de color do BB" #: src/olympusmn.cpp:805 msgid "WB Gray Point" msgstr "Punto gris do BB" #: src/olympusmn.cpp:815 #, fuzzy msgid "Raw Development Version" msgstr "Versión da información en bruto" #: src/olympusmn.cpp:815 #, fuzzy msgid "Raw development version" msgstr "Versión da información en bruto" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 msgid "Exposure Bias Value" msgstr "Valor de compensación da exposición" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 msgid "Exposure bias value" msgstr "Valor de compensación da exposición" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White Balance Value" msgstr "Valor do balance de brancos" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White balance value" msgstr "Valor do balance de brancos" #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 msgid "WB Fine Adjustment" msgstr "Axuste fino do BB" #: src/olympusmn.cpp:818 msgid "WB fine adjustment" msgstr "Axuste fino do BB" #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 msgid "Gray Point" msgstr "Punto gris" #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 msgid "Gray point" msgstr "Punto gris" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation Emphasis" msgstr "Énfase da saturación" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation emphasis" msgstr "Énfase da saturación" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory Color Emphasis" msgstr "Énfase da memoria de cor" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory color emphasis" msgstr "Énfase da memoria de cor" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast Value" msgstr "Valor do contraste" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast value" msgstr "Valor do contraste" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness Value" msgstr "Valor da nitidez" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness value" msgstr "Valor da nitidez" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 msgid "Engine" msgstr "Motor" #: src/olympusmn.cpp:827 msgid "Edit status" msgstr "Editar o estado" #: src/olympusmn.cpp:828 msgid "Settings" msgstr "Axustes" #: src/olympusmn.cpp:830 msgid "Unknown OlympusRd tag" msgstr "Etiqueta OlympusRd descoñecida" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw Development 2 Version" msgstr "Versión da información en bruto" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw development 2 version" msgstr "Versión da información en bruto" #: src/olympusmn.cpp:889 msgid "White balance fine adjustment" msgstr "Axuste fino do balance de brancos" #: src/olympusmn.cpp:899 msgid "PM Saturation" msgstr "Saturación PM" #: src/olympusmn.cpp:900 msgid "PM Contrast" msgstr "Contraste PM" #: src/olympusmn.cpp:901 msgid "PM Sharpness" msgstr "Nitidez PM" #: src/olympusmn.cpp:902 msgid "PM BW Filter" msgstr "Filtro de B e N PM" #: src/olympusmn.cpp:902 msgid "PM BW filter" msgstr "Filtro de B e N PM" #: src/olympusmn.cpp:903 msgid "PM Picture Tone" msgstr "Ton da imaxe PM" #: src/olympusmn.cpp:903 msgid "PM picture tone" msgstr "Ton da imaxe PM" #: src/olympusmn.cpp:906 msgid "Auto Gradation" msgstr "Graduación automática" #: src/olympusmn.cpp:906 msgid "Auto gradation" msgstr "Graduación automática" #: src/olympusmn.cpp:907 msgid "PM Noise Filter" msgstr "Filtro de ruído PM" #: src/olympusmn.cpp:907 #, fuzzy msgid "Picture mode noise filter" msgstr "Modo de filtro de branco e negro da imaxe" #: src/olympusmn.cpp:909 msgid "Unknown OlympusRd2 tag" msgstr "Etiqueta OlympusRd2 descoñecida" #: src/olympusmn.cpp:920 msgid "On (2 frames)" msgstr "Acendido (2 fotogramas)" #: src/olympusmn.cpp:921 msgid "On (3 frames)" msgstr "Acendido (3 fotogramas)" #: src/olympusmn.cpp:938 msgid "Image Processing Version" msgstr "Versión do procesado da imaxe" #: src/olympusmn.cpp:938 msgid "Image processing version" msgstr "Versión do procesado da imaxe" #: src/olympusmn.cpp:940 msgid "WB RB Levels 3000K" msgstr "Niveis BB RB 3000K" #: src/olympusmn.cpp:940 msgid "WB RB levels 3000K" msgstr "Niveis BB RB 3000K" #: src/olympusmn.cpp:941 msgid "WB RB Levels 3300K" msgstr "Niveis BB RB 3300K" #: src/olympusmn.cpp:941 msgid "WB RB levels 3300K" msgstr "Niveis BB RB 3300K" #: src/olympusmn.cpp:942 msgid "WB RB Levels 3600K" msgstr "Niveis BB RB 3600K" #: src/olympusmn.cpp:942 msgid "WB RB levels 3600K" msgstr "Niveis BB RB 3600K" #: src/olympusmn.cpp:943 msgid "WB RB Levels 3900K" msgstr "Niveis BB RB 3900K" #: src/olympusmn.cpp:943 msgid "WB RB levels 3900K" msgstr "Niveis BB RB 3900K" #: src/olympusmn.cpp:944 msgid "WB RB Levels 4000K" msgstr "Niveis BB RB 4000K" #: src/olympusmn.cpp:944 msgid "WB RB levels 4000K" msgstr "Niveis BB RB 4000K" #: src/olympusmn.cpp:945 msgid "WB RB Levels 4300K" msgstr "Niveis BB RB 4300K" #: src/olympusmn.cpp:945 msgid "WB RB levels 4300K" msgstr "Niveis BB RB 4300K" #: src/olympusmn.cpp:946 msgid "WB RB Levels 4500K" msgstr "Niveis BB RB 4500K" #: src/olympusmn.cpp:946 msgid "WB RB levels 4500K" msgstr "Niveis BB RB 4500K" #: src/olympusmn.cpp:947 msgid "WB RB Levels 4800K" msgstr "Niveis BB RB 4800K" #: src/olympusmn.cpp:947 msgid "WB RB levels 4800K" msgstr "Niveis BB RB 4800K" #: src/olympusmn.cpp:948 msgid "WB RB Levels 5300K" msgstr "Niveis BB RB 5300K" #: src/olympusmn.cpp:948 msgid "WB RB levels 5300K" msgstr "Niveis BB RB 5300K" #: src/olympusmn.cpp:949 msgid "WB RB Levels 6000K" msgstr "Niveis BB RB 6000K" #: src/olympusmn.cpp:949 msgid "WB RB levels 6000K" msgstr "Niveis BB RB 6000K" #: src/olympusmn.cpp:950 msgid "WB RB Levels 6600K" msgstr "Niveis BB RB 6600K" #: src/olympusmn.cpp:950 msgid "WB RB levels 6600K" msgstr "Niveis BB RB 6600K" #: src/olympusmn.cpp:951 msgid "WB RB Levels 7500K" msgstr "Niveis BB RB 7500K" #: src/olympusmn.cpp:951 msgid "WB RB levels 7500K" msgstr "Niveis BB RB 7500K" #: src/olympusmn.cpp:952 msgid "WB RB Levels CWB1" msgstr "Niveis BB RB CWB1" #: src/olympusmn.cpp:952 msgid "WB RB levels CWB1" msgstr "Niveis BB RB CWB1" #: src/olympusmn.cpp:953 msgid "WB RB Levels CWB2" msgstr "Niveis BB RB CWB2" #: src/olympusmn.cpp:953 msgid "WB RB levels CWB2" msgstr "Niveis BB RB CWB2" #: src/olympusmn.cpp:954 msgid "WB RB Levels CWB3" msgstr "Niveis BB RB CWB3" #: src/olympusmn.cpp:954 msgid "WB RB levels CWB3" msgstr "Niveis BB RB CWB3" #: src/olympusmn.cpp:955 msgid "WB RB Levels CWB4" msgstr "Niveis BB RB CWB4" #: src/olympusmn.cpp:955 msgid "WB RB levels CWB4" msgstr "Niveis BB RB CWB4" #: src/olympusmn.cpp:956 msgid "WB G Level 3000K" msgstr "Nivel BB G 3000K" #: src/olympusmn.cpp:956 msgid "WB G level 3000K" msgstr "Nivel BB G 3000K" #: src/olympusmn.cpp:957 msgid "WB G Level 3300K" msgstr "Nivel BB G 3300K" #: src/olympusmn.cpp:957 msgid "WB G level 3300K" msgstr "Nivel BB G 3300K" #: src/olympusmn.cpp:958 msgid "WB G Level 3600K" msgstr "Nivel BB G 3600K" #: src/olympusmn.cpp:958 msgid "WB G level 3600K" msgstr "Nivel BB G 3600K" #: src/olympusmn.cpp:959 msgid "WB G Level 3900K" msgstr "Nivel BB G 3900K" #: src/olympusmn.cpp:959 msgid "WB G level 3900K" msgstr "Nivel BB G 3900K" #: src/olympusmn.cpp:960 msgid "WB G Level 4000K" msgstr "Nivel BB G 4000K" #: src/olympusmn.cpp:960 msgid "WB G level 4000K" msgstr "Nivel BB G 4000K" #: src/olympusmn.cpp:961 msgid "WB G Level 4300K" msgstr "Nivel BB G 4300K" #: src/olympusmn.cpp:961 msgid "WB G level 4300K" msgstr "Nivel BB G 4300K" #: src/olympusmn.cpp:962 msgid "WB G Level 4500K" msgstr "Nivel BB G 4500K" #: src/olympusmn.cpp:962 msgid "WB G level 4500K" msgstr "Nivel BB G 4500K" #: src/olympusmn.cpp:963 msgid "WB G Level 4800K" msgstr "Nivel BB G 4800K" #: src/olympusmn.cpp:963 msgid "WB G level 4800K" msgstr "Nivel BB G 4800K" #: src/olympusmn.cpp:964 msgid "WB G Level 5300K" msgstr "Nivel BB G 5300K" #: src/olympusmn.cpp:964 msgid "WB G level 5300K" msgstr "Nivel BB G 5300K" #: src/olympusmn.cpp:965 msgid "WB G Level 6000K" msgstr "Nivel BB G 6000K" #: src/olympusmn.cpp:965 msgid "WB G level 6000K" msgstr "Nivel BB G 6000K" #: src/olympusmn.cpp:966 msgid "WB G Level 6600K" msgstr "Nivel BB G 6600K" #: src/olympusmn.cpp:966 msgid "WB G level 6600K" msgstr "Nivel BB G 6600K" #: src/olympusmn.cpp:967 msgid "WB G Level 7500K" msgstr "Nivel BB G 7500K" #: src/olympusmn.cpp:967 msgid "WB G level 7500K" msgstr "Nivel BB G 7500K" #: src/olympusmn.cpp:968 msgid "WB G Level" msgstr "Nivel BB G" #: src/olympusmn.cpp:968 msgid "WB G level" msgstr "Nivel BB G" #: src/olympusmn.cpp:970 msgid "Enhancer" msgstr "Mellorador" #: src/olympusmn.cpp:971 msgid "Enhancer Values" msgstr "Valores do mellorador" #: src/olympusmn.cpp:971 msgid "Enhancer values" msgstr "Valores do mellorador" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring Filter" msgstr "Filtro de cor" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring Values" msgstr "Valor do contraste" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring values" msgstr "Valor do contraste" #: src/olympusmn.cpp:974 src/tags.cpp:915 msgid "Black Level" msgstr "Nivel de negro" #: src/olympusmn.cpp:975 msgid "Gain Base" msgstr "Ganancia base" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "Ganancia base" #: src/olympusmn.cpp:976 msgid "Valid Bits" msgstr "Bits válidos" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 msgid "Crop Left" msgstr "Recorte pola esquerda" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 msgid "Crop left" msgstr "Recorte pola esquerda" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 msgid "Crop Top" msgstr "Recotre por enriba" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 msgid "Crop top" msgstr "Recorte por enriba" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 msgid "Crop Width" msgstr "Recorte na largura" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 msgid "Crop width" msgstr "Recorte na largura" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 msgid "Crop Height" msgstr "Recorte na altura" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 msgid "Crop height" msgstr "Recorte na altura" #: src/olympusmn.cpp:984 msgid "Multiple Exposure Mode" msgstr "Modo de exposición múltiple" #: src/olympusmn.cpp:984 msgid "Multiple exposure mode" msgstr "Modo de exposición múltiple" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 msgid "Aspect Ratio" msgstr "Relación de aspecto" #: src/olympusmn.cpp:985 msgid "Aspect ratio" msgstr "Relación de aspecto" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect Frame" msgstr "Relación de aspecto" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect frame" msgstr "Relación de aspecto" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 msgid "Face Detect" msgstr "Detección da faciana" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 msgid "Face detect" msgstr "Detección da faciana" #: src/olympusmn.cpp:988 msgid "Face Detect Area" msgstr "Área de detección da faciana" #: src/olympusmn.cpp:988 msgid "Face detect area" msgstr "Área de detección da faciana" #: src/olympusmn.cpp:990 msgid "Unknown OlympusIp tag" msgstr "Etiqueta OlympusIp descoñecida" #: src/olympusmn.cpp:1000 msgid "Bounce or Off" msgstr "Rebotar ou apagar" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "Directo" #: src/olympusmn.cpp:1005 #, fuzzy msgid "Focus Info Version" msgstr "Versión da información do foco" #: src/olympusmn.cpp:1005 msgid "Focus info version" msgstr "Versión da información do foco" #: src/olympusmn.cpp:1006 msgid "Auto Focus" msgstr "Enfoque automático" #: src/olympusmn.cpp:1007 msgid "Scene Detect" msgstr "Detección de escena" #: src/olympusmn.cpp:1007 msgid "Scene detect" msgstr "Detección de escena" #: src/olympusmn.cpp:1008 msgid "Scene Area" msgstr "Área de escena" #: src/olympusmn.cpp:1008 msgid "Scene area" msgstr "Área de escena" #: src/olympusmn.cpp:1009 msgid "Scene Detect Data" msgstr "Datos de detección de escena" #: src/olympusmn.cpp:1009 msgid "Scene detect data" msgstr "Datos de detección de escena" #: src/olympusmn.cpp:1010 msgid "Zoom Step Count" msgstr "Contador de pasos do zoom" #: src/olympusmn.cpp:1011 msgid "Focus Step Count" msgstr "Contador de pasos do enfoque" #: src/olympusmn.cpp:1011 msgid "Focus step count" msgstr "Contador de pasos do enfoque" #: src/olympusmn.cpp:1012 msgid "Focus Step Infinity" msgstr "Paso de foco infinito" #: src/olympusmn.cpp:1012 msgid "Focus step infinity" msgstr "Paso de foco infinito" #: src/olympusmn.cpp:1013 msgid "Focus Step Near" msgstr "Paso de foco próximo" #: src/olympusmn.cpp:1013 msgid "Focus step near" msgstr "Paso de foco próximo" #: src/olympusmn.cpp:1016 msgid "External Flash" msgstr "Flash externo" #: src/olympusmn.cpp:1017 msgid "External Flash Guide Number" msgstr "Número de guía do flash externo" #: src/olympusmn.cpp:1017 msgid "External flash guide number" msgstr "Número de guía do flash externo" #: src/olympusmn.cpp:1021 msgid "Manual Flash" msgstr "Flash manual" #: src/olympusmn.cpp:1021 msgid "Manual flash" msgstr "Flash manual" #: src/olympusmn.cpp:1025 msgid "Unknown OlympusFi tag" msgstr "Etiqueta OlympusFi descoñecida" #: src/olympusmn.cpp:1036 msgid "Unknown OlympusFe tag" msgstr "Etiqueta OlympusFe descoñecida" #: src/olympusmn.cpp:1049 msgid "Fine Weather" msgstr "Bo tempo" #: src/olympusmn.cpp:1050 msgid "Tungsten (incandescent)" msgstr "Tungsteno (incandescente)" #: src/olympusmn.cpp:1051 msgid "Evening Sunlight" msgstr "Luz nocturna" #: src/olympusmn.cpp:1052 msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "Fluorescente luz de día (D 5700 - 7100K)" #: src/olympusmn.cpp:1053 msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "Fluorescente branco diúrno (N 4600 - 5400K)" #: src/olympusmn.cpp:1054 msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "Fluorescente branco frío (W 3900 - 4500K)" #: src/olympusmn.cpp:1055 msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "Fluorescente branco (WW 3200 - 3700K)" #: src/olympusmn.cpp:1056 msgid "One Touch White Balance" msgstr "Balance de brancos a un toque" #: src/olympusmn.cpp:1057 msgid "Custom 1-4" msgstr "Personalizado 1-4" #: src/olympusmn.cpp:1061 msgid "Raw Info Version" msgstr "Versión da información en bruto" #: src/olympusmn.cpp:1061 msgid "Raw info version" msgstr "Versión da información en bruto" #: src/olympusmn.cpp:1062 msgid "WB_RB Levels Used" msgstr "Niveis BB_RB usados" #: src/olympusmn.cpp:1062 msgid "WB_RB levels used" msgstr "Niveis BB_RB usados" #: src/olympusmn.cpp:1063 msgid "WB_RB Levels Auto" msgstr "Niveis BB_RB automaticos" #: src/olympusmn.cpp:1063 msgid "WB_RB levels auto" msgstr "Niveis BB_RB automaticos" #: src/olympusmn.cpp:1064 msgid "WB_RB Levels Shade" msgstr "Niveis BB_RB sombra" #: src/olympusmn.cpp:1064 msgid "WB_RB levels shade" msgstr "Niveis BB_RB sombra" #: src/olympusmn.cpp:1065 msgid "WB_RB Levels Cloudy" msgstr "Niveis BB_RB anubrado" #: src/olympusmn.cpp:1065 msgid "WB_RB levels cloudy" msgstr "Niveis BB_RB anubrado" #: src/olympusmn.cpp:1066 msgid "WB_RB Levels Fine Weather" msgstr "Niveis BB_RB bo tempo" #: src/olympusmn.cpp:1066 msgid "WB_RB levels fine weather" msgstr "Niveis BB_RB bo tempo" #: src/olympusmn.cpp:1067 msgid "WB_RB Levels Tungsten" msgstr "Niveis WB_RB tungsteno" #: src/olympusmn.cpp:1067 msgid "WB_RB levels tungsten" msgstr "Niveis WB_RB tungsteno" #: src/olympusmn.cpp:1068 msgid "WB_RB Levels Evening Sunlight" msgstr "Niveis BN_RB luz solar" #: src/olympusmn.cpp:1068 msgid "WB_RB levels evening sunlight" msgstr "Niveis BN_RB luz solar" #: src/olympusmn.cpp:1069 msgid "WB_RB Levels Daylight Fluor" msgstr "Niveis BN_RB fluorescente luz de día" #: src/olympusmn.cpp:1069 msgid "WB_RB levels daylight fluor" msgstr "Niveis BN_RB fluorescente luz de día" #: src/olympusmn.cpp:1070 msgid "WB_RB Levels Day White Fluor" msgstr "Niveis BN_RB fluorescente branco diúrno" #: src/olympusmn.cpp:1070 msgid "WB_RB levels day white fluor" msgstr "Niveis BN_RB fluorescente branco diúrno" #: src/olympusmn.cpp:1071 msgid "WB_RB Levels Cool White Fluor" msgstr "Niveis BN_RB fluorescente branco frío" #: src/olympusmn.cpp:1071 msgid "WB_RB levels cool white fluor" msgstr "Niveis BN_RB fluorescente branco frío" #: src/olympusmn.cpp:1072 msgid "WB_RB Levels White Fluorescent" msgstr "Niveis BN_RB fluorescente branco" #: src/olympusmn.cpp:1072 msgid "WB_RB levels white fluorescent" msgstr "Niveis BN_RB fluorescente branco" #: src/olympusmn.cpp:1073 msgid "Color Matrix2" msgstr "Matriz de cor 2" #: src/olympusmn.cpp:1073 msgid "Color matrix 2" msgstr "Matriz de cor 2" #: src/olympusmn.cpp:1076 msgid "Black Level 2" msgstr "Nivel de negro 2" #: src/olympusmn.cpp:1076 msgid "Black level 2" msgstr "Nivel de negro 2" #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 msgid "YCbCr Coefficients" msgstr "Coeficientes YCbCr" #: src/olympusmn.cpp:1077 msgid "YCbCr coefficients" msgstr "Coeficientes YCbCr" #: src/olympusmn.cpp:1078 msgid "Valid Pixel Depth" msgstr "Profundidade de píxel válida" #: src/olympusmn.cpp:1078 msgid "Valid pixel depth" msgstr "Profundidade de píxel válida" #: src/olympusmn.cpp:1084 msgid "White Balance Comp" msgstr "Compensación do balance de brancos" #: src/olympusmn.cpp:1084 msgid "White balance comp" msgstr "Compensación do balance de brancos" #: src/olympusmn.cpp:1085 msgid "Saturation Setting" msgstr "Axuste da saturación" #: src/olympusmn.cpp:1086 msgid "Hue Setting" msgstr "Axuste do matiz" #: src/olympusmn.cpp:1086 msgid "Hue setting" msgstr "Axuste do matiz" #: src/olympusmn.cpp:1089 msgid "CM Exposure Compensation" msgstr "Compensación da exposición CM" #: src/olympusmn.cpp:1089 msgid "CM exposure compensation" msgstr "Compensación da exposición CM" #: src/olympusmn.cpp:1090 msgid "CM White Balance" msgstr "Balance de brancos CM" #: src/olympusmn.cpp:1090 msgid "CM white balance" msgstr "Balance de brancos CM" #: src/olympusmn.cpp:1091 msgid "CM White Balance Comp" msgstr "Compensación do balance de brancos CM" #: src/olympusmn.cpp:1091 msgid "CM white balance comp" msgstr "Compensación do balance de brancos CM" #: src/olympusmn.cpp:1092 msgid "CM White Balance Gray Point" msgstr "Punto gris do balance de brancos CM" #: src/olympusmn.cpp:1092 msgid "CM white balance gray point" msgstr "Punto gris do balance de brancos CM" #: src/olympusmn.cpp:1093 msgid "CM Saturation" msgstr "Saturación CM" #: src/olympusmn.cpp:1093 msgid "CM saturation" msgstr "Saturación CM" #: src/olympusmn.cpp:1094 msgid "CM Hue" msgstr "Matiz CM" #: src/olympusmn.cpp:1094 msgid "CM hue" msgstr "Matiz CM" #: src/olympusmn.cpp:1095 msgid "CM Contrast" msgstr "Contraste CM" #: src/olympusmn.cpp:1095 msgid "CM contrast" msgstr "Contraste CM" #: src/olympusmn.cpp:1096 msgid "CM Sharpness" msgstr "Nitidez CM" #: src/olympusmn.cpp:1096 msgid "CM sharpness" msgstr "Nitidez CM" #: src/olympusmn.cpp:1098 msgid "Unknown OlympusRi tag" msgstr "Etiqueta OlympusRi descoñecida" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 msgid "User-Selected" msgstr "Seleccionado polo usuario" #: src/olympusmn.cpp:1122 msgid "Auto-Override" msgstr "Substituir automaticamente" #: src/olympusmn.cpp:1158 msgid "Fast" msgstr "Rápido" #: src/olympusmn.cpp:1223 msgid "3000 Kelvin" msgstr "3000 Kelvin" #: src/olympusmn.cpp:1224 msgid "3700 Kelvin" msgstr "3700 Kelvin" #: src/olympusmn.cpp:1225 msgid "4000 Kelvin" msgstr "4000 Kelvin" #: src/olympusmn.cpp:1226 msgid "4500 Kelvin" msgstr "4500 Kelvin" #: src/olympusmn.cpp:1227 msgid "5500 Kelvin" msgstr "5500 Kelvin" #: src/olympusmn.cpp:1228 msgid "6500 Kelvin" msgstr "6500 Kelvin" #: src/olympusmn.cpp:1229 msgid "7500 Kelvin" msgstr "7500 Kelvin" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "Un toque" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "S-EA" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "C-EA" #: src/olympusmn.cpp:1456 msgid "Imager AF" msgstr "Enfoque automático Imager" #: src/olympusmn.cpp:1457 msgid "AF sensor" msgstr "Sensor AF" #: src/olympusmn.cpp:1502 msgid "Soft Focus" msgstr "Foco suave" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "Arte Pop" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "Cor pálida e luminosa" #: src/olympusmn.cpp:1505 msgid "Light Tone" msgstr "Ton suave" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "Cámara estenopeica" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "Película granulada" #: src/olympusmn.cpp:1508 #, fuzzy msgid "Diorama" msgstr "Panorama" #: src/olympusmn.cpp:1509 msgid "Cross Process" msgstr "Proceso cruzado" #: src/olympusmn.cpp:1510 msgid "Fish Eye" msgstr "Ollo de peixe" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "Debuxo" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "" #: src/olympusmn.cpp:1513 #, fuzzy msgid "Pale & Light Color II" msgstr "Cor pálida e luminosa" #: src/olympusmn.cpp:1514 #, fuzzy msgid "Pop Art II" msgstr "Arte Pop" #: src/olympusmn.cpp:1515 #, fuzzy msgid "Pin Hole II" msgstr "Cámara estenopeica" #: src/olympusmn.cpp:1516 #, fuzzy msgid "Pin Hole III" msgstr "Cámara estenopeica" #: src/olympusmn.cpp:1517 #, fuzzy msgid "Grainy Film II" msgstr "Película granulada" #: src/olympusmn.cpp:1518 msgid "Dramatic Tone" msgstr "" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "" #: src/olympusmn.cpp:1520 #, fuzzy msgid "Soft Focus 2" msgstr "Foco suave" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "" #: src/olympusmn.cpp:1522 #, fuzzy msgid "Watercolor" msgstr "Cor natural" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "" #: src/olympusmn.cpp:1525 #, fuzzy msgid "Miniature" msgstr "Abertura mínima" #: src/olympusmn.cpp:1526 #, fuzzy msgid "Reflection" msgstr "Selección" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "" #: src/olympusmn.cpp:1528 #, fuzzy msgid "Cross Process II" msgstr "Proceso cruzado" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "" #: src/olympusmn.cpp:1530 #, fuzzy msgid "Watercolor I" msgstr "Cor natural" #: src/olympusmn.cpp:1531 #, fuzzy msgid "Watercolor II" msgstr "Cor natural" #: src/olympusmn.cpp:1532 msgid "Diorama II" msgstr "" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "" #: src/olympusmn.cpp:1534 msgid "Vintage II" msgstr "" #: src/olympusmn.cpp:1535 msgid "Vintage III" msgstr "" #: src/olympusmn.cpp:1536 #, fuzzy msgid "Partial Color" msgstr "Cor natural" #: src/olympusmn.cpp:1537 #, fuzzy msgid "Partial Color II" msgstr "Cor natural" #: src/olympusmn.cpp:1538 #, fuzzy msgid "Partial Color III" msgstr "Cor natural" #: src/olympusmn.cpp:1608 msgid "Left (or n/a)" msgstr "Esquerda (ou n/d)" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 msgid "Center (horizontal)" msgstr "Centro (horizontal)" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 msgid "Center (vertical)" msgstr "Centro (vertical)" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "Superior esquerda (horizontal)" #: src/olympusmn.cpp:1623 msgid "Top-center (horizontal)" msgstr "Superior centro (horizontal)" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "Superior dereita (horizontal)" #: src/olympusmn.cpp:1625 msgid "Left (horizontal)" msgstr "Esquerda (horizontal)" #: src/olympusmn.cpp:1626 msgid "Mid-left (horizontal)" msgstr "Centro-esquerda (horizontal)" #: src/olympusmn.cpp:1628 msgid "Mid-right (horizontal)" msgstr "Centro-dereita (horizontal)" #: src/olympusmn.cpp:1629 msgid "Right (horizontal)" msgstr "Dereita (horizontal)" #: src/olympusmn.cpp:1630 msgid "Bottom-left (horizontal)" msgstr "Abaixo-esquerda (horizontal)" #: src/olympusmn.cpp:1631 msgid "Bottom-center (horizontal)" msgstr "Abaixo-centro (horizontal)" #: src/olympusmn.cpp:1632 msgid "Bottom-right (horizontal)" msgstr "Abaixo-dereita (horizontal)" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "Arriba-esquerda (vertical)" #: src/olympusmn.cpp:1634 msgid "Top-center (vertical)" msgstr "Arriba-centro (vertical)" #: src/olympusmn.cpp:1635 msgid "Top-right (vertical)" msgstr "Arriba-dereita (vertical)" #: src/olympusmn.cpp:1636 msgid "Left (vertical)" msgstr "Eesquerda (vertical)" #: src/olympusmn.cpp:1637 msgid "Mid-left (vertical)" msgstr "Centro-esquerda (vertical)" #: src/olympusmn.cpp:1639 msgid "Mid-right (vertical)" msgstr "Certro-dereita (vertical)" #: src/olympusmn.cpp:1640 msgid "Right (vertical)" msgstr "Dereita (vertical)" #: src/olympusmn.cpp:1641 msgid "Bottom-left (vertical)" msgstr "Abaixo-esquerda (vertical)" #: src/olympusmn.cpp:1642 msgid "Bottom-center (vertical)" msgstr "Abaix-centro (vertical)" #: src/olympusmn.cpp:1643 msgid "Bottom-right (vertical)" msgstr "Abaixo-dereita (vertical)" #: src/olympusmn.cpp:1680 #, fuzzy msgid "Single Target" msgstr "Área única" #: src/olympusmn.cpp:1681 #, fuzzy msgid "All Target" msgstr "destino" #: src/olympusmn.cpp:1682 #, fuzzy msgid "Dynamic Single Target" msgstr "Axuste do rango dinámico" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "TIFF" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 msgid "Very High" msgstr "Moi alta" #: src/panasonicmn.cpp:60 msgid "Motion Picture" msgstr "Imaxe en movemento" #: src/panasonicmn.cpp:61 #, fuzzy msgid "Full HD Movie" msgstr "Filme pequeno" #: src/panasonicmn.cpp:62 #, fuzzy msgid "4k Movie" msgstr "Filme" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "Halóxeno" #: src/panasonicmn.cpp:83 msgid "Auto, focus button" msgstr "Auto, botón de enfoque" #: src/panasonicmn.cpp:84 msgid "Auto, continuous" msgstr "Auto, continuo" #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "AF-S" #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "AF-C" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 msgid "Panning" msgstr "Panorámica" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "Tele-macro" #: src/panasonicmn.cpp:104 #, fuzzy msgid "Macro-zoom" msgstr "Macro" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 msgid "Scenery" msgstr "Escena" #: src/panasonicmn.cpp:117 msgid "Shutter-speed priority" msgstr "Prioridade da velocidade de disparo" #: src/panasonicmn.cpp:121 msgid "Movie preview" msgstr "Vista previa do filme" #: src/panasonicmn.cpp:123 msgid "Simple" msgstr "Simple" #: src/panasonicmn.cpp:124 msgid "Color effects" msgstr "Efectos de cor" #: src/panasonicmn.cpp:130 msgid "Night scenery" msgstr "Escena nocturna" #: src/panasonicmn.cpp:132 msgid "Baby" msgstr "Bebé" #: src/panasonicmn.cpp:133 msgid "Soft skin" msgstr "Pel suave" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 msgid "Candlelight" msgstr "Luz de vela" #: src/panasonicmn.cpp:135 msgid "Starry night" msgstr "Noite estrelada" #: src/panasonicmn.cpp:136 msgid "High sensitivity" msgstr "Alta sensibilidade" #: src/panasonicmn.cpp:137 msgid "Panorama assist" msgstr "Asistente de panorama" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "Foto aérea" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 msgid "Intelligent ISO" msgstr "ISO intelixente" #: src/panasonicmn.cpp:144 msgid "Clipboard" msgstr "" #: src/panasonicmn.cpp:145 msgid "High speed continuous shooting" msgstr "Disparador continuo de alta velocidade" #: src/panasonicmn.cpp:146 #, fuzzy msgid "Intelligent auto" msgstr "Modo intelixente automático" #: src/panasonicmn.cpp:147 #, fuzzy msgid "Multi-aspect" msgstr "Puntos múltiples" #: src/panasonicmn.cpp:148 #, fuzzy msgid "Transform" msgstr "Rango de transferencia" #: src/panasonicmn.cpp:149 #, fuzzy msgid "Flash Burst" msgstr "Compensación do flash" #: src/panasonicmn.cpp:151 #, fuzzy msgid "Film Grain" msgstr "Escáner de filmes" #: src/panasonicmn.cpp:152 #, fuzzy msgid "My Color" msgstr "As miñas cores" #: src/panasonicmn.cpp:153 #, fuzzy msgid "Photo Frame" msgstr "Fotograma panorámico" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 #, fuzzy msgid "Handheld Night Shot" msgstr "Solpor manual" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 #, fuzzy msgid "Creative Control" msgstr "Control remoto" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 msgid "Digital Filter" msgstr "Filtro dixital" #: src/panasonicmn.cpp:162 #, fuzzy msgid "Clear Portrait" msgstr "Autoretrato" #: src/panasonicmn.cpp:163 msgid "Silky Skin" msgstr "" #: src/panasonicmn.cpp:164 msgid "Backlit Softness" msgstr "" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "" #: src/panasonicmn.cpp:166 #, fuzzy msgid "Relaxing Tone" msgstr "Relación" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "" #: src/panasonicmn.cpp:168 #, fuzzy msgid "Distinct Scenery" msgstr "Escena nocturna" #: src/panasonicmn.cpp:169 #, fuzzy msgid "Bright Blue Sky" msgstr "Valor do brillo" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "" #: src/panasonicmn.cpp:177 #, fuzzy msgid "Glittering Illuminations" msgstr "Iluminación da área AF" #: src/panasonicmn.cpp:178 #, fuzzy msgid "Clear Night Portrait" msgstr "Retrato nocturno" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "" #: src/panasonicmn.cpp:181 msgid "Cute Desert" msgstr "" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "" #: src/panasonicmn.cpp:183 msgid "Clear Sports Shot" msgstr "" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "" #: src/panasonicmn.cpp:198 msgid "Warm" msgstr "Cálido" #: src/panasonicmn.cpp:199 msgid "Cool" msgstr "Frío" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "" #: src/panasonicmn.cpp:208 msgid "Low/High quality" msgstr "Calidade alta/baixa" #: src/panasonicmn.cpp:209 msgid "Infinite" msgstr "Infinito" #: src/panasonicmn.cpp:217 msgid "Medium low" msgstr "Medio baixo" #: src/panasonicmn.cpp:218 msgid "Medium high" msgstr "Medio alto" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "Baixo (-1)" #: src/panasonicmn.cpp:229 msgid "High (+1)" msgstr "Alto (+1)" #: src/panasonicmn.cpp:230 msgid "Lowest (-2)" msgstr "Menor (-2)" #: src/panasonicmn.cpp:231 msgid "Highest (+2)" msgstr "Maior (+2)" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 #, fuzzy msgid "Rotate 180" msgstr "Rotar 90 SH" #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "" #: src/panasonicmn.cpp:254 #, fuzzy msgid "Disabled but Required" msgstr "Non requirido" #: src/panasonicmn.cpp:255 #, fuzzy msgid "Disabled and Not Required" msgstr "Non requirido" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "Óptica EX" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "Telefoto" #: src/panasonicmn.cpp:282 src/properties.cpp:915 msgid "Home" msgstr "Fogar" #: src/panasonicmn.cpp:294 msgid "Standard (color)" msgstr "Estándar (cor)" #: src/panasonicmn.cpp:295 msgid "Dynamic (color)" msgstr "Dinámico (cor)" #: src/panasonicmn.cpp:296 msgid "Nature (color)" msgstr "Natural (cor)" #: src/panasonicmn.cpp:297 msgid "Smooth (color)" msgstr "Suave (cor)" #: src/panasonicmn.cpp:298 msgid "Standard (B&W)" msgstr "Estándar (B e N)" #: src/panasonicmn.cpp:299 msgid "Dynamic (B&W)" msgstr "Dinámico (B e N)" #: src/panasonicmn.cpp:300 msgid "Smooth (B&W)" msgstr "Suave (B e N)" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "Vibrante" #: src/panasonicmn.cpp:307 #, fuzzy msgid "No Bracket" msgstr "Forcada" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:319 #, fuzzy msgid "1st" msgstr "10s" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "" #: src/panasonicmn.cpp:349 #, fuzzy msgid "Extended" msgstr "Extensor" #: src/panasonicmn.cpp:368 #, fuzzy msgid "NoAuto" msgstr "Automático" #: src/panasonicmn.cpp:369 #, fuzzy msgid "Standard or Custom" msgstr "Formulario estándar" #: src/panasonicmn.cpp:386 #, fuzzy msgid "Rotate CW" msgstr "Rotar 90 SH" #: src/panasonicmn.cpp:388 #, fuzzy msgid "Rotate CCW" msgstr "Rotar 90 SH" #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "" #: src/panasonicmn.cpp:396 #, fuzzy msgid "Left to Right" msgstr "De esquerda a dereita" #: src/panasonicmn.cpp:397 #, fuzzy msgid "Right to Left" msgstr "De dereita a esquerda" #: src/panasonicmn.cpp:398 #, fuzzy msgid "Top to Bottom" msgstr "De arriba a abaixo" #: src/panasonicmn.cpp:399 #, fuzzy msgid "Bottom to Top" msgstr "De abaixo a arriba" #: src/panasonicmn.cpp:405 #, fuzzy msgid "Time Lapse" msgstr "Hora de creación" #: src/panasonicmn.cpp:406 #, fuzzy msgid "Stop-Motion Animation" msgstr "Información de posición de foco AF" #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "" #: src/panasonicmn.cpp:423 #, fuzzy msgid "Electronic" msgstr "Selección" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "Son" #: src/panasonicmn.cpp:453 msgid "White balance adjustment" msgstr "Axuste de balance de brancos" #: src/panasonicmn.cpp:454 msgid "FlashBias" msgstr "Compensación do flash" #: src/panasonicmn.cpp:456 src/tags.cpp:194 msgid "Exif version" msgstr "Versión Exif" #: src/panasonicmn.cpp:458 msgid "Color Effect" msgstr "Efecto de cor" #: src/panasonicmn.cpp:458 msgid "Color effect" msgstr "Efecto de cor" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" "Tempo, en 1/100 de segundo, desde que a cámara foi acendida ata que a imaxe " "é gravada na tarxeta de memoria" #: src/panasonicmn.cpp:460 msgid "Burst Mode" msgstr "Modo raxada" #: src/panasonicmn.cpp:460 msgid "Burst mode" msgstr "Modo raxada" #: src/panasonicmn.cpp:463 msgid "NoiseReduction" msgstr "Redución de ruído" #: src/panasonicmn.cpp:464 msgid "Self Timer" msgstr "Temporizador" #: src/panasonicmn.cpp:467 #, fuzzy msgid "AF Assist Lamp" msgstr "Asistente do AF" #: src/panasonicmn.cpp:469 #, fuzzy msgid "Baby Age 1" msgstr "Idade do bebé" #: src/panasonicmn.cpp:469 #, fuzzy msgid "Baby (or pet) age 1" msgstr "Idade do bebé (ou mascota)" #: src/panasonicmn.cpp:470 msgid "Optical Zoom Mode" msgstr "Modo de zoom óptico" #: src/panasonicmn.cpp:470 msgid "Optical zoom mode" msgstr "Modo de zoom óptico" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "Día de viaxe" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "Día de viaxe" #: src/panasonicmn.cpp:474 msgid "World Time Location" msgstr "Localización de tempo universal" #: src/panasonicmn.cpp:474 msgid "World time location" msgstr "Localización de tempo universal" #: src/panasonicmn.cpp:475 #, fuzzy msgid "Text Stamp 1" msgstr "Marca GPS de tempo" #: src/panasonicmn.cpp:476 msgid "Program ISO" msgstr "Programa ISO" #: src/panasonicmn.cpp:477 #, fuzzy msgid "Advanced Scene Type" msgstr "Tipo de escena" #: src/panasonicmn.cpp:478 #, fuzzy msgid "Text Stamp 2" msgstr "Marca GPS de tempo" #: src/panasonicmn.cpp:479 #, fuzzy msgid "Faces detected" msgstr "Faciana detectada" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temp Kelvin" msgstr "Axuste da temperatura da cor" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temperatur in Kelvin" msgstr "Temperatura da cor" #: src/panasonicmn.cpp:484 #, fuzzy msgid "Bracket Settings" msgstr "En forcada" #: src/panasonicmn.cpp:485 msgid "WB Adjust AB" msgstr "Ajuste AB de balance de brancos" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "" "Balance de brancos AB. Un valor positivo representa un desprazamento cara ao " "azul" #: src/panasonicmn.cpp:486 msgid "WB Adjust GM" msgstr "Axuste GM do balance de brancos" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "" "Axuste GM do BB. Un valor positivo representa un desprazamento cara ao verde" #: src/panasonicmn.cpp:487 #, fuzzy msgid "Flash Curtain" msgstr "Información do flash" #: src/panasonicmn.cpp:488 #, fuzzy msgid "Long Shutter Noise Reduction" msgstr "Redución do ruído de alta exposición" #: src/panasonicmn.cpp:491 #, fuzzy msgid "AF Point Position" msgstr "Posición de foco AF" #: src/panasonicmn.cpp:492 #, fuzzy msgid "Face detection info" msgstr "Detección da faciana" #: src/panasonicmn.cpp:495 msgid "Accessory Type" msgstr "Tipo de accesorio" #: src/panasonicmn.cpp:495 msgid "Accessory type" msgstr "Tipo de accesorio" #: src/panasonicmn.cpp:496 #, fuzzy msgid "Accessory Serial Number" msgstr "Número de serie da lente" #: src/panasonicmn.cpp:497 #, fuzzy msgid "Transform 1" msgstr "Rango de transferencia" #: src/panasonicmn.cpp:498 #, fuzzy msgid "Intelligent Exposure" msgstr "Modo intelixente automático" #: src/panasonicmn.cpp:499 #, fuzzy msgid "Firmware Version of the Lens" msgstr "Versión do firmware" #: src/panasonicmn.cpp:500 #, fuzzy msgid "Face recognition info" msgstr "Recoñecemento de faciana do AF" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash Warning" msgstr "Aviso de foco" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash warning" msgstr "Medición do flash" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 msgid "Title" msgstr "Título" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby Name" msgstr "Idade do bebé" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby name (or pet name)" msgstr "Idade do bebé (ou mascota)" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 msgid "Location" msgstr "Lugar" #: src/panasonicmn.cpp:506 src/properties.cpp:441 msgid "State" msgstr "Estado" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "" #: src/panasonicmn.cpp:509 #, fuzzy msgid "Intelligent resolution" msgstr "Modo intelixente automático" #: src/panasonicmn.cpp:510 #, fuzzy msgid "Burst Speed" msgstr "Velocidade do obturador" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "" #: src/panasonicmn.cpp:511 #, fuzzy msgid "Intelligent Dynamic Range" msgstr "Rango dinámico de desenvolvemento" #: src/panasonicmn.cpp:512 #, fuzzy msgid "Clear Retouch" msgstr "Sen retoque" #: src/panasonicmn.cpp:513 #, fuzzy msgid "City2" msgstr "Cidade" #: src/panasonicmn.cpp:515 #, fuzzy msgid "Photo style" msgstr "Estilo da imaxe" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "" #: src/panasonicmn.cpp:518 msgid "Accelerometer X" msgstr "" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "" #: src/panasonicmn.cpp:519 msgid "Accelerometer Y" msgstr "" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "" #: src/panasonicmn.cpp:520 #, fuzzy msgid "Camera Orientation" msgstr "Orientación da imaxe" #: src/panasonicmn.cpp:521 #, fuzzy msgid "Roll Angle" msgstr "Ángulo de recorte" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "" #: src/panasonicmn.cpp:523 #, fuzzy msgid "Sweep Panorama Direction" msgstr "Dirección do panorama" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "" #: src/panasonicmn.cpp:525 #, fuzzy msgid "Timer Recording" msgstr "Gravación RAW+JPG" #: src/panasonicmn.cpp:526 #, fuzzy msgid "Internal ND Filter" msgstr "Interno + Externo" #: src/panasonicmn.cpp:528 #, fuzzy msgid "Shutter Type" msgstr "Velocidade do obturador" #: src/panasonicmn.cpp:529 #, fuzzy msgid "Clear Retouch Value" msgstr "Valor da abertura" #: src/panasonicmn.cpp:530 #, fuzzy msgid "TouchAE" msgstr "AF a un toque" #: src/panasonicmn.cpp:533 msgid "MakerNote Version" msgstr "Versión da nota do fabricante" #: src/panasonicmn.cpp:533 msgid "MakerNote version" msgstr "Versión da nota do fabricante" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB Red Level" msgstr "Nivel de vermello do BB" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB red level" msgstr "Nivel de vermello do BB" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB Green Level" msgstr "Nivel de verde do BB" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB green level" msgstr "Nivel de verde do BB" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB Blue Level" msgstr "Nivel de azul do BB" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB blue level" msgstr "Nivel de azul do BB" #: src/panasonicmn.cpp:539 #, fuzzy msgid "Text Stamp 3" msgstr "Marca GPS de tempo" #: src/panasonicmn.cpp:540 #, fuzzy msgid "Text Stamp 4" msgstr "Marca GPS de tempo" #: src/panasonicmn.cpp:541 #, fuzzy msgid "Baby Age 2" msgstr "Idade do bebé" #: src/panasonicmn.cpp:541 #, fuzzy msgid "Baby (or pet) age 2" msgstr "Idade do bebé (ou mascota)" #: src/panasonicmn.cpp:542 #, fuzzy msgid "Transform 2" msgstr "Rango de transferencia" #: src/panasonicmn.cpp:544 msgid "Unknown PanasonicMakerNote tag" msgstr "Etiqueta PanasonicMakerNote descoñecida" #: src/panasonicmn.cpp:562 msgid "Spot mode on or 9 area" msgstr "" #: src/panasonicmn.cpp:563 msgid "Spot mode off or 3-area (high speed)" msgstr "" #: src/panasonicmn.cpp:564 msgid "23-area" msgstr "" #: src/panasonicmn.cpp:565 #, fuzzy msgid "Spot focussing" msgstr "Enfoque puntual" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "" #: src/panasonicmn.cpp:568 #, fuzzy msgid "1-area (high speed)" msgstr "Recorte de alta velocidade" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "" #: src/panasonicmn.cpp:572 #, fuzzy msgid "3-area (right)" msgstr "Altura da aŕea AF" #: src/panasonicmn.cpp:574 #, fuzzy msgid "Spot Focusing 2" msgstr "Punto de enfoque X" #: src/panasonicmn.cpp:588 msgid " EV" msgstr " EV" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 #, fuzzy msgid "not set" msgstr "non estabelecido\n" #: src/panasonicmn.cpp:725 #, fuzzy msgid "Panasonic raw version" msgstr "Versión do firmware das lentes" #: src/panasonicmn.cpp:726 msgid "Sensor Width" msgstr "Largura do sensor" #: src/panasonicmn.cpp:726 msgid "Sensor width" msgstr "Largura do sensor" #: src/panasonicmn.cpp:727 msgid "Sensor Height" msgstr "Altura do sensor" #: src/panasonicmn.cpp:727 msgid "Sensor height" msgstr "Altura do sensor" #: src/panasonicmn.cpp:728 msgid "Sensor Top Border" msgstr "Bordo superior do sensor" #: src/panasonicmn.cpp:728 msgid "Sensor top border" msgstr "Bordo superior do sensor" #: src/panasonicmn.cpp:729 msgid "Sensor Left Border" msgstr "Bordo esquerdo do sensor" #: src/panasonicmn.cpp:729 msgid "Sensor left border" msgstr "Bordo esquerdo do sensor" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "Balance de vermellos (atopado en imaxes Digilux 2 RAW)" #: src/panasonicmn.cpp:739 src/tags.cpp:469 msgid "Manufacturer" msgstr "Fabricante" #: src/panasonicmn.cpp:739 msgid "The manufacturer of the recording equipment" msgstr "O fabricante do equipamento de gravación" #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 msgid "Model" msgstr "Modelo" #: src/panasonicmn.cpp:740 msgid "The model name or model number of the equipment" msgstr "O nome ou número do modelo do equipamento" #: src/panasonicmn.cpp:741 src/tags.cpp:481 #, fuzzy msgid "Strip Offsets" msgstr "Desprazamentos do mosaico" #: src/panasonicmn.cpp:741 #, fuzzy msgid "Strip offsets" msgstr "Desprazamentos da captura" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 msgid "Orientation" msgstr "Orientación" #: src/panasonicmn.cpp:743 #, fuzzy msgid "Rows Per Strip" msgstr "Filas por tira" #: src/panasonicmn.cpp:743 #, fuzzy msgid "The number of rows per strip" msgstr "O número de golpes" #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip Byte Counts" msgstr "Cantidade de bytes por tira" #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip byte counts" msgstr "Cantidade de bytes por tira" #: src/panasonicmn.cpp:745 #, fuzzy msgid "Raw Data Offset" msgstr "Desprazamento VRD" #: src/panasonicmn.cpp:745 #, fuzzy msgid "Raw data offset" msgstr "Desprazamento da área da imaxe" #: src/panasonicmn.cpp:746 src/tags.cpp:797 msgid "Exif IFD Pointer" msgstr "Punteiro Exif IFD" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "Un punteiro para o IFD de Exif" #: src/panasonicmn.cpp:747 src/tags.cpp:808 msgid "GPS Info IFD Pointer" msgstr "Punteiro de información IFD do GPS" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "Un punteiro de información IFD do GPS" #: src/panasonicmn.cpp:749 msgid "Unknown PanasonicRaw tag" msgstr "Etiqueta PanasonicRaw descoñecida" #: src/pentaxmn.cpp:57 msgid "Night-Scene" msgstr "Escena nocturna" #: src/pentaxmn.cpp:199 msgid "Good" msgstr "Bo" #: src/pentaxmn.cpp:200 msgid "Better" msgstr "Mellor" #: src/pentaxmn.cpp:201 msgid "Best" msgstr "O mellor" #: src/pentaxmn.cpp:204 msgid "Premium" msgstr "Premium" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "2560x1920 ou 2304x1728" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "2304x1728 ou 2592x1944" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "2816x2212 ou 2816x2112" #: src/pentaxmn.cpp:247 msgid "Auto, Did not fire" msgstr "Automático. Non se disparou o flash." #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 #, fuzzy msgid "Off, Did not fire" msgstr "Non disparou." #: src/pentaxmn.cpp:250 msgid "Auto, Did not fire, Red-eye reduction" msgstr "Automático. Non se disparou o flash, redución de ollos vermellos." #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:252 msgid "Auto, Fired" msgstr "Automático. Disparado" #: src/pentaxmn.cpp:253 #, fuzzy msgid "On, Fired" msgstr "Disparado" #: src/pentaxmn.cpp:254 msgid "Auto, Fired, Red-eye reduction" msgstr "Automático, disparado, redución de ollos vermellos." #: src/pentaxmn.cpp:255 msgid "On, Red-eye reduction" msgstr "Acendido, redución de ollos vermellos." #: src/pentaxmn.cpp:256 msgid "On, Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:257 msgid "On, Wireless (Control)" msgstr "" #: src/pentaxmn.cpp:258 msgid "On, Soft" msgstr "Ancendido, suave" #: src/pentaxmn.cpp:259 msgid "On, Slow-sync" msgstr "Ancendido, sincronización lenta" #: src/pentaxmn.cpp:260 msgid "On, Slow-sync, Red-eye reduction" msgstr "Ancendido, sincronización lenta, redución de ollos vermellos." #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "Acendido, sincronizacion da cortinilla traseira" #: src/pentaxmn.cpp:272 msgid "Pan Focus" msgstr "Enfoque panorámico" #: src/pentaxmn.cpp:275 msgid "AF-A" msgstr "AF-A" #: src/pentaxmn.cpp:276 #, fuzzy msgid "Contrast-detect" msgstr "Detección de contraste AF" #: src/pentaxmn.cpp:277 #, fuzzy msgid "Tracking Contrast-detect" msgstr "Detección de contraste AF" #: src/pentaxmn.cpp:284 msgid "Fixed Center" msgstr "Fixado no centro" #: src/pentaxmn.cpp:285 msgid "Automatic Tracking AF" msgstr "Seguimento automático do AF" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "Recoñecemento de faciana do AF" #: src/pentaxmn.cpp:287 #, fuzzy msgid "AF Select" msgstr "Selección" #: src/pentaxmn.cpp:305 msgid "Fixed Center or multiple" msgstr "Fixado no centro ou múltiple" #: src/pentaxmn.cpp:307 msgid "Top-center" msgstr "Arriba-centro" #: src/pentaxmn.cpp:313 msgid "Bottom-center" msgstr "Abaixo-centro" #: src/pentaxmn.cpp:402 #, fuzzy msgid "Multi Segment" msgstr "Multisegmento" #: src/pentaxmn.cpp:403 #, fuzzy msgid "Center Weighted" msgstr "Peso centrado" #: src/pentaxmn.cpp:415 msgid "DaylightFluorescent" msgstr "Fluorescente luz de día" #: src/pentaxmn.cpp:416 msgid "DaywhiteFluorescent" msgstr "Fluorescente branco diúrno" #: src/pentaxmn.cpp:417 msgid "WhiteFluorescent" msgstr "Fluorescente branco" #: src/pentaxmn.cpp:420 #, fuzzy msgid "Color Temperature Enhancement" msgstr "Axuste da temperatura da cor" #: src/pentaxmn.cpp:423 msgid "User Selected" msgstr "Seleccionado polo usuario" #: src/pentaxmn.cpp:428 msgid "Auto (Daylight)" msgstr "Auto (luz diúrna)" #: src/pentaxmn.cpp:429 msgid "Auto (Shade)" msgstr "Auto (sombra)" #: src/pentaxmn.cpp:430 msgid "Auto (Flash)" msgstr "Auto (flash)" #: src/pentaxmn.cpp:431 msgid "Auto (Tungsten)" msgstr "Auto (tungsteno)" #: src/pentaxmn.cpp:432 #, fuzzy msgid "Auto (DaylightFluorescent)" msgstr "Auto (flourescente branco diúrno)" #: src/pentaxmn.cpp:433 msgid "Auto (DaywhiteFluorescent)" msgstr "Auto (flourescente branco diúrno)" #: src/pentaxmn.cpp:434 msgid "Auto (WhiteFluorescent)" msgstr "Auto (fluourescente branco)" #: src/pentaxmn.cpp:435 msgid "Auto (Cloudy)" msgstr "Auto (anubrado)" #: src/pentaxmn.cpp:437 msgid "Preset (Fireworks?)" msgstr "Predef. (fogos de artificio?)" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 msgid "Med Low" msgstr "Medio baixa" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 msgid "Med High" msgstr "Medio alta" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "-4" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "+4" #: src/pentaxmn.cpp:473 msgid "Med Soft" msgstr "Medio suave" #: src/pentaxmn.cpp:474 msgid "Med Hard" msgstr "Medio dura" #: src/pentaxmn.cpp:475 msgid "Very Soft" msgstr "Moi suave" #: src/pentaxmn.cpp:476 msgid "Very Hard" msgstr "Moi dura" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 #, fuzzy msgid "Home town" msgstr "Cidade de procedencia" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "Pago Pago" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "Honolulú" #: src/pentaxmn.cpp:491 msgid "Anchorage" msgstr "Anchorage" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "Vancouver" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "San Francisco" #: src/pentaxmn.cpp:494 msgid "Los Angeles" msgstr "Os Ánxeles" #: src/pentaxmn.cpp:495 msgid "Calgary" msgstr "Calgari" #: src/pentaxmn.cpp:496 msgid "Denver" msgstr "Denver" #: src/pentaxmn.cpp:497 msgid "Mexico City" msgstr "Cidade de México" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "Chicago" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "Miami" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "Toronto" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "Nova Iorque" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "Santiago" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "Caracas" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "Halifax" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "Bos Aires" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "São Paulo" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "Rio de Janeiro" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "Madrid" #: src/pentaxmn.cpp:509 msgid "London" msgstr "Londres" #: src/pentaxmn.cpp:510 msgid "Paris" msgstr "Paris" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "Milan" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "Rome" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "Berlín" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "Iohanesburgo" #: src/pentaxmn.cpp:515 msgid "Istanbul" msgstr "Istambul" #: src/pentaxmn.cpp:516 msgid "Cairo" msgstr "O Cairo" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "Xerusalem" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "Moscova" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "Jeddah" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "Therán" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "Dubai" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "Carachi" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "Cabul" #: src/pentaxmn.cpp:524 msgid "Male" msgstr "Male" #: src/pentaxmn.cpp:525 msgid "Delhi" msgstr "Deli" #: src/pentaxmn.cpp:526 msgid "Colombo" msgstr "Colombo" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "Catmandú" #: src/pentaxmn.cpp:528 msgid "Dacca" msgstr "Dacca" #: src/pentaxmn.cpp:529 msgid "Yangon" msgstr "Iangon" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "Bangkok" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "Quala Lumpur" #: src/pentaxmn.cpp:532 msgid "Vientiane" msgstr "Vientiane" #: src/pentaxmn.cpp:533 msgid "Singapore" msgstr "Singapura" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "Phnom Penh" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "Ho Chi Minh" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "Xakarta" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "Hong Kong" #: src/pentaxmn.cpp:538 msgid "Perth" msgstr "Perth" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "Beixín" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "Shanghai" #: src/pentaxmn.cpp:541 msgid "Manila" msgstr "Manila" #: src/pentaxmn.cpp:542 msgid "Taipei" msgstr "Taipei" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "Seul" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "Adelaida" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "Toquio" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "Guam" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "Sidney" #: src/pentaxmn.cpp:548 msgid "Noumea" msgstr "Noumea" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "Wellington" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "Auckland" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "Lima" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "Dacar" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "Alxeria" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "Helsinqui" #: src/pentaxmn.cpp:555 msgid "Athens" msgstr "Atenas" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "Nairobi" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "Amsterdam" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "Estocolmo" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "Lisboa" #: src/pentaxmn.cpp:560 msgid "Copenhagen" msgstr "Copenhagen" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "" #: src/pentaxmn.cpp:568 msgid "Unprocessed" msgstr "Non procesado" #: src/pentaxmn.cpp:570 #, fuzzy msgid "Resized" msgstr "tamaño" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 msgid "Cropped" msgstr "Recortado" #: src/pentaxmn.cpp:573 #, fuzzy msgid "Digital Filter 6" msgstr "Filtro dixital" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "¿Síntesis de marco?" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 msgid "Hi-speed Program" msgstr "Programa de alta velocidade" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 msgid "DOF Program" msgstr "Programa DOF" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 msgid "MTF Program" msgstr "Programa MTF" #: src/pentaxmn.cpp:588 msgid "Night Scene Portrait" msgstr "Retrato de escena nocturna" #: src/pentaxmn.cpp:589 msgid "No Flash" msgstr "Sen flash" #: src/pentaxmn.cpp:592 msgid "Surf & Snow" msgstr "Surf e neve" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "Pícaros" #: src/pentaxmn.cpp:600 msgid "Stage Lighting" msgstr "Iluminación de escenario" #: src/pentaxmn.cpp:601 #, fuzzy msgid "Night Snap" msgstr "Instantánea nocturna" #: src/pentaxmn.cpp:602 #, fuzzy msgid "Blue Sky" msgstr "Azul" #: src/pentaxmn.cpp:604 #, fuzzy msgid "Night Scene HDR" msgstr "Escena nocturna" #: src/pentaxmn.cpp:606 #, fuzzy msgid "Quick Macro" msgstr "Super macro" #: src/pentaxmn.cpp:607 #, fuzzy msgid "Forest" msgstr "Fluorescente" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "" #: src/pentaxmn.cpp:610 msgid "Auto PICT (Standard)" msgstr "Auto PICT (estándar)" #: src/pentaxmn.cpp:611 msgid "Auto PICT (Portrait)" msgstr "Auto PICT (retrato)" #: src/pentaxmn.cpp:612 msgid "Auto PICT (Landscape)" msgstr "Auto PICT (paisaxe)" #: src/pentaxmn.cpp:613 msgid "Auto PICT (Macro)" msgstr "Auto PICT (macro)" #: src/pentaxmn.cpp:614 msgid "Auto PICT (Sport)" msgstr "Auto PICT (deporte)" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 msgid "Green Mode" msgstr "Modo verde" #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 msgid "Shutter Speed Priority" msgstr "Prioridade da velocidade de disparo" #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 msgid "Aperture Priority" msgstr "Prioridad da abertura" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "Lámpada" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "" #: src/pentaxmn.cpp:631 msgid "Program Tv Shift" msgstr "Cambio de programa Tv" #: src/pentaxmn.cpp:632 msgid "Program Av Shift" msgstr "Cambio de programa Av" #: src/pentaxmn.cpp:635 msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "Prioridade da abertura (abertura automática apagada)" #: src/pentaxmn.cpp:636 msgid "Manual (Off-Auto-Aperture)" msgstr "Manual (abertura automática apagada)" #: src/pentaxmn.cpp:637 msgid "Bulb (Off-Auto-Aperture)" msgstr "Lámpada (abertura automática apagada)" #: src/pentaxmn.cpp:639 msgid "Shutter Priority" msgstr "Prioridade do disparo" #: src/pentaxmn.cpp:640 msgid "Shutter & Aperture Priority AE" msgstr "Disparo e prioridade de abertura AE" #: src/pentaxmn.cpp:641 msgid "Shutter & Aperture Priority AE (1)" msgstr "Disparo e prioridade de abertura AE (1)" #: src/pentaxmn.cpp:642 msgid "Sensitivity Priority AE" msgstr "Prioridade da sensibilidade AE" #: src/pentaxmn.cpp:643 msgid "Sensitivity Priority AE (1)" msgstr "Prioridade da sensibilidade AE (1)" #: src/pentaxmn.cpp:644 msgid "Flash X-Sync Speed AE" msgstr "Velocidade AE Flash X-Sync" #: src/pentaxmn.cpp:645 msgid "Flash X-Sync Speed AE (1)" msgstr "Velocidade AE Flash X-Sync" #: src/pentaxmn.cpp:646 #, fuzzy msgid "Auto Program (Normal)" msgstr "Programa (P)" #: src/pentaxmn.cpp:647 msgid "Auto Program (Hi-Speed)" msgstr "" #: src/pentaxmn.cpp:648 #, fuzzy msgid "Auto Program (DOF)" msgstr "Programa (P)" #: src/pentaxmn.cpp:649 #, fuzzy msgid "Auto Program (MTF)" msgstr "Programa (P)" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "" #: src/pentaxmn.cpp:651 #, fuzzy msgid "Blur control" msgstr "Control de cor" #: src/pentaxmn.cpp:654 msgid "Video (30 fps)" msgstr "Vídeo (30 fps)" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "Vídeo (24 fps)" #: src/pentaxmn.cpp:662 msgid "Continuous (Hi)" msgstr "Continuo (Alto)" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 msgid "Burst" msgstr "Raxada" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 msgid "Video" msgstr "Vídeo" #: src/pentaxmn.cpp:666 msgid "Self-timer (12 sec)" msgstr "Temporizador (12 sec)" #: src/pentaxmn.cpp:667 msgid "Self-timer (2 sec)" msgstr "Temporizador (2 sec)" #: src/pentaxmn.cpp:669 #, fuzzy msgid "Mirror Lock-up" msgstr "Bloqueo do espello" #: src/pentaxmn.cpp:670 msgid "Remote Control (3 sec)" msgstr "Control remoto (3 seg.)" #: src/pentaxmn.cpp:671 msgid "Remote Control" msgstr "Control remoto" #: src/pentaxmn.cpp:672 #, fuzzy msgid "Remote Continuous Shooting" msgstr "Disparador continuo de alta velocidade" #: src/pentaxmn.cpp:675 #, fuzzy msgid "HDR Strong 1" msgstr "Forte" #: src/pentaxmn.cpp:676 #, fuzzy msgid "HDR Strong 2" msgstr "Forte" #: src/pentaxmn.cpp:677 #, fuzzy msgid "HDR Strong 3" msgstr "Forte" #: src/pentaxmn.cpp:678 #, fuzzy msgid "HDR Auto" msgstr "Automático" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "M-42 ou sen lentes" #: src/pentaxmn.cpp:691 #, fuzzy msgid "K or M Lens" msgstr "M-42 ou sen lentes" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "Lentes serie A" #: src/pentaxmn.cpp:970 msgid "Bright" msgstr "Brillante" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "Filme reversíbel" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "" #: src/pentaxmn.cpp:990 msgid "Weakest" msgstr "Máis feble" #: src/pentaxmn.cpp:991 msgid "Weak" msgstr "Feble" #: src/pentaxmn.cpp:992 msgid "Strong" msgstr "Forte" #: src/pentaxmn.cpp:1112 msgid "No extended bracketing" msgstr "Sen forcada estendida" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "BB-BA" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "BB-GM" #: src/pentaxmn.cpp:1133 msgid "Unknown " msgstr "Descoñecido " #: src/pentaxmn.cpp:1146 msgid "Pentax Makernote version" msgstr "Versión da nota do fabricante Pentax" #: src/pentaxmn.cpp:1149 msgid "Camera shooting mode" msgstr "Modo de disparo da cámara" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 msgid "Resolution of a preview image" msgstr "Resolución da vista previa dunha imaxe" #: src/pentaxmn.cpp:1154 msgid "Length of a preview image" msgstr "Lonxitude da vista previa dunha imaxe" #: src/pentaxmn.cpp:1155 msgid "Size of an IFD containing a preview image" msgstr "Tamaño dun IFD que conten unha vista previa da imaxe" #: src/pentaxmn.cpp:1160 msgid "Model identification" msgstr "Identificación do modelo" #: src/pentaxmn.cpp:1161 #, fuzzy msgid "Pentax model identification" msgstr "Identificación de modelo Pentax" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 msgid "Date" msgstr "Data" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 msgid "Time" msgstr "Hora" #: src/pentaxmn.cpp:1170 msgid "Image quality settings" msgstr "Axustes da calidade da imaxe" #: src/pentaxmn.cpp:1173 msgid "Image size settings" msgstr "Axustes do tamaño da imaxe" #: src/pentaxmn.cpp:1177 msgid "Flash mode settings" msgstr "Axustes do modo do flash" #: src/pentaxmn.cpp:1180 msgid "Focus mode settings" msgstr "Axustes do modo do enfoque" #: src/pentaxmn.cpp:1183 msgid "Selected AF point" msgstr "Punto AF seleccionado" #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 msgid "AF point in focus" msgstr "Punto AF en foco" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 msgid "F-Number" msgstr "Número F" #: src/pentaxmn.cpp:1195 msgid "ISO sensitivity" msgstr "Sensibilidade ISO" #: src/pentaxmn.cpp:1196 msgid "ISO sensitivity settings" msgstr "Axustes da sensibilidade ISO" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 msgid "MeteringMode" msgstr "Modo de medición" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 msgid "AutoBracketing" msgstr "Forcada automática" #: src/pentaxmn.cpp:1216 msgid "Blue color balance" msgstr "Balance de cor azul" #: src/pentaxmn.cpp:1219 msgid "Red color balance" msgstr "Balance de cor vermello" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 msgid "FocalLength" msgstr "Lonxitude focal" #: src/pentaxmn.cpp:1239 msgid "Hometown" msgstr "Cidade de procedencia" #: src/pentaxmn.cpp:1245 msgid "Hometown DST" msgstr "DST (horario de verán) na cidade de procedencia" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "Se o horario de verán (DST) está activo na cidade de procedencia" #: src/pentaxmn.cpp:1248 msgid "Destination DST" msgstr "DST (horario de verán) no destino" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "Se o horario de verán (DST) está activo no destino" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 msgid "DSPFirmwareVersion" msgstr "VertsiónFirmwareDSP" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 msgid "CPUFirmwareVersion" msgstr "VertsiónFirmwareCPU" #: src/pentaxmn.cpp:1261 msgid "Light value" msgstr "Valor da luz" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "" "A cámara calculou o valor da luz, incluída a compensación por exposición" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 msgid "Image area offset" msgstr "Desprazamento da área da imaxe" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 msgid "Raw image size" msgstr "Tamaño da imaxe RAW" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 msgid "Preview image borders" msgstr "Bordos da imaxe previa" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 msgid "Sensitivity adjust" msgstr "Axuste de sensibilidade" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 msgid "Digital filter" msgstr "Filtro dixital" #: src/pentaxmn.cpp:1299 msgid "Camera temperature" msgstr "Temperatura da cámara" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 msgid "Image tone" msgstr "Ton da imaxe" #: src/pentaxmn.cpp:1319 msgid "Shake reduction" msgstr "Redución da vibración" #: src/pentaxmn.cpp:1320 msgid "Shake reduction information" msgstr "Información da redución da vibración" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 msgid "Dynamic range expansion" msgstr "Rango dinámico de expansión" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 msgid "High ISO noise reduction" msgstr "Redución de ruído ISO alta" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 msgid "AF Adjustment" msgstr "Axuste do AF" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 msgid "Black point" msgstr "Punto negro" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 msgid "White point" msgstr "Punto branco" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 msgid "ShotInfo" msgstr "Información do disparo" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 msgid "AEInfo" msgstr "Información do AE" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 msgid "LensInfo" msgstr "Información da lente" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 msgid "FlashInfo" msgstr "Información do flash" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 msgid "AEMeteringSegments" msgstr "Segmentos de medición AE" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 msgid "FlashADump" msgstr "Envorcado flash A" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 msgid "FlashBDump" msgstr "Envorcado flash B" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 msgid "WB_RGGBLevelsDaylight" msgstr "Niveis da luz de día BB_RGGB" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 msgid "WB_RGGBLevelsShade" msgstr "Niveis de sombra BB_RGGB" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 msgid "WB_RGGBLevelsCloudy" msgstr "Niveis de anubrado BB_RGGB" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 msgid "WB_RGGBLevelsTungsten" msgstr "Niveis de tungsteno WB_RGGB" #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 msgid "WB_RGGBLevelsFluorescentD" msgstr "Niveis de fluorescentes D BB_RGGB" #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 msgid "WB_RGGBLevelsFluorescentN" msgstr "Niveis de fluorescentes N BB_RGGB" #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 msgid "WB_RGGBLevelsFluorescentW" msgstr "Niveis de fluorescentes W BB_RGGB" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 msgid "WB_RGGBLevelsFlash" msgstr "Niveis de flash BB_RGGB" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 msgid "CameraInfo" msgstr "Info da cámara" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 msgid "BatteryInfo" msgstr "Info da batería" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 msgid "AFInfo" msgstr "Info do AF" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 msgid "ColorInfo" msgstr "Info da cor" #: src/pentaxmn.cpp:1405 msgid "Unknown PentaxMakerNote tag" msgstr "Etiqueta PentaxMakerNote descoñecida" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "Esquena Dublin Core" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "Esquema do xestor de fotos digiKam" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "Esquema da interface do programa de imaxe de KDE" #: src/properties.cpp:113 msgid "XMP Basic schema" msgstr "Esquema básico XMP" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "Esquema de xestión de dereitos XMP" #: src/properties.cpp:115 msgid "XMP Media Management schema" msgstr "Esquema de xestión de medios XMP" #: src/properties.cpp:116 msgid "XMP Basic Job Ticket schema" msgstr "Esquema básico de fichas de traballo XMP" #: src/properties.cpp:117 msgid "XMP Paged-Text schema" msgstr "Esquema XMP de páxinado de texto" #: src/properties.cpp:118 msgid "XMP Dynamic Media schema" msgstr "Esquema de medios dinámicos XMP" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "Esquema de fotos Microsoft" #: src/properties.cpp:120 #, fuzzy msgid "Adobe Lightroom schema" msgstr "Esquema Adobe photoshop" #: src/properties.cpp:121 msgid "Adobe PDF schema" msgstr "Esquema Adobe PDF" #: src/properties.cpp:122 msgid "Adobe photoshop schema" msgstr "Esquema Adobe photoshop" #: src/properties.cpp:123 msgid "Camera Raw schema" msgstr "Esquema RAW de cámara" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "Propiedades do esquema Exif para TIFF" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "Esquema Exif para as propiedades específicas de Exif" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "Esquema Exif para as propiedades adicionais de Exif" #: src/properties.cpp:127 src/properties.cpp:128 msgid "IPTC Core schema" msgstr "Esquema IPTC Core" #: src/properties.cpp:129 src/properties.cpp:130 msgid "IPTC Extension schema" msgstr "Esquema da Extensión IPTC" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "Esquema do formato de datos de licenza PLUS" #: src/properties.cpp:132 msgid "iView Media Pro schema" msgstr "Esquema iView Media Pro" #: src/properties.cpp:133 msgid "Expression Media schema" msgstr "Esquema Expression Media" #: src/properties.cpp:134 #, fuzzy msgid "Microsoft Photo 1.2 schema" msgstr "Esquema de fotos Microsoft" #: src/properties.cpp:135 #, fuzzy msgid "Microsoft Photo RegionInfo schema" msgstr "Esquema de fotos Microsoft" #: src/properties.cpp:136 #, fuzzy msgid "Microsoft Photo Region schema" msgstr "Esquema de fotos Microsoft" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "" #: src/properties.cpp:138 msgid "Metadata Working Group Keywords schema" msgstr "" #: src/properties.cpp:139 #, fuzzy msgid "XMP Extended Video schema" msgstr "Esquema da Extensión IPTC" #: src/properties.cpp:140 #, fuzzy msgid "XMP Extended Audio schema" msgstr "Esquema da Extensión IPTC" #: src/properties.cpp:141 #, fuzzy msgid "XMP Darwin Core schema" msgstr "Esquena Dublin Core" #: src/properties.cpp:142 #, fuzzy msgid "Qualified Dublin Core schema" msgstr "Esquena Dublin Core" #: src/properties.cpp:143 #, fuzzy msgid "ACDSee XMP schema" msgstr "Esquema Adobe PDF" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "" #: src/properties.cpp:148 msgid "Colorant structure" msgstr "Estrutura do colorante" #: src/properties.cpp:149 msgid "Dimensions structure" msgstr "Estrutura das dimensións" #: src/properties.cpp:150 msgid "Font structure" msgstr "Estrutura do tipo de letra" #: src/properties.cpp:151 msgid "Thumbnail structure" msgstr "Estructura da miniatura" #: src/properties.cpp:152 msgid "Resource Event structure" msgstr "Estructura da acción do recurso" #: src/properties.cpp:153 msgid "ResourceRef structure" msgstr "Estrutura ResourceRef" #: src/properties.cpp:154 msgid "Version structure" msgstr "Estrutura da versión" #: src/properties.cpp:155 msgid "Basic Job/Workflow structure" msgstr "Estructura básica de traballo/fluxo de traballo" #: src/properties.cpp:156 #, fuzzy msgid "Area structure" msgstr "Estrutura do colorante" #: src/properties.cpp:159 msgid "Qualifier for xmp:Identifier" msgstr "Cualificador para xmp:Identifier" #: src/properties.cpp:163 msgid "Contributor" msgstr "Colaborador" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "Colaboradores do recurso (ademais dos autores)." #: src/properties.cpp:164 msgid "Coverage" msgstr "Cobertura" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" "O asunto espacial ou temporal do recurso, a aplicabilidade espacial do " "recurso, ou a xurisdición baixo a que o recurso é relevante." #: src/properties.cpp:166 msgid "Creator" msgstr "Creador" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "" "Os autores do recurso (enumerados en orde de prioridade, de seren " "significativo)." #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "Data(s) na(s) que aconteceu algo importante no recurso." #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" "Unha descrición textual do contido do recurso. Pode haber valores para cada " "idioma." #: src/properties.cpp:170 src/properties.cpp:1160 msgid "Format" msgstr "Formato" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" "O formato do ficheiro cando se garda o recurso. Os aplicativos e ferramentas " "deben estabelecer esta propiedade de gardado de formato da información. Pode " "incluír cualificadores axeitados." #: src/properties.cpp:172 src/properties.cpp:228 msgid "Identifier" msgstr "Identificador" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" "Identificador único do recurso. Recomendase identificar o recurso mediante " "unha cadea que se axuste a un sistema de identificación convencional." #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "Unha matriz desordenada especificando os idiomas usados no recurso." #: src/properties.cpp:175 msgid "Publisher" msgstr "Editor" #: src/properties.cpp:175 msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" "Unha entidade responsábel de facer que os recursos estean dispoñíbeis. Como " "exemplo dun editor inclúese a unha persoa, unha organización ou un servizo. " "Normalmente o nome do editor debe empregarse para indicar á entidade." #: src/properties.cpp:178 msgid "Relation" msgstr "Relación" #: src/properties.cpp:178 msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" "Relacións con outros documentos. Recomendase, como boa práctica, identificar " "o recurso mediante unha cadea que se axuste a un sistema de identificación " "convencional" #: src/properties.cpp:180 msgid "Rights" msgstr "Dereitos" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" "Declaración informal de dereitos, seleccionado por idioma. Normalmente os " "dereitos de información inclúen unha declaración sobre varios dereitos de " "propiedade asociados co recurso, incluíndo os dereitos de propiedade " "intelectual." #: src/properties.cpp:183 msgid "Unique identifier of the work from which this resource was derived." msgstr "Identificador único do traballo do que deriva este recurso." #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" "Unha matriz desordenada de frases descritivas ou palabras clave que " "especifican o asunto do contido do recurso." #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" "O título do documento ou o nome dado ao recurso. Normalmente, será un nome " "co que é formalmente coñecido o recurso." #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 msgid "Type" msgstr "Tipo" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "Un tipo de documento, por exemplo novela, poema, manuscrito." #: src/properties.cpp:194 msgid "Tags List" msgstr "Lista de etiquetas" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" "A lista da ruta completa das etiquetas como cadea. A xerarquía da ruta " "separase co carácter «/» (ex.: «Cidade/Vigo/Museo/Quiñones de León»." #: src/properties.cpp:195 msgid "Captions Author Names" msgstr "Lendas de nomes de autor" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" "Lista de todas as lendas de nomes de autor para cada xogo de lendas de " "idiomas alternativos en etiquetas XMP estándar." #: src/properties.cpp:196 msgid "Captions Date Time Stamps" msgstr "Lendas nas marcas de data e hora" #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" "Lista de todas as lendas de marcas de data e hora para cada xogo de lendas " "de idiomas alternativos en etiquetas XMP estándar." #: src/properties.cpp:197 src/tags.cpp:844 msgid "Image History" msgstr "Historial da imaxe" #: src/properties.cpp:197 #, fuzzy msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" "Contido baseado en XML para listar todas as accións procesadas nesta imaxe " "co editor de imaxes (como recortes, rotacións, correccións de cores, " "axustes, etc)" #: src/properties.cpp:198 msgid "Lens Correction Settings" msgstr "Axustes de corrección de lente" #: src/properties.cpp:198 #, fuzzy msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" "A lista de ferramentas de axustes de corrección de lente para reparar a " "distorsión de lente. Isto inclúe o xestor de colas de lotes e ferramentas do " "editor de imaxes baseado na biblioteca LensFun" #: src/properties.cpp:199 msgid "Color Label" msgstr "Etiqueta de cor" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" "A etiqueta de cor asignada a este elemento. Os valores posíbeis son «0»: sen " "etiqueta; «1»: vermello; «2»: laranxa; «3»: marelo; «4»: verde; «5»: azul; " "«6»: maxenta; «7»: gris; «8»: negro; «9»: branco." #: src/properties.cpp:200 #, fuzzy msgid "Pick Label" msgstr "Etiqueta" #: src/properties.cpp:200 #, fuzzy msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" "A etiqueta de cor asignada a este elemento. Os valores posíbeis son «0»: sen " "etiqueta; «1»: vermello; «2»: laranxa; «3»: marelo; «4»: verde; «5»: azul; " "«6»: maxenta; «7»: gris; «8»: negro; «9»: branco." #: src/properties.cpp:206 #, fuzzy msgid "Panorama Input Files" msgstr "Ficheiros entrada Enfuse" #: src/properties.cpp:206 #, fuzzy msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" "A lista de ficheiros procesados con Enfuse a través da ferramenta " "ExpoBlending." #: src/properties.cpp:207 msgid "Enfuse Input Files" msgstr "Ficheiros entrada Enfuse" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" "A lista de ficheiros procesados con Enfuse a través da ferramenta " "ExpoBlending." #: src/properties.cpp:208 msgid "Enfuse Settings" msgstr "Axustes de Enfuse" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" "A lista de axustes Enfuse usada para mesturar a rima da imaxe coa ferramenta " "ExpoBlending" #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "" #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "" #: src/properties.cpp:216 msgid "Advisory" msgstr "Consultivo" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" "Unha matriz desordenada especificando as propiedades que foron editadas fora " "do aplicativo de creación. Cada elemento debe conter un só nome e XPath " "separado por un espazo ASCII (U +0020)." #: src/properties.cpp:219 src/properties.cpp:1066 msgid "Base URL" msgstr "URL base" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" "O URL base para os URL relativos no contido do documento. Se este documento " "conten ligazóns a Internet, e estas ligazóns son relativas, serán relativas " "a este URL. Esta propiedade fornece un modo estándar para que os URL " "relativos incrustados sexan interpretados polas ferramentas. As ferramentas " "de creación web deberían estabelecer o valor baseándose na súa noción/" "opinión de onde serán interpretados os URL." #: src/properties.cpp:224 msgid "Create Date" msgstr "Data de creación" #: src/properties.cpp:224 msgid "The date and time the resource was originally created." msgstr "O día e a hora na que se creou orixinalmente o recurso." #: src/properties.cpp:225 msgid "Creator Tool" msgstr "Ferramenta do creador" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" "O nome da primeira ferramenta coñecida para crear o recurso. Se os metadatos " "inclúen o historial, este valor debe ser equivalente á propiedade " "«softwareAgent» de «xmpMM:History»." #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" "Unha matriz desordenada de cadeas de texto que identifican sen ambigüidade o " "recurso dentro dun contexto dado. Unha matriz de elementos pode ser " "cualificada con xmpidq:Scheme para denotar o sistema de identificación " "formal ao cal se axusta o identificador. Nota: a propiedade dc:identifier " "non se usa por carecer de un cualificador de esquema definido e foi definida " "na Especificación XMP como unha propiedade simple (de valor único)" #: src/properties.cpp:233 msgid "Label" msgstr "Etiqueta" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" "Unha palabra ou frase breve que identifica un documento como membro duna " "colección definida polo usuario. Utilizase para organizar documentos nun " "explorador de ficheiros." #: src/properties.cpp:235 msgid "Metadata Date" msgstr "Data dos metadatos" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" "A data e a hora na que foron modificados os metadatos do recurso. Debe ser " "igual ou máis recente que «xmp:ModifyDate»." #: src/properties.cpp:237 msgid "Modify Date" msgstr "Data modificada" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" "A data e a hora nas que se modificou por última vez o recurso. Nota: o valor " "desta propiedade non é necesariamente o mesmo que a data de modificación do " "ficheiro do sistema, xa que se estabelece antes de sexa gardado o ficheiro." #: src/properties.cpp:240 msgid "Nickname" msgstr "Alcume" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "Un nome informal curto para o recurso." #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 msgid "Rating" msgstr "Clasificación" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" "Número que indica o estado do documento en relación a outros documentos, " "utilizase para organizar os documentos nun explorador de ficheiros. Os " "valores son definidos polo usuario dentro dun rango definido polo aplicativo." #: src/properties.cpp:244 msgid "Thumbnails" msgstr "Miniaturas" #: src/properties.cpp:244 msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" "Unha matriz alternativa de imaxes en miniatura dun ficheiro, que poden " "diferir en características tales como o tamaño ou a codificación da imaxe." #: src/properties.cpp:251 msgid "Certificate" msgstr "Certificado" #: src/properties.cpp:251 msgid "Online rights management certificate." msgstr "Certificado de xestión en liña de dereitos" #: src/properties.cpp:252 msgid "Marked" msgstr "Marcado" #: src/properties.cpp:252 msgid "Indicates that this is a rights-managed resource." msgstr "Indica que isto é un recurso con dereitos xestionados." #: src/properties.cpp:253 msgid "Owner" msgstr "Propietario" #: src/properties.cpp:253 msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "" "Unha matriz non ordenada especificando o(s) propietario(s) legal(is) dun " "recurso." #: src/properties.cpp:254 msgid "Usage Terms" msgstr "Termos de uso" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "Texto con instrucións sobre como se pode usar legalmente o recurso." #: src/properties.cpp:255 msgid "Web Statement" msgstr "Declaración Web" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" "Localización do web onde se describe o propietario e/ou a declaración de " "dereitos sobre este recurso." #: src/properties.cpp:261 msgid "Derived From" msgstr "Derivado de" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" #: src/properties.cpp:266 msgid "Document ID" msgstr "ID do documento" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" #: src/properties.cpp:268 msgid "History" msgstr "Historial" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" #: src/properties.cpp:272 msgid "Instance ID" msgstr "ID da instancia" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" #: src/properties.cpp:274 msgid "Managed From" msgstr "Xestionado desde" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" #: src/properties.cpp:277 msgid "Manager" msgstr "Xefe/a" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" #: src/properties.cpp:280 #, fuzzy msgid "Manage To" msgstr "Xestionado desde" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" #: src/properties.cpp:283 #, fuzzy msgid "Manage UI" msgstr "Xefe/a" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" #: src/properties.cpp:285 #, fuzzy msgid "Manager Variant" msgstr "Xefe/a" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" #: src/properties.cpp:287 #, fuzzy msgid "Rendition Class" msgstr "A partires de" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" #: src/properties.cpp:289 #, fuzzy msgid "Rendition Params" msgstr "A partires de" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" #: src/properties.cpp:291 #, fuzzy msgid "Version ID" msgstr "ID da versión GPS" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr "" #: src/properties.cpp:295 msgid "Versions" msgstr "Versións" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" #: src/properties.cpp:301 msgid "Last URL" msgstr "Último URL" #: src/properties.cpp:301 msgid "Deprecated for privacy protection." msgstr "Obsoleto para a protección da intimidade" #: src/properties.cpp:302 msgid "Rendition Of" msgstr "A partires de" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" "Obsoleto en favor de xmpMM:DerivedFrom. Unha referencia ao documento do que " "este é unha modificación" #: src/properties.cpp:304 msgid "Save ID" msgstr "ID de gardado" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "" "Obsoleto. Usado anteriormente só para compatibilidade coa propiedade xmpMM:" "LastURL" #: src/properties.cpp:310 msgid "Job Reference" msgstr "Referencia da tarefa" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" #: src/properties.cpp:319 msgid "Maximum Page Size" msgstr "Tamaño máximo de páxina" #: src/properties.cpp:319 msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "" "Tamaño da páxina máis grande do documento (incluíndo calquera dos documentos " "contidos)." #: src/properties.cpp:320 msgid "Number of Pages" msgstr "Número de páxinas" #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "" "O número de páxinas no documento (incluíndo calquera dos documentos " "contidos)." #: src/properties.cpp:321 msgid "Fonts" msgstr "Tipos de letra" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" "Unha matriz desordenada dos tipos de letra que se usaron no documento " "(incluíndo calquera dos documentos contidos)." #: src/properties.cpp:322 msgid "Colorants" msgstr "Colorantes" #: src/properties.cpp:322 msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" "Unha matriz ordenada de colorantes (mostras) que son utilizados no documento " "(incluíndo calquera dos documentos contidos)" #: src/properties.cpp:323 #, fuzzy msgid "Plate Names" msgstr "Nome da cinta" #: src/properties.cpp:323 msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" "Una matriz organizada de nomes de paletas que se necesitan para imprimir o " "documento (incluíndo calquera documento contido)" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "Project Reference" msgstr "Referencia de proxecto" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "Referencia ao proxecto que creou o ficheiro." #: src/properties.cpp:330 src/properties.cpp:1163 msgid "Video Frame Rate" msgstr "Taxa de fotogramas do vídeo" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "Taxa de fotogramas do vídeo. Un de: 24, NTSC, PAL." #: src/properties.cpp:331 src/properties.cpp:1164 msgid "Video Frame Size" msgstr "Tamaño do fotograma do vídeo" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "O tamaño do fotograma. Por exemplo: w:720, h: 480, unidade:píxeles" #: src/properties.cpp:332 msgid "Video Pixel Aspect Ratio" msgstr "Relación de aspecto do píxel de vídeo" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "" "Relación de aspecto, expresada como alto/largo. Por exemplo: «648/720» = 0.9" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "Video Pixel Depth" msgstr "Profundidade do píxel de vídeo" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" "O tamaño en bits de cada compoñente da cor dun píxel. Os píxeles estándar de " "Windows 32-bit teñen 8 bits por compoñente. Un de: 8Int, 16Int, 32Int, " "32Float." #: src/properties.cpp:335 src/properties.cpp:1081 msgid "Video Color Space" msgstr "Espazo da color de vídeo" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" "O espazo da color. Un de: sRGB (utilizado por Photoshop), CCIR-601 " "(utilizado por NTSC), CCIR-709 (utilizado por HD)." #: src/properties.cpp:337 msgid "Video Alpha Mode" msgstr "Modo alpha de vídeo" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "O modo alfa. Un de: directo, pre-multiplicado." #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "Cor pre-múltipla para alfa de vídeo" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" "Unha cor en CMYK ou RGB a usar como a color pre-múltipla cando o modo alfa é " "pre-multiplicado." #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "A unidade alpha de vídeo é transparente" #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "Cuando é certo, a unidade está limpa, cando é falso, está opaca." #: src/properties.cpp:341 msgid "Video Compressor" msgstr "Compresor de vídeo" #: src/properties.cpp:341 msgid "Video compression used. For example, jpeg." msgstr "Compresión de vídeo usada. Por exemplo, jpeg." #: src/properties.cpp:342 msgid "Video Field Order" msgstr "Orde do campo de vídeo" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "A orde dos campos para vídeo. Un de: superior, inferior, progresivo." #: src/properties.cpp:343 msgid "Pull Down" msgstr "Baixar" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" "A fase de mostraxe do filme que vai seren convertido a vídeo (baixar ou pull-" "down). Un de: WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, " "SWWWS_24p, WWWSS_24p, WWSSW_24p." #: src/properties.cpp:345 src/properties.cpp:1425 msgid "Audio Sample Rate" msgstr "Taxa de mostraxe de son" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" "A taxa de mostraxe de son. Pode ser calquera valor, mais comunmente 32.000, " "41.100 ou 48.000" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "Audio Sample Type" msgstr "Tipo de mostraxe de son" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "Tipo de mostraxe de son. Un de: 8Int, 16Int, 32Int, 32Float." #: src/properties.cpp:347 src/properties.cpp:1400 msgid "Audio Channel Type" msgstr "Tipo de cale de son" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "Tipo de cale de son. Un de: Mono, Estéreo, 5.1, 7.1." #: src/properties.cpp:348 src/properties.cpp:1407 msgid "Audio Compressor" msgstr "Compresor de son" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "O compresor de son usado. Por exemplo MP3." #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "Emprazamento do narrador" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" "Unha descrición dos ángulos en que están os altofalantes respecto da fronte " "en graos. Por exemplo: «Esquerda = -30, Dereita = 30, Centro = 0, LFE = 45, " "Envolvente esquerdo = -110, Envolvente dereito = 110»" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "File Data Rate" msgstr "Taxa de datos de ficheiro" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "" "A taxa de datos do ficheiro en megabytes por segundo. Por exemplo: «36/10» = " "3.6 MB/seg." #: src/properties.cpp:352 src/properties.cpp:1334 msgid "Tape Name" msgstr "Nome da cinta" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "" "O nome da cinta da que foi capturado o fragmento de filme, tal como se " "estabeleceu durante o proceso de captura." #: src/properties.cpp:353 msgid "Alternative Tape Name" msgstr "Nome alternativo da cinta" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" "Un nome de cinta alternativo, especificado a través da xanela do proxecto ou " "do diálogo do código de tempo en Premiere. Se se especifica un nome " "alternativo e non foi revertido, mostrarase este nome." #: src/properties.cpp:355 msgid "Start Time Code" msgstr "Código de inicio de tempo" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "" "Código de tempo do primeiro fotograma do vídeo no ficheiro, obtido do " "control do dispositivo." #: src/properties.cpp:356 msgid "Alternative Time code" msgstr "Código de tempo alternativo" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" "Un código de tempo estabelecido polo usuario. Cando se especifica, usase " "este no canto do código de tempo de inicio." #: src/properties.cpp:357 src/properties.cpp:1124 msgid "Duration" msgstr "Duración" #: src/properties.cpp:357 msgid "The duration of the media file." msgstr "Duración do ficheiro multimedia." #: src/properties.cpp:358 msgid "Scene" msgstr "Escena" #: src/properties.cpp:358 msgid "The name of the scene." msgstr "O nome da escena" #: src/properties.cpp:359 msgid "Shot Name" msgstr "Nome da toma" #: src/properties.cpp:359 msgid "The name of the shot or take." msgstr "O nome da toma" #: src/properties.cpp:360 msgid "Shot Date" msgstr "Data da toma" #: src/properties.cpp:360 msgid "The date and time when the video was shot." msgstr "Data e hora da toma" #: src/properties.cpp:361 msgid "Shot Location" msgstr "Localización da toma" #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" "O nome da locación onde foi gravado o vídeo. Por exemplo: «Oktoberfest, " "Munich Alemaña» Para un posicionamento máis preciso, use os valores GPS de " "EXIF." #: src/properties.cpp:363 msgid "Log Comment" msgstr "Comentario do rexistro" #: src/properties.cpp:363 msgid "User's log comments." msgstr "Comentarios do rexistro do usuario." #: src/properties.cpp:364 msgid "Markers" msgstr "Marcadores" #: src/properties.cpp:364 msgid "An ordered list of markers" msgstr "Unha lista ordenada de marcadores" #: src/properties.cpp:365 msgid "Contributed Media" msgstr "Medios que colaboraron" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "" "Unha lista desordenada de todos os medios usados para crear este recurso." #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "Ruta absoluta do ficheiro de picos de son" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" "A ruta absoluta ao ficheiro de picos de son. Se está baleira, non existen " "ficheiros de picos." #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "Ruta relativa do ficheiro de picos de son" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" "A ruta relativa ao ficheiro de picos de son. Se está baleira, non existen " "ficheiros de picos." #: src/properties.cpp:368 msgid "Video Modified Date" msgstr "Data de modificación do vídeo" #: src/properties.cpp:368 msgid "The date and time when the video was last modified." msgstr "Data e hora da última modificación do vídeo." #: src/properties.cpp:369 msgid "Audio Modified Date" msgstr "Data de modidicación do son" #: src/properties.cpp:369 msgid "The date and time when the audio was last modified." msgstr "Data e hora da última modificación do son." #: src/properties.cpp:370 msgid "Metadata Modified Date" msgstr "Data de modificación dos metadatos" #: src/properties.cpp:370 msgid "The date and time when the metadata was last modified." msgstr "Data e hora da última modificación dos metadatos." #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "Artista" #: src/properties.cpp:371 src/properties.cpp:1058 msgid "The name of the artist or artists." msgstr "Nome do artista ou artistas." #: src/properties.cpp:372 src/properties.cpp:1054 msgid "Album" msgstr "Álbum" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "The name of the album." msgstr "Nome do álbum." #: src/properties.cpp:373 src/properties.cpp:1366 msgid "Track Number" msgstr "Número de pista" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "" "Un valor numérico que indica a orde do ficheiro de son que é a gravación " "orixinal." #: src/properties.cpp:374 src/properties.cpp:1166 msgid "Genre" msgstr "Xénero" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "The name of the genre." msgstr "Nome do xénero." #: src/properties.cpp:375 msgid "The copyright information." msgstr "Información dos dereitos de autoría." #: src/properties.cpp:376 msgid "The date the title was released." msgstr "A data na que se publicou o título." #: src/properties.cpp:377 src/properties.cpp:1086 msgid "Composer" msgstr "Compositor" #: src/properties.cpp:377 msgid "The composer's name." msgstr "Nome do compositor" #: src/properties.cpp:378 src/properties.cpp:1143 msgid "Engineer" msgstr "Enxeñeiro" #: src/properties.cpp:378 msgid "The engineer's name." msgstr "Nome do enxeñeiro" #: src/properties.cpp:379 msgid "Tempo" msgstr "Tempo" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "Tempo do son" #: src/properties.cpp:380 msgid "Instrument" msgstr "Instrumento" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "Instrumento musical." #: src/properties.cpp:381 msgid "Intro Time" msgstr "Tempo de introdución" #: src/properties.cpp:381 msgid "The duration of lead time for queuing music." msgstr "A duración ou tempo de execución para poñer música na cola." #: src/properties.cpp:382 msgid "Out Cue" msgstr "Referencia externa" #: src/properties.cpp:382 msgid "The time at which to fade out." msgstr "Tempo no que facer o fundido de saída" #: src/properties.cpp:383 msgid "Relative Timestamp" msgstr "Marca de tempo relativo" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "A hora de inicio do medio no proxecto de son." #: src/properties.cpp:384 msgid "Loop" msgstr "Bucle" #: src/properties.cpp:384 #, fuzzy msgid "When true, the clip can be looped seamlessly." msgstr "" "Cando é verdadeiro, o fragmento do filme pódese repetir indefinidamente" #: src/properties.cpp:385 msgid "Number Of Beats" msgstr "Número de golpes" #: src/properties.cpp:385 msgid "The number of beats." msgstr "O número de golpes" #: src/properties.cpp:386 msgid "Key" msgstr "Clave" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "" "A clave musical do son. Unha de: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." #: src/properties.cpp:387 msgid "Stretch Mode" msgstr "Modo de estiramento" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" "O modo de estiramento do sono. Un de: lonxitude fixa, escala de tempo, nova " "mostraxe, empalme de golpe, híbrido." #: src/properties.cpp:388 msgid "Time Scale Parameters" msgstr "Parámetros da escala de tempo" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "Parámetros adicionais para o modo de «estirado» da escala de tempos" #: src/properties.cpp:389 msgid "Resample Parameters" msgstr "Parámetros de nova mostraxe" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "Parametros adicionais para o modo de mostraxe." #: src/properties.cpp:390 msgid "Beat Splice Parameters" msgstr "Parámetros de empalme de golpe" #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "Parámetros adicionais para o modo de empalme de golpe" #: src/properties.cpp:391 msgid "Time Signature" msgstr "Signatura musical" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" "Signatura musical. Unha de: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, 12/8, outra." #: src/properties.cpp:392 msgid "Scale Type" msgstr "Tipo de escala" #: src/properties.cpp:392 msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "" "Escala musical usada na música. Unha de: Maior, menor, ambas, ningunha. " "Ningunha é a máis frecuente para instrumentos sen asociación de escala, " "tales como a percusión." #: src/properties.cpp:399 src/tags.cpp:1078 msgid "Camera Serial Number" msgstr "Número de serie da cámara" #: src/properties.cpp:399 msgid "Camera Serial Number." msgstr "Número de serie da cámara." #: src/properties.cpp:400 msgid "Date Acquired" msgstr "Data de compra" #: src/properties.cpp:400 msgid "Date Acquired." msgstr "Data de compra." #: src/properties.cpp:401 msgid "Flash Manufacturer" msgstr "Fabricante do flash" #: src/properties.cpp:401 msgid "Flash Manufacturer." msgstr "Fabricante do flash." #: src/properties.cpp:402 msgid "Flash Model." msgstr "Modelo do flash." #: src/properties.cpp:403 msgid "Last Keyword IPTC" msgstr "Última palabra clave IPTC" #: src/properties.cpp:403 msgid "Last Keyword IPTC." msgstr "Última palabra clave IPTC" #: src/properties.cpp:404 msgid "Last Keyword XMP" msgstr "Última palabra clave XMP" #: src/properties.cpp:404 msgid "Last Keyword XMP." msgstr "Última palabra clave XMP" #: src/properties.cpp:405 msgid "Lens Manufacturer" msgstr "Fabricante das lentes" #: src/properties.cpp:405 msgid "Lens Manufacturer." msgstr "Fabricante das lentes." #: src/properties.cpp:406 src/properties.cpp:1199 msgid "Lens Model." msgstr "Modelo das lentes." #: src/properties.cpp:407 msgid "Rating Percent" msgstr "Porcentaxe de taxa" #: src/properties.cpp:407 msgid "Rating Percent." msgstr "Porcentaxe de taxa." #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "" #: src/properties.cpp:414 #, fuzzy msgid "Private RTK Info" msgstr "Información da imaxe" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "" #: src/properties.cpp:420 msgid "Keywords." msgstr "Palabras chave." #: src/properties.cpp:421 msgid "PDF Version" msgstr "Versión de PDF" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "Versión do ficheiro PDF (por exemplo: 1.0, 1.3, e demais)." #: src/properties.cpp:422 src/properties.cpp:1278 msgid "Producer" msgstr "Creado con" #: src/properties.cpp:422 msgid "The name of the tool that created the PDF document." msgstr "Nome da ferramenta coa que se creou o documento PDF." #: src/properties.cpp:428 msgid "Authors Position" msgstr "Posición de autores" #: src/properties.cpp:428 msgid "By-line title." msgstr "Título por liña" #: src/properties.cpp:429 msgid "Caption Writer" msgstr "Escritor del encabezamiento" #: src/properties.cpp:429 #, fuzzy msgid "Writer/editor." msgstr "Escritor" #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "Categoría. Limitado a 3 caracteres ASCII de 7-bit." #: src/properties.cpp:431 msgid "City." msgstr "Cidade" #: src/properties.cpp:432 msgid "Country/primary location." msgstr "País/localización primaria" #: src/properties.cpp:433 #, fuzzy msgid "Credit." msgstr "Crédito" #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" "A data na que se creou o contido intelectual do documento (no canto da data " "de creación da representación física), seguindo as convencións IIM. Por " "exemplo, unha foto tomada durante a «Guerra civil americana» tería unha data " "de creación durante esa época (1861-1865) no canto da data na que foi " "dixitalizada a foto para o seu arquivado." #: src/properties.cpp:438 #, fuzzy msgid "Headline." msgstr "Encabezamento" #: src/properties.cpp:439 msgid "Special instructions." msgstr "Instrucións especiais." #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source." msgstr "Orixe" #: src/properties.cpp:441 msgid "Province/state." msgstr "Provincia/estado" #: src/properties.cpp:442 msgid "Supplemental category." msgstr "Categoría suplementaria" #: src/properties.cpp:443 msgid "Original transmission reference." msgstr "Referencia da transmisión orixinal." #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "Urxencia. Rango válido 1-8" #: src/properties.cpp:452 msgid "inches" msgstr "polgadas" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "cm." #: src/properties.cpp:457 msgid "Auto Brightness" msgstr "Brillo automático" #: src/properties.cpp:457 msgid "When true, \"Brightness\" is automatically adjusted." msgstr "Cando é verdadeiro o «brillo» axustase automaticamente." #: src/properties.cpp:458 msgid "Auto Contrast" msgstr "Contraste automático" #: src/properties.cpp:458 msgid "When true, \"Contrast\" is automatically adjusted." msgstr "Cando é verdadeiro o «contraste» axustase automaticamente." #: src/properties.cpp:459 msgid "Auto Exposure" msgstr "Exposición automática" #: src/properties.cpp:459 msgid "When true, \"Exposure\" is automatically adjusted." msgstr "Cando é verdadeiro a «exposición» axustase automaticamente." #: src/properties.cpp:460 msgid "Auto Shadows" msgstr "Sombras automáticas" #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "Cando é verdadeiro as «sombras» axustanse automaticamente." #: src/properties.cpp:461 msgid "Blue Hue" msgstr "Matiz azul" #: src/properties.cpp:461 msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "Configuración de «matiz azul» Rango -100 a 100" #: src/properties.cpp:462 msgid "Blue Saturation" msgstr "Saturación azul" #: src/properties.cpp:462 msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "Configuración de «saturación azul» Rango -100 a +100" #: src/properties.cpp:463 msgid "\"Brightness\" setting. Range 0 to +150." msgstr "Configuración de «brillo» Rango 0 a +150" #: src/properties.cpp:464 msgid "Camera Profile" msgstr "Perfil da cámara" #: src/properties.cpp:464 msgid "\"Camera Profile\" setting." msgstr "Configuración do «perfil da cámara»" #: src/properties.cpp:465 msgid "Chromatic Aberration Blue" msgstr "Aberración cromática azul" #: src/properties.cpp:465 msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "" "Configuración da «aberración cromática, corrixa a franxa azul/marelo». Rango " "-100 a +100." #: src/properties.cpp:466 msgid "Chromatic Aberration Red" msgstr "Aberración cromática vermello" #: src/properties.cpp:466 msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "" "Configuración da «aberración cromática, corrixa a franxa vermello/cian». " "Rango -100 a +100." #: src/properties.cpp:467 src/properties.cpp:1080 msgid "Color Noise Reduction" msgstr "Redución do ruído da cor" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "Configurar a «redución do ruído da cor». Rango de 0 a +100." #: src/properties.cpp:468 msgid "\"Contrast\" setting. Range -50 to +100." msgstr "Configuración de «contraste». Rango -50 a +100" #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "Cando «Ten recorte» é verdadeiro, enriba no rectángulo de recorte" #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "Cando «Ten recorte» é verdadeiro, esquerda no rectángulo de recorte" #: src/properties.cpp:471 msgid "Crop Bottom" msgstr "Recorte por embaixo" #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "Cando «Ten recorte» é verdadeiro, embaixo no rectángulo de recorte" #: src/properties.cpp:472 msgid "Crop Right" msgstr "Recorte pola dereita" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "Cando «Ten recorte» é verdadeiro, dereita no rectángulo de recorte" #: src/properties.cpp:473 msgid "Crop Angle" msgstr "Ángulo de recorte" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "Cando «Ten recorte» é verdadeiro, ángulo de recorte do rectángulo" #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "" "Largura da imaxe resultante recortada en unidades de «Unidades de recorte»" #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "" "Altura da imaxe resultante recortada en unidades de «Unidades de recorte»" #: src/properties.cpp:476 msgid "Crop Units" msgstr "Unidades de recorte" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "" "Unidades para «Recorte na largura» e «Recorte na altura». 0=píxeles, " "1=polgadas, 2=cm" #: src/properties.cpp:477 msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "Configuración de «Exposición». Rango -4.0 a +4.0." #: src/properties.cpp:478 #, fuzzy msgid "Green Hue" msgstr "Matiz do verde" #: src/properties.cpp:478 msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "Configuración de «Matiz do verde». Rango -100 a +100." #: src/properties.cpp:479 msgid "Green Saturation" msgstr "Saturación do verde" #: src/properties.cpp:479 msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "Configuración de «Saturación do verde». Rango -100 a +100." #: src/properties.cpp:480 msgid "Has Crop" msgstr "Ten recorte" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "Cando é verdadeiro, a imaxe ten un rectángulo de recorte." #: src/properties.cpp:481 msgid "Has Settings" msgstr "Ten configuración" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "" "Cando é verdadeiro, a configuración bruta da cámara non é a predeterminada." #: src/properties.cpp:482 msgid "Luminance Smoothing" msgstr "Suavizado da luminancia" #: src/properties.cpp:482 msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "Configuración do «Suavizado da luminancia». Rango 0 a +100" #: src/properties.cpp:483 msgid "Raw File Name" msgstr "Nome do ficheiro «raw» (bruto)" #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "Nome do ficheiro «raw» (non é unha ruta completa)" #: src/properties.cpp:484 msgid "Red Hue" msgstr "Matiz do vermello" #: src/properties.cpp:484 msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "Configuración do «Matiz do vermello» Rango -100 a +100" #: src/properties.cpp:485 msgid "Red Saturation" msgstr "Saturación de vermello" #: src/properties.cpp:485 msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "Configuración da «Saturación de vermello». Rango -100 a +100" #: src/properties.cpp:486 msgid "\"Saturation\" setting. Range -100 to +100." msgstr "Configuración da «Saturación». Rango -100 a +100" #: src/properties.cpp:487 msgid "Shadows" msgstr "Sombras" #: src/properties.cpp:487 msgid "\"Shadows\" setting. Range 0 to +100." msgstr "Configuración de «Sombras». Rango 0 a +100" #: src/properties.cpp:488 msgid "Shadow Tint" msgstr "Tinxido da sombra" #: src/properties.cpp:488 msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "Configuración do «Tinxido da sombra». Rango: -100 a +100." #: src/properties.cpp:489 src/properties.cpp:1301 msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "Configuración da «Nitidez». Rango 0 a +100" #: src/properties.cpp:490 msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "Configuración da «Temperatura». Rango 2.000 a 5.000" #: src/properties.cpp:491 msgid "Tint" msgstr "Tinxido" #: src/properties.cpp:491 msgid "\"Tint\" setting. Range -150 to +150." msgstr "Configuración de «Tinxido». Rango -150 a +150." #: src/properties.cpp:492 msgid "Tone Curve" msgstr "Curva de ton" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "Matriz de puntos (enteiro, enteiro) que define unha «Curva de ton»" #: src/properties.cpp:493 msgid "Tone Curve Name" msgstr "Nome da curva de ton" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" "O nome da curva tonal descrita por «Curva de ton». Pode ser: lineal, " "contraste medio, contraste forte, personalizado ou un nome predeterminado " "definido polo usuario." #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "Versión do complemento RAw de cámara." #: src/properties.cpp:496 msgid "Vignette Amount" msgstr "Cantidade de viñeteado" #: src/properties.cpp:496 msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "Configuración da «Cantidade de viñeteado». Rango -100 a +100." #: src/properties.cpp:497 msgid "Vignette Midpoint" msgstr "Punto medio de viñeteado" #: src/properties.cpp:497 msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "Configuración do «Punto medio de viñeteado». Rango 0 a +100." #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" "Configuración do «Balance de branco». Un dos seguintes: Como foi disparada, " "Automático, Luz de día, Anubrado, Sombra, Tungsteno, Fluorescente, Flash, " "Personalizado" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "Etiqueta TIFF 256, 0x100. Largo da imaxe en píxeles." #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 msgid "Image Length" msgstr "Lonxitude da imaxe" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "Etiqueta TIFF 257, 0x101. Altura da imaxe en píxeles." #: src/properties.cpp:507 msgid "Bits Per Sample" msgstr "Bits por mostra" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "Etiqueta TIFF 258, 0x102. Número de bits por compoñente en cada canle." #: src/properties.cpp:508 src/tags.cpp:434 msgid "Compression" msgstr "Compresión" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "" "Etiqueta TIFF 259, 0x103. Sistema de compresión: 1 = sen comprimir; 6 = JPEG." #: src/properties.cpp:509 src/tags.cpp:440 msgid "Photometric Interpretation" msgstr "Interpretación fotométrica" #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "Etiqueta TIFF 262, 0x106. Composición do píxel: 2 = RGB; 6 = YCbCr." #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" "Etiqueta TIFF 274, 0x11. Orientación:1 = fila 0 arriba, columna 0 á esquerda " "2 = fila 0 arriba, columna 0 á dereita 3 = fila 0 abaixo, columna 0 á " "dereita 4 = fila 0 abaixo, columna 0 á esquerda 5 = fila 0 á esquerda, " "columna 0 arriba 6 = fila 0 á dereita, columna 0 arriba 7 = fila 0 á " "dereita, columna 0 abaixo 8 = fila 0 á esquerda, columna 0 abaixo" #: src/properties.cpp:519 msgid "Samples Per Pixel" msgstr "Mostras por píxel" #: src/properties.cpp:519 msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "Etiqueta TIFF 277, 0x115. Número de compoñentes por píxel." #: src/properties.cpp:520 src/tags.cpp:514 msgid "Planar Configuration" msgstr "Configuración plana (de bits)" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "Etiqueta TIFF 284. Capa de datos: 1 = segmentada; 2 = plana." #: src/properties.cpp:521 msgid "YCbCr Sub Sampling" msgstr "Mostraxe secundaria YCbCr" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" "Etiqueta TIFF 530, 0x212. Radio de mostraxe dos compoñentes de crominancia: " "[2,1] = YCbCr4:2:2; [2, 2] = YCbCr4:2:0" #: src/properties.cpp:523 src/tags.cpp:720 msgid "YCbCr Positioning" msgstr "Posicionamento YCbCr" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" "Etiqueta TIFF 531, 0x213. Posición dos compoñentes de crominancia vs. " "luminancia: 1 = centrados; 2 = emprazamento compartido." #: src/properties.cpp:525 src/properties.cpp:1390 msgid "X Resolution" msgstr "Resolución X" #: src/properties.cpp:525 msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "" "Etiqueta TIFF 282, 0x11A. Resolución horizontal en píxeles por unidade." #: src/properties.cpp:526 src/properties.cpp:1392 msgid "Y Resolution" msgstr "Resolución Y" #: src/properties.cpp:526 msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "Etiqueta TIFF 283, 0x11B. Resolución vertical en píxeles por unidade." #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 msgid "Resolution Unit" msgstr "Unidade de resolución" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" "Etiqueta TIFF 296, 0x128. Unidade utilizada para «Resolución X» e " "«Resolución Y». Pode tomar os valores: 2 = polgadas; 3 = centímetros." #: src/properties.cpp:529 src/tags.cpp:540 msgid "Transfer Function" msgstr "Función de transferencia" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" "Etiqueta TIFF 301, 0x12D. Función de transferencia para a imaxe descrita en " "estilo tabular con 3 * 256 entradas." #: src/properties.cpp:531 src/tags.cpp:572 msgid "White Point" msgstr "Punto branco" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "Etiqueta TIFF 318, 0x13E. Cromacidade do punto branco." #: src/properties.cpp:532 src/tags.cpp:577 msgid "Primary Chromaticities" msgstr "Cromacidades primarias" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "Etiqueta TIFF 319, 0x13F. Cromacidade dos tres colores primarios." #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "" "Etiqueta TIFF 529, 0x211. Matriz de coeficientes para a transformación de " "RGB a YCbCr." #: src/properties.cpp:534 msgid "Reference Black White" msgstr "Referencia branco e negro" #: src/properties.cpp:534 msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "" "Etiqueta TIFF 532, 0x214. Valores dos puntos negro e branco de referencia." #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 msgid "Date and Time" msgstr "Data e hora" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" "Etiqueta TIFF 306, 0x132 (primaria) e etiqueta EXIF 37520, 0x9290 (fraccións " "de segundo). Data e hora de creación da imaxe (sen zona horaria en EXIF), " "almacenada en formato ISO 8601, non no formato EXIF orixinal. Esta " "propiedade inclúe o valor do atributo EXIF «SubSecTime». NOTA: Esta " "propiedade almacenase no formato XMP como «xmp:ModifyDate»." #: src/properties.cpp:541 src/tags.cpp:462 msgid "Image Description" msgstr "Descrpción da imaxe" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" "Etiqueta TIFF 270, 0x10E. Descrición da imaxe. Nota: Esta propiedade " "almacenase en XMP como «dc:description»." #: src/properties.cpp:542 msgid "Make" msgstr "Marca" #: src/properties.cpp:542 msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "Etiqueta TIFF 271, 0x10F. Fabricante do equipo de gravación." #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "Etiqueta TIFF 272, 0x110. Nome do modelo ou número do equipo." #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" "Etiqueta TIFF 305, 0x131. Software ou firmware utilizado para xerar a imaxe. " "Nota: Esta propiedade almacenase en XMP como «xmp:CreatorTool». " #: src/properties.cpp:546 msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" "Etiqueta TIFF 315, 0x13B. Propietario da cámara, fotógrafo ou creador da " "imaxe. Nota: Esta propiedade almacenase en XMP como o primeiro elemento da " "matriz «dc:creator»." #: src/properties.cpp:548 msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" "Etiqueta TIFF 33432, 0x8298. Información de Dereitos de autoría. Nota: Esta " "propiedade almacenase en XMP como «dc:rights»." #: src/properties.cpp:555 src/tags.cpp:1605 msgid "Exif Version" msgstr "Versión Exif" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "Etiqueta EXIF 36864, 0x9000. Número de versión EXIF." #: src/properties.cpp:556 msgid "Flashpix Version" msgstr "Versión Flashpix" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "Etiqueta EXIF 40960, 0xA000. Versión de FlashPix." #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "Etiqueta EXIF 40961, 0xA001. Información do espazo de cor" #: src/properties.cpp:558 src/tags.cpp:1616 msgid "Components Configuration" msgstr "Configuración de compoñentes" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" "Etiqueta EXIF 37121, 0x9101. Configuración dos compoñentes nos datos: 4 5 6 " "0 (se son datos RGB comprimidos), 1 2 3 0 (noutros casos)." #: src/properties.cpp:560 src/tags.cpp:825 msgid "Compressed Bits Per Pixel" msgstr "Bits comprimidos por píxel" #: src/properties.cpp:560 msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" "Etiqueta EXIF 37122, 0x9102. O modo de compresión que se usa para unha imaxe " "comprimida, indicase medido en bits por píxel." #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "Dimensión píxel X" #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "Etiqueta EXIF 40962, 0xA002. Largura válida de imaxe, en píxeles" #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "Dimensión píxel Y" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "Etiqueta EXIF 40963, 0xA003. Altura válida de imaxe, en píxeles." #: src/properties.cpp:564 src/tags.cpp:1674 msgid "User Comment" msgstr "Comentario do usuario" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "Etiqueta EXIF 37510, 0x9286. Comentarios do usuario." #: src/properties.cpp:565 src/tags.cpp:1716 msgid "Related Sound File" msgstr "Ficheiro de son asociado" #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" "Etiqueta EXIF 40964, 0xA004. Nombre do ficheiro en formato «8.3» para o " "ficheiro de son asociado" #: src/properties.cpp:566 src/properties.cpp:1110 msgid "Date and Time Original" msgstr "Data e hora orixinal" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" "Etiquetas EXIF 36867, 0x9003 (primarias) e 37521, 0x9291 (fraccións de " "segundo). Data e hora na que se xerou a imaxe orixinal, en formato ISO 8601. " "Inclúen os datos «SubSecTimeOriginal» (fraccións de segundo do tempo do " "orixinal) de EXIF." #: src/properties.cpp:569 src/properties.cpp:1111 msgid "Date and Time Digitized" msgstr "Data e hora da dixitalización" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" "Etiqueta EXIF 36868, 0x9004 (primarias) e 37522, 0x9292 (fraccións de " "segundo). Data e hora na que foi gardada dixitalmente a imaxe; pode ser " "igual á data da imaxe orixinal se foi gardada dixitalmente desde un " "principio. Gardadas no formato ISO 8601. Inclúen os datos " "«SubSecTimeOriginal» (fraccións de segundo do tempo do dixitalizado) de EXIF." #: src/properties.cpp:573 msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "Etiqueta EXIF 33434, 0x829A. Tempo de exposición en segundos." #: src/properties.cpp:574 src/properties.cpp:1157 msgid "F Number" msgstr "Número F" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "Etiqueta EXIF 33437, 0x829D. Número F." #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "" "Etiqueta EXIF 34850, 0x8822. Clase de programa usado para a exposición." #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 msgid "Spectral Sensitivity" msgstr "Sensibilidade espectral" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "Etiqueta EXIF 34852, 0x8824. Sensibilidade espectral para cada canle" #: src/properties.cpp:577 msgid "ISOSpeedRatings" msgstr "Sensibilidad ISO de velocidade" #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" "Etiqueta EXIF 34855, 0x8827. Velocidade e latitude ISO do dispositivo de " "entrada, como especifica a ISO 12232." #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "OECF" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" "Etiqueta EXIF 34856, 0x8828. Función de Conversión Opto-Electrónica, como " "especifica a ISO 14524." #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" "Etiqueta EXIF 37377, 0x9201. Velocidade do disparador, medida en APEX. Ver " "Anexo C da especificación de EXIF." #: src/properties.cpp:581 msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "Etiqueta EXIF 37378, 0x9202. Abertura da lente, medida en APEX." #: src/properties.cpp:582 src/tags.cpp:828 msgid "Brightness Value" msgstr "Valor do brillo" #: src/properties.cpp:582 msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "Etiqueta EXIF 37379, 0x9203. Brillo, medida en APEX." #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "" "Etiqueta EXIF 37380, 0x9204. Compensación da exposición, medida en APEX." #: src/properties.cpp:584 src/properties.cpp:1211 msgid "Maximum Aperture Value" msgstr "Valor máximo de abertura" #: src/properties.cpp:584 msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "Etiqueta EXIF 37381, 0x9205. Número F de lente mais pequeno, en APEX." #: src/properties.cpp:585 msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "Etiqueta EXIF 37382, 0x9206. Distancia ao suxeito, en metros." #: src/properties.cpp:586 msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "Etiqueta EXIF 37383, 0x9207. Modo de medición." #: src/properties.cpp:587 msgid "EXIF tag 37384, 0x9208. Light source." msgstr "Etiqueta EXIF 37384, 0x9208. Fonte de luz." #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "" "Etiqueta EXIF 37385, 0x9209. Datos da Fonte de luz estroboscópica (flash)." #: src/properties.cpp:589 msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "" "Etiqueta EXIF 37386, 0x920A. Lonxitude de enfoque da lente, en milímetros." #: src/properties.cpp:590 src/tags.cpp:1666 msgid "Subject Area" msgstr "Área do suxeito" #: src/properties.cpp:590 msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" "Etiqueta EXIF 37396, 0x9214. A localización e a área do suxeito principal en " "toda a escena" #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 msgid "Flash Energy" msgstr "Potencia do flash" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "" "Etiqueta EXIF 41483, 0xA20B. Potencia estroboscópica durante a captura da " "imaxe." #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "Resposta en frecuencia espacial" #: src/properties.cpp:592 msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" "Etiqueta EXIF 41484, 0xA20C. Táboa de entrada do dispositivo de frecuencia " "espacial e os valores de SFR (SpatialFrequencyResponse - Resposta en " "frecuencia espacial) segundo o especificado na ISO 12233." #: src/properties.cpp:594 src/tags.cpp:839 msgid "Focal Plane X Resolution" msgstr "Resolución no plano focal X" #: src/properties.cpp:594 msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "" "Etiqueta EXIF 41486, 0xA20E. Resolución focal horizontal, medida en píxeles " "por unidade." #: src/properties.cpp:595 src/tags.cpp:840 msgid "Focal Plane Y Resolution" msgstr "Resolución no plano focal Y" #: src/properties.cpp:595 msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "" "Etiqueta EXIF 41487, 0xA20F. Resolución focal vertical, expresada en píxeles " "por unidade." #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 msgid "Focal Plane Resolution Unit" msgstr "Unidade de resolución do plano focal" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" "Etiqueta EXIF 41488, 0xA210. Unidade usada para a resolución no plano focal " "X e a resolución no plano foca Y." #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 msgid "Subject Location" msgstr "Localización do suxeito" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" "Etiqueta EXIF 41492, 0xA214. Localización do suxeito principal da escena. O " "primeiro valor é o píxel horizontal e o segundo valor é o píxel vertical " "onde aparece o suxeito." #: src/properties.cpp:600 src/tags.cpp:846 msgid "Exposure Index" msgstr "Índice de exposición" #: src/properties.cpp:600 msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "" "Etiqueta EXIF 41493, 0xA215. Índice de exposición do dispositivo de entrada." #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 msgid "Sensing Method" msgstr "Método de detección" #: src/properties.cpp:601 msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "" "Etiqueta EXIF 41495, 0xA217. Tipo de sensor de imaxe no dispositivo de " "entrada." #: src/properties.cpp:602 msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "Etiqueta EXIF 41728, 0xA300. Indica a orixe da imaxe." #: src/properties.cpp:603 src/tags.cpp:1771 msgid "Scene Type" msgstr "Tipo de escena" #: src/properties.cpp:603 msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "Etiqueta EXIF 41729, 0xA301. Indica o tipo de escena." #: src/properties.cpp:604 src/tags.cpp:761 msgid "CFA Pattern" msgstr "Patrón CFA" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" "Etiqueta EXIF 41730, 0xA302. Patrón de matriz de filtro de cores no sensor " "de imaxe." #: src/properties.cpp:605 src/tags.cpp:1781 msgid "Custom Rendered" msgstr "Renderización personalizada" #: src/properties.cpp:605 msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "" "Etiqueta EXIF 41985, 0xA401. Indica o uso dun procesamento especial en datos " "de imaxes." #: src/properties.cpp:606 msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "" "Etiqueta EXIF 41986, 0xA402. Indica o modo de exposición estabelecido cando " "se tomou a imaxe." #: src/properties.cpp:607 msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "" "Etiqueta EXIF 41987, 0xA403. Indica o modo estabelecido do balance de " "brancos cando se tomou a imaxe." #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 msgid "Digital Zoom Ratio" msgstr "Relación de zoom dixital" #: src/properties.cpp:608 msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "" "Etiqueta EXIF 41988, 0xA404. Indica o nivel do zoom dixital cando se tomou a " "imaxe." #: src/properties.cpp:609 src/tags.cpp:1800 msgid "Focal Length In 35mm Film" msgstr "Distancia focal en filme de 35mm" #: src/properties.cpp:609 msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" "Etiqueta EXIF 41989, 0xA405. Indica a distancia focal equivalente supoñendo " "unha cámara con filme de 35mm. O valor 0 significa que a distancia focal é " "descoñecida. Teña en conta que esta etiqueta difire da etiqueta «Distancia " "focal»." #: src/properties.cpp:612 src/tags.cpp:1806 msgid "Scene Capture Type" msgstr "Tipo de captura da escena" #: src/properties.cpp:612 msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "Etiqueta EXIF 41990, 0xA406. Indica o tipo de escena que foi tomada." #: src/properties.cpp:613 src/tags.cpp:1811 msgid "Gain Control" msgstr "Control de ganancia" #: src/properties.cpp:613 msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "" "Etiqueta EXIF 41991, 0xA407. Indica o grao do axuste global da ganancia da " "imaxe." #: src/properties.cpp:614 msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" "Etiqueta EXIF 41992, 0xA408. Indica a dirección do procesamento de contraste " "usado pola cámara." #: src/properties.cpp:615 msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" "Etiqueta EXIF 41993, 0xA409. Indica a dirección do procesamento de " "saturación usado pola cámara." #: src/properties.cpp:616 msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" "Etiqueta EXIF 41994, 0xA40A. Indica a dirección do procesamento da nitidez " "usado pola cámara." #: src/properties.cpp:617 src/tags.cpp:1826 msgid "Device Setting Description" msgstr "Descrición do axuste do dispositivo" #: src/properties.cpp:617 msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" "Etiqueta EXIF 41995, 0xA40B. Indica a información das condicións da captura " "de imaxes nun modelo particular de cámara." #: src/properties.cpp:618 src/tags.cpp:1831 msgid "Subject Distance Range" msgstr "Rango de distancia ao suxeito." #: src/properties.cpp:618 msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "Etiqueta EXIF41996, 0xA40C. Indica a distancia ao suxeito." #: src/properties.cpp:619 src/tags.cpp:1834 msgid "Image Unique ID" msgstr "ID único de imaxe" #: src/properties.cpp:619 msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" "Etiqueta EXIF 42016, 0xA420. Un identificador asignado a cada imaxe de forma " "única. Gravase como unha cadea ASCII de 32 caracteres, equivalente á " "notación hexadecimal e unha cadea fixa de 128 bits." #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 msgid "GPS Version ID" msgstr "ID da versión GPS" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" "Etiqueta GPS 0, 0x00. Unha codificación decimal de cada un dos catro bytes " "EXIF separados por puntos. O valor actual é «2.0.0.0»." #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "Latitude GPS" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "" "Etiqueta GPS 2, 0x02 (posición) e 1, 0x01 (norte/sur). Indica latitude." #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "Lonxitude GPS" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "" "Etiqueta GPS 4, 0x04 (posición) e 3, 0x03 (leste/oeste). Indica lonxitude." #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 msgid "GPS Altitude Reference" msgstr "Referencia GPS de altitude" #: src/properties.cpp:625 src/properties.cpp:1168 msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "" "Etiqueta GPS 5, 0x05. Indica se a latitude es sobre ou baixo o nivel do mar." #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "Altitude GPS" #: src/properties.cpp:626 src/properties.cpp:1167 msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "Etiqueta GPS 6, 0x06. Indica a altitude en metros." #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 msgid "GPS Time Stamp" msgstr "Marca GPS de tempo" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" "Etiqueta GPS 29 (data), 0x1D, e etiqueta GPS 7 (hora), 0x07. Marca de tempo " "dos datos GPS, en Hora Universal Coordinada. Nota: a etiqueta GPSDateStamp é " "nova en EXIF 2.2. A marca de tempo GPS en EXIF 2.1 non inclúe unha data. De " "nos estar presente, o compoñente de data para o XMP debe tomarse de exif:" "DateTimeOriginal, ou, se iso támen está ausente de exif:DateTimeDigitalized. " "De non haber datas dispoñíbeis, non escribe exif:GPSTimeStamp a XMP." #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 msgid "GPS Satellites" msgstr "Satélites GPS" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "" "Etiqueta GPS 8, 0x08. Información de satélite, o formato non está " "especificado." #: src/properties.cpp:634 src/tags.cpp:1989 msgid "GPS Status" msgstr "Estado GPS" #: src/properties.cpp:634 msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "" "Etiqueta GPS 9, 0x09. Estado do receptor GPS no momento da creación da imaxe." #: src/properties.cpp:635 src/tags.cpp:1994 msgid "GPS Measure Mode" msgstr "Modo GPS de medida" #: src/properties.cpp:635 msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "Etiqueta GPS 10, 0x0A. Modo de medida GPS, tpo de texto." #: src/properties.cpp:636 msgid "GPS DOP" msgstr "GPS DOP" #: src/properties.cpp:636 msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "Etiqueta GPS 11, 0x0B. Graos de precisión para os datos GPS." #: src/properties.cpp:637 src/tags.cpp:2002 msgid "GPS Speed Reference" msgstr "Referencia GPS de velocidade" #: src/properties.cpp:637 msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "Etiqueta GPS 12, 0x0C. Unidades usadas para a medida da velocidade." #: src/properties.cpp:638 src/tags.cpp:2006 msgid "GPS Speed" msgstr "Velocidade GPS" #: src/properties.cpp:638 msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "Etiqueta GPS 13, 0x0D. Velocidade de movemento do receptor GPS." #: src/properties.cpp:639 msgid "GPS Track Reference" msgstr "Referencia GPS de rastrexo" #: src/properties.cpp:639 msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "Etiqueta GPS 14, 0x0E. Referencia para a dirección do movemento." #: src/properties.cpp:640 src/tags.cpp:2013 msgid "GPS Track" msgstr "Rastrexo GPS" #: src/properties.cpp:640 msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" "Etiqueta GPS 15, 0x0F. Dirección do movemento GPS, rango de valores de 0 a " "359,99." #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 msgid "GPS Image Direction Reference" msgstr "Referencia GPS de dirección da imaxe" #: src/properties.cpp:641 msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "Etiqueta GPS 16, 0x10. Referencia para a dirección da imaxe." #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 msgid "GPS Image Direction" msgstr "Dirección GPS da imaxe" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" "Etiqueta GPS 17, 0x11. Dirección da imaxe cando se captura, rango de valores " "de 0 a 359,99." #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 msgid "GPS Map Datum" msgstr "Datos GPS de mapa" #: src/properties.cpp:643 msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "Etiqueta GPS 18, 0x12. Datos de levantamento geodésico." #: src/properties.cpp:644 src/tags.cpp:2033 msgid "GPS Destination Latitude" msgstr "Latitude GPS do destino" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" "Etiqueta GPS 20, 0x14 (posición) e 19, 0x13 (norte/sur). Indica a latitude " "do destino." #: src/properties.cpp:645 src/tags.cpp:2045 msgid "GPS Destination Longitude" msgstr "Lonxitude GPS do destino" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" "Etiqueta GPS 22, 0x16 (posición) e 21, 0x15 (leste/oeste). Indica a " "lonxitude do destino." #: src/properties.cpp:646 src/tags.cpp:2052 msgid "GPS Destination Bearing Reference" msgstr "Referencia GPS ao punto de destino" #: src/properties.cpp:646 msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "Etiqueta GPS 23, 0x17. Referencia para a dirección do movemento." #: src/properties.cpp:647 src/tags.cpp:2056 msgid "GPS Destination Bearing" msgstr "Punto GPS de destino" #: src/properties.cpp:647 msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "Etiqueta GPS 24, 0x18. Punto de destino, valores de 0 a 359,99." #: src/properties.cpp:648 src/tags.cpp:2060 #, fuzzy msgid "GPS Destination Distance Reference" msgstr "Referencia GPS de distancia ao destino" #: src/properties.cpp:648 msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "" "Etiqueta GPS 25, 0x19. Unidades utilizadas para a medición da velocidade." #: src/properties.cpp:649 src/tags.cpp:2064 msgid "GPS Destination Distance" msgstr "Distancia GPS do destino" #: src/properties.cpp:649 msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "Etiqueta GPS 26, 0x1A. Distancia ao destino." #: src/properties.cpp:650 src/tags.cpp:2067 msgid "GPS Processing Method" msgstr "Método GPS de proceso" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" "Etiqueta GPS 27, 0x1B. Unha cadea de caracteres gravando no nome do método " "usado para atopar a localización." #: src/properties.cpp:651 src/tags.cpp:2072 msgid "GPS Area Information" msgstr "Información GPS da área" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "" "Etiqueta GPS 28, 0x1C. Unha cadea de caracteres gravando o nome da área GPS." #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "Diferencial GPS" #: src/properties.cpp:652 msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "" "Etiqueta GPS 30, 0x1E. Indica se se aplica a corrección diferencial ao " "receptor GPS." #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "" "Unha descrición da lente empregada para tomar a fotografía. Por exemplo, " "«70-200 mm f/2.8-4.0»." #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "" "O número de serie da cámara ou do corpo da cámara empregado para tomar a " "fotografía." #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "Información de contacto do creador" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" "A información de contacto co creador fornece toda a información necesaria " "para poñerse en contacto co creador deste obxecto de noticias e comprenden " "un conxunto de propiedades secundarias para o correcto encamiñamento." #: src/properties.cpp:667 msgid "Contact Info-Address" msgstr "Información de contacto do enderezo" #: src/properties.cpp:667 #, fuzzy msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" "A parte da información de contacto dun enderezo. Consta dun nome opcional de " "compañía e toda a información requirida para localizar o edificio ou " "distrito postal ao que debe enviarse o correo." #: src/properties.cpp:669 msgid "Contact Info-City" msgstr "Información de contacto da ciudade." #: src/properties.cpp:669 #, fuzzy msgid "sub-key Creator Contact Info: city." msgstr "Información de contacto do creador" #: src/properties.cpp:670 msgid "Contact Info-State/Province" msgstr "Información de contacto do estado/provincia." #: src/properties.cpp:670 #, fuzzy msgid "sub-key Creator Contact Info: state or province." msgstr "Información de contacto do estado/provincia." #: src/properties.cpp:671 msgid "Contact Info-Postal Code" msgstr "Información de contacto do código postal." #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "" #: src/properties.cpp:672 msgid "Contact Info-Country" msgstr "Información de contacto do país" #: src/properties.cpp:672 #, fuzzy msgid "sub-key Creator Contact Info: country." msgstr "Información de contacto do creador" #: src/properties.cpp:673 msgid "Contact Info-Email" msgstr "Información de contacto do correo-e" #: src/properties.cpp:673 #, fuzzy msgid "sub-key Creator Contact Info: email address." msgstr "A parte da información do correo-e" #: src/properties.cpp:674 msgid "Contact Info-Phone" msgstr "Información de contacto do teléfono" #: src/properties.cpp:674 #, fuzzy msgid "sub-key Creator Contact Info: phone number." msgstr "Información de contacto do creador" #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "Información de contacto Web URL" #: src/properties.cpp:675 #, fuzzy msgid "sub-key Creator Contact Info: web address." msgstr "Información de contacto do creador" #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "Xénero intelectual" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" "Describe a natureza, intelectual ou características periodísticas dun " "obxecto de noticias, non especificamente o seu contido." #: src/properties.cpp:678 msgid "IPTC Scene" msgstr "Escena IPTC" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" "Describe a escena do contido dunha foto. Especifica un ou máis términos do " "IPTC «Escena-Códigos de noticias». Cada escenario está representado como " "unha cadea de 6 díxitos nunha lista non ordenada." #: src/properties.cpp:680 msgid "IPTC Subject Code" msgstr "Código IPTC do suxeito" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" "Especifica un ou máis Suxeito da taxonomía ITPC «Suxeito-Códigos de " "noticias» para clasificar o contido. Cada suxeito está representado como " "unha cadea de 8 díxitos nunha lista non ordenada." #: src/properties.cpp:682 msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" #: src/properties.cpp:687 #, fuzzy msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" "Código do país no que está enfocado o contido -- ou o país que se mostra nos " "medios visuai ou referenciado no texto ou medio de son. Este elemento é o " "primeiro/superior nivel dunha xerarquía descendente. O código debe tomarse " "do código de dúas ou tres letras ISO 3166. O nome completo dun país debería " "ir no elemento «País»." #: src/properties.cpp:696 msgid "Additional model info" msgstr "Información adicional do modelo" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" "Información sobre a orixe étnica e outros factores do(s) modelo(s) nunha " "imaxe de modelo publicada." #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "Código da organización caracterizada" #: src/properties.cpp:697 #, fuzzy msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "Nome da organización ou compañía destacada na imaxe." #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" #: src/properties.cpp:699 msgid "Model age" msgstr "Idade do modelo" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "Idade do modelo humano no momento no que se tomou a imaxe publicada" #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "Nome da organización destacada" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "Nome da organización ou compañía destacada na imaxe." #: src/properties.cpp:701 msgid "Person shown" msgstr "Persoa mostrada" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "Nome da persoa mostrada na imaxe." #: src/properties.cpp:702 msgid "Digital Image Identifier" msgstr "Identificador da imaxe dixital" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" "Identificador global único da imaxe dixital. O creador da imaxe dixital " "estabelece este valor no momento da súa creación. Non será modificada " "posteriormente." #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "Tipo físico da foto orixinal" #: src/properties.cpp:703 msgid "The type of the source digital file." msgstr "O tipo da orixe do ficheiro dixital." #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 msgid "Event" msgstr "Suceso" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "Nomea ou describe o suceso específico no que foi tomada a fotografía." #: src/properties.cpp:705 msgid "Maximum available height" msgstr "Altura máxima dispoñíbel" #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" "A altura máxima en píxeles da foto orixinal desde a que se derivou a " "mediante redución de tamaño." #: src/properties.cpp:706 msgid "Maximum available width" msgstr "Largura máxima dispoñíbel" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" "A largura máxima en píxeles da foto orixinal desde a que se derivou a " "mediante redución de tamaño." #: src/properties.cpp:707 msgid "Registry Entry" msgstr "Rexistro de entrada" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" "Tanto un ID de rexistro de elemento como un ID de rexistro de organización " "para almacenar calquera rexistro desta imaxe dixital cun rexistro." #: src/properties.cpp:708 msgid "Registry Entry-Item Identifier" msgstr "Rexistro Entrada/Identificador de elemento" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" "Un identificador único creado por un rexistro e aplicado polo creador da " "imaxe dixital. Este valor non debería cambiarse tras seren aplicado. O " "identificador está asociado ao correspondente identificador de rexistro de " "organización." #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "Rexistro Entrada/Identificador de organización" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" "Un identificador para o rexistro emitido polo correspondente ID de rexistro " "de imaxe." #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "Último campo IPTC editado" #: src/properties.cpp:710 msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "" "A data e, opcionalmente, a hora na que calquera dos campos IPTC da foto " "foron editados últimamente." #: src/properties.cpp:711 msgid "Location shown" msgstr "Lugar mostrado" #: src/properties.cpp:711 msgid "A location shown in the image." msgstr "O lugar mostrado na imaxe." #: src/properties.cpp:712 msgid "Location Created" msgstr "Lugar de creación" #: src/properties.cpp:712 msgid "The location the photo was taken." msgstr "O lugar onde se tomou a fotografía." #: src/properties.cpp:713 msgid "Location-City" msgstr "Lugar - Cidade" #: src/properties.cpp:713 msgid "Name of the city of a location." msgstr "Nome da cidade de localización." #: src/properties.cpp:714 msgid "Location-Country ISO-Code" msgstr "Lugar - Código ISO do país" #: src/properties.cpp:714 msgid "The ISO code of a country of a location." msgstr "O código ISO do país." #: src/properties.cpp:715 msgid "Location-Country Name" msgstr "Lugar - Nome do país" #: src/properties.cpp:715 msgid "The name of a country of a location." msgstr "O nome do país de localización." #: src/properties.cpp:716 msgid "Location-Province/State" msgstr "Lugar - Provincia/Estado" #: src/properties.cpp:716 msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "" "O nome dunha subrexión dun país - unha provincia ou estado - de unha " "localización." #: src/properties.cpp:717 msgid "Location-Sublocation" msgstr "Lugar - Sublocalización" #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" "Nome de unha sublocalización. Esta sublocalización pode ser tanto o nome de " "unha sublocalización de unha cidade ou o nome dun lugar moi coñecido ou " "monumento (natural) fora duna cidade." #: src/properties.cpp:718 msgid "Location-World Region" msgstr "Lugar - Rexión mundial" #: src/properties.cpp:718 msgid "The name of a world region of a location." msgstr "O nome da rexión mundial dunha localización" #: src/properties.cpp:719 msgid "Artwork or object in the image" msgstr "Ilustración ou obxecto na imaxe" #: src/properties.cpp:719 msgid "A set of metadata about artwork or an object in the image." msgstr "Un conxunto de metadatos sobre a ilustración ou un obxecto da imaxe." #: src/properties.cpp:720 msgid "Artwork or object-Copyright notice" msgstr "Ilustración ou obxecto - Aviso de Dereitos de autoría" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" "Contén calquera aviso sobre os dereitos de autoría necesario para reclamar a " "propiedade intelectual da ilustración ou obxecto da imaxe, e debe " "identificar ao actual propietario dos dereitos de autoría da obra xunto cos " "correspondentes dereitos de propiedade intelectual." #: src/properties.cpp:721 msgid "Artwork or object-Creator" msgstr "Ilustración ou obxecto - Creador" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" "Contén o nome do artista que creou a ilustración ou o obxecto da imaxe. Nos " "casos nos que o artista non poida ou non deba ser identificado, pode " "incluírse o nome da compañía ou organización." #: src/properties.cpp:722 msgid "Artwork or object-Date Created" msgstr "Ilustración ou obxecto - Data de creación" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" "Designa a data e opcionalmente a hora na que foi creada a ilustración ou o " "obxecto da imaxe. Refírese ás ilustracións ou obxectos que posúan dereitos " "de propiedade intelectual asociados." #: src/properties.cpp:723 msgid "Artwork or object-Source" msgstr "Ilustración ou obxecto - Orixe" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" "A organización ou organismo de explotación e rexistro da ilustración ou " "obxecto da imaxe con fins de inventariado." #: src/properties.cpp:724 msgid "Artwork or object-Source inventory number" msgstr "Ilustración ou obxecto - Número de inventario orixinal" #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" "O número de inventario emitido pola organización ou organismo de explotación " "que rexistrou a ilustración ou obxecto da imaxe." #: src/properties.cpp:725 msgid "Artwork or object-Title" msgstr "Ilustración ou obxecto - Título" #: src/properties.cpp:725 msgid "A reference for the artwork or object in the image." msgstr "Unha referencia para a ilustración ou o obxecto da imaxe." #: src/properties.cpp:732 msgid "Scan from film" msgstr "Escanear desde filme" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "Escanear desde unha transparencia (incluíndo diapositivas)" #: src/properties.cpp:734 msgid "Scan from print" msgstr "Escanear desde impresión." #: src/properties.cpp:735 msgid "Camera RAW" msgstr "Cámara en bruto" #: src/properties.cpp:736 msgid "Camera TIFF" msgstr "Cámara TIFF" #: src/properties.cpp:737 msgid "Camera JPEG" msgstr "Cámara JPEG" #: src/properties.cpp:742 msgid "PLUS Version" msgstr "Versión PLUS" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "" "O número de versión dos estándares PLUS no lugar no momento da transacción." #: src/properties.cpp:743 msgid "Licensee" msgstr "Licenciatario" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "" "Parte ou partes ás que se lle concede a licenza polo(s) licenciador(es) en " "virtude da transacción de licenza." #: src/properties.cpp:744 msgid "Licensee ID" msgstr "ID do licenciatario" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "ID PLUS opcional identificando cada licenciatario." #: src/properties.cpp:745 msgid "Licensee Name" msgstr "Nome do licenciatario" #: src/properties.cpp:745 msgid "Name of each Licensee." msgstr "Nome de cada licenciatario" #: src/properties.cpp:746 msgid "End User" msgstr "Usuario final" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "Grupo ou grupos que, finalmente, farán uso da imaxe licenciada." #: src/properties.cpp:747 msgid "End User ID" msgstr "ID do usuario final" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "ID PLUS opcional de cada usuario final." #: src/properties.cpp:748 msgid "End User Name" msgstr "Nome do usuario final" #: src/properties.cpp:748 msgid "Name of each End User." msgstr "Nome de cada usuario final." #: src/properties.cpp:749 msgid "Licensor" msgstr "Licenciador" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "Parte ou partes que garantizan a licenza do licenciatario." #: src/properties.cpp:750 msgid "Licensor ID" msgstr "ID do licenciador" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "ID PLUS opcional identificando cada licenciador." #: src/properties.cpp:751 msgid "Licensor Name" msgstr "Nome do licenciador" #: src/properties.cpp:751 msgid "Name of each Licensor." msgstr "Nome de cada licenciador" #: src/properties.cpp:752 msgid "Licensor Address" msgstr "Enderezo do licenciador" #: src/properties.cpp:752 msgid "Licensor street address." msgstr "Rúa do enderezo do licenciador." #: src/properties.cpp:753 msgid "Licensor Address Detail" msgstr "Detalle do enderezo do licenciador." #: src/properties.cpp:753 msgid "Additional Licensor mailing address details." msgstr "Detalles adicionais do enderezo postal do licenciador." #: src/properties.cpp:754 msgid "Licensor City" msgstr "Cidade do licenciador" #: src/properties.cpp:754 msgid "Licensor City name." msgstr "Nome da cidade do licenciador." #: src/properties.cpp:755 msgid "Licensor State or Province" msgstr "Estado ou provincia do licenciador" #: src/properties.cpp:755 msgid "Licensor State or Province name." msgstr "Nome do estado ou provincia do licenciador." #: src/properties.cpp:756 msgid "Licensor Postal Code" msgstr "Código postal do licenciador" #: src/properties.cpp:756 msgid "Licensor Postal Code or Zip Code." msgstr "Código postal do licenciador ou código Zip." #: src/properties.cpp:757 msgid "Licensor Country" msgstr "País do licenciador" #: src/properties.cpp:757 msgid "Licensor Country name." msgstr "Nome do país do licenciador." #: src/properties.cpp:758 msgid "Licensor Telephone Type 1" msgstr "Teléfono do licenciador tipo 1" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1." msgstr "Teléfono do licenciador tipo 1." #: src/properties.cpp:759 msgid "Licensor Telephone 1" msgstr "Teléfono do licenciador 1" #: src/properties.cpp:759 msgid "Licensor Telephone number 1." msgstr "Teléfono do licenciador número 1." #: src/properties.cpp:760 msgid "Licensor Telephone Type 2" msgstr "Teléfono do licenciador tipo 2" #: src/properties.cpp:760 msgid "Licensor Telephone Type 2." msgstr "Teléfono do licenciador tipo 2." #: src/properties.cpp:761 msgid "Licensor Telephone 2" msgstr "Teléfono do licenciador 2" #: src/properties.cpp:761 msgid "Licensor Telephone number 2." msgstr "Teléfono do licenciador número 2." #: src/properties.cpp:762 msgid "Licensor Email" msgstr "Correo-e do licenciador" #: src/properties.cpp:762 msgid "Licensor Email address." msgstr "Enderezo de correo-e do licenciador." #: src/properties.cpp:763 msgid "Licensor URL" msgstr "URL do licenciador" #: src/properties.cpp:763 msgid "Licensor world wide web address." msgstr "Enderezo web do licenciador." #: src/properties.cpp:764 msgid "Licensor Notes" msgstr "Notas do licenciador" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" "Información suplementaria para usar na identificación e contacto do(s) " "licenciador(es)." #: src/properties.cpp:765 msgid "PLUS Media Summary Code" msgstr "Código de resumo de medios PLUS" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" "Cadea de código alfanumérico seguindo o estándar PLUS que resume o uso dos " "medios incluídos na licenza." #: src/properties.cpp:766 msgid "License Start Date" msgstr "Data de inicio da licenza" #: src/properties.cpp:766 msgid "The date on which the license takes effect." msgstr "A data na que a licenza entra en vigor." #: src/properties.cpp:767 msgid "License End Date" msgstr "Data de remate da licenza" #: src/properties.cpp:767 msgid "The date on which the license expires." msgstr "A data na que caduca a licenza." #: src/properties.cpp:768 msgid "Media Constraints" msgstr "Restricións do medio" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" "Restricións que limitan o alcance de uso (ou usos) do medio PLUS incluído na " "licenza para outro medio de nome especificado ou non na matriz de medios " "PLUS." #: src/properties.cpp:769 msgid "Region Constraints" msgstr "Restricións de rexión" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" "Restricións que limitan o alcance da distribución xeográfica a determinadas " "cidades, estados, provincias ou outras áreas por incluír ou excluídas das " "rexións PLUS concretadas no uso dos medios especificados na licenza." #: src/properties.cpp:770 msgid "Product or Service Constraints" msgstr "Restricións do produto ou servizo" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" "Restricións limitando o uso da imaxe para promover ou asociar cun produto ou " "servizo nomeado." #: src/properties.cpp:771 msgid "Image File Constraints" msgstr "Restricións do ficheiro de imaxe" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "" "Restricións no cambio de nome do ficheiro de imaxe, metadatos ou tipo de " "ficheiro." #: src/properties.cpp:772 msgid "Image Alteration Constraints" msgstr "Restricións de modificación da imaxe" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" "Restricións sobre a modificación da imaxe por recorte, volteo, retoque, " "coloreado, descolorado ou mesturado" #: src/properties.cpp:773 msgid "Image Duplication Constraints" msgstr "Restricións de duplicado da imaxe" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "Restricións na creación de duplicados da imaxe." #: src/properties.cpp:774 msgid "Model Release Status" msgstr "Estado do modelo publicado" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" "Resume a dispoñibilidade e o alcance dos modelos publicados, autorizando o " "uso das semellanzas de persoas que aparecen na fotografía." #: src/properties.cpp:775 msgid "Model Release ID" msgstr "ID do modelo publicado" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "Identificador opcional asociado con cada publicación do modelo." #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "Divulgación da idade dun modelo menor." #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "" "Idade do modelo máis novo que aparece na imaxe, no momento no que a imaxe " "foi tomada." #: src/properties.cpp:777 msgid "Property Release Status" msgstr "Estado da propiedade da publicación." #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" "Resume a dispoñibilidade e o alcance da propiedade da publicación, " "autorizando o uso das propiedades que aparecen na fotografía." #: src/properties.cpp:778 msgid "Property Release ID" msgstr "ID da propiedade da publicación" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "Identificador opcional asociado con cada propiedade da publicación." #: src/properties.cpp:779 msgid "Other Constraints" msgstr "Outras restricións" #: src/properties.cpp:779 msgid "Additional constraints on the license." msgstr "Restricións adicionais da licenza." #: src/properties.cpp:780 msgid "Credit Line Required" msgstr "Liña de crédito requirida" #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "Requisitos de atribución, no caso de habelos." #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "Aviso de contido para adultos" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "Aviso que indica a presencia de contido non apto para menores." #: src/properties.cpp:782 msgid "Other License Requirements" msgstr "Outros requisitos da licenza" #: src/properties.cpp:782 msgid "Additional license requirements." msgstr "Requisitos adicionais da licenza." #: src/properties.cpp:783 msgid "Terms and Conditions Text" msgstr "Termos e condicións (texto)" #: src/properties.cpp:783 msgid "Terms and Conditions applying to the license." msgstr "Termos e condicións da licenza." #: src/properties.cpp:784 msgid "Terms and Conditions URL" msgstr "URL dos termos e condicións" #: src/properties.cpp:784 msgid "URL for Terms and Conditions applying to the license." msgstr "URL dos termos e condicións da licenza" #: src/properties.cpp:785 msgid "Other License Conditions" msgstr "Outras condicións da licenza" #: src/properties.cpp:785 msgid "Additional license conditions." msgstr "Condicións adicionais da licenza." #: src/properties.cpp:786 msgid "Identifies the type of image delivered." msgstr "Identifica o tipo de imaxe fornecido." #: src/properties.cpp:787 msgid "Licensor Image ID" msgstr "ID da imaxe, do licenciador" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "Identificador opcional asignado polo licenciador da imaxe." #: src/properties.cpp:788 msgid "Image File Name As Delivered" msgstr "Nome do ficheiro de imaxe tal e como se forneceu" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "" "Nome do ficheiro de imaxe fornecido ao licenciatario para o seu uso baixo " "licenza." #: src/properties.cpp:789 msgid "Image File Format As Delivered" msgstr "Formato do ficheiro de imaxe tal e como se forneceu" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "" "Formato do ficheiro de imaxe fornecido ao licenciatario para o seu uso baixo " "licenza." #: src/properties.cpp:790 msgid "Image File Size As Delivered" msgstr "Tamaño do ficheiro de imaxe tal e como se forneceu" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "Tamaño do ficheiro de imaxe fornecido ao licenciatario." #: src/properties.cpp:791 msgid "Copyright Status" msgstr "Estado dos dereitos de autoría" #: src/properties.cpp:791 msgid "Copyright status of the image." msgstr "Estado dos dereitos de autoría da imaxe" #: src/properties.cpp:792 msgid "Copyright Registration Number" msgstr "Número de rexistro dos dereitos de autoría" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" "Número de rexistro dos dereitos de autoría, no caso de habelo, aplicado á " "imaxe licenciada." #: src/properties.cpp:793 msgid "First Publication Date" msgstr "Data da primeira publicación" #: src/properties.cpp:793 msgid "The date on which the image was first published." msgstr "A data na que a imaxe foi publicada por primeira vez." #: src/properties.cpp:794 msgid "Copyright Owner" msgstr "Propietario dos dereitos de autoría" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "" "Propietario ou propietarios dos dereitos de autoría da imaxe licenciada." #: src/properties.cpp:795 msgid "Copyright Owner ID" msgstr "ID do propietario dos dereitos de autoría" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "" "Número de identificación opcional de cada propietario dos dereitos de " "autoría." #: src/properties.cpp:796 msgid "Copyright Owner Name" msgstr "Nome do propietario dos dereitos de autoría" #: src/properties.cpp:796 msgid "Name of Copyright Owner." msgstr "Nome do propietario dos dereitos de autoría." #: src/properties.cpp:797 msgid "Copyright Owner Image ID" msgstr "ID da imaxe, do propietario dos dereitos de autoría" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "" "Identificador opcional asignado ao propietario dos dereitos de autoría da " "imaxe." #: src/properties.cpp:798 msgid "Image Creator" msgstr "Creador da imaxe" #: src/properties.cpp:798 msgid "Creator/s of the image." msgstr "Creador(es) da imaxe." #: src/properties.cpp:799 msgid "Image Creator ID" msgstr "Imaxe ID do creador." #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "ID PLUS opcional de identificación de cada creador da imaxe." #: src/properties.cpp:800 msgid "Image Creator Name" msgstr "Nome do creador da imaxe" #: src/properties.cpp:800 msgid "Name of Image Creator." msgstr "Nome do creador da imaxe." #: src/properties.cpp:801 msgid "Image Creator Image ID" msgstr "ID da imaxe, do creador da imaxe" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "Identificador opcional asignado á imaxe polo creador da imaxe." #: src/properties.cpp:802 msgid "Image Supplier ID" msgstr "ID do fornecedor da imaxe" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "ID PLUS opcional de identificación do fornecedor da imaxe." #: src/properties.cpp:803 msgid "Image Supplier Name" msgstr "Nome do fornecedor da imaxe" #: src/properties.cpp:803 msgid "Name of Image Supplier." msgstr "Nome do fornecedor da imaxe" #: src/properties.cpp:804 msgid "Image Supplier Image ID" msgstr "ID da imaxe, do fornecedor da imaxe" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "Identificador opcional da imaxe asignado polo fornecedor da imaxe." #: src/properties.cpp:805 msgid "Licensee Image ID" msgstr "ID da imaxe, do licenciatario" #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "Identificador opcional asignado polo licenciatario á imaxe." #: src/properties.cpp:806 msgid "Licensee Image Notes" msgstr "Notas da imaxe, do licenciatario" #: src/properties.cpp:806 msgid "Notes added by Licensee." msgstr "Notas engadidas polo licenciatario." #: src/properties.cpp:807 msgid "Other Image Info" msgstr "Outra información da imaxe" #: src/properties.cpp:807 msgid "Additional image information." msgstr "Información adicional sobre a imaxe." #: src/properties.cpp:808 msgid "License ID" msgstr "ID da licenza" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "" "Número de identificación opcional da licenza asignado polo licenciador." #: src/properties.cpp:809 msgid "Licensor Transaction ID" msgstr "ID da transacción do licenciador" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "" "Identificador asignado polo licenciador para referencia e uso interno do " "licenciador." #: src/properties.cpp:810 msgid "Licensee Transaction ID" msgstr "ID da transacción do licenciatario" #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" "Identificador asignado polo licenciatario para referencia e uso interno do " "licenciatario." #: src/properties.cpp:811 msgid "Licensee Project Reference" msgstr "Referencia do proyecto do licenciatario" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "" "Nome do proyecto de referencia ou descripción asignada polo licenciatario." #: src/properties.cpp:812 msgid "License Transaction Date" msgstr "Data de transacción da licenza" #: src/properties.cpp:812 msgid "The date of the License Transaction." msgstr "A data da transacción da licenza." #: src/properties.cpp:813 msgid "Reuse" msgstr "Reutilización" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" "Indica se unha licenza é a inicial ou unha réplica. A reutilización pode " "requirir que as licenzas almacenadas en ficheiros distribuídos previamente " "ao cliente sexan actualizadas." #: src/properties.cpp:814 msgid "Other License Documents" msgstr "Outros documentos da licenza" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "" "Información de referencia para documentos adicionais asociados coa licenza." #: src/properties.cpp:815 msgid "Other License Info" msgstr "Outra información da licenza" #: src/properties.cpp:815 msgid "Additional license information." msgstr "Información adicional da licenza." #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "Campo opcional para uso discrecional do licenciador." #: src/properties.cpp:819 msgid "Custom 4" msgstr "Personalizado 4" #: src/properties.cpp:820 msgid "Custom 5" msgstr "Personalizado 5" #: src/properties.cpp:821 msgid "Custom 6" msgstr "Personalizado 6" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "Campo opcional para uso discrecional do licenciatario." #: src/properties.cpp:822 msgid "Custom 7" msgstr "Personalizado 7" #: src/properties.cpp:823 msgid "Custom 8" msgstr "Personalizado 8" #: src/properties.cpp:824 msgid "Custom 9" msgstr "Personalizado 9" #: src/properties.cpp:825 msgid "Custom 10" msgstr "Personalizado 10" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "Aviso obrigatorio de contido para adultos" #: src/properties.cpp:833 msgid "Not Required" msgstr "Non requirido" #: src/properties.cpp:839 msgid "Protected" msgstr "Protexido" #: src/properties.cpp:840 msgid "Public Domain" msgstr "Dominio público" #: src/properties.cpp:846 msgid "Credit Adjacent To Image" msgstr "" #: src/properties.cpp:847 #, fuzzy msgid "Credit in Credits Area" msgstr "Liña de crédito requirida" #: src/properties.cpp:848 #, fuzzy msgid "Credit on Image" msgstr "Vista previa da imaxe" #: src/properties.cpp:849 msgid "Not Require" msgstr "Non requirido" #: src/properties.cpp:854 msgid "No Colorization" msgstr "Sen colorear" #: src/properties.cpp:855 msgid "No Cropping" msgstr "Sen recorte" #: src/properties.cpp:856 msgid "No De-Colorization" msgstr "Sen descolorar" #: src/properties.cpp:857 msgid "No Flipping" msgstr "Sen voltear" #: src/properties.cpp:858 msgid "No Merging" msgstr "Sen mesturar" #: src/properties.cpp:859 msgid "No Retouching" msgstr "Sen retoque" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "Duplicación só cando sexa necesario pola licenza" #: src/properties.cpp:865 msgid "No Duplication Constraints" msgstr "Sen restricións de duplicación" #: src/properties.cpp:866 msgid "No Duplication" msgstr "Sen duplicación" #: src/properties.cpp:871 msgid "Maintain File Name" msgstr "Manter o nome do ficheiro" #: src/properties.cpp:872 msgid "Maintain File Type" msgstr "Manter o tipo de ficheiro" #: src/properties.cpp:873 msgid "Maintain ID in File Name" msgstr "Manter o ID no nome do ficheiro" #: src/properties.cpp:874 msgid "Maintain Metadata" msgstr "Manter os metadatos" #: src/properties.cpp:879 msgid "Windows Bitmap (BMP)" msgstr "Mapa de bits de Windows (BMP)" #: src/properties.cpp:880 msgid "Digital Negative (DNG)" msgstr "Negativo dixital (DNG)" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "PostScript encapsulado (EPS)" #: src/properties.cpp:882 msgid "Graphics Interchange Format (GIF)" msgstr "Formato de intercambio de gráficos (GIF)" #: src/properties.cpp:883 msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "Formato de intercambio JPEG (JPG, JIF, JFIF)" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "Imaxe Macintosh (PICT)" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "Gráficos de rede portábeis (PNG)" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "Documento Photoshop (PSD)" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "Formato de imaxe RAW propietario" #: src/properties.cpp:889 msgid "Tagged Image File Format (TIFF)" msgstr "Formato de ficheiro de imaxe etiquetado (TIFF)" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "Foto de Windows Media (Foto HD)" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "Maior que 50 MB" #: src/properties.cpp:896 msgid "Up to 1 MB" msgstr "Ata 1 MB" #: src/properties.cpp:897 msgid "Up to 10 MB" msgstr "Ata 10 MB" #: src/properties.cpp:898 msgid "Up to 30 MB" msgstr "Ata 30 MB" #: src/properties.cpp:899 msgid "Up to 50 MB" msgstr "Ata 50 MB" #: src/properties.cpp:904 msgid "Illustrated Image" msgstr "Imaxe ilustrada" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "Imaxe composta ou multimedia" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "Imaxe fotográfica" #: src/properties.cpp:913 msgid "Cell" msgstr "Cela" #: src/properties.cpp:914 msgid "FAX" msgstr "FAX" #: src/properties.cpp:916 msgid "Pager" msgstr "Buscapersoas" #: src/properties.cpp:917 msgid "Work" msgstr "Traballo" #: src/properties.cpp:922 msgid "Age Unknown" msgstr "Idade descoñecida" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "25 anos ou máis" #: src/properties.cpp:924 msgid "Age 24" msgstr "24 anos" #: src/properties.cpp:925 msgid "Age 23" msgstr "23 anos" #: src/properties.cpp:926 msgid "Age 22" msgstr "22 anos" #: src/properties.cpp:927 msgid "Age 21" msgstr "21 anos" #: src/properties.cpp:928 msgid "Age 20" msgstr "20 anos" #: src/properties.cpp:929 msgid "Age 19" msgstr "19 anos" #: src/properties.cpp:930 msgid "Age 18" msgstr "10 anos" #: src/properties.cpp:931 msgid "Age 17" msgstr "17 anos" #: src/properties.cpp:932 msgid "Age 16" msgstr "16 anos" #: src/properties.cpp:933 msgid "Age 15" msgstr "15 anos" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "14 anos ou menos" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "Non aplicábel" #: src/properties.cpp:941 msgid "Unlimited Model Releases" msgstr "Publicacións ilimitadas do modelo" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "Publicacións limitadas ou incompletas do modelo" #: src/properties.cpp:949 #, fuzzy msgid "Unlimited Property Releases" msgstr "Publicacións ilimitadas do modelo" #: src/properties.cpp:950 #, fuzzy msgid "Limited or Incomplete Property Releases" msgstr "Publicacións limitadas ou incompletas do modelo" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "Repetir uso" #: src/properties.cpp:960 src/properties.cpp:969 #, fuzzy msgid "Fixture Identification" msgstr "Identificación do modelo" #: src/properties.cpp:961 src/properties.cpp:970 msgid "Status" msgstr "Estado" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "Unha notación facendo única a imaxe" #: src/properties.cpp:962 src/properties.cpp:971 msgid "People" msgstr "Xente" #: src/properties.cpp:963 src/properties.cpp:972 msgid "Catalog Sets" msgstr "" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "" #: src/properties.cpp:978 #, fuzzy msgid "RegionInfo" msgstr "Rexións" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "" #: src/properties.cpp:984 src/properties.cpp:1000 msgid "Regions" msgstr "Rexións" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "" #: src/properties.cpp:985 #, fuzzy msgid "Date Regions Valid" msgstr "Data e hora orixinal" #: src/properties.cpp:985 #, fuzzy msgid "Date the last region was created" msgstr "A data na que se publicou o título." #: src/properties.cpp:991 #, fuzzy msgid "Person Display Name" msgstr "Nome do perfil" #: src/properties.cpp:991 #, fuzzy msgid "Name of the person (in the given rectangle)" msgstr "Nome da persoa mostrada na imaxe." #: src/properties.cpp:992 msgid "Rectangle" msgstr "Rectángulo" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "" #: src/properties.cpp:993 msgid "Person Email Digest" msgstr "" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "" #: src/properties.cpp:994 msgid "Person LiveId CID" msgstr "" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "" #: src/properties.cpp:1001 #, fuzzy msgid "Applied To Dimensions" msgstr "Dimensión píxel X" #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "" #: src/properties.cpp:1002 #, fuzzy msgid "Region List" msgstr "Rexións" #: src/properties.cpp:1002 #, fuzzy msgid "List of Region structures" msgstr "Estrutura da versión" #: src/properties.cpp:1003 msgid "Area" msgstr "Área" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" #: src/properties.cpp:1007 #, fuzzy msgid "Focus Usage" msgstr "Rango do enfoque" #: src/properties.cpp:1008 #, fuzzy msgid "Bar Code Value" msgstr "Valor da forcada" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "" #: src/properties.cpp:1009 msgid "Extensions" msgstr "Extensións" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "" #: src/properties.cpp:1015 msgid "Main structure containing keyword based information" msgstr "" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "" #: src/properties.cpp:1016 msgid "List of root keyword structures" msgstr "" #: src/properties.cpp:1017 #, fuzzy msgid "Keyword" msgstr "Palabras clave" #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "" #: src/properties.cpp:1018 msgid "Applied" msgstr "" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" #: src/properties.cpp:1019 msgid "List of children keyword structures" msgstr "" #: src/properties.cpp:1026 #, fuzzy msgid "Use Panorama Viewer" msgstr "Modo panorama" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" #: src/properties.cpp:1027 #, fuzzy msgid "Capture Software" msgstr "Datos da captura" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" #: src/properties.cpp:1028 #, fuzzy msgid "Stitching Software" msgstr "Procesando software" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" #: src/properties.cpp:1029 #, fuzzy msgid "Projection Type" msgstr "Tipo de obxecto" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "" #: src/properties.cpp:1034 #, fuzzy msgid "The pitch angle of the initial view in degrees." msgstr "A distancia ao suxeito, dada en metros." #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" #: src/properties.cpp:1037 #, fuzzy msgid "First Photo Date" msgstr "Data da primeira publicación" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "" #: src/properties.cpp:1038 #, fuzzy msgid "Last Photo Date" msgstr "Data da toma" #: src/properties.cpp:1038 msgid "Date and time for the last image created in the panorama." msgstr "" #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "" #: src/properties.cpp:1040 #, fuzzy msgid "Exposure Lock Used" msgstr "Modo de exposición" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" #: src/properties.cpp:1041 msgid "Cropped Area Image Width Pixels" msgstr "" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" #: src/properties.cpp:1042 msgid "Cropped Area Image Height Pixels" msgstr "" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" #: src/properties.cpp:1047 #, fuzzy msgid "Initial Camera Dolly" msgstr "Modelo único da cámara" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" #: src/properties.cpp:1055 #, fuzzy msgid "Archival Location" msgstr "Localización da toma" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "" #: src/properties.cpp:1056 #, fuzzy msgid "Arranger" msgstr "Laranxa" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "" #: src/properties.cpp:1057 #, fuzzy msgid "Arranger Keywords" msgstr "Palabras clave" #: src/properties.cpp:1057 msgid "Information about the Arranger Keywords." msgstr "" #: src/properties.cpp:1059 #, fuzzy msgid "Video Aspect Ratio" msgstr "Relación de aspecto do píxel de vídeo" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "" #: src/properties.cpp:1060 #, fuzzy msgid "Video Aspect Ratio Type" msgstr "Relación de aspecto do píxel de vídeo" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "" #: src/properties.cpp:1062 #, fuzzy msgid "Attached File Description" msgstr "Descrpción da imaxe" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "" #: src/properties.cpp:1064 #, fuzzy msgid "Attached File Name" msgstr "Nome do ficheiro «raw» (bruto)" #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "" #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" #: src/properties.cpp:1068 #, fuzzy msgid "Brightness setting." msgstr "Axuste de nitidez" #: src/properties.cpp:1069 #, fuzzy msgid "Camera Byte Order" msgstr "Orden dos bytes" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "" #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "" #: src/properties.cpp:1070 #, fuzzy msgid "The video Cinematographer information." msgstr "Información dos dereitos de autoría." #: src/properties.cpp:1071 #, fuzzy msgid "Clean Aperture Width" msgstr "Abertura mínima" #: src/properties.cpp:1071 #, fuzzy msgid "Clean aperture width in pixels" msgstr "Máxima abertura a mínimo foco" #: src/properties.cpp:1072 #, fuzzy msgid "Clean Aperture Height" msgstr "Altura da área AF" #: src/properties.cpp:1072 #, fuzzy msgid "Clean aperture height in pixels" msgstr "Máxima abertura a mínimo foco" #: src/properties.cpp:1073 #, fuzzy msgid "Video Codec" msgstr "Compresor de vídeo" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" #: src/properties.cpp:1074 msgid "Video Codec Decode Info" msgstr "" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1075 #, fuzzy msgid "Video Codec Description" msgstr "Descrición do axuste do dispositivo" #: src/properties.cpp:1075 src/properties.cpp:1403 #, fuzzy msgid "Contains description the codec." msgstr "Descrición textual dos datos do obxecto." #: src/properties.cpp:1076 #, fuzzy msgid "Video Codec Information" msgstr "Imaxe e información" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL" msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL." msgstr "" #: src/properties.cpp:1078 #, fuzzy msgid "Video Codec Settings" msgstr "Configuración do modo de axuste" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1083 #, fuzzy msgid "Comment" msgstr "Comentario do rexistro" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned" msgstr "Compresión" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned." msgstr "Compresión" #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1086 msgid "Information about the Composer." msgstr "" #: src/properties.cpp:1087 #, fuzzy msgid "Composer Keywords" msgstr "Palabras clave de Windows" #: src/properties.cpp:1087 msgid "Information about the Composer Keywords." msgstr "" #: src/properties.cpp:1088 #, fuzzy msgid "Compressor" msgstr "Compresión" #: src/properties.cpp:1088 #, fuzzy msgid "Video Compression Library Used" msgstr "Compresor de vídeo" #: src/properties.cpp:1089 #, fuzzy msgid "Video Compressor ID" msgstr "Compresor de vídeo" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "" #: src/properties.cpp:1090 #, fuzzy msgid "Compressor Version" msgstr "Compresión" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "" #: src/properties.cpp:1091 #, fuzzy msgid "Container Type" msgstr "Tipo de cámara" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "" #: src/properties.cpp:1092 #, fuzzy msgid "Content Compression Algorithm" msgstr "Taxa de compresión" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "" #: src/properties.cpp:1097 #, fuzzy msgid "Indicates the direction of contrast processing applied by the camera." msgstr "" "Etiqueta EXIF 41992, 0xA408. Indica a dirección do procesamento de contraste " "usado pola cámara." #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "" #: src/properties.cpp:1100 #, fuzzy msgid "Name of the country where the video was created." msgstr "Nome do documento do que foi escaneada esta imaxe" #: src/properties.cpp:1101 #, fuzzy msgid "Creation Date" msgstr "Data de creación" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" #: src/properties.cpp:1103 #, fuzzy msgid "Pixel Crop Bottom" msgstr "Recorte por embaixo" #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "" #: src/properties.cpp:1104 #, fuzzy msgid "Pixel Crop Left" msgstr "Recorte pola esquerda" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "" #: src/properties.cpp:1105 #, fuzzy msgid "Pixel Crop Right" msgstr "Recorte pola dereita" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "" #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "" #: src/properties.cpp:1107 #, fuzzy msgid "Pixel Crop Top" msgstr "Recotre por enriba" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "" #: src/properties.cpp:1108 #, fuzzy msgid "Current Time" msgstr "Actual perfil ICC" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "" #: src/properties.cpp:1109 #, fuzzy msgid "Data Packets" msgstr "Paquete XML" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "" #: src/properties.cpp:1110 #, fuzzy msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "Data e hora na que se xeraron os datos da imaxe orixinal" #: src/properties.cpp:1111 #, fuzzy msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" "Etiqueta EXIF 36868, 0x9004 (primarias) e 37522, 0x9292 (fraccións de " "segundo). Data e hora na que foi gardada dixitalmente a imaxe; pode ser " "igual á data da imaxe orixinal se foi gardada dixitalmente desde un " "principio. Gardadas no formato ISO 8601. Inclúen os datos " "«SubSecTimeOriginal» (fraccións de segundo do tempo do dixitalizado) de EXIF." #: src/properties.cpp:1113 #, fuzzy msgid "Date-Time Original" msgstr "Data e hora orixinal" #: src/properties.cpp:1113 #, fuzzy msgid "Contains the production date" msgstr "Reprodución de cor" #: src/properties.cpp:1114 msgid "Video Track Default On" msgstr "" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1115 #, fuzzy msgid "Indicates the digital zoom ratio when the video was shot." msgstr "" "Etiqueta EXIF 41988, 0xA404. Indica o nivel do zoom dixital cando se tomou a " "imaxe." #: src/properties.cpp:1116 #, fuzzy msgid "Dimensions" msgstr "Extensións" #: src/properties.cpp:1116 #, fuzzy msgid "Information about the Dimensions of the video frame." msgstr "" "Información sobre a orixe étnica e outros factores do(s) modelo(s) nunha " "imaxe de modelo publicada." #: src/properties.cpp:1117 #, fuzzy msgid "Director" msgstr "Directo" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "" #: src/properties.cpp:1118 #, fuzzy msgid "Video Display Unit" msgstr "Gravar pantalla" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1120 #, fuzzy msgid "Doc Type" msgstr "Tipo de foco" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" #: src/properties.cpp:1121 #, fuzzy msgid "Doc Type Read Version" msgstr "Versión de rexistro" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" #: src/properties.cpp:1122 #, fuzzy msgid "Doc Type Version" msgstr "Versión do modelo" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "" #: src/properties.cpp:1124 #, fuzzy msgid "The duration of the media file. Measured in milli-seconds." msgstr "Duración do ficheiro multimedia." #: src/properties.cpp:1125 #, fuzzy msgid "EBML Read Version" msgstr "Versión de rexistro" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "" #: src/properties.cpp:1126 #, fuzzy msgid "EBML Version" msgstr "Versión ARM" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "" #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "" #: src/properties.cpp:1136 msgid "Edited By" msgstr "" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1137 #, fuzzy msgid "Video Track Enabled" msgstr "Taxa de fotogramas do vídeo" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels width in pixels" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "" #: src/properties.cpp:1141 msgid "Encoder" msgstr "" #: src/properties.cpp:1141 msgid "Information about the Encoder." msgstr "" #: src/properties.cpp:1142 #, fuzzy msgid "End Timecode" msgstr "Código de tempo alternativo" #: src/properties.cpp:1143 msgid "Engineer, in most cases name of person." msgstr "" #: src/properties.cpp:1144 #, fuzzy msgid "Equipment" msgstr "Información do equipamento" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "" #: src/properties.cpp:1145 #, fuzzy msgid "Exposure Compensation Information." msgstr "Axuste da compensación da exposición" #: src/properties.cpp:1146 #, fuzzy msgid "Exposure Program Information." msgstr "Programa de exposición" #: src/properties.cpp:1147 #, fuzzy msgid "Exposure time in seconds." msgstr "Tempo de exposición, en segundos." #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description" msgstr "Descrición do axuste do dispositivo" #: src/properties.cpp:1148 msgid "Extended Content Description, usually found in ASF type files." msgstr "" #: src/properties.cpp:1150 #, fuzzy msgid "File ID" msgstr "Ficheiro" #: src/properties.cpp:1150 #, fuzzy msgid "File ID." msgstr "Ficheiro" #: src/properties.cpp:1151 #, fuzzy msgid "File Length" msgstr "Lonxitude do mosaico" #: src/properties.cpp:1151 #, fuzzy msgid "File length." msgstr "Lonxitude do mosaico" #: src/properties.cpp:1152 #, fuzzy msgid "File Name" msgstr "Nome do ficheiro" #: src/properties.cpp:1152 #, fuzzy msgid "File Name or Absolute File Path" msgstr "Ruta absoluta do ficheiro de picos de son" #: src/properties.cpp:1153 #, fuzzy msgid "File Size" msgstr "Tamaño do ficheiro" #: src/properties.cpp:1153 #, fuzzy msgid "File Size, in MB" msgstr "Tamaño do ficheiro" #: src/properties.cpp:1154 #, fuzzy msgid "File Type" msgstr "Tipo de ficheiro secundario" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "" #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "" #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "" #: src/properties.cpp:1158 #, fuzzy msgid "Focal length of the lens, in millimeters." msgstr "" "Etiqueta EXIF 37386, 0x920A. Lonxitude de enfoque da lente, en milímetros." #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "" #: src/properties.cpp:1161 #, fuzzy msgid "Frame Count" msgstr "Reconto de imaxes" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "" #: src/properties.cpp:1162 #, fuzzy msgid "Frame Height" msgstr "Altura da área AF" #: src/properties.cpp:1162 msgid "Height of frames in a video" msgstr "" #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" #: src/properties.cpp:1165 #, fuzzy msgid "Frame Width" msgstr "Largura da área AF" #: src/properties.cpp:1165 msgid "Width of frames in a video" msgstr "" #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "" #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "" #: src/properties.cpp:1171 #, fuzzy msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "" "Etiqueta GPS 17, 0x11. Dirección da imaxe cando se captura, rango de valores " "de 0 a 359,99." #: src/properties.cpp:1172 #, fuzzy msgid "Reference for image direction." msgstr "Etiqueta GPS 16, 0x10. Referencia para a dirección da imaxe." #: src/properties.cpp:1173 #, fuzzy msgid "(North/South). Indicates latitude." msgstr "" "Etiqueta GPS 2, 0x02 (posición) e 1, 0x01 (norte/sur). Indica latitude." #: src/properties.cpp:1174 #, fuzzy msgid "(East/West). Indicates longitude." msgstr "" "Etiqueta GPS 4, 0x04 (posición) e 3, 0x03 (leste/oeste). Indica lonxitude." #: src/properties.cpp:1175 #, fuzzy msgid "Geodetic survey data." msgstr "Etiqueta GPS 18, 0x12. Datos de levantamento geodésico." #: src/properties.cpp:1176 #, fuzzy msgid "Satellite information, format is unspecified." msgstr "" "Etiqueta GPS 8, 0x08. Información de satélite, o formato non está " "especificado." #: src/properties.cpp:1177 #, fuzzy msgid "Time stamp of GPS data, " msgstr "Metadatos de data e hora con chave" #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "" #: src/properties.cpp:1179 #, fuzzy msgid "Graphics Mode" msgstr "Modo forcada" #: src/properties.cpp:1179 msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" #: src/properties.cpp:1181 #, fuzzy msgid "Grouping" msgstr "Sen recorte" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 #, fuzzy msgid "Handler Description" msgstr "Descrpción da imaxe" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 #, fuzzy msgid "Handler Type" msgstr "Tipo de escala" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Handler Vendor ID" msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 #, fuzzy msgid "Component manufacturer." msgstr "Fabricante das lentes." #: src/properties.cpp:1186 #, fuzzy msgid "Video Height" msgstr "Altura do sensor" #: src/properties.cpp:1186 src/properties.cpp:1309 msgid "Video height in pixels" msgstr "" #: src/properties.cpp:1187 #, fuzzy msgid "Hue Adjustment Settings Information." msgstr "Configuración do axuste da imaxe" #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "" #: src/properties.cpp:1189 msgid "Information Banner Image." msgstr "" #: src/properties.cpp:1190 #, fuzzy msgid "Info Banner URL" msgstr "URL base" #: src/properties.cpp:1190 msgid "Information Banner URL." msgstr "" #: src/properties.cpp:1191 #, fuzzy msgid "Information" msgstr "Información do disparo" #: src/properties.cpp:1191 #, fuzzy msgid "Additional Movie Information." msgstr "Información adicional sobre a imaxe." #: src/properties.cpp:1192 #, fuzzy msgid "Info Text" msgstr "Texto" #: src/properties.cpp:1192 #, fuzzy msgid "Information Text." msgstr "Información do disparo" #: src/properties.cpp:1193 #, fuzzy msgid "Info URL" msgstr "URL do licenciador" #: src/properties.cpp:1193 #, fuzzy msgid "Information URL." msgstr "Información do disparo" #: src/properties.cpp:1194 msgid "Information about the ISO Setting." msgstr "" #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "" #: src/properties.cpp:1196 #, fuzzy msgid "Junk Data" msgstr "Datos de lentes" #: src/properties.cpp:1196 msgid "Video Junk data" msgstr "" #: src/properties.cpp:1197 #, fuzzy msgid "Language." msgstr "Idioma" #: src/properties.cpp:1198 #, fuzzy msgid "Length" msgstr "Lonxitude focal" #: src/properties.cpp:1198 #, fuzzy msgid "The length of the media file." msgstr "Duración do ficheiro multimedia." #: src/properties.cpp:1200 #, fuzzy msgid "Lens Type." msgstr "Tipo de lentes" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness" msgstr "Brillo" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness." msgstr "Brillo" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information" msgstr "Información do disparo" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information." msgstr "Información do disparo" #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "" #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "" #: src/properties.cpp:1204 #, fuzzy msgid "Logo URL" msgstr "Último URL" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "" #: src/properties.cpp:1205 msgid "Lyrics" msgstr "" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "" #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "" #: src/properties.cpp:1207 #, fuzzy msgid "Equipment Make" msgstr "Información do equipamento" #: src/properties.cpp:1207 #, fuzzy msgid "Manufacturer of recording equipment" msgstr "O fabricante do equipamento de gravación" #: src/properties.cpp:1208 #, fuzzy msgid "Camera Maker Note Type" msgstr "Tipo de cámara" #: src/properties.cpp:1208 #, fuzzy msgid "Maker Note Type of the camera." msgstr "SFR da cámara" #: src/properties.cpp:1209 #, fuzzy msgid "Camera Maker Note Version" msgstr "Versión da nota do fabricante" #: src/properties.cpp:1209 #, fuzzy msgid "Maker Note Version of the camera." msgstr "Versión da nota do fabricante" #: src/properties.cpp:1210 #, fuzzy msgid "Maker URL" msgstr "URL base" #: src/properties.cpp:1210 #, fuzzy msgid "Camera Manufacturer's URL." msgstr "Fabricante das lentes." #: src/properties.cpp:1211 #, fuzzy msgid "Smallest F number of lens, in APEX." msgstr "Etiqueta EXIF 37381, 0x9205. Número F de lente mais pequeno, en APEX." #: src/properties.cpp:1212 #, fuzzy msgid "Maximum Bit Rate" msgstr "Valor máximo de abertura" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" #: src/properties.cpp:1213 #, fuzzy msgid "Maximum Data Rate" msgstr "Taxa de datos de ficheiro" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 #, fuzzy msgid "Media Track Create Date" msgstr "Data de creación" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 #, fuzzy msgid "Media Track Duration" msgstr "Duración do son" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 #, fuzzy msgid "Media Header Version" msgstr "Versión do modelo" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 #, fuzzy msgid "Media Language Code" msgstr "Código de resumo de medios PLUS" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 #, fuzzy msgid "Media Track Modify Date" msgstr "Data de modificación dos metadatos" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" #: src/properties.cpp:1220 #, fuzzy msgid "Medium." msgstr "Medio" #: src/properties.cpp:1221 #, fuzzy msgid "Metadata" msgstr "Data dos metadatos" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1222 #, fuzzy msgid "Metadata Library" msgstr "Data dos metadatos" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "" #: src/properties.cpp:1223 #, fuzzy msgid "Metering mode." msgstr "Modo de medida" #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "" #: src/properties.cpp:1225 #, fuzzy msgid "Mime Type" msgstr "Tipo de imaxe" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "" #: src/properties.cpp:1226 #, fuzzy msgid "QTime Minor FileType Version" msgstr "Versión do ficheiro" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "" #: src/properties.cpp:1227 #, fuzzy msgid "Equipment Model" msgstr "Información do equipamento" #: src/properties.cpp:1227 #, fuzzy msgid "Model name or number of equipment." msgstr "O nome ou número do modelo do equipamento" #: src/properties.cpp:1228 #, fuzzy msgid "Modification Date-Time" msgstr "Nome da localización" #: src/properties.cpp:1228 #, fuzzy msgid "Contains the modification date of the video" msgstr "Restricións na creación de duplicados da imaxe." #: src/properties.cpp:1229 #, fuzzy msgid "Movie Header Version" msgstr "Versión do modelo" #: src/properties.cpp:1230 msgid "Music By" msgstr "" #: src/properties.cpp:1230 msgid "Music By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1231 msgid "Muxing App" msgstr "" #: src/properties.cpp:1231 msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" #: src/properties.cpp:1232 #, fuzzy msgid "Name of song or the event." msgstr "Nome da persoa mostrada na imaxe." #: src/properties.cpp:1233 #, fuzzy msgid "Next Track ID" msgstr "Texto + num. ID" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" #: src/properties.cpp:1234 #, fuzzy msgid "Number Of Colours" msgstr "Número de tintas" #: src/properties.cpp:1234 #, fuzzy msgid "Total number of colours used" msgstr "Número de dispáros en modo raxada contínua" #: src/properties.cpp:1235 #, fuzzy msgid "Number Of Important Colours" msgstr "Número de tintas" #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1236 #, fuzzy msgid "Number Of Parts" msgstr "Número de golpes" #: src/properties.cpp:1236 msgid "Total number of parts in the video." msgstr "" #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" #: src/properties.cpp:1238 #, fuzzy msgid "Organization" msgstr "Orientación" #: src/properties.cpp:1238 #, fuzzy msgid "Name of organization associated with the video." msgstr "Nome da organización ou compañía destacada na imaxe." #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" #: src/properties.cpp:1248 #, fuzzy msgid "Part" msgstr "Festa" #: src/properties.cpp:1248 #, fuzzy msgid "Part." msgstr "Festa" #: src/properties.cpp:1249 msgid "Performers" msgstr "" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords" msgstr "Palabras clave" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords." msgstr "Palabras chave." #: src/properties.cpp:1251 msgid "Performer URL" msgstr "" #: src/properties.cpp:1251 msgid "Performer's dedicated URL." msgstr "" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data" msgstr "Control da imaxe" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data." msgstr "Control da imaxe" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Version" msgstr "Control da imaxe" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Data Version." msgstr "Control da imaxe" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name" msgstr "Control da imaxe" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name." msgstr "Control da imaxe" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Base" msgstr "Control da imaxe" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Data Base." msgstr "Control da imaxe" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust" msgstr "Control da imaxe" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust Information." msgstr "Modo de saturación da imaxe" #: src/properties.cpp:1257 #, fuzzy msgid "Picture Control Quick Adjust" msgstr "Control da imaxe" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection" msgstr "Selección" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection." msgstr "Selección" #: src/properties.cpp:1259 #, fuzzy msgid "Play Mode" msgstr "Modo sinxelo" #: src/properties.cpp:1259 msgid "Information about the Play Mode." msgstr "" #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "" #: src/properties.cpp:1260 #, fuzzy msgid "Contains the information of External media." msgstr "Restricións na creación de duplicados da imaxe." #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1265 msgid "Planes" msgstr "" #: src/properties.cpp:1265 msgid "The number of Image Planes in the video" msgstr "" #: src/properties.cpp:1266 #, fuzzy msgid "Poster Time" msgstr "Tempo de exposición" #: src/properties.cpp:1266 #, fuzzy msgid "The time value of the time of the movie poster." msgstr "A hora de inicio do medio no proxecto de son." #: src/properties.cpp:1267 #, fuzzy msgid "Preferred Rate" msgstr "Data de referencia" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1269 msgid "Preroll" msgstr "" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" #: src/properties.cpp:1272 #, fuzzy msgid "Preview Atom Type" msgstr "Vista previa da imaxe" #: src/properties.cpp:1272 #, fuzzy msgid "Indicates the type of atom that contains the preview data" msgstr "Indica o tipo de contido de son" #: src/properties.cpp:1273 #, fuzzy msgid "Preview Date" msgstr "Vista previa dos datos" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "" #: src/properties.cpp:1274 #, fuzzy msgid "Preview Duration" msgstr "Vista previa dos datos" #: src/properties.cpp:1274 #, fuzzy msgid "The duration of the movie preview in movie time scale units" msgstr "Duración do ficheiro multimedia." #: src/properties.cpp:1275 #, fuzzy msgid "Preview Time" msgstr "Vista previa da imaxe" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "" #: src/properties.cpp:1276 #, fuzzy msgid "The version of the movie preview " msgstr "Duración do ficheiro multimedia." #: src/properties.cpp:1277 #, fuzzy msgid "Produced By" msgstr "Creado con" #: src/properties.cpp:1277 msgid "Produced By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1278 msgid "Producer involved with the video." msgstr "" #: src/properties.cpp:1279 #, fuzzy msgid "Producer Keywords" msgstr "Palabras clave" #: src/properties.cpp:1279 msgid "Information about the Producer Keywords." msgstr "" #: src/properties.cpp:1280 #, fuzzy msgid "Production Aperture Width" msgstr "Abertura automática" #: src/properties.cpp:1280 msgid "Production aperture width in pixels" msgstr "" #: src/properties.cpp:1281 #, fuzzy msgid "Production Aperture Height" msgstr "Abertura automática" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "" #: src/properties.cpp:1282 msgid "Production Designer" msgstr "" #: src/properties.cpp:1282 msgid "Information about the Production Designer." msgstr "" #: src/properties.cpp:1283 #, fuzzy msgid "Production Studio" msgstr "ID do produto" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "" #: src/properties.cpp:1284 #, fuzzy msgid "Product" msgstr "ID do produto" #: src/properties.cpp:1284 #, fuzzy msgid "Product." msgstr "ID do produto" #: src/properties.cpp:1286 msgid "Rate" msgstr "" #: src/properties.cpp:1286 msgid "Rate." msgstr "" #: src/properties.cpp:1287 msgid "Rated" msgstr "" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "" #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright" msgstr "Desprazamento da gravación" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright." msgstr "Desprazamento da gravación" #: src/properties.cpp:1292 #, fuzzy msgid "Requirements" msgstr "Outros requisitos da licenza" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "" #: src/properties.cpp:1293 #, fuzzy msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" "Etiqueta TIFF 296, 0x128. Unidade utilizada para «Resolución X» e " "«Resolución Y». Pode tomar os valores: 2 = polgadas; 3 = centímetros." #: src/properties.cpp:1294 msgid "Ripped By" msgstr "" #: src/properties.cpp:1294 msgid "Ripped By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1295 #, fuzzy msgid "Indicates the direction of saturation processing applied by the camera." msgstr "" "Etiqueta EXIF 41993, 0xA409. Indica a dirección do procesamento de " "saturación usado pola cámara." #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "" #: src/properties.cpp:1296 #, fuzzy msgid "The name of the secondary genre.." msgstr "Nome do xénero." #: src/properties.cpp:1297 #, fuzzy msgid "Selection Time" msgstr "Selección" #: src/properties.cpp:1297 #, fuzzy msgid "The time value for the start time of the current selection." msgstr "" "O número de versión dos estándares PLUS no lugar no momento da transacción." #: src/properties.cpp:1298 #, fuzzy msgid "Selection Duration" msgstr "Duración do son" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "" #: src/properties.cpp:1299 #, fuzzy msgid "Send Duration" msgstr "Duración" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "" #: src/properties.cpp:1303 #, fuzzy msgid "Software Version" msgstr "Versión do firmware" #: src/properties.cpp:1303 #, fuzzy msgid "The Version of the software used." msgstr "O nome da toma" #: src/properties.cpp:1304 #, fuzzy msgid "Song Writer" msgstr "Escritor del encabezamiento" #: src/properties.cpp:1304 #, fuzzy msgid "The name of the song writer." msgstr "O nome da toma" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords" msgstr "Palabras clave de Windows" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords." msgstr "Palabras chave." #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits" msgstr "Crédito" #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits." msgstr "Orixe" #: src/properties.cpp:1308 #, fuzzy msgid "Source Form" msgstr "Orixe" #: src/properties.cpp:1308 #, fuzzy msgid "Source Form." msgstr "Orixe" #: src/properties.cpp:1309 #, fuzzy msgid "Source Image Height" msgstr "Altura da imaxe" #: src/properties.cpp:1310 #, fuzzy msgid "Source Image Width" msgstr "Largura da imaxe" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "" #: src/properties.cpp:1311 #, fuzzy msgid "Starring" msgstr "Noite estrelada" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "" #: src/properties.cpp:1312 #, fuzzy msgid "Start Timecode" msgstr "Código de inicio de tempo" #: src/properties.cpp:1313 #, fuzzy msgid "Statistics" msgstr "Estado" #: src/properties.cpp:1313 msgid "Statistics." msgstr "" #: src/properties.cpp:1314 #, fuzzy msgid "Stream Count" msgstr "Contador de disparos" #: src/properties.cpp:1314 #, fuzzy msgid "Total Number Of Streams" msgstr "Número de golpes" #: src/properties.cpp:1315 #, fuzzy msgid "Stream Name" msgstr "Nome da toma" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "" #: src/properties.cpp:1316 #, fuzzy msgid "Stream Quality" msgstr "Calidade da imaxe" #: src/properties.cpp:1316 msgid "General Stream Quality" msgstr "" #: src/properties.cpp:1317 #, fuzzy msgid "Stream Sample Rate" msgstr "Taxa de mostraxe de son" #: src/properties.cpp:1318 #, fuzzy msgid "Stream Sample Count" msgstr "Cantidade de bytes por tira" #: src/properties.cpp:1319 #, fuzzy msgid "Stream Sample Size" msgstr "Mostras extra" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "" #: src/properties.cpp:1320 #, fuzzy msgid "Stream Type" msgstr "Tipo de escala" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1321 #, fuzzy msgid "Subtitles Codec" msgstr "Código de inicio de tempo" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "" #: src/properties.cpp:1322 msgid "Subtitle Codec Decode Info" msgstr "" #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1323 #, fuzzy msgid "Subtitles Codec Information" msgstr "Información do disparo" #: src/properties.cpp:1323 msgid "Contains additional information about subtitles." msgstr "" #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "" #: src/properties.cpp:1325 #, fuzzy msgid "Subtitle Codec Settings" msgstr "Axuste do modo de imaxe" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1327 msgid "Subtitle Track Enabled" msgstr "" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1328 #, fuzzy msgid "Subtitle" msgstr "Título" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords" msgstr "Palabras clave" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords." msgstr "Palabras chave." #: src/properties.cpp:1330 #, fuzzy msgid "Subtitles Language" msgstr "Idioma" #: src/properties.cpp:1330 #, fuzzy msgid "The Language in which the subtitles is recorded in." msgstr "A data na que caduca a licenza." #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1332 msgid "Subtitle Track Lacing" msgstr "" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1333 #, fuzzy msgid "Subject. " msgstr "Asunto" #: src/properties.cpp:1334 #, fuzzy msgid "TapeName." msgstr "Nome da cinta" #: src/properties.cpp:1335 #, fuzzy msgid "Tag Default Setting" msgstr "Axustes predeterminados" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "" #: src/properties.cpp:1336 #, fuzzy msgid "Tag Language" msgstr "Idioma" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "" #: src/properties.cpp:1337 #, fuzzy msgid "Tag Name" msgstr "Nome da cinta" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1338 msgid "Tag String" msgstr "" #: src/properties.cpp:1338 msgid "Information contained in a Tags" msgstr "" #: src/properties.cpp:1339 #, fuzzy msgid "Target Type" msgstr "Tipo de imaxe" #: src/properties.cpp:1339 msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "" #: src/properties.cpp:1340 msgid "Technician" msgstr "" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "" #: src/properties.cpp:1341 #, fuzzy msgid "Thumbnail Height" msgstr "Lonxitude da miniatura" #: src/properties.cpp:1341 #, fuzzy msgid "Preview Image Thumbnail Height." msgstr "Lonxitude da imaxe previa" #: src/properties.cpp:1342 #, fuzzy msgid "Preview Image Thumbnail Length." msgstr "Tamaño da vista previa" #: src/properties.cpp:1343 #, fuzzy msgid "Thumbnail Width" msgstr "Lonxitude da miniatura" #: src/properties.cpp:1343 #, fuzzy msgid "Preview Image Thumbnail Width." msgstr "Vista previa válida" #: src/properties.cpp:1344 #, fuzzy msgid "Timecode Scale" msgstr "Baixo a escala" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "" #: src/properties.cpp:1345 src/properties.cpp:1428 #, fuzzy msgid "Time Offset" msgstr "Desprazamentos do mosaico" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" #: src/properties.cpp:1346 #, fuzzy msgid "Time Scale" msgstr "Hora de envío" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1350 msgid "Toning Effect Settings Applied." msgstr "" #: src/properties.cpp:1351 #, fuzzy msgid "Total Frame Count" msgstr "Conta de bytes do mosaico" #: src/properties.cpp:1352 #, fuzzy msgid "Number Of Streams" msgstr "Número de golpes" #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1353 #, fuzzy msgid "Track" msgstr "Rastrexo GPS" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "" #: src/properties.cpp:1354 #, fuzzy msgid "Video Track Create Date" msgstr "Taxa de fotogramas do vídeo" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" #: src/properties.cpp:1355 #, fuzzy msgid "Video Track Duration" msgstr "Duración do son" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced" msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 #, fuzzy msgid "Track ID" msgstr "Número de pista" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 #, fuzzy msgid "Track Header Version" msgstr "Versión da nota do fabricante" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 #, fuzzy msgid "Track Language" msgstr "Idioma" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "The Language in which a particular stream is recorded in." msgstr "" #: src/properties.cpp:1361 #, fuzzy msgid "Video Track Layer" msgstr "Taxa de fotogramas do vídeo" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" #: src/properties.cpp:1364 #, fuzzy msgid "Video Track Modify Date" msgstr "Data de modificación do vídeo" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" #: src/properties.cpp:1365 #, fuzzy msgid "Track Name" msgstr "Número de pista" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "" #: src/properties.cpp:1366 #, fuzzy msgid "Track Number." msgstr "Número de pista" #: src/properties.cpp:1367 src/properties.cpp:1440 #, fuzzy msgid "Track Volume" msgstr "Número de pista" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "" #: src/properties.cpp:1368 msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" #: src/properties.cpp:1369 src/properties.cpp:1370 #, fuzzy msgid "Unknown Information" msgstr "Información do disparo" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1371 #, fuzzy msgid "Video URL" msgstr "Vídeo" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1372 #, fuzzy msgid "Video URN" msgstr "Vídeo" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1373 #, fuzzy msgid "Vari Program" msgstr "Programa" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "" #: src/properties.cpp:1376 msgid "Vendor" msgstr "" #: src/properties.cpp:1376 #, fuzzy msgid "The developer of the compressor that generated the compressed data." msgstr "" "Este campo indica a lonxitude do intervalo de reinicio utilizado nos datos " "da imaxe comprimida." #: src/properties.cpp:1377 src/properties.cpp:1443 #, fuzzy msgid "Vendor ID" msgstr "ID do licenciador" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" #: src/properties.cpp:1378 #, fuzzy msgid "Video Quality" msgstr "Calidade" #: src/properties.cpp:1378 #, fuzzy msgid "Video Stream Quality" msgstr "Taxa de fotogramas do vídeo" #: src/properties.cpp:1379 #, fuzzy msgid "Video Sample Size" msgstr "Tamaño do fotograma do vídeo" #: src/properties.cpp:1379 #, fuzzy msgid "Video Stream Sample Size" msgstr "Tamaño do fotograma do vídeo" #: src/properties.cpp:1380 #, fuzzy msgid "Video Scan Type" msgstr "Tipo de escala" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "" #: src/properties.cpp:1381 msgid "Watermark URL" msgstr "" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "" #: src/properties.cpp:1384 #, fuzzy msgid "White Balance Fine Tune." msgstr "Axuste fino do balance de brancos" #: src/properties.cpp:1385 #, fuzzy msgid "Video Width" msgstr "Largo do mosaico" #: src/properties.cpp:1386 #, fuzzy msgid "Window Location" msgstr "Cualificación de Windows" #: src/properties.cpp:1386 msgid "Information about the Window Location." msgstr "" #: src/properties.cpp:1388 #, fuzzy msgid "Written By" msgstr "Escritor" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1389 #, fuzzy msgid "Writing App" msgstr "Escribiendo a vista previa" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" #: src/properties.cpp:1390 #, fuzzy msgid "Horizontal resolution in pixels per unit." msgstr "" "Etiqueta TIFF 282, 0x11A. Resolución horizontal en píxeles por unidade." #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "" #: src/properties.cpp:1391 #, fuzzy msgid "Year in which the video was made." msgstr "Data e hora da última modificación do vídeo." #: src/properties.cpp:1392 #, fuzzy msgid "Vertical resolution in pixels per unit." msgstr "Etiqueta TIFF 283, 0x11B. Resolución vertical en píxeles por unidade." #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "" #: src/properties.cpp:1398 #, fuzzy msgid "Balance" msgstr "Balance de vermellos" #: src/properties.cpp:1398 #, fuzzy msgid "Indicates the left-right balance of the audio" msgstr "Indica o tipo de contido de son" #: src/properties.cpp:1399 #, fuzzy msgid "Bits Per Sample/ Bit Rate" msgstr "Bits por mostra" #: src/properties.cpp:1399 #, fuzzy msgid "Bits per test sample" msgstr "Bits por mostra" #: src/properties.cpp:1401 #, fuzzy msgid "Audio Codec" msgstr "Compresor de son" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "" #: src/properties.cpp:1402 msgid "Audio Codec Decode Info" msgstr "" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1403 #, fuzzy msgid "Audio Codec Description" msgstr "Descrpción da imaxe" #: src/properties.cpp:1404 msgid "Audio Codec Download URL" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL." msgstr "" #: src/properties.cpp:1405 #, fuzzy msgid "Audio Codec Information" msgstr "Información do disparo" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" #: src/properties.cpp:1406 #, fuzzy msgid "Audio Codec Settings" msgstr "Axustes do modo do enfoque" #: src/properties.cpp:1408 #, fuzzy msgid "Audio Default Duration" msgstr "Duración do son" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "" #: src/properties.cpp:1409 #, fuzzy msgid "Audio Default Stream" msgstr "Adobe descomprimido" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "" #: src/properties.cpp:1410 #, fuzzy msgid "Audio Track Default On" msgstr "Orde en forcada automática" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "" #: src/properties.cpp:1411 msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1412 #, fuzzy msgid "Audio Format" msgstr "Taxa de son" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "" #: src/properties.cpp:1423 #, fuzzy msgid "Output Audio Sample Rate" msgstr "Taxa de mostraxe de son" #: src/properties.cpp:1423 #, fuzzy msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" "A taxa de mostraxe de son. Pode ser calquera valor, mais comunmente 32.000, " "41.100 ou 48.000" #: src/properties.cpp:1424 #, fuzzy msgid "Audio Sample Count" msgstr "Taxa de mostraxe de son" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title" msgstr "atopado no ficheiro" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title." msgstr "atopado no ficheiro" #: src/properties.cpp:1429 #, fuzzy msgid "Audio Track Create Date" msgstr "Inicio automático da forcada" #: src/properties.cpp:1430 #, fuzzy msgid "Audio Track Duration" msgstr "Duración do son" #: src/properties.cpp:1431 #, fuzzy msgid "Audio Track Forced" msgstr "Orde en forcada automática" #: src/properties.cpp:1431 msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1434 #, fuzzy msgid "Audio Track Lacing" msgstr "Duración do son" #: src/properties.cpp:1434 msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1436 #, fuzzy msgid "Audio Track Layer" msgstr "Tipo de son" #: src/properties.cpp:1439 #, fuzzy msgid "Audio Track Modify Date" msgstr "Data de modidicación do son" #: src/properties.cpp:1441 #, fuzzy msgid "Audio URL" msgstr "Taxa de son" #: src/properties.cpp:1442 #, fuzzy msgid "Audio URN" msgstr "Taxa de son" #: src/properties.cpp:1449 #, fuzzy msgid "The nature or genre of the resource." msgstr "Nome do xénero." #: src/properties.cpp:1450 #, fuzzy msgid "Date Modified" msgstr "Data de modificación dos metadatos" #: src/properties.cpp:1450 #, fuzzy msgid "Date on which the resource was changed." msgstr "O día e a hora na que se creou orixinalmente o recurso." #: src/properties.cpp:1451 #, fuzzy msgid "A language of the resource." msgstr "Un nome informal curto para o recurso." #: src/properties.cpp:1452 #, fuzzy msgid "License" msgstr "Licenciatario" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" #: src/properties.cpp:1453 #, fuzzy msgid "Rights Holder" msgstr "Zona dereita" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" #: src/properties.cpp:1454 #, fuzzy msgid "Access Rights" msgstr "Dereitos" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "" #: src/properties.cpp:1455 #, fuzzy msgid "A bibliographic reference for the resource." msgstr "Un nome informal curto para o recurso." #: src/properties.cpp:1456 #, fuzzy msgid "References" msgstr "Referencia da tarefa" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" #: src/properties.cpp:1459 msgid "*Main structure* containing Darwin Core location based information." msgstr "" #: src/properties.cpp:1468 #, fuzzy msgid "Record" msgstr "Versión de rexistro" #: src/properties.cpp:1469 msgid "*Main structure* containing record based information." msgstr "" #: src/properties.cpp:1472 #, fuzzy msgid "Institution ID" msgstr "Instrucións" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" #: src/properties.cpp:1475 #, fuzzy msgid "Collection ID" msgstr "Selección" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" #: src/properties.cpp:1478 #, fuzzy msgid "Institution Code" msgstr "Modo de resolución" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1481 #, fuzzy msgid "Dataset ID" msgstr "Envorcado de datos" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "" #: src/properties.cpp:1484 #, fuzzy msgid "Collection Code" msgstr "Código de localización" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" #: src/properties.cpp:1487 #, fuzzy msgid "Dataset Name" msgstr "Nome da cinta" #: src/properties.cpp:1488 #, fuzzy msgid "The name identifying the data set from which the record was derived." msgstr "Identificador único do traballo do que deriva este recurso." #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" #: src/properties.cpp:1496 #, fuzzy msgid "Information Withheld" msgstr "Información do disparo" #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" #: src/properties.cpp:1502 #, fuzzy msgid "Dynamic Properties" msgstr "Propiedades das lentes" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" #: src/properties.cpp:1507 msgid "Occurrence" msgstr "" #: src/properties.cpp:1508 msgid "*Main structure* containing occurrence based information." msgstr "" #: src/properties.cpp:1511 #, fuzzy msgid "Occurrence ID" msgstr "ID da licenza" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" #: src/properties.cpp:1514 #, fuzzy msgid "Catalog Number" msgstr "Número F manual" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" #: src/properties.cpp:1517 msgid "Occurrence Details" msgstr "" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "" #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "" #: src/properties.cpp:1521 msgid "Comments or notes about the Occurrence." msgstr "" #: src/properties.cpp:1523 #, fuzzy msgid "Record Number" msgstr "Número de directorio" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" #: src/properties.cpp:1526 #, fuzzy msgid "Recorded By" msgstr "Gravar pantalla" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" #: src/properties.cpp:1529 msgid "Individual ID" msgstr "" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" #: src/properties.cpp:1532 msgid "Individual Count" msgstr "" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "" #: src/properties.cpp:1535 msgid "Organism Quantity" msgstr "" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "" #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "" #: src/properties.cpp:1541 #, fuzzy msgid "Sex" msgstr "Estabelecer" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1544 msgid "Life Stage" msgstr "" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1547 #, fuzzy msgid "Reproductive Condition" msgstr "Control remoto" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1550 msgid "Behavior" msgstr "" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1559 #, fuzzy msgid "Preparations" msgstr "Graduación" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" #: src/properties.cpp:1562 #, fuzzy msgid "Disposition" msgstr "Posición do foco" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" #: src/properties.cpp:1565 #, fuzzy msgid "Other Catalog Numbers" msgstr "Número do intervalo" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" #: src/properties.cpp:1568 src/properties.cpp:1607 #, fuzzy msgid "Previous Identifications" msgstr "Identificación do modelo" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" #: src/properties.cpp:1571 #, fuzzy msgid "Associated Media" msgstr "Medios que colaboraron" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" #: src/properties.cpp:1574 #, fuzzy msgid "Associated References" msgstr "Referencia de proxecto" #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1580 #, fuzzy msgid "Associated Sequences" msgstr "Secuencia AEB" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" #: src/properties.cpp:1588 msgid "Organism" msgstr "" #: src/properties.cpp:1589 msgid "*Main structure* containing organism based information." msgstr "" #: src/properties.cpp:1592 msgid "Organism ID" msgstr "" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1595 #, fuzzy msgid "Organism Name" msgstr "Nome do propietario" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "" #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1601 msgid "Organism Associated Occurrences" msgstr "" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1604 msgid "Associated Organisms" msgstr "" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" #: src/properties.cpp:1610 msgid "Organism Remarks" msgstr "" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "" #: src/properties.cpp:1615 #, fuzzy msgid "Material Sample" msgstr "Mostras extra" #: src/properties.cpp:1616 msgid "*Main structure* containing material sample based information." msgstr "" #: src/properties.cpp:1618 #, fuzzy msgid "Living Specimen" msgstr "Escena nocturna" #: src/properties.cpp:1619 msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "" #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "" #: src/properties.cpp:1622 msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "" #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "" #: src/properties.cpp:1625 msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "" #: src/properties.cpp:1628 #, fuzzy msgid "Material Sample ID" msgstr "Mostras extra" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" #: src/properties.cpp:1634 msgid "*Main structure* containing event based information." msgstr "" #: src/properties.cpp:1636 msgid "Human Observation" msgstr "" #: src/properties.cpp:1637 msgid "*Main structure* containing human observation based information." msgstr "" #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "" #: src/properties.cpp:1640 msgid "*Main structure* containing machine observation based information." msgstr "" #: src/properties.cpp:1643 #, fuzzy msgid "Event ID" msgstr "Suceso" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1646 msgid "Parent Event ID" msgstr "" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" #: src/properties.cpp:1649 #, fuzzy msgid "Event Date" msgstr "Data de creación" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1652 msgid "Event Earliest Date" msgstr "" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1655 #, fuzzy msgid "Event Latest Date" msgstr "Data de creación" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1658 #, fuzzy msgid "Event Time" msgstr "Tempo de introdución" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "" #: src/properties.cpp:1670 #, fuzzy msgid "Month" msgstr "mes" #: src/properties.cpp:1671 #, fuzzy msgid "The ordinal month in which the Event occurred." msgstr "A data na que caduca a licenza." #: src/properties.cpp:1673 #, fuzzy msgid "Day" msgstr "Atraso" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "" #: src/properties.cpp:1676 #, fuzzy msgid "Verbatim Event Date" msgstr "Data de creación" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" #: src/properties.cpp:1679 msgid "Habitat" msgstr "" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" #: src/properties.cpp:1685 #, fuzzy msgid "Sampling Effort" msgstr "Mostra do formato" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "" #: src/properties.cpp:1688 #, fuzzy msgid "Sampling Size Value" msgstr "Valor SMin da mostra" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" #: src/properties.cpp:1691 msgid "Sampling Size Unit" msgstr "" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" #: src/properties.cpp:1694 #, fuzzy msgid "Field Number" msgstr "Número de ficheiro" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" #: src/properties.cpp:1697 #, fuzzy msgid "Field Notes" msgstr "Notas do licenciador" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "" #: src/properties.cpp:1701 msgid "Comments or notes about the Event." msgstr "" #: src/properties.cpp:1705 #, fuzzy msgid "Location Class" msgstr "Código de localización" #: src/properties.cpp:1706 msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "" #: src/properties.cpp:1709 #, fuzzy msgid "Location ID" msgstr "Lugar" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" #: src/properties.cpp:1718 #, fuzzy msgid "Continent" msgstr "Continuo" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "" #: src/properties.cpp:1721 msgid "Water Body" msgstr "" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1724 msgid "Island Group" msgstr "" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1727 msgid "Island" msgstr "" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "" #: src/properties.cpp:1736 #, fuzzy msgid "State Province" msgstr "Estado/Provincia" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1739 #, fuzzy msgid "County" msgstr "País" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1742 #, fuzzy msgid "Municipality" msgstr "Calidade" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" #: src/properties.cpp:1745 #, fuzzy msgid "Locality" msgstr "Local" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "" #: src/properties.cpp:1749 #, fuzzy msgid "The original textual description of the place." msgstr "Descrición textual dos datos do obxecto." #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1760 msgid "Verbatim Depth" msgstr "" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "" #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1766 msgid "Maximum Depth In Meters" msgstr "" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1775 #, fuzzy msgid "Location According To" msgstr "Código de localización" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" #: src/properties.cpp:1778 #, fuzzy msgid "Location Remarks" msgstr "Código de localización" #: src/properties.cpp:1779 msgid "Comments or notes about the Location." msgstr "" #: src/properties.cpp:1781 msgid "Verbatim Coordinates" msgstr "" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1784 #, fuzzy msgid "Verbatim Latitude" msgstr "Latitude GPS do destino" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1787 #, fuzzy msgid "Verbatim Longitude" msgstr "Lonxitude GPS do destino" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1796 #, fuzzy msgid "Decimal Latitude" msgstr "Latitude GPS do destino" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" #: src/properties.cpp:1799 #, fuzzy msgid "Decimal Longitude" msgstr "Lonxitude GPS" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" #: src/properties.cpp:1802 msgid "Geodetic Datum" msgstr "" #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" #: src/properties.cpp:1808 msgid "Coordinate Precision" msgstr "" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "" #: src/properties.cpp:1812 #, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "" #: src/properties.cpp:1821 #, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" #: src/properties.cpp:1823 #, fuzzy msgid "Georeferenced By" msgstr "Referencia da tarefa" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" #: src/properties.cpp:1826 #, fuzzy msgid "Georeferenced Date" msgstr "Data de referencia" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" #: src/properties.cpp:1832 #, fuzzy msgid "Georeference Sources" msgstr "Servizo de referencia" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1838 #, fuzzy msgid "Georeference Remarks" msgstr "Número de referencia" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" #: src/properties.cpp:1843 msgid "Geological Context" msgstr "" #: src/properties.cpp:1844 msgid "*Main structure* containing geological context based information." msgstr "" #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" #: src/properties.cpp:1889 msgid "Group" msgstr "" #: src/properties.cpp:1890 #, fuzzy msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "Nome do documento do que foi escaneada esta imaxe" #: src/properties.cpp:1892 #, fuzzy msgid "Formation" msgstr "Formato" #: src/properties.cpp:1893 #, fuzzy msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "Nome do documento do que foi escaneada esta imaxe" #: src/properties.cpp:1895 #, fuzzy msgid "Member" msgstr "Ámbar" #: src/properties.cpp:1896 #, fuzzy msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "Nome do documento do que foi escaneada esta imaxe" #: src/properties.cpp:1898 #, fuzzy msgid "Bed" msgstr "Vermello" #: src/properties.cpp:1899 #, fuzzy msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "Nome do documento do que foi escaneada esta imaxe" #: src/properties.cpp:1903 #, fuzzy msgid "Identification" msgstr "Identificación do modelo" #: src/properties.cpp:1904 msgid "*Main structure* containing identification based information." msgstr "" #: src/properties.cpp:1907 #, fuzzy msgid "Identification ID" msgstr "Identificación do modelo" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1910 #, fuzzy msgid "Identified By" msgstr "Identificador" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" #: src/properties.cpp:1913 #, fuzzy msgid "Date Identified" msgstr "Identificador" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" #: src/properties.cpp:1916 #, fuzzy msgid "Identification References" msgstr "Referencia GPS de dirección da imaxe" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" #: src/properties.cpp:1922 #, fuzzy msgid "Identification Remarks" msgstr "Identificador" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "" #: src/properties.cpp:1925 msgid "Identification Qualifier" msgstr "" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" #: src/properties.cpp:1928 #, fuzzy msgid "Type Status" msgstr "Estado" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" #: src/properties.cpp:1933 msgid "Taxon" msgstr "" #: src/properties.cpp:1934 msgid "*Main structure* containing taxonomic based information." msgstr "" #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" #: src/properties.cpp:1949 msgid "Original Name Usage ID" msgstr "" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" #: src/properties.cpp:1961 #, fuzzy msgid "Scientific Name" msgstr "Nome do documento" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" #: src/properties.cpp:1967 msgid "Parent Name Usage" msgstr "" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" #: src/properties.cpp:1970 msgid "Original Name Usage" msgstr "" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" #: src/properties.cpp:1973 #, fuzzy msgid "Name According To" msgstr "Desprazamento da gravación" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" #: src/properties.cpp:1976 #, fuzzy msgid "Name Published In" msgstr "Editor" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "" #: src/properties.cpp:1980 #, fuzzy msgid "The four-digit year in which the scientificName was published." msgstr "A data na que a imaxe foi publicada por primeira vez." #: src/properties.cpp:1982 #, fuzzy msgid "Higher Classification" msgstr "Clasificación de seguranza" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" #: src/properties.cpp:1985 msgid "Kingdom" msgstr "" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "" #: src/properties.cpp:1988 msgid "Phylum" msgstr "" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" #: src/properties.cpp:1991 msgid "Class" msgstr "" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "" #: src/properties.cpp:1994 #, fuzzy msgid "Order" msgstr "Orden de recheo" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "" #: src/properties.cpp:1997 msgid "Family" msgstr "" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "" #: src/properties.cpp:2000 msgid "Genus" msgstr "" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "" #: src/properties.cpp:2003 msgid "Subgenus" msgstr "" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "" #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" #: src/properties.cpp:2021 msgid "Vernacular Name" msgstr "" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "" #: src/properties.cpp:2024 #, fuzzy msgid "Nomenclatural Code" msgstr "Cor natural" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "" #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "" #: src/properties.cpp:2039 msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "" #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" #: src/properties.cpp:2045 #, fuzzy msgid "Resource ID" msgstr "Orixe do ficheiro" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "" #: src/properties.cpp:2048 #, fuzzy msgid "Related Resource ID" msgstr "Bloque de recursos de imaxe" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" #: src/properties.cpp:2051 #, fuzzy msgid "Relationship Of Resource" msgstr "Fonte de flash" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "" #: src/properties.cpp:2065 #, fuzzy msgid "Measurement Or Fact" msgstr "Medición de interoperabilidade" #: src/properties.cpp:2066 msgid "*Main structure* containing measurement based information." msgstr "" #: src/properties.cpp:2069 #, fuzzy msgid "Measurement ID" msgstr "Medición en proceso" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:2072 #, fuzzy msgid "Measurement Type" msgstr "Medición en proceso" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2075 #, fuzzy msgid "Measurement Value" msgstr "Valores de medida do ruído." #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2078 #, fuzzy msgid "Measurement Accuracy" msgstr "Medición de interoperabilidade" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "" #: src/properties.cpp:2081 #, fuzzy msgid "Measurement Unit" msgstr "Medición de interoperabilidade" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" #: src/properties.cpp:2084 #, fuzzy msgid "Measurement Determined Date" msgstr "Medición de interoperabilidade" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2087 #, fuzzy msgid "Measurement Determined By" msgstr "Medición de interoperabilidade" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" #: src/properties.cpp:2090 #, fuzzy msgid "Measurement Method" msgstr "Modo GPS de medida" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2093 #, fuzzy msgid "Measurement Remarks" msgstr "Medición en proceso" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "" #: src/properties.cpp:2101 #, fuzzy msgid "A brief description of the file" msgstr "Descrición textual dos datos do obxecto." #: src/properties.cpp:2102 #, fuzzy msgid "Date Time" msgstr "Data e hora" #: src/properties.cpp:2103 #, fuzzy msgid "The name of the author or photographer" msgstr "O nome da toma" #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "" #: src/properties.cpp:2105 msgid "Notes" msgstr "" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "" #: src/properties.cpp:2106 msgid "Tagged" msgstr "" #: src/properties.cpp:2106 msgid "True or False" msgstr "" #: src/properties.cpp:2107 #, fuzzy msgid "Categories" msgstr "Categoría" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "" #: src/sigmamn.cpp:62 msgid "Resolution Mode" msgstr "Modo de resolución" #: src/sigmamn.cpp:63 msgid "Resolution mode" msgstr "Modo de resolución" #: src/sigmamn.cpp:65 msgid "Autofocus Mode" msgstr "Modo do enfoque automático" #: src/sigmamn.cpp:66 msgid "Autofocus mode" msgstr "Modo do enfoque automático" #: src/sigmamn.cpp:68 msgid "Focus Setting" msgstr "Configuración do enfoque" #: src/sigmamn.cpp:69 msgid "Focus setting" msgstr "Configuración do enfoque" #: src/sigmamn.cpp:80 msgid "Lens Range" msgstr "Rango da lente" #: src/sigmamn.cpp:81 msgid "Lens focal length range" msgstr "Rango de distancia focal da lente" #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 msgid "Shadow" msgstr "Sombra" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 msgid "Highlight" msgstr "Resaltar" #: src/sigmamn.cpp:104 msgid "Fill Light" msgstr "Luz de recheo" #: src/sigmamn.cpp:105 msgid "X3 Fill light" msgstr "Luz de recheo X3" #: src/sigmamn.cpp:107 msgid "Color Adjustment" msgstr "Axuste da cor" #: src/sigmamn.cpp:108 msgid "Color adjustment" msgstr "Axuste da cor" #: src/sigmamn.cpp:110 msgid "Adjustment Mode" msgstr "Modo de axuste" #: src/sigmamn.cpp:111 msgid "Adjustment mode" msgstr "Modo de axuste" #: src/sigmamn.cpp:122 msgid "Auto Bracket" msgstr "Forcada automática" #: src/sigmamn.cpp:123 src/tags.cpp:1497 msgid "Auto bracket" msgstr "Forcada automática" #: src/sigmamn.cpp:127 msgid "Unknown SigmaMakerNote tag" msgstr "Etiqueta SigmaMakerNote descoñecida" #: src/sigmamn.cpp:170 msgid "8-Segment" msgstr "Segmento 8" #: src/sonymn.cpp:131 msgid "Advanced Lv1" msgstr "Lv1 avanzado" #: src/sonymn.cpp:132 msgid "Advanced Lv2" msgstr "Lv2 avanzado" #: src/sonymn.cpp:133 msgid "Advanced Lv3" msgstr "Lv3 avanzado" #: src/sonymn.cpp:134 msgid "Advanced Lv4" msgstr "Lv4 avanzado" #: src/sonymn.cpp:135 msgid "Advanced Lv5" msgstr "Lv5 avanzado" #: src/sonymn.cpp:154 msgid "Night Scene / Twilight" msgstr "Escena nocturna / solpor" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "Obturador alta velocidade" #: src/sonymn.cpp:156 msgid "Twilight Portrait" msgstr "Retrato no solpor" #: src/sonymn.cpp:157 #, fuzzy msgid "Soft Snap / Portrait" msgstr "Autoretrato" #: src/sonymn.cpp:159 msgid "Smile Shutter" msgstr "Disparador de sonrisas" #: src/sonymn.cpp:161 msgid "High Sensitivity" msgstr "Alta sensibilidade" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "" #: src/sonymn.cpp:166 #, fuzzy msgid "Sweep Panorama" msgstr "Panorama" #: src/sonymn.cpp:168 msgid "Anti Motion Blur" msgstr "Anti esborranchado do movemento" #: src/sonymn.cpp:170 msgid "Backlight Correction HDR" msgstr "Correccion HDR de luz de fondo" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "" #: src/sonymn.cpp:172 #, fuzzy msgid "Background Defocus" msgstr "Macro foco" #: src/sonymn.cpp:173 #, fuzzy msgid "Soft Skin" msgstr "Pel suave" #: src/sonymn.cpp:174 #, fuzzy msgid "3D Image" msgstr "ID da imaxe" #: src/sonymn.cpp:189 msgid "On (Continuous)" msgstr "Acender (Continuo)" #: src/sonymn.cpp:190 msgid "On (Shooting)" msgstr "Acender (Disparo)" #: src/sonymn.cpp:198 msgid "Plus" msgstr "Máis" #: src/sonymn.cpp:214 msgid "White Flourescent" msgstr "Fluorescente branco" #: src/sonymn.cpp:215 msgid "Cool White Flourescent" msgstr "Fluorescente branco frío" #: src/sonymn.cpp:216 msgid "Day White Flourescent" msgstr "Fluorescente branco diúrno" #: src/sonymn.cpp:217 #, fuzzy msgid "Incandescent2" msgstr "Incandescente" #: src/sonymn.cpp:218 #, fuzzy msgid "Warm White Fluorescent" msgstr "Fluorescente branco" #: src/sonymn.cpp:221 msgid "Underwater 1 (Blue Water)" msgstr "Baixo a auga 1 (auga azul)" #: src/sonymn.cpp:222 msgid "Underwater 2 (Green Water)" msgstr "Baixo a auga 2 (auga verde)" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "AF permanente" #: src/sonymn.cpp:237 msgid "Center AF" msgstr "AF centrado" #: src/sonymn.cpp:238 msgid "Spot AF" msgstr "AF puntual" #: src/sonymn.cpp:239 msgid "Flexible Spot AF" msgstr "AF punto flexíbel" #: src/sonymn.cpp:240 msgid "Touch AF" msgstr "AF a un toque" #: src/sonymn.cpp:241 msgid "Manual Focus" msgstr "Enfoque manual" #: src/sonymn.cpp:242 msgid "Face Detected" msgstr "Faciana detectada" #: src/sonymn.cpp:257 msgid "Close Focus" msgstr "Pechar foco" #: src/sonymn.cpp:347 src/sonymn.cpp:348 msgid "Multi Burst Mode" msgstr "Modo de raxada múltiple" #: src/sonymn.cpp:350 src/sonymn.cpp:351 msgid "Multi Burst Image Width" msgstr "Largura da imaxe en raxada múltiple" #: src/sonymn.cpp:353 src/sonymn.cpp:354 msgid "Multi Burst Image Height" msgstr "Altura da imaxe en raxada múltiple" #: src/sonymn.cpp:364 msgid "JPEG preview image" msgstr "Imaxe de vista previa JPEG" #: src/sonymn.cpp:390 msgid "Auto HDR" msgstr "HDR automático" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "Modo de rango de alta definición" #: src/sonymn.cpp:395 msgid "Shot Information" msgstr "Información do disparo" #: src/sonymn.cpp:400 src/sonymn.cpp:401 msgid "Sony Model ID" msgstr "ID do modelo Sony" #: src/sonymn.cpp:403 src/sonymn.cpp:404 msgid "Color Reproduction" msgstr "Reprodución de cor" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 msgid "Dynamic Range Optimizer" msgstr "Optimizador de rango dinámico" #: src/sonymn.cpp:427 src/sonymn.cpp:428 msgid "Minolta MakerNote" msgstr "Versión da nota do fabricante Minolta" #: src/sonymn.cpp:433 src/sonymn.cpp:434 msgid "Full Image Size" msgstr "Tamaño da imaxe total" #: src/sonymn.cpp:436 msgid "Preview Image Size" msgstr "Tamaño da imaxe de vista previa" #: src/sonymn.cpp:437 msgid "Preview image size" msgstr "Tamaño da imaxe de vista previa" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 msgid "AF Illuminator" msgstr "Iluminador de AF" #: src/sonymn.cpp:454 src/sonymn.cpp:455 msgid "JPEG Quality" msgstr "Calidade JPEG" #: src/sonymn.cpp:460 src/sonymn.cpp:461 msgid "Release Mode" msgstr "Modo de publicación" #: src/sonymn.cpp:464 #, fuzzy msgid "Shot number in continuous burst mode" msgstr "Número de dispáros en modo raxada contínua" #: src/sonymn.cpp:466 src/sonymn.cpp:467 msgid "Anti-Blur" msgstr "Anti esborranchado" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 msgid "Long Exposure Noise Reduction" msgstr "Redución do ruído de alta exposición" #: src/sonymn.cpp:475 src/sonymn.cpp:476 msgid "Intelligent Auto" msgstr "Modo intelixente automático" #: src/sonymn.cpp:483 msgid "Unknown Sony1MakerNote tag" msgstr "Etiqueta Sony1MakerNote descoñecida" #: src/sonymn.cpp:497 msgid "Continuous High" msgstr "Alta continuidade" #: src/sonymn.cpp:501 msgid "Continuous Low" msgstr "Baixa continuidade" #: src/sonymn.cpp:503 src/sonymn.cpp:504 msgid "D-Range Optimizer Bracketing Low" msgstr "Forcada con optimizador D-Range baixo" #: src/sonymn.cpp:536 msgid "Autumn" msgstr "Outono" #: src/sonymn.cpp:542 msgid "ADI" msgstr "Imaxe Dixital Avanzada ADI" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "Caixa de estilos 1" #: src/sonymn.cpp:578 msgid "Auto No Flash" msgstr "Automático sen flash" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 msgid "Dynamic Range Optimizer Level" msgstr "Nivel do optimizador de rango dinámico" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 msgid "Creative Style" msgstr "Estilo creativo" #: src/sonymn.cpp:648 src/sonymn.cpp:649 msgid "Zone Matching Value" msgstr "Valor de zona coincidente" #: src/sonymn.cpp:666 src/sonymn.cpp:667 msgid "AF With Shutter" msgstr "Disparador con AF" #: src/sonymn.cpp:674 src/sonymn.cpp:675 msgid "High ISO NoiseReduction" msgstr "Alta redución de ruído ISO" #: src/sonymn.cpp:678 src/sonymn.cpp:679 msgid "Image Style" msgstr "Estilo da imaxe" #: src/sonymn.cpp:704 msgid "Unknown Sony1 Camera Settings tag" msgstr "Etiqueta de configuracións de cámara Sony1 descoñecida" #: src/sonymn.cpp:768 msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "Etiqueta de configuracións 2 de cámara Sony1 descoñecida" #: src/tags.cpp:188 msgid "Unknown section" msgstr "Sección descoñecida" #: src/tags.cpp:189 msgid "Image data structure" msgstr "Estrutura de datos da imaxe" #: src/tags.cpp:190 msgid "Recording offset" msgstr "Desprazamento da gravación" #: src/tags.cpp:191 msgid "Image data characteristics" msgstr "Caracteristicas dos datos da imaxe" #: src/tags.cpp:192 msgid "Other data" msgstr "Outros datos" #: src/tags.cpp:193 msgid "Exif data structure" msgstr "Estrutura de datos Exif" #: src/tags.cpp:195 msgid "Image configuration" msgstr "Configuración da imaxe" #: src/tags.cpp:196 msgid "User information" msgstr "Información do usuario" #: src/tags.cpp:197 msgid "Related file" msgstr "Ficheiro relacionado" #: src/tags.cpp:198 msgid "Date and time" msgstr "Data e hora" #: src/tags.cpp:199 msgid "Picture taking conditions" msgstr "Condicións de toma da fotografía" #: src/tags.cpp:200 msgid "GPS information" msgstr "Información GPS" #: src/tags.cpp:201 msgid "Interoperability information" msgstr "Información de interoperatibidade" #: src/tags.cpp:202 msgid "Vendor specific information" msgstr "Información específica do vendedor" #: src/tags.cpp:203 msgid "Adobe DNG tags" msgstr "Etiquetas Adobe DNG" #: src/tags.cpp:204 msgid "Panasonic RAW tags" msgstr "Etiquetas Panasonic RAW" #: src/tags.cpp:205 msgid "TIFF/EP tags" msgstr "Etiquetas TIFF/EP" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "Etiquetas TIFF PageMaker 6.0" #: src/tags.cpp:207 msgid "Adobe OPI tags" msgstr "Etiquetas Adobe OPI" #: src/tags.cpp:208 msgid "Last section" msgstr "Última sección" #: src/tags.cpp:224 msgid "Primary image" msgstr "Imaxe primaria" #: src/tags.cpp:225 msgid "Thumbnail/Preview image" msgstr "Miniatura/Vista previa" #: src/tags.cpp:226 msgid "Primary image, Multi page file" msgstr "Imaxe principal, ficheiro de páxinas múltiples" #: src/tags.cpp:227 msgid "Thumbnail/Preview image, Multi page file" msgstr "Miniatura / Vista previa, ficheiro de páxinas múltiples" #: src/tags.cpp:228 msgid "Primary image, Transparency mask" msgstr "Imaxe principal, máscara de transparencia" #: src/tags.cpp:229 msgid "Thumbnail/Preview image, Transparency mask" msgstr "Miniatura / Vista previa, máscara de transparencia" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "" "Imaxe principal, ficheiro de páxinas múltiples, máscara de transparencia" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "" "Miniatura / Imaxe de vista previa, ficheiro de páxinas múltiples, máscara de " "transparencia" #: src/tags.cpp:237 msgid "Full-resolution image data" msgstr "Datos da imaxe, resolución completa" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "Datos da imaxe, resolución reducida" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "Uhna única página dunha imaxe de páxinas múltiples" #: src/tags.cpp:245 msgid "inch" msgstr "polgada" #: src/tags.cpp:252 msgid "CCITT RLE" msgstr "CCITT RLE" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "Fax T4/Grupo 3" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "Fax T6/Grupo 4" #: src/tags.cpp:255 msgid "LZW" msgstr "LZW (compresión sin pérdidas para tiff)" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "JPEG (estilo antiguo)" #: src/tags.cpp:257 msgid "JPEG" msgstr "JPEG" #: src/tags.cpp:258 msgid "Adobe Deflate" msgstr "Adobe descomprimido" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "JBIG BeN" #: src/tags.cpp:260 msgid "JBIG Color" msgstr "Color JBIG" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "Próximos 2-bits RLE" #: src/tags.cpp:262 msgid "Epson ERF Compressed" msgstr "Epson ERF comprimido" #: src/tags.cpp:263 msgid "Samsung SRW Compressed" msgstr "Samsung SRW comprimido" #: src/tags.cpp:264 msgid "CCITT RLE 1-word" msgstr "CCITT RLE 1-word" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "PackBits (Macintosh RLE)" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "Thunderscan RLE" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "IT8 CT Padding" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "IT8 Linework RLE" #: src/tags.cpp:269 msgid "IT8 Monochrome Picture" msgstr "Imaxe monocromática IT8" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "Arte lineal binaria IT8" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "Pixar Film (10-bits LZW)" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "Pixar Log (11-bits ZIP)" #: src/tags.cpp:273 msgid "Pixar Deflate" msgstr "Pixar descomprimido" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "Codificación Kodak DCS" #: src/tags.cpp:275 msgid "ISO JBIG" msgstr "ISO JBIG" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "Rexistro SCI de luminancia RLE" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "Rexistro SGI de 24 bits empaquetados" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "Leadtools JPEG 2000" #: src/tags.cpp:279 msgid "Nikon NEF Compressed" msgstr "Nikon NEF comprimido" #: src/tags.cpp:280 msgid "Kodak DCR Compressed" msgstr "Kodak DCR comprimido" #: src/tags.cpp:281 msgid "Pentax PEF Compressed" msgstr "Pentax PEF comprimido" #: src/tags.cpp:286 msgid "White Is Zero" msgstr "o branco é cero" #: src/tags.cpp:287 msgid "Black Is Zero" msgstr "o negro é cero" #: src/tags.cpp:288 msgid "RGB" msgstr "RGB" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "Paleta RGB" #: src/tags.cpp:290 msgid "Transparency Mask" msgstr "Máscara de transparencia" #: src/tags.cpp:291 src/tags.cpp:330 msgid "CMYK" msgstr "CMYK" #: src/tags.cpp:292 msgid "YCbCr" msgstr "YCbCr" #: src/tags.cpp:293 msgid "CIELab" msgstr "CIELab" #: src/tags.cpp:294 msgid "ICCLab" msgstr "ICCLab" #: src/tags.cpp:295 msgid "ITULab" msgstr "ITULab" #: src/tags.cpp:296 msgid "Color Filter Array" msgstr "Matriz de filtro de cor" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "Pixar LogL" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "Pixar LogLuv" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "Raw lineal" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "Sen tramado ou semitóns" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "Trama ordenada ou técnica de semitono" #: src/tags.cpp:306 msgid "Randomized process" msgstr "Proceso ao chou" #: src/tags.cpp:311 msgid "top, left" msgstr "arriba, esquerda" #: src/tags.cpp:312 msgid "top, right" msgstr "arriba, dereita" #: src/tags.cpp:313 msgid "bottom, right" msgstr "abaixo, dereita" #: src/tags.cpp:314 msgid "bottom, left" msgstr "abaixo, esquerda" #: src/tags.cpp:315 msgid "left, top" msgstr "esquerda, arriba" #: src/tags.cpp:316 msgid "right, top" msgstr "dereita, arriba" #: src/tags.cpp:317 msgid "right, bottom" msgstr "dereita, abaixo" #: src/tags.cpp:318 src/tags.cpp:319 msgid "left, bottom" msgstr "esquerda, abaixo" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "Non se empregou o esquema de predición" #: src/tags.cpp:325 msgid "Horizontal differencing" msgstr "Diferenciación horizontal" #: src/tags.cpp:331 msgid "not CMYK" msgstr "sen CMYK" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "Datos enteiros sen asinar" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "Datos enteiros de complemento a dous asinados" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "Datos de coma flotante IEEE" #: src/tags.cpp:339 src/tags.cpp:340 msgid "Undefined data format" msgstr "Formato de datos sen definir" #: src/tags.cpp:345 msgid "Not indexed" msgstr "Sen indexar" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "Indexado" #: src/tags.cpp:351 msgid "A" msgstr "A" #: src/tags.cpp:352 msgid "B" msgstr "B" #: src/tags.cpp:353 msgid "C" msgstr "C" #: src/tags.cpp:354 msgid "A+B-C" msgstr "A+B-C" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "A+((B-C)/2)" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "B+((A-C)/2)" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "(A+B)/2" #: src/tags.cpp:362 msgid "Centered" msgstr "Centrado" #: src/tags.cpp:363 msgid "Co-sited" msgstr "Emprazamento compartido" #: src/tags.cpp:368 msgid "No flash" msgstr "Sen flash" #: src/tags.cpp:370 #, fuzzy msgid "Fired, return light not detected" msgstr "Si, automático, non se detectou a luz de retorno" #: src/tags.cpp:371 #, fuzzy msgid "Fired, return light detected" msgstr "Si, automático, detectouse a luz de retorno" #: src/tags.cpp:372 msgid "Yes, did not fire" msgstr "Si, non se disparou" #: src/tags.cpp:373 msgid "Yes, compulsory" msgstr "Si, obrigatorio" #: src/tags.cpp:374 msgid "Yes, compulsory, return light not detected" msgstr "Si, modo obrigatorio do flash, non se detectou a luz de retorno." #: src/tags.cpp:375 msgid "Yes, compulsory, return light detected" msgstr "Si, modo obrigatorio do flash, detectouse a luz de retorno." #: src/tags.cpp:376 msgid "No, compulsory" msgstr "Non, obrigatorio" #: src/tags.cpp:377 #, fuzzy msgid "No, did not fire, return light not detected" msgstr "Si, automático, non se detectou a luz de retorno" #: src/tags.cpp:378 msgid "No, auto" msgstr "Non, automático" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "Si, automático" #: src/tags.cpp:380 msgid "Yes, auto, return light not detected" msgstr "Si, automático, non se detectou a luz de retorno" #: src/tags.cpp:381 msgid "Yes, auto, return light detected" msgstr "Si, automático, detectouse a luz de retorno" #: src/tags.cpp:382 msgid "No flash function" msgstr "Sen función de flash" #: src/tags.cpp:383 msgid "No, no flash function" msgstr "Non, sen función de flash" #: src/tags.cpp:384 msgid "Yes, red-eye reduction" msgstr "Si, redución de ollos vermellos" #: src/tags.cpp:385 msgid "Yes, red-eye reduction, return light not detected" msgstr "Si, redución de ollos vermellos, non se detectou a luz de retorno" #: src/tags.cpp:386 msgid "Yes, red-eye reduction, return light detected" msgstr "Si, redución de ollos vermellos, detectouse a luz de retorno" #: src/tags.cpp:387 msgid "Yes, compulsory, red-eye reduction" msgstr "Si, obrigatorio, redución de ollos vermellos." #: src/tags.cpp:388 msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "" "Si, obrigatorio, redución de ollos vermellos, non se detectou a luz de " "retorno" #: src/tags.cpp:389 msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "" "Si, obrigatorio, redución de ollos vermellos, detectouse a luz de retorno" #: src/tags.cpp:390 msgid "No, red-eye reduction" msgstr "Non, redución de ollos vermellos" #: src/tags.cpp:391 msgid "No, auto, red-eye reduction" msgstr "Non,automático, redución de ollos vermellos" #: src/tags.cpp:392 msgid "Yes, auto, red-eye reduction" msgstr "Si,automático, redución de ollos vermellos" #: src/tags.cpp:393 msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "" "Si,automático, redución de ollos vermellos, non se detectou a luz de retorno" #: src/tags.cpp:394 msgid "Yes, auto, red-eye reduction, return light detected" msgstr "" "Si,automático, redución de ollos vermellos, detectouse a luz de retorno" #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "Escena rectangular (ou cadrada)" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "" "Disposición intercalada A: aplica un desprazamento de 1/2 fila abaixo ás " "columnas pares" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "" "Disposición intercalada B: aplica un desprazamento de 1/2 fila arriba ás " "columnas pares" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "" "Disposición intercalada C: aplica un desprazamento de 1/2 columna á dereita " "ás filas pares" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "" "Disposición escalonada B: aplica un desprazamento de 1/2 columna á esquerda " "ás filas pares" #: src/tags.cpp:408 msgid "Processing Software" msgstr "Procesando software" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "Nome e versión do software usado para post-procesar a imaxe" #: src/tags.cpp:412 msgid "New Subfile Type" msgstr "Novo tipo de ficheiro secundario" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "Indicación xeral do tipo de datos contido neste ficheiro secundario" #: src/tags.cpp:415 msgid "Subfile Type" msgstr "Tipo de ficheiro secundario" #: src/tags.cpp:416 msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "" "Unha indicación xeral do tipo de datos contidos neste ficheiro secundario. " "Este campo é obsoleto, debe empregarse NewSubfileType no seu canto" #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "A cantidade de columnas dos datos de la imaxe, igual á cantidade de píxeles " "por fila. En datos comprimidos JPEG utilizase un marcador JPEG no canto " "desta etiqueta." #: src/tags.cpp:425 msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" "A cantidade de filas de datos da imaxe. En datos comprimidos JPEG utilizase " "un marcador JPEG no canto desta etiqueta." #: src/tags.cpp:428 msgid "Bits per Sample" msgstr "Bits por mostra" #: src/tags.cpp:429 msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" "A cantidade de bits por compoñente da imaxe. Neste estándar cada compoñente " "de imaxe é de 8 bits, polo que o valor desta etiqueta é 9. Vexa tamén " ". En datos comprimidos JPEG utilizase un marcador JPEG no " "canto desta etiqueta." #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" "O esquema de compresión usado para os datos da imaxe. Cando unha imaxe " "primaria está comprimida con JPEG, isto non é necesario e omítese. Cando as " "miniaturas utilizan compresión JPEG, o valor desta etiqueta é 6." #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" "A composición do píxel. En datos comprimidos JPEG utilizase un marcador JPEG " "no canto desta etiqueta." #: src/tags.cpp:444 #, fuzzy msgid "Thresholding" msgstr "Limiares" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" "Para TIFF en branco e negro, a técnica usada para converter os tons de gris " "en píxeles brancos ou negros (puros)." #: src/tags.cpp:448 msgid "Cell Width" msgstr "Largura da cela" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" "Largo da matriz de tramado ou semitóns usada para crear o ficheiro ao que se " "lle aplica o tramado ou semitóns de dous niveis." #: src/tags.cpp:452 msgid "Cell Length" msgstr "Tamaño da cela" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" "Lonxitude da matriz de tramado ou semitóns usada para crear o ficheiro ao " "que se lle aplica o tramado ou semitóns de dous niveis." #: src/tags.cpp:456 msgid "Fill Order" msgstr "Orden de recheo" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "Orden lóxico de bits dentro dun byte" #: src/tags.cpp:459 msgid "Document Name" msgstr "Nome do documento" #: src/tags.cpp:460 msgid "The name of the document from which this image was scanned" msgstr "Nome do documento do que foi escaneada esta imaxe" #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" "Unha cadea de caracteres que da título á imaxe. Pode ser un comentario como " "«merenda de empresa de 1988» ou algo polo estilo. Non se permiten caracteres " "codificados con 2 bytes, de necesitarse un código de 2 bytes debe usarse a " "etiqueta privada Exif ." #: src/tags.cpp:470 msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" "O fabricante do equipo. Este é o fabricante do DSC, escáner, dixitalizador " "de vídeo ou outro equipo que xerou a imaxe. Cando se deixa baleiro o campo, " "tratase como descoñecido." #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" "O nome ou número de modelo do equipo. Este é o nome do modelo ou número do " "DSC, escáner, dixitalizador de vídeo ou outro equipo que xerou a imaxe. " "Cando se deixa baleiro o campo, tratase como descoñecido." #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" "O desprazamento en bytes de cada tira. Recomendase que se seleccione de " "xeito tal que a cantidade de bytes da tira non exceda de 64 Kbytes. Con " "datos comprimidos JPEG isto non é necesario e omítese. Vexa tamén " " e ." #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "A orientación da imaxe vista en términos de filas e columnas." #: src/tags.cpp:491 msgid "Samples per Pixel" msgstr "Mostras por pixel" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" "O número de compoñentes por píxel. Desde que se aplica este estándar a " "imaxes RGB e YCbCr, o valor desta etiqueta é 3. En JPEG comprimidos " "utilizase un marcador JPEG no canto desta etiqueta." #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "Filas por tira" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" "A cantidade de filas por tira. Esta é a cantidade de filas na imaxe dunha " "tira cando se divide á imaxe en tiras. En datos comprimidos JPEG isto non é " "necesario e omítese. Vexa tamién e ." #: src/tags.cpp:502 msgid "Strip Byte Count" msgstr "Cantidade de bytes por tira" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" "A cantidade total de bytes en cada tira. En datos comprimidos JPEG isto non " "é necesario e omítese" #: src/tags.cpp:506 msgid "X-Resolution" msgstr "Resolución X" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" "A cantidade de píxeles por na dirección . Cando " "se descoñece a resolución dunha imaxe, utilizase 72 [dpi]." #: src/tags.cpp:510 msgid "Y-Resolution" msgstr "Resolución Y" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" "A cantidade de píxeles por na dirección . " "Utilizase o mesmo valor que ." #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" "Indica se os compoñentes de píxel se gravan en formato plano ou segmentado. " "Nos datos comprimidos JPEG utilizase un marcador JPEG no canto desta " "etiqueta. Se este campo non existe, asúmese o predeterminado de TIFF, 1 " "(segmentado)." #: src/tags.cpp:520 msgid "Gray Response Unit" msgstr "Unidade de resposta de grises" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "Precisión da información contida en «Curva de resposta de grises»." #: src/tags.cpp:523 msgid "Gray Response Curve" msgstr "Curva de resposta de grises" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "" "Densidade óptica de cada posíbel valor do píxel con datos na escala de " "grises." #: src/tags.cpp:526 msgid "T4 Options" msgstr "Opcións T4" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "Opcións de codificación T4" #: src/tags.cpp:529 msgid "T6 Options" msgstr "Opcións T6" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "Opcións de codificación T6" #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" "A unidade para medir tanto como (é a mesma para " "ambas). De descoñecerse a resolución da imaxe, utilizase 2 (polgadas)." #: src/tags.cpp:537 #, fuzzy msgid "Page Number" msgstr "Número de imaxe" #: src/tags.cpp:538 #, fuzzy msgid "The page number of the page from which this image was scanned." msgstr "Nome do documento do que foi escaneada esta imaxe" #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" "Unha función de transferencia para a imaxe, descrita en forma tabular. " "Normalmente esta etiqueta non é necesaria, xa que o espazo de cor " "especificase na etiqueta de información de espazo de cor ()." #: src/tags.cpp:546 msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" "Esta etiqueta registra el nombre y la versión del software o firmware de la " "cámara o dispositivo de entrada de imagen utilizado para generar la imágen. " "No se especifica el formato detallado, pero se recomienda que se siga el " "ejemplo mostrado debajo. Cuando el campo se deja en blanco, se trata como " "desconocido." #: src/tags.cpp:553 msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" "A data e a hora da creación da imaxe. No estándar Exif é a data e a hora na " "que cambiou o ficheiro." #: src/tags.cpp:557 msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" "Esta etiqueta rexistra o nome do propietario da cámara, fotógrafo ou creador " "da imaxe. Non se especifica o formato detallado, mais recomendase que se " "escriba a información como no exemplo de embaixo para facilitar a " "interoperabilidade. Cando se deixa baleiro o campo, tratase como " "descoñecido. P.ex. «Propietario da cámara, Xoan Trelles; fotógrafo, Lois " "Castro; creadora da imaxe, Xiana Sotelo»" #: src/tags.cpp:564 msgid "Host Computer" msgstr "Equipo anfitrión" #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" "Esta etiqueta garda información sobre o computador (anfitrión) usado para " "xerar a imaxe." #: src/tags.cpp:568 msgid "Predictor" msgstr "Predictor" #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" "Un «predictor» é un operador matemático aplicado á imaxe antes de que se " "aplique un sistema de codificación." #: src/tags.cpp:573 msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" "A cromacidade do punto branco da imaxe. Normalmente esta etiqueta non é " "necesaria xa que o espazo de cor especificase na etiqueta de información do " "espazo de cor ()." #: src/tags.cpp:578 msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" "A cromacidade das tres cores primarias da imaxe. Normalmente esta etiqueta " "non é necesaria xa que o espazo de cor especificase na etiqueta de " "información do espazo de cor ()." #: src/tags.cpp:582 msgid "Color Map" msgstr "Mapa de cores" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" "Mapa de cores para as imaxes con paleta de cor. Este campo define un mapa de " "cores RGB (normalmente chamada táboa de busca) para este tipo de imaxes. " "Nunha imaxe con paleta de cor, usase o valor dun píxel para indexar o mapa " "de cores." #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "Consellos sobre semitóns" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" "O propósito do campo «Consellos sobre semitóns» é transmitir á función de " "medios tons a gama de niveis de grises nunha imaxe colorimetricamente " "especificada que debe conservar os detalles tonais." #: src/tags.cpp:593 msgid "Tile Width" msgstr "Largo do mosaico" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "O largo do mosaico en píxeles, é o número de columnas en cada mosaico" #: src/tags.cpp:596 msgid "Tile Length" msgstr "Lonxitude do mosaico" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "A altura do mosaico en píxeles, é o número de filas en cada mosaico" #: src/tags.cpp:599 msgid "Tile Offsets" msgstr "Desprazamentos do mosaico" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" "Byte de desprazamento para cada mosaico comprimido e gardado no disco. O " "desprazamento especificase con respecto ao inicio do ficheiro TIFF. Debe " "trese en conta que cada mosaico está localizado independentemente do resto." #: src/tags.cpp:605 msgid "Tile Byte Counts" msgstr "Conta de bytes do mosaico" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" "U número de bytes (comprimidos) en cada mosaico. Ver «Desprazamentos do " "mosaico» para obter unha descrición de como se ordenan as contas de byte." #: src/tags.cpp:609 msgid "SubIFD Offsets" msgstr "Compensacións subIFD" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "" "Definido por Adobe Corporation para activar árbores TIFF dentro de ficheiros " "TIFF." #: src/tags.cpp:612 msgid "Ink Set" msgstr "Xogo de tintas" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "" "O xogo set de tintas usadas nunha imaxe (interpretación fotométrica=5) " "separada." #: src/tags.cpp:615 msgid "Ink Names" msgstr "Nomes de tintas" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "" "O nome de cada tinta usada nunha imaxe (interpretación fotométrica=5) " "separada." #: src/tags.cpp:618 msgid "Number Of Inks" msgstr "Número de tintas" #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" "O número de tintas. Habitualmente igual a mostras por píxel, agás que sexan " "mostras extra." #: src/tags.cpp:621 msgid "Dot Range" msgstr "Rango de puntos" #: src/tags.cpp:622 #, fuzzy, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "Os valores dos compoñentes que corresponden ao 0% dot e 100% dot." #: src/tags.cpp:624 msgid "Target Printer" msgstr "Impresora de destino" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "" "Unha descrición do entorno de impresión para o que se pretende esta " "separación." #: src/tags.cpp:627 msgid "Extra Samples" msgstr "Mostras extra" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" "Especifica que cada píxel ten «m» compoñentes extra cuxa interpretación está " "definida por un dos valores listados embaixo." #: src/tags.cpp:631 msgid "Sample Format" msgstr "Mostra do formato" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "Especifica como interpretar cada dato de mostra nun píxel" #: src/tags.cpp:634 msgid "SMin Sample Value" msgstr "Valor SMin da mostra" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "Especifica o valor mínimo da mostra" #: src/tags.cpp:637 msgid "SMax Sample Value" msgstr "Valor SMax da mostra" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "Especifica o valor máximo da mostra" #: src/tags.cpp:640 msgid "Transfer Range" msgstr "Rango de transferencia" #: src/tags.cpp:641 msgid "Expands the range of the TransferFunction" msgstr "Expande o rango da «Función de transferencia»" #: src/tags.cpp:643 msgid "Clip Path" msgstr "Ruta do fragmento" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" "Unha «Ruta do fragmento» TIFF serve para reflectir as fincionalidades " "senciais da creación de rutas PostScript." #: src/tags.cpp:647 msgid "X Clip Path Units" msgstr "Unidades para o eixo X da ruta ao fragmento" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" "O número de unidades que comprende a largura da imaxe, en termos de " "coordenadas enteiras de «Ruta ao fragmento»." #: src/tags.cpp:651 msgid "Y Clip Path Units" msgstr "Unidades para o eixo Y da ruta ao fragmento" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "" "O número de unidades que comprende a altura da imaxe, en termos de " "coordenadas enteiras de «Ruta ao fragmento»." #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" "Imaxes indexadas son imaxes onde os «píxeles» non representan valores de " "cor, senón o índice (habitualmente 8-bit) nunha táboa de cores separada,o " "mapa de cores." #: src/tags.cpp:660 msgid "JPEG tables" msgstr "Táboas JPEG" #: src/tags.cpp:661 #, fuzzy msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" "Pode empregarse esta etiqueta opcional para codificar la cuantización do " "JPEG e as táboas Huffman para a súa utilización posterior no proceso de " "descompresión de JPEG." #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "Proxy OPI" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" "OPIProxy fornece información referente a se a imaxe é un proxy de baixa " "resolución dunha imaxe de alta resolución (Adobe OPI)." #: src/tags.cpp:668 msgid "JPEG Process" msgstr "Proceso JPEG" #: src/tags.cpp:669 msgid "This field indicates the process used to produce the compressed data" msgstr "Este campo indica o proceso usado para producir os datos comprimidos" #: src/tags.cpp:671 msgid "JPEG Interchange Format" msgstr "Formato de intercambio de JPEG" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" "O desprazamento do byte de inicio (SOI) dos datos comprimidos da miniatura " "JPEG. Isto non se utiliza para os datos primarios de imaxe JPEG." #: src/tags.cpp:675 msgid "JPEG Interchange Format Length" msgstr "Lonxitude do formato de intercambio de JPEG" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" "A cantidade de bytes de datos dunha miniatura comprimida JPEG. Isto non se " "utiliza para os datos primarios JPEG. As miniaturas JPEG non se dividen " "senón que se gravan como un fluxo contínuo de bits desde SOI ata EOI. Non se " "deberían rexistrar marcadores Appn e COM. As miniaturas comprimidas deberían " "gravarse en non máis de 64 Kbytes, incluíndo todos os uotros datos a gravar " "en APP1." #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "Intervalo de reinicio JPEG" #: src/tags.cpp:684 msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "" "Este campo indica a lonxitude do intervalo de reinicio utilizado nos datos " "da imaxe comprimida." #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "Predictores JPEG sen perdas" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" "Este campo apunta a unha lista de selección de valores para o predictor sen " "perdas, un por compoñente." #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "Transformacións de punto JPEG" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "" "Este campo apunta a unha lista de valores de transformación de punto, un por " "compoñente." #: src/tags.cpp:694 msgid "JPEG Q-Tables" msgstr "Táboas Q JPEG" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" "Este campo apunta a unha lista de desprazamentos para as táboas de " "cuantificación, un por compoñente." #: src/tags.cpp:698 msgid "JPEG DC-Tables" msgstr "Táboas DC JPEG" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" "Este campo apunta a unha lista de desprazamentos nas táboas Huffman DC ou " "nas táboas Huffman sen perdas, unha por compoñente." #: src/tags.cpp:702 msgid "JPEG AC-Tables" msgstr "Tábpas AC JPEG" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" "Este campo apunta a unha lista de desprazamentos nas táboas Huffman AC, unha " "por compoñente." #: src/tags.cpp:707 msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" "Os coeficientes da matriz para transformar os datos de RGB a YCbCr. En TIF " "non se fornecen valores predeterminados mais aquí tomase o valor dado no " "Apéndice E, «Directrices dos espazos de cor», como predeterminado. O espazo " "de cor declarase nunha etiqueta de información do espazo de cor, tomando " "como predeterminado o que dea as características óptimas de " "interoperabilidade para a imaxe." #: src/tags.cpp:715 msgid "YCbCr Sub-Sampling" msgstr "Mostraxe secundario YCbCr" #: src/tags.cpp:716 msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "A relación de mostraxe dos compoñentes de crominancia en relación co " "compoñente de luminancia. En datos comprimidos JPEG utilizase un marcador " "JPEG no canto de esta etiqueta." #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" "A posición dos compoñentes de crominancia en relación co de luminancia. Este " "campo designase só para JPEG comprimidos ou datos non comprimidos YCbCr. O " "valor predeterminado TIFF é 1 (centrado); mais cando Y:Cb:Cr = 4:2:2 " "recomendase neste estándar que se utilice 2 (emprazamento compartido) para " "rexistrar os datos, para mellorar a calidade da imaxe cando se ve en " "sistemas de TV. Cando este campo non existe, o lector deberá asumir o " "predeterminado TIFF. En caso de que Y:Cb:Cr = 4:2:0, recomendase o " "predeterminado TIFF (centrado). Se o lector non ten a capacidade de admitir " "ambos tipos de , debería seguir o predeterminado TIFF sen " "importar o valor deste campo. É preferíbel que os lectores poidan admitir o " "posicionamento centrado e o emprazamento compartido." #: src/tags.cpp:735 msgid "Reference Black/White" msgstr "Referencia branco/negro" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" "O valor de referencia dos puntos branco e negro. En TIFF non se dan " "predeterminados, mais os valores de embaixo dánse como predeterminados aquí. " "O espazo de cor declarase nunha etiqueta de información do espazo de cor, " "sendo o valor predeterminado aquel que dea as características de " "interoperabilidade óptimas para a imaxe." #: src/tags.cpp:743 msgid "XML Packet" msgstr "Paquete XML" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "Metadatos XMP (Adobe nota técnica 9-14-02)" #: src/tags.cpp:746 msgid "Windows Rating" msgstr "Cualificación de Windows" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "Etiqueta de cualificación usada por Windows" #: src/tags.cpp:749 msgid "Windows Rating Percent" msgstr "Porcentaxe de cualificación de Windows" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "Etiqueta de cualificación usada por Windows, valor en porcentaxe" #: src/tags.cpp:752 msgid "Image ID" msgstr "ID da imaxe" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" "«ID de imaxe» é a ruta completa da imaxe orixinal en alta resolución ou " "calquera outra cadea de identificación que identifique univocamente á imaxe " "orixinal (Adobe OPI)." #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "Dimensión de patrón de repetición CFA" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" "Conten dous valores representando as filas e columnas mínimas para definir " "os patróns repetitivos da matriz do filtro de cor" #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" "Indica o patrón xeométrico da matriz de filtros de cor (CFA) do sensor de " "imaxe cando se utiliza un sensor «monochip» de área de cor. Non se aplica a " "todos os métodos de detección." #: src/tags.cpp:770 #, fuzzy msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" "Información do Dereito de autoría. Neste estándar a etiqueta utilizase para " "indicar tanto o Dereito de autoría do fotografo como o Dereito do editor. É " "a nota de Dereito de autoría da persoa ou Organización que reclama dereitos " "sobre a imaxe. Neste campo debería escribirse a declaración de " "interoperatibilidade do Dereito de autoría, incluíndo a data e os dereitos; " "p.ex.: «Dereito de autoría, Lois Castro, 20xx. Todos os dereitos " "reservados.» Neste estándar o campo rexistra tanto o Dereito de autoría do " "fotógrafo como o Dereito do editor, con cada un rexistrado nunha parte " "separada da declaración. Cando hai unha distinción clara entre ambos " "Dereitos, primeiro debería escribirse o do fotógrafo seguido polo do editor, " "separados por NULL (neste caso, debido a que la declaración tamén termina " "con un NULL, hai dous códigos NULL) (vexa o exemplo 1). Cando se da só o do " "fotógrafo, está terminado por un código NULL (vexa o exemplo 2). Cando se da " "só o do editor, a parte do Dereito de autoría do fotógrafo consta dun espazo " "seguido dun código de terminación NULL, a seguir indicase o Dereito do " "editor (vexa o exemplo 3). Cando o campo se deixa baleiro, tratase como " "descoñecido." #: src/tags.cpp:789 msgid "Exposure time, given in seconds." msgstr "Tempo de exposición, en segundos." #: src/tags.cpp:790 src/tags.cpp:1553 msgid "The F number." msgstr "O número F." #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "IPTC/NAA" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "Conten un rexistro IPTC/NAA" #: src/tags.cpp:794 msgid "Image Resources Block" msgstr "Bloque de recursos de imaxe" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "Conten información incrustada polo aplicativo Adobe Photoshop" #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" "Un punteiro ao IFD Exif. Interoperabilidade, o IFD Exif ten a mesma " "estrutura que a do IFD especificado en TIFF. Porén, polo común, non conten " "datos de imaxe como no caso de TIFF." #: src/tags.cpp:803 msgid "Inter Color Profile" msgstr "Perfil «Inter Color»" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" "Conten unha caracterización ou perfil dun formato de espazo de cor do " "Consorcio InterColor (ICC)" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" "A clase de programa utilizado pola cámara para axustar a exposición cando se " "toma a foto." #: src/tags.cpp:807 msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "Indica a sensibilidade espectral de cada canle utilizado da cámara." #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" "Un punteiro ao GPS Info IFD. A estrutura de interoperabilidade do GPS Info " "IFD, como a do IFD Exif, non ten datos de imaxe." #: src/tags.cpp:813 src/tags.cpp:1564 msgid "ISO Speed Ratings" msgstr "Cualificación das velocidades ISO" #: src/tags.cpp:813 src/tags.cpp:1565 msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" "Indica a velocidade ISO e a latitude ISO da cámara ou dispositivo de entrada " "tal e como se especifica na ISO 12232." #: src/tags.cpp:814 msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" "Indica a función de conversión opto-electrónica (OECF) especificada en ISO " "14524." #: src/tags.cpp:815 msgid "Interlace" msgstr "Entrelazado" #: src/tags.cpp:815 msgid "Indicates the field number of multifield images." msgstr "Indica o número de campo de imaxes de campo múltiple." #: src/tags.cpp:816 msgid "Time Zone Offset" msgstr "Desprazamento do fuso horario" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" "Esta etiqueta opcional codifica o fuso horario do reloxo da cámara (relativo " "ao tempo medio de Greenwich) utilizado para crear o valor da etiqueta «Data " "e hora orixinal» cando se tomou a imaxe. Pode conter tamén o desprazamento " "do fuso horario do reloxo usado para crear o valor da etiqueta «Data e " "hora» cando se modifica a imaxe." #: src/tags.cpp:823 msgid "Self Timer Mode" msgstr "Modo temporizador" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "" "Número de segundos que foi atrasada a captura da imaxe, desde que se preme " "no botón." #: src/tags.cpp:824 msgid "Date Time Original" msgstr "Data e hora orixinal" #: src/tags.cpp:824 msgid "The date and time when the original image data was generated." msgstr "Data e hora na que se xeraron os datos da imaxe orixinal" #: src/tags.cpp:825 msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "" "Específico para datos comprimidos; declara os bits comprimidos por píxel." #: src/tags.cpp:826 msgid "Shutter speed." msgstr "Velocidade de obturación." #: src/tags.cpp:827 msgid "The lens aperture." msgstr "A abertura da lente." #: src/tags.cpp:828 msgid "The value of brightness." msgstr "O valor do brillo." #: src/tags.cpp:829 msgid "The exposure bias." msgstr "Compensación da exposición." #: src/tags.cpp:830 src/tags.cpp:1645 msgid "Max Aperture Value" msgstr "Valor máximo de abertura" #: src/tags.cpp:830 msgid "The smallest F number of the lens." msgstr "O menor número F da lente." #: src/tags.cpp:831 src/tags.cpp:1651 msgid "The distance to the subject, given in meters." msgstr "A distancia ao suxeito, dada en metros." #: src/tags.cpp:832 src/tags.cpp:1654 msgid "The metering mode." msgstr "O método de medición." #: src/tags.cpp:833 src/tags.cpp:1657 msgid "The kind of light source." msgstr "O tipo de fonte da luz." #: src/tags.cpp:834 msgid "Indicates the status of flash when the image was shot." msgstr "Indica el estado do flash cuando se tomou a imaxe." #: src/tags.cpp:835 msgid "The actual focal length of the lens, in mm." msgstr "A distancia focal real da lente, en mm." #: src/tags.cpp:836 msgid "Amount of flash energy (BCPS)." msgstr "Cantidade de enerxía do flash (BCPS)." #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "SFR da cámara" #: src/tags.cpp:838 msgid "Noise" msgstr "Ruído" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "Valores de medida do ruído." #: src/tags.cpp:839 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" "Número de píxeles por «Unidade de resolución do plano focal» (37392) na " "dirección«Largura da imaxe» para a imaxe principal." #: src/tags.cpp:840 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" "Número de píxeles por «Unidade de resolución do plano focal» (37392) na " "dirección«Lonxitude da imaxe» para a imaxe principal." #: src/tags.cpp:841 msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" "Unidade de medida para «Resolución no plano focal X» (37390) e «Resolución " "no plano focal Y» (37391)." #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "" "Número asignado a unha imaxe, p.ex., nunha explosión de imágenes en raxada." #: src/tags.cpp:843 msgid "Security Classification" msgstr "Clasificación de seguranza" #: src/tags.cpp:843 msgid "Security classification assigned to the image." msgstr "Clasificación de seguranza asignada á imaxe." #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "Rexistro de todos os cambios que se fixeron na imaxe." #: src/tags.cpp:845 msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "Indica a localización e a área do tema principal na escena xeral." #: src/tags.cpp:846 msgid "Encodes the camera exposure index setting when image was captured." msgstr "" "Codifica o valor do índice de exposición da cámara no momento da toma da " "imaxe." #: src/tags.cpp:847 msgid "TIFF/EP Standard ID" msgstr "ID estándar de TIFF/EP" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" "Conten catro caracteres ASCII representando o estándar TIFF/EP do ficheiro " "TIFF/EP , p.e '1', '0', '0', '0'" #: src/tags.cpp:851 msgid "Type of image sensor." msgstr "Tipo de sensor de imaxe." #: src/tags.cpp:852 msgid "Windows Title" msgstr "Título Windows" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "Etiqueta de título usada por Windows, codificada en UCS2" #: src/tags.cpp:855 msgid "Windows Comment" msgstr "Comentario Windows" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "Etiqueta de comentario usada por Windows, codificada en UCS2" #: src/tags.cpp:858 msgid "Windows Author" msgstr "Autor Windows" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "Etiqueta de autor usada por Windows, codificada en UCS2" #: src/tags.cpp:861 msgid "Windows Keywords" msgstr "Palabras clave de Windows" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "Palabras clave usadas por Windows, codificadas en UCS2" #: src/tags.cpp:864 msgid "Windows Subject" msgstr "Tema Windows" #: src/tags.cpp:865 msgid "Subject tag used by Windows, encoded in UCS2" msgstr "Etiqueta de suxeito usada por Windows, codificada en UCS2" #: src/tags.cpp:867 msgid "Print Image Matching" msgstr "Imprimir a imaxe coincidente" #: src/tags.cpp:868 msgid "Print Image Matching, description needed." msgstr "Imprimir a imaxe coincidente, é necesaria a descrición." #: src/tags.cpp:870 msgid "DNG version" msgstr "Versión DNG" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" "Esta etiqueta codifica o número de versión de catro niveis de DNG. Para " "ficheiros compatíbeis coa versión 1.1.0.0 da especificación DNG, esta " "etiqueta debe conter os bytes: 1, 1, 0, 0." #: src/tags.cpp:875 msgid "DNG backward version" msgstr "Versión anterior DNG" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" "Esta etiqueta mostra a versión máis antiga da especificación «Digital " "Negative» coa que o ficheiro é compatíbel. Os lectores non deben tentar ler " "un ficheiro se esta etiqueta especifica un número de versión superior ao " "seu. Ademais de comprobar as etiquetas de versión, os lectores deben " "comprobar os tipos, contas e valores de cada etiqueta para verificar que son " "quen de ler correctamente o ficheiro." #: src/tags.cpp:884 msgid "Unique Camera Model" msgstr "Modelo único da cámara" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" "Define un nome único e non localizado para o modelo de cámara que creou a " "imaxe en ficheiro RAW. Este nome debe incluír o nome do fabricante para " "evitar conflitos e non debe ser local, aínda que o propio nome da cámara se " "teña cambiado para os diferentes mercados (ver «Modelo de cámara " "localizado»). Esta cadea pode ser usada polo software de lectura para " "indexar por preferencias de modelo e perfís de substitución." #: src/tags.cpp:892 msgid "Localized Camera Model" msgstr "Modelo localizado da cámara" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" "Semellante ao campo «Modelo único de cámara», agás que o nome pode " "localizarse para diferentes mercados para facer coincidir a localización do " "nome da cámara." #: src/tags.cpp:897 msgid "CFA Plane Color" msgstr "Cor plana CFA" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" #: src/tags.cpp:902 msgid "CFA Layout" msgstr "" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "" #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" #: src/tags.cpp:912 #, fuzzy msgid "Black Level Repeat Dim" msgstr "Nivel de negro 2" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "" #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" #: src/tags.cpp:921 #, fuzzy msgid "Black Level Delta H" msgstr "Nivel de negro 2" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" #: src/tags.cpp:928 #, fuzzy msgid "Black Level Delta V" msgstr "Nivel de negro 2" #: src/tags.cpp:929 msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" #: src/tags.cpp:935 #, fuzzy msgid "White Level" msgstr "Nivel de vermello do BB" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" #: src/tags.cpp:941 #, fuzzy msgid "Default Scale" msgstr "Predeterminado" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" #: src/tags.cpp:957 #, fuzzy msgid "Default Crop Size" msgstr "Axustes predeterminados" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" #: src/tags.cpp:964 msgid "Color Matrix 1" msgstr "Matriz de cor 1" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" "«Matriz de cor 1» define unha matriz de transformación que convirte valores " "XYZ a valores de referencia do espazo de color nativo da cámara, segundo a " "primeira calibración da fonte de iluminación. Os valores da matriz son " "almacenados en orde de exploración por filas. A etiqueta «Matriz de cor 1» é " "necesaria para todos os ficheiros DNG non monocromos." #: src/tags.cpp:971 msgid "Color Matrix 2" msgstr "Matriz de cor 2" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" "«Matriz de cor 2» define unha matriz de transformación que convirte valores " "XYZ a valores de referencia do espazo de cor nativo da cámara, segundo a " "segunda calibración da fonte de iluminación. Os valores da matriz son " "almacenados en orde de exploración por filas." #: src/tags.cpp:977 msgid "Camera Calibration 1" msgstr "Calibración da cámara 1" #: src/tags.cpp:978 #, fuzzy msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" "«Calibración da cámara 1» define unha matriz de transformación que convirte " "os valores de referencia do espazo nativo da cámara a valores individuais do " "espazo de cor nativo da cámara, segundo a primeira calibración da fonte de " "iluminación. Os valores da matriz son almacenados en orde de exploración por " "filas. Esta matriz almacenase separadamente da matriz especificada pola " "etiqueta «Matriz de cor 1» para permitir que os convertedores en bruto (RAW) " "intercambien as matrices de substitución de cor baseadas na etiqueta «Modelo " "único de cámara», sen deixar de aproveitar calquera calibración individual " "da cámara feita polo fabricante da cámara." #: src/tags.cpp:987 #, fuzzy msgid "Camera Calibration 2" msgstr "Calibración da cámara 1" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" "«Calibración da cámara 2» define unha matriz de transformación que convirte " "os valores de referencia do espazo nativo da cámara a valores individuais do " "espazo de cor nativo da cámara, segundo a segunda calibración da fonte de " "iluminación. Os valores da matriz son almacenados en orde de exploración por " "filas. Esta matriz almacenase separadamente da matriz especificada pola " "etiqueta «Matriz de cor 1» para permitir que os convertedores en bruto (RAW) " "intercambien as matrices de substitución de cor baseadas na etiqueta «Modelo " "único de cámara», sen deixar de aproveitar calquera calibración individual " "da cámara feita polo fabricante da cámara." #: src/tags.cpp:997 msgid "Reduction Matrix 1" msgstr "Matriz de redución 1" #: src/tags.cpp:998 msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" "«Matriz de redución 1» define unha matriz de redución de dimensións para " "usala como primeiro paso na conversión de valores de espazo de cor nativos " "da cámara a valores XYZ, segundo a primeira calibración da fonte de luz. " "Esta etiqueta só pode ser usada se «ColorPlanes» é maior que 3. Os valores " "da matriz son almacenados en orde de exploración por filas." #: src/tags.cpp:1004 msgid "Reduction Matrix 2" msgstr "Matriz de redución 2" #: src/tags.cpp:1005 msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" "«Matriz de redución 2» define unha matriz de redución de dimensións para " "usala como primeiro paso na conversión de valores de espazo de cor nativos " "da cámara a valores XYZ, segundo a segunda calibración da fonte de luz. Esta " "etiqueta só pode ser usada se «ColorPlanes» é maior que 3. Os valores da " "matriz son almacenados en orde de exploración por filas." #: src/tags.cpp:1011 msgid "Analog Balance" msgstr "Balance analóxico" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" #: src/tags.cpp:1021 msgid "As Shot Neutral" msgstr "Como toma neutra" #: src/tags.cpp:1022 #, fuzzy msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" "Especifica o balance de brancos no momento da captura, codificado como " "coordenadas cromáticas X-Y. A inclusión desta etiqueta oponse á inclusión da " "etiqueta «Como toma neutra»." #: src/tags.cpp:1027 msgid "As Shot White XY" msgstr "Blanco XY como se tomou" #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" "Especifica o balance de brancos no momento da captura, codificado como " "coordenadas cromáticas X-Y. A inclusión desta etiqueta oponse á inclusión da " "etiqueta «Como toma neutra»." #: src/tags.cpp:1032 msgid "Baseline Exposure" msgstr "Liña base da exposicion" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" #: src/tags.cpp:1047 #, fuzzy msgid "Baseline Noise" msgstr "Liña base da exposicion" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" #: src/tags.cpp:1054 #, fuzzy msgid "Baseline Sharpness" msgstr "Nitidez PM" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" #: src/tags.cpp:1061 msgid "Bayer Green Split" msgstr "" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" #: src/tags.cpp:1070 #, fuzzy msgid "Linear Response Limit" msgstr "Unidade de resposta de grises" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" #: src/tags.cpp:1079 #, fuzzy msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" "O número de serie da cámara ou do corpo da cámara empregado para tomar a " "fotografía." #: src/tags.cpp:1082 #, fuzzy msgid "Lens Info" msgstr "Información da lente" #: src/tags.cpp:1083 msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "Radio de esborranchado do chroma" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" "«Radio de esborranchado do chroma» fornece unha idea ao lector DNG sobre " "canto esborranchado de croma debe aplicarse á imaxe. De omitirse a etiqueta, " "o lector usará a cantidade predeterminada de esborranchado de croma. " "Normalmente esta etiqueta só esta incluída para imaxes non CFA, desde que a " "cantidade de esborranchado de croma requirida para imaxes en mosaico é " "altamente dependente de algoritmos de mosaico, en cuxo caso o valor " "predeterminado do lector de DNG está optimizado para ese algoritmo de " "mosaico." #: src/tags.cpp:1095 #, fuzzy msgid "Anti Alias Strength" msgstr "Forza do flash" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" #: src/tags.cpp:1102 #, fuzzy msgid "Shadow Scale" msgstr "Sombra" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" #: src/tags.cpp:1106 #, fuzzy msgid "DNG Private Data" msgstr "Vista previa dos datos" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" #: src/tags.cpp:1111 #, fuzzy msgid "MakerNote Safety" msgstr "Versión da nota do fabricante" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" #: src/tags.cpp:1119 #, fuzzy msgid "Calibration Illuminant 1" msgstr "Redución da vibración 1" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" #: src/tags.cpp:1125 #, fuzzy msgid "Calibration Illuminant 2" msgstr "Redución das vibracións 2" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" #: src/tags.cpp:1132 msgid "Best Quality Scale" msgstr "Escala de mellor calidade" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" #: src/tags.cpp:1140 #, fuzzy msgid "Raw Data Unique ID" msgstr "ID único de imaxe" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" #: src/tags.cpp:1149 #, fuzzy msgid "Original Raw File Name" msgstr "Nome do ficheiro «raw» (bruto)" #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" #: src/tags.cpp:1153 msgid "Original Raw File Data" msgstr "" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" #: src/tags.cpp:1164 msgid "Active Area" msgstr "Área activa" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" #: src/tags.cpp:1168 #, fuzzy msgid "Masked Areas" msgstr "Áreas de AF" #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" #: src/tags.cpp:1176 #, fuzzy msgid "As-Shot ICC Profile" msgstr "Actual perfil ICC" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" #: src/tags.cpp:1188 msgid "As-Shot Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" #: src/tags.cpp:1198 msgid "Current ICC Profile" msgstr "Actual perfil ICC" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1205 #, fuzzy msgid "Current Pre-Profile Matrix" msgstr "Actual perfil ICC" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1212 #, fuzzy msgid "Colorimetric Reference" msgstr "Referencia de proxecto" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" #: src/tags.cpp:1220 #, fuzzy msgid "Camera Calibration Signature" msgstr "Calibración da cámara 1" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" #: src/tags.cpp:1227 msgid "Profile Calibration Signature" msgstr "" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" #: src/tags.cpp:1234 #, fuzzy msgid "As Shot Profile Name" msgstr "Nome do perfil" #: src/tags.cpp:1235 msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" #: src/tags.cpp:1238 #, fuzzy msgid "Noise Reduction Applied" msgstr "Redución de ruído" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" #: src/tags.cpp:1246 msgid "Profile Name" msgstr "Nome do perfil" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1279 #, fuzzy msgid "Profile Tone Curve" msgstr "Curva de ton" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" #: src/tags.cpp:1288 #, fuzzy msgid "Profile Embed Policy" msgstr "Nome do perfil" #: src/tags.cpp:1289 #, fuzzy msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" "Esta etiqueta garda información sobre o computador (anfitrión) usado para " "xerar a imaxe." #: src/tags.cpp:1292 #, fuzzy msgid "Profile Copyright" msgstr "Copyright" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" #: src/tags.cpp:1297 #, fuzzy msgid "Forward Matrix 1" msgstr "Matriz de cor 1" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" #: src/tags.cpp:1301 #, fuzzy msgid "Forward Matrix 2" msgstr "Matriz de cor 2" #: src/tags.cpp:1305 #, fuzzy msgid "Preview Application Name" msgstr "Vista previa dos datos" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" #: src/tags.cpp:1309 #, fuzzy msgid "Preview Application Version" msgstr "Versión de vista previa" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" #: src/tags.cpp:1313 #, fuzzy msgid "Preview Settings Name" msgstr "Vista previa da imaxe" #: src/tags.cpp:1314 msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" #: src/tags.cpp:1317 #, fuzzy msgid "Preview Settings Digest" msgstr "Descrición do axuste do dispositivo" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" #: src/tags.cpp:1321 #, fuzzy msgid "Preview Color Space" msgstr "Espazo da color de vídeo" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" #: src/tags.cpp:1326 #, fuzzy msgid "Preview Date Time" msgstr "Vista previa dos datos" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" #: src/tags.cpp:1331 #, fuzzy msgid "Raw Image Digest" msgstr "Centro da imaxe en bruto" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" #: src/tags.cpp:1337 msgid "Original Raw File Digest" msgstr "" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" #: src/tags.cpp:1387 #, fuzzy msgid "Noise Profile" msgstr "Filtro de ruído" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" #: src/tags.cpp:1396 src/tags.cpp:1397 msgid "Unknown IFD tag" msgstr "Etiqueta IFD descoñecida" #: src/tags.cpp:1408 src/tags.cpp:1466 msgid "Not defined" msgstr "Non definido" #: src/tags.cpp:1413 msgid "Creative program" msgstr "Programa creativo" #: src/tags.cpp:1414 msgid "Action program" msgstr "Programa de acción" #: src/tags.cpp:1415 msgid "Portrait mode" msgstr "Modo retrato" #: src/tags.cpp:1416 msgid "Landscape mode" msgstr "Modo de paisaxe" #: src/tags.cpp:1425 msgid "Multi-spot" msgstr "Puntos múltiples" #: src/tags.cpp:1437 msgid "Tungsten (incandescent light)" msgstr "Tungsteno (luz incandescente)" #: src/tags.cpp:1439 msgid "Fine weather" msgstr "Bo tempo" #: src/tags.cpp:1440 msgid "Cloudy weather" msgstr "Anubrado" #: src/tags.cpp:1442 msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "Fluorescente de luz de día (D 5700 - 7100K)" #: src/tags.cpp:1443 msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "Fluorescente branco diúrno (N 4600 - 5400K)" #: src/tags.cpp:1444 msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "Fluorescente branco frío (W 3900 -4500K)" #: src/tags.cpp:1445 msgid "White fluorescent (WW 3200 - 3700K)" msgstr "Fluorescente branco (WW 3200 - 3700K)" #: src/tags.cpp:1446 msgid "Standard light A" msgstr "Luz estándar A" #: src/tags.cpp:1447 msgid "Standard light B" msgstr "Luz estándar B" #: src/tags.cpp:1448 msgid "Standard light C" msgstr "Luz estándar C" #: src/tags.cpp:1449 msgid "D55" msgstr "D55" #: src/tags.cpp:1450 msgid "D65" msgstr "D65" #: src/tags.cpp:1451 msgid "D75" msgstr "D75" #: src/tags.cpp:1452 msgid "D50" msgstr "D50" #: src/tags.cpp:1453 msgid "ISO studio tungsten" msgstr "Tungsteno de estudio ISO" #: src/tags.cpp:1454 msgid "Other light source" msgstr "Outra fonte de luz" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "Sen calibrar" #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "" #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "" #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "" #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "Área de cor secuencial" #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "Sensor trilineal" #: src/tags.cpp:1472 #, fuzzy msgid "Color sequential linear" msgstr "Área de cor secuencial" #: src/tags.cpp:1477 msgid "Film scanner" msgstr "Escáner de filmes" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "" #: src/tags.cpp:1479 msgid "Digital still camera" msgstr "Cámara dixital" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "" #: src/tags.cpp:1489 msgid "Normal process" msgstr "Proceso normal" #: src/tags.cpp:1490 msgid "Custom process" msgstr "Proceso personalizado" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "Pequeno aumento de ganancia" #: src/tags.cpp:1519 msgid "High gain up" msgstr "Gran aumento de ganancia" #: src/tags.cpp:1520 msgid "Low gain down" msgstr "Pequena diminución de ganancia" #: src/tags.cpp:1521 msgid "High gain down" msgstr "Gran diminución de ganancia" #: src/tags.cpp:1542 msgid "Close view" msgstr "Próximo" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "Distante" #: src/tags.cpp:1550 #, fuzzy msgid "Exposure time, given in seconds (sec)." msgstr "Tempo de exposición, en segundos." #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "" #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" "Indica a función de conversión opto-electrónica (OECF) especificada en ISO " "14524. é a relación entre a entrada óptica da cámara e os valores da " "imaxe." #: src/tags.cpp:1573 #, fuzzy msgid "Sensitivity Type" msgstr "Sensibilidade ISO" #: src/tags.cpp:1574 msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" #: src/tags.cpp:1580 #, fuzzy msgid "Standard Output Sensitivity" msgstr "Sensibilidade espectral" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1585 #, fuzzy msgid "Recommended Exposure Index" msgstr "Índice de exposición" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1595 #, fuzzy msgid "ISO Speed Latitude yyy" msgstr "Modo de velocidade ISO" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" #: src/tags.cpp:1600 #, fuzzy msgid "ISO Speed Latitude zzz" msgstr "Modo de velocidade ISO" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" #: src/tags.cpp:1609 #, fuzzy msgid "Date and Time (original)" msgstr "Data e hora orixinal" #: src/tags.cpp:1610 #, fuzzy msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" "A data e a hora da creación da imaxe. No estándar Exif é a data e a hora na " "que cambiou o ficheiro." #: src/tags.cpp:1613 #, fuzzy msgid "Date and Time (digitized)" msgstr "Data e hora da dixitalización" #: src/tags.cpp:1614 #, fuzzy msgid "The date and time when the image was stored as digital data." msgstr "Data e hora da última modificación do vídeo." #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" #: src/tags.cpp:1626 #, fuzzy msgid "Compressed Bits per Pixel" msgstr "Bits comprimidos por píxel" #: src/tags.cpp:1627 #, fuzzy msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" "Etiqueta EXIF 37122, 0x9102. O modo de compresión que se usa para unha imaxe " "comprimida, indicase medido en bits por píxel." #: src/tags.cpp:1631 msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "" #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1641 msgid "Exposure Bias" msgstr "Compensación da exposición" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "" #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" #: src/tags.cpp:1667 #, fuzzy msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "Indica a localización e a área do tema principal na escena xeral." #: src/tags.cpp:1670 #, fuzzy msgid "Maker Note" msgstr "Versión da nota do fabricante" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" #: src/tags.cpp:1679 msgid "Sub-seconds Time" msgstr "" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1682 #, fuzzy msgid "Sub-seconds Time Original" msgstr "Data e hora orixinal" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1685 #, fuzzy msgid "Sub-seconds Time Digitized" msgstr "Data e hora da dixitalización" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1688 #, fuzzy msgid "FlashPix Version" msgstr "Versión Flashpix" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "" #: src/tags.cpp:1692 msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" #: src/tags.cpp:1723 #, fuzzy msgid "Interoperability IFD Pointer" msgstr "Índice de interoperabilidade" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" #: src/tags.cpp:1740 #, fuzzy msgid "Focal Plane X-Resolution" msgstr "Resolución no plano focal X" #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1744 #, fuzzy msgid "Focal Plane Y-Resolution" msgstr "Resolución no plano focal Y" #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" #: src/tags.cpp:1753 msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" #: src/tags.cpp:1759 msgid "Exposure index" msgstr "Índice de exposición" #: src/tags.cpp:1760 #, fuzzy msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" "Indica a velocidade ISO e a latitude ISO da cámara ou dispositivo de entrada " "tal e como se especifica na ISO 12232." #: src/tags.cpp:1764 #, fuzzy msgid "Indicates the image sensor type on the camera or input device." msgstr "" "Indica a velocidade ISO e a latitude ISO da cámara ou dispositivo de entrada " "tal e como se especifica na ISO 12232." #: src/tags.cpp:1767 msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" #: src/tags.cpp:1776 #, fuzzy msgid "Color Filter Array Pattern" msgstr "Matriz de filtro de cor" #: src/tags.cpp:1777 #, fuzzy msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" "Indica o patrón xeométrico da matriz de filtros de cor (CFA) do sensor de " "imaxe cando se utiliza un sensor «monochip» de área de cor. Non se aplica a " "todos os métodos de detección." #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" #: src/tags.cpp:1793 #, fuzzy msgid "This tag indicates the white balance mode set when the image was shot." msgstr "" "Etiqueta EXIF 41987, 0xA403. Indica o modo estabelecido do balance de " "brancos cando se tomou a imaxe." #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" #: src/tags.cpp:1801 #, fuzzy msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" "Etiqueta EXIF 41989, 0xA405. Indica a distancia focal equivalente supoñendo " "unha cámara con filme de 35mm. O valor 0 significa que a distancia focal é " "descoñecida. Teña en conta que esta etiqueta difire da etiqueta «Distancia " "focal»." #: src/tags.cpp:1807 msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" #: src/tags.cpp:1812 #, fuzzy msgid "This tag indicates the degree of overall image gain adjustment." msgstr "" "Etiqueta EXIF 41991, 0xA407. Indica o grao do axuste global da ganancia da " "imaxe." #: src/tags.cpp:1815 #, fuzzy msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" "Etiqueta EXIF 41992, 0xA408. Indica a dirección do procesamento de contraste " "usado pola cámara." #: src/tags.cpp:1819 #, fuzzy msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" "Etiqueta EXIF 41993, 0xA409. Indica a dirección do procesamento de " "saturación usado pola cámara." #: src/tags.cpp:1823 #, fuzzy msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" "Etiqueta EXIF 41994, 0xA40A. Indica a dirección do procesamento da nitidez " "usado pola cámara." #: src/tags.cpp:1827 #, fuzzy msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" "Etiqueta EXIF 41995, 0xA40B. Indica a información das condicións da captura " "de imaxes nun modelo particular de cámara." #: src/tags.cpp:1832 #, fuzzy msgid "This tag indicates the distance to the subject." msgstr "Etiqueta EXIF41996, 0xA40C. Indica a distancia ao suxeito." #: src/tags.cpp:1835 #, fuzzy msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" "Etiqueta EXIF 42016, 0xA420. Un identificador asignado a cada imaxe de forma " "única. Gravase como unha cadea ASCII de 32 caracteres, equivalente á " "notación hexadecimal e unha cadea fixa de 128 bits." #: src/tags.cpp:1839 #, fuzzy msgid "Camera Owner Name" msgstr "Nome do propietario" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" #: src/tags.cpp:1843 #, fuzzy msgid "Body Serial Number" msgstr "Número de serie" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1847 #, fuzzy msgid "Lens Specification" msgstr "Información específica do vendedor" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" #: src/tags.cpp:1854 #, fuzzy msgid "Lens Make" msgstr "Modelo das lentes" #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "" #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1866 src/tags.cpp:1867 #, fuzzy msgid "Unknown Exif tag" msgstr "Etiqueta descoñecida" #: src/tags.cpp:1878 msgid "North" msgstr "Norte" #: src/tags.cpp:1879 msgid "South" msgstr "Sur" #: src/tags.cpp:1884 msgid "East" msgstr "Leste" #: src/tags.cpp:1885 msgid "West" msgstr "Oeste" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "Sobre o nivel do mar" #: src/tags.cpp:1891 msgid "Below sea level" msgstr "Baixo o nivel do mar" #: src/tags.cpp:1896 msgid "Measurement in progress" msgstr "Medición en proceso" #: src/tags.cpp:1897 msgid "Measurement Interoperability" msgstr "Medición de interoperabilidade" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "Medición bi dimensional" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "Medición tri dimensional" #: src/tags.cpp:1908 msgid "km/h" msgstr "km/h" #: src/tags.cpp:1909 msgid "mph" msgstr "mph" #: src/tags.cpp:1910 msgid "knots" msgstr "nós" #: src/tags.cpp:1915 msgid "True direction" msgstr "Dirección real" #: src/tags.cpp:1916 msgid "Magnetic direction" msgstr "Dirección magnética" #: src/tags.cpp:1921 msgid "Kilometers" msgstr "Quilómetros" #: src/tags.cpp:1922 msgid "Miles" msgstr "Millas" #: src/tags.cpp:1923 msgid "Knots" msgstr "Nós" #: src/tags.cpp:1928 msgid "Without correction" msgstr "Sen corrección" #: src/tags.cpp:1929 msgid "Correction applied" msgstr "Aplicada a corrección" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" #: src/tags.cpp:1941 msgid "GPS Latitude Reference" msgstr "Referencia de latitude GPS" #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1953 msgid "GPS Longitude Reference" msgstr "Referencia de lonxitude GPS" #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" #: src/tags.cpp:1998 #, fuzzy msgid "GPS Data Degree of Precision" msgstr "Etiqueta GPS 11, 0x0B. Graos de precisión para os datos GPS." #: src/tags.cpp:1999 msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" #: src/tags.cpp:2007 #, fuzzy msgid "Indicates the speed of GPS receiver movement." msgstr "Etiqueta GPS 13, 0x0D. Velocidade de movemento do receptor GPS." #: src/tags.cpp:2009 #, fuzzy msgid "GPS Track Ref" msgstr "Rastrexo GPS" #: src/tags.cpp:2010 msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2014 #, fuzzy msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" "Etiqueta GPS 15, 0x0F. Dirección do movemento GPS, rango de valores de 0 a " "359,99." #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2022 #, fuzzy msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" "Etiqueta GPS 17, 0x11. Dirección da imaxe cando se captura, rango de valores " "de 0 a 359,99." #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" #: src/tags.cpp:2029 #, fuzzy msgid "GPS Destination Latitude Reference" msgstr "Referencia GPS de distancia ao destino" #: src/tags.cpp:2030 msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" #: src/tags.cpp:2034 msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2041 #, fuzzy msgid "GPS Destination Longitude Reference" msgstr "Lonxitude GPS do destino" #: src/tags.cpp:2042 msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" #: src/tags.cpp:2046 msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2057 #, fuzzy msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "Etiqueta GPS 24, 0x18. Punto de destino, valores de 0 a 359,99." #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" #: src/tags.cpp:2065 #, fuzzy msgid "Indicates the distance to the destination point." msgstr "Indica o tipo de contido de son" #: src/tags.cpp:2068 msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" #: src/tags.cpp:2076 msgid "GPS Date Stamp" msgstr "Marca de data GPS" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" "Unha cadea de caracteres que almacena a información da data e a hora " "relativa a UTC (Tempo Universal Coordinado). O formato é «AAAA:MM:DD.»." #: src/tags.cpp:2081 msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "Indica se se aplica a corrección diferencial ao receptor GPS" #: src/tags.cpp:2084 src/tags.cpp:2085 msgid "Unknown GPSInfo tag" msgstr "Etiqueta de información GPS descoñecida" #: src/tags.cpp:2096 msgid "Interoperability Index" msgstr "Índice de interoperabilidade" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" "Indica a identificación da regra de interoperatibilidade. Utilice «R98» para " "indicar regras ExifR98. Utilízanse catro bytes incluíndo o código de " "terminación (NULL). Vexa o volume separado de «Regras recomendadas de " "interoperabilidade Exif (ExifR98)» para outras etiquetas usadas en ExifR98." #: src/tags.cpp:2103 msgid "Interoperability Version" msgstr "Versión de interoperabilidade" #: src/tags.cpp:2104 msgid "Interoperability version" msgstr "Versión de interoperabilidade" #: src/tags.cpp:2106 msgid "Related Image File Format" msgstr "Formato de archivo de imagen relacionado" #: src/tags.cpp:2107 #, fuzzy msgid "File format of image file" msgstr "Produciuse un fallo ao abrir o ficheiro\n" #: src/tags.cpp:2109 #, fuzzy msgid "Related Image Width" msgstr "Largura da imaxe" #: src/tags.cpp:2112 #, fuzzy msgid "Related Image Length" msgstr "Lonxitude da imaxe" #: src/tags.cpp:2116 src/tags.cpp:2117 msgid "Unknown Exif Interoperability tag" msgstr "Etiqueta de interoperabilidade Exif descoñecida" #: src/tags.cpp:2128 msgid "Offset" msgstr "Desprazamento" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "" #: src/tags.cpp:2131 msgid "Byte Order" msgstr "Orden dos bytes" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" #: src/tags.cpp:2135 src/tags.cpp:2136 #, fuzzy msgid "Unknown Exiv2 Makernote info tag" msgstr "Etiqueta Nikon2MakerNote descoñecida" #: src/tags.cpp:2146 src/tags.cpp:2147 msgid "Unknown tag" msgstr "Etiqueta descoñecida" #: src/tags.cpp:2688 #, fuzzy msgid "Digital zoom not used" msgstr "Axuste de zoom dixital" #: src/tiffimage.cpp:2308 #, fuzzy msgid "TIFF header, offset" msgstr "Cabeceira, desprazamento" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "" #, fuzzy #~ msgid "ascii bytes" #~ msgstr "bytes" exiv2-0.25/po/Rules-quot0000664000175000017500000000337610521706435014750 0ustar andreasandreas# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header exiv2-0.25/po/en@boldquot.header0000664000175000017500000000247110521706435016366 0ustar andreasandreas# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # exiv2-0.25/po/ChangeLog0000664000175000017500000000073610521706435014514 0ustar andreasandreas2006-10-31 gettextize * Makefile.in.in: New file, from gettext-0.14.6. * boldquot.sed: New file, from gettext-0.14.6. * en@boldquot.header: New file, from gettext-0.14.6. * en@quot.header: New file, from gettext-0.14.6. * insert-header.sin: New file, from gettext-0.14.6. * quot.sed: New file, from gettext-0.14.6. * remove-potcdate.sin: New file, from gettext-0.14.6. * Rules-quot: New file, from gettext-0.14.6. * POTFILES.in: New file. exiv2-0.25/po/insert-header.sin0000664000175000017500000000124010521706435016176 0ustar andreasandreas# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } exiv2-0.25/po/remove-potcdate.sin0000664000175000017500000000066010521706435016547 0ustar andreasandreas# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } exiv2-0.25/po/quot.sed0000664000175000017500000000023110521706435014415 0ustar andreasandreass/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g exiv2-0.25/po/LINGUAS0000664000175000017500000000011412523516420013752 0ustar andreasandreas# Set of available languages. bs de es fi fr gl ms pl pt ru sk sv ug uk vi exiv2-0.25/po/uk.po0000664000175000017500000252510012540520175013716 0ustar andreasandreas# Ukrainian translation for exiv2 # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the exiv2 package. # # Yuri Chornoivan , 2011, 2013. msgid "" msgstr "" "Project-Id-Version: exiv2\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: 2014-04-01 17:30+0000\n" "Last-Translator: Микола Ткач \n" "Language-Team: Ukrainian \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2015-05-09 22:59+0000\n" "X-Generator: Launchpad (build 17474)\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 msgid "Failed to open the file\n" msgstr "Помилка при відкритті файлу\n" #: src/actions.cpp:282 msgid "File name" msgstr "Назва файлу" #: src/actions.cpp:288 msgid "File size" msgstr "Розмір файла" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "Байт" #: src/actions.cpp:293 msgid "MIME type" msgstr "Тип MIME" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 msgid "Image size" msgstr "Розмір зображення" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 msgid "No Exif data found in the file\n" msgstr "Не знайдено Exif-даних у файлі\n" #: src/actions.cpp:307 msgid "Camera make" msgstr "Марка фотоапарата" #: src/actions.cpp:310 msgid "Camera model" msgstr "Модель фотоапарата" #: src/actions.cpp:313 msgid "Image timestamp" msgstr "Часова мітка зображення" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 msgid "Image number" msgstr "Номер зображення" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 msgid "Exposure time" msgstr "Витримка" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 msgid "Aperture" msgstr "Діафрагма" #: src/actions.cpp:345 msgid "Exposure bias" msgstr "Ухил експозиції" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 msgid "Flash" msgstr "Спалах" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 msgid "Flash bias" msgstr "Ухил спалаху" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 msgid "Focal length" msgstr "Фокусна відстань" #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr "35-мм еквівалент" #: src/actions.cpp:373 msgid "Subject distance" msgstr "Відстань до об’єкта" #: src/actions.cpp:387 msgid "ISO speed" msgstr "Світлочутливість ISO" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 msgid "Exposure mode" msgstr "Режим експозиції" #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 #, fuzzy msgid "Metering mode" msgstr "Режим вимірювання" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 msgid "Macro mode" msgstr "Macro режим" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 msgid "Image quality" msgstr "Якість зображення" #: src/actions.cpp:403 msgid "Exif Resolution" msgstr "Роздільність Exif" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "Баланс білого" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 msgid "Thumbnail" msgstr "Мініатюра" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "Немає" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 #, fuzzy msgid "Copyright" msgstr "Вгорі праворуч" #: src/actions.cpp:458 msgid "Exif comment" msgstr "Коментар Exif" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "(Двійкове значення придушено)" #: src/actions.cpp:742 msgid "JPEG comment" msgstr "Коментар JPEG" #: src/actions.cpp:767 #, fuzzy msgid "Preview" msgstr "Попередній перегляд глибини різкості" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "" #: src/actions.cpp:773 src/actions.cpp:1113 #, fuzzy msgid "bytes" msgstr "Байт" #: src/actions.cpp:820 msgid "Neither tag" msgstr "Ні мітки" #: src/actions.cpp:821 msgid "nor" msgstr "ні" #: src/actions.cpp:822 msgid "found in the file" msgstr "знайдено у файлі" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "У файлі зображення відсутня відмітка про час його створення" #: src/actions.cpp:833 src/actions.cpp:1590 msgid "Failed to parse timestamp" msgstr "Не вдалося розібрати мітки" #: src/actions.cpp:834 msgid "in the file" msgstr "у файлі" #: src/actions.cpp:845 msgid "Updating timestamp to" msgstr "Оновлення мітки для" #: src/actions.cpp:939 msgid "Erasing thumbnail data" msgstr "Вилучення даних мініатюри" #: src/actions.cpp:947 msgid "Erasing Exif data from the file" msgstr "Витираю Exif дані з файлу" #: src/actions.cpp:956 msgid "Erasing IPTC data from the file" msgstr "Витираю IPTC дані з файлу" #: src/actions.cpp:965 msgid "Erasing JPEG comment from the file" msgstr "Стерти коментар з файлу JPEG" #: src/actions.cpp:974 msgid "Erasing XMP data from the file" msgstr "Витираю XMP дані з файлу" #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "Зображення не містить макету EXIF\n" #: src/actions.cpp:1055 msgid "Writing thumbnail" msgstr "Збереження макету" #: src/actions.cpp:1056 src/actions.cpp:1114 msgid "to file" msgstr "у файл" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "Дані EXIF не містять макету\n" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "Зображення не має попереднього перегляду" #: src/actions.cpp:1107 msgid "Writing preview" msgstr "Збереження попереднього перегляду" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "Налаштувати коментар JPEG" #: src/actions.cpp:1319 msgid "Add" msgstr "" #: src/actions.cpp:1341 src/actions.cpp:1415 #, fuzzy msgid "Warning" msgstr "Попередження щодо розмитості" #: src/actions.cpp:1342 src/actions.cpp:1416 msgid "Failed to read" msgstr "не вдалось зчитати" #: src/actions.cpp:1344 src/actions.cpp:1418 #, fuzzy msgid "value" msgstr "Оціночний" #: src/actions.cpp:1355 msgid "Set" msgstr "Встановити" #: src/actions.cpp:1427 #, fuzzy msgid "Del" msgstr "Затримка" #: src/actions.cpp:1459 msgid "Reg " msgstr "Reg " #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "Часова мітка метаданих з ключем" #: src/actions.cpp:1544 msgid "not set\n" msgstr "не встановлено\n" #: src/actions.cpp:1549 msgid "Adjusting" msgstr "Регулювання" #: src/actions.cpp:1549 msgid "by" msgstr "від" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "" #: src/actions.cpp:1556 msgid "year" msgstr "" #: src/actions.cpp:1564 msgid "months" msgstr "" #: src/actions.cpp:1567 msgid "month" msgstr "" #: src/actions.cpp:1575 msgid "days" msgstr "" #: src/actions.cpp:1578 msgid "day" msgstr "" #: src/actions.cpp:1584 msgid "s" msgstr "с" #: src/actions.cpp:1600 msgid "Can't adjust timestamp by" msgstr "Не можу налаштувати мітки на" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 #, fuzzy msgid "to" msgstr "вгорі" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "Існує стандартний тег EXIF ISO; не змінений\n" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "Зміна Exif ISO до" #: src/actions.cpp:1708 msgid "No Exif user comment found" msgstr "Ніяких коментарів Exif не знайдено." #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "Знайдено Exif коментар з невірним значенням" #: src/actions.cpp:1723 msgid "No Exif UNICODE user comment found" msgstr "Не знайдено коментарів Exif UNICODE" #: src/actions.cpp:1729 msgid "Setting Exif UNICODE user comment to" msgstr "Призначення коментаря користувача Exif UNICODE" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "Записування даних Exif з" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "Записування даних IPTC з" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "Записування даних XMP з" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "Записуємо коментар JPEG з" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "Не вдалося записати мета-данні в файл" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "Визначений формат назв файлів призвів до порожньої назви файла" #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "Цей файл вже має правильне ім'я" #: src/actions.cpp:1975 src/exiv2.cpp:168 #, fuzzy msgid "File" msgstr "Назва файлу" #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr "існує. [O] перезаписати, [r] перейменувати або [s] пропустити?" #: src/actions.cpp:2004 msgid "Renaming file to" msgstr "Перейменувти файл на" #: src/actions.cpp:2006 msgid "updating timestamp" msgstr "оновлення мітки" #: src/actions.cpp:2015 #, fuzzy msgid "Failed to rename" msgstr "не вдалось зчитати" #: src/actions.cpp:2037 msgid "Overwrite" msgstr "" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "Вимкн." #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "Увімкнути" #: src/canonmn.cpp:363 msgid "Format 1" msgstr "Формат 1" #: src/canonmn.cpp:364 msgid "Format 2" msgstr "Формат 2" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 msgid "On (1)" msgstr "Включено (1)" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 msgid "On (2)" msgstr "Включено (2)" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "sRGB" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 msgid "Adobe RGB" msgstr "Adobe RGB" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "Невідома" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 #, fuzzy msgid "Camera Settings" msgstr "Налаштування камери (7D)" #: src/canonmn.cpp:383 msgid "Various camera settings" msgstr "Різноманітні параметри фотоапарата" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 #, fuzzy msgid "Focal Length" msgstr "Фокусна відстань" #: src/canonmn.cpp:386 src/sonymn.cpp:394 msgid "Shot Info" msgstr "Інформація про знімок" #: src/canonmn.cpp:386 msgid "Shot information" msgstr "Інформація про знімок" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 #, fuzzy msgid "Panorama" msgstr "Рамка панорами" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 #, fuzzy msgid "Image Type" msgstr "Розмір зображення" #: src/canonmn.cpp:388 #, fuzzy msgid "Image type" msgstr "Тон зображення" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 #, fuzzy msgid "Firmware Version" msgstr "Версія файла" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 #, fuzzy msgid "Firmware version" msgstr "Версія файла" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 msgid "File Number" msgstr "Номер файла" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 msgid "File number" msgstr "Номер файла" #: src/canonmn.cpp:391 msgid "Owner Name" msgstr "Ім’я власника" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 #, fuzzy msgid "Serial Number" msgstr "Серійний номер 2" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 #, fuzzy msgid "Camera serial number" msgstr "Серійний номер фотоапарата" #: src/canonmn.cpp:393 msgid "Camera Info" msgstr "Інформація про камеру" #: src/canonmn.cpp:393 msgid "Camera info" msgstr "Інформація про камеру" #: src/canonmn.cpp:394 src/canonmn.cpp:406 #, fuzzy msgid "Custom Functions" msgstr "Нетипові функції" #: src/canonmn.cpp:395 #, fuzzy msgid "ModelID" msgstr "Модель" #: src/canonmn.cpp:395 #, fuzzy msgid "Model ID" msgstr "Модель" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 msgid "Picture Info" msgstr "Інформація про картинку" #: src/canonmn.cpp:396 msgid "Picture info" msgstr "Інформація про картинку" #: src/canonmn.cpp:397 msgid "Thumbnail Image Valid Area" msgstr "Мініатюрне зображення ефективної області" #: src/canonmn.cpp:397 msgid "Thumbnail image valid area" msgstr "Мініатюрне зображення ефективної області" #: src/canonmn.cpp:398 msgid "Serial Number Format" msgstr "Формат Серійного Номеру" #: src/canonmn.cpp:398 msgid "Serial number format" msgstr "Формат серійного номеру" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 msgid "Super Macro" msgstr "Супер Макро" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "Супер макро" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF Info" msgstr "AF інформація" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF info" msgstr "AF інформація" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "Зміщення даних вихідного вибору" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "Зміщення даних вихідного вибору" #: src/canonmn.cpp:402 msgid "White Balance Table" msgstr "Баланс Білого" #: src/canonmn.cpp:402 msgid "White balance table" msgstr "Баланс білого" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 #, fuzzy msgid "Lens Model" msgstr "Режим сцени" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 #, fuzzy msgid "Lens model" msgstr "Режим сцени" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 msgid "Internal Serial Number" msgstr "Вбудований серійний номер" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 msgid "Internal serial number" msgstr "Вбудований серійний номер" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "Дані щодо усування пилу" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "Дані щодо усування пилу" #: src/canonmn.cpp:406 msgid "Custom functions" msgstr "Нетипові функції" #: src/canonmn.cpp:407 msgid "Processing Info" msgstr "Дані щодо обробки" #: src/canonmn.cpp:407 msgid "Processing info" msgstr "Дані щодо обробки" #: src/canonmn.cpp:408 msgid "Measured Color" msgstr "Виміряний колір" #: src/canonmn.cpp:408 msgid "Measured color" msgstr "Виміряний колір" #: src/canonmn.cpp:409 msgid "ColorSpace" msgstr "Простір кольорів" #: src/canonmn.cpp:413 msgid "VRD Offset" msgstr "Зміщення VRD" #: src/canonmn.cpp:413 msgid "VRD offset" msgstr "Зміщення VRD" #: src/canonmn.cpp:414 msgid "Sensor Info" msgstr "Інформація про Сенсор" #: src/canonmn.cpp:414 msgid "Sensor info" msgstr "Інформація про сенсор" #: src/canonmn.cpp:415 msgid "Color Data" msgstr "Інформація про Колір" #: src/canonmn.cpp:415 msgid "Color data" msgstr "Інформація про колір" #: src/canonmn.cpp:417 msgid "Unknown CanonMakerNote tag" msgstr "Невідома мітка CanonMakerNote" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "" #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 #, fuzzy msgid "Normal" msgstr "Нормальний AE" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 #, fuzzy msgid "Fine" msgstr "VGA, якісна" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "RAW" #: src/canonmn.cpp:437 msgid "Superfine" msgstr "Надтонкий" #: src/canonmn.cpp:438 msgid "Normal Movie" msgstr "Звичайне відео" #: src/canonmn.cpp:439 #, fuzzy msgid "Movie (2)" msgstr "Відео" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 msgid "Auto" msgstr "Авто" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "Червоні очі" #: src/canonmn.cpp:448 msgid "Slow sync" msgstr "Повільна синхронізація" #: src/canonmn.cpp:449 msgid "Auto + red-eye" msgstr "Авто + червоні очі" #: src/canonmn.cpp:450 msgid "On + red-eye" msgstr "Включено + червоні очі" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 #, fuzzy msgid "External" msgstr "Внутрішні" #: src/canonmn.cpp:457 msgid "Single / timer" msgstr "Одиночний / таймер" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 msgid "Continuous" msgstr "Неперервний" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 msgid "Movie" msgstr "Відео" #: src/canonmn.cpp:460 msgid "Continuous, speed priority" msgstr "Неперервне з перевагою швидкості" #: src/canonmn.cpp:461 msgid "Continuous, low" msgstr "Неперервне, низька" #: src/canonmn.cpp:462 msgid "Continuous, high" msgstr "Неперервна, висока" #: src/canonmn.cpp:467 msgid "One shot AF" msgstr "Однознімкове АФ" #: src/canonmn.cpp:468 msgid "AI servo AF" msgstr "ШІ-серво AF" #: src/canonmn.cpp:469 msgid "AI focus AF" msgstr "AI фокус AF" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 msgid "Manual focus" msgstr "Ручний фокус" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 msgid "Single" msgstr "Поодинокі" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 msgid "Pan focus" msgstr "Панорамне фокусування" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 msgid "Large" msgstr "Великий" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 msgid "Medium" msgstr "Середній" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 msgid "Small" msgstr "Малий" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 msgid "Medium 1" msgstr "Середній 1" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 msgid "Medium 2" msgstr "Середній 2" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 msgid "Medium 3" msgstr "Середній 3" #: src/canonmn.cpp:490 msgid "Full auto" msgstr "Повна автоматика" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 msgid "Manual" msgstr "Вручну" #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 msgid "Landscape" msgstr "Альбомна" #: src/canonmn.cpp:493 msgid "Fast shutter" msgstr "Швидкий затвор" #: src/canonmn.cpp:494 msgid "Slow shutter" msgstr "Повільний затвор" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 msgid "Night Scene" msgstr "Нічне освітлення" #: src/canonmn.cpp:496 msgid "Gray scale" msgstr "Шкала сірого" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "Сепія" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 msgid "Portrait" msgstr "Книжкова" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "Спорт" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "Макро / крупний план" #: src/canonmn.cpp:501 src/fujimn.cpp:149 msgid "Black & white" msgstr "Чорно-білий" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 msgid "Vivid" msgstr "Чіткість" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 msgid "Neutral" msgstr "Нейтральне" #: src/canonmn.cpp:505 msgid "Flash off" msgstr "Спалах вимкнено" #: src/canonmn.cpp:506 msgid "Long shutter" msgstr "Повільна зйомка" #: src/canonmn.cpp:508 msgid "Foliage" msgstr "Листя" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 msgid "Indoor" msgstr "У приміщенні" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 msgid "Fireworks" msgstr "Феєрверк" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "Пляж" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 msgid "Underwater" msgstr "Під водою" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "Сніг" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "Діти і домашні улюбленці" #: src/canonmn.cpp:515 msgid "Night SnapShot" msgstr "Нічний пейзаж" #: src/canonmn.cpp:516 msgid "Digital macro" msgstr "Цифрове збільшення" #: src/canonmn.cpp:517 msgid "My Colors" msgstr "Мої кольори" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 msgid "Still image" msgstr "Статична картинка" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 msgid "Other" msgstr "Інше" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 msgid "Low" msgstr "Низький" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 msgid "High" msgstr "Високий" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "н/д" #: src/canonmn.cpp:540 msgid "Auto High" msgstr "Авто високий" #: src/canonmn.cpp:558 src/sonymn.cpp:235 msgid "Default" msgstr "Типовий" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 msgid "Spot" msgstr "Пляма" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "Посередньо" #: src/canonmn.cpp:561 msgid "Evaluative" msgstr "Оціночний" #: src/canonmn.cpp:562 src/tags.cpp:1427 msgid "Partial" msgstr "Частковий" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 msgid "Center weighted" msgstr "Центрально-зважений" #: src/canonmn.cpp:570 msgid "Not known" msgstr "Невідомий" #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "Макро" #: src/canonmn.cpp:572 msgid "Very close" msgstr "Дуже близько" #: src/canonmn.cpp:573 msgid "Close" msgstr "Закрити" #: src/canonmn.cpp:574 msgid "Middle range" msgstr "Середній діапазон" #: src/canonmn.cpp:575 msgid "Far range" msgstr "Далекий діапазон" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 msgid "Infinity" msgstr "Нескінченість" #: src/canonmn.cpp:583 msgid "Manual AF point selection" msgstr "Вибір точки AF вручну" #: src/canonmn.cpp:584 msgid "None (MF)" msgstr "Немає (MF)" #: src/canonmn.cpp:585 msgid "Auto-selected" msgstr "Авто-вибір" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 msgid "Right" msgstr "Стрілка праворуч" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 msgid "Center" msgstr "По центру" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 msgid "Left" msgstr "Стрілка ліворуч" #: src/canonmn.cpp:589 msgid "Auto AF point selection" msgstr "Автовибір точки AF" #: src/canonmn.cpp:594 msgid "Easy shooting (Auto)" msgstr "Просте знімання (авто)" #: src/canonmn.cpp:595 msgid "Program (P)" msgstr "Програма (P)" #: src/canonmn.cpp:596 msgid "Shutter priority (Tv)" msgstr "Пріоритет витримки (Tv)" #: src/canonmn.cpp:597 msgid "Aperture priority (Av)" msgstr "Пріоритет діафрагми (Av)" #: src/canonmn.cpp:598 msgid "Manual (M)" msgstr "Ручний (M)" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "A-DEP" #: src/canonmn.cpp:600 msgid "M-DEP" msgstr "M-DEP" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 msgid "Did not fire" msgstr "Не спрацював" #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 msgid "Fired" msgstr "Використано" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 msgid "External flash" msgstr "Зовнішній спалах" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 msgid "Internal flash" msgstr "Внутрішній спалах" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "TTL" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "A-TTL" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "E-TTL" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "FP синхронізація включена" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "Синхронізація по другій шторці" #: src/canonmn.cpp:980 msgid "FP sync used" msgstr "FP синхронізація використана" #: src/canonmn.cpp:991 msgid "Normal AE" msgstr "Нормальний AE" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 msgid "Exposure compensation" msgstr "Компенсація експозиції" #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "AE блокування" #: src/canonmn.cpp:994 msgid "AE lock + exposure compensation" msgstr "AE блокування + компенсація експозиції" #: src/canonmn.cpp:995 msgid "No AE" msgstr "Без AE" #: src/canonmn.cpp:1002 msgid "On, shot only" msgstr "Увімкн, лише знімок" #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 msgid "AF Point" msgstr "Точка AF" #: src/canonmn.cpp:1016 msgid "Smooth" msgstr "Згладити" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "Ч/Б" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 msgid "Custom" msgstr "Нетипова" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 msgid "My color data" msgstr "Моя колірна інформація" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 msgid "Full" msgstr "На весь екран" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "sRAW1 (mRAW)" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "sRAW2 (sRAW)" #: src/canonmn.cpp:1043 msgid "Selftimer" msgstr "Власний таймер" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 msgid "Self timer" msgstr "Безпечний таймер" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 msgid "Quality" msgstr "Якість" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 msgid "Flash Mode" msgstr "Режим спалаху" #: src/canonmn.cpp:1045 msgid "Flash mode setting" msgstr "Налаштування спалаху" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 msgid "Drive Mode" msgstr "Режим мотора" #: src/canonmn.cpp:1046 msgid "Drive mode setting" msgstr "Налаштування режиму \"У русі\"" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 msgid "Focus Mode" msgstr "Режим фокусу" #: src/canonmn.cpp:1048 msgid "Focus mode setting" msgstr "Налаштування фокусу" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 msgid "Image Size" msgstr "Розмір зображення" #: src/canonmn.cpp:1052 msgid "Easy Mode" msgstr "Простий режим" #: src/canonmn.cpp:1052 msgid "Easy shooting mode" msgstr "Режим простого знімання" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 msgid "Digital Zoom" msgstr "Цифрове збільшення" #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 msgid "Digital zoom" msgstr "Цифрове збільшення" #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 msgid "Contrast" msgstr "Контраст" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 msgid "Contrast setting" msgstr "Налаштування контрасту" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 msgid "Saturation" msgstr "Насиченість" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 msgid "Saturation setting" msgstr "Налаштування насиченості" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 msgid "Sharpness" msgstr "Різкість" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 msgid "Sharpness setting" msgstr "Налаштування різкості" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 msgid "ISO Speed Mode" msgstr "Режим чутливості ISO" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 msgid "ISO speed setting" msgstr "Налаштування чутливості ISO" #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 msgid "Metering Mode" msgstr "Режим вимірювання" #: src/canonmn.cpp:1058 msgid "Metering mode setting" msgstr "Параметр режиму вимірювання" #: src/canonmn.cpp:1059 msgid "Focus Type" msgstr "Тип фокусу" #: src/canonmn.cpp:1059 msgid "Focus type setting" msgstr "Налаштування типу фокусу" #: src/canonmn.cpp:1060 msgid "AF point selected" msgstr "Вибрана точка АФ" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 msgid "Exposure Program" msgstr "Програма експозиції" #: src/canonmn.cpp:1061 msgid "Exposure mode setting" msgstr "Параметр режиму експонування" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 msgid "Lens Type" msgstr "Тип Лінзи" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 msgid "Lens type" msgstr "Тип лінзи" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 msgid "Lens" msgstr "Об’єктив" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" "\"Довгі\" та \"короткі\" фокусні відстані об’єктива (у \"координаційних " "одиницях\") та \"координаційних одиницях\" на мм" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "Короткий фокус" #: src/canonmn.cpp:1065 msgid "Short focal" msgstr "Короткий фокус" #: src/canonmn.cpp:1066 msgid "Focal Units" msgstr "Координаційні одиниці" #: src/canonmn.cpp:1066 msgid "Focal units" msgstr "Координаційні одиниці" #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 msgid "Max Aperture" msgstr "Макс. апертура" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 msgid "Max aperture" msgstr "Макс. апертура" #: src/canonmn.cpp:1068 msgid "Min Aperture" msgstr "Мінімальна Діафрагма" #: src/canonmn.cpp:1068 msgid "Min aperture" msgstr "Мінімальна діафрагма" #: src/canonmn.cpp:1069 msgid "Flash Activity" msgstr "Активність спалаху" #: src/canonmn.cpp:1069 msgid "Flash activity" msgstr "Активність спалаху" #: src/canonmn.cpp:1070 msgid "Flash Details" msgstr "Деталі Спалаху" #: src/canonmn.cpp:1070 msgid "Flash details" msgstr "Деталі спалаху" #: src/canonmn.cpp:1073 msgid "Focus Continuous" msgstr "Тривалість фокусування" #: src/canonmn.cpp:1073 msgid "Focus continuous setting" msgstr "Налаштування тривалості фокусування" #: src/canonmn.cpp:1074 msgid "AESetting" msgstr "AE налаштування" #: src/canonmn.cpp:1074 msgid "AE setting" msgstr "AE налаштування" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 msgid "Image Stabilization" msgstr "Стабілізація Картинки" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 msgid "Image stabilization" msgstr "Стабілізація картинки" #: src/canonmn.cpp:1076 msgid "Display Aperture" msgstr "Показувати Діафрагму" #: src/canonmn.cpp:1076 msgid "Display aperture" msgstr "Показувати діафрагму" #: src/canonmn.cpp:1077 msgid "Zoom Source Width" msgstr "Масштабувати джерельну ширину" #: src/canonmn.cpp:1077 msgid "Zoom source width" msgstr "Масштабувати джерельну ширину" #: src/canonmn.cpp:1078 msgid "Zoom Target Width" msgstr "Масштабувати призначену ширину" #: src/canonmn.cpp:1078 msgid "Zoom target width" msgstr "Масштабувати призначену ширину" #: src/canonmn.cpp:1080 msgid "Spot Metering Mode" msgstr "Точковий Режим Виміру" #: src/canonmn.cpp:1080 msgid "Spot metering mode" msgstr "Точковий режим виміру" #: src/canonmn.cpp:1081 msgid "Photo Effect" msgstr "Фотоефект" #: src/canonmn.cpp:1081 msgid "Photo effect" msgstr "Фотоефект" #: src/canonmn.cpp:1082 msgid "Manual Flash Output" msgstr "Налаштовувана потужність спалаху" #: src/canonmn.cpp:1082 msgid "Manual flash output" msgstr "Налаштовувана потужність спалаху" #: src/canonmn.cpp:1083 msgid "Color Tone" msgstr "Тон кольорів" #: src/canonmn.cpp:1083 msgid "Color tone" msgstr "Тон кольору" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "Якість відтінку SRAW" #: src/canonmn.cpp:1084 msgid "SRAW quality" msgstr "SRAW якість" #: src/canonmn.cpp:1086 msgid "Unknown Canon Camera Settings 1 tag" msgstr "Невідомі налаштування камери Canon 1 tag" #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 msgid "Daylight" msgstr "Денне світло" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 msgid "Cloudy" msgstr "Хмарно" #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 msgid "Tungsten" msgstr "Лампа розжарювання" #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 msgid "Fluorescent" msgstr "Флуоресцентна лампа" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 msgid "Black & White" msgstr "Чорно-біле" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "Тінь" #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "Ручна температура (Кельвін)" #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "ПК конфігурація 1" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "ПК конфігурація 2" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "ПК конфігурація 3" #: src/canonmn.cpp:1109 msgid "Daylight Fluorescent" msgstr "Денне світло" #: src/canonmn.cpp:1110 src/properties.cpp:816 msgid "Custom 1" msgstr "Інше 1" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 msgid "Custom 2" msgstr "Інше 2" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 msgid "Custom 3" msgstr "Інше 3" #: src/canonmn.cpp:1115 msgid "PC Set 4" msgstr "ПК конфігурація 4" #: src/canonmn.cpp:1116 msgid "PC Set 5" msgstr "ПК конфігурація 5" #: src/canonmn.cpp:1117 #, fuzzy msgid "Auto (ambience priority)" msgstr "Пріоритет затвору" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 msgid "left" msgstr "ліворуч" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 msgid "center" msgstr "центр" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 msgid "right" msgstr "праворуч" #: src/canonmn.cpp:1151 msgid "ISO Speed Used" msgstr "Чутливість ISO Використана" #: src/canonmn.cpp:1151 msgid "ISO speed used" msgstr "Чутливість ISO використана" #: src/canonmn.cpp:1152 msgid "Measured EV" msgstr "Вимір експозиції EV" #: src/canonmn.cpp:1153 msgid "Target Aperture" msgstr "Діафрагма призначення" #: src/canonmn.cpp:1154 msgid "Target Shutter Speed" msgstr "Цільова швидкість затвора" #: src/canonmn.cpp:1154 msgid "Target shutter speed" msgstr "Цільова швидкість затвора" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 msgid "White Balance" msgstr "Баланс білого" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 msgid "White balance setting" msgstr "Параметр балансу білого" #: src/canonmn.cpp:1158 msgid "Sequence" msgstr "Послідовність" #: src/canonmn.cpp:1158 msgid "Sequence number (if in a continuous burst)" msgstr "Номер послідовності (якщо безперервний спалах)" #: src/canonmn.cpp:1163 msgid "AF Point Used" msgstr "AF Точка Використана" #: src/canonmn.cpp:1163 msgid "AF point used" msgstr "AF точка використана" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 msgid "Flash Bias" msgstr "Ухил спалаху" #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 msgid "Subject Distance" msgstr "Відстань до об’єкта" #: src/canonmn.cpp:1168 msgid "Subject distance (units are not clear)" msgstr "Відстань до об’єкта (одиниці невідомі)" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 msgid "Aperture Value" msgstr "Розмір діафрагми" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 msgid "Shutter Speed Value" msgstr "Значення швидкості руху затвору" #: src/canonmn.cpp:1171 src/tags.cpp:1630 msgid "Shutter speed" msgstr "Швидкість затвору" #: src/canonmn.cpp:1172 msgid "Measured EV 2" msgstr "Вимір експозиції EV 2" #: src/canonmn.cpp:1177 msgid "Unknown Canon Camera Settings 2 tag" msgstr "Тег невідомих налаштувань камери Canon 2" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 msgid "Left to right" msgstr "Зліва праворуч" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 msgid "Right to left" msgstr "Справа ліворуч" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 msgid "Bottom to top" msgstr "Знизу догори" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 msgid "Top to bottom" msgstr "Згори вниз" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "Матриця 2x2 (за годинниковою стрілкою)" #: src/canonmn.cpp:1196 msgid "Panorama Frame" msgstr "Рамка панорами" #: src/canonmn.cpp:1196 msgid "Panorama frame number" msgstr "Номер кадру панорами" #: src/canonmn.cpp:1197 msgid "Panorama Direction" msgstr "Напрямок панорами" #: src/canonmn.cpp:1197 msgid "Panorama direction" msgstr "Напрямок діафрагми" #: src/canonmn.cpp:1199 msgid "Unknown Canon Panorama tag" msgstr "Невідомий панорамний тег Canon" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 msgid "Noise Reduction" msgstr "Вилучення шумів" #: src/canonmn.cpp:1209 msgid "Long exposure noise reduction" msgstr "Зменшення шуму довгої експозиції" #: src/canonmn.cpp:1210 msgid "Shutter Ae Lock" msgstr "Блокування затвора автоекспозиції" #: src/canonmn.cpp:1210 msgid "Shutter/AE lock buttons" msgstr "Кнопки Затвора/Блокування автоекспозиції" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "Блокування дзеркала" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "Блокування дзеркала" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 msgid "Exposure Level Increments" msgstr "Збільшення рівня експозиції" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "Tv/Av та рівень експозиції" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 msgid "AF Assist" msgstr "AF Асистент" #: src/canonmn.cpp:1213 msgid "AF assist light" msgstr "AF асистент світла" #: src/canonmn.cpp:1214 msgid "Flash Sync Speed Av" msgstr "Швидкість синхронізації спалаху у режимі Av" #: src/canonmn.cpp:1214 msgid "Shutter speed in Av mode" msgstr "Швидкість затвора у режимі Av" #: src/canonmn.cpp:1215 msgid "AEB Sequence" msgstr "AEB послідовність" #: src/canonmn.cpp:1215 msgid "AEB sequence/auto cancellation" msgstr "AEB послідовність/авто скасування" #: src/canonmn.cpp:1216 msgid "Shutter Curtain Sync" msgstr "Синхронізація по задній шторці" #: src/canonmn.cpp:1216 msgid "Shutter curtain sync" msgstr "Синхронізація по задній шторці" #: src/canonmn.cpp:1217 msgid "Lens AF Stop Button" msgstr "Лінзова AF кнопка зупинки" #: src/canonmn.cpp:1217 msgid "Lens AF stop button Fn. Switch" msgstr "Кнопка зупинки об’єктива AF Fn. Switch" #: src/canonmn.cpp:1218 msgid "Fill Flash Auto Reduction" msgstr "Автоматичне зменшення впливу заповнюючого спалаху" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "Автоматичне зменшення впливу заповнюючого спалаху" #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "Кнопка меню Назад" #: src/canonmn.cpp:1219 msgid "Menu button return position" msgstr "Розташування кнопки меню Назад" #: src/canonmn.cpp:1220 msgid "Set Button Function" msgstr "Встановити функцію кнопки" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "Призначення дії кнопки SET при зйомці" #: src/canonmn.cpp:1221 msgid "Sensor Cleaning" msgstr "Очищення датчика" #: src/canonmn.cpp:1221 msgid "Sensor cleaning" msgstr "Очищення датчика" #: src/canonmn.cpp:1222 msgid "Superimposed Display" msgstr "Сумісний екран" #: src/canonmn.cpp:1222 msgid "Superimposed display" msgstr "Сумісний екран" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "Спуск затвора при відсутності картки пам’яті CF" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "Спуск затвора при відсутності картки пам’яті CF" #: src/canonmn.cpp:1225 msgid "Unknown Canon Custom Function tag" msgstr "Тег невідомої функції Canon яка налаштовується" #: src/canonmn.cpp:1236 msgid "mid-right" msgstr "посередині-праворуч" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 msgid "bottom" msgstr "внизу" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 msgid "top" msgstr "вгорі" #: src/canonmn.cpp:1240 msgid "mid-left" msgstr "посередині ліворуч" #: src/canonmn.cpp:1247 msgid "upper-left" msgstr "вгорі ліворуч" #: src/canonmn.cpp:1248 msgid "upper-right" msgstr "вгорі праворуч" #: src/canonmn.cpp:1252 msgid "lower-left" msgstr "внизу ліворуч" #: src/canonmn.cpp:1253 msgid "lower-right" msgstr "внизу праворуч" #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 msgid "Image Width" msgstr "Ширина зображення" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 msgid "Image width" msgstr "Ширина зображення" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 msgid "Image Height" msgstr "Висота зображення" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 msgid "Image height" msgstr "Висота зображення" #: src/canonmn.cpp:1261 msgid "Image Width As Shot" msgstr "Кадрова ширина зображення" #: src/canonmn.cpp:1261 msgid "Image width (as shot)" msgstr "Ширина зображення (як у кадрі)" #: src/canonmn.cpp:1262 msgid "Image Height As Shot" msgstr "Висота зображення як у кадрі" #: src/canonmn.cpp:1262 msgid "Image height (as shot)" msgstr "Висота зображення (як у кадрі)" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF Points Used" msgstr "Використання точок АФ" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF points used" msgstr "Використання точок АФ" #: src/canonmn.cpp:1264 msgid "AF Points Used 20D" msgstr "Використання точок АФ 20D" #: src/canonmn.cpp:1264 msgid "AF points used (20D)" msgstr "Використання точок (20D)" #: src/canonmn.cpp:1266 msgid "Unknown Canon Picture Info tag" msgstr "Невідомий тег відомостей про зображення Canon" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "AEB" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "FEB" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 msgid "ISO" msgstr "ISO" #: src/canonmn.cpp:1280 msgid "WB" msgstr "WB" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "Поштова картка" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "Широкоекранний" #: src/canonmn.cpp:1293 msgid "Medium Movie" msgstr "Середній відеофрагмент" #: src/canonmn.cpp:1294 msgid "Small Movie" msgstr "Невеликий відеофрагмент" #: src/canonmn.cpp:1300 msgid "On 1" msgstr "На 1" #: src/canonmn.cpp:1301 msgid "On 2" msgstr "На 2" #: src/canonmn.cpp:1309 msgid "On (shift AB)" msgstr "На (shift AB)" #: src/canonmn.cpp:1310 msgid "On (shift GM)" msgstr "На (shift GM)" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "Жовтий" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 msgid "Orange" msgstr "Жовтогарячий" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 msgid "Red" msgstr "Червоний" #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 msgid "Green" msgstr "Зелений" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 msgid "Blue" msgstr "Синій" #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "Пурпуровий" #: src/canonmn.cpp:1334 msgid "Bracket Mode" msgstr "Режим вилки" #: src/canonmn.cpp:1335 msgid "Bracket Value" msgstr "Значення брекетингу" #: src/canonmn.cpp:1336 msgid "Bracket Shot Number" msgstr "Кількість кадрів брекетингу" #: src/canonmn.cpp:1337 msgid "Raw Jpg Quality" msgstr "Якість необробленого jpg" #: src/canonmn.cpp:1338 msgid "Raw Jpg Size" msgstr "Розмір необробленого jpg" #: src/canonmn.cpp:1340 msgid "WB Bracket Mode" msgstr "Баланс білого у режимі брекетингу" #: src/canonmn.cpp:1341 msgid "WB Bracket Value AB" msgstr "Баланс білого у режимі брекетингу AB" #: src/canonmn.cpp:1342 msgid "WB Bracket Value GM" msgstr "WB Значення брекетингу GM" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 msgid "Filter Effect" msgstr "Ефект фільтрування" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 msgid "Toning Effect" msgstr "Ефект тонування" #: src/canonmn.cpp:1345 msgid "Macro Magnification" msgstr "Макрозбільшення" #: src/canonmn.cpp:1345 msgid "Macro magnification" msgstr "Макрозбільшення" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "Зйомка у режимі контрольваної зйомки" #: src/canonmn.cpp:1346 msgid "Live view shooting" msgstr "Зйомка у режимі контрольваної зйомки" #: src/canonmn.cpp:1347 #, fuzzy msgid "Focus Distance Upper" msgstr "Фокусна відстань" #: src/canonmn.cpp:1348 #, fuzzy msgid "Focus Distance Lower" msgstr "Фокусна відстань" #: src/canonmn.cpp:1349 msgid "Flash Exposure Lock" msgstr "Блокування керування потужністю спалаху" #: src/canonmn.cpp:1349 msgid "Flash exposure lock" msgstr "Блокування керування потужністю спалаху" #: src/canonmn.cpp:1351 msgid "Unknown Canon File Info tag" msgstr "Невідомий тег відомостей про файл Canon" #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 msgid "Standard" msgstr "Стандартна" #: src/canonmn.cpp:1369 msgid "Lowest" msgstr "Найнижча" #: src/canonmn.cpp:1373 msgid "Highest" msgstr "Найвища" #: src/canonmn.cpp:1381 msgid "High Saturation" msgstr "Висока насиченість" #: src/canonmn.cpp:1383 msgid "Low Saturation" msgstr "Низька насиченість" #: src/canonmn.cpp:1384 msgid "CM Set 1" msgstr "CM набір 1" #: src/canonmn.cpp:1385 msgid "CM Set 2" msgstr "CM набір 2" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "Користувачева 1" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "Користувачева 2" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "Користувачева 3" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "ПК 1" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "ПК 2" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "ПК 3" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "Надійний" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 msgid "Monochrome" msgstr "Чорно-біле" #: src/canonmn.cpp:1399 #, fuzzy msgid "Fine Detail" msgstr "Деталі Спалаху" #: src/canonmn.cpp:1404 msgid "ToneCurve" msgstr "Тональна крива" #: src/canonmn.cpp:1404 msgid "Tone curve" msgstr "Крива тону" #: src/canonmn.cpp:1406 msgid "SharpnessFrequency" msgstr "Частота різкості" #: src/canonmn.cpp:1406 msgid "Sharpness frequency" msgstr "Частота різкості" #: src/canonmn.cpp:1407 msgid "SensorRedLevel" msgstr "Датчик рівня червоного" #: src/canonmn.cpp:1407 msgid "Sensor red level" msgstr "Рівень червоного на датчику" #: src/canonmn.cpp:1408 msgid "SensorBlueLevel" msgstr "Датчик рівня синього" #: src/canonmn.cpp:1408 msgid "Sensor blue level" msgstr "Рівень синього на датчику" #: src/canonmn.cpp:1409 msgid "WhiteBalanceRed" msgstr "Баланс білого-червоного" #: src/canonmn.cpp:1409 msgid "White balance red" msgstr "Баланс білого для червоного каналу" #: src/canonmn.cpp:1410 msgid "WhiteBalanceBlue" msgstr "Баланс білого-синього" #: src/canonmn.cpp:1410 msgid "White balance blue" msgstr "Баланс білого для синього каналу" #: src/canonmn.cpp:1411 msgid "WhiteBalance" msgstr "Баланс білого" #: src/canonmn.cpp:1412 msgid "ColorTemperature" msgstr "Температура кольору" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 msgid "Color Temperature" msgstr "Кольорова температура" #: src/canonmn.cpp:1413 msgid "PictureStyle" msgstr "Стиль зображення" #: src/canonmn.cpp:1413 msgid "Picture style" msgstr "Стиль зображення" #: src/canonmn.cpp:1414 msgid "DigitalGain" msgstr "Цифрове підсилення" #: src/canonmn.cpp:1414 msgid "Digital gain" msgstr "Цифрове підсилення" #: src/canonmn.cpp:1415 msgid "WBShiftAB" msgstr "WBShiftAB" #: src/canonmn.cpp:1415 msgid "WBShift AB" msgstr "WBShift AB" #: src/canonmn.cpp:1416 msgid "WBShiftGM" msgstr "WBShiftGM" #: src/canonmn.cpp:1416 msgid "WB Shift GM" msgstr "WB Shift GM" #: src/canonmn.cpp:1417 msgid "Unknown Canon Processing Info tag" msgstr "Невідомий тег відомостей про обробку Canon" #: src/crwimage.cpp:656 msgid "Header, offset" msgstr "Заголовок, зсув" #: src/crwimage.cpp:674 msgid "tag" msgstr "мітка" #: src/crwimage.cpp:676 msgid "dir" msgstr "каталог" #: src/crwimage.cpp:678 msgid "type" msgstr "тип" #: src/crwimage.cpp:679 msgid "size" msgstr "розмір" #: src/crwimage.cpp:680 msgid "offset" msgstr "зміщення" #: src/datasets.cpp:79 msgid "(invalid)" msgstr "(некоректний)" #: src/datasets.cpp:80 msgid "IIM envelope record" msgstr "Запис діапазону IIM" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "Запис діапазону IIM 2" #: src/datasets.cpp:85 msgid "Model Version" msgstr "Версія моделі" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Двійкове число що ідентифікує версію стандарту Information Interchange " "Model, Частина I, що використовується постачальником. Номера версій " "призначаються організаціями IPTC та NAA." #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 msgid "Destination" msgstr "Призначення" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" "Дані призначені для адаптації служб деяких постачальників, які вимагають " "маршрутну інформацію для відповідних рівнів OSI." #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 msgid "File Format" msgstr "Формат файла" #: src/datasets.cpp:95 msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" "Двійковий номер, що вказує формат файлу. Кожен формат файлу повинен бути " "зареєстрований у IPTC або NAA з привласненням йому унікального номера. Ця " "інформація використовується для коректного направлення даних до відповідної " "системи, а також для того, щоб дати право системі що приймає робити потрібні " "дії для обробки." #: src/datasets.cpp:101 msgid "File Version" msgstr "Версія файла" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" "Двійковий номер, що показує конкретну версію формату файлу, вказаного тегом " "." #: src/datasets.cpp:105 msgid "Service Id" msgstr "Ід. служби" #: src/datasets.cpp:106 msgid "Identifies the provider and product" msgstr "Ідентифікує виробника і продукт" #: src/datasets.cpp:108 msgid "Envelope Number" msgstr "Кількість конвертів" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" "Символи формують унікальний номер для вказаної дати вказаної у тезі " " та для служби ідентифікатора, вказаного тегом " ". При збігу діапазонів номерів з однаковою датою та одним " "й тим самим службовим ідентифікатором, запису 2-9 повинні бути незмінні з " "оригінальних. Це не призначено для перевірки приймання послідовної нумерації." #: src/datasets.cpp:117 msgid "Product Id" msgstr "Ід. продукту" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" "Дозволяє постачальнику розпізнавати підсистеми його служби. Використовується " "для забезпечення приймання організаційної інформації, на основі якої " "робиться вибір, маршрутизація та інша обробка даних." #: src/datasets.cpp:122 msgid "Envelope Priority" msgstr "Пріоритет конверта" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" "Визначає пріоритет обробки конверта а не редакційну терміновість ( див. " " тег). \"1\" вказує на найактуальніші , \"5\" середньої " "терміновості та \"8\" найменш термінові копія. Цифра \"9\" вказує на " "Користувача з певним пріоритетом. Цифра \"0\" зарезервовано для використання " "у майбутньому." #: src/datasets.cpp:129 msgid "Date Sent" msgstr "Дата надсилання" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" "Використовує формат ССРРММДД (сторіччя, рік, місяць, день) визначений у ISO " "8601 для індикації дати відправлення матеріалу службою." #: src/datasets.cpp:133 msgid "Time Sent" msgstr "Час надсилання" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" "Використовує формат ГГХХСС:ГГХХ, де ГГХХСС містить локальний час у годинах, " "хвилинах та секундах, а ГГХХ вказує на різність локального часу з " "універсальним координатним, охарактеризованим у ISO 8601. Цей час визначає " "мить відправлення матеріалу службою." #: src/datasets.cpp:139 msgid "Character Set" msgstr "Набір символів" #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" "Цей тег містить одну иабо декілька можливостей що використовуються для " "сповіщення, ініціювання роботи або позначення закодованих груп символів. " "Можливості керування регулюються стандартом ISO 2022 й можуть містити " "перехідні символи керування та один або декілька графічних символів." #: src/datasets.cpp:145 msgid "Unique Name Object" msgstr "Унікальна назва об’єкта" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" "Цей тег надає загальну унікальну ідентифікацію для об’єктів, " "охарактеризовану у IIM, незалежну від постачальників та форм носіїв. " "Постачальник має переконатися в унікальності UNO. Об’єкти що мають однаковий " "UNO ідентичні." #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "Ідентифікатор ARM" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" "DataSet ідентифікує метод ідентифікації Abstract Relationship Method " "identifier (ARM), який охарактеризовано у документі зареєстрованому " "ініціатором ARM у організаціях IPTC та NAA." #: src/datasets.cpp:156 msgid "ARM Version" msgstr "Версія ARM" #: src/datasets.cpp:157 msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" "Цей тег містить двійковий номер, що представляє конкретну версію ARM, " "вказану тегом ." #: src/datasets.cpp:170 msgid "Record Version" msgstr "Версія запису" #: src/datasets.cpp:171 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Двійкове число, що виявляє версію моделі обміну інформацією, частина II, що " "використовується провайдером. Номери версій привласнюються IPTC та NAA " "організаціями." #: src/datasets.cpp:175 msgid "Object Type" msgstr "Тип об'єкта" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" "Тип об’єкту використовується, щоб розрізняти різні типи об’єктів у рамках " "ММВ. Перша частина являє собою число, що представляє мову незалежного " "міжнародного посилання на Object Type двокрапка сепаратора.Друга частина, " "якщо вона використовується, є текстовим поданням. Кількість типів об’єктів, " "що складаються з графічних символів з пробілами на английській або мовою " "служби, як вказано у тезі " #: src/datasets.cpp:184 msgid "Object Attribute" msgstr "Властивості об’єкту" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" "Атрибут об’єкту визначає природу об’єкту незалежно віт суб’єкту. Перша " "частина - число, що являє собою незалежне від мови міжнародне посилання на " "Атрибут об’єкту, з наступним розділювачем- двокрапкою. Друга частина, якщо " "використовується, є текстовим поданням Числа Атрибуту об’єкту, що " "складається з графічних символів плюс пробіли або на англійській мові, або " "мовою служби, як вказано у тезі " #: src/datasets.cpp:193 msgid "Object Name" msgstr "Назва об'єкта" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" "Використовується як скорочене посилання на об’єкт. Зміни у даних що існують, " "такі як оновлені історії або нові люди на фотографії, повинні бути визначені " "у тезі ." #: src/datasets.cpp:198 msgid "Document Title" msgstr "Заголовок документа" #: src/datasets.cpp:199 src/olympusmn.cpp:827 msgid "Edit Status" msgstr "Змінити стан" #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "Стан об’єктних даних, відповідно практики провайдера." #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "Оновлена редакція" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" "Вказує тип оновлення, яке даний об’єкт надає попередньому об’єкту. Посилання " "на попередній об’єкт вказується тегами та , у " "відповідності з інструкціями постачальника." #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "Терміновість" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" "Вказує актуальність редакції вмісту й не обов’язково пріоритет обробки (див. " "тег ). \"1\" є найактуальнішим, \"5\" нормальний та \"8\" " "позначає найменш актуальні копії." #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 msgid "Subject" msgstr "Об’єкт" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "Тематичний довідник містить структуровані визначення предмету." #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "Категорія" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" "Визначає предмет даних об’єктів, за думкою провайдера. Список категорій буде " "підтримуватися регіональними реєстрами, де це можливо, у протилежному " "випадку постачальником." #: src/datasets.cpp:222 msgid "Supplemental Category" msgstr "Додаткова категорія" #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" "Додаткові категорії покликані уточнити вміст даних об’єкту. Такі категорії " "можуть бути обрані з перерахованих у тезі . У протилежному " "випадку, вказування додаткових категорій залишається за постачальником." #: src/datasets.cpp:228 src/properties.cpp:442 msgid "Supplemental Categories" msgstr "Додаткові категорії" #: src/datasets.cpp:229 msgid "Fixture Id" msgstr "Світильник Id" #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" "Визначає часто й передбачувано використовувані властивості об’єкту. Такі " "властивості дозволяють швидко знаходити та викликати об’єкти." #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 msgid "Keywords" msgstr "Ключові слова" #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" "Використовується для вказування ключових слів. Очікується, що постачальник " "різних типів даних, що відносяться до сутності об’єктів, вказує ті самі " "ключові слова, дозволяючи системі що приймає або підсистемам проводити пошук " "по усім типам даних, що відносяться до матеріалів." #: src/datasets.cpp:240 msgid "Location Code" msgstr "Код місцерозташування" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" "Вказує код країни або географічного регіону, що має відношення до об’єкту. " "Якщо ISO має підходящий код у відповідності з ISO 1366, тоді цей код буде " "використано. У випадку, якщо ISO 1366 не може надати правильний код для " "вказування місцерозташування або країни, наприклад для кораблів у океані або " "у космосі, тоді IPTC вкаже підходящий трех-символьний код, у відповідності з " "методикою ISO 1366 для виключення конфліктів." #: src/datasets.cpp:248 msgid "Location Name" msgstr "Назва місця" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" "Забазпечує повну, оголошувану назву країни / географічного розташування, на " "які посилається вміст об’єкту, у відповідності з вказівками постачальника." #: src/datasets.cpp:253 src/properties.cpp:376 msgid "Release Date" msgstr "Дата випуску" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" "Початкова дата, коли по визначенню постачальника, об’єкт може бути " "використано, вказується у форматі ССРРММДД у відповідності зі стандартом ISO " "6801." #: src/datasets.cpp:257 msgid "Release Time" msgstr "Час випуску" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" "Початковий час, коли по визначенню постачальника, об’єкт може бути " "використано, вказується у форматі ГГХХСС:ГГХХ у відповідності зі стандартом " "ISO 6801." #: src/datasets.cpp:261 msgid "Expiration Date" msgstr "Дата завершення строку дії" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" "Кінцева дата, коли по визначенню постачальника, об’єкт може бути " "використано, вказується у форматі ССРРММДД у відповідності зі стандартом ISO " "6801." #: src/datasets.cpp:265 msgid "ExpirationTime" msgstr "Термін дії" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" "Кінцевий час, коли по визначенню постачальника, об’єкт може бути " "використано, вказується у форматі ГГХХСС:ГГХХ у відповідності зі стандартом " "ISO 6801." #: src/datasets.cpp:269 msgid "Special Instructions" msgstr "Особливі настанови" #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" "Інші редакторські інструкції, що відносяться до використання даних об’єкту, " "такі як обмеження та попередження." #: src/datasets.cpp:273 src/properties.cpp:439 msgid "Instructions" msgstr "Настанови" #: src/datasets.cpp:274 msgid "Action Advised" msgstr "Рекомендована дія" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" "Вказує тип дій, які цей об’єкт забезпечує до попереднього об’єкту. Посилання " "на попередній об’єкт відбувається за допомогою тегів та " ", у відповідності з практикою постачальника." #: src/datasets.cpp:279 msgid "Reference Service" msgstr "Довідкова служба" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" "Визначає ідентифікатор служби перед конвертуванням до якої відноситься " "поточний об’єкт." #: src/datasets.cpp:283 msgid "Reference Date" msgstr "Дата" #: src/datasets.cpp:284 msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "" "Визначає дату перед конвертуванням, до якої відноситься поточний об’єкт." #: src/datasets.cpp:286 msgid "Reference Number" msgstr "Номер посилання" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "" "Визначає кількість конвертів до конвертування до яких відноситься поточний " "об’єкт." #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 msgid "Date Created" msgstr "Дата створення" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" "Дата створення інтелектуального вмісту об’єкту (не плутати з датою створення " "фізичного представлення), вказується у форматі ССРРММДД у відповідності зі " "стандартом ISO 6801." #: src/datasets.cpp:295 msgid "Time Created" msgstr "Час створення" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" "Час створення інтелектуального вмісту об’єкту (не плутати з часом створення " "фізичного представлення), вказується у форматі ГГХХСС:ГГХХ у відповідності " "зі стандартом ISO 6801." #: src/datasets.cpp:301 msgid "Digitization Date" msgstr "Дата цифрування" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" "Дата створення цифрового представлення даних об’єкту, вказується у форматі " "ССРРММДД у відповідності зі стандартом ISO 6801." #: src/datasets.cpp:305 msgid "Digitization Time" msgstr "Час цифрування" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" "Час створення цифрового представлення даних об’єкту, вказується у форматі " "ГГХХСС:ГГХХ у відповідності зі стандартом ISO 6801." #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 msgid "Program" msgstr "Програма" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "" "Тип програмного забезпечення, що використовується для створення даних " "об’єкту." #: src/datasets.cpp:313 msgid "Program Version" msgstr "Версія програми" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "Версія програмного забезпечення, вказаного у тезі ." #: src/datasets.cpp:316 msgid "Object Cycle" msgstr "Цикл об’єкту" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "Використовується для вказування циклу редагування даних об’єкту." #: src/datasets.cpp:319 msgid "By-line" msgstr "Підпис автора" #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "" "Містить ім’я творця даних об’єкту, наприклад, письменника, фотографа або " "художника." #: src/datasets.cpp:323 src/properties.cpp:2103 msgid "Author" msgstr "Автор" #: src/datasets.cpp:324 msgid "By-line Title" msgstr "Посада автора" #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "" "Посада автора це посада творця або творців даних об’єкту. Використовується " "разом з підписом автора або авторів." #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 msgid "City" msgstr "Місто/Селище" #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" "Вказує місто, на яке посилаються дані об’єкту, у відповідності з методикою, " "визначеною постачальником." #: src/datasets.cpp:333 msgid "Sub Location" msgstr "Додаткові дані про місцерозташування" #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" "Вказує розташування у середині міста, на яке посилаються дані об’єкту, у " "відповідності з методикою, визначеною постачальником." #: src/datasets.cpp:337 msgid "Province State" msgstr "Провінція або область" #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "" "Вказує географічну область, на яку посилаються дані об’єкту, у відповідності " "з методикою, визначеною постачальником." #: src/datasets.cpp:341 msgid "State/Province" msgstr "Область/провінція" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 msgid "Country Code" msgstr "Код країни" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" "Вказує код країни або основного місцерозташування, у яких було створено " "інтелектуальний вміст даних об’єкту, наприклад відзнято фотографію або " "сталася подія. Якщо ISO код можливо визначити по стандарту ISO 3166, тоді " "потрібно використовувати його. Якщо ж код у відповідності з ISO 3166 " "визначити неможливо, наприклад для кораблів у океані або у космосі, тоді " "IPTC привласнює відповідний трех-символьний код у відповідності з ISO 3166 " "для виключення конфліктів." #: src/datasets.cpp:352 msgid "Country Name" msgstr "Назва країни" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" "Вказує повну, друковану назву країни або іншого основного місцезнаходження, " "де було створено інтелектуальний вміст даних об’єкту, основуючись на " "вказівках постачальника." #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 msgid "Country" msgstr "Країна" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 msgid "Transmission Reference" msgstr "Посилання передачі" #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" "Код, що представляє розташування оригінальної передачі, у відповідності з " "практикою постачальника." #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 msgid "Headline" msgstr "Заголовок" #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "Публіковані вступи надаючи короткий огляд вмісту об’єкту даних." #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 msgid "Credit" msgstr "Подяка" #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "" "Вказує постачальника даних об’єкту, не обов’язково творця або власника." #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source" msgstr "Джерело" #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" "Вказує початкового власника інтелектуального вмісту даних об’єкту. Це може " "бути агентство або представник агентства або індивідуальна людина." #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "Містить будь-яку потрібну інформацію про авторські права." #: src/datasets.cpp:379 msgid "Copyright Notice" msgstr "Авторські права" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 msgid "Contact" msgstr "Контакту" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" "Вказує персону або організацію, які можуть надати додаткову інформацію по " "даних об’єкту." #: src/datasets.cpp:384 src/properties.cpp:2101 msgid "Caption" msgstr "Підпис" #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "Текстовий опис об’єкту знімку" #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 msgid "Description" msgstr "Опис" #: src/datasets.cpp:388 msgid "Writer" msgstr "Автор тексту" #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" "Вказує ім’я персони, що брала участь у написанні, редагуванні або зборі " "даних об’єкту, або їх опису." #: src/datasets.cpp:392 msgid "Rasterized Caption" msgstr "Растрований підпис" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" "Містить растеризовану версію опису даних об’єкту для тих випадків, коли опис " "містить символи, що не можуть бути показані." #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "Показує колірні компоненти зображення." #: src/datasets.cpp:399 msgid "Image Orientation" msgstr "Орієнтація зображення" #: src/datasets.cpp:400 msgid "Indicates the layout of an image." msgstr "Показує макет зображення." #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 msgid "Language" msgstr "Мова" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" "Описує основну національну мову об’єкту у вигляді 2-х символьного коду, у " "відповідності з ISO 639:1988. Ніяк не визначає й не припускає якесь " "кодування символів, у той же час використовується для внутрішньої " "маршрутизації, наприклад з метою редагування." #: src/datasets.cpp:408 msgid "Audio Type" msgstr "Тип звуку" #: src/datasets.cpp:409 msgid "Indicates the type of an audio content." msgstr "Вказує тип звукового вмісту." #: src/datasets.cpp:411 msgid "Audio Rate" msgstr "Частота вибірки" #: src/datasets.cpp:412 msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "Показує частоту семплювання звукозапису у Герцах" #: src/datasets.cpp:414 msgid "Audio Resolution" msgstr "Якість звуку." #: src/datasets.cpp:415 msgid "Indicates the sampling resolution of an audio content." msgstr "Вказує частотну роздільну здатність звукового вмісту." #: src/datasets.cpp:417 msgid "Audio Duration" msgstr "Тривалість звуку" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "Показує тривалість звукозапису." #: src/datasets.cpp:420 msgid "Audio Outcue" msgstr "Звуковий вихідний сигнал" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" "Вказує вміст кінцівки звукових даних об’єкту, у відповідності з методикою " "постачальника." #: src/datasets.cpp:424 msgid "Preview Format" msgstr "Формат ескізу" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" "Двійкове число, що показує формат файлу з попереднім переглядом даних " "об’єкту. Формат файлу повинен бути зареєстрований у організаціях IPTC або " "NAA з привласненням унікального номеру." #: src/datasets.cpp:429 src/properties.cpp:1276 msgid "Preview Version" msgstr "Версія ескізу" #: src/datasets.cpp:430 msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" "Двійкове число, що показує певну версію формату файлу попереднього перегляду " "даних об’єкту, вказану у тезі ." #: src/datasets.cpp:433 msgid "Preview Data" msgstr "Дані ескізу" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "Двійкові дані ескізу зображення." #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "(Некоректне)" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 msgid "Unknown dataset" msgstr "Невідомий набір даних" #: src/error.cpp:55 msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "Помилка %0: arg2=%2, arg3=%3, arg1=%1." #: src/error.cpp:56 msgid "Success" msgstr "Виконано успішно" #: src/error.cpp:59 msgid "This does not look like a %1 image" msgstr "%1 не є зображенням" #: src/error.cpp:60 msgid "Invalid dataset name `%1'" msgstr "Неправильне ім’я набору даних `%1'" #: src/error.cpp:61 msgid "Invalid record name `%1'" msgstr "Неправильне ім’я запису `%1'" #: src/error.cpp:62 msgid "Invalid key `%1'" msgstr "Некоректний ключ «%1»" #: src/error.cpp:63 msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "Неправильне ім’я тегу або ifdId `%1', ifdId %2" #: src/error.cpp:64 msgid "Value not set" msgstr "Значення не встановлено" #: src/error.cpp:65 msgid "%1: Failed to open the data source: %2" msgstr "%1: Не вдалося відкрити джерело даних: %2" #: src/error.cpp:66 msgid "%1: Failed to open file (%2): %3" msgstr "%1: не вдалося відкрити файл (%2): %3" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "%1: Файл містить дані невідомого типу зображення" #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "Пам’ять містить дані невідомого типу зображення" #: src/error.cpp:69 msgid "Image type %1 is not supported" msgstr "Зображення типу %1 не підтримуються" #: src/error.cpp:70 msgid "Failed to read image data" msgstr "Не вдалося прочитати дані зображення" #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "Це не схоже на зображення JPEG" #: src/error.cpp:72 msgid "%1: Failed to map file for reading and writing: %2" msgstr "%1: Неможливо відкрити файл для читання та запису: %2" #: src/error.cpp:73 msgid "%1: Failed to rename file to %2: %3" msgstr "%1: Не вдалося змінити назву файлу на %2: %3" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "%1: Помилка передачі: %2" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "Помилка переносу ділянки пам’яті: %1" #: src/error.cpp:76 msgid "Failed to read input data" msgstr "Помилка читання даних що вводяться" #: src/error.cpp:77 msgid "Failed to write image" msgstr "Неможливо записати зображення" #: src/error.cpp:78 msgid "Input data does not contain a valid image" msgstr "Дані що вводяться не містять припустиме зображення" #: src/error.cpp:79 msgid "Invalid ifdId %1" msgstr "Неправильний ifdId% 1" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "Entry::setValue: Завелике значення (мітка=%1, розмір=%2, запит=%3)" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "Entry::setDataArea: Завелике значення (мітка=%1, розмір=%2, запит=%3)" #: src/error.cpp:82 msgid "Offset out of range" msgstr "Перевищення можливого зміщення" #: src/error.cpp:83 msgid "Unsupported data area offset type" msgstr "Непідтримувана зсунута область даних" #: src/error.cpp:84 msgid "Invalid charset: `%1'" msgstr "Неприпустиме кодування: `%1'" #: src/error.cpp:85 msgid "Unsupported date format" msgstr "Непідтримуваний формат дати" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "Непідтримуваний формат часу" #: src/error.cpp:87 msgid "Writing to %1 images is not supported" msgstr "Запис у %1 зображення не підтримується" #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "Встановлення %1 у %2 зображення не підтримується" #: src/error.cpp:89 msgid "This does not look like a CRW image" msgstr "Це не схоже на зображення формату CRW" #: src/error.cpp:90 msgid "%1: Not supported" msgstr "%1: не підтримується" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "Відсутні відомості простору імен для префіксу XMP `%1'" #: src/error.cpp:92 msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "" "Відсутній зареєстрований префікс для простору імен `%2', потрібний для " "адреси властивості `%1'" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "Розмір %1 сегменту JPEG перевищує 65535 байтів" #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "Необроблені Xmpdatum %1 з %2" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "Необроблений вузол XMP %1 з opt=%2" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "Помилка оснащення XMP %1: %2" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "Помилка декодування Lang Alt властивості %1 з opt=%2" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "Помилка декодування Lang Alt специфікатора %1 з opt=%2" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "Помилка кодування Lang Alt властивості %1" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "Помилка визначення ім’я властивості за адресою %1, простір імен %2" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "Схема імен %1 не зареєстровані у XMP Toolkit" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "Відсутній простір імен зареєстрований для префіксу `%1'" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" "Псевдоніми не підтримуються. Будь ласка, відправте цей XMP пакунок за " "адресою ahuggel@gmx.net `%1', `%2', `%3'" #: src/error.cpp:104 msgid "Invalid XmpText type `%1'" msgstr "Неправильний тип XmpText `% 1 '" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "Каталог TIFF %1 містить забагато записів" #: src/error.cpp:106 msgid "Multiple TIFF array element tags %1 in one directory" msgstr "Декілька міток елемету TIFF масиву %1 у одній директорії" #: src/error.cpp:107 msgid "TIFF array element tag %1 has wrong type" msgstr "Мітка елементу TIFF масиву %1 має неправильний тип" #: src/error.cpp:108 msgid "%1 has invalid XMP value type `%2'" msgstr "%1 має неправильне значення XMP типу `%2'" #: src/exiv2.cpp:213 #, fuzzy msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "Авторське право (C) 2004-2013 Andreas Huggel.\n" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" "Ця програма - вільне програмне забезпечення; ви можете розповсюджувати його " "та/або\n" "модифікувати його керуючись Універсальною суспільною ліцензією GNU,\n" "оголошеною Фондом вільного програмного забезпечення; починаючи 2-ою версією\n" "ліцензії, або (на ваш вибір) будь-якою пізньою версією\n" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" "Ця програма поширюється з надією, що вона буде корисною,\n" "але БЕЗ БУДЬ-ЯКИХ ГАРАНТІЙ; навіть без гарантії КОРИСНОСТІ\n" "чи ПРИДАТНОСТІ ДЛЯ ПЕВНОЇ КОНКРЕТНОЇ МЕТИ. Дивіться\n" "GNU General Public License для отримання детальнішої інформації.\n" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" "Ви повинні були отримати копію Універсальної суспільної ліцензії\n" "GNU з цією програмою; якщо ні, тоді напишіть до Фонду вільного\n" "програмного забезпечення, 51 Franklin Street, П’ятий поверх,\n" "Бостон, MA 02110-1301 США\n" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "Використання:" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" "[ опції ] [ дія ] файл ...\n" "\n" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "Робота з метаданими зображень.\n" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" "\n" "Дії:\n" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" " ad | adjust Замінити відмітки часу Exif на заданий час.\n" " Цій дії потрібен ключ -a time.\n" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr " pr | print Вивести на екран метадані зображення.\n" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr " rm | delete Вилучити метадані зображень з їх файлів.\n" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" " in | insert Вставити метадані з відповідних файлів *.exv.\n" " Використовуйте ключ -S для зміни суфіксу вхідних файлів.\n" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" " ex | extract Витягти метадані у файли *.exv, *.xmp та файли ескізів.\n" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" " mv | rename змінити назви файлів та/або встановити відмітки\n" " часу у відповідності з відміткою часу створення з даних " "Exif.\n" " Формат файлу можна встановити ключем -r, параметри відмітки\n" " часу контролюються ключами -t та -T.\n" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" " mo | modify Застосувати команди зміни (додати, встановити, вилучити)\n" " метаданих Exif та IPTC зображень або встановити коментар " "JPEG.\n" " Потрібно використати у парі з ключем -c, -m або -M.\n" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" " fi | fixiso Скопіювати значення ISO з Nikon Makernote\n" " у звичайне поле Exif.\n" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" " fc | fixcom перетворити Exif коментар користувача (UNICODE) у UCS-2. " "Поточне\n" " кодування може бути вказано за допомогою опції -n.\n" #: src/exiv2.cpp:262 msgid "" "\n" "Options:\n" msgstr "" "\n" "Параметри:\n" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr " -h вивести це довідкове повідомлення і вийти.\n" #: src/exiv2.cpp:264 msgid " -V Show the program version and exit.\n" msgstr " -V Показати версію програми та вийти.\n" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr " -v Виводити детальну інформацію при виконанні дій.\n" #: src/exiv2.cpp:266 msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr "" " -q Не оголошувати попередження та повідомлення про помилки під час " "виконання програми (тихий режим).\n" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" " -Q встановити рівень інформування на d(налагодження), i(інформація), w" "(попередження), e(помилки) або m(заглушити)\n" #: src/exiv2.cpp:268 msgid " -b Show large binary values.\n" msgstr " -b Показати великі двійкові значення.\n" #: src/exiv2.cpp:269 msgid " -u Show unknown tags.\n" msgstr " -u Показ невідомих тегів.\n" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr " -g ключ - Вивід інформації лише для цього ключа (пошуком).\n" #: src/exiv2.cpp:271 #, fuzzy msgid " -K key Only output info for this key (exact match).\n" msgstr " -g ключ - Вивід інформації лише для цього ключа (пошуком).\n" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" " -n enc Кодування що використовується для декодування Юнікод Exif " "коментарів користувачів.\n" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr " -k Зберігати тимчасові відмітки файлів (keep).\n" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" " -t При дії 'rename' також виставляти час зміни файлу (скасовує опцію -" "k).\n" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" " -T При дії 'rename' лише виставляти час зміни файлу,\n" " не змінювати назву (скасовує опцію -k).\n" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr " -F Не питати підтвердження на перезапис файлів (force).\n" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr " -F Не питати підтвердження на зміну назв файлів (Force).\n" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" " -a Час Нове значення часу у форматі [-]ГГ[:ХХ[:СС]]. Ця опція\n" " використовується лише з дією 'adjust'.\n" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr " -Y рік Нове значення року для дії 'adjust'.\n" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr " -O місяць Нове значення місяця для дії 'adjust'.\n" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr " -D день Нове значення дня для дії 'adjust'.\n" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr " -p режим Print -- режим для дії 'вивід' (print). Можливі режими:\n" #: src/exiv2.cpp:285 msgid " s : print a summary of the Exif metadata (the default)\n" msgstr " s : вивести зведення метаданих Exif (типово)\n" #: src/exiv2.cpp:286 msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr "" " a : друк метаданих Exif, IPTC та XMP (скорочення для -Pkyct)\n" #: src/exiv2.cpp:287 msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr " t : інтерпретовані (перекладені) Exif дані (-PEkyct)\n" #: src/exiv2.cpp:288 msgid " v : plain Exif data values (-PExgnycv)\n" msgstr " v : незмінені значення Exif даних (-PExgnycv)\n" #: src/exiv2.cpp:289 msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr " h : 16-ричний дамп даних Exif (-PExgnycsh)\n" #: src/exiv2.cpp:290 msgid " i : IPTC data values (-PIkyct)\n" msgstr " i : значення даних IPTC (-PIkyct)\n" #: src/exiv2.cpp:291 msgid " x : XMP properties (-PXkyct)\n" msgstr " x : властивості XMP (-PXkyct)\n" #: src/exiv2.cpp:292 src/exiv2.cpp:317 msgid " c : JPEG comment\n" msgstr " c : коментар JPEG\n" #: src/exiv2.cpp:293 msgid " p : list available previews\n" msgstr " p : вивести список доступних попередніх переглядів\n" #: src/exiv2.cpp:294 #, fuzzy msgid " S : print structure of image\n" msgstr " v : звичайне значення даних\n" #: src/exiv2.cpp:295 #, fuzzy msgid " X : extract XMP from image\n" msgstr " X : властивості XMP\n" #: src/exiv2.cpp:296 msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" " -P flgs: друк прапорців для кращого контролю списку тегів ('print' " "action)\n" #: src/exiv2.cpp:297 msgid " E : include Exif tags in the list\n" msgstr " E : включити у список теги Exif\n" #: src/exiv2.cpp:298 msgid " I : IPTC datasets\n" msgstr " I : набори даних IPTC\n" #: src/exiv2.cpp:299 msgid " X : XMP properties\n" msgstr " X : властивості XMP\n" #: src/exiv2.cpp:300 msgid " x : print a column with the tag number\n" msgstr " x : друк колонки з номером тегу\n" #: src/exiv2.cpp:301 msgid " g : group name\n" msgstr " g : ім’я групи\n" #: src/exiv2.cpp:302 msgid " k : key\n" msgstr " k : ключ\n" #: src/exiv2.cpp:303 msgid " l : tag label\n" msgstr " l : мітка тегу\n" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr " n : ім’я тегу\n" #: src/exiv2.cpp:305 msgid " y : type\n" msgstr " y : тип\n" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr " c : кількість компонентів (count)\n" #: src/exiv2.cpp:307 msgid " s : size in bytes\n" msgstr " s : розмір у байтах\n" #: src/exiv2.cpp:308 msgid " v : plain data value\n" msgstr " v : звичайне значення даних\n" #: src/exiv2.cpp:309 msgid " t : interpreted (translated) data\n" msgstr " t : інтерпретовані (перекладені) дані\n" #: src/exiv2.cpp:310 msgid " h : hexdump of the data\n" msgstr " h : шістнадцятиричний дамп даних\n" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr " -d tgt Цілі для дії 'delete' що вилучаються. Можливі цілі:\n" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr " a : усі підтримувані метадані (типово)\n" #: src/exiv2.cpp:313 msgid " e : Exif section\n" msgstr " e : розділ Exif\n" #: src/exiv2.cpp:314 msgid " t : Exif thumbnail only\n" msgstr " t : лише Exif-ескіз\n" #: src/exiv2.cpp:315 msgid " i : IPTC data\n" msgstr " i : дані IPTC\n" #: src/exiv2.cpp:316 msgid " x : XMP packet\n" msgstr " x : пакунок XMP\n" #: src/exiv2.cpp:318 msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" " -i tgt Цілі для дії що вставляються 'insert'. Можливі цілі\n" " ті самі що й для ключа -d плюс модифікатор:\n" " X : Вставити метадані з супутнього файлу XMP <файл>.xmp\n" " Можна вставляти лише ескізи у форматі JPEG, й їх ім’я повинно мати " "вигляд\n" " -thumb.jpg\n" #: src/exiv2.cpp:323 msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" " -e tgt Витягнути ціл(ь/і) для команди 'extract'. Можливі цілі\n" " такі ж як і для параметра -d, плюс ціль для витягування\n" " попередній перегляд зображень і зміна для створення файлу XMP " "sidecar:\n" " p[[, ...]] : Витягнути попередні зображення.\n" " X: Витягнути метадані для файлу XMP sidecar .xmp\n" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" " -r fmt Формат імені файлу для дії 'rename'. Рядок формату\n" " слідує правилам з strftime(3). Підтримуються наступні ключові " "слова:\n" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr " :basename: - оригінальне ім’я файлу без розширення\n" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr " :dirname: - ім’я каталогу, що містить оригінальний файл\n" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr " :parentname: - ім’я батьківського каталогу\n" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr " Типовим форматом файлів є " #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr " -c txt JPEG рядок коментаря для вставки у зображення\n" #: src/exiv2.cpp:336 msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" " m file Керуючий файл для дії modify. Формат команд:\n" " set|add|del <ключ> [[<тип>] <значення>].\n" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" " -M cmd Керуючий рядок для дії modify. Формат\n" " команд такий самий як для рядків керуючого файлу.\n" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" " -l каталог Розташування (каталог) файлів що вставляються або " "витягуються.\n" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" " -S .suf Використовувати суфікс .suf для оригінальних файлів з командою " "insert.\n" "\n" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 msgid "Option" msgstr "Параметр" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "вимагає аргумент\n" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "Нерозпізнаний параметр" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "виклик getopt повернув несподіваний код символу" #: src/exiv2.cpp:410 msgid "Invalid argument" msgstr "Неправильний аргумент" #: src/exiv2.cpp:434 #, fuzzy msgid "Invalid regexp" msgstr "Неправильний аргумент" #: src/exiv2.cpp:473 src/exiv2.cpp:526 msgid "Ignoring surplus option" msgstr "Надлишкові опції проігноровано" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "несумісний з попереднім параметром\n" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "Ігнорується надлишкова опція -a" #: src/exiv2.cpp:504 msgid "Error parsing -a option argument" msgstr "Помилка при розборі аргументу опції -a" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "Параметр -a несумісний з попереднім параметром\n" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "Помилка обробки" #: src/exiv2.cpp:535 msgid "option argument" msgstr "аргумент опції" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "Нерозпізнаний режим друку" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "Ігнорується надлишкова опція -p" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "Параметр -p несумісний з попереднім параметром\n" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "Нерозпізнаний об’єкт друку" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "Ігнорується надлишкова опція -P" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "Параметр -P несумісний з попереднім параметром\n" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "Параметр -d несумісний з попереднім параметром\n" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "Параметр -e несумісний з попереднім параметром\n" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "Параметр -i несумісний з попереднім параметром\n" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "Дія adjust несумісна з заданими опціями\n" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "Дія друку несумісна з заданими параметрами\n" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "Дія вилучення несумісна з заданими параметрами\n" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "Дія витягування несумісна з заданими параметрами\n" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "Дія вставки несумісна з заданими параметрами\n" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "Дія зміни назви несумісна з заданими параметрами\n" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "Дія зміни несумісна з заданими параметрами\n" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "Дія fixiso несумісна з заданими параметрами\n" #: src/exiv2.cpp:824 msgid "Action fixcom is not compatible with the given options\n" msgstr "Дія fixcom несумісна з заданими параметрами\n" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "Має бути вказана дія\n" #: src/exiv2.cpp:904 msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "Для дії adjust потрібна як мінімум одна з опцій -a, -Y, -O або -D\n" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "Для дії modify потрібна як мінімум одна з опцій -c, -m або -M\n" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "Потрібно вказати хоча б один файл\n" #: src/exiv2.cpp:920 msgid "Error parsing -m option arguments\n" msgstr "Помилка при розборі аргументів опції -m\n" #: src/exiv2.cpp:927 msgid "Error parsing -M option arguments\n" msgstr "Помилка при розборі аргументів опції -M\n" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "" "Параметр -l може використовуватися лише з діями витягування та вставки\n" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "Параметр -S може використовуватися лише з дією вставки\n" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "Параметр -t може використовуватися лише з дією зміни назви\n" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "Параметр -t може використовуватися лише з дією зміни назви\n" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "Нерозпізнано " #: src/exiv2.cpp:1039 msgid "target" msgstr "ціль" #: src/exiv2.cpp:1065 msgid "Invalid preview number" msgstr "Неправильний номер попереднього перегляду" #: src/exiv2.cpp:1097 msgid "Failed to open command file for reading\n" msgstr "Не вдалося відкрити керуючий файл для читання\n" #: src/exiv2.cpp:1110 msgid "line" msgstr "рядок" #: src/exiv2.cpp:1133 msgid "-M option" msgstr "-M параметр" #: src/exiv2.cpp:1180 #, fuzzy msgid "Invalid command line:" msgstr "Некоректний командний рядок" #: src/exiv2.cpp:1187 msgid "Invalid command" msgstr "Некоректна команда" #: src/exiv2.cpp:1219 msgid "Invalid key" msgstr "Некоректний ключ" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "Некоректний командний рядок" #: src/fujimn.cpp:62 msgid "Soft mode 1" msgstr "М'який режим 1" #: src/fujimn.cpp:63 msgid "Soft mode 2" msgstr "М'який режим 2" #: src/fujimn.cpp:65 msgid "Hard mode 1" msgstr "Жорсткий режим 1" #: src/fujimn.cpp:66 msgid "Hard mode 2" msgstr "Жорсткий режим 2" #: src/fujimn.cpp:74 msgid "Fluorescent (daylight)" msgstr "Флуоресцентна лампа (денне світло)" #: src/fujimn.cpp:75 msgid "Fluorescent (warm white)" msgstr "Флуоресцентна лампа (тепле біле)" #: src/fujimn.cpp:76 msgid "Fluorescent (cool white)" msgstr "Флуоресцентна лампа (прохолодне біле)" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 msgid "Incandescent" msgstr "Лампа накалювання" #: src/fujimn.cpp:87 src/fujimn.cpp:88 msgid "None (black & white)" msgstr "Немає (чорно-біле)" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 msgid "Red-eye reduction" msgstr "Коригування ефекту «Червоних очей»" #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 msgid "Night scene" msgstr "Нічне освітлення" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 msgid "Program AE" msgstr "Програмне автоекспонування" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "Натуральне світло" #: src/fujimn.cpp:122 msgid "Anti-blur" msgstr "Антирозмивання" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 msgid "Sunset" msgstr "Захід" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 msgid "Museum" msgstr "Музей" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 msgid "Party" msgstr "Вечірка" #: src/fujimn.cpp:126 msgid "Flower" msgstr "Квітка" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "Текст" #: src/fujimn.cpp:128 msgid "Natural light & flash" msgstr "Натуральне світло & спалах" #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 msgid "Aperture-priority AE" msgstr "Пріоритет-діафрагми AE" #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 msgid "Shutter speed priority AE" msgstr "Пріоритет витримки швидкість AE" #: src/fujimn.cpp:142 msgid "No flash & flash" msgstr "Без спалаху і спалах" #: src/fujimn.cpp:148 msgid "Chrome" msgstr "Хромування" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 msgid "Wide" msgstr "Широкий" #: src/fujimn.cpp:160 msgid "F0/Standard" msgstr "F0/Стандартний" #: src/fujimn.cpp:161 msgid "F1/Studio portrait" msgstr "F1/Студійний портрет" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "F2/Fujichrome" #: src/fujimn.cpp:163 msgid "F3/Studio portrait Ex" msgstr "F3/Розширений студійний портрет" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "F4/Velvia" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "Авто (100-400%)" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "Без обробки" #: src/fujimn.cpp:171 msgid "Standard (100%)" msgstr "Стандартний (100%)" #: src/fujimn.cpp:172 msgid "Wide mode 1 (230%)" msgstr "Широкоекранний режим 1 (230%)" #: src/fujimn.cpp:173 msgid "Wide mode 2 (400%)" msgstr "Широкоекранний режим 2 (400%)" #: src/fujimn.cpp:174 msgid "Film simulation mode" msgstr "Режим імітації плівки" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 msgid "Version" msgstr "Версія" #: src/fujimn.cpp:180 msgid "Fujifilm Makernote version" msgstr "Версія Fujifilm Makernote" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" "Це унікальный номер, що містить дату вробництва, але не той самий, що " "вказано на корпусі камери." #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 msgid "Image quality setting" msgstr "Налаштування якості зображення" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 msgid "Color" msgstr "Колір" #: src/fujimn.cpp:196 msgid "Chroma saturation setting" msgstr "Налаштування насиченості кольорів" #: src/fujimn.cpp:198 msgid "Tone" msgstr "Тон" #: src/fujimn.cpp:202 msgid "Flash firing mode setting" msgstr "Налаштування режиму спалаху" #: src/fujimn.cpp:204 msgid "Flash Strength" msgstr "потужність спалаху" #: src/fujimn.cpp:205 msgid "Flash firing strength compensation setting" msgstr "Налаштування компенсації спрацьовування спалаху" #: src/fujimn.cpp:208 msgid "Macro mode setting" msgstr "Налаштування режиму Макро" #: src/fujimn.cpp:211 msgid "Focusing mode setting" msgstr "Налаштування режиму фокусування" #: src/fujimn.cpp:216 msgid "Slow Sync" msgstr "Уповільнена синхр." #: src/fujimn.cpp:217 msgid "Slow synchro mode setting" msgstr "Повільна синхронізація налаштувань режиму" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 msgid "Picture Mode" msgstr "Режим зображення" #: src/fujimn.cpp:220 msgid "Picture mode setting" msgstr "Налаштування режиму зображення" #: src/fujimn.cpp:226 msgid "Continuous shooting or auto bracketing setting" msgstr "Безперервна зйомка або налаштування автоматичного брекетингу" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 msgid "Sequence Number" msgstr "Число з послідовності" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 msgid "Sequence number" msgstr "Число з послідовності" #: src/fujimn.cpp:234 msgid "FinePix Color" msgstr "Колір FinePix" #: src/fujimn.cpp:235 msgid "Fuji FinePix color setting" msgstr "Налаштування кольору Fuji FinePix" #: src/fujimn.cpp:237 msgid "Blur Warning" msgstr "Попередження щодо розмитості" #: src/fujimn.cpp:238 msgid "Blur warning status" msgstr "Статус попередження про розмиття" #: src/fujimn.cpp:240 msgid "Focus Warning" msgstr "Попередження про фокус" #: src/fujimn.cpp:241 msgid "Auto Focus warning status" msgstr "Статус попередження про автофокус" #: src/fujimn.cpp:243 msgid "Exposure Warning" msgstr "Попередження про витримку" #: src/fujimn.cpp:244 msgid "Auto exposure warning status" msgstr "Статус попередження про автоматичну витримку" #: src/fujimn.cpp:246 msgid "Dynamic Range" msgstr "Динамічний діапазон" #: src/fujimn.cpp:247 msgid "Dynamic range" msgstr "Динамічний діапазон" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 msgid "Film Mode" msgstr "Режим фільму" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 msgid "Film mode" msgstr "Режим фільму" #: src/fujimn.cpp:252 msgid "Dynamic Range Setting" msgstr "Параметр динамічного діапазону" #: src/fujimn.cpp:253 msgid "Dynamic range settings" msgstr "Параметри динамічного діапазону" #: src/fujimn.cpp:255 msgid "Development Dynamic Range" msgstr "Динамічні Межі Розробки" #: src/fujimn.cpp:256 msgid "Development dynamic range" msgstr "Динамічні межі розробки" #: src/fujimn.cpp:258 msgid "Minimum Focal Length" msgstr "Мінімальна фокусна відстань" #: src/fujimn.cpp:259 msgid "Minimum focal length" msgstr "Мінімальна фокусна відстань" #: src/fujimn.cpp:261 msgid "Maximum Focal Length" msgstr "Максимальна фокусна відстань" #: src/fujimn.cpp:262 msgid "Maximum focal length" msgstr "Максимальна фокусна відстань" #: src/fujimn.cpp:264 #, fuzzy msgid "Maximum Aperture at Minimum Focal" msgstr "Максимальна діафрагма при мінімальному фокусі" #: src/fujimn.cpp:265 #, fuzzy msgid "Maximum aperture at minimum focal" msgstr "Максимальна діафрагма при мінімальному фокусі" #: src/fujimn.cpp:267 #, fuzzy msgid "Maximum Aperture at Maximum Focal" msgstr "Максимальна діафрагма при максимальному фокусі" #: src/fujimn.cpp:268 #, fuzzy msgid "Maximum aperture at maximum focal" msgstr "Максимальна діафрагма при максимальному фокусі" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 msgid "File Source" msgstr "Файлове джерело" #: src/fujimn.cpp:271 msgid "File source" msgstr "Файлове джерело" #: src/fujimn.cpp:273 msgid "Order Number" msgstr "Номер замовлення" #: src/fujimn.cpp:274 msgid "Order number" msgstr "Номер замовлення" #: src/fujimn.cpp:276 msgid "Frame Number" msgstr "Кількість кадрів" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 msgid "Frame number" msgstr "Кількість кадрів" #: src/fujimn.cpp:281 msgid "Unknown FujiMakerNote tag" msgstr "Невідомий тег FujiMakerNote" #: src/minoltamn.cpp:56 msgid "Natural Color" msgstr "Натуральний колір" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 msgid "Vivid Color" msgstr "Яскравий колір" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 msgid "Solarization" msgstr "Вигорання" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "AdobeRGB" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 msgid "Natural" msgstr "Природній" #: src/minoltamn.cpp:64 msgid "Natural sRGB" msgstr "Натуральний sRGB" #: src/minoltamn.cpp:65 msgid "Natural+ sRGB" msgstr "Натуральний+ sRGB" #: src/minoltamn.cpp:67 msgid "Evening" msgstr "Вечір" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 msgid "Night Portrait" msgstr "Нічний портрет" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 msgid "Super Fine" msgstr "Дуже добре" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 msgid "Extra Fine" msgstr "Висока якість" #: src/minoltamn.cpp:90 msgid "Makernote Version" msgstr "Версія Makernote" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "Рядок 'MLT0' (не нуль-термінований)" #: src/minoltamn.cpp:93 msgid "Camera Settings (Std Old)" msgstr "Налаштування камери (Std Old)" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "" "Стандартні параметри камери (Застарілі моделі камер D5, D7, S304 та S404)" #: src/minoltamn.cpp:96 msgid "Camera Settings (Std New)" msgstr "Налаштування камери (Std New)" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "Стандартні параметри камери (Нові моделі камер D7u, D7i та D7hi)" #: src/minoltamn.cpp:99 msgid "Camera Settings (7D)" msgstr "Налаштування камери (7D)" #: src/minoltamn.cpp:100 msgid "Camera Settings (for Dynax 7D model)" msgstr "Налаштування камери (для моделі Dynax 7D)" #: src/minoltamn.cpp:102 msgid "Image Stabilization Data" msgstr "Дані стабілізації зображення" #: src/minoltamn.cpp:103 msgid "Image stabilization data" msgstr "Дані стабілізації зображення" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "Відомості про баланс білого для A100" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "Відомості про баланс білого для Sony DSLR-A100" #: src/minoltamn.cpp:111 msgid "Compressed Image Size" msgstr "Стиснений розмір зображення" #: src/minoltamn.cpp:112 msgid "Compressed image size" msgstr "Стиснений розмір зображення" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "Ескіз Jpeg 640x480 пікселів" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 #, fuzzy msgid "Thumbnail Offset" msgstr "Мініатюри" #: src/minoltamn.cpp:118 #, fuzzy msgid "Offset of the thumbnail" msgstr "Розмір ескізу" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 msgid "Thumbnail Length" msgstr "Довжина ескізу" #: src/minoltamn.cpp:121 msgid "Size of the thumbnail" msgstr "Розмір ескізу" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 msgid "Scene Mode" msgstr "Режим сцени" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 msgid "Color Mode" msgstr "Режим кольорів" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 msgid "Color mode" msgstr "Режим кольорів" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 msgid "Image Quality" msgstr "Якість зображення" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "0x0103" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 msgid "Flash Exposure Compensation" msgstr "Компенсація витримки спалаху" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 msgid "Flash exposure compensation in EV" msgstr "Експокомпенсація спалаху у EV" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 msgid "Teleconverter Model" msgstr "Модель телеконвертора" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "Запис RAW+JPG" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "Запис RAW та JPG-файлів" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 msgid "Zone Matching" msgstr "Узгодження Зони" #: src/minoltamn.cpp:154 msgid "Zone matching" msgstr "Узгодження зони" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 msgid "Color temperature" msgstr "Кольорова температура" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 msgid "Lens ID" msgstr "Ідентифікатор об'єктива" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 msgid "Lens identifier" msgstr "Ідентифікатор об’єктиву" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 msgid "Color Compensation Filter" msgstr "Фільтр компенсації кольору" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "" "Фільтр Компенсації Кольору: від’ємні значення - зелений, плюсові - малиновий" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 msgid "White Balance Fine Tune" msgstr "Точне налаштування балансу білого" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 msgid "White Balance Fine Tune Value" msgstr "Значення точного налаштування балансу білого" #: src/minoltamn.cpp:168 msgid "Image Stabilization A100" msgstr "Стабілізація зображення A100" #: src/minoltamn.cpp:169 msgid "Image Stabilization for the Sony DSLR-A100" msgstr "Стабілізація зображення для Sony DSLR-A100" #: src/minoltamn.cpp:173 msgid "Camera Settings (5D)" msgstr "Налаштування камери (5D)" #: src/minoltamn.cpp:174 msgid "Camera Settings (for Dynax 5D model)" msgstr "Налаштування камери (для моделі Dynax 5D)" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "Print IM" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 msgid "PrintIM information" msgstr "Відомості PrintIM" #: src/minoltamn.cpp:183 msgid "Camera Settings (Z1)" msgstr "Налаштування камери (Z1)" #: src/minoltamn.cpp:184 msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "Налаштування камери (для моделей Z1, DImage X та F100)" #: src/minoltamn.cpp:188 msgid "Unknown Minolta MakerNote tag" msgstr "Невідомий тег Minolta MakerNote" #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 msgid "Aperture priority" msgstr "Пріоритет діафрагми" #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "Пріоритет затвору" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 msgid "Fill flash" msgstr "Спалах" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 msgid "Rear flash sync" msgstr "Синхронізація по задній шторці" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 msgid "Wireless" msgstr "Бездротовий" #: src/minoltamn.cpp:224 msgid "Fluorescent 2" msgstr "Флуоресцентна лампа 2" #: src/minoltamn.cpp:231 msgid "Full size" msgstr "Повний розмір" #: src/minoltamn.cpp:243 msgid "Super fine" msgstr "Супер чудовий" #: src/minoltamn.cpp:247 msgid "Extra fine" msgstr "Екстра чудовий" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 msgid "Single Frame" msgstr "Окремий кадр" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 msgid "Self-timer" msgstr "Автоспуск" #: src/minoltamn.cpp:255 msgid "Bracketing" msgstr "Автовилка" #: src/minoltamn.cpp:256 msgid "Interval" msgstr "Інтервал" #: src/minoltamn.cpp:257 msgid "UHS continuous" msgstr "Безперервний UHS (Дуже Велика Швидкість)" #: src/minoltamn.cpp:258 msgid "HS continuous" msgstr "Безперервний HS (Велика Швидкість)" #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 msgid "Multi-segment" msgstr "Мульти-сегмент" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 msgid "Center weighted average" msgstr "Середній відносно центру" #: src/minoltamn.cpp:271 msgid "Electronic magnification" msgstr "Електронне збільшення" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 msgid "Top" msgstr "Верхнє" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 msgid "Top-right" msgstr "Вгорі праворуч" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 msgid "Bottom-right" msgstr "Внизу праворуч" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 msgid "Bottom" msgstr "Нижнє" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 msgid "Bottom-left" msgstr "Внизу ліворуч" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 msgid "Top-left" msgstr "Вгорі ліворуч" #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 msgid "Hard" msgstr "Жорсткий" #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 msgid "Soft" msgstr "М’який" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 msgid "Night portrait" msgstr "Нічний портрет" #: src/minoltamn.cpp:315 msgid "Sports action" msgstr "Спортивні дії" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "Покадровий фільм" #: src/minoltamn.cpp:349 msgid "Standard form" msgstr "Стандартна форма" #: src/minoltamn.cpp:350 msgid "Data form" msgstr "Форма даних" #: src/minoltamn.cpp:355 msgid "Natural color" msgstr "Натуральний колір" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 msgid "Black and white" msgstr "Чорно-біле" #: src/minoltamn.cpp:357 msgid "Vivid color" msgstr "Яскравий колір" #: src/minoltamn.cpp:364 msgid "No zone" msgstr "Немає зони" #: src/minoltamn.cpp:365 msgid "Center zone (horizontal orientation)" msgstr "Центр зони (горизонтальна орієнтація)" #: src/minoltamn.cpp:366 msgid "Center zone (vertical orientation)" msgstr "Центр зони (вертикальна орієнтація)" #: src/minoltamn.cpp:367 msgid "Left zone" msgstr "Ліва зона" #: src/minoltamn.cpp:368 msgid "Right zone" msgstr "Права зона" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 msgid "Auto focus" msgstr "Автоматичне фокусування" #: src/minoltamn.cpp:379 msgid "Wide focus (normal)" msgstr "Широкий фокус (нормальний)" #: src/minoltamn.cpp:380 msgid "Spot focus" msgstr "Фокусування за плямами" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 msgid "Exposure" msgstr "Експозиція" #: src/minoltamn.cpp:388 msgid "Filter" msgstr "Фільтр" #: src/minoltamn.cpp:393 msgid "Not embedded" msgstr "Не вбудований" #: src/minoltamn.cpp:394 msgid "Embedded" msgstr "Вбудований" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "Текст + ID#" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "ADI (Система виміру світла спалаху)" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "Попередній спалах TTL" #: src/minoltamn.cpp:410 msgid "Manual flash control" msgstr "Ручне керування спалахом" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 msgid "Exposure Mode" msgstr "Режим експозиції" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 msgid "Flash mode" msgstr "Режим спалаху" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 msgid "Drive mode" msgstr "Режим мотора" #: src/minoltamn.cpp:512 msgid "ISO Value" msgstr "Значення ISO" #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 msgid "Exposure Time" msgstr "Час експозиції" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 msgid "FNumber" msgstr "Число F" #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 msgid "The F-Number" msgstr "Діафрагмове число" #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 msgid "Macro Mode" msgstr "Макрорежим" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 msgid "Exposure Compensation" msgstr "Компенсація експозиції" #: src/minoltamn.cpp:529 msgid "Bracket Step" msgstr "Крок брекетингу" #: src/minoltamn.cpp:530 msgid "Bracket step" msgstr "Крок брекетингу" #: src/minoltamn.cpp:532 msgid "Interval Length" msgstr "Довжина інтервалу" #: src/minoltamn.cpp:533 msgid "Interval length" msgstr "Довжина інтервалу" #: src/minoltamn.cpp:535 msgid "Interval Number" msgstr "Кількість інтервалів" #: src/minoltamn.cpp:536 msgid "Interval number" msgstr "Кількість інтервалів" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 msgid "Focus Distance" msgstr "Фокусна відстань" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 msgid "Focus distance" msgstr "Фокусна відстань" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 msgid "Flash Fired" msgstr "Спалах" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 msgid "Flash fired" msgstr "Спалах спрацював" #: src/minoltamn.cpp:547 msgid "Minolta Date" msgstr "Дата Minolta" #: src/minoltamn.cpp:548 msgid "Minolta date" msgstr "Дата Minolta" #: src/minoltamn.cpp:550 msgid "Minolta Time" msgstr "Час Minolta" #: src/minoltamn.cpp:551 msgid "Minolta time" msgstr "Час Minolta" #: src/minoltamn.cpp:556 #, fuzzy msgid "File Number Memory" msgstr "Номер файла" #: src/minoltamn.cpp:557 #, fuzzy msgid "File number memory" msgstr "Номер файла" #: src/minoltamn.cpp:559 msgid "Last Image Number" msgstr "Номер останнього зображення" #: src/minoltamn.cpp:560 msgid "Last image number" msgstr "Номер останнього зображення" #: src/minoltamn.cpp:562 msgid "Color Balance Red" msgstr "Колірний баланс червоного" #: src/minoltamn.cpp:563 msgid "Color balance red" msgstr "Колірний баланс червоного" #: src/minoltamn.cpp:565 msgid "Color Balance Green" msgstr "Колірний баланс зеленого" #: src/minoltamn.cpp:566 msgid "Color balance green" msgstr "Колірний баланс зеленого" #: src/minoltamn.cpp:568 msgid "Color Balance Blue" msgstr "Колірний баланс синього" #: src/minoltamn.cpp:569 msgid "Color balance blue" msgstr "Колірний баланс синього" #: src/minoltamn.cpp:580 msgid "Subject Program" msgstr "Предмет Програми" #: src/minoltamn.cpp:581 msgid "Subject program" msgstr "Предмет програми" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 msgid "ISO Settings" msgstr "Параметри IS0" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 msgid "ISO setting" msgstr "Параметр ISO" #: src/minoltamn.cpp:589 msgid "Minolta Model" msgstr "Модель Minolta" #: src/minoltamn.cpp:590 msgid "Minolta model" msgstr "Модель Minolta" #: src/minoltamn.cpp:592 msgid "Interval Mode" msgstr "Режим інтервалу" #: src/minoltamn.cpp:593 msgid "Interval mode" msgstr "Режим інтервалу" #: src/minoltamn.cpp:595 msgid "Folder Name" msgstr "Назва теки" #: src/minoltamn.cpp:596 msgid "Folder name" msgstr "Назва теки" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 msgid "ColorMode" msgstr "Режим кольору" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 msgid "Color Filter" msgstr "Фільтр кольорів" #: src/minoltamn.cpp:602 msgid "Color filter" msgstr "Фільтр кольорів" #: src/minoltamn.cpp:604 msgid "Black and White Filter" msgstr "Чорно-білий фільтр" #: src/minoltamn.cpp:605 msgid "Black and white filter" msgstr "Чорно-білий фільтр" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 msgid "Internal Flash" msgstr "Вбудований спалах" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 msgid "Brightness" msgstr "Яскравість" #: src/minoltamn.cpp:613 #, fuzzy msgid "Spot Focus Point X" msgstr "Фокусування за плямами" #: src/minoltamn.cpp:614 #, fuzzy msgid "Spot focus point X" msgstr "Фокусування за плямами" #: src/minoltamn.cpp:616 #, fuzzy msgid "Spot Focus Point Y" msgstr "Фокусування за плямами" #: src/minoltamn.cpp:617 #, fuzzy msgid "Spot focus point Y" msgstr "Фокусування за плямами" #: src/minoltamn.cpp:619 msgid "Wide Focus Zone" msgstr "Ширина Зони Фокусу" #: src/minoltamn.cpp:620 msgid "Wide focus zone" msgstr "Ширина зони фокусу" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 msgid "Focus mode" msgstr "Режим фокусу" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 msgid "Focus area" msgstr "Зона фокусування" #: src/minoltamn.cpp:628 #, fuzzy msgid "DEC Switch Position" msgstr "Позиція автофокусу" #: src/minoltamn.cpp:629 #, fuzzy msgid "DEC switch position" msgstr "Позиція фокусування" #: src/minoltamn.cpp:631 msgid "Color Profile" msgstr "Профіль кольорів" #: src/minoltamn.cpp:632 msgid "Color profile" msgstr "Профіль кольорів" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 #, fuzzy msgid "Data Imprint" msgstr "Дамп даних" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 #, fuzzy msgid "Flash Metering" msgstr "Параметри спалаху" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 #, fuzzy msgid "Flash metering" msgstr "Параметри спалаху" #: src/minoltamn.cpp:642 msgid "Unknown Minolta Camera Settings tag" msgstr "Невідомий тег налаштувань камери Minolta" #: src/minoltamn.cpp:660 #, fuzzy msgid "Program-shift A" msgstr "Програмне автоекспонування" #: src/minoltamn.cpp:661 #, fuzzy msgid "Program-shift S" msgstr "Програмне автоекспонування" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 msgid "Raw+Jpeg" msgstr "Raw+Jpeg" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 msgid "Kelvin" msgstr "Кельвін" #: src/minoltamn.cpp:695 msgid "Single-shot AF" msgstr "Покадрова АФ" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 msgid "Continuous AF" msgstr "Безперервна АФ" #: src/minoltamn.cpp:698 msgid "Automatic AF" msgstr "Автоматична АФ" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 msgid "sRGB (Natural)" msgstr "sRGB (Натуральний)" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 msgid "sRGB (Natural+)" msgstr "sRGB (Натуральний+)" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 msgid "Horizontal (normal)" msgstr "Горизонтально (норма)" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "Обернути на 90° за г. стр." #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "Обернути на 270° за г. стр." #: src/minoltamn.cpp:756 msgid "AF Points" msgstr "Точки АФ" #: src/minoltamn.cpp:757 msgid "AF points" msgstr "Точки АФ" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 msgid "Color Space" msgstr "Простір кольорів" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 msgid "Color space" msgstr "Простір кольорів" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 msgid "Free Memory Card Images" msgstr "" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 msgid "Free memory card images" msgstr "" #: src/minoltamn.cpp:789 msgid "Hue" msgstr "Відтінок" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 msgid "Rotation" msgstr "Обертання" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 msgid "Image Number" msgstr "Номер зображення" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 msgid "Noise reduction" msgstr "Зменшення шуму" #: src/minoltamn.cpp:817 msgid "Zone Matching On" msgstr "Узгодження ділянок Увімк" #: src/minoltamn.cpp:818 msgid "Zone matching on" msgstr "Узгодження ділянок увімк" #: src/minoltamn.cpp:822 msgid "Unknown Minolta Camera Settings 7D tag" msgstr "Невідомий тег налаштувань камери Minolta 7D" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 #, fuzzy msgid "Program Shift A" msgstr "Програмне автоекспонування" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 #, fuzzy msgid "Program Shift S" msgstr "Програмне автоекспонування" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 msgid "Night View/Portrait" msgstr "Нічна зйомка/Портрет" #: src/minoltamn.cpp:895 msgid "200 (Zone Matching High)" msgstr "200 (Високе Узгодження Ділянок)" #: src/minoltamn.cpp:896 msgid "80 (Zone Matching Low)" msgstr "80 (Низьке Узгодження Ділянок)" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 msgid "Adobe RGB (ICC)" msgstr "Adobe RGB (ICC)" #: src/minoltamn.cpp:918 msgid "Central" msgstr "У центрі" #: src/minoltamn.cpp:919 msgid "Up" msgstr "Вгору" #: src/minoltamn.cpp:920 msgid "Up right" msgstr "Вгорі праворуч" #: src/minoltamn.cpp:922 msgid "Down right" msgstr "Знизу праворуч" #: src/minoltamn.cpp:923 msgid "Down" msgstr "Вниз" #: src/minoltamn.cpp:924 msgid "Down left" msgstr "Знизу ліворуч" #: src/minoltamn.cpp:926 msgid "Up left" msgstr "Вгорі ліворуч" #: src/minoltamn.cpp:932 msgid "Selection" msgstr "Вибрані" #: src/minoltamn.cpp:947 msgid "Natural+" msgstr "Природній+" #: src/minoltamn.cpp:949 msgid "Wind Scene" msgstr "Вітер сцена" #: src/minoltamn.cpp:950 msgid "Evening Scene" msgstr "Вечір сцена" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus Position" msgstr "Позиція фокусування" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus position" msgstr "Позиція фокусування" #: src/minoltamn.cpp:1003 msgid "Focus Area" msgstr "Ділянка фокусування" #: src/minoltamn.cpp:1036 #, fuzzy msgid "Exposure Revision" msgstr "Компенсація експозиції" #: src/minoltamn.cpp:1037 #, fuzzy msgid "Exposure revision" msgstr "Компенсація експозиції" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 msgid "Rotation2" msgstr "Обертання2" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 msgid "Picture Finish" msgstr "Кінець картинки" #: src/minoltamn.cpp:1063 msgid "Exposure Manual Bias" msgstr "Ручна компенсація витримки" #: src/minoltamn.cpp:1064 msgid "Exposure manual bias" msgstr "Ручна компенсація витримки" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 msgid "AF Mode" msgstr "Режим АФ" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 msgid "AF mode" msgstr "Режим АФ" #: src/minoltamn.cpp:1087 msgid "Unknown Minolta Camera Settings 5D tag" msgstr "Невідомий тег налаштувань камери Minolta 5D" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 msgid "Self-timer 10 sec" msgstr "Автоспуск 10 сек" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 msgid "Self-timer 2 sec" msgstr "Автоспуск 2 сек" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 msgid "White Balance Bracketing Low" msgstr "Низький брекетинг балансу білого" #: src/minoltamn.cpp:1105 msgid "White Balance Bracketing High" msgstr "Високий брекетинг балансу білого" #: src/minoltamn.cpp:1106 #, fuzzy msgid "Single-frame Bracketing Low" msgstr "Покадровий брекетинг" #: src/minoltamn.cpp:1107 #, fuzzy msgid "Continuous Bracketing Low" msgstr "Безперервний брекетинг" #: src/minoltamn.cpp:1108 #, fuzzy msgid "Single-frame Bracketing High" msgstr "Покадровий брекетинг" #: src/minoltamn.cpp:1109 #, fuzzy msgid "Continuous Bracketing High" msgstr "Безперервний брекетинг" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "Додатково" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 msgid "Continuous Bracketing" msgstr "Безперервний брекетинг" #: src/minoltamn.cpp:1156 msgid "Single-Frame Bracketing" msgstr "Покадровий брекетинг" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 msgid "White Balance Bracketing" msgstr "Брекетинг балансу білого" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 msgid "Preset" msgstr "Шаблон" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 msgid "Color Temperature/Color Filter" msgstr "Колірна температура / Колірний фільтр" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 msgid "Temperature" msgstr "Температура" #: src/minoltamn.cpp:1213 msgid "Setup" msgstr "Встановити" #: src/minoltamn.cpp:1214 msgid "Recall" msgstr "" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "Гаразд" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "Помилка" #: src/minoltamn.cpp:1232 msgid "Image and Information" msgstr "Зображення та інформація" #: src/minoltamn.cpp:1233 msgid "Image Only" msgstr "Лише зображення" #: src/minoltamn.cpp:1234 msgid "Image and Histogram" msgstr "Зображення та гістограма" #: src/minoltamn.cpp:1240 msgid "Fill Flash" msgstr "Повний спалах" #: src/minoltamn.cpp:1251 msgid "Focus Hold" msgstr "Утримування фокусу" #: src/minoltamn.cpp:1252 msgid "DOF Preview" msgstr "Попередній перегляд глибини різкості" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "Призупинити" #: src/minoltamn.cpp:1258 msgid "Toggle" msgstr "Перемкнути" #: src/minoltamn.cpp:1259 #, fuzzy msgid "Spot Hold" msgstr "Фокусування за плямами" #: src/minoltamn.cpp:1260 #, fuzzy msgid "Spot Toggle" msgstr "Перемкнути" #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 msgid "Shutter Speed" msgstr "Швидкість затвору" #: src/minoltamn.cpp:1271 msgid "Ambient and Flash" msgstr "" #: src/minoltamn.cpp:1272 #, fuzzy msgid "Ambient Only" msgstr "Лише зображення" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "0,3 секунди" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "0,6 секунд" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 msgid "Automatic" msgstr "Автоматично" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 msgid "Auto-rotate" msgstr "Автоматичний поворот" #: src/minoltamn.cpp:1291 msgid "Horizontal" msgstr "Горизонтально" #: src/minoltamn.cpp:1297 msgid "Manual Rotate" msgstr "Обертання вручну" #: src/minoltamn.cpp:1302 msgid "Within Range" msgstr "У межах" #: src/minoltamn.cpp:1303 msgid "Under/Over Range" msgstr "" #: src/minoltamn.cpp:1304 msgid "Out of Range" msgstr "Значення поза діапазоном" #: src/minoltamn.cpp:1309 msgid "Not Indicated" msgstr "Не вказано" #: src/minoltamn.cpp:1310 msgid "Under Scale" msgstr "Під шкалою" #: src/minoltamn.cpp:1311 msgid "Bottom of Scale" msgstr "Низ Шкали" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "Верх шкали" #: src/minoltamn.cpp:1330 msgid "Over Scale" msgstr "Зашкалювання" #: src/minoltamn.cpp:1335 msgid "AM" msgstr "AM" #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "MF" #: src/minoltamn.cpp:1342 msgid "Built-in" msgstr "Вбудована" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 msgid "Very Low" msgstr "Дуже низький" #: src/minoltamn.cpp:1350 msgid "Half Full" msgstr "Наполовину повний" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "Достатня потужність, що залишилася" #: src/minoltamn.cpp:1359 msgid "Exposure Compensation Setting" msgstr "Параметр компенсації експозиції" #: src/minoltamn.cpp:1360 msgid "Exposure compensation setting" msgstr "Налаштування компенсації експозиції" #: src/minoltamn.cpp:1362 msgid "High Speed Sync" msgstr "Високошвидкісна Синхронізація" #: src/minoltamn.cpp:1363 msgid "High speed sync" msgstr "Високошвидкісна синхронізація" #: src/minoltamn.cpp:1365 msgid "Manual Exposure Time" msgstr "Час Ручної Експозиції" #: src/minoltamn.cpp:1366 msgid "Manual exposure time" msgstr "Час ручної експозиції" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 #, fuzzy msgid "Manual FNumber" msgstr "Ручний фокус" #: src/minoltamn.cpp:1377 msgid "Drive Mode 2" msgstr "Режим мотора 2" #: src/minoltamn.cpp:1378 msgid "Drive mode 2" msgstr "Режим мотора 2" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 #, fuzzy msgid "AF Area Mode" msgstr "Режим області автофокусування" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 msgid "FlashMode" msgstr "Режим спалаху" #: src/minoltamn.cpp:1395 #, fuzzy msgid "Flash Exposure Comp Setting" msgstr "Компенсація витримки спалаху" #: src/minoltamn.cpp:1396 msgid "Flash exposure compensation setting" msgstr "Налаштування експокомпенсації спалаху" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 msgid "ISO Setting" msgstr "Значення ISO" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 #, fuzzy msgid "Zone Matching Mode" msgstr "Узгодження Зони" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 #, fuzzy msgid "Dynamic Range Optimizer Mode" msgstr "Оптимізатор динамічного діапазону" #: src/minoltamn.cpp:1408 #, fuzzy msgid "Dynamic range optimizer mode" msgstr "Оптимізатор динамічного діапазону" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "Налаштування пріоритету спуску затвора" #: src/minoltamn.cpp:1434 msgid "Self Timer Time" msgstr "Час автоспуску" #: src/minoltamn.cpp:1435 msgid "Self timer time" msgstr "Час автоспуску" #: src/minoltamn.cpp:1438 msgid "Continuous bracketing" msgstr "Безперервний брекетинг" #: src/minoltamn.cpp:1440 msgid "Single Frame Bracketing" msgstr "Покадровий брекетинг" #: src/minoltamn.cpp:1441 msgid "Single frame bracketing" msgstr "Покадровий брекетинг" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 msgid "White balance bracketing" msgstr "Брекетинг балансу білого" #: src/minoltamn.cpp:1446 msgid "White Balance Setting" msgstr "Параметр балансу білого" #: src/minoltamn.cpp:1449 msgid "Preset White Balance" msgstr "Профіль Балансу Білого" #: src/minoltamn.cpp:1450 msgid "Preset white balance" msgstr "Профіль балансу білого" #: src/minoltamn.cpp:1452 msgid "Color Temperature Setting" msgstr "Налаштування Температури Кольору" #: src/minoltamn.cpp:1453 msgid "Color temperature setting" msgstr "Налаштування температури кольору" #: src/minoltamn.cpp:1455 msgid "Custom WB Setting" msgstr "Налаштування балансу білого вручну" #: src/minoltamn.cpp:1456 msgid "Custom WB setting" msgstr "Налаштування балансу білого вручну" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 #, fuzzy msgid "Dynamic Range Optimizer Settings" msgstr "Оптимізатор динамічного діапазону" #: src/minoltamn.cpp:1464 msgid "Custom WB Red Level" msgstr "Налаштовуваний рівень червоного (ББ)" #: src/minoltamn.cpp:1465 msgid "Custom WB red level" msgstr "Налаштовуваний рівень червоного (ББ)" #: src/minoltamn.cpp:1467 msgid "Custom WB Green Level" msgstr "Налаштовуваний рівень зеленого (ББ)" #: src/minoltamn.cpp:1468 msgid "Custom WB green level" msgstr "Налаштовуваний рівень зеленого (ББ)" #: src/minoltamn.cpp:1470 msgid "Custom WB Blue Level" msgstr "Налаштовуваний рівень блакитного (ББ)" #: src/minoltamn.cpp:1471 msgid "CustomWB blue level" msgstr "Налаштовуваний рівень блакитного (ББ)" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 #, fuzzy msgid "Custom WB Error" msgstr "Налаштовуваний рівень червоного (ББ)" #: src/minoltamn.cpp:1477 msgid "White balance fine tune" msgstr "Точне налаштування балансу білого" #: src/minoltamn.cpp:1483 msgid "Color compensation filter" msgstr "Фільтр компенсації кольору" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 msgid "Sony Image Size" msgstr "Розмір зображення Sony" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "" #: src/minoltamn.cpp:1500 msgid "Eye Start AF" msgstr "" #: src/minoltamn.cpp:1501 #, fuzzy msgid "Eye start AF" msgstr "Однознімкове АФ" #: src/minoltamn.cpp:1503 msgid "Red Eye Reduction" msgstr "Коригування ефекту «Червоних очей»" #: src/minoltamn.cpp:1504 msgid "Red eye reduction" msgstr "Коригування ефекту «Червоних очей»" #: src/minoltamn.cpp:1506 msgid "Flash Default" msgstr "Типовий Спалах" #: src/minoltamn.cpp:1507 msgid "Flash default" msgstr "Типовий спалах" #: src/minoltamn.cpp:1509 #, fuzzy msgid "Auto Bracket Order" msgstr "Автообмеження" #: src/minoltamn.cpp:1510 #, fuzzy msgid "Auto bracket order" msgstr "Автообмеження" #: src/minoltamn.cpp:1512 msgid "Focus Hold Button" msgstr "Кнопка Втримання Фокусу" #: src/minoltamn.cpp:1513 msgid "Focus hold button" msgstr "Кнопка втримання фокусу" #: src/minoltamn.cpp:1515 msgid "AEL Button" msgstr "" #: src/minoltamn.cpp:1516 msgid "AEL button" msgstr "" #: src/minoltamn.cpp:1518 #, fuzzy msgid "Control Dial Set" msgstr "Параметр контрастності" #: src/minoltamn.cpp:1519 #, fuzzy msgid "Control dial set" msgstr "Контраст" #: src/minoltamn.cpp:1521 msgid "Exposure Compensation Mode" msgstr "Режим Компенсації Експозиції" #: src/minoltamn.cpp:1522 msgid "Exposure compensation mode" msgstr "Режим компенсації експозиції" #: src/minoltamn.cpp:1525 #, fuzzy msgid "AF assist" msgstr "AF Асистент" #: src/minoltamn.cpp:1527 #, fuzzy msgid "Card Shutter Lock" msgstr "Блокування затвора автоекспозиції" #: src/minoltamn.cpp:1528 #, fuzzy msgid "Card shutter lock" msgstr "Блокування затвора автоекспозиції" #: src/minoltamn.cpp:1530 #, fuzzy msgid "Lens Shutter Lock" msgstr "Блокування затвора автоекспозиції" #: src/minoltamn.cpp:1531 #, fuzzy msgid "Lens shutter lock" msgstr "Повільна зйомка" #: src/minoltamn.cpp:1533 msgid "AF Area Illumination" msgstr "Область освітлення АФ" #: src/minoltamn.cpp:1534 msgid "AF area illumination" msgstr "Область освітлення AF" #: src/minoltamn.cpp:1536 msgid "Monitor Display Off" msgstr "" #: src/minoltamn.cpp:1537 msgid "Monitor display off" msgstr "" #: src/minoltamn.cpp:1539 #, fuzzy msgid "Record Display" msgstr "Сумісний екран" #: src/minoltamn.cpp:1540 #, fuzzy msgid "Record display" msgstr "Сумісний екран" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "" #: src/minoltamn.cpp:1545 msgid "Exposure Indicator" msgstr "Індикатор Експозиції" #: src/minoltamn.cpp:1546 msgid "Exposure indicator" msgstr "Індикатор експозиції" #: src/minoltamn.cpp:1548 #, fuzzy msgid "AEL Exposure Indicator" msgstr "Індикатор Експозиції" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "" #: src/minoltamn.cpp:1551 #, fuzzy msgid "Exposure Bracketing Indicator Last" msgstr "Експонування «вилки»" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "" #: src/minoltamn.cpp:1557 msgid "Flash Exposure Indicator" msgstr "Індикатор Експозиції Спалаху" #: src/minoltamn.cpp:1558 msgid "Flash exposure indicator" msgstr "Індикатор експозиції спалаху" #: src/minoltamn.cpp:1560 #, fuzzy msgid "Flash Exposure Indicator Next" msgstr "Індикатор Експозиції Спалаху" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1563 #, fuzzy msgid "Flash Exposure Indicator Last" msgstr "Індикатор Експозиції Спалаху" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1569 msgid "Focus Mode Switch" msgstr "Перемикання Режиму Фокусування" #: src/minoltamn.cpp:1570 msgid "Focus mode switch" msgstr "Перемикання режиму фокусування" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 msgid "Flash Type" msgstr "Тип Спалаху" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 msgid "Flash type" msgstr "Тип спалаху" #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 msgid "AE Lock" msgstr "Блокування AE" #: src/minoltamn.cpp:1585 msgid "Color compensation filter: negative is green, positive is magenta" msgstr "" "Фільтр компенсації кольору: негативні значення — зелений, позитивні — " "пурпуровий" #: src/minoltamn.cpp:1587 src/tags.cpp:766 msgid "Battery Level" msgstr "Заряд батарей" #: src/minoltamn.cpp:1588 msgid "Battery level" msgstr "Заряд батарей" #: src/minoltamn.cpp:1592 msgid "Unknown Sony Camera Settings A100 tag" msgstr "Невідомий тег налаштувань камери Sony A100" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 msgid "Clear" msgstr "Спорожнити" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 msgid "Deep" msgstr "Глибина" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 msgid "Light" msgstr "Світлий" #: src/minoltamn.cpp:1950 msgid "Night View" msgstr "Нічне бачення" #: src/minoltamn.cpp:1951 msgid "Autumn Leaves" msgstr "Осіннє листя" #: src/minoltamn.cpp:1990 msgid "Local" msgstr "Локальний" #: src/minoltamn.cpp:2005 msgid "Top-Right" msgstr "Вгорі праворуч" #: src/minoltamn.cpp:2007 msgid "Bottom-Right" msgstr "Внизу праворуч" #: src/minoltamn.cpp:2009 msgid "Bottom-Left" msgstr "Внизу ліворуч" #: src/minoltamn.cpp:2011 msgid "Top-Left" msgstr "Вгорі ліворуч" #: src/minoltamn.cpp:2012 msgid "Far-Right" msgstr "Далеко праворуч" #: src/minoltamn.cpp:2013 msgid "Far-Left" msgstr "Далеко ліворуч" #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 #, fuzzy msgid "Advanced Auto" msgstr "Додатково" #: src/minoltamn.cpp:2028 #, fuzzy msgid "Advanced Level" msgstr "Додатковий рівень 1" #: src/minoltamn.cpp:2041 msgid "AF" msgstr "AF" #: src/minoltamn.cpp:2042 msgid "Release" msgstr "Спуск" #: src/minoltamn.cpp:2054 msgid "RAW " msgstr "RAW " #: src/minoltamn.cpp:2055 msgid "CRAW " msgstr "CRAW " #: src/minoltamn.cpp:2058 msgid "RAW+JPEG" msgstr "RAW+JPEG" #: src/minoltamn.cpp:2059 msgid "CRAW+JPEG" msgstr "CRAW+JPEG" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "Raw+Jpeg" #: src/minoltamn.cpp:2116 msgid "Compressed Raw" msgstr "Стиснений Raw" #: src/minoltamn.cpp:2117 msgid "Compressed Raw + JPEG" msgstr "Стиснений Raw + JPEG" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "Minolta AF 2x APO (D)" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "Minolta AF 2x APO II" #: src/minoltamn.cpp:2132 msgid "Minolta AF 1.4x APO (D)" msgstr "Minolta AF 1.4x APO (D)" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "Minolta AF 1.4x APO II" #: src/minoltamn.cpp:2163 msgid "ISO Setting Used" msgstr "Параметр ISO, що використовується" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 msgid "High Key" msgstr "Темне" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "Яскраве" #: src/nikonmn.cpp:80 msgid "Extra High" msgstr "Дуже високий" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 msgid "Single area" msgstr "Одиночна область" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 msgid "Dynamic area" msgstr "Динамічна область" #: src/nikonmn.cpp:88 msgid "Dynamic area, closest subject" msgstr "Динамічна область, найближчий предмет" #: src/nikonmn.cpp:89 msgid "Group dynamic" msgstr "Динаміка групи" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 #, fuzzy msgid "Single area (wide)" msgstr "Одиночна область" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 msgid "Dynamic area (wide)" msgstr "Динамічна зона (широка)" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 msgid "Upper-left" msgstr "Вгорі ліворуч" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 msgid "Upper-right" msgstr "Вгорі праворуч" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 msgid "Lower-left" msgstr "Внизу ліворуч" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 msgid "Lower-right" msgstr "Внизу праворуч" #: src/nikonmn.cpp:108 #, fuzzy msgid "Left-most" msgstr "Стрілка ліворуч" #: src/nikonmn.cpp:109 #, fuzzy msgid "Right-most" msgstr "Права" #: src/nikonmn.cpp:143 msgid "Fire, manual" msgstr "" #: src/nikonmn.cpp:144 msgid "Fire, external" msgstr "" #: src/nikonmn.cpp:145 msgid "Fire, commander mode" msgstr "" #: src/nikonmn.cpp:146 #, fuzzy msgid "Fire, TTL mode" msgstr "Режим області автофокусування" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 msgid "Delay" msgstr "Затримка" #: src/nikonmn.cpp:153 #, fuzzy msgid "PC Control" msgstr "Керування з комп’ютера" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 msgid "Exposure Bracketing" msgstr "Експонування «вилки»" #: src/nikonmn.cpp:156 msgid "Auto ISO" msgstr "Автоматично визначати ISO" #: src/nikonmn.cpp:157 #, fuzzy msgid "White-Balance Bracketing" msgstr "Брекетинг балансу білого" #: src/nikonmn.cpp:158 #, fuzzy msgid "IR Control" msgstr "ІЧ-керування" #: src/nikonmn.cpp:159 #, fuzzy msgid "D-Lighting Bracketing" msgstr "Безперервний брекетинг" #: src/nikonmn.cpp:166 msgid "PC control" msgstr "Керування з комп’ютера" #: src/nikonmn.cpp:167 msgid "Exposure bracketing" msgstr "Брекетинг експозиції" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "" #: src/nikonmn.cpp:170 msgid "IR control" msgstr "ІЧ-керування" #: src/nikonmn.cpp:176 msgid "Auto release" msgstr "Автоспуск" #: src/nikonmn.cpp:177 msgid "Manual release" msgstr "Спуск вручну" #: src/nikonmn.cpp:182 msgid "Lossy (type 1)" msgstr "З втратами (тип 1)" #: src/nikonmn.cpp:183 src/tags.cpp:251 msgid "Uncompressed" msgstr "Нестиснений" #: src/nikonmn.cpp:184 msgid "Lossless" msgstr "Без втрат" #: src/nikonmn.cpp:185 msgid "Lossy (type 2)" msgstr "З втратами (тип 2)" #: src/nikonmn.cpp:191 msgid "B & W" msgstr "Ч/Б" #: src/nikonmn.cpp:193 msgid "Trim" msgstr "Обрізати" #: src/nikonmn.cpp:194 msgid "Small picture" msgstr "Мініатюра" #: src/nikonmn.cpp:195 #, fuzzy msgid "D-Lighting" msgstr "Сценічне освітлення" #: src/nikonmn.cpp:196 msgid "Red eye" msgstr "Червоні очі" #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 #, fuzzy msgid "Cyanotype" msgstr "тип" #: src/nikonmn.cpp:198 #, fuzzy msgid "Sky light" msgstr "Денне світло" #: src/nikonmn.cpp:199 msgid "Warm tone" msgstr "Теплі тони" #: src/nikonmn.cpp:200 #, fuzzy msgid "Color custom" msgstr "Тон кольору" #: src/nikonmn.cpp:201 msgid "Image overlay" msgstr "Накладання зображень" #: src/nikonmn.cpp:207 msgid "Minimal" msgstr "Мінімальний" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 msgid "Nikon Makernote version" msgstr "Версія Nikon Makernote" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 msgid "ISO Speed" msgstr "Світлочутливість ISO" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 msgid "Sharpening" msgstr "Збільшенні різкості" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 msgid "Image sharpening setting" msgstr "Налаштування підвищення різкості" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 msgid "Focus" msgstr "Фокусування" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 msgid "Flash Setting" msgstr "Параметри спалаху" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 msgid "Flash setting" msgstr "Параметри спалаху" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 msgid "ISO Selection" msgstr "Вибір ISO" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 msgid "ISO selection" msgstr "Вибір ISO" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data Dump" msgstr "Дамп даних" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data dump" msgstr "Дамп даних" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 msgid "Image Adjustment" msgstr "Коригування зображення" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 msgid "Image adjustment setting" msgstr "Налаштування корекції зображення" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 msgid "Auxiliary lens (adapter)" msgstr "" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 msgid "Manual focus distance" msgstr "Дистанція фокусування вручну" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 msgid "Digital zoom setting" msgstr "Налаштування цифрового масштабування" #: src/nikonmn.cpp:260 msgid "AF Focus Position" msgstr "Позиція автофокусу" #: src/nikonmn.cpp:261 msgid "AF focus position information" msgstr "Відомості про позицію автофокусу" #: src/nikonmn.cpp:265 msgid "Unknown Nikon1MakerNote tag" msgstr "Невідомий тег Nikon1MakerNote" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 msgid "Continuous autofocus" msgstr "Безперервне автофокусування" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 msgid "Single autofocus" msgstr "Покадрове автофокусування" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 msgid "Not used" msgstr "Не використовується" #: src/nikonmn.cpp:371 msgid "guess" msgstr "припущення" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "VGA, базова" #: src/nikonmn.cpp:419 msgid "VGA Normal" msgstr "VGA, звичайна" #: src/nikonmn.cpp:420 msgid "VGA Fine" msgstr "VGA, якісна" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "SXGA, базова" #: src/nikonmn.cpp:422 msgid "SXGA Normal" msgstr "SXGA, звичайна" #: src/nikonmn.cpp:423 msgid "SXGA Fine" msgstr "SXGA, якісна" #: src/nikonmn.cpp:435 msgid "Bright+" msgstr "Яскравість+" #: src/nikonmn.cpp:436 msgid "Bright-" msgstr "Яскравість-" #: src/nikonmn.cpp:437 msgid "Contrast+" msgstr "Контраст+" #: src/nikonmn.cpp:438 msgid "Contrast-" msgstr "Контраст-" #: src/nikonmn.cpp:457 msgid "Speedlight" msgstr "" #: src/nikonmn.cpp:497 msgid "Unknown Nikon2MakerNote tag" msgstr "Невідомий тег Nikon2MakerNote" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 msgid "Flash Device" msgstr "Пристрій спалаху" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 msgid "Flash device" msgstr "Пристрій спалаху" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 #, fuzzy msgid "White Balance Bias" msgstr "Баланс білого 2" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 #, fuzzy msgid "White balance bias" msgstr "Баланс білого 2" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 #, fuzzy msgid "WB RB Levels" msgstr "Налаштовуваний рівень червоного (ББ)" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 #, fuzzy msgid "WB RB levels" msgstr "Рівень чорного" #: src/nikonmn.cpp:544 #, fuzzy msgid "Program Shift" msgstr "Програма" #: src/nikonmn.cpp:544 #, fuzzy msgid "Program shift" msgstr "Версія програми" #: src/nikonmn.cpp:545 #, fuzzy msgid "Exposure Difference" msgstr "Показник експозиції" #: src/nikonmn.cpp:545 #, fuzzy msgid "Exposure difference" msgstr "Показник експозиції" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 msgid "Pointer to a preview image" msgstr "Вказівник на попереднє зображення" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 msgid "Offset to an IFD containing a preview image" msgstr "" #: src/nikonmn.cpp:549 msgid "Flash Comp" msgstr "Компенсація Спалаху" #: src/nikonmn.cpp:549 msgid "Flash compensation setting" msgstr "Налаштування компенсації спалаху" #: src/nikonmn.cpp:551 msgid "Image Boundary" msgstr "Межа зображення" #: src/nikonmn.cpp:551 msgid "Image boundary" msgstr "Межа зображення" #: src/nikonmn.cpp:552 msgid "Flash exposure comp" msgstr "Компенсація експозиції спалаху" #: src/nikonmn.cpp:553 #, fuzzy msgid "Flash Bracket Comp" msgstr "Компенсація Спалаху" #: src/nikonmn.cpp:553 #, fuzzy msgid "Flash bracket compensation applied" msgstr "Компенсація експозиції спалаху" #: src/nikonmn.cpp:554 #, fuzzy msgid "Exposure Bracket Comp" msgstr "Експонування «вилки»" #: src/nikonmn.cpp:554 #, fuzzy msgid "AE bracket compensation applied" msgstr "Режим компенсації експозиції" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 msgid "Image Processing" msgstr "Обробка зображень" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 msgid "Image processing" msgstr "Обробка зображень" #: src/nikonmn.cpp:556 #, fuzzy msgid "Crop High Speed" msgstr "Висока швидкість" #: src/nikonmn.cpp:556 #, fuzzy msgid "Crop high speed" msgstr "Висока швидкість" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure Tuning" msgstr "Попередження про витримку" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure tuning" msgstr "Попередження про витримку" #: src/nikonmn.cpp:560 #, fuzzy msgid "VR Info" msgstr "AF інформація" #: src/nikonmn.cpp:560 #, fuzzy msgid "VR info" msgstr "AF інформація" #: src/nikonmn.cpp:561 msgid "Image Authentication" msgstr "Автентифікація Зображення" #: src/nikonmn.cpp:561 msgid "Image authentication" msgstr "Автентифікація зображення" #: src/nikonmn.cpp:562 #, fuzzy msgid "ActiveD-Lighting" msgstr "Сценічне освітлення" #: src/nikonmn.cpp:562 #, fuzzy msgid "ActiveD-lighting" msgstr "Сценічне освітлення" #: src/nikonmn.cpp:563 msgid "Picture Control" msgstr "Керування Зображенням" #: src/nikonmn.cpp:563 msgid " Picture control" msgstr " Керування зображенням" #: src/nikonmn.cpp:564 src/properties.cpp:1387 msgid "World Time" msgstr "Світовий Час" #: src/nikonmn.cpp:564 msgid "World time" msgstr "Світовий час" #: src/nikonmn.cpp:565 msgid "ISO Info" msgstr "Відомості про ISO" #: src/nikonmn.cpp:565 msgid "ISO info" msgstr "Відомості про ISO" #: src/nikonmn.cpp:566 msgid "Vignette Control" msgstr "Керування віньєтуванням" #: src/nikonmn.cpp:566 msgid "Vignette control" msgstr "Керування віньєтуванням" #: src/nikonmn.cpp:568 msgid "Tone Compensation" msgstr "Компенсація тону" #: src/nikonmn.cpp:568 msgid "Tone compensation" msgstr "Компенсація тону" #: src/nikonmn.cpp:574 msgid "Mode of flash used" msgstr "Режим спалаху, що використовувався" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 msgid "Shooting Mode" msgstr "Режим затвора" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 msgid "Shooting mode" msgstr "Режим знімання" #: src/nikonmn.cpp:577 #, fuzzy msgid "Auto Bracket Release" msgstr "Автообмеження" #: src/nikonmn.cpp:577 #, fuzzy msgid "Auto bracket release" msgstr "Автообмеження" #: src/nikonmn.cpp:578 #, fuzzy msgid "Lens FStops" msgstr "Тип лінзи" #: src/nikonmn.cpp:579 msgid "Contrast Curve" msgstr "Крива контрастності" #: src/nikonmn.cpp:579 msgid "Contrast curve" msgstr "Крива контрастності" #: src/nikonmn.cpp:580 msgid "Color Hue" msgstr "Відтінок кольору" #: src/nikonmn.cpp:580 msgid "Color hue" msgstr "Відтінок кольору" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 msgid "Scene mode" msgstr "Режим сцени" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 msgid "Light Source" msgstr "Джерело світла" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 msgid "Light source" msgstr "Джерело світла" #: src/nikonmn.cpp:583 msgid "Shot info" msgstr "Відомості про зняток" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 msgid "Hue Adjustment" msgstr "Налаштування відтінку" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 msgid "Hue adjustment" msgstr "Налаштування відтінку" #: src/nikonmn.cpp:585 msgid "NEF Compression" msgstr "Стиснення NEF" #: src/nikonmn.cpp:585 msgid "NEF compression" msgstr "Стиснення NEF" #: src/nikonmn.cpp:588 src/tags.cpp:905 msgid "Linearization Table" msgstr "Таблиця Лінеаризації" #: src/nikonmn.cpp:588 msgid "Linearization table" msgstr "Таблиця лінеаризації" #: src/nikonmn.cpp:589 msgid "Color Balance" msgstr "Баланс кольорів" #: src/nikonmn.cpp:589 msgid "Color balance" msgstr "Баланс кольорів" #: src/nikonmn.cpp:590 msgid "Lens Data" msgstr "Дані об’єктиву" #: src/nikonmn.cpp:590 msgid "Lens data settings" msgstr "Параметри об’єктиву" #: src/nikonmn.cpp:591 #, fuzzy msgid "Raw Image Center" msgstr "Створення зображення" #: src/nikonmn.cpp:591 #, fuzzy msgid "Raw image center" msgstr "Розмір цифрового негатива" #: src/nikonmn.cpp:592 msgid "Sensor Pixel Size" msgstr "Розмір точки на датчику" #: src/nikonmn.cpp:592 msgid "Sensor pixel size" msgstr "Розмір точки на датчику" #: src/nikonmn.cpp:594 #, fuzzy msgid "Scene Assist" msgstr "AF Асистент" #: src/nikonmn.cpp:594 msgid "Scene assist" msgstr "" #: src/nikonmn.cpp:595 msgid "Retouch History" msgstr "Історія Ретушування" #: src/nikonmn.cpp:595 msgid "Retouch history" msgstr "Історія ретушування" #: src/nikonmn.cpp:597 msgid "Serial NO" msgstr "Серійний №" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "Серійний номер камери, зазвичай починається з \"NO= \"" #: src/nikonmn.cpp:598 msgid "Image Data Size" msgstr "Розмір даних зображення" #: src/nikonmn.cpp:598 msgid "Image data size" msgstr "Розмір даних зображення" #: src/nikonmn.cpp:600 msgid "Image Count" msgstr "Число Зображень" #: src/nikonmn.cpp:600 msgid "Image count" msgstr "Число зображень" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted Image Count" msgstr "Число Вилучених Зображень" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted image count" msgstr "Число вилучених зображень" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 #, fuzzy msgid "Shutter Count" msgstr "Пріоритет затвору" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "Число знятків, зроблених камерою" #: src/nikonmn.cpp:603 msgid "Flash info" msgstr "Дані щодо спалаху" #: src/nikonmn.cpp:604 msgid "Image Optimization" msgstr "Оптимізація Зображення" #: src/nikonmn.cpp:604 msgid "Image optimization" msgstr "Оптимізація зображення" #: src/nikonmn.cpp:606 #, fuzzy msgid "Program Variation" msgstr "Версія програми" #: src/nikonmn.cpp:606 #, fuzzy msgid "Program variation" msgstr "Версія програми" #: src/nikonmn.cpp:608 msgid "AF Response" msgstr "" #: src/nikonmn.cpp:608 msgid "AF response" msgstr "" #: src/nikonmn.cpp:609 msgid "Multi exposure" msgstr "Мультиекспонування" #: src/nikonmn.cpp:610 msgid "High ISO Noise Reduction" msgstr "Потужне усування шуму ISO" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 msgid "Toning effect" msgstr "Ефект тонування" #: src/nikonmn.cpp:612 #, fuzzy msgid "AF info 2" msgstr "AF інформація" #: src/nikonmn.cpp:613 msgid "File info" msgstr "Відомості про файл" #: src/nikonmn.cpp:614 msgid "AF tune" msgstr "" #: src/nikonmn.cpp:617 #, fuzzy msgid "Capture Data" msgstr "Інформація про Колір" #: src/nikonmn.cpp:617 #, fuzzy msgid "Capture data" msgstr "Інформація про колір" #: src/nikonmn.cpp:618 #, fuzzy msgid "Capture Version" msgstr "Версія Makernote" #: src/nikonmn.cpp:618 #, fuzzy msgid "Capture version" msgstr "Підпис" #: src/nikonmn.cpp:620 msgid "Capture Offsets" msgstr "" #: src/nikonmn.cpp:620 #, fuzzy msgid "Capture offsets" msgstr "Відступ області зображення" #: src/nikonmn.cpp:621 msgid "Scan IFD" msgstr "" #: src/nikonmn.cpp:622 msgid "ICC profile" msgstr "Профіль ICC" #: src/nikonmn.cpp:623 msgid "Capture output" msgstr "" #: src/nikonmn.cpp:625 msgid "Unknown Nikon3MakerNote tag" msgstr "Невідомий тег Nikon3MakerNote" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 msgid "No" msgstr "Ні" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "Так" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "Р/М/Д" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "М/Д/Р" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "Д/М/Р" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration Reduction" msgstr "Усування тремтіння" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration reduction" msgstr "Усування тремтіння" #: src/nikonmn.cpp:657 #, fuzzy msgid "Unknown Nikon Vibration Reduction Tag" msgstr "Усування тремтіння 2" #: src/nikonmn.cpp:667 msgid "Default Settings" msgstr "Типові параметри" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 msgid "Quick Adjust" msgstr "Швидке налаштування" #: src/nikonmn.cpp:669 msgid "Full Control" msgstr "Необмежене керування" #: src/nikonmn.cpp:690 msgid "Blue-green" msgstr "Блакитно-зелений" #: src/nikonmn.cpp:692 #, fuzzy msgid "Purple-blue" msgstr "Пурпуровий" #: src/nikonmn.cpp:693 #, fuzzy msgid "Red-purple" msgstr "Пурпуровий" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 msgid "Name" msgstr "Назва" #: src/nikonmn.cpp:701 msgid "Base" msgstr "Основа" #: src/nikonmn.cpp:702 msgid "Adjust" msgstr "Виправити" #: src/nikonmn.cpp:703 #, fuzzy msgid "Quick adjust" msgstr "Швидке налаштування" #: src/nikonmn.cpp:709 msgid "Filter effect" msgstr "Ефект фільтрування" #: src/nikonmn.cpp:711 msgid "Toning Saturation" msgstr "Насиченість Тонування" #: src/nikonmn.cpp:711 msgid "Toning saturation" msgstr "Насиченість тонування" #: src/nikonmn.cpp:713 #, fuzzy msgid "Unknown Nikon Picture Control Tag" msgstr "Невідомий тег відомостей про зображення Canon" #: src/nikonmn.cpp:730 #, fuzzy msgid "AF Fine Tune" msgstr "VGA, якісна" #: src/nikonmn.cpp:730 msgid "AF fine tune" msgstr "" #: src/nikonmn.cpp:731 msgid "AF Fine Tune Index" msgstr "" #: src/nikonmn.cpp:731 msgid "AF fine tune index" msgstr "" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF Fine Tune Adjustment" msgstr "Налаштування відтінку" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF fine tune adjustment" msgstr "Налаштування відтінку" #: src/nikonmn.cpp:734 #, fuzzy msgid "Unknown Nikon AF Fine Tune Tag" msgstr "Невідомий тег відомостей про файл Canon" #: src/nikonmn.cpp:744 msgid "Timezone" msgstr "Часовий пояс" #: src/nikonmn.cpp:745 msgid "Daylight Savings" msgstr "Літній час" #: src/nikonmn.cpp:745 msgid "Daylight savings" msgstr "Літній час" #: src/nikonmn.cpp:746 msgid "Date Display Format" msgstr "Формат показу дати" #: src/nikonmn.cpp:746 msgid "Date display format" msgstr "Формат показу дати" #: src/nikonmn.cpp:748 #, fuzzy msgid "Unknown Nikon World Time Tag" msgstr "Невідомий тег Nikon1MakerNote" #: src/nikonmn.cpp:759 msgid "Hi 0.3" msgstr "Hi 0.3" #: src/nikonmn.cpp:760 msgid "Hi 0.5" msgstr "Hi 0.5" #: src/nikonmn.cpp:761 msgid "Hi 0.7" msgstr "Hi 0.7" #: src/nikonmn.cpp:762 msgid "Hi 1.0" msgstr "Hi 1.0" #: src/nikonmn.cpp:763 msgid "Hi 1.3" msgstr "Hi 1.3" #: src/nikonmn.cpp:764 msgid "Hi 1.5" msgstr "Hi 1.5" #: src/nikonmn.cpp:765 msgid "Hi 1.7" msgstr "Hi 1.7" #: src/nikonmn.cpp:766 msgid "Hi 2.0" msgstr "Hi 2.0" #: src/nikonmn.cpp:767 #, fuzzy msgid "Hi 2.3" msgstr "Hi 2.0" #: src/nikonmn.cpp:768 #, fuzzy msgid "Hi 2.5" msgstr "Hi 2.0" #: src/nikonmn.cpp:769 #, fuzzy msgid "Hi 2.7" msgstr "Hi 2.0" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "Lo 0.3" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "Lo 0.5" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "Lo 0.7" #: src/nikonmn.cpp:778 msgid "Lo 1.0" msgstr "Lo 1.0" #: src/nikonmn.cpp:784 msgid "ISO Expansion" msgstr "Розширення ISO" #: src/nikonmn.cpp:784 msgid "ISO expansion" msgstr "Розширення ISO" #: src/nikonmn.cpp:785 msgid "ISO 2" msgstr "ISO 2" #: src/nikonmn.cpp:786 msgid "ISO Expansion 2" msgstr "Розширення ISO 2" #: src/nikonmn.cpp:786 msgid "ISO expansion 2" msgstr "Розширення ISO 2" #: src/nikonmn.cpp:788 #, fuzzy msgid "Unknown Nikon Iso Info Tag" msgstr "Невідомий тег відомостей про файл Canon" #: src/nikonmn.cpp:798 msgid "Single Area" msgstr "Одиночна область" #: src/nikonmn.cpp:799 msgid "Dynamic Area" msgstr "Динамічна Область" #: src/nikonmn.cpp:800 #, fuzzy msgid "Dynamic Area, Closest Subject" msgstr "Динамічна область, найближчий предмет" #: src/nikonmn.cpp:801 msgid "Group Dynamic" msgstr "Динаміка групи" #: src/nikonmn.cpp:802 #, fuzzy msgid "Single Area (wide)" msgstr "Одиночна область" #: src/nikonmn.cpp:803 #, fuzzy msgid "Dynamic Area (wide)" msgstr "Динамічна зона (широка)" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 msgid "Mid-left" msgstr "Посередині ліворуч" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 msgid "Mid-right" msgstr "Посередині-праворуч" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 msgid "Far Left" msgstr "Далеко ліворуч" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 msgid "Far Right" msgstr "Далеко праворуч" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 msgid "AF area mode" msgstr "Режим області автофокусування" #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 msgid "AF point" msgstr "Точка АФ" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF Points In Focus" msgstr "Використання точок АФ" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF points in focus" msgstr "Використання точок АФ" #: src/nikonmn.cpp:842 #, fuzzy msgid "Unknown Nikon Auto Focus Tag" msgstr "Тег невідомої функції Canon яка налаштовується" #: src/nikonmn.cpp:853 msgid "On (51-point)" msgstr "Увімк (51 точка)" #: src/nikonmn.cpp:854 msgid "On (11-point)" msgstr "Увімк (11 точок)" #: src/nikonmn.cpp:855 #, fuzzy msgid "On (39-point)" msgstr "Увімк (51 точка)" #: src/nikonmn.cpp:856 #, fuzzy msgid "On (73-point)" msgstr "Увімк (51 точка)" #: src/nikonmn.cpp:857 #, fuzzy msgid "On (73-point, new)" msgstr "Увімк (51 точка)" #: src/nikonmn.cpp:858 #, fuzzy msgid "On (105-point)" msgstr "Увімк (11 точок)" #: src/nikonmn.cpp:864 msgid "Contrast Detect AF" msgstr "Контрастний Автофокус" #: src/nikonmn.cpp:864 msgid "Contrast detect AF" msgstr "Контрастний автофокус" #: src/nikonmn.cpp:866 msgid "Phase Detect AF" msgstr "Фазовий Автофокус" #: src/nikonmn.cpp:866 msgid "Phase detect AF" msgstr "Фазовий автофокус" #: src/nikonmn.cpp:867 msgid "Primary AF Point" msgstr "Головна точка автофокусу" #: src/nikonmn.cpp:867 msgid "Primary AF point" msgstr "Головна точка автофокусу" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF Image Width" msgstr "Ширина зображення" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF image width" msgstr "Ширина зображення" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF Image Height" msgstr "Висота зображення" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF image height" msgstr "Висота зображення" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF Area X Position" msgstr "Позиція автофокусу" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF area x position" msgstr "Область освітлення AF" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF Area Y Position" msgstr "Позиція автофокусу" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF area y position" msgstr "Область освітлення AF" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF Area Width" msgstr "Режим області автофокусування" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF area width" msgstr "Режим області автофокусування" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF Area Height" msgstr "AF асистент світла" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF area height" msgstr "Далеко праворуч" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast Detect AF In Focus" msgstr "Контрастний Автофокус" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast detect AF in focus" msgstr "Контрастний автофокус" #: src/nikonmn.cpp:877 #, fuzzy msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "Тег невідомої функції Canon яка налаштовується" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory Number" msgstr "Номер замовлення" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory number" msgstr "Номер замовлення" #: src/nikonmn.cpp:891 #, fuzzy msgid "Unknown Nikon File Info Tag" msgstr "Невідомий тег відомостей про файл Canon" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 #, fuzzy msgid "Multiple Exposure" msgstr "Мультиекспонування" #: src/nikonmn.cpp:903 msgid "Image Overlay" msgstr "Накладання зображень" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi Exposure Mode" msgstr "Режим експозиції" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi exposure mode" msgstr "Мультиекспонування" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi Exposure Shots" msgstr "Мультиекспонування" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi exposure shots" msgstr "Мультиекспонування" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi Exposure Auto Gain" msgstr "Мультиекспонування" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi exposure auto gain" msgstr "Мультиекспонування" #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 #, fuzzy msgid "Unknown Nikon Multi Exposure Tag" msgstr "Невідомий тег Nikon1MakerNote" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 msgid "Internal" msgstr "Внутрішні" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "" #: src/nikonmn.cpp:991 msgid "iTTL-BL" msgstr "iTTL-BL" #: src/nikonmn.cpp:992 msgid "iTTL" msgstr "iTTL" #: src/nikonmn.cpp:993 msgid "Auto Aperture" msgstr "Автодіафрагма" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 msgid "Repeating Flash" msgstr "" #: src/nikonmn.cpp:1004 #, fuzzy msgid "Bounce Flash" msgstr "Без спалаху" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "FL-GL1" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "FL-GL2" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "TN-A1" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "TN-A2" #: src/nikonmn.cpp:1018 #, fuzzy msgid "Amber" msgstr "Число F" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash Source" msgstr "Файлове джерело" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash source" msgstr "Файлове джерело" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 msgid "0x0005" msgstr "0x0005" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External Flash Firmware" msgstr "Режим зовнішнього спалаху" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External flash firmware" msgstr "Режим зовнішнього спалаху" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External Flash Flags" msgstr "Зовнішній спалах" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External flash flags" msgstr "Зовнішній спалах" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash Focal Length" msgstr "Максимальна фокусна відстань" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash focal length" msgstr "Максимальна фокусна відстань" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 #, fuzzy msgid "Repeating flash rate" msgstr "Перейменувти файл на" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 #, fuzzy msgid "Repeating flash count" msgstr "Ручне керування спалахом" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN Distance" msgstr "Фокусна відстань" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN distance" msgstr "Фокусна відстань" #: src/nikonmn.cpp:1032 msgid "Flash Group A Control Mode" msgstr "" #: src/nikonmn.cpp:1032 msgid "Flash group a control mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash Group B Control Mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash group b control mode" msgstr "" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash Color Filter" msgstr "Фільтр кольорів" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash color filter" msgstr "Фільтр кольорів" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 #, fuzzy msgid "Shutter count" msgstr "Пріоритет затвору" #: src/nikonmn.cpp:1088 #, fuzzy msgid "Unknown Nikon Shot Info D80 Tag" msgstr "Невідомий тег відомостей про зображення Canon" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 #, fuzzy msgid "Flash Level" msgstr "Пристрій спалаху" #: src/nikonmn.cpp:1100 #, fuzzy msgid "Flash level" msgstr "Пристрій спалаху" #: src/nikonmn.cpp:1102 #, fuzzy msgid "Unknown Nikon Shot Info D40 Tag" msgstr "Невідомий тег відомостей про зображення Canon" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF Fine Tune Adj" msgstr "" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF fine tune adj" msgstr "" #: src/nikonmn.cpp:1162 #, fuzzy msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "Невідомий тег відомостей про зображення Canon" #: src/nikonmn.cpp:1222 #, fuzzy msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "Невідомий тег відомостей про зображення Canon" #: src/nikonmn.cpp:1235 #, fuzzy msgid "On (3)" msgstr "Включено (1)" #: src/nikonmn.cpp:1248 #, fuzzy msgid "Shutter Count 1" msgstr "Синхронізація по задній шторці" #: src/nikonmn.cpp:1248 #, fuzzy msgid "Shutter count 1" msgstr "Синхронізація по задній шторці" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration Reduction 1" msgstr "Усування тремтіння 2" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration reduction 1" msgstr "Усування тремтіння 2" #: src/nikonmn.cpp:1252 #, fuzzy msgid "Shutter Count 2" msgstr "Синхронізація по задній шторці" #: src/nikonmn.cpp:1252 #, fuzzy msgid "Shutter count 2" msgstr "Синхронізація по задній шторці" #: src/nikonmn.cpp:1253 msgid "Vibration Reduction 2" msgstr "Усування тремтіння 2" #: src/nikonmn.cpp:1253 msgid "Vibration reduction 2" msgstr "Усування тремтіння 2" #: src/nikonmn.cpp:1257 #, fuzzy msgid "Unknown Nikon Shot Info Tag" msgstr "Невідомий тег відомостей про файл Canon" #: src/nikonmn.cpp:1268 #, fuzzy msgid "WB RBGG Levels" msgstr "Налаштовуваний рівень червоного (ББ)" #: src/nikonmn.cpp:1268 msgid "WB RBGG levels" msgstr "" #: src/nikonmn.cpp:1270 #, fuzzy msgid "Unknown Nikon Color Balance 1 Tag" msgstr "Невідомий панорамний тег Canon" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 #, fuzzy msgid "WB RGGB Levels" msgstr "Налаштовуваний рівень червоного (ББ)" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB levels" msgstr "" #: src/nikonmn.cpp:1283 #, fuzzy msgid "Unknown Nikon Color Balance 2 Tag" msgstr "Невідомий панорамний тег Canon" #: src/nikonmn.cpp:1296 #, fuzzy msgid "Unknown Nikon Color Balance 2a Tag" msgstr "Невідомий панорамний тег Canon" #: src/nikonmn.cpp:1309 #, fuzzy msgid "Unknown Nikon Color Balance 2b Tag" msgstr "Невідомий панорамний тег Canon" #: src/nikonmn.cpp:1320 #, fuzzy msgid "WB RGBG Levels" msgstr "Налаштовуваний рівень червоного (ББ)" #: src/nikonmn.cpp:1320 msgid "WB RGBG levels" msgstr "" #: src/nikonmn.cpp:1322 #, fuzzy msgid "Unknown Nikon Color Balance 3 Tag" msgstr "Невідомий панорамний тег Canon" #: src/nikonmn.cpp:1333 #, fuzzy msgid "WB GRBG Levels" msgstr "Налаштовуваний рівень червоного (ББ)" #: src/nikonmn.cpp:1333 msgid "WB GRBG levels" msgstr "" #: src/nikonmn.cpp:1335 #, fuzzy msgid "Unknown Nikon Color Balance 4 Tag" msgstr "Невідомий панорамний тег Canon" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID Number" msgstr "Номер останнього зображення" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID number" msgstr "Ідентифікатор об'єктива" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-Stops" msgstr "Тип лінзи" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-stops" msgstr "Тип лінзи" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min Focal Length" msgstr "Мінімальна фокусна відстань" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min focal length" msgstr "Мінімальна фокусна відстань" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max Focal Length" msgstr "Максимальна фокусна відстань" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max focal length" msgstr "Максимальна фокусна відстань" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 #, fuzzy msgid "Max Aperture At Min Focal" msgstr "Максимальна діафрагма при мінімальному фокусі" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 #, fuzzy msgid "Max aperture at min focal" msgstr "Макс. діафрагма при мін. фокусній відстані" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 #, fuzzy msgid "Max Aperture At Max Focal" msgstr "Максимальна діафрагма при максимальному фокусі" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 #, fuzzy msgid "Max aperture at max focal" msgstr "Макс. діафрагма при макс. фокусній відстані" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU Version" msgstr "Версія ARM" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU version" msgstr "Версія ARM" #: src/nikonmn.cpp:1354 #, fuzzy msgid "Unknown Nikon Lens Data 1 Tag" msgstr "Невідомий тег Nikon1MakerNote" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit Pupil Position" msgstr "Позиція автофокусу" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit pupil position" msgstr "Позиція фокусування" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF Aperture" msgstr "Діафрагма" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF aperture" msgstr "Діафрагма" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 #, fuzzy msgid "Effective Max Aperture" msgstr "Макс. апертура" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 #, fuzzy msgid "Effective max aperture" msgstr "Макс. апертура" #: src/nikonmn.cpp:1379 #, fuzzy msgid "Unknown Nikon Lens Data 2 Tag" msgstr "Невідомий тег Nikon1MakerNote" #: src/nikonmn.cpp:1399 msgid "Max aperture at min focal length" msgstr "Макс. діафрагма при мін. фокусній відстані" #: src/nikonmn.cpp:1400 msgid "Max aperture at max focal length" msgstr "Макс. діафрагма при макс. фокусній відстані" #: src/nikonmn.cpp:1404 #, fuzzy msgid "Unknown Nikon Lens Data 3 Tag" msgstr "Невідомий тег Nikon1MakerNote" #: src/nikonmn.cpp:1590 msgid "Closest subject" msgstr "Найближчий об’єкт" #: src/nikonmn.cpp:1591 #, fuzzy msgid "Group dynamic-AF" msgstr "Динаміка групи" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "немає" #: src/nikonmn.cpp:1624 msgid "used" msgstr "використано" #: src/nikonmn.cpp:1650 #, fuzzy msgid "All 11 Points" msgstr "Точки АФ" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 msgid "Single-frame" msgstr "Окремий кадр" #: src/olympusmn.cpp:71 #, fuzzy msgid "Standard Quality (SQ)" msgstr "Стандартне світло A" #: src/olympusmn.cpp:72 #, fuzzy msgid "High Quality (HQ)" msgstr "Якість зображення 2" #: src/olympusmn.cpp:73 msgid "Super High Quality (SHQ)" msgstr "" #: src/olympusmn.cpp:88 msgid "On (preset)" msgstr "" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 msgid "Sport" msgstr "Спорт" #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 #, fuzzy msgid "Landscape+Portrait" msgstr "Альбомна" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 msgid "Self Portrait" msgstr "Автопортрет" #: src/olympusmn.cpp:102 msgid "2 in 1" msgstr "2 в 1" #: src/olympusmn.cpp:105 msgid "Night+Portrait" msgstr "Нічний портрет" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "Їжа" #: src/olympusmn.cpp:112 msgid "Documents" msgstr "Документи" #: src/olympusmn.cpp:114 msgid "Shoot & Select" msgstr "" #: src/olympusmn.cpp:115 msgid "Beach & Snow" msgstr "Пляж/На снігу" #: src/olympusmn.cpp:116 #, fuzzy msgid "Self Portrait+Timer" msgstr "Автопортрет" #: src/olympusmn.cpp:117 msgid "Candle" msgstr "Свічка" #: src/olympusmn.cpp:118 msgid "Available Light" msgstr "" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "" #: src/olympusmn.cpp:120 #, fuzzy msgid "My Mode" msgstr "Простий режим" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 #, fuzzy msgid "Pet" msgstr "Перт" #: src/olympusmn.cpp:122 #, fuzzy msgid "Underwater Wide1" msgstr "Під водою" #: src/olympusmn.cpp:123 #, fuzzy msgid "Underwater Macro" msgstr "Під водою" #: src/olympusmn.cpp:124 msgid "Shoot & Select1" msgstr "" #: src/olympusmn.cpp:125 msgid "Shoot & Select2" msgstr "" #: src/olympusmn.cpp:127 #, fuzzy msgid "Digital Image Stabilization" msgstr "Стабілізація Картинки" #: src/olympusmn.cpp:128 #, fuzzy msgid "Auction" msgstr "" "\n" "Дії:\n" #: src/olympusmn.cpp:131 #, fuzzy msgid "Underwater Wide2" msgstr "Під водою" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "Діти" #: src/olympusmn.cpp:135 #, fuzzy msgid "Nature Macro" msgstr "Супер Макро" #: src/olympusmn.cpp:136 #, fuzzy msgid "Underwater Snapshot" msgstr "Під водою" #: src/olympusmn.cpp:137 #, fuzzy msgid "Shooting Guide" msgstr "Режим затвора" #: src/olympusmn.cpp:145 msgid "Internal + External" msgstr "Внутрішнє+зовнішнє" #: src/olympusmn.cpp:176 msgid "Interlaced" msgstr "Черезрядкове" #: src/olympusmn.cpp:177 msgid "Progressive" msgstr "Прогресивне" #: src/olympusmn.cpp:188 msgid "Thumbnail Image" msgstr "Зображення-мініатюра" #: src/olympusmn.cpp:189 msgid "Thumbnail image" msgstr "Зображення-мініатюра" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 #, fuzzy msgid "Body Firmware Version" msgstr "Версія файла" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body firmware version" msgstr "" #: src/olympusmn.cpp:195 #, fuzzy msgid "Special Mode" msgstr "Режим фільму" #: src/olympusmn.cpp:196 #, fuzzy msgid "Picture taking mode" msgstr "Режим знімка" #: src/olympusmn.cpp:204 msgid "Black & White Mode" msgstr "Чорно-білий режим" #: src/olympusmn.cpp:205 #, fuzzy msgid "Black and white mode" msgstr "Чорно-біле" #: src/olympusmn.cpp:208 msgid "Digital zoom ratio" msgstr "Коефіцієнт цифрового збільшення" #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 msgid "Focal Plane Diagonal" msgstr "Діагональ у фокальній площині" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 msgid "Focal plane diagonal" msgstr "Діагональ у фокальній площині" #: src/olympusmn.cpp:213 msgid "Lens Distortion Parameters" msgstr "Параметри викривлення об’єктивом" #: src/olympusmn.cpp:214 msgid "Lens distortion parameters" msgstr "Параметри викривлення об’єктивом" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 msgid "Camera Type" msgstr "Тип фотоапарата" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 msgid "Camera type" msgstr "Тип фотоапарата" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "" #: src/olympusmn.cpp:222 msgid "Camera ID" msgstr "Ід. фотоапарата" #: src/olympusmn.cpp:223 #, fuzzy msgid "Camera ID data" msgstr "Ід. фотоапарата" #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "Програми" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 msgid "Preview Image" msgstr "Ескіз зображення" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 msgid "Preview image" msgstr "Ескіз зображення" #: src/olympusmn.cpp:237 #, fuzzy msgid "Pre Capture Frames" msgstr "Тип сцени" #: src/olympusmn.cpp:238 #, fuzzy msgid "Pre-capture frames" msgstr "Режим знімка" #: src/olympusmn.cpp:240 msgid "White Board" msgstr "Біла дошка" #: src/olympusmn.cpp:241 msgid "White board" msgstr "Біла дошка" #: src/olympusmn.cpp:243 #, fuzzy msgid "One Touch WB" msgstr "Баланс білого у один дотик" #: src/olympusmn.cpp:244 msgid "One touch white balance" msgstr "Баланс білого у один дотик" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 #, fuzzy msgid "White Balance Bracket" msgstr "Брекетинг балансу білого" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 #, fuzzy msgid "White balance bracket" msgstr "Брекетинг балансу білого" #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 msgid "Firmware" msgstr "Мікропрограма" #: src/olympusmn.cpp:261 msgid "Data Dump 1" msgstr "Дамп даних 1" #: src/olympusmn.cpp:262 #, fuzzy msgid "Various camera settings 1" msgstr "Різноманітні параметри фотоапарата" #: src/olympusmn.cpp:264 msgid "Data Dump 2" msgstr "Дамп даних 2" #: src/olympusmn.cpp:265 #, fuzzy msgid "Various camera settings 2" msgstr "Різноманітні параметри фотоапарата" #: src/olympusmn.cpp:268 msgid "Shutter speed value" msgstr "Значення швидкості руху затвору" #: src/olympusmn.cpp:271 #, fuzzy msgid "ISO speed value" msgstr "Чутливість ISO використана" #: src/olympusmn.cpp:274 msgid "Aperture value" msgstr "Розмір діафрагми" #: src/olympusmn.cpp:277 msgid "Brightness value" msgstr "Значення яскравості" #: src/olympusmn.cpp:285 #, fuzzy msgid "Bracket" msgstr "Автовилка" #: src/olympusmn.cpp:286 #, fuzzy msgid "Exposure compensation value" msgstr "Компенсація експозиції" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 msgid "Sensor Temperature" msgstr "Температура датчика" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 msgid "Sensor temperature" msgstr "Температура датчика" #: src/olympusmn.cpp:291 msgid "Lens Temperature" msgstr "Температура об’єктива" #: src/olympusmn.cpp:292 msgid "Lens temperature" msgstr "Температура об’єктива" #: src/olympusmn.cpp:294 msgid "Light Condition" msgstr "Умови освітлення" #: src/olympusmn.cpp:295 msgid "Light condition" msgstr "Умови освітлення" #: src/olympusmn.cpp:297 msgid "Focus Range" msgstr "Діапазон фокусування" #: src/olympusmn.cpp:298 msgid "Focus range" msgstr "Діапазон фокусування" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "Масштаб" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 msgid "Zoom step count" msgstr "Кількість кроків масштабування" #: src/olympusmn.cpp:309 #, fuzzy msgid "Macro Focus" msgstr "Панорамне фокусування" #: src/olympusmn.cpp:310 #, fuzzy msgid "Macro focus step count" msgstr "Кількість кроків фокусування" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 msgid "Sharpness Factor" msgstr "Коефіцієнт різкості" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 msgid "Sharpness factor" msgstr "Коефіцієнт різкості" #: src/olympusmn.cpp:315 msgid "Flash Charge Level" msgstr "Рівень заряду спалаху" #: src/olympusmn.cpp:316 msgid "Flash charge level" msgstr "Рівень заряду спалаху" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 msgid "Color Matrix" msgstr "Матриця кольорів" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 msgid "Color matrix" msgstr "Матриця кольорів" #: src/olympusmn.cpp:321 msgid "BlackLevel" msgstr "Рівень чорного" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 msgid "Black level" msgstr "Рівень чорного" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 msgid "White balance mode" msgstr "Режим балансу білого" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 msgid "Red Balance" msgstr "Баланс червоного" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 msgid "Red balance" msgstr "Баланс червоного" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 msgid "Blue Balance" msgstr "Баланс синього" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 msgid "Blue balance" msgstr "Баланс синього" #: src/olympusmn.cpp:342 msgid "Color Matrix Number" msgstr "Номер матриці кольору" #: src/olympusmn.cpp:343 #, fuzzy msgid "Color matrix number" msgstr "Номер матриці кольору" #: src/olympusmn.cpp:345 msgid "Serial Number 2" msgstr "Серійний номер 2" #: src/olympusmn.cpp:346 msgid "Serial number 2" msgstr "Серійний номер 2" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 msgid "Flash exposure compensation" msgstr "Компенсація експозиції спалаху" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 #, fuzzy msgid "External Flash Bounce" msgstr "Режим зовнішнього спалаху" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 #, fuzzy msgid "External flash bounce" msgstr "Режим зовнішнього спалаху" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 #, fuzzy msgid "External Flash Zoom" msgstr "Зовнішній спалах" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 #, fuzzy msgid "External flash zoom" msgstr "Зовнішній спалах" #: src/olympusmn.cpp:387 msgid "External Flash Mode" msgstr "Режим зовнішнього спалаху" #: src/olympusmn.cpp:388 msgid "External flash mode" msgstr "Режим зовнішнього спалаху" #: src/olympusmn.cpp:396 msgid "Color Control" msgstr "Керування кольором" #: src/olympusmn.cpp:397 msgid "Color control" msgstr "Керування кольором" #: src/olympusmn.cpp:399 msgid "ValidBits" msgstr "" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 msgid "Valid bits" msgstr "" #: src/olympusmn.cpp:402 #, fuzzy msgid "CoringFilter" msgstr "Фільтр кольорів" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring filter" msgstr "Фільтр кольорів" #: src/olympusmn.cpp:423 msgid "Compression Ratio" msgstr "Рівень стискання" #: src/olympusmn.cpp:424 msgid "Compression ratio" msgstr "Рівень стискання" #: src/olympusmn.cpp:427 #, fuzzy msgid "Preview image embedded" msgstr "Розмір зображення попереднього перегляду" #: src/olympusmn.cpp:430 #, fuzzy msgid "Offset of the preview image" msgstr "Вказівник на попереднє зображення" #: src/olympusmn.cpp:433 #, fuzzy msgid "Size of the preview image" msgstr "Вказівник на попереднє зображення" #: src/olympusmn.cpp:435 msgid "CCD Scan Mode" msgstr "Режим сканування ПЗЗ" #: src/olympusmn.cpp:436 msgid "CCD scan mode" msgstr "Режим сканування ПЗЗ" #: src/olympusmn.cpp:441 #, fuzzy msgid "Infinity Lens Step" msgstr "Нескінченість" #: src/olympusmn.cpp:442 #, fuzzy msgid "Infinity lens step" msgstr "Нескінченість" #: src/olympusmn.cpp:444 #, fuzzy msgid "Near Lens Step" msgstr "Тип лінзи" #: src/olympusmn.cpp:445 msgid "Near lens step" msgstr "" #: src/olympusmn.cpp:447 #, fuzzy msgid "Equipment Info" msgstr "Дані щодо об’єктива" #: src/olympusmn.cpp:448 msgid "Camera equipment sub-IFD" msgstr "" #: src/olympusmn.cpp:451 #, fuzzy msgid "Camera Settings sub-IFD" msgstr "Налаштування камери (7D)" #: src/olympusmn.cpp:453 msgid "Raw Development" msgstr "" #: src/olympusmn.cpp:454 msgid "Raw development sub-IFD" msgstr "" #: src/olympusmn.cpp:456 msgid "Raw Development 2" msgstr "" #: src/olympusmn.cpp:457 msgid "Raw development 2 sub-IFD" msgstr "" #: src/olympusmn.cpp:460 #, fuzzy msgid "Image processing sub-IFD" msgstr "Обробка зображень" #: src/olympusmn.cpp:462 #, fuzzy msgid "Focus Info" msgstr "AF інформація" #: src/olympusmn.cpp:463 msgid "Focus sub-IFD" msgstr "" #: src/olympusmn.cpp:465 #, fuzzy msgid "Raw Info" msgstr "AF інформація" #: src/olympusmn.cpp:466 msgid "Raw sub-IFD" msgstr "" #: src/olympusmn.cpp:470 #, fuzzy msgid "Unknown OlympusMakerNote tag" msgstr "Невідомий тег FujiMakerNote" #: src/olympusmn.cpp:486 #, fuzzy msgid "Program-shift" msgstr "Програма" #: src/olympusmn.cpp:491 msgid "Center-weighted average" msgstr "Середній відносно центру" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "ESP" #: src/olympusmn.cpp:494 msgid "Pattern+AF" msgstr "" #: src/olympusmn.cpp:495 msgid "Spot+Highlight control" msgstr "" #: src/olympusmn.cpp:496 #, fuzzy msgid "Spot+Shadow control" msgstr "Керування кольором" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 #, fuzzy msgid "Single AF" msgstr "Одиночна область" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 msgid "Multi AF" msgstr "" #: src/olympusmn.cpp:517 #, fuzzy msgid "AF Not Used" msgstr "AF Точка Використана" #: src/olympusmn.cpp:518 #, fuzzy msgid "AF Used" msgstr "AF Точка Використана" #: src/olympusmn.cpp:523 msgid "Not Ready" msgstr "Не готовий" #: src/olympusmn.cpp:524 msgid "Ready" msgstr "Готово" #: src/olympusmn.cpp:531 msgid "Fill-in" msgstr "Заповнення" #: src/olympusmn.cpp:533 msgid "Slow-sync" msgstr "Уповільнена синхронізація" #: src/olympusmn.cpp:534 msgid "Forced On" msgstr "" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "" #: src/olympusmn.cpp:541 msgid "Channel 1, Low" msgstr "" #: src/olympusmn.cpp:542 msgid "Channel 2, Low" msgstr "" #: src/olympusmn.cpp:543 msgid "Channel 3, Low" msgstr "" #: src/olympusmn.cpp:544 msgid "Channel 4, Low" msgstr "" #: src/olympusmn.cpp:545 msgid "Channel 1, Mid" msgstr "" #: src/olympusmn.cpp:546 msgid "Channel 2, Mid" msgstr "" #: src/olympusmn.cpp:547 msgid "Channel 3, Mid" msgstr "" #: src/olympusmn.cpp:548 msgid "Channel 4, Mid" msgstr "" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "" #: src/olympusmn.cpp:567 msgid "7500K (Fine Weather with Shade)" msgstr "" #: src/olympusmn.cpp:568 #, fuzzy msgid "6000K (Cloudy)" msgstr "Хмарно" #: src/olympusmn.cpp:569 #, fuzzy msgid "5300K (Fine Weather)" msgstr "Ясна погода" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 msgid "3600K (Tungsten light-like)" msgstr "" #: src/olympusmn.cpp:572 #, fuzzy msgid "Auto Setup" msgstr "Автодіафрагма" #: src/olympusmn.cpp:573 msgid "5500K (Flash)" msgstr "" #: src/olympusmn.cpp:574 #, fuzzy msgid "6600K (Daylight fluorescent)" msgstr "Денне світло" #: src/olympusmn.cpp:575 msgid "4500K (Neutral white fluorescent)" msgstr "" #: src/olympusmn.cpp:576 #, fuzzy msgid "4000K (Cool white fluorescent)" msgstr "Холодне біле флуоресцентне" #: src/olympusmn.cpp:577 #, fuzzy msgid "White Fluorescent" msgstr "Біле флуоресцентне" #: src/olympusmn.cpp:580 #, fuzzy msgid "One Touch WB 1" msgstr "Баланс білого у один дотик" #: src/olympusmn.cpp:581 #, fuzzy msgid "One Touch WB 2" msgstr "Баланс білого у один дотик" #: src/olympusmn.cpp:582 #, fuzzy msgid "One Touch WB 3" msgstr "Баланс білого у один дотик" #: src/olympusmn.cpp:583 #, fuzzy msgid "One Touch WB 4" msgstr "Баланс білого у один дотик" #: src/olympusmn.cpp:584 #, fuzzy msgid "Custom WB 1" msgstr "Інше 1" #: src/olympusmn.cpp:585 #, fuzzy msgid "Custom WB 2" msgstr "Інше 2" #: src/olympusmn.cpp:586 #, fuzzy msgid "Custom WB 3" msgstr "Інше 3" #: src/olympusmn.cpp:587 #, fuzzy msgid "Custom WB 4" msgstr "Інше 4" #: src/olympusmn.cpp:593 msgid "CM1 (Red Enhance)" msgstr "" #: src/olympusmn.cpp:594 msgid "CM2 (Green Enhance)" msgstr "" #: src/olympusmn.cpp:595 #, fuzzy msgid "CM3 (Blue Enhance)" msgstr "Баланс синього" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 msgid "Noise Filter" msgstr "Фільтр шуму" #: src/olympusmn.cpp:610 #, fuzzy msgid "Noise Filter (ISO Boost)" msgstr "Фільтр шуму" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 msgid "Muted" msgstr "Вимкнено" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 #, fuzzy msgid "Monotone" msgstr "Тон кольору" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "SQ" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "" #: src/olympusmn.cpp:648 #, fuzzy msgid "SHQ" msgstr "SQ" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 #, fuzzy msgid "On, Mode 1" msgstr "Ід. моделі Sony" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 #, fuzzy msgid "On, Mode 2" msgstr "Режим мотора 2" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 #, fuzzy msgid "On, Mode 3" msgstr "Ід. моделі Sony" #: src/olympusmn.cpp:661 #, fuzzy msgid "Camera Settings Version" msgstr "Налаштування камери (7D)" #: src/olympusmn.cpp:661 #, fuzzy msgid "Camera settings version" msgstr "Налаштування камери (7D)" #: src/olympusmn.cpp:662 #, fuzzy msgid "PreviewImage Valid" msgstr "Розмір зображення попереднього перегляду" #: src/olympusmn.cpp:662 #, fuzzy msgid "Preview image valid" msgstr "Ескіз зображення" #: src/olympusmn.cpp:663 #, fuzzy msgid "PreviewImage Start" msgstr "Розмір зображення попереднього перегляду" #: src/olympusmn.cpp:663 #, fuzzy msgid "Preview image start" msgstr "Ескіз зображення" #: src/olympusmn.cpp:664 #, fuzzy msgid "PreviewImage Length" msgstr "Довжина зображення" #: src/olympusmn.cpp:664 #, fuzzy msgid "Preview image length" msgstr "Розмір зображення попереднього перегляду" #: src/olympusmn.cpp:666 msgid "Auto exposure lock" msgstr "Запам'ятовування значень витримки" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure Shift" msgstr "Витримка" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure shift" msgstr "Витримка" #: src/olympusmn.cpp:671 #, fuzzy msgid "Focus Process" msgstr "Режим фокусу" #: src/olympusmn.cpp:671 #, fuzzy msgid "Focus process" msgstr "Нетиповою обробкою" #: src/olympusmn.cpp:672 msgid "AF Search" msgstr "" #: src/olympusmn.cpp:672 msgid "AF search" msgstr "" #: src/olympusmn.cpp:673 #, fuzzy msgid "AF Areas" msgstr "Ділянка фокусування" #: src/olympusmn.cpp:673 #, fuzzy msgid "AF areas" msgstr "Режим області автофокусування" #: src/olympusmn.cpp:674 #, fuzzy msgid "AFPointSelected" msgstr "Вибрана точка АФ" #: src/olympusmn.cpp:675 msgid "AF Fine Tune Adjust" msgstr "" #: src/olympusmn.cpp:675 msgid "AF fine tune adjust" msgstr "" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash Remote Control" msgstr "Дистанційне керування" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash remote control" msgstr "Дистанційне керування" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash Control Mode" msgstr "Режим спалаху" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash control mode" msgstr "Режим спалаху" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash Intensity" msgstr "Активність спалаху" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash intensity" msgstr "Активність спалаху" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual Flash Strength" msgstr "потужність спалаху" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual flash strength" msgstr "Налаштовувана потужність спалаху" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 msgid "White Balance 2" msgstr "Баланс білого 2" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 msgid "White balance 2" msgstr "Баланс білого 2" #: src/olympusmn.cpp:683 msgid "White Balance Temperature" msgstr "Температура кольорів" #: src/olympusmn.cpp:683 msgid "White balance temperature" msgstr "Температура кольорів" #: src/olympusmn.cpp:685 #, fuzzy msgid "Custom Saturation" msgstr "Низька насиченість" #: src/olympusmn.cpp:685 #, fuzzy msgid "Custom saturation" msgstr "Нетипові функції" #: src/olympusmn.cpp:686 #, fuzzy msgid "Modified Saturation" msgstr "Насиченість червоного" #: src/olympusmn.cpp:686 #, fuzzy msgid "Modified saturation" msgstr "Насиченість червоного" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 msgid "Contrast Setting" msgstr "Параметр контрастності" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 msgid "Sharpness Setting" msgstr "Параметр різкості" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion Correction" msgstr "Коригування спотворення" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion correction" msgstr "Коригування спотворення" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 #, fuzzy msgid "Shading Compensation" msgstr "Компенсація тону" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 #, fuzzy msgid "Shading compensation" msgstr "Компенсація тону" #: src/olympusmn.cpp:694 #, fuzzy msgid "Compression Factor" msgstr "Рівень стискання" #: src/olympusmn.cpp:694 #, fuzzy msgid "Compression factor" msgstr "Рівень стискання" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 #, fuzzy msgid "Gradation" msgstr "Тривалість" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 msgid "Picture mode" msgstr "Режим знімка" #: src/olympusmn.cpp:697 #, fuzzy msgid "Picture Mode Saturation" msgstr "Налаштування режиму зображення" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 #, fuzzy msgid "Picture mode saturation" msgstr "Налаштування режиму зображення" #: src/olympusmn.cpp:698 #, fuzzy msgid "Picture Mode Hue" msgstr "Режим зображення" #: src/olympusmn.cpp:698 #, fuzzy msgid "Picture mode hue" msgstr "Режим знімка" #: src/olympusmn.cpp:699 #, fuzzy msgid "Picture Mode Contrast" msgstr "Режим зображення" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 #, fuzzy msgid "Picture mode contrast" msgstr "Налаштування режиму зображення" #: src/olympusmn.cpp:700 #, fuzzy msgid "Picture Mode Sharpness" msgstr "Режим зображення" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 #, fuzzy msgid "Picture mode sharpness" msgstr "Налаштування режиму зображення" #: src/olympusmn.cpp:701 #, fuzzy msgid "Picture Mode BW Filter" msgstr "Режим зображення" #: src/olympusmn.cpp:701 #, fuzzy msgid "Picture mode BW filter" msgstr "Режим знімка" #: src/olympusmn.cpp:702 #, fuzzy msgid "Picture Mode Tone" msgstr "Режим зображення" #: src/olympusmn.cpp:702 #, fuzzy msgid "Picture mode tone" msgstr "Режим знімка" #: src/olympusmn.cpp:703 msgid "Noise filter" msgstr "Фільтр шуму" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art Filter" msgstr "Фільтр" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art filter" msgstr "Фільтр кольорів" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic Filter" msgstr "Цифровий фільтр" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic filter" msgstr "Цифровий фільтр" #: src/olympusmn.cpp:707 #, fuzzy msgid "Panorama Mode" msgstr "Рамка панорами" #: src/olympusmn.cpp:707 #, fuzzy msgid "Panorama mode" msgstr "Рамка панорами" #: src/olympusmn.cpp:708 msgid "Image Quality 2" msgstr "Якість зображення 2" #: src/olympusmn.cpp:708 msgid "Image quality 2" msgstr "Якість зображення 2" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer Pressure" msgstr "" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 #, fuzzy msgid "Manometer pressure" msgstr "Нестиснений" #: src/olympusmn.cpp:711 msgid "Manometer Reading" msgstr "" #: src/olympusmn.cpp:711 msgid "Manometer reading" msgstr "" #: src/olympusmn.cpp:712 #, fuzzy msgid "Extended WB Detect" msgstr "Виявлення сцени" #: src/olympusmn.cpp:712 #, fuzzy msgid "Extended WB detect" msgstr "Виявлення сцени" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "" #: src/olympusmn.cpp:716 #, fuzzy msgid "Unknown OlympusCs tag" msgstr "Невідома мітка" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "" #: src/olympusmn.cpp:745 #, fuzzy msgid "Equipment Version" msgstr "Версія файла" #: src/olympusmn.cpp:745 #, fuzzy msgid "Equipment version" msgstr "Версія Exif" #: src/olympusmn.cpp:747 msgid "Serial number" msgstr "Серійний номер" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 #, fuzzy msgid "Lens Serial Number" msgstr "Вбудований серійний номер" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 #, fuzzy msgid "Lens serial number" msgstr "Вбудований серійний номер" #: src/olympusmn.cpp:754 #, fuzzy msgid "Lens Firmware Version" msgstr "Версія файла" #: src/olympusmn.cpp:754 msgid "Lens firmware version" msgstr "" #: src/olympusmn.cpp:759 #, fuzzy msgid "Max Aperture At Current Focal" msgstr "Максимальна діафрагма при мінімальному фокусі" #: src/olympusmn.cpp:759 #, fuzzy msgid "Max aperture at current focal" msgstr "Макс. діафрагма при мін. фокусній відстані" #: src/olympusmn.cpp:760 #, fuzzy msgid "Lens Properties" msgstr "Температура об’єктива" #: src/olympusmn.cpp:760 #, fuzzy msgid "Lens properties" msgstr "Температура об’єктива" #: src/olympusmn.cpp:761 msgid "Extender" msgstr "Розширювач" #: src/olympusmn.cpp:762 #, fuzzy msgid "Extender Serial Number" msgstr "Вбудований серійний номер" #: src/olympusmn.cpp:762 #, fuzzy msgid "Extender serial number" msgstr "Вбудований серійний номер" #: src/olympusmn.cpp:763 #, fuzzy msgid "Extender Model" msgstr "Розширювач" #: src/olympusmn.cpp:763 #, fuzzy msgid "Extender model" msgstr "Розширювач" #: src/olympusmn.cpp:764 msgid "Extender Firmware Version" msgstr "" #: src/olympusmn.cpp:764 msgid "Extender firmwareversion" msgstr "" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 #, fuzzy msgid "Conversion Lens" msgstr "Версії" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 #, fuzzy msgid "Conversion lens" msgstr "Версії" #: src/olympusmn.cpp:767 src/properties.cpp:402 #, fuzzy msgid "Flash Model" msgstr "Режим спалаху" #: src/olympusmn.cpp:767 #, fuzzy msgid "Flash model" msgstr "Режим спалаху" #: src/olympusmn.cpp:768 #, fuzzy msgid "Flash Firmware Version" msgstr "Версія FlashPix" #: src/olympusmn.cpp:768 #, fuzzy msgid "Flash firmware version" msgstr "Версія FlashPix" #: src/olympusmn.cpp:769 #, fuzzy msgid "FlashSerialNumber" msgstr "Серійний номер 2" #: src/olympusmn.cpp:771 #, fuzzy msgid "Unknown OlympusEq tag" msgstr "Невідома мітка" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 msgid "High Speed" msgstr "Висока швидкість" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 #, fuzzy msgid "High Function" msgstr "Висока насиченість" #: src/olympusmn.cpp:790 #, fuzzy msgid "Advanced High Speed" msgstr "Висока швидкість" #: src/olympusmn.cpp:791 #, fuzzy msgid "Advanced High Function" msgstr "Функція перенесення" #: src/olympusmn.cpp:796 msgid "Original" msgstr "Оригінал" #: src/olympusmn.cpp:797 #, fuzzy msgid "Edited (Landscape)" msgstr "Альбомна" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 #, fuzzy msgid "Edited (Portrait)" msgstr "Нічний портрет" #: src/olympusmn.cpp:804 #, fuzzy msgid "WB Color Temp" msgstr "Тон кольорів" #: src/olympusmn.cpp:805 #, fuzzy msgid "WB Gray Point" msgstr "Головна точка автофокусу" #: src/olympusmn.cpp:815 #, fuzzy msgid "Raw Development Version" msgstr "Версія Makernote" #: src/olympusmn.cpp:815 msgid "Raw development version" msgstr "" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 msgid "Exposure Bias Value" msgstr "Значення ухилу експозиції" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 msgid "Exposure bias value" msgstr "Значення ухилу експозиції" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 #, fuzzy msgid "White Balance Value" msgstr "Баланс Білого" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 #, fuzzy msgid "White balance value" msgstr "Баланс білого для синього каналу" #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 #, fuzzy msgid "WB Fine Adjustment" msgstr "Налаштування відтінку" #: src/olympusmn.cpp:818 #, fuzzy msgid "WB fine adjustment" msgstr "Налаштування відтінку" #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 #, fuzzy msgid "Gray Point" msgstr "Головна точка автофокусу" #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 #, fuzzy msgid "Gray point" msgstr "Головна точка автофокусу" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 #, fuzzy msgid "Saturation Emphasis" msgstr "Налаштування насиченості" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 #, fuzzy msgid "Saturation emphasis" msgstr "Налаштування насиченості" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 #, fuzzy msgid "Memory Color Emphasis" msgstr "Мої кольори" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory color emphasis" msgstr "" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 #, fuzzy msgid "Contrast Value" msgstr "Крива контрастності" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 #, fuzzy msgid "Contrast value" msgstr "Крива контрастності" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 #, fuzzy msgid "Sharpness Value" msgstr "Різкість" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 #, fuzzy msgid "Sharpness value" msgstr "Різкість" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 #, fuzzy msgid "Engine" msgstr "Інженер запису" #: src/olympusmn.cpp:827 msgid "Edit status" msgstr "Стан редагування" #: src/olympusmn.cpp:828 msgid "Settings" msgstr "Параметри" #: src/olympusmn.cpp:830 #, fuzzy msgid "Unknown OlympusRd tag" msgstr "Невідома мітка" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw Development 2 Version" msgstr "Динамічні межі розробки" #: src/olympusmn.cpp:885 msgid "Raw development 2 version" msgstr "" #: src/olympusmn.cpp:889 msgid "White balance fine adjustment" msgstr "Точне коригування балансу білого" #: src/olympusmn.cpp:899 #, fuzzy msgid "PM Saturation" msgstr "Насиченість" #: src/olympusmn.cpp:900 #, fuzzy msgid "PM Contrast" msgstr "Контраст" #: src/olympusmn.cpp:901 #, fuzzy msgid "PM Sharpness" msgstr "Різкість" #: src/olympusmn.cpp:902 #, fuzzy msgid "PM BW Filter" msgstr "Фільтр" #: src/olympusmn.cpp:902 msgid "PM BW filter" msgstr "" #: src/olympusmn.cpp:903 #, fuzzy msgid "PM Picture Tone" msgstr "Режим зображення" #: src/olympusmn.cpp:903 #, fuzzy msgid "PM picture tone" msgstr "Режим зображення" #: src/olympusmn.cpp:906 #, fuzzy msgid "Auto Gradation" msgstr "Тривалість звуку" #: src/olympusmn.cpp:906 #, fuzzy msgid "Auto gradation" msgstr "Тривалість звуку" #: src/olympusmn.cpp:907 #, fuzzy msgid "PM Noise Filter" msgstr "Фільтр шуму" #: src/olympusmn.cpp:907 #, fuzzy msgid "Picture mode noise filter" msgstr "Налаштування режиму зображення" #: src/olympusmn.cpp:909 #, fuzzy msgid "Unknown OlympusRd2 tag" msgstr "Невідома мітка" #: src/olympusmn.cpp:920 #, fuzzy msgid "On (2 frames)" msgstr "Включено (2)" #: src/olympusmn.cpp:921 msgid "On (3 frames)" msgstr "" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image Processing Version" msgstr "Обробка зображень" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image processing version" msgstr "Обробка зображень" #: src/olympusmn.cpp:940 msgid "WB RB Levels 3000K" msgstr "" #: src/olympusmn.cpp:940 msgid "WB RB levels 3000K" msgstr "" #: src/olympusmn.cpp:941 msgid "WB RB Levels 3300K" msgstr "" #: src/olympusmn.cpp:941 msgid "WB RB levels 3300K" msgstr "" #: src/olympusmn.cpp:942 msgid "WB RB Levels 3600K" msgstr "" #: src/olympusmn.cpp:942 msgid "WB RB levels 3600K" msgstr "" #: src/olympusmn.cpp:943 msgid "WB RB Levels 3900K" msgstr "" #: src/olympusmn.cpp:943 msgid "WB RB levels 3900K" msgstr "" #: src/olympusmn.cpp:944 msgid "WB RB Levels 4000K" msgstr "" #: src/olympusmn.cpp:944 msgid "WB RB levels 4000K" msgstr "" #: src/olympusmn.cpp:945 msgid "WB RB Levels 4300K" msgstr "" #: src/olympusmn.cpp:945 msgid "WB RB levels 4300K" msgstr "" #: src/olympusmn.cpp:946 msgid "WB RB Levels 4500K" msgstr "" #: src/olympusmn.cpp:946 msgid "WB RB levels 4500K" msgstr "" #: src/olympusmn.cpp:947 msgid "WB RB Levels 4800K" msgstr "" #: src/olympusmn.cpp:947 msgid "WB RB levels 4800K" msgstr "" #: src/olympusmn.cpp:948 msgid "WB RB Levels 5300K" msgstr "" #: src/olympusmn.cpp:948 msgid "WB RB levels 5300K" msgstr "" #: src/olympusmn.cpp:949 msgid "WB RB Levels 6000K" msgstr "" #: src/olympusmn.cpp:949 msgid "WB RB levels 6000K" msgstr "" #: src/olympusmn.cpp:950 msgid "WB RB Levels 6600K" msgstr "" #: src/olympusmn.cpp:950 msgid "WB RB levels 6600K" msgstr "" #: src/olympusmn.cpp:951 msgid "WB RB Levels 7500K" msgstr "" #: src/olympusmn.cpp:951 msgid "WB RB levels 7500K" msgstr "" #: src/olympusmn.cpp:952 msgid "WB RB Levels CWB1" msgstr "" #: src/olympusmn.cpp:952 msgid "WB RB levels CWB1" msgstr "" #: src/olympusmn.cpp:953 #, fuzzy msgid "WB RB Levels CWB2" msgstr "Рівень чорного 2" #: src/olympusmn.cpp:953 #, fuzzy msgid "WB RB levels CWB2" msgstr "Рівень чорного 2" #: src/olympusmn.cpp:954 msgid "WB RB Levels CWB3" msgstr "" #: src/olympusmn.cpp:954 msgid "WB RB levels CWB3" msgstr "" #: src/olympusmn.cpp:955 msgid "WB RB Levels CWB4" msgstr "" #: src/olympusmn.cpp:955 msgid "WB RB levels CWB4" msgstr "" #: src/olympusmn.cpp:956 msgid "WB G Level 3000K" msgstr "" #: src/olympusmn.cpp:956 msgid "WB G level 3000K" msgstr "" #: src/olympusmn.cpp:957 msgid "WB G Level 3300K" msgstr "" #: src/olympusmn.cpp:957 msgid "WB G level 3300K" msgstr "" #: src/olympusmn.cpp:958 msgid "WB G Level 3600K" msgstr "" #: src/olympusmn.cpp:958 msgid "WB G level 3600K" msgstr "" #: src/olympusmn.cpp:959 msgid "WB G Level 3900K" msgstr "" #: src/olympusmn.cpp:959 msgid "WB G level 3900K" msgstr "" #: src/olympusmn.cpp:960 msgid "WB G Level 4000K" msgstr "" #: src/olympusmn.cpp:960 msgid "WB G level 4000K" msgstr "" #: src/olympusmn.cpp:961 msgid "WB G Level 4300K" msgstr "" #: src/olympusmn.cpp:961 msgid "WB G level 4300K" msgstr "" #: src/olympusmn.cpp:962 msgid "WB G Level 4500K" msgstr "" #: src/olympusmn.cpp:962 msgid "WB G level 4500K" msgstr "" #: src/olympusmn.cpp:963 msgid "WB G Level 4800K" msgstr "" #: src/olympusmn.cpp:963 msgid "WB G level 4800K" msgstr "" #: src/olympusmn.cpp:964 msgid "WB G Level 5300K" msgstr "" #: src/olympusmn.cpp:964 msgid "WB G level 5300K" msgstr "" #: src/olympusmn.cpp:965 msgid "WB G Level 6000K" msgstr "" #: src/olympusmn.cpp:965 msgid "WB G level 6000K" msgstr "" #: src/olympusmn.cpp:966 msgid "WB G Level 6600K" msgstr "" #: src/olympusmn.cpp:966 msgid "WB G level 6600K" msgstr "" #: src/olympusmn.cpp:967 msgid "WB G Level 7500K" msgstr "" #: src/olympusmn.cpp:967 msgid "WB G level 7500K" msgstr "" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G Level" msgstr "Рівень чорного" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G level" msgstr "Рівень чорного" #: src/olympusmn.cpp:970 msgid "Enhancer" msgstr "" #: src/olympusmn.cpp:971 #, fuzzy msgid "Enhancer Values" msgstr "Значення брекетингу" #: src/olympusmn.cpp:971 msgid "Enhancer values" msgstr "" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring Filter" msgstr "Фільтр кольорів" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring Values" msgstr "Значення яскравості" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring values" msgstr "Значення яскравості" #: src/olympusmn.cpp:974 src/tags.cpp:915 msgid "Black Level" msgstr "Рівень чорного" #: src/olympusmn.cpp:975 #, fuzzy msgid "Gain Base" msgstr "Основа" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "" #: src/olympusmn.cpp:976 msgid "Valid Bits" msgstr "" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 #, fuzzy msgid "Crop Left" msgstr "Далеко ліворуч" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 #, fuzzy msgid "Crop left" msgstr "вгорі ліворуч" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 msgid "Crop Top" msgstr "" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 msgid "Crop top" msgstr "" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 msgid "Crop Width" msgstr "" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 msgid "Crop width" msgstr "" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 #, fuzzy msgid "Crop Height" msgstr "вгорі праворуч" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 #, fuzzy msgid "Crop height" msgstr "вгорі праворуч" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple Exposure Mode" msgstr "Режим експозиції" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple exposure mode" msgstr "Мультиекспонування" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 msgid "Aspect Ratio" msgstr "Співвідношення сторін" #: src/olympusmn.cpp:985 msgid "Aspect ratio" msgstr "Співвідношення" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect Frame" msgstr "Співвідношення" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect frame" msgstr "Співвідношення" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 msgid "Face Detect" msgstr "Виявлення облич" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 msgid "Face detect" msgstr "Виявлення облич" #: src/olympusmn.cpp:988 #, fuzzy msgid "Face Detect Area" msgstr "Виявлення облич" #: src/olympusmn.cpp:988 #, fuzzy msgid "Face detect area" msgstr "Виявлення облич" #: src/olympusmn.cpp:990 #, fuzzy msgid "Unknown OlympusIp tag" msgstr "Невідома мітка" #: src/olympusmn.cpp:1000 msgid "Bounce or Off" msgstr "" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "" #: src/olympusmn.cpp:1005 #, fuzzy msgid "Focus Info Version" msgstr "Позиція фокусування" #: src/olympusmn.cpp:1005 #, fuzzy msgid "Focus info version" msgstr "Позиція фокусування" #: src/olympusmn.cpp:1006 msgid "Auto Focus" msgstr "Автоматичне фокусування" #: src/olympusmn.cpp:1007 msgid "Scene Detect" msgstr "Виявлення сцени" #: src/olympusmn.cpp:1007 msgid "Scene detect" msgstr "Виявлення сцени" #: src/olympusmn.cpp:1008 #, fuzzy msgid "Scene Area" msgstr "Одиночна область" #: src/olympusmn.cpp:1008 #, fuzzy msgid "Scene area" msgstr "Одиночна область" #: src/olympusmn.cpp:1009 #, fuzzy msgid "Scene Detect Data" msgstr "Виявлення сцени" #: src/olympusmn.cpp:1009 #, fuzzy msgid "Scene detect data" msgstr "Виявлення сцени" #: src/olympusmn.cpp:1010 msgid "Zoom Step Count" msgstr "Кількість кроків масштабування" #: src/olympusmn.cpp:1011 msgid "Focus Step Count" msgstr "Кількість кроків фокусування" #: src/olympusmn.cpp:1011 msgid "Focus step count" msgstr "Кількість кроків фокусування" #: src/olympusmn.cpp:1012 #, fuzzy msgid "Focus Step Infinity" msgstr "Кількість кроків фокусування" #: src/olympusmn.cpp:1012 #, fuzzy msgid "Focus step infinity" msgstr "Кількість кроків фокусування" #: src/olympusmn.cpp:1013 #, fuzzy msgid "Focus Step Near" msgstr "Кількість кроків фокусування" #: src/olympusmn.cpp:1013 #, fuzzy msgid "Focus step near" msgstr "Кількість кроків фокусування" #: src/olympusmn.cpp:1016 msgid "External Flash" msgstr "Зовнішній спалах" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External Flash Guide Number" msgstr "Режим зовнішнього спалаху" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External flash guide number" msgstr "Режим зовнішнього спалаху" #: src/olympusmn.cpp:1021 #, fuzzy msgid "Manual Flash" msgstr "Налаштовувана потужність спалаху" #: src/olympusmn.cpp:1021 #, fuzzy msgid "Manual flash" msgstr "Налаштовувана потужність спалаху" #: src/olympusmn.cpp:1025 #, fuzzy msgid "Unknown OlympusFi tag" msgstr "Невідома мітка" #: src/olympusmn.cpp:1036 #, fuzzy msgid "Unknown OlympusFe tag" msgstr "Невідома мітка" #: src/olympusmn.cpp:1049 msgid "Fine Weather" msgstr "Ясна погода" #: src/olympusmn.cpp:1050 #, fuzzy msgid "Tungsten (incandescent)" msgstr "Лампа розжарювання (світло дуги)" #: src/olympusmn.cpp:1051 #, fuzzy msgid "Evening Sunlight" msgstr "Вечір сцена" #: src/olympusmn.cpp:1052 msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "Флуоресцентна лампа денного світла (D5700 - 7100K)" #: src/olympusmn.cpp:1053 msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "Флуоресцентна лампа з білим світлом (N4600 - 5400K)" #: src/olympusmn.cpp:1054 msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "Флуоресцентна лампа з холодним білим світлом (W3900 - 4500K)" #: src/olympusmn.cpp:1055 msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "Флуоресцентна лампа з білим світлом (WW 3200 - 3700 K)" #: src/olympusmn.cpp:1056 msgid "One Touch White Balance" msgstr "Баланс білого у один дотик" #: src/olympusmn.cpp:1057 #, fuzzy msgid "Custom 1-4" msgstr "Інше 1" #: src/olympusmn.cpp:1061 #, fuzzy msgid "Raw Info Version" msgstr "Версія ARM" #: src/olympusmn.cpp:1061 #, fuzzy msgid "Raw info version" msgstr "Версія Exif" #: src/olympusmn.cpp:1062 msgid "WB_RB Levels Used" msgstr "" #: src/olympusmn.cpp:1062 msgid "WB_RB levels used" msgstr "" #: src/olympusmn.cpp:1063 msgid "WB_RB Levels Auto" msgstr "" #: src/olympusmn.cpp:1063 msgid "WB_RB levels auto" msgstr "" #: src/olympusmn.cpp:1064 msgid "WB_RB Levels Shade" msgstr "" #: src/olympusmn.cpp:1064 msgid "WB_RB levels shade" msgstr "" #: src/olympusmn.cpp:1065 msgid "WB_RB Levels Cloudy" msgstr "" #: src/olympusmn.cpp:1065 msgid "WB_RB levels cloudy" msgstr "" #: src/olympusmn.cpp:1066 #, fuzzy msgid "WB_RB Levels Fine Weather" msgstr "Ясна погода" #: src/olympusmn.cpp:1066 msgid "WB_RB levels fine weather" msgstr "" #: src/olympusmn.cpp:1067 msgid "WB_RB Levels Tungsten" msgstr "" #: src/olympusmn.cpp:1067 msgid "WB_RB levels tungsten" msgstr "" #: src/olympusmn.cpp:1068 msgid "WB_RB Levels Evening Sunlight" msgstr "" #: src/olympusmn.cpp:1068 msgid "WB_RB levels evening sunlight" msgstr "" #: src/olympusmn.cpp:1069 msgid "WB_RB Levels Daylight Fluor" msgstr "" #: src/olympusmn.cpp:1069 msgid "WB_RB levels daylight fluor" msgstr "" #: src/olympusmn.cpp:1070 msgid "WB_RB Levels Day White Fluor" msgstr "" #: src/olympusmn.cpp:1070 msgid "WB_RB levels day white fluor" msgstr "" #: src/olympusmn.cpp:1071 msgid "WB_RB Levels Cool White Fluor" msgstr "" #: src/olympusmn.cpp:1071 msgid "WB_RB levels cool white fluor" msgstr "" #: src/olympusmn.cpp:1072 #, fuzzy msgid "WB_RB Levels White Fluorescent" msgstr "Холодне біле флуоресцентне" #: src/olympusmn.cpp:1072 #, fuzzy msgid "WB_RB levels white fluorescent" msgstr "Біле флуоресцентне" #: src/olympusmn.cpp:1073 msgid "Color Matrix2" msgstr "Матриця кольорів 2" #: src/olympusmn.cpp:1073 msgid "Color matrix 2" msgstr "Матриця кольорів 2" #: src/olympusmn.cpp:1076 msgid "Black Level 2" msgstr "Рівень чорного 2" #: src/olympusmn.cpp:1076 msgid "Black level 2" msgstr "Рівень чорного 2" #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 msgid "YCbCr Coefficients" msgstr "Коефіцієнти YCbCr" #: src/olympusmn.cpp:1077 msgid "YCbCr coefficients" msgstr "Коефіцієнти YCbCr" #: src/olympusmn.cpp:1078 msgid "Valid Pixel Depth" msgstr "" #: src/olympusmn.cpp:1078 msgid "Valid pixel depth" msgstr "" #: src/olympusmn.cpp:1084 #, fuzzy msgid "White Balance Comp" msgstr "Баланс білого 2" #: src/olympusmn.cpp:1084 #, fuzzy msgid "White balance comp" msgstr "Баланс білого 2" #: src/olympusmn.cpp:1085 #, fuzzy msgid "Saturation Setting" msgstr "Налаштування насиченості" #: src/olympusmn.cpp:1086 #, fuzzy msgid "Hue Setting" msgstr "Параметри enfuse" #: src/olympusmn.cpp:1086 #, fuzzy msgid "Hue setting" msgstr "AE налаштування" #: src/olympusmn.cpp:1089 #, fuzzy msgid "CM Exposure Compensation" msgstr "Компенсація експозиції" #: src/olympusmn.cpp:1089 #, fuzzy msgid "CM exposure compensation" msgstr "Компенсація експозиції" #: src/olympusmn.cpp:1090 #, fuzzy msgid "CM White Balance" msgstr "Баланс білого" #: src/olympusmn.cpp:1090 #, fuzzy msgid "CM white balance" msgstr "Баланс білого" #: src/olympusmn.cpp:1091 #, fuzzy msgid "CM White Balance Comp" msgstr "Баланс білого 2" #: src/olympusmn.cpp:1091 #, fuzzy msgid "CM white balance comp" msgstr "Баланс білого 2" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM White Balance Gray Point" msgstr "Брекетинг балансу білого" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM white balance gray point" msgstr "Брекетинг балансу білого" #: src/olympusmn.cpp:1093 #, fuzzy msgid "CM Saturation" msgstr "Насиченість" #: src/olympusmn.cpp:1093 #, fuzzy msgid "CM saturation" msgstr "Насиченість" #: src/olympusmn.cpp:1094 #, fuzzy msgid "CM Hue" msgstr "Відтінок кольору" #: src/olympusmn.cpp:1094 #, fuzzy msgid "CM hue" msgstr "Відтінок кольору" #: src/olympusmn.cpp:1095 #, fuzzy msgid "CM Contrast" msgstr "Контраст" #: src/olympusmn.cpp:1095 #, fuzzy msgid "CM contrast" msgstr "Контраст" #: src/olympusmn.cpp:1096 #, fuzzy msgid "CM Sharpness" msgstr "Різкість" #: src/olympusmn.cpp:1096 #, fuzzy msgid "CM sharpness" msgstr "Різкість" #: src/olympusmn.cpp:1098 #, fuzzy msgid "Unknown OlympusRi tag" msgstr "Невідома мітка" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 msgid "User-Selected" msgstr "Вибрана користувачем" #: src/olympusmn.cpp:1122 #, fuzzy msgid "Auto-Override" msgstr "Автодіафрагма" #: src/olympusmn.cpp:1158 msgid "Fast" msgstr "Швидкий" #: src/olympusmn.cpp:1223 msgid "3000 Kelvin" msgstr "3000 K" #: src/olympusmn.cpp:1224 msgid "3700 Kelvin" msgstr "3700 K" #: src/olympusmn.cpp:1225 msgid "4000 Kelvin" msgstr "4000 K" #: src/olympusmn.cpp:1226 msgid "4500 Kelvin" msgstr "4500 K" #: src/olympusmn.cpp:1227 msgid "5500 Kelvin" msgstr "5500 K" #: src/olympusmn.cpp:1228 msgid "6500 Kelvin" msgstr "6500 K" #: src/olympusmn.cpp:1229 msgid "7500 Kelvin" msgstr "7500 K" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "Один дотик" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "S-AF" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "C-AF" #: src/olympusmn.cpp:1456 #, fuzzy msgid "Imager AF" msgstr "Розмір зображення" #: src/olympusmn.cpp:1457 msgid "AF sensor" msgstr "" #: src/olympusmn.cpp:1502 #, fuzzy msgid "Soft Focus" msgstr "Фокусування за плямами" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "" #: src/olympusmn.cpp:1505 #, fuzzy msgid "Light Tone" msgstr "Права зона" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "" #: src/olympusmn.cpp:1508 msgid "Diorama" msgstr "" #: src/olympusmn.cpp:1509 #, fuzzy msgid "Cross Process" msgstr "Нетиповою обробкою" #: src/olympusmn.cpp:1510 msgid "Fish Eye" msgstr "Риб'яче око" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "Малюнок" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "" #: src/olympusmn.cpp:1513 msgid "Pale & Light Color II" msgstr "" #: src/olympusmn.cpp:1514 msgid "Pop Art II" msgstr "" #: src/olympusmn.cpp:1515 msgid "Pin Hole II" msgstr "" #: src/olympusmn.cpp:1516 msgid "Pin Hole III" msgstr "" #: src/olympusmn.cpp:1517 msgid "Grainy Film II" msgstr "" #: src/olympusmn.cpp:1518 msgid "Dramatic Tone" msgstr "" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "" #: src/olympusmn.cpp:1520 #, fuzzy msgid "Soft Focus 2" msgstr "Фокусування за плямами" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "" #: src/olympusmn.cpp:1522 #, fuzzy msgid "Watercolor" msgstr "Натуральний колір" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "" #: src/olympusmn.cpp:1525 #, fuzzy msgid "Miniature" msgstr "Мінімальна діафрагма" #: src/olympusmn.cpp:1526 #, fuzzy msgid "Reflection" msgstr "Вибрані" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "" #: src/olympusmn.cpp:1528 #, fuzzy msgid "Cross Process II" msgstr "Нетиповою обробкою" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "" #: src/olympusmn.cpp:1530 #, fuzzy msgid "Watercolor I" msgstr "Натуральний колір" #: src/olympusmn.cpp:1531 #, fuzzy msgid "Watercolor II" msgstr "Натуральний колір" #: src/olympusmn.cpp:1532 msgid "Diorama II" msgstr "" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "" #: src/olympusmn.cpp:1534 msgid "Vintage II" msgstr "" #: src/olympusmn.cpp:1535 msgid "Vintage III" msgstr "" #: src/olympusmn.cpp:1536 #, fuzzy msgid "Partial Color" msgstr "Натуральний колір" #: src/olympusmn.cpp:1537 #, fuzzy msgid "Partial Color II" msgstr "Натуральний колір" #: src/olympusmn.cpp:1538 #, fuzzy msgid "Partial Color III" msgstr "Натуральний колір" #: src/olympusmn.cpp:1608 #, fuzzy msgid "Left (or n/a)" msgstr "Ліва зона" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 #, fuzzy msgid "Center (horizontal)" msgstr "Згори ліворуч горизонтально" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 #, fuzzy msgid "Center (vertical)" msgstr "Згори ліворуч вертикально" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "Згори ліворуч горизонтально" #: src/olympusmn.cpp:1623 #, fuzzy msgid "Top-center (horizontal)" msgstr "Згори ліворуч горизонтально" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "Згори праворуч горизонтально" #: src/olympusmn.cpp:1625 #, fuzzy msgid "Left (horizontal)" msgstr "Згори ліворуч горизонтально" #: src/olympusmn.cpp:1626 #, fuzzy msgid "Mid-left (horizontal)" msgstr "Згори ліворуч горизонтально" #: src/olympusmn.cpp:1628 #, fuzzy msgid "Mid-right (horizontal)" msgstr "Згори праворуч горизонтально" #: src/olympusmn.cpp:1629 #, fuzzy msgid "Right (horizontal)" msgstr "Згори праворуч горизонтально" #: src/olympusmn.cpp:1630 msgid "Bottom-left (horizontal)" msgstr "Знизу ліворуч горизонтально" #: src/olympusmn.cpp:1631 #, fuzzy msgid "Bottom-center (horizontal)" msgstr "Знизу ліворуч горизонтально" #: src/olympusmn.cpp:1632 msgid "Bottom-right (horizontal)" msgstr "Знизу праворуч горизонтально" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "Згори ліворуч вертикально" #: src/olympusmn.cpp:1634 #, fuzzy msgid "Top-center (vertical)" msgstr "Згори ліворуч вертикально" #: src/olympusmn.cpp:1635 msgid "Top-right (vertical)" msgstr "Згори праворуч вертикально" #: src/olympusmn.cpp:1636 #, fuzzy msgid "Left (vertical)" msgstr "Згори ліворуч вертикально" #: src/olympusmn.cpp:1637 #, fuzzy msgid "Mid-left (vertical)" msgstr "Згори ліворуч вертикально" #: src/olympusmn.cpp:1639 #, fuzzy msgid "Mid-right (vertical)" msgstr "Згори праворуч вертикально" #: src/olympusmn.cpp:1640 #, fuzzy msgid "Right (vertical)" msgstr "Згори праворуч вертикально" #: src/olympusmn.cpp:1641 msgid "Bottom-left (vertical)" msgstr "Знизу ліворуч вертикально" #: src/olympusmn.cpp:1642 #, fuzzy msgid "Bottom-center (vertical)" msgstr "Знизу ліворуч вертикально" #: src/olympusmn.cpp:1643 msgid "Bottom-right (vertical)" msgstr "Знизу праворуч вертикально" #: src/olympusmn.cpp:1680 #, fuzzy msgid "Single Target" msgstr "Одиночна область" #: src/olympusmn.cpp:1681 #, fuzzy msgid "All Target" msgstr "ціль" #: src/olympusmn.cpp:1682 #, fuzzy msgid "Dynamic Single Target" msgstr "Параметр динамічного діапазону" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "TIFF" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 msgid "Very High" msgstr "Дуже високий" #: src/panasonicmn.cpp:60 msgid "Motion Picture" msgstr "Фільм" #: src/panasonicmn.cpp:61 #, fuzzy msgid "Full HD Movie" msgstr "Невеликий відеофрагмент" #: src/panasonicmn.cpp:62 #, fuzzy msgid "4k Movie" msgstr "Відео" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "Галогени" #: src/panasonicmn.cpp:83 #, fuzzy msgid "Auto, focus button" msgstr "Автоматичне фокусування" #: src/panasonicmn.cpp:84 #, fuzzy msgid "Auto, continuous" msgstr "Безперервний HS (Велика Швидкість)" #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "AF-S" #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "AF-C" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 msgid "Panning" msgstr "Панорамування" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "" #: src/panasonicmn.cpp:104 #, fuzzy msgid "Macro-zoom" msgstr "Макро" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 msgid "Scenery" msgstr "Декорації" #: src/panasonicmn.cpp:117 #, fuzzy msgid "Shutter-speed priority" msgstr "Пріоритет витримки швидкість AE" #: src/panasonicmn.cpp:121 #, fuzzy msgid "Movie preview" msgstr "Збереження попереднього перегляду" #: src/panasonicmn.cpp:123 msgid "Simple" msgstr "Просто" #: src/panasonicmn.cpp:124 msgid "Color effects" msgstr "Ефекти кольорів" #: src/panasonicmn.cpp:130 #, fuzzy msgid "Night scenery" msgstr "Нічне освітлення" #: src/panasonicmn.cpp:132 msgid "Baby" msgstr "" #: src/panasonicmn.cpp:133 #, fuzzy msgid "Soft skin" msgstr "М’який" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 msgid "Candlelight" msgstr "Світло свічок" #: src/panasonicmn.cpp:135 #, fuzzy msgid "Starry night" msgstr "Далеко праворуч" #: src/panasonicmn.cpp:136 msgid "High sensitivity" msgstr "Висока чутливість" #: src/panasonicmn.cpp:137 #, fuzzy msgid "Panorama assist" msgstr "Рамка панорами" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 #, fuzzy msgid "Intelligent ISO" msgstr "Довжина інтервалу" #: src/panasonicmn.cpp:144 #, fuzzy msgid "Clipboard" msgstr "Біла дошка" #: src/panasonicmn.cpp:145 #, fuzzy msgid "High speed continuous shooting" msgstr "Налаштування тривалості фокусування" #: src/panasonicmn.cpp:146 msgid "Intelligent auto" msgstr "" #: src/panasonicmn.cpp:147 #, fuzzy msgid "Multi-aspect" msgstr "Мульти-пляма" #: src/panasonicmn.cpp:148 msgid "Transform" msgstr "" #: src/panasonicmn.cpp:149 #, fuzzy msgid "Flash Burst" msgstr "Ухил спалаху" #: src/panasonicmn.cpp:151 #, fuzzy msgid "Film Grain" msgstr "Плівковий сканер" #: src/panasonicmn.cpp:152 #, fuzzy msgid "My Color" msgstr "Мої кольори" #: src/panasonicmn.cpp:153 #, fuzzy msgid "Photo Frame" msgstr "Рамка панорами" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 #, fuzzy msgid "Handheld Night Shot" msgstr "Висота зображення як у кадрі" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 #, fuzzy msgid "Creative Control" msgstr "Дистанційне керування" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 msgid "Digital Filter" msgstr "Цифровий фільтр" #: src/panasonicmn.cpp:162 #, fuzzy msgid "Clear Portrait" msgstr "Автопортрет" #: src/panasonicmn.cpp:163 msgid "Silky Skin" msgstr "" #: src/panasonicmn.cpp:164 msgid "Backlit Softness" msgstr "" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "" #: src/panasonicmn.cpp:166 #, fuzzy msgid "Relaxing Tone" msgstr "Зв’язок" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "" #: src/panasonicmn.cpp:168 #, fuzzy msgid "Distinct Scenery" msgstr "Вітер сцена" #: src/panasonicmn.cpp:169 #, fuzzy msgid "Bright Blue Sky" msgstr "Значення яскравості" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "" #: src/panasonicmn.cpp:177 #, fuzzy msgid "Glittering Illuminations" msgstr "Область освітлення АФ" #: src/panasonicmn.cpp:178 #, fuzzy msgid "Clear Night Portrait" msgstr "Нічний портрет" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "" #: src/panasonicmn.cpp:181 msgid "Cute Desert" msgstr "" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "" #: src/panasonicmn.cpp:183 msgid "Clear Sports Shot" msgstr "" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "" #: src/panasonicmn.cpp:198 msgid "Warm" msgstr "Тепло" #: src/panasonicmn.cpp:199 msgid "Cool" msgstr "Крутий" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "" #: src/panasonicmn.cpp:208 #, fuzzy msgid "Low/High quality" msgstr "Якість зображення" #: src/panasonicmn.cpp:209 msgid "Infinite" msgstr "Нескінченний" #: src/panasonicmn.cpp:217 msgid "Medium low" msgstr "Помірно низький" #: src/panasonicmn.cpp:218 msgid "Medium high" msgstr "Помірно високий" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "Низький (-1)" #: src/panasonicmn.cpp:229 msgid "High (+1)" msgstr "Високий (+1)" #: src/panasonicmn.cpp:230 msgid "Lowest (-2)" msgstr "Найнижчий (-2)" #: src/panasonicmn.cpp:231 msgid "Highest (+2)" msgstr "Найвищий (+2)" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 #, fuzzy msgid "Rotate 180" msgstr "Обернути на 90° за г. стр." #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "" #: src/panasonicmn.cpp:254 #, fuzzy msgid "Disabled but Required" msgstr "Не потрібне" #: src/panasonicmn.cpp:255 #, fuzzy msgid "Disabled and Not Required" msgstr "Не потрібне" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "" #: src/panasonicmn.cpp:282 src/properties.cpp:915 msgid "Home" msgstr "Домівка" #: src/panasonicmn.cpp:294 #, fuzzy msgid "Standard (color)" msgstr "Стандартна форма" #: src/panasonicmn.cpp:295 #, fuzzy msgid "Dynamic (color)" msgstr "Динамічна область" #: src/panasonicmn.cpp:296 #, fuzzy msgid "Nature (color)" msgstr "Натуральний колір" #: src/panasonicmn.cpp:297 #, fuzzy msgid "Smooth (color)" msgstr "Згладити" #: src/panasonicmn.cpp:298 #, fuzzy msgid "Standard (B&W)" msgstr "Стандартна " #: src/panasonicmn.cpp:299 #, fuzzy msgid "Dynamic (B&W)" msgstr "Динамічна область" #: src/panasonicmn.cpp:300 #, fuzzy msgid "Smooth (B&W)" msgstr "Згладити" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "" #: src/panasonicmn.cpp:307 #, fuzzy msgid "No Bracket" msgstr "Автообмеження" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:319 #, fuzzy msgid "1st" msgstr "10 с" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "" #: src/panasonicmn.cpp:349 #, fuzzy msgid "Extended" msgstr "Розширювач" #: src/panasonicmn.cpp:368 #, fuzzy msgid "NoAuto" msgstr "Авто" #: src/panasonicmn.cpp:369 #, fuzzy msgid "Standard or Custom" msgstr "Стандартна форма" #: src/panasonicmn.cpp:386 #, fuzzy msgid "Rotate CW" msgstr "Обернути на 90° за г. стр." #: src/panasonicmn.cpp:388 #, fuzzy msgid "Rotate CCW" msgstr "Обернути на 90° за г. стр." #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "" #: src/panasonicmn.cpp:396 #, fuzzy msgid "Left to Right" msgstr "Зліва праворуч" #: src/panasonicmn.cpp:397 #, fuzzy msgid "Right to Left" msgstr "Справа ліворуч" #: src/panasonicmn.cpp:398 #, fuzzy msgid "Top to Bottom" msgstr "Згори вниз" #: src/panasonicmn.cpp:399 #, fuzzy msgid "Bottom to Top" msgstr "Знизу догори" #: src/panasonicmn.cpp:405 #, fuzzy msgid "Time Lapse" msgstr "Час створення" #: src/panasonicmn.cpp:406 #, fuzzy msgid "Stop-Motion Animation" msgstr "Відомості про позицію автофокусу" #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "" #: src/panasonicmn.cpp:423 #, fuzzy msgid "Electronic" msgstr "Вибрані" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "Аудіо" #: src/panasonicmn.cpp:453 #, fuzzy msgid "White balance adjustment" msgstr "Точне коригування балансу білого" #: src/panasonicmn.cpp:454 #, fuzzy msgid "FlashBias" msgstr "Ухил спалаху" #: src/panasonicmn.cpp:456 src/tags.cpp:194 msgid "Exif version" msgstr "Версія Exif" #: src/panasonicmn.cpp:458 msgid "Color Effect" msgstr "Ефект кольорів" #: src/panasonicmn.cpp:458 msgid "Color effect" msgstr "Ефект кольорів" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" #: src/panasonicmn.cpp:460 #, fuzzy msgid "Burst Mode" msgstr "Режим вилки" #: src/panasonicmn.cpp:460 #, fuzzy msgid "Burst mode" msgstr "Режим фокусу" #: src/panasonicmn.cpp:463 #, fuzzy msgid "NoiseReduction" msgstr "Вилучення шумів" #: src/panasonicmn.cpp:464 msgid "Self Timer" msgstr "Автоспуск" #: src/panasonicmn.cpp:467 #, fuzzy msgid "AF Assist Lamp" msgstr "AF Асистент" #: src/panasonicmn.cpp:469 #, fuzzy msgid "Baby Age 1" msgstr "Вік 19" #: src/panasonicmn.cpp:469 msgid "Baby (or pet) age 1" msgstr "" #: src/panasonicmn.cpp:470 #, fuzzy msgid "Optical Zoom Mode" msgstr "Режим фільму" #: src/panasonicmn.cpp:470 #, fuzzy msgid "Optical zoom mode" msgstr "Режим фільму" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "" #: src/panasonicmn.cpp:474 msgid "World Time Location" msgstr "Розташування за всесвітнім часом" #: src/panasonicmn.cpp:474 msgid "World time location" msgstr "Розташування за всесвітнім часом" #: src/panasonicmn.cpp:475 msgid "Text Stamp 1" msgstr "" #: src/panasonicmn.cpp:476 #, fuzzy msgid "Program ISO" msgstr "Програма" #: src/panasonicmn.cpp:477 #, fuzzy msgid "Advanced Scene Type" msgstr "Тип сцени" #: src/panasonicmn.cpp:478 msgid "Text Stamp 2" msgstr "" #: src/panasonicmn.cpp:479 #, fuzzy msgid "Faces detected" msgstr "Виявлення облич" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temp Kelvin" msgstr "Налаштування Температури Кольору" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temperatur in Kelvin" msgstr "Кольорова температура" #: src/panasonicmn.cpp:484 #, fuzzy msgid "Bracket Settings" msgstr "Автовилка" #: src/panasonicmn.cpp:485 #, fuzzy msgid "WB Adjust AB" msgstr "Виправити" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "" #: src/panasonicmn.cpp:486 #, fuzzy msgid "WB Adjust GM" msgstr "Виправити" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "" #: src/panasonicmn.cpp:487 #, fuzzy msgid "Flash Curtain" msgstr "Дані щодо спалаху" #: src/panasonicmn.cpp:488 #, fuzzy msgid "Long Shutter Noise Reduction" msgstr "Зменшення шумів при довгій експозиції" #: src/panasonicmn.cpp:491 #, fuzzy msgid "AF Point Position" msgstr "Позиція автофокусу" #: src/panasonicmn.cpp:492 #, fuzzy msgid "Face detection info" msgstr "Виявлення облич" #: src/panasonicmn.cpp:495 #, fuzzy msgid "Accessory Type" msgstr "Тип Лінзи" #: src/panasonicmn.cpp:495 #, fuzzy msgid "Accessory type" msgstr "Тип лінзи" #: src/panasonicmn.cpp:496 #, fuzzy msgid "Accessory Serial Number" msgstr "Серійний номер фотоапарата" #: src/panasonicmn.cpp:497 msgid "Transform 1" msgstr "" #: src/panasonicmn.cpp:498 #, fuzzy msgid "Intelligent Exposure" msgstr "Автоекспозиція" #: src/panasonicmn.cpp:499 msgid "Firmware Version of the Lens" msgstr "" #: src/panasonicmn.cpp:500 #, fuzzy msgid "Face recognition info" msgstr "Виявлення облич" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash Warning" msgstr "Попередження про фокус" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash warning" msgstr "Дані щодо спалаху" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 msgid "Title" msgstr "Заголовок" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby Name" msgstr "Назва стрічки" #: src/panasonicmn.cpp:503 msgid "Baby name (or pet name)" msgstr "" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 msgid "Location" msgstr "Адреса" #: src/panasonicmn.cpp:506 src/properties.cpp:441 msgid "State" msgstr "Область" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "" #: src/panasonicmn.cpp:509 msgid "Intelligent resolution" msgstr "" #: src/panasonicmn.cpp:510 #, fuzzy msgid "Burst Speed" msgstr "Швидкість затвору" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "" #: src/panasonicmn.cpp:511 #, fuzzy msgid "Intelligent Dynamic Range" msgstr "Динамічні Межі Розробки" #: src/panasonicmn.cpp:512 msgid "Clear Retouch" msgstr "" #: src/panasonicmn.cpp:513 #, fuzzy msgid "City2" msgstr "Місто/Селище" #: src/panasonicmn.cpp:515 #, fuzzy msgid "Photo style" msgstr "Стиль зображення" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "" #: src/panasonicmn.cpp:518 msgid "Accelerometer X" msgstr "" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "" #: src/panasonicmn.cpp:519 msgid "Accelerometer Y" msgstr "" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "" #: src/panasonicmn.cpp:520 #, fuzzy msgid "Camera Orientation" msgstr "Орієнтація зображення" #: src/panasonicmn.cpp:521 #, fuzzy msgid "Roll Angle" msgstr "Лос-Анджелес" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "" #: src/panasonicmn.cpp:523 #, fuzzy msgid "Sweep Panorama Direction" msgstr "Напрямок панорами" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "" #: src/panasonicmn.cpp:525 #, fuzzy msgid "Timer Recording" msgstr "Запис RAW+JPG" #: src/panasonicmn.cpp:526 #, fuzzy msgid "Internal ND Filter" msgstr "Внутрішнє+зовнішнє" #: src/panasonicmn.cpp:528 #, fuzzy msgid "Shutter Type" msgstr "Швидкість затвору" #: src/panasonicmn.cpp:529 #, fuzzy msgid "Clear Retouch Value" msgstr "Розмір діафрагми" #: src/panasonicmn.cpp:530 msgid "TouchAE" msgstr "" #: src/panasonicmn.cpp:533 #, fuzzy msgid "MakerNote Version" msgstr "Версія Makernote" #: src/panasonicmn.cpp:533 #, fuzzy msgid "MakerNote version" msgstr "Версія Makernote" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 #, fuzzy msgid "WB Red Level" msgstr "Налаштовуваний рівень червоного (ББ)" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 #, fuzzy msgid "WB red level" msgstr "Налаштовуваний рівень червоного (ББ)" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 #, fuzzy msgid "WB Green Level" msgstr "Налаштовуваний рівень зеленого (ББ)" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 #, fuzzy msgid "WB green level" msgstr "Налаштовуваний рівень зеленого (ББ)" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 #, fuzzy msgid "WB Blue Level" msgstr "Налаштовуваний рівень блакитного (ББ)" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 #, fuzzy msgid "WB blue level" msgstr "Налаштовуваний рівень блакитного (ББ)" #: src/panasonicmn.cpp:539 msgid "Text Stamp 3" msgstr "" #: src/panasonicmn.cpp:540 msgid "Text Stamp 4" msgstr "" #: src/panasonicmn.cpp:541 #, fuzzy msgid "Baby Age 2" msgstr "Вік 24" #: src/panasonicmn.cpp:541 msgid "Baby (or pet) age 2" msgstr "" #: src/panasonicmn.cpp:542 msgid "Transform 2" msgstr "" #: src/panasonicmn.cpp:544 #, fuzzy msgid "Unknown PanasonicMakerNote tag" msgstr "Невідома мітка CanonMakerNote" #: src/panasonicmn.cpp:562 msgid "Spot mode on or 9 area" msgstr "" #: src/panasonicmn.cpp:563 msgid "Spot mode off or 3-area (high speed)" msgstr "" #: src/panasonicmn.cpp:564 msgid "23-area" msgstr "" #: src/panasonicmn.cpp:565 #, fuzzy msgid "Spot focussing" msgstr "Фокусування за плямами" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "" #: src/panasonicmn.cpp:568 msgid "1-area (high speed)" msgstr "" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "" #: src/panasonicmn.cpp:572 #, fuzzy msgid "3-area (right)" msgstr "Далеко праворуч" #: src/panasonicmn.cpp:574 #, fuzzy msgid "Spot Focusing 2" msgstr "Фокусування за плямами" #: src/panasonicmn.cpp:588 msgid " EV" msgstr "" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 #, fuzzy msgid "not set" msgstr "не встановлено\n" #: src/panasonicmn.cpp:725 #, fuzzy msgid "Panasonic raw version" msgstr "Версія програми" #: src/panasonicmn.cpp:726 #, fuzzy msgid "Sensor Width" msgstr "Інформація про сенсор" #: src/panasonicmn.cpp:726 #, fuzzy msgid "Sensor width" msgstr "Інформація про сенсор" #: src/panasonicmn.cpp:727 #, fuzzy msgid "Sensor Height" msgstr "Очищення датчика" #: src/panasonicmn.cpp:727 #, fuzzy msgid "Sensor height" msgstr "Очищення датчика" #: src/panasonicmn.cpp:728 #, fuzzy msgid "Sensor Top Border" msgstr "Температура датчика" #: src/panasonicmn.cpp:728 #, fuzzy msgid "Sensor top border" msgstr "Температура датчика" #: src/panasonicmn.cpp:729 #, fuzzy msgid "Sensor Left Border" msgstr "Інформація про Сенсор" #: src/panasonicmn.cpp:729 #, fuzzy msgid "Sensor left border" msgstr "Рівень синього на датчику" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "" #: src/panasonicmn.cpp:739 src/tags.cpp:469 msgid "Manufacturer" msgstr "Виробник" #: src/panasonicmn.cpp:739 msgid "The manufacturer of the recording equipment" msgstr "" #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 msgid "Model" msgstr "Модель" #: src/panasonicmn.cpp:740 msgid "The model name or model number of the equipment" msgstr "" #: src/panasonicmn.cpp:741 src/tags.cpp:481 #, fuzzy msgid "Strip Offsets" msgstr "Зміщення" #: src/panasonicmn.cpp:741 #, fuzzy msgid "Strip offsets" msgstr "зміщення" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 msgid "Orientation" msgstr "Орієнтація" #: src/panasonicmn.cpp:743 msgid "Rows Per Strip" msgstr "Рядків на смугу" #: src/panasonicmn.cpp:743 #, fuzzy msgid "The number of rows per strip" msgstr "Кількість тактів." #: src/panasonicmn.cpp:744 msgid "Strip Byte Counts" msgstr "" #: src/panasonicmn.cpp:744 msgid "Strip byte counts" msgstr "" #: src/panasonicmn.cpp:745 #, fuzzy msgid "Raw Data Offset" msgstr "Зміщення VRD" #: src/panasonicmn.cpp:745 #, fuzzy msgid "Raw data offset" msgstr "Відступ області зображення" #: src/panasonicmn.cpp:746 src/tags.cpp:797 msgid "Exif IFD Pointer" msgstr "" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "" #: src/panasonicmn.cpp:747 src/tags.cpp:808 msgid "GPS Info IFD Pointer" msgstr "" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "" #: src/panasonicmn.cpp:749 #, fuzzy msgid "Unknown PanasonicRaw tag" msgstr "Невідомий панорамний тег Canon" #: src/pentaxmn.cpp:57 msgid "Night-Scene" msgstr "Нічне освітлення" #: src/pentaxmn.cpp:199 msgid "Good" msgstr "Добре" #: src/pentaxmn.cpp:200 msgid "Better" msgstr "Краще" #: src/pentaxmn.cpp:201 msgid "Best" msgstr "Найкраще" #: src/pentaxmn.cpp:204 msgid "Premium" msgstr "Вищий сорт" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "2560x1920 або 2304x1728" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "2304x1728 або 2592x1944" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "2816x2212 або 2816x2112" #: src/pentaxmn.cpp:247 msgid "Auto, Did not fire" msgstr "Авто, не спрацювала" #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 #, fuzzy msgid "Off, Did not fire" msgstr "Не спрацював" #: src/pentaxmn.cpp:250 msgid "Auto, Did not fire, Red-eye reduction" msgstr "Авто, не спрацювала, прибирання «червоних очей»" #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:252 msgid "Auto, Fired" msgstr "Авто, спрацювала" #: src/pentaxmn.cpp:253 #, fuzzy msgid "On, Fired" msgstr "Використано" #: src/pentaxmn.cpp:254 msgid "Auto, Fired, Red-eye reduction" msgstr "Авто, спрацювала, усування «червоних очей»" #: src/pentaxmn.cpp:255 msgid "On, Red-eye reduction" msgstr "Увімкнено, усування «червоних очей»" #: src/pentaxmn.cpp:256 msgid "On, Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:257 msgid "On, Wireless (Control)" msgstr "" #: src/pentaxmn.cpp:258 msgid "On, Soft" msgstr "Увімкнено, програмний" #: src/pentaxmn.cpp:259 msgid "On, Slow-sync" msgstr "Увімкнено, повільна синхронізація" #: src/pentaxmn.cpp:260 msgid "On, Slow-sync, Red-eye reduction" msgstr "Увімкнено, повільна синхронізація, усування «червоних очей»" #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "" #: src/pentaxmn.cpp:272 msgid "Pan Focus" msgstr "Панорамне фокусування" #: src/pentaxmn.cpp:275 msgid "AF-A" msgstr "AF-A" #: src/pentaxmn.cpp:276 #, fuzzy msgid "Contrast-detect" msgstr "Контрастний автофокус" #: src/pentaxmn.cpp:277 #, fuzzy msgid "Tracking Contrast-detect" msgstr "Контрастний автофокус" #: src/pentaxmn.cpp:284 msgid "Fixed Center" msgstr "Фіксована за центром" #: src/pentaxmn.cpp:285 #, fuzzy msgid "Automatic Tracking AF" msgstr "Автоматична АФ" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "" #: src/pentaxmn.cpp:287 #, fuzzy msgid "AF Select" msgstr "Вибрані" #: src/pentaxmn.cpp:305 #, fuzzy msgid "Fixed Center or multiple" msgstr "Фіксована за центром" #: src/pentaxmn.cpp:307 msgid "Top-center" msgstr "Посередині згори" #: src/pentaxmn.cpp:313 msgid "Bottom-center" msgstr "Посередині знизу" #: src/pentaxmn.cpp:402 #, fuzzy msgid "Multi Segment" msgstr "Мульти-сегмент" #: src/pentaxmn.cpp:403 msgid "Center Weighted" msgstr "Центрально-зважений" #: src/pentaxmn.cpp:415 #, fuzzy msgid "DaylightFluorescent" msgstr "Денне світло" #: src/pentaxmn.cpp:416 #, fuzzy msgid "DaywhiteFluorescent" msgstr "Тепле біле флуоресцентне" #: src/pentaxmn.cpp:417 #, fuzzy msgid "WhiteFluorescent" msgstr "Біле флуоресцентне" #: src/pentaxmn.cpp:420 #, fuzzy msgid "Color Temperature Enhancement" msgstr "Налаштування Температури Кольору" #: src/pentaxmn.cpp:423 msgid "User Selected" msgstr "Вибрана користувачем" #: src/pentaxmn.cpp:428 #, fuzzy msgid "Auto (Daylight)" msgstr "Денне світло" #: src/pentaxmn.cpp:429 #, fuzzy msgid "Auto (Shade)" msgstr "Автоматично визначати ISO" #: src/pentaxmn.cpp:430 #, fuzzy msgid "Auto (Flash)" msgstr "Без спалаху" #: src/pentaxmn.cpp:431 #, fuzzy msgid "Auto (Tungsten)" msgstr "Лампа розжарювання" #: src/pentaxmn.cpp:432 #, fuzzy msgid "Auto (DaylightFluorescent)" msgstr "Денне світло" #: src/pentaxmn.cpp:433 #, fuzzy msgid "Auto (DaywhiteFluorescent)" msgstr "Тепле біле флуоресцентне" #: src/pentaxmn.cpp:434 #, fuzzy msgid "Auto (WhiteFluorescent)" msgstr "Холодне біле флуоресцентне" #: src/pentaxmn.cpp:435 #, fuzzy msgid "Auto (Cloudy)" msgstr "Хмарно" #: src/pentaxmn.cpp:437 #, fuzzy msgid "Preset (Fireworks?)" msgstr "Феєрверк" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 #, fuzzy msgid "Med Low" msgstr "Дуже низький" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 #, fuzzy msgid "Med High" msgstr "Дуже високий" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "-4" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "+4" #: src/pentaxmn.cpp:473 #, fuzzy msgid "Med Soft" msgstr "М’який" #: src/pentaxmn.cpp:474 #, fuzzy msgid "Med Hard" msgstr "Жорсткий" #: src/pentaxmn.cpp:475 #, fuzzy msgid "Very Soft" msgstr "Дуже низький" #: src/pentaxmn.cpp:476 #, fuzzy msgid "Very Hard" msgstr "Дуже високий" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 #, fuzzy msgid "Home town" msgstr "Місцевий час (DST)" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "Паго-Паго" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "Гонолулу" #: src/pentaxmn.cpp:491 msgid "Anchorage" msgstr "Анкорідж" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "Ванкувер" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "Сан-Франциско" #: src/pentaxmn.cpp:494 msgid "Los Angeles" msgstr "Лос-Анджелес" #: src/pentaxmn.cpp:495 msgid "Calgary" msgstr "Калгарі" #: src/pentaxmn.cpp:496 msgid "Denver" msgstr "Денвер" #: src/pentaxmn.cpp:497 msgid "Mexico City" msgstr "Мехіко" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "Чикаго" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "Майамі" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "Торонто" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "Нью-Йорк" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "Сантьяго" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "Каракас" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "Галіфакс" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "Буенос-Айрес" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "Сан-Паулу" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "Ріо-де-Жанейро" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "Мадрид" #: src/pentaxmn.cpp:509 msgid "London" msgstr "Лондон" #: src/pentaxmn.cpp:510 msgid "Paris" msgstr "Париж" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "Мілан" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "Рим" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "Берлін" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "Йоганнесбург" #: src/pentaxmn.cpp:515 msgid "Istanbul" msgstr "Стамбул" #: src/pentaxmn.cpp:516 msgid "Cairo" msgstr "Каїр" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "Єрусалим" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "Москва" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "Джедда" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "Тегеран" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "Дубаї" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "Карачі" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "Кабул" #: src/pentaxmn.cpp:524 msgid "Male" msgstr "Мале" #: src/pentaxmn.cpp:525 msgid "Delhi" msgstr "Делі" #: src/pentaxmn.cpp:526 msgid "Colombo" msgstr "Коломбо" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "Катманду" #: src/pentaxmn.cpp:528 msgid "Dacca" msgstr "Дакка" #: src/pentaxmn.cpp:529 msgid "Yangon" msgstr "Янгон" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "Бангкок" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "Куала-Лумпур" #: src/pentaxmn.cpp:532 msgid "Vientiane" msgstr "В'єнтьян" #: src/pentaxmn.cpp:533 msgid "Singapore" msgstr "Сінгапур" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "Пномпень" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "Хошимін" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "Джакарта" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "Гонконг" #: src/pentaxmn.cpp:538 msgid "Perth" msgstr "Перт" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "Пекін" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "Шанхай" #: src/pentaxmn.cpp:541 msgid "Manila" msgstr "Маніла" #: src/pentaxmn.cpp:542 msgid "Taipei" msgstr "Тайбей" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "Сеул" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "Аделаїда" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "Токіо" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "Гуам" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "Сідней" #: src/pentaxmn.cpp:548 msgid "Noumea" msgstr "Нумеа" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "Веллінгтон" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "Окленд" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "Ліма" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "Дакар" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "Алжир" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "Гельсінкі" #: src/pentaxmn.cpp:555 msgid "Athens" msgstr "Афіни" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "Найробі" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "Амстердам" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "Стокгольм" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "Лісабон" #: src/pentaxmn.cpp:560 msgid "Copenhagen" msgstr "Копенгаген" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "" #: src/pentaxmn.cpp:568 msgid "Unprocessed" msgstr "Без обробки" #: src/pentaxmn.cpp:570 #, fuzzy msgid "Resized" msgstr "розмір" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 msgid "Cropped" msgstr "" #: src/pentaxmn.cpp:573 #, fuzzy msgid "Digital Filter 6" msgstr "Цифровий фільтр" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 #, fuzzy msgid "Hi-speed Program" msgstr "Програма експозиції" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 #, fuzzy msgid "DOF Program" msgstr "Програма" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 #, fuzzy msgid "MTF Program" msgstr "Програма" #: src/pentaxmn.cpp:588 #, fuzzy msgid "Night Scene Portrait" msgstr "Нічний портрет" #: src/pentaxmn.cpp:589 msgid "No Flash" msgstr "Без спалаху" #: src/pentaxmn.cpp:592 msgid "Surf & Snow" msgstr "Поверхня і сніг" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "Діти" #: src/pentaxmn.cpp:600 msgid "Stage Lighting" msgstr "Сценічне освітлення" #: src/pentaxmn.cpp:601 #, fuzzy msgid "Night Snap" msgstr "Нічний пейзаж" #: src/pentaxmn.cpp:602 #, fuzzy msgid "Blue Sky" msgstr "Синій" #: src/pentaxmn.cpp:604 #, fuzzy msgid "Night Scene HDR" msgstr "Нічне освітлення" #: src/pentaxmn.cpp:606 #, fuzzy msgid "Quick Macro" msgstr "Супер Макро" #: src/pentaxmn.cpp:607 #, fuzzy msgid "Forest" msgstr "Флуоресцентна лампа" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "" #: src/pentaxmn.cpp:610 msgid "Auto PICT (Standard)" msgstr "" #: src/pentaxmn.cpp:611 #, fuzzy msgid "Auto PICT (Portrait)" msgstr "Автоконтрастність" #: src/pentaxmn.cpp:612 #, fuzzy msgid "Auto PICT (Landscape)" msgstr "Альбомна" #: src/pentaxmn.cpp:613 msgid "Auto PICT (Macro)" msgstr "" #: src/pentaxmn.cpp:614 #, fuzzy msgid "Auto PICT (Sport)" msgstr "Автоконтрастність" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 msgid "Green Mode" msgstr "Режим зеленого" #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 #, fuzzy msgid "Shutter Speed Priority" msgstr "Пріоритет витримки швидкість AE" #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 msgid "Aperture Priority" msgstr "Пріоритет діафрагми" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "Кнопка" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "" #: src/pentaxmn.cpp:631 #, fuzzy msgid "Program Tv Shift" msgstr "Програмне автоекспонування" #: src/pentaxmn.cpp:632 #, fuzzy msgid "Program Av Shift" msgstr "Програмне автоекспонування" #: src/pentaxmn.cpp:635 #, fuzzy msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "Пріоритет діафрагми (Av)" #: src/pentaxmn.cpp:636 #, fuzzy msgid "Manual (Off-Auto-Aperture)" msgstr "Автодіафрагма" #: src/pentaxmn.cpp:637 #, fuzzy msgid "Bulb (Off-Auto-Aperture)" msgstr "Автодіафрагма" #: src/pentaxmn.cpp:639 msgid "Shutter Priority" msgstr "Пріоритет затвору" #: src/pentaxmn.cpp:640 #, fuzzy msgid "Shutter & Aperture Priority AE" msgstr "Пріоритет витримки швидкість AE" #: src/pentaxmn.cpp:641 #, fuzzy msgid "Shutter & Aperture Priority AE (1)" msgstr "Пріоритет витримки швидкість AE" #: src/pentaxmn.cpp:642 #, fuzzy msgid "Sensitivity Priority AE" msgstr "Пріоритет затвору" #: src/pentaxmn.cpp:643 msgid "Sensitivity Priority AE (1)" msgstr "" #: src/pentaxmn.cpp:644 #, fuzzy msgid "Flash X-Sync Speed AE" msgstr "Швидкість синхронізації спалаху у режимі Av" #: src/pentaxmn.cpp:645 #, fuzzy msgid "Flash X-Sync Speed AE (1)" msgstr "Швидкість синхронізації спалаху у режимі Av" #: src/pentaxmn.cpp:646 #, fuzzy msgid "Auto Program (Normal)" msgstr "Програма (P)" #: src/pentaxmn.cpp:647 msgid "Auto Program (Hi-Speed)" msgstr "" #: src/pentaxmn.cpp:648 #, fuzzy msgid "Auto Program (DOF)" msgstr "Програма (P)" #: src/pentaxmn.cpp:649 #, fuzzy msgid "Auto Program (MTF)" msgstr "Програма (P)" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "" #: src/pentaxmn.cpp:651 #, fuzzy msgid "Blur control" msgstr "Керування кольором" #: src/pentaxmn.cpp:654 msgid "Video (30 fps)" msgstr "" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "" #: src/pentaxmn.cpp:662 #, fuzzy msgid "Continuous (Hi)" msgstr "Неперервна, висока" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 msgid "Burst" msgstr "Бульба" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 msgid "Video" msgstr "Відео" #: src/pentaxmn.cpp:666 #, fuzzy msgid "Self-timer (12 sec)" msgstr "Автоспуск 2 сек" #: src/pentaxmn.cpp:667 #, fuzzy msgid "Self-timer (2 sec)" msgstr "Автоспуск 2 сек" #: src/pentaxmn.cpp:669 #, fuzzy msgid "Mirror Lock-up" msgstr "Блокування дзеркала" #: src/pentaxmn.cpp:670 #, fuzzy msgid "Remote Control (3 sec)" msgstr "Дистанційне керування" #: src/pentaxmn.cpp:671 msgid "Remote Control" msgstr "Дистанційне керування" #: src/pentaxmn.cpp:672 #, fuzzy msgid "Remote Continuous Shooting" msgstr "Неперервна, висока" #: src/pentaxmn.cpp:675 #, fuzzy msgid "HDR Strong 1" msgstr "Складний" #: src/pentaxmn.cpp:676 #, fuzzy msgid "HDR Strong 2" msgstr "Складний" #: src/pentaxmn.cpp:677 #, fuzzy msgid "HDR Strong 3" msgstr "Складний" #: src/pentaxmn.cpp:678 #, fuzzy msgid "HDR Auto" msgstr "Авто" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "" #: src/pentaxmn.cpp:691 msgid "K or M Lens" msgstr "" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "" #: src/pentaxmn.cpp:970 msgid "Bright" msgstr "Яскраво" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "Діапозитив" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "" #: src/pentaxmn.cpp:990 #, fuzzy msgid "Weakest" msgstr "Простий" #: src/pentaxmn.cpp:991 msgid "Weak" msgstr "Простий" #: src/pentaxmn.cpp:992 msgid "Strong" msgstr "Складний" #: src/pentaxmn.cpp:1112 #, fuzzy msgid "No extended bracketing" msgstr "Брекетинг балансу білого" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "WB-BA" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "WB-GM" #: src/pentaxmn.cpp:1133 msgid "Unknown " msgstr "Невідомий " #: src/pentaxmn.cpp:1146 #, fuzzy msgid "Pentax Makernote version" msgstr "Версія Nikon Makernote" #: src/pentaxmn.cpp:1149 #, fuzzy msgid "Camera shooting mode" msgstr "Режим простого знімання" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 #, fuzzy msgid "Resolution of a preview image" msgstr "Вказівник на попереднє зображення" #: src/pentaxmn.cpp:1154 #, fuzzy msgid "Length of a preview image" msgstr "Вказівник на попереднє зображення" #: src/pentaxmn.cpp:1155 msgid "Size of an IFD containing a preview image" msgstr "" #: src/pentaxmn.cpp:1160 msgid "Model identification" msgstr "Ідентифікація моделі" #: src/pentaxmn.cpp:1161 #, fuzzy msgid "Pentax model identification" msgstr "Ідентифікація моделі" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 msgid "Date" msgstr "Дата" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 msgid "Time" msgstr "Час" #: src/pentaxmn.cpp:1170 #, fuzzy msgid "Image quality settings" msgstr "Налаштування якості зображення" #: src/pentaxmn.cpp:1173 #, fuzzy msgid "Image size settings" msgstr "Налаштування якості зображення" #: src/pentaxmn.cpp:1177 #, fuzzy msgid "Flash mode settings" msgstr "Налаштування спалаху" #: src/pentaxmn.cpp:1180 #, fuzzy msgid "Focus mode settings" msgstr "Налаштування фокусу" #: src/pentaxmn.cpp:1183 #, fuzzy msgid "Selected AF point" msgstr "Точка АФ" #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 #, fuzzy msgid "AF point in focus" msgstr "AF точка використана" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 msgid "F-Number" msgstr "Число F" #: src/pentaxmn.cpp:1195 #, fuzzy msgid "ISO sensitivity" msgstr "Висока чутливість" #: src/pentaxmn.cpp:1196 #, fuzzy msgid "ISO sensitivity settings" msgstr "Налаштування чутливості ISO" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 #, fuzzy msgid "MeteringMode" msgstr "Режим вимірювання" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 #, fuzzy msgid "AutoBracketing" msgstr "Автообмеження" #: src/pentaxmn.cpp:1216 #, fuzzy msgid "Blue color balance" msgstr "Баланс синього" #: src/pentaxmn.cpp:1219 #, fuzzy msgid "Red color balance" msgstr "Баланс кольорів" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 #, fuzzy msgid "FocalLength" msgstr "Фокусна відстань" #: src/pentaxmn.cpp:1239 #, fuzzy msgid "Hometown" msgstr "Місцевий час (DST)" #: src/pentaxmn.cpp:1245 msgid "Hometown DST" msgstr "Місцевий час (DST)" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "" #: src/pentaxmn.cpp:1248 msgid "Destination DST" msgstr "Час місця призначення (DST)" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 #, fuzzy msgid "DSPFirmwareVersion" msgstr "Версія файла" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 #, fuzzy msgid "CPUFirmwareVersion" msgstr "Версія файла" #: src/pentaxmn.cpp:1261 #, fuzzy msgid "Light value" msgstr "Значення яскравості" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 msgid "Image area offset" msgstr "Відступ області зображення" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 msgid "Raw image size" msgstr "Розмір цифрового негатива" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 #, fuzzy msgid "Preview image borders" msgstr "Розмір зображення попереднього перегляду" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 #, fuzzy msgid "Sensitivity adjust" msgstr "Висока чутливість" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 msgid "Digital filter" msgstr "Цифровий фільтр" #: src/pentaxmn.cpp:1299 msgid "Camera temperature" msgstr "Температура фотоапарата" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 msgid "Image tone" msgstr "Тон зображення" #: src/pentaxmn.cpp:1319 #, fuzzy msgid "Shake reduction" msgstr "Зменшення шуму" #: src/pentaxmn.cpp:1320 #, fuzzy msgid "Shake reduction information" msgstr "Інформація про знімок" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 #, fuzzy msgid "Dynamic range expansion" msgstr "Параметри динамічного діапазону" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 msgid "High ISO noise reduction" msgstr "Потужне усування шуму ISO" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 #, fuzzy msgid "AF Adjustment" msgstr "Налаштування відтінку" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 msgid "Black point" msgstr "Чорна точка" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 msgid "White point" msgstr "Біла точка" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 #, fuzzy msgid "ShotInfo" msgstr "Інформація про знімок" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 #, fuzzy msgid "AEInfo" msgstr "AF інформація" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 #, fuzzy msgid "LensInfo" msgstr "Дані щодо об’єктива" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 #, fuzzy msgid "FlashInfo" msgstr "Дані щодо спалаху" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 msgid "AEMeteringSegments" msgstr "" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 #, fuzzy msgid "FlashADump" msgstr "Компенсація Спалаху" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 #, fuzzy msgid "FlashBDump" msgstr "Компенсація Спалаху" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 msgid "WB_RGGBLevelsDaylight" msgstr "" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 msgid "WB_RGGBLevelsShade" msgstr "" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 msgid "WB_RGGBLevelsCloudy" msgstr "" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 msgid "WB_RGGBLevelsTungsten" msgstr "" #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 #, fuzzy msgid "WB_RGGBLevelsFluorescentD" msgstr "Флуоресцентна лампа" #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 #, fuzzy msgid "WB_RGGBLevelsFluorescentN" msgstr "Флуоресцентна лампа" #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 #, fuzzy msgid "WB_RGGBLevelsFluorescentW" msgstr "Флуоресцентна лампа" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 msgid "WB_RGGBLevelsFlash" msgstr "" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 #, fuzzy msgid "CameraInfo" msgstr "Інформація про камеру" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 #, fuzzy msgid "BatteryInfo" msgstr "Інформація про камеру" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 #, fuzzy msgid "AFInfo" msgstr "AF інформація" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 #, fuzzy msgid "ColorInfo" msgstr "Колір" #: src/pentaxmn.cpp:1405 #, fuzzy msgid "Unknown PentaxMakerNote tag" msgstr "Невідомий тег Minolta MakerNote" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "" #: src/properties.cpp:113 msgid "XMP Basic schema" msgstr "" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "" #: src/properties.cpp:115 msgid "XMP Media Management schema" msgstr "" #: src/properties.cpp:116 msgid "XMP Basic Job Ticket schema" msgstr "" #: src/properties.cpp:117 msgid "XMP Paged-Text schema" msgstr "" #: src/properties.cpp:118 #, fuzzy msgid "XMP Dynamic Media schema" msgstr "Динамічна область" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "" #: src/properties.cpp:120 msgid "Adobe Lightroom schema" msgstr "" #: src/properties.cpp:121 #, fuzzy msgid "Adobe PDF schema" msgstr "Adobe Deflate" #: src/properties.cpp:122 msgid "Adobe photoshop schema" msgstr "" #: src/properties.cpp:123 #, fuzzy msgid "Camera Raw schema" msgstr "Марка фотоапарата" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "" #: src/properties.cpp:127 src/properties.cpp:128 #, fuzzy msgid "IPTC Core schema" msgstr "Схема розширення IPTC" #: src/properties.cpp:129 src/properties.cpp:130 msgid "IPTC Extension schema" msgstr "Схема розширення IPTC" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "Схема формату ліцензійних даних PLUS" #: src/properties.cpp:132 msgid "iView Media Pro schema" msgstr "" #: src/properties.cpp:133 #, fuzzy msgid "Expression Media schema" msgstr "Схема розширення IPTC" #: src/properties.cpp:134 msgid "Microsoft Photo 1.2 schema" msgstr "" #: src/properties.cpp:135 msgid "Microsoft Photo RegionInfo schema" msgstr "" #: src/properties.cpp:136 msgid "Microsoft Photo Region schema" msgstr "" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "" #: src/properties.cpp:138 msgid "Metadata Working Group Keywords schema" msgstr "" #: src/properties.cpp:139 #, fuzzy msgid "XMP Extended Video schema" msgstr "Схема розширення IPTC" #: src/properties.cpp:140 #, fuzzy msgid "XMP Extended Audio schema" msgstr "Схема розширення IPTC" #: src/properties.cpp:141 msgid "XMP Darwin Core schema" msgstr "" #: src/properties.cpp:142 msgid "Qualified Dublin Core schema" msgstr "" #: src/properties.cpp:143 msgid "ACDSee XMP schema" msgstr "" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "" #: src/properties.cpp:148 #, fuzzy msgid "Colorant structure" msgstr "Кольорова температура" #: src/properties.cpp:149 msgid "Dimensions structure" msgstr "" #: src/properties.cpp:150 msgid "Font structure" msgstr "" #: src/properties.cpp:151 #, fuzzy msgid "Thumbnail structure" msgstr "Мініатюри" #: src/properties.cpp:152 msgid "Resource Event structure" msgstr "" #: src/properties.cpp:153 msgid "ResourceRef structure" msgstr "" #: src/properties.cpp:154 #, fuzzy msgid "Version structure" msgstr "Версії" #: src/properties.cpp:155 msgid "Basic Job/Workflow structure" msgstr "" #: src/properties.cpp:156 #, fuzzy msgid "Area structure" msgstr "Діафрагма" #: src/properties.cpp:159 msgid "Qualifier for xmp:Identifier" msgstr "" #: src/properties.cpp:163 #, fuzzy msgid "Contributor" msgstr "Неперервний" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "" #: src/properties.cpp:164 #, fuzzy msgid "Coverage" msgstr "Посередньо" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" #: src/properties.cpp:166 msgid "Creator" msgstr "Автор" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "" #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "" #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" #: src/properties.cpp:170 src/properties.cpp:1160 msgid "Format" msgstr "Формат" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" #: src/properties.cpp:172 src/properties.cpp:228 msgid "Identifier" msgstr "Ідентифікатор" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "" #: src/properties.cpp:175 msgid "Publisher" msgstr "Видавець" #: src/properties.cpp:175 msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" #: src/properties.cpp:178 msgid "Relation" msgstr "Зв’язок" #: src/properties.cpp:178 msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" #: src/properties.cpp:180 msgid "Rights" msgstr "Права" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" #: src/properties.cpp:183 msgid "Unique identifier of the work from which this resource was derived." msgstr "" #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 msgid "Type" msgstr "Тип" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "" #: src/properties.cpp:194 msgid "Tags List" msgstr "Список міток" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" #: src/properties.cpp:195 msgid "Captions Author Names" msgstr "Імена авторів підписів" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" #: src/properties.cpp:196 #, fuzzy msgid "Captions Date Time Stamps" msgstr "Імена авторів підписів" #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" #: src/properties.cpp:197 src/tags.cpp:844 msgid "Image History" msgstr "Журнал змін зображення" #: src/properties.cpp:197 msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" #: src/properties.cpp:198 #, fuzzy msgid "Lens Correction Settings" msgstr "Параметри об’єктиву" #: src/properties.cpp:198 msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" #: src/properties.cpp:199 msgid "Color Label" msgstr "Позначка кольору" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" #: src/properties.cpp:200 #, fuzzy msgid "Pick Label" msgstr "Мітка" #: src/properties.cpp:200 msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" #: src/properties.cpp:206 #, fuzzy msgid "Panorama Input Files" msgstr "Рамка панорами" #: src/properties.cpp:206 msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" #: src/properties.cpp:207 #, fuzzy msgid "Enfuse Input Files" msgstr "Параметри enfuse" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" #: src/properties.cpp:208 msgid "Enfuse Settings" msgstr "Параметри enfuse" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "" #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "" #: src/properties.cpp:216 msgid "Advisory" msgstr "Рекомендація" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" #: src/properties.cpp:219 src/properties.cpp:1066 msgid "Base URL" msgstr "Основна адреса" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" #: src/properties.cpp:224 #, fuzzy msgid "Create Date" msgstr "Дата випуску" #: src/properties.cpp:224 #, fuzzy msgid "The date and time the resource was originally created." msgstr "Дата і час, коли зображення було збережено у форматі цифрових даних." #: src/properties.cpp:225 #, fuzzy msgid "Creator Tool" msgstr "Автор" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" #: src/properties.cpp:233 msgid "Label" msgstr "Мітка" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" #: src/properties.cpp:235 #, fuzzy msgid "Metadata Date" msgstr "Дата Minolta" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" #: src/properties.cpp:237 #, fuzzy msgid "Modify Date" msgstr "Дата Minolta" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" #: src/properties.cpp:240 msgid "Nickname" msgstr "Псевдонім" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "Коротка інформативна назва ресурсу." #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 msgid "Rating" msgstr "Оцінка" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" #: src/properties.cpp:244 msgid "Thumbnails" msgstr "Мініатюри" #: src/properties.cpp:244 msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" #: src/properties.cpp:251 msgid "Certificate" msgstr "Сертифікат" #: src/properties.cpp:251 msgid "Online rights management certificate." msgstr "" #: src/properties.cpp:252 msgid "Marked" msgstr "Позначено" #: src/properties.cpp:252 msgid "Indicates that this is a rights-managed resource." msgstr "" #: src/properties.cpp:253 msgid "Owner" msgstr "Власник" #: src/properties.cpp:253 msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "" #: src/properties.cpp:254 msgid "Usage Terms" msgstr "" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "" #: src/properties.cpp:255 msgid "Web Statement" msgstr "" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" #: src/properties.cpp:261 #, fuzzy msgid "Derived From" msgstr "Режим мотора" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" #: src/properties.cpp:266 #, fuzzy msgid "Document ID" msgstr "Документи" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" #: src/properties.cpp:268 msgid "History" msgstr "Журнал" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" #: src/properties.cpp:272 msgid "Instance ID" msgstr "Ідентифікатор екземпляра" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" #: src/properties.cpp:274 #, fuzzy msgid "Managed From" msgstr "Керування" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" #: src/properties.cpp:277 msgid "Manager" msgstr "Керування" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" #: src/properties.cpp:280 #, fuzzy msgid "Manage To" msgstr "Керування" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" #: src/properties.cpp:283 #, fuzzy msgid "Manage UI" msgstr "Керування" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" #: src/properties.cpp:285 #, fuzzy msgid "Manager Variant" msgstr "Керування" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" #: src/properties.cpp:287 msgid "Rendition Class" msgstr "" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" #: src/properties.cpp:289 #, fuzzy msgid "Rendition Params" msgstr "Параметри викривлення об’єктивом" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" #: src/properties.cpp:291 #, fuzzy msgid "Version ID" msgstr "Версія" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr "" #: src/properties.cpp:295 msgid "Versions" msgstr "Версії" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" #: src/properties.cpp:301 #, fuzzy msgid "Last URL" msgstr "Основна адреса" #: src/properties.cpp:301 msgid "Deprecated for privacy protection." msgstr "" #: src/properties.cpp:302 #, fuzzy msgid "Rendition Of" msgstr "Зв’язок" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" #: src/properties.cpp:304 msgid "Save ID" msgstr "" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "" #: src/properties.cpp:310 #, fuzzy msgid "Job Reference" msgstr "Дата" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" #: src/properties.cpp:319 #, fuzzy msgid "Maximum Page Size" msgstr "Розмір зображення" #: src/properties.cpp:319 msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "" #: src/properties.cpp:320 msgid "Number of Pages" msgstr "Кількість сторінок" #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "" #: src/properties.cpp:321 msgid "Fonts" msgstr "Шрифти" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" #: src/properties.cpp:322 #, fuzzy msgid "Colorants" msgstr "Інформація про Колір" #: src/properties.cpp:322 msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" #: src/properties.cpp:323 #, fuzzy msgid "Plate Names" msgstr "Назва стрічки" #: src/properties.cpp:323 msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" #: src/properties.cpp:329 src/properties.cpp:1285 #, fuzzy msgid "Project Reference" msgstr "Режим відліку напрямку знімання у GPS" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "" #: src/properties.cpp:330 src/properties.cpp:1163 msgid "Video Frame Rate" msgstr "" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "Video Frame Size" msgstr "" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "" #: src/properties.cpp:332 #, fuzzy msgid "Video Pixel Aspect Ratio" msgstr "Співвідношення сторін" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "Video Pixel Depth" msgstr "" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:335 src/properties.cpp:1081 #, fuzzy msgid "Video Color Space" msgstr "Простір кольорів" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" #: src/properties.cpp:337 #, fuzzy msgid "Video Alpha Mode" msgstr "Модель Minolta" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "" #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "" #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "" #: src/properties.cpp:341 #, fuzzy msgid "Video Compressor" msgstr "Звуковий кодек" #: src/properties.cpp:341 #, fuzzy msgid "Video compression used. For example, jpeg." msgstr "Звуковий кодек використаний для стискання. Приклад: MP3." #: src/properties.cpp:342 #, fuzzy msgid "Video Field Order" msgstr "Порядок заповнення" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "" #: src/properties.cpp:343 #, fuzzy msgid "Pull Down" msgstr "Вниз" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" #: src/properties.cpp:345 src/properties.cpp:1425 #, fuzzy msgid "Audio Sample Rate" msgstr "Частота вибірки" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" #: src/properties.cpp:346 src/properties.cpp:1426 #, fuzzy msgid "Audio Sample Type" msgstr "Тип звукового каналу" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "Audio Channel Type" msgstr "Тип звукового каналу" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "Audio Compressor" msgstr "Звуковий кодек" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "Звуковий кодек використаний для стискання. Приклад: MP3." #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" #: src/properties.cpp:351 src/properties.cpp:1149 #, fuzzy msgid "File Data Rate" msgstr "Дата Minolta" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "" #: src/properties.cpp:352 src/properties.cpp:1334 msgid "Tape Name" msgstr "Назва стрічки" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "" #: src/properties.cpp:353 #, fuzzy msgid "Alternative Tape Name" msgstr "Назва стрічки" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" #: src/properties.cpp:355 msgid "Start Time Code" msgstr "" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "" #: src/properties.cpp:356 msgid "Alternative Time code" msgstr "" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" #: src/properties.cpp:357 src/properties.cpp:1124 msgid "Duration" msgstr "Тривалість" #: src/properties.cpp:357 msgid "The duration of the media file." msgstr "Тривалість відтворення мультимедійного файла." #: src/properties.cpp:358 msgid "Scene" msgstr "Сцена" #: src/properties.cpp:358 msgid "The name of the scene." msgstr "Назва сцени." #: src/properties.cpp:359 msgid "Shot Name" msgstr "Назва зйомки" #: src/properties.cpp:359 msgid "The name of the shot or take." msgstr "Назва знімка або запису." #: src/properties.cpp:360 msgid "Shot Date" msgstr "Дата зйомки" #: src/properties.cpp:360 msgid "The date and time when the video was shot." msgstr "Дата і час, коли було знято відео." #: src/properties.cpp:361 msgid "Shot Location" msgstr "Місце зйомки" #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" #: src/properties.cpp:363 #, fuzzy msgid "Log Comment" msgstr "Коментар користувача" #: src/properties.cpp:363 #, fuzzy msgid "User's log comments." msgstr "Коментар користувача" #: src/properties.cpp:364 msgid "Markers" msgstr "Маркери" #: src/properties.cpp:364 msgid "An ordered list of markers" msgstr "" #: src/properties.cpp:365 msgid "Contributed Media" msgstr "" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "" #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:368 msgid "Video Modified Date" msgstr "" #: src/properties.cpp:368 #, fuzzy msgid "The date and time when the video was last modified." msgstr "Дата і час, коли було знято відео." #: src/properties.cpp:369 #, fuzzy msgid "Audio Modified Date" msgstr "Частота вибірки" #: src/properties.cpp:369 #, fuzzy msgid "The date and time when the audio was last modified." msgstr "Дата і час, коли було знято відео." #: src/properties.cpp:370 msgid "Metadata Modified Date" msgstr "" #: src/properties.cpp:370 #, fuzzy msgid "The date and time when the metadata was last modified." msgstr "Дата і час, коли було знято відео." #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "Виконавець" #: src/properties.cpp:371 src/properties.cpp:1058 msgid "The name of the artist or artists." msgstr "Ім’я виконавця або назва групи виконавців." #: src/properties.cpp:372 src/properties.cpp:1054 msgid "Album" msgstr "Альбом" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "The name of the album." msgstr "Назва альбому." #: src/properties.cpp:373 src/properties.cpp:1366 msgid "Track Number" msgstr "Номер композиції" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "Genre" msgstr "Жанр" #: src/properties.cpp:374 src/properties.cpp:1166 #, fuzzy msgid "The name of the genre." msgstr "Назва сцени." #: src/properties.cpp:375 #, fuzzy msgid "The copyright information." msgstr "Інформація про знімок" #: src/properties.cpp:376 #, fuzzy msgid "The date the title was released." msgstr "Дата і час, коли було знято відео." #: src/properties.cpp:377 src/properties.cpp:1086 msgid "Composer" msgstr "Композитор" #: src/properties.cpp:377 msgid "The composer's name." msgstr "Ім’я композитора." #: src/properties.cpp:378 src/properties.cpp:1143 msgid "Engineer" msgstr "Інженер запису" #: src/properties.cpp:378 msgid "The engineer's name." msgstr "Ім’я інженера." #: src/properties.cpp:379 msgid "Tempo" msgstr "Ритм" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "Ритм звуку." #: src/properties.cpp:380 msgid "Instrument" msgstr "Інструмент" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "Музичний інструмент." #: src/properties.cpp:381 msgid "Intro Time" msgstr "Тривалість вступу" #: src/properties.cpp:381 #, fuzzy msgid "The duration of lead time for queuing music." msgstr "Тривалість відтворення мультимедійного файла." #: src/properties.cpp:382 msgid "Out Cue" msgstr "" #: src/properties.cpp:382 msgid "The time at which to fade out." msgstr "" #: src/properties.cpp:383 #, fuzzy msgid "Relative Timestamp" msgstr "Часова мітка зображення" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "" #: src/properties.cpp:384 msgid "Loop" msgstr "Цикл" #: src/properties.cpp:384 msgid "When true, the clip can be looped seamlessly." msgstr "" #: src/properties.cpp:385 msgid "Number Of Beats" msgstr "Кількість тактів" #: src/properties.cpp:385 msgid "The number of beats." msgstr "Кількість тактів." #: src/properties.cpp:386 msgid "Key" msgstr "Тональність" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "" #: src/properties.cpp:387 #, fuzzy msgid "Stretch Mode" msgstr "Режим вилки" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" #: src/properties.cpp:388 msgid "Time Scale Parameters" msgstr "" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "" #: src/properties.cpp:389 msgid "Resample Parameters" msgstr "" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "" #: src/properties.cpp:390 msgid "Beat Splice Parameters" msgstr "" #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "" #: src/properties.cpp:391 msgid "Time Signature" msgstr "Знак розмірності" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" #: src/properties.cpp:392 #, fuzzy msgid "Scale Type" msgstr "Тип сцени" #: src/properties.cpp:392 msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "" #: src/properties.cpp:399 src/tags.cpp:1078 msgid "Camera Serial Number" msgstr "Серійний номер фотоапарата" #: src/properties.cpp:399 msgid "Camera Serial Number." msgstr "Серійний номер фотоапарата." #: src/properties.cpp:400 #, fuzzy msgid "Date Acquired" msgstr "Не потрібне" #: src/properties.cpp:400 #, fuzzy msgid "Date Acquired." msgstr "Не потрібне" #: src/properties.cpp:401 #, fuzzy msgid "Flash Manufacturer" msgstr "Виробник" #: src/properties.cpp:401 #, fuzzy msgid "Flash Manufacturer." msgstr "Виробник" #: src/properties.cpp:402 #, fuzzy msgid "Flash Model." msgstr "Режим спалаху" #: src/properties.cpp:403 msgid "Last Keyword IPTC" msgstr "" #: src/properties.cpp:403 msgid "Last Keyword IPTC." msgstr "" #: src/properties.cpp:404 msgid "Last Keyword XMP" msgstr "" #: src/properties.cpp:404 #, fuzzy msgid "Last Keyword XMP." msgstr "Ключові слова." #: src/properties.cpp:405 #, fuzzy msgid "Lens Manufacturer" msgstr "Виробник" #: src/properties.cpp:405 #, fuzzy msgid "Lens Manufacturer." msgstr "Виробник" #: src/properties.cpp:406 src/properties.cpp:1199 #, fuzzy msgid "Lens Model." msgstr "Режим сцени" #: src/properties.cpp:407 #, fuzzy msgid "Rating Percent" msgstr "Оцінка" #: src/properties.cpp:407 msgid "Rating Percent." msgstr "" #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "" #: src/properties.cpp:414 #, fuzzy msgid "Private RTK Info" msgstr "Інформація про картинку" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "" #: src/properties.cpp:420 msgid "Keywords." msgstr "Ключові слова." #: src/properties.cpp:421 msgid "PDF Version" msgstr "Версія PDF" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "Версія файла PDF (приклад: 1.0, 1.3 тощо)." #: src/properties.cpp:422 src/properties.cpp:1278 msgid "Producer" msgstr "Виробник" #: src/properties.cpp:422 #, fuzzy msgid "The name of the tool that created the PDF document." msgstr "Назва знімка або запису." #: src/properties.cpp:428 #, fuzzy msgid "Authors Position" msgstr "Позиція фокусування" #: src/properties.cpp:428 #, fuzzy msgid "By-line title." msgstr "Посада автора" #: src/properties.cpp:429 msgid "Caption Writer" msgstr "Автор підпису" #: src/properties.cpp:429 msgid "Writer/editor." msgstr "Сценарист, редактор." #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "" #: src/properties.cpp:431 msgid "City." msgstr "Місто/Селище." #: src/properties.cpp:432 msgid "Country/primary location." msgstr "Країна або основна назва місцевості." #: src/properties.cpp:433 msgid "Credit." msgstr "Подяка." #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" #: src/properties.cpp:438 msgid "Headline." msgstr "Заголовок." #: src/properties.cpp:439 msgid "Special instructions." msgstr "Особливі настанови." #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source." msgstr "Джерело." #: src/properties.cpp:441 msgid "Province/state." msgstr "Провінція або область." #: src/properties.cpp:442 #, fuzzy msgid "Supplemental category." msgstr "Додаткова категорія" #: src/properties.cpp:443 #, fuzzy msgid "Original transmission reference." msgstr "Посилання передачі" #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "" #: src/properties.cpp:452 msgid "inches" msgstr "дюйми" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "см" #: src/properties.cpp:457 msgid "Auto Brightness" msgstr "Автояскравість" #: src/properties.cpp:457 msgid "When true, \"Brightness\" is automatically adjusted." msgstr "" #: src/properties.cpp:458 msgid "Auto Contrast" msgstr "Автоконтрастність" #: src/properties.cpp:458 msgid "When true, \"Contrast\" is automatically adjusted." msgstr "" #: src/properties.cpp:459 msgid "Auto Exposure" msgstr "Автоекспозиція" #: src/properties.cpp:459 msgid "When true, \"Exposure\" is automatically adjusted." msgstr "" #: src/properties.cpp:460 #, fuzzy msgid "Auto Shadows" msgstr "Тіні" #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "" #: src/properties.cpp:461 #, fuzzy msgid "Blue Hue" msgstr "Синій" #: src/properties.cpp:461 msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "" #: src/properties.cpp:462 msgid "Blue Saturation" msgstr "Насиченість синього" #: src/properties.cpp:462 msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:463 msgid "\"Brightness\" setting. Range 0 to +150." msgstr "" #: src/properties.cpp:464 msgid "Camera Profile" msgstr "Профіль фотоапарата" #: src/properties.cpp:464 #, fuzzy msgid "\"Camera Profile\" setting." msgstr "Профіль фотоапарата" #: src/properties.cpp:465 #, fuzzy msgid "Chromatic Aberration Blue" msgstr "Налаштування насиченості кольорів" #: src/properties.cpp:465 msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:466 #, fuzzy msgid "Chromatic Aberration Red" msgstr "Налаштування насиченості кольорів" #: src/properties.cpp:466 msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "Color Noise Reduction" msgstr "Вилучення шумів" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "Налаштування насиченості" #: src/properties.cpp:468 msgid "\"Contrast\" setting. Range -50 to +100." msgstr "" #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "" #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "" #: src/properties.cpp:471 #, fuzzy msgid "Crop Bottom" msgstr "Нижнє" #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "" #: src/properties.cpp:472 #, fuzzy msgid "Crop Right" msgstr "Далеко праворуч" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "" #: src/properties.cpp:473 #, fuzzy msgid "Crop Angle" msgstr "Лос-Анджелес" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "" #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:476 #, fuzzy msgid "Crop Units" msgstr "Координаційні одиниці" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "" #: src/properties.cpp:477 msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "" #: src/properties.cpp:478 #, fuzzy msgid "Green Hue" msgstr "Режим зеленого" #: src/properties.cpp:478 msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:479 #, fuzzy msgid "Green Saturation" msgstr "Насиченість червоного" #: src/properties.cpp:479 msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:480 msgid "Has Crop" msgstr "" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "" #: src/properties.cpp:481 #, fuzzy msgid "Has Settings" msgstr "Параметри спалаху" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "" #: src/properties.cpp:482 msgid "Luminance Smoothing" msgstr "" #: src/properties.cpp:482 msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:483 #, fuzzy msgid "Raw File Name" msgstr "Назва файлу" #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "" #: src/properties.cpp:484 #, fuzzy msgid "Red Hue" msgstr "Червоні очі" #: src/properties.cpp:484 msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:485 msgid "Red Saturation" msgstr "Насиченість червоного" #: src/properties.cpp:485 msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:486 #, fuzzy msgid "\"Saturation\" setting. Range -100 to +100." msgstr "Налаштування насиченості" #: src/properties.cpp:487 msgid "Shadows" msgstr "Тіні" #: src/properties.cpp:487 msgid "\"Shadows\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:488 #, fuzzy msgid "Shadow Tint" msgstr "Тінь" #: src/properties.cpp:488 msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:489 src/properties.cpp:1301 #, fuzzy msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "Налаштування різкості" #: src/properties.cpp:490 msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "" #: src/properties.cpp:491 msgid "Tint" msgstr "Затінення" #: src/properties.cpp:491 msgid "\"Tint\" setting. Range -150 to +150." msgstr "" #: src/properties.cpp:492 msgid "Tone Curve" msgstr "Крива тону" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "" #: src/properties.cpp:493 #, fuzzy msgid "Tone Curve Name" msgstr "Крива тону" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "" #: src/properties.cpp:496 #, fuzzy msgid "Vignette Amount" msgstr "Керування віньєтуванням" #: src/properties.cpp:496 msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:497 #, fuzzy msgid "Vignette Midpoint" msgstr "Керування віньєтуванням" #: src/properties.cpp:497 msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "" #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 msgid "Image Length" msgstr "Довжина зображення" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "" #: src/properties.cpp:507 msgid "Bits Per Sample" msgstr "Бітів на фрагмент" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "" #: src/properties.cpp:508 src/tags.cpp:434 msgid "Compression" msgstr "Стиснення" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "" #: src/properties.cpp:509 src/tags.cpp:440 msgid "Photometric Interpretation" msgstr "Фотометрична інтерпретація" #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "" #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" #: src/properties.cpp:519 #, fuzzy msgid "Samples Per Pixel" msgstr "Кількість стиснених бітів на піксель" #: src/properties.cpp:519 msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "" #: src/properties.cpp:520 src/tags.cpp:514 #, fuzzy msgid "Planar Configuration" msgstr "Налаштування компонентів" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "" #: src/properties.cpp:521 msgid "YCbCr Sub Sampling" msgstr "" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" #: src/properties.cpp:523 src/tags.cpp:720 msgid "YCbCr Positioning" msgstr "Позиціювання YCbCr" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" #: src/properties.cpp:525 src/properties.cpp:1390 msgid "X Resolution" msgstr "Роздільна здатність за X" #: src/properties.cpp:525 msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "" #: src/properties.cpp:526 src/properties.cpp:1392 msgid "Y Resolution" msgstr "Роздільна здатність за Y" #: src/properties.cpp:526 msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "" #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 msgid "Resolution Unit" msgstr "Одиниця роздільності" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" #: src/properties.cpp:529 src/tags.cpp:540 msgid "Transfer Function" msgstr "Функція перенесення" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" #: src/properties.cpp:531 src/tags.cpp:572 msgid "White Point" msgstr "Біла точка" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "" #: src/properties.cpp:532 src/tags.cpp:577 msgid "Primary Chromaticities" msgstr "" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "" #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "" #: src/properties.cpp:534 msgid "Reference Black White" msgstr "Еталонні чорне/біле" #: src/properties.cpp:534 msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "" #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 msgid "Date and Time" msgstr "Дата і час" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" #: src/properties.cpp:541 src/tags.cpp:462 msgid "Image Description" msgstr "Опис зображення" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" #: src/properties.cpp:542 msgid "Make" msgstr "Виробник" #: src/properties.cpp:542 msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "" #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "" #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" #: src/properties.cpp:546 msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" #: src/properties.cpp:548 msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" #: src/properties.cpp:555 src/tags.cpp:1605 msgid "Exif Version" msgstr "Версія Exif" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "" #: src/properties.cpp:556 msgid "Flashpix Version" msgstr "Версія FlashPix" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "" #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "" #: src/properties.cpp:558 src/tags.cpp:1616 msgid "Components Configuration" msgstr "Налаштування компонентів" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" #: src/properties.cpp:560 src/tags.cpp:825 msgid "Compressed Bits Per Pixel" msgstr "Кількість стиснених бітів на піксель" #: src/properties.cpp:560 msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "" #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "" #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "" #: src/properties.cpp:564 src/tags.cpp:1674 msgid "User Comment" msgstr "Коментар користувача" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "" #: src/properties.cpp:565 src/tags.cpp:1716 msgid "Related Sound File" msgstr "Пов’язаний звуковий файл" #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" #: src/properties.cpp:566 src/properties.cpp:1110 msgid "Date and Time Original" msgstr "Дата і час (знімання)" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" #: src/properties.cpp:569 src/properties.cpp:1111 msgid "Date and Time Digitized" msgstr "Дата і час (оцифровування)" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" #: src/properties.cpp:573 msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "" #: src/properties.cpp:574 src/properties.cpp:1157 msgid "F Number" msgstr "Діафрагмове число" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "" #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "" #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 msgid "Spectral Sensitivity" msgstr "Спектральна чутливість" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "" #: src/properties.cpp:577 #, fuzzy msgid "ISOSpeedRatings" msgstr "Світлочутливість ISO" #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" #: src/properties.cpp:581 msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "" #: src/properties.cpp:582 src/tags.cpp:828 msgid "Brightness Value" msgstr "Значення яскравості" #: src/properties.cpp:582 msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "" #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "" #: src/properties.cpp:584 src/properties.cpp:1211 msgid "Maximum Aperture Value" msgstr "Максимальне значення діафрагми" #: src/properties.cpp:584 msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "" #: src/properties.cpp:585 #, fuzzy msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "Відстань до об’єкта, вказана у метрах." #: src/properties.cpp:586 msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "" #: src/properties.cpp:587 msgid "EXIF tag 37384, 0x9208. Light source." msgstr "" #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "" #: src/properties.cpp:589 msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "" #: src/properties.cpp:590 src/tags.cpp:1666 msgid "Subject Area" msgstr "Площа об'єкту" #: src/properties.cpp:590 msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 msgid "Flash Energy" msgstr "Енергія спалаху" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "" #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "" #: src/properties.cpp:592 msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" #: src/properties.cpp:594 src/tags.cpp:839 msgid "Focal Plane X Resolution" msgstr "Роздільна здатність фокальної площини X" #: src/properties.cpp:594 msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "" #: src/properties.cpp:595 src/tags.cpp:840 msgid "Focal Plane Y Resolution" msgstr "Роздільна здатність фокальної площини Y" #: src/properties.cpp:595 msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "" #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 msgid "Focal Plane Resolution Unit" msgstr "Одиниця роздільності у фокальній площині" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 msgid "Subject Location" msgstr "Знаходження об'єкта" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" #: src/properties.cpp:600 src/tags.cpp:846 msgid "Exposure Index" msgstr "Показник експозиції" #: src/properties.cpp:600 msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "" #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 msgid "Sensing Method" msgstr "Метод розпізнавання" #: src/properties.cpp:601 #, fuzzy msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "" "Визначає тип датчика зображення на фотоапараті або пристрої вхідних даних." #: src/properties.cpp:602 msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "" #: src/properties.cpp:603 src/tags.cpp:1771 msgid "Scene Type" msgstr "Тип сцени" #: src/properties.cpp:603 msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "" #: src/properties.cpp:604 src/tags.cpp:761 msgid "CFA Pattern" msgstr "" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" #: src/properties.cpp:605 src/tags.cpp:1781 msgid "Custom Rendered" msgstr "Нетипове перетворено" #: src/properties.cpp:605 msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "" #: src/properties.cpp:606 msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "" #: src/properties.cpp:607 msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "" #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 msgid "Digital Zoom Ratio" msgstr "Коефіцієнт цифрового збільшення" #: src/properties.cpp:608 msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "" #: src/properties.cpp:609 src/tags.cpp:1800 msgid "Focal Length In 35mm Film" msgstr "Фокальна довжина для 35-мм плівки" #: src/properties.cpp:609 msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" #: src/properties.cpp:612 src/tags.cpp:1806 msgid "Scene Capture Type" msgstr "Тип сцени" #: src/properties.cpp:612 msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "" #: src/properties.cpp:613 src/tags.cpp:1811 msgid "Gain Control" msgstr "Регулятор посилення" #: src/properties.cpp:613 msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "" #: src/properties.cpp:614 msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" #: src/properties.cpp:615 msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" #: src/properties.cpp:616 msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" #: src/properties.cpp:617 src/tags.cpp:1826 msgid "Device Setting Description" msgstr "Опис параметрів пристрою" #: src/properties.cpp:617 msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" #: src/properties.cpp:618 src/tags.cpp:1831 msgid "Subject Distance Range" msgstr "Діапазон відстані до об’єкта" #: src/properties.cpp:618 #, fuzzy msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "Цей теґ містить дані щодо відстані до об’єкта зйомки." #: src/properties.cpp:619 src/tags.cpp:1834 msgid "Image Unique ID" msgstr "Унікальний ідентифікатор зображення" #: src/properties.cpp:619 msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 #, fuzzy msgid "GPS Version ID" msgstr "Версія PDF" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "Широта за GPS" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "" #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "Довгота за GPS" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "" #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 #, fuzzy msgid "GPS Altitude Reference" msgstr "Висота за GPS" #: src/properties.cpp:625 src/properties.cpp:1168 msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "" #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "Висота за GPS" #: src/properties.cpp:626 src/properties.cpp:1167 msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "" #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 #, fuzzy msgid "GPS Time Stamp" msgstr "Час надсилання" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 msgid "GPS Satellites" msgstr "Супутники GPS" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:634 src/tags.cpp:1989 msgid "GPS Status" msgstr "Стан GPS" #: src/properties.cpp:634 msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "" #: src/properties.cpp:635 src/tags.cpp:1994 #, fuzzy msgid "GPS Measure Mode" msgstr "Режим зображення" #: src/properties.cpp:635 msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "" #: src/properties.cpp:636 msgid "GPS DOP" msgstr "" #: src/properties.cpp:636 msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "" #: src/properties.cpp:637 src/tags.cpp:2002 #, fuzzy msgid "GPS Speed Reference" msgstr "Режим відліку напрямку знімання у GPS" #: src/properties.cpp:637 msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "" #: src/properties.cpp:638 src/tags.cpp:2006 #, fuzzy msgid "GPS Speed" msgstr "Світлочутливість ISO" #: src/properties.cpp:638 #, fuzzy msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "Визначає швидкість руху приймача даних GPS." #: src/properties.cpp:639 #, fuzzy msgid "GPS Track Reference" msgstr "Режим відліку напрямку знімання у GPS" #: src/properties.cpp:639 msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "" #: src/properties.cpp:640 src/tags.cpp:2013 msgid "GPS Track" msgstr "" #: src/properties.cpp:640 msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 msgid "GPS Image Direction Reference" msgstr "Режим відліку напрямку знімання у GPS" #: src/properties.cpp:641 msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "" #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 msgid "GPS Image Direction" msgstr "Напрямок знімання у GPS" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 #, fuzzy msgid "GPS Map Datum" msgstr "Стан GPS" #: src/properties.cpp:643 msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "" #: src/properties.cpp:644 src/tags.cpp:2033 #, fuzzy msgid "GPS Destination Latitude" msgstr "Широта за GPS" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" #: src/properties.cpp:645 src/tags.cpp:2045 #, fuzzy msgid "GPS Destination Longitude" msgstr "Довгота за GPS" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" #: src/properties.cpp:646 src/tags.cpp:2052 #, fuzzy msgid "GPS Destination Bearing Reference" msgstr "Режим відліку напрямку знімання у GPS" #: src/properties.cpp:646 msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "" #: src/properties.cpp:647 src/tags.cpp:2056 #, fuzzy msgid "GPS Destination Bearing" msgstr "Призначення" #: src/properties.cpp:647 msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "" #: src/properties.cpp:648 src/tags.cpp:2060 #, fuzzy msgid "GPS Destination Distance Reference" msgstr "Режим відліку напрямку знімання у GPS" #: src/properties.cpp:648 msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "" #: src/properties.cpp:649 src/tags.cpp:2064 #, fuzzy msgid "GPS Destination Distance" msgstr "Час місця призначення (DST)" #: src/properties.cpp:649 msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "" #: src/properties.cpp:650 src/tags.cpp:2067 #, fuzzy msgid "GPS Processing Method" msgstr "Метод розпізнавання" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" #: src/properties.cpp:651 src/tags.cpp:2072 #, fuzzy msgid "GPS Area Information" msgstr "Інформація про знімок" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "" #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "" #: src/properties.cpp:652 msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "" #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "" #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "" #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" #: src/properties.cpp:667 msgid "Contact Info-Address" msgstr "" #: src/properties.cpp:667 msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" #: src/properties.cpp:669 msgid "Contact Info-City" msgstr "" #: src/properties.cpp:669 msgid "sub-key Creator Contact Info: city." msgstr "" #: src/properties.cpp:670 #, fuzzy msgid "Contact Info-State/Province" msgstr "Область/провінція" #: src/properties.cpp:670 msgid "sub-key Creator Contact Info: state or province." msgstr "" #: src/properties.cpp:671 msgid "Contact Info-Postal Code" msgstr "" #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "" #: src/properties.cpp:672 msgid "Contact Info-Country" msgstr "" #: src/properties.cpp:672 msgid "sub-key Creator Contact Info: country." msgstr "" #: src/properties.cpp:673 msgid "Contact Info-Email" msgstr "" #: src/properties.cpp:673 msgid "sub-key Creator Contact Info: email address." msgstr "" #: src/properties.cpp:674 msgid "Contact Info-Phone" msgstr "" #: src/properties.cpp:674 msgid "sub-key Creator Contact Info: phone number." msgstr "" #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "" #: src/properties.cpp:675 msgid "sub-key Creator Contact Info: web address." msgstr "" #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" #: src/properties.cpp:678 #, fuzzy msgid "IPTC Scene" msgstr "Сцена" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" #: src/properties.cpp:680 #, fuzzy msgid "IPTC Subject Code" msgstr "Площа об'єкту" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" #: src/properties.cpp:682 msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" #: src/properties.cpp:687 msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" #: src/properties.cpp:696 msgid "Additional model info" msgstr "" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "" #: src/properties.cpp:697 msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "" #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" #: src/properties.cpp:699 #, fuzzy msgid "Model age" msgstr "Модель" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "" #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "" #: src/properties.cpp:701 msgid "Person shown" msgstr "" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "" #: src/properties.cpp:702 #, fuzzy msgid "Digital Image Identifier" msgstr "Цифровий фільтр" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "" #: src/properties.cpp:703 #, fuzzy msgid "The type of the source digital file." msgstr "Тривалість відтворення мультимедійного файла." #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 msgid "Event" msgstr "Подія" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "" #: src/properties.cpp:705 #, fuzzy msgid "Maximum available height" msgstr "Максимальна фокусна відстань" #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:706 #, fuzzy msgid "Maximum available width" msgstr "Максимальна фокусна відстань" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:707 msgid "Registry Entry" msgstr "" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" #: src/properties.cpp:708 msgid "Registry Entry-Item Identifier" msgstr "" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "" #: src/properties.cpp:710 msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "" #: src/properties.cpp:711 #, fuzzy msgid "Location shown" msgstr "Код місцерозташування" #: src/properties.cpp:711 #, fuzzy msgid "A location shown in the image." msgstr "Позначення, що робить зображення унікальним" #: src/properties.cpp:712 #, fuzzy msgid "Location Created" msgstr "Код місцерозташування" #: src/properties.cpp:712 #, fuzzy msgid "The location the photo was taken." msgstr "Назва знімка або запису." #: src/properties.cpp:713 #, fuzzy msgid "Location-City" msgstr "Адреса" #: src/properties.cpp:713 #, fuzzy msgid "Name of the city of a location." msgstr "Ім’я виконавця або назва групи виконавців." #: src/properties.cpp:714 #, fuzzy msgid "Location-Country ISO-Code" msgstr "Код місцерозташування" #: src/properties.cpp:714 msgid "The ISO code of a country of a location." msgstr "" #: src/properties.cpp:715 #, fuzzy msgid "Location-Country Name" msgstr "Назва місця" #: src/properties.cpp:715 #, fuzzy msgid "The name of a country of a location." msgstr "Назва знімка або запису." #: src/properties.cpp:716 #, fuzzy msgid "Location-Province/State" msgstr "Провінція або область" #: src/properties.cpp:716 msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "" #: src/properties.cpp:717 #, fuzzy msgid "Location-Sublocation" msgstr "Додаткові дані про місцерозташування" #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" #: src/properties.cpp:718 #, fuzzy msgid "Location-World Region" msgstr "Код місцерозташування" #: src/properties.cpp:718 msgid "The name of a world region of a location." msgstr "" #: src/properties.cpp:719 #, fuzzy msgid "Artwork or object in the image" msgstr "Засоби створення зображення." #: src/properties.cpp:719 msgid "A set of metadata about artwork or an object in the image." msgstr "" #: src/properties.cpp:720 #, fuzzy msgid "Artwork or object-Copyright notice" msgstr "Авторські права" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" #: src/properties.cpp:721 msgid "Artwork or object-Creator" msgstr "" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" #: src/properties.cpp:722 msgid "Artwork or object-Date Created" msgstr "" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" #: src/properties.cpp:723 msgid "Artwork or object-Source" msgstr "" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" #: src/properties.cpp:724 msgid "Artwork or object-Source inventory number" msgstr "" #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" #: src/properties.cpp:725 msgid "Artwork or object-Title" msgstr "" #: src/properties.cpp:725 msgid "A reference for the artwork or object in the image." msgstr "" #: src/properties.cpp:732 msgid "Scan from film" msgstr "" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "" #: src/properties.cpp:734 msgid "Scan from print" msgstr "" #: src/properties.cpp:735 msgid "Camera RAW" msgstr "Цифровий негатив фотоапарата" #: src/properties.cpp:736 #, fuzzy msgid "Camera TIFF" msgstr "Ід. фотоапарата" #: src/properties.cpp:737 #, fuzzy msgid "Camera JPEG" msgstr "Ід. фотоапарата" #: src/properties.cpp:742 #, fuzzy msgid "PLUS Version" msgstr "Версія PDF" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "" #: src/properties.cpp:743 msgid "Licensee" msgstr "Ліцензіат" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "" #: src/properties.cpp:744 #, fuzzy msgid "Licensee ID" msgstr "Ліцензіат" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "" #: src/properties.cpp:745 #, fuzzy msgid "Licensee Name" msgstr "Ліцензіат" #: src/properties.cpp:745 #, fuzzy msgid "Name of each Licensee." msgstr "Назва сцени." #: src/properties.cpp:746 msgid "End User" msgstr "" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "" #: src/properties.cpp:747 msgid "End User ID" msgstr "" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "" #: src/properties.cpp:748 #, fuzzy msgid "End User Name" msgstr "Ім’я власника" #: src/properties.cpp:748 msgid "Name of each End User." msgstr "" #: src/properties.cpp:749 #, fuzzy msgid "Licensor" msgstr "Ліцензіат" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "" #: src/properties.cpp:750 #, fuzzy msgid "Licensor ID" msgstr "Інформація про Сенсор" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "" #: src/properties.cpp:751 #, fuzzy msgid "Licensor Name" msgstr "Ліцензіат" #: src/properties.cpp:751 msgid "Name of each Licensor." msgstr "" #: src/properties.cpp:752 msgid "Licensor Address" msgstr "" #: src/properties.cpp:752 msgid "Licensor street address." msgstr "" #: src/properties.cpp:753 msgid "Licensor Address Detail" msgstr "" #: src/properties.cpp:753 msgid "Additional Licensor mailing address details." msgstr "" #: src/properties.cpp:754 #, fuzzy msgid "Licensor City" msgstr "Мехіко" #: src/properties.cpp:754 msgid "Licensor City name." msgstr "" #: src/properties.cpp:755 #, fuzzy msgid "Licensor State or Province" msgstr "Область/провінція" #: src/properties.cpp:755 msgid "Licensor State or Province name." msgstr "" #: src/properties.cpp:756 msgid "Licensor Postal Code" msgstr "" #: src/properties.cpp:756 msgid "Licensor Postal Code or Zip Code." msgstr "" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country" msgstr "Країна" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country name." msgstr "Назва країни" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1" msgstr "" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1." msgstr "" #: src/properties.cpp:759 msgid "Licensor Telephone 1" msgstr "" #: src/properties.cpp:759 msgid "Licensor Telephone number 1." msgstr "" #: src/properties.cpp:760 msgid "Licensor Telephone Type 2" msgstr "" #: src/properties.cpp:760 msgid "Licensor Telephone Type 2." msgstr "" #: src/properties.cpp:761 msgid "Licensor Telephone 2" msgstr "" #: src/properties.cpp:761 msgid "Licensor Telephone number 2." msgstr "" #: src/properties.cpp:762 msgid "Licensor Email" msgstr "" #: src/properties.cpp:762 msgid "Licensor Email address." msgstr "" #: src/properties.cpp:763 #, fuzzy msgid "Licensor URL" msgstr "Ліцензіат" #: src/properties.cpp:763 msgid "Licensor world wide web address." msgstr "" #: src/properties.cpp:764 #, fuzzy msgid "Licensor Notes" msgstr "Ліцензіат" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" #: src/properties.cpp:765 msgid "PLUS Media Summary Code" msgstr "" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" #: src/properties.cpp:766 #, fuzzy msgid "License Start Date" msgstr "Ліцензіат" #: src/properties.cpp:766 #, fuzzy msgid "The date on which the license takes effect." msgstr "Дата і час, коли було знято відео." #: src/properties.cpp:767 #, fuzzy msgid "License End Date" msgstr "Ліцензіат" #: src/properties.cpp:767 #, fuzzy msgid "The date on which the license expires." msgstr "Дата і час, коли було знято відео." #: src/properties.cpp:768 msgid "Media Constraints" msgstr "" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" #: src/properties.cpp:769 msgid "Region Constraints" msgstr "" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" #: src/properties.cpp:770 msgid "Product or Service Constraints" msgstr "" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" #: src/properties.cpp:771 #, fuzzy msgid "Image File Constraints" msgstr "Орієнтація зображення" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "" #: src/properties.cpp:772 msgid "Image Alteration Constraints" msgstr "" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" #: src/properties.cpp:773 #, fuzzy msgid "Image Duplication Constraints" msgstr "Дані стабілізації зображення" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "" #: src/properties.cpp:774 #, fuzzy msgid "Model Release Status" msgstr "Дата випуску" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" #: src/properties.cpp:775 #, fuzzy msgid "Model Release ID" msgstr "Дата випуску" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "" #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "" #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "" #: src/properties.cpp:777 msgid "Property Release Status" msgstr "" #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" #: src/properties.cpp:778 msgid "Property Release ID" msgstr "" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "" #: src/properties.cpp:779 #, fuzzy msgid "Other Constraints" msgstr "Автоконтрастність" #: src/properties.cpp:779 msgid "Additional constraints on the license." msgstr "" #: src/properties.cpp:780 #, fuzzy msgid "Credit Line Required" msgstr "Не потрібне" #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "" #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "" #: src/properties.cpp:782 msgid "Other License Requirements" msgstr "" #: src/properties.cpp:782 msgid "Additional license requirements." msgstr "" #: src/properties.cpp:783 msgid "Terms and Conditions Text" msgstr "" #: src/properties.cpp:783 msgid "Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:784 msgid "Terms and Conditions URL" msgstr "" #: src/properties.cpp:784 msgid "URL for Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:785 #, fuzzy msgid "Other License Conditions" msgstr "Умови освітлення" #: src/properties.cpp:785 msgid "Additional license conditions." msgstr "" #: src/properties.cpp:786 #, fuzzy msgid "Identifies the type of image delivered." msgstr "Ідентифікує виробника і продукт" #: src/properties.cpp:787 msgid "Licensor Image ID" msgstr "" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "" #: src/properties.cpp:788 msgid "Image File Name As Delivered" msgstr "" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "" #: src/properties.cpp:789 msgid "Image File Format As Delivered" msgstr "" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "" #: src/properties.cpp:790 msgid "Image File Size As Delivered" msgstr "" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "" #: src/properties.cpp:791 #, fuzzy msgid "Copyright Status" msgstr "Авторські права" #: src/properties.cpp:791 #, fuzzy msgid "Copyright status of the image." msgstr "Засоби створення зображення." #: src/properties.cpp:792 msgid "Copyright Registration Number" msgstr "" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" #: src/properties.cpp:793 #, fuzzy msgid "First Publication Date" msgstr "Дата цифрування" #: src/properties.cpp:793 #, fuzzy msgid "The date on which the image was first published." msgstr "Дата і час, коли зображення було збережено у форматі цифрових даних." #: src/properties.cpp:794 #, fuzzy msgid "Copyright Owner" msgstr "Авторські права" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "" #: src/properties.cpp:795 #, fuzzy msgid "Copyright Owner ID" msgstr "Авторські права" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "" #: src/properties.cpp:796 #, fuzzy msgid "Copyright Owner Name" msgstr "Ім’я власника" #: src/properties.cpp:796 msgid "Name of Copyright Owner." msgstr "" #: src/properties.cpp:797 msgid "Copyright Owner Image ID" msgstr "" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "" #: src/properties.cpp:798 msgid "Image Creator" msgstr "Створення зображення" #: src/properties.cpp:798 msgid "Creator/s of the image." msgstr "Засоби створення зображення." #: src/properties.cpp:799 #, fuzzy msgid "Image Creator ID" msgstr "Створення зображення" #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "" #: src/properties.cpp:800 #, fuzzy msgid "Image Creator Name" msgstr "Створення зображення" #: src/properties.cpp:800 #, fuzzy msgid "Name of Image Creator." msgstr "Створення зображення" #: src/properties.cpp:801 #, fuzzy msgid "Image Creator Image ID" msgstr "Створення зображення" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "" #: src/properties.cpp:802 #, fuzzy msgid "Image Supplier ID" msgstr "Унікальний ідентифікатор зображення" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "" #: src/properties.cpp:803 #, fuzzy msgid "Image Supplier Name" msgstr "Розмір зображення" #: src/properties.cpp:803 msgid "Name of Image Supplier." msgstr "" #: src/properties.cpp:804 msgid "Image Supplier Image ID" msgstr "" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "" #: src/properties.cpp:805 #, fuzzy msgid "Licensee Image ID" msgstr "Ліцензіат" #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "" #: src/properties.cpp:806 #, fuzzy msgid "Licensee Image Notes" msgstr "Число Вилучених Зображень" #: src/properties.cpp:806 msgid "Notes added by Licensee." msgstr "" #: src/properties.cpp:807 msgid "Other Image Info" msgstr "" #: src/properties.cpp:807 #, fuzzy msgid "Additional image information." msgstr "Відомості про позицію автофокусу" #: src/properties.cpp:808 #, fuzzy msgid "License ID" msgstr "Ліцензіат" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "" #: src/properties.cpp:809 msgid "Licensor Transaction ID" msgstr "" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "" #: src/properties.cpp:810 msgid "Licensee Transaction ID" msgstr "" #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" #: src/properties.cpp:811 msgid "Licensee Project Reference" msgstr "" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "" #: src/properties.cpp:812 #, fuzzy msgid "License Transaction Date" msgstr "Дата завершення строку дії" #: src/properties.cpp:812 #, fuzzy msgid "The date of the License Transaction." msgstr "Назва сцени." #: src/properties.cpp:813 msgid "Reuse" msgstr "Повторне використання" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" #: src/properties.cpp:814 msgid "Other License Documents" msgstr "" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "" #: src/properties.cpp:815 #, fuzzy msgid "Other License Info" msgstr "Дані щодо об’єктива" #: src/properties.cpp:815 #, fuzzy msgid "Additional license information." msgstr "Відомості про позицію автофокусу" #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "" #: src/properties.cpp:819 msgid "Custom 4" msgstr "Інше 4" #: src/properties.cpp:820 msgid "Custom 5" msgstr "Інше 5" #: src/properties.cpp:821 msgid "Custom 6" msgstr "Інше 6" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "" #: src/properties.cpp:822 msgid "Custom 7" msgstr "Інше 7" #: src/properties.cpp:823 msgid "Custom 8" msgstr "Інше 8" #: src/properties.cpp:824 msgid "Custom 9" msgstr "Інше 9" #: src/properties.cpp:825 msgid "Custom 10" msgstr "Інше 10" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "" #: src/properties.cpp:833 msgid "Not Required" msgstr "Не потрібне" #: src/properties.cpp:839 msgid "Protected" msgstr "Захищено" #: src/properties.cpp:840 msgid "Public Domain" msgstr "Для суспільного використання" #: src/properties.cpp:846 msgid "Credit Adjacent To Image" msgstr "" #: src/properties.cpp:847 msgid "Credit in Credits Area" msgstr "" #: src/properties.cpp:848 #, fuzzy msgid "Credit on Image" msgstr "Ескіз зображення" #: src/properties.cpp:849 #, fuzzy msgid "Not Require" msgstr "Не потрібне" #: src/properties.cpp:854 #, fuzzy msgid "No Colorization" msgstr "Вигорання" #: src/properties.cpp:855 msgid "No Cropping" msgstr "" #: src/properties.cpp:856 #, fuzzy msgid "No De-Colorization" msgstr "Вигорання" #: src/properties.cpp:857 msgid "No Flipping" msgstr "" #: src/properties.cpp:858 msgid "No Merging" msgstr "" #: src/properties.cpp:859 #, fuzzy msgid "No Retouching" msgstr "Узгодження Зони" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "" #: src/properties.cpp:865 msgid "No Duplication Constraints" msgstr "" #: src/properties.cpp:866 #, fuzzy msgid "No Duplication" msgstr "Тривалість звуку" #: src/properties.cpp:871 msgid "Maintain File Name" msgstr "" #: src/properties.cpp:872 msgid "Maintain File Type" msgstr "" #: src/properties.cpp:873 msgid "Maintain ID in File Name" msgstr "" #: src/properties.cpp:874 msgid "Maintain Metadata" msgstr "" #: src/properties.cpp:879 msgid "Windows Bitmap (BMP)" msgstr "" #: src/properties.cpp:880 msgid "Digital Negative (DNG)" msgstr "Цифровий негатив (DNG)" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "Інкапсульований PostScript (eps)" #: src/properties.cpp:882 msgid "Graphics Interchange Format (GIF)" msgstr "" #: src/properties.cpp:883 msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "" #: src/properties.cpp:889 msgid "Tagged Image File Format (TIFF)" msgstr "" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "" #: src/properties.cpp:896 msgid "Up to 1 MB" msgstr "" #: src/properties.cpp:897 msgid "Up to 10 MB" msgstr "" #: src/properties.cpp:898 #, fuzzy msgid "Up to 30 MB" msgstr "Optio 30" #: src/properties.cpp:899 msgid "Up to 50 MB" msgstr "" #: src/properties.cpp:904 msgid "Illustrated Image" msgstr "" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "Фотографічне зображення" #: src/properties.cpp:913 msgid "Cell" msgstr "" #: src/properties.cpp:914 msgid "FAX" msgstr "FAX" #: src/properties.cpp:916 msgid "Pager" msgstr "Пейджер" #: src/properties.cpp:917 msgid "Work" msgstr "Роб." #: src/properties.cpp:922 msgid "Age Unknown" msgstr "Вік не відомий" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "Вік 25 або старші" #: src/properties.cpp:924 msgid "Age 24" msgstr "Вік 24" #: src/properties.cpp:925 msgid "Age 23" msgstr "Вік 23" #: src/properties.cpp:926 msgid "Age 22" msgstr "Вік 22" #: src/properties.cpp:927 msgid "Age 21" msgstr "Вік 21" #: src/properties.cpp:928 msgid "Age 20" msgstr "Вік 20" #: src/properties.cpp:929 msgid "Age 19" msgstr "Вік 19" #: src/properties.cpp:930 msgid "Age 18" msgstr "Вік 18" #: src/properties.cpp:931 msgid "Age 17" msgstr "Вік 17" #: src/properties.cpp:932 msgid "Age 16" msgstr "Вік 16" #: src/properties.cpp:933 msgid "Age 15" msgstr "Вік 15" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "Вік 14 або менше" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "Незастосовне" #: src/properties.cpp:941 msgid "Unlimited Model Releases" msgstr "" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "" #: src/properties.cpp:949 msgid "Unlimited Property Releases" msgstr "" #: src/properties.cpp:950 msgid "Limited or Incomplete Property Releases" msgstr "" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "" #: src/properties.cpp:960 src/properties.cpp:969 #, fuzzy msgid "Fixture Identification" msgstr "Ідентифікація моделі" #: src/properties.cpp:961 src/properties.cpp:970 msgid "Status" msgstr "Стан" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "Позначення, що робить зображення унікальним" #: src/properties.cpp:962 src/properties.cpp:971 msgid "People" msgstr "Люди" #: src/properties.cpp:963 src/properties.cpp:972 msgid "Catalog Sets" msgstr "" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "" #: src/properties.cpp:978 #, fuzzy msgid "RegionInfo" msgstr "Дані щодо об’єктива" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "" #: src/properties.cpp:984 src/properties.cpp:1000 #, fuzzy msgid "Regions" msgstr "Версії" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "" #: src/properties.cpp:985 msgid "Date Regions Valid" msgstr "" #: src/properties.cpp:985 msgid "Date the last region was created" msgstr "" #: src/properties.cpp:991 msgid "Person Display Name" msgstr "" #: src/properties.cpp:991 msgid "Name of the person (in the given rectangle)" msgstr "" #: src/properties.cpp:992 msgid "Rectangle" msgstr "" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "" #: src/properties.cpp:993 msgid "Person Email Digest" msgstr "" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "" #: src/properties.cpp:994 msgid "Person LiveId CID" msgstr "" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "" #: src/properties.cpp:1001 msgid "Applied To Dimensions" msgstr "" #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "" #: src/properties.cpp:1002 #, fuzzy msgid "Region List" msgstr "Одиниця роздільності" #: src/properties.cpp:1002 msgid "List of Region structures" msgstr "" #: src/properties.cpp:1003 msgid "Area" msgstr "" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" #: src/properties.cpp:1007 #, fuzzy msgid "Focus Usage" msgstr "Діапазон фокусування" #: src/properties.cpp:1008 #, fuzzy msgid "Bar Code Value" msgstr "Значення брекетингу" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "" #: src/properties.cpp:1009 #, fuzzy msgid "Extensions" msgstr "Версії" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "" #: src/properties.cpp:1015 msgid "Main structure containing keyword based information" msgstr "" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "" #: src/properties.cpp:1016 msgid "List of root keyword structures" msgstr "" #: src/properties.cpp:1017 #, fuzzy msgid "Keyword" msgstr "Ключові слова" #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "" #: src/properties.cpp:1018 msgid "Applied" msgstr "" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" #: src/properties.cpp:1019 msgid "List of children keyword structures" msgstr "" #: src/properties.cpp:1026 #, fuzzy msgid "Use Panorama Viewer" msgstr "Рамка панорами" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" #: src/properties.cpp:1027 #, fuzzy msgid "Capture Software" msgstr "Програми" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" #: src/properties.cpp:1028 #, fuzzy msgid "Stitching Software" msgstr "Програми" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" #: src/properties.cpp:1029 #, fuzzy msgid "Projection Type" msgstr "Тип об'єкта" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "" #: src/properties.cpp:1034 #, fuzzy msgid "The pitch angle of the initial view in degrees." msgstr "Відстань до об’єкта, вказана у метрах." #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" #: src/properties.cpp:1037 #, fuzzy msgid "First Photo Date" msgstr "Дата зйомки" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "" #: src/properties.cpp:1038 #, fuzzy msgid "Last Photo Date" msgstr "Дата зйомки" #: src/properties.cpp:1038 msgid "Date and time for the last image created in the panorama." msgstr "" #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "" #: src/properties.cpp:1040 #, fuzzy msgid "Exposure Lock Used" msgstr "Режим експозиції" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" #: src/properties.cpp:1041 msgid "Cropped Area Image Width Pixels" msgstr "" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" #: src/properties.cpp:1042 msgid "Cropped Area Image Height Pixels" msgstr "" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" #: src/properties.cpp:1047 msgid "Initial Camera Dolly" msgstr "" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" #: src/properties.cpp:1055 #, fuzzy msgid "Archival Location" msgstr "Місце зйомки" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "" #: src/properties.cpp:1056 #, fuzzy msgid "Arranger" msgstr "Жовтогарячий" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "" #: src/properties.cpp:1057 #, fuzzy msgid "Arranger Keywords" msgstr "Ключові слова" #: src/properties.cpp:1057 msgid "Information about the Arranger Keywords." msgstr "" #: src/properties.cpp:1059 #, fuzzy msgid "Video Aspect Ratio" msgstr "Співвідношення сторін" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "" #: src/properties.cpp:1060 #, fuzzy msgid "Video Aspect Ratio Type" msgstr "Співвідношення сторін" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "" #: src/properties.cpp:1062 #, fuzzy msgid "Attached File Description" msgstr "Опис зображення" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "" #: src/properties.cpp:1064 msgid "Attached File Name" msgstr "" #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "" #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" #: src/properties.cpp:1068 #, fuzzy msgid "Brightness setting." msgstr "Налаштування різкості" #: src/properties.cpp:1069 #, fuzzy msgid "Camera Byte Order" msgstr "Порядок байтів" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "" #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "" #: src/properties.cpp:1070 msgid "The video Cinematographer information." msgstr "" #: src/properties.cpp:1071 #, fuzzy msgid "Clean Aperture Width" msgstr "Мінімальна Діафрагма" #: src/properties.cpp:1071 msgid "Clean aperture width in pixels" msgstr "" #: src/properties.cpp:1072 #, fuzzy msgid "Clean Aperture Height" msgstr "Центрально-зважений" #: src/properties.cpp:1072 msgid "Clean aperture height in pixels" msgstr "" #: src/properties.cpp:1073 #, fuzzy msgid "Video Codec" msgstr "Відео" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" #: src/properties.cpp:1074 msgid "Video Codec Decode Info" msgstr "" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1075 #, fuzzy msgid "Video Codec Description" msgstr "Опис параметрів пристрою" #: src/properties.cpp:1075 src/properties.cpp:1403 #, fuzzy msgid "Contains description the codec." msgstr "Текстовий опис об’єкту знімку" #: src/properties.cpp:1076 #, fuzzy msgid "Video Codec Information" msgstr "Зображення та інформація" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL" msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL." msgstr "" #: src/properties.cpp:1078 #, fuzzy msgid "Video Codec Settings" msgstr "Налаштування режиму \"У русі\"" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1083 #, fuzzy msgid "Comment" msgstr "Коментар користувача" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned" msgstr "Стиснення" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned." msgstr "Стиснення" #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1086 msgid "Information about the Composer." msgstr "" #: src/properties.cpp:1087 #, fuzzy msgid "Composer Keywords" msgstr "Ключові слова" #: src/properties.cpp:1087 msgid "Information about the Composer Keywords." msgstr "" #: src/properties.cpp:1088 #, fuzzy msgid "Compressor" msgstr "Стиснення" #: src/properties.cpp:1088 msgid "Video Compression Library Used" msgstr "" #: src/properties.cpp:1089 #, fuzzy msgid "Video Compressor ID" msgstr "Звуковий кодек" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "" #: src/properties.cpp:1090 #, fuzzy msgid "Compressor Version" msgstr "Стиснення" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "" #: src/properties.cpp:1091 #, fuzzy msgid "Container Type" msgstr "Тип фотоапарата" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "" #: src/properties.cpp:1092 #, fuzzy msgid "Content Compression Algorithm" msgstr "Рівень стискання" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "" #: src/properties.cpp:1097 msgid "Indicates the direction of contrast processing applied by the camera." msgstr "" #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "" #: src/properties.cpp:1100 #, fuzzy msgid "Name of the country where the video was created." msgstr "Дата і час, коли було знято відео." #: src/properties.cpp:1101 #, fuzzy msgid "Creation Date" msgstr "Дата завершення строку дії" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" #: src/properties.cpp:1103 msgid "Pixel Crop Bottom" msgstr "" #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "" #: src/properties.cpp:1104 msgid "Pixel Crop Left" msgstr "" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "" #: src/properties.cpp:1105 msgid "Pixel Crop Right" msgstr "" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "" #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "" #: src/properties.cpp:1107 msgid "Pixel Crop Top" msgstr "" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "" #: src/properties.cpp:1108 #, fuzzy msgid "Current Time" msgstr "Час експозиції" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "" #: src/properties.cpp:1109 #, fuzzy msgid "Data Packets" msgstr "Пакунок XML" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "" #: src/properties.cpp:1110 msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "" #: src/properties.cpp:1111 msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" #: src/properties.cpp:1113 #, fuzzy msgid "Date-Time Original" msgstr "Дата і час (знімання)" #: src/properties.cpp:1113 #, fuzzy msgid "Contains the production date" msgstr "Відтворення кольорів" #: src/properties.cpp:1114 msgid "Video Track Default On" msgstr "" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1115 #, fuzzy msgid "Indicates the digital zoom ratio when the video was shot." msgstr "Дата і час, коли було знято відео." #: src/properties.cpp:1116 #, fuzzy msgid "Dimensions" msgstr "Версії" #: src/properties.cpp:1116 msgid "Information about the Dimensions of the video frame." msgstr "" #: src/properties.cpp:1117 #, fuzzy msgid "Director" msgstr "Завбачник" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "" #: src/properties.cpp:1118 msgid "Video Display Unit" msgstr "" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1120 #, fuzzy msgid "Doc Type" msgstr "Тип фокусу" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" #: src/properties.cpp:1121 #, fuzzy msgid "Doc Type Read Version" msgstr "Версія запису" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" #: src/properties.cpp:1122 #, fuzzy msgid "Doc Type Version" msgstr "Версія моделі" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "" #: src/properties.cpp:1124 #, fuzzy msgid "The duration of the media file. Measured in milli-seconds." msgstr "Тривалість відтворення мультимедійного файла." #: src/properties.cpp:1125 #, fuzzy msgid "EBML Read Version" msgstr "Версія запису" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "" #: src/properties.cpp:1126 #, fuzzy msgid "EBML Version" msgstr "Версія ARM" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "" #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "" #: src/properties.cpp:1136 msgid "Edited By" msgstr "" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1137 msgid "Video Track Enabled" msgstr "" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels width in pixels" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "" #: src/properties.cpp:1141 msgid "Encoder" msgstr "" #: src/properties.cpp:1141 msgid "Information about the Encoder." msgstr "" #: src/properties.cpp:1142 #, fuzzy msgid "End Timecode" msgstr "Часовий пояс" #: src/properties.cpp:1143 msgid "Engineer, in most cases name of person." msgstr "" #: src/properties.cpp:1144 msgid "Equipment" msgstr "" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "" #: src/properties.cpp:1145 #, fuzzy msgid "Exposure Compensation Information." msgstr "Параметр компенсації експозиції" #: src/properties.cpp:1146 #, fuzzy msgid "Exposure Program Information." msgstr "Програма експозиції" #: src/properties.cpp:1147 #, fuzzy msgid "Exposure time in seconds." msgstr "Тривалість експонування вказана у секундах." #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description" msgstr "Опис параметрів пристрою" #: src/properties.cpp:1148 msgid "Extended Content Description, usually found in ASF type files." msgstr "" #: src/properties.cpp:1150 #, fuzzy msgid "File ID" msgstr "Назва файлу" #: src/properties.cpp:1150 msgid "File ID." msgstr "" #: src/properties.cpp:1151 #, fuzzy msgid "File Length" msgstr "Довжина зображення" #: src/properties.cpp:1151 #, fuzzy msgid "File length." msgstr "Фокусна відстань" #: src/properties.cpp:1152 #, fuzzy msgid "File Name" msgstr "Назва файлу" #: src/properties.cpp:1152 msgid "File Name or Absolute File Path" msgstr "" #: src/properties.cpp:1153 #, fuzzy msgid "File Size" msgstr "Розмір файла" #: src/properties.cpp:1153 #, fuzzy msgid "File Size, in MB" msgstr "Розмір файла" #: src/properties.cpp:1154 #, fuzzy msgid "File Type" msgstr "Тип Спалаху" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "" #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "" #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "" #: src/properties.cpp:1158 msgid "Focal length of the lens, in millimeters." msgstr "" #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "" #: src/properties.cpp:1161 #, fuzzy msgid "Frame Count" msgstr "Число Зображень" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "" #: src/properties.cpp:1162 #, fuzzy msgid "Frame Height" msgstr "Висота зображення" #: src/properties.cpp:1162 msgid "Height of frames in a video" msgstr "" #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" #: src/properties.cpp:1165 #, fuzzy msgid "Frame Width" msgstr "Ширина зображення" #: src/properties.cpp:1165 msgid "Width of frames in a video" msgstr "" #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "" #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "" #: src/properties.cpp:1171 msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:1172 #, fuzzy msgid "Reference for image direction." msgstr "Напрямок діафрагми" #: src/properties.cpp:1173 msgid "(North/South). Indicates latitude." msgstr "" #: src/properties.cpp:1174 msgid "(East/West). Indicates longitude." msgstr "" #: src/properties.cpp:1175 msgid "Geodetic survey data." msgstr "" #: src/properties.cpp:1176 msgid "Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:1177 #, fuzzy msgid "Time stamp of GPS data, " msgstr "Часова мітка метаданих з ключем" #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "" #: src/properties.cpp:1179 #, fuzzy msgid "Graphics Mode" msgstr "Режим вилки" #: src/properties.cpp:1179 msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" #: src/properties.cpp:1181 msgid "Grouping" msgstr "" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 #, fuzzy msgid "Handler Description" msgstr "Опис зображення" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 #, fuzzy msgid "Handler Type" msgstr "Тип фотоапарата" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Handler Vendor ID" msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 #, fuzzy msgid "Component manufacturer." msgstr "Виробник" #: src/properties.cpp:1186 #, fuzzy msgid "Video Height" msgstr "Висота зображення" #: src/properties.cpp:1186 src/properties.cpp:1309 msgid "Video height in pixels" msgstr "" #: src/properties.cpp:1187 #, fuzzy msgid "Hue Adjustment Settings Information." msgstr "Налаштування корекції зображення" #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "" #: src/properties.cpp:1189 msgid "Information Banner Image." msgstr "" #: src/properties.cpp:1190 #, fuzzy msgid "Info Banner URL" msgstr "Основна адреса" #: src/properties.cpp:1190 msgid "Information Banner URL." msgstr "" #: src/properties.cpp:1191 #, fuzzy msgid "Information" msgstr "Інформація про знімок" #: src/properties.cpp:1191 #, fuzzy msgid "Additional Movie Information." msgstr "Відомості про позицію автофокусу" #: src/properties.cpp:1192 #, fuzzy msgid "Info Text" msgstr "Текст" #: src/properties.cpp:1192 #, fuzzy msgid "Information Text." msgstr "Інформація про знімок" #: src/properties.cpp:1193 msgid "Info URL" msgstr "" #: src/properties.cpp:1193 #, fuzzy msgid "Information URL." msgstr "Інформація про знімок" #: src/properties.cpp:1194 msgid "Information about the ISO Setting." msgstr "" #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "" #: src/properties.cpp:1196 #, fuzzy msgid "Junk Data" msgstr "Дані об’єктиву" #: src/properties.cpp:1196 msgid "Video Junk data" msgstr "" #: src/properties.cpp:1197 #, fuzzy msgid "Language." msgstr "Мова" #: src/properties.cpp:1198 #, fuzzy msgid "Length" msgstr "Довжина зображення" #: src/properties.cpp:1198 #, fuzzy msgid "The length of the media file." msgstr "Тривалість відтворення мультимедійного файла." #: src/properties.cpp:1200 #, fuzzy msgid "Lens Type." msgstr "Тип Лінзи" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness" msgstr "Яскравість" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness." msgstr "Яскравість" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information" msgstr "Інформація про знімок" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information." msgstr "Інформація про знімок" #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "" #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "" #: src/properties.cpp:1204 msgid "Logo URL" msgstr "" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "" #: src/properties.cpp:1205 msgid "Lyrics" msgstr "" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "" #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "" #: src/properties.cpp:1207 msgid "Equipment Make" msgstr "" #: src/properties.cpp:1207 msgid "Manufacturer of recording equipment" msgstr "" #: src/properties.cpp:1208 #, fuzzy msgid "Camera Maker Note Type" msgstr "Тип фотоапарата" #: src/properties.cpp:1208 msgid "Maker Note Type of the camera." msgstr "" #: src/properties.cpp:1209 #, fuzzy msgid "Camera Maker Note Version" msgstr "Версія Makernote" #: src/properties.cpp:1209 #, fuzzy msgid "Maker Note Version of the camera." msgstr "Версія Makernote" #: src/properties.cpp:1210 #, fuzzy msgid "Maker URL" msgstr "Основна адреса" #: src/properties.cpp:1210 #, fuzzy msgid "Camera Manufacturer's URL." msgstr "Виробник" #: src/properties.cpp:1211 msgid "Smallest F number of lens, in APEX." msgstr "" #: src/properties.cpp:1212 #, fuzzy msgid "Maximum Bit Rate" msgstr "Максимальне значення діафрагми" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" #: src/properties.cpp:1213 #, fuzzy msgid "Maximum Data Rate" msgstr "Максимальне значення діафрагми" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "Media Track Create Date" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 #, fuzzy msgid "Media Track Duration" msgstr "Тривалість звуку" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 #, fuzzy msgid "Media Header Version" msgstr "Версія моделі" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "Media Language Code" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "Media Track Modify Date" msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" #: src/properties.cpp:1220 #, fuzzy msgid "Medium." msgstr "Середній" #: src/properties.cpp:1221 msgid "Metadata" msgstr "" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1222 msgid "Metadata Library" msgstr "" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "" #: src/properties.cpp:1223 #, fuzzy msgid "Metering mode." msgstr "Режим вимірювання" #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "" #: src/properties.cpp:1225 #, fuzzy msgid "Mime Type" msgstr "Тип фотоапарата" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "" #: src/properties.cpp:1226 #, fuzzy msgid "QTime Minor FileType Version" msgstr "Версія файла" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "" #: src/properties.cpp:1227 #, fuzzy msgid "Equipment Model" msgstr "Режим коригування" #: src/properties.cpp:1227 msgid "Model name or number of equipment." msgstr "" #: src/properties.cpp:1228 #, fuzzy msgid "Modification Date-Time" msgstr "Назва місця" #: src/properties.cpp:1228 msgid "Contains the modification date of the video" msgstr "" #: src/properties.cpp:1229 #, fuzzy msgid "Movie Header Version" msgstr "Версія моделі" #: src/properties.cpp:1230 msgid "Music By" msgstr "" #: src/properties.cpp:1230 msgid "Music By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1231 msgid "Muxing App" msgstr "" #: src/properties.cpp:1231 msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" #: src/properties.cpp:1232 msgid "Name of song or the event." msgstr "" #: src/properties.cpp:1233 #, fuzzy msgid "Next Track ID" msgstr "Текст + ID#" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" #: src/properties.cpp:1234 #, fuzzy msgid "Number Of Colours" msgstr "Кількість тактів" #: src/properties.cpp:1234 msgid "Total number of colours used" msgstr "" #: src/properties.cpp:1235 #, fuzzy msgid "Number Of Important Colours" msgstr "Кількість тактів" #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1236 #, fuzzy msgid "Number Of Parts" msgstr "Кількість тактів" #: src/properties.cpp:1236 msgid "Total number of parts in the video." msgstr "" #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" #: src/properties.cpp:1238 #, fuzzy msgid "Organization" msgstr "Орієнтація" #: src/properties.cpp:1238 msgid "Name of organization associated with the video." msgstr "" #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" #: src/properties.cpp:1248 #, fuzzy msgid "Part" msgstr "Вечірка" #: src/properties.cpp:1248 #, fuzzy msgid "Part." msgstr "Вечірка" #: src/properties.cpp:1249 msgid "Performers" msgstr "" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords" msgstr "Ключові слова" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords." msgstr "Ключові слова." #: src/properties.cpp:1251 msgid "Performer URL" msgstr "" #: src/properties.cpp:1251 msgid "Performer's dedicated URL." msgstr "" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data" msgstr "Керування Зображенням" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data." msgstr "Керування Зображенням" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Version" msgstr "Керування Зображенням" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Data Version." msgstr "Керування Зображенням" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name" msgstr "Керування Зображенням" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name." msgstr "Керування Зображенням" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Base" msgstr "Керування Зображенням" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Data Base." msgstr "Керування Зображенням" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust" msgstr "Керування Зображенням" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust Information." msgstr "Керування Зображенням" #: src/properties.cpp:1257 #, fuzzy msgid "Picture Control Quick Adjust" msgstr "Керування Зображенням" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection" msgstr "Вибрані" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection." msgstr "Вибрані" #: src/properties.cpp:1259 #, fuzzy msgid "Play Mode" msgstr "Простий режим" #: src/properties.cpp:1259 msgid "Information about the Play Mode." msgstr "" #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "" #: src/properties.cpp:1260 msgid "Contains the information of External media." msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1265 msgid "Planes" msgstr "" #: src/properties.cpp:1265 msgid "The number of Image Planes in the video" msgstr "" #: src/properties.cpp:1266 #, fuzzy msgid "Poster Time" msgstr "Час експозиції" #: src/properties.cpp:1266 msgid "The time value of the time of the movie poster." msgstr "" #: src/properties.cpp:1267 #, fuzzy msgid "Preferred Rate" msgstr "Дата" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1269 msgid "Preroll" msgstr "" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" #: src/properties.cpp:1272 #, fuzzy msgid "Preview Atom Type" msgstr "Ескіз зображення" #: src/properties.cpp:1272 #, fuzzy msgid "Indicates the type of atom that contains the preview data" msgstr "Вказує тип звукового вмісту." #: src/properties.cpp:1273 #, fuzzy msgid "Preview Date" msgstr "Дані ескізу" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "" #: src/properties.cpp:1274 #, fuzzy msgid "Preview Duration" msgstr "Дані ескізу" #: src/properties.cpp:1274 #, fuzzy msgid "The duration of the movie preview in movie time scale units" msgstr "Тривалість відтворення мультимедійного файла." #: src/properties.cpp:1275 #, fuzzy msgid "Preview Time" msgstr "Ескіз зображення" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "" #: src/properties.cpp:1276 #, fuzzy msgid "The version of the movie preview " msgstr "Тривалість відтворення мультимедійного файла." #: src/properties.cpp:1277 #, fuzzy msgid "Produced By" msgstr "Виробник" #: src/properties.cpp:1277 msgid "Produced By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1278 msgid "Producer involved with the video." msgstr "" #: src/properties.cpp:1279 #, fuzzy msgid "Producer Keywords" msgstr "Ключові слова" #: src/properties.cpp:1279 msgid "Information about the Producer Keywords." msgstr "" #: src/properties.cpp:1280 #, fuzzy msgid "Production Aperture Width" msgstr "Автодіафрагма" #: src/properties.cpp:1280 msgid "Production aperture width in pixels" msgstr "" #: src/properties.cpp:1281 #, fuzzy msgid "Production Aperture Height" msgstr "Автодіафрагма" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "" #: src/properties.cpp:1282 msgid "Production Designer" msgstr "" #: src/properties.cpp:1282 msgid "Information about the Production Designer." msgstr "" #: src/properties.cpp:1283 #, fuzzy msgid "Production Studio" msgstr "Ід. продукту" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "" #: src/properties.cpp:1284 #, fuzzy msgid "Product" msgstr "Ід. продукту" #: src/properties.cpp:1284 #, fuzzy msgid "Product." msgstr "Ід. продукту" #: src/properties.cpp:1286 msgid "Rate" msgstr "" #: src/properties.cpp:1286 msgid "Rate." msgstr "" #: src/properties.cpp:1287 msgid "Rated" msgstr "" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "" #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "" #: src/properties.cpp:1291 msgid "Recording Copyright" msgstr "" #: src/properties.cpp:1291 msgid "Recording Copyright." msgstr "" #: src/properties.cpp:1292 #, fuzzy msgid "Requirements" msgstr "вимагає аргумент\n" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "" #: src/properties.cpp:1293 msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" #: src/properties.cpp:1294 msgid "Ripped By" msgstr "" #: src/properties.cpp:1294 msgid "Ripped By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1295 msgid "Indicates the direction of saturation processing applied by the camera." msgstr "" #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "" #: src/properties.cpp:1296 #, fuzzy msgid "The name of the secondary genre.." msgstr "Назва сцени." #: src/properties.cpp:1297 #, fuzzy msgid "Selection Time" msgstr "Вибрані" #: src/properties.cpp:1297 msgid "The time value for the start time of the current selection." msgstr "" #: src/properties.cpp:1298 #, fuzzy msgid "Selection Duration" msgstr "Тривалість звуку" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "" #: src/properties.cpp:1299 #, fuzzy msgid "Send Duration" msgstr "Тривалість" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "" #: src/properties.cpp:1303 #, fuzzy msgid "Software Version" msgstr "Версія моделі" #: src/properties.cpp:1303 #, fuzzy msgid "The Version of the software used." msgstr "Назва знімка або запису." #: src/properties.cpp:1304 #, fuzzy msgid "Song Writer" msgstr "Автор підпису" #: src/properties.cpp:1304 #, fuzzy msgid "The name of the song writer." msgstr "Назва знімка або запису." #: src/properties.cpp:1305 msgid "Song Writer Keywords" msgstr "" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords." msgstr "Ключові слова." #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits" msgstr "Подяка" #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits." msgstr "Подяка." #: src/properties.cpp:1308 #, fuzzy msgid "Source Form" msgstr "Джерело" #: src/properties.cpp:1308 #, fuzzy msgid "Source Form." msgstr "Джерело." #: src/properties.cpp:1309 #, fuzzy msgid "Source Image Height" msgstr "Висота зображення" #: src/properties.cpp:1310 #, fuzzy msgid "Source Image Width" msgstr "Ширина зображення" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "" #: src/properties.cpp:1311 msgid "Starring" msgstr "" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "" #: src/properties.cpp:1312 msgid "Start Timecode" msgstr "" #: src/properties.cpp:1313 #, fuzzy msgid "Statistics" msgstr "Стан" #: src/properties.cpp:1313 msgid "Statistics." msgstr "" #: src/properties.cpp:1314 #, fuzzy msgid "Stream Count" msgstr "Кількість кроків масштабування" #: src/properties.cpp:1314 #, fuzzy msgid "Total Number Of Streams" msgstr "Кількість тактів" #: src/properties.cpp:1315 #, fuzzy msgid "Stream Name" msgstr "Назва зйомки" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "" #: src/properties.cpp:1316 #, fuzzy msgid "Stream Quality" msgstr "Якість зображення" #: src/properties.cpp:1316 msgid "General Stream Quality" msgstr "" #: src/properties.cpp:1317 msgid "Stream Sample Rate" msgstr "" #: src/properties.cpp:1318 #, fuzzy msgid "Stream Sample Count" msgstr "Число Зображень" #: src/properties.cpp:1319 msgid "Stream Sample Size" msgstr "" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "" #: src/properties.cpp:1320 #, fuzzy msgid "Stream Type" msgstr "Тип сцени" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1321 msgid "Subtitles Codec" msgstr "" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "" #: src/properties.cpp:1322 msgid "Subtitle Codec Decode Info" msgstr "" #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1323 #, fuzzy msgid "Subtitles Codec Information" msgstr "Інформація про знімок" #: src/properties.cpp:1323 msgid "Contains additional information about subtitles." msgstr "" #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "" #: src/properties.cpp:1325 #, fuzzy msgid "Subtitle Codec Settings" msgstr "Налаштування режиму зображення" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1327 msgid "Subtitle Track Enabled" msgstr "" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1328 #, fuzzy msgid "Subtitle" msgstr "Заголовок" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords" msgstr "Ключові слова" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords." msgstr "Ключові слова." #: src/properties.cpp:1330 #, fuzzy msgid "Subtitles Language" msgstr "Мова" #: src/properties.cpp:1330 msgid "The Language in which the subtitles is recorded in." msgstr "" #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1332 msgid "Subtitle Track Lacing" msgstr "" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1333 #, fuzzy msgid "Subject. " msgstr "Об’єкт" #: src/properties.cpp:1334 #, fuzzy msgid "TapeName." msgstr "Назва стрічки" #: src/properties.cpp:1335 #, fuzzy msgid "Tag Default Setting" msgstr "Типові параметри" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "" #: src/properties.cpp:1336 #, fuzzy msgid "Tag Language" msgstr "Мова" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "" #: src/properties.cpp:1337 #, fuzzy msgid "Tag Name" msgstr "Назва стрічки" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1338 msgid "Tag String" msgstr "" #: src/properties.cpp:1338 msgid "Information contained in a Tags" msgstr "" #: src/properties.cpp:1339 #, fuzzy msgid "Target Type" msgstr "Діафрагма призначення" #: src/properties.cpp:1339 msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "" #: src/properties.cpp:1340 msgid "Technician" msgstr "" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "" #: src/properties.cpp:1341 #, fuzzy msgid "Thumbnail Height" msgstr "Довжина ескізу" #: src/properties.cpp:1341 #, fuzzy msgid "Preview Image Thumbnail Height." msgstr "Розмір зображення попереднього перегляду" #: src/properties.cpp:1342 #, fuzzy msgid "Preview Image Thumbnail Length." msgstr "Довжина ескізу" #: src/properties.cpp:1343 #, fuzzy msgid "Thumbnail Width" msgstr "Довжина ескізу" #: src/properties.cpp:1343 #, fuzzy msgid "Preview Image Thumbnail Width." msgstr "Розмір зображення попереднього перегляду" #: src/properties.cpp:1344 #, fuzzy msgid "Timecode Scale" msgstr "Під шкалою" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "" #: src/properties.cpp:1345 src/properties.cpp:1428 #, fuzzy msgid "Time Offset" msgstr "Часовий пояс" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" #: src/properties.cpp:1346 #, fuzzy msgid "Time Scale" msgstr "Час надсилання" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1350 msgid "Toning Effect Settings Applied." msgstr "" #: src/properties.cpp:1351 msgid "Total Frame Count" msgstr "" #: src/properties.cpp:1352 #, fuzzy msgid "Number Of Streams" msgstr "Кількість тактів" #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1353 msgid "Track" msgstr "" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "" #: src/properties.cpp:1354 msgid "Video Track Create Date" msgstr "" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" #: src/properties.cpp:1355 #, fuzzy msgid "Video Track Duration" msgstr "Тривалість звуку" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced" msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 #, fuzzy msgid "Track ID" msgstr "Номер композиції" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 #, fuzzy msgid "Track Header Version" msgstr "Версія Makernote" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 #, fuzzy msgid "Track Language" msgstr "Мова" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "The Language in which a particular stream is recorded in." msgstr "" #: src/properties.cpp:1361 msgid "Video Track Layer" msgstr "" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" #: src/properties.cpp:1364 msgid "Video Track Modify Date" msgstr "" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" #: src/properties.cpp:1365 #, fuzzy msgid "Track Name" msgstr "Номер композиції" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "" #: src/properties.cpp:1366 #, fuzzy msgid "Track Number." msgstr "Номер композиції" #: src/properties.cpp:1367 src/properties.cpp:1440 #, fuzzy msgid "Track Volume" msgstr "Номер композиції" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "" #: src/properties.cpp:1368 msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" #: src/properties.cpp:1369 src/properties.cpp:1370 #, fuzzy msgid "Unknown Information" msgstr "Інформація про знімок" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1371 #, fuzzy msgid "Video URL" msgstr "Відео" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1372 #, fuzzy msgid "Video URN" msgstr "Відео" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1373 #, fuzzy msgid "Vari Program" msgstr "Програма" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "" #: src/properties.cpp:1376 msgid "Vendor" msgstr "" #: src/properties.cpp:1376 msgid "The developer of the compressor that generated the compressed data." msgstr "" #: src/properties.cpp:1377 src/properties.cpp:1443 #, fuzzy msgid "Vendor ID" msgstr "Інформація про Сенсор" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" #: src/properties.cpp:1378 #, fuzzy msgid "Video Quality" msgstr "Якість" #: src/properties.cpp:1378 msgid "Video Stream Quality" msgstr "" #: src/properties.cpp:1379 msgid "Video Sample Size" msgstr "" #: src/properties.cpp:1379 msgid "Video Stream Sample Size" msgstr "" #: src/properties.cpp:1380 #, fuzzy msgid "Video Scan Type" msgstr "Тип сцени" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "" #: src/properties.cpp:1381 msgid "Watermark URL" msgstr "" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "" #: src/properties.cpp:1384 #, fuzzy msgid "White Balance Fine Tune." msgstr "Точне налаштування балансу білого" #: src/properties.cpp:1385 #, fuzzy msgid "Video Width" msgstr "Ширина зображення" #: src/properties.cpp:1386 #, fuzzy msgid "Window Location" msgstr "Місце зйомки" #: src/properties.cpp:1386 msgid "Information about the Window Location." msgstr "" #: src/properties.cpp:1388 #, fuzzy msgid "Written By" msgstr "Автор тексту" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1389 #, fuzzy msgid "Writing App" msgstr "Збереження попереднього перегляду" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" #: src/properties.cpp:1390 msgid "Horizontal resolution in pixels per unit." msgstr "" #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "" #: src/properties.cpp:1391 #, fuzzy msgid "Year in which the video was made." msgstr "Дата і час, коли було знято відео." #: src/properties.cpp:1392 msgid "Vertical resolution in pixels per unit." msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "" #: src/properties.cpp:1398 #, fuzzy msgid "Balance" msgstr "Баланс червоного" #: src/properties.cpp:1398 #, fuzzy msgid "Indicates the left-right balance of the audio" msgstr "Визначає відстань до точки призначення." #: src/properties.cpp:1399 #, fuzzy msgid "Bits Per Sample/ Bit Rate" msgstr "Бітів на фрагмент" #: src/properties.cpp:1399 #, fuzzy msgid "Bits per test sample" msgstr "Бітів на фрагмент" #: src/properties.cpp:1401 #, fuzzy msgid "Audio Codec" msgstr "Звуковий кодек" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "" #: src/properties.cpp:1402 msgid "Audio Codec Decode Info" msgstr "" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1403 #, fuzzy msgid "Audio Codec Description" msgstr "Опис зображення" #: src/properties.cpp:1404 msgid "Audio Codec Download URL" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL." msgstr "" #: src/properties.cpp:1405 #, fuzzy msgid "Audio Codec Information" msgstr "Інформація про знімок" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" #: src/properties.cpp:1406 #, fuzzy msgid "Audio Codec Settings" msgstr "Налаштування режиму фокусування" #: src/properties.cpp:1408 #, fuzzy msgid "Audio Default Duration" msgstr "Тривалість звуку" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "" #: src/properties.cpp:1409 #, fuzzy msgid "Audio Default Stream" msgstr "Adobe Deflate" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "" #: src/properties.cpp:1410 msgid "Audio Track Default On" msgstr "" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "" #: src/properties.cpp:1411 msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1412 #, fuzzy msgid "Audio Format" msgstr "Частота вибірки" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "" #: src/properties.cpp:1423 msgid "Output Audio Sample Rate" msgstr "" #: src/properties.cpp:1423 msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" #: src/properties.cpp:1424 #, fuzzy msgid "Audio Sample Count" msgstr "Кількість кроків масштабування" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title" msgstr "знайдено у файлі" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title." msgstr "знайдено у файлі" #: src/properties.cpp:1429 msgid "Audio Track Create Date" msgstr "" #: src/properties.cpp:1430 #, fuzzy msgid "Audio Track Duration" msgstr "Тривалість звуку" #: src/properties.cpp:1431 #, fuzzy msgid "Audio Track Forced" msgstr "Автообмеження" #: src/properties.cpp:1431 msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1434 #, fuzzy msgid "Audio Track Lacing" msgstr "Тривалість звуку" #: src/properties.cpp:1434 msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1436 #, fuzzy msgid "Audio Track Layer" msgstr "Тип звуку" #: src/properties.cpp:1439 msgid "Audio Track Modify Date" msgstr "" #: src/properties.cpp:1441 #, fuzzy msgid "Audio URL" msgstr "Частота вибірки" #: src/properties.cpp:1442 #, fuzzy msgid "Audio URN" msgstr "Частота вибірки" #: src/properties.cpp:1449 #, fuzzy msgid "The nature or genre of the resource." msgstr "Назва сцени." #: src/properties.cpp:1450 #, fuzzy msgid "Date Modified" msgstr "Дата і час" #: src/properties.cpp:1450 msgid "Date on which the resource was changed." msgstr "" #: src/properties.cpp:1451 #, fuzzy msgid "A language of the resource." msgstr "Коротка інформативна назва ресурсу." #: src/properties.cpp:1452 #, fuzzy msgid "License" msgstr "Ліцензіат" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" #: src/properties.cpp:1453 #, fuzzy msgid "Rights Holder" msgstr "Права зона" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" #: src/properties.cpp:1454 #, fuzzy msgid "Access Rights" msgstr "Права" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "" #: src/properties.cpp:1455 #, fuzzy msgid "A bibliographic reference for the resource." msgstr "Коротка інформативна назва ресурсу." #: src/properties.cpp:1456 #, fuzzy msgid "References" msgstr "Дата" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" #: src/properties.cpp:1459 msgid "*Main structure* containing Darwin Core location based information." msgstr "" #: src/properties.cpp:1468 #, fuzzy msgid "Record" msgstr "Версія запису" #: src/properties.cpp:1469 msgid "*Main structure* containing record based information." msgstr "" #: src/properties.cpp:1472 #, fuzzy msgid "Institution ID" msgstr "Настанови" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" #: src/properties.cpp:1475 #, fuzzy msgid "Collection ID" msgstr "Вибрані" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" #: src/properties.cpp:1478 #, fuzzy msgid "Institution Code" msgstr "Режим роздільності" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1481 #, fuzzy msgid "Dataset ID" msgstr "Дамп даних" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "" #: src/properties.cpp:1484 #, fuzzy msgid "Collection Code" msgstr "Код місцерозташування" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" #: src/properties.cpp:1487 #, fuzzy msgid "Dataset Name" msgstr "Назва стрічки" #: src/properties.cpp:1488 msgid "The name identifying the data set from which the record was derived." msgstr "" #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" #: src/properties.cpp:1496 #, fuzzy msgid "Information Withheld" msgstr "Інформація про знімок" #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" #: src/properties.cpp:1502 #, fuzzy msgid "Dynamic Properties" msgstr "Динамічна область" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" #: src/properties.cpp:1507 msgid "Occurrence" msgstr "" #: src/properties.cpp:1508 msgid "*Main structure* containing occurrence based information." msgstr "" #: src/properties.cpp:1511 msgid "Occurrence ID" msgstr "" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" #: src/properties.cpp:1514 #, fuzzy msgid "Catalog Number" msgstr "Номер останнього зображення" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" #: src/properties.cpp:1517 msgid "Occurrence Details" msgstr "" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "" #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "" #: src/properties.cpp:1521 msgid "Comments or notes about the Occurrence." msgstr "" #: src/properties.cpp:1523 #, fuzzy msgid "Record Number" msgstr "Номер замовлення" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" #: src/properties.cpp:1526 msgid "Recorded By" msgstr "" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" #: src/properties.cpp:1529 msgid "Individual ID" msgstr "" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" #: src/properties.cpp:1532 msgid "Individual Count" msgstr "" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "" #: src/properties.cpp:1535 msgid "Organism Quantity" msgstr "" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "" #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "" #: src/properties.cpp:1541 #, fuzzy msgid "Sex" msgstr "Встановити" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1544 msgid "Life Stage" msgstr "" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1547 #, fuzzy msgid "Reproductive Condition" msgstr "Дистанційне керування" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1550 msgid "Behavior" msgstr "" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1559 #, fuzzy msgid "Preparations" msgstr "Насиченість" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" #: src/properties.cpp:1562 #, fuzzy msgid "Disposition" msgstr "Позиція фокусування" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" #: src/properties.cpp:1565 #, fuzzy msgid "Other Catalog Numbers" msgstr "Кількість інтервалів" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" #: src/properties.cpp:1568 src/properties.cpp:1607 #, fuzzy msgid "Previous Identifications" msgstr "Ідентифікація моделі" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" #: src/properties.cpp:1571 msgid "Associated Media" msgstr "" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" #: src/properties.cpp:1574 #, fuzzy msgid "Associated References" msgstr "Посилання передачі" #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1580 #, fuzzy msgid "Associated Sequences" msgstr "AEB послідовність" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" #: src/properties.cpp:1588 msgid "Organism" msgstr "" #: src/properties.cpp:1589 msgid "*Main structure* containing organism based information." msgstr "" #: src/properties.cpp:1592 msgid "Organism ID" msgstr "" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1595 #, fuzzy msgid "Organism Name" msgstr "Ім’я власника" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "" #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1601 msgid "Organism Associated Occurrences" msgstr "" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1604 msgid "Associated Organisms" msgstr "" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" #: src/properties.cpp:1610 msgid "Organism Remarks" msgstr "" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "" #: src/properties.cpp:1615 #, fuzzy msgid "Material Sample" msgstr "Бітів на фрагмент" #: src/properties.cpp:1616 msgid "*Main structure* containing material sample based information." msgstr "" #: src/properties.cpp:1618 #, fuzzy msgid "Living Specimen" msgstr "Вечір сцена" #: src/properties.cpp:1619 msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "" #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "" #: src/properties.cpp:1622 msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "" #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "" #: src/properties.cpp:1625 msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "" #: src/properties.cpp:1628 #, fuzzy msgid "Material Sample ID" msgstr "Бітів на фрагмент" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" #: src/properties.cpp:1634 msgid "*Main structure* containing event based information." msgstr "" #: src/properties.cpp:1636 msgid "Human Observation" msgstr "" #: src/properties.cpp:1637 msgid "*Main structure* containing human observation based information." msgstr "" #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "" #: src/properties.cpp:1640 msgid "*Main structure* containing machine observation based information." msgstr "" #: src/properties.cpp:1643 #, fuzzy msgid "Event ID" msgstr "Подія" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1646 msgid "Parent Event ID" msgstr "" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" #: src/properties.cpp:1649 #, fuzzy msgid "Event Date" msgstr "Подія" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1652 msgid "Event Earliest Date" msgstr "" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1655 msgid "Event Latest Date" msgstr "" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1658 #, fuzzy msgid "Event Time" msgstr "Тривалість вступу" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "" #: src/properties.cpp:1670 msgid "Month" msgstr "" #: src/properties.cpp:1671 msgid "The ordinal month in which the Event occurred." msgstr "" #: src/properties.cpp:1673 #, fuzzy msgid "Day" msgstr "Затримка" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "" #: src/properties.cpp:1676 msgid "Verbatim Event Date" msgstr "" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" #: src/properties.cpp:1679 msgid "Habitat" msgstr "" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" #: src/properties.cpp:1685 msgid "Sampling Effort" msgstr "" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "" #: src/properties.cpp:1688 msgid "Sampling Size Value" msgstr "" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" #: src/properties.cpp:1691 msgid "Sampling Size Unit" msgstr "" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" #: src/properties.cpp:1694 #, fuzzy msgid "Field Number" msgstr "Номер файла" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" #: src/properties.cpp:1697 msgid "Field Notes" msgstr "" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "" #: src/properties.cpp:1701 msgid "Comments or notes about the Event." msgstr "" #: src/properties.cpp:1705 #, fuzzy msgid "Location Class" msgstr "Код місцерозташування" #: src/properties.cpp:1706 msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "" #: src/properties.cpp:1709 #, fuzzy msgid "Location ID" msgstr "Адреса" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" #: src/properties.cpp:1718 #, fuzzy msgid "Continent" msgstr "Неперервний" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "" #: src/properties.cpp:1721 msgid "Water Body" msgstr "" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1724 msgid "Island Group" msgstr "" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1727 msgid "Island" msgstr "" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "" #: src/properties.cpp:1736 #, fuzzy msgid "State Province" msgstr "Область/провінція" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1739 #, fuzzy msgid "County" msgstr "Країна" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1742 #, fuzzy msgid "Municipality" msgstr "Якість" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" #: src/properties.cpp:1745 #, fuzzy msgid "Locality" msgstr "Локальний" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "" #: src/properties.cpp:1749 #, fuzzy msgid "The original textual description of the place." msgstr "Текстовий опис об’єкту знімку" #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1760 msgid "Verbatim Depth" msgstr "" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "" #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1766 msgid "Maximum Depth In Meters" msgstr "" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1775 #, fuzzy msgid "Location According To" msgstr "Код місцерозташування" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" #: src/properties.cpp:1778 #, fuzzy msgid "Location Remarks" msgstr "Код місцерозташування" #: src/properties.cpp:1779 msgid "Comments or notes about the Location." msgstr "" #: src/properties.cpp:1781 msgid "Verbatim Coordinates" msgstr "" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1784 #, fuzzy msgid "Verbatim Latitude" msgstr "Широта за GPS" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1787 #, fuzzy msgid "Verbatim Longitude" msgstr "Довгота за GPS" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1796 #, fuzzy msgid "Decimal Latitude" msgstr "Широта за GPS" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" #: src/properties.cpp:1799 #, fuzzy msgid "Decimal Longitude" msgstr "Довгота за GPS" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" #: src/properties.cpp:1802 msgid "Geodetic Datum" msgstr "" #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" #: src/properties.cpp:1808 msgid "Coordinate Precision" msgstr "" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "" #: src/properties.cpp:1812 #, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "" #: src/properties.cpp:1821 #, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" #: src/properties.cpp:1823 #, fuzzy msgid "Georeferenced By" msgstr "Дата" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" #: src/properties.cpp:1826 #, fuzzy msgid "Georeferenced Date" msgstr "Дата" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" #: src/properties.cpp:1832 #, fuzzy msgid "Georeference Sources" msgstr "Довідкова служба" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1838 #, fuzzy msgid "Georeference Remarks" msgstr "Номер посилання" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" #: src/properties.cpp:1843 msgid "Geological Context" msgstr "" #: src/properties.cpp:1844 msgid "*Main structure* containing geological context based information." msgstr "" #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" #: src/properties.cpp:1889 msgid "Group" msgstr "" #: src/properties.cpp:1890 msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "" #: src/properties.cpp:1892 #, fuzzy msgid "Formation" msgstr "Формат" #: src/properties.cpp:1893 msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "" #: src/properties.cpp:1895 #, fuzzy msgid "Member" msgstr "Число F" #: src/properties.cpp:1896 msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "" #: src/properties.cpp:1898 #, fuzzy msgid "Bed" msgstr "Червоний" #: src/properties.cpp:1899 msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "" #: src/properties.cpp:1903 #, fuzzy msgid "Identification" msgstr "Ідентифікація моделі" #: src/properties.cpp:1904 msgid "*Main structure* containing identification based information." msgstr "" #: src/properties.cpp:1907 #, fuzzy msgid "Identification ID" msgstr "Ідентифікація моделі" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1910 #, fuzzy msgid "Identified By" msgstr "Ідентифікатор" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" #: src/properties.cpp:1913 #, fuzzy msgid "Date Identified" msgstr "Ідентифікатор" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" #: src/properties.cpp:1916 #, fuzzy msgid "Identification References" msgstr "Режим відліку напрямку знімання у GPS" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" #: src/properties.cpp:1922 #, fuzzy msgid "Identification Remarks" msgstr "Ідентифікатор" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "" #: src/properties.cpp:1925 msgid "Identification Qualifier" msgstr "" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" #: src/properties.cpp:1928 #, fuzzy msgid "Type Status" msgstr "Стан" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" #: src/properties.cpp:1933 msgid "Taxon" msgstr "" #: src/properties.cpp:1934 msgid "*Main structure* containing taxonomic based information." msgstr "" #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" #: src/properties.cpp:1949 msgid "Original Name Usage ID" msgstr "" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" #: src/properties.cpp:1961 #, fuzzy msgid "Scientific Name" msgstr "Назва документа" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" #: src/properties.cpp:1967 msgid "Parent Name Usage" msgstr "" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" #: src/properties.cpp:1970 msgid "Original Name Usage" msgstr "" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" #: src/properties.cpp:1973 msgid "Name According To" msgstr "" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" #: src/properties.cpp:1976 #, fuzzy msgid "Name Published In" msgstr "Видавець" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "" #: src/properties.cpp:1980 msgid "The four-digit year in which the scientificName was published." msgstr "" #: src/properties.cpp:1982 #, fuzzy msgid "Higher Classification" msgstr "Висока насиченість" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" #: src/properties.cpp:1985 msgid "Kingdom" msgstr "" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "" #: src/properties.cpp:1988 msgid "Phylum" msgstr "" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" #: src/properties.cpp:1991 msgid "Class" msgstr "" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "" #: src/properties.cpp:1994 #, fuzzy msgid "Order" msgstr "Порядок заповнення" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "" #: src/properties.cpp:1997 msgid "Family" msgstr "" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "" #: src/properties.cpp:2000 msgid "Genus" msgstr "" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "" #: src/properties.cpp:2003 msgid "Subgenus" msgstr "" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "" #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" #: src/properties.cpp:2021 msgid "Vernacular Name" msgstr "" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "" #: src/properties.cpp:2024 #, fuzzy msgid "Nomenclatural Code" msgstr "Натуральний колір" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "" #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "" #: src/properties.cpp:2039 msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "" #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" #: src/properties.cpp:2045 #, fuzzy msgid "Resource ID" msgstr "Файлове джерело" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "" #: src/properties.cpp:2048 #, fuzzy msgid "Related Resource ID" msgstr "Файлове джерело" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" #: src/properties.cpp:2051 msgid "Relationship Of Resource" msgstr "" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "" #: src/properties.cpp:2065 msgid "Measurement Or Fact" msgstr "" #: src/properties.cpp:2066 msgid "*Main structure* containing measurement based information." msgstr "" #: src/properties.cpp:2069 #, fuzzy msgid "Measurement ID" msgstr "Вимір експозиції EV" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:2072 msgid "Measurement Type" msgstr "" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2075 #, fuzzy msgid "Measurement Value" msgstr "Розмір діафрагми" #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2078 msgid "Measurement Accuracy" msgstr "" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "" #: src/properties.cpp:2081 msgid "Measurement Unit" msgstr "" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" #: src/properties.cpp:2084 msgid "Measurement Determined Date" msgstr "" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2087 msgid "Measurement Determined By" msgstr "" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" #: src/properties.cpp:2090 #, fuzzy msgid "Measurement Method" msgstr "Метод розпізнавання" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2093 msgid "Measurement Remarks" msgstr "" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "" #: src/properties.cpp:2101 #, fuzzy msgid "A brief description of the file" msgstr "Текстовий опис об’єкту знімку" #: src/properties.cpp:2102 #, fuzzy msgid "Date Time" msgstr "Дата і час" #: src/properties.cpp:2103 #, fuzzy msgid "The name of the author or photographer" msgstr "Назва знімка або запису." #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "" #: src/properties.cpp:2105 msgid "Notes" msgstr "" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "" #: src/properties.cpp:2106 msgid "Tagged" msgstr "" #: src/properties.cpp:2106 msgid "True or False" msgstr "" #: src/properties.cpp:2107 #, fuzzy msgid "Categories" msgstr "Категорія" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "" #: src/sigmamn.cpp:62 msgid "Resolution Mode" msgstr "Режим роздільності" #: src/sigmamn.cpp:63 msgid "Resolution mode" msgstr "Режим роздільності" #: src/sigmamn.cpp:65 msgid "Autofocus Mode" msgstr "Режим автофокусу" #: src/sigmamn.cpp:66 msgid "Autofocus mode" msgstr "Режим автофокуса" #: src/sigmamn.cpp:68 msgid "Focus Setting" msgstr "Параметр фокусування" #: src/sigmamn.cpp:69 msgid "Focus setting" msgstr "Параметр фокусування" #: src/sigmamn.cpp:80 msgid "Lens Range" msgstr "Діапазон об’єктива" #: src/sigmamn.cpp:81 msgid "Lens focal length range" msgstr "Діапазон фокусних відстаней об’єктива" #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 msgid "Shadow" msgstr "Тінь" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 msgid "Highlight" msgstr "Підсвічування" #: src/sigmamn.cpp:104 #, fuzzy msgid "Fill Light" msgstr "Світлий" #: src/sigmamn.cpp:105 #, fuzzy msgid "X3 Fill light" msgstr "Спалах" #: src/sigmamn.cpp:107 msgid "Color Adjustment" msgstr "Коригування кольорів" #: src/sigmamn.cpp:108 msgid "Color adjustment" msgstr "Коригування кольорів" #: src/sigmamn.cpp:110 msgid "Adjustment Mode" msgstr "Режим коригування" #: src/sigmamn.cpp:111 msgid "Adjustment mode" msgstr "Режим коригування" #: src/sigmamn.cpp:122 msgid "Auto Bracket" msgstr "Автообмеження" #: src/sigmamn.cpp:123 src/tags.cpp:1497 msgid "Auto bracket" msgstr "Автообмеження" #: src/sigmamn.cpp:127 #, fuzzy msgid "Unknown SigmaMakerNote tag" msgstr "Невідомий тег FujiMakerNote" #: src/sigmamn.cpp:170 #, fuzzy msgid "8-Segment" msgstr "Мульти-сегмент" #: src/sonymn.cpp:131 msgid "Advanced Lv1" msgstr "Додатковий рівень 1" #: src/sonymn.cpp:132 msgid "Advanced Lv2" msgstr "Додатковий рівень 2" #: src/sonymn.cpp:133 msgid "Advanced Lv3" msgstr "Додатковий рівень 3" #: src/sonymn.cpp:134 msgid "Advanced Lv4" msgstr "Додатково4" #: src/sonymn.cpp:135 msgid "Advanced Lv5" msgstr "Додатково5" #: src/sonymn.cpp:154 msgid "Night Scene / Twilight" msgstr "Нічне освітлення або сутінки" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "Високошвидкісний затвор" #: src/sonymn.cpp:156 msgid "Twilight Portrait" msgstr "Портрет у сутінках" #: src/sonymn.cpp:157 #, fuzzy msgid "Soft Snap / Portrait" msgstr "Автопортрет" #: src/sonymn.cpp:159 #, fuzzy msgid "Smile Shutter" msgstr "Повільний затвор" #: src/sonymn.cpp:161 msgid "High Sensitivity" msgstr "Висока чутливість" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "" #: src/sonymn.cpp:166 msgid "Sweep Panorama" msgstr "" #: src/sonymn.cpp:168 #, fuzzy msgid "Anti Motion Blur" msgstr "Антирозмивання" #: src/sonymn.cpp:170 msgid "Backlight Correction HDR" msgstr "" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "" #: src/sonymn.cpp:172 msgid "Background Defocus" msgstr "" #: src/sonymn.cpp:173 #, fuzzy msgid "Soft Skin" msgstr "М’який" #: src/sonymn.cpp:174 msgid "3D Image" msgstr "" #: src/sonymn.cpp:189 msgid "On (Continuous)" msgstr "Увімкнено (неперервне)" #: src/sonymn.cpp:190 msgid "On (Shooting)" msgstr "Увімкнено (знімання)" #: src/sonymn.cpp:198 msgid "Plus" msgstr "Плюс" #: src/sonymn.cpp:214 msgid "White Flourescent" msgstr "Біле флуоресцентне" #: src/sonymn.cpp:215 msgid "Cool White Flourescent" msgstr "Холодне біле флуоресцентне" #: src/sonymn.cpp:216 msgid "Day White Flourescent" msgstr "Тепле біле флуоресцентне" #: src/sonymn.cpp:217 #, fuzzy msgid "Incandescent2" msgstr "Лампа накалювання" #: src/sonymn.cpp:218 #, fuzzy msgid "Warm White Fluorescent" msgstr "Тепле біле флуоресцентне" #: src/sonymn.cpp:221 msgid "Underwater 1 (Blue Water)" msgstr "Підводне 1 (блакитна вода)" #: src/sonymn.cpp:222 msgid "Underwater 2 (Green Water)" msgstr "Підводне 2 (зелена вода)" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "" #: src/sonymn.cpp:237 #, fuzzy msgid "Center AF" msgstr "По центру" #: src/sonymn.cpp:238 msgid "Spot AF" msgstr "Точковий автофокус" #: src/sonymn.cpp:239 #, fuzzy msgid "Flexible Spot AF" msgstr "Точковий автофокус" #: src/sonymn.cpp:240 msgid "Touch AF" msgstr "" #: src/sonymn.cpp:241 msgid "Manual Focus" msgstr "Ручний фокус" #: src/sonymn.cpp:242 #, fuzzy msgid "Face Detected" msgstr "Виявлення облич" #: src/sonymn.cpp:257 #, fuzzy msgid "Close Focus" msgstr "Автоматичне фокусування" #: src/sonymn.cpp:347 src/sonymn.cpp:348 #, fuzzy msgid "Multi Burst Mode" msgstr "Мультиекспонування" #: src/sonymn.cpp:350 src/sonymn.cpp:351 #, fuzzy msgid "Multi Burst Image Width" msgstr "Ширина зображення" #: src/sonymn.cpp:353 src/sonymn.cpp:354 #, fuzzy msgid "Multi Burst Image Height" msgstr "Висота зображення" #: src/sonymn.cpp:364 msgid "JPEG preview image" msgstr "Зображення попереднього перегляду JPEG" #: src/sonymn.cpp:390 #, fuzzy msgid "Auto HDR" msgstr "Авто високий" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "" #: src/sonymn.cpp:395 msgid "Shot Information" msgstr "Інформація про знімок" #: src/sonymn.cpp:400 src/sonymn.cpp:401 msgid "Sony Model ID" msgstr "Ід. моделі Sony" #: src/sonymn.cpp:403 src/sonymn.cpp:404 msgid "Color Reproduction" msgstr "Відтворення кольорів" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 msgid "Dynamic Range Optimizer" msgstr "Оптимізатор динамічного діапазону" #: src/sonymn.cpp:427 src/sonymn.cpp:428 #, fuzzy msgid "Minolta MakerNote" msgstr "Дата Minolta" #: src/sonymn.cpp:433 src/sonymn.cpp:434 msgid "Full Image Size" msgstr "Розмір повного зображення" #: src/sonymn.cpp:436 msgid "Preview Image Size" msgstr "Розмір зображення попереднього перегляду" #: src/sonymn.cpp:437 msgid "Preview image size" msgstr "Розмір зображення попереднього перегляду" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 #, fuzzy msgid "AF Illuminator" msgstr "Область освітлення АФ" #: src/sonymn.cpp:454 src/sonymn.cpp:455 msgid "JPEG Quality" msgstr "Якість JPEG" #: src/sonymn.cpp:460 src/sonymn.cpp:461 msgid "Release Mode" msgstr "Режим спуску" #: src/sonymn.cpp:464 #, fuzzy msgid "Shot number in continuous burst mode" msgstr "Номер послідовності (якщо безперервний спалах)" #: src/sonymn.cpp:466 src/sonymn.cpp:467 msgid "Anti-Blur" msgstr "Антирозмивання" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 msgid "Long Exposure Noise Reduction" msgstr "Зменшення шумів при довгій експозиції" #: src/sonymn.cpp:475 src/sonymn.cpp:476 msgid "Intelligent Auto" msgstr "" #: src/sonymn.cpp:483 #, fuzzy msgid "Unknown Sony1MakerNote tag" msgstr "Невідомий тег Nikon1MakerNote" #: src/sonymn.cpp:497 msgid "Continuous High" msgstr "Неперервна, висока" #: src/sonymn.cpp:501 msgid "Continuous Low" msgstr "Неперервне, низька" #: src/sonymn.cpp:503 src/sonymn.cpp:504 #, fuzzy msgid "D-Range Optimizer Bracketing Low" msgstr "Покадровий брекетинг" #: src/sonymn.cpp:536 msgid "Autumn" msgstr "Осінь" #: src/sonymn.cpp:542 msgid "ADI" msgstr "" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "" #: src/sonymn.cpp:578 #, fuzzy msgid "Auto No Flash" msgstr "Без спалаху" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 msgid "Dynamic Range Optimizer Level" msgstr "Рівень оптимізації динамічного діапазону" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 #, fuzzy msgid "Creative Style" msgstr "Творча програма" #: src/sonymn.cpp:648 src/sonymn.cpp:649 #, fuzzy msgid "Zone Matching Value" msgstr "Узгодження Зони" #: src/sonymn.cpp:666 src/sonymn.cpp:667 #, fuzzy msgid "AF With Shutter" msgstr "Швидкий затвор" #: src/sonymn.cpp:674 src/sonymn.cpp:675 #, fuzzy msgid "High ISO NoiseReduction" msgstr "Потужне усування шуму ISO" #: src/sonymn.cpp:678 src/sonymn.cpp:679 #, fuzzy msgid "Image Style" msgstr "Розмір зображення" #: src/sonymn.cpp:704 #, fuzzy msgid "Unknown Sony1 Camera Settings tag" msgstr "Невідомий тег налаштувань камери Sony A100" #: src/sonymn.cpp:768 #, fuzzy msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "Невідомий тег налаштувань камери Sony A100" #: src/tags.cpp:188 msgid "Unknown section" msgstr "Невідомий розділ" #: src/tags.cpp:189 #, fuzzy msgid "Image data structure" msgstr "Розмір даних зображення" #: src/tags.cpp:190 #, fuzzy msgid "Recording offset" msgstr "Ефект тонування" #: src/tags.cpp:191 #, fuzzy msgid "Image data characteristics" msgstr "Розмір даних зображення" #: src/tags.cpp:192 msgid "Other data" msgstr "Інші дані" #: src/tags.cpp:193 msgid "Exif data structure" msgstr "" #: src/tags.cpp:195 #, fuzzy msgid "Image configuration" msgstr "Оптимізація зображення" #: src/tags.cpp:196 msgid "User information" msgstr "Відомості про користувача" #: src/tags.cpp:197 #, fuzzy msgid "Related file" msgstr "Пов’язаний звуковий файл" #: src/tags.cpp:198 msgid "Date and time" msgstr "Дата і час" #: src/tags.cpp:199 #, fuzzy msgid "Picture taking conditions" msgstr " Керування зображенням" #: src/tags.cpp:200 #, fuzzy msgid "GPS information" msgstr "Інформація про знімок" #: src/tags.cpp:201 #, fuzzy msgid "Interoperability information" msgstr "Індекс здатності до взаємодії" #: src/tags.cpp:202 #, fuzzy msgid "Vendor specific information" msgstr "Відомості про користувача" #: src/tags.cpp:203 #, fuzzy msgid "Adobe DNG tags" msgstr "Adobe RGB" #: src/tags.cpp:204 msgid "Panasonic RAW tags" msgstr "" #: src/tags.cpp:205 msgid "TIFF/EP tags" msgstr "" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "" #: src/tags.cpp:207 msgid "Adobe OPI tags" msgstr "" #: src/tags.cpp:208 #, fuzzy msgid "Last section" msgstr "Налаштування контрасту" #: src/tags.cpp:224 #, fuzzy msgid "Primary image" msgstr "Ескіз зображення" #: src/tags.cpp:225 #, fuzzy msgid "Thumbnail/Preview image" msgstr "Зображення-мініатюра" #: src/tags.cpp:226 msgid "Primary image, Multi page file" msgstr "" #: src/tags.cpp:227 #, fuzzy msgid "Thumbnail/Preview image, Multi page file" msgstr "Мініатюрне зображення ефективної області" #: src/tags.cpp:228 #, fuzzy msgid "Primary image, Transparency mask" msgstr "Маска прозорості" #: src/tags.cpp:229 #, fuzzy msgid "Thumbnail/Preview image, Transparency mask" msgstr "Мініатюрне зображення ефективної області" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "" #: src/tags.cpp:237 #, fuzzy msgid "Full-resolution image data" msgstr "Не вдалося прочитати дані зображення" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "" #: src/tags.cpp:245 msgid "inch" msgstr "дюйм" #: src/tags.cpp:252 msgid "CCITT RLE" msgstr "" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "" #: src/tags.cpp:255 msgid "LZW" msgstr "LZW" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "" #: src/tags.cpp:257 msgid "JPEG" msgstr "JPEG" #: src/tags.cpp:258 msgid "Adobe Deflate" msgstr "Adobe Deflate" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "" #: src/tags.cpp:260 #, fuzzy msgid "JBIG Color" msgstr "Колір" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "" #: src/tags.cpp:262 #, fuzzy msgid "Epson ERF Compressed" msgstr "Стиснення NEF" #: src/tags.cpp:263 msgid "Samsung SRW Compressed" msgstr "" #: src/tags.cpp:264 msgid "CCITT RLE 1-word" msgstr "" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "Thunderscan RLE" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "IT8 linework RLE" #: src/tags.cpp:269 #, fuzzy msgid "IT8 Monochrome Picture" msgstr "Чорно-біле" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "IT8 binary lineart" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "" #: src/tags.cpp:273 msgid "Pixar Deflate" msgstr "Pixar deflate" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "" #: src/tags.cpp:275 msgid "ISO JBIG" msgstr "ISO JBIG" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "SGI log luminance RLE" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "Leadtools JPEG 2000" #: src/tags.cpp:279 #, fuzzy msgid "Nikon NEF Compressed" msgstr "Стиснення NEF" #: src/tags.cpp:280 msgid "Kodak DCR Compressed" msgstr "" #: src/tags.cpp:281 #, fuzzy msgid "Pentax PEF Compressed" msgstr "Стиснення NEF" #: src/tags.cpp:286 msgid "White Is Zero" msgstr "" #: src/tags.cpp:287 #, fuzzy msgid "Black Is Zero" msgstr "Чорно-білий" #: src/tags.cpp:288 msgid "RGB" msgstr "RGB" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "" #: src/tags.cpp:290 msgid "Transparency Mask" msgstr "Маска прозорості" #: src/tags.cpp:291 src/tags.cpp:330 msgid "CMYK" msgstr "CMYK" #: src/tags.cpp:292 msgid "YCbCr" msgstr "YCbCr" #: src/tags.cpp:293 msgid "CIELab" msgstr "CIELab" #: src/tags.cpp:294 msgid "ICCLab" msgstr "ICCLab" #: src/tags.cpp:295 msgid "ITULab" msgstr "ITULab" #: src/tags.cpp:296 #, fuzzy msgid "Color Filter Array" msgstr "Фільтр кольорів" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "" #: src/tags.cpp:306 #, fuzzy msgid "Randomized process" msgstr "Звичайною обробкою" #: src/tags.cpp:311 msgid "top, left" msgstr "вгорі ліворуч" #: src/tags.cpp:312 msgid "top, right" msgstr "вгорі праворуч" #: src/tags.cpp:313 msgid "bottom, right" msgstr "внизу праворуч" #: src/tags.cpp:314 msgid "bottom, left" msgstr "внизу ліворуч" #: src/tags.cpp:315 msgid "left, top" msgstr "ліворуч, вгорі" #: src/tags.cpp:316 msgid "right, top" msgstr "Правий верхній" #: src/tags.cpp:317 msgid "right, bottom" msgstr "праворуч, внизу" #: src/tags.cpp:318 src/tags.cpp:319 msgid "left, bottom" msgstr "ліворуч, внизу" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "" #: src/tags.cpp:325 msgid "Horizontal differencing" msgstr "Горизонтальні відмінності" #: src/tags.cpp:331 msgid "not CMYK" msgstr "не CMYK" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "" #: src/tags.cpp:339 src/tags.cpp:340 #, fuzzy msgid "Undefined data format" msgstr "Непідтримуваний формат дати" #: src/tags.cpp:345 msgid "Not indexed" msgstr "Неіндексоване" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "Індексований" #: src/tags.cpp:351 msgid "A" msgstr "А" #: src/tags.cpp:352 msgid "B" msgstr "B" #: src/tags.cpp:353 msgid "C" msgstr "C" #: src/tags.cpp:354 msgid "A+B-C" msgstr "A+B-C" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "A+((B-C)/2)" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "B+((A-C)/2)" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "(A+B)/2" #: src/tags.cpp:362 msgid "Centered" msgstr "За центром" #: src/tags.cpp:363 msgid "Co-sited" msgstr "" #: src/tags.cpp:368 msgid "No flash" msgstr "Без спалаху" #: src/tags.cpp:370 msgid "Fired, return light not detected" msgstr "" #: src/tags.cpp:371 msgid "Fired, return light detected" msgstr "" #: src/tags.cpp:372 #, fuzzy msgid "Yes, did not fire" msgstr "Не спрацював" #: src/tags.cpp:373 msgid "Yes, compulsory" msgstr "Так, примусово" #: src/tags.cpp:374 msgid "Yes, compulsory, return light not detected" msgstr "" #: src/tags.cpp:375 msgid "Yes, compulsory, return light detected" msgstr "" #: src/tags.cpp:376 msgid "No, compulsory" msgstr "Ні, примусово" #: src/tags.cpp:377 msgid "No, did not fire, return light not detected" msgstr "" #: src/tags.cpp:378 msgid "No, auto" msgstr "Ні, автоматично" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "Так, автоматично" #: src/tags.cpp:380 msgid "Yes, auto, return light not detected" msgstr "" #: src/tags.cpp:381 msgid "Yes, auto, return light detected" msgstr "" #: src/tags.cpp:382 msgid "No flash function" msgstr "Без функції спалаху" #: src/tags.cpp:383 #, fuzzy msgid "No, no flash function" msgstr "Без функції спалаху" #: src/tags.cpp:384 #, fuzzy msgid "Yes, red-eye reduction" msgstr "Увімкнено, усування «червоних очей»" #: src/tags.cpp:385 msgid "Yes, red-eye reduction, return light not detected" msgstr "" #: src/tags.cpp:386 msgid "Yes, red-eye reduction, return light detected" msgstr "" #: src/tags.cpp:387 #, fuzzy msgid "Yes, compulsory, red-eye reduction" msgstr "Увімкнено, повільна синхронізація, усування «червоних очей»" #: src/tags.cpp:388 msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "" #: src/tags.cpp:389 msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "" #: src/tags.cpp:390 #, fuzzy msgid "No, red-eye reduction" msgstr "Увімкнено, усування «червоних очей»" #: src/tags.cpp:391 #, fuzzy msgid "No, auto, red-eye reduction" msgstr "Авто, спрацювала, усування «червоних очей»" #: src/tags.cpp:392 #, fuzzy msgid "Yes, auto, red-eye reduction" msgstr "Авто, спрацювала, усування «червоних очей»" #: src/tags.cpp:393 msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "" #: src/tags.cpp:394 msgid "Yes, auto, red-eye reduction, return light detected" msgstr "" #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "" #: src/tags.cpp:408 #, fuzzy msgid "Processing Software" msgstr "Дані щодо обробки" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "" #: src/tags.cpp:412 msgid "New Subfile Type" msgstr "Новий тип підфайлів" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "Загальне визначення типу даних, що містяться у цьому підфайлі." #: src/tags.cpp:415 #, fuzzy msgid "Subfile Type" msgstr "Новий тип підфайлів" #: src/tags.cpp:416 #, fuzzy msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "Загальне визначення типу даних, що містяться у цьому підфайлі." #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" #: src/tags.cpp:425 msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" #: src/tags.cpp:428 msgid "Bits per Sample" msgstr "Бітів на фрагмент" #: src/tags.cpp:429 msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" #: src/tags.cpp:444 msgid "Thresholding" msgstr "" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" #: src/tags.cpp:448 #, fuzzy msgid "Cell Width" msgstr "Ширина зображення" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" #: src/tags.cpp:452 #, fuzzy msgid "Cell Length" msgstr "Довжина зображення" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" #: src/tags.cpp:456 msgid "Fill Order" msgstr "Порядок заповнення" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "" #: src/tags.cpp:459 msgid "Document Name" msgstr "Назва документа" #: src/tags.cpp:460 msgid "The name of the document from which this image was scanned" msgstr "" #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" #: src/tags.cpp:470 msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "" #: src/tags.cpp:491 #, fuzzy msgid "Samples per Pixel" msgstr "Кількість стиснених бітів на піксель" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "Рядків на смугу" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" #: src/tags.cpp:502 msgid "Strip Byte Count" msgstr "" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" #: src/tags.cpp:506 msgid "X-Resolution" msgstr "Роздільна здатність за X" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" #: src/tags.cpp:510 msgid "Y-Resolution" msgstr "Роздільна здатність за Y" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" #: src/tags.cpp:520 #, fuzzy msgid "Gray Response Unit" msgstr "Одиниця роздільності" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "" #: src/tags.cpp:523 #, fuzzy msgid "Gray Response Curve" msgstr "Крива тону" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "" #: src/tags.cpp:526 #, fuzzy msgid "T4 Options" msgstr "Параметр" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "" #: src/tags.cpp:529 #, fuzzy msgid "T6 Options" msgstr "Параметр" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "" #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" #: src/tags.cpp:537 #, fuzzy msgid "Page Number" msgstr "Номер зображення" #: src/tags.cpp:538 msgid "The page number of the page from which this image was scanned." msgstr "" #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" #: src/tags.cpp:546 msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" #: src/tags.cpp:553 #, fuzzy msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" "Дата і час, коли було створено початкове зображення. Для цифрових " "фотоапаратів дата і час запису цифрових даних." #: src/tags.cpp:557 msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" #: src/tags.cpp:564 msgid "Host Computer" msgstr "" #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" #: src/tags.cpp:568 msgid "Predictor" msgstr "Завбачник" #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" #: src/tags.cpp:573 msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" #: src/tags.cpp:578 msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" #: src/tags.cpp:582 msgid "Color Map" msgstr "Карта кольорів" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" #: src/tags.cpp:593 #, fuzzy msgid "Tile Width" msgstr "Ширина зображення" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "" #: src/tags.cpp:596 #, fuzzy msgid "Tile Length" msgstr "Довжина ескізу" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "" #: src/tags.cpp:599 #, fuzzy msgid "Tile Offsets" msgstr "Часовий пояс" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" #: src/tags.cpp:605 msgid "Tile Byte Counts" msgstr "" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" #: src/tags.cpp:609 #, fuzzy msgid "SubIFD Offsets" msgstr "Зміщення VRD" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "" #: src/tags.cpp:612 msgid "Ink Set" msgstr "Набір чорнил" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:615 #, fuzzy msgid "Ink Names" msgstr "Ім’я власника" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:618 #, fuzzy msgid "Number Of Inks" msgstr "Кількість тактів" #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" #: src/tags.cpp:621 #, fuzzy msgid "Dot Range" msgstr "Діапазон фокусування" #: src/tags.cpp:622 #, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "" #: src/tags.cpp:624 #, fuzzy msgid "Target Printer" msgstr "Діафрагма призначення" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "" #: src/tags.cpp:627 #, fuzzy msgid "Extra Samples" msgstr "Бітів на фрагмент" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" #: src/tags.cpp:631 #, fuzzy msgid "Sample Format" msgstr "Формат файла" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "" #: src/tags.cpp:634 #, fuzzy msgid "SMin Sample Value" msgstr "Мінімальна діафрагма" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "" #: src/tags.cpp:637 #, fuzzy msgid "SMax Sample Value" msgstr "Макс. апертура" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "" #: src/tags.cpp:640 #, fuzzy msgid "Transfer Range" msgstr "Діапазон об’єктива" #: src/tags.cpp:641 msgid "Expands the range of the TransferFunction" msgstr "" #: src/tags.cpp:643 msgid "Clip Path" msgstr "Контур-обрізання" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" #: src/tags.cpp:647 #, fuzzy msgid "X Clip Path Units" msgstr "Контур-обрізання" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:651 #, fuzzy msgid "Y Clip Path Units" msgstr "Контур-обрізання" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" #: src/tags.cpp:660 #, fuzzy msgid "JPEG tables" msgstr "Якість JPEG" #: src/tags.cpp:661 msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" #: src/tags.cpp:668 msgid "JPEG Process" msgstr "" #: src/tags.cpp:669 msgid "This field indicates the process used to produce the compressed data" msgstr "" #: src/tags.cpp:671 msgid "JPEG Interchange Format" msgstr "" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" #: src/tags.cpp:675 msgid "JPEG Interchange Format Length" msgstr "" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "" #: src/tags.cpp:684 msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "" #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "" #: src/tags.cpp:694 #, fuzzy msgid "JPEG Q-Tables" msgstr "Якість JPEG" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" #: src/tags.cpp:698 msgid "JPEG DC-Tables" msgstr "" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" #: src/tags.cpp:702 msgid "JPEG AC-Tables" msgstr "" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" #: src/tags.cpp:707 msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" #: src/tags.cpp:715 msgid "YCbCr Sub-Sampling" msgstr "" #: src/tags.cpp:716 msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" #: src/tags.cpp:735 msgid "Reference Black/White" msgstr "Еталонні чорне/біле" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" #: src/tags.cpp:743 msgid "XML Packet" msgstr "Пакунок XML" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "" #: src/tags.cpp:746 #, fuzzy msgid "Windows Rating" msgstr "Оцінка" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "" #: src/tags.cpp:749 msgid "Windows Rating Percent" msgstr "" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "" #: src/tags.cpp:752 #, fuzzy msgid "Image ID" msgstr "Унікальний ідентифікатор зображення" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" #: src/tags.cpp:770 msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" #: src/tags.cpp:789 #, fuzzy msgid "Exposure time, given in seconds." msgstr "Тривалість експонування вказана у секундах." #: src/tags.cpp:790 src/tags.cpp:1553 msgid "The F number." msgstr "Діафрагмове число." #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "" #: src/tags.cpp:794 #, fuzzy msgid "Image Resources Block" msgstr "Блокування керування потужністю спалаху" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "" #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" #: src/tags.cpp:803 #, fuzzy msgid "Inter Color Profile" msgstr "Профіль кольорів" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" "Клас програми, використаної фотоапаратом для експонування під час знімання." #: src/tags.cpp:807 #, fuzzy msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "" "Визначає тип датчика зображення на фотоапараті або пристрої вхідних даних." #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" #: src/tags.cpp:813 src/tags.cpp:1564 msgid "ISO Speed Ratings" msgstr "Світлочутливість ISO" #: src/tags.cpp:813 src/tags.cpp:1565 #, fuzzy msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" "Визначає тип датчика зображення на фотоапараті або пристрої вхідних даних." #: src/tags.cpp:814 msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" #: src/tags.cpp:815 #, fuzzy msgid "Interlace" msgstr "Черезрядкове" #: src/tags.cpp:815 #, fuzzy msgid "Indicates the field number of multifield images." msgstr "Показує макет зображення." #: src/tags.cpp:816 msgid "Time Zone Offset" msgstr "Часовий пояс" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" #: src/tags.cpp:823 #, fuzzy msgid "Self Timer Mode" msgstr "Час автоспуску" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "" #: src/tags.cpp:824 #, fuzzy msgid "Date Time Original" msgstr "Дата і час (знімання)" #: src/tags.cpp:824 #, fuzzy msgid "The date and time when the original image data was generated." msgstr "Дата і час, коли зображення було збережено у форматі цифрових даних." #: src/tags.cpp:825 msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "" #: src/tags.cpp:826 msgid "Shutter speed." msgstr "Швидкість затвору." #: src/tags.cpp:827 #, fuzzy msgid "The lens aperture." msgstr "Мінімальна діафрагма" #: src/tags.cpp:828 #, fuzzy msgid "The value of brightness." msgstr "Кількість тактів." #: src/tags.cpp:829 #, fuzzy msgid "The exposure bias." msgstr "Ухил експозиції" #: src/tags.cpp:830 src/tags.cpp:1645 #, fuzzy msgid "Max Aperture Value" msgstr "Максимальне значення діафрагми" #: src/tags.cpp:830 #, fuzzy msgid "The smallest F number of the lens." msgstr "Назва сцени." #: src/tags.cpp:831 src/tags.cpp:1651 msgid "The distance to the subject, given in meters." msgstr "Відстань до об’єкта, вказана у метрах." #: src/tags.cpp:832 src/tags.cpp:1654 msgid "The metering mode." msgstr "Режим вимірювання." #: src/tags.cpp:833 src/tags.cpp:1657 msgid "The kind of light source." msgstr "Тип джерела світла." #: src/tags.cpp:834 #, fuzzy msgid "Indicates the status of flash when the image was shot." msgstr "Показує макет зображення." #: src/tags.cpp:835 msgid "The actual focal length of the lens, in mm." msgstr "" #: src/tags.cpp:836 msgid "Amount of flash energy (BCPS)." msgstr "" #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "" #: src/tags.cpp:838 msgid "Noise" msgstr "Шум" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "" #: src/tags.cpp:839 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" #: src/tags.cpp:840 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" #: src/tags.cpp:841 msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "" #: src/tags.cpp:843 #, fuzzy msgid "Security Classification" msgstr "Електронне збільшення" #: src/tags.cpp:843 msgid "Security classification assigned to the image." msgstr "" #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "" #: src/tags.cpp:845 msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "" #: src/tags.cpp:846 msgid "Encodes the camera exposure index setting when image was captured." msgstr "" #: src/tags.cpp:847 #, fuzzy msgid "TIFF/EP Standard ID" msgstr "F0/Стандартний" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" #: src/tags.cpp:851 msgid "Type of image sensor." msgstr "" #: src/tags.cpp:852 #, fuzzy msgid "Windows Title" msgstr "Посада автора" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:855 #, fuzzy msgid "Windows Comment" msgstr "Коментар користувача" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:858 #, fuzzy msgid "Windows Author" msgstr "Автор" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:861 #, fuzzy msgid "Windows Keywords" msgstr "Ключові слова" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:864 #, fuzzy msgid "Windows Subject" msgstr "Об’єкт" #: src/tags.cpp:865 msgid "Subject tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:867 #, fuzzy msgid "Print Image Matching" msgstr "Узгодження Зони" #: src/tags.cpp:868 msgid "Print Image Matching, description needed." msgstr "" #: src/tags.cpp:870 #, fuzzy msgid "DNG version" msgstr "Версія PDF" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" #: src/tags.cpp:875 #, fuzzy msgid "DNG backward version" msgstr "Версія Nikon Makernote" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" #: src/tags.cpp:884 #, fuzzy msgid "Unique Camera Model" msgstr "Модель фотоапарата" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" #: src/tags.cpp:892 #, fuzzy msgid "Localized Camera Model" msgstr "Модель фотоапарата" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" #: src/tags.cpp:897 #, fuzzy msgid "CFA Plane Color" msgstr "Колір FinePix" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" #: src/tags.cpp:902 msgid "CFA Layout" msgstr "" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "" #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" #: src/tags.cpp:912 #, fuzzy msgid "Black Level Repeat Dim" msgstr "Рівень чорного 2" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "" #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" #: src/tags.cpp:921 #, fuzzy msgid "Black Level Delta H" msgstr "Рівень чорного 2" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" #: src/tags.cpp:928 #, fuzzy msgid "Black Level Delta V" msgstr "Рівень чорного 2" #: src/tags.cpp:929 msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" #: src/tags.cpp:935 msgid "White Level" msgstr "Рівень білого" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" #: src/tags.cpp:941 #, fuzzy msgid "Default Scale" msgstr "Типовий" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" #: src/tags.cpp:957 #, fuzzy msgid "Default Crop Size" msgstr "Типові параметри" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" #: src/tags.cpp:964 msgid "Color Matrix 1" msgstr "Матриця кольорів 1" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" #: src/tags.cpp:971 msgid "Color Matrix 2" msgstr "Матриця кольорів 2" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" #: src/tags.cpp:977 msgid "Camera Calibration 1" msgstr "Калібрування відеокамери 1" #: src/tags.cpp:978 msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:987 msgid "Camera Calibration 2" msgstr "Калібрування відеокамери 2" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:997 #, fuzzy msgid "Reduction Matrix 1" msgstr "Матриця кольорів 1" #: src/tags.cpp:998 msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1004 #, fuzzy msgid "Reduction Matrix 2" msgstr "Матриця кольорів 2" #: src/tags.cpp:1005 msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1011 #, fuzzy msgid "Analog Balance" msgstr "Баланс кольорів" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" #: src/tags.cpp:1021 #, fuzzy msgid "As Shot Neutral" msgstr "Нейтральне" #: src/tags.cpp:1022 msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" #: src/tags.cpp:1027 msgid "As Shot White XY" msgstr "" #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" #: src/tags.cpp:1032 #, fuzzy msgid "Baseline Exposure" msgstr "Мультиекспонування" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" #: src/tags.cpp:1047 msgid "Baseline Noise" msgstr "" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" #: src/tags.cpp:1054 #, fuzzy msgid "Baseline Sharpness" msgstr "Різкість" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" #: src/tags.cpp:1061 msgid "Bayer Green Split" msgstr "" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" #: src/tags.cpp:1070 msgid "Linear Response Limit" msgstr "" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" #: src/tags.cpp:1079 msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" #: src/tags.cpp:1082 msgid "Lens Info" msgstr "Дані щодо об’єктива" #: src/tags.cpp:1083 msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" #: src/tags.cpp:1095 #, fuzzy msgid "Anti Alias Strength" msgstr "потужність спалаху" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" #: src/tags.cpp:1102 #, fuzzy msgid "Shadow Scale" msgstr "Тінь" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" #: src/tags.cpp:1106 #, fuzzy msgid "DNG Private Data" msgstr "Дані ескізу" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" #: src/tags.cpp:1111 #, fuzzy msgid "MakerNote Safety" msgstr "Нотатка виробника" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" #: src/tags.cpp:1119 msgid "Calibration Illuminant 1" msgstr "" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" #: src/tags.cpp:1125 #, fuzzy msgid "Calibration Illuminant 2" msgstr "Усування тремтіння 2" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" #: src/tags.cpp:1132 #, fuzzy msgid "Best Quality Scale" msgstr "Якість зображення 2" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" #: src/tags.cpp:1140 #, fuzzy msgid "Raw Data Unique ID" msgstr "Унікальний ідентифікатор зображення" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" #: src/tags.cpp:1149 msgid "Original Raw File Name" msgstr "" #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" #: src/tags.cpp:1153 msgid "Original Raw File Data" msgstr "" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" #: src/tags.cpp:1164 #, fuzzy msgid "Active Area" msgstr "Одиночна область" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" #: src/tags.cpp:1168 msgid "Masked Areas" msgstr "" #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" #: src/tags.cpp:1176 #, fuzzy msgid "As-Shot ICC Profile" msgstr "Профіль ICC" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" #: src/tags.cpp:1188 msgid "As-Shot Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" #: src/tags.cpp:1198 #, fuzzy msgid "Current ICC Profile" msgstr "Профіль ICC" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1205 msgid "Current Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1212 msgid "Colorimetric Reference" msgstr "" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" #: src/tags.cpp:1220 #, fuzzy msgid "Camera Calibration Signature" msgstr "Калібрування відеокамери 1" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" #: src/tags.cpp:1227 msgid "Profile Calibration Signature" msgstr "" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" #: src/tags.cpp:1234 #, fuzzy msgid "As Shot Profile Name" msgstr "Назва зйомки" #: src/tags.cpp:1235 msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" #: src/tags.cpp:1238 #, fuzzy msgid "Noise Reduction Applied" msgstr "Вилучення шумів" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" #: src/tags.cpp:1246 #, fuzzy msgid "Profile Name" msgstr "Назва теки" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1279 #, fuzzy msgid "Profile Tone Curve" msgstr "Крива тону" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" #: src/tags.cpp:1288 msgid "Profile Embed Policy" msgstr "" #: src/tags.cpp:1289 msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" #: src/tags.cpp:1292 msgid "Profile Copyright" msgstr "" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" #: src/tags.cpp:1297 #, fuzzy msgid "Forward Matrix 1" msgstr "Матриця кольорів 1" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" #: src/tags.cpp:1301 #, fuzzy msgid "Forward Matrix 2" msgstr "Матриця кольорів 2" #: src/tags.cpp:1305 #, fuzzy msgid "Preview Application Name" msgstr "Дані ескізу" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" #: src/tags.cpp:1309 #, fuzzy msgid "Preview Application Version" msgstr "Версія ескізу" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" #: src/tags.cpp:1313 #, fuzzy msgid "Preview Settings Name" msgstr "Ескіз зображення" #: src/tags.cpp:1314 msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" #: src/tags.cpp:1317 #, fuzzy msgid "Preview Settings Digest" msgstr "Опис параметрів пристрою" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" #: src/tags.cpp:1321 #, fuzzy msgid "Preview Color Space" msgstr "Простір кольорів" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" #: src/tags.cpp:1326 #, fuzzy msgid "Preview Date Time" msgstr "Дані ескізу" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" #: src/tags.cpp:1331 #, fuzzy msgid "Raw Image Digest" msgstr "Розмір цифрового негатива" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" #: src/tags.cpp:1337 msgid "Original Raw File Digest" msgstr "" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" #: src/tags.cpp:1387 #, fuzzy msgid "Noise Profile" msgstr "Фільтр шуму" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" #: src/tags.cpp:1396 src/tags.cpp:1397 #, fuzzy msgid "Unknown IFD tag" msgstr "Невідома мітка" #: src/tags.cpp:1408 src/tags.cpp:1466 msgid "Not defined" msgstr "Не визначено" #: src/tags.cpp:1413 msgid "Creative program" msgstr "Творча програма" #: src/tags.cpp:1414 msgid "Action program" msgstr "Діяльна програма" #: src/tags.cpp:1415 msgid "Portrait mode" msgstr "Книжковий режим" #: src/tags.cpp:1416 msgid "Landscape mode" msgstr "Альбомний режим" #: src/tags.cpp:1425 msgid "Multi-spot" msgstr "Мульти-пляма" #: src/tags.cpp:1437 msgid "Tungsten (incandescent light)" msgstr "Лампа розжарювання (світло дуги)" #: src/tags.cpp:1439 msgid "Fine weather" msgstr "Ясна погода" #: src/tags.cpp:1440 msgid "Cloudy weather" msgstr "Хмарна погода" #: src/tags.cpp:1442 msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "Лампа денного світла (D 5700 - 7100 K)" #: src/tags.cpp:1443 msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "Біла лампа денного світла (N 4600 - 5400 K)" #: src/tags.cpp:1444 msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "Лампа холодного білого світла (W 3900 - 4500 K)" #: src/tags.cpp:1445 msgid "White fluorescent (WW 3200 - 3700K)" msgstr "Флуоресцентна лампа з білим світлом (WW 3200 - 3700 K)" #: src/tags.cpp:1446 msgid "Standard light A" msgstr "Стандартне світло A" #: src/tags.cpp:1447 msgid "Standard light B" msgstr "Стандартне світло B" #: src/tags.cpp:1448 msgid "Standard light C" msgstr "Стандартне світло C" #: src/tags.cpp:1449 msgid "D55" msgstr "D55" #: src/tags.cpp:1450 msgid "D65" msgstr "D65" #: src/tags.cpp:1451 msgid "D75" msgstr "D75" #: src/tags.cpp:1452 msgid "D50" msgstr "D50" #: src/tags.cpp:1453 msgid "ISO studio tungsten" msgstr "Студійна лампа розжарювання ISO" #: src/tags.cpp:1454 msgid "Other light source" msgstr "Інше джерело світла" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "Некалібрована" #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "Одночипова кольорова область" #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "Двочипова кольорова область" #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "Тричипова кольорова область" #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "Область послідовності кольорів" #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "Трилінійний сенсор" #: src/tags.cpp:1472 msgid "Color sequential linear" msgstr "Лінійна послідовність кольорів" #: src/tags.cpp:1477 msgid "Film scanner" msgstr "Плівковий сканер" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "" #: src/tags.cpp:1479 msgid "Digital still camera" msgstr "Нерухома цифрова фотокамера" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "Безпосередньо сфотографовано" #: src/tags.cpp:1489 msgid "Normal process" msgstr "Звичайною обробкою" #: src/tags.cpp:1490 msgid "Custom process" msgstr "Нетиповою обробкою" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "Невелике підсилення" #: src/tags.cpp:1519 msgid "High gain up" msgstr "Значне підсилення" #: src/tags.cpp:1520 msgid "Low gain down" msgstr "Невелике послаблення" #: src/tags.cpp:1521 msgid "High gain down" msgstr "Значне послаблення" #: src/tags.cpp:1542 msgid "Close view" msgstr "Зблизька" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "На відстані" #: src/tags.cpp:1550 msgid "Exposure time, given in seconds (sec)." msgstr "Тривалість експонування вказана у секундах." #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "" #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" #: src/tags.cpp:1573 #, fuzzy msgid "Sensitivity Type" msgstr "Висока чутливість" #: src/tags.cpp:1574 msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" #: src/tags.cpp:1580 #, fuzzy msgid "Standard Output Sensitivity" msgstr "Спектральна чутливість" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1585 #, fuzzy msgid "Recommended Exposure Index" msgstr "Показник експозиції" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1595 #, fuzzy msgid "ISO Speed Latitude yyy" msgstr "Режим чутливості ISO" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" #: src/tags.cpp:1600 #, fuzzy msgid "ISO Speed Latitude zzz" msgstr "Режим чутливості ISO" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" "Підтримувана версія цього стандарту. Якщо у цьому полі не вказано значення, " "вважатиметься, що дані не відповідають стандарту." #: src/tags.cpp:1609 msgid "Date and Time (original)" msgstr "Дата і час (знімання)" #: src/tags.cpp:1610 msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" "Дата і час, коли було створено початкове зображення. Для цифрових " "фотоапаратів дата і час запису цифрових даних." #: src/tags.cpp:1613 msgid "Date and Time (digitized)" msgstr "Дата і час (оцифровування)" #: src/tags.cpp:1614 msgid "The date and time when the image was stored as digital data." msgstr "Дата і час, коли зображення було збережено у форматі цифрових даних." #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" #: src/tags.cpp:1626 msgid "Compressed Bits per Pixel" msgstr "Кількість стиснених бітів на піксель" #: src/tags.cpp:1627 msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" #: src/tags.cpp:1631 msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "Діафрагма об’єктива. Одиницею є значення APEX." #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1641 msgid "Exposure Bias" msgstr "Ухил експозиції" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "" #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" #: src/tags.cpp:1667 #, fuzzy msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "Цей теґ містить дані щодо відстані до об’єкта зйомки." #: src/tags.cpp:1670 msgid "Maker Note" msgstr "Нотатка виробника" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" #: src/tags.cpp:1679 #, fuzzy msgid "Sub-seconds Time" msgstr "Дробові частки секунд часу знімання" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1682 msgid "Sub-seconds Time Original" msgstr "Дробові частки секунд часу знімання" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1685 msgid "Sub-seconds Time Digitized" msgstr "Дробові частки секунд часу оцифровування" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1688 msgid "FlashPix Version" msgstr "Версія FlashPix" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "" #: src/tags.cpp:1692 msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" #: src/tags.cpp:1723 #, fuzzy msgid "Interoperability IFD Pointer" msgstr "Індекс здатності до взаємодії" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" #: src/tags.cpp:1740 msgid "Focal Plane X-Resolution" msgstr "Роздільна здатність фокальної площини X" #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1744 msgid "Focal Plane Y-Resolution" msgstr "Роздільна здатність фокальної площини Y" #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" #: src/tags.cpp:1753 msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" #: src/tags.cpp:1759 msgid "Exposure index" msgstr "Показник експозиції" #: src/tags.cpp:1760 #, fuzzy msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" "Визначає тип датчика зображення на фотоапараті або пристрої вхідних даних." #: src/tags.cpp:1764 msgid "Indicates the image sensor type on the camera or input device." msgstr "" "Визначає тип датчика зображення на фотоапараті або пристрої вхідних даних." #: src/tags.cpp:1767 msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" #: src/tags.cpp:1776 #, fuzzy msgid "Color Filter Array Pattern" msgstr "Фільтр кольорів" #: src/tags.cpp:1777 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" #: src/tags.cpp:1793 #, fuzzy msgid "This tag indicates the white balance mode set when the image was shot." msgstr "Цей теґ містить дані щодо відстані до об’єкта зйомки." #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" #: src/tags.cpp:1801 msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" #: src/tags.cpp:1807 msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" #: src/tags.cpp:1812 #, fuzzy msgid "This tag indicates the degree of overall image gain adjustment." msgstr "Цей теґ містить дані щодо відстані до об’єкта зйомки." #: src/tags.cpp:1815 msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" #: src/tags.cpp:1819 msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" #: src/tags.cpp:1823 msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" #: src/tags.cpp:1827 msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" #: src/tags.cpp:1832 msgid "This tag indicates the distance to the subject." msgstr "Цей теґ містить дані щодо відстані до об’єкта зйомки." #: src/tags.cpp:1835 msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" #: src/tags.cpp:1839 #, fuzzy msgid "Camera Owner Name" msgstr "Ім’я власника" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" #: src/tags.cpp:1843 #, fuzzy msgid "Body Serial Number" msgstr "Серійний номер 2" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1847 #, fuzzy msgid "Lens Specification" msgstr "Ідентифікація моделі" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" #: src/tags.cpp:1854 #, fuzzy msgid "Lens Make" msgstr "Діапазон об’єктива" #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "" #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1866 src/tags.cpp:1867 #, fuzzy msgid "Unknown Exif tag" msgstr "Невідома мітка" #: src/tags.cpp:1878 msgid "North" msgstr "" #: src/tags.cpp:1879 msgid "South" msgstr "" #: src/tags.cpp:1884 msgid "East" msgstr "" #: src/tags.cpp:1885 msgid "West" msgstr "" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "" #: src/tags.cpp:1891 #, fuzzy msgid "Below sea level" msgstr "Рівень чорного" #: src/tags.cpp:1896 msgid "Measurement in progress" msgstr "" #: src/tags.cpp:1897 #, fuzzy msgid "Measurement Interoperability" msgstr "Індекс здатності до взаємодії" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "Двомірний вимір" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "Тримірний вимір" #: src/tags.cpp:1908 msgid "km/h" msgstr "" #: src/tags.cpp:1909 msgid "mph" msgstr "" #: src/tags.cpp:1910 msgid "knots" msgstr "" #: src/tags.cpp:1915 #, fuzzy msgid "True direction" msgstr "Напрямок діафрагми" #: src/tags.cpp:1916 #, fuzzy msgid "Magnetic direction" msgstr "Напрямок діафрагми" #: src/tags.cpp:1921 msgid "Kilometers" msgstr "" #: src/tags.cpp:1922 msgid "Miles" msgstr "" #: src/tags.cpp:1923 msgid "Knots" msgstr "" #: src/tags.cpp:1928 #, fuzzy msgid "Without correction" msgstr "Коригування спотворення" #: src/tags.cpp:1929 msgid "Correction applied" msgstr "" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" #: src/tags.cpp:1941 #, fuzzy msgid "GPS Latitude Reference" msgstr "Широта за GPS" #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1953 #, fuzzy msgid "GPS Longitude Reference" msgstr "Довгота за GPS" #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" #: src/tags.cpp:1998 msgid "GPS Data Degree of Precision" msgstr "" #: src/tags.cpp:1999 msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" #: src/tags.cpp:2007 msgid "Indicates the speed of GPS receiver movement." msgstr "Визначає швидкість руху приймача даних GPS." #: src/tags.cpp:2009 msgid "GPS Track Ref" msgstr "" #: src/tags.cpp:2010 msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2014 msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2022 msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" #: src/tags.cpp:2029 #, fuzzy msgid "GPS Destination Latitude Reference" msgstr "Режим відліку напрямку знімання у GPS" #: src/tags.cpp:2030 msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" #: src/tags.cpp:2034 msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2041 #, fuzzy msgid "GPS Destination Longitude Reference" msgstr "Режим відліку напрямку знімання у GPS" #: src/tags.cpp:2042 msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" #: src/tags.cpp:2046 msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2057 #, fuzzy msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "Визначає відстань до точки призначення." #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" #: src/tags.cpp:2065 msgid "Indicates the distance to the destination point." msgstr "Визначає відстань до точки призначення." #: src/tags.cpp:2068 msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" #: src/tags.cpp:2076 #, fuzzy msgid "GPS Date Stamp" msgstr "Дата надсилання" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" #: src/tags.cpp:2081 msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "" #: src/tags.cpp:2084 src/tags.cpp:2085 #, fuzzy msgid "Unknown GPSInfo tag" msgstr "Невідома мітка" #: src/tags.cpp:2096 msgid "Interoperability Index" msgstr "Індекс здатності до взаємодії" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" #: src/tags.cpp:2103 #, fuzzy msgid "Interoperability Version" msgstr "Індекс здатності до взаємодії" #: src/tags.cpp:2104 #, fuzzy msgid "Interoperability version" msgstr "Індекс здатності до взаємодії" #: src/tags.cpp:2106 #, fuzzy msgid "Related Image File Format" msgstr "Число Вилучених Зображень" #: src/tags.cpp:2107 #, fuzzy msgid "File format of image file" msgstr "Помилка при відкритті файлу\n" #: src/tags.cpp:2109 #, fuzzy msgid "Related Image Width" msgstr "Ширина зображення" #: src/tags.cpp:2112 #, fuzzy msgid "Related Image Length" msgstr "Довжина зображення" #: src/tags.cpp:2116 src/tags.cpp:2117 #, fuzzy msgid "Unknown Exif Interoperability tag" msgstr "Індекс здатності до взаємодії" #: src/tags.cpp:2128 msgid "Offset" msgstr "Зміщення" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "" #: src/tags.cpp:2131 msgid "Byte Order" msgstr "Порядок байтів" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" #: src/tags.cpp:2135 src/tags.cpp:2136 #, fuzzy msgid "Unknown Exiv2 Makernote info tag" msgstr "Невідомий тег Nikon2MakerNote" #: src/tags.cpp:2146 src/tags.cpp:2147 msgid "Unknown tag" msgstr "Невідома мітка" #: src/tags.cpp:2688 msgid "Digital zoom not used" msgstr "Цифровий трансфокатор не використовувався" #: src/tiffimage.cpp:2308 #, fuzzy msgid "TIFF header, offset" msgstr "Заголовок, зсув" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "Маленький endian закодований" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "великий endian закодований" exiv2-0.25/po/fi.po0000664000175000017500000214152612540520175013703 0ustar andreasandreas# translation of Exiv2.po to Finnish # # Copyright (C) 2006-2015 Andreas Huggel # This file is distributed under the same license as the Exiv2 package. # # , 2009. msgid "" msgstr "" "Project-Id-Version: Exiv2\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: 2009-04-12 16:06+0000\n" "Last-Translator: Mikael Lammentausta\n" "Language-Team: \n" "Language: fi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 0.3\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 msgid "Failed to open the file\n" msgstr "Tiedoston avaus epäonnistui\n" #: src/actions.cpp:282 msgid "File name" msgstr "Tiedostonimi" #: src/actions.cpp:288 msgid "File size" msgstr "Tiedoston koko" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "tavua" #: src/actions.cpp:293 msgid "MIME type" msgstr "Mime-tyyppi" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 msgid "Image size" msgstr "Kuvan koko" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 msgid "No Exif data found in the file\n" msgstr "Kuvasta ei löytynyt exif-tietoja\n" #: src/actions.cpp:307 msgid "Camera make" msgstr "Kameran merkki" #: src/actions.cpp:310 msgid "Camera model" msgstr "Kameran malli" #: src/actions.cpp:313 msgid "Image timestamp" msgstr "Kuvan aikaleima" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 msgid "Image number" msgstr "Kuvan numero" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 msgid "Exposure time" msgstr "Valotusaika" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 msgid "Aperture" msgstr "Aukko" #: src/actions.cpp:345 msgid "Exposure bias" msgstr "Valotuksen korjaus" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 msgid "Flash" msgstr "Salama" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 msgid "Flash bias" msgstr "Salamavalotuksen korjaus" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 msgid "Focal length" msgstr "Polttoväli" #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr "" #: src/actions.cpp:373 msgid "Subject distance" msgstr "Kohteen etäisyys" #: src/actions.cpp:387 msgid "ISO speed" msgstr "ISO-herkkyys" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 msgid "Exposure mode" msgstr "Valotustila" #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 msgid "Metering mode" msgstr "Mittaustapa" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 msgid "Macro mode" msgstr "Makrotila" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 msgid "Image quality" msgstr "Kuvan laatu" #: src/actions.cpp:403 msgid "Exif Resolution" msgstr "" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "Valkotasapaino" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 msgid "Thumbnail" msgstr "Näytekuva" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "Ei käytössä" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 msgid "Copyright" msgstr "Omistusoikeus" #: src/actions.cpp:458 msgid "Exif comment" msgstr "Exif-kommentti" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "" #: src/actions.cpp:742 msgid "JPEG comment" msgstr "Jpeg-kommentti" #: src/actions.cpp:767 msgid "Preview" msgstr "Esikatselu" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "pikseliä" #: src/actions.cpp:773 src/actions.cpp:1113 msgid "bytes" msgstr "tavua" #: src/actions.cpp:820 msgid "Neither tag" msgstr "" #: src/actions.cpp:821 msgid "nor" msgstr "" #: src/actions.cpp:822 msgid "found in the file" msgstr "" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "Kuvan luontipäiväystä ei ole asetettu" #: src/actions.cpp:833 src/actions.cpp:1590 msgid "Failed to parse timestamp" msgstr "Aikaleiman lukeminen epäonnistui" #: src/actions.cpp:834 msgid "in the file" msgstr "tiedostossa" #: src/actions.cpp:845 msgid "Updating timestamp to" msgstr "Päivitetään aikaleima:" #: src/actions.cpp:939 msgid "Erasing thumbnail data" msgstr "Poistetaan näytekuva" #: src/actions.cpp:947 msgid "Erasing Exif data from the file" msgstr "Poistetaan exif-tiedot" #: src/actions.cpp:956 msgid "Erasing IPTC data from the file" msgstr "Poistetaan iptc-tiedot" #: src/actions.cpp:965 msgid "Erasing JPEG comment from the file" msgstr "Poistetaan jpef-kommentti" #: src/actions.cpp:974 msgid "Erasing XMP data from the file" msgstr "Poistetaan xmp-tiedot" #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "" #: src/actions.cpp:1055 msgid "Writing thumbnail" msgstr "Tallennetaan näytekuvaa" #: src/actions.cpp:1056 src/actions.cpp:1114 msgid "to file" msgstr "tiedostoon" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "" #: src/actions.cpp:1107 msgid "Writing preview" msgstr "" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "Talletetaan jpeg-kommenttia" #: src/actions.cpp:1319 msgid "Add" msgstr "Lisää" #: src/actions.cpp:1341 src/actions.cpp:1415 msgid "Warning" msgstr "Varoitus" #: src/actions.cpp:1342 src/actions.cpp:1416 msgid "Failed to read" msgstr "Lukuvirhe" #: src/actions.cpp:1344 src/actions.cpp:1418 msgid "value" msgstr "arvo" #: src/actions.cpp:1355 msgid "Set" msgstr "Aseta" #: src/actions.cpp:1427 msgid "Del" msgstr "Poista" #: src/actions.cpp:1459 msgid "Reg " msgstr "" #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "" #: src/actions.cpp:1544 msgid "not set\n" msgstr "" #: src/actions.cpp:1549 msgid "Adjusting" msgstr "" #: src/actions.cpp:1549 msgid "by" msgstr "" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "vuotta" #: src/actions.cpp:1556 msgid "year" msgstr "vuosi" #: src/actions.cpp:1564 msgid "months" msgstr "kuukautta" #: src/actions.cpp:1567 msgid "month" msgstr "kuukausi" #: src/actions.cpp:1575 msgid "days" msgstr "päivää" #: src/actions.cpp:1578 msgid "day" msgstr "päivä" #: src/actions.cpp:1584 msgid "s" msgstr "" #: src/actions.cpp:1600 msgid "Can't adjust timestamp by" msgstr "" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 msgid "to" msgstr "" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "" #: src/actions.cpp:1708 #, fuzzy msgid "No Exif user comment found" msgstr "Exif-kommentti" #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "" #: src/actions.cpp:1723 msgid "No Exif UNICODE user comment found" msgstr "" #: src/actions.cpp:1729 #, fuzzy msgid "Setting Exif UNICODE user comment to" msgstr "Talletetaan jpeg-kommenttia" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "" #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "" #: src/actions.cpp:1975 src/exiv2.cpp:168 msgid "File" msgstr "" #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr "" #: src/actions.cpp:2004 msgid "Renaming file to" msgstr "" #: src/actions.cpp:2006 msgid "updating timestamp" msgstr "" #: src/actions.cpp:2015 msgid "Failed to rename" msgstr "" #: src/actions.cpp:2037 msgid "Overwrite" msgstr "" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "Pois" #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "Päällä" #: src/canonmn.cpp:363 #, fuzzy msgid "Format 1" msgstr "Normaali" #: src/canonmn.cpp:364 #, fuzzy msgid "Format 2" msgstr "Normaali" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 #, fuzzy msgid "On (1)" msgstr "Päällä" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 #, fuzzy msgid "On (2)" msgstr "Päällä" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 msgid "Adobe RGB" msgstr "" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "Tuntematon" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 msgid "Camera Settings" msgstr "Kameran asetukset" #: src/canonmn.cpp:383 #, fuzzy msgid "Various camera settings" msgstr "Kameran asetukset" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 msgid "Focal Length" msgstr "Polttoväli" #: src/canonmn.cpp:386 src/sonymn.cpp:394 msgid "Shot Info" msgstr "" #: src/canonmn.cpp:386 #, fuzzy msgid "Shot information" msgstr "Värikylläisyys" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 msgid "Panorama" msgstr "Panoraama" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 msgid "Image Type" msgstr "Kuvan tyyppi" #: src/canonmn.cpp:388 msgid "Image type" msgstr "Kuvan tyyppi" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 msgid "Firmware Version" msgstr "Firmwaren versio" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 msgid "Firmware version" msgstr "Firmwaren versio" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 #, fuzzy msgid "File Number" msgstr "F-luku" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 #, fuzzy msgid "File number" msgstr "Tiedostonimi" #: src/canonmn.cpp:391 msgid "Owner Name" msgstr "Omistajan nimi" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 msgid "Serial Number" msgstr "Sarjanumero" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 msgid "Camera serial number" msgstr "Kameran sarjanumero" #: src/canonmn.cpp:393 #, fuzzy msgid "Camera Info" msgstr "Kameran tyyppi" #: src/canonmn.cpp:393 #, fuzzy msgid "Camera info" msgstr "Kameran tyyppi" #: src/canonmn.cpp:394 src/canonmn.cpp:406 msgid "Custom Functions" msgstr "" #: src/canonmn.cpp:395 #, fuzzy msgid "ModelID" msgstr "Mallin ID" #: src/canonmn.cpp:395 msgid "Model ID" msgstr "Mallin ID" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 msgid "Picture Info" msgstr "Kuvan tiedot" #: src/canonmn.cpp:396 msgid "Picture info" msgstr "Kuvan tiedot" #: src/canonmn.cpp:397 #, fuzzy msgid "Thumbnail Image Valid Area" msgstr "Näytekuva" #: src/canonmn.cpp:397 #, fuzzy msgid "Thumbnail image valid area" msgstr "Näytekuva" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial Number Format" msgstr "Sarjanumero" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial number format" msgstr "Sarjanumero" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 #, fuzzy msgid "Super Macro" msgstr "Makro" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF Info" msgstr "" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 #, fuzzy msgid "AF info" msgstr "AF-piste" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "" #: src/canonmn.cpp:402 #, fuzzy msgid "White Balance Table" msgstr " " #: src/canonmn.cpp:402 msgid "White balance table" msgstr " " #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 msgid "Lens Model" msgstr "Linssin malli" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 #, fuzzy msgid "Lens model" msgstr "Linssin malli" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 #, fuzzy msgid "Internal Serial Number" msgstr "Linssin sarjanumero" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 #, fuzzy msgid "Internal serial number" msgstr "Kameran sarjanumero" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "" #: src/canonmn.cpp:406 #, fuzzy msgid "Custom functions" msgstr "Värikylläisyys" #: src/canonmn.cpp:407 #, fuzzy msgid "Processing Info" msgstr "Kuvan koko" #: src/canonmn.cpp:407 #, fuzzy msgid "Processing info" msgstr "Ohjelman versio" #: src/canonmn.cpp:408 #, fuzzy msgid "Measured Color" msgstr "Väriavaruus" #: src/canonmn.cpp:408 #, fuzzy msgid "Measured color" msgstr "Valotustila" #: src/canonmn.cpp:409 #, fuzzy msgid "ColorSpace" msgstr "Väriavaruus" #: src/canonmn.cpp:413 #, fuzzy msgid "VRD Offset" msgstr "Pois" #: src/canonmn.cpp:413 #, fuzzy msgid "VRD offset" msgstr "Pois" #: src/canonmn.cpp:414 #, fuzzy msgid "Sensor Info" msgstr "Linssin malli" #: src/canonmn.cpp:414 #, fuzzy msgid "Sensor info" msgstr "Linssin tyyppi" #: src/canonmn.cpp:415 #, fuzzy msgid "Color Data" msgstr "Väriavaruus" #: src/canonmn.cpp:415 #, fuzzy msgid "Color data" msgstr "Väriavaruus" #: src/canonmn.cpp:417 msgid "Unknown CanonMakerNote tag" msgstr "" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "" #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 msgid "Normal" msgstr "Normaali" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 #, fuzzy msgid "Fine" msgstr "Välähti" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "" #: src/canonmn.cpp:437 msgid "Superfine" msgstr "" #: src/canonmn.cpp:438 #, fuzzy msgid "Normal Movie" msgstr "Normaali" #: src/canonmn.cpp:439 #, fuzzy msgid "Movie (2)" msgstr "Pieni" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 msgid "Auto" msgstr "" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "" #: src/canonmn.cpp:448 msgid "Slow sync" msgstr "" #: src/canonmn.cpp:449 #, fuzzy msgid "Auto + red-eye" msgstr "Auto, välähti" #: src/canonmn.cpp:450 msgid "On + red-eye" msgstr "" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 msgid "External" msgstr "Ulkoinen" #: src/canonmn.cpp:457 msgid "Single / timer" msgstr "" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 msgid "Continuous" msgstr "" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 #, fuzzy msgid "Movie" msgstr "Pieni" #: src/canonmn.cpp:460 msgid "Continuous, speed priority" msgstr "" #: src/canonmn.cpp:461 msgid "Continuous, low" msgstr "" #: src/canonmn.cpp:462 msgid "Continuous, high" msgstr "" #: src/canonmn.cpp:467 msgid "One shot AF" msgstr "Kertatarkennus, AF" #: src/canonmn.cpp:468 msgid "AI servo AF" msgstr "Jatkuva tarkennus, AF" #: src/canonmn.cpp:469 msgid "AI focus AF" msgstr "Vaihtuva tarkennus, AF" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 msgid "Manual focus" msgstr "Käsintarkennus, MF" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 msgid "Single" msgstr "" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 #, fuzzy msgid "Pan focus" msgstr "Käsintarkennus, MF" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 msgid "Large" msgstr "Suuri" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 msgid "Medium" msgstr "Keskikokoinen" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 msgid "Small" msgstr "Pieni" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 #, fuzzy msgid "Medium 1" msgstr "Keskikokoinen" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 #, fuzzy msgid "Medium 2" msgstr "Keskikokoinen" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 #, fuzzy msgid "Medium 3" msgstr "Keskikokoinen" #: src/canonmn.cpp:490 msgid "Full auto" msgstr "Täysautomatiikka" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 msgid "Manual" msgstr "Manuaalinen" #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 msgid "Landscape" msgstr "Maisemakuva" #: src/canonmn.cpp:493 msgid "Fast shutter" msgstr "" #: src/canonmn.cpp:494 msgid "Slow shutter" msgstr "" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 msgid "Night Scene" msgstr "" #: src/canonmn.cpp:496 msgid "Gray scale" msgstr "" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "Seepia" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 msgid "Portrait" msgstr "Muotokuva" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "Urheilukuva" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "Lähikuva" #: src/canonmn.cpp:501 src/fujimn.cpp:149 msgid "Black & white" msgstr "Mustavalko" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 msgid "Vivid" msgstr "" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 msgid "Neutral" msgstr "Neutraali" #: src/canonmn.cpp:505 #, fuzzy msgid "Flash off" msgstr "Salaman tila" #: src/canonmn.cpp:506 msgid "Long shutter" msgstr "" #: src/canonmn.cpp:508 #, fuzzy msgid "Foliage" msgstr "Malli" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 msgid "Indoor" msgstr "" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 msgid "Fireworks" msgstr "" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 msgid "Underwater" msgstr "" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "" #: src/canonmn.cpp:515 msgid "Night SnapShot" msgstr "" #: src/canonmn.cpp:516 msgid "Digital macro" msgstr "Digitaalinen makro" #: src/canonmn.cpp:517 #, fuzzy msgid "My Colors" msgstr "Väriavaruus" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 #, fuzzy msgid "Still image" msgstr "Näytekuva" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 msgid "Other" msgstr "" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 msgid "Low" msgstr "" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 msgid "High" msgstr "" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "–" #: src/canonmn.cpp:540 #, fuzzy msgid "Auto High" msgstr "Auto, välähti" #: src/canonmn.cpp:558 src/sonymn.cpp:235 msgid "Default" msgstr "Oletus" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 msgid "Spot" msgstr "Piste" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "" #: src/canonmn.cpp:561 msgid "Evaluative" msgstr "Arvioiva" #: src/canonmn.cpp:562 src/tags.cpp:1427 msgid "Partial" msgstr "Osa-alue" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 msgid "Center weighted" msgstr "Keskustaa painottava" #: src/canonmn.cpp:570 msgid "Not known" msgstr "Ei tiedossa" #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "Makro" #: src/canonmn.cpp:572 msgid "Very close" msgstr "" #: src/canonmn.cpp:573 #, fuzzy msgid "Close" msgstr "Väriavaruus" #: src/canonmn.cpp:574 #, fuzzy msgid "Middle range" msgstr "Malli" #: src/canonmn.cpp:575 msgid "Far range" msgstr "" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 msgid "Infinity" msgstr "" #: src/canonmn.cpp:583 #, fuzzy msgid "Manual AF point selection" msgstr "Automaattinen AF-pisteen valinta" #: src/canonmn.cpp:584 msgid "None (MF)" msgstr "Ei mitään (MF)" #: src/canonmn.cpp:585 msgid "Auto-selected" msgstr "Automaattinen" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 msgid "Right" msgstr "" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 msgid "Center" msgstr "" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 #, fuzzy msgid "Left" msgstr "Polttoväli" #: src/canonmn.cpp:589 msgid "Auto AF point selection" msgstr "Automaattinen AF-pisteen valinta" #: src/canonmn.cpp:594 msgid "Easy shooting (Auto)" msgstr "Täysautomaatti" #: src/canonmn.cpp:595 msgid "Program (P)" msgstr "Ohjelmoitu AE (P)" #: src/canonmn.cpp:596 msgid "Shutter priority (Tv)" msgstr "Valotusajan esivalinta (Tv)" #: src/canonmn.cpp:597 msgid "Aperture priority (Av)" msgstr "Aukon esivalinta (Av)" #: src/canonmn.cpp:598 msgid "Manual (M)" msgstr "Käsisäätöinen valotus (M)" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "Syväterävyysohjelma AE" #: src/canonmn.cpp:600 #, fuzzy msgid "M-DEP" msgstr "Syväterävyysohjelma AE" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 msgid "Did not fire" msgstr "Ei välähtänyt" #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 msgid "Fired" msgstr "Välähti" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 msgid "External flash" msgstr "Ulkoinen salama" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 msgid "Internal flash" msgstr "Sisäinen salama" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "" #: src/canonmn.cpp:980 #, fuzzy msgid "FP sync used" msgstr "Käytetty AF-piste" #: src/canonmn.cpp:991 #, fuzzy msgid "Normal AE" msgstr "Normaali" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 #, fuzzy msgid "Exposure compensation" msgstr "Valotustila" #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "Valotuksen lukitus" #: src/canonmn.cpp:994 msgid "AE lock + exposure compensation" msgstr "" #: src/canonmn.cpp:995 msgid "No AE" msgstr "" #: src/canonmn.cpp:1002 #, fuzzy msgid "On, shot only" msgstr "Kertatarkennus, AF" #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 msgid "AF Point" msgstr "AF-piste" #: src/canonmn.cpp:1016 #, fuzzy msgid "Smooth" msgstr "kuukausi" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 msgid "Custom" msgstr "" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 msgid "My color data" msgstr "" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 #, fuzzy msgid "Full" msgstr "Täysautomatiikka" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "" #: src/canonmn.cpp:1043 msgid "Selftimer" msgstr "" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 #, fuzzy msgid "Self timer" msgstr "Sarjanumero" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 msgid "Quality" msgstr "Kuvanlaatu" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 msgid "Flash Mode" msgstr "Salaman tila" #: src/canonmn.cpp:1045 #, fuzzy msgid "Flash mode setting" msgstr "Salaman malli" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 #, fuzzy msgid "Drive Mode" msgstr "Makrotila" #: src/canonmn.cpp:1046 msgid "Drive mode setting" msgstr "" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 msgid "Focus Mode" msgstr "Tarkennustapa" #: src/canonmn.cpp:1048 #, fuzzy msgid "Focus mode setting" msgstr "Tarkennustapa" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 msgid "Image Size" msgstr "Kuvan koko" #: src/canonmn.cpp:1052 #, fuzzy msgid "Easy Mode" msgstr "Salaman tila" #: src/canonmn.cpp:1052 #, fuzzy msgid "Easy shooting mode" msgstr "Täysautomaatti" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 msgid "Digital Zoom" msgstr "Digitaalinen zoom" #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 msgid "Digital zoom" msgstr "Digitaalinen zoom" #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 msgid "Contrast" msgstr "Kontrasti" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 #, fuzzy msgid "Contrast setting" msgstr "Kontrasti" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 msgid "Saturation" msgstr "Värikylläisyys" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 #, fuzzy msgid "Saturation setting" msgstr "Värikylläisyys" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 msgid "Sharpness" msgstr "Terävyys" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 #, fuzzy msgid "Sharpness setting" msgstr "Terävyys" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 msgid "ISO Speed Mode" msgstr "ISO-herkkyys" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 #, fuzzy msgid "ISO speed setting" msgstr "ISO-herkkyys" #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 msgid "Metering Mode" msgstr "Mittaustapa" #: src/canonmn.cpp:1058 #, fuzzy msgid "Metering mode setting" msgstr "Mittaustapa" #: src/canonmn.cpp:1059 #, fuzzy msgid "Focus Type" msgstr "Tarkennustapa" #: src/canonmn.cpp:1059 msgid "Focus type setting" msgstr "" #: src/canonmn.cpp:1060 msgid "AF point selected" msgstr "Valittu AF-piste" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 msgid "Exposure Program" msgstr "Kuvaustapa" #: src/canonmn.cpp:1061 #, fuzzy msgid "Exposure mode setting" msgstr "Valotustila" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 msgid "Lens Type" msgstr "Linssin tyyppi" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 msgid "Lens type" msgstr "Linssin tyyppi" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 msgid "Lens" msgstr "Linssi" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "" #: src/canonmn.cpp:1065 #, fuzzy msgid "Short focal" msgstr "Käytetty AF-piste" #: src/canonmn.cpp:1066 #, fuzzy msgid "Focal Units" msgstr "Polttoväli" #: src/canonmn.cpp:1066 #, fuzzy msgid "Focal units" msgstr "Polttoväli" #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 #, fuzzy msgid "Max Aperture" msgstr "Aukko" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 #, fuzzy msgid "Max aperture" msgstr "Aukko" #: src/canonmn.cpp:1068 #, fuzzy msgid "Min Aperture" msgstr "Aukko" #: src/canonmn.cpp:1068 #, fuzzy msgid "Min aperture" msgstr "Aukko" #: src/canonmn.cpp:1069 #, fuzzy msgid "Flash Activity" msgstr "Salaman tyyppi" #: src/canonmn.cpp:1069 #, fuzzy msgid "Flash activity" msgstr "Salaman tyyppi" #: src/canonmn.cpp:1070 #, fuzzy msgid "Flash Details" msgstr "Salamavalotuksen korjaus" #: src/canonmn.cpp:1070 #, fuzzy msgid "Flash details" msgstr "Salaman malli" #: src/canonmn.cpp:1073 msgid "Focus Continuous" msgstr "" #: src/canonmn.cpp:1073 msgid "Focus continuous setting" msgstr "" #: src/canonmn.cpp:1074 #, fuzzy msgid "AESetting" msgstr "Asetukset" #: src/canonmn.cpp:1074 #, fuzzy msgid "AE setting" msgstr "Asetukset" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 msgid "Image Stabilization" msgstr "Kuvan vakautus" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 msgid "Image stabilization" msgstr "Kuvan vakautus" #: src/canonmn.cpp:1076 #, fuzzy msgid "Display Aperture" msgstr "Aukko" #: src/canonmn.cpp:1076 #, fuzzy msgid "Display aperture" msgstr "Aukko" #: src/canonmn.cpp:1077 msgid "Zoom Source Width" msgstr "" #: src/canonmn.cpp:1077 msgid "Zoom source width" msgstr "" #: src/canonmn.cpp:1078 msgid "Zoom Target Width" msgstr "" #: src/canonmn.cpp:1078 msgid "Zoom target width" msgstr "" #: src/canonmn.cpp:1080 #, fuzzy msgid "Spot Metering Mode" msgstr "Mittaustapa" #: src/canonmn.cpp:1080 #, fuzzy msgid "Spot metering mode" msgstr "Mittaustapa" #: src/canonmn.cpp:1081 msgid "Photo Effect" msgstr "" #: src/canonmn.cpp:1081 msgid "Photo effect" msgstr "" #: src/canonmn.cpp:1082 #, fuzzy msgid "Manual Flash Output" msgstr "Manuaalinen" #: src/canonmn.cpp:1082 #, fuzzy msgid "Manual flash output" msgstr "Käsintarkennus, MF" #: src/canonmn.cpp:1083 #, fuzzy msgid "Color Tone" msgstr "Väriavaruus" #: src/canonmn.cpp:1083 #, fuzzy msgid "Color tone" msgstr "Väriavaruus" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "" #: src/canonmn.cpp:1084 #, fuzzy msgid "SRAW quality" msgstr "Kuvan laatu" #: src/canonmn.cpp:1086 #, fuzzy msgid "Unknown Canon Camera Settings 1 tag" msgstr "Kameran asetukset" #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 msgid "Daylight" msgstr "" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 msgid "Cloudy" msgstr "Pilvinen" #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 msgid "Tungsten" msgstr "Keinovalo" #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 msgid "Fluorescent" msgstr "Valkoinen loisteputki" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 msgid "Black & White" msgstr "Mustavalkoinen" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "Varjo" #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "Oma asetus (Kelvin)" #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "" #: src/canonmn.cpp:1109 #, fuzzy msgid "Daylight Fluorescent" msgstr "Valkoinen loisteputki" #: src/canonmn.cpp:1110 src/properties.cpp:816 msgid "Custom 1" msgstr "" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 msgid "Custom 2" msgstr "" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 msgid "Custom 3" msgstr "" #: src/canonmn.cpp:1115 msgid "PC Set 4" msgstr "" #: src/canonmn.cpp:1116 msgid "PC Set 5" msgstr "" #: src/canonmn.cpp:1117 msgid "Auto (ambience priority)" msgstr "" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 msgid "left" msgstr "" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 msgid "center" msgstr "" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 #, fuzzy msgid "right" msgstr "Omistusoikeus" #: src/canonmn.cpp:1151 msgid "ISO Speed Used" msgstr "ISO-herkkyys" #: src/canonmn.cpp:1151 msgid "ISO speed used" msgstr "ISO-herkkyys" #: src/canonmn.cpp:1152 msgid "Measured EV" msgstr "" #: src/canonmn.cpp:1153 #, fuzzy msgid "Target Aperture" msgstr "Aukko" #: src/canonmn.cpp:1154 #, fuzzy msgid "Target Shutter Speed" msgstr "Valotusaika" #: src/canonmn.cpp:1154 #, fuzzy msgid "Target shutter speed" msgstr "Valotusaika" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 msgid "White Balance" msgstr "Valkotasapaino" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 #, fuzzy msgid "White balance setting" msgstr "Valkotasapaino" #: src/canonmn.cpp:1158 msgid "Sequence" msgstr "" #: src/canonmn.cpp:1158 msgid "Sequence number (if in a continuous burst)" msgstr "" #: src/canonmn.cpp:1163 msgid "AF Point Used" msgstr "Käytetty AF-piste" #: src/canonmn.cpp:1163 msgid "AF point used" msgstr "Käytetty AF-piste" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 msgid "Flash Bias" msgstr "Salamavalotuksen korjaus" #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 msgid "Subject Distance" msgstr "Kohteen etäisyys" #: src/canonmn.cpp:1168 msgid "Subject distance (units are not clear)" msgstr "" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 msgid "Aperture Value" msgstr "Aukko" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 msgid "Shutter Speed Value" msgstr "Valotusaika" #: src/canonmn.cpp:1171 src/tags.cpp:1630 msgid "Shutter speed" msgstr "Valotusaika" #: src/canonmn.cpp:1172 msgid "Measured EV 2" msgstr "" #: src/canonmn.cpp:1177 #, fuzzy msgid "Unknown Canon Camera Settings 2 tag" msgstr "Kameran asetukset" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 msgid "Left to right" msgstr "" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 msgid "Right to left" msgstr "" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 msgid "Bottom to top" msgstr "" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 msgid "Top to bottom" msgstr "" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "" #: src/canonmn.cpp:1196 #, fuzzy msgid "Panorama Frame" msgstr "Panoraama" #: src/canonmn.cpp:1196 #, fuzzy msgid "Panorama frame number" msgstr "Kameran sarjanumero" #: src/canonmn.cpp:1197 #, fuzzy msgid "Panorama Direction" msgstr "Panoraama" #: src/canonmn.cpp:1197 #, fuzzy msgid "Panorama direction" msgstr "Panoraama" #: src/canonmn.cpp:1199 msgid "Unknown Canon Panorama tag" msgstr "" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 msgid "Noise Reduction" msgstr "" #: src/canonmn.cpp:1209 #, fuzzy msgid "Long exposure noise reduction" msgstr "Päällä, punasilmäisyyden esto" #: src/canonmn.cpp:1210 #, fuzzy msgid "Shutter Ae Lock" msgstr "Valotusaika" #: src/canonmn.cpp:1210 msgid "Shutter/AE lock buttons" msgstr "" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 msgid "Exposure Level Increments" msgstr "" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 msgid "AF Assist" msgstr "" #: src/canonmn.cpp:1213 msgid "AF assist light" msgstr "" #: src/canonmn.cpp:1214 #, fuzzy msgid "Flash Sync Speed Av" msgstr "Salaman tyyppi" #: src/canonmn.cpp:1214 #, fuzzy msgid "Shutter speed in Av mode" msgstr "Valotusaika" #: src/canonmn.cpp:1215 msgid "AEB Sequence" msgstr "" #: src/canonmn.cpp:1215 msgid "AEB sequence/auto cancellation" msgstr "" #: src/canonmn.cpp:1216 #, fuzzy msgid "Shutter Curtain Sync" msgstr "Valotusajan esivalinta (Tv)" #: src/canonmn.cpp:1216 #, fuzzy msgid "Shutter curtain sync" msgstr "Valotusajan esivalinta (Tv)" #: src/canonmn.cpp:1217 #, fuzzy msgid "Lens AF Stop Button" msgstr "Linssin tyyppi" #: src/canonmn.cpp:1217 msgid "Lens AF stop button Fn. Switch" msgstr "" #: src/canonmn.cpp:1218 msgid "Fill Flash Auto Reduction" msgstr "" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "" #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "" #: src/canonmn.cpp:1219 msgid "Menu button return position" msgstr "" #: src/canonmn.cpp:1220 msgid "Set Button Function" msgstr "" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "" #: src/canonmn.cpp:1221 msgid "Sensor Cleaning" msgstr "" #: src/canonmn.cpp:1221 msgid "Sensor cleaning" msgstr "" #: src/canonmn.cpp:1222 msgid "Superimposed Display" msgstr "" #: src/canonmn.cpp:1222 msgid "Superimposed display" msgstr "" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "" #: src/canonmn.cpp:1225 msgid "Unknown Canon Custom Function tag" msgstr "" #: src/canonmn.cpp:1236 msgid "mid-right" msgstr "" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 msgid "bottom" msgstr "" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 msgid "top" msgstr "" #: src/canonmn.cpp:1240 msgid "mid-left" msgstr "" #: src/canonmn.cpp:1247 msgid "upper-left" msgstr "" #: src/canonmn.cpp:1248 #, fuzzy msgid "upper-right" msgstr "Omistusoikeus" #: src/canonmn.cpp:1252 msgid "lower-left" msgstr "" #: src/canonmn.cpp:1253 #, fuzzy msgid "lower-right" msgstr "Omistusoikeus" #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 #, fuzzy msgid "Image Width" msgstr "Kuvan laatu" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 #, fuzzy msgid "Image width" msgstr "Kuvan laatu" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 #, fuzzy msgid "Image Height" msgstr "Kuvan tyyppi" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 #, fuzzy msgid "Image height" msgstr "Kuvan laatu" #: src/canonmn.cpp:1261 msgid "Image Width As Shot" msgstr "" #: src/canonmn.cpp:1261 msgid "Image width (as shot)" msgstr "" #: src/canonmn.cpp:1262 #, fuzzy msgid "Image Height As Shot" msgstr "Kuvan tyyppi" #: src/canonmn.cpp:1262 msgid "Image height (as shot)" msgstr "" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 #, fuzzy msgid "AF Points Used" msgstr "Käytetty AF-piste" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 #, fuzzy msgid "AF points used" msgstr "Käytetty AF-piste" #: src/canonmn.cpp:1264 #, fuzzy msgid "AF Points Used 20D" msgstr "Käytetty AF-piste" #: src/canonmn.cpp:1264 #, fuzzy msgid "AF points used (20D)" msgstr "Käytetty AF-piste" #: src/canonmn.cpp:1266 msgid "Unknown Canon Picture Info tag" msgstr "" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 msgid "ISO" msgstr "" #: src/canonmn.cpp:1280 msgid "WB" msgstr "" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "" #: src/canonmn.cpp:1293 #, fuzzy msgid "Medium Movie" msgstr "Keskikokoinen" #: src/canonmn.cpp:1294 #, fuzzy msgid "Small Movie" msgstr "Pieni" #: src/canonmn.cpp:1300 #, fuzzy msgid "On 1" msgstr "Päällä" #: src/canonmn.cpp:1301 #, fuzzy msgid "On 2" msgstr "Päällä" #: src/canonmn.cpp:1309 #, fuzzy msgid "On (shift AB)" msgstr "Kertatarkennus, AF" #: src/canonmn.cpp:1310 #, fuzzy msgid "On (shift GM)" msgstr "Kertatarkennus, AF" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 msgid "Orange" msgstr "" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 msgid "Red" msgstr "" #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 msgid "Green" msgstr "" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 #, fuzzy msgid "Blue" msgstr "arvo" #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "" #: src/canonmn.cpp:1334 #, fuzzy msgid "Bracket Mode" msgstr "Makrotila" #: src/canonmn.cpp:1335 #, fuzzy msgid "Bracket Value" msgstr "Makrotila" #: src/canonmn.cpp:1336 #, fuzzy msgid "Bracket Shot Number" msgstr "Makrotila" #: src/canonmn.cpp:1337 #, fuzzy msgid "Raw Jpg Quality" msgstr "Kuvan laatu" #: src/canonmn.cpp:1338 #, fuzzy msgid "Raw Jpg Size" msgstr "Kuvan koko" #: src/canonmn.cpp:1340 #, fuzzy msgid "WB Bracket Mode" msgstr "Makrotila" #: src/canonmn.cpp:1341 msgid "WB Bracket Value AB" msgstr "" #: src/canonmn.cpp:1342 msgid "WB Bracket Value GM" msgstr "" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 msgid "Filter Effect" msgstr "" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 msgid "Toning Effect" msgstr "" #: src/canonmn.cpp:1345 msgid "Macro Magnification" msgstr "" #: src/canonmn.cpp:1345 msgid "Macro magnification" msgstr "" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "" #: src/canonmn.cpp:1346 msgid "Live view shooting" msgstr "" #: src/canonmn.cpp:1347 #, fuzzy msgid "Focus Distance Upper" msgstr "Kohteen etäisyys" #: src/canonmn.cpp:1348 #, fuzzy msgid "Focus Distance Lower" msgstr "Kohteen etäisyys" #: src/canonmn.cpp:1349 #, fuzzy msgid "Flash Exposure Lock" msgstr "Valotuksen korjaus" #: src/canonmn.cpp:1349 #, fuzzy msgid "Flash exposure lock" msgstr "Automaattivalotus" #: src/canonmn.cpp:1351 msgid "Unknown Canon File Info tag" msgstr "" #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 msgid "Standard" msgstr "" #: src/canonmn.cpp:1369 msgid "Lowest" msgstr "" #: src/canonmn.cpp:1373 msgid "Highest" msgstr "" #: src/canonmn.cpp:1381 #, fuzzy msgid "High Saturation" msgstr "Värikylläisyys" #: src/canonmn.cpp:1383 #, fuzzy msgid "Low Saturation" msgstr "Värikylläisyys" #: src/canonmn.cpp:1384 msgid "CM Set 1" msgstr "" #: src/canonmn.cpp:1385 msgid "CM Set 2" msgstr "" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 #, fuzzy msgid "Monochrome" msgstr "Makrotila" #: src/canonmn.cpp:1399 #, fuzzy msgid "Fine Detail" msgstr "Salamavalotuksen korjaus" #: src/canonmn.cpp:1404 #, fuzzy msgid "ToneCurve" msgstr "Kontrasti" #: src/canonmn.cpp:1404 #, fuzzy msgid "Tone curve" msgstr "Kontrasti" #: src/canonmn.cpp:1406 #, fuzzy msgid "SharpnessFrequency" msgstr "Terävyys" #: src/canonmn.cpp:1406 #, fuzzy msgid "Sharpness frequency" msgstr "Terävyys" #: src/canonmn.cpp:1407 msgid "SensorRedLevel" msgstr "" #: src/canonmn.cpp:1407 #, fuzzy msgid "Sensor red level" msgstr "Salaman malli" #: src/canonmn.cpp:1408 msgid "SensorBlueLevel" msgstr "" #: src/canonmn.cpp:1408 #, fuzzy msgid "Sensor blue level" msgstr "Salaman malli" #: src/canonmn.cpp:1409 #, fuzzy msgid "WhiteBalanceRed" msgstr "Valkotasapaino" #: src/canonmn.cpp:1409 #, fuzzy msgid "White balance red" msgstr "Valkotasapaino" #: src/canonmn.cpp:1410 #, fuzzy msgid "WhiteBalanceBlue" msgstr " " #: src/canonmn.cpp:1410 #, fuzzy msgid "White balance blue" msgstr " " #: src/canonmn.cpp:1411 #, fuzzy msgid "WhiteBalance" msgstr "Valkotasapaino" #: src/canonmn.cpp:1412 #, fuzzy msgid "ColorTemperature" msgstr "Väriavaruus" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 #, fuzzy msgid "Color Temperature" msgstr "Väriavaruus" #: src/canonmn.cpp:1413 #, fuzzy msgid "PictureStyle" msgstr "Kuvan tiedot" #: src/canonmn.cpp:1413 #, fuzzy msgid "Picture style" msgstr "Kuvan tiedot" #: src/canonmn.cpp:1414 #, fuzzy msgid "DigitalGain" msgstr "Digitaalinen makro" #: src/canonmn.cpp:1414 #, fuzzy msgid "Digital gain" msgstr "Digitaalinen makro" #: src/canonmn.cpp:1415 msgid "WBShiftAB" msgstr "" #: src/canonmn.cpp:1415 #, fuzzy msgid "WBShift AB" msgstr "Kertatarkennus, AF" #: src/canonmn.cpp:1416 msgid "WBShiftGM" msgstr "" #: src/canonmn.cpp:1416 #, fuzzy msgid "WB Shift GM" msgstr "Kertatarkennus, AF" #: src/canonmn.cpp:1417 #, fuzzy msgid "Unknown Canon Processing Info tag" msgstr "Kameran asetukset" #: src/crwimage.cpp:656 msgid "Header, offset" msgstr "" #: src/crwimage.cpp:674 msgid "tag" msgstr "" #: src/crwimage.cpp:676 msgid "dir" msgstr "" #: src/crwimage.cpp:678 msgid "type" msgstr "" #: src/crwimage.cpp:679 msgid "size" msgstr "" #: src/crwimage.cpp:680 msgid "offset" msgstr "" #: src/datasets.cpp:79 msgid "(invalid)" msgstr "" #: src/datasets.cpp:80 msgid "IIM envelope record" msgstr "" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "" #: src/datasets.cpp:85 #, fuzzy msgid "Model Version" msgstr "Ohjelman versio" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 #, fuzzy msgid "Destination" msgstr "Kuvan vakautus" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 #, fuzzy msgid "File Format" msgstr "Lukuvirhe" #: src/datasets.cpp:95 msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" #: src/datasets.cpp:101 #, fuzzy msgid "File Version" msgstr "Firmwaren versio" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" #: src/datasets.cpp:105 msgid "Service Id" msgstr "" #: src/datasets.cpp:106 msgid "Identifies the provider and product" msgstr "" #: src/datasets.cpp:108 #, fuzzy msgid "Envelope Number" msgstr "F-luku" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" #: src/datasets.cpp:117 msgid "Product Id" msgstr "" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" #: src/datasets.cpp:122 msgid "Envelope Priority" msgstr "" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" #: src/datasets.cpp:129 #, fuzzy msgid "Date Sent" msgstr "Päiväys ja aika" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" #: src/datasets.cpp:133 msgid "Time Sent" msgstr "" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" #: src/datasets.cpp:139 msgid "Character Set" msgstr "" #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" #: src/datasets.cpp:145 msgid "Unique Name Object" msgstr "" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:156 #, fuzzy msgid "ARM Version" msgstr "Ohjelman versio" #: src/datasets.cpp:157 msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" #: src/datasets.cpp:170 #, fuzzy msgid "Record Version" msgstr "Ohjelman versio" #: src/datasets.cpp:171 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:175 #, fuzzy msgid "Object Type" msgstr "Linssin tyyppi" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" #: src/datasets.cpp:184 msgid "Object Attribute" msgstr "" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" #: src/datasets.cpp:193 #, fuzzy msgid "Object Name" msgstr "Omistajan nimi" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" #: src/datasets.cpp:198 msgid "Document Title" msgstr "" #: src/datasets.cpp:199 src/olympusmn.cpp:827 #, fuzzy msgid "Edit Status" msgstr "Omistusoikeus" #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "" #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 #, fuzzy msgid "Subject" msgstr "Kohteen etäisyys" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "" #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" #: src/datasets.cpp:222 msgid "Supplemental Category" msgstr "" #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" #: src/datasets.cpp:228 src/properties.cpp:442 msgid "Supplemental Categories" msgstr "" #: src/datasets.cpp:229 #, fuzzy msgid "Fixture Id" msgstr "Välähti" #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 msgid "Keywords" msgstr "Avainsanat" #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" #: src/datasets.cpp:240 msgid "Location Code" msgstr "" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:248 #, fuzzy msgid "Location Name" msgstr "Omistajan nimi" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" #: src/datasets.cpp:253 src/properties.cpp:376 #, fuzzy msgid "Release Date" msgstr "Mallin ID" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:257 msgid "Release Time" msgstr "" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:261 msgid "Expiration Date" msgstr "" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:265 msgid "ExpirationTime" msgstr "" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:269 msgid "Special Instructions" msgstr "" #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" #: src/datasets.cpp:273 src/properties.cpp:439 msgid "Instructions" msgstr "" #: src/datasets.cpp:274 msgid "Action Advised" msgstr "" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:279 msgid "Reference Service" msgstr "" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:283 msgid "Reference Date" msgstr "" #: src/datasets.cpp:284 msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "" #: src/datasets.cpp:286 #, fuzzy msgid "Reference Number" msgstr "Sarjanumero" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 #, fuzzy msgid "Date Created" msgstr "Kuvan numero" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:295 #, fuzzy msgid "Time Created" msgstr "Kuvan numero" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:301 msgid "Digitization Date" msgstr "" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:305 #, fuzzy msgid "Digitization Time" msgstr "Päiväys ja aika" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 msgid "Program" msgstr "Ohjelma" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "" #: src/datasets.cpp:313 msgid "Program Version" msgstr "Ohjelman versio" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "" #: src/datasets.cpp:316 msgid "Object Cycle" msgstr "" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "" #: src/datasets.cpp:319 msgid "By-line" msgstr "" #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "" #: src/datasets.cpp:323 src/properties.cpp:2103 msgid "Author" msgstr "" #: src/datasets.cpp:324 msgid "By-line Title" msgstr "" #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "" #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 msgid "City" msgstr "" #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:333 #, fuzzy msgid "Sub Location" msgstr "Värikylläisyys" #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" #: src/datasets.cpp:337 msgid "Province State" msgstr "" #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:341 msgid "State/Province" msgstr "" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 #, fuzzy msgid "Country Code" msgstr "Kontrasti" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:352 #, fuzzy msgid "Country Name" msgstr "Omistajan nimi" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 #, fuzzy msgid "Country" msgstr "Kontrasti" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 msgid "Transmission Reference" msgstr "" #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 msgid "Headline" msgstr "" #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "" #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 msgid "Credit" msgstr "" #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "" #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 #, fuzzy msgid "Source" msgstr "Kuvalähde" #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "" #: src/datasets.cpp:379 #, fuzzy msgid "Copyright Notice" msgstr "Omistusoikeus" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 #, fuzzy msgid "Contact" msgstr "Kontrasti" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" #: src/datasets.cpp:384 src/properties.cpp:2101 msgid "Caption" msgstr "" #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "" #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 msgid "Description" msgstr "" #: src/datasets.cpp:388 msgid "Writer" msgstr "" #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" #: src/datasets.cpp:392 msgid "Rasterized Caption" msgstr "" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "" #: src/datasets.cpp:399 #, fuzzy msgid "Image Orientation" msgstr "Kuvan numero" #: src/datasets.cpp:400 msgid "Indicates the layout of an image." msgstr "" #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 #, fuzzy msgid "Language" msgstr "Suuri" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" #: src/datasets.cpp:408 msgid "Audio Type" msgstr "" #: src/datasets.cpp:409 msgid "Indicates the type of an audio content." msgstr "" #: src/datasets.cpp:411 msgid "Audio Rate" msgstr "" #: src/datasets.cpp:412 msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "" #: src/datasets.cpp:414 #, fuzzy msgid "Audio Resolution" msgstr "Resoluutioyksikkö" #: src/datasets.cpp:415 msgid "Indicates the sampling resolution of an audio content." msgstr "" #: src/datasets.cpp:417 msgid "Audio Duration" msgstr "" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "" #: src/datasets.cpp:420 msgid "Audio Outcue" msgstr "" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" #: src/datasets.cpp:424 #, fuzzy msgid "Preview Format" msgstr "Esikatselu" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" #: src/datasets.cpp:429 src/properties.cpp:1276 #, fuzzy msgid "Preview Version" msgstr "Ohjelman versio" #: src/datasets.cpp:430 msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" #: src/datasets.cpp:433 #, fuzzy msgid "Preview Data" msgstr "Esikatselu" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "" #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 #, fuzzy msgid "Unknown dataset" msgstr "Tuntematon" #: src/error.cpp:55 msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "" #: src/error.cpp:56 msgid "Success" msgstr "" #: src/error.cpp:59 msgid "This does not look like a %1 image" msgstr "" #: src/error.cpp:60 msgid "Invalid dataset name `%1'" msgstr "" #: src/error.cpp:61 msgid "Invalid record name `%1'" msgstr "" #: src/error.cpp:62 msgid "Invalid key `%1'" msgstr "" #: src/error.cpp:63 msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "" #: src/error.cpp:64 msgid "Value not set" msgstr "" #: src/error.cpp:65 #, fuzzy msgid "%1: Failed to open the data source: %2" msgstr "Tiedoston avaus epäonnistui\n" #: src/error.cpp:66 #, fuzzy msgid "%1: Failed to open file (%2): %3" msgstr "Tiedoston avaus epäonnistui\n" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "" #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "" #: src/error.cpp:69 msgid "Image type %1 is not supported" msgstr "" #: src/error.cpp:70 #, fuzzy msgid "Failed to read image data" msgstr "Aikaleiman lukeminen epäonnistui" #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "" #: src/error.cpp:72 msgid "%1: Failed to map file for reading and writing: %2" msgstr "" #: src/error.cpp:73 #, fuzzy msgid "%1: Failed to rename file to %2: %3" msgstr "Tiedoston avaus epäonnistui\n" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "" #: src/error.cpp:76 #, fuzzy msgid "Failed to read input data" msgstr "Lukuvirhe" #: src/error.cpp:77 #, fuzzy msgid "Failed to write image" msgstr "Lukuvirhe" #: src/error.cpp:78 msgid "Input data does not contain a valid image" msgstr "" #: src/error.cpp:79 msgid "Invalid ifdId %1" msgstr "" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" #: src/error.cpp:82 msgid "Offset out of range" msgstr "" #: src/error.cpp:83 msgid "Unsupported data area offset type" msgstr "" #: src/error.cpp:84 msgid "Invalid charset: `%1'" msgstr "" #: src/error.cpp:85 msgid "Unsupported date format" msgstr "" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "" #: src/error.cpp:87 msgid "Writing to %1 images is not supported" msgstr "" #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "" #: src/error.cpp:89 msgid "This does not look like a CRW image" msgstr "" #: src/error.cpp:90 msgid "%1: Not supported" msgstr "" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "" #: src/error.cpp:92 msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "" #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" #: src/error.cpp:104 msgid "Invalid XmpText type `%1'" msgstr "" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "" #: src/error.cpp:106 msgid "Multiple TIFF array element tags %1 in one directory" msgstr "" #: src/error.cpp:107 msgid "TIFF array element tag %1 has wrong type" msgstr "" #: src/error.cpp:108 msgid "%1 has invalid XMP value type `%2'" msgstr "" #: src/exiv2.cpp:213 msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr "" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr "" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" #: src/exiv2.cpp:262 msgid "" "\n" "Options:\n" msgstr "" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr "" #: src/exiv2.cpp:264 msgid " -V Show the program version and exit.\n" msgstr "" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr "" #: src/exiv2.cpp:266 msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr "" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" #: src/exiv2.cpp:268 msgid " -b Show large binary values.\n" msgstr "" #: src/exiv2.cpp:269 msgid " -u Show unknown tags.\n" msgstr "" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr "" #: src/exiv2.cpp:271 msgid " -K key Only output info for this key (exact match).\n" msgstr "" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr "" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr "" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr "" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr "" #: src/exiv2.cpp:285 msgid " s : print a summary of the Exif metadata (the default)\n" msgstr "" #: src/exiv2.cpp:286 msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr "" #: src/exiv2.cpp:287 msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr "" #: src/exiv2.cpp:288 msgid " v : plain Exif data values (-PExgnycv)\n" msgstr "" #: src/exiv2.cpp:289 msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr "" #: src/exiv2.cpp:290 msgid " i : IPTC data values (-PIkyct)\n" msgstr "" #: src/exiv2.cpp:291 msgid " x : XMP properties (-PXkyct)\n" msgstr "" #: src/exiv2.cpp:292 src/exiv2.cpp:317 msgid " c : JPEG comment\n" msgstr "" #: src/exiv2.cpp:293 msgid " p : list available previews\n" msgstr "" #: src/exiv2.cpp:294 msgid " S : print structure of image\n" msgstr "" #: src/exiv2.cpp:295 msgid " X : extract XMP from image\n" msgstr "" #: src/exiv2.cpp:296 msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" #: src/exiv2.cpp:297 msgid " E : include Exif tags in the list\n" msgstr "" #: src/exiv2.cpp:298 msgid " I : IPTC datasets\n" msgstr "" #: src/exiv2.cpp:299 msgid " X : XMP properties\n" msgstr "" #: src/exiv2.cpp:300 msgid " x : print a column with the tag number\n" msgstr "" #: src/exiv2.cpp:301 msgid " g : group name\n" msgstr "" #: src/exiv2.cpp:302 msgid " k : key\n" msgstr "" #: src/exiv2.cpp:303 msgid " l : tag label\n" msgstr "" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr "" #: src/exiv2.cpp:305 msgid " y : type\n" msgstr "" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr "" #: src/exiv2.cpp:307 msgid " s : size in bytes\n" msgstr "" #: src/exiv2.cpp:308 msgid " v : plain data value\n" msgstr "" #: src/exiv2.cpp:309 msgid " t : interpreted (translated) data\n" msgstr "" #: src/exiv2.cpp:310 msgid " h : hexdump of the data\n" msgstr "" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr "" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr "" #: src/exiv2.cpp:313 msgid " e : Exif section\n" msgstr "" #: src/exiv2.cpp:314 msgid " t : Exif thumbnail only\n" msgstr "" #: src/exiv2.cpp:315 msgid " i : IPTC data\n" msgstr "" #: src/exiv2.cpp:316 msgid " x : XMP packet\n" msgstr "" #: src/exiv2.cpp:318 msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" #: src/exiv2.cpp:323 msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr "" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr "" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr "" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr "" #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr "" #: src/exiv2.cpp:336 msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 msgid "Option" msgstr "" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "" #: src/exiv2.cpp:410 msgid "Invalid argument" msgstr "" #: src/exiv2.cpp:434 msgid "Invalid regexp" msgstr "" #: src/exiv2.cpp:473 src/exiv2.cpp:526 msgid "Ignoring surplus option" msgstr "" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "" #: src/exiv2.cpp:504 msgid "Error parsing -a option argument" msgstr "" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "" #: src/exiv2.cpp:535 msgid "option argument" msgstr "" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:824 msgid "Action fixcom is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "" #: src/exiv2.cpp:904 msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "" #: src/exiv2.cpp:920 msgid "Error parsing -m option arguments\n" msgstr "" #: src/exiv2.cpp:927 msgid "Error parsing -M option arguments\n" msgstr "" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "" #: src/exiv2.cpp:1039 msgid "target" msgstr "" #: src/exiv2.cpp:1065 msgid "Invalid preview number" msgstr "" #: src/exiv2.cpp:1097 msgid "Failed to open command file for reading\n" msgstr "" #: src/exiv2.cpp:1110 msgid "line" msgstr "" #: src/exiv2.cpp:1133 msgid "-M option" msgstr "" #: src/exiv2.cpp:1180 msgid "Invalid command line:" msgstr "" #: src/exiv2.cpp:1187 msgid "Invalid command" msgstr "" #: src/exiv2.cpp:1219 msgid "Invalid key" msgstr "" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "" #: src/fujimn.cpp:62 msgid "Soft mode 1" msgstr "" #: src/fujimn.cpp:63 msgid "Soft mode 2" msgstr "" #: src/fujimn.cpp:65 #, fuzzy msgid "Hard mode 1" msgstr "Makrotila" #: src/fujimn.cpp:66 #, fuzzy msgid "Hard mode 2" msgstr "Makrotila" #: src/fujimn.cpp:74 #, fuzzy msgid "Fluorescent (daylight)" msgstr "Valkoinen loisteputki" #: src/fujimn.cpp:75 #, fuzzy msgid "Fluorescent (warm white)" msgstr "Valkoinen loisteputki" #: src/fujimn.cpp:76 #, fuzzy msgid "Fluorescent (cool white)" msgstr "Valkoinen loisteputki" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 msgid "Incandescent" msgstr "" #: src/fujimn.cpp:87 src/fujimn.cpp:88 #, fuzzy msgid "None (black & white)" msgstr "Mustavalko" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 #, fuzzy msgid "Red-eye reduction" msgstr "Päällä, punasilmäisyyden esto" #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 msgid "Night scene" msgstr "" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 #, fuzzy msgid "Program AE" msgstr "Ohjelma" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "" #: src/fujimn.cpp:122 msgid "Anti-blur" msgstr "" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 #, fuzzy msgid "Sunset" msgstr "Aseta" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 #, fuzzy msgid "Museum" msgstr "Keskikokoinen" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 #, fuzzy msgid "Party" msgstr "Osa-alue" #: src/fujimn.cpp:126 msgid "Flower" msgstr "" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "" #: src/fujimn.cpp:128 msgid "Natural light & flash" msgstr "" #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 #, fuzzy msgid "Aperture-priority AE" msgstr "Aukon esivalinta (Av)" #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 #, fuzzy msgid "Shutter speed priority AE" msgstr "Valotusajan esivalinta (Tv)" #: src/fujimn.cpp:142 msgid "No flash & flash" msgstr "" #: src/fujimn.cpp:148 msgid "Chrome" msgstr "" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 msgid "Wide" msgstr "" #: src/fujimn.cpp:160 msgid "F0/Standard" msgstr "" #: src/fujimn.cpp:161 msgid "F1/Studio portrait" msgstr "" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "" #: src/fujimn.cpp:163 msgid "F3/Studio portrait Ex" msgstr "" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "" #: src/fujimn.cpp:171 msgid "Standard (100%)" msgstr "" #: src/fujimn.cpp:172 msgid "Wide mode 1 (230%)" msgstr "" #: src/fujimn.cpp:173 msgid "Wide mode 2 (400%)" msgstr "" #: src/fujimn.cpp:174 msgid "Film simulation mode" msgstr "" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 #, fuzzy msgid "Version" msgstr "Ohjelman versio" #: src/fujimn.cpp:180 #, fuzzy msgid "Fujifilm Makernote version" msgstr "Firmwaren versio" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 #, fuzzy msgid "Image quality setting" msgstr "Kuvan laatu" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 #, fuzzy msgid "Color" msgstr "Väriavaruus" #: src/fujimn.cpp:196 msgid "Chroma saturation setting" msgstr "" #: src/fujimn.cpp:198 #, fuzzy msgid "Tone" msgstr "Ei käytössä" #: src/fujimn.cpp:202 msgid "Flash firing mode setting" msgstr "" #: src/fujimn.cpp:204 #, fuzzy msgid "Flash Strength" msgstr "Salaman tyyppi" #: src/fujimn.cpp:205 msgid "Flash firing strength compensation setting" msgstr "" #: src/fujimn.cpp:208 #, fuzzy msgid "Macro mode setting" msgstr "Makrotila" #: src/fujimn.cpp:211 msgid "Focusing mode setting" msgstr "" #: src/fujimn.cpp:216 msgid "Slow Sync" msgstr "" #: src/fujimn.cpp:217 msgid "Slow synchro mode setting" msgstr "" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 #, fuzzy msgid "Picture Mode" msgstr "Kuvan tiedot" #: src/fujimn.cpp:220 #, fuzzy msgid "Picture mode setting" msgstr "Kuvan tiedot" #: src/fujimn.cpp:226 msgid "Continuous shooting or auto bracketing setting" msgstr "" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 #, fuzzy msgid "Sequence Number" msgstr "Sarjanumero" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 msgid "Sequence number" msgstr "" #: src/fujimn.cpp:234 msgid "FinePix Color" msgstr "" #: src/fujimn.cpp:235 msgid "Fuji FinePix color setting" msgstr "" #: src/fujimn.cpp:237 #, fuzzy msgid "Blur Warning" msgstr "Varoitus" #: src/fujimn.cpp:238 msgid "Blur warning status" msgstr "" #: src/fujimn.cpp:240 #, fuzzy msgid "Focus Warning" msgstr "Varoitus" #: src/fujimn.cpp:241 msgid "Auto Focus warning status" msgstr "" #: src/fujimn.cpp:243 #, fuzzy msgid "Exposure Warning" msgstr "Valotuksen korjaus" #: src/fujimn.cpp:244 msgid "Auto exposure warning status" msgstr "" #: src/fujimn.cpp:246 msgid "Dynamic Range" msgstr "" #: src/fujimn.cpp:247 msgid "Dynamic range" msgstr "" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 #, fuzzy msgid "Film Mode" msgstr "Salaman tila" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 #, fuzzy msgid "Film mode" msgstr "Salaman malli" #: src/fujimn.cpp:252 #, fuzzy msgid "Dynamic Range Setting" msgstr "Kameran asetukset" #: src/fujimn.cpp:253 #, fuzzy msgid "Dynamic range settings" msgstr "Kameran asetukset" #: src/fujimn.cpp:255 msgid "Development Dynamic Range" msgstr "" #: src/fujimn.cpp:256 msgid "Development dynamic range" msgstr "" #: src/fujimn.cpp:258 #, fuzzy msgid "Minimum Focal Length" msgstr "Polttoväli" #: src/fujimn.cpp:259 #, fuzzy msgid "Minimum focal length" msgstr "Polttoväli" #: src/fujimn.cpp:261 #, fuzzy msgid "Maximum Focal Length" msgstr "Polttoväli" #: src/fujimn.cpp:262 #, fuzzy msgid "Maximum focal length" msgstr "Polttoväli" #: src/fujimn.cpp:264 #, fuzzy msgid "Maximum Aperture at Minimum Focal" msgstr "Aukko" #: src/fujimn.cpp:265 #, fuzzy msgid "Maximum aperture at minimum focal" msgstr "Aukko" #: src/fujimn.cpp:267 #, fuzzy msgid "Maximum Aperture at Maximum Focal" msgstr "Aukko" #: src/fujimn.cpp:268 #, fuzzy msgid "Maximum aperture at maximum focal" msgstr "Aukko" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 msgid "File Source" msgstr "Kuvalähde" #: src/fujimn.cpp:271 msgid "File source" msgstr "Kuvalähde" #: src/fujimn.cpp:273 #, fuzzy msgid "Order Number" msgstr "Sarjanumero" #: src/fujimn.cpp:274 #, fuzzy msgid "Order number" msgstr "Tiedostonimi" #: src/fujimn.cpp:276 #, fuzzy msgid "Frame Number" msgstr "F-luku" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 #, fuzzy msgid "Frame number" msgstr "Tiedostonimi" #: src/fujimn.cpp:281 msgid "Unknown FujiMakerNote tag" msgstr "" #: src/minoltamn.cpp:56 msgid "Natural Color" msgstr "" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 msgid "Vivid Color" msgstr "" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 #, fuzzy msgid "Solarization" msgstr "Värikylläisyys" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 #, fuzzy msgid "Natural" msgstr "Neutraali" #: src/minoltamn.cpp:64 msgid "Natural sRGB" msgstr "" #: src/minoltamn.cpp:65 msgid "Natural+ sRGB" msgstr "" #: src/minoltamn.cpp:67 msgid "Evening" msgstr "" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 #, fuzzy msgid "Night Portrait" msgstr "Muotokuva" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 msgid "Super Fine" msgstr "" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 msgid "Extra Fine" msgstr "" #: src/minoltamn.cpp:90 #, fuzzy msgid "Makernote Version" msgstr "Firmwaren versio" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "" #: src/minoltamn.cpp:93 #, fuzzy msgid "Camera Settings (Std Old)" msgstr "Kameran asetukset" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "" #: src/minoltamn.cpp:96 #, fuzzy msgid "Camera Settings (Std New)" msgstr "Kameran asetukset" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "" #: src/minoltamn.cpp:99 #, fuzzy msgid "Camera Settings (7D)" msgstr "Kameran asetukset" #: src/minoltamn.cpp:100 msgid "Camera Settings (for Dynax 7D model)" msgstr "" #: src/minoltamn.cpp:102 #, fuzzy msgid "Image Stabilization Data" msgstr "Kuvan vakautus" #: src/minoltamn.cpp:103 #, fuzzy msgid "Image stabilization data" msgstr "Kuvan vakautus" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "" #: src/minoltamn.cpp:111 #, fuzzy msgid "Compressed Image Size" msgstr "Kuvan koko" #: src/minoltamn.cpp:112 msgid "Compressed image size" msgstr "" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 #, fuzzy msgid "Thumbnail Offset" msgstr "Näytekuvat" #: src/minoltamn.cpp:118 msgid "Offset of the thumbnail" msgstr "" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 #, fuzzy msgid "Thumbnail Length" msgstr "Näytekuva" #: src/minoltamn.cpp:121 #, fuzzy msgid "Size of the thumbnail" msgstr "Tallennetaan näytekuvaa" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 #, fuzzy msgid "Scene Mode" msgstr "Linssin malli" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 #, fuzzy msgid "Color Mode" msgstr "Väriavaruus" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #, fuzzy msgid "Color mode" msgstr "Väriavaruus" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 #, fuzzy msgid "Image Quality" msgstr "Kuvan laatu" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 msgid "Flash Exposure Compensation" msgstr "" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 msgid "Flash exposure compensation in EV" msgstr "" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 msgid "Teleconverter Model" msgstr "" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 msgid "Zone Matching" msgstr "" #: src/minoltamn.cpp:154 msgid "Zone matching" msgstr "" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 #, fuzzy msgid "Color temperature" msgstr "Väriavaruus" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 #, fuzzy msgid "Lens ID" msgstr "Linssi" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 #, fuzzy msgid "Lens identifier" msgstr "Linssin ominaisuudet" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 msgid "Color Compensation Filter" msgstr "" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 #, fuzzy msgid "White Balance Fine Tune" msgstr "Valkotasapaino" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 #, fuzzy msgid "White Balance Fine Tune Value" msgstr " " #: src/minoltamn.cpp:168 #, fuzzy msgid "Image Stabilization A100" msgstr "Kuvan vakautus" #: src/minoltamn.cpp:169 #, fuzzy msgid "Image Stabilization for the Sony DSLR-A100" msgstr "Kuvan vakautus" #: src/minoltamn.cpp:173 #, fuzzy msgid "Camera Settings (5D)" msgstr "Kameran asetukset" #: src/minoltamn.cpp:174 msgid "Camera Settings (for Dynax 5D model)" msgstr "" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 msgid "PrintIM information" msgstr "" #: src/minoltamn.cpp:183 #, fuzzy msgid "Camera Settings (Z1)" msgstr "Kameran asetukset" #: src/minoltamn.cpp:184 msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "" #: src/minoltamn.cpp:188 msgid "Unknown Minolta MakerNote tag" msgstr "" #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 msgid "Aperture priority" msgstr "" #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 #, fuzzy msgid "Fill flash" msgstr "Salama" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 msgid "Rear flash sync" msgstr "" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 #, fuzzy msgid "Wireless" msgstr "Päällä, langaton" #: src/minoltamn.cpp:224 #, fuzzy msgid "Fluorescent 2" msgstr "Valkoinen loisteputki" #: src/minoltamn.cpp:231 #, fuzzy msgid "Full size" msgstr "Tiedoston koko" #: src/minoltamn.cpp:243 msgid "Super fine" msgstr "" #: src/minoltamn.cpp:247 msgid "Extra fine" msgstr "" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 #, fuzzy msgid "Single Frame" msgstr "Tiedostonimi" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 msgid "Self-timer" msgstr "" #: src/minoltamn.cpp:255 #, fuzzy msgid "Bracketing" msgstr "Makrotila" #: src/minoltamn.cpp:256 #, fuzzy msgid "Interval" msgstr "Sisäinen salama" #: src/minoltamn.cpp:257 msgid "UHS continuous" msgstr "" #: src/minoltamn.cpp:258 msgid "HS continuous" msgstr "" #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 msgid "Multi-segment" msgstr "" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 #, fuzzy msgid "Center weighted average" msgstr "Keskustaa painottava" #: src/minoltamn.cpp:271 msgid "Electronic magnification" msgstr "" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 msgid "Top" msgstr "" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 #, fuzzy msgid "Top-right" msgstr "Omistusoikeus" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 msgid "Bottom-right" msgstr "" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 msgid "Bottom" msgstr "" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 msgid "Bottom-left" msgstr "" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 msgid "Top-left" msgstr "" #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 msgid "Hard" msgstr "" #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 #, fuzzy msgid "Soft" msgstr "Piste" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 #, fuzzy msgid "Night portrait" msgstr "Muotokuva" #: src/minoltamn.cpp:315 #, fuzzy msgid "Sports action" msgstr "Urheilukuva" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "" #: src/minoltamn.cpp:349 msgid "Standard form" msgstr "" #: src/minoltamn.cpp:350 msgid "Data form" msgstr "" #: src/minoltamn.cpp:355 msgid "Natural color" msgstr "" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 #, fuzzy msgid "Black and white" msgstr "Mustavalko" #: src/minoltamn.cpp:357 msgid "Vivid color" msgstr "" #: src/minoltamn.cpp:364 #, fuzzy msgid "No zone" msgstr "Ei käytössä" #: src/minoltamn.cpp:365 msgid "Center zone (horizontal orientation)" msgstr "" #: src/minoltamn.cpp:366 msgid "Center zone (vertical orientation)" msgstr "" #: src/minoltamn.cpp:367 msgid "Left zone" msgstr "" #: src/minoltamn.cpp:368 msgid "Right zone" msgstr "" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 #, fuzzy msgid "Auto focus" msgstr "Vaihtuva tarkennus, AF" #: src/minoltamn.cpp:379 msgid "Wide focus (normal)" msgstr "" #: src/minoltamn.cpp:380 #, fuzzy msgid "Spot focus" msgstr "Käytetty AF-piste" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 #, fuzzy msgid "Exposure" msgstr "Valotuksen korjaus" #: src/minoltamn.cpp:388 msgid "Filter" msgstr "" #: src/minoltamn.cpp:393 msgid "Not embedded" msgstr "" #: src/minoltamn.cpp:394 msgid "Embedded" msgstr "" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "" #: src/minoltamn.cpp:410 #, fuzzy msgid "Manual flash control" msgstr "Täysautomatiikka" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 msgid "Exposure Mode" msgstr "Valotustila" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 #, fuzzy msgid "Flash mode" msgstr "Salaman malli" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 #, fuzzy msgid "Drive mode" msgstr "Kameran malli" #: src/minoltamn.cpp:512 #, fuzzy msgid "ISO Value" msgstr "ISO-herkkyys" #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 msgid "Exposure Time" msgstr "Valotusaika" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 msgid "FNumber" msgstr "F-luku" #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 msgid "The F-Number" msgstr "F-luku" #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 msgid "Macro Mode" msgstr "Makrotila" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 #, fuzzy msgid "Exposure Compensation" msgstr "Valotustila" #: src/minoltamn.cpp:529 #, fuzzy msgid "Bracket Step" msgstr "Makrotila" #: src/minoltamn.cpp:530 #, fuzzy msgid "Bracket step" msgstr "Makrotila" #: src/minoltamn.cpp:532 #, fuzzy msgid "Interval Length" msgstr "Polttoväli" #: src/minoltamn.cpp:533 #, fuzzy msgid "Interval length" msgstr "Sisäinen salama" #: src/minoltamn.cpp:535 #, fuzzy msgid "Interval Number" msgstr "Sarjanumero" #: src/minoltamn.cpp:536 #, fuzzy msgid "Interval number" msgstr "Linssin sarjanumero" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 #, fuzzy msgid "Focus Distance" msgstr "Kohteen etäisyys" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 #, fuzzy msgid "Focus distance" msgstr "Kohteen etäisyys" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 #, fuzzy msgid "Flash Fired" msgstr "Salamavalotuksen korjaus" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 #, fuzzy msgid "Flash fired" msgstr "Salamavalotuksen korjaus" #: src/minoltamn.cpp:547 msgid "Minolta Date" msgstr "" #: src/minoltamn.cpp:548 msgid "Minolta date" msgstr "" #: src/minoltamn.cpp:550 msgid "Minolta Time" msgstr "" #: src/minoltamn.cpp:551 msgid "Minolta time" msgstr "" #: src/minoltamn.cpp:556 #, fuzzy msgid "File Number Memory" msgstr "F-luku" #: src/minoltamn.cpp:557 #, fuzzy msgid "File number memory" msgstr "Tiedostonimi" #: src/minoltamn.cpp:559 #, fuzzy msgid "Last Image Number" msgstr "Kuvan numero" #: src/minoltamn.cpp:560 #, fuzzy msgid "Last image number" msgstr "Kuvan numero" #: src/minoltamn.cpp:562 #, fuzzy msgid "Color Balance Red" msgstr "Väriavaruus" #: src/minoltamn.cpp:563 #, fuzzy msgid "Color balance red" msgstr "Väriavaruus" #: src/minoltamn.cpp:565 #, fuzzy msgid "Color Balance Green" msgstr "Väriavaruus" #: src/minoltamn.cpp:566 #, fuzzy msgid "Color balance green" msgstr "Väriavaruus" #: src/minoltamn.cpp:568 #, fuzzy msgid "Color Balance Blue" msgstr "Väriavaruus" #: src/minoltamn.cpp:569 #, fuzzy msgid "Color balance blue" msgstr "Väriavaruus" #: src/minoltamn.cpp:580 #, fuzzy msgid "Subject Program" msgstr "Kuvaustapa" #: src/minoltamn.cpp:581 msgid "Subject program" msgstr "" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 #, fuzzy msgid "ISO Settings" msgstr "Asetukset" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 #, fuzzy msgid "ISO setting" msgstr "Asetukset" #: src/minoltamn.cpp:589 #, fuzzy msgid "Minolta Model" msgstr "Salaman malli" #: src/minoltamn.cpp:590 #, fuzzy msgid "Minolta model" msgstr "Salaman malli" #: src/minoltamn.cpp:592 #, fuzzy msgid "Interval Mode" msgstr "Sisäinen salama" #: src/minoltamn.cpp:593 #, fuzzy msgid "Interval mode" msgstr "Kameran malli" #: src/minoltamn.cpp:595 #, fuzzy msgid "Folder Name" msgstr "Tiedostonimi" #: src/minoltamn.cpp:596 #, fuzzy msgid "Folder name" msgstr "Tiedostonimi" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 #, fuzzy msgid "ColorMode" msgstr "Väriavaruus" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 #, fuzzy msgid "Color Filter" msgstr "Väriavaruus" #: src/minoltamn.cpp:602 #, fuzzy msgid "Color filter" msgstr "Väriavaruus" #: src/minoltamn.cpp:604 #, fuzzy msgid "Black and White Filter" msgstr "Mustavalkoinen" #: src/minoltamn.cpp:605 #, fuzzy msgid "Black and white filter" msgstr "Mustavalko" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 #, fuzzy msgid "Internal Flash" msgstr "Sisäinen salama" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 msgid "Brightness" msgstr "" #: src/minoltamn.cpp:613 msgid "Spot Focus Point X" msgstr "" #: src/minoltamn.cpp:614 msgid "Spot focus point X" msgstr "" #: src/minoltamn.cpp:616 msgid "Spot Focus Point Y" msgstr "" #: src/minoltamn.cpp:617 msgid "Spot focus point Y" msgstr "" #: src/minoltamn.cpp:619 #, fuzzy msgid "Wide Focus Zone" msgstr "Tarkennustapa" #: src/minoltamn.cpp:620 msgid "Wide focus zone" msgstr "" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 #, fuzzy msgid "Focus mode" msgstr "Tarkennustapa" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 #, fuzzy msgid "Focus area" msgstr "Tarkennustapa" #: src/minoltamn.cpp:628 msgid "DEC Switch Position" msgstr "" #: src/minoltamn.cpp:629 msgid "DEC switch position" msgstr "" #: src/minoltamn.cpp:631 #, fuzzy msgid "Color Profile" msgstr "Väriavaruus" #: src/minoltamn.cpp:632 #, fuzzy msgid "Color profile" msgstr "Väriavaruus" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 msgid "Data Imprint" msgstr "" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 #, fuzzy msgid "Flash Metering" msgstr "Salaman tila" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 #, fuzzy msgid "Flash metering" msgstr "Salaman tyyppi" #: src/minoltamn.cpp:642 #, fuzzy msgid "Unknown Minolta Camera Settings tag" msgstr "Kameran asetukset" #: src/minoltamn.cpp:660 #, fuzzy msgid "Program-shift A" msgstr "Ohjelma" #: src/minoltamn.cpp:661 #, fuzzy msgid "Program-shift S" msgstr "Ohjelma" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 #, fuzzy msgid "Raw+Jpeg" msgstr "Kuvan koko" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 msgid "Kelvin" msgstr "" #: src/minoltamn.cpp:695 #, fuzzy msgid "Single-shot AF" msgstr "Kertatarkennus, AF" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 msgid "Continuous AF" msgstr "" #: src/minoltamn.cpp:698 msgid "Automatic AF" msgstr "" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 msgid "sRGB (Natural)" msgstr "" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 msgid "sRGB (Natural+)" msgstr "" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 msgid "Horizontal (normal)" msgstr "" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "" #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "" #: src/minoltamn.cpp:756 #, fuzzy msgid "AF Points" msgstr "AF-piste" #: src/minoltamn.cpp:757 #, fuzzy msgid "AF points" msgstr "AF-piste" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 msgid "Color Space" msgstr "Väriavaruus" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 msgid "Color space" msgstr "Väriavaruus" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 msgid "Free Memory Card Images" msgstr "" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 msgid "Free memory card images" msgstr "" #: src/minoltamn.cpp:789 msgid "Hue" msgstr "" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 #, fuzzy msgid "Rotation" msgstr "Värikylläisyys" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 msgid "Image Number" msgstr "Kuvan numero" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 #, fuzzy msgid "Noise reduction" msgstr "Päällä, punasilmäisyyden esto" #: src/minoltamn.cpp:817 msgid "Zone Matching On" msgstr "" #: src/minoltamn.cpp:818 msgid "Zone matching on" msgstr "" #: src/minoltamn.cpp:822 msgid "Unknown Minolta Camera Settings 7D tag" msgstr "" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 #, fuzzy msgid "Program Shift A" msgstr "Ohjelma" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 #, fuzzy msgid "Program Shift S" msgstr "Ohjelma" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 msgid "Night View/Portrait" msgstr "" #: src/minoltamn.cpp:895 msgid "200 (Zone Matching High)" msgstr "" #: src/minoltamn.cpp:896 msgid "80 (Zone Matching Low)" msgstr "" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 msgid "Adobe RGB (ICC)" msgstr "" #: src/minoltamn.cpp:918 #, fuzzy msgid "Central" msgstr "Neutraali" #: src/minoltamn.cpp:919 msgid "Up" msgstr "" #: src/minoltamn.cpp:920 #, fuzzy msgid "Up right" msgstr "Omistusoikeus" #: src/minoltamn.cpp:922 #, fuzzy msgid "Down right" msgstr "Omistusoikeus" #: src/minoltamn.cpp:923 msgid "Down" msgstr "" #: src/minoltamn.cpp:924 msgid "Down left" msgstr "" #: src/minoltamn.cpp:926 msgid "Up left" msgstr "" #: src/minoltamn.cpp:932 msgid "Selection" msgstr "" #: src/minoltamn.cpp:947 #, fuzzy msgid "Natural+" msgstr "Neutraali" #: src/minoltamn.cpp:949 #, fuzzy msgid "Wind Scene" msgstr "Linssi" #: src/minoltamn.cpp:950 msgid "Evening Scene" msgstr "" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus Position" msgstr "" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus position" msgstr "" #: src/minoltamn.cpp:1003 #, fuzzy msgid "Focus Area" msgstr "Tarkennustapa" #: src/minoltamn.cpp:1036 #, fuzzy msgid "Exposure Revision" msgstr "Valotuksen korjaus" #: src/minoltamn.cpp:1037 #, fuzzy msgid "Exposure revision" msgstr "Valotuksen korjaus" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 #, fuzzy msgid "Rotation2" msgstr "Värikylläisyys" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 #, fuzzy msgid "Picture Finish" msgstr "Kuvan tiedot" #: src/minoltamn.cpp:1063 #, fuzzy msgid "Exposure Manual Bias" msgstr "Valotuksen korjaus" #: src/minoltamn.cpp:1064 #, fuzzy msgid "Exposure manual bias" msgstr "Valotuksen korjaus" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 #, fuzzy msgid "AF Mode" msgstr "Salaman tila" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 #, fuzzy msgid "AF mode" msgstr "Kameran malli" #: src/minoltamn.cpp:1087 msgid "Unknown Minolta Camera Settings 5D tag" msgstr "" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 msgid "Self-timer 10 sec" msgstr "" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 msgid "Self-timer 2 sec" msgstr "" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 #, fuzzy msgid "White Balance Bracketing Low" msgstr " " #: src/minoltamn.cpp:1105 #, fuzzy msgid "White Balance Bracketing High" msgstr " " #: src/minoltamn.cpp:1106 msgid "Single-frame Bracketing Low" msgstr "" #: src/minoltamn.cpp:1107 msgid "Continuous Bracketing Low" msgstr "" #: src/minoltamn.cpp:1108 msgid "Single-frame Bracketing High" msgstr "" #: src/minoltamn.cpp:1109 msgid "Continuous Bracketing High" msgstr "" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 msgid "Continuous Bracketing" msgstr "" #: src/minoltamn.cpp:1156 msgid "Single-Frame Bracketing" msgstr "" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 #, fuzzy msgid "White Balance Bracketing" msgstr "Valkotasapaino" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 #, fuzzy msgid "Preset" msgstr "Esikatselu" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 msgid "Color Temperature/Color Filter" msgstr "" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 #, fuzzy msgid "Temperature" msgstr "Aukko" #: src/minoltamn.cpp:1213 #, fuzzy msgid "Setup" msgstr "Aseta" #: src/minoltamn.cpp:1214 msgid "Recall" msgstr "" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "" #: src/minoltamn.cpp:1232 #, fuzzy msgid "Image and Information" msgstr "Kuvan vakautus" #: src/minoltamn.cpp:1233 #, fuzzy msgid "Image Only" msgstr "Kuvan tyyppi" #: src/minoltamn.cpp:1234 #, fuzzy msgid "Image and Histogram" msgstr "Kuvan tyyppi" #: src/minoltamn.cpp:1240 #, fuzzy msgid "Fill Flash" msgstr "Salama" #: src/minoltamn.cpp:1251 #, fuzzy msgid "Focus Hold" msgstr "Tarkennustapa" #: src/minoltamn.cpp:1252 #, fuzzy msgid "DOF Preview" msgstr "Esikatselu" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "" #: src/minoltamn.cpp:1258 msgid "Toggle" msgstr "" #: src/minoltamn.cpp:1259 #, fuzzy msgid "Spot Hold" msgstr "Piste" #: src/minoltamn.cpp:1260 msgid "Spot Toggle" msgstr "" #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 msgid "Shutter Speed" msgstr "Valotusaika" #: src/minoltamn.cpp:1271 msgid "Ambient and Flash" msgstr "" #: src/minoltamn.cpp:1272 msgid "Ambient Only" msgstr "" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 msgid "Automatic" msgstr "" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 msgid "Auto-rotate" msgstr "" #: src/minoltamn.cpp:1291 msgid "Horizontal" msgstr "" #: src/minoltamn.cpp:1297 #, fuzzy msgid "Manual Rotate" msgstr "Käsintarkennus, MF" #: src/minoltamn.cpp:1302 msgid "Within Range" msgstr "" #: src/minoltamn.cpp:1303 msgid "Under/Over Range" msgstr "" #: src/minoltamn.cpp:1304 msgid "Out of Range" msgstr "" #: src/minoltamn.cpp:1309 msgid "Not Indicated" msgstr "" #: src/minoltamn.cpp:1310 msgid "Under Scale" msgstr "" #: src/minoltamn.cpp:1311 msgid "Bottom of Scale" msgstr "" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "" #: src/minoltamn.cpp:1330 #, fuzzy msgid "Over Scale" msgstr "Omistajan nimi" #: src/minoltamn.cpp:1335 msgid "AM" msgstr "" #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "" #: src/minoltamn.cpp:1342 msgid "Built-in" msgstr "" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 msgid "Very Low" msgstr "" #: src/minoltamn.cpp:1350 msgid "Half Full" msgstr "" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "" #: src/minoltamn.cpp:1359 msgid "Exposure Compensation Setting" msgstr "" #: src/minoltamn.cpp:1360 msgid "Exposure compensation setting" msgstr "" #: src/minoltamn.cpp:1362 msgid "High Speed Sync" msgstr "" #: src/minoltamn.cpp:1363 msgid "High speed sync" msgstr "" #: src/minoltamn.cpp:1365 #, fuzzy msgid "Manual Exposure Time" msgstr "Valotusaika" #: src/minoltamn.cpp:1366 #, fuzzy msgid "Manual exposure time" msgstr "Valotusaika" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 #, fuzzy msgid "Manual FNumber" msgstr "Sarjanumero" #: src/minoltamn.cpp:1377 msgid "Drive Mode 2" msgstr "" #: src/minoltamn.cpp:1378 msgid "Drive mode 2" msgstr "" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 #, fuzzy msgid "AF Area Mode" msgstr "Salaman tila" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 #, fuzzy msgid "FlashMode" msgstr "Salaman tila" #: src/minoltamn.cpp:1395 msgid "Flash Exposure Comp Setting" msgstr "" #: src/minoltamn.cpp:1396 msgid "Flash exposure compensation setting" msgstr "" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 #, fuzzy msgid "ISO Setting" msgstr "Asetukset" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 #, fuzzy msgid "Zone Matching Mode" msgstr "Mittaustapa" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 msgid "Dynamic Range Optimizer Mode" msgstr "" #: src/minoltamn.cpp:1408 msgid "Dynamic range optimizer mode" msgstr "" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "" #: src/minoltamn.cpp:1434 msgid "Self Timer Time" msgstr "" #: src/minoltamn.cpp:1435 msgid "Self timer time" msgstr "" #: src/minoltamn.cpp:1438 msgid "Continuous bracketing" msgstr "" #: src/minoltamn.cpp:1440 msgid "Single Frame Bracketing" msgstr "" #: src/minoltamn.cpp:1441 msgid "Single frame bracketing" msgstr "" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 #, fuzzy msgid "White balance bracketing" msgstr " " #: src/minoltamn.cpp:1446 #, fuzzy msgid "White Balance Setting" msgstr "Valkotasapaino" #: src/minoltamn.cpp:1449 #, fuzzy msgid "Preset White Balance" msgstr "Valkotasapaino" #: src/minoltamn.cpp:1450 #, fuzzy msgid "Preset white balance" msgstr "Valkotasapaino" #: src/minoltamn.cpp:1452 #, fuzzy msgid "Color Temperature Setting" msgstr "Oma asetus (Kelvin)" #: src/minoltamn.cpp:1453 #, fuzzy msgid "Color temperature setting" msgstr "Oma asetus (Kelvin)" #: src/minoltamn.cpp:1455 #, fuzzy msgid "Custom WB Setting" msgstr "Kameran asetukset" #: src/minoltamn.cpp:1456 msgid "Custom WB setting" msgstr "" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 #, fuzzy msgid "Dynamic Range Optimizer Settings" msgstr "Kameran asetukset" #: src/minoltamn.cpp:1464 msgid "Custom WB Red Level" msgstr "" #: src/minoltamn.cpp:1465 msgid "Custom WB red level" msgstr "" #: src/minoltamn.cpp:1467 msgid "Custom WB Green Level" msgstr "" #: src/minoltamn.cpp:1468 msgid "Custom WB green level" msgstr "" #: src/minoltamn.cpp:1470 msgid "Custom WB Blue Level" msgstr "" #: src/minoltamn.cpp:1471 msgid "CustomWB blue level" msgstr "" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 msgid "Custom WB Error" msgstr "" #: src/minoltamn.cpp:1477 #, fuzzy msgid "White balance fine tune" msgstr " " #: src/minoltamn.cpp:1483 msgid "Color compensation filter" msgstr "" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 #, fuzzy msgid "Sony Image Size" msgstr "Kuvan koko" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "" #: src/minoltamn.cpp:1500 msgid "Eye Start AF" msgstr "" #: src/minoltamn.cpp:1501 #, fuzzy msgid "Eye start AF" msgstr "Kertatarkennus, AF" #: src/minoltamn.cpp:1503 #, fuzzy msgid "Red Eye Reduction" msgstr "Päällä, punasilmäisyyden esto" #: src/minoltamn.cpp:1504 #, fuzzy msgid "Red eye reduction" msgstr "Päällä, punasilmäisyyden esto" #: src/minoltamn.cpp:1506 #, fuzzy msgid "Flash Default" msgstr "Oletus" #: src/minoltamn.cpp:1507 #, fuzzy msgid "Flash default" msgstr "Salaman malli" #: src/minoltamn.cpp:1509 #, fuzzy msgid "Auto Bracket Order" msgstr "Makrotila" #: src/minoltamn.cpp:1510 #, fuzzy msgid "Auto bracket order" msgstr "Makrotila" #: src/minoltamn.cpp:1512 msgid "Focus Hold Button" msgstr "" #: src/minoltamn.cpp:1513 msgid "Focus hold button" msgstr "" #: src/minoltamn.cpp:1515 msgid "AEL Button" msgstr "" #: src/minoltamn.cpp:1516 msgid "AEL button" msgstr "" #: src/minoltamn.cpp:1518 msgid "Control Dial Set" msgstr "" #: src/minoltamn.cpp:1519 #, fuzzy msgid "Control dial set" msgstr "Kontrasti" #: src/minoltamn.cpp:1521 #, fuzzy msgid "Exposure Compensation Mode" msgstr "Valotustila" #: src/minoltamn.cpp:1522 #, fuzzy msgid "Exposure compensation mode" msgstr "Valotustila" #: src/minoltamn.cpp:1525 msgid "AF assist" msgstr "" #: src/minoltamn.cpp:1527 msgid "Card Shutter Lock" msgstr "" #: src/minoltamn.cpp:1528 msgid "Card shutter lock" msgstr "" #: src/minoltamn.cpp:1530 msgid "Lens Shutter Lock" msgstr "" #: src/minoltamn.cpp:1531 msgid "Lens shutter lock" msgstr "" #: src/minoltamn.cpp:1533 msgid "AF Area Illumination" msgstr "" #: src/minoltamn.cpp:1534 #, fuzzy msgid "AF area illumination" msgstr "Kameran malli" #: src/minoltamn.cpp:1536 msgid "Monitor Display Off" msgstr "" #: src/minoltamn.cpp:1537 msgid "Monitor display off" msgstr "" #: src/minoltamn.cpp:1539 msgid "Record Display" msgstr "" #: src/minoltamn.cpp:1540 msgid "Record display" msgstr "" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "" #: src/minoltamn.cpp:1545 #, fuzzy msgid "Exposure Indicator" msgstr "Valotuksen korjaus" #: src/minoltamn.cpp:1546 #, fuzzy msgid "Exposure indicator" msgstr "Valotuksen korjaus" #: src/minoltamn.cpp:1548 #, fuzzy msgid "AEL Exposure Indicator" msgstr "Valotuksen korjaus" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "" #: src/minoltamn.cpp:1551 msgid "Exposure Bracketing Indicator Last" msgstr "" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "" #: src/minoltamn.cpp:1557 msgid "Flash Exposure Indicator" msgstr "" #: src/minoltamn.cpp:1558 #, fuzzy msgid "Flash exposure indicator" msgstr "Valotuksen korjaus" #: src/minoltamn.cpp:1560 msgid "Flash Exposure Indicator Next" msgstr "" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1563 msgid "Flash Exposure Indicator Last" msgstr "" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1569 #, fuzzy msgid "Focus Mode Switch" msgstr "Tarkennustapa" #: src/minoltamn.cpp:1570 #, fuzzy msgid "Focus mode switch" msgstr "Tarkennustapa" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 msgid "Flash Type" msgstr "Salaman tyyppi" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 msgid "Flash type" msgstr "Salaman tyyppi" #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 #, fuzzy msgid "AE Lock" msgstr "Valotuksen lukitus" #: src/minoltamn.cpp:1585 msgid "Color compensation filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:1587 src/tags.cpp:766 msgid "Battery Level" msgstr "" #: src/minoltamn.cpp:1588 msgid "Battery level" msgstr "" #: src/minoltamn.cpp:1592 msgid "Unknown Sony Camera Settings A100 tag" msgstr "" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 #, fuzzy msgid "Clear" msgstr "vuosi" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 msgid "Deep" msgstr "" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 msgid "Light" msgstr "" #: src/minoltamn.cpp:1950 msgid "Night View" msgstr "" #: src/minoltamn.cpp:1951 msgid "Autumn Leaves" msgstr "" #: src/minoltamn.cpp:1990 msgid "Local" msgstr "" #: src/minoltamn.cpp:2005 #, fuzzy msgid "Top-Right" msgstr "Omistusoikeus" #: src/minoltamn.cpp:2007 msgid "Bottom-Right" msgstr "" #: src/minoltamn.cpp:2009 msgid "Bottom-Left" msgstr "" #: src/minoltamn.cpp:2011 msgid "Top-Left" msgstr "" #: src/minoltamn.cpp:2012 msgid "Far-Right" msgstr "" #: src/minoltamn.cpp:2013 #, fuzzy msgid "Far-Left" msgstr "Polttoväli" #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 msgid "Advanced Auto" msgstr "" #: src/minoltamn.cpp:2028 msgid "Advanced Level" msgstr "" #: src/minoltamn.cpp:2041 msgid "AF" msgstr "" #: src/minoltamn.cpp:2042 #, fuzzy msgid "Release" msgstr "Mallin ID" #: src/minoltamn.cpp:2054 msgid "RAW " msgstr "" #: src/minoltamn.cpp:2055 msgid "CRAW " msgstr "" #: src/minoltamn.cpp:2058 #, fuzzy msgid "RAW+JPEG" msgstr "Jpeg" #: src/minoltamn.cpp:2059 #, fuzzy msgid "CRAW+JPEG" msgstr "Jpeg" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "" #: src/minoltamn.cpp:2116 #, fuzzy msgid "Compressed Raw" msgstr "Pakkaus" #: src/minoltamn.cpp:2117 msgid "Compressed Raw + JPEG" msgstr "" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "" #: src/minoltamn.cpp:2132 msgid "Minolta AF 1.4x APO (D)" msgstr "" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "" #: src/minoltamn.cpp:2163 #, fuzzy msgid "ISO Setting Used" msgstr "ISO-herkkyys" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 msgid "High Key" msgstr "" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "" #: src/nikonmn.cpp:80 msgid "Extra High" msgstr "" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 msgid "Single area" msgstr "" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 msgid "Dynamic area" msgstr "" #: src/nikonmn.cpp:88 msgid "Dynamic area, closest subject" msgstr "" #: src/nikonmn.cpp:89 msgid "Group dynamic" msgstr "" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 msgid "Single area (wide)" msgstr "" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 msgid "Dynamic area (wide)" msgstr "" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 msgid "Upper-left" msgstr "" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 #, fuzzy msgid "Upper-right" msgstr "Omistusoikeus" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 msgid "Lower-left" msgstr "" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 #, fuzzy msgid "Lower-right" msgstr "Omistusoikeus" #: src/nikonmn.cpp:108 msgid "Left-most" msgstr "" #: src/nikonmn.cpp:109 msgid "Right-most" msgstr "" #: src/nikonmn.cpp:143 msgid "Fire, manual" msgstr "" #: src/nikonmn.cpp:144 #, fuzzy msgid "Fire, external" msgstr "Ulkoinen" #: src/nikonmn.cpp:145 msgid "Fire, commander mode" msgstr "" #: src/nikonmn.cpp:146 #, fuzzy msgid "Fire, TTL mode" msgstr "Kameran malli" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 #, fuzzy msgid "Delay" msgstr "Poista" #: src/nikonmn.cpp:153 #, fuzzy msgid "PC Control" msgstr "Täysautomatiikka" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 #, fuzzy msgid "Exposure Bracketing" msgstr "Valotusaika" #: src/nikonmn.cpp:156 msgid "Auto ISO" msgstr "" #: src/nikonmn.cpp:157 #, fuzzy msgid "White-Balance Bracketing" msgstr "Valkotasapaino" #: src/nikonmn.cpp:158 #, fuzzy msgid "IR Control" msgstr "Täysautomatiikka" #: src/nikonmn.cpp:159 #, fuzzy msgid "D-Lighting Bracketing" msgstr "Makrotila" #: src/nikonmn.cpp:166 #, fuzzy msgid "PC control" msgstr "Täysautomatiikka" #: src/nikonmn.cpp:167 #, fuzzy msgid "Exposure bracketing" msgstr "Valotuksen korjaus" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "" #: src/nikonmn.cpp:170 #, fuzzy msgid "IR control" msgstr "Täysautomatiikka" #: src/nikonmn.cpp:176 #, fuzzy msgid "Auto release" msgstr "Automaattinen" #: src/nikonmn.cpp:177 #, fuzzy msgid "Manual release" msgstr "Käsintarkennus, MF" #: src/nikonmn.cpp:182 #, fuzzy msgid "Lossy (type 1)" msgstr "Linssin tyyppi" #: src/nikonmn.cpp:183 src/tags.cpp:251 #, fuzzy msgid "Uncompressed" msgstr "Pakkaus" #: src/nikonmn.cpp:184 msgid "Lossless" msgstr "" #: src/nikonmn.cpp:185 #, fuzzy msgid "Lossy (type 2)" msgstr "Linssin tyyppi" #: src/nikonmn.cpp:191 msgid "B & W" msgstr "" #: src/nikonmn.cpp:193 msgid "Trim" msgstr "" #: src/nikonmn.cpp:194 #, fuzzy msgid "Small picture" msgstr "Pieni" #: src/nikonmn.cpp:195 msgid "D-Lighting" msgstr "" #: src/nikonmn.cpp:196 msgid "Red eye" msgstr "" #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 #, fuzzy msgid "Cyanotype" msgstr "Kameran tyyppi" #: src/nikonmn.cpp:198 msgid "Sky light" msgstr "" #: src/nikonmn.cpp:199 msgid "Warm tone" msgstr "" #: src/nikonmn.cpp:200 #, fuzzy msgid "Color custom" msgstr "Väriavaruus" #: src/nikonmn.cpp:201 #, fuzzy msgid "Image overlay" msgstr "Kuvan tyyppi" #: src/nikonmn.cpp:207 #, fuzzy msgid "Minimal" msgstr "Manuaalinen" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 #, fuzzy msgid "Nikon Makernote version" msgstr "Firmwaren versio" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 msgid "ISO Speed" msgstr "ISO-herkkyys" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 #, fuzzy msgid "Sharpening" msgstr "Varoitus" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 msgid "Image sharpening setting" msgstr "" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 #, fuzzy msgid "Focus" msgstr "Tarkennustapa" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 #, fuzzy msgid "Flash Setting" msgstr "Asetukset" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 #, fuzzy msgid "Flash setting" msgstr "Salamavalotuksen korjaus" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 #, fuzzy msgid "ISO Selection" msgstr "ISO-herkkyys" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 #, fuzzy msgid "ISO selection" msgstr "ISO-herkkyys" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data Dump" msgstr "" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data dump" msgstr "" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 #, fuzzy msgid "Image Adjustment" msgstr "Kuvan aikaleima" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 msgid "Image adjustment setting" msgstr "" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 msgid "Auxiliary lens (adapter)" msgstr "" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 #, fuzzy msgid "Manual focus distance" msgstr "Käsintarkennus, MF" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 #, fuzzy msgid "Digital zoom setting" msgstr "Digitaalinen zoom" #: src/nikonmn.cpp:260 msgid "AF Focus Position" msgstr "" #: src/nikonmn.cpp:261 msgid "AF focus position information" msgstr "" #: src/nikonmn.cpp:265 msgid "Unknown Nikon1MakerNote tag" msgstr "" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 msgid "Continuous autofocus" msgstr "" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 msgid "Single autofocus" msgstr "" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 msgid "Not used" msgstr "" #: src/nikonmn.cpp:371 msgid "guess" msgstr "" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "" #: src/nikonmn.cpp:419 #, fuzzy msgid "VGA Normal" msgstr "Normaali" #: src/nikonmn.cpp:420 msgid "VGA Fine" msgstr "" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "" #: src/nikonmn.cpp:422 #, fuzzy msgid "SXGA Normal" msgstr "Normaali" #: src/nikonmn.cpp:423 msgid "SXGA Fine" msgstr "" #: src/nikonmn.cpp:435 #, fuzzy msgid "Bright+" msgstr "Omistusoikeus" #: src/nikonmn.cpp:436 #, fuzzy msgid "Bright-" msgstr "Omistusoikeus" #: src/nikonmn.cpp:437 #, fuzzy msgid "Contrast+" msgstr "Kontrasti" #: src/nikonmn.cpp:438 #, fuzzy msgid "Contrast-" msgstr "Kontrasti" #: src/nikonmn.cpp:457 msgid "Speedlight" msgstr "" #: src/nikonmn.cpp:497 msgid "Unknown Nikon2MakerNote tag" msgstr "" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 #, fuzzy msgid "Flash Device" msgstr "Salaman malli" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 #, fuzzy msgid "Flash device" msgstr "Salaman malli" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 #, fuzzy msgid "White Balance Bias" msgstr "Valkotasapaino" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 #, fuzzy msgid "White balance bias" msgstr "Valkotasapaino" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB Levels" msgstr "" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB levels" msgstr "" #: src/nikonmn.cpp:544 #, fuzzy msgid "Program Shift" msgstr "Ohjelma" #: src/nikonmn.cpp:544 #, fuzzy msgid "Program shift" msgstr "Ohjelman versio" #: src/nikonmn.cpp:545 #, fuzzy msgid "Exposure Difference" msgstr "Valotusaika" #: src/nikonmn.cpp:545 #, fuzzy msgid "Exposure difference" msgstr "Valotustila" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 msgid "Pointer to a preview image" msgstr "" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 msgid "Offset to an IFD containing a preview image" msgstr "" #: src/nikonmn.cpp:549 #, fuzzy msgid "Flash Comp" msgstr "Salaman tila" #: src/nikonmn.cpp:549 msgid "Flash compensation setting" msgstr "" #: src/nikonmn.cpp:551 #, fuzzy msgid "Image Boundary" msgstr "Kuvan laatu" #: src/nikonmn.cpp:551 #, fuzzy msgid "Image boundary" msgstr "Kuvan laatu" #: src/nikonmn.cpp:552 msgid "Flash exposure comp" msgstr "" #: src/nikonmn.cpp:553 #, fuzzy msgid "Flash Bracket Comp" msgstr "Makrotila" #: src/nikonmn.cpp:553 msgid "Flash bracket compensation applied" msgstr "" #: src/nikonmn.cpp:554 #, fuzzy msgid "Exposure Bracket Comp" msgstr "Kuvaustapa" #: src/nikonmn.cpp:554 msgid "AE bracket compensation applied" msgstr "" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 #, fuzzy msgid "Image Processing" msgstr "Kuvan koko" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 #, fuzzy msgid "Image processing" msgstr "Kuvan koko" #: src/nikonmn.cpp:556 msgid "Crop High Speed" msgstr "" #: src/nikonmn.cpp:556 msgid "Crop high speed" msgstr "" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure Tuning" msgstr "Valotusaika" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure tuning" msgstr "Valotusaika" #: src/nikonmn.cpp:560 msgid "VR Info" msgstr "" #: src/nikonmn.cpp:560 msgid "VR info" msgstr "" #: src/nikonmn.cpp:561 #, fuzzy msgid "Image Authentication" msgstr "Kuvan vakautus" #: src/nikonmn.cpp:561 #, fuzzy msgid "Image authentication" msgstr "Kuvan vakautus" #: src/nikonmn.cpp:562 msgid "ActiveD-Lighting" msgstr "" #: src/nikonmn.cpp:562 msgid "ActiveD-lighting" msgstr "" #: src/nikonmn.cpp:563 #, fuzzy msgid "Picture Control" msgstr "Kuvan tiedot" #: src/nikonmn.cpp:563 #, fuzzy msgid " Picture control" msgstr "Kuvan tiedot" #: src/nikonmn.cpp:564 src/properties.cpp:1387 #, fuzzy msgid "World Time" msgstr "Valotusaika" #: src/nikonmn.cpp:564 #, fuzzy msgid "World time" msgstr "Valotusaika" #: src/nikonmn.cpp:565 msgid "ISO Info" msgstr "" #: src/nikonmn.cpp:565 msgid "ISO info" msgstr "" #: src/nikonmn.cpp:566 msgid "Vignette Control" msgstr "" #: src/nikonmn.cpp:566 msgid "Vignette control" msgstr "" #: src/nikonmn.cpp:568 #, fuzzy msgid "Tone Compensation" msgstr "Pakkaus" #: src/nikonmn.cpp:568 msgid "Tone compensation" msgstr "" #: src/nikonmn.cpp:574 msgid "Mode of flash used" msgstr "" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 #, fuzzy msgid "Shooting Mode" msgstr "Mittaustapa" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 #, fuzzy msgid "Shooting mode" msgstr "Mittaustapa" #: src/nikonmn.cpp:577 msgid "Auto Bracket Release" msgstr "" #: src/nikonmn.cpp:577 msgid "Auto bracket release" msgstr "" #: src/nikonmn.cpp:578 #, fuzzy msgid "Lens FStops" msgstr "Linssin tyyppi" #: src/nikonmn.cpp:579 #, fuzzy msgid "Contrast Curve" msgstr "Kontrasti" #: src/nikonmn.cpp:579 #, fuzzy msgid "Contrast curve" msgstr "Kontrasti" #: src/nikonmn.cpp:580 #, fuzzy msgid "Color Hue" msgstr "Väriavaruus" #: src/nikonmn.cpp:580 #, fuzzy msgid "Color hue" msgstr "Väriavaruus" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 #, fuzzy msgid "Scene mode" msgstr "Mittaustapa" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 #, fuzzy msgid "Light Source" msgstr "Kuvalähde" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 #, fuzzy msgid "Light source" msgstr "Kuvalähde" #: src/nikonmn.cpp:583 msgid "Shot info" msgstr "" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 msgid "Hue Adjustment" msgstr "" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 msgid "Hue adjustment" msgstr "" #: src/nikonmn.cpp:585 #, fuzzy msgid "NEF Compression" msgstr "Pakkaus" #: src/nikonmn.cpp:585 #, fuzzy msgid "NEF compression" msgstr "Pakkaus" #: src/nikonmn.cpp:588 src/tags.cpp:905 msgid "Linearization Table" msgstr "" #: src/nikonmn.cpp:588 msgid "Linearization table" msgstr "" #: src/nikonmn.cpp:589 #, fuzzy msgid "Color Balance" msgstr "Väriavaruus" #: src/nikonmn.cpp:589 #, fuzzy msgid "Color balance" msgstr "Väriavaruus" #: src/nikonmn.cpp:590 #, fuzzy msgid "Lens Data" msgstr "Linssin tyyppi" #: src/nikonmn.cpp:590 #, fuzzy msgid "Lens data settings" msgstr "Kameran asetukset" #: src/nikonmn.cpp:591 #, fuzzy msgid "Raw Image Center" msgstr "Kuvan numero" #: src/nikonmn.cpp:591 msgid "Raw image center" msgstr "" #: src/nikonmn.cpp:592 msgid "Sensor Pixel Size" msgstr "" #: src/nikonmn.cpp:592 msgid "Sensor pixel size" msgstr "" #: src/nikonmn.cpp:594 msgid "Scene Assist" msgstr "" #: src/nikonmn.cpp:594 msgid "Scene assist" msgstr "" #: src/nikonmn.cpp:595 #, fuzzy msgid "Retouch History" msgstr "Kuvan tyyppi" #: src/nikonmn.cpp:595 msgid "Retouch history" msgstr "" #: src/nikonmn.cpp:597 #, fuzzy msgid "Serial NO" msgstr "Sarjanumero" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "" #: src/nikonmn.cpp:598 #, fuzzy msgid "Image Data Size" msgstr "Kuvan koko" #: src/nikonmn.cpp:598 #, fuzzy msgid "Image data size" msgstr "Kuvan koko" #: src/nikonmn.cpp:600 #, fuzzy msgid "Image Count" msgstr "Kuvan laatu" #: src/nikonmn.cpp:600 #, fuzzy msgid "Image count" msgstr "Kuvan laatu" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted Image Count" msgstr "" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted image count" msgstr "" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 #, fuzzy msgid "Shutter Count" msgstr "Valotusajan esivalinta (Tv)" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "" #: src/nikonmn.cpp:603 #, fuzzy msgid "Flash info" msgstr "Salamavalotuksen korjaus" #: src/nikonmn.cpp:604 #, fuzzy msgid "Image Optimization" msgstr "Kuvan vakautus" #: src/nikonmn.cpp:604 #, fuzzy msgid "Image optimization" msgstr "Kuvan vakautus" #: src/nikonmn.cpp:606 #, fuzzy msgid "Program Variation" msgstr "Ohjelman versio" #: src/nikonmn.cpp:606 #, fuzzy msgid "Program variation" msgstr "Ohjelman versio" #: src/nikonmn.cpp:608 #, fuzzy msgid "AF Response" msgstr "Käytetty AF-piste" #: src/nikonmn.cpp:608 #, fuzzy msgid "AF response" msgstr "Käytetty AF-piste" #: src/nikonmn.cpp:609 #, fuzzy msgid "Multi exposure" msgstr "Automaattivalotus" #: src/nikonmn.cpp:610 msgid "High ISO Noise Reduction" msgstr "" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 msgid "Toning effect" msgstr "" #: src/nikonmn.cpp:612 msgid "AF info 2" msgstr "" #: src/nikonmn.cpp:613 #, fuzzy msgid "File info" msgstr "Tiedostonimi" #: src/nikonmn.cpp:614 #, fuzzy msgid "AF tune" msgstr "Käytetty AF-piste" #: src/nikonmn.cpp:617 msgid "Capture Data" msgstr "" #: src/nikonmn.cpp:617 msgid "Capture data" msgstr "" #: src/nikonmn.cpp:618 #, fuzzy msgid "Capture Version" msgstr "Firmwaren versio" #: src/nikonmn.cpp:618 #, fuzzy msgid "Capture version" msgstr "Firmwaren versio" #: src/nikonmn.cpp:620 msgid "Capture Offsets" msgstr "" #: src/nikonmn.cpp:620 msgid "Capture offsets" msgstr "" #: src/nikonmn.cpp:621 msgid "Scan IFD" msgstr "" #: src/nikonmn.cpp:622 msgid "ICC profile" msgstr "" #: src/nikonmn.cpp:623 msgid "Capture output" msgstr "" #: src/nikonmn.cpp:625 msgid "Unknown Nikon3MakerNote tag" msgstr "" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 #, fuzzy msgid "No" msgstr "Ei käytössä" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration Reduction" msgstr "" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration reduction" msgstr "" #: src/nikonmn.cpp:657 msgid "Unknown Nikon Vibration Reduction Tag" msgstr "" #: src/nikonmn.cpp:667 #, fuzzy msgid "Default Settings" msgstr "Kameran asetukset" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 msgid "Quick Adjust" msgstr "" #: src/nikonmn.cpp:669 #, fuzzy msgid "Full Control" msgstr "Täysautomatiikka" #: src/nikonmn.cpp:690 msgid "Blue-green" msgstr "" #: src/nikonmn.cpp:692 msgid "Purple-blue" msgstr "" #: src/nikonmn.cpp:693 msgid "Red-purple" msgstr "" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 msgid "Name" msgstr "" #: src/nikonmn.cpp:701 msgid "Base" msgstr "" #: src/nikonmn.cpp:702 msgid "Adjust" msgstr "" #: src/nikonmn.cpp:703 msgid "Quick adjust" msgstr "" #: src/nikonmn.cpp:709 msgid "Filter effect" msgstr "" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning Saturation" msgstr "Värikylläisyys" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning saturation" msgstr "Värikylläisyys" #: src/nikonmn.cpp:713 msgid "Unknown Nikon Picture Control Tag" msgstr "" #: src/nikonmn.cpp:730 #, fuzzy msgid "AF Fine Tune" msgstr "Käytetty AF-piste" #: src/nikonmn.cpp:730 #, fuzzy msgid "AF fine tune" msgstr "Käytetty AF-piste" #: src/nikonmn.cpp:731 #, fuzzy msgid "AF Fine Tune Index" msgstr "Käytetty AF-piste" #: src/nikonmn.cpp:731 #, fuzzy msgid "AF fine tune index" msgstr "Käytetty AF-piste" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF Fine Tune Adjustment" msgstr "Käytetty AF-piste" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF fine tune adjustment" msgstr "Käytetty AF-piste" #: src/nikonmn.cpp:734 msgid "Unknown Nikon AF Fine Tune Tag" msgstr "" #: src/nikonmn.cpp:744 msgid "Timezone" msgstr "" #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight Savings" msgstr "Kameran asetukset" #: src/nikonmn.cpp:745 msgid "Daylight savings" msgstr "" #: src/nikonmn.cpp:746 msgid "Date Display Format" msgstr "" #: src/nikonmn.cpp:746 msgid "Date display format" msgstr "" #: src/nikonmn.cpp:748 msgid "Unknown Nikon World Time Tag" msgstr "" #: src/nikonmn.cpp:759 #, fuzzy msgid "Hi 0.3" msgstr "HV10" #: src/nikonmn.cpp:760 #, fuzzy msgid "Hi 0.5" msgstr "HV10" #: src/nikonmn.cpp:761 #, fuzzy msgid "Hi 0.7" msgstr "HV10" #: src/nikonmn.cpp:762 #, fuzzy msgid "Hi 1.0" msgstr "HV10" #: src/nikonmn.cpp:763 #, fuzzy msgid "Hi 1.3" msgstr "HV10" #: src/nikonmn.cpp:764 #, fuzzy msgid "Hi 1.5" msgstr "HV10" #: src/nikonmn.cpp:765 #, fuzzy msgid "Hi 1.7" msgstr "HV10" #: src/nikonmn.cpp:766 #, fuzzy msgid "Hi 2.0" msgstr "HV10" #: src/nikonmn.cpp:767 #, fuzzy msgid "Hi 2.3" msgstr "HV10" #: src/nikonmn.cpp:768 #, fuzzy msgid "Hi 2.5" msgstr "HV10" #: src/nikonmn.cpp:769 #, fuzzy msgid "Hi 2.7" msgstr "HV10" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "" #: src/nikonmn.cpp:778 #, fuzzy msgid "Lo 1.0" msgstr "HV10" #: src/nikonmn.cpp:784 msgid "ISO Expansion" msgstr "" #: src/nikonmn.cpp:784 msgid "ISO expansion" msgstr "" #: src/nikonmn.cpp:785 #, fuzzy msgid "ISO 2" msgstr "Päällä" #: src/nikonmn.cpp:786 msgid "ISO Expansion 2" msgstr "" #: src/nikonmn.cpp:786 msgid "ISO expansion 2" msgstr "" #: src/nikonmn.cpp:788 msgid "Unknown Nikon Iso Info Tag" msgstr "" #: src/nikonmn.cpp:798 msgid "Single Area" msgstr "" #: src/nikonmn.cpp:799 msgid "Dynamic Area" msgstr "" #: src/nikonmn.cpp:800 msgid "Dynamic Area, Closest Subject" msgstr "" #: src/nikonmn.cpp:801 msgid "Group Dynamic" msgstr "" #: src/nikonmn.cpp:802 msgid "Single Area (wide)" msgstr "" #: src/nikonmn.cpp:803 msgid "Dynamic Area (wide)" msgstr "" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 msgid "Mid-left" msgstr "" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 msgid "Mid-right" msgstr "" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 #, fuzzy msgid "Far Left" msgstr "Polttoväli" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 msgid "Far Right" msgstr "" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 #, fuzzy msgid "AF area mode" msgstr "Kameran malli" #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 #, fuzzy msgid "AF point" msgstr "AF-piste" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF Points In Focus" msgstr "Käytetty AF-piste" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF points in focus" msgstr "Käytetty AF-piste" #: src/nikonmn.cpp:842 msgid "Unknown Nikon Auto Focus Tag" msgstr "" #: src/nikonmn.cpp:853 msgid "On (51-point)" msgstr "" #: src/nikonmn.cpp:854 msgid "On (11-point)" msgstr "" #: src/nikonmn.cpp:855 #, fuzzy msgid "On (39-point)" msgstr "Päällä" #: src/nikonmn.cpp:856 #, fuzzy msgid "On (73-point)" msgstr "Päällä" #: src/nikonmn.cpp:857 msgid "On (73-point, new)" msgstr "" #: src/nikonmn.cpp:858 #, fuzzy msgid "On (105-point)" msgstr "Päällä" #: src/nikonmn.cpp:864 #, fuzzy msgid "Contrast Detect AF" msgstr "Kontrasti" #: src/nikonmn.cpp:864 #, fuzzy msgid "Contrast detect AF" msgstr "Kontrasti" #: src/nikonmn.cpp:866 msgid "Phase Detect AF" msgstr "" #: src/nikonmn.cpp:866 msgid "Phase detect AF" msgstr "" #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF Point" msgstr "AF-piste" #: src/nikonmn.cpp:867 msgid "Primary AF point" msgstr "" #: src/nikonmn.cpp:869 msgid "AF Image Width" msgstr "" #: src/nikonmn.cpp:869 msgid "AF image width" msgstr "" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF Image Height" msgstr "Kuvan tyyppi" #: src/nikonmn.cpp:870 msgid "AF image height" msgstr "" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF Area X Position" msgstr "Salaman tila" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF area x position" msgstr "Kameran malli" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF Area Y Position" msgstr "Salaman tila" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF area y position" msgstr "Kameran malli" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF Area Width" msgstr "Salaman tila" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF area width" msgstr "Kameran malli" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF Area Height" msgstr "Salaman tila" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF area height" msgstr "Kameran malli" #: src/nikonmn.cpp:875 msgid "Contrast Detect AF In Focus" msgstr "" #: src/nikonmn.cpp:875 msgid "Contrast detect AF in focus" msgstr "" #: src/nikonmn.cpp:877 msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory Number" msgstr "F-luku" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory number" msgstr "Tiedostonimi" #: src/nikonmn.cpp:891 msgid "Unknown Nikon File Info Tag" msgstr "" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 #, fuzzy msgid "Multiple Exposure" msgstr "Automaattivalotus" #: src/nikonmn.cpp:903 #, fuzzy msgid "Image Overlay" msgstr "Kuvan numero" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi Exposure Mode" msgstr "Valotustila" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi exposure mode" msgstr "Valotustila" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi Exposure Shots" msgstr "Automaattivalotus" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi exposure shots" msgstr "Automaattivalotus" #: src/nikonmn.cpp:911 msgid "Multi Exposure Auto Gain" msgstr "" #: src/nikonmn.cpp:911 msgid "Multi exposure auto gain" msgstr "" #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 msgid "Unknown Nikon Multi Exposure Tag" msgstr "" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 #, fuzzy msgid "Internal" msgstr "Ulkoinen" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "" #: src/nikonmn.cpp:991 msgid "iTTL-BL" msgstr "" #: src/nikonmn.cpp:992 msgid "iTTL" msgstr "" #: src/nikonmn.cpp:993 #, fuzzy msgid "Auto Aperture" msgstr "Aukko" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 msgid "Repeating Flash" msgstr "" #: src/nikonmn.cpp:1004 #, fuzzy msgid "Bounce Flash" msgstr "Ei salamaa" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "" #: src/nikonmn.cpp:1018 #, fuzzy msgid "Amber" msgstr "F-luku" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash Source" msgstr "Kuvalähde" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash source" msgstr "Kuvalähde" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 msgid "0x0005" msgstr "" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External Flash Firmware" msgstr "Ulkoinen salama" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External flash firmware" msgstr "Ulkoinen salama" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External Flash Flags" msgstr "Ulkoinen salama" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External flash flags" msgstr "Ulkoinen salama" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash Focal Length" msgstr "Polttoväli" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash focal length" msgstr "Polttoväli" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating flash rate" msgstr "" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating flash count" msgstr "" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN Distance" msgstr "" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN distance" msgstr "" #: src/nikonmn.cpp:1032 msgid "Flash Group A Control Mode" msgstr "" #: src/nikonmn.cpp:1032 msgid "Flash group a control mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash Group B Control Mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash group b control mode" msgstr "" #: src/nikonmn.cpp:1073 msgid "Flash Color Filter" msgstr "" #: src/nikonmn.cpp:1073 msgid "Flash color filter" msgstr "" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 #, fuzzy msgid "Shutter count" msgstr "Valotusajan esivalinta (Tv)" #: src/nikonmn.cpp:1088 msgid "Unknown Nikon Shot Info D80 Tag" msgstr "" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 #, fuzzy msgid "Flash Level" msgstr "Salaman malli" #: src/nikonmn.cpp:1100 #, fuzzy msgid "Flash level" msgstr "Salaman malli" #: src/nikonmn.cpp:1102 msgid "Unknown Nikon Shot Info D40 Tag" msgstr "" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 #, fuzzy msgid "AF Fine Tune Adj" msgstr "Käytetty AF-piste" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 #, fuzzy msgid "AF fine tune adj" msgstr "Käytetty AF-piste" #: src/nikonmn.cpp:1162 msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "" #: src/nikonmn.cpp:1222 msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "" #: src/nikonmn.cpp:1235 #, fuzzy msgid "On (3)" msgstr "Päällä" #: src/nikonmn.cpp:1248 #, fuzzy msgid "Shutter Count 1" msgstr "Valotusajan esivalinta (Tv)" #: src/nikonmn.cpp:1248 #, fuzzy msgid "Shutter count 1" msgstr "Valotusajan esivalinta (Tv)" #: src/nikonmn.cpp:1251 msgid "Vibration Reduction 1" msgstr "" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration reduction 1" msgstr "Päällä, punasilmäisyyden esto" #: src/nikonmn.cpp:1252 #, fuzzy msgid "Shutter Count 2" msgstr "Valotusajan esivalinta (Tv)" #: src/nikonmn.cpp:1252 #, fuzzy msgid "Shutter count 2" msgstr "Valotusajan esivalinta (Tv)" #: src/nikonmn.cpp:1253 msgid "Vibration Reduction 2" msgstr "" #: src/nikonmn.cpp:1253 msgid "Vibration reduction 2" msgstr "" #: src/nikonmn.cpp:1257 msgid "Unknown Nikon Shot Info Tag" msgstr "" #: src/nikonmn.cpp:1268 msgid "WB RBGG Levels" msgstr "" #: src/nikonmn.cpp:1268 msgid "WB RBGG levels" msgstr "" #: src/nikonmn.cpp:1270 msgid "Unknown Nikon Color Balance 1 Tag" msgstr "" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB Levels" msgstr "" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB levels" msgstr "" #: src/nikonmn.cpp:1283 msgid "Unknown Nikon Color Balance 2 Tag" msgstr "" #: src/nikonmn.cpp:1296 msgid "Unknown Nikon Color Balance 2a Tag" msgstr "" #: src/nikonmn.cpp:1309 msgid "Unknown Nikon Color Balance 2b Tag" msgstr "" #: src/nikonmn.cpp:1320 msgid "WB RGBG Levels" msgstr "" #: src/nikonmn.cpp:1320 msgid "WB RGBG levels" msgstr "" #: src/nikonmn.cpp:1322 msgid "Unknown Nikon Color Balance 3 Tag" msgstr "" #: src/nikonmn.cpp:1333 msgid "WB GRBG Levels" msgstr "" #: src/nikonmn.cpp:1333 msgid "WB GRBG levels" msgstr "" #: src/nikonmn.cpp:1335 msgid "Unknown Nikon Color Balance 4 Tag" msgstr "" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID Number" msgstr "Linssin sarjanumero" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID number" msgstr "Linssin sarjanumero" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-Stops" msgstr "Linssin tyyppi" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-stops" msgstr "Linssin tyyppi" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 #, fuzzy msgid "Min Focal Length" msgstr "Polttoväli" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 #, fuzzy msgid "Min focal length" msgstr "Polttoväli" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 #, fuzzy msgid "Max Focal Length" msgstr "Polttoväli" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 #, fuzzy msgid "Max focal length" msgstr "Polttoväli" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 msgid "Max Aperture At Min Focal" msgstr "" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 msgid "Max aperture at min focal" msgstr "" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 msgid "Max Aperture At Max Focal" msgstr "" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 msgid "Max aperture at max focal" msgstr "" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU Version" msgstr "Ohjelman versio" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU version" msgstr "Ohjelman versio" #: src/nikonmn.cpp:1354 msgid "Unknown Nikon Lens Data 1 Tag" msgstr "" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit Pupil Position" msgstr "" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit pupil position" msgstr "" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF Aperture" msgstr "Aukko" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF aperture" msgstr "Aukko" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective Max Aperture" msgstr "" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective max aperture" msgstr "" #: src/nikonmn.cpp:1379 msgid "Unknown Nikon Lens Data 2 Tag" msgstr "" #: src/nikonmn.cpp:1399 msgid "Max aperture at min focal length" msgstr "" #: src/nikonmn.cpp:1400 msgid "Max aperture at max focal length" msgstr "" #: src/nikonmn.cpp:1404 msgid "Unknown Nikon Lens Data 3 Tag" msgstr "" #: src/nikonmn.cpp:1590 msgid "Closest subject" msgstr "" #: src/nikonmn.cpp:1591 msgid "Group dynamic-AF" msgstr "" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "" #: src/nikonmn.cpp:1624 msgid "used" msgstr "" #: src/nikonmn.cpp:1650 #, fuzzy msgid "All 11 Points" msgstr "AF-piste" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 msgid "Single-frame" msgstr "" #: src/olympusmn.cpp:71 msgid "Standard Quality (SQ)" msgstr "" #: src/olympusmn.cpp:72 msgid "High Quality (HQ)" msgstr "" #: src/olympusmn.cpp:73 msgid "Super High Quality (SHQ)" msgstr "" #: src/olympusmn.cpp:88 msgid "On (preset)" msgstr "" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 #, fuzzy msgid "Sport" msgstr "Urheilukuva" #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 #, fuzzy msgid "Landscape+Portrait" msgstr "Maisemakuva" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 #, fuzzy msgid "Self Portrait" msgstr "Muotokuva" #: src/olympusmn.cpp:102 #, fuzzy msgid "2 in 1" msgstr "Päällä" #: src/olympusmn.cpp:105 #, fuzzy msgid "Night+Portrait" msgstr "Muotokuva" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "" #: src/olympusmn.cpp:112 msgid "Documents" msgstr "" #: src/olympusmn.cpp:114 msgid "Shoot & Select" msgstr "" #: src/olympusmn.cpp:115 msgid "Beach & Snow" msgstr "" #: src/olympusmn.cpp:116 msgid "Self Portrait+Timer" msgstr "" #: src/olympusmn.cpp:117 msgid "Candle" msgstr "" #: src/olympusmn.cpp:118 msgid "Available Light" msgstr "" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "" #: src/olympusmn.cpp:120 #, fuzzy msgid "My Mode" msgstr "Makrotila" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 #, fuzzy msgid "Pet" msgstr "Aseta" #: src/olympusmn.cpp:122 msgid "Underwater Wide1" msgstr "" #: src/olympusmn.cpp:123 msgid "Underwater Macro" msgstr "" #: src/olympusmn.cpp:124 msgid "Shoot & Select1" msgstr "" #: src/olympusmn.cpp:125 msgid "Shoot & Select2" msgstr "" #: src/olympusmn.cpp:127 #, fuzzy msgid "Digital Image Stabilization" msgstr "Kuvan vakautus" #: src/olympusmn.cpp:128 msgid "Auction" msgstr "" #: src/olympusmn.cpp:131 msgid "Underwater Wide2" msgstr "" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "" #: src/olympusmn.cpp:135 msgid "Nature Macro" msgstr "" #: src/olympusmn.cpp:136 msgid "Underwater Snapshot" msgstr "" #: src/olympusmn.cpp:137 msgid "Shooting Guide" msgstr "" #: src/olympusmn.cpp:145 #, fuzzy msgid "Internal + External" msgstr "Sisäinen salama" #: src/olympusmn.cpp:176 #, fuzzy msgid "Interlaced" msgstr "Sisäinen salama" #: src/olympusmn.cpp:177 #, fuzzy msgid "Progressive" msgstr "Ohjelman versio" #: src/olympusmn.cpp:188 msgid "Thumbnail Image" msgstr "Näytekuva" #: src/olympusmn.cpp:189 msgid "Thumbnail image" msgstr "Näytekuva" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 #, fuzzy msgid "Body Firmware Version" msgstr "Firmwaren versio" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 #, fuzzy msgid "Body firmware version" msgstr "Firmwaren versio" #: src/olympusmn.cpp:195 #, fuzzy msgid "Special Mode" msgstr "ISO-herkkyys" #: src/olympusmn.cpp:196 #, fuzzy msgid "Picture taking mode" msgstr "Kuvan tiedot" #: src/olympusmn.cpp:204 #, fuzzy msgid "Black & White Mode" msgstr "Mustavalkoinen" #: src/olympusmn.cpp:205 #, fuzzy msgid "Black and white mode" msgstr "Mustavalko" #: src/olympusmn.cpp:208 #, fuzzy msgid "Digital zoom ratio" msgstr "Digitaalinen zoom" #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 msgid "Focal Plane Diagonal" msgstr "" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 msgid "Focal plane diagonal" msgstr "" #: src/olympusmn.cpp:213 msgid "Lens Distortion Parameters" msgstr "" #: src/olympusmn.cpp:214 msgid "Lens distortion parameters" msgstr "" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 msgid "Camera Type" msgstr "Kameran tyyppi" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 msgid "Camera type" msgstr "Kameran tyyppi" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "" #: src/olympusmn.cpp:222 #, fuzzy msgid "Camera ID" msgstr "Kameran tyyppi" #: src/olympusmn.cpp:223 #, fuzzy msgid "Camera ID data" msgstr "Kameran merkki" #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "Ohjelmisto" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 #, fuzzy msgid "Preview Image" msgstr "Esikatselu" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 #, fuzzy msgid "Preview image" msgstr "Esikatselu" #: src/olympusmn.cpp:237 msgid "Pre Capture Frames" msgstr "" #: src/olympusmn.cpp:238 msgid "Pre-capture frames" msgstr "" #: src/olympusmn.cpp:240 #, fuzzy msgid "White Board" msgstr "Valkotasapaino" #: src/olympusmn.cpp:241 #, fuzzy msgid "White board" msgstr "Valkotasapaino" #: src/olympusmn.cpp:243 msgid "One Touch WB" msgstr "" #: src/olympusmn.cpp:244 #, fuzzy msgid "One touch white balance" msgstr "Valkotasapaino" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 #, fuzzy msgid "White Balance Bracket" msgstr "Valkotasapaino" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 #, fuzzy msgid "White balance bracket" msgstr " " #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 #, fuzzy msgid "Firmware" msgstr "Firmwaren versio" #: src/olympusmn.cpp:261 msgid "Data Dump 1" msgstr "" #: src/olympusmn.cpp:262 #, fuzzy msgid "Various camera settings 1" msgstr "Kameran asetukset" #: src/olympusmn.cpp:264 msgid "Data Dump 2" msgstr "" #: src/olympusmn.cpp:265 #, fuzzy msgid "Various camera settings 2" msgstr "Kameran asetukset" #: src/olympusmn.cpp:268 #, fuzzy msgid "Shutter speed value" msgstr "Valotusaika" #: src/olympusmn.cpp:271 msgid "ISO speed value" msgstr "ISO-herkkyys" #: src/olympusmn.cpp:274 msgid "Aperture value" msgstr "Aukko" #: src/olympusmn.cpp:277 #, fuzzy msgid "Brightness value" msgstr "Aukko" #: src/olympusmn.cpp:285 #, fuzzy msgid "Bracket" msgstr "Makrotila" #: src/olympusmn.cpp:286 #, fuzzy msgid "Exposure compensation value" msgstr "Valotustila" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 msgid "Sensor Temperature" msgstr "" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 msgid "Sensor temperature" msgstr "" #: src/olympusmn.cpp:291 #, fuzzy msgid "Lens Temperature" msgstr "Linssin ominaisuudet" #: src/olympusmn.cpp:292 #, fuzzy msgid "Lens temperature" msgstr "Linssin ominaisuudet" #: src/olympusmn.cpp:294 msgid "Light Condition" msgstr "" #: src/olympusmn.cpp:295 msgid "Light condition" msgstr "" #: src/olympusmn.cpp:297 #, fuzzy msgid "Focus Range" msgstr "Tarkennustapa" #: src/olympusmn.cpp:298 #, fuzzy msgid "Focus range" msgstr "Tarkennustapa" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 msgid "Zoom step count" msgstr "" #: src/olympusmn.cpp:309 #, fuzzy msgid "Macro Focus" msgstr "Makrotila" #: src/olympusmn.cpp:310 msgid "Macro focus step count" msgstr "" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 #, fuzzy msgid "Sharpness Factor" msgstr "Terävyys" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 #, fuzzy msgid "Sharpness factor" msgstr "Terävyys" #: src/olympusmn.cpp:315 #, fuzzy msgid "Flash Charge Level" msgstr "Salaman malli" #: src/olympusmn.cpp:316 #, fuzzy msgid "Flash charge level" msgstr "Salaman malli" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 #, fuzzy msgid "Color Matrix" msgstr "Väriavaruus" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 #, fuzzy msgid "Color matrix" msgstr "Väriavaruus" #: src/olympusmn.cpp:321 #, fuzzy msgid "BlackLevel" msgstr "Salaman malli" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 #, fuzzy msgid "Black level" msgstr "Salaman malli" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 #, fuzzy msgid "White balance mode" msgstr "Valkotasapaino" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 #, fuzzy msgid "Red Balance" msgstr "Valkotasapaino" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 #, fuzzy msgid "Red balance" msgstr "Valkotasapaino" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 #, fuzzy msgid "Blue Balance" msgstr "Valkotasapaino" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 #, fuzzy msgid "Blue balance" msgstr "Valkotasapaino" #: src/olympusmn.cpp:342 #, fuzzy msgid "Color Matrix Number" msgstr "Väriavaruus" #: src/olympusmn.cpp:343 #, fuzzy msgid "Color matrix number" msgstr "Väriavaruus" #: src/olympusmn.cpp:345 #, fuzzy msgid "Serial Number 2" msgstr "Sarjanumero" #: src/olympusmn.cpp:346 #, fuzzy msgid "Serial number 2" msgstr "Sarjanumero" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 msgid "Flash exposure compensation" msgstr "" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 #, fuzzy msgid "External Flash Bounce" msgstr "Ulkoinen salama" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 #, fuzzy msgid "External flash bounce" msgstr "Ulkoinen salama" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 #, fuzzy msgid "External Flash Zoom" msgstr "Ulkoinen salama" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 #, fuzzy msgid "External flash zoom" msgstr "Ulkoinen salama" #: src/olympusmn.cpp:387 #, fuzzy msgid "External Flash Mode" msgstr "Ulkoinen salama" #: src/olympusmn.cpp:388 #, fuzzy msgid "External flash mode" msgstr "Ulkoinen salama" #: src/olympusmn.cpp:396 #, fuzzy msgid "Color Control" msgstr "Täysautomatiikka" #: src/olympusmn.cpp:397 #, fuzzy msgid "Color control" msgstr "Täysautomatiikka" #: src/olympusmn.cpp:399 msgid "ValidBits" msgstr "" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 msgid "Valid bits" msgstr "" #: src/olympusmn.cpp:402 msgid "CoringFilter" msgstr "" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring filter" msgstr "tiedostoon" #: src/olympusmn.cpp:423 #, fuzzy msgid "Compression Ratio" msgstr "Pakkaus" #: src/olympusmn.cpp:424 #, fuzzy msgid "Compression ratio" msgstr "Pakkaus" #: src/olympusmn.cpp:427 msgid "Preview image embedded" msgstr "" #: src/olympusmn.cpp:430 msgid "Offset of the preview image" msgstr "" #: src/olympusmn.cpp:433 msgid "Size of the preview image" msgstr "" #: src/olympusmn.cpp:435 msgid "CCD Scan Mode" msgstr "" #: src/olympusmn.cpp:436 msgid "CCD scan mode" msgstr "" #: src/olympusmn.cpp:441 msgid "Infinity Lens Step" msgstr "" #: src/olympusmn.cpp:442 msgid "Infinity lens step" msgstr "" #: src/olympusmn.cpp:444 #, fuzzy msgid "Near Lens Step" msgstr "Linssin tyyppi" #: src/olympusmn.cpp:445 msgid "Near lens step" msgstr "" #: src/olympusmn.cpp:447 msgid "Equipment Info" msgstr "" #: src/olympusmn.cpp:448 msgid "Camera equipment sub-IFD" msgstr "" #: src/olympusmn.cpp:451 #, fuzzy msgid "Camera Settings sub-IFD" msgstr "Kameran asetukset" #: src/olympusmn.cpp:453 msgid "Raw Development" msgstr "" #: src/olympusmn.cpp:454 msgid "Raw development sub-IFD" msgstr "" #: src/olympusmn.cpp:456 msgid "Raw Development 2" msgstr "" #: src/olympusmn.cpp:457 msgid "Raw development 2 sub-IFD" msgstr "" #: src/olympusmn.cpp:460 msgid "Image processing sub-IFD" msgstr "" #: src/olympusmn.cpp:462 #, fuzzy msgid "Focus Info" msgstr "Tarkennustapa" #: src/olympusmn.cpp:463 msgid "Focus sub-IFD" msgstr "" #: src/olympusmn.cpp:465 msgid "Raw Info" msgstr "" #: src/olympusmn.cpp:466 msgid "Raw sub-IFD" msgstr "" #: src/olympusmn.cpp:470 msgid "Unknown OlympusMakerNote tag" msgstr "" #: src/olympusmn.cpp:486 #, fuzzy msgid "Program-shift" msgstr "Ohjelma" #: src/olympusmn.cpp:491 #, fuzzy msgid "Center-weighted average" msgstr "Keskustaa painottava" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "" #: src/olympusmn.cpp:494 msgid "Pattern+AF" msgstr "" #: src/olympusmn.cpp:495 msgid "Spot+Highlight control" msgstr "" #: src/olympusmn.cpp:496 msgid "Spot+Shadow control" msgstr "" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 msgid "Single AF" msgstr "" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 msgid "Multi AF" msgstr "" #: src/olympusmn.cpp:517 #, fuzzy msgid "AF Not Used" msgstr "Käytetty AF-piste" #: src/olympusmn.cpp:518 #, fuzzy msgid "AF Used" msgstr "Käytetty AF-piste" #: src/olympusmn.cpp:523 msgid "Not Ready" msgstr "" #: src/olympusmn.cpp:524 msgid "Ready" msgstr "" #: src/olympusmn.cpp:531 msgid "Fill-in" msgstr "" #: src/olympusmn.cpp:533 msgid "Slow-sync" msgstr "" #: src/olympusmn.cpp:534 #, fuzzy msgid "Forced On" msgstr "Valkoinen loisteputki" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "" #: src/olympusmn.cpp:541 msgid "Channel 1, Low" msgstr "" #: src/olympusmn.cpp:542 msgid "Channel 2, Low" msgstr "" #: src/olympusmn.cpp:543 msgid "Channel 3, Low" msgstr "" #: src/olympusmn.cpp:544 msgid "Channel 4, Low" msgstr "" #: src/olympusmn.cpp:545 msgid "Channel 1, Mid" msgstr "" #: src/olympusmn.cpp:546 msgid "Channel 2, Mid" msgstr "" #: src/olympusmn.cpp:547 msgid "Channel 3, Mid" msgstr "" #: src/olympusmn.cpp:548 msgid "Channel 4, Mid" msgstr "" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "" #: src/olympusmn.cpp:567 msgid "7500K (Fine Weather with Shade)" msgstr "" #: src/olympusmn.cpp:568 #, fuzzy msgid "6000K (Cloudy)" msgstr "Pilvinen" #: src/olympusmn.cpp:569 msgid "5300K (Fine Weather)" msgstr "" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 msgid "3600K (Tungsten light-like)" msgstr "" #: src/olympusmn.cpp:572 #, fuzzy msgid "Auto Setup" msgstr "Aukko" #: src/olympusmn.cpp:573 #, fuzzy msgid "5500K (Flash)" msgstr "Ei salamaa" #: src/olympusmn.cpp:574 msgid "6600K (Daylight fluorescent)" msgstr "" #: src/olympusmn.cpp:575 msgid "4500K (Neutral white fluorescent)" msgstr "" #: src/olympusmn.cpp:576 msgid "4000K (Cool white fluorescent)" msgstr "" #: src/olympusmn.cpp:577 #, fuzzy msgid "White Fluorescent" msgstr "Valkoinen loisteputki" #: src/olympusmn.cpp:580 #, fuzzy msgid "One Touch WB 1" msgstr "Valkotasapaino" #: src/olympusmn.cpp:581 #, fuzzy msgid "One Touch WB 2" msgstr "Valkotasapaino" #: src/olympusmn.cpp:582 #, fuzzy msgid "One Touch WB 3" msgstr "Valkotasapaino" #: src/olympusmn.cpp:583 #, fuzzy msgid "One Touch WB 4" msgstr "Valkotasapaino" #: src/olympusmn.cpp:584 msgid "Custom WB 1" msgstr "" #: src/olympusmn.cpp:585 msgid "Custom WB 2" msgstr "" #: src/olympusmn.cpp:586 msgid "Custom WB 3" msgstr "" #: src/olympusmn.cpp:587 msgid "Custom WB 4" msgstr "" #: src/olympusmn.cpp:593 msgid "CM1 (Red Enhance)" msgstr "" #: src/olympusmn.cpp:594 msgid "CM2 (Green Enhance)" msgstr "" #: src/olympusmn.cpp:595 msgid "CM3 (Blue Enhance)" msgstr "" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 msgid "Noise Filter" msgstr "" #: src/olympusmn.cpp:610 msgid "Noise Filter (ISO Boost)" msgstr "" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 msgid "Muted" msgstr "" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 msgid "Monotone" msgstr "" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "" #: src/olympusmn.cpp:648 msgid "SHQ" msgstr "" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 #, fuzzy msgid "On, Mode 1" msgstr "Linssin malli" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 #, fuzzy msgid "On, Mode 2" msgstr "Linssin malli" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 #, fuzzy msgid "On, Mode 3" msgstr "Linssin malli" #: src/olympusmn.cpp:661 #, fuzzy msgid "Camera Settings Version" msgstr "Kameran asetukset" #: src/olympusmn.cpp:661 #, fuzzy msgid "Camera settings version" msgstr "Kameran asetukset" #: src/olympusmn.cpp:662 msgid "PreviewImage Valid" msgstr "" #: src/olympusmn.cpp:662 msgid "Preview image valid" msgstr "" #: src/olympusmn.cpp:663 msgid "PreviewImage Start" msgstr "" #: src/olympusmn.cpp:663 msgid "Preview image start" msgstr "" #: src/olympusmn.cpp:664 msgid "PreviewImage Length" msgstr "" #: src/olympusmn.cpp:664 msgid "Preview image length" msgstr "" #: src/olympusmn.cpp:666 #, fuzzy msgid "Auto exposure lock" msgstr "Automaattivalotus" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure Shift" msgstr "Valotusaika" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure shift" msgstr "Valotusaika" #: src/olympusmn.cpp:671 #, fuzzy msgid "Focus Process" msgstr "Tarkennustapa" #: src/olympusmn.cpp:671 #, fuzzy msgid "Focus process" msgstr "Tarkennustapa" #: src/olympusmn.cpp:672 msgid "AF Search" msgstr "" #: src/olympusmn.cpp:672 msgid "AF search" msgstr "" #: src/olympusmn.cpp:673 #, fuzzy msgid "AF Areas" msgstr "Salaman tila" #: src/olympusmn.cpp:673 #, fuzzy msgid "AF areas" msgstr "Kameran malli" #: src/olympusmn.cpp:674 #, fuzzy msgid "AFPointSelected" msgstr "Valittu AF-piste" #: src/olympusmn.cpp:675 #, fuzzy msgid "AF Fine Tune Adjust" msgstr "Käytetty AF-piste" #: src/olympusmn.cpp:675 #, fuzzy msgid "AF fine tune adjust" msgstr "Käytetty AF-piste" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash Remote Control" msgstr "Täysautomatiikka" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash remote control" msgstr "Täysautomatiikka" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash Control Mode" msgstr "Salaman tila" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash control mode" msgstr "Salaman malli" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash Intensity" msgstr "Salaman tyyppi" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash intensity" msgstr "Salaman tyyppi" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual Flash Strength" msgstr "Salaman tyyppi" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual flash strength" msgstr "Täysautomatiikka" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 #, fuzzy msgid "White Balance 2" msgstr "Valkotasapaino" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 #, fuzzy msgid "White balance 2" msgstr "Valkotasapaino" #: src/olympusmn.cpp:683 #, fuzzy msgid "White Balance Temperature" msgstr "Valkotasapaino" #: src/olympusmn.cpp:683 #, fuzzy msgid "White balance temperature" msgstr " " #: src/olympusmn.cpp:685 #, fuzzy msgid "Custom Saturation" msgstr "Värikylläisyys" #: src/olympusmn.cpp:685 #, fuzzy msgid "Custom saturation" msgstr "Värikylläisyys" #: src/olympusmn.cpp:686 #, fuzzy msgid "Modified Saturation" msgstr "Värikylläisyys" #: src/olympusmn.cpp:686 #, fuzzy msgid "Modified saturation" msgstr "Värikylläisyys" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 #, fuzzy msgid "Contrast Setting" msgstr "Kameran asetukset" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 #, fuzzy msgid "Sharpness Setting" msgstr "Terävyys" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion Correction" msgstr "" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion correction" msgstr "" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 msgid "Shading Compensation" msgstr "" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 msgid "Shading compensation" msgstr "" #: src/olympusmn.cpp:694 #, fuzzy msgid "Compression Factor" msgstr "Pakkaus" #: src/olympusmn.cpp:694 #, fuzzy msgid "Compression factor" msgstr "Pakkaus" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 #, fuzzy msgid "Gradation" msgstr "Värikylläisyys" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 #, fuzzy msgid "Picture mode" msgstr "Kuvan tiedot" #: src/olympusmn.cpp:697 #, fuzzy msgid "Picture Mode Saturation" msgstr "Värikylläisyys" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 #, fuzzy msgid "Picture mode saturation" msgstr "Värikylläisyys" #: src/olympusmn.cpp:698 #, fuzzy msgid "Picture Mode Hue" msgstr "Kuvan tiedot" #: src/olympusmn.cpp:698 #, fuzzy msgid "Picture mode hue" msgstr "Kuvan tiedot" #: src/olympusmn.cpp:699 msgid "Picture Mode Contrast" msgstr "" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 msgid "Picture mode contrast" msgstr "" #: src/olympusmn.cpp:700 msgid "Picture Mode Sharpness" msgstr "" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 msgid "Picture mode sharpness" msgstr "" #: src/olympusmn.cpp:701 msgid "Picture Mode BW Filter" msgstr "" #: src/olympusmn.cpp:701 msgid "Picture mode BW filter" msgstr "" #: src/olympusmn.cpp:702 #, fuzzy msgid "Picture Mode Tone" msgstr "Kuvan tiedot" #: src/olympusmn.cpp:702 #, fuzzy msgid "Picture mode tone" msgstr "Kuvan tiedot" #: src/olympusmn.cpp:703 #, fuzzy msgid "Noise filter" msgstr "tiedostoon" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art Filter" msgstr "Väriavaruus" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art filter" msgstr "Väriavaruus" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic Filter" msgstr "Digitaalinen makro" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic filter" msgstr "Digitaalinen makro" #: src/olympusmn.cpp:707 #, fuzzy msgid "Panorama Mode" msgstr "Panoraama" #: src/olympusmn.cpp:707 #, fuzzy msgid "Panorama mode" msgstr "Panoraama" #: src/olympusmn.cpp:708 #, fuzzy msgid "Image Quality 2" msgstr "Kuvan laatu" #: src/olympusmn.cpp:708 #, fuzzy msgid "Image quality 2" msgstr "Kuvan laatu" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer Pressure" msgstr "" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer pressure" msgstr "" #: src/olympusmn.cpp:711 msgid "Manometer Reading" msgstr "" #: src/olympusmn.cpp:711 msgid "Manometer reading" msgstr "" #: src/olympusmn.cpp:712 msgid "Extended WB Detect" msgstr "" #: src/olympusmn.cpp:712 msgid "Extended WB detect" msgstr "" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "" #: src/olympusmn.cpp:716 msgid "Unknown OlympusCs tag" msgstr "" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "" #: src/olympusmn.cpp:745 #, fuzzy msgid "Equipment Version" msgstr "Firmwaren versio" #: src/olympusmn.cpp:745 #, fuzzy msgid "Equipment version" msgstr "Firmwaren versio" #: src/olympusmn.cpp:747 #, fuzzy msgid "Serial number" msgstr "Sarjanumero" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 msgid "Lens Serial Number" msgstr "Linssin sarjanumero" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 msgid "Lens serial number" msgstr "Linssin sarjanumero" #: src/olympusmn.cpp:754 #, fuzzy msgid "Lens Firmware Version" msgstr "Firmwaren versio" #: src/olympusmn.cpp:754 #, fuzzy msgid "Lens firmware version" msgstr "Firmwaren versio" #: src/olympusmn.cpp:759 msgid "Max Aperture At Current Focal" msgstr "" #: src/olympusmn.cpp:759 msgid "Max aperture at current focal" msgstr "" #: src/olympusmn.cpp:760 msgid "Lens Properties" msgstr "Linssin ominaisuudet" #: src/olympusmn.cpp:760 msgid "Lens properties" msgstr "Linssin ominaisuudet" #: src/olympusmn.cpp:761 #, fuzzy msgid "Extender" msgstr "Ulkoinen" #: src/olympusmn.cpp:762 #, fuzzy msgid "Extender Serial Number" msgstr "Linssin sarjanumero" #: src/olympusmn.cpp:762 #, fuzzy msgid "Extender serial number" msgstr "Linssin sarjanumero" #: src/olympusmn.cpp:763 #, fuzzy msgid "Extender Model" msgstr "Linssin malli" #: src/olympusmn.cpp:763 #, fuzzy msgid "Extender model" msgstr "Kameran malli" #: src/olympusmn.cpp:764 #, fuzzy msgid "Extender Firmware Version" msgstr "Firmwaren versio" #: src/olympusmn.cpp:764 #, fuzzy msgid "Extender firmwareversion" msgstr "Firmwaren versio" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion Lens" msgstr "" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion lens" msgstr "" #: src/olympusmn.cpp:767 src/properties.cpp:402 msgid "Flash Model" msgstr "Salaman malli" #: src/olympusmn.cpp:767 msgid "Flash model" msgstr "Salaman malli" #: src/olympusmn.cpp:768 #, fuzzy msgid "Flash Firmware Version" msgstr "Firmwaren versio" #: src/olympusmn.cpp:768 #, fuzzy msgid "Flash firmware version" msgstr "Firmwaren versio" #: src/olympusmn.cpp:769 msgid "FlashSerialNumber" msgstr "Salaman sarjanumero" #: src/olympusmn.cpp:771 msgid "Unknown OlympusEq tag" msgstr "" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 #, fuzzy msgid "High Speed" msgstr "ISO-herkkyys" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 msgid "High Function" msgstr "" #: src/olympusmn.cpp:790 msgid "Advanced High Speed" msgstr "" #: src/olympusmn.cpp:791 msgid "Advanced High Function" msgstr "" #: src/olympusmn.cpp:796 msgid "Original" msgstr "" #: src/olympusmn.cpp:797 #, fuzzy msgid "Edited (Landscape)" msgstr "Maisemakuva" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 #, fuzzy msgid "Edited (Portrait)" msgstr "Muotokuva" #: src/olympusmn.cpp:804 #, fuzzy msgid "WB Color Temp" msgstr "Väriavaruus" #: src/olympusmn.cpp:805 msgid "WB Gray Point" msgstr "" #: src/olympusmn.cpp:815 msgid "Raw Development Version" msgstr "" #: src/olympusmn.cpp:815 msgid "Raw development version" msgstr "" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 #, fuzzy msgid "Exposure Bias Value" msgstr "Valotuksen korjaus" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 #, fuzzy msgid "Exposure bias value" msgstr "Valotuksen korjaus" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 #, fuzzy msgid "White Balance Value" msgstr " " #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 #, fuzzy msgid "White balance value" msgstr " " #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 msgid "WB Fine Adjustment" msgstr "" #: src/olympusmn.cpp:818 msgid "WB fine adjustment" msgstr "" #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 #, fuzzy msgid "Gray Point" msgstr "AF-piste" #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 msgid "Gray point" msgstr "" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 #, fuzzy msgid "Saturation Emphasis" msgstr "Värikylläisyys" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 #, fuzzy msgid "Saturation emphasis" msgstr "Värikylläisyys" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory Color Emphasis" msgstr "" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory color emphasis" msgstr "" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 #, fuzzy msgid "Contrast Value" msgstr "Kontrasti" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 #, fuzzy msgid "Contrast value" msgstr "Kontrasti" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 #, fuzzy msgid "Sharpness Value" msgstr "Terävyys" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 #, fuzzy msgid "Sharpness value" msgstr "Terävyys" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 msgid "Engine" msgstr "" #: src/olympusmn.cpp:827 msgid "Edit status" msgstr "" #: src/olympusmn.cpp:828 msgid "Settings" msgstr "Asetukset" #: src/olympusmn.cpp:830 msgid "Unknown OlympusRd tag" msgstr "" #: src/olympusmn.cpp:885 msgid "Raw Development 2 Version" msgstr "" #: src/olympusmn.cpp:885 msgid "Raw development 2 version" msgstr "" #: src/olympusmn.cpp:889 #, fuzzy msgid "White balance fine adjustment" msgstr " " #: src/olympusmn.cpp:899 #, fuzzy msgid "PM Saturation" msgstr "Värikylläisyys" #: src/olympusmn.cpp:900 #, fuzzy msgid "PM Contrast" msgstr "Kontrasti" #: src/olympusmn.cpp:901 #, fuzzy msgid "PM Sharpness" msgstr "Terävyys" #: src/olympusmn.cpp:902 msgid "PM BW Filter" msgstr "" #: src/olympusmn.cpp:902 msgid "PM BW filter" msgstr "" #: src/olympusmn.cpp:903 #, fuzzy msgid "PM Picture Tone" msgstr "Kuvan tiedot" #: src/olympusmn.cpp:903 #, fuzzy msgid "PM picture tone" msgstr "Kuvan tiedot" #: src/olympusmn.cpp:906 msgid "Auto Gradation" msgstr "" #: src/olympusmn.cpp:906 msgid "Auto gradation" msgstr "" #: src/olympusmn.cpp:907 msgid "PM Noise Filter" msgstr "" #: src/olympusmn.cpp:907 msgid "Picture mode noise filter" msgstr "" #: src/olympusmn.cpp:909 msgid "Unknown OlympusRd2 tag" msgstr "" #: src/olympusmn.cpp:920 #, fuzzy msgid "On (2 frames)" msgstr "Päällä" #: src/olympusmn.cpp:921 #, fuzzy msgid "On (3 frames)" msgstr "Päällä" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image Processing Version" msgstr "Ohjelman versio" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image processing version" msgstr "Firmwaren versio" #: src/olympusmn.cpp:940 msgid "WB RB Levels 3000K" msgstr "" #: src/olympusmn.cpp:940 msgid "WB RB levels 3000K" msgstr "" #: src/olympusmn.cpp:941 msgid "WB RB Levels 3300K" msgstr "" #: src/olympusmn.cpp:941 msgid "WB RB levels 3300K" msgstr "" #: src/olympusmn.cpp:942 msgid "WB RB Levels 3600K" msgstr "" #: src/olympusmn.cpp:942 msgid "WB RB levels 3600K" msgstr "" #: src/olympusmn.cpp:943 msgid "WB RB Levels 3900K" msgstr "" #: src/olympusmn.cpp:943 msgid "WB RB levels 3900K" msgstr "" #: src/olympusmn.cpp:944 msgid "WB RB Levels 4000K" msgstr "" #: src/olympusmn.cpp:944 msgid "WB RB levels 4000K" msgstr "" #: src/olympusmn.cpp:945 msgid "WB RB Levels 4300K" msgstr "" #: src/olympusmn.cpp:945 msgid "WB RB levels 4300K" msgstr "" #: src/olympusmn.cpp:946 msgid "WB RB Levels 4500K" msgstr "" #: src/olympusmn.cpp:946 msgid "WB RB levels 4500K" msgstr "" #: src/olympusmn.cpp:947 msgid "WB RB Levels 4800K" msgstr "" #: src/olympusmn.cpp:947 msgid "WB RB levels 4800K" msgstr "" #: src/olympusmn.cpp:948 msgid "WB RB Levels 5300K" msgstr "" #: src/olympusmn.cpp:948 msgid "WB RB levels 5300K" msgstr "" #: src/olympusmn.cpp:949 msgid "WB RB Levels 6000K" msgstr "" #: src/olympusmn.cpp:949 msgid "WB RB levels 6000K" msgstr "" #: src/olympusmn.cpp:950 msgid "WB RB Levels 6600K" msgstr "" #: src/olympusmn.cpp:950 msgid "WB RB levels 6600K" msgstr "" #: src/olympusmn.cpp:951 msgid "WB RB Levels 7500K" msgstr "" #: src/olympusmn.cpp:951 msgid "WB RB levels 7500K" msgstr "" #: src/olympusmn.cpp:952 msgid "WB RB Levels CWB1" msgstr "" #: src/olympusmn.cpp:952 msgid "WB RB levels CWB1" msgstr "" #: src/olympusmn.cpp:953 msgid "WB RB Levels CWB2" msgstr "" #: src/olympusmn.cpp:953 msgid "WB RB levels CWB2" msgstr "" #: src/olympusmn.cpp:954 msgid "WB RB Levels CWB3" msgstr "" #: src/olympusmn.cpp:954 msgid "WB RB levels CWB3" msgstr "" #: src/olympusmn.cpp:955 msgid "WB RB Levels CWB4" msgstr "" #: src/olympusmn.cpp:955 msgid "WB RB levels CWB4" msgstr "" #: src/olympusmn.cpp:956 msgid "WB G Level 3000K" msgstr "" #: src/olympusmn.cpp:956 msgid "WB G level 3000K" msgstr "" #: src/olympusmn.cpp:957 msgid "WB G Level 3300K" msgstr "" #: src/olympusmn.cpp:957 msgid "WB G level 3300K" msgstr "" #: src/olympusmn.cpp:958 msgid "WB G Level 3600K" msgstr "" #: src/olympusmn.cpp:958 msgid "WB G level 3600K" msgstr "" #: src/olympusmn.cpp:959 msgid "WB G Level 3900K" msgstr "" #: src/olympusmn.cpp:959 msgid "WB G level 3900K" msgstr "" #: src/olympusmn.cpp:960 msgid "WB G Level 4000K" msgstr "" #: src/olympusmn.cpp:960 msgid "WB G level 4000K" msgstr "" #: src/olympusmn.cpp:961 msgid "WB G Level 4300K" msgstr "" #: src/olympusmn.cpp:961 msgid "WB G level 4300K" msgstr "" #: src/olympusmn.cpp:962 msgid "WB G Level 4500K" msgstr "" #: src/olympusmn.cpp:962 msgid "WB G level 4500K" msgstr "" #: src/olympusmn.cpp:963 msgid "WB G Level 4800K" msgstr "" #: src/olympusmn.cpp:963 msgid "WB G level 4800K" msgstr "" #: src/olympusmn.cpp:964 msgid "WB G Level 5300K" msgstr "" #: src/olympusmn.cpp:964 msgid "WB G level 5300K" msgstr "" #: src/olympusmn.cpp:965 msgid "WB G Level 6000K" msgstr "" #: src/olympusmn.cpp:965 msgid "WB G level 6000K" msgstr "" #: src/olympusmn.cpp:966 msgid "WB G Level 6600K" msgstr "" #: src/olympusmn.cpp:966 msgid "WB G level 6600K" msgstr "" #: src/olympusmn.cpp:967 msgid "WB G Level 7500K" msgstr "" #: src/olympusmn.cpp:967 msgid "WB G level 7500K" msgstr "" #: src/olympusmn.cpp:968 msgid "WB G Level" msgstr "" #: src/olympusmn.cpp:968 msgid "WB G level" msgstr "" #: src/olympusmn.cpp:970 msgid "Enhancer" msgstr "" #: src/olympusmn.cpp:971 msgid "Enhancer Values" msgstr "" #: src/olympusmn.cpp:971 msgid "Enhancer values" msgstr "" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 msgid "Coring Filter" msgstr "" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring Values" msgstr "Omistusoikeus" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring values" msgstr "Omistusoikeus" #: src/olympusmn.cpp:974 src/tags.cpp:915 #, fuzzy msgid "Black Level" msgstr "Salaman malli" #: src/olympusmn.cpp:975 msgid "Gain Base" msgstr "" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "" #: src/olympusmn.cpp:976 msgid "Valid Bits" msgstr "" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 #, fuzzy msgid "Crop Left" msgstr "Polttoväli" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 msgid "Crop left" msgstr "" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 msgid "Crop Top" msgstr "" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 msgid "Crop top" msgstr "" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 msgid "Crop Width" msgstr "" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 msgid "Crop width" msgstr "" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 #, fuzzy msgid "Crop Height" msgstr "Omistusoikeus" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 #, fuzzy msgid "Crop height" msgstr "Omistusoikeus" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple Exposure Mode" msgstr "Valotustila" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple exposure mode" msgstr "Valotustila" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 msgid "Aspect Ratio" msgstr "" #: src/olympusmn.cpp:985 msgid "Aspect ratio" msgstr "" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect Frame" msgstr "Omistajan nimi" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect frame" msgstr "Omistajan nimi" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 msgid "Face Detect" msgstr "" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 msgid "Face detect" msgstr "" #: src/olympusmn.cpp:988 #, fuzzy msgid "Face Detect Area" msgstr "Lukuvirhe" #: src/olympusmn.cpp:988 #, fuzzy msgid "Face detect area" msgstr "Lukuvirhe" #: src/olympusmn.cpp:990 msgid "Unknown OlympusIp tag" msgstr "" #: src/olympusmn.cpp:1000 msgid "Bounce or Off" msgstr "" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "" #: src/olympusmn.cpp:1005 msgid "Focus Info Version" msgstr "" #: src/olympusmn.cpp:1005 msgid "Focus info version" msgstr "" #: src/olympusmn.cpp:1006 #, fuzzy msgid "Auto Focus" msgstr "Automaattivalotus" #: src/olympusmn.cpp:1007 msgid "Scene Detect" msgstr "" #: src/olympusmn.cpp:1007 msgid "Scene detect" msgstr "" #: src/olympusmn.cpp:1008 msgid "Scene Area" msgstr "" #: src/olympusmn.cpp:1008 #, fuzzy msgid "Scene area" msgstr "Omistajan nimi" #: src/olympusmn.cpp:1009 msgid "Scene Detect Data" msgstr "" #: src/olympusmn.cpp:1009 msgid "Scene detect data" msgstr "" #: src/olympusmn.cpp:1010 #, fuzzy msgid "Zoom Step Count" msgstr "Valotusajan esivalinta (Tv)" #: src/olympusmn.cpp:1011 msgid "Focus Step Count" msgstr "" #: src/olympusmn.cpp:1011 msgid "Focus step count" msgstr "" #: src/olympusmn.cpp:1012 msgid "Focus Step Infinity" msgstr "" #: src/olympusmn.cpp:1012 msgid "Focus step infinity" msgstr "" #: src/olympusmn.cpp:1013 msgid "Focus Step Near" msgstr "" #: src/olympusmn.cpp:1013 msgid "Focus step near" msgstr "" #: src/olympusmn.cpp:1016 #, fuzzy msgid "External Flash" msgstr "Ulkoinen salama" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External Flash Guide Number" msgstr "Ulkoinen salama" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External flash guide number" msgstr "Ulkoinen salama" #: src/olympusmn.cpp:1021 #, fuzzy msgid "Manual Flash" msgstr "Manuaalinen" #: src/olympusmn.cpp:1021 #, fuzzy msgid "Manual flash" msgstr "Käsintarkennus, MF" #: src/olympusmn.cpp:1025 msgid "Unknown OlympusFi tag" msgstr "" #: src/olympusmn.cpp:1036 msgid "Unknown OlympusFe tag" msgstr "" #: src/olympusmn.cpp:1049 msgid "Fine Weather" msgstr "" #: src/olympusmn.cpp:1050 msgid "Tungsten (incandescent)" msgstr "" #: src/olympusmn.cpp:1051 msgid "Evening Sunlight" msgstr "" #: src/olympusmn.cpp:1052 msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "" #: src/olympusmn.cpp:1053 msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "" #: src/olympusmn.cpp:1054 msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "" #: src/olympusmn.cpp:1055 msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "" #: src/olympusmn.cpp:1056 #, fuzzy msgid "One Touch White Balance" msgstr "Valkotasapaino" #: src/olympusmn.cpp:1057 msgid "Custom 1-4" msgstr "" #: src/olympusmn.cpp:1061 msgid "Raw Info Version" msgstr "" #: src/olympusmn.cpp:1061 msgid "Raw info version" msgstr "" #: src/olympusmn.cpp:1062 msgid "WB_RB Levels Used" msgstr "" #: src/olympusmn.cpp:1062 msgid "WB_RB levels used" msgstr "" #: src/olympusmn.cpp:1063 msgid "WB_RB Levels Auto" msgstr "" #: src/olympusmn.cpp:1063 msgid "WB_RB levels auto" msgstr "" #: src/olympusmn.cpp:1064 msgid "WB_RB Levels Shade" msgstr "" #: src/olympusmn.cpp:1064 msgid "WB_RB levels shade" msgstr "" #: src/olympusmn.cpp:1065 msgid "WB_RB Levels Cloudy" msgstr "" #: src/olympusmn.cpp:1065 msgid "WB_RB levels cloudy" msgstr "" #: src/olympusmn.cpp:1066 msgid "WB_RB Levels Fine Weather" msgstr "" #: src/olympusmn.cpp:1066 msgid "WB_RB levels fine weather" msgstr "" #: src/olympusmn.cpp:1067 msgid "WB_RB Levels Tungsten" msgstr "" #: src/olympusmn.cpp:1067 msgid "WB_RB levels tungsten" msgstr "" #: src/olympusmn.cpp:1068 msgid "WB_RB Levels Evening Sunlight" msgstr "" #: src/olympusmn.cpp:1068 msgid "WB_RB levels evening sunlight" msgstr "" #: src/olympusmn.cpp:1069 msgid "WB_RB Levels Daylight Fluor" msgstr "" #: src/olympusmn.cpp:1069 msgid "WB_RB levels daylight fluor" msgstr "" #: src/olympusmn.cpp:1070 msgid "WB_RB Levels Day White Fluor" msgstr "" #: src/olympusmn.cpp:1070 msgid "WB_RB levels day white fluor" msgstr "" #: src/olympusmn.cpp:1071 msgid "WB_RB Levels Cool White Fluor" msgstr "" #: src/olympusmn.cpp:1071 msgid "WB_RB levels cool white fluor" msgstr "" #: src/olympusmn.cpp:1072 msgid "WB_RB Levels White Fluorescent" msgstr "" #: src/olympusmn.cpp:1072 msgid "WB_RB levels white fluorescent" msgstr "" #: src/olympusmn.cpp:1073 msgid "Color Matrix2" msgstr "" #: src/olympusmn.cpp:1073 msgid "Color matrix 2" msgstr "" #: src/olympusmn.cpp:1076 #, fuzzy msgid "Black Level 2" msgstr "Salaman malli" #: src/olympusmn.cpp:1076 #, fuzzy msgid "Black level 2" msgstr "Salaman malli" #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 msgid "YCbCr Coefficients" msgstr "" #: src/olympusmn.cpp:1077 msgid "YCbCr coefficients" msgstr "" #: src/olympusmn.cpp:1078 msgid "Valid Pixel Depth" msgstr "" #: src/olympusmn.cpp:1078 msgid "Valid pixel depth" msgstr "" #: src/olympusmn.cpp:1084 #, fuzzy msgid "White Balance Comp" msgstr "Valkotasapaino" #: src/olympusmn.cpp:1084 #, fuzzy msgid "White balance comp" msgstr "Valkotasapaino" #: src/olympusmn.cpp:1085 #, fuzzy msgid "Saturation Setting" msgstr "Värikylläisyys" #: src/olympusmn.cpp:1086 #, fuzzy msgid "Hue Setting" msgstr "Asetukset" #: src/olympusmn.cpp:1086 #, fuzzy msgid "Hue setting" msgstr "Asetukset" #: src/olympusmn.cpp:1089 msgid "CM Exposure Compensation" msgstr "" #: src/olympusmn.cpp:1089 msgid "CM exposure compensation" msgstr "" #: src/olympusmn.cpp:1090 #, fuzzy msgid "CM White Balance" msgstr "Valkotasapaino" #: src/olympusmn.cpp:1090 #, fuzzy msgid "CM white balance" msgstr "Valkotasapaino" #: src/olympusmn.cpp:1091 #, fuzzy msgid "CM White Balance Comp" msgstr "Valkotasapaino" #: src/olympusmn.cpp:1091 #, fuzzy msgid "CM white balance comp" msgstr "Valkotasapaino" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM White Balance Gray Point" msgstr "Valkotasapaino" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM white balance gray point" msgstr "Valkotasapaino" #: src/olympusmn.cpp:1093 #, fuzzy msgid "CM Saturation" msgstr "Värikylläisyys" #: src/olympusmn.cpp:1093 #, fuzzy msgid "CM saturation" msgstr "Värikylläisyys" #: src/olympusmn.cpp:1094 #, fuzzy msgid "CM Hue" msgstr "Väriavaruus" #: src/olympusmn.cpp:1094 #, fuzzy msgid "CM hue" msgstr "Väriavaruus" #: src/olympusmn.cpp:1095 #, fuzzy msgid "CM Contrast" msgstr "Kontrasti" #: src/olympusmn.cpp:1095 #, fuzzy msgid "CM contrast" msgstr "Kontrasti" #: src/olympusmn.cpp:1096 #, fuzzy msgid "CM Sharpness" msgstr "Terävyys" #: src/olympusmn.cpp:1096 #, fuzzy msgid "CM sharpness" msgstr "Terävyys" #: src/olympusmn.cpp:1098 msgid "Unknown OlympusRi tag" msgstr "" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 msgid "User-Selected" msgstr "" #: src/olympusmn.cpp:1122 msgid "Auto-Override" msgstr "" #: src/olympusmn.cpp:1158 msgid "Fast" msgstr "" #: src/olympusmn.cpp:1223 msgid "3000 Kelvin" msgstr "" #: src/olympusmn.cpp:1224 msgid "3700 Kelvin" msgstr "" #: src/olympusmn.cpp:1225 msgid "4000 Kelvin" msgstr "" #: src/olympusmn.cpp:1226 msgid "4500 Kelvin" msgstr "" #: src/olympusmn.cpp:1227 msgid "5500 Kelvin" msgstr "" #: src/olympusmn.cpp:1228 msgid "6500 Kelvin" msgstr "" #: src/olympusmn.cpp:1229 msgid "7500 Kelvin" msgstr "" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "" #: src/olympusmn.cpp:1456 #, fuzzy msgid "Imager AF" msgstr "Kuvan koko" #: src/olympusmn.cpp:1457 msgid "AF sensor" msgstr "" #: src/olympusmn.cpp:1502 #, fuzzy msgid "Soft Focus" msgstr "Käytetty AF-piste" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "" #: src/olympusmn.cpp:1505 #, fuzzy msgid "Light Tone" msgstr "Kuvalähde" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "" #: src/olympusmn.cpp:1508 #, fuzzy msgid "Diorama" msgstr "Panoraama" #: src/olympusmn.cpp:1509 #, fuzzy msgid "Cross Process" msgstr "Tarkennustapa" #: src/olympusmn.cpp:1510 #, fuzzy msgid "Fish Eye" msgstr "Salaman tila" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "" #: src/olympusmn.cpp:1513 msgid "Pale & Light Color II" msgstr "" #: src/olympusmn.cpp:1514 msgid "Pop Art II" msgstr "" #: src/olympusmn.cpp:1515 msgid "Pin Hole II" msgstr "" #: src/olympusmn.cpp:1516 msgid "Pin Hole III" msgstr "" #: src/olympusmn.cpp:1517 msgid "Grainy Film II" msgstr "" #: src/olympusmn.cpp:1518 #, fuzzy msgid "Dramatic Tone" msgstr "Värikylläisyys" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "" #: src/olympusmn.cpp:1520 #, fuzzy msgid "Soft Focus 2" msgstr "Käytetty AF-piste" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "" #: src/olympusmn.cpp:1522 msgid "Watercolor" msgstr "" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "" #: src/olympusmn.cpp:1525 #, fuzzy msgid "Miniature" msgstr "Aukko" #: src/olympusmn.cpp:1526 #, fuzzy msgid "Reflection" msgstr "Resoluutioyksikkö" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "" #: src/olympusmn.cpp:1528 #, fuzzy msgid "Cross Process II" msgstr "Tarkennustapa" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "" #: src/olympusmn.cpp:1530 msgid "Watercolor I" msgstr "" #: src/olympusmn.cpp:1531 msgid "Watercolor II" msgstr "" #: src/olympusmn.cpp:1532 #, fuzzy msgid "Diorama II" msgstr "Panoraama" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "" #: src/olympusmn.cpp:1534 msgid "Vintage II" msgstr "" #: src/olympusmn.cpp:1535 msgid "Vintage III" msgstr "" #: src/olympusmn.cpp:1536 #, fuzzy msgid "Partial Color" msgstr "Osa-alue" #: src/olympusmn.cpp:1537 #, fuzzy msgid "Partial Color II" msgstr "Osa-alue" #: src/olympusmn.cpp:1538 msgid "Partial Color III" msgstr "" #: src/olympusmn.cpp:1608 msgid "Left (or n/a)" msgstr "" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 msgid "Center (horizontal)" msgstr "" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 msgid "Center (vertical)" msgstr "" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1623 msgid "Top-center (horizontal)" msgstr "" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1625 msgid "Left (horizontal)" msgstr "" #: src/olympusmn.cpp:1626 msgid "Mid-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1628 msgid "Mid-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1629 msgid "Right (horizontal)" msgstr "" #: src/olympusmn.cpp:1630 msgid "Bottom-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1631 msgid "Bottom-center (horizontal)" msgstr "" #: src/olympusmn.cpp:1632 msgid "Bottom-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "" #: src/olympusmn.cpp:1634 msgid "Top-center (vertical)" msgstr "" #: src/olympusmn.cpp:1635 #, fuzzy msgid "Top-right (vertical)" msgstr "Omistusoikeus" #: src/olympusmn.cpp:1636 msgid "Left (vertical)" msgstr "" #: src/olympusmn.cpp:1637 msgid "Mid-left (vertical)" msgstr "" #: src/olympusmn.cpp:1639 msgid "Mid-right (vertical)" msgstr "" #: src/olympusmn.cpp:1640 msgid "Right (vertical)" msgstr "" #: src/olympusmn.cpp:1641 msgid "Bottom-left (vertical)" msgstr "" #: src/olympusmn.cpp:1642 msgid "Bottom-center (vertical)" msgstr "" #: src/olympusmn.cpp:1643 msgid "Bottom-right (vertical)" msgstr "" #: src/olympusmn.cpp:1680 #, fuzzy msgid "Single Target" msgstr "Tiedostonimi" #: src/olympusmn.cpp:1681 msgid "All Target" msgstr "" #: src/olympusmn.cpp:1682 #, fuzzy msgid "Dynamic Single Target" msgstr "Kameran asetukset" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 msgid "Very High" msgstr "" #: src/panasonicmn.cpp:60 msgid "Motion Picture" msgstr "" #: src/panasonicmn.cpp:61 #, fuzzy msgid "Full HD Movie" msgstr "Pieni" #: src/panasonicmn.cpp:62 #, fuzzy msgid "4k Movie" msgstr "Pieni" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "" #: src/panasonicmn.cpp:83 msgid "Auto, focus button" msgstr "" #: src/panasonicmn.cpp:84 msgid "Auto, continuous" msgstr "" #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "" #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 #, fuzzy msgid "Panning" msgstr "Varoitus" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "" #: src/panasonicmn.cpp:104 #, fuzzy msgid "Macro-zoom" msgstr "Makro" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 msgid "Scenery" msgstr "" #: src/panasonicmn.cpp:117 #, fuzzy msgid "Shutter-speed priority" msgstr "Valotusajan esivalinta (Tv)" #: src/panasonicmn.cpp:121 #, fuzzy msgid "Movie preview" msgstr "Esikatselu" #: src/panasonicmn.cpp:123 msgid "Simple" msgstr "" #: src/panasonicmn.cpp:124 #, fuzzy msgid "Color effects" msgstr "Väriavaruus" #: src/panasonicmn.cpp:130 msgid "Night scenery" msgstr "" #: src/panasonicmn.cpp:132 msgid "Baby" msgstr "" #: src/panasonicmn.cpp:133 msgid "Soft skin" msgstr "" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 msgid "Candlelight" msgstr "" #: src/panasonicmn.cpp:135 msgid "Starry night" msgstr "" #: src/panasonicmn.cpp:136 msgid "High sensitivity" msgstr "" #: src/panasonicmn.cpp:137 #, fuzzy msgid "Panorama assist" msgstr "Panoraama" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 msgid "Intelligent ISO" msgstr "" #: src/panasonicmn.cpp:144 #, fuzzy msgid "Clipboard" msgstr "Valkotasapaino" #: src/panasonicmn.cpp:145 msgid "High speed continuous shooting" msgstr "" #: src/panasonicmn.cpp:146 msgid "Intelligent auto" msgstr "" #: src/panasonicmn.cpp:147 msgid "Multi-aspect" msgstr "" #: src/panasonicmn.cpp:148 msgid "Transform" msgstr "" #: src/panasonicmn.cpp:149 #, fuzzy msgid "Flash Burst" msgstr "Salamavalotuksen korjaus" #: src/panasonicmn.cpp:151 #, fuzzy msgid "Film Grain" msgstr "Tiedostonimi" #: src/panasonicmn.cpp:152 #, fuzzy msgid "My Color" msgstr "Väriavaruus" #: src/panasonicmn.cpp:153 #, fuzzy msgid "Photo Frame" msgstr "Panoraama" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 #, fuzzy msgid "Handheld Night Shot" msgstr "Kuvan tyyppi" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 #, fuzzy msgid "Creative Control" msgstr "Täysautomatiikka" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 #, fuzzy msgid "Digital Filter" msgstr "Digitaalinen makro" #: src/panasonicmn.cpp:162 #, fuzzy msgid "Clear Portrait" msgstr "Muotokuva" #: src/panasonicmn.cpp:163 #, fuzzy msgid "Silky Skin" msgstr "Piste" #: src/panasonicmn.cpp:164 msgid "Backlit Softness" msgstr "" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "" #: src/panasonicmn.cpp:166 #, fuzzy msgid "Relaxing Tone" msgstr "Resoluutioyksikkö" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "" #: src/panasonicmn.cpp:168 #, fuzzy msgid "Distinct Scenery" msgstr "Linssi" #: src/panasonicmn.cpp:169 #, fuzzy msgid "Bright Blue Sky" msgstr "arvo" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "" #: src/panasonicmn.cpp:177 msgid "Glittering Illuminations" msgstr "" #: src/panasonicmn.cpp:178 #, fuzzy msgid "Clear Night Portrait" msgstr "Muotokuva" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "" #: src/panasonicmn.cpp:181 msgid "Cute Desert" msgstr "" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "" #: src/panasonicmn.cpp:183 msgid "Clear Sports Shot" msgstr "" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "" #: src/panasonicmn.cpp:198 msgid "Warm" msgstr "" #: src/panasonicmn.cpp:199 msgid "Cool" msgstr "" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "" #: src/panasonicmn.cpp:208 #, fuzzy msgid "Low/High quality" msgstr "Kuvan laatu" #: src/panasonicmn.cpp:209 msgid "Infinite" msgstr "" #: src/panasonicmn.cpp:217 #, fuzzy msgid "Medium low" msgstr "Keskikokoinen" #: src/panasonicmn.cpp:218 #, fuzzy msgid "Medium high" msgstr "Keskikokoinen" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "" #: src/panasonicmn.cpp:229 msgid "High (+1)" msgstr "" #: src/panasonicmn.cpp:230 msgid "Lowest (-2)" msgstr "" #: src/panasonicmn.cpp:231 msgid "Highest (+2)" msgstr "" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 msgid "Rotate 180" msgstr "" #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "" #: src/panasonicmn.cpp:254 msgid "Disabled but Required" msgstr "" #: src/panasonicmn.cpp:255 msgid "Disabled and Not Required" msgstr "" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "" #: src/panasonicmn.cpp:282 src/properties.cpp:915 msgid "Home" msgstr "" #: src/panasonicmn.cpp:294 msgid "Standard (color)" msgstr "" #: src/panasonicmn.cpp:295 msgid "Dynamic (color)" msgstr "" #: src/panasonicmn.cpp:296 msgid "Nature (color)" msgstr "" #: src/panasonicmn.cpp:297 msgid "Smooth (color)" msgstr "" #: src/panasonicmn.cpp:298 msgid "Standard (B&W)" msgstr "" #: src/panasonicmn.cpp:299 msgid "Dynamic (B&W)" msgstr "" #: src/panasonicmn.cpp:300 msgid "Smooth (B&W)" msgstr "" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "" #: src/panasonicmn.cpp:307 #, fuzzy msgid "No Bracket" msgstr "Makrotila" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:319 msgid "1st" msgstr "" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "" #: src/panasonicmn.cpp:349 #, fuzzy msgid "Extended" msgstr "Ulkoinen" #: src/panasonicmn.cpp:368 msgid "NoAuto" msgstr "" #: src/panasonicmn.cpp:369 msgid "Standard or Custom" msgstr "" #: src/panasonicmn.cpp:386 msgid "Rotate CW" msgstr "" #: src/panasonicmn.cpp:388 msgid "Rotate CCW" msgstr "" #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "" #: src/panasonicmn.cpp:396 #, fuzzy msgid "Left to Right" msgstr "Omistusoikeus" #: src/panasonicmn.cpp:397 #, fuzzy msgid "Right to Left" msgstr "Kuvalähde" #: src/panasonicmn.cpp:398 msgid "Top to Bottom" msgstr "" #: src/panasonicmn.cpp:399 msgid "Bottom to Top" msgstr "" #: src/panasonicmn.cpp:405 #, fuzzy msgid "Time Lapse" msgstr "Omistajan nimi" #: src/panasonicmn.cpp:406 #, fuzzy msgid "Stop-Motion Animation" msgstr "Värikylläisyys" #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "" #: src/panasonicmn.cpp:423 msgid "Electronic" msgstr "" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "" #: src/panasonicmn.cpp:453 #, fuzzy msgid "White balance adjustment" msgstr " " #: src/panasonicmn.cpp:454 #, fuzzy msgid "FlashBias" msgstr "Salamavalotuksen korjaus" #: src/panasonicmn.cpp:456 src/tags.cpp:194 #, fuzzy msgid "Exif version" msgstr "Firmwaren versio" #: src/panasonicmn.cpp:458 #, fuzzy msgid "Color Effect" msgstr "Väriavaruus" #: src/panasonicmn.cpp:458 #, fuzzy msgid "Color effect" msgstr "Väriavaruus" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" #: src/panasonicmn.cpp:460 #, fuzzy msgid "Burst Mode" msgstr "Makrotila" #: src/panasonicmn.cpp:460 #, fuzzy msgid "Burst mode" msgstr "Makrotila" #: src/panasonicmn.cpp:463 msgid "NoiseReduction" msgstr "" #: src/panasonicmn.cpp:464 #, fuzzy msgid "Self Timer" msgstr "Sarjanumero" #: src/panasonicmn.cpp:467 msgid "AF Assist Lamp" msgstr "" #: src/panasonicmn.cpp:469 msgid "Baby Age 1" msgstr "" #: src/panasonicmn.cpp:469 msgid "Baby (or pet) age 1" msgstr "" #: src/panasonicmn.cpp:470 msgid "Optical Zoom Mode" msgstr "" #: src/panasonicmn.cpp:470 msgid "Optical zoom mode" msgstr "" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "" #: src/panasonicmn.cpp:474 msgid "World Time Location" msgstr "" #: src/panasonicmn.cpp:474 msgid "World time location" msgstr "" #: src/panasonicmn.cpp:475 msgid "Text Stamp 1" msgstr "" #: src/panasonicmn.cpp:476 #, fuzzy msgid "Program ISO" msgstr "Ohjelma" #: src/panasonicmn.cpp:477 #, fuzzy msgid "Advanced Scene Type" msgstr "Linssin tyyppi" #: src/panasonicmn.cpp:478 msgid "Text Stamp 2" msgstr "" #: src/panasonicmn.cpp:479 #, fuzzy msgid "Faces detected" msgstr "Lukuvirhe" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temp Kelvin" msgstr "Oma asetus (Kelvin)" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temperatur in Kelvin" msgstr "Väriavaruus" #: src/panasonicmn.cpp:484 #, fuzzy msgid "Bracket Settings" msgstr "Makrotila" #: src/panasonicmn.cpp:485 msgid "WB Adjust AB" msgstr "" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "" #: src/panasonicmn.cpp:486 msgid "WB Adjust GM" msgstr "" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "" #: src/panasonicmn.cpp:487 #, fuzzy msgid "Flash Curtain" msgstr "Salamavalotuksen korjaus" #: src/panasonicmn.cpp:488 #, fuzzy msgid "Long Shutter Noise Reduction" msgstr "Päällä, punasilmäisyyden esto" #: src/panasonicmn.cpp:491 #, fuzzy msgid "AF Point Position" msgstr "AF-piste" #: src/panasonicmn.cpp:492 #, fuzzy msgid "Face detection info" msgstr "Lukuvirhe" #: src/panasonicmn.cpp:495 #, fuzzy msgid "Accessory Type" msgstr "Linssin tyyppi" #: src/panasonicmn.cpp:495 #, fuzzy msgid "Accessory type" msgstr "Linssin tyyppi" #: src/panasonicmn.cpp:496 #, fuzzy msgid "Accessory Serial Number" msgstr "Sarjanumero" #: src/panasonicmn.cpp:497 msgid "Transform 1" msgstr "" #: src/panasonicmn.cpp:498 #, fuzzy msgid "Intelligent Exposure" msgstr "Automaattivalotus" #: src/panasonicmn.cpp:499 #, fuzzy msgid "Firmware Version of the Lens" msgstr "Firmwaren versio" #: src/panasonicmn.cpp:500 #, fuzzy msgid "Face recognition info" msgstr "Lukuvirhe" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash Warning" msgstr "Varoitus" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash warning" msgstr "Salaman tila" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 msgid "Title" msgstr "" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby Name" msgstr "Omistajan nimi" #: src/panasonicmn.cpp:503 msgid "Baby name (or pet name)" msgstr "" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 msgid "Location" msgstr "" #: src/panasonicmn.cpp:506 src/properties.cpp:441 #, fuzzy msgid "State" msgstr "Ohjelmisto" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "" #: src/panasonicmn.cpp:509 msgid "Intelligent resolution" msgstr "" #: src/panasonicmn.cpp:510 #, fuzzy msgid "Burst Speed" msgstr "Valotusaika" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "" #: src/panasonicmn.cpp:511 msgid "Intelligent Dynamic Range" msgstr "" #: src/panasonicmn.cpp:512 msgid "Clear Retouch" msgstr "" #: src/panasonicmn.cpp:513 msgid "City2" msgstr "" #: src/panasonicmn.cpp:515 #, fuzzy msgid "Photo style" msgstr "Kuvan tiedot" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "" #: src/panasonicmn.cpp:518 msgid "Accelerometer X" msgstr "" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "" #: src/panasonicmn.cpp:519 msgid "Accelerometer Y" msgstr "" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "" #: src/panasonicmn.cpp:520 #, fuzzy msgid "Camera Orientation" msgstr "Kuvan numero" #: src/panasonicmn.cpp:521 msgid "Roll Angle" msgstr "" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "" #: src/panasonicmn.cpp:523 #, fuzzy msgid "Sweep Panorama Direction" msgstr "Panoraama" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "" #: src/panasonicmn.cpp:525 msgid "Timer Recording" msgstr "" #: src/panasonicmn.cpp:526 #, fuzzy msgid "Internal ND Filter" msgstr "Sisäinen salama" #: src/panasonicmn.cpp:528 #, fuzzy msgid "Shutter Type" msgstr "Valotusaika" #: src/panasonicmn.cpp:529 #, fuzzy msgid "Clear Retouch Value" msgstr "Aukko" #: src/panasonicmn.cpp:530 msgid "TouchAE" msgstr "" #: src/panasonicmn.cpp:533 #, fuzzy msgid "MakerNote Version" msgstr "Firmwaren versio" #: src/panasonicmn.cpp:533 #, fuzzy msgid "MakerNote version" msgstr "Firmwaren versio" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB Red Level" msgstr "" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB red level" msgstr "" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB Green Level" msgstr "" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB green level" msgstr "" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB Blue Level" msgstr "" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB blue level" msgstr "" #: src/panasonicmn.cpp:539 msgid "Text Stamp 3" msgstr "" #: src/panasonicmn.cpp:540 msgid "Text Stamp 4" msgstr "" #: src/panasonicmn.cpp:541 msgid "Baby Age 2" msgstr "" #: src/panasonicmn.cpp:541 msgid "Baby (or pet) age 2" msgstr "" #: src/panasonicmn.cpp:542 msgid "Transform 2" msgstr "" #: src/panasonicmn.cpp:544 msgid "Unknown PanasonicMakerNote tag" msgstr "" #: src/panasonicmn.cpp:562 msgid "Spot mode on or 9 area" msgstr "" #: src/panasonicmn.cpp:563 msgid "Spot mode off or 3-area (high speed)" msgstr "" #: src/panasonicmn.cpp:564 msgid "23-area" msgstr "" #: src/panasonicmn.cpp:565 msgid "Spot focussing" msgstr "" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "" #: src/panasonicmn.cpp:568 msgid "1-area (high speed)" msgstr "" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "" #: src/panasonicmn.cpp:572 msgid "3-area (right)" msgstr "" #: src/panasonicmn.cpp:574 #, fuzzy msgid "Spot Focusing 2" msgstr "Käytetty AF-piste" #: src/panasonicmn.cpp:588 msgid " EV" msgstr "" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 msgid "not set" msgstr "" #: src/panasonicmn.cpp:725 #, fuzzy msgid "Panasonic raw version" msgstr "Ohjelman versio" #: src/panasonicmn.cpp:726 #, fuzzy msgid "Sensor Width" msgstr "Linssin tyyppi" #: src/panasonicmn.cpp:726 #, fuzzy msgid "Sensor width" msgstr "Linssin tyyppi" #: src/panasonicmn.cpp:727 #, fuzzy msgid "Sensor Height" msgstr "Keskustaa painottava" #: src/panasonicmn.cpp:727 #, fuzzy msgid "Sensor height" msgstr "Keskustaa painottava" #: src/panasonicmn.cpp:728 msgid "Sensor Top Border" msgstr "" #: src/panasonicmn.cpp:728 msgid "Sensor top border" msgstr "" #: src/panasonicmn.cpp:729 msgid "Sensor Left Border" msgstr "" #: src/panasonicmn.cpp:729 msgid "Sensor left border" msgstr "" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "" #: src/panasonicmn.cpp:739 src/tags.cpp:469 msgid "Manufacturer" msgstr "Valmistaja" #: src/panasonicmn.cpp:739 msgid "The manufacturer of the recording equipment" msgstr "" #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 msgid "Model" msgstr "Malli" #: src/panasonicmn.cpp:740 msgid "The model name or model number of the equipment" msgstr "" #: src/panasonicmn.cpp:741 src/tags.cpp:481 msgid "Strip Offsets" msgstr "" #: src/panasonicmn.cpp:741 msgid "Strip offsets" msgstr "" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 msgid "Orientation" msgstr "" #: src/panasonicmn.cpp:743 msgid "Rows Per Strip" msgstr "" #: src/panasonicmn.cpp:743 msgid "The number of rows per strip" msgstr "" #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip Byte Counts" msgstr "Valotusajan esivalinta (Tv)" #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip byte counts" msgstr "Valotusajan esivalinta (Tv)" #: src/panasonicmn.cpp:745 msgid "Raw Data Offset" msgstr "" #: src/panasonicmn.cpp:745 msgid "Raw data offset" msgstr "" #: src/panasonicmn.cpp:746 src/tags.cpp:797 msgid "Exif IFD Pointer" msgstr "" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "" #: src/panasonicmn.cpp:747 src/tags.cpp:808 msgid "GPS Info IFD Pointer" msgstr "" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "" #: src/panasonicmn.cpp:749 msgid "Unknown PanasonicRaw tag" msgstr "" #: src/pentaxmn.cpp:57 msgid "Night-Scene" msgstr "" #: src/pentaxmn.cpp:199 msgid "Good" msgstr "" #: src/pentaxmn.cpp:200 msgid "Better" msgstr "" #: src/pentaxmn.cpp:201 #, fuzzy msgid "Best" msgstr "tavua" #: src/pentaxmn.cpp:204 #, fuzzy msgid "Premium" msgstr "Keskikokoinen" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "" #: src/pentaxmn.cpp:247 msgid "Auto, Did not fire" msgstr "Auto, ei välähtänyt" #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 #, fuzzy msgid "Off, Did not fire" msgstr "Ei välähtänyt" #: src/pentaxmn.cpp:250 msgid "Auto, Did not fire, Red-eye reduction" msgstr "Auto, ei välähtänyt, punasilmäisyyden esto" #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:252 msgid "Auto, Fired" msgstr "Auto, välähti" #: src/pentaxmn.cpp:253 #, fuzzy msgid "On, Fired" msgstr "Välähti" #: src/pentaxmn.cpp:254 msgid "Auto, Fired, Red-eye reduction" msgstr "Auto, välähti, punasilmäisyyden esto" #: src/pentaxmn.cpp:255 msgid "On, Red-eye reduction" msgstr "Päällä, punasilmäisyyden esto" #: src/pentaxmn.cpp:256 #, fuzzy msgid "On, Wireless (Master)" msgstr "Päällä, langaton" #: src/pentaxmn.cpp:257 #, fuzzy msgid "On, Wireless (Control)" msgstr "Päällä, langaton" #: src/pentaxmn.cpp:258 msgid "On, Soft" msgstr "" #: src/pentaxmn.cpp:259 msgid "On, Slow-sync" msgstr "" #: src/pentaxmn.cpp:260 #, fuzzy msgid "On, Slow-sync, Red-eye reduction" msgstr "Päällä, punasilmäisyyden esto" #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "" #: src/pentaxmn.cpp:272 #, fuzzy msgid "Pan Focus" msgstr "Käsintarkennus, MF" #: src/pentaxmn.cpp:275 msgid "AF-A" msgstr "" #: src/pentaxmn.cpp:276 #, fuzzy msgid "Contrast-detect" msgstr "Kontrasti" #: src/pentaxmn.cpp:277 #, fuzzy msgid "Tracking Contrast-detect" msgstr "Kontrasti" #: src/pentaxmn.cpp:284 #, fuzzy msgid "Fixed Center" msgstr "Tiedostonimi" #: src/pentaxmn.cpp:285 msgid "Automatic Tracking AF" msgstr "" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "" #: src/pentaxmn.cpp:287 #, fuzzy msgid "AF Select" msgstr "Valittu AF-piste" #: src/pentaxmn.cpp:305 msgid "Fixed Center or multiple" msgstr "" #: src/pentaxmn.cpp:307 msgid "Top-center" msgstr "" #: src/pentaxmn.cpp:313 msgid "Bottom-center" msgstr "" #: src/pentaxmn.cpp:402 msgid "Multi Segment" msgstr "" #: src/pentaxmn.cpp:403 #, fuzzy msgid "Center Weighted" msgstr "Keskustaa painottava" #: src/pentaxmn.cpp:415 #, fuzzy msgid "DaylightFluorescent" msgstr "Valkoinen loisteputki" #: src/pentaxmn.cpp:416 #, fuzzy msgid "DaywhiteFluorescent" msgstr "Valkoinen loisteputki" #: src/pentaxmn.cpp:417 #, fuzzy msgid "WhiteFluorescent" msgstr "Valkoinen loisteputki" #: src/pentaxmn.cpp:420 #, fuzzy msgid "Color Temperature Enhancement" msgstr "Oma asetus (Kelvin)" #: src/pentaxmn.cpp:423 #, fuzzy msgid "User Selected" msgstr "Automaattinen" #: src/pentaxmn.cpp:428 msgid "Auto (Daylight)" msgstr "" #: src/pentaxmn.cpp:429 msgid "Auto (Shade)" msgstr "" #: src/pentaxmn.cpp:430 #, fuzzy msgid "Auto (Flash)" msgstr "Ei salamaa" #: src/pentaxmn.cpp:431 #, fuzzy msgid "Auto (Tungsten)" msgstr "Keinovalo" #: src/pentaxmn.cpp:432 #, fuzzy msgid "Auto (DaylightFluorescent)" msgstr "Valkoinen loisteputki" #: src/pentaxmn.cpp:433 msgid "Auto (DaywhiteFluorescent)" msgstr "" #: src/pentaxmn.cpp:434 #, fuzzy msgid "Auto (WhiteFluorescent)" msgstr "Valkoinen loisteputki" #: src/pentaxmn.cpp:435 #, fuzzy msgid "Auto (Cloudy)" msgstr "Pilvinen" #: src/pentaxmn.cpp:437 msgid "Preset (Fireworks?)" msgstr "" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 msgid "Med Low" msgstr "" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 msgid "Med High" msgstr "" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "" #: src/pentaxmn.cpp:473 msgid "Med Soft" msgstr "" #: src/pentaxmn.cpp:474 msgid "Med Hard" msgstr "" #: src/pentaxmn.cpp:475 msgid "Very Soft" msgstr "" #: src/pentaxmn.cpp:476 msgid "Very Hard" msgstr "" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 msgid "Home town" msgstr "" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "" #: src/pentaxmn.cpp:491 msgid "Anchorage" msgstr "" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "" #: src/pentaxmn.cpp:494 msgid "Los Angeles" msgstr "" #: src/pentaxmn.cpp:495 msgid "Calgary" msgstr "" #: src/pentaxmn.cpp:496 msgid "Denver" msgstr "" #: src/pentaxmn.cpp:497 #, fuzzy msgid "Mexico City" msgstr "Linssin tyyppi" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "" #: src/pentaxmn.cpp:509 msgid "London" msgstr "" #: src/pentaxmn.cpp:510 #, fuzzy msgid "Paris" msgstr "Osa-alue" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "" #: src/pentaxmn.cpp:515 msgid "Istanbul" msgstr "" #: src/pentaxmn.cpp:516 #, fuzzy msgid "Cairo" msgstr "Makro" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "" #: src/pentaxmn.cpp:524 #, fuzzy msgid "Male" msgstr "arvo" #: src/pentaxmn.cpp:525 #, fuzzy msgid "Delhi" msgstr "Poista" #: src/pentaxmn.cpp:526 msgid "Colombo" msgstr "" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "" #: src/pentaxmn.cpp:528 msgid "Dacca" msgstr "" #: src/pentaxmn.cpp:529 msgid "Yangon" msgstr "" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "" #: src/pentaxmn.cpp:532 msgid "Vientiane" msgstr "" #: src/pentaxmn.cpp:533 msgid "Singapore" msgstr "" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "" #: src/pentaxmn.cpp:538 #, fuzzy msgid "Perth" msgstr "Suuri" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "" #: src/pentaxmn.cpp:541 #, fuzzy msgid "Manila" msgstr "Manuaalinen" #: src/pentaxmn.cpp:542 msgid "Taipei" msgstr "" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "" #: src/pentaxmn.cpp:548 #, fuzzy msgid "Noumea" msgstr "Normaali" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "" #: src/pentaxmn.cpp:555 #, fuzzy msgid "Athens" msgstr "Linssi" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "" #: src/pentaxmn.cpp:560 msgid "Copenhagen" msgstr "" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "" #: src/pentaxmn.cpp:568 msgid "Unprocessed" msgstr "" #: src/pentaxmn.cpp:570 #, fuzzy msgid "Resized" msgstr "Tiedoston koko" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 msgid "Cropped" msgstr "" #: src/pentaxmn.cpp:573 #, fuzzy msgid "Digital Filter 6" msgstr "Digitaalinen makro" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 #, fuzzy msgid "Hi-speed Program" msgstr "Kuvaustapa" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 #, fuzzy msgid "DOF Program" msgstr "Ohjelma" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 #, fuzzy msgid "MTF Program" msgstr "Ohjelma" #: src/pentaxmn.cpp:588 msgid "Night Scene Portrait" msgstr "" #: src/pentaxmn.cpp:589 msgid "No Flash" msgstr "Ei salamaa" #: src/pentaxmn.cpp:592 msgid "Surf & Snow" msgstr "" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "" #: src/pentaxmn.cpp:600 msgid "Stage Lighting" msgstr "" #: src/pentaxmn.cpp:601 msgid "Night Snap" msgstr "" #: src/pentaxmn.cpp:602 #, fuzzy msgid "Blue Sky" msgstr "arvo" #: src/pentaxmn.cpp:604 msgid "Night Scene HDR" msgstr "" #: src/pentaxmn.cpp:606 #, fuzzy msgid "Quick Macro" msgstr "Makro" #: src/pentaxmn.cpp:607 #, fuzzy msgid "Forest" msgstr "Valkoinen loisteputki" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "" #: src/pentaxmn.cpp:610 msgid "Auto PICT (Standard)" msgstr "" #: src/pentaxmn.cpp:611 msgid "Auto PICT (Portrait)" msgstr "" #: src/pentaxmn.cpp:612 #, fuzzy msgid "Auto PICT (Landscape)" msgstr "Maisemakuva" #: src/pentaxmn.cpp:613 msgid "Auto PICT (Macro)" msgstr "" #: src/pentaxmn.cpp:614 msgid "Auto PICT (Sport)" msgstr "" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 #, fuzzy msgid "Green Mode" msgstr "Linssin malli" #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 #, fuzzy msgid "Shutter Speed Priority" msgstr "Valotusajan esivalinta (Tv)" #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 #, fuzzy msgid "Aperture Priority" msgstr "Aukon esivalinta (Av)" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "" #: src/pentaxmn.cpp:631 #, fuzzy msgid "Program Tv Shift" msgstr "Ohjelma" #: src/pentaxmn.cpp:632 #, fuzzy msgid "Program Av Shift" msgstr "Ohjelma" #: src/pentaxmn.cpp:635 #, fuzzy msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "Aukon esivalinta (Av)" #: src/pentaxmn.cpp:636 msgid "Manual (Off-Auto-Aperture)" msgstr "" #: src/pentaxmn.cpp:637 msgid "Bulb (Off-Auto-Aperture)" msgstr "" #: src/pentaxmn.cpp:639 #, fuzzy msgid "Shutter Priority" msgstr "Valotusajan esivalinta (Tv)" #: src/pentaxmn.cpp:640 #, fuzzy msgid "Shutter & Aperture Priority AE" msgstr "Aukon esivalinta (Av)" #: src/pentaxmn.cpp:641 #, fuzzy msgid "Shutter & Aperture Priority AE (1)" msgstr "Valotusajan esivalinta (Tv)" #: src/pentaxmn.cpp:642 msgid "Sensitivity Priority AE" msgstr "" #: src/pentaxmn.cpp:643 msgid "Sensitivity Priority AE (1)" msgstr "" #: src/pentaxmn.cpp:644 msgid "Flash X-Sync Speed AE" msgstr "" #: src/pentaxmn.cpp:645 msgid "Flash X-Sync Speed AE (1)" msgstr "" #: src/pentaxmn.cpp:646 #, fuzzy msgid "Auto Program (Normal)" msgstr "Ohjelmoitu AE (P)" #: src/pentaxmn.cpp:647 msgid "Auto Program (Hi-Speed)" msgstr "" #: src/pentaxmn.cpp:648 #, fuzzy msgid "Auto Program (DOF)" msgstr "Ohjelmoitu AE (P)" #: src/pentaxmn.cpp:649 #, fuzzy msgid "Auto Program (MTF)" msgstr "Ohjelmoitu AE (P)" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "" #: src/pentaxmn.cpp:651 #, fuzzy msgid "Blur control" msgstr "Täysautomatiikka" #: src/pentaxmn.cpp:654 msgid "Video (30 fps)" msgstr "" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "" #: src/pentaxmn.cpp:662 msgid "Continuous (Hi)" msgstr "" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 msgid "Burst" msgstr "" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 msgid "Video" msgstr "" #: src/pentaxmn.cpp:666 msgid "Self-timer (12 sec)" msgstr "" #: src/pentaxmn.cpp:667 msgid "Self-timer (2 sec)" msgstr "" #: src/pentaxmn.cpp:669 msgid "Mirror Lock-up" msgstr "" #: src/pentaxmn.cpp:670 msgid "Remote Control (3 sec)" msgstr "" #: src/pentaxmn.cpp:671 #, fuzzy msgid "Remote Control" msgstr "Täysautomatiikka" #: src/pentaxmn.cpp:672 #, fuzzy msgid "Remote Continuous Shooting" msgstr "Täysautomatiikka" #: src/pentaxmn.cpp:675 #, fuzzy msgid "HDR Strong 1" msgstr "Värikylläisyys" #: src/pentaxmn.cpp:676 #, fuzzy msgid "HDR Strong 2" msgstr "Värikylläisyys" #: src/pentaxmn.cpp:677 #, fuzzy msgid "HDR Strong 3" msgstr "Värikylläisyys" #: src/pentaxmn.cpp:678 msgid "HDR Auto" msgstr "" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "" #: src/pentaxmn.cpp:691 #, fuzzy msgid "K or M Lens" msgstr "Linssi" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "" #: src/pentaxmn.cpp:970 #, fuzzy msgid "Bright" msgstr "Omistusoikeus" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "" #: src/pentaxmn.cpp:990 msgid "Weakest" msgstr "" #: src/pentaxmn.cpp:991 msgid "Weak" msgstr "" #: src/pentaxmn.cpp:992 #, fuzzy msgid "Strong" msgstr "Värikylläisyys" #: src/pentaxmn.cpp:1112 msgid "No extended bracketing" msgstr "" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "" #: src/pentaxmn.cpp:1133 msgid "Unknown " msgstr "" #: src/pentaxmn.cpp:1146 msgid "Pentax Makernote version" msgstr "" #: src/pentaxmn.cpp:1149 #, fuzzy msgid "Camera shooting mode" msgstr "Kameran malli" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 msgid "Resolution of a preview image" msgstr "" #: src/pentaxmn.cpp:1154 msgid "Length of a preview image" msgstr "" #: src/pentaxmn.cpp:1155 msgid "Size of an IFD containing a preview image" msgstr "" #: src/pentaxmn.cpp:1160 msgid "Model identification" msgstr "" #: src/pentaxmn.cpp:1161 #, fuzzy msgid "Pentax model identification" msgstr "Omistajan nimi" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 msgid "Date" msgstr "" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 msgid "Time" msgstr "" #: src/pentaxmn.cpp:1170 #, fuzzy msgid "Image quality settings" msgstr "Kuvan laatu" #: src/pentaxmn.cpp:1173 #, fuzzy msgid "Image size settings" msgstr "Kuvan koko" #: src/pentaxmn.cpp:1177 #, fuzzy msgid "Flash mode settings" msgstr "Salaman malli" #: src/pentaxmn.cpp:1180 #, fuzzy msgid "Focus mode settings" msgstr "Tarkennustapa" #: src/pentaxmn.cpp:1183 msgid "Selected AF point" msgstr "" #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 #, fuzzy msgid "AF point in focus" msgstr "Käytetty AF-piste" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 #, fuzzy msgid "F-Number" msgstr "F-luku" #: src/pentaxmn.cpp:1195 msgid "ISO sensitivity" msgstr "" #: src/pentaxmn.cpp:1196 msgid "ISO sensitivity settings" msgstr "" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 #, fuzzy msgid "MeteringMode" msgstr "Mittaustapa" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 msgid "AutoBracketing" msgstr "" #: src/pentaxmn.cpp:1216 #, fuzzy msgid "Blue color balance" msgstr "Väriavaruus" #: src/pentaxmn.cpp:1219 #, fuzzy msgid "Red color balance" msgstr "Väriavaruus" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 msgid "FocalLength" msgstr "Polttoväli" #: src/pentaxmn.cpp:1239 msgid "Hometown" msgstr "" #: src/pentaxmn.cpp:1245 msgid "Hometown DST" msgstr "" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "" #: src/pentaxmn.cpp:1248 msgid "Destination DST" msgstr "" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 #, fuzzy msgid "DSPFirmwareVersion" msgstr "Firmwaren versio" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 #, fuzzy msgid "CPUFirmwareVersion" msgstr "Firmwaren versio" #: src/pentaxmn.cpp:1261 #, fuzzy msgid "Light value" msgstr "arvo" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 #, fuzzy msgid "Image area offset" msgstr "Kuvan numero" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 #, fuzzy msgid "Raw image size" msgstr "Kuvan koko" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 msgid "Preview image borders" msgstr "" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 msgid "Sensitivity adjust" msgstr "" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 #, fuzzy msgid "Digital filter" msgstr "Digitaalinen makro" #: src/pentaxmn.cpp:1299 #, fuzzy msgid "Camera temperature" msgstr "Kameran merkki" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 #, fuzzy msgid "Image tone" msgstr "Kuvan tyyppi" #: src/pentaxmn.cpp:1319 #, fuzzy msgid "Shake reduction" msgstr "Päällä, punasilmäisyyden esto" #: src/pentaxmn.cpp:1320 msgid "Shake reduction information" msgstr "" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 msgid "Dynamic range expansion" msgstr "" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 msgid "High ISO noise reduction" msgstr "" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 msgid "AF Adjustment" msgstr "" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 #, fuzzy msgid "Black point" msgstr "Mustavalko" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 msgid "White point" msgstr "" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 msgid "ShotInfo" msgstr "" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 msgid "AEInfo" msgstr "" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 #, fuzzy msgid "LensInfo" msgstr "Linssi" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 #, fuzzy msgid "FlashInfo" msgstr "Salama" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 #, fuzzy msgid "AEMeteringSegments" msgstr "Mittaustapa" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 #, fuzzy msgid "FlashADump" msgstr "Salama" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 #, fuzzy msgid "FlashBDump" msgstr "Salama" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 msgid "WB_RGGBLevelsDaylight" msgstr "" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 msgid "WB_RGGBLevelsShade" msgstr "" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 msgid "WB_RGGBLevelsCloudy" msgstr "" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 msgid "WB_RGGBLevelsTungsten" msgstr "" #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 #, fuzzy msgid "WB_RGGBLevelsFluorescentD" msgstr "Valkoinen loisteputki" #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 #, fuzzy msgid "WB_RGGBLevelsFluorescentN" msgstr "Valkoinen loisteputki" #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 #, fuzzy msgid "WB_RGGBLevelsFluorescentW" msgstr "Valkoinen loisteputki" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 msgid "WB_RGGBLevelsFlash" msgstr "" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 #, fuzzy msgid "CameraInfo" msgstr "Kameran tyyppi" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 msgid "BatteryInfo" msgstr "" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 msgid "AFInfo" msgstr "" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 msgid "ColorInfo" msgstr "" #: src/pentaxmn.cpp:1405 msgid "Unknown PentaxMakerNote tag" msgstr "" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "" #: src/properties.cpp:113 msgid "XMP Basic schema" msgstr "" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "" #: src/properties.cpp:115 msgid "XMP Media Management schema" msgstr "" #: src/properties.cpp:116 msgid "XMP Basic Job Ticket schema" msgstr "" #: src/properties.cpp:117 msgid "XMP Paged-Text schema" msgstr "" #: src/properties.cpp:118 msgid "XMP Dynamic Media schema" msgstr "" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "" #: src/properties.cpp:120 msgid "Adobe Lightroom schema" msgstr "" #: src/properties.cpp:121 msgid "Adobe PDF schema" msgstr "" #: src/properties.cpp:122 msgid "Adobe photoshop schema" msgstr "" #: src/properties.cpp:123 #, fuzzy msgid "Camera Raw schema" msgstr "Kameran merkki" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "" #: src/properties.cpp:127 src/properties.cpp:128 msgid "IPTC Core schema" msgstr "" #: src/properties.cpp:129 src/properties.cpp:130 msgid "IPTC Extension schema" msgstr "" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "" #: src/properties.cpp:132 msgid "iView Media Pro schema" msgstr "" #: src/properties.cpp:133 msgid "Expression Media schema" msgstr "" #: src/properties.cpp:134 msgid "Microsoft Photo 1.2 schema" msgstr "" #: src/properties.cpp:135 msgid "Microsoft Photo RegionInfo schema" msgstr "" #: src/properties.cpp:136 msgid "Microsoft Photo Region schema" msgstr "" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "" #: src/properties.cpp:138 msgid "Metadata Working Group Keywords schema" msgstr "" #: src/properties.cpp:139 msgid "XMP Extended Video schema" msgstr "" #: src/properties.cpp:140 msgid "XMP Extended Audio schema" msgstr "" #: src/properties.cpp:141 msgid "XMP Darwin Core schema" msgstr "" #: src/properties.cpp:142 msgid "Qualified Dublin Core schema" msgstr "" #: src/properties.cpp:143 msgid "ACDSee XMP schema" msgstr "" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "" #: src/properties.cpp:148 #, fuzzy msgid "Colorant structure" msgstr "Kontrasti" #: src/properties.cpp:149 msgid "Dimensions structure" msgstr "" #: src/properties.cpp:150 #, fuzzy msgid "Font structure" msgstr "Kontrasti" #: src/properties.cpp:151 #, fuzzy msgid "Thumbnail structure" msgstr "Näytekuvat" #: src/properties.cpp:152 msgid "Resource Event structure" msgstr "" #: src/properties.cpp:153 msgid "ResourceRef structure" msgstr "" #: src/properties.cpp:154 msgid "Version structure" msgstr "" #: src/properties.cpp:155 msgid "Basic Job/Workflow structure" msgstr "" #: src/properties.cpp:156 #, fuzzy msgid "Area structure" msgstr "Kontrasti" #: src/properties.cpp:159 msgid "Qualifier for xmp:Identifier" msgstr "" #: src/properties.cpp:163 #, fuzzy msgid "Contributor" msgstr "Kontrasti" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "" #: src/properties.cpp:164 msgid "Coverage" msgstr "" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" #: src/properties.cpp:166 #, fuzzy msgid "Creator" msgstr "Kuvan numero" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "" #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "" #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" #: src/properties.cpp:170 src/properties.cpp:1160 #, fuzzy msgid "Format" msgstr "Normaali" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" #: src/properties.cpp:172 src/properties.cpp:228 msgid "Identifier" msgstr "" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "" #: src/properties.cpp:175 msgid "Publisher" msgstr "" #: src/properties.cpp:175 msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" #: src/properties.cpp:178 #, fuzzy msgid "Relation" msgstr "Resoluutioyksikkö" #: src/properties.cpp:178 msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" #: src/properties.cpp:180 msgid "Rights" msgstr "" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" #: src/properties.cpp:183 msgid "Unique identifier of the work from which this resource was derived." msgstr "" #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 #, fuzzy msgid "Type" msgstr "Linssin tyyppi" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "" #: src/properties.cpp:194 msgid "Tags List" msgstr "" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" #: src/properties.cpp:195 msgid "Captions Author Names" msgstr "" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" #: src/properties.cpp:196 msgid "Captions Date Time Stamps" msgstr "" #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" #: src/properties.cpp:197 src/tags.cpp:844 #, fuzzy msgid "Image History" msgstr "Kuvan tyyppi" #: src/properties.cpp:197 msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" #: src/properties.cpp:198 #, fuzzy msgid "Lens Correction Settings" msgstr "Kameran asetukset" #: src/properties.cpp:198 msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" #: src/properties.cpp:199 #, fuzzy msgid "Color Label" msgstr "Väriavaruus" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" #: src/properties.cpp:200 #, fuzzy msgid "Pick Label" msgstr "Suuri" #: src/properties.cpp:200 msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" #: src/properties.cpp:206 #, fuzzy msgid "Panorama Input Files" msgstr "Panoraama" #: src/properties.cpp:206 msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" #: src/properties.cpp:207 msgid "Enfuse Input Files" msgstr "" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" #: src/properties.cpp:208 #, fuzzy msgid "Enfuse Settings" msgstr "Kameran asetukset" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "" #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "" #: src/properties.cpp:216 msgid "Advisory" msgstr "" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" #: src/properties.cpp:219 src/properties.cpp:1066 msgid "Base URL" msgstr "" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" #: src/properties.cpp:224 msgid "Create Date" msgstr "" #: src/properties.cpp:224 msgid "The date and time the resource was originally created." msgstr "" #: src/properties.cpp:225 msgid "Creator Tool" msgstr "" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" #: src/properties.cpp:233 #, fuzzy msgid "Label" msgstr "Suuri" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" #: src/properties.cpp:235 msgid "Metadata Date" msgstr "" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" #: src/properties.cpp:237 #, fuzzy msgid "Modify Date" msgstr "Malli" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" #: src/properties.cpp:240 msgid "Nickname" msgstr "" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "" #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 #, fuzzy msgid "Rating" msgstr "Varoitus" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" #: src/properties.cpp:244 msgid "Thumbnails" msgstr "Näytekuvat" #: src/properties.cpp:244 msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" #: src/properties.cpp:251 msgid "Certificate" msgstr "" #: src/properties.cpp:251 msgid "Online rights management certificate." msgstr "" #: src/properties.cpp:252 msgid "Marked" msgstr "" #: src/properties.cpp:252 msgid "Indicates that this is a rights-managed resource." msgstr "" #: src/properties.cpp:253 #, fuzzy msgid "Owner" msgstr "Omistajan nimi" #: src/properties.cpp:253 msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "" #: src/properties.cpp:254 msgid "Usage Terms" msgstr "" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "" #: src/properties.cpp:255 msgid "Web Statement" msgstr "" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" #: src/properties.cpp:261 msgid "Derived From" msgstr "" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" #: src/properties.cpp:266 msgid "Document ID" msgstr "" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" #: src/properties.cpp:268 #, fuzzy msgid "History" msgstr "Kuvan tyyppi" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" #: src/properties.cpp:272 #, fuzzy msgid "Instance ID" msgstr "Sisäinen salama" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" #: src/properties.cpp:274 msgid "Managed From" msgstr "" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" #: src/properties.cpp:277 #, fuzzy msgid "Manager" msgstr "Suuri" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" #: src/properties.cpp:280 msgid "Manage To" msgstr "" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" #: src/properties.cpp:283 msgid "Manage UI" msgstr "" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" #: src/properties.cpp:285 msgid "Manager Variant" msgstr "" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" #: src/properties.cpp:287 msgid "Rendition Class" msgstr "" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" #: src/properties.cpp:289 msgid "Rendition Params" msgstr "" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" #: src/properties.cpp:291 #, fuzzy msgid "Version ID" msgstr "Ohjelman versio" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr "" #: src/properties.cpp:295 #, fuzzy msgid "Versions" msgstr "Ohjelman versio" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" #: src/properties.cpp:301 msgid "Last URL" msgstr "" #: src/properties.cpp:301 msgid "Deprecated for privacy protection." msgstr "" #: src/properties.cpp:302 msgid "Rendition Of" msgstr "" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" #: src/properties.cpp:304 msgid "Save ID" msgstr "" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "" #: src/properties.cpp:310 msgid "Job Reference" msgstr "" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" #: src/properties.cpp:319 #, fuzzy msgid "Maximum Page Size" msgstr "Kuvan koko" #: src/properties.cpp:319 msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "" #: src/properties.cpp:320 msgid "Number of Pages" msgstr "" #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "" #: src/properties.cpp:321 #, fuzzy msgid "Fonts" msgstr "kuukautta" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" #: src/properties.cpp:322 #, fuzzy msgid "Colorants" msgstr "Väriavaruus" #: src/properties.cpp:322 msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" #: src/properties.cpp:323 #, fuzzy msgid "Plate Names" msgstr "Tiedostonimi" #: src/properties.cpp:323 msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "Project Reference" msgstr "" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "" #: src/properties.cpp:330 src/properties.cpp:1163 msgid "Video Frame Rate" msgstr "" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "Video Frame Size" msgstr "" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "" #: src/properties.cpp:332 msgid "Video Pixel Aspect Ratio" msgstr "" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "Video Pixel Depth" msgstr "" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:335 src/properties.cpp:1081 #, fuzzy msgid "Video Color Space" msgstr "Väriavaruus" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" #: src/properties.cpp:337 msgid "Video Alpha Mode" msgstr "" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "" #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "" #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "" #: src/properties.cpp:341 #, fuzzy msgid "Video Compressor" msgstr "Pakkaus" #: src/properties.cpp:341 msgid "Video compression used. For example, jpeg." msgstr "" #: src/properties.cpp:342 msgid "Video Field Order" msgstr "" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "" #: src/properties.cpp:343 msgid "Pull Down" msgstr "" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "Audio Sample Rate" msgstr "" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "Audio Sample Type" msgstr "" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "Audio Channel Type" msgstr "" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "" #: src/properties.cpp:348 src/properties.cpp:1407 #, fuzzy msgid "Audio Compressor" msgstr "Pakkaus" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "" #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" #: src/properties.cpp:351 src/properties.cpp:1149 #, fuzzy msgid "File Data Rate" msgstr "Tiedostonimi" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "" #: src/properties.cpp:352 src/properties.cpp:1334 #, fuzzy msgid "Tape Name" msgstr "Omistajan nimi" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "" #: src/properties.cpp:353 msgid "Alternative Tape Name" msgstr "" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" #: src/properties.cpp:355 msgid "Start Time Code" msgstr "" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "" #: src/properties.cpp:356 msgid "Alternative Time code" msgstr "" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" #: src/properties.cpp:357 src/properties.cpp:1124 #, fuzzy msgid "Duration" msgstr "Värikylläisyys" #: src/properties.cpp:357 msgid "The duration of the media file." msgstr "" #: src/properties.cpp:358 #, fuzzy msgid "Scene" msgstr "Linssi" #: src/properties.cpp:358 msgid "The name of the scene." msgstr "" #: src/properties.cpp:359 msgid "Shot Name" msgstr "" #: src/properties.cpp:359 msgid "The name of the shot or take." msgstr "" #: src/properties.cpp:360 msgid "Shot Date" msgstr "" #: src/properties.cpp:360 msgid "The date and time when the video was shot." msgstr "" #: src/properties.cpp:361 #, fuzzy msgid "Shot Location" msgstr "Värikylläisyys" #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" #: src/properties.cpp:363 #, fuzzy msgid "Log Comment" msgstr "Oma kommentti" #: src/properties.cpp:363 #, fuzzy msgid "User's log comments." msgstr "Oma kommentti" #: src/properties.cpp:364 msgid "Markers" msgstr "" #: src/properties.cpp:364 msgid "An ordered list of markers" msgstr "" #: src/properties.cpp:365 msgid "Contributed Media" msgstr "" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "" #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:368 msgid "Video Modified Date" msgstr "" #: src/properties.cpp:368 msgid "The date and time when the video was last modified." msgstr "" #: src/properties.cpp:369 msgid "Audio Modified Date" msgstr "" #: src/properties.cpp:369 msgid "The date and time when the audio was last modified." msgstr "" #: src/properties.cpp:370 msgid "Metadata Modified Date" msgstr "" #: src/properties.cpp:370 msgid "The date and time when the metadata was last modified." msgstr "" #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "" #: src/properties.cpp:371 src/properties.cpp:1058 msgid "The name of the artist or artists." msgstr "" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "Album" msgstr "" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "The name of the album." msgstr "" #: src/properties.cpp:373 src/properties.cpp:1366 #, fuzzy msgid "Track Number" msgstr "Sarjanumero" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "Genre" msgstr "" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "The name of the genre." msgstr "" #: src/properties.cpp:375 msgid "The copyright information." msgstr "" #: src/properties.cpp:376 msgid "The date the title was released." msgstr "" #: src/properties.cpp:377 src/properties.cpp:1086 msgid "Composer" msgstr "" #: src/properties.cpp:377 msgid "The composer's name." msgstr "" #: src/properties.cpp:378 src/properties.cpp:1143 msgid "Engineer" msgstr "" #: src/properties.cpp:378 msgid "The engineer's name." msgstr "" #: src/properties.cpp:379 msgid "Tempo" msgstr "" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "" #: src/properties.cpp:380 msgid "Instrument" msgstr "" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "" #: src/properties.cpp:381 msgid "Intro Time" msgstr "" #: src/properties.cpp:381 msgid "The duration of lead time for queuing music." msgstr "" #: src/properties.cpp:382 msgid "Out Cue" msgstr "" #: src/properties.cpp:382 msgid "The time at which to fade out." msgstr "" #: src/properties.cpp:383 #, fuzzy msgid "Relative Timestamp" msgstr "Kuvan aikaleima" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "" #: src/properties.cpp:384 msgid "Loop" msgstr "" #: src/properties.cpp:384 msgid "When true, the clip can be looped seamlessly." msgstr "" #: src/properties.cpp:385 msgid "Number Of Beats" msgstr "" #: src/properties.cpp:385 msgid "The number of beats." msgstr "" #: src/properties.cpp:386 msgid "Key" msgstr "" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "" #: src/properties.cpp:387 #, fuzzy msgid "Stretch Mode" msgstr "Makrotila" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" #: src/properties.cpp:388 msgid "Time Scale Parameters" msgstr "" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "" #: src/properties.cpp:389 msgid "Resample Parameters" msgstr "" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "" #: src/properties.cpp:390 msgid "Beat Splice Parameters" msgstr "" #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "" #: src/properties.cpp:391 msgid "Time Signature" msgstr "" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" #: src/properties.cpp:392 #, fuzzy msgid "Scale Type" msgstr "Kuvan tyyppi" #: src/properties.cpp:392 msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "" #: src/properties.cpp:399 src/tags.cpp:1078 #, fuzzy msgid "Camera Serial Number" msgstr "Kameran sarjanumero" #: src/properties.cpp:399 #, fuzzy msgid "Camera Serial Number." msgstr "Kameran sarjanumero" #: src/properties.cpp:400 msgid "Date Acquired" msgstr "" #: src/properties.cpp:400 msgid "Date Acquired." msgstr "" #: src/properties.cpp:401 #, fuzzy msgid "Flash Manufacturer" msgstr "Valmistaja" #: src/properties.cpp:401 #, fuzzy msgid "Flash Manufacturer." msgstr "Linssin valmistaja" #: src/properties.cpp:402 #, fuzzy msgid "Flash Model." msgstr "Salaman malli" #: src/properties.cpp:403 msgid "Last Keyword IPTC" msgstr "" #: src/properties.cpp:403 msgid "Last Keyword IPTC." msgstr "" #: src/properties.cpp:404 msgid "Last Keyword XMP" msgstr "" #: src/properties.cpp:404 #, fuzzy msgid "Last Keyword XMP." msgstr "Asiasanat" #: src/properties.cpp:405 msgid "Lens Manufacturer" msgstr "Linssin valmistaja" #: src/properties.cpp:405 msgid "Lens Manufacturer." msgstr "Linssin valmistaja" #: src/properties.cpp:406 src/properties.cpp:1199 msgid "Lens Model." msgstr "Linssin malli" #: src/properties.cpp:407 msgid "Rating Percent" msgstr "" #: src/properties.cpp:407 msgid "Rating Percent." msgstr "" #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "" #: src/properties.cpp:414 #, fuzzy msgid "Private RTK Info" msgstr "Kuvan tiedot" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "" #: src/properties.cpp:420 msgid "Keywords." msgstr "Asiasanat" #: src/properties.cpp:421 #, fuzzy msgid "PDF Version" msgstr "Ohjelman versio" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "" #: src/properties.cpp:422 src/properties.cpp:1278 msgid "Producer" msgstr "" #: src/properties.cpp:422 msgid "The name of the tool that created the PDF document." msgstr "" #: src/properties.cpp:428 msgid "Authors Position" msgstr "" #: src/properties.cpp:428 msgid "By-line title." msgstr "" #: src/properties.cpp:429 msgid "Caption Writer" msgstr "" #: src/properties.cpp:429 msgid "Writer/editor." msgstr "" #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "" #: src/properties.cpp:431 msgid "City." msgstr "" #: src/properties.cpp:432 msgid "Country/primary location." msgstr "" #: src/properties.cpp:433 msgid "Credit." msgstr "" #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" #: src/properties.cpp:438 msgid "Headline." msgstr "" #: src/properties.cpp:439 msgid "Special instructions." msgstr "" #: src/properties.cpp:440 src/properties.cpp:1306 #, fuzzy msgid "Source." msgstr "Kuvalähde" #: src/properties.cpp:441 msgid "Province/state." msgstr "" #: src/properties.cpp:442 msgid "Supplemental category." msgstr "" #: src/properties.cpp:443 msgid "Original transmission reference." msgstr "" #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "" #: src/properties.cpp:452 msgid "inches" msgstr "tuumaa" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "cm" #: src/properties.cpp:457 msgid "Auto Brightness" msgstr "" #: src/properties.cpp:457 msgid "When true, \"Brightness\" is automatically adjusted." msgstr "" #: src/properties.cpp:458 #, fuzzy msgid "Auto Contrast" msgstr "Kontrasti" #: src/properties.cpp:458 msgid "When true, \"Contrast\" is automatically adjusted." msgstr "" #: src/properties.cpp:459 msgid "Auto Exposure" msgstr "Automaattivalotus" #: src/properties.cpp:459 msgid "When true, \"Exposure\" is automatically adjusted." msgstr "" #: src/properties.cpp:460 msgid "Auto Shadows" msgstr "" #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "" #: src/properties.cpp:461 msgid "Blue Hue" msgstr "" #: src/properties.cpp:461 msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "" #: src/properties.cpp:462 #, fuzzy msgid "Blue Saturation" msgstr "Värikylläisyys" #: src/properties.cpp:462 msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:463 msgid "\"Brightness\" setting. Range 0 to +150." msgstr "" #: src/properties.cpp:464 #, fuzzy msgid "Camera Profile" msgstr "Kameran malli" #: src/properties.cpp:464 #, fuzzy msgid "\"Camera Profile\" setting." msgstr "Kameran asetukset" #: src/properties.cpp:465 msgid "Chromatic Aberration Blue" msgstr "" #: src/properties.cpp:465 msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:466 msgid "Chromatic Aberration Red" msgstr "" #: src/properties.cpp:466 msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:467 src/properties.cpp:1080 msgid "Color Noise Reduction" msgstr "" #: src/properties.cpp:467 src/properties.cpp:1080 msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:468 msgid "\"Contrast\" setting. Range -50 to +100." msgstr "" #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "" #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "" #: src/properties.cpp:471 msgid "Crop Bottom" msgstr "" #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "" #: src/properties.cpp:472 #, fuzzy msgid "Crop Right" msgstr "Omistusoikeus" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "" #: src/properties.cpp:473 msgid "Crop Angle" msgstr "" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "" #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:476 msgid "Crop Units" msgstr "" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "" #: src/properties.cpp:477 msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "" #: src/properties.cpp:478 #, fuzzy msgid "Green Hue" msgstr "Linssin malli" #: src/properties.cpp:478 msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:479 #, fuzzy msgid "Green Saturation" msgstr "Värikylläisyys" #: src/properties.cpp:479 msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:480 msgid "Has Crop" msgstr "" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "" #: src/properties.cpp:481 #, fuzzy msgid "Has Settings" msgstr "Asetukset" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "" #: src/properties.cpp:482 msgid "Luminance Smoothing" msgstr "" #: src/properties.cpp:482 msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:483 #, fuzzy msgid "Raw File Name" msgstr "Tiedostonimi" #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "" #: src/properties.cpp:484 msgid "Red Hue" msgstr "" #: src/properties.cpp:484 msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:485 #, fuzzy msgid "Red Saturation" msgstr "Värikylläisyys" #: src/properties.cpp:485 msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:486 msgid "\"Saturation\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:487 #, fuzzy msgid "Shadows" msgstr "Varjo" #: src/properties.cpp:487 msgid "\"Shadows\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:488 msgid "Shadow Tint" msgstr "" #: src/properties.cpp:488 msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:489 src/properties.cpp:1301 msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:490 msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "" #: src/properties.cpp:491 msgid "Tint" msgstr "" #: src/properties.cpp:491 msgid "\"Tint\" setting. Range -150 to +150." msgstr "" #: src/properties.cpp:492 #, fuzzy msgid "Tone Curve" msgstr "Kontrasti" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "" #: src/properties.cpp:493 #, fuzzy msgid "Tone Curve Name" msgstr "Omistajan nimi" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "" #: src/properties.cpp:496 msgid "Vignette Amount" msgstr "" #: src/properties.cpp:496 msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:497 msgid "Vignette Midpoint" msgstr "" #: src/properties.cpp:497 msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "" #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 #, fuzzy msgid "Image Length" msgstr "Polttoväli" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "" #: src/properties.cpp:507 msgid "Bits Per Sample" msgstr "" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "" #: src/properties.cpp:508 src/tags.cpp:434 msgid "Compression" msgstr "Pakkaus" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "" #: src/properties.cpp:509 src/tags.cpp:440 msgid "Photometric Interpretation" msgstr "" #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "" #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" #: src/properties.cpp:519 msgid "Samples Per Pixel" msgstr "" #: src/properties.cpp:519 msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "" #: src/properties.cpp:520 src/tags.cpp:514 msgid "Planar Configuration" msgstr "" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "" #: src/properties.cpp:521 msgid "YCbCr Sub Sampling" msgstr "" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" #: src/properties.cpp:523 src/tags.cpp:720 msgid "YCbCr Positioning" msgstr "" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" #: src/properties.cpp:525 src/properties.cpp:1390 #, fuzzy msgid "X Resolution" msgstr "Resoluutioyksikkö" #: src/properties.cpp:525 msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "" #: src/properties.cpp:526 src/properties.cpp:1392 #, fuzzy msgid "Y Resolution" msgstr "Resoluutioyksikkö" #: src/properties.cpp:526 msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "" #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 msgid "Resolution Unit" msgstr "Resoluutioyksikkö" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" #: src/properties.cpp:529 src/tags.cpp:540 msgid "Transfer Function" msgstr "" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" #: src/properties.cpp:531 src/tags.cpp:572 #, fuzzy msgid "White Point" msgstr "AF-piste" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "" #: src/properties.cpp:532 src/tags.cpp:577 msgid "Primary Chromaticities" msgstr "" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "" #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "" #: src/properties.cpp:534 #, fuzzy msgid "Reference Black White" msgstr "Mustavalkoinen" #: src/properties.cpp:534 msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "" #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 msgid "Date and Time" msgstr "Päiväys ja aika" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" #: src/properties.cpp:541 src/tags.cpp:462 #, fuzzy msgid "Image Description" msgstr "Kuvan vakautus" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" #: src/properties.cpp:542 msgid "Make" msgstr "" #: src/properties.cpp:542 msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "" #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "" #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" #: src/properties.cpp:546 msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" #: src/properties.cpp:548 msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" #: src/properties.cpp:555 src/tags.cpp:1605 #, fuzzy msgid "Exif Version" msgstr "Ohjelman versio" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "" #: src/properties.cpp:556 #, fuzzy msgid "Flashpix Version" msgstr "Firmwaren versio" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "" #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "" #: src/properties.cpp:558 src/tags.cpp:1616 msgid "Components Configuration" msgstr "" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" #: src/properties.cpp:560 src/tags.cpp:825 msgid "Compressed Bits Per Pixel" msgstr "" #: src/properties.cpp:560 msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "" #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "" #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "" #: src/properties.cpp:564 src/tags.cpp:1674 msgid "User Comment" msgstr "Oma kommentti" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "" #: src/properties.cpp:565 src/tags.cpp:1716 msgid "Related Sound File" msgstr "" #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" #: src/properties.cpp:566 src/properties.cpp:1110 #, fuzzy msgid "Date and Time Original" msgstr "Päiväys ja aika" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" #: src/properties.cpp:569 src/properties.cpp:1111 #, fuzzy msgid "Date and Time Digitized" msgstr "Päiväys ja aika" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" #: src/properties.cpp:573 msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "" #: src/properties.cpp:574 src/properties.cpp:1157 #, fuzzy msgid "F Number" msgstr "F-luku" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "" #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "" #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 msgid "Spectral Sensitivity" msgstr "" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "" #: src/properties.cpp:577 #, fuzzy msgid "ISOSpeedRatings" msgstr "ISO-herkkyys" #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" #: src/properties.cpp:581 msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "" #: src/properties.cpp:582 src/tags.cpp:828 #, fuzzy msgid "Brightness Value" msgstr "Aukko" #: src/properties.cpp:582 msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "" #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "" #: src/properties.cpp:584 src/properties.cpp:1211 #, fuzzy msgid "Maximum Aperture Value" msgstr "Aukko" #: src/properties.cpp:584 msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "" #: src/properties.cpp:585 msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "" #: src/properties.cpp:586 msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "" #: src/properties.cpp:587 msgid "EXIF tag 37384, 0x9208. Light source." msgstr "" #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "" #: src/properties.cpp:589 msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "" #: src/properties.cpp:590 src/tags.cpp:1666 #, fuzzy msgid "Subject Area" msgstr "Kohteen etäisyys" #: src/properties.cpp:590 msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 #, fuzzy msgid "Flash Energy" msgstr "Salaman tila" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "" #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "" #: src/properties.cpp:592 msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" #: src/properties.cpp:594 src/tags.cpp:839 msgid "Focal Plane X Resolution" msgstr "" #: src/properties.cpp:594 msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "" #: src/properties.cpp:595 src/tags.cpp:840 msgid "Focal Plane Y Resolution" msgstr "" #: src/properties.cpp:595 msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "" #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 #, fuzzy msgid "Focal Plane Resolution Unit" msgstr "Resoluutioyksikkö" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 #, fuzzy msgid "Subject Location" msgstr "Kohteen etäisyys" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" #: src/properties.cpp:600 src/tags.cpp:846 #, fuzzy msgid "Exposure Index" msgstr "Valotustila" #: src/properties.cpp:600 msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "" #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 msgid "Sensing Method" msgstr "" #: src/properties.cpp:601 msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "" #: src/properties.cpp:602 msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "" #: src/properties.cpp:603 src/tags.cpp:1771 #, fuzzy msgid "Scene Type" msgstr "Linssin tyyppi" #: src/properties.cpp:603 msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "" #: src/properties.cpp:604 src/tags.cpp:761 msgid "CFA Pattern" msgstr "" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" #: src/properties.cpp:605 src/tags.cpp:1781 msgid "Custom Rendered" msgstr "" #: src/properties.cpp:605 msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "" #: src/properties.cpp:606 msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "" #: src/properties.cpp:607 msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "" #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 #, fuzzy msgid "Digital Zoom Ratio" msgstr "Digitaalinen zoom" #: src/properties.cpp:608 msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "" #: src/properties.cpp:609 src/tags.cpp:1800 #, fuzzy msgid "Focal Length In 35mm Film" msgstr "Polttoväli" #: src/properties.cpp:609 msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" #: src/properties.cpp:612 src/tags.cpp:1806 msgid "Scene Capture Type" msgstr "" #: src/properties.cpp:612 msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "" #: src/properties.cpp:613 src/tags.cpp:1811 #, fuzzy msgid "Gain Control" msgstr "Täysautomatiikka" #: src/properties.cpp:613 msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "" #: src/properties.cpp:614 msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" #: src/properties.cpp:615 msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" #: src/properties.cpp:616 msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" #: src/properties.cpp:617 src/tags.cpp:1826 msgid "Device Setting Description" msgstr "" #: src/properties.cpp:617 msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" #: src/properties.cpp:618 src/tags.cpp:1831 #, fuzzy msgid "Subject Distance Range" msgstr "Kohteen etäisyys" #: src/properties.cpp:618 msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "" #: src/properties.cpp:619 src/tags.cpp:1834 #, fuzzy msgid "Image Unique ID" msgstr "Kuvan koko" #: src/properties.cpp:619 msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 #, fuzzy msgid "GPS Version ID" msgstr "Ohjelman versio" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "" #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "" #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 msgid "GPS Altitude Reference" msgstr "" #: src/properties.cpp:625 src/properties.cpp:1168 msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "" #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "" #: src/properties.cpp:626 src/properties.cpp:1167 msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "" #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 msgid "GPS Time Stamp" msgstr "" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 msgid "GPS Satellites" msgstr "" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:634 src/tags.cpp:1989 msgid "GPS Status" msgstr "" #: src/properties.cpp:634 msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "" #: src/properties.cpp:635 src/tags.cpp:1994 #, fuzzy msgid "GPS Measure Mode" msgstr "Valotustila" #: src/properties.cpp:635 msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "" #: src/properties.cpp:636 msgid "GPS DOP" msgstr "" #: src/properties.cpp:636 msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "" #: src/properties.cpp:637 src/tags.cpp:2002 msgid "GPS Speed Reference" msgstr "" #: src/properties.cpp:637 msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "" #: src/properties.cpp:638 src/tags.cpp:2006 #, fuzzy msgid "GPS Speed" msgstr "ISO-herkkyys" #: src/properties.cpp:638 msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "" #: src/properties.cpp:639 msgid "GPS Track Reference" msgstr "" #: src/properties.cpp:639 msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "" #: src/properties.cpp:640 src/tags.cpp:2013 msgid "GPS Track" msgstr "" #: src/properties.cpp:640 msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 msgid "GPS Image Direction Reference" msgstr "" #: src/properties.cpp:641 msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "" #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 #, fuzzy msgid "GPS Image Direction" msgstr "Kuvan numero" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 msgid "GPS Map Datum" msgstr "" #: src/properties.cpp:643 msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "" #: src/properties.cpp:644 src/tags.cpp:2033 msgid "GPS Destination Latitude" msgstr "" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" #: src/properties.cpp:645 src/tags.cpp:2045 msgid "GPS Destination Longitude" msgstr "" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" #: src/properties.cpp:646 src/tags.cpp:2052 msgid "GPS Destination Bearing Reference" msgstr "" #: src/properties.cpp:646 msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "" #: src/properties.cpp:647 src/tags.cpp:2056 msgid "GPS Destination Bearing" msgstr "" #: src/properties.cpp:647 msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "" #: src/properties.cpp:648 src/tags.cpp:2060 msgid "GPS Destination Distance Reference" msgstr "" #: src/properties.cpp:648 msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "" #: src/properties.cpp:649 src/tags.cpp:2064 #, fuzzy msgid "GPS Destination Distance" msgstr "Kohteen etäisyys" #: src/properties.cpp:649 msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "" #: src/properties.cpp:650 src/tags.cpp:2067 msgid "GPS Processing Method" msgstr "" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" #: src/properties.cpp:651 src/tags.cpp:2072 msgid "GPS Area Information" msgstr "" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "" #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "" #: src/properties.cpp:652 msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "" #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "" #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "" #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" #: src/properties.cpp:667 msgid "Contact Info-Address" msgstr "" #: src/properties.cpp:667 msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" #: src/properties.cpp:669 msgid "Contact Info-City" msgstr "" #: src/properties.cpp:669 msgid "sub-key Creator Contact Info: city." msgstr "" #: src/properties.cpp:670 msgid "Contact Info-State/Province" msgstr "" #: src/properties.cpp:670 msgid "sub-key Creator Contact Info: state or province." msgstr "" #: src/properties.cpp:671 msgid "Contact Info-Postal Code" msgstr "" #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "" #: src/properties.cpp:672 msgid "Contact Info-Country" msgstr "" #: src/properties.cpp:672 msgid "sub-key Creator Contact Info: country." msgstr "" #: src/properties.cpp:673 msgid "Contact Info-Email" msgstr "" #: src/properties.cpp:673 msgid "sub-key Creator Contact Info: email address." msgstr "" #: src/properties.cpp:674 msgid "Contact Info-Phone" msgstr "" #: src/properties.cpp:674 msgid "sub-key Creator Contact Info: phone number." msgstr "" #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "" #: src/properties.cpp:675 msgid "sub-key Creator Contact Info: web address." msgstr "" #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" #: src/properties.cpp:678 msgid "IPTC Scene" msgstr "" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" #: src/properties.cpp:680 #, fuzzy msgid "IPTC Subject Code" msgstr "Kohteen etäisyys" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" #: src/properties.cpp:682 msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" #: src/properties.cpp:687 msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" #: src/properties.cpp:696 msgid "Additional model info" msgstr "" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "" #: src/properties.cpp:697 msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "" #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" #: src/properties.cpp:699 #, fuzzy msgid "Model age" msgstr "Malli" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "" #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "" #: src/properties.cpp:701 msgid "Person shown" msgstr "" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "" #: src/properties.cpp:702 msgid "Digital Image Identifier" msgstr "" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "" #: src/properties.cpp:703 msgid "The type of the source digital file." msgstr "" #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 msgid "Event" msgstr "" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "" #: src/properties.cpp:705 msgid "Maximum available height" msgstr "" #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:706 msgid "Maximum available width" msgstr "" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:707 msgid "Registry Entry" msgstr "" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" #: src/properties.cpp:708 msgid "Registry Entry-Item Identifier" msgstr "" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "" #: src/properties.cpp:710 msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "" #: src/properties.cpp:711 msgid "Location shown" msgstr "" #: src/properties.cpp:711 msgid "A location shown in the image." msgstr "" #: src/properties.cpp:712 msgid "Location Created" msgstr "" #: src/properties.cpp:712 msgid "The location the photo was taken." msgstr "" #: src/properties.cpp:713 msgid "Location-City" msgstr "" #: src/properties.cpp:713 msgid "Name of the city of a location." msgstr "" #: src/properties.cpp:714 msgid "Location-Country ISO-Code" msgstr "" #: src/properties.cpp:714 msgid "The ISO code of a country of a location." msgstr "" #: src/properties.cpp:715 msgid "Location-Country Name" msgstr "" #: src/properties.cpp:715 msgid "The name of a country of a location." msgstr "" #: src/properties.cpp:716 msgid "Location-Province/State" msgstr "" #: src/properties.cpp:716 msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "" #: src/properties.cpp:717 msgid "Location-Sublocation" msgstr "" #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" #: src/properties.cpp:718 msgid "Location-World Region" msgstr "" #: src/properties.cpp:718 msgid "The name of a world region of a location." msgstr "" #: src/properties.cpp:719 msgid "Artwork or object in the image" msgstr "" #: src/properties.cpp:719 msgid "A set of metadata about artwork or an object in the image." msgstr "" #: src/properties.cpp:720 msgid "Artwork or object-Copyright notice" msgstr "" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" #: src/properties.cpp:721 msgid "Artwork or object-Creator" msgstr "" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" #: src/properties.cpp:722 msgid "Artwork or object-Date Created" msgstr "" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" #: src/properties.cpp:723 msgid "Artwork or object-Source" msgstr "" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" #: src/properties.cpp:724 msgid "Artwork or object-Source inventory number" msgstr "" #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" #: src/properties.cpp:725 msgid "Artwork or object-Title" msgstr "" #: src/properties.cpp:725 msgid "A reference for the artwork or object in the image." msgstr "" #: src/properties.cpp:732 msgid "Scan from film" msgstr "" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "" #: src/properties.cpp:734 msgid "Scan from print" msgstr "" #: src/properties.cpp:735 #, fuzzy msgid "Camera RAW" msgstr "Kameran merkki" #: src/properties.cpp:736 #, fuzzy msgid "Camera TIFF" msgstr "Kameran tyyppi" #: src/properties.cpp:737 #, fuzzy msgid "Camera JPEG" msgstr "Kameran merkki" #: src/properties.cpp:742 #, fuzzy msgid "PLUS Version" msgstr "Ohjelman versio" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "" #: src/properties.cpp:743 #, fuzzy msgid "Licensee" msgstr "Linssi" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "" #: src/properties.cpp:744 #, fuzzy msgid "Licensee ID" msgstr "Linssi" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "" #: src/properties.cpp:745 #, fuzzy msgid "Licensee Name" msgstr "Omistajan nimi" #: src/properties.cpp:745 msgid "Name of each Licensee." msgstr "" #: src/properties.cpp:746 #, fuzzy msgid "End User" msgstr "Omistajan nimi" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "" #: src/properties.cpp:747 #, fuzzy msgid "End User ID" msgstr "Omistajan nimi" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "" #: src/properties.cpp:748 #, fuzzy msgid "End User Name" msgstr "Omistajan nimi" #: src/properties.cpp:748 msgid "Name of each End User." msgstr "" #: src/properties.cpp:749 #, fuzzy msgid "Licensor" msgstr "Linssi" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "" #: src/properties.cpp:750 #, fuzzy msgid "Licensor ID" msgstr "Linssi" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "" #: src/properties.cpp:751 #, fuzzy msgid "Licensor Name" msgstr "Omistajan nimi" #: src/properties.cpp:751 msgid "Name of each Licensor." msgstr "" #: src/properties.cpp:752 #, fuzzy msgid "Licensor Address" msgstr "Linssin ominaisuudet" #: src/properties.cpp:752 #, fuzzy msgid "Licensor street address." msgstr "Linssin ominaisuudet" #: src/properties.cpp:753 msgid "Licensor Address Detail" msgstr "" #: src/properties.cpp:753 msgid "Additional Licensor mailing address details." msgstr "" #: src/properties.cpp:754 #, fuzzy msgid "Licensor City" msgstr "Linssin tyyppi" #: src/properties.cpp:754 #, fuzzy msgid "Licensor City name." msgstr "Linssin tyyppi" #: src/properties.cpp:755 msgid "Licensor State or Province" msgstr "" #: src/properties.cpp:755 #, fuzzy msgid "Licensor State or Province name." msgstr "Linssin sarjanumero" #: src/properties.cpp:756 #, fuzzy msgid "Licensor Postal Code" msgstr "Linssin ominaisuudet" #: src/properties.cpp:756 msgid "Licensor Postal Code or Zip Code." msgstr "" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country" msgstr "Linssin tyyppi" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country name." msgstr "Omistajan nimi" #: src/properties.cpp:758 #, fuzzy msgid "Licensor Telephone Type 1" msgstr "Linssin sarjanumero" #: src/properties.cpp:758 #, fuzzy msgid "Licensor Telephone Type 1." msgstr "Linssin sarjanumero" #: src/properties.cpp:759 #, fuzzy msgid "Licensor Telephone 1" msgstr "Linssin sarjanumero" #: src/properties.cpp:759 #, fuzzy msgid "Licensor Telephone number 1." msgstr "Linssin sarjanumero" #: src/properties.cpp:760 #, fuzzy msgid "Licensor Telephone Type 2" msgstr "Linssin sarjanumero" #: src/properties.cpp:760 #, fuzzy msgid "Licensor Telephone Type 2." msgstr "Linssin sarjanumero" #: src/properties.cpp:761 #, fuzzy msgid "Licensor Telephone 2" msgstr "Linssin sarjanumero" #: src/properties.cpp:761 #, fuzzy msgid "Licensor Telephone number 2." msgstr "Linssin sarjanumero" #: src/properties.cpp:762 #, fuzzy msgid "Licensor Email" msgstr "Omistajan nimi" #: src/properties.cpp:762 #, fuzzy msgid "Licensor Email address." msgstr "Omistajan nimi" #: src/properties.cpp:763 #, fuzzy msgid "Licensor URL" msgstr "Linssi" #: src/properties.cpp:763 msgid "Licensor world wide web address." msgstr "" #: src/properties.cpp:764 #, fuzzy msgid "Licensor Notes" msgstr "Linssin ominaisuudet" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" #: src/properties.cpp:765 msgid "PLUS Media Summary Code" msgstr "" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" #: src/properties.cpp:766 #, fuzzy msgid "License Start Date" msgstr "Omistajan nimi" #: src/properties.cpp:766 msgid "The date on which the license takes effect." msgstr "" #: src/properties.cpp:767 #, fuzzy msgid "License End Date" msgstr "Omistajan nimi" #: src/properties.cpp:767 msgid "The date on which the license expires." msgstr "" #: src/properties.cpp:768 msgid "Media Constraints" msgstr "" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" #: src/properties.cpp:769 msgid "Region Constraints" msgstr "" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" #: src/properties.cpp:770 msgid "Product or Service Constraints" msgstr "" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" #: src/properties.cpp:771 msgid "Image File Constraints" msgstr "" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "" #: src/properties.cpp:772 msgid "Image Alteration Constraints" msgstr "" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" #: src/properties.cpp:773 msgid "Image Duplication Constraints" msgstr "" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "" #: src/properties.cpp:774 #, fuzzy msgid "Model Release Status" msgstr "Mallin ID" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" #: src/properties.cpp:775 #, fuzzy msgid "Model Release ID" msgstr "Mallin ID" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "" #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "" #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "" #: src/properties.cpp:777 msgid "Property Release Status" msgstr "" #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" #: src/properties.cpp:778 #, fuzzy msgid "Property Release ID" msgstr "Mallin ID" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "" #: src/properties.cpp:779 msgid "Other Constraints" msgstr "" #: src/properties.cpp:779 msgid "Additional constraints on the license." msgstr "" #: src/properties.cpp:780 msgid "Credit Line Required" msgstr "" #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "" #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "" #: src/properties.cpp:782 msgid "Other License Requirements" msgstr "" #: src/properties.cpp:782 msgid "Additional license requirements." msgstr "" #: src/properties.cpp:783 msgid "Terms and Conditions Text" msgstr "" #: src/properties.cpp:783 msgid "Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:784 msgid "Terms and Conditions URL" msgstr "" #: src/properties.cpp:784 msgid "URL for Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:785 msgid "Other License Conditions" msgstr "" #: src/properties.cpp:785 msgid "Additional license conditions." msgstr "" #: src/properties.cpp:786 msgid "Identifies the type of image delivered." msgstr "" #: src/properties.cpp:787 #, fuzzy msgid "Licensor Image ID" msgstr "Omistajan nimi" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "" #: src/properties.cpp:788 msgid "Image File Name As Delivered" msgstr "" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "" #: src/properties.cpp:789 msgid "Image File Format As Delivered" msgstr "" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "" #: src/properties.cpp:790 msgid "Image File Size As Delivered" msgstr "" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "" #: src/properties.cpp:791 #, fuzzy msgid "Copyright Status" msgstr "Omistusoikeus" #: src/properties.cpp:791 #, fuzzy msgid "Copyright status of the image." msgstr "Omistusoikeus" #: src/properties.cpp:792 #, fuzzy msgid "Copyright Registration Number" msgstr "Omistajan nimi" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" #: src/properties.cpp:793 msgid "First Publication Date" msgstr "" #: src/properties.cpp:793 msgid "The date on which the image was first published." msgstr "" #: src/properties.cpp:794 #, fuzzy msgid "Copyright Owner" msgstr "Omistusoikeus" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "" #: src/properties.cpp:795 #, fuzzy msgid "Copyright Owner ID" msgstr "Omistusoikeus" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "" #: src/properties.cpp:796 #, fuzzy msgid "Copyright Owner Name" msgstr "Omistajan nimi" #: src/properties.cpp:796 #, fuzzy msgid "Name of Copyright Owner." msgstr "Omistusoikeus" #: src/properties.cpp:797 #, fuzzy msgid "Copyright Owner Image ID" msgstr "Omistusoikeus" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "" #: src/properties.cpp:798 #, fuzzy msgid "Image Creator" msgstr "Kuvan numero" #: src/properties.cpp:798 msgid "Creator/s of the image." msgstr "" #: src/properties.cpp:799 #, fuzzy msgid "Image Creator ID" msgstr "Kuvan numero" #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "" #: src/properties.cpp:800 #, fuzzy msgid "Image Creator Name" msgstr "Kuvan aikaleima" #: src/properties.cpp:800 #, fuzzy msgid "Name of Image Creator." msgstr "Kuvan numero" #: src/properties.cpp:801 #, fuzzy msgid "Image Creator Image ID" msgstr "Kuvan aikaleima" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "" #: src/properties.cpp:802 #, fuzzy msgid "Image Supplier ID" msgstr "Kuvan koko" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "" #: src/properties.cpp:803 #, fuzzy msgid "Image Supplier Name" msgstr "Kuvan koko" #: src/properties.cpp:803 #, fuzzy msgid "Name of Image Supplier." msgstr "Kuvan koko" #: src/properties.cpp:804 #, fuzzy msgid "Image Supplier Image ID" msgstr "Kuvan koko" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "" #: src/properties.cpp:805 #, fuzzy msgid "Licensee Image ID" msgstr "Omistajan nimi" #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "" #: src/properties.cpp:806 #, fuzzy msgid "Licensee Image Notes" msgstr "Linssin ominaisuudet" #: src/properties.cpp:806 msgid "Notes added by Licensee." msgstr "" #: src/properties.cpp:807 msgid "Other Image Info" msgstr "" #: src/properties.cpp:807 msgid "Additional image information." msgstr "" #: src/properties.cpp:808 #, fuzzy msgid "License ID" msgstr "Linssi" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "" #: src/properties.cpp:809 msgid "Licensor Transaction ID" msgstr "" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "" #: src/properties.cpp:810 msgid "Licensee Transaction ID" msgstr "" #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" #: src/properties.cpp:811 msgid "Licensee Project Reference" msgstr "" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "" #: src/properties.cpp:812 msgid "License Transaction Date" msgstr "" #: src/properties.cpp:812 msgid "The date of the License Transaction." msgstr "" #: src/properties.cpp:813 msgid "Reuse" msgstr "" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" #: src/properties.cpp:814 msgid "Other License Documents" msgstr "" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "" #: src/properties.cpp:815 msgid "Other License Info" msgstr "" #: src/properties.cpp:815 msgid "Additional license information." msgstr "" #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "" #: src/properties.cpp:819 msgid "Custom 4" msgstr "" #: src/properties.cpp:820 msgid "Custom 5" msgstr "" #: src/properties.cpp:821 msgid "Custom 6" msgstr "" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "" #: src/properties.cpp:822 msgid "Custom 7" msgstr "" #: src/properties.cpp:823 msgid "Custom 8" msgstr "" #: src/properties.cpp:824 msgid "Custom 9" msgstr "" #: src/properties.cpp:825 msgid "Custom 10" msgstr "" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "" #: src/properties.cpp:833 msgid "Not Required" msgstr "" #: src/properties.cpp:839 msgid "Protected" msgstr "" #: src/properties.cpp:840 msgid "Public Domain" msgstr "" #: src/properties.cpp:846 msgid "Credit Adjacent To Image" msgstr "" #: src/properties.cpp:847 msgid "Credit in Credits Area" msgstr "" #: src/properties.cpp:848 msgid "Credit on Image" msgstr "" #: src/properties.cpp:849 msgid "Not Require" msgstr "" #: src/properties.cpp:854 msgid "No Colorization" msgstr "" #: src/properties.cpp:855 msgid "No Cropping" msgstr "" #: src/properties.cpp:856 msgid "No De-Colorization" msgstr "" #: src/properties.cpp:857 msgid "No Flipping" msgstr "" #: src/properties.cpp:858 msgid "No Merging" msgstr "" #: src/properties.cpp:859 msgid "No Retouching" msgstr "" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "" #: src/properties.cpp:865 msgid "No Duplication Constraints" msgstr "" #: src/properties.cpp:866 msgid "No Duplication" msgstr "" #: src/properties.cpp:871 msgid "Maintain File Name" msgstr "" #: src/properties.cpp:872 msgid "Maintain File Type" msgstr "" #: src/properties.cpp:873 msgid "Maintain ID in File Name" msgstr "" #: src/properties.cpp:874 msgid "Maintain Metadata" msgstr "" #: src/properties.cpp:879 msgid "Windows Bitmap (BMP)" msgstr "" #: src/properties.cpp:880 msgid "Digital Negative (DNG)" msgstr "" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "" #: src/properties.cpp:882 msgid "Graphics Interchange Format (GIF)" msgstr "" #: src/properties.cpp:883 msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "" #: src/properties.cpp:889 msgid "Tagged Image File Format (TIFF)" msgstr "" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "" #: src/properties.cpp:896 msgid "Up to 1 MB" msgstr "" #: src/properties.cpp:897 msgid "Up to 10 MB" msgstr "" #: src/properties.cpp:898 msgid "Up to 30 MB" msgstr "" #: src/properties.cpp:899 msgid "Up to 50 MB" msgstr "" #: src/properties.cpp:904 msgid "Illustrated Image" msgstr "" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "" #: src/properties.cpp:913 msgid "Cell" msgstr "" #: src/properties.cpp:914 msgid "FAX" msgstr "" #: src/properties.cpp:916 #, fuzzy msgid "Pager" msgstr "Suuri" #: src/properties.cpp:917 msgid "Work" msgstr "" #: src/properties.cpp:922 #, fuzzy msgid "Age Unknown" msgstr "Tuntematon" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "" #: src/properties.cpp:924 msgid "Age 24" msgstr "" #: src/properties.cpp:925 msgid "Age 23" msgstr "" #: src/properties.cpp:926 msgid "Age 22" msgstr "" #: src/properties.cpp:927 msgid "Age 21" msgstr "" #: src/properties.cpp:928 msgid "Age 20" msgstr "" #: src/properties.cpp:929 msgid "Age 19" msgstr "" #: src/properties.cpp:930 msgid "Age 18" msgstr "" #: src/properties.cpp:931 msgid "Age 17" msgstr "" #: src/properties.cpp:932 msgid "Age 16" msgstr "" #: src/properties.cpp:933 msgid "Age 15" msgstr "" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "" #: src/properties.cpp:941 #, fuzzy msgid "Unlimited Model Releases" msgstr "Mallin ID" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "" #: src/properties.cpp:949 msgid "Unlimited Property Releases" msgstr "" #: src/properties.cpp:950 msgid "Limited or Incomplete Property Releases" msgstr "" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "" #: src/properties.cpp:960 src/properties.cpp:969 msgid "Fixture Identification" msgstr "" #: src/properties.cpp:961 src/properties.cpp:970 msgid "Status" msgstr "" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "" #: src/properties.cpp:962 src/properties.cpp:971 msgid "People" msgstr "" #: src/properties.cpp:963 src/properties.cpp:972 #, fuzzy msgid "Catalog Sets" msgstr "Sarjanumero" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "" #: src/properties.cpp:978 #, fuzzy msgid "RegionInfo" msgstr "Linssi" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "" #: src/properties.cpp:984 src/properties.cpp:1000 #, fuzzy msgid "Regions" msgstr "Ohjelman versio" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "" #: src/properties.cpp:985 msgid "Date Regions Valid" msgstr "" #: src/properties.cpp:985 msgid "Date the last region was created" msgstr "" #: src/properties.cpp:991 #, fuzzy msgid "Person Display Name" msgstr "Tiedostonimi" #: src/properties.cpp:991 msgid "Name of the person (in the given rectangle)" msgstr "" #: src/properties.cpp:992 msgid "Rectangle" msgstr "" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "" #: src/properties.cpp:993 msgid "Person Email Digest" msgstr "" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "" #: src/properties.cpp:994 msgid "Person LiveId CID" msgstr "" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "" #: src/properties.cpp:1001 #, fuzzy msgid "Applied To Dimensions" msgstr "Ohjelman versio" #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "" #: src/properties.cpp:1002 #, fuzzy msgid "Region List" msgstr "Ohjelman versio" #: src/properties.cpp:1002 #, fuzzy msgid "List of Region structures" msgstr "Kontrasti" #: src/properties.cpp:1003 #, fuzzy msgid "Area" msgstr "Salaman tila" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" #: src/properties.cpp:1007 #, fuzzy msgid "Focus Usage" msgstr "Tarkennustapa" #: src/properties.cpp:1008 #, fuzzy msgid "Bar Code Value" msgstr "Makrotila" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "" #: src/properties.cpp:1009 #, fuzzy msgid "Extensions" msgstr "Ohjelman versio" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "" #: src/properties.cpp:1015 msgid "Main structure containing keyword based information" msgstr "" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "" #: src/properties.cpp:1016 #, fuzzy msgid "List of root keyword structures" msgstr "Kontrasti" #: src/properties.cpp:1017 #, fuzzy msgid "Keyword" msgstr "Avainsanat" #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "" #: src/properties.cpp:1018 msgid "Applied" msgstr "" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" #: src/properties.cpp:1019 #, fuzzy msgid "List of children keyword structures" msgstr "Kontrasti" #: src/properties.cpp:1026 #, fuzzy msgid "Use Panorama Viewer" msgstr "Panoraama" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" #: src/properties.cpp:1027 #, fuzzy msgid "Capture Software" msgstr "Ohjelmisto" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" #: src/properties.cpp:1028 #, fuzzy msgid "Stitching Software" msgstr "Ohjelmisto" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" #: src/properties.cpp:1029 #, fuzzy msgid "Projection Type" msgstr "Linssin tyyppi" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "" #: src/properties.cpp:1034 msgid "The pitch angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" #: src/properties.cpp:1037 msgid "First Photo Date" msgstr "" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "" #: src/properties.cpp:1038 msgid "Last Photo Date" msgstr "" #: src/properties.cpp:1038 msgid "Date and time for the last image created in the panorama." msgstr "" #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "" #: src/properties.cpp:1040 #, fuzzy msgid "Exposure Lock Used" msgstr "Valotustila" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" #: src/properties.cpp:1041 #, fuzzy msgid "Cropped Area Image Width Pixels" msgstr "Kuvan laatu" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" #: src/properties.cpp:1042 #, fuzzy msgid "Cropped Area Image Height Pixels" msgstr "Kuvan tyyppi" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" #: src/properties.cpp:1047 #, fuzzy msgid "Initial Camera Dolly" msgstr "Kameran malli" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" #: src/properties.cpp:1055 #, fuzzy msgid "Archival Location" msgstr "Värikylläisyys" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "" #: src/properties.cpp:1056 msgid "Arranger" msgstr "" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "" #: src/properties.cpp:1057 #, fuzzy msgid "Arranger Keywords" msgstr "Avainsanat" #: src/properties.cpp:1057 msgid "Information about the Arranger Keywords." msgstr "" #: src/properties.cpp:1059 msgid "Video Aspect Ratio" msgstr "" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "" #: src/properties.cpp:1060 msgid "Video Aspect Ratio Type" msgstr "" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "" #: src/properties.cpp:1062 #, fuzzy msgid "Attached File Description" msgstr "Kuvan vakautus" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "" #: src/properties.cpp:1064 #, fuzzy msgid "Attached File Name" msgstr "Tiedostonimi" #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "" #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" #: src/properties.cpp:1068 #, fuzzy msgid "Brightness setting." msgstr "Terävyys" #: src/properties.cpp:1069 #, fuzzy msgid "Camera Byte Order" msgstr "Kameran tyyppi" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "" #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "" #: src/properties.cpp:1070 msgid "The video Cinematographer information." msgstr "" #: src/properties.cpp:1071 #, fuzzy msgid "Clean Aperture Width" msgstr "Aukko" #: src/properties.cpp:1071 msgid "Clean aperture width in pixels" msgstr "" #: src/properties.cpp:1072 #, fuzzy msgid "Clean Aperture Height" msgstr "Salaman tila" #: src/properties.cpp:1072 msgid "Clean aperture height in pixels" msgstr "" #: src/properties.cpp:1073 #, fuzzy msgid "Video Codec" msgstr "Pakkaus" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" #: src/properties.cpp:1074 msgid "Video Codec Decode Info" msgstr "" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1075 #, fuzzy msgid "Video Codec Description" msgstr "Kuvan vakautus" #: src/properties.cpp:1075 src/properties.cpp:1403 msgid "Contains description the codec." msgstr "" #: src/properties.cpp:1076 #, fuzzy msgid "Video Codec Information" msgstr "Kuvan vakautus" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL" msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL." msgstr "" #: src/properties.cpp:1078 #, fuzzy msgid "Video Codec Settings" msgstr "Kameran asetukset" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1083 #, fuzzy msgid "Comment" msgstr "Oma kommentti" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned" msgstr "Pakkaus" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned." msgstr "Pakkaus" #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1086 msgid "Information about the Composer." msgstr "" #: src/properties.cpp:1087 #, fuzzy msgid "Composer Keywords" msgstr "Avainsanat" #: src/properties.cpp:1087 msgid "Information about the Composer Keywords." msgstr "" #: src/properties.cpp:1088 #, fuzzy msgid "Compressor" msgstr "Pakkaus" #: src/properties.cpp:1088 #, fuzzy msgid "Video Compression Library Used" msgstr "Pakkaus" #: src/properties.cpp:1089 #, fuzzy msgid "Video Compressor ID" msgstr "Pakkaus" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "" #: src/properties.cpp:1090 #, fuzzy msgid "Compressor Version" msgstr "Pakkaus" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "" #: src/properties.cpp:1091 #, fuzzy msgid "Container Type" msgstr "Kameran tyyppi" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "" #: src/properties.cpp:1092 #, fuzzy msgid "Content Compression Algorithm" msgstr "Pakkaus" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "" #: src/properties.cpp:1097 msgid "Indicates the direction of contrast processing applied by the camera." msgstr "" #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "" #: src/properties.cpp:1100 msgid "Name of the country where the video was created." msgstr "" #: src/properties.cpp:1101 #, fuzzy msgid "Creation Date" msgstr "Omistajan nimi" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" #: src/properties.cpp:1103 msgid "Pixel Crop Bottom" msgstr "" #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "" #: src/properties.cpp:1104 #, fuzzy msgid "Pixel Crop Left" msgstr "Polttoväli" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "" #: src/properties.cpp:1105 #, fuzzy msgid "Pixel Crop Right" msgstr "Omistusoikeus" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "" #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "" #: src/properties.cpp:1107 msgid "Pixel Crop Top" msgstr "" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "" #: src/properties.cpp:1108 #, fuzzy msgid "Current Time" msgstr "Valotusaika" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "" #: src/properties.cpp:1109 msgid "Data Packets" msgstr "" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "" #: src/properties.cpp:1110 msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "" #: src/properties.cpp:1111 msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" #: src/properties.cpp:1113 #, fuzzy msgid "Date-Time Original" msgstr "Päiväys ja aika" #: src/properties.cpp:1113 #, fuzzy msgid "Contains the production date" msgstr "Päällä, punasilmäisyyden esto" #: src/properties.cpp:1114 msgid "Video Track Default On" msgstr "" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1115 msgid "Indicates the digital zoom ratio when the video was shot." msgstr "" #: src/properties.cpp:1116 #, fuzzy msgid "Dimensions" msgstr "Ohjelman versio" #: src/properties.cpp:1116 msgid "Information about the Dimensions of the video frame." msgstr "" #: src/properties.cpp:1117 #, fuzzy msgid "Director" msgstr "F-luku" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "" #: src/properties.cpp:1118 msgid "Video Display Unit" msgstr "" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1120 #, fuzzy msgid "Doc Type" msgstr "Tarkennustapa" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" #: src/properties.cpp:1121 #, fuzzy msgid "Doc Type Read Version" msgstr "Ohjelman versio" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" #: src/properties.cpp:1122 #, fuzzy msgid "Doc Type Version" msgstr "Ohjelman versio" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "" #: src/properties.cpp:1124 msgid "The duration of the media file. Measured in milli-seconds." msgstr "" #: src/properties.cpp:1125 #, fuzzy msgid "EBML Read Version" msgstr "Ohjelman versio" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "" #: src/properties.cpp:1126 #, fuzzy msgid "EBML Version" msgstr "Ohjelman versio" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "" #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "" #: src/properties.cpp:1136 msgid "Edited By" msgstr "" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1137 msgid "Video Track Enabled" msgstr "" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels width in pixels" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "" #: src/properties.cpp:1141 msgid "Encoder" msgstr "" #: src/properties.cpp:1141 msgid "Information about the Encoder." msgstr "" #: src/properties.cpp:1142 msgid "End Timecode" msgstr "" #: src/properties.cpp:1143 msgid "Engineer, in most cases name of person." msgstr "" #: src/properties.cpp:1144 #, fuzzy msgid "Equipment" msgstr "Firmwaren versio" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "" #: src/properties.cpp:1145 #, fuzzy msgid "Exposure Compensation Information." msgstr "Valotustila" #: src/properties.cpp:1146 #, fuzzy msgid "Exposure Program Information." msgstr "Kuvaustapa" #: src/properties.cpp:1147 #, fuzzy msgid "Exposure time in seconds." msgstr "Valotusaika" #: src/properties.cpp:1148 msgid "Extended Content Description" msgstr "" #: src/properties.cpp:1148 msgid "Extended Content Description, usually found in ASF type files." msgstr "" #: src/properties.cpp:1150 #, fuzzy msgid "File ID" msgstr "Tiedostonimi" #: src/properties.cpp:1150 msgid "File ID." msgstr "" #: src/properties.cpp:1151 #, fuzzy msgid "File Length" msgstr "Polttoväli" #: src/properties.cpp:1151 #, fuzzy msgid "File length." msgstr "Polttoväli" #: src/properties.cpp:1152 #, fuzzy msgid "File Name" msgstr "Tiedostonimi" #: src/properties.cpp:1152 msgid "File Name or Absolute File Path" msgstr "" #: src/properties.cpp:1153 #, fuzzy msgid "File Size" msgstr "Tiedoston koko" #: src/properties.cpp:1153 #, fuzzy msgid "File Size, in MB" msgstr "Tiedoston koko" #: src/properties.cpp:1154 #, fuzzy msgid "File Type" msgstr "Kuvan tyyppi" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "" #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "" #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "" #: src/properties.cpp:1158 msgid "Focal length of the lens, in millimeters." msgstr "" #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "" #: src/properties.cpp:1161 #, fuzzy msgid "Frame Count" msgstr "Kuvan laatu" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "" #: src/properties.cpp:1162 #, fuzzy msgid "Frame Height" msgstr "Salaman tila" #: src/properties.cpp:1162 msgid "Height of frames in a video" msgstr "" #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" #: src/properties.cpp:1165 #, fuzzy msgid "Frame Width" msgstr "Salaman tila" #: src/properties.cpp:1165 msgid "Width of frames in a video" msgstr "" #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "" #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "" #: src/properties.cpp:1171 msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:1172 #, fuzzy msgid "Reference for image direction." msgstr "Panoraama" #: src/properties.cpp:1173 msgid "(North/South). Indicates latitude." msgstr "" #: src/properties.cpp:1174 msgid "(East/West). Indicates longitude." msgstr "" #: src/properties.cpp:1175 msgid "Geodetic survey data." msgstr "" #: src/properties.cpp:1176 msgid "Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:1177 msgid "Time stamp of GPS data, " msgstr "" #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "" #: src/properties.cpp:1179 #, fuzzy msgid "Graphics Mode" msgstr "Salaman tila" #: src/properties.cpp:1179 msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" #: src/properties.cpp:1181 msgid "Grouping" msgstr "" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 #, fuzzy msgid "Handler Description" msgstr "Kuvan vakautus" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 #, fuzzy msgid "Handler Type" msgstr "Kuvan tyyppi" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Handler Vendor ID" msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 #, fuzzy msgid "Component manufacturer." msgstr "Linssin valmistaja" #: src/properties.cpp:1186 #, fuzzy msgid "Video Height" msgstr "Keskustaa painottava" #: src/properties.cpp:1186 src/properties.cpp:1309 msgid "Video height in pixels" msgstr "" #: src/properties.cpp:1187 msgid "Hue Adjustment Settings Information." msgstr "" #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "" #: src/properties.cpp:1189 msgid "Information Banner Image." msgstr "" #: src/properties.cpp:1190 msgid "Info Banner URL" msgstr "" #: src/properties.cpp:1190 msgid "Information Banner URL." msgstr "" #: src/properties.cpp:1191 #, fuzzy msgid "Information" msgstr "Värikylläisyys" #: src/properties.cpp:1191 msgid "Additional Movie Information." msgstr "" #: src/properties.cpp:1192 msgid "Info Text" msgstr "" #: src/properties.cpp:1192 #, fuzzy msgid "Information Text." msgstr "Värikylläisyys" #: src/properties.cpp:1193 #, fuzzy msgid "Info URL" msgstr "Linssi" #: src/properties.cpp:1193 #, fuzzy msgid "Information URL." msgstr "Värikylläisyys" #: src/properties.cpp:1194 msgid "Information about the ISO Setting." msgstr "" #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "" #: src/properties.cpp:1196 #, fuzzy msgid "Junk Data" msgstr "Linssin tyyppi" #: src/properties.cpp:1196 msgid "Video Junk data" msgstr "" #: src/properties.cpp:1197 #, fuzzy msgid "Language." msgstr "Suuri" #: src/properties.cpp:1198 #, fuzzy msgid "Length" msgstr "Polttoväli" #: src/properties.cpp:1198 msgid "The length of the media file." msgstr "" #: src/properties.cpp:1200 #, fuzzy msgid "Lens Type." msgstr "Linssin tyyppi" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness" msgstr "Kuvalähde" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness." msgstr "Kuvalähde" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information" msgstr "Värikylläisyys" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information." msgstr "Värikylläisyys" #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "" #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "" #: src/properties.cpp:1204 #, fuzzy msgid "Logo URL" msgstr "Linssi" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "" #: src/properties.cpp:1205 msgid "Lyrics" msgstr "" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "" #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "" #: src/properties.cpp:1207 #, fuzzy msgid "Equipment Make" msgstr "Firmwaren versio" #: src/properties.cpp:1207 msgid "Manufacturer of recording equipment" msgstr "" #: src/properties.cpp:1208 #, fuzzy msgid "Camera Maker Note Type" msgstr "Kameran tyyppi" #: src/properties.cpp:1208 msgid "Maker Note Type of the camera." msgstr "" #: src/properties.cpp:1209 #, fuzzy msgid "Camera Maker Note Version" msgstr "Firmwaren versio" #: src/properties.cpp:1209 #, fuzzy msgid "Maker Note Version of the camera." msgstr "Firmwaren versio" #: src/properties.cpp:1210 #, fuzzy msgid "Maker URL" msgstr "Makrotila" #: src/properties.cpp:1210 #, fuzzy msgid "Camera Manufacturer's URL." msgstr "Linssin valmistaja" #: src/properties.cpp:1211 msgid "Smallest F number of lens, in APEX." msgstr "" #: src/properties.cpp:1212 #, fuzzy msgid "Maximum Bit Rate" msgstr "Aukko" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" #: src/properties.cpp:1213 #, fuzzy msgid "Maximum Data Rate" msgstr "Tiedostonimi" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "Media Track Create Date" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 #, fuzzy msgid "Media Track Duration" msgstr "Värikylläisyys" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 #, fuzzy msgid "Media Header Version" msgstr "Ohjelman versio" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "Media Language Code" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 #, fuzzy msgid "Media Track Modify Date" msgstr "Malli" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" #: src/properties.cpp:1220 #, fuzzy msgid "Medium." msgstr "Keskikokoinen" #: src/properties.cpp:1221 msgid "Metadata" msgstr "" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1222 msgid "Metadata Library" msgstr "" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "" #: src/properties.cpp:1223 #, fuzzy msgid "Metering mode." msgstr "Mittaustapa" #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "" #: src/properties.cpp:1225 #, fuzzy msgid "Mime Type" msgstr "Kuvan tyyppi" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "" #: src/properties.cpp:1226 #, fuzzy msgid "QTime Minor FileType Version" msgstr "Firmwaren versio" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "" #: src/properties.cpp:1227 #, fuzzy msgid "Equipment Model" msgstr "Firmwaren versio" #: src/properties.cpp:1227 msgid "Model name or number of equipment." msgstr "" #: src/properties.cpp:1228 #, fuzzy msgid "Modification Date-Time" msgstr "Omistajan nimi" #: src/properties.cpp:1228 msgid "Contains the modification date of the video" msgstr "" #: src/properties.cpp:1229 #, fuzzy msgid "Movie Header Version" msgstr "Ohjelman versio" #: src/properties.cpp:1230 msgid "Music By" msgstr "" #: src/properties.cpp:1230 msgid "Music By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1231 msgid "Muxing App" msgstr "" #: src/properties.cpp:1231 msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" #: src/properties.cpp:1232 msgid "Name of song or the event." msgstr "" #: src/properties.cpp:1233 msgid "Next Track ID" msgstr "" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" #: src/properties.cpp:1234 msgid "Number Of Colours" msgstr "" #: src/properties.cpp:1234 msgid "Total number of colours used" msgstr "" #: src/properties.cpp:1235 msgid "Number Of Important Colours" msgstr "" #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1236 msgid "Number Of Parts" msgstr "" #: src/properties.cpp:1236 msgid "Total number of parts in the video." msgstr "" #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" #: src/properties.cpp:1238 #, fuzzy msgid "Organization" msgstr "Värikylläisyys" #: src/properties.cpp:1238 msgid "Name of organization associated with the video." msgstr "" #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" #: src/properties.cpp:1248 #, fuzzy msgid "Part" msgstr "Osa-alue" #: src/properties.cpp:1248 #, fuzzy msgid "Part." msgstr "Osa-alue" #: src/properties.cpp:1249 msgid "Performers" msgstr "" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords" msgstr "Avainsanat" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords." msgstr "Asiasanat" #: src/properties.cpp:1251 msgid "Performer URL" msgstr "" #: src/properties.cpp:1251 msgid "Performer's dedicated URL." msgstr "" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data" msgstr "Kuvan tiedot" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data." msgstr "Kuvan tiedot" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Version" msgstr "Kuvan tiedot" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Data Version." msgstr "Kuvan tiedot" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name" msgstr "Kuvan tiedot" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name." msgstr "Kuvan tiedot" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Base" msgstr "Kuvan tiedot" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Data Base." msgstr "Kuvan tiedot" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust" msgstr "Kuvan tiedot" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust Information." msgstr "Värikylläisyys" #: src/properties.cpp:1257 #, fuzzy msgid "Picture Control Quick Adjust" msgstr "Kuvan tiedot" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection" msgstr "ISO-herkkyys" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection." msgstr "ISO-herkkyys" #: src/properties.cpp:1259 #, fuzzy msgid "Play Mode" msgstr "Salaman tila" #: src/properties.cpp:1259 msgid "Information about the Play Mode." msgstr "" #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "" #: src/properties.cpp:1260 msgid "Contains the information of External media." msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1265 msgid "Planes" msgstr "" #: src/properties.cpp:1265 msgid "The number of Image Planes in the video" msgstr "" #: src/properties.cpp:1266 #, fuzzy msgid "Poster Time" msgstr "Valotusaika" #: src/properties.cpp:1266 msgid "The time value of the time of the movie poster." msgstr "" #: src/properties.cpp:1267 msgid "Preferred Rate" msgstr "" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1269 msgid "Preroll" msgstr "" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" #: src/properties.cpp:1272 #, fuzzy msgid "Preview Atom Type" msgstr "Esikatselu" #: src/properties.cpp:1272 msgid "Indicates the type of atom that contains the preview data" msgstr "" #: src/properties.cpp:1273 #, fuzzy msgid "Preview Date" msgstr "Esikatselu" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "" #: src/properties.cpp:1274 #, fuzzy msgid "Preview Duration" msgstr "Esikatselu" #: src/properties.cpp:1274 msgid "The duration of the movie preview in movie time scale units" msgstr "" #: src/properties.cpp:1275 #, fuzzy msgid "Preview Time" msgstr "Esikatselu" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "" #: src/properties.cpp:1276 msgid "The version of the movie preview " msgstr "" #: src/properties.cpp:1277 msgid "Produced By" msgstr "" #: src/properties.cpp:1277 msgid "Produced By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1278 msgid "Producer involved with the video." msgstr "" #: src/properties.cpp:1279 #, fuzzy msgid "Producer Keywords" msgstr "Avainsanat" #: src/properties.cpp:1279 msgid "Information about the Producer Keywords." msgstr "" #: src/properties.cpp:1280 #, fuzzy msgid "Production Aperture Width" msgstr "Aukko" #: src/properties.cpp:1280 msgid "Production aperture width in pixels" msgstr "" #: src/properties.cpp:1281 #, fuzzy msgid "Production Aperture Height" msgstr "Aukko" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "" #: src/properties.cpp:1282 msgid "Production Designer" msgstr "" #: src/properties.cpp:1282 msgid "Information about the Production Designer." msgstr "" #: src/properties.cpp:1283 msgid "Production Studio" msgstr "" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "" #: src/properties.cpp:1284 msgid "Product" msgstr "" #: src/properties.cpp:1284 msgid "Product." msgstr "" #: src/properties.cpp:1286 msgid "Rate" msgstr "" #: src/properties.cpp:1286 msgid "Rate." msgstr "" #: src/properties.cpp:1287 msgid "Rated" msgstr "" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "" #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright" msgstr "Omistusoikeus" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright." msgstr "Omistusoikeus" #: src/properties.cpp:1292 msgid "Requirements" msgstr "" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "" #: src/properties.cpp:1293 msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" #: src/properties.cpp:1294 msgid "Ripped By" msgstr "" #: src/properties.cpp:1294 msgid "Ripped By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1295 msgid "Indicates the direction of saturation processing applied by the camera." msgstr "" #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "" #: src/properties.cpp:1296 msgid "The name of the secondary genre.." msgstr "" #: src/properties.cpp:1297 #, fuzzy msgid "Selection Time" msgstr "ISO-herkkyys" #: src/properties.cpp:1297 msgid "The time value for the start time of the current selection." msgstr "" #: src/properties.cpp:1298 #, fuzzy msgid "Selection Duration" msgstr "Värikylläisyys" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "" #: src/properties.cpp:1299 #, fuzzy msgid "Send Duration" msgstr "Värikylläisyys" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "" #: src/properties.cpp:1303 #, fuzzy msgid "Software Version" msgstr "Firmwaren versio" #: src/properties.cpp:1303 msgid "The Version of the software used." msgstr "" #: src/properties.cpp:1304 msgid "Song Writer" msgstr "" #: src/properties.cpp:1304 msgid "The name of the song writer." msgstr "" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords" msgstr "Avainsanat" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords." msgstr "Asiasanat" #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits" msgstr "Kuvalähde" #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits." msgstr "Kuvalähde" #: src/properties.cpp:1308 #, fuzzy msgid "Source Form" msgstr "Kuvalähde" #: src/properties.cpp:1308 #, fuzzy msgid "Source Form." msgstr "Kuvalähde" #: src/properties.cpp:1309 #, fuzzy msgid "Source Image Height" msgstr "Kuvan tyyppi" #: src/properties.cpp:1310 #, fuzzy msgid "Source Image Width" msgstr "Kuvan laatu" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "" #: src/properties.cpp:1311 msgid "Starring" msgstr "" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "" #: src/properties.cpp:1312 msgid "Start Timecode" msgstr "" #: src/properties.cpp:1313 msgid "Statistics" msgstr "" #: src/properties.cpp:1313 msgid "Statistics." msgstr "" #: src/properties.cpp:1314 #, fuzzy msgid "Stream Count" msgstr "Valotusajan esivalinta (Tv)" #: src/properties.cpp:1314 msgid "Total Number Of Streams" msgstr "" #: src/properties.cpp:1315 #, fuzzy msgid "Stream Name" msgstr "Tiedostonimi" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "" #: src/properties.cpp:1316 #, fuzzy msgid "Stream Quality" msgstr "Kuvan laatu" #: src/properties.cpp:1316 #, fuzzy msgid "General Stream Quality" msgstr "Kuvan laatu" #: src/properties.cpp:1317 #, fuzzy msgid "Stream Sample Rate" msgstr "Valotusaika" #: src/properties.cpp:1318 #, fuzzy msgid "Stream Sample Count" msgstr "Valotusajan esivalinta (Tv)" #: src/properties.cpp:1319 #, fuzzy msgid "Stream Sample Size" msgstr "Valotusaika" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "" #: src/properties.cpp:1320 #, fuzzy msgid "Stream Type" msgstr "Kuvan tyyppi" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1321 msgid "Subtitles Codec" msgstr "" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "" #: src/properties.cpp:1322 msgid "Subtitle Codec Decode Info" msgstr "" #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1323 #, fuzzy msgid "Subtitles Codec Information" msgstr "Värikylläisyys" #: src/properties.cpp:1323 msgid "Contains additional information about subtitles." msgstr "" #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "" #: src/properties.cpp:1325 #, fuzzy msgid "Subtitle Codec Settings" msgstr "Kuvan tiedot" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1327 msgid "Subtitle Track Enabled" msgstr "" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1328 msgid "Subtitle" msgstr "" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords" msgstr "Avainsanat" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords." msgstr "Asiasanat" #: src/properties.cpp:1330 #, fuzzy msgid "Subtitles Language" msgstr "Suuri" #: src/properties.cpp:1330 msgid "The Language in which the subtitles is recorded in." msgstr "" #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1332 msgid "Subtitle Track Lacing" msgstr "" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1333 #, fuzzy msgid "Subject. " msgstr "Kohteen etäisyys" #: src/properties.cpp:1334 #, fuzzy msgid "TapeName." msgstr "Omistajan nimi" #: src/properties.cpp:1335 #, fuzzy msgid "Tag Default Setting" msgstr "Kameran asetukset" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "" #: src/properties.cpp:1336 #, fuzzy msgid "Tag Language" msgstr "Suuri" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "" #: src/properties.cpp:1337 #, fuzzy msgid "Tag Name" msgstr "Omistajan nimi" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1338 msgid "Tag String" msgstr "" #: src/properties.cpp:1338 msgid "Information contained in a Tags" msgstr "" #: src/properties.cpp:1339 #, fuzzy msgid "Target Type" msgstr "Kuvan tyyppi" #: src/properties.cpp:1339 msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "" #: src/properties.cpp:1340 msgid "Technician" msgstr "" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "" #: src/properties.cpp:1341 #, fuzzy msgid "Thumbnail Height" msgstr "Näytekuva" #: src/properties.cpp:1341 #, fuzzy msgid "Preview Image Thumbnail Height." msgstr "Kuvan koko" #: src/properties.cpp:1342 #, fuzzy msgid "Preview Image Thumbnail Length." msgstr "Näytekuva" #: src/properties.cpp:1343 #, fuzzy msgid "Thumbnail Width" msgstr "Näytekuva" #: src/properties.cpp:1343 #, fuzzy msgid "Preview Image Thumbnail Width." msgstr "Kuvan koko" #: src/properties.cpp:1344 msgid "Timecode Scale" msgstr "" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "" #: src/properties.cpp:1345 src/properties.cpp:1428 #, fuzzy msgid "Time Offset" msgstr "Pois" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" #: src/properties.cpp:1346 #, fuzzy msgid "Time Scale" msgstr "Omistajan nimi" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1350 msgid "Toning Effect Settings Applied." msgstr "" #: src/properties.cpp:1351 msgid "Total Frame Count" msgstr "" #: src/properties.cpp:1352 msgid "Number Of Streams" msgstr "" #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1353 #, fuzzy msgid "Track" msgstr "Makrotila" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "" #: src/properties.cpp:1354 msgid "Video Track Create Date" msgstr "" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" #: src/properties.cpp:1355 msgid "Video Track Duration" msgstr "" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced" msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 #, fuzzy msgid "Track ID" msgstr "Sarjanumero" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 #, fuzzy msgid "Track Header Version" msgstr "Firmwaren versio" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 #, fuzzy msgid "Track Language" msgstr "Suuri" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "The Language in which a particular stream is recorded in." msgstr "" #: src/properties.cpp:1361 msgid "Video Track Layer" msgstr "" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" #: src/properties.cpp:1364 #, fuzzy msgid "Video Track Modify Date" msgstr "Malli" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" #: src/properties.cpp:1365 #, fuzzy msgid "Track Name" msgstr "Sarjanumero" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "" #: src/properties.cpp:1366 #, fuzzy msgid "Track Number." msgstr "Sarjanumero" #: src/properties.cpp:1367 src/properties.cpp:1440 #, fuzzy msgid "Track Volume" msgstr "Sarjanumero" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "" #: src/properties.cpp:1368 msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" #: src/properties.cpp:1369 src/properties.cpp:1370 #, fuzzy msgid "Unknown Information" msgstr "Värikylläisyys" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1371 #, fuzzy msgid "Video URL" msgstr "Linssi" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1372 msgid "Video URN" msgstr "" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1373 #, fuzzy msgid "Vari Program" msgstr "Ohjelma" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "" #: src/properties.cpp:1376 msgid "Vendor" msgstr "" #: src/properties.cpp:1376 msgid "The developer of the compressor that generated the compressed data." msgstr "" #: src/properties.cpp:1377 src/properties.cpp:1443 #, fuzzy msgid "Vendor ID" msgstr "Linssi" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" #: src/properties.cpp:1378 #, fuzzy msgid "Video Quality" msgstr "Kuvanlaatu" #: src/properties.cpp:1378 msgid "Video Stream Quality" msgstr "" #: src/properties.cpp:1379 msgid "Video Sample Size" msgstr "" #: src/properties.cpp:1379 msgid "Video Stream Sample Size" msgstr "" #: src/properties.cpp:1380 #, fuzzy msgid "Video Scan Type" msgstr "Kuvan tyyppi" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "" #: src/properties.cpp:1381 msgid "Watermark URL" msgstr "" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "" #: src/properties.cpp:1384 #, fuzzy msgid "White Balance Fine Tune." msgstr "Valkotasapaino" #: src/properties.cpp:1385 #, fuzzy msgid "Video Width" msgstr "Linssin tyyppi" #: src/properties.cpp:1386 #, fuzzy msgid "Window Location" msgstr "Värikylläisyys" #: src/properties.cpp:1386 msgid "Information about the Window Location." msgstr "" #: src/properties.cpp:1388 msgid "Written By" msgstr "" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1389 msgid "Writing App" msgstr "" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" #: src/properties.cpp:1390 msgid "Horizontal resolution in pixels per unit." msgstr "" #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "" #: src/properties.cpp:1391 msgid "Year in which the video was made." msgstr "" #: src/properties.cpp:1392 msgid "Vertical resolution in pixels per unit." msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "" #: src/properties.cpp:1398 #, fuzzy msgid "Balance" msgstr "Valkotasapaino" #: src/properties.cpp:1398 msgid "Indicates the left-right balance of the audio" msgstr "" #: src/properties.cpp:1399 msgid "Bits Per Sample/ Bit Rate" msgstr "" #: src/properties.cpp:1399 msgid "Bits per test sample" msgstr "" #: src/properties.cpp:1401 #, fuzzy msgid "Audio Codec" msgstr "Pakkaus" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "" #: src/properties.cpp:1402 msgid "Audio Codec Decode Info" msgstr "" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1403 #, fuzzy msgid "Audio Codec Description" msgstr "Kuvan vakautus" #: src/properties.cpp:1404 msgid "Audio Codec Download URL" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL." msgstr "" #: src/properties.cpp:1405 #, fuzzy msgid "Audio Codec Information" msgstr "Värikylläisyys" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" #: src/properties.cpp:1406 #, fuzzy msgid "Audio Codec Settings" msgstr "Tarkennustapa" #: src/properties.cpp:1408 #, fuzzy msgid "Audio Default Duration" msgstr "Resoluutioyksikkö" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "" #: src/properties.cpp:1409 #, fuzzy msgid "Audio Default Stream" msgstr "Oletus" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "" #: src/properties.cpp:1410 #, fuzzy msgid "Audio Track Default On" msgstr "Makrotila" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "" #: src/properties.cpp:1411 msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1412 #, fuzzy msgid "Audio Format" msgstr "Lukuvirhe" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "" #: src/properties.cpp:1423 msgid "Output Audio Sample Rate" msgstr "" #: src/properties.cpp:1423 msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" #: src/properties.cpp:1424 #, fuzzy msgid "Audio Sample Count" msgstr "Valotusajan esivalinta (Tv)" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "" #: src/properties.cpp:1427 msgid "Sound Scheme Title" msgstr "" #: src/properties.cpp:1427 msgid "Sound Scheme Title." msgstr "" #: src/properties.cpp:1429 msgid "Audio Track Create Date" msgstr "" #: src/properties.cpp:1430 #, fuzzy msgid "Audio Track Duration" msgstr "Resoluutioyksikkö" #: src/properties.cpp:1431 #, fuzzy msgid "Audio Track Forced" msgstr "Makrotila" #: src/properties.cpp:1431 msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1434 msgid "Audio Track Lacing" msgstr "" #: src/properties.cpp:1434 msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1436 #, fuzzy msgid "Audio Track Layer" msgstr "Makrotila" #: src/properties.cpp:1439 #, fuzzy msgid "Audio Track Modify Date" msgstr "Malli" #: src/properties.cpp:1441 msgid "Audio URL" msgstr "" #: src/properties.cpp:1442 msgid "Audio URN" msgstr "" #: src/properties.cpp:1449 msgid "The nature or genre of the resource." msgstr "" #: src/properties.cpp:1450 #, fuzzy msgid "Date Modified" msgstr "Linssin ominaisuudet" #: src/properties.cpp:1450 msgid "Date on which the resource was changed." msgstr "" #: src/properties.cpp:1451 msgid "A language of the resource." msgstr "" #: src/properties.cpp:1452 #, fuzzy msgid "License" msgstr "Linssi" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" #: src/properties.cpp:1453 #, fuzzy msgid "Rights Holder" msgstr "Kuvalähde" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" #: src/properties.cpp:1454 msgid "Access Rights" msgstr "" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "" #: src/properties.cpp:1455 msgid "A bibliographic reference for the resource." msgstr "" #: src/properties.cpp:1456 #, fuzzy msgid "References" msgstr "Sarjanumero" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" #: src/properties.cpp:1459 msgid "*Main structure* containing Darwin Core location based information." msgstr "" #: src/properties.cpp:1468 #, fuzzy msgid "Record" msgstr "F-luku" #: src/properties.cpp:1469 msgid "*Main structure* containing record based information." msgstr "" #: src/properties.cpp:1472 #, fuzzy msgid "Institution ID" msgstr "Sisäinen salama" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" #: src/properties.cpp:1475 #, fuzzy msgid "Collection ID" msgstr "Omistajan nimi" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" #: src/properties.cpp:1478 #, fuzzy msgid "Institution Code" msgstr "Resoluutioyksikkö" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1481 msgid "Dataset ID" msgstr "" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "" #: src/properties.cpp:1484 #, fuzzy msgid "Collection Code" msgstr "Resoluutioyksikkö" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" #: src/properties.cpp:1487 #, fuzzy msgid "Dataset Name" msgstr "Tiedostonimi" #: src/properties.cpp:1488 msgid "The name identifying the data set from which the record was derived." msgstr "" #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" #: src/properties.cpp:1496 #, fuzzy msgid "Information Withheld" msgstr "Värikylläisyys" #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" #: src/properties.cpp:1502 #, fuzzy msgid "Dynamic Properties" msgstr "Linssin ominaisuudet" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" #: src/properties.cpp:1507 #, fuzzy msgid "Occurrence" msgstr "Linssi" #: src/properties.cpp:1508 msgid "*Main structure* containing occurrence based information." msgstr "" #: src/properties.cpp:1511 #, fuzzy msgid "Occurrence ID" msgstr "Linssi" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" #: src/properties.cpp:1514 #, fuzzy msgid "Catalog Number" msgstr "Sarjanumero" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" #: src/properties.cpp:1517 #, fuzzy msgid "Occurrence Details" msgstr "Linssi" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "" #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "" #: src/properties.cpp:1521 msgid "Comments or notes about the Occurrence." msgstr "" #: src/properties.cpp:1523 #, fuzzy msgid "Record Number" msgstr "F-luku" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" #: src/properties.cpp:1526 msgid "Recorded By" msgstr "" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" #: src/properties.cpp:1529 msgid "Individual ID" msgstr "" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" #: src/properties.cpp:1532 msgid "Individual Count" msgstr "" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "" #: src/properties.cpp:1535 #, fuzzy msgid "Organism Quantity" msgstr "Kuvan laatu" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "" #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "" #: src/properties.cpp:1541 #, fuzzy msgid "Sex" msgstr "Aseta" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1544 msgid "Life Stage" msgstr "" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1547 #, fuzzy msgid "Reproductive Condition" msgstr "Täysautomatiikka" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1550 msgid "Behavior" msgstr "" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1559 #, fuzzy msgid "Preparations" msgstr "Värikylläisyys" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" #: src/properties.cpp:1562 #, fuzzy msgid "Disposition" msgstr "Kuvan vakautus" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" #: src/properties.cpp:1565 #, fuzzy msgid "Other Catalog Numbers" msgstr "Sarjanumero" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" #: src/properties.cpp:1568 src/properties.cpp:1607 msgid "Previous Identifications" msgstr "" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" #: src/properties.cpp:1571 msgid "Associated Media" msgstr "" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" #: src/properties.cpp:1574 msgid "Associated References" msgstr "" #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1580 msgid "Associated Sequences" msgstr "" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" #: src/properties.cpp:1588 #, fuzzy msgid "Organism" msgstr "Värikylläisyys" #: src/properties.cpp:1589 msgid "*Main structure* containing organism based information." msgstr "" #: src/properties.cpp:1592 msgid "Organism ID" msgstr "" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1595 #, fuzzy msgid "Organism Name" msgstr "Tiedostonimi" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "" #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1601 msgid "Organism Associated Occurrences" msgstr "" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1604 msgid "Associated Organisms" msgstr "" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" #: src/properties.cpp:1610 #, fuzzy msgid "Organism Remarks" msgstr "Omistajan nimi" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "" #: src/properties.cpp:1615 #, fuzzy msgid "Material Sample" msgstr "Valotusaika" #: src/properties.cpp:1616 msgid "*Main structure* containing material sample based information." msgstr "" #: src/properties.cpp:1618 msgid "Living Specimen" msgstr "" #: src/properties.cpp:1619 msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "" #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "" #: src/properties.cpp:1622 msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "" #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "" #: src/properties.cpp:1625 msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "" #: src/properties.cpp:1628 #, fuzzy msgid "Material Sample ID" msgstr "Valotusaika" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" #: src/properties.cpp:1634 msgid "*Main structure* containing event based information." msgstr "" #: src/properties.cpp:1636 msgid "Human Observation" msgstr "" #: src/properties.cpp:1637 msgid "*Main structure* containing human observation based information." msgstr "" #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "" #: src/properties.cpp:1640 msgid "*Main structure* containing machine observation based information." msgstr "" #: src/properties.cpp:1643 msgid "Event ID" msgstr "" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1646 msgid "Parent Event ID" msgstr "" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" #: src/properties.cpp:1649 #, fuzzy msgid "Event Date" msgstr "Esikatselu" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1652 #, fuzzy msgid "Event Earliest Date" msgstr "Esikatselu" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1655 #, fuzzy msgid "Event Latest Date" msgstr "Esikatselu" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1658 #, fuzzy msgid "Event Time" msgstr "Valotusaika" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "" #: src/properties.cpp:1670 #, fuzzy msgid "Month" msgstr "kuukausi" #: src/properties.cpp:1671 msgid "The ordinal month in which the Event occurred." msgstr "" #: src/properties.cpp:1673 #, fuzzy msgid "Day" msgstr "Poista" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "" #: src/properties.cpp:1676 #, fuzzy msgid "Verbatim Event Date" msgstr "Omistajan nimi" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" #: src/properties.cpp:1679 msgid "Habitat" msgstr "" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" #: src/properties.cpp:1685 msgid "Sampling Effort" msgstr "" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "" #: src/properties.cpp:1688 #, fuzzy msgid "Sampling Size Value" msgstr "Valotusaika" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" #: src/properties.cpp:1691 msgid "Sampling Size Unit" msgstr "" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" #: src/properties.cpp:1694 #, fuzzy msgid "Field Number" msgstr "F-luku" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" #: src/properties.cpp:1697 #, fuzzy msgid "Field Notes" msgstr "Linssin ominaisuudet" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "" #: src/properties.cpp:1701 msgid "Comments or notes about the Event." msgstr "" #: src/properties.cpp:1705 #, fuzzy msgid "Location Class" msgstr "Omistajan nimi" #: src/properties.cpp:1706 msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "" #: src/properties.cpp:1709 #, fuzzy msgid "Location ID" msgstr "Omistajan nimi" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" #: src/properties.cpp:1718 #, fuzzy msgid "Continent" msgstr "Kontrasti" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "" #: src/properties.cpp:1721 msgid "Water Body" msgstr "" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1724 msgid "Island Group" msgstr "" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1727 msgid "Island" msgstr "" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "" #: src/properties.cpp:1736 #, fuzzy msgid "State Province" msgstr "Linssin sarjanumero" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1739 #, fuzzy msgid "County" msgstr "Kontrasti" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1742 #, fuzzy msgid "Municipality" msgstr "Kuvanlaatu" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" #: src/properties.cpp:1745 #, fuzzy msgid "Locality" msgstr "Kuvanlaatu" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "" #: src/properties.cpp:1749 msgid "The original textual description of the place." msgstr "" #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1760 msgid "Verbatim Depth" msgstr "" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "" #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1766 #, fuzzy msgid "Maximum Depth In Meters" msgstr "Tiedostonimi" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1775 #, fuzzy msgid "Location According To" msgstr "Värikylläisyys" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" #: src/properties.cpp:1778 #, fuzzy msgid "Location Remarks" msgstr "Omistajan nimi" #: src/properties.cpp:1779 msgid "Comments or notes about the Location." msgstr "" #: src/properties.cpp:1781 msgid "Verbatim Coordinates" msgstr "" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1784 msgid "Verbatim Latitude" msgstr "" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1787 msgid "Verbatim Longitude" msgstr "" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1796 msgid "Decimal Latitude" msgstr "" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" #: src/properties.cpp:1799 msgid "Decimal Longitude" msgstr "" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" #: src/properties.cpp:1802 msgid "Geodetic Datum" msgstr "" #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" #: src/properties.cpp:1808 msgid "Coordinate Precision" msgstr "" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "" #: src/properties.cpp:1812 #, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "" #: src/properties.cpp:1821 #, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" #: src/properties.cpp:1823 msgid "Georeferenced By" msgstr "" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" #: src/properties.cpp:1826 #, fuzzy msgid "Georeferenced Date" msgstr "Mustavalkoinen" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" #: src/properties.cpp:1832 #, fuzzy msgid "Georeference Sources" msgstr "Sarjanumero" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1838 #, fuzzy msgid "Georeference Remarks" msgstr "Sarjanumero" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" #: src/properties.cpp:1843 msgid "Geological Context" msgstr "" #: src/properties.cpp:1844 msgid "*Main structure* containing geological context based information." msgstr "" #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" #: src/properties.cpp:1889 msgid "Group" msgstr "" #: src/properties.cpp:1890 msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "" #: src/properties.cpp:1892 #, fuzzy msgid "Formation" msgstr "Värikylläisyys" #: src/properties.cpp:1893 msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "" #: src/properties.cpp:1895 #, fuzzy msgid "Member" msgstr "F-luku" #: src/properties.cpp:1896 msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "" #: src/properties.cpp:1898 msgid "Bed" msgstr "" #: src/properties.cpp:1899 msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "" #: src/properties.cpp:1903 #, fuzzy msgid "Identification" msgstr "Omistajan nimi" #: src/properties.cpp:1904 msgid "*Main structure* containing identification based information." msgstr "" #: src/properties.cpp:1907 #, fuzzy msgid "Identification ID" msgstr "Omistajan nimi" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1910 msgid "Identified By" msgstr "" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" #: src/properties.cpp:1913 #, fuzzy msgid "Date Identified" msgstr "Linssin ominaisuudet" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" #: src/properties.cpp:1916 msgid "Identification References" msgstr "" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" #: src/properties.cpp:1922 msgid "Identification Remarks" msgstr "" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "" #: src/properties.cpp:1925 #, fuzzy msgid "Identification Qualifier" msgstr "Omistajan nimi" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" #: src/properties.cpp:1928 #, fuzzy msgid "Type Status" msgstr "Omistusoikeus" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" #: src/properties.cpp:1933 msgid "Taxon" msgstr "" #: src/properties.cpp:1934 msgid "*Main structure* containing taxonomic based information." msgstr "" #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" #: src/properties.cpp:1949 msgid "Original Name Usage ID" msgstr "" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" #: src/properties.cpp:1961 #, fuzzy msgid "Scientific Name" msgstr "Omistajan nimi" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" #: src/properties.cpp:1967 #, fuzzy msgid "Parent Name Usage" msgstr "Tiedostonimi" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" #: src/properties.cpp:1970 msgid "Original Name Usage" msgstr "" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" #: src/properties.cpp:1973 msgid "Name According To" msgstr "" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" #: src/properties.cpp:1976 msgid "Name Published In" msgstr "" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "" #: src/properties.cpp:1980 msgid "The four-digit year in which the scientificName was published." msgstr "" #: src/properties.cpp:1982 #, fuzzy msgid "Higher Classification" msgstr "Värikylläisyys" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" #: src/properties.cpp:1985 msgid "Kingdom" msgstr "" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "" #: src/properties.cpp:1988 msgid "Phylum" msgstr "" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" #: src/properties.cpp:1991 msgid "Class" msgstr "" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "" #: src/properties.cpp:1994 msgid "Order" msgstr "" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "" #: src/properties.cpp:1997 msgid "Family" msgstr "" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "" #: src/properties.cpp:2000 msgid "Genus" msgstr "" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "" #: src/properties.cpp:2003 msgid "Subgenus" msgstr "" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "" #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" #: src/properties.cpp:2021 #, fuzzy msgid "Vernacular Name" msgstr "Sarjanumero" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "" #: src/properties.cpp:2024 #, fuzzy msgid "Nomenclatural Code" msgstr "Kontrasti" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "" #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "" #: src/properties.cpp:2039 msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "" #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" #: src/properties.cpp:2045 #, fuzzy msgid "Resource ID" msgstr "Kuvalähde" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "" #: src/properties.cpp:2048 #, fuzzy msgid "Related Resource ID" msgstr "Kuvalähde" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" #: src/properties.cpp:2051 #, fuzzy msgid "Relationship Of Resource" msgstr "Kuvalähde" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "" #: src/properties.cpp:2065 #, fuzzy msgid "Measurement Or Fact" msgstr "Aukko" #: src/properties.cpp:2066 msgid "*Main structure* containing measurement based information." msgstr "" #: src/properties.cpp:2069 msgid "Measurement ID" msgstr "" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:2072 #, fuzzy msgid "Measurement Type" msgstr "Kuvan tyyppi" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2075 #, fuzzy msgid "Measurement Value" msgstr "Aukko" #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2078 msgid "Measurement Accuracy" msgstr "" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "" #: src/properties.cpp:2081 msgid "Measurement Unit" msgstr "" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" #: src/properties.cpp:2084 msgid "Measurement Determined Date" msgstr "" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2087 msgid "Measurement Determined By" msgstr "" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" #: src/properties.cpp:2090 #, fuzzy msgid "Measurement Method" msgstr "Valotustila" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2093 msgid "Measurement Remarks" msgstr "" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "" #: src/properties.cpp:2101 msgid "A brief description of the file" msgstr "" #: src/properties.cpp:2102 #, fuzzy msgid "Date Time" msgstr "Päiväys ja aika" #: src/properties.cpp:2103 msgid "The name of the author or photographer" msgstr "" #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "" #: src/properties.cpp:2105 #, fuzzy msgid "Notes" msgstr "Linssin ominaisuudet" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "" #: src/properties.cpp:2106 msgid "Tagged" msgstr "" #: src/properties.cpp:2106 msgid "True or False" msgstr "" #: src/properties.cpp:2107 msgid "Categories" msgstr "" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "" #: src/sigmamn.cpp:62 #, fuzzy msgid "Resolution Mode" msgstr "Resoluutioyksikkö" #: src/sigmamn.cpp:63 #, fuzzy msgid "Resolution mode" msgstr "Resoluutioyksikkö" #: src/sigmamn.cpp:65 #, fuzzy msgid "Autofocus Mode" msgstr "Tarkennustapa" #: src/sigmamn.cpp:66 #, fuzzy msgid "Autofocus mode" msgstr "Tarkennustapa" #: src/sigmamn.cpp:68 #, fuzzy msgid "Focus Setting" msgstr "Asetukset" #: src/sigmamn.cpp:69 #, fuzzy msgid "Focus setting" msgstr "Tarkennustapa" #: src/sigmamn.cpp:80 #, fuzzy msgid "Lens Range" msgstr "Linssin tyyppi" #: src/sigmamn.cpp:81 #, fuzzy msgid "Lens focal length range" msgstr "Polttoväli" #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 #, fuzzy msgid "Shadow" msgstr "Varjo" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 msgid "Highlight" msgstr "" #: src/sigmamn.cpp:104 msgid "Fill Light" msgstr "" #: src/sigmamn.cpp:105 msgid "X3 Fill light" msgstr "" #: src/sigmamn.cpp:107 #, fuzzy msgid "Color Adjustment" msgstr "Väriavaruus" #: src/sigmamn.cpp:108 #, fuzzy msgid "Color adjustment" msgstr "Väriavaruus" #: src/sigmamn.cpp:110 msgid "Adjustment Mode" msgstr "" #: src/sigmamn.cpp:111 msgid "Adjustment mode" msgstr "" #: src/sigmamn.cpp:122 #, fuzzy msgid "Auto Bracket" msgstr "Auto, välähti" #: src/sigmamn.cpp:123 src/tags.cpp:1497 #, fuzzy msgid "Auto bracket" msgstr "Auto, välähti" #: src/sigmamn.cpp:127 msgid "Unknown SigmaMakerNote tag" msgstr "" #: src/sigmamn.cpp:170 msgid "8-Segment" msgstr "" #: src/sonymn.cpp:131 msgid "Advanced Lv1" msgstr "" #: src/sonymn.cpp:132 msgid "Advanced Lv2" msgstr "" #: src/sonymn.cpp:133 msgid "Advanced Lv3" msgstr "" #: src/sonymn.cpp:134 msgid "Advanced Lv4" msgstr "" #: src/sonymn.cpp:135 msgid "Advanced Lv5" msgstr "" #: src/sonymn.cpp:154 msgid "Night Scene / Twilight" msgstr "" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "" #: src/sonymn.cpp:156 #, fuzzy msgid "Twilight Portrait" msgstr "Muotokuva" #: src/sonymn.cpp:157 #, fuzzy msgid "Soft Snap / Portrait" msgstr "Muotokuva" #: src/sonymn.cpp:159 msgid "Smile Shutter" msgstr "" #: src/sonymn.cpp:161 msgid "High Sensitivity" msgstr "" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "" #: src/sonymn.cpp:166 #, fuzzy msgid "Sweep Panorama" msgstr "Panoraama" #: src/sonymn.cpp:168 msgid "Anti Motion Blur" msgstr "" #: src/sonymn.cpp:170 msgid "Backlight Correction HDR" msgstr "" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "" #: src/sonymn.cpp:172 #, fuzzy msgid "Background Defocus" msgstr "Makrotila" #: src/sonymn.cpp:173 #, fuzzy msgid "Soft Skin" msgstr "Piste" #: src/sonymn.cpp:174 #, fuzzy msgid "3D Image" msgstr "Kuvan koko" #: src/sonymn.cpp:189 msgid "On (Continuous)" msgstr "" #: src/sonymn.cpp:190 msgid "On (Shooting)" msgstr "" #: src/sonymn.cpp:198 msgid "Plus" msgstr "" #: src/sonymn.cpp:214 #, fuzzy msgid "White Flourescent" msgstr "Valkoinen loisteputki" #: src/sonymn.cpp:215 #, fuzzy msgid "Cool White Flourescent" msgstr "Valkoinen loisteputki" #: src/sonymn.cpp:216 #, fuzzy msgid "Day White Flourescent" msgstr "Valkoinen loisteputki" #: src/sonymn.cpp:217 msgid "Incandescent2" msgstr "" #: src/sonymn.cpp:218 #, fuzzy msgid "Warm White Fluorescent" msgstr "Valkoinen loisteputki" #: src/sonymn.cpp:221 msgid "Underwater 1 (Blue Water)" msgstr "" #: src/sonymn.cpp:222 msgid "Underwater 2 (Green Water)" msgstr "" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "" #: src/sonymn.cpp:237 msgid "Center AF" msgstr "" #: src/sonymn.cpp:238 #, fuzzy msgid "Spot AF" msgstr "Piste" #: src/sonymn.cpp:239 msgid "Flexible Spot AF" msgstr "" #: src/sonymn.cpp:240 msgid "Touch AF" msgstr "" #: src/sonymn.cpp:241 #, fuzzy msgid "Manual Focus" msgstr "Käsintarkennus, MF" #: src/sonymn.cpp:242 msgid "Face Detected" msgstr "" #: src/sonymn.cpp:257 #, fuzzy msgid "Close Focus" msgstr "Automaattivalotus" #: src/sonymn.cpp:347 src/sonymn.cpp:348 msgid "Multi Burst Mode" msgstr "" #: src/sonymn.cpp:350 src/sonymn.cpp:351 msgid "Multi Burst Image Width" msgstr "" #: src/sonymn.cpp:353 src/sonymn.cpp:354 msgid "Multi Burst Image Height" msgstr "" #: src/sonymn.cpp:364 #, fuzzy msgid "JPEG preview image" msgstr "Esikatselu" #: src/sonymn.cpp:390 msgid "Auto HDR" msgstr "" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "" #: src/sonymn.cpp:395 #, fuzzy msgid "Shot Information" msgstr "Värikylläisyys" #: src/sonymn.cpp:400 src/sonymn.cpp:401 #, fuzzy msgid "Sony Model ID" msgstr "Mallin ID" #: src/sonymn.cpp:403 src/sonymn.cpp:404 msgid "Color Reproduction" msgstr "" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 msgid "Dynamic Range Optimizer" msgstr "" #: src/sonymn.cpp:427 src/sonymn.cpp:428 msgid "Minolta MakerNote" msgstr "" #: src/sonymn.cpp:433 src/sonymn.cpp:434 #, fuzzy msgid "Full Image Size" msgstr "Kuvan koko" #: src/sonymn.cpp:436 #, fuzzy msgid "Preview Image Size" msgstr "Kuvan koko" #: src/sonymn.cpp:437 #, fuzzy msgid "Preview image size" msgstr "Kuvan koko" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 msgid "AF Illuminator" msgstr "" #: src/sonymn.cpp:454 src/sonymn.cpp:455 #, fuzzy msgid "JPEG Quality" msgstr "Kuvanlaatu" #: src/sonymn.cpp:460 src/sonymn.cpp:461 #, fuzzy msgid "Release Mode" msgstr "Salaman tila" #: src/sonymn.cpp:464 msgid "Shot number in continuous burst mode" msgstr "" #: src/sonymn.cpp:466 src/sonymn.cpp:467 msgid "Anti-Blur" msgstr "" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 msgid "Long Exposure Noise Reduction" msgstr "" #: src/sonymn.cpp:475 src/sonymn.cpp:476 msgid "Intelligent Auto" msgstr "" #: src/sonymn.cpp:483 msgid "Unknown Sony1MakerNote tag" msgstr "" #: src/sonymn.cpp:497 msgid "Continuous High" msgstr "" #: src/sonymn.cpp:501 msgid "Continuous Low" msgstr "" #: src/sonymn.cpp:503 src/sonymn.cpp:504 msgid "D-Range Optimizer Bracketing Low" msgstr "" #: src/sonymn.cpp:536 msgid "Autumn" msgstr "" #: src/sonymn.cpp:542 msgid "ADI" msgstr "" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "" #: src/sonymn.cpp:578 #, fuzzy msgid "Auto No Flash" msgstr "Ei salamaa" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 msgid "Dynamic Range Optimizer Level" msgstr "" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 msgid "Creative Style" msgstr "" #: src/sonymn.cpp:648 src/sonymn.cpp:649 msgid "Zone Matching Value" msgstr "" #: src/sonymn.cpp:666 src/sonymn.cpp:667 msgid "AF With Shutter" msgstr "" #: src/sonymn.cpp:674 src/sonymn.cpp:675 msgid "High ISO NoiseReduction" msgstr "" #: src/sonymn.cpp:678 src/sonymn.cpp:679 #, fuzzy msgid "Image Style" msgstr "Kuvan tyyppi" #: src/sonymn.cpp:704 #, fuzzy msgid "Unknown Sony1 Camera Settings tag" msgstr "Kameran asetukset" #: src/sonymn.cpp:768 #, fuzzy msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "Kameran asetukset" #: src/tags.cpp:188 #, fuzzy msgid "Unknown section" msgstr "Tuntematon" #: src/tags.cpp:189 msgid "Image data structure" msgstr "" #: src/tags.cpp:190 msgid "Recording offset" msgstr "" #: src/tags.cpp:191 msgid "Image data characteristics" msgstr "" #: src/tags.cpp:192 msgid "Other data" msgstr "" #: src/tags.cpp:193 msgid "Exif data structure" msgstr "" #: src/tags.cpp:195 #, fuzzy msgid "Image configuration" msgstr "Kuvan vakautus" #: src/tags.cpp:196 msgid "User information" msgstr "" #: src/tags.cpp:197 #, fuzzy msgid "Related file" msgstr "tiedostoon" #: src/tags.cpp:198 msgid "Date and time" msgstr "Päiväys ja aika" #: src/tags.cpp:199 msgid "Picture taking conditions" msgstr "" #: src/tags.cpp:200 msgid "GPS information" msgstr "" #: src/tags.cpp:201 msgid "Interoperability information" msgstr "" #: src/tags.cpp:202 msgid "Vendor specific information" msgstr "" #: src/tags.cpp:203 msgid "Adobe DNG tags" msgstr "" #: src/tags.cpp:204 msgid "Panasonic RAW tags" msgstr "" #: src/tags.cpp:205 msgid "TIFF/EP tags" msgstr "" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "" #: src/tags.cpp:207 msgid "Adobe OPI tags" msgstr "" #: src/tags.cpp:208 msgid "Last section" msgstr "" #: src/tags.cpp:224 msgid "Primary image" msgstr "" #: src/tags.cpp:225 #, fuzzy msgid "Thumbnail/Preview image" msgstr "Näytekuva" #: src/tags.cpp:226 msgid "Primary image, Multi page file" msgstr "" #: src/tags.cpp:227 msgid "Thumbnail/Preview image, Multi page file" msgstr "" #: src/tags.cpp:228 msgid "Primary image, Transparency mask" msgstr "" #: src/tags.cpp:229 msgid "Thumbnail/Preview image, Transparency mask" msgstr "" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "" #: src/tags.cpp:237 msgid "Full-resolution image data" msgstr "" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "" #: src/tags.cpp:245 msgid "inch" msgstr "tuuma" #: src/tags.cpp:252 msgid "CCITT RLE" msgstr "" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "" #: src/tags.cpp:255 msgid "LZW" msgstr "" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "Jpeg (vanhahtava)" #: src/tags.cpp:257 msgid "JPEG" msgstr "Jpeg" #: src/tags.cpp:258 msgid "Adobe Deflate" msgstr "" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "" #: src/tags.cpp:260 msgid "JBIG Color" msgstr "" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "" #: src/tags.cpp:262 msgid "Epson ERF Compressed" msgstr "" #: src/tags.cpp:263 msgid "Samsung SRW Compressed" msgstr "" #: src/tags.cpp:264 msgid "CCITT RLE 1-word" msgstr "" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "" #: src/tags.cpp:269 msgid "IT8 Monochrome Picture" msgstr "" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "" #: src/tags.cpp:273 msgid "Pixar Deflate" msgstr "" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "" #: src/tags.cpp:275 msgid "ISO JBIG" msgstr "" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "" #: src/tags.cpp:279 msgid "Nikon NEF Compressed" msgstr "" #: src/tags.cpp:280 msgid "Kodak DCR Compressed" msgstr "" #: src/tags.cpp:281 msgid "Pentax PEF Compressed" msgstr "" #: src/tags.cpp:286 msgid "White Is Zero" msgstr "" #: src/tags.cpp:287 #, fuzzy msgid "Black Is Zero" msgstr "Mustavalko" #: src/tags.cpp:288 msgid "RGB" msgstr "" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "" #: src/tags.cpp:290 msgid "Transparency Mask" msgstr "" #: src/tags.cpp:291 src/tags.cpp:330 msgid "CMYK" msgstr "" #: src/tags.cpp:292 msgid "YCbCr" msgstr "" #: src/tags.cpp:293 msgid "CIELab" msgstr "" #: src/tags.cpp:294 msgid "ICCLab" msgstr "" #: src/tags.cpp:295 msgid "ITULab" msgstr "" #: src/tags.cpp:296 msgid "Color Filter Array" msgstr "" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "" #: src/tags.cpp:306 msgid "Randomized process" msgstr "" #: src/tags.cpp:311 #, fuzzy msgid "top, left" msgstr "tiedostoon" #: src/tags.cpp:312 #, fuzzy msgid "top, right" msgstr "Omistusoikeus" #: src/tags.cpp:313 msgid "bottom, right" msgstr "" #: src/tags.cpp:314 msgid "bottom, left" msgstr "" #: src/tags.cpp:315 msgid "left, top" msgstr "" #: src/tags.cpp:316 msgid "right, top" msgstr "" #: src/tags.cpp:317 msgid "right, bottom" msgstr "" #: src/tags.cpp:318 src/tags.cpp:319 msgid "left, bottom" msgstr "" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "" #: src/tags.cpp:325 msgid "Horizontal differencing" msgstr "" #: src/tags.cpp:331 msgid "not CMYK" msgstr "" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "" #: src/tags.cpp:339 src/tags.cpp:340 msgid "Undefined data format" msgstr "" #: src/tags.cpp:345 msgid "Not indexed" msgstr "" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "" #: src/tags.cpp:351 msgid "A" msgstr "" #: src/tags.cpp:352 msgid "B" msgstr "" #: src/tags.cpp:353 msgid "C" msgstr "" #: src/tags.cpp:354 msgid "A+B-C" msgstr "" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "" #: src/tags.cpp:362 #, fuzzy msgid "Centered" msgstr "Keskustaa painottava" #: src/tags.cpp:363 msgid "Co-sited" msgstr "" #: src/tags.cpp:368 #, fuzzy msgid "No flash" msgstr "Ei salamaa" #: src/tags.cpp:370 msgid "Fired, return light not detected" msgstr "" #: src/tags.cpp:371 msgid "Fired, return light detected" msgstr "" #: src/tags.cpp:372 #, fuzzy msgid "Yes, did not fire" msgstr "Ei välähtänyt" #: src/tags.cpp:373 msgid "Yes, compulsory" msgstr "" #: src/tags.cpp:374 msgid "Yes, compulsory, return light not detected" msgstr "" #: src/tags.cpp:375 msgid "Yes, compulsory, return light detected" msgstr "" #: src/tags.cpp:376 msgid "No, compulsory" msgstr "" #: src/tags.cpp:377 msgid "No, did not fire, return light not detected" msgstr "" #: src/tags.cpp:378 msgid "No, auto" msgstr "" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "" #: src/tags.cpp:380 msgid "Yes, auto, return light not detected" msgstr "" #: src/tags.cpp:381 msgid "Yes, auto, return light detected" msgstr "" #: src/tags.cpp:382 msgid "No flash function" msgstr "" #: src/tags.cpp:383 msgid "No, no flash function" msgstr "" #: src/tags.cpp:384 #, fuzzy msgid "Yes, red-eye reduction" msgstr "Päällä, punasilmäisyyden esto" #: src/tags.cpp:385 msgid "Yes, red-eye reduction, return light not detected" msgstr "" #: src/tags.cpp:386 msgid "Yes, red-eye reduction, return light detected" msgstr "" #: src/tags.cpp:387 #, fuzzy msgid "Yes, compulsory, red-eye reduction" msgstr "Auto, välähti, punasilmäisyyden esto" #: src/tags.cpp:388 msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "" #: src/tags.cpp:389 msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "" #: src/tags.cpp:390 #, fuzzy msgid "No, red-eye reduction" msgstr "Päällä, punasilmäisyyden esto" #: src/tags.cpp:391 #, fuzzy msgid "No, auto, red-eye reduction" msgstr "Auto, välähti, punasilmäisyyden esto" #: src/tags.cpp:392 #, fuzzy msgid "Yes, auto, red-eye reduction" msgstr "Auto, välähti, punasilmäisyyden esto" #: src/tags.cpp:393 msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "" #: src/tags.cpp:394 msgid "Yes, auto, red-eye reduction, return light detected" msgstr "" #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "" #: src/tags.cpp:408 msgid "Processing Software" msgstr "" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "" #: src/tags.cpp:412 msgid "New Subfile Type" msgstr "" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "" #: src/tags.cpp:415 msgid "Subfile Type" msgstr "" #: src/tags.cpp:416 msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "" #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" #: src/tags.cpp:425 msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" #: src/tags.cpp:428 msgid "Bits per Sample" msgstr "" #: src/tags.cpp:429 msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" #: src/tags.cpp:444 msgid "Thresholding" msgstr "" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" #: src/tags.cpp:448 msgid "Cell Width" msgstr "" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" #: src/tags.cpp:452 #, fuzzy msgid "Cell Length" msgstr "Polttoväli" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" #: src/tags.cpp:456 msgid "Fill Order" msgstr "" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "" #: src/tags.cpp:459 #, fuzzy msgid "Document Name" msgstr "Omistajan nimi" #: src/tags.cpp:460 msgid "The name of the document from which this image was scanned" msgstr "" #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" #: src/tags.cpp:470 msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "" #: src/tags.cpp:491 msgid "Samples per Pixel" msgstr "" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" #: src/tags.cpp:502 #, fuzzy msgid "Strip Byte Count" msgstr "Valotusajan esivalinta (Tv)" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" #: src/tags.cpp:506 #, fuzzy msgid "X-Resolution" msgstr "Resoluutioyksikkö" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" #: src/tags.cpp:510 #, fuzzy msgid "Y-Resolution" msgstr "Resoluutioyksikkö" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" #: src/tags.cpp:520 #, fuzzy msgid "Gray Response Unit" msgstr "Resoluutioyksikkö" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "" #: src/tags.cpp:523 msgid "Gray Response Curve" msgstr "" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "" #: src/tags.cpp:526 msgid "T4 Options" msgstr "" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "" #: src/tags.cpp:529 msgid "T6 Options" msgstr "" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "" #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" #: src/tags.cpp:537 #, fuzzy msgid "Page Number" msgstr "Kuvan numero" #: src/tags.cpp:538 msgid "The page number of the page from which this image was scanned." msgstr "" #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" #: src/tags.cpp:546 msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" #: src/tags.cpp:553 msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" #: src/tags.cpp:557 msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" #: src/tags.cpp:564 msgid "Host Computer" msgstr "" #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" #: src/tags.cpp:568 msgid "Predictor" msgstr "" #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" #: src/tags.cpp:573 msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" #: src/tags.cpp:578 msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" #: src/tags.cpp:582 #, fuzzy msgid "Color Map" msgstr "Väriavaruus" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" #: src/tags.cpp:593 msgid "Tile Width" msgstr "" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "" #: src/tags.cpp:596 #, fuzzy msgid "Tile Length" msgstr "Polttoväli" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "" #: src/tags.cpp:599 msgid "Tile Offsets" msgstr "" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" #: src/tags.cpp:605 msgid "Tile Byte Counts" msgstr "" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" #: src/tags.cpp:609 msgid "SubIFD Offsets" msgstr "" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "" #: src/tags.cpp:612 #, fuzzy msgid "Ink Set" msgstr "Aseta" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:615 #, fuzzy msgid "Ink Names" msgstr "Omistajan nimi" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:618 msgid "Number Of Inks" msgstr "" #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" #: src/tags.cpp:621 msgid "Dot Range" msgstr "" #: src/tags.cpp:622 #, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "" #: src/tags.cpp:624 msgid "Target Printer" msgstr "" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "" #: src/tags.cpp:627 msgid "Extra Samples" msgstr "" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" #: src/tags.cpp:631 msgid "Sample Format" msgstr "" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "" #: src/tags.cpp:634 #, fuzzy msgid "SMin Sample Value" msgstr "Valotusaika" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "" #: src/tags.cpp:637 #, fuzzy msgid "SMax Sample Value" msgstr "Valotusaika" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "" #: src/tags.cpp:640 msgid "Transfer Range" msgstr "" #: src/tags.cpp:641 msgid "Expands the range of the TransferFunction" msgstr "" #: src/tags.cpp:643 msgid "Clip Path" msgstr "" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" #: src/tags.cpp:647 msgid "X Clip Path Units" msgstr "" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:651 msgid "Y Clip Path Units" msgstr "" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" #: src/tags.cpp:660 msgid "JPEG tables" msgstr "" #: src/tags.cpp:661 msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" #: src/tags.cpp:668 msgid "JPEG Process" msgstr "" #: src/tags.cpp:669 msgid "This field indicates the process used to produce the compressed data" msgstr "" #: src/tags.cpp:671 msgid "JPEG Interchange Format" msgstr "" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" #: src/tags.cpp:675 msgid "JPEG Interchange Format Length" msgstr "" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "" #: src/tags.cpp:684 msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "" #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "" #: src/tags.cpp:694 msgid "JPEG Q-Tables" msgstr "" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" #: src/tags.cpp:698 msgid "JPEG DC-Tables" msgstr "" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" #: src/tags.cpp:702 msgid "JPEG AC-Tables" msgstr "" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" #: src/tags.cpp:707 msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" #: src/tags.cpp:715 msgid "YCbCr Sub-Sampling" msgstr "" #: src/tags.cpp:716 msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" #: src/tags.cpp:735 msgid "Reference Black/White" msgstr "" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" #: src/tags.cpp:743 msgid "XML Packet" msgstr "" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "" #: src/tags.cpp:746 msgid "Windows Rating" msgstr "" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "" #: src/tags.cpp:749 msgid "Windows Rating Percent" msgstr "" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "" #: src/tags.cpp:752 #, fuzzy msgid "Image ID" msgstr "Kuvan koko" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" #: src/tags.cpp:770 msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" #: src/tags.cpp:789 msgid "Exposure time, given in seconds." msgstr "" #: src/tags.cpp:790 src/tags.cpp:1553 #, fuzzy msgid "The F number." msgstr "F-luku" #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "" #: src/tags.cpp:794 msgid "Image Resources Block" msgstr "" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "" #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" #: src/tags.cpp:803 msgid "Inter Color Profile" msgstr "" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" #: src/tags.cpp:807 msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "" #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" #: src/tags.cpp:813 src/tags.cpp:1564 msgid "ISO Speed Ratings" msgstr "ISO-herkkyys" #: src/tags.cpp:813 src/tags.cpp:1565 msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" #: src/tags.cpp:814 msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" #: src/tags.cpp:815 #, fuzzy msgid "Interlace" msgstr "Sisäinen salama" #: src/tags.cpp:815 msgid "Indicates the field number of multifield images." msgstr "" #: src/tags.cpp:816 msgid "Time Zone Offset" msgstr "" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" #: src/tags.cpp:823 msgid "Self Timer Mode" msgstr "" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "" #: src/tags.cpp:824 msgid "Date Time Original" msgstr "" #: src/tags.cpp:824 msgid "The date and time when the original image data was generated." msgstr "" #: src/tags.cpp:825 msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "" #: src/tags.cpp:826 #, fuzzy msgid "Shutter speed." msgstr "Valotusaika" #: src/tags.cpp:827 #, fuzzy msgid "The lens aperture." msgstr "Aukko" #: src/tags.cpp:828 msgid "The value of brightness." msgstr "" #: src/tags.cpp:829 #, fuzzy msgid "The exposure bias." msgstr "Valotuksen korjaus" #: src/tags.cpp:830 src/tags.cpp:1645 #, fuzzy msgid "Max Aperture Value" msgstr "Aukko" #: src/tags.cpp:830 msgid "The smallest F number of the lens." msgstr "" #: src/tags.cpp:831 src/tags.cpp:1651 msgid "The distance to the subject, given in meters." msgstr "" #: src/tags.cpp:832 src/tags.cpp:1654 #, fuzzy msgid "The metering mode." msgstr "Mittaustapa" #: src/tags.cpp:833 src/tags.cpp:1657 msgid "The kind of light source." msgstr "" #: src/tags.cpp:834 msgid "Indicates the status of flash when the image was shot." msgstr "" #: src/tags.cpp:835 msgid "The actual focal length of the lens, in mm." msgstr "" #: src/tags.cpp:836 msgid "Amount of flash energy (BCPS)." msgstr "" #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "" #: src/tags.cpp:838 #, fuzzy msgid "Noise" msgstr "Ei käytössä" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "" #: src/tags.cpp:839 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" #: src/tags.cpp:840 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" #: src/tags.cpp:841 msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "" #: src/tags.cpp:843 msgid "Security Classification" msgstr "" #: src/tags.cpp:843 msgid "Security classification assigned to the image." msgstr "" #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "" #: src/tags.cpp:845 msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "" #: src/tags.cpp:846 msgid "Encodes the camera exposure index setting when image was captured." msgstr "" #: src/tags.cpp:847 msgid "TIFF/EP Standard ID" msgstr "" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" #: src/tags.cpp:851 msgid "Type of image sensor." msgstr "" #: src/tags.cpp:852 msgid "Windows Title" msgstr "" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:855 #, fuzzy msgid "Windows Comment" msgstr "Oma kommentti" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:858 msgid "Windows Author" msgstr "" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:861 #, fuzzy msgid "Windows Keywords" msgstr "Avainsanat" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:864 msgid "Windows Subject" msgstr "" #: src/tags.cpp:865 msgid "Subject tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:867 msgid "Print Image Matching" msgstr "" #: src/tags.cpp:868 msgid "Print Image Matching, description needed." msgstr "" #: src/tags.cpp:870 #, fuzzy msgid "DNG version" msgstr "Ohjelman versio" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" #: src/tags.cpp:875 #, fuzzy msgid "DNG backward version" msgstr "Firmwaren versio" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" #: src/tags.cpp:884 #, fuzzy msgid "Unique Camera Model" msgstr "Kameran malli" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" #: src/tags.cpp:892 #, fuzzy msgid "Localized Camera Model" msgstr "Kameran malli" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" #: src/tags.cpp:897 msgid "CFA Plane Color" msgstr "" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" #: src/tags.cpp:902 msgid "CFA Layout" msgstr "" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "" #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" #: src/tags.cpp:912 msgid "Black Level Repeat Dim" msgstr "" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "" #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" #: src/tags.cpp:921 msgid "Black Level Delta H" msgstr "" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" #: src/tags.cpp:928 msgid "Black Level Delta V" msgstr "" #: src/tags.cpp:929 msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" #: src/tags.cpp:935 #, fuzzy msgid "White Level" msgstr "Salaman malli" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" #: src/tags.cpp:941 #, fuzzy msgid "Default Scale" msgstr "Oletus" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" #: src/tags.cpp:957 #, fuzzy msgid "Default Crop Size" msgstr "Kameran asetukset" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" #: src/tags.cpp:964 msgid "Color Matrix 1" msgstr "" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" #: src/tags.cpp:971 msgid "Color Matrix 2" msgstr "" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" #: src/tags.cpp:977 msgid "Camera Calibration 1" msgstr "" #: src/tags.cpp:978 msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:987 msgid "Camera Calibration 2" msgstr "" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:997 msgid "Reduction Matrix 1" msgstr "" #: src/tags.cpp:998 msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1004 msgid "Reduction Matrix 2" msgstr "" #: src/tags.cpp:1005 msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1011 #, fuzzy msgid "Analog Balance" msgstr "Väriavaruus" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" #: src/tags.cpp:1021 #, fuzzy msgid "As Shot Neutral" msgstr "Neutraali" #: src/tags.cpp:1022 msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" #: src/tags.cpp:1027 msgid "As Shot White XY" msgstr "" #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" #: src/tags.cpp:1032 #, fuzzy msgid "Baseline Exposure" msgstr "Automaattivalotus" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" #: src/tags.cpp:1047 msgid "Baseline Noise" msgstr "" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" #: src/tags.cpp:1054 #, fuzzy msgid "Baseline Sharpness" msgstr "Terävyys" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" #: src/tags.cpp:1061 msgid "Bayer Green Split" msgstr "" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" #: src/tags.cpp:1070 msgid "Linear Response Limit" msgstr "" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" #: src/tags.cpp:1079 msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" #: src/tags.cpp:1082 #, fuzzy msgid "Lens Info" msgstr "Linssin malli" #: src/tags.cpp:1083 msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" #: src/tags.cpp:1095 msgid "Anti Alias Strength" msgstr "" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" #: src/tags.cpp:1102 msgid "Shadow Scale" msgstr "" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" #: src/tags.cpp:1106 msgid "DNG Private Data" msgstr "" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" #: src/tags.cpp:1111 msgid "MakerNote Safety" msgstr "" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" #: src/tags.cpp:1119 msgid "Calibration Illuminant 1" msgstr "" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" #: src/tags.cpp:1125 msgid "Calibration Illuminant 2" msgstr "" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" #: src/tags.cpp:1132 msgid "Best Quality Scale" msgstr "" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" #: src/tags.cpp:1140 msgid "Raw Data Unique ID" msgstr "" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" #: src/tags.cpp:1149 msgid "Original Raw File Name" msgstr "" #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" #: src/tags.cpp:1153 msgid "Original Raw File Data" msgstr "" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" #: src/tags.cpp:1164 msgid "Active Area" msgstr "" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" #: src/tags.cpp:1168 msgid "Masked Areas" msgstr "" #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" #: src/tags.cpp:1176 msgid "As-Shot ICC Profile" msgstr "" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" #: src/tags.cpp:1188 msgid "As-Shot Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" #: src/tags.cpp:1198 msgid "Current ICC Profile" msgstr "" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1205 msgid "Current Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1212 msgid "Colorimetric Reference" msgstr "" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" #: src/tags.cpp:1220 msgid "Camera Calibration Signature" msgstr "" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" #: src/tags.cpp:1227 msgid "Profile Calibration Signature" msgstr "" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" #: src/tags.cpp:1234 msgid "As Shot Profile Name" msgstr "" #: src/tags.cpp:1235 msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" #: src/tags.cpp:1238 #, fuzzy msgid "Noise Reduction Applied" msgstr "Päällä, punasilmäisyyden esto" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" #: src/tags.cpp:1246 #, fuzzy msgid "Profile Name" msgstr "Tiedostonimi" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1279 #, fuzzy msgid "Profile Tone Curve" msgstr "Kontrasti" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" #: src/tags.cpp:1288 msgid "Profile Embed Policy" msgstr "" #: src/tags.cpp:1289 msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" #: src/tags.cpp:1292 #, fuzzy msgid "Profile Copyright" msgstr "Omistusoikeus" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" #: src/tags.cpp:1297 #, fuzzy msgid "Forward Matrix 1" msgstr "Väriavaruus" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" #: src/tags.cpp:1301 #, fuzzy msgid "Forward Matrix 2" msgstr "Väriavaruus" #: src/tags.cpp:1305 #, fuzzy msgid "Preview Application Name" msgstr "Esikatselu" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" #: src/tags.cpp:1309 #, fuzzy msgid "Preview Application Version" msgstr "Ohjelman versio" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" #: src/tags.cpp:1313 #, fuzzy msgid "Preview Settings Name" msgstr "Esikatselu" #: src/tags.cpp:1314 msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" #: src/tags.cpp:1317 #, fuzzy msgid "Preview Settings Digest" msgstr "Kuvan koko" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" #: src/tags.cpp:1321 #, fuzzy msgid "Preview Color Space" msgstr "Väriavaruus" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" #: src/tags.cpp:1326 #, fuzzy msgid "Preview Date Time" msgstr "Esikatselu" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" #: src/tags.cpp:1331 #, fuzzy msgid "Raw Image Digest" msgstr "Kuvan numero" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" #: src/tags.cpp:1337 msgid "Original Raw File Digest" msgstr "" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" #: src/tags.cpp:1387 #, fuzzy msgid "Noise Profile" msgstr "tiedostoon" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" #: src/tags.cpp:1396 src/tags.cpp:1397 #, fuzzy msgid "Unknown IFD tag" msgstr "Tuntematon" #: src/tags.cpp:1408 src/tags.cpp:1466 msgid "Not defined" msgstr "" #: src/tags.cpp:1413 msgid "Creative program" msgstr "" #: src/tags.cpp:1414 msgid "Action program" msgstr "" #: src/tags.cpp:1415 #, fuzzy msgid "Portrait mode" msgstr "Muotokuva" #: src/tags.cpp:1416 #, fuzzy msgid "Landscape mode" msgstr "Maisemakuva" #: src/tags.cpp:1425 msgid "Multi-spot" msgstr "" #: src/tags.cpp:1437 msgid "Tungsten (incandescent light)" msgstr "" #: src/tags.cpp:1439 msgid "Fine weather" msgstr "" #: src/tags.cpp:1440 #, fuzzy msgid "Cloudy weather" msgstr "Pilvinen" #: src/tags.cpp:1442 msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "" #: src/tags.cpp:1443 msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "" #: src/tags.cpp:1444 msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "" #: src/tags.cpp:1445 msgid "White fluorescent (WW 3200 - 3700K)" msgstr "" #: src/tags.cpp:1446 msgid "Standard light A" msgstr "" #: src/tags.cpp:1447 msgid "Standard light B" msgstr "" #: src/tags.cpp:1448 msgid "Standard light C" msgstr "" #: src/tags.cpp:1449 msgid "D55" msgstr "" #: src/tags.cpp:1450 msgid "D65" msgstr "" #: src/tags.cpp:1451 msgid "D75" msgstr "" #: src/tags.cpp:1452 msgid "D50" msgstr "" #: src/tags.cpp:1453 #, fuzzy msgid "ISO studio tungsten" msgstr "ISO-herkkyys" #: src/tags.cpp:1454 msgid "Other light source" msgstr "" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "" #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "" #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "" #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "" #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "" #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "" #: src/tags.cpp:1472 msgid "Color sequential linear" msgstr "" #: src/tags.cpp:1477 #, fuzzy msgid "Film scanner" msgstr "Tiedostonimi" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "" #: src/tags.cpp:1479 #, fuzzy msgid "Digital still camera" msgstr "Digitaalinen makro" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "" #: src/tags.cpp:1489 #, fuzzy msgid "Normal process" msgstr "Normaali" #: src/tags.cpp:1490 #, fuzzy msgid "Custom process" msgstr "Pakkaus" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "" #: src/tags.cpp:1519 msgid "High gain up" msgstr "" #: src/tags.cpp:1520 msgid "Low gain down" msgstr "" #: src/tags.cpp:1521 msgid "High gain down" msgstr "" #: src/tags.cpp:1542 msgid "Close view" msgstr "" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "" #: src/tags.cpp:1550 msgid "Exposure time, given in seconds (sec)." msgstr "" #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "" #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" #: src/tags.cpp:1573 #, fuzzy msgid "Sensitivity Type" msgstr "Linssin tyyppi" #: src/tags.cpp:1574 msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" #: src/tags.cpp:1580 msgid "Standard Output Sensitivity" msgstr "" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1585 #, fuzzy msgid "Recommended Exposure Index" msgstr "Valotustila" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1595 #, fuzzy msgid "ISO Speed Latitude yyy" msgstr "ISO-herkkyys" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" #: src/tags.cpp:1600 #, fuzzy msgid "ISO Speed Latitude zzz" msgstr "ISO-herkkyys" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" #: src/tags.cpp:1609 #, fuzzy msgid "Date and Time (original)" msgstr "Päiväys ja aika" #: src/tags.cpp:1610 msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" #: src/tags.cpp:1613 #, fuzzy msgid "Date and Time (digitized)" msgstr "Päiväys ja aika" #: src/tags.cpp:1614 msgid "The date and time when the image was stored as digital data." msgstr "" #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" #: src/tags.cpp:1626 msgid "Compressed Bits per Pixel" msgstr "" #: src/tags.cpp:1627 msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" #: src/tags.cpp:1631 msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "" #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1641 msgid "Exposure Bias" msgstr "Valotuksen korjaus" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "" #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" #: src/tags.cpp:1667 msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "" #: src/tags.cpp:1670 #, fuzzy msgid "Maker Note" msgstr "Makrotila" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" #: src/tags.cpp:1679 msgid "Sub-seconds Time" msgstr "" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1682 msgid "Sub-seconds Time Original" msgstr "" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1685 msgid "Sub-seconds Time Digitized" msgstr "" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1688 #, fuzzy msgid "FlashPix Version" msgstr "Ohjelman versio" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "" #: src/tags.cpp:1692 msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" #: src/tags.cpp:1723 msgid "Interoperability IFD Pointer" msgstr "" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" #: src/tags.cpp:1740 msgid "Focal Plane X-Resolution" msgstr "" #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1744 msgid "Focal Plane Y-Resolution" msgstr "" #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" #: src/tags.cpp:1753 msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" #: src/tags.cpp:1759 #, fuzzy msgid "Exposure index" msgstr "Valotustila" #: src/tags.cpp:1760 msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" #: src/tags.cpp:1764 msgid "Indicates the image sensor type on the camera or input device." msgstr "" #: src/tags.cpp:1767 msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" #: src/tags.cpp:1776 msgid "Color Filter Array Pattern" msgstr "" #: src/tags.cpp:1777 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" #: src/tags.cpp:1793 msgid "This tag indicates the white balance mode set when the image was shot." msgstr "" #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" #: src/tags.cpp:1801 msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" #: src/tags.cpp:1807 msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" #: src/tags.cpp:1812 msgid "This tag indicates the degree of overall image gain adjustment." msgstr "" #: src/tags.cpp:1815 msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" #: src/tags.cpp:1819 msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" #: src/tags.cpp:1823 msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" #: src/tags.cpp:1827 msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" #: src/tags.cpp:1832 msgid "This tag indicates the distance to the subject." msgstr "" #: src/tags.cpp:1835 msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" #: src/tags.cpp:1839 #, fuzzy msgid "Camera Owner Name" msgstr "Omistajan nimi" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" #: src/tags.cpp:1843 #, fuzzy msgid "Body Serial Number" msgstr "Sarjanumero" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1847 msgid "Lens Specification" msgstr "" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" #: src/tags.cpp:1854 #, fuzzy msgid "Lens Make" msgstr "Linssin malli" #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "" #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1866 src/tags.cpp:1867 #, fuzzy msgid "Unknown Exif tag" msgstr "Tuntematon" #: src/tags.cpp:1878 #, fuzzy msgid "North" msgstr "kuukausi" #: src/tags.cpp:1879 #, fuzzy msgid "South" msgstr "Piste" #: src/tags.cpp:1884 msgid "East" msgstr "" #: src/tags.cpp:1885 msgid "West" msgstr "" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "" #: src/tags.cpp:1891 #, fuzzy msgid "Below sea level" msgstr "Salaman malli" #: src/tags.cpp:1896 msgid "Measurement in progress" msgstr "" #: src/tags.cpp:1897 msgid "Measurement Interoperability" msgstr "" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "" #: src/tags.cpp:1908 msgid "km/h" msgstr "" #: src/tags.cpp:1909 msgid "mph" msgstr "" #: src/tags.cpp:1910 msgid "knots" msgstr "" #: src/tags.cpp:1915 msgid "True direction" msgstr "" #: src/tags.cpp:1916 msgid "Magnetic direction" msgstr "" #: src/tags.cpp:1921 msgid "Kilometers" msgstr "" #: src/tags.cpp:1922 msgid "Miles" msgstr "" #: src/tags.cpp:1923 msgid "Knots" msgstr "" #: src/tags.cpp:1928 msgid "Without correction" msgstr "" #: src/tags.cpp:1929 msgid "Correction applied" msgstr "" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" #: src/tags.cpp:1941 msgid "GPS Latitude Reference" msgstr "" #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1953 msgid "GPS Longitude Reference" msgstr "" #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" #: src/tags.cpp:1998 msgid "GPS Data Degree of Precision" msgstr "" #: src/tags.cpp:1999 msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" #: src/tags.cpp:2007 msgid "Indicates the speed of GPS receiver movement." msgstr "" #: src/tags.cpp:2009 msgid "GPS Track Ref" msgstr "" #: src/tags.cpp:2010 msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2014 msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2022 msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" #: src/tags.cpp:2029 #, fuzzy msgid "GPS Destination Latitude Reference" msgstr "Kohteen etäisyys" #: src/tags.cpp:2030 msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" #: src/tags.cpp:2034 msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2041 msgid "GPS Destination Longitude Reference" msgstr "" #: src/tags.cpp:2042 msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" #: src/tags.cpp:2046 msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2057 msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "" #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" #: src/tags.cpp:2065 msgid "Indicates the distance to the destination point." msgstr "" #: src/tags.cpp:2068 msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" #: src/tags.cpp:2076 msgid "GPS Date Stamp" msgstr "" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" #: src/tags.cpp:2081 msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "" #: src/tags.cpp:2084 src/tags.cpp:2085 msgid "Unknown GPSInfo tag" msgstr "" #: src/tags.cpp:2096 msgid "Interoperability Index" msgstr "" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" #: src/tags.cpp:2103 #, fuzzy msgid "Interoperability Version" msgstr "Ohjelman versio" #: src/tags.cpp:2104 msgid "Interoperability version" msgstr "" #: src/tags.cpp:2106 msgid "Related Image File Format" msgstr "" #: src/tags.cpp:2107 #, fuzzy msgid "File format of image file" msgstr "Tiedoston avaus epäonnistui\n" #: src/tags.cpp:2109 msgid "Related Image Width" msgstr "" #: src/tags.cpp:2112 msgid "Related Image Length" msgstr "" #: src/tags.cpp:2116 src/tags.cpp:2117 msgid "Unknown Exif Interoperability tag" msgstr "" #: src/tags.cpp:2128 #, fuzzy msgid "Offset" msgstr "Pois" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "" #: src/tags.cpp:2131 msgid "Byte Order" msgstr "" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" #: src/tags.cpp:2135 src/tags.cpp:2136 msgid "Unknown Exiv2 Makernote info tag" msgstr "" #: src/tags.cpp:2146 src/tags.cpp:2147 #, fuzzy msgid "Unknown tag" msgstr "Tuntematon" #: src/tags.cpp:2688 msgid "Digital zoom not used" msgstr "" #: src/tiffimage.cpp:2308 msgid "TIFF header, offset" msgstr "" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "" #, fuzzy #~ msgid "ascii bytes" #~ msgstr "tavua" exiv2-0.25/po/boldquot.sed0000664000175000017500000000033110521706435015257 0ustar andreasandreass/"\([^"]*\)"/“\1”/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“”/""/g s/“/“/g s/”/”/g s/‘/‘/g s/’/’/g exiv2-0.25/po/Makevars0000664000175000017500000000341610521706435014434 0ustar andreasandreas# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Andreas Huggel # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = ahuggel@gmx.net # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = exiv2-0.25/po/exiv2.pot0000664000175000017500000203066612540520175014530 0ustar andreasandreas# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR Andreas Huggel # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 msgid "Failed to open the file\n" msgstr "" #: src/actions.cpp:282 msgid "File name" msgstr "" #: src/actions.cpp:288 msgid "File size" msgstr "" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "" #: src/actions.cpp:293 msgid "MIME type" msgstr "" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 msgid "Image size" msgstr "" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 msgid "No Exif data found in the file\n" msgstr "" #: src/actions.cpp:307 msgid "Camera make" msgstr "" #: src/actions.cpp:310 msgid "Camera model" msgstr "" #: src/actions.cpp:313 msgid "Image timestamp" msgstr "" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 msgid "Image number" msgstr "" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 msgid "Exposure time" msgstr "" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 msgid "Aperture" msgstr "" #: src/actions.cpp:345 msgid "Exposure bias" msgstr "" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 msgid "Flash" msgstr "" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 msgid "Flash bias" msgstr "" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 msgid "Focal length" msgstr "" #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr "" #: src/actions.cpp:373 msgid "Subject distance" msgstr "" #: src/actions.cpp:387 msgid "ISO speed" msgstr "" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 msgid "Exposure mode" msgstr "" #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 msgid "Metering mode" msgstr "" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 msgid "Macro mode" msgstr "" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 msgid "Image quality" msgstr "" #: src/actions.cpp:403 msgid "Exif Resolution" msgstr "" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 msgid "Thumbnail" msgstr "" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 msgid "Copyright" msgstr "" #: src/actions.cpp:458 msgid "Exif comment" msgstr "" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "" #: src/actions.cpp:742 msgid "JPEG comment" msgstr "" #: src/actions.cpp:767 msgid "Preview" msgstr "" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "" #: src/actions.cpp:773 src/actions.cpp:1113 msgid "bytes" msgstr "" #: src/actions.cpp:820 msgid "Neither tag" msgstr "" #: src/actions.cpp:821 msgid "nor" msgstr "" #: src/actions.cpp:822 msgid "found in the file" msgstr "" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "" #: src/actions.cpp:833 src/actions.cpp:1590 msgid "Failed to parse timestamp" msgstr "" #: src/actions.cpp:834 msgid "in the file" msgstr "" #: src/actions.cpp:845 msgid "Updating timestamp to" msgstr "" #: src/actions.cpp:939 msgid "Erasing thumbnail data" msgstr "" #: src/actions.cpp:947 msgid "Erasing Exif data from the file" msgstr "" #: src/actions.cpp:956 msgid "Erasing IPTC data from the file" msgstr "" #: src/actions.cpp:965 msgid "Erasing JPEG comment from the file" msgstr "" #: src/actions.cpp:974 msgid "Erasing XMP data from the file" msgstr "" #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "" #: src/actions.cpp:1055 msgid "Writing thumbnail" msgstr "" #: src/actions.cpp:1056 src/actions.cpp:1114 msgid "to file" msgstr "" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "" #: src/actions.cpp:1107 msgid "Writing preview" msgstr "" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "" #: src/actions.cpp:1319 msgid "Add" msgstr "" #: src/actions.cpp:1341 src/actions.cpp:1415 msgid "Warning" msgstr "" #: src/actions.cpp:1342 src/actions.cpp:1416 msgid "Failed to read" msgstr "" #: src/actions.cpp:1344 src/actions.cpp:1418 msgid "value" msgstr "" #: src/actions.cpp:1355 msgid "Set" msgstr "" #: src/actions.cpp:1427 msgid "Del" msgstr "" #: src/actions.cpp:1459 msgid "Reg " msgstr "" #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "" #: src/actions.cpp:1544 msgid "not set\n" msgstr "" #: src/actions.cpp:1549 msgid "Adjusting" msgstr "" #: src/actions.cpp:1549 msgid "by" msgstr "" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "" #: src/actions.cpp:1556 msgid "year" msgstr "" #: src/actions.cpp:1564 msgid "months" msgstr "" #: src/actions.cpp:1567 msgid "month" msgstr "" #: src/actions.cpp:1575 msgid "days" msgstr "" #: src/actions.cpp:1578 msgid "day" msgstr "" #: src/actions.cpp:1584 msgid "s" msgstr "" #: src/actions.cpp:1600 msgid "Can't adjust timestamp by" msgstr "" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 msgid "to" msgstr "" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "" #: src/actions.cpp:1708 msgid "No Exif user comment found" msgstr "" #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "" #: src/actions.cpp:1723 msgid "No Exif UNICODE user comment found" msgstr "" #: src/actions.cpp:1729 msgid "Setting Exif UNICODE user comment to" msgstr "" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "" #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "" #: src/actions.cpp:1975 src/exiv2.cpp:168 msgid "File" msgstr "" #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr "" #: src/actions.cpp:2004 msgid "Renaming file to" msgstr "" #: src/actions.cpp:2006 msgid "updating timestamp" msgstr "" #: src/actions.cpp:2015 msgid "Failed to rename" msgstr "" #: src/actions.cpp:2037 msgid "Overwrite" msgstr "" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "" #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "" #: src/canonmn.cpp:363 msgid "Format 1" msgstr "" #: src/canonmn.cpp:364 msgid "Format 2" msgstr "" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 msgid "On (1)" msgstr "" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 msgid "On (2)" msgstr "" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 msgid "Adobe RGB" msgstr "" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 msgid "Camera Settings" msgstr "" #: src/canonmn.cpp:383 msgid "Various camera settings" msgstr "" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 msgid "Focal Length" msgstr "" #: src/canonmn.cpp:386 src/sonymn.cpp:394 msgid "Shot Info" msgstr "" #: src/canonmn.cpp:386 msgid "Shot information" msgstr "" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 msgid "Panorama" msgstr "" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 msgid "Image Type" msgstr "" #: src/canonmn.cpp:388 msgid "Image type" msgstr "" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 msgid "Firmware Version" msgstr "" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 msgid "Firmware version" msgstr "" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 msgid "File Number" msgstr "" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 msgid "File number" msgstr "" #: src/canonmn.cpp:391 msgid "Owner Name" msgstr "" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 msgid "Serial Number" msgstr "" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 msgid "Camera serial number" msgstr "" #: src/canonmn.cpp:393 msgid "Camera Info" msgstr "" #: src/canonmn.cpp:393 msgid "Camera info" msgstr "" #: src/canonmn.cpp:394 src/canonmn.cpp:406 msgid "Custom Functions" msgstr "" #: src/canonmn.cpp:395 msgid "ModelID" msgstr "" #: src/canonmn.cpp:395 msgid "Model ID" msgstr "" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 msgid "Picture Info" msgstr "" #: src/canonmn.cpp:396 msgid "Picture info" msgstr "" #: src/canonmn.cpp:397 msgid "Thumbnail Image Valid Area" msgstr "" #: src/canonmn.cpp:397 msgid "Thumbnail image valid area" msgstr "" #: src/canonmn.cpp:398 msgid "Serial Number Format" msgstr "" #: src/canonmn.cpp:398 msgid "Serial number format" msgstr "" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 msgid "Super Macro" msgstr "" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF Info" msgstr "" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF info" msgstr "" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "" #: src/canonmn.cpp:402 msgid "White Balance Table" msgstr "" #: src/canonmn.cpp:402 msgid "White balance table" msgstr "" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 msgid "Lens Model" msgstr "" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 msgid "Lens model" msgstr "" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 msgid "Internal Serial Number" msgstr "" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 msgid "Internal serial number" msgstr "" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "" #: src/canonmn.cpp:406 msgid "Custom functions" msgstr "" #: src/canonmn.cpp:407 msgid "Processing Info" msgstr "" #: src/canonmn.cpp:407 msgid "Processing info" msgstr "" #: src/canonmn.cpp:408 msgid "Measured Color" msgstr "" #: src/canonmn.cpp:408 msgid "Measured color" msgstr "" #: src/canonmn.cpp:409 msgid "ColorSpace" msgstr "" #: src/canonmn.cpp:413 msgid "VRD Offset" msgstr "" #: src/canonmn.cpp:413 msgid "VRD offset" msgstr "" #: src/canonmn.cpp:414 msgid "Sensor Info" msgstr "" #: src/canonmn.cpp:414 msgid "Sensor info" msgstr "" #: src/canonmn.cpp:415 msgid "Color Data" msgstr "" #: src/canonmn.cpp:415 msgid "Color data" msgstr "" #: src/canonmn.cpp:417 msgid "Unknown CanonMakerNote tag" msgstr "" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "" #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 msgid "Normal" msgstr "" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 msgid "Fine" msgstr "" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "" #: src/canonmn.cpp:437 msgid "Superfine" msgstr "" #: src/canonmn.cpp:438 msgid "Normal Movie" msgstr "" #: src/canonmn.cpp:439 msgid "Movie (2)" msgstr "" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 msgid "Auto" msgstr "" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "" #: src/canonmn.cpp:448 msgid "Slow sync" msgstr "" #: src/canonmn.cpp:449 msgid "Auto + red-eye" msgstr "" #: src/canonmn.cpp:450 msgid "On + red-eye" msgstr "" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 msgid "External" msgstr "" #: src/canonmn.cpp:457 msgid "Single / timer" msgstr "" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 msgid "Continuous" msgstr "" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 msgid "Movie" msgstr "" #: src/canonmn.cpp:460 msgid "Continuous, speed priority" msgstr "" #: src/canonmn.cpp:461 msgid "Continuous, low" msgstr "" #: src/canonmn.cpp:462 msgid "Continuous, high" msgstr "" #: src/canonmn.cpp:467 msgid "One shot AF" msgstr "" #: src/canonmn.cpp:468 msgid "AI servo AF" msgstr "" #: src/canonmn.cpp:469 msgid "AI focus AF" msgstr "" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 msgid "Manual focus" msgstr "" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 msgid "Single" msgstr "" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 msgid "Pan focus" msgstr "" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 msgid "Large" msgstr "" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 msgid "Medium" msgstr "" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 msgid "Small" msgstr "" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 msgid "Medium 1" msgstr "" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 msgid "Medium 2" msgstr "" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 msgid "Medium 3" msgstr "" #: src/canonmn.cpp:490 msgid "Full auto" msgstr "" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 msgid "Manual" msgstr "" #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 msgid "Landscape" msgstr "" #: src/canonmn.cpp:493 msgid "Fast shutter" msgstr "" #: src/canonmn.cpp:494 msgid "Slow shutter" msgstr "" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 msgid "Night Scene" msgstr "" #: src/canonmn.cpp:496 msgid "Gray scale" msgstr "" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 msgid "Portrait" msgstr "" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "" #: src/canonmn.cpp:501 src/fujimn.cpp:149 msgid "Black & white" msgstr "" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 msgid "Vivid" msgstr "" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 msgid "Neutral" msgstr "" #: src/canonmn.cpp:505 msgid "Flash off" msgstr "" #: src/canonmn.cpp:506 msgid "Long shutter" msgstr "" #: src/canonmn.cpp:508 msgid "Foliage" msgstr "" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 msgid "Indoor" msgstr "" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 msgid "Fireworks" msgstr "" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 msgid "Underwater" msgstr "" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "" #: src/canonmn.cpp:515 msgid "Night SnapShot" msgstr "" #: src/canonmn.cpp:516 msgid "Digital macro" msgstr "" #: src/canonmn.cpp:517 msgid "My Colors" msgstr "" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 msgid "Still image" msgstr "" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 msgid "Other" msgstr "" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 msgid "Low" msgstr "" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 msgid "High" msgstr "" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "" #: src/canonmn.cpp:540 msgid "Auto High" msgstr "" #: src/canonmn.cpp:558 src/sonymn.cpp:235 msgid "Default" msgstr "" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 msgid "Spot" msgstr "" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "" #: src/canonmn.cpp:561 msgid "Evaluative" msgstr "" #: src/canonmn.cpp:562 src/tags.cpp:1427 msgid "Partial" msgstr "" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 msgid "Center weighted" msgstr "" #: src/canonmn.cpp:570 msgid "Not known" msgstr "" #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "" #: src/canonmn.cpp:572 msgid "Very close" msgstr "" #: src/canonmn.cpp:573 msgid "Close" msgstr "" #: src/canonmn.cpp:574 msgid "Middle range" msgstr "" #: src/canonmn.cpp:575 msgid "Far range" msgstr "" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 msgid "Infinity" msgstr "" #: src/canonmn.cpp:583 msgid "Manual AF point selection" msgstr "" #: src/canonmn.cpp:584 msgid "None (MF)" msgstr "" #: src/canonmn.cpp:585 msgid "Auto-selected" msgstr "" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 msgid "Right" msgstr "" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 msgid "Center" msgstr "" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 msgid "Left" msgstr "" #: src/canonmn.cpp:589 msgid "Auto AF point selection" msgstr "" #: src/canonmn.cpp:594 msgid "Easy shooting (Auto)" msgstr "" #: src/canonmn.cpp:595 msgid "Program (P)" msgstr "" #: src/canonmn.cpp:596 msgid "Shutter priority (Tv)" msgstr "" #: src/canonmn.cpp:597 msgid "Aperture priority (Av)" msgstr "" #: src/canonmn.cpp:598 msgid "Manual (M)" msgstr "" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "" #: src/canonmn.cpp:600 msgid "M-DEP" msgstr "" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 msgid "Did not fire" msgstr "" #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 msgid "Fired" msgstr "" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 msgid "External flash" msgstr "" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 msgid "Internal flash" msgstr "" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "" #: src/canonmn.cpp:980 msgid "FP sync used" msgstr "" #: src/canonmn.cpp:991 msgid "Normal AE" msgstr "" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 msgid "Exposure compensation" msgstr "" #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "" #: src/canonmn.cpp:994 msgid "AE lock + exposure compensation" msgstr "" #: src/canonmn.cpp:995 msgid "No AE" msgstr "" #: src/canonmn.cpp:1002 msgid "On, shot only" msgstr "" #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 msgid "AF Point" msgstr "" #: src/canonmn.cpp:1016 msgid "Smooth" msgstr "" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 msgid "Custom" msgstr "" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 msgid "My color data" msgstr "" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 msgid "Full" msgstr "" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "" #: src/canonmn.cpp:1043 msgid "Selftimer" msgstr "" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 msgid "Self timer" msgstr "" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 msgid "Quality" msgstr "" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 msgid "Flash Mode" msgstr "" #: src/canonmn.cpp:1045 msgid "Flash mode setting" msgstr "" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 msgid "Drive Mode" msgstr "" #: src/canonmn.cpp:1046 msgid "Drive mode setting" msgstr "" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 msgid "Focus Mode" msgstr "" #: src/canonmn.cpp:1048 msgid "Focus mode setting" msgstr "" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 msgid "Image Size" msgstr "" #: src/canonmn.cpp:1052 msgid "Easy Mode" msgstr "" #: src/canonmn.cpp:1052 msgid "Easy shooting mode" msgstr "" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 msgid "Digital Zoom" msgstr "" #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 msgid "Digital zoom" msgstr "" #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 msgid "Contrast" msgstr "" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 msgid "Contrast setting" msgstr "" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 msgid "Saturation" msgstr "" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 msgid "Saturation setting" msgstr "" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 msgid "Sharpness" msgstr "" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 msgid "Sharpness setting" msgstr "" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 msgid "ISO Speed Mode" msgstr "" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 msgid "ISO speed setting" msgstr "" #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 msgid "Metering Mode" msgstr "" #: src/canonmn.cpp:1058 msgid "Metering mode setting" msgstr "" #: src/canonmn.cpp:1059 msgid "Focus Type" msgstr "" #: src/canonmn.cpp:1059 msgid "Focus type setting" msgstr "" #: src/canonmn.cpp:1060 msgid "AF point selected" msgstr "" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 msgid "Exposure Program" msgstr "" #: src/canonmn.cpp:1061 msgid "Exposure mode setting" msgstr "" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 msgid "Lens Type" msgstr "" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 msgid "Lens type" msgstr "" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 msgid "Lens" msgstr "" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "" #: src/canonmn.cpp:1065 msgid "Short focal" msgstr "" #: src/canonmn.cpp:1066 msgid "Focal Units" msgstr "" #: src/canonmn.cpp:1066 msgid "Focal units" msgstr "" #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 msgid "Max Aperture" msgstr "" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 msgid "Max aperture" msgstr "" #: src/canonmn.cpp:1068 msgid "Min Aperture" msgstr "" #: src/canonmn.cpp:1068 msgid "Min aperture" msgstr "" #: src/canonmn.cpp:1069 msgid "Flash Activity" msgstr "" #: src/canonmn.cpp:1069 msgid "Flash activity" msgstr "" #: src/canonmn.cpp:1070 msgid "Flash Details" msgstr "" #: src/canonmn.cpp:1070 msgid "Flash details" msgstr "" #: src/canonmn.cpp:1073 msgid "Focus Continuous" msgstr "" #: src/canonmn.cpp:1073 msgid "Focus continuous setting" msgstr "" #: src/canonmn.cpp:1074 msgid "AESetting" msgstr "" #: src/canonmn.cpp:1074 msgid "AE setting" msgstr "" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 msgid "Image Stabilization" msgstr "" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 msgid "Image stabilization" msgstr "" #: src/canonmn.cpp:1076 msgid "Display Aperture" msgstr "" #: src/canonmn.cpp:1076 msgid "Display aperture" msgstr "" #: src/canonmn.cpp:1077 msgid "Zoom Source Width" msgstr "" #: src/canonmn.cpp:1077 msgid "Zoom source width" msgstr "" #: src/canonmn.cpp:1078 msgid "Zoom Target Width" msgstr "" #: src/canonmn.cpp:1078 msgid "Zoom target width" msgstr "" #: src/canonmn.cpp:1080 msgid "Spot Metering Mode" msgstr "" #: src/canonmn.cpp:1080 msgid "Spot metering mode" msgstr "" #: src/canonmn.cpp:1081 msgid "Photo Effect" msgstr "" #: src/canonmn.cpp:1081 msgid "Photo effect" msgstr "" #: src/canonmn.cpp:1082 msgid "Manual Flash Output" msgstr "" #: src/canonmn.cpp:1082 msgid "Manual flash output" msgstr "" #: src/canonmn.cpp:1083 msgid "Color Tone" msgstr "" #: src/canonmn.cpp:1083 msgid "Color tone" msgstr "" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "" #: src/canonmn.cpp:1084 msgid "SRAW quality" msgstr "" #: src/canonmn.cpp:1086 msgid "Unknown Canon Camera Settings 1 tag" msgstr "" #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 msgid "Daylight" msgstr "" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 msgid "Cloudy" msgstr "" #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 msgid "Tungsten" msgstr "" #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 msgid "Fluorescent" msgstr "" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 msgid "Black & White" msgstr "" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "" #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "" #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "" #: src/canonmn.cpp:1109 msgid "Daylight Fluorescent" msgstr "" #: src/canonmn.cpp:1110 src/properties.cpp:816 msgid "Custom 1" msgstr "" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 msgid "Custom 2" msgstr "" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 msgid "Custom 3" msgstr "" #: src/canonmn.cpp:1115 msgid "PC Set 4" msgstr "" #: src/canonmn.cpp:1116 msgid "PC Set 5" msgstr "" #: src/canonmn.cpp:1117 msgid "Auto (ambience priority)" msgstr "" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 msgid "left" msgstr "" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 msgid "center" msgstr "" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 msgid "right" msgstr "" #: src/canonmn.cpp:1151 msgid "ISO Speed Used" msgstr "" #: src/canonmn.cpp:1151 msgid "ISO speed used" msgstr "" #: src/canonmn.cpp:1152 msgid "Measured EV" msgstr "" #: src/canonmn.cpp:1153 msgid "Target Aperture" msgstr "" #: src/canonmn.cpp:1154 msgid "Target Shutter Speed" msgstr "" #: src/canonmn.cpp:1154 msgid "Target shutter speed" msgstr "" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 msgid "White Balance" msgstr "" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 msgid "White balance setting" msgstr "" #: src/canonmn.cpp:1158 msgid "Sequence" msgstr "" #: src/canonmn.cpp:1158 msgid "Sequence number (if in a continuous burst)" msgstr "" #: src/canonmn.cpp:1163 msgid "AF Point Used" msgstr "" #: src/canonmn.cpp:1163 msgid "AF point used" msgstr "" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 msgid "Flash Bias" msgstr "" #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 msgid "Subject Distance" msgstr "" #: src/canonmn.cpp:1168 msgid "Subject distance (units are not clear)" msgstr "" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 msgid "Aperture Value" msgstr "" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 msgid "Shutter Speed Value" msgstr "" #: src/canonmn.cpp:1171 src/tags.cpp:1630 msgid "Shutter speed" msgstr "" #: src/canonmn.cpp:1172 msgid "Measured EV 2" msgstr "" #: src/canonmn.cpp:1177 msgid "Unknown Canon Camera Settings 2 tag" msgstr "" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 msgid "Left to right" msgstr "" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 msgid "Right to left" msgstr "" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 msgid "Bottom to top" msgstr "" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 msgid "Top to bottom" msgstr "" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "" #: src/canonmn.cpp:1196 msgid "Panorama Frame" msgstr "" #: src/canonmn.cpp:1196 msgid "Panorama frame number" msgstr "" #: src/canonmn.cpp:1197 msgid "Panorama Direction" msgstr "" #: src/canonmn.cpp:1197 msgid "Panorama direction" msgstr "" #: src/canonmn.cpp:1199 msgid "Unknown Canon Panorama tag" msgstr "" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 msgid "Noise Reduction" msgstr "" #: src/canonmn.cpp:1209 msgid "Long exposure noise reduction" msgstr "" #: src/canonmn.cpp:1210 msgid "Shutter Ae Lock" msgstr "" #: src/canonmn.cpp:1210 msgid "Shutter/AE lock buttons" msgstr "" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 msgid "Exposure Level Increments" msgstr "" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 msgid "AF Assist" msgstr "" #: src/canonmn.cpp:1213 msgid "AF assist light" msgstr "" #: src/canonmn.cpp:1214 msgid "Flash Sync Speed Av" msgstr "" #: src/canonmn.cpp:1214 msgid "Shutter speed in Av mode" msgstr "" #: src/canonmn.cpp:1215 msgid "AEB Sequence" msgstr "" #: src/canonmn.cpp:1215 msgid "AEB sequence/auto cancellation" msgstr "" #: src/canonmn.cpp:1216 msgid "Shutter Curtain Sync" msgstr "" #: src/canonmn.cpp:1216 msgid "Shutter curtain sync" msgstr "" #: src/canonmn.cpp:1217 msgid "Lens AF Stop Button" msgstr "" #: src/canonmn.cpp:1217 msgid "Lens AF stop button Fn. Switch" msgstr "" #: src/canonmn.cpp:1218 msgid "Fill Flash Auto Reduction" msgstr "" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "" #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "" #: src/canonmn.cpp:1219 msgid "Menu button return position" msgstr "" #: src/canonmn.cpp:1220 msgid "Set Button Function" msgstr "" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "" #: src/canonmn.cpp:1221 msgid "Sensor Cleaning" msgstr "" #: src/canonmn.cpp:1221 msgid "Sensor cleaning" msgstr "" #: src/canonmn.cpp:1222 msgid "Superimposed Display" msgstr "" #: src/canonmn.cpp:1222 msgid "Superimposed display" msgstr "" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "" #: src/canonmn.cpp:1225 msgid "Unknown Canon Custom Function tag" msgstr "" #: src/canonmn.cpp:1236 msgid "mid-right" msgstr "" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 msgid "bottom" msgstr "" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 msgid "top" msgstr "" #: src/canonmn.cpp:1240 msgid "mid-left" msgstr "" #: src/canonmn.cpp:1247 msgid "upper-left" msgstr "" #: src/canonmn.cpp:1248 msgid "upper-right" msgstr "" #: src/canonmn.cpp:1252 msgid "lower-left" msgstr "" #: src/canonmn.cpp:1253 msgid "lower-right" msgstr "" #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 msgid "Image Width" msgstr "" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 msgid "Image width" msgstr "" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 msgid "Image Height" msgstr "" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 msgid "Image height" msgstr "" #: src/canonmn.cpp:1261 msgid "Image Width As Shot" msgstr "" #: src/canonmn.cpp:1261 msgid "Image width (as shot)" msgstr "" #: src/canonmn.cpp:1262 msgid "Image Height As Shot" msgstr "" #: src/canonmn.cpp:1262 msgid "Image height (as shot)" msgstr "" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF Points Used" msgstr "" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF points used" msgstr "" #: src/canonmn.cpp:1264 msgid "AF Points Used 20D" msgstr "" #: src/canonmn.cpp:1264 msgid "AF points used (20D)" msgstr "" #: src/canonmn.cpp:1266 msgid "Unknown Canon Picture Info tag" msgstr "" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 msgid "ISO" msgstr "" #: src/canonmn.cpp:1280 msgid "WB" msgstr "" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "" #: src/canonmn.cpp:1293 msgid "Medium Movie" msgstr "" #: src/canonmn.cpp:1294 msgid "Small Movie" msgstr "" #: src/canonmn.cpp:1300 msgid "On 1" msgstr "" #: src/canonmn.cpp:1301 msgid "On 2" msgstr "" #: src/canonmn.cpp:1309 msgid "On (shift AB)" msgstr "" #: src/canonmn.cpp:1310 msgid "On (shift GM)" msgstr "" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 msgid "Orange" msgstr "" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 msgid "Red" msgstr "" #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 msgid "Green" msgstr "" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 msgid "Blue" msgstr "" #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "" #: src/canonmn.cpp:1334 msgid "Bracket Mode" msgstr "" #: src/canonmn.cpp:1335 msgid "Bracket Value" msgstr "" #: src/canonmn.cpp:1336 msgid "Bracket Shot Number" msgstr "" #: src/canonmn.cpp:1337 msgid "Raw Jpg Quality" msgstr "" #: src/canonmn.cpp:1338 msgid "Raw Jpg Size" msgstr "" #: src/canonmn.cpp:1340 msgid "WB Bracket Mode" msgstr "" #: src/canonmn.cpp:1341 msgid "WB Bracket Value AB" msgstr "" #: src/canonmn.cpp:1342 msgid "WB Bracket Value GM" msgstr "" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 msgid "Filter Effect" msgstr "" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 msgid "Toning Effect" msgstr "" #: src/canonmn.cpp:1345 msgid "Macro Magnification" msgstr "" #: src/canonmn.cpp:1345 msgid "Macro magnification" msgstr "" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "" #: src/canonmn.cpp:1346 msgid "Live view shooting" msgstr "" #: src/canonmn.cpp:1347 msgid "Focus Distance Upper" msgstr "" #: src/canonmn.cpp:1348 msgid "Focus Distance Lower" msgstr "" #: src/canonmn.cpp:1349 msgid "Flash Exposure Lock" msgstr "" #: src/canonmn.cpp:1349 msgid "Flash exposure lock" msgstr "" #: src/canonmn.cpp:1351 msgid "Unknown Canon File Info tag" msgstr "" #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 msgid "Standard" msgstr "" #: src/canonmn.cpp:1369 msgid "Lowest" msgstr "" #: src/canonmn.cpp:1373 msgid "Highest" msgstr "" #: src/canonmn.cpp:1381 msgid "High Saturation" msgstr "" #: src/canonmn.cpp:1383 msgid "Low Saturation" msgstr "" #: src/canonmn.cpp:1384 msgid "CM Set 1" msgstr "" #: src/canonmn.cpp:1385 msgid "CM Set 2" msgstr "" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 msgid "Monochrome" msgstr "" #: src/canonmn.cpp:1399 msgid "Fine Detail" msgstr "" #: src/canonmn.cpp:1404 msgid "ToneCurve" msgstr "" #: src/canonmn.cpp:1404 msgid "Tone curve" msgstr "" #: src/canonmn.cpp:1406 msgid "SharpnessFrequency" msgstr "" #: src/canonmn.cpp:1406 msgid "Sharpness frequency" msgstr "" #: src/canonmn.cpp:1407 msgid "SensorRedLevel" msgstr "" #: src/canonmn.cpp:1407 msgid "Sensor red level" msgstr "" #: src/canonmn.cpp:1408 msgid "SensorBlueLevel" msgstr "" #: src/canonmn.cpp:1408 msgid "Sensor blue level" msgstr "" #: src/canonmn.cpp:1409 msgid "WhiteBalanceRed" msgstr "" #: src/canonmn.cpp:1409 msgid "White balance red" msgstr "" #: src/canonmn.cpp:1410 msgid "WhiteBalanceBlue" msgstr "" #: src/canonmn.cpp:1410 msgid "White balance blue" msgstr "" #: src/canonmn.cpp:1411 msgid "WhiteBalance" msgstr "" #: src/canonmn.cpp:1412 msgid "ColorTemperature" msgstr "" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 msgid "Color Temperature" msgstr "" #: src/canonmn.cpp:1413 msgid "PictureStyle" msgstr "" #: src/canonmn.cpp:1413 msgid "Picture style" msgstr "" #: src/canonmn.cpp:1414 msgid "DigitalGain" msgstr "" #: src/canonmn.cpp:1414 msgid "Digital gain" msgstr "" #: src/canonmn.cpp:1415 msgid "WBShiftAB" msgstr "" #: src/canonmn.cpp:1415 msgid "WBShift AB" msgstr "" #: src/canonmn.cpp:1416 msgid "WBShiftGM" msgstr "" #: src/canonmn.cpp:1416 msgid "WB Shift GM" msgstr "" #: src/canonmn.cpp:1417 msgid "Unknown Canon Processing Info tag" msgstr "" #: src/crwimage.cpp:656 msgid "Header, offset" msgstr "" #: src/crwimage.cpp:674 msgid "tag" msgstr "" #: src/crwimage.cpp:676 msgid "dir" msgstr "" #: src/crwimage.cpp:678 msgid "type" msgstr "" #: src/crwimage.cpp:679 msgid "size" msgstr "" #: src/crwimage.cpp:680 msgid "offset" msgstr "" #: src/datasets.cpp:79 msgid "(invalid)" msgstr "" #: src/datasets.cpp:80 msgid "IIM envelope record" msgstr "" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "" #: src/datasets.cpp:85 msgid "Model Version" msgstr "" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 msgid "Destination" msgstr "" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 msgid "File Format" msgstr "" #: src/datasets.cpp:95 msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" #: src/datasets.cpp:101 msgid "File Version" msgstr "" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" #: src/datasets.cpp:105 msgid "Service Id" msgstr "" #: src/datasets.cpp:106 msgid "Identifies the provider and product" msgstr "" #: src/datasets.cpp:108 msgid "Envelope Number" msgstr "" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" #: src/datasets.cpp:117 msgid "Product Id" msgstr "" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" #: src/datasets.cpp:122 msgid "Envelope Priority" msgstr "" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" #: src/datasets.cpp:129 msgid "Date Sent" msgstr "" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" #: src/datasets.cpp:133 msgid "Time Sent" msgstr "" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" #: src/datasets.cpp:139 msgid "Character Set" msgstr "" #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" #: src/datasets.cpp:145 msgid "Unique Name Object" msgstr "" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:156 msgid "ARM Version" msgstr "" #: src/datasets.cpp:157 msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" #: src/datasets.cpp:170 msgid "Record Version" msgstr "" #: src/datasets.cpp:171 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:175 msgid "Object Type" msgstr "" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" #: src/datasets.cpp:184 msgid "Object Attribute" msgstr "" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" #: src/datasets.cpp:193 msgid "Object Name" msgstr "" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" #: src/datasets.cpp:198 msgid "Document Title" msgstr "" #: src/datasets.cpp:199 src/olympusmn.cpp:827 msgid "Edit Status" msgstr "" #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "" #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 msgid "Subject" msgstr "" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "" #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" #: src/datasets.cpp:222 msgid "Supplemental Category" msgstr "" #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" #: src/datasets.cpp:228 src/properties.cpp:442 msgid "Supplemental Categories" msgstr "" #: src/datasets.cpp:229 msgid "Fixture Id" msgstr "" #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 msgid "Keywords" msgstr "" #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" #: src/datasets.cpp:240 msgid "Location Code" msgstr "" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:248 msgid "Location Name" msgstr "" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" #: src/datasets.cpp:253 src/properties.cpp:376 msgid "Release Date" msgstr "" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:257 msgid "Release Time" msgstr "" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:261 msgid "Expiration Date" msgstr "" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:265 msgid "ExpirationTime" msgstr "" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:269 msgid "Special Instructions" msgstr "" #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" #: src/datasets.cpp:273 src/properties.cpp:439 msgid "Instructions" msgstr "" #: src/datasets.cpp:274 msgid "Action Advised" msgstr "" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:279 msgid "Reference Service" msgstr "" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:283 msgid "Reference Date" msgstr "" #: src/datasets.cpp:284 msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "" #: src/datasets.cpp:286 msgid "Reference Number" msgstr "" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 msgid "Date Created" msgstr "" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:295 msgid "Time Created" msgstr "" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:301 msgid "Digitization Date" msgstr "" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:305 msgid "Digitization Time" msgstr "" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 msgid "Program" msgstr "" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "" #: src/datasets.cpp:313 msgid "Program Version" msgstr "" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "" #: src/datasets.cpp:316 msgid "Object Cycle" msgstr "" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "" #: src/datasets.cpp:319 msgid "By-line" msgstr "" #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "" #: src/datasets.cpp:323 src/properties.cpp:2103 msgid "Author" msgstr "" #: src/datasets.cpp:324 msgid "By-line Title" msgstr "" #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "" #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 msgid "City" msgstr "" #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:333 msgid "Sub Location" msgstr "" #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" #: src/datasets.cpp:337 msgid "Province State" msgstr "" #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:341 msgid "State/Province" msgstr "" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 msgid "Country Code" msgstr "" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:352 msgid "Country Name" msgstr "" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 msgid "Country" msgstr "" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 msgid "Transmission Reference" msgstr "" #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 msgid "Headline" msgstr "" #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "" #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 msgid "Credit" msgstr "" #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "" #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source" msgstr "" #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "" #: src/datasets.cpp:379 msgid "Copyright Notice" msgstr "" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 msgid "Contact" msgstr "" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" #: src/datasets.cpp:384 src/properties.cpp:2101 msgid "Caption" msgstr "" #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "" #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 msgid "Description" msgstr "" #: src/datasets.cpp:388 msgid "Writer" msgstr "" #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" #: src/datasets.cpp:392 msgid "Rasterized Caption" msgstr "" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "" #: src/datasets.cpp:399 msgid "Image Orientation" msgstr "" #: src/datasets.cpp:400 msgid "Indicates the layout of an image." msgstr "" #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 msgid "Language" msgstr "" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" #: src/datasets.cpp:408 msgid "Audio Type" msgstr "" #: src/datasets.cpp:409 msgid "Indicates the type of an audio content." msgstr "" #: src/datasets.cpp:411 msgid "Audio Rate" msgstr "" #: src/datasets.cpp:412 msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "" #: src/datasets.cpp:414 msgid "Audio Resolution" msgstr "" #: src/datasets.cpp:415 msgid "Indicates the sampling resolution of an audio content." msgstr "" #: src/datasets.cpp:417 msgid "Audio Duration" msgstr "" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "" #: src/datasets.cpp:420 msgid "Audio Outcue" msgstr "" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" #: src/datasets.cpp:424 msgid "Preview Format" msgstr "" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" #: src/datasets.cpp:429 src/properties.cpp:1276 msgid "Preview Version" msgstr "" #: src/datasets.cpp:430 msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" #: src/datasets.cpp:433 msgid "Preview Data" msgstr "" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "" #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 msgid "Unknown dataset" msgstr "" #: src/error.cpp:55 msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "" #: src/error.cpp:56 msgid "Success" msgstr "" #: src/error.cpp:59 msgid "This does not look like a %1 image" msgstr "" #: src/error.cpp:60 msgid "Invalid dataset name `%1'" msgstr "" #: src/error.cpp:61 msgid "Invalid record name `%1'" msgstr "" #: src/error.cpp:62 msgid "Invalid key `%1'" msgstr "" #: src/error.cpp:63 msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "" #: src/error.cpp:64 msgid "Value not set" msgstr "" #: src/error.cpp:65 msgid "%1: Failed to open the data source: %2" msgstr "" #: src/error.cpp:66 msgid "%1: Failed to open file (%2): %3" msgstr "" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "" #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "" #: src/error.cpp:69 msgid "Image type %1 is not supported" msgstr "" #: src/error.cpp:70 msgid "Failed to read image data" msgstr "" #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "" #: src/error.cpp:72 msgid "%1: Failed to map file for reading and writing: %2" msgstr "" #: src/error.cpp:73 msgid "%1: Failed to rename file to %2: %3" msgstr "" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "" #: src/error.cpp:76 msgid "Failed to read input data" msgstr "" #: src/error.cpp:77 msgid "Failed to write image" msgstr "" #: src/error.cpp:78 msgid "Input data does not contain a valid image" msgstr "" #: src/error.cpp:79 msgid "Invalid ifdId %1" msgstr "" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" #: src/error.cpp:82 msgid "Offset out of range" msgstr "" #: src/error.cpp:83 msgid "Unsupported data area offset type" msgstr "" #: src/error.cpp:84 msgid "Invalid charset: `%1'" msgstr "" #: src/error.cpp:85 msgid "Unsupported date format" msgstr "" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "" #: src/error.cpp:87 msgid "Writing to %1 images is not supported" msgstr "" #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "" #: src/error.cpp:89 msgid "This does not look like a CRW image" msgstr "" #: src/error.cpp:90 msgid "%1: Not supported" msgstr "" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "" #: src/error.cpp:92 msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "" #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" #: src/error.cpp:104 msgid "Invalid XmpText type `%1'" msgstr "" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "" #: src/error.cpp:106 msgid "Multiple TIFF array element tags %1 in one directory" msgstr "" #: src/error.cpp:107 msgid "TIFF array element tag %1 has wrong type" msgstr "" #: src/error.cpp:108 msgid "%1 has invalid XMP value type `%2'" msgstr "" #: src/exiv2.cpp:213 msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr "" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr "" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" #: src/exiv2.cpp:262 msgid "" "\n" "Options:\n" msgstr "" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr "" #: src/exiv2.cpp:264 msgid " -V Show the program version and exit.\n" msgstr "" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr "" #: src/exiv2.cpp:266 msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr "" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" #: src/exiv2.cpp:268 msgid " -b Show large binary values.\n" msgstr "" #: src/exiv2.cpp:269 msgid " -u Show unknown tags.\n" msgstr "" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr "" #: src/exiv2.cpp:271 msgid " -K key Only output info for this key (exact match).\n" msgstr "" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr "" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr "" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr "" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr "" #: src/exiv2.cpp:285 msgid " s : print a summary of the Exif metadata (the default)\n" msgstr "" #: src/exiv2.cpp:286 msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr "" #: src/exiv2.cpp:287 msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr "" #: src/exiv2.cpp:288 msgid " v : plain Exif data values (-PExgnycv)\n" msgstr "" #: src/exiv2.cpp:289 msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr "" #: src/exiv2.cpp:290 msgid " i : IPTC data values (-PIkyct)\n" msgstr "" #: src/exiv2.cpp:291 msgid " x : XMP properties (-PXkyct)\n" msgstr "" #: src/exiv2.cpp:292 src/exiv2.cpp:317 msgid " c : JPEG comment\n" msgstr "" #: src/exiv2.cpp:293 msgid " p : list available previews\n" msgstr "" #: src/exiv2.cpp:294 msgid " S : print structure of image\n" msgstr "" #: src/exiv2.cpp:295 msgid " X : extract XMP from image\n" msgstr "" #: src/exiv2.cpp:296 msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" #: src/exiv2.cpp:297 msgid " E : include Exif tags in the list\n" msgstr "" #: src/exiv2.cpp:298 msgid " I : IPTC datasets\n" msgstr "" #: src/exiv2.cpp:299 msgid " X : XMP properties\n" msgstr "" #: src/exiv2.cpp:300 msgid " x : print a column with the tag number\n" msgstr "" #: src/exiv2.cpp:301 msgid " g : group name\n" msgstr "" #: src/exiv2.cpp:302 msgid " k : key\n" msgstr "" #: src/exiv2.cpp:303 msgid " l : tag label\n" msgstr "" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr "" #: src/exiv2.cpp:305 msgid " y : type\n" msgstr "" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr "" #: src/exiv2.cpp:307 msgid " s : size in bytes\n" msgstr "" #: src/exiv2.cpp:308 msgid " v : plain data value\n" msgstr "" #: src/exiv2.cpp:309 msgid " t : interpreted (translated) data\n" msgstr "" #: src/exiv2.cpp:310 msgid " h : hexdump of the data\n" msgstr "" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr "" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr "" #: src/exiv2.cpp:313 msgid " e : Exif section\n" msgstr "" #: src/exiv2.cpp:314 msgid " t : Exif thumbnail only\n" msgstr "" #: src/exiv2.cpp:315 msgid " i : IPTC data\n" msgstr "" #: src/exiv2.cpp:316 msgid " x : XMP packet\n" msgstr "" #: src/exiv2.cpp:318 msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" #: src/exiv2.cpp:323 msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr "" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr "" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr "" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr "" #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr "" #: src/exiv2.cpp:336 msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 msgid "Option" msgstr "" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "" #: src/exiv2.cpp:410 msgid "Invalid argument" msgstr "" #: src/exiv2.cpp:434 msgid "Invalid regexp" msgstr "" #: src/exiv2.cpp:473 src/exiv2.cpp:526 msgid "Ignoring surplus option" msgstr "" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "" #: src/exiv2.cpp:504 msgid "Error parsing -a option argument" msgstr "" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "" #: src/exiv2.cpp:535 msgid "option argument" msgstr "" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:824 msgid "Action fixcom is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "" #: src/exiv2.cpp:904 msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "" #: src/exiv2.cpp:920 msgid "Error parsing -m option arguments\n" msgstr "" #: src/exiv2.cpp:927 msgid "Error parsing -M option arguments\n" msgstr "" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "" #: src/exiv2.cpp:1039 msgid "target" msgstr "" #: src/exiv2.cpp:1065 msgid "Invalid preview number" msgstr "" #: src/exiv2.cpp:1097 msgid "Failed to open command file for reading\n" msgstr "" #: src/exiv2.cpp:1110 msgid "line" msgstr "" #: src/exiv2.cpp:1133 msgid "-M option" msgstr "" #: src/exiv2.cpp:1180 msgid "Invalid command line:" msgstr "" #: src/exiv2.cpp:1187 msgid "Invalid command" msgstr "" #: src/exiv2.cpp:1219 msgid "Invalid key" msgstr "" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "" #: src/fujimn.cpp:62 msgid "Soft mode 1" msgstr "" #: src/fujimn.cpp:63 msgid "Soft mode 2" msgstr "" #: src/fujimn.cpp:65 msgid "Hard mode 1" msgstr "" #: src/fujimn.cpp:66 msgid "Hard mode 2" msgstr "" #: src/fujimn.cpp:74 msgid "Fluorescent (daylight)" msgstr "" #: src/fujimn.cpp:75 msgid "Fluorescent (warm white)" msgstr "" #: src/fujimn.cpp:76 msgid "Fluorescent (cool white)" msgstr "" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 msgid "Incandescent" msgstr "" #: src/fujimn.cpp:87 src/fujimn.cpp:88 msgid "None (black & white)" msgstr "" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 msgid "Red-eye reduction" msgstr "" #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 msgid "Night scene" msgstr "" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 msgid "Program AE" msgstr "" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "" #: src/fujimn.cpp:122 msgid "Anti-blur" msgstr "" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 msgid "Sunset" msgstr "" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 msgid "Museum" msgstr "" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 msgid "Party" msgstr "" #: src/fujimn.cpp:126 msgid "Flower" msgstr "" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "" #: src/fujimn.cpp:128 msgid "Natural light & flash" msgstr "" #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 msgid "Aperture-priority AE" msgstr "" #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 msgid "Shutter speed priority AE" msgstr "" #: src/fujimn.cpp:142 msgid "No flash & flash" msgstr "" #: src/fujimn.cpp:148 msgid "Chrome" msgstr "" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 msgid "Wide" msgstr "" #: src/fujimn.cpp:160 msgid "F0/Standard" msgstr "" #: src/fujimn.cpp:161 msgid "F1/Studio portrait" msgstr "" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "" #: src/fujimn.cpp:163 msgid "F3/Studio portrait Ex" msgstr "" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "" #: src/fujimn.cpp:171 msgid "Standard (100%)" msgstr "" #: src/fujimn.cpp:172 msgid "Wide mode 1 (230%)" msgstr "" #: src/fujimn.cpp:173 msgid "Wide mode 2 (400%)" msgstr "" #: src/fujimn.cpp:174 msgid "Film simulation mode" msgstr "" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 msgid "Version" msgstr "" #: src/fujimn.cpp:180 msgid "Fujifilm Makernote version" msgstr "" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 msgid "Image quality setting" msgstr "" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 msgid "Color" msgstr "" #: src/fujimn.cpp:196 msgid "Chroma saturation setting" msgstr "" #: src/fujimn.cpp:198 msgid "Tone" msgstr "" #: src/fujimn.cpp:202 msgid "Flash firing mode setting" msgstr "" #: src/fujimn.cpp:204 msgid "Flash Strength" msgstr "" #: src/fujimn.cpp:205 msgid "Flash firing strength compensation setting" msgstr "" #: src/fujimn.cpp:208 msgid "Macro mode setting" msgstr "" #: src/fujimn.cpp:211 msgid "Focusing mode setting" msgstr "" #: src/fujimn.cpp:216 msgid "Slow Sync" msgstr "" #: src/fujimn.cpp:217 msgid "Slow synchro mode setting" msgstr "" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 msgid "Picture Mode" msgstr "" #: src/fujimn.cpp:220 msgid "Picture mode setting" msgstr "" #: src/fujimn.cpp:226 msgid "Continuous shooting or auto bracketing setting" msgstr "" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 msgid "Sequence Number" msgstr "" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 msgid "Sequence number" msgstr "" #: src/fujimn.cpp:234 msgid "FinePix Color" msgstr "" #: src/fujimn.cpp:235 msgid "Fuji FinePix color setting" msgstr "" #: src/fujimn.cpp:237 msgid "Blur Warning" msgstr "" #: src/fujimn.cpp:238 msgid "Blur warning status" msgstr "" #: src/fujimn.cpp:240 msgid "Focus Warning" msgstr "" #: src/fujimn.cpp:241 msgid "Auto Focus warning status" msgstr "" #: src/fujimn.cpp:243 msgid "Exposure Warning" msgstr "" #: src/fujimn.cpp:244 msgid "Auto exposure warning status" msgstr "" #: src/fujimn.cpp:246 msgid "Dynamic Range" msgstr "" #: src/fujimn.cpp:247 msgid "Dynamic range" msgstr "" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 msgid "Film Mode" msgstr "" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 msgid "Film mode" msgstr "" #: src/fujimn.cpp:252 msgid "Dynamic Range Setting" msgstr "" #: src/fujimn.cpp:253 msgid "Dynamic range settings" msgstr "" #: src/fujimn.cpp:255 msgid "Development Dynamic Range" msgstr "" #: src/fujimn.cpp:256 msgid "Development dynamic range" msgstr "" #: src/fujimn.cpp:258 msgid "Minimum Focal Length" msgstr "" #: src/fujimn.cpp:259 msgid "Minimum focal length" msgstr "" #: src/fujimn.cpp:261 msgid "Maximum Focal Length" msgstr "" #: src/fujimn.cpp:262 msgid "Maximum focal length" msgstr "" #: src/fujimn.cpp:264 msgid "Maximum Aperture at Minimum Focal" msgstr "" #: src/fujimn.cpp:265 msgid "Maximum aperture at minimum focal" msgstr "" #: src/fujimn.cpp:267 msgid "Maximum Aperture at Maximum Focal" msgstr "" #: src/fujimn.cpp:268 msgid "Maximum aperture at maximum focal" msgstr "" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 msgid "File Source" msgstr "" #: src/fujimn.cpp:271 msgid "File source" msgstr "" #: src/fujimn.cpp:273 msgid "Order Number" msgstr "" #: src/fujimn.cpp:274 msgid "Order number" msgstr "" #: src/fujimn.cpp:276 msgid "Frame Number" msgstr "" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 msgid "Frame number" msgstr "" #: src/fujimn.cpp:281 msgid "Unknown FujiMakerNote tag" msgstr "" #: src/minoltamn.cpp:56 msgid "Natural Color" msgstr "" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 msgid "Vivid Color" msgstr "" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 msgid "Solarization" msgstr "" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 msgid "Natural" msgstr "" #: src/minoltamn.cpp:64 msgid "Natural sRGB" msgstr "" #: src/minoltamn.cpp:65 msgid "Natural+ sRGB" msgstr "" #: src/minoltamn.cpp:67 msgid "Evening" msgstr "" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 msgid "Night Portrait" msgstr "" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 msgid "Super Fine" msgstr "" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 msgid "Extra Fine" msgstr "" #: src/minoltamn.cpp:90 msgid "Makernote Version" msgstr "" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "" #: src/minoltamn.cpp:93 msgid "Camera Settings (Std Old)" msgstr "" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "" #: src/minoltamn.cpp:96 msgid "Camera Settings (Std New)" msgstr "" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "" #: src/minoltamn.cpp:99 msgid "Camera Settings (7D)" msgstr "" #: src/minoltamn.cpp:100 msgid "Camera Settings (for Dynax 7D model)" msgstr "" #: src/minoltamn.cpp:102 msgid "Image Stabilization Data" msgstr "" #: src/minoltamn.cpp:103 msgid "Image stabilization data" msgstr "" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "" #: src/minoltamn.cpp:111 msgid "Compressed Image Size" msgstr "" #: src/minoltamn.cpp:112 msgid "Compressed image size" msgstr "" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 msgid "Thumbnail Offset" msgstr "" #: src/minoltamn.cpp:118 msgid "Offset of the thumbnail" msgstr "" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 msgid "Thumbnail Length" msgstr "" #: src/minoltamn.cpp:121 msgid "Size of the thumbnail" msgstr "" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 msgid "Scene Mode" msgstr "" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 msgid "Color Mode" msgstr "" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 msgid "Color mode" msgstr "" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 msgid "Image Quality" msgstr "" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 msgid "Flash Exposure Compensation" msgstr "" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 msgid "Flash exposure compensation in EV" msgstr "" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 msgid "Teleconverter Model" msgstr "" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 msgid "Zone Matching" msgstr "" #: src/minoltamn.cpp:154 msgid "Zone matching" msgstr "" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 msgid "Color temperature" msgstr "" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 msgid "Lens ID" msgstr "" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 msgid "Lens identifier" msgstr "" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 msgid "Color Compensation Filter" msgstr "" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 msgid "White Balance Fine Tune" msgstr "" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 msgid "White Balance Fine Tune Value" msgstr "" #: src/minoltamn.cpp:168 msgid "Image Stabilization A100" msgstr "" #: src/minoltamn.cpp:169 msgid "Image Stabilization for the Sony DSLR-A100" msgstr "" #: src/minoltamn.cpp:173 msgid "Camera Settings (5D)" msgstr "" #: src/minoltamn.cpp:174 msgid "Camera Settings (for Dynax 5D model)" msgstr "" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 msgid "PrintIM information" msgstr "" #: src/minoltamn.cpp:183 msgid "Camera Settings (Z1)" msgstr "" #: src/minoltamn.cpp:184 msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "" #: src/minoltamn.cpp:188 msgid "Unknown Minolta MakerNote tag" msgstr "" #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 msgid "Aperture priority" msgstr "" #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 msgid "Fill flash" msgstr "" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 msgid "Rear flash sync" msgstr "" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 msgid "Wireless" msgstr "" #: src/minoltamn.cpp:224 msgid "Fluorescent 2" msgstr "" #: src/minoltamn.cpp:231 msgid "Full size" msgstr "" #: src/minoltamn.cpp:243 msgid "Super fine" msgstr "" #: src/minoltamn.cpp:247 msgid "Extra fine" msgstr "" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 msgid "Single Frame" msgstr "" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 msgid "Self-timer" msgstr "" #: src/minoltamn.cpp:255 msgid "Bracketing" msgstr "" #: src/minoltamn.cpp:256 msgid "Interval" msgstr "" #: src/minoltamn.cpp:257 msgid "UHS continuous" msgstr "" #: src/minoltamn.cpp:258 msgid "HS continuous" msgstr "" #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 msgid "Multi-segment" msgstr "" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 msgid "Center weighted average" msgstr "" #: src/minoltamn.cpp:271 msgid "Electronic magnification" msgstr "" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 msgid "Top" msgstr "" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 msgid "Top-right" msgstr "" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 msgid "Bottom-right" msgstr "" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 msgid "Bottom" msgstr "" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 msgid "Bottom-left" msgstr "" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 msgid "Top-left" msgstr "" #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 msgid "Hard" msgstr "" #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 msgid "Soft" msgstr "" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 msgid "Night portrait" msgstr "" #: src/minoltamn.cpp:315 msgid "Sports action" msgstr "" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "" #: src/minoltamn.cpp:349 msgid "Standard form" msgstr "" #: src/minoltamn.cpp:350 msgid "Data form" msgstr "" #: src/minoltamn.cpp:355 msgid "Natural color" msgstr "" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 msgid "Black and white" msgstr "" #: src/minoltamn.cpp:357 msgid "Vivid color" msgstr "" #: src/minoltamn.cpp:364 msgid "No zone" msgstr "" #: src/minoltamn.cpp:365 msgid "Center zone (horizontal orientation)" msgstr "" #: src/minoltamn.cpp:366 msgid "Center zone (vertical orientation)" msgstr "" #: src/minoltamn.cpp:367 msgid "Left zone" msgstr "" #: src/minoltamn.cpp:368 msgid "Right zone" msgstr "" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 msgid "Auto focus" msgstr "" #: src/minoltamn.cpp:379 msgid "Wide focus (normal)" msgstr "" #: src/minoltamn.cpp:380 msgid "Spot focus" msgstr "" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 msgid "Exposure" msgstr "" #: src/minoltamn.cpp:388 msgid "Filter" msgstr "" #: src/minoltamn.cpp:393 msgid "Not embedded" msgstr "" #: src/minoltamn.cpp:394 msgid "Embedded" msgstr "" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "" #: src/minoltamn.cpp:410 msgid "Manual flash control" msgstr "" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 msgid "Exposure Mode" msgstr "" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 msgid "Flash mode" msgstr "" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 msgid "Drive mode" msgstr "" #: src/minoltamn.cpp:512 msgid "ISO Value" msgstr "" #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 msgid "Exposure Time" msgstr "" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 msgid "FNumber" msgstr "" #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 msgid "The F-Number" msgstr "" #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 msgid "Macro Mode" msgstr "" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 msgid "Exposure Compensation" msgstr "" #: src/minoltamn.cpp:529 msgid "Bracket Step" msgstr "" #: src/minoltamn.cpp:530 msgid "Bracket step" msgstr "" #: src/minoltamn.cpp:532 msgid "Interval Length" msgstr "" #: src/minoltamn.cpp:533 msgid "Interval length" msgstr "" #: src/minoltamn.cpp:535 msgid "Interval Number" msgstr "" #: src/minoltamn.cpp:536 msgid "Interval number" msgstr "" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 msgid "Focus Distance" msgstr "" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 msgid "Focus distance" msgstr "" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 msgid "Flash Fired" msgstr "" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 msgid "Flash fired" msgstr "" #: src/minoltamn.cpp:547 msgid "Minolta Date" msgstr "" #: src/minoltamn.cpp:548 msgid "Minolta date" msgstr "" #: src/minoltamn.cpp:550 msgid "Minolta Time" msgstr "" #: src/minoltamn.cpp:551 msgid "Minolta time" msgstr "" #: src/minoltamn.cpp:556 msgid "File Number Memory" msgstr "" #: src/minoltamn.cpp:557 msgid "File number memory" msgstr "" #: src/minoltamn.cpp:559 msgid "Last Image Number" msgstr "" #: src/minoltamn.cpp:560 msgid "Last image number" msgstr "" #: src/minoltamn.cpp:562 msgid "Color Balance Red" msgstr "" #: src/minoltamn.cpp:563 msgid "Color balance red" msgstr "" #: src/minoltamn.cpp:565 msgid "Color Balance Green" msgstr "" #: src/minoltamn.cpp:566 msgid "Color balance green" msgstr "" #: src/minoltamn.cpp:568 msgid "Color Balance Blue" msgstr "" #: src/minoltamn.cpp:569 msgid "Color balance blue" msgstr "" #: src/minoltamn.cpp:580 msgid "Subject Program" msgstr "" #: src/minoltamn.cpp:581 msgid "Subject program" msgstr "" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 msgid "ISO Settings" msgstr "" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 msgid "ISO setting" msgstr "" #: src/minoltamn.cpp:589 msgid "Minolta Model" msgstr "" #: src/minoltamn.cpp:590 msgid "Minolta model" msgstr "" #: src/minoltamn.cpp:592 msgid "Interval Mode" msgstr "" #: src/minoltamn.cpp:593 msgid "Interval mode" msgstr "" #: src/minoltamn.cpp:595 msgid "Folder Name" msgstr "" #: src/minoltamn.cpp:596 msgid "Folder name" msgstr "" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 msgid "ColorMode" msgstr "" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 msgid "Color Filter" msgstr "" #: src/minoltamn.cpp:602 msgid "Color filter" msgstr "" #: src/minoltamn.cpp:604 msgid "Black and White Filter" msgstr "" #: src/minoltamn.cpp:605 msgid "Black and white filter" msgstr "" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 msgid "Internal Flash" msgstr "" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 msgid "Brightness" msgstr "" #: src/minoltamn.cpp:613 msgid "Spot Focus Point X" msgstr "" #: src/minoltamn.cpp:614 msgid "Spot focus point X" msgstr "" #: src/minoltamn.cpp:616 msgid "Spot Focus Point Y" msgstr "" #: src/minoltamn.cpp:617 msgid "Spot focus point Y" msgstr "" #: src/minoltamn.cpp:619 msgid "Wide Focus Zone" msgstr "" #: src/minoltamn.cpp:620 msgid "Wide focus zone" msgstr "" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 msgid "Focus mode" msgstr "" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 msgid "Focus area" msgstr "" #: src/minoltamn.cpp:628 msgid "DEC Switch Position" msgstr "" #: src/minoltamn.cpp:629 msgid "DEC switch position" msgstr "" #: src/minoltamn.cpp:631 msgid "Color Profile" msgstr "" #: src/minoltamn.cpp:632 msgid "Color profile" msgstr "" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 msgid "Data Imprint" msgstr "" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 msgid "Flash Metering" msgstr "" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 msgid "Flash metering" msgstr "" #: src/minoltamn.cpp:642 msgid "Unknown Minolta Camera Settings tag" msgstr "" #: src/minoltamn.cpp:660 msgid "Program-shift A" msgstr "" #: src/minoltamn.cpp:661 msgid "Program-shift S" msgstr "" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 msgid "Raw+Jpeg" msgstr "" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 msgid "Kelvin" msgstr "" #: src/minoltamn.cpp:695 msgid "Single-shot AF" msgstr "" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 msgid "Continuous AF" msgstr "" #: src/minoltamn.cpp:698 msgid "Automatic AF" msgstr "" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 msgid "sRGB (Natural)" msgstr "" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 msgid "sRGB (Natural+)" msgstr "" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 msgid "Horizontal (normal)" msgstr "" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "" #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "" #: src/minoltamn.cpp:756 msgid "AF Points" msgstr "" #: src/minoltamn.cpp:757 msgid "AF points" msgstr "" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 msgid "Color Space" msgstr "" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 msgid "Color space" msgstr "" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 msgid "Free Memory Card Images" msgstr "" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 msgid "Free memory card images" msgstr "" #: src/minoltamn.cpp:789 msgid "Hue" msgstr "" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 msgid "Rotation" msgstr "" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 msgid "Image Number" msgstr "" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 msgid "Noise reduction" msgstr "" #: src/minoltamn.cpp:817 msgid "Zone Matching On" msgstr "" #: src/minoltamn.cpp:818 msgid "Zone matching on" msgstr "" #: src/minoltamn.cpp:822 msgid "Unknown Minolta Camera Settings 7D tag" msgstr "" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 msgid "Program Shift A" msgstr "" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 msgid "Program Shift S" msgstr "" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 msgid "Night View/Portrait" msgstr "" #: src/minoltamn.cpp:895 msgid "200 (Zone Matching High)" msgstr "" #: src/minoltamn.cpp:896 msgid "80 (Zone Matching Low)" msgstr "" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 msgid "Adobe RGB (ICC)" msgstr "" #: src/minoltamn.cpp:918 msgid "Central" msgstr "" #: src/minoltamn.cpp:919 msgid "Up" msgstr "" #: src/minoltamn.cpp:920 msgid "Up right" msgstr "" #: src/minoltamn.cpp:922 msgid "Down right" msgstr "" #: src/minoltamn.cpp:923 msgid "Down" msgstr "" #: src/minoltamn.cpp:924 msgid "Down left" msgstr "" #: src/minoltamn.cpp:926 msgid "Up left" msgstr "" #: src/minoltamn.cpp:932 msgid "Selection" msgstr "" #: src/minoltamn.cpp:947 msgid "Natural+" msgstr "" #: src/minoltamn.cpp:949 msgid "Wind Scene" msgstr "" #: src/minoltamn.cpp:950 msgid "Evening Scene" msgstr "" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus Position" msgstr "" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus position" msgstr "" #: src/minoltamn.cpp:1003 msgid "Focus Area" msgstr "" #: src/minoltamn.cpp:1036 msgid "Exposure Revision" msgstr "" #: src/minoltamn.cpp:1037 msgid "Exposure revision" msgstr "" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 msgid "Rotation2" msgstr "" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 msgid "Picture Finish" msgstr "" #: src/minoltamn.cpp:1063 msgid "Exposure Manual Bias" msgstr "" #: src/minoltamn.cpp:1064 msgid "Exposure manual bias" msgstr "" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 msgid "AF Mode" msgstr "" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 msgid "AF mode" msgstr "" #: src/minoltamn.cpp:1087 msgid "Unknown Minolta Camera Settings 5D tag" msgstr "" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 msgid "Self-timer 10 sec" msgstr "" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 msgid "Self-timer 2 sec" msgstr "" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 msgid "White Balance Bracketing Low" msgstr "" #: src/minoltamn.cpp:1105 msgid "White Balance Bracketing High" msgstr "" #: src/minoltamn.cpp:1106 msgid "Single-frame Bracketing Low" msgstr "" #: src/minoltamn.cpp:1107 msgid "Continuous Bracketing Low" msgstr "" #: src/minoltamn.cpp:1108 msgid "Single-frame Bracketing High" msgstr "" #: src/minoltamn.cpp:1109 msgid "Continuous Bracketing High" msgstr "" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 msgid "Continuous Bracketing" msgstr "" #: src/minoltamn.cpp:1156 msgid "Single-Frame Bracketing" msgstr "" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 msgid "White Balance Bracketing" msgstr "" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 msgid "Preset" msgstr "" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 msgid "Color Temperature/Color Filter" msgstr "" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 msgid "Temperature" msgstr "" #: src/minoltamn.cpp:1213 msgid "Setup" msgstr "" #: src/minoltamn.cpp:1214 msgid "Recall" msgstr "" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "" #: src/minoltamn.cpp:1232 msgid "Image and Information" msgstr "" #: src/minoltamn.cpp:1233 msgid "Image Only" msgstr "" #: src/minoltamn.cpp:1234 msgid "Image and Histogram" msgstr "" #: src/minoltamn.cpp:1240 msgid "Fill Flash" msgstr "" #: src/minoltamn.cpp:1251 msgid "Focus Hold" msgstr "" #: src/minoltamn.cpp:1252 msgid "DOF Preview" msgstr "" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "" #: src/minoltamn.cpp:1258 msgid "Toggle" msgstr "" #: src/minoltamn.cpp:1259 msgid "Spot Hold" msgstr "" #: src/minoltamn.cpp:1260 msgid "Spot Toggle" msgstr "" #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 msgid "Shutter Speed" msgstr "" #: src/minoltamn.cpp:1271 msgid "Ambient and Flash" msgstr "" #: src/minoltamn.cpp:1272 msgid "Ambient Only" msgstr "" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 msgid "Automatic" msgstr "" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 msgid "Auto-rotate" msgstr "" #: src/minoltamn.cpp:1291 msgid "Horizontal" msgstr "" #: src/minoltamn.cpp:1297 msgid "Manual Rotate" msgstr "" #: src/minoltamn.cpp:1302 msgid "Within Range" msgstr "" #: src/minoltamn.cpp:1303 msgid "Under/Over Range" msgstr "" #: src/minoltamn.cpp:1304 msgid "Out of Range" msgstr "" #: src/minoltamn.cpp:1309 msgid "Not Indicated" msgstr "" #: src/minoltamn.cpp:1310 msgid "Under Scale" msgstr "" #: src/minoltamn.cpp:1311 msgid "Bottom of Scale" msgstr "" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "" #: src/minoltamn.cpp:1330 msgid "Over Scale" msgstr "" #: src/minoltamn.cpp:1335 msgid "AM" msgstr "" #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "" #: src/minoltamn.cpp:1342 msgid "Built-in" msgstr "" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 msgid "Very Low" msgstr "" #: src/minoltamn.cpp:1350 msgid "Half Full" msgstr "" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "" #: src/minoltamn.cpp:1359 msgid "Exposure Compensation Setting" msgstr "" #: src/minoltamn.cpp:1360 msgid "Exposure compensation setting" msgstr "" #: src/minoltamn.cpp:1362 msgid "High Speed Sync" msgstr "" #: src/minoltamn.cpp:1363 msgid "High speed sync" msgstr "" #: src/minoltamn.cpp:1365 msgid "Manual Exposure Time" msgstr "" #: src/minoltamn.cpp:1366 msgid "Manual exposure time" msgstr "" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 msgid "Manual FNumber" msgstr "" #: src/minoltamn.cpp:1377 msgid "Drive Mode 2" msgstr "" #: src/minoltamn.cpp:1378 msgid "Drive mode 2" msgstr "" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 msgid "AF Area Mode" msgstr "" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 msgid "FlashMode" msgstr "" #: src/minoltamn.cpp:1395 msgid "Flash Exposure Comp Setting" msgstr "" #: src/minoltamn.cpp:1396 msgid "Flash exposure compensation setting" msgstr "" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 msgid "ISO Setting" msgstr "" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 msgid "Zone Matching Mode" msgstr "" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 msgid "Dynamic Range Optimizer Mode" msgstr "" #: src/minoltamn.cpp:1408 msgid "Dynamic range optimizer mode" msgstr "" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "" #: src/minoltamn.cpp:1434 msgid "Self Timer Time" msgstr "" #: src/minoltamn.cpp:1435 msgid "Self timer time" msgstr "" #: src/minoltamn.cpp:1438 msgid "Continuous bracketing" msgstr "" #: src/minoltamn.cpp:1440 msgid "Single Frame Bracketing" msgstr "" #: src/minoltamn.cpp:1441 msgid "Single frame bracketing" msgstr "" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 msgid "White balance bracketing" msgstr "" #: src/minoltamn.cpp:1446 msgid "White Balance Setting" msgstr "" #: src/minoltamn.cpp:1449 msgid "Preset White Balance" msgstr "" #: src/minoltamn.cpp:1450 msgid "Preset white balance" msgstr "" #: src/minoltamn.cpp:1452 msgid "Color Temperature Setting" msgstr "" #: src/minoltamn.cpp:1453 msgid "Color temperature setting" msgstr "" #: src/minoltamn.cpp:1455 msgid "Custom WB Setting" msgstr "" #: src/minoltamn.cpp:1456 msgid "Custom WB setting" msgstr "" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 msgid "Dynamic Range Optimizer Settings" msgstr "" #: src/minoltamn.cpp:1464 msgid "Custom WB Red Level" msgstr "" #: src/minoltamn.cpp:1465 msgid "Custom WB red level" msgstr "" #: src/minoltamn.cpp:1467 msgid "Custom WB Green Level" msgstr "" #: src/minoltamn.cpp:1468 msgid "Custom WB green level" msgstr "" #: src/minoltamn.cpp:1470 msgid "Custom WB Blue Level" msgstr "" #: src/minoltamn.cpp:1471 msgid "CustomWB blue level" msgstr "" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 msgid "Custom WB Error" msgstr "" #: src/minoltamn.cpp:1477 msgid "White balance fine tune" msgstr "" #: src/minoltamn.cpp:1483 msgid "Color compensation filter" msgstr "" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 msgid "Sony Image Size" msgstr "" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "" #: src/minoltamn.cpp:1500 msgid "Eye Start AF" msgstr "" #: src/minoltamn.cpp:1501 msgid "Eye start AF" msgstr "" #: src/minoltamn.cpp:1503 msgid "Red Eye Reduction" msgstr "" #: src/minoltamn.cpp:1504 msgid "Red eye reduction" msgstr "" #: src/minoltamn.cpp:1506 msgid "Flash Default" msgstr "" #: src/minoltamn.cpp:1507 msgid "Flash default" msgstr "" #: src/minoltamn.cpp:1509 msgid "Auto Bracket Order" msgstr "" #: src/minoltamn.cpp:1510 msgid "Auto bracket order" msgstr "" #: src/minoltamn.cpp:1512 msgid "Focus Hold Button" msgstr "" #: src/minoltamn.cpp:1513 msgid "Focus hold button" msgstr "" #: src/minoltamn.cpp:1515 msgid "AEL Button" msgstr "" #: src/minoltamn.cpp:1516 msgid "AEL button" msgstr "" #: src/minoltamn.cpp:1518 msgid "Control Dial Set" msgstr "" #: src/minoltamn.cpp:1519 msgid "Control dial set" msgstr "" #: src/minoltamn.cpp:1521 msgid "Exposure Compensation Mode" msgstr "" #: src/minoltamn.cpp:1522 msgid "Exposure compensation mode" msgstr "" #: src/minoltamn.cpp:1525 msgid "AF assist" msgstr "" #: src/minoltamn.cpp:1527 msgid "Card Shutter Lock" msgstr "" #: src/minoltamn.cpp:1528 msgid "Card shutter lock" msgstr "" #: src/minoltamn.cpp:1530 msgid "Lens Shutter Lock" msgstr "" #: src/minoltamn.cpp:1531 msgid "Lens shutter lock" msgstr "" #: src/minoltamn.cpp:1533 msgid "AF Area Illumination" msgstr "" #: src/minoltamn.cpp:1534 msgid "AF area illumination" msgstr "" #: src/minoltamn.cpp:1536 msgid "Monitor Display Off" msgstr "" #: src/minoltamn.cpp:1537 msgid "Monitor display off" msgstr "" #: src/minoltamn.cpp:1539 msgid "Record Display" msgstr "" #: src/minoltamn.cpp:1540 msgid "Record display" msgstr "" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "" #: src/minoltamn.cpp:1545 msgid "Exposure Indicator" msgstr "" #: src/minoltamn.cpp:1546 msgid "Exposure indicator" msgstr "" #: src/minoltamn.cpp:1548 msgid "AEL Exposure Indicator" msgstr "" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "" #: src/minoltamn.cpp:1551 msgid "Exposure Bracketing Indicator Last" msgstr "" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "" #: src/minoltamn.cpp:1557 msgid "Flash Exposure Indicator" msgstr "" #: src/minoltamn.cpp:1558 msgid "Flash exposure indicator" msgstr "" #: src/minoltamn.cpp:1560 msgid "Flash Exposure Indicator Next" msgstr "" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1563 msgid "Flash Exposure Indicator Last" msgstr "" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1569 msgid "Focus Mode Switch" msgstr "" #: src/minoltamn.cpp:1570 msgid "Focus mode switch" msgstr "" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 msgid "Flash Type" msgstr "" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 msgid "Flash type" msgstr "" #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 msgid "AE Lock" msgstr "" #: src/minoltamn.cpp:1585 msgid "Color compensation filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:1587 src/tags.cpp:766 msgid "Battery Level" msgstr "" #: src/minoltamn.cpp:1588 msgid "Battery level" msgstr "" #: src/minoltamn.cpp:1592 msgid "Unknown Sony Camera Settings A100 tag" msgstr "" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 msgid "Clear" msgstr "" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 msgid "Deep" msgstr "" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 msgid "Light" msgstr "" #: src/minoltamn.cpp:1950 msgid "Night View" msgstr "" #: src/minoltamn.cpp:1951 msgid "Autumn Leaves" msgstr "" #: src/minoltamn.cpp:1990 msgid "Local" msgstr "" #: src/minoltamn.cpp:2005 msgid "Top-Right" msgstr "" #: src/minoltamn.cpp:2007 msgid "Bottom-Right" msgstr "" #: src/minoltamn.cpp:2009 msgid "Bottom-Left" msgstr "" #: src/minoltamn.cpp:2011 msgid "Top-Left" msgstr "" #: src/minoltamn.cpp:2012 msgid "Far-Right" msgstr "" #: src/minoltamn.cpp:2013 msgid "Far-Left" msgstr "" #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 msgid "Advanced Auto" msgstr "" #: src/minoltamn.cpp:2028 msgid "Advanced Level" msgstr "" #: src/minoltamn.cpp:2041 msgid "AF" msgstr "" #: src/minoltamn.cpp:2042 msgid "Release" msgstr "" #: src/minoltamn.cpp:2054 msgid "RAW " msgstr "" #: src/minoltamn.cpp:2055 msgid "CRAW " msgstr "" #: src/minoltamn.cpp:2058 msgid "RAW+JPEG" msgstr "" #: src/minoltamn.cpp:2059 msgid "CRAW+JPEG" msgstr "" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "" #: src/minoltamn.cpp:2116 msgid "Compressed Raw" msgstr "" #: src/minoltamn.cpp:2117 msgid "Compressed Raw + JPEG" msgstr "" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "" #: src/minoltamn.cpp:2132 msgid "Minolta AF 1.4x APO (D)" msgstr "" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "" #: src/minoltamn.cpp:2163 msgid "ISO Setting Used" msgstr "" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 msgid "High Key" msgstr "" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "" #: src/nikonmn.cpp:80 msgid "Extra High" msgstr "" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 msgid "Single area" msgstr "" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 msgid "Dynamic area" msgstr "" #: src/nikonmn.cpp:88 msgid "Dynamic area, closest subject" msgstr "" #: src/nikonmn.cpp:89 msgid "Group dynamic" msgstr "" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 msgid "Single area (wide)" msgstr "" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 msgid "Dynamic area (wide)" msgstr "" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 msgid "Upper-left" msgstr "" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 msgid "Upper-right" msgstr "" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 msgid "Lower-left" msgstr "" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 msgid "Lower-right" msgstr "" #: src/nikonmn.cpp:108 msgid "Left-most" msgstr "" #: src/nikonmn.cpp:109 msgid "Right-most" msgstr "" #: src/nikonmn.cpp:143 msgid "Fire, manual" msgstr "" #: src/nikonmn.cpp:144 msgid "Fire, external" msgstr "" #: src/nikonmn.cpp:145 msgid "Fire, commander mode" msgstr "" #: src/nikonmn.cpp:146 msgid "Fire, TTL mode" msgstr "" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 msgid "Delay" msgstr "" #: src/nikonmn.cpp:153 msgid "PC Control" msgstr "" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 msgid "Exposure Bracketing" msgstr "" #: src/nikonmn.cpp:156 msgid "Auto ISO" msgstr "" #: src/nikonmn.cpp:157 msgid "White-Balance Bracketing" msgstr "" #: src/nikonmn.cpp:158 msgid "IR Control" msgstr "" #: src/nikonmn.cpp:159 msgid "D-Lighting Bracketing" msgstr "" #: src/nikonmn.cpp:166 msgid "PC control" msgstr "" #: src/nikonmn.cpp:167 msgid "Exposure bracketing" msgstr "" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "" #: src/nikonmn.cpp:170 msgid "IR control" msgstr "" #: src/nikonmn.cpp:176 msgid "Auto release" msgstr "" #: src/nikonmn.cpp:177 msgid "Manual release" msgstr "" #: src/nikonmn.cpp:182 msgid "Lossy (type 1)" msgstr "" #: src/nikonmn.cpp:183 src/tags.cpp:251 msgid "Uncompressed" msgstr "" #: src/nikonmn.cpp:184 msgid "Lossless" msgstr "" #: src/nikonmn.cpp:185 msgid "Lossy (type 2)" msgstr "" #: src/nikonmn.cpp:191 msgid "B & W" msgstr "" #: src/nikonmn.cpp:193 msgid "Trim" msgstr "" #: src/nikonmn.cpp:194 msgid "Small picture" msgstr "" #: src/nikonmn.cpp:195 msgid "D-Lighting" msgstr "" #: src/nikonmn.cpp:196 msgid "Red eye" msgstr "" #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 msgid "Cyanotype" msgstr "" #: src/nikonmn.cpp:198 msgid "Sky light" msgstr "" #: src/nikonmn.cpp:199 msgid "Warm tone" msgstr "" #: src/nikonmn.cpp:200 msgid "Color custom" msgstr "" #: src/nikonmn.cpp:201 msgid "Image overlay" msgstr "" #: src/nikonmn.cpp:207 msgid "Minimal" msgstr "" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 msgid "Nikon Makernote version" msgstr "" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 msgid "ISO Speed" msgstr "" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 msgid "Sharpening" msgstr "" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 msgid "Image sharpening setting" msgstr "" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 msgid "Focus" msgstr "" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 msgid "Flash Setting" msgstr "" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 msgid "Flash setting" msgstr "" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 msgid "ISO Selection" msgstr "" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 msgid "ISO selection" msgstr "" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data Dump" msgstr "" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data dump" msgstr "" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 msgid "Image Adjustment" msgstr "" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 msgid "Image adjustment setting" msgstr "" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 msgid "Auxiliary lens (adapter)" msgstr "" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 msgid "Manual focus distance" msgstr "" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 msgid "Digital zoom setting" msgstr "" #: src/nikonmn.cpp:260 msgid "AF Focus Position" msgstr "" #: src/nikonmn.cpp:261 msgid "AF focus position information" msgstr "" #: src/nikonmn.cpp:265 msgid "Unknown Nikon1MakerNote tag" msgstr "" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 msgid "Continuous autofocus" msgstr "" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 msgid "Single autofocus" msgstr "" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 msgid "Not used" msgstr "" #: src/nikonmn.cpp:371 msgid "guess" msgstr "" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "" #: src/nikonmn.cpp:419 msgid "VGA Normal" msgstr "" #: src/nikonmn.cpp:420 msgid "VGA Fine" msgstr "" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "" #: src/nikonmn.cpp:422 msgid "SXGA Normal" msgstr "" #: src/nikonmn.cpp:423 msgid "SXGA Fine" msgstr "" #: src/nikonmn.cpp:435 msgid "Bright+" msgstr "" #: src/nikonmn.cpp:436 msgid "Bright-" msgstr "" #: src/nikonmn.cpp:437 msgid "Contrast+" msgstr "" #: src/nikonmn.cpp:438 msgid "Contrast-" msgstr "" #: src/nikonmn.cpp:457 msgid "Speedlight" msgstr "" #: src/nikonmn.cpp:497 msgid "Unknown Nikon2MakerNote tag" msgstr "" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 msgid "Flash Device" msgstr "" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 msgid "Flash device" msgstr "" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 msgid "White Balance Bias" msgstr "" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 msgid "White balance bias" msgstr "" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB Levels" msgstr "" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB levels" msgstr "" #: src/nikonmn.cpp:544 msgid "Program Shift" msgstr "" #: src/nikonmn.cpp:544 msgid "Program shift" msgstr "" #: src/nikonmn.cpp:545 msgid "Exposure Difference" msgstr "" #: src/nikonmn.cpp:545 msgid "Exposure difference" msgstr "" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 msgid "Pointer to a preview image" msgstr "" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 msgid "Offset to an IFD containing a preview image" msgstr "" #: src/nikonmn.cpp:549 msgid "Flash Comp" msgstr "" #: src/nikonmn.cpp:549 msgid "Flash compensation setting" msgstr "" #: src/nikonmn.cpp:551 msgid "Image Boundary" msgstr "" #: src/nikonmn.cpp:551 msgid "Image boundary" msgstr "" #: src/nikonmn.cpp:552 msgid "Flash exposure comp" msgstr "" #: src/nikonmn.cpp:553 msgid "Flash Bracket Comp" msgstr "" #: src/nikonmn.cpp:553 msgid "Flash bracket compensation applied" msgstr "" #: src/nikonmn.cpp:554 msgid "Exposure Bracket Comp" msgstr "" #: src/nikonmn.cpp:554 msgid "AE bracket compensation applied" msgstr "" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 msgid "Image Processing" msgstr "" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 msgid "Image processing" msgstr "" #: src/nikonmn.cpp:556 msgid "Crop High Speed" msgstr "" #: src/nikonmn.cpp:556 msgid "Crop high speed" msgstr "" #: src/nikonmn.cpp:557 msgid "Exposure Tuning" msgstr "" #: src/nikonmn.cpp:557 msgid "Exposure tuning" msgstr "" #: src/nikonmn.cpp:560 msgid "VR Info" msgstr "" #: src/nikonmn.cpp:560 msgid "VR info" msgstr "" #: src/nikonmn.cpp:561 msgid "Image Authentication" msgstr "" #: src/nikonmn.cpp:561 msgid "Image authentication" msgstr "" #: src/nikonmn.cpp:562 msgid "ActiveD-Lighting" msgstr "" #: src/nikonmn.cpp:562 msgid "ActiveD-lighting" msgstr "" #: src/nikonmn.cpp:563 msgid "Picture Control" msgstr "" #: src/nikonmn.cpp:563 msgid " Picture control" msgstr "" #: src/nikonmn.cpp:564 src/properties.cpp:1387 msgid "World Time" msgstr "" #: src/nikonmn.cpp:564 msgid "World time" msgstr "" #: src/nikonmn.cpp:565 msgid "ISO Info" msgstr "" #: src/nikonmn.cpp:565 msgid "ISO info" msgstr "" #: src/nikonmn.cpp:566 msgid "Vignette Control" msgstr "" #: src/nikonmn.cpp:566 msgid "Vignette control" msgstr "" #: src/nikonmn.cpp:568 msgid "Tone Compensation" msgstr "" #: src/nikonmn.cpp:568 msgid "Tone compensation" msgstr "" #: src/nikonmn.cpp:574 msgid "Mode of flash used" msgstr "" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 msgid "Shooting Mode" msgstr "" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 msgid "Shooting mode" msgstr "" #: src/nikonmn.cpp:577 msgid "Auto Bracket Release" msgstr "" #: src/nikonmn.cpp:577 msgid "Auto bracket release" msgstr "" #: src/nikonmn.cpp:578 msgid "Lens FStops" msgstr "" #: src/nikonmn.cpp:579 msgid "Contrast Curve" msgstr "" #: src/nikonmn.cpp:579 msgid "Contrast curve" msgstr "" #: src/nikonmn.cpp:580 msgid "Color Hue" msgstr "" #: src/nikonmn.cpp:580 msgid "Color hue" msgstr "" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 msgid "Scene mode" msgstr "" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 msgid "Light Source" msgstr "" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 msgid "Light source" msgstr "" #: src/nikonmn.cpp:583 msgid "Shot info" msgstr "" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 msgid "Hue Adjustment" msgstr "" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 msgid "Hue adjustment" msgstr "" #: src/nikonmn.cpp:585 msgid "NEF Compression" msgstr "" #: src/nikonmn.cpp:585 msgid "NEF compression" msgstr "" #: src/nikonmn.cpp:588 src/tags.cpp:905 msgid "Linearization Table" msgstr "" #: src/nikonmn.cpp:588 msgid "Linearization table" msgstr "" #: src/nikonmn.cpp:589 msgid "Color Balance" msgstr "" #: src/nikonmn.cpp:589 msgid "Color balance" msgstr "" #: src/nikonmn.cpp:590 msgid "Lens Data" msgstr "" #: src/nikonmn.cpp:590 msgid "Lens data settings" msgstr "" #: src/nikonmn.cpp:591 msgid "Raw Image Center" msgstr "" #: src/nikonmn.cpp:591 msgid "Raw image center" msgstr "" #: src/nikonmn.cpp:592 msgid "Sensor Pixel Size" msgstr "" #: src/nikonmn.cpp:592 msgid "Sensor pixel size" msgstr "" #: src/nikonmn.cpp:594 msgid "Scene Assist" msgstr "" #: src/nikonmn.cpp:594 msgid "Scene assist" msgstr "" #: src/nikonmn.cpp:595 msgid "Retouch History" msgstr "" #: src/nikonmn.cpp:595 msgid "Retouch history" msgstr "" #: src/nikonmn.cpp:597 msgid "Serial NO" msgstr "" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "" #: src/nikonmn.cpp:598 msgid "Image Data Size" msgstr "" #: src/nikonmn.cpp:598 msgid "Image data size" msgstr "" #: src/nikonmn.cpp:600 msgid "Image Count" msgstr "" #: src/nikonmn.cpp:600 msgid "Image count" msgstr "" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted Image Count" msgstr "" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted image count" msgstr "" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 msgid "Shutter Count" msgstr "" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "" #: src/nikonmn.cpp:603 msgid "Flash info" msgstr "" #: src/nikonmn.cpp:604 msgid "Image Optimization" msgstr "" #: src/nikonmn.cpp:604 msgid "Image optimization" msgstr "" #: src/nikonmn.cpp:606 msgid "Program Variation" msgstr "" #: src/nikonmn.cpp:606 msgid "Program variation" msgstr "" #: src/nikonmn.cpp:608 msgid "AF Response" msgstr "" #: src/nikonmn.cpp:608 msgid "AF response" msgstr "" #: src/nikonmn.cpp:609 msgid "Multi exposure" msgstr "" #: src/nikonmn.cpp:610 msgid "High ISO Noise Reduction" msgstr "" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 msgid "Toning effect" msgstr "" #: src/nikonmn.cpp:612 msgid "AF info 2" msgstr "" #: src/nikonmn.cpp:613 msgid "File info" msgstr "" #: src/nikonmn.cpp:614 msgid "AF tune" msgstr "" #: src/nikonmn.cpp:617 msgid "Capture Data" msgstr "" #: src/nikonmn.cpp:617 msgid "Capture data" msgstr "" #: src/nikonmn.cpp:618 msgid "Capture Version" msgstr "" #: src/nikonmn.cpp:618 msgid "Capture version" msgstr "" #: src/nikonmn.cpp:620 msgid "Capture Offsets" msgstr "" #: src/nikonmn.cpp:620 msgid "Capture offsets" msgstr "" #: src/nikonmn.cpp:621 msgid "Scan IFD" msgstr "" #: src/nikonmn.cpp:622 msgid "ICC profile" msgstr "" #: src/nikonmn.cpp:623 msgid "Capture output" msgstr "" #: src/nikonmn.cpp:625 msgid "Unknown Nikon3MakerNote tag" msgstr "" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 msgid "No" msgstr "" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration Reduction" msgstr "" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration reduction" msgstr "" #: src/nikonmn.cpp:657 msgid "Unknown Nikon Vibration Reduction Tag" msgstr "" #: src/nikonmn.cpp:667 msgid "Default Settings" msgstr "" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 msgid "Quick Adjust" msgstr "" #: src/nikonmn.cpp:669 msgid "Full Control" msgstr "" #: src/nikonmn.cpp:690 msgid "Blue-green" msgstr "" #: src/nikonmn.cpp:692 msgid "Purple-blue" msgstr "" #: src/nikonmn.cpp:693 msgid "Red-purple" msgstr "" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 msgid "Name" msgstr "" #: src/nikonmn.cpp:701 msgid "Base" msgstr "" #: src/nikonmn.cpp:702 msgid "Adjust" msgstr "" #: src/nikonmn.cpp:703 msgid "Quick adjust" msgstr "" #: src/nikonmn.cpp:709 msgid "Filter effect" msgstr "" #: src/nikonmn.cpp:711 msgid "Toning Saturation" msgstr "" #: src/nikonmn.cpp:711 msgid "Toning saturation" msgstr "" #: src/nikonmn.cpp:713 msgid "Unknown Nikon Picture Control Tag" msgstr "" #: src/nikonmn.cpp:730 msgid "AF Fine Tune" msgstr "" #: src/nikonmn.cpp:730 msgid "AF fine tune" msgstr "" #: src/nikonmn.cpp:731 msgid "AF Fine Tune Index" msgstr "" #: src/nikonmn.cpp:731 msgid "AF fine tune index" msgstr "" #: src/nikonmn.cpp:732 msgid "AF Fine Tune Adjustment" msgstr "" #: src/nikonmn.cpp:732 msgid "AF fine tune adjustment" msgstr "" #: src/nikonmn.cpp:734 msgid "Unknown Nikon AF Fine Tune Tag" msgstr "" #: src/nikonmn.cpp:744 msgid "Timezone" msgstr "" #: src/nikonmn.cpp:745 msgid "Daylight Savings" msgstr "" #: src/nikonmn.cpp:745 msgid "Daylight savings" msgstr "" #: src/nikonmn.cpp:746 msgid "Date Display Format" msgstr "" #: src/nikonmn.cpp:746 msgid "Date display format" msgstr "" #: src/nikonmn.cpp:748 msgid "Unknown Nikon World Time Tag" msgstr "" #: src/nikonmn.cpp:759 msgid "Hi 0.3" msgstr "" #: src/nikonmn.cpp:760 msgid "Hi 0.5" msgstr "" #: src/nikonmn.cpp:761 msgid "Hi 0.7" msgstr "" #: src/nikonmn.cpp:762 msgid "Hi 1.0" msgstr "" #: src/nikonmn.cpp:763 msgid "Hi 1.3" msgstr "" #: src/nikonmn.cpp:764 msgid "Hi 1.5" msgstr "" #: src/nikonmn.cpp:765 msgid "Hi 1.7" msgstr "" #: src/nikonmn.cpp:766 msgid "Hi 2.0" msgstr "" #: src/nikonmn.cpp:767 msgid "Hi 2.3" msgstr "" #: src/nikonmn.cpp:768 msgid "Hi 2.5" msgstr "" #: src/nikonmn.cpp:769 msgid "Hi 2.7" msgstr "" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "" #: src/nikonmn.cpp:778 msgid "Lo 1.0" msgstr "" #: src/nikonmn.cpp:784 msgid "ISO Expansion" msgstr "" #: src/nikonmn.cpp:784 msgid "ISO expansion" msgstr "" #: src/nikonmn.cpp:785 msgid "ISO 2" msgstr "" #: src/nikonmn.cpp:786 msgid "ISO Expansion 2" msgstr "" #: src/nikonmn.cpp:786 msgid "ISO expansion 2" msgstr "" #: src/nikonmn.cpp:788 msgid "Unknown Nikon Iso Info Tag" msgstr "" #: src/nikonmn.cpp:798 msgid "Single Area" msgstr "" #: src/nikonmn.cpp:799 msgid "Dynamic Area" msgstr "" #: src/nikonmn.cpp:800 msgid "Dynamic Area, Closest Subject" msgstr "" #: src/nikonmn.cpp:801 msgid "Group Dynamic" msgstr "" #: src/nikonmn.cpp:802 msgid "Single Area (wide)" msgstr "" #: src/nikonmn.cpp:803 msgid "Dynamic Area (wide)" msgstr "" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 msgid "Mid-left" msgstr "" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 msgid "Mid-right" msgstr "" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 msgid "Far Left" msgstr "" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 msgid "Far Right" msgstr "" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 msgid "AF area mode" msgstr "" #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 msgid "AF point" msgstr "" #: src/nikonmn.cpp:840 msgid "AF Points In Focus" msgstr "" #: src/nikonmn.cpp:840 msgid "AF points in focus" msgstr "" #: src/nikonmn.cpp:842 msgid "Unknown Nikon Auto Focus Tag" msgstr "" #: src/nikonmn.cpp:853 msgid "On (51-point)" msgstr "" #: src/nikonmn.cpp:854 msgid "On (11-point)" msgstr "" #: src/nikonmn.cpp:855 msgid "On (39-point)" msgstr "" #: src/nikonmn.cpp:856 msgid "On (73-point)" msgstr "" #: src/nikonmn.cpp:857 msgid "On (73-point, new)" msgstr "" #: src/nikonmn.cpp:858 msgid "On (105-point)" msgstr "" #: src/nikonmn.cpp:864 msgid "Contrast Detect AF" msgstr "" #: src/nikonmn.cpp:864 msgid "Contrast detect AF" msgstr "" #: src/nikonmn.cpp:866 msgid "Phase Detect AF" msgstr "" #: src/nikonmn.cpp:866 msgid "Phase detect AF" msgstr "" #: src/nikonmn.cpp:867 msgid "Primary AF Point" msgstr "" #: src/nikonmn.cpp:867 msgid "Primary AF point" msgstr "" #: src/nikonmn.cpp:869 msgid "AF Image Width" msgstr "" #: src/nikonmn.cpp:869 msgid "AF image width" msgstr "" #: src/nikonmn.cpp:870 msgid "AF Image Height" msgstr "" #: src/nikonmn.cpp:870 msgid "AF image height" msgstr "" #: src/nikonmn.cpp:871 msgid "AF Area X Position" msgstr "" #: src/nikonmn.cpp:871 msgid "AF area x position" msgstr "" #: src/nikonmn.cpp:872 msgid "AF Area Y Position" msgstr "" #: src/nikonmn.cpp:872 msgid "AF area y position" msgstr "" #: src/nikonmn.cpp:873 msgid "AF Area Width" msgstr "" #: src/nikonmn.cpp:873 msgid "AF area width" msgstr "" #: src/nikonmn.cpp:874 msgid "AF Area Height" msgstr "" #: src/nikonmn.cpp:874 msgid "AF area height" msgstr "" #: src/nikonmn.cpp:875 msgid "Contrast Detect AF In Focus" msgstr "" #: src/nikonmn.cpp:875 msgid "Contrast detect AF in focus" msgstr "" #: src/nikonmn.cpp:877 msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "" #: src/nikonmn.cpp:888 msgid "Directory Number" msgstr "" #: src/nikonmn.cpp:888 msgid "Directory number" msgstr "" #: src/nikonmn.cpp:891 msgid "Unknown Nikon File Info Tag" msgstr "" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 msgid "Multiple Exposure" msgstr "" #: src/nikonmn.cpp:903 msgid "Image Overlay" msgstr "" #: src/nikonmn.cpp:909 msgid "Multi Exposure Mode" msgstr "" #: src/nikonmn.cpp:909 msgid "Multi exposure mode" msgstr "" #: src/nikonmn.cpp:910 msgid "Multi Exposure Shots" msgstr "" #: src/nikonmn.cpp:910 msgid "Multi exposure shots" msgstr "" #: src/nikonmn.cpp:911 msgid "Multi Exposure Auto Gain" msgstr "" #: src/nikonmn.cpp:911 msgid "Multi exposure auto gain" msgstr "" #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 msgid "Unknown Nikon Multi Exposure Tag" msgstr "" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 msgid "Internal" msgstr "" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "" #: src/nikonmn.cpp:991 msgid "iTTL-BL" msgstr "" #: src/nikonmn.cpp:992 msgid "iTTL" msgstr "" #: src/nikonmn.cpp:993 msgid "Auto Aperture" msgstr "" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 msgid "Repeating Flash" msgstr "" #: src/nikonmn.cpp:1004 msgid "Bounce Flash" msgstr "" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "" #: src/nikonmn.cpp:1018 msgid "Amber" msgstr "" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash Source" msgstr "" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash source" msgstr "" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 msgid "0x0005" msgstr "" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 msgid "External Flash Firmware" msgstr "" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 msgid "External flash firmware" msgstr "" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 msgid "External Flash Flags" msgstr "" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 msgid "External flash flags" msgstr "" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 msgid "Flash Focal Length" msgstr "" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 msgid "Flash focal length" msgstr "" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating flash rate" msgstr "" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating flash count" msgstr "" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN Distance" msgstr "" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN distance" msgstr "" #: src/nikonmn.cpp:1032 msgid "Flash Group A Control Mode" msgstr "" #: src/nikonmn.cpp:1032 msgid "Flash group a control mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash Group B Control Mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash group b control mode" msgstr "" #: src/nikonmn.cpp:1073 msgid "Flash Color Filter" msgstr "" #: src/nikonmn.cpp:1073 msgid "Flash color filter" msgstr "" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 msgid "Shutter count" msgstr "" #: src/nikonmn.cpp:1088 msgid "Unknown Nikon Shot Info D80 Tag" msgstr "" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 msgid "Flash Level" msgstr "" #: src/nikonmn.cpp:1100 msgid "Flash level" msgstr "" #: src/nikonmn.cpp:1102 msgid "Unknown Nikon Shot Info D40 Tag" msgstr "" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF Fine Tune Adj" msgstr "" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF fine tune adj" msgstr "" #: src/nikonmn.cpp:1162 msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "" #: src/nikonmn.cpp:1222 msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "" #: src/nikonmn.cpp:1235 msgid "On (3)" msgstr "" #: src/nikonmn.cpp:1248 msgid "Shutter Count 1" msgstr "" #: src/nikonmn.cpp:1248 msgid "Shutter count 1" msgstr "" #: src/nikonmn.cpp:1251 msgid "Vibration Reduction 1" msgstr "" #: src/nikonmn.cpp:1251 msgid "Vibration reduction 1" msgstr "" #: src/nikonmn.cpp:1252 msgid "Shutter Count 2" msgstr "" #: src/nikonmn.cpp:1252 msgid "Shutter count 2" msgstr "" #: src/nikonmn.cpp:1253 msgid "Vibration Reduction 2" msgstr "" #: src/nikonmn.cpp:1253 msgid "Vibration reduction 2" msgstr "" #: src/nikonmn.cpp:1257 msgid "Unknown Nikon Shot Info Tag" msgstr "" #: src/nikonmn.cpp:1268 msgid "WB RBGG Levels" msgstr "" #: src/nikonmn.cpp:1268 msgid "WB RBGG levels" msgstr "" #: src/nikonmn.cpp:1270 msgid "Unknown Nikon Color Balance 1 Tag" msgstr "" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB Levels" msgstr "" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB levels" msgstr "" #: src/nikonmn.cpp:1283 msgid "Unknown Nikon Color Balance 2 Tag" msgstr "" #: src/nikonmn.cpp:1296 msgid "Unknown Nikon Color Balance 2a Tag" msgstr "" #: src/nikonmn.cpp:1309 msgid "Unknown Nikon Color Balance 2b Tag" msgstr "" #: src/nikonmn.cpp:1320 msgid "WB RGBG Levels" msgstr "" #: src/nikonmn.cpp:1320 msgid "WB RGBG levels" msgstr "" #: src/nikonmn.cpp:1322 msgid "Unknown Nikon Color Balance 3 Tag" msgstr "" #: src/nikonmn.cpp:1333 msgid "WB GRBG Levels" msgstr "" #: src/nikonmn.cpp:1333 msgid "WB GRBG levels" msgstr "" #: src/nikonmn.cpp:1335 msgid "Unknown Nikon Color Balance 4 Tag" msgstr "" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID Number" msgstr "" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID number" msgstr "" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 msgid "Lens F-Stops" msgstr "" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 msgid "Lens F-stops" msgstr "" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min Focal Length" msgstr "" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min focal length" msgstr "" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max Focal Length" msgstr "" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max focal length" msgstr "" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 msgid "Max Aperture At Min Focal" msgstr "" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 msgid "Max aperture at min focal" msgstr "" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 msgid "Max Aperture At Max Focal" msgstr "" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 msgid "Max aperture at max focal" msgstr "" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU Version" msgstr "" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU version" msgstr "" #: src/nikonmn.cpp:1354 msgid "Unknown Nikon Lens Data 1 Tag" msgstr "" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit Pupil Position" msgstr "" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit pupil position" msgstr "" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 msgid "AF Aperture" msgstr "" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 msgid "AF aperture" msgstr "" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective Max Aperture" msgstr "" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective max aperture" msgstr "" #: src/nikonmn.cpp:1379 msgid "Unknown Nikon Lens Data 2 Tag" msgstr "" #: src/nikonmn.cpp:1399 msgid "Max aperture at min focal length" msgstr "" #: src/nikonmn.cpp:1400 msgid "Max aperture at max focal length" msgstr "" #: src/nikonmn.cpp:1404 msgid "Unknown Nikon Lens Data 3 Tag" msgstr "" #: src/nikonmn.cpp:1590 msgid "Closest subject" msgstr "" #: src/nikonmn.cpp:1591 msgid "Group dynamic-AF" msgstr "" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "" #: src/nikonmn.cpp:1624 msgid "used" msgstr "" #: src/nikonmn.cpp:1650 msgid "All 11 Points" msgstr "" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 msgid "Single-frame" msgstr "" #: src/olympusmn.cpp:71 msgid "Standard Quality (SQ)" msgstr "" #: src/olympusmn.cpp:72 msgid "High Quality (HQ)" msgstr "" #: src/olympusmn.cpp:73 msgid "Super High Quality (SHQ)" msgstr "" #: src/olympusmn.cpp:88 msgid "On (preset)" msgstr "" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 msgid "Sport" msgstr "" #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 msgid "Landscape+Portrait" msgstr "" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 msgid "Self Portrait" msgstr "" #: src/olympusmn.cpp:102 msgid "2 in 1" msgstr "" #: src/olympusmn.cpp:105 msgid "Night+Portrait" msgstr "" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "" #: src/olympusmn.cpp:112 msgid "Documents" msgstr "" #: src/olympusmn.cpp:114 msgid "Shoot & Select" msgstr "" #: src/olympusmn.cpp:115 msgid "Beach & Snow" msgstr "" #: src/olympusmn.cpp:116 msgid "Self Portrait+Timer" msgstr "" #: src/olympusmn.cpp:117 msgid "Candle" msgstr "" #: src/olympusmn.cpp:118 msgid "Available Light" msgstr "" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "" #: src/olympusmn.cpp:120 msgid "My Mode" msgstr "" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 msgid "Pet" msgstr "" #: src/olympusmn.cpp:122 msgid "Underwater Wide1" msgstr "" #: src/olympusmn.cpp:123 msgid "Underwater Macro" msgstr "" #: src/olympusmn.cpp:124 msgid "Shoot & Select1" msgstr "" #: src/olympusmn.cpp:125 msgid "Shoot & Select2" msgstr "" #: src/olympusmn.cpp:127 msgid "Digital Image Stabilization" msgstr "" #: src/olympusmn.cpp:128 msgid "Auction" msgstr "" #: src/olympusmn.cpp:131 msgid "Underwater Wide2" msgstr "" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "" #: src/olympusmn.cpp:135 msgid "Nature Macro" msgstr "" #: src/olympusmn.cpp:136 msgid "Underwater Snapshot" msgstr "" #: src/olympusmn.cpp:137 msgid "Shooting Guide" msgstr "" #: src/olympusmn.cpp:145 msgid "Internal + External" msgstr "" #: src/olympusmn.cpp:176 msgid "Interlaced" msgstr "" #: src/olympusmn.cpp:177 msgid "Progressive" msgstr "" #: src/olympusmn.cpp:188 msgid "Thumbnail Image" msgstr "" #: src/olympusmn.cpp:189 msgid "Thumbnail image" msgstr "" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body Firmware Version" msgstr "" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body firmware version" msgstr "" #: src/olympusmn.cpp:195 msgid "Special Mode" msgstr "" #: src/olympusmn.cpp:196 msgid "Picture taking mode" msgstr "" #: src/olympusmn.cpp:204 msgid "Black & White Mode" msgstr "" #: src/olympusmn.cpp:205 msgid "Black and white mode" msgstr "" #: src/olympusmn.cpp:208 msgid "Digital zoom ratio" msgstr "" #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 msgid "Focal Plane Diagonal" msgstr "" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 msgid "Focal plane diagonal" msgstr "" #: src/olympusmn.cpp:213 msgid "Lens Distortion Parameters" msgstr "" #: src/olympusmn.cpp:214 msgid "Lens distortion parameters" msgstr "" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 msgid "Camera Type" msgstr "" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 msgid "Camera type" msgstr "" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "" #: src/olympusmn.cpp:222 msgid "Camera ID" msgstr "" #: src/olympusmn.cpp:223 msgid "Camera ID data" msgstr "" #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 msgid "Preview Image" msgstr "" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 msgid "Preview image" msgstr "" #: src/olympusmn.cpp:237 msgid "Pre Capture Frames" msgstr "" #: src/olympusmn.cpp:238 msgid "Pre-capture frames" msgstr "" #: src/olympusmn.cpp:240 msgid "White Board" msgstr "" #: src/olympusmn.cpp:241 msgid "White board" msgstr "" #: src/olympusmn.cpp:243 msgid "One Touch WB" msgstr "" #: src/olympusmn.cpp:244 msgid "One touch white balance" msgstr "" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 msgid "White Balance Bracket" msgstr "" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 msgid "White balance bracket" msgstr "" #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 msgid "Firmware" msgstr "" #: src/olympusmn.cpp:261 msgid "Data Dump 1" msgstr "" #: src/olympusmn.cpp:262 msgid "Various camera settings 1" msgstr "" #: src/olympusmn.cpp:264 msgid "Data Dump 2" msgstr "" #: src/olympusmn.cpp:265 msgid "Various camera settings 2" msgstr "" #: src/olympusmn.cpp:268 msgid "Shutter speed value" msgstr "" #: src/olympusmn.cpp:271 msgid "ISO speed value" msgstr "" #: src/olympusmn.cpp:274 msgid "Aperture value" msgstr "" #: src/olympusmn.cpp:277 msgid "Brightness value" msgstr "" #: src/olympusmn.cpp:285 msgid "Bracket" msgstr "" #: src/olympusmn.cpp:286 msgid "Exposure compensation value" msgstr "" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 msgid "Sensor Temperature" msgstr "" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 msgid "Sensor temperature" msgstr "" #: src/olympusmn.cpp:291 msgid "Lens Temperature" msgstr "" #: src/olympusmn.cpp:292 msgid "Lens temperature" msgstr "" #: src/olympusmn.cpp:294 msgid "Light Condition" msgstr "" #: src/olympusmn.cpp:295 msgid "Light condition" msgstr "" #: src/olympusmn.cpp:297 msgid "Focus Range" msgstr "" #: src/olympusmn.cpp:298 msgid "Focus range" msgstr "" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 msgid "Zoom step count" msgstr "" #: src/olympusmn.cpp:309 msgid "Macro Focus" msgstr "" #: src/olympusmn.cpp:310 msgid "Macro focus step count" msgstr "" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 msgid "Sharpness Factor" msgstr "" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 msgid "Sharpness factor" msgstr "" #: src/olympusmn.cpp:315 msgid "Flash Charge Level" msgstr "" #: src/olympusmn.cpp:316 msgid "Flash charge level" msgstr "" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 msgid "Color Matrix" msgstr "" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 msgid "Color matrix" msgstr "" #: src/olympusmn.cpp:321 msgid "BlackLevel" msgstr "" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 msgid "Black level" msgstr "" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 msgid "White balance mode" msgstr "" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 msgid "Red Balance" msgstr "" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 msgid "Red balance" msgstr "" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 msgid "Blue Balance" msgstr "" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 msgid "Blue balance" msgstr "" #: src/olympusmn.cpp:342 msgid "Color Matrix Number" msgstr "" #: src/olympusmn.cpp:343 msgid "Color matrix number" msgstr "" #: src/olympusmn.cpp:345 msgid "Serial Number 2" msgstr "" #: src/olympusmn.cpp:346 msgid "Serial number 2" msgstr "" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 msgid "Flash exposure compensation" msgstr "" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 msgid "External Flash Bounce" msgstr "" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 msgid "External flash bounce" msgstr "" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 msgid "External Flash Zoom" msgstr "" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 msgid "External flash zoom" msgstr "" #: src/olympusmn.cpp:387 msgid "External Flash Mode" msgstr "" #: src/olympusmn.cpp:388 msgid "External flash mode" msgstr "" #: src/olympusmn.cpp:396 msgid "Color Control" msgstr "" #: src/olympusmn.cpp:397 msgid "Color control" msgstr "" #: src/olympusmn.cpp:399 msgid "ValidBits" msgstr "" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 msgid "Valid bits" msgstr "" #: src/olympusmn.cpp:402 msgid "CoringFilter" msgstr "" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 msgid "Coring filter" msgstr "" #: src/olympusmn.cpp:423 msgid "Compression Ratio" msgstr "" #: src/olympusmn.cpp:424 msgid "Compression ratio" msgstr "" #: src/olympusmn.cpp:427 msgid "Preview image embedded" msgstr "" #: src/olympusmn.cpp:430 msgid "Offset of the preview image" msgstr "" #: src/olympusmn.cpp:433 msgid "Size of the preview image" msgstr "" #: src/olympusmn.cpp:435 msgid "CCD Scan Mode" msgstr "" #: src/olympusmn.cpp:436 msgid "CCD scan mode" msgstr "" #: src/olympusmn.cpp:441 msgid "Infinity Lens Step" msgstr "" #: src/olympusmn.cpp:442 msgid "Infinity lens step" msgstr "" #: src/olympusmn.cpp:444 msgid "Near Lens Step" msgstr "" #: src/olympusmn.cpp:445 msgid "Near lens step" msgstr "" #: src/olympusmn.cpp:447 msgid "Equipment Info" msgstr "" #: src/olympusmn.cpp:448 msgid "Camera equipment sub-IFD" msgstr "" #: src/olympusmn.cpp:451 msgid "Camera Settings sub-IFD" msgstr "" #: src/olympusmn.cpp:453 msgid "Raw Development" msgstr "" #: src/olympusmn.cpp:454 msgid "Raw development sub-IFD" msgstr "" #: src/olympusmn.cpp:456 msgid "Raw Development 2" msgstr "" #: src/olympusmn.cpp:457 msgid "Raw development 2 sub-IFD" msgstr "" #: src/olympusmn.cpp:460 msgid "Image processing sub-IFD" msgstr "" #: src/olympusmn.cpp:462 msgid "Focus Info" msgstr "" #: src/olympusmn.cpp:463 msgid "Focus sub-IFD" msgstr "" #: src/olympusmn.cpp:465 msgid "Raw Info" msgstr "" #: src/olympusmn.cpp:466 msgid "Raw sub-IFD" msgstr "" #: src/olympusmn.cpp:470 msgid "Unknown OlympusMakerNote tag" msgstr "" #: src/olympusmn.cpp:486 msgid "Program-shift" msgstr "" #: src/olympusmn.cpp:491 msgid "Center-weighted average" msgstr "" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "" #: src/olympusmn.cpp:494 msgid "Pattern+AF" msgstr "" #: src/olympusmn.cpp:495 msgid "Spot+Highlight control" msgstr "" #: src/olympusmn.cpp:496 msgid "Spot+Shadow control" msgstr "" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 msgid "Single AF" msgstr "" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 msgid "Multi AF" msgstr "" #: src/olympusmn.cpp:517 msgid "AF Not Used" msgstr "" #: src/olympusmn.cpp:518 msgid "AF Used" msgstr "" #: src/olympusmn.cpp:523 msgid "Not Ready" msgstr "" #: src/olympusmn.cpp:524 msgid "Ready" msgstr "" #: src/olympusmn.cpp:531 msgid "Fill-in" msgstr "" #: src/olympusmn.cpp:533 msgid "Slow-sync" msgstr "" #: src/olympusmn.cpp:534 msgid "Forced On" msgstr "" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "" #: src/olympusmn.cpp:541 msgid "Channel 1, Low" msgstr "" #: src/olympusmn.cpp:542 msgid "Channel 2, Low" msgstr "" #: src/olympusmn.cpp:543 msgid "Channel 3, Low" msgstr "" #: src/olympusmn.cpp:544 msgid "Channel 4, Low" msgstr "" #: src/olympusmn.cpp:545 msgid "Channel 1, Mid" msgstr "" #: src/olympusmn.cpp:546 msgid "Channel 2, Mid" msgstr "" #: src/olympusmn.cpp:547 msgid "Channel 3, Mid" msgstr "" #: src/olympusmn.cpp:548 msgid "Channel 4, Mid" msgstr "" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "" #: src/olympusmn.cpp:567 msgid "7500K (Fine Weather with Shade)" msgstr "" #: src/olympusmn.cpp:568 msgid "6000K (Cloudy)" msgstr "" #: src/olympusmn.cpp:569 msgid "5300K (Fine Weather)" msgstr "" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 msgid "3600K (Tungsten light-like)" msgstr "" #: src/olympusmn.cpp:572 msgid "Auto Setup" msgstr "" #: src/olympusmn.cpp:573 msgid "5500K (Flash)" msgstr "" #: src/olympusmn.cpp:574 msgid "6600K (Daylight fluorescent)" msgstr "" #: src/olympusmn.cpp:575 msgid "4500K (Neutral white fluorescent)" msgstr "" #: src/olympusmn.cpp:576 msgid "4000K (Cool white fluorescent)" msgstr "" #: src/olympusmn.cpp:577 msgid "White Fluorescent" msgstr "" #: src/olympusmn.cpp:580 msgid "One Touch WB 1" msgstr "" #: src/olympusmn.cpp:581 msgid "One Touch WB 2" msgstr "" #: src/olympusmn.cpp:582 msgid "One Touch WB 3" msgstr "" #: src/olympusmn.cpp:583 msgid "One Touch WB 4" msgstr "" #: src/olympusmn.cpp:584 msgid "Custom WB 1" msgstr "" #: src/olympusmn.cpp:585 msgid "Custom WB 2" msgstr "" #: src/olympusmn.cpp:586 msgid "Custom WB 3" msgstr "" #: src/olympusmn.cpp:587 msgid "Custom WB 4" msgstr "" #: src/olympusmn.cpp:593 msgid "CM1 (Red Enhance)" msgstr "" #: src/olympusmn.cpp:594 msgid "CM2 (Green Enhance)" msgstr "" #: src/olympusmn.cpp:595 msgid "CM3 (Blue Enhance)" msgstr "" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 msgid "Noise Filter" msgstr "" #: src/olympusmn.cpp:610 msgid "Noise Filter (ISO Boost)" msgstr "" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 msgid "Muted" msgstr "" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 msgid "Monotone" msgstr "" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "" #: src/olympusmn.cpp:648 msgid "SHQ" msgstr "" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 msgid "On, Mode 1" msgstr "" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 msgid "On, Mode 2" msgstr "" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 msgid "On, Mode 3" msgstr "" #: src/olympusmn.cpp:661 msgid "Camera Settings Version" msgstr "" #: src/olympusmn.cpp:661 msgid "Camera settings version" msgstr "" #: src/olympusmn.cpp:662 msgid "PreviewImage Valid" msgstr "" #: src/olympusmn.cpp:662 msgid "Preview image valid" msgstr "" #: src/olympusmn.cpp:663 msgid "PreviewImage Start" msgstr "" #: src/olympusmn.cpp:663 msgid "Preview image start" msgstr "" #: src/olympusmn.cpp:664 msgid "PreviewImage Length" msgstr "" #: src/olympusmn.cpp:664 msgid "Preview image length" msgstr "" #: src/olympusmn.cpp:666 msgid "Auto exposure lock" msgstr "" #: src/olympusmn.cpp:668 msgid "Exposure Shift" msgstr "" #: src/olympusmn.cpp:668 msgid "Exposure shift" msgstr "" #: src/olympusmn.cpp:671 msgid "Focus Process" msgstr "" #: src/olympusmn.cpp:671 msgid "Focus process" msgstr "" #: src/olympusmn.cpp:672 msgid "AF Search" msgstr "" #: src/olympusmn.cpp:672 msgid "AF search" msgstr "" #: src/olympusmn.cpp:673 msgid "AF Areas" msgstr "" #: src/olympusmn.cpp:673 msgid "AF areas" msgstr "" #: src/olympusmn.cpp:674 msgid "AFPointSelected" msgstr "" #: src/olympusmn.cpp:675 msgid "AF Fine Tune Adjust" msgstr "" #: src/olympusmn.cpp:675 msgid "AF fine tune adjust" msgstr "" #: src/olympusmn.cpp:678 msgid "Flash Remote Control" msgstr "" #: src/olympusmn.cpp:678 msgid "Flash remote control" msgstr "" #: src/olympusmn.cpp:679 msgid "Flash Control Mode" msgstr "" #: src/olympusmn.cpp:679 msgid "Flash control mode" msgstr "" #: src/olympusmn.cpp:680 msgid "Flash Intensity" msgstr "" #: src/olympusmn.cpp:680 msgid "Flash intensity" msgstr "" #: src/olympusmn.cpp:681 msgid "Manual Flash Strength" msgstr "" #: src/olympusmn.cpp:681 msgid "Manual flash strength" msgstr "" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 msgid "White Balance 2" msgstr "" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 msgid "White balance 2" msgstr "" #: src/olympusmn.cpp:683 msgid "White Balance Temperature" msgstr "" #: src/olympusmn.cpp:683 msgid "White balance temperature" msgstr "" #: src/olympusmn.cpp:685 msgid "Custom Saturation" msgstr "" #: src/olympusmn.cpp:685 msgid "Custom saturation" msgstr "" #: src/olympusmn.cpp:686 msgid "Modified Saturation" msgstr "" #: src/olympusmn.cpp:686 msgid "Modified saturation" msgstr "" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 msgid "Contrast Setting" msgstr "" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 msgid "Sharpness Setting" msgstr "" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion Correction" msgstr "" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion correction" msgstr "" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 msgid "Shading Compensation" msgstr "" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 msgid "Shading compensation" msgstr "" #: src/olympusmn.cpp:694 msgid "Compression Factor" msgstr "" #: src/olympusmn.cpp:694 msgid "Compression factor" msgstr "" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 msgid "Gradation" msgstr "" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 msgid "Picture mode" msgstr "" #: src/olympusmn.cpp:697 msgid "Picture Mode Saturation" msgstr "" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 msgid "Picture mode saturation" msgstr "" #: src/olympusmn.cpp:698 msgid "Picture Mode Hue" msgstr "" #: src/olympusmn.cpp:698 msgid "Picture mode hue" msgstr "" #: src/olympusmn.cpp:699 msgid "Picture Mode Contrast" msgstr "" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 msgid "Picture mode contrast" msgstr "" #: src/olympusmn.cpp:700 msgid "Picture Mode Sharpness" msgstr "" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 msgid "Picture mode sharpness" msgstr "" #: src/olympusmn.cpp:701 msgid "Picture Mode BW Filter" msgstr "" #: src/olympusmn.cpp:701 msgid "Picture mode BW filter" msgstr "" #: src/olympusmn.cpp:702 msgid "Picture Mode Tone" msgstr "" #: src/olympusmn.cpp:702 msgid "Picture mode tone" msgstr "" #: src/olympusmn.cpp:703 msgid "Noise filter" msgstr "" #: src/olympusmn.cpp:704 msgid "Art Filter" msgstr "" #: src/olympusmn.cpp:704 msgid "Art filter" msgstr "" #: src/olympusmn.cpp:705 msgid "Magic Filter" msgstr "" #: src/olympusmn.cpp:705 msgid "Magic filter" msgstr "" #: src/olympusmn.cpp:707 msgid "Panorama Mode" msgstr "" #: src/olympusmn.cpp:707 msgid "Panorama mode" msgstr "" #: src/olympusmn.cpp:708 msgid "Image Quality 2" msgstr "" #: src/olympusmn.cpp:708 msgid "Image quality 2" msgstr "" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer Pressure" msgstr "" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer pressure" msgstr "" #: src/olympusmn.cpp:711 msgid "Manometer Reading" msgstr "" #: src/olympusmn.cpp:711 msgid "Manometer reading" msgstr "" #: src/olympusmn.cpp:712 msgid "Extended WB Detect" msgstr "" #: src/olympusmn.cpp:712 msgid "Extended WB detect" msgstr "" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "" #: src/olympusmn.cpp:716 msgid "Unknown OlympusCs tag" msgstr "" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "" #: src/olympusmn.cpp:745 msgid "Equipment Version" msgstr "" #: src/olympusmn.cpp:745 msgid "Equipment version" msgstr "" #: src/olympusmn.cpp:747 msgid "Serial number" msgstr "" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 msgid "Lens Serial Number" msgstr "" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 msgid "Lens serial number" msgstr "" #: src/olympusmn.cpp:754 msgid "Lens Firmware Version" msgstr "" #: src/olympusmn.cpp:754 msgid "Lens firmware version" msgstr "" #: src/olympusmn.cpp:759 msgid "Max Aperture At Current Focal" msgstr "" #: src/olympusmn.cpp:759 msgid "Max aperture at current focal" msgstr "" #: src/olympusmn.cpp:760 msgid "Lens Properties" msgstr "" #: src/olympusmn.cpp:760 msgid "Lens properties" msgstr "" #: src/olympusmn.cpp:761 msgid "Extender" msgstr "" #: src/olympusmn.cpp:762 msgid "Extender Serial Number" msgstr "" #: src/olympusmn.cpp:762 msgid "Extender serial number" msgstr "" #: src/olympusmn.cpp:763 msgid "Extender Model" msgstr "" #: src/olympusmn.cpp:763 msgid "Extender model" msgstr "" #: src/olympusmn.cpp:764 msgid "Extender Firmware Version" msgstr "" #: src/olympusmn.cpp:764 msgid "Extender firmwareversion" msgstr "" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion Lens" msgstr "" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion lens" msgstr "" #: src/olympusmn.cpp:767 src/properties.cpp:402 msgid "Flash Model" msgstr "" #: src/olympusmn.cpp:767 msgid "Flash model" msgstr "" #: src/olympusmn.cpp:768 msgid "Flash Firmware Version" msgstr "" #: src/olympusmn.cpp:768 msgid "Flash firmware version" msgstr "" #: src/olympusmn.cpp:769 msgid "FlashSerialNumber" msgstr "" #: src/olympusmn.cpp:771 msgid "Unknown OlympusEq tag" msgstr "" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 msgid "High Speed" msgstr "" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 msgid "High Function" msgstr "" #: src/olympusmn.cpp:790 msgid "Advanced High Speed" msgstr "" #: src/olympusmn.cpp:791 msgid "Advanced High Function" msgstr "" #: src/olympusmn.cpp:796 msgid "Original" msgstr "" #: src/olympusmn.cpp:797 msgid "Edited (Landscape)" msgstr "" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 msgid "Edited (Portrait)" msgstr "" #: src/olympusmn.cpp:804 msgid "WB Color Temp" msgstr "" #: src/olympusmn.cpp:805 msgid "WB Gray Point" msgstr "" #: src/olympusmn.cpp:815 msgid "Raw Development Version" msgstr "" #: src/olympusmn.cpp:815 msgid "Raw development version" msgstr "" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 msgid "Exposure Bias Value" msgstr "" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 msgid "Exposure bias value" msgstr "" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White Balance Value" msgstr "" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White balance value" msgstr "" #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 msgid "WB Fine Adjustment" msgstr "" #: src/olympusmn.cpp:818 msgid "WB fine adjustment" msgstr "" #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 msgid "Gray Point" msgstr "" #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 msgid "Gray point" msgstr "" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation Emphasis" msgstr "" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation emphasis" msgstr "" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory Color Emphasis" msgstr "" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory color emphasis" msgstr "" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast Value" msgstr "" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast value" msgstr "" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness Value" msgstr "" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness value" msgstr "" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 msgid "Engine" msgstr "" #: src/olympusmn.cpp:827 msgid "Edit status" msgstr "" #: src/olympusmn.cpp:828 msgid "Settings" msgstr "" #: src/olympusmn.cpp:830 msgid "Unknown OlympusRd tag" msgstr "" #: src/olympusmn.cpp:885 msgid "Raw Development 2 Version" msgstr "" #: src/olympusmn.cpp:885 msgid "Raw development 2 version" msgstr "" #: src/olympusmn.cpp:889 msgid "White balance fine adjustment" msgstr "" #: src/olympusmn.cpp:899 msgid "PM Saturation" msgstr "" #: src/olympusmn.cpp:900 msgid "PM Contrast" msgstr "" #: src/olympusmn.cpp:901 msgid "PM Sharpness" msgstr "" #: src/olympusmn.cpp:902 msgid "PM BW Filter" msgstr "" #: src/olympusmn.cpp:902 msgid "PM BW filter" msgstr "" #: src/olympusmn.cpp:903 msgid "PM Picture Tone" msgstr "" #: src/olympusmn.cpp:903 msgid "PM picture tone" msgstr "" #: src/olympusmn.cpp:906 msgid "Auto Gradation" msgstr "" #: src/olympusmn.cpp:906 msgid "Auto gradation" msgstr "" #: src/olympusmn.cpp:907 msgid "PM Noise Filter" msgstr "" #: src/olympusmn.cpp:907 msgid "Picture mode noise filter" msgstr "" #: src/olympusmn.cpp:909 msgid "Unknown OlympusRd2 tag" msgstr "" #: src/olympusmn.cpp:920 msgid "On (2 frames)" msgstr "" #: src/olympusmn.cpp:921 msgid "On (3 frames)" msgstr "" #: src/olympusmn.cpp:938 msgid "Image Processing Version" msgstr "" #: src/olympusmn.cpp:938 msgid "Image processing version" msgstr "" #: src/olympusmn.cpp:940 msgid "WB RB Levels 3000K" msgstr "" #: src/olympusmn.cpp:940 msgid "WB RB levels 3000K" msgstr "" #: src/olympusmn.cpp:941 msgid "WB RB Levels 3300K" msgstr "" #: src/olympusmn.cpp:941 msgid "WB RB levels 3300K" msgstr "" #: src/olympusmn.cpp:942 msgid "WB RB Levels 3600K" msgstr "" #: src/olympusmn.cpp:942 msgid "WB RB levels 3600K" msgstr "" #: src/olympusmn.cpp:943 msgid "WB RB Levels 3900K" msgstr "" #: src/olympusmn.cpp:943 msgid "WB RB levels 3900K" msgstr "" #: src/olympusmn.cpp:944 msgid "WB RB Levels 4000K" msgstr "" #: src/olympusmn.cpp:944 msgid "WB RB levels 4000K" msgstr "" #: src/olympusmn.cpp:945 msgid "WB RB Levels 4300K" msgstr "" #: src/olympusmn.cpp:945 msgid "WB RB levels 4300K" msgstr "" #: src/olympusmn.cpp:946 msgid "WB RB Levels 4500K" msgstr "" #: src/olympusmn.cpp:946 msgid "WB RB levels 4500K" msgstr "" #: src/olympusmn.cpp:947 msgid "WB RB Levels 4800K" msgstr "" #: src/olympusmn.cpp:947 msgid "WB RB levels 4800K" msgstr "" #: src/olympusmn.cpp:948 msgid "WB RB Levels 5300K" msgstr "" #: src/olympusmn.cpp:948 msgid "WB RB levels 5300K" msgstr "" #: src/olympusmn.cpp:949 msgid "WB RB Levels 6000K" msgstr "" #: src/olympusmn.cpp:949 msgid "WB RB levels 6000K" msgstr "" #: src/olympusmn.cpp:950 msgid "WB RB Levels 6600K" msgstr "" #: src/olympusmn.cpp:950 msgid "WB RB levels 6600K" msgstr "" #: src/olympusmn.cpp:951 msgid "WB RB Levels 7500K" msgstr "" #: src/olympusmn.cpp:951 msgid "WB RB levels 7500K" msgstr "" #: src/olympusmn.cpp:952 msgid "WB RB Levels CWB1" msgstr "" #: src/olympusmn.cpp:952 msgid "WB RB levels CWB1" msgstr "" #: src/olympusmn.cpp:953 msgid "WB RB Levels CWB2" msgstr "" #: src/olympusmn.cpp:953 msgid "WB RB levels CWB2" msgstr "" #: src/olympusmn.cpp:954 msgid "WB RB Levels CWB3" msgstr "" #: src/olympusmn.cpp:954 msgid "WB RB levels CWB3" msgstr "" #: src/olympusmn.cpp:955 msgid "WB RB Levels CWB4" msgstr "" #: src/olympusmn.cpp:955 msgid "WB RB levels CWB4" msgstr "" #: src/olympusmn.cpp:956 msgid "WB G Level 3000K" msgstr "" #: src/olympusmn.cpp:956 msgid "WB G level 3000K" msgstr "" #: src/olympusmn.cpp:957 msgid "WB G Level 3300K" msgstr "" #: src/olympusmn.cpp:957 msgid "WB G level 3300K" msgstr "" #: src/olympusmn.cpp:958 msgid "WB G Level 3600K" msgstr "" #: src/olympusmn.cpp:958 msgid "WB G level 3600K" msgstr "" #: src/olympusmn.cpp:959 msgid "WB G Level 3900K" msgstr "" #: src/olympusmn.cpp:959 msgid "WB G level 3900K" msgstr "" #: src/olympusmn.cpp:960 msgid "WB G Level 4000K" msgstr "" #: src/olympusmn.cpp:960 msgid "WB G level 4000K" msgstr "" #: src/olympusmn.cpp:961 msgid "WB G Level 4300K" msgstr "" #: src/olympusmn.cpp:961 msgid "WB G level 4300K" msgstr "" #: src/olympusmn.cpp:962 msgid "WB G Level 4500K" msgstr "" #: src/olympusmn.cpp:962 msgid "WB G level 4500K" msgstr "" #: src/olympusmn.cpp:963 msgid "WB G Level 4800K" msgstr "" #: src/olympusmn.cpp:963 msgid "WB G level 4800K" msgstr "" #: src/olympusmn.cpp:964 msgid "WB G Level 5300K" msgstr "" #: src/olympusmn.cpp:964 msgid "WB G level 5300K" msgstr "" #: src/olympusmn.cpp:965 msgid "WB G Level 6000K" msgstr "" #: src/olympusmn.cpp:965 msgid "WB G level 6000K" msgstr "" #: src/olympusmn.cpp:966 msgid "WB G Level 6600K" msgstr "" #: src/olympusmn.cpp:966 msgid "WB G level 6600K" msgstr "" #: src/olympusmn.cpp:967 msgid "WB G Level 7500K" msgstr "" #: src/olympusmn.cpp:967 msgid "WB G level 7500K" msgstr "" #: src/olympusmn.cpp:968 msgid "WB G Level" msgstr "" #: src/olympusmn.cpp:968 msgid "WB G level" msgstr "" #: src/olympusmn.cpp:970 msgid "Enhancer" msgstr "" #: src/olympusmn.cpp:971 msgid "Enhancer Values" msgstr "" #: src/olympusmn.cpp:971 msgid "Enhancer values" msgstr "" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 msgid "Coring Filter" msgstr "" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 msgid "Coring Values" msgstr "" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 msgid "Coring values" msgstr "" #: src/olympusmn.cpp:974 src/tags.cpp:915 msgid "Black Level" msgstr "" #: src/olympusmn.cpp:975 msgid "Gain Base" msgstr "" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "" #: src/olympusmn.cpp:976 msgid "Valid Bits" msgstr "" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 msgid "Crop Left" msgstr "" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 msgid "Crop left" msgstr "" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 msgid "Crop Top" msgstr "" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 msgid "Crop top" msgstr "" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 msgid "Crop Width" msgstr "" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 msgid "Crop width" msgstr "" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 msgid "Crop Height" msgstr "" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 msgid "Crop height" msgstr "" #: src/olympusmn.cpp:984 msgid "Multiple Exposure Mode" msgstr "" #: src/olympusmn.cpp:984 msgid "Multiple exposure mode" msgstr "" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 msgid "Aspect Ratio" msgstr "" #: src/olympusmn.cpp:985 msgid "Aspect ratio" msgstr "" #: src/olympusmn.cpp:986 msgid "Aspect Frame" msgstr "" #: src/olympusmn.cpp:986 msgid "Aspect frame" msgstr "" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 msgid "Face Detect" msgstr "" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 msgid "Face detect" msgstr "" #: src/olympusmn.cpp:988 msgid "Face Detect Area" msgstr "" #: src/olympusmn.cpp:988 msgid "Face detect area" msgstr "" #: src/olympusmn.cpp:990 msgid "Unknown OlympusIp tag" msgstr "" #: src/olympusmn.cpp:1000 msgid "Bounce or Off" msgstr "" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "" #: src/olympusmn.cpp:1005 msgid "Focus Info Version" msgstr "" #: src/olympusmn.cpp:1005 msgid "Focus info version" msgstr "" #: src/olympusmn.cpp:1006 msgid "Auto Focus" msgstr "" #: src/olympusmn.cpp:1007 msgid "Scene Detect" msgstr "" #: src/olympusmn.cpp:1007 msgid "Scene detect" msgstr "" #: src/olympusmn.cpp:1008 msgid "Scene Area" msgstr "" #: src/olympusmn.cpp:1008 msgid "Scene area" msgstr "" #: src/olympusmn.cpp:1009 msgid "Scene Detect Data" msgstr "" #: src/olympusmn.cpp:1009 msgid "Scene detect data" msgstr "" #: src/olympusmn.cpp:1010 msgid "Zoom Step Count" msgstr "" #: src/olympusmn.cpp:1011 msgid "Focus Step Count" msgstr "" #: src/olympusmn.cpp:1011 msgid "Focus step count" msgstr "" #: src/olympusmn.cpp:1012 msgid "Focus Step Infinity" msgstr "" #: src/olympusmn.cpp:1012 msgid "Focus step infinity" msgstr "" #: src/olympusmn.cpp:1013 msgid "Focus Step Near" msgstr "" #: src/olympusmn.cpp:1013 msgid "Focus step near" msgstr "" #: src/olympusmn.cpp:1016 msgid "External Flash" msgstr "" #: src/olympusmn.cpp:1017 msgid "External Flash Guide Number" msgstr "" #: src/olympusmn.cpp:1017 msgid "External flash guide number" msgstr "" #: src/olympusmn.cpp:1021 msgid "Manual Flash" msgstr "" #: src/olympusmn.cpp:1021 msgid "Manual flash" msgstr "" #: src/olympusmn.cpp:1025 msgid "Unknown OlympusFi tag" msgstr "" #: src/olympusmn.cpp:1036 msgid "Unknown OlympusFe tag" msgstr "" #: src/olympusmn.cpp:1049 msgid "Fine Weather" msgstr "" #: src/olympusmn.cpp:1050 msgid "Tungsten (incandescent)" msgstr "" #: src/olympusmn.cpp:1051 msgid "Evening Sunlight" msgstr "" #: src/olympusmn.cpp:1052 msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "" #: src/olympusmn.cpp:1053 msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "" #: src/olympusmn.cpp:1054 msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "" #: src/olympusmn.cpp:1055 msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "" #: src/olympusmn.cpp:1056 msgid "One Touch White Balance" msgstr "" #: src/olympusmn.cpp:1057 msgid "Custom 1-4" msgstr "" #: src/olympusmn.cpp:1061 msgid "Raw Info Version" msgstr "" #: src/olympusmn.cpp:1061 msgid "Raw info version" msgstr "" #: src/olympusmn.cpp:1062 msgid "WB_RB Levels Used" msgstr "" #: src/olympusmn.cpp:1062 msgid "WB_RB levels used" msgstr "" #: src/olympusmn.cpp:1063 msgid "WB_RB Levels Auto" msgstr "" #: src/olympusmn.cpp:1063 msgid "WB_RB levels auto" msgstr "" #: src/olympusmn.cpp:1064 msgid "WB_RB Levels Shade" msgstr "" #: src/olympusmn.cpp:1064 msgid "WB_RB levels shade" msgstr "" #: src/olympusmn.cpp:1065 msgid "WB_RB Levels Cloudy" msgstr "" #: src/olympusmn.cpp:1065 msgid "WB_RB levels cloudy" msgstr "" #: src/olympusmn.cpp:1066 msgid "WB_RB Levels Fine Weather" msgstr "" #: src/olympusmn.cpp:1066 msgid "WB_RB levels fine weather" msgstr "" #: src/olympusmn.cpp:1067 msgid "WB_RB Levels Tungsten" msgstr "" #: src/olympusmn.cpp:1067 msgid "WB_RB levels tungsten" msgstr "" #: src/olympusmn.cpp:1068 msgid "WB_RB Levels Evening Sunlight" msgstr "" #: src/olympusmn.cpp:1068 msgid "WB_RB levels evening sunlight" msgstr "" #: src/olympusmn.cpp:1069 msgid "WB_RB Levels Daylight Fluor" msgstr "" #: src/olympusmn.cpp:1069 msgid "WB_RB levels daylight fluor" msgstr "" #: src/olympusmn.cpp:1070 msgid "WB_RB Levels Day White Fluor" msgstr "" #: src/olympusmn.cpp:1070 msgid "WB_RB levels day white fluor" msgstr "" #: src/olympusmn.cpp:1071 msgid "WB_RB Levels Cool White Fluor" msgstr "" #: src/olympusmn.cpp:1071 msgid "WB_RB levels cool white fluor" msgstr "" #: src/olympusmn.cpp:1072 msgid "WB_RB Levels White Fluorescent" msgstr "" #: src/olympusmn.cpp:1072 msgid "WB_RB levels white fluorescent" msgstr "" #: src/olympusmn.cpp:1073 msgid "Color Matrix2" msgstr "" #: src/olympusmn.cpp:1073 msgid "Color matrix 2" msgstr "" #: src/olympusmn.cpp:1076 msgid "Black Level 2" msgstr "" #: src/olympusmn.cpp:1076 msgid "Black level 2" msgstr "" #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 msgid "YCbCr Coefficients" msgstr "" #: src/olympusmn.cpp:1077 msgid "YCbCr coefficients" msgstr "" #: src/olympusmn.cpp:1078 msgid "Valid Pixel Depth" msgstr "" #: src/olympusmn.cpp:1078 msgid "Valid pixel depth" msgstr "" #: src/olympusmn.cpp:1084 msgid "White Balance Comp" msgstr "" #: src/olympusmn.cpp:1084 msgid "White balance comp" msgstr "" #: src/olympusmn.cpp:1085 msgid "Saturation Setting" msgstr "" #: src/olympusmn.cpp:1086 msgid "Hue Setting" msgstr "" #: src/olympusmn.cpp:1086 msgid "Hue setting" msgstr "" #: src/olympusmn.cpp:1089 msgid "CM Exposure Compensation" msgstr "" #: src/olympusmn.cpp:1089 msgid "CM exposure compensation" msgstr "" #: src/olympusmn.cpp:1090 msgid "CM White Balance" msgstr "" #: src/olympusmn.cpp:1090 msgid "CM white balance" msgstr "" #: src/olympusmn.cpp:1091 msgid "CM White Balance Comp" msgstr "" #: src/olympusmn.cpp:1091 msgid "CM white balance comp" msgstr "" #: src/olympusmn.cpp:1092 msgid "CM White Balance Gray Point" msgstr "" #: src/olympusmn.cpp:1092 msgid "CM white balance gray point" msgstr "" #: src/olympusmn.cpp:1093 msgid "CM Saturation" msgstr "" #: src/olympusmn.cpp:1093 msgid "CM saturation" msgstr "" #: src/olympusmn.cpp:1094 msgid "CM Hue" msgstr "" #: src/olympusmn.cpp:1094 msgid "CM hue" msgstr "" #: src/olympusmn.cpp:1095 msgid "CM Contrast" msgstr "" #: src/olympusmn.cpp:1095 msgid "CM contrast" msgstr "" #: src/olympusmn.cpp:1096 msgid "CM Sharpness" msgstr "" #: src/olympusmn.cpp:1096 msgid "CM sharpness" msgstr "" #: src/olympusmn.cpp:1098 msgid "Unknown OlympusRi tag" msgstr "" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 msgid "User-Selected" msgstr "" #: src/olympusmn.cpp:1122 msgid "Auto-Override" msgstr "" #: src/olympusmn.cpp:1158 msgid "Fast" msgstr "" #: src/olympusmn.cpp:1223 msgid "3000 Kelvin" msgstr "" #: src/olympusmn.cpp:1224 msgid "3700 Kelvin" msgstr "" #: src/olympusmn.cpp:1225 msgid "4000 Kelvin" msgstr "" #: src/olympusmn.cpp:1226 msgid "4500 Kelvin" msgstr "" #: src/olympusmn.cpp:1227 msgid "5500 Kelvin" msgstr "" #: src/olympusmn.cpp:1228 msgid "6500 Kelvin" msgstr "" #: src/olympusmn.cpp:1229 msgid "7500 Kelvin" msgstr "" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "" #: src/olympusmn.cpp:1456 msgid "Imager AF" msgstr "" #: src/olympusmn.cpp:1457 msgid "AF sensor" msgstr "" #: src/olympusmn.cpp:1502 msgid "Soft Focus" msgstr "" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "" #: src/olympusmn.cpp:1505 msgid "Light Tone" msgstr "" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "" #: src/olympusmn.cpp:1508 msgid "Diorama" msgstr "" #: src/olympusmn.cpp:1509 msgid "Cross Process" msgstr "" #: src/olympusmn.cpp:1510 msgid "Fish Eye" msgstr "" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "" #: src/olympusmn.cpp:1513 msgid "Pale & Light Color II" msgstr "" #: src/olympusmn.cpp:1514 msgid "Pop Art II" msgstr "" #: src/olympusmn.cpp:1515 msgid "Pin Hole II" msgstr "" #: src/olympusmn.cpp:1516 msgid "Pin Hole III" msgstr "" #: src/olympusmn.cpp:1517 msgid "Grainy Film II" msgstr "" #: src/olympusmn.cpp:1518 msgid "Dramatic Tone" msgstr "" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "" #: src/olympusmn.cpp:1520 msgid "Soft Focus 2" msgstr "" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "" #: src/olympusmn.cpp:1522 msgid "Watercolor" msgstr "" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "" #: src/olympusmn.cpp:1525 msgid "Miniature" msgstr "" #: src/olympusmn.cpp:1526 msgid "Reflection" msgstr "" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "" #: src/olympusmn.cpp:1528 msgid "Cross Process II" msgstr "" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "" #: src/olympusmn.cpp:1530 msgid "Watercolor I" msgstr "" #: src/olympusmn.cpp:1531 msgid "Watercolor II" msgstr "" #: src/olympusmn.cpp:1532 msgid "Diorama II" msgstr "" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "" #: src/olympusmn.cpp:1534 msgid "Vintage II" msgstr "" #: src/olympusmn.cpp:1535 msgid "Vintage III" msgstr "" #: src/olympusmn.cpp:1536 msgid "Partial Color" msgstr "" #: src/olympusmn.cpp:1537 msgid "Partial Color II" msgstr "" #: src/olympusmn.cpp:1538 msgid "Partial Color III" msgstr "" #: src/olympusmn.cpp:1608 msgid "Left (or n/a)" msgstr "" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 msgid "Center (horizontal)" msgstr "" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 msgid "Center (vertical)" msgstr "" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1623 msgid "Top-center (horizontal)" msgstr "" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1625 msgid "Left (horizontal)" msgstr "" #: src/olympusmn.cpp:1626 msgid "Mid-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1628 msgid "Mid-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1629 msgid "Right (horizontal)" msgstr "" #: src/olympusmn.cpp:1630 msgid "Bottom-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1631 msgid "Bottom-center (horizontal)" msgstr "" #: src/olympusmn.cpp:1632 msgid "Bottom-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "" #: src/olympusmn.cpp:1634 msgid "Top-center (vertical)" msgstr "" #: src/olympusmn.cpp:1635 msgid "Top-right (vertical)" msgstr "" #: src/olympusmn.cpp:1636 msgid "Left (vertical)" msgstr "" #: src/olympusmn.cpp:1637 msgid "Mid-left (vertical)" msgstr "" #: src/olympusmn.cpp:1639 msgid "Mid-right (vertical)" msgstr "" #: src/olympusmn.cpp:1640 msgid "Right (vertical)" msgstr "" #: src/olympusmn.cpp:1641 msgid "Bottom-left (vertical)" msgstr "" #: src/olympusmn.cpp:1642 msgid "Bottom-center (vertical)" msgstr "" #: src/olympusmn.cpp:1643 msgid "Bottom-right (vertical)" msgstr "" #: src/olympusmn.cpp:1680 msgid "Single Target" msgstr "" #: src/olympusmn.cpp:1681 msgid "All Target" msgstr "" #: src/olympusmn.cpp:1682 msgid "Dynamic Single Target" msgstr "" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 msgid "Very High" msgstr "" #: src/panasonicmn.cpp:60 msgid "Motion Picture" msgstr "" #: src/panasonicmn.cpp:61 msgid "Full HD Movie" msgstr "" #: src/panasonicmn.cpp:62 msgid "4k Movie" msgstr "" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "" #: src/panasonicmn.cpp:83 msgid "Auto, focus button" msgstr "" #: src/panasonicmn.cpp:84 msgid "Auto, continuous" msgstr "" #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "" #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 msgid "Panning" msgstr "" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "" #: src/panasonicmn.cpp:104 msgid "Macro-zoom" msgstr "" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 msgid "Scenery" msgstr "" #: src/panasonicmn.cpp:117 msgid "Shutter-speed priority" msgstr "" #: src/panasonicmn.cpp:121 msgid "Movie preview" msgstr "" #: src/panasonicmn.cpp:123 msgid "Simple" msgstr "" #: src/panasonicmn.cpp:124 msgid "Color effects" msgstr "" #: src/panasonicmn.cpp:130 msgid "Night scenery" msgstr "" #: src/panasonicmn.cpp:132 msgid "Baby" msgstr "" #: src/panasonicmn.cpp:133 msgid "Soft skin" msgstr "" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 msgid "Candlelight" msgstr "" #: src/panasonicmn.cpp:135 msgid "Starry night" msgstr "" #: src/panasonicmn.cpp:136 msgid "High sensitivity" msgstr "" #: src/panasonicmn.cpp:137 msgid "Panorama assist" msgstr "" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 msgid "Intelligent ISO" msgstr "" #: src/panasonicmn.cpp:144 msgid "Clipboard" msgstr "" #: src/panasonicmn.cpp:145 msgid "High speed continuous shooting" msgstr "" #: src/panasonicmn.cpp:146 msgid "Intelligent auto" msgstr "" #: src/panasonicmn.cpp:147 msgid "Multi-aspect" msgstr "" #: src/panasonicmn.cpp:148 msgid "Transform" msgstr "" #: src/panasonicmn.cpp:149 msgid "Flash Burst" msgstr "" #: src/panasonicmn.cpp:151 msgid "Film Grain" msgstr "" #: src/panasonicmn.cpp:152 msgid "My Color" msgstr "" #: src/panasonicmn.cpp:153 msgid "Photo Frame" msgstr "" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 msgid "Handheld Night Shot" msgstr "" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 msgid "Creative Control" msgstr "" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 msgid "Digital Filter" msgstr "" #: src/panasonicmn.cpp:162 msgid "Clear Portrait" msgstr "" #: src/panasonicmn.cpp:163 msgid "Silky Skin" msgstr "" #: src/panasonicmn.cpp:164 msgid "Backlit Softness" msgstr "" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "" #: src/panasonicmn.cpp:166 msgid "Relaxing Tone" msgstr "" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "" #: src/panasonicmn.cpp:168 msgid "Distinct Scenery" msgstr "" #: src/panasonicmn.cpp:169 msgid "Bright Blue Sky" msgstr "" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "" #: src/panasonicmn.cpp:177 msgid "Glittering Illuminations" msgstr "" #: src/panasonicmn.cpp:178 msgid "Clear Night Portrait" msgstr "" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "" #: src/panasonicmn.cpp:181 msgid "Cute Desert" msgstr "" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "" #: src/panasonicmn.cpp:183 msgid "Clear Sports Shot" msgstr "" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "" #: src/panasonicmn.cpp:198 msgid "Warm" msgstr "" #: src/panasonicmn.cpp:199 msgid "Cool" msgstr "" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "" #: src/panasonicmn.cpp:208 msgid "Low/High quality" msgstr "" #: src/panasonicmn.cpp:209 msgid "Infinite" msgstr "" #: src/panasonicmn.cpp:217 msgid "Medium low" msgstr "" #: src/panasonicmn.cpp:218 msgid "Medium high" msgstr "" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "" #: src/panasonicmn.cpp:229 msgid "High (+1)" msgstr "" #: src/panasonicmn.cpp:230 msgid "Lowest (-2)" msgstr "" #: src/panasonicmn.cpp:231 msgid "Highest (+2)" msgstr "" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 msgid "Rotate 180" msgstr "" #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "" #: src/panasonicmn.cpp:254 msgid "Disabled but Required" msgstr "" #: src/panasonicmn.cpp:255 msgid "Disabled and Not Required" msgstr "" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "" #: src/panasonicmn.cpp:282 src/properties.cpp:915 msgid "Home" msgstr "" #: src/panasonicmn.cpp:294 msgid "Standard (color)" msgstr "" #: src/panasonicmn.cpp:295 msgid "Dynamic (color)" msgstr "" #: src/panasonicmn.cpp:296 msgid "Nature (color)" msgstr "" #: src/panasonicmn.cpp:297 msgid "Smooth (color)" msgstr "" #: src/panasonicmn.cpp:298 msgid "Standard (B&W)" msgstr "" #: src/panasonicmn.cpp:299 msgid "Dynamic (B&W)" msgstr "" #: src/panasonicmn.cpp:300 msgid "Smooth (B&W)" msgstr "" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "" #: src/panasonicmn.cpp:307 msgid "No Bracket" msgstr "" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:319 msgid "1st" msgstr "" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "" #: src/panasonicmn.cpp:349 msgid "Extended" msgstr "" #: src/panasonicmn.cpp:368 msgid "NoAuto" msgstr "" #: src/panasonicmn.cpp:369 msgid "Standard or Custom" msgstr "" #: src/panasonicmn.cpp:386 msgid "Rotate CW" msgstr "" #: src/panasonicmn.cpp:388 msgid "Rotate CCW" msgstr "" #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "" #: src/panasonicmn.cpp:396 msgid "Left to Right" msgstr "" #: src/panasonicmn.cpp:397 msgid "Right to Left" msgstr "" #: src/panasonicmn.cpp:398 msgid "Top to Bottom" msgstr "" #: src/panasonicmn.cpp:399 msgid "Bottom to Top" msgstr "" #: src/panasonicmn.cpp:405 msgid "Time Lapse" msgstr "" #: src/panasonicmn.cpp:406 msgid "Stop-Motion Animation" msgstr "" #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "" #: src/panasonicmn.cpp:423 msgid "Electronic" msgstr "" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "" #: src/panasonicmn.cpp:453 msgid "White balance adjustment" msgstr "" #: src/panasonicmn.cpp:454 msgid "FlashBias" msgstr "" #: src/panasonicmn.cpp:456 src/tags.cpp:194 msgid "Exif version" msgstr "" #: src/panasonicmn.cpp:458 msgid "Color Effect" msgstr "" #: src/panasonicmn.cpp:458 msgid "Color effect" msgstr "" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" #: src/panasonicmn.cpp:460 msgid "Burst Mode" msgstr "" #: src/panasonicmn.cpp:460 msgid "Burst mode" msgstr "" #: src/panasonicmn.cpp:463 msgid "NoiseReduction" msgstr "" #: src/panasonicmn.cpp:464 msgid "Self Timer" msgstr "" #: src/panasonicmn.cpp:467 msgid "AF Assist Lamp" msgstr "" #: src/panasonicmn.cpp:469 msgid "Baby Age 1" msgstr "" #: src/panasonicmn.cpp:469 msgid "Baby (or pet) age 1" msgstr "" #: src/panasonicmn.cpp:470 msgid "Optical Zoom Mode" msgstr "" #: src/panasonicmn.cpp:470 msgid "Optical zoom mode" msgstr "" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "" #: src/panasonicmn.cpp:474 msgid "World Time Location" msgstr "" #: src/panasonicmn.cpp:474 msgid "World time location" msgstr "" #: src/panasonicmn.cpp:475 msgid "Text Stamp 1" msgstr "" #: src/panasonicmn.cpp:476 msgid "Program ISO" msgstr "" #: src/panasonicmn.cpp:477 msgid "Advanced Scene Type" msgstr "" #: src/panasonicmn.cpp:478 msgid "Text Stamp 2" msgstr "" #: src/panasonicmn.cpp:479 msgid "Faces detected" msgstr "" #: src/panasonicmn.cpp:483 msgid "Color Temp Kelvin" msgstr "" #: src/panasonicmn.cpp:483 msgid "Color Temperatur in Kelvin" msgstr "" #: src/panasonicmn.cpp:484 msgid "Bracket Settings" msgstr "" #: src/panasonicmn.cpp:485 msgid "WB Adjust AB" msgstr "" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "" #: src/panasonicmn.cpp:486 msgid "WB Adjust GM" msgstr "" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "" #: src/panasonicmn.cpp:487 msgid "Flash Curtain" msgstr "" #: src/panasonicmn.cpp:488 msgid "Long Shutter Noise Reduction" msgstr "" #: src/panasonicmn.cpp:491 msgid "AF Point Position" msgstr "" #: src/panasonicmn.cpp:492 msgid "Face detection info" msgstr "" #: src/panasonicmn.cpp:495 msgid "Accessory Type" msgstr "" #: src/panasonicmn.cpp:495 msgid "Accessory type" msgstr "" #: src/panasonicmn.cpp:496 msgid "Accessory Serial Number" msgstr "" #: src/panasonicmn.cpp:497 msgid "Transform 1" msgstr "" #: src/panasonicmn.cpp:498 msgid "Intelligent Exposure" msgstr "" #: src/panasonicmn.cpp:499 msgid "Firmware Version of the Lens" msgstr "" #: src/panasonicmn.cpp:500 msgid "Face recognition info" msgstr "" #: src/panasonicmn.cpp:501 msgid "Flash Warning" msgstr "" #: src/panasonicmn.cpp:501 msgid "Flash warning" msgstr "" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 msgid "Title" msgstr "" #: src/panasonicmn.cpp:503 msgid "Baby Name" msgstr "" #: src/panasonicmn.cpp:503 msgid "Baby name (or pet name)" msgstr "" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 msgid "Location" msgstr "" #: src/panasonicmn.cpp:506 src/properties.cpp:441 msgid "State" msgstr "" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "" #: src/panasonicmn.cpp:509 msgid "Intelligent resolution" msgstr "" #: src/panasonicmn.cpp:510 msgid "Burst Speed" msgstr "" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "" #: src/panasonicmn.cpp:511 msgid "Intelligent Dynamic Range" msgstr "" #: src/panasonicmn.cpp:512 msgid "Clear Retouch" msgstr "" #: src/panasonicmn.cpp:513 msgid "City2" msgstr "" #: src/panasonicmn.cpp:515 msgid "Photo style" msgstr "" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "" #: src/panasonicmn.cpp:518 msgid "Accelerometer X" msgstr "" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "" #: src/panasonicmn.cpp:519 msgid "Accelerometer Y" msgstr "" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "" #: src/panasonicmn.cpp:520 msgid "Camera Orientation" msgstr "" #: src/panasonicmn.cpp:521 msgid "Roll Angle" msgstr "" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "" #: src/panasonicmn.cpp:523 msgid "Sweep Panorama Direction" msgstr "" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "" #: src/panasonicmn.cpp:525 msgid "Timer Recording" msgstr "" #: src/panasonicmn.cpp:526 msgid "Internal ND Filter" msgstr "" #: src/panasonicmn.cpp:528 msgid "Shutter Type" msgstr "" #: src/panasonicmn.cpp:529 msgid "Clear Retouch Value" msgstr "" #: src/panasonicmn.cpp:530 msgid "TouchAE" msgstr "" #: src/panasonicmn.cpp:533 msgid "MakerNote Version" msgstr "" #: src/panasonicmn.cpp:533 msgid "MakerNote version" msgstr "" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB Red Level" msgstr "" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB red level" msgstr "" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB Green Level" msgstr "" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB green level" msgstr "" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB Blue Level" msgstr "" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB blue level" msgstr "" #: src/panasonicmn.cpp:539 msgid "Text Stamp 3" msgstr "" #: src/panasonicmn.cpp:540 msgid "Text Stamp 4" msgstr "" #: src/panasonicmn.cpp:541 msgid "Baby Age 2" msgstr "" #: src/panasonicmn.cpp:541 msgid "Baby (or pet) age 2" msgstr "" #: src/panasonicmn.cpp:542 msgid "Transform 2" msgstr "" #: src/panasonicmn.cpp:544 msgid "Unknown PanasonicMakerNote tag" msgstr "" #: src/panasonicmn.cpp:562 msgid "Spot mode on or 9 area" msgstr "" #: src/panasonicmn.cpp:563 msgid "Spot mode off or 3-area (high speed)" msgstr "" #: src/panasonicmn.cpp:564 msgid "23-area" msgstr "" #: src/panasonicmn.cpp:565 msgid "Spot focussing" msgstr "" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "" #: src/panasonicmn.cpp:568 msgid "1-area (high speed)" msgstr "" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "" #: src/panasonicmn.cpp:572 msgid "3-area (right)" msgstr "" #: src/panasonicmn.cpp:574 msgid "Spot Focusing 2" msgstr "" #: src/panasonicmn.cpp:588 msgid " EV" msgstr "" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 msgid "not set" msgstr "" #: src/panasonicmn.cpp:725 msgid "Panasonic raw version" msgstr "" #: src/panasonicmn.cpp:726 msgid "Sensor Width" msgstr "" #: src/panasonicmn.cpp:726 msgid "Sensor width" msgstr "" #: src/panasonicmn.cpp:727 msgid "Sensor Height" msgstr "" #: src/panasonicmn.cpp:727 msgid "Sensor height" msgstr "" #: src/panasonicmn.cpp:728 msgid "Sensor Top Border" msgstr "" #: src/panasonicmn.cpp:728 msgid "Sensor top border" msgstr "" #: src/panasonicmn.cpp:729 msgid "Sensor Left Border" msgstr "" #: src/panasonicmn.cpp:729 msgid "Sensor left border" msgstr "" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "" #: src/panasonicmn.cpp:739 src/tags.cpp:469 msgid "Manufacturer" msgstr "" #: src/panasonicmn.cpp:739 msgid "The manufacturer of the recording equipment" msgstr "" #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 msgid "Model" msgstr "" #: src/panasonicmn.cpp:740 msgid "The model name or model number of the equipment" msgstr "" #: src/panasonicmn.cpp:741 src/tags.cpp:481 msgid "Strip Offsets" msgstr "" #: src/panasonicmn.cpp:741 msgid "Strip offsets" msgstr "" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 msgid "Orientation" msgstr "" #: src/panasonicmn.cpp:743 msgid "Rows Per Strip" msgstr "" #: src/panasonicmn.cpp:743 msgid "The number of rows per strip" msgstr "" #: src/panasonicmn.cpp:744 msgid "Strip Byte Counts" msgstr "" #: src/panasonicmn.cpp:744 msgid "Strip byte counts" msgstr "" #: src/panasonicmn.cpp:745 msgid "Raw Data Offset" msgstr "" #: src/panasonicmn.cpp:745 msgid "Raw data offset" msgstr "" #: src/panasonicmn.cpp:746 src/tags.cpp:797 msgid "Exif IFD Pointer" msgstr "" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "" #: src/panasonicmn.cpp:747 src/tags.cpp:808 msgid "GPS Info IFD Pointer" msgstr "" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "" #: src/panasonicmn.cpp:749 msgid "Unknown PanasonicRaw tag" msgstr "" #: src/pentaxmn.cpp:57 msgid "Night-Scene" msgstr "" #: src/pentaxmn.cpp:199 msgid "Good" msgstr "" #: src/pentaxmn.cpp:200 msgid "Better" msgstr "" #: src/pentaxmn.cpp:201 msgid "Best" msgstr "" #: src/pentaxmn.cpp:204 msgid "Premium" msgstr "" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "" #: src/pentaxmn.cpp:247 msgid "Auto, Did not fire" msgstr "" #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 msgid "Off, Did not fire" msgstr "" #: src/pentaxmn.cpp:250 msgid "Auto, Did not fire, Red-eye reduction" msgstr "" #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:252 msgid "Auto, Fired" msgstr "" #: src/pentaxmn.cpp:253 msgid "On, Fired" msgstr "" #: src/pentaxmn.cpp:254 msgid "Auto, Fired, Red-eye reduction" msgstr "" #: src/pentaxmn.cpp:255 msgid "On, Red-eye reduction" msgstr "" #: src/pentaxmn.cpp:256 msgid "On, Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:257 msgid "On, Wireless (Control)" msgstr "" #: src/pentaxmn.cpp:258 msgid "On, Soft" msgstr "" #: src/pentaxmn.cpp:259 msgid "On, Slow-sync" msgstr "" #: src/pentaxmn.cpp:260 msgid "On, Slow-sync, Red-eye reduction" msgstr "" #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "" #: src/pentaxmn.cpp:272 msgid "Pan Focus" msgstr "" #: src/pentaxmn.cpp:275 msgid "AF-A" msgstr "" #: src/pentaxmn.cpp:276 msgid "Contrast-detect" msgstr "" #: src/pentaxmn.cpp:277 msgid "Tracking Contrast-detect" msgstr "" #: src/pentaxmn.cpp:284 msgid "Fixed Center" msgstr "" #: src/pentaxmn.cpp:285 msgid "Automatic Tracking AF" msgstr "" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "" #: src/pentaxmn.cpp:287 msgid "AF Select" msgstr "" #: src/pentaxmn.cpp:305 msgid "Fixed Center or multiple" msgstr "" #: src/pentaxmn.cpp:307 msgid "Top-center" msgstr "" #: src/pentaxmn.cpp:313 msgid "Bottom-center" msgstr "" #: src/pentaxmn.cpp:402 msgid "Multi Segment" msgstr "" #: src/pentaxmn.cpp:403 msgid "Center Weighted" msgstr "" #: src/pentaxmn.cpp:415 msgid "DaylightFluorescent" msgstr "" #: src/pentaxmn.cpp:416 msgid "DaywhiteFluorescent" msgstr "" #: src/pentaxmn.cpp:417 msgid "WhiteFluorescent" msgstr "" #: src/pentaxmn.cpp:420 msgid "Color Temperature Enhancement" msgstr "" #: src/pentaxmn.cpp:423 msgid "User Selected" msgstr "" #: src/pentaxmn.cpp:428 msgid "Auto (Daylight)" msgstr "" #: src/pentaxmn.cpp:429 msgid "Auto (Shade)" msgstr "" #: src/pentaxmn.cpp:430 msgid "Auto (Flash)" msgstr "" #: src/pentaxmn.cpp:431 msgid "Auto (Tungsten)" msgstr "" #: src/pentaxmn.cpp:432 msgid "Auto (DaylightFluorescent)" msgstr "" #: src/pentaxmn.cpp:433 msgid "Auto (DaywhiteFluorescent)" msgstr "" #: src/pentaxmn.cpp:434 msgid "Auto (WhiteFluorescent)" msgstr "" #: src/pentaxmn.cpp:435 msgid "Auto (Cloudy)" msgstr "" #: src/pentaxmn.cpp:437 msgid "Preset (Fireworks?)" msgstr "" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 msgid "Med Low" msgstr "" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 msgid "Med High" msgstr "" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "" #: src/pentaxmn.cpp:473 msgid "Med Soft" msgstr "" #: src/pentaxmn.cpp:474 msgid "Med Hard" msgstr "" #: src/pentaxmn.cpp:475 msgid "Very Soft" msgstr "" #: src/pentaxmn.cpp:476 msgid "Very Hard" msgstr "" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 msgid "Home town" msgstr "" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "" #: src/pentaxmn.cpp:491 msgid "Anchorage" msgstr "" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "" #: src/pentaxmn.cpp:494 msgid "Los Angeles" msgstr "" #: src/pentaxmn.cpp:495 msgid "Calgary" msgstr "" #: src/pentaxmn.cpp:496 msgid "Denver" msgstr "" #: src/pentaxmn.cpp:497 msgid "Mexico City" msgstr "" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "" #: src/pentaxmn.cpp:509 msgid "London" msgstr "" #: src/pentaxmn.cpp:510 msgid "Paris" msgstr "" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "" #: src/pentaxmn.cpp:515 msgid "Istanbul" msgstr "" #: src/pentaxmn.cpp:516 msgid "Cairo" msgstr "" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "" #: src/pentaxmn.cpp:524 msgid "Male" msgstr "" #: src/pentaxmn.cpp:525 msgid "Delhi" msgstr "" #: src/pentaxmn.cpp:526 msgid "Colombo" msgstr "" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "" #: src/pentaxmn.cpp:528 msgid "Dacca" msgstr "" #: src/pentaxmn.cpp:529 msgid "Yangon" msgstr "" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "" #: src/pentaxmn.cpp:532 msgid "Vientiane" msgstr "" #: src/pentaxmn.cpp:533 msgid "Singapore" msgstr "" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "" #: src/pentaxmn.cpp:538 msgid "Perth" msgstr "" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "" #: src/pentaxmn.cpp:541 msgid "Manila" msgstr "" #: src/pentaxmn.cpp:542 msgid "Taipei" msgstr "" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "" #: src/pentaxmn.cpp:548 msgid "Noumea" msgstr "" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "" #: src/pentaxmn.cpp:555 msgid "Athens" msgstr "" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "" #: src/pentaxmn.cpp:560 msgid "Copenhagen" msgstr "" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "" #: src/pentaxmn.cpp:568 msgid "Unprocessed" msgstr "" #: src/pentaxmn.cpp:570 msgid "Resized" msgstr "" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 msgid "Cropped" msgstr "" #: src/pentaxmn.cpp:573 msgid "Digital Filter 6" msgstr "" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 msgid "Hi-speed Program" msgstr "" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 msgid "DOF Program" msgstr "" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 msgid "MTF Program" msgstr "" #: src/pentaxmn.cpp:588 msgid "Night Scene Portrait" msgstr "" #: src/pentaxmn.cpp:589 msgid "No Flash" msgstr "" #: src/pentaxmn.cpp:592 msgid "Surf & Snow" msgstr "" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "" #: src/pentaxmn.cpp:600 msgid "Stage Lighting" msgstr "" #: src/pentaxmn.cpp:601 msgid "Night Snap" msgstr "" #: src/pentaxmn.cpp:602 msgid "Blue Sky" msgstr "" #: src/pentaxmn.cpp:604 msgid "Night Scene HDR" msgstr "" #: src/pentaxmn.cpp:606 msgid "Quick Macro" msgstr "" #: src/pentaxmn.cpp:607 msgid "Forest" msgstr "" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "" #: src/pentaxmn.cpp:610 msgid "Auto PICT (Standard)" msgstr "" #: src/pentaxmn.cpp:611 msgid "Auto PICT (Portrait)" msgstr "" #: src/pentaxmn.cpp:612 msgid "Auto PICT (Landscape)" msgstr "" #: src/pentaxmn.cpp:613 msgid "Auto PICT (Macro)" msgstr "" #: src/pentaxmn.cpp:614 msgid "Auto PICT (Sport)" msgstr "" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 msgid "Green Mode" msgstr "" #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 msgid "Shutter Speed Priority" msgstr "" #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 msgid "Aperture Priority" msgstr "" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "" #: src/pentaxmn.cpp:631 msgid "Program Tv Shift" msgstr "" #: src/pentaxmn.cpp:632 msgid "Program Av Shift" msgstr "" #: src/pentaxmn.cpp:635 msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "" #: src/pentaxmn.cpp:636 msgid "Manual (Off-Auto-Aperture)" msgstr "" #: src/pentaxmn.cpp:637 msgid "Bulb (Off-Auto-Aperture)" msgstr "" #: src/pentaxmn.cpp:639 msgid "Shutter Priority" msgstr "" #: src/pentaxmn.cpp:640 msgid "Shutter & Aperture Priority AE" msgstr "" #: src/pentaxmn.cpp:641 msgid "Shutter & Aperture Priority AE (1)" msgstr "" #: src/pentaxmn.cpp:642 msgid "Sensitivity Priority AE" msgstr "" #: src/pentaxmn.cpp:643 msgid "Sensitivity Priority AE (1)" msgstr "" #: src/pentaxmn.cpp:644 msgid "Flash X-Sync Speed AE" msgstr "" #: src/pentaxmn.cpp:645 msgid "Flash X-Sync Speed AE (1)" msgstr "" #: src/pentaxmn.cpp:646 msgid "Auto Program (Normal)" msgstr "" #: src/pentaxmn.cpp:647 msgid "Auto Program (Hi-Speed)" msgstr "" #: src/pentaxmn.cpp:648 msgid "Auto Program (DOF)" msgstr "" #: src/pentaxmn.cpp:649 msgid "Auto Program (MTF)" msgstr "" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "" #: src/pentaxmn.cpp:651 msgid "Blur control" msgstr "" #: src/pentaxmn.cpp:654 msgid "Video (30 fps)" msgstr "" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "" #: src/pentaxmn.cpp:662 msgid "Continuous (Hi)" msgstr "" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 msgid "Burst" msgstr "" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 msgid "Video" msgstr "" #: src/pentaxmn.cpp:666 msgid "Self-timer (12 sec)" msgstr "" #: src/pentaxmn.cpp:667 msgid "Self-timer (2 sec)" msgstr "" #: src/pentaxmn.cpp:669 msgid "Mirror Lock-up" msgstr "" #: src/pentaxmn.cpp:670 msgid "Remote Control (3 sec)" msgstr "" #: src/pentaxmn.cpp:671 msgid "Remote Control" msgstr "" #: src/pentaxmn.cpp:672 msgid "Remote Continuous Shooting" msgstr "" #: src/pentaxmn.cpp:675 msgid "HDR Strong 1" msgstr "" #: src/pentaxmn.cpp:676 msgid "HDR Strong 2" msgstr "" #: src/pentaxmn.cpp:677 msgid "HDR Strong 3" msgstr "" #: src/pentaxmn.cpp:678 msgid "HDR Auto" msgstr "" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "" #: src/pentaxmn.cpp:691 msgid "K or M Lens" msgstr "" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "" #: src/pentaxmn.cpp:970 msgid "Bright" msgstr "" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "" #: src/pentaxmn.cpp:990 msgid "Weakest" msgstr "" #: src/pentaxmn.cpp:991 msgid "Weak" msgstr "" #: src/pentaxmn.cpp:992 msgid "Strong" msgstr "" #: src/pentaxmn.cpp:1112 msgid "No extended bracketing" msgstr "" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "" #: src/pentaxmn.cpp:1133 msgid "Unknown " msgstr "" #: src/pentaxmn.cpp:1146 msgid "Pentax Makernote version" msgstr "" #: src/pentaxmn.cpp:1149 msgid "Camera shooting mode" msgstr "" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 msgid "Resolution of a preview image" msgstr "" #: src/pentaxmn.cpp:1154 msgid "Length of a preview image" msgstr "" #: src/pentaxmn.cpp:1155 msgid "Size of an IFD containing a preview image" msgstr "" #: src/pentaxmn.cpp:1160 msgid "Model identification" msgstr "" #: src/pentaxmn.cpp:1161 msgid "Pentax model identification" msgstr "" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 msgid "Date" msgstr "" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 msgid "Time" msgstr "" #: src/pentaxmn.cpp:1170 msgid "Image quality settings" msgstr "" #: src/pentaxmn.cpp:1173 msgid "Image size settings" msgstr "" #: src/pentaxmn.cpp:1177 msgid "Flash mode settings" msgstr "" #: src/pentaxmn.cpp:1180 msgid "Focus mode settings" msgstr "" #: src/pentaxmn.cpp:1183 msgid "Selected AF point" msgstr "" #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 msgid "AF point in focus" msgstr "" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 msgid "F-Number" msgstr "" #: src/pentaxmn.cpp:1195 msgid "ISO sensitivity" msgstr "" #: src/pentaxmn.cpp:1196 msgid "ISO sensitivity settings" msgstr "" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 msgid "MeteringMode" msgstr "" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 msgid "AutoBracketing" msgstr "" #: src/pentaxmn.cpp:1216 msgid "Blue color balance" msgstr "" #: src/pentaxmn.cpp:1219 msgid "Red color balance" msgstr "" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 msgid "FocalLength" msgstr "" #: src/pentaxmn.cpp:1239 msgid "Hometown" msgstr "" #: src/pentaxmn.cpp:1245 msgid "Hometown DST" msgstr "" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "" #: src/pentaxmn.cpp:1248 msgid "Destination DST" msgstr "" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 msgid "DSPFirmwareVersion" msgstr "" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 msgid "CPUFirmwareVersion" msgstr "" #: src/pentaxmn.cpp:1261 msgid "Light value" msgstr "" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 msgid "Image area offset" msgstr "" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 msgid "Raw image size" msgstr "" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 msgid "Preview image borders" msgstr "" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 msgid "Sensitivity adjust" msgstr "" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 msgid "Digital filter" msgstr "" #: src/pentaxmn.cpp:1299 msgid "Camera temperature" msgstr "" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 msgid "Image tone" msgstr "" #: src/pentaxmn.cpp:1319 msgid "Shake reduction" msgstr "" #: src/pentaxmn.cpp:1320 msgid "Shake reduction information" msgstr "" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 msgid "Dynamic range expansion" msgstr "" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 msgid "High ISO noise reduction" msgstr "" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 msgid "AF Adjustment" msgstr "" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 msgid "Black point" msgstr "" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 msgid "White point" msgstr "" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 msgid "ShotInfo" msgstr "" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 msgid "AEInfo" msgstr "" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 msgid "LensInfo" msgstr "" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 msgid "FlashInfo" msgstr "" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 msgid "AEMeteringSegments" msgstr "" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 msgid "FlashADump" msgstr "" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 msgid "FlashBDump" msgstr "" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 msgid "WB_RGGBLevelsDaylight" msgstr "" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 msgid "WB_RGGBLevelsShade" msgstr "" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 msgid "WB_RGGBLevelsCloudy" msgstr "" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 msgid "WB_RGGBLevelsTungsten" msgstr "" #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 msgid "WB_RGGBLevelsFluorescentD" msgstr "" #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 msgid "WB_RGGBLevelsFluorescentN" msgstr "" #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 msgid "WB_RGGBLevelsFluorescentW" msgstr "" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 msgid "WB_RGGBLevelsFlash" msgstr "" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 msgid "CameraInfo" msgstr "" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 msgid "BatteryInfo" msgstr "" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 msgid "AFInfo" msgstr "" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 msgid "ColorInfo" msgstr "" #: src/pentaxmn.cpp:1405 msgid "Unknown PentaxMakerNote tag" msgstr "" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "" #: src/properties.cpp:113 msgid "XMP Basic schema" msgstr "" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "" #: src/properties.cpp:115 msgid "XMP Media Management schema" msgstr "" #: src/properties.cpp:116 msgid "XMP Basic Job Ticket schema" msgstr "" #: src/properties.cpp:117 msgid "XMP Paged-Text schema" msgstr "" #: src/properties.cpp:118 msgid "XMP Dynamic Media schema" msgstr "" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "" #: src/properties.cpp:120 msgid "Adobe Lightroom schema" msgstr "" #: src/properties.cpp:121 msgid "Adobe PDF schema" msgstr "" #: src/properties.cpp:122 msgid "Adobe photoshop schema" msgstr "" #: src/properties.cpp:123 msgid "Camera Raw schema" msgstr "" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "" #: src/properties.cpp:127 src/properties.cpp:128 msgid "IPTC Core schema" msgstr "" #: src/properties.cpp:129 src/properties.cpp:130 msgid "IPTC Extension schema" msgstr "" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "" #: src/properties.cpp:132 msgid "iView Media Pro schema" msgstr "" #: src/properties.cpp:133 msgid "Expression Media schema" msgstr "" #: src/properties.cpp:134 msgid "Microsoft Photo 1.2 schema" msgstr "" #: src/properties.cpp:135 msgid "Microsoft Photo RegionInfo schema" msgstr "" #: src/properties.cpp:136 msgid "Microsoft Photo Region schema" msgstr "" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "" #: src/properties.cpp:138 msgid "Metadata Working Group Keywords schema" msgstr "" #: src/properties.cpp:139 msgid "XMP Extended Video schema" msgstr "" #: src/properties.cpp:140 msgid "XMP Extended Audio schema" msgstr "" #: src/properties.cpp:141 msgid "XMP Darwin Core schema" msgstr "" #: src/properties.cpp:142 msgid "Qualified Dublin Core schema" msgstr "" #: src/properties.cpp:143 msgid "ACDSee XMP schema" msgstr "" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "" #: src/properties.cpp:148 msgid "Colorant structure" msgstr "" #: src/properties.cpp:149 msgid "Dimensions structure" msgstr "" #: src/properties.cpp:150 msgid "Font structure" msgstr "" #: src/properties.cpp:151 msgid "Thumbnail structure" msgstr "" #: src/properties.cpp:152 msgid "Resource Event structure" msgstr "" #: src/properties.cpp:153 msgid "ResourceRef structure" msgstr "" #: src/properties.cpp:154 msgid "Version structure" msgstr "" #: src/properties.cpp:155 msgid "Basic Job/Workflow structure" msgstr "" #: src/properties.cpp:156 msgid "Area structure" msgstr "" #: src/properties.cpp:159 msgid "Qualifier for xmp:Identifier" msgstr "" #: src/properties.cpp:163 msgid "Contributor" msgstr "" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "" #: src/properties.cpp:164 msgid "Coverage" msgstr "" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" #: src/properties.cpp:166 msgid "Creator" msgstr "" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "" #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "" #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" #: src/properties.cpp:170 src/properties.cpp:1160 msgid "Format" msgstr "" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" #: src/properties.cpp:172 src/properties.cpp:228 msgid "Identifier" msgstr "" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "" #: src/properties.cpp:175 msgid "Publisher" msgstr "" #: src/properties.cpp:175 msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" #: src/properties.cpp:178 msgid "Relation" msgstr "" #: src/properties.cpp:178 msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" #: src/properties.cpp:180 msgid "Rights" msgstr "" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" #: src/properties.cpp:183 msgid "Unique identifier of the work from which this resource was derived." msgstr "" #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 msgid "Type" msgstr "" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "" #: src/properties.cpp:194 msgid "Tags List" msgstr "" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" #: src/properties.cpp:195 msgid "Captions Author Names" msgstr "" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" #: src/properties.cpp:196 msgid "Captions Date Time Stamps" msgstr "" #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" #: src/properties.cpp:197 src/tags.cpp:844 msgid "Image History" msgstr "" #: src/properties.cpp:197 msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" #: src/properties.cpp:198 msgid "Lens Correction Settings" msgstr "" #: src/properties.cpp:198 msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" #: src/properties.cpp:199 msgid "Color Label" msgstr "" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" #: src/properties.cpp:200 msgid "Pick Label" msgstr "" #: src/properties.cpp:200 msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" #: src/properties.cpp:206 msgid "Panorama Input Files" msgstr "" #: src/properties.cpp:206 msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" #: src/properties.cpp:207 msgid "Enfuse Input Files" msgstr "" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" #: src/properties.cpp:208 msgid "Enfuse Settings" msgstr "" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "" #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "" #: src/properties.cpp:216 msgid "Advisory" msgstr "" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" #: src/properties.cpp:219 src/properties.cpp:1066 msgid "Base URL" msgstr "" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" #: src/properties.cpp:224 msgid "Create Date" msgstr "" #: src/properties.cpp:224 msgid "The date and time the resource was originally created." msgstr "" #: src/properties.cpp:225 msgid "Creator Tool" msgstr "" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" #: src/properties.cpp:233 msgid "Label" msgstr "" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" #: src/properties.cpp:235 msgid "Metadata Date" msgstr "" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" #: src/properties.cpp:237 msgid "Modify Date" msgstr "" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" #: src/properties.cpp:240 msgid "Nickname" msgstr "" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "" #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 msgid "Rating" msgstr "" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" #: src/properties.cpp:244 msgid "Thumbnails" msgstr "" #: src/properties.cpp:244 msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" #: src/properties.cpp:251 msgid "Certificate" msgstr "" #: src/properties.cpp:251 msgid "Online rights management certificate." msgstr "" #: src/properties.cpp:252 msgid "Marked" msgstr "" #: src/properties.cpp:252 msgid "Indicates that this is a rights-managed resource." msgstr "" #: src/properties.cpp:253 msgid "Owner" msgstr "" #: src/properties.cpp:253 msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "" #: src/properties.cpp:254 msgid "Usage Terms" msgstr "" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "" #: src/properties.cpp:255 msgid "Web Statement" msgstr "" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" #: src/properties.cpp:261 msgid "Derived From" msgstr "" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" #: src/properties.cpp:266 msgid "Document ID" msgstr "" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" #: src/properties.cpp:268 msgid "History" msgstr "" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" #: src/properties.cpp:272 msgid "Instance ID" msgstr "" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" #: src/properties.cpp:274 msgid "Managed From" msgstr "" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" #: src/properties.cpp:277 msgid "Manager" msgstr "" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" #: src/properties.cpp:280 msgid "Manage To" msgstr "" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" #: src/properties.cpp:283 msgid "Manage UI" msgstr "" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" #: src/properties.cpp:285 msgid "Manager Variant" msgstr "" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" #: src/properties.cpp:287 msgid "Rendition Class" msgstr "" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" #: src/properties.cpp:289 msgid "Rendition Params" msgstr "" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" #: src/properties.cpp:291 msgid "Version ID" msgstr "" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr "" #: src/properties.cpp:295 msgid "Versions" msgstr "" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" #: src/properties.cpp:301 msgid "Last URL" msgstr "" #: src/properties.cpp:301 msgid "Deprecated for privacy protection." msgstr "" #: src/properties.cpp:302 msgid "Rendition Of" msgstr "" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" #: src/properties.cpp:304 msgid "Save ID" msgstr "" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "" #: src/properties.cpp:310 msgid "Job Reference" msgstr "" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" #: src/properties.cpp:319 msgid "Maximum Page Size" msgstr "" #: src/properties.cpp:319 msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "" #: src/properties.cpp:320 msgid "Number of Pages" msgstr "" #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "" #: src/properties.cpp:321 msgid "Fonts" msgstr "" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" #: src/properties.cpp:322 msgid "Colorants" msgstr "" #: src/properties.cpp:322 msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" #: src/properties.cpp:323 msgid "Plate Names" msgstr "" #: src/properties.cpp:323 msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "Project Reference" msgstr "" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "" #: src/properties.cpp:330 src/properties.cpp:1163 msgid "Video Frame Rate" msgstr "" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "Video Frame Size" msgstr "" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "" #: src/properties.cpp:332 msgid "Video Pixel Aspect Ratio" msgstr "" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "Video Pixel Depth" msgstr "" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "Video Color Space" msgstr "" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" #: src/properties.cpp:337 msgid "Video Alpha Mode" msgstr "" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "" #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "" #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "" #: src/properties.cpp:341 msgid "Video Compressor" msgstr "" #: src/properties.cpp:341 msgid "Video compression used. For example, jpeg." msgstr "" #: src/properties.cpp:342 msgid "Video Field Order" msgstr "" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "" #: src/properties.cpp:343 msgid "Pull Down" msgstr "" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "Audio Sample Rate" msgstr "" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "Audio Sample Type" msgstr "" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "Audio Channel Type" msgstr "" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "Audio Compressor" msgstr "" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "" #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "File Data Rate" msgstr "" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "" #: src/properties.cpp:352 src/properties.cpp:1334 msgid "Tape Name" msgstr "" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "" #: src/properties.cpp:353 msgid "Alternative Tape Name" msgstr "" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" #: src/properties.cpp:355 msgid "Start Time Code" msgstr "" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "" #: src/properties.cpp:356 msgid "Alternative Time code" msgstr "" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" #: src/properties.cpp:357 src/properties.cpp:1124 msgid "Duration" msgstr "" #: src/properties.cpp:357 msgid "The duration of the media file." msgstr "" #: src/properties.cpp:358 msgid "Scene" msgstr "" #: src/properties.cpp:358 msgid "The name of the scene." msgstr "" #: src/properties.cpp:359 msgid "Shot Name" msgstr "" #: src/properties.cpp:359 msgid "The name of the shot or take." msgstr "" #: src/properties.cpp:360 msgid "Shot Date" msgstr "" #: src/properties.cpp:360 msgid "The date and time when the video was shot." msgstr "" #: src/properties.cpp:361 msgid "Shot Location" msgstr "" #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" #: src/properties.cpp:363 msgid "Log Comment" msgstr "" #: src/properties.cpp:363 msgid "User's log comments." msgstr "" #: src/properties.cpp:364 msgid "Markers" msgstr "" #: src/properties.cpp:364 msgid "An ordered list of markers" msgstr "" #: src/properties.cpp:365 msgid "Contributed Media" msgstr "" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "" #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:368 msgid "Video Modified Date" msgstr "" #: src/properties.cpp:368 msgid "The date and time when the video was last modified." msgstr "" #: src/properties.cpp:369 msgid "Audio Modified Date" msgstr "" #: src/properties.cpp:369 msgid "The date and time when the audio was last modified." msgstr "" #: src/properties.cpp:370 msgid "Metadata Modified Date" msgstr "" #: src/properties.cpp:370 msgid "The date and time when the metadata was last modified." msgstr "" #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "" #: src/properties.cpp:371 src/properties.cpp:1058 msgid "The name of the artist or artists." msgstr "" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "Album" msgstr "" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "The name of the album." msgstr "" #: src/properties.cpp:373 src/properties.cpp:1366 msgid "Track Number" msgstr "" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "Genre" msgstr "" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "The name of the genre." msgstr "" #: src/properties.cpp:375 msgid "The copyright information." msgstr "" #: src/properties.cpp:376 msgid "The date the title was released." msgstr "" #: src/properties.cpp:377 src/properties.cpp:1086 msgid "Composer" msgstr "" #: src/properties.cpp:377 msgid "The composer's name." msgstr "" #: src/properties.cpp:378 src/properties.cpp:1143 msgid "Engineer" msgstr "" #: src/properties.cpp:378 msgid "The engineer's name." msgstr "" #: src/properties.cpp:379 msgid "Tempo" msgstr "" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "" #: src/properties.cpp:380 msgid "Instrument" msgstr "" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "" #: src/properties.cpp:381 msgid "Intro Time" msgstr "" #: src/properties.cpp:381 msgid "The duration of lead time for queuing music." msgstr "" #: src/properties.cpp:382 msgid "Out Cue" msgstr "" #: src/properties.cpp:382 msgid "The time at which to fade out." msgstr "" #: src/properties.cpp:383 msgid "Relative Timestamp" msgstr "" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "" #: src/properties.cpp:384 msgid "Loop" msgstr "" #: src/properties.cpp:384 msgid "When true, the clip can be looped seamlessly." msgstr "" #: src/properties.cpp:385 msgid "Number Of Beats" msgstr "" #: src/properties.cpp:385 msgid "The number of beats." msgstr "" #: src/properties.cpp:386 msgid "Key" msgstr "" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "" #: src/properties.cpp:387 msgid "Stretch Mode" msgstr "" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" #: src/properties.cpp:388 msgid "Time Scale Parameters" msgstr "" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "" #: src/properties.cpp:389 msgid "Resample Parameters" msgstr "" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "" #: src/properties.cpp:390 msgid "Beat Splice Parameters" msgstr "" #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "" #: src/properties.cpp:391 msgid "Time Signature" msgstr "" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" #: src/properties.cpp:392 msgid "Scale Type" msgstr "" #: src/properties.cpp:392 msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "" #: src/properties.cpp:399 src/tags.cpp:1078 msgid "Camera Serial Number" msgstr "" #: src/properties.cpp:399 msgid "Camera Serial Number." msgstr "" #: src/properties.cpp:400 msgid "Date Acquired" msgstr "" #: src/properties.cpp:400 msgid "Date Acquired." msgstr "" #: src/properties.cpp:401 msgid "Flash Manufacturer" msgstr "" #: src/properties.cpp:401 msgid "Flash Manufacturer." msgstr "" #: src/properties.cpp:402 msgid "Flash Model." msgstr "" #: src/properties.cpp:403 msgid "Last Keyword IPTC" msgstr "" #: src/properties.cpp:403 msgid "Last Keyword IPTC." msgstr "" #: src/properties.cpp:404 msgid "Last Keyword XMP" msgstr "" #: src/properties.cpp:404 msgid "Last Keyword XMP." msgstr "" #: src/properties.cpp:405 msgid "Lens Manufacturer" msgstr "" #: src/properties.cpp:405 msgid "Lens Manufacturer." msgstr "" #: src/properties.cpp:406 src/properties.cpp:1199 msgid "Lens Model." msgstr "" #: src/properties.cpp:407 msgid "Rating Percent" msgstr "" #: src/properties.cpp:407 msgid "Rating Percent." msgstr "" #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "" #: src/properties.cpp:414 msgid "Private RTK Info" msgstr "" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "" #: src/properties.cpp:420 msgid "Keywords." msgstr "" #: src/properties.cpp:421 msgid "PDF Version" msgstr "" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "" #: src/properties.cpp:422 src/properties.cpp:1278 msgid "Producer" msgstr "" #: src/properties.cpp:422 msgid "The name of the tool that created the PDF document." msgstr "" #: src/properties.cpp:428 msgid "Authors Position" msgstr "" #: src/properties.cpp:428 msgid "By-line title." msgstr "" #: src/properties.cpp:429 msgid "Caption Writer" msgstr "" #: src/properties.cpp:429 msgid "Writer/editor." msgstr "" #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "" #: src/properties.cpp:431 msgid "City." msgstr "" #: src/properties.cpp:432 msgid "Country/primary location." msgstr "" #: src/properties.cpp:433 msgid "Credit." msgstr "" #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" #: src/properties.cpp:438 msgid "Headline." msgstr "" #: src/properties.cpp:439 msgid "Special instructions." msgstr "" #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source." msgstr "" #: src/properties.cpp:441 msgid "Province/state." msgstr "" #: src/properties.cpp:442 msgid "Supplemental category." msgstr "" #: src/properties.cpp:443 msgid "Original transmission reference." msgstr "" #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "" #: src/properties.cpp:452 msgid "inches" msgstr "" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "" #: src/properties.cpp:457 msgid "Auto Brightness" msgstr "" #: src/properties.cpp:457 msgid "When true, \"Brightness\" is automatically adjusted." msgstr "" #: src/properties.cpp:458 msgid "Auto Contrast" msgstr "" #: src/properties.cpp:458 msgid "When true, \"Contrast\" is automatically adjusted." msgstr "" #: src/properties.cpp:459 msgid "Auto Exposure" msgstr "" #: src/properties.cpp:459 msgid "When true, \"Exposure\" is automatically adjusted." msgstr "" #: src/properties.cpp:460 msgid "Auto Shadows" msgstr "" #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "" #: src/properties.cpp:461 msgid "Blue Hue" msgstr "" #: src/properties.cpp:461 msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "" #: src/properties.cpp:462 msgid "Blue Saturation" msgstr "" #: src/properties.cpp:462 msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:463 msgid "\"Brightness\" setting. Range 0 to +150." msgstr "" #: src/properties.cpp:464 msgid "Camera Profile" msgstr "" #: src/properties.cpp:464 msgid "\"Camera Profile\" setting." msgstr "" #: src/properties.cpp:465 msgid "Chromatic Aberration Blue" msgstr "" #: src/properties.cpp:465 msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:466 msgid "Chromatic Aberration Red" msgstr "" #: src/properties.cpp:466 msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:467 src/properties.cpp:1080 msgid "Color Noise Reduction" msgstr "" #: src/properties.cpp:467 src/properties.cpp:1080 msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:468 msgid "\"Contrast\" setting. Range -50 to +100." msgstr "" #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "" #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "" #: src/properties.cpp:471 msgid "Crop Bottom" msgstr "" #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "" #: src/properties.cpp:472 msgid "Crop Right" msgstr "" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "" #: src/properties.cpp:473 msgid "Crop Angle" msgstr "" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "" #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:476 msgid "Crop Units" msgstr "" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "" #: src/properties.cpp:477 msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "" #: src/properties.cpp:478 msgid "Green Hue" msgstr "" #: src/properties.cpp:478 msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:479 msgid "Green Saturation" msgstr "" #: src/properties.cpp:479 msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:480 msgid "Has Crop" msgstr "" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "" #: src/properties.cpp:481 msgid "Has Settings" msgstr "" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "" #: src/properties.cpp:482 msgid "Luminance Smoothing" msgstr "" #: src/properties.cpp:482 msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:483 msgid "Raw File Name" msgstr "" #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "" #: src/properties.cpp:484 msgid "Red Hue" msgstr "" #: src/properties.cpp:484 msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:485 msgid "Red Saturation" msgstr "" #: src/properties.cpp:485 msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:486 msgid "\"Saturation\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:487 msgid "Shadows" msgstr "" #: src/properties.cpp:487 msgid "\"Shadows\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:488 msgid "Shadow Tint" msgstr "" #: src/properties.cpp:488 msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:489 src/properties.cpp:1301 msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:490 msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "" #: src/properties.cpp:491 msgid "Tint" msgstr "" #: src/properties.cpp:491 msgid "\"Tint\" setting. Range -150 to +150." msgstr "" #: src/properties.cpp:492 msgid "Tone Curve" msgstr "" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "" #: src/properties.cpp:493 msgid "Tone Curve Name" msgstr "" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "" #: src/properties.cpp:496 msgid "Vignette Amount" msgstr "" #: src/properties.cpp:496 msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:497 msgid "Vignette Midpoint" msgstr "" #: src/properties.cpp:497 msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "" #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 msgid "Image Length" msgstr "" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "" #: src/properties.cpp:507 msgid "Bits Per Sample" msgstr "" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "" #: src/properties.cpp:508 src/tags.cpp:434 msgid "Compression" msgstr "" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "" #: src/properties.cpp:509 src/tags.cpp:440 msgid "Photometric Interpretation" msgstr "" #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "" #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" #: src/properties.cpp:519 msgid "Samples Per Pixel" msgstr "" #: src/properties.cpp:519 msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "" #: src/properties.cpp:520 src/tags.cpp:514 msgid "Planar Configuration" msgstr "" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "" #: src/properties.cpp:521 msgid "YCbCr Sub Sampling" msgstr "" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" #: src/properties.cpp:523 src/tags.cpp:720 msgid "YCbCr Positioning" msgstr "" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" #: src/properties.cpp:525 src/properties.cpp:1390 msgid "X Resolution" msgstr "" #: src/properties.cpp:525 msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "" #: src/properties.cpp:526 src/properties.cpp:1392 msgid "Y Resolution" msgstr "" #: src/properties.cpp:526 msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "" #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 msgid "Resolution Unit" msgstr "" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" #: src/properties.cpp:529 src/tags.cpp:540 msgid "Transfer Function" msgstr "" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" #: src/properties.cpp:531 src/tags.cpp:572 msgid "White Point" msgstr "" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "" #: src/properties.cpp:532 src/tags.cpp:577 msgid "Primary Chromaticities" msgstr "" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "" #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "" #: src/properties.cpp:534 msgid "Reference Black White" msgstr "" #: src/properties.cpp:534 msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "" #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 msgid "Date and Time" msgstr "" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" #: src/properties.cpp:541 src/tags.cpp:462 msgid "Image Description" msgstr "" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" #: src/properties.cpp:542 msgid "Make" msgstr "" #: src/properties.cpp:542 msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "" #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "" #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" #: src/properties.cpp:546 msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" #: src/properties.cpp:548 msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" #: src/properties.cpp:555 src/tags.cpp:1605 msgid "Exif Version" msgstr "" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "" #: src/properties.cpp:556 msgid "Flashpix Version" msgstr "" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "" #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "" #: src/properties.cpp:558 src/tags.cpp:1616 msgid "Components Configuration" msgstr "" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" #: src/properties.cpp:560 src/tags.cpp:825 msgid "Compressed Bits Per Pixel" msgstr "" #: src/properties.cpp:560 msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "" #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "" #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "" #: src/properties.cpp:564 src/tags.cpp:1674 msgid "User Comment" msgstr "" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "" #: src/properties.cpp:565 src/tags.cpp:1716 msgid "Related Sound File" msgstr "" #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" #: src/properties.cpp:566 src/properties.cpp:1110 msgid "Date and Time Original" msgstr "" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" #: src/properties.cpp:569 src/properties.cpp:1111 msgid "Date and Time Digitized" msgstr "" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" #: src/properties.cpp:573 msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "" #: src/properties.cpp:574 src/properties.cpp:1157 msgid "F Number" msgstr "" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "" #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "" #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 msgid "Spectral Sensitivity" msgstr "" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "" #: src/properties.cpp:577 msgid "ISOSpeedRatings" msgstr "" #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" #: src/properties.cpp:581 msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "" #: src/properties.cpp:582 src/tags.cpp:828 msgid "Brightness Value" msgstr "" #: src/properties.cpp:582 msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "" #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "" #: src/properties.cpp:584 src/properties.cpp:1211 msgid "Maximum Aperture Value" msgstr "" #: src/properties.cpp:584 msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "" #: src/properties.cpp:585 msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "" #: src/properties.cpp:586 msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "" #: src/properties.cpp:587 msgid "EXIF tag 37384, 0x9208. Light source." msgstr "" #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "" #: src/properties.cpp:589 msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "" #: src/properties.cpp:590 src/tags.cpp:1666 msgid "Subject Area" msgstr "" #: src/properties.cpp:590 msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 msgid "Flash Energy" msgstr "" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "" #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "" #: src/properties.cpp:592 msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" #: src/properties.cpp:594 src/tags.cpp:839 msgid "Focal Plane X Resolution" msgstr "" #: src/properties.cpp:594 msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "" #: src/properties.cpp:595 src/tags.cpp:840 msgid "Focal Plane Y Resolution" msgstr "" #: src/properties.cpp:595 msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "" #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 msgid "Focal Plane Resolution Unit" msgstr "" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 msgid "Subject Location" msgstr "" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" #: src/properties.cpp:600 src/tags.cpp:846 msgid "Exposure Index" msgstr "" #: src/properties.cpp:600 msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "" #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 msgid "Sensing Method" msgstr "" #: src/properties.cpp:601 msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "" #: src/properties.cpp:602 msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "" #: src/properties.cpp:603 src/tags.cpp:1771 msgid "Scene Type" msgstr "" #: src/properties.cpp:603 msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "" #: src/properties.cpp:604 src/tags.cpp:761 msgid "CFA Pattern" msgstr "" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" #: src/properties.cpp:605 src/tags.cpp:1781 msgid "Custom Rendered" msgstr "" #: src/properties.cpp:605 msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "" #: src/properties.cpp:606 msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "" #: src/properties.cpp:607 msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "" #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 msgid "Digital Zoom Ratio" msgstr "" #: src/properties.cpp:608 msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "" #: src/properties.cpp:609 src/tags.cpp:1800 msgid "Focal Length In 35mm Film" msgstr "" #: src/properties.cpp:609 msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" #: src/properties.cpp:612 src/tags.cpp:1806 msgid "Scene Capture Type" msgstr "" #: src/properties.cpp:612 msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "" #: src/properties.cpp:613 src/tags.cpp:1811 msgid "Gain Control" msgstr "" #: src/properties.cpp:613 msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "" #: src/properties.cpp:614 msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" #: src/properties.cpp:615 msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" #: src/properties.cpp:616 msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" #: src/properties.cpp:617 src/tags.cpp:1826 msgid "Device Setting Description" msgstr "" #: src/properties.cpp:617 msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" #: src/properties.cpp:618 src/tags.cpp:1831 msgid "Subject Distance Range" msgstr "" #: src/properties.cpp:618 msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "" #: src/properties.cpp:619 src/tags.cpp:1834 msgid "Image Unique ID" msgstr "" #: src/properties.cpp:619 msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 msgid "GPS Version ID" msgstr "" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "" #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "" #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 msgid "GPS Altitude Reference" msgstr "" #: src/properties.cpp:625 src/properties.cpp:1168 msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "" #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "" #: src/properties.cpp:626 src/properties.cpp:1167 msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "" #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 msgid "GPS Time Stamp" msgstr "" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 msgid "GPS Satellites" msgstr "" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:634 src/tags.cpp:1989 msgid "GPS Status" msgstr "" #: src/properties.cpp:634 msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "" #: src/properties.cpp:635 src/tags.cpp:1994 msgid "GPS Measure Mode" msgstr "" #: src/properties.cpp:635 msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "" #: src/properties.cpp:636 msgid "GPS DOP" msgstr "" #: src/properties.cpp:636 msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "" #: src/properties.cpp:637 src/tags.cpp:2002 msgid "GPS Speed Reference" msgstr "" #: src/properties.cpp:637 msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "" #: src/properties.cpp:638 src/tags.cpp:2006 msgid "GPS Speed" msgstr "" #: src/properties.cpp:638 msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "" #: src/properties.cpp:639 msgid "GPS Track Reference" msgstr "" #: src/properties.cpp:639 msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "" #: src/properties.cpp:640 src/tags.cpp:2013 msgid "GPS Track" msgstr "" #: src/properties.cpp:640 msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 msgid "GPS Image Direction Reference" msgstr "" #: src/properties.cpp:641 msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "" #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 msgid "GPS Image Direction" msgstr "" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 msgid "GPS Map Datum" msgstr "" #: src/properties.cpp:643 msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "" #: src/properties.cpp:644 src/tags.cpp:2033 msgid "GPS Destination Latitude" msgstr "" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" #: src/properties.cpp:645 src/tags.cpp:2045 msgid "GPS Destination Longitude" msgstr "" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" #: src/properties.cpp:646 src/tags.cpp:2052 msgid "GPS Destination Bearing Reference" msgstr "" #: src/properties.cpp:646 msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "" #: src/properties.cpp:647 src/tags.cpp:2056 msgid "GPS Destination Bearing" msgstr "" #: src/properties.cpp:647 msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "" #: src/properties.cpp:648 src/tags.cpp:2060 msgid "GPS Destination Distance Reference" msgstr "" #: src/properties.cpp:648 msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "" #: src/properties.cpp:649 src/tags.cpp:2064 msgid "GPS Destination Distance" msgstr "" #: src/properties.cpp:649 msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "" #: src/properties.cpp:650 src/tags.cpp:2067 msgid "GPS Processing Method" msgstr "" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" #: src/properties.cpp:651 src/tags.cpp:2072 msgid "GPS Area Information" msgstr "" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "" #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "" #: src/properties.cpp:652 msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "" #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "" #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "" #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" #: src/properties.cpp:667 msgid "Contact Info-Address" msgstr "" #: src/properties.cpp:667 msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" #: src/properties.cpp:669 msgid "Contact Info-City" msgstr "" #: src/properties.cpp:669 msgid "sub-key Creator Contact Info: city." msgstr "" #: src/properties.cpp:670 msgid "Contact Info-State/Province" msgstr "" #: src/properties.cpp:670 msgid "sub-key Creator Contact Info: state or province." msgstr "" #: src/properties.cpp:671 msgid "Contact Info-Postal Code" msgstr "" #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "" #: src/properties.cpp:672 msgid "Contact Info-Country" msgstr "" #: src/properties.cpp:672 msgid "sub-key Creator Contact Info: country." msgstr "" #: src/properties.cpp:673 msgid "Contact Info-Email" msgstr "" #: src/properties.cpp:673 msgid "sub-key Creator Contact Info: email address." msgstr "" #: src/properties.cpp:674 msgid "Contact Info-Phone" msgstr "" #: src/properties.cpp:674 msgid "sub-key Creator Contact Info: phone number." msgstr "" #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "" #: src/properties.cpp:675 msgid "sub-key Creator Contact Info: web address." msgstr "" #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" #: src/properties.cpp:678 msgid "IPTC Scene" msgstr "" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" #: src/properties.cpp:680 msgid "IPTC Subject Code" msgstr "" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" #: src/properties.cpp:682 msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" #: src/properties.cpp:687 msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" #: src/properties.cpp:696 msgid "Additional model info" msgstr "" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "" #: src/properties.cpp:697 msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "" #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" #: src/properties.cpp:699 msgid "Model age" msgstr "" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "" #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "" #: src/properties.cpp:701 msgid "Person shown" msgstr "" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "" #: src/properties.cpp:702 msgid "Digital Image Identifier" msgstr "" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "" #: src/properties.cpp:703 msgid "The type of the source digital file." msgstr "" #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 msgid "Event" msgstr "" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "" #: src/properties.cpp:705 msgid "Maximum available height" msgstr "" #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:706 msgid "Maximum available width" msgstr "" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:707 msgid "Registry Entry" msgstr "" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" #: src/properties.cpp:708 msgid "Registry Entry-Item Identifier" msgstr "" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "" #: src/properties.cpp:710 msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "" #: src/properties.cpp:711 msgid "Location shown" msgstr "" #: src/properties.cpp:711 msgid "A location shown in the image." msgstr "" #: src/properties.cpp:712 msgid "Location Created" msgstr "" #: src/properties.cpp:712 msgid "The location the photo was taken." msgstr "" #: src/properties.cpp:713 msgid "Location-City" msgstr "" #: src/properties.cpp:713 msgid "Name of the city of a location." msgstr "" #: src/properties.cpp:714 msgid "Location-Country ISO-Code" msgstr "" #: src/properties.cpp:714 msgid "The ISO code of a country of a location." msgstr "" #: src/properties.cpp:715 msgid "Location-Country Name" msgstr "" #: src/properties.cpp:715 msgid "The name of a country of a location." msgstr "" #: src/properties.cpp:716 msgid "Location-Province/State" msgstr "" #: src/properties.cpp:716 msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "" #: src/properties.cpp:717 msgid "Location-Sublocation" msgstr "" #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" #: src/properties.cpp:718 msgid "Location-World Region" msgstr "" #: src/properties.cpp:718 msgid "The name of a world region of a location." msgstr "" #: src/properties.cpp:719 msgid "Artwork or object in the image" msgstr "" #: src/properties.cpp:719 msgid "A set of metadata about artwork or an object in the image." msgstr "" #: src/properties.cpp:720 msgid "Artwork or object-Copyright notice" msgstr "" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" #: src/properties.cpp:721 msgid "Artwork or object-Creator" msgstr "" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" #: src/properties.cpp:722 msgid "Artwork or object-Date Created" msgstr "" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" #: src/properties.cpp:723 msgid "Artwork or object-Source" msgstr "" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" #: src/properties.cpp:724 msgid "Artwork or object-Source inventory number" msgstr "" #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" #: src/properties.cpp:725 msgid "Artwork or object-Title" msgstr "" #: src/properties.cpp:725 msgid "A reference for the artwork or object in the image." msgstr "" #: src/properties.cpp:732 msgid "Scan from film" msgstr "" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "" #: src/properties.cpp:734 msgid "Scan from print" msgstr "" #: src/properties.cpp:735 msgid "Camera RAW" msgstr "" #: src/properties.cpp:736 msgid "Camera TIFF" msgstr "" #: src/properties.cpp:737 msgid "Camera JPEG" msgstr "" #: src/properties.cpp:742 msgid "PLUS Version" msgstr "" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "" #: src/properties.cpp:743 msgid "Licensee" msgstr "" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "" #: src/properties.cpp:744 msgid "Licensee ID" msgstr "" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "" #: src/properties.cpp:745 msgid "Licensee Name" msgstr "" #: src/properties.cpp:745 msgid "Name of each Licensee." msgstr "" #: src/properties.cpp:746 msgid "End User" msgstr "" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "" #: src/properties.cpp:747 msgid "End User ID" msgstr "" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "" #: src/properties.cpp:748 msgid "End User Name" msgstr "" #: src/properties.cpp:748 msgid "Name of each End User." msgstr "" #: src/properties.cpp:749 msgid "Licensor" msgstr "" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "" #: src/properties.cpp:750 msgid "Licensor ID" msgstr "" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "" #: src/properties.cpp:751 msgid "Licensor Name" msgstr "" #: src/properties.cpp:751 msgid "Name of each Licensor." msgstr "" #: src/properties.cpp:752 msgid "Licensor Address" msgstr "" #: src/properties.cpp:752 msgid "Licensor street address." msgstr "" #: src/properties.cpp:753 msgid "Licensor Address Detail" msgstr "" #: src/properties.cpp:753 msgid "Additional Licensor mailing address details." msgstr "" #: src/properties.cpp:754 msgid "Licensor City" msgstr "" #: src/properties.cpp:754 msgid "Licensor City name." msgstr "" #: src/properties.cpp:755 msgid "Licensor State or Province" msgstr "" #: src/properties.cpp:755 msgid "Licensor State or Province name." msgstr "" #: src/properties.cpp:756 msgid "Licensor Postal Code" msgstr "" #: src/properties.cpp:756 msgid "Licensor Postal Code or Zip Code." msgstr "" #: src/properties.cpp:757 msgid "Licensor Country" msgstr "" #: src/properties.cpp:757 msgid "Licensor Country name." msgstr "" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1" msgstr "" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1." msgstr "" #: src/properties.cpp:759 msgid "Licensor Telephone 1" msgstr "" #: src/properties.cpp:759 msgid "Licensor Telephone number 1." msgstr "" #: src/properties.cpp:760 msgid "Licensor Telephone Type 2" msgstr "" #: src/properties.cpp:760 msgid "Licensor Telephone Type 2." msgstr "" #: src/properties.cpp:761 msgid "Licensor Telephone 2" msgstr "" #: src/properties.cpp:761 msgid "Licensor Telephone number 2." msgstr "" #: src/properties.cpp:762 msgid "Licensor Email" msgstr "" #: src/properties.cpp:762 msgid "Licensor Email address." msgstr "" #: src/properties.cpp:763 msgid "Licensor URL" msgstr "" #: src/properties.cpp:763 msgid "Licensor world wide web address." msgstr "" #: src/properties.cpp:764 msgid "Licensor Notes" msgstr "" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" #: src/properties.cpp:765 msgid "PLUS Media Summary Code" msgstr "" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" #: src/properties.cpp:766 msgid "License Start Date" msgstr "" #: src/properties.cpp:766 msgid "The date on which the license takes effect." msgstr "" #: src/properties.cpp:767 msgid "License End Date" msgstr "" #: src/properties.cpp:767 msgid "The date on which the license expires." msgstr "" #: src/properties.cpp:768 msgid "Media Constraints" msgstr "" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" #: src/properties.cpp:769 msgid "Region Constraints" msgstr "" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" #: src/properties.cpp:770 msgid "Product or Service Constraints" msgstr "" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" #: src/properties.cpp:771 msgid "Image File Constraints" msgstr "" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "" #: src/properties.cpp:772 msgid "Image Alteration Constraints" msgstr "" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" #: src/properties.cpp:773 msgid "Image Duplication Constraints" msgstr "" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "" #: src/properties.cpp:774 msgid "Model Release Status" msgstr "" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" #: src/properties.cpp:775 msgid "Model Release ID" msgstr "" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "" #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "" #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "" #: src/properties.cpp:777 msgid "Property Release Status" msgstr "" #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" #: src/properties.cpp:778 msgid "Property Release ID" msgstr "" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "" #: src/properties.cpp:779 msgid "Other Constraints" msgstr "" #: src/properties.cpp:779 msgid "Additional constraints on the license." msgstr "" #: src/properties.cpp:780 msgid "Credit Line Required" msgstr "" #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "" #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "" #: src/properties.cpp:782 msgid "Other License Requirements" msgstr "" #: src/properties.cpp:782 msgid "Additional license requirements." msgstr "" #: src/properties.cpp:783 msgid "Terms and Conditions Text" msgstr "" #: src/properties.cpp:783 msgid "Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:784 msgid "Terms and Conditions URL" msgstr "" #: src/properties.cpp:784 msgid "URL for Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:785 msgid "Other License Conditions" msgstr "" #: src/properties.cpp:785 msgid "Additional license conditions." msgstr "" #: src/properties.cpp:786 msgid "Identifies the type of image delivered." msgstr "" #: src/properties.cpp:787 msgid "Licensor Image ID" msgstr "" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "" #: src/properties.cpp:788 msgid "Image File Name As Delivered" msgstr "" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "" #: src/properties.cpp:789 msgid "Image File Format As Delivered" msgstr "" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "" #: src/properties.cpp:790 msgid "Image File Size As Delivered" msgstr "" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "" #: src/properties.cpp:791 msgid "Copyright Status" msgstr "" #: src/properties.cpp:791 msgid "Copyright status of the image." msgstr "" #: src/properties.cpp:792 msgid "Copyright Registration Number" msgstr "" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" #: src/properties.cpp:793 msgid "First Publication Date" msgstr "" #: src/properties.cpp:793 msgid "The date on which the image was first published." msgstr "" #: src/properties.cpp:794 msgid "Copyright Owner" msgstr "" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "" #: src/properties.cpp:795 msgid "Copyright Owner ID" msgstr "" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "" #: src/properties.cpp:796 msgid "Copyright Owner Name" msgstr "" #: src/properties.cpp:796 msgid "Name of Copyright Owner." msgstr "" #: src/properties.cpp:797 msgid "Copyright Owner Image ID" msgstr "" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "" #: src/properties.cpp:798 msgid "Image Creator" msgstr "" #: src/properties.cpp:798 msgid "Creator/s of the image." msgstr "" #: src/properties.cpp:799 msgid "Image Creator ID" msgstr "" #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "" #: src/properties.cpp:800 msgid "Image Creator Name" msgstr "" #: src/properties.cpp:800 msgid "Name of Image Creator." msgstr "" #: src/properties.cpp:801 msgid "Image Creator Image ID" msgstr "" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "" #: src/properties.cpp:802 msgid "Image Supplier ID" msgstr "" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "" #: src/properties.cpp:803 msgid "Image Supplier Name" msgstr "" #: src/properties.cpp:803 msgid "Name of Image Supplier." msgstr "" #: src/properties.cpp:804 msgid "Image Supplier Image ID" msgstr "" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "" #: src/properties.cpp:805 msgid "Licensee Image ID" msgstr "" #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "" #: src/properties.cpp:806 msgid "Licensee Image Notes" msgstr "" #: src/properties.cpp:806 msgid "Notes added by Licensee." msgstr "" #: src/properties.cpp:807 msgid "Other Image Info" msgstr "" #: src/properties.cpp:807 msgid "Additional image information." msgstr "" #: src/properties.cpp:808 msgid "License ID" msgstr "" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "" #: src/properties.cpp:809 msgid "Licensor Transaction ID" msgstr "" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "" #: src/properties.cpp:810 msgid "Licensee Transaction ID" msgstr "" #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" #: src/properties.cpp:811 msgid "Licensee Project Reference" msgstr "" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "" #: src/properties.cpp:812 msgid "License Transaction Date" msgstr "" #: src/properties.cpp:812 msgid "The date of the License Transaction." msgstr "" #: src/properties.cpp:813 msgid "Reuse" msgstr "" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" #: src/properties.cpp:814 msgid "Other License Documents" msgstr "" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "" #: src/properties.cpp:815 msgid "Other License Info" msgstr "" #: src/properties.cpp:815 msgid "Additional license information." msgstr "" #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "" #: src/properties.cpp:819 msgid "Custom 4" msgstr "" #: src/properties.cpp:820 msgid "Custom 5" msgstr "" #: src/properties.cpp:821 msgid "Custom 6" msgstr "" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "" #: src/properties.cpp:822 msgid "Custom 7" msgstr "" #: src/properties.cpp:823 msgid "Custom 8" msgstr "" #: src/properties.cpp:824 msgid "Custom 9" msgstr "" #: src/properties.cpp:825 msgid "Custom 10" msgstr "" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "" #: src/properties.cpp:833 msgid "Not Required" msgstr "" #: src/properties.cpp:839 msgid "Protected" msgstr "" #: src/properties.cpp:840 msgid "Public Domain" msgstr "" #: src/properties.cpp:846 msgid "Credit Adjacent To Image" msgstr "" #: src/properties.cpp:847 msgid "Credit in Credits Area" msgstr "" #: src/properties.cpp:848 msgid "Credit on Image" msgstr "" #: src/properties.cpp:849 msgid "Not Require" msgstr "" #: src/properties.cpp:854 msgid "No Colorization" msgstr "" #: src/properties.cpp:855 msgid "No Cropping" msgstr "" #: src/properties.cpp:856 msgid "No De-Colorization" msgstr "" #: src/properties.cpp:857 msgid "No Flipping" msgstr "" #: src/properties.cpp:858 msgid "No Merging" msgstr "" #: src/properties.cpp:859 msgid "No Retouching" msgstr "" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "" #: src/properties.cpp:865 msgid "No Duplication Constraints" msgstr "" #: src/properties.cpp:866 msgid "No Duplication" msgstr "" #: src/properties.cpp:871 msgid "Maintain File Name" msgstr "" #: src/properties.cpp:872 msgid "Maintain File Type" msgstr "" #: src/properties.cpp:873 msgid "Maintain ID in File Name" msgstr "" #: src/properties.cpp:874 msgid "Maintain Metadata" msgstr "" #: src/properties.cpp:879 msgid "Windows Bitmap (BMP)" msgstr "" #: src/properties.cpp:880 msgid "Digital Negative (DNG)" msgstr "" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "" #: src/properties.cpp:882 msgid "Graphics Interchange Format (GIF)" msgstr "" #: src/properties.cpp:883 msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "" #: src/properties.cpp:889 msgid "Tagged Image File Format (TIFF)" msgstr "" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "" #: src/properties.cpp:896 msgid "Up to 1 MB" msgstr "" #: src/properties.cpp:897 msgid "Up to 10 MB" msgstr "" #: src/properties.cpp:898 msgid "Up to 30 MB" msgstr "" #: src/properties.cpp:899 msgid "Up to 50 MB" msgstr "" #: src/properties.cpp:904 msgid "Illustrated Image" msgstr "" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "" #: src/properties.cpp:913 msgid "Cell" msgstr "" #: src/properties.cpp:914 msgid "FAX" msgstr "" #: src/properties.cpp:916 msgid "Pager" msgstr "" #: src/properties.cpp:917 msgid "Work" msgstr "" #: src/properties.cpp:922 msgid "Age Unknown" msgstr "" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "" #: src/properties.cpp:924 msgid "Age 24" msgstr "" #: src/properties.cpp:925 msgid "Age 23" msgstr "" #: src/properties.cpp:926 msgid "Age 22" msgstr "" #: src/properties.cpp:927 msgid "Age 21" msgstr "" #: src/properties.cpp:928 msgid "Age 20" msgstr "" #: src/properties.cpp:929 msgid "Age 19" msgstr "" #: src/properties.cpp:930 msgid "Age 18" msgstr "" #: src/properties.cpp:931 msgid "Age 17" msgstr "" #: src/properties.cpp:932 msgid "Age 16" msgstr "" #: src/properties.cpp:933 msgid "Age 15" msgstr "" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "" #: src/properties.cpp:941 msgid "Unlimited Model Releases" msgstr "" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "" #: src/properties.cpp:949 msgid "Unlimited Property Releases" msgstr "" #: src/properties.cpp:950 msgid "Limited or Incomplete Property Releases" msgstr "" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "" #: src/properties.cpp:960 src/properties.cpp:969 msgid "Fixture Identification" msgstr "" #: src/properties.cpp:961 src/properties.cpp:970 msgid "Status" msgstr "" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "" #: src/properties.cpp:962 src/properties.cpp:971 msgid "People" msgstr "" #: src/properties.cpp:963 src/properties.cpp:972 msgid "Catalog Sets" msgstr "" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "" #: src/properties.cpp:978 msgid "RegionInfo" msgstr "" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "" #: src/properties.cpp:984 src/properties.cpp:1000 msgid "Regions" msgstr "" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "" #: src/properties.cpp:985 msgid "Date Regions Valid" msgstr "" #: src/properties.cpp:985 msgid "Date the last region was created" msgstr "" #: src/properties.cpp:991 msgid "Person Display Name" msgstr "" #: src/properties.cpp:991 msgid "Name of the person (in the given rectangle)" msgstr "" #: src/properties.cpp:992 msgid "Rectangle" msgstr "" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "" #: src/properties.cpp:993 msgid "Person Email Digest" msgstr "" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "" #: src/properties.cpp:994 msgid "Person LiveId CID" msgstr "" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "" #: src/properties.cpp:1001 msgid "Applied To Dimensions" msgstr "" #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "" #: src/properties.cpp:1002 msgid "Region List" msgstr "" #: src/properties.cpp:1002 msgid "List of Region structures" msgstr "" #: src/properties.cpp:1003 msgid "Area" msgstr "" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" #: src/properties.cpp:1007 msgid "Focus Usage" msgstr "" #: src/properties.cpp:1008 msgid "Bar Code Value" msgstr "" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "" #: src/properties.cpp:1009 msgid "Extensions" msgstr "" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "" #: src/properties.cpp:1015 msgid "Main structure containing keyword based information" msgstr "" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "" #: src/properties.cpp:1016 msgid "List of root keyword structures" msgstr "" #: src/properties.cpp:1017 msgid "Keyword" msgstr "" #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "" #: src/properties.cpp:1018 msgid "Applied" msgstr "" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" #: src/properties.cpp:1019 msgid "List of children keyword structures" msgstr "" #: src/properties.cpp:1026 msgid "Use Panorama Viewer" msgstr "" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" #: src/properties.cpp:1027 msgid "Capture Software" msgstr "" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" #: src/properties.cpp:1028 msgid "Stitching Software" msgstr "" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" #: src/properties.cpp:1029 msgid "Projection Type" msgstr "" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "" #: src/properties.cpp:1034 msgid "The pitch angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" #: src/properties.cpp:1037 msgid "First Photo Date" msgstr "" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "" #: src/properties.cpp:1038 msgid "Last Photo Date" msgstr "" #: src/properties.cpp:1038 msgid "Date and time for the last image created in the panorama." msgstr "" #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "" #: src/properties.cpp:1040 msgid "Exposure Lock Used" msgstr "" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" #: src/properties.cpp:1041 msgid "Cropped Area Image Width Pixels" msgstr "" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" #: src/properties.cpp:1042 msgid "Cropped Area Image Height Pixels" msgstr "" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" #: src/properties.cpp:1047 msgid "Initial Camera Dolly" msgstr "" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" #: src/properties.cpp:1055 msgid "Archival Location" msgstr "" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "" #: src/properties.cpp:1056 msgid "Arranger" msgstr "" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "" #: src/properties.cpp:1057 msgid "Arranger Keywords" msgstr "" #: src/properties.cpp:1057 msgid "Information about the Arranger Keywords." msgstr "" #: src/properties.cpp:1059 msgid "Video Aspect Ratio" msgstr "" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "" #: src/properties.cpp:1060 msgid "Video Aspect Ratio Type" msgstr "" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "" #: src/properties.cpp:1062 msgid "Attached File Description" msgstr "" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "" #: src/properties.cpp:1064 msgid "Attached File Name" msgstr "" #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "" #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" #: src/properties.cpp:1068 msgid "Brightness setting." msgstr "" #: src/properties.cpp:1069 msgid "Camera Byte Order" msgstr "" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "" #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "" #: src/properties.cpp:1070 msgid "The video Cinematographer information." msgstr "" #: src/properties.cpp:1071 msgid "Clean Aperture Width" msgstr "" #: src/properties.cpp:1071 msgid "Clean aperture width in pixels" msgstr "" #: src/properties.cpp:1072 msgid "Clean Aperture Height" msgstr "" #: src/properties.cpp:1072 msgid "Clean aperture height in pixels" msgstr "" #: src/properties.cpp:1073 msgid "Video Codec" msgstr "" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" #: src/properties.cpp:1074 msgid "Video Codec Decode Info" msgstr "" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1075 msgid "Video Codec Description" msgstr "" #: src/properties.cpp:1075 src/properties.cpp:1403 msgid "Contains description the codec." msgstr "" #: src/properties.cpp:1076 msgid "Video Codec Information" msgstr "" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL" msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL." msgstr "" #: src/properties.cpp:1078 msgid "Video Codec Settings" msgstr "" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1083 msgid "Comment" msgstr "" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "" #: src/properties.cpp:1084 msgid "Commissioned" msgstr "" #: src/properties.cpp:1084 msgid "Commissioned." msgstr "" #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1086 msgid "Information about the Composer." msgstr "" #: src/properties.cpp:1087 msgid "Composer Keywords" msgstr "" #: src/properties.cpp:1087 msgid "Information about the Composer Keywords." msgstr "" #: src/properties.cpp:1088 msgid "Compressor" msgstr "" #: src/properties.cpp:1088 msgid "Video Compression Library Used" msgstr "" #: src/properties.cpp:1089 msgid "Video Compressor ID" msgstr "" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "" #: src/properties.cpp:1090 msgid "Compressor Version" msgstr "" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "" #: src/properties.cpp:1091 msgid "Container Type" msgstr "" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "" #: src/properties.cpp:1092 msgid "Content Compression Algorithm" msgstr "" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "" #: src/properties.cpp:1097 msgid "Indicates the direction of contrast processing applied by the camera." msgstr "" #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "" #: src/properties.cpp:1100 msgid "Name of the country where the video was created." msgstr "" #: src/properties.cpp:1101 msgid "Creation Date" msgstr "" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" #: src/properties.cpp:1103 msgid "Pixel Crop Bottom" msgstr "" #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "" #: src/properties.cpp:1104 msgid "Pixel Crop Left" msgstr "" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "" #: src/properties.cpp:1105 msgid "Pixel Crop Right" msgstr "" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "" #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "" #: src/properties.cpp:1107 msgid "Pixel Crop Top" msgstr "" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "" #: src/properties.cpp:1108 msgid "Current Time" msgstr "" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "" #: src/properties.cpp:1109 msgid "Data Packets" msgstr "" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "" #: src/properties.cpp:1110 msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "" #: src/properties.cpp:1111 msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" #: src/properties.cpp:1113 msgid "Date-Time Original" msgstr "" #: src/properties.cpp:1113 msgid "Contains the production date" msgstr "" #: src/properties.cpp:1114 msgid "Video Track Default On" msgstr "" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1115 msgid "Indicates the digital zoom ratio when the video was shot." msgstr "" #: src/properties.cpp:1116 msgid "Dimensions" msgstr "" #: src/properties.cpp:1116 msgid "Information about the Dimensions of the video frame." msgstr "" #: src/properties.cpp:1117 msgid "Director" msgstr "" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "" #: src/properties.cpp:1118 msgid "Video Display Unit" msgstr "" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1120 msgid "Doc Type" msgstr "" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" #: src/properties.cpp:1121 msgid "Doc Type Read Version" msgstr "" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" #: src/properties.cpp:1122 msgid "Doc Type Version" msgstr "" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "" #: src/properties.cpp:1124 msgid "The duration of the media file. Measured in milli-seconds." msgstr "" #: src/properties.cpp:1125 msgid "EBML Read Version" msgstr "" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "" #: src/properties.cpp:1126 msgid "EBML Version" msgstr "" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "" #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "" #: src/properties.cpp:1136 msgid "Edited By" msgstr "" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1137 msgid "Video Track Enabled" msgstr "" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels width in pixels" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "" #: src/properties.cpp:1141 msgid "Encoder" msgstr "" #: src/properties.cpp:1141 msgid "Information about the Encoder." msgstr "" #: src/properties.cpp:1142 msgid "End Timecode" msgstr "" #: src/properties.cpp:1143 msgid "Engineer, in most cases name of person." msgstr "" #: src/properties.cpp:1144 msgid "Equipment" msgstr "" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "" #: src/properties.cpp:1145 msgid "Exposure Compensation Information." msgstr "" #: src/properties.cpp:1146 msgid "Exposure Program Information." msgstr "" #: src/properties.cpp:1147 msgid "Exposure time in seconds." msgstr "" #: src/properties.cpp:1148 msgid "Extended Content Description" msgstr "" #: src/properties.cpp:1148 msgid "Extended Content Description, usually found in ASF type files." msgstr "" #: src/properties.cpp:1150 msgid "File ID" msgstr "" #: src/properties.cpp:1150 msgid "File ID." msgstr "" #: src/properties.cpp:1151 msgid "File Length" msgstr "" #: src/properties.cpp:1151 msgid "File length." msgstr "" #: src/properties.cpp:1152 msgid "File Name" msgstr "" #: src/properties.cpp:1152 msgid "File Name or Absolute File Path" msgstr "" #: src/properties.cpp:1153 msgid "File Size" msgstr "" #: src/properties.cpp:1153 msgid "File Size, in MB" msgstr "" #: src/properties.cpp:1154 msgid "File Type" msgstr "" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "" #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "" #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "" #: src/properties.cpp:1158 msgid "Focal length of the lens, in millimeters." msgstr "" #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "" #: src/properties.cpp:1161 msgid "Frame Count" msgstr "" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "" #: src/properties.cpp:1162 msgid "Frame Height" msgstr "" #: src/properties.cpp:1162 msgid "Height of frames in a video" msgstr "" #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" #: src/properties.cpp:1165 msgid "Frame Width" msgstr "" #: src/properties.cpp:1165 msgid "Width of frames in a video" msgstr "" #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "" #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "" #: src/properties.cpp:1171 msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:1172 msgid "Reference for image direction." msgstr "" #: src/properties.cpp:1173 msgid "(North/South). Indicates latitude." msgstr "" #: src/properties.cpp:1174 msgid "(East/West). Indicates longitude." msgstr "" #: src/properties.cpp:1175 msgid "Geodetic survey data." msgstr "" #: src/properties.cpp:1176 msgid "Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:1177 msgid "Time stamp of GPS data, " msgstr "" #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "" #: src/properties.cpp:1179 msgid "Graphics Mode" msgstr "" #: src/properties.cpp:1179 msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" #: src/properties.cpp:1181 msgid "Grouping" msgstr "" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "Handler Description" msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "Handler Type" msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Handler Vendor ID" msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Component manufacturer." msgstr "" #: src/properties.cpp:1186 msgid "Video Height" msgstr "" #: src/properties.cpp:1186 src/properties.cpp:1309 msgid "Video height in pixels" msgstr "" #: src/properties.cpp:1187 msgid "Hue Adjustment Settings Information." msgstr "" #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "" #: src/properties.cpp:1189 msgid "Information Banner Image." msgstr "" #: src/properties.cpp:1190 msgid "Info Banner URL" msgstr "" #: src/properties.cpp:1190 msgid "Information Banner URL." msgstr "" #: src/properties.cpp:1191 msgid "Information" msgstr "" #: src/properties.cpp:1191 msgid "Additional Movie Information." msgstr "" #: src/properties.cpp:1192 msgid "Info Text" msgstr "" #: src/properties.cpp:1192 msgid "Information Text." msgstr "" #: src/properties.cpp:1193 msgid "Info URL" msgstr "" #: src/properties.cpp:1193 msgid "Information URL." msgstr "" #: src/properties.cpp:1194 msgid "Information about the ISO Setting." msgstr "" #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "" #: src/properties.cpp:1196 msgid "Junk Data" msgstr "" #: src/properties.cpp:1196 msgid "Video Junk data" msgstr "" #: src/properties.cpp:1197 msgid "Language." msgstr "" #: src/properties.cpp:1198 msgid "Length" msgstr "" #: src/properties.cpp:1198 msgid "The length of the media file." msgstr "" #: src/properties.cpp:1200 msgid "Lens Type." msgstr "" #: src/properties.cpp:1201 msgid "Lightness" msgstr "" #: src/properties.cpp:1201 msgid "Lightness." msgstr "" #: src/properties.cpp:1202 msgid "Location Information" msgstr "" #: src/properties.cpp:1202 msgid "Location Information." msgstr "" #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "" #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "" #: src/properties.cpp:1204 msgid "Logo URL" msgstr "" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "" #: src/properties.cpp:1205 msgid "Lyrics" msgstr "" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "" #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "" #: src/properties.cpp:1207 msgid "Equipment Make" msgstr "" #: src/properties.cpp:1207 msgid "Manufacturer of recording equipment" msgstr "" #: src/properties.cpp:1208 msgid "Camera Maker Note Type" msgstr "" #: src/properties.cpp:1208 msgid "Maker Note Type of the camera." msgstr "" #: src/properties.cpp:1209 msgid "Camera Maker Note Version" msgstr "" #: src/properties.cpp:1209 msgid "Maker Note Version of the camera." msgstr "" #: src/properties.cpp:1210 msgid "Maker URL" msgstr "" #: src/properties.cpp:1210 msgid "Camera Manufacturer's URL." msgstr "" #: src/properties.cpp:1211 msgid "Smallest F number of lens, in APEX." msgstr "" #: src/properties.cpp:1212 msgid "Maximum Bit Rate" msgstr "" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" #: src/properties.cpp:1213 msgid "Maximum Data Rate" msgstr "" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "Media Track Create Date" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "Media Track Duration" msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "Media Header Version" msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "Media Language Code" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "Media Track Modify Date" msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" #: src/properties.cpp:1220 msgid "Medium." msgstr "" #: src/properties.cpp:1221 msgid "Metadata" msgstr "" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1222 msgid "Metadata Library" msgstr "" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "" #: src/properties.cpp:1223 msgid "Metering mode." msgstr "" #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "" #: src/properties.cpp:1225 msgid "Mime Type" msgstr "" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "" #: src/properties.cpp:1226 msgid "QTime Minor FileType Version" msgstr "" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "" #: src/properties.cpp:1227 msgid "Equipment Model" msgstr "" #: src/properties.cpp:1227 msgid "Model name or number of equipment." msgstr "" #: src/properties.cpp:1228 msgid "Modification Date-Time" msgstr "" #: src/properties.cpp:1228 msgid "Contains the modification date of the video" msgstr "" #: src/properties.cpp:1229 msgid "Movie Header Version" msgstr "" #: src/properties.cpp:1230 msgid "Music By" msgstr "" #: src/properties.cpp:1230 msgid "Music By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1231 msgid "Muxing App" msgstr "" #: src/properties.cpp:1231 msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" #: src/properties.cpp:1232 msgid "Name of song or the event." msgstr "" #: src/properties.cpp:1233 msgid "Next Track ID" msgstr "" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" #: src/properties.cpp:1234 msgid "Number Of Colours" msgstr "" #: src/properties.cpp:1234 msgid "Total number of colours used" msgstr "" #: src/properties.cpp:1235 msgid "Number Of Important Colours" msgstr "" #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1236 msgid "Number Of Parts" msgstr "" #: src/properties.cpp:1236 msgid "Total number of parts in the video." msgstr "" #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" #: src/properties.cpp:1238 msgid "Organization" msgstr "" #: src/properties.cpp:1238 msgid "Name of organization associated with the video." msgstr "" #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" #: src/properties.cpp:1248 msgid "Part" msgstr "" #: src/properties.cpp:1248 msgid "Part." msgstr "" #: src/properties.cpp:1249 msgid "Performers" msgstr "" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "" #: src/properties.cpp:1250 msgid "Performer Keywords" msgstr "" #: src/properties.cpp:1250 msgid "Performer Keywords." msgstr "" #: src/properties.cpp:1251 msgid "Performer URL" msgstr "" #: src/properties.cpp:1251 msgid "Performer's dedicated URL." msgstr "" #: src/properties.cpp:1252 msgid "Picture Control Data" msgstr "" #: src/properties.cpp:1252 msgid "Picture Control Data." msgstr "" #: src/properties.cpp:1253 msgid "Picture Control Version" msgstr "" #: src/properties.cpp:1253 msgid "Picture Control Data Version." msgstr "" #: src/properties.cpp:1254 msgid "Picture Control Name" msgstr "" #: src/properties.cpp:1254 msgid "Picture Control Name." msgstr "" #: src/properties.cpp:1255 msgid "Picture Control Base" msgstr "" #: src/properties.cpp:1255 msgid "Picture Control Data Base." msgstr "" #: src/properties.cpp:1256 msgid "Picture Control Adjust" msgstr "" #: src/properties.cpp:1256 msgid "Picture Control Adjust Information." msgstr "" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjust" msgstr "" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "" #: src/properties.cpp:1258 msgid "Play Selection" msgstr "" #: src/properties.cpp:1258 msgid "Play Selection." msgstr "" #: src/properties.cpp:1259 msgid "Play Mode" msgstr "" #: src/properties.cpp:1259 msgid "Information about the Play Mode." msgstr "" #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "" #: src/properties.cpp:1260 msgid "Contains the information of External media." msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1265 msgid "Planes" msgstr "" #: src/properties.cpp:1265 msgid "The number of Image Planes in the video" msgstr "" #: src/properties.cpp:1266 msgid "Poster Time" msgstr "" #: src/properties.cpp:1266 msgid "The time value of the time of the movie poster." msgstr "" #: src/properties.cpp:1267 msgid "Preferred Rate" msgstr "" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1269 msgid "Preroll" msgstr "" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" #: src/properties.cpp:1272 msgid "Preview Atom Type" msgstr "" #: src/properties.cpp:1272 msgid "Indicates the type of atom that contains the preview data" msgstr "" #: src/properties.cpp:1273 msgid "Preview Date" msgstr "" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "" #: src/properties.cpp:1274 msgid "Preview Duration" msgstr "" #: src/properties.cpp:1274 msgid "The duration of the movie preview in movie time scale units" msgstr "" #: src/properties.cpp:1275 msgid "Preview Time" msgstr "" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "" #: src/properties.cpp:1276 msgid "The version of the movie preview " msgstr "" #: src/properties.cpp:1277 msgid "Produced By" msgstr "" #: src/properties.cpp:1277 msgid "Produced By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1278 msgid "Producer involved with the video." msgstr "" #: src/properties.cpp:1279 msgid "Producer Keywords" msgstr "" #: src/properties.cpp:1279 msgid "Information about the Producer Keywords." msgstr "" #: src/properties.cpp:1280 msgid "Production Aperture Width" msgstr "" #: src/properties.cpp:1280 msgid "Production aperture width in pixels" msgstr "" #: src/properties.cpp:1281 msgid "Production Aperture Height" msgstr "" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "" #: src/properties.cpp:1282 msgid "Production Designer" msgstr "" #: src/properties.cpp:1282 msgid "Information about the Production Designer." msgstr "" #: src/properties.cpp:1283 msgid "Production Studio" msgstr "" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "" #: src/properties.cpp:1284 msgid "Product" msgstr "" #: src/properties.cpp:1284 msgid "Product." msgstr "" #: src/properties.cpp:1286 msgid "Rate" msgstr "" #: src/properties.cpp:1286 msgid "Rate." msgstr "" #: src/properties.cpp:1287 msgid "Rated" msgstr "" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "" #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "" #: src/properties.cpp:1291 msgid "Recording Copyright" msgstr "" #: src/properties.cpp:1291 msgid "Recording Copyright." msgstr "" #: src/properties.cpp:1292 msgid "Requirements" msgstr "" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "" #: src/properties.cpp:1293 msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" #: src/properties.cpp:1294 msgid "Ripped By" msgstr "" #: src/properties.cpp:1294 msgid "Ripped By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1295 msgid "Indicates the direction of saturation processing applied by the camera." msgstr "" #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "" #: src/properties.cpp:1296 msgid "The name of the secondary genre.." msgstr "" #: src/properties.cpp:1297 msgid "Selection Time" msgstr "" #: src/properties.cpp:1297 msgid "The time value for the start time of the current selection." msgstr "" #: src/properties.cpp:1298 msgid "Selection Duration" msgstr "" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "" #: src/properties.cpp:1299 msgid "Send Duration" msgstr "" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "" #: src/properties.cpp:1303 msgid "Software Version" msgstr "" #: src/properties.cpp:1303 msgid "The Version of the software used." msgstr "" #: src/properties.cpp:1304 msgid "Song Writer" msgstr "" #: src/properties.cpp:1304 msgid "The name of the song writer." msgstr "" #: src/properties.cpp:1305 msgid "Song Writer Keywords" msgstr "" #: src/properties.cpp:1305 msgid "Song Writer Keywords." msgstr "" #: src/properties.cpp:1307 msgid "Source Credits" msgstr "" #: src/properties.cpp:1307 msgid "Source Credits." msgstr "" #: src/properties.cpp:1308 msgid "Source Form" msgstr "" #: src/properties.cpp:1308 msgid "Source Form." msgstr "" #: src/properties.cpp:1309 msgid "Source Image Height" msgstr "" #: src/properties.cpp:1310 msgid "Source Image Width" msgstr "" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "" #: src/properties.cpp:1311 msgid "Starring" msgstr "" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "" #: src/properties.cpp:1312 msgid "Start Timecode" msgstr "" #: src/properties.cpp:1313 msgid "Statistics" msgstr "" #: src/properties.cpp:1313 msgid "Statistics." msgstr "" #: src/properties.cpp:1314 msgid "Stream Count" msgstr "" #: src/properties.cpp:1314 msgid "Total Number Of Streams" msgstr "" #: src/properties.cpp:1315 msgid "Stream Name" msgstr "" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "" #: src/properties.cpp:1316 msgid "Stream Quality" msgstr "" #: src/properties.cpp:1316 msgid "General Stream Quality" msgstr "" #: src/properties.cpp:1317 msgid "Stream Sample Rate" msgstr "" #: src/properties.cpp:1318 msgid "Stream Sample Count" msgstr "" #: src/properties.cpp:1319 msgid "Stream Sample Size" msgstr "" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "" #: src/properties.cpp:1320 msgid "Stream Type" msgstr "" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1321 msgid "Subtitles Codec" msgstr "" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "" #: src/properties.cpp:1322 msgid "Subtitle Codec Decode Info" msgstr "" #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1323 msgid "Subtitles Codec Information" msgstr "" #: src/properties.cpp:1323 msgid "Contains additional information about subtitles." msgstr "" #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "" #: src/properties.cpp:1325 msgid "Subtitle Codec Settings" msgstr "" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1327 msgid "Subtitle Track Enabled" msgstr "" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1328 msgid "Subtitle" msgstr "" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "" #: src/properties.cpp:1329 msgid "Subtitle Keywords" msgstr "" #: src/properties.cpp:1329 msgid "Subtitle Keywords." msgstr "" #: src/properties.cpp:1330 msgid "Subtitles Language" msgstr "" #: src/properties.cpp:1330 msgid "The Language in which the subtitles is recorded in." msgstr "" #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1332 msgid "Subtitle Track Lacing" msgstr "" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1333 msgid "Subject. " msgstr "" #: src/properties.cpp:1334 msgid "TapeName." msgstr "" #: src/properties.cpp:1335 msgid "Tag Default Setting" msgstr "" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "" #: src/properties.cpp:1336 msgid "Tag Language" msgstr "" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "" #: src/properties.cpp:1337 msgid "Tag Name" msgstr "" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1338 msgid "Tag String" msgstr "" #: src/properties.cpp:1338 msgid "Information contained in a Tags" msgstr "" #: src/properties.cpp:1339 msgid "Target Type" msgstr "" #: src/properties.cpp:1339 msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "" #: src/properties.cpp:1340 msgid "Technician" msgstr "" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "" #: src/properties.cpp:1341 msgid "Thumbnail Height" msgstr "" #: src/properties.cpp:1341 msgid "Preview Image Thumbnail Height." msgstr "" #: src/properties.cpp:1342 msgid "Preview Image Thumbnail Length." msgstr "" #: src/properties.cpp:1343 msgid "Thumbnail Width" msgstr "" #: src/properties.cpp:1343 msgid "Preview Image Thumbnail Width." msgstr "" #: src/properties.cpp:1344 msgid "Timecode Scale" msgstr "" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "Time Offset" msgstr "" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" #: src/properties.cpp:1346 msgid "Time Scale" msgstr "" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1350 msgid "Toning Effect Settings Applied." msgstr "" #: src/properties.cpp:1351 msgid "Total Frame Count" msgstr "" #: src/properties.cpp:1352 msgid "Number Of Streams" msgstr "" #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1353 msgid "Track" msgstr "" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "" #: src/properties.cpp:1354 msgid "Video Track Create Date" msgstr "" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" #: src/properties.cpp:1355 msgid "Video Track Duration" msgstr "" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced" msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "Track ID" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "Track Header Version" msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "Track Language" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "The Language in which a particular stream is recorded in." msgstr "" #: src/properties.cpp:1361 msgid "Video Track Layer" msgstr "" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" #: src/properties.cpp:1364 msgid "Video Track Modify Date" msgstr "" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" #: src/properties.cpp:1365 msgid "Track Name" msgstr "" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "" #: src/properties.cpp:1366 msgid "Track Number." msgstr "" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "Track Volume" msgstr "" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "" #: src/properties.cpp:1368 msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown Information" msgstr "" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1371 msgid "Video URL" msgstr "" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1372 msgid "Video URN" msgstr "" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1373 msgid "Vari Program" msgstr "" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "" #: src/properties.cpp:1376 msgid "Vendor" msgstr "" #: src/properties.cpp:1376 msgid "The developer of the compressor that generated the compressed data." msgstr "" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "Vendor ID" msgstr "" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" #: src/properties.cpp:1378 msgid "Video Quality" msgstr "" #: src/properties.cpp:1378 msgid "Video Stream Quality" msgstr "" #: src/properties.cpp:1379 msgid "Video Sample Size" msgstr "" #: src/properties.cpp:1379 msgid "Video Stream Sample Size" msgstr "" #: src/properties.cpp:1380 msgid "Video Scan Type" msgstr "" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "" #: src/properties.cpp:1381 msgid "Watermark URL" msgstr "" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "" #: src/properties.cpp:1384 msgid "White Balance Fine Tune." msgstr "" #: src/properties.cpp:1385 msgid "Video Width" msgstr "" #: src/properties.cpp:1386 msgid "Window Location" msgstr "" #: src/properties.cpp:1386 msgid "Information about the Window Location." msgstr "" #: src/properties.cpp:1388 msgid "Written By" msgstr "" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1389 msgid "Writing App" msgstr "" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" #: src/properties.cpp:1390 msgid "Horizontal resolution in pixels per unit." msgstr "" #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "" #: src/properties.cpp:1391 msgid "Year in which the video was made." msgstr "" #: src/properties.cpp:1392 msgid "Vertical resolution in pixels per unit." msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "" #: src/properties.cpp:1398 msgid "Balance" msgstr "" #: src/properties.cpp:1398 msgid "Indicates the left-right balance of the audio" msgstr "" #: src/properties.cpp:1399 msgid "Bits Per Sample/ Bit Rate" msgstr "" #: src/properties.cpp:1399 msgid "Bits per test sample" msgstr "" #: src/properties.cpp:1401 msgid "Audio Codec" msgstr "" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "" #: src/properties.cpp:1402 msgid "Audio Codec Decode Info" msgstr "" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1403 msgid "Audio Codec Description" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL." msgstr "" #: src/properties.cpp:1405 msgid "Audio Codec Information" msgstr "" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" #: src/properties.cpp:1406 msgid "Audio Codec Settings" msgstr "" #: src/properties.cpp:1408 msgid "Audio Default Duration" msgstr "" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "" #: src/properties.cpp:1409 msgid "Audio Default Stream" msgstr "" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "" #: src/properties.cpp:1410 msgid "Audio Track Default On" msgstr "" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "" #: src/properties.cpp:1411 msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1412 msgid "Audio Format" msgstr "" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "" #: src/properties.cpp:1423 msgid "Output Audio Sample Rate" msgstr "" #: src/properties.cpp:1423 msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" #: src/properties.cpp:1424 msgid "Audio Sample Count" msgstr "" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "" #: src/properties.cpp:1427 msgid "Sound Scheme Title" msgstr "" #: src/properties.cpp:1427 msgid "Sound Scheme Title." msgstr "" #: src/properties.cpp:1429 msgid "Audio Track Create Date" msgstr "" #: src/properties.cpp:1430 msgid "Audio Track Duration" msgstr "" #: src/properties.cpp:1431 msgid "Audio Track Forced" msgstr "" #: src/properties.cpp:1431 msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1434 msgid "Audio Track Lacing" msgstr "" #: src/properties.cpp:1434 msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1436 msgid "Audio Track Layer" msgstr "" #: src/properties.cpp:1439 msgid "Audio Track Modify Date" msgstr "" #: src/properties.cpp:1441 msgid "Audio URL" msgstr "" #: src/properties.cpp:1442 msgid "Audio URN" msgstr "" #: src/properties.cpp:1449 msgid "The nature or genre of the resource." msgstr "" #: src/properties.cpp:1450 msgid "Date Modified" msgstr "" #: src/properties.cpp:1450 msgid "Date on which the resource was changed." msgstr "" #: src/properties.cpp:1451 msgid "A language of the resource." msgstr "" #: src/properties.cpp:1452 msgid "License" msgstr "" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" #: src/properties.cpp:1453 msgid "Rights Holder" msgstr "" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" #: src/properties.cpp:1454 msgid "Access Rights" msgstr "" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "" #: src/properties.cpp:1455 msgid "A bibliographic reference for the resource." msgstr "" #: src/properties.cpp:1456 msgid "References" msgstr "" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" #: src/properties.cpp:1459 msgid "*Main structure* containing Darwin Core location based information." msgstr "" #: src/properties.cpp:1468 msgid "Record" msgstr "" #: src/properties.cpp:1469 msgid "*Main structure* containing record based information." msgstr "" #: src/properties.cpp:1472 msgid "Institution ID" msgstr "" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" #: src/properties.cpp:1475 msgid "Collection ID" msgstr "" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" #: src/properties.cpp:1478 msgid "Institution Code" msgstr "" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1481 msgid "Dataset ID" msgstr "" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "" #: src/properties.cpp:1484 msgid "Collection Code" msgstr "" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" #: src/properties.cpp:1487 msgid "Dataset Name" msgstr "" #: src/properties.cpp:1488 msgid "The name identifying the data set from which the record was derived." msgstr "" #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" #: src/properties.cpp:1496 msgid "Information Withheld" msgstr "" #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" #: src/properties.cpp:1502 msgid "Dynamic Properties" msgstr "" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" #: src/properties.cpp:1507 msgid "Occurrence" msgstr "" #: src/properties.cpp:1508 msgid "*Main structure* containing occurrence based information." msgstr "" #: src/properties.cpp:1511 msgid "Occurrence ID" msgstr "" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" #: src/properties.cpp:1514 msgid "Catalog Number" msgstr "" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" #: src/properties.cpp:1517 msgid "Occurrence Details" msgstr "" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "" #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "" #: src/properties.cpp:1521 msgid "Comments or notes about the Occurrence." msgstr "" #: src/properties.cpp:1523 msgid "Record Number" msgstr "" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" #: src/properties.cpp:1526 msgid "Recorded By" msgstr "" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" #: src/properties.cpp:1529 msgid "Individual ID" msgstr "" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" #: src/properties.cpp:1532 msgid "Individual Count" msgstr "" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "" #: src/properties.cpp:1535 msgid "Organism Quantity" msgstr "" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "" #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "" #: src/properties.cpp:1541 msgid "Sex" msgstr "" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1544 msgid "Life Stage" msgstr "" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1547 msgid "Reproductive Condition" msgstr "" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1550 msgid "Behavior" msgstr "" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1559 msgid "Preparations" msgstr "" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" #: src/properties.cpp:1562 msgid "Disposition" msgstr "" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" #: src/properties.cpp:1565 msgid "Other Catalog Numbers" msgstr "" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" #: src/properties.cpp:1568 src/properties.cpp:1607 msgid "Previous Identifications" msgstr "" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" #: src/properties.cpp:1571 msgid "Associated Media" msgstr "" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" #: src/properties.cpp:1574 msgid "Associated References" msgstr "" #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1580 msgid "Associated Sequences" msgstr "" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" #: src/properties.cpp:1588 msgid "Organism" msgstr "" #: src/properties.cpp:1589 msgid "*Main structure* containing organism based information." msgstr "" #: src/properties.cpp:1592 msgid "Organism ID" msgstr "" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1595 msgid "Organism Name" msgstr "" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "" #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1601 msgid "Organism Associated Occurrences" msgstr "" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1604 msgid "Associated Organisms" msgstr "" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" #: src/properties.cpp:1610 msgid "Organism Remarks" msgstr "" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "" #: src/properties.cpp:1615 msgid "Material Sample" msgstr "" #: src/properties.cpp:1616 msgid "*Main structure* containing material sample based information." msgstr "" #: src/properties.cpp:1618 msgid "Living Specimen" msgstr "" #: src/properties.cpp:1619 msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "" #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "" #: src/properties.cpp:1622 msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "" #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "" #: src/properties.cpp:1625 msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "" #: src/properties.cpp:1628 msgid "Material Sample ID" msgstr "" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" #: src/properties.cpp:1634 msgid "*Main structure* containing event based information." msgstr "" #: src/properties.cpp:1636 msgid "Human Observation" msgstr "" #: src/properties.cpp:1637 msgid "*Main structure* containing human observation based information." msgstr "" #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "" #: src/properties.cpp:1640 msgid "*Main structure* containing machine observation based information." msgstr "" #: src/properties.cpp:1643 msgid "Event ID" msgstr "" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1646 msgid "Parent Event ID" msgstr "" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" #: src/properties.cpp:1649 msgid "Event Date" msgstr "" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1652 msgid "Event Earliest Date" msgstr "" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1655 msgid "Event Latest Date" msgstr "" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1658 msgid "Event Time" msgstr "" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "" #: src/properties.cpp:1670 msgid "Month" msgstr "" #: src/properties.cpp:1671 msgid "The ordinal month in which the Event occurred." msgstr "" #: src/properties.cpp:1673 msgid "Day" msgstr "" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "" #: src/properties.cpp:1676 msgid "Verbatim Event Date" msgstr "" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" #: src/properties.cpp:1679 msgid "Habitat" msgstr "" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" #: src/properties.cpp:1685 msgid "Sampling Effort" msgstr "" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "" #: src/properties.cpp:1688 msgid "Sampling Size Value" msgstr "" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" #: src/properties.cpp:1691 msgid "Sampling Size Unit" msgstr "" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" #: src/properties.cpp:1694 msgid "Field Number" msgstr "" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" #: src/properties.cpp:1697 msgid "Field Notes" msgstr "" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "" #: src/properties.cpp:1701 msgid "Comments or notes about the Event." msgstr "" #: src/properties.cpp:1705 msgid "Location Class" msgstr "" #: src/properties.cpp:1706 msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "" #: src/properties.cpp:1709 msgid "Location ID" msgstr "" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" #: src/properties.cpp:1718 msgid "Continent" msgstr "" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "" #: src/properties.cpp:1721 msgid "Water Body" msgstr "" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1724 msgid "Island Group" msgstr "" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1727 msgid "Island" msgstr "" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "" #: src/properties.cpp:1736 msgid "State Province" msgstr "" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1739 msgid "County" msgstr "" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1742 msgid "Municipality" msgstr "" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" #: src/properties.cpp:1745 msgid "Locality" msgstr "" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "" #: src/properties.cpp:1749 msgid "The original textual description of the place." msgstr "" #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1760 msgid "Verbatim Depth" msgstr "" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "" #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1766 msgid "Maximum Depth In Meters" msgstr "" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1775 msgid "Location According To" msgstr "" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" #: src/properties.cpp:1778 msgid "Location Remarks" msgstr "" #: src/properties.cpp:1779 msgid "Comments or notes about the Location." msgstr "" #: src/properties.cpp:1781 msgid "Verbatim Coordinates" msgstr "" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1784 msgid "Verbatim Latitude" msgstr "" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1787 msgid "Verbatim Longitude" msgstr "" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1796 msgid "Decimal Latitude" msgstr "" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" #: src/properties.cpp:1799 msgid "Decimal Longitude" msgstr "" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" #: src/properties.cpp:1802 msgid "Geodetic Datum" msgstr "" #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" #: src/properties.cpp:1808 msgid "Coordinate Precision" msgstr "" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "" #: src/properties.cpp:1812 #, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "" #: src/properties.cpp:1821 #, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" #: src/properties.cpp:1823 msgid "Georeferenced By" msgstr "" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" #: src/properties.cpp:1826 msgid "Georeferenced Date" msgstr "" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" #: src/properties.cpp:1832 msgid "Georeference Sources" msgstr "" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1838 msgid "Georeference Remarks" msgstr "" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" #: src/properties.cpp:1843 msgid "Geological Context" msgstr "" #: src/properties.cpp:1844 msgid "*Main structure* containing geological context based information." msgstr "" #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" #: src/properties.cpp:1889 msgid "Group" msgstr "" #: src/properties.cpp:1890 msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "" #: src/properties.cpp:1892 msgid "Formation" msgstr "" #: src/properties.cpp:1893 msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "" #: src/properties.cpp:1895 msgid "Member" msgstr "" #: src/properties.cpp:1896 msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "" #: src/properties.cpp:1898 msgid "Bed" msgstr "" #: src/properties.cpp:1899 msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "" #: src/properties.cpp:1903 msgid "Identification" msgstr "" #: src/properties.cpp:1904 msgid "*Main structure* containing identification based information." msgstr "" #: src/properties.cpp:1907 msgid "Identification ID" msgstr "" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1910 msgid "Identified By" msgstr "" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" #: src/properties.cpp:1913 msgid "Date Identified" msgstr "" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" #: src/properties.cpp:1916 msgid "Identification References" msgstr "" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" #: src/properties.cpp:1922 msgid "Identification Remarks" msgstr "" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "" #: src/properties.cpp:1925 msgid "Identification Qualifier" msgstr "" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" #: src/properties.cpp:1928 msgid "Type Status" msgstr "" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" #: src/properties.cpp:1933 msgid "Taxon" msgstr "" #: src/properties.cpp:1934 msgid "*Main structure* containing taxonomic based information." msgstr "" #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" #: src/properties.cpp:1949 msgid "Original Name Usage ID" msgstr "" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" #: src/properties.cpp:1961 msgid "Scientific Name" msgstr "" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" #: src/properties.cpp:1967 msgid "Parent Name Usage" msgstr "" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" #: src/properties.cpp:1970 msgid "Original Name Usage" msgstr "" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" #: src/properties.cpp:1973 msgid "Name According To" msgstr "" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" #: src/properties.cpp:1976 msgid "Name Published In" msgstr "" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "" #: src/properties.cpp:1980 msgid "The four-digit year in which the scientificName was published." msgstr "" #: src/properties.cpp:1982 msgid "Higher Classification" msgstr "" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" #: src/properties.cpp:1985 msgid "Kingdom" msgstr "" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "" #: src/properties.cpp:1988 msgid "Phylum" msgstr "" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" #: src/properties.cpp:1991 msgid "Class" msgstr "" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "" #: src/properties.cpp:1994 msgid "Order" msgstr "" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "" #: src/properties.cpp:1997 msgid "Family" msgstr "" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "" #: src/properties.cpp:2000 msgid "Genus" msgstr "" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "" #: src/properties.cpp:2003 msgid "Subgenus" msgstr "" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "" #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" #: src/properties.cpp:2021 msgid "Vernacular Name" msgstr "" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "" #: src/properties.cpp:2024 msgid "Nomenclatural Code" msgstr "" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "" #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "" #: src/properties.cpp:2039 msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "" #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" #: src/properties.cpp:2045 msgid "Resource ID" msgstr "" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "" #: src/properties.cpp:2048 msgid "Related Resource ID" msgstr "" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" #: src/properties.cpp:2051 msgid "Relationship Of Resource" msgstr "" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "" #: src/properties.cpp:2065 msgid "Measurement Or Fact" msgstr "" #: src/properties.cpp:2066 msgid "*Main structure* containing measurement based information." msgstr "" #: src/properties.cpp:2069 msgid "Measurement ID" msgstr "" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:2072 msgid "Measurement Type" msgstr "" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2075 msgid "Measurement Value" msgstr "" #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2078 msgid "Measurement Accuracy" msgstr "" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "" #: src/properties.cpp:2081 msgid "Measurement Unit" msgstr "" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" #: src/properties.cpp:2084 msgid "Measurement Determined Date" msgstr "" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2087 msgid "Measurement Determined By" msgstr "" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" #: src/properties.cpp:2090 msgid "Measurement Method" msgstr "" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2093 msgid "Measurement Remarks" msgstr "" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "" #: src/properties.cpp:2101 msgid "A brief description of the file" msgstr "" #: src/properties.cpp:2102 msgid "Date Time" msgstr "" #: src/properties.cpp:2103 msgid "The name of the author or photographer" msgstr "" #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "" #: src/properties.cpp:2105 msgid "Notes" msgstr "" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "" #: src/properties.cpp:2106 msgid "Tagged" msgstr "" #: src/properties.cpp:2106 msgid "True or False" msgstr "" #: src/properties.cpp:2107 msgid "Categories" msgstr "" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "" #: src/sigmamn.cpp:62 msgid "Resolution Mode" msgstr "" #: src/sigmamn.cpp:63 msgid "Resolution mode" msgstr "" #: src/sigmamn.cpp:65 msgid "Autofocus Mode" msgstr "" #: src/sigmamn.cpp:66 msgid "Autofocus mode" msgstr "" #: src/sigmamn.cpp:68 msgid "Focus Setting" msgstr "" #: src/sigmamn.cpp:69 msgid "Focus setting" msgstr "" #: src/sigmamn.cpp:80 msgid "Lens Range" msgstr "" #: src/sigmamn.cpp:81 msgid "Lens focal length range" msgstr "" #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 msgid "Shadow" msgstr "" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 msgid "Highlight" msgstr "" #: src/sigmamn.cpp:104 msgid "Fill Light" msgstr "" #: src/sigmamn.cpp:105 msgid "X3 Fill light" msgstr "" #: src/sigmamn.cpp:107 msgid "Color Adjustment" msgstr "" #: src/sigmamn.cpp:108 msgid "Color adjustment" msgstr "" #: src/sigmamn.cpp:110 msgid "Adjustment Mode" msgstr "" #: src/sigmamn.cpp:111 msgid "Adjustment mode" msgstr "" #: src/sigmamn.cpp:122 msgid "Auto Bracket" msgstr "" #: src/sigmamn.cpp:123 src/tags.cpp:1497 msgid "Auto bracket" msgstr "" #: src/sigmamn.cpp:127 msgid "Unknown SigmaMakerNote tag" msgstr "" #: src/sigmamn.cpp:170 msgid "8-Segment" msgstr "" #: src/sonymn.cpp:131 msgid "Advanced Lv1" msgstr "" #: src/sonymn.cpp:132 msgid "Advanced Lv2" msgstr "" #: src/sonymn.cpp:133 msgid "Advanced Lv3" msgstr "" #: src/sonymn.cpp:134 msgid "Advanced Lv4" msgstr "" #: src/sonymn.cpp:135 msgid "Advanced Lv5" msgstr "" #: src/sonymn.cpp:154 msgid "Night Scene / Twilight" msgstr "" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "" #: src/sonymn.cpp:156 msgid "Twilight Portrait" msgstr "" #: src/sonymn.cpp:157 msgid "Soft Snap / Portrait" msgstr "" #: src/sonymn.cpp:159 msgid "Smile Shutter" msgstr "" #: src/sonymn.cpp:161 msgid "High Sensitivity" msgstr "" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "" #: src/sonymn.cpp:166 msgid "Sweep Panorama" msgstr "" #: src/sonymn.cpp:168 msgid "Anti Motion Blur" msgstr "" #: src/sonymn.cpp:170 msgid "Backlight Correction HDR" msgstr "" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "" #: src/sonymn.cpp:172 msgid "Background Defocus" msgstr "" #: src/sonymn.cpp:173 msgid "Soft Skin" msgstr "" #: src/sonymn.cpp:174 msgid "3D Image" msgstr "" #: src/sonymn.cpp:189 msgid "On (Continuous)" msgstr "" #: src/sonymn.cpp:190 msgid "On (Shooting)" msgstr "" #: src/sonymn.cpp:198 msgid "Plus" msgstr "" #: src/sonymn.cpp:214 msgid "White Flourescent" msgstr "" #: src/sonymn.cpp:215 msgid "Cool White Flourescent" msgstr "" #: src/sonymn.cpp:216 msgid "Day White Flourescent" msgstr "" #: src/sonymn.cpp:217 msgid "Incandescent2" msgstr "" #: src/sonymn.cpp:218 msgid "Warm White Fluorescent" msgstr "" #: src/sonymn.cpp:221 msgid "Underwater 1 (Blue Water)" msgstr "" #: src/sonymn.cpp:222 msgid "Underwater 2 (Green Water)" msgstr "" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "" #: src/sonymn.cpp:237 msgid "Center AF" msgstr "" #: src/sonymn.cpp:238 msgid "Spot AF" msgstr "" #: src/sonymn.cpp:239 msgid "Flexible Spot AF" msgstr "" #: src/sonymn.cpp:240 msgid "Touch AF" msgstr "" #: src/sonymn.cpp:241 msgid "Manual Focus" msgstr "" #: src/sonymn.cpp:242 msgid "Face Detected" msgstr "" #: src/sonymn.cpp:257 msgid "Close Focus" msgstr "" #: src/sonymn.cpp:347 src/sonymn.cpp:348 msgid "Multi Burst Mode" msgstr "" #: src/sonymn.cpp:350 src/sonymn.cpp:351 msgid "Multi Burst Image Width" msgstr "" #: src/sonymn.cpp:353 src/sonymn.cpp:354 msgid "Multi Burst Image Height" msgstr "" #: src/sonymn.cpp:364 msgid "JPEG preview image" msgstr "" #: src/sonymn.cpp:390 msgid "Auto HDR" msgstr "" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "" #: src/sonymn.cpp:395 msgid "Shot Information" msgstr "" #: src/sonymn.cpp:400 src/sonymn.cpp:401 msgid "Sony Model ID" msgstr "" #: src/sonymn.cpp:403 src/sonymn.cpp:404 msgid "Color Reproduction" msgstr "" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 msgid "Dynamic Range Optimizer" msgstr "" #: src/sonymn.cpp:427 src/sonymn.cpp:428 msgid "Minolta MakerNote" msgstr "" #: src/sonymn.cpp:433 src/sonymn.cpp:434 msgid "Full Image Size" msgstr "" #: src/sonymn.cpp:436 msgid "Preview Image Size" msgstr "" #: src/sonymn.cpp:437 msgid "Preview image size" msgstr "" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 msgid "AF Illuminator" msgstr "" #: src/sonymn.cpp:454 src/sonymn.cpp:455 msgid "JPEG Quality" msgstr "" #: src/sonymn.cpp:460 src/sonymn.cpp:461 msgid "Release Mode" msgstr "" #: src/sonymn.cpp:464 msgid "Shot number in continuous burst mode" msgstr "" #: src/sonymn.cpp:466 src/sonymn.cpp:467 msgid "Anti-Blur" msgstr "" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 msgid "Long Exposure Noise Reduction" msgstr "" #: src/sonymn.cpp:475 src/sonymn.cpp:476 msgid "Intelligent Auto" msgstr "" #: src/sonymn.cpp:483 msgid "Unknown Sony1MakerNote tag" msgstr "" #: src/sonymn.cpp:497 msgid "Continuous High" msgstr "" #: src/sonymn.cpp:501 msgid "Continuous Low" msgstr "" #: src/sonymn.cpp:503 src/sonymn.cpp:504 msgid "D-Range Optimizer Bracketing Low" msgstr "" #: src/sonymn.cpp:536 msgid "Autumn" msgstr "" #: src/sonymn.cpp:542 msgid "ADI" msgstr "" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "" #: src/sonymn.cpp:578 msgid "Auto No Flash" msgstr "" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 msgid "Dynamic Range Optimizer Level" msgstr "" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 msgid "Creative Style" msgstr "" #: src/sonymn.cpp:648 src/sonymn.cpp:649 msgid "Zone Matching Value" msgstr "" #: src/sonymn.cpp:666 src/sonymn.cpp:667 msgid "AF With Shutter" msgstr "" #: src/sonymn.cpp:674 src/sonymn.cpp:675 msgid "High ISO NoiseReduction" msgstr "" #: src/sonymn.cpp:678 src/sonymn.cpp:679 msgid "Image Style" msgstr "" #: src/sonymn.cpp:704 msgid "Unknown Sony1 Camera Settings tag" msgstr "" #: src/sonymn.cpp:768 msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "" #: src/tags.cpp:188 msgid "Unknown section" msgstr "" #: src/tags.cpp:189 msgid "Image data structure" msgstr "" #: src/tags.cpp:190 msgid "Recording offset" msgstr "" #: src/tags.cpp:191 msgid "Image data characteristics" msgstr "" #: src/tags.cpp:192 msgid "Other data" msgstr "" #: src/tags.cpp:193 msgid "Exif data structure" msgstr "" #: src/tags.cpp:195 msgid "Image configuration" msgstr "" #: src/tags.cpp:196 msgid "User information" msgstr "" #: src/tags.cpp:197 msgid "Related file" msgstr "" #: src/tags.cpp:198 msgid "Date and time" msgstr "" #: src/tags.cpp:199 msgid "Picture taking conditions" msgstr "" #: src/tags.cpp:200 msgid "GPS information" msgstr "" #: src/tags.cpp:201 msgid "Interoperability information" msgstr "" #: src/tags.cpp:202 msgid "Vendor specific information" msgstr "" #: src/tags.cpp:203 msgid "Adobe DNG tags" msgstr "" #: src/tags.cpp:204 msgid "Panasonic RAW tags" msgstr "" #: src/tags.cpp:205 msgid "TIFF/EP tags" msgstr "" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "" #: src/tags.cpp:207 msgid "Adobe OPI tags" msgstr "" #: src/tags.cpp:208 msgid "Last section" msgstr "" #: src/tags.cpp:224 msgid "Primary image" msgstr "" #: src/tags.cpp:225 msgid "Thumbnail/Preview image" msgstr "" #: src/tags.cpp:226 msgid "Primary image, Multi page file" msgstr "" #: src/tags.cpp:227 msgid "Thumbnail/Preview image, Multi page file" msgstr "" #: src/tags.cpp:228 msgid "Primary image, Transparency mask" msgstr "" #: src/tags.cpp:229 msgid "Thumbnail/Preview image, Transparency mask" msgstr "" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "" #: src/tags.cpp:237 msgid "Full-resolution image data" msgstr "" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "" #: src/tags.cpp:245 msgid "inch" msgstr "" #: src/tags.cpp:252 msgid "CCITT RLE" msgstr "" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "" #: src/tags.cpp:255 msgid "LZW" msgstr "" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "" #: src/tags.cpp:257 msgid "JPEG" msgstr "" #: src/tags.cpp:258 msgid "Adobe Deflate" msgstr "" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "" #: src/tags.cpp:260 msgid "JBIG Color" msgstr "" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "" #: src/tags.cpp:262 msgid "Epson ERF Compressed" msgstr "" #: src/tags.cpp:263 msgid "Samsung SRW Compressed" msgstr "" #: src/tags.cpp:264 msgid "CCITT RLE 1-word" msgstr "" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "" #: src/tags.cpp:269 msgid "IT8 Monochrome Picture" msgstr "" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "" #: src/tags.cpp:273 msgid "Pixar Deflate" msgstr "" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "" #: src/tags.cpp:275 msgid "ISO JBIG" msgstr "" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "" #: src/tags.cpp:279 msgid "Nikon NEF Compressed" msgstr "" #: src/tags.cpp:280 msgid "Kodak DCR Compressed" msgstr "" #: src/tags.cpp:281 msgid "Pentax PEF Compressed" msgstr "" #: src/tags.cpp:286 msgid "White Is Zero" msgstr "" #: src/tags.cpp:287 msgid "Black Is Zero" msgstr "" #: src/tags.cpp:288 msgid "RGB" msgstr "" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "" #: src/tags.cpp:290 msgid "Transparency Mask" msgstr "" #: src/tags.cpp:291 src/tags.cpp:330 msgid "CMYK" msgstr "" #: src/tags.cpp:292 msgid "YCbCr" msgstr "" #: src/tags.cpp:293 msgid "CIELab" msgstr "" #: src/tags.cpp:294 msgid "ICCLab" msgstr "" #: src/tags.cpp:295 msgid "ITULab" msgstr "" #: src/tags.cpp:296 msgid "Color Filter Array" msgstr "" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "" #: src/tags.cpp:306 msgid "Randomized process" msgstr "" #: src/tags.cpp:311 msgid "top, left" msgstr "" #: src/tags.cpp:312 msgid "top, right" msgstr "" #: src/tags.cpp:313 msgid "bottom, right" msgstr "" #: src/tags.cpp:314 msgid "bottom, left" msgstr "" #: src/tags.cpp:315 msgid "left, top" msgstr "" #: src/tags.cpp:316 msgid "right, top" msgstr "" #: src/tags.cpp:317 msgid "right, bottom" msgstr "" #: src/tags.cpp:318 src/tags.cpp:319 msgid "left, bottom" msgstr "" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "" #: src/tags.cpp:325 msgid "Horizontal differencing" msgstr "" #: src/tags.cpp:331 msgid "not CMYK" msgstr "" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "" #: src/tags.cpp:339 src/tags.cpp:340 msgid "Undefined data format" msgstr "" #: src/tags.cpp:345 msgid "Not indexed" msgstr "" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "" #: src/tags.cpp:351 msgid "A" msgstr "" #: src/tags.cpp:352 msgid "B" msgstr "" #: src/tags.cpp:353 msgid "C" msgstr "" #: src/tags.cpp:354 msgid "A+B-C" msgstr "" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "" #: src/tags.cpp:362 msgid "Centered" msgstr "" #: src/tags.cpp:363 msgid "Co-sited" msgstr "" #: src/tags.cpp:368 msgid "No flash" msgstr "" #: src/tags.cpp:370 msgid "Fired, return light not detected" msgstr "" #: src/tags.cpp:371 msgid "Fired, return light detected" msgstr "" #: src/tags.cpp:372 msgid "Yes, did not fire" msgstr "" #: src/tags.cpp:373 msgid "Yes, compulsory" msgstr "" #: src/tags.cpp:374 msgid "Yes, compulsory, return light not detected" msgstr "" #: src/tags.cpp:375 msgid "Yes, compulsory, return light detected" msgstr "" #: src/tags.cpp:376 msgid "No, compulsory" msgstr "" #: src/tags.cpp:377 msgid "No, did not fire, return light not detected" msgstr "" #: src/tags.cpp:378 msgid "No, auto" msgstr "" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "" #: src/tags.cpp:380 msgid "Yes, auto, return light not detected" msgstr "" #: src/tags.cpp:381 msgid "Yes, auto, return light detected" msgstr "" #: src/tags.cpp:382 msgid "No flash function" msgstr "" #: src/tags.cpp:383 msgid "No, no flash function" msgstr "" #: src/tags.cpp:384 msgid "Yes, red-eye reduction" msgstr "" #: src/tags.cpp:385 msgid "Yes, red-eye reduction, return light not detected" msgstr "" #: src/tags.cpp:386 msgid "Yes, red-eye reduction, return light detected" msgstr "" #: src/tags.cpp:387 msgid "Yes, compulsory, red-eye reduction" msgstr "" #: src/tags.cpp:388 msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "" #: src/tags.cpp:389 msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "" #: src/tags.cpp:390 msgid "No, red-eye reduction" msgstr "" #: src/tags.cpp:391 msgid "No, auto, red-eye reduction" msgstr "" #: src/tags.cpp:392 msgid "Yes, auto, red-eye reduction" msgstr "" #: src/tags.cpp:393 msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "" #: src/tags.cpp:394 msgid "Yes, auto, red-eye reduction, return light detected" msgstr "" #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "" #: src/tags.cpp:408 msgid "Processing Software" msgstr "" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "" #: src/tags.cpp:412 msgid "New Subfile Type" msgstr "" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "" #: src/tags.cpp:415 msgid "Subfile Type" msgstr "" #: src/tags.cpp:416 msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "" #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" #: src/tags.cpp:425 msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" #: src/tags.cpp:428 msgid "Bits per Sample" msgstr "" #: src/tags.cpp:429 msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" #: src/tags.cpp:444 msgid "Thresholding" msgstr "" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" #: src/tags.cpp:448 msgid "Cell Width" msgstr "" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" #: src/tags.cpp:452 msgid "Cell Length" msgstr "" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" #: src/tags.cpp:456 msgid "Fill Order" msgstr "" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "" #: src/tags.cpp:459 msgid "Document Name" msgstr "" #: src/tags.cpp:460 msgid "The name of the document from which this image was scanned" msgstr "" #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" #: src/tags.cpp:470 msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "" #: src/tags.cpp:491 msgid "Samples per Pixel" msgstr "" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" #: src/tags.cpp:502 msgid "Strip Byte Count" msgstr "" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" #: src/tags.cpp:506 msgid "X-Resolution" msgstr "" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" #: src/tags.cpp:510 msgid "Y-Resolution" msgstr "" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" #: src/tags.cpp:520 msgid "Gray Response Unit" msgstr "" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "" #: src/tags.cpp:523 msgid "Gray Response Curve" msgstr "" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "" #: src/tags.cpp:526 msgid "T4 Options" msgstr "" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "" #: src/tags.cpp:529 msgid "T6 Options" msgstr "" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "" #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" #: src/tags.cpp:537 msgid "Page Number" msgstr "" #: src/tags.cpp:538 msgid "The page number of the page from which this image was scanned." msgstr "" #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" #: src/tags.cpp:546 msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" #: src/tags.cpp:553 msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" #: src/tags.cpp:557 msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" #: src/tags.cpp:564 msgid "Host Computer" msgstr "" #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" #: src/tags.cpp:568 msgid "Predictor" msgstr "" #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" #: src/tags.cpp:573 msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" #: src/tags.cpp:578 msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" #: src/tags.cpp:582 msgid "Color Map" msgstr "" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" #: src/tags.cpp:593 msgid "Tile Width" msgstr "" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "" #: src/tags.cpp:596 msgid "Tile Length" msgstr "" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "" #: src/tags.cpp:599 msgid "Tile Offsets" msgstr "" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" #: src/tags.cpp:605 msgid "Tile Byte Counts" msgstr "" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" #: src/tags.cpp:609 msgid "SubIFD Offsets" msgstr "" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "" #: src/tags.cpp:612 msgid "Ink Set" msgstr "" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:615 msgid "Ink Names" msgstr "" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:618 msgid "Number Of Inks" msgstr "" #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" #: src/tags.cpp:621 msgid "Dot Range" msgstr "" #: src/tags.cpp:622 #, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "" #: src/tags.cpp:624 msgid "Target Printer" msgstr "" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "" #: src/tags.cpp:627 msgid "Extra Samples" msgstr "" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" #: src/tags.cpp:631 msgid "Sample Format" msgstr "" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "" #: src/tags.cpp:634 msgid "SMin Sample Value" msgstr "" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "" #: src/tags.cpp:637 msgid "SMax Sample Value" msgstr "" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "" #: src/tags.cpp:640 msgid "Transfer Range" msgstr "" #: src/tags.cpp:641 msgid "Expands the range of the TransferFunction" msgstr "" #: src/tags.cpp:643 msgid "Clip Path" msgstr "" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" #: src/tags.cpp:647 msgid "X Clip Path Units" msgstr "" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:651 msgid "Y Clip Path Units" msgstr "" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" #: src/tags.cpp:660 msgid "JPEG tables" msgstr "" #: src/tags.cpp:661 msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" #: src/tags.cpp:668 msgid "JPEG Process" msgstr "" #: src/tags.cpp:669 msgid "This field indicates the process used to produce the compressed data" msgstr "" #: src/tags.cpp:671 msgid "JPEG Interchange Format" msgstr "" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" #: src/tags.cpp:675 msgid "JPEG Interchange Format Length" msgstr "" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "" #: src/tags.cpp:684 msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "" #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "" #: src/tags.cpp:694 msgid "JPEG Q-Tables" msgstr "" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" #: src/tags.cpp:698 msgid "JPEG DC-Tables" msgstr "" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" #: src/tags.cpp:702 msgid "JPEG AC-Tables" msgstr "" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" #: src/tags.cpp:707 msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" #: src/tags.cpp:715 msgid "YCbCr Sub-Sampling" msgstr "" #: src/tags.cpp:716 msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" #: src/tags.cpp:735 msgid "Reference Black/White" msgstr "" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" #: src/tags.cpp:743 msgid "XML Packet" msgstr "" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "" #: src/tags.cpp:746 msgid "Windows Rating" msgstr "" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "" #: src/tags.cpp:749 msgid "Windows Rating Percent" msgstr "" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "" #: src/tags.cpp:752 msgid "Image ID" msgstr "" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" #: src/tags.cpp:770 msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" #: src/tags.cpp:789 msgid "Exposure time, given in seconds." msgstr "" #: src/tags.cpp:790 src/tags.cpp:1553 msgid "The F number." msgstr "" #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "" #: src/tags.cpp:794 msgid "Image Resources Block" msgstr "" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "" #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" #: src/tags.cpp:803 msgid "Inter Color Profile" msgstr "" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" #: src/tags.cpp:807 msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "" #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" #: src/tags.cpp:813 src/tags.cpp:1564 msgid "ISO Speed Ratings" msgstr "" #: src/tags.cpp:813 src/tags.cpp:1565 msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" #: src/tags.cpp:814 msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" #: src/tags.cpp:815 msgid "Interlace" msgstr "" #: src/tags.cpp:815 msgid "Indicates the field number of multifield images." msgstr "" #: src/tags.cpp:816 msgid "Time Zone Offset" msgstr "" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" #: src/tags.cpp:823 msgid "Self Timer Mode" msgstr "" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "" #: src/tags.cpp:824 msgid "Date Time Original" msgstr "" #: src/tags.cpp:824 msgid "The date and time when the original image data was generated." msgstr "" #: src/tags.cpp:825 msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "" #: src/tags.cpp:826 msgid "Shutter speed." msgstr "" #: src/tags.cpp:827 msgid "The lens aperture." msgstr "" #: src/tags.cpp:828 msgid "The value of brightness." msgstr "" #: src/tags.cpp:829 msgid "The exposure bias." msgstr "" #: src/tags.cpp:830 src/tags.cpp:1645 msgid "Max Aperture Value" msgstr "" #: src/tags.cpp:830 msgid "The smallest F number of the lens." msgstr "" #: src/tags.cpp:831 src/tags.cpp:1651 msgid "The distance to the subject, given in meters." msgstr "" #: src/tags.cpp:832 src/tags.cpp:1654 msgid "The metering mode." msgstr "" #: src/tags.cpp:833 src/tags.cpp:1657 msgid "The kind of light source." msgstr "" #: src/tags.cpp:834 msgid "Indicates the status of flash when the image was shot." msgstr "" #: src/tags.cpp:835 msgid "The actual focal length of the lens, in mm." msgstr "" #: src/tags.cpp:836 msgid "Amount of flash energy (BCPS)." msgstr "" #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "" #: src/tags.cpp:838 msgid "Noise" msgstr "" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "" #: src/tags.cpp:839 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" #: src/tags.cpp:840 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" #: src/tags.cpp:841 msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "" #: src/tags.cpp:843 msgid "Security Classification" msgstr "" #: src/tags.cpp:843 msgid "Security classification assigned to the image." msgstr "" #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "" #: src/tags.cpp:845 msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "" #: src/tags.cpp:846 msgid "Encodes the camera exposure index setting when image was captured." msgstr "" #: src/tags.cpp:847 msgid "TIFF/EP Standard ID" msgstr "" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" #: src/tags.cpp:851 msgid "Type of image sensor." msgstr "" #: src/tags.cpp:852 msgid "Windows Title" msgstr "" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:855 msgid "Windows Comment" msgstr "" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:858 msgid "Windows Author" msgstr "" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:861 msgid "Windows Keywords" msgstr "" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:864 msgid "Windows Subject" msgstr "" #: src/tags.cpp:865 msgid "Subject tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:867 msgid "Print Image Matching" msgstr "" #: src/tags.cpp:868 msgid "Print Image Matching, description needed." msgstr "" #: src/tags.cpp:870 msgid "DNG version" msgstr "" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" #: src/tags.cpp:875 msgid "DNG backward version" msgstr "" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" #: src/tags.cpp:884 msgid "Unique Camera Model" msgstr "" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" #: src/tags.cpp:892 msgid "Localized Camera Model" msgstr "" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" #: src/tags.cpp:897 msgid "CFA Plane Color" msgstr "" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" #: src/tags.cpp:902 msgid "CFA Layout" msgstr "" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "" #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" #: src/tags.cpp:912 msgid "Black Level Repeat Dim" msgstr "" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "" #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" #: src/tags.cpp:921 msgid "Black Level Delta H" msgstr "" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" #: src/tags.cpp:928 msgid "Black Level Delta V" msgstr "" #: src/tags.cpp:929 msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" #: src/tags.cpp:935 msgid "White Level" msgstr "" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" #: src/tags.cpp:941 msgid "Default Scale" msgstr "" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" #: src/tags.cpp:957 msgid "Default Crop Size" msgstr "" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" #: src/tags.cpp:964 msgid "Color Matrix 1" msgstr "" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" #: src/tags.cpp:971 msgid "Color Matrix 2" msgstr "" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" #: src/tags.cpp:977 msgid "Camera Calibration 1" msgstr "" #: src/tags.cpp:978 msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:987 msgid "Camera Calibration 2" msgstr "" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:997 msgid "Reduction Matrix 1" msgstr "" #: src/tags.cpp:998 msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1004 msgid "Reduction Matrix 2" msgstr "" #: src/tags.cpp:1005 msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1011 msgid "Analog Balance" msgstr "" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" #: src/tags.cpp:1021 msgid "As Shot Neutral" msgstr "" #: src/tags.cpp:1022 msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" #: src/tags.cpp:1027 msgid "As Shot White XY" msgstr "" #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" #: src/tags.cpp:1032 msgid "Baseline Exposure" msgstr "" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" #: src/tags.cpp:1047 msgid "Baseline Noise" msgstr "" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" #: src/tags.cpp:1054 msgid "Baseline Sharpness" msgstr "" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" #: src/tags.cpp:1061 msgid "Bayer Green Split" msgstr "" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" #: src/tags.cpp:1070 msgid "Linear Response Limit" msgstr "" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" #: src/tags.cpp:1079 msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" #: src/tags.cpp:1082 msgid "Lens Info" msgstr "" #: src/tags.cpp:1083 msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" #: src/tags.cpp:1095 msgid "Anti Alias Strength" msgstr "" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" #: src/tags.cpp:1102 msgid "Shadow Scale" msgstr "" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" #: src/tags.cpp:1106 msgid "DNG Private Data" msgstr "" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" #: src/tags.cpp:1111 msgid "MakerNote Safety" msgstr "" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" #: src/tags.cpp:1119 msgid "Calibration Illuminant 1" msgstr "" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" #: src/tags.cpp:1125 msgid "Calibration Illuminant 2" msgstr "" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" #: src/tags.cpp:1132 msgid "Best Quality Scale" msgstr "" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" #: src/tags.cpp:1140 msgid "Raw Data Unique ID" msgstr "" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" #: src/tags.cpp:1149 msgid "Original Raw File Name" msgstr "" #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" #: src/tags.cpp:1153 msgid "Original Raw File Data" msgstr "" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" #: src/tags.cpp:1164 msgid "Active Area" msgstr "" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" #: src/tags.cpp:1168 msgid "Masked Areas" msgstr "" #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" #: src/tags.cpp:1176 msgid "As-Shot ICC Profile" msgstr "" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" #: src/tags.cpp:1188 msgid "As-Shot Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" #: src/tags.cpp:1198 msgid "Current ICC Profile" msgstr "" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1205 msgid "Current Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1212 msgid "Colorimetric Reference" msgstr "" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" #: src/tags.cpp:1220 msgid "Camera Calibration Signature" msgstr "" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" #: src/tags.cpp:1227 msgid "Profile Calibration Signature" msgstr "" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" #: src/tags.cpp:1234 msgid "As Shot Profile Name" msgstr "" #: src/tags.cpp:1235 msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" #: src/tags.cpp:1238 msgid "Noise Reduction Applied" msgstr "" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" #: src/tags.cpp:1246 msgid "Profile Name" msgstr "" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1279 msgid "Profile Tone Curve" msgstr "" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" #: src/tags.cpp:1288 msgid "Profile Embed Policy" msgstr "" #: src/tags.cpp:1289 msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" #: src/tags.cpp:1292 msgid "Profile Copyright" msgstr "" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" #: src/tags.cpp:1297 msgid "Forward Matrix 1" msgstr "" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" #: src/tags.cpp:1301 msgid "Forward Matrix 2" msgstr "" #: src/tags.cpp:1305 msgid "Preview Application Name" msgstr "" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" #: src/tags.cpp:1309 msgid "Preview Application Version" msgstr "" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" #: src/tags.cpp:1313 msgid "Preview Settings Name" msgstr "" #: src/tags.cpp:1314 msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" #: src/tags.cpp:1317 msgid "Preview Settings Digest" msgstr "" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" #: src/tags.cpp:1321 msgid "Preview Color Space" msgstr "" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" #: src/tags.cpp:1326 msgid "Preview Date Time" msgstr "" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" #: src/tags.cpp:1331 msgid "Raw Image Digest" msgstr "" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" #: src/tags.cpp:1337 msgid "Original Raw File Digest" msgstr "" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" #: src/tags.cpp:1387 msgid "Noise Profile" msgstr "" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" #: src/tags.cpp:1396 src/tags.cpp:1397 msgid "Unknown IFD tag" msgstr "" #: src/tags.cpp:1408 src/tags.cpp:1466 msgid "Not defined" msgstr "" #: src/tags.cpp:1413 msgid "Creative program" msgstr "" #: src/tags.cpp:1414 msgid "Action program" msgstr "" #: src/tags.cpp:1415 msgid "Portrait mode" msgstr "" #: src/tags.cpp:1416 msgid "Landscape mode" msgstr "" #: src/tags.cpp:1425 msgid "Multi-spot" msgstr "" #: src/tags.cpp:1437 msgid "Tungsten (incandescent light)" msgstr "" #: src/tags.cpp:1439 msgid "Fine weather" msgstr "" #: src/tags.cpp:1440 msgid "Cloudy weather" msgstr "" #: src/tags.cpp:1442 msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "" #: src/tags.cpp:1443 msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "" #: src/tags.cpp:1444 msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "" #: src/tags.cpp:1445 msgid "White fluorescent (WW 3200 - 3700K)" msgstr "" #: src/tags.cpp:1446 msgid "Standard light A" msgstr "" #: src/tags.cpp:1447 msgid "Standard light B" msgstr "" #: src/tags.cpp:1448 msgid "Standard light C" msgstr "" #: src/tags.cpp:1449 msgid "D55" msgstr "" #: src/tags.cpp:1450 msgid "D65" msgstr "" #: src/tags.cpp:1451 msgid "D75" msgstr "" #: src/tags.cpp:1452 msgid "D50" msgstr "" #: src/tags.cpp:1453 msgid "ISO studio tungsten" msgstr "" #: src/tags.cpp:1454 msgid "Other light source" msgstr "" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "" #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "" #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "" #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "" #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "" #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "" #: src/tags.cpp:1472 msgid "Color sequential linear" msgstr "" #: src/tags.cpp:1477 msgid "Film scanner" msgstr "" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "" #: src/tags.cpp:1479 msgid "Digital still camera" msgstr "" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "" #: src/tags.cpp:1489 msgid "Normal process" msgstr "" #: src/tags.cpp:1490 msgid "Custom process" msgstr "" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "" #: src/tags.cpp:1519 msgid "High gain up" msgstr "" #: src/tags.cpp:1520 msgid "Low gain down" msgstr "" #: src/tags.cpp:1521 msgid "High gain down" msgstr "" #: src/tags.cpp:1542 msgid "Close view" msgstr "" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "" #: src/tags.cpp:1550 msgid "Exposure time, given in seconds (sec)." msgstr "" #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "" #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" #: src/tags.cpp:1573 msgid "Sensitivity Type" msgstr "" #: src/tags.cpp:1574 msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" #: src/tags.cpp:1580 msgid "Standard Output Sensitivity" msgstr "" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1585 msgid "Recommended Exposure Index" msgstr "" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1595 msgid "ISO Speed Latitude yyy" msgstr "" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" #: src/tags.cpp:1600 msgid "ISO Speed Latitude zzz" msgstr "" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" #: src/tags.cpp:1609 msgid "Date and Time (original)" msgstr "" #: src/tags.cpp:1610 msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" #: src/tags.cpp:1613 msgid "Date and Time (digitized)" msgstr "" #: src/tags.cpp:1614 msgid "The date and time when the image was stored as digital data." msgstr "" #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" #: src/tags.cpp:1626 msgid "Compressed Bits per Pixel" msgstr "" #: src/tags.cpp:1627 msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" #: src/tags.cpp:1631 msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "" #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1641 msgid "Exposure Bias" msgstr "" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "" #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" #: src/tags.cpp:1667 msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "" #: src/tags.cpp:1670 msgid "Maker Note" msgstr "" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" #: src/tags.cpp:1679 msgid "Sub-seconds Time" msgstr "" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1682 msgid "Sub-seconds Time Original" msgstr "" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1685 msgid "Sub-seconds Time Digitized" msgstr "" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1688 msgid "FlashPix Version" msgstr "" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "" #: src/tags.cpp:1692 msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" #: src/tags.cpp:1723 msgid "Interoperability IFD Pointer" msgstr "" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" #: src/tags.cpp:1740 msgid "Focal Plane X-Resolution" msgstr "" #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1744 msgid "Focal Plane Y-Resolution" msgstr "" #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" #: src/tags.cpp:1753 msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" #: src/tags.cpp:1759 msgid "Exposure index" msgstr "" #: src/tags.cpp:1760 msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" #: src/tags.cpp:1764 msgid "Indicates the image sensor type on the camera or input device." msgstr "" #: src/tags.cpp:1767 msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" #: src/tags.cpp:1776 msgid "Color Filter Array Pattern" msgstr "" #: src/tags.cpp:1777 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" #: src/tags.cpp:1793 msgid "This tag indicates the white balance mode set when the image was shot." msgstr "" #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" #: src/tags.cpp:1801 msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" #: src/tags.cpp:1807 msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" #: src/tags.cpp:1812 msgid "This tag indicates the degree of overall image gain adjustment." msgstr "" #: src/tags.cpp:1815 msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" #: src/tags.cpp:1819 msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" #: src/tags.cpp:1823 msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" #: src/tags.cpp:1827 msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" #: src/tags.cpp:1832 msgid "This tag indicates the distance to the subject." msgstr "" #: src/tags.cpp:1835 msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" #: src/tags.cpp:1839 msgid "Camera Owner Name" msgstr "" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" #: src/tags.cpp:1843 msgid "Body Serial Number" msgstr "" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1847 msgid "Lens Specification" msgstr "" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" #: src/tags.cpp:1854 msgid "Lens Make" msgstr "" #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "" #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1866 src/tags.cpp:1867 msgid "Unknown Exif tag" msgstr "" #: src/tags.cpp:1878 msgid "North" msgstr "" #: src/tags.cpp:1879 msgid "South" msgstr "" #: src/tags.cpp:1884 msgid "East" msgstr "" #: src/tags.cpp:1885 msgid "West" msgstr "" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "" #: src/tags.cpp:1891 msgid "Below sea level" msgstr "" #: src/tags.cpp:1896 msgid "Measurement in progress" msgstr "" #: src/tags.cpp:1897 msgid "Measurement Interoperability" msgstr "" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "" #: src/tags.cpp:1908 msgid "km/h" msgstr "" #: src/tags.cpp:1909 msgid "mph" msgstr "" #: src/tags.cpp:1910 msgid "knots" msgstr "" #: src/tags.cpp:1915 msgid "True direction" msgstr "" #: src/tags.cpp:1916 msgid "Magnetic direction" msgstr "" #: src/tags.cpp:1921 msgid "Kilometers" msgstr "" #: src/tags.cpp:1922 msgid "Miles" msgstr "" #: src/tags.cpp:1923 msgid "Knots" msgstr "" #: src/tags.cpp:1928 msgid "Without correction" msgstr "" #: src/tags.cpp:1929 msgid "Correction applied" msgstr "" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" #: src/tags.cpp:1941 msgid "GPS Latitude Reference" msgstr "" #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1953 msgid "GPS Longitude Reference" msgstr "" #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" #: src/tags.cpp:1998 msgid "GPS Data Degree of Precision" msgstr "" #: src/tags.cpp:1999 msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" #: src/tags.cpp:2007 msgid "Indicates the speed of GPS receiver movement." msgstr "" #: src/tags.cpp:2009 msgid "GPS Track Ref" msgstr "" #: src/tags.cpp:2010 msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2014 msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2022 msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" #: src/tags.cpp:2029 msgid "GPS Destination Latitude Reference" msgstr "" #: src/tags.cpp:2030 msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" #: src/tags.cpp:2034 msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2041 msgid "GPS Destination Longitude Reference" msgstr "" #: src/tags.cpp:2042 msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" #: src/tags.cpp:2046 msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2057 msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "" #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" #: src/tags.cpp:2065 msgid "Indicates the distance to the destination point." msgstr "" #: src/tags.cpp:2068 msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" #: src/tags.cpp:2076 msgid "GPS Date Stamp" msgstr "" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" #: src/tags.cpp:2081 msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "" #: src/tags.cpp:2084 src/tags.cpp:2085 msgid "Unknown GPSInfo tag" msgstr "" #: src/tags.cpp:2096 msgid "Interoperability Index" msgstr "" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" #: src/tags.cpp:2103 msgid "Interoperability Version" msgstr "" #: src/tags.cpp:2104 msgid "Interoperability version" msgstr "" #: src/tags.cpp:2106 msgid "Related Image File Format" msgstr "" #: src/tags.cpp:2107 msgid "File format of image file" msgstr "" #: src/tags.cpp:2109 msgid "Related Image Width" msgstr "" #: src/tags.cpp:2112 msgid "Related Image Length" msgstr "" #: src/tags.cpp:2116 src/tags.cpp:2117 msgid "Unknown Exif Interoperability tag" msgstr "" #: src/tags.cpp:2128 msgid "Offset" msgstr "" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "" #: src/tags.cpp:2131 msgid "Byte Order" msgstr "" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" #: src/tags.cpp:2135 src/tags.cpp:2136 msgid "Unknown Exiv2 Makernote info tag" msgstr "" #: src/tags.cpp:2146 src/tags.cpp:2147 msgid "Unknown tag" msgstr "" #: src/tags.cpp:2688 msgid "Digital zoom not used" msgstr "" #: src/tiffimage.cpp:2308 msgid "TIFF header, offset" msgstr "" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "" exiv2-0.25/po/vi.po0000664000175000017500000230076112540520175013721 0ustar andreasandreas# Vietnamese translation for exiv2 # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the exiv2 package. # msgid "" msgstr "" "Project-Id-Version: exiv2\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: 2011-04-27 03:48+0000\n" "Last-Translator: Lê Hoàng Phương \n" "Language-Team: Vietnamese \n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2015-05-09 22:59+0000\n" "X-Generator: Launchpad (build 17474)\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 msgid "Failed to open the file\n" msgstr "Thất bại khi mở tập tin\n" #: src/actions.cpp:282 msgid "File name" msgstr "Tên tập tin" #: src/actions.cpp:288 msgid "File size" msgstr "Kích cỡ tập tin" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "" #: src/actions.cpp:293 #, fuzzy msgid "MIME type" msgstr "Kiểu hình ảnh" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 msgid "Image size" msgstr "Kích cỡ hình ảnh" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 #, fuzzy msgid "No Exif data found in the file\n" msgstr "tìm thấy trong tập tin" #: src/actions.cpp:307 #, fuzzy msgid "Camera make" msgstr "Kiểu Ca-me-ra" #: src/actions.cpp:310 msgid "Camera model" msgstr "Kiểu Ca-me-ra" #: src/actions.cpp:313 #, fuzzy msgid "Image timestamp" msgstr "Cập nhật nhãn thời g" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 msgid "Image number" msgstr "Số hiệu ảnh" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 msgid "Exposure time" msgstr "Thời gian phơi sáng" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 msgid "Aperture" msgstr "Khẩu độ" #: src/actions.cpp:345 msgid "Exposure bias" msgstr "Bù trừ ánh sáng" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 msgid "Flash" msgstr "Đèn chớp" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 msgid "Flash bias" msgstr "Bù trừ ánh sáng đèn chớp" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 msgid "Focal length" msgstr "Tiêu cự" #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr "Tương tự 35mm" #: src/actions.cpp:373 msgid "Subject distance" msgstr "Khoảng cách đến vật thể" #: src/actions.cpp:387 msgid "ISO speed" msgstr "Độ nhạy sáng" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 msgid "Exposure mode" msgstr "Chế độ phơi sáng" #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 msgid "Metering mode" msgstr "Chế độ đo đạc" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 msgid "Macro mode" msgstr "Chế độ chụp cận cảnh" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 msgid "Image quality" msgstr "Chất lượng hình ảnh" #: src/actions.cpp:403 #, fuzzy msgid "Exif Resolution" msgstr "Độ phân giải X" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "Cân bằng trắng" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 msgid "Thumbnail" msgstr "Ảnh thu nhỏ" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "Không" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 msgid "Copyright" msgstr "Bản quyền" #: src/actions.cpp:458 #, fuzzy msgid "Exif comment" msgstr "Không tìm thấy chú thích của người dùng Exif nào" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "" #: src/actions.cpp:742 #, fuzzy msgid "JPEG comment" msgstr "Tùy chỉnh bình luạn JPEG" #: src/actions.cpp:767 msgid "Preview" msgstr "Xem lại" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "Các điểm ảnh" #: src/actions.cpp:773 src/actions.cpp:1113 msgid "bytes" msgstr "" #: src/actions.cpp:820 #, fuzzy msgid "Neither tag" msgstr "Dữ liệu khác" #: src/actions.cpp:821 #, fuzzy msgid "nor" msgstr "Trong nhà" #: src/actions.cpp:822 msgid "found in the file" msgstr "tìm thấy trong tập tin" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "" #: src/actions.cpp:833 src/actions.cpp:1590 #, fuzzy msgid "Failed to parse timestamp" msgstr "Ghi hình ảnh thất bại" #: src/actions.cpp:834 msgid "in the file" msgstr "trong tập tin" #: src/actions.cpp:845 #, fuzzy msgid "Updating timestamp to" msgstr "Cập nhật nhãn thời g" #: src/actions.cpp:939 #, fuzzy msgid "Erasing thumbnail data" msgstr "Viết ảnh phác thảo" #: src/actions.cpp:947 #, fuzzy msgid "Erasing Exif data from the file" msgstr "Viết dữ liệu Exif từ" #: src/actions.cpp:956 #, fuzzy msgid "Erasing IPTC data from the file" msgstr "Viết dữ liệu IPTC từ" #: src/actions.cpp:965 #, fuzzy msgid "Erasing JPEG comment from the file" msgstr "Viết chú thích JPEG từ" #: src/actions.cpp:974 #, fuzzy msgid "Erasing XMP data from the file" msgstr "Viết dữ liệu XMP từ" #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "" #: src/actions.cpp:1055 msgid "Writing thumbnail" msgstr "Viết ảnh phác thảo" #: src/actions.cpp:1056 src/actions.cpp:1114 msgid "to file" msgstr "tới tập tin" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "Hình ảnh không có chế độ xem trước" #: src/actions.cpp:1107 msgid "Writing preview" msgstr "Viết bài duyệt trước" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "Tùy chỉnh bình luạn JPEG" #: src/actions.cpp:1319 msgid "Add" msgstr "Thêm" #: src/actions.cpp:1341 src/actions.cpp:1415 msgid "Warning" msgstr "Cảnh báo" #: src/actions.cpp:1342 src/actions.cpp:1416 msgid "Failed to read" msgstr "Đọc thất bại" #: src/actions.cpp:1344 src/actions.cpp:1418 msgid "value" msgstr "Giá trị" #: src/actions.cpp:1355 #, fuzzy msgid "Set" msgstr "Thú cưng" #: src/actions.cpp:1427 msgid "Del" msgstr "Xóa" #: src/actions.cpp:1459 msgid "Reg " msgstr "" #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "" #: src/actions.cpp:1544 #, fuzzy msgid "not set\n" msgstr "Chưa đặt giá trị" #: src/actions.cpp:1549 msgid "Adjusting" msgstr "Thay đổi" #: src/actions.cpp:1549 msgid "by" msgstr "bởi" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "Các năm" #: src/actions.cpp:1556 msgid "year" msgstr "Năm" #: src/actions.cpp:1564 msgid "months" msgstr "Các tháng" #: src/actions.cpp:1567 msgid "month" msgstr "Tháng" #: src/actions.cpp:1575 msgid "days" msgstr "Các ngày" #: src/actions.cpp:1578 msgid "day" msgstr "Ngày" #: src/actions.cpp:1584 msgid "s" msgstr "s" #: src/actions.cpp:1600 msgid "Can't adjust timestamp by" msgstr "" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 msgid "to" msgstr "tới" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "Cài đặt giá trị độ nhạy sáng Exif tới" #: src/actions.cpp:1708 msgid "No Exif user comment found" msgstr "Không tìm thấy chú thích của người dùng Exif nào" #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "Tìm thấy chú thích của người dùng Exif với kiểu giá trị không mong đợi" #: src/actions.cpp:1723 #, fuzzy msgid "No Exif UNICODE user comment found" msgstr "Không tìm thấy chú thích của người dùng Exif nào" #: src/actions.cpp:1729 #, fuzzy msgid "Setting Exif UNICODE user comment to" msgstr "Cài đặt giá trị độ nhạy sáng Exif tới" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "Viết dữ liệu Exif từ" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "Viết dữ liệu IPTC từ" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "Viết dữ liệu XMP từ" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "Viết chú thích JPEG từ" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "Định dạng tên tập tin" #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "Tập tin đã có sẵn tên chính xác" #: src/actions.cpp:1975 src/exiv2.cpp:168 msgid "File" msgstr "Tập tin" #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr "" #: src/actions.cpp:2004 msgid "Renaming file to" msgstr "Đổi tên tập tin thành" #: src/actions.cpp:2006 msgid "updating timestamp" msgstr "Cập nhật nhãn thời g" #: src/actions.cpp:2015 msgid "Failed to rename" msgstr "Đổi tên thất bại" #: src/actions.cpp:2037 msgid "Overwrite" msgstr "Lưu đè" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "Tắt" #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "Bật" #: src/canonmn.cpp:363 msgid "Format 1" msgstr "Định dạng 1" #: src/canonmn.cpp:364 msgid "Format 2" msgstr "Định dạng 2" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 msgid "On (1)" msgstr "Mở (1)" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 msgid "On (2)" msgstr "Mở (2)" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 #, fuzzy msgid "Adobe RGB" msgstr "Thẻ Adobe DNG" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "Không biết" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 msgid "Camera Settings" msgstr "Tùy chỉnh máy ảnh" #: src/canonmn.cpp:383 msgid "Various camera settings" msgstr "Các tùy chỉnh máy ảnh khác nhau" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 msgid "Focal Length" msgstr "Tiêu cự" #: src/canonmn.cpp:386 src/sonymn.cpp:394 msgid "Shot Info" msgstr "Thông tin Chụp" #: src/canonmn.cpp:386 msgid "Shot information" msgstr "Thông tin ảnh ch" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 msgid "Panorama" msgstr "Toàn cảnh" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 msgid "Image Type" msgstr "Kiểu hình ảnh" #: src/canonmn.cpp:388 msgid "Image type" msgstr "Kiểu hình ảnh" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 msgid "Firmware Version" msgstr "Phiên bản phần vững" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 msgid "Firmware version" msgstr "Firmware Version" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 msgid "File Number" msgstr "Tập tin số" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 msgid "File number" msgstr "Tập tin số" #: src/canonmn.cpp:391 msgid "Owner Name" msgstr "Tên chủ sở hữu" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 msgid "Serial Number" msgstr "Chuỗi số" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 msgid "Camera serial number" msgstr "Số thứ tự máy ảnh" #: src/canonmn.cpp:393 msgid "Camera Info" msgstr "Thông tin Máy ảnh" #: src/canonmn.cpp:393 msgid "Camera info" msgstr "Thông tin máy ảnh" #: src/canonmn.cpp:394 src/canonmn.cpp:406 #, fuzzy msgid "Custom Functions" msgstr "Độ bão hòa tùy chỉnh" #: src/canonmn.cpp:395 msgid "ModelID" msgstr "" #: src/canonmn.cpp:395 msgid "Model ID" msgstr "" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 msgid "Picture Info" msgstr "Thông tin hình ảnh" #: src/canonmn.cpp:396 msgid "Picture info" msgstr "Thông tin hình ảnh" #: src/canonmn.cpp:397 #, fuzzy msgid "Thumbnail Image Valid Area" msgstr "Hình ảnh thu nhỏ" #: src/canonmn.cpp:397 #, fuzzy msgid "Thumbnail image valid area" msgstr "Hình ảnh thu nhỏ" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial Number Format" msgstr "Chuỗi số" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial number format" msgstr "Chuỗi số" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 msgid "Super Macro" msgstr "Siêu cận cảnh phóng to" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "Siêu cận cảnh phóng to" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF Info" msgstr "Thông tin Lấy nét tự động" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF info" msgstr "Thông tin lấy nét tự động" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "" #: src/canonmn.cpp:402 msgid "White Balance Table" msgstr "Bảng cân bằng trắng" #: src/canonmn.cpp:402 msgid "White balance table" msgstr "Bảng cân bằng trắng" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 #, fuzzy msgid "Lens Model" msgstr "Kiểu ống kính." #: src/canonmn.cpp:403 src/olympusmn.cpp:753 #, fuzzy msgid "Lens model" msgstr "Kiểu ống kính." #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 #, fuzzy msgid "Internal Serial Number" msgstr "Dãy số bên trong" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 msgid "Internal serial number" msgstr "Dãy số bên trong" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "Dữ liệu loại bỏ bụi" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "Dữ liệu loại bỏ bụi" #: src/canonmn.cpp:406 #, fuzzy msgid "Custom functions" msgstr "Độ bão hòa tùy chỉnh" #: src/canonmn.cpp:407 msgid "Processing Info" msgstr "Xử lý Thông tin" #: src/canonmn.cpp:407 msgid "Processing info" msgstr "Xử lý thông tin" #: src/canonmn.cpp:408 msgid "Measured Color" msgstr "Đo lường Màu sắc" #: src/canonmn.cpp:408 msgid "Measured color" msgstr "Đo lường màu sắc" #: src/canonmn.cpp:409 msgid "ColorSpace" msgstr "Khoảng không gian màu" #: src/canonmn.cpp:413 msgid "VRD Offset" msgstr "" #: src/canonmn.cpp:413 msgid "VRD offset" msgstr "" #: src/canonmn.cpp:414 msgid "Sensor Info" msgstr "Thông tin cảm biến" #: src/canonmn.cpp:414 msgid "Sensor info" msgstr "Thông tin cảm biến" #: src/canonmn.cpp:415 msgid "Color Data" msgstr "Dữ liệu màu" #: src/canonmn.cpp:415 msgid "Color data" msgstr "Dữ liệu màu" #: src/canonmn.cpp:417 #, fuzzy msgid "Unknown CanonMakerNote tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "Kinh tế" #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 msgid "Normal" msgstr "Bình thường" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 msgid "Fine" msgstr "Tốt" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "Nguyên gốc" #: src/canonmn.cpp:437 msgid "Superfine" msgstr "Siêutốt" #: src/canonmn.cpp:438 msgid "Normal Movie" msgstr "Phim bình thường" #: src/canonmn.cpp:439 #, fuzzy msgid "Movie (2)" msgstr "Phim" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 msgid "Auto" msgstr "Tự động" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "Mắt đỏ" #: src/canonmn.cpp:448 msgid "Slow sync" msgstr "Đồng bộ chậm" #: src/canonmn.cpp:449 msgid "Auto + red-eye" msgstr "Tự động + mắt đỏ" #: src/canonmn.cpp:450 msgid "On + red-eye" msgstr "Mở + mắt-đỏ" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 msgid "External" msgstr "Ngoài" #: src/canonmn.cpp:457 #, fuzzy msgid "Single / timer" msgstr "Khung hình đơn" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 msgid "Continuous" msgstr "Liên tục" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 msgid "Movie" msgstr "Phim" #: src/canonmn.cpp:460 msgid "Continuous, speed priority" msgstr "Liên tục, ưu tiên tốc độ" #: src/canonmn.cpp:461 msgid "Continuous, low" msgstr "Liên tục, thấp" #: src/canonmn.cpp:462 msgid "Continuous, high" msgstr "Liên tục, cao" #: src/canonmn.cpp:467 #, fuzzy msgid "One shot AF" msgstr "Mở, chỉ chụp" #: src/canonmn.cpp:468 msgid "AI servo AF" msgstr "" #: src/canonmn.cpp:469 #, fuzzy msgid "AI focus AF" msgstr "Lấy nét tự động" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 msgid "Manual focus" msgstr "Lấy nét tay" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 msgid "Single" msgstr "Đơn" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 #, fuzzy msgid "Pan focus" msgstr "Lấy nét tay" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 msgid "Large" msgstr "Lớn" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 msgid "Medium" msgstr "Trung bình" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 msgid "Small" msgstr "Nhỏ" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 msgid "Medium 1" msgstr "Trung bình 1" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 msgid "Medium 2" msgstr "Trung bình 2" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 msgid "Medium 3" msgstr "Trung bình 3" #: src/canonmn.cpp:490 msgid "Full auto" msgstr "Tự động hoàn toàn" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 msgid "Manual" msgstr "Thủ công" #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 msgid "Landscape" msgstr "Phong cảnh" #: src/canonmn.cpp:493 msgid "Fast shutter" msgstr "Thời gian chập nhanh" #: src/canonmn.cpp:494 msgid "Slow shutter" msgstr "Thời gian chập chậm" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 msgid "Night Scene" msgstr "Cảnh đêm" #: src/canonmn.cpp:496 msgid "Gray scale" msgstr "" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 msgid "Portrait" msgstr "Chân dung" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "Thể thao" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "Cận cảnh phóng to/ Cận cảnh" #: src/canonmn.cpp:501 src/fujimn.cpp:149 msgid "Black & white" msgstr "Đen và trắng" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 msgid "Vivid" msgstr "" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 msgid "Neutral" msgstr "Trung tính" #: src/canonmn.cpp:505 msgid "Flash off" msgstr "Đèn chớp tắt" #: src/canonmn.cpp:506 msgid "Long shutter" msgstr "Thời gian chập dài" #: src/canonmn.cpp:508 msgid "Foliage" msgstr "" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 msgid "Indoor" msgstr "Trong nhà" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 msgid "Fireworks" msgstr "Pháo hoa" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "Bãi biển" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 msgid "Underwater" msgstr "Dưới nước" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "Tuyết" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "Trẻ em và thú cưng" #: src/canonmn.cpp:515 #, fuzzy msgid "Night SnapShot" msgstr "Chân dung đêm" #: src/canonmn.cpp:516 msgid "Digital macro" msgstr "Cận cảnh phóng to điện tử" #: src/canonmn.cpp:517 msgid "My Colors" msgstr "Màu sắc của tôi" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 msgid "Still image" msgstr "Ảnh tĩnh" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 msgid "Other" msgstr "Khác" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 msgid "Low" msgstr "Thấp" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 msgid "High" msgstr "Cao" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "n/a" #: src/canonmn.cpp:540 #, fuzzy msgid "Auto High" msgstr "Tự động (Ánh sáng ngày)" #: src/canonmn.cpp:558 src/sonymn.cpp:235 msgid "Default" msgstr "Mặc định" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 msgid "Spot" msgstr "Xác định" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "Trung bình" #: src/canonmn.cpp:561 msgid "Evaluative" msgstr "Đánh giá" #: src/canonmn.cpp:562 src/tags.cpp:1427 msgid "Partial" msgstr "Bộ phận" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 #, fuzzy msgid "Center weighted" msgstr "Canh giữa" #: src/canonmn.cpp:570 msgid "Not known" msgstr "Không biết" #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "Cận cảnh phóng to" #: src/canonmn.cpp:572 msgid "Very close" msgstr "rất gần" #: src/canonmn.cpp:573 msgid "Close" msgstr "gần" #: src/canonmn.cpp:574 msgid "Middle range" msgstr "" #: src/canonmn.cpp:575 msgid "Far range" msgstr "Khoảng cách xa" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 msgid "Infinity" msgstr "Vô cực" #: src/canonmn.cpp:583 msgid "Manual AF point selection" msgstr "Lựa chọn điểm lấy nét tự động thủ công" #: src/canonmn.cpp:584 msgid "None (MF)" msgstr "Không (MF)" #: src/canonmn.cpp:585 msgid "Auto-selected" msgstr "Tự động-chọn" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 msgid "Right" msgstr "Phải" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 msgid "Center" msgstr "Trung tâm" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 msgid "Left" msgstr "Trái" #: src/canonmn.cpp:589 msgid "Auto AF point selection" msgstr "Tự động chọn điểm lấy nét tự động" #: src/canonmn.cpp:594 msgid "Easy shooting (Auto)" msgstr "Chụp đơn giản (Tự động)" #: src/canonmn.cpp:595 msgid "Program (P)" msgstr "Chương trình (2)" #: src/canonmn.cpp:596 msgid "Shutter priority (Tv)" msgstr "Ưu tiên tốc độ chập (Tv)" #: src/canonmn.cpp:597 msgid "Aperture priority (Av)" msgstr "Ưu tiên khẩu độ (Av)" #: src/canonmn.cpp:598 msgid "Manual (M)" msgstr "Thủ công (M)" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "" #: src/canonmn.cpp:600 msgid "M-DEP" msgstr "" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 msgid "Did not fire" msgstr "" #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 msgid "Fired" msgstr "" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 msgid "External flash" msgstr "Đèn chớp gắn ngoài" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 msgid "Internal flash" msgstr "Đèn chớp trong máy" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "TTL" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "A-TTL" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "E-TTL" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "" #: src/canonmn.cpp:980 #, fuzzy msgid "FP sync used" msgstr "Điểm lấy nét tự động đã sử dụng" #: src/canonmn.cpp:991 #, fuzzy msgid "Normal AE" msgstr "Bình thường" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 msgid "Exposure compensation" msgstr "Độ bù trừ phơi sáng" #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "" #: src/canonmn.cpp:994 #, fuzzy msgid "AE lock + exposure compensation" msgstr "Độ bù trừ phơi sáng" #: src/canonmn.cpp:995 msgid "No AE" msgstr "" #: src/canonmn.cpp:1002 msgid "On, shot only" msgstr "Mở, chỉ chụp" #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 msgid "AF Point" msgstr "Điểm lấy nét tự động" #: src/canonmn.cpp:1016 msgid "Smooth" msgstr "Độ mịn" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "B&W" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 msgid "Custom" msgstr "Tùy chỉnh" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 msgid "My color data" msgstr "Dữ liệu màu sắc của tôi" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 msgid "Full" msgstr "Đầy" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "" #: src/canonmn.cpp:1043 msgid "Selftimer" msgstr "" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 #, fuzzy msgid "Self timer" msgstr "Chân dung" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 msgid "Quality" msgstr "Chất lượng" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 msgid "Flash Mode" msgstr "Chế độ đèn chớp" #: src/canonmn.cpp:1045 msgid "Flash mode setting" msgstr "Tùy chỉnh chế độ đèn chớp" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 #, fuzzy msgid "Drive Mode" msgstr "Chế độ Phim" #: src/canonmn.cpp:1046 #, fuzzy msgid "Drive mode setting" msgstr "Tùy chỉnh chế độ phơi sáng" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 msgid "Focus Mode" msgstr "Chế độ lấy nét" #: src/canonmn.cpp:1048 msgid "Focus mode setting" msgstr "Tùy chỉnh chế độ lấy nét" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 msgid "Image Size" msgstr "Kích cỡ hình ảnh" #: src/canonmn.cpp:1052 msgid "Easy Mode" msgstr "Chế độ dễ dàng" #: src/canonmn.cpp:1052 msgid "Easy shooting mode" msgstr "Chế độ chụp đơn giản" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 msgid "Digital Zoom" msgstr "Thu/phóng điện tử" #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 msgid "Digital zoom" msgstr "Thu/phóng điện tử" #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 msgid "Contrast" msgstr "Tương phản" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 msgid "Contrast setting" msgstr "Tùy chỉnh độ tương phản" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 #, fuzzy msgid "Saturation" msgstr "Thời lượng" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 #, fuzzy msgid "Saturation setting" msgstr "Tùy chỉnh độ tương phản" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 msgid "Sharpness" msgstr "Độ mịn" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 msgid "Sharpness setting" msgstr "Tùy chinh độ mịn" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 msgid "ISO Speed Mode" msgstr "Chế độ nhạy sáng" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 msgid "ISO speed setting" msgstr "Tuỳ chỉnh chế độ nhạy sáng" #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 msgid "Metering Mode" msgstr "Chế độ đo đạc" #: src/canonmn.cpp:1058 msgid "Metering mode setting" msgstr "Tùy chỉnh chế độ đo đạc" #: src/canonmn.cpp:1059 msgid "Focus Type" msgstr "Kiểu lấy nét" #: src/canonmn.cpp:1059 msgid "Focus type setting" msgstr "Tùy chỉnh kiểu lấy nét" #: src/canonmn.cpp:1060 msgid "AF point selected" msgstr "Lựa chọn điểm lấy nét tự động" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 msgid "Exposure Program" msgstr "Tự động phơi sáng hoàn toàn" #: src/canonmn.cpp:1061 msgid "Exposure mode setting" msgstr "Tùy chỉnh chế độ phơi sáng" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 msgid "Lens Type" msgstr "Kiểu Ống kính" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 msgid "Lens type" msgstr "Kiểu ống kính" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 msgid "Lens" msgstr "Ống kính" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" "Khoảng tiêu cự 'dài' và 'ngắn' của ống kính (trong 'đơn vị tiêu cự') và 'đơn " "vị tiêu cự' mỗi mm" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "Tiêu cự Ngắn" #: src/canonmn.cpp:1065 msgid "Short focal" msgstr "Tiêu cự ngắn" #: src/canonmn.cpp:1066 msgid "Focal Units" msgstr "Đơn vị tiêu cự" #: src/canonmn.cpp:1066 msgid "Focal units" msgstr "Đơn vị tiêu cự" #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 msgid "Max Aperture" msgstr "Khẩu độ tối đa" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 msgid "Max aperture" msgstr "Khẩu độ tối đa" #: src/canonmn.cpp:1068 msgid "Min Aperture" msgstr "Khẩu đ6ọ tối thiểu" #: src/canonmn.cpp:1068 msgid "Min aperture" msgstr "Khẩu độ tối thiểu" #: src/canonmn.cpp:1069 #, fuzzy msgid "Flash Activity" msgstr "Cường độ đèn chớp" #: src/canonmn.cpp:1069 #, fuzzy msgid "Flash activity" msgstr "Cường độ đèn chớp" #: src/canonmn.cpp:1070 msgid "Flash Details" msgstr "Chi tiết đèn chớp" #: src/canonmn.cpp:1070 msgid "Flash details" msgstr "Chi tiết đèn chớp" #: src/canonmn.cpp:1073 msgid "Focus Continuous" msgstr "Lấy nét Liên tục" #: src/canonmn.cpp:1073 msgid "Focus continuous setting" msgstr "Cài đặt lấy nét liên tục" #: src/canonmn.cpp:1074 #, fuzzy msgid "AESetting" msgstr "Tùy chỉnh" #: src/canonmn.cpp:1074 #, fuzzy msgid "AE setting" msgstr "Tùy chỉnh độ nhạy sáng" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 msgid "Image Stabilization" msgstr "Ổn định hình ảnh" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 msgid "Image stabilization" msgstr "Ổn định hình ảnh" #: src/canonmn.cpp:1076 msgid "Display Aperture" msgstr "Hiển thị khẩu độ" #: src/canonmn.cpp:1076 msgid "Display aperture" msgstr "HIển thị khẩu độ" #: src/canonmn.cpp:1077 msgid "Zoom Source Width" msgstr "" #: src/canonmn.cpp:1077 msgid "Zoom source width" msgstr "" #: src/canonmn.cpp:1078 #, fuzzy msgid "Zoom Target Width" msgstr "Chiều rộng hình ảnh" #: src/canonmn.cpp:1078 #, fuzzy msgid "Zoom target width" msgstr "Chiều rộng hình ảnh" #: src/canonmn.cpp:1080 #, fuzzy msgid "Spot Metering Mode" msgstr "Chế độ đo đạc" #: src/canonmn.cpp:1080 #, fuzzy msgid "Spot metering mode" msgstr "Chế độ đo đạc" #: src/canonmn.cpp:1081 msgid "Photo Effect" msgstr "Hiệu ứng hình ảnh" #: src/canonmn.cpp:1081 msgid "Photo effect" msgstr "Hiệu ứng hình ảnh" #: src/canonmn.cpp:1082 #, fuzzy msgid "Manual Flash Output" msgstr "Điều khiển đèn chớp thủ công" #: src/canonmn.cpp:1082 #, fuzzy msgid "Manual flash output" msgstr "Điều khiển đèn chớp thủ công" #: src/canonmn.cpp:1083 msgid "Color Tone" msgstr "Tông màu" #: src/canonmn.cpp:1083 msgid "Color tone" msgstr "Tông màu" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "" #: src/canonmn.cpp:1084 #, fuzzy msgid "SRAW quality" msgstr "Chất lượng hình ảnh" #: src/canonmn.cpp:1086 #, fuzzy msgid "Unknown Canon Camera Settings 1 tag" msgstr "Tùy chỉnh máy ảnh" #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 msgid "Daylight" msgstr "Ánh sáng ban ngày" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 msgid "Cloudy" msgstr "Trời mây" #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 msgid "Tungsten" msgstr "" #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 #, fuzzy msgid "Fluorescent" msgstr "Huỳnh quang (Ánh sáng ngày)" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 msgid "Black & White" msgstr "Đen và trắng" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "Bóng râm" #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "" #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "" #: src/canonmn.cpp:1109 #, fuzzy msgid "Daylight Fluorescent" msgstr "6600K (Ánh sáng huỳnh quang ban ngày)" #: src/canonmn.cpp:1110 src/properties.cpp:816 msgid "Custom 1" msgstr "Tùy chỉnh 1" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 msgid "Custom 2" msgstr "Tùy chỉnh 2" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 msgid "Custom 3" msgstr "Tùy chỉnh 3" #: src/canonmn.cpp:1115 msgid "PC Set 4" msgstr "" #: src/canonmn.cpp:1116 msgid "PC Set 5" msgstr "" #: src/canonmn.cpp:1117 #, fuzzy msgid "Auto (ambience priority)" msgstr "Ưu tiên tốc độ" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 msgid "left" msgstr "Trái" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 msgid "center" msgstr "Trung tâm" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 msgid "right" msgstr "Phải" #: src/canonmn.cpp:1151 msgid "ISO Speed Used" msgstr "Độ nhạy sáng Đã sử dụng" #: src/canonmn.cpp:1151 msgid "ISO speed used" msgstr "Độ nhạy sáng đã sử dụng" #: src/canonmn.cpp:1152 #, fuzzy msgid "Measured EV" msgstr "Đo lường Màu sắc" #: src/canonmn.cpp:1153 #, fuzzy msgid "Target Aperture" msgstr "Khẩu độ tối đa" #: src/canonmn.cpp:1154 msgid "Target Shutter Speed" msgstr "Tốc độ Chụp mục tiêu" #: src/canonmn.cpp:1154 msgid "Target shutter speed" msgstr "Tốc độ chụp mục tiêu" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 msgid "White Balance" msgstr "Cân bằng trắng" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 msgid "White balance setting" msgstr "Tùy chỉnh cân bằng trắng" #: src/canonmn.cpp:1158 msgid "Sequence" msgstr "" #: src/canonmn.cpp:1158 msgid "Sequence number (if in a continuous burst)" msgstr "" #: src/canonmn.cpp:1163 #, fuzzy msgid "AF Point Used" msgstr "Điểm Lấy nét tự động Đã dùng" #: src/canonmn.cpp:1163 msgid "AF point used" msgstr "Điểm lấy nét tự động đã sử dụng" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 msgid "Flash Bias" msgstr "Bù trừ sáng đèn chớp" #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 msgid "Subject Distance" msgstr "Khoảng cách Vật thể" #: src/canonmn.cpp:1168 msgid "Subject distance (units are not clear)" msgstr "Khoảng cách vật thể (không rõ đơn vi)" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 msgid "Aperture Value" msgstr "Giá trị khẩu độ" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 msgid "Shutter Speed Value" msgstr "Giá trị tốc độ màn chập" #: src/canonmn.cpp:1171 src/tags.cpp:1630 msgid "Shutter speed" msgstr "Tốc độ màn chập" #: src/canonmn.cpp:1172 #, fuzzy msgid "Measured EV 2" msgstr "Đo lường Màu sắc" #: src/canonmn.cpp:1177 #, fuzzy msgid "Unknown Canon Camera Settings 2 tag" msgstr "Tùy chỉnh máy ảnh" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 msgid "Left to right" msgstr "Trái sang phải" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 msgid "Right to left" msgstr "Phải sang trái" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 msgid "Bottom to top" msgstr "Dưới lên trên" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 msgid "Top to bottom" msgstr "Trên xuống dưới" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "" #: src/canonmn.cpp:1196 msgid "Panorama Frame" msgstr "Khung hình toàn cảnh" #: src/canonmn.cpp:1196 msgid "Panorama frame number" msgstr "Số khung hình toàn cảnh" #: src/canonmn.cpp:1197 msgid "Panorama Direction" msgstr "Chiều chụp toàn cảnh" #: src/canonmn.cpp:1197 msgid "Panorama direction" msgstr "Chiều chụp toàn cảnh" #: src/canonmn.cpp:1199 msgid "Unknown Canon Panorama tag" msgstr "" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 msgid "Noise Reduction" msgstr "Giảm nhiễu" #: src/canonmn.cpp:1209 msgid "Long exposure noise reduction" msgstr "Giảm nhiễu của sự phơi sáng lâu" #: src/canonmn.cpp:1210 #, fuzzy msgid "Shutter Ae Lock" msgstr "Tốc độ màn chập" #: src/canonmn.cpp:1210 msgid "Shutter/AE lock buttons" msgstr "" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 #, fuzzy msgid "Exposure Level Increments" msgstr "Độ bù trừ phơi sáng" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 msgid "AF Assist" msgstr "Hỗ trợ lấy nét tự động" #: src/canonmn.cpp:1213 msgid "AF assist light" msgstr "Ánh sáng hỗ trợ lấy nét tự động" #: src/canonmn.cpp:1214 msgid "Flash Sync Speed Av" msgstr "" #: src/canonmn.cpp:1214 #, fuzzy msgid "Shutter speed in Av mode" msgstr "Giá trị tốc độ chụp" #: src/canonmn.cpp:1215 msgid "AEB Sequence" msgstr "" #: src/canonmn.cpp:1215 msgid "AEB sequence/auto cancellation" msgstr "" #: src/canonmn.cpp:1216 #, fuzzy msgid "Shutter Curtain Sync" msgstr "Ưu tiên tốc độ" #: src/canonmn.cpp:1216 #, fuzzy msgid "Shutter curtain sync" msgstr "Ưu tiên tốc độ" #: src/canonmn.cpp:1217 msgid "Lens AF Stop Button" msgstr "" #: src/canonmn.cpp:1217 msgid "Lens AF stop button Fn. Switch" msgstr "" #: src/canonmn.cpp:1218 #, fuzzy msgid "Fill Flash Auto Reduction" msgstr "Giảm rung" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "" #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "Nút trở về trình đơn" #: src/canonmn.cpp:1219 #, fuzzy msgid "Menu button return position" msgstr "Nút trở về trình đơn" #: src/canonmn.cpp:1220 msgid "Set Button Function" msgstr "" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "" #: src/canonmn.cpp:1221 #, fuzzy msgid "Sensor Cleaning" msgstr "Thông tin cảm biến" #: src/canonmn.cpp:1221 #, fuzzy msgid "Sensor cleaning" msgstr "Thông tin cảm biến" #: src/canonmn.cpp:1222 msgid "Superimposed Display" msgstr "" #: src/canonmn.cpp:1222 msgid "Superimposed display" msgstr "" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "" #: src/canonmn.cpp:1225 msgid "Unknown Canon Custom Function tag" msgstr "" #: src/canonmn.cpp:1236 #, fuzzy msgid "mid-right" msgstr "Phải" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 msgid "bottom" msgstr "Dưới" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 msgid "top" msgstr "Trên" #: src/canonmn.cpp:1240 #, fuzzy msgid "mid-left" msgstr "Trái" #: src/canonmn.cpp:1247 msgid "upper-left" msgstr "" #: src/canonmn.cpp:1248 #, fuzzy msgid "upper-right" msgstr "Phải" #: src/canonmn.cpp:1252 #, fuzzy msgid "lower-left" msgstr "Hoa" #: src/canonmn.cpp:1253 #, fuzzy msgid "lower-right" msgstr "Phải" #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 msgid "Image Width" msgstr "Chiều rộng hình ảnh" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 msgid "Image width" msgstr "Chiều rộng hình ảnh" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 msgid "Image Height" msgstr "Chiều cao hình ảnh" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 msgid "Image height" msgstr "Chiều cao hình ảnh" #: src/canonmn.cpp:1261 #, fuzzy msgid "Image Width As Shot" msgstr "Chiều rộng hình ảnh" #: src/canonmn.cpp:1261 #, fuzzy msgid "Image width (as shot)" msgstr "Chiều rộng hình ảnh" #: src/canonmn.cpp:1262 #, fuzzy msgid "Image Height As Shot" msgstr "Chiều cao hình ảnh" #: src/canonmn.cpp:1262 #, fuzzy msgid "Image height (as shot)" msgstr "Chiều cao hình ảnh" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF Points Used" msgstr "Điểm Lấy nét tự động Đã dùng" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF points used" msgstr "Điểm lấy nét tự động đã dùng" #: src/canonmn.cpp:1264 msgid "AF Points Used 20D" msgstr "Điểm Lấy nét tự động Đã dùng trên máy 20D" #: src/canonmn.cpp:1264 msgid "AF points used (20D)" msgstr "Điểm Lấy nét tự động Đã dùng (20D)" #: src/canonmn.cpp:1266 msgid "Unknown Canon Picture Info tag" msgstr "" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "AEB" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "FEB" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 msgid "ISO" msgstr "ISO" #: src/canonmn.cpp:1280 msgid "WB" msgstr "WB" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "Màn hình rộng" #: src/canonmn.cpp:1293 #, fuzzy msgid "Medium Movie" msgstr "Trung bình 1" #: src/canonmn.cpp:1294 #, fuzzy msgid "Small Movie" msgstr "Phim bình thường" #: src/canonmn.cpp:1300 msgid "On 1" msgstr "Mở 1" #: src/canonmn.cpp:1301 msgid "On 2" msgstr "Mở 2" #: src/canonmn.cpp:1309 msgid "On (shift AB)" msgstr "" #: src/canonmn.cpp:1310 msgid "On (shift GM)" msgstr "" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "Vàng" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 msgid "Orange" msgstr "Cam" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 msgid "Red" msgstr "Đỏ" #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 msgid "Green" msgstr "Xanh lá" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 msgid "Blue" msgstr "Xanh dương" #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "Tím" #: src/canonmn.cpp:1334 #, fuzzy msgid "Bracket Mode" msgstr "Chế độ Đen và Trắng" #: src/canonmn.cpp:1335 #, fuzzy msgid "Bracket Value" msgstr "Giá trị Tương phản" #: src/canonmn.cpp:1336 #, fuzzy msgid "Bracket Shot Number" msgstr "Số Khung hình" #: src/canonmn.cpp:1337 #, fuzzy msgid "Raw Jpg Quality" msgstr "Chất lượng Hình ảnh" #: src/canonmn.cpp:1338 #, fuzzy msgid "Raw Jpg Size" msgstr "Kích cỡ hình ảnh gốc" #: src/canonmn.cpp:1340 #, fuzzy msgid "WB Bracket Mode" msgstr "Chế độ Đen và Trắng" #: src/canonmn.cpp:1341 #, fuzzy msgid "WB Bracket Value AB" msgstr "Giá trị Cân bằng Sáng" #: src/canonmn.cpp:1342 #, fuzzy msgid "WB Bracket Value GM" msgstr "Giá trị Cân bằng Sáng" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 msgid "Filter Effect" msgstr "Kính lọc hiệu ứng" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 #, fuzzy msgid "Toning Effect" msgstr "Hiệu ứng hình ảnh" #: src/canonmn.cpp:1345 msgid "Macro Magnification" msgstr "" #: src/canonmn.cpp:1345 msgid "Macro magnification" msgstr "" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "" #: src/canonmn.cpp:1346 msgid "Live view shooting" msgstr "" #: src/canonmn.cpp:1347 #, fuzzy msgid "Focus Distance Upper" msgstr "Khoảng cách Lấy nét" #: src/canonmn.cpp:1348 #, fuzzy msgid "Focus Distance Lower" msgstr "Khoảng cách Lấy nét" #: src/canonmn.cpp:1349 #, fuzzy msgid "Flash Exposure Lock" msgstr "Sự bù phơi sáng đèn nháy" #: src/canonmn.cpp:1349 #, fuzzy msgid "Flash exposure lock" msgstr "Khoá tự động phơi sáng" #: src/canonmn.cpp:1351 msgid "Unknown Canon File Info tag" msgstr "" #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 msgid "Standard" msgstr "Tiêu chuẩn" #: src/canonmn.cpp:1369 msgid "Lowest" msgstr "Thấp nhất" #: src/canonmn.cpp:1373 msgid "Highest" msgstr "Cao nhất" #: src/canonmn.cpp:1381 #, fuzzy msgid "High Saturation" msgstr "Độ bão hòa đã thay đổi" #: src/canonmn.cpp:1383 #, fuzzy msgid "Low Saturation" msgstr "Độ bão hòa tùy chỉnh" #: src/canonmn.cpp:1384 msgid "CM Set 1" msgstr "" #: src/canonmn.cpp:1385 msgid "CM Set 2" msgstr "" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "PC 1" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "PC 2" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "PC 3" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 #, fuzzy msgid "Monochrome" msgstr "Đơn sắc" #: src/canonmn.cpp:1399 #, fuzzy msgid "Fine Detail" msgstr "Chi tiết đèn chớp" #: src/canonmn.cpp:1404 #, fuzzy msgid "ToneCurve" msgstr "Tông" #: src/canonmn.cpp:1404 msgid "Tone curve" msgstr "" #: src/canonmn.cpp:1406 msgid "SharpnessFrequency" msgstr "CườngđộMịn" #: src/canonmn.cpp:1406 msgid "Sharpness frequency" msgstr "Cường độ mịn" #: src/canonmn.cpp:1407 msgid "SensorRedLevel" msgstr "" #: src/canonmn.cpp:1407 #, fuzzy msgid "Sensor red level" msgstr "Kích cỡ Điểm ảnh Cảm biến" #: src/canonmn.cpp:1408 msgid "SensorBlueLevel" msgstr "" #: src/canonmn.cpp:1408 #, fuzzy msgid "Sensor blue level" msgstr "Đường viền trái của cảm biến" #: src/canonmn.cpp:1409 #, fuzzy msgid "WhiteBalanceRed" msgstr "Cân bằng trắng" #: src/canonmn.cpp:1409 #, fuzzy msgid "White balance red" msgstr "Cân bằng trắng 2" #: src/canonmn.cpp:1410 #, fuzzy msgid "WhiteBalanceBlue" msgstr "Cân bằng trắng" #: src/canonmn.cpp:1410 #, fuzzy msgid "White balance blue" msgstr "Bảng cân bằng trắng" #: src/canonmn.cpp:1411 msgid "WhiteBalance" msgstr "Cân bằng trắng" #: src/canonmn.cpp:1412 #, fuzzy msgid "ColorTemperature" msgstr "Nhiệt độ màu" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 #, fuzzy msgid "Color Temperature" msgstr "Nhiệt độ màu" #: src/canonmn.cpp:1413 msgid "PictureStyle" msgstr "KiểuHìnhảnh" #: src/canonmn.cpp:1413 msgid "Picture style" msgstr "Kiểu hình ảnh" #: src/canonmn.cpp:1414 #, fuzzy msgid "DigitalGain" msgstr "Cận cảnh phóng to điện tử" #: src/canonmn.cpp:1414 #, fuzzy msgid "Digital gain" msgstr "Cận cảnh phóng to điện tử" #: src/canonmn.cpp:1415 msgid "WBShiftAB" msgstr "" #: src/canonmn.cpp:1415 msgid "WBShift AB" msgstr "" #: src/canonmn.cpp:1416 msgid "WBShiftGM" msgstr "" #: src/canonmn.cpp:1416 msgid "WB Shift GM" msgstr "" #: src/canonmn.cpp:1417 #, fuzzy msgid "Unknown Canon Processing Info tag" msgstr "Xử lý Thông tin" #: src/crwimage.cpp:656 msgid "Header, offset" msgstr "" #: src/crwimage.cpp:674 msgid "tag" msgstr "" #: src/crwimage.cpp:676 msgid "dir" msgstr "" #: src/crwimage.cpp:678 msgid "type" msgstr "Kiểu" #: src/crwimage.cpp:679 msgid "size" msgstr "Kích cỡ" #: src/crwimage.cpp:680 msgid "offset" msgstr "" #: src/datasets.cpp:79 #, fuzzy msgid "(invalid)" msgstr "(Không hợp lệ)" #: src/datasets.cpp:80 msgid "IIM envelope record" msgstr "" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "" #: src/datasets.cpp:85 msgid "Model Version" msgstr "Mẫu phiên bản" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 msgid "Destination" msgstr "Đích đến" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 msgid "File Format" msgstr "Định dạng tập tin" #: src/datasets.cpp:95 msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" #: src/datasets.cpp:101 msgid "File Version" msgstr "Phiên bản tập tin" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" #: src/datasets.cpp:105 msgid "Service Id" msgstr "" #: src/datasets.cpp:106 msgid "Identifies the provider and product" msgstr "" #: src/datasets.cpp:108 #, fuzzy msgid "Envelope Number" msgstr "Tập tin số" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" #: src/datasets.cpp:117 #, fuzzy msgid "Product Id" msgstr "Nhà sản xuất" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" #: src/datasets.cpp:122 #, fuzzy msgid "Envelope Priority" msgstr "Ưu tiên khẩu độ" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" #: src/datasets.cpp:129 msgid "Date Sent" msgstr "Ngày gửi" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" #: src/datasets.cpp:133 msgid "Time Sent" msgstr "Thời gian gửi" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" #: src/datasets.cpp:139 msgid "Character Set" msgstr "" #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" #: src/datasets.cpp:145 msgid "Unique Name Object" msgstr "" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:156 #, fuzzy msgid "ARM Version" msgstr "Phiên bản" #: src/datasets.cpp:157 msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" #: src/datasets.cpp:170 #, fuzzy msgid "Record Version" msgstr "Mẫu phiên bản" #: src/datasets.cpp:171 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:175 msgid "Object Type" msgstr "Kiểu vật thể" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" #: src/datasets.cpp:184 msgid "Object Attribute" msgstr "" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" #: src/datasets.cpp:193 msgid "Object Name" msgstr "Tên vật thể" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" #: src/datasets.cpp:198 msgid "Document Title" msgstr "Tiêu đề văn bản" #: src/datasets.cpp:199 src/olympusmn.cpp:827 msgid "Edit Status" msgstr "Tùy chỉnh trạng thái" #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "" #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 msgid "Subject" msgstr "Vật thể" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "" #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "Phân loại" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" #: src/datasets.cpp:222 msgid "Supplemental Category" msgstr "" #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" #: src/datasets.cpp:228 src/properties.cpp:442 msgid "Supplemental Categories" msgstr "" #: src/datasets.cpp:229 #, fuzzy msgid "Fixture Id" msgstr "Thông tin hình ảnh" #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 msgid "Keywords" msgstr "Từ khóa" #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" #: src/datasets.cpp:240 msgid "Location Code" msgstr "Mã vị trí" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:248 msgid "Location Name" msgstr "Tên vị trí" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" #: src/datasets.cpp:253 src/properties.cpp:376 msgid "Release Date" msgstr "Ngày phát hành" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:257 msgid "Release Time" msgstr "Thời gian phát hành" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:261 msgid "Expiration Date" msgstr "Ngày hết hạn" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:265 msgid "ExpirationTime" msgstr "Thời gian hết han" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:269 msgid "Special Instructions" msgstr "Hướng dẫn đặc biệt" #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" #: src/datasets.cpp:273 src/properties.cpp:439 msgid "Instructions" msgstr "Hướng dẫn" #: src/datasets.cpp:274 msgid "Action Advised" msgstr "" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:279 msgid "Reference Service" msgstr "" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:283 #, fuzzy msgid "Reference Date" msgstr "Ngày phát hành" #: src/datasets.cpp:284 msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "" #: src/datasets.cpp:286 #, fuzzy msgid "Reference Number" msgstr "Số Khung hình" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 msgid "Date Created" msgstr "Ngày tạo" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:295 msgid "Time Created" msgstr "Thời gian tạo" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:301 #, fuzzy msgid "Digitization Date" msgstr "Ngày hết hạn" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:305 #, fuzzy msgid "Digitization Time" msgstr "Thời gian hết han" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 msgid "Program" msgstr "Chương trình" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "" #: src/datasets.cpp:313 msgid "Program Version" msgstr "Phiên bản chương trình" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "" #: src/datasets.cpp:316 #, fuzzy msgid "Object Cycle" msgstr "Kiểu vật thể" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "" #: src/datasets.cpp:319 msgid "By-line" msgstr "" #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "" #: src/datasets.cpp:323 src/properties.cpp:2103 msgid "Author" msgstr "Tác giả" #: src/datasets.cpp:324 #, fuzzy msgid "By-line Title" msgstr "Tiêu đề cửa sổ" #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "" #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 msgid "City" msgstr "Thành phố" #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:333 #, fuzzy msgid "Sub Location" msgstr "Địa điểm quay" #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" #: src/datasets.cpp:337 #, fuzzy msgid "Province State" msgstr "Tỉnh/Bang" #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:341 msgid "State/Province" msgstr "Bang/Tỉnh" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 msgid "Country Code" msgstr "Mã quốc gia" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:352 msgid "Country Name" msgstr "Tên quốc gia" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 msgid "Country" msgstr "Quốc gia" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 #, fuzzy msgid "Transmission Reference" msgstr "Liên kết dự án" #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 msgid "Headline" msgstr "Tiêu đề" #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "" #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 msgid "Credit" msgstr "" #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "" #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source" msgstr "Nguồn" #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "" #: src/datasets.cpp:379 msgid "Copyright Notice" msgstr "Lưu ý bản quyền" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 msgid "Contact" msgstr "Liên hệ" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" #: src/datasets.cpp:384 src/properties.cpp:2101 #, fuzzy msgid "Caption" msgstr "Xoay" #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "" #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 msgid "Description" msgstr "Miêu tả" #: src/datasets.cpp:388 msgid "Writer" msgstr "Tác giả" #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" #: src/datasets.cpp:392 msgid "Rasterized Caption" msgstr "" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "" #: src/datasets.cpp:399 #, fuzzy msgid "Image Orientation" msgstr "Miêu tả hình ảnh" #: src/datasets.cpp:400 msgid "Indicates the layout of an image." msgstr "" #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 msgid "Language" msgstr "Ngôn ngữ" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" #: src/datasets.cpp:408 #, fuzzy msgid "Audio Type" msgstr "Kiểu mẫu âm thanh" #: src/datasets.cpp:409 msgid "Indicates the type of an audio content." msgstr "" #: src/datasets.cpp:411 #, fuzzy msgid "Audio Rate" msgstr "Tỉ lệ mẫu âm thanh" #: src/datasets.cpp:412 msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "" #: src/datasets.cpp:414 #, fuzzy msgid "Audio Resolution" msgstr "Độ phân giải X" #: src/datasets.cpp:415 msgid "Indicates the sampling resolution of an audio content." msgstr "" #: src/datasets.cpp:417 #, fuzzy msgid "Audio Duration" msgstr "Thời lượng" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "" #: src/datasets.cpp:420 msgid "Audio Outcue" msgstr "" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" #: src/datasets.cpp:424 msgid "Preview Format" msgstr "Định dạng xem trước" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" #: src/datasets.cpp:429 src/properties.cpp:1276 #, fuzzy msgid "Preview Version" msgstr "Phiên bản tập tin" #: src/datasets.cpp:430 msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" #: src/datasets.cpp:433 #, fuzzy msgid "Preview Data" msgstr "Định dạng xem trước" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "" #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "(Không hợp lệ)" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 #, fuzzy msgid "Unknown dataset" msgstr "Không biết " #: src/error.cpp:55 msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "" #: src/error.cpp:56 msgid "Success" msgstr "Thành công" #: src/error.cpp:59 msgid "This does not look like a %1 image" msgstr "" #: src/error.cpp:60 msgid "Invalid dataset name `%1'" msgstr "" #: src/error.cpp:61 #, fuzzy msgid "Invalid record name `%1'" msgstr "Dòng lệnh khong6 hợp lệ" #: src/error.cpp:62 #, fuzzy msgid "Invalid key `%1'" msgstr "Khóa không hợp lệ" #: src/error.cpp:63 msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "" #: src/error.cpp:64 msgid "Value not set" msgstr "Chưa đặt giá trị" #: src/error.cpp:65 #, fuzzy msgid "%1: Failed to open the data source: %2" msgstr "Thất bại khi mở tập tin\n" #: src/error.cpp:66 #, fuzzy msgid "%1: Failed to open file (%2): %3" msgstr "Thất bại khi mở tập tin\n" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "" #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "" #: src/error.cpp:69 msgid "Image type %1 is not supported" msgstr "" #: src/error.cpp:70 #, fuzzy msgid "Failed to read image data" msgstr "Đọc thông tin đầu vào thất bại" #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "" #: src/error.cpp:72 msgid "%1: Failed to map file for reading and writing: %2" msgstr "" #: src/error.cpp:73 #, fuzzy msgid "%1: Failed to rename file to %2: %3" msgstr "Đổi tên thất bại" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "" #: src/error.cpp:76 msgid "Failed to read input data" msgstr "Đọc thông tin đầu vào thất bại" #: src/error.cpp:77 msgid "Failed to write image" msgstr "Ghi hình ảnh thất bại" #: src/error.cpp:78 msgid "Input data does not contain a valid image" msgstr "" #: src/error.cpp:79 msgid "Invalid ifdId %1" msgstr "" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" #: src/error.cpp:82 #, fuzzy msgid "Offset out of range" msgstr "Ngoài phạm vi" #: src/error.cpp:83 msgid "Unsupported data area offset type" msgstr "" #: src/error.cpp:84 msgid "Invalid charset: `%1'" msgstr "" #: src/error.cpp:85 #, fuzzy msgid "Unsupported date format" msgstr "định dạng dữ liệu không xác định" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "" #: src/error.cpp:87 msgid "Writing to %1 images is not supported" msgstr "" #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "" #: src/error.cpp:89 msgid "This does not look like a CRW image" msgstr "" #: src/error.cpp:90 msgid "%1: Not supported" msgstr "" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "" #: src/error.cpp:92 msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "" #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" #: src/error.cpp:104 msgid "Invalid XmpText type `%1'" msgstr "" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "" #: src/error.cpp:106 msgid "Multiple TIFF array element tags %1 in one directory" msgstr "" #: src/error.cpp:107 msgid "TIFF array element tag %1 has wrong type" msgstr "" #: src/error.cpp:108 msgid "%1 has invalid XMP value type `%2'" msgstr "" #: src/exiv2.cpp:213 msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr "" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr "" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" #: src/exiv2.cpp:262 #, fuzzy msgid "" "\n" "Options:\n" msgstr "Tuỳ chọn T4" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr " -h HIển thị giúp đỡ và thoát.\n" #: src/exiv2.cpp:264 #, fuzzy msgid " -V Show the program version and exit.\n" msgstr " -h HIển thị giúp đỡ và thoát.\n" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr "" #: src/exiv2.cpp:266 msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr "" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" #: src/exiv2.cpp:268 msgid " -b Show large binary values.\n" msgstr "" #: src/exiv2.cpp:269 msgid " -u Show unknown tags.\n" msgstr "" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr "" #: src/exiv2.cpp:271 msgid " -K key Only output info for this key (exact match).\n" msgstr "" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr "" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr "" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr "" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr "" #: src/exiv2.cpp:285 msgid " s : print a summary of the Exif metadata (the default)\n" msgstr "" #: src/exiv2.cpp:286 msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr "" #: src/exiv2.cpp:287 msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr "" #: src/exiv2.cpp:288 msgid " v : plain Exif data values (-PExgnycv)\n" msgstr "" #: src/exiv2.cpp:289 msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr "" #: src/exiv2.cpp:290 msgid " i : IPTC data values (-PIkyct)\n" msgstr "" #: src/exiv2.cpp:291 msgid " x : XMP properties (-PXkyct)\n" msgstr "" #: src/exiv2.cpp:292 src/exiv2.cpp:317 msgid " c : JPEG comment\n" msgstr "" #: src/exiv2.cpp:293 msgid " p : list available previews\n" msgstr "" #: src/exiv2.cpp:294 msgid " S : print structure of image\n" msgstr "" #: src/exiv2.cpp:295 msgid " X : extract XMP from image\n" msgstr "" #: src/exiv2.cpp:296 msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" #: src/exiv2.cpp:297 msgid " E : include Exif tags in the list\n" msgstr "" #: src/exiv2.cpp:298 msgid " I : IPTC datasets\n" msgstr "" #: src/exiv2.cpp:299 msgid " X : XMP properties\n" msgstr "" #: src/exiv2.cpp:300 msgid " x : print a column with the tag number\n" msgstr "" #: src/exiv2.cpp:301 msgid " g : group name\n" msgstr "" #: src/exiv2.cpp:302 msgid " k : key\n" msgstr "" #: src/exiv2.cpp:303 msgid " l : tag label\n" msgstr "" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr "" #: src/exiv2.cpp:305 msgid " y : type\n" msgstr "" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr "" #: src/exiv2.cpp:307 msgid " s : size in bytes\n" msgstr "" #: src/exiv2.cpp:308 msgid " v : plain data value\n" msgstr "" #: src/exiv2.cpp:309 msgid " t : interpreted (translated) data\n" msgstr "" #: src/exiv2.cpp:310 msgid " h : hexdump of the data\n" msgstr "" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr "" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr "" #: src/exiv2.cpp:313 msgid " e : Exif section\n" msgstr "" #: src/exiv2.cpp:314 msgid " t : Exif thumbnail only\n" msgstr "" #: src/exiv2.cpp:315 msgid " i : IPTC data\n" msgstr "" #: src/exiv2.cpp:316 msgid " x : XMP packet\n" msgstr "" #: src/exiv2.cpp:318 msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" #: src/exiv2.cpp:323 msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr "" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr "" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr "" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr "" #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr "" #: src/exiv2.cpp:336 msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 #, fuzzy msgid "Option" msgstr "Optio S5n" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "" #: src/exiv2.cpp:410 #, fuzzy msgid "Invalid argument" msgstr "Khóa không hợp lệ" #: src/exiv2.cpp:434 #, fuzzy msgid "Invalid regexp" msgstr "Khóa không hợp lệ" #: src/exiv2.cpp:473 src/exiv2.cpp:526 msgid "Ignoring surplus option" msgstr "" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "" #: src/exiv2.cpp:504 msgid "Error parsing -a option argument" msgstr "" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "" #: src/exiv2.cpp:535 #, fuzzy msgid "option argument" msgstr "Tên vị trí" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:824 msgid "Action fixcom is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "" #: src/exiv2.cpp:904 msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "" #: src/exiv2.cpp:920 msgid "Error parsing -m option arguments\n" msgstr "" #: src/exiv2.cpp:927 msgid "Error parsing -M option arguments\n" msgstr "" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "" #: src/exiv2.cpp:1039 #, fuzzy msgid "target" msgstr "Lớn" #: src/exiv2.cpp:1065 #, fuzzy msgid "Invalid preview number" msgstr "Dãy số bên trong" #: src/exiv2.cpp:1097 #, fuzzy msgid "Failed to open command file for reading\n" msgstr "Thất bại khi mở tập tin\n" #: src/exiv2.cpp:1110 #, fuzzy msgid "line" msgstr "Tiêu đề" #: src/exiv2.cpp:1133 #, fuzzy msgid "-M option" msgstr "Tuỳ chọn T4" #: src/exiv2.cpp:1180 #, fuzzy msgid "Invalid command line:" msgstr "Dòng lệnh khong6 hợp lệ" #: src/exiv2.cpp:1187 msgid "Invalid command" msgstr "Lệnh không hợp lệ" #: src/exiv2.cpp:1219 msgid "Invalid key" msgstr "Khóa không hợp lệ" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "Dòng lệnh khong6 hợp lệ" #: src/fujimn.cpp:62 #, fuzzy msgid "Soft mode 1" msgstr "Chế độ chụp" #: src/fujimn.cpp:63 #, fuzzy msgid "Soft mode 2" msgstr "Chế độ chụp" #: src/fujimn.cpp:65 #, fuzzy msgid "Hard mode 1" msgstr "Chế độ chụp cận cảnh" #: src/fujimn.cpp:66 #, fuzzy msgid "Hard mode 2" msgstr "Chế độ chụp cận cảnh" #: src/fujimn.cpp:74 msgid "Fluorescent (daylight)" msgstr "Huỳnh quang (Ánh sáng ngày)" #: src/fujimn.cpp:75 msgid "Fluorescent (warm white)" msgstr "Huỳnh quang (Trắng ấm)" #: src/fujimn.cpp:76 msgid "Fluorescent (cool white)" msgstr "Huỳnh quang (Trắng lạnh)" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 msgid "Incandescent" msgstr "" #: src/fujimn.cpp:87 src/fujimn.cpp:88 #, fuzzy msgid "None (black & white)" msgstr "Đen và trắng" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 msgid "Red-eye reduction" msgstr "Giảm mắt-đỏ" #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 msgid "Night scene" msgstr "Cảnh ban đêm" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 #, fuzzy msgid "Program AE" msgstr "Chương trình" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "Ánh sáng tự nhiên" #: src/fujimn.cpp:122 msgid "Anti-blur" msgstr "Chống-mờ" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 msgid "Sunset" msgstr "" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 msgid "Museum" msgstr "Bảo tàng" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 msgid "Party" msgstr "Tiệc" #: src/fujimn.cpp:126 msgid "Flower" msgstr "Hoa" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "Văn bản" #: src/fujimn.cpp:128 msgid "Natural light & flash" msgstr "Ánh sáng tự nhiên và đèn chớp" #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 #, fuzzy msgid "Aperture-priority AE" msgstr "Ưu tiên khẩu độ" #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 #, fuzzy msgid "Shutter speed priority AE" msgstr "Ưu tiên tốc độ" #: src/fujimn.cpp:142 #, fuzzy msgid "No flash & flash" msgstr "Không đèn chớp" #: src/fujimn.cpp:148 msgid "Chrome" msgstr "" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 msgid "Wide" msgstr "Rộng" #: src/fujimn.cpp:160 #, fuzzy msgid "F0/Standard" msgstr "Tiêu chuẩn" #: src/fujimn.cpp:161 #, fuzzy msgid "F1/Studio portrait" msgstr "Chân dung đêm" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "" #: src/fujimn.cpp:163 msgid "F3/Studio portrait Ex" msgstr "" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "Tự động (100-400%)" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "Nguyên gốc" #: src/fujimn.cpp:171 msgid "Standard (100%)" msgstr "Tiêu chuẩn (100%)" #: src/fujimn.cpp:172 msgid "Wide mode 1 (230%)" msgstr "Chế độ góc rộng 1 (230%)" #: src/fujimn.cpp:173 msgid "Wide mode 2 (400%)" msgstr "Chế độ góc rộng 2 (400%)" #: src/fujimn.cpp:174 #, fuzzy msgid "Film simulation mode" msgstr "Chế độ phim" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 msgid "Version" msgstr "Phiên bản" #: src/fujimn.cpp:180 #, fuzzy msgid "Fujifilm Makernote version" msgstr "Firmware Version" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 msgid "Image quality setting" msgstr "Tùy chỉnh chất lượng hình ảnh" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 msgid "Color" msgstr "Màu sắc" #: src/fujimn.cpp:196 #, fuzzy msgid "Chroma saturation setting" msgstr "Tùy chỉnh độ tương phản" #: src/fujimn.cpp:198 msgid "Tone" msgstr "Tông" #: src/fujimn.cpp:202 msgid "Flash firing mode setting" msgstr "Tùy chỉnh chế độ mở đèn chớp" #: src/fujimn.cpp:204 msgid "Flash Strength" msgstr "Độ mạnh đèn chớp" #: src/fujimn.cpp:205 #, fuzzy msgid "Flash firing strength compensation setting" msgstr "Tùy chỉnh chế độ mở đèn chớp" #: src/fujimn.cpp:208 #, fuzzy msgid "Macro mode setting" msgstr "Tùy chỉnh chế độ đèn chớp" #: src/fujimn.cpp:211 #, fuzzy msgid "Focusing mode setting" msgstr "Tùy chỉnh chế độ lấy nét" #: src/fujimn.cpp:216 #, fuzzy msgid "Slow Sync" msgstr "Đồng bộ chậm" #: src/fujimn.cpp:217 #, fuzzy msgid "Slow synchro mode setting" msgstr "Tùy chỉnh chế độ đèn chớp" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 #, fuzzy msgid "Picture Mode" msgstr "Chế độ ảnh" #: src/fujimn.cpp:220 #, fuzzy msgid "Picture mode setting" msgstr "Chế độ ảnh bão hòa" #: src/fujimn.cpp:226 msgid "Continuous shooting or auto bracketing setting" msgstr "" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 #, fuzzy msgid "Sequence Number" msgstr "Chuỗi số" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 #, fuzzy msgid "Sequence number" msgstr "Tập tin số" #: src/fujimn.cpp:234 msgid "FinePix Color" msgstr "" #: src/fujimn.cpp:235 msgid "Fuji FinePix color setting" msgstr "" #: src/fujimn.cpp:237 msgid "Blur Warning" msgstr "Cảnh báo nhòe" #: src/fujimn.cpp:238 msgid "Blur warning status" msgstr "Tình trạng cảnh báo nhòe" #: src/fujimn.cpp:240 msgid "Focus Warning" msgstr "Cảnh báo lấy nét" #: src/fujimn.cpp:241 #, fuzzy msgid "Auto Focus warning status" msgstr "Tình trạng cảnh báo nhòe" #: src/fujimn.cpp:243 msgid "Exposure Warning" msgstr "Cảnh báo phơi sáng" #: src/fujimn.cpp:244 #, fuzzy msgid "Auto exposure warning status" msgstr "Tình trạng cảnh báo nhòe" #: src/fujimn.cpp:246 msgid "Dynamic Range" msgstr "" #: src/fujimn.cpp:247 #, fuzzy msgid "Dynamic range" msgstr "Sặc sỡ (màu sắc)" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 msgid "Film Mode" msgstr "Chế độ Phim" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 msgid "Film mode" msgstr "Chế độ phim" #: src/fujimn.cpp:252 #, fuzzy msgid "Dynamic Range Setting" msgstr "Tùy chỉnh máy ảnh" #: src/fujimn.cpp:253 #, fuzzy msgid "Dynamic range settings" msgstr "Tùy chỉnh máy ảnh" #: src/fujimn.cpp:255 msgid "Development Dynamic Range" msgstr "" #: src/fujimn.cpp:256 msgid "Development dynamic range" msgstr "" #: src/fujimn.cpp:258 msgid "Minimum Focal Length" msgstr "Khoảng Tiêu cự Tối thiểu" #: src/fujimn.cpp:259 msgid "Minimum focal length" msgstr "Khoảng tiêu cự tối thiểu" #: src/fujimn.cpp:261 msgid "Maximum Focal Length" msgstr "Khoảng Tiêu cự Tối đa" #: src/fujimn.cpp:262 msgid "Maximum focal length" msgstr "Khoảng tiêu cự tối thiểu" #: src/fujimn.cpp:264 #, fuzzy msgid "Maximum Aperture at Minimum Focal" msgstr "Khẩu độ Tối đa tai Tiêu cự Tối thiểu" #: src/fujimn.cpp:265 #, fuzzy msgid "Maximum aperture at minimum focal" msgstr "Khẩu độ tối đa tại tiêu cự tối thiểu" #: src/fujimn.cpp:267 #, fuzzy msgid "Maximum Aperture at Maximum Focal" msgstr "Khẩu độ Tối đa tại Tiêu cự Tối đa" #: src/fujimn.cpp:268 #, fuzzy msgid "Maximum aperture at maximum focal" msgstr "Khẩu độ tối đa tại tiêu cự tối đa" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 msgid "File Source" msgstr "Tập tin Nguồn" #: src/fujimn.cpp:271 msgid "File source" msgstr "Nguồn tập tin" #: src/fujimn.cpp:273 msgid "Order Number" msgstr "Số Thứ tự" #: src/fujimn.cpp:274 msgid "Order number" msgstr "Số thứ tự" #: src/fujimn.cpp:276 msgid "Frame Number" msgstr "Số Khung hình" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 msgid "Frame number" msgstr "Số khung hình" #: src/fujimn.cpp:281 #, fuzzy msgid "Unknown FujiMakerNote tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/minoltamn.cpp:56 msgid "Natural Color" msgstr "Màu sắc tự nhiên" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 #, fuzzy msgid "Vivid Color" msgstr "Không gian màu phim" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 #, fuzzy msgid "Solarization" msgstr "Thể thao hành động" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 msgid "Natural" msgstr "Tự nhiên" #: src/minoltamn.cpp:64 #, fuzzy msgid "Natural sRGB" msgstr "Tự nhiên" #: src/minoltamn.cpp:65 #, fuzzy msgid "Natural+ sRGB" msgstr "Tự nhiên+" #: src/minoltamn.cpp:67 msgid "Evening" msgstr "Buổi chiều" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 msgid "Night Portrait" msgstr "Chân dung ban đêm" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 #, fuzzy msgid "Super Fine" msgstr "Siêutốt" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 msgid "Extra Fine" msgstr "" #: src/minoltamn.cpp:90 #, fuzzy msgid "Makernote Version" msgstr "Mẫu phiên bản" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "" #: src/minoltamn.cpp:93 msgid "Camera Settings (Std Old)" msgstr "Tùy chỉnh máy ảnh (Std Old)" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "" "Tùy chỉnh các máy ảnh tiêu chuẩn (Máy ảnh cũ như D5, D7, S304, và S404)" #: src/minoltamn.cpp:96 msgid "Camera Settings (Std New)" msgstr "Tùy chỉnh máy ảnh (Std New)" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "Tùy chỉnh máy ảnh tiêu chuẩn (Kiểu máy ảnh mới như D7u, D7i, and D7hi)" #: src/minoltamn.cpp:99 msgid "Camera Settings (7D)" msgstr "Tùy chỉnh máy ảnh (7D)" #: src/minoltamn.cpp:100 msgid "Camera Settings (for Dynax 7D model)" msgstr "Tùy chỉnh máy ảnh (cho Dynax mẫu 7D)" #: src/minoltamn.cpp:102 msgid "Image Stabilization Data" msgstr "Dữ liệu Ổn định Hình ảnh" #: src/minoltamn.cpp:103 msgid "Image stabilization data" msgstr "Dữ liệu ổn định hình ảnh" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "" #: src/minoltamn.cpp:111 #, fuzzy msgid "Compressed Image Size" msgstr "Kích cỡ hình Sony" #: src/minoltamn.cpp:112 #, fuzzy msgid "Compressed image size" msgstr "Kích cỡ hình ảnh gốc" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 #, fuzzy msgid "Thumbnail Offset" msgstr "Ảnh thu nhỏ" #: src/minoltamn.cpp:118 #, fuzzy msgid "Offset of the thumbnail" msgstr "Kích cỡ của hình thu nhỏ" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 #, fuzzy msgid "Thumbnail Length" msgstr "Ảnh thu nhỏ" #: src/minoltamn.cpp:121 msgid "Size of the thumbnail" msgstr "Kích cỡ của hình thu nhỏ" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 #, fuzzy msgid "Scene Mode" msgstr "Chế độ quét CCD" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 msgid "Color Mode" msgstr "Chế độ Màu" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 msgid "Color mode" msgstr "Chế độ màu" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 msgid "Image Quality" msgstr "Chất lượng Hình ảnh" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "0x0103" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 #, fuzzy msgid "Flash Exposure Compensation" msgstr "Sự bù phơi sáng đèn nháy" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 #, fuzzy msgid "Flash exposure compensation in EV" msgstr "Sự bù phơi sáng đèn nháy" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 msgid "Teleconverter Model" msgstr "" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 msgid "Zone Matching" msgstr "" #: src/minoltamn.cpp:154 msgid "Zone matching" msgstr "" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 msgid "Color temperature" msgstr "Nhiệt độ màu" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 #, fuzzy msgid "Lens ID" msgstr "Thông tin ống kính" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 msgid "Lens identifier" msgstr "" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 #, fuzzy msgid "Color Compensation Filter" msgstr "Giá trị bù trừ phơi sáng" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 #, fuzzy msgid "White Balance Fine Tune" msgstr "Bảng cân bằng trắng" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 #, fuzzy msgid "White Balance Fine Tune Value" msgstr "Giá trị Cân bằng Sáng" #: src/minoltamn.cpp:168 #, fuzzy msgid "Image Stabilization A100" msgstr "Ổn định hình ảnh" #: src/minoltamn.cpp:169 #, fuzzy msgid "Image Stabilization for the Sony DSLR-A100" msgstr "Dữ liệu Ổn định Hình ảnh" #: src/minoltamn.cpp:173 #, fuzzy msgid "Camera Settings (5D)" msgstr "Tùy chỉnh máy ảnh (7D)" #: src/minoltamn.cpp:174 #, fuzzy msgid "Camera Settings (for Dynax 5D model)" msgstr "Tùy chỉnh máy ảnh (cho Dynax mẫu 7D)" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 #, fuzzy msgid "PrintIM information" msgstr "Thông tin GPS" #: src/minoltamn.cpp:183 #, fuzzy msgid "Camera Settings (Z1)" msgstr "Tùy chỉnh máy ảnh (7D)" #: src/minoltamn.cpp:184 #, fuzzy msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "Tùy chỉnh máy ảnh (cho Dynax mẫu 7D)" #: src/minoltamn.cpp:188 #, fuzzy msgid "Unknown Minolta MakerNote tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 msgid "Aperture priority" msgstr "Ưu tiên khẩu độ" #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "Ưu tiên tốc độ" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 #, fuzzy msgid "Fill flash" msgstr "Không đèn chớp" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 #, fuzzy msgid "Rear flash sync" msgstr "Nảy đèn nháy bên ngoài" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 msgid "Wireless" msgstr "Không dây" #: src/minoltamn.cpp:224 #, fuzzy msgid "Fluorescent 2" msgstr "Huỳnh quang (Ánh sáng ngày)" #: src/minoltamn.cpp:231 msgid "Full size" msgstr "Kích cỡ đầy đủ" #: src/minoltamn.cpp:243 #, fuzzy msgid "Super fine" msgstr "Siêutốt" #: src/minoltamn.cpp:247 msgid "Extra fine" msgstr "" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 msgid "Single Frame" msgstr "Khung hình đơn" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 msgid "Self-timer" msgstr "" #: src/minoltamn.cpp:255 #, fuzzy msgid "Bracketing" msgstr "Đánh giá" #: src/minoltamn.cpp:256 #, fuzzy msgid "Interval" msgstr "Đèn chớp trong máy" #: src/minoltamn.cpp:257 #, fuzzy msgid "UHS continuous" msgstr "Liên tục" #: src/minoltamn.cpp:258 #, fuzzy msgid "HS continuous" msgstr "Liên tục" #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 #, fuzzy msgid "Multi-segment" msgstr "Đa phân vùng" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 msgid "Center weighted average" msgstr "" #: src/minoltamn.cpp:271 msgid "Electronic magnification" msgstr "" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 #, fuzzy msgid "Top" msgstr "Trên" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 #, fuzzy msgid "Top-right" msgstr "Bản quyền" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 #, fuzzy msgid "Bottom-right" msgstr "dưới, phải" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 #, fuzzy msgid "Bottom" msgstr "Dưới" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 #, fuzzy msgid "Bottom-left" msgstr "dưới, trái" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 #, fuzzy msgid "Top-left" msgstr "trên, trái" #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 msgid "Hard" msgstr "" #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 #, fuzzy msgid "Soft" msgstr "Phần mềm" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 msgid "Night portrait" msgstr "Chân dung đêm" #: src/minoltamn.cpp:315 msgid "Sports action" msgstr "Thể thao hành động" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "" #: src/minoltamn.cpp:349 #, fuzzy msgid "Standard form" msgstr "Tiêu chuẩn" #: src/minoltamn.cpp:350 #, fuzzy msgid "Data form" msgstr "Định dạng hiển thị ngày" #: src/minoltamn.cpp:355 msgid "Natural color" msgstr "Màu tự nhiên" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 msgid "Black and white" msgstr "Đen và trắng" #: src/minoltamn.cpp:357 msgid "Vivid color" msgstr "" #: src/minoltamn.cpp:364 #, fuzzy msgid "No zone" msgstr "Vùng bên trái" #: src/minoltamn.cpp:365 msgid "Center zone (horizontal orientation)" msgstr "" #: src/minoltamn.cpp:366 msgid "Center zone (vertical orientation)" msgstr "" #: src/minoltamn.cpp:367 msgid "Left zone" msgstr "Vùng bên trái" #: src/minoltamn.cpp:368 msgid "Right zone" msgstr "Vùng bên phải" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 msgid "Auto focus" msgstr "Lấy nét tự động" #: src/minoltamn.cpp:379 msgid "Wide focus (normal)" msgstr "lấy nét rộng (bình thường)" #: src/minoltamn.cpp:380 #, fuzzy msgid "Spot focus" msgstr "Lấy nét tự động" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 msgid "Exposure" msgstr "Phơi sáng" #: src/minoltamn.cpp:388 msgid "Filter" msgstr "Lọc" #: src/minoltamn.cpp:393 #, fuzzy msgid "Not embedded" msgstr "chưa được sử dụng" #: src/minoltamn.cpp:394 msgid "Embedded" msgstr "" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "" #: src/minoltamn.cpp:410 msgid "Manual flash control" msgstr "Điều khiển đèn chớp thủ công" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 msgid "Exposure Mode" msgstr "Chế độ phơi sáng" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 msgid "Flash mode" msgstr "Chế độ đèn chớp" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 #, fuzzy msgid "Drive mode" msgstr "Chế độ ảnh" #: src/minoltamn.cpp:512 msgid "ISO Value" msgstr "Giá trị nhạy sáng" #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 msgid "Exposure Time" msgstr "Thời gian phơi sáng" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 #, fuzzy msgid "FNumber" msgstr "Số F" #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 #, fuzzy msgid "The F-Number" msgstr "Số F" #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 #, fuzzy msgid "Macro Mode" msgstr "Chế độ chụp cận cảnh" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 msgid "Exposure Compensation" msgstr "Bù trừ phơi sáng" #: src/minoltamn.cpp:529 msgid "Bracket Step" msgstr "" #: src/minoltamn.cpp:530 msgid "Bracket step" msgstr "" #: src/minoltamn.cpp:532 #, fuzzy msgid "Interval Length" msgstr "Tiêu cự" #: src/minoltamn.cpp:533 #, fuzzy msgid "Interval length" msgstr "Đèn chớp trong máy" #: src/minoltamn.cpp:535 #, fuzzy msgid "Interval Number" msgstr "Chuỗi số" #: src/minoltamn.cpp:536 #, fuzzy msgid "Interval number" msgstr "Dãy số bên trong" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 msgid "Focus Distance" msgstr "Khoảng cách Lấy nét" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 msgid "Focus distance" msgstr "Khoảng cách lấy net1" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 #, fuzzy msgid "Flash Fired" msgstr "Thiết bị đèn chớp" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 #, fuzzy msgid "Flash fired" msgstr "Đèn chớp tắt" #: src/minoltamn.cpp:547 #, fuzzy msgid "Minolta Date" msgstr "Ngày quay" #: src/minoltamn.cpp:548 msgid "Minolta date" msgstr "" #: src/minoltamn.cpp:550 #, fuzzy msgid "Minolta Time" msgstr "Thời gian mở" #: src/minoltamn.cpp:551 msgid "Minolta time" msgstr "" #: src/minoltamn.cpp:556 #, fuzzy msgid "File Number Memory" msgstr "Tập tin số" #: src/minoltamn.cpp:557 #, fuzzy msgid "File number memory" msgstr "Tập tin số" #: src/minoltamn.cpp:559 msgid "Last Image Number" msgstr "Số hình ảnh Cuối cùng" #: src/minoltamn.cpp:560 msgid "Last image number" msgstr "Số hình ảnh cuối cùng" #: src/minoltamn.cpp:562 #, fuzzy msgid "Color Balance Red" msgstr "Cân bằng Màu sắc" #: src/minoltamn.cpp:563 #, fuzzy msgid "Color balance red" msgstr "Cần bằng màu sắc" #: src/minoltamn.cpp:565 #, fuzzy msgid "Color Balance Green" msgstr "Cân bằng Màu sắc" #: src/minoltamn.cpp:566 #, fuzzy msgid "Color balance green" msgstr "Cần bằng màu sắc" #: src/minoltamn.cpp:568 #, fuzzy msgid "Color Balance Blue" msgstr "Cân bằng Màu sắc" #: src/minoltamn.cpp:569 #, fuzzy msgid "Color balance blue" msgstr "Cần bằng màu sắc" #: src/minoltamn.cpp:580 #, fuzzy msgid "Subject Program" msgstr "Tự động phơi sáng hoàn toàn" #: src/minoltamn.cpp:581 #, fuzzy msgid "Subject program" msgstr "Vật thể" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 msgid "ISO Settings" msgstr "Tùy chỉnh Độ nhạy sáng" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 msgid "ISO setting" msgstr "Tùy chỉnh độ nhạy sáng" #: src/minoltamn.cpp:589 #, fuzzy msgid "Minolta Model" msgstr "Mẫu đèn chớp" #: src/minoltamn.cpp:590 #, fuzzy msgid "Minolta model" msgstr "Chế độ phim" #: src/minoltamn.cpp:592 #, fuzzy msgid "Interval Mode" msgstr "Chế độ đặc biệt" #: src/minoltamn.cpp:593 #, fuzzy msgid "Interval mode" msgstr "Kiểu Ca-me-ra" #: src/minoltamn.cpp:595 msgid "Folder Name" msgstr "Tên Thư mục" #: src/minoltamn.cpp:596 msgid "Folder name" msgstr "Tên thư mục" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 msgid "ColorMode" msgstr "Chếđộmàusắc" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 msgid "Color Filter" msgstr "Lọc Màu" #: src/minoltamn.cpp:602 msgid "Color filter" msgstr "Lọc màu" #: src/minoltamn.cpp:604 msgid "Black and White Filter" msgstr "Lọc Đen và Trắng" #: src/minoltamn.cpp:605 msgid "Black and white filter" msgstr "Lọc đen và trắng" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 #, fuzzy msgid "Internal Flash" msgstr "Đèn chớp trong máy" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 msgid "Brightness" msgstr "Độ sáng" #: src/minoltamn.cpp:613 #, fuzzy msgid "Spot Focus Point X" msgstr "Vị trí Lấy nét" #: src/minoltamn.cpp:614 msgid "Spot focus point X" msgstr "" #: src/minoltamn.cpp:616 #, fuzzy msgid "Spot Focus Point Y" msgstr "Vị trí Lấy nét" #: src/minoltamn.cpp:617 msgid "Spot focus point Y" msgstr "" #: src/minoltamn.cpp:619 msgid "Wide Focus Zone" msgstr "Vùng Lấy nét Góc rộng" #: src/minoltamn.cpp:620 msgid "Wide focus zone" msgstr "Vùng lấy góc nét rộng" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 msgid "Focus mode" msgstr "Chế độ lấy nét" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 msgid "Focus area" msgstr "Vùng lấy nét" #: src/minoltamn.cpp:628 #, fuzzy msgid "DEC Switch Position" msgstr "Vị trí Lấy nét" #: src/minoltamn.cpp:629 #, fuzzy msgid "DEC switch position" msgstr "Vị trí lấy nét" #: src/minoltamn.cpp:631 #, fuzzy msgid "Color Profile" msgstr "Lọc màu" #: src/minoltamn.cpp:632 #, fuzzy msgid "Color profile" msgstr "Lọc màu" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 msgid "Data Imprint" msgstr "" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 #, fuzzy msgid "Flash Metering" msgstr "Tùy chỉnh Đèn chớp" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 #, fuzzy msgid "Flash metering" msgstr "Tùy chỉnh Đèn chớp" #: src/minoltamn.cpp:642 #, fuzzy msgid "Unknown Minolta Camera Settings tag" msgstr "Tùy chỉnh máy ảnh" #: src/minoltamn.cpp:660 #, fuzzy msgid "Program-shift A" msgstr "Chương trình" #: src/minoltamn.cpp:661 #, fuzzy msgid "Program-shift S" msgstr "Chương trình" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 msgid "Raw+Jpeg" msgstr "Raw+Jpeg" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 msgid "Kelvin" msgstr "Kelvin" #: src/minoltamn.cpp:695 #, fuzzy msgid "Single-shot AF" msgstr "Khung hình đơn" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 #, fuzzy msgid "Continuous AF" msgstr "Liên tục" #: src/minoltamn.cpp:698 #, fuzzy msgid "Automatic AF" msgstr "Tự động" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 msgid "sRGB (Natural)" msgstr "sRGB (Tự nhiên)" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 msgid "sRGB (Natural+)" msgstr "sRGB (Tự nhiên+)" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 msgid "Horizontal (normal)" msgstr "" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "" #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "" #: src/minoltamn.cpp:756 msgid "AF Points" msgstr "Điểm Lấy nét tự động" #: src/minoltamn.cpp:757 msgid "AF points" msgstr "Điểm lấy nét tự động" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 msgid "Color Space" msgstr "Không gian Màu" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 msgid "Color space" msgstr "Không gian màu" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 msgid "Free Memory Card Images" msgstr "" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 msgid "Free memory card images" msgstr "" #: src/minoltamn.cpp:789 msgid "Hue" msgstr "" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 msgid "Rotation" msgstr "Xoay" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 msgid "Image Number" msgstr "Số hình ảnh" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 msgid "Noise reduction" msgstr "GIảm nhiễu" #: src/minoltamn.cpp:817 msgid "Zone Matching On" msgstr "" #: src/minoltamn.cpp:818 msgid "Zone matching on" msgstr "" #: src/minoltamn.cpp:822 #, fuzzy msgid "Unknown Minolta Camera Settings 7D tag" msgstr "Tùy chỉnh máy ảnh (7D)" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 #, fuzzy msgid "Program Shift A" msgstr "Chương trình" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 #, fuzzy msgid "Program Shift S" msgstr "Chương trình" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 #, fuzzy msgid "Night View/Portrait" msgstr "Chân dung ban đêm" #: src/minoltamn.cpp:895 msgid "200 (Zone Matching High)" msgstr "" #: src/minoltamn.cpp:896 msgid "80 (Zone Matching Low)" msgstr "" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 msgid "Adobe RGB (ICC)" msgstr "" #: src/minoltamn.cpp:918 #, fuzzy msgid "Central" msgstr "Trung tâm" #: src/minoltamn.cpp:919 msgid "Up" msgstr "" #: src/minoltamn.cpp:920 #, fuzzy msgid "Up right" msgstr "trên, phải" #: src/minoltamn.cpp:922 #, fuzzy msgid "Down right" msgstr "trên, phải" #: src/minoltamn.cpp:923 msgid "Down" msgstr "" #: src/minoltamn.cpp:924 #, fuzzy msgid "Down left" msgstr "trên, trái" #: src/minoltamn.cpp:926 #, fuzzy msgid "Up left" msgstr "trên, trái" #: src/minoltamn.cpp:932 msgid "Selection" msgstr "Lựa chọn" #: src/minoltamn.cpp:947 msgid "Natural+" msgstr "Tự nhiên+" #: src/minoltamn.cpp:949 #, fuzzy msgid "Wind Scene" msgstr "Cảnh đêm" #: src/minoltamn.cpp:950 #, fuzzy msgid "Evening Scene" msgstr "Buổi chiều" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus Position" msgstr "Vị trí Lấy nét" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus position" msgstr "Vị trí lấy nét" #: src/minoltamn.cpp:1003 msgid "Focus Area" msgstr "Vùng lấy nét" #: src/minoltamn.cpp:1036 #, fuzzy msgid "Exposure Revision" msgstr "Độ bù trừ phơi sáng" #: src/minoltamn.cpp:1037 #, fuzzy msgid "Exposure revision" msgstr "Độ bù trừ phơi sáng" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 #, fuzzy msgid "Rotation2" msgstr "Xoay" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 msgid "Picture Finish" msgstr "Bức ảnh hoàn tất" #: src/minoltamn.cpp:1063 #, fuzzy msgid "Exposure Manual Bias" msgstr "Bù trừ ánh sáng" #: src/minoltamn.cpp:1064 #, fuzzy msgid "Exposure manual bias" msgstr "Bù trừ ánh sáng" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 msgid "AF Mode" msgstr "Chế độ Lấy nét tự động" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 msgid "AF mode" msgstr "Chế độ lấy nét tự động" #: src/minoltamn.cpp:1087 msgid "Unknown Minolta Camera Settings 5D tag" msgstr "" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 msgid "Self-timer 10 sec" msgstr "" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 msgid "Self-timer 2 sec" msgstr "" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 #, fuzzy msgid "White Balance Bracketing Low" msgstr "Tùy chỉnh cân bằng trắng" #: src/minoltamn.cpp:1105 #, fuzzy msgid "White Balance Bracketing High" msgstr "Tùy chỉnh cân bằng trắng" #: src/minoltamn.cpp:1106 #, fuzzy msgid "Single-frame Bracketing Low" msgstr "Khung hình đơn" #: src/minoltamn.cpp:1107 #, fuzzy msgid "Continuous Bracketing Low" msgstr "Liên tục, thấp" #: src/minoltamn.cpp:1108 #, fuzzy msgid "Single-frame Bracketing High" msgstr "Khung hình đơn" #: src/minoltamn.cpp:1109 #, fuzzy msgid "Continuous Bracketing High" msgstr "Liên tục, cao" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 #, fuzzy msgid "Continuous Bracketing" msgstr "Liên tục, cao" #: src/minoltamn.cpp:1156 #, fuzzy msgid "Single-Frame Bracketing" msgstr "Khung hình đơn" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 #, fuzzy msgid "White Balance Bracketing" msgstr "Tùy chỉnh cân bằng trắng" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 msgid "Preset" msgstr "" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 #, fuzzy msgid "Color Temperature/Color Filter" msgstr "Nhiệt độ màu" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 msgid "Temperature" msgstr "Nhiệt độ" #: src/minoltamn.cpp:1213 msgid "Setup" msgstr "" #: src/minoltamn.cpp:1214 msgid "Recall" msgstr "" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "Ok" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "" #: src/minoltamn.cpp:1232 msgid "Image and Information" msgstr "Hình ảnh và thông tin" #: src/minoltamn.cpp:1233 msgid "Image Only" msgstr "Chỉ hình ảnh" #: src/minoltamn.cpp:1234 #, fuzzy msgid "Image and Histogram" msgstr "Lịch sử hình ảnh" #: src/minoltamn.cpp:1240 #, fuzzy msgid "Fill Flash" msgstr "Không đèn chớp" #: src/minoltamn.cpp:1251 #, fuzzy msgid "Focus Hold" msgstr "Chế độ lấy nét" #: src/minoltamn.cpp:1252 #, fuzzy msgid "DOF Preview" msgstr "Xem lại" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "Giữ" #: src/minoltamn.cpp:1258 msgid "Toggle" msgstr "" #: src/minoltamn.cpp:1259 #, fuzzy msgid "Spot Hold" msgstr "Xác định" #: src/minoltamn.cpp:1260 msgid "Spot Toggle" msgstr "" #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 msgid "Shutter Speed" msgstr "Tốc độ chụp" #: src/minoltamn.cpp:1271 msgid "Ambient and Flash" msgstr "" #: src/minoltamn.cpp:1272 #, fuzzy msgid "Ambient Only" msgstr "Chỉ hình ảnh" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "0.3 giây" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "0.6 giây" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 msgid "Automatic" msgstr "Tự động" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 #, fuzzy msgid "Auto-rotate" msgstr "Tương phản tự động" #: src/minoltamn.cpp:1291 msgid "Horizontal" msgstr "" #: src/minoltamn.cpp:1297 msgid "Manual Rotate" msgstr "Xoay thủ công" #: src/minoltamn.cpp:1302 msgid "Within Range" msgstr "Trong phạm vi" #: src/minoltamn.cpp:1303 msgid "Under/Over Range" msgstr "Dưới/Quá phạm vi" #: src/minoltamn.cpp:1304 msgid "Out of Range" msgstr "Ngoài phạm vi" #: src/minoltamn.cpp:1309 msgid "Not Indicated" msgstr "" #: src/minoltamn.cpp:1310 #, fuzzy msgid "Under Scale" msgstr "Dưới nước" #: src/minoltamn.cpp:1311 #, fuzzy msgid "Bottom of Scale" msgstr "Dưới lên trên" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "" #: src/minoltamn.cpp:1330 msgid "Over Scale" msgstr "" #: src/minoltamn.cpp:1335 #, fuzzy msgid "AM" msgstr "A" #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "MF" #: src/minoltamn.cpp:1342 msgid "Built-in" msgstr "Lắp-trong" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 msgid "Very Low" msgstr "Rất thấp" #: src/minoltamn.cpp:1350 #, fuzzy msgid "Half Full" msgstr "Đầy" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "" #: src/minoltamn.cpp:1359 #, fuzzy msgid "Exposure Compensation Setting" msgstr "Bù trừ phơi sáng" #: src/minoltamn.cpp:1360 #, fuzzy msgid "Exposure compensation setting" msgstr "Độ bù trừ phơi sáng" #: src/minoltamn.cpp:1362 #, fuzzy msgid "High Speed Sync" msgstr "Tốc độ cao" #: src/minoltamn.cpp:1363 #, fuzzy msgid "High speed sync" msgstr "Tốc độ cao" #: src/minoltamn.cpp:1365 msgid "Manual Exposure Time" msgstr "Chỉnh thủ công Thời gian Phơi sáng" #: src/minoltamn.cpp:1366 msgid "Manual exposure time" msgstr "Chỉnh thủ công thời gian phơi sáng" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 #, fuzzy msgid "Manual FNumber" msgstr "Chuỗi số" #: src/minoltamn.cpp:1377 #, fuzzy msgid "Drive Mode 2" msgstr "Mở, Chế độ 2" #: src/minoltamn.cpp:1378 #, fuzzy msgid "Drive mode 2" msgstr "Chế độ góc rộng 2 (400%)" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 #, fuzzy msgid "AF Area Mode" msgstr "Chế độ Lấy nét tự động" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 #, fuzzy msgid "FlashMode" msgstr "Chế độ đèn chớp" #: src/minoltamn.cpp:1395 #, fuzzy msgid "Flash Exposure Comp Setting" msgstr "Sự bù phơi sáng đèn nháy" #: src/minoltamn.cpp:1396 #, fuzzy msgid "Flash exposure compensation setting" msgstr "Sự bù phơi sáng đèn nháy" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 msgid "ISO Setting" msgstr "Tùy chỉnh độ nhạy sáng" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 #, fuzzy msgid "Zone Matching Mode" msgstr "Chế độ đo đạc" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 msgid "Dynamic Range Optimizer Mode" msgstr "" #: src/minoltamn.cpp:1408 msgid "Dynamic range optimizer mode" msgstr "" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "" #: src/minoltamn.cpp:1434 msgid "Self Timer Time" msgstr "" #: src/minoltamn.cpp:1435 msgid "Self timer time" msgstr "" #: src/minoltamn.cpp:1438 #, fuzzy msgid "Continuous bracketing" msgstr "Liên tục, cao" #: src/minoltamn.cpp:1440 #, fuzzy msgid "Single Frame Bracketing" msgstr "Khung hình đơn" #: src/minoltamn.cpp:1441 #, fuzzy msgid "Single frame bracketing" msgstr "Khung hình đơn" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 #, fuzzy msgid "White balance bracketing" msgstr "Tùy chỉnh cân bằng trắng" #: src/minoltamn.cpp:1446 #, fuzzy msgid "White Balance Setting" msgstr "Tùy chỉnh cân bằng trắng" #: src/minoltamn.cpp:1449 #, fuzzy msgid "Preset White Balance" msgstr "Cân bằng trắng" #: src/minoltamn.cpp:1450 #, fuzzy msgid "Preset white balance" msgstr "Cân bằng trắng" #: src/minoltamn.cpp:1452 #, fuzzy msgid "Color Temperature Setting" msgstr "Nhiệt độ màu" #: src/minoltamn.cpp:1453 #, fuzzy msgid "Color temperature setting" msgstr "Nhiệt độ màu" #: src/minoltamn.cpp:1455 #, fuzzy msgid "Custom WB Setting" msgstr "Tùy chỉnh cân bằng sáng 1" #: src/minoltamn.cpp:1456 #, fuzzy msgid "Custom WB setting" msgstr "Tùy chỉnh cân bằng sáng 1" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 #, fuzzy msgid "Dynamic Range Optimizer Settings" msgstr "Tùy chỉnh kích cỡ hình ảnh" #: src/minoltamn.cpp:1464 #, fuzzy msgid "Custom WB Red Level" msgstr "Tùy chỉnh cân bằng sáng 1" #: src/minoltamn.cpp:1465 #, fuzzy msgid "Custom WB red level" msgstr "Tùy chỉnh cân bằng sáng 1" #: src/minoltamn.cpp:1467 #, fuzzy msgid "Custom WB Green Level" msgstr "Tùy chỉnh cân bằng sáng 1" #: src/minoltamn.cpp:1468 #, fuzzy msgid "Custom WB green level" msgstr "Tùy chỉnh cân bằng sáng 1" #: src/minoltamn.cpp:1470 #, fuzzy msgid "Custom WB Blue Level" msgstr "Tùy chỉnh cân bằng sáng 1" #: src/minoltamn.cpp:1471 #, fuzzy msgid "CustomWB blue level" msgstr "Tùy chỉnh cân bằng sáng 1" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 #, fuzzy msgid "Custom WB Error" msgstr "Tùy chỉnh cân bằng sáng 1" #: src/minoltamn.cpp:1477 #, fuzzy msgid "White balance fine tune" msgstr "Tùy chỉnh cân bằng trắng" #: src/minoltamn.cpp:1483 #, fuzzy msgid "Color compensation filter" msgstr "Giá trị bù trừ phơi sáng" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 msgid "Sony Image Size" msgstr "Kích cỡ hình Sony" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "" #: src/minoltamn.cpp:1500 msgid "Eye Start AF" msgstr "" #: src/minoltamn.cpp:1501 msgid "Eye start AF" msgstr "" #: src/minoltamn.cpp:1503 msgid "Red Eye Reduction" msgstr "TIêu giảm Mắt Đỏ" #: src/minoltamn.cpp:1504 msgid "Red eye reduction" msgstr "Tiêu giảm mắt đỏ" #: src/minoltamn.cpp:1506 msgid "Flash Default" msgstr "Đèn chớp mặc định" #: src/minoltamn.cpp:1507 msgid "Flash default" msgstr "Đèn chớp mặc định" #: src/minoltamn.cpp:1509 msgid "Auto Bracket Order" msgstr "" #: src/minoltamn.cpp:1510 msgid "Auto bracket order" msgstr "" #: src/minoltamn.cpp:1512 #, fuzzy msgid "Focus Hold Button" msgstr "Tùy chỉnh chế độ lấy nét" #: src/minoltamn.cpp:1513 #, fuzzy msgid "Focus hold button" msgstr "Tùy chỉnh chế độ lấy nét" #: src/minoltamn.cpp:1515 msgid "AEL Button" msgstr "" #: src/minoltamn.cpp:1516 msgid "AEL button" msgstr "" #: src/minoltamn.cpp:1518 #, fuzzy msgid "Control Dial Set" msgstr "Thiết lập độ tương phản" #: src/minoltamn.cpp:1519 #, fuzzy msgid "Control dial set" msgstr "Tương phản" #: src/minoltamn.cpp:1521 #, fuzzy msgid "Exposure Compensation Mode" msgstr "Bù trừ phơi sáng" #: src/minoltamn.cpp:1522 #, fuzzy msgid "Exposure compensation mode" msgstr "Độ bù trừ phơi sáng" #: src/minoltamn.cpp:1525 msgid "AF assist" msgstr "Hỗ trợ lấy nét tự động" #: src/minoltamn.cpp:1527 msgid "Card Shutter Lock" msgstr "" #: src/minoltamn.cpp:1528 #, fuzzy msgid "Card shutter lock" msgstr "Thời gian chập nhanh" #: src/minoltamn.cpp:1530 #, fuzzy msgid "Lens Shutter Lock" msgstr "Thời gian chập dài" #: src/minoltamn.cpp:1531 #, fuzzy msgid "Lens shutter lock" msgstr "Thời gian chập dài" #: src/minoltamn.cpp:1533 msgid "AF Area Illumination" msgstr "" #: src/minoltamn.cpp:1534 msgid "AF area illumination" msgstr "" #: src/minoltamn.cpp:1536 msgid "Monitor Display Off" msgstr "" #: src/minoltamn.cpp:1537 msgid "Monitor display off" msgstr "" #: src/minoltamn.cpp:1539 msgid "Record Display" msgstr "" #: src/minoltamn.cpp:1540 msgid "Record display" msgstr "" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "" #: src/minoltamn.cpp:1545 #, fuzzy msgid "Exposure Indicator" msgstr "Bù trừ ánh sáng" #: src/minoltamn.cpp:1546 #, fuzzy msgid "Exposure indicator" msgstr "Bù trừ ánh sáng" #: src/minoltamn.cpp:1548 #, fuzzy msgid "AEL Exposure Indicator" msgstr "Bù trừ ánh sáng" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "" #: src/minoltamn.cpp:1551 msgid "Exposure Bracketing Indicator Last" msgstr "" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "" #: src/minoltamn.cpp:1557 #, fuzzy msgid "Flash Exposure Indicator" msgstr "Sự bù phơi sáng đèn nháy" #: src/minoltamn.cpp:1558 #, fuzzy msgid "Flash exposure indicator" msgstr "Sự bù phơi sáng đèn nháy" #: src/minoltamn.cpp:1560 #, fuzzy msgid "Flash Exposure Indicator Next" msgstr "Sự bù phơi sáng đèn nháy" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1563 #, fuzzy msgid "Flash Exposure Indicator Last" msgstr "Sự bù phơi sáng đèn nháy" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1569 #, fuzzy msgid "Focus Mode Switch" msgstr "Chế độ lấy nét" #: src/minoltamn.cpp:1570 #, fuzzy msgid "Focus mode switch" msgstr "Tùy chỉnh chế độ lấy nét" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 #, fuzzy msgid "Flash Type" msgstr "Chế độ đèn chớp" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 #, fuzzy msgid "Flash type" msgstr "Chế độ đèn chớp" #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 msgid "AE Lock" msgstr "" #: src/minoltamn.cpp:1585 msgid "Color compensation filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:1587 src/tags.cpp:766 msgid "Battery Level" msgstr "Mức Pin" #: src/minoltamn.cpp:1588 msgid "Battery level" msgstr "Mức pin" #: src/minoltamn.cpp:1592 msgid "Unknown Sony Camera Settings A100 tag" msgstr "" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 msgid "Clear" msgstr "Rõ" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 msgid "Deep" msgstr "Sâu" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 msgid "Light" msgstr "Ánh sáng" #: src/minoltamn.cpp:1950 msgid "Night View" msgstr "Nhìn Ban đêm" #: src/minoltamn.cpp:1951 msgid "Autumn Leaves" msgstr "Lá Mùa thu" #: src/minoltamn.cpp:1990 msgid "Local" msgstr "Địa phương" #: src/minoltamn.cpp:2005 #, fuzzy msgid "Top-Right" msgstr "Phải" #: src/minoltamn.cpp:2007 #, fuzzy msgid "Bottom-Right" msgstr "dưới, phải" #: src/minoltamn.cpp:2009 #, fuzzy msgid "Bottom-Left" msgstr "Dưới-trung tâm" #: src/minoltamn.cpp:2011 #, fuzzy msgid "Top-Left" msgstr "Trái" #: src/minoltamn.cpp:2012 #, fuzzy msgid "Far-Right" msgstr "Phải" #: src/minoltamn.cpp:2013 #, fuzzy msgid "Far-Left" msgstr "Trái" #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 msgid "Advanced Auto" msgstr "" #: src/minoltamn.cpp:2028 msgid "Advanced Level" msgstr "" #: src/minoltamn.cpp:2041 msgid "AF" msgstr "AF" #: src/minoltamn.cpp:2042 #, fuzzy msgid "Release" msgstr "Ngày phát hành" #: src/minoltamn.cpp:2054 msgid "RAW " msgstr "RAW " #: src/minoltamn.cpp:2055 msgid "CRAW " msgstr "CRAW " #: src/minoltamn.cpp:2058 msgid "RAW+JPEG" msgstr "RAW+JPEG" #: src/minoltamn.cpp:2059 msgid "CRAW+JPEG" msgstr "CRAW+JPEG" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "Raw + JPEG" #: src/minoltamn.cpp:2116 #, fuzzy msgid "Compressed Raw" msgstr "Tỷ lệ nén" #: src/minoltamn.cpp:2117 #, fuzzy msgid "Compressed Raw + JPEG" msgstr "Raw + JPEG" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "" #: src/minoltamn.cpp:2132 msgid "Minolta AF 1.4x APO (D)" msgstr "" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "" #: src/minoltamn.cpp:2163 msgid "ISO Setting Used" msgstr "Các tùy chỉnh độ nhạy sáng đã sử dụng" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 #, fuzzy msgid "High Key" msgstr "Tốc độ cao" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "" #: src/nikonmn.cpp:80 msgid "Extra High" msgstr "" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 #, fuzzy msgid "Single area" msgstr "Khung hình đơn" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 #, fuzzy msgid "Dynamic area" msgstr "Sặc sỡ (màu sắc)" #: src/nikonmn.cpp:88 #, fuzzy msgid "Dynamic area, closest subject" msgstr "Vật thể gần nhất" #: src/nikonmn.cpp:89 msgid "Group dynamic" msgstr "" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 #, fuzzy msgid "Single area (wide)" msgstr "Khung hình đơn" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 msgid "Dynamic area (wide)" msgstr "" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 msgid "Upper-left" msgstr "" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 #, fuzzy msgid "Upper-right" msgstr "Phải" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 #, fuzzy msgid "Lower-left" msgstr "Thấp nhất" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 #, fuzzy msgid "Lower-right" msgstr "Phải" #: src/nikonmn.cpp:108 #, fuzzy msgid "Left-most" msgstr "Trái" #: src/nikonmn.cpp:109 #, fuzzy msgid "Right-most" msgstr "Quyền lợi" #: src/nikonmn.cpp:143 msgid "Fire, manual" msgstr "" #: src/nikonmn.cpp:144 #, fuzzy msgid "Fire, external" msgstr "Ngoài" #: src/nikonmn.cpp:145 msgid "Fire, commander mode" msgstr "" #: src/nikonmn.cpp:146 #, fuzzy msgid "Fire, TTL mode" msgstr "Chế độ ảnh" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 msgid "Delay" msgstr "" #: src/nikonmn.cpp:153 #, fuzzy msgid "PC Control" msgstr "Điều khiển màu" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 #, fuzzy msgid "Exposure Bracketing" msgstr "Cảnh báo phơi sáng" #: src/nikonmn.cpp:156 msgid "Auto ISO" msgstr "Độ nhạy sáng tự động" #: src/nikonmn.cpp:157 #, fuzzy msgid "White-Balance Bracketing" msgstr "Tùy chỉnh cân bằng trắng" #: src/nikonmn.cpp:158 #, fuzzy msgid "IR Control" msgstr "Điều khiển Từ xa" #: src/nikonmn.cpp:159 msgid "D-Lighting Bracketing" msgstr "" #: src/nikonmn.cpp:166 #, fuzzy msgid "PC control" msgstr "Điều khiển màu" #: src/nikonmn.cpp:167 #, fuzzy msgid "Exposure bracketing" msgstr "Cảnh báo phơi sáng" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "" #: src/nikonmn.cpp:170 #, fuzzy msgid "IR control" msgstr "Điều khiển màu" #: src/nikonmn.cpp:176 #, fuzzy msgid "Auto release" msgstr "Tự động + mắt đỏ" #: src/nikonmn.cpp:177 #, fuzzy msgid "Manual release" msgstr "Xoay thủ công" #: src/nikonmn.cpp:182 #, fuzzy msgid "Lossy (type 1)" msgstr "Kiểu ống kính" #: src/nikonmn.cpp:183 src/tags.cpp:251 #, fuzzy msgid "Uncompressed" msgstr "Epson ERF đã nén" #: src/nikonmn.cpp:184 msgid "Lossless" msgstr "" #: src/nikonmn.cpp:185 #, fuzzy msgid "Lossy (type 2)" msgstr "Kiểu ống kính" #: src/nikonmn.cpp:191 msgid "B & W" msgstr "B & W" #: src/nikonmn.cpp:193 msgid "Trim" msgstr "" #: src/nikonmn.cpp:194 msgid "Small picture" msgstr "Hình ảnh nhỏ" #: src/nikonmn.cpp:195 #, fuzzy msgid "D-Lighting" msgstr "Ánh sáng" #: src/nikonmn.cpp:196 msgid "Red eye" msgstr "Mắt đỏ" #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 #, fuzzy msgid "Cyanotype" msgstr "Kiểu" #: src/nikonmn.cpp:198 #, fuzzy msgid "Sky light" msgstr "Ánh sáng ban ngày" #: src/nikonmn.cpp:199 msgid "Warm tone" msgstr "Tông màu ấm" #: src/nikonmn.cpp:200 #, fuzzy msgid "Color custom" msgstr "Tông màu" #: src/nikonmn.cpp:201 #, fuzzy msgid "Image overlay" msgstr "Chỉ hình ảnh" #: src/nikonmn.cpp:207 msgid "Minimal" msgstr "" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 #, fuzzy msgid "Nikon Makernote version" msgstr "Firmware Version" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 msgid "ISO Speed" msgstr "Độ nhạy sáng" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 msgid "Sharpening" msgstr "Độ mịn" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 msgid "Image sharpening setting" msgstr "Tùy chỉnh độ mịn của hình" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 msgid "Focus" msgstr "Lấy nét" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 msgid "Flash Setting" msgstr "Tùy chỉnh Đèn chớp" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 msgid "Flash setting" msgstr "Tùy chỉnh đèn chớp" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 msgid "ISO Selection" msgstr "Lựa chọn Độ nhạy sáng" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 msgid "ISO selection" msgstr "Lựa chọn độ nhạy" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data Dump" msgstr "" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data dump" msgstr "" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 #, fuzzy msgid "Image Adjustment" msgstr "Tổng số Hình ảnh" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 #, fuzzy msgid "Image adjustment setting" msgstr "Tùy chỉnh kích cỡ hình ảnh" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 msgid "Auxiliary lens (adapter)" msgstr "" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 #, fuzzy msgid "Manual focus distance" msgstr "Khoảng cách lấy net1" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 msgid "Digital zoom setting" msgstr "Tùy chỉnh thu/phóng điện tử" #: src/nikonmn.cpp:260 #, fuzzy msgid "AF Focus Position" msgstr "Vị trí Lấy nét" #: src/nikonmn.cpp:261 #, fuzzy msgid "AF focus position information" msgstr "Vị trí lấy nét" #: src/nikonmn.cpp:265 #, fuzzy msgid "Unknown Nikon1MakerNote tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 #, fuzzy msgid "Continuous autofocus" msgstr "Liên tục, thấp" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 #, fuzzy msgid "Single autofocus" msgstr "Lấy nét tự động" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 msgid "Not used" msgstr "chưa được sử dụng" #: src/nikonmn.cpp:371 msgid "guess" msgstr "" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "" #: src/nikonmn.cpp:419 #, fuzzy msgid "VGA Normal" msgstr "Bình thường" #: src/nikonmn.cpp:420 #, fuzzy msgid "VGA Fine" msgstr "Tốt" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "" #: src/nikonmn.cpp:422 #, fuzzy msgid "SXGA Normal" msgstr "Bình thường" #: src/nikonmn.cpp:423 #, fuzzy msgid "SXGA Fine" msgstr "Tốt" #: src/nikonmn.cpp:435 msgid "Bright+" msgstr "Sáng+" #: src/nikonmn.cpp:436 msgid "Bright-" msgstr "Sáng-" #: src/nikonmn.cpp:437 msgid "Contrast+" msgstr "Tương phản+" #: src/nikonmn.cpp:438 msgid "Contrast-" msgstr "Tương phản-" #: src/nikonmn.cpp:457 msgid "Speedlight" msgstr "" #: src/nikonmn.cpp:497 #, fuzzy msgid "Unknown Nikon2MakerNote tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 msgid "Flash Device" msgstr "Thiết bị đèn chớp" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 #, fuzzy msgid "Flash device" msgstr "Thiết bị đèn chớp" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 msgid "White Balance Bias" msgstr "Bù trừ Cân bằng sáng" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 msgid "White balance bias" msgstr "Bù trừ cân bằng sáng" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB Levels" msgstr "" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB levels" msgstr "" #: src/nikonmn.cpp:544 #, fuzzy msgid "Program Shift" msgstr "Chương trình" #: src/nikonmn.cpp:544 #, fuzzy msgid "Program shift" msgstr "Phiên bản chương trình" #: src/nikonmn.cpp:545 #, fuzzy msgid "Exposure Difference" msgstr "Thời gian phơi sáng" #: src/nikonmn.cpp:545 #, fuzzy msgid "Exposure difference" msgstr "Thời gian phơi sáng" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 #, fuzzy msgid "Pointer to a preview image" msgstr "Độ dài của ảnh xem trước" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 #, fuzzy msgid "Offset to an IFD containing a preview image" msgstr "Bù trừ hình ảnh xem trước" #: src/nikonmn.cpp:549 #, fuzzy msgid "Flash Comp" msgstr "Đèn chớp tắt" #: src/nikonmn.cpp:549 #, fuzzy msgid "Flash compensation setting" msgstr "Tùy chỉnh chế độ đèn chớp" #: src/nikonmn.cpp:551 #, fuzzy msgid "Image Boundary" msgstr "Tổng số Hình ảnh" #: src/nikonmn.cpp:551 #, fuzzy msgid "Image boundary" msgstr "Tổng số Hình ảnh" #: src/nikonmn.cpp:552 #, fuzzy msgid "Flash exposure comp" msgstr "Sự bù phơi sáng đèn nháy" #: src/nikonmn.cpp:553 #, fuzzy msgid "Flash Bracket Comp" msgstr "Nguồn Đèn chớp" #: src/nikonmn.cpp:553 #, fuzzy msgid "Flash bracket compensation applied" msgstr "Sự bù phơi sáng đèn nháy" #: src/nikonmn.cpp:554 #, fuzzy msgid "Exposure Bracket Comp" msgstr "Tự động phơi sáng hoàn toàn" #: src/nikonmn.cpp:554 #, fuzzy msgid "AE bracket compensation applied" msgstr "Giá trị bù trừ phơi sáng" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 #, fuzzy msgid "Image Processing" msgstr "Sub-IFD sự xử lý ảnh" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 #, fuzzy msgid "Image processing" msgstr "Sub-IFD sự xử lý ảnh" #: src/nikonmn.cpp:556 #, fuzzy msgid "Crop High Speed" msgstr "Tốc độ cao" #: src/nikonmn.cpp:556 #, fuzzy msgid "Crop high speed" msgstr "Tốc độ cao" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure Tuning" msgstr "Cảnh báo phơi sáng" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure tuning" msgstr "Cảnh báo phơi sáng" #: src/nikonmn.cpp:560 #, fuzzy msgid "VR Info" msgstr "Thông tin thô" #: src/nikonmn.cpp:560 #, fuzzy msgid "VR info" msgstr "Thông tin lấy nét tự động" #: src/nikonmn.cpp:561 #, fuzzy msgid "Image Authentication" msgstr "Ổn định hình ảnh" #: src/nikonmn.cpp:561 #, fuzzy msgid "Image authentication" msgstr "Ổn định hình ảnh" #: src/nikonmn.cpp:562 msgid "ActiveD-Lighting" msgstr "" #: src/nikonmn.cpp:562 msgid "ActiveD-lighting" msgstr "" #: src/nikonmn.cpp:563 #, fuzzy msgid "Picture Control" msgstr "Thông tin hình ảnh" #: src/nikonmn.cpp:563 #, fuzzy msgid " Picture control" msgstr "Thông tin hình ảnh" #: src/nikonmn.cpp:564 src/properties.cpp:1387 #, fuzzy msgid "World Time" msgstr "Thời gian phơi sáng" #: src/nikonmn.cpp:564 #, fuzzy msgid "World time" msgstr "Thời gian phơi sáng" #: src/nikonmn.cpp:565 #, fuzzy msgid "ISO Info" msgstr "Thông tin Chụp" #: src/nikonmn.cpp:565 #, fuzzy msgid "ISO info" msgstr "Thông tin lấy nét tự động" #: src/nikonmn.cpp:566 #, fuzzy msgid "Vignette Control" msgstr "Điều khiển Từ xa" #: src/nikonmn.cpp:566 #, fuzzy msgid "Vignette control" msgstr "Điều khiển Từ xa" #: src/nikonmn.cpp:568 #, fuzzy msgid "Tone Compensation" msgstr "Bù trừ phơi sáng" #: src/nikonmn.cpp:568 #, fuzzy msgid "Tone compensation" msgstr "Độ bù trừ phơi sáng" #: src/nikonmn.cpp:574 msgid "Mode of flash used" msgstr "" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 msgid "Shooting Mode" msgstr "Chế độ Chụp" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 msgid "Shooting mode" msgstr "Chế độ chụp" #: src/nikonmn.cpp:577 msgid "Auto Bracket Release" msgstr "" #: src/nikonmn.cpp:577 msgid "Auto bracket release" msgstr "" #: src/nikonmn.cpp:578 #, fuzzy msgid "Lens FStops" msgstr "Kiểu ống kính" #: src/nikonmn.cpp:579 #, fuzzy msgid "Contrast Curve" msgstr "Giá trị Tương phản" #: src/nikonmn.cpp:579 #, fuzzy msgid "Contrast curve" msgstr "Giá trị Tương phản" #: src/nikonmn.cpp:580 #, fuzzy msgid "Color Hue" msgstr "Tông màu" #: src/nikonmn.cpp:580 #, fuzzy msgid "Color hue" msgstr "Tông màu" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 #, fuzzy msgid "Scene mode" msgstr "Chế độ ảnh" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 msgid "Light Source" msgstr "Nguồn Sáng" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 msgid "Light source" msgstr "Nguồn sáng" #: src/nikonmn.cpp:583 #, fuzzy msgid "Shot info" msgstr "Thông tin Chụp" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 #, fuzzy msgid "Hue Adjustment" msgstr "Điều chỉnh nhanh" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 #, fuzzy msgid "Hue adjustment" msgstr "Điều chỉnh cân bằng trắng" #: src/nikonmn.cpp:585 #, fuzzy msgid "NEF Compression" msgstr "Tỷ lệ nén" #: src/nikonmn.cpp:585 #, fuzzy msgid "NEF compression" msgstr "Nikon NEF đã nén" #: src/nikonmn.cpp:588 src/tags.cpp:905 msgid "Linearization Table" msgstr "" #: src/nikonmn.cpp:588 msgid "Linearization table" msgstr "" #: src/nikonmn.cpp:589 msgid "Color Balance" msgstr "Cân bằng Màu sắc" #: src/nikonmn.cpp:589 msgid "Color balance" msgstr "Cần bằng màu sắc" #: src/nikonmn.cpp:590 msgid "Lens Data" msgstr "Dữ liệu ống kính" #: src/nikonmn.cpp:590 #, fuzzy msgid "Lens data settings" msgstr "Tùy chỉnh chất lượng hình ảnh" #: src/nikonmn.cpp:591 #, fuzzy msgid "Raw Image Center" msgstr "Tổng số Hình ảnh" #: src/nikonmn.cpp:591 #, fuzzy msgid "Raw image center" msgstr "Kích cỡ hình ảnh gốc" #: src/nikonmn.cpp:592 msgid "Sensor Pixel Size" msgstr "Kích cỡ Điểm ảnh Cảm biến" #: src/nikonmn.cpp:592 msgid "Sensor pixel size" msgstr "Kích cỡ điểm ảnh cảm biến" #: src/nikonmn.cpp:594 #, fuzzy msgid "Scene Assist" msgstr "Hỗ trợ lấy nét tự động" #: src/nikonmn.cpp:594 #, fuzzy msgid "Scene assist" msgstr "Hỗ trợ lấy nét tự động" #: src/nikonmn.cpp:595 #, fuzzy msgid "Retouch History" msgstr "Lịch sử hình ảnh" #: src/nikonmn.cpp:595 msgid "Retouch history" msgstr "" #: src/nikonmn.cpp:597 #, fuzzy msgid "Serial NO" msgstr "Chuỗi số" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "" #: src/nikonmn.cpp:598 msgid "Image Data Size" msgstr "Kích cỡ Dữ liệu Hình ảnh" #: src/nikonmn.cpp:598 msgid "Image data size" msgstr "Kích cỡ dữ liệu hình ảnh" #: src/nikonmn.cpp:600 msgid "Image Count" msgstr "Tổng số Hình ảnh" #: src/nikonmn.cpp:600 msgid "Image count" msgstr "Tổng số hình ảnh" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 #, fuzzy msgid "Deleted Image Count" msgstr "Tổng số Hình ảnh" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 #, fuzzy msgid "Deleted image count" msgstr "Tổng số hình ảnh" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 #, fuzzy msgid "Shutter Count" msgstr "Ưu tiên tốc độ" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "" #: src/nikonmn.cpp:603 msgid "Flash info" msgstr "Thông tin đèn chớp" #: src/nikonmn.cpp:604 #, fuzzy msgid "Image Optimization" msgstr "Ổn định hình ảnh" #: src/nikonmn.cpp:604 #, fuzzy msgid "Image optimization" msgstr "Ổn định hình ảnh" #: src/nikonmn.cpp:606 #, fuzzy msgid "Program Variation" msgstr "Phiên bản chương trình" #: src/nikonmn.cpp:606 #, fuzzy msgid "Program variation" msgstr "Phiên bản chương trình" #: src/nikonmn.cpp:608 msgid "AF Response" msgstr "" #: src/nikonmn.cpp:608 msgid "AF response" msgstr "" #: src/nikonmn.cpp:609 #, fuzzy msgid "Multi exposure" msgstr "Đa chế độ phơi sáng" #: src/nikonmn.cpp:610 #, fuzzy msgid "High ISO Noise Reduction" msgstr "Giảm nhiễu do độ nhạy sáng cao" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 #, fuzzy msgid "Toning effect" msgstr "Hiệu ứng hình ảnh" #: src/nikonmn.cpp:612 #, fuzzy msgid "AF info 2" msgstr "Thông tin lấy nét tự động" #: src/nikonmn.cpp:613 #, fuzzy msgid "File info" msgstr "Thông tin lấy nét tự động" #: src/nikonmn.cpp:614 msgid "AF tune" msgstr "" #: src/nikonmn.cpp:617 msgid "Capture Data" msgstr "Dữ liệu thu được" #: src/nikonmn.cpp:617 msgid "Capture data" msgstr "Dữ liệu thu được" #: src/nikonmn.cpp:618 #, fuzzy msgid "Capture Version" msgstr "Phiên bản phần vững" #: src/nikonmn.cpp:618 #, fuzzy msgid "Capture version" msgstr "Firmware Version" #: src/nikonmn.cpp:620 #, fuzzy msgid "Capture Offsets" msgstr "Dữ liệu thu được" #: src/nikonmn.cpp:620 #, fuzzy msgid "Capture offsets" msgstr "Dữ liệu thu được" #: src/nikonmn.cpp:621 msgid "Scan IFD" msgstr "" #: src/nikonmn.cpp:622 msgid "ICC profile" msgstr "" #: src/nikonmn.cpp:623 #, fuzzy msgid "Capture output" msgstr "Dữ liệu thu được" #: src/nikonmn.cpp:625 #, fuzzy msgid "Unknown Nikon3MakerNote tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 msgid "No" msgstr "Không" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "Có" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "Y/M/D" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "M/D/Y" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "D/M/Y" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration Reduction" msgstr "Giảm rung" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration reduction" msgstr "Giảm rung" #: src/nikonmn.cpp:657 #, fuzzy msgid "Unknown Nikon Vibration Reduction Tag" msgstr "Giảm rung" #: src/nikonmn.cpp:667 msgid "Default Settings" msgstr "Các cài đặt mặc định" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 msgid "Quick Adjust" msgstr "Điều chỉnh nhanh" #: src/nikonmn.cpp:669 msgid "Full Control" msgstr "Điều khiển hoàn toàn" #: src/nikonmn.cpp:690 msgid "Blue-green" msgstr "" #: src/nikonmn.cpp:692 #, fuzzy msgid "Purple-blue" msgstr "Tím" #: src/nikonmn.cpp:693 #, fuzzy msgid "Red-purple" msgstr "Tím" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 msgid "Name" msgstr "Tên" #: src/nikonmn.cpp:701 msgid "Base" msgstr "" #: src/nikonmn.cpp:702 msgid "Adjust" msgstr "Điều chỉnh" #: src/nikonmn.cpp:703 msgid "Quick adjust" msgstr "Điều chỉnh nhanh" #: src/nikonmn.cpp:709 msgid "Filter effect" msgstr "Hiệu ứng kính lọc" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning Saturation" msgstr "Độ bão hòa đã thay đổi" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning saturation" msgstr "Độ bão hòa đã thay đổi" #: src/nikonmn.cpp:713 msgid "Unknown Nikon Picture Control Tag" msgstr "" #: src/nikonmn.cpp:730 msgid "AF Fine Tune" msgstr "" #: src/nikonmn.cpp:730 msgid "AF fine tune" msgstr "" #: src/nikonmn.cpp:731 msgid "AF Fine Tune Index" msgstr "" #: src/nikonmn.cpp:731 msgid "AF fine tune index" msgstr "" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF Fine Tune Adjustment" msgstr "Điều chỉnh cân bằng trắng" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF fine tune adjustment" msgstr "Điều chỉnh cân bằng trắng" #: src/nikonmn.cpp:734 msgid "Unknown Nikon AF Fine Tune Tag" msgstr "" #: src/nikonmn.cpp:744 #, fuzzy msgid "Timezone" msgstr "Thời gian" #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight Savings" msgstr "Ánh sáng ban ngày" #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight savings" msgstr "Ánh sáng ban ngày" #: src/nikonmn.cpp:746 msgid "Date Display Format" msgstr "Định dạng hiển thị ngày" #: src/nikonmn.cpp:746 msgid "Date display format" msgstr "Định dạng hiển thị ngày" #: src/nikonmn.cpp:748 msgid "Unknown Nikon World Time Tag" msgstr "" #: src/nikonmn.cpp:759 msgid "Hi 0.3" msgstr "Hi 0.3" #: src/nikonmn.cpp:760 msgid "Hi 0.5" msgstr "Hi 0.5" #: src/nikonmn.cpp:761 msgid "Hi 0.7" msgstr "Hi 0.7" #: src/nikonmn.cpp:762 msgid "Hi 1.0" msgstr "Hi 1.0" #: src/nikonmn.cpp:763 msgid "Hi 1.3" msgstr "Hi 1.3" #: src/nikonmn.cpp:764 msgid "Hi 1.5" msgstr "Hi 1.5" #: src/nikonmn.cpp:765 msgid "Hi 1.7" msgstr "Hi 1.7" #: src/nikonmn.cpp:766 msgid "Hi 2.0" msgstr "Hi 2.0" #: src/nikonmn.cpp:767 #, fuzzy msgid "Hi 2.3" msgstr "Hi 2.0" #: src/nikonmn.cpp:768 #, fuzzy msgid "Hi 2.5" msgstr "Hi 2.0" #: src/nikonmn.cpp:769 #, fuzzy msgid "Hi 2.7" msgstr "Hi 2.0" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "Lo 0.3" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "Lo 0.5" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "Lo 0.7" #: src/nikonmn.cpp:778 msgid "Lo 1.0" msgstr "Lo 1.0" #: src/nikonmn.cpp:784 #, fuzzy msgid "ISO Expansion" msgstr "Lựa chọn độ nhạy" #: src/nikonmn.cpp:784 #, fuzzy msgid "ISO expansion" msgstr "Lựa chọn Độ nhạy sáng" #: src/nikonmn.cpp:785 #, fuzzy msgid "ISO 2" msgstr "ISO JBIG" #: src/nikonmn.cpp:786 msgid "ISO Expansion 2" msgstr "" #: src/nikonmn.cpp:786 msgid "ISO expansion 2" msgstr "" #: src/nikonmn.cpp:788 msgid "Unknown Nikon Iso Info Tag" msgstr "" #: src/nikonmn.cpp:798 #, fuzzy msgid "Single Area" msgstr "Khung hình đơn" #: src/nikonmn.cpp:799 #, fuzzy msgid "Dynamic Area" msgstr "Sặc sỡ (màu sắc)" #: src/nikonmn.cpp:800 #, fuzzy msgid "Dynamic Area, Closest Subject" msgstr "Vật thể gần nhất" #: src/nikonmn.cpp:801 msgid "Group Dynamic" msgstr "" #: src/nikonmn.cpp:802 #, fuzzy msgid "Single Area (wide)" msgstr "Khung hình đơn" #: src/nikonmn.cpp:803 msgid "Dynamic Area (wide)" msgstr "" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 #, fuzzy msgid "Mid-left" msgstr "Trái" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 #, fuzzy msgid "Mid-right" msgstr "Phải" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 #, fuzzy msgid "Far Left" msgstr "Trái" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 #, fuzzy msgid "Far Right" msgstr "Phải" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 #, fuzzy msgid "AF area mode" msgstr "Chế độ lấy nét tự động" #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 #, fuzzy msgid "AF point" msgstr "Điểm lấy nét tự động" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF Points In Focus" msgstr "Điểm Lấy nét tự động Đã dùng" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF points in focus" msgstr "Điểm lấy nét tự động đã dùng" #: src/nikonmn.cpp:842 msgid "Unknown Nikon Auto Focus Tag" msgstr "" #: src/nikonmn.cpp:853 #, fuzzy msgid "On (51-point)" msgstr "Mở (1)" #: src/nikonmn.cpp:854 #, fuzzy msgid "On (11-point)" msgstr "Mở (1)" #: src/nikonmn.cpp:855 #, fuzzy msgid "On (39-point)" msgstr "Mở (3)" #: src/nikonmn.cpp:856 #, fuzzy msgid "On (73-point)" msgstr "Mở (3)" #: src/nikonmn.cpp:857 msgid "On (73-point, new)" msgstr "" #: src/nikonmn.cpp:858 #, fuzzy msgid "On (105-point)" msgstr "Mở (1)" #: src/nikonmn.cpp:864 #, fuzzy msgid "Contrast Detect AF" msgstr "Tùy chỉnh độ tương phản" #: src/nikonmn.cpp:864 #, fuzzy msgid "Contrast detect AF" msgstr "Tùy chỉnh độ tương phản" #: src/nikonmn.cpp:866 msgid "Phase Detect AF" msgstr "" #: src/nikonmn.cpp:866 msgid "Phase detect AF" msgstr "" #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF Point" msgstr "Điểm lấy nét tự động" #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF point" msgstr "Điểm lấy nét tự động" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF Image Width" msgstr "Chiều rộng hình ảnh" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF image width" msgstr "Chiều rộng hình ảnh" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF Image Height" msgstr "Chiều cao hình ảnh" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF image height" msgstr "Chiều cao hình ảnh" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF Area X Position" msgstr "Vị trí Lấy nét" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF area x position" msgstr "Vị trí lấy nét" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF Area Y Position" msgstr "Vị trí Lấy nét" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF area y position" msgstr "Vị trí lấy nét" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF Area Width" msgstr "Vùng lấy nét tự động" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF area width" msgstr "Vùng lấy nét từ động" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF Area Height" msgstr "Vùng lấy nét tự động" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF area height" msgstr "Chiều cao hình ảnh" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast Detect AF In Focus" msgstr "Tùy chỉnh độ tương phản" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast detect AF in focus" msgstr "Tùy chỉnh độ tương phản" #: src/nikonmn.cpp:877 msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory Number" msgstr "Số Thứ tự" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory number" msgstr "Số thứ tự" #: src/nikonmn.cpp:891 msgid "Unknown Nikon File Info Tag" msgstr "" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 #, fuzzy msgid "Multiple Exposure" msgstr "Đa chế độ phơi sáng" #: src/nikonmn.cpp:903 #, fuzzy msgid "Image Overlay" msgstr "Chỉ hình ảnh" #: src/nikonmn.cpp:909 msgid "Multi Exposure Mode" msgstr "Đa chế độ phơi sáng" #: src/nikonmn.cpp:909 msgid "Multi exposure mode" msgstr "Đa chế độ phơi sáng" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi Exposure Shots" msgstr "Đa chế độ phơi sáng" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi exposure shots" msgstr "Đa chế độ phơi sáng" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi Exposure Auto Gain" msgstr "Đa chế độ phơi sáng" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi exposure auto gain" msgstr "Đa chế độ phơi sáng" #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 msgid "Unknown Nikon Multi Exposure Tag" msgstr "" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 #, fuzzy msgid "Internal" msgstr "Ngoài" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "" #: src/nikonmn.cpp:991 msgid "iTTL-BL" msgstr "iTTL-BL" #: src/nikonmn.cpp:992 msgid "iTTL" msgstr "iTTL" #: src/nikonmn.cpp:993 msgid "Auto Aperture" msgstr "Khẩu độ tự động" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 msgid "Repeating Flash" msgstr "" #: src/nikonmn.cpp:1004 #, fuzzy msgid "Bounce Flash" msgstr "Không đèn chớp" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "" #: src/nikonmn.cpp:1018 #, fuzzy msgid "Amber" msgstr "Số F" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash Source" msgstr "Nguồn Đèn chớp" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash source" msgstr "Nguồn đèn chớp" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 msgid "0x0005" msgstr "0x0005" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External Flash Firmware" msgstr "Chế độ đèn nháy bên ngoài" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External flash firmware" msgstr "Chế độ đèn nháy bên ngoài" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External Flash Flags" msgstr "Chế độ đèn nháy bên ngoài" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External flash flags" msgstr "Đèn chớp gắn ngoài" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash Focal Length" msgstr "Khoảng Tiêu cự Tối đa" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash focal length" msgstr "Khoảng Tiêu cự tối đa" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 #, fuzzy msgid "Repeating flash rate" msgstr "Đổi tên tập tin thành" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 #, fuzzy msgid "Repeating flash count" msgstr "Điều khiển đèn chớp thủ công" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN Distance" msgstr "Khoảng cách Lấy nét" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN distance" msgstr "Khoảng cách lấy net1" #: src/nikonmn.cpp:1032 #, fuzzy msgid "Flash Group A Control Mode" msgstr "Chế độ điều khiển đèn chớp" #: src/nikonmn.cpp:1032 #, fuzzy msgid "Flash group a control mode" msgstr "Chế độ điều khiển đèn chớp" #: src/nikonmn.cpp:1033 #, fuzzy msgid "Flash Group B Control Mode" msgstr "Chế độ điều khiển đèn chớp" #: src/nikonmn.cpp:1033 #, fuzzy msgid "Flash group b control mode" msgstr "Chế độ điều khiển đèn chớp" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash Color Filter" msgstr "Lọc Màu" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash color filter" msgstr "Lọc màu" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 #, fuzzy msgid "Shutter count" msgstr "Ưu tiên tốc độ" #: src/nikonmn.cpp:1088 msgid "Unknown Nikon Shot Info D80 Tag" msgstr "" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 msgid "Flash Level" msgstr "Cường độ Đèn chớp" #: src/nikonmn.cpp:1100 msgid "Flash level" msgstr "Cường độ đèn chớp" #: src/nikonmn.cpp:1102 msgid "Unknown Nikon Shot Info D40 Tag" msgstr "" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF Fine Tune Adj" msgstr "" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF fine tune adj" msgstr "" #: src/nikonmn.cpp:1162 msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "" #: src/nikonmn.cpp:1222 msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "" #: src/nikonmn.cpp:1235 msgid "On (3)" msgstr "Mở (3)" #: src/nikonmn.cpp:1248 #, fuzzy msgid "Shutter Count 1" msgstr "Ưu tiên tốc độ" #: src/nikonmn.cpp:1248 #, fuzzy msgid "Shutter count 1" msgstr "Ưu tiên tốc độ" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration Reduction 1" msgstr "Giảm rung" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration reduction 1" msgstr "Giảm rung" #: src/nikonmn.cpp:1252 #, fuzzy msgid "Shutter Count 2" msgstr "Ưu tiên tốc độ" #: src/nikonmn.cpp:1252 #, fuzzy msgid "Shutter count 2" msgstr "Ưu tiên tốc độ" #: src/nikonmn.cpp:1253 #, fuzzy msgid "Vibration Reduction 2" msgstr "Giảm rung" #: src/nikonmn.cpp:1253 #, fuzzy msgid "Vibration reduction 2" msgstr "Giảm rung" #: src/nikonmn.cpp:1257 msgid "Unknown Nikon Shot Info Tag" msgstr "" #: src/nikonmn.cpp:1268 msgid "WB RBGG Levels" msgstr "" #: src/nikonmn.cpp:1268 msgid "WB RBGG levels" msgstr "" #: src/nikonmn.cpp:1270 msgid "Unknown Nikon Color Balance 1 Tag" msgstr "" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB Levels" msgstr "" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB levels" msgstr "" #: src/nikonmn.cpp:1283 msgid "Unknown Nikon Color Balance 2 Tag" msgstr "" #: src/nikonmn.cpp:1296 msgid "Unknown Nikon Color Balance 2a Tag" msgstr "" #: src/nikonmn.cpp:1309 msgid "Unknown Nikon Color Balance 2b Tag" msgstr "" #: src/nikonmn.cpp:1320 msgid "WB RGBG Levels" msgstr "" #: src/nikonmn.cpp:1320 msgid "WB RGBG levels" msgstr "" #: src/nikonmn.cpp:1322 msgid "Unknown Nikon Color Balance 3 Tag" msgstr "" #: src/nikonmn.cpp:1333 msgid "WB GRBG Levels" msgstr "" #: src/nikonmn.cpp:1333 msgid "WB GRBG levels" msgstr "" #: src/nikonmn.cpp:1335 msgid "Unknown Nikon Color Balance 4 Tag" msgstr "" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID Number" msgstr "Số hình ảnh Cuối cùng" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID number" msgstr "Số hình ảnh cuối cùng" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-Stops" msgstr "Kiểu ống kính" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-stops" msgstr "Kiểu ống kính" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min Focal Length" msgstr "Khoảng Tiêu cự Tối thiểu" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min focal length" msgstr "Khoảng Tiêu cự tối thiểu" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max Focal Length" msgstr "Khoảng Tiêu cự Tối đa" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max focal length" msgstr "Khoảng Tiêu cự tối đa" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 msgid "Max Aperture At Min Focal" msgstr "Khẩu độ Tối đa tại Tiêu cự Tối thiểu" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 msgid "Max aperture at min focal" msgstr "Khẩu độ tối đa tại tiêu cự tối thiểu" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 msgid "Max Aperture At Max Focal" msgstr "Khẩu độ Tối đa tại Tiêu cự Tối đa" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 msgid "Max aperture at max focal" msgstr "Tiêu cự tối đa tại tiêu cự tối thiểu" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU Version" msgstr "Phiên bản" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU version" msgstr "Mẫu phiên bản" #: src/nikonmn.cpp:1354 msgid "Unknown Nikon Lens Data 1 Tag" msgstr "" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit Pupil Position" msgstr "Vị trí Lấy nét" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit pupil position" msgstr "Vị trí lấy nét" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF Aperture" msgstr "Khẩu độ" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF aperture" msgstr "Khẩu độ" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 #, fuzzy msgid "Effective Max Aperture" msgstr "Khẩu độ tối đa" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 #, fuzzy msgid "Effective max aperture" msgstr "Khẩu độ tối đa" #: src/nikonmn.cpp:1379 msgid "Unknown Nikon Lens Data 2 Tag" msgstr "" #: src/nikonmn.cpp:1399 #, fuzzy msgid "Max aperture at min focal length" msgstr "Khẩu độ tối đa tại tiêu cự tối thiểu" #: src/nikonmn.cpp:1400 #, fuzzy msgid "Max aperture at max focal length" msgstr "Tiêu cự tối đa tại tiêu cự tối thiểu" #: src/nikonmn.cpp:1404 msgid "Unknown Nikon Lens Data 3 Tag" msgstr "" #: src/nikonmn.cpp:1590 msgid "Closest subject" msgstr "Vật thể gần nhất" #: src/nikonmn.cpp:1591 msgid "Group dynamic-AF" msgstr "" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "" #: src/nikonmn.cpp:1624 #, fuzzy msgid "used" msgstr "chưa được sử dụng" #: src/nikonmn.cpp:1650 #, fuzzy msgid "All 11 Points" msgstr "Điểm Lấy nét tự động" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 msgid "Single-frame" msgstr "Khung hình đơn" #: src/olympusmn.cpp:71 msgid "Standard Quality (SQ)" msgstr "Chất lượng tiêu chuẩn (SQ)" #: src/olympusmn.cpp:72 msgid "High Quality (HQ)" msgstr "Chất lượng cao (HQ)" #: src/olympusmn.cpp:73 msgid "Super High Quality (SHQ)" msgstr "Chất lượng siêu cao (SHQ)" #: src/olympusmn.cpp:88 msgid "On (preset)" msgstr "" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 msgid "Sport" msgstr "Thể thao" #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 msgid "Landscape+Portrait" msgstr "Phong cảnh+Chân dung" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 msgid "Self Portrait" msgstr "Chân dung" #: src/olympusmn.cpp:102 msgid "2 in 1" msgstr "2 trong 1" #: src/olympusmn.cpp:105 msgid "Night+Portrait" msgstr "Đêm+Chân dung" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "Thức ăn" #: src/olympusmn.cpp:112 msgid "Documents" msgstr "Tài liệu" #: src/olympusmn.cpp:114 msgid "Shoot & Select" msgstr "" #: src/olympusmn.cpp:115 msgid "Beach & Snow" msgstr "Bãi biển và Tuyết" #: src/olympusmn.cpp:116 #, fuzzy msgid "Self Portrait+Timer" msgstr "Chân dung" #: src/olympusmn.cpp:117 msgid "Candle" msgstr "Đèn cầy" #: src/olympusmn.cpp:118 msgid "Available Light" msgstr "Ánh sáng có sẵn" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "Đằng sau kính" #: src/olympusmn.cpp:120 msgid "My Mode" msgstr "Chế độ của tôi" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 msgid "Pet" msgstr "Thú cưng" #: src/olympusmn.cpp:122 #, fuzzy msgid "Underwater Wide1" msgstr "Dưới nước" #: src/olympusmn.cpp:123 #, fuzzy msgid "Underwater Macro" msgstr "Dưới nước" #: src/olympusmn.cpp:124 msgid "Shoot & Select1" msgstr "" #: src/olympusmn.cpp:125 msgid "Shoot & Select2" msgstr "" #: src/olympusmn.cpp:127 #, fuzzy msgid "Digital Image Stabilization" msgstr "Ổn định hình ảnh" #: src/olympusmn.cpp:128 #, fuzzy msgid "Auction" msgstr "Vị trí" #: src/olympusmn.cpp:131 #, fuzzy msgid "Underwater Wide2" msgstr "Dưới nước" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "Trẻ em" #: src/olympusmn.cpp:135 #, fuzzy msgid "Nature Macro" msgstr "Siêu cận cảnh phóng to" #: src/olympusmn.cpp:136 #, fuzzy msgid "Underwater Snapshot" msgstr "Dưới nước" #: src/olympusmn.cpp:137 msgid "Shooting Guide" msgstr "Hướng dẫn chụp" #: src/olympusmn.cpp:145 msgid "Internal + External" msgstr "Bên trong và bên ngoài" #: src/olympusmn.cpp:176 #, fuzzy msgid "Interlaced" msgstr "Canh giữa" #: src/olympusmn.cpp:177 #, fuzzy msgid "Progressive" msgstr "Phiên bản chương trình" #: src/olympusmn.cpp:188 msgid "Thumbnail Image" msgstr "Hình ảnh thu nhỏ" #: src/olympusmn.cpp:189 msgid "Thumbnail image" msgstr "Hình ảnh thu nhỏ" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 #, fuzzy msgid "Body Firmware Version" msgstr "Phiên bản phần vững" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 #, fuzzy msgid "Body firmware version" msgstr "Firmware Version" #: src/olympusmn.cpp:195 msgid "Special Mode" msgstr "Chế độ đặc biệt" #: src/olympusmn.cpp:196 msgid "Picture taking mode" msgstr "Chế độ chụp hình ảnh" #: src/olympusmn.cpp:204 msgid "Black & White Mode" msgstr "Chế độ Đen và Trắng" #: src/olympusmn.cpp:205 msgid "Black and white mode" msgstr "Chế độ đen và trắng" #: src/olympusmn.cpp:208 msgid "Digital zoom ratio" msgstr "Tỉ lệ thu/phóng điện tử" #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 msgid "Focal Plane Diagonal" msgstr "" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 msgid "Focal plane diagonal" msgstr "" #: src/olympusmn.cpp:213 msgid "Lens Distortion Parameters" msgstr "" #: src/olympusmn.cpp:214 msgid "Lens distortion parameters" msgstr "" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 msgid "Camera Type" msgstr "Kiểu Ca-me-ra" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 #, fuzzy msgid "Camera type" msgstr "Kiểu Ca-me-ra" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "" #: src/olympusmn.cpp:222 #, fuzzy msgid "Camera ID" msgstr "Thông tin Máy ảnh" #: src/olympusmn.cpp:223 #, fuzzy msgid "Camera ID data" msgstr "Thông tin Máy ảnh" #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "Phần mềm" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 msgid "Preview Image" msgstr "Xem trước hình ảnh" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 msgid "Preview image" msgstr "Xem trước hình ảnh" #: src/olympusmn.cpp:237 #, fuzzy msgid "Pre Capture Frames" msgstr "Dữ liệu thu được" #: src/olympusmn.cpp:238 #, fuzzy msgid "Pre-capture frames" msgstr "Chế độ ảnh" #: src/olympusmn.cpp:240 msgid "White Board" msgstr "Bảng trắng" #: src/olympusmn.cpp:241 msgid "White board" msgstr "Bảng trắng" #: src/olympusmn.cpp:243 msgid "One Touch WB" msgstr "" #: src/olympusmn.cpp:244 #, fuzzy msgid "One touch white balance" msgstr "Cân bằng trắng" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 #, fuzzy msgid "White Balance Bracket" msgstr "Bù trừ Cân bằng sáng" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 #, fuzzy msgid "White balance bracket" msgstr "Bù trừ cân bằng sáng" #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 msgid "Firmware" msgstr "Firmware" #: src/olympusmn.cpp:261 msgid "Data Dump 1" msgstr "" #: src/olympusmn.cpp:262 #, fuzzy msgid "Various camera settings 1" msgstr "Các tùy chỉnh máy ảnh khác nhau" #: src/olympusmn.cpp:264 msgid "Data Dump 2" msgstr "" #: src/olympusmn.cpp:265 #, fuzzy msgid "Various camera settings 2" msgstr "Các tùy chỉnh máy ảnh khác nhau" #: src/olympusmn.cpp:268 msgid "Shutter speed value" msgstr "Giá trị tốc độ chụp" #: src/olympusmn.cpp:271 #, fuzzy msgid "ISO speed value" msgstr "Độ nhạy sáng đã sử dụng" #: src/olympusmn.cpp:274 msgid "Aperture value" msgstr "Giá trị khẩu độ" #: src/olympusmn.cpp:277 msgid "Brightness value" msgstr "Giá trị độ sáng" #: src/olympusmn.cpp:285 msgid "Bracket" msgstr "" #: src/olympusmn.cpp:286 msgid "Exposure compensation value" msgstr "Giá trị bù trừ phơi sáng" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 msgid "Sensor Temperature" msgstr "Cảm biến Nhiệt độ" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 msgid "Sensor temperature" msgstr "Cảm biến nhiệt độ" #: src/olympusmn.cpp:291 #, fuzzy msgid "Lens Temperature" msgstr "Cảm biến Nhiệt độ" #: src/olympusmn.cpp:292 #, fuzzy msgid "Lens temperature" msgstr "Cảm biến nhiệt độ" #: src/olympusmn.cpp:294 msgid "Light Condition" msgstr "Điều kiện Ánh sáng" #: src/olympusmn.cpp:295 msgid "Light condition" msgstr "Điều kiện ánh sáng" #: src/olympusmn.cpp:297 #, fuzzy msgid "Focus Range" msgstr "Vùng lấy nét" #: src/olympusmn.cpp:298 #, fuzzy msgid "Focus range" msgstr "Vùng lấy nét" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "Thu/phóng" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 #, fuzzy msgid "Zoom step count" msgstr "Tổng số hình ảnh" #: src/olympusmn.cpp:309 #, fuzzy msgid "Macro Focus" msgstr "Chế độ chụp cận cảnh" #: src/olympusmn.cpp:310 msgid "Macro focus step count" msgstr "" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 msgid "Sharpness Factor" msgstr "Hệ số độ sắc nét" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 msgid "Sharpness factor" msgstr "Hệ số độ sắc nét" #: src/olympusmn.cpp:315 msgid "Flash Charge Level" msgstr "Mức độ nạp điện đèn nháy" #: src/olympusmn.cpp:316 msgid "Flash charge level" msgstr "Mức độ nạp điện đèn nháy" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 msgid "Color Matrix" msgstr "Ma trận màu" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 msgid "Color matrix" msgstr "Ma trận màu" #: src/olympusmn.cpp:321 #, fuzzy msgid "BlackLevel" msgstr "Cường độ Đèn chớp" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 #, fuzzy msgid "Black level" msgstr "Cường độ đèn chớp" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 msgid "White balance mode" msgstr "Chế độ cân bằng trắng" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 msgid "Red Balance" msgstr "Cân bằng đỏ" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 msgid "Red balance" msgstr "Cân bằng đỏ" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 msgid "Blue Balance" msgstr "Cân bằng Xanh" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 msgid "Blue balance" msgstr "Cân bằng xanh" #: src/olympusmn.cpp:342 msgid "Color Matrix Number" msgstr "Số ma trận màu" #: src/olympusmn.cpp:343 #, fuzzy msgid "Color matrix number" msgstr "Số ma trận màu" #: src/olympusmn.cpp:345 #, fuzzy msgid "Serial Number 2" msgstr "Chuỗi số" #: src/olympusmn.cpp:346 #, fuzzy msgid "Serial number 2" msgstr "Chuỗi số" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 msgid "Flash exposure compensation" msgstr "Sự bù phơi sáng đèn nháy" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 msgid "External Flash Bounce" msgstr "Nảy đèn nháy bên ngoài" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 msgid "External flash bounce" msgstr "Nảy đèn nháy bên ngoài" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 #, fuzzy msgid "External Flash Zoom" msgstr "Thu/phóng đèn nháy bên ngoài" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 msgid "External flash zoom" msgstr "Thu/phóng đèn nháy bên ngoài" #: src/olympusmn.cpp:387 msgid "External Flash Mode" msgstr "Chế độ đèn nháy bên ngoài" #: src/olympusmn.cpp:388 msgid "External flash mode" msgstr "Chế độ đèn nháy bên ngoài" #: src/olympusmn.cpp:396 msgid "Color Control" msgstr "Điều khiển màu" #: src/olympusmn.cpp:397 msgid "Color control" msgstr "Điều khiển màu" #: src/olympusmn.cpp:399 msgid "ValidBits" msgstr "" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 msgid "Valid bits" msgstr "" #: src/olympusmn.cpp:402 #, fuzzy msgid "CoringFilter" msgstr "Lọc Màu" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring filter" msgstr "Lọc màu" #: src/olympusmn.cpp:423 msgid "Compression Ratio" msgstr "Tỷ lệ nén" #: src/olympusmn.cpp:424 msgid "Compression ratio" msgstr "Tỷ lệ nén" #: src/olympusmn.cpp:427 msgid "Preview image embedded" msgstr "Xem trước ảnh nhúng" #: src/olympusmn.cpp:430 msgid "Offset of the preview image" msgstr "Bù trừ hình ảnh xem trước" #: src/olympusmn.cpp:433 msgid "Size of the preview image" msgstr "Kích cỡ hình ảnh xem trước" #: src/olympusmn.cpp:435 msgid "CCD Scan Mode" msgstr "Chế độ quét CCD" #: src/olympusmn.cpp:436 #, fuzzy msgid "CCD scan mode" msgstr "Chế độ quét CCD" #: src/olympusmn.cpp:441 msgid "Infinity Lens Step" msgstr "Bước ống kính vô hạn" #: src/olympusmn.cpp:442 msgid "Infinity lens step" msgstr "Bước ống kính vô hạn" #: src/olympusmn.cpp:444 msgid "Near Lens Step" msgstr "Bước ống kính ở gần" #: src/olympusmn.cpp:445 msgid "Near lens step" msgstr "Bước ống kính ở gần" #: src/olympusmn.cpp:447 msgid "Equipment Info" msgstr "Thông tin thiết bị" #: src/olympusmn.cpp:448 msgid "Camera equipment sub-IFD" msgstr "Sub-IFD thiết bị máy ảnh" #: src/olympusmn.cpp:451 msgid "Camera Settings sub-IFD" msgstr "Sub-IFD thiết lập máy ảnh" #: src/olympusmn.cpp:453 msgid "Raw Development" msgstr "Sự phát triển thô" #: src/olympusmn.cpp:454 msgid "Raw development sub-IFD" msgstr "Sub-IFD phát triển thô" #: src/olympusmn.cpp:456 msgid "Raw Development 2" msgstr "Sự phát triển thô 2" #: src/olympusmn.cpp:457 msgid "Raw development 2 sub-IFD" msgstr "Sub-IFD sự phát triển thô 2" #: src/olympusmn.cpp:460 msgid "Image processing sub-IFD" msgstr "Sub-IFD sự xử lý ảnh" #: src/olympusmn.cpp:462 msgid "Focus Info" msgstr "Thông tin tiêu cự" #: src/olympusmn.cpp:463 msgid "Focus sub-IFD" msgstr "Sub-IFD tiêu cự" #: src/olympusmn.cpp:465 msgid "Raw Info" msgstr "Thông tin thô" #: src/olympusmn.cpp:466 msgid "Raw sub-IFD" msgstr "Sub-IFD thô" #: src/olympusmn.cpp:470 msgid "Unknown OlympusMakerNote tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/olympusmn.cpp:486 #, fuzzy msgid "Program-shift" msgstr "Chương trình" #: src/olympusmn.cpp:491 msgid "Center-weighted average" msgstr "" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "ESP" #: src/olympusmn.cpp:494 msgid "Pattern+AF" msgstr "" #: src/olympusmn.cpp:495 msgid "Spot+Highlight control" msgstr "" #: src/olympusmn.cpp:496 #, fuzzy msgid "Spot+Shadow control" msgstr "Điều khiển màu" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 #, fuzzy msgid "Single AF" msgstr "Đơn" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 msgid "Multi AF" msgstr "" #: src/olympusmn.cpp:517 #, fuzzy msgid "AF Not Used" msgstr "Điểm Lấy nét tự động Đã dùng" #: src/olympusmn.cpp:518 #, fuzzy msgid "AF Used" msgstr "Điểm Lấy nét tự động Đã dùng" #: src/olympusmn.cpp:523 msgid "Not Ready" msgstr "Chưa sẵn sàng" #: src/olympusmn.cpp:524 msgid "Ready" msgstr "Sẵn sàng" #: src/olympusmn.cpp:531 msgid "Fill-in" msgstr "" #: src/olympusmn.cpp:533 msgid "Slow-sync" msgstr "Đồng bộ chậm" #: src/olympusmn.cpp:534 msgid "Forced On" msgstr "" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "" #: src/olympusmn.cpp:541 #, fuzzy msgid "Channel 1, Low" msgstr "Kênh 1, Cao" #: src/olympusmn.cpp:542 #, fuzzy msgid "Channel 2, Low" msgstr "Kênh 2, Cao" #: src/olympusmn.cpp:543 #, fuzzy msgid "Channel 3, Low" msgstr "Kênh 3, Cao" #: src/olympusmn.cpp:544 #, fuzzy msgid "Channel 4, Low" msgstr "Kênh 4, Cao" #: src/olympusmn.cpp:545 #, fuzzy msgid "Channel 1, Mid" msgstr "Kênh 1, Cao" #: src/olympusmn.cpp:546 #, fuzzy msgid "Channel 2, Mid" msgstr "Kênh 2, Cao" #: src/olympusmn.cpp:547 #, fuzzy msgid "Channel 3, Mid" msgstr "Kênh 3, Cao" #: src/olympusmn.cpp:548 #, fuzzy msgid "Channel 4, Mid" msgstr "Kênh 4, Cao" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "Kênh 1, Cao" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "Kênh 2, Cao" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "Kênh 3, Cao" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "Kênh 4, Cao" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "" #: src/olympusmn.cpp:567 msgid "7500K (Fine Weather with Shade)" msgstr "7500k (Thời tiết đẹp với bóng râm)" #: src/olympusmn.cpp:568 msgid "6000K (Cloudy)" msgstr "6000K (Trời mây)" #: src/olympusmn.cpp:569 msgid "5300K (Fine Weather)" msgstr "5300K (Thời tiết tốt)" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 msgid "3600K (Tungsten light-like)" msgstr "" #: src/olympusmn.cpp:572 #, fuzzy msgid "Auto Setup" msgstr "Khẩu độ tự động" #: src/olympusmn.cpp:573 #, fuzzy msgid "5500K (Flash)" msgstr "Tự động (Đèn chớp)" #: src/olympusmn.cpp:574 msgid "6600K (Daylight fluorescent)" msgstr "6600K (Ánh sáng huỳnh quang ban ngày)" #: src/olympusmn.cpp:575 msgid "4500K (Neutral white fluorescent)" msgstr "4500K (Ánh sáng huỳnh quang trắng tự nhiên)" #: src/olympusmn.cpp:576 msgid "4000K (Cool white fluorescent)" msgstr "4000K (Ánh sáng trắng lạnh)" #: src/olympusmn.cpp:577 #, fuzzy msgid "White Fluorescent" msgstr "Điểm trắng" #: src/olympusmn.cpp:580 msgid "One Touch WB 1" msgstr "" #: src/olympusmn.cpp:581 msgid "One Touch WB 2" msgstr "" #: src/olympusmn.cpp:582 msgid "One Touch WB 3" msgstr "" #: src/olympusmn.cpp:583 msgid "One Touch WB 4" msgstr "" #: src/olympusmn.cpp:584 msgid "Custom WB 1" msgstr "Tùy chỉnh cân bằng sáng 1" #: src/olympusmn.cpp:585 msgid "Custom WB 2" msgstr "Tùy chỉnh cân bằng sáng 2" #: src/olympusmn.cpp:586 msgid "Custom WB 3" msgstr "Tùy chỉnh cân bằng sáng 3" #: src/olympusmn.cpp:587 msgid "Custom WB 4" msgstr "Tùy chỉnh cân bằng sáng 4" #: src/olympusmn.cpp:593 msgid "CM1 (Red Enhance)" msgstr "CM1 (Tăng đỏ)" #: src/olympusmn.cpp:594 msgid "CM2 (Green Enhance)" msgstr "CM2 (Tăng xanh lá)" #: src/olympusmn.cpp:595 msgid "CM3 (Blue Enhance)" msgstr "CM3 (Tăng xanh dương)" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 msgid "Noise Filter" msgstr "Bộ lọc nhiễu" #: src/olympusmn.cpp:610 #, fuzzy msgid "Noise Filter (ISO Boost)" msgstr "Bộ lọc nhiễu" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 msgid "Muted" msgstr "" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 msgid "Monotone" msgstr "Đơn sắc" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "SQ" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "HQ" #: src/olympusmn.cpp:648 msgid "SHQ" msgstr "SHQ" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 msgid "On, Mode 1" msgstr "Mở, Chế độ 1" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 msgid "On, Mode 2" msgstr "Mở, Chế độ 2" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 msgid "On, Mode 3" msgstr "Mở, Chế độ 3" #: src/olympusmn.cpp:661 msgid "Camera Settings Version" msgstr "Phiên bản thiết lập máy ảnh" #: src/olympusmn.cpp:661 msgid "Camera settings version" msgstr "Phiên bản thiết lập máy ảnh" #: src/olympusmn.cpp:662 msgid "PreviewImage Valid" msgstr "Kiểm tra ảnh xem trước" #: src/olympusmn.cpp:662 msgid "Preview image valid" msgstr "Kiểm tra ảnh xem trước" #: src/olympusmn.cpp:663 msgid "PreviewImage Start" msgstr "Bắt đầu ảnh xem trước" #: src/olympusmn.cpp:663 msgid "Preview image start" msgstr "Bắt đầu ảnh xem trước" #: src/olympusmn.cpp:664 msgid "PreviewImage Length" msgstr "Độ dài ảnh xem trước" #: src/olympusmn.cpp:664 msgid "Preview image length" msgstr "Độ dài ảnh xem trước" #: src/olympusmn.cpp:666 msgid "Auto exposure lock" msgstr "Khoá tự động phơi sáng" #: src/olympusmn.cpp:668 msgid "Exposure Shift" msgstr "Dịch chuyển phơi sáng" #: src/olympusmn.cpp:668 msgid "Exposure shift" msgstr "Dịch chuyển phơi sáng" #: src/olympusmn.cpp:671 msgid "Focus Process" msgstr "Tiến trình lấy nét" #: src/olympusmn.cpp:671 msgid "Focus process" msgstr "Quá trình lấy nétTiến trình lấy nét" #: src/olympusmn.cpp:672 msgid "AF Search" msgstr "Tìm kiếm lấy nét tự động" #: src/olympusmn.cpp:672 msgid "AF search" msgstr "Tìm kiếm lấy nét tự động" #: src/olympusmn.cpp:673 msgid "AF Areas" msgstr "Vùng lấy nét tự động" #: src/olympusmn.cpp:673 msgid "AF areas" msgstr "Vùng lấy nét từ động" #: src/olympusmn.cpp:674 #, fuzzy msgid "AFPointSelected" msgstr "Lựa chọn điểm lấy nét tự động" #: src/olympusmn.cpp:675 msgid "AF Fine Tune Adjust" msgstr "" #: src/olympusmn.cpp:675 msgid "AF fine tune adjust" msgstr "" #: src/olympusmn.cpp:678 msgid "Flash Remote Control" msgstr "Điều khiển từ xa đèn chớp" #: src/olympusmn.cpp:678 msgid "Flash remote control" msgstr "Điều khiển từ xa đèn chớp" #: src/olympusmn.cpp:679 msgid "Flash Control Mode" msgstr "Chế độ điều khiển đèn chớp" #: src/olympusmn.cpp:679 msgid "Flash control mode" msgstr "Chế độ điều khiển đèn chớp" #: src/olympusmn.cpp:680 msgid "Flash Intensity" msgstr "Cường độ đèn chớp" #: src/olympusmn.cpp:680 msgid "Flash intensity" msgstr "Cường độ đèn chớp" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual Flash Strength" msgstr "Độ mạnh đèn chớp" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual flash strength" msgstr "Điều khiển đèn chớp thủ công" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 msgid "White Balance 2" msgstr "Cân bằng Trắng 2" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 msgid "White balance 2" msgstr "Cân bằng trắng 2" #: src/olympusmn.cpp:683 #, fuzzy msgid "White Balance Temperature" msgstr "Bảng cân bằng trắng" #: src/olympusmn.cpp:683 #, fuzzy msgid "White balance temperature" msgstr "Bảng cân bằng trắng" #: src/olympusmn.cpp:685 msgid "Custom Saturation" msgstr "Độ bão hòa tùy chỉnh" #: src/olympusmn.cpp:685 msgid "Custom saturation" msgstr "Độ bão hòa tùy chỉnh" #: src/olympusmn.cpp:686 msgid "Modified Saturation" msgstr "Độ bão hòa đã thay đổi" #: src/olympusmn.cpp:686 msgid "Modified saturation" msgstr "Độ bão hòa đã thay đổi" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 msgid "Contrast Setting" msgstr "Thiết lập độ tương phản" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 msgid "Sharpness Setting" msgstr "Thiết lập độ sắc nét" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 #, fuzzy msgid "Distortion Correction" msgstr "Giảm rung" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 #, fuzzy msgid "Distortion correction" msgstr "Giảm rung" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 #, fuzzy msgid "Shading Compensation" msgstr "Bù trừ phơi sáng" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 #, fuzzy msgid "Shading compensation" msgstr "Độ bù trừ phơi sáng" #: src/olympusmn.cpp:694 #, fuzzy msgid "Compression Factor" msgstr "Tỷ lệ nén" #: src/olympusmn.cpp:694 #, fuzzy msgid "Compression factor" msgstr "Tỷ lệ nén" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 #, fuzzy msgid "Gradation" msgstr "Thời lượng" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 msgid "Picture mode" msgstr "Chế độ ảnh" #: src/olympusmn.cpp:697 msgid "Picture Mode Saturation" msgstr "Chế độ ảnh bão hòa" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 msgid "Picture mode saturation" msgstr "Chế độ ảnh bão hòa" #: src/olympusmn.cpp:698 msgid "Picture Mode Hue" msgstr "Chế độ ảnh màu sắc" #: src/olympusmn.cpp:698 msgid "Picture mode hue" msgstr "Chế độ ảnh màu sắc" #: src/olympusmn.cpp:699 msgid "Picture Mode Contrast" msgstr "Chế độ ảnh tương phản" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 msgid "Picture mode contrast" msgstr "Chế độ ảnh tương phản" #: src/olympusmn.cpp:700 msgid "Picture Mode Sharpness" msgstr "Chế độ ảnh sắc nét" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 msgid "Picture mode sharpness" msgstr "Chế độ ảnh sắc nét" #: src/olympusmn.cpp:701 msgid "Picture Mode BW Filter" msgstr "Chế độ ảnh bộ lọc cân bằng trắng" #: src/olympusmn.cpp:701 msgid "Picture mode BW filter" msgstr "Chế độ ảnh bộ lọc cân bằng trắng" #: src/olympusmn.cpp:702 #, fuzzy msgid "Picture Mode Tone" msgstr "Chế độ ảnh màu sắc" #: src/olympusmn.cpp:702 #, fuzzy msgid "Picture mode tone" msgstr "Chế độ ảnh màu sắc" #: src/olympusmn.cpp:703 msgid "Noise filter" msgstr "Lọc nhiễu" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art Filter" msgstr "Lọc" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art filter" msgstr "Lọc màu" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic Filter" msgstr "Bộ lọc nhiễu" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic filter" msgstr "Lọc điện tử" #: src/olympusmn.cpp:707 msgid "Panorama Mode" msgstr "Chế độ toàn cảnh" #: src/olympusmn.cpp:707 msgid "Panorama mode" msgstr "Chế độ toàn cảnh" #: src/olympusmn.cpp:708 msgid "Image Quality 2" msgstr "Chất lượng hình ảnh 2" #: src/olympusmn.cpp:708 msgid "Image quality 2" msgstr "Chất lượng hình ảnh 2" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer Pressure" msgstr "" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer pressure" msgstr "" #: src/olympusmn.cpp:711 msgid "Manometer Reading" msgstr "" #: src/olympusmn.cpp:711 msgid "Manometer reading" msgstr "" #: src/olympusmn.cpp:712 msgid "Extended WB Detect" msgstr "" #: src/olympusmn.cpp:712 msgid "Extended WB detect" msgstr "" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "" #: src/olympusmn.cpp:716 #, fuzzy msgid "Unknown OlympusCs tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "" #: src/olympusmn.cpp:745 #, fuzzy msgid "Equipment Version" msgstr "Thông tin thiết bị" #: src/olympusmn.cpp:745 #, fuzzy msgid "Equipment version" msgstr "Thông tin thiết bị" #: src/olympusmn.cpp:747 #, fuzzy msgid "Serial number" msgstr "Chuỗi số" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 #, fuzzy msgid "Lens Serial Number" msgstr "Chuỗi số" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 #, fuzzy msgid "Lens serial number" msgstr "Dãy số bên trong" #: src/olympusmn.cpp:754 #, fuzzy msgid "Lens Firmware Version" msgstr "Phiên bản phần vững" #: src/olympusmn.cpp:754 #, fuzzy msgid "Lens firmware version" msgstr "Firmware Version" #: src/olympusmn.cpp:759 msgid "Max Aperture At Current Focal" msgstr "Khẩu độ Tối đa Tại Tiêu cự Hiện tại" #: src/olympusmn.cpp:759 msgid "Max aperture at current focal" msgstr "Khẩu độ tối đa tại tiêu cự hiện tại" #: src/olympusmn.cpp:760 msgid "Lens Properties" msgstr "" #: src/olympusmn.cpp:760 msgid "Lens properties" msgstr "" #: src/olympusmn.cpp:761 #, fuzzy msgid "Extender" msgstr "Ngoài" #: src/olympusmn.cpp:762 #, fuzzy msgid "Extender Serial Number" msgstr "Chuỗi số" #: src/olympusmn.cpp:762 #, fuzzy msgid "Extender serial number" msgstr "Dãy số bên trong" #: src/olympusmn.cpp:763 #, fuzzy msgid "Extender Model" msgstr "Kiểu ống kính." #: src/olympusmn.cpp:763 #, fuzzy msgid "Extender model" msgstr "Kiểu Ca-me-ra" #: src/olympusmn.cpp:764 #, fuzzy msgid "Extender Firmware Version" msgstr "Phiên bản phần vững" #: src/olympusmn.cpp:764 #, fuzzy msgid "Extender firmwareversion" msgstr "Firmware Version" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 #, fuzzy msgid "Conversion Lens" msgstr "Phiên bản" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 #, fuzzy msgid "Conversion lens" msgstr "Phiên bản" #: src/olympusmn.cpp:767 src/properties.cpp:402 #, fuzzy msgid "Flash Model" msgstr "Mẫu đèn chớp" #: src/olympusmn.cpp:767 #, fuzzy msgid "Flash model" msgstr "Chế độ đèn chớp" #: src/olympusmn.cpp:768 #, fuzzy msgid "Flash Firmware Version" msgstr "Phiên bản phần vững" #: src/olympusmn.cpp:768 #, fuzzy msgid "Flash firmware version" msgstr "Firmware Version" #: src/olympusmn.cpp:769 #, fuzzy msgid "FlashSerialNumber" msgstr "Chuỗi số" #: src/olympusmn.cpp:771 #, fuzzy msgid "Unknown OlympusEq tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 msgid "High Speed" msgstr "Tốc độ cao" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 #, fuzzy msgid "High Function" msgstr "Điều kiện Ánh sáng" #: src/olympusmn.cpp:790 #, fuzzy msgid "Advanced High Speed" msgstr "Tốc độ cao" #: src/olympusmn.cpp:791 msgid "Advanced High Function" msgstr "" #: src/olympusmn.cpp:796 msgid "Original" msgstr "Nguyên gốc" #: src/olympusmn.cpp:797 msgid "Edited (Landscape)" msgstr "Đã chỉnh sửa (Phong cảnh)" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 msgid "Edited (Portrait)" msgstr "Đã chỉnh sửa (Chân dung)" #: src/olympusmn.cpp:804 #, fuzzy msgid "WB Color Temp" msgstr "Tông màu" #: src/olympusmn.cpp:805 msgid "WB Gray Point" msgstr "" #: src/olympusmn.cpp:815 #, fuzzy msgid "Raw Development Version" msgstr "Sự phát triển thô 2" #: src/olympusmn.cpp:815 #, fuzzy msgid "Raw development version" msgstr "Sự phát triển thô 2" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 msgid "Exposure Bias Value" msgstr "Giá trị Bù trừ Phơi sáng" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 msgid "Exposure bias value" msgstr "Giá trị bù trừ phơi sáng" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White Balance Value" msgstr "Giá trị Cân bằng Sáng" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White balance value" msgstr "Giá trị cân bằng sáng" #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 #, fuzzy msgid "WB Fine Adjustment" msgstr "Điều chỉnh cân bằng trắng" #: src/olympusmn.cpp:818 #, fuzzy msgid "WB fine adjustment" msgstr "Điều chỉnh cân bằng trắng" #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 #, fuzzy msgid "Gray Point" msgstr "Điểm lấy nét tự động" #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 #, fuzzy msgid "Gray point" msgstr "Điểm đen" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation Emphasis" msgstr "" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation emphasis" msgstr "" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 #, fuzzy msgid "Memory Color Emphasis" msgstr "Màu sắc của tôi" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory color emphasis" msgstr "" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast Value" msgstr "Giá trị Tương phản" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast value" msgstr "Giá trị tương phản" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 #, fuzzy msgid "Sharpness Value" msgstr "Độ mịn" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 #, fuzzy msgid "Sharpness value" msgstr "Độ mịn" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 msgid "Engine" msgstr "Động cơ" #: src/olympusmn.cpp:827 #, fuzzy msgid "Edit status" msgstr "Tùy chỉnh trạng thái" #: src/olympusmn.cpp:828 msgid "Settings" msgstr "Tùy chỉnh" #: src/olympusmn.cpp:830 #, fuzzy msgid "Unknown OlympusRd tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw Development 2 Version" msgstr "Sự phát triển thô 2" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw development 2 version" msgstr "Sự phát triển thô 2" #: src/olympusmn.cpp:889 #, fuzzy msgid "White balance fine adjustment" msgstr "Điều chỉnh cân bằng trắng" #: src/olympusmn.cpp:899 #, fuzzy msgid "PM Saturation" msgstr "Độ bão hòa đã thay đổi" #: src/olympusmn.cpp:900 #, fuzzy msgid "PM Contrast" msgstr "Tương phản" #: src/olympusmn.cpp:901 #, fuzzy msgid "PM Sharpness" msgstr "Độ mịn" #: src/olympusmn.cpp:902 #, fuzzy msgid "PM BW Filter" msgstr "Chế độ ảnh bộ lọc cân bằng trắng" #: src/olympusmn.cpp:902 #, fuzzy msgid "PM BW filter" msgstr "Chế độ ảnh bộ lọc cân bằng trắng" #: src/olympusmn.cpp:903 #, fuzzy msgid "PM Picture Tone" msgstr "Chế độ ảnh" #: src/olympusmn.cpp:903 #, fuzzy msgid "PM picture tone" msgstr "Chế độ ảnh" #: src/olympusmn.cpp:906 #, fuzzy msgid "Auto Gradation" msgstr "Độ bão hòa tùy chỉnh" #: src/olympusmn.cpp:906 #, fuzzy msgid "Auto gradation" msgstr "Độ bão hòa tùy chỉnh" #: src/olympusmn.cpp:907 #, fuzzy msgid "PM Noise Filter" msgstr "Bộ lọc nhiễu" #: src/olympusmn.cpp:907 #, fuzzy msgid "Picture mode noise filter" msgstr "Chế độ ảnh bộ lọc cân bằng trắng" #: src/olympusmn.cpp:909 #, fuzzy msgid "Unknown OlympusRd2 tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/olympusmn.cpp:920 #, fuzzy msgid "On (2 frames)" msgstr "Mở (2)" #: src/olympusmn.cpp:921 #, fuzzy msgid "On (3 frames)" msgstr "Mở (3)" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image Processing Version" msgstr "Sub-IFD sự xử lý ảnh" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image processing version" msgstr "Sub-IFD sự xử lý ảnh" #: src/olympusmn.cpp:940 msgid "WB RB Levels 3000K" msgstr "" #: src/olympusmn.cpp:940 msgid "WB RB levels 3000K" msgstr "" #: src/olympusmn.cpp:941 msgid "WB RB Levels 3300K" msgstr "" #: src/olympusmn.cpp:941 msgid "WB RB levels 3300K" msgstr "" #: src/olympusmn.cpp:942 msgid "WB RB Levels 3600K" msgstr "" #: src/olympusmn.cpp:942 msgid "WB RB levels 3600K" msgstr "" #: src/olympusmn.cpp:943 msgid "WB RB Levels 3900K" msgstr "" #: src/olympusmn.cpp:943 msgid "WB RB levels 3900K" msgstr "" #: src/olympusmn.cpp:944 msgid "WB RB Levels 4000K" msgstr "" #: src/olympusmn.cpp:944 msgid "WB RB levels 4000K" msgstr "" #: src/olympusmn.cpp:945 msgid "WB RB Levels 4300K" msgstr "" #: src/olympusmn.cpp:945 msgid "WB RB levels 4300K" msgstr "" #: src/olympusmn.cpp:946 msgid "WB RB Levels 4500K" msgstr "" #: src/olympusmn.cpp:946 msgid "WB RB levels 4500K" msgstr "" #: src/olympusmn.cpp:947 msgid "WB RB Levels 4800K" msgstr "" #: src/olympusmn.cpp:947 msgid "WB RB levels 4800K" msgstr "" #: src/olympusmn.cpp:948 msgid "WB RB Levels 5300K" msgstr "" #: src/olympusmn.cpp:948 msgid "WB RB levels 5300K" msgstr "" #: src/olympusmn.cpp:949 msgid "WB RB Levels 6000K" msgstr "" #: src/olympusmn.cpp:949 msgid "WB RB levels 6000K" msgstr "" #: src/olympusmn.cpp:950 msgid "WB RB Levels 6600K" msgstr "" #: src/olympusmn.cpp:950 msgid "WB RB levels 6600K" msgstr "" #: src/olympusmn.cpp:951 msgid "WB RB Levels 7500K" msgstr "" #: src/olympusmn.cpp:951 msgid "WB RB levels 7500K" msgstr "" #: src/olympusmn.cpp:952 msgid "WB RB Levels CWB1" msgstr "" #: src/olympusmn.cpp:952 msgid "WB RB levels CWB1" msgstr "" #: src/olympusmn.cpp:953 msgid "WB RB Levels CWB2" msgstr "" #: src/olympusmn.cpp:953 msgid "WB RB levels CWB2" msgstr "" #: src/olympusmn.cpp:954 msgid "WB RB Levels CWB3" msgstr "" #: src/olympusmn.cpp:954 msgid "WB RB levels CWB3" msgstr "" #: src/olympusmn.cpp:955 msgid "WB RB Levels CWB4" msgstr "" #: src/olympusmn.cpp:955 msgid "WB RB levels CWB4" msgstr "" #: src/olympusmn.cpp:956 msgid "WB G Level 3000K" msgstr "" #: src/olympusmn.cpp:956 msgid "WB G level 3000K" msgstr "" #: src/olympusmn.cpp:957 msgid "WB G Level 3300K" msgstr "" #: src/olympusmn.cpp:957 msgid "WB G level 3300K" msgstr "" #: src/olympusmn.cpp:958 msgid "WB G Level 3600K" msgstr "" #: src/olympusmn.cpp:958 msgid "WB G level 3600K" msgstr "" #: src/olympusmn.cpp:959 msgid "WB G Level 3900K" msgstr "" #: src/olympusmn.cpp:959 msgid "WB G level 3900K" msgstr "" #: src/olympusmn.cpp:960 msgid "WB G Level 4000K" msgstr "" #: src/olympusmn.cpp:960 msgid "WB G level 4000K" msgstr "" #: src/olympusmn.cpp:961 msgid "WB G Level 4300K" msgstr "" #: src/olympusmn.cpp:961 msgid "WB G level 4300K" msgstr "" #: src/olympusmn.cpp:962 msgid "WB G Level 4500K" msgstr "" #: src/olympusmn.cpp:962 msgid "WB G level 4500K" msgstr "" #: src/olympusmn.cpp:963 msgid "WB G Level 4800K" msgstr "" #: src/olympusmn.cpp:963 msgid "WB G level 4800K" msgstr "" #: src/olympusmn.cpp:964 msgid "WB G Level 5300K" msgstr "" #: src/olympusmn.cpp:964 msgid "WB G level 5300K" msgstr "" #: src/olympusmn.cpp:965 msgid "WB G Level 6000K" msgstr "" #: src/olympusmn.cpp:965 msgid "WB G level 6000K" msgstr "" #: src/olympusmn.cpp:966 msgid "WB G Level 6600K" msgstr "" #: src/olympusmn.cpp:966 msgid "WB G level 6600K" msgstr "" #: src/olympusmn.cpp:967 msgid "WB G Level 7500K" msgstr "" #: src/olympusmn.cpp:967 msgid "WB G level 7500K" msgstr "" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G Level" msgstr "Mức Pin" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G level" msgstr "Mức pin" #: src/olympusmn.cpp:970 msgid "Enhancer" msgstr "" #: src/olympusmn.cpp:971 #, fuzzy msgid "Enhancer Values" msgstr "Giá trị Cân bằng Sáng" #: src/olympusmn.cpp:971 #, fuzzy msgid "Enhancer values" msgstr "Giá trị cân bằng sáng" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring Filter" msgstr "Lọc Màu" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring Values" msgstr "Giá trị Tương phản" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring values" msgstr "Giá trị tương phản" #: src/olympusmn.cpp:974 src/tags.cpp:915 #, fuzzy msgid "Black Level" msgstr "Cường độ Đèn chớp" #: src/olympusmn.cpp:975 msgid "Gain Base" msgstr "" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "" #: src/olympusmn.cpp:976 msgid "Valid Bits" msgstr "" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 #, fuzzy msgid "Crop Left" msgstr "Trái" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 #, fuzzy msgid "Crop left" msgstr "trên, trái" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 msgid "Crop Top" msgstr "" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 msgid "Crop top" msgstr "" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 msgid "Crop Width" msgstr "" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 msgid "Crop width" msgstr "" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 #, fuzzy msgid "Crop Height" msgstr "Bản quyền" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 #, fuzzy msgid "Crop height" msgstr "Bản quyền" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple Exposure Mode" msgstr "Đa chế độ phơi sáng" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple exposure mode" msgstr "Đa chế độ phơi sáng" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 msgid "Aspect Ratio" msgstr "" #: src/olympusmn.cpp:985 msgid "Aspect ratio" msgstr "" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect Frame" msgstr "Tên vật thể" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect frame" msgstr "Tên vật thể" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 msgid "Face Detect" msgstr "" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 msgid "Face detect" msgstr "" #: src/olympusmn.cpp:988 msgid "Face Detect Area" msgstr "" #: src/olympusmn.cpp:988 msgid "Face detect area" msgstr "" #: src/olympusmn.cpp:990 #, fuzzy msgid "Unknown OlympusIp tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/olympusmn.cpp:1000 msgid "Bounce or Off" msgstr "" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "" #: src/olympusmn.cpp:1005 #, fuzzy msgid "Focus Info Version" msgstr "Thông tin tiêu cự" #: src/olympusmn.cpp:1005 #, fuzzy msgid "Focus info version" msgstr "Vị trí Lấy nét" #: src/olympusmn.cpp:1006 #, fuzzy msgid "Auto Focus" msgstr "Lấy nét tự động" #: src/olympusmn.cpp:1007 msgid "Scene Detect" msgstr "" #: src/olympusmn.cpp:1007 msgid "Scene detect" msgstr "" #: src/olympusmn.cpp:1008 #, fuzzy msgid "Scene Area" msgstr "Vùng lấy nét" #: src/olympusmn.cpp:1008 #, fuzzy msgid "Scene area" msgstr "Vùng lấy nét" #: src/olympusmn.cpp:1009 msgid "Scene Detect Data" msgstr "" #: src/olympusmn.cpp:1009 msgid "Scene detect data" msgstr "" #: src/olympusmn.cpp:1010 #, fuzzy msgid "Zoom Step Count" msgstr "Tổng số Hình ảnh" #: src/olympusmn.cpp:1011 #, fuzzy msgid "Focus Step Count" msgstr "Lấy nét Liên tục" #: src/olympusmn.cpp:1011 #, fuzzy msgid "Focus step count" msgstr "Vị trí Lấy nét" #: src/olympusmn.cpp:1012 #, fuzzy msgid "Focus Step Infinity" msgstr "Thông tin tiêu cự" #: src/olympusmn.cpp:1012 #, fuzzy msgid "Focus step infinity" msgstr "Vị trí Lấy nét" #: src/olympusmn.cpp:1013 #, fuzzy msgid "Focus Step Near" msgstr "Kiểu lấy nét" #: src/olympusmn.cpp:1013 #, fuzzy msgid "Focus step near" msgstr "Khoảng cách Lấy nét" #: src/olympusmn.cpp:1016 #, fuzzy msgid "External Flash" msgstr "Đèn chớp gắn ngoài" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External Flash Guide Number" msgstr "Chế độ đèn nháy bên ngoài" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External flash guide number" msgstr "Nảy đèn nháy bên ngoài" #: src/olympusmn.cpp:1021 #, fuzzy msgid "Manual Flash" msgstr "Điều khiển đèn chớp thủ công" #: src/olympusmn.cpp:1021 #, fuzzy msgid "Manual flash" msgstr "Điều khiển đèn chớp thủ công" #: src/olympusmn.cpp:1025 #, fuzzy msgid "Unknown OlympusFi tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/olympusmn.cpp:1036 #, fuzzy msgid "Unknown OlympusFe tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/olympusmn.cpp:1049 #, fuzzy msgid "Fine Weather" msgstr "5300K (Thời tiết tốt)" #: src/olympusmn.cpp:1050 msgid "Tungsten (incandescent)" msgstr "" #: src/olympusmn.cpp:1051 #, fuzzy msgid "Evening Sunlight" msgstr "Buổi chiều" #: src/olympusmn.cpp:1052 #, fuzzy msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "6600K (Ánh sáng huỳnh quang ban ngày)" #: src/olympusmn.cpp:1053 msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "" #: src/olympusmn.cpp:1054 #, fuzzy msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "4000K (Ánh sáng trắng lạnh)" #: src/olympusmn.cpp:1055 msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "" #: src/olympusmn.cpp:1056 #, fuzzy msgid "One Touch White Balance" msgstr "Cân bằng trắng" #: src/olympusmn.cpp:1057 #, fuzzy msgid "Custom 1-4" msgstr "Tùy chỉnh 1" #: src/olympusmn.cpp:1061 #, fuzzy msgid "Raw Info Version" msgstr "Thông tin thô" #: src/olympusmn.cpp:1061 #, fuzzy msgid "Raw info version" msgstr "Phiên bản thiết lập máy ảnh" #: src/olympusmn.cpp:1062 msgid "WB_RB Levels Used" msgstr "" #: src/olympusmn.cpp:1062 msgid "WB_RB levels used" msgstr "" #: src/olympusmn.cpp:1063 msgid "WB_RB Levels Auto" msgstr "" #: src/olympusmn.cpp:1063 msgid "WB_RB levels auto" msgstr "" #: src/olympusmn.cpp:1064 msgid "WB_RB Levels Shade" msgstr "" #: src/olympusmn.cpp:1064 msgid "WB_RB levels shade" msgstr "" #: src/olympusmn.cpp:1065 msgid "WB_RB Levels Cloudy" msgstr "" #: src/olympusmn.cpp:1065 msgid "WB_RB levels cloudy" msgstr "" #: src/olympusmn.cpp:1066 msgid "WB_RB Levels Fine Weather" msgstr "" #: src/olympusmn.cpp:1066 msgid "WB_RB levels fine weather" msgstr "" #: src/olympusmn.cpp:1067 msgid "WB_RB Levels Tungsten" msgstr "" #: src/olympusmn.cpp:1067 msgid "WB_RB levels tungsten" msgstr "" #: src/olympusmn.cpp:1068 msgid "WB_RB Levels Evening Sunlight" msgstr "" #: src/olympusmn.cpp:1068 msgid "WB_RB levels evening sunlight" msgstr "" #: src/olympusmn.cpp:1069 msgid "WB_RB Levels Daylight Fluor" msgstr "" #: src/olympusmn.cpp:1069 msgid "WB_RB levels daylight fluor" msgstr "" #: src/olympusmn.cpp:1070 msgid "WB_RB Levels Day White Fluor" msgstr "" #: src/olympusmn.cpp:1070 msgid "WB_RB levels day white fluor" msgstr "" #: src/olympusmn.cpp:1071 msgid "WB_RB Levels Cool White Fluor" msgstr "" #: src/olympusmn.cpp:1071 msgid "WB_RB levels cool white fluor" msgstr "" #: src/olympusmn.cpp:1072 #, fuzzy msgid "WB_RB Levels White Fluorescent" msgstr "4500K (Ánh sáng huỳnh quang trắng tự nhiên)" #: src/olympusmn.cpp:1072 #, fuzzy msgid "WB_RB levels white fluorescent" msgstr "4500K (Ánh sáng huỳnh quang trắng tự nhiên)" #: src/olympusmn.cpp:1073 #, fuzzy msgid "Color Matrix2" msgstr "Ma trận màu" #: src/olympusmn.cpp:1073 #, fuzzy msgid "Color matrix 2" msgstr "Ma trận màu" #: src/olympusmn.cpp:1076 #, fuzzy msgid "Black Level 2" msgstr "Cường độ Đèn chớp" #: src/olympusmn.cpp:1076 #, fuzzy msgid "Black level 2" msgstr "Cường độ đèn chớp" #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 msgid "YCbCr Coefficients" msgstr "" #: src/olympusmn.cpp:1077 msgid "YCbCr coefficients" msgstr "" #: src/olympusmn.cpp:1078 msgid "Valid Pixel Depth" msgstr "" #: src/olympusmn.cpp:1078 msgid "Valid pixel depth" msgstr "" #: src/olympusmn.cpp:1084 #, fuzzy msgid "White Balance Comp" msgstr "Cân bằng Trắng 2" #: src/olympusmn.cpp:1084 #, fuzzy msgid "White balance comp" msgstr "Cân bằng trắng 2" #: src/olympusmn.cpp:1085 #, fuzzy msgid "Saturation Setting" msgstr "Thiết lập độ tương phản" #: src/olympusmn.cpp:1086 #, fuzzy msgid "Hue Setting" msgstr "Tùy chỉnh" #: src/olympusmn.cpp:1086 #, fuzzy msgid "Hue setting" msgstr "Tùy chỉnh độ nhạy sáng" #: src/olympusmn.cpp:1089 #, fuzzy msgid "CM Exposure Compensation" msgstr "Bù trừ phơi sáng" #: src/olympusmn.cpp:1089 #, fuzzy msgid "CM exposure compensation" msgstr "Độ bù trừ phơi sáng" #: src/olympusmn.cpp:1090 #, fuzzy msgid "CM White Balance" msgstr "Cân bằng trắng" #: src/olympusmn.cpp:1090 #, fuzzy msgid "CM white balance" msgstr "Cân bằng trắng" #: src/olympusmn.cpp:1091 #, fuzzy msgid "CM White Balance Comp" msgstr "Cân bằng Trắng 2" #: src/olympusmn.cpp:1091 #, fuzzy msgid "CM white balance comp" msgstr "Cân bằng trắng 2" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM White Balance Gray Point" msgstr "Bù trừ Cân bằng sáng" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM white balance gray point" msgstr "Điều chỉnh cân bằng trắng" #: src/olympusmn.cpp:1093 #, fuzzy msgid "CM Saturation" msgstr "Độ bão hòa tùy chỉnh" #: src/olympusmn.cpp:1093 #, fuzzy msgid "CM saturation" msgstr "Độ bão hòa tùy chỉnh" #: src/olympusmn.cpp:1094 msgid "CM Hue" msgstr "" #: src/olympusmn.cpp:1094 msgid "CM hue" msgstr "" #: src/olympusmn.cpp:1095 #, fuzzy msgid "CM Contrast" msgstr "Tương phản" #: src/olympusmn.cpp:1095 #, fuzzy msgid "CM contrast" msgstr "Tương phản" #: src/olympusmn.cpp:1096 #, fuzzy msgid "CM Sharpness" msgstr "Độ mịn" #: src/olympusmn.cpp:1096 #, fuzzy msgid "CM sharpness" msgstr "Độ mịn" #: src/olympusmn.cpp:1098 #, fuzzy msgid "Unknown OlympusRi tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 #, fuzzy msgid "User-Selected" msgstr "Lựa chọn người dùng" #: src/olympusmn.cpp:1122 #, fuzzy msgid "Auto-Override" msgstr "Lưu đè" #: src/olympusmn.cpp:1158 msgid "Fast" msgstr "Nhanh" #: src/olympusmn.cpp:1223 #, fuzzy msgid "3000 Kelvin" msgstr "Kelvin" #: src/olympusmn.cpp:1224 #, fuzzy msgid "3700 Kelvin" msgstr "Kelvin" #: src/olympusmn.cpp:1225 #, fuzzy msgid "4000 Kelvin" msgstr "Kelvin" #: src/olympusmn.cpp:1226 #, fuzzy msgid "4500 Kelvin" msgstr "Kelvin" #: src/olympusmn.cpp:1227 #, fuzzy msgid "5500 Kelvin" msgstr "Kelvin" #: src/olympusmn.cpp:1228 #, fuzzy msgid "6500 Kelvin" msgstr "Kelvin" #: src/olympusmn.cpp:1229 #, fuzzy msgid "7500 Kelvin" msgstr "Kelvin" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "S-AF" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "C-AF" #: src/olympusmn.cpp:1456 #, fuzzy msgid "Imager AF" msgstr "Kích cỡ hình ảnh" #: src/olympusmn.cpp:1457 #, fuzzy msgid "AF sensor" msgstr "Tìm kiếm lấy nét tự động" #: src/olympusmn.cpp:1502 #, fuzzy msgid "Soft Focus" msgstr "Tiêu cự Ngắn" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "" #: src/olympusmn.cpp:1505 #, fuzzy msgid "Light Tone" msgstr "Vùng bên phải" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "" #: src/olympusmn.cpp:1508 #, fuzzy msgid "Diorama" msgstr "Toàn cảnh" #: src/olympusmn.cpp:1509 #, fuzzy msgid "Cross Process" msgstr "Tiến trình lấy nét" #: src/olympusmn.cpp:1510 msgid "Fish Eye" msgstr "Mắt cá" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "" #: src/olympusmn.cpp:1513 msgid "Pale & Light Color II" msgstr "" #: src/olympusmn.cpp:1514 msgid "Pop Art II" msgstr "" #: src/olympusmn.cpp:1515 msgid "Pin Hole II" msgstr "" #: src/olympusmn.cpp:1516 msgid "Pin Hole III" msgstr "" #: src/olympusmn.cpp:1517 msgid "Grainy Film II" msgstr "" #: src/olympusmn.cpp:1518 msgid "Dramatic Tone" msgstr "" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "" #: src/olympusmn.cpp:1520 #, fuzzy msgid "Soft Focus 2" msgstr "Tiêu cự Ngắn" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "" #: src/olympusmn.cpp:1522 #, fuzzy msgid "Watercolor" msgstr "Màu tự nhiên" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "" #: src/olympusmn.cpp:1525 #, fuzzy msgid "Miniature" msgstr "Khẩu độ tối thiểu" #: src/olympusmn.cpp:1526 #, fuzzy msgid "Reflection" msgstr "Lựa chọn" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "" #: src/olympusmn.cpp:1528 #, fuzzy msgid "Cross Process II" msgstr "Tiến trình lấy nét" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "" #: src/olympusmn.cpp:1530 #, fuzzy msgid "Watercolor I" msgstr "Màu tự nhiên" #: src/olympusmn.cpp:1531 #, fuzzy msgid "Watercolor II" msgstr "Màu tự nhiên" #: src/olympusmn.cpp:1532 msgid "Diorama II" msgstr "" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "" #: src/olympusmn.cpp:1534 msgid "Vintage II" msgstr "" #: src/olympusmn.cpp:1535 msgid "Vintage III" msgstr "" #: src/olympusmn.cpp:1536 #, fuzzy msgid "Partial Color" msgstr "Màu sắc tự nhiên" #: src/olympusmn.cpp:1537 #, fuzzy msgid "Partial Color II" msgstr "Màu sắc tự nhiên" #: src/olympusmn.cpp:1538 #, fuzzy msgid "Partial Color III" msgstr "Màu sắc tự nhiên" #: src/olympusmn.cpp:1608 #, fuzzy msgid "Left (or n/a)" msgstr "Vùng bên trái" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 msgid "Center (horizontal)" msgstr "" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 msgid "Center (vertical)" msgstr "" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1623 #, fuzzy msgid "Top-center (horizontal)" msgstr "Trên-trung tâm" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1625 #, fuzzy msgid "Left (horizontal)" msgstr "Vùng bên trái" #: src/olympusmn.cpp:1626 msgid "Mid-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1628 msgid "Mid-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1629 #, fuzzy msgid "Right (horizontal)" msgstr "Vùng bên phải" #: src/olympusmn.cpp:1630 msgid "Bottom-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1631 #, fuzzy msgid "Bottom-center (horizontal)" msgstr "Dưới-trung tâm" #: src/olympusmn.cpp:1632 msgid "Bottom-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "" #: src/olympusmn.cpp:1634 #, fuzzy msgid "Top-center (vertical)" msgstr "Trên-trung tâm" #: src/olympusmn.cpp:1635 #, fuzzy msgid "Top-right (vertical)" msgstr "Lưu ý bản quyền" #: src/olympusmn.cpp:1636 msgid "Left (vertical)" msgstr "" #: src/olympusmn.cpp:1637 msgid "Mid-left (vertical)" msgstr "" #: src/olympusmn.cpp:1639 msgid "Mid-right (vertical)" msgstr "" #: src/olympusmn.cpp:1640 msgid "Right (vertical)" msgstr "" #: src/olympusmn.cpp:1641 #, fuzzy msgid "Bottom-left (vertical)" msgstr "Dưới-trung tâm" #: src/olympusmn.cpp:1642 #, fuzzy msgid "Bottom-center (vertical)" msgstr "Dưới-trung tâm" #: src/olympusmn.cpp:1643 msgid "Bottom-right (vertical)" msgstr "" #: src/olympusmn.cpp:1680 #, fuzzy msgid "Single Target" msgstr "Khung hình đơn" #: src/olympusmn.cpp:1681 msgid "All Target" msgstr "" #: src/olympusmn.cpp:1682 msgid "Dynamic Single Target" msgstr "" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 #, fuzzy msgid "Very High" msgstr "Cao" #: src/panasonicmn.cpp:60 #, fuzzy msgid "Motion Picture" msgstr "Khẩu đ6ọ tối thiểu" #: src/panasonicmn.cpp:61 #, fuzzy msgid "Full HD Movie" msgstr "Kích cỡ đầy đủ" #: src/panasonicmn.cpp:62 #, fuzzy msgid "4k Movie" msgstr "Phim" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "" #: src/panasonicmn.cpp:83 #, fuzzy msgid "Auto, focus button" msgstr "Lấy nét tự động" #: src/panasonicmn.cpp:84 #, fuzzy msgid "Auto, continuous" msgstr "Liên tục" #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "" #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 #, fuzzy msgid "Panning" msgstr "Cảnh báo" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "" #: src/panasonicmn.cpp:104 #, fuzzy msgid "Macro-zoom" msgstr "Cận cảnh phóng to" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 msgid "Scenery" msgstr "" #: src/panasonicmn.cpp:117 #, fuzzy msgid "Shutter-speed priority" msgstr "Ưu tiên tốc độ" #: src/panasonicmn.cpp:121 #, fuzzy msgid "Movie preview" msgstr "Viết bài duyệt trước" #: src/panasonicmn.cpp:123 msgid "Simple" msgstr "" #: src/panasonicmn.cpp:124 #, fuzzy msgid "Color effects" msgstr "Hiệu ứng màu sắc" #: src/panasonicmn.cpp:130 #, fuzzy msgid "Night scenery" msgstr "Cảnh ban đêm" #: src/panasonicmn.cpp:132 msgid "Baby" msgstr "" #: src/panasonicmn.cpp:133 msgid "Soft skin" msgstr "" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 #, fuzzy msgid "Candlelight" msgstr "Đèn cầy" #: src/panasonicmn.cpp:135 #, fuzzy msgid "Starry night" msgstr "Ánh sáng ban ngày" #: src/panasonicmn.cpp:136 #, fuzzy msgid "High sensitivity" msgstr "Độ nhạy sáng" #: src/panasonicmn.cpp:137 #, fuzzy msgid "Panorama assist" msgstr "Toàn cảnh" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 msgid "Intelligent ISO" msgstr "" #: src/panasonicmn.cpp:144 #, fuzzy msgid "Clipboard" msgstr "Bảng trắng" #: src/panasonicmn.cpp:145 #, fuzzy msgid "High speed continuous shooting" msgstr "Cài đặt lấy nét liên tục" #: src/panasonicmn.cpp:146 msgid "Intelligent auto" msgstr "" #: src/panasonicmn.cpp:147 msgid "Multi-aspect" msgstr "" #: src/panasonicmn.cpp:148 msgid "Transform" msgstr "" #: src/panasonicmn.cpp:149 #, fuzzy msgid "Flash Burst" msgstr "Bù trừ sáng đèn chớp" #: src/panasonicmn.cpp:151 msgid "Film Grain" msgstr "" #: src/panasonicmn.cpp:152 #, fuzzy msgid "My Color" msgstr "Màu sắc của tôi" #: src/panasonicmn.cpp:153 #, fuzzy msgid "Photo Frame" msgstr "Khung hình toàn cảnh" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 msgid "Handheld Night Shot" msgstr "" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 #, fuzzy msgid "Creative Control" msgstr "Điều khiển Từ xa" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 #, fuzzy msgid "Digital Filter" msgstr "Lọc điện tử" #: src/panasonicmn.cpp:162 #, fuzzy msgid "Clear Portrait" msgstr "Chân dung" #: src/panasonicmn.cpp:163 msgid "Silky Skin" msgstr "" #: src/panasonicmn.cpp:164 msgid "Backlit Softness" msgstr "" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "" #: src/panasonicmn.cpp:166 #, fuzzy msgid "Relaxing Tone" msgstr "Mối liên hệ" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "" #: src/panasonicmn.cpp:168 msgid "Distinct Scenery" msgstr "" #: src/panasonicmn.cpp:169 #, fuzzy msgid "Bright Blue Sky" msgstr "Giá trị độ sáng" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "" #: src/panasonicmn.cpp:177 msgid "Glittering Illuminations" msgstr "" #: src/panasonicmn.cpp:178 #, fuzzy msgid "Clear Night Portrait" msgstr "Chân dung ban đêm" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "" #: src/panasonicmn.cpp:181 msgid "Cute Desert" msgstr "" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "" #: src/panasonicmn.cpp:183 msgid "Clear Sports Shot" msgstr "" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "" #: src/panasonicmn.cpp:198 #, fuzzy msgid "Warm" msgstr "Tông màu ấm" #: src/panasonicmn.cpp:199 msgid "Cool" msgstr "" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "" #: src/panasonicmn.cpp:208 #, fuzzy msgid "Low/High quality" msgstr "Chất lượng cao (HQ)" #: src/panasonicmn.cpp:209 #, fuzzy msgid "Infinite" msgstr "Vô cực" #: src/panasonicmn.cpp:217 #, fuzzy msgid "Medium low" msgstr "Trung bình 1" #: src/panasonicmn.cpp:218 #, fuzzy msgid "Medium high" msgstr "Trung bình 1" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "" #: src/panasonicmn.cpp:229 #, fuzzy msgid "High (+1)" msgstr "Cao" #: src/panasonicmn.cpp:230 #, fuzzy msgid "Lowest (-2)" msgstr "Thấp nhất" #: src/panasonicmn.cpp:231 #, fuzzy msgid "Highest (+2)" msgstr "Cao nhất" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 msgid "Rotate 180" msgstr "" #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "" #: src/panasonicmn.cpp:254 msgid "Disabled but Required" msgstr "" #: src/panasonicmn.cpp:255 msgid "Disabled and Not Required" msgstr "" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "" #: src/panasonicmn.cpp:282 src/properties.cpp:915 msgid "Home" msgstr "" #: src/panasonicmn.cpp:294 msgid "Standard (color)" msgstr "Tiêu chuẩn (màu sắc)" #: src/panasonicmn.cpp:295 msgid "Dynamic (color)" msgstr "Sặc sỡ (màu sắc)" #: src/panasonicmn.cpp:296 msgid "Nature (color)" msgstr "Tự nhiên (màu sắc)" #: src/panasonicmn.cpp:297 msgid "Smooth (color)" msgstr "Mịn (màu sắc)" #: src/panasonicmn.cpp:298 msgid "Standard (B&W)" msgstr "Tiêu chuẩn (B&W)" #: src/panasonicmn.cpp:299 #, fuzzy msgid "Dynamic (B&W)" msgstr "Sặc sỡ (màu sắc)" #: src/panasonicmn.cpp:300 #, fuzzy msgid "Smooth (B&W)" msgstr "Mịn (màu sắc)" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "" #: src/panasonicmn.cpp:307 msgid "No Bracket" msgstr "" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:319 #, fuzzy msgid "1st" msgstr "10 giây" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "" #: src/panasonicmn.cpp:349 #, fuzzy msgid "Extended" msgstr "Ngoài" #: src/panasonicmn.cpp:368 #, fuzzy msgid "NoAuto" msgstr "Tự động" #: src/panasonicmn.cpp:369 #, fuzzy msgid "Standard or Custom" msgstr "Tiêu chuẩn (màu sắc)" #: src/panasonicmn.cpp:386 msgid "Rotate CW" msgstr "" #: src/panasonicmn.cpp:388 msgid "Rotate CCW" msgstr "" #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "" #: src/panasonicmn.cpp:396 #, fuzzy msgid "Left to Right" msgstr "Trái sang phải" #: src/panasonicmn.cpp:397 #, fuzzy msgid "Right to Left" msgstr "Phải sang trái" #: src/panasonicmn.cpp:398 #, fuzzy msgid "Top to Bottom" msgstr "Trên xuống dưới" #: src/panasonicmn.cpp:399 #, fuzzy msgid "Bottom to Top" msgstr "Dưới lên trên" #: src/panasonicmn.cpp:405 #, fuzzy msgid "Time Lapse" msgstr "Thời gian tạo" #: src/panasonicmn.cpp:406 msgid "Stop-Motion Animation" msgstr "" #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "" #: src/panasonicmn.cpp:423 #, fuzzy msgid "Electronic" msgstr "Lựa chọn" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "" #: src/panasonicmn.cpp:453 msgid "White balance adjustment" msgstr "Điều chỉnh cân bằng trắng" #: src/panasonicmn.cpp:454 #, fuzzy msgid "FlashBias" msgstr "Bù trừ sáng đèn chớp" #: src/panasonicmn.cpp:456 src/tags.cpp:194 #, fuzzy msgid "Exif version" msgstr "Phiên bản tập tin" #: src/panasonicmn.cpp:458 msgid "Color Effect" msgstr "Hiệu ứng Màu sắc" #: src/panasonicmn.cpp:458 msgid "Color effect" msgstr "Hiệu ứng màu sắc" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" #: src/panasonicmn.cpp:460 #, fuzzy msgid "Burst Mode" msgstr "Chế độ lấy nét" #: src/panasonicmn.cpp:460 #, fuzzy msgid "Burst mode" msgstr "Chế độ lấy nét" #: src/panasonicmn.cpp:463 msgid "NoiseReduction" msgstr "Giảmnhiễu" #: src/panasonicmn.cpp:464 #, fuzzy msgid "Self Timer" msgstr "Thời gian phát hành" #: src/panasonicmn.cpp:467 #, fuzzy msgid "AF Assist Lamp" msgstr "Hỗ trợ lấy nét tự động" #: src/panasonicmn.cpp:469 msgid "Baby Age 1" msgstr "" #: src/panasonicmn.cpp:469 msgid "Baby (or pet) age 1" msgstr "" #: src/panasonicmn.cpp:470 #, fuzzy msgid "Optical Zoom Mode" msgstr "Chế độ đặc biệt" #: src/panasonicmn.cpp:470 #, fuzzy msgid "Optical zoom mode" msgstr "Chế độ phim" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "" #: src/panasonicmn.cpp:474 #, fuzzy msgid "World Time Location" msgstr "Địa điểm quay" #: src/panasonicmn.cpp:474 #, fuzzy msgid "World time location" msgstr "Địa điểm quay" #: src/panasonicmn.cpp:475 msgid "Text Stamp 1" msgstr "" #: src/panasonicmn.cpp:476 #, fuzzy msgid "Program ISO" msgstr "Chương trình" #: src/panasonicmn.cpp:477 msgid "Advanced Scene Type" msgstr "" #: src/panasonicmn.cpp:478 msgid "Text Stamp 2" msgstr "" #: src/panasonicmn.cpp:479 msgid "Faces detected" msgstr "" #: src/panasonicmn.cpp:483 msgid "Color Temp Kelvin" msgstr "" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temperatur in Kelvin" msgstr "Nhiệt độ màu" #: src/panasonicmn.cpp:484 #, fuzzy msgid "Bracket Settings" msgstr "Tùy chỉnh máy ảnh" #: src/panasonicmn.cpp:485 #, fuzzy msgid "WB Adjust AB" msgstr "Điều chỉnh" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "" #: src/panasonicmn.cpp:486 #, fuzzy msgid "WB Adjust GM" msgstr "Điều chỉnh" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "" #: src/panasonicmn.cpp:487 #, fuzzy msgid "Flash Curtain" msgstr "Thông tin đèn chớp" #: src/panasonicmn.cpp:488 #, fuzzy msgid "Long Shutter Noise Reduction" msgstr "Giảm nhiễu của sự phơi sáng lâu" #: src/panasonicmn.cpp:491 #, fuzzy msgid "AF Point Position" msgstr "Vị trí Lấy nét" #: src/panasonicmn.cpp:492 #, fuzzy msgid "Face detection info" msgstr "Tự động lấy nét và tự động nhận diện khuôn mặt" #: src/panasonicmn.cpp:495 #, fuzzy msgid "Accessory Type" msgstr "Kiểu Ống kính" #: src/panasonicmn.cpp:495 #, fuzzy msgid "Accessory type" msgstr "Kiểu ống kính" #: src/panasonicmn.cpp:496 #, fuzzy msgid "Accessory Serial Number" msgstr "Chuỗi số" #: src/panasonicmn.cpp:497 msgid "Transform 1" msgstr "" #: src/panasonicmn.cpp:498 #, fuzzy msgid "Intelligent Exposure" msgstr "Phơi sáng tự động" #: src/panasonicmn.cpp:499 #, fuzzy msgid "Firmware Version of the Lens" msgstr "Phiên bản phần vững" #: src/panasonicmn.cpp:500 #, fuzzy msgid "Face recognition info" msgstr "Tự động lấy nét và tự động nhận diện khuôn mặt" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash Warning" msgstr "Cảnh báo lấy nét" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash warning" msgstr "Thông tin đèn chớp" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 msgid "Title" msgstr "Tựa đề" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby Name" msgstr "Tên" #: src/panasonicmn.cpp:503 msgid "Baby name (or pet name)" msgstr "" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 msgid "Location" msgstr "Vị trí" #: src/panasonicmn.cpp:506 src/properties.cpp:441 msgid "State" msgstr "Bang" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "" #: src/panasonicmn.cpp:509 msgid "Intelligent resolution" msgstr "" #: src/panasonicmn.cpp:510 #, fuzzy msgid "Burst Speed" msgstr "Tốc độ chụp" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "" #: src/panasonicmn.cpp:511 msgid "Intelligent Dynamic Range" msgstr "" #: src/panasonicmn.cpp:512 msgid "Clear Retouch" msgstr "" #: src/panasonicmn.cpp:513 #, fuzzy msgid "City2" msgstr "Thành phố" #: src/panasonicmn.cpp:515 #, fuzzy msgid "Photo style" msgstr "Kiểu hình ảnh" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "" #: src/panasonicmn.cpp:518 msgid "Accelerometer X" msgstr "" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "" #: src/panasonicmn.cpp:519 msgid "Accelerometer Y" msgstr "" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "" #: src/panasonicmn.cpp:520 #, fuzzy msgid "Camera Orientation" msgstr "Tùy chỉnh máy ảnh" #: src/panasonicmn.cpp:521 msgid "Roll Angle" msgstr "" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "" #: src/panasonicmn.cpp:523 #, fuzzy msgid "Sweep Panorama Direction" msgstr "Chiều chụp toàn cảnh" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "" #: src/panasonicmn.cpp:525 msgid "Timer Recording" msgstr "" #: src/panasonicmn.cpp:526 #, fuzzy msgid "Internal ND Filter" msgstr "Bên trong và bên ngoài" #: src/panasonicmn.cpp:528 #, fuzzy msgid "Shutter Type" msgstr "Tốc độ màn chập" #: src/panasonicmn.cpp:529 #, fuzzy msgid "Clear Retouch Value" msgstr "Giá trị khẩu độ" #: src/panasonicmn.cpp:530 msgid "TouchAE" msgstr "" #: src/panasonicmn.cpp:533 #, fuzzy msgid "MakerNote Version" msgstr "Mẫu phiên bản" #: src/panasonicmn.cpp:533 #, fuzzy msgid "MakerNote version" msgstr "Firmware Version" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 #, fuzzy msgid "WB Red Level" msgstr "Mức Pin" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 #, fuzzy msgid "WB red level" msgstr "Mức pin" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB Green Level" msgstr "" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB green level" msgstr "" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 #, fuzzy msgid "WB Blue Level" msgstr "Mức Pin" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 #, fuzzy msgid "WB blue level" msgstr "Mức pin" #: src/panasonicmn.cpp:539 msgid "Text Stamp 3" msgstr "" #: src/panasonicmn.cpp:540 msgid "Text Stamp 4" msgstr "" #: src/panasonicmn.cpp:541 msgid "Baby Age 2" msgstr "" #: src/panasonicmn.cpp:541 msgid "Baby (or pet) age 2" msgstr "" #: src/panasonicmn.cpp:542 msgid "Transform 2" msgstr "" #: src/panasonicmn.cpp:544 #, fuzzy msgid "Unknown PanasonicMakerNote tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/panasonicmn.cpp:562 msgid "Spot mode on or 9 area" msgstr "" #: src/panasonicmn.cpp:563 msgid "Spot mode off or 3-area (high speed)" msgstr "" #: src/panasonicmn.cpp:564 msgid "23-area" msgstr "" #: src/panasonicmn.cpp:565 msgid "Spot focussing" msgstr "" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "" #: src/panasonicmn.cpp:568 msgid "1-area (high speed)" msgstr "" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "" #: src/panasonicmn.cpp:572 msgid "3-area (right)" msgstr "" #: src/panasonicmn.cpp:574 msgid "Spot Focusing 2" msgstr "" #: src/panasonicmn.cpp:588 msgid " EV" msgstr "" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 #, fuzzy msgid "not set" msgstr "Chưa đặt giá trị" #: src/panasonicmn.cpp:725 #, fuzzy msgid "Panasonic raw version" msgstr "Thẻ Panasonic RAW" #: src/panasonicmn.cpp:726 #, fuzzy msgid "Sensor Width" msgstr "Thông tin cảm biến" #: src/panasonicmn.cpp:726 #, fuzzy msgid "Sensor width" msgstr "Thông tin cảm biến" #: src/panasonicmn.cpp:727 #, fuzzy msgid "Sensor Height" msgstr "Thông tin cảm biến" #: src/panasonicmn.cpp:727 #, fuzzy msgid "Sensor height" msgstr "Thông tin cảm biến" #: src/panasonicmn.cpp:728 msgid "Sensor Top Border" msgstr "Đường viền Trên của Cảm biến" #: src/panasonicmn.cpp:728 msgid "Sensor top border" msgstr "Đường viền trên của cảm biến" #: src/panasonicmn.cpp:729 msgid "Sensor Left Border" msgstr "Đường viến Trái của Cảm biến" #: src/panasonicmn.cpp:729 msgid "Sensor left border" msgstr "Đường viền trái của cảm biến" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "Cân bằng đỏ (tìm thấy trong hình ảnh gốc của Digilux 2)" #: src/panasonicmn.cpp:739 src/tags.cpp:469 msgid "Manufacturer" msgstr "Nhà sản xuất" #: src/panasonicmn.cpp:739 msgid "The manufacturer of the recording equipment" msgstr "Nhà sản xuất của các thiết bị thu" #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 #, fuzzy msgid "Model" msgstr "Chế độ Lấy nét tự động" #: src/panasonicmn.cpp:740 #, fuzzy msgid "The model name or model number of the equipment" msgstr "Nhà sản xuất của các thiết bị thu" #: src/panasonicmn.cpp:741 src/tags.cpp:481 msgid "Strip Offsets" msgstr "" #: src/panasonicmn.cpp:741 msgid "Strip offsets" msgstr "" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 #, fuzzy msgid "Orientation" msgstr "Đích đến" #: src/panasonicmn.cpp:743 #, fuzzy msgid "Rows Per Strip" msgstr "Hàng trên mảnh" #: src/panasonicmn.cpp:743 msgid "The number of rows per strip" msgstr "" #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip Byte Counts" msgstr "Số byte mảnh" #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip byte counts" msgstr "Số byte mảnh" #: src/panasonicmn.cpp:745 msgid "Raw Data Offset" msgstr "" #: src/panasonicmn.cpp:745 #, fuzzy msgid "Raw data offset" msgstr "Kích cỡ dữ liệu hình ảnh" #: src/panasonicmn.cpp:746 src/tags.cpp:797 msgid "Exif IFD Pointer" msgstr "" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "" #: src/panasonicmn.cpp:747 src/tags.cpp:808 msgid "GPS Info IFD Pointer" msgstr "" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "" #: src/panasonicmn.cpp:749 #, fuzzy msgid "Unknown PanasonicRaw tag" msgstr "Thẻ Panasonic RAW" #: src/pentaxmn.cpp:57 #, fuzzy msgid "Night-Scene" msgstr "Cảnh đêm" #: src/pentaxmn.cpp:199 msgid "Good" msgstr "Tốt" #: src/pentaxmn.cpp:200 msgid "Better" msgstr "Tốt h" #: src/pentaxmn.cpp:201 msgid "Best" msgstr "Tốt nh" #: src/pentaxmn.cpp:204 msgid "Premium" msgstr "" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "2560x1920 hoặc 2304x1728" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "2304x1728 hoặc 2592x1944" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "2816x2212 hoặc 2816x2112" #: src/pentaxmn.cpp:247 msgid "Auto, Did not fire" msgstr "" #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 msgid "Off, Did not fire" msgstr "" #: src/pentaxmn.cpp:250 #, fuzzy msgid "Auto, Did not fire, Red-eye reduction" msgstr "Mở, tiêu giảm mắt-đỏ" #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:252 #, fuzzy msgid "Auto, Fired" msgstr "Tự động + mắt đỏ" #: src/pentaxmn.cpp:253 msgid "On, Fired" msgstr "" #: src/pentaxmn.cpp:254 #, fuzzy msgid "Auto, Fired, Red-eye reduction" msgstr "Không, giảm mắt đỏ" #: src/pentaxmn.cpp:255 msgid "On, Red-eye reduction" msgstr "Mở, tiêu giảm mắt-đỏ" #: src/pentaxmn.cpp:256 msgid "On, Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:257 msgid "On, Wireless (Control)" msgstr "" #: src/pentaxmn.cpp:258 msgid "On, Soft" msgstr "" #: src/pentaxmn.cpp:259 msgid "On, Slow-sync" msgstr "Mở, Đồng bộ-chậm, Tiêu giảm mắt-đỏ" #: src/pentaxmn.cpp:260 #, fuzzy msgid "On, Slow-sync, Red-eye reduction" msgstr "Mở, tiêu giảm mắt-đỏ" #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "" #: src/pentaxmn.cpp:272 #, fuzzy msgid "Pan Focus" msgstr "Lấy nét" #: src/pentaxmn.cpp:275 msgid "AF-A" msgstr "" #: src/pentaxmn.cpp:276 #, fuzzy msgid "Contrast-detect" msgstr "Tương phản-" #: src/pentaxmn.cpp:277 msgid "Tracking Contrast-detect" msgstr "" #: src/pentaxmn.cpp:284 #, fuzzy msgid "Fixed Center" msgstr "Trung tâm" #: src/pentaxmn.cpp:285 #, fuzzy msgid "Automatic Tracking AF" msgstr "Tự động" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "Tự động lấy nét và tự động nhận diện khuôn mặt" #: src/pentaxmn.cpp:287 #, fuzzy msgid "AF Select" msgstr "Lựa chọn" #: src/pentaxmn.cpp:305 msgid "Fixed Center or multiple" msgstr "" #: src/pentaxmn.cpp:307 msgid "Top-center" msgstr "Trên-trung tâm" #: src/pentaxmn.cpp:313 msgid "Bottom-center" msgstr "Dưới-trung tâm" #: src/pentaxmn.cpp:402 msgid "Multi Segment" msgstr "Đa phân vùng" #: src/pentaxmn.cpp:403 #, fuzzy msgid "Center Weighted" msgstr "Canh giữa" #: src/pentaxmn.cpp:415 #, fuzzy msgid "DaylightFluorescent" msgstr "6600K (Ánh sáng huỳnh quang ban ngày)" #: src/pentaxmn.cpp:416 #, fuzzy msgid "DaywhiteFluorescent" msgstr "6600K (Ánh sáng huỳnh quang ban ngày)" #: src/pentaxmn.cpp:417 #, fuzzy msgid "WhiteFluorescent" msgstr "4000K (Ánh sáng trắng lạnh)" #: src/pentaxmn.cpp:420 #, fuzzy msgid "Color Temperature Enhancement" msgstr "Nhiệt độ màu" #: src/pentaxmn.cpp:423 msgid "User Selected" msgstr "Lựa chọn người dùng" #: src/pentaxmn.cpp:428 msgid "Auto (Daylight)" msgstr "Tự động (Ánh sáng ngày)" #: src/pentaxmn.cpp:429 msgid "Auto (Shade)" msgstr "Tự động (Bóng râm)" #: src/pentaxmn.cpp:430 msgid "Auto (Flash)" msgstr "Tự động (Đèn chớp)" #: src/pentaxmn.cpp:431 #, fuzzy msgid "Auto (Tungsten)" msgstr "Tự động (Ánh sáng ngày)" #: src/pentaxmn.cpp:432 #, fuzzy msgid "Auto (DaylightFluorescent)" msgstr "6600K (Ánh sáng huỳnh quang ban ngày)" #: src/pentaxmn.cpp:433 #, fuzzy msgid "Auto (DaywhiteFluorescent)" msgstr "6600K (Ánh sáng huỳnh quang ban ngày)" #: src/pentaxmn.cpp:434 #, fuzzy msgid "Auto (WhiteFluorescent)" msgstr "4500K (Ánh sáng huỳnh quang trắng tự nhiên)" #: src/pentaxmn.cpp:435 msgid "Auto (Cloudy)" msgstr "Tự động (Trời mây)" #: src/pentaxmn.cpp:437 #, fuzzy msgid "Preset (Fireworks?)" msgstr "Pháo hoa" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 #, fuzzy msgid "Med Low" msgstr "Rất thấp" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 #, fuzzy msgid "Med High" msgstr "Cao" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "-4" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "+4" #: src/pentaxmn.cpp:473 msgid "Med Soft" msgstr "" #: src/pentaxmn.cpp:474 msgid "Med Hard" msgstr "" #: src/pentaxmn.cpp:475 #, fuzzy msgid "Very Soft" msgstr "Rất thấp" #: src/pentaxmn.cpp:476 msgid "Very Hard" msgstr "" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 msgid "Home town" msgstr "" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "" #: src/pentaxmn.cpp:491 #, fuzzy msgid "Anchorage" msgstr "Trung bình" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "" #: src/pentaxmn.cpp:494 msgid "Los Angeles" msgstr "" #: src/pentaxmn.cpp:495 msgid "Calgary" msgstr "" #: src/pentaxmn.cpp:496 msgid "Denver" msgstr "" #: src/pentaxmn.cpp:497 msgid "Mexico City" msgstr "" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "" #: src/pentaxmn.cpp:509 msgid "London" msgstr "" #: src/pentaxmn.cpp:510 msgid "Paris" msgstr "" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "" #: src/pentaxmn.cpp:515 msgid "Istanbul" msgstr "" #: src/pentaxmn.cpp:516 msgid "Cairo" msgstr "" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "" #: src/pentaxmn.cpp:524 msgid "Male" msgstr "" #: src/pentaxmn.cpp:525 msgid "Delhi" msgstr "" #: src/pentaxmn.cpp:526 #, fuzzy msgid "Colombo" msgstr "Chế độ màu" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "" #: src/pentaxmn.cpp:528 msgid "Dacca" msgstr "" #: src/pentaxmn.cpp:529 msgid "Yangon" msgstr "" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "" #: src/pentaxmn.cpp:532 msgid "Vientiane" msgstr "" #: src/pentaxmn.cpp:533 #, fuzzy msgid "Singapore" msgstr "Đơn" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "" #: src/pentaxmn.cpp:538 msgid "Perth" msgstr "" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "" #: src/pentaxmn.cpp:541 msgid "Manila" msgstr "" #: src/pentaxmn.cpp:542 msgid "Taipei" msgstr "" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "" #: src/pentaxmn.cpp:548 msgid "Noumea" msgstr "" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "" #: src/pentaxmn.cpp:555 msgid "Athens" msgstr "" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "" #: src/pentaxmn.cpp:560 msgid "Copenhagen" msgstr "" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "" #: src/pentaxmn.cpp:568 msgid "Unprocessed" msgstr "" #: src/pentaxmn.cpp:570 #, fuzzy msgid "Resized" msgstr "Kích cỡ" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 msgid "Cropped" msgstr "" #: src/pentaxmn.cpp:573 #, fuzzy msgid "Digital Filter 6" msgstr "Lọc điện tử" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 msgid "Hi-speed Program" msgstr "Tự động tốc độ cao" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 msgid "DOF Program" msgstr "Tự động về trường sâu của ảnh" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 #, fuzzy msgid "MTF Program" msgstr "Tự động về trường sâu của ảnh" #: src/pentaxmn.cpp:588 #, fuzzy msgid "Night Scene Portrait" msgstr "Chân dung ban đêm" #: src/pentaxmn.cpp:589 msgid "No Flash" msgstr "Không đèn chớp" #: src/pentaxmn.cpp:592 #, fuzzy msgid "Surf & Snow" msgstr "Bãi biển và Tuyết" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "" #: src/pentaxmn.cpp:600 #, fuzzy msgid "Stage Lighting" msgstr "Chiều cao hình ảnh" #: src/pentaxmn.cpp:601 #, fuzzy msgid "Night Snap" msgstr "Cảnh đêm" #: src/pentaxmn.cpp:602 #, fuzzy msgid "Blue Sky" msgstr "Xanh dương" #: src/pentaxmn.cpp:604 #, fuzzy msgid "Night Scene HDR" msgstr "Cảnh đêm" #: src/pentaxmn.cpp:606 #, fuzzy msgid "Quick Macro" msgstr "Siêu cận cảnh phóng to" #: src/pentaxmn.cpp:607 msgid "Forest" msgstr "" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "" #: src/pentaxmn.cpp:610 #, fuzzy msgid "Auto PICT (Standard)" msgstr "Tự động (Bóng râm)" #: src/pentaxmn.cpp:611 #, fuzzy msgid "Auto PICT (Portrait)" msgstr "Tương phản tự động" #: src/pentaxmn.cpp:612 #, fuzzy msgid "Auto PICT (Landscape)" msgstr "Đã chỉnh sửa (Phong cảnh)" #: src/pentaxmn.cpp:613 msgid "Auto PICT (Macro)" msgstr "" #: src/pentaxmn.cpp:614 #, fuzzy msgid "Auto PICT (Sport)" msgstr "Tương phản tự động" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 #, fuzzy msgid "Green Mode" msgstr "Chế độ đo đạc" #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 #, fuzzy msgid "Shutter Speed Priority" msgstr "Ưu tiên tốc độ chụp" #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 msgid "Aperture Priority" msgstr "Ưu tiên khẩu độ" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "" #: src/pentaxmn.cpp:631 #, fuzzy msgid "Program Tv Shift" msgstr "Chương trình" #: src/pentaxmn.cpp:632 #, fuzzy msgid "Program Av Shift" msgstr "Chương trình" #: src/pentaxmn.cpp:635 #, fuzzy msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "Ưu tiên khẩu độ (Av)" #: src/pentaxmn.cpp:636 #, fuzzy msgid "Manual (Off-Auto-Aperture)" msgstr "Khẩu độ tự động" #: src/pentaxmn.cpp:637 #, fuzzy msgid "Bulb (Off-Auto-Aperture)" msgstr "Khẩu độ tự động" #: src/pentaxmn.cpp:639 msgid "Shutter Priority" msgstr "Ưu tiên tốc độ chụp" #: src/pentaxmn.cpp:640 #, fuzzy msgid "Shutter & Aperture Priority AE" msgstr "Ưu tiên khẩu độ" #: src/pentaxmn.cpp:641 #, fuzzy msgid "Shutter & Aperture Priority AE (1)" msgstr "Ưu tiên tốc độ chập (Tv)" #: src/pentaxmn.cpp:642 #, fuzzy msgid "Sensitivity Priority AE" msgstr "Điều chỉnh độ nhạy" #: src/pentaxmn.cpp:643 msgid "Sensitivity Priority AE (1)" msgstr "" #: src/pentaxmn.cpp:644 msgid "Flash X-Sync Speed AE" msgstr "" #: src/pentaxmn.cpp:645 msgid "Flash X-Sync Speed AE (1)" msgstr "" #: src/pentaxmn.cpp:646 #, fuzzy msgid "Auto Program (Normal)" msgstr "Chương trình (2)" #: src/pentaxmn.cpp:647 msgid "Auto Program (Hi-Speed)" msgstr "" #: src/pentaxmn.cpp:648 #, fuzzy msgid "Auto Program (DOF)" msgstr "Chương trình (2)" #: src/pentaxmn.cpp:649 #, fuzzy msgid "Auto Program (MTF)" msgstr "Chương trình (2)" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "" #: src/pentaxmn.cpp:651 #, fuzzy msgid "Blur control" msgstr "Điều khiển màu" #: src/pentaxmn.cpp:654 msgid "Video (30 fps)" msgstr "" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "" #: src/pentaxmn.cpp:662 msgid "Continuous (Hi)" msgstr "Liên tục (Hi)" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 msgid "Burst" msgstr "" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 msgid "Video" msgstr "" #: src/pentaxmn.cpp:666 msgid "Self-timer (12 sec)" msgstr "" #: src/pentaxmn.cpp:667 msgid "Self-timer (2 sec)" msgstr "" #: src/pentaxmn.cpp:669 msgid "Mirror Lock-up" msgstr "" #: src/pentaxmn.cpp:670 msgid "Remote Control (3 sec)" msgstr "Điều khiển từ xa" #: src/pentaxmn.cpp:671 msgid "Remote Control" msgstr "Điều khiển Từ xa" #: src/pentaxmn.cpp:672 #, fuzzy msgid "Remote Continuous Shooting" msgstr "Liên tục, cao" #: src/pentaxmn.cpp:675 #, fuzzy msgid "HDR Strong 1" msgstr "Mạnh" #: src/pentaxmn.cpp:676 #, fuzzy msgid "HDR Strong 2" msgstr "Mạnh" #: src/pentaxmn.cpp:677 #, fuzzy msgid "HDR Strong 3" msgstr "Mạnh" #: src/pentaxmn.cpp:678 #, fuzzy msgid "HDR Auto" msgstr "Tự động" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "M-42 hoặc Không có ống kính" #: src/pentaxmn.cpp:691 #, fuzzy msgid "K or M Lens" msgstr "M-42 hoặc Không có ống kính" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "" #: src/pentaxmn.cpp:970 msgid "Bright" msgstr "Sang1" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "" #: src/pentaxmn.cpp:990 msgid "Weakest" msgstr "Yếu nhất" #: src/pentaxmn.cpp:991 msgid "Weak" msgstr "Yếu" #: src/pentaxmn.cpp:992 msgid "Strong" msgstr "Mạnh" #: src/pentaxmn.cpp:1112 msgid "No extended bracketing" msgstr "" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "" #: src/pentaxmn.cpp:1133 msgid "Unknown " msgstr "Không biết " #: src/pentaxmn.cpp:1146 msgid "Pentax Makernote version" msgstr "" #: src/pentaxmn.cpp:1149 msgid "Camera shooting mode" msgstr "Chế độ chụp của máy ảnh" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 msgid "Resolution of a preview image" msgstr "Phân giải của ảnh xem trước" #: src/pentaxmn.cpp:1154 msgid "Length of a preview image" msgstr "Độ dài của ảnh xem trước" #: src/pentaxmn.cpp:1155 #, fuzzy msgid "Size of an IFD containing a preview image" msgstr "Kích cỡ hình ảnh xem trước" #: src/pentaxmn.cpp:1160 #, fuzzy msgid "Model identification" msgstr "Nhận diện mẫu máy ảnh Pentax" #: src/pentaxmn.cpp:1161 #, fuzzy msgid "Pentax model identification" msgstr "Nhận diện mẫu máy ảnh Pentax" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 msgid "Date" msgstr "Ngày" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 msgid "Time" msgstr "Thời gian" #: src/pentaxmn.cpp:1170 msgid "Image quality settings" msgstr "Tùy chỉnh chất lượng hình ảnh" #: src/pentaxmn.cpp:1173 msgid "Image size settings" msgstr "Tùy chỉnh kích cỡ hình ảnh" #: src/pentaxmn.cpp:1177 msgid "Flash mode settings" msgstr "Tùy chỉnh chế độ đèn chớp" #: src/pentaxmn.cpp:1180 msgid "Focus mode settings" msgstr "Tùy chỉnh chế độ lấy nét" #: src/pentaxmn.cpp:1183 msgid "Selected AF point" msgstr "Lực chọn điểm lấy nét tự động" #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 #, fuzzy msgid "AF point in focus" msgstr "Điểm lấy nét tự động đã sử dụng" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 #, fuzzy msgid "F-Number" msgstr "Số F" #: src/pentaxmn.cpp:1195 msgid "ISO sensitivity" msgstr "Độ nhạy sáng" #: src/pentaxmn.cpp:1196 msgid "ISO sensitivity settings" msgstr "Tùy chỉnh độ nhạy sáng" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 msgid "MeteringMode" msgstr "Chếđộđođạc" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 #, fuzzy msgid "AutoBracketing" msgstr "Tự động" #: src/pentaxmn.cpp:1216 msgid "Blue color balance" msgstr "Cân bằng màu xanh dương" #: src/pentaxmn.cpp:1219 msgid "Red color balance" msgstr "Cân bằng màu đỏ" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 msgid "FocalLength" msgstr "DảiTiêucự" #: src/pentaxmn.cpp:1239 msgid "Hometown" msgstr "" #: src/pentaxmn.cpp:1245 msgid "Hometown DST" msgstr "" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "" #: src/pentaxmn.cpp:1248 #, fuzzy msgid "Destination DST" msgstr "Đích đến" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 #, fuzzy msgid "DSPFirmwareVersion" msgstr "Phiên bản phần vững" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 #, fuzzy msgid "CPUFirmwareVersion" msgstr "Phiên bản phần vững" #: src/pentaxmn.cpp:1261 msgid "Light value" msgstr "Gia1 trị sáng" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 #, fuzzy msgid "Image area offset" msgstr "Kích cỡ dữ liệu hình ảnh" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 msgid "Raw image size" msgstr "Kích cỡ hình ảnh gốc" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 msgid "Preview image borders" msgstr "Khung viền của hình ảnh xem trước" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 msgid "Sensitivity adjust" msgstr "Điều chỉnh độ nhạy" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 msgid "Digital filter" msgstr "Lọc điện tử" #: src/pentaxmn.cpp:1299 #, fuzzy msgid "Camera temperature" msgstr "Nhiệt độ màu" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 #, fuzzy msgid "Image tone" msgstr "Kiểu hình ảnh" #: src/pentaxmn.cpp:1319 msgid "Shake reduction" msgstr "Giảm rung" #: src/pentaxmn.cpp:1320 #, fuzzy msgid "Shake reduction information" msgstr "Giảm rung" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 msgid "Dynamic range expansion" msgstr "" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 msgid "High ISO noise reduction" msgstr "Giảm nhiễu do độ nhạy sáng cao" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 #, fuzzy msgid "AF Adjustment" msgstr "Thay đổi" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 msgid "Black point" msgstr "Điểm đen" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 msgid "White point" msgstr "Điểm trắng" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 msgid "ShotInfo" msgstr "Thôngtinảnhchụp" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 #, fuzzy msgid "AEInfo" msgstr "Thông tin Lấy nét tự động" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 msgid "LensInfo" msgstr "Thôngtinốngkính" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 msgid "FlashInfo" msgstr "Thôngtinđènchớp" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 #, fuzzy msgid "AEMeteringSegments" msgstr "Chế độ đo đạc" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 #, fuzzy msgid "FlashADump" msgstr "Đèn chớp" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 #, fuzzy msgid "FlashBDump" msgstr "Đèn chớp" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 msgid "WB_RGGBLevelsDaylight" msgstr "" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 msgid "WB_RGGBLevelsShade" msgstr "" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 msgid "WB_RGGBLevelsCloudy" msgstr "" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 msgid "WB_RGGBLevelsTungsten" msgstr "" #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 msgid "WB_RGGBLevelsFluorescentD" msgstr "" #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 msgid "WB_RGGBLevelsFluorescentN" msgstr "" #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 msgid "WB_RGGBLevelsFluorescentW" msgstr "" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 msgid "WB_RGGBLevelsFlash" msgstr "" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 msgid "CameraInfo" msgstr "Thôngtinmáyảnh" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 msgid "BatteryInfo" msgstr "Thôngtinpin" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 #, fuzzy msgid "AFInfo" msgstr "Thông tin Lấy nét tự động" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 #, fuzzy msgid "ColorInfo" msgstr "Màu sắc" #: src/pentaxmn.cpp:1405 #, fuzzy msgid "Unknown PentaxMakerNote tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "" #: src/properties.cpp:113 msgid "XMP Basic schema" msgstr "" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "" #: src/properties.cpp:115 msgid "XMP Media Management schema" msgstr "" #: src/properties.cpp:116 msgid "XMP Basic Job Ticket schema" msgstr "" #: src/properties.cpp:117 msgid "XMP Paged-Text schema" msgstr "" #: src/properties.cpp:118 msgid "XMP Dynamic Media schema" msgstr "" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "" #: src/properties.cpp:120 msgid "Adobe Lightroom schema" msgstr "" #: src/properties.cpp:121 #, fuzzy msgid "Adobe PDF schema" msgstr "Thẻ Adobe DNG" #: src/properties.cpp:122 msgid "Adobe photoshop schema" msgstr "" #: src/properties.cpp:123 msgid "Camera Raw schema" msgstr "" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "" #: src/properties.cpp:127 src/properties.cpp:128 msgid "IPTC Core schema" msgstr "" #: src/properties.cpp:129 src/properties.cpp:130 msgid "IPTC Extension schema" msgstr "" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "" #: src/properties.cpp:132 msgid "iView Media Pro schema" msgstr "" #: src/properties.cpp:133 msgid "Expression Media schema" msgstr "" #: src/properties.cpp:134 msgid "Microsoft Photo 1.2 schema" msgstr "" #: src/properties.cpp:135 msgid "Microsoft Photo RegionInfo schema" msgstr "" #: src/properties.cpp:136 msgid "Microsoft Photo Region schema" msgstr "" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "" #: src/properties.cpp:138 msgid "Metadata Working Group Keywords schema" msgstr "" #: src/properties.cpp:139 msgid "XMP Extended Video schema" msgstr "" #: src/properties.cpp:140 msgid "XMP Extended Audio schema" msgstr "" #: src/properties.cpp:141 msgid "XMP Darwin Core schema" msgstr "" #: src/properties.cpp:142 msgid "Qualified Dublin Core schema" msgstr "" #: src/properties.cpp:143 msgid "ACDSee XMP schema" msgstr "" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "" #: src/properties.cpp:148 #, fuzzy msgid "Colorant structure" msgstr "Nhiệt độ màu sắc" #: src/properties.cpp:149 #, fuzzy msgid "Dimensions structure" msgstr "Phiên bản cấu trúc" #: src/properties.cpp:150 #, fuzzy msgid "Font structure" msgstr "Phiên bản cấu trúc" #: src/properties.cpp:151 #, fuzzy msgid "Thumbnail structure" msgstr "Hình ảnh thu nhỏ" #: src/properties.cpp:152 #, fuzzy msgid "Resource Event structure" msgstr "Phiên bản cấu trúc" #: src/properties.cpp:153 #, fuzzy msgid "ResourceRef structure" msgstr "Phiên bản cấu trúc" #: src/properties.cpp:154 msgid "Version structure" msgstr "Phiên bản cấu trúc" #: src/properties.cpp:155 msgid "Basic Job/Workflow structure" msgstr "" #: src/properties.cpp:156 #, fuzzy msgid "Area structure" msgstr "Phiên bản cấu trúc" #: src/properties.cpp:159 msgid "Qualifier for xmp:Identifier" msgstr "" #: src/properties.cpp:163 msgid "Contributor" msgstr "Người cộng tác" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "" #: src/properties.cpp:164 #, fuzzy msgid "Coverage" msgstr "Trung bình" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" #: src/properties.cpp:166 msgid "Creator" msgstr "Người tạo" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "" #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "" #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" #: src/properties.cpp:170 src/properties.cpp:1160 msgid "Format" msgstr "Định dạng" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" #: src/properties.cpp:172 src/properties.cpp:228 msgid "Identifier" msgstr "" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "" #: src/properties.cpp:175 msgid "Publisher" msgstr "Nhà xuất bản" #: src/properties.cpp:175 msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" #: src/properties.cpp:178 msgid "Relation" msgstr "Mối liên hệ" #: src/properties.cpp:178 msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" #: src/properties.cpp:180 msgid "Rights" msgstr "Quyền lợi" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" #: src/properties.cpp:183 #, fuzzy msgid "Unique identifier of the work from which this resource was derived." msgstr "Tên của tài liệu mà bức ảnh này được quét" #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 msgid "Type" msgstr "Kiểu" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "" #: src/properties.cpp:194 msgid "Tags List" msgstr "" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" #: src/properties.cpp:195 #, fuzzy msgid "Captions Author Names" msgstr "Địa điểm-Tên Quốc gia" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" #: src/properties.cpp:196 #, fuzzy msgid "Captions Date Time Stamps" msgstr "Cập nhật nhãn thời g" #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" #: src/properties.cpp:197 src/tags.cpp:844 msgid "Image History" msgstr "Lịch sử hình ảnh" #: src/properties.cpp:197 msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" #: src/properties.cpp:198 #, fuzzy msgid "Lens Correction Settings" msgstr "Thiết lập độ tương phản" #: src/properties.cpp:198 msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" #: src/properties.cpp:199 #, fuzzy msgid "Color Label" msgstr "Không gian Màu" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" #: src/properties.cpp:200 #, fuzzy msgid "Pick Label" msgstr "Nhãn" #: src/properties.cpp:200 msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" #: src/properties.cpp:206 #, fuzzy msgid "Panorama Input Files" msgstr "Khung hình toàn cảnh" #: src/properties.cpp:206 msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" #: src/properties.cpp:207 msgid "Enfuse Input Files" msgstr "" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" #: src/properties.cpp:208 #, fuzzy msgid "Enfuse Settings" msgstr "Các cài đặt mặc định" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "" #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "" #: src/properties.cpp:216 msgid "Advisory" msgstr "" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" #: src/properties.cpp:219 src/properties.cpp:1066 msgid "Base URL" msgstr "" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" #: src/properties.cpp:224 msgid "Create Date" msgstr "Ngày tạo" #: src/properties.cpp:224 #, fuzzy msgid "The date and time the resource was originally created." msgstr "Ngày và giờ phim được quay" #: src/properties.cpp:225 #, fuzzy msgid "Creator Tool" msgstr "Người tạo" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" #: src/properties.cpp:233 msgid "Label" msgstr "Nhãn" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" #: src/properties.cpp:235 #, fuzzy msgid "Metadata Date" msgstr "Ngày tạo" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" #: src/properties.cpp:237 msgid "Modify Date" msgstr "Ngày điều chỉnh" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" #: src/properties.cpp:240 msgid "Nickname" msgstr "" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "" #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 msgid "Rating" msgstr "Đánh giá" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" #: src/properties.cpp:244 #, fuzzy msgid "Thumbnails" msgstr "Ảnh thu nhỏ" #: src/properties.cpp:244 msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" #: src/properties.cpp:251 msgid "Certificate" msgstr "Chứng chỉ" #: src/properties.cpp:251 msgid "Online rights management certificate." msgstr "" #: src/properties.cpp:252 msgid "Marked" msgstr "Đánh dấu" #: src/properties.cpp:252 msgid "Indicates that this is a rights-managed resource." msgstr "" #: src/properties.cpp:253 msgid "Owner" msgstr "Chủ sở hữu" #: src/properties.cpp:253 msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "" #: src/properties.cpp:254 msgid "Usage Terms" msgstr "" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "" #: src/properties.cpp:255 msgid "Web Statement" msgstr "" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" #: src/properties.cpp:261 msgid "Derived From" msgstr "" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" #: src/properties.cpp:266 #, fuzzy msgid "Document ID" msgstr "Tài liệu" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" #: src/properties.cpp:268 msgid "History" msgstr "Lịch sử" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" #: src/properties.cpp:272 msgid "Instance ID" msgstr "" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" #: src/properties.cpp:274 #, fuzzy msgid "Managed From" msgstr "Người quản lý" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" #: src/properties.cpp:277 msgid "Manager" msgstr "Người quản lý" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" #: src/properties.cpp:280 #, fuzzy msgid "Manage To" msgstr "Người quản lý" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" #: src/properties.cpp:283 #, fuzzy msgid "Manage UI" msgstr "Người quản lý" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" #: src/properties.cpp:285 #, fuzzy msgid "Manager Variant" msgstr "Người quản lý" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" #: src/properties.cpp:287 msgid "Rendition Class" msgstr "" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" #: src/properties.cpp:289 msgid "Rendition Params" msgstr "" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" #: src/properties.cpp:291 #, fuzzy msgid "Version ID" msgstr "Phiên bản" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr "" #: src/properties.cpp:295 msgid "Versions" msgstr "Phiên bản" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" #: src/properties.cpp:301 msgid "Last URL" msgstr "" #: src/properties.cpp:301 msgid "Deprecated for privacy protection." msgstr "" #: src/properties.cpp:302 #, fuzzy msgid "Rendition Of" msgstr "Mối liên hệ" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" #: src/properties.cpp:304 msgid "Save ID" msgstr "" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "" #: src/properties.cpp:310 #, fuzzy msgid "Job Reference" msgstr "Liên kết dự án" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" #: src/properties.cpp:319 msgid "Maximum Page Size" msgstr "Kích cỡ Trang Lớn nhất" #: src/properties.cpp:319 msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "" "Kích cỡ của trang lớn nhất trong văn bản (bao gồm bất cứ những gì chứa trong " "văn bản)" #: src/properties.cpp:320 msgid "Number of Pages" msgstr "Số trang" #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "" "Số lượng các trang trong văn bản (bao gồm bất cứ những gì chứa trong văn bản)" #: src/properties.cpp:321 msgid "Fonts" msgstr "Phông chữ" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" "Một mảng không thứ tự các phông chữ được sử dụng trong tài liệu (bao gồm tất " "cả chứa trong tài liệu)." #: src/properties.cpp:322 #, fuzzy msgid "Colorants" msgstr "Dữ liệu màu" #: src/properties.cpp:322 #, fuzzy msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" "Một mảng không thứ tự các phông chữ được sử dụng trong tài liệu (bao gồm tất " "cả chứa trong tài liệu)." #: src/properties.cpp:323 #, fuzzy msgid "Plate Names" msgstr "Tên Thư mục" #: src/properties.cpp:323 #, fuzzy msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" "Một mảng không thứ tự các phông chữ được sử dụng trong tài liệu (bao gồm tất " "cả chứa trong tài liệu)." #: src/properties.cpp:329 src/properties.cpp:1285 msgid "Project Reference" msgstr "Liên kết dự án" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "Một liên kết đến dự án đã tạo tập tin này" #: src/properties.cpp:330 src/properties.cpp:1163 msgid "Video Frame Rate" msgstr "Tỉ lệ khung hình phim" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "Tỉ lệ khung hình phim. Một trng: 24, NTSC, PAL." #: src/properties.cpp:331 src/properties.cpp:1164 msgid "Video Frame Size" msgstr "Kích cỡ khung hình phim" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "Kích cỡ khung hình. Ví dụ: w:720, h: 480, unit:pixels" #: src/properties.cpp:332 msgid "Video Pixel Aspect Ratio" msgstr "" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "" #: src/properties.cpp:333 src/properties.cpp:1261 #, fuzzy msgid "Video Pixel Depth" msgstr "Thứ tự trường ảnh" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "Video Color Space" msgstr "Không gian màu phim" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" "Không gian màu phim. Một trong: sRGB (dùng bởi Photoshop), CCIR-601 (dùng " "cho NTSC), CCIR-709 (dùng cho HD)." #: src/properties.cpp:337 #, fuzzy msgid "Video Alpha Mode" msgstr "Không gian màu phim" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "" #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "" #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "" #: src/properties.cpp:341 msgid "Video Compressor" msgstr "Bộ nén ảnh" #: src/properties.cpp:341 msgid "Video compression used. For example, jpeg." msgstr "Bộ nén ảnh được dùng. Ví dụ, jped." #: src/properties.cpp:342 msgid "Video Field Order" msgstr "Thứ tự trường ảnh" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "Thứ tự trường ảnh. Ví dụ: Trên, dưới, tịnh tiến" #: src/properties.cpp:343 msgid "Pull Down" msgstr "" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "Audio Sample Rate" msgstr "Tỉ lệ mẫu âm thanh" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" "Tỉ lệ mẫu âm thanh. Có thể là giá trị bất kì, thường là 32000, 41100, hay " "48000." #: src/properties.cpp:346 src/properties.cpp:1426 msgid "Audio Sample Type" msgstr "Kiểu mẫu âm thanh" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "Kiểu mẫu âm thanh. Một trong: 8Int, 16Int, 32Int, 32Float." #: src/properties.cpp:347 src/properties.cpp:1400 msgid "Audio Channel Type" msgstr "Kiểu kênh âm thanh" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "Kiểu kênh âm thanh. Một trong số: Mono, Streo, 5.1,7.1." #: src/properties.cpp:348 src/properties.cpp:1407 msgid "Audio Compressor" msgstr "Bộ nén âm thanh" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "Bộ nén âm thanh được sử dụng. Ví dụ, MP3." #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" #: src/properties.cpp:351 src/properties.cpp:1149 #, fuzzy msgid "File Data Rate" msgstr "Tên tập tin" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "" #: src/properties.cpp:352 src/properties.cpp:1334 #, fuzzy msgid "Tape Name" msgstr "Tên tập tin gốc" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "" #: src/properties.cpp:353 msgid "Alternative Tape Name" msgstr "" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" #: src/properties.cpp:355 msgid "Start Time Code" msgstr "" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "" #: src/properties.cpp:356 msgid "Alternative Time code" msgstr "" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" #: src/properties.cpp:357 src/properties.cpp:1124 msgid "Duration" msgstr "Thời lượng" #: src/properties.cpp:357 msgid "The duration of the media file." msgstr "Độ dài của tập tin phương tiện" #: src/properties.cpp:358 #, fuzzy msgid "Scene" msgstr "Cảnh đêm" #: src/properties.cpp:358 #, fuzzy msgid "The name of the scene." msgstr "Độ dài của tập tin phương tiện" #: src/properties.cpp:359 msgid "Shot Name" msgstr "Tên phim" #: src/properties.cpp:359 msgid "The name of the shot or take." msgstr "" #: src/properties.cpp:360 msgid "Shot Date" msgstr "Ngày quay" #: src/properties.cpp:360 msgid "The date and time when the video was shot." msgstr "Ngày và giờ phim được quay" #: src/properties.cpp:361 msgid "Shot Location" msgstr "Địa điểm quay" #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" "Tên của địa điểm nơi phim được quay. Ví dụ:\"Oktoberfest, Munich Germany\" " "Đ63 có được vị trí chính xác hơn, sử dụng các giá trị EXIF GPS" #: src/properties.cpp:363 msgid "Log Comment" msgstr "Nhật kí bình luận" #: src/properties.cpp:363 msgid "User's log comments." msgstr "Nhật kí bình luận của người dùng" #: src/properties.cpp:364 #, fuzzy msgid "Markers" msgstr "Đánh dấu" #: src/properties.cpp:364 msgid "An ordered list of markers" msgstr "" #: src/properties.cpp:365 #, fuzzy msgid "Contributed Media" msgstr "Người cộng tác" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "" #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:368 #, fuzzy msgid "Video Modified Date" msgstr "Ngày điều chỉnh" #: src/properties.cpp:368 #, fuzzy msgid "The date and time when the video was last modified." msgstr "Ngày và giờ phim được quay" #: src/properties.cpp:369 #, fuzzy msgid "Audio Modified Date" msgstr "Ngày điều chỉnh" #: src/properties.cpp:369 #, fuzzy msgid "The date and time when the audio was last modified." msgstr "Ngày và giờ phim được quay" #: src/properties.cpp:370 #, fuzzy msgid "Metadata Modified Date" msgstr "Ngày điều chỉnh" #: src/properties.cpp:370 #, fuzzy msgid "The date and time when the metadata was last modified." msgstr "Ngày và giờ phim được quay" #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "Nghệ sĩ" #: src/properties.cpp:371 src/properties.cpp:1058 #, fuzzy msgid "The name of the artist or artists." msgstr "Tên của thành phố tại vị trí đó." #: src/properties.cpp:372 src/properties.cpp:1054 msgid "Album" msgstr "Anbom" #: src/properties.cpp:372 src/properties.cpp:1054 #, fuzzy msgid "The name of the album." msgstr "Độ dài của tập tin phương tiện" #: src/properties.cpp:373 src/properties.cpp:1366 #, fuzzy msgid "Track Number" msgstr "Số Khung hình" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "Genre" msgstr "" #: src/properties.cpp:374 src/properties.cpp:1166 #, fuzzy msgid "The name of the genre." msgstr "Độ dài của tập tin phương tiện" #: src/properties.cpp:375 msgid "The copyright information." msgstr "Thông tin bản quyền" #: src/properties.cpp:376 #, fuzzy msgid "The date the title was released." msgstr "Ngày và giờ phim được quay" #: src/properties.cpp:377 src/properties.cpp:1086 msgid "Composer" msgstr "Tác giả" #: src/properties.cpp:377 #, fuzzy msgid "The composer's name." msgstr "Tên kĩ sư" #: src/properties.cpp:378 src/properties.cpp:1143 msgid "Engineer" msgstr "Kĩ sư" #: src/properties.cpp:378 msgid "The engineer's name." msgstr "Tên kĩ sư" #: src/properties.cpp:379 msgid "Tempo" msgstr "Nhịp điệu" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "" #: src/properties.cpp:380 msgid "Instrument" msgstr "Dụng c" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "Nhạc c" #: src/properties.cpp:381 msgid "Intro Time" msgstr "Thời gian mở" #: src/properties.cpp:381 #, fuzzy msgid "The duration of lead time for queuing music." msgstr "Độ dài của tập tin phương tiện" #: src/properties.cpp:382 msgid "Out Cue" msgstr "" #: src/properties.cpp:382 msgid "The time at which to fade out." msgstr "" #: src/properties.cpp:383 #, fuzzy msgid "Relative Timestamp" msgstr "Cập nhật nhãn thời g" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "" #: src/properties.cpp:384 msgid "Loop" msgstr "Vòng lặp" #: src/properties.cpp:384 msgid "When true, the clip can be looped seamlessly." msgstr "" #: src/properties.cpp:385 #, fuzzy msgid "Number Of Beats" msgstr "Số trang" #: src/properties.cpp:385 #, fuzzy msgid "The number of beats." msgstr "Số trang" #: src/properties.cpp:386 msgid "Key" msgstr "Khóa" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "" #: src/properties.cpp:387 #, fuzzy msgid "Stretch Mode" msgstr "Chế độ đặc biệt" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" #: src/properties.cpp:388 msgid "Time Scale Parameters" msgstr "" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "" #: src/properties.cpp:389 msgid "Resample Parameters" msgstr "" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "" #: src/properties.cpp:390 msgid "Beat Splice Parameters" msgstr "" #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "" #: src/properties.cpp:391 #, fuzzy msgid "Time Signature" msgstr "Thời gian gửi" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" #: src/properties.cpp:392 #, fuzzy msgid "Scale Type" msgstr "Kiểu tập tin phụ" #: src/properties.cpp:392 msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "" #: src/properties.cpp:399 src/tags.cpp:1078 #, fuzzy msgid "Camera Serial Number" msgstr "Số thứ tự máy ảnh" #: src/properties.cpp:399 #, fuzzy msgid "Camera Serial Number." msgstr "Số thứ tự máy ảnh" #: src/properties.cpp:400 #, fuzzy msgid "Date Acquired" msgstr "Ngày tạo" #: src/properties.cpp:400 #, fuzzy msgid "Date Acquired." msgstr "Ngày tạo" #: src/properties.cpp:401 msgid "Flash Manufacturer" msgstr "Nhà sản xuất đèn chớp" #: src/properties.cpp:401 msgid "Flash Manufacturer." msgstr "Nhà sản xuất đèn chớp." #: src/properties.cpp:402 msgid "Flash Model." msgstr "Mẫu đèn chớp" #: src/properties.cpp:403 msgid "Last Keyword IPTC" msgstr "" #: src/properties.cpp:403 msgid "Last Keyword IPTC." msgstr "" #: src/properties.cpp:404 msgid "Last Keyword XMP" msgstr "" #: src/properties.cpp:404 #, fuzzy msgid "Last Keyword XMP." msgstr "Từ khóa." #: src/properties.cpp:405 msgid "Lens Manufacturer" msgstr "Nhà sản xuất ống k" #: src/properties.cpp:405 msgid "Lens Manufacturer." msgstr "Nhà sản xuất ống kính." #: src/properties.cpp:406 src/properties.cpp:1199 msgid "Lens Model." msgstr "Kiểu ống kính." #: src/properties.cpp:407 #, fuzzy msgid "Rating Percent" msgstr "Đánh giá" #: src/properties.cpp:407 msgid "Rating Percent." msgstr "" #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "" #: src/properties.cpp:414 #, fuzzy msgid "Private RTK Info" msgstr "Thông tin hình ảnh" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "" #: src/properties.cpp:420 msgid "Keywords." msgstr "Từ khóa." #: src/properties.cpp:421 msgid "PDF Version" msgstr "Phiên bản PDF" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "Tập tin phiên bản PDF (ví dụ: 1.0, 1.3, và tiếp tục)." #: src/properties.cpp:422 src/properties.cpp:1278 msgid "Producer" msgstr "Nhà sản xuất" #: src/properties.cpp:422 msgid "The name of the tool that created the PDF document." msgstr "" #: src/properties.cpp:428 #, fuzzy msgid "Authors Position" msgstr "Vị trí Lấy nét" #: src/properties.cpp:428 msgid "By-line title." msgstr "" #: src/properties.cpp:429 #, fuzzy msgid "Caption Writer" msgstr "Optio WPi" #: src/properties.cpp:429 msgid "Writer/editor." msgstr "Tác giả/biên tập viên" #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "" #: src/properties.cpp:431 msgid "City." msgstr "Thành phố." #: src/properties.cpp:432 msgid "Country/primary location." msgstr "" #: src/properties.cpp:433 msgid "Credit." msgstr "" #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" #: src/properties.cpp:438 msgid "Headline." msgstr "Tiêu đề." #: src/properties.cpp:439 msgid "Special instructions." msgstr "Chỉ dẫn đặc biệt" #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source." msgstr "Nguồn." #: src/properties.cpp:441 msgid "Province/state." msgstr "Tỉnh/Bang" #: src/properties.cpp:442 msgid "Supplemental category." msgstr "" #: src/properties.cpp:443 msgid "Original transmission reference." msgstr "" #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "" #: src/properties.cpp:452 #, fuzzy msgid "inches" msgstr "insơ" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "" #: src/properties.cpp:457 #, fuzzy msgid "Auto Brightness" msgstr "Độ sáng" #: src/properties.cpp:457 #, fuzzy msgid "When true, \"Brightness\" is automatically adjusted." msgstr "Khi đúng, \"Bóng\" sẽ được từ động điều chỉnh" #: src/properties.cpp:458 msgid "Auto Contrast" msgstr "Tương phản tự động" #: src/properties.cpp:458 #, fuzzy msgid "When true, \"Contrast\" is automatically adjusted." msgstr "Khi đúng, \"Bóng\" sẽ được từ động điều chỉnh" #: src/properties.cpp:459 msgid "Auto Exposure" msgstr "Phơi sáng tự động" #: src/properties.cpp:459 #, fuzzy msgid "When true, \"Exposure\" is automatically adjusted." msgstr "Khi đúng, \"Bóng\" sẽ được từ động điều chỉnh" #: src/properties.cpp:460 msgid "Auto Shadows" msgstr "Đổ bóng tự động" #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "Khi đúng, \"Bóng\" sẽ được từ động điều chỉnh" #: src/properties.cpp:461 #, fuzzy msgid "Blue Hue" msgstr "Xanh dương" #: src/properties.cpp:461 #, fuzzy msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "Tùy chỉnh \"Độ mịn\". Khoảng từ 0 tới +100." #: src/properties.cpp:462 #, fuzzy msgid "Blue Saturation" msgstr "Độ bão hòa tùy chỉnh" #: src/properties.cpp:462 #, fuzzy msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "Tùy chỉnh \"Độ tương phản\". Khoảng từ -50 tới +100." #: src/properties.cpp:463 #, fuzzy msgid "\"Brightness\" setting. Range 0 to +150." msgstr "Tùy chỉnh \"Độ mịn\". Khoảng từ 0 tới +100." #: src/properties.cpp:464 #, fuzzy msgid "Camera Profile" msgstr "Kiểu Ca-me-ra" #: src/properties.cpp:464 #, fuzzy msgid "\"Camera Profile\" setting." msgstr "Tùy chỉnh máy ảnh" #: src/properties.cpp:465 msgid "Chromatic Aberration Blue" msgstr "" #: src/properties.cpp:465 #, fuzzy msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "Tùy chỉnh \"Độ tương phản\". Khoảng từ -50 tới +100." #: src/properties.cpp:466 msgid "Chromatic Aberration Red" msgstr "" #: src/properties.cpp:466 #, fuzzy msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "Tùy chỉnh \"Độ tương phản\". Khoảng từ -50 tới +100." #: src/properties.cpp:467 src/properties.cpp:1080 msgid "Color Noise Reduction" msgstr "Tiêu giảm độ nhiễu màu sác" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "Tùy chỉnh \"TIêu giảm độ nhiễu màu sắc\". Khoảng từ 0 tới +100." #: src/properties.cpp:468 msgid "\"Contrast\" setting. Range -50 to +100." msgstr "Tùy chỉnh \"Độ tương phản\". Khoảng từ -50 tới +100." #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "" #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "" #: src/properties.cpp:471 #, fuzzy msgid "Crop Bottom" msgstr "Trên xuống dưới" #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "" #: src/properties.cpp:472 #, fuzzy msgid "Crop Right" msgstr "Bản quyền" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "" #: src/properties.cpp:473 msgid "Crop Angle" msgstr "" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "" #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:476 #, fuzzy msgid "Crop Units" msgstr "Đơn vị tiêu cự" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "" #: src/properties.cpp:477 #, fuzzy msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "Tùy chỉnh \"Độ tương phản\". Khoảng từ -50 tới +100." #: src/properties.cpp:478 #, fuzzy msgid "Green Hue" msgstr "Xanh lá" #: src/properties.cpp:478 #, fuzzy msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "Tùy chỉnh \"Độ mịn\". Khoảng từ 0 tới +100." #: src/properties.cpp:479 #, fuzzy msgid "Green Saturation" msgstr "Chế độ ảnh bão hòa" #: src/properties.cpp:479 #, fuzzy msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "Tùy chỉnh \"Độ tương phản\". Khoảng từ -50 tới +100." #: src/properties.cpp:480 msgid "Has Crop" msgstr "" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "" #: src/properties.cpp:481 #, fuzzy msgid "Has Settings" msgstr "Tùy chỉnh Đèn chớp" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "" #: src/properties.cpp:482 msgid "Luminance Smoothing" msgstr "" #: src/properties.cpp:482 #, fuzzy msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "Tùy chỉnh \"Độ mịn\". Khoảng từ 0 tới +100." #: src/properties.cpp:483 msgid "Raw File Name" msgstr "Tên tập tin gốc" #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "Tên tập tin của tập tin gốc (không phải đường dẫn hoàn toàn)" #: src/properties.cpp:484 #, fuzzy msgid "Red Hue" msgstr "Mắt đỏ" #: src/properties.cpp:484 #, fuzzy msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "Tùy chỉnh \"Độ mịn\". Khoảng từ 0 tới +100." #: src/properties.cpp:485 #, fuzzy msgid "Red Saturation" msgstr "Độ bão hòa đã thay đổi" #: src/properties.cpp:485 #, fuzzy msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "Tùy chỉnh \"Độ tương phản\". Khoảng từ -50 tới +100." #: src/properties.cpp:486 #, fuzzy msgid "\"Saturation\" setting. Range -100 to +100." msgstr "Tùy chỉnh \"Độ tương phản\". Khoảng từ -50 tới +100." #: src/properties.cpp:487 #, fuzzy msgid "Shadows" msgstr "Đổ bóng tự động" #: src/properties.cpp:487 #, fuzzy msgid "\"Shadows\" setting. Range 0 to +100." msgstr "Tùy chỉnh \"Độ mịn\". Khoảng từ 0 tới +100." #: src/properties.cpp:488 msgid "Shadow Tint" msgstr "" #: src/properties.cpp:488 #, fuzzy msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "Tùy chỉnh \"Độ mịn\". Khoảng từ 0 tới +100." #: src/properties.cpp:489 src/properties.cpp:1301 msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "Tùy chỉnh \"Độ mịn\". Khoảng từ 0 tới +100." #: src/properties.cpp:490 msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "Tùy chỉnh \"nhiệt độ\". Khoảng từ 2000 tới 50000." #: src/properties.cpp:491 msgid "Tint" msgstr "" #: src/properties.cpp:491 #, fuzzy msgid "\"Tint\" setting. Range -150 to +150." msgstr "Tùy chỉnh \"Độ tương phản\". Khoảng từ -50 tới +100." #: src/properties.cpp:492 msgid "Tone Curve" msgstr "" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "" #: src/properties.cpp:493 #, fuzzy msgid "Tone Curve Name" msgstr "Tên chủ sở hữu" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "" #: src/properties.cpp:496 msgid "Vignette Amount" msgstr "" #: src/properties.cpp:496 #, fuzzy msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "Tùy chỉnh \"Độ tương phản\". Khoảng từ -50 tới +100." #: src/properties.cpp:497 #, fuzzy msgid "Vignette Midpoint" msgstr "Điểm trắng" #: src/properties.cpp:497 #, fuzzy msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "Tùy chỉnh \"Độ tương phản\". Khoảng từ -50 tới +100." #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "" #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 msgid "Image Length" msgstr "Chiều dài hình ảnh" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "" #: src/properties.cpp:507 #, fuzzy msgid "Bits Per Sample" msgstr "Bit trên mẫu" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "" #: src/properties.cpp:508 src/tags.cpp:434 #, fuzzy msgid "Compression" msgstr "Tỷ lệ nén" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "" #: src/properties.cpp:509 src/tags.cpp:440 msgid "Photometric Interpretation" msgstr "" #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "" #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" #: src/properties.cpp:519 #, fuzzy msgid "Samples Per Pixel" msgstr "Mẫu trên mỗi điểm ảnh" #: src/properties.cpp:519 msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "" #: src/properties.cpp:520 src/tags.cpp:514 #, fuzzy msgid "Planar Configuration" msgstr "Cấu hình ảnh" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "" #: src/properties.cpp:521 msgid "YCbCr Sub Sampling" msgstr "" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" #: src/properties.cpp:523 src/tags.cpp:720 msgid "YCbCr Positioning" msgstr "" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" #: src/properties.cpp:525 src/properties.cpp:1390 msgid "X Resolution" msgstr "Độ phân giải X" #: src/properties.cpp:525 msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "" #: src/properties.cpp:526 src/properties.cpp:1392 msgid "Y Resolution" msgstr "Độ phân giải Y" #: src/properties.cpp:526 msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "" #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 #, fuzzy msgid "Resolution Unit" msgstr "Độ phân giải X" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" #: src/properties.cpp:529 src/tags.cpp:540 #, fuzzy msgid "Transfer Function" msgstr "Hướng dẫn" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" #: src/properties.cpp:531 src/tags.cpp:572 msgid "White Point" msgstr "Điểm trắng" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "" #: src/properties.cpp:532 src/tags.cpp:577 #, fuzzy msgid "Primary Chromaticities" msgstr "Ảnh chính" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "" #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "" #: src/properties.cpp:534 #, fuzzy msgid "Reference Black White" msgstr "Đen và trắng" #: src/properties.cpp:534 msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "" #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 msgid "Date and Time" msgstr "Ngày và Giờ" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" #: src/properties.cpp:541 src/tags.cpp:462 msgid "Image Description" msgstr "Miêu tả hình ảnh" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" #: src/properties.cpp:542 msgid "Make" msgstr "" #: src/properties.cpp:542 #, fuzzy msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "Nhà sản xuất của các thiết bị thu" #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "" #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" #: src/properties.cpp:546 msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" #: src/properties.cpp:548 msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" #: src/properties.cpp:555 src/tags.cpp:1605 #, fuzzy msgid "Exif Version" msgstr "Phiên bản tập tin" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "" #: src/properties.cpp:556 #, fuzzy msgid "Flashpix Version" msgstr "Phiên bản tập tin" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "" #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "" #: src/properties.cpp:558 src/tags.cpp:1616 #, fuzzy msgid "Components Configuration" msgstr "Cấu hình ảnh" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" #: src/properties.cpp:560 src/tags.cpp:825 #, fuzzy msgid "Compressed Bits Per Pixel" msgstr "Mẫu trên mỗi điểm ảnh" #: src/properties.cpp:560 msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "" #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "" #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "" #: src/properties.cpp:564 src/tags.cpp:1674 msgid "User Comment" msgstr "Chú thích của người dùng" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "" #: src/properties.cpp:565 src/tags.cpp:1716 msgid "Related Sound File" msgstr "Tập tin âm thanh có liên quan" #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" #: src/properties.cpp:566 src/properties.cpp:1110 msgid "Date and Time Original" msgstr "Ngày và giờ ban đầu" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" #: src/properties.cpp:569 src/properties.cpp:1111 #, fuzzy msgid "Date and Time Digitized" msgstr "Ngày và giờ ban đầu" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" #: src/properties.cpp:573 msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "" #: src/properties.cpp:574 src/properties.cpp:1157 msgid "F Number" msgstr "Số F" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "" #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "" #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 #, fuzzy msgid "Spectral Sensitivity" msgstr "Độ nhạy sáng" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "" #: src/properties.cpp:577 #, fuzzy msgid "ISOSpeedRatings" msgstr "Tùy chỉnh Độ nhạy sáng" #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" #: src/properties.cpp:581 msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "" #: src/properties.cpp:582 src/tags.cpp:828 msgid "Brightness Value" msgstr "Giá trị sáng" #: src/properties.cpp:582 msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "" #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "" #: src/properties.cpp:584 src/properties.cpp:1211 msgid "Maximum Aperture Value" msgstr "Giá trị khẩu độ tối đa" #: src/properties.cpp:584 msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "" #: src/properties.cpp:585 msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "" #: src/properties.cpp:586 msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "" #: src/properties.cpp:587 msgid "EXIF tag 37384, 0x9208. Light source." msgstr "" #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "" #: src/properties.cpp:589 msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "" #: src/properties.cpp:590 src/tags.cpp:1666 #, fuzzy msgid "Subject Area" msgstr "Vật thể" #: src/properties.cpp:590 msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 msgid "Flash Energy" msgstr "Năng lượng đèn chớp" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "" #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "" #: src/properties.cpp:592 msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" #: src/properties.cpp:594 src/tags.cpp:839 #, fuzzy msgid "Focal Plane X Resolution" msgstr "Độ phân giải X" #: src/properties.cpp:594 msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "" #: src/properties.cpp:595 src/tags.cpp:840 #, fuzzy msgid "Focal Plane Y Resolution" msgstr "Độ phân giải Y" #: src/properties.cpp:595 msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "" #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 msgid "Focal Plane Resolution Unit" msgstr "" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 #, fuzzy msgid "Subject Location" msgstr "Địa điểm quay" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" #: src/properties.cpp:600 src/tags.cpp:846 #, fuzzy msgid "Exposure Index" msgstr "Chế độ phơi sáng" #: src/properties.cpp:600 msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "" #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 #, fuzzy msgid "Sensing Method" msgstr "Đổi tên tập tin thành" #: src/properties.cpp:601 msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "" #: src/properties.cpp:602 msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "" #: src/properties.cpp:603 src/tags.cpp:1771 #, fuzzy msgid "Scene Type" msgstr "Kiểu Ống kính" #: src/properties.cpp:603 msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "" #: src/properties.cpp:604 src/tags.cpp:761 msgid "CFA Pattern" msgstr "" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" #: src/properties.cpp:605 src/tags.cpp:1781 #, fuzzy msgid "Custom Rendered" msgstr "Tùy chỉnh 1" #: src/properties.cpp:605 msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "" #: src/properties.cpp:606 msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "" #: src/properties.cpp:607 msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "" #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 #, fuzzy msgid "Digital Zoom Ratio" msgstr "Tỉ lệ thu/phóng điện tử" #: src/properties.cpp:608 msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "" #: src/properties.cpp:609 src/tags.cpp:1800 #, fuzzy msgid "Focal Length In 35mm Film" msgstr "Tiêu cự" #: src/properties.cpp:609 msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" #: src/properties.cpp:612 src/tags.cpp:1806 msgid "Scene Capture Type" msgstr "" #: src/properties.cpp:612 msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "" #: src/properties.cpp:613 src/tags.cpp:1811 #, fuzzy msgid "Gain Control" msgstr "Điều khiển hoàn toàn" #: src/properties.cpp:613 msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "" #: src/properties.cpp:614 msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" #: src/properties.cpp:615 msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" #: src/properties.cpp:616 msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" #: src/properties.cpp:617 src/tags.cpp:1826 #, fuzzy msgid "Device Setting Description" msgstr "Phiên bản thiết lập máy ảnh" #: src/properties.cpp:617 msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" #: src/properties.cpp:618 src/tags.cpp:1831 #, fuzzy msgid "Subject Distance Range" msgstr "Khoảng cách Vật thể" #: src/properties.cpp:618 msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "" #: src/properties.cpp:619 src/tags.cpp:1834 #, fuzzy msgid "Image Unique ID" msgstr "Số hiệu ảnh" #: src/properties.cpp:619 msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 #, fuzzy msgid "GPS Version ID" msgstr "Phiên bản PDF" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "GPS Vĩ độ" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "" #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "GPS Kinh độ" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "" #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 #, fuzzy msgid "GPS Altitude Reference" msgstr "GPS Cao đô" #: src/properties.cpp:625 src/properties.cpp:1168 msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "" #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "GPS Cao đô" #: src/properties.cpp:626 src/properties.cpp:1167 msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "" #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 #, fuzzy msgid "GPS Time Stamp" msgstr "Thời gian gửi" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 msgid "GPS Satellites" msgstr "Vệ tinh GPS" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:634 src/tags.cpp:1989 msgid "GPS Status" msgstr "Tình trạng GPS" #: src/properties.cpp:634 msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "" #: src/properties.cpp:635 src/tags.cpp:1994 msgid "GPS Measure Mode" msgstr "GPS Chế độ Đo lường" #: src/properties.cpp:635 msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "" #: src/properties.cpp:636 msgid "GPS DOP" msgstr "" #: src/properties.cpp:636 msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "" #: src/properties.cpp:637 src/tags.cpp:2002 #, fuzzy msgid "GPS Speed Reference" msgstr "Liên kết dự án" #: src/properties.cpp:637 msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "" #: src/properties.cpp:638 src/tags.cpp:2006 msgid "GPS Speed" msgstr "GPS Tốc độ" #: src/properties.cpp:638 msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "" #: src/properties.cpp:639 #, fuzzy msgid "GPS Track Reference" msgstr "Liên kết dự án" #: src/properties.cpp:639 msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "" #: src/properties.cpp:640 src/tags.cpp:2013 msgid "GPS Track" msgstr "" #: src/properties.cpp:640 msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 #, fuzzy msgid "GPS Image Direction Reference" msgstr "Liên kết dự án" #: src/properties.cpp:641 msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "" #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 #, fuzzy msgid "GPS Image Direction" msgstr "Miêu tả hình ảnh" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 #, fuzzy msgid "GPS Map Datum" msgstr "Tình trạng GPS" #: src/properties.cpp:643 msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "" #: src/properties.cpp:644 src/tags.cpp:2033 #, fuzzy msgid "GPS Destination Latitude" msgstr "GPS Vĩ độ" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" #: src/properties.cpp:645 src/tags.cpp:2045 #, fuzzy msgid "GPS Destination Longitude" msgstr "GPS Kinh độ" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" #: src/properties.cpp:646 src/tags.cpp:2052 msgid "GPS Destination Bearing Reference" msgstr "" #: src/properties.cpp:646 msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "" #: src/properties.cpp:647 src/tags.cpp:2056 #, fuzzy msgid "GPS Destination Bearing" msgstr "Đích đến" #: src/properties.cpp:647 msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "" #: src/properties.cpp:648 src/tags.cpp:2060 msgid "GPS Destination Distance Reference" msgstr "" #: src/properties.cpp:648 msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "" #: src/properties.cpp:649 src/tags.cpp:2064 #, fuzzy msgid "GPS Destination Distance" msgstr "Đích đến" #: src/properties.cpp:649 msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "" #: src/properties.cpp:650 src/tags.cpp:2067 #, fuzzy msgid "GPS Processing Method" msgstr "Xử lý Thông tin" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" #: src/properties.cpp:651 src/tags.cpp:2072 #, fuzzy msgid "GPS Area Information" msgstr "Thông tin GPS" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "" #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "" #: src/properties.cpp:652 msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "" #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "" #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "" #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" #: src/properties.cpp:667 msgid "Contact Info-Address" msgstr "" #: src/properties.cpp:667 #, fuzzy msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" "Phần địa chỉ liên lạc. Bao gồm tên công ty và tất cả thông tin yêu cầu về " "địa điểm tòa nhà hoặc địa chỉ thư nơi các thư tín sẽ được gửi tới." #: src/properties.cpp:669 #, fuzzy msgid "Contact Info-City" msgstr "Vị trí-Thành phố" #: src/properties.cpp:669 msgid "sub-key Creator Contact Info: city." msgstr "" #: src/properties.cpp:670 #, fuzzy msgid "Contact Info-State/Province" msgstr "Bang/Tỉnh" #: src/properties.cpp:670 msgid "sub-key Creator Contact Info: state or province." msgstr "" #: src/properties.cpp:671 msgid "Contact Info-Postal Code" msgstr "" #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "" #: src/properties.cpp:672 msgid "Contact Info-Country" msgstr "" #: src/properties.cpp:672 msgid "sub-key Creator Contact Info: country." msgstr "" #: src/properties.cpp:673 msgid "Contact Info-Email" msgstr "" #: src/properties.cpp:673 msgid "sub-key Creator Contact Info: email address." msgstr "" #: src/properties.cpp:674 msgid "Contact Info-Phone" msgstr "" #: src/properties.cpp:674 msgid "sub-key Creator Contact Info: phone number." msgstr "" #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "" #: src/properties.cpp:675 msgid "sub-key Creator Contact Info: web address." msgstr "" #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" #: src/properties.cpp:678 msgid "IPTC Scene" msgstr "" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" #: src/properties.cpp:680 #, fuzzy msgid "IPTC Subject Code" msgstr "Khoảng cách đến vật thể" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" #: src/properties.cpp:682 msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" #: src/properties.cpp:687 msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" #: src/properties.cpp:696 msgid "Additional model info" msgstr "" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "" #: src/properties.cpp:697 msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "" #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" #: src/properties.cpp:699 #, fuzzy msgid "Model age" msgstr "Mẫu phiên bản" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "" #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "" #: src/properties.cpp:701 msgid "Person shown" msgstr "" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "" #: src/properties.cpp:702 #, fuzzy msgid "Digital Image Identifier" msgstr "Lọc điện tử" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "" #: src/properties.cpp:703 #, fuzzy msgid "The type of the source digital file." msgstr "Độ dài của tập tin phương tiện" #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 msgid "Event" msgstr "Sự kiện" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "" #: src/properties.cpp:705 #, fuzzy msgid "Maximum available height" msgstr "Ánh sáng có sẵn" #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:706 #, fuzzy msgid "Maximum available width" msgstr "Khoảng tiêu cự tối thiểu" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:707 msgid "Registry Entry" msgstr "" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" #: src/properties.cpp:708 msgid "Registry Entry-Item Identifier" msgstr "" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "" #: src/properties.cpp:710 msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "" #: src/properties.cpp:711 #, fuzzy msgid "Location shown" msgstr "Mã vị trí" #: src/properties.cpp:711 msgid "A location shown in the image." msgstr "" #: src/properties.cpp:712 #, fuzzy msgid "Location Created" msgstr "Mã vị trí" #: src/properties.cpp:712 msgid "The location the photo was taken." msgstr "" #: src/properties.cpp:713 msgid "Location-City" msgstr "Vị trí-Thành phố" #: src/properties.cpp:713 msgid "Name of the city of a location." msgstr "Tên của thành phố tại vị trí đó." #: src/properties.cpp:714 #, fuzzy msgid "Location-Country ISO-Code" msgstr "Địa điểm-Tên Quốc gia" #: src/properties.cpp:714 #, fuzzy msgid "The ISO code of a country of a location." msgstr "Tên của thành phố tại vị trí đó." #: src/properties.cpp:715 msgid "Location-Country Name" msgstr "Địa điểm-Tên Quốc gia" #: src/properties.cpp:715 #, fuzzy msgid "The name of a country of a location." msgstr "Tên của thành phố tại vị trí đó." #: src/properties.cpp:716 #, fuzzy msgid "Location-Province/State" msgstr "Tỉnh/Bang" #: src/properties.cpp:716 msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "" #: src/properties.cpp:717 #, fuzzy msgid "Location-Sublocation" msgstr "Vị trí-Thành phố" #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" #: src/properties.cpp:718 #, fuzzy msgid "Location-World Region" msgstr "Mã vị trí" #: src/properties.cpp:718 #, fuzzy msgid "The name of a world region of a location." msgstr "Tên của thành phố tại vị trí đó." #: src/properties.cpp:719 msgid "Artwork or object in the image" msgstr "" #: src/properties.cpp:719 msgid "A set of metadata about artwork or an object in the image." msgstr "" #: src/properties.cpp:720 #, fuzzy msgid "Artwork or object-Copyright notice" msgstr "Lưu ý bản quyền" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" #: src/properties.cpp:721 msgid "Artwork or object-Creator" msgstr "" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" #: src/properties.cpp:722 msgid "Artwork or object-Date Created" msgstr "" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" #: src/properties.cpp:723 msgid "Artwork or object-Source" msgstr "" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" #: src/properties.cpp:724 msgid "Artwork or object-Source inventory number" msgstr "" #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" #: src/properties.cpp:725 msgid "Artwork or object-Title" msgstr "" #: src/properties.cpp:725 #, fuzzy msgid "A reference for the artwork or object in the image." msgstr "Một liên kết đến dự án đã tạo tập tin này" #: src/properties.cpp:732 msgid "Scan from film" msgstr "" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "" #: src/properties.cpp:734 msgid "Scan from print" msgstr "" #: src/properties.cpp:735 #, fuzzy msgid "Camera RAW" msgstr "Thông tin Máy ảnh" #: src/properties.cpp:736 #, fuzzy msgid "Camera TIFF" msgstr "Kiểu Ca-me-ra" #: src/properties.cpp:737 #, fuzzy msgid "Camera JPEG" msgstr "Thông tin Máy ảnh" #: src/properties.cpp:742 #, fuzzy msgid "PLUS Version" msgstr "Phiên bản PDF" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "" #: src/properties.cpp:743 msgid "Licensee" msgstr "" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "" #: src/properties.cpp:744 msgid "Licensee ID" msgstr "" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "" #: src/properties.cpp:745 #, fuzzy msgid "Licensee Name" msgstr "Tên vị trí" #: src/properties.cpp:745 msgid "Name of each Licensee." msgstr "" #: src/properties.cpp:746 msgid "End User" msgstr "" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "" #: src/properties.cpp:747 msgid "End User ID" msgstr "" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "" #: src/properties.cpp:748 #, fuzzy msgid "End User Name" msgstr "Tên chủ sở hữu" #: src/properties.cpp:748 msgid "Name of each End User." msgstr "" #: src/properties.cpp:749 msgid "Licensor" msgstr "" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "" #: src/properties.cpp:750 #, fuzzy msgid "Licensor ID" msgstr "Thông tin cảm biến" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "" #: src/properties.cpp:751 #, fuzzy msgid "Licensor Name" msgstr "Tên vị trí" #: src/properties.cpp:751 msgid "Name of each Licensor." msgstr "" #: src/properties.cpp:752 msgid "Licensor Address" msgstr "" #: src/properties.cpp:752 msgid "Licensor street address." msgstr "" #: src/properties.cpp:753 msgid "Licensor Address Detail" msgstr "" #: src/properties.cpp:753 msgid "Additional Licensor mailing address details." msgstr "" #: src/properties.cpp:754 msgid "Licensor City" msgstr "" #: src/properties.cpp:754 msgid "Licensor City name." msgstr "" #: src/properties.cpp:755 #, fuzzy msgid "Licensor State or Province" msgstr "Bang/Tỉnh" #: src/properties.cpp:755 msgid "Licensor State or Province name." msgstr "" #: src/properties.cpp:756 msgid "Licensor Postal Code" msgstr "" #: src/properties.cpp:756 msgid "Licensor Postal Code or Zip Code." msgstr "" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country" msgstr "Quốc gia" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country name." msgstr "Địa điểm-Tên Quốc gia" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1" msgstr "" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1." msgstr "" #: src/properties.cpp:759 msgid "Licensor Telephone 1" msgstr "" #: src/properties.cpp:759 msgid "Licensor Telephone number 1." msgstr "" #: src/properties.cpp:760 msgid "Licensor Telephone Type 2" msgstr "" #: src/properties.cpp:760 msgid "Licensor Telephone Type 2." msgstr "" #: src/properties.cpp:761 msgid "Licensor Telephone 2" msgstr "" #: src/properties.cpp:761 msgid "Licensor Telephone number 2." msgstr "" #: src/properties.cpp:762 msgid "Licensor Email" msgstr "" #: src/properties.cpp:762 msgid "Licensor Email address." msgstr "" #: src/properties.cpp:763 msgid "Licensor URL" msgstr "" #: src/properties.cpp:763 msgid "Licensor world wide web address." msgstr "" #: src/properties.cpp:764 msgid "Licensor Notes" msgstr "" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" #: src/properties.cpp:765 #, fuzzy msgid "PLUS Media Summary Code" msgstr "GPS Chế độ Đo lường" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" #: src/properties.cpp:766 msgid "License Start Date" msgstr "" #: src/properties.cpp:766 #, fuzzy msgid "The date on which the license takes effect." msgstr "Ngày và giờ phim được quay" #: src/properties.cpp:767 #, fuzzy msgid "License End Date" msgstr "Dữ liệu ống kính" #: src/properties.cpp:767 #, fuzzy msgid "The date on which the license expires." msgstr "Ngày và giờ phim được quay" #: src/properties.cpp:768 msgid "Media Constraints" msgstr "" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" #: src/properties.cpp:769 msgid "Region Constraints" msgstr "" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" #: src/properties.cpp:770 msgid "Product or Service Constraints" msgstr "" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" #: src/properties.cpp:771 #, fuzzy msgid "Image File Constraints" msgstr "Tùy chỉnh kích cỡ hình ảnh" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "" #: src/properties.cpp:772 msgid "Image Alteration Constraints" msgstr "" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" #: src/properties.cpp:773 #, fuzzy msgid "Image Duplication Constraints" msgstr "Tùy chỉnh chất lượng hình ảnh" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "" #: src/properties.cpp:774 #, fuzzy msgid "Model Release Status" msgstr "Ngày phát hành" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" #: src/properties.cpp:775 #, fuzzy msgid "Model Release ID" msgstr "Ngày phát hành" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "" #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "" #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "" #: src/properties.cpp:777 msgid "Property Release Status" msgstr "" #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" #: src/properties.cpp:778 msgid "Property Release ID" msgstr "" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "" #: src/properties.cpp:779 #, fuzzy msgid "Other Constraints" msgstr "Các điều khoản về giấy phép khác" #: src/properties.cpp:779 #, fuzzy msgid "Additional constraints on the license." msgstr "Điều khoản và điều kiện áp dụng vào giấy phép" #: src/properties.cpp:780 msgid "Credit Line Required" msgstr "" #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "" #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "" #: src/properties.cpp:782 #, fuzzy msgid "Other License Requirements" msgstr "Các điều khoản về giấy phép khác" #: src/properties.cpp:782 msgid "Additional license requirements." msgstr "" #: src/properties.cpp:783 msgid "Terms and Conditions Text" msgstr "Văn bản điều khoản và điều kiện" #: src/properties.cpp:783 msgid "Terms and Conditions applying to the license." msgstr "Điều khoản và điều kiện áp dụng vào giấy phép" #: src/properties.cpp:784 #, fuzzy msgid "Terms and Conditions URL" msgstr "Văn bản điều khoản và điều kiện" #: src/properties.cpp:784 #, fuzzy msgid "URL for Terms and Conditions applying to the license." msgstr "Điều khoản và điều kiện áp dụng vào giấy phép" #: src/properties.cpp:785 msgid "Other License Conditions" msgstr "Các điều khoản về giấy phép khác" #: src/properties.cpp:785 #, fuzzy msgid "Additional license conditions." msgstr "Các điều khoản về giấy phép khác" #: src/properties.cpp:786 msgid "Identifies the type of image delivered." msgstr "" #: src/properties.cpp:787 msgid "Licensor Image ID" msgstr "" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "" #: src/properties.cpp:788 msgid "Image File Name As Delivered" msgstr "" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "" #: src/properties.cpp:789 #, fuzzy msgid "Image File Format As Delivered" msgstr "Định dạng tập tin ảnh liên quan" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "" #: src/properties.cpp:790 msgid "Image File Size As Delivered" msgstr "" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "" #: src/properties.cpp:791 #, fuzzy msgid "Copyright Status" msgstr "Bản quyền" #: src/properties.cpp:791 #, fuzzy msgid "Copyright status of the image." msgstr "Lưu ý bản quyền" #: src/properties.cpp:792 msgid "Copyright Registration Number" msgstr "" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" #: src/properties.cpp:793 #, fuzzy msgid "First Publication Date" msgstr "Ngày hết hạn" #: src/properties.cpp:793 #, fuzzy msgid "The date on which the image was first published." msgstr "Tên của tài liệu mà bức ảnh này được quét" #: src/properties.cpp:794 #, fuzzy msgid "Copyright Owner" msgstr "Bản quyền" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "" #: src/properties.cpp:795 #, fuzzy msgid "Copyright Owner ID" msgstr "Bản quyền" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "" #: src/properties.cpp:796 #, fuzzy msgid "Copyright Owner Name" msgstr "Tên chủ sở hữu" #: src/properties.cpp:796 msgid "Name of Copyright Owner." msgstr "" #: src/properties.cpp:797 msgid "Copyright Owner Image ID" msgstr "" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "" #: src/properties.cpp:798 #, fuzzy msgid "Image Creator" msgstr "Người tạo" #: src/properties.cpp:798 #, fuzzy msgid "Creator/s of the image." msgstr "Bù trừ hình ảnh xem trước" #: src/properties.cpp:799 #, fuzzy msgid "Image Creator ID" msgstr "Lịch sử hình ảnh" #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "" #: src/properties.cpp:800 #, fuzzy msgid "Image Creator Name" msgstr "Kích cỡ Dữ liệu Hình ảnh" #: src/properties.cpp:800 msgid "Name of Image Creator." msgstr "" #: src/properties.cpp:801 msgid "Image Creator Image ID" msgstr "" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "" #: src/properties.cpp:802 #, fuzzy msgid "Image Supplier ID" msgstr "Kích cỡ hình ảnh" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "" #: src/properties.cpp:803 #, fuzzy msgid "Image Supplier Name" msgstr "Kích cỡ hình ảnh" #: src/properties.cpp:803 msgid "Name of Image Supplier." msgstr "" #: src/properties.cpp:804 msgid "Image Supplier Image ID" msgstr "" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "" #: src/properties.cpp:805 msgid "Licensee Image ID" msgstr "" #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "" #: src/properties.cpp:806 msgid "Licensee Image Notes" msgstr "" #: src/properties.cpp:806 msgid "Notes added by Licensee." msgstr "" #: src/properties.cpp:807 msgid "Other Image Info" msgstr "" #: src/properties.cpp:807 #, fuzzy msgid "Additional image information." msgstr "Hình ảnh và thông tin" #: src/properties.cpp:808 msgid "License ID" msgstr "" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "" #: src/properties.cpp:809 msgid "Licensor Transaction ID" msgstr "" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "" #: src/properties.cpp:810 msgid "Licensee Transaction ID" msgstr "" #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" #: src/properties.cpp:811 #, fuzzy msgid "Licensee Project Reference" msgstr "Liên kết dự án" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "" #: src/properties.cpp:812 #, fuzzy msgid "License Transaction Date" msgstr "Ngày hết hạn" #: src/properties.cpp:812 msgid "The date of the License Transaction." msgstr "" #: src/properties.cpp:813 msgid "Reuse" msgstr "" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" #: src/properties.cpp:814 #, fuzzy msgid "Other License Documents" msgstr "Các điều khoản về giấy phép khác" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "" #: src/properties.cpp:815 #, fuzzy msgid "Other License Info" msgstr "Các điều khoản về giấy phép khác" #: src/properties.cpp:815 msgid "Additional license information." msgstr "" #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "" #: src/properties.cpp:819 #, fuzzy msgid "Custom 4" msgstr "Tùy chỉnh 1" #: src/properties.cpp:820 #, fuzzy msgid "Custom 5" msgstr "Tùy chỉnh 1" #: src/properties.cpp:821 #, fuzzy msgid "Custom 6" msgstr "Tùy chỉnh 1" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "" #: src/properties.cpp:822 #, fuzzy msgid "Custom 7" msgstr "Tùy chỉnh 1" #: src/properties.cpp:823 #, fuzzy msgid "Custom 8" msgstr "Tùy chỉnh 1" #: src/properties.cpp:824 #, fuzzy msgid "Custom 9" msgstr "Tùy chỉnh 1" #: src/properties.cpp:825 #, fuzzy msgid "Custom 10" msgstr "Tùy chỉnh 1" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "" #: src/properties.cpp:833 #, fuzzy msgid "Not Required" msgstr "chưa được sử dụng" #: src/properties.cpp:839 msgid "Protected" msgstr "" #: src/properties.cpp:840 msgid "Public Domain" msgstr "" #: src/properties.cpp:846 msgid "Credit Adjacent To Image" msgstr "" #: src/properties.cpp:847 msgid "Credit in Credits Area" msgstr "" #: src/properties.cpp:848 #, fuzzy msgid "Credit on Image" msgstr "Xem trước hình ảnh" #: src/properties.cpp:849 #, fuzzy msgid "Not Require" msgstr "chưa được sử dụng" #: src/properties.cpp:854 #, fuzzy msgid "No Colorization" msgstr "Tông màu" #: src/properties.cpp:855 msgid "No Cropping" msgstr "" #: src/properties.cpp:856 msgid "No De-Colorization" msgstr "" #: src/properties.cpp:857 msgid "No Flipping" msgstr "" #: src/properties.cpp:858 msgid "No Merging" msgstr "" #: src/properties.cpp:859 msgid "No Retouching" msgstr "" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "" #: src/properties.cpp:865 msgid "No Duplication Constraints" msgstr "" #: src/properties.cpp:866 #, fuzzy msgid "No Duplication" msgstr "Vị trí" #: src/properties.cpp:871 #, fuzzy msgid "Maintain File Name" msgstr "Tên tập tin gốc" #: src/properties.cpp:872 msgid "Maintain File Type" msgstr "" #: src/properties.cpp:873 msgid "Maintain ID in File Name" msgstr "" #: src/properties.cpp:874 msgid "Maintain Metadata" msgstr "" #: src/properties.cpp:879 #, fuzzy msgid "Windows Bitmap (BMP)" msgstr "Tiêu đề cửa sổ" #: src/properties.cpp:880 msgid "Digital Negative (DNG)" msgstr "" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "" #: src/properties.cpp:882 msgid "Graphics Interchange Format (GIF)" msgstr "" #: src/properties.cpp:883 msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "" #: src/properties.cpp:889 #, fuzzy msgid "Tagged Image File Format (TIFF)" msgstr "Định dạng tập tin ảnh liên quan" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "" #: src/properties.cpp:896 msgid "Up to 1 MB" msgstr "" #: src/properties.cpp:897 msgid "Up to 10 MB" msgstr "" #: src/properties.cpp:898 #, fuzzy msgid "Up to 30 MB" msgstr "Optio 30" #: src/properties.cpp:899 msgid "Up to 50 MB" msgstr "" #: src/properties.cpp:904 #, fuzzy msgid "Illustrated Image" msgstr "Chiều rộng ảnh liên quan" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "" #: src/properties.cpp:913 msgid "Cell" msgstr "" #: src/properties.cpp:914 msgid "FAX" msgstr "" #: src/properties.cpp:916 #, fuzzy msgid "Pager" msgstr "Người quản lý" #: src/properties.cpp:917 msgid "Work" msgstr "" #: src/properties.cpp:922 #, fuzzy msgid "Age Unknown" msgstr "Không biết" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "" #: src/properties.cpp:924 msgid "Age 24" msgstr "" #: src/properties.cpp:925 msgid "Age 23" msgstr "" #: src/properties.cpp:926 msgid "Age 22" msgstr "" #: src/properties.cpp:927 msgid "Age 21" msgstr "" #: src/properties.cpp:928 msgid "Age 20" msgstr "" #: src/properties.cpp:929 msgid "Age 19" msgstr "" #: src/properties.cpp:930 msgid "Age 18" msgstr "" #: src/properties.cpp:931 msgid "Age 17" msgstr "" #: src/properties.cpp:932 msgid "Age 16" msgstr "" #: src/properties.cpp:933 msgid "Age 15" msgstr "" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "" #: src/properties.cpp:941 msgid "Unlimited Model Releases" msgstr "" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "" #: src/properties.cpp:949 msgid "Unlimited Property Releases" msgstr "" #: src/properties.cpp:950 msgid "Limited or Incomplete Property Releases" msgstr "" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "" #: src/properties.cpp:960 src/properties.cpp:969 #, fuzzy msgid "Fixture Identification" msgstr "Chế độ ảnh bão hòa" #: src/properties.cpp:961 src/properties.cpp:970 #, fuzzy msgid "Status" msgstr "Tình trạng GPS" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "" #: src/properties.cpp:962 src/properties.cpp:971 msgid "People" msgstr "" #: src/properties.cpp:963 src/properties.cpp:972 msgid "Catalog Sets" msgstr "" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "" #: src/properties.cpp:978 #, fuzzy msgid "RegionInfo" msgstr "Thôngtinốngkính" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "" #: src/properties.cpp:984 src/properties.cpp:1000 #, fuzzy msgid "Regions" msgstr "Phiên bản" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "" #: src/properties.cpp:985 msgid "Date Regions Valid" msgstr "" #: src/properties.cpp:985 msgid "Date the last region was created" msgstr "" #: src/properties.cpp:991 msgid "Person Display Name" msgstr "" #: src/properties.cpp:991 msgid "Name of the person (in the given rectangle)" msgstr "" #: src/properties.cpp:992 msgid "Rectangle" msgstr "" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "" #: src/properties.cpp:993 msgid "Person Email Digest" msgstr "" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "" #: src/properties.cpp:994 msgid "Person LiveId CID" msgstr "" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "" #: src/properties.cpp:1001 msgid "Applied To Dimensions" msgstr "" #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "" #: src/properties.cpp:1002 msgid "Region List" msgstr "" #: src/properties.cpp:1002 #, fuzzy msgid "List of Region structures" msgstr "Phiên bản cấu trúc" #: src/properties.cpp:1003 #, fuzzy msgid "Area" msgstr "Vùng lấy nét tự động" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" #: src/properties.cpp:1007 #, fuzzy msgid "Focus Usage" msgstr "Vùng lấy nét" #: src/properties.cpp:1008 #, fuzzy msgid "Bar Code Value" msgstr "Giá trị sáng" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "" #: src/properties.cpp:1009 #, fuzzy msgid "Extensions" msgstr "Phiên bản" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "" #: src/properties.cpp:1015 msgid "Main structure containing keyword based information" msgstr "" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "" #: src/properties.cpp:1016 msgid "List of root keyword structures" msgstr "" #: src/properties.cpp:1017 #, fuzzy msgid "Keyword" msgstr "Từ khóa" #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "" #: src/properties.cpp:1018 msgid "Applied" msgstr "" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" #: src/properties.cpp:1019 msgid "List of children keyword structures" msgstr "" #: src/properties.cpp:1026 #, fuzzy msgid "Use Panorama Viewer" msgstr "Chế độ toàn cảnh" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" #: src/properties.cpp:1027 #, fuzzy msgid "Capture Software" msgstr "Dữ liệu thu được" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" #: src/properties.cpp:1028 #, fuzzy msgid "Stitching Software" msgstr "Phần mềm xử lý" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" #: src/properties.cpp:1029 #, fuzzy msgid "Projection Type" msgstr "Kiểu vật thể" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "" #: src/properties.cpp:1034 msgid "The pitch angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" #: src/properties.cpp:1037 #, fuzzy msgid "First Photo Date" msgstr "Ngày quay" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "" #: src/properties.cpp:1038 #, fuzzy msgid "Last Photo Date" msgstr "Ngày quay" #: src/properties.cpp:1038 msgid "Date and time for the last image created in the panorama." msgstr "" #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "" #: src/properties.cpp:1040 #, fuzzy msgid "Exposure Lock Used" msgstr "Chế độ phơi sáng" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" #: src/properties.cpp:1041 msgid "Cropped Area Image Width Pixels" msgstr "" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" #: src/properties.cpp:1042 msgid "Cropped Area Image Height Pixels" msgstr "" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" #: src/properties.cpp:1047 msgid "Initial Camera Dolly" msgstr "" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" #: src/properties.cpp:1055 #, fuzzy msgid "Archival Location" msgstr "Địa điểm quay" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "" #: src/properties.cpp:1056 #, fuzzy msgid "Arranger" msgstr "Cam" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "" #: src/properties.cpp:1057 #, fuzzy msgid "Arranger Keywords" msgstr "Từ khóa" #: src/properties.cpp:1057 msgid "Information about the Arranger Keywords." msgstr "" #: src/properties.cpp:1059 #, fuzzy msgid "Video Aspect Ratio" msgstr "Tỉ lệ khung hình phim" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "" #: src/properties.cpp:1060 #, fuzzy msgid "Video Aspect Ratio Type" msgstr "Tỉ lệ khung hình phim" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "" #: src/properties.cpp:1062 #, fuzzy msgid "Attached File Description" msgstr "Miêu tả hình ảnh" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "" #: src/properties.cpp:1064 #, fuzzy msgid "Attached File Name" msgstr "Tên tập tin gốc" #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "" #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" #: src/properties.cpp:1068 #, fuzzy msgid "Brightness setting." msgstr "Tùy chinh độ mịn" #: src/properties.cpp:1069 #, fuzzy msgid "Camera Byte Order" msgstr "Thứ tự byte" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "" #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "" #: src/properties.cpp:1070 #, fuzzy msgid "The video Cinematographer information." msgstr "Thông tin bản quyền" #: src/properties.cpp:1071 #, fuzzy msgid "Clean Aperture Width" msgstr "Khẩu đ6ọ tối thiểu" #: src/properties.cpp:1071 #, fuzzy msgid "Clean aperture width in pixels" msgstr "Khẩu độ tối đa tại tiêu cự tối thiểu" #: src/properties.cpp:1072 #, fuzzy msgid "Clean Aperture Height" msgstr "Giá trị khẩu độ tối đa" #: src/properties.cpp:1072 #, fuzzy msgid "Clean aperture height in pixels" msgstr "Khẩu độ tối đa tại tiêu cự tối thiểu" #: src/properties.cpp:1073 #, fuzzy msgid "Video Codec" msgstr "Bộ nén ảnh" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" #: src/properties.cpp:1074 msgid "Video Codec Decode Info" msgstr "" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1075 #, fuzzy msgid "Video Codec Description" msgstr "Miêu tả hình ảnh" #: src/properties.cpp:1075 src/properties.cpp:1403 msgid "Contains description the codec." msgstr "" #: src/properties.cpp:1076 #, fuzzy msgid "Video Codec Information" msgstr "Hình ảnh và thông tin" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL" msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL." msgstr "" #: src/properties.cpp:1078 #, fuzzy msgid "Video Codec Settings" msgstr "Tùy chỉnh chế độ lấy nét" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1083 #, fuzzy msgid "Comment" msgstr "Nhật kí bình luận" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "" #: src/properties.cpp:1084 msgid "Commissioned" msgstr "" #: src/properties.cpp:1084 msgid "Commissioned." msgstr "" #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1086 msgid "Information about the Composer." msgstr "" #: src/properties.cpp:1087 #, fuzzy msgid "Composer Keywords" msgstr "Từ khóa" #: src/properties.cpp:1087 msgid "Information about the Composer Keywords." msgstr "" #: src/properties.cpp:1088 #, fuzzy msgid "Compressor" msgstr "Bộ nén ảnh" #: src/properties.cpp:1088 #, fuzzy msgid "Video Compression Library Used" msgstr "Bộ nén ảnh" #: src/properties.cpp:1089 #, fuzzy msgid "Video Compressor ID" msgstr "Bộ nén ảnh" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "" #: src/properties.cpp:1090 #, fuzzy msgid "Compressor Version" msgstr "Tỷ lệ nén" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "" #: src/properties.cpp:1091 #, fuzzy msgid "Container Type" msgstr "Kiểu Ca-me-ra" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "" #: src/properties.cpp:1092 #, fuzzy msgid "Content Compression Algorithm" msgstr "Tỷ lệ nén" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "" #: src/properties.cpp:1097 msgid "Indicates the direction of contrast processing applied by the camera." msgstr "" #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "" #: src/properties.cpp:1100 #, fuzzy msgid "Name of the country where the video was created." msgstr "Tên của tài liệu mà bức ảnh này được quét" #: src/properties.cpp:1101 #, fuzzy msgid "Creation Date" msgstr "Ngày tạo" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" #: src/properties.cpp:1103 msgid "Pixel Crop Bottom" msgstr "" #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "" #: src/properties.cpp:1104 msgid "Pixel Crop Left" msgstr "" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "" #: src/properties.cpp:1105 msgid "Pixel Crop Right" msgstr "" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "" #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "" #: src/properties.cpp:1107 msgid "Pixel Crop Top" msgstr "" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "" #: src/properties.cpp:1108 #, fuzzy msgid "Current Time" msgstr "Thời gian phơi sáng" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "" #: src/properties.cpp:1109 msgid "Data Packets" msgstr "" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "" #: src/properties.cpp:1110 msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "" #: src/properties.cpp:1111 msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" #: src/properties.cpp:1113 #, fuzzy msgid "Date-Time Original" msgstr "Ngày và giờ ban đầu" #: src/properties.cpp:1113 #, fuzzy msgid "Contains the production date" msgstr "GIảm nhiễu" #: src/properties.cpp:1114 msgid "Video Track Default On" msgstr "" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1115 #, fuzzy msgid "Indicates the digital zoom ratio when the video was shot." msgstr "Ngày và giờ phim được quay" #: src/properties.cpp:1116 #, fuzzy msgid "Dimensions" msgstr "Phiên bản" #: src/properties.cpp:1116 msgid "Information about the Dimensions of the video frame." msgstr "" #: src/properties.cpp:1117 msgid "Director" msgstr "" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "" #: src/properties.cpp:1118 msgid "Video Display Unit" msgstr "" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1120 #, fuzzy msgid "Doc Type" msgstr "Kiểu lấy nét" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" #: src/properties.cpp:1121 msgid "Doc Type Read Version" msgstr "" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" #: src/properties.cpp:1122 #, fuzzy msgid "Doc Type Version" msgstr "Mẫu phiên bản" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "" #: src/properties.cpp:1124 #, fuzzy msgid "The duration of the media file. Measured in milli-seconds." msgstr "Độ dài của tập tin phương tiện" #: src/properties.cpp:1125 #, fuzzy msgid "EBML Read Version" msgstr "Mẫu phiên bản" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "" #: src/properties.cpp:1126 #, fuzzy msgid "EBML Version" msgstr "Phiên bản" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "" #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "" #: src/properties.cpp:1136 msgid "Edited By" msgstr "" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1137 #, fuzzy msgid "Video Track Enabled" msgstr "Tỉ lệ khung hình phim" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels width in pixels" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "" #: src/properties.cpp:1141 msgid "Encoder" msgstr "" #: src/properties.cpp:1141 msgid "Information about the Encoder." msgstr "" #: src/properties.cpp:1142 msgid "End Timecode" msgstr "" #: src/properties.cpp:1143 msgid "Engineer, in most cases name of person." msgstr "" #: src/properties.cpp:1144 #, fuzzy msgid "Equipment" msgstr "Thông tin thiết bị" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "" #: src/properties.cpp:1145 #, fuzzy msgid "Exposure Compensation Information." msgstr "Bù trừ phơi sáng" #: src/properties.cpp:1146 #, fuzzy msgid "Exposure Program Information." msgstr "Tự động phơi sáng hoàn toàn" #: src/properties.cpp:1147 #, fuzzy msgid "Exposure time in seconds." msgstr "Thời gian phơi sáng" #: src/properties.cpp:1148 msgid "Extended Content Description" msgstr "" #: src/properties.cpp:1148 msgid "Extended Content Description, usually found in ASF type files." msgstr "" #: src/properties.cpp:1150 #, fuzzy msgid "File ID" msgstr "Tập tin" #: src/properties.cpp:1150 #, fuzzy msgid "File ID." msgstr "Tập tin" #: src/properties.cpp:1151 #, fuzzy msgid "File Length" msgstr "Tiêu cự" #: src/properties.cpp:1151 #, fuzzy msgid "File length." msgstr "Tiêu cự" #: src/properties.cpp:1152 #, fuzzy msgid "File Name" msgstr "Tên tập tin" #: src/properties.cpp:1152 msgid "File Name or Absolute File Path" msgstr "" #: src/properties.cpp:1153 #, fuzzy msgid "File Size" msgstr "Kích cỡ tập tin" #: src/properties.cpp:1153 #, fuzzy msgid "File Size, in MB" msgstr "Kích cỡ tập tin" #: src/properties.cpp:1154 #, fuzzy msgid "File Type" msgstr "Kiểu tập tin phụ" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "" #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "" #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "" #: src/properties.cpp:1158 msgid "Focal length of the lens, in millimeters." msgstr "" #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "" #: src/properties.cpp:1161 #, fuzzy msgid "Frame Count" msgstr "Tổng số Hình ảnh" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "" #: src/properties.cpp:1162 #, fuzzy msgid "Frame Height" msgstr "Chiều cao hình ảnh" #: src/properties.cpp:1162 msgid "Height of frames in a video" msgstr "" #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" #: src/properties.cpp:1165 #, fuzzy msgid "Frame Width" msgstr "Chiều rộng hình ảnh" #: src/properties.cpp:1165 msgid "Width of frames in a video" msgstr "" #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "" #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "" #: src/properties.cpp:1171 msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:1172 #, fuzzy msgid "Reference for image direction." msgstr "Chiều chụp toàn cảnh" #: src/properties.cpp:1173 msgid "(North/South). Indicates latitude." msgstr "" #: src/properties.cpp:1174 msgid "(East/West). Indicates longitude." msgstr "" #: src/properties.cpp:1175 msgid "Geodetic survey data." msgstr "" #: src/properties.cpp:1176 msgid "Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:1177 msgid "Time stamp of GPS data, " msgstr "" #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "" #: src/properties.cpp:1179 #, fuzzy msgid "Graphics Mode" msgstr "Chế độ dễ dàng" #: src/properties.cpp:1179 msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" #: src/properties.cpp:1181 msgid "Grouping" msgstr "" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 #, fuzzy msgid "Handler Description" msgstr "Miêu tả hình ảnh" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 #, fuzzy msgid "Handler Type" msgstr "Kiểu Ca-me-ra" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Handler Vendor ID" msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 #, fuzzy msgid "Component manufacturer." msgstr "Nhà sản xuất ống kính." #: src/properties.cpp:1186 #, fuzzy msgid "Video Height" msgstr "Chiều cao hình ảnh" #: src/properties.cpp:1186 src/properties.cpp:1309 msgid "Video height in pixels" msgstr "" #: src/properties.cpp:1187 msgid "Hue Adjustment Settings Information." msgstr "" #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "" #: src/properties.cpp:1189 msgid "Information Banner Image." msgstr "" #: src/properties.cpp:1190 msgid "Info Banner URL" msgstr "" #: src/properties.cpp:1190 msgid "Information Banner URL." msgstr "" #: src/properties.cpp:1191 #, fuzzy msgid "Information" msgstr "Thông tin GPS" #: src/properties.cpp:1191 msgid "Additional Movie Information." msgstr "" #: src/properties.cpp:1192 #, fuzzy msgid "Info Text" msgstr "Văn bản" #: src/properties.cpp:1192 #, fuzzy msgid "Information Text." msgstr "Thông tin GPS" #: src/properties.cpp:1193 msgid "Info URL" msgstr "" #: src/properties.cpp:1193 #, fuzzy msgid "Information URL." msgstr "Thông tin GPS" #: src/properties.cpp:1194 msgid "Information about the ISO Setting." msgstr "" #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "" #: src/properties.cpp:1196 #, fuzzy msgid "Junk Data" msgstr "Dữ liệu ống kính" #: src/properties.cpp:1196 msgid "Video Junk data" msgstr "" #: src/properties.cpp:1197 #, fuzzy msgid "Language." msgstr "Ngôn ngữ" #: src/properties.cpp:1198 #, fuzzy msgid "Length" msgstr "DảiTiêucự" #: src/properties.cpp:1198 #, fuzzy msgid "The length of the media file." msgstr "Độ dài của tập tin phương tiện" #: src/properties.cpp:1200 #, fuzzy msgid "Lens Type." msgstr "Kiểu Ống kính" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness" msgstr "Độ sáng" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness." msgstr "Độ sáng" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information" msgstr "Thông tin ảnh ch" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information." msgstr "Thông tin ảnh ch" #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "" #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "" #: src/properties.cpp:1204 msgid "Logo URL" msgstr "" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "" #: src/properties.cpp:1205 msgid "Lyrics" msgstr "" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "" #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "" #: src/properties.cpp:1207 #, fuzzy msgid "Equipment Make" msgstr "Thông tin thiết bị" #: src/properties.cpp:1207 #, fuzzy msgid "Manufacturer of recording equipment" msgstr "Nhà sản xuất của các thiết bị thu" #: src/properties.cpp:1208 #, fuzzy msgid "Camera Maker Note Type" msgstr "Kiểu Ca-me-ra" #: src/properties.cpp:1208 msgid "Maker Note Type of the camera." msgstr "" #: src/properties.cpp:1209 #, fuzzy msgid "Camera Maker Note Version" msgstr "Phiên bản thiết lập máy ảnh" #: src/properties.cpp:1209 msgid "Maker Note Version of the camera." msgstr "" #: src/properties.cpp:1210 msgid "Maker URL" msgstr "" #: src/properties.cpp:1210 #, fuzzy msgid "Camera Manufacturer's URL." msgstr "Nhà sản xuất ống kính." #: src/properties.cpp:1211 msgid "Smallest F number of lens, in APEX." msgstr "" #: src/properties.cpp:1212 #, fuzzy msgid "Maximum Bit Rate" msgstr "Giá trị khẩu độ tối đa" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" #: src/properties.cpp:1213 #, fuzzy msgid "Maximum Data Rate" msgstr "Kích cỡ Trang Lớn nhất" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 #, fuzzy msgid "Media Track Create Date" msgstr "Ngày tạo" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 #, fuzzy msgid "Media Track Duration" msgstr "Độ bão hòa đã thay đổi" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 #, fuzzy msgid "Media Header Version" msgstr "Mẫu phiên bản" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "Media Language Code" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 #, fuzzy msgid "Media Track Modify Date" msgstr "Ngày điều chỉnh" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" #: src/properties.cpp:1220 #, fuzzy msgid "Medium." msgstr "Trung bình" #: src/properties.cpp:1221 msgid "Metadata" msgstr "" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1222 msgid "Metadata Library" msgstr "" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "" #: src/properties.cpp:1223 #, fuzzy msgid "Metering mode." msgstr "Chế độ đo đạc" #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "" #: src/properties.cpp:1225 #, fuzzy msgid "Mime Type" msgstr "Kiểu hình ảnh" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "" #: src/properties.cpp:1226 #, fuzzy msgid "QTime Minor FileType Version" msgstr "Phiên bản tập tin" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "" #: src/properties.cpp:1227 #, fuzzy msgid "Equipment Model" msgstr "Thông tin thiết bị" #: src/properties.cpp:1227 msgid "Model name or number of equipment." msgstr "" #: src/properties.cpp:1228 #, fuzzy msgid "Modification Date-Time" msgstr "Tên vị trí" #: src/properties.cpp:1228 msgid "Contains the modification date of the video" msgstr "" #: src/properties.cpp:1229 #, fuzzy msgid "Movie Header Version" msgstr "Mẫu phiên bản" #: src/properties.cpp:1230 msgid "Music By" msgstr "" #: src/properties.cpp:1230 msgid "Music By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1231 msgid "Muxing App" msgstr "" #: src/properties.cpp:1231 msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" #: src/properties.cpp:1232 msgid "Name of song or the event." msgstr "" #: src/properties.cpp:1233 msgid "Next Track ID" msgstr "" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" #: src/properties.cpp:1234 #, fuzzy msgid "Number Of Colours" msgstr "Số trang" #: src/properties.cpp:1234 msgid "Total number of colours used" msgstr "" #: src/properties.cpp:1235 msgid "Number Of Important Colours" msgstr "" #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1236 #, fuzzy msgid "Number Of Parts" msgstr "Số trang" #: src/properties.cpp:1236 msgid "Total number of parts in the video." msgstr "" #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" #: src/properties.cpp:1238 #, fuzzy msgid "Organization" msgstr "Thời lượng" #: src/properties.cpp:1238 msgid "Name of organization associated with the video." msgstr "" #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" #: src/properties.cpp:1248 #, fuzzy msgid "Part" msgstr "Tiệc" #: src/properties.cpp:1248 #, fuzzy msgid "Part." msgstr "Tiệc" #: src/properties.cpp:1249 msgid "Performers" msgstr "" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords" msgstr "Từ khóa" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords." msgstr "Từ khóa." #: src/properties.cpp:1251 msgid "Performer URL" msgstr "" #: src/properties.cpp:1251 msgid "Performer's dedicated URL." msgstr "" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data" msgstr "Chế độ ảnh tương phản" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data." msgstr "Chế độ ảnh tương phản" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Version" msgstr "Chế độ ảnh tương phản" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Data Version." msgstr "Chế độ ảnh bão hòa" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name" msgstr "Chế độ ảnh tương phản" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name." msgstr "Chế độ ảnh tương phản" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Base" msgstr "Chế độ ảnh tương phản" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Data Base." msgstr "Chế độ ảnh tương phản" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust" msgstr "Chế độ ảnh tương phản" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust Information." msgstr "Chế độ ảnh bão hòa" #: src/properties.cpp:1257 #, fuzzy msgid "Picture Control Quick Adjust" msgstr "Chế độ ảnh tương phản" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection" msgstr "Lựa chọn" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection." msgstr "Lựa chọn" #: src/properties.cpp:1259 #, fuzzy msgid "Play Mode" msgstr "Chế độ dễ dàng" #: src/properties.cpp:1259 msgid "Information about the Play Mode." msgstr "" #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "" #: src/properties.cpp:1260 #, fuzzy msgid "Contains the information of External media." msgstr "Phần thông tin liên lạc của quốc gia." #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1265 msgid "Planes" msgstr "" #: src/properties.cpp:1265 msgid "The number of Image Planes in the video" msgstr "" #: src/properties.cpp:1266 #, fuzzy msgid "Poster Time" msgstr "Thời gian phơi sáng" #: src/properties.cpp:1266 msgid "The time value of the time of the movie poster." msgstr "" #: src/properties.cpp:1267 msgid "Preferred Rate" msgstr "" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1269 msgid "Preroll" msgstr "" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" #: src/properties.cpp:1272 #, fuzzy msgid "Preview Atom Type" msgstr "Xem trước hình ảnh" #: src/properties.cpp:1272 msgid "Indicates the type of atom that contains the preview data" msgstr "" #: src/properties.cpp:1273 #, fuzzy msgid "Preview Date" msgstr "Xem trước hình ảnh" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "" #: src/properties.cpp:1274 #, fuzzy msgid "Preview Duration" msgstr "Định dạng xem trước" #: src/properties.cpp:1274 #, fuzzy msgid "The duration of the movie preview in movie time scale units" msgstr "Độ dài của tập tin phương tiện" #: src/properties.cpp:1275 #, fuzzy msgid "Preview Time" msgstr "Xem trước hình ảnh" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "" #: src/properties.cpp:1276 #, fuzzy msgid "The version of the movie preview " msgstr "Độ dài của tập tin phương tiện" #: src/properties.cpp:1277 #, fuzzy msgid "Produced By" msgstr "Nhà sản xuất" #: src/properties.cpp:1277 msgid "Produced By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1278 msgid "Producer involved with the video." msgstr "" #: src/properties.cpp:1279 #, fuzzy msgid "Producer Keywords" msgstr "Từ khóa" #: src/properties.cpp:1279 msgid "Information about the Producer Keywords." msgstr "" #: src/properties.cpp:1280 #, fuzzy msgid "Production Aperture Width" msgstr "Khẩu độ tự động" #: src/properties.cpp:1280 msgid "Production aperture width in pixels" msgstr "" #: src/properties.cpp:1281 #, fuzzy msgid "Production Aperture Height" msgstr "Khẩu độ tự động" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "" #: src/properties.cpp:1282 msgid "Production Designer" msgstr "" #: src/properties.cpp:1282 msgid "Information about the Production Designer." msgstr "" #: src/properties.cpp:1283 msgid "Production Studio" msgstr "" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "" #: src/properties.cpp:1284 #, fuzzy msgid "Product" msgstr "Nhà sản xuất" #: src/properties.cpp:1284 #, fuzzy msgid "Product." msgstr "Nhà sản xuất" #: src/properties.cpp:1286 msgid "Rate" msgstr "" #: src/properties.cpp:1286 msgid "Rate." msgstr "" #: src/properties.cpp:1287 msgid "Rated" msgstr "" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "" #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright" msgstr "Bản quyền" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright." msgstr "Bản quyền" #: src/properties.cpp:1292 msgid "Requirements" msgstr "" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "" #: src/properties.cpp:1293 msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" #: src/properties.cpp:1294 msgid "Ripped By" msgstr "" #: src/properties.cpp:1294 msgid "Ripped By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1295 msgid "Indicates the direction of saturation processing applied by the camera." msgstr "" #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "" #: src/properties.cpp:1296 msgid "The name of the secondary genre.." msgstr "" #: src/properties.cpp:1297 #, fuzzy msgid "Selection Time" msgstr "Lựa chọn" #: src/properties.cpp:1297 msgid "The time value for the start time of the current selection." msgstr "" #: src/properties.cpp:1298 #, fuzzy msgid "Selection Duration" msgstr "Lựa chọn" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "" #: src/properties.cpp:1299 #, fuzzy msgid "Send Duration" msgstr "Thời lượng" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "" #: src/properties.cpp:1303 #, fuzzy msgid "Software Version" msgstr "Phiên bản phần vững" #: src/properties.cpp:1303 #, fuzzy msgid "The Version of the software used." msgstr "Độ dài của tập tin phương tiện" #: src/properties.cpp:1304 #, fuzzy msgid "Song Writer" msgstr "Tác giả" #: src/properties.cpp:1304 msgid "The name of the song writer." msgstr "" #: src/properties.cpp:1305 msgid "Song Writer Keywords" msgstr "" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords." msgstr "Từ khóa." #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits" msgstr "Nguồn" #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits." msgstr "Nguồn." #: src/properties.cpp:1308 #, fuzzy msgid "Source Form" msgstr "Nguồn" #: src/properties.cpp:1308 #, fuzzy msgid "Source Form." msgstr "Nguồn." #: src/properties.cpp:1309 #, fuzzy msgid "Source Image Height" msgstr "Chiều cao hình ảnh" #: src/properties.cpp:1310 #, fuzzy msgid "Source Image Width" msgstr "Chiều rộng hình ảnh" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "" #: src/properties.cpp:1311 msgid "Starring" msgstr "" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "" #: src/properties.cpp:1312 msgid "Start Timecode" msgstr "" #: src/properties.cpp:1313 msgid "Statistics" msgstr "" #: src/properties.cpp:1313 msgid "Statistics." msgstr "" #: src/properties.cpp:1314 #, fuzzy msgid "Stream Count" msgstr "Số byte mảnh" #: src/properties.cpp:1314 msgid "Total Number Of Streams" msgstr "" #: src/properties.cpp:1315 #, fuzzy msgid "Stream Name" msgstr "Tên phim" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "" #: src/properties.cpp:1316 #, fuzzy msgid "Stream Quality" msgstr "Chất lượng Hình ảnh" #: src/properties.cpp:1316 msgid "General Stream Quality" msgstr "" #: src/properties.cpp:1317 #, fuzzy msgid "Stream Sample Rate" msgstr "Tỉ lệ mẫu âm thanh" #: src/properties.cpp:1318 #, fuzzy msgid "Stream Sample Count" msgstr "Số byte mảnh" #: src/properties.cpp:1319 msgid "Stream Sample Size" msgstr "" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "" #: src/properties.cpp:1320 #, fuzzy msgid "Stream Type" msgstr "Kiểu Ca-me-ra" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1321 msgid "Subtitles Codec" msgstr "" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "" #: src/properties.cpp:1322 msgid "Subtitle Codec Decode Info" msgstr "" #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1323 #, fuzzy msgid "Subtitles Codec Information" msgstr "Hình ảnh và thông tin" #: src/properties.cpp:1323 msgid "Contains additional information about subtitles." msgstr "" #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "" #: src/properties.cpp:1325 #, fuzzy msgid "Subtitle Codec Settings" msgstr "Tùy chỉnh chế độ đèn chớp" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1327 msgid "Subtitle Track Enabled" msgstr "" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1328 #, fuzzy msgid "Subtitle" msgstr "Tựa đề" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords" msgstr "Từ khóa" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords." msgstr "Từ khóa." #: src/properties.cpp:1330 #, fuzzy msgid "Subtitles Language" msgstr "Ngôn ngữ" #: src/properties.cpp:1330 msgid "The Language in which the subtitles is recorded in." msgstr "" #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1332 msgid "Subtitle Track Lacing" msgstr "" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1333 #, fuzzy msgid "Subject. " msgstr "Vật thể" #: src/properties.cpp:1334 #, fuzzy msgid "TapeName." msgstr "Tên" #: src/properties.cpp:1335 #, fuzzy msgid "Tag Default Setting" msgstr "Các cài đặt mặc định" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "" #: src/properties.cpp:1336 #, fuzzy msgid "Tag Language" msgstr "Ngôn ngữ" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "" #: src/properties.cpp:1337 #, fuzzy msgid "Tag Name" msgstr "Tên" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1338 msgid "Tag String" msgstr "" #: src/properties.cpp:1338 msgid "Information contained in a Tags" msgstr "" #: src/properties.cpp:1339 #, fuzzy msgid "Target Type" msgstr "Kiểu hình ảnh" #: src/properties.cpp:1339 msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "" #: src/properties.cpp:1340 msgid "Technician" msgstr "" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "" #: src/properties.cpp:1341 #, fuzzy msgid "Thumbnail Height" msgstr "Hình ảnh thu nhỏ" #: src/properties.cpp:1341 #, fuzzy msgid "Preview Image Thumbnail Height." msgstr "Độ dài ảnh xem trước" #: src/properties.cpp:1342 #, fuzzy msgid "Preview Image Thumbnail Length." msgstr "Độ dài ảnh xem trước" #: src/properties.cpp:1343 #, fuzzy msgid "Thumbnail Width" msgstr "Ảnh thu nhỏ" #: src/properties.cpp:1343 #, fuzzy msgid "Preview Image Thumbnail Width." msgstr "Kiểm tra ảnh xem trước" #: src/properties.cpp:1344 #, fuzzy msgid "Timecode Scale" msgstr "Thời gian gửi" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "" #: src/properties.cpp:1345 src/properties.cpp:1428 #, fuzzy msgid "Time Offset" msgstr "Thời gian gửi" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" #: src/properties.cpp:1346 #, fuzzy msgid "Time Scale" msgstr "Thời gian gửi" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1350 msgid "Toning Effect Settings Applied." msgstr "" #: src/properties.cpp:1351 msgid "Total Frame Count" msgstr "" #: src/properties.cpp:1352 #, fuzzy msgid "Number Of Streams" msgstr "Số trang" #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1353 msgid "Track" msgstr "" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "" #: src/properties.cpp:1354 #, fuzzy msgid "Video Track Create Date" msgstr "Tỉ lệ khung hình phim" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" #: src/properties.cpp:1355 #, fuzzy msgid "Video Track Duration" msgstr "Tỉ lệ khung hình phim" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced" msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "Track ID" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 #, fuzzy msgid "Track Header Version" msgstr "Phiên bản phần vững" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 #, fuzzy msgid "Track Language" msgstr "Ngôn ngữ" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "The Language in which a particular stream is recorded in." msgstr "" #: src/properties.cpp:1361 #, fuzzy msgid "Video Track Layer" msgstr "Tỉ lệ khung hình phim" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" #: src/properties.cpp:1364 #, fuzzy msgid "Video Track Modify Date" msgstr "Ngày điều chỉnh" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" #: src/properties.cpp:1365 #, fuzzy msgid "Track Name" msgstr "Tên chủ sở hữu" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "" #: src/properties.cpp:1366 #, fuzzy msgid "Track Number." msgstr "Số Khung hình" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "Track Volume" msgstr "" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "" #: src/properties.cpp:1368 msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" #: src/properties.cpp:1369 src/properties.cpp:1370 #, fuzzy msgid "Unknown Information" msgstr "Thông tin ảnh ch" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1371 msgid "Video URL" msgstr "" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1372 msgid "Video URN" msgstr "" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1373 #, fuzzy msgid "Vari Program" msgstr "Chương trình" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "" #: src/properties.cpp:1376 msgid "Vendor" msgstr "" #: src/properties.cpp:1376 msgid "The developer of the compressor that generated the compressed data." msgstr "" #: src/properties.cpp:1377 src/properties.cpp:1443 #, fuzzy msgid "Vendor ID" msgstr "Thông tin cảm biến" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" #: src/properties.cpp:1378 #, fuzzy msgid "Video Quality" msgstr "Chất lượng" #: src/properties.cpp:1378 #, fuzzy msgid "Video Stream Quality" msgstr "Tỉ lệ khung hình phim" #: src/properties.cpp:1379 #, fuzzy msgid "Video Sample Size" msgstr "Kích cỡ khung hình phim" #: src/properties.cpp:1379 #, fuzzy msgid "Video Stream Sample Size" msgstr "Kích cỡ khung hình phim" #: src/properties.cpp:1380 #, fuzzy msgid "Video Scan Type" msgstr "Kiểu mẫu âm thanh" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "" #: src/properties.cpp:1381 msgid "Watermark URL" msgstr "" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "" #: src/properties.cpp:1384 #, fuzzy msgid "White Balance Fine Tune." msgstr "Bảng cân bằng trắng" #: src/properties.cpp:1385 #, fuzzy msgid "Video Width" msgstr "Chiều rộng hình ảnh" #: src/properties.cpp:1386 #, fuzzy msgid "Window Location" msgstr "Địa điểm quay" #: src/properties.cpp:1386 msgid "Information about the Window Location." msgstr "" #: src/properties.cpp:1388 #, fuzzy msgid "Written By" msgstr "Tác giả" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1389 #, fuzzy msgid "Writing App" msgstr "Viết bài duyệt trước" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" #: src/properties.cpp:1390 msgid "Horizontal resolution in pixels per unit." msgstr "" #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "" #: src/properties.cpp:1391 #, fuzzy msgid "Year in which the video was made." msgstr "Ngày và giờ phim được quay" #: src/properties.cpp:1392 msgid "Vertical resolution in pixels per unit." msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "" #: src/properties.cpp:1398 #, fuzzy msgid "Balance" msgstr "Cân bằng đỏ" #: src/properties.cpp:1398 msgid "Indicates the left-right balance of the audio" msgstr "" #: src/properties.cpp:1399 #, fuzzy msgid "Bits Per Sample/ Bit Rate" msgstr "Bit trên mẫu" #: src/properties.cpp:1399 #, fuzzy msgid "Bits per test sample" msgstr "Bit trên mẫu" #: src/properties.cpp:1401 #, fuzzy msgid "Audio Codec" msgstr "Bộ nén âm thanh" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "" #: src/properties.cpp:1402 msgid "Audio Codec Decode Info" msgstr "" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1403 #, fuzzy msgid "Audio Codec Description" msgstr "Miêu tả hình ảnh" #: src/properties.cpp:1404 msgid "Audio Codec Download URL" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL." msgstr "" #: src/properties.cpp:1405 #, fuzzy msgid "Audio Codec Information" msgstr "Thông tin cụ thể nhà cung cấp" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" #: src/properties.cpp:1406 #, fuzzy msgid "Audio Codec Settings" msgstr "Tùy chỉnh chế độ lấy nét" #: src/properties.cpp:1408 #, fuzzy msgid "Audio Default Duration" msgstr "Độ bão hòa tùy chỉnh" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "" #: src/properties.cpp:1409 msgid "Audio Default Stream" msgstr "" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "" #: src/properties.cpp:1410 msgid "Audio Track Default On" msgstr "" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "" #: src/properties.cpp:1411 msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1412 #, fuzzy msgid "Audio Format" msgstr "Định dạng tập tin" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "" #: src/properties.cpp:1423 #, fuzzy msgid "Output Audio Sample Rate" msgstr "Tỉ lệ mẫu âm thanh" #: src/properties.cpp:1423 #, fuzzy msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" "Tỉ lệ mẫu âm thanh. Có thể là giá trị bất kì, thường là 32000, 41100, hay " "48000." #: src/properties.cpp:1424 #, fuzzy msgid "Audio Sample Count" msgstr "Tỉ lệ mẫu âm thanh" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title" msgstr "tìm thấy trong tập tin" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title." msgstr "tìm thấy trong tập tin" #: src/properties.cpp:1429 #, fuzzy msgid "Audio Track Create Date" msgstr "Ngày tạo" #: src/properties.cpp:1430 msgid "Audio Track Duration" msgstr "" #: src/properties.cpp:1431 msgid "Audio Track Forced" msgstr "" #: src/properties.cpp:1431 msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1434 msgid "Audio Track Lacing" msgstr "" #: src/properties.cpp:1434 msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1436 msgid "Audio Track Layer" msgstr "" #: src/properties.cpp:1439 #, fuzzy msgid "Audio Track Modify Date" msgstr "Ngày điều chỉnh" #: src/properties.cpp:1441 msgid "Audio URL" msgstr "" #: src/properties.cpp:1442 msgid "Audio URN" msgstr "" #: src/properties.cpp:1449 #, fuzzy msgid "The nature or genre of the resource." msgstr "Nhà sản xuất của các thiết bị thu" #: src/properties.cpp:1450 #, fuzzy msgid "Date Modified" msgstr "Ngày và Giờ" #: src/properties.cpp:1450 msgid "Date on which the resource was changed." msgstr "" #: src/properties.cpp:1451 msgid "A language of the resource." msgstr "" #: src/properties.cpp:1452 msgid "License" msgstr "" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" #: src/properties.cpp:1453 #, fuzzy msgid "Rights Holder" msgstr "Vùng bên phải" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" #: src/properties.cpp:1454 #, fuzzy msgid "Access Rights" msgstr "Quyền lợi" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "" #: src/properties.cpp:1455 msgid "A bibliographic reference for the resource." msgstr "" #: src/properties.cpp:1456 #, fuzzy msgid "References" msgstr "Liên kết dự án" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" #: src/properties.cpp:1459 msgid "*Main structure* containing Darwin Core location based information." msgstr "" #: src/properties.cpp:1468 msgid "Record" msgstr "" #: src/properties.cpp:1469 msgid "*Main structure* containing record based information." msgstr "" #: src/properties.cpp:1472 #, fuzzy msgid "Institution ID" msgstr "Hướng dẫn" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" #: src/properties.cpp:1475 #, fuzzy msgid "Collection ID" msgstr "Lựa chọn" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" #: src/properties.cpp:1478 #, fuzzy msgid "Institution Code" msgstr "Hướng dẫn" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1481 msgid "Dataset ID" msgstr "" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "" #: src/properties.cpp:1484 #, fuzzy msgid "Collection Code" msgstr "Mã vị trí" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" #: src/properties.cpp:1487 #, fuzzy msgid "Dataset Name" msgstr "Tên tài liệu" #: src/properties.cpp:1488 #, fuzzy msgid "The name identifying the data set from which the record was derived." msgstr "Tên của tài liệu mà bức ảnh này được quét" #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" #: src/properties.cpp:1496 msgid "Information Withheld" msgstr "" #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" #: src/properties.cpp:1502 #, fuzzy msgid "Dynamic Properties" msgstr "Sặc sỡ (màu sắc)" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" #: src/properties.cpp:1507 msgid "Occurrence" msgstr "" #: src/properties.cpp:1508 msgid "*Main structure* containing occurrence based information." msgstr "" #: src/properties.cpp:1511 msgid "Occurrence ID" msgstr "" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" #: src/properties.cpp:1514 #, fuzzy msgid "Catalog Number" msgstr "Số hình ảnh Cuối cùng" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" #: src/properties.cpp:1517 msgid "Occurrence Details" msgstr "" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "" #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "" #: src/properties.cpp:1521 msgid "Comments or notes about the Occurrence." msgstr "" #: src/properties.cpp:1523 #, fuzzy msgid "Record Number" msgstr "Số Thứ tự" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" #: src/properties.cpp:1526 msgid "Recorded By" msgstr "" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" #: src/properties.cpp:1529 msgid "Individual ID" msgstr "" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" #: src/properties.cpp:1532 msgid "Individual Count" msgstr "" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "" #: src/properties.cpp:1535 msgid "Organism Quantity" msgstr "" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "" #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "" #: src/properties.cpp:1541 msgid "Sex" msgstr "" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1544 msgid "Life Stage" msgstr "" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1547 #, fuzzy msgid "Reproductive Condition" msgstr "Điều khiển Từ xa" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1550 msgid "Behavior" msgstr "" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1559 #, fuzzy msgid "Preparations" msgstr "Thời lượng" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" #: src/properties.cpp:1562 #, fuzzy msgid "Disposition" msgstr "Vị trí lấy nét" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" #: src/properties.cpp:1565 #, fuzzy msgid "Other Catalog Numbers" msgstr "Chuỗi số" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" #: src/properties.cpp:1568 src/properties.cpp:1607 #, fuzzy msgid "Previous Identifications" msgstr "Nhận diện mẫu máy ảnh Pentax" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" #: src/properties.cpp:1571 msgid "Associated Media" msgstr "" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" #: src/properties.cpp:1574 #, fuzzy msgid "Associated References" msgstr "Liên kết dự án" #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1580 msgid "Associated Sequences" msgstr "" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" #: src/properties.cpp:1588 msgid "Organism" msgstr "" #: src/properties.cpp:1589 msgid "*Main structure* containing organism based information." msgstr "" #: src/properties.cpp:1592 msgid "Organism ID" msgstr "" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1595 #, fuzzy msgid "Organism Name" msgstr "Tên chủ sở hữu" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "" #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1601 msgid "Organism Associated Occurrences" msgstr "" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1604 msgid "Associated Organisms" msgstr "" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" #: src/properties.cpp:1610 msgid "Organism Remarks" msgstr "" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "" #: src/properties.cpp:1615 #, fuzzy msgid "Material Sample" msgstr "Bit trên mẫu" #: src/properties.cpp:1616 msgid "*Main structure* containing material sample based information." msgstr "" #: src/properties.cpp:1618 #, fuzzy msgid "Living Specimen" msgstr "Viết bài duyệt trước" #: src/properties.cpp:1619 msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "" #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "" #: src/properties.cpp:1622 msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "" #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "" #: src/properties.cpp:1625 msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "" #: src/properties.cpp:1628 #, fuzzy msgid "Material Sample ID" msgstr "Bit trên mẫu" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" #: src/properties.cpp:1634 msgid "*Main structure* containing event based information." msgstr "" #: src/properties.cpp:1636 msgid "Human Observation" msgstr "" #: src/properties.cpp:1637 msgid "*Main structure* containing human observation based information." msgstr "" #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "" #: src/properties.cpp:1640 msgid "*Main structure* containing machine observation based information." msgstr "" #: src/properties.cpp:1643 #, fuzzy msgid "Event ID" msgstr "Sự kiện" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1646 msgid "Parent Event ID" msgstr "" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" #: src/properties.cpp:1649 #, fuzzy msgid "Event Date" msgstr "Ngày tạo" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1652 msgid "Event Earliest Date" msgstr "" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1655 #, fuzzy msgid "Event Latest Date" msgstr "Ngày tạo" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1658 #, fuzzy msgid "Event Time" msgstr "Thời gian mở" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "" #: src/properties.cpp:1670 #, fuzzy msgid "Month" msgstr "Tháng" #: src/properties.cpp:1671 msgid "The ordinal month in which the Event occurred." msgstr "" #: src/properties.cpp:1673 #, fuzzy msgid "Day" msgstr "Ngày" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "" #: src/properties.cpp:1676 #, fuzzy msgid "Verbatim Event Date" msgstr "Ngày tạo" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" #: src/properties.cpp:1679 msgid "Habitat" msgstr "" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" #: src/properties.cpp:1685 msgid "Sampling Effort" msgstr "" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "" #: src/properties.cpp:1688 msgid "Sampling Size Value" msgstr "" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" #: src/properties.cpp:1691 msgid "Sampling Size Unit" msgstr "" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" #: src/properties.cpp:1694 #, fuzzy msgid "Field Number" msgstr "Tập tin số" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" #: src/properties.cpp:1697 msgid "Field Notes" msgstr "" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "" #: src/properties.cpp:1701 msgid "Comments or notes about the Event." msgstr "" #: src/properties.cpp:1705 #, fuzzy msgid "Location Class" msgstr "Mã vị trí" #: src/properties.cpp:1706 msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "" #: src/properties.cpp:1709 #, fuzzy msgid "Location ID" msgstr "Vị trí" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" #: src/properties.cpp:1718 #, fuzzy msgid "Continent" msgstr "Liên tục" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "" #: src/properties.cpp:1721 msgid "Water Body" msgstr "" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1724 msgid "Island Group" msgstr "" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1727 msgid "Island" msgstr "" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "" #: src/properties.cpp:1736 #, fuzzy msgid "State Province" msgstr "Bang/Tỉnh" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1739 #, fuzzy msgid "County" msgstr "Quốc gia" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1742 #, fuzzy msgid "Municipality" msgstr "Chất lượng" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" #: src/properties.cpp:1745 #, fuzzy msgid "Locality" msgstr "Địa phương" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "" #: src/properties.cpp:1749 msgid "The original textual description of the place." msgstr "" #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1760 msgid "Verbatim Depth" msgstr "" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "" #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1766 msgid "Maximum Depth In Meters" msgstr "" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1775 #, fuzzy msgid "Location According To" msgstr "Mã vị trí" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" #: src/properties.cpp:1778 #, fuzzy msgid "Location Remarks" msgstr "Mã vị trí" #: src/properties.cpp:1779 msgid "Comments or notes about the Location." msgstr "" #: src/properties.cpp:1781 msgid "Verbatim Coordinates" msgstr "" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1784 #, fuzzy msgid "Verbatim Latitude" msgstr "GPS Vĩ độ" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1787 #, fuzzy msgid "Verbatim Longitude" msgstr "GPS Kinh độ" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1796 #, fuzzy msgid "Decimal Latitude" msgstr "GPS Vĩ độ" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" #: src/properties.cpp:1799 #, fuzzy msgid "Decimal Longitude" msgstr "GPS Kinh độ" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" #: src/properties.cpp:1802 msgid "Geodetic Datum" msgstr "" #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" #: src/properties.cpp:1808 msgid "Coordinate Precision" msgstr "" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "" #: src/properties.cpp:1812 #, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "" #: src/properties.cpp:1821 #, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" #: src/properties.cpp:1823 msgid "Georeferenced By" msgstr "" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" #: src/properties.cpp:1826 msgid "Georeferenced Date" msgstr "" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" #: src/properties.cpp:1832 msgid "Georeference Sources" msgstr "" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1838 msgid "Georeference Remarks" msgstr "" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" #: src/properties.cpp:1843 msgid "Geological Context" msgstr "" #: src/properties.cpp:1844 msgid "*Main structure* containing geological context based information." msgstr "" #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" #: src/properties.cpp:1889 msgid "Group" msgstr "" #: src/properties.cpp:1890 #, fuzzy msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "Tên của tài liệu mà bức ảnh này được quét" #: src/properties.cpp:1892 #, fuzzy msgid "Formation" msgstr "Định dạng" #: src/properties.cpp:1893 #, fuzzy msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "Tên của tài liệu mà bức ảnh này được quét" #: src/properties.cpp:1895 msgid "Member" msgstr "" #: src/properties.cpp:1896 #, fuzzy msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "Tên của tài liệu mà bức ảnh này được quét" #: src/properties.cpp:1898 #, fuzzy msgid "Bed" msgstr "Đỏ" #: src/properties.cpp:1899 #, fuzzy msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "Tên của tài liệu mà bức ảnh này được quét" #: src/properties.cpp:1903 #, fuzzy msgid "Identification" msgstr "Chứng chỉ" #: src/properties.cpp:1904 msgid "*Main structure* containing identification based information." msgstr "" #: src/properties.cpp:1907 msgid "Identification ID" msgstr "" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1910 msgid "Identified By" msgstr "" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" #: src/properties.cpp:1913 #, fuzzy msgid "Date Identified" msgstr "Ngày gửi" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" #: src/properties.cpp:1916 #, fuzzy msgid "Identification References" msgstr "Liên kết dự án" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" #: src/properties.cpp:1922 msgid "Identification Remarks" msgstr "" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "" #: src/properties.cpp:1925 msgid "Identification Qualifier" msgstr "" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" #: src/properties.cpp:1928 #, fuzzy msgid "Type Status" msgstr "Tình trạng GPS" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" #: src/properties.cpp:1933 msgid "Taxon" msgstr "" #: src/properties.cpp:1934 msgid "*Main structure* containing taxonomic based information." msgstr "" #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" #: src/properties.cpp:1949 msgid "Original Name Usage ID" msgstr "" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" #: src/properties.cpp:1961 #, fuzzy msgid "Scientific Name" msgstr "Tên tài liệu" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" #: src/properties.cpp:1967 msgid "Parent Name Usage" msgstr "" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" #: src/properties.cpp:1970 msgid "Original Name Usage" msgstr "" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" #: src/properties.cpp:1973 msgid "Name According To" msgstr "" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" #: src/properties.cpp:1976 #, fuzzy msgid "Name Published In" msgstr "Nhà xuất bản" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "" #: src/properties.cpp:1980 msgid "The four-digit year in which the scientificName was published." msgstr "" #: src/properties.cpp:1982 msgid "Higher Classification" msgstr "" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" #: src/properties.cpp:1985 msgid "Kingdom" msgstr "" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "" #: src/properties.cpp:1988 msgid "Phylum" msgstr "" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" #: src/properties.cpp:1991 msgid "Class" msgstr "" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "" #: src/properties.cpp:1994 #, fuzzy msgid "Order" msgstr "Thứ tự tô đầy" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "" #: src/properties.cpp:1997 msgid "Family" msgstr "" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "" #: src/properties.cpp:2000 msgid "Genus" msgstr "" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "" #: src/properties.cpp:2003 msgid "Subgenus" msgstr "" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "" #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" #: src/properties.cpp:2021 msgid "Vernacular Name" msgstr "" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "" #: src/properties.cpp:2024 #, fuzzy msgid "Nomenclatural Code" msgstr "Màu sắc tự nhiên" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "" #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "" #: src/properties.cpp:2039 msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "" #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" #: src/properties.cpp:2045 #, fuzzy msgid "Resource ID" msgstr "Nguồn tập tin" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "" #: src/properties.cpp:2048 #, fuzzy msgid "Related Resource ID" msgstr "Nguồn tập tin" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" #: src/properties.cpp:2051 #, fuzzy msgid "Relationship Of Resource" msgstr "Nguồn đèn chớp" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "" #: src/properties.cpp:2065 msgid "Measurement Or Fact" msgstr "" #: src/properties.cpp:2066 msgid "*Main structure* containing measurement based information." msgstr "" #: src/properties.cpp:2069 msgid "Measurement ID" msgstr "" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:2072 msgid "Measurement Type" msgstr "" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2075 #, fuzzy msgid "Measurement Value" msgstr "Giá trị khẩu độ" #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2078 msgid "Measurement Accuracy" msgstr "" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "" #: src/properties.cpp:2081 msgid "Measurement Unit" msgstr "" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" #: src/properties.cpp:2084 msgid "Measurement Determined Date" msgstr "" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2087 msgid "Measurement Determined By" msgstr "" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" #: src/properties.cpp:2090 #, fuzzy msgid "Measurement Method" msgstr "GPS Chế độ Đo lường" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2093 msgid "Measurement Remarks" msgstr "" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "" #: src/properties.cpp:2101 #, fuzzy msgid "A brief description of the file" msgstr "Độ dài của tập tin phương tiện" #: src/properties.cpp:2102 #, fuzzy msgid "Date Time" msgstr "Ngày và Giờ" #: src/properties.cpp:2103 msgid "The name of the author or photographer" msgstr "" #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "" #: src/properties.cpp:2105 msgid "Notes" msgstr "" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "" #: src/properties.cpp:2106 msgid "Tagged" msgstr "" #: src/properties.cpp:2106 msgid "True or False" msgstr "" #: src/properties.cpp:2107 #, fuzzy msgid "Categories" msgstr "Phân loại" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "" #: src/sigmamn.cpp:62 #, fuzzy msgid "Resolution Mode" msgstr "Độ phân giải X" #: src/sigmamn.cpp:63 #, fuzzy msgid "Resolution mode" msgstr "Độ phân giải X" #: src/sigmamn.cpp:65 #, fuzzy msgid "Autofocus Mode" msgstr "Chế độ lấy nét" #: src/sigmamn.cpp:66 #, fuzzy msgid "Autofocus mode" msgstr "Chế độ lấy nét" #: src/sigmamn.cpp:68 #, fuzzy msgid "Focus Setting" msgstr "Tùy chỉnh chế độ lấy nét" #: src/sigmamn.cpp:69 #, fuzzy msgid "Focus setting" msgstr "Tùy chỉnh chế độ lấy nét" #: src/sigmamn.cpp:80 #, fuzzy msgid "Lens Range" msgstr "Trong phạm vi" #: src/sigmamn.cpp:81 #, fuzzy msgid "Lens focal length range" msgstr "Khoảng Tiêu cự tối thiểu" #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 #, fuzzy msgid "Shadow" msgstr "Bóng râm" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 #, fuzzy msgid "Highlight" msgstr "Cao nhất" #: src/sigmamn.cpp:104 #, fuzzy msgid "Fill Light" msgstr "Ánh sáng có sẵn" #: src/sigmamn.cpp:105 msgid "X3 Fill light" msgstr "" #: src/sigmamn.cpp:107 #, fuzzy msgid "Color Adjustment" msgstr "Dữ liệu màu" #: src/sigmamn.cpp:108 #, fuzzy msgid "Color adjustment" msgstr "Dữ liệu màu" #: src/sigmamn.cpp:110 msgid "Adjustment Mode" msgstr "" #: src/sigmamn.cpp:111 msgid "Adjustment mode" msgstr "" #: src/sigmamn.cpp:122 #, fuzzy msgid "Auto Bracket" msgstr "Tương phản tự động" #: src/sigmamn.cpp:123 src/tags.cpp:1497 #, fuzzy msgid "Auto bracket" msgstr "Tương phản tự động" #: src/sigmamn.cpp:127 #, fuzzy msgid "Unknown SigmaMakerNote tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/sigmamn.cpp:170 #, fuzzy msgid "8-Segment" msgstr "Đa phân vùng" #: src/sonymn.cpp:131 msgid "Advanced Lv1" msgstr "" #: src/sonymn.cpp:132 msgid "Advanced Lv2" msgstr "" #: src/sonymn.cpp:133 msgid "Advanced Lv3" msgstr "" #: src/sonymn.cpp:134 msgid "Advanced Lv4" msgstr "" #: src/sonymn.cpp:135 msgid "Advanced Lv5" msgstr "" #: src/sonymn.cpp:154 #, fuzzy msgid "Night Scene / Twilight" msgstr "Cảnh đêm" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "" #: src/sonymn.cpp:156 #, fuzzy msgid "Twilight Portrait" msgstr "Chân dung ban đêm" #: src/sonymn.cpp:157 #, fuzzy msgid "Soft Snap / Portrait" msgstr "Chân dung" #: src/sonymn.cpp:159 #, fuzzy msgid "Smile Shutter" msgstr "Thời gian chập chậm" #: src/sonymn.cpp:161 #, fuzzy msgid "High Sensitivity" msgstr "Độ nhạy sáng" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "" #: src/sonymn.cpp:166 #, fuzzy msgid "Sweep Panorama" msgstr "Toàn cảnh" #: src/sonymn.cpp:168 msgid "Anti Motion Blur" msgstr "" #: src/sonymn.cpp:170 msgid "Backlight Correction HDR" msgstr "" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "" #: src/sonymn.cpp:172 msgid "Background Defocus" msgstr "" #: src/sonymn.cpp:173 msgid "Soft Skin" msgstr "" #: src/sonymn.cpp:174 msgid "3D Image" msgstr "" #: src/sonymn.cpp:189 #, fuzzy msgid "On (Continuous)" msgstr "Liên tục" #: src/sonymn.cpp:190 #, fuzzy msgid "On (Shooting)" msgstr "Chế độ Chụp" #: src/sonymn.cpp:198 msgid "Plus" msgstr "" #: src/sonymn.cpp:214 #, fuzzy msgid "White Flourescent" msgstr "Điểm trắng" #: src/sonymn.cpp:215 #, fuzzy msgid "Cool White Flourescent" msgstr "4000K (Ánh sáng trắng lạnh)" #: src/sonymn.cpp:216 #, fuzzy msgid "Day White Flourescent" msgstr "6600K (Ánh sáng huỳnh quang ban ngày)" #: src/sonymn.cpp:217 msgid "Incandescent2" msgstr "" #: src/sonymn.cpp:218 #, fuzzy msgid "Warm White Fluorescent" msgstr "4500K (Ánh sáng huỳnh quang trắng tự nhiên)" #: src/sonymn.cpp:221 msgid "Underwater 1 (Blue Water)" msgstr "" #: src/sonymn.cpp:222 msgid "Underwater 2 (Green Water)" msgstr "" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "" #: src/sonymn.cpp:237 #, fuzzy msgid "Center AF" msgstr "Trung tâm" #: src/sonymn.cpp:238 #, fuzzy msgid "Spot AF" msgstr "Xác định" #: src/sonymn.cpp:239 msgid "Flexible Spot AF" msgstr "" #: src/sonymn.cpp:240 msgid "Touch AF" msgstr "" #: src/sonymn.cpp:241 #, fuzzy msgid "Manual Focus" msgstr "Lấy nét tay" #: src/sonymn.cpp:242 #, fuzzy msgid "Face Detected" msgstr "Lựa chọn người dùng" #: src/sonymn.cpp:257 #, fuzzy msgid "Close Focus" msgstr "gần" #: src/sonymn.cpp:347 src/sonymn.cpp:348 #, fuzzy msgid "Multi Burst Mode" msgstr "Đa chế độ phơi sáng" #: src/sonymn.cpp:350 src/sonymn.cpp:351 #, fuzzy msgid "Multi Burst Image Width" msgstr "Chiều rộng ảnh liên quan" #: src/sonymn.cpp:353 src/sonymn.cpp:354 #, fuzzy msgid "Multi Burst Image Height" msgstr "Chiều cao hình ảnh" #: src/sonymn.cpp:364 #, fuzzy msgid "JPEG preview image" msgstr "Xem trước hình ảnh" #: src/sonymn.cpp:390 #, fuzzy msgid "Auto HDR" msgstr "Tự động" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "" #: src/sonymn.cpp:395 #, fuzzy msgid "Shot Information" msgstr "Thông tin ảnh ch" #: src/sonymn.cpp:400 src/sonymn.cpp:401 #, fuzzy msgid "Sony Model ID" msgstr "Chế độ Chụp" #: src/sonymn.cpp:403 src/sonymn.cpp:404 #, fuzzy msgid "Color Reproduction" msgstr "Tiêu giảm độ nhiễu màu sác" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 msgid "Dynamic Range Optimizer" msgstr "" #: src/sonymn.cpp:427 src/sonymn.cpp:428 msgid "Minolta MakerNote" msgstr "" #: src/sonymn.cpp:433 src/sonymn.cpp:434 #, fuzzy msgid "Full Image Size" msgstr "Kích cỡ hình ảnh" #: src/sonymn.cpp:436 #, fuzzy msgid "Preview Image Size" msgstr "Xem trước hình ảnh" #: src/sonymn.cpp:437 #, fuzzy msgid "Preview image size" msgstr "Xem trước hình ảnh" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 msgid "AF Illuminator" msgstr "" #: src/sonymn.cpp:454 src/sonymn.cpp:455 #, fuzzy msgid "JPEG Quality" msgstr "Chất lượng" #: src/sonymn.cpp:460 src/sonymn.cpp:461 #, fuzzy msgid "Release Mode" msgstr "Ngày phát hành" #: src/sonymn.cpp:464 msgid "Shot number in continuous burst mode" msgstr "" #: src/sonymn.cpp:466 src/sonymn.cpp:467 #, fuzzy msgid "Anti-Blur" msgstr "Chống-mờ" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 #, fuzzy msgid "Long Exposure Noise Reduction" msgstr "Giảm nhiễu của sự phơi sáng lâu" #: src/sonymn.cpp:475 src/sonymn.cpp:476 msgid "Intelligent Auto" msgstr "" #: src/sonymn.cpp:483 #, fuzzy msgid "Unknown Sony1MakerNote tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/sonymn.cpp:497 #, fuzzy msgid "Continuous High" msgstr "Liên tục, cao" #: src/sonymn.cpp:501 #, fuzzy msgid "Continuous Low" msgstr "Liên tục, thấp" #: src/sonymn.cpp:503 src/sonymn.cpp:504 msgid "D-Range Optimizer Bracketing Low" msgstr "" #: src/sonymn.cpp:536 #, fuzzy msgid "Autumn" msgstr "Lá Mùa thu" #: src/sonymn.cpp:542 msgid "ADI" msgstr "" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "" #: src/sonymn.cpp:578 #, fuzzy msgid "Auto No Flash" msgstr "Tự động (Đèn chớp)" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 msgid "Dynamic Range Optimizer Level" msgstr "" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 #, fuzzy msgid "Creative Style" msgstr "Ngày tạo" #: src/sonymn.cpp:648 src/sonymn.cpp:649 #, fuzzy msgid "Zone Matching Value" msgstr "Giá trị Tương phản" #: src/sonymn.cpp:666 src/sonymn.cpp:667 #, fuzzy msgid "AF With Shutter" msgstr "Thời gian chập nhanh" #: src/sonymn.cpp:674 src/sonymn.cpp:675 #, fuzzy msgid "High ISO NoiseReduction" msgstr "Giảm nhiễu do độ nhạy sáng cao" #: src/sonymn.cpp:678 src/sonymn.cpp:679 msgid "Image Style" msgstr "Kiểu ảnh" #: src/sonymn.cpp:704 #, fuzzy msgid "Unknown Sony1 Camera Settings tag" msgstr "Tùy chỉnh máy ảnh" #: src/sonymn.cpp:768 #, fuzzy msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "Tùy chỉnh máy ảnh" #: src/tags.cpp:188 #, fuzzy msgid "Unknown section" msgstr "Không biết " #: src/tags.cpp:189 msgid "Image data structure" msgstr "Cấu trúc dữ liệu ảnh" #: src/tags.cpp:190 msgid "Recording offset" msgstr "" #: src/tags.cpp:191 #, fuzzy msgid "Image data characteristics" msgstr "Cấu trúc dữ liệu ảnh" #: src/tags.cpp:192 msgid "Other data" msgstr "Dữ liệu khác" #: src/tags.cpp:193 msgid "Exif data structure" msgstr "Cấu trúc dữ liệu Exif" #: src/tags.cpp:195 msgid "Image configuration" msgstr "Cấu hình ảnh" #: src/tags.cpp:196 msgid "User information" msgstr "Thông tin người dùng" #: src/tags.cpp:197 msgid "Related file" msgstr "Tập tin liên quan" #: src/tags.cpp:198 msgid "Date and time" msgstr "Ngày và giờ" #: src/tags.cpp:199 msgid "Picture taking conditions" msgstr "Điều kiện chụp ảnh" #: src/tags.cpp:200 msgid "GPS information" msgstr "Thông tin GPS" #: src/tags.cpp:201 #, fuzzy msgid "Interoperability information" msgstr "Thông tin bản quyền" #: src/tags.cpp:202 msgid "Vendor specific information" msgstr "Thông tin cụ thể nhà cung cấp" #: src/tags.cpp:203 msgid "Adobe DNG tags" msgstr "Thẻ Adobe DNG" #: src/tags.cpp:204 msgid "Panasonic RAW tags" msgstr "Thẻ Panasonic RAW" #: src/tags.cpp:205 msgid "TIFF/EP tags" msgstr "Thẻ TIFF/EP" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "Thẻ TIFF PageMaker 6.0" #: src/tags.cpp:207 msgid "Adobe OPI tags" msgstr "Thẻ Adobe OPI" #: src/tags.cpp:208 msgid "Last section" msgstr "Phần cuối" #: src/tags.cpp:224 msgid "Primary image" msgstr "Ảnh chính" #: src/tags.cpp:225 msgid "Thumbnail/Preview image" msgstr "Ảnh nhỏ/xem trước" #: src/tags.cpp:226 msgid "Primary image, Multi page file" msgstr "Ảnh chính, tập tin nhiều trang" #: src/tags.cpp:227 msgid "Thumbnail/Preview image, Multi page file" msgstr "Ảnh nhỏ/xem trước, tập tin nhiều trang" #: src/tags.cpp:228 msgid "Primary image, Transparency mask" msgstr "Ảnh chính, mặt nạ trong suốt" #: src/tags.cpp:229 msgid "Thumbnail/Preview image, Transparency mask" msgstr "Ảnh nhỏ/xem trước, mặt nạ trong suốt" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "Ảnh chính, tập tin nhiều trang, mặt nạ trong suốt" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "Ảnh nhỏ/xem trước, tập tin nhiều trang, mặt nạ trong suốt" #: src/tags.cpp:237 msgid "Full-resolution image data" msgstr "Dữ liệu ảnh độ phân giải đầy đủ" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "Dữ liệu ảnh độ phân giải đã được giảm xuống" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "Một trang đơn của bức ảnh nhiều trang" #: src/tags.cpp:245 msgid "inch" msgstr "insơ" #: src/tags.cpp:252 msgid "CCITT RLE" msgstr "CCITT RLE" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "Fax T4/Group 3" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "Fax T6/Group 4" #: src/tags.cpp:255 msgid "LZW" msgstr "LZW" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "JPEG (kiểu cũ)" #: src/tags.cpp:257 msgid "JPEG" msgstr "JPEG" #: src/tags.cpp:258 msgid "Adobe Deflate" msgstr "" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "JBIG B&W" #: src/tags.cpp:260 msgid "JBIG Color" msgstr "JBIG Màu" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "" #: src/tags.cpp:262 msgid "Epson ERF Compressed" msgstr "Epson ERF đã nén" #: src/tags.cpp:263 msgid "Samsung SRW Compressed" msgstr "Samsung SRW đã nén" #: src/tags.cpp:264 msgid "CCITT RLE 1-word" msgstr "CCITT RLE 1 từ" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "PackBits (Macintosh RLE)" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "Thunderscan RLE" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "" #: src/tags.cpp:269 msgid "IT8 Monochrome Picture" msgstr "" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "" #: src/tags.cpp:273 msgid "Pixar Deflate" msgstr "" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "Kodak DCS mã hoá" #: src/tags.cpp:275 msgid "ISO JBIG" msgstr "ISO JBIG" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "Leadtools JPEG 2000" #: src/tags.cpp:279 msgid "Nikon NEF Compressed" msgstr "Nikon NEF đã nén" #: src/tags.cpp:280 msgid "Kodak DCR Compressed" msgstr "Kodak DCR đã nén" #: src/tags.cpp:281 msgid "Pentax PEF Compressed" msgstr "Pentax PEF đã nén" #: src/tags.cpp:286 msgid "White Is Zero" msgstr "" #: src/tags.cpp:287 #, fuzzy msgid "Black Is Zero" msgstr "Đen và trắng" #: src/tags.cpp:288 msgid "RGB" msgstr "RGB" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "Bảng màu RGB" #: src/tags.cpp:290 msgid "Transparency Mask" msgstr "Mặt nạ trong suốt" #: src/tags.cpp:291 src/tags.cpp:330 msgid "CMYK" msgstr "CMYK" #: src/tags.cpp:292 msgid "YCbCr" msgstr "YCbCr" #: src/tags.cpp:293 msgid "CIELab" msgstr "CIELab" #: src/tags.cpp:294 msgid "ICCLab" msgstr "ICCLab" #: src/tags.cpp:295 msgid "ITULab" msgstr "ITULab" #: src/tags.cpp:296 msgid "Color Filter Array" msgstr "Mảng lọc màu" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "Pixar LogL" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "Pixar LogLuv" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "" #: src/tags.cpp:306 msgid "Randomized process" msgstr "Tiến trình ngẫu nhiên" #: src/tags.cpp:311 msgid "top, left" msgstr "trên, trái" #: src/tags.cpp:312 msgid "top, right" msgstr "trên, phải" #: src/tags.cpp:313 msgid "bottom, right" msgstr "dưới, phải" #: src/tags.cpp:314 msgid "bottom, left" msgstr "dưới, trái" #: src/tags.cpp:315 msgid "left, top" msgstr "trái, trên" #: src/tags.cpp:316 msgid "right, top" msgstr "phải, trên" #: src/tags.cpp:317 msgid "right, bottom" msgstr "phải, dưới" #: src/tags.cpp:318 src/tags.cpp:319 msgid "left, bottom" msgstr "trái, dưới" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "" #: src/tags.cpp:325 msgid "Horizontal differencing" msgstr "" #: src/tags.cpp:331 msgid "not CMYK" msgstr "không phải CMYK" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "dữ liệu số nguyên không dấu" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "Dữ liệu số nguyên có dấu bù 2" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "dữ liệu dấu chấm động IEEE" #: src/tags.cpp:339 src/tags.cpp:340 msgid "Undefined data format" msgstr "định dạng dữ liệu không xác định" #: src/tags.cpp:345 #, fuzzy msgid "Not indexed" msgstr "chưa được sử dụng" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "" #: src/tags.cpp:351 msgid "A" msgstr "A" #: src/tags.cpp:352 msgid "B" msgstr "B" #: src/tags.cpp:353 msgid "C" msgstr "C" #: src/tags.cpp:354 msgid "A+B-C" msgstr "A+B-C" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "A+((B-C)/2)" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "B+((A-C)/2)" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "(A+B)/2" #: src/tags.cpp:362 msgid "Centered" msgstr "Canh giữa" #: src/tags.cpp:363 msgid "Co-sited" msgstr "" #: src/tags.cpp:368 msgid "No flash" msgstr "Không đèn chớp" #: src/tags.cpp:370 #, fuzzy msgid "Fired, return light not detected" msgstr "Có, tự động, ánh sáng trở về được phát hiện" #: src/tags.cpp:371 #, fuzzy msgid "Fired, return light detected" msgstr "Có, tự động, ánh sáng trở về được phát hiện" #: src/tags.cpp:372 msgid "Yes, did not fire" msgstr "" #: src/tags.cpp:373 msgid "Yes, compulsory" msgstr "" #: src/tags.cpp:374 #, fuzzy msgid "Yes, compulsory, return light not detected" msgstr "Có, tự động, ánh sáng trở về được phát hiện" #: src/tags.cpp:375 #, fuzzy msgid "Yes, compulsory, return light detected" msgstr "Có, tự động, ánh sáng trở về được phát hiện" #: src/tags.cpp:376 msgid "No, compulsory" msgstr "" #: src/tags.cpp:377 #, fuzzy msgid "No, did not fire, return light not detected" msgstr "Có, tự động, ánh sáng trở về được phát hiện" #: src/tags.cpp:378 msgid "No, auto" msgstr "Không, tự động" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "Có, tự động" #: src/tags.cpp:380 msgid "Yes, auto, return light not detected" msgstr "Có, tự động, ánh sáng trở về được phát hiện" #: src/tags.cpp:381 msgid "Yes, auto, return light detected" msgstr "Có, tự động, ánh sáng trở về được phát hiện" #: src/tags.cpp:382 msgid "No flash function" msgstr "Không có chức năng đèn chớp" #: src/tags.cpp:383 msgid "No, no flash function" msgstr "không, không có chức năng đèn chớp" #: src/tags.cpp:384 msgid "Yes, red-eye reduction" msgstr "Có, giảm mắt đỏ" #: src/tags.cpp:385 msgid "Yes, red-eye reduction, return light not detected" msgstr "Có, giảm mắt đỏ, ánh sáng trở về không được phát hiện" #: src/tags.cpp:386 msgid "Yes, red-eye reduction, return light detected" msgstr "Có, giảm mắt đỏ, ánh sáng trở về được phát hiện" #: src/tags.cpp:387 #, fuzzy msgid "Yes, compulsory, red-eye reduction" msgstr "Có, tự động, giảm mắt đỏ" #: src/tags.cpp:388 #, fuzzy msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "Có, tự động, giảm mắt đỏ, ánh sáng trở về không được phát hiện" #: src/tags.cpp:389 #, fuzzy msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "Có, tự động, giảm mắt đỏ, ánh sáng trở về được phát hiện" #: src/tags.cpp:390 msgid "No, red-eye reduction" msgstr "Không, giảm mắt đỏ" #: src/tags.cpp:391 msgid "No, auto, red-eye reduction" msgstr "Không, tự động, giảm mắt đỏ" #: src/tags.cpp:392 msgid "Yes, auto, red-eye reduction" msgstr "Có, tự động, giảm mắt đỏ" #: src/tags.cpp:393 msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "Có, tự động, giảm mắt đỏ, ánh sáng trở về không được phát hiện" #: src/tags.cpp:394 msgid "Yes, auto, red-eye reduction, return light detected" msgstr "Có, tự động, giảm mắt đỏ, ánh sáng trở về được phát hiện" #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "Bố trí hình chữ nhật (hoặc vuông)" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "Bố trí so le A: cột chẵn được dời xuống dưới 1/2 dòng" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "Bố trí so le B: cột chẵn được dời lên trên 1/2 dòng" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "Bố trí so le C: dòng chẵn được dời sang phải 1/2 cột" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "Bố trí so le D: dòng chẵn được dời sang trái 1/2 cột" #: src/tags.cpp:408 msgid "Processing Software" msgstr "Phần mềm xử lý" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "Tên và phiên bản phần mềm đã dùng để xử lý hậu kỳ ảnh" #: src/tags.cpp:412 msgid "New Subfile Type" msgstr "Kiểu tập tin con mới" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "Sự chỉ chung về kiểu dữ liệu được chứa trong tập tin phụ này." #: src/tags.cpp:415 msgid "Subfile Type" msgstr "Kiểu tập tin phụ" #: src/tags.cpp:416 msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "" "Sự chỉ chung về kiểu dữ liệu được chứa trong tập tin phụ này. Trường này thì " "bị phản đối. Trường NewSubfileType nên được dùng để thay thế." #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Số cột dữ liệu ảnh, bằng số điểm ảnh trong mỗi hàng. Trong dữ liệu đã nén " "JPEG, một dấu hiệu JPEG được dùng thay vào thẻ này." #: src/tags.cpp:425 msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" "Số hàng dữ liệu ảnh. Trong dữ liệu đã nén JPEG, một dấu hiệu JPEG được dùng " "thay vào thẻ này." #: src/tags.cpp:428 msgid "Bits per Sample" msgstr "Bit trên mẫu" #: src/tags.cpp:429 msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" "Số bit trong mỗi thành phần ảnh. Đối với tiêu chuẩn này, mỗi thành phần của " "ảnh chiếm 8 bit, thì giá trị của thẻ này là 8. Xem thêm " "(mẫu trên điểm ảnh). Trong dữ liệu đã nén JPEG, một dấu hiệu JPEG được dùng " "thay vào thẻ này." #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" "Lược đồ nén được dùng cho dữ liệu ảnh. Khi một ảnh chính được nén dạng JPEG, " "sự chỉ định này không cần thiết và bị bỏ đi. Khi hình thu nhỏ dùng JPEG nén, " "giá trị thẻ này được đặt là 6." #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" "Sự hợp thành điểm ảnh. Trong dữ liệu đã nén JPEG, một dấu hiệu JPEG được " "dùng thay vào thẻ này." #: src/tags.cpp:444 msgid "Thresholding" msgstr "" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" #: src/tags.cpp:448 #, fuzzy msgid "Cell Width" msgstr "Chiều rộng hình ảnh" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" #: src/tags.cpp:452 #, fuzzy msgid "Cell Length" msgstr "Tiêu cự" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" #: src/tags.cpp:456 msgid "Fill Order" msgstr "Thứ tự tô đầy" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "Thứ tự luận lý của bit trong một byte" #: src/tags.cpp:459 msgid "Document Name" msgstr "Tên tài liệu" #: src/tags.cpp:460 msgid "The name of the document from which this image was scanned" msgstr "Tên của tài liệu mà bức ảnh này được quét" #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" "Chuỗi kí tự chỉ tên ảnh. Nó có thể là chú thích như \"Đi chơi với bạn bè\". " "Không thể sử dụng mã ký tự byte đôi. Khi mã byte đôi cần thiết, hãy dùng thẻ " "Exif riêng ." #: src/tags.cpp:470 msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" "Hãng chế tạo thiết bị thu. Nó là hãng chế tạo DSC, máy quét, bộ số tự hóa " "ảnh động hay thiết bị khác đã tạo ra ảnh. Khi trường trống, nó được xem là " "không biết." #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" "Tên hay số mô hình của thiết bị. Giá trị này là tên hay số mô hình của DSC, " "máy quét, bộ số tự hóa ảnh động hay thiết bị khác đã tạo ra ảnh. Khi trường " "trống, nó được xem là không biết." #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" "Cho mỗi mảnh, hiệu số byte của mảnh đó. Khuyên chọn nó để bảo đảm số byte " "mảnh không phải hơn 64 Kb. Đối với dữ liệu đã nén JPEG, chỉ định này không " "cần thiết và bị bỏ đi. Xem thêm ." #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "Hướng của ảnh, được xem theo hàng và cột." #: src/tags.cpp:491 msgid "Samples per Pixel" msgstr "Mẫu trên mỗi điểm ảnh" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" "Số thành phần trên mỗi điểm ảnh. Vì tiêu chuẩn này áp dụng vào ảnh kiểu RGB " "và YCbCr, giá trị được đặt cho thẻ này là 3. Trong dữ liệu đã nén JPEG, một " "dấu hiệu JPEG được dùng thay vào thẻ này." #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "Hàng trên mảnh" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" "Số hàng trên mỗi mảnh, số hàng trong ảnh của một mãnh khi ảnh chia cho nhiều " "mảnh. Đối với dữ liệu đã nén JPEG, không cần sự định này và nó bị bỏ đi. Xem " "them ." #: src/tags.cpp:502 msgid "Strip Byte Count" msgstr "Số byte mảnh" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" "Tổng số byte trên mỗi mảnh. Trong dữ liệu đã nén JPEG không cần sự định này " "và nó bị bỏ đi." #: src/tags.cpp:506 msgid "X-Resolution" msgstr "Độ phân giải X" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" "Số điểm ảnh trên mỗi đơn vị phân giải về chiều " "rộng. Khi không biết độ phân giải của ảnh, được chỉ định là 72 " "[dpi]." #: src/tags.cpp:510 msgid "Y-Resolution" msgstr "Độ phân giải Y" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" "Số điểm ảnh trên mỗi đơn vị phân giải về chiều " "cao. Khi không biết độ phân giải của ảnh, được chỉ định là 72 " "[dpi]." #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" #: src/tags.cpp:520 msgid "Gray Response Unit" msgstr "" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "" #: src/tags.cpp:523 msgid "Gray Response Curve" msgstr "" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "" #: src/tags.cpp:526 msgid "T4 Options" msgstr "Tuỳ chọn T4" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "Tuỳ chọn mã hoá T.4." #: src/tags.cpp:529 msgid "T6 Options" msgstr "Tuỳ chọn T6" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "Tuỳ chọn mã hoá T.6." #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" "Đơn vị đo độ phân giải X và độ phân giải Y (cùng " "một đơn vị cho cả hai giá trị). Nếu không biết độ phân giải của ảnh, được " "chỉ định là 2 (insơ)." #: src/tags.cpp:537 #, fuzzy msgid "Page Number" msgstr "Số hình ảnh" #: src/tags.cpp:538 #, fuzzy msgid "The page number of the page from which this image was scanned." msgstr "Tên của tài liệu mà bức ảnh này được quét" #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" "Hàm truyền cho ảnh, được diễn tả trong kiểu dáng bảng. Bình thường, không " "cần thẻ này, vì vùng màu được ghi rõ trong thẻ thông tin vùng màu " "()." #: src/tags.cpp:546 #, fuzzy msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" "Thẻ này ghi tên của người chủ sở hữu máy ảnh, nhà nhiếp ảnh hoặc người tạo " "ảnh. Định dạng chi tiết không được chỉ rõ, nhưng có lời khuyên rằng thông " "tin được viết theo ví dụ bên dưới để dễ dàng cho khả năng cộng tác. Khi " "trường trống, nó được xem như không biết. Ví dụ.) \"Người chủ máy ảnh, Vi " "Khoa; Nhà nhiếp ảnh, Phạm Khắc; người tạo ảnh, Phạm Vũ Nguyên" #: src/tags.cpp:553 msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" "Ngày và giờ tạo ra ảnh. Trong chuẩn Exif, đó là ngày và giờ tập tin đã bị " "thay đổi." #: src/tags.cpp:557 msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" "Thẻ này ghi tên của người chủ sở hữu máy ảnh, nhà nhiếp ảnh hoặc người tạo " "ảnh. Định dạng chi tiết không được chỉ rõ, nhưng có lời khuyên rằng thông " "tin được viết theo ví dụ bên dưới để dễ dàng cho khả năng cộng tác. Khi " "trường trống, nó được xem như không biết. Ví dụ.) \"Người chủ máy ảnh, Vi " "Khoa; Nhà nhiếp ảnh, Phạm Khắc; người tạo ảnh, Phạm Vũ Nguyên" #: src/tags.cpp:564 msgid "Host Computer" msgstr "" #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" #: src/tags.cpp:568 msgid "Predictor" msgstr "" #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" #: src/tags.cpp:573 msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" "Sắc độ của điểm trắng của ảnh. Bình thường, không cần thẻ này, vì vùng màu " "được ghi rõ trong thẻ thông tin vùng màu ()." #: src/tags.cpp:578 msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" "Sắc độ của ba màu chính của ảnh. Bình thường, không cần thẻ này, vì vùng màu " "được ghi rõ trong thẻ thông tin vùng màu ()." #: src/tags.cpp:582 #, fuzzy msgid "Color Map" msgstr "Ma trận màu" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" #: src/tags.cpp:593 #, fuzzy msgid "Tile Width" msgstr "Chiều rộng hình ảnh" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "" #: src/tags.cpp:596 #, fuzzy msgid "Tile Length" msgstr "Chiều dài hình ảnh" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "" #: src/tags.cpp:599 msgid "Tile Offsets" msgstr "" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" #: src/tags.cpp:605 #, fuzzy msgid "Tile Byte Counts" msgstr "Số byte mảnh" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" #: src/tags.cpp:609 msgid "SubIFD Offsets" msgstr "" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "" #: src/tags.cpp:612 msgid "Ink Set" msgstr "" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:615 #, fuzzy msgid "Ink Names" msgstr "Tên chủ sở hữu" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:618 #, fuzzy msgid "Number Of Inks" msgstr "Số trang" #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" #: src/tags.cpp:621 #, fuzzy msgid "Dot Range" msgstr "Trong phạm vi" #: src/tags.cpp:622 #, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "" #: src/tags.cpp:624 msgid "Target Printer" msgstr "" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "" #: src/tags.cpp:627 #, fuzzy msgid "Extra Samples" msgstr "Bit trên mẫu" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" #: src/tags.cpp:631 #, fuzzy msgid "Sample Format" msgstr "Định dạng tập tin" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "" #: src/tags.cpp:634 #, fuzzy msgid "SMin Sample Value" msgstr "Tỉ lệ mẫu âm thanh" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "" #: src/tags.cpp:637 #, fuzzy msgid "SMax Sample Value" msgstr "Giá trị khẩu độ tối đa" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "" #: src/tags.cpp:640 #, fuzzy msgid "Transfer Range" msgstr "Khoảng cách xa" #: src/tags.cpp:641 msgid "Expands the range of the TransferFunction" msgstr "" #: src/tags.cpp:643 msgid "Clip Path" msgstr "" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" #: src/tags.cpp:647 msgid "X Clip Path Units" msgstr "" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:651 msgid "Y Clip Path Units" msgstr "" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" #: src/tags.cpp:660 msgid "JPEG tables" msgstr "" #: src/tags.cpp:661 msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" #: src/tags.cpp:668 #, fuzzy msgid "JPEG Process" msgstr "Tiến trình lấy nét" #: src/tags.cpp:669 msgid "This field indicates the process used to produce the compressed data" msgstr "" #: src/tags.cpp:671 msgid "JPEG Interchange Format" msgstr "" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" #: src/tags.cpp:675 msgid "JPEG Interchange Format Length" msgstr "" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "" #: src/tags.cpp:684 msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "" #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "" #: src/tags.cpp:694 msgid "JPEG Q-Tables" msgstr "" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" #: src/tags.cpp:698 msgid "JPEG DC-Tables" msgstr "" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" #: src/tags.cpp:702 msgid "JPEG AC-Tables" msgstr "" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" #: src/tags.cpp:707 msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" #: src/tags.cpp:715 msgid "YCbCr Sub-Sampling" msgstr "" #: src/tags.cpp:716 #, fuzzy msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Sự hợp thành điểm ảnh. Trong dữ liệu đã nén JPEG, một dấu hiệu JPEG được " "dùng thay vào thẻ này." #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" #: src/tags.cpp:735 msgid "Reference Black/White" msgstr "" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" #: src/tags.cpp:743 msgid "XML Packet" msgstr "" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "" #: src/tags.cpp:746 #, fuzzy msgid "Windows Rating" msgstr "Tiêu đề cửa sổ" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "" #: src/tags.cpp:749 msgid "Windows Rating Percent" msgstr "" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "" #: src/tags.cpp:752 #, fuzzy msgid "Image ID" msgstr "Kích cỡ hình ảnh" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" #: src/tags.cpp:770 msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" #: src/tags.cpp:789 msgid "Exposure time, given in seconds." msgstr "" #: src/tags.cpp:790 src/tags.cpp:1553 #, fuzzy msgid "The F number." msgstr "Tập tin số" #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "IPTC/NAA" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "" #: src/tags.cpp:794 msgid "Image Resources Block" msgstr "" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "" #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" #: src/tags.cpp:803 #, fuzzy msgid "Inter Color Profile" msgstr "Lọc màu" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" #: src/tags.cpp:807 msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "" #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" #: src/tags.cpp:813 src/tags.cpp:1564 #, fuzzy msgid "ISO Speed Ratings" msgstr "Tuỳ chỉnh chế độ nhạy sáng" #: src/tags.cpp:813 src/tags.cpp:1565 msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" #: src/tags.cpp:814 msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" #: src/tags.cpp:815 #, fuzzy msgid "Interlace" msgstr "Đèn chớp trong máy" #: src/tags.cpp:815 msgid "Indicates the field number of multifield images." msgstr "" #: src/tags.cpp:816 msgid "Time Zone Offset" msgstr "" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" #: src/tags.cpp:823 msgid "Self Timer Mode" msgstr "" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "" #: src/tags.cpp:824 #, fuzzy msgid "Date Time Original" msgstr "Ngày và giờ ban đầu" #: src/tags.cpp:824 #, fuzzy msgid "The date and time when the original image data was generated." msgstr "Ngày và giờ phim được quay" #: src/tags.cpp:825 msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "" #: src/tags.cpp:826 msgid "Shutter speed." msgstr "Tốc độ chụp" #: src/tags.cpp:827 msgid "The lens aperture." msgstr "Khẩu độ ống kính" #: src/tags.cpp:828 msgid "The value of brightness." msgstr "" #: src/tags.cpp:829 msgid "The exposure bias." msgstr "Độ bù trừ phơi sáng" #: src/tags.cpp:830 src/tags.cpp:1645 msgid "Max Aperture Value" msgstr "Giá trị khẩu độ tối đa" #: src/tags.cpp:830 msgid "The smallest F number of the lens." msgstr "" #: src/tags.cpp:831 src/tags.cpp:1651 msgid "The distance to the subject, given in meters." msgstr "" #: src/tags.cpp:832 src/tags.cpp:1654 #, fuzzy msgid "The metering mode." msgstr "Chế độ đo đạc" #: src/tags.cpp:833 src/tags.cpp:1657 msgid "The kind of light source." msgstr "" #: src/tags.cpp:834 #, fuzzy msgid "Indicates the status of flash when the image was shot." msgstr "Ngày và giờ phim được quay" #: src/tags.cpp:835 msgid "The actual focal length of the lens, in mm." msgstr "" #: src/tags.cpp:836 msgid "Amount of flash energy (BCPS)." msgstr "" #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "" #: src/tags.cpp:838 msgid "Noise" msgstr "Nhiễu" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "" #: src/tags.cpp:839 #, fuzzy msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" "Số điểm ảnh trên mỗi đơn vị phân giải về chiều " "cao. Khi không biết độ phân giải của ảnh, được chỉ định là 72 " "[dpi]." #: src/tags.cpp:840 #, fuzzy msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" "Số điểm ảnh trên mỗi đơn vị phân giải về chiều " "cao. Khi không biết độ phân giải của ảnh, được chỉ định là 72 " "[dpi]." #: src/tags.cpp:841 msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "" #: src/tags.cpp:843 msgid "Security Classification" msgstr "" #: src/tags.cpp:843 msgid "Security classification assigned to the image." msgstr "" #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "" #: src/tags.cpp:845 msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "" #: src/tags.cpp:846 msgid "Encodes the camera exposure index setting when image was captured." msgstr "" #: src/tags.cpp:847 #, fuzzy msgid "TIFF/EP Standard ID" msgstr "Thẻ TIFF/EP" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" #: src/tags.cpp:851 msgid "Type of image sensor." msgstr "" #: src/tags.cpp:852 msgid "Windows Title" msgstr "Tiêu đề cửa sổ" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:855 #, fuzzy msgid "Windows Comment" msgstr "Nhật kí bình luận" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:858 #, fuzzy msgid "Windows Author" msgstr "Tiêu đề cửa sổ" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:861 #, fuzzy msgid "Windows Keywords" msgstr "Từ khóa" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:864 #, fuzzy msgid "Windows Subject" msgstr "Tiêu đề cửa sổ" #: src/tags.cpp:865 msgid "Subject tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:867 msgid "Print Image Matching" msgstr "" #: src/tags.cpp:868 msgid "Print Image Matching, description needed." msgstr "" #: src/tags.cpp:870 #, fuzzy msgid "DNG version" msgstr "Phiên bản PDF" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" #: src/tags.cpp:875 #, fuzzy msgid "DNG backward version" msgstr "Firmware Version" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" #: src/tags.cpp:884 #, fuzzy msgid "Unique Camera Model" msgstr "Kiểu Ca-me-ra" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" #: src/tags.cpp:892 #, fuzzy msgid "Localized Camera Model" msgstr "Kiểu Ca-me-ra" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" #: src/tags.cpp:897 msgid "CFA Plane Color" msgstr "" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" #: src/tags.cpp:902 msgid "CFA Layout" msgstr "" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "" #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" #: src/tags.cpp:912 msgid "Black Level Repeat Dim" msgstr "" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "" #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" #: src/tags.cpp:921 msgid "Black Level Delta H" msgstr "" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" #: src/tags.cpp:928 msgid "Black Level Delta V" msgstr "" #: src/tags.cpp:929 msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" #: src/tags.cpp:935 #, fuzzy msgid "White Level" msgstr "Mức Pin" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" #: src/tags.cpp:941 #, fuzzy msgid "Default Scale" msgstr "Mặc định" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" #: src/tags.cpp:957 #, fuzzy msgid "Default Crop Size" msgstr "Các cài đặt mặc định" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" #: src/tags.cpp:964 #, fuzzy msgid "Color Matrix 1" msgstr "Ma trận màu" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" #: src/tags.cpp:971 #, fuzzy msgid "Color Matrix 2" msgstr "Ma trận màu" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" #: src/tags.cpp:977 msgid "Camera Calibration 1" msgstr "" #: src/tags.cpp:978 msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:987 msgid "Camera Calibration 2" msgstr "" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:997 msgid "Reduction Matrix 1" msgstr "" #: src/tags.cpp:998 msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1004 msgid "Reduction Matrix 2" msgstr "" #: src/tags.cpp:1005 msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1011 #, fuzzy msgid "Analog Balance" msgstr "Cân bằng Màu sắc" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" #: src/tags.cpp:1021 #, fuzzy msgid "As Shot Neutral" msgstr "Trung tính" #: src/tags.cpp:1022 msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" #: src/tags.cpp:1027 msgid "As Shot White XY" msgstr "" #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" #: src/tags.cpp:1032 #, fuzzy msgid "Baseline Exposure" msgstr "Phơi sáng" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" #: src/tags.cpp:1047 msgid "Baseline Noise" msgstr "" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" #: src/tags.cpp:1054 #, fuzzy msgid "Baseline Sharpness" msgstr "Độ mịn" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" #: src/tags.cpp:1061 msgid "Bayer Green Split" msgstr "" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" #: src/tags.cpp:1070 msgid "Linear Response Limit" msgstr "" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" #: src/tags.cpp:1079 msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" #: src/tags.cpp:1082 msgid "Lens Info" msgstr "Thông tin ống kính" #: src/tags.cpp:1083 msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" #: src/tags.cpp:1095 #, fuzzy msgid "Anti Alias Strength" msgstr "Độ mạnh đèn chớp" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" #: src/tags.cpp:1102 msgid "Shadow Scale" msgstr "" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" #: src/tags.cpp:1106 msgid "DNG Private Data" msgstr "" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" #: src/tags.cpp:1111 msgid "MakerNote Safety" msgstr "" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" #: src/tags.cpp:1119 msgid "Calibration Illuminant 1" msgstr "" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" #: src/tags.cpp:1125 msgid "Calibration Illuminant 2" msgstr "" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" #: src/tags.cpp:1132 #, fuzzy msgid "Best Quality Scale" msgstr "Chất lượng hình ảnh 2" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" #: src/tags.cpp:1140 msgid "Raw Data Unique ID" msgstr "" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" #: src/tags.cpp:1149 #, fuzzy msgid "Original Raw File Name" msgstr "Tên tập tin gốc" #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" #: src/tags.cpp:1153 msgid "Original Raw File Data" msgstr "" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" #: src/tags.cpp:1164 #, fuzzy msgid "Active Area" msgstr "Vùng lấy nét tự động" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" #: src/tags.cpp:1168 #, fuzzy msgid "Masked Areas" msgstr "Vùng lấy nét tự động" #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" #: src/tags.cpp:1176 msgid "As-Shot ICC Profile" msgstr "" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" #: src/tags.cpp:1188 msgid "As-Shot Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" #: src/tags.cpp:1198 msgid "Current ICC Profile" msgstr "" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1205 msgid "Current Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1212 #, fuzzy msgid "Colorimetric Reference" msgstr "Liên kết dự án" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" #: src/tags.cpp:1220 msgid "Camera Calibration Signature" msgstr "" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" #: src/tags.cpp:1227 msgid "Profile Calibration Signature" msgstr "" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" #: src/tags.cpp:1234 #, fuzzy msgid "As Shot Profile Name" msgstr "Tên phim" #: src/tags.cpp:1235 msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" #: src/tags.cpp:1238 #, fuzzy msgid "Noise Reduction Applied" msgstr "Giảm nhiễu" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" #: src/tags.cpp:1246 #, fuzzy msgid "Profile Name" msgstr "Tên Thư mục" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1279 msgid "Profile Tone Curve" msgstr "" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" #: src/tags.cpp:1288 msgid "Profile Embed Policy" msgstr "" #: src/tags.cpp:1289 msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" #: src/tags.cpp:1292 #, fuzzy msgid "Profile Copyright" msgstr "Bản quyền" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" #: src/tags.cpp:1297 #, fuzzy msgid "Forward Matrix 1" msgstr "Ma trận màu" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" #: src/tags.cpp:1301 #, fuzzy msgid "Forward Matrix 2" msgstr "Ma trận màu" #: src/tags.cpp:1305 msgid "Preview Application Name" msgstr "" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" #: src/tags.cpp:1309 msgid "Preview Application Version" msgstr "" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" #: src/tags.cpp:1313 #, fuzzy msgid "Preview Settings Name" msgstr "Xem trước hình ảnh" #: src/tags.cpp:1314 msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" #: src/tags.cpp:1317 #, fuzzy msgid "Preview Settings Digest" msgstr "Bắt đầu ảnh xem trước" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" #: src/tags.cpp:1321 #, fuzzy msgid "Preview Color Space" msgstr "Không gian màu phim" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" #: src/tags.cpp:1326 #, fuzzy msgid "Preview Date Time" msgstr "Xem trước hình ảnh" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" #: src/tags.cpp:1331 #, fuzzy msgid "Raw Image Digest" msgstr "Kích cỡ hình ảnh gốc" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" #: src/tags.cpp:1337 msgid "Original Raw File Digest" msgstr "" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" #: src/tags.cpp:1387 #, fuzzy msgid "Noise Profile" msgstr "Lọc nhiễu" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" #: src/tags.cpp:1396 src/tags.cpp:1397 #, fuzzy msgid "Unknown IFD tag" msgstr "Không biết " #: src/tags.cpp:1408 src/tags.cpp:1466 #, fuzzy msgid "Not defined" msgstr "chưa được sử dụng" #: src/tags.cpp:1413 #, fuzzy msgid "Creative program" msgstr "Người tạo" #: src/tags.cpp:1414 msgid "Action program" msgstr "" #: src/tags.cpp:1415 msgid "Portrait mode" msgstr "Chế độ chân dung" #: src/tags.cpp:1416 #, fuzzy msgid "Landscape mode" msgstr "Phong cảnh" #: src/tags.cpp:1425 msgid "Multi-spot" msgstr "" #: src/tags.cpp:1437 msgid "Tungsten (incandescent light)" msgstr "" #: src/tags.cpp:1439 #, fuzzy msgid "Fine weather" msgstr "5300K (Thời tiết tốt)" #: src/tags.cpp:1440 #, fuzzy msgid "Cloudy weather" msgstr "Trời mây" #: src/tags.cpp:1442 #, fuzzy msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "6600K (Ánh sáng huỳnh quang ban ngày)" #: src/tags.cpp:1443 msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "" #: src/tags.cpp:1444 #, fuzzy msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "4000K (Ánh sáng trắng lạnh)" #: src/tags.cpp:1445 msgid "White fluorescent (WW 3200 - 3700K)" msgstr "" #: src/tags.cpp:1446 #, fuzzy msgid "Standard light A" msgstr "Chất lượng tiêu chuẩn (SQ)" #: src/tags.cpp:1447 #, fuzzy msgid "Standard light B" msgstr "Chất lượng tiêu chuẩn (SQ)" #: src/tags.cpp:1448 #, fuzzy msgid "Standard light C" msgstr "Chất lượng tiêu chuẩn (SQ)" #: src/tags.cpp:1449 msgid "D55" msgstr "D55" #: src/tags.cpp:1450 msgid "D65" msgstr "D65" #: src/tags.cpp:1451 msgid "D75" msgstr "D75" #: src/tags.cpp:1452 msgid "D50" msgstr "D50" #: src/tags.cpp:1453 #, fuzzy msgid "ISO studio tungsten" msgstr "Độ nhạy sáng đã sử dụng" #: src/tags.cpp:1454 #, fuzzy msgid "Other light source" msgstr "Nguồn sáng" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "" #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "" #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "" #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "" #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "" #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "" #: src/tags.cpp:1472 msgid "Color sequential linear" msgstr "" #: src/tags.cpp:1477 msgid "Film scanner" msgstr "" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "" #: src/tags.cpp:1479 #, fuzzy msgid "Digital still camera" msgstr "Lọc điện tử" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "" #: src/tags.cpp:1489 #, fuzzy msgid "Normal process" msgstr "Phim bình thường" #: src/tags.cpp:1490 #, fuzzy msgid "Custom process" msgstr "Quá trình lấy nétTiến trình lấy nét" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "" #: src/tags.cpp:1519 msgid "High gain up" msgstr "" #: src/tags.cpp:1520 msgid "Low gain down" msgstr "" #: src/tags.cpp:1521 msgid "High gain down" msgstr "" #: src/tags.cpp:1542 #, fuzzy msgid "Close view" msgstr "gần" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "" #: src/tags.cpp:1550 msgid "Exposure time, given in seconds (sec)." msgstr "" #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "" #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" #: src/tags.cpp:1573 #, fuzzy msgid "Sensitivity Type" msgstr "Độ nhạy sáng" #: src/tags.cpp:1574 msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" #: src/tags.cpp:1580 #, fuzzy msgid "Standard Output Sensitivity" msgstr "Độ nhạy sáng" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1585 msgid "Recommended Exposure Index" msgstr "" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1595 #, fuzzy msgid "ISO Speed Latitude yyy" msgstr "Chế độ nhạy sáng" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" #: src/tags.cpp:1600 #, fuzzy msgid "ISO Speed Latitude zzz" msgstr "Chế độ nhạy sáng" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" #: src/tags.cpp:1609 #, fuzzy msgid "Date and Time (original)" msgstr "Ngày và giờ ban đầu" #: src/tags.cpp:1610 #, fuzzy msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" "Ngày và giờ tạo ra ảnh. Trong chuẩn Exif, đó là ngày và giờ tập tin đã bị " "thay đổi." #: src/tags.cpp:1613 #, fuzzy msgid "Date and Time (digitized)" msgstr "Ngày và giờ ban đầu" #: src/tags.cpp:1614 #, fuzzy msgid "The date and time when the image was stored as digital data." msgstr "Ngày và giờ phim được quay" #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" #: src/tags.cpp:1626 #, fuzzy msgid "Compressed Bits per Pixel" msgstr "Mẫu trên mỗi điểm ảnh" #: src/tags.cpp:1627 msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" #: src/tags.cpp:1631 msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "" #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1641 #, fuzzy msgid "Exposure Bias" msgstr "Bù trừ ánh sáng" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "" #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" #: src/tags.cpp:1667 msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "" #: src/tags.cpp:1670 msgid "Maker Note" msgstr "" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" #: src/tags.cpp:1679 msgid "Sub-seconds Time" msgstr "" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1682 #, fuzzy msgid "Sub-seconds Time Original" msgstr "Ngày và giờ ban đầu" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1685 msgid "Sub-seconds Time Digitized" msgstr "" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1688 #, fuzzy msgid "FlashPix Version" msgstr "Phiên bản tập tin" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "" #: src/tags.cpp:1692 msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" #: src/tags.cpp:1723 msgid "Interoperability IFD Pointer" msgstr "" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" #: src/tags.cpp:1740 #, fuzzy msgid "Focal Plane X-Resolution" msgstr "Độ phân giải X" #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1744 #, fuzzy msgid "Focal Plane Y-Resolution" msgstr "Độ phân giải Y" #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" #: src/tags.cpp:1753 msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" #: src/tags.cpp:1759 #, fuzzy msgid "Exposure index" msgstr "Thời gian phơi sáng" #: src/tags.cpp:1760 msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" #: src/tags.cpp:1764 msgid "Indicates the image sensor type on the camera or input device." msgstr "" #: src/tags.cpp:1767 msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" #: src/tags.cpp:1776 #, fuzzy msgid "Color Filter Array Pattern" msgstr "Mảng lọc màu" #: src/tags.cpp:1777 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" #: src/tags.cpp:1793 #, fuzzy msgid "This tag indicates the white balance mode set when the image was shot." msgstr "Ngày và giờ phim được quay" #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" #: src/tags.cpp:1801 msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" #: src/tags.cpp:1807 msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" #: src/tags.cpp:1812 msgid "This tag indicates the degree of overall image gain adjustment." msgstr "" #: src/tags.cpp:1815 msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" #: src/tags.cpp:1819 msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" #: src/tags.cpp:1823 msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" #: src/tags.cpp:1827 msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" #: src/tags.cpp:1832 msgid "This tag indicates the distance to the subject." msgstr "" #: src/tags.cpp:1835 msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" #: src/tags.cpp:1839 #, fuzzy msgid "Camera Owner Name" msgstr "Tên chủ sở hữu" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" #: src/tags.cpp:1843 #, fuzzy msgid "Body Serial Number" msgstr "Chuỗi số" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1847 #, fuzzy msgid "Lens Specification" msgstr "Thông tin cụ thể nhà cung cấp" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" #: src/tags.cpp:1854 #, fuzzy msgid "Lens Make" msgstr "Kiểu ống kính." #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "" #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1866 src/tags.cpp:1867 #, fuzzy msgid "Unknown Exif tag" msgstr "Không biết " #: src/tags.cpp:1878 msgid "North" msgstr "" #: src/tags.cpp:1879 msgid "South" msgstr "" #: src/tags.cpp:1884 msgid "East" msgstr "" #: src/tags.cpp:1885 msgid "West" msgstr "" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "" #: src/tags.cpp:1891 #, fuzzy msgid "Below sea level" msgstr "Cường độ đèn chớp" #: src/tags.cpp:1896 msgid "Measurement in progress" msgstr "" #: src/tags.cpp:1897 msgid "Measurement Interoperability" msgstr "" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "" #: src/tags.cpp:1908 msgid "km/h" msgstr "" #: src/tags.cpp:1909 msgid "mph" msgstr "" #: src/tags.cpp:1910 msgid "knots" msgstr "" #: src/tags.cpp:1915 #, fuzzy msgid "True direction" msgstr "Chiều chụp toàn cảnh" #: src/tags.cpp:1916 #, fuzzy msgid "Magnetic direction" msgstr "Chiều chụp toàn cảnh" #: src/tags.cpp:1921 msgid "Kilometers" msgstr "" #: src/tags.cpp:1922 msgid "Miles" msgstr "" #: src/tags.cpp:1923 msgid "Knots" msgstr "" #: src/tags.cpp:1928 #, fuzzy msgid "Without correction" msgstr "Địa điểm quay" #: src/tags.cpp:1929 msgid "Correction applied" msgstr "" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" #: src/tags.cpp:1941 #, fuzzy msgid "GPS Latitude Reference" msgstr "GPS Vĩ độ" #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1953 #, fuzzy msgid "GPS Longitude Reference" msgstr "GPS Kinh độ" #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" #: src/tags.cpp:1998 msgid "GPS Data Degree of Precision" msgstr "" #: src/tags.cpp:1999 msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" #: src/tags.cpp:2007 msgid "Indicates the speed of GPS receiver movement." msgstr "" #: src/tags.cpp:2009 msgid "GPS Track Ref" msgstr "" #: src/tags.cpp:2010 msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2014 msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2022 msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" #: src/tags.cpp:2029 #, fuzzy msgid "GPS Destination Latitude Reference" msgstr "GPS Vĩ độ" #: src/tags.cpp:2030 msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" #: src/tags.cpp:2034 msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2041 msgid "GPS Destination Longitude Reference" msgstr "" #: src/tags.cpp:2042 msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" #: src/tags.cpp:2046 msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2057 msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "" #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" #: src/tags.cpp:2065 msgid "Indicates the distance to the destination point." msgstr "" #: src/tags.cpp:2068 msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" #: src/tags.cpp:2076 #, fuzzy msgid "GPS Date Stamp" msgstr "Ngày gửi" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" #: src/tags.cpp:2081 msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "" #: src/tags.cpp:2084 src/tags.cpp:2085 msgid "Unknown GPSInfo tag" msgstr "" #: src/tags.cpp:2096 msgid "Interoperability Index" msgstr "" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" #: src/tags.cpp:2103 #, fuzzy msgid "Interoperability Version" msgstr "Phiên bản chương trình" #: src/tags.cpp:2104 msgid "Interoperability version" msgstr "" #: src/tags.cpp:2106 msgid "Related Image File Format" msgstr "Định dạng tập tin ảnh liên quan" #: src/tags.cpp:2107 msgid "File format of image file" msgstr "Định dạng tập tin của tập tin ảnh" #: src/tags.cpp:2109 msgid "Related Image Width" msgstr "Chiều rộng ảnh liên quan" #: src/tags.cpp:2112 msgid "Related Image Length" msgstr "Chiều dài ảnh liên quan" #: src/tags.cpp:2116 src/tags.cpp:2117 msgid "Unknown Exif Interoperability tag" msgstr "" #: src/tags.cpp:2128 msgid "Offset" msgstr "" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "" #: src/tags.cpp:2131 msgid "Byte Order" msgstr "Thứ tự byte" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" #: src/tags.cpp:2135 src/tags.cpp:2136 #, fuzzy msgid "Unknown Exiv2 Makernote info tag" msgstr "Thẻ OlympusMakerNote lạ" #: src/tags.cpp:2146 src/tags.cpp:2147 #, fuzzy msgid "Unknown tag" msgstr "Không biết " #: src/tags.cpp:2688 #, fuzzy msgid "Digital zoom not used" msgstr "Tùy chỉnh thu/phóng điện tử" #: src/tiffimage.cpp:2308 msgid "TIFF header, offset" msgstr "" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "" exiv2-0.25/po/POTFILES.in0000664000175000017500000000073211377625245014524 0ustar andreasandreas# List of source files with translatable strings, generated with # $ grep -l '[N ]_(' src/*.cpp src/*.hpp | sort # Note: Please run 'make update-po' after changing this list src/actions.cpp src/canonmn.cpp src/crwimage.cpp src/datasets.cpp src/error.cpp src/exiv2.cpp src/fujimn.cpp src/minoltamn.cpp src/nikonmn.cpp src/olympusmn.cpp src/panasonicmn.cpp src/pentaxmn.cpp src/properties.cpp src/sigmamn.cpp src/sonymn.cpp src/tags.cpp src/tiffimage.cpp src/tiffvisitor.cpp exiv2-0.25/po/es.po0000664000175000017500000266124712540520175013723 0ustar andreasandreas# Spanish translations of Exiv2. # Copyright: # Free Software Foundation, Inc., 2002 # Fabian Mandelbaum , 2002 # This file is distributed under the same license as the Exiv2 package. # Este archivo se distribuye bajo la misma licencia que el paquete Exiv2. # msgid "" msgstr "" "Project-Id-Version: Exiv2\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: 2015-05-10 14:00-0500\n" "Last-Translator: Alan Pater \n" "Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.4\n" "X-Poedit-Basepath: ..\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 msgid "Failed to open the file\n" msgstr "Fallo al abrir el archivo\n" #: src/actions.cpp:282 msgid "File name" msgstr "Nombre de archivo" #: src/actions.cpp:288 msgid "File size" msgstr "Tamaño de archivo" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "Bytes" #: src/actions.cpp:293 msgid "MIME type" msgstr "Tipo de MIME" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 msgid "Image size" msgstr "Tamaño de imagen" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 msgid "No Exif data found in the file\n" msgstr "No se encontraron datos EXIF en el archivo\n" #: src/actions.cpp:307 msgid "Camera make" msgstr "Fabricante de la camara" #: src/actions.cpp:310 msgid "Camera model" msgstr "Modelo de la cámara" #: src/actions.cpp:313 msgid "Image timestamp" msgstr "Fecha de la imagen" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 msgid "Image number" msgstr "Número de imagen" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 msgid "Exposure time" msgstr "Tiempo de exposición" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 msgid "Aperture" msgstr "Apertura" #: src/actions.cpp:345 msgid "Exposure bias" msgstr "Ajuste de exposición" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 msgid "Flash" msgstr "Flash" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 msgid "Flash bias" msgstr "Ajuste del flash" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 msgid "Focal length" msgstr "Distancia focal" #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr "equivalente 35mm" #: src/actions.cpp:373 msgid "Subject distance" msgstr "Distancia al objetivo" #: src/actions.cpp:387 msgid "ISO speed" msgstr "Velocidad ISO" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 msgid "Exposure mode" msgstr "Modo de exposición" #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 msgid "Metering mode" msgstr "Modo de cálculo de la exposición óptima" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 msgid "Macro mode" msgstr "Modo de macro" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 msgid "Image quality" msgstr "Calidad de imagen" #: src/actions.cpp:403 msgid "Exif Resolution" msgstr "Resolución Exif" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "Balance de blancos" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 msgid "Thumbnail" msgstr "Miniatura" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "Ninguno" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 msgid "Copyright" msgstr "Copyright" #: src/actions.cpp:458 msgid "Exif comment" msgstr "Comentario Exif" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "(Valor binario suprimido)" #: src/actions.cpp:742 msgid "JPEG comment" msgstr "Comentario JPEG" #: src/actions.cpp:767 msgid "Preview" msgstr "Vista previa" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "píxeles" #: src/actions.cpp:773 src/actions.cpp:1113 msgid "bytes" msgstr "bytes" #: src/actions.cpp:820 msgid "Neither tag" msgstr "Ninguna de las etiquetas" #: src/actions.cpp:821 msgid "nor" msgstr "ni" #: src/actions.cpp:822 msgid "found in the file" msgstr "encontrado en el archivo" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "No se registró el momento de creación de la imagen" #: src/actions.cpp:833 src/actions.cpp:1590 msgid "Failed to parse timestamp" msgstr "Fallo al procesar la fecha y hora" #: src/actions.cpp:834 msgid "in the file" msgstr "en el archivo" #: src/actions.cpp:845 msgid "Updating timestamp to" msgstr "Actualizando fecha y hora a" #: src/actions.cpp:939 msgid "Erasing thumbnail data" msgstr "Borrando datos de vista en miniatura" #: src/actions.cpp:947 msgid "Erasing Exif data from the file" msgstr "Borrando los datos Exif del archivo" #: src/actions.cpp:956 msgid "Erasing IPTC data from the file" msgstr "Borrando los metadatos IPTC del archivo" #: src/actions.cpp:965 msgid "Erasing JPEG comment from the file" msgstr "Borrando los comentarios JPEG del archivo" #: src/actions.cpp:974 msgid "Erasing XMP data from the file" msgstr "Borrando los metadatos XMP del archivo" #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "La imagen no contiene una miniatura Exif\n" #: src/actions.cpp:1055 msgid "Writing thumbnail" msgstr "Escribiendo vista en miniatura" #: src/actions.cpp:1056 src/actions.cpp:1114 msgid "to file" msgstr "al archivo" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "los datos Exif no contienen una miniatura\n" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "La imagen no tiene vista previa" #: src/actions.cpp:1107 msgid "Writing preview" msgstr "Escribiendo vista previa" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "Configurar comentario JPEG" #: src/actions.cpp:1319 msgid "Add" msgstr "Añadir" #: src/actions.cpp:1341 src/actions.cpp:1415 msgid "Warning" msgstr "Aviso" #: src/actions.cpp:1342 src/actions.cpp:1416 msgid "Failed to read" msgstr "Fallo de lectura" #: src/actions.cpp:1344 src/actions.cpp:1418 msgid "value" msgstr "valor" #: src/actions.cpp:1355 msgid "Set" msgstr "Ajuste" #: src/actions.cpp:1427 msgid "Del" msgstr "Borrar" #: src/actions.cpp:1459 msgid "Reg " msgstr "Reg " #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "Metadatos de fecha y hora con clave" #: src/actions.cpp:1544 msgid "not set\n" msgstr "no establecido\n" #: src/actions.cpp:1549 msgid "Adjusting" msgstr "Ajustando" #: src/actions.cpp:1549 msgid "by" msgstr "por" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "años" #: src/actions.cpp:1556 msgid "year" msgstr "año" #: src/actions.cpp:1564 msgid "months" msgstr "meses" #: src/actions.cpp:1567 msgid "month" msgstr "mes" #: src/actions.cpp:1575 msgid "days" msgstr "días" #: src/actions.cpp:1578 msgid "day" msgstr "día" #: src/actions.cpp:1584 msgid "s" msgstr "s" #: src/actions.cpp:1600 msgid "Can't adjust timestamp by" msgstr "No se puede ajustar fecha y hora" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 msgid "to" msgstr "a" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "la etiqueta ISO Exif standard ya existe; no se modifica\n" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "Estableciando valor Exif ISO a" #: src/actions.cpp:1708 msgid "No Exif user comment found" msgstr "No se encontraron comentarios Exif del usuario" #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "Comentario Exif del usuario con un tipo de valor inesperado" #: src/actions.cpp:1723 msgid "No Exif UNICODE user comment found" msgstr "Comentario Exif UNICODE del usuario no encontrado" #: src/actions.cpp:1729 msgid "Setting Exif UNICODE user comment to" msgstr "Configurar comentario Exif UNICODE" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "Escribiendo datos Exif desde" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "Escribiendo datos IPTC desde" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "Escribiendo datos XMP desde" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "Escribiendo comentario JPEG desde" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "No se pudieron escribir los metadatos al archivo" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "Nombre del archivo perdido por un problema de formato." #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "El nombre del archivo ya es el correcto" #: src/actions.cpp:1975 src/exiv2.cpp:168 msgid "File" msgstr "Archivo" # context here? File = archivo , to fill = llenar #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr "ya existe. S[O]breescribir, [r]enombrar or [s]altar?" #: src/actions.cpp:2004 msgid "Renaming file to" msgstr "Renombrando archivo a" #: src/actions.cpp:2006 msgid "updating timestamp" msgstr "actualizando fecha y hora" #: src/actions.cpp:2015 msgid "Failed to rename" msgstr "Fallo al renombrar" #: src/actions.cpp:2037 msgid "Overwrite" msgstr "Sobreescribir" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "Apagado" #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "Encendido" #: src/canonmn.cpp:363 msgid "Format 1" msgstr "" #: src/canonmn.cpp:364 msgid "Format 2" msgstr "" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 msgid "On (1)" msgstr "Encendido (1)" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 msgid "On (2)" msgstr "Encendido (2)" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "sRGB" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 msgid "Adobe RGB" msgstr "RGB de Adobe" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "Desconocido" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 msgid "Camera Settings" msgstr "Configuración de la cámara" #: src/canonmn.cpp:383 msgid "Various camera settings" msgstr "Varias configuraciones de la cámara" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 msgid "Focal Length" msgstr "Distancia focal" #: src/canonmn.cpp:386 src/sonymn.cpp:394 msgid "Shot Info" msgstr "Información de disparo" #: src/canonmn.cpp:386 msgid "Shot information" msgstr "Información de disparo" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 msgid "Panorama" msgstr "Panorama" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 msgid "Image Type" msgstr "Tipo de imagen" #: src/canonmn.cpp:388 msgid "Image type" msgstr "Tipo de imagen" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 msgid "Firmware Version" msgstr "Versión del Firmware" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 msgid "Firmware version" msgstr "Versión de Firmware" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 msgid "File Number" msgstr "Número de archivo" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 msgid "File number" msgstr "Número de archivo" #: src/canonmn.cpp:391 msgid "Owner Name" msgstr "Nombre del propietario" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 msgid "Serial Number" msgstr "Número de serie" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 msgid "Camera serial number" msgstr "Número de serie de la cámara" #: src/canonmn.cpp:393 msgid "Camera Info" msgstr "" #: src/canonmn.cpp:393 msgid "Camera info" msgstr "" #: src/canonmn.cpp:394 src/canonmn.cpp:406 msgid "Custom Functions" msgstr "Funciones personalizadas" #: src/canonmn.cpp:395 msgid "ModelID" msgstr "Identidad de modelo" #: src/canonmn.cpp:395 msgid "Model ID" msgstr "Identidad de modelo" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 msgid "Picture Info" msgstr "Información de la imagen" #: src/canonmn.cpp:396 msgid "Picture info" msgstr "Información de la imagen" #: src/canonmn.cpp:397 msgid "Thumbnail Image Valid Area" msgstr "" #: src/canonmn.cpp:397 msgid "Thumbnail image valid area" msgstr "" #: src/canonmn.cpp:398 msgid "Serial Number Format" msgstr "" #: src/canonmn.cpp:398 msgid "Serial number format" msgstr "" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 msgid "Super Macro" msgstr "Super Macro" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "Super macro" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF Info" msgstr "Información AF" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF info" msgstr "Información AF" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "" #: src/canonmn.cpp:402 msgid "White Balance Table" msgstr "Tabla de balance de blancos" #: src/canonmn.cpp:402 msgid "White balance table" msgstr "Tabla de balance de blancos" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 msgid "Lens Model" msgstr "Modelo de lentes" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 msgid "Lens model" msgstr "" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 msgid "Internal Serial Number" msgstr "Número de serie interno" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 msgid "Internal serial number" msgstr "Número de serie interno" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "Datos de eliminación de polvo" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "" #: src/canonmn.cpp:406 msgid "Custom functions" msgstr "Funciones personalizadas" #: src/canonmn.cpp:407 msgid "Processing Info" msgstr "" #: src/canonmn.cpp:407 msgid "Processing info" msgstr "" #: src/canonmn.cpp:408 msgid "Measured Color" msgstr "" #: src/canonmn.cpp:408 msgid "Measured color" msgstr "Color medido" #: src/canonmn.cpp:409 msgid "ColorSpace" msgstr "Espacio de color" #: src/canonmn.cpp:413 msgid "VRD Offset" msgstr "Posición VRD" #: src/canonmn.cpp:413 msgid "VRD offset" msgstr "" #: src/canonmn.cpp:414 msgid "Sensor Info" msgstr "" #: src/canonmn.cpp:414 msgid "Sensor info" msgstr "" #: src/canonmn.cpp:415 msgid "Color Data" msgstr "" #: src/canonmn.cpp:415 msgid "Color data" msgstr "" #: src/canonmn.cpp:417 msgid "Unknown CanonMakerNote tag" msgstr "Etiqueta CanonMakerNote desconocida" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "Modo económico" # ## Economía ? it depends on the context #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 msgid "Normal" msgstr "Normal" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 msgid "Fine" msgstr "Fino" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "En bruto" #: src/canonmn.cpp:437 msgid "Superfine" msgstr "Superfino" #: src/canonmn.cpp:438 msgid "Normal Movie" msgstr "Película normal" #: src/canonmn.cpp:439 msgid "Movie (2)" msgstr "Película (2)" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 msgid "Auto" msgstr "Automático" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "Ojos rojos" #: src/canonmn.cpp:448 msgid "Slow sync" msgstr "Sincronización lenta" #: src/canonmn.cpp:449 msgid "Auto + red-eye" msgstr "Auto + ojos rojos" #: src/canonmn.cpp:450 msgid "On + red-eye" msgstr "Encendido + ojos rojos" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 msgid "External" msgstr "Externo" #: src/canonmn.cpp:457 msgid "Single / timer" msgstr "Único / temporizador" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 msgid "Continuous" msgstr "Contínuo" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 msgid "Movie" msgstr "Película" #: src/canonmn.cpp:460 msgid "Continuous, speed priority" msgstr "Continuo, prioridad de velocidad" #: src/canonmn.cpp:461 msgid "Continuous, low" msgstr "Continuo, bajo" #: src/canonmn.cpp:462 msgid "Continuous, high" msgstr "Continuo, alto" #: src/canonmn.cpp:467 msgid "One shot AF" msgstr "Un disparo AF" #: src/canonmn.cpp:468 msgid "AI servo AF" msgstr "Servo AF de IA" #: src/canonmn.cpp:469 msgid "AI focus AF" msgstr "Exposición automática" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 msgid "Manual focus" msgstr "Foco manual" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 msgid "Single" msgstr "Sencillo" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 msgid "Pan focus" msgstr "Enfoque panorámico" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 msgid "Large" msgstr "Grande" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 msgid "Medium" msgstr "Medio" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 msgid "Small" msgstr "Pequeña" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 msgid "Medium 1" msgstr "Medio 1" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 msgid "Medium 2" msgstr "Medio 2" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 msgid "Medium 3" msgstr "Medio 3" #: src/canonmn.cpp:490 msgid "Full auto" msgstr "Totalmente automático" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 msgid "Manual" msgstr "Manual" #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 msgid "Landscape" msgstr "Paisaje" #: src/canonmn.cpp:493 msgid "Fast shutter" msgstr "Disparador rápido" #: src/canonmn.cpp:494 msgid "Slow shutter" msgstr "Disparador lento" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 msgid "Night Scene" msgstr "Escena nocturna" #: src/canonmn.cpp:496 msgid "Gray scale" msgstr "Escala de grises" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "Sepia" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 msgid "Portrait" msgstr "Retrato" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "Deportes" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "Macro / acercamiento" #: src/canonmn.cpp:501 src/fujimn.cpp:149 msgid "Black & white" msgstr "Blanco y Negro" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 msgid "Vivid" msgstr "Expresivo" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 msgid "Neutral" msgstr "Neutral" #: src/canonmn.cpp:505 msgid "Flash off" msgstr "Sin flash" #: src/canonmn.cpp:506 msgid "Long shutter" msgstr "Disparador largo" #: src/canonmn.cpp:508 msgid "Foliage" msgstr "Follaje" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 msgid "Indoor" msgstr "Interior" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 msgid "Fireworks" msgstr "Fuegos artificiales" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "Escena de playa" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 msgid "Underwater" msgstr "Lluvioso" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "Nieve" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "Niños y Mascotas" #: src/canonmn.cpp:515 msgid "Night SnapShot" msgstr "Instantánea nocturna" #: src/canonmn.cpp:516 msgid "Digital macro" msgstr "Macro digital" #: src/canonmn.cpp:517 msgid "My Colors" msgstr "Mis colores" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 msgid "Still image" msgstr "Imagen estática" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 msgid "Other" msgstr "Otros" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 msgid "Low" msgstr "Poca luz" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 msgid "High" msgstr "Alto" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "n/d" #: src/canonmn.cpp:540 msgid "Auto High" msgstr "Altura automática" #: src/canonmn.cpp:558 src/sonymn.cpp:235 msgid "Default" msgstr "Predeteminado" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 msgid "Spot" msgstr "Punto" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "Promedio" #: src/canonmn.cpp:561 msgid "Evaluative" msgstr "Evaluativo" #: src/canonmn.cpp:562 src/tags.cpp:1427 msgid "Partial" msgstr "Parcial" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 msgid "Center weighted" msgstr "Peso centrado" #: src/canonmn.cpp:570 msgid "Not known" msgstr "Desconocido" #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "Macro" #: src/canonmn.cpp:572 msgid "Very close" msgstr "Muy cerca" #: src/canonmn.cpp:573 msgid "Close" msgstr "Cerca" #: src/canonmn.cpp:574 msgid "Middle range" msgstr "Rango medio" #: src/canonmn.cpp:575 msgid "Far range" msgstr "Rango lejano" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 msgid "Infinity" msgstr "Infinito" #: src/canonmn.cpp:583 msgid "Manual AF point selection" msgstr "Punto de selección manual de AF" #: src/canonmn.cpp:584 msgid "None (MF)" msgstr "Ninguno (Enfoque manual)" #: src/canonmn.cpp:585 msgid "Auto-selected" msgstr "Autoseleccionado" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 msgid "Right" msgstr "Derecha" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 msgid "Center" msgstr "Centro" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 msgid "Left" msgstr "Izquierda" #: src/canonmn.cpp:589 msgid "Auto AF point selection" msgstr "Selección automática de punto AF" #: src/canonmn.cpp:594 msgid "Easy shooting (Auto)" msgstr "Disparo sencillo (Auto)" #: src/canonmn.cpp:595 msgid "Program (P)" msgstr "Programa (P)" #: src/canonmn.cpp:596 msgid "Shutter priority (Tv)" msgstr "Prioridad del obturador (Tv)" #: src/canonmn.cpp:597 msgid "Aperture priority (Av)" msgstr "Prioridad de apertura (Av)" #: src/canonmn.cpp:598 msgid "Manual (M)" msgstr "Manual (M)" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "A-DEP" #: src/canonmn.cpp:600 msgid "M-DEP" msgstr "M-DEP" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 msgid "Did not fire" msgstr "No disparó." #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 msgid "Fired" msgstr "Disparado" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 msgid "External flash" msgstr "Flash externo" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 msgid "Internal flash" msgstr "Flash interno" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "Medición a través de la Lente (TTL)" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "A-TTL" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "E-TTL" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "Sincronización FP activada" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "Usada la sincronía de segunda-cortina" #: src/canonmn.cpp:980 msgid "FP sync used" msgstr "Usado el modo de sincronización FP" #: src/canonmn.cpp:991 msgid "Normal AE" msgstr "AE Normal" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 msgid "Exposure compensation" msgstr "Compensación de la exposición" # context? tiempo de exposición = Exposure timne. Probably better as "Tiempo de compensación de la exposición" #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "Bloqueo de la Exposición Automática" #: src/canonmn.cpp:994 msgid "AE lock + exposure compensation" msgstr "AE bloqueado + compensación de exposición" #: src/canonmn.cpp:995 msgid "No AE" msgstr "Sin AE" #: src/canonmn.cpp:1002 msgid "On, shot only" msgstr "Encendido, solo disparo" #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 msgid "AF Point" msgstr "Punto AF" #: src/canonmn.cpp:1016 msgid "Smooth" msgstr "Suavizado" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "B/N" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 msgid "Custom" msgstr "Perzonalizado" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 msgid "My color data" msgstr "Mis datos de color" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 msgid "Full" msgstr "Completo" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "" #: src/canonmn.cpp:1043 msgid "Selftimer" msgstr "Disparador automático" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 msgid "Self timer" msgstr "Disparo automático" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 msgid "Quality" msgstr "Calidad" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 msgid "Flash Mode" msgstr "Modo del flash" #: src/canonmn.cpp:1045 msgid "Flash mode setting" msgstr "Ajuste del modo de flash" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 msgid "Drive Mode" msgstr "Modo de controlador" #: src/canonmn.cpp:1046 msgid "Drive mode setting" msgstr "Configuración de modo de ajuste" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 msgid "Focus Mode" msgstr "Modo de enfoque" #: src/canonmn.cpp:1048 msgid "Focus mode setting" msgstr "Ajuste del modo de enfoque" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 msgid "Image Size" msgstr "Tamaño de imagen" #: src/canonmn.cpp:1052 msgid "Easy Mode" msgstr "Modo sencillo" #: src/canonmn.cpp:1052 msgid "Easy shooting mode" msgstr "Modo de disparo sencillo" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 msgid "Digital Zoom" msgstr "Zoom digital" #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 msgid "Digital zoom" msgstr "Zoom digital" #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 msgid "Contrast" msgstr "Contraste" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 msgid "Contrast setting" msgstr "Ajuste de contraste" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 msgid "Saturation" msgstr "Saturación" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 msgid "Saturation setting" msgstr "Ajuste de saturación" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 msgid "Sharpness" msgstr "Nitidez" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 msgid "Sharpness setting" msgstr "Ajuste de nitidez" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 msgid "ISO Speed Mode" msgstr "Modo de velocidad ISO" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 msgid "ISO speed setting" msgstr "Ajuste de velocidad ISO" #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 msgid "Metering Mode" msgstr "Modo de métrica (Exposición automática)" #: src/canonmn.cpp:1058 msgid "Metering mode setting" msgstr "Ajuste del modo de medición" #: src/canonmn.cpp:1059 msgid "Focus Type" msgstr "Tipo de foco" #: src/canonmn.cpp:1059 msgid "Focus type setting" msgstr "Ajuste de tipo de foco" #: src/canonmn.cpp:1060 msgid "AF point selected" msgstr "Punto de enfoque AF seleccionado" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 msgid "Exposure Program" msgstr "Programa de exposición" #: src/canonmn.cpp:1061 msgid "Exposure mode setting" msgstr "Ajuste de modo de exposición" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 msgid "Lens Type" msgstr "Tipo de lentes" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 msgid "Lens type" msgstr "Tipo de lentes" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 msgid "Lens" msgstr "Lentes" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" "longitud focal «larga» y «corta» (en «unidades focales») y «unidades focales " "por mm»" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "Focal corta" #: src/canonmn.cpp:1065 msgid "Short focal" msgstr "Focal corta" #: src/canonmn.cpp:1066 msgid "Focal Units" msgstr "" #: src/canonmn.cpp:1066 msgid "Focal units" msgstr "" #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 msgid "Max Aperture" msgstr "Apertura máxima" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 msgid "Max aperture" msgstr "Apertura máxima" #: src/canonmn.cpp:1068 msgid "Min Aperture" msgstr "Apertura mínima" #: src/canonmn.cpp:1068 msgid "Min aperture" msgstr "Apertura mínima" #: src/canonmn.cpp:1069 msgid "Flash Activity" msgstr "Actividad del flash" #: src/canonmn.cpp:1069 msgid "Flash activity" msgstr "Actividad del flash" #: src/canonmn.cpp:1070 msgid "Flash Details" msgstr "Detalles del flash" #: src/canonmn.cpp:1070 msgid "Flash details" msgstr "Detalles del Flash" #: src/canonmn.cpp:1073 msgid "Focus Continuous" msgstr "Foco contínuo" #: src/canonmn.cpp:1073 msgid "Focus continuous setting" msgstr "Ajuste de foco contínuo" #: src/canonmn.cpp:1074 msgid "AESetting" msgstr "Configuración AE" #: src/canonmn.cpp:1074 msgid "AE setting" msgstr "Configuración AE" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 msgid "Image Stabilization" msgstr "Estabilización de imagen" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 msgid "Image stabilization" msgstr "Estabilización de imagen" #: src/canonmn.cpp:1076 msgid "Display Aperture" msgstr "Apertura de visor" #: src/canonmn.cpp:1076 msgid "Display aperture" msgstr "Apertura de visor" #: src/canonmn.cpp:1077 msgid "Zoom Source Width" msgstr "Amplitud de la fuente de zomm" #: src/canonmn.cpp:1077 msgid "Zoom source width" msgstr "Amplitud de la fuente de zoom" #: src/canonmn.cpp:1078 msgid "Zoom Target Width" msgstr "Ancho de Objetivo" #: src/canonmn.cpp:1078 msgid "Zoom target width" msgstr "Ancho de objetivo" #: src/canonmn.cpp:1080 msgid "Spot Metering Mode" msgstr "" #: src/canonmn.cpp:1080 msgid "Spot metering mode" msgstr "" #: src/canonmn.cpp:1081 msgid "Photo Effect" msgstr "Efecto foto" #: src/canonmn.cpp:1081 msgid "Photo effect" msgstr "Efecto foto" #: src/canonmn.cpp:1082 msgid "Manual Flash Output" msgstr "" #: src/canonmn.cpp:1082 msgid "Manual flash output" msgstr "" #: src/canonmn.cpp:1083 msgid "Color Tone" msgstr "Tono de color" #: src/canonmn.cpp:1083 msgid "Color tone" msgstr "Tono de color" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "Calidad de tono SRAW" #: src/canonmn.cpp:1084 msgid "SRAW quality" msgstr "Calidad SRAW" #: src/canonmn.cpp:1086 msgid "Unknown Canon Camera Settings 1 tag" msgstr "Configuración de la cámara Canon etiqueta 1 desconocida" #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 msgid "Daylight" msgstr "Luz de día" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 msgid "Cloudy" msgstr "Nublado" #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 msgid "Tungsten" msgstr "Tungsteno" #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 msgid "Fluorescent" msgstr "iluminación con fluorescente" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 msgid "Black & White" msgstr "Blanco y negro" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "Sombra" #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "Temperatura manual (Kelvin)" #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "Ajuste PC 1" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "Ajuste PC 2" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "Ajuste PC 3" #: src/canonmn.cpp:1109 msgid "Daylight Fluorescent" msgstr "Luz de día fluorescente" #: src/canonmn.cpp:1110 src/properties.cpp:816 msgid "Custom 1" msgstr "Personalizado 1" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 msgid "Custom 2" msgstr "Personalizado 2" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 msgid "Custom 3" msgstr "Personalizado 3" #: src/canonmn.cpp:1115 msgid "PC Set 4" msgstr "Ajuste PC 4" #: src/canonmn.cpp:1116 msgid "PC Set 5" msgstr "Ajuste PC 5" #: src/canonmn.cpp:1117 msgid "Auto (ambience priority)" msgstr "" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 msgid "left" msgstr "izquierda" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 msgid "center" msgstr "centro" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 msgid "right" msgstr "derecho" #: src/canonmn.cpp:1151 msgid "ISO Speed Used" msgstr "Velocidad ISO usada" #: src/canonmn.cpp:1151 msgid "ISO speed used" msgstr "velocidad ISO usada" #: src/canonmn.cpp:1152 msgid "Measured EV" msgstr "" #: src/canonmn.cpp:1153 msgid "Target Aperture" msgstr "Abertura del objetivo" #: src/canonmn.cpp:1154 msgid "Target Shutter Speed" msgstr "Velocidad de obturación del objetivo" #: src/canonmn.cpp:1154 msgid "Target shutter speed" msgstr "Velocidad de obturación del objetivo" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 msgid "White Balance" msgstr "Balance de blanco" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 msgid "White balance setting" msgstr "Ajuste de balance de blancos" #: src/canonmn.cpp:1158 msgid "Sequence" msgstr "Secuencia" #: src/canonmn.cpp:1158 msgid "Sequence number (if in a continuous burst)" msgstr "Número de secuencia (si estamos en modo ráfaga)" #: src/canonmn.cpp:1163 msgid "AF Point Used" msgstr "Punto de enfoque AF utilizado" #: src/canonmn.cpp:1163 msgid "AF point used" msgstr "Punto de enfoque AF utilizado" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 msgid "Flash Bias" msgstr "Ajuste del flash" #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 msgid "Subject Distance" msgstr "Distancia al tema" #: src/canonmn.cpp:1168 msgid "Subject distance (units are not clear)" msgstr "Distancia al objetivo (las unidades no estan determinadas)" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 msgid "Aperture Value" msgstr "Valor de apertura" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 msgid "Shutter Speed Value" msgstr "Valor velocidad del obturador" #: src/canonmn.cpp:1171 src/tags.cpp:1630 msgid "Shutter speed" msgstr "Velocidad del obturador" #: src/canonmn.cpp:1172 msgid "Measured EV 2" msgstr "" #: src/canonmn.cpp:1177 msgid "Unknown Canon Camera Settings 2 tag" msgstr "Configuración de la cámara Canon etiqueta 2 desconocida" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 msgid "Left to right" msgstr "De izquierda a derecha" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 msgid "Right to left" msgstr "De derecha a izquierda" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 msgid "Bottom to top" msgstr "De abajo a arriba" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 msgid "Top to bottom" msgstr "De arriba a abajo" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "matriz 2x2 (en sentido de las agujas del reloj)" #: src/canonmn.cpp:1196 msgid "Panorama Frame" msgstr "Cuadro panorámico" #: src/canonmn.cpp:1196 msgid "Panorama frame number" msgstr "Número de cuadro panorámico" #: src/canonmn.cpp:1197 msgid "Panorama Direction" msgstr "Dirección del panorama" #: src/canonmn.cpp:1197 msgid "Panorama direction" msgstr "Dirección del panorama" #: src/canonmn.cpp:1199 msgid "Unknown Canon Panorama tag" msgstr "Etiqueta de panorama Canon desconocida" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 msgid "Noise Reduction" msgstr "Reducción de ruido" #: src/canonmn.cpp:1209 msgid "Long exposure noise reduction" msgstr "Reducción del ruido de larga exposición" #: src/canonmn.cpp:1210 msgid "Shutter Ae Lock" msgstr "Bloqueo de Ae del obturador" #: src/canonmn.cpp:1210 msgid "Shutter/AE lock buttons" msgstr "Disparador/botones de bloqueo AE" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "Bloqueo del espejo" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "Bloqueo del espejo" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 msgid "Exposure Level Increments" msgstr "Incremento del nivel de exposición" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "Tv/Av y nivel de exposición" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 msgid "AF Assist" msgstr "Asistente AF" #: src/canonmn.cpp:1213 msgid "AF assist light" msgstr "Apoyo a Autofocus claro" #: src/canonmn.cpp:1214 msgid "Flash Sync Speed Av" msgstr "Promedio de velocidad de sincronización deñ flash" #: src/canonmn.cpp:1214 msgid "Shutter speed in Av mode" msgstr "Velocidad del obturador en modo Av" #: src/canonmn.cpp:1215 msgid "AEB Sequence" msgstr "Secuencia AEB" #: src/canonmn.cpp:1215 msgid "AEB sequence/auto cancellation" msgstr "secuencia AEB / autocancelación" #: src/canonmn.cpp:1216 msgid "Shutter Curtain Sync" msgstr "Sincronización de la cortina de disparo" #: src/canonmn.cpp:1216 msgid "Shutter curtain sync" msgstr "Sincronización de la cortina de disparo" #: src/canonmn.cpp:1217 msgid "Lens AF Stop Button" msgstr "Botón de parada del AF de la lente" #: src/canonmn.cpp:1217 msgid "Lens AF stop button Fn. Switch" msgstr "Interruptor Fn. detener AF de lentes" #: src/canonmn.cpp:1218 msgid "Fill Flash Auto Reduction" msgstr "auto reducción de flash de relleno" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "Auto reducción del flash de relleno" # ### can be improved probably #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "Volver al menú" #: src/canonmn.cpp:1219 msgid "Menu button return position" msgstr "Botón de menú volver a la posición" #: src/canonmn.cpp:1220 msgid "Set Button Function" msgstr "Establecer la función del botón" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "ESTABLECER la función del botón al disparar" #: src/canonmn.cpp:1221 msgid "Sensor Cleaning" msgstr "Limpieza del sensor" #: src/canonmn.cpp:1221 msgid "Sensor cleaning" msgstr "Limpieza del sensor" # ### ? #: src/canonmn.cpp:1222 msgid "Superimposed Display" msgstr "Enfoque en imágenes superpuestas" #: src/canonmn.cpp:1222 msgid "Superimposed display" msgstr "Enfoque en imágenes superpuestas" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "Liberación del obturador sin tarjeta CF" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "Liberación del obturador con o sin tarjeta CF" #: src/canonmn.cpp:1225 msgid "Unknown Canon Custom Function tag" msgstr "Etiqueta de función personalizada de Canon desconocida" #: src/canonmn.cpp:1236 msgid "mid-right" msgstr "medio-derecha" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 msgid "bottom" msgstr "inferior" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 msgid "top" msgstr "superior" #: src/canonmn.cpp:1240 msgid "mid-left" msgstr "medio-izquierda" #: src/canonmn.cpp:1247 msgid "upper-left" msgstr "superior-izquierda" #: src/canonmn.cpp:1248 msgid "upper-right" msgstr "superior-derecha" #: src/canonmn.cpp:1252 msgid "lower-left" msgstr "abajo - izquierda" #: src/canonmn.cpp:1253 msgid "lower-right" msgstr "abajo- derecha" # ### ? #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 msgid "Image Width" msgstr "Ancho de la imagen" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 msgid "Image width" msgstr "ancho de la imagen" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 msgid "Image Height" msgstr "Altura de la imagen" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 msgid "Image height" msgstr "Altura de la imagen" #: src/canonmn.cpp:1261 msgid "Image Width As Shot" msgstr "Ancho de la imagen en el disparo" #: src/canonmn.cpp:1261 msgid "Image width (as shot)" msgstr "Ancho de la imagen (en el disparo)" #: src/canonmn.cpp:1262 msgid "Image Height As Shot" msgstr "Altura de la imagen en el disparo" #: src/canonmn.cpp:1262 msgid "Image height (as shot)" msgstr "Altura de la imagen (en el disparo)" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF Points Used" msgstr "Punto AF usado" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF points used" msgstr "Punto AF usado" #: src/canonmn.cpp:1264 msgid "AF Points Used 20D" msgstr "Punto AF usado 20D" #: src/canonmn.cpp:1264 msgid "AF points used (20D)" msgstr "Puntos de AF usados (20D)" #: src/canonmn.cpp:1266 msgid "Unknown Canon Picture Info tag" msgstr "Etiqueta de información de la imagen Cannon desconocida" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "AEB" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "FEB" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 msgid "ISO" msgstr "ISO" #: src/canonmn.cpp:1280 msgid "WB" msgstr "BN" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "Postal" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "Pantalla panorámica" #: src/canonmn.cpp:1293 msgid "Medium Movie" msgstr "Película mediana" #: src/canonmn.cpp:1294 msgid "Small Movie" msgstr "Película pequeña" #: src/canonmn.cpp:1300 msgid "On 1" msgstr "En 1" #: src/canonmn.cpp:1301 msgid "On 2" msgstr "En 2" #: src/canonmn.cpp:1309 msgid "On (shift AB)" msgstr "Encendido (cambiar AB)" #: src/canonmn.cpp:1310 msgid "On (shift GM)" msgstr "Encendido (cambiar GM)" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "Amarillo" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 msgid "Orange" msgstr "Naranja" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 msgid "Red" msgstr "Rojo" #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 msgid "Green" msgstr "Verde" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 msgid "Blue" msgstr "Azul" #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "Púrpura" #: src/canonmn.cpp:1334 msgid "Bracket Mode" msgstr "Modo de disparo múltiple" #: src/canonmn.cpp:1335 msgid "Bracket Value" msgstr "Valor de disparo múltiple" #: src/canonmn.cpp:1336 msgid "Bracket Shot Number" msgstr "Número de disparos múltiples" #: src/canonmn.cpp:1337 msgid "Raw Jpg Quality" msgstr "Calidad Raw Jpg" #: src/canonmn.cpp:1338 msgid "Raw Jpg Size" msgstr "Tamaño Jpg raw" #: src/canonmn.cpp:1340 msgid "WB Bracket Mode" msgstr "Balance de blancos en modo de disparo múltiple" #: src/canonmn.cpp:1341 msgid "WB Bracket Value AB" msgstr "Balance de blancos valor de disparo múltiple AB" #: src/canonmn.cpp:1342 msgid "WB Bracket Value GM" msgstr "Balance de blancos valor de disparo múltiple GM" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 msgid "Filter Effect" msgstr "Efecto de filtro" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 msgid "Toning Effect" msgstr "Efecto de matiz" #: src/canonmn.cpp:1345 msgid "Macro Magnification" msgstr "" #: src/canonmn.cpp:1345 msgid "Macro magnification" msgstr "" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "" # ### ? #: src/canonmn.cpp:1346 msgid "Live view shooting" msgstr "" #: src/canonmn.cpp:1347 msgid "Focus Distance Upper" msgstr "" #: src/canonmn.cpp:1348 msgid "Focus Distance Lower" msgstr "" #: src/canonmn.cpp:1349 msgid "Flash Exposure Lock" msgstr "" #: src/canonmn.cpp:1349 msgid "Flash exposure lock" msgstr "" #: src/canonmn.cpp:1351 msgid "Unknown Canon File Info tag" msgstr "Etiqueta de información de archivo Canon desconocida" # don't understand well the context #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 msgid "Standard" msgstr "Estándar" #: src/canonmn.cpp:1369 msgid "Lowest" msgstr "" #: src/canonmn.cpp:1373 msgid "Highest" msgstr "" #: src/canonmn.cpp:1381 msgid "High Saturation" msgstr "Saturación alto" #: src/canonmn.cpp:1383 msgid "Low Saturation" msgstr "Saturación bajo" #: src/canonmn.cpp:1384 msgid "CM Set 1" msgstr "Ajuste CM 1" #: src/canonmn.cpp:1385 msgid "CM Set 2" msgstr "Ajuste CM 2" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 msgid "Monochrome" msgstr "Monocromo" #: src/canonmn.cpp:1399 msgid "Fine Detail" msgstr "Detalle fino" #: src/canonmn.cpp:1404 msgid "ToneCurve" msgstr "Curva de tono" #: src/canonmn.cpp:1404 msgid "Tone curve" msgstr "Curva de tono" #: src/canonmn.cpp:1406 msgid "SharpnessFrequency" msgstr "" #: src/canonmn.cpp:1406 msgid "Sharpness frequency" msgstr "" #: src/canonmn.cpp:1407 msgid "SensorRedLevel" msgstr "" #: src/canonmn.cpp:1407 msgid "Sensor red level" msgstr "" #: src/canonmn.cpp:1408 msgid "SensorBlueLevel" msgstr "" #: src/canonmn.cpp:1408 msgid "Sensor blue level" msgstr "" #: src/canonmn.cpp:1409 msgid "WhiteBalanceRed" msgstr "" #: src/canonmn.cpp:1409 msgid "White balance red" msgstr "" #: src/canonmn.cpp:1410 msgid "WhiteBalanceBlue" msgstr "" #: src/canonmn.cpp:1410 msgid "White balance blue" msgstr "" #: src/canonmn.cpp:1411 msgid "WhiteBalance" msgstr "" #: src/canonmn.cpp:1412 msgid "ColorTemperature" msgstr "" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 msgid "Color Temperature" msgstr "Temperatura de color" #: src/canonmn.cpp:1413 msgid "PictureStyle" msgstr "" #: src/canonmn.cpp:1413 msgid "Picture style" msgstr "" #: src/canonmn.cpp:1414 msgid "DigitalGain" msgstr "" #: src/canonmn.cpp:1414 msgid "Digital gain" msgstr "" #: src/canonmn.cpp:1415 msgid "WBShiftAB" msgstr "" #: src/canonmn.cpp:1415 msgid "WBShift AB" msgstr "" #: src/canonmn.cpp:1416 msgid "WBShiftGM" msgstr "" #: src/canonmn.cpp:1416 msgid "WB Shift GM" msgstr "" #: src/canonmn.cpp:1417 msgid "Unknown Canon Processing Info tag" msgstr "Etiqueta desconocido" #: src/crwimage.cpp:656 msgid "Header, offset" msgstr "Encabezado, offset" #: src/crwimage.cpp:674 msgid "tag" msgstr "etiqueta" #: src/crwimage.cpp:676 msgid "dir" msgstr "directorio" #: src/crwimage.cpp:678 msgid "type" msgstr "tipo" #: src/crwimage.cpp:679 msgid "size" msgstr "tamaño" #: src/crwimage.cpp:680 msgid "offset" msgstr "compensación" # ### ? offset = soft? #: src/datasets.cpp:79 msgid "(invalid)" msgstr "(no válida)" #: src/datasets.cpp:80 msgid "IIM envelope record" msgstr "Registro de sobre IIM" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "Registro de aplicación IIM 2" #: src/datasets.cpp:85 msgid "Model Version" msgstr "Versión del modelo" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Un número binario identificando la versión del modelo de intercambio de " "información, Parte I, usado por el proveedor. Los números de version son " "asignados por las organizaciones IPTC y NAA." #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 msgid "Destination" msgstr "Destino" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" "Este conjunto de datos es para acomodar algunos proveedores que requieren " "información de enrutamiento sobre las capas OSI apropiadas" #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 msgid "File Format" msgstr "Formato de archivo" #: src/datasets.cpp:95 msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" "Un número binario representando el formato del archivo. Dicho formato debe " "estar registrado por medio de un número único asignado por IPTC o NAA. La " "información se usa para dirigir los datos al sistema apropiado y permitir al " "sistema receptor ejecutar las acciones que sean apropiadas." #: src/datasets.cpp:101 msgid "File Version" msgstr "Versión del archivo" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" "Un número binario representando la versión particular del formato de archivo " "especificado por la etiqueta ." #: src/datasets.cpp:105 msgid "Service Id" msgstr "Id del Servicio" #: src/datasets.cpp:106 msgid "Identifies the provider and product" msgstr "Identifica al proveedor y al producto" #: src/datasets.cpp:108 msgid "Envelope Number" msgstr "Número de sobre" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" "Los caracteres de un número que será único para la fecha especificada en la " "etiqueta y para el Identificador de servicio en la etiqueta " ". Si aparecen números de sobre iguales con la misma fecha " "y el mismo identificador de servicio, los registros 2-9 no deben cambiar con " "respecto al original. Esto no está orientado a ser un número de serie " "secuencial de recepción de cheque." #: src/datasets.cpp:117 msgid "Product Id" msgstr "Id del Producto" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" "Permite a un proveedor identificar subconjuntos de su servicio global. " "Utilizado para recepcionar los datos organizativos de un modo que permita " "seleccionar, dirigir o manipular los datos de varios modos." # ### can be improved #: src/datasets.cpp:122 msgid "Envelope Priority" msgstr "Clasificación de los sobres por prioridades" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" "No especifica la urgencia editorial (para eso véase la etiqueta )" "sino la prioridad de manejo de los sobres. \"1\" indica el más urgente, " "\"5\" urgencia normal y \"8\" las copias menos urgentes. El \"9\" permite al " "usuario definir una prioridad personalizada. El \"0\" está reservado para " "usos futuros." #: src/datasets.cpp:129 msgid "Date Sent" msgstr "Fecha del envío" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" "Usa el formato SSAAMMDD (siglo, año, mes, día) definido en ISO 8601 para " "indicar año, mes y día en que el servicio envió el material." #: src/datasets.cpp:133 msgid "Time Sent" msgstr "Hora enviada" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" "Utiliza el formato HHMMSS:HHMM donde HHMMSS se refiere a la hora local, " "minuto y segundos y HHMM se refiere a horas y minutos posteriores (+) o " "antes (-) delUniversal Coordinated Time tal y como está descrito en la ISO " "8601. Este es el momento en que el servicio envió el material." #: src/datasets.cpp:139 msgid "Character Set" msgstr "Juego de caracteres" # ################################################# stop. rev 26 jul 2010 #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" "Esta etiqueta consiste en una o mas funciones de control utilizadas para el " "anuncio, invocación o designio de juegos de caracteres codificados. Las " "funciones de control siguen el estándar ISO 2022 y pueden consistir en el " "caracter de control escape y uno o más caracteres gráficos." #: src/datasets.cpp:145 msgid "Unique Name Object" msgstr "Objeto Nombre Único" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" "Esta etiqueta proporciona un identificador único globalmente para objetos, " "independiente del proveedor y para cualquier tipo de medio, tal y como está " "especificado en el IIM. El proveedor debe garantizar que el UNO es único. " "Los objetos con el mismo UNO son idénticos." #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "Identificador ARM" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" "El DataSet identifica al Abstract Relationship Method identifier (ARM) que " "es descrito en un documento registrado por el creador del ARM con las " "organizaciones IPTC y NAA." #: src/datasets.cpp:156 msgid "ARM Version" msgstr "Versión ARM" #: src/datasets.cpp:157 msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" "Consiste en un número binario representando la versión particular del ARM " "especificado por la etiqueta ." #: src/datasets.cpp:170 msgid "Record Version" msgstr "Versión de registro" # ## ? not translated #: src/datasets.cpp:171 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Número binario, asignado por las organizaciones IPTC y NAA, que identifica " "la versión del Modelo de Intercambio de Información, Parte II, utilizado por " "el proveedor." #: src/datasets.cpp:175 msgid "Object Type" msgstr "Tipo de objeto" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" "Tipo de Objeto; se utiliza para distinguir entre diferentes tipos de objetos " "dentro del IIM. Consta de dos partes separadas por un signo de dos puntos, " "siendo la segunda parte opcional. La primera es un número de referencia " "internacional e independiente del lenguaje para un tipo de objeto; La " "segunda una representación textual del Object Type Number mediante " "caracteres gráficos y espacios, bien en Inglés o en el lenguaje del servicio " "indicado en la etiqueta ." #: src/datasets.cpp:184 msgid "Object Attribute" msgstr "Atributo de objeto" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" "El Object Attribute define la naturaleza del objeto independientemente del " "tema que trate. Consta de dos partes separadas por un signo de dos puntos, " "siendo la segunda parte opcional.La primera es un número de referencia " "internacional (independiente del lenguaje) para un atributo del objeto; La " "segunda una representación textual del Object Attribute Number mediante " "caracteres gráficos y espacios, bien en Inglés o en el lenguaje del servicio " "indicado en la etiqueta " #: src/datasets.cpp:193 msgid "Object Name" msgstr "Nombre del objeto" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" "Utilizado como referencia rápida (taquigráfica) para el objeto. Los cambios " "a datos existentes, como historias actualizadas o nuevos recortes en fotos, " "deben estar identificados en la etiqueta ." #: src/datasets.cpp:198 msgid "Document Title" msgstr "Título del documento" #: src/datasets.cpp:199 src/olympusmn.cpp:827 msgid "Edit Status" msgstr "Editar estado" # ### temptatively, can have several meanings here #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "" "Estatus de los datos del objeto, de acuerdo con la costumbre del proveedor " #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "Actualización Editorial" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" "Indica el tipo de actualización que éste objeto proporciona a un objeto " "previo. El enlace al objeto previo se hace usando las etiquetas " " y , de acuerdo a las costumbres del proveedor." #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "Urgencia (de edición)" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" "Especifica la urgencia editorial del contenido y no equivale necesariamente " "a la prioridad de manejo del sobre (véase ). El \"1\" es " "el más urgente, \"5\" indica normal y \"8\" denota a la copia menos " "prioritaria." #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 msgid "Subject" msgstr "Tema" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "La referencia Sujeto es una definición estructurada del contenido" #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "Categoria" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" "Identifica el tema del objeto dato en opinión del proveedor. Donde sea " "posible una lista de categorías será mantenida por un registro regional, en " "otro caso sera proporcionada por el proveedor." #: src/datasets.cpp:222 msgid "Supplemental Category" msgstr "Categoría suplementaria" #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" "Las categorías suplementarias permiten refinar el tema de un objeto de " "datos. Una categoría suplementaria puede incluir cualquiera de las " "categorías ya reconocidas en la etiqueta . Por lo demás, la " "selección de categorías suplementarias se deja al proveedor." #: src/datasets.cpp:228 src/properties.cpp:442 msgid "Supplemental Categories" msgstr "Categorías suplementarias" #: src/datasets.cpp:229 msgid "Fixture Id" msgstr "Id de arreglo" # ## only my best effort, can be improved probably #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" "Identifica objetos de datos que recurren a menudo y de modo predecible, " "permitiendo a los usuarios encontrarlos inmediatamente o rellamarlos cuando " "se precise." #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 msgid "Keywords" msgstr "Palabras Clave" #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" "Utilizado para indicar palabras clave específicas. Se espera que un " "proveedor de varios tipos de datos ligados a un mismo tema utilice la misma " "palabra clave, permitiendo al sistema receptor o a los distintos subsistemas " "encontrar rápidamente todo el material relacionado entre todos los tipos de " "datos." #: src/datasets.cpp:240 msgid "Location Code" msgstr "Código de localización" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" "Indica el código de País/localización geográfica referenciado por el " "contenido de un objeto. Allí donde la ISO 3166 haya establecido un código " "apropiado de país se utilizará ése código. En caso contrario (ej. el espacio " "o barcos en alta mar, IPTC asignará un código de tres caracteres apropiado " "bajo las previsiones de la ISO 3166 para evitar conflictos." #: src/datasets.cpp:248 msgid "Location Name" msgstr "Nombre de localidad" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" "Proporciona un nombre, publicable y completo, del país o localización " "geográfica referenciado por el contenido de un objeto, de acuerdo a las " "directrices del proveedor." #: src/datasets.cpp:253 src/properties.cpp:376 msgid "Release Date" msgstr "Fecha de lanzamiento" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" "Designa la fecha inicial (expresada en forma CCYYMMDD) a partir de la cual " "el proveedor tiene intención de que un objeto concreto pueda ser usado. " "Sigue el estándar ISO 8601." #: src/datasets.cpp:257 msgid "Release Time" msgstr "Tiempo de liberación" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" "Designa la hora inicial (expresada en forma HHMMSS:HHMM) a partir de la cual " "el proveedor tiene intención de que un objeto concreto pueda ser usado. " "Sigue el estándar ISO 8601." #: src/datasets.cpp:261 msgid "Expiration Date" msgstr "Fecha de Expiración" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" "Designa la fecha de expiración de la validez de un objeto para su uso " "(expresada en forma CCYYMMDD) a partir de la cual el proveedor o el usuario " "consideran que ya no debe utilizarse mas dicho objeto. Sigue el estándar ISO " "8601." #: src/datasets.cpp:265 msgid "ExpirationTime" msgstr "Hora de expiración" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" "Designa la hora de expiración de la validez de un objeto para su uso " "(expresada en forma HHMMSS:HHMM) a partir de la cual el proveedor o el " "usuario consideran que ya no debe utilizarse mas dicho objeto. Sigue el " "estándar ISO 8601." #: src/datasets.cpp:269 msgid "Special Instructions" msgstr "Instrucciones especiales" #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" "Instrucciones editoriales adicionales sobre el uso del objeto dato, como " "embargos y avisos." #: src/datasets.cpp:273 src/properties.cpp:439 msgid "Instructions" msgstr "Instrucciones" #: src/datasets.cpp:274 msgid "Action Advised" msgstr "Acción sugerida" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" "Indica el tipo de acción que este objeto proporciona a un objeto anterior. " "La liga al objeto anterior se hace usando las etiquetas y " ", de acuerdo a las prácticas del proveedor." #: src/datasets.cpp:279 msgid "Reference Service" msgstr "Servicio de referencia" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" "Identifica el identificador de servicio de un sobre anterior en el cual el " "objeto actual se referencia." #: src/datasets.cpp:283 msgid "Reference Date" msgstr "Fecha de referencia" #: src/datasets.cpp:284 msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "" "Identifica la fecha de un sobre anterior en el cual el objeto actual se " "referencia." #: src/datasets.cpp:286 msgid "Reference Number" msgstr "Número de referencia" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "" "Identifica el número de sobre de un sobre anterior en el cual el objeto " "actual se referencia" #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 msgid "Date Created" msgstr "Fecha de creación" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" "Representado en el formato CCYYMMDD designa la fecha de la creación del " "contenido intelectual del objeto o de la creación física de la " "representación. Sigue el estándar ISO 8601." #: src/datasets.cpp:295 msgid "Time Created" msgstr "Hora de creación" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" "Representado en la forma HHMMSS:HHMM para designar el horario en el que el " "contenido intelectual de la fuente actual del objeto de datos se creó, en " "lugar de la creación de la representación física. Siguiendo el estándar ISO " "8601." #: src/datasets.cpp:301 msgid "Digitization Date" msgstr "Fecha de digitalización" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" "Representado en la forma CCYYMMDD para designar la fecha en la que la " "representación digital de el objeto de datos fue creada. Siguiendo el " "estandar ISO 8601." #: src/datasets.cpp:305 msgid "Digitization Time" msgstr "Hora de digitalización" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" "Representado en el formato HHMMSS:HHMM para designar la hora en la que se " "creó la representación digital del objeto de datos. Sigue el estándar ISO " "8601." #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 msgid "Program" msgstr "Programa" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "" "Identifica el tipo de programa usado para originar los datos del objeto." #: src/datasets.cpp:313 msgid "Program Version" msgstr "Versión del programa" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "" "Usado para identificar la versión del programa mencionado en la etiqueta " "" #: src/datasets.cpp:316 msgid "Object Cycle" msgstr "Ccilo de objeto" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "Utilizado para identificar el ciclo editorial de los datos del objeto." #: src/datasets.cpp:319 msgid "By-line" msgstr "Por-Línea" #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "" "Contiene el nombre del creador de los datos del objeto, p.e. escritor, " "fotógrafo o artista gráfico." #: src/datasets.cpp:323 src/properties.cpp:2103 msgid "Author" msgstr "Autor" #: src/datasets.cpp:324 msgid "By-line Title" msgstr "Título por línea" #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "" "Un título por-línea es el título del creador o creadores de un objeto de " "datos. Cuando se usa, un título por-línea debería seguir los por-línea que " "modifica." #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 msgid "City" msgstr "Ciudad" #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" "Identifica la ciudad de los datos del objeto original de acuerdo con las " "indicaciones establecidas por el proveedor." #: src/datasets.cpp:333 msgid "Sub Location" msgstr "Sublocalización" #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" "Identifica el lugar dentro de una ciudad desde donde el objeto data se " "origina, de acuerdo a los lineamientos establecidos por el proveedor." #: src/datasets.cpp:337 msgid "Province State" msgstr "Estado provincia" #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "" "Identifica la provincia/estado de origen de acuerdo con las indicaciones " "establecidas por el proveedor." #: src/datasets.cpp:341 msgid "State/Province" msgstr "Estado/Provincia" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 msgid "Country Code" msgstr "Código de país" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" "Indica el código del país o localización primaria donde la propiedad " "intelectual del objeto de datos fue creado, por ejemplo, dónde fue tomada " "una foto, ocurrió un evento. Cuando ISO ha establecido un código de país " "apropiado bajo ISO 3166, ese código será usado. Cuando ISO 3166 no " "proporcione adecuadamente la identificación para una localización o un nuevo " "país, o bien barcos en alta mar, el espacio exterior, IPCT asignará una " "código apropiado de tres caracteres, bajo las condiciones de ISO 3166 para " "evitar conflictos." #: src/datasets.cpp:352 msgid "Country Name" msgstr "Nombre del país" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" "Proporciona el nombre del país completo y publicable o la localización " "primaria donde la propiedad intelectual del objeto de datos se creó, de " "acuerdo con los criterios del proveedor." #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 msgid "Country" msgstr "Pais" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 msgid "Transmission Reference" msgstr "Referencia de transmisión" #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" "Código que representa la localidad de la transmisión original de acuerdo a " "las prácticas del proveedor." #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 msgid "Headline" msgstr "Titular" #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "" "Un entrada publicable que proporciona la sinopsis de los contenidos de los " "datos del objeto." #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 msgid "Credit" msgstr "Crédito" #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "" "Identifica el proveedor de los datos del objeto, no necesariamente el " "propietario/creador" #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source" msgstr "Origen" #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" "Identifica el propietario intelectual original de los contenidos de los " "datos del objeto. Puede ser una agencia, un miembro de una agencia o un " "individuo." #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "Contiene cualquier aviso necesario de copyright." #: src/datasets.cpp:379 msgid "Copyright Notice" msgstr "Mención de copyright" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 msgid "Contact" msgstr "Contacto" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" "Identifica a la persona u organización que pueden proporcionar mayor " "información de soporte del objeto de datos." #: src/datasets.cpp:384 src/properties.cpp:2101 msgid "Caption" msgstr "Subtítulo" #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "Descripción textual de los datos del objeto." #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 msgid "Description" msgstr "Descripción" #: src/datasets.cpp:388 msgid "Writer" msgstr "Grabador" #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" "Identificación del nombre de la persona autora del escrito, edición o " "corrección del objeto de datos o de su resumen." #: src/datasets.cpp:392 msgid "Rasterized Caption" msgstr "Título rasterizado" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" "Contiene la descripción de datos del objeto rasterizado y es usado donde los " "caracteres que no se han codificado se requieren para el titulo" #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "Indica los componentes de color de una imagen" #: src/datasets.cpp:399 msgid "Image Orientation" msgstr "Orientación de la imagen" #: src/datasets.cpp:400 msgid "Indicates the layout of an image." msgstr "Indica la disposición de una imagen." #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 msgid "Language" msgstr "Idioma" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" "Describe el principal idioma nacional del objeto de datos, de acuerdo con " "los códigos de dos letras de ISO 639:1988. No define ni implica algún juego " "de caracteres codificado, pero se usa para el ruteado interno, por ejemplo " "los varios escritorios editoriales." #: src/datasets.cpp:408 msgid "Audio Type" msgstr "Tipo de audio" #: src/datasets.cpp:409 msgid "Indicates the type of an audio content." msgstr "Indica el tipo de contenido de audio" #: src/datasets.cpp:411 msgid "Audio Rate" msgstr "Tasa de audio" #: src/datasets.cpp:412 msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "Indica la frecuencia en Hertzios de un contenido de audio" #: src/datasets.cpp:414 msgid "Audio Resolution" msgstr "Resolución de audio" #: src/datasets.cpp:415 msgid "Indicates the sampling resolution of an audio content." msgstr "Indica la resolución muestreo de un contenido de audio." #: src/datasets.cpp:417 msgid "Audio Duration" msgstr "Duración del audio" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "Indica la duración de un contenido de audio." #: src/datasets.cpp:420 msgid "Audio Outcue" msgstr "Cola de salida del sonido" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" "Identifica el contenido del final de un objeto de datos de audio, de acuerdo " "a los lineamientos establecidos por el proveedor." #: src/datasets.cpp:424 msgid "Preview Format" msgstr "Formato de previsualización" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" "Un número binario que representa el formato de archivo de la " "previsualización del objeto de datos. El formato de archivo debe estar " "registrado con las organizaciones IPTC o NAA con un número único asignado." #: src/datasets.cpp:429 src/properties.cpp:1276 msgid "Preview Version" msgstr "Versión de vista previa" #: src/datasets.cpp:430 msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" "Un número binario representando la versión particular del formato de archivo " "de la vista previa de los datos del objeto especificado en la etiqueta " "" #: src/datasets.cpp:433 msgid "Preview Data" msgstr "Previsualizar datos" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "Previsualizar datos de la imagen binaria." #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "(Inválido)" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 msgid "Unknown dataset" msgstr "Conjunto de datos desconodido" #: src/error.cpp:55 msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "Error %0: arg2=%2, arg3=%3, arg1=%1." #: src/error.cpp:56 msgid "Success" msgstr "Éxito." #: src/error.cpp:59 msgid "This does not look like a %1 image" msgstr "No parece como la imagen %1" #: src/error.cpp:60 msgid "Invalid dataset name `%1'" msgstr "Nombre de conjunto de datos inválido «%1»" #: src/error.cpp:61 msgid "Invalid record name `%1'" msgstr "Nombre de registro inválido «%1»" #: src/error.cpp:62 msgid "Invalid key `%1'" msgstr "Clave inválida «%1»" #: src/error.cpp:63 msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "Nombre de etiqueta inválido o ifdld «%1», ifdId %2" #: src/error.cpp:64 msgid "Value not set" msgstr "Valor no establecido" #: src/error.cpp:65 msgid "%1: Failed to open the data source: %2" msgstr "%1: Fallo al abrir la fuente de datos: %2" #: src/error.cpp:66 msgid "%1: Failed to open file (%2): %3" msgstr "%1: Fallo al abrir el archivo (%2): %3" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "%1: El archivo contiene datos de un tipo de imagen desconocido" #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "La memoria contiene datos de una imagen de tipo desconocido" #: src/error.cpp:69 msgid "Image type %1 is not supported" msgstr "El tipo de imagen %1 no está soportada" #: src/error.cpp:70 msgid "Failed to read image data" msgstr "Fallo al leer los datos de la imagen" #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "No parece una imagen JPEG" #: src/error.cpp:72 msgid "%1: Failed to map file for reading and writing: %2" msgstr "%1: Fallo al asignar el archivo para lectura y escritura: %2" #: src/error.cpp:73 msgid "%1: Failed to rename file to %2: %3" msgstr "%1: Fallo al renombrar el archivo a %2: %3" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "%1: Transferencia fallida: %2" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "Fallo en la transferencia de memoria: %1" #: src/error.cpp:76 msgid "Failed to read input data" msgstr "Fallo al leer los datos de entrada" #: src/error.cpp:77 msgid "Failed to write image" msgstr "Fallo al escribir la imagen" #: src/error.cpp:78 msgid "Input data does not contain a valid image" msgstr "Los datos de entrada no contienen una imagen válida" #: src/error.cpp:79 msgid "Invalid ifdId %1" msgstr "ifdId %1 inválido" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" "Entry::setValue: Valor demasiado grande (etiqueta=%1, tamaño=%2, solicitado=" "%3)" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" "Entry::setDataArea: Valor demasiado grande (etiqueta=%1, tamaño=%2, " "solicitado=%3)" #: src/error.cpp:82 msgid "Offset out of range" msgstr "Posición fuera de rango" #: src/error.cpp:83 msgid "Unsupported data area offset type" msgstr "Tipo de datos de compensación de área no soportado" #: src/error.cpp:84 msgid "Invalid charset: `%1'" msgstr "Juego de caracteres no válido «%1»" #: src/error.cpp:85 msgid "Unsupported date format" msgstr "No se admite el formato de la fecha" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "No se admite el formato de la hora" #: src/error.cpp:87 msgid "Writing to %1 images is not supported" msgstr "Escribir a %1 imágenes no está permitido" #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "Configurar %1 en imágenes %2 no está permitido" #: src/error.cpp:89 msgid "This does not look like a CRW image" msgstr "No parece una imagen CRW" #: src/error.cpp:90 msgid "%1: Not supported" msgstr "%1: No pemitido" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "" "No hay información del nombre de espacio disponible para el prefijo XMP «%1»" #: src/error.cpp:92 msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "" "Sin prefijo registrado para el nombre de espacio «%2», necesario para la " "propiedad ruta «%1»" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "El tamaño del segmento JPEG %1 es mayor de 65535 bytes" #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "Xmpdatum %1 no manejado para el tipo %2" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "nodo XMP %1 n o manejado con opc=%2" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "Error %1 de las herramientas XMP: %2" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "Fallo al decodificar Lang Alt propiedad %1 con opt=%2" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "Fallo al decodificar calificador Lang Alt %1 con opt=%2" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "Fallo al codificar propiedad Lang Alt %1" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "" "Fallo al determinar nombre de propiedad desde ruta %1, nombre de espacio %2" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "" "Esquema de nombre de espacio %1 no registrado con el kit de herramientas XMP" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "Nombre de espacio no registrado para prefijo «%1»" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" "Los alias no están permitidos. Por favor envíe este paquete XMP a " "ahuggel@gmx.net «%1», «%2», «%3»" #: src/error.cpp:104 msgid "Invalid XmpText type `%1'" msgstr "Tipo XmpText «%1» inválido" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "Directorio TIFF %1 tiene demasiadas entradas" #: src/error.cpp:106 msgid "Multiple TIFF array element tags %1 in one directory" msgstr "Múltiples etiquetas de elementos de orden TIFF %1 en un directorio" #: src/error.cpp:107 msgid "TIFF array element tag %1 has wrong type" msgstr "Tipo equivocado para etiqueta de elemento de orden TIFF %1" #: src/error.cpp:108 msgid "%1 has invalid XMP value type `%2'" msgstr "%1 tiene un tipo de valor XMP «%2» inválido" #: src/exiv2.cpp:213 msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" "Este programa es software libre; puede redistribuirlo y/o\n" "modificarlo bajo los términos de la licencia pública general GNU\n" "publicada por la Free Software Foundatiojn; en la versión 2\n" "de la licencia, o (a su elección) en cualquier versión posterior.\n" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" "Este programa se distribuye con la esperanza de que sea útil,\n" "pero SIN NINGUNA GARANTÍA; ni siquiera la garantía implícita de\n" "COMERCIABILIDAD o IDONEIDAD PARA UN FIN DETERMINADO. Véase la\n" "Licencia Pública General de GNU para obtener más detalles.\n" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" "Debe haber recibido una copia de la licencia pública\n" "general GNU con este progra,a; en caso contrario, escriba\n" "a la Free Software Foundation, Inc Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "Uso:" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" "[ opciones ] [ acción ] archivo ...\n" "\n" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "manipular los metadatos Exif de las imágenes.\n" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" "\n" "Acciones:\n" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" " ad | adjust Ajusta las marcas de tiempo Exif por el nombre dado. Esta " "acción\n" " requiere al menos una de las opciones -a, -Y, -O o -D\n" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr " pr | print Imprime los metadatos de la imagen.\n" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr " rm | delete Borra los metadatos de la imagen de los archivos.\n" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" " in | insert Inserta metadatos desde los correpsondientes archivos *." "exv.\n" " Use la opción -S para cambiar el sufijo de los archivos de " "entrada.\n" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" " ex | extract Extrae metadatos a *.exv, *xmp y archivos de imágenes en " "miniatura\n" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" " mv | rename Renombra los archivos o ajusta las fechas de acuerdo a\n" " la fecha de creación del Exif. El formato del nombre del " "archivo puede ajustarse con\n" " -r formato, las opciones de la fecha son controladas con -t " "y -T.\n" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" " mo | modify Aplica a órdenes para modificar (añadir, establecer, borrar) " "el Exif y\n" " metadatos IPTC de archivos de imágenes o establecer el " "comentario JPEG.\n" " Requiere la opción -c, -m o -M.\n" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" " fi | fixiso Copia ajuste del ISO de la marca Nikon a la etiqueta\n" " Exif regular.\n" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" #: src/exiv2.cpp:262 msgid "" "\n" "Options:\n" msgstr "" "\n" "Opciones:\n" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr " -h Muestra esta ayuda y sale.\n" #: src/exiv2.cpp:264 msgid " -V Show the program version and exit.\n" msgstr " -V Muestra la versión del programa y sale.\n" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr " -v Verbosidad mientras corre el programa.\n" #: src/exiv2.cpp:266 msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr "" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" " -Q lvl Configurar nivel-registro para d(ebug), i(nfo), w(arning), e" "(rror) or m(ute).\n" #: src/exiv2.cpp:268 msgid " -b Show large binary values.\n" msgstr " -b Muestra los grandes valores binarios.\n" #: src/exiv2.cpp:269 msgid " -u Show unknown tags.\n" msgstr " -u Muestra etiquetas desconocidas.\n" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr " -g clave Solo información de salida para esta clave (grep).\n" #: src/exiv2.cpp:271 msgid " -K key Only output info for this key (exact match).\n" msgstr "" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr " -k Preserva el sello de tiempo del archivo (mantiene).\n" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" " -t También ajusta la fecha del archivo en la acción " "'renombrar' (reemplaza -k)\n" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" " -T Solo ajusta la fecha del archivo en la acción 'renombrar', no lo " "renombra\n" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr "" " -f No muestra antes de sobreescribir archivos existentes (forzar).\n" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr " -F No muestra antes de renombrar archivos (Forzar).\n" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" " -a hora Ajusta la hora en el formato [-]HH[:MM[:SS]]. Esta opción\n" " solo se utiliza con la acción 'adjust'.\n" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr " -Y yrs Ajuste del año con la acción 'adjust'\n" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr " -O mon Ajuste del mes con la acción 'adjust'\n" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr " -D day Ajuste del día con la acción 'adjust'\n" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr "" " -p mode Modo de impresión para la acción 'print'. Los modos posibles " "son:\n" #: src/exiv2.cpp:285 msgid " s : print a summary of the Exif metadata (the default)\n" msgstr "" " s : imprime un sumario de los metadatos Exif (predeterminado)\n" #: src/exiv2.cpp:286 msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr "" " a : imprimir Exif, IPTC y XMP metadata (atajo para -Pkyct)\n" #: src/exiv2.cpp:287 msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr " t : datos Exif (-PEkyct) interpretados (traducidos)\n" #: src/exiv2.cpp:288 msgid " v : plain Exif data values (-PExgnycv)\n" msgstr " v : valores de datos Exif sin formato (-PExgnycv)\n" #: src/exiv2.cpp:289 msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr " h : volcado hexadecimal de los datos Exif (-PExgnycsh)\n" #: src/exiv2.cpp:290 msgid " i : IPTC data values (-PIkyct)\n" msgstr " i : valores de datos IPTC (-PIkyct)\n" #: src/exiv2.cpp:291 msgid " x : XMP properties (-PXkyct)\n" msgstr " x : propiedades XMP (-PXkyct)\n" #: src/exiv2.cpp:292 src/exiv2.cpp:317 msgid " c : JPEG comment\n" msgstr " c: Comentario JPEG\n" #: src/exiv2.cpp:293 msgid " p : list available previews\n" msgstr " p : listar previsualizaciones disponibles\n" #: src/exiv2.cpp:294 msgid " S : print structure of image\n" msgstr "" #: src/exiv2.cpp:295 msgid " X : extract XMP from image\n" msgstr "" #: src/exiv2.cpp:296 msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" " -P flgs Imprime banderas para un control preciso de las listas de " "etiquetas (acción «imprimir»):\n" #: src/exiv2.cpp:297 msgid " E : include Exif tags in the list\n" msgstr " E : incluye etiquetas Exif en la lista\n" #: src/exiv2.cpp:298 msgid " I : IPTC datasets\n" msgstr " I : conjunto de datos IPTC\n" #: src/exiv2.cpp:299 msgid " X : XMP properties\n" msgstr " X : propirdades XMP\n" #: src/exiv2.cpp:300 msgid " x : print a column with the tag number\n" msgstr " x : imprime una columna con el número de etiqueta\n" #: src/exiv2.cpp:301 msgid " g : group name\n" msgstr " g : nombre de grupo\n" #: src/exiv2.cpp:302 msgid " k : key\n" msgstr " k : clave\n" #: src/exiv2.cpp:303 msgid " l : tag label\n" msgstr " l : tag etiqueta\n" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr " n : nombre de etiqueta\n" #: src/exiv2.cpp:305 msgid " y : type\n" msgstr " y : tipo\n" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr " c : número de componentes (cuenta)\n" #: src/exiv2.cpp:307 msgid " s : size in bytes\n" msgstr " s : tamaño en bytes\n" #: src/exiv2.cpp:308 msgid " v : plain data value\n" msgstr " v: valor de datos planos\n" #: src/exiv2.cpp:309 msgid " t : interpreted (translated) data\n" msgstr " t : datos interpretados (traducidos)\n" #: src/exiv2.cpp:310 msgid " h : hexdump of the data\n" msgstr " h : volcado hexadecimal de los datos\n" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr "" " -d tgt Elimina objetivo(s) para la acción 'eliminar'. Objetivos " "posibles:\n" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr " a : todos los metadatos soportados (predeterminado)\n" #: src/exiv2.cpp:313 msgid " e : Exif section\n" msgstr " e : sección Exif\n" #: src/exiv2.cpp:314 msgid " t : Exif thumbnail only\n" msgstr " t : Solo miniatura Exif\n" #: src/exiv2.cpp:315 msgid " i : IPTC data\n" msgstr " i: Datos IPTC\n" #: src/exiv2.cpp:316 msgid " x : XMP packet\n" msgstr " x : paquete XMP\n" #: src/exiv2.cpp:318 msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" " -i tgt Inserta objetivo(s) para la acción «insertar». Los objetivos " "posibles son\n" " los mismos que para la opción -d, más un modificador :\n" " X: Inserta los metadatos desde un archivo XMP .xmp\n" " Solo pueden insertarse miniaturas de tipo JPEG, deben nombrarse " "como\n" " -thumb.jpg\n" #: src/exiv2.cpp:323 msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" " -e tgt Extrae objetivo(s) para la acción «extraer». Los objetivos " "posibles\n" " son los mismos que para la opción -d, más un objetivo a extraer\n" " imágenes de previsualización y un modificador para generar un " "archivo XMP\n" " p[[,...]] : Extrae previsualización de imagen.\n" " X: Extrae los metadatos a un archivo XMP .xmp\n" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" " -r fmt Formato de nombre archivo para la acción «rename». El formato de " "la cadena\n" " corresponde a strftime(3). Las siguientes palabras clave están " "permitidas:\n" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr " :basename: - nombre de archivo original sin extensión\n" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr "" " :dirname: - nombre del directorio que mantiene el archivo " "original\n" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr " :parentname: - nombre del directorio padre\n" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr " El formato del nombre de archivo predeterminado es " #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr " -c comentario Comentario para colocar en la imagen JPEG\n" #: src/exiv2.cpp:336 msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" " -m archivo Archivo que contiene órdenes para la acción 'modificar'. El " "formato de las órdenes es.\n" " set|add|del [[] ].\n" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" " -M cmd Línea de ordenes para la acción de modificar. El formato de\n" " las órdenes es el mismo que el de la líneas del archivo de " "órdenes.\n" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" " -l directorio Lugar del directorio que contiene los archivos a ser " "insertados o extraídos.\n" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" " -S .suf Usa el sufijo .suf para archivos fuentes en la orden insertar.\n" "\n" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 msgid "Option" msgstr "Opcion" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "requiere un argumento\n" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "Opción no reconocida" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "getopt retorno un código de caracter inesperado" #: src/exiv2.cpp:410 msgid "Invalid argument" msgstr "Argumento no válido" #: src/exiv2.cpp:434 msgid "Invalid regexp" msgstr "regex no válida" #: src/exiv2.cpp:473 src/exiv2.cpp:526 msgid "Ignoring surplus option" msgstr "Ignorando opción surplus" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "no es compatible con la opción previa\n" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "Ignorando opción sobrante -a" #: src/exiv2.cpp:504 msgid "Error parsing -a option argument" msgstr "Error al analizar el argumento de la opción -a" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "La opción -a no es compatible con la opción previa\n" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "Error de análisis" #: src/exiv2.cpp:535 msgid "option argument" msgstr "argumento de opción" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "Modo de impresión desconocidoLa" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "Ignorando la opción sobrante -p" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "La opción -p no es compatible con la opción previa\n" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "Elemento de impresión deconocido" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "Ignorando la opción sobrante -P" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "La opción -P no es compatible con la opción previa\n" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "La opción -d no es compatible con la opción previa\n" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "La opción -e no es compatible con la opción previa\n" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "La opción -i no es compatible con la opción previa\n" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "La acción de ajuste no es compatible con las opciones dadas\n" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "La acción de impresión no es compatible con las opciones dadas\n" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "La acción de borrado no es compatible con las opciones dadas\n" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "La acción de extracción no es compatible con las opciones dadas\n" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "La acción de inserción no es compatible con las opciones dadas\n" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "La acción de renombrado no es compatible con las opciones dadas\n" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "La acción de modificación no es compatible con las opciones dadas\n" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "La acción fixiso no es compatible con las opciones dadas\n" #: src/exiv2.cpp:824 msgid "Action fixcom is not compatible with the given options\n" msgstr "La acción fixcom no es compatible con las opciones dadas\n" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "Se debe especificar una acción\n" #: src/exiv2.cpp:904 msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "El ajuste de la acción requiere al menos una opción -a, -Y, -O o -D\n" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "La acción de modificar requiere al menos una opción -c, -m o -M\n" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "Se requiere un archivo al menos\n" #: src/exiv2.cpp:920 msgid "Error parsing -m option arguments\n" msgstr "Error al analizar los argumentos de la opción -m\n" #: src/exiv2.cpp:927 msgid "Error parsing -M option arguments\n" msgstr "Error al analizar los argumentos de la opción -M\n" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "" "la opción -l solo puede ser usada con acciones de extracción o inserción\n" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "La opción -S solo puede ser usada con la acción de inserción\n" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "la opción -t solo puede ser usada con la acción de renombrado\n" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "La opción -T solo puede usarse con la acción de renombrado\n" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "Desconocido " #: src/exiv2.cpp:1039 msgid "target" msgstr "objetivo" #: src/exiv2.cpp:1065 msgid "Invalid preview number" msgstr "Número de vista previa inválido" #: src/exiv2.cpp:1097 msgid "Failed to open command file for reading\n" msgstr "Fallo al abrir el archivo de órdenes para lectura\n" #: src/exiv2.cpp:1110 msgid "line" msgstr "línea" #: src/exiv2.cpp:1133 msgid "-M option" msgstr "Opción -M" #: src/exiv2.cpp:1180 msgid "Invalid command line:" msgstr "" #: src/exiv2.cpp:1187 msgid "Invalid command" msgstr "Orden inválida" #: src/exiv2.cpp:1219 msgid "Invalid key" msgstr "Clave no válida" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "Línea de orden inválida" #: src/fujimn.cpp:62 msgid "Soft mode 1" msgstr "Modo suave 1" #: src/fujimn.cpp:63 msgid "Soft mode 2" msgstr "Modo suave 2" #: src/fujimn.cpp:65 msgid "Hard mode 1" msgstr "Modo duro 1" #: src/fujimn.cpp:66 msgid "Hard mode 2" msgstr "Modo duro 2" #: src/fujimn.cpp:74 msgid "Fluorescent (daylight)" msgstr "Fluorescente (luz de día)" #: src/fujimn.cpp:75 msgid "Fluorescent (warm white)" msgstr "Fluorescente (blanco cálido)" #: src/fujimn.cpp:76 msgid "Fluorescent (cool white)" msgstr "Fluorescente (blanco frio)" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 msgid "Incandescent" msgstr "Incandescente" #: src/fujimn.cpp:87 src/fujimn.cpp:88 msgid "None (black & white)" msgstr "Ninguno (B/N)" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 msgid "Red-eye reduction" msgstr "Reducción de ojos rojos." #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 msgid "Night scene" msgstr "Escena nocturna" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 msgid "Program AE" msgstr "Programa AE" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "Luz natural" #: src/fujimn.cpp:122 msgid "Anti-blur" msgstr "Anti falta de definición" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 msgid "Sunset" msgstr "Puesta de sol" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 msgid "Museum" msgstr "Museo" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 msgid "Party" msgstr "Fiesta" #: src/fujimn.cpp:126 msgid "Flower" msgstr "Flor" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "Texto" #: src/fujimn.cpp:128 msgid "Natural light & flash" msgstr "Luz natural y flash" #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 msgid "Aperture-priority AE" msgstr "Prioridad de apertura AE" #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 msgid "Shutter speed priority AE" msgstr "Prioridad de velocidad del obturador AE" #: src/fujimn.cpp:142 msgid "No flash & flash" msgstr "Sin flash y flash" #: src/fujimn.cpp:148 msgid "Chrome" msgstr "Cromo" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 msgid "Wide" msgstr "Amplio" #: src/fujimn.cpp:160 msgid "F0/Standard" msgstr "F0/Estándard" #: src/fujimn.cpp:161 msgid "F1/Studio portrait" msgstr "F1/Retrato de estudio" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "F2/Fujichrome" #: src/fujimn.cpp:163 msgid "F3/Studio portrait Ex" msgstr "F3/Retrato de estudio Ex" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "F4/Velvia" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "Auto (100-400%)" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "En bruto" #: src/fujimn.cpp:171 msgid "Standard (100%)" msgstr "Estándar (100%)" #: src/fujimn.cpp:172 msgid "Wide mode 1 (230%)" msgstr "Panorámico 1 (230%)" #: src/fujimn.cpp:173 msgid "Wide mode 2 (400%)" msgstr "Panorámico 2 (400%)" #: src/fujimn.cpp:174 msgid "Film simulation mode" msgstr "Modo de simulación de película" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 msgid "Version" msgstr "Versión" #: src/fujimn.cpp:180 msgid "Fujifilm Makernote version" msgstr "Vversión Fujifilm Makernote" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" "Este número es único, y contiene la fecha de manufactura, pero no es el " "mismo número que el impreso en el cuerpo de la cámara" #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 msgid "Image quality setting" msgstr "Configuración de calidad de imagen" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 msgid "Color" msgstr "Color" #: src/fujimn.cpp:196 msgid "Chroma saturation setting" msgstr "Configuración de saturación de croma" #: src/fujimn.cpp:198 msgid "Tone" msgstr "Tono" #: src/fujimn.cpp:202 msgid "Flash firing mode setting" msgstr "Configuración de modo de disparo del flash" #: src/fujimn.cpp:204 msgid "Flash Strength" msgstr "Fuerza del flash" #: src/fujimn.cpp:205 msgid "Flash firing strength compensation setting" msgstr "Configuración de la compensación de potencia de disparo del flash" #: src/fujimn.cpp:208 msgid "Macro mode setting" msgstr "Ajuste de modo de macro" #: src/fujimn.cpp:211 msgid "Focusing mode setting" msgstr "Configuración de modo de enfoque" #: src/fujimn.cpp:216 msgid "Slow Sync" msgstr "Sincronización lenta" #: src/fujimn.cpp:217 msgid "Slow synchro mode setting" msgstr "Configuración del modo de sincronización lento" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 msgid "Picture Mode" msgstr "Modo de imagen" #: src/fujimn.cpp:220 msgid "Picture mode setting" msgstr "Configuración del modo de imagen" #: src/fujimn.cpp:226 msgid "Continuous shooting or auto bracketing setting" msgstr "Disparo continuo o configuracion disparo multiple" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 msgid "Sequence Number" msgstr "Número de secuencia" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 msgid "Sequence number" msgstr "Número de secuencia" #: src/fujimn.cpp:234 msgid "FinePix Color" msgstr "Color FinePix" #: src/fujimn.cpp:235 msgid "Fuji FinePix color setting" msgstr "Ajuste de color Fuji FinePix" #: src/fujimn.cpp:237 msgid "Blur Warning" msgstr "Aviso de falta de definición" #: src/fujimn.cpp:238 msgid "Blur warning status" msgstr "Estado de aviso de desenfoque" #: src/fujimn.cpp:240 msgid "Focus Warning" msgstr "Aviso de foco" #: src/fujimn.cpp:241 msgid "Auto Focus warning status" msgstr "Estatus de aviso de enfoque automático" #: src/fujimn.cpp:243 msgid "Exposure Warning" msgstr "Aviso de exposición" #: src/fujimn.cpp:244 msgid "Auto exposure warning status" msgstr "Estaus de aviso de exposición automática" #: src/fujimn.cpp:246 msgid "Dynamic Range" msgstr "Rango dinámico" #: src/fujimn.cpp:247 msgid "Dynamic range" msgstr "Rango dinámico" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 msgid "Film Mode" msgstr "Modo de película" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 msgid "Film mode" msgstr "Modo de película" #: src/fujimn.cpp:252 msgid "Dynamic Range Setting" msgstr "Configuración de rango dinámico" #: src/fujimn.cpp:253 msgid "Dynamic range settings" msgstr "Configuración de rango dinámico" #: src/fujimn.cpp:255 msgid "Development Dynamic Range" msgstr "Rango dinámico de desarrollo" #: src/fujimn.cpp:256 msgid "Development dynamic range" msgstr "Rango dinámico de desarrollo" #: src/fujimn.cpp:258 msgid "Minimum Focal Length" msgstr "Distancia focal mínima" #: src/fujimn.cpp:259 msgid "Minimum focal length" msgstr "Distancia focal mínima" #: src/fujimn.cpp:261 msgid "Maximum Focal Length" msgstr "Distancia focal máxima" #: src/fujimn.cpp:262 msgid "Maximum focal length" msgstr "Distancia focal máxima" #: src/fujimn.cpp:264 #, fuzzy msgid "Maximum Aperture at Minimum Focal" msgstr "Apertura máxima con el mínimo focal" #: src/fujimn.cpp:265 #, fuzzy msgid "Maximum aperture at minimum focal" msgstr "Apertura máxima con el mínimo focal" #: src/fujimn.cpp:267 #, fuzzy msgid "Maximum Aperture at Maximum Focal" msgstr "Apertura máxima con el máximo focal" #: src/fujimn.cpp:268 #, fuzzy msgid "Maximum aperture at maximum focal" msgstr "Apertura máxima con el máximo focal" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 msgid "File Source" msgstr "Fuente de archivo" #: src/fujimn.cpp:271 msgid "File source" msgstr "Fuente de archivo" #: src/fujimn.cpp:273 msgid "Order Number" msgstr "Número de pedido" #: src/fujimn.cpp:274 msgid "Order number" msgstr "Número de pedido" #: src/fujimn.cpp:276 msgid "Frame Number" msgstr "Número de fotograma" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 msgid "Frame number" msgstr "Número de fotograma" #: src/fujimn.cpp:281 msgid "Unknown FujiMakerNote tag" msgstr "Etiqueta FujiMakerNote desconocida" #: src/minoltamn.cpp:56 msgid "Natural Color" msgstr "Color natural" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 msgid "Vivid Color" msgstr "Color vívido" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 msgid "Solarization" msgstr "Solarización" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "AdobeRGB" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 msgid "Natural" msgstr "Natural" #: src/minoltamn.cpp:64 msgid "Natural sRGB" msgstr "sRGB natural" #: src/minoltamn.cpp:65 msgid "Natural+ sRGB" msgstr "Natural + sRGB" #: src/minoltamn.cpp:67 msgid "Evening" msgstr "Anochecer" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 msgid "Night Portrait" msgstr "Retrato nocturno" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 msgid "Super Fine" msgstr "Superfino" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 msgid "Extra Fine" msgstr "Extrafino" #: src/minoltamn.cpp:90 msgid "Makernote Version" msgstr "Versión de la nota del fabricante" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "Secuencia 'MLT0' (sin terminacion nula)" #: src/minoltamn.cpp:93 msgid "Camera Settings (Std Old)" msgstr "Configuración de cámara (Est.ant)" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "" "Configuración estándar de cámara (Antiguos modelos de cámara como D5, D7, " "S304 y S404)" #: src/minoltamn.cpp:96 msgid "Camera Settings (Std New)" msgstr "Configuración de cámara (Nuevo Est.)" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "" "Configuración estándar de cámara (Modelos nuevos de cámara como D7u, D7i y " "D7hi)" #: src/minoltamn.cpp:99 msgid "Camera Settings (7D)" msgstr "Configuración de cámara (7D)" #: src/minoltamn.cpp:100 msgid "Camera Settings (for Dynax 7D model)" msgstr "Configuración de cámara (para modelo Dynax 7D)" #: src/minoltamn.cpp:102 msgid "Image Stabilization Data" msgstr "Datos de estabilización de imagen" #: src/minoltamn.cpp:103 msgid "Image stabilization data" msgstr "Datos de estabilización de imagen" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "" #: src/minoltamn.cpp:111 msgid "Compressed Image Size" msgstr "Tamaño de imagen comprimida" #: src/minoltamn.cpp:112 msgid "Compressed image size" msgstr "Tamaño de imagen comprimida" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "miniatura Jpeg 640x480 pixeles" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 msgid "Thumbnail Offset" msgstr "Posición de la miniatura" #: src/minoltamn.cpp:118 msgid "Offset of the thumbnail" msgstr "Posición de la miniatura" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 msgid "Thumbnail Length" msgstr "Longitud de la miniatura" #: src/minoltamn.cpp:121 msgid "Size of the thumbnail" msgstr "Tamaño de la miniatura" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 msgid "Scene Mode" msgstr "Modo de escena" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 msgid "Color Mode" msgstr "Modo de color" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 msgid "Color mode" msgstr "Modo de color" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 msgid "Image Quality" msgstr "Calidad de imagen" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 msgid "Flash Exposure Compensation" msgstr "Compensación de la exposición al flash" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 msgid "Flash exposure compensation in EV" msgstr "Compensación de la exposición al flash en EV" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 msgid "Teleconverter Model" msgstr "Modelo de teleconvertidor" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "Grabación RAW+JPG" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "Grabación de archivos RAW y JPG" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 msgid "Zone Matching" msgstr "Zona coincidente" #: src/minoltamn.cpp:154 msgid "Zone matching" msgstr "Zona coincidente" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 msgid "Color temperature" msgstr "Temperatura de color" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 msgid "Lens ID" msgstr "ID de la lente" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 msgid "Lens identifier" msgstr "Identificador de lentes" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 msgid "Color Compensation Filter" msgstr "Filtro de compensación de color" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "" "Filtro de compensación del color: el verde es negativo, el magenta es " "positivo" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 msgid "White Balance Fine Tune" msgstr "Ajuste detallado de equilibrio de blancos" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 msgid "White Balance Fine Tune Value" msgstr "Valor de ajuste detallado de equilibrio de blancos" #: src/minoltamn.cpp:168 msgid "Image Stabilization A100" msgstr "" #: src/minoltamn.cpp:169 msgid "Image Stabilization for the Sony DSLR-A100" msgstr "" #: src/minoltamn.cpp:173 msgid "Camera Settings (5D)" msgstr "Configuración de cámara (5D)" #: src/minoltamn.cpp:174 msgid "Camera Settings (for Dynax 5D model)" msgstr "Configuración de cámara (para modelo Dynax 5D)" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "Impresión de mensajería instantánea" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 msgid "PrintIM information" msgstr "Información PrintIM" #: src/minoltamn.cpp:183 msgid "Camera Settings (Z1)" msgstr "Configuración de cámara (Z1)" #: src/minoltamn.cpp:184 msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "Configuración de cámara (para modelos Z1, DImage X y F100)" #: src/minoltamn.cpp:188 msgid "Unknown Minolta MakerNote tag" msgstr "Etiqueta Minolta MakerNote desconocida" #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 msgid "Aperture priority" msgstr "Prioridad de apertura" #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "Prioridad del obturador" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 msgid "Fill flash" msgstr "Flash de relleno" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 msgid "Rear flash sync" msgstr "Sincronización de flash trasero" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 msgid "Wireless" msgstr "Inalámbrico" #: src/minoltamn.cpp:224 msgid "Fluorescent 2" msgstr "Fluorescente 2" #: src/minoltamn.cpp:231 msgid "Full size" msgstr "Tamaño completo" #: src/minoltamn.cpp:243 msgid "Super fine" msgstr "Super fino" #: src/minoltamn.cpp:247 msgid "Extra fine" msgstr "Extra fino" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 msgid "Single Frame" msgstr "Cuadro único" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 msgid "Self-timer" msgstr "Temporizador" #: src/minoltamn.cpp:255 msgid "Bracketing" msgstr "Multiexposición (Bracketing)" #: src/minoltamn.cpp:256 msgid "Interval" msgstr "Intervalo" #: src/minoltamn.cpp:257 msgid "UHS continuous" msgstr "UHS continuo" #: src/minoltamn.cpp:258 msgid "HS continuous" msgstr "HS continuo" #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 msgid "Multi-segment" msgstr "Multisegmento" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 msgid "Center weighted average" msgstr "Media ponderada centrada" #: src/minoltamn.cpp:271 msgid "Electronic magnification" msgstr "Magnificación electrónica" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 msgid "Top" msgstr "Al principio" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 msgid "Top-right" msgstr "Arriba - derecha" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 msgid "Bottom-right" msgstr "Abajo - derecha" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 msgid "Bottom" msgstr "Al final" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 msgid "Bottom-left" msgstr "Abajo - izquierda" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 msgid "Top-left" msgstr "Arriba - izquierda" #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 msgid "Hard" msgstr "Duro" #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 msgid "Soft" msgstr "Suave" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 msgid "Night portrait" msgstr "Retrato nocturno" #: src/minoltamn.cpp:315 msgid "Sports action" msgstr "Acción deportiva" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "Tiempo transcurrido de la película" #: src/minoltamn.cpp:349 msgid "Standard form" msgstr "Formulario estándar" #: src/minoltamn.cpp:350 msgid "Data form" msgstr "Formulario de datos" #: src/minoltamn.cpp:355 msgid "Natural color" msgstr "Color natural" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 msgid "Black and white" msgstr "Blanco y negro" #: src/minoltamn.cpp:357 msgid "Vivid color" msgstr "Color vívido" #: src/minoltamn.cpp:364 msgid "No zone" msgstr "Sin zona" #: src/minoltamn.cpp:365 msgid "Center zone (horizontal orientation)" msgstr "Zona central (orientación horizontal)" #: src/minoltamn.cpp:366 msgid "Center zone (vertical orientation)" msgstr "Zona central (orientación vertical)" #: src/minoltamn.cpp:367 msgid "Left zone" msgstr "Zona izquierda" #: src/minoltamn.cpp:368 msgid "Right zone" msgstr "Zona derecha" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 msgid "Auto focus" msgstr "Enfoque automático" #: src/minoltamn.cpp:379 msgid "Wide focus (normal)" msgstr "Enfoque amplio (normal)" #: src/minoltamn.cpp:380 msgid "Spot focus" msgstr "Enfoque puntual" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 msgid "Exposure" msgstr "Exposición" #: src/minoltamn.cpp:388 msgid "Filter" msgstr "Filtro" #: src/minoltamn.cpp:393 msgid "Not embedded" msgstr "No incrustado" #: src/minoltamn.cpp:394 msgid "Embedded" msgstr "Incrustado" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "Texto + ID#" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "ADI (Integración avanzada de distancia)" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "Pre-flash TTl" #: src/minoltamn.cpp:410 msgid "Manual flash control" msgstr "Control de flash manual" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 msgid "Exposure Mode" msgstr "Modo de exposición" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 msgid "Flash mode" msgstr "Modo flash" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 msgid "Drive mode" msgstr "Modo de controlador" #: src/minoltamn.cpp:512 msgid "ISO Value" msgstr "Valor ISO" #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 msgid "Exposure Time" msgstr "Tiempo de exposición" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 msgid "FNumber" msgstr "Número F" #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 msgid "The F-Number" msgstr "El número F." #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 msgid "Macro Mode" msgstr "Modo de macro" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 msgid "Exposure Compensation" msgstr "Compensación de la exposición" #: src/minoltamn.cpp:529 msgid "Bracket Step" msgstr "Paso de ráfaga" #: src/minoltamn.cpp:530 msgid "Bracket step" msgstr "Paso de ráfaga" #: src/minoltamn.cpp:532 msgid "Interval Length" msgstr "Tamaño del intervalo" #: src/minoltamn.cpp:533 msgid "Interval length" msgstr "Tamaño del intervalo" #: src/minoltamn.cpp:535 msgid "Interval Number" msgstr "Número de intervalo" #: src/minoltamn.cpp:536 msgid "Interval number" msgstr "Número de intervalo" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 msgid "Focus Distance" msgstr "Distancia de enfoque" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 msgid "Focus distance" msgstr "Distancia de enfoque" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 msgid "Flash Fired" msgstr "Con flash" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 msgid "Flash fired" msgstr "Flash disparado" #: src/minoltamn.cpp:547 msgid "Minolta Date" msgstr "Fecha Minolta" #: src/minoltamn.cpp:548 msgid "Minolta date" msgstr "Fecha Minolta" #: src/minoltamn.cpp:550 msgid "Minolta Time" msgstr "Hora Minolta" #: src/minoltamn.cpp:551 msgid "Minolta time" msgstr "Hora Minolta" #: src/minoltamn.cpp:556 msgid "File Number Memory" msgstr "Memoria de número de archivo" #: src/minoltamn.cpp:557 msgid "File number memory" msgstr "Memoria de número de archivo" #: src/minoltamn.cpp:559 msgid "Last Image Number" msgstr "Número de la última imagen" #: src/minoltamn.cpp:560 msgid "Last image number" msgstr "Número de la última imagen" #: src/minoltamn.cpp:562 msgid "Color Balance Red" msgstr "Balance de colo rojo" #: src/minoltamn.cpp:563 msgid "Color balance red" msgstr "Balance de colo rojo" #: src/minoltamn.cpp:565 msgid "Color Balance Green" msgstr "Balance de colo verde" #: src/minoltamn.cpp:566 msgid "Color balance green" msgstr "Balance de colo verde" #: src/minoltamn.cpp:568 msgid "Color Balance Blue" msgstr "Balance de colo azul" #: src/minoltamn.cpp:569 msgid "Color balance blue" msgstr "Balance de colo azul" #: src/minoltamn.cpp:580 msgid "Subject Program" msgstr "Tema del programa" #: src/minoltamn.cpp:581 msgid "Subject program" msgstr "Tema del programa" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 msgid "ISO Settings" msgstr "Configuración ISO" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 msgid "ISO setting" msgstr "Configuración ISO" #: src/minoltamn.cpp:589 msgid "Minolta Model" msgstr "Modelo Minolta" #: src/minoltamn.cpp:590 msgid "Minolta model" msgstr "Modelo Minolta" #: src/minoltamn.cpp:592 msgid "Interval Mode" msgstr "Modo de intervalo" #: src/minoltamn.cpp:593 msgid "Interval mode" msgstr "Modo de intervalo" #: src/minoltamn.cpp:595 msgid "Folder Name" msgstr "Nombre de la carpeta" #: src/minoltamn.cpp:596 msgid "Folder name" msgstr "Nombre de carpeta" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 msgid "ColorMode" msgstr "Modo de color" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 msgid "Color Filter" msgstr "Filtro de color" #: src/minoltamn.cpp:602 msgid "Color filter" msgstr "Filtro de color" #: src/minoltamn.cpp:604 msgid "Black and White Filter" msgstr "Filtro de blanco y negro" #: src/minoltamn.cpp:605 msgid "Black and white filter" msgstr "Filtro de blanco y negro" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 msgid "Internal Flash" msgstr "Flash interno" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 msgid "Brightness" msgstr "Brillo" #: src/minoltamn.cpp:613 msgid "Spot Focus Point X" msgstr "Punto X de enfoque puntual" #: src/minoltamn.cpp:614 msgid "Spot focus point X" msgstr "Punto X de enfoque puntual" #: src/minoltamn.cpp:616 msgid "Spot Focus Point Y" msgstr "Punto de enfoque Y" #: src/minoltamn.cpp:617 msgid "Spot focus point Y" msgstr "Punto de enfoque Y" #: src/minoltamn.cpp:619 msgid "Wide Focus Zone" msgstr "Zona de foco amplio" #: src/minoltamn.cpp:620 msgid "Wide focus zone" msgstr "Zona de foco amplio" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 msgid "Focus mode" msgstr "Modo de enfoque" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 msgid "Focus area" msgstr "Área de enfoque" #: src/minoltamn.cpp:628 msgid "DEC Switch Position" msgstr "Cambio de posición DEC" #: src/minoltamn.cpp:629 msgid "DEC switch position" msgstr "Cambio de posición DEC" #: src/minoltamn.cpp:631 msgid "Color Profile" msgstr "Perfil de color" #: src/minoltamn.cpp:632 msgid "Color profile" msgstr "Perfil de color" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 msgid "Data Imprint" msgstr "Impresión de datos" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 msgid "Flash Metering" msgstr "Medición del flash" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 msgid "Flash metering" msgstr "Medición del flash" #: src/minoltamn.cpp:642 msgid "Unknown Minolta Camera Settings tag" msgstr "Etiqueta de configuración de cámara Minolta desconocida" #: src/minoltamn.cpp:660 msgid "Program-shift A" msgstr "Programa-desplazamiento A" #: src/minoltamn.cpp:661 msgid "Program-shift S" msgstr "Programa-desplazamiento S" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 msgid "Raw+Jpeg" msgstr "Raw+Jpeg" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 msgid "Kelvin" msgstr "Kelvin" #: src/minoltamn.cpp:695 msgid "Single-shot AF" msgstr "AF un disparo" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 msgid "Continuous AF" msgstr "AF continuo" #: src/minoltamn.cpp:698 msgid "Automatic AF" msgstr "AF automático" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 msgid "sRGB (Natural)" msgstr "sRGB (Natural)" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 msgid "sRGB (Natural+)" msgstr "sRGB (Natural+)" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 msgid "Horizontal (normal)" msgstr "Horizontal (normal)" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "Rotar 90 SH" #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "Rotar 270 SH" #: src/minoltamn.cpp:756 msgid "AF Points" msgstr "Puntos AF" #: src/minoltamn.cpp:757 msgid "AF points" msgstr "Puntos AF" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 msgid "Color Space" msgstr "Espacio de color" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 msgid "Color space" msgstr "Espacio de color" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 msgid "Free Memory Card Images" msgstr "Eliminar las imágenes de la tarjeta de memoria" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 msgid "Free memory card images" msgstr "Eliminar las imágenes de la tarjeta de memoria" #: src/minoltamn.cpp:789 msgid "Hue" msgstr "Tonalidad" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 msgid "Rotation" msgstr "Rotación" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 msgid "Image Number" msgstr "Número de imagen" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 msgid "Noise reduction" msgstr "Reducción de ruido" #: src/minoltamn.cpp:817 msgid "Zone Matching On" msgstr "Coincidencia de zonas activada" #: src/minoltamn.cpp:818 msgid "Zone matching on" msgstr "Coincidencia de zonas activada" #: src/minoltamn.cpp:822 msgid "Unknown Minolta Camera Settings 7D tag" msgstr "Configuración de camara Minolta desconocida en etiqueta 7D" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 msgid "Program Shift A" msgstr "Cambio de programa A" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 msgid "Program Shift S" msgstr "Cambio de programa S" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 msgid "Night View/Portrait" msgstr "" #: src/minoltamn.cpp:895 msgid "200 (Zone Matching High)" msgstr "200 (Coincidencia de zonas alta)" #: src/minoltamn.cpp:896 msgid "80 (Zone Matching Low)" msgstr "80 (Coincidencia de zonas baja)" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 msgid "Adobe RGB (ICC)" msgstr "" #: src/minoltamn.cpp:918 msgid "Central" msgstr "Central" #: src/minoltamn.cpp:919 msgid "Up" msgstr "Arriba" #: src/minoltamn.cpp:920 msgid "Up right" msgstr "Arriba - derecha" #: src/minoltamn.cpp:922 msgid "Down right" msgstr "Abajo- derecha" #: src/minoltamn.cpp:923 msgid "Down" msgstr "Abajo" #: src/minoltamn.cpp:924 msgid "Down left" msgstr "Abajo- izquierda" #: src/minoltamn.cpp:926 msgid "Up left" msgstr "Arriba - izquierda" #: src/minoltamn.cpp:932 msgid "Selection" msgstr "Selección" #: src/minoltamn.cpp:947 msgid "Natural+" msgstr "" #: src/minoltamn.cpp:949 msgid "Wind Scene" msgstr "" #: src/minoltamn.cpp:950 msgid "Evening Scene" msgstr "" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus Position" msgstr "Posición del foco" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus position" msgstr "Posición del foco" #: src/minoltamn.cpp:1003 msgid "Focus Area" msgstr "Área de enfoque" #: src/minoltamn.cpp:1036 msgid "Exposure Revision" msgstr "Revisión de exposición" #: src/minoltamn.cpp:1037 msgid "Exposure revision" msgstr "Revisión de exposición" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 msgid "Rotation2" msgstr "" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 msgid "Picture Finish" msgstr "" #: src/minoltamn.cpp:1063 msgid "Exposure Manual Bias" msgstr "Ajuste manual de exposición" #: src/minoltamn.cpp:1064 msgid "Exposure manual bias" msgstr "Ajuste manual de exposición" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 msgid "AF Mode" msgstr "Modo AF" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 msgid "AF mode" msgstr "Modo AF" #: src/minoltamn.cpp:1087 msgid "Unknown Minolta Camera Settings 5D tag" msgstr "Configuración de etiqueta desconocida de la cámara 5d Minolta" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 msgid "Self-timer 10 sec" msgstr "Autodispàro (10 seg.)" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 msgid "Self-timer 2 sec" msgstr "Autodisparo (2 seg.)" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 msgid "White Balance Bracketing Low" msgstr "Balance de blancos ráfaga bajo" #: src/minoltamn.cpp:1105 msgid "White Balance Bracketing High" msgstr "Balance de blancos ráfaga alto" #: src/minoltamn.cpp:1106 msgid "Single-frame Bracketing Low" msgstr "Ráfaga de toma única bajo" #: src/minoltamn.cpp:1107 msgid "Continuous Bracketing Low" msgstr "Agrupamiento continuo bajo" #: src/minoltamn.cpp:1108 msgid "Single-frame Bracketing High" msgstr "Ráfaga de fotograma único alta" #: src/minoltamn.cpp:1109 msgid "Continuous Bracketing High" msgstr "Agrupamiento continuo alto" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "Avanzado" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 msgid "Continuous Bracketing" msgstr "Ráfaga continua" #: src/minoltamn.cpp:1156 msgid "Single-Frame Bracketing" msgstr "" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 msgid "White Balance Bracketing" msgstr "" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 msgid "Preset" msgstr "Preestablecer" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 msgid "Color Temperature/Color Filter" msgstr "Temperatura de color/ Filtro de color" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 msgid "Temperature" msgstr "Temperatura" #: src/minoltamn.cpp:1213 msgid "Setup" msgstr "Configuración" #: src/minoltamn.cpp:1214 msgid "Recall" msgstr "" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "Aceptar" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "Error" #: src/minoltamn.cpp:1232 msgid "Image and Information" msgstr "Imagen e información" #: src/minoltamn.cpp:1233 msgid "Image Only" msgstr "Solo imagen" #: src/minoltamn.cpp:1234 msgid "Image and Histogram" msgstr "Imagen e histograma" #: src/minoltamn.cpp:1240 msgid "Fill Flash" msgstr "Flash de relleno" #: src/minoltamn.cpp:1251 msgid "Focus Hold" msgstr "Mantener foco" #: src/minoltamn.cpp:1252 msgid "DOF Preview" msgstr "Vista previa DOF" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "Retener" #: src/minoltamn.cpp:1258 msgid "Toggle" msgstr "Conmutar" #: src/minoltamn.cpp:1259 msgid "Spot Hold" msgstr "Mantener ubicación" #: src/minoltamn.cpp:1260 msgid "Spot Toggle" msgstr "Intercambio de ubicación" #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 msgid "Shutter Speed" msgstr "Velocidad del obturador" #: src/minoltamn.cpp:1271 msgid "Ambient and Flash" msgstr "Ambiente y flash" #: src/minoltamn.cpp:1272 msgid "Ambient Only" msgstr "Solo ambiente" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "0,3 segundos" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "0,6 segundos" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 msgid "Automatic" msgstr "Automático" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 msgid "Auto-rotate" msgstr "Girar automáticamente" #: src/minoltamn.cpp:1291 msgid "Horizontal" msgstr "Horizontal" #: src/minoltamn.cpp:1297 msgid "Manual Rotate" msgstr "Girar manualmente" #: src/minoltamn.cpp:1302 msgid "Within Range" msgstr "Dentro del rango" #: src/minoltamn.cpp:1303 msgid "Under/Over Range" msgstr "" #: src/minoltamn.cpp:1304 msgid "Out of Range" msgstr "Fuera de rango" #: src/minoltamn.cpp:1309 msgid "Not Indicated" msgstr "No indicado" #: src/minoltamn.cpp:1310 msgid "Under Scale" msgstr "Bajo la escala" #: src/minoltamn.cpp:1311 msgid "Bottom of Scale" msgstr "" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "" #: src/minoltamn.cpp:1330 msgid "Over Scale" msgstr "" #: src/minoltamn.cpp:1335 msgid "AM" msgstr "AM" #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "MF" #: src/minoltamn.cpp:1342 msgid "Built-in" msgstr "Integrado" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 msgid "Very Low" msgstr "Muy baja" #: src/minoltamn.cpp:1350 msgid "Half Full" msgstr "" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "Queda suficiente energía" #: src/minoltamn.cpp:1359 msgid "Exposure Compensation Setting" msgstr "Configuración de la compensación de exposición" #: src/minoltamn.cpp:1360 msgid "Exposure compensation setting" msgstr "Configuración de la compensación de exposición" #: src/minoltamn.cpp:1362 msgid "High Speed Sync" msgstr "Sincronización de alta velocidad" #: src/minoltamn.cpp:1363 msgid "High speed sync" msgstr "Sincronización de alta velocidad" #: src/minoltamn.cpp:1365 msgid "Manual Exposure Time" msgstr "Tiempo de exposición manual" #: src/minoltamn.cpp:1366 msgid "Manual exposure time" msgstr "Tiempo de exposición manual" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 msgid "Manual FNumber" msgstr "número F. manual" #: src/minoltamn.cpp:1377 msgid "Drive Mode 2" msgstr "" #: src/minoltamn.cpp:1378 msgid "Drive mode 2" msgstr "" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 msgid "AF Area Mode" msgstr "Modo de área AF" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 msgid "FlashMode" msgstr "ModoFlash" #: src/minoltamn.cpp:1395 msgid "Flash Exposure Comp Setting" msgstr "" #: src/minoltamn.cpp:1396 msgid "Flash exposure compensation setting" msgstr "" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 msgid "ISO Setting" msgstr "Ajuste ISO" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 msgid "Zone Matching Mode" msgstr "" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 msgid "Dynamic Range Optimizer Mode" msgstr "" #: src/minoltamn.cpp:1408 msgid "Dynamic range optimizer mode" msgstr "" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "" #: src/minoltamn.cpp:1434 msgid "Self Timer Time" msgstr "Hora del temporizador" #: src/minoltamn.cpp:1435 msgid "Self timer time" msgstr "Hora del temporizador" #: src/minoltamn.cpp:1438 msgid "Continuous bracketing" msgstr "Ráfaga continua" #: src/minoltamn.cpp:1440 msgid "Single Frame Bracketing" msgstr "" #: src/minoltamn.cpp:1441 msgid "Single frame bracketing" msgstr "Ráfaga de fotograma único" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 msgid "White balance bracketing" msgstr "Balance de blancos de disparo múltiple" #: src/minoltamn.cpp:1446 msgid "White Balance Setting" msgstr "Ajuste del balance de blancos" #: src/minoltamn.cpp:1449 msgid "Preset White Balance" msgstr "Balance de blanco preestablecido" #: src/minoltamn.cpp:1450 msgid "Preset white balance" msgstr "Balance de blanco preestablecido" #: src/minoltamn.cpp:1452 msgid "Color Temperature Setting" msgstr "Configuración de temperatura de color" #: src/minoltamn.cpp:1453 msgid "Color temperature setting" msgstr "Configuración de temperatura de color" #: src/minoltamn.cpp:1455 msgid "Custom WB Setting" msgstr "Configuración de BN personalizada" #: src/minoltamn.cpp:1456 msgid "Custom WB setting" msgstr "Configuración de BN personalizada" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 msgid "Dynamic Range Optimizer Settings" msgstr "" #: src/minoltamn.cpp:1464 msgid "Custom WB Red Level" msgstr "" #: src/minoltamn.cpp:1465 msgid "Custom WB red level" msgstr "" #: src/minoltamn.cpp:1467 msgid "Custom WB Green Level" msgstr "" #: src/minoltamn.cpp:1468 msgid "Custom WB green level" msgstr "" #: src/minoltamn.cpp:1470 msgid "Custom WB Blue Level" msgstr "" #: src/minoltamn.cpp:1471 msgid "CustomWB blue level" msgstr "" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 msgid "Custom WB Error" msgstr "" #: src/minoltamn.cpp:1477 msgid "White balance fine tune" msgstr "" #: src/minoltamn.cpp:1483 msgid "Color compensation filter" msgstr "" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 msgid "Sony Image Size" msgstr "Tamaño de imagen Sony" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "Tiempo de reproducción instantáneo" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "Tiempo de reproducción instantáneo" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "Configuración de reproducción instantánea" #: src/minoltamn.cpp:1500 msgid "Eye Start AF" msgstr "Enfoque automático Eye-Start" #: src/minoltamn.cpp:1501 msgid "Eye start AF" msgstr "AF de comienzo de ojo" #: src/minoltamn.cpp:1503 msgid "Red Eye Reduction" msgstr "Reducción de ojos rojos" #: src/minoltamn.cpp:1504 msgid "Red eye reduction" msgstr "Reducción de ojos rojos" #: src/minoltamn.cpp:1506 msgid "Flash Default" msgstr "Flash predeterminado" #: src/minoltamn.cpp:1507 msgid "Flash default" msgstr "Flash predeterminado" #: src/minoltamn.cpp:1509 msgid "Auto Bracket Order" msgstr "" #: src/minoltamn.cpp:1510 msgid "Auto bracket order" msgstr "" #: src/minoltamn.cpp:1512 msgid "Focus Hold Button" msgstr "" #: src/minoltamn.cpp:1513 msgid "Focus hold button" msgstr "" #: src/minoltamn.cpp:1515 msgid "AEL Button" msgstr "Botón AEL" #: src/minoltamn.cpp:1516 msgid "AEL button" msgstr "Botón AEL" #: src/minoltamn.cpp:1518 msgid "Control Dial Set" msgstr "" #: src/minoltamn.cpp:1519 msgid "Control dial set" msgstr "Establecer el dial de control" #: src/minoltamn.cpp:1521 msgid "Exposure Compensation Mode" msgstr "Modo de compensación de exposición" #: src/minoltamn.cpp:1522 msgid "Exposure compensation mode" msgstr "Modo de compensación de exposición" #: src/minoltamn.cpp:1525 msgid "AF assist" msgstr "Asistente AF" #: src/minoltamn.cpp:1527 msgid "Card Shutter Lock" msgstr "" #: src/minoltamn.cpp:1528 msgid "Card shutter lock" msgstr "" #: src/minoltamn.cpp:1530 msgid "Lens Shutter Lock" msgstr "Bloqueo de disparador de lente" #: src/minoltamn.cpp:1531 msgid "Lens shutter lock" msgstr "Bloqueo de disparador de lente" #: src/minoltamn.cpp:1533 msgid "AF Area Illumination" msgstr "Iluminación del área AF" #: src/minoltamn.cpp:1534 msgid "AF area illumination" msgstr "Iluminación del área AF" #: src/minoltamn.cpp:1536 msgid "Monitor Display Off" msgstr "" #: src/minoltamn.cpp:1537 msgid "Monitor display off" msgstr "" #: src/minoltamn.cpp:1539 msgid "Record Display" msgstr "Mostrar grabación" #: src/minoltamn.cpp:1540 msgid "Record display" msgstr "Mostrar grabación" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "Mostrar reproducción" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "Encender pantalla" #: src/minoltamn.cpp:1545 msgid "Exposure Indicator" msgstr "Indicador de exposición" #: src/minoltamn.cpp:1546 msgid "Exposure indicator" msgstr "Indicador de exposición" #: src/minoltamn.cpp:1548 msgid "AEL Exposure Indicator" msgstr "Indicador de exposición AEL" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "" #: src/minoltamn.cpp:1551 msgid "Exposure Bracketing Indicator Last" msgstr "" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "" "Indicador de medición fuera de escala (dos triángulos intermitentes cuando " "se encuentre por debajo o por encima de la escala de medición)" #: src/minoltamn.cpp:1557 msgid "Flash Exposure Indicator" msgstr "Indicador de exposición de flash" #: src/minoltamn.cpp:1558 msgid "Flash exposure indicator" msgstr "Indicador de exposición de flash" #: src/minoltamn.cpp:1560 msgid "Flash Exposure Indicator Next" msgstr "Siguiente indicador de exposición de flash" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" "Siguiente indicador de exposición de flash (indicador para el siguiente " "disparo en ráfaga)" #: src/minoltamn.cpp:1563 msgid "Flash Exposure Indicator Last" msgstr "" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" "Último indicador de exposición de flash (indicador para el último disparo en " "ráfaga)" #: src/minoltamn.cpp:1569 msgid "Focus Mode Switch" msgstr "Conmutador de modo de flash" #: src/minoltamn.cpp:1570 msgid "Focus mode switch" msgstr "Conmutador de modo de flash" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 msgid "Flash Type" msgstr "Tipo de flash" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 msgid "Flash type" msgstr "Tipo de flash" #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 msgid "AE Lock" msgstr "Bloqueo de AE" #: src/minoltamn.cpp:1585 msgid "Color compensation filter: negative is green, positive is magenta" msgstr "" "Filtro de compensación de color: negativo es verde, positivo es magenta" #: src/minoltamn.cpp:1587 src/tags.cpp:766 msgid "Battery Level" msgstr "Nivel de la batería" #: src/minoltamn.cpp:1588 msgid "Battery level" msgstr "Nivel de batería" #: src/minoltamn.cpp:1592 msgid "Unknown Sony Camera Settings A100 tag" msgstr "Etiqueta Sony desconocido" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 msgid "Clear" msgstr "Limpio" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 msgid "Deep" msgstr "Profundo" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 msgid "Light" msgstr "Claro" #: src/minoltamn.cpp:1950 msgid "Night View" msgstr "Vista nocturna" #: src/minoltamn.cpp:1951 msgid "Autumn Leaves" msgstr "Hojas de otoño" #: src/minoltamn.cpp:1990 msgid "Local" msgstr "Local" #: src/minoltamn.cpp:2005 msgid "Top-Right" msgstr "Arriba derecha" #: src/minoltamn.cpp:2007 msgid "Bottom-Right" msgstr "Abajo derecha" #: src/minoltamn.cpp:2009 msgid "Bottom-Left" msgstr "Abajo izquierda" #: src/minoltamn.cpp:2011 msgid "Top-Left" msgstr "Arriba izquierda" #: src/minoltamn.cpp:2012 msgid "Far-Right" msgstr "Lejos derecha" #: src/minoltamn.cpp:2013 msgid "Far-Left" msgstr "Lejos izquierda" #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 msgid "Advanced Auto" msgstr "Auto avanzado" #: src/minoltamn.cpp:2028 msgid "Advanced Level" msgstr "Nivel avanzado" #: src/minoltamn.cpp:2041 msgid "AF" msgstr "AF" #: src/minoltamn.cpp:2042 msgid "Release" msgstr "Versión" #: src/minoltamn.cpp:2054 msgid "RAW " msgstr "RAW " #: src/minoltamn.cpp:2055 msgid "CRAW " msgstr "CRAW " #: src/minoltamn.cpp:2058 msgid "RAW+JPEG" msgstr "RAW+JPEG" #: src/minoltamn.cpp:2059 msgid "CRAW+JPEG" msgstr "CRAW+JPEG" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "Raw + JPEG" #: src/minoltamn.cpp:2116 msgid "Compressed Raw" msgstr "RAW comprimido" #: src/minoltamn.cpp:2117 msgid "Compressed Raw + JPEG" msgstr "RAW comprimido + JPEG" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "Minolta AF 2x APO (D)" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "Minolta AF 2x APO II" #: src/minoltamn.cpp:2132 msgid "Minolta AF 1.4x APO (D)" msgstr "Minolta AF 1.4x APO (D)" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "Minolta AF 1.4x APO II" #: src/minoltamn.cpp:2163 msgid "ISO Setting Used" msgstr "Velocidad ISO usada" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 msgid "High Key" msgstr "Clave alta" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "Clave baja" #: src/nikonmn.cpp:80 msgid "Extra High" msgstr "Extra alto" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 msgid "Single area" msgstr "Área única" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 msgid "Dynamic area" msgstr "Área dinámica" #: src/nikonmn.cpp:88 msgid "Dynamic area, closest subject" msgstr "Área dinámica, sujeto muy cercano" #: src/nikonmn.cpp:89 msgid "Group dynamic" msgstr "Grupo dinámico" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 msgid "Single area (wide)" msgstr "Área única (ancho)" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 msgid "Dynamic area (wide)" msgstr "Área dinámica (ancha)" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 msgid "Upper-left" msgstr "Superior- izquierda" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 msgid "Upper-right" msgstr "Superior-derecha" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 msgid "Lower-left" msgstr "Inferior-izquierda" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 msgid "Lower-right" msgstr "Inferior-derecha" #: src/nikonmn.cpp:108 msgid "Left-most" msgstr "más a la izquierda" #: src/nikonmn.cpp:109 msgid "Right-most" msgstr "más a la derecha" #: src/nikonmn.cpp:143 msgid "Fire, manual" msgstr "disparo, manual" #: src/nikonmn.cpp:144 msgid "Fire, external" msgstr "Disparo, externo" #: src/nikonmn.cpp:145 msgid "Fire, commander mode" msgstr "Disparo, modo comando" #: src/nikonmn.cpp:146 msgid "Fire, TTL mode" msgstr "Disparo, modo TTL" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 msgid "Delay" msgstr "Retardo" #: src/nikonmn.cpp:153 msgid "PC Control" msgstr "" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 msgid "Exposure Bracketing" msgstr "Horquillado de exposición" #: src/nikonmn.cpp:156 msgid "Auto ISO" msgstr "ISO automática" #: src/nikonmn.cpp:157 msgid "White-Balance Bracketing" msgstr "" #: src/nikonmn.cpp:158 msgid "IR Control" msgstr "" #: src/nikonmn.cpp:159 msgid "D-Lighting Bracketing" msgstr "" #: src/nikonmn.cpp:166 msgid "PC control" msgstr "Control PC" #: src/nikonmn.cpp:167 msgid "Exposure bracketing" msgstr "Sucesión de exposiciones" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "Retraso LE-NR sin usar" #: src/nikonmn.cpp:170 msgid "IR control" msgstr "Control IR" #: src/nikonmn.cpp:176 msgid "Auto release" msgstr "Lanzamiento automatico" #: src/nikonmn.cpp:177 msgid "Manual release" msgstr "Lanzamiento manual" #: src/nikonmn.cpp:182 msgid "Lossy (type 1)" msgstr "Con pérdida (tipo 1)" #: src/nikonmn.cpp:183 src/tags.cpp:251 msgid "Uncompressed" msgstr "Descomprimido" #: src/nikonmn.cpp:184 msgid "Lossless" msgstr "Sin pérdida" #: src/nikonmn.cpp:185 msgid "Lossy (type 2)" msgstr "Con pérdida (tipo 2)" #: src/nikonmn.cpp:191 msgid "B & W" msgstr "B y N" #: src/nikonmn.cpp:193 msgid "Trim" msgstr "Afinar" #: src/nikonmn.cpp:194 msgid "Small picture" msgstr "Imagen pequeña" #: src/nikonmn.cpp:195 msgid "D-Lighting" msgstr "D-Iluminación" #: src/nikonmn.cpp:196 msgid "Red eye" msgstr "Ojo rojo" #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 msgid "Cyanotype" msgstr "Cianotipo" #: src/nikonmn.cpp:198 msgid "Sky light" msgstr "Luz natural" #: src/nikonmn.cpp:199 msgid "Warm tone" msgstr "Tono caliente" #: src/nikonmn.cpp:200 msgid "Color custom" msgstr "Color personalizado" #: src/nikonmn.cpp:201 msgid "Image overlay" msgstr "Solapamiento de imagen" #: src/nikonmn.cpp:207 msgid "Minimal" msgstr "Mínimo" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 msgid "Nikon Makernote version" msgstr "Versión de la nota del fabricante Nikon" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 msgid "ISO Speed" msgstr "Velocidad ISO" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 msgid "Sharpening" msgstr "Nitidez" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 msgid "Image sharpening setting" msgstr "Configuración de la nitidez de la imagen" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 msgid "Focus" msgstr "Foco" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 msgid "Flash Setting" msgstr "Configuración del flash" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 msgid "Flash setting" msgstr "Configuración del flash" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 msgid "ISO Selection" msgstr "Selección ISO" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 msgid "ISO selection" msgstr "Selección ISO" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data Dump" msgstr "Volcado de datos" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data dump" msgstr "Volcado de datos" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 msgid "Image Adjustment" msgstr "Ajuste de la imagen" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 msgid "Image adjustment setting" msgstr "Configuración del ajuste de imagen" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "Lentes auxiliares" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 msgid "Auxiliary lens (adapter)" msgstr "Lentes auxiliares (adaptador)" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 msgid "Manual focus distance" msgstr "Distancia manual de foco" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 msgid "Digital zoom setting" msgstr "Configuración de zoom digital" #: src/nikonmn.cpp:260 msgid "AF Focus Position" msgstr "Posición de foco AF" #: src/nikonmn.cpp:261 msgid "AF focus position information" msgstr "Información de posición de foco AF" #: src/nikonmn.cpp:265 msgid "Unknown Nikon1MakerNote tag" msgstr "Etiqueta Nikon1MakerNote desconocida" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 msgid "Continuous autofocus" msgstr "Auto foco continuo" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 msgid "Single autofocus" msgstr "Autofocus único" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 msgid "Not used" msgstr "No usado" #: src/nikonmn.cpp:371 msgid "guess" msgstr "estimación" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "VGA Básico" #: src/nikonmn.cpp:419 msgid "VGA Normal" msgstr "VGA Normal" #: src/nikonmn.cpp:420 msgid "VGA Fine" msgstr "VGA Fino" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "SXGA Básico" #: src/nikonmn.cpp:422 msgid "SXGA Normal" msgstr "SXGA Normal" #: src/nikonmn.cpp:423 msgid "SXGA Fine" msgstr "SXGA Fino" #: src/nikonmn.cpp:435 msgid "Bright+" msgstr "Brillo+" #: src/nikonmn.cpp:436 msgid "Bright-" msgstr "Brillo-" #: src/nikonmn.cpp:437 msgid "Contrast+" msgstr "Contraste+" #: src/nikonmn.cpp:438 msgid "Contrast-" msgstr "Contraste-" #: src/nikonmn.cpp:457 msgid "Speedlight" msgstr "Velocidad de la luz" #: src/nikonmn.cpp:497 msgid "Unknown Nikon2MakerNote tag" msgstr "Etiqueta Nikon2MakerNote desconocida" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 msgid "Flash Device" msgstr "Dispositivo de flash" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 msgid "Flash device" msgstr "Dispositivo de flash" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 msgid "White Balance Bias" msgstr "Ajuste de balance de blancos" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 msgid "White balance bias" msgstr "Ajuste de balance de blancos" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB Levels" msgstr "Niveles BN RB" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB levels" msgstr "Niveles BN RB" #: src/nikonmn.cpp:544 msgid "Program Shift" msgstr "Cambio de programa" #: src/nikonmn.cpp:544 msgid "Program shift" msgstr "Cambio de programa" #: src/nikonmn.cpp:545 msgid "Exposure Difference" msgstr "Diferencia de exposición" #: src/nikonmn.cpp:545 msgid "Exposure difference" msgstr "Diferencia de exposición" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 msgid "Pointer to a preview image" msgstr "Puntero a imagen de vista previa" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 msgid "Offset to an IFD containing a preview image" msgstr "Desplazamiento a un IFD conteniendo una vista previa" #: src/nikonmn.cpp:549 msgid "Flash Comp" msgstr "Compensación de flash" #: src/nikonmn.cpp:549 msgid "Flash compensation setting" msgstr "Ajuste de compensación de flash" #: src/nikonmn.cpp:551 msgid "Image Boundary" msgstr "Límites de la imagen" #: src/nikonmn.cpp:551 msgid "Image boundary" msgstr "Límites de la imagen" #: src/nikonmn.cpp:552 msgid "Flash exposure comp" msgstr "Compensación de flash de la ráfaga" #: src/nikonmn.cpp:553 msgid "Flash Bracket Comp" msgstr "Compensación de flash de la ráfaga" #: src/nikonmn.cpp:553 msgid "Flash bracket compensation applied" msgstr "Aplicada compensación de flash a la ráfaga" #: src/nikonmn.cpp:554 msgid "Exposure Bracket Comp" msgstr "Compensación de exposición de ráfaga" #: src/nikonmn.cpp:554 msgid "AE bracket compensation applied" msgstr "Aplicada compensación de auto exposición de ráfaga" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 msgid "Image Processing" msgstr "Procesamiento de imagen" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 msgid "Image processing" msgstr "Procesamiento de imagen" #: src/nikonmn.cpp:556 msgid "Crop High Speed" msgstr "Recorte a alta velocidad" #: src/nikonmn.cpp:556 msgid "Crop high speed" msgstr "Recorte de alta velocidad" #: src/nikonmn.cpp:557 msgid "Exposure Tuning" msgstr "" #: src/nikonmn.cpp:557 msgid "Exposure tuning" msgstr "" #: src/nikonmn.cpp:560 msgid "VR Info" msgstr "Información VR" #: src/nikonmn.cpp:560 msgid "VR info" msgstr "Información VR" #: src/nikonmn.cpp:561 msgid "Image Authentication" msgstr "Autenticación de imagen" #: src/nikonmn.cpp:561 msgid "Image authentication" msgstr "Autenticación de imagen" #: src/nikonmn.cpp:562 msgid "ActiveD-Lighting" msgstr "Iluminación ActiveD" #: src/nikonmn.cpp:562 msgid "ActiveD-lighting" msgstr "Iluminación ActiveD" #: src/nikonmn.cpp:563 msgid "Picture Control" msgstr "Control de imagen" #: src/nikonmn.cpp:563 msgid " Picture control" msgstr " Control de imagen" #: src/nikonmn.cpp:564 src/properties.cpp:1387 msgid "World Time" msgstr "Tiempo mundial" #: src/nikonmn.cpp:564 msgid "World time" msgstr "Tiempo mundial" #: src/nikonmn.cpp:565 msgid "ISO Info" msgstr "Información ISO" #: src/nikonmn.cpp:565 msgid "ISO info" msgstr "Información ISO" #: src/nikonmn.cpp:566 msgid "Vignette Control" msgstr "Control de viñetas" #: src/nikonmn.cpp:566 msgid "Vignette control" msgstr "Control de viñetas" #: src/nikonmn.cpp:568 msgid "Tone Compensation" msgstr "Compensación de tono" #: src/nikonmn.cpp:568 msgid "Tone compensation" msgstr "Compensación de tono" #: src/nikonmn.cpp:574 msgid "Mode of flash used" msgstr "Modo de flash usado" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 msgid "Shooting Mode" msgstr "Modo de disparo" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 msgid "Shooting mode" msgstr "Modo de disparo" #: src/nikonmn.cpp:577 msgid "Auto Bracket Release" msgstr "Liberación automática de ráfaga" #: src/nikonmn.cpp:577 msgid "Auto bracket release" msgstr "Liberación automática de bracket ráfaga" #: src/nikonmn.cpp:578 msgid "Lens FStops" msgstr "Lentes FStops" #: src/nikonmn.cpp:579 msgid "Contrast Curve" msgstr "Curva de contraste" #: src/nikonmn.cpp:579 msgid "Contrast curve" msgstr "Curva de contraste" #: src/nikonmn.cpp:580 msgid "Color Hue" msgstr "Matíz de color" #: src/nikonmn.cpp:580 msgid "Color hue" msgstr "Matíz de color" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 msgid "Scene mode" msgstr "Modo de escena" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 msgid "Light Source" msgstr "Fuente de luz" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 msgid "Light source" msgstr "Fuente de luz" #: src/nikonmn.cpp:583 msgid "Shot info" msgstr "Información de disparo" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 msgid "Hue Adjustment" msgstr "Ajuste de tonalidad" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 msgid "Hue adjustment" msgstr "Ajuste de tonalidad" #: src/nikonmn.cpp:585 msgid "NEF Compression" msgstr "Compresión NEF" #: src/nikonmn.cpp:585 msgid "NEF compression" msgstr "Compresión NEF" #: src/nikonmn.cpp:588 src/tags.cpp:905 msgid "Linearization Table" msgstr "Tabla de linealización" #: src/nikonmn.cpp:588 msgid "Linearization table" msgstr "Tabla de linealización" #: src/nikonmn.cpp:589 msgid "Color Balance" msgstr "Balance de color" #: src/nikonmn.cpp:589 msgid "Color balance" msgstr "Balance de color" #: src/nikonmn.cpp:590 msgid "Lens Data" msgstr "Datos de lentes" #: src/nikonmn.cpp:590 msgid "Lens data settings" msgstr "Configuración de datos de lentes" #: src/nikonmn.cpp:591 msgid "Raw Image Center" msgstr "Centro de imagen en crudo" #: src/nikonmn.cpp:591 msgid "Raw image center" msgstr "Centro de imagen en crudo" #: src/nikonmn.cpp:592 msgid "Sensor Pixel Size" msgstr "Tamaño de pixel del sensor" #: src/nikonmn.cpp:592 msgid "Sensor pixel size" msgstr "Tamaño de píxel del sensor" #: src/nikonmn.cpp:594 msgid "Scene Assist" msgstr "Asistencia de escena" #: src/nikonmn.cpp:594 msgid "Scene assist" msgstr "Asistente de escena" #: src/nikonmn.cpp:595 msgid "Retouch History" msgstr "Historial de retoques" #: src/nikonmn.cpp:595 msgid "Retouch history" msgstr "Historial de retoques" #: src/nikonmn.cpp:597 msgid "Serial NO" msgstr "Número de serie" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "Número de serie de la cámara, normalmente empieza con «NO= »" #: src/nikonmn.cpp:598 msgid "Image Data Size" msgstr "Tamaño de datos de imagen" #: src/nikonmn.cpp:598 msgid "Image data size" msgstr "Tamaño de datos de imagen" #: src/nikonmn.cpp:600 msgid "Image Count" msgstr "Recuento de imágenes" #: src/nikonmn.cpp:600 msgid "Image count" msgstr "Recuento de imágenes" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted Image Count" msgstr "Contador de imágenes eliminadas" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted image count" msgstr "Contador de imágenes eliminadas" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 msgid "Shutter Count" msgstr "Contador de disparos" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "Número de disparos realizados por la cámara" #: src/nikonmn.cpp:603 msgid "Flash info" msgstr "Información de flash" #: src/nikonmn.cpp:604 msgid "Image Optimization" msgstr "Optimización de imagen" #: src/nikonmn.cpp:604 msgid "Image optimization" msgstr "Optimización de imagen" #: src/nikonmn.cpp:606 msgid "Program Variation" msgstr "Variación de programa" #: src/nikonmn.cpp:606 msgid "Program variation" msgstr "Variación de programa" #: src/nikonmn.cpp:608 msgid "AF Response" msgstr "Respuesta AF" #: src/nikonmn.cpp:608 msgid "AF response" msgstr "Respuesta AF" #: src/nikonmn.cpp:609 msgid "Multi exposure" msgstr "Multiexposición" #: src/nikonmn.cpp:610 msgid "High ISO Noise Reduction" msgstr "Reducción de ruido para ISO altos" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 msgid "Toning effect" msgstr "Efecto de matiz" #: src/nikonmn.cpp:612 msgid "AF info 2" msgstr "Información de AF 2" #: src/nikonmn.cpp:613 msgid "File info" msgstr "Información de archivo" #: src/nikonmn.cpp:614 msgid "AF tune" msgstr "Ajuste AF" #: src/nikonmn.cpp:617 msgid "Capture Data" msgstr "Datos de captura" #: src/nikonmn.cpp:617 msgid "Capture data" msgstr "Datos de captura" #: src/nikonmn.cpp:618 msgid "Capture Version" msgstr "Versión de captura" #: src/nikonmn.cpp:618 msgid "Capture version" msgstr "Versión de captura" #: src/nikonmn.cpp:620 msgid "Capture Offsets" msgstr "Compensaciones de captura" #: src/nikonmn.cpp:620 msgid "Capture offsets" msgstr "Desplazamientos de captura" #: src/nikonmn.cpp:621 msgid "Scan IFD" msgstr "Explorar IFD" #: src/nikonmn.cpp:622 msgid "ICC profile" msgstr "Perfil de ICC" #: src/nikonmn.cpp:623 msgid "Capture output" msgstr "Capturar salida" #: src/nikonmn.cpp:625 msgid "Unknown Nikon3MakerNote tag" msgstr "Etiqueta Nikon3MakerNote desconocida" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 msgid "No" msgstr "No" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "Si" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "Y/M/D" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "M/D/A" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "D/M/A" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration Reduction" msgstr "Reducción de vibración" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration reduction" msgstr "Reducción de vibraciones" #: src/nikonmn.cpp:657 msgid "Unknown Nikon Vibration Reduction Tag" msgstr "Etiqueta de reducción de vibración Nikon desconocida" #: src/nikonmn.cpp:667 msgid "Default Settings" msgstr "Configuración predeterminada" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 msgid "Quick Adjust" msgstr "Ajuste rápido" #: src/nikonmn.cpp:669 msgid "Full Control" msgstr "Control total" #: src/nikonmn.cpp:690 msgid "Blue-green" msgstr "Azul-verde" #: src/nikonmn.cpp:692 msgid "Purple-blue" msgstr "Morado-azul" #: src/nikonmn.cpp:693 msgid "Red-purple" msgstr "Rojo púrpura" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 msgid "Name" msgstr "Nombre" #: src/nikonmn.cpp:701 msgid "Base" msgstr "Base" #: src/nikonmn.cpp:702 msgid "Adjust" msgstr "Ajustar" #: src/nikonmn.cpp:703 msgid "Quick adjust" msgstr "Ajuste rápido" #: src/nikonmn.cpp:709 msgid "Filter effect" msgstr "Efecto de filtro" #: src/nikonmn.cpp:711 msgid "Toning Saturation" msgstr "Saturación de tonificación" #: src/nikonmn.cpp:711 msgid "Toning saturation" msgstr "Saturación de tonificación" #: src/nikonmn.cpp:713 msgid "Unknown Nikon Picture Control Tag" msgstr "Etiqueta de control de imagen Nikon desconocida" #: src/nikonmn.cpp:730 msgid "AF Fine Tune" msgstr "Ajuste fino AF" #: src/nikonmn.cpp:730 msgid "AF fine tune" msgstr "Ajuste fino AF" #: src/nikonmn.cpp:731 msgid "AF Fine Tune Index" msgstr "Índice de ajuste fino AF" #: src/nikonmn.cpp:731 msgid "AF fine tune index" msgstr "Índice de ajuste fino AF" #: src/nikonmn.cpp:732 msgid "AF Fine Tune Adjustment" msgstr "Puesta a punto del ajuste fino AF" #: src/nikonmn.cpp:732 msgid "AF fine tune adjustment" msgstr "Puesta a punto del ajuste fino AF" #: src/nikonmn.cpp:734 msgid "Unknown Nikon AF Fine Tune Tag" msgstr "Etiquetado de ajuste fino de NIkon AF erróneo" #: src/nikonmn.cpp:744 msgid "Timezone" msgstr "Zona horaria" #: src/nikonmn.cpp:745 msgid "Daylight Savings" msgstr "Ahorro de energía en horarios diurnos" #: src/nikonmn.cpp:745 msgid "Daylight savings" msgstr "Ahorros de energía en horarios diurnos" #: src/nikonmn.cpp:746 msgid "Date Display Format" msgstr "Formato de fecha" #: src/nikonmn.cpp:746 msgid "Date display format" msgstr "Formato de fecha" #: src/nikonmn.cpp:748 msgid "Unknown Nikon World Time Tag" msgstr "Etiqueta de tiempo mundial Nikon desconocida" #: src/nikonmn.cpp:759 msgid "Hi 0.3" msgstr "Al 0.3" #: src/nikonmn.cpp:760 msgid "Hi 0.5" msgstr "Al 0.5" #: src/nikonmn.cpp:761 msgid "Hi 0.7" msgstr "Al 0.7" #: src/nikonmn.cpp:762 msgid "Hi 1.0" msgstr "Al 1.0" #: src/nikonmn.cpp:763 msgid "Hi 1.3" msgstr "Al 1.3" #: src/nikonmn.cpp:764 msgid "Hi 1.5" msgstr "Al 1.5" #: src/nikonmn.cpp:765 msgid "Hi 1.7" msgstr "Al 1.7" #: src/nikonmn.cpp:766 msgid "Hi 2.0" msgstr "Al 2.0" #: src/nikonmn.cpp:767 msgid "Hi 2.3" msgstr "" #: src/nikonmn.cpp:768 msgid "Hi 2.5" msgstr "" #: src/nikonmn.cpp:769 msgid "Hi 2.7" msgstr "" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "Ba 0.3" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "Ba 0.5" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "Ba 0.7" #: src/nikonmn.cpp:778 msgid "Lo 1.0" msgstr "Ba 1.0" #: src/nikonmn.cpp:784 msgid "ISO Expansion" msgstr "Expansión ISO" #: src/nikonmn.cpp:784 msgid "ISO expansion" msgstr "Expansión ISO" #: src/nikonmn.cpp:785 msgid "ISO 2" msgstr "ISO 2" #: src/nikonmn.cpp:786 msgid "ISO Expansion 2" msgstr "Expansión ISO 2" #: src/nikonmn.cpp:786 msgid "ISO expansion 2" msgstr "Expansión ISO 2" #: src/nikonmn.cpp:788 msgid "Unknown Nikon Iso Info Tag" msgstr "Etiqueta de información ISO de Nikon desconocida" #: src/nikonmn.cpp:798 msgid "Single Area" msgstr "Área única" #: src/nikonmn.cpp:799 msgid "Dynamic Area" msgstr "Área dinámica" #: src/nikonmn.cpp:800 msgid "Dynamic Area, Closest Subject" msgstr "Área dinámica, objeto cercano" #: src/nikonmn.cpp:801 msgid "Group Dynamic" msgstr "Grupo dinámico" #: src/nikonmn.cpp:802 msgid "Single Area (wide)" msgstr "Superficie simple (ancho)" #: src/nikonmn.cpp:803 msgid "Dynamic Area (wide)" msgstr "Área dinámica (ancho)" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 msgid "Mid-left" msgstr "Medio-izquierda" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 msgid "Mid-right" msgstr "Centro-derecha" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 msgid "Far Left" msgstr "Lejos a la izquierda" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 msgid "Far Right" msgstr "Lejos a la derecha" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 msgid "AF area mode" msgstr "Modo de área AF" #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 msgid "AF point" msgstr "Punto AF" #: src/nikonmn.cpp:840 msgid "AF Points In Focus" msgstr "Puntos de AF en foco" #: src/nikonmn.cpp:840 msgid "AF points in focus" msgstr "Puntos de AF en foco" #: src/nikonmn.cpp:842 msgid "Unknown Nikon Auto Focus Tag" msgstr "Etiqueta de auto foco Nikon desonocida" #: src/nikonmn.cpp:853 msgid "On (51-point)" msgstr "" #: src/nikonmn.cpp:854 msgid "On (11-point)" msgstr "" #: src/nikonmn.cpp:855 msgid "On (39-point)" msgstr "" #: src/nikonmn.cpp:856 msgid "On (73-point)" msgstr "" #: src/nikonmn.cpp:857 msgid "On (73-point, new)" msgstr "" #: src/nikonmn.cpp:858 msgid "On (105-point)" msgstr "" #: src/nikonmn.cpp:864 msgid "Contrast Detect AF" msgstr "" #: src/nikonmn.cpp:864 msgid "Contrast detect AF" msgstr "" #: src/nikonmn.cpp:866 msgid "Phase Detect AF" msgstr "" #: src/nikonmn.cpp:866 msgid "Phase detect AF" msgstr "" #: src/nikonmn.cpp:867 msgid "Primary AF Point" msgstr "Punto de AF primario" #: src/nikonmn.cpp:867 msgid "Primary AF point" msgstr "Punto de AF primario" #: src/nikonmn.cpp:869 msgid "AF Image Width" msgstr "Anchura de imagen AF" #: src/nikonmn.cpp:869 msgid "AF image width" msgstr "Anchura de imagen AF" #: src/nikonmn.cpp:870 msgid "AF Image Height" msgstr "Altura de imagen AF" #: src/nikonmn.cpp:870 msgid "AF image height" msgstr "Altura de imagen AF" #: src/nikonmn.cpp:871 msgid "AF Area X Position" msgstr "Posición X del área AF" #: src/nikonmn.cpp:871 msgid "AF area x position" msgstr "Posición x del área AF" #: src/nikonmn.cpp:872 msgid "AF Area Y Position" msgstr "Posición Y del área AF" #: src/nikonmn.cpp:872 msgid "AF area y position" msgstr "Posición y del área AF" #: src/nikonmn.cpp:873 msgid "AF Area Width" msgstr "Anchura del área AF" #: src/nikonmn.cpp:873 msgid "AF area width" msgstr "Anchura del área AF" #: src/nikonmn.cpp:874 msgid "AF Area Height" msgstr "Altura del área AF" #: src/nikonmn.cpp:874 msgid "AF area height" msgstr "Altura del aŕea AF" #: src/nikonmn.cpp:875 msgid "Contrast Detect AF In Focus" msgstr "" #: src/nikonmn.cpp:875 msgid "Contrast detect AF in focus" msgstr "" #: src/nikonmn.cpp:877 msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "Etiqueta Nikon desconocido" #: src/nikonmn.cpp:888 msgid "Directory Number" msgstr "Número de directorio" #: src/nikonmn.cpp:888 msgid "Directory number" msgstr "Número de directorio" #: src/nikonmn.cpp:891 msgid "Unknown Nikon File Info Tag" msgstr "Etiqueta Nikon desconocido" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 msgid "Multiple Exposure" msgstr "Exposición múltiple" #: src/nikonmn.cpp:903 msgid "Image Overlay" msgstr "" #: src/nikonmn.cpp:909 msgid "Multi Exposure Mode" msgstr "Modo de multi-exposición" #: src/nikonmn.cpp:909 msgid "Multi exposure mode" msgstr "Modo de multi-exposición" #: src/nikonmn.cpp:910 msgid "Multi Exposure Shots" msgstr "Disparos de multi-exposición" #: src/nikonmn.cpp:910 msgid "Multi exposure shots" msgstr "Disparos de multi-exposición" #: src/nikonmn.cpp:911 msgid "Multi Exposure Auto Gain" msgstr "Ganancia automática de multi-exposición" #: src/nikonmn.cpp:911 msgid "Multi exposure auto gain" msgstr "ganancia automática de multi-exposición" #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 msgid "Unknown Nikon Multi Exposure Tag" msgstr "Etiqueta Nikon desconocido" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 msgid "Internal" msgstr "Interno" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "1.01 (SB-800 o Metz 58 AF-1)" #: src/nikonmn.cpp:991 msgid "iTTL-BL" msgstr "iTTL-BL" #: src/nikonmn.cpp:992 msgid "iTTL" msgstr "iTTL" #: src/nikonmn.cpp:993 msgid "Auto Aperture" msgstr "Apertura automática" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "GN (prioridad de distancia)" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 msgid "Repeating Flash" msgstr "Repetir flash" #: src/nikonmn.cpp:1004 msgid "Bounce Flash" msgstr "" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "FL-GL1" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "FL-GL2" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "TN-A1" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "TN-A2" #: src/nikonmn.cpp:1018 msgid "Amber" msgstr "Ámbar" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash Source" msgstr "Fuente de flash" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash source" msgstr "Fuente de flash" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 msgid "0x0005" msgstr "0x0005" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 msgid "External Flash Firmware" msgstr "Firmware de flash externo" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 msgid "External flash firmware" msgstr "" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 msgid "External Flash Flags" msgstr "" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 msgid "External flash flags" msgstr "" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 msgid "Flash Focal Length" msgstr "" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 msgid "Flash focal length" msgstr "" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating flash rate" msgstr "" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating flash count" msgstr "" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN Distance" msgstr "Distancia de flash GN" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN distance" msgstr "Distancia de flash GN" #: src/nikonmn.cpp:1032 msgid "Flash Group A Control Mode" msgstr "" #: src/nikonmn.cpp:1032 msgid "Flash group a control mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash Group B Control Mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash group b control mode" msgstr "" #: src/nikonmn.cpp:1073 msgid "Flash Color Filter" msgstr "Filtro de color de flash" #: src/nikonmn.cpp:1073 msgid "Flash color filter" msgstr "Filtro de color de flash" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 msgid "Shutter count" msgstr "Contador de disparos" #: src/nikonmn.cpp:1088 msgid "Unknown Nikon Shot Info D80 Tag" msgstr "Etiqueta Nikon Shot Info D80 desconocida" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 msgid "Flash Level" msgstr "Nivel de flash" #: src/nikonmn.cpp:1100 msgid "Flash level" msgstr "Nivel de flash" #: src/nikonmn.cpp:1102 msgid "Unknown Nikon Shot Info D40 Tag" msgstr "Etiqueta Nikon Shot Info D40 desconocida" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF Fine Tune Adj" msgstr "Ajuste fino de AF" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF fine tune adj" msgstr "Ajuste fino de AF" #: src/nikonmn.cpp:1162 msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "Etiqueta Nikon Shot Info D300 (a) desconocida" #: src/nikonmn.cpp:1222 msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "Etiqueta Nikon Shot Info D300 (b) desconocida" #: src/nikonmn.cpp:1235 msgid "On (3)" msgstr "Encendido (3)" #: src/nikonmn.cpp:1248 msgid "Shutter Count 1" msgstr "Recuento de disparos 1" #: src/nikonmn.cpp:1248 msgid "Shutter count 1" msgstr "Recuento de disparos 2" #: src/nikonmn.cpp:1251 msgid "Vibration Reduction 1" msgstr "Reducción de vibración 1" #: src/nikonmn.cpp:1251 msgid "Vibration reduction 1" msgstr "Reducción de vibración 1" #: src/nikonmn.cpp:1252 msgid "Shutter Count 2" msgstr "Recuento de disparos 2" #: src/nikonmn.cpp:1252 msgid "Shutter count 2" msgstr "Recuento de disparos 2" #: src/nikonmn.cpp:1253 msgid "Vibration Reduction 2" msgstr "Reducción de vibraciones 2" #: src/nikonmn.cpp:1253 msgid "Vibration reduction 2" msgstr "Reducción de vibraciones 2" #: src/nikonmn.cpp:1257 msgid "Unknown Nikon Shot Info Tag" msgstr "Etiqueta de información de disparo Nikon desconocida" #: src/nikonmn.cpp:1268 msgid "WB RBGG Levels" msgstr "Niveles BN RBGG" #: src/nikonmn.cpp:1268 msgid "WB RBGG levels" msgstr "Niveles BN RBGG" #: src/nikonmn.cpp:1270 msgid "Unknown Nikon Color Balance 1 Tag" msgstr "Etiqueta Nikon de balance de color 1 desconocida" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB Levels" msgstr "Niveles BN RGGB" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB levels" msgstr "Niveles BN RGGB" #: src/nikonmn.cpp:1283 msgid "Unknown Nikon Color Balance 2 Tag" msgstr "Etiqueta Nikon de balance de color 2 desconocida" #: src/nikonmn.cpp:1296 msgid "Unknown Nikon Color Balance 2a Tag" msgstr "Etiqueta Nikon de balance de color 2a desconocida" #: src/nikonmn.cpp:1309 msgid "Unknown Nikon Color Balance 2b Tag" msgstr "Etiqueta Nikon de balance de color 2b desconocida" #: src/nikonmn.cpp:1320 msgid "WB RGBG Levels" msgstr "Niveles BN RGBG" #: src/nikonmn.cpp:1320 msgid "WB RGBG levels" msgstr "Niveles BN RGBG" #: src/nikonmn.cpp:1322 msgid "Unknown Nikon Color Balance 3 Tag" msgstr "Etiqueta Nikon de balance de color 3 desconocida" #: src/nikonmn.cpp:1333 msgid "WB GRBG Levels" msgstr "Niveles BN GRBG" #: src/nikonmn.cpp:1333 msgid "WB GRBG levels" msgstr "Niveles BN GRBG" #: src/nikonmn.cpp:1335 msgid "Unknown Nikon Color Balance 4 Tag" msgstr "Etiqueta Nikon de balance de color 4 desconocida" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID Number" msgstr "Número de Id de la lente" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID number" msgstr "Número de ID de la lente" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 msgid "Lens F-Stops" msgstr "Lentes F-Stops" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 msgid "Lens F-stops" msgstr "Lentes F-Stops" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min Focal Length" msgstr "Mín. distancia focal" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min focal length" msgstr "Mín. distancia focal" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max Focal Length" msgstr "Máx. distancia focal" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max focal length" msgstr "Máx. distancia focal" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 msgid "Max Aperture At Min Focal" msgstr "Máx. apertura a mín. foco" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 msgid "Max aperture at min focal" msgstr "Máx. apertura a mín. foco" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 msgid "Max Aperture At Max Focal" msgstr "Máx. apertura a máx. foco" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 msgid "Max aperture at max focal" msgstr "Máx. apertura a máx. foco" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU Version" msgstr "Versión MCU" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU version" msgstr "Versión MCU" #: src/nikonmn.cpp:1354 msgid "Unknown Nikon Lens Data 1 Tag" msgstr "Etiqueta Nikon de datos de lente 1 desconocida" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit Pupil Position" msgstr "Posición de la pupila de salida" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit pupil position" msgstr "Posición de la pupila de salida" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 msgid "AF Aperture" msgstr "Apertura de AF" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 msgid "AF aperture" msgstr "Apertura de AF" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective Max Aperture" msgstr "Apertura máxima efectiva" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective max aperture" msgstr "Apertura máxima efectiva" #: src/nikonmn.cpp:1379 msgid "Unknown Nikon Lens Data 2 Tag" msgstr "Etiqueta Nikon de datos de lente 2 desconocida" #: src/nikonmn.cpp:1399 msgid "Max aperture at min focal length" msgstr "Apertura máxima en mínima distancia focal" #: src/nikonmn.cpp:1400 msgid "Max aperture at max focal length" msgstr "Apertura máxima en máxima distancia focal" #: src/nikonmn.cpp:1404 msgid "Unknown Nikon Lens Data 3 Tag" msgstr "Etiqueta Nikon de datos de lente 3 desconocida" #: src/nikonmn.cpp:1590 msgid "Closest subject" msgstr "Tema más cercano" #: src/nikonmn.cpp:1591 msgid "Group dynamic-AF" msgstr "Grupo dinámico-AF" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "ninguno(a)" #: src/nikonmn.cpp:1624 msgid "used" msgstr "usado" #: src/nikonmn.cpp:1650 msgid "All 11 Points" msgstr "Todos los puntos 11" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 msgid "Single-frame" msgstr "Fotograma único" #: src/olympusmn.cpp:71 msgid "Standard Quality (SQ)" msgstr "Calidad estándar (SQ)" #: src/olympusmn.cpp:72 msgid "High Quality (HQ)" msgstr "Calidad alta (HQ)" #: src/olympusmn.cpp:73 msgid "Super High Quality (SHQ)" msgstr "Super alta calidad (SHQ)" #: src/olympusmn.cpp:88 msgid "On (preset)" msgstr "Activado (Preestablecido)" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 msgid "Sport" msgstr "Deporte" #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 msgid "Landscape+Portrait" msgstr "Paisaje+Retrato" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 msgid "Self Portrait" msgstr "Autoretrato" #: src/olympusmn.cpp:102 msgid "2 in 1" msgstr "2 en 1" #: src/olympusmn.cpp:105 msgid "Night+Portrait" msgstr "Noche+Retrato" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "Alimento" #: src/olympusmn.cpp:112 msgid "Documents" msgstr "Documentos" #: src/olympusmn.cpp:114 msgid "Shoot & Select" msgstr "Disparar y seleccionar" #: src/olympusmn.cpp:115 msgid "Beach & Snow" msgstr "Playa y nieve" #: src/olympusmn.cpp:116 msgid "Self Portrait+Timer" msgstr "Autoretrato+temporizador" #: src/olympusmn.cpp:117 msgid "Candle" msgstr "Vela" #: src/olympusmn.cpp:118 msgid "Available Light" msgstr "Luz disponible" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "Detrás del cristal" #: src/olympusmn.cpp:120 msgid "My Mode" msgstr "Mi modo" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 msgid "Pet" msgstr "Mascota" #: src/olympusmn.cpp:122 msgid "Underwater Wide1" msgstr "Submarino ancho1" #: src/olympusmn.cpp:123 msgid "Underwater Macro" msgstr "Macro submarino" #: src/olympusmn.cpp:124 msgid "Shoot & Select1" msgstr "Disparar y seleccionar 1" #: src/olympusmn.cpp:125 msgid "Shoot & Select2" msgstr "Disparar y seleccionar 2" #: src/olympusmn.cpp:127 msgid "Digital Image Stabilization" msgstr "Estabilización de imagen digital" #: src/olympusmn.cpp:128 msgid "Auction" msgstr "Subasta" #: src/olympusmn.cpp:131 msgid "Underwater Wide2" msgstr "Submarino ancho 2" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "Niños" #: src/olympusmn.cpp:135 msgid "Nature Macro" msgstr "Macro natural" #: src/olympusmn.cpp:136 msgid "Underwater Snapshot" msgstr "Instantánea submarina" #: src/olympusmn.cpp:137 msgid "Shooting Guide" msgstr "Guía de disparo" #: src/olympusmn.cpp:145 msgid "Internal + External" msgstr "Interno + Externo" #: src/olympusmn.cpp:176 msgid "Interlaced" msgstr "Entrelazado" #: src/olympusmn.cpp:177 msgid "Progressive" msgstr "Progresivo" #: src/olympusmn.cpp:188 msgid "Thumbnail Image" msgstr "Miniatura de imagen" #: src/olympusmn.cpp:189 msgid "Thumbnail image" msgstr "Miniatura de imagen" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body Firmware Version" msgstr "Versión del firmware del cuerpo" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body firmware version" msgstr "Versión del firmware del cuerpo" #: src/olympusmn.cpp:195 msgid "Special Mode" msgstr "Modo especial" #: src/olympusmn.cpp:196 msgid "Picture taking mode" msgstr "Modo de toma de imagen" #: src/olympusmn.cpp:204 msgid "Black & White Mode" msgstr "Modo blanco y negro" #: src/olympusmn.cpp:205 msgid "Black and white mode" msgstr "Modo blanco y negro" #: src/olympusmn.cpp:208 msgid "Digital zoom ratio" msgstr "" #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 msgid "Focal Plane Diagonal" msgstr "Diagonal del plano focal" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 msgid "Focal plane diagonal" msgstr "Diagonal del plano focal" #: src/olympusmn.cpp:213 msgid "Lens Distortion Parameters" msgstr "Parámetros de distorsión de las lentes" #: src/olympusmn.cpp:214 msgid "Lens distortion parameters" msgstr "Parámetros de distorsión de lentes" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 msgid "Camera Type" msgstr "Tipo de cámara" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 msgid "Camera type" msgstr "Tipo de cámara" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "Formato ASCII de datos como [PictureInfo]" #: src/olympusmn.cpp:222 msgid "Camera ID" msgstr "ID de la Cámara" #: src/olympusmn.cpp:223 msgid "Camera ID data" msgstr "Datos de ID de cámara" #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "Software" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 msgid "Preview Image" msgstr "Vista previa de imagen" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 msgid "Preview image" msgstr "Vista previa de imagen" #: src/olympusmn.cpp:237 msgid "Pre Capture Frames" msgstr "Cuadros de captura previa" #: src/olympusmn.cpp:238 msgid "Pre-capture frames" msgstr "Marcos de precaptura" #: src/olympusmn.cpp:240 msgid "White Board" msgstr "" #: src/olympusmn.cpp:241 msgid "White board" msgstr "" #: src/olympusmn.cpp:243 msgid "One Touch WB" msgstr "BN un toque" #: src/olympusmn.cpp:244 msgid "One touch white balance" msgstr "Balance de blancos automático" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 msgid "White Balance Bracket" msgstr "Horquillado de balance de blancos" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 msgid "White balance bracket" msgstr "Horquillado de balance de blancos" #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 msgid "Firmware" msgstr "Firmware" #: src/olympusmn.cpp:261 msgid "Data Dump 1" msgstr "Volcado de datos 1" #: src/olympusmn.cpp:262 msgid "Various camera settings 1" msgstr "Configuración 1 de cámara" #: src/olympusmn.cpp:264 msgid "Data Dump 2" msgstr "Volcado de datos 2" #: src/olympusmn.cpp:265 msgid "Various camera settings 2" msgstr "Configuración 2 de cámara" #: src/olympusmn.cpp:268 msgid "Shutter speed value" msgstr "Velocidad del obturador" #: src/olympusmn.cpp:271 msgid "ISO speed value" msgstr "Valor de velocidad ISO" #: src/olympusmn.cpp:274 msgid "Aperture value" msgstr "Valor de apertura" #: src/olympusmn.cpp:277 msgid "Brightness value" msgstr "Valor de brillo" #: src/olympusmn.cpp:285 msgid "Bracket" msgstr "Ráfaga de imágenes variando parámetros de exposición" #: src/olympusmn.cpp:286 msgid "Exposure compensation value" msgstr "Valor de compensación de exposición" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 msgid "Sensor Temperature" msgstr "Sensor de temperatura" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 msgid "Sensor temperature" msgstr "Sensor de temperatura" #: src/olympusmn.cpp:291 msgid "Lens Temperature" msgstr "Temperatura de la lente" #: src/olympusmn.cpp:292 msgid "Lens temperature" msgstr "Temperatura de la lente" #: src/olympusmn.cpp:294 msgid "Light Condition" msgstr "" #: src/olympusmn.cpp:295 msgid "Light condition" msgstr "" #: src/olympusmn.cpp:297 msgid "Focus Range" msgstr "" #: src/olympusmn.cpp:298 msgid "Focus range" msgstr "" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "Zoom" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 msgid "Zoom step count" msgstr "Recuento de pasos del zoom" #: src/olympusmn.cpp:309 msgid "Macro Focus" msgstr "Macro foco" #: src/olympusmn.cpp:310 msgid "Macro focus step count" msgstr "Cuenta de pasos de enfoque macro" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 msgid "Sharpness Factor" msgstr "Factor de nitidez" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 msgid "Sharpness factor" msgstr "Factor de nitidez" #: src/olympusmn.cpp:315 msgid "Flash Charge Level" msgstr "Nivel de carga de flash" #: src/olympusmn.cpp:316 msgid "Flash charge level" msgstr "Nivel de carga de flash" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 msgid "Color Matrix" msgstr "Matriz de color" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 msgid "Color matrix" msgstr "Matriz de color" #: src/olympusmn.cpp:321 msgid "BlackLevel" msgstr "Nivel de negro" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 msgid "Black level" msgstr "Nivel de negro" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 msgid "White balance mode" msgstr "Modo de balance de blancos" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 msgid "Red Balance" msgstr "Balance de rojos" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 msgid "Red balance" msgstr "Balance de rojos" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 msgid "Blue Balance" msgstr "Balance de azules" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 msgid "Blue balance" msgstr "Balance de azules" #: src/olympusmn.cpp:342 msgid "Color Matrix Number" msgstr "" #: src/olympusmn.cpp:343 #, fuzzy msgid "Color matrix number" msgstr "Matriz de color 2" #: src/olympusmn.cpp:345 msgid "Serial Number 2" msgstr "Número de serie 2" #: src/olympusmn.cpp:346 msgid "Serial number 2" msgstr "Número de serie 2" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 msgid "Flash exposure compensation" msgstr "Compensación de la exposición al flash" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 msgid "External Flash Bounce" msgstr "Límite del flash externo" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 msgid "External flash bounce" msgstr "Límite del flash externo" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 msgid "External Flash Zoom" msgstr "Zoom del flash externo" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 msgid "External flash zoom" msgstr "Zoom del flash externo" #: src/olympusmn.cpp:387 msgid "External Flash Mode" msgstr "Modo de flash externo" #: src/olympusmn.cpp:388 msgid "External flash mode" msgstr "Modo de flash externo" #: src/olympusmn.cpp:396 msgid "Color Control" msgstr "Control de color" #: src/olympusmn.cpp:397 msgid "Color control" msgstr "Control de color" #: src/olympusmn.cpp:399 msgid "ValidBits" msgstr "BitsVálidos" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 msgid "Valid bits" msgstr "Bits válidos" #: src/olympusmn.cpp:402 msgid "CoringFilter" msgstr "CoringFilter" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 msgid "Coring filter" msgstr "Filtro Coring" #: src/olympusmn.cpp:423 msgid "Compression Ratio" msgstr "Tasa de compresión" #: src/olympusmn.cpp:424 msgid "Compression ratio" msgstr "Tasa de compresión" #: src/olympusmn.cpp:427 msgid "Preview image embedded" msgstr "Vista previa de imagen embebida" #: src/olympusmn.cpp:430 msgid "Offset of the preview image" msgstr "Posición de la imagen previa" #: src/olympusmn.cpp:433 msgid "Size of the preview image" msgstr "Tamaño de la previsualización de la imagen" #: src/olympusmn.cpp:435 msgid "CCD Scan Mode" msgstr "Modo de exploración CCD" #: src/olympusmn.cpp:436 msgid "CCD scan mode" msgstr "Modo de exploración CCD" #: src/olympusmn.cpp:441 msgid "Infinity Lens Step" msgstr "Paso de lente infinito" #: src/olympusmn.cpp:442 msgid "Infinity lens step" msgstr "Paso de lente infinito" #: src/olympusmn.cpp:444 msgid "Near Lens Step" msgstr "Paso de lente cercano" #: src/olympusmn.cpp:445 msgid "Near lens step" msgstr "Paso de lente cercano" #: src/olympusmn.cpp:447 msgid "Equipment Info" msgstr "Información de equipamiento" #: src/olympusmn.cpp:448 msgid "Camera equipment sub-IFD" msgstr "Equipo sub-IFD de la cámara" #: src/olympusmn.cpp:451 msgid "Camera Settings sub-IFD" msgstr "Configuración de cámara sub-IFD" #: src/olympusmn.cpp:453 msgid "Raw Development" msgstr "Desarrollo raw" #: src/olympusmn.cpp:454 msgid "Raw development sub-IFD" msgstr "Desarrollo Sub-IFD sin crompresión" #: src/olympusmn.cpp:456 msgid "Raw Development 2" msgstr "Desarrollo Raw 2" #: src/olympusmn.cpp:457 msgid "Raw development 2 sub-IFD" msgstr "Desarrollo Sub-IFD 2 sin crompresión" #: src/olympusmn.cpp:460 msgid "Image processing sub-IFD" msgstr "Procesamiento de imágenes sub-IFD" #: src/olympusmn.cpp:462 msgid "Focus Info" msgstr "Información de foco" #: src/olympusmn.cpp:463 msgid "Focus sub-IFD" msgstr "Foco sub-IFD" #: src/olympusmn.cpp:465 msgid "Raw Info" msgstr "Información raw" #: src/olympusmn.cpp:466 msgid "Raw sub-IFD" msgstr "Sub-IFD crudo" #: src/olympusmn.cpp:470 msgid "Unknown OlympusMakerNote tag" msgstr "Etiqueta OlympusMakerNote tag desconocida" #: src/olympusmn.cpp:486 msgid "Program-shift" msgstr "Cambio de programa" #: src/olympusmn.cpp:491 msgid "Center-weighted average" msgstr "Promedio ponderado en el centro" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "ESP" #: src/olympusmn.cpp:494 msgid "Pattern+AF" msgstr "Patrón+AF" #: src/olympusmn.cpp:495 msgid "Spot+Highlight control" msgstr "Control de Spot+Énfasis" #: src/olympusmn.cpp:496 msgid "Spot+Shadow control" msgstr "Control de Spot+Sombra" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 msgid "Single AF" msgstr "AF sencillo" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "Disparo AF secuencial" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 msgid "Multi AF" msgstr "AF multi" #: src/olympusmn.cpp:517 msgid "AF Not Used" msgstr "AF No usado" #: src/olympusmn.cpp:518 msgid "AF Used" msgstr "AF Usado" #: src/olympusmn.cpp:523 msgid "Not Ready" msgstr "No preparado" #: src/olympusmn.cpp:524 msgid "Ready" msgstr "Preparado" #: src/olympusmn.cpp:531 msgid "Fill-in" msgstr "Rellenar" #: src/olympusmn.cpp:533 msgid "Slow-sync" msgstr "Sincronización lenta" #: src/olympusmn.cpp:534 msgid "Forced On" msgstr "Forzado" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "2ª cortina" #: src/olympusmn.cpp:541 msgid "Channel 1, Low" msgstr "" #: src/olympusmn.cpp:542 msgid "Channel 2, Low" msgstr "" #: src/olympusmn.cpp:543 msgid "Channel 3, Low" msgstr "" #: src/olympusmn.cpp:544 msgid "Channel 4, Low" msgstr "" #: src/olympusmn.cpp:545 msgid "Channel 1, Mid" msgstr "" #: src/olympusmn.cpp:546 msgid "Channel 2, Mid" msgstr "" #: src/olympusmn.cpp:547 msgid "Channel 3, Mid" msgstr "" #: src/olympusmn.cpp:548 msgid "Channel 4, Mid" msgstr "" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "" #: src/olympusmn.cpp:567 msgid "7500K (Fine Weather with Shade)" msgstr "7500K (Buen tiempo con sombra)" #: src/olympusmn.cpp:568 msgid "6000K (Cloudy)" msgstr "6000K (Nublado)" #: src/olympusmn.cpp:569 msgid "5300K (Fine Weather)" msgstr "5300K (Lluvia fina)" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "3000K (Bombilla incandescente)" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 msgid "3600K (Tungsten light-like)" msgstr "3600K (Luz tipo tungsteno light-like)" #: src/olympusmn.cpp:572 msgid "Auto Setup" msgstr "" #: src/olympusmn.cpp:573 msgid "5500K (Flash)" msgstr "5500K (Flash)" #: src/olympusmn.cpp:574 msgid "6600K (Daylight fluorescent)" msgstr "6600K (Fluorescente día)" #: src/olympusmn.cpp:575 msgid "4500K (Neutral white fluorescent)" msgstr "4500K (Fluorescente blanco neutro)" #: src/olympusmn.cpp:576 msgid "4000K (Cool white fluorescent)" msgstr "4000K (Fluorescente blanco frio)" #: src/olympusmn.cpp:577 msgid "White Fluorescent" msgstr "Fluorescente blanco" #: src/olympusmn.cpp:580 msgid "One Touch WB 1" msgstr "" #: src/olympusmn.cpp:581 msgid "One Touch WB 2" msgstr "" #: src/olympusmn.cpp:582 msgid "One Touch WB 3" msgstr "" #: src/olympusmn.cpp:583 msgid "One Touch WB 4" msgstr "" #: src/olympusmn.cpp:584 msgid "Custom WB 1" msgstr "Personalizado WB 1" #: src/olympusmn.cpp:585 msgid "Custom WB 2" msgstr "Personalizado WB 2" #: src/olympusmn.cpp:586 msgid "Custom WB 3" msgstr "Personalizado WB 3" #: src/olympusmn.cpp:587 msgid "Custom WB 4" msgstr "Personalizado WB 4" #: src/olympusmn.cpp:593 msgid "CM1 (Red Enhance)" msgstr "CM1 (Rojo mejorado)" #: src/olympusmn.cpp:594 msgid "CM2 (Green Enhance)" msgstr "CM2 (Verde mejorado)" #: src/olympusmn.cpp:595 msgid "CM3 (Blue Enhance)" msgstr "CM3 (Azul mejorado)" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "CM4 (Tonos de piel)" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "Pro Photo RGB" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 msgid "Noise Filter" msgstr "Filtro de ruido" #: src/olympusmn.cpp:610 msgid "Noise Filter (ISO Boost)" msgstr "Filtro de ruido (ISO Boost)" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 msgid "Muted" msgstr "Mudo" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 msgid "Monotone" msgstr "Monotono" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "SQ" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "HQ" #: src/olympusmn.cpp:648 msgid "SHQ" msgstr "SHQ" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 msgid "On, Mode 1" msgstr "Activado, modo 1" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 msgid "On, Mode 2" msgstr "Activado, modo 2" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 msgid "On, Mode 3" msgstr "Activado, modo 3" #: src/olympusmn.cpp:661 msgid "Camera Settings Version" msgstr "Versión de la configuración de la cámara" #: src/olympusmn.cpp:661 msgid "Camera settings version" msgstr "Versión de la configuración de la cámara" #: src/olympusmn.cpp:662 msgid "PreviewImage Valid" msgstr "Vista previa válida" #: src/olympusmn.cpp:662 msgid "Preview image valid" msgstr "Vista previa válida" #: src/olympusmn.cpp:663 msgid "PreviewImage Start" msgstr "Inicio de vista previa" #: src/olympusmn.cpp:663 msgid "Preview image start" msgstr "Inicio de vista previa" #: src/olympusmn.cpp:664 msgid "PreviewImage Length" msgstr "Tamaño de vista previa" #: src/olympusmn.cpp:664 msgid "Preview image length" msgstr "Longitud de la imagen previa" #: src/olympusmn.cpp:666 msgid "Auto exposure lock" msgstr "Bloqueo de exposición automática" #: src/olympusmn.cpp:668 msgid "Exposure Shift" msgstr "" #: src/olympusmn.cpp:668 msgid "Exposure shift" msgstr "" #: src/olympusmn.cpp:671 msgid "Focus Process" msgstr "Proceso de foco" #: src/olympusmn.cpp:671 msgid "Focus process" msgstr "Proceso de foco" #: src/olympusmn.cpp:672 msgid "AF Search" msgstr "Búsqueda de AF" #: src/olympusmn.cpp:672 msgid "AF search" msgstr "Búsqueda AF" #: src/olympusmn.cpp:673 msgid "AF Areas" msgstr "Áreas AF" #: src/olympusmn.cpp:673 msgid "AF areas" msgstr "Áreas de AF" #: src/olympusmn.cpp:674 msgid "AFPointSelected" msgstr "" #: src/olympusmn.cpp:675 msgid "AF Fine Tune Adjust" msgstr "" #: src/olympusmn.cpp:675 msgid "AF fine tune adjust" msgstr "" #: src/olympusmn.cpp:678 msgid "Flash Remote Control" msgstr "" #: src/olympusmn.cpp:678 msgid "Flash remote control" msgstr "" #: src/olympusmn.cpp:679 msgid "Flash Control Mode" msgstr "" #: src/olympusmn.cpp:679 msgid "Flash control mode" msgstr "" #: src/olympusmn.cpp:680 msgid "Flash Intensity" msgstr "" #: src/olympusmn.cpp:680 msgid "Flash intensity" msgstr "" #: src/olympusmn.cpp:681 msgid "Manual Flash Strength" msgstr "" #: src/olympusmn.cpp:681 msgid "Manual flash strength" msgstr "" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 msgid "White Balance 2" msgstr "Balance de blancos 2" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 msgid "White balance 2" msgstr "Balance de blancos 2" #: src/olympusmn.cpp:683 msgid "White Balance Temperature" msgstr "Temperatura de balance de blancos" #: src/olympusmn.cpp:683 msgid "White balance temperature" msgstr "Temperatura de balance de blancos" #: src/olympusmn.cpp:685 msgid "Custom Saturation" msgstr "Saturación personalizada" #: src/olympusmn.cpp:685 msgid "Custom saturation" msgstr "Saturación personalizada" #: src/olympusmn.cpp:686 msgid "Modified Saturation" msgstr "Saturación modificada" #: src/olympusmn.cpp:686 msgid "Modified saturation" msgstr "Saturación modificada" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 msgid "Contrast Setting" msgstr "Configuración de Contraste" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 msgid "Sharpness Setting" msgstr "Configuración de nitidez" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion Correction" msgstr "Corrección de distorsión" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion correction" msgstr "Corrección de distorsión" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 msgid "Shading Compensation" msgstr "Compensación de sombra" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 msgid "Shading compensation" msgstr "Compensación de sombra" #: src/olympusmn.cpp:694 msgid "Compression Factor" msgstr "Factor de compresión" #: src/olympusmn.cpp:694 msgid "Compression factor" msgstr "Factor de compresión" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 msgid "Gradation" msgstr "Graduación" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 msgid "Picture mode" msgstr "Modo de imagen" #: src/olympusmn.cpp:697 msgid "Picture Mode Saturation" msgstr "Modo de saturación de imagen" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 msgid "Picture mode saturation" msgstr "Modo de saturación de imagen" #: src/olympusmn.cpp:698 msgid "Picture Mode Hue" msgstr "Modo de saturación de tono" #: src/olympusmn.cpp:698 msgid "Picture mode hue" msgstr "Modo de tono de imagen" #: src/olympusmn.cpp:699 msgid "Picture Mode Contrast" msgstr "Modo de saturación de contraste" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 msgid "Picture mode contrast" msgstr "Modo de contraste de imagen" #: src/olympusmn.cpp:700 msgid "Picture Mode Sharpness" msgstr "Modo de agudeza de imagen" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 msgid "Picture mode sharpness" msgstr "Modo de agudeza de imagen" #: src/olympusmn.cpp:701 msgid "Picture Mode BW Filter" msgstr "Modo de filtro de blanco y negro de imagen" #: src/olympusmn.cpp:701 msgid "Picture mode BW filter" msgstr "Modo de filtro de blanco y negro de imagen" #: src/olympusmn.cpp:702 msgid "Picture Mode Tone" msgstr "Modo de tono de imagen" #: src/olympusmn.cpp:702 msgid "Picture mode tone" msgstr "Modo de tono de imagen" #: src/olympusmn.cpp:703 msgid "Noise filter" msgstr "Filtro de ruido" #: src/olympusmn.cpp:704 msgid "Art Filter" msgstr "" #: src/olympusmn.cpp:704 msgid "Art filter" msgstr "" #: src/olympusmn.cpp:705 msgid "Magic Filter" msgstr "" #: src/olympusmn.cpp:705 msgid "Magic filter" msgstr "" #: src/olympusmn.cpp:707 msgid "Panorama Mode" msgstr "Modo panorama" #: src/olympusmn.cpp:707 msgid "Panorama mode" msgstr "Modo panorama" #: src/olympusmn.cpp:708 msgid "Image Quality 2" msgstr "Calidad de imagen 2" #: src/olympusmn.cpp:708 msgid "Image quality 2" msgstr "Calidad de imagen 2" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer Pressure" msgstr "Presión de manómetro" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer pressure" msgstr "Presión de manómetro" #: src/olympusmn.cpp:711 msgid "Manometer Reading" msgstr "Lectura de manómetro" #: src/olympusmn.cpp:711 msgid "Manometer reading" msgstr "Lectura de manómetro" #: src/olympusmn.cpp:712 msgid "Extended WB Detect" msgstr "Detección BN extendida" #: src/olympusmn.cpp:712 msgid "Extended WB detect" msgstr "Detección BN extendida" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "Indicador de nivel de inclinación lateral" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "Indicador de nivel de inclinación lateral" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "Indicador de nivel de inclinación frontal" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "Indicador de nivel de inclinación frontal" #: src/olympusmn.cpp:716 msgid "Unknown OlympusCs tag" msgstr "Etiqueta OlympusCs desconocida" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "E-System simple" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "E-System" #: src/olympusmn.cpp:745 msgid "Equipment Version" msgstr "Versión de equipamiento" #: src/olympusmn.cpp:745 msgid "Equipment version" msgstr "Versión de equipamiento" #: src/olympusmn.cpp:747 msgid "Serial number" msgstr "Número de serie" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 msgid "Lens Serial Number" msgstr "Número de serie de la lente" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 msgid "Lens serial number" msgstr "Número de serie de la lente" #: src/olympusmn.cpp:754 msgid "Lens Firmware Version" msgstr "Versión del firmware de las lentes" #: src/olympusmn.cpp:754 msgid "Lens firmware version" msgstr "Versión del firmware de las lentes" #: src/olympusmn.cpp:759 msgid "Max Aperture At Current Focal" msgstr "Máx. apertura con el foco actual" #: src/olympusmn.cpp:759 msgid "Max aperture at current focal" msgstr "Máx. apertura con el foco actual" #: src/olympusmn.cpp:760 msgid "Lens Properties" msgstr "Propiedades de las lentes" #: src/olympusmn.cpp:760 msgid "Lens properties" msgstr "Propiedades de las lentes" #: src/olympusmn.cpp:761 msgid "Extender" msgstr "Extensor" #: src/olympusmn.cpp:762 msgid "Extender Serial Number" msgstr "Número de serie extendido" #: src/olympusmn.cpp:762 msgid "Extender serial number" msgstr "Número de serie extendido" #: src/olympusmn.cpp:763 msgid "Extender Model" msgstr "Modelo extendido" #: src/olympusmn.cpp:763 msgid "Extender model" msgstr "Modelo extendido" #: src/olympusmn.cpp:764 msgid "Extender Firmware Version" msgstr "Versión de firmware extendida" #: src/olympusmn.cpp:764 msgid "Extender firmwareversion" msgstr "Versión de firmware extendida" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion Lens" msgstr "Objetivo de conversión" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion lens" msgstr "Objetivo de conversión" #: src/olympusmn.cpp:767 src/properties.cpp:402 msgid "Flash Model" msgstr "Modelo de flash" #: src/olympusmn.cpp:767 msgid "Flash model" msgstr "Modelo de flash" #: src/olympusmn.cpp:768 msgid "Flash Firmware Version" msgstr "Versión del firmware de flash" #: src/olympusmn.cpp:768 msgid "Flash firmware version" msgstr "Versión del firmware de flash" #: src/olympusmn.cpp:769 msgid "FlashSerialNumber" msgstr "NúmerodeSeriedeFlash" #: src/olympusmn.cpp:771 msgid "Unknown OlympusEq tag" msgstr "Etiqueta OlympusEq desconocida" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 msgid "High Speed" msgstr "Alta velocidad" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 msgid "High Function" msgstr "Función superior" #: src/olympusmn.cpp:790 msgid "Advanced High Speed" msgstr "Alta velocidad avanzada" #: src/olympusmn.cpp:791 msgid "Advanced High Function" msgstr "Función superior avanzada" #: src/olympusmn.cpp:796 msgid "Original" msgstr "Original" #: src/olympusmn.cpp:797 msgid "Edited (Landscape)" msgstr "Editado (Paisaje)" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 msgid "Edited (Portrait)" msgstr "Editado (Retrato)" #: src/olympusmn.cpp:804 msgid "WB Color Temp" msgstr "Temperatura de color BN" #: src/olympusmn.cpp:805 msgid "WB Gray Point" msgstr "Punto gris BN" #: src/olympusmn.cpp:815 msgid "Raw Development Version" msgstr "Versión de desarrollo en bruto" #: src/olympusmn.cpp:815 msgid "Raw development version" msgstr "Versión de desarrollo en bruto" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 msgid "Exposure Bias Value" msgstr "Valor de la compensación de exposición" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 msgid "Exposure bias value" msgstr "Valor de la compensación de exposición" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White Balance Value" msgstr "Valor de balance de blancos" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White balance value" msgstr "Valor de balance de blancos" #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 msgid "WB Fine Adjustment" msgstr "Ajuste fino BN" #: src/olympusmn.cpp:818 msgid "WB fine adjustment" msgstr "Ajuste fino BN" #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 msgid "Gray Point" msgstr "Punto de gris" #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 msgid "Gray point" msgstr "Punto de gris" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation Emphasis" msgstr "Énfasis de saturación" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation emphasis" msgstr "Énfasis de saturación" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory Color Emphasis" msgstr "Énfasis de color de memoria" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory color emphasis" msgstr "Énfasis de color de memoria" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast Value" msgstr "Valor de contraste" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast value" msgstr "Valor de contraste" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness Value" msgstr "valor de agudeza" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness value" msgstr "Valor de agudeza" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 msgid "Engine" msgstr "Motor" #: src/olympusmn.cpp:827 msgid "Edit status" msgstr "Editar estado" #: src/olympusmn.cpp:828 msgid "Settings" msgstr "Configuración" #: src/olympusmn.cpp:830 msgid "Unknown OlympusRd tag" msgstr "Etiqueta OlympusRd desconocida" #: src/olympusmn.cpp:885 msgid "Raw Development 2 Version" msgstr "Desarrollo raw versión 2" #: src/olympusmn.cpp:885 msgid "Raw development 2 version" msgstr "Desarrollo raw versión 2" #: src/olympusmn.cpp:889 msgid "White balance fine adjustment" msgstr "Ajuste de balance fino de blancos" #: src/olympusmn.cpp:899 msgid "PM Saturation" msgstr "Saturación PM" #: src/olympusmn.cpp:900 msgid "PM Contrast" msgstr "Contraste PM" #: src/olympusmn.cpp:901 msgid "PM Sharpness" msgstr "Agudeza PM" #: src/olympusmn.cpp:902 msgid "PM BW Filter" msgstr "Filtro de BN PM" #: src/olympusmn.cpp:902 msgid "PM BW filter" msgstr "Filtro BN PM" #: src/olympusmn.cpp:903 msgid "PM Picture Tone" msgstr "Tono de imagen PM" #: src/olympusmn.cpp:903 msgid "PM picture tone" msgstr "Tono de imagen PM" #: src/olympusmn.cpp:906 msgid "Auto Gradation" msgstr "Autograduación" #: src/olympusmn.cpp:906 msgid "Auto gradation" msgstr "Graduación automática" #: src/olympusmn.cpp:907 msgid "PM Noise Filter" msgstr "Filtro de ruido PM" #: src/olympusmn.cpp:907 msgid "Picture mode noise filter" msgstr "Filtro de ruido modo imagen" #: src/olympusmn.cpp:909 msgid "Unknown OlympusRd2 tag" msgstr "Etiqueta OlympusRd2 desconocida" #: src/olympusmn.cpp:920 msgid "On (2 frames)" msgstr "" #: src/olympusmn.cpp:921 msgid "On (3 frames)" msgstr "" #: src/olympusmn.cpp:938 msgid "Image Processing Version" msgstr "Versión de proceso de imagen" #: src/olympusmn.cpp:938 msgid "Image processing version" msgstr "Versión de proceso de imagen" #: src/olympusmn.cpp:940 msgid "WB RB Levels 3000K" msgstr "BN RB niveles 3000K" #: src/olympusmn.cpp:940 msgid "WB RB levels 3000K" msgstr "BN RB niveles 3000K" #: src/olympusmn.cpp:941 msgid "WB RB Levels 3300K" msgstr "BN RB niveles 3300K" #: src/olympusmn.cpp:941 msgid "WB RB levels 3300K" msgstr "BN RB niveles 3300K" #: src/olympusmn.cpp:942 msgid "WB RB Levels 3600K" msgstr "BN RB niveles 3600K" #: src/olympusmn.cpp:942 msgid "WB RB levels 3600K" msgstr "BN RB niveles 3600K" #: src/olympusmn.cpp:943 msgid "WB RB Levels 3900K" msgstr "BN RB niveles 3900K" #: src/olympusmn.cpp:943 msgid "WB RB levels 3900K" msgstr "BN RB niveles 3900K" #: src/olympusmn.cpp:944 msgid "WB RB Levels 4000K" msgstr "BN RB niveles 4000K" #: src/olympusmn.cpp:944 msgid "WB RB levels 4000K" msgstr "BN RB niveles 4000K" #: src/olympusmn.cpp:945 msgid "WB RB Levels 4300K" msgstr "BN RB niveles 4300K" #: src/olympusmn.cpp:945 msgid "WB RB levels 4300K" msgstr "BN RB niveles 4300K" #: src/olympusmn.cpp:946 msgid "WB RB Levels 4500K" msgstr "BN RB niveles 4500K" #: src/olympusmn.cpp:946 msgid "WB RB levels 4500K" msgstr "BN RB niveles 4500K" #: src/olympusmn.cpp:947 msgid "WB RB Levels 4800K" msgstr "BN RB niveles 4800K" #: src/olympusmn.cpp:947 msgid "WB RB levels 4800K" msgstr "BN RB niveles 4800K" #: src/olympusmn.cpp:948 msgid "WB RB Levels 5300K" msgstr "BN RB niveles 5300K" #: src/olympusmn.cpp:948 msgid "WB RB levels 5300K" msgstr "BN RB niveles 5300K" #: src/olympusmn.cpp:949 msgid "WB RB Levels 6000K" msgstr "BN RB niveles 6000K" #: src/olympusmn.cpp:949 msgid "WB RB levels 6000K" msgstr "BN RB niveles 6000K" #: src/olympusmn.cpp:950 msgid "WB RB Levels 6600K" msgstr "BN RB niveles 6600K" #: src/olympusmn.cpp:950 msgid "WB RB levels 6600K" msgstr "BN RB niveles 6600K" #: src/olympusmn.cpp:951 msgid "WB RB Levels 7500K" msgstr "BN RB niveles 7500K" #: src/olympusmn.cpp:951 msgid "WB RB levels 7500K" msgstr "BN RB niveles 7500K" #: src/olympusmn.cpp:952 msgid "WB RB Levels CWB1" msgstr "BN RB Niveles CWB1" #: src/olympusmn.cpp:952 msgid "WB RB levels CWB1" msgstr "BN RB niveles CWB1" #: src/olympusmn.cpp:953 msgid "WB RB Levels CWB2" msgstr "BN RB Niveles CWB2" #: src/olympusmn.cpp:953 msgid "WB RB levels CWB2" msgstr "BN RB niveles CWB2" #: src/olympusmn.cpp:954 msgid "WB RB Levels CWB3" msgstr "BN RB niveles CWB3" #: src/olympusmn.cpp:954 msgid "WB RB levels CWB3" msgstr "BN RB niveles CWB3" #: src/olympusmn.cpp:955 msgid "WB RB Levels CWB4" msgstr "BN RB niveles CWB4" #: src/olympusmn.cpp:955 msgid "WB RB levels CWB4" msgstr "BN RB niveles CWB4" #: src/olympusmn.cpp:956 msgid "WB G Level 3000K" msgstr "Nivel BN G 3000K" #: src/olympusmn.cpp:956 msgid "WB G level 3000K" msgstr "Nivel BN G 3000K" #: src/olympusmn.cpp:957 msgid "WB G Level 3300K" msgstr "Nivel BN G 3300K" #: src/olympusmn.cpp:957 msgid "WB G level 3300K" msgstr "Nivel BN G 3300K" #: src/olympusmn.cpp:958 msgid "WB G Level 3600K" msgstr "Nivel BN G 3600K" #: src/olympusmn.cpp:958 msgid "WB G level 3600K" msgstr "Nivel BN G 3600K" #: src/olympusmn.cpp:959 msgid "WB G Level 3900K" msgstr "Nivel BN G 3900K" #: src/olympusmn.cpp:959 msgid "WB G level 3900K" msgstr "Nivel BN G 3900K" #: src/olympusmn.cpp:960 msgid "WB G Level 4000K" msgstr "Nivel BN G 4000K" #: src/olympusmn.cpp:960 msgid "WB G level 4000K" msgstr "Nivel BN G 4000K" #: src/olympusmn.cpp:961 msgid "WB G Level 4300K" msgstr "Nivel BN G 4300K" #: src/olympusmn.cpp:961 msgid "WB G level 4300K" msgstr "Nivel BN G 4300K" #: src/olympusmn.cpp:962 msgid "WB G Level 4500K" msgstr "Nivel BN G 4500K" #: src/olympusmn.cpp:962 msgid "WB G level 4500K" msgstr "Nivel BN G 4500K" #: src/olympusmn.cpp:963 msgid "WB G Level 4800K" msgstr "Nivel BN G 4800K" #: src/olympusmn.cpp:963 msgid "WB G level 4800K" msgstr "Nivel BN G 4800K" #: src/olympusmn.cpp:964 msgid "WB G Level 5300K" msgstr "Nivel BN G 5300K" #: src/olympusmn.cpp:964 msgid "WB G level 5300K" msgstr "Nivel BN G 5300K" #: src/olympusmn.cpp:965 msgid "WB G Level 6000K" msgstr "Nivel BN G 6000K" #: src/olympusmn.cpp:965 msgid "WB G level 6000K" msgstr "Nivel BN G 6000K" #: src/olympusmn.cpp:966 msgid "WB G Level 6600K" msgstr "Nivel BN G 6600K" #: src/olympusmn.cpp:966 msgid "WB G level 6600K" msgstr "Nivel BN G 6600K" #: src/olympusmn.cpp:967 msgid "WB G Level 7500K" msgstr "Nivel BN G 7500K" #: src/olympusmn.cpp:967 msgid "WB G level 7500K" msgstr "Nivel BN G 7500K" #: src/olympusmn.cpp:968 msgid "WB G Level" msgstr "Nivel BN G" #: src/olympusmn.cpp:968 msgid "WB G level" msgstr "Nivel BN G" #: src/olympusmn.cpp:970 msgid "Enhancer" msgstr "Mejorador" #: src/olympusmn.cpp:971 msgid "Enhancer Values" msgstr "Valores del mejorador" #: src/olympusmn.cpp:971 msgid "Enhancer values" msgstr "Valores del mejorador" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 msgid "Coring Filter" msgstr "Filtro coring" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 msgid "Coring Values" msgstr "Valores coring" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 msgid "Coring values" msgstr "Valores coring" #: src/olympusmn.cpp:974 src/tags.cpp:915 msgid "Black Level" msgstr "Nivel de negro" #: src/olympusmn.cpp:975 msgid "Gain Base" msgstr "Base de ganancia" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "Base de ganancia" #: src/olympusmn.cpp:976 msgid "Valid Bits" msgstr "Bits válidos" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 msgid "Crop Left" msgstr "Recortar por la izquierda" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 msgid "Crop left" msgstr "Recorte a la izquierda" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 msgid "Crop Top" msgstr "Recorte superior" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 msgid "Crop top" msgstr "Recorte superior" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 msgid "Crop Width" msgstr "Recorte de anchura" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 msgid "Crop width" msgstr "Recorte de anchura" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 msgid "Crop Height" msgstr "Recortar altura" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 msgid "Crop height" msgstr "Recortar altura" #: src/olympusmn.cpp:984 msgid "Multiple Exposure Mode" msgstr "" #: src/olympusmn.cpp:984 msgid "Multiple exposure mode" msgstr "" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 msgid "Aspect Ratio" msgstr "Ratio de aspecto" #: src/olympusmn.cpp:985 msgid "Aspect ratio" msgstr "Ratio de aspecto" #: src/olympusmn.cpp:986 msgid "Aspect Frame" msgstr "Marco de aspecto" #: src/olympusmn.cpp:986 msgid "Aspect frame" msgstr "Marco de aspecto" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 msgid "Face Detect" msgstr "Detección de la cara" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 msgid "Face detect" msgstr "Detección de la cara" #: src/olympusmn.cpp:988 msgid "Face Detect Area" msgstr "Área de detección de la cara" #: src/olympusmn.cpp:988 msgid "Face detect area" msgstr "Área de detección de la cara" #: src/olympusmn.cpp:990 msgid "Unknown OlympusIp tag" msgstr "Etiqueta OlympusIp desconocida" #: src/olympusmn.cpp:1000 msgid "Bounce or Off" msgstr "Rebote o desactivar" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "Directo" #: src/olympusmn.cpp:1005 msgid "Focus Info Version" msgstr "Versión de información de foco" #: src/olympusmn.cpp:1005 msgid "Focus info version" msgstr "Versión de información de foco" #: src/olympusmn.cpp:1006 msgid "Auto Focus" msgstr "Enfoque automático" #: src/olympusmn.cpp:1007 msgid "Scene Detect" msgstr "Detección de escena" #: src/olympusmn.cpp:1007 msgid "Scene detect" msgstr "Detección de escena" #: src/olympusmn.cpp:1008 msgid "Scene Area" msgstr "Área de escena" #: src/olympusmn.cpp:1008 msgid "Scene area" msgstr "Área de escena" #: src/olympusmn.cpp:1009 msgid "Scene Detect Data" msgstr "Datos de detección de escena" #: src/olympusmn.cpp:1009 msgid "Scene detect data" msgstr "Datos de detección de escena" #: src/olympusmn.cpp:1010 msgid "Zoom Step Count" msgstr "Recuento de pasos del zoom" #: src/olympusmn.cpp:1011 msgid "Focus Step Count" msgstr "Recuento de pasos del enfoque" #: src/olympusmn.cpp:1011 msgid "Focus step count" msgstr "Recuento de pasos del enfoque" #: src/olympusmn.cpp:1012 msgid "Focus Step Infinity" msgstr "Paso de foco infinito" #: src/olympusmn.cpp:1012 msgid "Focus step infinity" msgstr "Paso de foco infinito" #: src/olympusmn.cpp:1013 msgid "Focus Step Near" msgstr "Paso de foco cercano" #: src/olympusmn.cpp:1013 msgid "Focus step near" msgstr "Paso de foco cercano" #: src/olympusmn.cpp:1016 msgid "External Flash" msgstr "Flash externo" #: src/olympusmn.cpp:1017 msgid "External Flash Guide Number" msgstr "Número de guía de flash externo" #: src/olympusmn.cpp:1017 msgid "External flash guide number" msgstr "Número de guía de flash externo" #: src/olympusmn.cpp:1021 msgid "Manual Flash" msgstr "Flash manual" #: src/olympusmn.cpp:1021 msgid "Manual flash" msgstr "Flash manual" #: src/olympusmn.cpp:1025 msgid "Unknown OlympusFi tag" msgstr "Etiqueta OlympusFi desconocida" #: src/olympusmn.cpp:1036 msgid "Unknown OlympusFe tag" msgstr "Etiqueta OlympusFe desconocida" #: src/olympusmn.cpp:1049 msgid "Fine Weather" msgstr "Buen tiempo" #: src/olympusmn.cpp:1050 msgid "Tungsten (incandescent)" msgstr "Tungsteno (incandescente)" #: src/olympusmn.cpp:1051 msgid "Evening Sunlight" msgstr "Luz nocturna" #: src/olympusmn.cpp:1052 msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "Fluorescente día (D 5700 - 7100K)" #: src/olympusmn.cpp:1053 msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "Fluorescente de día blanco (N 4600 - 5400K)" #: src/olympusmn.cpp:1054 msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "Fluorescente blanco frio (W 3900 - 4500K)" #: src/olympusmn.cpp:1055 msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "Fluorescente blanco (WW 3200 - 3700K)" #: src/olympusmn.cpp:1056 msgid "One Touch White Balance" msgstr "Balance de blancos automático" #: src/olympusmn.cpp:1057 msgid "Custom 1-4" msgstr "Personalizado 1-4" #: src/olympusmn.cpp:1061 msgid "Raw Info Version" msgstr "Versión de información en bruto" #: src/olympusmn.cpp:1061 msgid "Raw info version" msgstr "Versión de información en bruto" #: src/olympusmn.cpp:1062 msgid "WB_RB Levels Used" msgstr "Niveles BN_RB usados" #: src/olympusmn.cpp:1062 msgid "WB_RB levels used" msgstr "Niveles BN_RB usados" #: src/olympusmn.cpp:1063 msgid "WB_RB Levels Auto" msgstr "Niveles BN_RB auto" #: src/olympusmn.cpp:1063 msgid "WB_RB levels auto" msgstr "Niveles BN_RB auto" #: src/olympusmn.cpp:1064 msgid "WB_RB Levels Shade" msgstr "Niveles BN_RB sombra" #: src/olympusmn.cpp:1064 msgid "WB_RB levels shade" msgstr "Niveles BN_RB sombra" #: src/olympusmn.cpp:1065 msgid "WB_RB Levels Cloudy" msgstr "Niveles BN_RB nublado" #: src/olympusmn.cpp:1065 msgid "WB_RB levels cloudy" msgstr "Niveles BN_RB nublado" #: src/olympusmn.cpp:1066 msgid "WB_RB Levels Fine Weather" msgstr "Niveles BN_RB buen tiempo" #: src/olympusmn.cpp:1066 msgid "WB_RB levels fine weather" msgstr "Niveles BN_RB buen tiempo" #: src/olympusmn.cpp:1067 msgid "WB_RB Levels Tungsten" msgstr "Niveles BN_RB tungsteno" #: src/olympusmn.cpp:1067 msgid "WB_RB levels tungsten" msgstr "Niveles BN_RB tungsteno" #: src/olympusmn.cpp:1068 msgid "WB_RB Levels Evening Sunlight" msgstr "Niveles de luz solar WB_RB" #: src/olympusmn.cpp:1068 msgid "WB_RB levels evening sunlight" msgstr "Niveles de luz solar WB_RB" #: src/olympusmn.cpp:1069 msgid "WB_RB Levels Daylight Fluor" msgstr "Niveles BN_RB luz día fluor" #: src/olympusmn.cpp:1069 msgid "WB_RB levels daylight fluor" msgstr "Niveles BN_RB luz día fluor" #: src/olympusmn.cpp:1070 msgid "WB_RB Levels Day White Fluor" msgstr "Niveles BN_RB día fluor blanco" #: src/olympusmn.cpp:1070 msgid "WB_RB levels day white fluor" msgstr "Niveles BN_RB día fluor blanco" #: src/olympusmn.cpp:1071 msgid "WB_RB Levels Cool White Fluor" msgstr "Niveles BN_RB fluorescente blanco frío" #: src/olympusmn.cpp:1071 msgid "WB_RB levels cool white fluor" msgstr "Niveles BN_RB fluorescente blanco frío" #: src/olympusmn.cpp:1072 msgid "WB_RB Levels White Fluorescent" msgstr "Niveles BN_RB fluorescente blanco" #: src/olympusmn.cpp:1072 msgid "WB_RB levels white fluorescent" msgstr "Niveles BN_RB blanco fluorescente" #: src/olympusmn.cpp:1073 msgid "Color Matrix2" msgstr "Color Matriz2" #: src/olympusmn.cpp:1073 msgid "Color matrix 2" msgstr "Matriz de color 2" #: src/olympusmn.cpp:1076 msgid "Black Level 2" msgstr "Nivel de negro 2" #: src/olympusmn.cpp:1076 msgid "Black level 2" msgstr "Nivel de negro 2" #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 msgid "YCbCr Coefficients" msgstr "Coeficientes YCbCr" #: src/olympusmn.cpp:1077 msgid "YCbCr coefficients" msgstr "Coeficientes YCbCr" #: src/olympusmn.cpp:1078 msgid "Valid Pixel Depth" msgstr "Profundidad de píxel válida" #: src/olympusmn.cpp:1078 msgid "Valid pixel depth" msgstr "Profundidad de píxel válida" #: src/olympusmn.cpp:1084 msgid "White Balance Comp" msgstr "Compensación de balance de blancos" #: src/olympusmn.cpp:1084 msgid "White balance comp" msgstr "Compensación de balance de blancos" #: src/olympusmn.cpp:1085 msgid "Saturation Setting" msgstr "Configuración de saturación" #: src/olympusmn.cpp:1086 msgid "Hue Setting" msgstr "Configuración de tono" #: src/olympusmn.cpp:1086 msgid "Hue setting" msgstr "Configuración de tono" #: src/olympusmn.cpp:1089 msgid "CM Exposure Compensation" msgstr "Compensación de exposición CM" #: src/olympusmn.cpp:1089 msgid "CM exposure compensation" msgstr "Compensación de exposición CM" #: src/olympusmn.cpp:1090 msgid "CM White Balance" msgstr "Balance de blancos CM" #: src/olympusmn.cpp:1090 msgid "CM white balance" msgstr "Balance de blancos CM" #: src/olympusmn.cpp:1091 msgid "CM White Balance Comp" msgstr "Compensación de balance de blancos CM" #: src/olympusmn.cpp:1091 msgid "CM white balance comp" msgstr "Compensación de balance de blancos CM" #: src/olympusmn.cpp:1092 msgid "CM White Balance Gray Point" msgstr "Punto gris de balance de blancos CM" #: src/olympusmn.cpp:1092 msgid "CM white balance gray point" msgstr "Punto gris de balance de blancos CM" #: src/olympusmn.cpp:1093 msgid "CM Saturation" msgstr "Saturación CM" #: src/olympusmn.cpp:1093 msgid "CM saturation" msgstr "Saturación CM" #: src/olympusmn.cpp:1094 msgid "CM Hue" msgstr "Tono CM" #: src/olympusmn.cpp:1094 msgid "CM hue" msgstr "Tono CM" #: src/olympusmn.cpp:1095 msgid "CM Contrast" msgstr "Contraste CM" #: src/olympusmn.cpp:1095 msgid "CM contrast" msgstr "Contraste CM" #: src/olympusmn.cpp:1096 msgid "CM Sharpness" msgstr "Agudeza CM" #: src/olympusmn.cpp:1096 msgid "CM sharpness" msgstr "Agudeza CM" #: src/olympusmn.cpp:1098 msgid "Unknown OlympusRi tag" msgstr "Etiqueta OlympusRi desconocida" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 msgid "User-Selected" msgstr "Seleccionado por el usuario" #: src/olympusmn.cpp:1122 msgid "Auto-Override" msgstr "Auto-Reemplazar" #: src/olympusmn.cpp:1158 msgid "Fast" msgstr "Rápido" #: src/olympusmn.cpp:1223 msgid "3000 Kelvin" msgstr "3000 Kelvin" #: src/olympusmn.cpp:1224 msgid "3700 Kelvin" msgstr "3700 Kelvin" #: src/olympusmn.cpp:1225 msgid "4000 Kelvin" msgstr "4000 Kelvin" #: src/olympusmn.cpp:1226 msgid "4500 Kelvin" msgstr "4500 Kelvin" #: src/olympusmn.cpp:1227 msgid "5500 Kelvin" msgstr "5500 Kelvin" #: src/olympusmn.cpp:1228 msgid "6500 Kelvin" msgstr "6500 Kelvin" #: src/olympusmn.cpp:1229 msgid "7500 Kelvin" msgstr "7500 Kelvin" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "Un-toque" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "" #: src/olympusmn.cpp:1456 msgid "Imager AF" msgstr "Enfoque automático Imager" #: src/olympusmn.cpp:1457 msgid "AF sensor" msgstr "" #: src/olympusmn.cpp:1502 msgid "Soft Focus" msgstr "" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "" #: src/olympusmn.cpp:1505 msgid "Light Tone" msgstr "" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "Agujero del pasador" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "" #: src/olympusmn.cpp:1508 msgid "Diorama" msgstr "" #: src/olympusmn.cpp:1509 msgid "Cross Process" msgstr "" #: src/olympusmn.cpp:1510 msgid "Fish Eye" msgstr "" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "" #: src/olympusmn.cpp:1513 msgid "Pale & Light Color II" msgstr "" #: src/olympusmn.cpp:1514 msgid "Pop Art II" msgstr "" #: src/olympusmn.cpp:1515 msgid "Pin Hole II" msgstr "" #: src/olympusmn.cpp:1516 msgid "Pin Hole III" msgstr "" #: src/olympusmn.cpp:1517 msgid "Grainy Film II" msgstr "" #: src/olympusmn.cpp:1518 msgid "Dramatic Tone" msgstr "" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "" #: src/olympusmn.cpp:1520 msgid "Soft Focus 2" msgstr "" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "" #: src/olympusmn.cpp:1522 msgid "Watercolor" msgstr "" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "" #: src/olympusmn.cpp:1525 msgid "Miniature" msgstr "" #: src/olympusmn.cpp:1526 msgid "Reflection" msgstr "" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "" #: src/olympusmn.cpp:1528 msgid "Cross Process II" msgstr "" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "" #: src/olympusmn.cpp:1530 msgid "Watercolor I" msgstr "" #: src/olympusmn.cpp:1531 msgid "Watercolor II" msgstr "" #: src/olympusmn.cpp:1532 msgid "Diorama II" msgstr "" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "" #: src/olympusmn.cpp:1534 msgid "Vintage II" msgstr "" #: src/olympusmn.cpp:1535 msgid "Vintage III" msgstr "" #: src/olympusmn.cpp:1536 msgid "Partial Color" msgstr "" #: src/olympusmn.cpp:1537 msgid "Partial Color II" msgstr "" #: src/olympusmn.cpp:1538 msgid "Partial Color III" msgstr "" #: src/olympusmn.cpp:1608 msgid "Left (or n/a)" msgstr "" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 msgid "Center (horizontal)" msgstr "" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 msgid "Center (vertical)" msgstr "" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1623 msgid "Top-center (horizontal)" msgstr "" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1625 msgid "Left (horizontal)" msgstr "" #: src/olympusmn.cpp:1626 msgid "Mid-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1628 msgid "Mid-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1629 msgid "Right (horizontal)" msgstr "" #: src/olympusmn.cpp:1630 msgid "Bottom-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1631 msgid "Bottom-center (horizontal)" msgstr "" #: src/olympusmn.cpp:1632 msgid "Bottom-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "" #: src/olympusmn.cpp:1634 msgid "Top-center (vertical)" msgstr "" #: src/olympusmn.cpp:1635 msgid "Top-right (vertical)" msgstr "" #: src/olympusmn.cpp:1636 msgid "Left (vertical)" msgstr "" #: src/olympusmn.cpp:1637 msgid "Mid-left (vertical)" msgstr "" #: src/olympusmn.cpp:1639 msgid "Mid-right (vertical)" msgstr "" #: src/olympusmn.cpp:1640 msgid "Right (vertical)" msgstr "" #: src/olympusmn.cpp:1641 msgid "Bottom-left (vertical)" msgstr "" #: src/olympusmn.cpp:1642 msgid "Bottom-center (vertical)" msgstr "" #: src/olympusmn.cpp:1643 msgid "Bottom-right (vertical)" msgstr "" #: src/olympusmn.cpp:1680 msgid "Single Target" msgstr "" #: src/olympusmn.cpp:1681 msgid "All Target" msgstr "" #: src/olympusmn.cpp:1682 msgid "Dynamic Single Target" msgstr "" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "TIFF" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 msgid "Very High" msgstr "Muy alta" #: src/panasonicmn.cpp:60 msgid "Motion Picture" msgstr "Imagen en movimiento" #: src/panasonicmn.cpp:61 msgid "Full HD Movie" msgstr "" #: src/panasonicmn.cpp:62 msgid "4k Movie" msgstr "Película 4k" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "Halógeno" #: src/panasonicmn.cpp:83 msgid "Auto, focus button" msgstr "Botón de autofoco" #: src/panasonicmn.cpp:84 msgid "Auto, continuous" msgstr "Auto, continuo" #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "AF-S" #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "AF-C" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 msgid "Panning" msgstr "Balanceo" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "Tele-macro" #: src/panasonicmn.cpp:104 msgid "Macro-zoom" msgstr "" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 msgid "Scenery" msgstr "Escena" #: src/panasonicmn.cpp:117 msgid "Shutter-speed priority" msgstr "Prioridad de velocidad de disparo" #: src/panasonicmn.cpp:121 msgid "Movie preview" msgstr "Vista previa de película" #: src/panasonicmn.cpp:123 msgid "Simple" msgstr "Simple" #: src/panasonicmn.cpp:124 msgid "Color effects" msgstr "Efectos de color" #: src/panasonicmn.cpp:130 msgid "Night scenery" msgstr "Pasaje nocturna" #: src/panasonicmn.cpp:132 msgid "Baby" msgstr "Bebé" #: src/panasonicmn.cpp:133 msgid "Soft skin" msgstr "Piel suave" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 msgid "Candlelight" msgstr "Luz de vela" #: src/panasonicmn.cpp:135 msgid "Starry night" msgstr "Noche estrellada" #: src/panasonicmn.cpp:136 msgid "High sensitivity" msgstr "Alta sensibilidad" #: src/panasonicmn.cpp:137 msgid "Panorama assist" msgstr "Asistente de panorama" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "Foto aérea" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 msgid "Intelligent ISO" msgstr "ISO inteligente" #: src/panasonicmn.cpp:144 msgid "Clipboard" msgstr "" #: src/panasonicmn.cpp:145 msgid "High speed continuous shooting" msgstr "Disparador continuo de alta velocidad" #: src/panasonicmn.cpp:146 msgid "Intelligent auto" msgstr "Auto inteligente" #: src/panasonicmn.cpp:147 msgid "Multi-aspect" msgstr "" #: src/panasonicmn.cpp:148 msgid "Transform" msgstr "" #: src/panasonicmn.cpp:149 msgid "Flash Burst" msgstr "" #: src/panasonicmn.cpp:151 msgid "Film Grain" msgstr "" #: src/panasonicmn.cpp:152 msgid "My Color" msgstr "Mi color" #: src/panasonicmn.cpp:153 msgid "Photo Frame" msgstr "" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 msgid "Handheld Night Shot" msgstr "" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 msgid "Creative Control" msgstr "" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 msgid "Digital Filter" msgstr "Filtro digital" #: src/panasonicmn.cpp:162 msgid "Clear Portrait" msgstr "" #: src/panasonicmn.cpp:163 msgid "Silky Skin" msgstr "" #: src/panasonicmn.cpp:164 msgid "Backlit Softness" msgstr "" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "" #: src/panasonicmn.cpp:166 msgid "Relaxing Tone" msgstr "" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "" #: src/panasonicmn.cpp:168 msgid "Distinct Scenery" msgstr "" #: src/panasonicmn.cpp:169 msgid "Bright Blue Sky" msgstr "" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "" #: src/panasonicmn.cpp:177 msgid "Glittering Illuminations" msgstr "" #: src/panasonicmn.cpp:178 msgid "Clear Night Portrait" msgstr "" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "" #: src/panasonicmn.cpp:181 msgid "Cute Desert" msgstr "" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "" #: src/panasonicmn.cpp:183 msgid "Clear Sports Shot" msgstr "" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "" #: src/panasonicmn.cpp:198 msgid "Warm" msgstr "Cálido" #: src/panasonicmn.cpp:199 msgid "Cool" msgstr "Frío" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "" #: src/panasonicmn.cpp:208 msgid "Low/High quality" msgstr "Calidad alta/baja" #: src/panasonicmn.cpp:209 msgid "Infinite" msgstr "Infinito" #: src/panasonicmn.cpp:217 msgid "Medium low" msgstr "Medio bajo" #: src/panasonicmn.cpp:218 msgid "Medium high" msgstr "Medio alto" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "Bajo (-1)" #: src/panasonicmn.cpp:229 msgid "High (+1)" msgstr "Alto (+1)" #: src/panasonicmn.cpp:230 msgid "Lowest (-2)" msgstr "Menor (-2)" #: src/panasonicmn.cpp:231 msgid "Highest (+2)" msgstr "Mayor (+2)" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 msgid "Rotate 180" msgstr "" #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "" #: src/panasonicmn.cpp:254 msgid "Disabled but Required" msgstr "" #: src/panasonicmn.cpp:255 msgid "Disabled and Not Required" msgstr "" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "Óptica EX" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "Telefoto" #: src/panasonicmn.cpp:282 src/properties.cpp:915 msgid "Home" msgstr "Página de inicio" #: src/panasonicmn.cpp:294 msgid "Standard (color)" msgstr "Estándar (color)" #: src/panasonicmn.cpp:295 msgid "Dynamic (color)" msgstr "Dinámico (color)" #: src/panasonicmn.cpp:296 msgid "Nature (color)" msgstr "Natural (color)" #: src/panasonicmn.cpp:297 msgid "Smooth (color)" msgstr "Suave (color)" #: src/panasonicmn.cpp:298 msgid "Standard (B&W)" msgstr "Estándar (B y N)" #: src/panasonicmn.cpp:299 msgid "Dynamic (B&W)" msgstr "Dinámico (B y N)" #: src/panasonicmn.cpp:300 msgid "Smooth (B&W)" msgstr "Suave (B y N)" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "Vibrante" #: src/panasonicmn.cpp:307 msgid "No Bracket" msgstr "" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:319 msgid "1st" msgstr "" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "" #: src/panasonicmn.cpp:349 msgid "Extended" msgstr "" #: src/panasonicmn.cpp:368 msgid "NoAuto" msgstr "" #: src/panasonicmn.cpp:369 msgid "Standard or Custom" msgstr "Estándar o personalizado" #: src/panasonicmn.cpp:386 msgid "Rotate CW" msgstr "" #: src/panasonicmn.cpp:388 msgid "Rotate CCW" msgstr "" #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "" # ### ? #: src/panasonicmn.cpp:396 msgid "Left to Right" msgstr "De izquierda a derecha" #: src/panasonicmn.cpp:397 msgid "Right to Left" msgstr "de derecha a izquiera" #: src/panasonicmn.cpp:398 msgid "Top to Bottom" msgstr "de arriba a abajo" #: src/panasonicmn.cpp:399 msgid "Bottom to Top" msgstr "de abajo a arriba" #: src/panasonicmn.cpp:405 msgid "Time Lapse" msgstr "" #: src/panasonicmn.cpp:406 msgid "Stop-Motion Animation" msgstr "" #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "" #: src/panasonicmn.cpp:423 msgid "Electronic" msgstr "" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "Audio" #: src/panasonicmn.cpp:453 msgid "White balance adjustment" msgstr "Ajuste de balance de blancos" #: src/panasonicmn.cpp:454 msgid "FlashBias" msgstr "Ajuste de flash" #: src/panasonicmn.cpp:456 src/tags.cpp:194 msgid "Exif version" msgstr "Versión Exif" #: src/panasonicmn.cpp:458 msgid "Color Effect" msgstr "Efecto de color" #: src/panasonicmn.cpp:458 msgid "Color effect" msgstr "Efecto de color" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" "Tiempo, en 1/100 de segundo, desde que la cámara fue encendida hasta que la " "imagen es grabada en la tarjeta de memoria" #: src/panasonicmn.cpp:460 msgid "Burst Mode" msgstr "Modo ráfaga" #: src/panasonicmn.cpp:460 msgid "Burst mode" msgstr "Modo ráfaga" #: src/panasonicmn.cpp:463 msgid "NoiseReduction" msgstr "Reducción de ruido" #: src/panasonicmn.cpp:464 msgid "Self Timer" msgstr "Disparo automático" #: src/panasonicmn.cpp:467 msgid "AF Assist Lamp" msgstr "" #: src/panasonicmn.cpp:469 msgid "Baby Age 1" msgstr "Edad 19" #: src/panasonicmn.cpp:469 msgid "Baby (or pet) age 1" msgstr "" #: src/panasonicmn.cpp:470 msgid "Optical Zoom Mode" msgstr "Modo de zoom óptico" #: src/panasonicmn.cpp:470 msgid "Optical zoom mode" msgstr "Modo de zoom óptico" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "Día de viaje" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "Día de viaje" #: src/panasonicmn.cpp:474 msgid "World Time Location" msgstr "Localización de tiempo mundial" #: src/panasonicmn.cpp:474 msgid "World time location" msgstr "Localización de tiempo mundial" #: src/panasonicmn.cpp:475 msgid "Text Stamp 1" msgstr "" #: src/panasonicmn.cpp:476 msgid "Program ISO" msgstr "Programa ISO" #: src/panasonicmn.cpp:477 msgid "Advanced Scene Type" msgstr "Tipo de escena avanzado" #: src/panasonicmn.cpp:478 msgid "Text Stamp 2" msgstr "" #: src/panasonicmn.cpp:479 msgid "Faces detected" msgstr "Caras detectadas" #: src/panasonicmn.cpp:483 msgid "Color Temp Kelvin" msgstr "" #: src/panasonicmn.cpp:483 msgid "Color Temperatur in Kelvin" msgstr "" #: src/panasonicmn.cpp:484 msgid "Bracket Settings" msgstr "" #: src/panasonicmn.cpp:485 msgid "WB Adjust AB" msgstr "Ajuste AB de balance de blancos" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "" "Balance de blancos AB. Un valor positivo representa un desplazamiento hacia " "el azul" #: src/panasonicmn.cpp:486 msgid "WB Adjust GM" msgstr "Ajuste GM de balance de blancos" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "WBAdjustGM. Positivo es un cambio hacia verde." #: src/panasonicmn.cpp:487 msgid "Flash Curtain" msgstr "" #: src/panasonicmn.cpp:488 msgid "Long Shutter Noise Reduction" msgstr "" #: src/panasonicmn.cpp:491 msgid "AF Point Position" msgstr "" #: src/panasonicmn.cpp:492 msgid "Face detection info" msgstr "" #: src/panasonicmn.cpp:495 msgid "Accessory Type" msgstr "Tipo de accesorio" #: src/panasonicmn.cpp:495 msgid "Accessory type" msgstr "Tipo de accesorio" #: src/panasonicmn.cpp:496 msgid "Accessory Serial Number" msgstr "" #: src/panasonicmn.cpp:497 msgid "Transform 1" msgstr "" #: src/panasonicmn.cpp:498 msgid "Intelligent Exposure" msgstr "" #: src/panasonicmn.cpp:499 msgid "Firmware Version of the Lens" msgstr "Versión del Firmware del lente" #: src/panasonicmn.cpp:500 #, fuzzy msgid "Face recognition info" msgstr "Información de la reducción de la vibración" #: src/panasonicmn.cpp:501 msgid "Flash Warning" msgstr "" #: src/panasonicmn.cpp:501 msgid "Flash warning" msgstr "" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 msgid "Title" msgstr "Título" #: src/panasonicmn.cpp:503 msgid "Baby Name" msgstr "" #: src/panasonicmn.cpp:503 msgid "Baby name (or pet name)" msgstr "" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 msgid "Location" msgstr "Ubicación" #: src/panasonicmn.cpp:506 src/properties.cpp:441 msgid "State" msgstr "Estado" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "" #: src/panasonicmn.cpp:509 msgid "Intelligent resolution" msgstr "" #: src/panasonicmn.cpp:510 msgid "Burst Speed" msgstr "" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "" #: src/panasonicmn.cpp:511 msgid "Intelligent Dynamic Range" msgstr "" #: src/panasonicmn.cpp:512 msgid "Clear Retouch" msgstr "" #: src/panasonicmn.cpp:513 msgid "City2" msgstr "Ciudad2" #: src/panasonicmn.cpp:515 msgid "Photo style" msgstr "" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "" #: src/panasonicmn.cpp:518 msgid "Accelerometer X" msgstr "" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "" #: src/panasonicmn.cpp:519 msgid "Accelerometer Y" msgstr "" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "" #: src/panasonicmn.cpp:520 msgid "Camera Orientation" msgstr "Orientación de la cámara" #: src/panasonicmn.cpp:521 msgid "Roll Angle" msgstr "" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "" #: src/panasonicmn.cpp:523 msgid "Sweep Panorama Direction" msgstr "" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "" #: src/panasonicmn.cpp:525 msgid "Timer Recording" msgstr "" #: src/panasonicmn.cpp:526 msgid "Internal ND Filter" msgstr "" #: src/panasonicmn.cpp:528 msgid "Shutter Type" msgstr "" #: src/panasonicmn.cpp:529 msgid "Clear Retouch Value" msgstr "" #: src/panasonicmn.cpp:530 msgid "TouchAE" msgstr "" #: src/panasonicmn.cpp:533 msgid "MakerNote Version" msgstr "Versión de la nota del fabricante" #: src/panasonicmn.cpp:533 msgid "MakerNote version" msgstr "Versión de la nota del fabricante" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB Red Level" msgstr "Nivel de rojo BN" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB red level" msgstr "Nivel de rojo BN" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB Green Level" msgstr "Nivel de verde BN" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB green level" msgstr "Nivel de verde BN" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB Blue Level" msgstr "Nivel de azul BN" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB blue level" msgstr "Nivel de azul BN" #: src/panasonicmn.cpp:539 msgid "Text Stamp 3" msgstr "" #: src/panasonicmn.cpp:540 msgid "Text Stamp 4" msgstr "" #: src/panasonicmn.cpp:541 msgid "Baby Age 2" msgstr "" #: src/panasonicmn.cpp:541 msgid "Baby (or pet) age 2" msgstr "" #: src/panasonicmn.cpp:542 msgid "Transform 2" msgstr "" #: src/panasonicmn.cpp:544 msgid "Unknown PanasonicMakerNote tag" msgstr "Etiqueta PanasonicMakerNote desconocida" #: src/panasonicmn.cpp:562 msgid "Spot mode on or 9 area" msgstr "" #: src/panasonicmn.cpp:563 msgid "Spot mode off or 3-area (high speed)" msgstr "Modo de punto activado o 3-area (alta velocidad)" #: src/panasonicmn.cpp:564 msgid "23-area" msgstr "" #: src/panasonicmn.cpp:565 msgid "Spot focussing" msgstr "Enfocado tipo punto" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "área-5" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "área-1" #: src/panasonicmn.cpp:568 msgid "1-area (high speed)" msgstr "1-área (alta velocidad)" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "área-3 (auto)" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "3-área (izquierda)" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "3-área (centro)" #: src/panasonicmn.cpp:572 msgid "3-area (right)" msgstr "3-área (derecha)" #: src/panasonicmn.cpp:574 msgid "Spot Focusing 2" msgstr "" #: src/panasonicmn.cpp:588 msgid " EV" msgstr " EV" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 msgid "not set" msgstr "no establecido" #: src/panasonicmn.cpp:725 msgid "Panasonic raw version" msgstr "Versión en bruto Panasonic" #: src/panasonicmn.cpp:726 msgid "Sensor Width" msgstr "Anchura de sensor" #: src/panasonicmn.cpp:726 msgid "Sensor width" msgstr "Anchura de sensor" #: src/panasonicmn.cpp:727 msgid "Sensor Height" msgstr "Altura de sensor" #: src/panasonicmn.cpp:727 msgid "Sensor height" msgstr "Altura de sensor" #: src/panasonicmn.cpp:728 msgid "Sensor Top Border" msgstr "Borde superior del sensor" #: src/panasonicmn.cpp:728 msgid "Sensor top border" msgstr "Borde superior del sensor" #: src/panasonicmn.cpp:729 msgid "Sensor Left Border" msgstr "Borde izquierdo del sensor" #: src/panasonicmn.cpp:729 msgid "Sensor left border" msgstr "Borde izquierdo del sensor" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "Balance de rojos (encontrado en imágenes Digilux 2 RAW)" #: src/panasonicmn.cpp:739 src/tags.cpp:469 msgid "Manufacturer" msgstr "Fabricante" #: src/panasonicmn.cpp:739 msgid "The manufacturer of the recording equipment" msgstr "El fabricante del equipamiento de grabación" #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 msgid "Model" msgstr "Modelo" #: src/panasonicmn.cpp:740 msgid "The model name or model number of the equipment" msgstr "El nombre o número del modelo del equipamiento" #: src/panasonicmn.cpp:741 src/tags.cpp:481 msgid "Strip Offsets" msgstr "Desplazamiento de tira" #: src/panasonicmn.cpp:741 msgid "Strip offsets" msgstr "Desplazamiento de tiras" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 msgid "Orientation" msgstr "Orientación" #: src/panasonicmn.cpp:743 msgid "Rows Per Strip" msgstr "Filas por tira" #: src/panasonicmn.cpp:743 msgid "The number of rows per strip" msgstr "Número de filas por tira" #: src/panasonicmn.cpp:744 msgid "Strip Byte Counts" msgstr "Tira de cuenta de bytes" #: src/panasonicmn.cpp:744 msgid "Strip byte counts" msgstr "Tira de cuenta de bytes" #: src/panasonicmn.cpp:745 msgid "Raw Data Offset" msgstr "Desplazamiento de datos en bruto" #: src/panasonicmn.cpp:745 msgid "Raw data offset" msgstr "Desplazamiento de datos en bruto" #: src/panasonicmn.cpp:746 src/tags.cpp:797 msgid "Exif IFD Pointer" msgstr "Puntero Exif IFD" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "Un puntero para el IFD de Exif" #: src/panasonicmn.cpp:747 src/tags.cpp:808 msgid "GPS Info IFD Pointer" msgstr "Puntero de información IFD del GPS" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "Un puntero de información IFD del GPS" #: src/panasonicmn.cpp:749 msgid "Unknown PanasonicRaw tag" msgstr "Etiqueta PanasonicRaw desconocida" #: src/pentaxmn.cpp:57 msgid "Night-Scene" msgstr "Escena nocturna" #: src/pentaxmn.cpp:199 msgid "Good" msgstr "Buena" #: src/pentaxmn.cpp:200 msgid "Better" msgstr "Mejor" #: src/pentaxmn.cpp:201 msgid "Best" msgstr "El mejor" #: src/pentaxmn.cpp:204 msgid "Premium" msgstr "Premium" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "2560x1920 o 2304x1728" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "2304x1728 o 2592x1944" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "2816x2212 o 2816x2112" #: src/pentaxmn.cpp:247 msgid "Auto, Did not fire" msgstr "Automático, no disparó" #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 msgid "Off, Did not fire" msgstr "Apagado, no disparó" #: src/pentaxmn.cpp:250 msgid "Auto, Did not fire, Red-eye reduction" msgstr "Automático,no disparó, modo de reducción de ojos rojos." #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:252 msgid "Auto, Fired" msgstr "Automático, disparó" #: src/pentaxmn.cpp:253 msgid "On, Fired" msgstr "Activado, disparó" #: src/pentaxmn.cpp:254 msgid "Auto, Fired, Red-eye reduction" msgstr "Automático. Disparado. Modo de reducción de ojos rojos." #: src/pentaxmn.cpp:255 msgid "On, Red-eye reduction" msgstr "Activado, reducción de ojos rojos." #: src/pentaxmn.cpp:256 msgid "On, Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:257 msgid "On, Wireless (Control)" msgstr "" #: src/pentaxmn.cpp:258 msgid "On, Soft" msgstr "Activado, suave" #: src/pentaxmn.cpp:259 msgid "On, Slow-sync" msgstr "Activada, sincronización lenta" #: src/pentaxmn.cpp:260 msgid "On, Slow-sync, Red-eye reduction" msgstr "Activado, sincronización lenta, reducción de ojos rojos." #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "Sincronizacion de paneles traseros, encendidos" #: src/pentaxmn.cpp:272 msgid "Pan Focus" msgstr "Enfoque panorámico" #: src/pentaxmn.cpp:275 msgid "AF-A" msgstr "AF-A" #: src/pentaxmn.cpp:276 msgid "Contrast-detect" msgstr "" #: src/pentaxmn.cpp:277 msgid "Tracking Contrast-detect" msgstr "" #: src/pentaxmn.cpp:284 msgid "Fixed Center" msgstr "Fijado al centro" #: src/pentaxmn.cpp:285 msgid "Automatic Tracking AF" msgstr "" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "" #: src/pentaxmn.cpp:287 msgid "AF Select" msgstr "" #: src/pentaxmn.cpp:305 msgid "Fixed Center or multiple" msgstr "" #: src/pentaxmn.cpp:307 msgid "Top-center" msgstr "Arriba centro" #: src/pentaxmn.cpp:313 msgid "Bottom-center" msgstr "Abajo centro" #: src/pentaxmn.cpp:402 msgid "Multi Segment" msgstr "Multisegmento" #: src/pentaxmn.cpp:403 msgid "Center Weighted" msgstr "Centrado en el medio" #: src/pentaxmn.cpp:415 msgid "DaylightFluorescent" msgstr "Fluorescente luz de día" #: src/pentaxmn.cpp:416 msgid "DaywhiteFluorescent" msgstr "Fluorescente luz de día" #: src/pentaxmn.cpp:417 msgid "WhiteFluorescent" msgstr "FluorescenteBlanco" #: src/pentaxmn.cpp:420 msgid "Color Temperature Enhancement" msgstr "" #: src/pentaxmn.cpp:423 msgid "User Selected" msgstr "Seleccionado por el usuario" #: src/pentaxmn.cpp:428 msgid "Auto (Daylight)" msgstr "Auto (Luzdía)" #: src/pentaxmn.cpp:429 msgid "Auto (Shade)" msgstr "Auto (Sombra)" #: src/pentaxmn.cpp:430 msgid "Auto (Flash)" msgstr "Auto (Flash)" #: src/pentaxmn.cpp:431 msgid "Auto (Tungsten)" msgstr "Auto (Tungsteno)" #: src/pentaxmn.cpp:432 msgid "Auto (DaylightFluorescent)" msgstr "Auto (FlourescenteLuzdía)" #: src/pentaxmn.cpp:433 msgid "Auto (DaywhiteFluorescent)" msgstr "Auto (FlourescenteblancoDía)" #: src/pentaxmn.cpp:434 msgid "Auto (WhiteFluorescent)" msgstr "Auto (FlourescenteBlanco)" #: src/pentaxmn.cpp:435 msgid "Auto (Cloudy)" msgstr "Auto (Nublado)" #: src/pentaxmn.cpp:437 msgid "Preset (Fireworks?)" msgstr "Preset (¿Fuegosartificiales?)" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 msgid "Med Low" msgstr "Medio bajo" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 msgid "Med High" msgstr "Medio alto" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "-4" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "+4" #: src/pentaxmn.cpp:473 msgid "Med Soft" msgstr "Medi suave" #: src/pentaxmn.cpp:474 msgid "Med Hard" msgstr "medio duro" #: src/pentaxmn.cpp:475 msgid "Very Soft" msgstr "Muy suave" #: src/pentaxmn.cpp:476 msgid "Very Hard" msgstr "Muy difícil" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 msgid "Home town" msgstr "Centro de ciudad" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "Pago Pago" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "Honolulú" #: src/pentaxmn.cpp:491 msgid "Anchorage" msgstr "Anchorage" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "Vancouver" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "San Francisco" #: src/pentaxmn.cpp:494 msgid "Los Angeles" msgstr "Los Ángeles" #: src/pentaxmn.cpp:495 msgid "Calgary" msgstr "Calgary" #: src/pentaxmn.cpp:496 msgid "Denver" msgstr "Denver" #: src/pentaxmn.cpp:497 msgid "Mexico City" msgstr "Ciudad de México" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "Chicago" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "Miami" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "Toronto" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "Nueva York" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "Santiago" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "Caracas" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "Halifax" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "Buenos Aires" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "Sao Paulo" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "Río de Janeiro" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "Madrid" #: src/pentaxmn.cpp:509 msgid "London" msgstr "Londres" #: src/pentaxmn.cpp:510 msgid "Paris" msgstr "París" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "Milán" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "Roma" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "Berlín" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "Johannesburgo" #: src/pentaxmn.cpp:515 msgid "Istanbul" msgstr "Estambúl" #: src/pentaxmn.cpp:516 msgid "Cairo" msgstr "El Cairo" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "Jerusalén" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "Moscú" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "Jeddah" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "Teherán" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "Dubai" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "Karachi" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "Kabul" #: src/pentaxmn.cpp:524 msgid "Male" msgstr "Masculino" #: src/pentaxmn.cpp:525 msgid "Delhi" msgstr "Delhi" #: src/pentaxmn.cpp:526 msgid "Colombo" msgstr "Colombo" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "Katmandú" #: src/pentaxmn.cpp:528 msgid "Dacca" msgstr "Dacca" #: src/pentaxmn.cpp:529 msgid "Yangon" msgstr "Yangon" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "Bangkok" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "Kuala Lumpur" #: src/pentaxmn.cpp:532 msgid "Vientiane" msgstr "Vientiane" #: src/pentaxmn.cpp:533 msgid "Singapore" msgstr "Singapur" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "Phnom Penh" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "Ho Chi Minh" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "Yakarta" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "Hong Kong" #: src/pentaxmn.cpp:538 msgid "Perth" msgstr "Perth" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "Pekín" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "Shanghai" #: src/pentaxmn.cpp:541 msgid "Manila" msgstr "Manila" #: src/pentaxmn.cpp:542 msgid "Taipei" msgstr "Taipei" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "Seúl" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "Adelaida" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "Tokyo" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "Guam" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "Sydney" #: src/pentaxmn.cpp:548 msgid "Noumea" msgstr "Noumea" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "Wellington" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "Auckland" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "Lima" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "Dakar" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "Argel" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "Helsinki" #: src/pentaxmn.cpp:555 msgid "Athens" msgstr "Atenas" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "Nairobi" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "Amsterdam" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "Estocolmo" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "Lisboa" #: src/pentaxmn.cpp:560 msgid "Copenhagen" msgstr "Copenague" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "" #: src/pentaxmn.cpp:568 msgid "Unprocessed" msgstr "No procesado" #: src/pentaxmn.cpp:570 msgid "Resized" msgstr "" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 msgid "Cropped" msgstr "Recortado" #: src/pentaxmn.cpp:573 msgid "Digital Filter 6" msgstr "" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "¿Síntesis de marco?" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 msgid "Hi-speed Program" msgstr "Programa de alta velocidad" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 msgid "DOF Program" msgstr "Programa DOF" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 msgid "MTF Program" msgstr "Programa MTF" #: src/pentaxmn.cpp:588 msgid "Night Scene Portrait" msgstr "Retrato de escena nocturna" #: src/pentaxmn.cpp:589 msgid "No Flash" msgstr "Sin flash" #: src/pentaxmn.cpp:592 msgid "Surf & Snow" msgstr "Surf y Nieve" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "Niños" #: src/pentaxmn.cpp:600 msgid "Stage Lighting" msgstr "" #: src/pentaxmn.cpp:601 msgid "Night Snap" msgstr "" #: src/pentaxmn.cpp:602 msgid "Blue Sky" msgstr "" #: src/pentaxmn.cpp:604 msgid "Night Scene HDR" msgstr "HDR sscena nocturna" #: src/pentaxmn.cpp:606 msgid "Quick Macro" msgstr "" #: src/pentaxmn.cpp:607 msgid "Forest" msgstr "" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "" #: src/pentaxmn.cpp:610 msgid "Auto PICT (Standard)" msgstr "Auto PICT (Estándar)" #: src/pentaxmn.cpp:611 msgid "Auto PICT (Portrait)" msgstr "Auto PICT (Retrato)" #: src/pentaxmn.cpp:612 msgid "Auto PICT (Landscape)" msgstr "Auto PICT (Paisaje)" #: src/pentaxmn.cpp:613 msgid "Auto PICT (Macro)" msgstr "Auto PICT (Macro)" #: src/pentaxmn.cpp:614 msgid "Auto PICT (Sport)" msgstr "Auto PICT (Deporte)" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 msgid "Green Mode" msgstr "Modo verde" #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 msgid "Shutter Speed Priority" msgstr "Prioridad de velocidad de disparo" #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 msgid "Aperture Priority" msgstr "Prioridad de apertura" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "Bulbo" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "" #: src/pentaxmn.cpp:631 msgid "Program Tv Shift" msgstr "Cambio de programa TV" #: src/pentaxmn.cpp:632 msgid "Program Av Shift" msgstr "Cambio de programa AV" #: src/pentaxmn.cpp:635 msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "Prioridad de apertura (apertura automática apagada)" #: src/pentaxmn.cpp:636 msgid "Manual (Off-Auto-Aperture)" msgstr "Manual (Apertura automática apagada)" #: src/pentaxmn.cpp:637 msgid "Bulb (Off-Auto-Aperture)" msgstr "Bombilla (Apagado automático de apertura)" #: src/pentaxmn.cpp:639 msgid "Shutter Priority" msgstr "Prioridad de disparo" #: src/pentaxmn.cpp:640 msgid "Shutter & Aperture Priority AE" msgstr "Prioridad y prioridad de apertura AE" #: src/pentaxmn.cpp:641 msgid "Shutter & Aperture Priority AE (1)" msgstr "Prioridad y prioridad de apertura AE (1)" #: src/pentaxmn.cpp:642 msgid "Sensitivity Priority AE" msgstr "Prioridad de sensibilidad AE" #: src/pentaxmn.cpp:643 msgid "Sensitivity Priority AE (1)" msgstr "Prioridad de sensibilidad AE (1)" #: src/pentaxmn.cpp:644 msgid "Flash X-Sync Speed AE" msgstr "Velocidad AE Flash X-Sync" #: src/pentaxmn.cpp:645 msgid "Flash X-Sync Speed AE (1)" msgstr "Velocidad AE Flash X-Sync" #: src/pentaxmn.cpp:646 msgid "Auto Program (Normal)" msgstr "" #: src/pentaxmn.cpp:647 msgid "Auto Program (Hi-Speed)" msgstr "" #: src/pentaxmn.cpp:648 msgid "Auto Program (DOF)" msgstr "" #: src/pentaxmn.cpp:649 msgid "Auto Program (MTF)" msgstr "" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "" #: src/pentaxmn.cpp:651 msgid "Blur control" msgstr "" #: src/pentaxmn.cpp:654 msgid "Video (30 fps)" msgstr "Vídeo (30 fps)" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "Vídeo (24 fps)" #: src/pentaxmn.cpp:662 msgid "Continuous (Hi)" msgstr "Continuo (Al)" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 msgid "Burst" msgstr "Ráfaga" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 msgid "Video" msgstr "Vídeo" #: src/pentaxmn.cpp:666 msgid "Self-timer (12 sec)" msgstr "Temporizador (12 seg.)" #: src/pentaxmn.cpp:667 msgid "Self-timer (2 sec)" msgstr "Temporizador (2 seg.)" #: src/pentaxmn.cpp:669 msgid "Mirror Lock-up" msgstr "" #: src/pentaxmn.cpp:670 msgid "Remote Control (3 sec)" msgstr "Control remoto (3 seg.)" #: src/pentaxmn.cpp:671 msgid "Remote Control" msgstr "Control remoto" #: src/pentaxmn.cpp:672 msgid "Remote Continuous Shooting" msgstr "" #: src/pentaxmn.cpp:675 msgid "HDR Strong 1" msgstr "" #: src/pentaxmn.cpp:676 msgid "HDR Strong 2" msgstr "" #: src/pentaxmn.cpp:677 msgid "HDR Strong 3" msgstr "" #: src/pentaxmn.cpp:678 msgid "HDR Auto" msgstr "Auto HDR" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "M-42 o sin lentes" #: src/pentaxmn.cpp:691 msgid "K or M Lens" msgstr "" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "Lentes serie A" #: src/pentaxmn.cpp:970 msgid "Bright" msgstr "Brillante" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "Película invertida" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "" #: src/pentaxmn.cpp:990 msgid "Weakest" msgstr "Más débil" #: src/pentaxmn.cpp:991 msgid "Weak" msgstr "Débil" #: src/pentaxmn.cpp:992 msgid "Strong" msgstr "Fuerte" #: src/pentaxmn.cpp:1112 msgid "No extended bracketing" msgstr "Sin ráfaga extendida" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "BN-BA" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "BN-GM" #: src/pentaxmn.cpp:1133 msgid "Unknown " msgstr "Desconocido " #: src/pentaxmn.cpp:1146 msgid "Pentax Makernote version" msgstr "Versión de la nota del fabricante Pentax" #: src/pentaxmn.cpp:1149 msgid "Camera shooting mode" msgstr "Modo de disparo de cámara" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 msgid "Resolution of a preview image" msgstr "Resolución de vista previa de una foto" #: src/pentaxmn.cpp:1154 msgid "Length of a preview image" msgstr "Longitud de vista previa de una foto" #: src/pentaxmn.cpp:1155 msgid "Size of an IFD containing a preview image" msgstr "Tamaño de un IFD que contiene una vista previa de la imagen" #: src/pentaxmn.cpp:1160 msgid "Model identification" msgstr "Identificación de modelo" #: src/pentaxmn.cpp:1161 #, fuzzy msgid "Pentax model identification" msgstr "Identificación de modelo Pentax" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 msgid "Date" msgstr "Fecha" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 msgid "Time" msgstr "Hora" #: src/pentaxmn.cpp:1170 msgid "Image quality settings" msgstr "Configuración de calidad de imagen" #: src/pentaxmn.cpp:1173 msgid "Image size settings" msgstr "Configuración de tamaño de imagen" #: src/pentaxmn.cpp:1177 msgid "Flash mode settings" msgstr "Configuración de modo de flash" #: src/pentaxmn.cpp:1180 msgid "Focus mode settings" msgstr "Configuración de modo de flash" #: src/pentaxmn.cpp:1183 msgid "Selected AF point" msgstr "Punto AF seleccionado" #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 msgid "AF point in focus" msgstr "Punto AF en foco" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 msgid "F-Number" msgstr "Número-F" #: src/pentaxmn.cpp:1195 msgid "ISO sensitivity" msgstr "Sensibilidad ISO" #: src/pentaxmn.cpp:1196 msgid "ISO sensitivity settings" msgstr "Configuración de sensibilidad IOS" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 msgid "MeteringMode" msgstr "Mododemedición" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 msgid "AutoBracketing" msgstr "Disparo múltiple automático" #: src/pentaxmn.cpp:1216 msgid "Blue color balance" msgstr "Balance de color azul" #: src/pentaxmn.cpp:1219 msgid "Red color balance" msgstr "Balance de color rojo" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 msgid "FocalLength" msgstr "LongitudFocal" #: src/pentaxmn.cpp:1239 msgid "Hometown" msgstr "Ciudad de nacimiento" #: src/pentaxmn.cpp:1245 msgid "Hometown DST" msgstr "DST en ciudad de procedencia" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "Si el horario de verano está activo en la ciudad de procedencia" #: src/pentaxmn.cpp:1248 msgid "Destination DST" msgstr "Destino DST" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "Si el horario de verano está activo en el destino" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 msgid "DSPFirmwareVersion" msgstr "DSPFirmwareVersion" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 msgid "CPUFirmwareVersion" msgstr "CPUFirmwareVersion" #: src/pentaxmn.cpp:1261 msgid "Light value" msgstr "Valor de luz" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "" "La cámara ha calculado el valor de luz, incluida la compensación por " "exposición" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 msgid "Image area offset" msgstr "" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 msgid "Raw image size" msgstr "" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 msgid "Preview image borders" msgstr "Bordes de imagen previa" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 msgid "Sensitivity adjust" msgstr "Ajuste de sensibilidad" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 msgid "Digital filter" msgstr "Filtro digital" #: src/pentaxmn.cpp:1299 msgid "Camera temperature" msgstr "Temperatura de cámara" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 msgid "Image tone" msgstr "Tono de imagen" #: src/pentaxmn.cpp:1319 msgid "Shake reduction" msgstr "Reducción de la vibración" #: src/pentaxmn.cpp:1320 msgid "Shake reduction information" msgstr "Información de la reducción de la vibración" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 msgid "Dynamic range expansion" msgstr "Expansión de rango dinámico" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 msgid "High ISO noise reduction" msgstr "Reducción de ruido a ISO alta" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 msgid "AF Adjustment" msgstr "Ajuste AF" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 msgid "Black point" msgstr "Punto negro" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 msgid "White point" msgstr "Punto blanco" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 msgid "ShotInfo" msgstr "Información de disparo" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 msgid "AEInfo" msgstr "AEInfo" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 msgid "LensInfo" msgstr "Información de lente" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 msgid "FlashInfo" msgstr "Información de flash" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 msgid "AEMeteringSegments" msgstr "Segmentos de medición AE" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 msgid "FlashADump" msgstr "FlashADump" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 msgid "FlashBDump" msgstr "FlashBDump" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 msgid "WB_RGGBLevelsDaylight" msgstr "BN_RGGBNivelesLuzDía" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 msgid "WB_RGGBLevelsShade" msgstr "Niveles de sombra WB_RGGB" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 msgid "WB_RGGBLevelsCloudy" msgstr "BN_RGGBNivelesNublado" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 msgid "WB_RGGBLevelsTungsten" msgstr "BN_RGGBNivelesTungsteno" #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 msgid "WB_RGGBLevelsFluorescentD" msgstr "Niveles fluorescentes D WB_RGGB" #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 msgid "WB_RGGBLevelsFluorescentN" msgstr "Niveles fluorescentes N WB_RGGB" #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 msgid "WB_RGGBLevelsFluorescentW" msgstr "Niveles fluorescentes W WB_RGGB" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 msgid "WB_RGGBLevelsFlash" msgstr "WB_RGGBLevelsFlash" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 msgid "CameraInfo" msgstr "InfodeCámara" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 msgid "BatteryInfo" msgstr "InfodeBatería" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 msgid "AFInfo" msgstr "AFInfo" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 msgid "ColorInfo" msgstr "InfodeColor" #: src/pentaxmn.cpp:1405 msgid "Unknown PentaxMakerNote tag" msgstr "Etiqueta PentaxMakerNote desconocida" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "Esquema Dublin Core" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "Esquema de gestor de fotos digiKam" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "Esquema de interfaz de programa de imagen KDE" #: src/properties.cpp:113 msgid "XMP Basic schema" msgstr "Esquema básico XMP" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "Esquema de gestión de derechos XMP" #: src/properties.cpp:115 msgid "XMP Media Management schema" msgstr "Esquema de gestión de medios XMP" #: src/properties.cpp:116 msgid "XMP Basic Job Ticket schema" msgstr "Esquema de entradas de trabajo básico XMP" #: src/properties.cpp:117 msgid "XMP Paged-Text schema" msgstr "Esquema XMP Paged-Text" #: src/properties.cpp:118 msgid "XMP Dynamic Media schema" msgstr "Esquema de medios dinámicos XMP" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "Esquema de fotos Microsoft" #: src/properties.cpp:120 msgid "Adobe Lightroom schema" msgstr "" #: src/properties.cpp:121 msgid "Adobe PDF schema" msgstr "Esquema Adobe PDF" #: src/properties.cpp:122 msgid "Adobe photoshop schema" msgstr "Esquema Adobe photoshop" #: src/properties.cpp:123 msgid "Camera Raw schema" msgstr "Esquema Raw de cámara" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "Propiedades del esquema Exif para TIFF" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "Esquema Exif para las propiedades de Exif-específico" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "Esquema Exif para las propiedades adicionales de Exif" #: src/properties.cpp:127 src/properties.cpp:128 msgid "IPTC Core schema" msgstr "Esquema IPTC Core" #: src/properties.cpp:129 src/properties.cpp:130 msgid "IPTC Extension schema" msgstr "Esquema de extensión IPTC" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "Esquema de formato de datos de licencia PLUS" #: src/properties.cpp:132 msgid "iView Media Pro schema" msgstr "Esquema iView Media Pro" #: src/properties.cpp:133 msgid "Expression Media schema" msgstr "Esquema Expression Media" #: src/properties.cpp:134 msgid "Microsoft Photo 1.2 schema" msgstr "Esquema de Microsoft Photo 1.2" #: src/properties.cpp:135 msgid "Microsoft Photo RegionInfo schema" msgstr "Esquema de Microsoft Photo RegionInfo" #: src/properties.cpp:136 msgid "Microsoft Photo Region schema" msgstr "Esquema de Microsoft Photo Region" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "" #: src/properties.cpp:138 msgid "Metadata Working Group Keywords schema" msgstr "" #: src/properties.cpp:139 msgid "XMP Extended Video schema" msgstr "" #: src/properties.cpp:140 msgid "XMP Extended Audio schema" msgstr "" #: src/properties.cpp:141 msgid "XMP Darwin Core schema" msgstr "" #: src/properties.cpp:142 msgid "Qualified Dublin Core schema" msgstr "" #: src/properties.cpp:143 msgid "ACDSee XMP schema" msgstr "" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "" #: src/properties.cpp:148 msgid "Colorant structure" msgstr "Estructura colorante" #: src/properties.cpp:149 msgid "Dimensions structure" msgstr "Estructura de dimensiones" #: src/properties.cpp:150 msgid "Font structure" msgstr "Estructura de tipografía" #: src/properties.cpp:151 msgid "Thumbnail structure" msgstr "Estructura de miniatura" #: src/properties.cpp:152 msgid "Resource Event structure" msgstr "Estructura de evento de recurso" #: src/properties.cpp:153 msgid "ResourceRef structure" msgstr "Estructura ResourceRef" #: src/properties.cpp:154 msgid "Version structure" msgstr "Estructura de versión" #: src/properties.cpp:155 msgid "Basic Job/Workflow structure" msgstr "Estructura básica de trabajo/flujo de trabajo" #: src/properties.cpp:156 msgid "Area structure" msgstr "Estructura de área" #: src/properties.cpp:159 msgid "Qualifier for xmp:Identifier" msgstr "Cualificador para xmp:Identifier" #: src/properties.cpp:163 msgid "Contributor" msgstr "Contribuidor" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "Contribuyentes al recurso (aparte de los autores)." #: src/properties.cpp:164 msgid "Coverage" msgstr "Cobertura" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" "El tema espacial o temporal del recurso, la aplicabilidad espacial del " "recurso, o la jurisdicción bajo la cual el recurso es relevante." #: src/properties.cpp:166 msgid "Creator" msgstr "Creador" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "" "Los autores del recurso (enumerados en orden de prioridad, si es " "significativo)." #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "Fecha(s) en la que algo importante le ocurrió al recurso." #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" "Una descripción textual del contenido del recurso. Puede haber valores para " "cada idioma." #: src/properties.cpp:170 src/properties.cpp:1160 msgid "Format" msgstr "Formato" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" "El formato del archivo cuando se guarda el recurso. Las aplicaciones y " "herramientas deben establecer esta propiedad de guardado de formato de la " "información. Puede incluir calificadores apropiados." #: src/properties.cpp:172 src/properties.cpp:228 msgid "Identifier" msgstr "Identificador" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" "Identificador único del recurso. Se recomienda identificar el recurso " "mediante una cadena que se ajuste a un sistema de identificación " "convencional." #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "Una matriz desordenada especificando los idiomas usados en el recurso." #: src/properties.cpp:175 msgid "Publisher" msgstr "Editor" #: src/properties.cpp:175 msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" "Una entidad responsable de hacer que los recursos estén disponibles. " "Ejemplos de un editor incluyen una persona, una organización o un servicio. " "Típicamente, el nombre del editor debe ser usado para indicar la entidad." #: src/properties.cpp:178 msgid "Relation" msgstr "Relación" #: src/properties.cpp:178 msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" "Relaciones con otros documentos. Se recomienda identificar el recurso " "relacionado mediante una cadena que se ajuste a un sistema de identificación " "convencional." #: src/properties.cpp:180 msgid "Rights" msgstr "Derechos" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" "Declaración de derechos informal, seleccionado por idioma. Típicamente, los " "derechos de información incluyen una declaración sobre varios derechos de " "propiedad asociados con el recurso, incluyendo los derechos de propiedad " "intelectual." #: src/properties.cpp:183 msgid "Unique identifier of the work from which this resource was derived." msgstr "Identificador único del trabajo del cual este recurso se derivó." #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" "Una matriz desordenada de frases descriptivas o palabras clave que " "especifican el tema del contenido del recurso." #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" "El título del documento o el nombre dado al recurso. Normalmente, será un " "nombre con el cual el recurso es formalmente conocido." #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 msgid "Type" msgstr "Tipo" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "Un tipo de documento, por ejemplo novela, poema, manuscrito." #: src/properties.cpp:194 msgid "Tags List" msgstr "Lista de etiquetas" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" "La lista de ruta de etiquetas completa como cadena. La jerarquía de la ruta " "se separa por el carácter «/» (ej.: «Ciudad/Madrid/Monumento/Museo del Prado" "\"." #: src/properties.cpp:195 msgid "Captions Author Names" msgstr "Nombres de autores y títulos" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" "Lista de todas las leyendas de nombres de autor para cada juego de leyendas " "de idiomas alternativos en etiquetas XMP estándar." #: src/properties.cpp:196 msgid "Captions Date Time Stamps" msgstr "Leyendas de sellos de fecha y hora." #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" "Lista de todas las leyendas de sellos de fecha y hora para cada juego de " "leyendas de idiomas alternativos en etiquetas XMP estándar." #: src/properties.cpp:197 src/tags.cpp:844 msgid "Image History" msgstr "Historia de la imagen" #: src/properties.cpp:197 msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" #: src/properties.cpp:198 msgid "Lens Correction Settings" msgstr "" #: src/properties.cpp:198 msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" #: src/properties.cpp:199 msgid "Color Label" msgstr "Etiqueta de color" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" "La etiqueta de color asignada a este elemento. Los valores posibles son «0»: " "sin etiqueta; «1»: Rojo; «2»: Naranja; «3»: Amarillo; «4»: Verde; «5»: Azul; " "«6»: Magenta; «7»: Gris; «8»: Negro; «9»: Blanco." #: src/properties.cpp:200 msgid "Pick Label" msgstr "Etiqueta de estado" #: src/properties.cpp:200 msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" "Etiqueta de estado asignada a este artículo. los valores posibles son «0»: " "sin etiqueta; «1»: articulo rechazado; «2»: artículo pendiente de " "validación; «3»: artículo aceptado." #: src/properties.cpp:206 msgid "Panorama Input Files" msgstr "" #: src/properties.cpp:206 msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" #: src/properties.cpp:207 msgid "Enfuse Input Files" msgstr "Archivos de entrada Enfuse" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" "La lista de archivos procesados con Enfuse a través de la herramienta " "ExpoBlending." #: src/properties.cpp:208 msgid "Enfuse Settings" msgstr "Configuración de Enfuse" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" "La lista de configuraciones Enfuse usada para mezclar la pila de imagen con " "la herramienta ExpoBlending." #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "Identificación de artículo PicasaWeb" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "Identificación de artículo del servicio Web PicasaWeb" #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "Identificación de artículo Yandex Fotki" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "Identificación de artículo del servicio Web Yandex Fotki" #: src/properties.cpp:216 msgid "Advisory" msgstr "Asesor" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" "Una matriz desordenada especificando las propiedades que fueron editadas " "fuera de la aplicación de creación. Cada elemento debe contener un solo " "nombre y XPath separado por un espacio ASCII (U +0020)." #: src/properties.cpp:219 src/properties.cpp:1066 msgid "Base URL" msgstr "URL nbase" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" "El URL base para los URL relativos en el contenido del documento. Si este " "documento contiene enlaces a Internet, y dichos enlaces son relativos, serán " "relativos a este URL. Esta propiedad proporciona un modo estándar para que " "los URL relativos empotrados sean interpretadas por las herramientas. Las " "herramientas de creación web deberían establecer el valor basándose en su " "noción/opinión de dónde serán interpretados los URL." #: src/properties.cpp:224 msgid "Create Date" msgstr "Fecha de creación" #: src/properties.cpp:224 msgid "The date and time the resource was originally created." msgstr "El día y la hora en la que se creó originalmente el recurso." #: src/properties.cpp:225 msgid "Creator Tool" msgstr "Herramienta de creador" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" "El nombre de la primera herramienta conocida para crear el recurso. Si los " "metadatos incluyen historia, este valor debe ser equivalente a la propiedad " "«softwareAgent» del «xmpMM:History»." #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" "Una matriz desordenada de cadenas de texto que identifican sin ambigüedad el " "recurso dentro de un contexto dado. Una matriz de elementos puede ser " "calificada con xmpidq:Scheme para denotar el sistema de identificación " "formal al cual se ajusta el identificador. Nota: la propiedad dc:identifier " "no se usa por carecer de un calificador de esquema definido y ha sido " "definida en la Especificación XMP como una propiedad simple (de valor único)" #: src/properties.cpp:233 msgid "Label" msgstr "Etiqueta" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" "Una palabra o frase breve que identifica un documento como miembro de una " "colección definida por el usuario. Se utiliza para organizar documentos en " "un explorador de archivos." #: src/properties.cpp:235 msgid "Metadata Date" msgstr "Fecha de metadatos" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" "La fecha y hora en la que los metadatos del recurso fueron modificados. Debe " "ser igual o más reciente que «xmp:ModifyDate»." #: src/properties.cpp:237 msgid "Modify Date" msgstr "Modificar fecha" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" "La fecha y hora en las que el recurso se modificó por última vez. Nota: El " "valor de esta propiedad no es necesariamente el mismo que la fecha de " "modificación del archivo del sistema, porque se establece antes de que el " "archivo se guarde." #: src/properties.cpp:240 msgid "Nickname" msgstr "Apodo" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "Un nombre corto, informal para el recurso" #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 msgid "Rating" msgstr "Clasificación" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" "Número que indica el estado del documento en relación a otros documentos, " "utilizado para organizar documentos en un explorador de archivos. Los " "valores son definidos por el usuario dentro de un rango definido por la " "aplicación." #: src/properties.cpp:244 msgid "Thumbnails" msgstr "Miniaturas" #: src/properties.cpp:244 msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" "Una matriz alternativa de imágenes en miniatura de un archivo, que pueden " "diferir en características tales como el tamaño o la codificación de la " "imagen." #: src/properties.cpp:251 msgid "Certificate" msgstr "Certificado" #: src/properties.cpp:251 msgid "Online rights management certificate." msgstr "Certificado de derechos de gestión en línea" #: src/properties.cpp:252 msgid "Marked" msgstr "Marcada" #: src/properties.cpp:252 msgid "Indicates that this is a rights-managed resource." msgstr "Indica que esto es un recurso con derechos gestionados." #: src/properties.cpp:253 msgid "Owner" msgstr "Propietario" #: src/properties.cpp:253 msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "" "Una matriz no ordenada especificando el propietario legal de un recurso." #: src/properties.cpp:254 msgid "Usage Terms" msgstr "Términos de uso" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "Instrucciones de texto sobre cómo se puede usar el recurso legalmente." #: src/properties.cpp:255 msgid "Web Statement" msgstr "Declaración Web" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" "Localización de la web donde se describe el propietario y los derechos sobre " "este recurso." #: src/properties.cpp:261 msgid "Derived From" msgstr "Derivado de" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" "Una referencia al documento original del que éste deriva. Es una referencia " "mínima; puede asumirse que los componentes que faltan no cambian. Por " "ejemplo, una nueva versión podría necesitar solo la ID de instancia y el " "número de versión de la versión previa, o una «presentación» solo " "necesitaría especificar la ID de instancia y la clase de «presentación» del " "original." #: src/properties.cpp:266 msgid "Document ID" msgstr "ID del documento" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" "El identificador común para todas las versiones y «presentaciones» de un " "documento. Debería estar basado en un UUID; ver ID de instancia y documento " "más abajo." #: src/properties.cpp:268 msgid "History" msgstr "Historial" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" "Una matriz ordenada de acciones de usuario de alto nivel que dieron como " "resultado este recurso. Su misión es proporcionar a los lectores humanos una " "indicación general de los pasos tomados para realizar los cambios desde una " "versión anterior hasta esta. La lista debe ser a nivel abstracto; Su misión " "no es ser proporcionar una exhaustiva lista de pulsaciones de teclas ni una " "historia detallada." #: src/properties.cpp:272 msgid "Instance ID" msgstr "ID de instancia" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" "Un identificador para una encarnación específica de un documento, " "actualizado cada vez que un archivo se guarda. Debe estar basado en un UUID; " "vea ID de documento e instancia abajo." #: src/properties.cpp:274 msgid "Managed From" msgstr "Gestionado desde" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" "Una referencia al documento como se encontraba antes de ser gestionado. Se " "establece cuando un documento gestionado se introduce a un sistema de " "gestión de activos que actualmente no lo posee. Puede o no incluir " "referencias a diferentes sistemas de gestión." #: src/properties.cpp:277 msgid "Manager" msgstr "Gestor" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" "El nombre del sistema de gestión de activos que administra este recurso. " "Junto a xmpMM: ManagerVariant, le dice a las aplicaciones qué sistema de " "gestión de activos contactar refiriéndose a este documento." #: src/properties.cpp:280 msgid "Manage To" msgstr "Gestión de" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" "Un URI que identifica el recurso gestionado con el sistema de gestión de " "activos, la presencia de esta propiedad es la indicación formal de que este " "recurso es gestionado. La forma y el contenido de este URI es privada al " "sistema de gestión de activos." #: src/properties.cpp:283 msgid "Manage UI" msgstr "Administrar IU" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" "Un URI que puede ser usada para acceder a la información sobre un recurso " "gestionado a través de un navegador web. Puede requerir un complemento " "personalizado." #: src/properties.cpp:285 msgid "Manager Variant" msgstr "Variante de gestión" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" "Especifica una variante particular del sistema de administración de activos. " "El formato de esta propiedad es privado para el sistema de administración de " "activos específico." #: src/properties.cpp:287 msgid "Rendition Class" msgstr "Clase de rendición" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" "El nombre de clase de interpretación para este recurso. Esta propiedad " "debería estar ausente o colocarse de forma predeterminada para una versión " "de documento que no es una interpretación derivada." #: src/properties.cpp:289 msgid "Rendition Params" msgstr "Parámetros de rendición" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" "Puede ser utilizado para proporcionar parámetros adicionales de " "interpretación que son muy complejos o extensos para ser codificados en " "xmpMM: RenditionClass." #: src/properties.cpp:291 msgid "Version ID" msgstr "ID de versión" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr "" "El identificador de versión de documento para este recurso. Cada versión de " "un documento obtiene un nuevo identificador, normalmente simplemente " "incrementando enteros 1,2,3... y así sucesivamente. Los sistemas de gestión " "de medios pueden tener otras convenciones o soportar ramificación, y por " "tanto requerir un esquema más complejo." #: src/properties.cpp:295 msgid "Versions" msgstr "Versiones" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" "La historia de versión asociada con este recurso. La entrada [1] es la más " "versión más antigua conocida para este documento, la entrada [ultima()] es " "la versión más reciente. Típicamente, un sistema de gestión de medios, " "rellenará la información de versión en los meta-datos o en el registro de " "entrada. No se garantiza que esté presente una historia completa de " "versiones desde la primera hasta ésta en la propiedad xmpMM:Versions. La " "información de versión interior puede ser comprimida o eliminada y la " "historia de versiones puede estar truncada en algún punto." #: src/properties.cpp:301 msgid "Last URL" msgstr "Última URL" #: src/properties.cpp:301 msgid "Deprecated for privacy protection." msgstr "Obsoleto para la protección privada" #: src/properties.cpp:302 msgid "Rendition Of" msgstr "Rendición de" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" "Obsoleto en favor de xmpMM:DerivedFrom. Una referencia al documento del que " "éste es una modificación" #: src/properties.cpp:304 msgid "Save ID" msgstr "Id de guardado" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "" "Obsoleto. Usado anteriormente solo para soportar la propiedad xmpMM:LastURL" #: src/properties.cpp:310 msgid "Job Reference" msgstr "Referencia de trabajo" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" "Hace referencia a un archivo de trabajo de gestión externa de un proceso de " "trabajo en el que está siendo el documento utilizado. El uso de nombres de " "los trabajos es controlable por el usuario. El uso típico sería identificar " "todos los documentos que forman parte de un trabajo en particular o por " "contrato. Hay varios valores porque no puede haber más de un trabajo con un " "documento concreto en cualquier momento, y también puede ser útil para " "mantener la información histórica acerca de qué puestos de trabajo un " "documento forma parte de antes." #: src/properties.cpp:319 msgid "Maximum Page Size" msgstr "Tamaño máximo de página" #: src/properties.cpp:319 msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "" "Tamaño de la página más grande del documento (incluyendo cualquier documento " "contenido)" #: src/properties.cpp:320 msgid "Number of Pages" msgstr "Número de páginas" #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "" "El número de páginas en el documento (incluidos los que contienen los " "documentos)." #: src/properties.cpp:321 msgid "Fonts" msgstr "Tipografías" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" "Una matriz desordenada de las tipografías que se usaron en el documento " "(incluyendo cualquiera en los documentos contenidos)." #: src/properties.cpp:322 msgid "Colorants" msgstr "Colorantes" #: src/properties.cpp:322 msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" "Una matriz organizada de colorantes (swatches) que son utilizados en el " "documento (incluyendo cualquier documento contenido)" #: src/properties.cpp:323 msgid "Plate Names" msgstr "Nombres del mural" #: src/properties.cpp:323 msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" "Una matriz organizada de nombres de paletas que se necesitan para imprimir " "el documento (incluyendo cualquier documento contenido)" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "Project Reference" msgstr "Referencia de proyecto" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "Referencia al proyecto que creó el archivo." #: src/properties.cpp:330 src/properties.cpp:1163 msgid "Video Frame Rate" msgstr "Tasa de cuadros del vídeo" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "Tasa de cuadros del vídeo. Uno de: 24, NTSC, PAL." #: src/properties.cpp:331 src/properties.cpp:1164 msgid "Video Frame Size" msgstr "Tamaño de cuadro del vídeo" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "Tamaño del cuadro. Por ejemplo: w:720, h: 480, unidad:pixels" #: src/properties.cpp:332 msgid "Video Pixel Aspect Ratio" msgstr "Razón de aspecto del píxel del vídeo" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "" "Relación de aspecto, expresada como al/an. Por ejemplo: «648/720» = 0.9" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "Video Pixel Depth" msgstr "Profundidad de píxel de vídeo" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" "El tamaño en bits de cada componente de color de un píxel. Los píxeles " "estándar de Windows 32-bit tienen 8 bits por componente. Uno de: 8Int, " "16Int, 32Int, 32Float." #: src/properties.cpp:335 src/properties.cpp:1081 msgid "Video Color Space" msgstr "Espacio de color de vídeo" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" "El espacio de color. Uno de: sRGB (utilizado por Photoshop), CCIR-601 " "(utilizado por NTSC), CCIR-709 (utilizado por HD)." #: src/properties.cpp:337 msgid "Video Alpha Mode" msgstr "Modo alpha de vídeo" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "El modo alfa. Uno de: directo, pre-multiplicado." #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "Color premúltiple para alfa de vídeo" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" "Un color en CMYK o RGB a usar como el color pre-múltiplo cuando el modo alfa " "es pre-multiplicado." #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "La unidad alpha de vídeo es transparente" #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "Cuando es cierto, la unidad está limpia, cuando falso, está opaca." #: src/properties.cpp:341 msgid "Video Compressor" msgstr "Compresor de vídeo" #: src/properties.cpp:341 msgid "Video compression used. For example, jpeg." msgstr "Compresión de vídeo usada. Por ejemplo , jpeg." #: src/properties.cpp:342 msgid "Video Field Order" msgstr "Orden de campo de vídeo" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "El orden de campos para vídeo. Uno de: superior, inferior, progresivo." #: src/properties.cpp:343 msgid "Pull Down" msgstr "Bajar" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" "La fase de muestreo de la película que va a ser convertida a vídeo (pull-" "down). Uno de: WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, " "SWWWS_24p, WWWSS_24p, WWSSW_24p." #: src/properties.cpp:345 src/properties.cpp:1425 msgid "Audio Sample Rate" msgstr "Ratio de muestreo de audio" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" "El ratio de muestreo de audio. Puede ser cualquier valor, pero comúnmente " "32.000, 41.100 o 48.000" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "Audio Sample Type" msgstr "Tipo de muestreo de audio" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "Tipo de muestreo de audio. Uno de: 8Int, 16Int, 32Int, 32Float." #: src/properties.cpp:347 src/properties.cpp:1400 msgid "Audio Channel Type" msgstr "Tipo de canal de audio" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "Tipo de canal de audio. Uno de: Mono, Estéreo, 5.1, 7.1." #: src/properties.cpp:348 src/properties.cpp:1407 msgid "Audio Compressor" msgstr "Compresor de audio" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "El compresor de audio usado. Por ejemplo MP3." #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "Emplazamiento del narrador" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" "Una descripción de los ángulos en que están los altavoces respecto del " "frente en grados. Por ejemplo: «Izquierda = -30, Derecha = 30, Centro = 0, " "LFE = 45, Envolvente izquierdo = -110, Envolvente derecho = 110»" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "File Data Rate" msgstr "Tasa de datos de archivo" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "" "La tasa de datos del archivo en megabytes por segundo. Por ejemplo: «36/10» " "= 3.6 MB/seg." #: src/properties.cpp:352 src/properties.cpp:1334 msgid "Tape Name" msgstr "Nombre de cinta" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "" "El nombre de la cinta de la que fue capturado el fragmento de película, tal " "como se estableció durante el proceso de captura." #: src/properties.cpp:353 msgid "Alternative Tape Name" msgstr "Nombre de cinta alternativo" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" "Un nombre de cinta alternativo, especificado a través de la ventana de " "proyecto o del diálogo de código de tiempo en Premiere. Si se especifica un " "nombre alternativo y no ha sido revertido, éste se desplegará." #: src/properties.cpp:355 msgid "Start Time Code" msgstr "Código de inicio de tiempo" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "" "Código de tiempo del primer fotograma del vídeo en el archivo, obtenido del " "control del dispositivo." #: src/properties.cpp:356 msgid "Alternative Time code" msgstr "Código de tiempo alternativo" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" "Un código de tiempo establecido por el usuario. Cuando se especifica, se usa " "en lugar del código de tiempo de inicio." #: src/properties.cpp:357 src/properties.cpp:1124 msgid "Duration" msgstr "Duración" #: src/properties.cpp:357 msgid "The duration of the media file." msgstr "Duración del archivo." #: src/properties.cpp:358 msgid "Scene" msgstr "Escena" #: src/properties.cpp:358 msgid "The name of the scene." msgstr "El nombre de la escena" #: src/properties.cpp:359 msgid "Shot Name" msgstr "Nombre de la toma" #: src/properties.cpp:359 msgid "The name of the shot or take." msgstr "El nombre de la toma" #: src/properties.cpp:360 msgid "Shot Date" msgstr "Fecha de la toma" #: src/properties.cpp:360 msgid "The date and time when the video was shot." msgstr "Hora y fecha de la toma" #: src/properties.cpp:361 msgid "Shot Location" msgstr "Ubicación de la toma" #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" "El nombre de la locación donde el vídeo fue grabado. Por ejemplo: " "«Oktoberfest, Munich Alemania» Para un posicionamiento más preciso, use los " "valores GPS de EXIF." #: src/properties.cpp:363 msgid "Log Comment" msgstr "Comentario de registro" #: src/properties.cpp:363 msgid "User's log comments." msgstr "Comentarios del registro del usuario." #: src/properties.cpp:364 msgid "Markers" msgstr "Marcadores" #: src/properties.cpp:364 msgid "An ordered list of markers" msgstr "Una lista ordenada de marcadores" #: src/properties.cpp:365 msgid "Contributed Media" msgstr "Medios que han contribuido" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "" "UNa lista desordenada de todos los medios usados para crear este medio." #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "Ruta absoluta del archivo de audio de picos" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" "La ruta absoluta a los archivo de audio de pico. Si está vacía, no existen " "archivos de pico." #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "Ruta relativa del archivo de audio de picos" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" "La ruta relativa a los archivo de audio de pico. Si está vacía, no existen " "archivos de pico." #: src/properties.cpp:368 msgid "Video Modified Date" msgstr "Fecha de modificación del vídeo" #: src/properties.cpp:368 msgid "The date and time when the video was last modified." msgstr "Fecha y hora de la última modificación del vídeo." #: src/properties.cpp:369 msgid "Audio Modified Date" msgstr "Fecha de modidicación del audio" #: src/properties.cpp:369 msgid "The date and time when the audio was last modified." msgstr "Fecha y hora de la última modificación del audio." #: src/properties.cpp:370 msgid "Metadata Modified Date" msgstr "Fecha de modificación de los metadatos" #: src/properties.cpp:370 msgid "The date and time when the metadata was last modified." msgstr "Fecha y hora de la última modificación de los metadatos." #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "Artista" #: src/properties.cpp:371 src/properties.cpp:1058 msgid "The name of the artist or artists." msgstr "Nombre del artista o artistas." #: src/properties.cpp:372 src/properties.cpp:1054 msgid "Album" msgstr "Álbum" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "The name of the album." msgstr "Nombre del álbum." #: src/properties.cpp:373 src/properties.cpp:1366 msgid "Track Number" msgstr "Número de pista" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "" "Un valor numérico que indica el orden del archivo de audio que es la " "grabación original" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "Genre" msgstr "Género" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "The name of the genre." msgstr "Nombre del género." #: src/properties.cpp:375 msgid "The copyright information." msgstr "Información de copyright." #: src/properties.cpp:376 msgid "The date the title was released." msgstr "La fecha en la que el título fue publicado." #: src/properties.cpp:377 src/properties.cpp:1086 msgid "Composer" msgstr "Compositor" #: src/properties.cpp:377 msgid "The composer's name." msgstr "Nombre del compositor" #: src/properties.cpp:378 src/properties.cpp:1143 msgid "Engineer" msgstr "Ingeniero" #: src/properties.cpp:378 msgid "The engineer's name." msgstr "Nombre del ingeniero" #: src/properties.cpp:379 msgid "Tempo" msgstr "Tempo" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "Tempo del audio" #: src/properties.cpp:380 msgid "Instrument" msgstr "Instrumento" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "Instrumento musical." #: src/properties.cpp:381 msgid "Intro Time" msgstr "Tiempo de introducción" #: src/properties.cpp:381 msgid "The duration of lead time for queuing music." msgstr "La duración del tiempo de ejecución para poner música en cola." #: src/properties.cpp:382 msgid "Out Cue" msgstr "Referencia externa" #: src/properties.cpp:382 msgid "The time at which to fade out." msgstr "Tiempo en el que hacer fundido de salida" #: src/properties.cpp:383 msgid "Relative Timestamp" msgstr "Sello de tiempo relativo" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "La hora de inicio del medio en el proyecto de audio." #: src/properties.cpp:384 msgid "Loop" msgstr "Bucle" #: src/properties.cpp:384 msgid "When true, the clip can be looped seamlessly." msgstr "" #: src/properties.cpp:385 msgid "Number Of Beats" msgstr "Número de golpes" #: src/properties.cpp:385 msgid "The number of beats." msgstr "El número de golpes" #: src/properties.cpp:386 msgid "Key" msgstr "Tecla" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "" "La clave musical de audio. Una de: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." #: src/properties.cpp:387 msgid "Stretch Mode" msgstr "Modo de estiramiento" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" "El modo de estiramiento del audio. Uno de: longitud fija, escala de tiempo, " "volver a muestrear, empalme de pulsación, híbrido." #: src/properties.cpp:388 msgid "Time Scale Parameters" msgstr "Parámetros de escala de tiempo" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "" "Parámetros adicionales para el modo de «estirado» de la escala de tiempos" #: src/properties.cpp:389 msgid "Resample Parameters" msgstr "Parámetros de remuestreo" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "Parametros adicionales para el modo de muestrear." #: src/properties.cpp:390 msgid "Beat Splice Parameters" msgstr "Ajustes del empalme de pulsación" #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "Más ajustes para el empalme de pulsación" #: src/properties.cpp:391 msgid "Time Signature" msgstr "Signatura musical" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" "Signatura musical. Una de: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, 12/8, otra." #: src/properties.cpp:392 msgid "Scale Type" msgstr "Tipo de escala" #: src/properties.cpp:392 msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "" "Escala musical usada en la música. Una de: Mayor, menor, ambas, ninguna. " "Ninguna es la más frecuente para instrumentos sin asociación de escala, " "tales como los tambores." #: src/properties.cpp:399 src/tags.cpp:1078 msgid "Camera Serial Number" msgstr "Número de serie de la cámara" #: src/properties.cpp:399 msgid "Camera Serial Number." msgstr "Número de serie de la cámara." #: src/properties.cpp:400 msgid "Date Acquired" msgstr "Fecha de adquisición" #: src/properties.cpp:400 msgid "Date Acquired." msgstr "Fecha de adquisición." #: src/properties.cpp:401 msgid "Flash Manufacturer" msgstr "Fabricante del flash" #: src/properties.cpp:401 msgid "Flash Manufacturer." msgstr "Fabricante del flash." #: src/properties.cpp:402 msgid "Flash Model." msgstr "Modelo del flash." #: src/properties.cpp:403 msgid "Last Keyword IPTC" msgstr "Última palabra clave IPTC" #: src/properties.cpp:403 msgid "Last Keyword IPTC." msgstr "Última palabra clave IPTC" #: src/properties.cpp:404 msgid "Last Keyword XMP" msgstr "Última palabra clave XMP" #: src/properties.cpp:404 msgid "Last Keyword XMP." msgstr "Última palabra clave XMP" #: src/properties.cpp:405 msgid "Lens Manufacturer" msgstr "Fabricante de las lentes" #: src/properties.cpp:405 msgid "Lens Manufacturer." msgstr "Fabricante de las lentes." #: src/properties.cpp:406 src/properties.cpp:1199 msgid "Lens Model." msgstr "Modelo de lentes." #: src/properties.cpp:407 msgid "Rating Percent" msgstr "Porcentaje de tasa" #: src/properties.cpp:407 msgid "Rating Percent." msgstr "Porcentaje de tasa." #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "" #: src/properties.cpp:414 msgid "Private RTK Info" msgstr "" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "" #: src/properties.cpp:420 msgid "Keywords." msgstr "Claves." #: src/properties.cpp:421 msgid "PDF Version" msgstr "Versión de PDF" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "Versión del archivo PDF (por ejemplo: 1.0, 1.3, y demás)." #: src/properties.cpp:422 src/properties.cpp:1278 msgid "Producer" msgstr "Productor" #: src/properties.cpp:422 msgid "The name of the tool that created the PDF document." msgstr "Nombre de la herramienta con la que se creó el documento PDF." #: src/properties.cpp:428 msgid "Authors Position" msgstr "Posición de autores" #: src/properties.cpp:428 msgid "By-line title." msgstr "Título por línea" #: src/properties.cpp:429 msgid "Caption Writer" msgstr "Escritor del encabezamiento" #: src/properties.cpp:429 msgid "Writer/editor." msgstr "Escritor/editor" #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "Categoría. Limitado a 3 7-bit caracteres ASCII." #: src/properties.cpp:431 msgid "City." msgstr "Ciudad" #: src/properties.cpp:432 msgid "Country/primary location." msgstr "País/localización primaria" #: src/properties.cpp:433 msgid "Credit." msgstr "Crédito." #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" "La fecha en que se creó el contenido intelectual del documento (en lugar de " "la fecha de creación de la representación física), siguiendo las " "convenciones IIM. Por ejemplo, una foto tomada durante la Guerra Civil " "Americana tendría una fecha de creación durante esa época (1861-1865) en " "lugar de la fecha en que la foto fue digitalizada para archivado." #: src/properties.cpp:438 msgid "Headline." msgstr "Cabecera" #: src/properties.cpp:439 msgid "Special instructions." msgstr "Instrucciones especiales." #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source." msgstr "Fuente." #: src/properties.cpp:441 msgid "Province/state." msgstr "Provincia/estado" #: src/properties.cpp:442 msgid "Supplemental category." msgstr "Categoría suplementaria" #: src/properties.cpp:443 msgid "Original transmission reference." msgstr "Referencia de la transmisión original." #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "Urgencia. Rango válido 1-8" #: src/properties.cpp:452 msgid "inches" msgstr "pulgadas" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "cm" #: src/properties.cpp:457 msgid "Auto Brightness" msgstr "Brillo automático" #: src/properties.cpp:457 msgid "When true, \"Brightness\" is automatically adjusted." msgstr "Cuando es «true» el brillo se ajusta automáticamente." #: src/properties.cpp:458 msgid "Auto Contrast" msgstr "Contraste automático" #: src/properties.cpp:458 msgid "When true, \"Contrast\" is automatically adjusted." msgstr "Cuando es «true» el contraste se ajusta automáticamente." #: src/properties.cpp:459 msgid "Auto Exposure" msgstr "Exposición automática" #: src/properties.cpp:459 msgid "When true, \"Exposure\" is automatically adjusted." msgstr "Cuando es cierto, la «exposición» se ajusta automáticamente" #: src/properties.cpp:460 msgid "Auto Shadows" msgstr "Sombras automáticas" #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "Cuando está activado, «Sombras» se ajusta automáticamente." #: src/properties.cpp:461 msgid "Blue Hue" msgstr "Tono azul" #: src/properties.cpp:461 msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "Configuración de «tono azul» Rango -100 a 100" #: src/properties.cpp:462 msgid "Blue Saturation" msgstr "Saturación azul" #: src/properties.cpp:462 msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "Configuración de «tono rojo» Rango -100 a +100" #: src/properties.cpp:463 msgid "\"Brightness\" setting. Range 0 to +150." msgstr "Configuración de «brillo» Rango 0 a +150" #: src/properties.cpp:464 msgid "Camera Profile" msgstr "Perfil de cámara" #: src/properties.cpp:464 msgid "\"Camera Profile\" setting." msgstr "Configuración del «perfil de cámara»" #: src/properties.cpp:465 msgid "Chromatic Aberration Blue" msgstr "Aberración cromática azul" #: src/properties.cpp:465 msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "" "Configuración de «aberración cromática, corrija la franja azul/amarillo». " "Rango -100 a +100." #: src/properties.cpp:466 msgid "Chromatic Aberration Red" msgstr "Aberración cromática rojo" #: src/properties.cpp:466 msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "" "Configuración de «aberración cromática, corrija la franja roja/cian». Rango " "-100 a +100.." #: src/properties.cpp:467 src/properties.cpp:1080 msgid "Color Noise Reduction" msgstr "Reducción de ruido de color" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "Configurar la «Reducción de ruido cromático». Rango de 0 a +100." #: src/properties.cpp:468 msgid "\"Contrast\" setting. Range -50 to +100." msgstr "Configuración de «contraste». Rango -50 a +100" #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "" "Cuando «Tiene recorte» es verdadero, parte superior del rectángulo de recorte" #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "" "Cuando «Tiene recorte» es verdadero, parte izquierda del rectángulo de " "recorte" #: src/properties.cpp:471 msgid "Crop Bottom" msgstr "Cortar abajo" #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "" "Cuando «Tiene recorte» es verdadero, parte inferior del rectángulo de recorte" #: src/properties.cpp:472 msgid "Crop Right" msgstr "Cortar derecha" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "" "Cuando «Tiene recorte» es verdadero, parte derecha del rectángulo de recorte" #: src/properties.cpp:473 msgid "Crop Angle" msgstr "Ángulo de corte" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "Cuando «Tiene recorte» es verdadero, ángulo del rectángulo de recorte" #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "Anchura de la imagen resultante recortada en unidades de CropUnits." #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "Altura de la imagen resultante recortada en unidades de CropUnits" #: src/properties.cpp:476 msgid "Crop Units" msgstr "Unidades de recorte" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "Unidades para CropWidth y CropHeight. 0=píxeles, 1=pulgadas, 2=cm" #: src/properties.cpp:477 msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "Configuración de «Exposición». Rango -4.0 a +4.0." #: src/properties.cpp:478 msgid "Green Hue" msgstr "" #: src/properties.cpp:478 msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "Configuración «Tonalidad de verde». Rango -100 a +100." #: src/properties.cpp:479 msgid "Green Saturation" msgstr "Saturación verde" #: src/properties.cpp:479 msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "Configuración «Saturación de verde». Rango -100 a +100." #: src/properties.cpp:480 msgid "Has Crop" msgstr "Tiene recorte" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "Cuando es verdadero, la imagen tiene un rectángulo de recorte." #: src/properties.cpp:481 msgid "Has Settings" msgstr "Tiene configuración" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "Cuando es verdadero, configuración cruda de cámara no predeterminada." #: src/properties.cpp:482 msgid "Luminance Smoothing" msgstr "Suavizado de luminancia" #: src/properties.cpp:482 msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "Configuración «Suavizado de luminancia». Rango 0 a +100" #: src/properties.cpp:483 msgid "Raw File Name" msgstr "Nombre de archivo raw" #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "Nombre del archivo raw (ruta incompleta)." #: src/properties.cpp:484 msgid "Red Hue" msgstr "Tono rojo" #: src/properties.cpp:484 msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "Configuración de «tono rojo» Rango -100 a +100" #: src/properties.cpp:485 msgid "Red Saturation" msgstr "Saturación de rojo" #: src/properties.cpp:485 msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "Configuración de «saturación de rojo». Rango -100 a +100" #: src/properties.cpp:486 msgid "\"Saturation\" setting. Range -100 to +100." msgstr "Configuración de «saturación». Rango -100 a +100" #: src/properties.cpp:487 msgid "Shadows" msgstr "Sombras" #: src/properties.cpp:487 msgid "\"Shadows\" setting. Range 0 to +100." msgstr "Configuración de «sombra». Rango 0 a +100" #: src/properties.cpp:488 msgid "Shadow Tint" msgstr "Matiz de la sombra" #: src/properties.cpp:488 msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "Valor del matiz de la sombra. Rango: -100 a +100." #: src/properties.cpp:489 src/properties.cpp:1301 msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "Configuración de «nitidez». Rango 0 a +100" #: src/properties.cpp:490 msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "Configuración de «temperatura». Rango 2.000 a 5.000" #: src/properties.cpp:491 msgid "Tint" msgstr "Matiz" #: src/properties.cpp:491 msgid "\"Tint\" setting. Range -150 to +150." msgstr "Ajuste de «Matiz». Rango -150 a +150." #: src/properties.cpp:492 msgid "Tone Curve" msgstr "Curva de tono" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "matriz de puntos (entero, entero) que define una «curva de tono»" #: src/properties.cpp:493 msgid "Tone Curve Name" msgstr "Nombre de curva de tono" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" "El nombre de la curva tonal descrita por ToneCurve. Puede ser: lineal, " "contraste medio, contraste fuerte, personalizado o un nombre predeterminado " "definido por el usuario." #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "Versión del complemento raw de cámara." #: src/properties.cpp:496 msgid "Vignette Amount" msgstr "Cantidad de viñeta" #: src/properties.cpp:496 msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "Configuración «Cantidad de viñeteado». Rango -100 a +100." #: src/properties.cpp:497 msgid "Vignette Midpoint" msgstr "Punto medio de viñeta" #: src/properties.cpp:497 msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "Configuración «Punto medio de viñeteado». Rango 0 a +100." #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" "Configuración «Balance de blancos». Uno de los siguientes: Como fue " "disparada, Automático, Luz de día, Nublado, Sombra, Tungsteno, Fluorescente, " "Flash, Personalizado" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "Etiqueta TIFF 256, 0x100. Ancho de la imagen en píxels." #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 msgid "Image Length" msgstr "Longitud de la imagen" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "Etiqueta TIFF 257, 0x101. Altura de la imagen en píxeles." #: src/properties.cpp:507 msgid "Bits Per Sample" msgstr "Bits por muestra" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "Etiqueta TIFF 258, 0x102. Número de bits por componente en cada canal." #: src/properties.cpp:508 src/tags.cpp:434 msgid "Compression" msgstr "Compresión" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "" "Etiqueta TIFF 259, 0x103. Sistema de compresión: 1 = sin comprimir; 6 = JPEG." #: src/properties.cpp:509 src/tags.cpp:440 msgid "Photometric Interpretation" msgstr "Interpretación fotométrica" #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "Etiqueta TIFF 262, 0x106. Composición de píxel: 2 = RGB; 6 = YCbCr." #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" "Etiqueta TIFF 274, 0x11. Orientación:1 = fila 0 arriba, columna 0 a la " "izquierda 2 = fila 0 arriba, columna 0 a la derecha 3 = fila 0 abajo, " "columna 0 la derecha 4 = fila 0 abajo, columna 0 a la izquierda 5 = fila 0 " "a la izquierda, columna 0 arriba 6 = fila 0 a la derecha, columna 0 arriba 7 " "= fila 0 a la derecha, columna 0 abajo 8 = fila 0 a la izquierda, columna 0 " "abajo" #: src/properties.cpp:519 msgid "Samples Per Pixel" msgstr "Muestras por píxel" #: src/properties.cpp:519 msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "Etiqueta TIFF 277, 0x115. Número de componentes por píxel." #: src/properties.cpp:520 src/tags.cpp:514 msgid "Planar Configuration" msgstr "Configuración de planos" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "Etiqueta TIFF 284. Capa de datos: 1 = granular; 2 = planar." #: src/properties.cpp:521 msgid "YCbCr Sub Sampling" msgstr "Sub-muestreo YCbCr" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" "Etiqueta TIFF 530, 0x212. Radio de muestreo de los componentes de la " "crominancia: [2,1] = YCbCr4:2:2; [2, 2] = YCbCr4:2:0" #: src/properties.cpp:523 src/tags.cpp:720 msgid "YCbCr Positioning" msgstr "Posicionamiento YCbCr" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" "Etiqueta TIFF 531, 0x213. Posición de los componentes de crominancia vs. " "luminancia: 1 = centrados; 2 = coemplazados." #: src/properties.cpp:525 src/properties.cpp:1390 msgid "X Resolution" msgstr "Resolución X" #: src/properties.cpp:525 msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "Etiqueta TIFF 282, 0x11A. Resolución horizontal en píxeles por unidad." #: src/properties.cpp:526 src/properties.cpp:1392 msgid "Y Resolution" msgstr "Resolución Y" #: src/properties.cpp:526 msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "Etiqueta TIFF 283, 0x11B. Resolución vertical en píxeles por unidad." #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 msgid "Resolution Unit" msgstr "Unidad de resolución" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" "Etiqueta TIFF 296, 0x128. Unidad utilizada para XResolution e YResolution. " "Puede tomar los valores: 2 = pulgadas; 3 = centímetros." #: src/properties.cpp:529 src/tags.cpp:540 msgid "Transfer Function" msgstr "Función de transferencia" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" "Etiqueta TIFF 301, 0x12D. Función de transferencia para imagen descrita en " "estilo tabular con 3 * 256 entradas." #: src/properties.cpp:531 src/tags.cpp:572 msgid "White Point" msgstr "Punto blanco" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "Etiqueta TIFF 318, 0x13E. Cromaticidad del punto blanco." #: src/properties.cpp:532 src/tags.cpp:577 msgid "Primary Chromaticities" msgstr "Cromaticidades primarias" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "Etiqueta TIFF 319, 0x13F. Cromaticidad de los tres colores primarios." #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "" "Etiqueta TIFF 529, 0x211. Matriz de coeficientes para la transformación de " "RGB a YCbCr." #: src/properties.cpp:534 msgid "Reference Black White" msgstr "Referencia blanco y negro" #: src/properties.cpp:534 msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "" "Etiqueta TIFF 532, 0x214. Valores de los puntos negro y blanco de referencia." #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 msgid "Date and Time" msgstr "Fecha y hora" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" "Etiqueta TIFF 306, 0x132 (primario) y etiqueta EXIF 37520, 0x9290 " "(subsegundos [Submúltiplos del segundo en el Sistema Internacional SI]). " "Fecha y hora de creación de la imagen (sin zona horaria en EXIF), almacenada " "en formato ISO 8601, no en el formato EXIF original. Esta propiedad incluye " "el valor del atributo EXIF «SubSecTime». NOTA: Esta propiedad se almacena en " "el formato XMP como «xmp:ModifyDate»." #: src/properties.cpp:541 src/tags.cpp:462 msgid "Image Description" msgstr "Descripción de la imagen" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" "Etiqueta TIFF 270, 0x10E. Descripción de la imagen. Nota: Esta propiedad se " "almacena en XMP como dc:description." #: src/properties.cpp:542 msgid "Make" msgstr "Marca" #: src/properties.cpp:542 msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "Etiqueta TIFF 271, 0x10F. Fabricante del equipo de grabación." #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "Etiqueta TIFF 272, 0x110. Nombre de modelo o número de equipo." #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" "Etiqueta TIFF 305, 0x131. Software o firmware utilizado para generar la " "imagen. Nota: Esta propiedad se almacena en XMP como xmp:CreatorTool. " #: src/properties.cpp:546 msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" "Etiqueta TIFF 315, 0x13B. Propietario de la cámara, fotógrafo o creador de " "la imagen. Nota: Esta propiedad se almacena en XMP como el primer elemento " "de la matriz dc:creator." #: src/properties.cpp:548 msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" "Etiqueta TIFF 33432, 0x8298. Información de Copyright. Nota: Esta propiedad " "se almacena en XMP como dc:rights." #: src/properties.cpp:555 src/tags.cpp:1605 msgid "Exif Version" msgstr "Versión Exif" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "Etiqueta EXIF 36864, 0x9000. Número de versión EXIF." #: src/properties.cpp:556 msgid "Flashpix Version" msgstr "Versión Flashpix" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "Etiqueta EXIF 40960, 0xA000. Versión de FlashPix." #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "Etiqueta EXIF 40961, 0xA001. Información del espacio de color" #: src/properties.cpp:558 src/tags.cpp:1616 msgid "Components Configuration" msgstr "Configuración de componentes" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" "Etiqueta EXIF 37121, 0x9101. Configuración de los componentes en los datos: " "4 5 6 0 (si son datos RGB comprimidos), 1 2 3 0 (en otros casos)." #: src/properties.cpp:560 src/tags.cpp:825 msgid "Compressed Bits Per Pixel" msgstr "Bits comprimidos por píxel" #: src/properties.cpp:560 msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" "Etiqueta EXIF 37122, 0x9102. El modo de compresión que se usa para una " "imagen comprimida se indica medido en bits por píxel." #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "Dimensión píxel X" #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "Etiqueta EXIF 40962, 0xA002. Anchura de imagen válida, en píxeles" #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "Dimensión píxel Y" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "Etiqueta EXIF 40963, 0xA003. Altura de imagen válida, en pixeles." #: src/properties.cpp:564 src/tags.cpp:1674 msgid "User Comment" msgstr "Comentario del usuario" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "Etiqueta EXIF 37510, 0x9286. Comentarios del usuario." #: src/properties.cpp:565 src/tags.cpp:1716 msgid "Related Sound File" msgstr "Archivo de sonido relacionado" #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" "Etiqueta EXIF 40964, 0xA004. Nombre de archivo en formato «8.3» para el " "archivo de sonido asociado" #: src/properties.cpp:566 src/properties.cpp:1110 msgid "Date and Time Original" msgstr "Fecha y hora original" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" "Etiquetas EXIF 36867, 0x9003 (primarias) y 37521, 0x9291 (fracciones de " "segundo). Fecha y hora en que se generó la imagen original, en formato ISO " "8601. Incluyen los datos SubSecTimeOriginal (fracciones de segundo del " "tiempo del original) de EXIF." #: src/properties.cpp:569 src/properties.cpp:1111 msgid "Date and Time Digitized" msgstr "Fecha y hora de la digitalización" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" "Etiqueta EXIF 36868, 0x9004 (primarias) y 37522, 0x9292 (fracciones de " "segundo). Fecha y hora en que la imagen original fue guardada digitalmente; " "puede ser igual a la fecha de la imagen original si fue guardada " "digitalmente desde un principio. Guardadas en el formato ISO 8601. Incluyen " "los datos SubSecTimeOriginal (fracciones de segundo del tiempo del " "digitalizado) de EXIF." #: src/properties.cpp:573 msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "Etiqueta EXIF 33434, 0x829A. Tiempo de exposición en segundos." #: src/properties.cpp:574 src/properties.cpp:1157 msgid "F Number" msgstr "Número F" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "Etiqueta EXIF 33437, 0x829D. número F." #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "" "Etiqueta EXIF 34850, 0x8822. Clase de programa usado para la exposición." #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 msgid "Spectral Sensitivity" msgstr "Sensibilidad espectral" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "Etiqueta EXIF 34852, 0x8824. Sensibilidad espectral para cada canal" #: src/properties.cpp:577 msgid "ISOSpeedRatings" msgstr "ISOSpeedRatings" #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" "Etiqueta EXIF 34855, 0x8827. Velocidad y latitud ISO del dispositivo de " "entrada, como especifica el ISO 12232." #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "OECF" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" "Etiqueta EXIF 34856, 0x8828. Función de Conversión Opto-Electórica, como " "especifica el ISO 14524." #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" "Etiqueta EXIF 37377, 0x9201. Velocidad de disparador, medida en APEX. Ver " "Anexo C de especificación EXIF." #: src/properties.cpp:581 msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "Etiqueta EXIF 37378, 0x9202. Apertura de lente, las unidades son APEX." #: src/properties.cpp:582 src/tags.cpp:828 msgid "Brightness Value" msgstr "Valor de brillo" #: src/properties.cpp:582 msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "Etiqueta EXIF 37379, 0x9203. Brillo, la unidad es APEX." #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "" "Etiqueta EXIF 37380, 0x9204. Compensación de exposición, medida en APEX." #: src/properties.cpp:584 src/properties.cpp:1211 msgid "Maximum Aperture Value" msgstr "Valor máximo de apertura" #: src/properties.cpp:584 msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "" #: src/properties.cpp:585 msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "Etiqueta EXIF 37382, 0x9206. Distancia al tema, en metros." #: src/properties.cpp:586 msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "Etiqueta EXIF 37383, 0x9207. Modo de medición." #: src/properties.cpp:587 msgid "EXIF tag 37384, 0x9208. Light source." msgstr "Etiqueta EXIF 37384, 0x9208. Fuente de luz." #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "" #: src/properties.cpp:589 msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "" #: src/properties.cpp:590 src/tags.cpp:1666 msgid "Subject Area" msgstr "Área del sujeto" #: src/properties.cpp:590 msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" "Esta etiqueta indica la ubicación y el área del sujeto principal en la " "escena general." #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 msgid "Flash Energy" msgstr "Energía del flash" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "" #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "Respuesta en frecuencia espacial" #: src/properties.cpp:592 msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" "EXIF tag 41484, 0xA20C. Tabla de entrada del dispositivo de frecuencia " "espacial y los valores de SNR según lo especificado en la norma ISO 12233." #: src/properties.cpp:594 src/tags.cpp:839 msgid "Focal Plane X Resolution" msgstr "Resolución X plano focal" #: src/properties.cpp:594 msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "" "EXIF tag 41486, 0xA20E. Resolución focal horizontal, medida en píxeles por " "unidad" #: src/properties.cpp:595 src/tags.cpp:840 msgid "Focal Plane Y Resolution" msgstr "Resolución Y plano focal" #: src/properties.cpp:595 msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "" #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 msgid "Focal Plane Resolution Unit" msgstr "Unidad de resolución del plano focal" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 msgid "Subject Location" msgstr "Ubicación del sujeto" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" #: src/properties.cpp:600 src/tags.cpp:846 msgid "Exposure Index" msgstr "Índice de exposición" #: src/properties.cpp:600 msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "" #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 msgid "Sensing Method" msgstr "Método de sensado" #: src/properties.cpp:601 msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "" "Indica el tipo de sensor de imagen en la cámara o dispositivo de entrada." #: src/properties.cpp:602 msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "Etiqueta EXIF 41728, 0xA300. Indica el origen de la imagen." #: src/properties.cpp:603 src/tags.cpp:1771 msgid "Scene Type" msgstr "Tipo de escena" #: src/properties.cpp:603 msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "" #: src/properties.cpp:604 src/tags.cpp:761 msgid "CFA Pattern" msgstr "Patrón CFA" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" #: src/properties.cpp:605 src/tags.cpp:1781 msgid "Custom Rendered" msgstr "Render personalizado" #: src/properties.cpp:605 msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "" #: src/properties.cpp:606 msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "" #: src/properties.cpp:607 msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "" "Esta etiqueta indica el modo de balance de blanco ajustado cuando se tomó la " "imagen." #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 msgid "Digital Zoom Ratio" msgstr "Relación de zoom digital" #: src/properties.cpp:608 msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "" #: src/properties.cpp:609 src/tags.cpp:1800 msgid "Focal Length In 35mm Film" msgstr "Distancia focal en película de 35mm" #: src/properties.cpp:609 msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" "Esta etiqueta indica la distancia focal equivalente asumiendo una cámara de " "película de 35mm, en mm. Un valor de 0 significa que se desconoce la " "distancia focal. Note que esta etiqueta difiere de la etiqueta FocalLength." #: src/properties.cpp:612 src/tags.cpp:1806 msgid "Scene Capture Type" msgstr "Tipo de captura de escena" #: src/properties.cpp:612 msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "" #: src/properties.cpp:613 src/tags.cpp:1811 msgid "Gain Control" msgstr "Control de ganancia" #: src/properties.cpp:613 msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "" "Esta etiqueta indica el grado del ajuste de ganancia general de imagen." #: src/properties.cpp:614 msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" "Esta etiqueta indica la dirección del procesamiento de contraste aplicado " "por la cámara cuando se tomó la imagen." #: src/properties.cpp:615 msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" "Esta etiqueta indica la dirección del procesamiento de stauración aplicado " "por la cámara cuando se tomó la imagen." #: src/properties.cpp:616 msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" "Esta etiqueta indica la dirección del procesamiento de nitidez aplicado por " "la cámara cuando se tomó la imagen." #: src/properties.cpp:617 src/tags.cpp:1826 msgid "Device Setting Description" msgstr "Descripción de ajuste del dispositivo" #: src/properties.cpp:617 msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" "Esta etiqueta indica información sobre las condiciones de toma de la foto de " "un modelo de cámara en particular. La etiqueta sólo se usa para indicar las " "condiciones de toma de fotos en el lector." #: src/properties.cpp:618 src/tags.cpp:1831 msgid "Subject Distance Range" msgstr "Rango de distancia al sujeto." #: src/properties.cpp:618 msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "Esta etiqueta indica la distancia al sujeto." #: src/properties.cpp:619 src/tags.cpp:1834 msgid "Image Unique ID" msgstr "ID único de imagen" #: src/properties.cpp:619 msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" "Esta etiqueta indica un identificador asignado unívocamente a cada imagen. " "Se registra como una cadena de caracteres ASCII equivalente a notación " "hexadecimal y de una longitud fija de 128 bits." #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 msgid "GPS Version ID" msgstr "Identidad de la versión GPS" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "Latitud GPS" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "" #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "Longitud GPS" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "" #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 msgid "GPS Altitude Reference" msgstr "Referencia de altitud GPS" #: src/properties.cpp:625 src/properties.cpp:1168 msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "" #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "Altitud GPS" #: src/properties.cpp:626 src/properties.cpp:1167 msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "" #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 msgid "GPS Time Stamp" msgstr "Sello de hora GPS" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 msgid "GPS Satellites" msgstr "Satélites GPS" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:634 src/tags.cpp:1989 msgid "GPS Status" msgstr "Estado GPS" #: src/properties.cpp:634 msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "" #: src/properties.cpp:635 src/tags.cpp:1994 msgid "GPS Measure Mode" msgstr "Modo de medida GPS" #: src/properties.cpp:635 msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "" #: src/properties.cpp:636 msgid "GPS DOP" msgstr "GPS DOP" #: src/properties.cpp:636 msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "" #: src/properties.cpp:637 src/tags.cpp:2002 msgid "GPS Speed Reference" msgstr "Referencia de velocidad GPS" #: src/properties.cpp:637 msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "" #: src/properties.cpp:638 src/tags.cpp:2006 msgid "GPS Speed" msgstr "Velocidad GPS" #: src/properties.cpp:638 msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "" #: src/properties.cpp:639 msgid "GPS Track Reference" msgstr "Referencia de pista GPS" #: src/properties.cpp:639 msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "" #: src/properties.cpp:640 src/tags.cpp:2013 msgid "GPS Track" msgstr "Rastreo GPS" #: src/properties.cpp:640 msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 msgid "GPS Image Direction Reference" msgstr "Referencia de dirección de imagen GPS" #: src/properties.cpp:641 msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "" #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 msgid "GPS Image Direction" msgstr "Dirección de imagen GPS" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 msgid "GPS Map Datum" msgstr "Datos de mapa GPS" #: src/properties.cpp:643 msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "Etiqueta GPS 18, 0x12. Datos de levantamiento geodésico." #: src/properties.cpp:644 src/tags.cpp:2033 msgid "GPS Destination Latitude" msgstr "Latitud de destino GPS" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" #: src/properties.cpp:645 src/tags.cpp:2045 msgid "GPS Destination Longitude" msgstr "Longitud de destino GPS" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" #: src/properties.cpp:646 src/tags.cpp:2052 msgid "GPS Destination Bearing Reference" msgstr "Referencia al punto de destino GPS" #: src/properties.cpp:646 msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "" #: src/properties.cpp:647 src/tags.cpp:2056 msgid "GPS Destination Bearing" msgstr "Punto de destino GPS" #: src/properties.cpp:647 msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "Etiqueta GPS 24, 0x18. Punto de destino, con valores de 0 a 359,99." #: src/properties.cpp:648 src/tags.cpp:2060 msgid "GPS Destination Distance Reference" msgstr "Referencia de distancia al destino GPS" #: src/properties.cpp:648 msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "" "Etiqueta GPS 25, 0x19. Unidades utilizadas para la medición de la velocidad." #: src/properties.cpp:649 src/tags.cpp:2064 msgid "GPS Destination Distance" msgstr "Distancia del destino GPS" #: src/properties.cpp:649 msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "" #: src/properties.cpp:650 src/tags.cpp:2067 msgid "GPS Processing Method" msgstr "Método de proceso GPS" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" #: src/properties.cpp:651 src/tags.cpp:2072 msgid "GPS Area Information" msgstr "Información de área GPS" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "" #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "Diferencial GPS" #: src/properties.cpp:652 msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "" #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "" "Una descripción de la lente empleada para tomar la fotografía. Por ejemplo, " "«70-200 mm f/2.8-4.0»." #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "" "El número de serie de la cámara o del cuerpo de la cámara empleado para " "tomar la fotografía." #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "Información de contacto del creador" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" #: src/properties.cpp:667 msgid "Contact Info-Address" msgstr "Dirección" #: src/properties.cpp:667 msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" #: src/properties.cpp:669 msgid "Contact Info-City" msgstr "Ciudad" #: src/properties.cpp:669 msgid "sub-key Creator Contact Info: city." msgstr "" #: src/properties.cpp:670 msgid "Contact Info-State/Province" msgstr "Provincia/Región" #: src/properties.cpp:670 msgid "sub-key Creator Contact Info: state or province." msgstr "" #: src/properties.cpp:671 msgid "Contact Info-Postal Code" msgstr "Código postal" #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "" #: src/properties.cpp:672 msgid "Contact Info-Country" msgstr "País" #: src/properties.cpp:672 msgid "sub-key Creator Contact Info: country." msgstr "" #: src/properties.cpp:673 msgid "Contact Info-Email" msgstr "Correo(s)electrónico(s)" #: src/properties.cpp:673 msgid "sub-key Creator Contact Info: email address." msgstr "" #: src/properties.cpp:674 msgid "Contact Info-Phone" msgstr "Número(s) de tel." #: src/properties.cpp:674 msgid "sub-key Creator Contact Info: phone number." msgstr "" #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "Sitio(s) Web" #: src/properties.cpp:675 msgid "sub-key Creator Contact Info: web address." msgstr "" #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "Genero" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" #: src/properties.cpp:678 msgid "IPTC Scene" msgstr "Escena IPTC" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" #: src/properties.cpp:680 msgid "IPTC Subject Code" msgstr "Código de tema IPTC" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" #: src/properties.cpp:682 msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" #: src/properties.cpp:687 msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" #: src/properties.cpp:696 msgid "Additional model info" msgstr "Información adicional del modelo" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "Código de la organización caracterizada" #: src/properties.cpp:697 msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "" #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" #: src/properties.cpp:699 msgid "Model age" msgstr "Edad del modelo" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "" "Edad del modelo humano en el momento en que se tomó la imagen publicada." #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "Nombre de la organización caracterizada" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "Nombre de la organización o compañía caracterizada en la imagen." #: src/properties.cpp:701 msgid "Person shown" msgstr "Persona mostrada" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "Nombre de la persona mostrada en la imagen." #: src/properties.cpp:702 msgid "Digital Image Identifier" msgstr "Identificador de la imagen digital" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" "Identificador global único de la imagen digital. El creador de la imagen " "digital establece este valor en el momento de su creación. No se modificará " "posteriormente." #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "Tipo físico de la foto original" #: src/properties.cpp:703 msgid "The type of the source digital file." msgstr "El tipo de la fuente del archivo digital" #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 msgid "Event" msgstr "Evento" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "" "Nombra o describe el evento específico en el que se tomó la fotografía." #: src/properties.cpp:705 msgid "Maximum available height" msgstr "Altura máxima disponible" #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:706 msgid "Maximum available width" msgstr "" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:707 msgid "Registry Entry" msgstr "Entrada de registro" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" #: src/properties.cpp:708 msgid "Registry Entry-Item Identifier" msgstr "" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" "Un identificador único creado por un registro y aplicado por el creador de " "la imagen digital. Este valor no debería cambiarse tras aplicarse. El " "identificador está vinculado al correspondiente identificador de registro de " "organización." #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "Último campo IPTC editado" #: src/properties.cpp:710 msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "" #: src/properties.cpp:711 msgid "Location shown" msgstr "Lugar mostrado" #: src/properties.cpp:711 msgid "A location shown in the image." msgstr "El lugar mostrado en la imagen." #: src/properties.cpp:712 msgid "Location Created" msgstr "Lugar de creación" #: src/properties.cpp:712 msgid "The location the photo was taken." msgstr "El lugar donde se tomó la fotografía." #: src/properties.cpp:713 msgid "Location-City" msgstr "Ubicación-Ciudad" #: src/properties.cpp:713 msgid "Name of the city of a location." msgstr "Nombre de la ciudad." #: src/properties.cpp:714 msgid "Location-Country ISO-Code" msgstr "Ubicación-Código ISO del país" #: src/properties.cpp:714 msgid "The ISO code of a country of a location." msgstr "El código ISO del país." #: src/properties.cpp:715 msgid "Location-Country Name" msgstr "Ubicación-Nombre de país" #: src/properties.cpp:715 msgid "The name of a country of a location." msgstr "El nombre de un país en la ubicación" #: src/properties.cpp:716 msgid "Location-Province/State" msgstr "Ubicación-Provincia/Estado" #: src/properties.cpp:716 msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "" #: src/properties.cpp:717 msgid "Location-Sublocation" msgstr "Ubicación-Sububicación" #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" "Nombre de una sububicación. Esta sububicación puede ser tanto el nombre de " "una sububicación de una ciudad o el nombre de un lugar muy conocido o " "monumento (natural) fuera de una ciudad." #: src/properties.cpp:718 msgid "Location-World Region" msgstr "Región de ubicación mundial." #: src/properties.cpp:718 msgid "The name of a world region of a location." msgstr "" #: src/properties.cpp:719 msgid "Artwork or object in the image" msgstr "Ilustración u objeto en la imagen" #: src/properties.cpp:719 msgid "A set of metadata about artwork or an object in the image." msgstr "" "Un conjunto de metadatos sobre la ilustración o un objeto de la imagen." #: src/properties.cpp:720 msgid "Artwork or object-Copyright notice" msgstr "Ilustración u objeto-aviso de copyright" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" "Contiene cualquier aviso sobre los derechos de autor necesario para reclamar " "la propiedad intelectual de la ilustración u objeto de la imagen, y debe " "identificar el actual propietario de los derechos de autor de la obra junto " "con los correspondientes derechos de propiedad intelectual." #: src/properties.cpp:721 msgid "Artwork or object-Creator" msgstr "Ilustración u objeto-creador" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" "Contiene el nombre del artista que creó la ilustración o el objeto de la " "imagen. En los casos en los que el artista no pueda o no deba ser " "identificado, puede incluirse el nombre de la compañía u organización." #: src/properties.cpp:722 msgid "Artwork or object-Date Created" msgstr "Ilustración u objeto-fecha de creación" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" "Designa la fecha y opcionalmente la hora en la que fue creada la ilustración " "o el objeto de la imagen. Se refiere a las ilustraciones u objetos que " "poseen derechos de propiedad intelectual asociados." #: src/properties.cpp:723 msgid "Artwork or object-Source" msgstr "Source" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" #: src/properties.cpp:724 msgid "Artwork or object-Source inventory number" msgstr "Número de inventario de trabajo artístico o fuente de objeto." #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" "El número de inventario emitido por la organización o cuerpo de explotación " "y registrando el trabajo artístico o el objeto de la imagen." #: src/properties.cpp:725 msgid "Artwork or object-Title" msgstr "Ilustración u objeto-título" #: src/properties.cpp:725 msgid "A reference for the artwork or object in the image." msgstr "Una referencia para la ilustración o el objeto de la imagen." #: src/properties.cpp:732 msgid "Scan from film" msgstr "Explorar desde pelñicula" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "" #: src/properties.cpp:734 msgid "Scan from print" msgstr "" #: src/properties.cpp:735 msgid "Camera RAW" msgstr "Cámara en bruto" #: src/properties.cpp:736 msgid "Camera TIFF" msgstr "Cámara TIFF" #: src/properties.cpp:737 msgid "Camera JPEG" msgstr "Cámara JPEG" #: src/properties.cpp:742 msgid "PLUS Version" msgstr "Versión PLUS" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "" #: src/properties.cpp:743 msgid "Licensee" msgstr "Licenciado" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "" "Parte partes a quienes se autoriza el acceso a la licencia bajo una " "transacción con el administrador." #: src/properties.cpp:744 msgid "Licensee ID" msgstr "ID del licenciado" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "PLUS-ID opcional identificando cada licenciado." #: src/properties.cpp:745 msgid "Licensee Name" msgstr "Nombre del licenciado" #: src/properties.cpp:745 msgid "Name of each Licensee." msgstr "Nombre de cada licenciado" #: src/properties.cpp:746 msgid "End User" msgstr "Usuario final" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "Grupo o grupos que finalmente harán uso de la imagen licenciada." #: src/properties.cpp:747 msgid "End User ID" msgstr "ID del usuario final" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "Número de identificación opcional de cada usuario final." #: src/properties.cpp:748 msgid "End User Name" msgstr "Nombre del usuario final" #: src/properties.cpp:748 msgid "Name of each End User." msgstr "Nombre de cada usuario final." #: src/properties.cpp:749 msgid "Licensor" msgstr "Licenciador" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "" #: src/properties.cpp:750 msgid "Licensor ID" msgstr "ID del licenciado" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "" #: src/properties.cpp:751 msgid "Licensor Name" msgstr "Nombre del licenciador" #: src/properties.cpp:751 msgid "Name of each Licensor." msgstr "Nombre de cada licenciador" #: src/properties.cpp:752 msgid "Licensor Address" msgstr "Dirección del licenciador" #: src/properties.cpp:752 msgid "Licensor street address." msgstr "Dirección de calle del licenciador" #: src/properties.cpp:753 msgid "Licensor Address Detail" msgstr "Detalle de la dirección de licenciador" #: src/properties.cpp:753 msgid "Additional Licensor mailing address details." msgstr "" #: src/properties.cpp:754 msgid "Licensor City" msgstr "Ciudad del licenciador" #: src/properties.cpp:754 msgid "Licensor City name." msgstr "Nombre de la ciudad del licenciador" #: src/properties.cpp:755 msgid "Licensor State or Province" msgstr "Estado o provincia del licencidador" #: src/properties.cpp:755 msgid "Licensor State or Province name." msgstr "" #: src/properties.cpp:756 msgid "Licensor Postal Code" msgstr "" #: src/properties.cpp:756 msgid "Licensor Postal Code or Zip Code." msgstr "" #: src/properties.cpp:757 msgid "Licensor Country" msgstr "País del licenciador" #: src/properties.cpp:757 msgid "Licensor Country name." msgstr "" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1" msgstr "" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1." msgstr "" #: src/properties.cpp:759 msgid "Licensor Telephone 1" msgstr "" #: src/properties.cpp:759 msgid "Licensor Telephone number 1." msgstr "" #: src/properties.cpp:760 msgid "Licensor Telephone Type 2" msgstr "" #: src/properties.cpp:760 msgid "Licensor Telephone Type 2." msgstr "" #: src/properties.cpp:761 msgid "Licensor Telephone 2" msgstr "" #: src/properties.cpp:761 msgid "Licensor Telephone number 2." msgstr "" #: src/properties.cpp:762 msgid "Licensor Email" msgstr "" #: src/properties.cpp:762 msgid "Licensor Email address." msgstr "Dirección de correo del licenciante." #: src/properties.cpp:763 msgid "Licensor URL" msgstr "URL del licenciador" #: src/properties.cpp:763 msgid "Licensor world wide web address." msgstr "" #: src/properties.cpp:764 msgid "Licensor Notes" msgstr "Notas del licenciador" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" "Información suplementaria para usar en la identificación y contacto del/los " "licenciadores." #: src/properties.cpp:765 msgid "PLUS Media Summary Code" msgstr "" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" "Cadena de código alfanumérico siguiendo el estándar PLUS que resume el uso " "de los medios incluidos en la licencia." #: src/properties.cpp:766 msgid "License Start Date" msgstr "Fecha de inicio de la licencia" #: src/properties.cpp:766 msgid "The date on which the license takes effect." msgstr "La fecha en la que la licencia entra en vigor." #: src/properties.cpp:767 msgid "License End Date" msgstr "Fecha de término de la licencia" #: src/properties.cpp:767 msgid "The date on which the license expires." msgstr "La fecha en la que la licencia expira." #: src/properties.cpp:768 msgid "Media Constraints" msgstr "" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" "Restricciones que limitan el alcance del uso (o usos) del medio PLUS " "incluido en la licencia para otro medio de nombre especificado o no en la " "matriz de medios PLUS." #: src/properties.cpp:769 msgid "Region Constraints" msgstr "Restricciones de región" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" "Restricciones que limitan el alcance de la distribución geográfica a " "determinadas ciudades, estados, provincias u otras áreas por incluir o " "excluidas de las regiones PLUS concretadas en el uso de los medios " "especificados en la licencia." #: src/properties.cpp:770 msgid "Product or Service Constraints" msgstr "" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" "Restringir limitando el uso de la imagen para promover o asociar con un " "producto o servicio nombrado." #: src/properties.cpp:771 msgid "Image File Constraints" msgstr "" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "" #: src/properties.cpp:772 msgid "Image Alteration Constraints" msgstr "" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" "Restricciones sobre la alteración de la imagen por recorte, giro, retoque, " "coloreado, decoloreado o mezclado" #: src/properties.cpp:773 msgid "Image Duplication Constraints" msgstr "" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "" #: src/properties.cpp:774 msgid "Model Release Status" msgstr "Estado del modelo de lanzamiento" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" "Resume la disponibilidad y el alcance de los lanzamientos de modelos " "autorizando el uso de las semejanzas de personas que aparecen en la " "fotografía." #: src/properties.cpp:775 msgid "Model Release ID" msgstr "ID de modelo de lanzamiento" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "Identificador opcional asociado con cada lanzamiento de modelo." #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "Divulgación de la edad de un modelo menor." #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "" #: src/properties.cpp:777 msgid "Property Release Status" msgstr "Estado de lanzamiento de la propiedad." #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" "Resume la disponibilidad y el alcance de los lanzamientos de propiedad " "autorizando el uso de las características que aparecen en la fotografía." #: src/properties.cpp:778 msgid "Property Release ID" msgstr "Id de liberación de la propiedad" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "Identificador opcional asociado con cada liberación de propiedad." #: src/properties.cpp:779 msgid "Other Constraints" msgstr "Otras restricciones" #: src/properties.cpp:779 msgid "Additional constraints on the license." msgstr "Restricciones adicionales de la licencia." #: src/properties.cpp:780 msgid "Credit Line Required" msgstr "Línea de crédito requerida" #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "Requisitos de atribución, en caso de haberlos." #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "Aviso de contenido para adultos" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "Aviso que indica la presencia de contenido no apto para menores." #: src/properties.cpp:782 msgid "Other License Requirements" msgstr "Otros requisitos de la licencia" #: src/properties.cpp:782 msgid "Additional license requirements." msgstr "Requisitos adicionales de la licencia." #: src/properties.cpp:783 msgid "Terms and Conditions Text" msgstr "Términos y condiciones (texto)" #: src/properties.cpp:783 msgid "Terms and Conditions applying to the license." msgstr "Términos y condiciones de la licencia." #: src/properties.cpp:784 msgid "Terms and Conditions URL" msgstr "URL de los términos y condiciones" #: src/properties.cpp:784 msgid "URL for Terms and Conditions applying to the license." msgstr "URL de los términos y condiciones de la licencia." #: src/properties.cpp:785 msgid "Other License Conditions" msgstr "Otras condiciones de la licencia" #: src/properties.cpp:785 msgid "Additional license conditions." msgstr "Condiciones adicionales de la licencia." #: src/properties.cpp:786 msgid "Identifies the type of image delivered." msgstr "Identifica el tipo de imagen proporcionado." #: src/properties.cpp:787 msgid "Licensor Image ID" msgstr "ID de la imagen del licenciador" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "Identificador opcional asignado por el licenciador de la imagen." #: src/properties.cpp:788 msgid "Image File Name As Delivered" msgstr "Nombre de archivo de imagen tal como se entregó" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "" "Nombre del archivo de imagen entregada al licenciado para su uso bajo la " "licencia." #: src/properties.cpp:789 msgid "Image File Format As Delivered" msgstr "" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "" "Formato del archivo de imagen tal como se entregó al licenciado para usar " "bajo licencia." #: src/properties.cpp:790 msgid "Image File Size As Delivered" msgstr "" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "Tamaño del archivo de imagen entregado al licenciado." #: src/properties.cpp:791 msgid "Copyright Status" msgstr "Estado de los derechos de autor" #: src/properties.cpp:791 msgid "Copyright status of the image." msgstr "Estado de los derechos de autor de la imagen." #: src/properties.cpp:792 msgid "Copyright Registration Number" msgstr "Número de registro de los derechos de autor" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" "Número de registro de los derechos de autor, en caso de haberlo, aplicado a " "la imagen con licencia." #: src/properties.cpp:793 msgid "First Publication Date" msgstr "Fecha de la primera publicación" #: src/properties.cpp:793 msgid "The date on which the image was first published." msgstr "La fecha en la que la imagen fue publicada por primera vez." #: src/properties.cpp:794 msgid "Copyright Owner" msgstr "Propietario de los derechos de autor" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "" "Propietario o propietarios de los derechos de autor de la imagen con " "licencia." #: src/properties.cpp:795 msgid "Copyright Owner ID" msgstr "ID del propietario de los derechos de autor" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "" "Número de identificación opcional de cada propietario de los derechos de " "autor." #: src/properties.cpp:796 msgid "Copyright Owner Name" msgstr "Nombre del propietario de los derechos de autor" #: src/properties.cpp:796 msgid "Name of Copyright Owner." msgstr "Nombre del propietario de los derechos de autor." #: src/properties.cpp:797 msgid "Copyright Owner Image ID" msgstr "ID de imagen del propietario del Copyright" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "" "Identificador opcional asignado al propietario del copyright de la imagen" #: src/properties.cpp:798 msgid "Image Creator" msgstr "Creador de la imagen" #: src/properties.cpp:798 msgid "Creator/s of the image." msgstr "Creador o creadores de la imagen." #: src/properties.cpp:799 msgid "Image Creator ID" msgstr "ID del creador de la imagen" #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "Número de identificación opcional de cada creador de la imagen." #: src/properties.cpp:800 msgid "Image Creator Name" msgstr "Nombre del creador de la imagen" #: src/properties.cpp:800 msgid "Name of Image Creator." msgstr "Nombre del creador de la imagen." #: src/properties.cpp:801 msgid "Image Creator Image ID" msgstr "ID de la imagen del creador de la imagen" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "" #: src/properties.cpp:802 msgid "Image Supplier ID" msgstr "ID del proveedor de la imagen" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "Número de identificación opcional del proveedor de la imagen." #: src/properties.cpp:803 msgid "Image Supplier Name" msgstr "Nombre del proveedor de la imagen" #: src/properties.cpp:803 msgid "Name of Image Supplier." msgstr "Nombre del proveedor de la imagen." #: src/properties.cpp:804 msgid "Image Supplier Image ID" msgstr "ID de la imagen del proveedor de la imagen" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "" "Identificador opcional de la imagen asignado por el proveedor de la imagen." #: src/properties.cpp:805 msgid "Licensee Image ID" msgstr "ID de la imagen del licenciado" #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "" #: src/properties.cpp:806 msgid "Licensee Image Notes" msgstr "Notas de la imagen del licenciado" #: src/properties.cpp:806 msgid "Notes added by Licensee." msgstr "" #: src/properties.cpp:807 msgid "Other Image Info" msgstr "Otra información de la imagen" #: src/properties.cpp:807 msgid "Additional image information." msgstr "Información adicional sobre la imagen." #: src/properties.cpp:808 msgid "License ID" msgstr "ID de la licencia" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "" "Número de identificación opcional de la licencia asignado por el licenciante." #: src/properties.cpp:809 msgid "Licensor Transaction ID" msgstr "ID de la transacción del licenciador" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "" "Identificador asignado por el licenciador para referencia del licenciador y " "uso interno." #: src/properties.cpp:810 msgid "Licensee Transaction ID" msgstr "ID de transacción del licenciado" #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" #: src/properties.cpp:811 msgid "Licensee Project Reference" msgstr "" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "" "Nombre del proyecto de referencia o descripción asignada por el licenciado." #: src/properties.cpp:812 msgid "License Transaction Date" msgstr "" #: src/properties.cpp:812 msgid "The date of the License Transaction." msgstr "" #: src/properties.cpp:813 msgid "Reuse" msgstr "Reutilización" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" "Indica si una licencia es inicial o una réplica. La reutilización puede " "requerir que las licencias almacenadas en archivos previamente distribuidos " "al cliente sean actualizadas." #: src/properties.cpp:814 msgid "Other License Documents" msgstr "Otros documentos de la licencia" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "" "Información de referencia para documentos adicionales asociados con la " "licencia." #: src/properties.cpp:815 msgid "Other License Info" msgstr "Otra información de la licencia" #: src/properties.cpp:815 msgid "Additional license information." msgstr "Información adicional de la licencia." #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "Campo opcional para uso discrecional del licenciador." #: src/properties.cpp:819 msgid "Custom 4" msgstr "Personalizado 4" #: src/properties.cpp:820 msgid "Custom 5" msgstr "Personalizado 5" #: src/properties.cpp:821 msgid "Custom 6" msgstr "Personalizado 6" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "Campo opcional para el uso discrecional del licenciado." #: src/properties.cpp:822 msgid "Custom 7" msgstr "Personalizado 7" #: src/properties.cpp:823 msgid "Custom 8" msgstr "Personalizado 8" #: src/properties.cpp:824 msgid "Custom 9" msgstr "Personalizado 9" #: src/properties.cpp:825 msgid "Custom 10" msgstr "Personalizado 10" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "Aviso obligatorio de contenido para adultos" #: src/properties.cpp:833 msgid "Not Required" msgstr "No se requiere" #: src/properties.cpp:839 msgid "Protected" msgstr "Protegido" #: src/properties.cpp:840 msgid "Public Domain" msgstr "Dominio público" #: src/properties.cpp:846 msgid "Credit Adjacent To Image" msgstr "Crédito adyacente a la imagen" #: src/properties.cpp:847 msgid "Credit in Credits Area" msgstr "Crédito en el área de créditos" #: src/properties.cpp:848 msgid "Credit on Image" msgstr "Crédito en la imagen" #: src/properties.cpp:849 msgid "Not Require" msgstr "No se requiere" #: src/properties.cpp:854 msgid "No Colorization" msgstr "" #: src/properties.cpp:855 msgid "No Cropping" msgstr "No recortar" #: src/properties.cpp:856 msgid "No De-Colorization" msgstr "" #: src/properties.cpp:857 msgid "No Flipping" msgstr "No volteo" #: src/properties.cpp:858 msgid "No Merging" msgstr "" #: src/properties.cpp:859 msgid "No Retouching" msgstr "Sin retocado" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "La duplicación solo cuando sea necesario bajo licencia" #: src/properties.cpp:865 msgid "No Duplication Constraints" msgstr "Sin restricciones de duplicación" #: src/properties.cpp:866 msgid "No Duplication" msgstr "Sin duplicación" #: src/properties.cpp:871 msgid "Maintain File Name" msgstr "" #: src/properties.cpp:872 msgid "Maintain File Type" msgstr "" #: src/properties.cpp:873 msgid "Maintain ID in File Name" msgstr "" #: src/properties.cpp:874 msgid "Maintain Metadata" msgstr "" #: src/properties.cpp:879 msgid "Windows Bitmap (BMP)" msgstr "Mapa de bits de Windows (BMP)" #: src/properties.cpp:880 msgid "Digital Negative (DNG)" msgstr "Negativo digital (DNG)" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "PostScript encapsulado (EPS)" #: src/properties.cpp:882 msgid "Graphics Interchange Format (GIF)" msgstr "Formato de intercambio de gráficos (GIF)" #: src/properties.cpp:883 msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "Formato de intercambio JPEG (JPG, JIF, JFIF)" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "Imagen Macintosh (PICT)" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "Gráficos de red portátiles (PNG)" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "Documento Photoshop (PSD)" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "Formato de imagen RAW propietario" #: src/properties.cpp:889 msgid "Tagged Image File Format (TIFF)" msgstr "Formato de archivo de imagen etiquetado (TIFF)" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "Foto de Windows Media (Foto HD)" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "Mayor que 50 MB" #: src/properties.cpp:896 msgid "Up to 1 MB" msgstr "Hasta 1 MB" #: src/properties.cpp:897 msgid "Up to 10 MB" msgstr "Hasta 10 MB" #: src/properties.cpp:898 msgid "Up to 30 MB" msgstr "Hasta 30 MB" #: src/properties.cpp:899 msgid "Up to 50 MB" msgstr "Hasta 50 MB" #: src/properties.cpp:904 msgid "Illustrated Image" msgstr "Imagen ilustrada" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "Imagen compuesta o multimedia" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "Imagen fotográfica" #: src/properties.cpp:913 msgid "Cell" msgstr "Celda" #: src/properties.cpp:914 msgid "FAX" msgstr "FAX" #: src/properties.cpp:916 msgid "Pager" msgstr "Buscapersonas" #: src/properties.cpp:917 msgid "Work" msgstr "Trabajo" #: src/properties.cpp:922 msgid "Age Unknown" msgstr "Edad desconocida" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "Edad 25 años o superior" #: src/properties.cpp:924 msgid "Age 24" msgstr "Edad 24" #: src/properties.cpp:925 msgid "Age 23" msgstr "Edad 23" #: src/properties.cpp:926 msgid "Age 22" msgstr "Edad 22" #: src/properties.cpp:927 msgid "Age 21" msgstr "Edad 21" #: src/properties.cpp:928 msgid "Age 20" msgstr "Edad 20" #: src/properties.cpp:929 msgid "Age 19" msgstr "Edad 19" #: src/properties.cpp:930 msgid "Age 18" msgstr "Edad 18" #: src/properties.cpp:931 msgid "Age 17" msgstr "Edad 17" #: src/properties.cpp:932 msgid "Age 16" msgstr "Edad 16" #: src/properties.cpp:933 msgid "Age 15" msgstr "15 años" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "Edad 14 o por debajo" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "No aplicable" #: src/properties.cpp:941 msgid "Unlimited Model Releases" msgstr "" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "" #: src/properties.cpp:949 msgid "Unlimited Property Releases" msgstr "Lanzamientos de propiedad ilimitada" #: src/properties.cpp:950 msgid "Limited or Incomplete Property Releases" msgstr "Liberaciones de propiedad limitadas o incompletas" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "Repetir uso" #: src/properties.cpp:960 src/properties.cpp:969 msgid "Fixture Identification" msgstr "Identificación de accesorio" #: src/properties.cpp:961 src/properties.cpp:970 msgid "Status" msgstr "Estado" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "" #: src/properties.cpp:962 src/properties.cpp:971 msgid "People" msgstr "Gente" #: src/properties.cpp:963 src/properties.cpp:972 msgid "Catalog Sets" msgstr "Juegos de catálogo" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "Marcadores descriptivos de elementos de catálogo por contenido" #: src/properties.cpp:978 msgid "RegionInfo" msgstr "Información de zona" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "" #: src/properties.cpp:984 src/properties.cpp:1000 msgid "Regions" msgstr "Zonas" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "Contiene etiquetas de zonas/personas" #: src/properties.cpp:985 msgid "Date Regions Valid" msgstr "" #: src/properties.cpp:985 msgid "Date the last region was created" msgstr "Fecha en que la última zona fue creada" #: src/properties.cpp:991 msgid "Person Display Name" msgstr "" #: src/properties.cpp:991 msgid "Name of the person (in the given rectangle)" msgstr "Nombre de la persona (en el rectángulo)" #: src/properties.cpp:992 msgid "Rectangle" msgstr "Rectángulo" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "Rectángulo que identifica la persona en la foto" #: src/properties.cpp:993 msgid "Person Email Digest" msgstr "" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "" "Hash SHA-1 del mensaje cifrado de la dirección de correo electrónico de " "Windows Live de la persona" #: src/properties.cpp:994 msgid "Person LiveId CID" msgstr "" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "Representación decimal con signo del CID de Windows Live de la persona" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "Estructura principal que contiene información basada en la región" #: src/properties.cpp:1001 msgid "Applied To Dimensions" msgstr "" #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "Anchura y altura de la imagen al guardar los datos de la región" #: src/properties.cpp:1002 msgid "Region List" msgstr "" #: src/properties.cpp:1002 msgid "List of Region structures" msgstr "Lista de estructuras de regiones" #: src/properties.cpp:1003 msgid "Area" msgstr "Área" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "Tipo de propósito de la región (Cara|Mascota|Foco|Código de barras)" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "Nombre/descripción corta del contenido de la región de la imagen" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" #: src/properties.cpp:1007 msgid "Focus Usage" msgstr "" #: src/properties.cpp:1008 msgid "Bar Code Value" msgstr "" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "Cadena de valor de BarCode decodificada" #: src/properties.cpp:1009 msgid "Extensions" msgstr "Extensiones" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "" "Cualquier propiedad XMP de nivel superior para describir el contenido de la " "región" #: src/properties.cpp:1015 msgid "Main structure containing keyword based information" msgstr "" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "" #: src/properties.cpp:1016 msgid "List of root keyword structures" msgstr "" #: src/properties.cpp:1017 msgid "Keyword" msgstr "Palabra Clave" #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "" #: src/properties.cpp:1018 msgid "Applied" msgstr "" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" #: src/properties.cpp:1019 msgid "List of children keyword structures" msgstr "" #: src/properties.cpp:1026 msgid "Use Panorama Viewer" msgstr "" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" #: src/properties.cpp:1027 msgid "Capture Software" msgstr "" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" #: src/properties.cpp:1028 msgid "Stitching Software" msgstr "" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" #: src/properties.cpp:1029 msgid "Projection Type" msgstr "Tipo de proyección" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "" #: src/properties.cpp:1034 msgid "The pitch angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" #: src/properties.cpp:1037 msgid "First Photo Date" msgstr "" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "" #: src/properties.cpp:1038 msgid "Last Photo Date" msgstr "" #: src/properties.cpp:1038 msgid "Date and time for the last image created in the panorama." msgstr "" #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "" #: src/properties.cpp:1040 msgid "Exposure Lock Used" msgstr "" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" # ### ? #: src/properties.cpp:1041 msgid "Cropped Area Image Width Pixels" msgstr "" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" #: src/properties.cpp:1042 msgid "Cropped Area Image Height Pixels" msgstr "" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" #: src/properties.cpp:1047 msgid "Initial Camera Dolly" msgstr "" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" #: src/properties.cpp:1055 msgid "Archival Location" msgstr "" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "" #: src/properties.cpp:1056 msgid "Arranger" msgstr "" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "" #: src/properties.cpp:1057 msgid "Arranger Keywords" msgstr "" #: src/properties.cpp:1057 msgid "Information about the Arranger Keywords." msgstr "" #: src/properties.cpp:1059 msgid "Video Aspect Ratio" msgstr "" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "" #: src/properties.cpp:1060 msgid "Video Aspect Ratio Type" msgstr "" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "" #: src/properties.cpp:1062 msgid "Attached File Description" msgstr "" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "" #: src/properties.cpp:1064 msgid "Attached File Name" msgstr "" #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "" #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" #: src/properties.cpp:1068 msgid "Brightness setting." msgstr "" #: src/properties.cpp:1069 msgid "Camera Byte Order" msgstr "" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "" #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "" #: src/properties.cpp:1070 msgid "The video Cinematographer information." msgstr "" #: src/properties.cpp:1071 msgid "Clean Aperture Width" msgstr "" #: src/properties.cpp:1071 msgid "Clean aperture width in pixels" msgstr "" #: src/properties.cpp:1072 msgid "Clean Aperture Height" msgstr "" #: src/properties.cpp:1072 msgid "Clean aperture height in pixels" msgstr "" #: src/properties.cpp:1073 msgid "Video Codec" msgstr "" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" #: src/properties.cpp:1074 msgid "Video Codec Decode Info" msgstr "" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1075 msgid "Video Codec Description" msgstr "" #: src/properties.cpp:1075 src/properties.cpp:1403 msgid "Contains description the codec." msgstr "" #: src/properties.cpp:1076 msgid "Video Codec Information" msgstr "" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL" msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL." msgstr "" # ### ? #: src/properties.cpp:1078 msgid "Video Codec Settings" msgstr "" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1083 msgid "Comment" msgstr "Comentario" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "" #: src/properties.cpp:1084 msgid "Commissioned" msgstr "" #: src/properties.cpp:1084 msgid "Commissioned." msgstr "" #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1086 msgid "Information about the Composer." msgstr "" #: src/properties.cpp:1087 msgid "Composer Keywords" msgstr "" #: src/properties.cpp:1087 msgid "Information about the Composer Keywords." msgstr "" #: src/properties.cpp:1088 msgid "Compressor" msgstr "" #: src/properties.cpp:1088 msgid "Video Compression Library Used" msgstr "" #: src/properties.cpp:1089 msgid "Video Compressor ID" msgstr "" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "" #: src/properties.cpp:1090 msgid "Compressor Version" msgstr "" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "" #: src/properties.cpp:1091 msgid "Container Type" msgstr "" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "" #: src/properties.cpp:1092 msgid "Content Compression Algorithm" msgstr "" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "" #: src/properties.cpp:1097 msgid "Indicates the direction of contrast processing applied by the camera." msgstr "" "Esta etiqueta indica la dirección del procesamiento de contraste aplicado " "por la cámara cuando se tomó la imagen." #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "" #: src/properties.cpp:1100 msgid "Name of the country where the video was created." msgstr "" #: src/properties.cpp:1101 msgid "Creation Date" msgstr "" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" #: src/properties.cpp:1103 msgid "Pixel Crop Bottom" msgstr "" #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "" #: src/properties.cpp:1104 msgid "Pixel Crop Left" msgstr "" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "" #: src/properties.cpp:1105 msgid "Pixel Crop Right" msgstr "" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "" #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "" #: src/properties.cpp:1107 msgid "Pixel Crop Top" msgstr "" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "" #: src/properties.cpp:1108 msgid "Current Time" msgstr "Hora actual" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "" #: src/properties.cpp:1109 msgid "Data Packets" msgstr "" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "" #: src/properties.cpp:1110 msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "" "La fecha y hora cuando se almacenó la imagen en forma de datos digitales." #: src/properties.cpp:1111 msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" #: src/properties.cpp:1113 msgid "Date-Time Original" msgstr "Fecha y Hora (original)" #: src/properties.cpp:1113 msgid "Contains the production date" msgstr "" #: src/properties.cpp:1114 msgid "Video Track Default On" msgstr "" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1115 msgid "Indicates the digital zoom ratio when the video was shot." msgstr "" #: src/properties.cpp:1116 msgid "Dimensions" msgstr "" #: src/properties.cpp:1116 msgid "Information about the Dimensions of the video frame." msgstr "" #: src/properties.cpp:1117 msgid "Director" msgstr "" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "" #: src/properties.cpp:1118 msgid "Video Display Unit" msgstr "" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1120 msgid "Doc Type" msgstr "Tipo de documento" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" #: src/properties.cpp:1121 msgid "Doc Type Read Version" msgstr "" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" #: src/properties.cpp:1122 msgid "Doc Type Version" msgstr "" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "" #: src/properties.cpp:1124 msgid "The duration of the media file. Measured in milli-seconds." msgstr "" #: src/properties.cpp:1125 msgid "EBML Read Version" msgstr "" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "" # ## can be improved probably #: src/properties.cpp:1126 msgid "EBML Version" msgstr "" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "" #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "" #: src/properties.cpp:1136 msgid "Edited By" msgstr "" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1137 msgid "Video Track Enabled" msgstr "" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels width in pixels" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "" #: src/properties.cpp:1141 msgid "Encoder" msgstr "" #: src/properties.cpp:1141 msgid "Information about the Encoder." msgstr "" #: src/properties.cpp:1142 msgid "End Timecode" msgstr "" #: src/properties.cpp:1143 msgid "Engineer, in most cases name of person." msgstr "" #: src/properties.cpp:1144 msgid "Equipment" msgstr "" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "" #: src/properties.cpp:1145 msgid "Exposure Compensation Information." msgstr "" #: src/properties.cpp:1146 msgid "Exposure Program Information." msgstr "" #: src/properties.cpp:1147 msgid "Exposure time in seconds." msgstr "" #: src/properties.cpp:1148 msgid "Extended Content Description" msgstr "" #: src/properties.cpp:1148 msgid "Extended Content Description, usually found in ASF type files." msgstr "" #: src/properties.cpp:1150 msgid "File ID" msgstr "" #: src/properties.cpp:1150 msgid "File ID." msgstr "" #: src/properties.cpp:1151 msgid "File Length" msgstr "" #: src/properties.cpp:1151 msgid "File length." msgstr "" #: src/properties.cpp:1152 msgid "File Name" msgstr "Nombre del archivo" #: src/properties.cpp:1152 msgid "File Name or Absolute File Path" msgstr "" #: src/properties.cpp:1153 msgid "File Size" msgstr "Tamaño del archivo" #: src/properties.cpp:1153 msgid "File Size, in MB" msgstr "" #: src/properties.cpp:1154 msgid "File Type" msgstr "" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "" #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "" #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "" #: src/properties.cpp:1158 msgid "Focal length of the lens, in millimeters." msgstr "" #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "" #: src/properties.cpp:1161 msgid "Frame Count" msgstr "" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "" #: src/properties.cpp:1162 msgid "Frame Height" msgstr "" #: src/properties.cpp:1162 msgid "Height of frames in a video" msgstr "" #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" #: src/properties.cpp:1165 msgid "Frame Width" msgstr "" #: src/properties.cpp:1165 msgid "Width of frames in a video" msgstr "" #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "" #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "" #: src/properties.cpp:1171 msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "" "Indica la dirección de la imágen cuando fue capturada. El rango de valores " "va de 0.00 a 359.99." #: src/properties.cpp:1172 msgid "Reference for image direction." msgstr "" #: src/properties.cpp:1173 msgid "(North/South). Indicates latitude." msgstr "" #: src/properties.cpp:1174 msgid "(East/West). Indicates longitude." msgstr "" #: src/properties.cpp:1175 msgid "Geodetic survey data." msgstr "" #: src/properties.cpp:1176 msgid "Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:1177 msgid "Time stamp of GPS data, " msgstr "" #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "" #: src/properties.cpp:1179 msgid "Graphics Mode" msgstr "" #: src/properties.cpp:1179 msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" #: src/properties.cpp:1181 msgid "Grouping" msgstr "" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "Handler Description" msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "Handler Type" msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Handler Vendor ID" msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Component manufacturer." msgstr "" #: src/properties.cpp:1186 msgid "Video Height" msgstr "" #: src/properties.cpp:1186 src/properties.cpp:1309 msgid "Video height in pixels" msgstr "" #: src/properties.cpp:1187 msgid "Hue Adjustment Settings Information." msgstr "" #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "" #: src/properties.cpp:1189 msgid "Information Banner Image." msgstr "" #: src/properties.cpp:1190 msgid "Info Banner URL" msgstr "" #: src/properties.cpp:1190 msgid "Information Banner URL." msgstr "" #: src/properties.cpp:1191 msgid "Information" msgstr "" #: src/properties.cpp:1191 msgid "Additional Movie Information." msgstr "" #: src/properties.cpp:1192 msgid "Info Text" msgstr "" #: src/properties.cpp:1192 msgid "Information Text." msgstr "" #: src/properties.cpp:1193 msgid "Info URL" msgstr "" #: src/properties.cpp:1193 msgid "Information URL." msgstr "" #: src/properties.cpp:1194 msgid "Information about the ISO Setting." msgstr "" #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "" #: src/properties.cpp:1196 msgid "Junk Data" msgstr "" #: src/properties.cpp:1196 msgid "Video Junk data" msgstr "" #: src/properties.cpp:1197 msgid "Language." msgstr "" #: src/properties.cpp:1198 msgid "Length" msgstr "" #: src/properties.cpp:1198 msgid "The length of the media file." msgstr "" #: src/properties.cpp:1200 msgid "Lens Type." msgstr "Tipo de lente" #: src/properties.cpp:1201 msgid "Lightness" msgstr "Brillo" #: src/properties.cpp:1201 msgid "Lightness." msgstr "Brillo" #: src/properties.cpp:1202 msgid "Location Information" msgstr "" #: src/properties.cpp:1202 msgid "Location Information." msgstr "" #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "" #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "" #: src/properties.cpp:1204 msgid "Logo URL" msgstr "" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "" #: src/properties.cpp:1205 msgid "Lyrics" msgstr "" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "" #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "" #: src/properties.cpp:1207 msgid "Equipment Make" msgstr "" #: src/properties.cpp:1207 msgid "Manufacturer of recording equipment" msgstr "" #: src/properties.cpp:1208 msgid "Camera Maker Note Type" msgstr "" #: src/properties.cpp:1208 msgid "Maker Note Type of the camera." msgstr "" #: src/properties.cpp:1209 msgid "Camera Maker Note Version" msgstr "" #: src/properties.cpp:1209 msgid "Maker Note Version of the camera." msgstr "" #: src/properties.cpp:1210 msgid "Maker URL" msgstr "Nota del fabricante" #: src/properties.cpp:1210 msgid "Camera Manufacturer's URL." msgstr "Fabricante" #: src/properties.cpp:1211 msgid "Smallest F number of lens, in APEX." msgstr "" #: src/properties.cpp:1212 msgid "Maximum Bit Rate" msgstr "" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" #: src/properties.cpp:1213 msgid "Maximum Data Rate" msgstr "" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "Media Track Create Date" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "Media Track Duration" msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "Media Header Version" msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "Media Language Code" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "Media Track Modify Date" msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" # ## large = grande. mean = promedio... context? #: src/properties.cpp:1220 msgid "Medium." msgstr "" #: src/properties.cpp:1221 msgid "Metadata" msgstr "Metadato" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1222 msgid "Metadata Library" msgstr "" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "" #: src/properties.cpp:1223 msgid "Metering mode." msgstr "" #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "" # ### context? Panorama = Apaisado, Panorámica #: src/properties.cpp:1225 msgid "Mime Type" msgstr "" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "" #: src/properties.cpp:1226 msgid "QTime Minor FileType Version" msgstr "" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "" #: src/properties.cpp:1227 msgid "Equipment Model" msgstr "" #: src/properties.cpp:1227 msgid "Model name or number of equipment." msgstr "" #: src/properties.cpp:1228 msgid "Modification Date-Time" msgstr "" #: src/properties.cpp:1228 msgid "Contains the modification date of the video" msgstr "" #: src/properties.cpp:1229 msgid "Movie Header Version" msgstr "" #: src/properties.cpp:1230 msgid "Music By" msgstr "" #: src/properties.cpp:1230 msgid "Music By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1231 msgid "Muxing App" msgstr "" #: src/properties.cpp:1231 msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" #: src/properties.cpp:1232 msgid "Name of song or the event." msgstr "" #: src/properties.cpp:1233 msgid "Next Track ID" msgstr "" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" #: src/properties.cpp:1234 msgid "Number Of Colours" msgstr "" #: src/properties.cpp:1234 msgid "Total number of colours used" msgstr "" #: src/properties.cpp:1235 msgid "Number Of Important Colours" msgstr "" #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1236 msgid "Number Of Parts" msgstr "" #: src/properties.cpp:1236 msgid "Total number of parts in the video." msgstr "" #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" #: src/properties.cpp:1238 msgid "Organization" msgstr "" #: src/properties.cpp:1238 msgid "Name of organization associated with the video." msgstr "" #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" #: src/properties.cpp:1248 msgid "Part" msgstr "" #: src/properties.cpp:1248 msgid "Part." msgstr "" #: src/properties.cpp:1249 msgid "Performers" msgstr "" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "" #: src/properties.cpp:1250 msgid "Performer Keywords" msgstr "" #: src/properties.cpp:1250 msgid "Performer Keywords." msgstr "" #: src/properties.cpp:1251 msgid "Performer URL" msgstr "" #: src/properties.cpp:1251 msgid "Performer's dedicated URL." msgstr "" #: src/properties.cpp:1252 msgid "Picture Control Data" msgstr "" #: src/properties.cpp:1252 msgid "Picture Control Data." msgstr "" #: src/properties.cpp:1253 msgid "Picture Control Version" msgstr "" #: src/properties.cpp:1253 msgid "Picture Control Data Version." msgstr "" #: src/properties.cpp:1254 msgid "Picture Control Name" msgstr "" #: src/properties.cpp:1254 msgid "Picture Control Name." msgstr "" #: src/properties.cpp:1255 msgid "Picture Control Base" msgstr "" #: src/properties.cpp:1255 msgid "Picture Control Data Base." msgstr "" #: src/properties.cpp:1256 msgid "Picture Control Adjust" msgstr "" #: src/properties.cpp:1256 msgid "Picture Control Adjust Information." msgstr "" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjust" msgstr "" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "" #: src/properties.cpp:1258 msgid "Play Selection" msgstr "" #: src/properties.cpp:1258 msgid "Play Selection." msgstr "" #: src/properties.cpp:1259 msgid "Play Mode" msgstr "" #: src/properties.cpp:1259 msgid "Information about the Play Mode." msgstr "" #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "" #: src/properties.cpp:1260 msgid "Contains the information of External media." msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1265 msgid "Planes" msgstr "" #: src/properties.cpp:1265 msgid "The number of Image Planes in the video" msgstr "" #: src/properties.cpp:1266 msgid "Poster Time" msgstr "" #: src/properties.cpp:1266 msgid "The time value of the time of the movie poster." msgstr "" #: src/properties.cpp:1267 msgid "Preferred Rate" msgstr "" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1269 msgid "Preroll" msgstr "" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" #: src/properties.cpp:1272 msgid "Preview Atom Type" msgstr "" #: src/properties.cpp:1272 msgid "Indicates the type of atom that contains the preview data" msgstr "" #: src/properties.cpp:1273 msgid "Preview Date" msgstr "" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "" #: src/properties.cpp:1274 msgid "Preview Duration" msgstr "" #: src/properties.cpp:1274 msgid "The duration of the movie preview in movie time scale units" msgstr "" #: src/properties.cpp:1275 msgid "Preview Time" msgstr "" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "" #: src/properties.cpp:1276 msgid "The version of the movie preview " msgstr "" #: src/properties.cpp:1277 msgid "Produced By" msgstr "" #: src/properties.cpp:1277 msgid "Produced By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1278 msgid "Producer involved with the video." msgstr "" #: src/properties.cpp:1279 msgid "Producer Keywords" msgstr "" #: src/properties.cpp:1279 msgid "Information about the Producer Keywords." msgstr "" #: src/properties.cpp:1280 msgid "Production Aperture Width" msgstr "" #: src/properties.cpp:1280 msgid "Production aperture width in pixels" msgstr "" #: src/properties.cpp:1281 msgid "Production Aperture Height" msgstr "" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "" #: src/properties.cpp:1282 msgid "Production Designer" msgstr "" #: src/properties.cpp:1282 msgid "Information about the Production Designer." msgstr "" #: src/properties.cpp:1283 msgid "Production Studio" msgstr "" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "" #: src/properties.cpp:1284 msgid "Product" msgstr "Producto" #: src/properties.cpp:1284 msgid "Product." msgstr "Producto." #: src/properties.cpp:1286 msgid "Rate" msgstr "" #: src/properties.cpp:1286 msgid "Rate." msgstr "" #: src/properties.cpp:1287 msgid "Rated" msgstr "" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "" #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "" #: src/properties.cpp:1291 msgid "Recording Copyright" msgstr "" #: src/properties.cpp:1291 msgid "Recording Copyright." msgstr "" #: src/properties.cpp:1292 msgid "Requirements" msgstr "" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "" #: src/properties.cpp:1293 msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" #: src/properties.cpp:1294 msgid "Ripped By" msgstr "" #: src/properties.cpp:1294 msgid "Ripped By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1295 msgid "Indicates the direction of saturation processing applied by the camera." msgstr "" "Esta etiqueta indica la dirección del procesamiento de stauración aplicado " "por la cámara cuando se tomó la imagen." #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "" #: src/properties.cpp:1296 msgid "The name of the secondary genre.." msgstr "" #: src/properties.cpp:1297 msgid "Selection Time" msgstr "" #: src/properties.cpp:1297 msgid "The time value for the start time of the current selection." msgstr "" #: src/properties.cpp:1298 msgid "Selection Duration" msgstr "" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "" #: src/properties.cpp:1299 msgid "Send Duration" msgstr "" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "" #: src/properties.cpp:1303 msgid "Software Version" msgstr "Versión del Software" #: src/properties.cpp:1303 msgid "The Version of the software used." msgstr "" #: src/properties.cpp:1304 msgid "Song Writer" msgstr "" #: src/properties.cpp:1304 msgid "The name of the song writer." msgstr "" #: src/properties.cpp:1305 msgid "Song Writer Keywords" msgstr "" #: src/properties.cpp:1305 msgid "Song Writer Keywords." msgstr "" #: src/properties.cpp:1307 msgid "Source Credits" msgstr "" #: src/properties.cpp:1307 msgid "Source Credits." msgstr "" #: src/properties.cpp:1308 msgid "Source Form" msgstr "" #: src/properties.cpp:1308 msgid "Source Form." msgstr "" #: src/properties.cpp:1309 msgid "Source Image Height" msgstr "Longitud de la imagen" # ### ? #: src/properties.cpp:1310 msgid "Source Image Width" msgstr "Ancho de la imagen" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "" #: src/properties.cpp:1311 msgid "Starring" msgstr "" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "" #: src/properties.cpp:1312 msgid "Start Timecode" msgstr "" #: src/properties.cpp:1313 msgid "Statistics" msgstr "" #: src/properties.cpp:1313 msgid "Statistics." msgstr "" #: src/properties.cpp:1314 msgid "Stream Count" msgstr "" #: src/properties.cpp:1314 msgid "Total Number Of Streams" msgstr "" #: src/properties.cpp:1315 msgid "Stream Name" msgstr "" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "" #: src/properties.cpp:1316 msgid "Stream Quality" msgstr "" #: src/properties.cpp:1316 msgid "General Stream Quality" msgstr "" #: src/properties.cpp:1317 msgid "Stream Sample Rate" msgstr "" #: src/properties.cpp:1318 msgid "Stream Sample Count" msgstr "" #: src/properties.cpp:1319 msgid "Stream Sample Size" msgstr "" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "" #: src/properties.cpp:1320 msgid "Stream Type" msgstr "" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1321 msgid "Subtitles Codec" msgstr "" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "" #: src/properties.cpp:1322 msgid "Subtitle Codec Decode Info" msgstr "" #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1323 msgid "Subtitles Codec Information" msgstr "" #: src/properties.cpp:1323 msgid "Contains additional information about subtitles." msgstr "" #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "" #: src/properties.cpp:1325 msgid "Subtitle Codec Settings" msgstr "" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1327 msgid "Subtitle Track Enabled" msgstr "" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1328 msgid "Subtitle" msgstr "" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "" #: src/properties.cpp:1329 msgid "Subtitle Keywords" msgstr "Palabras Clave" #: src/properties.cpp:1329 msgid "Subtitle Keywords." msgstr "Palabras Clave" #: src/properties.cpp:1330 msgid "Subtitles Language" msgstr "" #: src/properties.cpp:1330 msgid "The Language in which the subtitles is recorded in." msgstr "" #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1332 msgid "Subtitle Track Lacing" msgstr "" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1333 msgid "Subject. " msgstr "Sujeto" #: src/properties.cpp:1334 msgid "TapeName." msgstr "" #: src/properties.cpp:1335 msgid "Tag Default Setting" msgstr "" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "" #: src/properties.cpp:1336 msgid "Tag Language" msgstr "" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "" #: src/properties.cpp:1337 msgid "Tag Name" msgstr "" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1338 msgid "Tag String" msgstr "" #: src/properties.cpp:1338 msgid "Information contained in a Tags" msgstr "" # ### context? Panorama = Apaisado, Panorámica #: src/properties.cpp:1339 msgid "Target Type" msgstr "" #: src/properties.cpp:1339 msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "" #: src/properties.cpp:1340 msgid "Technician" msgstr "" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "" #: src/properties.cpp:1341 msgid "Thumbnail Height" msgstr "" #: src/properties.cpp:1341 msgid "Preview Image Thumbnail Height." msgstr "" #: src/properties.cpp:1342 msgid "Preview Image Thumbnail Length." msgstr "" #: src/properties.cpp:1343 msgid "Thumbnail Width" msgstr "" #: src/properties.cpp:1343 msgid "Preview Image Thumbnail Width." msgstr "" #: src/properties.cpp:1344 msgid "Timecode Scale" msgstr "" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "Time Offset" msgstr "" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" #: src/properties.cpp:1346 msgid "Time Scale" msgstr "" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1350 msgid "Toning Effect Settings Applied." msgstr "" #: src/properties.cpp:1351 msgid "Total Frame Count" msgstr "" #: src/properties.cpp:1352 msgid "Number Of Streams" msgstr "" #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1353 msgid "Track" msgstr "" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "" #: src/properties.cpp:1354 msgid "Video Track Create Date" msgstr "" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" #: src/properties.cpp:1355 msgid "Video Track Duration" msgstr "" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced" msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "Track ID" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "Track Header Version" msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "Track Language" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "The Language in which a particular stream is recorded in." msgstr "" #: src/properties.cpp:1361 msgid "Video Track Layer" msgstr "" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" #: src/properties.cpp:1364 msgid "Video Track Modify Date" msgstr "" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" #: src/properties.cpp:1365 msgid "Track Name" msgstr "" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "" #: src/properties.cpp:1366 msgid "Track Number." msgstr "" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "Track Volume" msgstr "" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "" #: src/properties.cpp:1368 msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown Information" msgstr "Informacíon desconocido" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1371 msgid "Video URL" msgstr "" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1372 msgid "Video URN" msgstr "" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1373 msgid "Vari Program" msgstr "" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "" #: src/properties.cpp:1376 msgid "Vendor" msgstr "" #: src/properties.cpp:1376 msgid "The developer of the compressor that generated the compressed data." msgstr "" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "Vendor ID" msgstr "" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" #: src/properties.cpp:1378 msgid "Video Quality" msgstr "" #: src/properties.cpp:1378 msgid "Video Stream Quality" msgstr "" #: src/properties.cpp:1379 msgid "Video Sample Size" msgstr "" #: src/properties.cpp:1379 msgid "Video Stream Sample Size" msgstr "" #: src/properties.cpp:1380 msgid "Video Scan Type" msgstr "" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "" #: src/properties.cpp:1381 msgid "Watermark URL" msgstr "" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "" #: src/properties.cpp:1384 msgid "White Balance Fine Tune." msgstr "" #: src/properties.cpp:1385 msgid "Video Width" msgstr "" #: src/properties.cpp:1386 msgid "Window Location" msgstr "" #: src/properties.cpp:1386 msgid "Information about the Window Location." msgstr "" #: src/properties.cpp:1388 msgid "Written By" msgstr "" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1389 msgid "Writing App" msgstr "" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" #: src/properties.cpp:1390 msgid "Horizontal resolution in pixels per unit." msgstr "" #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "Año" #: src/properties.cpp:1391 msgid "Year in which the video was made." msgstr "" #: src/properties.cpp:1392 msgid "Vertical resolution in pixels per unit." msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "" #: src/properties.cpp:1398 msgid "Balance" msgstr "Balance" #: src/properties.cpp:1398 msgid "Indicates the left-right balance of the audio" msgstr "" #: src/properties.cpp:1399 msgid "Bits Per Sample/ Bit Rate" msgstr "" #: src/properties.cpp:1399 msgid "Bits per test sample" msgstr "" #: src/properties.cpp:1401 msgid "Audio Codec" msgstr "" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "" #: src/properties.cpp:1402 msgid "Audio Codec Decode Info" msgstr "" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1403 msgid "Audio Codec Description" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL." msgstr "" #: src/properties.cpp:1405 msgid "Audio Codec Information" msgstr "" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" #: src/properties.cpp:1406 msgid "Audio Codec Settings" msgstr "" #: src/properties.cpp:1408 msgid "Audio Default Duration" msgstr "" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "" #: src/properties.cpp:1409 msgid "Audio Default Stream" msgstr "" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "" #: src/properties.cpp:1410 msgid "Audio Track Default On" msgstr "" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "" #: src/properties.cpp:1411 msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1412 msgid "Audio Format" msgstr "" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "" #: src/properties.cpp:1423 msgid "Output Audio Sample Rate" msgstr "" #: src/properties.cpp:1423 msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" #: src/properties.cpp:1424 msgid "Audio Sample Count" msgstr "" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "" #: src/properties.cpp:1427 msgid "Sound Scheme Title" msgstr "" #: src/properties.cpp:1427 msgid "Sound Scheme Title." msgstr "" #: src/properties.cpp:1429 msgid "Audio Track Create Date" msgstr "" #: src/properties.cpp:1430 msgid "Audio Track Duration" msgstr "" #: src/properties.cpp:1431 msgid "Audio Track Forced" msgstr "" #: src/properties.cpp:1431 msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1434 msgid "Audio Track Lacing" msgstr "" #: src/properties.cpp:1434 msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1436 msgid "Audio Track Layer" msgstr "" #: src/properties.cpp:1439 msgid "Audio Track Modify Date" msgstr "" #: src/properties.cpp:1441 msgid "Audio URL" msgstr "" #: src/properties.cpp:1442 msgid "Audio URN" msgstr "" #: src/properties.cpp:1449 msgid "The nature or genre of the resource." msgstr "" #: src/properties.cpp:1450 msgid "Date Modified" msgstr "" #: src/properties.cpp:1450 msgid "Date on which the resource was changed." msgstr "" #: src/properties.cpp:1451 msgid "A language of the resource." msgstr "" #: src/properties.cpp:1452 msgid "License" msgstr "" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" #: src/properties.cpp:1453 msgid "Rights Holder" msgstr "Titular de los derechos" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" "Una persona u organización propietaria o administradora de los derechos " "sobreel recurso." #: src/properties.cpp:1454 msgid "Access Rights" msgstr "Derechos de acceso" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "Citación bibliográfica" #: src/properties.cpp:1455 msgid "A bibliographic reference for the resource." msgstr "" #: src/properties.cpp:1456 msgid "References" msgstr "Referencias" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" "Un recurso relacionado que está referenciado, citado, o de alguna otra forma," "referido por el recurso descrito." #: src/properties.cpp:1459 msgid "*Main structure* containing Darwin Core location based information." msgstr "" #: src/properties.cpp:1468 msgid "Record" msgstr "Registro" #: src/properties.cpp:1469 msgid "*Main structure* containing record based information." msgstr "" #: src/properties.cpp:1472 msgid "Institution ID" msgstr "ID de la institución" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" "Un identificador de la institución que custodia el espécimen o información " "mencionada en el registro." #: src/properties.cpp:1475 msgid "Collection ID" msgstr "ID de la colección" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" "Un identificador de la colección o conjunto de datos del que procede el " "registro." #: src/properties.cpp:1478 msgid "Institution Code" msgstr "Código de la institución" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" "El nombre (o acrónimo) en uso por la institución que tenga la custodia del " "espécimen o información mencionada en el registro." #: src/properties.cpp:1481 msgid "Dataset ID" msgstr "ID del conjunto de datos" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "Un identificador para el conjunto de datos." #: src/properties.cpp:1484 msgid "Collection Code" msgstr "Código de la colección" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" "El nombre, acrónimo, código alfanumérico, o iniciales que identifican la " "colección o conjunto de datos del que procede el registro." #: src/properties.cpp:1487 msgid "Dataset Name" msgstr "Nombre del conjunto de datos" #: src/properties.cpp:1488 msgid "The name identifying the data set from which the record was derived." msgstr "" "El nombre que identifica el conjunto de datos del cual se derivó el registro." #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "Código de la institución propietaria" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" "El nombre (o acrónimo) en uso por la institución que tiene la propiedad del " "objeto(s) o información consignada en el registro." #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "Base del registro" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" "La naturaleza específica del registro de datos - un subtipo del Tipo. Se " "recomienda el uso del vocabulario controlado Base del Registro (véase Anexo " "1. Vocabularios controlados)." #: src/properties.cpp:1496 msgid "Information Withheld" msgstr "Información retenida" #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" "Información adicional que existe, pero que no ha sido compartida en el " "registro dado." #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "Generalización de los datos" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" "Las medidas adoptadas para que los datos compartidos sean menos específicos " "o completos que en su forma original. Sugiere que datos alternativos de " "mayor calidad pueden estar disponibles bajo petición." #: src/properties.cpp:1502 msgid "Dynamic Properties" msgstr "Propiedades dinámicas" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" "Una lista (en una fila continua y separada por \";\") de las medidas, " "hechos, características, o aseveraciones adicionales sobre el registro. Su " "intención es proporcionar un mecanismo para contenido estructurado como " "representación de los datos." #: src/properties.cpp:1507 msgid "Occurrence" msgstr "" #: src/properties.cpp:1508 msgid "*Main structure* containing occurrence based information." msgstr "" #: src/properties.cpp:1511 msgid "Occurrence ID" msgstr "ID del Registro biológico" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" "Un identificador del Registro biológico. En ausencia de un identificador " "único global persistente, se debe construir uno a partir de una combinación " "de identificadores en el registro de manera que el ID del Registro biológico " "se aproxime a un identificador persistente." #: src/properties.cpp:1514 msgid "Catalog Number" msgstr "Número de catálogo" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" "Un identificador (preferiblemente único) para el registro dentro del " "conjunto de datos o colección." #: src/properties.cpp:1517 msgid "Occurrence Details" msgstr "" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "" #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "Comentarios del registro biológico" #: src/properties.cpp:1521 msgid "Comments or notes about the Occurrence." msgstr "Comentarios o anotaciones sobre el Registro biológico." #: src/properties.cpp:1523 msgid "Record Number" msgstr "Número del registro" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" "Un identificador dado al Registro Biológico en el momento en que fue " "registrado. A menudo sirve como un vínculo entre las anotaciones de campo y " "la elaboración de un Registro biológico, como el número de un colector de " "especímenes." #: src/properties.cpp:1526 msgid "Recorded By" msgstr "Registrado por" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" "Una lista (en una fila continua y separada por \";\") de los nombres de las " "personas, grupos u organizaciones responsables de realizar el Registro " "biológico. El colector u observador principal, especialmente uno que aplica " "un identificador personal (Número del registro), se debe listar en primer " "lugar." #: src/properties.cpp:1529 msgid "Individual ID" msgstr "ID del Individuo" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" "Un identificador para un individuo o grupo de organismos individuales " "representados en el Registro biológico. Pretende facilitar el remuestreo del " "mismo individuo o grupo con fines de monitoreo." #: src/properties.cpp:1532 msgid "Individual Count" msgstr "Número de individuos" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "" "El número de individuos representados presente en el momento del Registro " "Biológico." #: src/properties.cpp:1535 msgid "Organism Quantity" msgstr "" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "" #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "" #: src/properties.cpp:1541 msgid "Sex" msgstr "Sexo" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" "El sexo de la(s) entidad(es) biológica(s) representada(s) en el Registro " "biológico." #: src/properties.cpp:1544 msgid "Life Stage" msgstr "Etapa de vida" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" "La edad o etapa de vida de la(s) entidad(es) biológica(s) en el momento del " "Registro biológico." #: src/properties.cpp:1547 msgid "Reproductive Condition" msgstr "Condición reproductiva" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" "La condición reproductiva de la(s) entidad(es) biológica(s) representada(s) " "en el Registro biológico." #: src/properties.cpp:1550 msgid "Behavior" msgstr "Comportamiento" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" "Una descripción del comportamiento mostrado por el sujeto en el momento del " "Registro biológico." #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "Medios de establecimiento" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" "El proceso por el cual la(s) entidad(es) biológica(s) representada(s) en el " "Registro biológico se estableció en el lugar. Se recomienda el uso de un " "vocabulario controlado." #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "Estado del registro biológico" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" "Un estado sobre la presencia o ausencia de un taxón en una ubicación. Se " "recomienda el uso del vocabulario controlado" #: src/properties.cpp:1559 msgid "Preparations" msgstr "Preparaciones" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" "Una lista (en una fila continua y separada por \";\") de las preparaciones y " "los métodos de conservación de un ejemplar o una muestra del ejemplar." #: src/properties.cpp:1562 msgid "Disposition" msgstr "Disposición" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" "El estado actual de un espécimen en relación a la colección identificada en " "Código de la colección o ID de la Colección. Se recomienda el uso de un " "vocabulario controlado." #: src/properties.cpp:1565 msgid "Other Catalog Numbers" msgstr "Otros números de catálogo" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" "Una lista (en una fila continua y separada por \";\") de números de " "catálogos anteriores o alternos, u otros identificadores usado por personas " "para el mismo Registro biológico, ya sea en el actual o cualquier otro " "conjunto de datos o colección." #: src/properties.cpp:1568 src/properties.cpp:1607 msgid "Previous Identifications" msgstr "Identificaciones previas" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" "Una lista (en una fila continua y separada por \";\") de asignaciones " "anteriores de nombres al Registro biológico." #: src/properties.cpp:1571 msgid "Associated Media" msgstr "Medios asociados" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" "Una lista (en una fila continua y separada por \";\") de identificadores " "(publicación, identificador único global, URI) de los medios asociados con " "el Registro biológico." #: src/properties.cpp:1574 msgid "Associated References" msgstr "Referencias asociadas" #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" "Una lista (en una fila continua y separada por \";\") de los identificadores " "(publicación, referencia bibliográfica, identificador único global, URI) de " "la literatura asociada con el Registro biológico." #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "Registros biológicos asociados" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" "Una lista (en una fila continua y separada por \";\") de los identificadores " "de otros registros biológicos y su relación con este Registro Biológico." #: src/properties.cpp:1580 msgid "Associated Sequences" msgstr "Secuencias asociadas" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" "Una lista (en una fila continua y separada por \";\") de los identificadores " "(publicación, identificador único global, URI) de la información de la " "secuencia genética asociada con el Registro biológico." #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "Taxones asociados" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" "Una lista (en una fila continua y separada por \";\") de los identificadores " "o nombres de taxones y su asociación con el Registro biológico." #: src/properties.cpp:1588 msgid "Organism" msgstr "" #: src/properties.cpp:1589 msgid "*Main structure* containing organism based information." msgstr "" #: src/properties.cpp:1592 msgid "Organism ID" msgstr "" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1595 msgid "Organism Name" msgstr "" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "" #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1601 msgid "Organism Associated Occurrences" msgstr "" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1604 msgid "Associated Organisms" msgstr "" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" #: src/properties.cpp:1610 msgid "Organism Remarks" msgstr "" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "" #: src/properties.cpp:1615 msgid "Material Sample" msgstr "Muestras materiales" #: src/properties.cpp:1616 msgid "*Main structure* containing material sample based information." msgstr "" #: src/properties.cpp:1618 msgid "Living Specimen" msgstr "" #: src/properties.cpp:1619 msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "" #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "" #: src/properties.cpp:1622 msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "" #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "" #: src/properties.cpp:1625 msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "" #: src/properties.cpp:1628 msgid "Material Sample ID" msgstr "" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" #: src/properties.cpp:1634 msgid "*Main structure* containing event based information." msgstr "" #: src/properties.cpp:1636 msgid "Human Observation" msgstr "" #: src/properties.cpp:1637 msgid "*Main structure* containing human observation based information." msgstr "" #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "" #: src/properties.cpp:1640 msgid "*Main structure* containing machine observation based information." msgstr "" #: src/properties.cpp:1643 msgid "Event ID" msgstr "ID del evento" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" "Un identificador para el conjunto de información asociado con el Evento " "(algo que ocurre en un lugar y tiempo)." #: src/properties.cpp:1646 msgid "Parent Event ID" msgstr "" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" #: src/properties.cpp:1649 msgid "Event Date" msgstr "Fecha del evento" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" "La fecha o el intervalo durante el cual se produjo el Evento. Para los " "registros biológicos, esta es la fecha cuando el evento se registró. No es " "adecuado para una fecha en un contexto geológico." #: src/properties.cpp:1652 msgid "Event Earliest Date" msgstr "" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1655 msgid "Event Latest Date" msgstr "" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1658 msgid "Event Time" msgstr "Hora del evento" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "Hora del evento" #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "Día inicial del año" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" "El primer día ordinal del año en que ocurrió el Evento (1 para el 1 de " "enero, 365 para el 31 de diciembre, excepto en un año bisiesto, en cuyo caso " "es 366)." #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "Día final del año" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" "El último día ordinal del año en que ocurrió el Evento (1 para el 1o de " "enero, 365 para el 31 de diciembre, excepto en un año bisiesto, en cuyo caso " "es 366)." #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "" "Los cuatro dígitos del año en que el Evento ocurrió, de acuerdo al " "Calendario de la Era Común." #: src/properties.cpp:1670 msgid "Month" msgstr "Més" #: src/properties.cpp:1671 msgid "The ordinal month in which the Event occurred." msgstr "El mes ordinal en que ocurrió el evento." #: src/properties.cpp:1673 msgid "Day" msgstr "Día" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "El día en números enteros, del mes en que ocurrió el evento." #: src/properties.cpp:1676 msgid "Verbatim Event Date" msgstr "Fecha original del evento" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" "La representación textual original de la información de fecha para el Evento." #: src/properties.cpp:1679 msgid "Habitat" msgstr "Hábitat" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" "Una categoría o la descripción del hábitat en el que ocurrió el Evento." #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "Protocolo de muestreo" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" "El nombre de, la referencia a, o la descripción del método o protocolo usado " "durante el Evento." #: src/properties.cpp:1685 msgid "Sampling Effort" msgstr "Esfuerzo de muestreo" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "La cantidad de esfuerzo realizado durante el Evento." #: src/properties.cpp:1688 msgid "Sampling Size Value" msgstr "" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" #: src/properties.cpp:1691 msgid "Sampling Size Unit" msgstr "" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" #: src/properties.cpp:1694 msgid "Field Number" msgstr "Número de campo" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" "Un identificador dado al Evento en campo. A menudo sirve como un vínculo " "entre las anotaciones de campo y el Evento." #: src/properties.cpp:1697 msgid "Field Notes" msgstr "Notas de campo" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" "Puede corresponder a: a) un indicador de la existencia de, b) una referencia " "a (publicación, URI), o c) el texto de las notas tomadas en campo sobre el " "Evento." #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "Comentarios del evento" #: src/properties.cpp:1701 msgid "Comments or notes about the Event." msgstr "Comentarios o anotaciones sobre el Evento." #: src/properties.cpp:1705 msgid "Location Class" msgstr "Ubicación" #: src/properties.cpp:1706 msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "" #: src/properties.cpp:1709 msgid "Location ID" msgstr "ID de la ubicación" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" "Un identificador para el conjunto de información de la ubicación (los datos " "asociados a Ubicación). Puede ser un identificador único global o un " "identificador específico para el conjunto de datos." #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "ID de la geografía superior" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" "Un identificador de la región geográfica de la ubicación. Se recomienda " "utilizar un identificador persistente de un vocabulario controlado como el " "Tesauro Getty de Nombres Geográficos." #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "Geografía superior" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" "Una lista (en una fila continua y separada por \";\") de los nombres " "geográficos menos específicos a la información capturada en el elemento " "Localidad." #: src/properties.cpp:1718 msgid "Continent" msgstr "Continente" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "El nombre del continente en el que tiene lugar la Ubicación." #: src/properties.cpp:1721 msgid "Water Body" msgstr "Cuerpo de agua" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" "El nombre del cuerpo de agua en que tiene lugar la Ubicación. Se recomienda " "el uso de un vocabulario controlado, como el Tesauro Getty de Nombres " "Geográficos." #: src/properties.cpp:1724 msgid "Island Group" msgstr "Grupo de islas" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" "El nombre del grupo de islas en que tiene lugar la Ubicación. Se recomienda " "utilizar un identificador persistente de un vocabulario controlado como el " "Tesauro Getty de Nombres Geográficos." #: src/properties.cpp:1727 msgid "Island" msgstr "Isla" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" "El nombre de la isla en, o cerca al lugar de la ubicación. Se recomienda " "utilizar un identificador persistente de un vocabulario controlado como el " "Tesauro Getty de Nombres Geográficos." #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" "El nombre del país o unidad administrativa de mayor jerarquía de la " "ubicación." #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "El código estándar para el país de la ubicación." #: src/properties.cpp:1736 msgid "State Province" msgstr "Estado/Provincia" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" "El nombre de la siguiente región administrativa de menor jerarquía que País " "(estado, provincia, cantón, departamento, región, etc.) de la ubicación." #: src/properties.cpp:1739 msgid "County" msgstr "Condado" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" "El nombre completo, sin abreviar de la siguiente región administrativa de " "menor jerarquía que Estado/Provincia (condado, municipio, etc.) de la " "ubicación." #: src/properties.cpp:1742 msgid "Municipality" msgstr "Municipalidad" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" "El nombre completo, sin abreviar de la siguiente región administrativa de " "menor jerarquía que condado (corregimiento, vereda, cabecera municipal, " "inspección de policía, centro poblado, caserío, etc.) en el que tiene lugar " "la ubicación." #: src/properties.cpp:1745 msgid "Locality" msgstr "Localidad" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" "La descripción específica del lugar. Información geográfica de menor " "especificidad puede ser provista en otros elementos geográficos (Geografía " "Superior, Continente, País, Estado/Provincia, Condado, Municipalidad, Cuerpo " "de Agua, Isla, Grupo Islas)." #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "Localidad original" #: src/properties.cpp:1749 msgid "The original textual description of the place." msgstr "La descripción textual original del lugar." #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "Elevación original" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" "La descripción textual de la elevación (altitud, por lo general por encima " "del nivel del mar) de la Ubicación." #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "Elevación mínima en metros" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" "El límite inferior del rango de elevación (altitud, generalmente por encima " "del nivel del mar), en metros." #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "Elevación máxima en metros" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" "El límite superior del rango de elevación (altitud, generalmente por encima " "del nivel del mar), en metros." #: src/properties.cpp:1760 msgid "Verbatim Depth" msgstr "Profundidad original" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "La descripción textual de la profundidad bajo la superficie local." #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "Profundidad mínima en metros" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" "La menor profundidad de un rango de profundidad por debajo de la superficie " "local, en metros." #: src/properties.cpp:1766 msgid "Maximum Depth In Meters" msgstr "Profundidad máxima en metros" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "" "La mayor profundidad de un rango de profundidad por debajo de la superficie " "local, en metros." #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "Distancia mínima de la superficie metros" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" "La menor distancia en metros, en un rango de distancia desde una superficie " "de referencia en dirección vertical. Utilice valores positivos para las " "ubicaciones por encima de la superficie, valores negativos para ubicaciones " "por debajo. Si las medidas de profundidad son proporcionadas, la superficie " "de referencia es la ubicación determinada por la profundidad, de lo " "contrario la superficie de referencia es la ubicación dada por la elevación." #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "Distancia máxima de la superficie metros" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" "La mayor distancia en metros, en un rango de distancia desde una superficie " "de referencia en dirección vertical. Utilice valores positivos para las " "ubicaciones por encima de la superficie, valores negativos para las " "ubicaciones por debajo. Si las medidas de profundidad son provistas, la " "superficie de referencia es la ubicación determinada por la profundidad, de " "lo contrario la superficie de referencia es la ubicación determinada por la " "elevación." #: src/properties.cpp:1775 msgid "Location According To" msgstr "Ubicación de acuerdo con" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" "La información sobre la fuente de la ubicación. Podría ser una publicación " "(gacetero), institución o grupo de individuos." #: src/properties.cpp:1778 msgid "Location Remarks" msgstr "Comentarios de la ubicación" #: src/properties.cpp:1779 msgid "Comments or notes about the Location." msgstr "Comentarios o anotaciones sobre la ubicación." #: src/properties.cpp:1781 msgid "Verbatim Coordinates" msgstr "Coordenadas originales" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" "Las coordenadas espaciales textuales de la ubicación. El elipsoide de las " "coordenadas, el datum geodésico, o el sistema de referencia espacial " "completo (SRS) para estas coordenadas, debe ser documentado en SRS original, " "y el sistema de coordenadas en Sistema original de coordenadas." #: src/properties.cpp:1784 msgid "Verbatim Latitude" msgstr "Latitud original" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" "La latitud textual de la ubicación. El elipsoide de coordenadas, el datum " "geodésico o el sistema de referencia espacial completo (SRS) para estas " "coordenadas debe ser documentado en SRS original, y el sistema de " "coordenadas en Sistema original de coordenadas." #: src/properties.cpp:1787 msgid "Verbatim Longitude" msgstr "Longitud original" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" "La longitud textual de la ubicación. El elipsoide de coordinadas, datum " "geodésico o el sistema de referencia espacial completo (SRS) para estas " "coordenadas, debe ser documentado en SRS Original y el sistema de " "coordenadas en Sistema original de coordenadas." #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "Sistema original de coordenadas" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" "El sistema de coordenadas espaciales para Latitud original y Longitud " "original o Coordenadas originales de la ubicación. Se recomienda el uso del " "vocabulario controlado Sistema Original de Coordenadas (Véase Anexo 1. " "Vocabularios Controlados)." #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "SRS original" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" "El elipsoide, datum geodésico, o sistema de referencia espacial (SRS) en el " "que se basan las coordenadas provistas en Latitud original y Longitud " "original o Coordenadas originales. Se recomienda usar el código EPSG como un " "vocabulario controlado para proporcionar un SRS, si se conoce. Caso " "contrario, utilice un lenguaje controlado para el nombre o código del datum " "geodésico, o un vocabulario controlado para el nombre o código del " "elipsoide, si se conoce. Si ninguno de estos se conoce, utilice el valor " "\"desconocido\"." #: src/properties.cpp:1796 msgid "Decimal Latitude" msgstr "Latitud decimal" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" "La latitud geográfica (en grados decimales, utilizando el sistema de " "referencia espacial provisto en Datum geodésico) del centro geográfico de " "una ubicación. Los valores positivos se encuentran al norte del ecuador, los " "valores negativos están al sur del mismo. Los valores admitidos se " "encuentran entre -90 y 90, ambos incluidos." #: src/properties.cpp:1799 msgid "Decimal Longitude" msgstr "Longitud decimal" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" "La longitud geográfica (en grados decimales, mediante el sistema de " "referencia espacial provisto en Datum geodésico) del centro geográfico de " "una ubicación. Los valores positivos se encuentran al este del meridiano de " "Greenwich, los valores negativos se encuentran al oeste de la misma. Los " "valores admitidos se encuentran entre -180 y 180, ambos incluidos." #: src/properties.cpp:1802 msgid "Geodetic Datum" msgstr "Datum geodésico" #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" "El elipsoide, datum geodésico, o sistema de referencia espacial (SRS) en el " "que se basan las coordenadas geográficas provistas en Latitud decimal y " "Longitud decimal. Se recomienda usar el código EPSG como un lenguaje " "controlado para proporcionar un SRS, si se conoce. Caso contrario, utilice " "un lenguaje controlado para el nombre o código del datum geodésico, o " "utilice un lenguaje controlado para el nombre o código del elipsoide, si se " "conoce. Si ninguno de estos se conoce, utilice el valor \"desconocido\"." #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "Incertidumbre de las coordenadas en metros" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" "La distancia horizontal (en metros) de la Latitud decimal y Longitud decimal " "provistas describiendo el círculo más pequeño que contiene la totalidad de " "la ubicación. Deje el valor vacío si la incertidumbre es desconocida, no se " "puede estimar, o no es aplicable (porque no hay coordenadas). Cero no es un " "valor válido para este elemento." #: src/properties.cpp:1808 msgid "Coordinate Precision" msgstr "Precisión de las coordenadas" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" "Una representación decimal de la precisión de las coordenadas provistas en " "Latitud decimal y Longitud decimal." #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "Ajuste espacial del radio-punto" #: src/properties.cpp:1812 #, fuzzy, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" "La relación entre el área del radio-punto (Latitud decimal, Longitud decimal " "e Incertidumbre de las coordenadas en metros) y el área de la verdadera " "(original, o más específica) representación espacial de la ubicación. Los " "valores válidos son 0, mayor que o igual a 1, o indefinido. Un valor de 1 es " "una coincidencia exacta o superposición de 100%. Un valor de 0 se debe " "utilizar si el radio-punto dado no contiene por completo la representación " "original. El Ajuste espacial del radio-punto no está definido (y se debe " "dejar en blanco) si la representación original es un punto sin incertidumbre " "y la georreferencia dada no es ese mismo punto (sin incertidumbre). Si tanto " "el original como la georreferencia dada están en el mismo punto, el Ajuste " "espacial del radio-punto es 1." #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "WKT footprint" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" "Una representación Well-Known Text (WKT) de la forma (footprint, geometría) " "que define la ubicación. Una ubicación puede tener una representación de " "radio-punto (véase Latitud decimal) y una representación footprint, y pueden " "diferir entre sí." #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "SRS footprint" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" "Una representación Well-Known Text (WKT) del sistema de referencia espacial " "(SRS) para WKT footprint de la ubicación. No utilice este elemento para " "describir el SRS de Latitud decimal y Longitud decimal, incluso si es la " "misma que para WKT footprint - utilice el Datum geodésico en su lugar" #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "Ajuste espacial de footprint" #: src/properties.cpp:1821 #, fuzzy, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" "La relación del área de footprint (WKT footprint) y el área de la verdadera " "(original, o más específica) representación espacial de la ubicación. Los " "valores válidos son 0, mayor que o igual a 1, o indefinido. Un valor de 1 es " "una coincidencia exacta o superposición de 100%. Un valor de 0 debe ser " "utilizado si el footprint dado no contiene la representación original " "completamente. El Ajuste espacial de footprint es indefinido (y se debe " "dejar en blanco) si la representación original es un punto y la " "georreferencia dada no es ese mismo punto. Si el original y la " "georreferencia dada son el mismo punto, el Ajuste espacial de footprint es 1." #: src/properties.cpp:1823 msgid "Georeferenced By" msgstr "Georreferenciado por" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" "Una lista (en una fila continua y separada por “;”) de los nombres de las " "personas, grupos u organizaciones que determinaron la georreferencia " "(representación espacial) para la ubicación." #: src/properties.cpp:1826 msgid "Georeferenced Date" msgstr "Fecha de georreferenciación" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" "La fecha en que fue georreferenciada la ubicación. Se recomienda utilizar un " "esquema de codificación, tal como la norma ISO 8601:2004 (E)." #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "Protocolo de georreferenciación" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" "Una descripción o referencia a los métodos utilizados para determinar el " "footprint espacial, coordenadas, e incertidumbres." #: src/properties.cpp:1832 msgid "Georeference Sources" msgstr "Fuentes de georreferenciación" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" "Una lista (en una fila continua y separada por “;”) de los mapas, gaceteros, " "u otros recursos utilizados para georreferenciar la ubicación, lo " "suficientemente específica como para permitir que cualquier persona en el " "futuro utilice los mismos recursos." #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "Estado de la verificación de la georreferenciación" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" "Una descripción categórica de la medida en que se ha verificado la " "georreferencia para representar, de la mejor manera, la descripción " "espacial. Se recomienda el uso del vocabulario controlado Estado de " "Verificación de la Georreferenciación (Véase Anexo 1. Vocabularios " "Controlados)." #: src/properties.cpp:1838 msgid "Georeference Remarks" msgstr "Comentarios de la georreferenciación" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" "Anotaciones o comentarios acerca de la determinación de la descripción " "espacial, los supuestos hechos que explican las adiciones formalizadas en el " "método referido en Protocolo de georreferenciación." #: src/properties.cpp:1843 msgid "Geological Context" msgstr "Contexto geológico" #: src/properties.cpp:1844 msgid "*Main structure* containing geological context based information." msgstr "" #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "ID del contexto geológico" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" "Un identificador para el conjunto de la información asociada con un Contexto " "geológico (la ubicación dentro de un contexto geológico, tal como " "estratigrafía). Puede ser un identificador único global o un identificador " "específico para el conjunto de datos." #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "Eón temprano o eonotema inferior" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" "El nombre completo del eón geocronológico más temprano o el eratema " "cronoestratigráfico más bajo, o el nombre informal (\"Precámbrico\") " "atribuible al horizonte estratigráfico donde se recolectó el objeto " "catalogado." #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "Eón tardío o eonotema superior" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" "El nombre completo del eón geocronológico más tardío o el eratema " "cronoestratigráfico más alto posible, o el nombre informal (\"Precámbrico\") " "atribuible al horizonte estratigráfico donde se recolectó el objeto " "catalogado." #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "Era temprana o eratema inferior" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "El nombre completo de la era geocronológica más temprana o el eratema " "cronoestratigráfico más bajo, atribuible al horizonte estratigráfico donde " "se recolectó el objeto catalogado." #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "Era tardía o eratema superior" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "El nombre completo de la era geocronológica más tardía o el eratema " "cronoestratigráfico más alto posible, atribuible al horizonte estratigráfico " "donde se recolectó el objeto catalogado." #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "Periodo temprano o sistema inferior" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "El nombre completo del periodo geocronológico más temprano posible o el " "sistema cronoestratigráfico más bajo, atribuible al horizonte estratigráfico " "donde se recolectó el objeto catalogado." #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "Periodo tardío o sistema superior" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "El nombre completo del período geocronológico más tardío posible o del " "sistema cronoestratigráfico más alto, atribuible al horizonte estratigráfico " "donde se recolectó el objeto catalogado." #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "Época temprana o serie inferior" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "El nombre completo de la época geocronológica más temprana o la serie " "cronoestratigráfica más baja posible, atribuible al horizonte estratigráfico " "donde se recolectó el objeto catalogado." #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "Época tardía o serie superior" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "El nombre completo de la época geocronológica más tardía posible o la serie " "cronoestratigráfica más alta, atribuible al horizonte estratigráfico donde " "se recolectó el objeto catalogado." #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "Edad temprana o piso inferior" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "El nombre completo de la edad geocronológica más temprana posible o piso " "cronoestratigráfico más bajo, atribuible al horizonte estratigráfico donde " "se recolectó el objeto catalogado." #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "Edad tardía o piso superior" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "El nombre completo de la edad geocronológica más tardía posible o piso " "cronoestratigráfico más alto, atribuible al horizonte estratigráfico donde " "se recolectó el objeto catalogado." #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "Zona bioestratigráfica inferior" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" "El nombre completo de la zona geológica bioestratigráfica más baja posible " "del horizonte estratigráfico donde se recolectó el objeto catalogado." #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "Zona bioestratigráfica superior" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" "El nombre completo de la zona geológica bioestratigráfica más alta posible " "del horizonte estratigráfico donde se recolectó el objeto catalogado." #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "Términos litoestratigráficos" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" "La combinación de todos los nombres litoestratigráficos de la roca de donde " "se colectó el objeto catalogado." #: src/properties.cpp:1889 msgid "Group" msgstr "Grupo" #: src/properties.cpp:1890 msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "" "El nombre completo del grupo litoestratigráfico del cual se colectó el " "objeto catalogado." #: src/properties.cpp:1892 msgid "Formation" msgstr "Formación" #: src/properties.cpp:1893 msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "" "El nombre completo de la formación litoestratigráfica de la cual se colectó " "el objeto catalogado." #: src/properties.cpp:1895 msgid "Member" msgstr "Miembro" #: src/properties.cpp:1896 msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "" "El nombre completo del miembro litoestratigráfico del cual se colectó el " "elemento catalogado." #: src/properties.cpp:1898 msgid "Bed" msgstr "Capa" #: src/properties.cpp:1899 msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "" "El nombre completo de la capa litoestratigráfica de la cual se colectó el " "elemento catalogado." #: src/properties.cpp:1903 msgid "Identification" msgstr "Identificación" #: src/properties.cpp:1904 msgid "*Main structure* containing identification based information." msgstr "" #: src/properties.cpp:1907 msgid "Identification ID" msgstr "ID de la identificación" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" "Un identificador para la identificación (el cuerpo de la información " "asociada con la asignación de un nombre científico). Puede ser un " "identificador único global o un identificador específico para el conjunto de " "datos." #: src/properties.cpp:1910 msgid "Identified By" msgstr "Identificado por" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" "Una lista (en una fila continua y separada por “;”) de los nombres de las " "personas, grupos u organizaciones que identificaron la entidad biológica." #: src/properties.cpp:1913 msgid "Date Identified" msgstr "Fecha de la identificación" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" "La fecha en que fue identificada la entidad biológica como representativa " "del taxón. Se recomienda utilizar un esquema de codificación, como la norma " "ISO 8601:2004 (E)." #: src/properties.cpp:1916 msgid "Identification References" msgstr "Referencias de la identificación" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" "Una lista (en una fila continua y separada por \";\") de las referencias " "(publicación, identificador único global, URI) usadas en la identificación." #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "Estado de la verificación de la identificación" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" "Un indicador categórico del alcance de la verificación de la identificación " "taxonómica. Se recomienda el uso de un vocabulario controlado, como los " "usados en HISPID/ABCD." #: src/properties.cpp:1922 msgid "Identification Remarks" msgstr "Comentarios de la identificación" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "Comentarios o notas sobre la identificación." #: src/properties.cpp:1925 msgid "Identification Qualifier" msgstr "Calificador de la identificación" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" "Una breve frase o término estándar (\"cf.\",\"aff.\") para expresar las " "dudas del determinador sobre la identificación." #: src/properties.cpp:1928 msgid "Type Status" msgstr "Estado del tipo" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" "Una lista (en una fila continua y separada por \";\") de los tipos de " "nomenclatura (estado del tipo, nombre científico tipificado, publicación) " "aplicados a la entidad biológica." #: src/properties.cpp:1933 msgid "Taxon" msgstr "Taxón" #: src/properties.cpp:1934 msgid "*Main structure* containing taxonomic based information." msgstr "" #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "ID del Taxón" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" "Un identificador para el conjunto de información del taxón (datos asociados " "a la clase del Taxón)." #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "ID del nombre científico" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" "Un identificador de los detalles de la nomenclatura (no taxonómica) de un " "nombre científico." #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "ID del nombre aceptado usado" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" "Un identificador para el uso del nombre (significado del nombre, documentado " "de acuerdo con alguna fuente) del taxón actualmente válido (zoológico) o " "aceptado (botánico)." #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "ID del Nombre Parental usado" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" "Un identificador para el uso del nombre (significado documentado del nombre " "de acuerdo con una fuente) del taxón parental directo, más próximo de nivel " "superior (en una clasificación) del elemento más específico de Nombre " "científico." #: src/properties.cpp:1949 msgid "Original Name Usage ID" msgstr "ID del Nombre original usado" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" "Un identificador para el uso del nombre (significado documentado del nombre " "de acuerdo con una fuente) en el que se estableció originalmente, el " "elemento terminal de Nombre científico bajo las reglas del Código " "Nomenclatural asociado." #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "ID del nombre de acuerdo con" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" "Un identificador de la fuente en la que está definida o implícita la " "circunscripción conceptual del taxón específico. Véase Nombre de acuerdo con." #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "ID del nombre publicado en" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" "Un identificador de la publicación en que se estableció originalmente el " "Nombre científico bajo las reglas del Código Nomenclatural asociado." #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "ID del concepto del taxón" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" "Un identificador para el concepto taxonómico al que se refiere el registro, " "no para los detalles de nomenclatura de un taxón." #: src/properties.cpp:1961 msgid "Scientific Name" msgstr "Nombre científico" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" "El nombre científico completo, con información de autoría y fecha si se " "conoce. Al formar parte de una identificación, este debe ser el nombre en la " "categoría del taxón de menor nivel que pueda ser determinado. Este elemento " "no debe contener calificadores de identificación, estos deberían ser " "suministrados en el elemento Calificador de la identificación." #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "Nombre aceptado usado" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" "El nombre completo, con autoría e información de fecha si se conoce, del " "taxón actualmente válido (zoológico) o aceptado (botánico)." #: src/properties.cpp:1967 msgid "Parent Name Usage" msgstr "Nombre parental usado" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" "El nombre completo, con información de autoría y fecha si se conoce, del " "taxón parental directo más próximo de nivel superior (en una clasificación) " "del elemento más específico de Nombre científico." #: src/properties.cpp:1970 msgid "Original Name Usage" msgstr "Nombre original usado" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" "El nombre del taxón, con información de autoría y fecha si se conoce, tal " "como apareció originalmente cuando se estableció por primera vez bajo las " "reglas del Código Nomenclatural asociado. El basiónimo (botánica) o basónimo " "(bacteriología) de Nombre científico o el homónimo anterior de los nombres " "sustituidos." #: src/properties.cpp:1973 msgid "Name According To" msgstr "Nombre de acuerdo con" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" "La referencia a la fuente en la que está definida o implícita la " "circunscripción conceptual del taxón - tradicionalmente representado por el " "Latín \"sensu\" o \"sec.\" (de secundum, que significa \"según\"). Para los " "taxones que resultan de las identificaciones, una referencia a las claves, " "monografías, expertos y otras fuentes debe ser provista." #: src/properties.cpp:1976 msgid "Name Published In" msgstr "Nombre publicado en" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" "Una referencia para la publicación en que se estableció originalmente el " "Nombre científico bajo las reglas del Código Nomenclatural asociado." #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "Nombre publicado en el año" #: src/properties.cpp:1980 msgid "The four-digit year in which the scientificName was published." msgstr "El año de cuatro dígitos en el que se publicó el Nombre científico." #: src/properties.cpp:1982 msgid "Higher Classification" msgstr "Clasificación superior" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" "Una lista (en una fila continua y separada por \";\") de los nombres de los " "taxones que terminan en la categoría inmediatamente superior al del taxón de " "referencia en el registro del taxón. Se recomienda ordenar la lista " "comenzando con la categoría más alta y separando los nombres de cada " "categoría, con un punto y coma (\";\")." #: src/properties.cpp:1985 msgid "Kingdom" msgstr "Reino" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "El nombre científico completo del reino al que pertenece el taxón." #: src/properties.cpp:1988 msgid "Phylum" msgstr "Filo" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" "El nombre científico completo del filo o división al que pertenece el taxón." #: src/properties.cpp:1991 msgid "Class" msgstr "Clase" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "El nombre científico completo de la clase al que pertenece el taxón." #: src/properties.cpp:1994 msgid "Order" msgstr "Orden" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "El nombre científico completo del orden al que pertenece el taxón." #: src/properties.cpp:1997 msgid "Family" msgstr "Familia" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "El nombre científico completo de la familia al que pertenece el taxón." #: src/properties.cpp:2000 msgid "Genus" msgstr "Género" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "El nombre científico completo del género al que pertenece el taxón." #: src/properties.cpp:2003 msgid "Subgenus" msgstr "Subgénero" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" "El nombre científico completo del subgénero al que pertenece el taxón. Los " "valores deben incluir el género para evitar la confusión de homonimia." #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "Epíteto Específico" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "El nombre del epíteto específico de Nombre científico." #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "Epíteto infraespecífico" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" "El nombre del epíteto infraespecífico más bajo o terminal del Nombre " "científico, excluyendo cualquier otra denominación de categoría." #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "Categoría del taxón" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" "La clasificación taxonómica del nombre más específico en el Nombre " "científico." #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "Categoría original del taxón" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" "La categoría del taxón del nombre más específico en un nombre científico tal " "y como aparece en el registro original." #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "Autoría del nombre científico" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" "La información de autoría del Nombre científico formateado de acuerdo a las " "convenciones del Código Nomenclatural aplicable." #: src/properties.cpp:2021 msgid "Vernacular Name" msgstr "Nombre común" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "Un nombre común o vernacular." #: src/properties.cpp:2024 msgid "Nomenclatural Code" msgstr "Código nomenclatural" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" "El código nomenclatural (o códigos en el caso de un nombre ambireinal) en " "virtud del cual se construye el Nombre científico." #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "Estado taxonómico" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" "El estado de la utilización de Nombre científico como una etiqueta para un " "taxón. Requiere opinión taxonómica para definir el alcance de un taxón. Dado " "lo anterior, se utilizan reglas de prioridad para definir el estado " "taxonómico de la nomenclatura contenida en ese enfoque, junto con la opinión " "de los expertos. Debe estar vinculado a una referencia sobre taxonomía " "específica que defina el concepto." #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "Estado nomenclatural" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" "El estado relacionado con la publicación original del nombre y su " "conformidad con las normas pertinentes de nomenclatura. Se basa " "esencialmente en un algoritmo de acuerdo con las reglas de negociación del " "código. No requiere opinión taxonómica." #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "Comentarios del taxón" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "Comentarios o notas sobre el taxón o nombre." #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "Relación del recurso" #: src/properties.cpp:2039 msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "" #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "ID de la relación del recurso" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" "Un identificador para una instancia de relación entre un recurso (el sujeto) " "y otro (Recurso relacionado, el objeto)." #: src/properties.cpp:2045 msgid "Resource ID" msgstr "ID del recurso" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "Un identificador para el recurso que es el sujeto de la relación." #: src/properties.cpp:2048 msgid "Related Resource ID" msgstr "ID del recurso relacionado" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" "Un identificador para un recurso relacionado (el objeto, en lugar del sujeto " "de la relación)." #: src/properties.cpp:2051 msgid "Relationship Of Resource" msgstr "Relación del recurso" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" "La relación del recurso identificado por el ID del recurso relacionado con " "el sujeto (opcionalmente identificado por ID del Recurso). Se recomienda el " "uso de un lenguaje controlado." #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "Relación de acuerdo con" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" "La fuente (persona, organización, publicación, referencia) que establece la " "relación entre los dos recursos." #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "Fecha de establecimiento de la relación" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" "La fecha en que se estableció la relación entre los dos recursos. Se " "recomienda utilizar un esquema de codificación, tal como la norma ISO " "8601:2004 (E)." #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "Comentarios de la relación" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "Comentarios o anotaciones sobre la relación entre los dos recursos." #: src/properties.cpp:2065 msgid "Measurement Or Fact" msgstr "Medición o hecho" #: src/properties.cpp:2066 msgid "*Main structure* containing measurement based information." msgstr "" #: src/properties.cpp:2069 msgid "Measurement ID" msgstr "ID de la medición" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" "Un identificador para la Medición o hecho (la información relativa a las " "mediciones, hechos, características o aseveraciones). Puede ser un " "identificador único global o un identificador específico para el conjunto de " "datos." #: src/properties.cpp:2072 msgid "Measurement Type" msgstr "Tipo de medición" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" "La naturaleza de la medición, hecho, característica o aseveración. Se " "recomienda el uso de un vocabulario controlado." #: src/properties.cpp:2075 msgid "Measurement Value" msgstr "Valor de la medición" #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "El valor de la medición, hecho, característica o aseveración." #: src/properties.cpp:2078 msgid "Measurement Accuracy" msgstr "Precisión de la medición" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "" "La descripción de los errores potenciales asociados con Valor de la medición." #: src/properties.cpp:2081 msgid "Measurement Unit" msgstr "Unidad de medición" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" "Las unidades asociadas con Valor de la medición. La práctica recomendada es " "utilizar el Sistema Internacional de Unidades (SI)." #: src/properties.cpp:2084 msgid "Measurement Determined Date" msgstr "Fecha de la determinación de la medición" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" "La fecha en que se realizó la medición o hecho. La práctica recomendada es " "utilizar un esquema de codificación, como la norma ISO 8601:2004 (E)." #: src/properties.cpp:2087 msgid "Measurement Determined By" msgstr "Medición determinada por" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" "Una lista (en una fila continua y separada por \";\") de los nombres de las " "personas, grupos u organizaciones que determinan el valor de Medición o " "hecho." #: src/properties.cpp:2090 msgid "Measurement Method" msgstr "Método de medición" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" "Una descripción o referencia (publicación, URI) del método o protocolo " "utilizado para determinar la medición, hecho, característica o aseveración." #: src/properties.cpp:2093 msgid "Measurement Remarks" msgstr "Comentarios de la medición" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "Comentarios o notas que acompañan a la medición o hecho." #: src/properties.cpp:2101 msgid "A brief description of the file" msgstr "La descripción corto del archivo" #: src/properties.cpp:2102 msgid "Date Time" msgstr "Fecha y hora" #: src/properties.cpp:2103 msgid "The name of the author or photographer" msgstr "" #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "" #: src/properties.cpp:2105 msgid "Notes" msgstr "Notas" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "" #: src/properties.cpp:2106 msgid "Tagged" msgstr "" #: src/properties.cpp:2106 msgid "True or False" msgstr "" #: src/properties.cpp:2107 msgid "Categories" msgstr "Categorías" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "" #: src/sigmamn.cpp:62 msgid "Resolution Mode" msgstr "Modo de resolución" #: src/sigmamn.cpp:63 msgid "Resolution mode" msgstr "Modo de resolución" #: src/sigmamn.cpp:65 msgid "Autofocus Mode" msgstr "Modo autoenfoque" #: src/sigmamn.cpp:66 msgid "Autofocus mode" msgstr "Modo autoenfoque" #: src/sigmamn.cpp:68 msgid "Focus Setting" msgstr "Configuración de foco" #: src/sigmamn.cpp:69 msgid "Focus setting" msgstr "Configuración de foco" #: src/sigmamn.cpp:80 msgid "Lens Range" msgstr "rango de lente" #: src/sigmamn.cpp:81 msgid "Lens focal length range" msgstr "Rango de distancia focal de lente" #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 msgid "Shadow" msgstr "Sombra" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 msgid "Highlight" msgstr "Realce" #: src/sigmamn.cpp:104 msgid "Fill Light" msgstr "Luz de relleno" #: src/sigmamn.cpp:105 msgid "X3 Fill light" msgstr "Luz de relleno X3" #: src/sigmamn.cpp:107 msgid "Color Adjustment" msgstr "Ajuste de color" #: src/sigmamn.cpp:108 msgid "Color adjustment" msgstr "Ajuste de color" #: src/sigmamn.cpp:110 msgid "Adjustment Mode" msgstr "Modo de ajuste" #: src/sigmamn.cpp:111 msgid "Adjustment mode" msgstr "Modo de ajuste" #: src/sigmamn.cpp:122 msgid "Auto Bracket" msgstr "Disparo múltiple" #: src/sigmamn.cpp:123 src/tags.cpp:1497 msgid "Auto bracket" msgstr "Auto horquillado (Auto bracket)" #: src/sigmamn.cpp:127 msgid "Unknown SigmaMakerNote tag" msgstr "Etiqueta SigmaMakerNote desconocida" #: src/sigmamn.cpp:170 msgid "8-Segment" msgstr "8-Segmento" #: src/sonymn.cpp:131 msgid "Advanced Lv1" msgstr "Lv1 avanzado" #: src/sonymn.cpp:132 msgid "Advanced Lv2" msgstr "Lv2 avanzado" #: src/sonymn.cpp:133 msgid "Advanced Lv3" msgstr "Lv3 avanzado" #: src/sonymn.cpp:134 msgid "Advanced Lv4" msgstr "Lv4 avanzado" #: src/sonymn.cpp:135 msgid "Advanced Lv5" msgstr "Lv5 avanzado" #: src/sonymn.cpp:154 msgid "Night Scene / Twilight" msgstr "Escena nocturna / crepúsculo" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "Obturador alta velocidad" #: src/sonymn.cpp:156 msgid "Twilight Portrait" msgstr "Retrato crepuscular" #: src/sonymn.cpp:157 msgid "Soft Snap / Portrait" msgstr "" #: src/sonymn.cpp:159 msgid "Smile Shutter" msgstr "Disparador de sonrisas" #: src/sonymn.cpp:161 msgid "High Sensitivity" msgstr "Alta Sensibilidad" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "Deportes" #: src/sonymn.cpp:166 msgid "Sweep Panorama" msgstr "" #: src/sonymn.cpp:168 msgid "Anti Motion Blur" msgstr "Anti distorsion de movimiento" #: src/sonymn.cpp:170 msgid "Backlight Correction HDR" msgstr "Correccion HDR Backlight" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "" #: src/sonymn.cpp:172 msgid "Background Defocus" msgstr "" #: src/sonymn.cpp:173 msgid "Soft Skin" msgstr "" #: src/sonymn.cpp:174 msgid "3D Image" msgstr "ID 3D" #: src/sonymn.cpp:189 msgid "On (Continuous)" msgstr "" #: src/sonymn.cpp:190 msgid "On (Shooting)" msgstr "" #: src/sonymn.cpp:198 msgid "Plus" msgstr "Plus" #: src/sonymn.cpp:214 msgid "White Flourescent" msgstr "Fluorescente blanco" #: src/sonymn.cpp:215 msgid "Cool White Flourescent" msgstr "" #: src/sonymn.cpp:216 msgid "Day White Flourescent" msgstr "" #: src/sonymn.cpp:217 msgid "Incandescent2" msgstr "" #: src/sonymn.cpp:218 msgid "Warm White Fluorescent" msgstr "" #: src/sonymn.cpp:221 msgid "Underwater 1 (Blue Water)" msgstr "Bajo el agua 1 (agua azul)" #: src/sonymn.cpp:222 msgid "Underwater 2 (Green Water)" msgstr "Bajo el agua 2 (agua verde)" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "Auto enfoque permanente" #: src/sonymn.cpp:237 msgid "Center AF" msgstr "Centrar AF" #: src/sonymn.cpp:238 msgid "Spot AF" msgstr "Enfoque automático Spot" #: src/sonymn.cpp:239 msgid "Flexible Spot AF" msgstr "Autoenfoque de punto flexible" #: src/sonymn.cpp:240 msgid "Touch AF" msgstr "Autofocus Touch" #: src/sonymn.cpp:241 msgid "Manual Focus" msgstr "Enfoque manual" #: src/sonymn.cpp:242 msgid "Face Detected" msgstr "Cara detectada" #: src/sonymn.cpp:257 msgid "Close Focus" msgstr "" #: src/sonymn.cpp:347 src/sonymn.cpp:348 msgid "Multi Burst Mode" msgstr "Modo de ráfaga múltiple" #: src/sonymn.cpp:350 src/sonymn.cpp:351 msgid "Multi Burst Image Width" msgstr "Anchura de imagen de ráfaga múltiple" #: src/sonymn.cpp:353 src/sonymn.cpp:354 msgid "Multi Burst Image Height" msgstr "Altura de imagen de ráfaga múltiple" #: src/sonymn.cpp:364 msgid "JPEG preview image" msgstr "" #: src/sonymn.cpp:390 msgid "Auto HDR" msgstr "" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "" #: src/sonymn.cpp:395 msgid "Shot Information" msgstr "Información de disparo" #: src/sonymn.cpp:400 src/sonymn.cpp:401 msgid "Sony Model ID" msgstr "ID modelo Sony" #: src/sonymn.cpp:403 src/sonymn.cpp:404 msgid "Color Reproduction" msgstr "Reproducción de color" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 msgid "Dynamic Range Optimizer" msgstr "" #: src/sonymn.cpp:427 src/sonymn.cpp:428 msgid "Minolta MakerNote" msgstr "" #: src/sonymn.cpp:433 src/sonymn.cpp:434 msgid "Full Image Size" msgstr "Tamaño de la imagen" #: src/sonymn.cpp:436 msgid "Preview Image Size" msgstr "Tamaño de vista previa" #: src/sonymn.cpp:437 msgid "Preview image size" msgstr "Tamaño de imagen previa" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 msgid "AF Illuminator" msgstr "Autoenfoque Iluminador" #: src/sonymn.cpp:454 src/sonymn.cpp:455 msgid "JPEG Quality" msgstr "" #: src/sonymn.cpp:460 src/sonymn.cpp:461 msgid "Release Mode" msgstr "Modo de liberación" #: src/sonymn.cpp:464 msgid "Shot number in continuous burst mode" msgstr "Número de dispáros en modo ráfaga contínua" #: src/sonymn.cpp:466 src/sonymn.cpp:467 msgid "Anti-Blur" msgstr "anti-borroso" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 msgid "Long Exposure Noise Reduction" msgstr "" #: src/sonymn.cpp:475 src/sonymn.cpp:476 msgid "Intelligent Auto" msgstr "Modo auto inteligente" #: src/sonymn.cpp:483 msgid "Unknown Sony1MakerNote tag" msgstr "Etiqueta Sony 1 MakerNote desconocida" #: src/sonymn.cpp:497 msgid "Continuous High" msgstr "Alta continuidad" #: src/sonymn.cpp:501 msgid "Continuous Low" msgstr "Baja continuidad" #: src/sonymn.cpp:503 src/sonymn.cpp:504 msgid "D-Range Optimizer Bracketing Low" msgstr "Ráfaga con optimizador D-Range bajo" #: src/sonymn.cpp:536 msgid "Autumn" msgstr "Otoño" #: src/sonymn.cpp:542 msgid "ADI" msgstr "Imagen Digital Avanzada" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "Caja de estilos 1" #: src/sonymn.cpp:578 msgid "Auto No Flash" msgstr "Automático sin flash" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 msgid "Dynamic Range Optimizer Level" msgstr "" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 msgid "Creative Style" msgstr "Estilo creativo" #: src/sonymn.cpp:648 src/sonymn.cpp:649 msgid "Zone Matching Value" msgstr "Valor de zona coincidente" #: src/sonymn.cpp:666 src/sonymn.cpp:667 msgid "AF With Shutter" msgstr "Disparador con AF" #: src/sonymn.cpp:674 src/sonymn.cpp:675 msgid "High ISO NoiseReduction" msgstr "Reducción de ruido ISO alto" #: src/sonymn.cpp:678 src/sonymn.cpp:679 msgid "Image Style" msgstr "Estilo de imagen" #: src/sonymn.cpp:704 msgid "Unknown Sony1 Camera Settings tag" msgstr "Etiqueta de configuraciones de cámara Sony1 desconocida" #: src/sonymn.cpp:768 msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "Etiqueta de configuraciones 2 de cámara Sony1 desconocido" #: src/tags.cpp:188 msgid "Unknown section" msgstr "Sección desconocida" #: src/tags.cpp:189 msgid "Image data structure" msgstr "Estructura de datos de la imagen" #: src/tags.cpp:190 msgid "Recording offset" msgstr "Desplazamiento de grabación" #: src/tags.cpp:191 msgid "Image data characteristics" msgstr "Caracteristicas de datos de la imagen" #: src/tags.cpp:192 msgid "Other data" msgstr "Otros datos" #: src/tags.cpp:193 msgid "Exif data structure" msgstr "Estructura de datos Exif" #: src/tags.cpp:195 msgid "Image configuration" msgstr "Configuración de la imagen" #: src/tags.cpp:196 msgid "User information" msgstr "Información de usuario" #: src/tags.cpp:197 msgid "Related file" msgstr "Archivo relacionado" #: src/tags.cpp:198 msgid "Date and time" msgstr "Fecha y hora" #: src/tags.cpp:199 msgid "Picture taking conditions" msgstr "Condiciones de toma de la fotografía" #: src/tags.cpp:200 msgid "GPS information" msgstr "Información GPS" #: src/tags.cpp:201 msgid "Interoperability information" msgstr "Información de interoperatibidad" #: src/tags.cpp:202 msgid "Vendor specific information" msgstr "Información específica del vendedor" #: src/tags.cpp:203 msgid "Adobe DNG tags" msgstr "Etiquetas Adobe DNG" #: src/tags.cpp:204 msgid "Panasonic RAW tags" msgstr "Etiquetas Panasonic Raw" #: src/tags.cpp:205 msgid "TIFF/EP tags" msgstr "Etiquetas TIFF/EP" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "Etiquetas TIFF PageMaker 6.0" #: src/tags.cpp:207 msgid "Adobe OPI tags" msgstr "Etiquetas Adobe OPI" #: src/tags.cpp:208 msgid "Last section" msgstr "Última sección" #: src/tags.cpp:224 msgid "Primary image" msgstr "Imagen primaria" #: src/tags.cpp:225 msgid "Thumbnail/Preview image" msgstr "Miniatura/Vista previa" #: src/tags.cpp:226 msgid "Primary image, Multi page file" msgstr "Imagen principal, archivo multi páginas" #: src/tags.cpp:227 msgid "Thumbnail/Preview image, Multi page file" msgstr "Miniatura / Vista previa, archivo multipagina" #: src/tags.cpp:228 msgid "Primary image, Transparency mask" msgstr "Máscara de transparencia, imagen principal" #: src/tags.cpp:229 msgid "Thumbnail/Preview image, Transparency mask" msgstr "Miniatura / Vista previa, máscara de transparencia" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "Imagen principal, Archivo multi-página, Máscara de transparencia" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "" "Imagen miniatura/ Vista previa, Archivo multi-página, Máscara de " "transparencia" #: src/tags.cpp:237 msgid "Full-resolution image data" msgstr "datos de imagen de alta resolución" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "datos de imagen de baja resolución" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "Una única página de una imagen multipágina" #: src/tags.cpp:245 msgid "inch" msgstr "pulgada" #: src/tags.cpp:252 msgid "CCITT RLE" msgstr "CCITT RLE" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "T4/Grupo 3 Fax" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "T6/Grupo 4 Fax" #: src/tags.cpp:255 msgid "LZW" msgstr "LZW (compresión sin pérdidas para tiff)" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "JPEG (estilo antiguo)" #: src/tags.cpp:257 msgid "JPEG" msgstr "JPEG" #: src/tags.cpp:258 msgid "Adobe Deflate" msgstr "Adobe Deflate" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "JBIG B/N" #: src/tags.cpp:260 msgid "JBIG Color" msgstr "Color JBIG" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "Próximos 2-bits RLE" #: src/tags.cpp:262 msgid "Epson ERF Compressed" msgstr "Epson ERF comprimido" #: src/tags.cpp:263 msgid "Samsung SRW Compressed" msgstr "Epson ERF Comprimido" #: src/tags.cpp:264 msgid "CCITT RLE 1-word" msgstr "CCITT RLE 1-word" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "PackBits (Macintosh RLE)" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "Thunderscan RLE" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "IT8 CT Padding" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "IT8 Linework RLE" #: src/tags.cpp:269 msgid "IT8 Monochrome Picture" msgstr "Imagen Monocromática IT8" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "Línea de arte binaria IT8" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "Pixar Film (10-bits LZW)" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "Pixar Log (11-bits ZIP)" #: src/tags.cpp:273 msgid "Pixar Deflate" msgstr "Pixar descomprimido" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "Codificación Kodak DCS" #: src/tags.cpp:275 msgid "ISO JBIG" msgstr "ISO JBIG" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "Registro SCI de luminancia RLE" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "Registro SGI de 24 bits empaquetados" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "Leadtools JPEG 2000" #: src/tags.cpp:279 msgid "Nikon NEF Compressed" msgstr "Nikon NEF comprimido" #: src/tags.cpp:280 msgid "Kodak DCR Compressed" msgstr "Kodak DCR comprimido" #: src/tags.cpp:281 msgid "Pentax PEF Compressed" msgstr "Pentax PEF comprimido" #: src/tags.cpp:286 msgid "White Is Zero" msgstr "el blanco es el cero" #: src/tags.cpp:287 msgid "Black Is Zero" msgstr "el negro es el cero" #: src/tags.cpp:288 msgid "RGB" msgstr "RVA" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "Paleta RVA (RGB)" #: src/tags.cpp:290 msgid "Transparency Mask" msgstr "Máscara de transparencia" #: src/tags.cpp:291 src/tags.cpp:330 msgid "CMYK" msgstr "CMYK" #: src/tags.cpp:292 msgid "YCbCr" msgstr "TCvCr" #: src/tags.cpp:293 msgid "CIELab" msgstr "CIELab" #: src/tags.cpp:294 msgid "ICCLab" msgstr "ICCLab" #: src/tags.cpp:295 msgid "ITULab" msgstr "ITULab" #: src/tags.cpp:296 msgid "Color Filter Array" msgstr "Matriz de filtro de color" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "Pixar LogL" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "Pixar LogLuv" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "Raw lineal" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "Sin tramado o semitonos" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "Ordenado dither o técnica de semitono" #: src/tags.cpp:306 msgid "Randomized process" msgstr "Proceso aleatorio" #: src/tags.cpp:311 msgid "top, left" msgstr "arriba - izquierda" #: src/tags.cpp:312 msgid "top, right" msgstr "arriba - derecha" #: src/tags.cpp:313 msgid "bottom, right" msgstr "abajo - derecha" #: src/tags.cpp:314 msgid "bottom, left" msgstr "abajo - izquierda" #: src/tags.cpp:315 msgid "left, top" msgstr "izquierda - arriba" #: src/tags.cpp:316 msgid "right, top" msgstr "derecha - arriba" #: src/tags.cpp:317 msgid "right, bottom" msgstr "derecha - abajo" #: src/tags.cpp:318 src/tags.cpp:319 msgid "left, bottom" msgstr "izquierda, abajo" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "No se ha usado esquema de predicción" #: src/tags.cpp:325 msgid "Horizontal differencing" msgstr "Diferenciación horizontal" #: src/tags.cpp:331 msgid "not CMYK" msgstr "sin CMYK" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "datos enteros no firmados" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "Datos enteros de complemento a dos firmados" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "Datos de coma flotante IEEE" #: src/tags.cpp:339 src/tags.cpp:340 msgid "Undefined data format" msgstr "Formato de datos indefinido" #: src/tags.cpp:345 msgid "Not indexed" msgstr "No indexado" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "Indexado" #: src/tags.cpp:351 msgid "A" msgstr "A" #: src/tags.cpp:352 msgid "B" msgstr "B" #: src/tags.cpp:353 msgid "C" msgstr "C" #: src/tags.cpp:354 msgid "A+B-C" msgstr "A+B-C" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "A+((B-C)/2)" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "B+((A-C)/2)" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "(A+B)/2" #: src/tags.cpp:362 msgid "Centered" msgstr "Centrado" #: src/tags.cpp:363 msgid "Co-sited" msgstr "Co-situado" #: src/tags.cpp:368 msgid "No flash" msgstr "Sin flash" #: src/tags.cpp:370 msgid "Fired, return light not detected" msgstr "Disparado, luz de retorno no detectada" #: src/tags.cpp:371 msgid "Fired, return light detected" msgstr "Disparado, luz de retorno detectada" #: src/tags.cpp:372 msgid "Yes, did not fire" msgstr "Si, no se disparó" #: src/tags.cpp:373 msgid "Yes, compulsory" msgstr "Si, obligatorio" #: src/tags.cpp:374 msgid "Yes, compulsory, return light not detected" msgstr "Si, modo obligatorio del flash, luz de retorno no detectada." #: src/tags.cpp:375 msgid "Yes, compulsory, return light detected" msgstr "Si, modo obligatorio del flash, luz de retorno detectada." #: src/tags.cpp:376 msgid "No, compulsory" msgstr "No, modo compulsivo" #: src/tags.cpp:377 msgid "No, did not fire, return light not detected" msgstr "No se disparó, luz de retorno no detectada" #: src/tags.cpp:378 msgid "No, auto" msgstr "No, automático" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "Si, automático" #: src/tags.cpp:380 msgid "Yes, auto, return light not detected" msgstr "Si, automático, luz de retorno no detectada" #: src/tags.cpp:381 msgid "Yes, auto, return light detected" msgstr "Si, automático, luz de retorno detectada." #: src/tags.cpp:382 msgid "No flash function" msgstr "Sin función de flash." #: src/tags.cpp:383 msgid "No, no flash function" msgstr "No, sin función de flash" #: src/tags.cpp:384 msgid "Yes, red-eye reduction" msgstr "Si, reducción de ojos rojos" #: src/tags.cpp:385 msgid "Yes, red-eye reduction, return light not detected" msgstr "Si, modo de reducción de ojos rojos, luz de retorno no detectada." #: src/tags.cpp:386 msgid "Yes, red-eye reduction, return light detected" msgstr "Si, modo de reducción de ojos rojos, luz de retorno detectada." #: src/tags.cpp:387 msgid "Yes, compulsory, red-eye reduction" msgstr "Si, modo obligatorio del flash, modo de reducción de ojos rojos." #: src/tags.cpp:388 msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "" "Si, modo obligatorio del flash, modo de reducción de ojos rojos, luz de " "retorno no detectada." #: src/tags.cpp:389 msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "" "Si, modo obligatorio del flash, modo de reducción de ojos rojos, luz de " "retorno detectada." #: src/tags.cpp:390 msgid "No, red-eye reduction" msgstr "No, reducción de ojos rojos" #: src/tags.cpp:391 msgid "No, auto, red-eye reduction" msgstr "No, automático, reducción de ojos rojos" #: src/tags.cpp:392 msgid "Yes, auto, red-eye reduction" msgstr "Si, automático, modo de reducción de ojos rojos." #: src/tags.cpp:393 msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "Sí, automático, reducción de ojos rojos, luz de retorno no detectada" #: src/tags.cpp:394 msgid "Yes, auto, red-eye reduction, return light detected" msgstr "Sí, automático, reducción de ojos rojos, luz de retorno detectada" #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "Escena rectangular (o cuadrada)" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "" "Disposición intercalada A: aplica un desplazamiento de media fila abajo a " "las columnas pares" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "" "Disposición intercalada B: aplica un desplazamiento de media fila arriba a " "las columnas pares" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "" "Disposición intercalada C: aplica un desplazamiento de media columna a la " "derecha a las filas pares" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "" "Disposición escalonada B: incluso las filas se compensan a la izquierda por " "1/2 columna" #: src/tags.cpp:408 msgid "Processing Software" msgstr "Procesando software" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "Nombre y versión del software usado para post-procesar la imágen" #: src/tags.cpp:412 msgid "New Subfile Type" msgstr "Nuevo tipo de subarchivo" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "Indicación general del tipo de datos contenido" #: src/tags.cpp:415 msgid "Subfile Type" msgstr "" #: src/tags.cpp:416 msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "" "Una indicación general del tipo de datos contenidos en éste subdocumento. En " "desusousar el campo NewSubfileType en su lugar." #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "La cantidad de columnas de los datos de la imagen, igual al número de " "píxeles por fila. En datos comprimidos JPEG se usa un marcador JPEG en vez " "de esta etiqueta." #: src/tags.cpp:425 msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" "La cantidad de filas de datos de la imagen. En datos comprimidos JPEG se " "utiliza un marcador JPEG en vez de esta etiqueta." #: src/tags.cpp:428 msgid "Bits per Sample" msgstr "Bits por muestra" #: src/tags.cpp:429 msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" "La cantidad de bits por componente de imagen. En este estándar cada " "componente de imagen es 8 bits, por lo que el valor de esta etiqueta es 9. " "Vea también . En datos comprimidos JPEG se utiliza un " "marcador JPEG en vez de esta etiqueta." #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" "El esquema de compresión usado para los datos de la imagen. Cuando una " "imagen primaria está comprimida con JPEG, esto no es necesario y se omite. " "Cuando las miniaturas utilizan compresión JPEG, el valor de esta etiqueta es " "6." #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" "La composición del pixel. En datos comprimidos JPEG se utiliza un marcador " "JPEG en vez de esta etiqueta." #: src/tags.cpp:444 msgid "Thresholding" msgstr "" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" "Para TIFFs en blanco y negro, la técnica usada para convertirlos tonos de " "grís en pixeles blancos o negros (puros)." #: src/tags.cpp:448 msgid "Cell Width" msgstr "Anchura de celda" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" "Ancho de la matriz de dithering o semitonos usada para crear archivo al que " "se le aplica dithering o semitonos de dos niveles" #: src/tags.cpp:452 msgid "Cell Length" msgstr "Tamaño de celda" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" "Longitud de la matriz de dithering o semitonos usada para crear archivo al " "que se le aplica dithering o semitonos de dos niveles" #: src/tags.cpp:456 msgid "Fill Order" msgstr "Orden de llenado" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "Órden lógico de bits dentro de un byte" #: src/tags.cpp:459 msgid "Document Name" msgstr "Nombre del documento" #: src/tags.cpp:460 msgid "The name of the document from which this image was scanned" msgstr "Nombre del documento con el que esta imagen fue explorada" #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" "Una cadena de caracteres que da título a la imagen. Puede ser un comentario " "como \"picnic de 1988\" o algo por el estilo. No se permiten caracteres " "codificados con 2 bytes, si se necesita un código de 2 bytes debe usarsela " "etiqueta privada Exif ." #: src/tags.cpp:470 msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" "El fabricante del equipo. Este es el fabricante del DSC, escáner, " "digitalizador de vídeo u otro equipo que generó la imagen. Cuando el campo " "se deja en blanco, se trata como desconocido." #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" "El nombre o número de modelo del equipo. Este es el nombre del modelo o " "número del DSC, escáner, digitalizador de vídeo u otro equipo que generó la " "imagen. Cuando el campo se deja en blanco, se trata como desconocido." #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" "El desplazamiento en bytes de cada tira. Se recomienda que se seleccione de " "manera tal que la cantidad de bytes de la tira no exceda 64 Kbytes. Con " "datos comprimidos JPEG esto no es necesario y se omite. Vea también " " y ." #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "La orientación de la imagen vista en términos de filas y columnas." #: src/tags.cpp:491 msgid "Samples per Pixel" msgstr "Muestras por pixel" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" "El número de componentes por pixel. Desde que este estándar se aplica a " "imágenes RGB e YCbCr, el valor de esta etiqueta es 3. En JPEG comprimidos se " "utiliza un marcador JPEG en vez de esta etiqueta." #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "Filas por tira" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" "La cantidad de filas por tira. Esta es la cantidad de filas en la imagen de " "una tira cuando se divide a la imagen en tiras. En JPEG comprimidos esto no " "es necesario y se omite. Vea también y ." #: src/tags.cpp:502 msgid "Strip Byte Count" msgstr "Cantidad de bytes por tira" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" "La cantidad total de bytes en cada tira. Innecesaria y se omite en datos " "comprimidos JPEG." #: src/tags.cpp:506 msgid "X-Resolution" msgstr "Resolución X" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" "La cantidad de píxeles por en la dirección . " "Cuando se desconoce la resolución de una imagen, se utilizan 72 [dpi]." #: src/tags.cpp:510 msgid "Y-Resolution" msgstr "Resolución Y" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" "La cantidad de pixels por en la dirección . Se " "utiliza el mismo valor que ." #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" "Indica si los componentes de pixel se graban en formato planar o por trozos. " "En datos comprimidos JPEG se utiliza un marcador JPEG en vez de esta " "etiqueta. Si este campo no existe, se asume el predeterminado de TIFF, 1 " "(por trozos)." #: src/tags.cpp:520 msgid "Gray Response Unit" msgstr "Unidad de respuesta de grises" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "Precisión de la información contenida en GrayResponseCurve. " #: src/tags.cpp:523 msgid "Gray Response Curve" msgstr "Curva de respuesta de grises" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "" "Densidad óptica de cada posible valor del pixel con datos en escala de grís." #: src/tags.cpp:526 msgid "T4 Options" msgstr "Opciones T4" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "T.4-Opciones de codificación." #: src/tags.cpp:529 msgid "T6 Options" msgstr "Opciones T6" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "T.6-Opciones de codificación." #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" "La unidad para medir tanto como (Es la misma " "para ambas). Si la resolución de la imagen se desconoce, se designa 2 " "(pulgadas)." #: src/tags.cpp:537 msgid "Page Number" msgstr "" #: src/tags.cpp:538 msgid "The page number of the page from which this image was scanned." msgstr "Numero de pagina desde el que se ha escaneado ésta imágen" #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" "Una función de transferencia para la imagen, descripta en forma tabular. " "Normalmente esta etiqueta no es necesaria, ya que el espacio de color se " "especifica en la etiqueta de información de espacio de color ()." #: src/tags.cpp:546 msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" "Esta etiqueta registra el nombre y la versión del software o firmware de la " "cámara o dispositivo de entrada de imagen usado para generar la imágen. No " "se especifica el formato detallado, pero se recomienda que se siga el " "ejemplo mostrado debajo. Tratado como desconocido si el campo se deja en " "blanco." #: src/tags.cpp:553 msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" "La fecha y hora de la creación de la imagen. En el estándar Exif es la fecha " "y hora en la que cambió el archivo." #: src/tags.cpp:557 msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" "Esta etiqueta registra el nombre del dueño de la cámara, fotógrafo o creador " "de la imagen. No se especifica el formato detallado, pero se recomienda que " "se escriba la información en como en el ejemplo de abajo para facilitar la " "inter-operabilidad. Cuando el campo se deja en blanco, se trata como " "desconocido. P.e. \"Propietario de la cámara, Pedro López, Juan Amor; " "fotógrafo, Miguel Moreno; creador de la imagen, Luis Téllez\"" #: src/tags.cpp:564 msgid "Host Computer" msgstr "Equipo anfirtrión" #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" "Esta etiqueta guarda información sobre la computadora huesped usada para " "generar la imágen." #: src/tags.cpp:568 msgid "Predictor" msgstr "Predictor" #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" "Operador matemático aplicado a la imagen antes de que se aplique un sistema " "de codificación." #: src/tags.cpp:573 msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" "La cromaticidad del punto blanco de la imagen. Normalmente esta etiqueta no " "es necesaria ya que el espacio de color se especifica en la etiqueta de " "información del espacio de color ()." #: src/tags.cpp:578 msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" "La cromaticidad de los tres colores primarios de la imagen. Innecesaria " "normalmente, ya que el espacio de color se especifica en la etiqueta de " "información del espacio de color ()." #: src/tags.cpp:582 msgid "Color Map" msgstr "Mapa de color" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" "Mapa de colores para las imágenes con paleta de color. Este campo define un " "mapa de colores RGB (normalmente llamada tabla de búsqueda) para este tipo " "de imágenes. En una imagen con paleta de color, se usa el valor de un píxel " "para indexar el mapa de colores." #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "Consejos de semitono" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" "El propósito del campo HalftoneHints es transmitir a la función de medios " "tonos la gama de niveles de gris en una imagen colorimétricamente " "especificada que debe conservar los detalles tonales." #: src/tags.cpp:593 msgid "Tile Width" msgstr "Ancho de celda" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "" "El ancho del mosaico en píxeles, es el número de columnas en cada mosaico" #: src/tags.cpp:596 msgid "Tile Length" msgstr "Longitud de celda" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "" "La altura del mosaico en píxeles, es el número de filas en cada mosaico" #: src/tags.cpp:599 msgid "Tile Offsets" msgstr "Desplazamientos de celda" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" "Byte de desplazamiento para cada celda comprimido y guardado en disco. El " "desplazamiento se especifica con respecto al inicio del archivo TIFF. Cabe " "tener en cuenta que cada celda está localizada independientemente del resto." #: src/tags.cpp:605 msgid "Tile Byte Counts" msgstr "Cuenta de bytes de celda" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" "Número de bytes (comprimidos) en cada celda. Ver TileOffsets " "(desplazamientos de celda) para obtener una descripción de cómo se ordenan " "las cuentas de byte." #: src/tags.cpp:609 msgid "SubIFD Offsets" msgstr "Compensaciones subIFD" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "" "Definido por Adobe Corporation para activar árboles TIFF dentro de archivos " "TIFF." #: src/tags.cpp:612 msgid "Ink Set" msgstr "Conjunto de tintas" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "" "The set de tintas usadas en una imagen (PhotometricInterpretation=5) " "separada." #: src/tags.cpp:615 msgid "Ink Names" msgstr "Nombres de tinta" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "" "El nombre de cada tinta usada en una imagen (interpretación fotométrica=5) " "separada." #: src/tags.cpp:618 msgid "Number Of Inks" msgstr "Número de tintas" #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" "El número de tintas. Habitualmente igual a muestras por píxel, salvo que son " "muestras extra." #: src/tags.cpp:621 msgid "Dot Range" msgstr "Rango de puntos" #: src/tags.cpp:622 #, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "Los valores de los componentes que corresponden al 0% dot y 100% dot." #: src/tags.cpp:624 msgid "Target Printer" msgstr "Impresora objetivo" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "" "Una descripción del entorno de impresión para la que esta separación " "pretende." #: src/tags.cpp:627 msgid "Extra Samples" msgstr "Más ejemplos" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" "Especifica que cada píxel tiene m componentes extra cuya interpretación está " "definida por uno de los valores listados más abajo." #: src/tags.cpp:631 msgid "Sample Format" msgstr "Formato de ejemplo" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "Especifica como interpretar cada dato de muestra en un pixel" #: src/tags.cpp:634 msgid "SMin Sample Value" msgstr "Valor de muestra SMin" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "Especifica el valor mínimo de muestra" #: src/tags.cpp:637 msgid "SMax Sample Value" msgstr "Valor de muestra SMax" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "Especifica el valor máximo de muestra" #: src/tags.cpp:640 msgid "Transfer Range" msgstr "Rango de transferencia" #: src/tags.cpp:641 msgid "Expands the range of the TransferFunction" msgstr "Expande el rango de la función TransferFunction" #: src/tags.cpp:643 msgid "Clip Path" msgstr "Ruta de recorte" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" "Una ruta ClipPath TIFF sirve para reflejar las funcionalidades esenciales de " "la creación de rutas PostScript." #: src/tags.cpp:647 msgid "X Clip Path Units" msgstr "Unidades para el eje x Clip Path" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" "El número de unidades que abarca la anchura de la imagen, en términos de " "coordenadas enteras de ClipPath." #: src/tags.cpp:651 msgid "Y Clip Path Units" msgstr "Unidades para el eje y Clip Path" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "" "Número de unidades que abarcan la altura de la imagen, en términos de " "coordenadas enteras de ClipPath." #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" "Imágenes indexadas son imágenes donde los «píxeles» no representan valores " "de color, sino más bien el índice (habitualmente 8-bit) en una tabla de " "colores separada, el mapa de colores." #: src/tags.cpp:660 msgid "JPEG tables" msgstr "Tablas JPEG" #: src/tags.cpp:661 msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "Proxy OPI" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" "OPIProxy proporciona información referente a si la imagen es un proxy de " "baja resolución de una imagen de alta resolución (Adobe OPI)." #: src/tags.cpp:668 msgid "JPEG Process" msgstr "Proceso JPEG" #: src/tags.cpp:669 msgid "This field indicates the process used to produce the compressed data" msgstr "Este campo indica el proceso usado para producir los datos comprimidos" #: src/tags.cpp:671 msgid "JPEG Interchange Format" msgstr "Formato de intercambio de JPEG" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" "El desplazamiento del byte de comienzo (SOI) de los datos comprimidos de la " "diapositiva JPEG. Esto no se utiliza para los datos primarios de imagen JPEG." #: src/tags.cpp:675 msgid "JPEG Interchange Format Length" msgstr "Longitud del formato de intercambio de JPEG" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" "La cantidad de bytes de datos comprimidos de diapositiva JPEG. Esto no se " "utiliza para los datos primarios JPEG. Las diapositivas JPEG no se dividen " "sino que se graban como un flujo de bits contínuo desde SOI hasta EOI. No se " "deberían registrar marcadores Appn y COM. Las diapositivas comprimidas " "deberían grabarse en no más de 64 Kbytes, incluyendo todos los otros datos a " "grabar en APP1." #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "Intervalo de reinicio JPEG" #: src/tags.cpp:684 msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "" "Este campo indica la longitud del intervalo de reinicio utilizado en los " "datos de imagen comprimida." #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "Predictores JPEG sin pérdida" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" "Este campo apunta a una lista de selección de valores para el predictor sin " "pérdida, uno por componente." #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "Transformaciones de punto JPEG" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "" "Este campo apunta a una lista de valores de transformación de punto, uno por " "componente." #: src/tags.cpp:694 msgid "JPEG Q-Tables" msgstr "" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" "Este campo apunta a una lista de desplazamientos para las tablas de " "cuantificación, uno por componente." #: src/tags.cpp:698 msgid "JPEG DC-Tables" msgstr "" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" "Este campo apunta a una lista de compensaciones a las tablas Huffman AC o a " "las tablas Huffman sin pérdidas, una por componente." #: src/tags.cpp:702 msgid "JPEG AC-Tables" msgstr "" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" "Este campo apunta a una lista de posiciones en las tablas Huffman AC, una " "por componente." #: src/tags.cpp:707 msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" "Los coeficientes de la matriz para transformar los datos de RGB a YCbCr. En " "TIF no se proporcionan valores por defecto pero aquí se toma el valor dado " "en el Apéndice E, \"Color Space Guidelines\" como predeterminado. El espacio " "de color se declara en una etiqueta de información del espacio de color, " "tomando como predeterminado el que dé las características óptimas de inter-" "operabilidad para la imagen." #: src/tags.cpp:715 msgid "YCbCr Sub-Sampling" msgstr "Sub-muestreo YCbCr" #: src/tags.cpp:716 msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "La relación de muestreo de los componentes de crominancia en relación con el " "componente de luminancia. En datos comprimidos JPEG se utiliza un marcador " "JPEG en vez de esta etiqueta." #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" "La posición de los componentes de crominancia en relación con el de " "luminancia. Este campo se designa solo para JPG comprimidos o datos no " "comprimidos YCbCr. El valor predeterminado TIFF es 1 (centrado); pero cuando " "Y:Cb:Cr = 4:2:2 se recomienda en este estándar que se utilice 2 (co-sitiado) " "para registrar los datos, para mejorar la calidad de la imagen cuando se ve " "en sistemas de TV. Cuando este campo no existe, el lector deberá asumir el " "predeterminado TIFF. En caso que Y:Cb:Cr = 4:2:0, se recomienda el " "predeterminado TIFF (centrado). Si el lector no tiene la capacidad de " "soportar ambos tipos de , debería seguir el predeterminado " "TIFF sin importar el valor de este campo. Es preferible que los lectores " "puedan soportar el posicionamiento centrado y co-sitiado." #: src/tags.cpp:735 msgid "Reference Black/White" msgstr "Referencia Blanco/Negro" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" "El valor de referencia de los puntos blanco y negro. En TIFF no se dan " "predeterminados, pero los valores de abajo se dan como predeterminados aquí. " "El espacio de color se declara en una etiqueta de información de espacio de " "color, siendo el valor predeterminado aquel que da las características de " "inter-operabilidad óptimas para la imagen." #: src/tags.cpp:743 msgid "XML Packet" msgstr "Paquete XML" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "Metadatos XMP (Adobe nota técnica 9-14-02)" #: src/tags.cpp:746 msgid "Windows Rating" msgstr "Calificación de Ventanas" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "Etiqueta de popularidad usada por Windows" #: src/tags.cpp:749 msgid "Windows Rating Percent" msgstr "Porcentaje de popularidad de Windows" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "Etiqueta de popularidad usada por Windows, valor en porcentaje" #: src/tags.cpp:752 msgid "Image ID" msgstr "ID de imagen" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" "ImageID es la ruta completa de la imagen original en alta resolución o " "cualquier otra cadena de identificación que identifique la imagen original " "unívocamente (Adobe OPI)." #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "Dimensión de patrón de repetición CFA" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" "Contiene dos valores representando las filas y columnas mínimas para definir " "los patrones repitientes de la matriz de filtro de color" #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" "Indica el patrón geométrico del CFA (vector de filtros de color) del sensor " "de imagen cuando se utiliza un sensor monochip de área de color. No implica " "a todos los métodos de detección." #: src/tags.cpp:770 msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" "Información del Copyright. En este estándar la etiqueta se utiliza para " "indicar tanto el copyright del fotógrafo como el del editor. Es la nota de " "copyright de la persona u Organización que reclama derechos sobre la imagen. " "En este campo debería escribirse la declaración de copyrtight de inter-" "operabilidad, incluyendo la fecha y los derechos; ej: \"Copyright, Juan " "Perez, 20xx. Todos los derechos reservados.\" En este estándar el campo " "registra tanto al copyright del fotógrafo como el del editor, con cada uno " "registrado en una parte separada de la declaración. Cuando hay una " "distinción clara entre ambos copyrights, primero debería escribirse el del " "fotógrafo seguido por el del editor, separados por NULL (en este caso, " "debido a que la declaración también termina con un NULL, hay dos códigos " "NULL) (vea el ejemplo 1). Cuando se da sólo el del fotógrafo, está terminado " "por un código NULL (vea el ejemplo 2). Cuando se da sólo el del editor, la " "parte del copyright del fotógrafo consiste de un espacio seguido de un " "código de terminación NULL, luego se da el copyright del editor (vea el " "ejemplo 3). Cuando el campo se deja en blanco, se trata como desconocido." #: src/tags.cpp:789 msgid "Exposure time, given in seconds." msgstr "Tiempo de exposición, en segundos." #: src/tags.cpp:790 src/tags.cpp:1553 msgid "The F number." msgstr "El número F." #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "IPTC/NAA" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "Contiene un registro IPTC/NAA" #: src/tags.cpp:794 msgid "Image Resources Block" msgstr "Bloque de recursos de imagen" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "Contiene información embebida por la aplicación Adobe Photoshop" #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" "Un puntero al IFD Exif. Inter-operabilidad, el IFD Exif tiene la misma " "estructura que la del IFD especificado en TIFF. Sin embargo, por lo común, " "no contiene datos de imagen como en el caso de TIFF." #: src/tags.cpp:803 msgid "Inter Color Profile" msgstr "Perfil Inter color" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" "Contiene una caracterización o perfil de un formato de espacio de color del " "Consorcio InterColor (ICC)" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" "La clase de programa utilizado por la cámara para ajustar la exposición " "cuando se toma la foto." #: src/tags.cpp:807 msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "Indica la sensibilidad espectral de cada canal de la cámara utilizado." #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" "Un puntero al GPS Info IFD. La estructura de inter-operabilidad del GPS Info " "IFD, como la del IFD Exif, no tiene datos de imagen." #: src/tags.cpp:813 src/tags.cpp:1564 msgid "ISO Speed Ratings" msgstr "Velocidad ISO" #: src/tags.cpp:813 src/tags.cpp:1565 msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" "Indica la velocidad ISO y la latitud ISO de la cámara o dispositivo de " "entrada como se especifica en ISO 12232." #: src/tags.cpp:814 msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" "Indica la función de conversión optoelectrónica (OECF) especificada en ISO " "14524." #: src/tags.cpp:815 msgid "Interlace" msgstr "Entrelazar" #: src/tags.cpp:815 msgid "Indicates the field number of multifield images." msgstr "Indica el número de campo de imágenes multicampo." #: src/tags.cpp:816 msgid "Time Zone Offset" msgstr "Diferencia de la franja horaria" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" "Esta etiqueta opcional codifica la zona horaria del reloj de la cámara " "(relativo al tiempo medio de Greenwich) utilizado para crear el valor de la " "etiqueta DataTimeOriginal cuando se tomó la imagen. Puede contener también " "el desplazamiento de la zona horaria del reloj usado para crear el valor de " "etiqueta DataTime cuando la imagen se modificó." #: src/tags.cpp:823 msgid "Self Timer Mode" msgstr "Modo de disparo automático" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "" "Número de segundos que la captura de imagen fue retrasada desde la presión " "del botón." #: src/tags.cpp:824 msgid "Date Time Original" msgstr "Hora y fecha originales" #: src/tags.cpp:824 msgid "The date and time when the original image data was generated." msgstr "Fecha y hora en la que se generaron los datos de la imagen original" #: src/tags.cpp:825 msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "" "Específico para datos comprimidos; declara los bits comprimidos por píxel." #: src/tags.cpp:826 msgid "Shutter speed." msgstr "Velocidad de obturación." #: src/tags.cpp:827 msgid "The lens aperture." msgstr "La apertura de la lente." #: src/tags.cpp:828 msgid "The value of brightness." msgstr "Valor del brillo." #: src/tags.cpp:829 msgid "The exposure bias." msgstr "El sesgo de exposición." #: src/tags.cpp:830 src/tags.cpp:1645 msgid "Max Aperture Value" msgstr "Valor máximo de apertura" #: src/tags.cpp:830 msgid "The smallest F number of the lens." msgstr "El menor número F de la lente." #: src/tags.cpp:831 src/tags.cpp:1651 msgid "The distance to the subject, given in meters." msgstr "La distancia al sujeto, dada en metros." #: src/tags.cpp:832 src/tags.cpp:1654 msgid "The metering mode." msgstr "El modo de la métrica." #: src/tags.cpp:833 src/tags.cpp:1657 msgid "The kind of light source." msgstr "El tipo de fuente de luz." #: src/tags.cpp:834 msgid "Indicates the status of flash when the image was shot." msgstr "Indica el estado del flash cuando se tomó la imagen." #: src/tags.cpp:835 msgid "The actual focal length of the lens, in mm." msgstr "La distancia focal real de la lente, en mm." #: src/tags.cpp:836 msgid "Amount of flash energy (BCPS)." msgstr "Cantidad de energía del flash (BCPS)." #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "SFR de la cámara" #: src/tags.cpp:838 msgid "Noise" msgstr "Ruido" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "Valores de medida del ruido." #: src/tags.cpp:839 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" "Número de píxeles por FocalPlaneResolutionUnit (37392) en la dirección " "ImageWidth para la imagen principal." #: src/tags.cpp:840 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" "Número de píxeles por FocalPlaneResolutionUnit (37392) en la dirección " "ImageLength para la imagen principal." #: src/tags.cpp:841 msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" "Unidad de medida para resolución de plano focal X (37390) y resolución de " "plano focal Y (37391)." #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "" "Número asignado a una imagen, por ejemplo, en una sucesión de imágenes " "encadenadas." #: src/tags.cpp:843 msgid "Security Classification" msgstr "Clasificación de seguridad" #: src/tags.cpp:843 msgid "Security classification assigned to the image." msgstr "Clasificación de seguridad asignada a la imagen." #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "Registro de todos los cambios que se han realizado en la imagen." #: src/tags.cpp:845 msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "Indica la ubicación y área del tema principal en la escena general." #: src/tags.cpp:846 msgid "Encodes the camera exposure index setting when image was captured." msgstr "" "Codifica el valor del índice de exposición de la cámara en el momento de " "toma de la imagen." #: src/tags.cpp:847 msgid "TIFF/EP Standard ID" msgstr "ID estándar de TIFF/EP" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" "Contiene cuatro caracteres ASCII representando el estándar TIFF/EP del " "archivo TIFF/EP , p.e '1', '0', '0', '0'" #: src/tags.cpp:851 msgid "Type of image sensor." msgstr "Tipo de sensor de imagen." #: src/tags.cpp:852 msgid "Windows Title" msgstr "Título Windows" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "Etiqueta de título usada por Windows, codificada en UCS2" #: src/tags.cpp:855 msgid "Windows Comment" msgstr "Comentario windows" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "Etiqueta de comentario usada por Windows, codificada en UCS2" #: src/tags.cpp:858 msgid "Windows Author" msgstr "Autor Windows" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "Etiqueta de autor usada por Windows, codificada en UCS2" #: src/tags.cpp:861 msgid "Windows Keywords" msgstr "Palabras clave de Windows" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "Palabras clave usadas por Windows, codificadas en UCS2" #: src/tags.cpp:864 msgid "Windows Subject" msgstr "Tema Windows" #: src/tags.cpp:865 msgid "Subject tag used by Windows, encoded in UCS2" msgstr "Etiqueta de sujeto usada por Windows, codificada en UCS2" #: src/tags.cpp:867 msgid "Print Image Matching" msgstr "Imprimir imagen coincidente" #: src/tags.cpp:868 msgid "Print Image Matching, description needed." msgstr "Imprimir imagen coincidente, descripción necesaria." #: src/tags.cpp:870 msgid "DNG version" msgstr "Versión DNG" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" "Esta etiqueta codifica el número de versión four-tier de DNG. Para archivos " "compatibles con la versión 1.1.0.0 de la especificación DNG, esta etiqueta " "debe contener los bytes: 1, 1, 0, 0." #: src/tags.cpp:875 msgid "DNG backward version" msgstr "Versión anterior DNG" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" "Esta etiqueta muestra la versión más antigua de la especificación Digital " "Negative para la que el archivo es compatible. Los lectores no deben " "intentar leer un archivo si esta etiqueta especifica un número de versión " "superior al suyo. Además de comprobar las etiquetas de versión, los lectores " "deben comprobar los tipos, cuentas y valores de cada etiqueta para verificar " "que son capaces de leer correctamente el archivo." #: src/tags.cpp:884 msgid "Unique Camera Model" msgstr "Modelo de cámara único" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" "Define un nombre único y sin localización para el modelo de cámara que creó " "la imagen en formato raw. Este nombre debe incluir el nombre del fabricante " "para evitar conflictos y debe no ser local, aunque el propio nombre de la " "cámara se haya cambiado para los diferentes mercados (ver " "LocalizedCameraModel). Esta cadena puede ser usada por el software de " "lectura para indexar por preferencias de modelo y perfiles de reemplazo." #: src/tags.cpp:892 msgid "Localized Camera Model" msgstr "Modelo de cámara localizado" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" "Similar al campo modelo único de cámara, salvo que el nombre se puede " "localizar para diferentes mercados para hacer coincidir la localización del " "nombre de la cámara." #: src/tags.cpp:897 msgid "CFA Plane Color" msgstr "Color plano CFA" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" "Proporciona una asignación entre los valores en la etiqueta CFAPattern y los " "números de plano en el espacio LinearRaw. Es una etiqueta obligatoria para " "las imágenes CFA que no estén en formato RGB." #: src/tags.cpp:902 msgid "CFA Layout" msgstr "Disposición CFA" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "Describe la disposición espacial del CFA." #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" "Describe una paleta de colores que asigna los valores guardados a valores " "lineales. Se utiliza para incrementar la compresión mediante el " "almacenamiento de los datos en crudo en un espacio no lineal y más uniforme " "de manera visual, pero con menos niveles de cuantificación en total. Si " "SamplesPerPixel no equivale a uno, esta tabla se aplica a todas las muestras " "de cada píxel." #: src/tags.cpp:912 msgid "Black Level Repeat Dim" msgstr "Nivel oscuro de repeticion DIM" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "" "Especifica el patrón de tamaño de repetición para la etiqueta de niveles de " "negro." #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" "Especifica el nivel de codificación de luz cero (o negro térmico o negro " "actual) como un patrón que se repite. Su origen está en la esquina superior " "izquierda del rectángulo del ActiveArea. Los valores se guardan en orden de " "escaneo fila-columna-muestra." #: src/tags.cpp:921 msgid "Black Level Delta H" msgstr "Nivel negro delta H" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" "Si el nivel de codificación de luz cero es función de la columna de la " "imagen, BlackLevelDeltaH especifica la diferencia entre el nivel de " "codificación de luz cero para cada columna y el nivel de codificación de luz " "cero base. Si SamplesPerPixel no equivale a uno, esta tabla se aplica a " "todas las muestras de cada píxel." #: src/tags.cpp:928 msgid "Black Level Delta V" msgstr "Nivel negro delta V" #: src/tags.cpp:929 msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" "Si el nivel de codificación de luz cero es función de la fila de la imagen, " "BlackLevelDeltaH especifica la diferencia entre el nivel de codificación de " "luz cero para cada fila y el nivel de codificación de luz cero base. Si " "SamplesPerPixel no equivale a uno, esta tabla se aplica a todas las muestras " "de cada píxel." #: src/tags.cpp:935 msgid "White Level" msgstr "Nivel blanco" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" "Esta etiqueta especifica el nivel de codificación de saturación total para " "los valores de muestra en crudo. La saturación es causa de que el sensor " "está en una zona de respuesta no lineal, o por el recorte del conversor " "analógico-digital de la cámara." #: src/tags.cpp:941 msgid "Default Scale" msgstr "Escala predeterminada" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" "DefaultScale es necesaria para cámaras con píxeles no cuadrados. Especifica " "los factores de escala predeterminados para cada dirección necesarios para " "obtener una imagen con cuadrados. Típicamente se seleccionan para preservar " "el número total de píxeles (aproximadamente). Para imágenes CFA que usan la " "CFALayout de a 2, 3, 4, o 5, tales como el SuperCCD Fujifilm, estos dos " "valores deben diferir habitualmente por un factor de 2,0." #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "Origen predeterminado de recorte" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" "Las imágenes en crudo a veces almacenan píxeles extra alrededor de los " "bordes de la imagen final. Estos píxeles extra ayudan a prevenir artificios " "de interpolación cerca de los bordes. DefaultCropOrigin especifica el origen " "del área de la imagen final, en coordenadas de imagen en crudo (por ejemplo, " "antes de aplicar DefaultScale), relativas a la esquina superior izquierda " "del rectángulo de ActiveArea." #: src/tags.cpp:957 msgid "Default Crop Size" msgstr "Tamaño de recorte predeterminado" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" "Las imágenes raw a veces almacenan píxeles extra alrededor de los bordes de " "la imagen final. Estos píxeles extra ayudan a prevenir artefactos de " "interpolación cerca de los bordes de la imagen final. El origen del tamaño " "predeterminado especifica el tamaño de final del área de imagen, en " "coordenadas de imagen raw (es decir, antes de que se aplique la escala " "predeterminada)." #: src/tags.cpp:964 msgid "Color Matrix 1" msgstr "Matriz de color 1" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" "ColorMatrix1 define una matriz de transformación que convierte valores XYZ " "para referenciar valores del espacio de color nativo de la cámara, bajo el " "iluminante de primera calibración. Los valores de la matriz son almacenados " "en orden de escaneado por filas. La etiqueta ColorMatrix1 es necesaria para " "todos los archivos DNG no monocromos." #: src/tags.cpp:971 msgid "Color Matrix 2" msgstr "Matriz de color 2" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" "La matriz de colores 2 define una matriz de transformación que convierte " "valores XYZ para referenciar valores del espacio de colores nativos de la " "cámara, bajo el iluminante de primera calibración. Los valores de la matriz " "son almacenados en fila en orden de escaneado." #: src/tags.cpp:977 msgid "Camera Calibration 1" msgstr "Calibración de la cámara 1" #: src/tags.cpp:978 #, fuzzy msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" "CameraCalibration1 define una matriz de calibración que transforma los " "valores del espacio nativos de la cámara de referencia a valores del " "espacio nativos de la cámara individuales bajo el iluminante de primera " "calibración. La matriz se almacena en orden de escaneo por fila. Se almacena " "separadamente de la matriz especificada por la etiqueta ColorMatrix1 para " "permitir a los conversores en crudo intercambiar en matrices de reemplazo de " "color basadas en la etiqueta UniqueCameraModel, mientras se aprovecha de " "cualquier calibración individual de cámara realizada por el fabricante." #: src/tags.cpp:987 msgid "Camera Calibration 2" msgstr "Calibración de la cámara 2" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" "CameraCalibration2 define una matriz de calibración que transforma los " "valores del espacio nativos de la cámara de referencia a valores del " "espacio nativos de la cámara individuales bajo el iluminante de segunda " "calibración. La matriz se almacena en orden de escaneo por fila. Se almacena " "separadamente de la matriz especificada por la etiqueta ColorMatrix2 para " "permitir a los conversores en crudo intercambiar en matrices de reemplazo de " "color basadas en la etiqueta UniqueCameraModel, mientras se aprovecha de " "cualquier calibración individual de cámara realizada por el fabricante." #: src/tags.cpp:997 msgid "Reduction Matrix 1" msgstr "Matriz de reducción 1" #: src/tags.cpp:998 msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" "ReductionMatrix1 define una matriz de reducción de dimensión para usarla " "como primer paso en la conversión de valores del espacio nativos de la " "cámara de color a valores XYZ, bajo el iluminante de primera calibración. " "Esta etiqueta se puede usar solamente si ColorPlanes es mayor a tres. La " "matriz se almacena en orden de escaneo por filas." #: src/tags.cpp:1004 msgid "Reduction Matrix 2" msgstr "Matriz de reducción 2" #: src/tags.cpp:1005 msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" "ReductionMatrix2 define una matriz de reducción de dimensión para usarla " "como primer paso en la conversión de valores del espacio nativos de la " "cámara de color a valores XYZ, bajo el iluminante de segunda calibración. " "Esta etiqueta se puede usar solamente si ColorPlanes es mayor a tres. La " "matriz se almacena en orden de escaneo por filas." #: src/tags.cpp:1011 msgid "Analog Balance" msgstr "Balance analógico" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" "Los valores en crudo almacenados no suelen tener balance de blancos, dado " "que cualquier balance de blancos digital reduce el rango dinámico de la " "imagen final si el usuario decide ajustar posteriormente el balance de " "blancos; sin embargo, si el hardware de la cámara es capaz de realizar el " "balance de blancos a los canales de colores antes de que la señal sea " "digitalizada, puede mejorar el rango dinámico de la imagen final. " "AnalogBalance define la ganancia, tanto analógica (recomendada) como digital " "(no recomendada) que han sido aplicadas a los valores en crudo almacenados." #: src/tags.cpp:1021 msgid "As Shot Neutral" msgstr "Como disparo neutral" #: src/tags.cpp:1022 msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" "Especifica el balance de blancos seleccionado en el momento de la captura, " "codificado como las coordenadas de un color perfectamente neutral en valores " "del espacio de referencia lineal. La inclusión de esta etiqueta excluye la " "etiqueta AsShotWhiteXY." #: src/tags.cpp:1027 msgid "As Shot White XY" msgstr "" #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" "Especifica el balance de blancos en el momento de la captura, codificado " "como coordenadas cromáticas x-y. La inclusión de esta etiqueta se opone a la " "inclusión de la etiqueta AsShotNeutral." #: src/tags.cpp:1032 msgid "Baseline Exposure" msgstr "Linea base de Exposicion" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" "Los modelos de cámara varían en el intercambio que hacen entre resaltar " "entre la iluminación de cabecera y ruido en la sombra. Algunas dejan una " "cantidad significante de luz de cabecera durante una exposición normal. Esto " "permite que se apliquen compensaciones de exposición negativa durante la " "conversión raw, pero además significa que las exposiciones normales " "contendrán más ruido de sombra. Otros modelos dejan menos cabecera durante " "exposiciones normales. Esto permite menor compensación de exposición " "negativa, pero resulta en menor ruido de sombra para exposiciones normales. " "Debido a estas diferencias, un conversor raw necesita variar el punto de " "origen de su control de compensación de exposición de modelo en modelo. La " "exposición de línea de base especifica cuánto (en unidades EV) mover el " "origen. Los valores positivos derivan en resultados por defecto más " "brillantes, mientras que los valores negativos derivan en resultados más " "oscuros por defecto." #: src/tags.cpp:1047 msgid "Baseline Noise" msgstr "Linea base de ruido" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" "Especifica el nivel de ruido relativo del modelo de cámara en la línea de " "base de ISO de valor 100, comparado con un modelo de cámara de referencia. " "Dado que los niveles de ruido tienden a variar aproximadamente con la raíz " "del valor ISO, un conversor en crudo puede usar esta variable, combinada con " "la ISO actual, para estimar el nivel relativo de ruido de la imagen actual." #: src/tags.cpp:1054 msgid "Baseline Sharpness" msgstr "" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" "Especifica la cantidad relativa de enfoque necesario para el modelo de " "cámara, comparado con un modelo de referencia. Las intensidades de los " "filtros anti-aliasing varían de unos modelos de cámara a otros. Las cámaras " "sin filtro o con filtro débil necesitan menos enfoque que las cámaras con " "filtros anti-aliasing fuertes." #: src/tags.cpp:1061 msgid "Bayer Green Split" msgstr "" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" "Solo aplica a imágenes CFA usando una matriz de filtros de patrón Bayer. " "Esta etiqueta especifica, en unidades arbitrarias, cómo de cercanos los " "valores de los píxeles verdes en las filas azul/verde siguen los valores de " "los píxeles verdes en las filas rojas/verdes. Un valor de cero significa que " "los dos tipos de píxeles verdes siguen cercanos, mientras que un valor " "distinto de cero significa que a veces divergen. El rango útil de esta " "etiqueta va de 0 (no hay divergencia) a unos 5000 (gran divergencia)." #: src/tags.cpp:1070 msgid "Linear Response Limit" msgstr "Límite de respuesta lineal" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" "Algunos sensores tienen una respuesta no lineal impredecible a medida que se " "aproximan al límite superior de su rango de codificación. Como consecuencia " "suceden cambios de color en las áreas destacadas de la imagen resultante, a " "no ser que el conversor raw compense este efecto. LinearResponseLimit " "especifica la fracción del rango de codificación sobre la cual la respuesta " "puede ser no lineal." #: src/tags.cpp:1079 msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" "CameraSerialNumber contiene el número de serie de la cámara o cuerpo de " "cámara empleado para tomar la imagen." #: src/tags.cpp:1082 msgid "Lens Info" msgstr "Información de la lente" #: src/tags.cpp:1083 msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" "Contiene información sobre la lente empleada para tomar la imagen. Si se " "desconoce el valor mínimo de pasos F, debería ser codificado como 0/0." #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "Radio del desenfoque de croma" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" "ChromaBlurRadius proporciona una idea al lector DNG sobre cuanta " "difuminación de croma debe aplicarse a la imagen. Si la etiqueta se omite, " "el lector usará la cantidad predeterminada de difuminación de croma. " "Normalmente esta etiqueta esta solo incluida para imágenes no CFA, desde que " "la cantidad de difuminación de croma requerida para imágenes mosaicas es " "altamente dependiente de algoritmos de mosaico, en cuyo caso el valor " "predeterminado del lector de DNG está como optimizado para ese algoritmo de " "mosaico." #: src/tags.cpp:1095 msgid "Anti Alias Strength" msgstr "Intensidad de anti alias" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" "Proporciona una idea al lector DNG sobre qué tan fuerte es el filtro " "antialias de su cámara. Un valor de 0,0 significa sin filtro anti-aliasing " "(por ejemplo, la cámara es propensa a defectos de aliasing con algunos " "sujetos), mientras que un valor de 1,0 significa un fuerte filtro anti-" "aliasing (por ejemplo, la cámara casi nunca tiene defectos de aliasing)." #: src/tags.cpp:1102 msgid "Shadow Scale" msgstr "Escala de sombras" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" "Esta etiqueta la emplea Adobe Camera Raw para controlar la sensibilidad de " "la barra deslizante de «Sombras»." #: src/tags.cpp:1106 msgid "DNG Private Data" msgstr "Datos privados DNG" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" "Proporciona a los fabricantes de cámaras una manera de guardar datos " "privados en el archivo DNG para ser usado en sus propios convertidores de " "imágenes en bruto, y que los programas que editan archivos DNG preserven " "dichos datos." #: src/tags.cpp:1111 msgid "MakerNote Safety" msgstr "" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" "MakerNoteSafety permite al lector DNG saber si la etiqueta EXIF MakerNote es " "segura como para guardar junto al resto de datos EXIF. Navegadores de " "archivos y otro software de administración de imágenes procesando una imagen " "con un MakerNote guardado, deben estar prevenidos de que cualquier imagen en " "miniatura empotrada en el MarkerNote puede estar desfasada, y no reflejar el " "estado actual de la imagen a tamaño completo." #: src/tags.cpp:1119 msgid "Calibration Illuminant 1" msgstr "Calibración de fuente luminosa 1" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" "La fuente luminosa empleada por el primer conjunto de etiquetas de " "calibración de color (ColorMatrix1, CameraCalibration1, ReductionMatrix1). " "Los valores válidos para esta etiqueta son los mismos que los valores " "válidos para la etiqueta EXIF LightSource." #: src/tags.cpp:1125 msgid "Calibration Illuminant 2" msgstr "Calibración de fuente luminosa 2" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" "La fuente luminosa empleada para un segundo conjunto (opcional) de etiquetas " "de calibración de color (ColorMatrix2, CameraCalibration2, " "ReductionMatrix2). Los valores válidos para esta etiqueta son los mismos que " "los valores válidos para la etiqueta CalibrationIlluminant1; sin embargo, si " "ambas etiquetas son empleadas, ninguna puede tener un valor de cero " "(desconocido)." #: src/tags.cpp:1132 msgid "Best Quality Scale" msgstr "Escala de mejor calidad" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" "En algunas cámaras, la mejor calidad de imagen posible no se obtiene " "preservando la cuenta total de píxeles durante la conversión. Por ejemplo, " "las imágenes SuperCCD de Fujifilm tienen un detalle máximo cuando se duplica " "su cuenta total de píxeles. Esta etiqueta especifica la cantidad por la que " "se necesita multiplicar los valores de la etiqueta DefaultScale para obtener " "el tamaño de imagen de mejor calidad." #: src/tags.cpp:1140 msgid "Raw Data Unique ID" msgstr "ID único de datos en bruto" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" "Esta etiqueta contiene un identificador único de 16 octetos para la imagen " "en bruto del archivo DNG. Los lectores DNG pueden utilizar esta etiqueta " "para reconocer una imagen en crudo en particular, aún si el nombre del " "archivo o los metadatos contenidos en el mismo han sido modificados. Si un " "grabador DNG crea tal identificador, debería hacerlo usando un algoritmo que " "se asegure de que es muy improbable que dos imágenes diferentes terminen " "teniendo el mismo identificador." #: src/tags.cpp:1149 msgid "Original Raw File Name" msgstr "Nombre de archivo de la imagen en bruto original" #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" "Si el archivo DNG fue convertido a partir de una imagen en bruto no DNG, " "esta etiqueta contiene el nombre de dicho archivo de imagen en bruto " "original." #: src/tags.cpp:1153 msgid "Original Raw File Data" msgstr "Datos del archivo en bruto original" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" "Si el archivo DNG se creó desde un archivo en crudo no-DNG, entonces esta " "etiqueta contiene la información comprimida de ese archivo en crudo " "original. Los contenidos de esta etiqueta utilizan siempre el orden de byte " "big-endian. La etiqueta incluye una secuencia de bloques de datos. Próximas " "versiones de la especificación DNG pueden definir bloques de datos " "adicionales, así que los lectores de DNG deben ignorar los bytes extra al " "analizar esta etiqueta, además de detectar el lugar donde faltan bloques de " "datos al final de la secuencia y asumir un valor predeterminado para todos " "ellos. No hay bytes de relleno o alineamiento entre bloques de datos." #: src/tags.cpp:1164 msgid "Active Area" msgstr "Área activa" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" "Este rectángulo define los píxeles activos (no enmascarados) del sensor. El " "orden de las coordenadas del rectángulo es: arriba, izquierda, abajo, " "derecha." #: src/tags.cpp:1168 msgid "Masked Areas" msgstr "Áreas enmascaradas" #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" "Esta etiqueta contiene una lista de coordenadas rectangulares sin solapar de " "los píxeles completamente enmascarados, que pueden ser usados opcionalmente " "por lectores DNG para medir el nivel de codificación de negro. El orden de " "coordenadas de cada rectángulo es: arriba, izquierda, abajo, derecha. Si los " "datos de la imagen en crudo ya tienen su nivel de codificación de negro " "restada, entonces esta etiqueta no debe usarse, dado que los píxeles " "enmascarados dejan de ser útiles." #: src/tags.cpp:1176 msgid "As-Shot ICC Profile" msgstr "Perfil de color (ICC) tal cual se tomó" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" "Esta etiqueta contiene un perfil ICC que, en conjunto con la etiqueta " "AsShotPreProfileMatrix, proporciona al fabricante de la cámara una forma de " "especificar la generación del color de las coordenata del espacio de color " "de la cámara (valor de referencia lineal) al espacio de conexión al perfil " "ICC. El espacio de conexión del perfil ICC es una espacio colorimétrico " "referido a la producción, mientras las otras etiquetas de calibración en DNG " "especifican una conversión a espacio colorimétrico referido a una escena. " "Esto significa que el procesamiento en este perfil debe de incluir " "cualesquier tono y planeamiento de la gama necesaria para convertir valores " "escénicamente referidos a valores referidos al procesamiento." #: src/tags.cpp:1188 msgid "As-Shot Pre-Profile Matrix" msgstr "Matriz pre-perfil como en foto" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" "Esta etiqueta se usa en conjunción con la etiqueta AsShotICCProfile. Esta " "especifica una matriz que debe aplicarse para las coordenadas del espacio de " "colores antes del procesado de valores a través del perfil ICC especificado " "en la etiqueta AsShotICCProfile. La matriz se almacena en la cola de orden " "de escaneo. Si el plano de colores es mayor de tres, entonces la matriz " "puede (pero no es obligatorio) reducir la dimensionalidad de los datos de " "colores a tres componentes, en cuyo caso AsShotICCProfile debe tener tres en " "lugar de componentes de entrada de planos de colores." #: src/tags.cpp:1198 msgid "Current ICC Profile" msgstr "Perfil de color (ICC) actual" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" "Esta etiqueta se emplea en conjunto con la etiqueta CurrentPreProfileMatrix. " "Las etiquetas CurrentICCProfile y CurrentPreProfileMatrix tienen el mismo " "propósito y modo de empleo que el par de etiquetas AsShotICCProfile y " "AsShotPreProfileMatrix, con la diferencia de que están destinadas a ser " "usadas por editores de archivos en bruto en vez de los fabricantes de " "cámaras." #: src/tags.cpp:1205 msgid "Current Pre-Profile Matrix" msgstr "Matriz de pre-perfilado actual" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" "Esta etiqueta se emplea en conjunto con la etiqueta CurrentICCProfile. Las " "etiquetas CurrentICCProfile y CurrentPreProfileMatrix tienen el mismo " "propósito y modo de empleo que el par de etiquetas AsShotICCProfile y " "AsShotPreProfileMatrix, con la diferencia de que están destinadas a ser " "usadas por los fabricantes de cámaras en vez de editores de archivos en " "bruto." #: src/tags.cpp:1212 msgid "Colorimetric Reference" msgstr "Referencia colorimétrica" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" "El modelo de color DNG documenta una transformación entre los colores de la " "cámara y los valores XYZ de CIE. Esta etiqueta describe la referencia " "colorimétrica para los valores XYZ de CIE. 0 = Los valores XYZ están " "referidos a la escena. 1 = Los valores XYZ están referidos a la salida, " "usando el rango dinámico del perfil ICC perceptual. Esta etiqueta permite " "que los datos referidos a la salida se almacenen en archivos DNG y aún así " "se procesen correctamente por los lectores DNG." #: src/tags.cpp:1220 msgid "Camera Calibration Signature" msgstr "Firma de calibración de la cámara" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" #: src/tags.cpp:1227 msgid "Profile Calibration Signature" msgstr "Firma de calibración del perfil" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" #: src/tags.cpp:1234 msgid "As Shot Profile Name" msgstr "Nombre del perfil «en la toma»" #: src/tags.cpp:1235 msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" "Cadena codificada en UTF-8 que contiene el nombre del perfil de la cámara " "«en la toma», si existe." #: src/tags.cpp:1238 msgid "Noise Reduction Applied" msgstr "Reducción de ruido aplicada" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" #: src/tags.cpp:1246 msgid "Profile Name" msgstr "Nombre del perfil" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "Perfil Hue Sat Map Data 1" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "Perfil Hue Sat Map Data 2" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1279 msgid "Profile Tone Curve" msgstr "Curva de tono del perfil" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" #: src/tags.cpp:1288 msgid "Profile Embed Policy" msgstr "" #: src/tags.cpp:1289 msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" "Esta etiqueta contiene información sobre las reglas de uso para el perfil de " "cámara asociado." #: src/tags.cpp:1292 msgid "Profile Copyright" msgstr "Derechos de autor del perfil" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" "Cadena codificada en UTF-8 que contiene la información de los derechos de " "autor del perfil de la cámara. Esta cadena siempre se debería mantener junto " "con otras etiquetas del perfil de la cámara." #: src/tags.cpp:1297 msgid "Forward Matrix 1" msgstr "" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" "Esta etiqueta define una matriz que relaciona los colores de la cámara con " "balance de blancos a colores XYZ D50." #: src/tags.cpp:1301 msgid "Forward Matrix 2" msgstr "" #: src/tags.cpp:1305 msgid "Preview Application Name" msgstr "Nombre de la aplicación de la vista previa" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" "Una cadena codificada en UTF-8 que contiene el nombre de la aplicación que " "creó la vista previa almacenada en el IFD." #: src/tags.cpp:1309 msgid "Preview Application Version" msgstr "Versión de la aplicación de la vista previa" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" "Una cadena codificada en UTF-8 que contiene el número de versión de la " "aplicación que creó la vista previa almacenada en el IFD." #: src/tags.cpp:1313 msgid "Preview Settings Name" msgstr "Nombre de parámetros de vista previa" #: src/tags.cpp:1314 msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" "Cadena codificada en UTF-8 que contiene el nombre de los parámetros de " "conversión (por ejemplo, nombre de la captura) usados para la vista previa " "almacenada en el IFD." #: src/tags.cpp:1317 msgid "Preview Settings Digest" msgstr "Resumen de los parámetros de la vista previa" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" "Identificador único de los parámetros de conversión (por ejemplo, «MD5 " "digest») usado para generar la vista previa almacenada en el IFD." #: src/tags.cpp:1321 msgid "Preview Color Space" msgstr "Espacio de color de la vista previa" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" "Esta etiqueta especifica el espacio de color en el que se ha almacenado la " "vista previa generada en este IFD. El valor predeterminado para esta " "etiqueta es sRGB para vistas previas en color y Gray Gamma 2.2 para vistas " "previas monocromas." #: src/tags.cpp:1326 msgid "Preview Date Time" msgstr "Fecha y hora de la vista previa" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" "Esta etiqueta es una cadena ASCII que contiene el nombre de la fecha/hora a " "la que se generó la vista previa almacenada en el IFD. La fecha/hora se " "codifica usando el formato ISO 8601." #: src/tags.cpp:1331 msgid "Raw Image Digest" msgstr "Resumen de la imagen raw" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" "Esta etiqueta es un «MD5 digest» de los datos de la imagen raw. Todos los " "píxeles de la imagen se procesan en orden de fila de escaneo. Cada píxel se " "completa con ceros a una profundidad de 16 o 32 bits (16 bits para datos de " "igual o menos 16 bits de profundidad, 32 bits en otro caso). Los datos para " "cada píxel se procesan en orden de byte «little-endian»." #: src/tags.cpp:1337 msgid "Original Raw File Digest" msgstr "" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "Factor de entrelazado de filas" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "Lista 1 de opcodes" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" "Especifica la lista de opcodes que deberían aplicarse a la imagen raw, " "cuando se lee directamente del archivo.raw" #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "Lista 2 de opcodes" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "Lista 3 de opcodes" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" #: src/tags.cpp:1387 msgid "Noise Profile" msgstr "" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" #: src/tags.cpp:1396 src/tags.cpp:1397 msgid "Unknown IFD tag" msgstr "Etiqueta IFD desconocida" #: src/tags.cpp:1408 src/tags.cpp:1466 msgid "Not defined" msgstr "No definido" #: src/tags.cpp:1413 msgid "Creative program" msgstr "Programa creativo" #: src/tags.cpp:1414 msgid "Action program" msgstr "Programa de acción" #: src/tags.cpp:1415 msgid "Portrait mode" msgstr "Modo retrato" #: src/tags.cpp:1416 msgid "Landscape mode" msgstr "Modo paisaje" #: src/tags.cpp:1425 msgid "Multi-spot" msgstr "Multipunto" #: src/tags.cpp:1437 msgid "Tungsten (incandescent light)" msgstr "Tungsteno (luz incandescente)" #: src/tags.cpp:1439 msgid "Fine weather" msgstr "Buen Tiempo" #: src/tags.cpp:1440 msgid "Cloudy weather" msgstr "Tiempo nublado" #: src/tags.cpp:1442 msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "Fluorescente luz-día (D 5700 - 7100K)" #: src/tags.cpp:1443 msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "Fluorescente blanco día (N 4600 - 5400K)" #: src/tags.cpp:1444 msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "Fluorescente blanco frio (W 3900 - 4500K)" #: src/tags.cpp:1445 msgid "White fluorescent (WW 3200 - 3700K)" msgstr "Fluorescente blanco (WW 3200 - 3700K)" #: src/tags.cpp:1446 msgid "Standard light A" msgstr "Luz estándar A" #: src/tags.cpp:1447 msgid "Standard light B" msgstr "Luz estándar B" #: src/tags.cpp:1448 msgid "Standard light C" msgstr "Luz estándar C" #: src/tags.cpp:1449 msgid "D55" msgstr "D55" #: src/tags.cpp:1450 msgid "D65" msgstr "D65" #: src/tags.cpp:1451 msgid "D75" msgstr "D75" #: src/tags.cpp:1452 msgid "D50" msgstr "D50" #: src/tags.cpp:1453 msgid "ISO studio tungsten" msgstr "tungsteno de estudio ISO" #: src/tags.cpp:1454 msgid "Other light source" msgstr "Otra fuente de luz" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "Descalibrado" #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "Área de color de un chip" #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "Área de color de dos chips" #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "Área de color de tres chips" #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "Área de color secuencial" #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "Sensor tri-lineal" #: src/tags.cpp:1472 msgid "Color sequential linear" msgstr "Lineal secuencial de colores" #: src/tags.cpp:1477 msgid "Film scanner" msgstr "Explorador de película" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "" #: src/tags.cpp:1479 msgid "Digital still camera" msgstr "Cámara digital inmóvil" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "Directamente fotografiado" #: src/tags.cpp:1489 msgid "Normal process" msgstr "Proceso normal" #: src/tags.cpp:1490 msgid "Custom process" msgstr "Proceso personalizado" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "Ganancia baja alta" #: src/tags.cpp:1519 msgid "High gain up" msgstr "Ganancia alta alta" #: src/tags.cpp:1520 msgid "Low gain down" msgstr "Ganancia baja baja" #: src/tags.cpp:1521 msgid "High gain down" msgstr "Ganancia alta baja" #: src/tags.cpp:1542 msgid "Close view" msgstr "Vista cercana" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "Vista distante" #: src/tags.cpp:1550 msgid "Exposure time, given in seconds (sec)." msgstr "Tiempo de exposición, dado en segundos (seg)." #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" "Indica la sensibilidad espectral de cada canal de la cámara utilizada. El " "valor de la etiqueta es una cadena de caracteres ASCII compatible con el " "estándar desarrollado por el ASTM Tecnical committee." #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "Función de conversión optoelectrónica" #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" "Indica la Función de Conversión Opto-Electrónica (OECF) especificada en ISO " "14524. es la relación entre la entrada óptica de la cámara y los " "valores de la imagen." #: src/tags.cpp:1573 msgid "Sensitivity Type" msgstr "Tipo de sensibilidad" #: src/tags.cpp:1574 msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" #: src/tags.cpp:1580 msgid "Standard Output Sensitivity" msgstr "Sensibilidad de salida estándar" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1585 msgid "Recommended Exposure Index" msgstr "Índice de exposición recomendada" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1595 msgid "ISO Speed Latitude yyy" msgstr "Velocidad ISO yyy" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" #: src/tags.cpp:1600 msgid "ISO Speed Latitude zzz" msgstr "Velocidad ISO zzz" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" "La versión soportada de este estándar. Si este campo no existe se interpreta " "que no se cumple con el estándar." #: src/tags.cpp:1609 msgid "Date and Time (original)" msgstr "Fecha y Hora (original)" #: src/tags.cpp:1610 msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" "La fecha y hora cuando se generaron los datos originales de la imagen. Para " "una cámara digital se registra la fecha y la hora en la que se tomó la foto." #: src/tags.cpp:1613 msgid "Date and Time (digitized)" msgstr "Fecha y Hora (digitalizado)" #: src/tags.cpp:1614 msgid "The date and time when the image was stored as digital data." msgstr "" "La fecha y hora cuando se almacenó la imagen en forma de datos digitales." #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" "Información específica de los datos comprimidos. Los canales de cada " "componente se arreglan en orden desde el 1er componente al 4to. Para datos " "no comprimidos el arreglo de los datos se da en la etiqueta " ". Sin embargo, debido a que dicha etiqueta solo " "puede expresar el orden de Y, Cb y Cr, se proporciona para los casos en los " "que los datos comprimidos usan componentes que no son Y, Cb y Cr y para " "permitir el soporte de otras secuencias." #: src/tags.cpp:1626 msgid "Compressed Bits per Pixel" msgstr "Bits comprimidos por pixel" #: src/tags.cpp:1627 msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" "Información específica sobre los datos comprimidos. El modo de compresión " "utilizado para una imagen comprimida está indicado en unidades de bits por " "pixel." #: src/tags.cpp:1631 msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" "Velocidad del obturador. La unidad es el ajuste APEX (Sistema aditivo de " "exposición fotográfica)." #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "La apertura de la lente. La unidad es el valor APEX." #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" "El valor del brillo. La unidad es el valor APEX. Por lo general, se da en el " "rango de -99,99 a 99,99." #: src/tags.cpp:1641 msgid "Exposure Bias" msgstr "Ajuste de exposición" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" "El ajuste de exposición. La unidad es el valor APEX. Por lo general, se da " "en el rango -99,99 a 99,99." #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" "El valor F más pequeño de la lente. La unidad es el valor APEX. Por lo " "general, se da en el rango de 00,00 a 99,99 pero no está limitado a dicho " "rango." #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "" "Esta etiqueta se registra cuando se toma una imagen usando una luz " "estrosboscópica (flash)." #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" "La distancia focal real de la lente, en mm. No se realiza la conversión a la " "distancia focal de una máquina de película de 35 mm." #: src/tags.cpp:1667 msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "" "Esta etiqueta indica la ubicación y área del sujeto principal en la escena " "general." #: src/tags.cpp:1670 msgid "Maker Note" msgstr "Nota del fabricante" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" "Una etiqueta para que los fabricantes o escritores Exif registren cualquier " "información deseada. El contenido queda a cargo del fabricante." #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" "Una etiqueta para que los usuarios Exif escriban en la imagen palabras clave " "o comentarios, adicionales a los de la etiqueta , y sin " "las limitaciones del código de caracteres de dicha etiqueta." #: src/tags.cpp:1679 msgid "Sub-seconds Time" msgstr "Tiempo en subsegundos" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "" "Una etiqueta utilizada para registrar fracciones de segundo para la etiqueta " "." #: src/tags.cpp:1682 msgid "Sub-seconds Time Original" msgstr "Tiempo en sub-segundos original" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "Una etiqueta utilizada para registrar fracciones de segundo para la etiqueta " "." #: src/tags.cpp:1685 msgid "Sub-seconds Time Digitized" msgstr "Tiempo en sub-segundos digitalizado" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "Una etiqueta utilizada para registrar fracciones de segundo para la etiqueta " "." #: src/tags.cpp:1688 msgid "FlashPix Version" msgstr "Versión de FalshPix" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "La versión del formato FlashPix soportada por un archivo FPXR." #: src/tags.cpp:1692 msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" "La etiqueta de información de espacio de color siempre se registra como el " "especificador de espacio de color. Normalmente se utiliza sRGB para definir " "el espacio de color basado en las condiciones ambientales y del monitor del " "PC. Si se utiliza un espacio de color distinto a sRGB, se ajusta a no " "calibrado. Los datos de imagen registrados como no calibrados pueden " "tratarse como sRGB cuando se convierte a FlashPix." #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" "Información específica a los datos comprimidos. Cuando se registra un " "archivo comprimido, el ancho válido de la imagen significativa se debe " "registrar en esta etiqueta, haya o no datos de colchón o una marca de " "reinicio. Esta etiqueta no debería existir en un archivo no comprimido." #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" "Información específica a los datos comprimidos. Cuando se registra un " "archivo comprimido, la altura válida de la imagen significativa debería " "registrarse en esta etiqueta, haya o no datos de colchón o una marca de " "reinicio. Esta etiqueta no debería existir en un archivo no comprimido. Dado " "que no es necesario el colchón de datos en la dirección vertical, la " "cantidad de líneas registradas en esta etiqueta válida de altura de la " "imagen será, de hecho, la misma que la registrada en el SOF." #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" "Se usa para guardar el nombre del archivo de audio relativo a la imágen " #: src/tags.cpp:1723 msgid "Interoperability IFD Pointer" msgstr "Puntero IFD de interoperabilidad" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" "El IFD de interoperabilidad está compuesto de etiquetas que almacenan la " "información para asegurar la interoperabilidad y apuntado por la etiqueta " "siguiente ubicada en el IFD Exif. La estructura de interoperabilidad de el " "IFD de interoperabilidad es la misma que la estructura IFD definida por " "TIFF, pero no contiene los datos de imagen característicos del IFD normal de " "TIFF." #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" "Indica la energía del flash en el momento que se captura la imagen, medida " "en Beam Candle Power Seconds (BCPS)." #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" "Este etiqueta registra la tabla de frecuencia espacial de la cámara o " "dispositivo de entrada y los valores SFR en las direcciones de ancho, alto y " "diagonal de la imagen, como se especifica en ISO 12233." #: src/tags.cpp:1740 msgid "Focal Plane X-Resolution" msgstr "Resolución X del plano focal" #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" "Indica la cantidad de pixels en la dirección del ancho (X) de la imagen por " " del plano focal de la cámara." #: src/tags.cpp:1744 msgid "Focal Plane Y-Resolution" msgstr "Resolución Y del plano focal" #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" "Indica la cantidad de pixels en la dirección del alto (Y) de la imagen por " " del plano focal de la cámara." #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" "Indica la unidad para medir e " ". Este valor es el mismo que ." #: src/tags.cpp:1753 msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" "Indica la ubicación del sujeto principal de la escena. El valor de esta " "etiqueta representa el pixel en el centro del sujeto principal relativo al " "borde izquierdo, antes del proceso de rotación como lo indica la etiqueta " ". El primer valor indica el número de columna X y el segundo el " "número de fila Y." #: src/tags.cpp:1759 msgid "Exposure index" msgstr "Índice de exposición" #: src/tags.cpp:1760 msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" "Indica el índice de exposición seleccionado en la cámara o dispositivo de " "entrada en el momento que se captura la imagen." #: src/tags.cpp:1764 msgid "Indicates the image sensor type on the camera or input device." msgstr "" "Indica el tipo de sensor de imagen en la cámara o dispositivo de entrada." #: src/tags.cpp:1767 msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" "Indica la fuente de la imagen. Si la imagen se registró en un DSC, el valor " "de esta etiqueta siempre debe ser 3, indicando que la imagen se registró en " "un DSC." #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" "Indica el tipo de la escena. Si la imagen se registró en un DSC, el valor de " "esta etiqueta siempre debe ser 1, indicando que la imagen se registró en un " "DSC." #: src/tags.cpp:1776 msgid "Color Filter Array Pattern" msgstr "Patrón de la matriz de filtro de color" #: src/tags.cpp:1777 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" "Indica el patrón geométrico de la matriz de filtro de color (CFA) del sensor " "de imagen cuando se utiliza un sensor de área color de un chip. No se aplica " "a todos los métodos de sensado." #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" "Esta etiqueta indica el uso de procesamiento especial en los datos de " "imagen, tal como el rendering de la salida. Cuando se realiza un " "procesamiento especial, se espera que el lector deshabilite o minimice el " "procesado siguiente." #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" "Esta etiqueta indica el modo de exposición ajustado cuando se tomó la " "imagen. En el modo auto-bracketing, la cámara toma una serie de cuadros de " "la misma escena con ajustes de exposición diferentes." #: src/tags.cpp:1793 msgid "This tag indicates the white balance mode set when the image was shot." msgstr "" "Esta etiqueta indica el modo de balance de blanco establecido cuando se tomó " "la imagen." #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" "Esta etiqueta indica la relación del zoom digital cuando se tomó la imagen. " "Si el numerador del valor registrado es 0, esto indica que no se utilizó el " "zoom digital." #: src/tags.cpp:1801 msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" "Esta etiqueta indica la distancia focal equivalente asumiendo una cámara de " "película de 35mm, en mm. Un valor de 0 significa que se desconoce la " "distancia focal. Note que esta etiqueta difiere de la etiqueta FocalLength." #: src/tags.cpp:1807 msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" "Esta etiqueta indica el tipo de escena que se tomó. También se puede " "utilizar para registrar el modo en el cual se tomó la imagen. Note que esto " "difiere de la etiqueta ." #: src/tags.cpp:1812 msgid "This tag indicates the degree of overall image gain adjustment." msgstr "" "Esta etiqueta indica el grado del ajuste de ganancia general de imagen." #: src/tags.cpp:1815 msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" "Esta etiqueta indica la dirección del procesamiento de contraste aplicado " "por la cámara cuando se tomó la imagen." #: src/tags.cpp:1819 msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" "Esta etiqueta indica la dirección del procesamiento de stauración aplicado " "por la cámara cuando se tomó la imagen." #: src/tags.cpp:1823 msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" "Esta etiqueta indica la dirección del procesamiento de nitidez aplicado por " "la cámara cuando se tomó la imagen." #: src/tags.cpp:1827 msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" "Esta etiqueta indica información sobre las condiciones de toma de la foto de " "un modelo de cámara en particular. La etiqueta solo se usa para indicar las " "condiciones de toma de fotos en el lector." #: src/tags.cpp:1832 msgid "This tag indicates the distance to the subject." msgstr "Esta etiqueta indica la distancia al sujeto." #: src/tags.cpp:1835 msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" "Esta etiqueta indica un identificador asignado unívocamente a cada imagen. " "Se registra como una cadena de caracteres ASCII equivalente a notación " "hexadecimal y de una longitud fija de 128 bits." #: src/tags.cpp:1839 msgid "Camera Owner Name" msgstr "Nombre del dueño de la cámara" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" "Esta etiqueta registra el dueño de la cámara en la fotografía como una " "cadena ASCII." #: src/tags.cpp:1843 msgid "Body Serial Number" msgstr "Número de serie del cuerpo" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" "Esta etiqueta registra el número de serie del cuerpo de la cámara que se usó " "en la fotografía como una cadena ASCII." #: src/tags.cpp:1847 msgid "Lens Specification" msgstr "Especificación de las lentes" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" #: src/tags.cpp:1854 msgid "Lens Make" msgstr "Fabricante del objetivo" #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "" "Esta etiqueta registra el fabricante del objetivo como una cadena ASCII." #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" "Esta etiqueta registra el modelo del objetivo y el número del modelo como " "una cadena ASCII." #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" "Esta etiqueta registra el número de serie del objetivo intercambiable que se " "usó en la fotografía como una cadena ASCII." #: src/tags.cpp:1866 src/tags.cpp:1867 msgid "Unknown Exif tag" msgstr "Etiqueta Exif desconocida" #: src/tags.cpp:1878 msgid "North" msgstr "Norte" #: src/tags.cpp:1879 msgid "South" msgstr "Sur" #: src/tags.cpp:1884 msgid "East" msgstr "Este" #: src/tags.cpp:1885 msgid "West" msgstr "Oeste" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "Sobre el mar" #: src/tags.cpp:1891 msgid "Below sea level" msgstr "Bajo el mar" #: src/tags.cpp:1896 msgid "Measurement in progress" msgstr "Medición en progreso" #: src/tags.cpp:1897 msgid "Measurement Interoperability" msgstr "Interoperabilidad de la medición" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "Medida bidimensional" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "Medida tridimensional" #: src/tags.cpp:1908 msgid "km/h" msgstr "km/h" #: src/tags.cpp:1909 msgid "mph" msgstr "mph" #: src/tags.cpp:1910 msgid "knots" msgstr "nudos" #: src/tags.cpp:1915 msgid "True direction" msgstr "Dirección real" #: src/tags.cpp:1916 msgid "Magnetic direction" msgstr "Dirección magnética" #: src/tags.cpp:1921 msgid "Kilometers" msgstr "Kilómetros" #: src/tags.cpp:1922 msgid "Miles" msgstr "Millas" #: src/tags.cpp:1923 msgid "Knots" msgstr "Nudos" #: src/tags.cpp:1928 msgid "Without correction" msgstr "Sin corrección" #: src/tags.cpp:1929 msgid "Correction applied" msgstr "Corrección aplicada" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" "Indica la versión de . La versión está dada como 2.0.0.0. Esta " "etiqueta es obligatoria cuando está presente la etiqueta . (Nota: " "La etiqueta está dada en bytes, a diferencia de la etiqueta " ". Cuando la versión es 2.0.0.0, el valor de la etiqueta es " "02000000.H)." #: src/tags.cpp:1941 msgid "GPS Latitude Reference" msgstr "Referencia de latitud GPS" #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" "Indica si la latitud es Norte o Sur. El valor ASCII 'N' indica latitud " "Norte, y 'S' indica latitud Sur." #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" "Indica la latitud, expresada como tres valores RACIONALES dando los grados, " "minutos y segundos, respectivamente. Cuando se expresan grados, minutos y " "segundos, el formato es gg/1,mm/1,ss/1. Cuando se utilizan grados y minutos " "y, por ejemplo, se dan fracciones de minutos hasta con dos posiciones " "decimales, el formato es gg/1,mmmm/100,0/1." #: src/tags.cpp:1953 msgid "GPS Longitude Reference" msgstr "Referencia de longitud GPS" #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" "Indica si la longitud es Este u Oeste. El valor ASCII 'E' indica longitud " "Este, y 'W' indica longitud Oeste." #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" "Indica la longitud. La longitud se expresa como tres valores RACIONALES " "dando los grados, minutos y segundos, respectivamente. Cuando se expresan " "grados, minutos y segundos, el formato es gg/1,mm/1,ss/1. Cuando se utilizan " "grados y minutos y, por ejemplo, se dan fracciones de minutos hasta con dos " "posiciones decimales, el formato es gg/1,mmmm/100,0/1." #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" "Indica la altitud utilizada como referencia. Si la referencia es el nivel " "del mar, y la altitud está por encima, se indica 0. Si la altitud está por " "debajo del nivel del mar, se indica con 1. La altitud se indica como valor " "absoluto en la etiqueta GSPAltitude. La unidad de referencia son metros. " "Tenga en cuenta que esta etiqueta es de tipo BYTE, no como otras etiquetas " "de referencia." #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" "Indica la altitud basándose en la referencia GPSAltitudeRef. La altitud se " "indica como un valor RACIONAL. La unidad de referencia son metros." #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" "Indica la hora como UTC (Tiempo Universal Coordinado). se " "expresa como tres valores RACIONALES que contienen la hora, minuto y segundo " "(reloj atómico)." #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" "Indica los satélites GPS utilizados para realizar las mediciones. Esta " "etiqueta puede usarse para describir el número de satélites, sus números de " "identificación, ángulo de elevación, azimut, relación señal-ruido (SNR) y " "cualquier otra información en notación ASCII. El formato no está " "especificado. Si el receptor GPS no puede realizar mediciones, el valor de " "la etiqueta se establece como NULO." #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" "Indica el estado del receptor de GPS durante la grabación de la imagen. «a» " "significa que la medición está en progreso y «V» significa que la medición " "es interoperable." #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" "Indica el modo de medición GPS que se está realizando. «2» indica una " "medición en dos dimensiones y «3» indica una medición en 3 dimensiones." #: src/tags.cpp:1998 msgid "GPS Data Degree of Precision" msgstr "Grados de precisión de los datos GPS" #: src/tags.cpp:1999 msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" "Indica la DOP (precisión del dato por sus siglas en inglés) del GPS. Un " "valor HDOP es escrito durante la medición bidimensional, el PDOP durante una " "medición tridimensional." #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" "Indica la unidad de medida utilizada para expresar la velocidad a la que se " "mueve el recepto GPS. «K», «M» y «N» representan kilómetros por hora, millas " "por hora y nudos, respectivamente." #: src/tags.cpp:2007 msgid "Indicates the speed of GPS receiver movement." msgstr "Indica la velocidad de movimiento del receptor GPS" #: src/tags.cpp:2009 msgid "GPS Track Ref" msgstr "Referencia de rastreo GPS" #: src/tags.cpp:2010 msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Indica la referencia para dar la dirección del receptor GPS en movimiento. " "«T» denota dirección real y «M» denota una dirección magnética." #: src/tags.cpp:2014 msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" "Indica la dirección del movimiento del receptor GPS. El rango de valores va " "desde 0,00 hasta 359,99" #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Indica la referencia para proporcionar la dirección de la imagen cuando es " "capturada. «T» indica la dirección real y «M» la dirección magnética." #: src/tags.cpp:2022 msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" "Indica la dirección de la imagen cuando fue capturada. El rango de valores " "va de 0.00 a 359.99." #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" "Indica los datos de reconocimiento geodésico empleados por el receptor GPS. " "Si los datos están restringidos a Japón, el valor de esta etiqueta es " "«TOKYO» o «WGS-84»." #: src/tags.cpp:2029 #, fuzzy msgid "GPS Destination Latitude Reference" msgstr "Referencia de latitud de destino GPS" #: src/tags.cpp:2030 msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" "Indica si la latitud del punto de destino es Norte o Sur. El valor ASCII 'N' " "indica latitud Norte, y 'S' indica latitud Sur." #: src/tags.cpp:2034 msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" "Indica la latitud del punto de destino. La latitud se expresa como tres " "valores RACIONALES dando los grados, minutos y segundos, respectivamente. " "Cuando se expresan grados, minutos y segundos, el formato es gg/1,mm/1,ss/1. " "Cuando se utilizan grados y minutos y, por ejemplo, se dan fracciones de " "minutos hasta con dos posiciones decimales, el formato es gg/1,mmmm/100,0/1." #: src/tags.cpp:2041 msgid "GPS Destination Longitude Reference" msgstr "Referencia de longitud de destino GPS" #: src/tags.cpp:2042 msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" "Indica si la longitud del destino es este u oeste. El valor ASCII 'E' indica " "longitud Este, y 'W' indica longitud Oeste." #: src/tags.cpp:2046 msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" "Indica la longitud del punto de destino. La longitud está expresada como " "tres valores RACIONALES que conforman los grados, minutos y segundos, " "respectivamente. Si la longitud está expresada como grados, minutos y " "segundos, un formato común sería «ddd/1,mm/1,ss/1». Cuando se emplean grados " "y minutos y, por ejemplo, las fracciones de minuto se expresan con hasta dos " "decimales, el formato sería «ddd/1,mmmm/100,0/1»." #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Indica la referencia empleada para obtener la dirección angular al punto de " "destino. «T» denota dirección real, «M» indica dirección magnética." #: src/tags.cpp:2057 msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "" "Indica la dirección angular al punto de destino. El rango de valores va " "desde 0,00 hasta 359,99" #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" "Indica la unidad de medida empleada para expresar la distancia al punto de " "destino. «K», «M» y «N» representan kilómetros, millas y nudos, " "respectivamente." #: src/tags.cpp:2065 msgid "Indicates the distance to the destination point." msgstr "Indica la distancia al punto de destino" #: src/tags.cpp:2068 msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" "Una cadena de caracteres que almacena el nombre del método utilizado para " "encontrar la locación. El primer octeto indica el código de caracteres " "empleado, seguido por el nombre del método." #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" "Una cadena de caracteres con el nombre del área GPS. El primer byte indica " "el código de caracteres empleado, y le sigue el nombre del área GPS." #: src/tags.cpp:2076 msgid "GPS Date Stamp" msgstr "Sello de fecha GPS" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" "Una cadena de caracteres que almacena la información de la fecha y hora " "relativa al UTC (Tiempo Universal Coordinado). El formato es «YYYY:MM:DD.»." #: src/tags.cpp:2081 msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "Indica si se aplica la corrección diferencial al receptor GPS" #: src/tags.cpp:2084 src/tags.cpp:2085 msgid "Unknown GPSInfo tag" msgstr "Etiqueta de información GPS desconocida" #: src/tags.cpp:2096 msgid "Interoperability Index" msgstr "Índice de interoperatibidad" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" "Indica la identificación de la regla de inter-operatibilidad. Utilice " "\"R98\" para indicar reglas ExifR98. Se utilizan cuatro bytes incluyendo el " "código de terminación (NULL). Vea el volumen separado de Recommended Exif " "Interoperatibility Rules (ExifR98) para otras etiquetas usadas en ExifR98." #: src/tags.cpp:2103 msgid "Interoperability Version" msgstr "Versión de interoperatividad" #: src/tags.cpp:2104 msgid "Interoperability version" msgstr "Versión de interoperatividad" #: src/tags.cpp:2106 msgid "Related Image File Format" msgstr "Formato de archivo de imagen relacionado" #: src/tags.cpp:2107 msgid "File format of image file" msgstr "Formato de archivo de archivo de imagen" #: src/tags.cpp:2109 msgid "Related Image Width" msgstr "Anchura relativa de imagen" #: src/tags.cpp:2112 msgid "Related Image Length" msgstr "" #: src/tags.cpp:2116 src/tags.cpp:2117 msgid "Unknown Exif Interoperability tag" msgstr "Etiqueta de interoperabilidad Exif desconocida" #: src/tags.cpp:2128 msgid "Offset" msgstr "" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "" "Posición de la nota del fabricante desde el inicio de la cabecera TIFF." #: src/tags.cpp:2131 msgid "Byte Order" msgstr "Orden de byte" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" "Orden de byte utilizada para codificar la nota del fabricante, «MM» (big-" "endian) o «II» (little-endian)." #: src/tags.cpp:2135 src/tags.cpp:2136 msgid "Unknown Exiv2 Makernote info tag" msgstr "Etiqueta de la nota del fabricate Exiv2 desconocida" #: src/tags.cpp:2146 src/tags.cpp:2147 msgid "Unknown tag" msgstr "Etiqueta desconocida" #: src/tags.cpp:2688 msgid "Digital zoom not used" msgstr "Zoom digital no usado" #: src/tiffimage.cpp:2308 msgid "TIFF header, offset" msgstr "Cabecera TIFF, posición" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "codificado little endian" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "codificado big endian" #~ msgid "ascii bytes" #~ msgstr "bytes ascii" exiv2-0.25/po/Makefile.in.in0000664000175000017500000003176212447013555015422 0ustar andreasandreas# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2005 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.14.4 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = $(datadir)/locale gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ MKINSTALLDIRS = @MKINSTALLDIRS@ mkinstalldirs = $(SHELL) $(MKINSTALLDIRS) GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: all-@USE_NLS@ all-yes: stamp-po all-no: # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all $(mkinstalldirs) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkinstalldirs) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(mkinstalldirs) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkinstalldirs) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT stamp-po rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po *.gmo rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \ $(SHELL) ./config.status force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: exiv2-0.25/po/sv.po0000664000175000017500000275470012540520175013741 0ustar andreasandreas# Swedish translation for exiv2 # Copyright (C) Andreas Huggel # This file is distributed under the same license as the exif package. # Daniel Nylander , 2007, 2008, 2009. # Arve Eriksson, 2011. # Josef Andersson , 2015. # Kommentar från Josef: # Denna översättning innehåller väldigt många # specifika textdomäner och fackspråk. # Det förekommer med största sannolikhet misstag. # En del hjälp på vägen. # Fotoord: http://www.fotoord.se/mediawiki/index.php?title=Huvudsida # Tagg-referenser http://www.exiv2.org/metadata.html # TIFF standard http://www.digitalpreservation.gov/formats/content/tiff_tags.shtml # Dublin Core http://rs.tdwg.org/dwc/terms/ # Exif v2.2 http://www.exiv2.org/Exif2-2.PDF # Exif v2.3 http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf msgid "" msgstr "" "Project-Id-Version: exiv2 trunk\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: 2015-05-22 10:24+0100\n" "Last-Translator: Josef Andersson \n" "Language-Team: tp-sv\n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.7.5\n" "X-Launchpad-Export-Date: 2015-04-05 09:56+0000\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 msgid "Failed to open the file\n" msgstr "Misslyckades med att öppna filen\n" #: src/actions.cpp:282 msgid "File name" msgstr "Filnamn" #: src/actions.cpp:288 msgid "File size" msgstr "Filstorlek" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "Byte" #: src/actions.cpp:293 msgid "MIME type" msgstr "MIME-typ" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 msgid "Image size" msgstr "Bildstorlek" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 msgid "No Exif data found in the file\n" msgstr "Inget Exif-data hittades i filen\n" #: src/actions.cpp:307 msgid "Camera make" msgstr "Kameratillverkare" #: src/actions.cpp:310 msgid "Camera model" msgstr "Kameramodell" #: src/actions.cpp:313 msgid "Image timestamp" msgstr "Bildens tidsstämpel" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 msgid "Image number" msgstr "Bildnummer" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 msgid "Exposure time" msgstr "Exponeringstid" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 msgid "Aperture" msgstr "Bländare" #: src/actions.cpp:345 msgid "Exposure bias" msgstr "Exponeringskompensation" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 msgid "Flash" msgstr "Blixt" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 msgid "Flash bias" msgstr "Blixtkompensation" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 msgid "Focal length" msgstr "Brännvidd" #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr "35mm motsvarighet" #: src/actions.cpp:373 msgid "Subject distance" msgstr "Avstånd till motiv" #: src/actions.cpp:387 msgid "ISO speed" msgstr "ISO-hastighet" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 msgid "Exposure mode" msgstr "Exponeringsläge" #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 msgid "Metering mode" msgstr "Mätläge" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 msgid "Macro mode" msgstr "Makroläge" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 msgid "Image quality" msgstr "Bildkvalitet" #: src/actions.cpp:403 msgid "Exif Resolution" msgstr "Exif-upplösning" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "Vitbalans" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 msgid "Thumbnail" msgstr "Miniatyrbild" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "Ingen" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 msgid "Copyright" msgstr "Copyright" #: src/actions.cpp:458 msgid "Exif comment" msgstr "Exif-kommentar" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "(Binärvärde dolt)" #: src/actions.cpp:742 msgid "JPEG comment" msgstr "JPEG-kommentar" #: src/actions.cpp:767 msgid "Preview" msgstr "Förhandsvisa" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "bildpunkter" #: src/actions.cpp:773 src/actions.cpp:1113 msgid "bytes" msgstr "byte" #: src/actions.cpp:820 msgid "Neither tag" msgstr "Varken tagg" #: src/actions.cpp:821 msgid "nor" msgstr "eller" #: src/actions.cpp:822 msgid "found in the file" msgstr "hittades i filen" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "Bildens tidsstämpel inte angiven i filen" #: src/actions.cpp:833 src/actions.cpp:1590 msgid "Failed to parse timestamp" msgstr "Misslyckades med att tolka tidsstämpeln" #: src/actions.cpp:834 msgid "in the file" msgstr "i filen" #: src/actions.cpp:845 msgid "Updating timestamp to" msgstr "Uppdaterar tidsstämpel till" #: src/actions.cpp:939 msgid "Erasing thumbnail data" msgstr "Raderar miniatyrbildsdata" #: src/actions.cpp:947 msgid "Erasing Exif data from the file" msgstr "Raderar Exif-data från filen" #: src/actions.cpp:956 msgid "Erasing IPTC data from the file" msgstr "Raderar IPTC-data från filen" #: src/actions.cpp:965 msgid "Erasing JPEG comment from the file" msgstr "Raderar JPEG-kommentar från filen" #: src/actions.cpp:974 msgid "Erasing XMP data from the file" msgstr "Raderar XMP-data från filen" #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "Bilden innehåller inte någon Exif-miniatyrbild\n" #: src/actions.cpp:1055 msgid "Writing thumbnail" msgstr "Skriver miniatyrbild" #: src/actions.cpp:1056 src/actions.cpp:1114 msgid "to file" msgstr "till fil" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "Exif-data innehåller inte en miniatyrbild\n" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "Bilden innehåller inte en miniatyrbild" #: src/actions.cpp:1107 msgid "Writing preview" msgstr "Skriver förhandsvisning" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "Ställer in JPEG-kommentar" #: src/actions.cpp:1319 msgid "Add" msgstr "Lägg till" #: src/actions.cpp:1341 src/actions.cpp:1415 msgid "Warning" msgstr "Varning" #: src/actions.cpp:1342 src/actions.cpp:1416 msgid "Failed to read" msgstr "Misslyckades med att läsa" #: src/actions.cpp:1344 src/actions.cpp:1418 msgid "value" msgstr "värde" #: src/actions.cpp:1355 msgid "Set" msgstr "Ange" #: src/actions.cpp:1427 msgid "Del" msgstr "Ta bort" #: src/actions.cpp:1459 msgid "Reg " msgstr "Reg " #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "Tidsstämpel för metadatum med nyckel" #: src/actions.cpp:1544 msgid "not set\n" msgstr "ej satt\n" #: src/actions.cpp:1549 msgid "Adjusting" msgstr "Justerar" #: src/actions.cpp:1549 msgid "by" msgstr "av" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "år" #: src/actions.cpp:1556 msgid "year" msgstr "år" #: src/actions.cpp:1564 msgid "months" msgstr "månader" #: src/actions.cpp:1567 msgid "month" msgstr "månad" #: src/actions.cpp:1575 msgid "days" msgstr "dygn" #: src/actions.cpp:1578 msgid "day" msgstr "dygn" #: src/actions.cpp:1584 msgid "s" msgstr "s" #: src/actions.cpp:1600 msgid "Can't adjust timestamp by" msgstr "Kan inte justera tidsstämpel med" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 msgid "to" msgstr "till" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "Standard Exif ISO-tagg finns; inte ändrad\n" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "Ställer in Exif ISO-värdet till" #: src/actions.cpp:1708 msgid "No Exif user comment found" msgstr "Ingen Exif-användarkommentar hittades" #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "Hittade Exif-användarkommentar med oväntad värdetyp" #: src/actions.cpp:1723 msgid "No Exif UNICODE user comment found" msgstr "Ingen Exif-användarkommentar i UNICODE hittades" #: src/actions.cpp:1729 msgid "Setting Exif UNICODE user comment to" msgstr "Sätter Exif-användarkommentaren i UNICODE till" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "Skriver Exif-data från" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "Skriver IPTC-data från" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "Skriver XMP-data från" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "Skriver JPEG-kommentar från" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "Kunde inte skriva metadata till fil" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "Filnamnsformatet anger tomt filnamn för filen" #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "Denna fil har redan det korrekta namnet" #: src/actions.cpp:1975 src/exiv2.cpp:168 msgid "File" msgstr "Fil" #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr "finns. Skriv över[O], byt namn[r] eller hoppa över[s]?" #: src/actions.cpp:2004 msgid "Renaming file to" msgstr "Byter namn på fil till" #: src/actions.cpp:2006 msgid "updating timestamp" msgstr "uppdaterar tidsstämpel" #: src/actions.cpp:2015 msgid "Failed to rename" msgstr "Misslyckades med att byta namn" #: src/actions.cpp:2037 msgid "Overwrite" msgstr "Skriv över" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "Av" #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "På" #: src/canonmn.cpp:363 msgid "Format 1" msgstr "Format 1" #: src/canonmn.cpp:364 msgid "Format 2" msgstr "Format 2" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 msgid "On (1)" msgstr "På (1)" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 msgid "On (2)" msgstr "På (2)" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "sRGB" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 msgid "Adobe RGB" msgstr "Adobe RGB" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "Okänd" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 msgid "Camera Settings" msgstr "Kamerainställningar" #: src/canonmn.cpp:383 msgid "Various camera settings" msgstr "Olika kamerainställningar" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 msgid "Focal Length" msgstr "Brännvidd" #: src/canonmn.cpp:386 src/sonymn.cpp:394 msgid "Shot Info" msgstr "Bildinfo" #: src/canonmn.cpp:386 msgid "Shot information" msgstr "Bildinformation" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 msgid "Panorama" msgstr "Panorama" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 msgid "Image Type" msgstr "Bildtyp" #: src/canonmn.cpp:388 msgid "Image type" msgstr "Bildtyp" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 msgid "Firmware Version" msgstr "Version av fast programvara" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 msgid "Firmware version" msgstr "Version av fast programvara" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 msgid "File Number" msgstr "Filnummer" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 msgid "File number" msgstr "Filnummer" #: src/canonmn.cpp:391 msgid "Owner Name" msgstr "Ägarens namn" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 msgid "Serial Number" msgstr "Serienummer" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 msgid "Camera serial number" msgstr "Kamerans serienummer" #: src/canonmn.cpp:393 msgid "Camera Info" msgstr "Kamerainformation" #: src/canonmn.cpp:393 msgid "Camera info" msgstr "Kamerainfo" #: src/canonmn.cpp:394 src/canonmn.cpp:406 msgid "Custom Functions" msgstr "Anpassade funktioner" #: src/canonmn.cpp:395 msgid "ModelID" msgstr "Modell-ID" #: src/canonmn.cpp:395 msgid "Model ID" msgstr "Modell-ID" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 msgid "Picture Info" msgstr "Bildinfo" #: src/canonmn.cpp:396 msgid "Picture info" msgstr "Bildinformation" #: src/canonmn.cpp:397 msgid "Thumbnail Image Valid Area" msgstr "Giltigt område för miniatyrbild" #: src/canonmn.cpp:397 msgid "Thumbnail image valid area" msgstr "Giltigt område för miniatyrbild" #: src/canonmn.cpp:398 msgid "Serial Number Format" msgstr "Serienummerformat" #: src/canonmn.cpp:398 msgid "Serial number format" msgstr "Serienummerformat" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 msgid "Super Macro" msgstr "Supermakro" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "Supermakro" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF Info" msgstr "AF-information" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF info" msgstr "AF-information" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "Ursprunglig beslutsdata-förskjutning" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "Ursprunglig beslutsdata-förskjutning" #: src/canonmn.cpp:402 msgid "White Balance Table" msgstr "Tabell för vitbalans" #: src/canonmn.cpp:402 msgid "White balance table" msgstr "Tabell för vitbalans" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 msgid "Lens Model" msgstr "Objektivmodell" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 msgid "Lens model" msgstr "Objektivmodell" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 msgid "Internal Serial Number" msgstr "Internt serienummer" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 msgid "Internal serial number" msgstr "Internt serienummer" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "Dammborttagningsdata" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "Dammborttagningsdata" #: src/canonmn.cpp:406 msgid "Custom functions" msgstr "Anpassade funktioner" #: src/canonmn.cpp:407 msgid "Processing Info" msgstr "Behandlingsinfo" #: src/canonmn.cpp:407 msgid "Processing info" msgstr "Behandlingsinformation" #: src/canonmn.cpp:408 msgid "Measured Color" msgstr "Uppmätt färg" #: src/canonmn.cpp:408 msgid "Measured color" msgstr "Uppmätt färg" #: src/canonmn.cpp:409 msgid "ColorSpace" msgstr "Färgrymd" #: src/canonmn.cpp:413 msgid "VRD Offset" msgstr "VRD-förskjutning" #: src/canonmn.cpp:413 msgid "VRD offset" msgstr "VRD-förskjutning" #: src/canonmn.cpp:414 msgid "Sensor Info" msgstr "Sensorinformation" #: src/canonmn.cpp:414 msgid "Sensor info" msgstr "Sensorinformation" #: src/canonmn.cpp:415 msgid "Color Data" msgstr "Färgdata" #: src/canonmn.cpp:415 msgid "Color data" msgstr "Färgdata" #: src/canonmn.cpp:417 msgid "Unknown CanonMakerNote tag" msgstr "Okänd CanonMakerNote-tagg" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "Ekonomi" #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 msgid "Normal" msgstr "Normal" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 msgid "Fine" msgstr "Fin" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "RAW" #: src/canonmn.cpp:437 msgid "Superfine" msgstr "Superfin" #: src/canonmn.cpp:438 msgid "Normal Movie" msgstr "Normal film" #: src/canonmn.cpp:439 msgid "Movie (2)" msgstr "Film (2)" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 msgid "Auto" msgstr "Auto" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "Röda ögon" #: src/canonmn.cpp:448 msgid "Slow sync" msgstr "Långsam synkronisering" #: src/canonmn.cpp:449 msgid "Auto + red-eye" msgstr "Auto + röda ögon" #: src/canonmn.cpp:450 msgid "On + red-eye" msgstr "På + röda ögon" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 msgid "External" msgstr "Extern" #: src/canonmn.cpp:457 msgid "Single / timer" msgstr "Enkel / timer" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 msgid "Continuous" msgstr "Kontinuerlig" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 msgid "Movie" msgstr "Film" #: src/canonmn.cpp:460 msgid "Continuous, speed priority" msgstr "Kontinuerlig, hastighet prioriterad" #: src/canonmn.cpp:461 msgid "Continuous, low" msgstr "Kontinuerlig, låg" #: src/canonmn.cpp:462 msgid "Continuous, high" msgstr "Kontinuerlig, hög" #: src/canonmn.cpp:467 msgid "One shot AF" msgstr "Enstaka bild, AF" #: src/canonmn.cpp:468 msgid "AI servo AF" msgstr "AI-servo, AF" #: src/canonmn.cpp:469 msgid "AI focus AF" msgstr "AI-fokus, AF" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 msgid "Manual focus" msgstr "Manuell fokus" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 msgid "Single" msgstr "Enstaka" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 msgid "Pan focus" msgstr "Panoreringsfokus" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 msgid "Large" msgstr "Stor" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 msgid "Medium" msgstr "Medel" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 msgid "Small" msgstr "Liten" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 msgid "Medium 1" msgstr "Medium 1" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 msgid "Medium 2" msgstr "Medium 2" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 msgid "Medium 3" msgstr "Medium 3" #: src/canonmn.cpp:490 msgid "Full auto" msgstr "Helautomatik" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 msgid "Manual" msgstr "Manuell" #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 msgid "Landscape" msgstr "Landskap" #: src/canonmn.cpp:493 msgid "Fast shutter" msgstr "Snabb slutare" #: src/canonmn.cpp:494 msgid "Slow shutter" msgstr "Långsam slutare" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 msgid "Night Scene" msgstr "Nattscen" #: src/canonmn.cpp:496 msgid "Gray scale" msgstr "Gråskala" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "Sepia" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 msgid "Portrait" msgstr "Porträtt" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "Sport" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "Makro / närbild" #: src/canonmn.cpp:501 src/fujimn.cpp:149 msgid "Black & white" msgstr "Svart och vit" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 msgid "Vivid" msgstr "Levande" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 msgid "Neutral" msgstr "Neutral" #: src/canonmn.cpp:505 msgid "Flash off" msgstr "Blixt av" #: src/canonmn.cpp:506 msgid "Long shutter" msgstr "Lång slutare" #: src/canonmn.cpp:508 msgid "Foliage" msgstr "Grönska" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 msgid "Indoor" msgstr "Inomhus" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 msgid "Fireworks" msgstr "Fyrverkeri" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "Strand" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 msgid "Underwater" msgstr "Under vatten" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "Snö" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "Barn och djur" #: src/canonmn.cpp:515 msgid "Night SnapShot" msgstr "Nattbild" #: src/canonmn.cpp:516 msgid "Digital macro" msgstr "Digitalt makro" #: src/canonmn.cpp:517 msgid "My Colors" msgstr "Mina färger" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 msgid "Still image" msgstr "Stillbild" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 msgid "Other" msgstr "Övrigt" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 msgid "Low" msgstr "Låg" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 msgid "High" msgstr "Hög" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "ej tillgängligt" #: src/canonmn.cpp:540 msgid "Auto High" msgstr "Auto hög" #: src/canonmn.cpp:558 src/sonymn.cpp:235 msgid "Default" msgstr "Standard" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 msgid "Spot" msgstr "Punkt" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "Genomsnitt" #: src/canonmn.cpp:561 msgid "Evaluative" msgstr "Utvärderande" #: src/canonmn.cpp:562 src/tags.cpp:1427 msgid "Partial" msgstr "Delvis" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 msgid "Center weighted" msgstr "Mittviktad" #: src/canonmn.cpp:570 msgid "Not known" msgstr "Inte känd" #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "Makro" #: src/canonmn.cpp:572 msgid "Very close" msgstr "Mycket nära" #: src/canonmn.cpp:573 msgid "Close" msgstr "Nära" #: src/canonmn.cpp:574 msgid "Middle range" msgstr "Mellanintervall" #: src/canonmn.cpp:575 msgid "Far range" msgstr "Fjärravstånd" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 msgid "Infinity" msgstr "Oändlighet" #: src/canonmn.cpp:583 msgid "Manual AF point selection" msgstr "Manuellt punktval för AF" #: src/canonmn.cpp:584 msgid "None (MF)" msgstr "Ingen (MF)" #: src/canonmn.cpp:585 msgid "Auto-selected" msgstr "Auto-val" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 msgid "Right" msgstr "Höger" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 msgid "Center" msgstr "Centrera" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 msgid "Left" msgstr "Vänster" #: src/canonmn.cpp:589 msgid "Auto AF point selection" msgstr "Automatiskt val av AF-punkt" #: src/canonmn.cpp:594 msgid "Easy shooting (Auto)" msgstr "Enkel fotografering (auto)" #: src/canonmn.cpp:595 msgid "Program (P)" msgstr "Program (P)" #: src/canonmn.cpp:596 msgid "Shutter priority (Tv)" msgstr "Slutarprioritet (Tv)" #: src/canonmn.cpp:597 msgid "Aperture priority (Av)" msgstr "Bländarprioritet (Av)" #: src/canonmn.cpp:598 msgid "Manual (M)" msgstr "Manuell (M)" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "A-DEP" #: src/canonmn.cpp:600 msgid "M-DEP" msgstr "M-DEP" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 msgid "Did not fire" msgstr "Inte utlöst" #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 msgid "Fired" msgstr "Utlöst" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 msgid "External flash" msgstr "Extern blixt" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 msgid "Internal flash" msgstr "Intern blixt" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "TTL" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "A-TTL" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "E-TTL" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "FP-synk aktiverad" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "Andraridå-synkronisering används" #: src/canonmn.cpp:980 msgid "FP sync used" msgstr "FP-synk används" #: src/canonmn.cpp:991 msgid "Normal AE" msgstr "Normal AE" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 msgid "Exposure compensation" msgstr "Exponeringskompensation" #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "AE-lås" #: src/canonmn.cpp:994 msgid "AE lock + exposure compensation" msgstr "AE-lås + exponeringskompensation" #: src/canonmn.cpp:995 msgid "No AE" msgstr "Ingen AE" #: src/canonmn.cpp:1002 msgid "On, shot only" msgstr "På, endast tagning" #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 msgid "AF Point" msgstr "AF-punkt" #: src/canonmn.cpp:1016 msgid "Smooth" msgstr "Mjuk" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "S&V" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 msgid "Custom" msgstr "Anpassad" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 msgid "My color data" msgstr "Mitt färgdata" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 msgid "Full" msgstr "Fullständig" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "sRAW1 (mRAW)" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "sRAW2 (sRAW)" #: src/canonmn.cpp:1043 msgid "Selftimer" msgstr "Självutlösare" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 msgid "Self timer" msgstr "Självutlösare" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 msgid "Quality" msgstr "Kvalitet" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 msgid "Flash Mode" msgstr "Blixtläge" #: src/canonmn.cpp:1045 msgid "Flash mode setting" msgstr "Inställning för blixtläge" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 msgid "Drive Mode" msgstr "Motorläge" #: src/canonmn.cpp:1046 msgid "Drive mode setting" msgstr "Inställning för motorläge" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 msgid "Focus Mode" msgstr "Fokusläge" #: src/canonmn.cpp:1048 msgid "Focus mode setting" msgstr "Inställning för fokusläge" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 msgid "Image Size" msgstr "Bildstorlek" #: src/canonmn.cpp:1052 msgid "Easy Mode" msgstr "Enkelt läge" #: src/canonmn.cpp:1052 msgid "Easy shooting mode" msgstr "Enkelt fotograferingsläge" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 msgid "Digital Zoom" msgstr "Digitalzoom" #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 msgid "Digital zoom" msgstr "Digitalzoom" #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 msgid "Contrast" msgstr "Kontrast" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 msgid "Contrast setting" msgstr "Kontrastinställning" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 msgid "Saturation" msgstr "Mättnad" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 msgid "Saturation setting" msgstr "Mättnadsinställning" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 msgid "Sharpness" msgstr "Skärpa" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 msgid "Sharpness setting" msgstr "Inställning för skärpa" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 msgid "ISO Speed Mode" msgstr "Läge för ISO-hastighet" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 msgid "ISO speed setting" msgstr "Inställning för ISO-hastighet" #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 msgid "Metering Mode" msgstr "Mätarläge" #: src/canonmn.cpp:1058 msgid "Metering mode setting" msgstr "Inställning för mätläge" #: src/canonmn.cpp:1059 msgid "Focus Type" msgstr "Fokustyp" #: src/canonmn.cpp:1059 msgid "Focus type setting" msgstr "Inställning för fokustyp" #: src/canonmn.cpp:1060 msgid "AF point selected" msgstr "AF-punkt vald" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 msgid "Exposure Program" msgstr "Exponeringsprogram" #: src/canonmn.cpp:1061 msgid "Exposure mode setting" msgstr "Inställning för exponeringsläge" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 msgid "Lens Type" msgstr "Objektivtyp" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 msgid "Lens type" msgstr "Objektivtyp" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 msgid "Lens" msgstr "Objektiv" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" "”lång” och ”kort” brännvidd för objektivet (i ”brännviddsenheter”) och " "”brännviddsenheter” per mm" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "Kort brännvidd" #: src/canonmn.cpp:1065 msgid "Short focal" msgstr "Kort brännvidd" #: src/canonmn.cpp:1066 msgid "Focal Units" msgstr "Brännviddsenheter" #: src/canonmn.cpp:1066 msgid "Focal units" msgstr "Brännviddsenheter" #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 msgid "Max Aperture" msgstr "Största bländare" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 msgid "Max aperture" msgstr "Största bländare" #: src/canonmn.cpp:1068 msgid "Min Aperture" msgstr "Minsta bländare" #: src/canonmn.cpp:1068 msgid "Min aperture" msgstr "Minsta bländare" #: src/canonmn.cpp:1069 msgid "Flash Activity" msgstr "Blixtaktivitet" #: src/canonmn.cpp:1069 msgid "Flash activity" msgstr "Blixtaktivitet" #: src/canonmn.cpp:1070 msgid "Flash Details" msgstr "Blixtdetaljer" #: src/canonmn.cpp:1070 msgid "Flash details" msgstr "Blixtdetaljer" #: src/canonmn.cpp:1073 msgid "Focus Continuous" msgstr "Kontinuerligt fokus" #: src/canonmn.cpp:1073 msgid "Focus continuous setting" msgstr "Inställning för kontinuerligt fokus" #: src/canonmn.cpp:1074 msgid "AESetting" msgstr "AE-inställning" #: src/canonmn.cpp:1074 msgid "AE setting" msgstr "AE-inställning" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 msgid "Image Stabilization" msgstr "Bildstabilisering" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 msgid "Image stabilization" msgstr "Bildstabilisering" #: src/canonmn.cpp:1076 msgid "Display Aperture" msgstr "Visa bländare" #: src/canonmn.cpp:1076 msgid "Display aperture" msgstr "Visa bländare" #: src/canonmn.cpp:1077 msgid "Zoom Source Width" msgstr "Zoomkällans bredd" #: src/canonmn.cpp:1077 msgid "Zoom source width" msgstr "Zoomkällans bredd" #: src/canonmn.cpp:1078 msgid "Zoom Target Width" msgstr "Zoommålets bredd" #: src/canonmn.cpp:1078 msgid "Zoom target width" msgstr "Zoommålets bredd" #: src/canonmn.cpp:1080 msgid "Spot Metering Mode" msgstr "Punktmätningsläge" #: src/canonmn.cpp:1080 msgid "Spot metering mode" msgstr "Punktmätningsläge" #: src/canonmn.cpp:1081 msgid "Photo Effect" msgstr "Fotoeffekt" #: src/canonmn.cpp:1081 msgid "Photo effect" msgstr "Fotoeffekt" #: src/canonmn.cpp:1082 msgid "Manual Flash Output" msgstr "Manuell blixtutmatning" #: src/canonmn.cpp:1082 msgid "Manual flash output" msgstr "Manuell blixtutmatning" #: src/canonmn.cpp:1083 msgid "Color Tone" msgstr "Färgton" #: src/canonmn.cpp:1083 msgid "Color tone" msgstr "Färgton" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "SRAW-kvalitetston" #: src/canonmn.cpp:1084 msgid "SRAW quality" msgstr "SRAW-kvalitet" #: src/canonmn.cpp:1086 msgid "Unknown Canon Camera Settings 1 tag" msgstr "Okänd Canon kamerainställningar 1-tagg" #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 msgid "Daylight" msgstr "Dagsljus" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 msgid "Cloudy" msgstr "Molnigt" #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 msgid "Tungsten" msgstr "Volfram" #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 msgid "Fluorescent" msgstr "Fluorescerande" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 msgid "Black & White" msgstr "Svart och vitt" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "Skugga" #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "Manuell temperatur (Kelvin)" # TODO #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "PC Set 1" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "PC Set 2" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "PC Set 3" #: src/canonmn.cpp:1109 msgid "Daylight Fluorescent" msgstr "Dagsljus fluorescerande" #: src/canonmn.cpp:1110 src/properties.cpp:816 msgid "Custom 1" msgstr "Anpassad 1" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 msgid "Custom 2" msgstr "Anpassad 2" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 msgid "Custom 3" msgstr "Anpassad 3" #: src/canonmn.cpp:1115 msgid "PC Set 4" msgstr "PC set 4" #: src/canonmn.cpp:1116 msgid "PC Set 5" msgstr "PC set 5" #: src/canonmn.cpp:1117 msgid "Auto (ambience priority)" msgstr "Auto (ambiensprioritet)" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 msgid "left" msgstr "vänster" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 msgid "center" msgstr "mitten" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 msgid "right" msgstr "höger" #: src/canonmn.cpp:1151 msgid "ISO Speed Used" msgstr "Använder ISO-hastighet" #: src/canonmn.cpp:1151 msgid "ISO speed used" msgstr "Använder ISO-hastighet" #: src/canonmn.cpp:1152 msgid "Measured EV" msgstr "Uppmätt EV" #: src/canonmn.cpp:1153 msgid "Target Aperture" msgstr "Slutningsmål" #: src/canonmn.cpp:1154 msgid "Target Shutter Speed" msgstr "Slutarens målhastighet" #: src/canonmn.cpp:1154 msgid "Target shutter speed" msgstr "Slutarens målhastighet" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 msgid "White Balance" msgstr "Vitbalans" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 msgid "White balance setting" msgstr "Vitbalansinställning" #: src/canonmn.cpp:1158 msgid "Sequence" msgstr "Sekvens" #: src/canonmn.cpp:1158 msgid "Sequence number (if in a continuous burst)" msgstr "Sekvensnummer (om i seriebildsläge)" #: src/canonmn.cpp:1163 msgid "AF Point Used" msgstr "Använd AF-punkt" #: src/canonmn.cpp:1163 msgid "AF point used" msgstr "Använd AF-punkt" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 msgid "Flash Bias" msgstr "Blixtkompensation" #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 msgid "Subject Distance" msgstr "Motivets avstånd" #: src/canonmn.cpp:1168 msgid "Subject distance (units are not clear)" msgstr "Motivets avstånd (oklara enheter)" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 msgid "Aperture Value" msgstr "Bländarvärde" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 msgid "Shutter Speed Value" msgstr "Slutarhastighet" #: src/canonmn.cpp:1171 src/tags.cpp:1630 msgid "Shutter speed" msgstr "Slutartid" #: src/canonmn.cpp:1172 msgid "Measured EV 2" msgstr "Uppmätt EV 2" #: src/canonmn.cpp:1177 msgid "Unknown Canon Camera Settings 2 tag" msgstr "Okänd Canon kamerainställningar 2-tagg" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 msgid "Left to right" msgstr "Vänster till höger" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 msgid "Right to left" msgstr "Höger till vänster" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 msgid "Bottom to top" msgstr "Botten till topp" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 msgid "Top to bottom" msgstr "Topp till botten" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "2x2-matris (medurs)" #: src/canonmn.cpp:1196 msgid "Panorama Frame" msgstr "Panoramaram" #: src/canonmn.cpp:1196 msgid "Panorama frame number" msgstr "Panoramaram nummer" #: src/canonmn.cpp:1197 msgid "Panorama Direction" msgstr "Panoramariktning" #: src/canonmn.cpp:1197 msgid "Panorama direction" msgstr "Panoramariktning" #: src/canonmn.cpp:1199 msgid "Unknown Canon Panorama tag" msgstr "Okänd Canon Panorama-tagg" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 msgid "Noise Reduction" msgstr "Brusreduktion" #: src/canonmn.cpp:1209 msgid "Long exposure noise reduction" msgstr "Reduktion för brus vid lång exponeringstid" #: src/canonmn.cpp:1210 msgid "Shutter Ae Lock" msgstr "Slutarens AE-lås" #: src/canonmn.cpp:1210 msgid "Shutter/AE lock buttons" msgstr "Slutar-/AE-låsknappar" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "Spegeluppfällning" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "Spegeluppfällning" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 msgid "Exposure Level Increments" msgstr "Ökning för exponeringsnivå" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "Tv/Av och exponeringsnivå" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 msgid "AF Assist" msgstr "AF-hjälp" #: src/canonmn.cpp:1213 msgid "AF assist light" msgstr "AF-hjälp, lätt" #: src/canonmn.cpp:1214 msgid "Flash Sync Speed Av" msgstr "Blixtsynkroniseringshastighet Av" #: src/canonmn.cpp:1214 msgid "Shutter speed in Av mode" msgstr "Slutarhastighet i Av-läge" #: src/canonmn.cpp:1215 msgid "AEB Sequence" msgstr "AEB-sekvens" #: src/canonmn.cpp:1215 msgid "AEB sequence/auto cancellation" msgstr "AEB-sekvens/automatiskt avbrott" #: src/canonmn.cpp:1216 msgid "Shutter Curtain Sync" msgstr "Slutarskydd, synkronisering" #: src/canonmn.cpp:1216 msgid "Shutter curtain sync" msgstr "Synkronisera slutarskydd" #: src/canonmn.cpp:1217 msgid "Lens AF Stop Button" msgstr "Objektiv-AF stoppknapp" #: src/canonmn.cpp:1217 msgid "Lens AF stop button Fn. Switch" msgstr "Objektiv-AF stoppknapp-funktionsväxlare" #: src/canonmn.cpp:1218 msgid "Fill Flash Auto Reduction" msgstr "Blixtfyllnad auto-reducering" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "Automatisk reducering av blixtfyllnad" #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "Menyknapp Tillbaka" #: src/canonmn.cpp:1219 msgid "Menu button return position" msgstr "Menyknappen Tillbakas position" #: src/canonmn.cpp:1220 msgid "Set Button Function" msgstr "Set-knappens funktion" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "Set-knappens funktion vid fotografering" #: src/canonmn.cpp:1221 msgid "Sensor Cleaning" msgstr "Sensorrengöring" #: src/canonmn.cpp:1221 msgid "Sensor cleaning" msgstr "Sensorrengöring" #: src/canonmn.cpp:1222 msgid "Superimposed Display" msgstr "Visa ovanpå" #: src/canonmn.cpp:1222 msgid "Superimposed display" msgstr "Visning ovanpå" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "Slutarsläpp inget CF-kort" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "Slutarsläpp utan CF-kort" #: src/canonmn.cpp:1225 msgid "Unknown Canon Custom Function tag" msgstr "Okänd anpassad Canon-funktionstagg" #: src/canonmn.cpp:1236 msgid "mid-right" msgstr "mitt-höger" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 msgid "bottom" msgstr "nederkant" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 msgid "top" msgstr "överkant" #: src/canonmn.cpp:1240 msgid "mid-left" msgstr "mitt-vänster" #: src/canonmn.cpp:1247 msgid "upper-left" msgstr "överkant-vänster" #: src/canonmn.cpp:1248 msgid "upper-right" msgstr "överkant-höger" #: src/canonmn.cpp:1252 msgid "lower-left" msgstr "underkant-vänster" #: src/canonmn.cpp:1253 msgid "lower-right" msgstr "underkant-höger" #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 msgid "Image Width" msgstr "Bildbredd" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 msgid "Image width" msgstr "Bildbredd" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 msgid "Image Height" msgstr "Bildhöjd" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 msgid "Image height" msgstr "Bildhöjd" #: src/canonmn.cpp:1261 msgid "Image Width As Shot" msgstr "Bildbredd som fotograferad" #: src/canonmn.cpp:1261 msgid "Image width (as shot)" msgstr "Bildbredd som fotograferad" #: src/canonmn.cpp:1262 msgid "Image Height As Shot" msgstr "Bildhöjd som fotograferad" #: src/canonmn.cpp:1262 msgid "Image height (as shot)" msgstr "Bildhöjd som fotograferad" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF Points Used" msgstr "Använda AF-punkter" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF points used" msgstr "Använda AF-punkter" #: src/canonmn.cpp:1264 msgid "AF Points Used 20D" msgstr "Använda AF-punkter 20D" #: src/canonmn.cpp:1264 msgid "AF points used (20D)" msgstr "Använda AF-punkter (20D)" #: src/canonmn.cpp:1266 msgid "Unknown Canon Picture Info tag" msgstr "Okänd Canon-bildinfotagg" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "AEB" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "FEB" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 msgid "ISO" msgstr "ISO" #: src/canonmn.cpp:1280 msgid "WB" msgstr "WB" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "Vykort" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "Bredbild" #: src/canonmn.cpp:1293 msgid "Medium Movie" msgstr "Mellan film" #: src/canonmn.cpp:1294 msgid "Small Movie" msgstr "Liten film" #: src/canonmn.cpp:1300 msgid "On 1" msgstr "På 1" #: src/canonmn.cpp:1301 msgid "On 2" msgstr "På 2" #: src/canonmn.cpp:1309 msgid "On (shift AB)" msgstr "På (byt AB)" #: src/canonmn.cpp:1310 msgid "On (shift GM)" msgstr "På (byt GM)" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "Gul" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 msgid "Orange" msgstr "Orange" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 msgid "Red" msgstr "Röd" #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 msgid "Green" msgstr "Grön" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 msgid "Blue" msgstr "Blå" #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "Lila" #: src/canonmn.cpp:1334 msgid "Bracket Mode" msgstr "Gafflingläge" #: src/canonmn.cpp:1335 msgid "Bracket Value" msgstr "Gafflingsvärde" #: src/canonmn.cpp:1336 msgid "Bracket Shot Number" msgstr "Gafflingbildnummer" #: src/canonmn.cpp:1337 msgid "Raw Jpg Quality" msgstr "RAW JPG-kvalité" #: src/canonmn.cpp:1338 msgid "Raw Jpg Size" msgstr "RAW JPG-storlek" #: src/canonmn.cpp:1340 msgid "WB Bracket Mode" msgstr "WB-gafflingläge" #: src/canonmn.cpp:1341 msgid "WB Bracket Value AB" msgstr "WB-gaffling stödvärde AB" #: src/canonmn.cpp:1342 msgid "WB Bracket Value GM" msgstr "WB-gaffling stödvärde GM" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 msgid "Filter Effect" msgstr "Filtereffekt" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 msgid "Toning Effect" msgstr "Nyanseffekt" #: src/canonmn.cpp:1345 msgid "Macro Magnification" msgstr "Makroförstoring" #: src/canonmn.cpp:1345 msgid "Macro magnification" msgstr "Makroförstoring" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "Direktvyfotografering" #: src/canonmn.cpp:1346 msgid "Live view shooting" msgstr "Direktvyfotografering" #: src/canonmn.cpp:1347 msgid "Focus Distance Upper" msgstr "Fokusavstånd övre" #: src/canonmn.cpp:1348 msgid "Focus Distance Lower" msgstr "Fokusavstånd nedre" #: src/canonmn.cpp:1349 msgid "Flash Exposure Lock" msgstr "Blixtexponeringslås" #: src/canonmn.cpp:1349 msgid "Flash exposure lock" msgstr "Blixtexponeringslås" #: src/canonmn.cpp:1351 msgid "Unknown Canon File Info tag" msgstr "Okänd Canon-filinfotagg" #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 msgid "Standard" msgstr "Standard" #: src/canonmn.cpp:1369 msgid "Lowest" msgstr "Lägsta" #: src/canonmn.cpp:1373 msgid "Highest" msgstr "Högsta" #: src/canonmn.cpp:1381 msgid "High Saturation" msgstr "Hög färgmättnad" #: src/canonmn.cpp:1383 msgid "Low Saturation" msgstr "Låg färgmättnad" #: src/canonmn.cpp:1384 msgid "CM Set 1" msgstr "CM mängd 1" #: src/canonmn.cpp:1385 msgid "CM Set 2" msgstr "CM mängd 2" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "Användardef. 1" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "Användardef. 2" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "Användardef. 3" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "PC 1" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "PC 2" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "PC 3" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "Trogen" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 msgid "Monochrome" msgstr "Svartvitt" #: src/canonmn.cpp:1399 msgid "Fine Detail" msgstr "Detaljerade detaljer" #: src/canonmn.cpp:1404 msgid "ToneCurve" msgstr "Nyanskurva" #: src/canonmn.cpp:1404 msgid "Tone curve" msgstr "Nyanskurva" #: src/canonmn.cpp:1406 msgid "SharpnessFrequency" msgstr "Skärpafrekvens" #: src/canonmn.cpp:1406 msgid "Sharpness frequency" msgstr "Skärpafrekvens" #: src/canonmn.cpp:1407 msgid "SensorRedLevel" msgstr "Sensorns rödnivå" #: src/canonmn.cpp:1407 msgid "Sensor red level" msgstr "Sensorns rödnivå" #: src/canonmn.cpp:1408 msgid "SensorBlueLevel" msgstr "Sensorns blånivå" #: src/canonmn.cpp:1408 msgid "Sensor blue level" msgstr "Sensorns blånivå" #: src/canonmn.cpp:1409 msgid "WhiteBalanceRed" msgstr "Vitbalans röd" #: src/canonmn.cpp:1409 msgid "White balance red" msgstr "Vitbalans röd" #: src/canonmn.cpp:1410 msgid "WhiteBalanceBlue" msgstr "Vitbalans blå" #: src/canonmn.cpp:1410 msgid "White balance blue" msgstr "Vitbalans blå" #: src/canonmn.cpp:1411 msgid "WhiteBalance" msgstr "Vitbalans" #: src/canonmn.cpp:1412 msgid "ColorTemperature" msgstr "Färgtemperatur" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 msgid "Color Temperature" msgstr "Färgtemperatur" #: src/canonmn.cpp:1413 msgid "PictureStyle" msgstr "Bildstil" #: src/canonmn.cpp:1413 msgid "Picture style" msgstr "Bildstil" #: src/canonmn.cpp:1414 msgid "DigitalGain" msgstr "Digital förstärkning" #: src/canonmn.cpp:1414 msgid "Digital gain" msgstr "Digital förstärkning" #: src/canonmn.cpp:1415 msgid "WBShiftAB" msgstr "WBskiftAB" #: src/canonmn.cpp:1415 msgid "WBShift AB" msgstr "WBskift AB" #: src/canonmn.cpp:1416 msgid "WBShiftGM" msgstr "WBskift GM" #: src/canonmn.cpp:1416 msgid "WB Shift GM" msgstr "WBskift GM" #: src/canonmn.cpp:1417 msgid "Unknown Canon Processing Info tag" msgstr "Okänd Canon-behandlingsinfotagg" #: src/crwimage.cpp:656 msgid "Header, offset" msgstr "Huvud, förskjutning" #: src/crwimage.cpp:674 msgid "tag" msgstr "tagg" #: src/crwimage.cpp:676 msgid "dir" msgstr "kat" #: src/crwimage.cpp:678 msgid "type" msgstr "typ" #: src/crwimage.cpp:679 msgid "size" msgstr "storlek" #: src/crwimage.cpp:680 msgid "offset" msgstr "förskjutning" #: src/datasets.cpp:79 msgid "(invalid)" msgstr "(ogiltig)" #: src/datasets.cpp:80 msgid "IIM envelope record" msgstr "IIM-kuvert post" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "IIM-program post 2" #: src/datasets.cpp:85 msgid "Model Version" msgstr "Modellversion" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Ett binärtal som identifierar versionen för Information Interchange Model, " "del 1, använd av leverantören. Versionsnummer tilldelas av organisationerna " "IPTC och NAA." #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 msgid "Destination" msgstr "Mål" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" "Den här datamängden underlättar för vissa leverantörer som behöver " "routinginformation ovanpå de passande OSI-lagren." #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 msgid "File Format" msgstr "Filformat" #: src/datasets.cpp:95 msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" "Ett binärtal som representerar filformatet. Filformatet måste vara " "registrerat hos IPTC eller NAA med ett unikt nummer tilldelat. Informationen " "används för att styra data till rätt system och för att låta " "mottagarsystemet utföra de lämpliga åtgärderna där med." #: src/datasets.cpp:101 msgid "File Version" msgstr "Filversion" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" "Ett binärtal som representerar den särskilda filformatsversionen som anges " "av taggen ." #: src/datasets.cpp:105 msgid "Service Id" msgstr "Tjänste-ID" #: src/datasets.cpp:106 msgid "Identifies the provider and product" msgstr "Identifierar leverantör och produkt" #: src/datasets.cpp:108 msgid "Envelope Number" msgstr "Kuvertnummer" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" "Tecknen bildar ett nummer unikt för datumet som anges i taggen " "och för tjänste-IDn angiven i taggen . Om identiska " "kuvertnummer visas med samma datum och tjänste-ID, måste posterna 2-9 vara " "samma som i originalet. Det här är inte avsett som en sekventiell " "serienummermottagningskontroll." #: src/datasets.cpp:117 msgid "Product Id" msgstr "Produkt-ID" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" "Låter en leverantör identifiera undergrupper i sin övergripande tjänst. " "Används för att ge mottagande organisation data för urval, routing eller " "annan datahantering." #: src/datasets.cpp:122 msgid "Envelope Priority" msgstr "Kuvert-prioritet" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" "Anger kuvertets hanteringsprioritet och inte den redaktionella brådskan (se " "taggen ). ”1” är mest brådskande, ”5” normal brådska, och ”8” den " "minst brådskande kopian. Siffran ”9” ses som en användardefinierad " "prioritet. Siffran ”0” är reserverad för framtida bruk." #: src/datasets.cpp:129 msgid "Date Sent" msgstr "Datum skickad" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" "Använder formatet ÅÅÅÅMMDD (fyrsiffrigt år, månad, dag) enligt definitionen " "i ISO 8601 för att ange år, månad, och dag då tjänsten skickade materialet." #: src/datasets.cpp:133 msgid "Time Sent" msgstr "Tid skickad" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" "Använder formatet TTMMSS:TTMM där TTMMSS visar lokal timme, minut och " "sekund, och HHMM visar timmar och minuter före (+) eller efter (-) Universal " "Time Coordinated, enligt definitionen i ISO 8601. Det här är tidpunkten då " "tjänsten sände materialet." #: src/datasets.cpp:139 msgid "Character Set" msgstr "Teckenuppsättning" #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" "Taggen består av en eller fler kontrollfunktioner som används för " "tillkännagivande, åkallande eller benämning av kodade teckenuppsättningar. " "Kontrollfunktionerna följer standarden ISO 2022 och kan bestå av " "flyktkontrolltecknet och en eller fler grafiska tecken." #: src/datasets.cpp:145 msgid "Unique Name Object" msgstr "Unikt namnobjekt" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" "Taggen tillhandahåller en globalt unik identifikation för objekt, per " "specifikation i IIM, oberoende av leverantör och mediaformat. Leverantören " "måste försäkra sig om att UNOet är unikt. Objekt med samma UNO är identiska." #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "ARM-identifierare" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" "Datamängden identifierar Abstract Relationship Method-identifieraren (ARM) " "som beskrivs i ett dokument registrerat för skaparen av ARM hos " "organisationerna IPTC och NAA." #: src/datasets.cpp:156 msgid "ARM Version" msgstr "ARM-version" #: src/datasets.cpp:157 msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" "Taggen består av ett binärtal som representerar den särskilda ARM-versionen " "som anges i taggen ." #: src/datasets.cpp:170 msgid "Record Version" msgstr "Inspelningsversion" #: src/datasets.cpp:171 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Ett binärtal som identifierar versionen av Information Interchange Model, " "del 2, som används av leverantören. Versionsnummer tilldelas av " "organisationerna IPTC och NAA." #: src/datasets.cpp:175 msgid "Object Type" msgstr "Objekttyp" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" "Objekttyp används för att skilja mellan olika typer av objekt inom IIM. Den " "första delen är ett nummer som representerar en språkoberoende " "internationell referens till en objekttyp följd av en kolonavskiljare. Den " "andra delen, om den används, är en textrepresentation av objekttypsnumret " "och består av grafiska tecken och blanksteg antingen på engelska eller i " "tjänstens språk som visas i taggen " #: src/datasets.cpp:184 msgid "Object Attribute" msgstr "Objektattribut" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" "Objektattribut definierar objektets natur oberoende av rubriken. Den första " "delen är ett nummer som representerar en språkoberoende reference till ett " "objektattribut och följs av en kolonavskiljare. Den andra delen, om den " "används, är en textrepresentation av objektattributsnumret och består av " "grafiska tecken och mellanrum antingen på engelska eller i tjänstens språk " "som visas i taggen " #: src/datasets.cpp:193 msgid "Object Name" msgstr "Objektnamn" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" "Används som en snabbreferens för objektet. Ändringar på existerande data, " "som uppdaterade historier eller nya beskärningar av bilder, bör identifieras " "i taggen ." #: src/datasets.cpp:198 msgid "Document Title" msgstr "Dokumenttitel" #: src/datasets.cpp:199 src/olympusmn.cpp:827 msgid "Edit Status" msgstr "Redigera status" #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "Status för objektdatan enligt leverantörens praxis." #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "Redaktionell uppdatering" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" "Visar typen av uppdatering som det här objektet ger ett tidigare objekt. " "Länken till det tidigare objektet skapas med taggarna och " ", enligt leverantörens praxis." #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "Brådska" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" "Anger den redaktionella brådskan för innehållet, och inte nödvändigtvis " "kuverthanteringens prioritet (se taggen ). ”1” är mest " "brådskande, ”5” normal, och ”8” är den minst brådskande kopian." #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 msgid "Subject" msgstr "Ämne" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "Ämnesreferensen är en strukturerad definition av ämnet." #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "Kategori" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" "Identifierar objektdatans ämne i leverantörens perspektiv. En lista över " "kategorier underhålls i ett regionalt register om möjligt, annars hos " "leverantören." #: src/datasets.cpp:222 msgid "Supplemental Category" msgstr "Extrakategori" #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" "Extrakategorier ger en tydligare beskrivning av objektdatans ämne. En " "extrakategori kan inkludera någon av de etablerade kategorierna i taggen " ". Annars lämnas valet av extrakategorier till leverantören." #: src/datasets.cpp:228 src/properties.cpp:442 msgid "Supplemental Categories" msgstr "Extrakategorier" #: src/datasets.cpp:229 msgid "Fixture Id" msgstr "Fixtur-ID" #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" "Identifierar objektdata som återkommer ofta och i förutsägbara " "omständigheter. Gör att användare omedelbart hittar eller kommer ihåg ett " "sådant objekt." #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 msgid "Keywords" msgstr "Nyckelord" #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" "Används för att visa specifik informationshämtningsord. Det förväntas att en " "leverantör av olika sorters data som relaterar till ämnet använder samma " "nyckelord, vilket gör att mottagarsystemet eller dess delsystem kan söka " "bland alla datatyper för relaterat material." #: src/datasets.cpp:240 msgid "Location Code" msgstr "Platskod" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" "Visar koden för ett land eller en geografisk plats som pekas ut i objektets " "innehåll. I de fall ISO har en etablerad landskod i ISO 3166 kommer den " "koden användas. Om ISO 3166 inte ger tillräcklig identifikation för en plats " "eller ett land, t.ex. skepp till havs, rymden, kommer IPTC tilldela en " "passande tre-teckenkod bildad utifrån ISO 3166 för att undvika konflikter." #: src/datasets.cpp:248 msgid "Location Name" msgstr "Platsnamn" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" "Ger ett fullständigt och publicerbart namn för ett land eller en geografisk " "plats som pekas ut i objektets innehåll, enligt leverantörens riktlinjer." #: src/datasets.cpp:253 src/properties.cpp:376 msgid "Release Date" msgstr "Utgivningsdatum" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" "Anger datum i formatet ÅÅÅÅMMDD för det tidigaste tillfället leverantören " "avser att objektet ska användas. Följer standarden ISO 8601." #: src/datasets.cpp:257 msgid "Release Time" msgstr "Utgivningstid" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" "Anger datum i formatet TTMMSS:TTMM för det tidigaste tillfället leverantören " "avser att objektet ska användas. Följer standarden ISO 8601." #: src/datasets.cpp:261 msgid "Expiration Date" msgstr "Utgångsdatum" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" "Anger datum i formatet ÅÅÅÅMMDD för det senaste tillfället leverantören " "avser att objektet ska användas. Följer standarden ISO 8601." #: src/datasets.cpp:265 msgid "ExpirationTime" msgstr "Utgångstid" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" "Anger datum i formatet TTMMSS:TTMM för det senaste tillfället leverantören " "avser att objektet ska användas. Följer standarden ISO 8601." #: src/datasets.cpp:269 msgid "Special Instructions" msgstr "Speciella instruktioner" #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" "Andra redaktionella instruktioner gällande användning av objektdata som " "embargon och varningar." #: src/datasets.cpp:273 src/properties.cpp:439 msgid "Instructions" msgstr "Instruktioner" #: src/datasets.cpp:274 msgid "Action Advised" msgstr "Föreslagen åtgärd" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" "Visar typen av åtgärd det här objektet utför på ett tidigare objekt. Länken " "till det tidigare objektet bildas genom att använda taggarna " "och enligt leverantörens praxis." #: src/datasets.cpp:279 msgid "Reference Service" msgstr "Referenstjänst" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" "Identifierar tjänsteidentifieraren för ett tidigare kuvert till vilket " "nuvarande objekt hänvisar." #: src/datasets.cpp:283 msgid "Reference Date" msgstr "Referensdatum" #: src/datasets.cpp:284 msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "" "Identifierar datum för ett tidigare kuvert till vilket nuvarande objekt " "hänvisar." #: src/datasets.cpp:286 msgid "Reference Number" msgstr "Referensnummer" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "" "Identifierar kuvertnumret för ett tidigare kuvert till vilket nuvarande " "objekt hänvisar." #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 msgid "Date Created" msgstr "Datum skapad" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" "Representeras i formatet ÅÅÅÅMMDD för att ange datum då det intellektuella " "innehållet i objektdatan skapades snarare än då dess fysiska representation " "skapades. Följer standarden ISO 8601." #: src/datasets.cpp:295 msgid "Time Created" msgstr "Skapad tid" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" "Representeras i formatet TTMMSS:TTMM för att ange tiden då det " "upphovsrättsliga innehållet i objektdatan skapades snarare än då dess " "fysiska representation skapades. Följer standarden ISO 8601." #: src/datasets.cpp:301 msgid "Digitization Date" msgstr "Digitaliseringsdatum" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" "Representeras i formatet ÅÅÅÅMMDD för att ange datum då den digitala " "representationen av objektdatan skapades. Följer standarden ISO 8601." #: src/datasets.cpp:305 msgid "Digitization Time" msgstr "Digitaliseringstid" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" "Representeras i formatet TTMMSS:TTMM för att ange tiden då den digitala " "representationen av objektdatan skapades. Följer standarden ISO 8601." #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 msgid "Program" msgstr "Program" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "Identifierar vilken typ av program användes för att skapa objektdatan." #: src/datasets.cpp:313 msgid "Program Version" msgstr "Programversion" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "" "Används för att identifiera versionen av programmet som nämns i taggen " "." #: src/datasets.cpp:316 msgid "Object Cycle" msgstr "Objektcykel" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "Används för att identifiera objektdatans redaktionella cykel." #: src/datasets.cpp:319 msgid "By-line" msgstr "By-line" #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "" "Innehåller namnet på skaparen av objektdatan, t.ex. författare, fotograf, " "eller grafiker." #: src/datasets.cpp:323 src/properties.cpp:2103 msgid "Author" msgstr "Upphovsman" #: src/datasets.cpp:324 msgid "By-line Title" msgstr "By-line titel" #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "" "En by-line-titel är titeln för skaparen eller skaparna av ett objektdata. " "När den används ska by-line-titeln följa den by-line den modifierar." #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 msgid "City" msgstr "Stad" #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" "Identifierar staden objektdatan härrör från enligt leverantörens riktlinjer." #: src/datasets.cpp:333 msgid "Sub Location" msgstr "Delplats" #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" "Identifierar platsen inom den stad från vilket objektdatan härrör, enligt " "leverantörens riktlinjer." #: src/datasets.cpp:337 msgid "Province State" msgstr "Provins/Stat" #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "" "Identifierar ursprungsprovins eller -stat enligt leverantörens riktlinjer." #: src/datasets.cpp:341 msgid "State/Province" msgstr "Stat/region" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 msgid "Country Code" msgstr "Landskod" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" "Visar koden för landet eller den primära platsen där immaterialrätten för " "objektdatan skapades, t.ex. där ett foto togs, eller ett evenemang tilldrog " "sig. I de fall då ISO har en etablerad landskod i ISO 3166 kommer den koden " "användas. Om ISO 3166 inte ger godtagbar identifikation för en plats eller " "ett nytt land, t.ex. skepp till havs, eller rymden, kommer IPTC tilldela en " "lämplig tre-teckenkod formad enligt ISO 3166 för att undvika konflikter." #: src/datasets.cpp:352 msgid "Country Name" msgstr "Landsnamn" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" "Ger ett fullständigt och tryckbart namn för landet eller den primära plats " "där immaterialrätten för objektdatan skapades, enligt leverantörens " "riktlinjer." #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 msgid "Country" msgstr "Land" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 msgid "Transmission Reference" msgstr "Sändningsreferens" #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" "En kod som representerar platsen för den ursprungliga sändningen enligt " "leverantörens praxis." #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 msgid "Headline" msgstr "Rubrik" #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "En tryckbar post som ger en sammanfattning av objektdatans innehåll." #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 msgid "Credit" msgstr "Tack till" #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "" "Identifierar vem som tillhandahåller objektdatan, inte nödvändigtvis ägaren/" "skaparen." #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source" msgstr "Källa" #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" "Identifierar den ursprungliga ägaren av objektdatans upphovsrättsliga " "innehåll. Det kan vara en agentur, en medlem av en agentur, eller en individ." #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "Innehåller nödvändig upphovsrättsinformation." #: src/datasets.cpp:379 msgid "Copyright Notice" msgstr "Upphovsrättslig information" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 msgid "Contact" msgstr "Kontakt" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" "Identifierar personen eller organisationen som kan ge vidare " "bakgrundsinformation om objektdatan." #: src/datasets.cpp:384 src/properties.cpp:2101 msgid "Caption" msgstr "Text" #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "En textbeskrivning av objektdatat." #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 msgid "Description" msgstr "Beskrivning" #: src/datasets.cpp:388 msgid "Writer" msgstr "Författare" #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" "Identifikationsnamn för personen som har skrivit, redigerat, eller rättat " "objektdatan eller bildtext/sammanfattning." #: src/datasets.cpp:392 msgid "Rasterized Caption" msgstr "Rastrerad bildtext" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" "Innehåller den rastrerade objektdatabeskrivningen och används där tecken som " "inte har kodats krävs för bildtexten." #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "Indikerar färgkomponenterna för en bild." #: src/datasets.cpp:399 msgid "Image Orientation" msgstr "Bildorientering" #: src/datasets.cpp:400 msgid "Indicates the layout of an image." msgstr "Visar bildens layout." #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 msgid "Language" msgstr "Språk" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" "Beskriver det största språket i objektet, enligt två-bokstavskoderna i ISO " "639:1988. Definierar eller antyder inte någon kodad teckenuppsättning, men " "används för intern styrning, t.ex. till olika redaktionskontor." #: src/datasets.cpp:408 msgid "Audio Type" msgstr "Ljudtyp" #: src/datasets.cpp:409 msgid "Indicates the type of an audio content." msgstr "Visar typ av ljudinnehåll." #: src/datasets.cpp:411 msgid "Audio Rate" msgstr "Ljudfrekvens" #: src/datasets.cpp:412 msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "Visar samplingsfrekvens i Hertz för ljudinnehåll." #: src/datasets.cpp:414 msgid "Audio Resolution" msgstr "Ljudupplösning" #: src/datasets.cpp:415 msgid "Indicates the sampling resolution of an audio content." msgstr "Visar samplingsupplösning för ljudinnehåll." #: src/datasets.cpp:417 msgid "Audio Duration" msgstr "Speltid för ljud" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "Visar ljudinnehållets varaktighet." #: src/datasets.cpp:420 msgid "Audio Outcue" msgstr "Ljud utsignal" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" "Identifierar innehållet för ett ljudobjektdatas slut, enligt leverantörens " "riktlinjer." #: src/datasets.cpp:424 msgid "Preview Format" msgstr "Förhandsvisningsformat" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" "Ett binärtal som visar filformatet för objektdatans förhandsvisning. " "Filformatet måste vara registrerat hos organisationerna IPTC och NAA med ett " "unikt nummer tilldelat." #: src/datasets.cpp:429 src/properties.cpp:1276 msgid "Preview Version" msgstr "Förhandsvisningsversion" #: src/datasets.cpp:430 msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" "Ett binärtal som visar versionen för objektdatans förhandsvisningsfilformat " "som anges i taggen ." #: src/datasets.cpp:433 msgid "Preview Data" msgstr "Förhandsvisningsdata" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "Binär data för bildförhandsvisning." #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "(Ogiltig)" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 msgid "Unknown dataset" msgstr "Okänd datamängd" #: src/error.cpp:55 msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "Fel %0: arg2=%2, arg3=%3, arg1=%1." #: src/error.cpp:56 msgid "Success" msgstr "Lyckades" #: src/error.cpp:59 msgid "This does not look like a %1 image" msgstr "Detta ser inte ut som en %1-bild" #: src/error.cpp:60 msgid "Invalid dataset name `%1'" msgstr "Ogiltigt datasamlingsnamn ”%1”" #: src/error.cpp:61 msgid "Invalid record name `%1'" msgstr "Ogiltigt postnamn ”%1”" #: src/error.cpp:62 msgid "Invalid key `%1'" msgstr "Ogiltig nyckel ”%1”" #: src/error.cpp:63 msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "Ogiltigt taggnamn eller ifdId ”%1”, ifdId %2" #: src/error.cpp:64 msgid "Value not set" msgstr "Värde inte angivet" #: src/error.cpp:65 msgid "%1: Failed to open the data source: %2" msgstr "%1: Misslyckades med att öppna datakällan: %2" #: src/error.cpp:66 msgid "%1: Failed to open file (%2): %3" msgstr "%1: Misslyckades med att öppna filen (%2): %3" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "%1: Filen innehåller data för en okänd bildtyp" #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "Minnet innehåller data för en okänd bildtyp" #: src/error.cpp:69 msgid "Image type %1 is not supported" msgstr "Bildtypen %1 stöds inte" #: src/error.cpp:70 msgid "Failed to read image data" msgstr "Misslyckades med att läsa bilddata" #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "Det här ser inte ut som en JPEG-bild" #: src/error.cpp:72 msgid "%1: Failed to map file for reading and writing: %2" msgstr "%1: Kunde inte mappa filen för läsning och skrivning: %2" #: src/error.cpp:73 msgid "%1: Failed to rename file to %2: %3" msgstr "%1: Misslyckades med att byta namn på filen till %2: %3" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "%1: Överföring misslyckades: %2" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "Minnesöverföring misslyckades: %1" #: src/error.cpp:76 msgid "Failed to read input data" msgstr "Misslyckades med att läsa indata" #: src/error.cpp:77 msgid "Failed to write image" msgstr "Misslyckades med att skriva bild" #: src/error.cpp:78 msgid "Input data does not contain a valid image" msgstr "Indata innehåller ingen giltig bild" #: src/error.cpp:79 msgid "Invalid ifdId %1" msgstr "Ogiltig ifdId %1" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "Entry::setValue: Värdet är för stort (tagg=%1, storlek=%2, begärde=%3)" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" "Entry::setDataArea: Värdet är för stort (tagg=%1, storlek=%2, begärde=%3)" #: src/error.cpp:82 msgid "Offset out of range" msgstr "Förskjutning utanför intervall" #: src/error.cpp:83 msgid "Unsupported data area offset type" msgstr "Förskjutningstypen för dataområdet stöds inte" #: src/error.cpp:84 msgid "Invalid charset: `%1'" msgstr "Ogiltig teckenuppsättning: ”%1”" #: src/error.cpp:85 msgid "Unsupported date format" msgstr "Datumformatet stöds inte" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "Tidsformatet stöds inte" #: src/error.cpp:87 msgid "Writing to %1 images is not supported" msgstr "Skrivning till %1 bilder stöds inte" #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "Inställning %1 i %2 bilder stöds inte" #: src/error.cpp:89 msgid "This does not look like a CRW image" msgstr "Det ser inte ut som en CRW-bild" #: src/error.cpp:90 msgid "%1: Not supported" msgstr "%1: Stöds inte" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "Ingen namnrymdsinfo tillgänglig för XMP-prefix ”%1”" #: src/error.cpp:92 msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "" "Inget prefix registrerat för namnrymd ”%2”, krävs för egenskapssökväg ”%1”" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "Storlek för %1 JPEG-segment är större än 65535 byte" #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "Obehandlat XMP-datum %1 av typ %2" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "Obehandlad XMP-nod %1 med opt=%2" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "XMP-verktygsfel %1: %2" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "Kunde inte avkoda Lang Alt-egenskap %1 med opt=%2" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "Kunde inte avkoda Lang Alt-kvalificerare %1 med opt=%2" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "Kunde inte avkoda Lang Alt-egenskap %1" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "Kunde inte avgöra egenskapsnamn från sökväg %1, namnrymd %2" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "Schemanamnrymd %1 är inte registrerad i XMP-verktygen" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "Ingen namnrymd registrerad för prefix ”%1”" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" "Alias stöds inte. Skicka detta XMP-paket till ahuggel@gmx.net ”%1”, ”%2”, " "”%3”" #: src/error.cpp:104 msgid "Invalid XmpText type `%1'" msgstr "Ogiltig XMP-texttyp ”%1”" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "TIFF-katalog %1 har för många poster" #: src/error.cpp:106 msgid "Multiple TIFF array element tags %1 in one directory" msgstr "Flera TIFF-fältelementtaggar %1 i en katalog" #: src/error.cpp:107 msgid "TIFF array element tag %1 has wrong type" msgstr "TIFF-fältelementtaggar %1 har felaktig typ" #: src/error.cpp:108 msgid "%1 has invalid XMP value type `%2'" msgstr "%1 har ogiltigt XMP-värdetyp ”%2”" #: src/exiv2.cpp:213 msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "Copyright (C) 2004-2015 Andreas Huggel.\n" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" "Detta program är fri programvara. Du kan distribuera det och/eller\n" "modifiera det under villkoren i GNU General Public License, publicerad\n" "av Free Software Foundation, antingen version 2 eller (om du så vill)\n" "någon senare version.\n" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" "Detta program distribueras i hopp om att det ska vara användbart,\n" "men UTAN NÅGON SOM HELST GARANTI, även utan underförstådd garanti\n" "om SÄLJBARHET eller LÄMPLIGHET FÖR NÅGOT SPECIELLT ÄNDAMÅL. Se GNU\n" "General Public License för ytterligare information.\n" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" "Du bör ha fått en kopia av GNU General Public License tillsammans\n" "med detta program. Om inte, skriv till Free Software Foundation,\n" "Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "Användning:" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" "[ flaggor ] [ åtgärd ] fil ...\n" "\n" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "Manipulera Exif-metadata i bilder.\n" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" "\n" "Åtgärder:\n" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" " ad | adjust Justera Exif-tidsstämplar med angiven tid. Denna åtgärd\n" " kräver åtminstone en av flaggorna -a, -Y, -O eller -D.\n" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr " pr | print Skriv ut bildens metadata.\n" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr " rm | delete Ta bort bildmetadata från filerna.\n" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" " in | insert Infoga metadata från motsvarande *.exv-filer.\n" " Använd flaggan -S för att ändra ändelsen för " "inmatningsfilerna.\n" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" " ex | extract Extrahera metadata till *.exv, *.xmp och miniatyrbildfiler.\n" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" " mv | rename Byt namn på filer och/eller ställ in filtidsstämplar enligt\n" " Exif-tidsstämpeln. Filnamnsformatet kan anges med\n" " -r format, flaggor för tidsstämplar styrs med -t och -T.\n" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" " mo | modify Tillämpa kommandon att ändra (add, set, delete) Exif och\n" " IPTC-metadata för bildfiler eller ange JPEG-kommentaren.\n" " Kräver flaggan -c, -m eller -M.\n" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" " fi | fixiso Kopiera ISO-inställning från Nikon Makernote till den \n" " vanliga Exif-taggen.\n" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" " fc | fixcom Konvertera Exif-användarkommentar från UNICODE till UCS-2. " "Dess\n" " nuvarande teckenkodning kan anges med väljaren -n.\n" #: src/exiv2.cpp:262 msgid "" "\n" "Options:\n" msgstr "" "\n" "Flaggor:\n" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr " -h Visa denna hjälp och avsluta.\n" #: src/exiv2.cpp:264 msgid " -V Show the program version and exit.\n" msgstr " -V Visa programversionen och avsluta.\n" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr " -v Var utförlig under programkörningen.\n" #: src/exiv2.cpp:266 msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr "" " -q Blockera varningar och felmeddelanden medan programmet kör " "(quiet).\n" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" " -Q lvl Ange loggnivå för d(ebug), i(nfo), w(arning), e(rror) eller m" "(ute).\n" #: src/exiv2.cpp:268 msgid " -b Show large binary values.\n" msgstr " -b Visa stora binära värden.\n" #: src/exiv2.cpp:269 msgid " -u Show unknown tags.\n" msgstr " -u Visa okända taggar.\n" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr " -g nyckel Bara utmatningsinformation för den här nyckeln (grep).\n" #: src/exiv2.cpp:271 msgid " -K key Only output info for this key (exact match).\n" msgstr "" " -K nyckel Bara utmatningsinformation för den här nyckeln (exakt träff).\n" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" " -n kod Teckenkodning som ska användas för att avkoda Exif-" "användarkommentarer i UNICODE.\n" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr " -k Behåll filernas tidsstämplar.\n" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" " -t Ange också filens tidsstämpel i ”rename”-åtgärden (ersätter -k).\n" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" " -T Ange bara filens tidsstämpel i ”rename”-åtgärden, döp inte om " "filen\n" " (ersätter -k).\n" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr " -f Fråga inte innan befintliga filer skrivs över (force).\n" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr " -F Fråga inte innan filer döps om (Force).\n" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" " -a tid Tidsjustering i formatet [-]TT[:MM[:SS]]. Alternativet " "används bara tillsammans med åtgärden ”adjust”.\n" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr " -Y år Justera år med ”adjust”-åtgärden.\n" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr " -O mån Justera månad med ”adjust”-åtgärden.\n" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr " -D dag Justera dag med ”adjust”-åtgärden.\n" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr " -p läge Utskriftsläge för ”print”-åtgärden. Möjliga lägen är:\n" #: src/exiv2.cpp:285 msgid " s : print a summary of the Exif metadata (the default)\n" msgstr "" " s : skriv ut ett sammandrag över Exif-metadata (standard)\n" #: src/exiv2.cpp:286 msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr "" " a : skriv Exif-, IPTC- och XMP-metadata (förkortning av -" "Pkyct)\n" #: src/exiv2.cpp:287 msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr " t : tolkad Exif-data (-PEkyct)\n" #: src/exiv2.cpp:288 msgid " v : plain Exif data values (-PExgnycv)\n" msgstr " v : vanliga Exif-datavärden (-PExgnycv)\n" #: src/exiv2.cpp:289 msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr " h : hexadecimal dumpning av Exif-datan (-PExgnycsh)\n" #: src/exiv2.cpp:290 msgid " i : IPTC data values (-PIkyct)\n" msgstr " i : IPTC-datavärden (-PIkyct)\n" #: src/exiv2.cpp:291 msgid " x : XMP properties (-PXkyct)\n" msgstr " x : XMP-egenskaper (-PXkyct)\n" #: src/exiv2.cpp:292 src/exiv2.cpp:317 msgid " c : JPEG comment\n" msgstr " c : JPEG-kommentar\n" #: src/exiv2.cpp:293 msgid " p : list available previews\n" msgstr " p : lista tillgängliga förhandsvisningar\n" #: src/exiv2.cpp:294 msgid " S : print structure of image\n" msgstr " S : skriv ut bildstruktur\n" #: src/exiv2.cpp:295 msgid " X : extract XMP from image\n" msgstr " X : extrahera XMP från bild\n" #: src/exiv2.cpp:296 msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" " -P flgr Skriv-flaggor för finkornig kontroll av tagglistor (”print”-" "åtgärd):\n" #: src/exiv2.cpp:297 msgid " E : include Exif tags in the list\n" msgstr " E : inkludera Exif-taggar i listan\n" #: src/exiv2.cpp:298 msgid " I : IPTC datasets\n" msgstr " I : IPTC-datasamlingar\n" #: src/exiv2.cpp:299 msgid " X : XMP properties\n" msgstr " X : XMP-egenskaper\n" #: src/exiv2.cpp:300 msgid " x : print a column with the tag number\n" msgstr " x : skriv en kolumn med taggnumret\n" #: src/exiv2.cpp:301 msgid " g : group name\n" msgstr " g : gruppnamn\n" #: src/exiv2.cpp:302 msgid " k : key\n" msgstr " k : nyckel\n" #: src/exiv2.cpp:303 msgid " l : tag label\n" msgstr " l : taggetikett\n" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr " n : taggnamn\n" #: src/exiv2.cpp:305 msgid " y : type\n" msgstr " y : typ\n" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr " c : antal komponenter (count)\n" #: src/exiv2.cpp:307 msgid " s : size in bytes\n" msgstr " s : storlek i byte\n" #: src/exiv2.cpp:308 msgid " v : plain data value\n" msgstr " v : vanligt datavärde\n" #: src/exiv2.cpp:309 msgid " t : interpreted (translated) data\n" msgstr " t : tolkat (översatt) data\n" #: src/exiv2.cpp:310 msgid " h : hexdump of the data\n" msgstr " h : hexadecimaldump av data\n" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr " -d mål Radera mål för ”delete”-åtgärden. Möjliga mål är:\n" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr " a : all stödd metadata (standard)\n" #: src/exiv2.cpp:313 msgid " e : Exif section\n" msgstr " e : Exif-sektion\n" #: src/exiv2.cpp:314 msgid " t : Exif thumbnail only\n" msgstr " t : endast Exif-miniatyrbild\n" #: src/exiv2.cpp:315 msgid " i : IPTC data\n" msgstr " i : IPTC-data\n" #: src/exiv2.cpp:316 msgid " x : XMP packet\n" msgstr " x : XMP-paket\n" #: src/exiv2.cpp:318 msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" " -i mål Infoga mål för ”insert”-åtgärden. Möjliga mål är de samma\n" " som de i väljaren -d, med en extra modifierare:\n" " X : Infoga metadata från en associerad XMP-fil .xmp\n" " Endast JPEG-miniatyrer kan infogas, och måste ha namnet\n" " -thumb.jpg\n" #: src/exiv2.cpp:323 msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" " -e mål Extrahera mål för ”extract”-åtgärden. Möjliga mål är de samma\n" " som för väljaren -d, med ett mål att extrahera förhands-\n" " visningsbilder till och en modifierare för att skapa en " "associerad\n" " XMP-fil:\n" " p[[, ...]] : Extrahera förhandsvisningsbilder.\n" " X : Extrahera metadata till en associerad XMP-fil .xmp\n" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" " -r fmt Filnamnsformat för ”döp om”-åtgärden. Formatsträngen följer\n" " strftime(3). Följande nyckelord stöds:\n" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr " :basename: - ursprungligt filnamn utan ändelse\n" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr "" " :dirname: - namn på katalogen där ursprungsfilen finns\n" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr " :parentname: - namn på toppkatalogen\n" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr " Standard för filnamnsformat är " #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr " -c txt JPEG-kommentarsträng att ange i bilden.\n" #: src/exiv2.cpp:336 msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" " -m fil Kommandofil för ”modify”-åtgärden. Formatet för kommandona är\n" " set|add|del [[] ].\n" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" " -M kmd Kommandorad för ”modify”-åtgärden. Format för kommandona\n" " är samma som för kommandofilen.\n" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" " -l dir Plats (katalog) för filer som ska infogas från eller extraheras " "till.\n" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" " -S .suf Använd suffixet .suf för källfiler för kommandot ”insert”.\n" "\n" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 msgid "Option" msgstr "Flagga" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "kräver ett argument\n" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "Okänd flagga" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "getopt gav oväntad teckenkod" #: src/exiv2.cpp:410 msgid "Invalid argument" msgstr "Ogiltigt argument" #: src/exiv2.cpp:434 msgid "Invalid regexp" msgstr "Ogiltig regexp" #: src/exiv2.cpp:473 src/exiv2.cpp:526 msgid "Ignoring surplus option" msgstr "Ignorerar överflödig flagga" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "är inte kompatibel med en tidigare flagga\n" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "Ignorerar överflödig flagga -a" #: src/exiv2.cpp:504 msgid "Error parsing -a option argument" msgstr "Fel vid tolkning av argument för flaggan -a" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "Flaggan -a är inte kompatibel med en tidigare flagga\n" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "Fel vid tolkning" #: src/exiv2.cpp:535 msgid "option argument" msgstr "flaggargument" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "Okänt utskriftsläge" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "Ignorerar överflödig flagga -p" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "Flaggan -p är inte kompatibel med en tidigare flagga\n" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "Okänt utskriftsobjekt" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "Ignorerar överflödig flagga -P" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "Flaggan -P är inte kompatibel med en tidigare flagga\n" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "Flaggan -d är inte kompatibel med en föregående flagga\n" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "Flaggan -e är inte kompatibel med en föregående flagga\n" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "Flaggan -i är inte kompatibel med en föregående flagga\n" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "Åtgärden ”adjust” är inte kompatibel med de givna flaggorna\n" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "Åtgärden ”print” är inte kompatibel med de givna flaggorna\n" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "Åtgärden ”delete” är inte kompatibel med de givna flaggorna\n" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "Åtgärden ”extract” är inte kompatibel med de givna flaggorna\n" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "Åtgärden ”insert” är inte kompatibel med de givna flaggorna\n" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "Åtgärden ”rename” är inte kompatibel med de givna flaggorna\n" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "Åtgärden ”modify” är inte kompatibel med de givna flaggorna\n" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "Åtgärden ”fixiso” är inte kompatibel med de givna flaggorna\n" #: src/exiv2.cpp:824 msgid "Action fixcom is not compatible with the given options\n" msgstr "Åtgärden ”fixcom” är inte kompatibel med de givna flaggorna\n" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "En åtgärd måste anges\n" #: src/exiv2.cpp:904 msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "" "Åtgärden ”adjust” kräver åtminstone en av flaggorna -a, -Y, -O eller -D\n" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "Åtgärden ”modify” kräver åtminstone en av flaggorna -c, -m eller -M\n" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "Åtminstone en fil krävs\n" #: src/exiv2.cpp:920 msgid "Error parsing -m option arguments\n" msgstr "Fel vid tolkning av argument för flaggan -m\n" #: src/exiv2.cpp:927 msgid "Error parsing -M option arguments\n" msgstr "Fel vid tolkning av -M-flaggans argument\n" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "" "Flaggan -l kan endast användas vid extrahering eller infogandet av åtgärder\n" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "Flaggan -S kan endast användas med åtgärden infoga\n" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "Flaggan -t kan endast användas med åtgärden byt namn\n" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "Flaggan -T kan endast användas med åtgärden byt namn\n" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "Okänd " #: src/exiv2.cpp:1039 msgid "target" msgstr "mål" #: src/exiv2.cpp:1065 msgid "Invalid preview number" msgstr "Ogiltigt förhandsvisningsnummer" #: src/exiv2.cpp:1097 msgid "Failed to open command file for reading\n" msgstr "Misslyckades med att öppna kommandofilen för läsning\n" #: src/exiv2.cpp:1110 msgid "line" msgstr "rad" #: src/exiv2.cpp:1133 msgid "-M option" msgstr "flaggan -M" #: src/exiv2.cpp:1180 msgid "Invalid command line:" msgstr "Ogiltig kommandorad:" #: src/exiv2.cpp:1187 msgid "Invalid command" msgstr "Ogiltigt kommando" #: src/exiv2.cpp:1219 msgid "Invalid key" msgstr "Ogiltig nyckel" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "Ogiltig kommandorad" #: src/fujimn.cpp:62 msgid "Soft mode 1" msgstr "Mjukt läge 1" #: src/fujimn.cpp:63 msgid "Soft mode 2" msgstr "Mjukt läge 2" #: src/fujimn.cpp:65 msgid "Hard mode 1" msgstr "Hårt läge 1" #: src/fujimn.cpp:66 msgid "Hard mode 2" msgstr "Hårt läge 2" #: src/fujimn.cpp:74 msgid "Fluorescent (daylight)" msgstr "Fluorescerande (dagsljus)" #: src/fujimn.cpp:75 msgid "Fluorescent (warm white)" msgstr "Fluorescerande (varmt vitt)" #: src/fujimn.cpp:76 msgid "Fluorescent (cool white)" msgstr "Fluorescerande (kallt vitt)" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 msgid "Incandescent" msgstr "Bländande" #: src/fujimn.cpp:87 src/fujimn.cpp:88 msgid "None (black & white)" msgstr "Ingen (svart & vitt)" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 msgid "Red-eye reduction" msgstr "Minskning av röda ögon" #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 msgid "Night scene" msgstr "Nattscen" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 msgid "Program AE" msgstr "Programmera AE" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "Naturligt ljus" #: src/fujimn.cpp:122 msgid "Anti-blur" msgstr "Anti-oskärpa" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 msgid "Sunset" msgstr "Solnedgång" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 msgid "Museum" msgstr "Museum" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 msgid "Party" msgstr "Fest" #: src/fujimn.cpp:126 msgid "Flower" msgstr "Blomma" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "Text" #: src/fujimn.cpp:128 msgid "Natural light & flash" msgstr "Naturligt ljus & blixt" #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 msgid "Aperture-priority AE" msgstr "Bländarprioritet AE" #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 msgid "Shutter speed priority AE" msgstr "Slutarhastighetsprioritet AE" #: src/fujimn.cpp:142 msgid "No flash & flash" msgstr "Ingen blixt & blixt" #: src/fujimn.cpp:148 msgid "Chrome" msgstr "Krom" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 msgid "Wide" msgstr "Bred" #: src/fujimn.cpp:160 msgid "F0/Standard" msgstr "F0/Standard" #: src/fujimn.cpp:161 msgid "F1/Studio portrait" msgstr "F1/Studio portrait" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "F2/Fujichrome" #: src/fujimn.cpp:163 msgid "F3/Studio portrait Ex" msgstr "F3/Studio portrait Ex" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "F4/Velvia" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "Auto (100-400%)" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "Rå" #: src/fujimn.cpp:171 msgid "Standard (100%)" msgstr "Standard (100%)" #: src/fujimn.cpp:172 msgid "Wide mode 1 (230%)" msgstr "Brett läge 1 (230%)" #: src/fujimn.cpp:173 msgid "Wide mode 2 (400%)" msgstr "Brett läge 2 (400%)" #: src/fujimn.cpp:174 msgid "Film simulation mode" msgstr "Filmsimuleringsläge" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 msgid "Version" msgstr "Version" #: src/fujimn.cpp:180 msgid "Fujifilm Makernote version" msgstr "Fujifilm Makernote-version" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" "Numret är unikt och innehåller tillverkningsdatum, men är inte detsamma som " "numret som syns på kamerans chassi." #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 msgid "Image quality setting" msgstr "Bildkvalitetsinställning" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 msgid "Color" msgstr "Färg" #: src/fujimn.cpp:196 msgid "Chroma saturation setting" msgstr "Färgmättnadsinställning" #: src/fujimn.cpp:198 msgid "Tone" msgstr "Ton" #: src/fujimn.cpp:202 msgid "Flash firing mode setting" msgstr "Blixtaktiveringsinställning" #: src/fujimn.cpp:204 msgid "Flash Strength" msgstr "Blixtstyrka" #: src/fujimn.cpp:205 msgid "Flash firing strength compensation setting" msgstr "Kompensationsinställning för blixtaktiveringsstyrka" #: src/fujimn.cpp:208 msgid "Macro mode setting" msgstr "Makrolägesinställning" #: src/fujimn.cpp:211 msgid "Focusing mode setting" msgstr "Fokuslägesinställning" #: src/fujimn.cpp:216 msgid "Slow Sync" msgstr "Långsam Synk" #: src/fujimn.cpp:217 msgid "Slow synchro mode setting" msgstr "Långsam synkroniseringslägesinställning" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 msgid "Picture Mode" msgstr "Bildläge" #: src/fujimn.cpp:220 msgid "Picture mode setting" msgstr "Bildlägesinställning" #: src/fujimn.cpp:226 msgid "Continuous shooting or auto bracketing setting" msgstr "Seriebilder eller inställning för automatisk gaffling" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 msgid "Sequence Number" msgstr "Sekvensnummer" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 msgid "Sequence number" msgstr "Sekvensnummer" #: src/fujimn.cpp:234 msgid "FinePix Color" msgstr "FinePix färg" #: src/fujimn.cpp:235 msgid "Fuji FinePix color setting" msgstr "Fuji FinePix färginställning" #: src/fujimn.cpp:237 msgid "Blur Warning" msgstr "Varning för oskärpa" #: src/fujimn.cpp:238 msgid "Blur warning status" msgstr "Tillstånd för varning för oskärpa" #: src/fujimn.cpp:240 msgid "Focus Warning" msgstr "Fokusvarning" #: src/fujimn.cpp:241 msgid "Auto Focus warning status" msgstr "Autofokus-varningstillstånd" #: src/fujimn.cpp:243 msgid "Exposure Warning" msgstr "Exponeringsvarning" #: src/fujimn.cpp:244 msgid "Auto exposure warning status" msgstr "Autoexponeringsvarningstillstånd" #: src/fujimn.cpp:246 msgid "Dynamic Range" msgstr "Dynamikintervall" #: src/fujimn.cpp:247 msgid "Dynamic range" msgstr "Dynamikintervall" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 msgid "Film Mode" msgstr "Filmläge" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 msgid "Film mode" msgstr "Filmläge" #: src/fujimn.cpp:252 msgid "Dynamic Range Setting" msgstr "Dynamikintervallsinställning" #: src/fujimn.cpp:253 msgid "Dynamic range settings" msgstr "Inställningar för dynamikintervall" #: src/fujimn.cpp:255 msgid "Development Dynamic Range" msgstr "Utvecklingsdynamikintervall" #: src/fujimn.cpp:256 msgid "Development dynamic range" msgstr "Utvecklingsdynamikintervall" #: src/fujimn.cpp:258 msgid "Minimum Focal Length" msgstr "Minsta brännvidd" #: src/fujimn.cpp:259 msgid "Minimum focal length" msgstr "Minsta brännvidd" #: src/fujimn.cpp:261 msgid "Maximum Focal Length" msgstr "Största brännvidd" #: src/fujimn.cpp:262 msgid "Maximum focal length" msgstr "Största brännvidd" #: src/fujimn.cpp:264 msgid "Maximum Aperture at Minimum Focal" msgstr "Största bländning vid minsta brännvidd" #: src/fujimn.cpp:265 msgid "Maximum aperture at minimum focal" msgstr "Största bländning vid minsta brännvidd" #: src/fujimn.cpp:267 msgid "Maximum Aperture at Maximum Focal" msgstr "Största bländning vid maximal brännvidd" #: src/fujimn.cpp:268 msgid "Maximum aperture at maximum focal" msgstr "Största bländning vid maximal brännvidd" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 msgid "File Source" msgstr "Filkälla" #: src/fujimn.cpp:271 msgid "File source" msgstr "Filkälla" #: src/fujimn.cpp:273 msgid "Order Number" msgstr "Ordningsnummer" #: src/fujimn.cpp:274 msgid "Order number" msgstr "Ordningsnummer" #: src/fujimn.cpp:276 msgid "Frame Number" msgstr "Bildrutenummer" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 msgid "Frame number" msgstr "Bildrutenummer" #: src/fujimn.cpp:281 msgid "Unknown FujiMakerNote tag" msgstr "Okänd FujiMakerNote-tagg" #: src/minoltamn.cpp:56 msgid "Natural Color" msgstr "Naturlig färg" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 msgid "Vivid Color" msgstr "Lysande färger" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 msgid "Solarization" msgstr "Solarisering" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "AdobeRGB" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 msgid "Natural" msgstr "Naturlig" #: src/minoltamn.cpp:64 msgid "Natural sRGB" msgstr "Naturlig sRGB" #: src/minoltamn.cpp:65 msgid "Natural+ sRGB" msgstr "Naturlig+ sRGB" #: src/minoltamn.cpp:67 msgid "Evening" msgstr "Kväll" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 msgid "Night Portrait" msgstr "Nattporträtt" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 msgid "Super Fine" msgstr "Superfin" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 msgid "Extra Fine" msgstr "Extrafin" #: src/minoltamn.cpp:90 msgid "Makernote Version" msgstr "Makernote-version" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "Sträng ”MLT0” (inte avslutad tom)" #: src/minoltamn.cpp:93 msgid "Camera Settings (Std Old)" msgstr "Kamerainställningar (Std gml)" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "" "Standardinställningar för kamera (Gamla kameramodeller som D5, D7, S304 och " "S404)" #: src/minoltamn.cpp:96 msgid "Camera Settings (Std New)" msgstr "Kamerainställningar (Std ny)" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "" "Standardinställningar för kamera (nya kameramodeller såsom D7u, D7i och D7hi)" #: src/minoltamn.cpp:99 msgid "Camera Settings (7D)" msgstr "Kamerainställningar (7D)" #: src/minoltamn.cpp:100 msgid "Camera Settings (for Dynax 7D model)" msgstr "Kamerainställningar (för modellen Dynax 7D)" #: src/minoltamn.cpp:102 msgid "Image Stabilization Data" msgstr "Bildstabiliseringsdata" #: src/minoltamn.cpp:103 msgid "Image stabilization data" msgstr "Bildstabiliseringsdata" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "WB Info A100" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "Vitbalansinformation för Sony DSLR-A100" #: src/minoltamn.cpp:111 msgid "Compressed Image Size" msgstr "Komprimerad bildstorlek" #: src/minoltamn.cpp:112 msgid "Compressed image size" msgstr "Komprimerad bildstorlek" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "JPEG-miniatyr 640x480 bildpunkter" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 msgid "Thumbnail Offset" msgstr "Miniatyrbildförskjutning" #: src/minoltamn.cpp:118 msgid "Offset of the thumbnail" msgstr "Miniatyrbildens förskjutning" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 msgid "Thumbnail Length" msgstr "Miniatyrbildlängd" #: src/minoltamn.cpp:121 msgid "Size of the thumbnail" msgstr "Miniatyrbildens storlek" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 msgid "Scene Mode" msgstr "Scenläge" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 msgid "Color Mode" msgstr "Färgläge" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 msgid "Color mode" msgstr "Färgläge" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 msgid "Image Quality" msgstr "Bildkvalitet" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "0x0103" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 msgid "Flash Exposure Compensation" msgstr "Blixtexponeringskompensation" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 msgid "Flash exposure compensation in EV" msgstr "Blixtexponeringskompensation i EV" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 msgid "Teleconverter Model" msgstr "Telekonverteringsmodell" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "RAW+JPG-indexering" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "Indexering för RAW- och JPG-filer" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 msgid "Zone Matching" msgstr "Zonpassning" #: src/minoltamn.cpp:154 msgid "Zone matching" msgstr "Zonpassning" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 msgid "Color temperature" msgstr "Färgtemperatur" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 msgid "Lens ID" msgstr "Objektiv-ID" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 msgid "Lens identifier" msgstr "Objektividentifierare" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 msgid "Color Compensation Filter" msgstr "Färgkompensationsfilter" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "Färgkompensationsfilter: negativt är grön, positivt är magenta" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 msgid "White Balance Fine Tune" msgstr "Finjustering vitbalans" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 msgid "White Balance Fine Tune Value" msgstr "Värde för finjustering av vitbalans" #: src/minoltamn.cpp:168 msgid "Image Stabilization A100" msgstr "Bildstabilisering A100" #: src/minoltamn.cpp:169 msgid "Image Stabilization for the Sony DSLR-A100" msgstr "Bildstabilisering för Sony DSLR-A100" #: src/minoltamn.cpp:173 msgid "Camera Settings (5D)" msgstr "Kamerainställningar (5D)" #: src/minoltamn.cpp:174 msgid "Camera Settings (for Dynax 5D model)" msgstr "Kamerainställningar (för Dynax 5D)" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "Print IM" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 msgid "PrintIM information" msgstr "PrintIM-information" #: src/minoltamn.cpp:183 msgid "Camera Settings (Z1)" msgstr "Kamerainställningar (Z1)" #: src/minoltamn.cpp:184 msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "Kamerainställningar (för modellerna Z1, DImage X och F100)" #: src/minoltamn.cpp:188 msgid "Unknown Minolta MakerNote tag" msgstr "Okänd Minolta MakerNote-tagg" #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 msgid "Aperture priority" msgstr "Bländarprioritet" #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "Slutarprioritet" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 msgid "Fill flash" msgstr "Fyll blixt" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 msgid "Rear flash sync" msgstr "Synka bakre blixt" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 msgid "Wireless" msgstr "Trådlös" #: src/minoltamn.cpp:224 msgid "Fluorescent 2" msgstr "Fluorescerande 2" #: src/minoltamn.cpp:231 msgid "Full size" msgstr "Full storlek" #: src/minoltamn.cpp:243 msgid "Super fine" msgstr "Superfin" #: src/minoltamn.cpp:247 msgid "Extra fine" msgstr "Extrafin" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 msgid "Single Frame" msgstr "Enstaka ram" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 msgid "Self-timer" msgstr "Självutlösare" #: src/minoltamn.cpp:255 msgid "Bracketing" msgstr "Gaffling" #: src/minoltamn.cpp:256 msgid "Interval" msgstr "Intervall" #: src/minoltamn.cpp:257 msgid "UHS continuous" msgstr "UHS, kontinuerlig" #: src/minoltamn.cpp:258 msgid "HS continuous" msgstr "HS, kontinuerlig" #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 msgid "Multi-segment" msgstr "Flera segment" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 msgid "Center weighted average" msgstr "Centrerat viktat medeltal" #: src/minoltamn.cpp:271 msgid "Electronic magnification" msgstr "Elektronisk förstoring" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 msgid "Top" msgstr "Överst" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 msgid "Top-right" msgstr "Överst till höger" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 msgid "Bottom-right" msgstr "Underst till höger" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 msgid "Bottom" msgstr "Nederst" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 msgid "Bottom-left" msgstr "Underst till vänster" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 msgid "Top-left" msgstr "Överst till vänster" #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 msgid "Hard" msgstr "Hård" #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 msgid "Soft" msgstr "Mjuk" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 msgid "Night portrait" msgstr "Nattporträtt" #: src/minoltamn.cpp:315 msgid "Sports action" msgstr "Sport" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "Tidsförloppsfilm" #: src/minoltamn.cpp:349 msgid "Standard form" msgstr "Standardform" #: src/minoltamn.cpp:350 msgid "Data form" msgstr "Dataform" #: src/minoltamn.cpp:355 msgid "Natural color" msgstr "Naturlig färg" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 msgid "Black and white" msgstr "Svartvitt" #: src/minoltamn.cpp:357 msgid "Vivid color" msgstr "Lysande färg" #: src/minoltamn.cpp:364 msgid "No zone" msgstr "Ingen zon" #: src/minoltamn.cpp:365 msgid "Center zone (horizontal orientation)" msgstr "Centerzon (horisontell orientering)" #: src/minoltamn.cpp:366 msgid "Center zone (vertical orientation)" msgstr "Centerzon (vertikal orientering)" #: src/minoltamn.cpp:367 msgid "Left zone" msgstr "Vänster zon" #: src/minoltamn.cpp:368 msgid "Right zone" msgstr "Höger zon" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 msgid "Auto focus" msgstr "Automatisk fokus" #: src/minoltamn.cpp:379 msgid "Wide focus (normal)" msgstr "Bredfokus (normal)" #: src/minoltamn.cpp:380 msgid "Spot focus" msgstr "Punktfokus" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 msgid "Exposure" msgstr "Exponering" #: src/minoltamn.cpp:388 msgid "Filter" msgstr "Filter" #: src/minoltamn.cpp:393 msgid "Not embedded" msgstr "Inte inbäddad" #: src/minoltamn.cpp:394 msgid "Embedded" msgstr "Inbäddad" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "Text + ID#" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "ADI (Advanced Distance Integration)" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "Förblixt TTl" #: src/minoltamn.cpp:410 msgid "Manual flash control" msgstr "Manuell blixtkontroll" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 msgid "Exposure Mode" msgstr "Exponeringsläge" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 msgid "Flash mode" msgstr "Blixtläge" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 msgid "Drive mode" msgstr "Driftsläge" #: src/minoltamn.cpp:512 msgid "ISO Value" msgstr "ISO-värde" # Kallas även för slutartid #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 msgid "Exposure Time" msgstr "Exponeringstid" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 msgid "FNumber" msgstr "FNummer" #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 msgid "The F-Number" msgstr "F-numret" #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 msgid "Macro Mode" msgstr "Makroläge" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 msgid "Exposure Compensation" msgstr "Exponeringskompensation" #: src/minoltamn.cpp:529 msgid "Bracket Step" msgstr "Gafflingssteg" #: src/minoltamn.cpp:530 msgid "Bracket step" msgstr "Gafflingssteg" #: src/minoltamn.cpp:532 msgid "Interval Length" msgstr "Längd för intervall" #: src/minoltamn.cpp:533 msgid "Interval length" msgstr "Längd för intervall" #: src/minoltamn.cpp:535 msgid "Interval Number" msgstr "Intervallnummer" #: src/minoltamn.cpp:536 msgid "Interval number" msgstr "Intervallnummer" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 msgid "Focus Distance" msgstr "Fokusavstånd" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 msgid "Focus distance" msgstr "Fokusavstånd" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 msgid "Flash Fired" msgstr "Blixtutlöst" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 msgid "Flash fired" msgstr "Blixtutlöst" #: src/minoltamn.cpp:547 msgid "Minolta Date" msgstr "Minolta-datum" #: src/minoltamn.cpp:548 msgid "Minolta date" msgstr "Minolta-datum" #: src/minoltamn.cpp:550 msgid "Minolta Time" msgstr "Minolta-tid" #: src/minoltamn.cpp:551 msgid "Minolta time" msgstr "Minolta-tid" #: src/minoltamn.cpp:556 msgid "File Number Memory" msgstr "Filnummerminne" #: src/minoltamn.cpp:557 msgid "File number memory" msgstr "Filnummerminne" #: src/minoltamn.cpp:559 msgid "Last Image Number" msgstr "Senaste bildnummer" #: src/minoltamn.cpp:560 msgid "Last image number" msgstr "Senaste bildnummer" #: src/minoltamn.cpp:562 msgid "Color Balance Red" msgstr "Färgbalans röd" #: src/minoltamn.cpp:563 msgid "Color balance red" msgstr "Färgbalans röd" #: src/minoltamn.cpp:565 msgid "Color Balance Green" msgstr "Färgbalans grön" #: src/minoltamn.cpp:566 msgid "Color balance green" msgstr "Färgbalans grön" #: src/minoltamn.cpp:568 msgid "Color Balance Blue" msgstr "Färgbalans blå" #: src/minoltamn.cpp:569 msgid "Color balance blue" msgstr "Färgbalans blå" #: src/minoltamn.cpp:580 msgid "Subject Program" msgstr "Ämnesprogram" #: src/minoltamn.cpp:581 msgid "Subject program" msgstr "Ämnesprogram" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 msgid "ISO Settings" msgstr "ISO-inställningar" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 msgid "ISO setting" msgstr "ISO-inställning" #: src/minoltamn.cpp:589 msgid "Minolta Model" msgstr "Minolta-modell" #: src/minoltamn.cpp:590 msgid "Minolta model" msgstr "Minolta-modell" #: src/minoltamn.cpp:592 msgid "Interval Mode" msgstr "Intervalläge" #: src/minoltamn.cpp:593 msgid "Interval mode" msgstr "Intervalläge" #: src/minoltamn.cpp:595 msgid "Folder Name" msgstr "Mappnamn" #: src/minoltamn.cpp:596 msgid "Folder name" msgstr "Mappnamn" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 msgid "ColorMode" msgstr "Färgläge" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 msgid "Color Filter" msgstr "Färgfilter" #: src/minoltamn.cpp:602 msgid "Color filter" msgstr "Färgfilter" #: src/minoltamn.cpp:604 msgid "Black and White Filter" msgstr "Svartvitt filter" #: src/minoltamn.cpp:605 msgid "Black and white filter" msgstr "Svartvitt filter" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 msgid "Internal Flash" msgstr "Intern blixt" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 msgid "Brightness" msgstr "Ljusstyrka" #: src/minoltamn.cpp:613 msgid "Spot Focus Point X" msgstr "Punktfokus, punkt X" #: src/minoltamn.cpp:614 msgid "Spot focus point X" msgstr "Punktfokus, punkt X" #: src/minoltamn.cpp:616 msgid "Spot Focus Point Y" msgstr "Punktfokus, punkt y" #: src/minoltamn.cpp:617 msgid "Spot focus point Y" msgstr "Punktfokus, punkt y" #: src/minoltamn.cpp:619 msgid "Wide Focus Zone" msgstr "Bred fokuszon" #: src/minoltamn.cpp:620 msgid "Wide focus zone" msgstr "Bred fokuszon" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 msgid "Focus mode" msgstr "Fokusläge" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 msgid "Focus area" msgstr "Fokusområde" #: src/minoltamn.cpp:628 msgid "DEC Switch Position" msgstr "DEC-växlarposition" #: src/minoltamn.cpp:629 msgid "DEC switch position" msgstr "DEC-växlarposition" #: src/minoltamn.cpp:631 msgid "Color Profile" msgstr "Färgprofil" #: src/minoltamn.cpp:632 msgid "Color profile" msgstr "Färgprofil" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 msgid "Data Imprint" msgstr "Datamarkering" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 msgid "Flash Metering" msgstr "Blixtmätning" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 msgid "Flash metering" msgstr "Blixtmätning" #: src/minoltamn.cpp:642 msgid "Unknown Minolta Camera Settings tag" msgstr "Okänd inställningstagg för Minolta-kamera" #: src/minoltamn.cpp:660 msgid "Program-shift A" msgstr "Programbyte A" #: src/minoltamn.cpp:661 msgid "Program-shift S" msgstr "Programbyte S" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 msgid "Raw+Jpeg" msgstr "RAW+JPEG" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 msgid "Kelvin" msgstr "Kelvin" #: src/minoltamn.cpp:695 msgid "Single-shot AF" msgstr "Enstaka-bild AF" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 msgid "Continuous AF" msgstr "Kontinuerlig AF" #: src/minoltamn.cpp:698 msgid "Automatic AF" msgstr "Automatisk AF" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 msgid "sRGB (Natural)" msgstr "sRGB (Naturlig)" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 msgid "sRGB (Natural+)" msgstr "sRGB (Naturlig+)" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 msgid "Horizontal (normal)" msgstr "Horisontell (normal)" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "Rotera 90 medsols" #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "Rotera 270 medsols" #: src/minoltamn.cpp:756 msgid "AF Points" msgstr "AF-punkter" #: src/minoltamn.cpp:757 msgid "AF points" msgstr "AF-punkter" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 msgid "Color Space" msgstr "Färgrymd" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 msgid "Color space" msgstr "Färgrymd" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 msgid "Free Memory Card Images" msgstr "Frigör minneskortsbilder" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 msgid "Free memory card images" msgstr "Frigör minneskortsbilder" #: src/minoltamn.cpp:789 msgid "Hue" msgstr "Nyans" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 msgid "Rotation" msgstr "Rotation" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 msgid "Image Number" msgstr "Bildnummer" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 msgid "Noise reduction" msgstr "Brusreducering" #: src/minoltamn.cpp:817 msgid "Zone Matching On" msgstr "Zonpassning på" #: src/minoltamn.cpp:818 msgid "Zone matching on" msgstr "Zonpassning på" #: src/minoltamn.cpp:822 msgid "Unknown Minolta Camera Settings 7D tag" msgstr "Okänd 7D-inställningstagg för Minolta-kamera" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 msgid "Program Shift A" msgstr "Programbyte A" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 msgid "Program Shift S" msgstr "Programbyte S" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 msgid "Night View/Portrait" msgstr "Nattvy/-porträtt" #: src/minoltamn.cpp:895 msgid "200 (Zone Matching High)" msgstr "200 (Zonpassning hög)" #: src/minoltamn.cpp:896 msgid "80 (Zone Matching Low)" msgstr "80 (Zonpassning låg)" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 msgid "Adobe RGB (ICC)" msgstr "Adobe RGB (ICC)" #: src/minoltamn.cpp:918 msgid "Central" msgstr "Central" #: src/minoltamn.cpp:919 msgid "Up" msgstr "Upp" #: src/minoltamn.cpp:920 msgid "Up right" msgstr "Upp höger" #: src/minoltamn.cpp:922 msgid "Down right" msgstr "Ned höger" #: src/minoltamn.cpp:923 msgid "Down" msgstr "Ned" #: src/minoltamn.cpp:924 msgid "Down left" msgstr "Ned vänster" #: src/minoltamn.cpp:926 msgid "Up left" msgstr "Upp vänster" #: src/minoltamn.cpp:932 msgid "Selection" msgstr "Markering" #: src/minoltamn.cpp:947 msgid "Natural+" msgstr "Naturlig+" #: src/minoltamn.cpp:949 msgid "Wind Scene" msgstr "Vindscen" #: src/minoltamn.cpp:950 msgid "Evening Scene" msgstr "Kvällsscen" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus Position" msgstr "Fokusposition" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus position" msgstr "Fokusposition" #: src/minoltamn.cpp:1003 msgid "Focus Area" msgstr "Fokusyta" #: src/minoltamn.cpp:1036 msgid "Exposure Revision" msgstr "Exponeringsrevision" #: src/minoltamn.cpp:1037 msgid "Exposure revision" msgstr "Exponeringsrevision" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 msgid "Rotation2" msgstr "Rotation2" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 msgid "Picture Finish" msgstr "Bildfinish" #: src/minoltamn.cpp:1063 msgid "Exposure Manual Bias" msgstr "Manuell exponeringsprioritering" #: src/minoltamn.cpp:1064 msgid "Exposure manual bias" msgstr "Manuell exponeringsprioritering" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 msgid "AF Mode" msgstr "AF-läge" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 msgid "AF mode" msgstr "AF-läge" #: src/minoltamn.cpp:1087 msgid "Unknown Minolta Camera Settings 5D tag" msgstr "Okänd 5D-inställningstagg för Minolta-kamera" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 msgid "Self-timer 10 sec" msgstr "Självutlösare 10 sek" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 msgid "Self-timer 2 sec" msgstr "Självutlösare 2 sek" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 msgid "White Balance Bracketing Low" msgstr "Vitbalansgaffling låg" #: src/minoltamn.cpp:1105 msgid "White Balance Bracketing High" msgstr "Vitbalansgaffling hög" #: src/minoltamn.cpp:1106 msgid "Single-frame Bracketing Low" msgstr "Enstaka bildrutegaffling låg" #: src/minoltamn.cpp:1107 msgid "Continuous Bracketing Low" msgstr "Kontinuerlig gaffling låg" #: src/minoltamn.cpp:1108 msgid "Single-frame Bracketing High" msgstr "Enstaka bildrutegaffling hög" #: src/minoltamn.cpp:1109 msgid "Continuous Bracketing High" msgstr "Kontinuerlig gaffling hög" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "Avancerat" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 msgid "Continuous Bracketing" msgstr "Kontinuerlig gaffling" #: src/minoltamn.cpp:1156 msgid "Single-Frame Bracketing" msgstr "Enstaka bildrutegaffling" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 msgid "White Balance Bracketing" msgstr "Vitbalansgaffling" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 msgid "Preset" msgstr "Förval" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 msgid "Color Temperature/Color Filter" msgstr "Färgtemperatur/färgfilter" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 msgid "Temperature" msgstr "Temperatur" #: src/minoltamn.cpp:1213 msgid "Setup" msgstr "Inställningar" #: src/minoltamn.cpp:1214 msgid "Recall" msgstr "Dra tillbaka" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "OK" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "Fel" #: src/minoltamn.cpp:1232 msgid "Image and Information" msgstr "Bild och information" #: src/minoltamn.cpp:1233 msgid "Image Only" msgstr "Endast bild" #: src/minoltamn.cpp:1234 msgid "Image and Histogram" msgstr "Bild och histogram" #: src/minoltamn.cpp:1240 msgid "Fill Flash" msgstr "Fyll blixt" #: src/minoltamn.cpp:1251 msgid "Focus Hold" msgstr "Håll fokus" #: src/minoltamn.cpp:1252 msgid "DOF Preview" msgstr "Förhandsgranska DOF" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "Håll" #: src/minoltamn.cpp:1258 msgid "Toggle" msgstr "Växla" #: src/minoltamn.cpp:1259 msgid "Spot Hold" msgstr "Håll punkt" #: src/minoltamn.cpp:1260 msgid "Spot Toggle" msgstr "Växla punkt" #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 msgid "Shutter Speed" msgstr "Slutarhastighet" #: src/minoltamn.cpp:1271 msgid "Ambient and Flash" msgstr "Ambiens och blixt" #: src/minoltamn.cpp:1272 msgid "Ambient Only" msgstr "Enbart ambiens" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "0,3 sekunder" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "0,6 sekunder" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 msgid "Automatic" msgstr "Automatiskt" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 msgid "Auto-rotate" msgstr "Autorotera" #: src/minoltamn.cpp:1291 msgid "Horizontal" msgstr "Horisontellt" #: src/minoltamn.cpp:1297 msgid "Manual Rotate" msgstr "Manuell rotation" #: src/minoltamn.cpp:1302 msgid "Within Range" msgstr "Inom intervall" #: src/minoltamn.cpp:1303 msgid "Under/Over Range" msgstr "Under/över intervall" #: src/minoltamn.cpp:1304 msgid "Out of Range" msgstr "Utanför intervall" #: src/minoltamn.cpp:1309 msgid "Not Indicated" msgstr "Inte visad" #: src/minoltamn.cpp:1310 msgid "Under Scale" msgstr "Under skala" #: src/minoltamn.cpp:1311 msgid "Bottom of Scale" msgstr "Nederst i skala" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "Överst i skala" #: src/minoltamn.cpp:1330 msgid "Over Scale" msgstr "Över skala" #: src/minoltamn.cpp:1335 msgid "AM" msgstr "AM" #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "MF" #: src/minoltamn.cpp:1342 msgid "Built-in" msgstr "Inbyggt" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 msgid "Very Low" msgstr "Mycket låg" #: src/minoltamn.cpp:1350 msgid "Half Full" msgstr "Halvfull" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "Tillräckligt mycket ström kvar" #: src/minoltamn.cpp:1359 msgid "Exposure Compensation Setting" msgstr "Exponeringskompensationsinställning" #: src/minoltamn.cpp:1360 msgid "Exposure compensation setting" msgstr "Exponeringskompensationsinställning" #: src/minoltamn.cpp:1362 msgid "High Speed Sync" msgstr "Höghastighetssynkronisering" #: src/minoltamn.cpp:1363 msgid "High speed sync" msgstr "Höghastighetssynkronisering" #: src/minoltamn.cpp:1365 msgid "Manual Exposure Time" msgstr "Manuell exponeringstid" #: src/minoltamn.cpp:1366 msgid "Manual exposure time" msgstr "Manuell exponeringstid" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 msgid "Manual FNumber" msgstr "Manuellt F-nummer" #: src/minoltamn.cpp:1377 msgid "Drive Mode 2" msgstr "Körläge 2" #: src/minoltamn.cpp:1378 msgid "Drive mode 2" msgstr "Körläge 2" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "Lokal AF-ytpunkt" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 msgid "AF Area Mode" msgstr "AF-ytläge" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 msgid "FlashMode" msgstr "Blixtläge" #: src/minoltamn.cpp:1395 msgid "Flash Exposure Comp Setting" msgstr "Blixtexponeringskompinställning" #: src/minoltamn.cpp:1396 msgid "Flash exposure compensation setting" msgstr "Kompensationsinställning för blixtexponering" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 msgid "ISO Setting" msgstr "ISO-inställning" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 msgid "Zone Matching Mode" msgstr "Zonpassningsläge" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 msgid "Dynamic Range Optimizer Mode" msgstr "Optimeringsläge för dynamiskt intervall" #: src/minoltamn.cpp:1408 msgid "Dynamic range optimizer mode" msgstr "Optimeringsläge för dynamiskt intervall" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "Prioritetsinställning slutarutlösning" #: src/minoltamn.cpp:1434 msgid "Self Timer Time" msgstr "Självutlösningstid" #: src/minoltamn.cpp:1435 msgid "Self timer time" msgstr "Självutlösningstid" #: src/minoltamn.cpp:1438 msgid "Continuous bracketing" msgstr "Kontinuerlig bildrutegaffling" #: src/minoltamn.cpp:1440 msgid "Single Frame Bracketing" msgstr "Enstaka bildrutegaffling" #: src/minoltamn.cpp:1441 msgid "Single frame bracketing" msgstr "Enstaka bildrutegaffling" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 msgid "White balance bracketing" msgstr "Vitbalansgaffling" #: src/minoltamn.cpp:1446 msgid "White Balance Setting" msgstr "Vitbalansinställning" #: src/minoltamn.cpp:1449 msgid "Preset White Balance" msgstr "Förinställning Vitbalans" #: src/minoltamn.cpp:1450 msgid "Preset white balance" msgstr "Förinställning för vitbalans" #: src/minoltamn.cpp:1452 msgid "Color Temperature Setting" msgstr "Färgtemperaturinställning" #: src/minoltamn.cpp:1453 msgid "Color temperature setting" msgstr "Färgtemperaturinställning" #: src/minoltamn.cpp:1455 msgid "Custom WB Setting" msgstr "Egen VB-inställning" #: src/minoltamn.cpp:1456 msgid "Custom WB setting" msgstr "Egen VB-inställning" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 msgid "Dynamic Range Optimizer Settings" msgstr "Optimeringsinställninga för dynamikintervall" #: src/minoltamn.cpp:1464 msgid "Custom WB Red Level" msgstr "Egen VB, rödnivå" #: src/minoltamn.cpp:1465 msgid "Custom WB red level" msgstr "Egen VB, rödnivå" #: src/minoltamn.cpp:1467 msgid "Custom WB Green Level" msgstr "Egen VB, grönnivå" #: src/minoltamn.cpp:1468 msgid "Custom WB green level" msgstr "Egen VB, grönnivå" #: src/minoltamn.cpp:1470 msgid "Custom WB Blue Level" msgstr "Egen VB, blånivå" #: src/minoltamn.cpp:1471 msgid "CustomWB blue level" msgstr "Egen VB, blånivå" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 msgid "Custom WB Error" msgstr "Egen VB, fel" #: src/minoltamn.cpp:1477 msgid "White balance fine tune" msgstr "Finjustering av vitbalans" #: src/minoltamn.cpp:1483 msgid "Color compensation filter" msgstr "Färgkompensationsfilter" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 msgid "Sony Image Size" msgstr "Sony bildstorlek" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "Direktuppspelningstid" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "Direktuppspelningstid" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "Direktuppspelningsinställningar" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "Direktuppspelningsinställningar" #: src/minoltamn.cpp:1500 msgid "Eye Start AF" msgstr "Öga inleder AF" #: src/minoltamn.cpp:1501 msgid "Eye start AF" msgstr "Öga inleder AF" #: src/minoltamn.cpp:1503 msgid "Red Eye Reduction" msgstr "Korrigering av röda ögon" #: src/minoltamn.cpp:1504 msgid "Red eye reduction" msgstr "Korrigering av röda ögon" #: src/minoltamn.cpp:1506 msgid "Flash Default" msgstr "Standardblixt" #: src/minoltamn.cpp:1507 msgid "Flash default" msgstr "Standardblixt" #: src/minoltamn.cpp:1509 msgid "Auto Bracket Order" msgstr "Autogaffling, ordning" #: src/minoltamn.cpp:1510 msgid "Auto bracket order" msgstr "Ordning för autogaffling" #: src/minoltamn.cpp:1512 msgid "Focus Hold Button" msgstr "Fokushållningsknapp" #: src/minoltamn.cpp:1513 msgid "Focus hold button" msgstr "Knapp för att hålla fokus" #: src/minoltamn.cpp:1515 msgid "AEL Button" msgstr "AEL-knapp" #: src/minoltamn.cpp:1516 msgid "AEL button" msgstr "AEL-knapp" #: src/minoltamn.cpp:1518 msgid "Control Dial Set" msgstr "Kontrollplatta inställd" #: src/minoltamn.cpp:1519 msgid "Control dial set" msgstr "Kontrollplatta inställd" #: src/minoltamn.cpp:1521 msgid "Exposure Compensation Mode" msgstr "Exponeringskompensationsläge" #: src/minoltamn.cpp:1522 msgid "Exposure compensation mode" msgstr "Exponeringskompensationsläge" #: src/minoltamn.cpp:1525 msgid "AF assist" msgstr "AF-hjälp" #: src/minoltamn.cpp:1527 msgid "Card Shutter Lock" msgstr "Kort-slutarlåsning" #: src/minoltamn.cpp:1528 msgid "Card shutter lock" msgstr "Kort-slutarlåsning" #: src/minoltamn.cpp:1530 msgid "Lens Shutter Lock" msgstr "Objektiv-slutarlåsning" #: src/minoltamn.cpp:1531 msgid "Lens shutter lock" msgstr "Objektiv-slutarlåsning" #: src/minoltamn.cpp:1533 msgid "AF Area Illumination" msgstr "AF-ytbelysning" #: src/minoltamn.cpp:1534 msgid "AF area illumination" msgstr "AF-ytbelysning" #: src/minoltamn.cpp:1536 msgid "Monitor Display Off" msgstr "Skärmvisning av" #: src/minoltamn.cpp:1537 msgid "Monitor display off" msgstr "Skärmvisning av" #: src/minoltamn.cpp:1539 msgid "Record Display" msgstr "Visa inspelning" #: src/minoltamn.cpp:1540 msgid "Record display" msgstr "Visa inspelning" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "Spela upp-visning" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "Spela upp-visning" #: src/minoltamn.cpp:1545 msgid "Exposure Indicator" msgstr "Exponeringsindikator" #: src/minoltamn.cpp:1546 msgid "Exposure indicator" msgstr "Exponeringsindikator" #: src/minoltamn.cpp:1548 msgid "AEL Exposure Indicator" msgstr "AEL-exponeringsindikator" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "" "AEL-exponeringsindikator (indikerar också exponering för nästa bild vid " "gaffling)" #: src/minoltamn.cpp:1551 msgid "Exposure Bracketing Indicator Last" msgstr "Exponeringsgafflingindikator, sista" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" "Exponeringsgafflingindikator, sista (indikator för sista foto vid gaffling)" #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "Mätning för indikator utanför skala" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "" "Mätning för indikator utanför skala (två blinkande trianglar när du går " "under eller över mätarskalan)" #: src/minoltamn.cpp:1557 msgid "Flash Exposure Indicator" msgstr "Blixtexponeringsindikator" #: src/minoltamn.cpp:1558 msgid "Flash exposure indicator" msgstr "Blixtexponeringsindikator" #: src/minoltamn.cpp:1560 msgid "Flash Exposure Indicator Next" msgstr "Blixtexponeringsindikator, nästa" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" "Blixtexponeringsindikator, nästa (indikator för nästa bild vid gaffling)" #: src/minoltamn.cpp:1563 msgid "Flash Exposure Indicator Last" msgstr "Blixtexponeringsindikator, sista" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" "Blixtexponeringsindikator, sista (indikator för sista bilden vid gaffling)" #: src/minoltamn.cpp:1569 msgid "Focus Mode Switch" msgstr "Fokuslägesändring" #: src/minoltamn.cpp:1570 msgid "Focus mode switch" msgstr "Fokuslägesändring" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 msgid "Flash Type" msgstr "Blixttyp" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 msgid "Flash type" msgstr "Blixttyp" #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 msgid "AE Lock" msgstr "AE-lås" #: src/minoltamn.cpp:1585 msgid "Color compensation filter: negative is green, positive is magenta" msgstr "Färgkompensationsfilter: negativt är grön, positivt är magenta" #: src/minoltamn.cpp:1587 src/tags.cpp:766 msgid "Battery Level" msgstr "Batterinivå" #: src/minoltamn.cpp:1588 msgid "Battery level" msgstr "Batterinivå" #: src/minoltamn.cpp:1592 msgid "Unknown Sony Camera Settings A100 tag" msgstr "Okänd A100-inställningstagg för Sony-kamera" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 msgid "Clear" msgstr "Rensa" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 msgid "Deep" msgstr "Djup" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 msgid "Light" msgstr "Ljus" #: src/minoltamn.cpp:1950 msgid "Night View" msgstr "Nattvy" #: src/minoltamn.cpp:1951 msgid "Autumn Leaves" msgstr "Höstlöv" #: src/minoltamn.cpp:1990 msgid "Local" msgstr "Lokal" #: src/minoltamn.cpp:2005 msgid "Top-Right" msgstr "Överst till höger" #: src/minoltamn.cpp:2007 msgid "Bottom-Right" msgstr "Nederst till höger" #: src/minoltamn.cpp:2009 msgid "Bottom-Left" msgstr "Nederst till vänster" #: src/minoltamn.cpp:2011 msgid "Top-Left" msgstr "Överst till vänster" #: src/minoltamn.cpp:2012 msgid "Far-Right" msgstr "Längst till höger" #: src/minoltamn.cpp:2013 msgid "Far-Left" msgstr "Längst till vänster" #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 msgid "Advanced Auto" msgstr "Avancerad auto" #: src/minoltamn.cpp:2028 msgid "Advanced Level" msgstr "Avancerad nivå" #: src/minoltamn.cpp:2041 msgid "AF" msgstr "AF" #: src/minoltamn.cpp:2042 msgid "Release" msgstr "Utgåva" #: src/minoltamn.cpp:2054 msgid "RAW " msgstr "RAW " #: src/minoltamn.cpp:2055 msgid "CRAW " msgstr "CRAW " #: src/minoltamn.cpp:2058 msgid "RAW+JPEG" msgstr "RAW+JPEG" #: src/minoltamn.cpp:2059 msgid "CRAW+JPEG" msgstr "CRAW+JPEG" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "RAW + JPEG" #: src/minoltamn.cpp:2116 msgid "Compressed Raw" msgstr "Komprimerad RAW" #: src/minoltamn.cpp:2117 msgid "Compressed Raw + JPEG" msgstr "Komprimerad RAW + JPEG" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "Minolta AF 2x APO (D)" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "Minolta AF 2x APO II" #: src/minoltamn.cpp:2132 msgid "Minolta AF 1.4x APO (D)" msgstr "Minolta AF 1.4x APO (D)" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "Minolta AF 1.4x APO II" #: src/minoltamn.cpp:2163 msgid "ISO Setting Used" msgstr "Använd ISO-inställning" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 msgid "High Key" msgstr "Hög nyckel" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "Låg nyckel" #: src/nikonmn.cpp:80 msgid "Extra High" msgstr "Extra hög" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 msgid "Single area" msgstr "Enstaka yta" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 msgid "Dynamic area" msgstr "Dynamisk yta" #: src/nikonmn.cpp:88 msgid "Dynamic area, closest subject" msgstr "Dynamisk yta, närmaste motiv" #: src/nikonmn.cpp:89 msgid "Group dynamic" msgstr "Gruppdynamik" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 msgid "Single area (wide)" msgstr "Enstaka yta (bred)" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 msgid "Dynamic area (wide)" msgstr "Dynamisk yta (bred)" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 msgid "Upper-left" msgstr "Övre vänster" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 msgid "Upper-right" msgstr "Övre höger" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 msgid "Lower-left" msgstr "Nederst till vänster" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 msgid "Lower-right" msgstr "Nederst till höger" #: src/nikonmn.cpp:108 msgid "Left-most" msgstr "Längst till vänster" #: src/nikonmn.cpp:109 msgid "Right-most" msgstr "Längst till höger" #: src/nikonmn.cpp:143 msgid "Fire, manual" msgstr "Utlöst, manuell" #: src/nikonmn.cpp:144 msgid "Fire, external" msgstr "Utlöst, extern" #: src/nikonmn.cpp:145 msgid "Fire, commander mode" msgstr "Utlös, kommandoläge" #: src/nikonmn.cpp:146 msgid "Fire, TTL mode" msgstr "Utlös, TTL-läge" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 msgid "Delay" msgstr "Fördröjning" #: src/nikonmn.cpp:153 msgid "PC Control" msgstr "PC-kontroll" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 msgid "Exposure Bracketing" msgstr "Exponeringsgaffling" #: src/nikonmn.cpp:156 msgid "Auto ISO" msgstr "Auto-ISO" #: src/nikonmn.cpp:157 msgid "White-Balance Bracketing" msgstr "Vitbalansgaffling" #: src/nikonmn.cpp:158 msgid "IR Control" msgstr "IR-kontroll" #: src/nikonmn.cpp:159 msgid "D-Lighting Bracketing" msgstr "D-ljus-gaffling" #: src/nikonmn.cpp:166 msgid "PC control" msgstr "PC-kontroll" #: src/nikonmn.cpp:167 msgid "Exposure bracketing" msgstr "Exponeringsgaffling" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "Oanvänd LE-NR-broms" #: src/nikonmn.cpp:170 msgid "IR control" msgstr "IR-kontroll" #: src/nikonmn.cpp:176 msgid "Auto release" msgstr "Autosläpp" #: src/nikonmn.cpp:177 msgid "Manual release" msgstr "Manuellt släpp" #: src/nikonmn.cpp:182 msgid "Lossy (type 1)" msgstr "Med förluster (typ 1)" #: src/nikonmn.cpp:183 src/tags.cpp:251 msgid "Uncompressed" msgstr "Okomprimerad" #: src/nikonmn.cpp:184 msgid "Lossless" msgstr "Förlustfri" #: src/nikonmn.cpp:185 msgid "Lossy (type 2)" msgstr "Med förluster (typ 2)" #: src/nikonmn.cpp:191 msgid "B & W" msgstr "S&V" #: src/nikonmn.cpp:193 msgid "Trim" msgstr "Klipp" #: src/nikonmn.cpp:194 msgid "Small picture" msgstr "Liten bild" #: src/nikonmn.cpp:195 msgid "D-Lighting" msgstr "D-ljus" #: src/nikonmn.cpp:196 msgid "Red eye" msgstr "Röda ögon" #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 msgid "Cyanotype" msgstr "Cyanotyp" #: src/nikonmn.cpp:198 msgid "Sky light" msgstr "Himmelsljus" #: src/nikonmn.cpp:199 msgid "Warm tone" msgstr "Varm ton" #: src/nikonmn.cpp:200 msgid "Color custom" msgstr "Egen färg" #: src/nikonmn.cpp:201 msgid "Image overlay" msgstr "Bildöverlagring" #: src/nikonmn.cpp:207 msgid "Minimal" msgstr "Minimal" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 msgid "Nikon Makernote version" msgstr "Nikon Makernote-version" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 msgid "ISO Speed" msgstr "ISO-hastighet" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 msgid "Sharpening" msgstr "Skärpa" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 msgid "Image sharpening setting" msgstr "Bildskärpa-inställning" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 msgid "Focus" msgstr "Fokus" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 msgid "Flash Setting" msgstr "Blixtinställning" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 msgid "Flash setting" msgstr "Blixtinställningar" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 msgid "ISO Selection" msgstr "ISO-val" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 msgid "ISO selection" msgstr "ISO-val" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data Dump" msgstr "Datadumpning" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data dump" msgstr "Datadumpning" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 msgid "Image Adjustment" msgstr "Bildjustering" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 msgid "Image adjustment setting" msgstr "Inställning för bildjustering" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "Externt objektiv" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 msgid "Auxiliary lens (adapter)" msgstr "Externt objektiv (adapter)" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 msgid "Manual focus distance" msgstr "Manuellt fokusavstånd" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 msgid "Digital zoom setting" msgstr "Inställning för digital zoom" #: src/nikonmn.cpp:260 msgid "AF Focus Position" msgstr "AF-fokusposition" #: src/nikonmn.cpp:261 msgid "AF focus position information" msgstr "AF-fokuspositionsinformation" #: src/nikonmn.cpp:265 msgid "Unknown Nikon1MakerNote tag" msgstr "Okänd Nikon1MakerNote-tagg" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 msgid "Continuous autofocus" msgstr "Kontinuerlig autofokus" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 msgid "Single autofocus" msgstr "Enstaka autofokus" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 msgid "Not used" msgstr "Inte använd" #: src/nikonmn.cpp:371 msgid "guess" msgstr "gissa" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "VGA Grundläggande" #: src/nikonmn.cpp:419 msgid "VGA Normal" msgstr "VGA Normal" #: src/nikonmn.cpp:420 msgid "VGA Fine" msgstr "VGA Fin" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "SXGA Grundläggande" #: src/nikonmn.cpp:422 msgid "SXGA Normal" msgstr "SXGA Normal" #: src/nikonmn.cpp:423 msgid "SXGA Fine" msgstr "SXGA Fin" #: src/nikonmn.cpp:435 msgid "Bright+" msgstr "Ljus+" #: src/nikonmn.cpp:436 msgid "Bright-" msgstr "Ljus-" #: src/nikonmn.cpp:437 msgid "Contrast+" msgstr "Kontrast+" #: src/nikonmn.cpp:438 msgid "Contrast-" msgstr "Kontrast-" #: src/nikonmn.cpp:457 msgid "Speedlight" msgstr "Speedlight" #: src/nikonmn.cpp:497 msgid "Unknown Nikon2MakerNote tag" msgstr "Okänd Nikon2MakerNote-tagg" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 msgid "Flash Device" msgstr "Blixtenhet" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 msgid "Flash device" msgstr "Blixtenhet" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 msgid "White Balance Bias" msgstr "Vitbalansprioritering" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 msgid "White balance bias" msgstr "Vitbalansprioritering" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB Levels" msgstr "VB RB-nivåer" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB levels" msgstr "VB RB-nivåer" #: src/nikonmn.cpp:544 msgid "Program Shift" msgstr "Programbyte" #: src/nikonmn.cpp:544 msgid "Program shift" msgstr "Programbyte" #: src/nikonmn.cpp:545 msgid "Exposure Difference" msgstr "Exponeringsdifferens" #: src/nikonmn.cpp:545 msgid "Exposure difference" msgstr "Exponeringsdifferens" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 msgid "Pointer to a preview image" msgstr "Pekare till en förhandsgranskningsbild" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 msgid "Offset to an IFD containing a preview image" msgstr "Förskjutning för en förhandsvisningsbild som innehåller IFD" #: src/nikonmn.cpp:549 msgid "Flash Comp" msgstr "Blixtkomp" #: src/nikonmn.cpp:549 msgid "Flash compensation setting" msgstr "Inställning för blixtkompensation" #: src/nikonmn.cpp:551 msgid "Image Boundary" msgstr "Bildgräns" #: src/nikonmn.cpp:551 msgid "Image boundary" msgstr "Bildgräns" #: src/nikonmn.cpp:552 msgid "Flash exposure comp" msgstr "Blixtexponeringskomp" #: src/nikonmn.cpp:553 msgid "Flash Bracket Comp" msgstr "Blixtgafflingskomp" #: src/nikonmn.cpp:553 msgid "Flash bracket compensation applied" msgstr "Blixtgafflingskompensation tillämpad" #: src/nikonmn.cpp:554 msgid "Exposure Bracket Comp" msgstr "Exponeringsgafflingkomp" #: src/nikonmn.cpp:554 msgid "AE bracket compensation applied" msgstr "AE-gafflingskompensation tillämpad" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 msgid "Image Processing" msgstr "Bildbehandling" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 msgid "Image processing" msgstr "Bildbehandling" #: src/nikonmn.cpp:556 msgid "Crop High Speed" msgstr "Beskär hög hastighet" #: src/nikonmn.cpp:556 msgid "Crop high speed" msgstr "Beskär hög hastighet" #: src/nikonmn.cpp:557 msgid "Exposure Tuning" msgstr "Exponeringsjustering" #: src/nikonmn.cpp:557 msgid "Exposure tuning" msgstr "Exponeringsjustering" #: src/nikonmn.cpp:560 msgid "VR Info" msgstr "VR-info" #: src/nikonmn.cpp:560 msgid "VR info" msgstr "VR-information" #: src/nikonmn.cpp:561 msgid "Image Authentication" msgstr "Bildautentisering" #: src/nikonmn.cpp:561 msgid "Image authentication" msgstr "Bildautentisering" #: src/nikonmn.cpp:562 msgid "ActiveD-Lighting" msgstr "ActiveD-ljus" #: src/nikonmn.cpp:562 msgid "ActiveD-lighting" msgstr "ActiveD-ljus" #: src/nikonmn.cpp:563 msgid "Picture Control" msgstr "Bildkontroll" #: src/nikonmn.cpp:563 msgid " Picture control" msgstr " Bildkontroll" #: src/nikonmn.cpp:564 src/properties.cpp:1387 msgid "World Time" msgstr "Världstid" #: src/nikonmn.cpp:564 msgid "World time" msgstr "Världstid" #: src/nikonmn.cpp:565 msgid "ISO Info" msgstr "ISO-info" #: src/nikonmn.cpp:565 msgid "ISO info" msgstr "ISO-information" #: src/nikonmn.cpp:566 msgid "Vignette Control" msgstr "Vinjettkontroll" #: src/nikonmn.cpp:566 msgid "Vignette control" msgstr "Vinjettkontroll" #: src/nikonmn.cpp:568 msgid "Tone Compensation" msgstr "Tonkompensation" #: src/nikonmn.cpp:568 msgid "Tone compensation" msgstr "Tonkompensation" #: src/nikonmn.cpp:574 msgid "Mode of flash used" msgstr "Använt blixtläge" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 msgid "Shooting Mode" msgstr "Fotograferingsläge" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 msgid "Shooting mode" msgstr "Fotograferingsläge" #: src/nikonmn.cpp:577 msgid "Auto Bracket Release" msgstr "Autogaffling, släpp" #: src/nikonmn.cpp:577 msgid "Auto bracket release" msgstr "Autogaffling, släpp" #: src/nikonmn.cpp:578 msgid "Lens FStops" msgstr "Objektiv FStops" #: src/nikonmn.cpp:579 msgid "Contrast Curve" msgstr "Kontrastkurva" #: src/nikonmn.cpp:579 msgid "Contrast curve" msgstr "Kontrastkurva" #: src/nikonmn.cpp:580 msgid "Color Hue" msgstr "Färgnyans" #: src/nikonmn.cpp:580 msgid "Color hue" msgstr "Färgnyans" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 msgid "Scene mode" msgstr "Scenläge" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 msgid "Light Source" msgstr "Ljuskälla" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 msgid "Light source" msgstr "Ljuskälla" #: src/nikonmn.cpp:583 msgid "Shot info" msgstr "Bildinformation" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 msgid "Hue Adjustment" msgstr "Nyansjustering" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 msgid "Hue adjustment" msgstr "Nyansjustering" #: src/nikonmn.cpp:585 msgid "NEF Compression" msgstr "NEF-komprimering" #: src/nikonmn.cpp:585 msgid "NEF compression" msgstr "NEF-komprimering" #: src/nikonmn.cpp:588 src/tags.cpp:905 msgid "Linearization Table" msgstr "Linjäriseringstabell" #: src/nikonmn.cpp:588 msgid "Linearization table" msgstr "Linjäriseringstabell" #: src/nikonmn.cpp:589 msgid "Color Balance" msgstr "Färgbalans" #: src/nikonmn.cpp:589 msgid "Color balance" msgstr "Färgbalans" #: src/nikonmn.cpp:590 msgid "Lens Data" msgstr "Objektivdata" #: src/nikonmn.cpp:590 msgid "Lens data settings" msgstr "Objektivdatainställningar" #: src/nikonmn.cpp:591 msgid "Raw Image Center" msgstr "Råbildcentrum" #: src/nikonmn.cpp:591 msgid "Raw image center" msgstr "Råbildcentrum" #: src/nikonmn.cpp:592 msgid "Sensor Pixel Size" msgstr "Sensorns bildpunktsstorlek" #: src/nikonmn.cpp:592 msgid "Sensor pixel size" msgstr "Sensorns bildpunktsstorlek" #: src/nikonmn.cpp:594 msgid "Scene Assist" msgstr "Scenhjälp" #: src/nikonmn.cpp:594 msgid "Scene assist" msgstr "Scenhjälp" #: src/nikonmn.cpp:595 msgid "Retouch History" msgstr "Retuscheringshistorik" #: src/nikonmn.cpp:595 msgid "Retouch history" msgstr "Retuscheringshistorik" #: src/nikonmn.cpp:597 msgid "Serial NO" msgstr "Serienr" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "Kamerans serienummer, börjar oftast med ”NO=”" #: src/nikonmn.cpp:598 msgid "Image Data Size" msgstr "Bilddatans storlek" #: src/nikonmn.cpp:598 msgid "Image data size" msgstr "Bilddatans storlek" #: src/nikonmn.cpp:600 msgid "Image Count" msgstr "Bildantal" #: src/nikonmn.cpp:600 msgid "Image count" msgstr "Bildantal" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted Image Count" msgstr "Antal raderade bilder" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted image count" msgstr "Antal raderade bilder" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 msgid "Shutter Count" msgstr "Slutarräknare" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "Antal bilder tagna av kameran" #: src/nikonmn.cpp:603 msgid "Flash info" msgstr "Blixtinformation" #: src/nikonmn.cpp:604 msgid "Image Optimization" msgstr "Bildoptimering" #: src/nikonmn.cpp:604 msgid "Image optimization" msgstr "Bildoptimering" #: src/nikonmn.cpp:606 msgid "Program Variation" msgstr "Programvariation" #: src/nikonmn.cpp:606 msgid "Program variation" msgstr "Programvariation" #: src/nikonmn.cpp:608 msgid "AF Response" msgstr "AF-svar" #: src/nikonmn.cpp:608 msgid "AF response" msgstr "AF-svar" #: src/nikonmn.cpp:609 msgid "Multi exposure" msgstr "Multiexponering" #: src/nikonmn.cpp:610 msgid "High ISO Noise Reduction" msgstr "Hög ISO-brusreducering" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 msgid "Toning effect" msgstr "Toneffekt" #: src/nikonmn.cpp:612 msgid "AF info 2" msgstr "AF-info 2" #: src/nikonmn.cpp:613 msgid "File info" msgstr "Filinformation" #: src/nikonmn.cpp:614 msgid "AF tune" msgstr "AF-justering" #: src/nikonmn.cpp:617 msgid "Capture Data" msgstr "Fånga data" #: src/nikonmn.cpp:617 msgid "Capture data" msgstr "Fånga data" #: src/nikonmn.cpp:618 msgid "Capture Version" msgstr "Fångstversion" #: src/nikonmn.cpp:618 msgid "Capture version" msgstr "Fångstversion" #: src/nikonmn.cpp:620 msgid "Capture Offsets" msgstr "Fångstförskjutningar" #: src/nikonmn.cpp:620 msgid "Capture offsets" msgstr "Fångstförskjutningar" #: src/nikonmn.cpp:621 msgid "Scan IFD" msgstr "Skanna IFD" #: src/nikonmn.cpp:622 msgid "ICC profile" msgstr "ICC-profil" #: src/nikonmn.cpp:623 msgid "Capture output" msgstr "Fånga utdata" #: src/nikonmn.cpp:625 msgid "Unknown Nikon3MakerNote tag" msgstr "Okänd Nikon3MakerNote-tagg" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 msgid "No" msgstr "Nej" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "Ja" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "Å/M/D" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "M/D/Å" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "D/M/Å" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration Reduction" msgstr "Vibrationsreducering" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration reduction" msgstr "Vibrationsreducering" #: src/nikonmn.cpp:657 msgid "Unknown Nikon Vibration Reduction Tag" msgstr "Okänd Nikon vibrationsreduceringstagg" #: src/nikonmn.cpp:667 msgid "Default Settings" msgstr "Standardinställningar" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 msgid "Quick Adjust" msgstr "Snabbjustering" #: src/nikonmn.cpp:669 msgid "Full Control" msgstr "Fullständig kontroll" #: src/nikonmn.cpp:690 msgid "Blue-green" msgstr "Blå-grön" #: src/nikonmn.cpp:692 msgid "Purple-blue" msgstr "Lila-blå" #: src/nikonmn.cpp:693 msgid "Red-purple" msgstr "Röd-lila" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 msgid "Name" msgstr "Namn" #: src/nikonmn.cpp:701 msgid "Base" msgstr "Bas" #: src/nikonmn.cpp:702 msgid "Adjust" msgstr "Justera" #: src/nikonmn.cpp:703 msgid "Quick adjust" msgstr "Snabbjustering" #: src/nikonmn.cpp:709 msgid "Filter effect" msgstr "Filtereffekt" #: src/nikonmn.cpp:711 msgid "Toning Saturation" msgstr "Tonmättnad" #: src/nikonmn.cpp:711 msgid "Toning saturation" msgstr "Tonmättnad" #: src/nikonmn.cpp:713 msgid "Unknown Nikon Picture Control Tag" msgstr "Okänd Nikon bildkontroll" #: src/nikonmn.cpp:730 msgid "AF Fine Tune" msgstr "AF-finjustering" #: src/nikonmn.cpp:730 msgid "AF fine tune" msgstr "AF-finjustering" #: src/nikonmn.cpp:731 msgid "AF Fine Tune Index" msgstr "AF-finjusteringsindex" #: src/nikonmn.cpp:731 msgid "AF fine tune index" msgstr "AF-finjusteringsindex" #: src/nikonmn.cpp:732 msgid "AF Fine Tune Adjustment" msgstr "AF-finjustera anpassning" #: src/nikonmn.cpp:732 msgid "AF fine tune adjustment" msgstr "AF-finjustera anpassning" #: src/nikonmn.cpp:734 msgid "Unknown Nikon AF Fine Tune Tag" msgstr "Okänd Nikon AF-finjusteringstagg" #: src/nikonmn.cpp:744 msgid "Timezone" msgstr "Tidszon" #: src/nikonmn.cpp:745 msgid "Daylight Savings" msgstr "Sommar-/Vintertid" #: src/nikonmn.cpp:745 msgid "Daylight savings" msgstr "Sommar-/Vintertid" #: src/nikonmn.cpp:746 msgid "Date Display Format" msgstr "Datumformat" #: src/nikonmn.cpp:746 msgid "Date display format" msgstr "Datumformat" #: src/nikonmn.cpp:748 msgid "Unknown Nikon World Time Tag" msgstr "Okänd Nikon världstid-tagg" #: src/nikonmn.cpp:759 msgid "Hi 0.3" msgstr "Hög 0,3" #: src/nikonmn.cpp:760 msgid "Hi 0.5" msgstr "Hög 0,5" #: src/nikonmn.cpp:761 msgid "Hi 0.7" msgstr "Hög 0,7" #: src/nikonmn.cpp:762 msgid "Hi 1.0" msgstr "Hög 1,0" #: src/nikonmn.cpp:763 msgid "Hi 1.3" msgstr "Hög 1,3" #: src/nikonmn.cpp:764 msgid "Hi 1.5" msgstr "Hög 1,5" #: src/nikonmn.cpp:765 msgid "Hi 1.7" msgstr "Hög 1,7" #: src/nikonmn.cpp:766 msgid "Hi 2.0" msgstr "Hög 2,0" #: src/nikonmn.cpp:767 msgid "Hi 2.3" msgstr "Hög 2,3" #: src/nikonmn.cpp:768 msgid "Hi 2.5" msgstr "Hög 2,5" #: src/nikonmn.cpp:769 msgid "Hi 2.7" msgstr "Hög 2,7" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "Hög 3,0" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "Hög 3,3" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "Hög 3,5" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "Hög 3,7" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "Hög 4,0" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "Låg 0,3" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "Låg 0,5" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "Låg 0,7" #: src/nikonmn.cpp:778 msgid "Lo 1.0" msgstr "Låg 1,0" #: src/nikonmn.cpp:784 msgid "ISO Expansion" msgstr "ISO-expansion" #: src/nikonmn.cpp:784 msgid "ISO expansion" msgstr "ISO-expansion" #: src/nikonmn.cpp:785 msgid "ISO 2" msgstr "ISO 2" #: src/nikonmn.cpp:786 msgid "ISO Expansion 2" msgstr "ISO-expansion 2" #: src/nikonmn.cpp:786 msgid "ISO expansion 2" msgstr "ISO-expansion 2" #: src/nikonmn.cpp:788 msgid "Unknown Nikon Iso Info Tag" msgstr "Okänd Nikon ISO-informationstagg" #: src/nikonmn.cpp:798 msgid "Single Area" msgstr "Enstaka yta" #: src/nikonmn.cpp:799 msgid "Dynamic Area" msgstr "Dynamisk yta" #: src/nikonmn.cpp:800 msgid "Dynamic Area, Closest Subject" msgstr "Dynamisk yta, närmaste motiv" #: src/nikonmn.cpp:801 msgid "Group Dynamic" msgstr "Gruppdynamik" #: src/nikonmn.cpp:802 msgid "Single Area (wide)" msgstr "Enstaka yta (bred)" #: src/nikonmn.cpp:803 msgid "Dynamic Area (wide)" msgstr "Dynamisk yta (bred)" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 msgid "Mid-left" msgstr "Mitt-vänster" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 msgid "Mid-right" msgstr "Mitt-höger" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 msgid "Far Left" msgstr "Längst till vänster" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 msgid "Far Right" msgstr "Längst till höger" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 msgid "AF area mode" msgstr "AF-ytläge" #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 msgid "AF point" msgstr "AF-punkt" #: src/nikonmn.cpp:840 msgid "AF Points In Focus" msgstr "AF-punkter i fokus" #: src/nikonmn.cpp:840 msgid "AF points in focus" msgstr "Af-punkter i fokus" #: src/nikonmn.cpp:842 msgid "Unknown Nikon Auto Focus Tag" msgstr "Okänd Nikon autofokus-tagg" #: src/nikonmn.cpp:853 msgid "On (51-point)" msgstr "På (51-punkts)" #: src/nikonmn.cpp:854 msgid "On (11-point)" msgstr "På (11-punkts)" #: src/nikonmn.cpp:855 msgid "On (39-point)" msgstr "På (39-punkts)" #: src/nikonmn.cpp:856 msgid "On (73-point)" msgstr "På (73-punkts)" #: src/nikonmn.cpp:857 msgid "On (73-point, new)" msgstr "På (73-punkts, ny)" #: src/nikonmn.cpp:858 msgid "On (105-point)" msgstr "På (105-punkts)" #: src/nikonmn.cpp:864 msgid "Contrast Detect AF" msgstr "Kontrastmedveten AF" #: src/nikonmn.cpp:864 msgid "Contrast detect AF" msgstr "Kontrastmedveten AF" #: src/nikonmn.cpp:866 msgid "Phase Detect AF" msgstr "Fasmedveten AF" #: src/nikonmn.cpp:866 msgid "Phase detect AF" msgstr "Fasmedveten AF" #: src/nikonmn.cpp:867 msgid "Primary AF Point" msgstr "Primär AF-punkt" #: src/nikonmn.cpp:867 msgid "Primary AF point" msgstr "Primär AF-punkt" #: src/nikonmn.cpp:869 msgid "AF Image Width" msgstr "AF-bildbredd" #: src/nikonmn.cpp:869 msgid "AF image width" msgstr "AF-bildbredd" #: src/nikonmn.cpp:870 msgid "AF Image Height" msgstr "AF-bildhöjd" #: src/nikonmn.cpp:870 msgid "AF image height" msgstr "AF-bildhöjd" #: src/nikonmn.cpp:871 msgid "AF Area X Position" msgstr "AF-ytans x-position" #: src/nikonmn.cpp:871 msgid "AF area x position" msgstr "AF-ytans x-position" #: src/nikonmn.cpp:872 msgid "AF Area Y Position" msgstr "AF-ytans y-position" #: src/nikonmn.cpp:872 msgid "AF area y position" msgstr "AF-ytans y-position" #: src/nikonmn.cpp:873 msgid "AF Area Width" msgstr "AF-ytans bredd" #: src/nikonmn.cpp:873 msgid "AF area width" msgstr "AF-ytans bredd" #: src/nikonmn.cpp:874 msgid "AF Area Height" msgstr "AF-ytans höjd" #: src/nikonmn.cpp:874 msgid "AF area height" msgstr "AF-ytans höjd" #: src/nikonmn.cpp:875 msgid "Contrast Detect AF In Focus" msgstr "Kontrastmedveten AF i fokus" #: src/nikonmn.cpp:875 msgid "Contrast detect AF in focus" msgstr "Kontrastmedveten AF i fokus" #: src/nikonmn.cpp:877 msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "Okänd Nikon autofokus 2-tagg" #: src/nikonmn.cpp:888 msgid "Directory Number" msgstr "Katalognummer" #: src/nikonmn.cpp:888 msgid "Directory number" msgstr "Katalognummer" #: src/nikonmn.cpp:891 msgid "Unknown Nikon File Info Tag" msgstr "Okänd Nikon filinformationstagg" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 msgid "Multiple Exposure" msgstr "Multiexponering" #: src/nikonmn.cpp:903 msgid "Image Overlay" msgstr "Bildöverlagring" #: src/nikonmn.cpp:909 msgid "Multi Exposure Mode" msgstr "Multiexponeringsläge" #: src/nikonmn.cpp:909 msgid "Multi exposure mode" msgstr "Multiexponeringsläge" #: src/nikonmn.cpp:910 msgid "Multi Exposure Shots" msgstr "Multiexponeringsfoton" #: src/nikonmn.cpp:910 msgid "Multi exposure shots" msgstr "Multiexponeringsfoton" #: src/nikonmn.cpp:911 msgid "Multi Exposure Auto Gain" msgstr "Multiexponering, autoförstärkning" #: src/nikonmn.cpp:911 msgid "Multi exposure auto gain" msgstr "Multiexponering, autoförstärkning" #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 msgid "Unknown Nikon Multi Exposure Tag" msgstr "Okänd Nikon multiexponeringstagg" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 msgid "Internal" msgstr "Intern" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "1.01 (SB-800 eller Metz 58 AF-1)" #: src/nikonmn.cpp:991 msgid "iTTL-BL" msgstr "iTTL-BL" #: src/nikonmn.cpp:992 msgid "iTTL" msgstr "iTTL" #: src/nikonmn.cpp:993 msgid "Auto Aperture" msgstr "Autobländning" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "GN (avståndsprioritet)" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 msgid "Repeating Flash" msgstr "Upprepad blixt" #: src/nikonmn.cpp:1004 msgid "Bounce Flash" msgstr "Studsande blixt" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "Bred blixtadapter" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "FL-GL1" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "FL-GL2" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "TN-A1" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "TN-A2" #: src/nikonmn.cpp:1018 msgid "Amber" msgstr "Gulbrun" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash Source" msgstr "Blixtkälla" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash source" msgstr "Blixtkälla" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 msgid "0x0005" msgstr "0x0005" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 msgid "External Flash Firmware" msgstr "Fast programvara för extern blixt" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 msgid "External flash firmware" msgstr "Fast programvara för extern blixt" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 msgid "External Flash Flags" msgstr "Externa blixtflaggor" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 msgid "External flash flags" msgstr "Externa blixtflaggor" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 msgid "Flash Focal Length" msgstr "Blixtens brännvidd" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 msgid "Flash focal length" msgstr "Blixtens brännvidd" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "Blixtupprepningsfrekvens" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating flash rate" msgstr "Blixtupprepningsfrekvens" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "Antal blixtupprepningar" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating flash count" msgstr "Antal blixtupprepningar" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN Distance" msgstr "Blixtens GN-avstånd" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN distance" msgstr "Blixtens GN-avstånd" #: src/nikonmn.cpp:1032 msgid "Flash Group A Control Mode" msgstr "Kontrolläge för blixtgrupp A" #: src/nikonmn.cpp:1032 msgid "Flash group a control mode" msgstr "Kontrolläge för blixtgrupp a" #: src/nikonmn.cpp:1033 msgid "Flash Group B Control Mode" msgstr "Kontrolläge för blixtgrupp B" #: src/nikonmn.cpp:1033 msgid "Flash group b control mode" msgstr "Kontrolläge för blixtgrupp b" #: src/nikonmn.cpp:1073 msgid "Flash Color Filter" msgstr "Blixtens färgfilter" #: src/nikonmn.cpp:1073 msgid "Flash color filter" msgstr "Blixtens färgfilter" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 msgid "Shutter count" msgstr "Slutarantal" #: src/nikonmn.cpp:1088 msgid "Unknown Nikon Shot Info D80 Tag" msgstr "Okänd Nikon bildinformations-D80-tagg" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 msgid "Flash Level" msgstr "Blixtnivå" #: src/nikonmn.cpp:1100 msgid "Flash level" msgstr "Blixtnivå" #: src/nikonmn.cpp:1102 msgid "Unknown Nikon Shot Info D40 Tag" msgstr "Okänd Nikon bildinformation-D40-tagg" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF Fine Tune Adj" msgstr "Regl AF-finjustering" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF fine tune adj" msgstr "Reglera AF-finjustering" #: src/nikonmn.cpp:1162 msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "Okänd Nikon bildinformation-D300 (a)-tagg" #: src/nikonmn.cpp:1222 msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "Okänd Nikon bildinformation-D300 (b)-tagg" #: src/nikonmn.cpp:1235 msgid "On (3)" msgstr "På (3)" #: src/nikonmn.cpp:1248 msgid "Shutter Count 1" msgstr "Slutarantal 1" #: src/nikonmn.cpp:1248 msgid "Shutter count 1" msgstr "Slutarantal 1" #: src/nikonmn.cpp:1251 msgid "Vibration Reduction 1" msgstr "Vibrationsreducering 1" #: src/nikonmn.cpp:1251 msgid "Vibration reduction 1" msgstr "Vibrationsreducering 2" #: src/nikonmn.cpp:1252 msgid "Shutter Count 2" msgstr "Slutarantal 2" #: src/nikonmn.cpp:1252 msgid "Shutter count 2" msgstr "Slutarantal 2" #: src/nikonmn.cpp:1253 msgid "Vibration Reduction 2" msgstr "Vibrationsreducering 2" #: src/nikonmn.cpp:1253 msgid "Vibration reduction 2" msgstr "Vibrationsreducering 2" #: src/nikonmn.cpp:1257 msgid "Unknown Nikon Shot Info Tag" msgstr "Okänd Nikon bildinformationstagg" #: src/nikonmn.cpp:1268 msgid "WB RBGG Levels" msgstr "VB RBGG-nivåer" #: src/nikonmn.cpp:1268 msgid "WB RBGG levels" msgstr "VB RBGG-nivåer" #: src/nikonmn.cpp:1270 msgid "Unknown Nikon Color Balance 1 Tag" msgstr "Okänd Nikon Färgbalans 1-tagg" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB Levels" msgstr "VB RGGB-nivåer" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB levels" msgstr "VB RGGB-nivåer" #: src/nikonmn.cpp:1283 msgid "Unknown Nikon Color Balance 2 Tag" msgstr "Okänd Nikon Färgbalans 2-tagg" #: src/nikonmn.cpp:1296 msgid "Unknown Nikon Color Balance 2a Tag" msgstr "Okänd Nikon Färgbalans 2a-tagg" #: src/nikonmn.cpp:1309 msgid "Unknown Nikon Color Balance 2b Tag" msgstr "Okänd Nikon Färgbalans 2b-tagg" #: src/nikonmn.cpp:1320 msgid "WB RGBG Levels" msgstr "VB RGBG-nivåer" #: src/nikonmn.cpp:1320 msgid "WB RGBG levels" msgstr "VB RGBG-nivåer" #: src/nikonmn.cpp:1322 msgid "Unknown Nikon Color Balance 3 Tag" msgstr "Okänd Nikon Färgbalans 3-tagg" #: src/nikonmn.cpp:1333 msgid "WB GRBG Levels" msgstr "VB GRBG-nivåer" #: src/nikonmn.cpp:1333 msgid "WB GRBG levels" msgstr "VB GRBG-nivåer" #: src/nikonmn.cpp:1335 msgid "Unknown Nikon Color Balance 4 Tag" msgstr "Okänd Nikon Färgbalans 4-tagg" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID Number" msgstr "Objektiv-IDnummer" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID number" msgstr "Objektiv-ID-nummer" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 msgid "Lens F-Stops" msgstr "Objektiv F-stopp" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 msgid "Lens F-stops" msgstr "Objektiv F-stopp" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min Focal Length" msgstr "Min brännvidd" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min focal length" msgstr "Min brännvidd" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max Focal Length" msgstr "Max brännvidd" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max focal length" msgstr "Max brännvidd" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 msgid "Max Aperture At Min Focal" msgstr "Max bländning vid min brännvidd" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 msgid "Max aperture at min focal" msgstr "Max bländning vid min brännvidd" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 msgid "Max Aperture At Max Focal" msgstr "Max bländning vid max brännvidd" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 msgid "Max aperture at max focal" msgstr "Max bländning vid max brännvidd" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU Version" msgstr "MCU-version" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU version" msgstr "MCU-version" #: src/nikonmn.cpp:1354 msgid "Unknown Nikon Lens Data 1 Tag" msgstr "Okänd Nikon objektivdata 1-tagg" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit Pupil Position" msgstr "Utgående pupillposition" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit pupil position" msgstr "Utgående pupillposition" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 msgid "AF Aperture" msgstr "AF-bländning" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 msgid "AF aperture" msgstr "AF-bländning" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective Max Aperture" msgstr "Effektiv maxbländning" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective max aperture" msgstr "Effektiv maxbländning" #: src/nikonmn.cpp:1379 msgid "Unknown Nikon Lens Data 2 Tag" msgstr "Okänd Nikon objektivdata 2-tagg" #: src/nikonmn.cpp:1399 msgid "Max aperture at min focal length" msgstr "Max bländning vid min brännvidd" #: src/nikonmn.cpp:1400 msgid "Max aperture at max focal length" msgstr "Max bländning vid max brännvidd" #: src/nikonmn.cpp:1404 msgid "Unknown Nikon Lens Data 3 Tag" msgstr "Okänd Nikon objektivdata 3-tagg" #: src/nikonmn.cpp:1590 msgid "Closest subject" msgstr "Närmsta motiv" #: src/nikonmn.cpp:1591 msgid "Group dynamic-AF" msgstr "Gruppdynamik-AF" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "ingen" #: src/nikonmn.cpp:1624 msgid "used" msgstr "använt" #: src/nikonmn.cpp:1650 msgid "All 11 Points" msgstr "Alla 11 punkter" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 msgid "Single-frame" msgstr "Enstaka ram" #: src/olympusmn.cpp:71 msgid "Standard Quality (SQ)" msgstr "Standardkvalitet (SQ)" #: src/olympusmn.cpp:72 msgid "High Quality (HQ)" msgstr "Hög kvalitet (HQ)" #: src/olympusmn.cpp:73 msgid "Super High Quality (SHQ)" msgstr "Superhög kvalitet (SHQ)" #: src/olympusmn.cpp:88 msgid "On (preset)" msgstr "På (förval)" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 msgid "Sport" msgstr "Sport" #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 msgid "Landscape+Portrait" msgstr "Liggande+stående" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 msgid "Self Portrait" msgstr "Självporträtt" #: src/olympusmn.cpp:102 msgid "2 in 1" msgstr "2 i 1" #: src/olympusmn.cpp:105 msgid "Night+Portrait" msgstr "Natt+stående" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "Mat" #: src/olympusmn.cpp:112 msgid "Documents" msgstr "Dokument" #: src/olympusmn.cpp:114 msgid "Shoot & Select" msgstr "Fota & välj" #: src/olympusmn.cpp:115 msgid "Beach & Snow" msgstr "Strand och snö" #: src/olympusmn.cpp:116 msgid "Self Portrait+Timer" msgstr "Självporträtt+självutlösning" #: src/olympusmn.cpp:117 msgid "Candle" msgstr "Stearinljus" #: src/olympusmn.cpp:118 msgid "Available Light" msgstr "Tillgängligt ljus" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "Bakom glas" #: src/olympusmn.cpp:120 msgid "My Mode" msgstr "Mitt läge" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 msgid "Pet" msgstr "Husdjur" #: src/olympusmn.cpp:122 msgid "Underwater Wide1" msgstr "Undervatten bred1" #: src/olympusmn.cpp:123 msgid "Underwater Macro" msgstr "Undervatten makro" #: src/olympusmn.cpp:124 msgid "Shoot & Select1" msgstr "Fota & välj1" #: src/olympusmn.cpp:125 msgid "Shoot & Select2" msgstr "Fota & välj2" #: src/olympusmn.cpp:127 msgid "Digital Image Stabilization" msgstr "Digital bildstabilisering" #: src/olympusmn.cpp:128 msgid "Auction" msgstr "Auktion" #: src/olympusmn.cpp:131 msgid "Underwater Wide2" msgstr "Undervatten bred2" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "Barn" #: src/olympusmn.cpp:135 msgid "Nature Macro" msgstr "Natur makro" #: src/olympusmn.cpp:136 msgid "Underwater Snapshot" msgstr "Undervatten snabbfoto" #: src/olympusmn.cpp:137 msgid "Shooting Guide" msgstr "Fotografiguide" #: src/olympusmn.cpp:145 msgid "Internal + External" msgstr "Intern + extern" #: src/olympusmn.cpp:176 msgid "Interlaced" msgstr "Flätad" #: src/olympusmn.cpp:177 msgid "Progressive" msgstr "Progressiv" #: src/olympusmn.cpp:188 msgid "Thumbnail Image" msgstr "Miniatyrbild" #: src/olympusmn.cpp:189 msgid "Thumbnail image" msgstr "Miniatyrbild" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body Firmware Version" msgstr "Chassits fast programvaruversion" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body firmware version" msgstr "Chassits fast programvaruversion" #: src/olympusmn.cpp:195 msgid "Special Mode" msgstr "Specialläge" #: src/olympusmn.cpp:196 msgid "Picture taking mode" msgstr "Fotograferingsläge" #: src/olympusmn.cpp:204 msgid "Black & White Mode" msgstr "Svart-och-vitt-läge" #: src/olympusmn.cpp:205 msgid "Black and white mode" msgstr "Svart-och-vitt-läge" #: src/olympusmn.cpp:208 msgid "Digital zoom ratio" msgstr "Digital zoom" #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 msgid "Focal Plane Diagonal" msgstr "Fokalplan, diagonalt" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 msgid "Focal plane diagonal" msgstr "Fokalplan, diagonalt" #: src/olympusmn.cpp:213 msgid "Lens Distortion Parameters" msgstr "Objektivdistorsionsparametrar" #: src/olympusmn.cpp:214 msgid "Lens distortion parameters" msgstr "Objektivdistorsionsparametrar" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 msgid "Camera Type" msgstr "Kameratyp" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 msgid "Camera type" msgstr "Kameratyp" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "Data i ASCII-format, som [PictureInfo]" #: src/olympusmn.cpp:222 msgid "Camera ID" msgstr "Kamera-ID" #: src/olympusmn.cpp:223 msgid "Camera ID data" msgstr "Kamera-ID-data" #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "Program" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 msgid "Preview Image" msgstr "Förhandsgranska bild" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 msgid "Preview image" msgstr "Förhandsgranska bild" #: src/olympusmn.cpp:237 msgid "Pre Capture Frames" msgstr "Förfångst av ramar" #: src/olympusmn.cpp:238 msgid "Pre-capture frames" msgstr "Förfångst av ramar" #: src/olympusmn.cpp:240 msgid "White Board" msgstr "Vit tavla" #: src/olympusmn.cpp:241 msgid "White board" msgstr "Vit tavla" #: src/olympusmn.cpp:243 msgid "One Touch WB" msgstr "Enkelberörings-vb" #: src/olympusmn.cpp:244 msgid "One touch white balance" msgstr "Enkelberörings-vitbalans" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 msgid "White Balance Bracket" msgstr "Vitbalansgaffling" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 msgid "White balance bracket" msgstr "Vitbalansgaffling" #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 msgid "Firmware" msgstr "Fast programvara" #: src/olympusmn.cpp:261 msgid "Data Dump 1" msgstr "Datadump 1" #: src/olympusmn.cpp:262 msgid "Various camera settings 1" msgstr "Diverse kamerainställningar 1" #: src/olympusmn.cpp:264 msgid "Data Dump 2" msgstr "Datadump 2" #: src/olympusmn.cpp:265 msgid "Various camera settings 2" msgstr "Diverse kamerainställningar 1" #: src/olympusmn.cpp:268 msgid "Shutter speed value" msgstr "Värde för slutarhastighet" #: src/olympusmn.cpp:271 msgid "ISO speed value" msgstr "Värde för ISO-hastighet" #: src/olympusmn.cpp:274 msgid "Aperture value" msgstr "Bländarvärde" #: src/olympusmn.cpp:277 msgid "Brightness value" msgstr "Värde för ljusstyrka" #: src/olympusmn.cpp:285 msgid "Bracket" msgstr "Gaffling" #: src/olympusmn.cpp:286 msgid "Exposure compensation value" msgstr "Värde för exponeringskompensation" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 msgid "Sensor Temperature" msgstr "Sensortemperatur" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 msgid "Sensor temperature" msgstr "Sensortemperatur" #: src/olympusmn.cpp:291 msgid "Lens Temperature" msgstr "Objektivtemperatur" #: src/olympusmn.cpp:292 msgid "Lens temperature" msgstr "Objektivtemperatur" #: src/olympusmn.cpp:294 msgid "Light Condition" msgstr "Ljusförhållande" #: src/olympusmn.cpp:295 msgid "Light condition" msgstr "Ljusförutsättning" #: src/olympusmn.cpp:297 msgid "Focus Range" msgstr "Fokusvidd" #: src/olympusmn.cpp:298 msgid "Focus range" msgstr "Fokusavstånd" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "Zoom" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 msgid "Zoom step count" msgstr "Zoomstegsräknare" #: src/olympusmn.cpp:309 msgid "Macro Focus" msgstr "Makrofokus" #: src/olympusmn.cpp:310 msgid "Macro focus step count" msgstr "Makrofokusstegräknare" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 msgid "Sharpness Factor" msgstr "Faktor för skärpa" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 msgid "Sharpness factor" msgstr "Faktor för skärpa" #: src/olympusmn.cpp:315 msgid "Flash Charge Level" msgstr "Laddningsnivå för blixt" #: src/olympusmn.cpp:316 msgid "Flash charge level" msgstr "Laddningsnivå för blixt" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 msgid "Color Matrix" msgstr "Färgmatris" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 msgid "Color matrix" msgstr "Färgmatris" #: src/olympusmn.cpp:321 msgid "BlackLevel" msgstr "Svartnivå" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 msgid "Black level" msgstr "Svartnivå" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 msgid "White balance mode" msgstr "Vitbalansläge" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 msgid "Red Balance" msgstr "Rödbalans" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 msgid "Red balance" msgstr "Rödbalans" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 msgid "Blue Balance" msgstr "Blåbalans" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 msgid "Blue balance" msgstr "Blåbalans" #: src/olympusmn.cpp:342 msgid "Color Matrix Number" msgstr "Färgmatrisnummer" #: src/olympusmn.cpp:343 msgid "Color matrix number" msgstr "Färgmatrisnummer" #: src/olympusmn.cpp:345 msgid "Serial Number 2" msgstr "Serienummer 2" #: src/olympusmn.cpp:346 msgid "Serial number 2" msgstr "Serienummer 2" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 msgid "Flash exposure compensation" msgstr "Blixtexponeringskompensation" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 msgid "External Flash Bounce" msgstr "Extern blixtstudsning" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 msgid "External flash bounce" msgstr "Extern blixtstudsning" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 msgid "External Flash Zoom" msgstr "Zoom för extern blixt" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 msgid "External flash zoom" msgstr "Zoom för extern blixt" #: src/olympusmn.cpp:387 msgid "External Flash Mode" msgstr "Externt blixtläge" #: src/olympusmn.cpp:388 msgid "External flash mode" msgstr "Externt blixtläge" #: src/olympusmn.cpp:396 msgid "Color Control" msgstr "Färgkontroll" #: src/olympusmn.cpp:397 msgid "Color control" msgstr "Färgkontroll" #: src/olympusmn.cpp:399 msgid "ValidBits" msgstr "Giltiga bitar" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 msgid "Valid bits" msgstr "Giltiga bitar" #: src/olympusmn.cpp:402 msgid "CoringFilter" msgstr "Coring-filter" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 msgid "Coring filter" msgstr "Coring-filter" #: src/olympusmn.cpp:423 msgid "Compression Ratio" msgstr "Komprimeringsförhållande" #: src/olympusmn.cpp:424 msgid "Compression ratio" msgstr "Komprimeringsförhållande" #: src/olympusmn.cpp:427 msgid "Preview image embedded" msgstr "Förhandsvisningssbild inbäddad" #: src/olympusmn.cpp:430 msgid "Offset of the preview image" msgstr "Förskjutning av förhandsvisningsbilden" #: src/olympusmn.cpp:433 msgid "Size of the preview image" msgstr "Förhandsvisningsbildens storlek" #: src/olympusmn.cpp:435 msgid "CCD Scan Mode" msgstr "CCD-skanningsläge" #: src/olympusmn.cpp:436 msgid "CCD scan mode" msgstr "CCD-skanningsläge" #: src/olympusmn.cpp:441 msgid "Infinity Lens Step" msgstr "Oändlig objektivstegning" #: src/olympusmn.cpp:442 msgid "Infinity lens step" msgstr "Oändlig objektivstegning" #: src/olympusmn.cpp:444 msgid "Near Lens Step" msgstr "Nära objektivstegning" #: src/olympusmn.cpp:445 msgid "Near lens step" msgstr "Nära objektivstegning" #: src/olympusmn.cpp:447 msgid "Equipment Info" msgstr "Utrustningsinformation" #: src/olympusmn.cpp:448 msgid "Camera equipment sub-IFD" msgstr "Kamerautrustningens del-IFD" #: src/olympusmn.cpp:451 msgid "Camera Settings sub-IFD" msgstr "Kamerainställningarnas del-IFD" #: src/olympusmn.cpp:453 msgid "Raw Development" msgstr "RAW-utveckling" #: src/olympusmn.cpp:454 msgid "Raw development sub-IFD" msgstr "RAW-utvecklingens del-IFD" #: src/olympusmn.cpp:456 msgid "Raw Development 2" msgstr "RAW-utveckling 2" #: src/olympusmn.cpp:457 msgid "Raw development 2 sub-IFD" msgstr "RAW-utveckling 2 del-IFD" #: src/olympusmn.cpp:460 msgid "Image processing sub-IFD" msgstr "Bildbehandlingens del-IFD" #: src/olympusmn.cpp:462 msgid "Focus Info" msgstr "Fokusinformation" #: src/olympusmn.cpp:463 msgid "Focus sub-IFD" msgstr "Fokus del-IFD" #: src/olympusmn.cpp:465 msgid "Raw Info" msgstr "RAW-information" #: src/olympusmn.cpp:466 msgid "Raw sub-IFD" msgstr "RAW del-IFD" #: src/olympusmn.cpp:470 msgid "Unknown OlympusMakerNote tag" msgstr "Okänd OlympusMakerNote-tagg" #: src/olympusmn.cpp:486 msgid "Program-shift" msgstr "Program-byte" #: src/olympusmn.cpp:491 msgid "Center-weighted average" msgstr "Center-viktat medelvärde" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "ESP" #: src/olympusmn.cpp:494 msgid "Pattern+AF" msgstr "Mönster+AF" #: src/olympusmn.cpp:495 msgid "Spot+Highlight control" msgstr "Punkt+högdagerkontroll" #: src/olympusmn.cpp:496 msgid "Spot+Shadow control" msgstr "Punkt+skuggkontroll" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 msgid "Single AF" msgstr "Enstaka AF" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "Sekventiell fotografering AF" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 msgid "Multi AF" msgstr "Multi-AF" #: src/olympusmn.cpp:517 msgid "AF Not Used" msgstr "AF används inte" #: src/olympusmn.cpp:518 msgid "AF Used" msgstr "AF används" #: src/olympusmn.cpp:523 msgid "Not Ready" msgstr "Inte redo" #: src/olympusmn.cpp:524 msgid "Ready" msgstr "Redo" #: src/olympusmn.cpp:531 msgid "Fill-in" msgstr "Fyll i" #: src/olympusmn.cpp:533 msgid "Slow-sync" msgstr "Långsam synkronisering" #: src/olympusmn.cpp:534 msgid "Forced On" msgstr "Tvingad på" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "Andra ridån" #: src/olympusmn.cpp:541 msgid "Channel 1, Low" msgstr "Kanal 1, låg" #: src/olympusmn.cpp:542 msgid "Channel 2, Low" msgstr "Kanal 2, låg" #: src/olympusmn.cpp:543 msgid "Channel 3, Low" msgstr "Kanal 3, låg" #: src/olympusmn.cpp:544 msgid "Channel 4, Low" msgstr "Kanal 4, låg" #: src/olympusmn.cpp:545 msgid "Channel 1, Mid" msgstr "Kanal 1, mellan" #: src/olympusmn.cpp:546 msgid "Channel 2, Mid" msgstr "Kanal 2, mellan" #: src/olympusmn.cpp:547 msgid "Channel 3, Mid" msgstr "Kanal 3, mellan" #: src/olympusmn.cpp:548 msgid "Channel 4, Mid" msgstr "Kanal 4, mellan" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "Kanal 1, hög" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "Kanal 2, hög" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "Kanal 3, hög" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "Kanal 4, hög" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "Auto (varma färger av" #: src/olympusmn.cpp:567 msgid "7500K (Fine Weather with Shade)" msgstr "7500K (Vackert väder med skuggor)" #: src/olympusmn.cpp:568 msgid "6000K (Cloudy)" msgstr "6000K (Molnigt)" #: src/olympusmn.cpp:569 msgid "5300K (Fine Weather)" msgstr "5300K (Vackert väder)" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "3000K (Volframljus)" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 msgid "3600K (Tungsten light-like)" msgstr "3600K (Volframartat ljus)" #: src/olympusmn.cpp:572 msgid "Auto Setup" msgstr "Autoinställning" #: src/olympusmn.cpp:573 msgid "5500K (Flash)" msgstr "5500K (blixt)" #: src/olympusmn.cpp:574 msgid "6600K (Daylight fluorescent)" msgstr "6600K (Fluorescerande dagsljus)" #: src/olympusmn.cpp:575 msgid "4500K (Neutral white fluorescent)" msgstr "4500K (Fluorescerande neutralt vitt)" #: src/olympusmn.cpp:576 msgid "4000K (Cool white fluorescent)" msgstr "4000K (Fluorescerande kallt vitt)" #: src/olympusmn.cpp:577 msgid "White Fluorescent" msgstr "Vitt fluorescerande" #: src/olympusmn.cpp:580 msgid "One Touch WB 1" msgstr "Enkelberörings-vb 1" #: src/olympusmn.cpp:581 msgid "One Touch WB 2" msgstr "Enkelberörings-vb 2" #: src/olympusmn.cpp:582 msgid "One Touch WB 3" msgstr "Enkelberörings-vb 3" #: src/olympusmn.cpp:583 msgid "One Touch WB 4" msgstr "Enkelberörings-vb 4" #: src/olympusmn.cpp:584 msgid "Custom WB 1" msgstr "Egen VB 1" #: src/olympusmn.cpp:585 msgid "Custom WB 2" msgstr "Egen VB 2" #: src/olympusmn.cpp:586 msgid "Custom WB 3" msgstr "Egen VB 3" #: src/olympusmn.cpp:587 msgid "Custom WB 4" msgstr "Egen VB 4" #: src/olympusmn.cpp:593 msgid "CM1 (Red Enhance)" msgstr "CM1 (rödförstärkning)" #: src/olympusmn.cpp:594 msgid "CM2 (Green Enhance)" msgstr "CM2 (grönförstärkning)" #: src/olympusmn.cpp:595 msgid "CM3 (Blue Enhance)" msgstr "CM3 (blåförstärkning)" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "CM4 (hudtoner)" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "Pro Photo RGB" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 msgid "Noise Filter" msgstr "Brusfilter" #: src/olympusmn.cpp:610 msgid "Noise Filter (ISO Boost)" msgstr "Brusfilter (ISO-förstärkning)" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 msgid "Muted" msgstr "Dämpad" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 msgid "Monotone" msgstr "Monoton" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "SQ" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "HQ" #: src/olympusmn.cpp:648 msgid "SHQ" msgstr "SHQ" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 msgid "On, Mode 1" msgstr "På, läge 1" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 msgid "On, Mode 2" msgstr "På, läge 2" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 msgid "On, Mode 3" msgstr "På, läge 3" #: src/olympusmn.cpp:661 msgid "Camera Settings Version" msgstr "Kamerainställningsversion" #: src/olympusmn.cpp:661 msgid "Camera settings version" msgstr "Kamerainställningsversion" #: src/olympusmn.cpp:662 msgid "PreviewImage Valid" msgstr "Giltig förhandsgranskning" #: src/olympusmn.cpp:662 msgid "Preview image valid" msgstr "Giltig förhandsgranskningsbild" #: src/olympusmn.cpp:663 msgid "PreviewImage Start" msgstr "Börja förhandsvisning" #: src/olympusmn.cpp:663 msgid "Preview image start" msgstr "Börja förhandsgranska bilden" #: src/olympusmn.cpp:664 msgid "PreviewImage Length" msgstr "Förhandsvisningsbildens längd" #: src/olympusmn.cpp:664 msgid "Preview image length" msgstr "Förhandsvisningsbildens längd" #: src/olympusmn.cpp:666 msgid "Auto exposure lock" msgstr "Auto exponeringslås" #: src/olympusmn.cpp:668 msgid "Exposure Shift" msgstr "Exponeringsbyte" #: src/olympusmn.cpp:668 msgid "Exposure shift" msgstr "Exponeringsbyte" #: src/olympusmn.cpp:671 msgid "Focus Process" msgstr "Fokusförlopp" #: src/olympusmn.cpp:671 msgid "Focus process" msgstr "Fokusförlopp" #: src/olympusmn.cpp:672 msgid "AF Search" msgstr "AF-sökning" #: src/olympusmn.cpp:672 msgid "AF search" msgstr "AF-sökning" #: src/olympusmn.cpp:673 msgid "AF Areas" msgstr "AF-områden" #: src/olympusmn.cpp:673 msgid "AF areas" msgstr "AF-områden" #: src/olympusmn.cpp:674 msgid "AFPointSelected" msgstr "Vald AF-punkt" #: src/olympusmn.cpp:675 msgid "AF Fine Tune Adjust" msgstr "Reglera AF-finjustering" #: src/olympusmn.cpp:675 msgid "AF fine tune adjust" msgstr "Reglera AF-finjustering" #: src/olympusmn.cpp:678 msgid "Flash Remote Control" msgstr "Fjärrkontroll för blixt" #: src/olympusmn.cpp:678 msgid "Flash remote control" msgstr "Fjärrkontroll för blixt" #: src/olympusmn.cpp:679 msgid "Flash Control Mode" msgstr "Blixtkontrolläge" #: src/olympusmn.cpp:679 msgid "Flash control mode" msgstr "Blixtkontrolläge" #: src/olympusmn.cpp:680 msgid "Flash Intensity" msgstr "Blixtintensitet" #: src/olympusmn.cpp:680 msgid "Flash intensity" msgstr "Blixtintensitet" #: src/olympusmn.cpp:681 msgid "Manual Flash Strength" msgstr "Manuell blixtstyrka" #: src/olympusmn.cpp:681 msgid "Manual flash strength" msgstr "Manuell blixtstyrka" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 msgid "White Balance 2" msgstr "Vitbalans 2" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 msgid "White balance 2" msgstr "Vitbalans 2" #: src/olympusmn.cpp:683 msgid "White Balance Temperature" msgstr "Vitbalansens färgtemperatur" #: src/olympusmn.cpp:683 msgid "White balance temperature" msgstr "Vitbalansens färgtemperatur" #: src/olympusmn.cpp:685 msgid "Custom Saturation" msgstr "Egen färgmättnad" #: src/olympusmn.cpp:685 msgid "Custom saturation" msgstr "Egen färgmättnad" #: src/olympusmn.cpp:686 msgid "Modified Saturation" msgstr "Ändrad färgmättnad" #: src/olympusmn.cpp:686 msgid "Modified saturation" msgstr "Ändrad färgmättnad" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 msgid "Contrast Setting" msgstr "Kontrastinställning" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 msgid "Sharpness Setting" msgstr "Inställning för skärpa" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion Correction" msgstr "Distorsionkorrigering" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion correction" msgstr "Distorsionkorrigering" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 msgid "Shading Compensation" msgstr "Skuggkompensation" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 msgid "Shading compensation" msgstr "Skuggkompensation" #: src/olympusmn.cpp:694 msgid "Compression Factor" msgstr "Komprimeringsfaktor" #: src/olympusmn.cpp:694 msgid "Compression factor" msgstr "Komprimeringsfaktor" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 msgid "Gradation" msgstr "Gradering" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 msgid "Picture mode" msgstr "Bildläge" #: src/olympusmn.cpp:697 msgid "Picture Mode Saturation" msgstr "Bildlägets färgmättnad" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 msgid "Picture mode saturation" msgstr "Bildlägets färgmättnad" #: src/olympusmn.cpp:698 msgid "Picture Mode Hue" msgstr "Bildlägets nyans" #: src/olympusmn.cpp:698 msgid "Picture mode hue" msgstr "Bildlägets nyans" #: src/olympusmn.cpp:699 msgid "Picture Mode Contrast" msgstr "Bildlägets kontrast" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 msgid "Picture mode contrast" msgstr "Bildlägets kontrast" #: src/olympusmn.cpp:700 msgid "Picture Mode Sharpness" msgstr "Bildlägets skärpa" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 msgid "Picture mode sharpness" msgstr "Bildlägets skärpa" #: src/olympusmn.cpp:701 msgid "Picture Mode BW Filter" msgstr "Bildlägets SV-filter" #: src/olympusmn.cpp:701 msgid "Picture mode BW filter" msgstr "Bildlägets SV-filter" #: src/olympusmn.cpp:702 msgid "Picture Mode Tone" msgstr "Bildlägets färgton" #: src/olympusmn.cpp:702 msgid "Picture mode tone" msgstr "Bildlägets färgton" #: src/olympusmn.cpp:703 msgid "Noise filter" msgstr "Brusfilter" #: src/olympusmn.cpp:704 msgid "Art Filter" msgstr "Konstfilter" #: src/olympusmn.cpp:704 msgid "Art filter" msgstr "Konstfilter" #: src/olympusmn.cpp:705 msgid "Magic Filter" msgstr "Magiskt filter" #: src/olympusmn.cpp:705 msgid "Magic filter" msgstr "Magiskt filter" #: src/olympusmn.cpp:707 msgid "Panorama Mode" msgstr "Panoramaläge" #: src/olympusmn.cpp:707 msgid "Panorama mode" msgstr "Panoramaläge" #: src/olympusmn.cpp:708 msgid "Image Quality 2" msgstr "Bildkvalité 2" #: src/olympusmn.cpp:708 msgid "Image quality 2" msgstr "Bildkvalité 2" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer Pressure" msgstr "Manometertryck" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer pressure" msgstr "Manometertryck" #: src/olympusmn.cpp:711 msgid "Manometer Reading" msgstr "Manometeravläsning" #: src/olympusmn.cpp:711 msgid "Manometer reading" msgstr "Manometeravläsning" #: src/olympusmn.cpp:712 msgid "Extended WB Detect" msgstr "Utökad VB-avkänning" #: src/olympusmn.cpp:712 msgid "Extended WB detect" msgstr "Utökad VB-avkänning" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "Nivåvisare rullning" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "Nivåvisare rullning" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "Nivåvisare lutning" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "Nivåvisare lutning" #: src/olympusmn.cpp:716 msgid "Unknown OlympusCs tag" msgstr "Okänd OlympusCs-tagg" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "Simpelt E-system" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "E-system" #: src/olympusmn.cpp:745 msgid "Equipment Version" msgstr "Utrustningsversion" #: src/olympusmn.cpp:745 msgid "Equipment version" msgstr "Utrustningsversion" #: src/olympusmn.cpp:747 msgid "Serial number" msgstr "Serienummer" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 msgid "Lens Serial Number" msgstr "Serienummer för objektiv" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 msgid "Lens serial number" msgstr "Serienummer för objektiv" #: src/olympusmn.cpp:754 msgid "Lens Firmware Version" msgstr "Objektivets fast-programvaruversion" #: src/olympusmn.cpp:754 msgid "Lens firmware version" msgstr "Objektivets fast-programvaruversion" #: src/olympusmn.cpp:759 msgid "Max Aperture At Current Focal" msgstr "Max bländning vid nuvarande brännvidd" #: src/olympusmn.cpp:759 msgid "Max aperture at current focal" msgstr "Max bländning vid nuvarande brännvidd" #: src/olympusmn.cpp:760 msgid "Lens Properties" msgstr "Objektivegenskaper" #: src/olympusmn.cpp:760 msgid "Lens properties" msgstr "Objektivegenskaper" #: src/olympusmn.cpp:761 msgid "Extender" msgstr "Förlängare" #: src/olympusmn.cpp:762 msgid "Extender Serial Number" msgstr "Förlängarens serienummer" #: src/olympusmn.cpp:762 msgid "Extender serial number" msgstr "Förlängarens serienummer" #: src/olympusmn.cpp:763 msgid "Extender Model" msgstr "Förlängarens modell" #: src/olympusmn.cpp:763 msgid "Extender model" msgstr "Förlängarens modell" #: src/olympusmn.cpp:764 msgid "Extender Firmware Version" msgstr "Förlängarens fast-programvaruversion" #: src/olympusmn.cpp:764 msgid "Extender firmwareversion" msgstr "Förlängarens fast-programvaruversion" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion Lens" msgstr "Konverteringsobjektiv" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion lens" msgstr "Konverteringsobjektiv" #: src/olympusmn.cpp:767 src/properties.cpp:402 msgid "Flash Model" msgstr "Blixtmodell" #: src/olympusmn.cpp:767 msgid "Flash model" msgstr "Blixtmodell" #: src/olympusmn.cpp:768 msgid "Flash Firmware Version" msgstr "Blixtens fast-programvaruversion" #: src/olympusmn.cpp:768 msgid "Flash firmware version" msgstr "Blixtens fast-programvaruversion" #: src/olympusmn.cpp:769 msgid "FlashSerialNumber" msgstr "Blixtens serienummer" #: src/olympusmn.cpp:771 msgid "Unknown OlympusEq tag" msgstr "Okänd OlympusEq-tagg" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 msgid "High Speed" msgstr "Hög hastighet" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 msgid "High Function" msgstr "Hög funktion" #: src/olympusmn.cpp:790 msgid "Advanced High Speed" msgstr "Avancerad hög hastighet" #: src/olympusmn.cpp:791 msgid "Advanced High Function" msgstr "Avancerad hög funktion" #: src/olympusmn.cpp:796 msgid "Original" msgstr "Ursprunglig" #: src/olympusmn.cpp:797 msgid "Edited (Landscape)" msgstr "Ändrad (liggande)" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 msgid "Edited (Portrait)" msgstr "Ändrad (stående)" #: src/olympusmn.cpp:804 msgid "WB Color Temp" msgstr "VB färgtemperatur" #: src/olympusmn.cpp:805 msgid "WB Gray Point" msgstr "VB gråpunkt" #: src/olympusmn.cpp:815 msgid "Raw Development Version" msgstr "RAW-utvecklingsversion" #: src/olympusmn.cpp:815 msgid "Raw development version" msgstr "RAW-utvecklingsversion" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 msgid "Exposure Bias Value" msgstr "Exponeringsprioritetsvärde" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 msgid "Exposure bias value" msgstr "Exponeringsprioritetsvärde" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White Balance Value" msgstr "Vitbalansvärde" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White balance value" msgstr "Vitbalansvärde" #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 msgid "WB Fine Adjustment" msgstr "VB finjustering" #: src/olympusmn.cpp:818 msgid "WB fine adjustment" msgstr "VB finjustering" #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 msgid "Gray Point" msgstr "Gråpunkt" #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 msgid "Gray point" msgstr "Gråpunkt" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation Emphasis" msgstr "Mättnadsbetoning" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation emphasis" msgstr "Mättnadsbetoning" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory Color Emphasis" msgstr "Minnesfärgbetoning" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory color emphasis" msgstr "Minnesfärgbetoning" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast Value" msgstr "Kontrastvärde" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast value" msgstr "Kontrastvärde" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness Value" msgstr "Värde för skärpa" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness value" msgstr "Värde för skärpa" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 msgid "Engine" msgstr "Motor" #: src/olympusmn.cpp:827 msgid "Edit status" msgstr "Redigeringsstatus" #: src/olympusmn.cpp:828 msgid "Settings" msgstr "Inställningar" #: src/olympusmn.cpp:830 msgid "Unknown OlympusRd tag" msgstr "Okänd OlympusRd-tagg" #: src/olympusmn.cpp:885 msgid "Raw Development 2 Version" msgstr "RAW-utveckling 2-version" #: src/olympusmn.cpp:885 msgid "Raw development 2 version" msgstr "RAW-utveckling 2-version" #: src/olympusmn.cpp:889 msgid "White balance fine adjustment" msgstr "Finjustering av vitbalans" #: src/olympusmn.cpp:899 msgid "PM Saturation" msgstr "PM-mättnad" #: src/olympusmn.cpp:900 msgid "PM Contrast" msgstr "PM-kontrast" #: src/olympusmn.cpp:901 msgid "PM Sharpness" msgstr "PM-skärpa" #: src/olympusmn.cpp:902 msgid "PM BW Filter" msgstr "PM SV-filter" #: src/olympusmn.cpp:902 msgid "PM BW filter" msgstr "PM SV-filter" #: src/olympusmn.cpp:903 msgid "PM Picture Tone" msgstr "PM bildton" #: src/olympusmn.cpp:903 msgid "PM picture tone" msgstr "PM bildton" #: src/olympusmn.cpp:906 msgid "Auto Gradation" msgstr "Autogradering" #: src/olympusmn.cpp:906 msgid "Auto gradation" msgstr "Autogradering" #: src/olympusmn.cpp:907 msgid "PM Noise Filter" msgstr "PM brusfilter" #: src/olympusmn.cpp:907 msgid "Picture mode noise filter" msgstr "Bildlägets brusfilter" #: src/olympusmn.cpp:909 msgid "Unknown OlympusRd2 tag" msgstr "Okänd OlympusRd2-tagg" #: src/olympusmn.cpp:920 msgid "On (2 frames)" msgstr "På (2 ramar)" #: src/olympusmn.cpp:921 msgid "On (3 frames)" msgstr "På (3 ramar)" #: src/olympusmn.cpp:938 msgid "Image Processing Version" msgstr "Bildbehandlingsversion" #: src/olympusmn.cpp:938 msgid "Image processing version" msgstr "Bildbehandlingsversion" #: src/olympusmn.cpp:940 msgid "WB RB Levels 3000K" msgstr "VB RB-nivåer 3000K" #: src/olympusmn.cpp:940 msgid "WB RB levels 3000K" msgstr "VB RB-nivåer 3000K" #: src/olympusmn.cpp:941 msgid "WB RB Levels 3300K" msgstr "VB RB-nivåer 3300K" #: src/olympusmn.cpp:941 msgid "WB RB levels 3300K" msgstr "VB RB-nivåer 3300K" #: src/olympusmn.cpp:942 msgid "WB RB Levels 3600K" msgstr "VB RB-nivåer 3600K" #: src/olympusmn.cpp:942 msgid "WB RB levels 3600K" msgstr "VB RB-nivåer 3600K" #: src/olympusmn.cpp:943 msgid "WB RB Levels 3900K" msgstr "VB RB-nivåer 3900K" #: src/olympusmn.cpp:943 msgid "WB RB levels 3900K" msgstr "VB RB-nivåer 3900K" #: src/olympusmn.cpp:944 msgid "WB RB Levels 4000K" msgstr "VB RB-nivåer 4000K" #: src/olympusmn.cpp:944 msgid "WB RB levels 4000K" msgstr "VB RB-nivåer 4000K" #: src/olympusmn.cpp:945 msgid "WB RB Levels 4300K" msgstr "VB RB-nivåer 4300K" #: src/olympusmn.cpp:945 msgid "WB RB levels 4300K" msgstr "VB RB-nivåer 4300K" #: src/olympusmn.cpp:946 msgid "WB RB Levels 4500K" msgstr "VB RB-nivåer 4500K" #: src/olympusmn.cpp:946 msgid "WB RB levels 4500K" msgstr "VB RB-nivåer 4500K" #: src/olympusmn.cpp:947 msgid "WB RB Levels 4800K" msgstr "VB RB-nivåer 4800K" #: src/olympusmn.cpp:947 msgid "WB RB levels 4800K" msgstr "VB RB-nivåer 4800K" #: src/olympusmn.cpp:948 msgid "WB RB Levels 5300K" msgstr "VB RB-nivåer 5300K" #: src/olympusmn.cpp:948 msgid "WB RB levels 5300K" msgstr "VB RB-nivåer 5300K" #: src/olympusmn.cpp:949 msgid "WB RB Levels 6000K" msgstr "VB RB-nivåer 6000K" #: src/olympusmn.cpp:949 msgid "WB RB levels 6000K" msgstr "VB RB-nivåer 6000K" #: src/olympusmn.cpp:950 msgid "WB RB Levels 6600K" msgstr "VB RB-nivåer 6600K" #: src/olympusmn.cpp:950 msgid "WB RB levels 6600K" msgstr "VB RB-nivåer 6600K" #: src/olympusmn.cpp:951 msgid "WB RB Levels 7500K" msgstr "VB RB-nivåer 7500K" #: src/olympusmn.cpp:951 msgid "WB RB levels 7500K" msgstr "VB RB-nivåer 7500K" #: src/olympusmn.cpp:952 msgid "WB RB Levels CWB1" msgstr "VB RB-nivåer CWB1" #: src/olympusmn.cpp:952 msgid "WB RB levels CWB1" msgstr "VB RB-nivåer CWB1" #: src/olympusmn.cpp:953 msgid "WB RB Levels CWB2" msgstr "VB RB-nivåer CWB2" #: src/olympusmn.cpp:953 msgid "WB RB levels CWB2" msgstr "VB RB-nivåer CWB2" #: src/olympusmn.cpp:954 msgid "WB RB Levels CWB3" msgstr "VB RB-nivåer CWB3" #: src/olympusmn.cpp:954 msgid "WB RB levels CWB3" msgstr "VB RB-nivåer CWB3" #: src/olympusmn.cpp:955 msgid "WB RB Levels CWB4" msgstr "VB RB-nivåer CWB4" #: src/olympusmn.cpp:955 msgid "WB RB levels CWB4" msgstr "VB RB-nivåer CWB4" #: src/olympusmn.cpp:956 msgid "WB G Level 3000K" msgstr "VB G-nivå 3000K" #: src/olympusmn.cpp:956 msgid "WB G level 3000K" msgstr "VB G-nivå 3000K" #: src/olympusmn.cpp:957 msgid "WB G Level 3300K" msgstr "VB G-nivå 3300K" #: src/olympusmn.cpp:957 msgid "WB G level 3300K" msgstr "VB G-nivå 3300K" #: src/olympusmn.cpp:958 msgid "WB G Level 3600K" msgstr "VB G-nivå 3600K" #: src/olympusmn.cpp:958 msgid "WB G level 3600K" msgstr "VB G-nivå 3600K" #: src/olympusmn.cpp:959 msgid "WB G Level 3900K" msgstr "VB G-nivå 3900K" #: src/olympusmn.cpp:959 msgid "WB G level 3900K" msgstr "VB G-nivå 3900K" #: src/olympusmn.cpp:960 msgid "WB G Level 4000K" msgstr "VB G-nivå 4000K" #: src/olympusmn.cpp:960 msgid "WB G level 4000K" msgstr "VB G-nivå 4000K" #: src/olympusmn.cpp:961 msgid "WB G Level 4300K" msgstr "VB G-nivå 4300K" #: src/olympusmn.cpp:961 msgid "WB G level 4300K" msgstr "VB G-nivå 4300K" #: src/olympusmn.cpp:962 msgid "WB G Level 4500K" msgstr "VB G-nivå 4500K" #: src/olympusmn.cpp:962 msgid "WB G level 4500K" msgstr "VB G-nivå 4500K" #: src/olympusmn.cpp:963 msgid "WB G Level 4800K" msgstr "VB G-nivå 4800K" #: src/olympusmn.cpp:963 msgid "WB G level 4800K" msgstr "VB G-nivå 4800K" #: src/olympusmn.cpp:964 msgid "WB G Level 5300K" msgstr "VB G-nivå 5300K" #: src/olympusmn.cpp:964 msgid "WB G level 5300K" msgstr "VB G-nivå 5300K" #: src/olympusmn.cpp:965 msgid "WB G Level 6000K" msgstr "VB G-nivå 6000K" #: src/olympusmn.cpp:965 msgid "WB G level 6000K" msgstr "VB G-nivå 6000K" #: src/olympusmn.cpp:966 msgid "WB G Level 6600K" msgstr "VB G-nivå 6600K" #: src/olympusmn.cpp:966 msgid "WB G level 6600K" msgstr "VB G-nivå 6600K" #: src/olympusmn.cpp:967 msgid "WB G Level 7500K" msgstr "VB G-nivå 7500K" #: src/olympusmn.cpp:967 msgid "WB G level 7500K" msgstr "VB G-nivå 7500K" #: src/olympusmn.cpp:968 msgid "WB G Level" msgstr "VB G-nivå" #: src/olympusmn.cpp:968 msgid "WB G level" msgstr "VB G-nivå" #: src/olympusmn.cpp:970 msgid "Enhancer" msgstr "Förstärkare" #: src/olympusmn.cpp:971 msgid "Enhancer Values" msgstr "Förstärkarvärden" #: src/olympusmn.cpp:971 msgid "Enhancer values" msgstr "Förstärkarvärden" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 msgid "Coring Filter" msgstr "Coring-filter" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 msgid "Coring Values" msgstr "Coring-värden" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 msgid "Coring values" msgstr "Coring-värden" #: src/olympusmn.cpp:974 src/tags.cpp:915 msgid "Black Level" msgstr "Svartnivå" #: src/olympusmn.cpp:975 msgid "Gain Base" msgstr "Bastillägg" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "Bastillägg" #: src/olympusmn.cpp:976 msgid "Valid Bits" msgstr "Giltiga bitar" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 msgid "Crop Left" msgstr "Beskär vänster" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 msgid "Crop left" msgstr "Beskär vänster" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 msgid "Crop Top" msgstr "Beskär topp" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 msgid "Crop top" msgstr "Beskär topp" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 msgid "Crop Width" msgstr "Beskär bredd" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 msgid "Crop width" msgstr "Beskär bredd" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 msgid "Crop Height" msgstr "Beskär höjd" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 msgid "Crop height" msgstr "Beskär höjd" #: src/olympusmn.cpp:984 msgid "Multiple Exposure Mode" msgstr "Multiexponeringsläge" #: src/olympusmn.cpp:984 msgid "Multiple exposure mode" msgstr "Multiexponeringsläge" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 msgid "Aspect Ratio" msgstr "Bildförhållande" #: src/olympusmn.cpp:985 msgid "Aspect ratio" msgstr "Bildförhållande" #: src/olympusmn.cpp:986 msgid "Aspect Frame" msgstr "Bildformat" #: src/olympusmn.cpp:986 msgid "Aspect frame" msgstr "Bildformat" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 msgid "Face Detect" msgstr "Ansiktsspårning" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 msgid "Face detect" msgstr "Ansiktsspårning" #: src/olympusmn.cpp:988 msgid "Face Detect Area" msgstr "Ansiktsspårningsyta" #: src/olympusmn.cpp:988 msgid "Face detect area" msgstr "Ansiktsspårningsyta" #: src/olympusmn.cpp:990 msgid "Unknown OlympusIp tag" msgstr "Okänd OlympusIp-tagg" #: src/olympusmn.cpp:1000 msgid "Bounce or Off" msgstr "Studs eller Av" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "Dirigera" #: src/olympusmn.cpp:1005 msgid "Focus Info Version" msgstr "Fokusinfo-version" #: src/olympusmn.cpp:1005 msgid "Focus info version" msgstr "Fokusinformationsversion" #: src/olympusmn.cpp:1006 msgid "Auto Focus" msgstr "Automatisk fokus" #: src/olympusmn.cpp:1007 msgid "Scene Detect" msgstr "Scenspårning" #: src/olympusmn.cpp:1007 msgid "Scene detect" msgstr "Scenspårning" #: src/olympusmn.cpp:1008 msgid "Scene Area" msgstr "Scenyta" #: src/olympusmn.cpp:1008 msgid "Scene area" msgstr "Scenyta" #: src/olympusmn.cpp:1009 msgid "Scene Detect Data" msgstr "Scenspårningsdata" #: src/olympusmn.cpp:1009 msgid "Scene detect data" msgstr "Scenspårningsdata" #: src/olympusmn.cpp:1010 msgid "Zoom Step Count" msgstr "Zoomstegsräknare" #: src/olympusmn.cpp:1011 msgid "Focus Step Count" msgstr "Fokusstegsräknare" #: src/olympusmn.cpp:1011 msgid "Focus step count" msgstr "Fokusstegsräknare" #: src/olympusmn.cpp:1012 msgid "Focus Step Infinity" msgstr "Fokussteg oändligt" #: src/olympusmn.cpp:1012 msgid "Focus step infinity" msgstr "Fokussteg oändligt" #: src/olympusmn.cpp:1013 msgid "Focus Step Near" msgstr "Fokussteg nära" #: src/olympusmn.cpp:1013 msgid "Focus step near" msgstr "Fokussteg nära" #: src/olympusmn.cpp:1016 msgid "External Flash" msgstr "Extern blixt" #: src/olympusmn.cpp:1017 msgid "External Flash Guide Number" msgstr "Externt blixtguidenummer" #: src/olympusmn.cpp:1017 msgid "External flash guide number" msgstr "Externt blixtguidenummer" #: src/olympusmn.cpp:1021 msgid "Manual Flash" msgstr "Manuell blixt" #: src/olympusmn.cpp:1021 msgid "Manual flash" msgstr "Manuell blixt" #: src/olympusmn.cpp:1025 msgid "Unknown OlympusFi tag" msgstr "Okänd OlympusFi-tagg" #: src/olympusmn.cpp:1036 msgid "Unknown OlympusFe tag" msgstr "Okänd OlympusFe-tagg" #: src/olympusmn.cpp:1049 msgid "Fine Weather" msgstr "Vackert väder" #: src/olympusmn.cpp:1050 msgid "Tungsten (incandescent)" msgstr "Volfram (bländande)" #: src/olympusmn.cpp:1051 msgid "Evening Sunlight" msgstr "Kvällssol" #: src/olympusmn.cpp:1052 msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "Dagsljus fluorescerande (D 5700-7100K)" #: src/olympusmn.cpp:1053 msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "Dagsljus vitt fluorescerande (N 4600-5400K)" #: src/olympusmn.cpp:1054 msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "Kallt vitt fluorescerande (V 3900-4500K)" #: src/olympusmn.cpp:1055 msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "Vitt fluorescerande (VV 3200-3700K)" #: src/olympusmn.cpp:1056 msgid "One Touch White Balance" msgstr "Enkelberöringsvitbalans" #: src/olympusmn.cpp:1057 msgid "Custom 1-4" msgstr "Anpassad 1-4" #: src/olympusmn.cpp:1061 msgid "Raw Info Version" msgstr "RAW-info-version" #: src/olympusmn.cpp:1061 msgid "Raw info version" msgstr "RAW-informationsversion" #: src/olympusmn.cpp:1062 msgid "WB_RB Levels Used" msgstr "VB_RB-nivåer använda" #: src/olympusmn.cpp:1062 msgid "WB_RB levels used" msgstr "VB_RB-nivåer använda" #: src/olympusmn.cpp:1063 msgid "WB_RB Levels Auto" msgstr "VB_RB-nivåer auto" #: src/olympusmn.cpp:1063 msgid "WB_RB levels auto" msgstr "VB_RB-nivåer auto" #: src/olympusmn.cpp:1064 msgid "WB_RB Levels Shade" msgstr "VB_RB-nivåer skugga" #: src/olympusmn.cpp:1064 msgid "WB_RB levels shade" msgstr "VB_RB-nivåer skugga" #: src/olympusmn.cpp:1065 msgid "WB_RB Levels Cloudy" msgstr "VB_RB-nivåer, molnigt" #: src/olympusmn.cpp:1065 msgid "WB_RB levels cloudy" msgstr "VB_RB-nivåer, molnigt" #: src/olympusmn.cpp:1066 msgid "WB_RB Levels Fine Weather" msgstr "VB_RB-nivåer, vackert väder" #: src/olympusmn.cpp:1066 msgid "WB_RB levels fine weather" msgstr "VB_RB-nivåer, vackert väder" #: src/olympusmn.cpp:1067 msgid "WB_RB Levels Tungsten" msgstr "VB_RB-nivåer, volfram" #: src/olympusmn.cpp:1067 msgid "WB_RB levels tungsten" msgstr "VB_RB-nivåer, volfram" #: src/olympusmn.cpp:1068 msgid "WB_RB Levels Evening Sunlight" msgstr "VB_RB-nivåer, kvällsljus" #: src/olympusmn.cpp:1068 msgid "WB_RB levels evening sunlight" msgstr "VB_RB-nivåer, kvällsljus" #: src/olympusmn.cpp:1069 msgid "WB_RB Levels Daylight Fluor" msgstr "VB_RB-nivåer, dagsljus fluor" #: src/olympusmn.cpp:1069 msgid "WB_RB levels daylight fluor" msgstr "VB_RB-nivåer, dagsljus fluorescerande" #: src/olympusmn.cpp:1070 msgid "WB_RB Levels Day White Fluor" msgstr "VB_RB-nivåer, dagsljus vitt fluor" #: src/olympusmn.cpp:1070 msgid "WB_RB levels day white fluor" msgstr "VB_RB-nivåer, dagsljust vitt fluorescerande" #: src/olympusmn.cpp:1071 msgid "WB_RB Levels Cool White Fluor" msgstr "VB_RB-nivåer, kallt vitt fluor" #: src/olympusmn.cpp:1071 msgid "WB_RB levels cool white fluor" msgstr "VB_RB-nivåer, kallt vitt fluorescerande" #: src/olympusmn.cpp:1072 msgid "WB_RB Levels White Fluorescent" msgstr "VB_RB-nivåer vitt fluorescerande" #: src/olympusmn.cpp:1072 msgid "WB_RB levels white fluorescent" msgstr "VB_RB-nivåer vitt fluorescerande" #: src/olympusmn.cpp:1073 msgid "Color Matrix2" msgstr "Färgmatris 2" #: src/olympusmn.cpp:1073 msgid "Color matrix 2" msgstr "Färgmatris 2" #: src/olympusmn.cpp:1076 msgid "Black Level 2" msgstr "Svartnivå 2" #: src/olympusmn.cpp:1076 msgid "Black level 2" msgstr "Svartnivå 2" #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 msgid "YCbCr Coefficients" msgstr "YCbCr-koefficienter" #: src/olympusmn.cpp:1077 msgid "YCbCr coefficients" msgstr "YCbCr-koefficienter" #: src/olympusmn.cpp:1078 msgid "Valid Pixel Depth" msgstr "Giltigt bildpunktsdjup" #: src/olympusmn.cpp:1078 msgid "Valid pixel depth" msgstr "Giltigt bildpunktsdjup" #: src/olympusmn.cpp:1084 msgid "White Balance Comp" msgstr "Vitbalanskomp" #: src/olympusmn.cpp:1084 msgid "White balance comp" msgstr "Vitbalanskompensation" #: src/olympusmn.cpp:1085 msgid "Saturation Setting" msgstr "Färgmättnadsinställning" #: src/olympusmn.cpp:1086 msgid "Hue Setting" msgstr "Nyansinställning" #: src/olympusmn.cpp:1086 msgid "Hue setting" msgstr "Nyansinställning" #: src/olympusmn.cpp:1089 msgid "CM Exposure Compensation" msgstr "CM-exponeringskompensation" #: src/olympusmn.cpp:1089 msgid "CM exposure compensation" msgstr "CM-exponeringskompensation" #: src/olympusmn.cpp:1090 msgid "CM White Balance" msgstr "CM-vitbalans" #: src/olympusmn.cpp:1090 msgid "CM white balance" msgstr "CM-vitbalans" #: src/olympusmn.cpp:1091 msgid "CM White Balance Comp" msgstr "CM-vitbalanskompensation" #: src/olympusmn.cpp:1091 msgid "CM white balance comp" msgstr "CM-vitbalanskompensation" #: src/olympusmn.cpp:1092 msgid "CM White Balance Gray Point" msgstr "CM-vitbalans, gråpunkt" #: src/olympusmn.cpp:1092 msgid "CM white balance gray point" msgstr "CM-vitbalans, gråpunkt" #: src/olympusmn.cpp:1093 msgid "CM Saturation" msgstr "CM-färgmättnad" #: src/olympusmn.cpp:1093 msgid "CM saturation" msgstr "CM-färgmättnad" #: src/olympusmn.cpp:1094 msgid "CM Hue" msgstr "CM-nyans" #: src/olympusmn.cpp:1094 msgid "CM hue" msgstr "CM-nyans" #: src/olympusmn.cpp:1095 msgid "CM Contrast" msgstr "CM-kontrast" #: src/olympusmn.cpp:1095 msgid "CM contrast" msgstr "CM-kontrast" #: src/olympusmn.cpp:1096 msgid "CM Sharpness" msgstr "CM-skärpa" #: src/olympusmn.cpp:1096 msgid "CM sharpness" msgstr "CM-skärpa" #: src/olympusmn.cpp:1098 msgid "Unknown OlympusRi tag" msgstr "Okänd OlympusRi-tagg" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 msgid "User-Selected" msgstr "Användarvald" #: src/olympusmn.cpp:1122 msgid "Auto-Override" msgstr "Auto-tvång" #: src/olympusmn.cpp:1158 msgid "Fast" msgstr "Snabb" #: src/olympusmn.cpp:1223 msgid "3000 Kelvin" msgstr "3000 kelvin" #: src/olympusmn.cpp:1224 msgid "3700 Kelvin" msgstr "3700 kelvin" #: src/olympusmn.cpp:1225 msgid "4000 Kelvin" msgstr "4000 kelvin" #: src/olympusmn.cpp:1226 msgid "4500 Kelvin" msgstr "4500 kelvin" #: src/olympusmn.cpp:1227 msgid "5500 Kelvin" msgstr "5500 kelvin" #: src/olympusmn.cpp:1228 msgid "6500 Kelvin" msgstr "6500 kelvin" #: src/olympusmn.cpp:1229 msgid "7500 Kelvin" msgstr "7500 kelvin" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "Enkel-beröring" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "S-AF" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "C-AF" #: src/olympusmn.cpp:1456 msgid "Imager AF" msgstr "Visar-AF" #: src/olympusmn.cpp:1457 msgid "AF sensor" msgstr "AF-sensor" #: src/olympusmn.cpp:1502 msgid "Soft Focus" msgstr "Mjukt fokus" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "Popkonst" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "Blek & ljus färg" #: src/olympusmn.cpp:1505 msgid "Light Tone" msgstr "Ljuston" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "Nålsöga" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "Grynig film" #: src/olympusmn.cpp:1508 msgid "Diorama" msgstr "Diorama" #: src/olympusmn.cpp:1509 msgid "Cross Process" msgstr "Korsprocess" #: src/olympusmn.cpp:1510 msgid "Fish Eye" msgstr "Fisköga" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "Ritning" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "Mild sepia" #: src/olympusmn.cpp:1513 msgid "Pale & Light Color II" msgstr "Blek & ljus färg 2" #: src/olympusmn.cpp:1514 msgid "Pop Art II" msgstr "Popkonst 2" #: src/olympusmn.cpp:1515 msgid "Pin Hole II" msgstr "Nålsöga 2" #: src/olympusmn.cpp:1516 msgid "Pin Hole III" msgstr "Nålsöga 3" #: src/olympusmn.cpp:1517 msgid "Grainy Film II" msgstr "Grynig film 2" #: src/olympusmn.cpp:1518 msgid "Dramatic Tone" msgstr "Dramatisk nyans" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "Punk" #: src/olympusmn.cpp:1520 msgid "Soft Focus 2" msgstr "Mjukt fokus 2" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "Gnista" #: src/olympusmn.cpp:1522 msgid "Watercolor" msgstr "Vattenfärg" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "Nyckelrad" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "Nyckelrad 2" #: src/olympusmn.cpp:1525 msgid "Miniature" msgstr "Miniatyr" #: src/olympusmn.cpp:1526 msgid "Reflection" msgstr "Spegling" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "Fragmenterad" #: src/olympusmn.cpp:1528 msgid "Cross Process II" msgstr "Korsprocess 2" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "Dramatiskt ton 2" #: src/olympusmn.cpp:1530 msgid "Watercolor I" msgstr "Vattenfärg 1" #: src/olympusmn.cpp:1531 msgid "Watercolor II" msgstr "Vattenfärg 2" #: src/olympusmn.cpp:1532 msgid "Diorama II" msgstr "Diorama 2" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "Vintage" #: src/olympusmn.cpp:1534 msgid "Vintage II" msgstr "Vintage 2" #: src/olympusmn.cpp:1535 msgid "Vintage III" msgstr "Vintage 3" #: src/olympusmn.cpp:1536 msgid "Partial Color" msgstr "Delvis färg" #: src/olympusmn.cpp:1537 msgid "Partial Color II" msgstr "Delvis färg 2" #: src/olympusmn.cpp:1538 msgid "Partial Color III" msgstr "Delvis färg 3" #: src/olympusmn.cpp:1608 msgid "Left (or n/a)" msgstr "Vänster (eller inte tillgänglig)" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 msgid "Center (horizontal)" msgstr "Mitten (horisontell)" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 msgid "Center (vertical)" msgstr "Mitten (vertikal)" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "Överst till vänster (horisontell)" #: src/olympusmn.cpp:1623 msgid "Top-center (horizontal)" msgstr "Överst i mitten (horisontell)" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "Överst till höger (horisontell)" #: src/olympusmn.cpp:1625 msgid "Left (horizontal)" msgstr "Vänster (horisontell)" #: src/olympusmn.cpp:1626 msgid "Mid-left (horizontal)" msgstr "Mellan-vänster (horisontell)" #: src/olympusmn.cpp:1628 msgid "Mid-right (horizontal)" msgstr "Mellan-höger (horisontell)" #: src/olympusmn.cpp:1629 msgid "Right (horizontal)" msgstr "Höger (horisontell)" #: src/olympusmn.cpp:1630 msgid "Bottom-left (horizontal)" msgstr "Nederst till vänster (horisontell)" #: src/olympusmn.cpp:1631 msgid "Bottom-center (horizontal)" msgstr "Nederst i mitten (horisontell)" #: src/olympusmn.cpp:1632 msgid "Bottom-right (horizontal)" msgstr "Nederst till höger (horisontell)" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "Överst till vänster (vertikal)" #: src/olympusmn.cpp:1634 msgid "Top-center (vertical)" msgstr "Överst i mitten (vertikal)" #: src/olympusmn.cpp:1635 msgid "Top-right (vertical)" msgstr "Överst till höger (vertikal)" #: src/olympusmn.cpp:1636 msgid "Left (vertical)" msgstr "Vänster (vertikal)" #: src/olympusmn.cpp:1637 msgid "Mid-left (vertical)" msgstr "Mellan-vänster (vertikal)" #: src/olympusmn.cpp:1639 msgid "Mid-right (vertical)" msgstr "Mellan-höger (vertikal)" #: src/olympusmn.cpp:1640 msgid "Right (vertical)" msgstr "Höger (vertikal)" #: src/olympusmn.cpp:1641 msgid "Bottom-left (vertical)" msgstr "Nederst till vänster (vertikal)" #: src/olympusmn.cpp:1642 msgid "Bottom-center (vertical)" msgstr "Nederst i mitten (vertikal)" #: src/olympusmn.cpp:1643 msgid "Bottom-right (vertical)" msgstr "Nederst till höger (vertikal)" #: src/olympusmn.cpp:1680 msgid "Single Target" msgstr "Enstaka mål" #: src/olympusmn.cpp:1681 msgid "All Target" msgstr "Alla mål" #: src/olympusmn.cpp:1682 msgid "Dynamic Single Target" msgstr "Dynamiskt enstaka mål" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "TIFF" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 msgid "Very High" msgstr "Mycket hög" #: src/panasonicmn.cpp:60 msgid "Motion Picture" msgstr "Rörlig bild" #: src/panasonicmn.cpp:61 msgid "Full HD Movie" msgstr "Full HD-film" #: src/panasonicmn.cpp:62 msgid "4k Movie" msgstr "4k-film" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "Halogen" #: src/panasonicmn.cpp:83 msgid "Auto, focus button" msgstr "Auto, fokusknapp" #: src/panasonicmn.cpp:84 msgid "Auto, continuous" msgstr "Auto, kontinuerlig" #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "AF-S" #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "AF-C" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "AF-F" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 msgid "Panning" msgstr "Panorering" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "Telemakro" #: src/panasonicmn.cpp:104 msgid "Macro-zoom" msgstr "Makro-zoom" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 msgid "Scenery" msgstr "Landskap" #: src/panasonicmn.cpp:117 msgid "Shutter-speed priority" msgstr "Slutarhastighetsprioritet" #: src/panasonicmn.cpp:121 msgid "Movie preview" msgstr "Filmförhandsgranskning" #: src/panasonicmn.cpp:123 msgid "Simple" msgstr "Enkel" #: src/panasonicmn.cpp:124 msgid "Color effects" msgstr "Färgeffekter" #: src/panasonicmn.cpp:130 msgid "Night scenery" msgstr "Nattscen" #: src/panasonicmn.cpp:132 msgid "Baby" msgstr "Baby" #: src/panasonicmn.cpp:133 msgid "Soft skin" msgstr "Mjukt skin" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 msgid "Candlelight" msgstr "Stearinljus" #: src/panasonicmn.cpp:135 msgid "Starry night" msgstr "Stjärnklar natt" #: src/panasonicmn.cpp:136 msgid "High sensitivity" msgstr "Hög känslighet" #: src/panasonicmn.cpp:137 msgid "Panorama assist" msgstr "Panoramahjälp" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "Flygfoto" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 msgid "Intelligent ISO" msgstr "Intelligent ISO" #: src/panasonicmn.cpp:144 msgid "Clipboard" msgstr "Urklipp" #: src/panasonicmn.cpp:145 msgid "High speed continuous shooting" msgstr "Höghastighetsseriebilder" #: src/panasonicmn.cpp:146 msgid "Intelligent auto" msgstr "Intelligent auto" #: src/panasonicmn.cpp:147 msgid "Multi-aspect" msgstr "Multi-aspekt" #: src/panasonicmn.cpp:148 msgid "Transform" msgstr "Transformera" #: src/panasonicmn.cpp:149 msgid "Flash Burst" msgstr "Blixtseriebild" #: src/panasonicmn.cpp:151 msgid "Film Grain" msgstr "Filmgrynighet" #: src/panasonicmn.cpp:152 msgid "My Color" msgstr "Min färg" #: src/panasonicmn.cpp:153 msgid "Photo Frame" msgstr "Bildruteram" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "HDR" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 msgid "Handheld Night Shot" msgstr "Handburen mörkertagning" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "3d" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 msgid "Creative Control" msgstr "Kreativ kontroll" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "Genom glas" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 msgid "Digital Filter" msgstr "Digitalt filter" #: src/panasonicmn.cpp:162 msgid "Clear Portrait" msgstr "Rent porträtt" #: src/panasonicmn.cpp:163 msgid "Silky Skin" msgstr "Mjuk hud" #: src/panasonicmn.cpp:164 msgid "Backlit Softness" msgstr "Bakgrundsbelyst mjukhet" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "Klar med bakgrundsljus" #: src/panasonicmn.cpp:166 msgid "Relaxing Tone" msgstr "Avslappnad nyans" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "Sött barnansikte" #: src/panasonicmn.cpp:168 msgid "Distinct Scenery" msgstr "Distinkt omgivning" #: src/panasonicmn.cpp:169 msgid "Bright Blue Sky" msgstr "Klarblå himmel" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "Romantisk skymmning" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "Intensiv skymmning" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "Glittrande vatten" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "Klar natt" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "Cool natt" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "Varm glödande natt" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "Artistisk natt" #: src/panasonicmn.cpp:177 msgid "Glittering Illuminations" msgstr "Glittrande belysningar" #: src/panasonicmn.cpp:178 msgid "Clear Night Portrait" msgstr "Rent nattporträtt" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "Mjuk bild av blomma" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "Aptitretande mat" #: src/panasonicmn.cpp:181 msgid "Cute Desert" msgstr "Söt öken" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "Fryst djurrörelse" #: src/panasonicmn.cpp:183 msgid "Clear Sports Shot" msgstr "Ren sportfotografering" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "Stereo" #: src/panasonicmn.cpp:198 msgid "Warm" msgstr "Varm" #: src/panasonicmn.cpp:199 msgid "Cool" msgstr "Häftig" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "Glad" #: src/panasonicmn.cpp:208 msgid "Low/High quality" msgstr "Låg/Hög kvalitet" #: src/panasonicmn.cpp:209 msgid "Infinite" msgstr "Oändlig" #: src/panasonicmn.cpp:217 msgid "Medium low" msgstr "Medellåg" #: src/panasonicmn.cpp:218 msgid "Medium high" msgstr "Medelhög" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "Låg (-1)" #: src/panasonicmn.cpp:229 msgid "High (+1)" msgstr "Hög (+1)" #: src/panasonicmn.cpp:230 msgid "Lowest (-2)" msgstr "Lägsta (-2)" #: src/panasonicmn.cpp:231 msgid "Highest (+2)" msgstr "Högsta (+2)" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 msgid "Rotate 180" msgstr "Rotera 180" #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "Aktiverad men inte använd" #: src/panasonicmn.cpp:254 msgid "Disabled but Required" msgstr "Inaktiverad men krävs" #: src/panasonicmn.cpp:255 msgid "Disabled and Not Required" msgstr "Inaktiverad och krävs ej" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "EX-optik" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "Telefoto" #: src/panasonicmn.cpp:282 src/properties.cpp:915 msgid "Home" msgstr "Hem" #: src/panasonicmn.cpp:294 msgid "Standard (color)" msgstr "Standard (färg)" #: src/panasonicmn.cpp:295 msgid "Dynamic (color)" msgstr "Dynamisk (färg)" #: src/panasonicmn.cpp:296 msgid "Nature (color)" msgstr "Natur (färg)" #: src/panasonicmn.cpp:297 msgid "Smooth (color)" msgstr "Mjuk (färg)" #: src/panasonicmn.cpp:298 msgid "Standard (B&W)" msgstr "Standard (S&V)" #: src/panasonicmn.cpp:299 msgid "Dynamic (B&W)" msgstr "Dynamisk (S&V)" #: src/panasonicmn.cpp:300 msgid "Smooth (B&W)" msgstr "Mjuk (S&V)" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "Nostalgisk" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "Lysande" #: src/panasonicmn.cpp:307 msgid "No Bracket" msgstr "Ingen gaffling" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "Tre bilder, sekvens 0/-/+" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "Tre bilder, sekvens -/0/+" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "Fem bilder, sekvens 0/-/+" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "Fem bilder, sekvens -/0/+" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "Sju bilder, sekvens 0/-/+" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "Sju bilder, sekvens -/0/+" #: src/panasonicmn.cpp:319 msgid "1st" msgstr "Första" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "Andra" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "Ja (blixt krävs, men är inaktiverad" #: src/panasonicmn.cpp:349 msgid "Extended" msgstr "Utökad" #: src/panasonicmn.cpp:368 msgid "NoAuto" msgstr "NoAuto" #: src/panasonicmn.cpp:369 msgid "Standard or Custom" msgstr "Standard eller anpassad" #: src/panasonicmn.cpp:386 msgid "Rotate CW" msgstr "Rotera medsols" #: src/panasonicmn.cpp:388 msgid "Rotate CCW" msgstr "Rotera motsols" #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "Luta uppåt" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "Luta neråt" #: src/panasonicmn.cpp:396 msgid "Left to Right" msgstr "Vänster till höger" #: src/panasonicmn.cpp:397 msgid "Right to Left" msgstr "Höger till vänster" #: src/panasonicmn.cpp:398 msgid "Top to Bottom" msgstr "Topp till botten" #: src/panasonicmn.cpp:399 msgid "Bottom to Top" msgstr "Botten till topp" #: src/panasonicmn.cpp:405 msgid "Time Lapse" msgstr "Tidsskala" #: src/panasonicmn.cpp:406 msgid "Stop-Motion Animation" msgstr "Stop-Motion-animation" #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "1 EV" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "2 EV" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "3 EV" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "1 EV (Auto)" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "2 EV (Auto)" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "3 EV (Auto)" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "Mekanism" #: src/panasonicmn.cpp:423 msgid "Electronic" msgstr "Elektronisk" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "Hybrid" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "Ljud" #: src/panasonicmn.cpp:453 msgid "White balance adjustment" msgstr "Justering av vitbalans" #: src/panasonicmn.cpp:454 msgid "FlashBias" msgstr "Blixtprioritet" #: src/panasonicmn.cpp:456 src/tags.cpp:194 msgid "Exif version" msgstr "Exif-version" #: src/panasonicmn.cpp:458 msgid "Color Effect" msgstr "Färgeffekt" #: src/panasonicmn.cpp:458 msgid "Color effect" msgstr "Färgeffekt" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" "Tid i 1/100 s från då kameran sattes på tills bilden skrivs till minneskortet" #: src/panasonicmn.cpp:460 msgid "Burst Mode" msgstr "Upprepningsläge" #: src/panasonicmn.cpp:460 msgid "Burst mode" msgstr "Upprepningsläge" #: src/panasonicmn.cpp:463 msgid "NoiseReduction" msgstr "Brusreducering" #: src/panasonicmn.cpp:464 msgid "Self Timer" msgstr "Självutlösare" #: src/panasonicmn.cpp:467 msgid "AF Assist Lamp" msgstr "AF-hjälplampa" #: src/panasonicmn.cpp:469 msgid "Baby Age 1" msgstr "Bebisens ålder 1" #: src/panasonicmn.cpp:469 msgid "Baby (or pet) age 1" msgstr "Bebisens (eller husdjurets) ålder 1" #: src/panasonicmn.cpp:470 msgid "Optical Zoom Mode" msgstr "Optisk zoom-läge" #: src/panasonicmn.cpp:470 msgid "Optical zoom mode" msgstr "Optisk zoom-läge" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "Avresedag" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "Avresedag" #: src/panasonicmn.cpp:474 msgid "World Time Location" msgstr "Världstidsplats" #: src/panasonicmn.cpp:474 msgid "World time location" msgstr "Världstidsplats" #: src/panasonicmn.cpp:475 msgid "Text Stamp 1" msgstr "Textstämpel 1" #: src/panasonicmn.cpp:476 msgid "Program ISO" msgstr "Program-ISO" #: src/panasonicmn.cpp:477 msgid "Advanced Scene Type" msgstr "Avancerad scentyp" #: src/panasonicmn.cpp:478 msgid "Text Stamp 2" msgstr "Textstämpel 2" #: src/panasonicmn.cpp:479 msgid "Faces detected" msgstr "Ansikte avkänt" #: src/panasonicmn.cpp:483 msgid "Color Temp Kelvin" msgstr "Färgtemperatur Kelvin" #: src/panasonicmn.cpp:483 msgid "Color Temperatur in Kelvin" msgstr "Färgtemperatur i Kelvin" #: src/panasonicmn.cpp:484 msgid "Bracket Settings" msgstr "Gafflingsinställningar" #: src/panasonicmn.cpp:485 msgid "WB Adjust AB" msgstr "VB justera AB" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "VB justera AB. Positivt är ett skifte mot blått." #: src/panasonicmn.cpp:486 msgid "WB Adjust GM" msgstr "VB justera GM" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "VB justera GM. Positivt är ett skifte mot grönt." #: src/panasonicmn.cpp:487 msgid "Flash Curtain" msgstr "Blixtridå" #: src/panasonicmn.cpp:488 msgid "Long Shutter Noise Reduction" msgstr "Lång bländare, brusreducering" #: src/panasonicmn.cpp:491 msgid "AF Point Position" msgstr "AF-punktposition" #: src/panasonicmn.cpp:492 msgid "Face detection info" msgstr "Ansiktsspårningsinfo" #: src/panasonicmn.cpp:495 msgid "Accessory Type" msgstr "Typ av tillbehör" #: src/panasonicmn.cpp:495 msgid "Accessory type" msgstr "Typ av tillbehör" #: src/panasonicmn.cpp:496 msgid "Accessory Serial Number" msgstr "Tillbehörsserienummer" #: src/panasonicmn.cpp:497 msgid "Transform 1" msgstr "Transform 1" #: src/panasonicmn.cpp:498 msgid "Intelligent Exposure" msgstr "Intelligent exponering" #: src/panasonicmn.cpp:499 msgid "Firmware Version of the Lens" msgstr "Version av fast programvara för objektivet" #: src/panasonicmn.cpp:500 msgid "Face recognition info" msgstr "Ansiktsigenkänningsinfo" #: src/panasonicmn.cpp:501 msgid "Flash Warning" msgstr "Blixtvarning" #: src/panasonicmn.cpp:501 msgid "Flash warning" msgstr "Blixtvarning" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 msgid "Title" msgstr "Titel" #: src/panasonicmn.cpp:503 msgid "Baby Name" msgstr "Bebisens namn" #: src/panasonicmn.cpp:503 msgid "Baby name (or pet name)" msgstr "Bebisens (eller husdjurets) namn" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 msgid "Location" msgstr "Plats" #: src/panasonicmn.cpp:506 src/properties.cpp:441 msgid "State" msgstr "Tillstånd" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "Landmärke" #: src/panasonicmn.cpp:509 msgid "Intelligent resolution" msgstr "Intelligent upplösning" #: src/panasonicmn.cpp:510 msgid "Burst Speed" msgstr "Seriebildshastighet" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "Hastighet för seriebildsläge i bilder per sekund" #: src/panasonicmn.cpp:511 msgid "Intelligent Dynamic Range" msgstr "Intelligent dynamikintervall" #: src/panasonicmn.cpp:512 msgid "Clear Retouch" msgstr "Ren retuschering" #: src/panasonicmn.cpp:513 msgid "City2" msgstr "Stad 2" #: src/panasonicmn.cpp:515 msgid "Photo style" msgstr "Fotostil" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "Accelerometer Z" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "positivt är acceleration uppåt" #: src/panasonicmn.cpp:518 msgid "Accelerometer X" msgstr "Accelerometer x" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "positivt är vänsteracceleration" #: src/panasonicmn.cpp:519 msgid "Accelerometer Y" msgstr "Accelerometer y" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "positivt är acceleration bakåt" #: src/panasonicmn.cpp:520 msgid "Camera Orientation" msgstr "Kameraorientering" #: src/panasonicmn.cpp:521 msgid "Roll Angle" msgstr "Roll-vinkel" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "grader av medurs kamerarotation" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "Pitch angle" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "grader på kameralutning uppåt" #: src/panasonicmn.cpp:523 msgid "Sweep Panorama Direction" msgstr "Panoramasvepriktning" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "Fält för panoramavy" #: src/panasonicmn.cpp:525 msgid "Timer Recording" msgstr "Tidtagarinspelning" #: src/panasonicmn.cpp:526 msgid "Internal ND Filter" msgstr "Internt ND-filter" #: src/panasonicmn.cpp:528 msgid "Shutter Type" msgstr "Slutartyp" #: src/panasonicmn.cpp:529 msgid "Clear Retouch Value" msgstr "Rent retuscheringsvärde" #: src/panasonicmn.cpp:530 msgid "TouchAE" msgstr "Berörings-AE" #: src/panasonicmn.cpp:533 msgid "MakerNote Version" msgstr "MakerNote-version" #: src/panasonicmn.cpp:533 msgid "MakerNote version" msgstr "MakerNote-version" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB Red Level" msgstr "VB rödnivå" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB red level" msgstr "VB rödnivå" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB Green Level" msgstr "VB grönnivå" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB green level" msgstr "VB grönnivå" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB Blue Level" msgstr "VB blånivå" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB blue level" msgstr "VB blånivå" #: src/panasonicmn.cpp:539 msgid "Text Stamp 3" msgstr "Textstämpel 3" #: src/panasonicmn.cpp:540 msgid "Text Stamp 4" msgstr "Textstämpel 4" #: src/panasonicmn.cpp:541 msgid "Baby Age 2" msgstr "Bebisens ålder 2" #: src/panasonicmn.cpp:541 msgid "Baby (or pet) age 2" msgstr "Bebisens (eller husdjurets) ålder 2" #: src/panasonicmn.cpp:542 msgid "Transform 2" msgstr "Transformera 2" #: src/panasonicmn.cpp:544 msgid "Unknown PanasonicMakerNote tag" msgstr "Okänd PanasonicMakerNote-tagg" #: src/panasonicmn.cpp:562 msgid "Spot mode on or 9 area" msgstr "Punktläge på eller 9-område" #: src/panasonicmn.cpp:563 msgid "Spot mode off or 3-area (high speed)" msgstr "Punktläge av eller 3-område (hög hastighet)" #: src/panasonicmn.cpp:564 msgid "23-area" msgstr "23-område" #: src/panasonicmn.cpp:565 msgid "Spot focussing" msgstr "Punktfokusering" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "5-område" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "1-område" #: src/panasonicmn.cpp:568 msgid "1-area (high speed)" msgstr "1-område (hög hastighet)" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "3-område (auto)" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "3-område (vänster)" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "3-område (mitt)" #: src/panasonicmn.cpp:572 msgid "3-area (right)" msgstr "3-område (höger)" #: src/panasonicmn.cpp:574 msgid "Spot Focusing 2" msgstr "Punktfokusering 2" #: src/panasonicmn.cpp:588 msgid " EV" msgstr " EV" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 msgid "not set" msgstr "ej satt" #: src/panasonicmn.cpp:725 msgid "Panasonic raw version" msgstr "Panasonic RAW-version" #: src/panasonicmn.cpp:726 msgid "Sensor Width" msgstr "Sensorvidd" #: src/panasonicmn.cpp:726 msgid "Sensor width" msgstr "Sensorvidd" #: src/panasonicmn.cpp:727 msgid "Sensor Height" msgstr "Sensorhöjd" #: src/panasonicmn.cpp:727 msgid "Sensor height" msgstr "Sensorhöjd" #: src/panasonicmn.cpp:728 msgid "Sensor Top Border" msgstr "Sensorns översta gräns" #: src/panasonicmn.cpp:728 msgid "Sensor top border" msgstr "Sensorns översta gräns" #: src/panasonicmn.cpp:729 msgid "Sensor Left Border" msgstr "Sensorns vänstra gräns" #: src/panasonicmn.cpp:729 msgid "Sensor left border" msgstr "Sensorns vänstra gräns" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "Rödbalans (finns i Digilus 2 RAW-bilder)" #: src/panasonicmn.cpp:739 src/tags.cpp:469 msgid "Manufacturer" msgstr "Tillverkare" #: src/panasonicmn.cpp:739 msgid "The manufacturer of the recording equipment" msgstr "Inspelningsutrustningens tillverkare" #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 msgid "Model" msgstr "Modell" #: src/panasonicmn.cpp:740 msgid "The model name or model number of the equipment" msgstr "Utrustningens modellnamn eller -nummer" #: src/panasonicmn.cpp:741 src/tags.cpp:481 msgid "Strip Offsets" msgstr "Strippförskjutningar" #: src/panasonicmn.cpp:741 msgid "Strip offsets" msgstr "Strippförskjutningar" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 msgid "Orientation" msgstr "Orientering" #: src/panasonicmn.cpp:743 msgid "Rows Per Strip" msgstr "Rader per stripp" #: src/panasonicmn.cpp:743 msgid "The number of rows per strip" msgstr "Antal rader per stripp" #: src/panasonicmn.cpp:744 msgid "Strip Byte Counts" msgstr "Stripp, antal byte" #: src/panasonicmn.cpp:744 msgid "Strip byte counts" msgstr "Antal byte per stripp" #: src/panasonicmn.cpp:745 msgid "Raw Data Offset" msgstr "RAW-dataförskjutning" #: src/panasonicmn.cpp:745 msgid "Raw data offset" msgstr "RAW-dataförskjutning" #: src/panasonicmn.cpp:746 src/tags.cpp:797 msgid "Exif IFD Pointer" msgstr "Exif IFD-pekare" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "En pekare till Exifs IFD" #: src/panasonicmn.cpp:747 src/tags.cpp:808 msgid "GPS Info IFD Pointer" msgstr "GPS-info IFD-pekare" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "En pekare till GPS-informationens IFD" #: src/panasonicmn.cpp:749 msgid "Unknown PanasonicRaw tag" msgstr "Okänd Panasonic-RAW-tagg" #: src/pentaxmn.cpp:57 msgid "Night-Scene" msgstr "Nattscen" #: src/pentaxmn.cpp:199 msgid "Good" msgstr "Bra" #: src/pentaxmn.cpp:200 msgid "Better" msgstr "Bättre" #: src/pentaxmn.cpp:201 msgid "Best" msgstr "Bäst" #: src/pentaxmn.cpp:204 msgid "Premium" msgstr "Premium" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "2560x1920 eller 2304x1728" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "2304x1728 eller 2592x1944" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "2816x2212 eller 2816x2112" #: src/pentaxmn.cpp:247 msgid "Auto, Did not fire" msgstr "Auto, inte utlöst" #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 msgid "Off, Did not fire" msgstr "Av, utlöstes inte" #: src/pentaxmn.cpp:250 msgid "Auto, Did not fire, Red-eye reduction" msgstr "Automatisk, inte utlöst, minskning av röda ögon" #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "På, utlöstes inte, Trådlös (Master)" #: src/pentaxmn.cpp:252 msgid "Auto, Fired" msgstr "Auto, utlöst" #: src/pentaxmn.cpp:253 msgid "On, Fired" msgstr "På, utlöstes" #: src/pentaxmn.cpp:254 msgid "Auto, Fired, Red-eye reduction" msgstr "Automatisk, utlöst, minskning av röda ögon" #: src/pentaxmn.cpp:255 msgid "On, Red-eye reduction" msgstr "På, minskning av röda ögon" #: src/pentaxmn.cpp:256 msgid "On, Wireless (Master)" msgstr "På, utlöstes (Master)" #: src/pentaxmn.cpp:257 msgid "On, Wireless (Control)" msgstr "På, trådlös (Control)" #: src/pentaxmn.cpp:258 msgid "On, Soft" msgstr "På, mjuk" #: src/pentaxmn.cpp:259 msgid "On, Slow-sync" msgstr "På, långsam synk" #: src/pentaxmn.cpp:260 msgid "On, Slow-sync, Red-eye reduction" msgstr "På, långsam synk, minskning av röda ögon" #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "På, släpande-ridå synkronisering" #: src/pentaxmn.cpp:272 msgid "Pan Focus" msgstr "Panoreringsfokus" #: src/pentaxmn.cpp:275 msgid "AF-A" msgstr "AF-A" #: src/pentaxmn.cpp:276 msgid "Contrast-detect" msgstr "Kontrastigenkänning" #: src/pentaxmn.cpp:277 msgid "Tracking Contrast-detect" msgstr "Spårar kontrastigenkänning" #: src/pentaxmn.cpp:284 msgid "Fixed Center" msgstr "Fixerat centrum" #: src/pentaxmn.cpp:285 msgid "Automatic Tracking AF" msgstr "Automatisk spårning AF" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "Ansiktsigenkänning AF" #: src/pentaxmn.cpp:287 msgid "AF Select" msgstr "AF-val" #: src/pentaxmn.cpp:305 msgid "Fixed Center or multiple" msgstr "Fixerat centrum eller flera" #: src/pentaxmn.cpp:307 msgid "Top-center" msgstr "Överst i mitten" #: src/pentaxmn.cpp:313 msgid "Bottom-center" msgstr "Nederst i mitten" #: src/pentaxmn.cpp:402 msgid "Multi Segment" msgstr "Multisegment" #: src/pentaxmn.cpp:403 msgid "Center Weighted" msgstr "Mitt-viktad" #: src/pentaxmn.cpp:415 msgid "DaylightFluorescent" msgstr "Dagsljus, fluorescerande" #: src/pentaxmn.cpp:416 msgid "DaywhiteFluorescent" msgstr "Dagslj. v. fluor" #: src/pentaxmn.cpp:417 msgid "WhiteFluorescent" msgstr "Vitt fluorescerande" #: src/pentaxmn.cpp:420 msgid "Color Temperature Enhancement" msgstr "Färgtempererad förbättring" #: src/pentaxmn.cpp:423 msgid "User Selected" msgstr "Användardefinierat" #: src/pentaxmn.cpp:428 msgid "Auto (Daylight)" msgstr "Auto (dagsljus)" #: src/pentaxmn.cpp:429 msgid "Auto (Shade)" msgstr "Auto (skugga)" #: src/pentaxmn.cpp:430 msgid "Auto (Flash)" msgstr "Auto (blixt)" #: src/pentaxmn.cpp:431 msgid "Auto (Tungsten)" msgstr "Auto (volfram)" #: src/pentaxmn.cpp:432 msgid "Auto (DaylightFluorescent)" msgstr "Auto (dagsljusfluorescerande)" #: src/pentaxmn.cpp:433 msgid "Auto (DaywhiteFluorescent)" msgstr "Auto (dagsljus, vitt fluorescerande)" #: src/pentaxmn.cpp:434 msgid "Auto (WhiteFluorescent)" msgstr "Auto (vitt fluorescerande)" #: src/pentaxmn.cpp:435 msgid "Auto (Cloudy)" msgstr "Auto (molnigt)" #: src/pentaxmn.cpp:437 msgid "Preset (Fireworks?)" msgstr "Förval (fyrverkerier?)" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 msgid "Med Low" msgstr "Mellan låg" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 msgid "Med High" msgstr "Mellan hög" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "-4" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "+4" #: src/pentaxmn.cpp:473 msgid "Med Soft" msgstr "Medelmjuk" #: src/pentaxmn.cpp:474 msgid "Med Hard" msgstr "Medelhård" #: src/pentaxmn.cpp:475 msgid "Very Soft" msgstr "Mycket mjuk" #: src/pentaxmn.cpp:476 msgid "Very Hard" msgstr "Mycket hård" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 msgid "Home town" msgstr "Hemstad" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "Pago Pago" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "Honolulu" #: src/pentaxmn.cpp:491 msgid "Anchorage" msgstr "Anchorage" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "Vancouver" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "San Fransisco" #: src/pentaxmn.cpp:494 msgid "Los Angeles" msgstr "Los Angeles" #: src/pentaxmn.cpp:495 msgid "Calgary" msgstr "Calgary" #: src/pentaxmn.cpp:496 msgid "Denver" msgstr "Denver" #: src/pentaxmn.cpp:497 msgid "Mexico City" msgstr "Mexico City" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "Chicago" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "Miami" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "Toronto" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "New York" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "Santiago" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "Caracus" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "Halifax" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "Buenos Aires" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "Sao Paulo" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "Rio de Janeiro" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "Madrid" #: src/pentaxmn.cpp:509 msgid "London" msgstr "London" #: src/pentaxmn.cpp:510 msgid "Paris" msgstr "Paris" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "Milano" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "Rom" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "Berlin" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "Johannesburg" #: src/pentaxmn.cpp:515 msgid "Istanbul" msgstr "Istanbul" #: src/pentaxmn.cpp:516 msgid "Cairo" msgstr "Kairo" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "Jerusalem" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "Moskva" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "Jeddah" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "Teheran" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "Dubai" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "Karachi" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "Kabul" #: src/pentaxmn.cpp:524 msgid "Male" msgstr "Malé" #: src/pentaxmn.cpp:525 msgid "Delhi" msgstr "Delhi" #: src/pentaxmn.cpp:526 msgid "Colombo" msgstr "Colombo" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "Katmandu" #: src/pentaxmn.cpp:528 msgid "Dacca" msgstr "Dacca" #: src/pentaxmn.cpp:529 msgid "Yangon" msgstr "Yangon" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "Bangkok" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "Kuala Lumpur" #: src/pentaxmn.cpp:532 msgid "Vientiane" msgstr "Vientiane" #: src/pentaxmn.cpp:533 msgid "Singapore" msgstr "Singapore" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "Phnom Penh" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "Ho Chi Minh" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "Jakarta" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "Hong Kong" #: src/pentaxmn.cpp:538 msgid "Perth" msgstr "Perth" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "Peking" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "Shanghai" #: src/pentaxmn.cpp:541 msgid "Manila" msgstr "Manilla" #: src/pentaxmn.cpp:542 msgid "Taipei" msgstr "Taipei" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "Seoul" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "Adelaide" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "Tokyo" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "Guam" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "Sydney" #: src/pentaxmn.cpp:548 msgid "Noumea" msgstr "Noumea" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "Wellington" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "Auckland" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "Lima" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "Dakar" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "Alger" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "Helsingfors" #: src/pentaxmn.cpp:555 msgid "Athens" msgstr "Aten" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "Nairobi" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "Amsterdam" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "Stockholm" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "Lissabon" #: src/pentaxmn.cpp:560 msgid "Copenhagen" msgstr "Köpenhamn" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "Warsawa" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "Prag" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "Budapest" #: src/pentaxmn.cpp:568 msgid "Unprocessed" msgstr "Obehandlad" #: src/pentaxmn.cpp:570 msgid "Resized" msgstr "Storleksändrad" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 msgid "Cropped" msgstr "Beskuren" #: src/pentaxmn.cpp:573 msgid "Digital Filter 6" msgstr "Digitalfilter 6" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "Ramsyntes?" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 msgid "Hi-speed Program" msgstr "Höghastighetsprogram" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 msgid "DOF Program" msgstr "DOF-program" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 msgid "MTF Program" msgstr "MTF-program" #: src/pentaxmn.cpp:588 msgid "Night Scene Portrait" msgstr "Nattscensporträtt" #: src/pentaxmn.cpp:589 msgid "No Flash" msgstr "Ingen blixt" #: src/pentaxmn.cpp:592 msgid "Surf & Snow" msgstr "Hav och snö" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "Barn" #: src/pentaxmn.cpp:600 msgid "Stage Lighting" msgstr "Scenbelysning" #: src/pentaxmn.cpp:601 msgid "Night Snap" msgstr "Nattbild" #: src/pentaxmn.cpp:602 msgid "Blue Sky" msgstr "Blå himmel" #: src/pentaxmn.cpp:604 msgid "Night Scene HDR" msgstr "Nattscen HDR" #: src/pentaxmn.cpp:606 msgid "Quick Macro" msgstr "Kvick makro" #: src/pentaxmn.cpp:607 msgid "Forest" msgstr "Skog" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "Bakgrundsbelyst siluett" #: src/pentaxmn.cpp:610 msgid "Auto PICT (Standard)" msgstr "Auto PICT (standard)" #: src/pentaxmn.cpp:611 msgid "Auto PICT (Portrait)" msgstr "Auto PICT (stående)" #: src/pentaxmn.cpp:612 msgid "Auto PICT (Landscape)" msgstr "Auto PICT (liggande)" #: src/pentaxmn.cpp:613 msgid "Auto PICT (Macro)" msgstr "Auto PICT (makro)" #: src/pentaxmn.cpp:614 msgid "Auto PICT (Sport)" msgstr "Auto PICT (sport)" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 msgid "Green Mode" msgstr "Grönläge" #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 msgid "Shutter Speed Priority" msgstr "Slutarhastighetsprioritet" #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 msgid "Aperture Priority" msgstr "Bländarprioritet" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "Glödlampa" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "Ytlig DOF" #: src/pentaxmn.cpp:631 msgid "Program Tv Shift" msgstr "Programmera Tv-byte" #: src/pentaxmn.cpp:632 msgid "Program Av Shift" msgstr "Programmera Av-byte" #: src/pentaxmn.cpp:635 msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "Bländarprioritet (autobländning-av)" #: src/pentaxmn.cpp:636 msgid "Manual (Off-Auto-Aperture)" msgstr "Manuell (Av-autobländning)" #: src/pentaxmn.cpp:637 msgid "Bulb (Off-Auto-Aperture)" msgstr "Glödlampa (autobländning-av)" #: src/pentaxmn.cpp:639 msgid "Shutter Priority" msgstr "Slutarprioritet" #: src/pentaxmn.cpp:640 msgid "Shutter & Aperture Priority AE" msgstr "Slutar- & bländarprioritet AE" #: src/pentaxmn.cpp:641 msgid "Shutter & Aperture Priority AE (1)" msgstr "Slutar- & bländarprioritet AE (1)" #: src/pentaxmn.cpp:642 msgid "Sensitivity Priority AE" msgstr "Känslighetsprioritet AE" #: src/pentaxmn.cpp:643 msgid "Sensitivity Priority AE (1)" msgstr "Känslighetsprioritet AE (1)" #: src/pentaxmn.cpp:644 msgid "Flash X-Sync Speed AE" msgstr "Blixtens x-synkhastighet AE" #: src/pentaxmn.cpp:645 msgid "Flash X-Sync Speed AE (1)" msgstr "Blixtens x-synkhastighet AE (1)" #: src/pentaxmn.cpp:646 msgid "Auto Program (Normal)" msgstr "Autoprogram (normal)" #: src/pentaxmn.cpp:647 msgid "Auto Program (Hi-Speed)" msgstr "Autoprogram (hi-speed)" #: src/pentaxmn.cpp:648 msgid "Auto Program (DOF)" msgstr "Autoprogram (DOF)" #: src/pentaxmn.cpp:649 msgid "Auto Program (MTF)" msgstr "Autoprogram (MTF)" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "Autoprogram (ytlig DOF)" #: src/pentaxmn.cpp:651 msgid "Blur control" msgstr "Oskärpakontroll" #: src/pentaxmn.cpp:654 msgid "Video (30 fps)" msgstr "Video (30 fps)" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "Video (24 fps)" #: src/pentaxmn.cpp:662 msgid "Continuous (Hi)" msgstr "Kontinuerlig (hög)" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 msgid "Burst" msgstr "Upprepning" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 msgid "Video" msgstr "Video" #: src/pentaxmn.cpp:666 msgid "Self-timer (12 sec)" msgstr "Självutlösning (12 sek)" #: src/pentaxmn.cpp:667 msgid "Self-timer (2 sec)" msgstr "Självutlösning (2 sek)" #: src/pentaxmn.cpp:669 msgid "Mirror Lock-up" msgstr "Spegeluppfällning" #: src/pentaxmn.cpp:670 msgid "Remote Control (3 sec)" msgstr "Fjärrutlösning (3 sek)" #: src/pentaxmn.cpp:671 msgid "Remote Control" msgstr "Fjärrkontroll" #: src/pentaxmn.cpp:672 msgid "Remote Continuous Shooting" msgstr "Fjärrseriebildsläge" #: src/pentaxmn.cpp:675 msgid "HDR Strong 1" msgstr "HDR stark 1" #: src/pentaxmn.cpp:676 msgid "HDR Strong 2" msgstr "HDR stark 2" #: src/pentaxmn.cpp:677 msgid "HDR Strong 3" msgstr "HDR stark 3" #: src/pentaxmn.cpp:678 msgid "HDR Auto" msgstr "HDR auto" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "M-42 eller inget objektiv" #: src/pentaxmn.cpp:691 msgid "K or M Lens" msgstr "K eller M-objektiv" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "Serie A-objektiv" #: src/pentaxmn.cpp:970 msgid "Bright" msgstr "Ljus" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "Omvänd film" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "Bleach bypass" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "Radie" #: src/pentaxmn.cpp:990 msgid "Weakest" msgstr "Svagaste" #: src/pentaxmn.cpp:991 msgid "Weak" msgstr "Svag" #: src/pentaxmn.cpp:992 msgid "Strong" msgstr "Stark" #: src/pentaxmn.cpp:1112 msgid "No extended bracketing" msgstr "Ingen utökad gaffling" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "WB-BA" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "WB-GM" #: src/pentaxmn.cpp:1133 msgid "Unknown " msgstr "Okänd " #: src/pentaxmn.cpp:1146 msgid "Pentax Makernote version" msgstr "Pentax Makernote-version" #: src/pentaxmn.cpp:1149 msgid "Camera shooting mode" msgstr "Kamerans fotograferingsläge" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 msgid "Resolution of a preview image" msgstr "Upplösning för förhandsvisningsbild" #: src/pentaxmn.cpp:1154 msgid "Length of a preview image" msgstr "Längd för förhandsvisningsbild" #: src/pentaxmn.cpp:1155 msgid "Size of an IFD containing a preview image" msgstr "Storlek för IFD som innehåller en förhandsvisningsbild" #: src/pentaxmn.cpp:1160 msgid "Model identification" msgstr "Modellidentifiering" #: src/pentaxmn.cpp:1161 msgid "Pentax model identification" msgstr "Pentax-modellidentifiering" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 msgid "Date" msgstr "Datum" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 msgid "Time" msgstr "Tid" #: src/pentaxmn.cpp:1170 msgid "Image quality settings" msgstr "Inställningar för bildkvalitet" #: src/pentaxmn.cpp:1173 msgid "Image size settings" msgstr "Inställningar för bildstorlek" #: src/pentaxmn.cpp:1177 msgid "Flash mode settings" msgstr "Inställningar för blixtläge" #: src/pentaxmn.cpp:1180 msgid "Focus mode settings" msgstr "Inställningar för fokusläge" #: src/pentaxmn.cpp:1183 msgid "Selected AF point" msgstr "Vald AF-punkt" #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 msgid "AF point in focus" msgstr "AF-punkt i fokus" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 msgid "F-Number" msgstr "F-nummer" #: src/pentaxmn.cpp:1195 msgid "ISO sensitivity" msgstr "ISO-känslighet" #: src/pentaxmn.cpp:1196 msgid "ISO sensitivity settings" msgstr "ISO-känslighetsinställningar" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 msgid "MeteringMode" msgstr "Mätningsläge" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 msgid "AutoBracketing" msgstr "Autobracketing" #: src/pentaxmn.cpp:1216 msgid "Blue color balance" msgstr "Blå färgbalans" #: src/pentaxmn.cpp:1219 msgid "Red color balance" msgstr "Röd färgbalans" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 msgid "FocalLength" msgstr "Brännvidd" #: src/pentaxmn.cpp:1239 msgid "Hometown" msgstr "Hemstad" #: src/pentaxmn.cpp:1245 msgid "Hometown DST" msgstr "Hemstadens sommar-/vintertid" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "Om det är sommar- eller vintertid i hemstaden" #: src/pentaxmn.cpp:1248 msgid "Destination DST" msgstr "Destinationens sommar-/vintertid" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "Om det är sommar- eller vintertid på destinationen" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 msgid "DSPFirmwareVersion" msgstr "DSP fast-programvaruversion" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 msgid "CPUFirmwareVersion" msgstr "CPU fast-programvaruversion" #: src/pentaxmn.cpp:1261 msgid "Light value" msgstr "Ljusvärde" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "Kamerans beräknade ljusvärde, inkluderar exponeringskompensation" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 msgid "Image area offset" msgstr "Bildytans förskjutning" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 msgid "Raw image size" msgstr "RAW-bildstorlek" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 msgid "Preview image borders" msgstr "Förhandsvisningsramar" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 msgid "Sensitivity adjust" msgstr "Känslighetsjustering" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 msgid "Digital filter" msgstr "Digitalt filter" #: src/pentaxmn.cpp:1299 msgid "Camera temperature" msgstr "Kamerans temperatur" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 msgid "Image tone" msgstr "Bildton" #: src/pentaxmn.cpp:1319 msgid "Shake reduction" msgstr "Bildstabilisering" #: src/pentaxmn.cpp:1320 msgid "Shake reduction information" msgstr "Bildstabiliseringinformation" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 msgid "Dynamic range expansion" msgstr "Dynamisk intervallexpansion" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 msgid "High ISO noise reduction" msgstr "Hög ISO-brusreducering" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 msgid "AF Adjustment" msgstr "AF-justering" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 msgid "Black point" msgstr "Svartpunkt" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 msgid "White point" msgstr "Vitpunkt" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 msgid "ShotInfo" msgstr "Bildinfo" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 msgid "AEInfo" msgstr "AE-info" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 msgid "LensInfo" msgstr "Objektivinfo" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 msgid "FlashInfo" msgstr "Blixtinfo" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 msgid "AEMeteringSegments" msgstr "AE-mätningssegment" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 msgid "FlashADump" msgstr "Blixt A-dump" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 msgid "FlashBDump" msgstr "Blixt B-dump" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 msgid "WB_RGGBLevelsDaylight" msgstr "WB_RGGBLevelsDaylight" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 msgid "WB_RGGBLevelsShade" msgstr "WB_RGGBLevelsShade" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 msgid "WB_RGGBLevelsCloudy" msgstr "WB_RGGBLevelsCloudy" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 msgid "WB_RGGBLevelsTungsten" msgstr "WB_RGGBLevelsTungsten" #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 msgid "WB_RGGBLevelsFluorescentD" msgstr "VB_RGGB-nivåer fluor. dagslj" #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 msgid "WB_RGGBLevelsFluorescentN" msgstr "VB_RGGB-nivåer fluor. natt" #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 msgid "WB_RGGBLevelsFluorescentW" msgstr "VB_RGGB-nivåer fluor. vitt" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 msgid "WB_RGGBLevelsFlash" msgstr "WB_RGGBLevelsFlash" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 msgid "CameraInfo" msgstr "Kamerainfo" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 msgid "BatteryInfo" msgstr "Batteri-info" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 msgid "AFInfo" msgstr "AF-info" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 msgid "ColorInfo" msgstr "Färginfo" #: src/pentaxmn.cpp:1405 msgid "Unknown PentaxMakerNote tag" msgstr "Okänd PentaxMakerNote-tagg" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "Dublin Core-schema" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "digiKam fotohanteringsschema" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "KDEs bildprogramsgränssnittsschema" #: src/properties.cpp:113 msgid "XMP Basic schema" msgstr "XMP basschema" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "XMP rättighetshanteringsschema" #: src/properties.cpp:115 msgid "XMP Media Management schema" msgstr "XMP mediahanteringsschema" #: src/properties.cpp:116 msgid "XMP Basic Job Ticket schema" msgstr "XMP basjobbsschema" #: src/properties.cpp:117 msgid "XMP Paged-Text schema" msgstr "XMP indelad text-schema" #: src/properties.cpp:118 msgid "XMP Dynamic Media schema" msgstr "XMP dynamiskt media-schema" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "Microsoft Photo-schema" #: src/properties.cpp:120 msgid "Adobe Lightroom schema" msgstr "Adobe Lightroom-schema" #: src/properties.cpp:121 msgid "Adobe PDF schema" msgstr "Adobe PDF-schema" #: src/properties.cpp:122 msgid "Adobe photoshop schema" msgstr "Adobe Photoshop-schema" #: src/properties.cpp:123 msgid "Camera Raw schema" msgstr "Kamerans RAW-schema" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "Exif-schema för TIFF-egenskaper" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "Exif-schema för Exif-specifika egenskaper" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "Exif-schema för ytterligare Exif-egenskaper" #: src/properties.cpp:127 src/properties.cpp:128 msgid "IPTC Core schema" msgstr "IPTC Core-schema" #: src/properties.cpp:129 src/properties.cpp:130 msgid "IPTC Extension schema" msgstr "IPTC Extension-schema" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "PLUS licensdataformatschema" #: src/properties.cpp:132 msgid "iView Media Pro schema" msgstr "iView Media Pro-schema" #: src/properties.cpp:133 msgid "Expression Media schema" msgstr "Expression Media-schema" #: src/properties.cpp:134 msgid "Microsoft Photo 1.2 schema" msgstr "Microsoft Photo 1.2-schema" #: src/properties.cpp:135 msgid "Microsoft Photo RegionInfo schema" msgstr "Microsoft Photo RegionInfo-schema" #: src/properties.cpp:136 msgid "Microsoft Photo Region schema" msgstr "Microsoft Photo Region-schema" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "Metadata Working Group Regions-schema" #: src/properties.cpp:138 msgid "Metadata Working Group Keywords schema" msgstr "Metadata Working Group Keywords-schema" #: src/properties.cpp:139 msgid "XMP Extended Video schema" msgstr "XMP Extended Video-schema" #: src/properties.cpp:140 msgid "XMP Extended Audio schema" msgstr "XMP Extended Audio-schema" #: src/properties.cpp:141 msgid "XMP Darwin Core schema" msgstr "XMP Darwin Core-schema" #: src/properties.cpp:142 msgid "Qualified Dublin Core schema" msgstr "Qualified Dublin Core-schema" #: src/properties.cpp:143 msgid "ACDSee XMP schema" msgstr "ACDSee XMP-schema" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "Google Photo Sphere XMP-schema" #: src/properties.cpp:148 msgid "Colorant structure" msgstr "Färgningsstruktur" #: src/properties.cpp:149 msgid "Dimensions structure" msgstr "Dimensionsstruktur" #: src/properties.cpp:150 msgid "Font structure" msgstr "Teckensnittsstruktur" #: src/properties.cpp:151 msgid "Thumbnail structure" msgstr "Miniatyrbildsstruktur" #: src/properties.cpp:152 msgid "Resource Event structure" msgstr "Resurshändelsestruktur" #: src/properties.cpp:153 msgid "ResourceRef structure" msgstr "Resursref-struktur" #: src/properties.cpp:154 msgid "Version structure" msgstr "Versionsstruktur" #: src/properties.cpp:155 msgid "Basic Job/Workflow structure" msgstr "Grundläggande jobb-/arbetsflödesstruktur" #: src/properties.cpp:156 msgid "Area structure" msgstr "Områdesstruktur" #: src/properties.cpp:159 msgid "Qualifier for xmp:Identifier" msgstr "Kvalificerare för xmp:Identifier" #: src/properties.cpp:163 msgid "Contributor" msgstr "Bidragsgivare" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "Vi bidrog till resursen (andra än författarna)." #: src/properties.cpp:164 msgid "Coverage" msgstr "Täckning" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" "Det spatiala eller temporala ämnet för resursen, dess spatiala " "tillämpbarhet, eller lagfarten under vilken den är relevant." #: src/properties.cpp:166 msgid "Creator" msgstr "Skapare" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "" "Författarna för resursen (räknas upp efter hierarki, i de fall det har " "betydelse)." #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "Datum då något intressant hände med resursen." #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" "En textbeskrivning av resursens innehåll. Flera värden kan finnas för olika " "språk." #: src/properties.cpp:170 src/properties.cpp:1160 msgid "Format" msgstr "Format" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" "Filformatet som används för att spara resursen. Verktyg och program ska ange " "den här egenskapen till lagringsformatet för datat. Det kan inkludera " "passande kvalificerare." #: src/properties.cpp:172 src/properties.cpp:228 msgid "Identifier" msgstr "Identifierare" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" "Resursens unika identifikation. Rekommenderad användning är att identifiera " "resursen med en sträng som följer ett formellt identifieringssystem." #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "Ett osorterat fält som anger vilka språk som används i resursen." #: src/properties.cpp:175 msgid "Publisher" msgstr "Utgivare" #: src/properties.cpp:175 msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" "En organisation ansvarig för att göra resursen tillgänglig. Exempel på " "utgivare är en person, organisation, eller tjänst. I regel bör utgivarens " "namn användas för att beskriva organisationen." #: src/properties.cpp:178 msgid "Relation" msgstr "Relation" #: src/properties.cpp:178 msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" "Relationer till andra dokument. Rekommenderad användning är att identifiera " "den relaterade resursen med en sträng som följer ett formellt " "identifikationssystem." #: src/properties.cpp:180 msgid "Rights" msgstr "Rättigheter" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" "Åberopande av informella rättigheter, valt efter språk. I regel innehåller " "rättighetsinformation ett åberopande av olika äganderättigheter associerade " "med resursen, inklusive immateriell äganderätt." #: src/properties.cpp:183 msgid "Unique identifier of the work from which this resource was derived." msgstr "Unik identifierare av det verk från vilket resursen härrör." #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" "Ett osorterat fält med beskrivande fraser eller nyckelord som anger ämnet " "för resursens innehåll." #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" "Dokumentets titel, eller namnet som tilldelats resursen. I vanliga fall är " "det namnet resursen kallas formellt." #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 msgid "Type" msgstr "Typ" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "En dokumenttyp, till exempel roman, dikt, eller arbetsrapport." #: src/properties.cpp:194 msgid "Tags List" msgstr "Tagglista" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" "Listan över fullständiga taggsökvägar som en sträng. Sökvägshierarkin " "separeras med tecknet ”/” (t.ex. ”Stad/Paris/Monument/Eiffeltornet”)." #: src/properties.cpp:195 msgid "Captions Author Names" msgstr "Bildtext författarnamn" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" "Listan över all bildtext och författarnamn för varje språk, eller bildtext " "angiven i vanliga XMP-taggar." #: src/properties.cpp:196 msgid "Captions Date Time Stamps" msgstr "Bildtext datum-/tidsstämplar" #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" "Listan över all bildtext och datum-/tidsstämplar för varje språk, eller " "bildtext angiven i vanliga XMP-taggar." #: src/properties.cpp:197 src/tags.cpp:844 msgid "Image History" msgstr "Bildhistorik" #: src/properties.cpp:197 msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" "Ett XML-baserat innehåll som listar alla åtgärder som verkställts på den här " "bilden med bildredigerare (som beskär, rotera, färgkorrektur, justeringar, " "osv.)." #: src/properties.cpp:198 msgid "Lens Correction Settings" msgstr "Objektivkorrigeringar" #: src/properties.cpp:198 msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" "Listan över verktygsinställningar för objektivkorrigering som används för " "att rätta till objektivdistorsion. Det inkluderar automatiserad köhanterare " "och bildredigeringsverktyg baserad på biblioteket LensFun." #: src/properties.cpp:199 msgid "Color Label" msgstr "Färgetikett" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" "Färgetiketten som har tilldelats objektet. Möjliga värden är ”0”: ingen " "etikett; ”1”: Röd; ”2”: Orange; ”3”: Gul; ”4”: Grön; ”5”: Blå; ”6”: Magenta; " "”7”: Grå; ”8”: Svart; ”9”: Vit." #: src/properties.cpp:200 msgid "Pick Label" msgstr "Pick-etikett" #: src/properties.cpp:200 msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" "En pick-etikett tillägna detta objekt. Möjliga värden är ”0”: ingen etikett; " "”1”: objekt tillbakavisad; ”2”: objekt väntandes på validering; ”3”: objekt " "accepteras." #: src/properties.cpp:206 msgid "Panorama Input Files" msgstr "Indatafiler för Panorama" #: src/properties.cpp:206 msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" "Listan över filer som behandlats med programmet Hugin genom verktyget " "Panorama." #: src/properties.cpp:207 msgid "Enfuse Input Files" msgstr "Indatafiler för Enfuse" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" "Listan över filer som behandlats med programmet Enfuse genom verktyget " "ExpoBlending." #: src/properties.cpp:208 msgid "Enfuse Settings" msgstr "Inställningar av Enfuse" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" "Listan över Enfuse-inställningar som används för att blanda bildhögen med " "verktyget ExpoBlending." #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "PicasaWeb objekt-ID" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "Objekt-ID från PicasaWeb-webbtjänst." #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "Yandex Fotki objekt-ID" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "Objekt-ID från Yandex Fotki-webbtjänst." #: src/properties.cpp:216 msgid "Advisory" msgstr "Varning" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" "Ett osorterat fält som anger egenskaper som redigerades utanför programmet " "som skapade dem. Varje objekt bör innehålla ett namn och en XPath, " "separerade med ett ASCII-blanksteg (U+0020)." #: src/properties.cpp:219 src/properties.cpp:1066 msgid "Base URL" msgstr "Bas-URL" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" "Bas-URL:en för relativa URL:er i dokumentets innehåll. Om dokumentet " "innehåller internetlänkar, och de är relativa, är de då relativa till den " "här bas-URL:en. Egenskapen tillhandahåller en standard för hur inbäddade " "relativa URL:er tolkas av verktyg. Webbdesignprogram bör ange värdet baserat " "på deras begrepp om var URL:erna kommer tolkas." #: src/properties.cpp:224 msgid "Create Date" msgstr "Skapat datum" #: src/properties.cpp:224 msgid "The date and time the resource was originally created." msgstr "Datum och tid då resursen ursprungligen skapades." #: src/properties.cpp:225 msgid "Creator Tool" msgstr "Skaparverktyg" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" "Namnet på det först kända verktyg som användes för att skapa resursen. Om " "historiken finns i metadatan ska det här värdet vara samma som xmpMM:" "Historys softwareAgent-egenskap." #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" "Ett osorterat fält med textsträngar som tydligt identifierar resursen inom " "ett givet sammanhang. Ett vektorobjekt kan kvalificeras med xmpidq:Scheme " "för att visa vilket formellt identifieringssystem identifieraren följer. " "OBS: Egenskapen dc:identifier används inte eftersom den saknar en definierad " "schema-kvalificerare och har definierats i XMP-specifikationen som en enkel " "egenskap (ett värde)." #: src/properties.cpp:233 msgid "Label" msgstr "Etikett" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" "Ett ord eller en kort fras som identifierar ett dokument som en del av en " "användardefinierad samling. Används för att sortera dokument i en " "filhanterare." #: src/properties.cpp:235 msgid "Metadata Date" msgstr "Metadata, datum" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" "Datum och tiden då metadata för den här resursen senast ändrades. Det borde " "vara samma som eller nyare än xmp:ModifyDate." #: src/properties.cpp:237 msgid "Modify Date" msgstr "Ändringsdatum" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" "Datum och tid då resursen senast ändrades. OBS: Värdet för den här " "egenskapen är inte nödvändigtvis samma som filsystemets ändringsdatum " "eftersom det anges innan filen sparas." #: src/properties.cpp:240 msgid "Nickname" msgstr "Alias" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "Ett kort informellt namn för resursen." #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 msgid "Rating" msgstr "Gradering" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" "Ett nummer som visar ett dokuments tillstånd relativt till andra dokument, " "används för att sortera dokument i en filhanterare. Värden är " "användardefinierade inom ett programdefinierat intervall." #: src/properties.cpp:244 msgid "Thumbnails" msgstr "Miniatyrbilder" #: src/properties.cpp:244 msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" "Ett alternativt fält med miniatyrbilder för en fil, vilka kan variera i " "egenskaper som storlek eller bildkodning." #: src/properties.cpp:251 msgid "Certificate" msgstr "Certifikat" #: src/properties.cpp:251 msgid "Online rights management certificate." msgstr "Internet-baserat rättighetshanteringscertifikat." #: src/properties.cpp:252 msgid "Marked" msgstr "Märkt" #: src/properties.cpp:252 msgid "Indicates that this is a rights-managed resource." msgstr "Visar att det här är en rättighetshanterad resurs." #: src/properties.cpp:253 msgid "Owner" msgstr "Ägare" #: src/properties.cpp:253 msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "Ett osorterat fält som anger de lagliga ägarna för en resurs." #: src/properties.cpp:254 msgid "Usage Terms" msgstr "Användningsvillkor" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "Textinstruktioner om hur en resurs lagligen kan användas." #: src/properties.cpp:255 msgid "Web Statement" msgstr "Webbåberopan" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" "Platsen för en webbsida som beskriver ägaren och/eller rättighetsåberopan " "för resursen." #: src/properties.cpp:261 msgid "Derived From" msgstr "Härrör från" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" "En referens till det ursprungliga dokumentet från vilket det här härrör. Det " "är en minimal referens; saknade komponenter kan antas vara oförändrade. En " "ny version kanske till exempel bara behöver ange instans-ID och föregående " "versionens versionsnummer, eller ett återgivande kanske bara behöver ange " "instans-ID och återgivningsklassen för originalet." #: src/properties.cpp:266 msgid "Document ID" msgstr "Dokument-ID" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" "Den gemensamma identifieraren för alla versioner och återgivanden av ett " "dokument. Det bör baseras på ett UUIC; se Dokument- och Instans-ID nedanför." #: src/properties.cpp:268 msgid "History" msgstr "Historik" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" "Ett sorterat fält av detaljerade användaråtgärder som gav upphov till " "resursen. Det är avsett att ge mänskliga läsare en allmän fingervisning om " "stegen som togs för att utföra ändringarna från föregående version till " "denna. Listan ska vara på en abstrakt nivå; den är inte avsedd att vara en " "uttömmande lista över tangentkommandon eller annan detaljerad historik." #: src/properties.cpp:272 msgid "Instance ID" msgstr "Instans-ID" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" "En identifierare för en specifik version av ett dokument, uppdaterad var " "gång en fil sparas. Den bör baseras på ett UUID; se Dokument- och Instans-ID " "nedanför." #: src/properties.cpp:274 msgid "Managed From" msgstr "Hanterad från" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" "En referens till dokument så som det var innan det började hanteras. Det " "anges när ett hanterat dokument introduceras i ett tillgångshanteringssystem " "som för närvarande inte äger det. Det måste inte inkludera referenser till " "olika hanteringssystem." #: src/properties.cpp:277 msgid "Manager" msgstr "Hanterare" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" "Namnet på tillgångshanteringssystemet som hanterar den här resursen. " "Tillsammans med xmpMM: ManagerVariant talar det om för program vilket " "tillgångshanteringssystem som ska kontaktas rörande det här dokumentet." #: src/properties.cpp:280 msgid "Manage To" msgstr "Hantera till" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" "En URI som identifierar den hanterade resursen för " "tillgångshanteringssystemet; egenskapens existens är den formella indikatorn " "för att resursen hanteras. Formen och innehållet för den här URI:n är privat " "och tillhör tillgångshanteringssystemet." #: src/properties.cpp:283 msgid "Manage UI" msgstr "Hantera UI" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" "En URI som kan användas för att komma åt information om den hanterade " "resursen genom en webbläsare. Det kan kräva ett anpassat webbläsarinstick." #: src/properties.cpp:285 msgid "Manager Variant" msgstr "Hanterarvariant" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" "Anger en särskild variant för tillgångshanteringssystemet. Formatet för " "egenskapen är privat och tillhör sitt tillgångshanteringssystem." #: src/properties.cpp:287 msgid "Rendition Class" msgstr "Återgivningsklass" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" "Resursens återgivningsklass. Egenskapen borde frånvara eller anges till " "standard för en dokumentversion som inte är en nedärvd återgivning." #: src/properties.cpp:289 msgid "Rendition Params" msgstr "Återgivningsparametrar" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" "Kan användas för att tillhandahålla ytterligare återgivningsparametrar som " "är för komplexa eller långa för att skriva i xmpMM: RenditionClass." #: src/properties.cpp:291 msgid "Version ID" msgstr "Versions-ID" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr "" "Resursens dokumentversionsidentifierare. Varje version av ett dokument får " "en ny identifierare, oftast genom att bara öka heltalen 1, 2, 3, och så " "vidare. Mediahanteringssystem kan ha andra konventioner, eller stödja " "avgrening vilket kräver ett mer komplicerat schema." #: src/properties.cpp:295 msgid "Versions" msgstr "Versioner" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" "Versionshistoriken som är associerat till den här resursen. Post [1] är den " "äldsta kända versionen för det här dokumentet, posten [last()] är den " "senaste versionen. I allmänhet ska ett mediahanteringssystem fylla i " "versionsinformationen i metadatan vid incheckning. Det finns ingen garanti " "för att en fullständig historik från första till nuvarande version bevaras i " "egenskapen xmpMM:Versions. Intern versionsinformation kan komprimeras eller " "uteslutas, och versionshistoriken kan avdelas vid en viss tidpunkt." #: src/properties.cpp:301 msgid "Last URL" msgstr "Senaste URL" #: src/properties.cpp:301 msgid "Deprecated for privacy protection." msgstr "Övergiven för att skydda din personliga integritet." #: src/properties.cpp:302 msgid "Rendition Of" msgstr "Återgivning av" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" "Övergiven till fördel för xmpMM:DerivedFrom. En referens till dokumentet som " "återges." #: src/properties.cpp:304 msgid "Save ID" msgstr "Lagrings-ID" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "" "Övergiven. Tidigare bara använt för att stödja xmpMM:LastURL-egenskapen." #: src/properties.cpp:310 msgid "Job Reference" msgstr "Jobbreferens" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" "Hänvisar till en extern jobbhanteringsfil flr en jobbprocess där ett " "dokument används. Användaren kontrollerar hur jobbnamnen används. Det " "används i vanliga fall till att identifiera alla dokument som tillhör ett " "visst jobb eller kontrakt. Det finns flera värden eftersom ett dokument kan " "användas i flera olika jobb någon gång, och det kan också vara praktiskt att " "behålla historikinformation om vilka jobb ett dokument tidigare använts i." #: src/properties.cpp:319 msgid "Maximum Page Size" msgstr "Största sidstorlek" #: src/properties.cpp:319 msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "" "Storleken för den största sidan i dokumentet (inklusive infogade dokument)." #: src/properties.cpp:320 msgid "Number of Pages" msgstr "Antal sidor" #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "Antal sidor i dokumentet (inklusive infogade dokument)." #: src/properties.cpp:321 msgid "Fonts" msgstr "Teckensnitt" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" "Ett osorterat fält av teckensnitt som används i dokumentet (inklusive " "infogade dokument)." #: src/properties.cpp:322 msgid "Colorants" msgstr "Färgningar" #: src/properties.cpp:322 msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" "Ett sorterat vektor över rutor med färger som används i dokumentet " "(inklusive infogade dokument)." #: src/properties.cpp:323 msgid "Plate Names" msgstr "Plåtnamn" #: src/properties.cpp:323 msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" "Ett sorterat fält med plåtnamn som behövs för att skriva ut dokumentet " "(inklusive infogade dokument)." #: src/properties.cpp:329 src/properties.cpp:1285 msgid "Project Reference" msgstr "Projektreferens" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "En referens till projektet som skapade filen." #: src/properties.cpp:330 src/properties.cpp:1163 msgid "Video Frame Rate" msgstr "Videons bildfrekvens" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "Videons bildfrekvens. Antingen 24, NTSC, eller PAL." #: src/properties.cpp:331 src/properties.cpp:1164 msgid "Video Frame Size" msgstr "Videons bildstorlek" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "Bildstorleken. Ett exempel: w:720, h:480, unit:bildpunkter" #: src/properties.cpp:332 msgid "Video Pixel Aspect Ratio" msgstr "Videons bildpunktsproportioner" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "Bildproportionerna, angivna som höjd/bredd. Exempelvis ”648/720” = 0,9" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "Video Pixel Depth" msgstr "Videons bildpunktsdjup" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" "Storleken i bitar för varje färgkomponent i en bildpunkt. Windows 32-bitars " "standardbildpunkter har 8 bitar per komponent. Antingen 8Int, 16Int, 32Int, " "eller 32Float." #: src/properties.cpp:335 src/properties.cpp:1081 msgid "Video Color Space" msgstr "Videons färgrymd" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" "Färgrymden. Antingen sRGB (används av Photoshop), CCIR-601 (används till " "NTSC), CCIR-709 (används för HD)." #: src/properties.cpp:337 msgid "Video Alpha Mode" msgstr "Videons alfaläge" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "Alfaläget. Antingen straight eller pre-multiplied." #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "Videons alfa-premultiple-färg" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" "En färg i CMYK eller RGB att använda som pre-multipelfärgen när alfaläget är " "pre-multiplied." #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "Videons alfa-sammanhang är genomskinligt" #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "" "När satt till sant är sammanhanget klart; vid falskt är det ogenomskinligt." #: src/properties.cpp:341 msgid "Video Compressor" msgstr "Videokomprimerare" #: src/properties.cpp:341 msgid "Video compression used. For example, jpeg." msgstr "Videokomprimeringen som används. Till exempel jpeg." #: src/properties.cpp:342 msgid "Video Field Order" msgstr "Videons fältordning" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "Videons fältordning. Antingen Upper, Lower, eller Progressive." #: src/properties.cpp:343 msgid "Pull Down" msgstr "Dra ner" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" "Samplingsfasen i en film som ska konverteras till video (dra-ner). Antingen " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, eller WWSSW_24p." #: src/properties.cpp:345 src/properties.cpp:1425 msgid "Audio Sample Rate" msgstr "Ljudets samplingsfrekvens" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" "Ljudets samplingsfrekvens. Det kan vara vilket värde som helst, men " "vanligast är 32000, 41100, eller 48000." #: src/properties.cpp:346 src/properties.cpp:1426 msgid "Audio Sample Type" msgstr "Ljudets samplingstyp" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "Ljudets samplingstyp. Antingen 8Int, 16Int, 32Int, eller 32Float." #: src/properties.cpp:347 src/properties.cpp:1400 msgid "Audio Channel Type" msgstr "Ljudkanaltyp" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "Ljudkanaltyp. Antingen Mono, Stereo, 5.1, eller 7.1." #: src/properties.cpp:348 src/properties.cpp:1407 msgid "Audio Compressor" msgstr "Ljudkomprimerare" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "Ljudkomprimeringen som används. Ex. MP3." #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "Högtalarplacering" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" "En beskrivning av högtalarnas vinkling från centerhögtalaren i grader. " "Exempelvis ”Vänster = -30, Höger = 30, Center = 0, LFE = 45, Vänster " "surround = -110, Höger surround = 110”" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "File Data Rate" msgstr "Filens datahastighet" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "" "Filens datahastighet i megabyte per sekund. Exempelvis blir ”36/10” 3,6 MB/" "sek" #: src/properties.cpp:352 src/properties.cpp:1334 msgid "Tape Name" msgstr "Kassettnamn" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "" "Namnet på kassetten från vilket klippet togs, som angivet i fångstprocessen." #: src/properties.cpp:353 msgid "Alternative Tape Name" msgstr "Alternativt kassettnamn" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" "Ett alternativt kassettnamn, angivet i projektfönstret eller " "tidskodsdialogrutan i Premiere. Om ett alternativt namn har angivits och " "inte återkallats, visas det namnet." #: src/properties.cpp:355 msgid "Start Time Code" msgstr "Börja tidskod" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "Tidskoden för den första videoramen i filen, enligt enhetskontrollen." #: src/properties.cpp:356 msgid "Alternative Time code" msgstr "Alternativ tidskod" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" "En tidskod angiven av användaren. När den anges används den istället för " "startTimecode." #: src/properties.cpp:357 src/properties.cpp:1124 msgid "Duration" msgstr "Längd" #: src/properties.cpp:357 msgid "The duration of the media file." msgstr "Mediafilens längd." #: src/properties.cpp:358 msgid "Scene" msgstr "Scen" #: src/properties.cpp:358 msgid "The name of the scene." msgstr "Scenens namn." #: src/properties.cpp:359 msgid "Shot Name" msgstr "Bildnamn" #: src/properties.cpp:359 msgid "The name of the shot or take." msgstr "Namnet på bilden eller tagningen." #: src/properties.cpp:360 msgid "Shot Date" msgstr "Bilddatum" #: src/properties.cpp:360 msgid "The date and time when the video was shot." msgstr "Datum och tid då videon filmades." #: src/properties.cpp:361 msgid "Shot Location" msgstr "Bildplats" #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" "Namnet på platsen där videon filmades. T.ex. ”Oktoberfest, München, " "Tyskland”. För noggrannare positionering, använd Exifs GPS-värden." #: src/properties.cpp:363 msgid "Log Comment" msgstr "Loggkommentar" #: src/properties.cpp:363 msgid "User's log comments." msgstr "Användarens loggkommentarer." #: src/properties.cpp:364 msgid "Markers" msgstr "Markörer" #: src/properties.cpp:364 msgid "An ordered list of markers" msgstr "En sorterad lista över markörer" #: src/properties.cpp:365 msgid "Contributed Media" msgstr "Bidragen media" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "" "En osorterad lista över all media som användes för att skapa det här mediet." #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "Absolut ljudtoppsfilsökväg" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" "Den absoluta sökvägen till filens ljudtoppsfil. Om fältet är tomt finns " "ingen ljudtoppsfil." #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "Relativ ljudtoppsfilsökväg" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" "Den relativa sökvägen till filens ljudtoppsfil. Om fältet är tomt finns " "ingen ljudtoppsfil." #: src/properties.cpp:368 msgid "Video Modified Date" msgstr "Videons ändringsdatum" #: src/properties.cpp:368 msgid "The date and time when the video was last modified." msgstr "Datum och tid då videon senast ändrades." #: src/properties.cpp:369 msgid "Audio Modified Date" msgstr "Ljudets ändringsdatum" #: src/properties.cpp:369 msgid "The date and time when the audio was last modified." msgstr "Datum och tid då ljudet senast ändrades." #: src/properties.cpp:370 msgid "Metadata Modified Date" msgstr "Metadatans ändringsdatum" #: src/properties.cpp:370 msgid "The date and time when the metadata was last modified." msgstr "Datum och tid då metadatan senast modifierades." #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "Artist" #: src/properties.cpp:371 src/properties.cpp:1058 msgid "The name of the artist or artists." msgstr "Namnet på artist/-erna." #: src/properties.cpp:372 src/properties.cpp:1054 msgid "Album" msgstr "Album" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "The name of the album." msgstr "Namnet på albumet." #: src/properties.cpp:373 src/properties.cpp:1366 msgid "Track Number" msgstr "Spårnummer" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "" "Ett numeriskt värde som visar ordningen för ljudfilen inom dess ursprungliga " "inspelning." #: src/properties.cpp:374 src/properties.cpp:1166 msgid "Genre" msgstr "Genre" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "The name of the genre." msgstr "Namnet på genren." #: src/properties.cpp:375 msgid "The copyright information." msgstr "Upphovsrättsinformation." #: src/properties.cpp:376 msgid "The date the title was released." msgstr "Datumet då titeln släpptes." #: src/properties.cpp:377 src/properties.cpp:1086 msgid "Composer" msgstr "Kompositör" #: src/properties.cpp:377 msgid "The composer's name." msgstr "Kompositörens namn." #: src/properties.cpp:378 src/properties.cpp:1143 msgid "Engineer" msgstr "Tekniker" #: src/properties.cpp:378 msgid "The engineer's name." msgstr "Teknikerns namn." #: src/properties.cpp:379 msgid "Tempo" msgstr "Tempo" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "Ljudets tempo." #: src/properties.cpp:380 msgid "Instrument" msgstr "Instrument" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "Musikinstrumentet." #: src/properties.cpp:381 msgid "Intro Time" msgstr "Intro-tid" #: src/properties.cpp:381 msgid "The duration of lead time for queuing music." msgstr "Mängden inledningstid för kösättning av musik." #: src/properties.cpp:382 msgid "Out Cue" msgstr "Ut-vinkning" #: src/properties.cpp:382 msgid "The time at which to fade out." msgstr "Tiden då uttoning ska inledas." #: src/properties.cpp:383 msgid "Relative Timestamp" msgstr "Relativ tidsstämpel" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "Starttiden för mediet inom ljudprojektet." #: src/properties.cpp:384 msgid "Loop" msgstr "Upprepa" #: src/properties.cpp:384 msgid "When true, the clip can be looped seamlessly." msgstr "Om sant kan klippet upprepas utan avbrott." #: src/properties.cpp:385 msgid "Number Of Beats" msgstr "Slag per minut" #: src/properties.cpp:385 msgid "The number of beats." msgstr "Antal slag per minut." #: src/properties.cpp:386 msgid "Key" msgstr "Tonart" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "" "Ljudets musikaliska tonart. Antingen C, C#, D, D#, E, F, F#, G, G#, A, A#, " "eller B." #: src/properties.cpp:387 msgid "Stretch Mode" msgstr "Utsträckningsläge" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" "Ljudets utsträckningsläge. Antingen Fixed length, Time-Scale, Resample, Beat " "Splice eller Hybrid." #: src/properties.cpp:388 msgid "Time Scale Parameters" msgstr "Tidsskalningsparametrar" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "Ytterligare parametrar för utsträckningsläget Tidsskala." #: src/properties.cpp:389 msgid "Resample Parameters" msgstr "Omsamplingsparametrar" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "Ytterligare parametrar för utsträckningsläget Omsampling." #: src/properties.cpp:390 msgid "Beat Splice Parameters" msgstr "Tempojusteringsparametrar" #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "Ytterligare parametrar för utsträckningsläget Tempojustering." #: src/properties.cpp:391 msgid "Time Signature" msgstr "Taktart" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" "Musikens taktart. Antingen 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, 12/8, eller " "other." #: src/properties.cpp:392 msgid "Scale Type" msgstr "Skaltyp" #: src/properties.cpp:392 msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "" "Skalan som används i musiken. Antingen Major, Minor, Both eller Neither. " "Ingen används oftast för instrument utan associerad skala, som slagverk." #: src/properties.cpp:399 src/tags.cpp:1078 msgid "Camera Serial Number" msgstr "Kamerans serienummer" #: src/properties.cpp:399 msgid "Camera Serial Number." msgstr "Kamerans serienummer." #: src/properties.cpp:400 msgid "Date Acquired" msgstr "Anskaffningsdatum" #: src/properties.cpp:400 msgid "Date Acquired." msgstr "Anskaffningsdatum." #: src/properties.cpp:401 msgid "Flash Manufacturer" msgstr "Blixtens tillverkare" #: src/properties.cpp:401 msgid "Flash Manufacturer." msgstr "Blixtens tillverkare." #: src/properties.cpp:402 msgid "Flash Model." msgstr "Blixtens modell." #: src/properties.cpp:403 msgid "Last Keyword IPTC" msgstr "Senaste nyckelordet IPTC" #: src/properties.cpp:403 msgid "Last Keyword IPTC." msgstr "Senaste nyckelordet IPTC." #: src/properties.cpp:404 msgid "Last Keyword XMP" msgstr "Senaste nyckelordet XMP" #: src/properties.cpp:404 msgid "Last Keyword XMP." msgstr "Senaste nyckelordet XMP." #: src/properties.cpp:405 msgid "Lens Manufacturer" msgstr "Objektivtillverkare" #: src/properties.cpp:405 msgid "Lens Manufacturer." msgstr "Objektivtillverkare." #: src/properties.cpp:406 src/properties.cpp:1199 msgid "Lens Model." msgstr "Objektivmodell." #: src/properties.cpp:407 msgid "Rating Percent" msgstr "Betyg i procent" #: src/properties.cpp:407 msgid "Rating Percent." msgstr "Betyg i procent." #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "Hierarkiskt subjekt" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "Adobe Lightroom hierarkiska nyckelord." #: src/properties.cpp:414 msgid "Private RTK Info" msgstr "Privat RTK-info" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "Adobe Lightroom privat RTK-info." #: src/properties.cpp:420 msgid "Keywords." msgstr "Nyckelord." #: src/properties.cpp:421 msgid "PDF Version" msgstr "PDF-version" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "PDF-filversionen (till exempel 1.0, 1.3, och så vidare)." #: src/properties.cpp:422 src/properties.cpp:1278 msgid "Producer" msgstr "Producent" #: src/properties.cpp:422 msgid "The name of the tool that created the PDF document." msgstr "Namnet på verktyget som skapade PDF-dokumentet." #: src/properties.cpp:428 msgid "Authors Position" msgstr "Författarens position" #: src/properties.cpp:428 msgid "By-line title." msgstr "By-line-titel." #: src/properties.cpp:429 msgid "Caption Writer" msgstr "Skrivning av bildtext" #: src/properties.cpp:429 msgid "Writer/editor." msgstr "Skrivare/redigerare." #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "Kategori. Begränsad till tre sjubitars ASCII-tecken." #: src/properties.cpp:431 msgid "City." msgstr "Stad." #: src/properties.cpp:432 msgid "Country/primary location." msgstr "Land/primär plats." #: src/properties.cpp:433 msgid "Credit." msgstr "Tack till." #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" "Datum då dokumentets intellektuella innehåll skapades (istället för den " "fysiska representationens skapelsedatum), enligt IIMs konventioner. Ett foto " "som togs under till exempel det amerikanska inbördeskriget skulle få ett " "skapelsedatum från den epoken (1861-1865) istället för datumet då fotot " "digitaliserades för arkivering." #: src/properties.cpp:438 msgid "Headline." msgstr "Rubrik." #: src/properties.cpp:439 msgid "Special instructions." msgstr "Speciella instruktioner." #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source." msgstr "Källa." #: src/properties.cpp:441 msgid "Province/state." msgstr "Provins/stat." #: src/properties.cpp:442 msgid "Supplemental category." msgstr "Tilläggskategori." #: src/properties.cpp:443 msgid "Original transmission reference." msgstr "Referens till ursprunglig överföring." #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "Brådska. Giltigt intervall är 1-8." #: src/properties.cpp:452 msgid "inches" msgstr "tum" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "cm" #: src/properties.cpp:457 msgid "Auto Brightness" msgstr "Automatisk ljusstyrka" #: src/properties.cpp:457 msgid "When true, \"Brightness\" is automatically adjusted." msgstr "Om sant justeras ”Ljusstyrka” automatiskt." #: src/properties.cpp:458 msgid "Auto Contrast" msgstr "Automatisk kontrast" #: src/properties.cpp:458 msgid "When true, \"Contrast\" is automatically adjusted." msgstr "Om sant justeras ”Kontrast” automatiskt." #: src/properties.cpp:459 msgid "Auto Exposure" msgstr "Automatisk exponering" #: src/properties.cpp:459 msgid "When true, \"Exposure\" is automatically adjusted." msgstr "Om sant justeras ”Exponering” automatiskt." #: src/properties.cpp:460 msgid "Auto Shadows" msgstr "Automatiska skuggor" #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "Om sant justeras ”Skuggor” automatiskt." #: src/properties.cpp:461 msgid "Blue Hue" msgstr "Blå nyans" #: src/properties.cpp:461 msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "Inställningen för ”Blå nyans”. Intervall: -100 till +100." #: src/properties.cpp:462 msgid "Blue Saturation" msgstr "Blå färgmättnad" #: src/properties.cpp:462 msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "Inställningen för ”Blå färgmättnad”. Intervall: -100 till +100." #: src/properties.cpp:463 msgid "\"Brightness\" setting. Range 0 to +150." msgstr "Inställningen för ”Ljusstyrka”. Intervall: 0 till +150." #: src/properties.cpp:464 msgid "Camera Profile" msgstr "Kameraprofil" #: src/properties.cpp:464 msgid "\"Camera Profile\" setting." msgstr "Inställningen ”Kameraprofil”." #: src/properties.cpp:465 msgid "Chromatic Aberration Blue" msgstr "Kromatisk avvikelse, blå" #: src/properties.cpp:465 msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "" "Inställningen för ”Kromatisk avvikelse, justera blå/gul kant”. Intervall: " "-100 till +100." #: src/properties.cpp:466 msgid "Chromatic Aberration Red" msgstr "Kromatisk avvikelse, röd" #: src/properties.cpp:466 msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "" "Inställningen för ”Kromatisk avvikelse, justera röd/ljusblå kant”. " "Intervall: -100 till +100." #: src/properties.cpp:467 src/properties.cpp:1080 msgid "Color Noise Reduction" msgstr "Färgens brusreducering" #: src/properties.cpp:467 src/properties.cpp:1080 msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "Inställningen för ”Färgbrusreducering”. Intervall: 0 till +100." #: src/properties.cpp:468 msgid "\"Contrast\" setting. Range -50 to +100." msgstr "Inställningen ”Kontrast”. Intervall: -50 till +100." #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "När ”Har beskärning” är sant avses överkant av beskärningsrektangeln" #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "När ”Har beskärning” är sant avses överkant av beskärningsrektangeln." #: src/properties.cpp:471 msgid "Crop Bottom" msgstr "Beskär nederkant" #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "När ”Har beskärning” är sant avses nederkant av beskärningsrektangeln." #: src/properties.cpp:472 msgid "Crop Right" msgstr "Beskär höger" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "" "När ”Har beskärning” är sant avses höger kant av beskärningsrektangeln." #: src/properties.cpp:473 msgid "Crop Angle" msgstr "Beskärningsvinkel" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "När ”Har beskärning” är sant avses beskärningsrektangelns vinkling." #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "Bredd för den resulterande beskurna bilden i beskärningsenheter." #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "Höjd för den resulterande beskurna bilden i beskärningsenheter." #: src/properties.cpp:476 msgid "Crop Units" msgstr "Beskärningsenheter" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "" "Enheter för beskärningsbredd och beskärningshöjd. 0=bildpunkter, 1=tum, 2=cm" #: src/properties.cpp:477 msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "Inställningen ”Exponering”. Intervall: -4,0 till +4,0." #: src/properties.cpp:478 msgid "Green Hue" msgstr "Grön nyans" #: src/properties.cpp:478 msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "Inställningen ”Grön nyans”. Intervall: -100 till +100." #: src/properties.cpp:479 msgid "Green Saturation" msgstr "Grön färgmättnad" #: src/properties.cpp:479 msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "Inställningen ”Grön färgmättnad”. Intervall: -100 till +100." #: src/properties.cpp:480 msgid "Has Crop" msgstr "Har beskärning" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "Om sant har bilden en beskärningsrektangel." #: src/properties.cpp:481 msgid "Has Settings" msgstr "Har inställningar" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "Om sant används RAW-inställningar som inte är kamerans standard." #: src/properties.cpp:482 msgid "Luminance Smoothing" msgstr "Skenutjämning" #: src/properties.cpp:482 msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "Inställningen ”Skenutjämning”. Intervall: 0 till +100." #: src/properties.cpp:483 msgid "Raw File Name" msgstr "RAW-filens namn" #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "Filnamnet för RAW-filen (inte en sökväg)." #: src/properties.cpp:484 msgid "Red Hue" msgstr "Röd nyans" #: src/properties.cpp:484 msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "Inställningen ”Röd nyans”. Intervall: -100 till +100." #: src/properties.cpp:485 msgid "Red Saturation" msgstr "Röd färgmättnad" #: src/properties.cpp:485 msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "Inställningen ”Röd färgmättnad”. Intervall: -100 till +100." #: src/properties.cpp:486 msgid "\"Saturation\" setting. Range -100 to +100." msgstr "Inställningen ”Färgmättnad”. Intervall: -100 till +100." #: src/properties.cpp:487 msgid "Shadows" msgstr "Skuggor" #: src/properties.cpp:487 msgid "\"Shadows\" setting. Range 0 to +100." msgstr "Inställningen ”Skuggor”. Intervall: 0 till +100." #: src/properties.cpp:488 msgid "Shadow Tint" msgstr "Skuggans färgton" #: src/properties.cpp:488 msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "Inställningen ”Skuggans färgton”. Intervall: -100 till +100." #: src/properties.cpp:489 src/properties.cpp:1301 msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "Inställningen ”Skärpa”. Intervall: 0 till +100." #: src/properties.cpp:490 msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "Inställningen ”Temperatur”. Intervall: 2000 till 50000." #: src/properties.cpp:491 msgid "Tint" msgstr "Färgton" #: src/properties.cpp:491 msgid "\"Tint\" setting. Range -150 to +150." msgstr "Inställningen ”Färgton”. Intervall: -150 till +150." #: src/properties.cpp:492 msgid "Tone Curve" msgstr "Tonkurva" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "Ett fält med punkter (Heltal, Heltal) som definierar en ”Tonkurva”." #: src/properties.cpp:493 msgid "Tone Curve Name" msgstr "Tonkurvans namn" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" "Namnet på Tonkurvan som beskrivs i Tonkurva. Antingen Linear, Medium " "Contrast, Strong Contrast, Custom eller ett användardefinierat förval." #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "Versionen av kamerans RAW-instick." #: src/properties.cpp:496 msgid "Vignette Amount" msgstr "Vinjettmängd" #: src/properties.cpp:496 msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "Inställningen ”Vinjettmängd”. Intervall: -100 till +100." #: src/properties.cpp:497 msgid "Vignette Midpoint" msgstr "Vinjettens mittpunkt" #: src/properties.cpp:497 msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "Inställningen ”Vinjettens mittpunkt”. Intervall: 0 till +100." #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" "Inställningen ”Vitbalans”. Antingen: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash eller Custom" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "TIFF-tagg 256, 0x100. Bildbredd i bildpunkter." #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 msgid "Image Length" msgstr "Bildlängd" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "TIFF-tagg 257, 0x101. Bildhöjd i bildpunkter." #: src/properties.cpp:507 msgid "Bits Per Sample" msgstr "Bitar per sampling" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "TIFF-tagg 258, 0x102. Antal bitar per komponent i varje kanal." #: src/properties.cpp:508 src/tags.cpp:434 msgid "Compression" msgstr "Komprimering" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "TIFF-tagg 259, 0x103. Komprimeringsmetod: 1 = okomprimerad; 6 = JPEG." #: src/properties.cpp:509 src/tags.cpp:440 msgid "Photometric Interpretation" msgstr "Fotometrisk tolkning" #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "TIFF-tagg 262, 0x106. Bildpunktssammansättning: 2 = RGB; 6 = YCbCr." #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" "TIFF-tagg 274, 0x112. Orientering: 1 = 0:te raden längst upp, 0:te kolumnen " "till vänster; 2 = 0:te raden längst upp, 0:te kolumnen till höger; 3 = 0:te " "raden längst ner, 0:te kolumnen till höger; 4 = 0:te raden längst ner, 0:te " "kolumnen till vänster; 5 = 0:te raden till vänster, 0:te kolumnen längst " "upp; 6 = 0:te raden till höger, 0:te kolumnen längst upp; 7 = 0:te raden " "till höger, 0:te kolumnen längst ner; 8 = 0:te raden till vänster, 0:te " "kolumnen längst ner" #: src/properties.cpp:519 msgid "Samples Per Pixel" msgstr "Samplingar per bildpunkt" #: src/properties.cpp:519 msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "TIFF-tagg 277, 0x115. Antal komponenter per bildpunkt." #: src/properties.cpp:520 src/tags.cpp:514 msgid "Planar Configuration" msgstr "Planär inställning" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "TIFF-tagg 284, 0x11C. Datalayout: 1 = block; 2 = plan." #: src/properties.cpp:521 msgid "YCbCr Sub Sampling" msgstr "YCbCr delsampling" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" "TIFF-tagg 530, 0x212. Samplingsproportion för krominanskomponenter: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" #: src/properties.cpp:523 src/tags.cpp:720 msgid "YCbCr Positioning" msgstr "YCbCr-positionering" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" "TIFF-tagg 531, 0x213. Positionering av krominans- i förhållande till " "luminanskomponenter: 1 = centrerade; 2 = sida vid sida." #: src/properties.cpp:525 src/properties.cpp:1390 msgid "X Resolution" msgstr "X-upplösning" #: src/properties.cpp:525 msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "TIFF-tagg 282, 0x11A. Horisontell upplösning i bildpunkter per enhet." #: src/properties.cpp:526 src/properties.cpp:1392 msgid "Y Resolution" msgstr "Y-upplösning" #: src/properties.cpp:526 msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "TIFF-tagg 283, 0x11B. Vertikal upplösning i bildpunkter per enhet." #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 msgid "Resolution Unit" msgstr "Upplösningsenhet" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" "TIFF-tagg 296, 0x128. Enhet att använda för XResolution och YResolution. " "Värdet är antingen 2 (tum) eller 3 (centimeter)." #: src/properties.cpp:529 src/tags.cpp:540 msgid "Transfer Function" msgstr "Överföringsfunktion" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" "TIFF-tagg 301, 0x12D. Överföringsfunktion för bilden, beskriven i tabulär " "stil med 3 st. 256-poster." #: src/properties.cpp:531 src/tags.cpp:572 msgid "White Point" msgstr "Vitpunkt" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "TIFF-tagg 318, 0x13E. Vitpunktens kromaticitet." #: src/properties.cpp:532 src/tags.cpp:577 msgid "Primary Chromaticities" msgstr "Primära kromaticiteter" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "TIFF-tagg 319, 0x13F. Kromaticitet för de tre primärfärgerna." #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "" "TIFF-tagg 529, 0x211. Matriskoefficienter för transformering från RGB till " "YCbCr." #: src/properties.cpp:534 msgid "Reference Black White" msgstr "Svartvit referens" #: src/properties.cpp:534 msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "TIFF-tagg 532, 0x214. Referensvärden för svart- och vitpunkter." #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 msgid "Date and Time" msgstr "Datum och tid" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" "TIFF-tagg 306, 0x132 (primär) och Exif-tagg 37520, 0x9290 (delsekunder). " "Datum och tid för skapande av bild (ingen tidszon i Exif), lagrad i ISO 8601-" "format, inte det ursprungliga Exif-formatet. Den här egenskapen inkluderar " "värdet för Exifs SubSecTime-attribut. OBS: Egenskapen lagras i XMP som xmp:" "ModifyDate." #: src/properties.cpp:541 src/tags.cpp:462 msgid "Image Description" msgstr "Bildbeskrivning" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" "TIFF-tagg 270, 0x10E. Bildbeskrivning. OBS: Egenskapen lagras i XMP som dc:" "description." #: src/properties.cpp:542 msgid "Make" msgstr "Skapa" #: src/properties.cpp:542 msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "TIFF-tagg 271, 0x10F. Inspelningsutrustningens tillverkare." #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "TIFF-tagg 272, 0x110. Modellnamn eller utrustningens nummer." #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" "TIFF-tagg 305, 0x131. Mjukvara eller firmware som användes för att skapa " "bilden. OBS: Egenskapen lagras i XMP som xmp:CreatorTool. " #: src/properties.cpp:546 msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" "TIFF-tagg 315, 0x13B. Kamerans ägare, fotograf, eller bildens skapare. OBS: " "Egenskapen lagras i XMP som den första posten i dc:creator-fältet." #: src/properties.cpp:548 msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" "TIFF-tagg 33432, 0x8298. Upphovsrättsinformation. OBS: Egenskapen lagras i " "XMP som dc:rights." #: src/properties.cpp:555 src/tags.cpp:1605 msgid "Exif Version" msgstr "Exif-version" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "Exif-tagg 36864, 0x9000. Exif-versionsnummer." #: src/properties.cpp:556 msgid "Flashpix Version" msgstr "FlashPix-version" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "Exif-tagg 40960, 0xA000. Version av FlashPix." #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "Exif-tagg 40961, 0xA001. Information om färgrymd" #: src/properties.cpp:558 src/tags.cpp:1616 msgid "Components Configuration" msgstr "Komponentinställningar" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" "Exif-tagg 37121, 0x9101. Inställning av komponenter i data: 4 5 6 0 " "(komprimerad RGB-data), 1 2 3 0 (övriga)." #: src/properties.cpp:560 src/tags.cpp:825 msgid "Compressed Bits Per Pixel" msgstr "Komprimerade bitar per bildpunkt" #: src/properties.cpp:560 msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" "Exif-tagg 37122, 0x9102. Komprimeringsläge som används för en komprimerad " "bild visas i enheten bitar per bildpunkt (pixel)." #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "Bildpunktdimension, x" #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "Exif-tagg 40962, 0xA002. Giltig bildbredd, i bildpunkter." #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "Bildpunktsdimension, y" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "Exif-tagg 40963, 0xA003. Giltig bildhöjd, i bildpunkter." #: src/properties.cpp:564 src/tags.cpp:1674 msgid "User Comment" msgstr "Användarkommentar" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "Exif-tagg 37510, 0x9286. Kommentarer från användaren." #: src/properties.cpp:565 src/tags.cpp:1716 msgid "Related Sound File" msgstr "Relaterad ljudfil" #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" "Exif-tagg 40964, 0xA004. Ett filnamn med längden 8.3 för den relaterade " "ljudfilen." #: src/properties.cpp:566 src/properties.cpp:1110 msgid "Date and Time Original" msgstr "Ursprungligt datum och tid" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" "Exif-tagg 36867, 0x9003 (primär) och 37521, 0x9291 (delsekunder). Datum och " "tid då den ursprungliga bilden skapades, i ISO 8601-format. Inkluderar Exifs " "SubSecTimeOriginal-data." #: src/properties.cpp:569 src/properties.cpp:1111 msgid "Date and Time Digitized" msgstr "Datum och tid för digitalisering" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" "Exif-tagg 36868, 0x9004 (primär) och 37522, 0x9292 (delsekunder). Datum och " "tid då bilden lagrades som digital data. Kan vara samma som DateTimeOriginal " "om den lagrades digitalt från början. Lagras i ISO 8601-format. Inkluderar " "Exifs SubSecTimeDigitized-data." #: src/properties.cpp:573 msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "Exif-tagg 33434, 0x829A. Exponeringstid i sekunder." #: src/properties.cpp:574 src/properties.cpp:1157 msgid "F Number" msgstr "F-nummer" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "Exif-tagg 33437, 0x829D. F-nummer." #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "Exif-tagg 34850, 0x8822. Programklass använt för exponering." #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 msgid "Spectral Sensitivity" msgstr "Spektral känslighet" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "Exif-tagg 34852, 0x8824. Spektral känslighet för varje kanal." #: src/properties.cpp:577 msgid "ISOSpeedRatings" msgstr "ISO-hastighetsgränser" #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" "Exif-tagg 34855, 0x8827. ISO-hastighet och ISO-latitud för inmatningsenheten " "enligt specifikationerna i ISO 12232." #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "OECF" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" "Exif-tagg 34856, 0x8828. Opto-elektronisk konverteringsfunktion enligt " "specifikationerna i ISO 14524." #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" "Exif-tagg 37377, 0x9201. Slutarhastighet i enheten APEX. Se Annex C i Exif-" "specifikationerna." #: src/properties.cpp:581 msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "Exif-tagg 37378, 0x9202. Objektivöppning i enheten APEX." #: src/properties.cpp:582 src/tags.cpp:828 msgid "Brightness Value" msgstr "Ljusstyrkenivå" #: src/properties.cpp:582 msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "Exif-tagg 37379, 0x9203. Ljusstyrka i enheten APEX." #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "Exif-tagg 37380, 0x9204. Exponeringsprioritet i enheten APEX." #: src/properties.cpp:584 src/properties.cpp:1211 msgid "Maximum Aperture Value" msgstr "Maximalt bländarvärde" #: src/properties.cpp:584 msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "Exif-tagg 37381, 0x9205. Objektivets minsta F-nummer i enheten APEX." #: src/properties.cpp:585 msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "Exif-tagg 37382, 0x9206. Avstånd till motiv i meter." #: src/properties.cpp:586 msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "Exif-tagg 37383, 0x9207. Mätningsläge." #: src/properties.cpp:587 msgid "EXIF tag 37384, 0x9208. Light source." msgstr "Exif-tagg 37384, 0x9208. Ljuskälla." #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "Exif-tagg 37385, 0x9209. Källdata för stroboskopljus (blixt)." #: src/properties.cpp:589 msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "Exif-tagg 37386, 0x920A. Objektivets brännvidd i millimeter." #: src/properties.cpp:590 src/tags.cpp:1666 msgid "Subject Area" msgstr "Motivområde" #: src/properties.cpp:590 msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" "Exif-tagg 37396, 0x9214. Positionen och ytan för det huvudsakliga motivet i " "scenen." #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 msgid "Flash Energy" msgstr "Blixtenergi" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "Exif-tagg 41483, 0xA20B. Stroboskopets energi vid bildfångst." #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "Spatialfrekvenssvar" #: src/properties.cpp:592 msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" "Exif-tagg 41484, 0xA20C. Inmatningsenhetens spatiella frekvenstabell och SFS-" "värden enligt specifikationerna i ISO 12233." #: src/properties.cpp:594 src/tags.cpp:839 msgid "Focal Plane X Resolution" msgstr "Fokalplanets x-upplösning" #: src/properties.cpp:594 msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "" "Exif-tagg 41486, 0xA20E. Horisontell brännviddsupplösning, mätt i " "bildpunkter per enhet." #: src/properties.cpp:595 src/tags.cpp:840 msgid "Focal Plane Y Resolution" msgstr "Brännvidd y-upplösning" #: src/properties.cpp:595 msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "" "Exif-tagg 41487, 0xA20F. Vertikal brännviddsupplösning, mätt i bildpunkter " "per enhet." #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 msgid "Focal Plane Resolution Unit" msgstr "Brännviddens upplösningsenhet" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" "Exif-tagg 41488, 0xA210. Enhet att använda för FocalPlaneXResolution och " "FocalPlaneYResolution." #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 msgid "Subject Location" msgstr "Motivets plats" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" "Exif-tagg 41492, 0xA214. Platsen för det huvudsakliga motivet i scenen. Det " "första värdet är den horisontella bildpunkten och det andra värdet är den " "vertikala där det huvudsakliga motivet visas." #: src/properties.cpp:600 src/tags.cpp:846 msgid "Exposure Index" msgstr "Exponeringsindex" #: src/properties.cpp:600 msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "Exif-tagg 41493, 0xA215. Exponeringsindex för inmatningsenheten." #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 msgid "Sensing Method" msgstr "Avkänningsmetod" #: src/properties.cpp:601 msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "Exif-tagg 41495, 0xA217. Bildsensortyp i inmatningsenheten." #: src/properties.cpp:602 msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "Exif-tagg 41728, 0xA300. Visar bildkällan." #: src/properties.cpp:603 src/tags.cpp:1771 msgid "Scene Type" msgstr "Scentyp" #: src/properties.cpp:603 msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "Exif-tagg 41729, 0xA301. Visar scenens typ." #: src/properties.cpp:604 src/tags.cpp:761 msgid "CFA Pattern" msgstr "CFA-mönster (FFF)" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" "Exif-tagg 41730, 0xA302. Färgfilterfältets geometriska mönster i " "bildavkänningen." #: src/properties.cpp:605 src/tags.cpp:1781 msgid "Custom Rendered" msgstr "Renderat på anpassat sätt" #: src/properties.cpp:605 msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "" "Exif-tagg 41985, 0xA401. Visar att en speciell behandling har utförts på " "bilddatan." #: src/properties.cpp:606 msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "" "Exif-tagg 41986, 0xA402. Visar vilket exponeringsläge som var inställt när " "bilden togs." #: src/properties.cpp:607 msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "" "Exif-tagg 41987, 0xA403. Visar vilket vitbalansläge användes när bilden togs." #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 msgid "Digital Zoom Ratio" msgstr "Digital zoom" #: src/properties.cpp:608 msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "" "Exif-tagg 41988, 0xA404. Visar hur stor digital zoom användes när bilden " "togs." #: src/properties.cpp:609 src/tags.cpp:1800 msgid "Focal Length In 35mm Film" msgstr "Brännvidd i 35 mm-film" #: src/properties.cpp:609 msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" "Exif-tagg 41989, 0xA405. Visar motsvarande brännvidd om det hade varit en 35 " "mm-filmkamera, i mm. Värdet 0 betyder att brännvidden är okänd. Observera " "att den här taggen skiljer sig från taggen brännvidd." #: src/properties.cpp:612 src/tags.cpp:1806 msgid "Scene Capture Type" msgstr "Typ av scenfångst" #: src/properties.cpp:612 msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "Exif-tagg 41990, 0xA406. Visar vilken typ av scen som fotograferades." #: src/properties.cpp:613 src/tags.cpp:1811 msgid "Gain Control" msgstr "Förstärkningskontroll" #: src/properties.cpp:613 msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "" "Exif-tagg 41991, 0xA407. Visar omfattningen av bildomfattande förstärkning." #: src/properties.cpp:614 msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" "Exif-tagg 41992, 0xA408. Visar riktningen av kontrastbehandlingen som " "tillämpats av kameran." #: src/properties.cpp:615 msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" "Exif-tagg 41993, 0xA409. Visar riktningen av färgmättnadsbehandlingen som " "tillämpats av kameran." #: src/properties.cpp:616 msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" "Exif-tagg 41994, 0xA40A. Visar riktningen för skärpabehandlingen som " "tillämpats av kameran." #: src/properties.cpp:617 src/tags.cpp:1826 msgid "Device Setting Description" msgstr "Enhetsinställningsbeskrivning" #: src/properties.cpp:617 msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" "Exif-tagg 41995, 0xA40B. Visar information om fotograferingsförhållandena " "hos en viss kameramodell." #: src/properties.cpp:618 src/tags.cpp:1831 msgid "Subject Distance Range" msgstr "Motivets avståndsintervall" #: src/properties.cpp:618 msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "Exif-tagg 41996, 0xA40C. Visar avstånd till motivet." #: src/properties.cpp:619 src/tags.cpp:1834 msgid "Image Unique ID" msgstr "Bildens unika ID" #: src/properties.cpp:619 msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" "Exif-tagg 42016, 0xA420. En unik identifierare som tilldelas varje bild. Den " "lagras som en ASCII-sträng om 32 tecken, motsvarande hexadecimal notering " "och 128-bitars fixerad längd." #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 msgid "GPS Version ID" msgstr "GPS-versions-ID" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" "GPS-tagg 0, 0x00. En decimal kodning för alla fyra Exif-byte, åtskilda med " "punkter. Nuvarande värde är ”2.0.0.0”." #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "GPS-latitud" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "GPS-tagg 2, 0x02 (position) och 1 0x01 (nord/syd). Visar latitud." #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "GPS-longitud" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "GPS-tagg 4, 0x04 (position) och 3, 0x03 (öst/väst). Visar longitud." #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 msgid "GPS Altitude Reference" msgstr "GPS-höjdreferens" #: src/properties.cpp:625 src/properties.cpp:1168 msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "GPS-tagg 5, 0x05. Visar om höjden är ovan eller under havsnivån." #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "GPS-höjd" #: src/properties.cpp:626 src/properties.cpp:1167 msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "GPS-tagg 6, 0x06. Visar höjd i meter." #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 msgid "GPS Time Stamp" msgstr "GPS-tidsstämpel" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" "GPS-tagg 29 (datum), 0x1D, och GPS-tagg 7 (tid), 0x07. Tidsstämpeln för GPS-" "data, i Universal Time Coordinated. OBS: Taggen GPSDateStamp är ny för Exif " "2.2. GPS-tidsstämpeln i Exif 2.1 inkluderar inget datum. Om det inte finns " "till, bör datumkomponenten för XMP läsas från exif:DateTimeOriginal, eller, " "om den också saknas, från exif:DateTimeDigitized. Om inget datum finns " "tillgängligt, skriv inte exif:GPSTimeStamp till XMP." #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 msgid "GPS Satellites" msgstr "GPS-satelliter" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "GPS-tagg 8, 0x08. Satellitinformation, ospecificerat format." #: src/properties.cpp:634 src/tags.cpp:1989 msgid "GPS Status" msgstr "GPS-tillstånd" #: src/properties.cpp:634 msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "GPS-tagg 9, 0x09. GPS-mottagarens tillstånd då bilden skapades." #: src/properties.cpp:635 src/tags.cpp:1994 msgid "GPS Measure Mode" msgstr "GPS-mätningsläge" #: src/properties.cpp:635 msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "GPS-tagg 10, 0x0A. GPS-mätningsläge, Text-typ." #: src/properties.cpp:636 msgid "GPS DOP" msgstr "GPS DOP" #: src/properties.cpp:636 msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "GPS-tagg 11, 0x0B. GPS-datans precision." #: src/properties.cpp:637 src/tags.cpp:2002 msgid "GPS Speed Reference" msgstr "GPS-hastighetreferens" #: src/properties.cpp:637 msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "GPS-tagg 12, 0x0C. Enheter som används för att mäta hastighet." #: src/properties.cpp:638 src/tags.cpp:2006 msgid "GPS Speed" msgstr "GPS-hastighet" #: src/properties.cpp:638 msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "GPS-tagg 13, 0x0D. Hastigheten GPS-mottagaren rör sig med." #: src/properties.cpp:639 msgid "GPS Track Reference" msgstr "GPS-spårningsreferens" #: src/properties.cpp:639 msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "GPS-tagg 14, 0x0E. Referens för rörelsens riktning." #: src/properties.cpp:640 src/tags.cpp:2013 msgid "GPS Track" msgstr "GPS-spårning" #: src/properties.cpp:640 msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" "GPS-tagg 15, 0x0F. Riktning för GPS-rörelse; värden i intervallet 0 till " "359,99." #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 msgid "GPS Image Direction Reference" msgstr "GPS-bildriktningsreferens" #: src/properties.cpp:641 msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "GPS-tagg 16, 0x10. Referens för bildens riktning." #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 msgid "GPS Image Direction" msgstr "GPS-bildriktning" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" "GPS-tagg 17, 0x11. Riktning för bilden vid fångst; värden från 0 till 359,99." #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 msgid "GPS Map Datum" msgstr "GPS-kartans datum" #: src/properties.cpp:643 msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "GPS-tagg 18, 0x12. Geodetiskt mätningsdata." #: src/properties.cpp:644 src/tags.cpp:2033 msgid "GPS Destination Latitude" msgstr "GPS, destinationens latitud" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" "GPS-tagg 20, 0x14 (position) och 19, 0x13 (nord/syd). Visar destinationens " "latitud." #: src/properties.cpp:645 src/tags.cpp:2045 msgid "GPS Destination Longitude" msgstr "GPS, destinationens longitud" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" "GPS-tagg 22, 0x16 (position) och 21, 0x15 (öst/väst). Visar destinationens " "longitud." #: src/properties.cpp:646 src/tags.cpp:2052 msgid "GPS Destination Bearing Reference" msgstr "GPS, destinationens bäringsreferens" #: src/properties.cpp:646 msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "GPS-tagg 23, 0x17. Referens för rörelsens riktning." #: src/properties.cpp:647 src/tags.cpp:2056 msgid "GPS Destination Bearing" msgstr "GPS, destinationens bäring" #: src/properties.cpp:647 msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "GPS-tagg 24, 0x18. Destinationens bäring; värden från 0 till 359,99." #: src/properties.cpp:648 src/tags.cpp:2060 msgid "GPS Destination Distance Reference" msgstr "GPS destinationsavståndsreferens" #: src/properties.cpp:648 msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "GPS-tagg 25, 0x19. Enheter som används för hastighetsmätning." #: src/properties.cpp:649 src/tags.cpp:2064 msgid "GPS Destination Distance" msgstr "GPS, avstånd till destination" #: src/properties.cpp:649 msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "GPS-tagg 26, 0x1A. Avstånd till destinationen." #: src/properties.cpp:650 src/tags.cpp:2067 msgid "GPS Processing Method" msgstr "GPS-behandlingsmetod" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" "GPS-tagg 27, 0x1B. En teckensträng som visar namnet på metoden som användes " "för att hitta platsen." #: src/properties.cpp:651 src/tags.cpp:2072 msgid "GPS Area Information" msgstr "GPS-områdesinformation" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "GPS-tagg 28, 0x1C. En teckensträng som visar namnet på GPS-området." #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "GPS-differential" #: src/properties.cpp:652 msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "" "GPS-tagg 30, 0x1E. Visar om differentialkorrektion har tillämpats på GPS-" "mottagaren." #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "" "En beskrivning av objektivet som användes för att ta bilden. Exempel: " "”70-200 mm f/2,8-4,0”." #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "" "Serienumret för kameran eller kamerachassit som användes för att ta bilden." #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "Skaparens kontaktinfo" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" "Skaparens kontaktinformation ger all nödvändig information för att komma i " "kontakt med skaparen av det här nyhetsobjektet och utgör en samling " "delegenskaper för lämplig adressering." #: src/properties.cpp:667 msgid "Contact Info-Address" msgstr "Kontaktinfo-Adress" #: src/properties.cpp:667 msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" "undernyckel av skaparens kontaktinfo: adress. Omfattar ett valfritt " "företagsnamn och all nödvändig information för att hitta byggnaden eller " "brevlådan dit all post ska skickas." #: src/properties.cpp:669 msgid "Contact Info-City" msgstr "Kontaktinfo-Stad" #: src/properties.cpp:669 msgid "sub-key Creator Contact Info: city." msgstr "undernyckel av skaparens kontaktinfo: stad." #: src/properties.cpp:670 msgid "Contact Info-State/Province" msgstr "Kontaktinfo-Stat/provins" #: src/properties.cpp:670 msgid "sub-key Creator Contact Info: state or province." msgstr "undernyckel av skaparens kontaktinfo: stat/provins." #: src/properties.cpp:671 msgid "Contact Info-Postal Code" msgstr "Kontaktinfo-Postnummer" #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "undernyckel av skaparens kontaktinfo: lokal postkod." #: src/properties.cpp:672 msgid "Contact Info-Country" msgstr "Kontaktinfo-Land" #: src/properties.cpp:672 msgid "sub-key Creator Contact Info: country." msgstr "undernyckel av skaparens kontaktinfo: Land." #: src/properties.cpp:673 msgid "Contact Info-Email" msgstr "Kontaktinfo-E-post" #: src/properties.cpp:673 msgid "sub-key Creator Contact Info: email address." msgstr "undernyckel av skaparens kontaktinfo: e-postadress." #: src/properties.cpp:674 msgid "Contact Info-Phone" msgstr "Kontaktinfo-Telefon" #: src/properties.cpp:674 msgid "sub-key Creator Contact Info: phone number." msgstr "undernyckel av skaparens kontaktinfo: telefon." #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "Kontaktinfo-Webbsida" #: src/properties.cpp:675 msgid "sub-key Creator Contact Info: web address." msgstr "undernyckel av skaparens kontaktinfo: webbadress." #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "Intellektuell genre" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" "Beskriver naturen, de intellektuella eller journalistiska karaktärerna av " "ett nyhetsobjekt, inte nödvändigtvis dess innehåll." #: src/properties.cpp:678 msgid "IPTC Scene" msgstr "IPTC-scen" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" "Beskriver scenen i ett fotos innehåll. Anger en eller flera termer från " "IPTCs ”Scene-NewsCodes”. Varje scen representeras som en sträng om 6 siffror " "i en osorterad lista." #: src/properties.cpp:680 msgid "IPTC Subject Code" msgstr "IPTC-motivkod" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" "Anger en eller flera motiv från IPTCs ”Subject-NewsCodes”-klassificering för " "att kategorisera innehållet. Varje motiv representeras som en sträng om åtta " "siffror i en osorterad lista." #: src/properties.cpp:682 msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" "(föråldrad) Namnet på en plats innehållet fokuserar på - antingen platsen " "som visas i visuell media eller som den som hänvisas i text- eller " "ljudmedia. Platsens namn kan antingen vara en delplats i en stad eller " "namnet på en välkänd plats eller (natur-) monument utanför en stad. I " "sammanhanget delplats i en stad är det här elementet på den fjärde nivån i " "en vertikal geografisk hierarki." #: src/properties.cpp:687 msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" "(föråldrad) Koden för landet innehållet fokuserar på - antingen landet som " "visas i visuella media eller som hänvisas till i text- eller ljudmedia. Det " "här elementet är längst upp/första nivån i en vertikal geografisk hierarki. " "Landskoden bör hämtas bland ISO 3166s två- eller trebokstavskoder. Landets " "hela namn hör hemma i ”Land”-elementet." #: src/properties.cpp:696 msgid "Additional model info" msgstr "Ytterligare modellinformation" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" "Information om den etniska tillhörigheten och andra fakta om modellen/-erna " "i en publicerad bild." #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "Kod för visad organisation" #: src/properties.cpp:697 msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "" "Kod från ett kontrollerat vokabulär för att identifiera organisationen eller " "företaget som visas i bilden." #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "Kontrollerad term" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" "En term som beskriver bildens innehåll med ett värde ur en kontrollerad " "vokabulär." #: src/properties.cpp:699 msgid "Model age" msgstr "Modellens ålder" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "" "Åldern för den mänskliga modellen/-erna då bilden togs i en publicerad bild." #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "Namn för visad organisation" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "Namnet på organisationen eller företaget som visas i bilden." #: src/properties.cpp:701 msgid "Person shown" msgstr "Visad person" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "Namn på personen som visas i bilden." #: src/properties.cpp:702 msgid "Digital Image Identifier" msgstr "Digital bildidentifierare" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" "En globalt unik identifierare för den här digitala bilden. Den skapas och " "tillämpas av skaparen av den digitala bilden då bilden skapas. Värdet ska " "inte ändras efteråt." #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "Originalfotots fysiska typ" #: src/properties.cpp:703 msgid "The type of the source digital file." msgstr "Den digitala filens källtyp." #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 msgid "Event" msgstr "Händelse" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "Namn eller beskrivning av den specifika händelse där bilden togs." #: src/properties.cpp:705 msgid "Maximum available height" msgstr "Högsta möjliga höjd" #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" "Högsta möjliga höjd i bildpunkter för originalfotot från vilket det här " "fotot har skapats genom att minska storleken." #: src/properties.cpp:706 msgid "Maximum available width" msgstr "Högsta möjliga bredd" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" "Högsta möjliga bredd i bildpunkter för originalfotot från vilket det här " "fotot har skapats genom att minska storleken." #: src/properties.cpp:707 msgid "Registry Entry" msgstr "Registerpost" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" "Både en registerobjekt-ID och en registerorganisations-ID för att bokföra " "all registrering för den här digitala bilden med ett register." #: src/properties.cpp:708 msgid "Registry Entry-Item Identifier" msgstr "Registerpost-objektsidentifierare" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" "En unik identifierare som skapas av ett register och tillämpas av " "digitalbildens skapare. Värdet ska inte ändras efter att det tillämpats. Den " "här identifieraren är länkad till en motsvarande " "registerorganisationsidentifierare." #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "Registerpost-organisationsidentifierare" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" "En identifierare för registret som utfärdade motsvarande registerbilds-ID." #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "IPTC-fält som senast ändrades" #: src/properties.cpp:710 msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "" "Datum och, valfritt, tid då någon av fotots IPTC-metadatafält senast " "redigerades." #: src/properties.cpp:711 msgid "Location shown" msgstr "Visad plats" #: src/properties.cpp:711 msgid "A location shown in the image." msgstr "En plats som visas i bilden." #: src/properties.cpp:712 msgid "Location Created" msgstr "Skapelseplats" #: src/properties.cpp:712 msgid "The location the photo was taken." msgstr "Platsen där bilden togs." #: src/properties.cpp:713 msgid "Location-City" msgstr "Plats-stad" #: src/properties.cpp:713 msgid "Name of the city of a location." msgstr "Namnet på staden för en plats." #: src/properties.cpp:714 msgid "Location-Country ISO-Code" msgstr "Plats-landets ISO-kod" #: src/properties.cpp:714 msgid "The ISO code of a country of a location." msgstr "ISO-koden för landet där bilden togs." #: src/properties.cpp:715 msgid "Location-Country Name" msgstr "Plats-landets namn" #: src/properties.cpp:715 msgid "The name of a country of a location." msgstr "Namnet på landet där bilden togs." #: src/properties.cpp:716 msgid "Location-Province/State" msgstr "Plats-Provins/stat" #: src/properties.cpp:716 msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "Namnet på ett lands delregion - en provins, ett län - där bilden togs." #: src/properties.cpp:717 msgid "Location-Sublocation" msgstr "Plats-delplats" #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" "Namn på en delplats. Delplatsens namn kan antingen vara namnet på en " "delplats i en stad, eller namnet på en välkänd plats eller (natur-) monument " "utanför en stad." #: src/properties.cpp:718 msgid "Location-World Region" msgstr "Plats-världsregion" #: src/properties.cpp:718 msgid "The name of a world region of a location." msgstr "Namnet den världsdel där bilden togs." #: src/properties.cpp:719 msgid "Artwork or object in the image" msgstr "Konstverk eller -objekt i bild" #: src/properties.cpp:719 msgid "A set of metadata about artwork or an object in the image." msgstr "En uppsättning metadata om ett konstverk eller objekt i bilden." #: src/properties.cpp:720 msgid "Artwork or object-Copyright notice" msgstr "Konstverk eller objekt-Upphovsrätt" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" "Innehåller all nödvändig upphovsrättsinformation för åberopande av " "intellektuell äganderätt för ett konstverk eller ett objekt i bilden och bör " "identifiera den nuvarande ägaren av upphovsrätten för verket med tillhörande " "intellektuell upphovsrätt." #: src/properties.cpp:721 msgid "Artwork or object-Creator" msgstr "Konstverk eller objekt-skapare" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" "Innehåller namnet på den konstnär som skapade konstverket eller objektet i " "bilden. I de fall då artisten inte kan eller bör identifieras kan namnet på " "ett företag eller organisation vara passande." #: src/properties.cpp:722 msgid "Artwork or object-Date Created" msgstr "Konstverk eller objekt-skapelsedatum" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" "Anger datumet och, om man vill, tidpunkten då konstverket eller objektet i " "bilden skapades. Det här relaterar till konstverket eller objektet med " "tillhörande intellektuell äganderätt." #: src/properties.cpp:723 msgid "Artwork or object-Source" msgstr "Konstverk eller objekt-källa" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" "Organisationen eller ägaren som innehar och registrerar konstverket eller " "objektet i bilden för sitt inventarium." #: src/properties.cpp:724 msgid "Artwork or object-Source inventory number" msgstr "Konstverk eller objekt-källans inventarienummer" #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" "Inventarienumret som utfärdats av organisationen eller ägaren som innehar " "och registrerar konstverket eller objektet i bilden." #: src/properties.cpp:725 msgid "Artwork or object-Title" msgstr "Konstverk eller objekt-Titel" #: src/properties.cpp:725 msgid "A reference for the artwork or object in the image." msgstr "En referens till konstverket eller objektet i bilden." #: src/properties.cpp:732 msgid "Scan from film" msgstr "Skannad från film" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "Skannad från genomskinlighet (inklusive diabild)" #: src/properties.cpp:734 msgid "Scan from print" msgstr "Skannad från utskrift" #: src/properties.cpp:735 msgid "Camera RAW" msgstr "Kamerans RAW" #: src/properties.cpp:736 msgid "Camera TIFF" msgstr "Kamerans TIFF" #: src/properties.cpp:737 msgid "Camera JPEG" msgstr "Kamerans JPEG" #: src/properties.cpp:742 msgid "PLUS Version" msgstr "PLUS-version" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "Versionsnumret för PLUS-standarderna då transaktionen tilldrog sig." #: src/properties.cpp:743 msgid "Licensee" msgstr "Licensinnehavare" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "" "Part eller parter till vilka licensen ges av licensutfärdaren vid " "licenstransaktionen." #: src/properties.cpp:744 msgid "Licensee ID" msgstr "Licensägar-ID" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "Valfri PLUS-ID som identifierar varje licensägare." #: src/properties.cpp:745 msgid "Licensee Name" msgstr "Licensägarens namn" #: src/properties.cpp:745 msgid "Name of each Licensee." msgstr "Namnet på varje licensägare." #: src/properties.cpp:746 msgid "End User" msgstr "Användare" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "Part eller parter som till sist använder den licensierade bilden." #: src/properties.cpp:747 msgid "End User ID" msgstr "Användar-ID" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "Valfri PLUS-ID som identifierar varje användare." #: src/properties.cpp:748 msgid "End User Name" msgstr "Användarens namn" #: src/properties.cpp:748 msgid "Name of each End User." msgstr "Namn för varje användare." #: src/properties.cpp:749 msgid "Licensor" msgstr "Licensutfärdare" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "Part eller parter som utfärdar licensen till licensägaren." #: src/properties.cpp:750 msgid "Licensor ID" msgstr "Licensutfärdar-ID" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "Valfri PLUS-ID som identifierar varje licensutfärdare." #: src/properties.cpp:751 msgid "Licensor Name" msgstr "Licensutfärdarens namn" #: src/properties.cpp:751 msgid "Name of each Licensor." msgstr "Namn för varje licensutfärdare." #: src/properties.cpp:752 msgid "Licensor Address" msgstr "Licensutfärdarens adress" #: src/properties.cpp:752 msgid "Licensor street address." msgstr "Licensutfärdarens gatuadress." #: src/properties.cpp:753 msgid "Licensor Address Detail" msgstr "Licensutfärdarens adressdetaljer" #: src/properties.cpp:753 msgid "Additional Licensor mailing address details." msgstr "Ytterligare postadressdetaljer om licensutfärdaren." #: src/properties.cpp:754 msgid "Licensor City" msgstr "Licensutfärdarens stad" #: src/properties.cpp:754 msgid "Licensor City name." msgstr "Namnet på licensutfärdarens stad." #: src/properties.cpp:755 msgid "Licensor State or Province" msgstr "Licensutfärdarens stat/provins" #: src/properties.cpp:755 msgid "Licensor State or Province name." msgstr "Namnet på licensutfärdarens stat eller provins." #: src/properties.cpp:756 msgid "Licensor Postal Code" msgstr "Licensutfärdarens postnummer" #: src/properties.cpp:756 msgid "Licensor Postal Code or Zip Code." msgstr "Licensutfärdarens postkod eller postnummer." #: src/properties.cpp:757 msgid "Licensor Country" msgstr "Licensutfärdarens land" #: src/properties.cpp:757 msgid "Licensor Country name." msgstr "Namnet på licensutfärdarens land." #: src/properties.cpp:758 msgid "Licensor Telephone Type 1" msgstr "Licensutfärdarens telefon, typ 1" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1." msgstr "Licensutfärdarens telefon typ 1." #: src/properties.cpp:759 msgid "Licensor Telephone 1" msgstr "Licensutfärdarens telefon 1" #: src/properties.cpp:759 msgid "Licensor Telephone number 1." msgstr "Licensutfärdarens telefonnummer 1." #: src/properties.cpp:760 msgid "Licensor Telephone Type 2" msgstr "Licensutfärdarens telefon typ 2" #: src/properties.cpp:760 msgid "Licensor Telephone Type 2." msgstr "Licensutfärdarens telefon typ 2." #: src/properties.cpp:761 msgid "Licensor Telephone 2" msgstr "Licensutfärdarens telefon 2" #: src/properties.cpp:761 msgid "Licensor Telephone number 2." msgstr "Licensutfärdarens telefonnummer 2." #: src/properties.cpp:762 msgid "Licensor Email" msgstr "Licensutfärdarens e-post" #: src/properties.cpp:762 msgid "Licensor Email address." msgstr "Licensutfärdarens e-postadress." #: src/properties.cpp:763 msgid "Licensor URL" msgstr "Licensutfärdarens webbadress" #: src/properties.cpp:763 msgid "Licensor world wide web address." msgstr "Licensutfärdarens webbsida." #: src/properties.cpp:764 msgid "Licensor Notes" msgstr "Licensutfärdare, anteckningar" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" "Ytterligare information för att identifiera och kontakta licensutfärdaren/-" "arna." #: src/properties.cpp:765 msgid "PLUS Media Summary Code" msgstr "PLUS-mediasummeringskod" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" "En PLUS-standardiserad alfanumerisk kodsträng som summerar mediaanvändandet " "som inkluderas i licensen." #: src/properties.cpp:766 msgid "License Start Date" msgstr "Licensens startdatum" #: src/properties.cpp:766 msgid "The date on which the license takes effect." msgstr "Datum då licensen träder i kraft." #: src/properties.cpp:767 msgid "License End Date" msgstr "Licensens slutdatum" #: src/properties.cpp:767 msgid "The date on which the license expires." msgstr "Datum då licensen utgår." #: src/properties.cpp:768 msgid "Media Constraints" msgstr "Mediabegränsningar" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" "Begränsningar på vilken omfattning av PLUS-mediaanvändning som inkluderas i " "licensen till vissa media eller media som inte uttryckligen nämns i PLUS " "mediamatris." #: src/properties.cpp:769 msgid "Region Constraints" msgstr "Regionbegränsningar" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" "Begränsningar rörande omfattningen av geografisk distribution till vissa " "städer, länder, provinser, eller andra områden som kan inkluderas eller " "uteslutas från PLUS-regionerna som specificeras i licensens specificerade " "mediaanvändande." #: src/properties.cpp:770 msgid "Product or Service Constraints" msgstr "Produkt- eller tjänstebegränsningar" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" "Begränsningar för användning av bilden för att göra reklam för/associera med " "en namngiven produkt eller tjänst." #: src/properties.cpp:771 msgid "Image File Constraints" msgstr "Bildfilsbegränsningar" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "Begränsningar på ändringar av bildfilsnamnet, metadata eller filtyp." #: src/properties.cpp:772 msgid "Image Alteration Constraints" msgstr "Bildändringsbegränsningar" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" "Begränsningar på hur bilden får ändras med beskärning, spegling, " "retuschering, färgsättning, färgborttagning, eller sammanfogning." #: src/properties.cpp:773 msgid "Image Duplication Constraints" msgstr "Bilddupliceringsbegränsningar" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "Begränsningar för flerfaldigande av bilden." #: src/properties.cpp:774 msgid "Model Release Status" msgstr "Modellutgivningsstatus" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" "Sammanfattar tillgängligheten och omfattningen av modellutgivning som " "tillåter användande av en persons likheter i fotografiet." #: src/properties.cpp:775 msgid "Model Release ID" msgstr "Modellutgivnings-ID" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "Valfri identifierare tillhörande varje modellutgåva." #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "Minderårig modells åldersavslöjande" #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "" "Åldern för den yngsta modellen som visas i bilden, vid den tidpunkt då " "bilden togs." #: src/properties.cpp:777 msgid "Property Release Status" msgstr "Ägandeutgivningsstatus" #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" "Sammanfattar tillgängligheten och omfattningen av ägandeutgåvor som tillåter " "användande av vad som visas i fotografiet." #: src/properties.cpp:778 msgid "Property Release ID" msgstr "Ägandeutgåva-ID" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "Valfri identifierare tillhörande varje ägandeutgåva." #: src/properties.cpp:779 msgid "Other Constraints" msgstr "Andra begränsningar" #: src/properties.cpp:779 msgid "Additional constraints on the license." msgstr "Ytterligare begränsningar för licensen." #: src/properties.cpp:780 msgid "Credit Line Required" msgstr "Tack-till-rad krävs" #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "Tillskrivningskrav, om de finns." #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "Varning om pornografiskt material" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "" "En varning som visar om det förekommer innehåll som inte är lämpligt för " "minderåriga." #: src/properties.cpp:782 msgid "Other License Requirements" msgstr "Andra licenskrav" #: src/properties.cpp:782 msgid "Additional license requirements." msgstr "Ytterligare licenskrav." #: src/properties.cpp:783 msgid "Terms and Conditions Text" msgstr "Villkorstext" #: src/properties.cpp:783 msgid "Terms and Conditions applying to the license." msgstr "Villkor som gäller för licensen." #: src/properties.cpp:784 msgid "Terms and Conditions URL" msgstr "Villkorens webbadress" #: src/properties.cpp:784 msgid "URL for Terms and Conditions applying to the license." msgstr "Webbadress för villkoren som gäller för licensen." #: src/properties.cpp:785 msgid "Other License Conditions" msgstr "Andra licensvillkor" #: src/properties.cpp:785 msgid "Additional license conditions." msgstr "Ytterligare licensvillkor." #: src/properties.cpp:786 msgid "Identifies the type of image delivered." msgstr "Identifierar bildtypen som levereras." #: src/properties.cpp:787 msgid "Licensor Image ID" msgstr "Licensutfärdarens bild-ID" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "Valfri identifierare som tilldelas bilden av licensutfärdaren." #: src/properties.cpp:788 msgid "Image File Name As Delivered" msgstr "Bildfilens namn vid leverans" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "" "Namnet på bildfilen då den levererades till licensägaren för bruk enligt " "licensen." #: src/properties.cpp:789 msgid "Image File Format As Delivered" msgstr "Bildfilformat som levererat" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "" "Filformatet för bildfilen då den levererades till licensägaren för bruk " "enligt licensen." #: src/properties.cpp:790 msgid "Image File Size As Delivered" msgstr "Bildfilens storlek som levererad" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "Bildfilens storlek då den levererades till licensägaren." #: src/properties.cpp:791 msgid "Copyright Status" msgstr "Upphovsrättsstatus" #: src/properties.cpp:791 msgid "Copyright status of the image." msgstr "Bildens upphovsrättsstatus." #: src/properties.cpp:792 msgid "Copyright Registration Number" msgstr "Upphovsrättens registreringsnummer" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" "Upphovsrättens registreringsnummer, om det finns, som gäller för den " "licensierade bilden." #: src/properties.cpp:793 msgid "First Publication Date" msgstr "Första publiceringsdatum" #: src/properties.cpp:793 msgid "The date on which the image was first published." msgstr "Det datum då bilden först publicerades." #: src/properties.cpp:794 msgid "Copyright Owner" msgstr "Upphovsrättsägare" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "Ägare av upphovsrätten för den licensierade bilden." #: src/properties.cpp:795 msgid "Copyright Owner ID" msgstr "Upphovsrättsägar-ID" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "Valfri PLUS-ID som identifierar varje upphovsrättsägare." #: src/properties.cpp:796 msgid "Copyright Owner Name" msgstr "Upphovsrättsägarens namn" #: src/properties.cpp:796 msgid "Name of Copyright Owner." msgstr "Upphovsrättsägarens namn." #: src/properties.cpp:797 msgid "Copyright Owner Image ID" msgstr "Upphovsrättsägarens bild-ID" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "Valfri identifierare som tilldelas bilden av upphovsrättsägaren." #: src/properties.cpp:798 msgid "Image Creator" msgstr "Bildskapare" #: src/properties.cpp:798 msgid "Creator/s of the image." msgstr "Bildens skapare." #: src/properties.cpp:799 msgid "Image Creator ID" msgstr "Bildskaparens ID" #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "Valfri PLUS-ID som identifierar varje bildskapare." #: src/properties.cpp:800 msgid "Image Creator Name" msgstr "Bildskaparens namn" #: src/properties.cpp:800 msgid "Name of Image Creator." msgstr "Bildskaparens namn." #: src/properties.cpp:801 msgid "Image Creator Image ID" msgstr "Bildskaparens bild-ID" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "Valfri identifierare som tilldelas bilden av bildskaparen." #: src/properties.cpp:802 msgid "Image Supplier ID" msgstr "Bildleverantörs-ID" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "Valfri PLUS-ID som identifierar bildens leverantör." #: src/properties.cpp:803 msgid "Image Supplier Name" msgstr "Bildleverantörsnamn" #: src/properties.cpp:803 msgid "Name of Image Supplier." msgstr "Bildleverantörens namn." #: src/properties.cpp:804 msgid "Image Supplier Image ID" msgstr "Bildleverantörs bild-ID" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "Valfri identifierare som tilldelas bilden av bildleverantören." #: src/properties.cpp:805 msgid "Licensee Image ID" msgstr "Licensägarens bild-ID" #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "Valfri identifierare som tilldelas bilden av licensägaren." #: src/properties.cpp:806 msgid "Licensee Image Notes" msgstr "Licensägarens bildanteckningar" #: src/properties.cpp:806 msgid "Notes added by Licensee." msgstr "Anteckningar tillagda av licensägaren." #: src/properties.cpp:807 msgid "Other Image Info" msgstr "Övrig bildinfo" #: src/properties.cpp:807 msgid "Additional image information." msgstr "Ytterligare bildinformation." #: src/properties.cpp:808 msgid "License ID" msgstr "Licens-ID" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "Valfri PLUS-ID som tilldelas licensen av licensutfärdaren." #: src/properties.cpp:809 msgid "Licensor Transaction ID" msgstr "Licensutfärdarens transaktions-ID" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "" "Identifierare som tilldelas av licensutfärdaren för deras referenser och " "internt bruk." #: src/properties.cpp:810 msgid "Licensee Transaction ID" msgstr "Licensägarens transaktions-ID" #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" "Identifierare som tilldelas av licensägaren för deras referenser och internt " "bruk." #: src/properties.cpp:811 msgid "Licensee Project Reference" msgstr "Licensägarens projektreferens" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "" "Namn eller beskrivning av projektreferensen, som tilldelas av licensägaren." #: src/properties.cpp:812 msgid "License Transaction Date" msgstr "Licenstransaktionsdatum" #: src/properties.cpp:812 msgid "The date of the License Transaction." msgstr "Datumet för licenstransaktionen." #: src/properties.cpp:813 msgid "Reuse" msgstr "Återanvänd" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" "Visar om en licens är en upprepad eller förstagångslicens. Återanvändning " "kan kräva att licenserna som lagras i filerna som tidigare levererats till " "kunden blir uppdaterade." #: src/properties.cpp:814 msgid "Other License Documents" msgstr "Övriga licensdokument" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "" "Referensinformation för ytterligare dokument som hör ihop med licensen." #: src/properties.cpp:815 msgid "Other License Info" msgstr "Övrig licensinfo" #: src/properties.cpp:815 msgid "Additional license information." msgstr "Ytterligare licensinformation." #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "Valfritt fält som licensutfärdaren kan använda till vadsomhelst." #: src/properties.cpp:819 msgid "Custom 4" msgstr "Anpassad 4" #: src/properties.cpp:820 msgid "Custom 5" msgstr "Anpassad 5" #: src/properties.cpp:821 msgid "Custom 6" msgstr "Anpassad 6" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "Valfritt fält som licensägaren kan använda till vadsomhelst." #: src/properties.cpp:822 msgid "Custom 7" msgstr "Anpassad 7" #: src/properties.cpp:823 msgid "Custom 8" msgstr "Anpassad 8" #: src/properties.cpp:824 msgid "Custom 9" msgstr "Anpassad 9" #: src/properties.cpp:825 msgid "Custom 10" msgstr "Anpassad 10" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "Varning om pornografiskt material krävs" #: src/properties.cpp:833 msgid "Not Required" msgstr "Krävs ej" #: src/properties.cpp:839 msgid "Protected" msgstr "Skyddad" #: src/properties.cpp:840 msgid "Public Domain" msgstr "Public Domain" #: src/properties.cpp:846 msgid "Credit Adjacent To Image" msgstr "Tack till bredvid bilden" #: src/properties.cpp:847 msgid "Credit in Credits Area" msgstr "Tack till i tack-området" #: src/properties.cpp:848 msgid "Credit on Image" msgstr "Tack till på bilden" #: src/properties.cpp:849 msgid "Not Require" msgstr "Behövs inte" #: src/properties.cpp:854 msgid "No Colorization" msgstr "Ingen färgsättning" #: src/properties.cpp:855 msgid "No Cropping" msgstr "Ingen beskärning" #: src/properties.cpp:856 msgid "No De-Colorization" msgstr "Ingen färgminskning" #: src/properties.cpp:857 msgid "No Flipping" msgstr "Ingen spegling" #: src/properties.cpp:858 msgid "No Merging" msgstr "Ingen sammanfogning" #: src/properties.cpp:859 msgid "No Retouching" msgstr "Ingen retuschering" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "Flerfaldigande bara vid behov enligt licens" #: src/properties.cpp:865 msgid "No Duplication Constraints" msgstr "Inga dupliceringsbegränsningar" #: src/properties.cpp:866 msgid "No Duplication" msgstr "Ingen duplicering" #: src/properties.cpp:871 msgid "Maintain File Name" msgstr "Bibehåll filnamn" #: src/properties.cpp:872 msgid "Maintain File Type" msgstr "Bibehåll filtyp" #: src/properties.cpp:873 msgid "Maintain ID in File Name" msgstr "Bibehåll ID i filnamn" #: src/properties.cpp:874 msgid "Maintain Metadata" msgstr "Bibehåll metadata" #: src/properties.cpp:879 msgid "Windows Bitmap (BMP)" msgstr "Windows-bitmap (BMP)" #: src/properties.cpp:880 msgid "Digital Negative (DNG)" msgstr "Digitalt negativ (DNG)" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "Encapsulated PostScript (EPS)" #: src/properties.cpp:882 msgid "Graphics Interchange Format (GIF)" msgstr "Graphics Interchange Format (GIF)" #: src/properties.cpp:883 msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "JPEG Interchange Formats (JPG, JIF, JFIF)" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "Macintosh Picture (PICT)" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "Portable Network Graphics (PNG)" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "Photoshop Dokument (PSD)" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "Slutet RAW-bildformat" #: src/properties.cpp:889 msgid "Tagged Image File Format (TIFF)" msgstr "Tagged Image File Format (TIFF)" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "Windows Media Photo (HD Photo)" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "Större än 50 MB" #: src/properties.cpp:896 msgid "Up to 1 MB" msgstr "Upp till 1 MB" #: src/properties.cpp:897 msgid "Up to 10 MB" msgstr "Upp till 10 MB" #: src/properties.cpp:898 msgid "Up to 30 MB" msgstr "Upp till 30 MB" #: src/properties.cpp:899 msgid "Up to 50 MB" msgstr "Upp till 50 MB" #: src/properties.cpp:904 msgid "Illustrated Image" msgstr "Illustrerad bild" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "Multimedia eller sammansatt bild" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "Fotografisk bild" #: src/properties.cpp:913 msgid "Cell" msgstr "Cell" #: src/properties.cpp:914 msgid "FAX" msgstr "Fax" #: src/properties.cpp:916 msgid "Pager" msgstr "Sökare" #: src/properties.cpp:917 msgid "Work" msgstr "Arbetsadress" #: src/properties.cpp:922 msgid "Age Unknown" msgstr "Ålder okänd" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "Ålder 25 och äldre" #: src/properties.cpp:924 msgid "Age 24" msgstr "24 år gammal" #: src/properties.cpp:925 msgid "Age 23" msgstr "23 år gammal" #: src/properties.cpp:926 msgid "Age 22" msgstr "22 år gammal" #: src/properties.cpp:927 msgid "Age 21" msgstr "21 år gammal" #: src/properties.cpp:928 msgid "Age 20" msgstr "20 år gammal" #: src/properties.cpp:929 msgid "Age 19" msgstr "19 år gammal" #: src/properties.cpp:930 msgid "Age 18" msgstr "18 år gammal" #: src/properties.cpp:931 msgid "Age 17" msgstr "17 år gammal" #: src/properties.cpp:932 msgid "Age 16" msgstr "16 år gammal" #: src/properties.cpp:933 msgid "Age 15" msgstr "15 år gammal" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "14 år och yngre" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "Ej tillämpbart" #: src/properties.cpp:941 msgid "Unlimited Model Releases" msgstr "Obegränsade modellutgåvor" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "Begränsade eller ofullständiga modellutgåvor" #: src/properties.cpp:949 msgid "Unlimited Property Releases" msgstr "Obegränsade ägandeutgåvor" #: src/properties.cpp:950 msgid "Limited or Incomplete Property Releases" msgstr "Begränsade eller ofullständiga ägandeutgåvor" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "Upprepad användning" #: src/properties.cpp:960 src/properties.cpp:969 msgid "Fixture Identification" msgstr "Fixturidentifiering" #: src/properties.cpp:961 src/properties.cpp:970 msgid "Status" msgstr "Status" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "En notering som gör bilden unik" #: src/properties.cpp:962 src/properties.cpp:971 msgid "People" msgstr "Personer" #: src/properties.cpp:963 src/properties.cpp:972 msgid "Catalog Sets" msgstr "Katalogmängd" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "Beskrivningar av katalogobjekt efter innehåll" #: src/properties.cpp:978 msgid "RegionInfo" msgstr "Regioninfo" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "Microsoft Photo metadatarot för personigenkänning" #: src/properties.cpp:984 src/properties.cpp:1000 msgid "Regions" msgstr "Områden" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "Innehåller områdes-/persontaggar" #: src/properties.cpp:985 msgid "Date Regions Valid" msgstr "Datum för giltiga områden" #: src/properties.cpp:985 msgid "Date the last region was created" msgstr "Datum då det sista området skapades" #: src/properties.cpp:991 msgid "Person Display Name" msgstr "Visningsnamn" #: src/properties.cpp:991 msgid "Name of the person (in the given rectangle)" msgstr "Namn på personen (i den givna rektangeln)" #: src/properties.cpp:992 msgid "Rectangle" msgstr "Rektangel" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "Rektangel som identifierar personen i fotot" #: src/properties.cpp:993 msgid "Person Email Digest" msgstr "E-postsammandrag" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "SHA-1 krypterat meddelandehash för personens Windows Live e-postadress" #: src/properties.cpp:994 msgid "Person LiveId CID" msgstr "LiveId CID" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "Signerad decimalrepresentation för personens Windows Live CID" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "Huvudstruktur innehållandes områdesbaserad information" #: src/properties.cpp:1001 msgid "Applied To Dimensions" msgstr "Verkställd på dimensioner" #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "Bredd och höjd på bild vid lagring av områdesdata" #: src/properties.cpp:1002 msgid "Region List" msgstr "Områdeslista" #: src/properties.cpp:1002 msgid "List of Region structures" msgstr "Lista över regionstrukturer" #: src/properties.cpp:1003 msgid "Area" msgstr "Område" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "Typmening för område (Face|Pet|Focus|BarCode)" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "Namn/kort beskrivning av innehåll i en bildregion" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" "Användarscenario för en given fokusarea (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" #: src/properties.cpp:1007 msgid "Focus Usage" msgstr "Fokusanvändning" #: src/properties.cpp:1008 msgid "Bar Code Value" msgstr "Streckkodsvärde" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "Avkodad BarCode-värdesträng" #: src/properties.cpp:1009 msgid "Extensions" msgstr "Tillägg" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "Alla XMP-egenskaper på toppnivå som beskriver regionsinnehåll" #: src/properties.cpp:1015 msgid "Main structure containing keyword based information" msgstr "Huvudstruktur innehållandes nyckelordsbaserad information" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "Hierarki" #: src/properties.cpp:1016 msgid "List of root keyword structures" msgstr "Lista över rotnyckelordsstrukturer" #: src/properties.cpp:1017 msgid "Keyword" msgstr "Nyckelord" #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "Namn på nyckelord (-nod)" #: src/properties.cpp:1018 msgid "Applied" msgstr "Verkställd" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" "True om nyckelordet har verkställts, False annars. Om saknat, antas mwg-kw:" "Applied vara True för lövnoder och False för släktnoder" #: src/properties.cpp:1019 msgid "List of children keyword structures" msgstr "Lista över underordnade nyckelordsstrukturer" #: src/properties.cpp:1026 msgid "Use Panorama Viewer" msgstr "Använda Panoramvisare" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" "Huruvida denna bild ska visas i en panoramavisare istället för som en normal " "platt bild. Det kan specificeras baserat på användarinställningar eller " "genom programvaran för stitching. Programmet som visar eller använder bilden " "kan välja att ignorera detta." #: src/properties.cpp:1027 msgid "Capture Software" msgstr "Fångstprogramvara" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" "Om fångst skedde med ett program eller en mobil enhet, som en Android-" "telefon, namnet på programmet som används (som en ”Photo Sphere”). Detta ska " "lämnas tomt om källbilder fångades manuellt, som genom att använde en DSLR " "på en tripod." #: src/properties.cpp:1028 msgid "Stitching Software" msgstr "Stitching-programvara" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" "Programmet som användes för att skapa det slutgiltiga panoramat. Det kan " "ibland vara samma värde som GPano:CaptureSoftware." #: src/properties.cpp:1029 msgid "Projection Type" msgstr "Projektionstyp" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" "Projektionstyp använd i bildfilen. Google-produkter stödjer för tillfället " "värdet equirectangular." #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "Position kompassriktning i grader" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" "Grader för kompassriktning för att centrera bilden. Värdet måste vara >= 0 " "och < 360." #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "Position Pitch grader" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" "Pitch, i grader för centrum i bilden. Värdet måste vara >= -90 och <= 90." #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "Position Roll i grader" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" "Roll i grader för bilden, där nivå med horisonten är 0. Värdet måste vara > " "- 180 och <= 180." #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "Initial vy, riktning i grader" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "Vinkeln för riktningen av den initiala vyn i grader." #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "Initial vy, Pitch i grader" #: src/properties.cpp:1034 msgid "The pitch angle of the initial view in degrees." msgstr "Pitch-vinkel för initial vy i grader." #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "Initial vy, Roll i grader" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "Roll-vinkel för den initiala vyn i grader." #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "Initial horisontell FOV i grader" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" "Initiala horisontella fältet för vyn som visaren ska visa (i grader). Det är " "liknande en zoomnivå." #: src/properties.cpp:1037 msgid "First Photo Date" msgstr "Första fotodatum" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "Datum och tid för den första bilden skapad i panoramat." #: src/properties.cpp:1038 msgid "Last Photo Date" msgstr "Senaste fotodatum" #: src/properties.cpp:1038 msgid "Date and time for the last image created in the panorama." msgstr "Datum och tid för när den senaste bilden i panoramat skapades." #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "Antal källfoton" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "Antal källbilder använda för att skapa panoramat" #: src/properties.cpp:1040 msgid "Exposure Lock Used" msgstr "Exponeringslås använt" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" "När individuella källfotografier fångades, oavsett om kamerans " "exponeringsinställning var låst. " #: src/properties.cpp:1041 msgid "Cropped Area Image Width Pixels" msgstr "Bredd på beskuret bildområde i bildpunkter" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" "Originalbredd i bildpunkter för bilden (likadan som den aktuella bildens " "bredd för oredigerade bilder)." #: src/properties.cpp:1042 msgid "Cropped Area Image Height Pixels" msgstr "Höjd på beskuret bildområde i bildpunkter" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" "Originalhöjd i bildpunkter för bilden (likadan som den aktuella bildens höjd " "för oredigerade bilder)." #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "Hel panoramabredd i bildpunkter" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" "Ursprungliga hela panoramabredden från vilken bilden beskärdes. Eller, om " "bara ett partiellt panorama fångades, anger detta bredden på vad hela " "panoramat skulle ha varit." #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "Hel panoramahöjd i bildpunkter" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" "Ursprungliga hela panoramahöjden från vilken bilden beskärdes. Eller, om " "bara ett partiellt panorama fångades, anger detta höjden på vad hela " "panoramat skulle ha varit." #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "Beskuret område till vänster i bildpunkter" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" "Kolumn från var den vänstra kanten av bilden beskärdes från fullstora " "panoramat." #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "Beskuret område överst i bildpunkter" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" "Rad från var den översta kanten av bilden beskärdes från fullstora panoramat." #: src/properties.cpp:1047 msgid "Initial Camera Dolly" msgstr "Initial kameravagn" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" "Denna valfria parameter flyttar den virtuella kamerapositionen längs " "synfältet, bort från centrum av fotosfären. Bakre ytposition representeras " "av -1.0 medan främre ytposition representeras av 1.0. För normal visning bör " "parametern sättas till 0." #: src/properties.cpp:1055 msgid "Archival Location" msgstr "Arkiveringsplats" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "Information om arkiveringsplatsen." #: src/properties.cpp:1056 msgid "Arranger" msgstr "Arrangör" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "Information om arrangören." #: src/properties.cpp:1057 msgid "Arranger Keywords" msgstr "Arrangörnyckelord" #: src/properties.cpp:1057 msgid "Information about the Arranger Keywords." msgstr "Information om arrangörnyckelorden." #: src/properties.cpp:1059 msgid "Video Aspect Ratio" msgstr "Bildförhållande" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "" "Ratio för bredd:höjd, hjälper till att bestämma hur en video kan visas på " "skärm" #: src/properties.cpp:1060 msgid "Video Aspect Ratio Type" msgstr "Bildförhållandetyp" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "Bildförhållandetyp. Exempelvis - Free-Resizing eller Fixed" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "Bifogad fildata" #: src/properties.cpp:1062 msgid "Attached File Description" msgstr "Bifogad filbeskrivning" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "Bifogad fil-MIME-typ" #: src/properties.cpp:1064 msgid "Attached File Name" msgstr "Bifogat filnamn" #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "Bifogat fil-UID" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "Bifogat fil-universalt ID" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "En C-sträng som specificerar en grund-URL." #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "Bit-djup" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" "Ett 16-bitars heltal som indikerar bildpunktsdjupet för den komprimerade " "bilden. Värden 1, 2 , 4, 8, 16, 24 och 32 indikerar djup på färgbilder" #: src/properties.cpp:1068 msgid "Brightness setting." msgstr "Ljussättning." #: src/properties.cpp:1069 msgid "Camera Byte Order" msgstr "Kamera byte-riktning" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "Byte-riktning för videoinfångarenheten." #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "Video Cinematographer" #: src/properties.cpp:1070 msgid "The video Cinematographer information." msgstr "Video Cinematographer-information." #: src/properties.cpp:1071 msgid "Clean Aperture Width" msgstr "Rensa slutarbredd" #: src/properties.cpp:1071 msgid "Clean aperture width in pixels" msgstr "Rensa slutarbredd i bildpunkter" #: src/properties.cpp:1072 msgid "Clean Aperture Height" msgstr "Rensa slutarhöjd" #: src/properties.cpp:1072 msgid "Clean aperture height in pixels" msgstr "Rensa slutarhöjd i bildpunkter" #: src/properties.cpp:1073 msgid "Video Codec" msgstr "Videokodek" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" "Videokodekinformationen. Informerar om kodningsalgoritmen för video. " "Kodekinformation krävs för videouppspelning." #: src/properties.cpp:1074 msgid "Video Codec Decode Info" msgstr "Avkodningsinfo för videokodek" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" "Innehåller information om videokodeken avkoda allt, d.v.s. aktiverad/" "inaktiverad" #: src/properties.cpp:1075 msgid "Video Codec Description" msgstr "Videokodekbeskrivning" #: src/properties.cpp:1075 src/properties.cpp:1403 msgid "Contains description the codec." msgstr "Innehåller beskrivning av kodeken." #: src/properties.cpp:1076 msgid "Video Codec Information" msgstr "Videokodekinformation" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "Innehåller information kodeken behöver innan avkodning kan börja." #: src/properties.cpp:1077 msgid "Video Codec Download URL" msgstr "Hämtnings-URL för videokodek" #: src/properties.cpp:1077 msgid "Video Codec Download URL." msgstr "Hämtnings-URL för videokodek." #: src/properties.cpp:1078 msgid "Video Codec Settings" msgstr "Videokodekinställningar" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "Innehåller information kodeken behöver innan avkodning kan ske." #: src/properties.cpp:1083 msgid "Comment" msgstr "Kommentar" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "Information om kommentaren." #: src/properties.cpp:1084 msgid "Commissioned" msgstr "Beställda" #: src/properties.cpp:1084 msgid "Commissioned." msgstr "Beställda." #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "QTime-kompatibel filtyps-märke" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "Andra QuickTime-kompatibla fil-typsmärken" #: src/properties.cpp:1086 msgid "Information about the Composer." msgstr "Information om kompositören." #: src/properties.cpp:1087 msgid "Composer Keywords" msgstr "Nyckelord för kompositör" #: src/properties.cpp:1087 msgid "Information about the Composer Keywords." msgstr "Information om nyckelord för kompositör." #: src/properties.cpp:1088 msgid "Compressor" msgstr "Komprimerare" #: src/properties.cpp:1088 msgid "Video Compression Library Used" msgstr "Videokomprimeringsbibliotek som används" #: src/properties.cpp:1089 msgid "Video Compressor ID" msgstr "Videokomprimerings-ID" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "Videokomprimerings-ID på använd teknologi/kodek" #: src/properties.cpp:1090 msgid "Compressor Version" msgstr "Komprimeringsversion" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "Information om komprimeringsversionen." #: src/properties.cpp:1091 msgid "Container Type" msgstr "Behållartyp" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "Primär metadatabehållare" #: src/properties.cpp:1092 msgid "Content Compression Algorithm" msgstr "Algoritm för komprimering av innehåll" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "Algoritm för komprimering av innehåll. Exempelvis: zlib" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "Kodningstyp för innehåll" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "Kodningstyp för innehåll. Exempelvis: kryptering eller komprimering" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "Krypteringsalgoritm för innehåll" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "Krypteringsalgoritm för innehåll. Exempelvis: Blowfish" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "Signaturalgoritm för innehåll" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "Signaturalgoritm för innehåll. Exempelvis: RSA" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "Signaturhash-algoritm för innehåll" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "Signaturhash-algoritm för innehåll. Exempelvis: SHA1-160 eller MD5" #: src/properties.cpp:1097 msgid "Indicates the direction of contrast processing applied by the camera." msgstr "Indikerar riktningen på kontrastbearbetning tillagd av kameran." #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "Copyright, kan vara namnet på en organisation eller en individ." #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "Kostymdesigner" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "Kostymdesigner associerad med den här videon." #: src/properties.cpp:1100 msgid "Name of the country where the video was created." msgstr "Namn på landet där videon skapades." #: src/properties.cpp:1101 msgid "Creation Date" msgstr "Skapad" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" "Datum och tid för då filen skapades. Värdet ges sm numret av 100-" "nanosekundintervall sedan första januari 1601, i linje med Coordinated " "Universal Time (Greenwich Mean Time)." #: src/properties.cpp:1103 msgid "Pixel Crop Bottom" msgstr "Bildpunktsbeskärning botten" #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "Antal bildpunkter att beskära från botten." #: src/properties.cpp:1104 msgid "Pixel Crop Left" msgstr "Bildpunktsbeskärning vänster" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "Antal bildpunkter att beskäras från vänster." #: src/properties.cpp:1105 msgid "Pixel Crop Right" msgstr "Bildpunktsbeskärning höger" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "Antal bildpunkter att beskära från höger." #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "Fält som indikerar om en video är beskuren." #: src/properties.cpp:1107 msgid "Pixel Crop Top" msgstr "Bildpunktsbeskärning överst" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "Antal bildpunkter att beskära från toppen." #: src/properties.cpp:1108 msgid "Current Time" msgstr "Aktuell tid" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "Tiden för den aktuella tidspositionen i filmen." #: src/properties.cpp:1109 msgid "Data Packets" msgstr "Datapaket" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "Anger antalet datapaket som existerar i dataobjektet." #: src/properties.cpp:1110 msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "Datum och tid i ISO 8601-format för när originalvideon skapades. " #: src/properties.cpp:1111 msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" "Datum och tid för när videon lagrades som digitalt data, kan vara detsamma " "som DateTimeOriginal om ursprungligen lagrat i digital form. Lagras i ISO " "8601-format." #: src/properties.cpp:1113 msgid "Date-Time Original" msgstr "Datum-tid original" #: src/properties.cpp:1113 msgid "Contains the production date" msgstr "Innehåller produktionsdatumet" #: src/properties.cpp:1114 msgid "Video Track Default On" msgstr "Videospår på som standard" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "Videospår på som standard, d.v.s. aktiverad/inaktiverad" #: src/properties.cpp:1115 msgid "Indicates the digital zoom ratio when the video was shot." msgstr "Indikerar den digitala zoomförhållandet när videon togs." #: src/properties.cpp:1116 msgid "Dimensions" msgstr "Dimensioner" #: src/properties.cpp:1116 msgid "Information about the Dimensions of the video frame." msgstr "Information om bildrutans dimensioner." #: src/properties.cpp:1117 msgid "Director" msgstr "Regissör" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "Information om regissören." #: src/properties.cpp:1118 msgid "Video Display Unit" msgstr "Video Display Unit" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "Video display unit. Exempelvis cm, bildpunkter, tum" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "Distribuerad av" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "Distribuerad av, d.v.s. namnet på en person eller organisation." #: src/properties.cpp:1120 msgid "Doc Type" msgstr "Dokumenttyp" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" "Beskriver innehållet på filen. Om det är en MATROSKA-fil blir dess värde " "”matroska”" #: src/properties.cpp:1121 msgid "Doc Type Read Version" msgstr "Dokumenttyp läsversion" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" "En Matroskavideo-specifik egenskap, hjälper till med att bestämma " "kompatibiliteten för en fil med en specifik version av videospelare" #: src/properties.cpp:1122 msgid "Doc Type Version" msgstr "Doc Type Version" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" "En Matroskavideo-specifik egenskap, indikerar filtypens version, hjälper " "till att bestämma kompatibiliteten" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "Punkter per tum" #: src/properties.cpp:1124 msgid "The duration of the media file. Measured in milli-seconds." msgstr "Längden på mediafilen. Mäts i millisekunder." #: src/properties.cpp:1125 msgid "EBML Read Version" msgstr "EBML Read Version" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "Extensible Binary Meta Language Read Version" #: src/properties.cpp:1126 msgid "EBML Version" msgstr "EBML Version" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "Extensible Binary Meta Language Version" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "Edit Block 1 / Language" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "Information om redigering / språk." #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "Redigering block 2 / språk" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "Redigering block 3 / språk" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "Redigering block 4 / språk" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "Redigering block 5 / språk" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "Redigering block 6 / språk" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "Redigering block 7 / språk" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "Redigering block 8 / språk" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "Redigering block 9 / språk" #: src/properties.cpp:1136 msgid "Edited By" msgstr "Redigerad av" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "Redigerad av, d.v.s. namnet på person eller organisation." #: src/properties.cpp:1137 msgid "Video Track Enabled" msgstr "Videospår aktiverat" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "Status på videospår, d.v.s. aktiverat/inaktiverat" #: src/properties.cpp:1138 msgid "Encoded By" msgstr "Kodat av" #: src/properties.cpp:1138 msgid "Encoded By, i.e. name of person or organization." msgstr "Kodat av, d.v.s. namn på person eller organisation." #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "Kodade bildpunkters bredd" #: src/properties.cpp:1139 msgid "Encoded Pixels width in pixels" msgstr "Kodade bildpunkters bredd i bildpunkter" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "Kodade bildpunkters höjd" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "Kodade bildpunkters höjd i bildpunkter" #: src/properties.cpp:1141 msgid "Encoder" msgstr "Kodare" #: src/properties.cpp:1141 msgid "Information about the Encoder." msgstr "Information om kodaren." #: src/properties.cpp:1142 msgid "End Timecode" msgstr "Sluttidskod" #: src/properties.cpp:1143 msgid "Engineer, in most cases name of person." msgstr "Ingenjör, vanligen namnet på en person." #: src/properties.cpp:1144 msgid "Equipment" msgstr "Utrustning" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "Information om utrustningen som användes för att spela in video." #: src/properties.cpp:1145 msgid "Exposure Compensation Information." msgstr "Exponeringskompensationsinformation." #: src/properties.cpp:1146 msgid "Exposure Program Information." msgstr "Exponeringsprograminformation." #: src/properties.cpp:1147 msgid "Exposure time in seconds." msgstr "Exponeringstid i sekunder." #: src/properties.cpp:1148 msgid "Extended Content Description" msgstr "Extended Content Description" #: src/properties.cpp:1148 msgid "Extended Content Description, usually found in ASF type files." msgstr "Extended Content Description, vanligen funnet i filer av typen ASF." #: src/properties.cpp:1150 msgid "File ID" msgstr "Fil-ID" #: src/properties.cpp:1150 msgid "File ID." msgstr "Fil-ID." #: src/properties.cpp:1151 msgid "File Length" msgstr "Fillängd" #: src/properties.cpp:1151 msgid "File length." msgstr "Fillängd." #: src/properties.cpp:1152 msgid "File Name" msgstr "Filnamn" #: src/properties.cpp:1152 msgid "File Name or Absolute File Path" msgstr "Filnamn eller absolut sökväg" #: src/properties.cpp:1153 msgid "File Size" msgstr "Filstorlek" #: src/properties.cpp:1153 msgid "File Size, in MB" msgstr "Filstorlek i MB" #: src/properties.cpp:1154 msgid "File Type" msgstr "Filtyp" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "Filtillägg eller filtyp" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "Verkställda filtereffektinställningar." #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "Version på fast programvara för kamera-/videoenheten." #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "F-nummer. Kameraobjektivsspecifik data." #: src/properties.cpp:1158 msgid "Focal length of the lens, in millimeters." msgstr "Brännvidd på objektivet i millimeter." #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "Fokusläge på objektivet. Exempelvis - AF för autofokus" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "" "Indikation på filmformat (datorgenererad, digitaliserad och så vidare)." #: src/properties.cpp:1161 msgid "Frame Count" msgstr "Antal bildrutor" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "Totala antalet bildrutor i en video" #: src/properties.cpp:1162 msgid "Frame Height" msgstr "Bildrutehöjd" #: src/properties.cpp:1162 msgid "Height of frames in a video" msgstr "Höjden på bildrutor i en video" #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" "Hastigheten för hur bildrutor presenteras i en video (uttrycks i fps/bps " "(frames per second/bildrutor per sekund))" #: src/properties.cpp:1165 msgid "Frame Width" msgstr "Bildrutebredd" #: src/properties.cpp:1165 msgid "Width of frames in a video" msgstr "Bredd på bildrutor i en video" #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "GPS-koordinater" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "Information om GPS-koordinaterna." #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "Datumstämpel för GPD-data, " #: src/properties.cpp:1171 msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "Riktning på bilden när den togs, värdeintervall från 0 till 359.99." #: src/properties.cpp:1172 msgid "Reference for image direction." msgstr "Referens för bildriktning." #: src/properties.cpp:1173 msgid "(North/South). Indicates latitude." msgstr "(Norr/söder). Indikerar latitud." #: src/properties.cpp:1174 msgid "(East/West). Indicates longitude." msgstr "(Öst/väst). Indikerar longitud." #: src/properties.cpp:1175 msgid "Geodetic survey data." msgstr "Geodetiskt undersökningsdata." #: src/properties.cpp:1176 msgid "Satellite information, format is unspecified." msgstr "Satellitinformation, format ospecificerat." #: src/properties.cpp:1177 msgid "Time stamp of GPS data, " msgstr "Tidsstämpel på GPS-data, " #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "En decimalkodning med punktseparatorer. " #: src/properties.cpp:1179 msgid "Graphics Mode" msgstr "Graphics-läge" #: src/properties.cpp:1179 msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" "Ett 16-bitars heltal som anger överföringsläget. Överföringsläget anger " "vilken boolesk åtgärd QuickDraw ska utföra vid uppritning eller överföring " "av en bild från en plats till en annan." #: src/properties.cpp:1181 msgid "Grouping" msgstr "Gruppering" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "Information om grupperingen." #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "Hanterarklass" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" "En fyrsiffrig kod som identifierar typen på hanterare. Endast två värden är " "giltiga för detta fält: ”mhlr” för mediahanterare och ”dhlr” för " "datahanterare." #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "Handler Description" msgstr "Hanterarbeskrivning" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" "En (uppräknad) sträng som specificerar namnet på komponenten - det vill säga " "mediahanteraren som användes när detta media skapades.." #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "Handler Type" msgstr "Hanterartyp" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" "En fyrsiffrig kod som identifierar typen av mediahanterare eller " "datahanterare." #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Handler Vendor ID" msgstr "Tillverkar-ID för hanterare" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Component manufacturer." msgstr "Komponenttillverkare." #: src/properties.cpp:1186 msgid "Video Height" msgstr "Videohöjd" #: src/properties.cpp:1186 src/properties.cpp:1309 msgid "Video height in pixels" msgstr "Videohöjd i bildpunkter" #: src/properties.cpp:1187 msgid "Hue Adjustment Settings Information." msgstr "Information om inställningar för toningsjustering." #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "Bildlängd, en egenskap ärvd från formatet BitMap" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "Infobannerbild" #: src/properties.cpp:1189 msgid "Information Banner Image." msgstr "Informationsbannerbild." #: src/properties.cpp:1190 msgid "Info Banner URL" msgstr "Infobanner-URL" #: src/properties.cpp:1190 msgid "Information Banner URL." msgstr "Informationsbanner-URL." #: src/properties.cpp:1191 msgid "Information" msgstr "Information" #: src/properties.cpp:1191 msgid "Additional Movie Information." msgstr "Ytterligare filminformation." #: src/properties.cpp:1192 msgid "Info Text" msgstr "Infotext" #: src/properties.cpp:1192 msgid "Information Text." msgstr "Informationstext." #: src/properties.cpp:1193 msgid "Info URL" msgstr "Info-URL" #: src/properties.cpp:1193 msgid "Information URL." msgstr "Informations-URL." #: src/properties.cpp:1194 msgid "Information about the ISO Setting." msgstr "Information om ISO-inställningen." #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "ISRC-kod" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "Information om ISRC-koden." #: src/properties.cpp:1196 msgid "Junk Data" msgstr "Skräpdata" #: src/properties.cpp:1196 msgid "Video Junk data" msgstr "Videoskräpdata" #: src/properties.cpp:1197 msgid "Language." msgstr "Språk." #: src/properties.cpp:1198 msgid "Length" msgstr "Längd" #: src/properties.cpp:1198 msgid "The length of the media file." msgstr "Längden på mediafilen." #: src/properties.cpp:1200 msgid "Lens Type." msgstr "Objektivtyp." #: src/properties.cpp:1201 msgid "Lightness" msgstr "Ljusstyrka" #: src/properties.cpp:1201 msgid "Lightness." msgstr "Ljusstyrka." #: src/properties.cpp:1202 msgid "Location Information" msgstr "Platsinformation" #: src/properties.cpp:1202 msgid "Location Information." msgstr "Platsinformation." #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "Logoikon-URL" #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "En C-sträng som anger logoikon-URL." #: src/properties.cpp:1204 msgid "Logo URL" msgstr "Logo-URL" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "En C-sträng som anger en logo-URL." #: src/properties.cpp:1205 msgid "Lyrics" msgstr "Text" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "Text till en sång/video." #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "QTime Major FileType Brand" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "QuickTime Major File Type Brand" #: src/properties.cpp:1207 msgid "Equipment Make" msgstr "Utrustningstillverkare" #: src/properties.cpp:1207 msgid "Manufacturer of recording equipment" msgstr "Tillverkare av inspelningsutrustning" #: src/properties.cpp:1208 msgid "Camera Maker Note Type" msgstr "Kameratillverkare anteckningstyp" #: src/properties.cpp:1208 msgid "Maker Note Type of the camera." msgstr "Kameratillverkare anteckningstyp." #: src/properties.cpp:1209 msgid "Camera Maker Note Version" msgstr "Kameratillverkare anteckningstyp" #: src/properties.cpp:1209 msgid "Maker Note Version of the camera." msgstr "Kameratillverkare anteckningstyp." #: src/properties.cpp:1210 msgid "Maker URL" msgstr "Tillverkar-URL" #: src/properties.cpp:1210 msgid "Camera Manufacturer's URL." msgstr "Kameratillverkarens URL." #: src/properties.cpp:1211 msgid "Smallest F number of lens, in APEX." msgstr "Minsta F-nummer för objektiv i APEX." #: src/properties.cpp:1212 msgid "Maximum Bit Rate" msgstr "Högsta bithastighet" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" "Anger den högsta bithastigheten i bitar per sekund för hela filen. Det ska " "vara lika som summan av bithastigheterna för de olika digitala " "mediaströmmarna." #: src/properties.cpp:1213 msgid "Maximum Data Rate" msgstr "Maximal datahastighet" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" "Topphastighet för när data presenteras i en video (uttryckt i kB/s(kilobytes " "per sekund))" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "Media Track Create Date" msgstr "Mediaspår skapat" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" "Ett 32-bitars heltal som indikerar (i sekunder sedan midnatt, 1:a januari " "1904) när mediahuvudet skapades." #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "Media Track Duration" msgstr "Mediaspårets längd" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" "Ett tidsvärde som indikerar längden på detta media (i filmens " "tidskoordinatsystem)." #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "Media Header Version" msgstr "Mediahuvudversion" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "En en byte stor specifikation av versionen på detta mediahuvud" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "Media Language Code" msgstr "Mediaspråkkod" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "Ett 16-bitars heltal som anger språkkoden för detta media." #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "Media Track Modify Date" msgstr "Ändringsdatum för mediaspår" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" "Ett 32-bitars heltal som indikerar (i sekunder sedan midnatt, 1:a januari " "1904) för när mediahuvudet senast ändrades." #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "Mediatidsskala" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" "Ett tidsvärde som indikerar tidsskalan för detta media - det vill säga " "antalet tidsenheter som passerar per sekund i dess tidskoordinatsystem." #: src/properties.cpp:1220 msgid "Medium." msgstr "Media." #: src/properties.cpp:1221 msgid "Metadata" msgstr "Metadata" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "En vektor av okända/oregistrerade metadatataggar och deras värden." #: src/properties.cpp:1222 msgid "Metadata Library" msgstr "Metadatabibliotek" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "" "En vektor av oregistrerade bibliotekstaggar för metadata och deras värden." #: src/properties.cpp:1223 msgid "Metering mode." msgstr "Mätläge." #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "Mikrosekunder per bildruta" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "Antal mikrosekunder per bildruta eller bildrutehastighet" #: src/properties.cpp:1225 msgid "Mime Type" msgstr "Mime-typ" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "Berättar om videoformatet" #: src/properties.cpp:1226 msgid "QTime Minor FileType Version" msgstr "QTime Minor FileType Version" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "QuickTime Minor File Type Version" #: src/properties.cpp:1227 msgid "Equipment Model" msgstr "Utrustningsmodell" #: src/properties.cpp:1227 msgid "Model name or number of equipment." msgstr "Modellnamn eller nummer för utrustningen." #: src/properties.cpp:1228 msgid "Modification Date-Time" msgstr "Ändringsdatum datum-tid" #: src/properties.cpp:1228 msgid "Contains the modification date of the video" msgstr "Innehåller ändringsdatumet för videon" #: src/properties.cpp:1229 msgid "Movie Header Version" msgstr "Filmhuvudversion" #: src/properties.cpp:1230 msgid "Music By" msgstr "Musik av" #: src/properties.cpp:1230 msgid "Music By, i.e. name of person or organization." msgstr "Musik av, d.v.s. namn på person eller organisation." #: src/properties.cpp:1231 msgid "Muxing App" msgstr "Muxingprogram" #: src/properties.cpp:1231 msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" "Innehåller namnet på biblioteket som användes för att skapa filen (som " "”libmatroska 0.7.0”)" #: src/properties.cpp:1232 msgid "Name of song or the event." msgstr "Namn på låt eller händelsen." #: src/properties.cpp:1233 msgid "Next Track ID" msgstr "Nästa spår-ID" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" "Ett 32-bitars heltal som indikerar ett värde för att använda spår-ID-numret " "för nästa spår som tillagd till denna film. Observera att 0 inte är ett " "giltigt värde för spår-ID." #: src/properties.cpp:1234 msgid "Number Of Colours" msgstr "Antal färger" #: src/properties.cpp:1234 msgid "Total number of colours used" msgstr "Totala antalet färger som används" #: src/properties.cpp:1235 msgid "Number Of Important Colours" msgstr "Antal viktiga färger" #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "Antal viktiga färger, en egenskap ärvd från formatet BitMap" #: src/properties.cpp:1236 msgid "Number Of Parts" msgstr "Antal delar" #: src/properties.cpp:1236 msgid "Total number of parts in the video." msgstr "Totala antalet delar i videon." #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "Åtgärdsfärger" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" "Tre 16-bitars värden vilka anger den röda, gröna och blåa färgen för " "åtgärden överföringsläge indikerad i fältet grafikläge." #: src/properties.cpp:1238 msgid "Organization" msgstr "Organisation" #: src/properties.cpp:1238 msgid "Name of organization associated with the video." msgstr "Namnet på organisationen associerad med denna video." #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" "Videoriktning: 1 = horisontal (normal) 2 = spegling horisontal 3 = rotera " "180 4 = spegling vertikal 5 = spegling horisontal och rotera 270 CW 6 = " "rotera 90 CW 7 = spegling horisontal och rotera 90 CW 8 = rotera 270 CW" #: src/properties.cpp:1248 msgid "Part" msgstr "Del" #: src/properties.cpp:1248 msgid "Part." msgstr "Del." #: src/properties.cpp:1249 msgid "Performers" msgstr "Artister" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "Artister involverade i denna video." #: src/properties.cpp:1250 msgid "Performer Keywords" msgstr "Artister nyckelord" #: src/properties.cpp:1250 msgid "Performer Keywords." msgstr "Artister nyckelord." #: src/properties.cpp:1251 msgid "Performer URL" msgstr "Artist-URL" #: src/properties.cpp:1251 msgid "Performer's dedicated URL." msgstr "Artistens dedikerade URL." #: src/properties.cpp:1252 msgid "Picture Control Data" msgstr "Bildkontrolldata" #: src/properties.cpp:1252 msgid "Picture Control Data." msgstr "Bildkontrolldata." #: src/properties.cpp:1253 msgid "Picture Control Version" msgstr "Bildkontrollversion" #: src/properties.cpp:1253 msgid "Picture Control Data Version." msgstr "Bildkontrolldataversion." #: src/properties.cpp:1254 msgid "Picture Control Name" msgstr "Bildkontrollnamn" #: src/properties.cpp:1254 msgid "Picture Control Name." msgstr "Bildkontrollnamn." #: src/properties.cpp:1255 msgid "Picture Control Base" msgstr "Bildkontrollbas" #: src/properties.cpp:1255 msgid "Picture Control Data Base." msgstr "Bilkontrolldatabas." #: src/properties.cpp:1256 msgid "Picture Control Adjust" msgstr "Bildkontroll justera" #: src/properties.cpp:1256 msgid "Picture Control Adjust Information." msgstr "Bildkontroll justeringsinformation." #: src/properties.cpp:1257 msgid "Picture Control Quick Adjust" msgstr "Bildkontroll snabbjustering" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "Bildkontroll snabbjusteringsinställningar." #: src/properties.cpp:1258 msgid "Play Selection" msgstr "Spela markerade" #: src/properties.cpp:1258 msgid "Play Selection." msgstr "Spela markerade." #: src/properties.cpp:1259 msgid "Play Mode" msgstr "Uppspelningsläge" #: src/properties.cpp:1259 msgid "Information about the Play Mode." msgstr "Information om uppspelningsläge." #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "Avsnitt fysisk motsvarighet" #: src/properties.cpp:1260 msgid "Contains the information of External media." msgstr "Innehåller informationen om extern media." #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "Bildpunkter per meter X" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "Bildpunkter per x-meter, en egenskap ärvd från formatet BitMap" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "Bildpunkter per y-meter" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "Bildpunkter per y-meter, en egenskap ärvd från formatet BitMap" #: src/properties.cpp:1265 msgid "Planes" msgstr "Plan" #: src/properties.cpp:1265 msgid "The number of Image Planes in the video" msgstr "Antalet bildplan i videon" #: src/properties.cpp:1266 msgid "Poster Time" msgstr "Affischtid" #: src/properties.cpp:1266 msgid "The time value of the time of the movie poster." msgstr "Tidsvärdet för tiden för filmaffischen." #: src/properties.cpp:1267 msgid "Preferred Rate" msgstr "Föredragen hastighet" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" "En 32-bitars fixpunktstal som anger hastigheten för att spela denna film. " "Ett värde på 1.0 indikerar normal hastighet." #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "Föredragen volym" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" "En 16-bitars fixpunktstal som anger hur högt filmens ljud ska spelas upp. " "Ett värde på 1.0 indikerar full volym." #: src/properties.cpp:1269 msgid "Preroll" msgstr "Förrullning" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" "Anger tiden att buffra data innan uppspelning av filen i " "millisekundsenheter. Om detta värde inte är noll kommer spellängdsfältet och " "all payload presentationstidsfält att bli offset från detta värde. Därför " "måste uppspelningsprogramvaran dra av värdet i förrullningsfältet från " "uppspelningslängden och presentationstiden att beräkna från deras aktuella " "värden." #: src/properties.cpp:1272 msgid "Preview Atom Type" msgstr "Förhandsgranska Atom-typ" #: src/properties.cpp:1272 msgid "Indicates the type of atom that contains the preview data" msgstr "Indikerar Atom-typ som innehåller förhandsvisningsdata" #: src/properties.cpp:1273 msgid "Preview Date" msgstr "Förhandsvisningsdatum" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "Datumet för filmpremiären lokal tid konverterad från UTC" #: src/properties.cpp:1274 msgid "Preview Duration" msgstr "Förhandsgranska längd" #: src/properties.cpp:1274 msgid "The duration of the movie preview in movie time scale units" msgstr "Längden för förhandsvisningen av filmen i tidskalaenheter för film" #: src/properties.cpp:1275 msgid "Preview Time" msgstr "Förhandsvisningstid" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "Tiden i filmen då förhandsvisningen börjar." #: src/properties.cpp:1276 msgid "The version of the movie preview " msgstr "Versionen av filmförhandsvisningen " #: src/properties.cpp:1277 msgid "Produced By" msgstr "Producerad av" #: src/properties.cpp:1277 msgid "Produced By, i.e. name of person or organization." msgstr "Producerad av, d.v.s. namn på person eller organisation." #: src/properties.cpp:1278 msgid "Producer involved with the video." msgstr "Producent involverad i videon." #: src/properties.cpp:1279 msgid "Producer Keywords" msgstr "Producent nyckelord" #: src/properties.cpp:1279 msgid "Information about the Producer Keywords." msgstr "Information nyckelord för producent." #: src/properties.cpp:1280 msgid "Production Aperture Width" msgstr "Slutarbredd för produktion" #: src/properties.cpp:1280 msgid "Production aperture width in pixels" msgstr "Slutarbredd för produktion i bildpunkter" #: src/properties.cpp:1281 msgid "Production Aperture Height" msgstr "Slutarhöjd för produktion" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "Slutarhöjd för produktion i bildpunkter" #: src/properties.cpp:1282 msgid "Production Designer" msgstr "Produktionsdesigner" #: src/properties.cpp:1282 msgid "Information about the Production Designer." msgstr "Information om produktionsdesignern." #: src/properties.cpp:1283 msgid "Production Studio" msgstr "Produktionsstudio" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "Information om produktionsstudion." #: src/properties.cpp:1284 msgid "Product" msgstr "Produkt" #: src/properties.cpp:1284 msgid "Product." msgstr "Produkt." #: src/properties.cpp:1286 msgid "Rate" msgstr "Åldergräns" #: src/properties.cpp:1286 msgid "Rate." msgstr "Åldersgräns." #: src/properties.cpp:1287 msgid "Rated" msgstr "Åldersgräns satt" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "Åldersgränscirkeln krävd för att visa videon." #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "Åldersgräns, egentligen 7 eller 8 (av 10)." #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "Skivbolagsnamn" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "Skivbolagsnamn eller namnet på organisationen som spelat in videon." #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "Skivbolags-URL" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "Skivbolags-URL." #: src/properties.cpp:1291 msgid "Recording Copyright" msgstr "Upphovsrätt på inspelningen" #: src/properties.cpp:1291 msgid "Recording Copyright." msgstr "Upphovsrätt på inspelningen." #: src/properties.cpp:1292 msgid "Requirements" msgstr "Krav" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "Information om kraven." #: src/properties.cpp:1293 msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" "Enhet använd för XResolution och YResolution. Värdet är ett av: 2 = tum, 3 = " "centimeter." #: src/properties.cpp:1294 msgid "Ripped By" msgstr "Rippad av" #: src/properties.cpp:1294 msgid "Ripped By, i.e. name of person or organization." msgstr "Rippad av, d.v.s. namn på personen eller organisation." #: src/properties.cpp:1295 msgid "Indicates the direction of saturation processing applied by the camera." msgstr "Indikerar riktning på mättnadsbearbetningen kameran lagt på." #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "Sekundär genre" #: src/properties.cpp:1296 msgid "The name of the secondary genre.." msgstr "Namnet på sekundär genre.." #: src/properties.cpp:1297 msgid "Selection Time" msgstr "Markeringstid" #: src/properties.cpp:1297 msgid "The time value for the start time of the current selection." msgstr "Tidsvärdet på starttiden för aktuell markering." #: src/properties.cpp:1298 msgid "Selection Duration" msgstr "Markeringslängd" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "Längden på markerat val i filmtidsenheter." #: src/properties.cpp:1299 msgid "Send Duration" msgstr "Sändlängd" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" "Anger tiden det tar att sända filen i enhet 100 nanosekunder. Värdet bör " "inkludera längden på sista paketet i innehållet." #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "Programmet som användes för att generera / skapa videodata." #: src/properties.cpp:1303 msgid "Software Version" msgstr "Programversion" #: src/properties.cpp:1303 msgid "The Version of the software used." msgstr "Versionen av programmet." #: src/properties.cpp:1304 msgid "Song Writer" msgstr "Låtskrivare" #: src/properties.cpp:1304 msgid "The name of the song writer." msgstr "Namnet på låtskrivaren." #: src/properties.cpp:1305 msgid "Song Writer Keywords" msgstr "Nyckelord för låtskrivare" #: src/properties.cpp:1305 msgid "Song Writer Keywords." msgstr "Nyckelord för låtskrivare." #: src/properties.cpp:1307 msgid "Source Credits" msgstr "Tack" #: src/properties.cpp:1307 msgid "Source Credits." msgstr "Tack." #: src/properties.cpp:1308 msgid "Source Form" msgstr "Källform" #: src/properties.cpp:1308 msgid "Source Form." msgstr "Källform." #: src/properties.cpp:1309 msgid "Source Image Height" msgstr "Höjd på källbild" #: src/properties.cpp:1310 msgid "Source Image Width" msgstr "Bredd på källbild" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "Videobredd i bildpunkter" #: src/properties.cpp:1311 msgid "Starring" msgstr "Medverkande" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "Medverkande, namn på kända personer i videon." #: src/properties.cpp:1312 msgid "Start Timecode" msgstr "Starttidskod" #: src/properties.cpp:1313 msgid "Statistics" msgstr "Statistik" #: src/properties.cpp:1313 msgid "Statistics." msgstr "Statistik." #: src/properties.cpp:1314 msgid "Stream Count" msgstr "Strömantal" #: src/properties.cpp:1314 msgid "Total Number Of Streams" msgstr "Totala antalet strömmar" #: src/properties.cpp:1315 msgid "Stream Name" msgstr "Strömnamn" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "Beskrivning av strömnamnet, exempelvis FUJIFILM AVI STREAM 0100" #: src/properties.cpp:1316 msgid "Stream Quality" msgstr "Strömkvalitet" #: src/properties.cpp:1316 msgid "General Stream Quality" msgstr "Allmän strömkvalitet" #: src/properties.cpp:1317 msgid "Stream Sample Rate" msgstr "Strömsamplingsfrekvens" #: src/properties.cpp:1318 msgid "Stream Sample Count" msgstr "Strömmens samplingsantal" #: src/properties.cpp:1319 msgid "Stream Sample Size" msgstr "Strömmens samplingsstorlek" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "Allmän strömsamplingsstorlek" #: src/properties.cpp:1320 msgid "Stream Type" msgstr "Strömtyp" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "Beskriver strömtypen, exempelvis - video, ljud eller undertexter" #: src/properties.cpp:1321 msgid "Subtitles Codec" msgstr "Undertextkodek" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "Strömkodek för undertexter, för allmän användning" #: src/properties.cpp:1322 msgid "Subtitle Codec Decode Info" msgstr "Avkodningsinformation om undertextkodek" #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" "Innehåller information om undertextkodeken avkodning, d.v.s. aktiverad/" "inaktiverad" #: src/properties.cpp:1323 msgid "Subtitles Codec Information" msgstr "Information om undertextkodek" #: src/properties.cpp:1323 msgid "Contains additional information about subtitles." msgstr "Innehåller ytterligare information om undertexter." #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "Hämtnings-URL för undertextkodek" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "Hämtnings-URL för videoundertextkodek." #: src/properties.cpp:1325 msgid "Subtitle Codec Settings" msgstr "Inställningar för undertextkodek" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "Undertextspår aktiverat som standard" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "Undertextspår aktiverat som standard, d.v.s. aktiverat/inaktiverat" #: src/properties.cpp:1327 msgid "Subtitle Track Enabled" msgstr "Undertextspår aktiverat" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "Status på undertextspår, d.v.s. aktiverat/inaktiverat" #: src/properties.cpp:1328 msgid "Subtitle" msgstr "Undertext" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "Undertext för videon." #: src/properties.cpp:1329 msgid "Subtitle Keywords" msgstr "Nyckelord för undertext" #: src/properties.cpp:1329 msgid "Subtitle Keywords." msgstr "Nyckelord för undertext." #: src/properties.cpp:1330 msgid "Subtitles Language" msgstr "Undertextspråk" #: src/properties.cpp:1330 msgid "The Language in which the subtitles is recorded in." msgstr "Språket på undertexterna." #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "Tvingat undertextspår" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "Tvingat undertextspår, d.v.s. aktiverat/inaktiverat" #: src/properties.cpp:1332 msgid "Subtitle Track Lacing" msgstr "Undertextspår-lacing" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "Undertextspår-lacing, d.v.s. aktiverat/inaktiverat" #: src/properties.cpp:1333 msgid "Subject. " msgstr "Subjekt. " #: src/properties.cpp:1334 msgid "TapeName." msgstr "Bandnamn." #: src/properties.cpp:1335 msgid "Tag Default Setting" msgstr "Standardtagginställning" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "Om tagg är aktiverat som standard är värdet ja, annars nej " #: src/properties.cpp:1336 msgid "Tag Language" msgstr "Taggspråk" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "Det språk som använts för att definiera taggar" #: src/properties.cpp:1337 msgid "Tag Name" msgstr "Taggnamn" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "Taggar kunde användas till att definiera flera titlar för ett segment." #: src/properties.cpp:1338 msgid "Tag String" msgstr "Taggsträng" #: src/properties.cpp:1338 msgid "Information contained in a Tags" msgstr "Information i taggar" #: src/properties.cpp:1339 msgid "Target Type" msgstr "Måltyp" #: src/properties.cpp:1339 msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "" "Sträng som beskriver den logiska nivån på objektet taggen hänvisar till." #: src/properties.cpp:1340 msgid "Technician" msgstr "Tekniker" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "Tekniker, i vanliga fall namnet på en person." #: src/properties.cpp:1341 msgid "Thumbnail Height" msgstr "Miniatyrbildhöjd" #: src/properties.cpp:1341 msgid "Preview Image Thumbnail Height." msgstr "Förhandsvisningshöjd på miniatyrbild." #: src/properties.cpp:1342 msgid "Preview Image Thumbnail Length." msgstr "Förhandsvisningslängd på miniatyrbild." #: src/properties.cpp:1343 msgid "Thumbnail Width" msgstr "Miniatyrbildsbredd" #: src/properties.cpp:1343 msgid "Preview Image Thumbnail Width." msgstr "Förhandsvisningsbredd på miniatyrbild." #: src/properties.cpp:1344 msgid "Timecode Scale" msgstr "Tidkodsskala" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "" "Multipliceringsfaktor som hjälper till vid beräkning av en speciell tidskod" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "Time Offset" msgstr "Tidsförskjutning" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" "Anger presentationstidsförskjutningen för strömmen i enheter om 100 " "nanosekunder. Värdet kommer att vara lika som sändningstiden för det första " "inflätade paketet i dataavsnittet." #: src/properties.cpp:1346 msgid "Time Scale" msgstr "Tidsskala" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" "Ett tidsvärde som indikerar tidsskalan för denna film - det vill säga " "antalet tidsenheter som passerar per sekund i dess tidskoordinatsystem. Ett " "tidskoordinatsystem som mäter tid i sextiondel av en sekund har till exempel " "en tidsskala på 60." #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" "Innehåller ett generellt namn för SEGMENTET, exempelvis ”Sagan om ringen - " "de två tornen” - men taggar kan användas till att definiera titlar för ett " "segment." #: src/properties.cpp:1350 msgid "Toning Effect Settings Applied." msgstr "Inställningar för toningseffekter tillämpade." #: src/properties.cpp:1351 msgid "Total Frame Count" msgstr "Antal bildrutor" #: src/properties.cpp:1352 msgid "Number Of Streams" msgstr "Antal strömmar" #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "Antala strömmar i en video, exempelvis video, ljud eller undertexter" #: src/properties.cpp:1353 msgid "Track" msgstr "Spår" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "Information om spåret." #: src/properties.cpp:1354 msgid "Video Track Create Date" msgstr "Videospår skapat" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" "Ett 32-bitars heltal som indikerar (i sekunder sedan midnatt, 1:a januari " "1904) när spårhuvudet skapades." #: src/properties.cpp:1355 msgid "Video Track Duration" msgstr "Videospårets längd" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" "Ett tidsvärde som indikerar längden på detta spår (i filmens " "tidskoordinatsystem)." #: src/properties.cpp:1356 msgid "Video Track Forced" msgstr "Videospår tvingat" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "Videospår tvingad, d.v.s. aktiverat/inaktiverat" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "Track ID" msgstr "Spår-ID" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" "Ett 32-bitars heltal som unikt identifierar spåret. Kan inte använda värdet " "0." #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "Track Header Version" msgstr "Spårhuvudversion" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "En 1-bitars specifikation av version för detta spårhuvud" #: src/properties.cpp:1359 msgid "Video Track Lacing" msgstr "Videospår-lacing" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "Videospår-lacing, d.v.s. aktiverat/inaktiverat" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "Track Language" msgstr "Spårspråk" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "The Language in which a particular stream is recorded in." msgstr "Språket vilket en specifik ström är inspelad i." #: src/properties.cpp:1361 msgid "Video Track Layer" msgstr "Videospårlager" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" "Ett 16-bitars heltal som indikerar detta spårs spatiala prioritet i dess " "film. QuickTime MovieToolbox använder värdet för att bestämma hur spår " "överlagrar varandra. Spår med lägre lagervärden visas före spår med höge " "lagervärden." #: src/properties.cpp:1364 msgid "Video Track Modify Date" msgstr "Ändringsdatum för videospår" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" "Ett 32-bitars heltal som indikerar (i sekunder sedan midnatt 1:a januari " "1904) när spårhuvudet ändrades senast." #: src/properties.cpp:1365 msgid "Track Name" msgstr "Spårnamn" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "Spårnamn kan användas för att definiera titlar för ett segment." #: src/properties.cpp:1366 msgid "Track Number." msgstr "Spårnummer." #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "Track Volume" msgstr "Spårvolym" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" "Ett 16-bitars fixpunktstal som specificerar hur högt ljudspåret ska spelas " "upp. Ett värde på 1.0 indikerar full volym." #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "Kapitel översättningskodek" #: src/properties.cpp:1368 msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" "Kapitel översättningskodekinformation. Kan användas i Matroska fil-typer." #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown Information" msgstr "Okänd information" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "Okända/oregistrerade metadatataggar och deras värden." #: src/properties.cpp:1371 msgid "Video URL" msgstr "Video-URL" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" "En C-sträng som specificerar en URL. Det kan finnas ytterligare data i C-" "strängen." #: src/properties.cpp:1372 msgid "Video URN" msgstr "Video-URN" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" "En C-sträng som specificerar en URN. Det kan finnas ytterligare data efter C-" "strängen." #: src/properties.cpp:1373 msgid "Vari Program" msgstr "Variprogram" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "Programinställningar som används för att generera / skapa videodata." #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "Vegas version major" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "Vegas version major." #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "Vegas version minor" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "Vegas version minor." #: src/properties.cpp:1376 msgid "Vendor" msgstr "Tillverkare" #: src/properties.cpp:1376 msgid "The developer of the compressor that generated the compressed data." msgstr "Utvecklaren för kompressorn som genererar den komprimerade data." #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "Vendor ID" msgstr "Tillverkar-ID" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" "Ett 32-bitars heltal som anger utvecklaren för komprimeraren vilken " "genererade den komprimerade datan. Fältet innehåller ofta ”appl” till för " "att visa Apple Computer, Inc." #: src/properties.cpp:1378 msgid "Video Quality" msgstr "Videokvalitet" #: src/properties.cpp:1378 msgid "Video Stream Quality" msgstr "Videoströmkvalitet" #: src/properties.cpp:1379 msgid "Video Sample Size" msgstr "Videosamplingsstorlek" #: src/properties.cpp:1379 msgid "Video Stream Sample Size" msgstr "Samplingsstorlek för videoström" #: src/properties.cpp:1380 msgid "Video Scan Type" msgstr "Videoskanningstyp" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "Videoskanningstyp, kan vara progressiv eller flätad" #: src/properties.cpp:1381 msgid "Watermark URL" msgstr "Vattenmärke-URL" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "En C-sträng som specificerar en vattenmärke-URL." #: src/properties.cpp:1384 msgid "White Balance Fine Tune." msgstr "Finjustering av vitbalans." #: src/properties.cpp:1385 msgid "Video Width" msgstr "Videobredd" #: src/properties.cpp:1386 msgid "Window Location" msgstr "Fönsterplats" #: src/properties.cpp:1386 msgid "Information about the Window Location." msgstr "Information om fönsterplatsen." #: src/properties.cpp:1388 msgid "Written By" msgstr "Skriven av" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "Skriven av, d.v.s. namnet på en person eller organisation." #: src/properties.cpp:1389 msgid "Writing App" msgstr "Skapar program" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" "Innehåller namnet på programmet som används för att skapa filen (t.ex. " "”mkvmerge 0.8.1”)" #: src/properties.cpp:1390 msgid "Horizontal resolution in pixels per unit." msgstr "Horisontal upplösning i bildpunkter per enhet." #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "År" #: src/properties.cpp:1391 msgid "Year in which the video was made." msgstr "År då videon skapades." #: src/properties.cpp:1392 msgid "Vertical resolution in pixels per unit." msgstr "Vertikal upplösning i bildpunkter per enhet." #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "Genomsnittliga byte per sekund" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "Genomsnittliga byte per sekund funna i ljudström" #: src/properties.cpp:1398 msgid "Balance" msgstr "Balans" #: src/properties.cpp:1398 msgid "Indicates the left-right balance of the audio" msgstr "Vänster-högerbalans för ljudet" #: src/properties.cpp:1399 msgid "Bits Per Sample/ Bit Rate" msgstr "Bitar per sampling/bithastighet" #: src/properties.cpp:1399 msgid "Bits per test sample" msgstr "Bitar per testsampling" #: src/properties.cpp:1401 msgid "Audio Codec" msgstr "Ljudkodek" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "Kodek som används för kodning/avkodning" #: src/properties.cpp:1402 msgid "Audio Codec Decode Info" msgstr "Ljudkodek avkodningsinformation" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "Information om ljudkodeken decode all, d.v.s. aktiverade/inaktiverade" #: src/properties.cpp:1403 msgid "Audio Codec Description" msgstr "Ljudkodekbeskrivning" #: src/properties.cpp:1404 msgid "Audio Codec Download URL" msgstr "Hämtnings-URL för ljudkodek" #: src/properties.cpp:1404 msgid "Audio Codec Download URL." msgstr "Hämtnings-URL för ljudkodek." #: src/properties.cpp:1405 msgid "Audio Codec Information" msgstr "Ljudkodekinformation" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" "Information kodeken behöver innan avkodning kan ske. Ett exempel är paketen " "Vorbis-initiering för Vorbis-ljud." #: src/properties.cpp:1406 msgid "Audio Codec Settings" msgstr "Ljudkodekinställningar" #: src/properties.cpp:1408 msgid "Audio Default Duration" msgstr "Standardlängd för ljud" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "Antalet mikrosekunder en ljudchunk spelar." #: src/properties.cpp:1409 msgid "Audio Default Stream" msgstr "Standardström för ljud" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "Ljudström att spela upp som standard." #: src/properties.cpp:1410 msgid "Audio Track Default On" msgstr "Ljudspår standard på" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "Ljudspår standard på, d.v.s. inaktiverad/inaktiverad" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "Ljudspår aktiverat" #: src/properties.cpp:1411 msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "Status för ljudspår, d.v.s. aktiverad/inaktiverad" #: src/properties.cpp:1412 msgid "Audio Format" msgstr "Ljudformat" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "En fyra tecken lång kod som identifierar ljudformatet." #: src/properties.cpp:1423 msgid "Output Audio Sample Rate" msgstr "Samplingsfrekvens för ljudutmatning" #: src/properties.cpp:1423 msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" "Samplingsfrekvens på ljudutmatning. Valfritt värde men vanligtvis 32000, " "41100 eller 48000." #: src/properties.cpp:1424 msgid "Audio Sample Count" msgstr "Ljudsamplingsantal" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "Sampling tagen för att analysera ljudström" #: src/properties.cpp:1427 msgid "Sound Scheme Title" msgstr "Namn på ljudschema" #: src/properties.cpp:1427 msgid "Sound Scheme Title." msgstr "Namn på ljudschema." #: src/properties.cpp:1429 msgid "Audio Track Create Date" msgstr "Ljudspår skapat" #: src/properties.cpp:1430 msgid "Audio Track Duration" msgstr "Ljudspårslängd" #: src/properties.cpp:1431 msgid "Audio Track Forced" msgstr "Ljudspår tvingat" #: src/properties.cpp:1431 msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "Ljudspår tvingat, d.v.s. aktiverat/inaktiverat" #: src/properties.cpp:1434 msgid "Audio Track Lacing" msgstr "Videospår-lacing" #: src/properties.cpp:1434 msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "Videospår-lacing, d.v.s. aktiverat/inaktiverat" #: src/properties.cpp:1436 msgid "Audio Track Layer" msgstr "Ljudspårslager" #: src/properties.cpp:1439 msgid "Audio Track Modify Date" msgstr "Ändringsdatum för ljudspår" #: src/properties.cpp:1441 msgid "Audio URL" msgstr "Ljud-URL" #: src/properties.cpp:1442 msgid "Audio URN" msgstr "Ljud-URN" #: src/properties.cpp:1449 msgid "The nature or genre of the resource." msgstr "Namnet på genren eller resursens natur." #: src/properties.cpp:1450 msgid "Date Modified" msgstr "Datum ändrad" #: src/properties.cpp:1450 msgid "Date on which the resource was changed." msgstr "Datum då resursen ändrades." #: src/properties.cpp:1451 msgid "A language of the resource." msgstr "Ett språk för resursen." #: src/properties.cpp:1452 msgid "License" msgstr "Licens" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" "Ett juridiskt dokument som ger officiell tillåtelse att göra något med " "resursen." #: src/properties.cpp:1453 msgid "Rights Holder" msgstr "Rättighetsägare" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" "En person eller organisation som äger eller hanterar rättigheter för " "resursen." #: src/properties.cpp:1454 msgid "Access Rights" msgstr "Åtkomsträttigheter" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" "Information om vilken som kan komma åt resursen eller en indikation på dess " "säkerhetsstatus." #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "Källhänvisning" #: src/properties.cpp:1455 msgid "A bibliographic reference for the resource." msgstr "En källhänvisning för resursen." #: src/properties.cpp:1456 msgid "References" msgstr "Referenser" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" "En relaterad resurs som refereras, citeras eller annars pekas ut av den " "beskrivna resursen." #: src/properties.cpp:1459 msgid "*Main structure* containing Darwin Core location based information." msgstr "*Huvudstruktur* innehållandes Darwin Core platsbaserad information." #: src/properties.cpp:1468 msgid "Record" msgstr "Post" #: src/properties.cpp:1469 msgid "*Main structure* containing record based information." msgstr "*Huvudstruktur* innehållandes postbaserad information." #: src/properties.cpp:1472 msgid "Institution ID" msgstr "Institutions-ID" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" "En identifierare för institutionen som förvaltar objekt(en) eller information" "(en) inspelningen hänvisar till." #: src/properties.cpp:1475 msgid "Collection ID" msgstr "Samlings-ID" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" "Identifierare för samlingen eller datamängden från vilken inspelningen " "härstammar ifrån. För fysiska prover är det rekommenderade sättet att " "använda identifieraren i ett samlingsregister som Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." #: src/properties.cpp:1478 msgid "Institution Code" msgstr "Institutionskod" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" "Namnet (eller akronymen) använd av institutionen som har vårdnaden av objekt" "(en) eller information(en) inspelningen hänvisar till." #: src/properties.cpp:1481 msgid "Dataset ID" msgstr "Datamängd-ID" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "" "Identifierare för datamängden. Kan vara en global unik identifierare eller " "en identifierare specifik för en samling eller institution." #: src/properties.cpp:1484 msgid "Collection Code" msgstr "Samlingskod" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" "Namnet, akronymen, koden eller initialismen som identifierar samlingen eller " "datamängden från vilken inspelningen härstammar." #: src/properties.cpp:1487 msgid "Dataset Name" msgstr "Datamängdsnamn" #: src/properties.cpp:1488 msgid "The name identifying the data set from which the record was derived." msgstr "" "Namnet som identifierar det datamängden från vilket inspelningen härrör." #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "Kod för ägarinstitution" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" "Namnet (eller akronymen) använd av institutionen som äger objekt(et) eller " "information(en) inspelningen hänvisar till." #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "Inspelningens grund" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" "Specifika området för inspelningen - en undertyp av typen. Rekommenderad " "användning är att använda en kontrollerad vokabulär som Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." #: src/properties.cpp:1496 msgid "Information Withheld" msgstr "Information hemlighållen" #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" "Ytterligare information som finns men inte har delats i den givna posten." #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "Datageneraliseringar" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" "Åtgärder för att göra den delade datan mindre specifik eller komplett än i " "dess ursprungliga form. Implicerar att alternativ data av högre kvalitet kan " "finnas tillgänglig vid begäran." #: src/properties.cpp:1502 msgid "Dynamic Properties" msgstr "Dynamiska egenskaper" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" "En lista (konkatenerad och separerad) över ytterligare mätningar, fakta, " "karakteristik eller försäkran om posten. Avsedd för att strukturerat " "innehåll som nyckel-värdepar." #: src/properties.cpp:1507 msgid "Occurrence" msgstr "Förekomst" #: src/properties.cpp:1508 msgid "*Main structure* containing occurrence based information." msgstr "*Huvudstruktur* innehållandes förekomstbaserad information." #: src/properties.cpp:1511 msgid "Occurrence ID" msgstr "Händelse-ID" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" "En identifierare för förekomsten (i motsats till en specifik digital post av " "förekomsten). I avsaknad av en beständig global unik identifierare, skapa en " "från kombinationen av identifierare i posten som mest kan göra förekomst-ID " "globalt unik." #: src/properties.cpp:1514 msgid "Catalog Number" msgstr "Katalognummer" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" "En identifierare (helst unik) för posten i datamängden eller -samlingen." #: src/properties.cpp:1517 msgid "Occurrence Details" msgstr "Detaljer om förekomst" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "Föråldrad. Detaljer om förekomsten." #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "Förekomst-kommentarer" #: src/properties.cpp:1521 msgid "Comments or notes about the Occurrence." msgstr "Kommentarer eller anteckningar om förekomsten." #: src/properties.cpp:1523 msgid "Record Number" msgstr "Inspelningsnummer" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" "En identifierare för förekomsten då den spelades in. Används ofta som en " "länk mellan fältanteckningar och en förekomstpost som en individs " "samlingsnummer." #: src/properties.cpp:1526 msgid "Recorded By" msgstr "Inspelad av" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" "En lista (konkatenerad och separerad) över namn på personer, grupper eller " "organisationer ansvariga för att spela in originalförekomsten. Primär " "samlare eller observatör, speciellt en som lägger till en personlig " "identifierare (recordNumber), ska listas först." #: src/properties.cpp:1529 msgid "Individual ID" msgstr "Individ-ID" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" "Föråldrad. En identifierare för en individ eller namngiven grupp av " "individuella organismer representerade i förekomsten. Avsedd att underlätta " "återsampling av samma individ eller grupp i övervakningssyften. Kan vara en " "global unik identifierare eller en identifierare specifik för en datamängd." #: src/properties.cpp:1532 msgid "Individual Count" msgstr "Individantal" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "Antalet individer närvarande vid förekomsten." #: src/properties.cpp:1535 msgid "Organism Quantity" msgstr "Organismkvantitet" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "En siffra eller uppräkningsvärde för antalet organismer." #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "Organism antalstyp" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "Typ av kvantifieringssystem som används för antalet organismer." #: src/properties.cpp:1541 msgid "Sex" msgstr "Kön" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" "Kön på individ(erna) i förekomsten. Rekommenderad användning är att använda " "en kontrollerad vokabulär." #: src/properties.cpp:1544 msgid "Life Stage" msgstr "Livsnivå" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" "Åldersgrupp eller livsnivå för individ(erna) då förekomsten spelades in. " "Rekommenderad användning är att använda en kontrollerad vokabulär." #: src/properties.cpp:1547 msgid "Reproductive Condition" msgstr "Reproduktivt tillstånd" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" "Reproduktivt tillstånd på individ(erna) i förekomsten. Rekommenderad " "användning är att använda en kontrollerad vokabulär." #: src/properties.cpp:1550 msgid "Behavior" msgstr "Beteende" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" "En beskrivning av subjektets beteende i förekomsten då den spelades in. " "Rekommenderad användning är att använda en kontrollerad vokabulär." #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "Etableringstillvägagång" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" "Processen för hur individ(erna) i förekomsten etablerade sig på platsen. " "Rekommenderad användning är att använda en kontrollerad vokabulär." #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "Status på förekomst" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" "Ett uttalande om närvaro eller frånvaro av ett taxon på en plats. " "Rekommenderad användning är att använda en kontrollerad vokabulär." #: src/properties.cpp:1559 msgid "Preparations" msgstr "Förberedelser" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" "En lista (konkatenerad eller separerad) över förberedelser och " "bevaringsmetoder för en individ." #: src/properties.cpp:1562 msgid "Disposition" msgstr "Disposition" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" "Nuvarande tillstånd på en individ utifrån samlingen identifierade i " "collectionCode eller collectionID. Rekommenderad användning är att använda " "en kontrollerad vokabulär." #: src/properties.cpp:1565 msgid "Other Catalog Numbers" msgstr "Andra katalognummer" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" "En lista (konkatenerad och separerad) över tidigare eller alternativa " "kvalificerade katalognummer eller andra mänskligt läsbara identifierare för " "samma förekomst i alla datamängder eller -samlingar." #: src/properties.cpp:1568 src/properties.cpp:1607 msgid "Previous Identifications" msgstr "Tidigare identifieringar" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" "Föråldrad. En lista (konkatenerad och separerad) över tidigare tilldelningar " "av namn i förekomsten." #: src/properties.cpp:1571 msgid "Associated Media" msgstr "Associerad media" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" "En lista (konkatenerad och separerad) över identifierare (publicering, " "globala unika identifierare, URI) för media associerade med förekomsten." #: src/properties.cpp:1574 msgid "Associated References" msgstr "Associerade referenser" #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" "En lista (konkatenerad och separerad) över identifierare (publikationer, " "källreferenser, globala unika identifierare, URI) över litteratur associerad " "med förekomsten." #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "Associerade förekomster" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" "Föråldrad. En lista (konkatenerad och separerad) över identifierare över " "andra förekomstsposter och deras associationer till denna förekomst." #: src/properties.cpp:1580 msgid "Associated Sequences" msgstr "Associerade sekvenser" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" "En lista (konkatenerad och separerad) över identifierare (publikationer, " "globala unika identifierare, URI) över genetisk sekvensinformation " "associerade med förekomsten." #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "Associerad taxa" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" "En lista (konkatenerad och separerad) över identifierare eller namn på taxa " "och deras associationer med förekomsten." #: src/properties.cpp:1588 msgid "Organism" msgstr "Organism" #: src/properties.cpp:1589 msgid "*Main structure* containing organism based information." msgstr "*Huvudstruktur* innehållandes organismbaserad information." #: src/properties.cpp:1592 msgid "Organism ID" msgstr "Organism-ID" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" "En identifierare för organisminstansen (i motsats till en specifik digital " "post av organismen). Kan vara en global unik identifierare eller en " "identifierare specifik för datamängden." #: src/properties.cpp:1595 msgid "Organism Name" msgstr "Organismnamn" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "Ett namn eller en etikett tilldelad till en organisminstans." #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "Organismomfång" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" "En beskrivning av organisminstansen. Kan användas för att indikera huruvida " "organisminstansen representerar en diskret organism eller om den " "representerar en speciellt typ av aggregation. Rekommenderad användning är " "att använda en kontrollerad vokabulär." #: src/properties.cpp:1601 msgid "Organism Associated Occurrences" msgstr "Organismassocierade förekomster" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" "En lista (konkatenerad och separerad med ett vertikalt ”| ”) över " "identifierare över andra förekomstsposter och deras associationer till denna " "förekomst." #: src/properties.cpp:1604 msgid "Associated Organisms" msgstr "Associerade organismer" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" "En lista (konkatenerad och separerad med ”|”) över identifierare över andra " "organismer och deras associationer till denna organism." #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" "En lista (konkatenerad and separerad med '”|” ) över tidigare tilldelning av " "namn till organismen." #: src/properties.cpp:1610 msgid "Organism Remarks" msgstr "Organismanmärkningar" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "Kommentarer eller anteckningar om organisminstansen." #: src/properties.cpp:1615 msgid "Material Sample" msgstr "Materialsampling" #: src/properties.cpp:1616 msgid "*Main structure* containing material sample based information." msgstr "*Huvudstruktur* innehållandes materialsamplingsbaserad information." #: src/properties.cpp:1618 msgid "Living Specimen" msgstr "Levande exemplar" #: src/properties.cpp:1619 msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "" "*Huvudstruktur* innehållandes information baserad på levande exemplar. Ett " "levande exemplar." #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "Bevarat exemplar" #: src/properties.cpp:1622 msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "" "*Huvudstruktur* innehållandes information baserad på bevarat exemplar. Ett " "exemplar som bevarats." #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "Fossilt exemplar" #: src/properties.cpp:1625 msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "" "*Huvudstruktur* innehållandes information baserad på fossilt exemplar. Ett " "bevarat exemplar som är en fossil." #: src/properties.cpp:1628 msgid "Material Sample ID" msgstr "Materialsamplings-ID" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" "En identifierare för MaterialSample (som motsats till en specifik digital " "post av materialsampling). I frånvaron av en beständig global unik " "identifierare, skapa en från en kombination av identifierare i posten som " "närmast gör materialSampleID globalt unik." #: src/properties.cpp:1634 msgid "*Main structure* containing event based information." msgstr "*Huvudstruktur* innehållandes händelsebaserad information." #: src/properties.cpp:1636 msgid "Human Observation" msgstr "Mänsklig observation" #: src/properties.cpp:1637 msgid "*Main structure* containing human observation based information." msgstr "" "*Huvudstruktur* innehållandes information baserad på mänsklig observation." #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "Maskinell obeservation" #: src/properties.cpp:1640 msgid "*Main structure* containing machine observation based information." msgstr "" "*Huvudstruktur* innehållandes information baserad på maskinell observation." #: src/properties.cpp:1643 msgid "Event ID" msgstr "Händelse-ID" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" "En identifierare för mängden information associerad med en händelse (något " "som förekommer med plats och tid). Kan vara en global unik identifierare " "eller en identifierare specifik för datamängden." #: src/properties.cpp:1646 msgid "Parent Event ID" msgstr "Överordnat händelse-ID" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" "En identifierare för den bredare händelse som grupperar den här, och " "potentiellt andra händelser." #: src/properties.cpp:1649 msgid "Event Date" msgstr "Händelsedatum" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" "Datum-tid eller intervallet under vilket en händelser inträffade. För " "förekomster är detta datum-tid när händelsen spelades in. Passar in för tid " "i en geologisk kontext. Rekommenderad användning är att använda " "kodningsscheman som ISO 8601:2004(E)." #: src/properties.cpp:1652 msgid "Event Earliest Date" msgstr "Tidigaste händelsedatum" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" "Föråldrad. (Underordnad Xmp.dwc.Event) Datum-tid eller intervallet under " "vilket en händelse inträffade. För förekomster är detta datum-tid när " "händelsen spelades in. Passar inte för tid i en geologisk kontext. " "Rekommenderat användning är att använda kodningsscheman som ISO 8601:2004(E)." #: src/properties.cpp:1655 msgid "Event Latest Date" msgstr "Senare händelsedatum" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" "Föråldrad. (Underordnad Xmp.dwc.Event) Datum-tid eller intervallet under " "vilket en händelse inträffade. För förekomster är detta datum-tid när " "händelsen spelades in. Passar inte för tid i en geologisk kontext. " "Rekommenderat användning är att använda kodningsscheman som ISO 8601:2004(E)." #: src/properties.cpp:1658 msgid "Event Time" msgstr "Händelsetid" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" "Tid eller intervall under vilken en händelser inträffat. Rekommenderad " "användning är att använda ett kodningsschema som ISO 8601:2004(E)." #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "Startdag på året" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" "Tidigaste dagnummer då vilken händelsen inträffade (1 för januari, 365 för " "31:a december förutom skottår då det är 366)." #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "Sistadag på året" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" "Det sista dagnumret på året då vilken händelsen inträffade (1 för januari, " "365 för 31:a december utom skottår då det är 366)." #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "Fyrsiffriga året för när händelsen inträffade enligt vår tideräkning." #: src/properties.cpp:1670 msgid "Month" msgstr "Månad" #: src/properties.cpp:1671 msgid "The ordinal month in which the Event occurred." msgstr "Månadsnummer då händelsen inträffad." #: src/properties.cpp:1673 msgid "Day" msgstr "Dag" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "Månadsdag i heltal då händelsen inträffade." #: src/properties.cpp:1676 msgid "Verbatim Event Date" msgstr "Informativt händelsedatum" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" "Bokstavliga originalrepresentationen av datum och tidsinformation för en " "händelse." #: src/properties.cpp:1679 msgid "Habitat" msgstr "Miljö" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" "En kategori eller beskrivning av miljön i vilken en händelse inträffade." #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "Samplingsprotokoll" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" "Namnet på, referensen till, eller beskrivningen av metoden eller protokollet " "som användes vid en händelse." #: src/properties.cpp:1685 msgid "Sampling Effort" msgstr "Samplingsförsök" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "Mängden av arbetsinsats som gick åt under en händelse." #: src/properties.cpp:1688 msgid "Sampling Size Value" msgstr "Värde på samplingsstorlek" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" "Ett numeriskt värde för mätningen av storleken (tid, längd, område eller " "volym) för en sampling i en samplingshändelse." #: src/properties.cpp:1691 msgid "Sampling Size Unit" msgstr "Enhet för samplingsstorlek" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" "Enheten för mätningen av storlek (tid, längd, område eller volym) för en " "sampling i en samplingshändelse." #: src/properties.cpp:1694 msgid "Field Number" msgstr "Fältnummer" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" "En identifierare given till händelsen i fältet. Används ofta som en länk " "mellan fältanteckningar och händelse." #: src/properties.cpp:1697 msgid "Field Notes" msgstr "Fältanteckningar" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" "En (a) en indikator på existensen av , (b) en referens till (publikation, " "URI) eller (c) texten för anteckningar i fältet om händelsen." #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "Händelseanmärkningar" #: src/properties.cpp:1701 msgid "Comments or notes about the Event." msgstr "Kommentarer eller anteckningar om händelsen." #: src/properties.cpp:1705 msgid "Location Class" msgstr "Platsklass" #: src/properties.cpp:1706 msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "" "Föråldrad. Använd Xmp.dcterms.Location istället. *Huvudstruktur* " "innehållandes platsbaserad information." #: src/properties.cpp:1709 msgid "Location ID" msgstr "Plats-ID" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" "En identifierare för mängden av platsinformation (data associerad med " "platsen). Kan vara en global unik identifierare eller en identifierare " "specifik för datamängden." #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "Högre geografi-ID" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" "En identifierare för det geografiska området är platsen var. Rekommenderad " "användning är att använda en beständig identifierare från en kontrollerad " "vokabulär som Getty uppslagsverk över geografiska namn." #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "Högre geografi" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" "En lista (konkatenerad och separerad) över geografiska namn mindre specifik " "än informationen infångad i platstermen." #: src/properties.cpp:1718 msgid "Continent" msgstr "Kontinent" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "" "Namnet på kontinenten där platsen finns. Rekommenderad användning är att " "använda en kontrollerad vokabulär som Getty uppslagsverk över geografiska " "namn eller ISO 3166-kontinentkoden." #: src/properties.cpp:1721 msgid "Water Body" msgstr "Vattenmärke" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" "Namnet på vattenmärket är platsen finns. Rekommenderad användning är att " "använda en kontrollerad vokabulär som Getty uppslagsverk över geografiska " "namn." #: src/properties.cpp:1724 msgid "Island Group" msgstr "Ögrupp" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" "Namnet på ögruppen där platsen finns. Rekommenderad användning är att " "använda en kontrollerad vokabulär som Getty uppslagsverk över geografiska " "namn." #: src/properties.cpp:1727 msgid "Island" msgstr "Ö" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" "Namnet på ön som platsen finns på. Rekommenderad användning är att använda " "en kontrollerad vokabulär som Getty uppslagsverk över geografiska namn." #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" "Namnet på landet eller större administrativ enhet där platsen finns. " "Rekommenderad användning är att använda en kontrollerad vokabulär som Getty " "uppslagsverk över geografiska namn." #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "" "Standardkoden för landet där platsen finns. Rekommenderad användning är att " "använda landskoderna ISO 3166-1-alpha-2." #: src/properties.cpp:1736 msgid "State Province" msgstr "Stat region" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" "Namnet på nästa mindre administrativ område än land (stat, provins, kanton, " "avdelning, region, etc.) där platsen finns." #: src/properties.cpp:1739 msgid "County" msgstr "Län" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" "Hela oavkortade namnet för nästa mindre administrativa region än " "stateProvince (land, län, avdelning, etc.) där platsen förekomster." #: src/properties.cpp:1742 msgid "Municipality" msgstr "Kommun" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" "Hela oavkortade namnet för nästa mindre administrativa område än län (stad, " "kommun etc.) där platsen förekommer. Använd inte denna term för näraliggande " "platser som inte innehåller platsen." #: src/properties.cpp:1745 msgid "Locality" msgstr "Lokalitet" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" "Den specifika beskrivningen av platsen. Mindre specifik geografiskt " "information kan ges i andra geografiska termer (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). Denna term kan innehålla modifierad information jämfört med " "originalet för att rätta fel eller standardisera beskrivningen." #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "Informativ plats" #: src/properties.cpp:1749 msgid "The original textual description of the place." msgstr "Ursprungliga textbeskrivningen för platsen." #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "Informativ höjning" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" "Originalbeskrivningen för höjningen (altitud, vanligen ovanför havet) för " "platsen." #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "Minsta höjning i meter" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" "Den lägsta gränsen för området av höjning (altitud, vanligtvis höjd över " "havet) i meter." #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "Högsta höjning i meter" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" "Högsta gränsen för området av höjningen (altitud, vanligen ovan havshöjd) i " "meter." #: src/properties.cpp:1760 msgid "Verbatim Depth" msgstr "Bokstavligt djup" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "Originalbeskrivningen för djupet under den lokala ytan." #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "Minsta djup i meter" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" "Det mindre djupet för ett område av djup under den lokala ytan i meter." #: src/properties.cpp:1766 msgid "Maximum Depth In Meters" msgstr "Högsta djup i meter" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "Det större djupet för ett djupområde under den lokala ytan i meter." #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "Minsta avstånd ovan ytan i meter" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" "Det mindre avståndet i ett område för avstånd från ett referensyta i " "vertikal riktning i meter. Använd positiva värden för platser ovan ytan, " "negativa värden för platser under. Om djupmätningar ges kommer referensytans " "plats vara given av djupet, annars kommer referensytan vara platsen given av " "höjningen." #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "Högsta avstånd mellan ytan i meter" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" "Det större avståndet i ett område av avstånd från en referensyta i vertikal " "riktning i meter. Använd positiva värden för platser ovan ytan, negativa " "värden för platser under. Om djupmätningar ges kommer referensytans plats " "vara given av djupet, annars kommer referensytan vara platsen given av " "höjningen." #: src/properties.cpp:1775 msgid "Location According To" msgstr "Plats enligt" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" "Information om källan för denna platsinformation. Kan vara en publikation " "(ortförteckning), institution eller team av individer." #: src/properties.cpp:1778 msgid "Location Remarks" msgstr "Platsanmärkningar enligt" #: src/properties.cpp:1779 msgid "Comments or notes about the Location." msgstr "Kommentarer eller anteckningar om platsen." #: src/properties.cpp:1781 msgid "Verbatim Coordinates" msgstr "Utförliga koordinater" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" "Utförlig original-spatiala koordinaterna för platsen. Koordinatellipsioden, " "geodetiskt datum eller spatialt referenssystem (SRS) för dessa koordinater " "bör lagras i verbatimSRS och koordinatsystemen ska lagras i " "verbatimCoordinateSystem." #: src/properties.cpp:1784 msgid "Verbatim Latitude" msgstr "Utförlig latitud" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" "Utförlig original-latitud för platsen. Koordinatellipsioden, geodetiskt " "datum eller spatialt referenssystem (SRS) för dessa koordinator bör lagras i " "verbatimSRS och koordinatsystemet bör lagras i verbatimCoordinateSystem." #: src/properties.cpp:1787 msgid "Verbatim Longitude" msgstr "Utförlig longitud" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" "Utförlig original-longitud för platsen. Koordinatellipsioden, geodetiskt " "datum eller spatialt referenssystem (SRS) för dessa koordinator bör lagras i " "verbatimSRS och koordinatsystemet bör lagras i verbatimCoordinateSystem." #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "Utförligt koordinatsystem" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" "Spatiala koordinatsystemet för verbatimLatitude och verbatimLongitude eller " "verbatimCoordinates för platsen. Rekommenderad användning är att använda en " "kontrollerad vokabulär." #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "Verbatim SRS" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" "Ellipsiod, geodetiskt datum eller spatialt referenssystem (SRS) varpå " "koordinater givna i verbatimLatitude och verbatimLongitude eller " "verbatimCoordinates baseras. Rekommenderad användning är att använda EPSG-" "kod som en kontrollerad vokabulär för att erhålla ett SRS om känt. Använd " "annars en kontrollerad vokabulär för namnet eller koden för gedodektiskt " "datum om känd. Använd annars en kontrollerad vokabulär för namnet eller " "koden för ellipsioden om känd. Om ingen av dessa är kända använd värdet " "”unknown”." #: src/properties.cpp:1796 msgid "Decimal Latitude" msgstr "Decimal latitud" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" "Geografisk latitud (i decimal grader använd den spatiala referenssystemet " "givet i geodetiskt datum) för det geografiska centret för en plats. Positiva " "värden är norr om ekvatorn, negativa värden är söder om den. Giltiga värden " "är mellan -90 och 90." #: src/properties.cpp:1799 msgid "Decimal Longitude" msgstr "Decimal longitud" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" "Geografisk longitud (i decimal grader använd den spatiala referenssystemet " "givet i geodetiskt datum) för det geografiska centret för en plats. Positiva " "värden är öster om Greenwich-meridianen, negativa värden är väster om den. " "Giltiga värden är mellan -180 och 180." #: src/properties.cpp:1802 msgid "Geodetic Datum" msgstr "Geodetiskt datum" #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" "Ellipsiod, geodetiskt datum eller spatialt referenssystem (SRS) från var " "geografiska koordinaterna givna i decimalLatitude och decimalLongitude. " "Rekommenderad användning är att använda EPSG-koden som en kontrollerad " "vokabulär för att erhålla ett SRS om känt. Använd annars en kontrollerad " "vokabulär för namnet eller koden för geodetiskt datum om känd. Använd annars " "en kontrollerad vokabulär för namnet eller koden för ellipsioden om känd. Om " "ingen av dessa är kända använd värdet ”unknown”." #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "Koordinatosäkerhet i meter" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" "Horisontell distans (i meter) från den givna decimalLatitude och " "decimalLongitude beskrivande den minsta cirkeln innehållande hela platsen. " "Lämna värdet tomt om osäkerheten är okänd, inte kan beräknas eller inte är " "tillämpbar (eftersom det inte finns koordinater). Noll är inte ett giltigt " "värde för denna term." #: src/properties.cpp:1808 msgid "Coordinate Precision" msgstr "Koordinatprecision" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" "En decimalrepresentation av precision för koordinaterna givna i " "decimalLatitude och decimalLongitude." #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "Point Radius Spatial Fit" #: src/properties.cpp:1812 #, fuzzy, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" "Ratio för området för punkt-radien (decimalLatitude, decimalLongitude, " "coordinateUncertaintyInMeters) gentemot den riktiga (original eller mest " "specificerade) spatiala representation för plats. Giltiga värden är 0, " "större än eller lika med 1 eller okänd. Värde 1 är en precis matchning eller " "100% överlappande. Värde 0 bör användas om den givna punkt-radien inte helt " "innehåller originalrepresentationen. pointRadiusSpatialFit är odefinierad " "(och bör lämnas tom) om originalrepresentationen är en punkt utan osäkerhet " "och den givna georeferensen inte är samma punkt (utan osäkerhet). Om både " "originalet och den givna georeferensen är samma punkt är " "pointRadiusSpatialFit 1." #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "WKT fingeravtryck" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" "En välkänd text (WKT)-representation för formen (fingeravtryck, geometri) " "som definierar platsen. En plats kan ha både punkt-radiusrepresentation (se " "decimalLatitude) och ett fingeravtrycksrepresentation, och de kan skilja sig " "från varandra." #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "SRS-fingeravtryck" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" "En välkänd text (WKT)-representation av det spatiala referenssystemet (SRS) " "för footprintWKT för platsen. Använd inte termen för att beskriva SRS för " "decimalLatitude och decimalLongitude även om det är samma som för " "footprintWKT - använd geodeticDatum istället." #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "Spatial fit för fingeravtryck" #: src/properties.cpp:1821 #, fuzzy, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" "Ratio för området för fingeravtrycket (footprintWKT) gentemot den riktiga " "(original eller mest specificerade) spatiala representation för plats. " "Giltiga värden är 0, större än eller lika med 1 eller okänd. Värde 1 är en " "precis matchning eller 100% överlappande. Värde 0 bör användas om den givna " "punkt-radien inte helt innehåller originalrepresentationen. " "footprintSpatialFit är odefinierad (och bör lämnas tom) om " "originalrepresentationen är en punkt utan osäkerhet och den givna " "georeferensen inte är samma punkt (utan osäkerhet). Om både originalet och " "den givna georeferensen är samma punkt är footprintSpatialFit 1." #: src/properties.cpp:1823 msgid "Georeferenced By" msgstr "Georefererad av" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" "En lista (konkatenerad eller separerad) över namn på personer, grupper eller " "organisationer som bestämmer georeferens (spatiala representationen) för " "platsen." #: src/properties.cpp:1826 msgid "Georeferenced Date" msgstr "Georefererat datum" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" "Datumet för platsen blev georefererad. Rekommenderad användning är att " "använda ett kodningschema som ISO 8601:2004(E)." #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "Georeferensprotokoll" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" "En beskrivning eller referens för metoderna som används för att bestämma det " "spatiala fingeravtrycket, koordinater och osäkerheter." #: src/properties.cpp:1832 msgid "Georeference Sources" msgstr "Georeferens-källor" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" "En lista (konkatenerad och separerad) över kartor, ortförteckning och andra " "resurser som används för georeferenser till platsen, beskrivet specifikt nog " "för att tillåta alla att i framtiden använda samma resurs." #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "Georeferens verifikationstatus" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" "En kategorisk beskrivning av omfattningen för hur georeferensen har " "verifierats för att representera den bästa spatiala beskrivningen. " "Rekommenderad användning är att använda en kontrollerad vokabulär." #: src/properties.cpp:1838 msgid "Georeference Remarks" msgstr "Georeferens-anmärkningar" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" "Anteckningar eller kommentarer om den spatiala beskrivningsbestämmelsen, " "förklarar antaganden gjorda i tillägg i motsats med de formaliserade i " "metoden refererad till i georeferenceProtocol." #: src/properties.cpp:1843 msgid "Geological Context" msgstr "Geologisk kontext" #: src/properties.cpp:1844 msgid "*Main structure* containing geological context based information." msgstr "" "*Huvudstruktur* innehållandes information baserad på geologisk kontext." #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "Geologisk kontext-ID" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" "En identifierare för informationsmängden associerad med ett " "GeologicalContext (platsen inuti en geologisk kontext som en stratigrafi). " "Kan vara en global unik identifierare eller en identifierare specifik för " "datamängden." #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "Tidgaste eon eller lägsta eonothem" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" "Hela namnet för tidigast möjliga geokronologiska eon eller lägsta " "kronostratigrafiska eonothem för informella namnet (”Precambrian”) som kan " "attribueras till stratigrafiska området från vilken det katalogiserade " "objektet samlades in." #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "Senaste eon eller högsta eonothem" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" "Hela namnet för senaste möjliga geokronologiska eon eller högsta " "kronostratigrafiska eonothem för informella namnet (”Precambrian”) som kan " "attribueras till stratigrafiska området från vilken det katalogiserade " "objektet samlades in." #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "Tidigaste eon eller högsta Erathem" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "Hela namnet för tidigaste möjliga geokronologiska eon eller lägsta " "kronostratigrafiska erathem som kan attribueras till stratigrafiska området " "från vilken det katalogiserade objektet samlades in." #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "Senaste era eller högsta Erathem" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "Hela namnet för senast möjliga geokronologiska era eller högsta " "kronostratigrafiska erathem som kan attribueras till stratigrafiska området " "från vilken det katalogiserade objektet samlades in." #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "Tidigaste perioden eller lägsta system" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "Hela namnet för tidigaste möjliga geokronologiska eon eller lägsta " "kronostratigrafiska system som kan attribueras till stratigrafiska området " "från vilken det katalogiserade objektet samlades in." #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "Senaste period eller högsta system" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "Hela namnet för senaste möjliga geokronologiska period eller lägsta " "kronostratigrafiska system som kan attribueras till stratigrafiska området " "från vilken det katalogiserade objektet samlades in." #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "Tidigast epok eller lägsta serie" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "Hela namnet för tidigast möjliga geokronologiska epok eller lägsta " "chronostratigraphic serie med attribut till stratigrafiska området från " "vilken det katalogiserade objektet samlades in." #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "Senaste epok eller högsta serie" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "Hela namnet för senast möjliga geokronologiska epok eller högsta " "chronostratigraphic serie med attribut till stratigrafiska området från " "vilken det katalogiserade objektet samlades in." #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "Tidigaste ålder eller minsta steg" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "Hela namnet för tidigast möjliga geokronologiska ålder eller lägsta " "chronostratigraphic serie med attribut till stratigrafiska området från " "vilken det katalogiserade objektet samlades in." #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "Senaste ålder eller högsta steg" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" "Hela namnet för senast möjliga geokronologiska epok eller lägsta " "chronostratigraphic serie med attribut till stratigrafiska området från " "vilken det katalogiserade objektet samlades in." #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "Lägsta biostratigrafiska zon" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" "Hela namnet för lägsta möjliga geologiska biostratigrafiska zon från " "stratigrafiska området från vilken det katalogiserade objektet samlades in." #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "Högsta biostratigrafiska zon" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" "Hela namnet för högsta möjliga geologiska biostratigrafiska zon från " "stratigrafiska området från vilken det katalogiserade objektet samlades in." #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "Litostratigrafiska termer" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" "Kombinationen av alla litostratigrafiska namn för stenen från vilken det " "katalogiserade objektet samlades in." #: src/properties.cpp:1889 msgid "Group" msgstr "Grupp" #: src/properties.cpp:1890 msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "" "Hela namnet på litostratigrafiska gruppen från vilken det katalogiserade " "objektet samlades in." #: src/properties.cpp:1892 msgid "Formation" msgstr "Formering" #: src/properties.cpp:1893 msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "" "Hela namnet på den litostratigrafiska formationen från vilken det " "katalogiserade objektet samlades in." #: src/properties.cpp:1895 msgid "Member" msgstr "Medlem" #: src/properties.cpp:1896 msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "" "Hela namnet för den litostratigrafiska medlemmen från vilken det " "katalogiserade objektet samlades in." #: src/properties.cpp:1898 msgid "Bed" msgstr "Bädd" #: src/properties.cpp:1899 msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "" "Hela namnet för den litostratigrafiska bädden från vilken det katalogiserade " "objektet samlades in." #: src/properties.cpp:1903 msgid "Identification" msgstr "Identifiering" #: src/properties.cpp:1904 msgid "*Main structure* containing identification based information." msgstr "*Huvudstruktur* innehållandes identifieringsbaserad information." #: src/properties.cpp:1907 msgid "Identification ID" msgstr "Identifierings-ID" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" "En identifierare för identifikationen (huvuddelen av informationen " "associerad med tilldelningen av ett vetenskapligt namn). Kan vara en global " "unik identifierare eller en identifierare specifik för datamängden." #: src/properties.cpp:1910 msgid "Identified By" msgstr "Identifierad av" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" "En lista (konkatenerade eller separerade) över namn på personer, grupper " "eller organisationer som tilldelat Taxon till ämnet." #: src/properties.cpp:1913 msgid "Date Identified" msgstr "Datum för identifiering" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" "Datumet då ett subjekt identifierades som representant för Taxon. Bästa " "användningssätt är att använda ett kodningsschema som exempelvis ISO " "8601:2004(E)." #: src/properties.cpp:1916 msgid "Identification References" msgstr "Identifieringsreferenser" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" "En lista (konkatenerad och separerad) från vilken referenser (publikationer, " "global unik identifierare, URI) används i identifieringen." #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "Verifieringsstatus för identifiering" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" "En kategorisk indikator för till vilken utökning den taxonomiska " "identifieringen har verifierats vara korrekt. Rekommenderad användning är " "att använda en kontrollerad vokabulär som den används i HISPID/ABCD." #: src/properties.cpp:1922 msgid "Identification Remarks" msgstr "Identifieringsanteckningar" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "Kommentarer eller anteckningar kring identifieringen." #: src/properties.cpp:1925 msgid "Identification Qualifier" msgstr "Identifieringskvalificerare" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" "En kort fras eller standardterm (”cf.” ”aff.”) för att uttrycka bestämmarens " "tvekan om identifieringen." #: src/properties.cpp:1928 msgid "Type Status" msgstr "Typstatus" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" "En lista (konkatenerad och separerad) över nomenklaturtyper (typstatus, " "nedskriven vetenskapligt namn, publikation) tillämpade för objektet." #: src/properties.cpp:1933 msgid "Taxon" msgstr "Taxon" #: src/properties.cpp:1934 msgid "*Main structure* containing taxonomic based information." msgstr "*Huvudstruktur* innehållandes taxonomibaserad information." #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "Taxon-ID" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" "En identifierare för mängden av taxoninformation (data associerat med taxon-" "klassen). Kan vara en global unik identifierare eller en identifierare " "specifik för datamängden." #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "Vetenskapligt namn-ID" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" "En identifierare för nomenklaturdetaljerna (inte taxonomin) för ett " "vetenskapligt schema." #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "Accepterat namnanvändnings-ID" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" "En identifierare för namnanvändningen (dokumenterad mening för namnet enligt " "källan) över aktuell giltig (zoologisk) eller accepterad (botanisk) taxon." #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "Föräldranamn användnings-ID" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" "En identifierare för namnanvändningen (dokumenterad mening för namnet enligt " "källan) över det mest närliggande direkta högst graderade föräldrataxonet (i " "en klassificering) över det mest specifika elementet för det vetenskapliga " "namnet." #: src/properties.cpp:1949 msgid "Original Name Usage ID" msgstr "Användnings-ID för originalnamn" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" "En identifierare för namnanvändningen (dokumenterad mening för namnet enligt " "källan) då avslutande elementet för scientificName ursprungligen etablerades " "under reglerna för associerad nomenclaturalCode." #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "Namn enligt ID" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" "En identifierare för vilken källan i det specifika taxonkonceptet förbigång " "är definierat eller implicerat. Se nameAccordingTo." #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "Namn publicerad i ID" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" "En identifierare för vilken publikation i vilken scientificName " "ursprungligen etablerades under reglerna för associerad nomenclaturalCode." #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "Taxonkoncept-ID" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" "En identifierare för det taxonomiska koncept till vilken posten hör - inte " "för nomenklaturdetaljerna för ett taxon." #: src/properties.cpp:1961 msgid "Scientific Name" msgstr "Vetenskapligt namn" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" "Hela det vetenskapliga namnet med författarskap och datuminformation om " "känt. När del av en identifiering bör detta namn vara i lägsta nivån av " "taxonomisk grad som kan bestämmas. Denna term bör inte innehålla " "identifieringskvalifikationer som istället bör tillhandahållas i " "IdentificationQualifier-termen." #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "Accepterad namnanvändning" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" "Hela namnet med författarskap och datuminformation, om känt, över aktuell " "giltig (zoologisk) eller accepterat (botaniskt) taxon." #: src/properties.cpp:1967 msgid "Parent Name Usage" msgstr "Föräldranamnsanvändning" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" "Hela namnet med författarskap och datuminformation, om känt, över de mest " "närliggande högst graderade föräldrataxonet (i en klassificering) över det " "mest specifika elementet för det vetenskapliga namnet." #: src/properties.cpp:1970 msgid "Original Name Usage" msgstr "Ursprunglig namnanvändning" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" "Taxonnamnet för vilket författarskap och datuminformation är kända, som de " "ursprungligen var vid etablering under reglerna för associerad " "nomenclaturalCode. Basionym (botanik) eller basonym (bakteriologi) över det " "vetenskapliga namnet eller äldre/tidigare homonym för ersatta namn." #: src/properties.cpp:1973 msgid "Name According To" msgstr "Namn enligt till" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" "Referensen till källan i vilken det specifika taxonkonceptet undantag är " "definierat eller implicerat - traditionell signatur med latin ”sensu” eller " "”sec.”. (från secundum vilket betyder ”enligt”). För taxa som resulterar " "från identifieringar bör en referens till nycklarna, monograferna, " "experterna och källorna ges." #: src/properties.cpp:1976 msgid "Name Published In" msgstr "Namn publicerat i" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" "En referens för publikationen i vilken scientificName ursprungligen " "etablerades under reglerna för associerad nomenclaturalCode." #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "Publiceringsår för namn" #: src/properties.cpp:1980 msgid "The four-digit year in which the scientificName was published." msgstr "Fyrsiffrigt år då scientificName först publicerades." #: src/properties.cpp:1982 msgid "Higher Classification" msgstr "Högre klassificering" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" "En lista (konkatenerad och separerad) över taxanamn som slutar vid gradering " "direkt över taxonet refererat till i taxonposten. Rekommenderad användning " "är att sortera listan med början med den högsta graderingen och separera " "namnen för varje gradering med ett semikolon ;" #: src/properties.cpp:1985 msgid "Kingdom" msgstr "Rike" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "Hela vetenskapliga namnet för riket i vilket taxonet är klassificerat." #: src/properties.cpp:1988 msgid "Phylum" msgstr "Phylum" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" "Hela vetenskapliga namnet för phylum eller avdelning i vilken taxonet är " "klassificerat." #: src/properties.cpp:1991 msgid "Class" msgstr "Klass" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "" "Hela vetenskapliga namnet för klassen i vilken taxonet är klassificerat." #: src/properties.cpp:1994 msgid "Order" msgstr "Sortering" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "" "Hela vetenskapliga namnet för ordningen i vilken taxonet är klassificerat." #: src/properties.cpp:1997 msgid "Family" msgstr "Familj" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "" "Hela vetenskapliga namnet för familjen i vilken taxonet är klassificerat." #: src/properties.cpp:2000 msgid "Genus" msgstr "Kön" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "" "Hela vetenskapliga namnet på det kön för vilket taxonet är klassificerat." #: src/properties.cpp:2003 msgid "Subgenus" msgstr "Underkön" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" "Hela vetenskapliga namnet på det underkön för vilken taxonet är " "klassificerat. Värden ska inkludera kön för undvika homonym förvirring." #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "Specifik epitet" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "Namnet på första, eller artepitet för scientificName." #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "Infraspecifik epitet" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" "Namn på lägsta eller avslutande infraspecifik epitet för det vetenskapliga " "namnet, uteslutande graderingsbestämning." #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "Taxongradering" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" "Den taxonomiska graderingen av det mest specifika namnet i det vetenskapliga " "namnet. Rekommenderad användning är att använda en kontrollerad vokabulär." #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "Ordagrann taxongradering" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" "Taxonomiska graderingen för det mest specifika namnet i scientificName som " "det visas i originalposten." #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "Vetenskapligt namnförfattarskap" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" "Författarskapsinformation för scientificName formaterad enligt " "konventionerna för den tillämpbara nomenclaturalCode." #: src/properties.cpp:2021 msgid "Vernacular Name" msgstr "Inländskt namn" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "Ett vanligt eller inländskt namn." #: src/properties.cpp:2024 msgid "Nomenclatural Code" msgstr "Nomenklaturkod" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" "Nomenklaturkoden (eller koderna i händelse av ett ambiregnalnamn) under " "vilken scientificName är konstruerat. Rekommenderad användning är att " "använda en kontrollerad vokabulär." #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "Taxonomistatus" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" "Status för användningen för det vetenskapliga namnet som en tagg för ett " "taxon. Kräver taxonomisk alternativ för att definiera omfånget för ett " "taxon. Regler för prioritet användes då för att definiera den taxonomiska " "statusen för nomenklaturen i det omfånget, kombinerat med expertutlåtanden. " "Det måste vara länkat till en specifik taxonomisk referens som definierar " "konceptet. Rekommenderad användning är att använda en kontrollerad vokabulär." #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "Nomenklaturstatus" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" "Statusen relaterat till originalpublikationen för namnet och dess anpassning " "till relevanta regler för nomenklaturen. Det är baserat på en algoritm " "enligt affärsreglerna för koden. Det kräver inget taxonomiskt alternativ." #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "Taxonanmärkningar" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "Kommentarer eller anteckningar om taxonet eller namnet." #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "Resursrelation" #: src/properties.cpp:2039 msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "" "*Huvudstruktur* innehållandes relationer mellan resursbaserad information." #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "Resursrelations-ID" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" "En identifierare för en relationsinstans mellan en resurs (subjektet) och " "andra (relaterad resurs, objektet)." #: src/properties.cpp:2045 msgid "Resource ID" msgstr "Resurs-ID" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "En identifierare för resursen som är subjektet för relationen." #: src/properties.cpp:2048 msgid "Related Resource ID" msgstr "Relationsresurs-ID" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" "En identifierare för en relaterad resurs (objektet snarare än subjektet för " "relationen)." #: src/properties.cpp:2051 msgid "Relationship Of Resource" msgstr "Relationsresurs" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" "Relationen för resursen identifierad för relaterat resurs-ID till subjektet " "(valfritt identifierad genom resurs-ID). Rekommenderad användning är att " "använda en kontrollerad vokabulär." #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "Relation med hänseende till" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" "Källan (person, organisation, publikation, referens) som etablerar " "relationen mellan de två resurserna." #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "Datum då relation etablerades" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" "Datum-tid då relationen mellan de två resurserna etablerades. Rekommenderad " "användning är att använda ett kodningsschema som ISO 8601:2004(E)." #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "Relationsanteckningar" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "Kommentarer eller anteckningar om relationen mellan de två resurserna." #: src/properties.cpp:2065 msgid "Measurement Or Fact" msgstr "Mätningsnoggrannhet eller fakta" #: src/properties.cpp:2066 msgid "*Main structure* containing measurement based information." msgstr "*Huvudstruktur* innehållandes mätningsbaserad information." #: src/properties.cpp:2069 msgid "Measurement ID" msgstr "Mätnings-ID" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" "En identifierare för mätning eller fakta (information rörande mätningar, " "fakta, karakteristik eller försäkran). Kan vara en global unik identifierare " "eller en identifierare specifik för datamängden." #: src/properties.cpp:2072 msgid "Measurement Type" msgstr "Mätningstyp" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" "Typ för mätningen, faktan, karakteristiken eller försäkran. Rekommenderad " "användning är att använda en kontrollerad vokabulär." #: src/properties.cpp:2075 msgid "Measurement Value" msgstr "Mätningsvärde" #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "Värde på mätningen, faktan, karakteristiken eller försäkran." #: src/properties.cpp:2078 msgid "Measurement Accuracy" msgstr "Mätningsnoggranhet" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "Beskrivningen på det potentiella felet associerat med mätningsvärdet." #: src/properties.cpp:2081 msgid "Measurement Unit" msgstr "Mätningsenhet" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" "Enheten associerad med mätningsvärdet. Rekommenderad användning är att " "använda det internationella enhetssystemet (SI)." #: src/properties.cpp:2084 msgid "Measurement Determined Date" msgstr "Mätningsbestämningsdatum" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" "Datum då mätning eller fakta skapades. Rekommenderad användning är att " "använda ett kodningschema som ISO 8601:2004(E)." #: src/properties.cpp:2087 msgid "Measurement Determined By" msgstr "Mätning bestämd av" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" "En lista (konkatenerad och separerad) över namn på personer, grupper eller " "organisationer som bestämde värdet för mätning eller fakta." #: src/properties.cpp:2090 msgid "Measurement Method" msgstr "Mätningsmetod" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" "En beskrivning över, eller en referens till (publikation, URI) metoden eller " "protokollet som användes för att bestämma mätningen, faktan, karakteristiken " "eller försäkran." #: src/properties.cpp:2093 msgid "Measurement Remarks" msgstr "Mätningskommentarer" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "Kommentarer eller anteckningar tillhörande mätning eller fakta." #: src/properties.cpp:2101 msgid "A brief description of the file" msgstr "En kort beskrivning av filen" #: src/properties.cpp:2102 msgid "Date Time" msgstr "Datum och tid" #: src/properties.cpp:2103 msgid "The name of the author or photographer" msgstr "Namnet på författaren eller fotografen" #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "Numerisk gradering från 1 till 5" #: src/properties.cpp:2105 msgid "Notes" msgstr "Anteckningar" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "Beskrivande eller ytterligare fritext upp till 4095 tecken" #: src/properties.cpp:2106 msgid "Tagged" msgstr "Taggad" #: src/properties.cpp:2106 msgid "True or False" msgstr "True eller False" #: src/properties.cpp:2107 msgid "Categories" msgstr "Kategorier" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "Katalog över hierarkiska nyckelord och grupper" #: src/sigmamn.cpp:62 msgid "Resolution Mode" msgstr "Upplösningsläge" #: src/sigmamn.cpp:63 msgid "Resolution mode" msgstr "Upplösningsläge" #: src/sigmamn.cpp:65 msgid "Autofocus Mode" msgstr "Autofokusläge" #: src/sigmamn.cpp:66 msgid "Autofocus mode" msgstr "Autofokusläge" #: src/sigmamn.cpp:68 msgid "Focus Setting" msgstr "Fokusinställning" #: src/sigmamn.cpp:69 msgid "Focus setting" msgstr "Fokusinställning" #: src/sigmamn.cpp:80 msgid "Lens Range" msgstr "Objektivintervall" #: src/sigmamn.cpp:81 msgid "Lens focal length range" msgstr "Objektiv-brännviddsintervall" #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 msgid "Shadow" msgstr "Skugga" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 msgid "Highlight" msgstr "Högdagrar" #: src/sigmamn.cpp:104 msgid "Fill Light" msgstr "Fyllnadsljus" #: src/sigmamn.cpp:105 msgid "X3 Fill light" msgstr "X3 fyllnadsljus" #: src/sigmamn.cpp:107 msgid "Color Adjustment" msgstr "Färgjustering" #: src/sigmamn.cpp:108 msgid "Color adjustment" msgstr "Färgjustering" #: src/sigmamn.cpp:110 msgid "Adjustment Mode" msgstr "Justeringsläge" #: src/sigmamn.cpp:111 msgid "Adjustment mode" msgstr "Justeringsläge" #: src/sigmamn.cpp:122 msgid "Auto Bracket" msgstr "Automatisk gaffling" #: src/sigmamn.cpp:123 src/tags.cpp:1497 msgid "Auto bracket" msgstr "Automatisk gaffling" #: src/sigmamn.cpp:127 msgid "Unknown SigmaMakerNote tag" msgstr "Okänd SigmaMakerNote-tagg" #: src/sigmamn.cpp:170 msgid "8-Segment" msgstr "8-Segment" #: src/sonymn.cpp:131 msgid "Advanced Lv1" msgstr "Avancerad nivå 1" #: src/sonymn.cpp:132 msgid "Advanced Lv2" msgstr "Avancerad nivå 2" #: src/sonymn.cpp:133 msgid "Advanced Lv3" msgstr "Avancerad nivå 3" #: src/sonymn.cpp:134 msgid "Advanced Lv4" msgstr "Avancerad nivå 4" #: src/sonymn.cpp:135 msgid "Advanced Lv5" msgstr "Avancerad nivå 5" #: src/sonymn.cpp:154 msgid "Night Scene / Twilight" msgstr "Nattscen/skymning" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "Höghastighetsslutare" #: src/sonymn.cpp:156 msgid "Twilight Portrait" msgstr "Skymningsporträtt" #: src/sonymn.cpp:157 msgid "Soft Snap / Portrait" msgstr "Mjuk snap / porträtt" #: src/sonymn.cpp:159 msgid "Smile Shutter" msgstr "Leende slutare" #: src/sonymn.cpp:161 msgid "High Sensitivity" msgstr "Hög känslighet" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "Avancerad sportfotografering" #: src/sonymn.cpp:166 msgid "Sweep Panorama" msgstr "Sveppanorama" #: src/sonymn.cpp:168 msgid "Anti Motion Blur" msgstr "Anti-rörelseoskärpa" #: src/sonymn.cpp:170 msgid "Backlight Correction HDR" msgstr "Bakljuskorrigering HDR" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "Överlägsen auto" #: src/sonymn.cpp:172 msgid "Background Defocus" msgstr "Bakgrunds avfokus" #: src/sonymn.cpp:173 msgid "Soft Skin" msgstr "Mjuk hud" #: src/sonymn.cpp:174 msgid "3D Image" msgstr "3D-bild" #: src/sonymn.cpp:189 msgid "On (Continuous)" msgstr "På (kontinuerlig)" #: src/sonymn.cpp:190 msgid "On (Shooting)" msgstr "På (tar bilder)" #: src/sonymn.cpp:198 msgid "Plus" msgstr "Plus" #: src/sonymn.cpp:214 msgid "White Flourescent" msgstr "Vitt fluorescerande" #: src/sonymn.cpp:215 msgid "Cool White Flourescent" msgstr "Kallt vitt fluorescerande" #: src/sonymn.cpp:216 msgid "Day White Flourescent" msgstr "Dag vitt fluorescerande" #: src/sonymn.cpp:217 msgid "Incandescent2" msgstr "Incandescent2" #: src/sonymn.cpp:218 msgid "Warm White Fluorescent" msgstr "Varmt vitt fluorescerande" #: src/sonymn.cpp:221 msgid "Underwater 1 (Blue Water)" msgstr "Undervatten 1 (blått vatten)" #: src/sonymn.cpp:222 msgid "Underwater 2 (Green Water)" msgstr "Undervatten 2 (grönt vatten)" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "Permanent AF" #: src/sonymn.cpp:237 msgid "Center AF" msgstr "Centrerad AF" #: src/sonymn.cpp:238 msgid "Spot AF" msgstr "Punkt-AF" #: src/sonymn.cpp:239 msgid "Flexible Spot AF" msgstr "Flexibel punkt-AF" #: src/sonymn.cpp:240 msgid "Touch AF" msgstr "Berörings-AF" #: src/sonymn.cpp:241 msgid "Manual Focus" msgstr "Manuellt fokus" #: src/sonymn.cpp:242 msgid "Face Detected" msgstr "Ansikte avkänt" #: src/sonymn.cpp:257 msgid "Close Focus" msgstr "Nära fokus" #: src/sonymn.cpp:347 src/sonymn.cpp:348 msgid "Multi Burst Mode" msgstr "Flerupprepningsläge" #: src/sonymn.cpp:350 src/sonymn.cpp:351 msgid "Multi Burst Image Width" msgstr "Flerupprepningsbildbredd" #: src/sonymn.cpp:353 src/sonymn.cpp:354 msgid "Multi Burst Image Height" msgstr "Flerupprepningsbildhöjd" #: src/sonymn.cpp:364 msgid "JPEG preview image" msgstr "JPEG förhandsgranskningsbild" #: src/sonymn.cpp:390 msgid "Auto HDR" msgstr "Auto-HDR" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "High Definition Range-läge" #: src/sonymn.cpp:395 msgid "Shot Information" msgstr "Bildinformation" #: src/sonymn.cpp:400 src/sonymn.cpp:401 msgid "Sony Model ID" msgstr "Sony modell-ID" #: src/sonymn.cpp:403 src/sonymn.cpp:404 msgid "Color Reproduction" msgstr "Färgåtergivning" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 msgid "Dynamic Range Optimizer" msgstr "Optimera dynamikintervall" #: src/sonymn.cpp:427 src/sonymn.cpp:428 msgid "Minolta MakerNote" msgstr "Minolta MakerNote" #: src/sonymn.cpp:433 src/sonymn.cpp:434 msgid "Full Image Size" msgstr "Full bildstorlek" #: src/sonymn.cpp:436 msgid "Preview Image Size" msgstr "Förhandsvisningsstorlek" #: src/sonymn.cpp:437 msgid "Preview image size" msgstr "Förhandsvisningsbildens storlek" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 msgid "AF Illuminator" msgstr "AF-belysare" #: src/sonymn.cpp:454 src/sonymn.cpp:455 msgid "JPEG Quality" msgstr "JPEG-kvalitet" #: src/sonymn.cpp:460 src/sonymn.cpp:461 msgid "Release Mode" msgstr "Släppläge" #: src/sonymn.cpp:464 msgid "Shot number in continuous burst mode" msgstr "Bildnummer i seriebildsläge" #: src/sonymn.cpp:466 src/sonymn.cpp:467 msgid "Anti-Blur" msgstr "Anti-oskärpa" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 msgid "Long Exposure Noise Reduction" msgstr "Lång exponering, brusreducering" #: src/sonymn.cpp:475 src/sonymn.cpp:476 msgid "Intelligent Auto" msgstr "Intelligent auto" #: src/sonymn.cpp:483 msgid "Unknown Sony1MakerNote tag" msgstr "Okänd Sony1MakerNote-tagg" #: src/sonymn.cpp:497 msgid "Continuous High" msgstr "Kontinuerlig hög" #: src/sonymn.cpp:501 msgid "Continuous Low" msgstr "Kontinuerlig låg" #: src/sonymn.cpp:503 src/sonymn.cpp:504 msgid "D-Range Optimizer Bracketing Low" msgstr "D-intervall optimeringsgaffling, låg" #: src/sonymn.cpp:536 msgid "Autumn" msgstr "Höst" #: src/sonymn.cpp:542 msgid "ADI" msgstr "ADI" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "Stilruta 1" #: src/sonymn.cpp:578 msgid "Auto No Flash" msgstr "Auto utan blixt" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 msgid "Dynamic Range Optimizer Level" msgstr "Optimiseringsnivå för dynamikintervallet" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 msgid "Creative Style" msgstr "Kreativ stil" #: src/sonymn.cpp:648 src/sonymn.cpp:649 msgid "Zone Matching Value" msgstr "Zonpassningsvärde" #: src/sonymn.cpp:666 src/sonymn.cpp:667 msgid "AF With Shutter" msgstr "AF med slutare" #: src/sonymn.cpp:674 src/sonymn.cpp:675 msgid "High ISO NoiseReduction" msgstr "Hög ISO-brusreducering" #: src/sonymn.cpp:678 src/sonymn.cpp:679 msgid "Image Style" msgstr "Bildstil" #: src/sonymn.cpp:704 msgid "Unknown Sony1 Camera Settings tag" msgstr "Okänd Sony1-kamerainställningstagg" #: src/sonymn.cpp:768 msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "Okänd Sony1-kamerainställningstagg 2" #: src/tags.cpp:188 msgid "Unknown section" msgstr "Okänt avsnitt" #: src/tags.cpp:189 msgid "Image data structure" msgstr "Bilddatastruktur" #: src/tags.cpp:190 msgid "Recording offset" msgstr "Inspelningsförskjutning" #: src/tags.cpp:191 msgid "Image data characteristics" msgstr "Bilddatans egenskaper" #: src/tags.cpp:192 msgid "Other data" msgstr "Övrig data" #: src/tags.cpp:193 msgid "Exif data structure" msgstr "Exif-datastruktur" #: src/tags.cpp:195 msgid "Image configuration" msgstr "Bildkonfiguration" #: src/tags.cpp:196 msgid "User information" msgstr "Användarinformation" #: src/tags.cpp:197 msgid "Related file" msgstr "Relaterad fil" #: src/tags.cpp:198 msgid "Date and time" msgstr "Datum och tid" #: src/tags.cpp:199 msgid "Picture taking conditions" msgstr "Omständigheter vid fotografering" #: src/tags.cpp:200 msgid "GPS information" msgstr "GPS-information" #: src/tags.cpp:201 msgid "Interoperability information" msgstr "Interoperabilitetsinformation" #: src/tags.cpp:202 msgid "Vendor specific information" msgstr "Tillverkarspecifik information" #: src/tags.cpp:203 msgid "Adobe DNG tags" msgstr "Adobe DNG-taggar" #: src/tags.cpp:204 msgid "Panasonic RAW tags" msgstr "Panasonic RAW-taggar" #: src/tags.cpp:205 msgid "TIFF/EP tags" msgstr "TIFF/EP-taggar" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "TIFF PageMaker 6.0-taggar" #: src/tags.cpp:207 msgid "Adobe OPI tags" msgstr "Adobe OPI-taggar" #: src/tags.cpp:208 msgid "Last section" msgstr "Sista avsnittet" #: src/tags.cpp:224 msgid "Primary image" msgstr "Primär bild" #: src/tags.cpp:225 msgid "Thumbnail/Preview image" msgstr "Miniatyr-/förhandsvisningsbild" #: src/tags.cpp:226 msgid "Primary image, Multi page file" msgstr "Primärbild, flersidesfil" #: src/tags.cpp:227 msgid "Thumbnail/Preview image, Multi page file" msgstr "Miniatyr/förhandsvisningsbild, flersidesfil" #: src/tags.cpp:228 msgid "Primary image, Transparency mask" msgstr "Primärbild, genomskinlighetsmask" #: src/tags.cpp:229 msgid "Thumbnail/Preview image, Transparency mask" msgstr "Miniatyr-/förhandsvisningsbild, genomskinlighetsmask" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "Primärbild, flersidesfil, genomskinlighetsmask" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "Miniatyr-/förhandsvisningsbild, flersidesfil, genomskinlighetsmask" #: src/tags.cpp:237 msgid "Full-resolution image data" msgstr "Bilddata i full upplösning" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "Bilddata i reducerad upplösning" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "En enstaka sida av en flersidesbild" #: src/tags.cpp:245 msgid "inch" msgstr "tum" #: src/tags.cpp:252 msgid "CCITT RLE" msgstr "CCITT RLE" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "T4/Grupp 3 Fax" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "T6/Grupp 4 Fax" #: src/tags.cpp:255 msgid "LZW" msgstr "LZW" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "JPEG (gammal)" #: src/tags.cpp:257 msgid "JPEG" msgstr "JPEG" #: src/tags.cpp:258 msgid "Adobe Deflate" msgstr "Adobe Deflate" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "JBIG S&V" #: src/tags.cpp:260 msgid "JBIG Color" msgstr "JBIG Färg" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "Next 2-bits RLE" #: src/tags.cpp:262 msgid "Epson ERF Compressed" msgstr "Epson ERF-komprimerad" #: src/tags.cpp:263 msgid "Samsung SRW Compressed" msgstr "Samsung SRW-komprimerad" #: src/tags.cpp:264 msgid "CCITT RLE 1-word" msgstr "CCITT RLE 1-word" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "PackBits (Macintosh RLE)" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "Thunderscan RLE" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "IT8 CT-vaddering" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "IT8 Linjearbetes-RLE" #: src/tags.cpp:269 msgid "IT8 Monochrome Picture" msgstr "IT8 monokrom bild" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "IT8 binär linjekonst" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "Pixar Film (10-bitars LZW)" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "Pixar Log (11-bitars ZIP)" #: src/tags.cpp:273 msgid "Pixar Deflate" msgstr "Pixar Deflate" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "Kodak DCS Encoding" #: src/tags.cpp:275 msgid "ISO JBIG" msgstr "ISO JBIG" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "SGI Log Luminans RLE" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "SGI Log 24-bits packad" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "Leadtools JPEG 2000" #: src/tags.cpp:279 msgid "Nikon NEF Compressed" msgstr "Nikon NEF-komprimerad" #: src/tags.cpp:280 msgid "Kodak DCR Compressed" msgstr "Kodak DCR-komprimerad" #: src/tags.cpp:281 msgid "Pentax PEF Compressed" msgstr "Pentax PEF-komprimerad" #: src/tags.cpp:286 msgid "White Is Zero" msgstr "Vitt är noll" #: src/tags.cpp:287 msgid "Black Is Zero" msgstr "Svart är noll" #: src/tags.cpp:288 msgid "RGB" msgstr "RGB" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "RGB-palett" #: src/tags.cpp:290 msgid "Transparency Mask" msgstr "Genomskinlighetsmask" #: src/tags.cpp:291 src/tags.cpp:330 msgid "CMYK" msgstr "CMYK" #: src/tags.cpp:292 msgid "YCbCr" msgstr "YCbCr" #: src/tags.cpp:293 msgid "CIELab" msgstr "CIELab" #: src/tags.cpp:294 msgid "ICCLab" msgstr "ICCLab" #: src/tags.cpp:295 msgid "ITULab" msgstr "ITULab" #: src/tags.cpp:296 msgid "Color Filter Array" msgstr "Färgfilterfält" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "Pixar LogL" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "Pixar LogLuv" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "Linär RAW" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "Ingen dithering eller halvton" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "Sorterad dither- eller halvtonsteknik" #: src/tags.cpp:306 msgid "Randomized process" msgstr "Slumpmässig behandling" #: src/tags.cpp:311 msgid "top, left" msgstr "överst, vänster" #: src/tags.cpp:312 msgid "top, right" msgstr "överst, höger" #: src/tags.cpp:313 msgid "bottom, right" msgstr "nederst, höger" #: src/tags.cpp:314 msgid "bottom, left" msgstr "nederst, vänster" #: src/tags.cpp:315 msgid "left, top" msgstr "vänster, överst" #: src/tags.cpp:316 msgid "right, top" msgstr "höger, överst" #: src/tags.cpp:317 msgid "right, bottom" msgstr "höger. nederst" #: src/tags.cpp:318 src/tags.cpp:319 msgid "left, bottom" msgstr "vänster, nederst" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "Inget gissningsschema används" #: src/tags.cpp:325 msgid "Horizontal differencing" msgstr "Horisontell differentiering" #: src/tags.cpp:331 msgid "not CMYK" msgstr "inte CMYK" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "Omärkt heltalsdata" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "Två har hjälpt märkt heltalsdata" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "IEEE flyttalsdata" #: src/tags.cpp:339 src/tags.cpp:340 msgid "Undefined data format" msgstr "Odefinierat dataformat" #: src/tags.cpp:345 msgid "Not indexed" msgstr "Inte indexerat" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "Indexerat" #: src/tags.cpp:351 msgid "A" msgstr "A" #: src/tags.cpp:352 msgid "B" msgstr "B" #: src/tags.cpp:353 msgid "C" msgstr "C" #: src/tags.cpp:354 msgid "A+B-C" msgstr "A+B-C" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "A+((B-C)/2)" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "B+((A-C)/2)" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "(A+B)/2" #: src/tags.cpp:362 msgid "Centered" msgstr "Centrerad" #: src/tags.cpp:363 msgid "Co-sited" msgstr "Intilliggande" #: src/tags.cpp:368 msgid "No flash" msgstr "Ingen blixt" #: src/tags.cpp:370 msgid "Fired, return light not detected" msgstr "Avfyrat, upptäckte ej returljus" #: src/tags.cpp:371 msgid "Fired, return light detected" msgstr "Avfyrad, upptäckte ej returljus" #: src/tags.cpp:372 msgid "Yes, did not fire" msgstr "Ja, inte utlöst" #: src/tags.cpp:373 msgid "Yes, compulsory" msgstr "Ja, obligatorisk" #: src/tags.cpp:374 msgid "Yes, compulsory, return light not detected" msgstr "Ja, obligatorisk, återvändande ljus inte avkänt" #: src/tags.cpp:375 msgid "Yes, compulsory, return light detected" msgstr "Ja, obligatorisk, återvändande ljust avkänt" #: src/tags.cpp:376 msgid "No, compulsory" msgstr "Nej, obligatorisk" #: src/tags.cpp:377 msgid "No, did not fire, return light not detected" msgstr "Nej, avfyrade inte, upptäckte inte returljus" #: src/tags.cpp:378 msgid "No, auto" msgstr "Nej, auto" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "Ja, auto" #: src/tags.cpp:380 msgid "Yes, auto, return light not detected" msgstr "Ja, auto, återvändande ljus inte avkänt" #: src/tags.cpp:381 msgid "Yes, auto, return light detected" msgstr "Ja, auto, återvändande ljus avkänt" #: src/tags.cpp:382 msgid "No flash function" msgstr "Ingen blixtfunktion" #: src/tags.cpp:383 msgid "No, no flash function" msgstr "Nej, ingen blixtfunktion" #: src/tags.cpp:384 msgid "Yes, red-eye reduction" msgstr "Ja, motverka röda ögon" #: src/tags.cpp:385 msgid "Yes, red-eye reduction, return light not detected" msgstr "Ja, motverka röda ögon, återvändande ljus inte avkänt" #: src/tags.cpp:386 msgid "Yes, red-eye reduction, return light detected" msgstr "Ja, motverka röda ögon, återvändande ljus inte avkänt" #: src/tags.cpp:387 msgid "Yes, compulsory, red-eye reduction" msgstr "Ja, obligatorisk, motverka röda ögon" #: src/tags.cpp:388 msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "Ja, obligatorisk, motverka röda ögon, återvändande ljus inte avkänt" #: src/tags.cpp:389 msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "Ja, obligatorisk, motverka röda ögon, återvändande ljus avkänt" #: src/tags.cpp:390 msgid "No, red-eye reduction" msgstr "Nej, motverka röda ögon" #: src/tags.cpp:391 msgid "No, auto, red-eye reduction" msgstr "Nej, auto, motverka röda ögon" #: src/tags.cpp:392 msgid "Yes, auto, red-eye reduction" msgstr "Ja, auto, motverka röda ögon" #: src/tags.cpp:393 msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "Ja, auto, motverka röda ögon, återvändande ljus inte avkänt" #: src/tags.cpp:394 msgid "Yes, auto, red-eye reduction, return light detected" msgstr "Ja, auto, motverka röda ögon, återvändande ljus avkänt" #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "Rektangulär (eller fyrkantig) layout" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "Stegad layout A: jämna kolumner förskjuts neråt med 1/2 rad" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "Stegad layout B: jämna kolumner förskjuts uppåt med 1/2 rad" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "Stegad layout C: jämna rader förskjuts höger med 1/2 kolumn" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "Stegad layout D: jämna rader förskjuts vänster med 1/2 kolumn" #: src/tags.cpp:408 msgid "Processing Software" msgstr "Behandlingsmjukvara" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "" "Namn och version av programmet som används för att efterbehandla bilden." #: src/tags.cpp:412 msgid "New Subfile Type" msgstr "Ny delfilstyp" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "En allmän visning om vilken sorts data som finns i delfilen." #: src/tags.cpp:415 msgid "Subfile Type" msgstr "Delfilstyp" #: src/tags.cpp:416 msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "" "En allmän visning om vilken sorts data som finns i delfilen. Det här fältet " "kommer fasas ut. Fältet NewSubfileType bör användas istället." #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Antalet kolumner med bilddata, lika med antalet bildpunkter per rad. I JPEG-" "komprimerad data används en JPEG-markör istället för denna tagg." #: src/tags.cpp:425 msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" "Antalet rader med bilddata. I JPEG-komprimerad används en JPEG-markör " "istället för denna tagg." #: src/tags.cpp:428 msgid "Bits per Sample" msgstr "Bitar per sampling" #: src/tags.cpp:429 msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" "Antalet bitar per bildkomponent. I denna standard så är varje komponent av " "bilden 8 bitar, så värdet för denna tagg är 8. Se även . I " "JPEG-komprimerad data används en JPEG-markör istället för denna tagg." #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" "Det komprimeringsschema som används för bilddatan. När en primärbild är " "komprimerad med JPEG är det här inte intressant och utesluts. När " "miniatyrbilder använder JPEG-komprimering är värdet i den här taggen satt " "till 6." #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" "Bildpunktssammansättningen. I JPEG-komprimerad data används en JPEG-markör " "istället för denna tagg." #: src/tags.cpp:444 msgid "Thresholding" msgstr "Tröskelvärde" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" "För svartvita TIFF-filer som representerar gråskala används tekniken för att " "konvertera från gråa till svarta och vita bildpunkter." #: src/tags.cpp:448 msgid "Cell Width" msgstr "Cellbredd" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" "Bredd för ditherings- eller halvtoningsmatrisen som används för att skapa en " "dithrad eller halvtonad tvånivåfil." #: src/tags.cpp:452 msgid "Cell Length" msgstr "Cellängd" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" "Längd för ditherings- eller halvtoningsmatrisen som används för att skapa en " "dithrad eller halvtonad tvånivåfil." #: src/tags.cpp:456 msgid "Fill Order" msgstr "Fyllnadsordning" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "Den logiska ordningen av bitar inom en byte" #: src/tags.cpp:459 msgid "Document Name" msgstr "Dokumentnamn" #: src/tags.cpp:460 msgid "The name of the document from which this image was scanned" msgstr "Namnet på dokumentet från vilken bilden skannades in" #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" "En teckensträng som get titeln på bilden. Det kan vara en kommentar som " "”1988 företagspicknick” eller något i den stilen. Teckenkoder på två byte " "kan inte användas. När en två-byte-kod behövs ska den privata Exif-taggen " " användas." #: src/tags.cpp:470 msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" "Inspelningsutrustningens tillverkare. Det här är tillverkaren av DSC:n, " "skannern, videodigitaliseraren, eller annan utrustning som skapade bilden. " "När fältet lämnas tomt behandlas det som ett okänt värde." #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" "Modellnamn eller -nummer på utrustningen. Det här är modellnamnet eller -" "numret på DSC:n, skannern, videodigitaliseraren, eller annan utrustning som " "skapade bilden. När fältet lämnas tomt behandlas det som ett okänt värde." #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" "För varje stripp, byte-förskjutning av strippen. Vi rekommenderar att det " "anges så att antal stripp-byte inte överstiger 64 Kbyte. För JPEG-" "komprimerad data är det här onödigt och utesluts. Se också " "och ." #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "Bildorientering i rader och kolumner." #: src/tags.cpp:491 msgid "Samples per Pixel" msgstr "Samplingar per bildpunkt" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" "Antal komponenter per bildpunkt. Eftersom standarden gäller för RGB- och " "YCbCr-bilder anges värdet i den här taggen till 3. För JPEG-komprimerad data " "används en JPEG-markör istället för denna tagg." #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "Rader per stripp" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" "Antal rader per stripp. Det här är antalet rader i bilden för en stripp när " "en bild är fördelad i sådana. För JPEG-data är det inte nödvändigt och " "utesluts. Se också och ." #: src/tags.cpp:502 msgid "Strip Byte Count" msgstr "Strippens byte-antal" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" "Totala mängden byte i varje stripp. För JPEG-komprimerad data är det här " "onödigt och utesluts." #: src/tags.cpp:506 msgid "X-Resolution" msgstr "X-upplösning" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" "Antal bildpunkter per i anvisningen . När " "bildupplösningen inte är känd antas 72 [dpi]." #: src/tags.cpp:510 msgid "Y-Resolution" msgstr "Y-upplösning" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" "Antal bildpunkter per i anvisningen . Samma " "värde som i tilldelas." #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" "Visar om bildpunktskomponenterna lagras i block- eller planformat. I JPEG-" "komprimerade bilder används en JPEG-markör istället för denna tagg. Om " "fältet inte existerar antas standardvärdet för TIFF (1 - block)." #: src/tags.cpp:520 msgid "Gray Response Unit" msgstr "Grå svarsenhet" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "Precision för informationen som lagras i gråsvarskurva." #: src/tags.cpp:523 msgid "Gray Response Curve" msgstr "Grå svarskurva" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "" "För gråskala är det här den optiska densiteten för varje möjligt " "bildpunktsvärde." #: src/tags.cpp:526 msgid "T4 Options" msgstr "T4-alternativ" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "T.4-kodningsalternativ." #: src/tags.cpp:529 msgid "T6 Options" msgstr "T6-alternativ" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "T.6-kodningsalternativ." #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" "Enheten som och mäts i. Samma enhet används för " "både och . Om bildens upplösning är okänd antas 2 " "tum." #: src/tags.cpp:537 msgid "Page Number" msgstr "Sidnummer" #: src/tags.cpp:538 msgid "The page number of the page from which this image was scanned." msgstr "Sidonumret för sidan från vilken bilden skannades in." #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" "En överföringsfunktion för bilden, beskriven i tabulär stil. I normala fall " "är taggen överflödig, eftersom färgrymden anges i " "färgrymdsinformationstaggen ()." #: src/tags.cpp:546 msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" "Taggen innehåller namn och version för kamerans eller bildindataenhetens " "mjukvara eller firmware som användes för att skapa bilden. Det detaljerade " "formatet är inte specificerat, men vi rekommenderar att exemplet nedan " "följs. När fältet lämnas tomt behandlas det som ett okänt värde." #: src/tags.cpp:553 msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" "Datum och tid för bildens skapande. I Exif-standarden är det datum och tid " "då filen ändrades." #: src/tags.cpp:557 msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" "Taggen innehåller kameraägarens, fotografens, eller bildskaparens namn. Det " "detaljerade formatet är inte specificerat, men vi rekommenderar att " "informationen skrivs som i exemplet nedan för att underlätta " "interoperabilitet. Om fältet lämnas tomt behandlas det som ett okänt värde. " "Ex.: ”Kameraägare, Adam Bengtsson; Fotograf, Charles Danielsson; " "Bildskapare, Evert Fredriksson”" #: src/tags.cpp:564 msgid "Host Computer" msgstr "Värddator" #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" "Taggen innehåller information om värddatorn som användes för att skapa " "bilden." #: src/tags.cpp:568 msgid "Predictor" msgstr "Kodningshjälpare" #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" "En kodningshjälpare är en matematisk operand som tillämpas på bilddatan " "innan ett kodningsschema tillämpas." #: src/tags.cpp:573 msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" "Kromaciteten för bildens vitpunkt. I normala fall är taggen onödig, eftersom " "färgrymd anges i färgrymdsinformationstaggen ()." #: src/tags.cpp:578 msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" "Kromaciteten för bildens tre primärfärger. I normala fall är taggen onödig, " "eftersom färgrymd anges i färgrymdsinformationstaggen ()." #: src/tags.cpp:582 msgid "Color Map" msgstr "Färgkarta" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" "En färgkarta för palettfärgsbilder. Det här fältet definierar en röd-grön-" "blå färgkarta (ofta kallad uppslagningstabell) för palettfärgsbilder. I en " "palettfärgsbild används ett bildpunktsvärde för att slå upp färger i en RGB-" "uppslagningstabell." #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "Halvtonsvinkningar" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" "Syftet med fältet Halvtonsvinkningar är att förmedla intervallet av " "grånivåer till halvtonsfunktionen inom en färgmetriskt specificerad bild som " "borde bevara färgtonsdetaljer." #: src/tags.cpp:593 msgid "Tile Width" msgstr "Rutbredd" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "Rutbredden i bildpunkter. Det här är antalet kolumner för varje ruta." #: src/tags.cpp:596 msgid "Tile Length" msgstr "Rutlängd" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "" "Rutlängden (höjd) i bildpunkter. Det här är antalet rader i varje ruta." #: src/tags.cpp:599 msgid "Tile Offsets" msgstr "Rutförskjutningar" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" "För varje ruta, byteförskjutningen för den rutan, som komprimerad och lagrad " "på hårddisken. Förskjutningen specificeras utifrån TIFF-filens början. " "Observera att det här antyder att varje ruta har en placering som är " "oberoende av de andra rutornas placeringar." #: src/tags.cpp:605 msgid "Tile Byte Counts" msgstr "Rutans byte-antal" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" "För varje ruta, antalet (komprimerade) i den rutan. Se TileOffsets för en " "beskrivning av hur byte-antalen sorteras." #: src/tags.cpp:609 msgid "SubIFD Offsets" msgstr "DelIFD-förskjutningar" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "" "Definieras av Adobe Corporation för att möjliggöra TIFF-träd inom en TIFF-" "fil." #: src/tags.cpp:612 msgid "Ink Set" msgstr "Bläck-mängd" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "" "Mängden bläck som används i en separerad (PhotometricInterpretation=5) bild." #: src/tags.cpp:615 msgid "Ink Names" msgstr "Bläcknamn" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "" "Namn på varje bläck som används i en separerad (PhotometricInterpretation=5) " "bild." #: src/tags.cpp:618 msgid "Number Of Inks" msgstr "Antal bläck" #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" "Antal bläck. Oftast lika med SamplesPerPixel, om det inte förekommer extra " "samplingar." #: src/tags.cpp:621 msgid "Dot Range" msgstr "Punktintervall" #: src/tags.cpp:622 #, fuzzy, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "Komponentvärden som motsvarar en 0% punkt och en 100% punkt." #: src/tags.cpp:624 msgid "Target Printer" msgstr "Målskrivare" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "En beskrivning av utskriftsmiljön för vilken separeringen avses." #: src/tags.cpp:627 msgid "Extra Samples" msgstr "Extra samplingar" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" "Specificerar att varje bildpunkt har m extra komponenter vilkas tolkning " "definieras av en av värdena som räknas upp nedanför." #: src/tags.cpp:631 msgid "Sample Format" msgstr "Samplingsformat" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "" "Det här fältet specificerar hur bildpunkternas datasamplingar ska tolkas." #: src/tags.cpp:634 msgid "SMin Sample Value" msgstr "SMin samplingsvärde" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "Det här fältet anger det minsta samplingsvärdet." #: src/tags.cpp:637 msgid "SMax Sample Value" msgstr "SMax samplingsvärde" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "Det här fältet anger det största samplingsvärdet." #: src/tags.cpp:640 msgid "Transfer Range" msgstr "Överföringsintervall" #: src/tags.cpp:641 msgid "Expands the range of the TransferFunction" msgstr "Utökar intervallet för TransferFunction" #: src/tags.cpp:643 msgid "Clip Path" msgstr "Klippsökväg" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" "En TIFF-ClipPath avses för att visa det viktiga i PostScripts " "sökvägsskaparfunktionalitet." #: src/tags.cpp:647 msgid "X Clip Path Units" msgstr "X klippsökvägsenheter" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" "Antal enheter som omfattar bildens bredd, i heltals-ClipPath-koordinater." #: src/tags.cpp:651 msgid "Y Clip Path Units" msgstr "Y klippsökvägsenheter" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "" "Antal enheter som omfattar bildens höjd, i heltals-ClipPath-koordinater." #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" "Indexerade bilder är bilder där ”bildpunkterna” inte representerar " "färgvärden, utan hellre ett index (ofta 8-bitars) i en separat färgtabell, " "färgkartan." #: src/tags.cpp:660 msgid "JPEG tables" msgstr "JPEG-tabeller" #: src/tags.cpp:661 msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" "Den här valfria taggen kan användas för att koda JPEG-kvantisering och " "Huffman-tabeller för senare användning under JPEG-avkomprimeringsprocessen." #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "OPI-proxy" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" "OPI-proxy get information om bilden är en lågupplöst mellanhand till en " "högupplöst bild (Adobe OPI)." #: src/tags.cpp:668 msgid "JPEG Process" msgstr "JPEG-process" #: src/tags.cpp:669 msgid "This field indicates the process used to produce the compressed data" msgstr "" "Det här fältet visar vilken process användes för att skapa den komprimerade " "datan" #: src/tags.cpp:671 msgid "JPEG Interchange Format" msgstr "JPEG Interchange Format" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" "Förskjutningen för startbyten (SOI) för JPEG-komprimerad miniatyrbildsdata. " "Det här används inte för primärbilds-JPEG-data." #: src/tags.cpp:675 msgid "JPEG Interchange Format Length" msgstr "JPEG Interchange Format-längd" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" "Antal byte för JPEG-komprimerad miniatyrbildsdata. Det här används inte för " "primärbilds-JPEG-data. JPEG-miniatyrer delas inte, men sparas som en " "kontinuerlig JPEG-bitström från SOI till EOI. Appn- och COM-markörer bör " "inte lagras. Komprimerade miniatyrbilder måste sparas i max 64 Kbyte, " "inklusive all annan data som ska sparas i APP1." #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "JPEG omstartsintervall" #: src/tags.cpp:684 msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "" "Det här fältet visar längden för omstartsintervallet som används i den " "komprimerade bilddatan." #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "JPEG förlustfria hjälpare" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" "Det här fältet pekar ut en lista över förlustfria hjälpar-vals-värden, en " "per komponent." #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "JPEG-punkttransformeringar" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "" "Det här fältet pekar mot en lista över punkttransformeringsvärden, en per " "komponent." #: src/tags.cpp:694 msgid "JPEG Q-Tables" msgstr "JPEG Q-tabeller" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" "Det här fältet pekar mot en lista över förskjutningar på " "kvantiseringstabeller, en per komponent." #: src/tags.cpp:698 msgid "JPEG DC-Tables" msgstr "JPEG DC-tabeller" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" "Det här fältet pekar åt en lista med förskjutningar på DC Huffman-tabellerna " "eller de förlustfria Huffman-tabellerna, en per komponent." #: src/tags.cpp:702 msgid "JPEG AC-Tables" msgstr "JPEG AC-tabeller" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" "Det här fältet pekar på en lista med förskjutningar på Huffman AC-" "tabellerna, en per komponent." #: src/tags.cpp:707 msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" "Matriskoefficienterna för transformering av RGB- till YCbCr-bilddata. Inget " "standardval ges i TIFF, men här används värdet i Bilaga E, " "”Färgrymdsriktlinjer”, som standard. Färgrymden beskrivs i en " "färgrymdsinformationstagg, med ett standardvärde som ger bästa möjliga " "bildegenskaper interoperabilitet det här villkoret." #: src/tags.cpp:715 msgid "YCbCr Sub-Sampling" msgstr "YCbCr del-sampling" #: src/tags.cpp:716 msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Samplingsproportionerna av krominanskomponenterna i förhållande till " "luminanskomponenten. I JPEG-komprimerad data används en JPEG-markör istället " "för den här taggen." #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" "Positionen för krominanskomponenterna i förhållande till " "luminanskomponenten. Det här fältet används bara för JPEG-komprimerad data " "eller okomprimerad YCbCr-data. TIFFs standard är 1 (centrerad); men om Y:Cb:" "Cr = 4:2:2 rekommenderar den här standarden att 2 (sida-vid-sida) används " "för att spara data för att ge bättre bildkvalité när bilden visas på TV-" "system. Om fältet inte finns ska läsaren anta TIFFs standardvärde. Om Y:Cb:" "Cr = 4:2:0 rekommenderas TIFFs standard (centrerad). Om läsaren inte har " "stöd för båda typer av ska den följa TIFF-standarden " "oavsett vad fältet visar för värde. Helst ska läsarna ha stöd för både " "centrerad och sida-vid-sida positionering." #: src/tags.cpp:735 msgid "Reference Black/White" msgstr "Referens svart/vitt" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" "Svartpunktens referensvärde och vitpunktens referensvärde. Ingen standard " "anges i TIFF, men värden nedanför anges som standard här. Färgrymden " "beskrivs i en färgrymdsinformationstagg, med ett standardvärde som ger bästa " "möjliga bildegenskaper interoperabilitet dessa villkor." #: src/tags.cpp:743 msgid "XML Packet" msgstr "XML-paket" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "XMP-metadata (Adobe technote 9-14-02)" #: src/tags.cpp:746 msgid "Windows Rating" msgstr "Windows-betyg" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "Betygstagg som används av Windows" #: src/tags.cpp:749 msgid "Windows Rating Percent" msgstr "Windows-betyg i procent" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "Betygstagg som används av Windows, värde i procent" #: src/tags.cpp:752 msgid "Image ID" msgstr "Bild-ID" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" "Bild-ID är den fullständiga sökvägen för den ursprungliga högupplösta " "bilden, eller någon annan identifierande sträng som är unik för " "originalbilden (Adobe OPI)." #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "CFA upprepa mönsterdimension" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" "Innehåller två värden som representerar minsta antal rader och kolumner för " "att definiera de upprepade mönstren för färgfilterfältet" #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" "Visar färgfilterfältets (CFA) geometriska mönster för bildsensorn när en " "singel-chip färgområdessensor används. Det gäller inte för alla sensormetoder" #: src/tags.cpp:770 msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" "Upphovsrättsinformation. I den här standarden används taggen för att visa " "både fotografens och redaktörens upphovsrätt. Det är " "upphovsrättsinformationen från personen eller organisationen som åberopar " "rättigheter för bilden. Interoperabilitets-upphovsrättsåberopan inkluderar " "datum och rättigheter ska skrivas i det här fältet; t.ex. ”Copyright, Adam " "Bengtsson, 19xx. Alla rättigheter förbehållna.”. I den här standarden lagrar " "fältet både fotografens och redaktörens upphovsrätter, lagrad i separata " "delar av yttrandet. När det finns en tydlig skillnad mellan fotografens och " "redaktörens upphovsrätter ska de skrivas i ordningen fotografens följd av " "redaktörens rättigheter, avdelade med NULL (i det här fallet; eftersom " "yttrandet också slutar med NULL finns det två NULL-koder). När bara " "fotografens upphovsrätt visas, avslutas den av en NULL-kod. När bara " "redaktörens upphovsrätt visas består fotografens upphovsrättsavsnitt av ett " "blanksteg följt av en avslutande NULL-kod, sedan visas redaktörens " "upphovsrätt. Om fältet lämnas tomt behandlas det som ett okänt värde." #: src/tags.cpp:789 msgid "Exposure time, given in seconds." msgstr "Exponeringstid i sekunder." #: src/tags.cpp:790 src/tags.cpp:1553 msgid "The F number." msgstr "F-numret." #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "IPTC/NAA" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "Innehåller en IPTC/NAA-post" #: src/tags.cpp:794 msgid "Image Resources Block" msgstr "Bildresursblock" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "Innehåller information som bäddats in av programmet Adobe Photoshop" #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" "En pekare till Exifs IFD. Interoperabilitet, Exif IFD har samma struktur som " "den IFD som specificeras i TIFF. I vanliga fall innehåller den å andra sidan " "inte bilddata, som i TIFF." #: src/tags.cpp:803 msgid "Inter Color Profile" msgstr "Inter Color-profil" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" "Innehåller en färgrymdskaraktär/-profil i formatet InterColor Consortium " "(ICC)" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" "Programmets klass som användes av kameran för att ange exponering när bilden " "tas." #: src/tags.cpp:807 msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "Visar den spektrala känsligheten för varje kamerakanal som används." #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" "En pekare till GPS-info IFD. Interoperabilitetsstrukturen i GPS-info IFD, " "som Exif IFD, saknar bilddata." #: src/tags.cpp:813 src/tags.cpp:1564 msgid "ISO Speed Ratings" msgstr "ISO-hastighetsgränser" #: src/tags.cpp:813 src/tags.cpp:1565 msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" "Visar ISO-hastigheten och ISO-latituden för kameran eller inmatningsenheten " "enligt ISO 12232." #: src/tags.cpp:814 msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" "Visar den Opto-elektriska konverteringsfunktionen (OECF) enligt ISO 14524." #: src/tags.cpp:815 msgid "Interlace" msgstr "Fläta" #: src/tags.cpp:815 msgid "Indicates the field number of multifield images." msgstr "Visar fältnumret för flerfältsbilder." #: src/tags.cpp:816 msgid "Time Zone Offset" msgstr "Tidszonsförskjutning" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" "Den här valfria taggen kodar tidszonen för kamerans klocka (relativt till " "Greenwich Mean Time) som användes för att skapa taggvärdet för " "DataTimeOriginal när bilden togs. Den kan också innehålla " "tidszonsförskjutningen för klockan som användes för att skapa taggvärdet för " "DateTime när bilden ändrades." #: src/tags.cpp:823 msgid "Self Timer Mode" msgstr "Självutlösningsläge" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "" "Antal sekunder som bildfångst fördröjdes från det att knappen trycktes ner." #: src/tags.cpp:824 msgid "Date Time Original" msgstr "Datum/tid original" #: src/tags.cpp:824 msgid "The date and time when the original image data was generated." msgstr "Datum och tid då den ursprungliga bilddatan skapades." #: src/tags.cpp:825 msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "Specifik för komprimerad data; visar komprimerade bitar per bildpunkt." #: src/tags.cpp:826 msgid "Shutter speed." msgstr "Slutarhastighet." #: src/tags.cpp:827 msgid "The lens aperture." msgstr "Objektivets öppning." #: src/tags.cpp:828 msgid "The value of brightness." msgstr "Värde för ljusstyrkan." #: src/tags.cpp:829 msgid "The exposure bias." msgstr "Exponeringsprioritet." #: src/tags.cpp:830 src/tags.cpp:1645 msgid "Max Aperture Value" msgstr "Största bländarvärde" #: src/tags.cpp:830 msgid "The smallest F number of the lens." msgstr "Objektivets minsta F-nummer." #: src/tags.cpp:831 src/tags.cpp:1651 msgid "The distance to the subject, given in meters." msgstr "Avstånd till motivet i meter." #: src/tags.cpp:832 src/tags.cpp:1654 msgid "The metering mode." msgstr "Mätarläge." #: src/tags.cpp:833 src/tags.cpp:1657 msgid "The kind of light source." msgstr "Typ av ljuskälla." #: src/tags.cpp:834 msgid "Indicates the status of flash when the image was shot." msgstr "Visar blixtens tillstånd när bilden togs." #: src/tags.cpp:835 msgid "The actual focal length of the lens, in mm." msgstr "Den faktiska brännvidden för objektivet i millimeter." #: src/tags.cpp:836 msgid "Amount of flash energy (BCPS)." msgstr "Blixtenergi (BCPS)." #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "Kamerans SFR." #: src/tags.cpp:838 msgid "Noise" msgstr "Brus" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "Brusmätningsvärden." #: src/tags.cpp:839 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" "Antal bildpunkter per FocalPlaneResolutionUnit (37392) i ImageWidth-" "beskrivningen för bilden." #: src/tags.cpp:840 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" "Antal bildpunkter per FocalPlaneResolutionUnit (37392) i ImageLength-" "beskrivningen för bilden." #: src/tags.cpp:841 msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" "Mätningsenhet för FocalPlaneXResolution(37390) och FocalPlaneYResolution" "(37391)." #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "Bildens tilldelade nummer, till exempel i en sekventiell upprepning." #: src/tags.cpp:843 msgid "Security Classification" msgstr "Säkerhetsklassificering" #: src/tags.cpp:843 msgid "Security classification assigned to the image." msgstr "Bildens tilldelade säkerhetsklassificering." #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "Lista över vad som har gjorts med bilden." #: src/tags.cpp:845 msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "Visar platsen och ytan för huvudmotivet i scenen." #: src/tags.cpp:846 msgid "Encodes the camera exposure index setting when image was captured." msgstr "Kodar kamerans exponeringsindexinställning när bilden togs." #: src/tags.cpp:847 msgid "TIFF/EP Standard ID" msgstr "TIFF/EP standard-ID" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" "Innehåller fyra ASCII-tecken som representerar TIFF/EP-standardversionen av " "en TIFF/EP-fil, t.ex. ”1”, ”0”, ”0”, ”0”" #: src/tags.cpp:851 msgid "Type of image sensor." msgstr "Bildsensortyp." #: src/tags.cpp:852 msgid "Windows Title" msgstr "Windows-titel" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "Titeltagg som används av Windows, kodad i UCS2" #: src/tags.cpp:855 msgid "Windows Comment" msgstr "Windows-kommentar" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "Kommentartagg som används av Windows, kodad i UCS2" #: src/tags.cpp:858 msgid "Windows Author" msgstr "Windows-författare" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "Författartagg som används av Windows, kodad i UCS2" #: src/tags.cpp:861 msgid "Windows Keywords" msgstr "Windows-nyckelord" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "Nyckelordstagg som används av Windows, kodad i UCS2" #: src/tags.cpp:864 msgid "Windows Subject" msgstr "Windows-motiv" #: src/tags.cpp:865 msgid "Subject tag used by Windows, encoded in UCS2" msgstr "Motivtagg som används av Windows, kodad i UCS2" #: src/tags.cpp:867 msgid "Print Image Matching" msgstr "Utskriftsbildsmatchning" #: src/tags.cpp:868 msgid "Print Image Matching, description needed." msgstr "Utskriftsbildsmatchning, behöver beskrivning." #: src/tags.cpp:870 msgid "DNG version" msgstr "DNG-version" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" "Taggen kodar DNGs versionsnummer i fyra nivåer. För filer som följer version " "1.1.0.0 av DNGs specifikation ska taggen innehålla byte: 1, 1, 0, 0." #: src/tags.cpp:875 msgid "DNG backward version" msgstr "DNG bakåt-version" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" "Taggen specificerar den äldsta versionen av Digital Negativ-specifikationen " "en fil är kompatibel med. Läsare bör inte försöka läsa en fil om taggen " "anger ett versionsnummer som är nyare än versionen av specifikationen som " "läsaren baserades på. Utöver att kontrollera versionstaggarna ska läsarna, " "för alla taggar, kolla typerna, antalen, och värdena för att försäkra sig om " "att den kan läsa filen korrekt." #: src/tags.cpp:884 msgid "Unique Camera Model" msgstr "Unik kameramodell" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" "Anger ett unikt, icke-lokalanpassat namn för kameramodellen som skapade " "bilden i RAW-filen. Namnet bör inkludera tillverkarens namn för att undvika " "konflikter, och bör inte lokalanpassas, inte ens om kameran själv har döpts " "om för olika marknader (se LocalizedCameraModel). Strängen kan användas av " "läsarprogramvara för att indexera inställningar och ersättningsprofiler för " "varje kamera." #: src/tags.cpp:892 msgid "Localized Camera Model" msgstr "Lokalanpassad kameramodell" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" "Samma som fältet UniqueCameraModel, förutom att namnet kan lokalanpassas för " "olika marknader för att stämma överens med kamerans namn där." #: src/tags.cpp:897 msgid "CFA Plane Color" msgstr "CFA-planfärg" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" "Tillhandahåller en mappning mellan värdena i CFAPattern-taggen och " "plannumren i LinearRaw-rymden. Taggen krävs för icke-RGB CFA-bilder." #: src/tags.cpp:902 msgid "CFA Layout" msgstr "CFA-layout" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "Beskriver den spatiala layouten av CFA." #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" "Beskriver en uppslagningstabell som mappar lagrade värden som linjära " "värden. Taggen används oftast för att öka komprimeringen genom att lagra den " "råa datan i ett icke-linjärt, mer visuellt standardiserat utrymme med färre " "totala kodningsnivåer. Om SamplesPerPixel inte är lika med ett gäller denna " "enda tabell för alla samplingar för varje bildpunkt." #: src/tags.cpp:912 msgid "Black Level Repeat Dim" msgstr "Svartnivå upprepningsdim" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "Anger upprepningsmönstrets storlek för BlackLevel-taggen." #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" "Anger noll-ljusets (s.k. termiskt svart eller svart ström) kodningsnivå, som " "ett upprepat mönster. Mönstrets origo är det översta vänstra hörnet i " "ActiveArea-rektangeln. Värdena lagras i ordningen rad-kolumn-" "samplingskanning." #: src/tags.cpp:921 msgid "Black Level Delta H" msgstr "Svartnivåns delta-h" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" "Om noll-ljusets kodningsnivå är en funktion av bildkolumnen specificerar " "BlackLevelDeltaH skillnaden mellan noll-ljuskodningsnivån för varje kolumn " "och basvärdet för noll-ljuskodningsnivån. Om SamplesPerPixel inte är lika " "med ett gäller denna enda tabell för alla samplingar i alla bildpunkter." #: src/tags.cpp:928 msgid "Black Level Delta V" msgstr "Svartnivåns delta-v" #: src/tags.cpp:929 msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" "Om noll-ljusets kodningsnivå är en funktion av bildraden specificerar taggen " "skillnaden mellan noll-ljuskodningsnivån för varje kolumn och basvärdet för " "noll-ljuskodningsnivån. Om SamplesPerPixel inte är lika med ett gäller denna " "enda tabell för alla samplingar i alla bildpunkter." #: src/tags.cpp:935 msgid "White Level" msgstr "Vitnivå" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" "Taggen anger den fullmättade kodningsnivån för RAW-samplingsvärdena. Mättnad " "orsakas antingen av att sensorn själv blir icke-linjär i sin respons, eller " "av att kamerans analog-till-digital-konverterare överskrider sin gräns." #: src/tags.cpp:941 msgid "Default Scale" msgstr "Standardskalning" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" "DefaultScale krävs för kameror med bildpunkter som inte är fyrkantiga. Det " "anger standardskalningsfaktorn för varje riktning vid konvertering av bilden " "till fyrkantiga bildpunkter. I allmänhet väljs faktorn så att den " "ungefärliga bildpunktsmängden bevaras. För CFA-bilder som använder CFALayout " "lika med 2, 3, 4, eller fem, som Fujifilm SuperCCD, bör värdena skilja sig " "med faktorn 2,0." #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "Standardbeskärningsorigo" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" "RAW-bilder lagrar ofta extrabildpunkter runt den färdiga bildens kanter. " "Dessa extrabildpunkter hjälper till att förhindra interpolationsdefekter " "nära kanterna på den färdiga bilden. DefaultCropOrigin anger origo för den " "färdiga bildens yta, i RAW-bildskoordinater (d.v.s. innan DefaultScale har " "tillämpats), relativt till översta vänstra hörnet av ActiveArea-rektangeln." #: src/tags.cpp:957 msgid "Default Crop Size" msgstr "Standardbeskärningsstorlek" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" "RAW-bilder lagrar ofta extrabildpunkter runt den färdiga bildens kanter. " "Dessa extra bildpunkter hjälper till att förhindra interpolationsdefekter " "nära kanterna på den färdiga bilden. DefaultCropSize anger storleken för den " "färdiga bildens yta, i RAW-bildskoordinater (d.v.s. innan DefaultScale har " "tillämpats)." #: src/tags.cpp:964 msgid "Color Matrix 1" msgstr "Färgmatris 1" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" "ColorMatrix1 definierar en transformationsmatris som konverterar XYZ-värden " "till referenskamerans egna färgrymdsvärden, under den första " "kalibreringsilluminanten. Matrisvärdena lagras i radskanningsordning. " "ColorMatrix1-taggen krävs för alla icke-monokroma DNG-filer." #: src/tags.cpp:971 msgid "Color Matrix 2" msgstr "Färgmatris 2" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" "ColorMatrix2 definierar en transformeringsmatris som konverterar XYZ-värden " "till referenskamerans egna färgrymdsvärden, under den andra " "kalibreringsilluminanten. Matrisvärdena lagras i radskanningsordning." #: src/tags.cpp:977 msgid "Camera Calibration 1" msgstr "Kamerakalibrering 1" #: src/tags.cpp:978 msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" "CameraCalibration1 definierar en kalibreringsmatris som transformerar " "referenskamerans egna färgrymdsvärden till individuella kameraspecifika " "färgrymdsvärden under den första kalibreringsilluminanten. Matrisen lagras i " "radskanningsordning. Matrisen lagras separat från matrisen som anges i " "ColorMatrix1-taggen för att göra det möjligt för RAW-konverterare att byta " "ut färgmatriserna baserat på UniqueCameraModel-taggen, medan man fortfarande " "har nytta av all kamera-specifik kalibrering som utförts av kamerans " "tillverkare." #: src/tags.cpp:987 msgid "Camera Calibration 2" msgstr "Kamerakalibrering 2" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" "CameraCalibration2 definierar en kalibreringsmatris som transformerar " "referenskamerans egna färgrymdsvärden till individuella kameraspecifika " "färgrymdsvärden under den andra kalibreringsilluminanten. Matrisen lagras i " "radskanningsordning. Matrisen lagras separat från matrisen som specificeras " "i ColorMatrix2-taggen för att göra det möjligt för RAW-konverterare att byta " "ut färgmatriserna baserat på UniqueCameraModel-taggen, medan man fortfarande " "har nytta av all kamera-specifik kalibrering som utförts av kamerans " "tillverkare." #: src/tags.cpp:997 msgid "Reduction Matrix 1" msgstr "Reduceringsmatris 1" #: src/tags.cpp:998 msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" "ReductionMatrix1 definierar en dimensionsreduceringsmatris som används i " "första stadiet då kamerans egna färgrymdsvärden konverteras till XYZ-värden " "under den första kalibreringsilluminanten. Taggen används bara om " "ColorPlanes är större än 3. Matrisen lagras i radskanningsordning." #: src/tags.cpp:1004 msgid "Reduction Matrix 2" msgstr "Reduceringsmatris 2" #: src/tags.cpp:1005 msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" "ReductionMatrix2 definierar en dimensionsreduceringsmatris som används i " "första stadiet då kamerans egna färgrymdsvärden konverteras till XYZ-värden, " "under den andra kalibreringsilluminanten. Taggen används bara om ColorPlanes " "är större än 3. Matrisen lagras i radskanningsordning." #: src/tags.cpp:1011 msgid "Analog Balance" msgstr "Analog balans" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" "I normala fall är inte de lagrade RAW-värdena vitbalanserade, eftersom all " "digital vitbalansering kommer reducera den färdiga bildens dynamikintervall " "om användaren sedan skulle vilja justera vitbalansen; men om kamerans " "hårdvara klarar av att vitbalansera färgkanalerna innan signalen " "digitaliseras kan den färdiga bildens dynamikintervall förbättras. " "AnalogBalance definierar förstärkningen, antingen analog (rekommenderas) " "eller digital (rekommenderas inte) som sedan tillämpas på de lagrade RAW-" "värdena." #: src/tags.cpp:1021 msgid "As Shot Neutral" msgstr "Som vid fotografering, neutral" #: src/tags.cpp:1022 msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" "Specificerar den valda vitbalansen vid fotograferingstillfället, kodad som " "koordinater i en helt neutral färg i linjära referensrymdsvärden. Användning " "av den här taggen föregår användning av taggen AsShotWhiteXY." #: src/tags.cpp:1027 msgid "As Shot White XY" msgstr "Som vid fotografering, vit XY" #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" "Specificerar den valda vitbalansen vid fotograferingstillfället, kodad som x-" "y-kromaticitetskoordinater. Användning av den här taggen föregår användning " "av taggen AsShotNeutral." #: src/tags.cpp:1032 msgid "Baseline Exposure" msgstr "Basexponering" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" "Kameramodeller gör olika avvägningar mellan utrymme för högdagrar och " "skuggbrus. Vissa ger ett stort utrymme för högdagrar vid normal exponering. " "Det här möjliggör tillämpning av stor negativ exponeringskompensation vid " "RAW-konvertering, men betyder också att normala exponeringar innehåller mer " "skuggbrus. Andra modeller ger mindre utrymme vid normal exponering. Det ger " "mindre utrymme för negativ exponeringskompensation, men ger ett lägre " "skuggbrus för normala exponeringar. På grund av dessa skillnader måste en " "RAW-konverterare variera sin nollpunkt för exponeringskompensationskontroll " "från en modell till en annan. BaselineExposure anger med hur mycket (i EV-" "enheter) som nollpunkten ska flyttas. Positiva värden ger ljusare resultat, " "medan negativa värden ger mörkare resultat." #: src/tags.cpp:1047 msgid "Baseline Noise" msgstr "Basbrus" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" "Specificerar den relative brusnivån i kameramodellen vid ett bas-ISO-värde " "av 100, jämfört med en referenskameramodell. Eftersom brusnivåer brukar " "skilja sig med den ungefärliga kvadratroten för ISO-värdet kan en RAW-" "konverterare använda det här värdet, kombinerat med nuvarande ISO, för att " "gissa den relativa brusnivån i nuvarande bild." #: src/tags.cpp:1054 msgid "Baseline Sharpness" msgstr "Basskärpa" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" "Anger den relativa skärpa som krävs för den här kameramodellen, jämfört med " "en referenskameramodell. Kameramodeller varierar i styrka bland sina " "kantutjämningsfilter. Kameror med svaga eller frånvarande filter kräver " "mindre skärpa än kameror med starka kantutjämningsfilter." #: src/tags.cpp:1061 msgid "Bayer Green Split" msgstr "Bayer-gröndelning" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" "Gäller bara för CFA-bilder som använder ett Bayer-mönsterfilterfält. Taggen " "anger, i godtyckliga enheter, hur när värdet för de gröna bildpunkterna i de " "blåa/gröna raderna följer värdena för de gröna bildpunkterna i de röda/gröna " "raderna. Värdet 0 betyder att de två olika gröna bildpunkterna stämmer nära " "överens, medan ett annat värde innebär att de ibland skiljer sig. Det " "praktiska intervallet för taggen är från 0 (ingen skillnad) till c:a 5000 " "(riktigt stor skillnad)." #: src/tags.cpp:1070 msgid "Linear Response Limit" msgstr "Linjär respons-gräns" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" "Vissa sensorer har ett oförutsägbart olinjärt drag i sin respons när de når " "taket för sitt kodningsintervall. Det resulterar i färgskiftningar i " "högdagerområdena i den resulterande bilden om inte RAW-konverteraren " "kompenserar för effekten. LinearResponeLimit specificerar gränsen i " "kodningsintervallet där responsen kan bli svårt olinjär." #: src/tags.cpp:1079 msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" "CameraSerialNumber innehåller serienumret för kameran eller kamerachassit " "som tog bilden." #: src/tags.cpp:1082 msgid "Lens Info" msgstr "Objektivinformation" #: src/tags.cpp:1083 msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" "Innehåller information om objektivet som tog bilden. Om de minsta f-stoppen " "är okända ska de kodas som 0/0." #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "Kromaoskärperadie" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" "ChromaBlurRadius talar om för DNG-läsaren hur mycket kromasuddighet ska " "tillämpas på bilden. Om taggen utesluts kommer läsaren använda sin " "standardinställning. I normala fall används taggen bara för icke-CFA-bilder, " "eftersom mängden kromasuddighet som krävs för mosaikbilder beror starkt på " "av-mosaikalgoritmen, i vilket fall DNG-läsarens standardvärde sannolikt har " "optimerats för sin särskilda av-mosaikalgoritm." #: src/tags.cpp:1095 msgid "Anti Alias Strength" msgstr "Kantutjämningsstyrka" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" "Talar om för DNG-läsaren hur starkt kamerans kantutjämningsfilter är. Värdet " "0.0 innebär att utjämningsfilter saknas (d.v.s.. kameran ger kantdefekter " "med vissa motiv), medan värdet 1.0 innebär att kantutjämningsfiltret är " "starkt (dvs. att kameran nästan aldrig ger kantdefekter)." #: src/tags.cpp:1102 msgid "Shadow Scale" msgstr "Skuggskalning" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" "Taggen används av Adobe Camera RAW för att kontrollera känsligheten i dess " "”Skugg”-reglage." #: src/tags.cpp:1106 msgid "DNG Private Data" msgstr "Privat DNG-data" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" "Tillhandahåller en metod för kameratillverkare att lagra privat data i DNG-" "filen för bruk med deras egna RAW-konverterare, och att bevara datan i " "program som redigerar DNG-filer." #: src/tags.cpp:1111 msgid "MakerNote Safety" msgstr "MakerNote-säkerhet" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" "MakerNoteSafety låter DNG-läsaren veta om Exifs MakerNote-tagg tryggt kan " "bevaras tillsammans med resten av Exif-datan. Filhanterare och annan " "bildhanteringsmjukvara som behandlar en bild med en bevarad MakerNote bör " "veta om att miniatyrbildsdata som inbäddats i MakerNote kan vara föråldrad, " "och kanske inte visar den fullstora bildens nuvarande tillstånd." #: src/tags.cpp:1119 msgid "Calibration Illuminant 1" msgstr "Kalibreringsilluminant 1" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" "Illuminanten som används för den första serien kalibreringstaggar " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). Tillåtna värden för " "taggen är detsamma som de tillåtna värdena för Exif-taggen LightSource." #: src/tags.cpp:1125 msgid "Calibration Illuminant 2" msgstr "Kalibreringsilluminant 2" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" "Illuminanten används för en valfri andra uppsättning färgkalibreringstaggar " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). Tillåtna värden för " "taggen är desamma som för CalibrationIlluminant1-taggen; men om båda används " "får ingen av dem ha värdet 0 (okänt)." #: src/tags.cpp:1132 msgid "Best Quality Scale" msgstr "Bästa kvalitetsskalning" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" "För vissa kameror uppnås inte bästa möjliga bildkvalitet genom att bevara " "totala bildpunktsantalet vid konvertering. Till exempel Fujifilm SuperCCD-" "bilder har maximal detaljrikedom när deras bildpunktsantal fördubblas. " "Taggen specificerar talet med vilket värdena i taggen DefaultScale måste " "multipliceras för att uppnå bästa bildkvalitetsstorlek." #: src/tags.cpp:1140 msgid "Raw Data Unique ID" msgstr "RAW-data, unik ID" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" "Taggen innehåller en 16-byte unik identifierare för RAW-bilddatan i DNG-" "filen. DNG-läsare kan använda taggen för att känna igen en viss RAW-bild, " "även om filens namn eller metadatan i filen har ändrats. Om en DNG-skrivare " "skapar en sådan identifierare ska den göra det med algoritm som försäkrar " "sig om att det är mycket osannolikt att två olika bilder kommer få samma " "identifierare." #: src/tags.cpp:1149 msgid "Original Raw File Name" msgstr "Ursprungligt RAW-filnamn" #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" "Om DNG-filen konverterades från en icke-DNG RAW-fil innehåller taggen " "filnamnet för den ursprungliga RAW-filen." #: src/tags.cpp:1153 msgid "Original Raw File Data" msgstr "Ursprunglig RAW-fildata" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" "Om DNG-filen konverterades från en icke-DNG RAW-fil innehåller taggen det " "komprimerade innehållet i den ursprungliga RAW-filen. Innehållet i taggen " "använder alltid big-endian byte-ordning. Taggen innehåller en sekvens av " "datablock. Framtida versioner av DNG-specifikationen kan definiera " "ytterligare datablock, så DNG-läsare bör ignorera extra byte när taggen " "tolkas. DNG-läsare ska också känna av de fall då datablock saknas från " "sekvensens slut, och ska anta ett standardvärde för alla saknade block. Det " "finns inga utfyllnads- eller rättningsbyte mellan datablock." #: src/tags.cpp:1164 msgid "Active Area" msgstr "Aktivt område" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" "Den här rektangeln definierar de aktiva (icke-maskerade) bildpunkterna i " "sensorn. Ordningen för rektangels koordinater är: överst, vänster, nederst, " "höger." #: src/tags.cpp:1168 msgid "Masked Areas" msgstr "Maskerade områden" #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" "Taggen innehåller en lista över icke-överlappande rektangelkoordinater för " "helt maskerade bildpunkterna, vilka vid behov kan användas av DNG-läsare för " "att mäta svartkodningsnivån. Ordningen för varje triangels koordinat är: " "överst, vänster, nederst, höger. Om RAW-bilddatan redan har sin " "svartkodningsnivå subtraherad används inte taggen, eftersom de maskerade " "bildpunkterna inte fyller någon funktion längre." #: src/tags.cpp:1176 msgid "As-Shot ICC Profile" msgstr "Som vid fotografering ICC-profil" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" "Taggen innehåller en ICC-profil som, tillsammans med taggen " "AsShotPreProfileMatrix, ger kameratillverkaren ett sätt att ange en standard-" "färgåtergivning utifrån kamerans färgrymdskoordinater (linjära " "referensvärden) in i ICC-profilens anslutningsrymd. ICC-" "profilanslutningsrymden är en utmatningshänvisad färgmetrisk rymd, medan de " "andra färgkalibreringstaggarna i DNG specificerar en konvertering till en " "scenhänvisad färgmetrisk rymd. Det här innebär att återgivningen i den här " "profilen bör inkludera föredragen färgton och färguppsättningsmappning som " "behövs för att konvertera mellan scenhänvisade värden och " "utmatningshänvisade värden." #: src/tags.cpp:1188 msgid "As-Shot Pre-Profile Matrix" msgstr "Som vid fotografering för-profilsmatris" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" "Taggen används tillsammans med AsShotICCProfile-taggen. Den anger en matris " "som bör tillämpas på kamerans färgrymdskoordinater innan värdena behandlas " "genom ICC-profilen som specificeras i AsShotICCProfile-taggen. Matrisen " "lagras i radskanningsordning. Om ColorPlanes är större än 3 kan matrisen " "(men måste inte) reducera dimensionaliteten för färgdatan ner till tre " "komponenter, då AsShotICCProfile bör ha 3 snarare än ColorPlanes " "inmatningskomponenter." #: src/tags.cpp:1198 msgid "Current ICC Profile" msgstr "Nuvarande ICC-profil" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" "Taggen används tillsammans med taggen CurrentPreProfileMatrix. " "CurrentICCProfile- och CurrentPreProfileMatrix-taggarna har samma syfte och " "används på samma sätt som taggparet AsShotICCProfile och " "AsShotPreProfileMatrix, bortsett från att de ska användas av RAW-" "filredigerare snarare än kameratillverkare." #: src/tags.cpp:1205 msgid "Current Pre-Profile Matrix" msgstr "Nuvarande förprofilsmatris" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" "Taggen används tillsammans med taggen CurrentICCProfile. CurrentICCProfile " "och CurrentPreProfileMatrix-taggarna har samma syfte och används på samma " "sätt som taggparet AsShotICCProfile och AsShotPreProfileMatrix, bortsett " "från att de ska användas av RAW-filredigerare snarare än kameratillverkare." #: src/tags.cpp:1212 msgid "Colorimetric Reference" msgstr "Colorimetric referens" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" "Färgmodellen DNG dokumenterar en transformering mellan kamerafärger oc CIE " "XYZ-värden. Denna tagg beskriver den colorimetriska referensen för CIE XYZ--" "värdena. 0 = XYZ-värdena är scenrefererade. 1 = XYZ-värdena är " "utmatningsrefererade, använder ICC perceptual dynamic range. Denna tagg " "tillåter utmatningsrefererad data till att lagras i DNG-filer och ändå " "bearbetas korrekt av DNG-läsare." #: src/tags.cpp:1220 msgid "Camera Calibration Signature" msgstr "Kamerakalibreringsignatur" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" "En UTF8-kodad sträng associerad med taggarna CameraCalibration1 och " "CameraCalibration2. Taggarna CameraCalibration1 och CameraCalibration2 bör " "endast används i DNG-färgtransformering om strängen lagrad i " "CameraCalibrationSignature-taggen precis matchar strängen lagrad i " "ProfileCalibrationSignature för den valda kameraprofilen." #: src/tags.cpp:1227 msgid "Profile Calibration Signature" msgstr "Profilkalibreringssignatur" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" "En UTF8-kodad sträng associerad med kameraprofiltaggarna. Taggarna " "CameraCalibration1 och CameraCalibration2 bör endast användas i DNG-" "färgtransformering om strängen lagrad i CameraCalibrationSignature precis " "matchar strängen lagrad i taggen ProfileCalibrationSignature för den valda " "kamera profilen." #: src/tags.cpp:1234 msgid "As Shot Profile Name" msgstr "Profilnamn som taget" #: src/tags.cpp:1235 msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" "En UTF-8-kodad sträng innehållandes namnet för kameraprofilen ”as shot”, om " "någon." #: src/tags.cpp:1238 msgid "Noise Reduction Applied" msgstr "Brusreducering tillämpad" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" "Taggen indikerar hur mycket brusreducering som tillämpas på rådatan på en " "skala från 0.0 till 1.0. Ett 0.0-värde indikerar att ingen brusreducering " "har tillämpats. Ett 1.0-värde indikerar att ”ideal” mängd brusreducering har " "tillämpats, d.v.s. att DNG-läsaren inte ska lägga på ytterligare " "brusreducering som standard. Ett värde på 0/0 indikerar att parametern är " "okänd." #: src/tags.cpp:1246 msgid "Profile Name" msgstr "Profilnamn" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" "En UTF-8-kodad sträng med namnet för kameraprofilen. Taggen är valfri om det " "endast finns en kameraprofil lagrad i filen men krävs för alla " "kameraprofiler om det finns mer än en kameraprofil lagrad i filen." #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "Profiltoning sat map dims" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" "Taggen specificerar antalet inmatningssamplingar för varje dimension av " "nyans-/mättnad-/intensitetsmappningstabellerna. Data för dessa tabeller " "lagras i taggarna ProfileHueSatMapData1 och ProfileHueSatMapData2. Den " "vanligaste användningen har ValueDivisions lika med 1, så endast nyans och " "mättnad används som indata för mappningstabellen." #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "Profile Hue Sat Map Data 1" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" "Taggen innehåller data för den första nyans-/mättnad-/intensitet-" "mappningstabellen. Varje post i tabellen innehåller tre 32-bitars IEEE " "flyttalsvärden. Första värdet är nyans-skiftning i grader, det andra värdet " "är mättnadsskalfaktor och det tredje värdet är en intensitetsskalfaktor. " "Tabellposterna lagras i taggen i nästlad loop-order, med intensitetsdelaren " "i yttre loop, nyansdelarna i mittenloopen och mättnadsdelarna i inre loop. " "Alla nollindata poster måste ha skalfaktor 1.0." #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "Profile Hue Sat Map Data 2" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" "Taggen innehåller data för det andra nyans-/mättnad-/intensitet-" "mappningstabellen. Varje post i tabellen innehåller tre 32-bitars IEEE " "flyttalsvärden. Första värdet är nyans-skiftning i grader, det andra värdet " "är mättnads-skalfaktor och det tredje värdet är en intensitetsskalfaktor. " "Tabellposterna lagras i taggen i nästlad loop-order, med intensitetsdelaren " "i yttre loop, nyans-delarna i mittenloop och mättnadsdelarna i inre loopen. " "Alla nollindata poster måste ha skalfaktor 1.0." #: src/tags.cpp:1279 msgid "Profile Tone Curve" msgstr "Profiltoningskurva" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" "Taggen innehåller en standardtonkurva som kan tillämpas under bearbetning av " "bilden som en startpunkt för användarjusteringar. Kurvan är specificerad som " "ett 32-bitars IEEE-flyttalsvärdepar i linjär gamma. Varje sampling har ett " "indatavärde i området 0.0 till 1.0 och ett utdatavärde i området 0.0 till " "1.0. Den första samplingen ska vara (0.0, 0.0) och den sista samplingen ska " "vara (1.0, 1.0). Interpolerar kurvan med hjälp av cubic spline." #: src/tags.cpp:1288 msgid "Profile Embed Policy" msgstr "Profilinmatningspolicy" #: src/tags.cpp:1289 msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" "Taggen innehåller information om användningsreglerna för den associerade " "kameraprofilen." #: src/tags.cpp:1292 msgid "Profile Copyright" msgstr "Profil-upphovsrätt" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" "En UTF-8-kodad sträng innehållandes upphovsrättsinformationen för " "kameraprofilen. Denna sträng bör alltid förvaras tillsammans med andra " "kameraprofiltaggar." #: src/tags.cpp:1297 msgid "Forward Matrix 1" msgstr "Forward Matrix 1" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" "Taggen definierar en matris som mappar vitbalanserade kamerafärger till XYZ " "D50-färger." #: src/tags.cpp:1301 msgid "Forward Matrix 2" msgstr "Forward Matrix 2" #: src/tags.cpp:1305 msgid "Preview Application Name" msgstr "Namn för förhandsvisningsprogrammet" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" "En UTF-8-kodad sträng innehållandes namnet för programmet som skapade " "förhandsvisningen lagrad i IFD." #: src/tags.cpp:1309 msgid "Preview Application Version" msgstr "Version för förhandsvisningsprogrammet" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" "En UTF-8-kodad sträng innehållandes versionsnumret för programmet som " "skapade förhandsvisningen lagrad i IFD." #: src/tags.cpp:1313 msgid "Preview Settings Name" msgstr "Inställningsnamn för förhandsvisning" #: src/tags.cpp:1314 msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" "En UTF-8-kodad sträng innehållandes namnet för konverteringsinställningarna " "(exempelvis snapshotnamn) använd för förhandsvisningen lagrad i IFD." #: src/tags.cpp:1317 msgid "Preview Settings Digest" msgstr "Inställningssumma för förhandsvisning" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" "Ett unikt ID för konverteringsinställningarna (exempelvis MD5 digest) " "använda för att rendera förhandsvisningen lagrad i IFD." #: src/tags.cpp:1321 msgid "Preview Color Space" msgstr "Färgrymd för förhandsvisning" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" "Taggen specificerar färgrymden i vilken den renderade förhandsvisningen i " "IFD lagras. Standardvärdet för denna tagg är sRGB för färgförhandsvisningar " "och Gray Gamma 2.2 för monokroma förhandsvisningar." #: src/tags.cpp:1326 msgid "Preview Date Time" msgstr "Datum och tid för förhandsvisning" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" "Taggen är en ASCII-sträng innehållandes namnet för datum/tid då " "förhandsvisningen i IFD renderades. Datum/tid är kodat med ISO 8601-formatet." #: src/tags.cpp:1331 msgid "Raw Image Digest" msgstr "Kontrollsumma för råbild" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" "Taggen är en MD5-kontrollsumma av råbildsdata. Alla bildpunkter i bilden är " "bearbetade i radskanningsordning. Varje bildpunkt är nollpaddad till 16 " "eller 32-bitars djup (16-bitars för data mindre än eller lika med 16-bitars " "djup, annars 32-bitar). Data för varje bildpunkt bearbetas i little-endian " "byteordning." #: src/tags.cpp:1337 msgid "Original Raw File Digest" msgstr "Ursprunglig kontrollsumma för råbild" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" "Taggen är en MD5-kontrollsumma för datat lagrat i taggen OriginalRawFileData." #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "Blockstorlek för underruta" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" "Vanligtvis lagras bildpunkterna i en ruta i enkel radskanningordning. Taggen " "anger att bildpunkterna i en ruta ska grupperas, först till rektangulära " "block av specificerad storlek. Blocken lagras i radskanningsordning. I varje " "block kommer bildpunkterna att lagras i radskanningsordning. Användningen av " "ett icke-standardvärde för denna tagg kräver att DNGBackwardVersion är minst " "1.2.0.0." #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "Radinflätningsfaktor" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" "Taggen anger att raderna för bilden ska lagras i inflätad ordning. Värdet " "för taggen specificerar antalet flätade fält. Användning av ett icke-" "standardvärde för denna tagg kräver att DNGBackwardVersion sätts till minst " "1.2.0.0." #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "Profile Look Table Dims" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" "Taggen specificerar antalet indatasamplingar i varje dimension av en " "standard ”look”-tabell. Data för denna tabell lagras i taggen " "ProfileLookTableData." #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "Profile Look Table Data" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" "Taggen innehåller en standard ”look”-tabell som kan tillämpas under " "bearbetning av bilden som en startpunkt för användarjustering. Tabellen " "använder samma format som tabellerna lagrade i ProfileHueSatMapData1 och " "ProfileHueSatMapData2 och verkställs i samma färgrymd. Den ska dock " "verkställas senare i bearbetningsströmmen, efter eventuell " "exponeringskompensation och/eller fyllnadsljus, men innan tonkurvesteget. " "Varje post i tabellen innehåller tre 32-bitars IEEE flyttalsvärden. Första " "värdet är nyans-skiftning i grader, andra värdet är mättnadsskalfaktorn och " "den tredje posten är intensitetsskalfaktorn. Tabellposterna lagras i taggen " "i nästlad loop-ordning, med intensitetsdivisionen i den yttre loopen, nyans-" "divisionen i mittenloopen och mättnadsdivisionen i den inre loopen. Alla " "nollindata-mättnadinmatningar kräver en skalfaktor på 1.0." #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "Opkodlista 1" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" "Specificerar listan av opkoder som ska tillämpas på den råa bilden som lästs " "in direkt från filen." #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "Opkodlista 2" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" "Specificerar listan av opkoder som ska tillämpas på den råa bilden precis " "efter att den har blivit mappad till linjära referensvärden." #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "Opkodlista 3" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" "Specificerar listan av opkoder som ska tillämpas på den råa bilden precis " "efter att den har blivit demosaiced." #: src/tags.cpp:1387 msgid "Noise Profile" msgstr "Brusprofil" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" "NoiseProfile beskriver mängden brus i en råbild. Specifikt modellerar taggen " "mängden signalberoende foton (blixt)-brus och signaloberoende " "sensorläsarbrus, två vanliga bruskällor i råa bilder. Modellen antar att " "bruset är vitt spatialt oberoende, ignorerar bestämda mönstereffekter och " "andra källor av brus (e.g. bildpunktavvikelse, spatialberoende " "termaleffekter, etc.)." #: src/tags.cpp:1396 src/tags.cpp:1397 msgid "Unknown IFD tag" msgstr "Okänd IFD-tagg" #: src/tags.cpp:1408 src/tags.cpp:1466 msgid "Not defined" msgstr "Inte definierad" #: src/tags.cpp:1413 msgid "Creative program" msgstr "Skapande program" #: src/tags.cpp:1414 msgid "Action program" msgstr "Åtgärdsprogram" #: src/tags.cpp:1415 msgid "Portrait mode" msgstr "Porträttläge" #: src/tags.cpp:1416 msgid "Landscape mode" msgstr "Liggande läge" #: src/tags.cpp:1425 msgid "Multi-spot" msgstr "Flera punkter" #: src/tags.cpp:1437 msgid "Tungsten (incandescent light)" msgstr "Volfram (bländande ljus)" #: src/tags.cpp:1439 msgid "Fine weather" msgstr "Fint väder" #: src/tags.cpp:1440 msgid "Cloudy weather" msgstr "Molnigt väder" #: src/tags.cpp:1442 msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "Dagsljus fluorescerande (D 5700 - 7100K)" #: src/tags.cpp:1443 msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "Dagsljus vitt fluorescerande (N 4600 - 5400K)" #: src/tags.cpp:1444 msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "Kallt vitt fluorescerande (W 3900 - 4500K)" #: src/tags.cpp:1445 msgid "White fluorescent (WW 3200 - 3700K)" msgstr "Vitt fluorescerande (WW 3200 - 3700K)" #: src/tags.cpp:1446 msgid "Standard light A" msgstr "Standardljus A" #: src/tags.cpp:1447 msgid "Standard light B" msgstr "Standardljus B" #: src/tags.cpp:1448 msgid "Standard light C" msgstr "Standardljus C" #: src/tags.cpp:1449 msgid "D55" msgstr "D55" #: src/tags.cpp:1450 msgid "D65" msgstr "D65" #: src/tags.cpp:1451 msgid "D75" msgstr "D75" #: src/tags.cpp:1452 msgid "D50" msgstr "D50" #: src/tags.cpp:1453 msgid "ISO studio tungsten" msgstr "ISO studio volfram" #: src/tags.cpp:1454 msgid "Other light source" msgstr "Annan ljuskälla" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "Okalibrerad" #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "Färgområde med en krets" #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "Färgområde med två kretsar" #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "Färgområde med tre kretsar" #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "Färgområde i sekvens" #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "Trilinjär sensor" #: src/tags.cpp:1472 msgid "Color sequential linear" msgstr "Färglinjär i sekvens" #: src/tags.cpp:1477 msgid "Film scanner" msgstr "Filmläsare" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "Reflexion utskriftsskanner" #: src/tags.cpp:1479 msgid "Digital still camera" msgstr "Digital stillbildskamera" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "Direkt fotograferad" #: src/tags.cpp:1489 msgid "Normal process" msgstr "Normal process" #: src/tags.cpp:1490 msgid "Custom process" msgstr "Anpassad process" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "Låg förstärkning upp" #: src/tags.cpp:1519 msgid "High gain up" msgstr "Hög förstärkning upp" #: src/tags.cpp:1520 msgid "Low gain down" msgstr "Låg förstärkning ner" #: src/tags.cpp:1521 msgid "High gain down" msgstr "Hög förstärkning ner" #: src/tags.cpp:1542 msgid "Close view" msgstr "Närbild" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "Fjärrbild" #: src/tags.cpp:1550 msgid "Exposure time, given in seconds (sec)." msgstr "Exponeringstid, angivet i sekunder (s)." #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" "Visar spektralkänsligheten för varje kanal i den använda kameran. Taggvärdet " "är en ASCII-sträng som är kompatibel med standarden utvecklad av den " "tekniska kommittén ASTM." #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "Opto-elektorisk konverteringsfunktion" #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" "Visar den opto-elektroniska konverteringsfunktionen (OECF) som specificeras " "i ISO 14524. är förhållandet mellan kamerans optiska inmatning och " "bildens värden." #: src/tags.cpp:1573 msgid "Sensitivity Type" msgstr "Känslighetstyp" #: src/tags.cpp:1574 msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" "Taggen känslighetstyp indikerar vilken av parametrarna för ISO122332 som är " "PhotographicSensitivity-taggen. Även om det är en valfri tagg bör den lagras " "när taggen PhotographicSensitivity lagras. Värde = 4, 5, 6 eller 7 kan " "användas i det fall att värdena på flertalet parametrar är detsamma." #: src/tags.cpp:1580 msgid "Standard Output Sensitivity" msgstr "Standard Output Sensitivity" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" "Taggen indikerar standard utdata känslighetsvärde för en kamera eller " "indataenhet som definieras i ISO 12232. Denna tag ska inte lagras utan " "taggarna PhotographicSensitivity och SensitivityType." #: src/tags.cpp:1585 msgid "Recommended Exposure Index" msgstr "Rekommenderat exponeringsindexvärde" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" "Taggen indikerar rekommenderat exponeringsindexvärde för en kamera eller " "indataenhet som definieras i ISO 12232. Denna tag ska inte lagras utan " "taggarna PhotographicSensitivity och SensitivityType." #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" "Taggen indikerar ISO-hastighet värde för en kamera eller indataenhet som " "definieras i ISO 12232. Denna tag ska inte lagras utan taggarna " "PhotographicSensitivity och SensitivityType." #: src/tags.cpp:1595 msgid "ISO Speed Latitude yyy" msgstr "ISO Speed Latitude yyy" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" "Taggen indikerar ISO-hastighet latitude yyy-värde för en kamera eller " "indataenhet som definieras i ISO 12232. Denna tag ska inte lagras utan " "ISOSpeed och ISOSpeedLatitudezzz." #: src/tags.cpp:1600 msgid "ISO Speed Latitude zzz" msgstr "ISO Speed Latitude zzz" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" "Taggen indikerar ISO-hastighet latitude zzz-värde för en kamera eller " "indataenhet som definieras i ISO 12232. Denna tag ska inte lagras utan " "ISOSpeed och ISOSpeedLatitudeyyy." #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" "Den version av standarden som har stöd. Om fältet inte finns antas det visa " "på att standarden inte följs." #: src/tags.cpp:1609 msgid "Date and Time (original)" msgstr "Datum och tid (original)" #: src/tags.cpp:1610 msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" "Datum och tid då den ursprungliga bilddatan skapades. För en digital " "stillbildskamera lagras datum och tid då bilden togs." #: src/tags.cpp:1613 msgid "Date and Time (digitized)" msgstr "Datum och tid (digitaliserad)" #: src/tags.cpp:1614 msgid "The date and time when the image was stored as digital data." msgstr "Datum och tid då bilden lagrades som digital data." #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" "Information som är specifik för den komprimerade datan. Kanalerna för varje " "komponent ordnas från den första komponenten till den fjärde. För " "okomprimerade data anges datasorteringen i -" "taggen. Men eftersom bara kan uttrycka ordningen " "Y, Cb, och Cr, tillhandahålls den här taggen för fall då komprimerad data " "använder andra komponenter än Y, Cb, och Cr, och för att möjliggöra stöd för " "andra sekvenser." #: src/tags.cpp:1626 msgid "Compressed Bits per Pixel" msgstr "Komprimerade bitar per bildpunkt" #: src/tags.cpp:1627 msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" "Information som är bunden till komprimerad data. Komprimeringsläget som " "används för en komprimerad bild indikeras i enheten bitar per bildpunkt." #: src/tags.cpp:1631 msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" "Slutarhastighet. Enheten är APEX (Additive system of Photographic EXposure)." #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "Objektivöppningen. Enheten är APEX-värdet." #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" "Ljusstyrkans värde. Enheten är APEX-värdet. I vanliga fall anges det i " "intervallet -99,99 till 99,99." #: src/tags.cpp:1641 msgid "Exposure Bias" msgstr "Exponeringsprioritet" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" "Exponeringsprioriteten. Enheten är APEX-värdet. I vanliga fall anges det i " "intervallet -99,99 till 99,99." #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" "Objektivets minsta F-nummer. Enheten är APEX-värdet. I vanliga fall anges " "det i intervallet 00,00 till 99,99, men det är inte begränsat till det." #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "Taggen lagras när en bild tas med hjälp av stroboskopljus (blixt)." #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" "Objektivets faktiskt brännvidd i mm. Konvertering sker inte för brännvidd " "hos en 35 mm filmkamera." #: src/tags.cpp:1667 msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "Taggen visar platsen och området för de huvudsakliga motiven i scenen." #: src/tags.cpp:1670 msgid "Maker Note" msgstr "Anteckning från tillverkaren" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" "En tagg för tillverkare av Exif-skrivare att spara information. Innehållet " "bestäms av tillverkaren." #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" "En tagg där Exif-användare kan skriva in nyckelord eller kommentarer för " "bilden vid sidan av dem i , och utan " "teckenkodsbegränsningarna i taggen ." #: src/tags.cpp:1679 msgid "Sub-seconds Time" msgstr "Delsekunder tid" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "" "En tagg som används för att lagra delar av sekunder för -taggen." #: src/tags.cpp:1682 msgid "Sub-seconds Time Original" msgstr "Delsekunder ursprunglig tid" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "En tagg som används för att lagra delar av sekunder för -" "taggen." #: src/tags.cpp:1685 msgid "Sub-seconds Time Digitized" msgstr "Delsekunder tid digitaliserad" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "En tagg som används för att lagra delar av sekunder för -" "taggen." #: src/tags.cpp:1688 msgid "FlashPix Version" msgstr "FlashPix-version" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "Versionen av FlashPix-formatet som stöds av en FPXR-fil." #: src/tags.cpp:1692 msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" "Färgrymdsinformationstaggen lagras alltid som färgrymdsidentifieraren. I " "normala fall används sRGB för att definiera färgrymden baserat på PC:ns " "skärmomständigheter och -miljö. Om en annan färgrymd än sRGB används, anges " "Okalibrerad. Bilddata som anges som Okalibrerad kan behandlas som sRGB när " "den konverteras till FlashPix." #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" "Information bunden till komprimerad data. När en komprimerad fil sparas, " "måste den giltiga bredden för en godtagbar bild lagras i den här taggen, " "vara sig det finns utfyllnadsdata eller omstartsmarkörer. Taggen bör inte " "finnas i en okomprimerad fil." #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" "Information bunden till komprimerad data. När en komprimerad fil sparas, " "måste den giltiga höjden för en godtagbar bild lagras i den här taggen, vare " "sig det finns utfyllnadsdata eller omstartsmarkörer. Taggen bör inte finnas " "i en okomprimerad fil. Eftersom datautfyllnad inte behövs i det vertikala " "kommer antalet rader som sparas i den här giltig bildhöjdstaggen egentligen " "vara samma som sparas i SOF." #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" "Taggen används för att spara namnet på en ljudfil som hör till bilddatan. " "Den enda relaterande information som sparas här är Exif ljudfilsnamn och -" "filändelse (en ASCII-sträng som består av 8 tecken + ”.” + 3 tecken). " "Sökvägen sparas inte." #: src/tags.cpp:1723 msgid "Interoperability IFD Pointer" msgstr "Interoperabilitets-IFD-pekare" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" "Interoperabilitets-IFD består av taggar som lagrar information för att " "säkerställa interoperabiliteten och spetsig av följande tagg som finns i " "Exif IFD. Interoperabilitetsstrukturen i Interoperability-IFD är samma som " "den TIFF-definierade IFD-strukturen, men innehåller inte bilddatan som i " "regel jämförs med normal TIFF-IFD." #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" "Visar stroboskopenergin då bilden togs, mätt i Beam Candle Power Seconds " "(BCPS)." #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" "Taggen lagrar kamerans eller inmatningsenhetens spatialfrekvenstabell och " "SFR-värden i fråga om bildens bredd, höjd och diagonal riktning enligt " "specifikationen ISO 12233." #: src/tags.cpp:1740 msgid "Focal Plane X-Resolution" msgstr "Fokalplanets X-upplösning" #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" "Visar antalet bildpunkter i bildens bredd (X) enligt " " i kamerans brännviddsplan." #: src/tags.cpp:1744 msgid "Focal Plane Y-Resolution" msgstr "Fokalplanets Y-upplösning" #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" "Visar antalet bildpunkter i bildens höjd (Y) enligt " " i kamerans brännviddsplan." #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" "Visar enheten för mätning av och " ". Det här värdet är detsamma som ." #: src/tags.cpp:1753 msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" "Visar platsen för det huvudsakliga motivet i scenen. Värdet för den här " "taggen representerar bildpunkten mitt i huvudmotivet relativt till den " "vänstra kanten, innan rotationsbehandling per taggen . Det första " "värdet visar X-kolumnnumret och den andra visar Y-radnumret." #: src/tags.cpp:1759 msgid "Exposure index" msgstr "Exponeringsindex" #: src/tags.cpp:1760 msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" "Visar det exponeringsindex som hade valts på kameran eller inmatningsenheten " "vid tiden då bilden togs." #: src/tags.cpp:1764 msgid "Indicates the image sensor type on the camera or input device." msgstr "Visar bildsensortypen i kameran eller inmatningsenheten." #: src/tags.cpp:1767 msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" "Visar bildkällan. Om en DSC sparade bilden är taggens värde alltid satt till " "3, vilket visar att bilden togs med en DSC." #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" "Visar scentypen. Om en DSC sparade bilden måste den här taggen alltid anges " "som 1, vilket visar att bilden fotograferades direkt." #: src/tags.cpp:1776 msgid "Color Filter Array Pattern" msgstr "Färgfilterfältsmönster" #: src/tags.cpp:1777 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" "Visar färgfilterfältets (CFA) geometriska mönster för bildsensorn när en " "enkel-krets-färgområdessensor används. Den gäller inte för alla " "sensormetoder." #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" "Taggen visar om särskild behandling har skett på bilddatan, som återgivning " "inriktad på utmatning. När särskild behandling utförs förväntas läsaren " "avaktivera eller minimera all vidare behandling." #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" "Taggen visar vilket exponeringsläge var aktiverat när bilden togs. I auto-" "gafflingsläget tar kameran en serie bilder av samma scen vid olika " "exponeringsinställningar." #: src/tags.cpp:1793 msgid "This tag indicates the white balance mode set when the image was shot." msgstr "Taggen visar vilket vitbalansläge som användes när bilden togs." #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" "Taggen visar den digitala zoom som användes när bilden togs. Om det sparade " "numret är 0 användes ingen digital zoom." #: src/tags.cpp:1801 msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" "Taggen visar den motsvarande brännvidd jämfört med en 35 mm filmkamera i mm. " "Värdet 0 betyder att brännvidden är okänd. Notera att den här taggen inte är " "samma som ." #: src/tags.cpp:1807 msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" "Taggen visar vilken typ av scen som fotograferades. Den kan också användas " "för att lagra i vilket läge bilden togs. Notera att det här skiljer sig från " "taggen ." #: src/tags.cpp:1812 msgid "This tag indicates the degree of overall image gain adjustment." msgstr "Taggen visar omfattningen av övergripande bildförstärkningsjustering." #: src/tags.cpp:1815 msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" "Taggen visar vilken kontrastbehandling som tillämpades av kameran när bilden " "togs." #: src/tags.cpp:1819 msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" "Taggen visar vilken färgmättnadsbehandling som tillämpades av kameran när " "bilden togs." #: src/tags.cpp:1823 msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" "Taggen visar vilken skärpebehandling som tillämpades av kameran när bilden " "togs." #: src/tags.cpp:1827 msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" "Taggen ger information om fotograferingsförhållandena för en viss " "kameramodell. Taggen används bara för att indikera " "fotograferingsförhållanden i läsaren." #: src/tags.cpp:1832 msgid "This tag indicates the distance to the subject." msgstr "Taggen visar avstånd till motivet." #: src/tags.cpp:1835 msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" "Taggen innehåller en identifierare som tilldelas unikt för varje bild. Den " "lagras som en ASCII-sträng som motsvarar hexadecimal notering och 128-bitars " "fixerad längd." #: src/tags.cpp:1839 msgid "Camera Owner Name" msgstr "Kameraägarnamn" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" "Taggen lagrar ägare för en kamera använd i fotografiet som en ASCII-sträng." #: src/tags.cpp:1843 msgid "Body Serial Number" msgstr "Kropp-serienummer" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" "Taggen lagrar serienumret för kroppen på kameran som användes i fotografiet " "som ASCII-sträng." #: src/tags.cpp:1847 msgid "Lens Specification" msgstr "Objektivspecifikation" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" "Taggen anger minimal brännvidd, maximal brännvidd, minsta F-nummer i den " "minsta brännvidden och minsta F-nummer i den maximala brännvidden, vilket är " "specifikationsinformation för objektivet som användes i fotografiet. När det " "minsta F-numret är okänt är notationen 0/0" #: src/tags.cpp:1854 msgid "Lens Make" msgstr "Objektivtillverkare" #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "Taggen sparar objektivtillverkaren som en ASCII-sträng." #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" "Taggen sparar objektivmodellens namn och modellnummer som en ASCII-sträng." #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" "Taggen lagrar serienumret för den utbytbara objektivet som användes i " "fotografiet som en ASCII-sträng." #: src/tags.cpp:1866 src/tags.cpp:1867 msgid "Unknown Exif tag" msgstr "Okänd Exif-tagg" #: src/tags.cpp:1878 msgid "North" msgstr "Nord" #: src/tags.cpp:1879 msgid "South" msgstr "Syd" #: src/tags.cpp:1884 msgid "East" msgstr "Öst" #: src/tags.cpp:1885 msgid "West" msgstr "Väst" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "Ovanför havsnivå" #: src/tags.cpp:1891 msgid "Below sea level" msgstr "Nedanför havsnivå" #: src/tags.cpp:1896 msgid "Measurement in progress" msgstr "Mätning pågår" #: src/tags.cpp:1897 msgid "Measurement Interoperability" msgstr "Mätningsinteroperabilitet" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "Tvådimensionell mätning" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "Tredimensionell mätning" #: src/tags.cpp:1908 msgid "km/h" msgstr "km/h" #: src/tags.cpp:1909 msgid "mph" msgstr "mph" #: src/tags.cpp:1910 msgid "knots" msgstr "knop" #: src/tags.cpp:1915 msgid "True direction" msgstr "Korrekt riktning" #: src/tags.cpp:1916 msgid "Magnetic direction" msgstr "Magnetisk riktning" #: src/tags.cpp:1921 msgid "Kilometers" msgstr "Kilometer" #: src/tags.cpp:1922 msgid "Miles" msgstr "Miles" #: src/tags.cpp:1923 msgid "Knots" msgstr "Knop" #: src/tags.cpp:1928 msgid "Without correction" msgstr "Utan korrigering" #: src/tags.cpp:1929 msgid "Correction applied" msgstr "Korrigering tillämpad" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" "Visar versionen av . Den givna versionen är 2.0.0.0. Taggen är " "obligatorisk när taggen används. (OBS: -taggen ges i " "byte, till skillnad från -taggen. Om versionen är 2.0.0.0 är " "taggens värde 02000000.H)." #: src/tags.cpp:1941 msgid "GPS Latitude Reference" msgstr "GPS latitudreferens" #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" "Visar om latituden är nordlig eller sydlig. ASCII-värdet ”N” indikerar " "nordlig, och ”S” sydlig latitud." #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" "Visar latituden. Latituden visas som tre RATIONELLA värden med " "respektivegrader, minuter, och sekunder. När grader, minuter, och sekunder " "visas är formatet gg/1,mm/1,ss/1. När grader och minuter används, och, till " "exempel, delar av minuter anges med upp till två decimaler, är formatet gg/1," "mmmm/100,0/1." #: src/tags.cpp:1953 msgid "GPS Longitude Reference" msgstr "GPS longitudreferens" #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" "Visar om longituden är östlig eller västlig. ASCII ”E” indikerar östlig, och " "”W” västlig." #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" "Visar longituden. Longituden visas som tre RATIONELLA värden, och ger " "respektive grader, minuter, och sekunder. Om grader, minuter och sekunder " "visas är formatet ggg/1,mm/1,ss/1. När grader och minuter används, och, till " "exempel, delar av minuter används med upp till två decimaler, är formatet " "ggg/1,mmmm/100,0/1." #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" "Visar höjden som används som referenshöjd. Om referensen är havsnivå och " "höjden är ovanför havsnivån anges 0. Om höjden är under havsnivån ges värdet " "1, och höjden visas som ett absolut värde i taggen GPSAltitude. " "Referensenheten är meter. Observera att taggen använder typen BYTE, till " "skillnad från andra referenstaggar." #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" "Visar höjden baserat på referensen i GPSAltitudeRef. Höjden visas som ett " "RATIONELLT värde. Referensenheten är meter." #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" "Visar tid som UTC (Universal Time Coordinated). uttrycks som tre " "RATIONELLA värden och ger timma, minut, och sekund (atomklocka)." #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" "Visar vilka GPS-satelliter användes vid mätningen. Taggen kan användas för " "att beskriva antalet satelliter, deras ID-nummer, vinkel, asimut, SNR, och " "annan information i ASCII-tecken. Formatet är inte specificerat. Om GPS-" "mottagaren inte kan ta ut mått anges taggens värde till NULL." #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" "Visar GPS-mottagarens tillstånd när bilden togs. ”A” innebär att mätning " "pågår, och ”V” innebär att mätningen är Interoperability." #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" "Visar GPS-mätningsläge. ”2” betyder tvådimensionell mätning och ”3” att " "tredimensionell mätning pågår." #: src/tags.cpp:1998 msgid "GPS Data Degree of Precision" msgstr "GPS-datans precision" #: src/tags.cpp:1999 msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" "Visar GPS:ens DOP (dataprecision). Ett HDOP-värde skrivs vid tvådimensionell " "mätning, och PDOP vid tredimensionell mätning." #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" "Visar vilken enhet användes för att uttrycka GPS-mottagarens " "rörelsehastighet. ”K”, ”M”, och ”N” representerar kilometer per timme, miles " "per timme, och knop." #: src/tags.cpp:2007 msgid "Indicates the speed of GPS receiver movement." msgstr "Visar GPS-mottagarens rörelsehastighet." #: src/tags.cpp:2009 msgid "GPS Track Ref" msgstr "GPS-spårningsref" #: src/tags.cpp:2010 msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Visar referensen för att ge riktningen för GPS-mottagarens rörelse. ”T” " "innebär sann riktning och ”M” magnetisk riktning." #: src/tags.cpp:2014 msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" "Visar riktningen GPS-mottagaren för sig i. Värdets intervall är från 0,00 " "till 359,99." #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Visar referensen för att ange riktningen för bilden när den togs. ”T” " "antyder sann riktning och ”M” magnetisk." #: src/tags.cpp:2022 msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" "Visar riktningen för bilden när den togs. Värdets intervall är från 0,00 " "till 359,99." #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" "Visar den geodetiska mätningsdatan som GPS-mottagaren använder. Om " "mätningsdatan begränsas till Japan är taggens värde ”TOKYO” eller ”WGS-84”." #: src/tags.cpp:2029 msgid "GPS Destination Latitude Reference" msgstr "GPS destinationslatitudreferens" #: src/tags.cpp:2030 msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" "Visar om latituden för destinationspunkten är nordlig eller sydlig. ASCII-" "värdet ”N” innebär nordlig, och ”S” sydlig latitud." #: src/tags.cpp:2034 msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" "Visar destinationens latitud. Den visas som tre RATIONELLA värden som ger " "respektive grader, minuter, och sekunder. Då anges latituden i vanliga fall " "i formatet gg/1,mm/1,ss/1. När grader och minuter används, och, till " "exempel, delar av minuter ges upp till två decimaler, blir formatet gg/1," "mmmm/100,0/1." #: src/tags.cpp:2041 msgid "GPS Destination Longitude Reference" msgstr "GPS destinationslongitudreferens" #: src/tags.cpp:2042 msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" "Visar om longituden vid destinationen är östlig eller västlig. ASCII ”E” " "antyder östlig, och ”W” västlig longitud." #: src/tags.cpp:2046 msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" "Visar destinationens longitud. Longituden visas som tre RATIONELLA värden " "som ger respektive grader, minuter, och sekunder. Då används i regel " "formatet ggg/1,mm/1,ss/1. När grader och minuter används, och, till exempel, " "delar av minuter ges upp till två decimaler bli formatet ggg/1,mmmm/100,0/1." #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Visar referensen som används för att ge bäringen till destinationen. ”T” " "visar sann riktning och ”M” magnetisk." #: src/tags.cpp:2057 msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "" "Visar bäringen till destinationen. Värdets intervall är från 0,00 till " "359,99." #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" "Visar enheten som används för att visa avstånd till destinationen. ”K”, ”M” " "och ”N” representerar kilometer, miles, och knop." #: src/tags.cpp:2065 msgid "Indicates the distance to the destination point." msgstr "Visar avstånd till destinationen." #: src/tags.cpp:2068 msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" "En teckensträng som lagrar namnet för metoden som används för att hitta " "platsen. Den första byten visar vilken teckenuppsättning som används, och " "det följs av metodens namn." #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" "En teckensträng som lagrar namnet på GPS-området. Den första byten visar " "vilken teckenuppsättning som används, och det följs av GPS-områdets namn." #: src/tags.cpp:2076 msgid "GPS Date Stamp" msgstr "GPS datumstämpel" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" "En teckensträng som lagrar datum- och tidsinformation relativt till UTC " "(Universal Time Coordinated). Formatet är ”ÅÅÅÅ:MM:DD.”." #: src/tags.cpp:2081 msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "Visar om differentiell justering har tillämpats på GPS-mottagaren." #: src/tags.cpp:2084 src/tags.cpp:2085 msgid "Unknown GPSInfo tag" msgstr "Okänd GPSInfo-tagg" #: src/tags.cpp:2096 msgid "Interoperability Index" msgstr "Interoperabilitetsindex" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" "Visar identifieringen för interoperabilitetsregeln. Använd ”R98” för att " "ange ExifR98-regler. Fyra byte används inklusive avslutningskoden (NULL). Se " "den separata volymen om Rekommenderade Exif-interoperabilitetsregler " "(ExifR98) för att se vilka andra taggar som används till ExifR98." #: src/tags.cpp:2103 msgid "Interoperability Version" msgstr "Interoperabilitetsversion" #: src/tags.cpp:2104 msgid "Interoperability version" msgstr "Interoperabilitetsversion" #: src/tags.cpp:2106 msgid "Related Image File Format" msgstr "Related Image File Format" #: src/tags.cpp:2107 msgid "File format of image file" msgstr "Bildfilens filformat" #: src/tags.cpp:2109 msgid "Related Image Width" msgstr "Relaterad bildbredd" #: src/tags.cpp:2112 msgid "Related Image Length" msgstr "Relaterad bildlängd" #: src/tags.cpp:2116 src/tags.cpp:2117 msgid "Unknown Exif Interoperability tag" msgstr "Okänd Exif-interoperabilitetstagg" #: src/tags.cpp:2128 msgid "Offset" msgstr "Förskjutning" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "Förskjutning av tillverkaranmärkningen från början av TIFF-huvudet." #: src/tags.cpp:2131 msgid "Byte Order" msgstr "Byteordning" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" "Byteordning som används för att kode MakerNote-taggar; ”MM” (big-endian) " "eller ”II” (little-endian)." #: src/tags.cpp:2135 src/tags.cpp:2136 msgid "Unknown Exiv2 Makernote info tag" msgstr "Okänd Exiv2 Makernote-info-tagg" #: src/tags.cpp:2146 src/tags.cpp:2147 msgid "Unknown tag" msgstr "Okänd tagg" #: src/tags.cpp:2688 msgid "Digital zoom not used" msgstr "Digital zoom inte använd" #: src/tiffimage.cpp:2308 msgid "TIFF header, offset" msgstr "TIFF-huvud, förskjutning" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "little endian-kodad" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "big endian-kodad" #~ msgid "ascii bytes" #~ msgstr "ascii-byte" exiv2-0.25/po/pl.po0000664000175000017500000246433112540520175013722 0ustar andreasandreas# translation of pl.po to Polish # Polish translations of Exiv2. # Copyright: # This file is distributed under the same license as the Exiv2 package. # # Free Software Foundation, Inc., 2002. # Jakub Bogusz , 2005. # Piotr Eljasiak , 2007-2008. # Michał Smoczyk , 2009. msgid "" msgstr "" "Project-Id-Version: pl\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: 2009-12-30 14:02+0100\n" "Last-Translator: Michał Smoczyk \n" "Language-Team: Polish \n" "Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Polish\n" "X-Poedit-Country: POLAND\n" "X-Poedit-Bookmarks: 991,1974,-1,-1,-1,-1,-1,-1,-1,-1\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n" "%100<10 || n%100>=20) ? 1 : 2);\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 msgid "Failed to open the file\n" msgstr "Nie można otworzyć pliku\n" #: src/actions.cpp:282 msgid "File name" msgstr "Nazwa pliku" #: src/actions.cpp:288 msgid "File size" msgstr "Rozmiar pliku" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "Bajtów" #: src/actions.cpp:293 msgid "MIME type" msgstr "Typ MIME" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 msgid "Image size" msgstr "Rozmiar obrazu" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 msgid "No Exif data found in the file\n" msgstr "Nie znaleziono żadnych danych Exif w pliku\n" #: src/actions.cpp:307 msgid "Camera make" msgstr "Producent aparatu" #: src/actions.cpp:310 msgid "Camera model" msgstr "Model aparatu" #: src/actions.cpp:313 msgid "Image timestamp" msgstr "Znacznik czasu zdjęcia" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 msgid "Image number" msgstr "Numer zdjęcia" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 msgid "Exposure time" msgstr "Czas ekspozycji" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 msgid "Aperture" msgstr "Przysłona" #: src/actions.cpp:345 msgid "Exposure bias" msgstr "Odchylenie ekspozycji" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 msgid "Flash" msgstr "Lampa błyskowa" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 msgid "Flash bias" msgstr "Odchylenie ekspozycji błysku" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 msgid "Focal length" msgstr "Długość ogniskowej " #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr "odpowiednik 35mm" #: src/actions.cpp:373 msgid "Subject distance" msgstr "Odległość obiektu" #: src/actions.cpp:387 msgid "ISO speed" msgstr "Czułość ISO" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 msgid "Exposure mode" msgstr "Tryb naświetlania" #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 msgid "Metering mode" msgstr "Tryb pomiaru" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 msgid "Macro mode" msgstr "Tryb makro" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 msgid "Image quality" msgstr "Jakość obrazu" #: src/actions.cpp:403 msgid "Exif Resolution" msgstr "Rozdzielczość Exif" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "Balans bieli" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 msgid "Thumbnail" msgstr "Miniatura" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "Brak" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 msgid "Copyright" msgstr "Prawa autorskie" #: src/actions.cpp:458 msgid "Exif comment" msgstr "Komentarz Exif" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "(Pominięto dane binarne)" #: src/actions.cpp:742 msgid "JPEG comment" msgstr "Komentarz JPEG" #: src/actions.cpp:767 msgid "Preview" msgstr "Podgląd" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "piksele" #: src/actions.cpp:773 src/actions.cpp:1113 msgid "bytes" msgstr "bajtów" #: src/actions.cpp:820 msgid "Neither tag" msgstr "Żaden znacznik" #: src/actions.cpp:821 msgid "nor" msgstr "ani" #: src/actions.cpp:822 msgid "found in the file" msgstr "znalezione w pliku" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "Znacznik czasu tworzenia obrazu nie jest ustawiony w pliku" #: src/actions.cpp:833 src/actions.cpp:1590 msgid "Failed to parse timestamp" msgstr "Błąd podczas analizowania znacznika czasu" #: src/actions.cpp:834 msgid "in the file" msgstr "w pliku" #: src/actions.cpp:845 msgid "Updating timestamp to" msgstr "Uaktualnianie znacznika czasu do" #: src/actions.cpp:939 msgid "Erasing thumbnail data" msgstr "Usuwanie danych miniatury" #: src/actions.cpp:947 msgid "Erasing Exif data from the file" msgstr "Usuwanie danych Exif z pliku" #: src/actions.cpp:956 msgid "Erasing IPTC data from the file" msgstr "Usuwanie danych IPTC z pliku" #: src/actions.cpp:965 msgid "Erasing JPEG comment from the file" msgstr "Usuwanie komentarza JPEG z pliku" #: src/actions.cpp:974 msgid "Erasing XMP data from the file" msgstr "Usuwanie danych XMP z pliku" #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "Obrazek nie zawiera miniatury Exif\n" #: src/actions.cpp:1055 msgid "Writing thumbnail" msgstr "Zapisywanie miniatury" #: src/actions.cpp:1056 src/actions.cpp:1114 msgid "to file" msgstr "do pliku" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "Dane EXIF nie zawierają miniatury\n" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "Obraz nie posiada podglądu" #: src/actions.cpp:1107 msgid "Writing preview" msgstr "Zapisywanie podglądu" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "Ustawianie komentarza JPEG" #: src/actions.cpp:1319 msgid "Add" msgstr "Dodaj" #: src/actions.cpp:1341 src/actions.cpp:1415 msgid "Warning" msgstr "Ostrzeżenie" #: src/actions.cpp:1342 src/actions.cpp:1416 msgid "Failed to read" msgstr "Nie można odczytać" #: src/actions.cpp:1344 src/actions.cpp:1418 msgid "value" msgstr "wartość" #: src/actions.cpp:1355 msgid "Set" msgstr "Ustaw" #: src/actions.cpp:1427 msgid "Del" msgstr "Usuń" #: src/actions.cpp:1459 msgid "Reg " msgstr "" #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "Znacznik czasu metadaty z kluczem" #: src/actions.cpp:1544 msgid "not set\n" msgstr "nie ustawiono\n" #: src/actions.cpp:1549 msgid "Adjusting" msgstr "Dostosowywanie" #: src/actions.cpp:1549 msgid "by" msgstr "przez" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "lat" #: src/actions.cpp:1556 msgid "year" msgstr "rok" #: src/actions.cpp:1564 msgid "months" msgstr "miesięcy" #: src/actions.cpp:1567 msgid "month" msgstr "miesiąc" #: src/actions.cpp:1575 msgid "days" msgstr "dni" #: src/actions.cpp:1578 msgid "day" msgstr "dzień" #: src/actions.cpp:1584 msgid "s" msgstr "s" #: src/actions.cpp:1600 #, fuzzy msgid "Can't adjust timestamp by" msgstr "Nie można dopasować znacznika czasu do" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 msgid "to" msgstr "do" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "Standardowy znacznik Exif ISO istnieje, więc nie zmieniono go\n" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "Ustawianie wartości Exif ISO na" #: src/actions.cpp:1708 #, fuzzy msgid "No Exif user comment found" msgstr "Komentarz Exif" #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "" #: src/actions.cpp:1723 msgid "No Exif UNICODE user comment found" msgstr "" #: src/actions.cpp:1729 #, fuzzy msgid "Setting Exif UNICODE user comment to" msgstr "Ustawianie wartości Exif ISO na" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "Zapisywanie danych Exif z" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "Zapisywanie danych IPTC z" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "Zapisywanie danych XMP z" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "Zapisywanie komentarza JPEG z" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "Nie można zapisać metadanych do pliku" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "Format pliku zwrócił pustą nazwę dla pliku" #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "Ten plik posiada już poprawną nazwę" #: src/actions.cpp:1975 src/exiv2.cpp:168 msgid "File" msgstr "Plik" #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr "istnieje: (O) Nadpisać, (R) Zmienić nazwę czy (S) Anulować?" #: src/actions.cpp:2004 msgid "Renaming file to" msgstr "Zmianie nazwy pliku na" #: src/actions.cpp:2006 msgid "updating timestamp" msgstr "aktualizacja znacznika czasu" #: src/actions.cpp:2015 msgid "Failed to rename" msgstr "Nie można zmienić nazwy" #: src/actions.cpp:2037 msgid "Overwrite" msgstr "Nadpisz" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "Wyłączony" #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "Włączony" #: src/canonmn.cpp:363 #, fuzzy msgid "Format 1" msgstr "Format" #: src/canonmn.cpp:364 #, fuzzy msgid "Format 2" msgstr "Format" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 msgid "On (1)" msgstr "Włączone (1)" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 msgid "On (2)" msgstr "Włączone (2)" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "sRGB" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 msgid "Adobe RGB" msgstr "Adobe RGB" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "Brak informacji" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 msgid "Camera Settings" msgstr "Ustawienia aparatu" #: src/canonmn.cpp:383 msgid "Various camera settings" msgstr "Różne ustawienia aparatu" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 msgid "Focal Length" msgstr "Ogniskowa" #: src/canonmn.cpp:386 src/sonymn.cpp:394 msgid "Shot Info" msgstr "Informacje o zdjęciu" #: src/canonmn.cpp:386 msgid "Shot information" msgstr "Informacje o zdjęciu" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 msgid "Panorama" msgstr "panorama" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 msgid "Image Type" msgstr "Rodzaj obrazu" #: src/canonmn.cpp:388 msgid "Image type" msgstr "Rodzaj obrazu" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 msgid "Firmware Version" msgstr "Wersja firmware" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 msgid "Firmware version" msgstr "Wersja firmware" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 msgid "File Number" msgstr "Numer pliku" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 msgid "File number" msgstr "Numer pliku" #: src/canonmn.cpp:391 msgid "Owner Name" msgstr "Nazwa właściciela" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 msgid "Serial Number" msgstr "Numer seryjny" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 msgid "Camera serial number" msgstr "Numer seryjny aparatu" #: src/canonmn.cpp:393 #, fuzzy msgid "Camera Info" msgstr "Informacja o aparacie" #: src/canonmn.cpp:393 #, fuzzy msgid "Camera info" msgstr "Informacja o aparacie" #: src/canonmn.cpp:394 src/canonmn.cpp:406 msgid "Custom Functions" msgstr "Funkcje użytkownika" #: src/canonmn.cpp:395 msgid "ModelID" msgstr "ID modelu" #: src/canonmn.cpp:395 msgid "Model ID" msgstr "Identyfikator modelu" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 msgid "Picture Info" msgstr "Informacje o zdjęciu" #: src/canonmn.cpp:396 msgid "Picture info" msgstr "Informacje o zdjęciu" #: src/canonmn.cpp:397 #, fuzzy msgid "Thumbnail Image Valid Area" msgstr "Obraz miniatury" #: src/canonmn.cpp:397 #, fuzzy msgid "Thumbnail image valid area" msgstr "Obraz miniatury" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial Number Format" msgstr "Numer seryjny 2" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial number format" msgstr "Numer seryjny 2" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 msgid "Super Macro" msgstr "Super Makro" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "Super makro" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 #, fuzzy msgid "AF Info" msgstr "Informacja AF" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF info" msgstr "Informacja AF" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "" #: src/canonmn.cpp:402 msgid "White Balance Table" msgstr "Tablica balansu bieli" #: src/canonmn.cpp:402 msgid "White balance table" msgstr "Tablica balansu bieli" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 msgid "Lens Model" msgstr "Model obiektywu" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 #, fuzzy msgid "Lens model" msgstr "Model obiektywu" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 msgid "Internal Serial Number" msgstr "Wewnętrzny numer seryjny" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 msgid "Internal serial number" msgstr "Wewnętrzny numer seryjny" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "" #: src/canonmn.cpp:406 #, fuzzy msgid "Custom functions" msgstr "Funkcje użytkownika" #: src/canonmn.cpp:407 #, fuzzy msgid "Processing Info" msgstr "Program" #: src/canonmn.cpp:407 #, fuzzy msgid "Processing info" msgstr "Program" #: src/canonmn.cpp:408 #, fuzzy msgid "Measured Color" msgstr "Barwa naturalna" #: src/canonmn.cpp:408 #, fuzzy msgid "Measured color" msgstr "Naturalny (kolorowy)" #: src/canonmn.cpp:409 #, fuzzy msgid "ColorSpace" msgstr "Przestrzeń kolorów" #: src/canonmn.cpp:413 #, fuzzy msgid "VRD Offset" msgstr "Przesunięcie" #: src/canonmn.cpp:413 #, fuzzy msgid "VRD offset" msgstr "przesunięcie" #: src/canonmn.cpp:414 #, fuzzy msgid "Sensor Info" msgstr "Obiektyw" #: src/canonmn.cpp:414 #, fuzzy msgid "Sensor info" msgstr "Informacje o zdjęciu" #: src/canonmn.cpp:415 #, fuzzy msgid "Color Data" msgstr "Matryca kolorów" #: src/canonmn.cpp:415 #, fuzzy msgid "Color data" msgstr "Moje dane kolorów" #: src/canonmn.cpp:417 msgid "Unknown CanonMakerNote tag" msgstr "Nieznany znacznik CanonMakerNote" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "Ekonomiczny" #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 msgid "Normal" msgstr "Normalna" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 msgid "Fine" msgstr "Dobra" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "RAW" #: src/canonmn.cpp:437 msgid "Superfine" msgstr "Bardzo dobra" #: src/canonmn.cpp:438 msgid "Normal Movie" msgstr "Normalny film" #: src/canonmn.cpp:439 #, fuzzy msgid "Movie (2)" msgstr "Film" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 msgid "Auto" msgstr "Auto" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "Redukcja czerwonych oczu" #: src/canonmn.cpp:448 msgid "Slow sync" msgstr "Synchronizacja z długimi czasami" #: src/canonmn.cpp:449 msgid "Auto + red-eye" msgstr "Automatycznie + redukcja czerwonych oczu" #: src/canonmn.cpp:450 msgid "On + red-eye" msgstr "Tak, redukcja czerwonych oczu" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 msgid "External" msgstr "Zewnętrzny" #: src/canonmn.cpp:457 #, fuzzy msgid "Single / timer" msgstr "Pojedynczy / czasowo" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 msgid "Continuous" msgstr "Ciągły" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 msgid "Movie" msgstr "Film" #: src/canonmn.cpp:460 msgid "Continuous, speed priority" msgstr "Ciągły, priorytet szybkości" #: src/canonmn.cpp:461 #, fuzzy msgid "Continuous, low" msgstr "Ciągły, niski" #: src/canonmn.cpp:462 #, fuzzy msgid "Continuous, high" msgstr "Ciągły, wysoki" #: src/canonmn.cpp:467 msgid "One shot AF" msgstr "One shot AF" #: src/canonmn.cpp:468 msgid "AI servo AF" msgstr "AI servo AF" #: src/canonmn.cpp:469 msgid "AI focus AF" msgstr "AI focus AF" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 msgid "Manual focus" msgstr "Ręczne ostrzenie" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 msgid "Single" msgstr "Pojedynczy" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 #, fuzzy msgid "Pan focus" msgstr "Śledzące ostrzenie" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 msgid "Large" msgstr "Duży" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 msgid "Medium" msgstr "Średni" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 msgid "Small" msgstr "Mały" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 msgid "Medium 1" msgstr "Średni 1" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 msgid "Medium 2" msgstr "Średni 2" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 msgid "Medium 3" msgstr "Średni 3" #: src/canonmn.cpp:490 msgid "Full auto" msgstr "Pełna automatyka" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 msgid "Manual" msgstr "Ręczny" #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 msgid "Landscape" msgstr "Pejzaż" #: src/canonmn.cpp:493 msgid "Fast shutter" msgstr "Szybka migawka" #: src/canonmn.cpp:494 msgid "Slow shutter" msgstr "Wolna migawka" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 msgid "Night Scene" msgstr "Scena nocna" #: src/canonmn.cpp:496 msgid "Gray scale" msgstr "Skala odcieni szarości" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "Sepia" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 msgid "Portrait" msgstr "Portret" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "Sport" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "Makro / zbliżenie" #: src/canonmn.cpp:501 src/fujimn.cpp:149 msgid "Black & white" msgstr "Czarno-biały" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 msgid "Vivid" msgstr "Jaskrawy" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 msgid "Neutral" msgstr "Neutralny" #: src/canonmn.cpp:505 msgid "Flash off" msgstr "Flesz wyłączony" #: src/canonmn.cpp:506 msgid "Long shutter" msgstr "Długo otwarta migawka" #: src/canonmn.cpp:508 msgid "Foliage" msgstr "Listowie" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 msgid "Indoor" msgstr "W pomieszczeniu" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 msgid "Fireworks" msgstr "Fajerwerki" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "Plaża" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 msgid "Underwater" msgstr "Podwodny" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "Śnieg" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "Dzieci i zwierzęta domowe" #: src/canonmn.cpp:515 msgid "Night SnapShot" msgstr "Nocne zdjęcie" #: src/canonmn.cpp:516 msgid "Digital macro" msgstr "Cyfrowe makro" #: src/canonmn.cpp:517 msgid "My Colors" msgstr "Moje kolory" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 msgid "Still image" msgstr "Nieruchomy obraz" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 msgid "Other" msgstr "Inny" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 msgid "Low" msgstr "Mało" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 msgid "High" msgstr "Dużo" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "nd" #: src/canonmn.cpp:540 #, fuzzy msgid "Auto High" msgstr "Wysoki zakres" #: src/canonmn.cpp:558 src/sonymn.cpp:235 msgid "Default" msgstr "Domyślnie" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 msgid "Spot" msgstr "Punktowy" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "Uśredniony" #: src/canonmn.cpp:561 msgid "Evaluative" msgstr "Matrycowy" #: src/canonmn.cpp:562 src/tags.cpp:1427 msgid "Partial" msgstr "Częściowy" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 msgid "Center weighted" msgstr "Centralnie ważony" #: src/canonmn.cpp:570 msgid "Not known" msgstr "Nieznany" #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "Makro" #: src/canonmn.cpp:572 msgid "Very close" msgstr "Bardzo blisko" #: src/canonmn.cpp:573 msgid "Close" msgstr "Blisko" #: src/canonmn.cpp:574 msgid "Middle range" msgstr "Średnia odległość" #: src/canonmn.cpp:575 msgid "Far range" msgstr "Daleko" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 msgid "Infinity" msgstr "Nieskończoność" #: src/canonmn.cpp:583 msgid "Manual AF point selection" msgstr "Ręczny wybór punktu AF" #: src/canonmn.cpp:584 msgid "None (MF)" msgstr "Żaden (MF)" #: src/canonmn.cpp:585 msgid "Auto-selected" msgstr "Automatycznie" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 msgid "Right" msgstr "Prawy" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 msgid "Center" msgstr "Środkowy" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 msgid "Left" msgstr "Lewy" #: src/canonmn.cpp:589 msgid "Auto AF point selection" msgstr "Automatyczny wybór punktu AF" #: src/canonmn.cpp:594 msgid "Easy shooting (Auto)" msgstr "Łatwe fotografowanie (Automatyczne)" #: src/canonmn.cpp:595 msgid "Program (P)" msgstr "Program (P)" #: src/canonmn.cpp:596 msgid "Shutter priority (Tv)" msgstr "Priorytet migawki (Tv)" #: src/canonmn.cpp:597 msgid "Aperture priority (Av)" msgstr "Priorytet przysłony (Av)" #: src/canonmn.cpp:598 msgid "Manual (M)" msgstr "Ręczny (M)" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "A-DEP" #: src/canonmn.cpp:600 msgid "M-DEP" msgstr "M-DEP" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 msgid "Did not fire" msgstr "Flesz się nie uruchomił" #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 msgid "Fired" msgstr "Flesz uruchomił się" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 msgid "External flash" msgstr "Zewnętrzny flesz" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 msgid "Internal flash" msgstr "Wewnętrzny flesz" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "TTL" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "A-TTL" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "E-TTL" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "Włączono FP sync" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "Synchronizacja na drugą kurtynę" #: src/canonmn.cpp:980 msgid "FP sync used" msgstr "Użyto FP sync" #: src/canonmn.cpp:991 #, fuzzy msgid "Normal AE" msgstr "Normal AE" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 msgid "Exposure compensation" msgstr "Kompensacja ekspozycji" #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "Blokada ekspozycji" #: src/canonmn.cpp:994 msgid "AE lock + exposure compensation" msgstr "Blokada ekspozycji + kompensacja ekspozycji" #: src/canonmn.cpp:995 msgid "No AE" msgstr "Brak AE" #: src/canonmn.cpp:1002 #, fuzzy msgid "On, shot only" msgstr "One shot AF" #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 msgid "AF Point" msgstr "Punkt AF" #: src/canonmn.cpp:1016 #, fuzzy msgid "Smooth" msgstr "Gładki" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "Czarno-biały" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 msgid "Custom" msgstr "Własny" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 msgid "My color data" msgstr "Moje dane kolorów" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 msgid "Full" msgstr "Pełny" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "" #: src/canonmn.cpp:1043 msgid "Selftimer" msgstr "Samowyzwalacz" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 msgid "Self timer" msgstr "Samowyzwalacz" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 msgid "Quality" msgstr "Jakość" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 msgid "Flash Mode" msgstr "Tryb flesza" #: src/canonmn.cpp:1045 msgid "Flash mode setting" msgstr "Ustawienie trybu flesza" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 msgid "Drive Mode" msgstr "Tryb działania" #: src/canonmn.cpp:1046 msgid "Drive mode setting" msgstr "Ustawienie trybu działania" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 msgid "Focus Mode" msgstr "Tryb ogniskowania" #: src/canonmn.cpp:1048 msgid "Focus mode setting" msgstr "Ustawienie trybu ogniskowania" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 msgid "Image Size" msgstr "Rozmiar obrazu" #: src/canonmn.cpp:1052 msgid "Easy Mode" msgstr "Tryb Easy" #: src/canonmn.cpp:1052 msgid "Easy shooting mode" msgstr "Łatwy tryb fotografowania" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 msgid "Digital Zoom" msgstr "Powiększenie cyfrowe" #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 msgid "Digital zoom" msgstr "Powiększenie cyfrowe" #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 msgid "Contrast" msgstr "Kontrastowość" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 msgid "Contrast setting" msgstr "Ustawienie kontrastu" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 msgid "Saturation" msgstr "Nasycenie" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 msgid "Saturation setting" msgstr "Ustawienie nasycenia" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 msgid "Sharpness" msgstr "Wyostrzenie" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 msgid "Sharpness setting" msgstr "Ustawienie wyostrzenia" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 msgid "ISO Speed Mode" msgstr "Tryb ISO" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 msgid "ISO speed setting" msgstr "Ustawienie trybu ISO" #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 msgid "Metering Mode" msgstr "Tryb pomiaru" #: src/canonmn.cpp:1058 msgid "Metering mode setting" msgstr "Ustawienie trybu pomiaru" #: src/canonmn.cpp:1059 msgid "Focus Type" msgstr "Typ ogniskowania" #: src/canonmn.cpp:1059 msgid "Focus type setting" msgstr "Ustawienie typu ogniskowania" #: src/canonmn.cpp:1060 msgid "AF point selected" msgstr "Wybrany punkt AF" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 msgid "Exposure Program" msgstr "Tryb ekspozycji" #: src/canonmn.cpp:1061 msgid "Exposure mode setting" msgstr "Ustawienie trybu ekspozycji" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 msgid "Lens Type" msgstr "Rodzaj obiektywu" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 msgid "Lens type" msgstr "Rodzaj obiektywu" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 msgid "Lens" msgstr "Obiektyw" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" "\"Długa\" i \"krótka\" długość ogniskowej obiektywu (w \"jednostkach " "ogniskowej\") i liczba \"jednostek ogniskowej\" na milimetr" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "" #: src/canonmn.cpp:1065 #, fuzzy msgid "Short focal" msgstr "Ostrzenie punktowe" #: src/canonmn.cpp:1066 #, fuzzy msgid "Focal Units" msgstr "Długość ogniskowej " #: src/canonmn.cpp:1066 #, fuzzy msgid "Focal units" msgstr "Długość ogniskowej " #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 msgid "Max Aperture" msgstr "Największa wartość przysłony" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 msgid "Max aperture" msgstr "Największa wartość przysłony" #: src/canonmn.cpp:1068 msgid "Min Aperture" msgstr "Najmniejsza wartość przysłony" #: src/canonmn.cpp:1068 msgid "Min aperture" msgstr "Najmniejsza wartość przysłony" #: src/canonmn.cpp:1069 msgid "Flash Activity" msgstr "Aktywność flesza" #: src/canonmn.cpp:1069 msgid "Flash activity" msgstr "Aktywność flesza" #: src/canonmn.cpp:1070 msgid "Flash Details" msgstr "Szczegóły flesza" #: src/canonmn.cpp:1070 msgid "Flash details" msgstr "Szczegóły flesza" #: src/canonmn.cpp:1073 msgid "Focus Continuous" msgstr "Ciągły focus" #: src/canonmn.cpp:1073 msgid "Focus continuous setting" msgstr "Ustawienie ciągłego focusu" #: src/canonmn.cpp:1074 msgid "AESetting" msgstr "Ustawienie AE" #: src/canonmn.cpp:1074 msgid "AE setting" msgstr "Ustawienie automatycznej ekspozycji" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 msgid "Image Stabilization" msgstr "Stabilizacja obrazu" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 msgid "Image stabilization" msgstr "Stabilizacja obrazu" #: src/canonmn.cpp:1076 #, fuzzy msgid "Display Aperture" msgstr "Przesłona" #: src/canonmn.cpp:1076 #, fuzzy msgid "Display aperture" msgstr "Przesłona" #: src/canonmn.cpp:1077 #, fuzzy msgid "Zoom Source Width" msgstr "Szerokość sensora" #: src/canonmn.cpp:1077 #, fuzzy msgid "Zoom source width" msgstr "Szerokość sensora" #: src/canonmn.cpp:1078 #, fuzzy msgid "Zoom Target Width" msgstr "Szerokość obrazu" #: src/canonmn.cpp:1078 #, fuzzy msgid "Zoom target width" msgstr "Szerokość obrazu" #: src/canonmn.cpp:1080 #, fuzzy msgid "Spot Metering Mode" msgstr "Tryb pomiaru" #: src/canonmn.cpp:1080 #, fuzzy msgid "Spot metering mode" msgstr "Tryb pomiaru." #: src/canonmn.cpp:1081 msgid "Photo Effect" msgstr "Efekt fotograficzny" #: src/canonmn.cpp:1081 msgid "Photo effect" msgstr "Efekt fotograficzny" #: src/canonmn.cpp:1082 #, fuzzy msgid "Manual Flash Output" msgstr "Flesz ręczny" #: src/canonmn.cpp:1082 #, fuzzy msgid "Manual flash output" msgstr "Flesz ręczny" #: src/canonmn.cpp:1083 msgid "Color Tone" msgstr "Odcień koloru" #: src/canonmn.cpp:1083 msgid "Color tone" msgstr "Odcień koloru" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "" #: src/canonmn.cpp:1084 #, fuzzy msgid "SRAW quality" msgstr "Jakość obrazu" #: src/canonmn.cpp:1086 msgid "Unknown Canon Camera Settings 1 tag" msgstr "Nieznany znacznik Canon Camera Settings 1" #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 msgid "Daylight" msgstr "Światło dzienne" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 msgid "Cloudy" msgstr "Pochmurno" #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 msgid "Tungsten" msgstr "Światło wolframowe" #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 msgid "Fluorescent" msgstr "Fluorescencja" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 msgid "Black & White" msgstr "Czarno-biały" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "Cień" #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "Ręczna temperatura (K)" #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "PC Set 1" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "PC Set 2" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "PC Set 3" #: src/canonmn.cpp:1109 msgid "Daylight Fluorescent" msgstr "Lampa fluorescencyjna (światło dzienne)" #: src/canonmn.cpp:1110 src/properties.cpp:816 msgid "Custom 1" msgstr "Użytkownika 1" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 msgid "Custom 2" msgstr "Użytkownika 2" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 msgid "Custom 3" msgstr "Użytkownika 3" #: src/canonmn.cpp:1115 #, fuzzy msgid "PC Set 4" msgstr "PC Set 1" #: src/canonmn.cpp:1116 #, fuzzy msgid "PC Set 5" msgstr "PC Set 1" #: src/canonmn.cpp:1117 #, fuzzy msgid "Auto (ambience priority)" msgstr "Priorytet migawki" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 msgid "left" msgstr "lewy" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 msgid "center" msgstr "Środek" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 msgid "right" msgstr "prawy" #: src/canonmn.cpp:1151 msgid "ISO Speed Used" msgstr "Użyta czułość ISO" #: src/canonmn.cpp:1151 msgid "ISO speed used" msgstr "Użyta czułość ISO" #: src/canonmn.cpp:1152 msgid "Measured EV" msgstr "" #: src/canonmn.cpp:1153 msgid "Target Aperture" msgstr "Docelowa przysłona" #: src/canonmn.cpp:1154 msgid "Target Shutter Speed" msgstr "Docelowa szybkość migawki" #: src/canonmn.cpp:1154 msgid "Target shutter speed" msgstr "Docelowy czas otwarcia migawki" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 msgid "White Balance" msgstr "Balans bieli" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 msgid "White balance setting" msgstr "Ustawienie balansu bieli" #: src/canonmn.cpp:1158 msgid "Sequence" msgstr "Sekwencja" #: src/canonmn.cpp:1158 msgid "Sequence number (if in a continuous burst)" msgstr "Numer sekwencji (jeśli w serii)" #: src/canonmn.cpp:1163 msgid "AF Point Used" msgstr "Użyty punkt AF" #: src/canonmn.cpp:1163 msgid "AF point used" msgstr "Użyty punkt AF" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 msgid "Flash Bias" msgstr "Odchylenie ekspozycji flesza" #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 msgid "Subject Distance" msgstr "Odległość obiektu" #: src/canonmn.cpp:1168 msgid "Subject distance (units are not clear)" msgstr "Odległość do obiektu (jednostki nie są jednoznaczne)" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 msgid "Aperture Value" msgstr "Wartość przysłony" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 msgid "Shutter Speed Value" msgstr "Szybkość migawki" #: src/canonmn.cpp:1171 src/tags.cpp:1630 msgid "Shutter speed" msgstr "Szybkość migawki" #: src/canonmn.cpp:1172 msgid "Measured EV 2" msgstr "" #: src/canonmn.cpp:1177 msgid "Unknown Canon Camera Settings 2 tag" msgstr "Nieznany znacznik Canon Camera Settings 2" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 msgid "Left to right" msgstr "Od lewej do prawej" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 msgid "Right to left" msgstr "Od prawej do lewej" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 msgid "Bottom to top" msgstr "Od dołu do góry" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 msgid "Top to bottom" msgstr "Od góry do dołu" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "Matryca 2x2 (przeciwnie do wskazówek zegara)" #: src/canonmn.cpp:1196 msgid "Panorama Frame" msgstr "Klatka panoramy" #: src/canonmn.cpp:1196 msgid "Panorama frame number" msgstr "Numer klatki panoramy" #: src/canonmn.cpp:1197 msgid "Panorama Direction" msgstr "Kierunek panoramy" #: src/canonmn.cpp:1197 msgid "Panorama direction" msgstr "Kierunek panoramy" #: src/canonmn.cpp:1199 msgid "Unknown Canon Panorama tag" msgstr "Nieznany znacznik Canon Panorama" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 msgid "Noise Reduction" msgstr "Redukcja szumów" #: src/canonmn.cpp:1209 msgid "Long exposure noise reduction" msgstr "Redukcja szumów przy długiej ekspozycji" #: src/canonmn.cpp:1210 msgid "Shutter Ae Lock" msgstr "Blokada ekspozycji" #: src/canonmn.cpp:1210 msgid "Shutter/AE lock buttons" msgstr "Przyciski blokady ekspozycji" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "Blokada lustra" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "Wstępne podnoszenie lustra" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 msgid "Exposure Level Increments" msgstr "Krok poziomu ekspozycji" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 msgid "AF Assist" msgstr "Wspomaganie AF" #: src/canonmn.cpp:1213 msgid "AF assist light" msgstr "Światło pomocnicze automatycznego ostrzenia" #: src/canonmn.cpp:1214 msgid "Flash Sync Speed Av" msgstr "Synchronizacja flesza Av" #: src/canonmn.cpp:1214 msgid "Shutter speed in Av mode" msgstr "Prędkość migawki w trybie Av (priorytetu przysłony)" #: src/canonmn.cpp:1215 msgid "AEB Sequence" msgstr "Sekwencja AEB" #: src/canonmn.cpp:1215 #, fuzzy msgid "AEB sequence/auto cancellation" msgstr "Sekwencja automatycznego bracketingu" #: src/canonmn.cpp:1216 msgid "Shutter Curtain Sync" msgstr "Synchronizacja migawki" #: src/canonmn.cpp:1216 msgid "Shutter curtain sync" msgstr "Kurtyna synchronizacji migawki" #: src/canonmn.cpp:1217 msgid "Lens AF Stop Button" msgstr "Przycisk obiektywu AF stop" #: src/canonmn.cpp:1217 msgid "Lens AF stop button Fn. Switch" msgstr "Przycisk funkcji wyłączenia automatycznego ostrzenia w obiektywie" #: src/canonmn.cpp:1218 msgid "Fill Flash Auto Reduction" msgstr "Auto redukcja błysku wypełniającego" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "Automatyczna redukcja siły błysku wypełniającego" #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "Pozycja przycisku Menu" #: src/canonmn.cpp:1219 msgid "Menu button return position" msgstr "Pozycja przycisku Menu" #: src/canonmn.cpp:1220 msgid "Set Button Function" msgstr "Funkcja przycisku Set" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "Funkcja przycisku SET podczas wykonywania zdjęcia" #: src/canonmn.cpp:1221 msgid "Sensor Cleaning" msgstr "Czyszczenie matrycy" #: src/canonmn.cpp:1221 msgid "Sensor cleaning" msgstr "Czyszczenie matrycy" #: src/canonmn.cpp:1222 msgid "Superimposed Display" msgstr "Wyświetlanie nałożone" #: src/canonmn.cpp:1222 msgid "Superimposed display" msgstr "Wyświetlanie nałożone" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "Migawka wyzwolona bez karty CF" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "Migawka wyzwolona bez karty CF" #: src/canonmn.cpp:1225 msgid "Unknown Canon Custom Function tag" msgstr "Nieznany znacznik Canon Custom Function" #: src/canonmn.cpp:1236 msgid "mid-right" msgstr "środek-prawo" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 msgid "bottom" msgstr "dół" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 msgid "top" msgstr "góra" #: src/canonmn.cpp:1240 msgid "mid-left" msgstr "środek-lewo" #: src/canonmn.cpp:1247 msgid "upper-left" msgstr "góra-lewo" #: src/canonmn.cpp:1248 msgid "upper-right" msgstr "góra-prawo" #: src/canonmn.cpp:1252 msgid "lower-left" msgstr "dół-lewo" #: src/canonmn.cpp:1253 msgid "lower-right" msgstr "dół-prawo" #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 msgid "Image Width" msgstr "Szerokość obrazu" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 msgid "Image width" msgstr "Szerokość obrazu" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 msgid "Image Height" msgstr "Wysokość obrazu" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 msgid "Image height" msgstr "Wysokość obrazu" #: src/canonmn.cpp:1261 #, fuzzy msgid "Image Width As Shot" msgstr "Szerokość obrazu podczas fotografowania" #: src/canonmn.cpp:1261 #, fuzzy msgid "Image width (as shot)" msgstr "Szerokość obrazu podczas fotografowania" #: src/canonmn.cpp:1262 #, fuzzy msgid "Image Height As Shot" msgstr "Wysokość obrazu podczas fotografowania" #: src/canonmn.cpp:1262 #, fuzzy msgid "Image height (as shot)" msgstr "Wysokość obrazu podczas fotografowania" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF Points Used" msgstr "Użyte punkty AF" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF points used" msgstr "Użyte punkty AF" #: src/canonmn.cpp:1264 msgid "AF Points Used 20D" msgstr "Użyte punkty AF 20D" #: src/canonmn.cpp:1264 msgid "AF points used (20D)" msgstr "Użyte punkty AF (20D)" #: src/canonmn.cpp:1266 msgid "Unknown Canon Picture Info tag" msgstr "Nieznany znacznik Canon Picture Info" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 msgid "ISO" msgstr "ISO" #: src/canonmn.cpp:1280 #, fuzzy msgid "WB" msgstr "Balans bieli" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "Pocztówka" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "Szeroki ekran" #: src/canonmn.cpp:1293 msgid "Medium Movie" msgstr "Średni film" #: src/canonmn.cpp:1294 msgid "Small Movie" msgstr "Mały film" #: src/canonmn.cpp:1300 msgid "On 1" msgstr "Włączony 1" #: src/canonmn.cpp:1301 msgid "On 2" msgstr "Włączony 2" #: src/canonmn.cpp:1309 msgid "On (shift AB)" msgstr "Włączony (shitf AB)" #: src/canonmn.cpp:1310 msgid "On (shift GM)" msgstr "Włączony (shift GM)" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "Żółty" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 msgid "Orange" msgstr "Pomarańczowy" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 msgid "Red" msgstr "Czerwony" #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 msgid "Green" msgstr "Zielony" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 msgid "Blue" msgstr "Niebieski" #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "Purpurowy" #: src/canonmn.cpp:1334 msgid "Bracket Mode" msgstr "Tryb bracketingu" #: src/canonmn.cpp:1335 msgid "Bracket Value" msgstr "Krok bracketingu" #: src/canonmn.cpp:1336 msgid "Bracket Shot Number" msgstr "Numer zdjęcia bracketingu" #: src/canonmn.cpp:1337 msgid "Raw Jpg Quality" msgstr "Jakość RAW JPG" #: src/canonmn.cpp:1338 msgid "Raw Jpg Size" msgstr "Rozmiar RAW JPG" #: src/canonmn.cpp:1340 msgid "WB Bracket Mode" msgstr "Tryb bracketingu balansu bieli" #: src/canonmn.cpp:1341 msgid "WB Bracket Value AB" msgstr "Krok bracketingu balansu bieli AB" #: src/canonmn.cpp:1342 msgid "WB Bracket Value GM" msgstr "Krok bracketingu balansu bieli GM" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 msgid "Filter Effect" msgstr "Efekt filtra" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 msgid "Toning Effect" msgstr "Efekt tonowania" #: src/canonmn.cpp:1345 #, fuzzy msgid "Macro Magnification" msgstr "Powiększenie elektroniczne" #: src/canonmn.cpp:1345 #, fuzzy msgid "Macro magnification" msgstr "Powiększenie elektroniczne" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "" #: src/canonmn.cpp:1346 #, fuzzy msgid "Live view shooting" msgstr "Ustawienie trybu działania" #: src/canonmn.cpp:1347 #, fuzzy msgid "Focus Distance Upper" msgstr "Odległość ostrzenia" #: src/canonmn.cpp:1348 #, fuzzy msgid "Focus Distance Lower" msgstr "Odległość ostrzenia" #: src/canonmn.cpp:1349 #, fuzzy msgid "Flash Exposure Lock" msgstr "Kompensacja ekspozycji błysku" #: src/canonmn.cpp:1349 #, fuzzy msgid "Flash exposure lock" msgstr "Kompensacja ekspozycji błysku" #: src/canonmn.cpp:1351 msgid "Unknown Canon File Info tag" msgstr "Nieznany znacznik Canon File Info" #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 msgid "Standard" msgstr "Standardowy" #: src/canonmn.cpp:1369 #, fuzzy msgid "Lowest" msgstr "Dolny lewy" #: src/canonmn.cpp:1373 #, fuzzy msgid "Highest" msgstr "Dużo" #: src/canonmn.cpp:1381 #, fuzzy msgid "High Saturation" msgstr "Nasycenie kolorów" #: src/canonmn.cpp:1383 #, fuzzy msgid "Low Saturation" msgstr "Nasycenie" #: src/canonmn.cpp:1384 #, fuzzy msgid "CM Set 1" msgstr "PC Set 1" #: src/canonmn.cpp:1385 #, fuzzy msgid "CM Set 2" msgstr "PC Set 2" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 msgid "Monochrome" msgstr "Monochromatyczny" #: src/canonmn.cpp:1399 #, fuzzy msgid "Fine Detail" msgstr "Szczegóły flesza" #: src/canonmn.cpp:1404 #, fuzzy msgid "ToneCurve" msgstr "Krzywa tonalna" #: src/canonmn.cpp:1404 #, fuzzy msgid "Tone curve" msgstr "Krzywa tonalna" #: src/canonmn.cpp:1406 #, fuzzy msgid "SharpnessFrequency" msgstr "Wyostrzenie" #: src/canonmn.cpp:1406 #, fuzzy msgid "Sharpness frequency" msgstr "Ostrość" #: src/canonmn.cpp:1407 #, fuzzy msgid "SensorRedLevel" msgstr "WB poziom czerwieni" #: src/canonmn.cpp:1407 #, fuzzy msgid "Sensor red level" msgstr "WB poziom czerwieni" #: src/canonmn.cpp:1408 #, fuzzy msgid "SensorBlueLevel" msgstr "WB poziom błękitu" #: src/canonmn.cpp:1408 #, fuzzy msgid "Sensor blue level" msgstr "WB poziom błękitu" #: src/canonmn.cpp:1409 #, fuzzy msgid "WhiteBalanceRed" msgstr "Balans bieli" #: src/canonmn.cpp:1409 #, fuzzy msgid "White balance red" msgstr "Balans bieli 2" #: src/canonmn.cpp:1410 #, fuzzy msgid "WhiteBalanceBlue" msgstr "Wartość balansu bieli" #: src/canonmn.cpp:1410 #, fuzzy msgid "White balance blue" msgstr "Tablica balansu bieli" #: src/canonmn.cpp:1411 #, fuzzy msgid "WhiteBalance" msgstr "Balans bieli" #: src/canonmn.cpp:1412 #, fuzzy msgid "ColorTemperature" msgstr "Temperatura koloru" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 msgid "Color Temperature" msgstr "Temperatura koloru" #: src/canonmn.cpp:1413 #, fuzzy msgid "PictureStyle" msgstr "Tryb zdjęcia" #: src/canonmn.cpp:1413 #, fuzzy msgid "Picture style" msgstr "Tryb zdjęcia" #: src/canonmn.cpp:1414 #, fuzzy msgid "DigitalGain" msgstr "Cyfrowe makro" #: src/canonmn.cpp:1414 #, fuzzy msgid "Digital gain" msgstr "Cyfrowe makro" #: src/canonmn.cpp:1415 msgid "WBShiftAB" msgstr "" #: src/canonmn.cpp:1415 #, fuzzy msgid "WBShift AB" msgstr "Włączony (shitf AB)" #: src/canonmn.cpp:1416 msgid "WBShiftGM" msgstr "" #: src/canonmn.cpp:1416 #, fuzzy msgid "WB Shift GM" msgstr "Włączony (shift GM)" #: src/canonmn.cpp:1417 #, fuzzy msgid "Unknown Canon Processing Info tag" msgstr "Nieznany znacznik Canon Picture Info" #: src/crwimage.cpp:656 msgid "Header, offset" msgstr "Przesunięcie nagłówka" #: src/crwimage.cpp:674 msgid "tag" msgstr "znacznik" #: src/crwimage.cpp:676 #, fuzzy msgid "dir" msgstr "katalog" #: src/crwimage.cpp:678 msgid "type" msgstr "typ" #: src/crwimage.cpp:679 msgid "size" msgstr "rozmiar" #: src/crwimage.cpp:680 msgid "offset" msgstr "przesunięcie" #: src/datasets.cpp:79 msgid "(invalid)" msgstr "(niepoprawny)" #: src/datasets.cpp:80 msgid "IIM envelope record" msgstr "Rekord koperty IIM" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "Rekord aplikacji IIM 2" #: src/datasets.cpp:85 msgid "Model Version" msgstr "Wersja modelu" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 msgid "Destination" msgstr "Cel" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 msgid "File Format" msgstr "Format pliku" #: src/datasets.cpp:95 #, fuzzy msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" "Liczba dwójkowa określająca format pliku. Format pliku musi być " "zarejestrowany w IPTC lub NAA przypisanym do niego unikatowym numerem." #: src/datasets.cpp:101 msgid "File Version" msgstr "Wersja pliku" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" "Liczba dwójkowa określająca wersję formatu pliku podaną w znaczniku " "." #: src/datasets.cpp:105 msgid "Service Id" msgstr "Identyfikator usługi" #: src/datasets.cpp:106 msgid "Identifies the provider and product" msgstr "Określa dostawcę i produkt" #: src/datasets.cpp:108 msgid "Envelope Number" msgstr "Numer koperty" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" #: src/datasets.cpp:117 msgid "Product Id" msgstr "ID produktu" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" #: src/datasets.cpp:122 msgid "Envelope Priority" msgstr "Priorytet koperty" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" #: src/datasets.cpp:129 msgid "Date Sent" msgstr "Data wysłania" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" "Używa formatu WWRRMMDD (wiek, rok, miesiąc, dzień) zdefiniowanego w ISO " "8601, aby określi rok, miesiąc i dzień kiedy usługa wysłała materiał." #: src/datasets.cpp:133 msgid "Time Sent" msgstr "Czas wysłania" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" #: src/datasets.cpp:139 msgid "Character Set" msgstr "Zestaw znaków" #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" #: src/datasets.cpp:145 msgid "Unique Name Object" msgstr "Unikalna nazwa obiektu" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "Identyfikator ARM" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:156 msgid "ARM Version" msgstr "Wersja ARM" #: src/datasets.cpp:157 #, fuzzy msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" "Liczba dwójkowa określająca wersję formatu pliku podaną w znaczniku " "." #: src/datasets.cpp:170 msgid "Record Version" msgstr "Wersja rekordu" #: src/datasets.cpp:171 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:175 msgid "Object Type" msgstr "Typ obiektu" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" #: src/datasets.cpp:184 msgid "Object Attribute" msgstr "Atrybut obiektu" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" #: src/datasets.cpp:193 msgid "Object Name" msgstr "Nazwa obiektu" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" #: src/datasets.cpp:198 msgid "Document Title" msgstr "Tytuł dokumentu" #: src/datasets.cpp:199 src/olympusmn.cpp:827 msgid "Edit Status" msgstr "Stan edycji" #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "" #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "Aktualizacja edytorska" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "Ważność" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 msgid "Subject" msgstr "Temat" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "" #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "Kategoria" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" #: src/datasets.cpp:222 msgid "Supplemental Category" msgstr "Kategoria dodatkowa" #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" #: src/datasets.cpp:228 src/properties.cpp:442 msgid "Supplemental Categories" msgstr "Kategorie dodatkowe" #: src/datasets.cpp:229 #, fuzzy msgid "Fixture Id" msgstr "Flesz uruchomił się" #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 msgid "Keywords" msgstr "Słowa kluczowe" #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" #: src/datasets.cpp:240 msgid "Location Code" msgstr "Kod lokalizacji" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:248 msgid "Location Name" msgstr "Nazwa lokalizacji" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" #: src/datasets.cpp:253 src/properties.cpp:376 msgid "Release Date" msgstr "Data udostępnienia" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:257 msgid "Release Time" msgstr "Czas udostępnienia" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:261 msgid "Expiration Date" msgstr "Data ważności" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:265 msgid "ExpirationTime" msgstr "Czas ważności" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:269 msgid "Special Instructions" msgstr "Specjalne instrukcje" #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" "Inne instrukcje edytorskie dotyczące użycia danych obiektu, takie jak " "ostrzeżenia i ograniczenia." #: src/datasets.cpp:273 src/properties.cpp:439 msgid "Instructions" msgstr "Instrukcje" #: src/datasets.cpp:274 msgid "Action Advised" msgstr "Zalecana akcja" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:279 msgid "Reference Service" msgstr "Odwołanie do usługi" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:283 msgid "Reference Date" msgstr "Data odniesienia" #: src/datasets.cpp:284 #, fuzzy msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "Określa rodzaj programu użyty do uzyskania danych obiektu." #: src/datasets.cpp:286 msgid "Reference Number" msgstr "Numer odniesienia" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 msgid "Date Created" msgstr "Data utworzenia" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:295 msgid "Time Created" msgstr "Czas utworzenia" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:301 msgid "Digitization Date" msgstr "Data utworzenia postaci cyfrowej" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:305 msgid "Digitization Time" msgstr "Czas utworzenia postaci cyfrowej" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 msgid "Program" msgstr "Program" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "Określa rodzaj programu użyty do uzyskania danych obiektu." #: src/datasets.cpp:313 msgid "Program Version" msgstr "Wersja programu" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "Używane do określenia wersji programu użytego w znaczniku ." #: src/datasets.cpp:316 msgid "Object Cycle" msgstr "Cykl obiektu" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "" #: src/datasets.cpp:319 msgid "By-line" msgstr "Twórca" #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "" "Zawiera nazwę twórcy danych obiektu, np. fotografa, pisarza lub artysty " "grafika." #: src/datasets.cpp:323 src/properties.cpp:2103 msgid "Author" msgstr "Autor" #: src/datasets.cpp:324 msgid "By-line Title" msgstr "Tytuł twórcy" #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "" #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 msgid "City" msgstr "Miasto" #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:333 msgid "Sub Location" msgstr "Szczegółowa lokalizacja" #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" #: src/datasets.cpp:337 msgid "Province State" msgstr "Prowincja/stan" #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:341 msgid "State/Province" msgstr "Stan/Prowincja" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 msgid "Country Code" msgstr "Kod państwa" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:352 msgid "Country Name" msgstr "Nazwa państwa" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 msgid "Country" msgstr "Państwo" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 #, fuzzy msgid "Transmission Reference" msgstr "Oryginalne miejsce transmisji" #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 msgid "Headline" msgstr "Nagłówek" #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "" #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 #, fuzzy msgid "Credit" msgstr "Wyrazy uznania" #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "" #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source" msgstr "Źródło" #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "Zawiera wszelkie niezbędne uwagi o prawach autorskich." #: src/datasets.cpp:379 msgid "Copyright Notice" msgstr "Uwaga o prawach autorskich" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 msgid "Contact" msgstr "Kontakt" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" "Określa osobę lub organizację która może dostarczyć dalszych informacji o " "danych obiektu." #: src/datasets.cpp:384 src/properties.cpp:2101 msgid "Caption" msgstr "Opis" #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "Tekstowy opis obiektu." #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 msgid "Description" msgstr "Opis" #: src/datasets.cpp:388 msgid "Writer" msgstr "Autor opisu" #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" #: src/datasets.cpp:392 msgid "Rasterized Caption" msgstr "Opis rastrowy" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "Określa składowe koloru na obrazie." #: src/datasets.cpp:399 msgid "Image Orientation" msgstr "Orientacja obrazu" #: src/datasets.cpp:400 msgid "Indicates the layout of an image." msgstr "Określa układ obrazu." #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 msgid "Language" msgstr "Język" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" #: src/datasets.cpp:408 msgid "Audio Type" msgstr "Typ dźwięku" #: src/datasets.cpp:409 msgid "Indicates the type of an audio content." msgstr "Określa typ zawartości dzwiękowej." #: src/datasets.cpp:411 msgid "Audio Rate" msgstr "Próbkowanie dźwięku" #: src/datasets.cpp:412 msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "Oznacza częstotliwość próbkowania zawartości dźwiękowej (w hercach)." #: src/datasets.cpp:414 #, fuzzy msgid "Audio Resolution" msgstr "Rozdzielczość próbkowania dźwięku" #: src/datasets.cpp:415 #, fuzzy msgid "Indicates the sampling resolution of an audio content." msgstr "Oznacza częstotliwość próbkowania zawartości dźwiękowej (w hercach)." #: src/datasets.cpp:417 msgid "Audio Duration" msgstr "Czas trwania" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "Określa długość trwania zawartości dźwiękowej." #: src/datasets.cpp:420 msgid "Audio Outcue" msgstr "Komunikat słowny" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" #: src/datasets.cpp:424 msgid "Preview Format" msgstr "Format podglądu" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" "Liczba dwójkowa określająca format pliku podglądu danych. Format pliku musi " "być zarejestrowany w organizacjach IPTC lub NAA z przypisanym do niego " "unikalnym numerem." #: src/datasets.cpp:429 src/properties.cpp:1276 msgid "Preview Version" msgstr "Wersja podglądu" #: src/datasets.cpp:430 msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" "Liczba dwójkowa określająca wersję formatu pliku podglądu danych " "wyszczególnionego w znaczniku ." #: src/datasets.cpp:433 msgid "Preview Data" msgstr "Dane podglądu" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "Dane binarne podglądu obrazu." #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "(Nieprawidłowy)" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 msgid "Unknown dataset" msgstr "Nieznany zestaw danych" #: src/error.cpp:55 #, fuzzy msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "Błąd %0: arg1=%1, arg2=%2, arg3=%3." #: src/error.cpp:56 msgid "Success" msgstr "Powodzenie" #: src/error.cpp:59 msgid "This does not look like a %1 image" msgstr "To nie wygląda na obrazek %1" #: src/error.cpp:60 msgid "Invalid dataset name `%1'" msgstr "Nieprawidłowa nazwa zestawu danych \"%1\"" #: src/error.cpp:61 msgid "Invalid record name `%1'" msgstr "Nieprawidłowa nazwa rekordu \"%1\"" #: src/error.cpp:62 msgid "Invalid key `%1'" msgstr "Nieprawidłowy klucz \"%1\"" #: src/error.cpp:63 msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "Nieprawidłowa nazwa znacznika lub ifdId \"%1\", ifdId %2" #: src/error.cpp:64 msgid "Value not set" msgstr "Wartość nie ustawiona" #: src/error.cpp:65 msgid "%1: Failed to open the data source: %2" msgstr "%1: Nie można było otworzyć źródła danych: %2" #: src/error.cpp:66 msgid "%1: Failed to open file (%2): %3" msgstr "%1: Nie można było otworzyć pliku (%2): %3" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "%1: Plik zawiera dane nieznanego typu obrazu" #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "Pamięć zawiera dane nieznanego typu obrazu" #: src/error.cpp:69 msgid "Image type %1 is not supported" msgstr "Obrazy typu \"%1\" nie są obsługiwane" #: src/error.cpp:70 msgid "Failed to read image data" msgstr "Nie można było odczytać danych obrazu" #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "To nie wygląda jak obrazek JPEG" #: src/error.cpp:72 #, fuzzy msgid "%1: Failed to map file for reading and writing: %2" msgstr "Nie można otworzyć pliku poleceń do odczytu\n" #: src/error.cpp:73 msgid "%1: Failed to rename file to %2: %3" msgstr "%1: Nie można było zmienić nazwy pliku na %2: %3" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "%1: Transfer nie powiódł się: %2" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "Transfer pamięci nie powiódł się: %1" #: src/error.cpp:76 msgid "Failed to read input data" msgstr "Nie można było odczytać danych wejściowych" #: src/error.cpp:77 msgid "Failed to write image" msgstr "Nie można było zapisać obrazka" #: src/error.cpp:78 msgid "Input data does not contain a valid image" msgstr "Dane wejściowe nie zawierają prawidłowego obrazu" #: src/error.cpp:79 msgid "Invalid ifdId %1" msgstr "Nieprawidłowy ifdld %1" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" "Entry::setValue: Zbyt duża wartość (znacznik=%1, rozmiar=%2, wymagane=%3)" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" "Entry::setDataArea: Zbyt duża wartość (znacznik=%1, rozmiar=%2, wymagane=%3)" #: src/error.cpp:82 msgid "Offset out of range" msgstr "Pozycja poza zakresem" #: src/error.cpp:83 msgid "Unsupported data area offset type" msgstr "Nieobsługiwany typ przesunięcia obszaru danych" #: src/error.cpp:84 msgid "Invalid charset: `%1'" msgstr "Nieprawidłowy zestaw znaków: \"%1\"" #: src/error.cpp:85 msgid "Unsupported date format" msgstr "Nieobsługiwany format daty" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "Nieobsługiwany format czasu" #: src/error.cpp:87 #, fuzzy msgid "Writing to %1 images is not supported" msgstr "Zapis do formatu %2 nie jest obsługiwany" #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "Ustawienie %1 w obrazach %2 nie jest obsługiwane" #: src/error.cpp:89 msgid "This does not look like a CRW image" msgstr "To nie wygląda jak obrazek CRW" #: src/error.cpp:90 msgid "%1: Not supported" msgstr "%1: Nieobsługiwany" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "" "Brak dostępnej informacji o przestrzeni nazw dla przedrostka \"%1\" XMP" #: src/error.cpp:92 msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "" "Brak zarejestrowanego przedrostka dla przestrzeni nazw \"%2\", potrzebnego " "dla właściwego umieszczenia \"%1\"" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "Rozmiar %1 segmentu JPEG jest większy niż 65535 bajtów" #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "Nieobsługiwany Xmpdatum %1 typu %2" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "Nieobsługiwany węzeł XMP %1 z opt=%2" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "Błąd pakietu narzędziowego XMP %1: %2" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "Nie można było zdekodować właściwości Lang Alt %1 z opt=%2" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "Nie można było zdekodować kwalifikatora Lang Alt %1 z opt=%2" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "Nie można było zdekodować właściwości Lang Alt %1" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "" "Nie można było określić nazwy właściwości w ścieżce %1, przestrzeń nazw %2" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "" "Schemat przestrzeni nazw %1 nie jest zarejestrowany w pakiecie narzędzionym " "XMP" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "Brak zarejestrowanej przestrzeni nazw dla przedrostka \"%1\"" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" "Aliasy nie są obsługiwane. Prześlij proszę ten pakiet XMP do ahuggel@gmx.net " "\"%1\", \"%2\", \"%3\"" #: src/error.cpp:104 msgid "Invalid XmpText type `%1'" msgstr "Nieprawidłowy typ XmpText \"%1\"" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "Katalog TIFF %1 posiada zbyt wiele elementów" #: src/error.cpp:106 #, fuzzy msgid "Multiple TIFF array element tags %1 in one directory" msgstr "Znacznik elementu tablicy TIFF %1 posiada zły typ" #: src/error.cpp:107 msgid "TIFF array element tag %1 has wrong type" msgstr "Znacznik elementu tablicy TIFF %1 posiada zły typ" #: src/error.cpp:108 #, fuzzy msgid "%1 has invalid XMP value type `%2'" msgstr "Nieprawidłowy typ XmpText \"%1\"" #: src/exiv2.cpp:213 #, fuzzy msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "Copyright (C) 2004-2015 Andreas Huggel.\n" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" "Ten program jest wolnym oprogramowaniem, możesz go rozpowszechniać\n" "i/lub zmieniać na warunkach Publicznej Licencji GNU opublikowanej\n" "przez Free Software Foundation, zarówno w wersji 2 tej Licencji, jak\n" "też jakiejkolwiek późniejszej wersji.\n" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" "Ten program rozpowszechniany jest z nadzieją, iż będzie on\n" "użyteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej\n" "gwarancji PRZYDATNOŚCI HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH\n" "ZASTOSOWAŃ. W celu uzyskania bliższych informacji przeczytaj\n" "Powszechną Licencję Publiczną GNU.\n" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" "Powinienieś otrzymać kopię Publicznej Licencji GNU z tym\n" "programem, jeśli nie napisz do Free Software Foundation, Inc.\n" "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "Użycie:" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" "[ opcje ] [ akcja ] plik ...\n" "\n" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "Manipulowanie metadanymi Exif obrazów.\n" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" "\n" "Akcje:\n" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" " ad | adjust Poprawia znaczniki czasu Exif do podanego czasu. Ta akcja\n" " wymaga użycia co najmniej jednej z opcji -a, -Y, -O lub -" "D.\n" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr " pr | print Wyświetla metadane obrazu.\n" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr " rm | delete Usuwa metadane obrazu z plików.\n" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" " in | insert Wstawia metadane z odpowiadających plików *.exv.\n" " Użyj opcji -S aby zmienić rozszerzenie plików wejściowych.\n" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" " ex | extract Eksportuje metadane do plików *.exv, *.xmp oraz plików " "miniaturek.\n" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" " mv | rename Zmienia nazwy plików i/lub ustawia znaczniki czasu " "odpowiadające\n" " znacznikowi utworzenia Exif. Format nazwy pliku może być " "ustawiony za\n" " pomocą -r format, opcje znacznika czasu są kontrolowane za " "pomocą -t i -T.\n" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" " mo | modify Modyfikacja (dodanie, ustawienie, usunięcie) metadanych " "Exif\n" " i IPTC w plikach lub ustawienie komentarza JPEG.\n" " Wymaga podania opcji -c, -m lub -M.\n" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" " fi | fixiso Kopiuje ustawienie ISO z Nikon Makernote do normalnego\n" " znacznika Exif.\n" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" #: src/exiv2.cpp:262 msgid "" "\n" "Options:\n" msgstr "" "\n" "Opcje:\n" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr " -h Wyświetla tę pomoc i kończy pracę.\n" #: src/exiv2.cpp:264 msgid " -V Show the program version and exit.\n" msgstr " -V Wyświetla wersję programu i kończy pracę.\n" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr "" " -v Tryb \"gadatliwy\", wyświetla wiele komunikatów podczas pracy " "programu.\n" #: src/exiv2.cpp:266 #, fuzzy msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr "" " -v Tryb \"gadatliwy\", wyświetla wiele komunikatów podczas pracy " "programu.\n" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" #: src/exiv2.cpp:268 msgid " -b Show large binary values.\n" msgstr " -b Pokaż duże wartości binarne.\n" #: src/exiv2.cpp:269 msgid " -u Show unknown tags.\n" msgstr " -u Pokaż nieznane znaczniki.\n" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr "" #: src/exiv2.cpp:271 msgid " -K key Only output info for this key (exact match).\n" msgstr "" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr " -k Zachowuje znaczniki czasowe.\n" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" " -t Ustawia także znacznik czasowy pliku podczas akcji \"rename" "\" (nadpisuje opcję -k).\n" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" " -T Ustawia tylko znacznik czasowy podczas akcji \"rename\", nie " "zmienia nazwy pliku\n" " (nadpisuje opcję -k).\n" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr " -f Nie pyta przed nadpisaniem istniejących plików.\n" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr " -F Nie pyta przed zmianą nazwy plików.\n" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" " -a czas Poprawka czasu w formacie [-]GG[:MM[:SS]]. Ta opcja\n" " jest używana tylko z akcją \"adjust\".\n" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr " -Y rok Poprawka roku dla akcji \"adjust\".\n" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr " -O mie Poprawka miesiąca dla akcji \"adjust\".\n" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr " -D dzi Poprawka dnia dla akcji \"adjust\".\n" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr " -p tryb Tryb wyświetlania dla akcji \"print\". Możliwe tryby to:\n" #: src/exiv2.cpp:285 msgid " s : print a summary of the Exif metadata (the default)\n" msgstr " s : wyświetla podsumowanie metadanych Exif (domyślnie)\n" #: src/exiv2.cpp:286 msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr "" " a : wyświetla metadane Exif, IPTC i XMP (skrót dla -Pkyct)\n" #: src/exiv2.cpp:287 msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr "" " t : zinterpretowane (przetłumaczone) dane Exif (-PEkyct)\n" #: src/exiv2.cpp:288 msgid " v : plain Exif data values (-PExgnycv)\n" msgstr " v : proste wartości danych Exif (-PExgnycv)\n" #: src/exiv2.cpp:289 msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr "" " h : zrzut danych Exif w postaci szesnastkowej (-PExgnycsh)\n" #: src/exiv2.cpp:290 msgid " i : IPTC data values (-PIkyct)\n" msgstr " i : wartości danych IPTC (-PIkyct)\n" #: src/exiv2.cpp:291 msgid " x : XMP properties (-PXkyct)\n" msgstr " x : właściwości XMP (-PXkyct)\n" #: src/exiv2.cpp:292 src/exiv2.cpp:317 msgid " c : JPEG comment\n" msgstr " c : komentarz JPEG\n" #: src/exiv2.cpp:293 msgid " p : list available previews\n" msgstr " p : wyświetla dostępne podglądy\n" #: src/exiv2.cpp:294 #, fuzzy msgid " S : print structure of image\n" msgstr " v : proste wartości danych\n" #: src/exiv2.cpp:295 #, fuzzy msgid " X : extract XMP from image\n" msgstr " X : właściwości XMP\n" #: src/exiv2.cpp:296 msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" " -P przl Przełączniki wyświetlania kontrolujące sposób wyświetlania " "znaczników (akcja \"print\"):\n" #: src/exiv2.cpp:297 msgid " E : include Exif tags in the list\n" msgstr " E : dołącz znaczniki Exif do listy\n" #: src/exiv2.cpp:298 msgid " I : IPTC datasets\n" msgstr " I : dane IPTC\n" #: src/exiv2.cpp:299 msgid " X : XMP properties\n" msgstr " X : właściwości XMP\n" #: src/exiv2.cpp:300 msgid " x : print a column with the tag number\n" msgstr " x : wyświetla kolumnę z numerem znacznika\n" #: src/exiv2.cpp:301 msgid " g : group name\n" msgstr " g : nazwa grupy\n" #: src/exiv2.cpp:302 msgid " k : key\n" msgstr " k : klucz\n" #: src/exiv2.cpp:303 msgid " l : tag label\n" msgstr " l : etykieta znacznika\n" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr " n : nazwa znacznika\n" #: src/exiv2.cpp:305 msgid " y : type\n" msgstr " y : typ\n" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr " c : liczba elementów\n" #: src/exiv2.cpp:307 msgid " s : size in bytes\n" msgstr " s : wielkość w bajtach\n" #: src/exiv2.cpp:308 msgid " v : plain data value\n" msgstr " v : proste wartości danych\n" #: src/exiv2.cpp:309 msgid " t : interpreted (translated) data\n" msgstr " t : zinterpretowane (przetłumaczone) dane\n" #: src/exiv2.cpp:310 msgid " h : hexdump of the data\n" msgstr " h : zrzut danych w postaci szesnastkowej\n" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr " -d cel Cel(e) usunięcia dla akcji \"delete\". Możliwe cele to:\n" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr " a : wszystkie obsługiwane metadane (domyślne)\n" #: src/exiv2.cpp:313 msgid " e : Exif section\n" msgstr " e : sekcja Exif\n" #: src/exiv2.cpp:314 msgid " t : Exif thumbnail only\n" msgstr " t : tylko miniatury Exif\n" #: src/exiv2.cpp:315 msgid " i : IPTC data\n" msgstr " i : dane IPTC\n" #: src/exiv2.cpp:316 msgid " x : XMP packet\n" msgstr " x : pakiet XMP\n" #: src/exiv2.cpp:318 msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" " -i tgt Cel(e) wstawiania dla akcji \"insert\". Możliwe cele są takie\n" " same jak te dla opcji -d, plus modyfikator:\n" " X : Wstawia metadane z pliku XMP .xmp\n" " Tylko miniatury JPEG mogą być wstawione i muszą mieć nazwę\n" " -thumb.jpg\n" #: src/exiv2.cpp:323 msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" " -r fmt Format nazwy pliku dla akcji \"rename\". Łańcuch formatowania\n" " jest zgodny z strftime(3). Obsługiwane są następujące słowa " "kluczowe:\n" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr " :basename: - oryginalna nazwa pliku bez rozszerzenia\n" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr "" " :dirname: - nazwa katalogu zawierającego oryginalny plik\n" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr " :parentname: - nazwa katalogu macierzystego\n" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr " Domyślny format nazwy pliku to " #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr " -c txt komentarz JPEG do wstawienia do obrazu.\n" #: src/exiv2.cpp:336 msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" " -m plik Plik poleceń dla akcji \"modify\". Format poleceń to\n" " set|add|del [[] ].\n" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" " -M kmd Linia poleceń dla akcji \"modify\". Format poleceń jest\n" " taki sam jak format linii w pliku komend.\n" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" " -l kat Lokalizacja (katalog) dla plików ze wstawianymi lub " "eksportowanymi metadanymi.\n" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" " -S .roz Użyj rozszerzenia .roz dla plików źródłowych w akcji \"insert\".\n" "\n" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 msgid "Option" msgstr "Opcja" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "wymaga argumentu\n" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "Nierozpoznana opcja" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "getopt zwrócił nieoczekiwany kod znaku" #: src/exiv2.cpp:410 #, fuzzy msgid "Invalid argument" msgstr "Niepoprawny klucz" #: src/exiv2.cpp:434 #, fuzzy msgid "Invalid regexp" msgstr "Niepoprawny klucz" #: src/exiv2.cpp:473 src/exiv2.cpp:526 msgid "Ignoring surplus option" msgstr "Zignorowano nadmiarową opcję" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "nie jest zgodny z poprzednią opcją\n" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "Zignorowano nadmiarową opcję -a" #: src/exiv2.cpp:504 msgid "Error parsing -a option argument" msgstr "Błąd podczas przetwarzania argumentu opcji -a" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "Opcja -a jest niezgodna z poprzednią opcją\n" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "Błąd przetwarzania" #: src/exiv2.cpp:535 msgid "option argument" msgstr "argument opcji" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "Nierozpoznany tryb wyświetlania" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "Zignorowano nadmiarową opcję -p" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "Opcja -p jest niezgodna z poprzednią opcją\n" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "Nierozpoznany element wydruku" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "Zignorowano nadmiarową opcję -P" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "Opcja -P jest niezgodna z poprzednią opcją\n" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "Opcja -d jest niezgodna z poprzednią opcją\n" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "Opcja -e jest niezgodna z poprzednią opcją\n" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "Opcja -i jest niezgodna z poprzednią opcją\n" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "Akcja adjust jest niezgodna z podanymi opcjami\n" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "Akcja print jest niezgodna z podanymi opcjami\n" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "Akcja delete jest niezgodna z podanymi opcjami\n" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "Akcja extract jest niezgodna z podanymi opcjami\n" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "Akcja insert jest niezgodna z podanymi opcjami\n" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "Akcja rename jest niezgodna z podanymi opcjami\n" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "Akcja modify jest niezgodna z podanymi opcjami\n" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "Akcja fixiso jest niezgodna z podanymi opcjami\n" #: src/exiv2.cpp:824 #, fuzzy msgid "Action fixcom is not compatible with the given options\n" msgstr "Akcja fixiso jest niezgodna z podanymi opcjami\n" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "Należy podać akcję\n" #: src/exiv2.cpp:904 msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "" "Akcja adjust wymaga podania przynajmniej jednej z opcji -a, -Y, -O lub -D\n" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "" "Akcja modify wymaga podania przynajmniej jednej z opcji -c, -m lub -M\n" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "Wymagany jest co najmniej jeden plik\n" #: src/exiv2.cpp:920 msgid "Error parsing -m option arguments\n" msgstr "Błąd podczas przetwarzania argumentów opcji -m\n" #: src/exiv2.cpp:927 msgid "Error parsing -M option arguments\n" msgstr "Błąd podczas przetwarzania argumentów opcji -M\n" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "Opcja -I może być użyta jedynie z akcjami extract lub insert\n" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "Opcja -S może być użyta jedynie z akcją insert\n" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "Opcja -t może być użyta jedynie z akcją rename\n" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "Opcja -T może być użyta jedynie z akcją rename\n" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "Nierozpoznany" #: src/exiv2.cpp:1039 msgid "target" msgstr "cel" #: src/exiv2.cpp:1065 msgid "Invalid preview number" msgstr "Niepoprawna liczba podglądów" #: src/exiv2.cpp:1097 msgid "Failed to open command file for reading\n" msgstr "Nie można otworzyć pliku poleceń do odczytu\n" #: src/exiv2.cpp:1110 msgid "line" msgstr "wiersz" #: src/exiv2.cpp:1133 msgid "-M option" msgstr "Opcja -M" #: src/exiv2.cpp:1180 #, fuzzy msgid "Invalid command line:" msgstr "Niepoprawny wiersz poleceń" #: src/exiv2.cpp:1187 msgid "Invalid command" msgstr "Niepoprawne polecenie" #: src/exiv2.cpp:1219 msgid "Invalid key" msgstr "Niepoprawny klucz" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "Niepoprawny wiersz poleceń" #: src/fujimn.cpp:62 #, fuzzy msgid "Soft mode 1" msgstr "Tryb punktowy włączony" #: src/fujimn.cpp:63 #, fuzzy msgid "Soft mode 2" msgstr "Tryb punktowy włączony" #: src/fujimn.cpp:65 #, fuzzy msgid "Hard mode 1" msgstr "Tryb makro" #: src/fujimn.cpp:66 #, fuzzy msgid "Hard mode 2" msgstr "Tryb makro" #: src/fujimn.cpp:74 msgid "Fluorescent (daylight)" msgstr "Lampa fluorescencyjna (światło dzienne)" #: src/fujimn.cpp:75 msgid "Fluorescent (warm white)" msgstr "Lampa fluorescencyjna (ciepło-biała)" #: src/fujimn.cpp:76 msgid "Fluorescent (cool white)" msgstr "Lampa fluorescencyjna (zimno-biała)" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 #, fuzzy msgid "Incandescent" msgstr "Rozpalony" #: src/fujimn.cpp:87 src/fujimn.cpp:88 msgid "None (black & white)" msgstr "Brak (czarno-biały)" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 msgid "Red-eye reduction" msgstr "Redukcja czerwonych oczu" #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 msgid "Night scene" msgstr "Scena nocna" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 msgid "Program AE" msgstr "Program AE" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "Światło naturalne" #: src/fujimn.cpp:122 msgid "Anti-blur" msgstr "Anti-blur" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 msgid "Sunset" msgstr "Zachód słońca" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 msgid "Museum" msgstr "Muzeum" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 msgid "Party" msgstr "Przyjęcie" #: src/fujimn.cpp:126 msgid "Flower" msgstr "Kwiat" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "Tekst" #: src/fujimn.cpp:128 msgid "Natural light & flash" msgstr "Światło naturalny i błysk" #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 msgid "Aperture-priority AE" msgstr "Priorytet przysłony" #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 msgid "Shutter speed priority AE" msgstr "Priorytet migawki" #: src/fujimn.cpp:142 #, fuzzy msgid "No flash & flash" msgstr "Bez flesza i flesz" #: src/fujimn.cpp:148 msgid "Chrome" msgstr "Chrom" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 #, fuzzy msgid "Wide" msgstr "Szeroki" #: src/fujimn.cpp:160 msgid "F0/Standard" msgstr "F0/Standard" #: src/fujimn.cpp:161 msgid "F1/Studio portrait" msgstr "F1/Studio portrait" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "F2/Fujichrome" #: src/fujimn.cpp:163 msgid "F3/Studio portrait Ex" msgstr "F3/Studio portrait Ex" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "F4/Velvia" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "Binarny" #: src/fujimn.cpp:171 msgid "Standard (100%)" msgstr "Standard (100%)" #: src/fujimn.cpp:172 msgid "Wide mode 1 (230%)" msgstr "" #: src/fujimn.cpp:173 msgid "Wide mode 2 (400%)" msgstr "" #: src/fujimn.cpp:174 msgid "Film simulation mode" msgstr "Tryb symulacji filmu" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 msgid "Version" msgstr "Wersja" #: src/fujimn.cpp:180 msgid "Fujifilm Makernote version" msgstr "Wersja Fujifilm Makernote" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" "Ten numer jest unikalny i zawiera datę produkcji, ale nie jest tożsamy z " "numerem umieszczonym na korpusie aparatu." #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 msgid "Image quality setting" msgstr "Ustawienie jakości obrazu" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 msgid "Color" msgstr "Kolor" #: src/fujimn.cpp:196 msgid "Chroma saturation setting" msgstr "Ustawienie nasycenia barw" #: src/fujimn.cpp:198 msgid "Tone" msgstr "Ton" #: src/fujimn.cpp:202 msgid "Flash firing mode setting" msgstr "Ustawienie trybu błysku" #: src/fujimn.cpp:204 msgid "Flash Strength" msgstr "Siła błysku" #: src/fujimn.cpp:205 msgid "Flash firing strength compensation setting" msgstr "Ustawienie siły kompensacji błysku" #: src/fujimn.cpp:208 msgid "Macro mode setting" msgstr "Ustawienie trybu makro" #: src/fujimn.cpp:211 msgid "Focusing mode setting" msgstr "Ustawienie trybu ostrzenia" #: src/fujimn.cpp:216 msgid "Slow Sync" msgstr "Synchronizacja z długimi czasami" #: src/fujimn.cpp:217 msgid "Slow synchro mode setting" msgstr "" "Ustawienie trybu synchronizacji błysku z długimi czasami otwarcia migawki" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 msgid "Picture Mode" msgstr "Tryb zdjęcia" #: src/fujimn.cpp:220 msgid "Picture mode setting" msgstr "Ustawienie trybu zdjęcia" #: src/fujimn.cpp:226 msgid "Continuous shooting or auto bracketing setting" msgstr "" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 msgid "Sequence Number" msgstr "Numer sekwencyjny" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 msgid "Sequence number" msgstr "Numer sekwencyjny" #: src/fujimn.cpp:234 msgid "FinePix Color" msgstr "Kolor FinePix" #: src/fujimn.cpp:235 msgid "Fuji FinePix color setting" msgstr "Ustawienie koloru Fuji FinePix" #: src/fujimn.cpp:237 msgid "Blur Warning" msgstr "Ostrzeżenie o rozmyciu" #: src/fujimn.cpp:238 msgid "Blur warning status" msgstr "Stan ostrzeżenia o rozmyciu" #: src/fujimn.cpp:240 msgid "Focus Warning" msgstr "Ostrzeżenie o ostrzeniu" #: src/fujimn.cpp:241 msgid "Auto Focus warning status" msgstr "Stan ostrzeżenia o automatycznym ostrzeniu" #: src/fujimn.cpp:243 msgid "Exposure Warning" msgstr "Ostrzeżenie ekspozycji" #: src/fujimn.cpp:244 msgid "Auto exposure warning status" msgstr "Stan ostrzeżenia o automatycznej ekspozycji" #: src/fujimn.cpp:246 msgid "Dynamic Range" msgstr "Dynamiczny zakres" #: src/fujimn.cpp:247 msgid "Dynamic range" msgstr "Dynamiczny zakres" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 msgid "Film Mode" msgstr "Tryb filmu" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 msgid "Film mode" msgstr "Tryb filmu" #: src/fujimn.cpp:252 msgid "Dynamic Range Setting" msgstr "Ustawienia trybu dynamicznego" #: src/fujimn.cpp:253 msgid "Dynamic range settings" msgstr "Ustawienia trybu dynamicznego" #: src/fujimn.cpp:255 #, fuzzy msgid "Development Dynamic Range" msgstr "Dynamiczny zakres" #: src/fujimn.cpp:256 #, fuzzy msgid "Development dynamic range" msgstr "Dynamiczny zakres" #: src/fujimn.cpp:258 msgid "Minimum Focal Length" msgstr "Minimalna długość ogniskowej" #: src/fujimn.cpp:259 msgid "Minimum focal length" msgstr "Minimalna długość ogniskowej" #: src/fujimn.cpp:261 msgid "Maximum Focal Length" msgstr "Maksymalna długość ogniskowej" #: src/fujimn.cpp:262 msgid "Maximum focal length" msgstr "Maksymalna długość ogniskowej" #: src/fujimn.cpp:264 #, fuzzy msgid "Maximum Aperture at Minimum Focal" msgstr "Maksymalna jasność przy minimalnej ogniskowej" #: src/fujimn.cpp:265 #, fuzzy msgid "Maximum aperture at minimum focal" msgstr "Maksymalna jasność przy minimalnej ogniskowej" #: src/fujimn.cpp:267 #, fuzzy msgid "Maximum Aperture at Maximum Focal" msgstr "Maksymalna jasność przy maksymalnej ogniskowej" #: src/fujimn.cpp:268 #, fuzzy msgid "Maximum aperture at maximum focal" msgstr "Maksymalna jasność przy maksymalnej ogniskowej" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 msgid "File Source" msgstr "Źródło pliku" #: src/fujimn.cpp:271 msgid "File source" msgstr "Źródło pliku" #: src/fujimn.cpp:273 msgid "Order Number" msgstr "Liczba porządkowa" #: src/fujimn.cpp:274 msgid "Order number" msgstr "Liczba porządkowa" #: src/fujimn.cpp:276 msgid "Frame Number" msgstr "Numer klatki" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 msgid "Frame number" msgstr "Numer klatki" #: src/fujimn.cpp:281 msgid "Unknown FujiMakerNote tag" msgstr "Nieznany znacznik FujiMakerNote" #: src/minoltamn.cpp:56 msgid "Natural Color" msgstr "Barwa naturalna" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 msgid "Vivid Color" msgstr "Barwa jaskrawa" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 msgid "Solarization" msgstr "Solaryzacja" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "AdobeRGB" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 msgid "Natural" msgstr "Naturalny" #: src/minoltamn.cpp:64 msgid "Natural sRGB" msgstr "Natural sRGB" #: src/minoltamn.cpp:65 msgid "Natural+ sRGB" msgstr "Natural+ sRGB" #: src/minoltamn.cpp:67 msgid "Evening" msgstr "Wieczór" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 msgid "Night Portrait" msgstr "Portret nocny" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 msgid "Super Fine" msgstr "Bardzo dobra" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 msgid "Extra Fine" msgstr "Ekstra dobra" #: src/minoltamn.cpp:90 msgid "Makernote Version" msgstr "Wersja Makernote" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "Łańcuch \"MTL0\" (nie jest zakończony przez NULL)" #: src/minoltamn.cpp:93 msgid "Camera Settings (Std Old)" msgstr "Ustawienia aparatu (Std stary)" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "" "Standardowe ustawienia aparatu (starsze modele aparatów jak D5, D7, S304 i " "S404)" #: src/minoltamn.cpp:96 msgid "Camera Settings (Std New)" msgstr "Ustawienia aparatu (Std nowy)" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "" "Standardowe ustawienia aparatu (nowsze modele aparatów jak D7u, D7i i D7hi)" #: src/minoltamn.cpp:99 msgid "Camera Settings (7D)" msgstr "Ustawienia aparatu (7D)" #: src/minoltamn.cpp:100 msgid "Camera Settings (for Dynax 7D model)" msgstr "Ustawienia aparatu (dla modelu Dynax 7D)" #: src/minoltamn.cpp:102 msgid "Image Stabilization Data" msgstr "Dane stabilizacji obrazu" #: src/minoltamn.cpp:103 msgid "Image stabilization data" msgstr "Dane stabilizacji obrazu" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "" #: src/minoltamn.cpp:111 msgid "Compressed Image Size" msgstr "Rozmiar skompresowanego obrazka" #: src/minoltamn.cpp:112 msgid "Compressed image size" msgstr "Rozmiar skompresowanego obrazka" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "Miniatura JPEG 640x480 pikseli" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 msgid "Thumbnail Offset" msgstr "Przesunięcie miniatury" #: src/minoltamn.cpp:118 msgid "Offset of the thumbnail" msgstr "Przesunięcie miniatury" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 msgid "Thumbnail Length" msgstr "Długość miniatury" #: src/minoltamn.cpp:121 msgid "Size of the thumbnail" msgstr "Rozmiar miniatury" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 msgid "Scene Mode" msgstr "Rodzaj sceny" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 msgid "Color Mode" msgstr "Tryb koloru" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 msgid "Color mode" msgstr "Tryb koloru" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 msgid "Image Quality" msgstr "Jakość obrazu" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 msgid "Flash Exposure Compensation" msgstr "Kompensacja ekspozycji błysku" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 msgid "Flash exposure compensation in EV" msgstr "Kompensacja ekspozycji błysku w jednostkach EV" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 #, fuzzy msgid "Teleconverter Model" msgstr "Model ekstendera" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 msgid "Zone Matching" msgstr "Pasująca strefa" #: src/minoltamn.cpp:154 msgid "Zone matching" msgstr "Pasująca strefa" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 msgid "Color temperature" msgstr "Temperatura koloru" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 msgid "Lens ID" msgstr "ID obiektywu" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 msgid "Lens identifier" msgstr "Identyfikator obiektywu" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 #, fuzzy msgid "Color Compensation Filter" msgstr "Kompensacja tonów" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 #, fuzzy msgid "White Balance Fine Tune" msgstr "Tablica balansu bieli" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 #, fuzzy msgid "White Balance Fine Tune Value" msgstr "Wartość balansu bieli" #: src/minoltamn.cpp:168 #, fuzzy msgid "Image Stabilization A100" msgstr "Stabilizacja obrazu" #: src/minoltamn.cpp:169 #, fuzzy msgid "Image Stabilization for the Sony DSLR-A100" msgstr "Dane stabilizacji obrazu" #: src/minoltamn.cpp:173 msgid "Camera Settings (5D)" msgstr "Ustawienia aparatu (5D)" #: src/minoltamn.cpp:174 msgid "Camera Settings (for Dynax 5D model)" msgstr "Ustawienia aparatu (dla modelu Dynax 5D)" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "Print IM" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 msgid "PrintIM information" msgstr "Informacja PrintIM" #: src/minoltamn.cpp:183 msgid "Camera Settings (Z1)" msgstr "Ustawienia aparatu (Z1)" #: src/minoltamn.cpp:184 msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "Ustawienia aparatu (dla modeli Z1, DImage X i F100)" #: src/minoltamn.cpp:188 msgid "Unknown Minolta MakerNote tag" msgstr "Nieznany znacznik Minolta MakerNote" #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 msgid "Aperture priority" msgstr "Priorytet przysłony" #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "Priorytet migawki" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 msgid "Fill flash" msgstr "Błysk wypełniający" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 msgid "Rear flash sync" msgstr "Synchronizacja na zamknięcie migawki" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 msgid "Wireless" msgstr "Bezprzewodowy" #: src/minoltamn.cpp:224 #, fuzzy msgid "Fluorescent 2" msgstr "Fluorescencja 2" #: src/minoltamn.cpp:231 msgid "Full size" msgstr "Pełny rozmiar" #: src/minoltamn.cpp:243 msgid "Super fine" msgstr "Bardzo dobra" #: src/minoltamn.cpp:247 msgid "Extra fine" msgstr "Ekstra dobra" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 #, fuzzy msgid "Single Frame" msgstr "Pojedynczy obszar" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 msgid "Self-timer" msgstr "Samowyzwalacz" #: src/minoltamn.cpp:255 msgid "Bracketing" msgstr "Bracketing" #: src/minoltamn.cpp:256 msgid "Interval" msgstr "Odstęp" #: src/minoltamn.cpp:257 #, fuzzy msgid "UHS continuous" msgstr "Gradient ciągły" #: src/minoltamn.cpp:258 #, fuzzy msgid "HS continuous" msgstr "Gradient ciągły" #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 msgid "Multi-segment" msgstr "Wielopolowy" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 msgid "Center weighted average" msgstr "Centralnie ważony uśredniony" #: src/minoltamn.cpp:271 msgid "Electronic magnification" msgstr "Powiększenie elektroniczne" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 msgid "Top" msgstr "Góra" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 msgid "Top-right" msgstr "Górny prawy" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 msgid "Bottom-right" msgstr "Dolny prawy" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 msgid "Bottom" msgstr "Dół" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 msgid "Bottom-left" msgstr "Dolny lewy" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 msgid "Top-left" msgstr "Górny lewy" #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 msgid "Hard" msgstr "Duża" #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 msgid "Soft" msgstr "Mała" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 msgid "Night portrait" msgstr "Nocny portret" #: src/minoltamn.cpp:315 msgid "Sports action" msgstr "Sport" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "" #: src/minoltamn.cpp:349 #, fuzzy msgid "Standard form" msgstr "Forma standardowa" #: src/minoltamn.cpp:350 #, fuzzy msgid "Data form" msgstr "Formularz danych" #: src/minoltamn.cpp:355 msgid "Natural color" msgstr "Naturalny kolor" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 msgid "Black and white" msgstr "Czarno-biały" #: src/minoltamn.cpp:357 msgid "Vivid color" msgstr "Barwa jaskrawa" #: src/minoltamn.cpp:364 msgid "No zone" msgstr "Brak strefy" #: src/minoltamn.cpp:365 msgid "Center zone (horizontal orientation)" msgstr "Strefa środkowa (układ poziomy)" #: src/minoltamn.cpp:366 msgid "Center zone (vertical orientation)" msgstr "Strefa środkowa (układ pionowa)" #: src/minoltamn.cpp:367 msgid "Left zone" msgstr "Strefa lewa" #: src/minoltamn.cpp:368 msgid "Right zone" msgstr "Strefa prawa" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 msgid "Auto focus" msgstr "Ostrzenie automatyczne" #: src/minoltamn.cpp:379 msgid "Wide focus (normal)" msgstr "" #: src/minoltamn.cpp:380 msgid "Spot focus" msgstr "Ostrzenie punktowe" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 msgid "Exposure" msgstr "Ekspozycja" #: src/minoltamn.cpp:388 msgid "Filter" msgstr "Filtr" #: src/minoltamn.cpp:393 msgid "Not embedded" msgstr "Niedołączona" #: src/minoltamn.cpp:394 msgid "Embedded" msgstr "Osadzone" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "Tekst + ID" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "ADI (Advanced Distance Integration)" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "Przedbłysk TTL" #: src/minoltamn.cpp:410 msgid "Manual flash control" msgstr "Ręczne sterowanie lampą" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 msgid "Exposure Mode" msgstr "Tryb ekspozycji" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 msgid "Flash mode" msgstr "Tryb flesza" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 #, fuzzy msgid "Drive mode" msgstr "Tryb działania" #: src/minoltamn.cpp:512 #, fuzzy msgid "ISO Value" msgstr "Czułość ISO" #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 msgid "Exposure Time" msgstr "Czas ekspozycji" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 msgid "FNumber" msgstr "Liczba F" #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 msgid "The F-Number" msgstr "Liczba F" #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 msgid "Macro Mode" msgstr "Tryb makro" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 msgid "Exposure Compensation" msgstr "Kompensacja ekspozycji" #: src/minoltamn.cpp:529 msgid "Bracket Step" msgstr "Krok bracketingu" #: src/minoltamn.cpp:530 msgid "Bracket step" msgstr "Krok bracketingu" #: src/minoltamn.cpp:532 msgid "Interval Length" msgstr "Rozmiar odstępu" #: src/minoltamn.cpp:533 msgid "Interval length" msgstr "Rozmiar odstępu" #: src/minoltamn.cpp:535 msgid "Interval Number" msgstr "Numer odstępu" #: src/minoltamn.cpp:536 msgid "Interval number" msgstr "Numer odstępu" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 msgid "Focus Distance" msgstr "Odległość ostrzenia" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 msgid "Focus distance" msgstr "Odległość ostrzenia" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 #, fuzzy msgid "Flash Fired" msgstr "Urządzenie flesza" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 #, fuzzy msgid "Flash fired" msgstr "Flesz wyłączony" #: src/minoltamn.cpp:547 msgid "Minolta Date" msgstr "Minolta data" #: src/minoltamn.cpp:548 msgid "Minolta date" msgstr "Minolta data" #: src/minoltamn.cpp:550 msgid "Minolta Time" msgstr "Minolta czas" #: src/minoltamn.cpp:551 msgid "Minolta time" msgstr "Minolta czas" #: src/minoltamn.cpp:556 #, fuzzy msgid "File Number Memory" msgstr "Pamięć numeracji plików" #: src/minoltamn.cpp:557 #, fuzzy msgid "File number memory" msgstr "Pamięć numeracji plików" #: src/minoltamn.cpp:559 #, fuzzy msgid "Last Image Number" msgstr "Numer obrazu" #: src/minoltamn.cpp:560 #, fuzzy msgid "Last image number" msgstr "Numer zdjęcia" #: src/minoltamn.cpp:562 msgid "Color Balance Red" msgstr "Balans kolorów czerwieni" #: src/minoltamn.cpp:563 msgid "Color balance red" msgstr "Balans kolorów czerwieni" #: src/minoltamn.cpp:565 msgid "Color Balance Green" msgstr "Balans kolorów zieleni" #: src/minoltamn.cpp:566 msgid "Color balance green" msgstr "Balans kolorów zieleni" #: src/minoltamn.cpp:568 msgid "Color Balance Blue" msgstr "Balans kolorów błękitu" #: src/minoltamn.cpp:569 msgid "Color balance blue" msgstr "Balans kolorów błękitu" #: src/minoltamn.cpp:580 msgid "Subject Program" msgstr "Program tematyczny" #: src/minoltamn.cpp:581 msgid "Subject program" msgstr "Program tematyczny" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 msgid "ISO Settings" msgstr "Ustawienia ISO" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 msgid "ISO setting" msgstr "Ustawienie ISO" #: src/minoltamn.cpp:589 msgid "Minolta Model" msgstr "Minolta model" #: src/minoltamn.cpp:590 msgid "Minolta model" msgstr "Minolta model" #: src/minoltamn.cpp:592 #, fuzzy msgid "Interval Mode" msgstr "Tryb odstępu" #: src/minoltamn.cpp:593 #, fuzzy msgid "Interval mode" msgstr "Tryb odstępu" #: src/minoltamn.cpp:595 msgid "Folder Name" msgstr "Nazwa katalogu" #: src/minoltamn.cpp:596 msgid "Folder name" msgstr "Nazwa katalogu" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 msgid "ColorMode" msgstr "Tryb koloru" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 msgid "Color Filter" msgstr "Filtr kolorów" #: src/minoltamn.cpp:602 msgid "Color filter" msgstr "Filtr kolorów" #: src/minoltamn.cpp:604 msgid "Black and White Filter" msgstr "Filtr czarno-biały" #: src/minoltamn.cpp:605 msgid "Black and white filter" msgstr "Filtr czarno-biały" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 msgid "Internal Flash" msgstr "Wewnętrzny flesz" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 msgid "Brightness" msgstr "Jasność" #: src/minoltamn.cpp:613 #, fuzzy msgid "Spot Focus Point X" msgstr "Ostrzenie punktowe" #: src/minoltamn.cpp:614 #, fuzzy msgid "Spot focus point X" msgstr "Ostrzenie punktowe" #: src/minoltamn.cpp:616 #, fuzzy msgid "Spot Focus Point Y" msgstr "Ostrzenie punktowe" #: src/minoltamn.cpp:617 #, fuzzy msgid "Spot focus point Y" msgstr "Ostrzenie punktowe" #: src/minoltamn.cpp:619 #, fuzzy msgid "Wide Focus Zone" msgstr "Tryb ogniskowania" #: src/minoltamn.cpp:620 msgid "Wide focus zone" msgstr "" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 msgid "Focus mode" msgstr "Tryb ogniskowania" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 msgid "Focus area" msgstr "Obszar ogniskowania" #: src/minoltamn.cpp:628 msgid "DEC Switch Position" msgstr "Pozycja przełącznika DEC" #: src/minoltamn.cpp:629 msgid "DEC switch position" msgstr "Pozycja przełącznika DEC" #: src/minoltamn.cpp:631 msgid "Color Profile" msgstr "Profil koloru" #: src/minoltamn.cpp:632 msgid "Color profile" msgstr "Profil koloru" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 #, fuzzy msgid "Data Imprint" msgstr "Kompresja danych" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 msgid "Flash Metering" msgstr "Tryb pomiaru błysku" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 msgid "Flash metering" msgstr "Tryb pomiaru światła błyskowego" #: src/minoltamn.cpp:642 msgid "Unknown Minolta Camera Settings tag" msgstr "Nieznany znacznik Minolta Camera Settings" #: src/minoltamn.cpp:660 msgid "Program-shift A" msgstr "Program-shift A" #: src/minoltamn.cpp:661 msgid "Program-shift S" msgstr "Program-shift S" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 msgid "Raw+Jpeg" msgstr "RAW+JPEG" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 msgid "Kelvin" msgstr "Kelvin" #: src/minoltamn.cpp:695 msgid "Single-shot AF" msgstr "Pojedyncze zdjęcie" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 msgid "Continuous AF" msgstr "Ciągły" #: src/minoltamn.cpp:698 msgid "Automatic AF" msgstr "Automatycznie" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 msgid "sRGB (Natural)" msgstr "sRGB (Natural)" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 msgid "sRGB (Natural+)" msgstr "sRGB (Natural+)" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 msgid "Horizontal (normal)" msgstr "Poziome (normalne)" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "Obrót o 90 w prawo" #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "Obrót o 270 w prawo" #: src/minoltamn.cpp:756 msgid "AF Points" msgstr "Punkty AF" #: src/minoltamn.cpp:757 msgid "AF points" msgstr "Punkty AF" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 msgid "Color Space" msgstr "Przestrzeń kolorów" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 msgid "Color space" msgstr "Przestrzeń kolorów" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 #, fuzzy msgid "Free Memory Card Images" msgstr "Liczba wolnych zdjęć na karcie pamięci" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 #, fuzzy msgid "Free memory card images" msgstr "Liczba wolnych zdjęć na karcie pamięci" #: src/minoltamn.cpp:789 msgid "Hue" msgstr "Odcień" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 msgid "Rotation" msgstr "Obrót" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 msgid "Image Number" msgstr "Numer obrazu" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 msgid "Noise reduction" msgstr "Redukcja szumów" #: src/minoltamn.cpp:817 #, fuzzy msgid "Zone Matching On" msgstr "Pasująca strefa" #: src/minoltamn.cpp:818 #, fuzzy msgid "Zone matching on" msgstr "Pasująca strefa" #: src/minoltamn.cpp:822 msgid "Unknown Minolta Camera Settings 7D tag" msgstr "Nieznany znacznik Minolta Camera Settings 7D" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 #, fuzzy msgid "Program Shift A" msgstr "Program-shift A" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 #, fuzzy msgid "Program Shift S" msgstr "Program-shift S" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 #, fuzzy msgid "Night View/Portrait" msgstr "Portret nocny" #: src/minoltamn.cpp:895 #, fuzzy msgid "200 (Zone Matching High)" msgstr "Pasująca strefa" #: src/minoltamn.cpp:896 #, fuzzy msgid "80 (Zone Matching Low)" msgstr "Pasująca strefa" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 #, fuzzy msgid "Adobe RGB (ICC)" msgstr "Adobe RGB" #: src/minoltamn.cpp:918 #, fuzzy msgid "Central" msgstr "Środek" #: src/minoltamn.cpp:919 #, fuzzy msgid "Up" msgstr "W górę" #: src/minoltamn.cpp:920 #, fuzzy msgid "Up right" msgstr "W prawo do góry" #: src/minoltamn.cpp:922 #, fuzzy msgid "Down right" msgstr "W prawo do dołu" #: src/minoltamn.cpp:923 #, fuzzy msgid "Down" msgstr "W dół" #: src/minoltamn.cpp:924 #, fuzzy msgid "Down left" msgstr "W lewo do dołu" #: src/minoltamn.cpp:926 #, fuzzy msgid "Up left" msgstr "W lewo do góry" #: src/minoltamn.cpp:932 msgid "Selection" msgstr "Zaznaczenie" #: src/minoltamn.cpp:947 #, fuzzy msgid "Natural+" msgstr "Naturalny" #: src/minoltamn.cpp:949 #, fuzzy msgid "Wind Scene" msgstr "Scena nocna" #: src/minoltamn.cpp:950 #, fuzzy msgid "Evening Scene" msgstr "Wieczór" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus Position" msgstr "Pozycja ostrzenia" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus position" msgstr "Pozycja ostrzenia" #: src/minoltamn.cpp:1003 msgid "Focus Area" msgstr "Obszar ostrzenia" #: src/minoltamn.cpp:1036 #, fuzzy msgid "Exposure Revision" msgstr "Kompensacja ekspozycji" #: src/minoltamn.cpp:1037 #, fuzzy msgid "Exposure revision" msgstr "Kompensacja ekspozycji" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 #, fuzzy msgid "Rotation2" msgstr "Obrót" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 #, fuzzy msgid "Picture Finish" msgstr "Informacje o zdjęciu" #: src/minoltamn.cpp:1063 msgid "Exposure Manual Bias" msgstr "Ręczna korekta ekspozycji" #: src/minoltamn.cpp:1064 #, fuzzy msgid "Exposure manual bias" msgstr "Ręczna korekta ekspozycji (APEX)" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 msgid "AF Mode" msgstr "Tryb AF" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 msgid "AF mode" msgstr "Tryb działania AF" #: src/minoltamn.cpp:1087 msgid "Unknown Minolta Camera Settings 5D tag" msgstr "Nieznany znacznik Minolta Camera settings 5D" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 #, fuzzy msgid "Self-timer 10 sec" msgstr "Samowyzwalacz (12 s)" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 #, fuzzy msgid "Self-timer 2 sec" msgstr "Samowyzwalacz (2 s)" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 #, fuzzy msgid "White Balance Bracketing Low" msgstr "Bracketing balansu bieli" #: src/minoltamn.cpp:1105 #, fuzzy msgid "White Balance Bracketing High" msgstr "Bracketing balansu bieli" #: src/minoltamn.cpp:1106 msgid "Single-frame Bracketing Low" msgstr "" #: src/minoltamn.cpp:1107 #, fuzzy msgid "Continuous Bracketing Low" msgstr "Auto bracketing" #: src/minoltamn.cpp:1108 msgid "Single-frame Bracketing High" msgstr "" #: src/minoltamn.cpp:1109 #, fuzzy msgid "Continuous Bracketing High" msgstr "Ciągły, wysoki" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 #, fuzzy msgid "Continuous Bracketing" msgstr "Ciągły, wysoki" #: src/minoltamn.cpp:1156 #, fuzzy msgid "Single-Frame Bracketing" msgstr "Bracketing" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 #, fuzzy msgid "White Balance Bracketing" msgstr "Bracketing balansu bieli" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 msgid "Preset" msgstr "Predefiniowany" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 #, fuzzy msgid "Color Temperature/Color Filter" msgstr "Temperatura koloru" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 msgid "Temperature" msgstr "Temperatura" #: src/minoltamn.cpp:1213 #, fuzzy msgid "Setup" msgstr "Ustaw" #: src/minoltamn.cpp:1214 #, fuzzy msgid "Recall" msgstr "Żółty" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "" #: src/minoltamn.cpp:1232 #, fuzzy msgid "Image and Information" msgstr "Konfiguracja obrazu" #: src/minoltamn.cpp:1233 #, fuzzy msgid "Image Only" msgstr "Rodzaj obrazu" #: src/minoltamn.cpp:1234 #, fuzzy msgid "Image and Histogram" msgstr "Wysokość obrazu" #: src/minoltamn.cpp:1240 #, fuzzy msgid "Fill Flash" msgstr "Błysk wypełniający" #: src/minoltamn.cpp:1251 #, fuzzy msgid "Focus Hold" msgstr "Tryb ogniskowania" #: src/minoltamn.cpp:1252 #, fuzzy msgid "DOF Preview" msgstr "Podgląd" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "" #: src/minoltamn.cpp:1258 #, fuzzy msgid "Toggle" msgstr "Ton" #: src/minoltamn.cpp:1259 #, fuzzy msgid "Spot Hold" msgstr "Tryb punktowy włączony" #: src/minoltamn.cpp:1260 #, fuzzy msgid "Spot Toggle" msgstr "Tryb punktowy włączony" #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 msgid "Shutter Speed" msgstr "Czas otwarcia migawki" #: src/minoltamn.cpp:1271 msgid "Ambient and Flash" msgstr "" #: src/minoltamn.cpp:1272 msgid "Ambient Only" msgstr "" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 #, fuzzy msgid "Automatic" msgstr "Automatycznie" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 #, fuzzy msgid "Auto-rotate" msgstr "Automatyczna regulacja kontrastu" #: src/minoltamn.cpp:1291 #, fuzzy msgid "Horizontal" msgstr "Poziome (normalne)" #: src/minoltamn.cpp:1297 #, fuzzy msgid "Manual Rotate" msgstr "Ręczne wyzwolenie" #: src/minoltamn.cpp:1302 #, fuzzy msgid "Within Range" msgstr "Zakres obiektywu" #: src/minoltamn.cpp:1303 #, fuzzy msgid "Under/Over Range" msgstr "Zakres przejścia" #: src/minoltamn.cpp:1304 #, fuzzy msgid "Out of Range" msgstr "Pozycja poza zakresem" #: src/minoltamn.cpp:1309 #, fuzzy msgid "Not Indicated" msgstr "Nieokreślony" #: src/minoltamn.cpp:1310 #, fuzzy msgid "Under Scale" msgstr "Podwodny" #: src/minoltamn.cpp:1311 #, fuzzy msgid "Bottom of Scale" msgstr "Od dołu do góry" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "" #: src/minoltamn.cpp:1330 #, fuzzy msgid "Over Scale" msgstr "Domyślna skala" #: src/minoltamn.cpp:1335 msgid "AM" msgstr "" #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "Ręczne ostrzenie" #: src/minoltamn.cpp:1342 #, fuzzy msgid "Built-in" msgstr "Błysk wypełniający" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 #, fuzzy msgid "Very Low" msgstr "Bardzo niski" #: src/minoltamn.cpp:1350 #, fuzzy msgid "Half Full" msgstr "Pełny" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "" #: src/minoltamn.cpp:1359 #, fuzzy msgid "Exposure Compensation Setting" msgstr "Kompensacja ekspozycji" #: src/minoltamn.cpp:1360 #, fuzzy msgid "Exposure compensation setting" msgstr "Kompensacja ekspozycji" #: src/minoltamn.cpp:1362 #, fuzzy msgid "High Speed Sync" msgstr "Duża szybkość" #: src/minoltamn.cpp:1363 #, fuzzy msgid "High speed sync" msgstr "Duża szybkość" #: src/minoltamn.cpp:1365 #, fuzzy msgid "Manual Exposure Time" msgstr "Czas ekspozycji" #: src/minoltamn.cpp:1366 #, fuzzy msgid "Manual exposure time" msgstr "Czas ekspozycji" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 #, fuzzy msgid "Manual FNumber" msgstr "Numer odstępu" #: src/minoltamn.cpp:1377 #, fuzzy msgid "Drive Mode 2" msgstr "Tryb działania" #: src/minoltamn.cpp:1378 #, fuzzy msgid "Drive mode 2" msgstr "Tryb działania" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 msgid "AF Area Mode" msgstr "Tryb strefy AF" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 #, fuzzy msgid "FlashMode" msgstr "Tryb flesza" #: src/minoltamn.cpp:1395 #, fuzzy msgid "Flash Exposure Comp Setting" msgstr "Kompensacja ekspozycji błysku" #: src/minoltamn.cpp:1396 #, fuzzy msgid "Flash exposure compensation setting" msgstr "Kompensacja ekspozycji błysku w jednostkach EV" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 #, fuzzy msgid "ISO Setting" msgstr "Ustawienia ISO" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 #, fuzzy msgid "Zone Matching Mode" msgstr "Pasująca strefa" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 #, fuzzy msgid "Dynamic Range Optimizer Mode" msgstr "Ustawienia trybu dynamicznego" #: src/minoltamn.cpp:1408 #, fuzzy msgid "Dynamic range optimizer mode" msgstr "Rozszerzenie dynamiczny zakresu" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "" #: src/minoltamn.cpp:1434 #, fuzzy msgid "Self Timer Time" msgstr "Samowyzwalacz" #: src/minoltamn.cpp:1435 #, fuzzy msgid "Self timer time" msgstr "Samowyzwalacz" #: src/minoltamn.cpp:1438 #, fuzzy msgid "Continuous bracketing" msgstr "Ciągły, wysoki" #: src/minoltamn.cpp:1440 #, fuzzy msgid "Single Frame Bracketing" msgstr "Bracketing balansu bieli" #: src/minoltamn.cpp:1441 #, fuzzy msgid "Single frame bracketing" msgstr "Bracketing balansu bieli" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 msgid "White balance bracketing" msgstr "Bracketing balansu bieli" #: src/minoltamn.cpp:1446 #, fuzzy msgid "White Balance Setting" msgstr "Ustawienie balansu bieli" #: src/minoltamn.cpp:1449 #, fuzzy msgid "Preset White Balance" msgstr "Balans bieli" #: src/minoltamn.cpp:1450 #, fuzzy msgid "Preset white balance" msgstr "CM Balans bieli" #: src/minoltamn.cpp:1452 #, fuzzy msgid "Color Temperature Setting" msgstr "Temperatura koloru" #: src/minoltamn.cpp:1453 #, fuzzy msgid "Color temperature setting" msgstr "Temperatura koloru" #: src/minoltamn.cpp:1455 #, fuzzy msgid "Custom WB Setting" msgstr "Własny balans bieli 1" #: src/minoltamn.cpp:1456 #, fuzzy msgid "Custom WB setting" msgstr "Własny balans bieli 1" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 #, fuzzy msgid "Dynamic Range Optimizer Settings" msgstr "Ustawienia trybu dynamicznego" #: src/minoltamn.cpp:1464 #, fuzzy msgid "Custom WB Red Level" msgstr "WB poziom czerwieni" #: src/minoltamn.cpp:1465 #, fuzzy msgid "Custom WB red level" msgstr "WB poziom czerwieni" #: src/minoltamn.cpp:1467 #, fuzzy msgid "Custom WB Green Level" msgstr "WB poziom zieleni" #: src/minoltamn.cpp:1468 #, fuzzy msgid "Custom WB green level" msgstr "WB poziom zieleni" #: src/minoltamn.cpp:1470 #, fuzzy msgid "Custom WB Blue Level" msgstr "WB poziom błękitu" #: src/minoltamn.cpp:1471 #, fuzzy msgid "CustomWB blue level" msgstr "WB poziom błękitu" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 #, fuzzy msgid "Custom WB Error" msgstr "Własny balans bieli 1" #: src/minoltamn.cpp:1477 #, fuzzy msgid "White balance fine tune" msgstr "Poprawka balansu bieli" #: src/minoltamn.cpp:1483 #, fuzzy msgid "Color compensation filter" msgstr "Wartość kompensacji ekspozycji" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 #, fuzzy msgid "Sony Image Size" msgstr "Rozmiar obrazu" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "" #: src/minoltamn.cpp:1500 msgid "Eye Start AF" msgstr "" #: src/minoltamn.cpp:1501 #, fuzzy msgid "Eye start AF" msgstr "One shot AF" #: src/minoltamn.cpp:1503 #, fuzzy msgid "Red Eye Reduction" msgstr "Redukcja czerwonych oczu" #: src/minoltamn.cpp:1504 #, fuzzy msgid "Red eye reduction" msgstr "Redukcja czerwonych oczu" #: src/minoltamn.cpp:1506 #, fuzzy msgid "Flash Default" msgstr "Szczegóły flesza" #: src/minoltamn.cpp:1507 #, fuzzy msgid "Flash default" msgstr "Szczegóły flesza" #: src/minoltamn.cpp:1509 #, fuzzy msgid "Auto Bracket Order" msgstr "Auto bracketing" #: src/minoltamn.cpp:1510 #, fuzzy msgid "Auto bracket order" msgstr "Auto bracketing" #: src/minoltamn.cpp:1512 #, fuzzy msgid "Focus Hold Button" msgstr "Ustawienie trybu ogniskowania" #: src/minoltamn.cpp:1513 #, fuzzy msgid "Focus hold button" msgstr "Ustawienie trybu ogniskowania" #: src/minoltamn.cpp:1515 #, fuzzy msgid "AEL Button" msgstr "Ustawienie automatycznej ekspozycji" #: src/minoltamn.cpp:1516 #, fuzzy msgid "AEL button" msgstr "Ustawienie automatycznej ekspozycji" #: src/minoltamn.cpp:1518 #, fuzzy msgid "Control Dial Set" msgstr "Ustawienie kontrastu" #: src/minoltamn.cpp:1519 #, fuzzy msgid "Control dial set" msgstr "Kontrastowość" #: src/minoltamn.cpp:1521 #, fuzzy msgid "Exposure Compensation Mode" msgstr "Kompensacja ekspozycji" #: src/minoltamn.cpp:1522 #, fuzzy msgid "Exposure compensation mode" msgstr "Kompensacja ekspozycji" #: src/minoltamn.cpp:1525 #, fuzzy msgid "AF assist" msgstr "Wspomaganie AF" #: src/minoltamn.cpp:1527 #, fuzzy msgid "Card Shutter Lock" msgstr "Blokada ekspozycji" #: src/minoltamn.cpp:1528 #, fuzzy msgid "Card shutter lock" msgstr "Blokada ekspozycji" #: src/minoltamn.cpp:1530 #, fuzzy msgid "Lens Shutter Lock" msgstr "Blokada ekspozycji" #: src/minoltamn.cpp:1531 #, fuzzy msgid "Lens shutter lock" msgstr "Długo otwarta migawka" #: src/minoltamn.cpp:1533 #, fuzzy msgid "AF Area Illumination" msgstr "GPS Informacja o obszarze" #: src/minoltamn.cpp:1534 #, fuzzy msgid "AF area illumination" msgstr "Tryb strefy AF" #: src/minoltamn.cpp:1536 msgid "Monitor Display Off" msgstr "" #: src/minoltamn.cpp:1537 msgid "Monitor display off" msgstr "" #: src/minoltamn.cpp:1539 #, fuzzy msgid "Record Display" msgstr "Wyświetlanie nałożone" #: src/minoltamn.cpp:1540 #, fuzzy msgid "Record display" msgstr "Wyświetlanie nałożone" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "" #: src/minoltamn.cpp:1545 #, fuzzy msgid "Exposure Indicator" msgstr "Indeks ekspozycji" #: src/minoltamn.cpp:1546 #, fuzzy msgid "Exposure indicator" msgstr "Indeks ekspozycji" #: src/minoltamn.cpp:1548 #, fuzzy msgid "AEL Exposure Indicator" msgstr "Indeks ekspozycji" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "" #: src/minoltamn.cpp:1551 #, fuzzy msgid "Exposure Bracketing Indicator Last" msgstr "Bracketing ekspozycji" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "" #: src/minoltamn.cpp:1557 #, fuzzy msgid "Flash Exposure Indicator" msgstr "Kompensacja ekspozycji błysku" #: src/minoltamn.cpp:1558 #, fuzzy msgid "Flash exposure indicator" msgstr "Kompensacja ekspozycji błysku" #: src/minoltamn.cpp:1560 #, fuzzy msgid "Flash Exposure Indicator Next" msgstr "Kompensacja ekspozycji błysku" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1563 #, fuzzy msgid "Flash Exposure Indicator Last" msgstr "Kompensacja ekspozycji błysku" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1569 #, fuzzy msgid "Focus Mode Switch" msgstr "Tryb ogniskowania" #: src/minoltamn.cpp:1570 #, fuzzy msgid "Focus mode switch" msgstr "Ustawienie trybu ogniskowania" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 msgid "Flash Type" msgstr "Rodzaj flesza" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 msgid "Flash type" msgstr "Rodzaj flesza" #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 msgid "AE Lock" msgstr "Blokada ekspozycji" #: src/minoltamn.cpp:1585 msgid "Color compensation filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:1587 src/tags.cpp:766 msgid "Battery Level" msgstr "Poziom baterii" #: src/minoltamn.cpp:1588 #, fuzzy msgid "Battery level" msgstr "Poziom baterii" #: src/minoltamn.cpp:1592 #, fuzzy msgid "Unknown Sony Camera Settings A100 tag" msgstr "Nieznany znacznik Canon Camera Settings 1" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 #, fuzzy msgid "Clear" msgstr "rok" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 #, fuzzy msgid "Deep" msgstr "Denver" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 #, fuzzy msgid "Light" msgstr "Prawy" #: src/minoltamn.cpp:1950 #, fuzzy msgid "Night View" msgstr "Scena nocna" #: src/minoltamn.cpp:1951 msgid "Autumn Leaves" msgstr "" #: src/minoltamn.cpp:1990 #, fuzzy msgid "Local" msgstr "Położenie" #: src/minoltamn.cpp:2005 #, fuzzy msgid "Top-Right" msgstr "Górny prawy" #: src/minoltamn.cpp:2007 #, fuzzy msgid "Bottom-Right" msgstr "Dolny prawy" #: src/minoltamn.cpp:2009 #, fuzzy msgid "Bottom-Left" msgstr "Dolny lewy" #: src/minoltamn.cpp:2011 #, fuzzy msgid "Top-Left" msgstr "Górny lewy" #: src/minoltamn.cpp:2012 #, fuzzy msgid "Far-Right" msgstr "Przycięcie prawo" #: src/minoltamn.cpp:2013 #, fuzzy msgid "Far-Left" msgstr "Przycięcie lewo" #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 msgid "Advanced Auto" msgstr "" #: src/minoltamn.cpp:2028 #, fuzzy msgid "Advanced Level" msgstr "Poziom czerni" #: src/minoltamn.cpp:2041 #, fuzzy msgid "AF" msgstr "AF-S" #: src/minoltamn.cpp:2042 #, fuzzy msgid "Release" msgstr "Data udostępnienia" #: src/minoltamn.cpp:2054 #, fuzzy msgid "RAW " msgstr "RAW" #: src/minoltamn.cpp:2055 #, fuzzy msgid "CRAW " msgstr "RAW" #: src/minoltamn.cpp:2058 #, fuzzy msgid "RAW+JPEG" msgstr "JPEG" #: src/minoltamn.cpp:2059 #, fuzzy msgid "CRAW+JPEG" msgstr "JPEG" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "" #: src/minoltamn.cpp:2116 #, fuzzy msgid "Compressed Raw" msgstr "Współczynnik kompresji" #: src/minoltamn.cpp:2117 #, fuzzy msgid "Compressed Raw + JPEG" msgstr "Rozmiar skompresowanego obrazka" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "" #: src/minoltamn.cpp:2132 msgid "Minolta AF 1.4x APO (D)" msgstr "" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "" #: src/minoltamn.cpp:2163 msgid "ISO Setting Used" msgstr "Użyte ustawienie ISO" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 msgid "High Key" msgstr "High Key" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "Low Key" #: src/nikonmn.cpp:80 #, fuzzy msgid "Extra High" msgstr "Ekstra dobra" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 msgid "Single area" msgstr "Pojedynczy obszar" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 msgid "Dynamic area" msgstr "Dynamiczny obszar" #: src/nikonmn.cpp:88 msgid "Dynamic area, closest subject" msgstr "Dynamiczny obszar, najbliższy obiekt" #: src/nikonmn.cpp:89 #, fuzzy msgid "Group dynamic" msgstr "Dynamiczna siatka" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 msgid "Single area (wide)" msgstr "Pojedynczy obszar (szeroki)" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 msgid "Dynamic area (wide)" msgstr "Dynamiczny obszar (szeroki)" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 msgid "Upper-left" msgstr "Górny lewy" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 msgid "Upper-right" msgstr "Górny prawy" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 msgid "Lower-left" msgstr "Dolny lewy" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 msgid "Lower-right" msgstr "Dolny prawy" #: src/nikonmn.cpp:108 #, fuzzy msgid "Left-most" msgstr "Lewy największy" #: src/nikonmn.cpp:109 #, fuzzy msgid "Right-most" msgstr "Prawy największy" #: src/nikonmn.cpp:143 msgid "Fire, manual" msgstr "Tak, ręczna" #: src/nikonmn.cpp:144 msgid "Fire, external" msgstr "Tak, zewnętrzna" #: src/nikonmn.cpp:145 #, fuzzy msgid "Fire, commander mode" msgstr "Tak, tryb zarządcy" #: src/nikonmn.cpp:146 msgid "Fire, TTL mode" msgstr "Tak, tryb TTL" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 msgid "Delay" msgstr "Opóźnienie" #: src/nikonmn.cpp:153 #, fuzzy msgid "PC Control" msgstr "Sterowanie podczerwienią" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 #, fuzzy msgid "Exposure Bracketing" msgstr "Bracketing ekspozycji" #: src/nikonmn.cpp:156 msgid "Auto ISO" msgstr "Automatyczne ISO" #: src/nikonmn.cpp:157 #, fuzzy msgid "White-Balance Bracketing" msgstr "Bracketing balansu bieli" #: src/nikonmn.cpp:158 #, fuzzy msgid "IR Control" msgstr "Sterowanie podczerwienią" #: src/nikonmn.cpp:159 #, fuzzy msgid "D-Lighting Bracketing" msgstr "Ciągły, wysoki" #: src/nikonmn.cpp:166 #, fuzzy msgid "PC control" msgstr "Sterowanie podczerwienią" #: src/nikonmn.cpp:167 msgid "Exposure bracketing" msgstr "Bracketing ekspozycji" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "" #: src/nikonmn.cpp:170 msgid "IR control" msgstr "Sterowanie podczerwienią" #: src/nikonmn.cpp:176 msgid "Auto release" msgstr "Automatyczne wyzwolenie" #: src/nikonmn.cpp:177 msgid "Manual release" msgstr "Ręczne wyzwolenie" #: src/nikonmn.cpp:182 msgid "Lossy (type 1)" msgstr "Stratna (typ 1)" #: src/nikonmn.cpp:183 src/tags.cpp:251 msgid "Uncompressed" msgstr "Bez kompresji" #: src/nikonmn.cpp:184 msgid "Lossless" msgstr "Bezstratna" #: src/nikonmn.cpp:185 msgid "Lossy (type 2)" msgstr "Stratna (typ 2)" #: src/nikonmn.cpp:191 msgid "B & W" msgstr "Czarno-biały" #: src/nikonmn.cpp:193 #, fuzzy msgid "Trim" msgstr "Przycięcie" #: src/nikonmn.cpp:194 msgid "Small picture" msgstr "Mały obrazek" #: src/nikonmn.cpp:195 msgid "D-Lighting" msgstr "D-Lighting" #: src/nikonmn.cpp:196 msgid "Red eye" msgstr "Efekt czerwonych oczu" #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 msgid "Cyanotype" msgstr "Cyjanotypia" #: src/nikonmn.cpp:198 msgid "Sky light" msgstr "Światło dzienne" #: src/nikonmn.cpp:199 msgid "Warm tone" msgstr "Ciepły odcień" #: src/nikonmn.cpp:200 msgid "Color custom" msgstr "Własny kolor" #: src/nikonmn.cpp:201 #, fuzzy msgid "Image overlay" msgstr "Tonacja obrazu" #: src/nikonmn.cpp:207 msgid "Minimal" msgstr "Minimalny" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 msgid "Nikon Makernote version" msgstr "Wersja Nikon Makernote" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 msgid "ISO Speed" msgstr "Czułość ISO" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 msgid "Sharpening" msgstr "Wyostrzenie" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 msgid "Image sharpening setting" msgstr "Ustawienie wyostrzenia obrazu" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 msgid "Focus" msgstr "Ogniskowanie" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 msgid "Flash Setting" msgstr "Ustawienie flesza" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 msgid "Flash setting" msgstr "Ustawienie flesza" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 msgid "ISO Selection" msgstr "Wybór ISO" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 msgid "ISO selection" msgstr "Wybór ISO" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 #, fuzzy msgid "Data Dump" msgstr "Zrzut danych 1" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 #, fuzzy msgid "Data dump" msgstr "Zrzut danych 1" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 msgid "Image Adjustment" msgstr "Dopasowanie obrazu" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 msgid "Image adjustment setting" msgstr "Ustawienie dopasowania obrazu" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "Obiektyw zewnętrzny" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 msgid "Auxiliary lens (adapter)" msgstr "Obiektyw zewnętrzny (adapter)" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 msgid "Manual focus distance" msgstr "Ręczna odległość ostrzenia" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 msgid "Digital zoom setting" msgstr "Ustawienie powiększenia cyfrowego" #: src/nikonmn.cpp:260 msgid "AF Focus Position" msgstr "Pozycja AF" #: src/nikonmn.cpp:261 msgid "AF focus position information" msgstr "Informacja o pozycji AF" #: src/nikonmn.cpp:265 msgid "Unknown Nikon1MakerNote tag" msgstr "Nieznany znacznik Nikon1MakerNote" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 msgid "Continuous autofocus" msgstr "Ciągły AF" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 msgid "Single autofocus" msgstr "Pojedynczy AF" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 msgid "Not used" msgstr "Nie używany" #: src/nikonmn.cpp:371 msgid "guess" msgstr "wartość szacowana" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "Podstawowa VGA" #: src/nikonmn.cpp:419 msgid "VGA Normal" msgstr "Normalna VGA" #: src/nikonmn.cpp:420 msgid "VGA Fine" msgstr "Dobra VGA" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "Podstawowa SXGA" #: src/nikonmn.cpp:422 msgid "SXGA Normal" msgstr "Normalna SXGA" #: src/nikonmn.cpp:423 msgid "SXGA Fine" msgstr "Dobra SXGA" #: src/nikonmn.cpp:435 msgid "Bright+" msgstr "Jasność+" #: src/nikonmn.cpp:436 msgid "Bright-" msgstr "Jasność-" #: src/nikonmn.cpp:437 msgid "Contrast+" msgstr "Kontrast+" #: src/nikonmn.cpp:438 msgid "Contrast-" msgstr "Kontrast-" #: src/nikonmn.cpp:457 msgid "Speedlight" msgstr "SpeedLight" #: src/nikonmn.cpp:497 msgid "Unknown Nikon2MakerNote tag" msgstr "Nieznany znacznik Nikon2MakerNote" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 msgid "Flash Device" msgstr "Urządzenie flesza" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 msgid "Flash device" msgstr "Urządzenie flesza" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 msgid "White Balance Bias" msgstr "Odchylenie balansu bieli" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 msgid "White balance bias" msgstr "Odchylenie balansu bieli" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB Levels" msgstr "Poziomy balansu bieli RB" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB levels" msgstr "Poziomy balansu bieli RB" #: src/nikonmn.cpp:544 #, fuzzy msgid "Program Shift" msgstr "Program Tv Shift" #: src/nikonmn.cpp:544 #, fuzzy msgid "Program shift" msgstr "Program-shift" #: src/nikonmn.cpp:545 msgid "Exposure Difference" msgstr "Różnica ekspozycji" #: src/nikonmn.cpp:545 msgid "Exposure difference" msgstr "Różnica ekspozycji" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 msgid "Pointer to a preview image" msgstr "Wskaźnik podglądu obrazka" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 msgid "Offset to an IFD containing a preview image" msgstr "Przesunięcie do IFD zawierającego obrazek podglądu" #: src/nikonmn.cpp:549 msgid "Flash Comp" msgstr "Kompensacja błysku" #: src/nikonmn.cpp:549 msgid "Flash compensation setting" msgstr "Ustawienie kompensacji błysku" #: src/nikonmn.cpp:551 msgid "Image Boundary" msgstr "Granice obrazu" #: src/nikonmn.cpp:551 msgid "Image boundary" msgstr "Granice obrazu" #: src/nikonmn.cpp:552 #, fuzzy msgid "Flash exposure comp" msgstr "Kompensacja ekspozycji błysku" #: src/nikonmn.cpp:553 msgid "Flash Bracket Comp" msgstr "Kompensacja bracketingu błysku" #: src/nikonmn.cpp:553 msgid "Flash bracket compensation applied" msgstr "Zastosowana kompensacja bracketingu błysku" #: src/nikonmn.cpp:554 msgid "Exposure Bracket Comp" msgstr "Kompensacja bracketingu ekspozycji" #: src/nikonmn.cpp:554 msgid "AE bracket compensation applied" msgstr "Zastosowana kompensacja bracketingu automatycznej ekspozycji" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 msgid "Image Processing" msgstr "Przetwarzanie obrazu" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 msgid "Image processing" msgstr "Przetwarzanie obrazu" #: src/nikonmn.cpp:556 #, fuzzy msgid "Crop High Speed" msgstr "Duża szybkość" #: src/nikonmn.cpp:556 #, fuzzy msgid "Crop high speed" msgstr "1-strefowy (wysoka czułość)" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure Tuning" msgstr "Ostrzeżenie ekspozycji" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure tuning" msgstr "Ostrzeżenie ekspozycji" #: src/nikonmn.cpp:560 msgid "VR Info" msgstr "Informacja o redukcji wstrząsów" #: src/nikonmn.cpp:560 msgid "VR info" msgstr "Informacja o redukcji wstrząsów" #: src/nikonmn.cpp:561 msgid "Image Authentication" msgstr "Autoryzacja obrazu" #: src/nikonmn.cpp:561 msgid "Image authentication" msgstr "Autoryzacja obrazu" #: src/nikonmn.cpp:562 #, fuzzy msgid "ActiveD-Lighting" msgstr "D-Lighting" #: src/nikonmn.cpp:562 #, fuzzy msgid "ActiveD-lighting" msgstr "D-Lighting" #: src/nikonmn.cpp:563 #, fuzzy msgid "Picture Control" msgstr "Informacje o zdjęciu" #: src/nikonmn.cpp:563 #, fuzzy msgid " Picture control" msgstr "Informacje o zdjęciu" #: src/nikonmn.cpp:564 src/properties.cpp:1387 msgid "World Time" msgstr "Czas światowy" #: src/nikonmn.cpp:564 msgid "World time" msgstr "Czas światowy" #: src/nikonmn.cpp:565 msgid "ISO Info" msgstr "Informacja ISO" #: src/nikonmn.cpp:565 msgid "ISO info" msgstr "Informacja ISO" #: src/nikonmn.cpp:566 msgid "Vignette Control" msgstr "Kontrola winietowania" #: src/nikonmn.cpp:566 msgid "Vignette control" msgstr "Kontrola winietowania" #: src/nikonmn.cpp:568 msgid "Tone Compensation" msgstr "Kompensacja tonów" #: src/nikonmn.cpp:568 msgid "Tone compensation" msgstr "Kompensacja tonów" #: src/nikonmn.cpp:574 msgid "Mode of flash used" msgstr "Użyty tryb flesza" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 msgid "Shooting Mode" msgstr "Tryb robienia zdjęcia" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 msgid "Shooting mode" msgstr "Tryb robienia zdjęcia" #: src/nikonmn.cpp:577 #, fuzzy msgid "Auto Bracket Release" msgstr "Automatyczne wyzwolenie" #: src/nikonmn.cpp:577 #, fuzzy msgid "Auto bracket release" msgstr "Automatyczne wyzwolenie" #: src/nikonmn.cpp:578 #, fuzzy msgid "Lens FStops" msgstr "Apertura obiektywu" #: src/nikonmn.cpp:579 msgid "Contrast Curve" msgstr "Krzywa kontrastu" #: src/nikonmn.cpp:579 msgid "Contrast curve" msgstr "Krzywa kontrastu" #: src/nikonmn.cpp:580 msgid "Color Hue" msgstr "Odcień koloru" #: src/nikonmn.cpp:580 msgid "Color hue" msgstr "Odcień koloru" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 msgid "Scene mode" msgstr "Rodzaj sceny" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 msgid "Light Source" msgstr "Źródło światła" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 msgid "Light source" msgstr "Źródło światła" #: src/nikonmn.cpp:583 msgid "Shot info" msgstr "Informacje o zdjęciu" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 msgid "Hue Adjustment" msgstr "Dopasowanie odcieni" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 msgid "Hue adjustment" msgstr "Dopasowanie odcieni" #: src/nikonmn.cpp:585 msgid "NEF Compression" msgstr "Kompresja NEF" #: src/nikonmn.cpp:585 msgid "NEF compression" msgstr "Kompresja NEF" #: src/nikonmn.cpp:588 src/tags.cpp:905 msgid "Linearization Table" msgstr "Tabela linearyzacji" #: src/nikonmn.cpp:588 msgid "Linearization table" msgstr "Tabela linearyzacji" #: src/nikonmn.cpp:589 msgid "Color Balance" msgstr "Balans kolorów" #: src/nikonmn.cpp:589 msgid "Color balance" msgstr "Balans kolorów" #: src/nikonmn.cpp:590 msgid "Lens Data" msgstr "Dane obiektywu" #: src/nikonmn.cpp:590 msgid "Lens data settings" msgstr "Ustawienia danych obiektywu" #: src/nikonmn.cpp:591 msgid "Raw Image Center" msgstr "Środek obrazu Raw" #: src/nikonmn.cpp:591 msgid "Raw image center" msgstr "Środek obrazu Raw" #: src/nikonmn.cpp:592 msgid "Sensor Pixel Size" msgstr "Rozmiar sensora" #: src/nikonmn.cpp:592 msgid "Sensor pixel size" msgstr "Rozmiar sensora" #: src/nikonmn.cpp:594 msgid "Scene Assist" msgstr "Wspomaganie AF" #: src/nikonmn.cpp:594 msgid "Scene assist" msgstr "Pomoc automatycznego ostrzenia" #: src/nikonmn.cpp:595 msgid "Retouch History" msgstr "Historia retuszu" #: src/nikonmn.cpp:595 msgid "Retouch history" msgstr "Historia retuszu" #: src/nikonmn.cpp:597 msgid "Serial NO" msgstr "Numer seryjny" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "Numer seryjny aparatu, zwykle zaczyna się od \"NO= \"" #: src/nikonmn.cpp:598 msgid "Image Data Size" msgstr "Rozmiar danych obrazu" #: src/nikonmn.cpp:598 msgid "Image data size" msgstr "Rozmiar danych obrazu" #: src/nikonmn.cpp:600 msgid "Image Count" msgstr "Licznik zdjęć" #: src/nikonmn.cpp:600 msgid "Image count" msgstr "Licznik zdjęć" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted Image Count" msgstr "Licznik usuniętych zdjęć" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted image count" msgstr "Licznik usuniętych zdjęć" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 msgid "Shutter Count" msgstr "Licznik migawki" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "Liczba zdjęć wykonanych aparatem" #: src/nikonmn.cpp:603 msgid "Flash info" msgstr "Informacja o fleszu" #: src/nikonmn.cpp:604 msgid "Image Optimization" msgstr "Optymalizacja obrazu" #: src/nikonmn.cpp:604 msgid "Image optimization" msgstr "Optymalizacja obrazu" #: src/nikonmn.cpp:606 #, fuzzy msgid "Program Variation" msgstr "Wariacje programu" #: src/nikonmn.cpp:606 #, fuzzy msgid "Program variation" msgstr "Wariacje programu" #: src/nikonmn.cpp:608 msgid "AF Response" msgstr "Odpowiedź AF" #: src/nikonmn.cpp:608 msgid "AF response" msgstr "Odpowiedź AF" #: src/nikonmn.cpp:609 msgid "Multi exposure" msgstr "Wielokrotna ekspozycja" #: src/nikonmn.cpp:610 msgid "High ISO Noise Reduction" msgstr "Redukcja szumów przy wysokim ISO" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 msgid "Toning effect" msgstr "Efekt tonowania" #: src/nikonmn.cpp:612 msgid "AF info 2" msgstr "Informacja AF 2" #: src/nikonmn.cpp:613 msgid "File info" msgstr "Informacja o pliku" #: src/nikonmn.cpp:614 #, fuzzy msgid "AF tune" msgstr "Dostrojenie AF" #: src/nikonmn.cpp:617 #, fuzzy msgid "Capture Data" msgstr "Przechwycone dane" #: src/nikonmn.cpp:617 #, fuzzy msgid "Capture data" msgstr "Przechwycone dane" #: src/nikonmn.cpp:618 #, fuzzy msgid "Capture Version" msgstr "Wersja programu" #: src/nikonmn.cpp:618 #, fuzzy msgid "Capture version" msgstr "Wersja programu" #: src/nikonmn.cpp:620 #, fuzzy msgid "Capture Offsets" msgstr "Przesunięcia (piksele * 2)" #: src/nikonmn.cpp:620 #, fuzzy msgid "Capture offsets" msgstr "Przesunięcia (piksele * 2)" #: src/nikonmn.cpp:621 #, fuzzy msgid "Scan IFD" msgstr "Identyfikator zapisu" #: src/nikonmn.cpp:622 #, fuzzy msgid "ICC profile" msgstr "Profil CC" #: src/nikonmn.cpp:623 #, fuzzy msgid "Capture output" msgstr "Przechwycone dane" #: src/nikonmn.cpp:625 msgid "Unknown Nikon3MakerNote tag" msgstr "Nieznany znacznik Nikon3MakerNote" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 msgid "No" msgstr "Nie" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "Tak" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "R/M/D" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "M/D/R" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "D/M/R" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration Reduction" msgstr "Redukcja wstrząsów" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration reduction" msgstr "Redukcja wstrząsów" #: src/nikonmn.cpp:657 msgid "Unknown Nikon Vibration Reduction Tag" msgstr "Nieznany znacznik Nikon Vibration Reduction" #: src/nikonmn.cpp:667 msgid "Default Settings" msgstr "Ustawienia standardowe" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 msgid "Quick Adjust" msgstr "Szybkie dopasowanie" #: src/nikonmn.cpp:669 msgid "Full Control" msgstr "Pełna kontrola" #: src/nikonmn.cpp:690 #, fuzzy msgid "Blue-green" msgstr "Niebieski-zielony" #: src/nikonmn.cpp:692 #, fuzzy msgid "Purple-blue" msgstr "Purpurowy-niebieski" #: src/nikonmn.cpp:693 #, fuzzy msgid "Red-purple" msgstr "Czerwony-purpurowy" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 msgid "Name" msgstr "Nazwa" #: src/nikonmn.cpp:701 #, fuzzy msgid "Base" msgstr "Podstawa" #: src/nikonmn.cpp:702 msgid "Adjust" msgstr "Dopasowanie" #: src/nikonmn.cpp:703 msgid "Quick adjust" msgstr "Szybkie dopasowanie" #: src/nikonmn.cpp:709 msgid "Filter effect" msgstr "Efekt filtra" #: src/nikonmn.cpp:711 msgid "Toning Saturation" msgstr "Nasycenie kolorów" #: src/nikonmn.cpp:711 msgid "Toning saturation" msgstr "Nasycenie kolorów" #: src/nikonmn.cpp:713 msgid "Unknown Nikon Picture Control Tag" msgstr "Nieznany znacznik Nikon Picture Control" #: src/nikonmn.cpp:730 #, fuzzy msgid "AF Fine Tune" msgstr "Dostrojenie AF" #: src/nikonmn.cpp:730 #, fuzzy msgid "AF fine tune" msgstr "Dostrojenie AF" #: src/nikonmn.cpp:731 #, fuzzy msgid "AF Fine Tune Index" msgstr "Dostrojenie AF" #: src/nikonmn.cpp:731 #, fuzzy msgid "AF fine tune index" msgstr "Dostrojenie AF" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF Fine Tune Adjustment" msgstr "Dostrojenie AF" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF fine tune adjustment" msgstr "Dostrojenie AF" #: src/nikonmn.cpp:734 #, fuzzy msgid "Unknown Nikon AF Fine Tune Tag" msgstr "Nieznany znacznik Nikon ISO Info" #: src/nikonmn.cpp:744 msgid "Timezone" msgstr "Strefa czasowa" #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight Savings" msgstr "Światło dzienne" #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight savings" msgstr "Światło dzienne" #: src/nikonmn.cpp:746 msgid "Date Display Format" msgstr "Format wyświetlania daty" #: src/nikonmn.cpp:746 msgid "Date display format" msgstr "Formularz wyświetlania daty" #: src/nikonmn.cpp:748 msgid "Unknown Nikon World Time Tag" msgstr "Nieznany znacznik Nikon World Time" #: src/nikonmn.cpp:759 msgid "Hi 0.3" msgstr "" #: src/nikonmn.cpp:760 msgid "Hi 0.5" msgstr "" #: src/nikonmn.cpp:761 msgid "Hi 0.7" msgstr "" #: src/nikonmn.cpp:762 #, fuzzy msgid "Hi 1.0" msgstr "HV10" #: src/nikonmn.cpp:763 msgid "Hi 1.3" msgstr "" #: src/nikonmn.cpp:764 msgid "Hi 1.5" msgstr "" #: src/nikonmn.cpp:765 msgid "Hi 1.7" msgstr "" #: src/nikonmn.cpp:766 msgid "Hi 2.0" msgstr "" #: src/nikonmn.cpp:767 msgid "Hi 2.3" msgstr "" #: src/nikonmn.cpp:768 msgid "Hi 2.5" msgstr "" #: src/nikonmn.cpp:769 msgid "Hi 2.7" msgstr "" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "" #: src/nikonmn.cpp:778 msgid "Lo 1.0" msgstr "" #: src/nikonmn.cpp:784 msgid "ISO Expansion" msgstr "Rozszerzenie ISO" #: src/nikonmn.cpp:784 msgid "ISO expansion" msgstr "Rozszerzenie ISO" #: src/nikonmn.cpp:785 msgid "ISO 2" msgstr "ISO 2" #: src/nikonmn.cpp:786 msgid "ISO Expansion 2" msgstr "Rozszerzenie ISO 2" #: src/nikonmn.cpp:786 msgid "ISO expansion 2" msgstr "Rozszerzenie ISO 2" #: src/nikonmn.cpp:788 msgid "Unknown Nikon Iso Info Tag" msgstr "Nieznany znacznik Nikon ISO Info" #: src/nikonmn.cpp:798 #, fuzzy msgid "Single Area" msgstr "Pojedynczy obszar" #: src/nikonmn.cpp:799 #, fuzzy msgid "Dynamic Area" msgstr "Dynamiczny obszar" #: src/nikonmn.cpp:800 #, fuzzy msgid "Dynamic Area, Closest Subject" msgstr "Dynamiczny obszar, najbliższy obiekt" #: src/nikonmn.cpp:801 #, fuzzy msgid "Group Dynamic" msgstr "Dynamiczna siatka" #: src/nikonmn.cpp:802 #, fuzzy msgid "Single Area (wide)" msgstr "Pojedynczy obszar (szeroki)" #: src/nikonmn.cpp:803 #, fuzzy msgid "Dynamic Area (wide)" msgstr "Dynamiczny obszar (szeroki)" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 msgid "Mid-left" msgstr "Środek-lewo" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 msgid "Mid-right" msgstr "Środek-prawo" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 #, fuzzy msgid "Far Left" msgstr "Przycięcie lewo" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 #, fuzzy msgid "Far Right" msgstr "Przycięcie prawo" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 msgid "AF area mode" msgstr "Tryb strefy AF" #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 msgid "AF point" msgstr "Punkt AF" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF Points In Focus" msgstr "Użyte punkty AF" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF points in focus" msgstr "Użyte punkty AF" #: src/nikonmn.cpp:842 msgid "Unknown Nikon Auto Focus Tag" msgstr "Nieznany znacznik Nikon Auto Focus" #: src/nikonmn.cpp:853 #, fuzzy msgid "On (51-point)" msgstr "Włączone (1)" #: src/nikonmn.cpp:854 #, fuzzy msgid "On (11-point)" msgstr "Włączone (1)" #: src/nikonmn.cpp:855 #, fuzzy msgid "On (39-point)" msgstr "Włączone (1)" #: src/nikonmn.cpp:856 #, fuzzy msgid "On (73-point)" msgstr "Włączone (1)" #: src/nikonmn.cpp:857 #, fuzzy msgid "On (73-point, new)" msgstr "Włączone (1)" #: src/nikonmn.cpp:858 #, fuzzy msgid "On (105-point)" msgstr "Włączone (1)" #: src/nikonmn.cpp:864 #, fuzzy msgid "Contrast Detect AF" msgstr "Ustawienie kontrastu" #: src/nikonmn.cpp:864 #, fuzzy msgid "Contrast detect AF" msgstr "Ustawienie kontrastu" #: src/nikonmn.cpp:866 #, fuzzy msgid "Phase Detect AF" msgstr "Obszar wykrywania twarzy" #: src/nikonmn.cpp:866 #, fuzzy msgid "Phase detect AF" msgstr "Wykrywanie twarzy" #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF Point" msgstr "Punkt szarości" #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF point" msgstr "Punkt szarości" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF Image Width" msgstr "Szerokość obrazu" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF image width" msgstr "Szerokość obrazu" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF Image Height" msgstr "Wysokość obrazu" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF image height" msgstr "Wysokość obrazu" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF Area X Position" msgstr "Pozycja AF" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF area x position" msgstr "Pozycja AF" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF Area Y Position" msgstr "Pozycja AF" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF area y position" msgstr "Pozycja AF" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF Area Width" msgstr "Tryb strefy AF" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF area width" msgstr "Tryb strefy AF" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF Area Height" msgstr "Tryb strefy AF" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF area height" msgstr "Przycięcie prawo" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast Detect AF In Focus" msgstr "Ustawienie kontrastu" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast detect AF in focus" msgstr "Ustawienie kontrastu" #: src/nikonmn.cpp:877 #, fuzzy msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "Nieznany znacznik Nikon Auto Focus" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory Number" msgstr "Liczba porządkowa" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory number" msgstr "Liczba porządkowa" #: src/nikonmn.cpp:891 #, fuzzy msgid "Unknown Nikon File Info Tag" msgstr "Nieznany znacznik Nikon ISO Info" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 msgid "Multiple Exposure" msgstr "Wielokrotna ekspozycja" #: src/nikonmn.cpp:903 #, fuzzy msgid "Image Overlay" msgstr "Numer zdjęcia" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi Exposure Mode" msgstr "Tryb ekspozycji" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi exposure mode" msgstr "Wielokrotna ekspozycja" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi Exposure Shots" msgstr "Wielokrotna ekspozycja" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi exposure shots" msgstr "Wielokrotna ekspozycja" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi Exposure Auto Gain" msgstr "Wielokrotna ekspozycja" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi exposure auto gain" msgstr "Wielokrotna ekspozycja" #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 #, fuzzy msgid "Unknown Nikon Multi Exposure Tag" msgstr "Nieznany znacznik Nikon Auto Focus" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 msgid "Internal" msgstr "Wewnętrzny" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "" #: src/nikonmn.cpp:991 #, fuzzy msgid "iTTL-BL" msgstr "TTL" #: src/nikonmn.cpp:992 #, fuzzy msgid "iTTL" msgstr "TTL" #: src/nikonmn.cpp:993 #, fuzzy msgid "Auto Aperture" msgstr "Przysłona" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 #, fuzzy msgid "Repeating Flash" msgstr "Klasa wykonania" #: src/nikonmn.cpp:1004 #, fuzzy msgid "Bounce Flash" msgstr "Bez błysku" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "" #: src/nikonmn.cpp:1018 #, fuzzy msgid "Amber" msgstr "Liczba F" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash Source" msgstr "Źródło pliku" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash source" msgstr "Źródło pliku" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 #, fuzzy msgid "0x0005" msgstr "1000" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External Flash Firmware" msgstr "Pokrycie zewnętrznego flesza" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External flash firmware" msgstr "Tryb zewnętrznego flesza" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External Flash Flags" msgstr "Zewnętrzny flesz" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External flash flags" msgstr "Zewnętrzny flesz" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash Focal Length" msgstr "Maksymalna ogniskowa" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash focal length" msgstr "Maksymalna ogniskowa" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 #, fuzzy msgid "Repeating flash rate" msgstr "Zmianie nazwy pliku na" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 #, fuzzy msgid "Repeating flash count" msgstr "Ręczne sterowanie lampą" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN Distance" msgstr "Odległość ostrzenia" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN distance" msgstr "Odległość ostrzenia" #: src/nikonmn.cpp:1032 msgid "Flash Group A Control Mode" msgstr "" #: src/nikonmn.cpp:1032 msgid "Flash group a control mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash Group B Control Mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash group b control mode" msgstr "" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash Color Filter" msgstr "Filtr kolorów" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash color filter" msgstr "Filtr kolorów" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 msgid "Shutter count" msgstr "Licznik migawki" #: src/nikonmn.cpp:1088 msgid "Unknown Nikon Shot Info D80 Tag" msgstr "Nieznany znacznik Nikon Shot Info D80" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 msgid "Flash Level" msgstr "Poziom flesza" #: src/nikonmn.cpp:1100 msgid "Flash level" msgstr "Poziom flesza" #: src/nikonmn.cpp:1102 msgid "Unknown Nikon Shot Info D40 Tag" msgstr "Nieznany znacznik Nikon Shot Info D40" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 #, fuzzy msgid "AF Fine Tune Adj" msgstr "Dostrojenie AF" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 #, fuzzy msgid "AF fine tune adj" msgstr "Dostrojenie AF" #: src/nikonmn.cpp:1162 msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "Nieznany znacznik Nikon Shot Info D300 (a)" #: src/nikonmn.cpp:1222 msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "Nieznany znacznik Nikon Shot Info D300 (b)" #: src/nikonmn.cpp:1235 msgid "On (3)" msgstr "Włączone (3)" #: src/nikonmn.cpp:1248 msgid "Shutter Count 1" msgstr "Licznik migawki 1" #: src/nikonmn.cpp:1248 msgid "Shutter count 1" msgstr "Licznik migawki 1" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration Reduction 1" msgstr "Redukcja wstrząsów 2" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration reduction 1" msgstr "Redukcja wstrząsów 2" #: src/nikonmn.cpp:1252 msgid "Shutter Count 2" msgstr "Licznik migawki 2" #: src/nikonmn.cpp:1252 msgid "Shutter count 2" msgstr "Licznik migawki 2" #: src/nikonmn.cpp:1253 msgid "Vibration Reduction 2" msgstr "Redukcja wstrząsów 2" #: src/nikonmn.cpp:1253 msgid "Vibration reduction 2" msgstr "Redukcja wstrząsów 2" #: src/nikonmn.cpp:1257 msgid "Unknown Nikon Shot Info Tag" msgstr "Nieznany znacznik Nikon Shot Info" #: src/nikonmn.cpp:1268 msgid "WB RBGG Levels" msgstr "Poziomy balansu bieli RBGG" #: src/nikonmn.cpp:1268 msgid "WB RBGG levels" msgstr "Poziomy balansu bieli RBGG" #: src/nikonmn.cpp:1270 msgid "Unknown Nikon Color Balance 1 Tag" msgstr "Nieznany znacznik Nikon Color Balance 1" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB Levels" msgstr "Poziomy balansu bieli RGGB" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB levels" msgstr "Poziomy balansu bieli RGGB" #: src/nikonmn.cpp:1283 msgid "Unknown Nikon Color Balance 2 Tag" msgstr "Nieznany znacznik Nikon Color Balance 2" #: src/nikonmn.cpp:1296 msgid "Unknown Nikon Color Balance 2a Tag" msgstr "Nieznany znacznik Nikon Color Balance 2a" #: src/nikonmn.cpp:1309 msgid "Unknown Nikon Color Balance 2b Tag" msgstr "Nieznany znacznik Nikon Color Balance 2b" #: src/nikonmn.cpp:1320 msgid "WB RGBG Levels" msgstr "Poziomy balansu bieli RGBG" #: src/nikonmn.cpp:1320 msgid "WB RGBG levels" msgstr "Poziomy balansu bieli RGBG" #: src/nikonmn.cpp:1322 msgid "Unknown Nikon Color Balance 3 Tag" msgstr "Nieznany znacznik Nikon Color Balance 3" #: src/nikonmn.cpp:1333 msgid "WB GRBG Levels" msgstr "Poziomy balansu bieli GRBG" #: src/nikonmn.cpp:1333 msgid "WB GRBG levels" msgstr "Poziomy balansu bieli GRBG" #: src/nikonmn.cpp:1335 msgid "Unknown Nikon Color Balance 4 Tag" msgstr "Nieznany znacznik Nikon Color Balance 4" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID Number" msgstr "Numer identyfikacyjny obiektywu" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID number" msgstr "Numer identyfikacyjny obiektywu" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 msgid "Lens F-Stops" msgstr "Apertura obiektywu" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 msgid "Lens F-stops" msgstr "Apertura obiektywu" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min Focal Length" msgstr "Minimalna ogniskowa" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min focal length" msgstr "Minimalna ogniskowa" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max Focal Length" msgstr "Maksymalna ogniskowa" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max focal length" msgstr "Maksymalna ogniskowa" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 msgid "Max Aperture At Min Focal" msgstr "Maksymalna apertura przy minimalnej ogniskowej" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 msgid "Max aperture at min focal" msgstr "Maksymalna apertura przy minimalnej ogniskowej" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 msgid "Max Aperture At Max Focal" msgstr "Maksymalna apertura przy maksymalnej ogniskowej" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 msgid "Max aperture at max focal" msgstr "Maksymalna apertura przy maksymalnej ogniskowej" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU Version" msgstr "Wersja MCU" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU version" msgstr "Wersja MCU" #: src/nikonmn.cpp:1354 msgid "Unknown Nikon Lens Data 1 Tag" msgstr "Nieznany znacznik Nikon Lens Data 1" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit Pupil Position" msgstr "Pozycja przełącznika DEC" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit pupil position" msgstr "Pozycja przełącznika DEC" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF Aperture" msgstr "Przysłona" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF aperture" msgstr "Przysłona" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective Max Aperture" msgstr "Największa efektywna apertura" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective max aperture" msgstr "Największa efektywna apertura" #: src/nikonmn.cpp:1379 msgid "Unknown Nikon Lens Data 2 Tag" msgstr "Nieznany znacznik Nikon Lens Data 2" #: src/nikonmn.cpp:1399 msgid "Max aperture at min focal length" msgstr "Maksymalna apertura przy minimalnej ogniskowej" #: src/nikonmn.cpp:1400 msgid "Max aperture at max focal length" msgstr "Maksymalna apertura przy maksymalnej ogniskowej" #: src/nikonmn.cpp:1404 msgid "Unknown Nikon Lens Data 3 Tag" msgstr "Nieznany znacznik Nikon Lens Data 3" #: src/nikonmn.cpp:1590 msgid "Closest subject" msgstr "Najbliższy obiekt" #: src/nikonmn.cpp:1591 #, fuzzy msgid "Group dynamic-AF" msgstr "Dynamiczna zmiana rozmiaru siatki" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "brak" #: src/nikonmn.cpp:1624 msgid "used" msgstr "użyto" #: src/nikonmn.cpp:1650 msgid "All 11 Points" msgstr "Wszystkie 11 punktów" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 msgid "Single-frame" msgstr "" #: src/olympusmn.cpp:71 msgid "Standard Quality (SQ)" msgstr "Standardowa jakość (SQ)" #: src/olympusmn.cpp:72 msgid "High Quality (HQ)" msgstr "Wysoka jakość (HQ)" #: src/olympusmn.cpp:73 msgid "Super High Quality (SHQ)" msgstr "Bardzo wysoka jakość (SHQ)" #: src/olympusmn.cpp:88 msgid "On (preset)" msgstr "Włączony (predefiniowany)" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 msgid "Sport" msgstr "Sport" #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 msgid "Landscape+Portrait" msgstr "Portret na tle krajobrazu" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 msgid "Self Portrait" msgstr "Autoportret" #: src/olympusmn.cpp:102 msgid "2 in 1" msgstr "2-w-1" #: src/olympusmn.cpp:105 msgid "Night+Portrait" msgstr "Portret nocny" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "Żywność" #: src/olympusmn.cpp:112 msgid "Documents" msgstr "Dokumenty" #: src/olympusmn.cpp:114 #, fuzzy msgid "Shoot & Select" msgstr "Strzelanie 1" #: src/olympusmn.cpp:115 msgid "Beach & Snow" msgstr "Plaża i śnieg" #: src/olympusmn.cpp:116 msgid "Self Portrait+Timer" msgstr "Autoportret z samowyzwalaczem" #: src/olympusmn.cpp:117 msgid "Candle" msgstr "Świeca" #: src/olympusmn.cpp:118 msgid "Available Light" msgstr "Światło zastane" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "Za szybą" #: src/olympusmn.cpp:120 msgid "My Mode" msgstr "Mój tryb" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 msgid "Pet" msgstr "Zwierzę domowe" #: src/olympusmn.cpp:122 msgid "Underwater Wide1" msgstr "Podwodny szeroki 1" #: src/olympusmn.cpp:123 msgid "Underwater Macro" msgstr "Podwodne makro" #: src/olympusmn.cpp:124 #, fuzzy msgid "Shoot & Select1" msgstr "Strzelanie 1" #: src/olympusmn.cpp:125 #, fuzzy msgid "Shoot & Select2" msgstr "Strzelanie 2" #: src/olympusmn.cpp:127 msgid "Digital Image Stabilization" msgstr "Cyfrowa stabilizacja obrazu" #: src/olympusmn.cpp:128 msgid "Auction" msgstr "Aukcja" #: src/olympusmn.cpp:131 msgid "Underwater Wide2" msgstr "Podwodny szeroki 2" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "Dzieci" #: src/olympusmn.cpp:135 msgid "Nature Macro" msgstr "Przyrodnicze makro" #: src/olympusmn.cpp:136 msgid "Underwater Snapshot" msgstr "Zdjęcie podwodne" #: src/olympusmn.cpp:137 #, fuzzy msgid "Shooting Guide" msgstr "Tryb robienia zdjęcia" #: src/olympusmn.cpp:145 msgid "Internal + External" msgstr "Wewnętrzny + Zewnętrzny" #: src/olympusmn.cpp:176 msgid "Interlaced" msgstr "Z przeplotem" #: src/olympusmn.cpp:177 msgid "Progressive" msgstr "Przyrostowy" #: src/olympusmn.cpp:188 msgid "Thumbnail Image" msgstr "Obraz miniatury" #: src/olympusmn.cpp:189 msgid "Thumbnail image" msgstr "Obraz miniatury" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body Firmware Version" msgstr "Wersja firmware korpusu" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body firmware version" msgstr "Wersja firmware korpusu" #: src/olympusmn.cpp:195 msgid "Special Mode" msgstr "Tryb specjalny" #: src/olympusmn.cpp:196 msgid "Picture taking mode" msgstr "Tryb robienia zdjęcia" #: src/olympusmn.cpp:204 msgid "Black & White Mode" msgstr "Tryb czarno-biały" #: src/olympusmn.cpp:205 msgid "Black and white mode" msgstr "Tryb czarno-biały" #: src/olympusmn.cpp:208 msgid "Digital zoom ratio" msgstr "Współczynnik powiększenia cyfrowego" #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 #, fuzzy msgid "Focal Plane Diagonal" msgstr "Rozdzielczość ogniskowej w płaszczyźnie X" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 #, fuzzy msgid "Focal plane diagonal" msgstr "Rozdzielczość ogniskowej w płaszczyźnie X" #: src/olympusmn.cpp:213 msgid "Lens Distortion Parameters" msgstr "Parametry dystorsji soczewki" #: src/olympusmn.cpp:214 msgid "Lens distortion parameters" msgstr "Parametry dystorsji soczewki obiektywu" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 msgid "Camera Type" msgstr "Rodzaj aparatu" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 msgid "Camera type" msgstr "Rodzaj aparatu" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "Dane w formacie ASCII jak w [PictureInfo]" #: src/olympusmn.cpp:222 msgid "Camera ID" msgstr "ID aparatu" #: src/olympusmn.cpp:223 msgid "Camera ID data" msgstr "Dane identyfikacyjne aparatu" #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "Oprogramowanie" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 msgid "Preview Image" msgstr "Obraz podglądu" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 msgid "Preview image" msgstr "Obraz podglądu" #: src/olympusmn.cpp:237 #, fuzzy msgid "Pre Capture Frames" msgstr "Nazwy płyt" #: src/olympusmn.cpp:238 #, fuzzy msgid "Pre-capture frames" msgstr "Nazwy płyt" #: src/olympusmn.cpp:240 #, fuzzy msgid "White Board" msgstr "Balans bieli" #: src/olympusmn.cpp:241 #, fuzzy msgid "White board" msgstr "Balans bieli" #: src/olympusmn.cpp:243 #, fuzzy msgid "One Touch WB" msgstr "Automatyczna korekcja balansu bieli" #: src/olympusmn.cpp:244 #, fuzzy msgid "One touch white balance" msgstr "Automatyczna korekcja balansu bieli" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 msgid "White Balance Bracket" msgstr "Bracketing balansu bieli" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 msgid "White balance bracket" msgstr "Bracketing balansu bieli" #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 msgid "Firmware" msgstr "Firmware" #: src/olympusmn.cpp:261 msgid "Data Dump 1" msgstr "Zrzut danych 1" #: src/olympusmn.cpp:262 msgid "Various camera settings 1" msgstr "Różne ustawienia aparatu 1" #: src/olympusmn.cpp:264 msgid "Data Dump 2" msgstr "Zrzut danych 2" #: src/olympusmn.cpp:265 msgid "Various camera settings 2" msgstr "Różne ustawienia aparatu 2" #: src/olympusmn.cpp:268 msgid "Shutter speed value" msgstr "Czas otwarcia migawki" #: src/olympusmn.cpp:271 msgid "ISO speed value" msgstr "Czułość ISO" #: src/olympusmn.cpp:274 msgid "Aperture value" msgstr "Przysłona" #: src/olympusmn.cpp:277 msgid "Brightness value" msgstr "Jasność" #: src/olympusmn.cpp:285 #, fuzzy msgid "Bracket" msgstr "Bracketing" #: src/olympusmn.cpp:286 msgid "Exposure compensation value" msgstr "Wartość kompensacji ekspozycji" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 msgid "Sensor Temperature" msgstr "Temperatura czujnika" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 msgid "Sensor temperature" msgstr "Temperatura czujnika" #: src/olympusmn.cpp:291 msgid "Lens Temperature" msgstr "Temperatura obiektywu" #: src/olympusmn.cpp:292 msgid "Lens temperature" msgstr "Temperatura obiektywu" #: src/olympusmn.cpp:294 #, fuzzy msgid "Light Condition" msgstr "Funkcja koloru" #: src/olympusmn.cpp:295 #, fuzzy msgid "Light condition" msgstr "Funkcja koloru" #: src/olympusmn.cpp:297 #, fuzzy msgid "Focus Range" msgstr "Obszar ogniskowania" #: src/olympusmn.cpp:298 #, fuzzy msgid "Focus range" msgstr "Obszar ogniskowania" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "Powiększenie" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 msgid "Zoom step count" msgstr "Liczba kroków powiększania" #: src/olympusmn.cpp:309 #, fuzzy msgid "Macro Focus" msgstr "Śledzące ostrzenie" #: src/olympusmn.cpp:310 #, fuzzy msgid "Macro focus step count" msgstr "Liczba kroków ostrzenia" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 msgid "Sharpness Factor" msgstr "Współczynnik wyostrzenia" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 msgid "Sharpness factor" msgstr "Współczynnik wyostrzenia" #: src/olympusmn.cpp:315 msgid "Flash Charge Level" msgstr "Poziom naładowania flesza" #: src/olympusmn.cpp:316 msgid "Flash charge level" msgstr "Poziom naładowania flesza" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 msgid "Color Matrix" msgstr "Matryca kolorów" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 msgid "Color matrix" msgstr "Matryca kolorów" #: src/olympusmn.cpp:321 msgid "BlackLevel" msgstr "Poziom czerni" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 msgid "Black level" msgstr "Poziom czerni" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 msgid "White balance mode" msgstr "Tryb balansu bieli" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 msgid "Red Balance" msgstr "Balans czerwieni" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 msgid "Red balance" msgstr "Balans czerwieni" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 msgid "Blue Balance" msgstr "Balans niebieskiego" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 msgid "Blue balance" msgstr "Balans niebieskiego" #: src/olympusmn.cpp:342 #, fuzzy msgid "Color Matrix Number" msgstr "Matryca kolorów 1" #: src/olympusmn.cpp:343 #, fuzzy msgid "Color matrix number" msgstr "Matryca kolorów 2" #: src/olympusmn.cpp:345 msgid "Serial Number 2" msgstr "Numer seryjny 2" #: src/olympusmn.cpp:346 msgid "Serial number 2" msgstr "Numer seryjny 2" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 msgid "Flash exposure compensation" msgstr "Kompensacja ekspozycji błysku" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 msgid "External Flash Bounce" msgstr "Odbicie zewnętrznego flesza" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 msgid "External flash bounce" msgstr "Odbicie zewnętrznego flesza" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 msgid "External Flash Zoom" msgstr "Pokrycie zewnętrznego flesza" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 msgid "External flash zoom" msgstr "Pokrycie zewnętrznego flesza" #: src/olympusmn.cpp:387 msgid "External Flash Mode" msgstr "Tryb zewnętrznego flesza" #: src/olympusmn.cpp:388 msgid "External flash mode" msgstr "Tryb zewnętrznego flesza" #: src/olympusmn.cpp:396 msgid "Color Control" msgstr "Regulacja barwy" #: src/olympusmn.cpp:397 msgid "Color control" msgstr "Regulacja barwy" #: src/olympusmn.cpp:399 msgid "ValidBits" msgstr "" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 msgid "Valid bits" msgstr "" #: src/olympusmn.cpp:402 #, fuzzy msgid "CoringFilter" msgstr "Filtr kolorów" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring filter" msgstr "Filtr kolorów" #: src/olympusmn.cpp:423 msgid "Compression Ratio" msgstr "Współczynnik kompresji" #: src/olympusmn.cpp:424 msgid "Compression ratio" msgstr "Współczynnik kompresji" #: src/olympusmn.cpp:427 msgid "Preview image embedded" msgstr "Osadzony obrazek podglądu" #: src/olympusmn.cpp:430 msgid "Offset of the preview image" msgstr "Przesunięcie obrazu podglądu" #: src/olympusmn.cpp:433 msgid "Size of the preview image" msgstr "Rozmiar obrazu podglądu" #: src/olympusmn.cpp:435 msgid "CCD Scan Mode" msgstr "Tryb skanowania CCD" #: src/olympusmn.cpp:436 msgid "CCD scan mode" msgstr "Tryb skanowania CCD" #: src/olympusmn.cpp:441 #, fuzzy msgid "Infinity Lens Step" msgstr "Nieskończoność" #: src/olympusmn.cpp:442 #, fuzzy msgid "Infinity lens step" msgstr "Nieskończoność" #: src/olympusmn.cpp:444 #, fuzzy msgid "Near Lens Step" msgstr "Apertura obiektywu" #: src/olympusmn.cpp:445 msgid "Near lens step" msgstr "" #: src/olympusmn.cpp:447 msgid "Equipment Info" msgstr "Wyposażenie" #: src/olympusmn.cpp:448 msgid "Camera equipment sub-IFD" msgstr "sub-IFD wyposażenia aparatu" #: src/olympusmn.cpp:451 msgid "Camera Settings sub-IFD" msgstr "sub-IFD ustawień aparatu" #: src/olympusmn.cpp:453 msgid "Raw Development" msgstr "" #: src/olympusmn.cpp:454 #, fuzzy msgid "Raw development sub-IFD" msgstr "sub-IFD wyposażenia aparatu" #: src/olympusmn.cpp:456 msgid "Raw Development 2" msgstr "" #: src/olympusmn.cpp:457 #, fuzzy msgid "Raw development 2 sub-IFD" msgstr "sub-IFD wyposażenia aparatu" #: src/olympusmn.cpp:460 #, fuzzy msgid "Image processing sub-IFD" msgstr "Przetwarzanie obrazu" #: src/olympusmn.cpp:462 msgid "Focus Info" msgstr "Ostrzenie" #: src/olympusmn.cpp:463 msgid "Focus sub-IFD" msgstr "sub-IFD ostrzenia" #: src/olympusmn.cpp:465 msgid "Raw Info" msgstr "Raw" #: src/olympusmn.cpp:466 msgid "Raw sub-IFD" msgstr "Raw sub-IFD" #: src/olympusmn.cpp:470 msgid "Unknown OlympusMakerNote tag" msgstr "Nieznany znacznik OlympusMakerNote" #: src/olympusmn.cpp:486 msgid "Program-shift" msgstr "Program-shift" #: src/olympusmn.cpp:491 msgid "Center-weighted average" msgstr "Centralnie ważony uśredniony" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "ESP" #: src/olympusmn.cpp:494 #, fuzzy msgid "Pattern+AF" msgstr "Wzór CFA" #: src/olympusmn.cpp:495 msgid "Spot+Highlight control" msgstr "" #: src/olympusmn.cpp:496 #, fuzzy msgid "Spot+Shadow control" msgstr "Regulacja barwy" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 msgid "Single AF" msgstr "Pojedyncze zdjęcie" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "Zdjęcia seryjne" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 msgid "Multi AF" msgstr "Multi AF" #: src/olympusmn.cpp:517 msgid "AF Not Used" msgstr "Nie użyto AF" #: src/olympusmn.cpp:518 msgid "AF Used" msgstr "Użyto AF" #: src/olympusmn.cpp:523 msgid "Not Ready" msgstr "Nie gotowy" #: src/olympusmn.cpp:524 msgid "Ready" msgstr "Gotowy" #: src/olympusmn.cpp:531 msgid "Fill-in" msgstr "Błysk wypełniający" #: src/olympusmn.cpp:533 msgid "Slow-sync" msgstr "Synchronizacja z długimi czasami" #: src/olympusmn.cpp:534 msgid "Forced On" msgstr "Wymuszony" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "Druga kurtyna" #: src/olympusmn.cpp:541 msgid "Channel 1, Low" msgstr "" #: src/olympusmn.cpp:542 msgid "Channel 2, Low" msgstr "" #: src/olympusmn.cpp:543 msgid "Channel 3, Low" msgstr "" #: src/olympusmn.cpp:544 msgid "Channel 4, Low" msgstr "" #: src/olympusmn.cpp:545 msgid "Channel 1, Mid" msgstr "" #: src/olympusmn.cpp:546 msgid "Channel 2, Mid" msgstr "" #: src/olympusmn.cpp:547 msgid "Channel 3, Mid" msgstr "" #: src/olympusmn.cpp:548 msgid "Channel 4, Mid" msgstr "" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "" #: src/olympusmn.cpp:567 msgid "7500K (Fine Weather with Shade)" msgstr "7500K (dobra pogoda w cieniu)" #: src/olympusmn.cpp:568 msgid "6000K (Cloudy)" msgstr "6000K (pochmurno)" #: src/olympusmn.cpp:569 msgid "5300K (Fine Weather)" msgstr "5300K (dobra pogoda)" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "3000K (żarówka wolframowa)" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 msgid "3600K (Tungsten light-like)" msgstr "3600K (żarowka wolframopodobna)" #: src/olympusmn.cpp:572 #, fuzzy msgid "Auto Setup" msgstr "Przysłona" #: src/olympusmn.cpp:573 #, fuzzy msgid "5500K (Flash)" msgstr "Auto (Błysk)" #: src/olympusmn.cpp:574 msgid "6600K (Daylight fluorescent)" msgstr "6600K (światło dzienne lampy fluorescencyjnej)" #: src/olympusmn.cpp:575 msgid "4500K (Neutral white fluorescent)" msgstr "4500K (neutralnie biała lampa fluorescencyjna)" #: src/olympusmn.cpp:576 msgid "4000K (Cool white fluorescent)" msgstr "4000K (chłodnobiała lampa fluorescencyjna)" #: src/olympusmn.cpp:577 #, fuzzy msgid "White Fluorescent" msgstr "Fluorescencja biała" #: src/olympusmn.cpp:580 #, fuzzy msgid "One Touch WB 1" msgstr "Automatyczna korekcja balansu bieli" #: src/olympusmn.cpp:581 #, fuzzy msgid "One Touch WB 2" msgstr "Automatyczna korekcja balansu bieli" #: src/olympusmn.cpp:582 #, fuzzy msgid "One Touch WB 3" msgstr "Automatyczna korekcja balansu bieli" #: src/olympusmn.cpp:583 #, fuzzy msgid "One Touch WB 4" msgstr "Automatyczna korekcja balansu bieli" #: src/olympusmn.cpp:584 msgid "Custom WB 1" msgstr "Własny balans bieli 1" #: src/olympusmn.cpp:585 msgid "Custom WB 2" msgstr "Własny balans bieli 2" #: src/olympusmn.cpp:586 msgid "Custom WB 3" msgstr "Własny balans bieli 3" #: src/olympusmn.cpp:587 msgid "Custom WB 4" msgstr "Własny balans bieli 4" #: src/olympusmn.cpp:593 msgid "CM1 (Red Enhance)" msgstr "CM1 (rozszerzenie czerwieni)" #: src/olympusmn.cpp:594 msgid "CM2 (Green Enhance)" msgstr "CM2 (rozszerzenie zieleni)" #: src/olympusmn.cpp:595 msgid "CM3 (Blue Enhance)" msgstr "CM3 (rozszerzenie błękitu)" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "CM4 (kolory skóry)" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "Pro Photo RGB" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 msgid "Noise Filter" msgstr "Filtr szumu" #: src/olympusmn.cpp:610 #, fuzzy msgid "Noise Filter (ISO Boost)" msgstr "Filtr szumów przy długiej ekspozycji" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 msgid "Muted" msgstr "Wyciszony" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 msgid "Monotone" msgstr "Jednotonowy" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "SQ" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "HQ" #: src/olympusmn.cpp:648 msgid "SHQ" msgstr "SHQ" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 msgid "On, Mode 1" msgstr "Włączony, tryb 1" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 msgid "On, Mode 2" msgstr "Włączony, tryb 2" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 #, fuzzy msgid "On, Mode 3" msgstr "Włączony, tryb 1" #: src/olympusmn.cpp:661 msgid "Camera Settings Version" msgstr "Wersja ustawień aparatu" #: src/olympusmn.cpp:661 msgid "Camera settings version" msgstr "Wersja ustawień aparatu" #: src/olympusmn.cpp:662 msgid "PreviewImage Valid" msgstr "Obrazek podglądu prawidłowy" #: src/olympusmn.cpp:662 msgid "Preview image valid" msgstr "Obrazek podglądu prawidłowy" #: src/olympusmn.cpp:663 msgid "PreviewImage Start" msgstr "Początek obrazu podglądu" #: src/olympusmn.cpp:663 msgid "Preview image start" msgstr "Początek obrazu podglądu" #: src/olympusmn.cpp:664 msgid "PreviewImage Length" msgstr "Długość obrazu podglądu" #: src/olympusmn.cpp:664 msgid "Preview image length" msgstr "Długość obrazu podglądu" #: src/olympusmn.cpp:666 msgid "Auto exposure lock" msgstr "Blokada automatycznej ekspozycji" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure Shift" msgstr "Czas ekspozycji" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure shift" msgstr "Czas ekspozycji" #: src/olympusmn.cpp:671 #, fuzzy msgid "Focus Process" msgstr "Tryb ogniskowania" #: src/olympusmn.cpp:671 #, fuzzy msgid "Focus process" msgstr "Proces własny" #: src/olympusmn.cpp:672 msgid "AF Search" msgstr "" #: src/olympusmn.cpp:672 #, fuzzy msgid "AF search" msgstr "Użyto AF" #: src/olympusmn.cpp:673 msgid "AF Areas" msgstr "Strefy AF" #: src/olympusmn.cpp:673 msgid "AF areas" msgstr "Strefy autofokusa" #: src/olympusmn.cpp:674 #, fuzzy msgid "AFPointSelected" msgstr "Wybrany punkt AF" #: src/olympusmn.cpp:675 #, fuzzy msgid "AF Fine Tune Adjust" msgstr "Dostrojenie AF" #: src/olympusmn.cpp:675 #, fuzzy msgid "AF fine tune adjust" msgstr "Dostrojenie AF" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash Remote Control" msgstr "Sterowanie podczerwienią" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash remote control" msgstr "Sterowanie podczerwienią" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash Control Mode" msgstr "Tryb flesza" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash control mode" msgstr "Tryb flesza" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash Intensity" msgstr "Aktywność flesza" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash intensity" msgstr "Aktywność flesza" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual Flash Strength" msgstr "Siła błysku" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual flash strength" msgstr "Ręczne sterowanie lampą" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 msgid "White Balance 2" msgstr "Balans bieli 2" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 msgid "White balance 2" msgstr "Balans bieli 2" #: src/olympusmn.cpp:683 msgid "White Balance Temperature" msgstr "Temperatura balansu bieli" #: src/olympusmn.cpp:683 msgid "White balance temperature" msgstr "Temperatura balansu bieli" #: src/olympusmn.cpp:685 msgid "Custom Saturation" msgstr "Nasycenie własne" #: src/olympusmn.cpp:685 msgid "Custom saturation" msgstr "Nasycenie własne" #: src/olympusmn.cpp:686 msgid "Modified Saturation" msgstr "Nasycenie zmodyfikowane" #: src/olympusmn.cpp:686 msgid "Modified saturation" msgstr "Nasycenie zmodyfikowane" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 msgid "Contrast Setting" msgstr "Ustawienie kontrastu" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 msgid "Sharpness Setting" msgstr "Ustawienie wyostrzenia" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion Correction" msgstr "Korekcja dystorsji" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion correction" msgstr "Korekcja dystorsji" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 msgid "Shading Compensation" msgstr "Kompensacja cieni" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 msgid "Shading compensation" msgstr "Kompensacja cieni" #: src/olympusmn.cpp:694 msgid "Compression Factor" msgstr "Współczynnik kompresji" #: src/olympusmn.cpp:694 msgid "Compression factor" msgstr "Współczynnik kompresji" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 msgid "Gradation" msgstr "Gradacja" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 msgid "Picture mode" msgstr "Styl obrazu" #: src/olympusmn.cpp:697 msgid "Picture Mode Saturation" msgstr "Nasycenie stylu zdjęcia" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 msgid "Picture mode saturation" msgstr "Nasycenie stylu zdjęcia" #: src/olympusmn.cpp:698 msgid "Picture Mode Hue" msgstr "Odcień stylu zdjęcia" #: src/olympusmn.cpp:698 msgid "Picture mode hue" msgstr "Odcień stylu zdjęcia" #: src/olympusmn.cpp:699 msgid "Picture Mode Contrast" msgstr "Kontrast stylu zdjęcia" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 msgid "Picture mode contrast" msgstr "Kontrast stylu zdjęcia" #: src/olympusmn.cpp:700 msgid "Picture Mode Sharpness" msgstr "Ostrość stylu zdjęcia" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 msgid "Picture mode sharpness" msgstr "Ostrość stylu zdjęcia" #: src/olympusmn.cpp:701 msgid "Picture Mode BW Filter" msgstr "Filtr cz-b stylu zdjęcia" #: src/olympusmn.cpp:701 msgid "Picture mode BW filter" msgstr "Filtr cz-b stylu zdjęcia" #: src/olympusmn.cpp:702 msgid "Picture Mode Tone" msgstr "Tonowanie stylu zdjęcia" #: src/olympusmn.cpp:702 msgid "Picture mode tone" msgstr "Tonowanie stylu zdjęcia" #: src/olympusmn.cpp:703 msgid "Noise filter" msgstr "Filtr szumu" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art Filter" msgstr "Filtr" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art filter" msgstr "Filtr kolorów" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic Filter" msgstr "Filtr cyfrowy" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic filter" msgstr "Filtr cyfrowy" #: src/olympusmn.cpp:707 msgid "Panorama Mode" msgstr "Tryb panoramy" #: src/olympusmn.cpp:707 msgid "Panorama mode" msgstr "Tryb panoramy" #: src/olympusmn.cpp:708 msgid "Image Quality 2" msgstr "Jakość obrazu 2" #: src/olympusmn.cpp:708 msgid "Image quality 2" msgstr "Jakość obrazu 2" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer Pressure" msgstr "Ciśnienie manometru" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer pressure" msgstr "Ciśnienie manometru" #: src/olympusmn.cpp:711 msgid "Manometer Reading" msgstr "Odczyt manometru" #: src/olympusmn.cpp:711 msgid "Manometer reading" msgstr "Odczyt manometru" #: src/olympusmn.cpp:712 msgid "Extended WB Detect" msgstr "Rozszerzona detekcja balansu bieli" #: src/olympusmn.cpp:712 msgid "Extended WB detect" msgstr "Rozszerzona detekcja balansu bieli" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "" #: src/olympusmn.cpp:716 msgid "Unknown OlympusCs tag" msgstr "Nieznany znacznik OlympusCs" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "Prosty system E" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "System E" #: src/olympusmn.cpp:745 msgid "Equipment Version" msgstr "Wersja wyposażenia" #: src/olympusmn.cpp:745 msgid "Equipment version" msgstr "Wersja wyposażenia" #: src/olympusmn.cpp:747 msgid "Serial number" msgstr "Numer seryjny" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 msgid "Lens Serial Number" msgstr "Numer seryjny obiektywu" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 msgid "Lens serial number" msgstr "Numer seryjny obiektywu" #: src/olympusmn.cpp:754 msgid "Lens Firmware Version" msgstr "Wersja firmware obiektywu" #: src/olympusmn.cpp:754 msgid "Lens firmware version" msgstr "Wersja firmware obiektywu" #: src/olympusmn.cpp:759 msgid "Max Aperture At Current Focal" msgstr "Maksymalna apertura przy bieżącej ogniskowej" #: src/olympusmn.cpp:759 msgid "Max aperture at current focal" msgstr "Maksymalna apertura przy bieżącej ogniskowej" #: src/olympusmn.cpp:760 msgid "Lens Properties" msgstr "Właściwości obiektywu" #: src/olympusmn.cpp:760 msgid "Lens properties" msgstr "Właściwości obiektywu" #: src/olympusmn.cpp:761 msgid "Extender" msgstr "Ekstender" #: src/olympusmn.cpp:762 msgid "Extender Serial Number" msgstr "Numer seryjny ekstendera" #: src/olympusmn.cpp:762 msgid "Extender serial number" msgstr "Numer seryjny ekstendera" #: src/olympusmn.cpp:763 msgid "Extender Model" msgstr "Model ekstendera" #: src/olympusmn.cpp:763 msgid "Extender model" msgstr "Model ekstendera" #: src/olympusmn.cpp:764 msgid "Extender Firmware Version" msgstr "Wersja firmware ekstendera" #: src/olympusmn.cpp:764 msgid "Extender firmwareversion" msgstr "Wersja firmware ekstendera" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion Lens" msgstr "Konwerter" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion lens" msgstr "Konwerter" #: src/olympusmn.cpp:767 src/properties.cpp:402 msgid "Flash Model" msgstr "Model flesza" #: src/olympusmn.cpp:767 msgid "Flash model" msgstr "Model flesza" #: src/olympusmn.cpp:768 msgid "Flash Firmware Version" msgstr "Wersja firmware flesza" #: src/olympusmn.cpp:768 msgid "Flash firmware version" msgstr "Wersja firmware flesza" #: src/olympusmn.cpp:769 msgid "FlashSerialNumber" msgstr "Numer seryjny flesza" #: src/olympusmn.cpp:771 msgid "Unknown OlympusEq tag" msgstr "Nieznany znacznik OlympusEq" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 #, fuzzy msgid "High Speed" msgstr "Duża szybkość" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 #, fuzzy msgid "High Function" msgstr "Funkcja koloru" #: src/olympusmn.cpp:790 #, fuzzy msgid "Advanced High Speed" msgstr "Duża szybkość" #: src/olympusmn.cpp:791 #, fuzzy msgid "Advanced High Function" msgstr "Funkcja koloru" #: src/olympusmn.cpp:796 msgid "Original" msgstr "Oryginał" #: src/olympusmn.cpp:797 msgid "Edited (Landscape)" msgstr "Edytowany (krajobraz)" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 msgid "Edited (Portrait)" msgstr "Edytowany (portret)" #: src/olympusmn.cpp:804 msgid "WB Color Temp" msgstr "Temperatura koloru balansu bieli" #: src/olympusmn.cpp:805 msgid "WB Gray Point" msgstr "Szary punktu balansu bieli" #: src/olympusmn.cpp:815 #, fuzzy msgid "Raw Development Version" msgstr "Wersja informacji Raw" #: src/olympusmn.cpp:815 #, fuzzy msgid "Raw development version" msgstr "Wersja informacji Raw" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 msgid "Exposure Bias Value" msgstr "Korekta ekspozycji" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 #, fuzzy msgid "Exposure bias value" msgstr "Korekta ekspozycji (APEX)" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White Balance Value" msgstr "Wartość balansu bieli" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White balance value" msgstr "Wartość balansu bieli" #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 msgid "WB Fine Adjustment" msgstr "Poprawka balansu bieli" #: src/olympusmn.cpp:818 msgid "WB fine adjustment" msgstr "Poprawka balansu bieli" #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 msgid "Gray Point" msgstr "Punkt szarości" #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 msgid "Gray point" msgstr "Punkt szarości" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation Emphasis" msgstr "Wzmocnienie nasycenia" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation emphasis" msgstr "Wzmocnienie nasycenia" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 #, fuzzy msgid "Memory Color Emphasis" msgstr "Moje kolory" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory color emphasis" msgstr "" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast Value" msgstr "Kontrast" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast value" msgstr "Kontrast" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness Value" msgstr "Ostrość" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness value" msgstr "Kontrast" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 msgid "Engine" msgstr "Silnik" #: src/olympusmn.cpp:827 msgid "Edit status" msgstr "Stan edycji" #: src/olympusmn.cpp:828 msgid "Settings" msgstr "Ustawienia" #: src/olympusmn.cpp:830 msgid "Unknown OlympusRd tag" msgstr "Nieznany znacznik OlympusRd" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw Development 2 Version" msgstr "Wersja informacji Raw" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw development 2 version" msgstr "Wersja informacji Raw" #: src/olympusmn.cpp:889 msgid "White balance fine adjustment" msgstr "Poprawka balansu bieli" #: src/olympusmn.cpp:899 msgid "PM Saturation" msgstr "PM Nasycenie" #: src/olympusmn.cpp:900 msgid "PM Contrast" msgstr "PM Kontrast" #: src/olympusmn.cpp:901 msgid "PM Sharpness" msgstr "PM Ostrość" #: src/olympusmn.cpp:902 msgid "PM BW Filter" msgstr "PM Filtr czarno-biały" #: src/olympusmn.cpp:902 msgid "PM BW filter" msgstr "PM Filtr czarno-biały" #: src/olympusmn.cpp:903 msgid "PM Picture Tone" msgstr "PM Tonowanie" #: src/olympusmn.cpp:903 msgid "PM picture tone" msgstr "PM Tonowanie" #: src/olympusmn.cpp:906 msgid "Auto Gradation" msgstr "Automatyczna gradacja" #: src/olympusmn.cpp:906 msgid "Auto gradation" msgstr "Automatyczna gradacja" #: src/olympusmn.cpp:907 msgid "PM Noise Filter" msgstr "PM Filtr szumu" #: src/olympusmn.cpp:907 msgid "Picture mode noise filter" msgstr "Filtr szumów stylu zdjęcia" #: src/olympusmn.cpp:909 msgid "Unknown OlympusRd2 tag" msgstr "Nieznany znacznik Olympus Rd2" #: src/olympusmn.cpp:920 #, fuzzy msgid "On (2 frames)" msgstr "Włączony (predefiniowany)" #: src/olympusmn.cpp:921 #, fuzzy msgid "On (3 frames)" msgstr "Włączony (predefiniowany)" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image Processing Version" msgstr "Przetwarzanie obrazu" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image processing version" msgstr "Przetwarzanie obrazu" #: src/olympusmn.cpp:940 #, fuzzy msgid "WB RB Levels 3000K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:940 #, fuzzy msgid "WB RB levels 3000K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:941 #, fuzzy msgid "WB RB Levels 3300K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:941 #, fuzzy msgid "WB RB levels 3300K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:942 #, fuzzy msgid "WB RB Levels 3600K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:942 #, fuzzy msgid "WB RB levels 3600K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:943 #, fuzzy msgid "WB RB Levels 3900K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:943 #, fuzzy msgid "WB RB levels 3900K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:944 #, fuzzy msgid "WB RB Levels 4000K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:944 #, fuzzy msgid "WB RB levels 4000K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:945 #, fuzzy msgid "WB RB Levels 4300K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:945 #, fuzzy msgid "WB RB levels 4300K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:946 #, fuzzy msgid "WB RB Levels 4500K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:946 #, fuzzy msgid "WB RB levels 4500K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:947 #, fuzzy msgid "WB RB Levels 4800K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:947 #, fuzzy msgid "WB RB levels 4800K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:948 #, fuzzy msgid "WB RB Levels 5300K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:948 #, fuzzy msgid "WB RB levels 5300K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:949 #, fuzzy msgid "WB RB Levels 6000K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:949 #, fuzzy msgid "WB RB levels 6000K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:950 #, fuzzy msgid "WB RB Levels 6600K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:950 #, fuzzy msgid "WB RB levels 6600K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:951 #, fuzzy msgid "WB RB Levels 7500K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:951 #, fuzzy msgid "WB RB levels 7500K" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:952 #, fuzzy msgid "WB RB Levels CWB1" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:952 #, fuzzy msgid "WB RB levels CWB1" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:953 #, fuzzy msgid "WB RB Levels CWB2" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:953 #, fuzzy msgid "WB RB levels CWB2" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:954 #, fuzzy msgid "WB RB Levels CWB3" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:954 #, fuzzy msgid "WB RB levels CWB3" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:955 #, fuzzy msgid "WB RB Levels CWB4" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:955 #, fuzzy msgid "WB RB levels CWB4" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:956 #, fuzzy msgid "WB G Level 3000K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:956 #, fuzzy msgid "WB G level 3000K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:957 #, fuzzy msgid "WB G Level 3300K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:957 #, fuzzy msgid "WB G level 3300K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:958 #, fuzzy msgid "WB G Level 3600K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:958 #, fuzzy msgid "WB G level 3600K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:959 #, fuzzy msgid "WB G Level 3900K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:959 #, fuzzy msgid "WB G level 3900K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:960 #, fuzzy msgid "WB G Level 4000K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:960 #, fuzzy msgid "WB G level 4000K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:961 #, fuzzy msgid "WB G Level 4300K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:961 #, fuzzy msgid "WB G level 4300K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:962 #, fuzzy msgid "WB G Level 4500K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:962 #, fuzzy msgid "WB G level 4500K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:963 #, fuzzy msgid "WB G Level 4800K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:963 #, fuzzy msgid "WB G level 4800K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:964 #, fuzzy msgid "WB G Level 5300K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:964 #, fuzzy msgid "WB G level 5300K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:965 #, fuzzy msgid "WB G Level 6000K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:965 #, fuzzy msgid "WB G level 6000K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:966 #, fuzzy msgid "WB G Level 6600K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:966 #, fuzzy msgid "WB G level 6600K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:967 #, fuzzy msgid "WB G Level 7500K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:967 #, fuzzy msgid "WB G level 7500K" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G Level" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G level" msgstr "Poziomy balansu bieli RBGG" #: src/olympusmn.cpp:970 #, fuzzy msgid "Enhancer" msgstr "Programista" #: src/olympusmn.cpp:971 #, fuzzy msgid "Enhancer Values" msgstr "Ostrość" #: src/olympusmn.cpp:971 #, fuzzy msgid "Enhancer values" msgstr "Kontrast" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring Filter" msgstr "Filtr kolorów" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring Values" msgstr "Kontrast" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring values" msgstr "Kontrast" #: src/olympusmn.cpp:974 src/tags.cpp:915 msgid "Black Level" msgstr "Poziom czerni" #: src/olympusmn.cpp:975 msgid "Gain Base" msgstr "Podstawa wzmocnienia" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "Automatyczna gradacja" #: src/olympusmn.cpp:976 msgid "Valid Bits" msgstr "" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 msgid "Crop Left" msgstr "Przycięcie lewo" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 msgid "Crop left" msgstr "Przycięcie lewo" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 msgid "Crop Top" msgstr "Przycięcie góra" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 msgid "Crop top" msgstr "Przycięcie góra" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 msgid "Crop Width" msgstr "Przycięcie szerokość" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 msgid "Crop width" msgstr "Przycięcie szerokość" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 msgid "Crop Height" msgstr "Przycięcie wysokość" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 msgid "Crop height" msgstr "Przycięcie wysokość" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple Exposure Mode" msgstr "Tryb ekspozycji" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple exposure mode" msgstr "Wielokrotna ekspozycja" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 #, fuzzy msgid "Aspect Ratio" msgstr "Proporcje pikseli wideo" #: src/olympusmn.cpp:985 #, fuzzy msgid "Aspect ratio" msgstr "Proporcje pikseli wideo" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect Frame" msgstr "Proporcje pikseli wideo" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect frame" msgstr "Proporcje pikseli wideo" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 msgid "Face Detect" msgstr "Wykrywanie twarzy" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 msgid "Face detect" msgstr "Wykrywanie twarzy" #: src/olympusmn.cpp:988 msgid "Face Detect Area" msgstr "Obszar wykrywania twarzy" #: src/olympusmn.cpp:988 msgid "Face detect area" msgstr "Obszar wykrywania twarzy" #: src/olympusmn.cpp:990 msgid "Unknown OlympusIp tag" msgstr "Nieznany znacznik OlympusIp" #: src/olympusmn.cpp:1000 #, fuzzy msgid "Bounce or Off" msgstr "Odbicie lub nie" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "Bezpośredni" #: src/olympusmn.cpp:1005 msgid "Focus Info Version" msgstr "Wersja informacji focusa" #: src/olympusmn.cpp:1005 msgid "Focus info version" msgstr "Wersja informacji o ostrzeniu (fokusie)" #: src/olympusmn.cpp:1006 msgid "Auto Focus" msgstr "Automatyczne ostrzenie" #: src/olympusmn.cpp:1007 msgid "Scene Detect" msgstr "Wykrywanie sceny" #: src/olympusmn.cpp:1007 msgid "Scene detect" msgstr "Wykrywanie sceny" #: src/olympusmn.cpp:1008 msgid "Scene Area" msgstr "Obszar sceny" #: src/olympusmn.cpp:1008 msgid "Scene area" msgstr "Obszar sceny" #: src/olympusmn.cpp:1009 msgid "Scene Detect Data" msgstr "Dane wykrywania sceny" #: src/olympusmn.cpp:1009 msgid "Scene detect data" msgstr "Dane wykrywania sceny" #: src/olympusmn.cpp:1010 msgid "Zoom Step Count" msgstr "Liczba kroków powiększania" #: src/olympusmn.cpp:1011 msgid "Focus Step Count" msgstr "Liczba kroków ostrzenia" #: src/olympusmn.cpp:1011 msgid "Focus step count" msgstr "Liczba kroków ostrzenia" #: src/olympusmn.cpp:1012 #, fuzzy msgid "Focus Step Infinity" msgstr "Krok ostrzenia - nieskończoność" #: src/olympusmn.cpp:1012 #, fuzzy msgid "Focus step infinity" msgstr "Krok ostrzenia - nieskończoność" #: src/olympusmn.cpp:1013 #, fuzzy msgid "Focus Step Near" msgstr "Krok ostrzenia - blisko" #: src/olympusmn.cpp:1013 #, fuzzy msgid "Focus step near" msgstr "Krok ostrzenia - blisko" #: src/olympusmn.cpp:1016 msgid "External Flash" msgstr "Zewnętrzny flesz" #: src/olympusmn.cpp:1017 msgid "External Flash Guide Number" msgstr "Liczba przewodnia zewnętrznego flesza" #: src/olympusmn.cpp:1017 msgid "External flash guide number" msgstr "Liczba przewodnia zewnętrznego flesza" #: src/olympusmn.cpp:1021 msgid "Manual Flash" msgstr "Flesz ręczny" #: src/olympusmn.cpp:1021 msgid "Manual flash" msgstr "Flesz ręczny" #: src/olympusmn.cpp:1025 msgid "Unknown OlympusFi tag" msgstr "Nieznany znacznik OlympusFi" #: src/olympusmn.cpp:1036 msgid "Unknown OlympusFe tag" msgstr "Nieznany znacznik OlympusFe" #: src/olympusmn.cpp:1049 msgid "Fine Weather" msgstr "Dobra pogoda" #: src/olympusmn.cpp:1050 #, fuzzy msgid "Tungsten (incandescent)" msgstr "Żarówka wolframowa" #: src/olympusmn.cpp:1051 msgid "Evening Sunlight" msgstr "Wieczorne światło słońca" #: src/olympusmn.cpp:1052 #, fuzzy msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "Lampy fluorescencyjna, światło dzienne (D 5700 - 7100K)" #: src/olympusmn.cpp:1053 #, fuzzy msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "Lampa fluorescencyjna, biel dnia (N 4600 - 5400K)" #: src/olympusmn.cpp:1054 #, fuzzy msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "Lampa fluorescencyjna chłodnobiała (W 3900 - 4500K)" #: src/olympusmn.cpp:1055 #, fuzzy msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "Lampa fluorescencyjna biała (WW 3200 - 3700K)" #: src/olympusmn.cpp:1056 #, fuzzy msgid "One Touch White Balance" msgstr "Automatyczna korekcja balansu bieli" #: src/olympusmn.cpp:1057 msgid "Custom 1-4" msgstr "Użytkownika 1-4" #: src/olympusmn.cpp:1061 msgid "Raw Info Version" msgstr "Wersja informacji Raw" #: src/olympusmn.cpp:1061 msgid "Raw info version" msgstr "Wersja informacji Raw" #: src/olympusmn.cpp:1062 #, fuzzy msgid "WB_RB Levels Used" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:1062 #, fuzzy msgid "WB_RB levels used" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:1063 #, fuzzy msgid "WB_RB Levels Auto" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:1063 #, fuzzy msgid "WB_RB levels auto" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:1064 #, fuzzy msgid "WB_RB Levels Shade" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:1064 #, fuzzy msgid "WB_RB levels shade" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:1065 #, fuzzy msgid "WB_RB Levels Cloudy" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:1065 #, fuzzy msgid "WB_RB levels cloudy" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:1066 #, fuzzy msgid "WB_RB Levels Fine Weather" msgstr "Dobra pogoda" #: src/olympusmn.cpp:1066 msgid "WB_RB levels fine weather" msgstr "" #: src/olympusmn.cpp:1067 #, fuzzy msgid "WB_RB Levels Tungsten" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:1067 #, fuzzy msgid "WB_RB levels tungsten" msgstr "Poziomy balansu bieli RB" #: src/olympusmn.cpp:1068 #, fuzzy msgid "WB_RB Levels Evening Sunlight" msgstr "Wieczorne światło słońca" #: src/olympusmn.cpp:1068 #, fuzzy msgid "WB_RB levels evening sunlight" msgstr "Wieczorne światło słońca" #: src/olympusmn.cpp:1069 msgid "WB_RB Levels Daylight Fluor" msgstr "" #: src/olympusmn.cpp:1069 msgid "WB_RB levels daylight fluor" msgstr "" #: src/olympusmn.cpp:1070 msgid "WB_RB Levels Day White Fluor" msgstr "" #: src/olympusmn.cpp:1070 msgid "WB_RB levels day white fluor" msgstr "" #: src/olympusmn.cpp:1071 msgid "WB_RB Levels Cool White Fluor" msgstr "" #: src/olympusmn.cpp:1071 msgid "WB_RB levels cool white fluor" msgstr "" #: src/olympusmn.cpp:1072 #, fuzzy msgid "WB_RB Levels White Fluorescent" msgstr "Fluorescencja biała" #: src/olympusmn.cpp:1072 #, fuzzy msgid "WB_RB levels white fluorescent" msgstr "4500K (neutralnie biała lampa fluorescencyjna)" #: src/olympusmn.cpp:1073 msgid "Color Matrix2" msgstr "Matryca kolorów 2" #: src/olympusmn.cpp:1073 msgid "Color matrix 2" msgstr "Matryca kolorów 2" #: src/olympusmn.cpp:1076 msgid "Black Level 2" msgstr "Poziom czerni 2" #: src/olympusmn.cpp:1076 msgid "Black level 2" msgstr "Poziom czerni 2" #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 msgid "YCbCr Coefficients" msgstr "Współczynniki YCbCr" #: src/olympusmn.cpp:1077 msgid "YCbCr coefficients" msgstr "Współczynniki YCbCr" #: src/olympusmn.cpp:1078 msgid "Valid Pixel Depth" msgstr "Prawidłowa głębia pikseli" #: src/olympusmn.cpp:1078 msgid "Valid pixel depth" msgstr "Prawidłowa głębia pikseli" #: src/olympusmn.cpp:1084 msgid "White Balance Comp" msgstr "Kompensacja balansu bieli" #: src/olympusmn.cpp:1084 msgid "White balance comp" msgstr "Kompensacja balansu bieli" #: src/olympusmn.cpp:1085 msgid "Saturation Setting" msgstr "Ustawienie nasycenia" #: src/olympusmn.cpp:1086 msgid "Hue Setting" msgstr "Ustawienie odcieni" #: src/olympusmn.cpp:1086 msgid "Hue setting" msgstr "Ustawienie odcieni" #: src/olympusmn.cpp:1089 msgid "CM Exposure Compensation" msgstr "CM Kompensacja ekspozycji" #: src/olympusmn.cpp:1089 msgid "CM exposure compensation" msgstr "CM Kompensacja ekspozycji" #: src/olympusmn.cpp:1090 msgid "CM White Balance" msgstr "CM Balans bieli" #: src/olympusmn.cpp:1090 msgid "CM white balance" msgstr "CM Balans bieli" #: src/olympusmn.cpp:1091 msgid "CM White Balance Comp" msgstr "CM Kompensacja balansu bieli" #: src/olympusmn.cpp:1091 msgid "CM white balance comp" msgstr "CM Kompensacja balansu bieli" #: src/olympusmn.cpp:1092 msgid "CM White Balance Gray Point" msgstr "CM Punkt szarości balansu bieli" #: src/olympusmn.cpp:1092 msgid "CM white balance gray point" msgstr "CM Punkt szarości balansu bieli" #: src/olympusmn.cpp:1093 msgid "CM Saturation" msgstr "CM Nasycenie" #: src/olympusmn.cpp:1093 msgid "CM saturation" msgstr "CM Nasycenie" #: src/olympusmn.cpp:1094 msgid "CM Hue" msgstr "CM Odcień" #: src/olympusmn.cpp:1094 msgid "CM hue" msgstr "CM Odcień" #: src/olympusmn.cpp:1095 msgid "CM Contrast" msgstr "CM Kontrast" #: src/olympusmn.cpp:1095 msgid "CM contrast" msgstr "CM Kontrastowość" #: src/olympusmn.cpp:1096 msgid "CM Sharpness" msgstr "CM Ostrość" #: src/olympusmn.cpp:1096 msgid "CM sharpness" msgstr "CM Ostrość" #: src/olympusmn.cpp:1098 msgid "Unknown OlympusRi tag" msgstr "Nieznany znacznik OlympusRi" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 msgid "User-Selected" msgstr "Wybrane przez użytkownika" #: src/olympusmn.cpp:1122 msgid "Auto-Override" msgstr "Automatyczne wymuszenie" #: src/olympusmn.cpp:1158 msgid "Fast" msgstr "Szybki" #: src/olympusmn.cpp:1223 msgid "3000 Kelvin" msgstr "3000 K" #: src/olympusmn.cpp:1224 msgid "3700 Kelvin" msgstr "3700 K" #: src/olympusmn.cpp:1225 msgid "4000 Kelvin" msgstr "4000 K" #: src/olympusmn.cpp:1226 msgid "4500 Kelvin" msgstr "4500 K" #: src/olympusmn.cpp:1227 msgid "5500 Kelvin" msgstr "5500 K" #: src/olympusmn.cpp:1228 msgid "6500 Kelvin" msgstr "6500 K" #: src/olympusmn.cpp:1229 msgid "7500 Kelvin" msgstr "7500 K" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "One-touch" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "" #: src/olympusmn.cpp:1456 #, fuzzy msgid "Imager AF" msgstr "Unikalny identyfikator obrazu" #: src/olympusmn.cpp:1457 #, fuzzy msgid "AF sensor" msgstr "Użyto AF" #: src/olympusmn.cpp:1502 #, fuzzy msgid "Soft Focus" msgstr "Ostrzenie punktowe" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "" #: src/olympusmn.cpp:1505 #, fuzzy msgid "Light Tone" msgstr "Strefa prawa" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "" #: src/olympusmn.cpp:1508 #, fuzzy msgid "Diorama" msgstr "panorama" #: src/olympusmn.cpp:1509 #, fuzzy msgid "Cross Process" msgstr "Tryb ogniskowania" #: src/olympusmn.cpp:1510 #, fuzzy msgid "Fish Eye" msgstr "Energia błysku" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "" #: src/olympusmn.cpp:1513 msgid "Pale & Light Color II" msgstr "" #: src/olympusmn.cpp:1514 msgid "Pop Art II" msgstr "" #: src/olympusmn.cpp:1515 msgid "Pin Hole II" msgstr "" #: src/olympusmn.cpp:1516 msgid "Pin Hole III" msgstr "" #: src/olympusmn.cpp:1517 msgid "Grainy Film II" msgstr "" #: src/olympusmn.cpp:1518 #, fuzzy msgid "Dramatic Tone" msgstr "Informacje o zdjęciu" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "" #: src/olympusmn.cpp:1520 #, fuzzy msgid "Soft Focus 2" msgstr "Ostrzenie punktowe" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "" #: src/olympusmn.cpp:1522 #, fuzzy msgid "Watercolor" msgstr "Naturalny kolor" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "" #: src/olympusmn.cpp:1525 #, fuzzy msgid "Miniature" msgstr "Najmniejsza wartość przysłony" #: src/olympusmn.cpp:1526 #, fuzzy msgid "Reflection" msgstr "Zaznaczenie" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "" #: src/olympusmn.cpp:1528 #, fuzzy msgid "Cross Process II" msgstr "Tryb ogniskowania" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "" #: src/olympusmn.cpp:1530 #, fuzzy msgid "Watercolor I" msgstr "Naturalny kolor" #: src/olympusmn.cpp:1531 #, fuzzy msgid "Watercolor II" msgstr "Naturalny kolor" #: src/olympusmn.cpp:1532 #, fuzzy msgid "Diorama II" msgstr "panorama" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "" #: src/olympusmn.cpp:1534 #, fuzzy msgid "Vintage II" msgstr "Obiekt kontrolujący" #: src/olympusmn.cpp:1535 #, fuzzy msgid "Vintage III" msgstr "Obiekt kontrolujący" #: src/olympusmn.cpp:1536 #, fuzzy msgid "Partial Color" msgstr "Barwa naturalna" #: src/olympusmn.cpp:1537 #, fuzzy msgid "Partial Color II" msgstr "Barwa naturalna" #: src/olympusmn.cpp:1538 #, fuzzy msgid "Partial Color III" msgstr "Barwa naturalna" #: src/olympusmn.cpp:1608 #, fuzzy msgid "Left (or n/a)" msgstr "Strefa lewa" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 #, fuzzy msgid "Center (horizontal)" msgstr "Strefa środkowa (układ poziomy)" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 #, fuzzy msgid "Center (vertical)" msgstr "Strefa środkowa (układ pionowa)" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1623 #, fuzzy msgid "Top-center (horizontal)" msgstr "Strefa środkowa (układ poziomy)" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1625 #, fuzzy msgid "Left (horizontal)" msgstr "Poziome (normalne)" #: src/olympusmn.cpp:1626 msgid "Mid-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1628 msgid "Mid-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1629 #, fuzzy msgid "Right (horizontal)" msgstr "Poziome (normalne)" #: src/olympusmn.cpp:1630 #, fuzzy msgid "Bottom-left (horizontal)" msgstr "Dolny lewy" #: src/olympusmn.cpp:1631 #, fuzzy msgid "Bottom-center (horizontal)" msgstr "Dolny lewy" #: src/olympusmn.cpp:1632 #, fuzzy msgid "Bottom-right (horizontal)" msgstr "Dolny prawy" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "" #: src/olympusmn.cpp:1634 #, fuzzy msgid "Top-center (vertical)" msgstr "Środek" #: src/olympusmn.cpp:1635 #, fuzzy msgid "Top-right (vertical)" msgstr "Górny prawy" #: src/olympusmn.cpp:1636 msgid "Left (vertical)" msgstr "" #: src/olympusmn.cpp:1637 msgid "Mid-left (vertical)" msgstr "" #: src/olympusmn.cpp:1639 #, fuzzy msgid "Mid-right (vertical)" msgstr "Środek-prawo" #: src/olympusmn.cpp:1640 msgid "Right (vertical)" msgstr "" #: src/olympusmn.cpp:1641 #, fuzzy msgid "Bottom-left (vertical)" msgstr "Dolny lewy" #: src/olympusmn.cpp:1642 #, fuzzy msgid "Bottom-center (vertical)" msgstr "Dolny lewy" #: src/olympusmn.cpp:1643 #, fuzzy msgid "Bottom-right (vertical)" msgstr "Dolny prawy" #: src/olympusmn.cpp:1680 #, fuzzy msgid "Single Target" msgstr "Pojedynczy obszar" #: src/olympusmn.cpp:1681 #, fuzzy msgid "All Target" msgstr "cel" #: src/olympusmn.cpp:1682 #, fuzzy msgid "Dynamic Single Target" msgstr "Ustawienia trybu dynamicznego" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "TIFF" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 msgid "Very High" msgstr "Bardzo wysoki" #: src/panasonicmn.cpp:60 msgid "Motion Picture" msgstr "Ruchomy obraz" #: src/panasonicmn.cpp:61 #, fuzzy msgid "Full HD Movie" msgstr "Mały film" #: src/panasonicmn.cpp:62 #, fuzzy msgid "4k Movie" msgstr "Film" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "Halogen" #: src/panasonicmn.cpp:83 #, fuzzy msgid "Auto, focus button" msgstr "Ostrzenie automatyczne" #: src/panasonicmn.cpp:84 #, fuzzy msgid "Auto, continuous" msgstr "Gradient ciągły" #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "AF-S" #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "AF-C" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 #, fuzzy msgid "Panning" msgstr "Śledzenie" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "Tele-makro" #: src/panasonicmn.cpp:104 #, fuzzy msgid "Macro-zoom" msgstr "Makro" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 msgid "Scenery" msgstr "Sceneria" #: src/panasonicmn.cpp:117 msgid "Shutter-speed priority" msgstr "Priorytet szybkości migawki" #: src/panasonicmn.cpp:121 msgid "Movie preview" msgstr "Podgląd filmu" #: src/panasonicmn.cpp:123 #, fuzzy msgid "Simple" msgstr "Pojedynczy" #: src/panasonicmn.cpp:124 msgid "Color effects" msgstr "Efekty kolorystyczne" #: src/panasonicmn.cpp:130 msgid "Night scenery" msgstr "Scena nocna" #: src/panasonicmn.cpp:132 msgid "Baby" msgstr "Dziecko" #: src/panasonicmn.cpp:133 msgid "Soft skin" msgstr "Gładka skóra" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 msgid "Candlelight" msgstr "Światło świecy" #: src/panasonicmn.cpp:135 msgid "Starry night" msgstr "Gwiaździste niebo" #: src/panasonicmn.cpp:136 msgid "High sensitivity" msgstr "Wysoka czułość" #: src/panasonicmn.cpp:137 msgid "Panorama assist" msgstr "Asystent panoramy" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "Fotografia powietrzna" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 msgid "Intelligent ISO" msgstr "Inteligentne ISO" #: src/panasonicmn.cpp:144 #, fuzzy msgid "Clipboard" msgstr "Balans bieli" #: src/panasonicmn.cpp:145 msgid "High speed continuous shooting" msgstr "Ciągłe zdjęcia w wysokiej czułości" #: src/panasonicmn.cpp:146 msgid "Intelligent auto" msgstr "Inteligentna automatyka" #: src/panasonicmn.cpp:147 #, fuzzy msgid "Multi-aspect" msgstr "Wielopunktowy" #: src/panasonicmn.cpp:148 #, fuzzy msgid "Transform" msgstr "Zakres przejścia" #: src/panasonicmn.cpp:149 #, fuzzy msgid "Flash Burst" msgstr "Odchylenie ekspozycji flesza" #: src/panasonicmn.cpp:151 #, fuzzy msgid "Film Grain" msgstr "Skaner negatywów" #: src/panasonicmn.cpp:152 #, fuzzy msgid "My Color" msgstr "Moje kolory" #: src/panasonicmn.cpp:153 #, fuzzy msgid "Photo Frame" msgstr "Klatka panoramy" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 #, fuzzy msgid "Handheld Night Shot" msgstr "Światło świecy" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 #, fuzzy msgid "Creative Control" msgstr "Sterowanie podczerwienią" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 msgid "Digital Filter" msgstr "Filtr cyfrowy" #: src/panasonicmn.cpp:162 #, fuzzy msgid "Clear Portrait" msgstr "Autoportret" #: src/panasonicmn.cpp:163 #, fuzzy msgid "Silky Skin" msgstr "Gładka skóra" #: src/panasonicmn.cpp:164 msgid "Backlit Softness" msgstr "" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "" #: src/panasonicmn.cpp:166 #, fuzzy msgid "Relaxing Tone" msgstr "Powiązanie" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "" #: src/panasonicmn.cpp:168 #, fuzzy msgid "Distinct Scenery" msgstr "Scena nocna" #: src/panasonicmn.cpp:169 #, fuzzy msgid "Bright Blue Sky" msgstr "Niebieski" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "" #: src/panasonicmn.cpp:177 #, fuzzy msgid "Glittering Illuminations" msgstr "GPS Informacja o obszarze" #: src/panasonicmn.cpp:178 #, fuzzy msgid "Clear Night Portrait" msgstr "Portret nocny" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "" #: src/panasonicmn.cpp:181 msgid "Cute Desert" msgstr "" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "" #: src/panasonicmn.cpp:183 msgid "Clear Sports Shot" msgstr "" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "" #: src/panasonicmn.cpp:198 msgid "Warm" msgstr "Ciepły" #: src/panasonicmn.cpp:199 msgid "Cool" msgstr "Zimny" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "" #: src/panasonicmn.cpp:208 msgid "Low/High quality" msgstr "Niska/Wysoka jakość" #: src/panasonicmn.cpp:209 msgid "Infinite" msgstr "Nieskończony" #: src/panasonicmn.cpp:217 #, fuzzy msgid "Medium low" msgstr "Średnie niskie" #: src/panasonicmn.cpp:218 #, fuzzy msgid "Medium high" msgstr "Średnie wysokie" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "" #: src/panasonicmn.cpp:229 #, fuzzy msgid "High (+1)" msgstr "Dużo" #: src/panasonicmn.cpp:230 msgid "Lowest (-2)" msgstr "" #: src/panasonicmn.cpp:231 msgid "Highest (+2)" msgstr "" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 #, fuzzy msgid "Rotate 180" msgstr "Obrót o 90 w prawo" #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "" #: src/panasonicmn.cpp:254 #, fuzzy msgid "Disabled but Required" msgstr "Nie używany" #: src/panasonicmn.cpp:255 #, fuzzy msgid "Disabled and Not Required" msgstr "Nie używany" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "Optyka EX" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "Teleobiektyw" #: src/panasonicmn.cpp:282 src/properties.cpp:915 #, fuzzy msgid "Home" msgstr "Rzym" #: src/panasonicmn.cpp:294 msgid "Standard (color)" msgstr "Standardowy (kolorowy)" #: src/panasonicmn.cpp:295 msgid "Dynamic (color)" msgstr "Dynamiczny (kolorowy)" #: src/panasonicmn.cpp:296 msgid "Nature (color)" msgstr "Naturalny (kolorowy)" #: src/panasonicmn.cpp:297 msgid "Smooth (color)" msgstr "Gładki (kolorowy)" #: src/panasonicmn.cpp:298 msgid "Standard (B&W)" msgstr "Standardowy (czarno-biały)" #: src/panasonicmn.cpp:299 msgid "Dynamic (B&W)" msgstr "Dynamiczny (czarno-biały)" #: src/panasonicmn.cpp:300 msgid "Smooth (B&W)" msgstr "Gładki (czarno-biały)" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "Jaskrawy" #: src/panasonicmn.cpp:307 #, fuzzy msgid "No Bracket" msgstr "Bracketing" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:319 #, fuzzy msgid "1st" msgstr "10s" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "" #: src/panasonicmn.cpp:349 #, fuzzy msgid "Extended" msgstr "Ekstender" #: src/panasonicmn.cpp:368 #, fuzzy msgid "NoAuto" msgstr "Auto" #: src/panasonicmn.cpp:369 #, fuzzy msgid "Standard or Custom" msgstr "Forma standardowa" #: src/panasonicmn.cpp:386 #, fuzzy msgid "Rotate CW" msgstr "Obrót o 90 w prawo" #: src/panasonicmn.cpp:388 #, fuzzy msgid "Rotate CCW" msgstr "Obrót o 90 w prawo" #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "" #: src/panasonicmn.cpp:396 #, fuzzy msgid "Left to Right" msgstr "Od lewej do prawej" #: src/panasonicmn.cpp:397 #, fuzzy msgid "Right to Left" msgstr "Od prawej do lewej" #: src/panasonicmn.cpp:398 #, fuzzy msgid "Top to Bottom" msgstr "Od góry do dołu" #: src/panasonicmn.cpp:399 #, fuzzy msgid "Bottom to Top" msgstr "Od dołu do góry" #: src/panasonicmn.cpp:405 #, fuzzy msgid "Time Lapse" msgstr "Czas wysłania" #: src/panasonicmn.cpp:406 #, fuzzy msgid "Stop-Motion Animation" msgstr "Informacje o zdjęciu" #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "" #: src/panasonicmn.cpp:423 #, fuzzy msgid "Electronic" msgstr "Zaznaczenie" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "Audio" #: src/panasonicmn.cpp:453 msgid "White balance adjustment" msgstr "Poprawka balansu bieli" #: src/panasonicmn.cpp:454 msgid "FlashBias" msgstr "Odchylenie błysku" #: src/panasonicmn.cpp:456 src/tags.cpp:194 msgid "Exif version" msgstr "Wersja Exif" #: src/panasonicmn.cpp:458 msgid "Color Effect" msgstr "Efekt kolorystyczny" #: src/panasonicmn.cpp:458 msgid "Color effect" msgstr "Efekt kolorystyczny" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" "Czas w setnych sekundy od momentu włączenia aparatu do momentu zapisania " "zdjęcia na karcie pamięci" #: src/panasonicmn.cpp:460 msgid "Burst Mode" msgstr "Tryb zdjęć seryjnych" #: src/panasonicmn.cpp:460 msgid "Burst mode" msgstr "Tryb zdjęć seryjnych" #: src/panasonicmn.cpp:463 msgid "NoiseReduction" msgstr "Redukcja szumów" #: src/panasonicmn.cpp:464 msgid "Self Timer" msgstr "Samowyzwalacz" #: src/panasonicmn.cpp:467 #, fuzzy msgid "AF Assist Lamp" msgstr "Wspomaganie AF" #: src/panasonicmn.cpp:469 #, fuzzy msgid "Baby Age 1" msgstr "Dziecko" #: src/panasonicmn.cpp:469 msgid "Baby (or pet) age 1" msgstr "" #: src/panasonicmn.cpp:470 msgid "Optical Zoom Mode" msgstr "Tryb powiększenia optycznego" #: src/panasonicmn.cpp:470 msgid "Optical zoom mode" msgstr "Tryb powiększenia optycznego" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "Dzień podróży" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "Dzień podróży" #: src/panasonicmn.cpp:474 #, fuzzy msgid "World Time Location" msgstr "Lokalizacja zdjęcia" #: src/panasonicmn.cpp:474 #, fuzzy msgid "World time location" msgstr "Lokalizacja zdjęcia" #: src/panasonicmn.cpp:475 #, fuzzy msgid "Text Stamp 1" msgstr "GPS Znacznik czasu" #: src/panasonicmn.cpp:476 msgid "Program ISO" msgstr "Program ISO" #: src/panasonicmn.cpp:477 #, fuzzy msgid "Advanced Scene Type" msgstr "Rodzaj sceny" #: src/panasonicmn.cpp:478 #, fuzzy msgid "Text Stamp 2" msgstr "GPS Znacznik czasu" #: src/panasonicmn.cpp:479 #, fuzzy msgid "Faces detected" msgstr "Wykrywanie twarzy" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temp Kelvin" msgstr "Temperatura koloru" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temperatur in Kelvin" msgstr "Temperatura koloru" #: src/panasonicmn.cpp:484 #, fuzzy msgid "Bracket Settings" msgstr "Bracketing" #: src/panasonicmn.cpp:485 #, fuzzy msgid "WB Adjust AB" msgstr "Dopasowanie" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "" #: src/panasonicmn.cpp:486 #, fuzzy msgid "WB Adjust GM" msgstr "Dopasowanie" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "" #: src/panasonicmn.cpp:487 #, fuzzy msgid "Flash Curtain" msgstr "Informacja o fleszu" #: src/panasonicmn.cpp:488 #, fuzzy msgid "Long Shutter Noise Reduction" msgstr "Redukcja szumów przy długiej ekspozycji" #: src/panasonicmn.cpp:491 #, fuzzy msgid "AF Point Position" msgstr "Pozycja AF" #: src/panasonicmn.cpp:492 #, fuzzy msgid "Face detection info" msgstr "Wykrywanie twarzy" #: src/panasonicmn.cpp:495 msgid "Accessory Type" msgstr "Rodzaj akcesorium" #: src/panasonicmn.cpp:495 msgid "Accessory type" msgstr "Rodzaj akcesorium" #: src/panasonicmn.cpp:496 #, fuzzy msgid "Accessory Serial Number" msgstr "Numer seryjny" #: src/panasonicmn.cpp:497 #, fuzzy msgid "Transform 1" msgstr "Zakres przejścia" #: src/panasonicmn.cpp:498 #, fuzzy msgid "Intelligent Exposure" msgstr "Inteligentna automatyka" #: src/panasonicmn.cpp:499 #, fuzzy msgid "Firmware Version of the Lens" msgstr "Wersja firmware" #: src/panasonicmn.cpp:500 #, fuzzy msgid "Face recognition info" msgstr "Informacja o redukcji wstrząsów" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash Warning" msgstr "Ostrzeżenie o ostrzeniu" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash warning" msgstr "Tryb pomiaru błysku" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 msgid "Title" msgstr "Tytuł" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby Name" msgstr "Dziecko" #: src/panasonicmn.cpp:503 msgid "Baby name (or pet name)" msgstr "" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 msgid "Location" msgstr "Położenie" #: src/panasonicmn.cpp:506 src/properties.cpp:441 msgid "State" msgstr "Stan" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "" #: src/panasonicmn.cpp:509 #, fuzzy msgid "Intelligent resolution" msgstr "Inteligentna automatyka" #: src/panasonicmn.cpp:510 #, fuzzy msgid "Burst Speed" msgstr "Czas otwarcia migawki" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "" #: src/panasonicmn.cpp:511 #, fuzzy msgid "Intelligent Dynamic Range" msgstr "Dynamiczny zakres" #: src/panasonicmn.cpp:512 #, fuzzy msgid "Clear Retouch" msgstr "Redukcja szumów" #: src/panasonicmn.cpp:513 #, fuzzy msgid "City2" msgstr "Miasto" #: src/panasonicmn.cpp:515 #, fuzzy msgid "Photo style" msgstr "Tryb zdjęcia" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "" #: src/panasonicmn.cpp:518 msgid "Accelerometer X" msgstr "" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "" #: src/panasonicmn.cpp:519 msgid "Accelerometer Y" msgstr "" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "" #: src/panasonicmn.cpp:520 #, fuzzy msgid "Camera Orientation" msgstr "Orientacja obrazu" #: src/panasonicmn.cpp:521 #, fuzzy msgid "Roll Angle" msgstr "Kąt przycięcia" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "" #: src/panasonicmn.cpp:523 #, fuzzy msgid "Sweep Panorama Direction" msgstr "Kierunek panoramy" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "" #: src/panasonicmn.cpp:525 #, fuzzy msgid "Timer Recording" msgstr "Przesunięcie zapisu" #: src/panasonicmn.cpp:526 #, fuzzy msgid "Internal ND Filter" msgstr "Wewnętrzny + Zewnętrzny" #: src/panasonicmn.cpp:528 #, fuzzy msgid "Shutter Type" msgstr "Szybkość migawki" #: src/panasonicmn.cpp:529 #, fuzzy msgid "Clear Retouch Value" msgstr "Wartości pomiaru szumu." #: src/panasonicmn.cpp:530 #, fuzzy msgid "TouchAE" msgstr "Automatyczna korekcja balansu bieli" #: src/panasonicmn.cpp:533 msgid "MakerNote Version" msgstr "Wersja MakerNote" #: src/panasonicmn.cpp:533 msgid "MakerNote version" msgstr "Wersja MakerNote" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB Red Level" msgstr "WB poziom czerwieni" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB red level" msgstr "WB poziom czerwieni" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB Green Level" msgstr "WB poziom zieleni" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB green level" msgstr "WB poziom zieleni" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB Blue Level" msgstr "WB poziom błękitu" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB blue level" msgstr "WB poziom błękitu" #: src/panasonicmn.cpp:539 #, fuzzy msgid "Text Stamp 3" msgstr "GPS Znacznik czasu" #: src/panasonicmn.cpp:540 #, fuzzy msgid "Text Stamp 4" msgstr "GPS Znacznik czasu" #: src/panasonicmn.cpp:541 #, fuzzy msgid "Baby Age 2" msgstr "Dziecko" #: src/panasonicmn.cpp:541 msgid "Baby (or pet) age 2" msgstr "" #: src/panasonicmn.cpp:542 #, fuzzy msgid "Transform 2" msgstr "Zakres przejścia" #: src/panasonicmn.cpp:544 msgid "Unknown PanasonicMakerNote tag" msgstr "Nieznany znacznik PanasonicMakerNote" #: src/panasonicmn.cpp:562 #, fuzzy msgid "Spot mode on or 9 area" msgstr "Tryb punktowy włączony" #: src/panasonicmn.cpp:563 msgid "Spot mode off or 3-area (high speed)" msgstr "Tryb punktowy wyłączony lub 3-strefowy (wysoka czułość)" #: src/panasonicmn.cpp:564 #, fuzzy msgid "23-area" msgstr "5-strefowy" #: src/panasonicmn.cpp:565 msgid "Spot focussing" msgstr "Ostrzenie punktowe" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "5-strefowy" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "1-strefowy" #: src/panasonicmn.cpp:568 msgid "1-area (high speed)" msgstr "1-strefowy (wysoka czułość)" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "3-strefowy (auto)" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "3-strefowy (lewa)" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "3-strefowy (środek)" #: src/panasonicmn.cpp:572 msgid "3-area (right)" msgstr "3-strefowy (prawa)" #: src/panasonicmn.cpp:574 #, fuzzy msgid "Spot Focusing 2" msgstr "Ostrzenie punktowe" #: src/panasonicmn.cpp:588 msgid " EV" msgstr " EV" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 #, fuzzy msgid "not set" msgstr "nie ustawiono\n" #: src/panasonicmn.cpp:725 msgid "Panasonic raw version" msgstr "Wersja Panasonic raw" #: src/panasonicmn.cpp:726 msgid "Sensor Width" msgstr "Szerokość sensora" #: src/panasonicmn.cpp:726 msgid "Sensor width" msgstr "Szerokość sensora" #: src/panasonicmn.cpp:727 msgid "Sensor Height" msgstr "Wysokość sensora" #: src/panasonicmn.cpp:727 msgid "Sensor height" msgstr "Wysokość sensora" #: src/panasonicmn.cpp:728 msgid "Sensor Top Border" msgstr "Górna granica sensora" #: src/panasonicmn.cpp:728 msgid "Sensor top border" msgstr "Górna granica sensora" #: src/panasonicmn.cpp:729 msgid "Sensor Left Border" msgstr "Lewa granica sensora" #: src/panasonicmn.cpp:729 msgid "Sensor left border" msgstr "Lewa granica sensora" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "Balans czerwieni (w obrazach RAW Digilux 2)" #: src/panasonicmn.cpp:739 src/tags.cpp:469 msgid "Manufacturer" msgstr "Producent" #: src/panasonicmn.cpp:739 msgid "The manufacturer of the recording equipment" msgstr "Producent wyposażenia nagrywającego" #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 msgid "Model" msgstr "Model" #: src/panasonicmn.cpp:740 msgid "The model name or model number of the equipment" msgstr "Nazwa lub numer modelu wyposażenia" #: src/panasonicmn.cpp:741 src/tags.cpp:481 msgid "Strip Offsets" msgstr "Przesunięcia pasów" #: src/panasonicmn.cpp:741 msgid "Strip offsets" msgstr "Przesunięcia pasów" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 msgid "Orientation" msgstr "Orientacja" #: src/panasonicmn.cpp:743 msgid "Rows Per Strip" msgstr "Wierszy na pas" #: src/panasonicmn.cpp:743 msgid "The number of rows per strip" msgstr "Liczba wierszy na pas" #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip Byte Counts" msgstr "Liczba bajtów na pas" #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip byte counts" msgstr "Liczba bajtów na pas" #: src/panasonicmn.cpp:745 msgid "Raw Data Offset" msgstr "Przesunięcie danych Raw" #: src/panasonicmn.cpp:745 msgid "Raw data offset" msgstr "Przesunięcie danych Raw" #: src/panasonicmn.cpp:746 src/tags.cpp:797 msgid "Exif IFD Pointer" msgstr "Wskaźnik Exif IFD" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "Wskaźnik do EXIF IFD" #: src/panasonicmn.cpp:747 src/tags.cpp:808 msgid "GPS Info IFD Pointer" msgstr "Wskaźnik GPS Info IFD" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "Wskaźnik do GPS Info IFD" #: src/panasonicmn.cpp:749 msgid "Unknown PanasonicRaw tag" msgstr "Nieznany znacznik PanasonicRaw" #: src/pentaxmn.cpp:57 msgid "Night-Scene" msgstr "Scena nocna" #: src/pentaxmn.cpp:199 msgid "Good" msgstr "Dobra" #: src/pentaxmn.cpp:200 msgid "Better" msgstr "Lepsza" #: src/pentaxmn.cpp:201 msgid "Best" msgstr "Najlepsza" #: src/pentaxmn.cpp:204 msgid "Premium" msgstr "Premium" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "2560x1920 lub 2304x1728" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "2304x1728 lub 2592x1944" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "2816x2212 lub 2816x2112" #: src/pentaxmn.cpp:247 msgid "Auto, Did not fire" msgstr "Nie, automatycznie" #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 #, fuzzy msgid "Off, Did not fire" msgstr "Flesz się nie uruchomił" #: src/pentaxmn.cpp:250 msgid "Auto, Did not fire, Red-eye reduction" msgstr "Nie, automatycznie, redukcja czerwonych oczu" #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:252 msgid "Auto, Fired" msgstr "Tak, automatycznie" #: src/pentaxmn.cpp:253 #, fuzzy msgid "On, Fired" msgstr "Flesz uruchomił się" #: src/pentaxmn.cpp:254 msgid "Auto, Fired, Red-eye reduction" msgstr "Tak, automatycznie, redukcja czerwonych oczu" #: src/pentaxmn.cpp:255 msgid "On, Red-eye reduction" msgstr "Tak, automatycznie, redukcja czerwonych oczu" #: src/pentaxmn.cpp:256 #, fuzzy msgid "On, Wireless (Master)" msgstr "Tak, bezprzewodowo" #: src/pentaxmn.cpp:257 #, fuzzy msgid "On, Wireless (Control)" msgstr "Tak, bezprzewodowo" #: src/pentaxmn.cpp:258 msgid "On, Soft" msgstr "Tak, miękkie światło" #: src/pentaxmn.cpp:259 msgid "On, Slow-sync" msgstr "Tak, synchronizacja z długimi czasami" #: src/pentaxmn.cpp:260 msgid "On, Slow-sync, Red-eye reduction" msgstr "Tak, synchronizacja długimi czasami, redukcja czerwonych oczu" #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "Tak, synchronizacja na otwarcie migawki" #: src/pentaxmn.cpp:272 msgid "Pan Focus" msgstr "Śledzące ostrzenie" #: src/pentaxmn.cpp:275 #, fuzzy msgid "AF-A" msgstr "AF-S" #: src/pentaxmn.cpp:276 #, fuzzy msgid "Contrast-detect" msgstr "Ustawienie kontrastu" #: src/pentaxmn.cpp:277 #, fuzzy msgid "Tracking Contrast-detect" msgstr "Ustawienie kontrastu" #: src/pentaxmn.cpp:284 #, fuzzy msgid "Fixed Center" msgstr "Przytwierdzony pośrodku" #: src/pentaxmn.cpp:285 #, fuzzy msgid "Automatic Tracking AF" msgstr "Automatycznie" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "" #: src/pentaxmn.cpp:287 #, fuzzy msgid "AF Select" msgstr "Zaznaczenie" #: src/pentaxmn.cpp:305 #, fuzzy msgid "Fixed Center or multiple" msgstr "Przytwierdzony pośrodku" #: src/pentaxmn.cpp:307 #, fuzzy msgid "Top-center" msgstr "Środek" #: src/pentaxmn.cpp:313 #, fuzzy msgid "Bottom-center" msgstr "Dolny lewy" #: src/pentaxmn.cpp:402 msgid "Multi Segment" msgstr "Wielopolowy" #: src/pentaxmn.cpp:403 msgid "Center Weighted" msgstr "Centralnie ważony" #: src/pentaxmn.cpp:415 #, fuzzy msgid "DaylightFluorescent" msgstr "Fluorescencja światło dzienne" #: src/pentaxmn.cpp:416 #, fuzzy msgid "DaywhiteFluorescent" msgstr "Fluorescencja biała dzienna" #: src/pentaxmn.cpp:417 #, fuzzy msgid "WhiteFluorescent" msgstr "Fluorescencja biała" #: src/pentaxmn.cpp:420 #, fuzzy msgid "Color Temperature Enhancement" msgstr "Temperatura koloru" #: src/pentaxmn.cpp:423 msgid "User Selected" msgstr "Wybrany przez użytkownika" #: src/pentaxmn.cpp:428 #, fuzzy msgid "Auto (Daylight)" msgstr "Auto (Światło dzienne)" #: src/pentaxmn.cpp:429 #, fuzzy msgid "Auto (Shade)" msgstr "Auto (Cień)" #: src/pentaxmn.cpp:430 msgid "Auto (Flash)" msgstr "Auto (Błysk)" #: src/pentaxmn.cpp:431 #, fuzzy msgid "Auto (Tungsten)" msgstr "Auto (Lampa tungstenowa)" #: src/pentaxmn.cpp:432 #, fuzzy msgid "Auto (DaylightFluorescent)" msgstr "Auto (Fluorescencja biała dzienna)" #: src/pentaxmn.cpp:433 #, fuzzy msgid "Auto (DaywhiteFluorescent)" msgstr "Auto (Fluorescencja biała dzienna)" #: src/pentaxmn.cpp:434 #, fuzzy msgid "Auto (WhiteFluorescent)" msgstr "Auto (Fluorescencja biała)" #: src/pentaxmn.cpp:435 #, fuzzy msgid "Auto (Cloudy)" msgstr "Auto (Pochmurno)" #: src/pentaxmn.cpp:437 msgid "Preset (Fireworks?)" msgstr "Ustawienie (Fajerwerki?)" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 #, fuzzy msgid "Med Low" msgstr "Niski zakres" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 #, fuzzy msgid "Med High" msgstr "Wysoki zakres" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "-4" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "+4" #: src/pentaxmn.cpp:473 #, fuzzy msgid "Med Soft" msgstr "Miękkie światło" #: src/pentaxmn.cpp:474 #, fuzzy msgid "Med Hard" msgstr "Twarda krawędź" #: src/pentaxmn.cpp:475 #, fuzzy msgid "Very Soft" msgstr "Miękkie światło" #: src/pentaxmn.cpp:476 #, fuzzy msgid "Very Hard" msgstr "Bardzo trudne" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 msgid "Home town" msgstr "Miasto zamieszkania" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "Pago Pago" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "Honolulu" #: src/pentaxmn.cpp:491 msgid "Anchorage" msgstr "Anchorage" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "Vancouver" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "San Fransisco" #: src/pentaxmn.cpp:494 msgid "Los Angeles" msgstr "Los Angeles" #: src/pentaxmn.cpp:495 msgid "Calgary" msgstr "Calgary" #: src/pentaxmn.cpp:496 msgid "Denver" msgstr "Denver" #: src/pentaxmn.cpp:497 msgid "Mexico City" msgstr "Meksyk" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "Chicago" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "Miami" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "Toronto" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "Nowy Jork" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "Santiago" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "Caracas" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "Halifax" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "Buenos Aires" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "Sao Paulo" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "Rio de Janeiro" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "Madryt" #: src/pentaxmn.cpp:509 msgid "London" msgstr "Londyn" #: src/pentaxmn.cpp:510 msgid "Paris" msgstr "Paryż" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "Mediolan" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "Rzym" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "Berlin" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "Johannesburg" #: src/pentaxmn.cpp:515 msgid "Istanbul" msgstr "Stambuł" #: src/pentaxmn.cpp:516 msgid "Cairo" msgstr "Kair" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "Jerozolima" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "Moskwa" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "Dżudda" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "Teheran" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "Dubaj" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "Karaczi" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "Kabul" #: src/pentaxmn.cpp:524 msgid "Male" msgstr "Male" #: src/pentaxmn.cpp:525 msgid "Delhi" msgstr "Delhi" #: src/pentaxmn.cpp:526 msgid "Colombo" msgstr "Kolombo" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "Katmandu" #: src/pentaxmn.cpp:528 msgid "Dacca" msgstr "Dacca" #: src/pentaxmn.cpp:529 msgid "Yangon" msgstr "Rangun" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "Bangkok" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "Kuala Lumpur" #: src/pentaxmn.cpp:532 msgid "Vientiane" msgstr "Wientian" #: src/pentaxmn.cpp:533 msgid "Singapore" msgstr "Singapur" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "Phnom Penh" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "Ho Chi Minh" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "Jakarta" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "Hong Kong" #: src/pentaxmn.cpp:538 msgid "Perth" msgstr "Perth" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "Pekin" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "Szanghaj" #: src/pentaxmn.cpp:541 msgid "Manila" msgstr "Manila" #: src/pentaxmn.cpp:542 msgid "Taipei" msgstr "Tajpej" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "Seul" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "Adelajda" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "Tokio" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "Guam" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "Sydney" #: src/pentaxmn.cpp:548 msgid "Noumea" msgstr "Numea" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "Wellington" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "Auckland" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "Lima" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "Dakar" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "Algier" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "Helsinki" #: src/pentaxmn.cpp:555 msgid "Athens" msgstr "Ateny" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "Nairobi" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "Amsterdam" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "Sztokholm" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "Lizbona" #: src/pentaxmn.cpp:560 #, fuzzy msgid "Copenhagen" msgstr "Tematyka" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "" #: src/pentaxmn.cpp:568 msgid "Unprocessed" msgstr "Nieprzetworzony" #: src/pentaxmn.cpp:570 #, fuzzy msgid "Resized" msgstr "rozmiar" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 msgid "Cropped" msgstr "Wykadrowany" #: src/pentaxmn.cpp:573 #, fuzzy msgid "Digital Filter 6" msgstr "Filtr cyfrowy" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 msgid "Hi-speed Program" msgstr "Program Hi-speed" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 msgid "DOF Program" msgstr "Program DOF" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 msgid "MTF Program" msgstr "Program MTF" #: src/pentaxmn.cpp:588 msgid "Night Scene Portrait" msgstr "Portret nocny" #: src/pentaxmn.cpp:589 msgid "No Flash" msgstr "Bez błysku" #: src/pentaxmn.cpp:592 msgid "Surf & Snow" msgstr "Surfing i śnieg" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "Dzieci" #: src/pentaxmn.cpp:600 #, fuzzy msgid "Stage Lighting" msgstr "D-Lighting" #: src/pentaxmn.cpp:601 #, fuzzy msgid "Night Snap" msgstr "Nocne zdjęcie" #: src/pentaxmn.cpp:602 #, fuzzy msgid "Blue Sky" msgstr "Niebieski" #: src/pentaxmn.cpp:604 #, fuzzy msgid "Night Scene HDR" msgstr "Scena nocna" #: src/pentaxmn.cpp:606 #, fuzzy msgid "Quick Macro" msgstr "Super Makro" #: src/pentaxmn.cpp:607 #, fuzzy msgid "Forest" msgstr "Fluorescencja" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "" #: src/pentaxmn.cpp:610 #, fuzzy msgid "Auto PICT (Standard)" msgstr "Auto (Cień)" #: src/pentaxmn.cpp:611 #, fuzzy msgid "Auto PICT (Portrait)" msgstr "Automatyczna regulacja kontrastu" #: src/pentaxmn.cpp:612 #, fuzzy msgid "Auto PICT (Landscape)" msgstr "Edytowany (krajobraz)" #: src/pentaxmn.cpp:613 msgid "Auto PICT (Macro)" msgstr "" #: src/pentaxmn.cpp:614 #, fuzzy msgid "Auto PICT (Sport)" msgstr "Automatyczna regulacja kontrastu" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 #, fuzzy msgid "Green Mode" msgstr "Tryb zieleni" #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 msgid "Shutter Speed Priority" msgstr "Priorytet migawki" #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 msgid "Aperture Priority" msgstr "Priorytet przysłony" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "Bulb" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "" #: src/pentaxmn.cpp:631 msgid "Program Tv Shift" msgstr "Program Tv Shift" #: src/pentaxmn.cpp:632 msgid "Program Av Shift" msgstr "Program Av Shift" #: src/pentaxmn.cpp:635 msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "Priorytet przysłony (wyłączona automatyczna przysłona)" #: src/pentaxmn.cpp:636 msgid "Manual (Off-Auto-Aperture)" msgstr "Manualny (wyłączona automatyczna przysłona)" #: src/pentaxmn.cpp:637 msgid "Bulb (Off-Auto-Aperture)" msgstr "Bulb (wyłączona automatyczna przysłona)" #: src/pentaxmn.cpp:639 msgid "Shutter Priority" msgstr "Priorytet migawki" #: src/pentaxmn.cpp:640 msgid "Shutter & Aperture Priority AE" msgstr "Priorytet migawki i przysłony AE" #: src/pentaxmn.cpp:641 msgid "Shutter & Aperture Priority AE (1)" msgstr "Priorytet migawki i przysłony AE (1)" #: src/pentaxmn.cpp:642 msgid "Sensitivity Priority AE" msgstr "Priorytet czułości AE" #: src/pentaxmn.cpp:643 msgid "Sensitivity Priority AE (1)" msgstr "Priorytet czułości AE (1)" #: src/pentaxmn.cpp:644 #, fuzzy msgid "Flash X-Sync Speed AE" msgstr "Synchronizacja flesza Av" #: src/pentaxmn.cpp:645 #, fuzzy msgid "Flash X-Sync Speed AE (1)" msgstr "Synchronizacja flesza Av" #: src/pentaxmn.cpp:646 #, fuzzy msgid "Auto Program (Normal)" msgstr "Program (P)" #: src/pentaxmn.cpp:647 msgid "Auto Program (Hi-Speed)" msgstr "" #: src/pentaxmn.cpp:648 #, fuzzy msgid "Auto Program (DOF)" msgstr "Program (P)" #: src/pentaxmn.cpp:649 #, fuzzy msgid "Auto Program (MTF)" msgstr "Program (P)" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "" #: src/pentaxmn.cpp:651 #, fuzzy msgid "Blur control" msgstr "Regulacja barwy" #: src/pentaxmn.cpp:654 msgid "Video (30 fps)" msgstr "" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "" #: src/pentaxmn.cpp:662 #, fuzzy msgid "Continuous (Hi)" msgstr "Ciągły (Hi)" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 msgid "Burst" msgstr "Seria" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 #, fuzzy msgid "Video" msgstr "Szeroki" #: src/pentaxmn.cpp:666 msgid "Self-timer (12 sec)" msgstr "Samowyzwalacz (12 s)" #: src/pentaxmn.cpp:667 msgid "Self-timer (2 sec)" msgstr "Samowyzwalacz (2 s)" #: src/pentaxmn.cpp:669 #, fuzzy msgid "Mirror Lock-up" msgstr "Blokada lustra" #: src/pentaxmn.cpp:670 msgid "Remote Control (3 sec)" msgstr "Sterowanie podczerwienią (3 s)" #: src/pentaxmn.cpp:671 msgid "Remote Control" msgstr "Sterowanie podczerwienią" #: src/pentaxmn.cpp:672 #, fuzzy msgid "Remote Continuous Shooting" msgstr "Ciągłe zdjęcia w wysokiej czułości" #: src/pentaxmn.cpp:675 #, fuzzy msgid "HDR Strong 1" msgstr "Silne" #: src/pentaxmn.cpp:676 #, fuzzy msgid "HDR Strong 2" msgstr "Silne" #: src/pentaxmn.cpp:677 #, fuzzy msgid "HDR Strong 3" msgstr "Silne" #: src/pentaxmn.cpp:678 #, fuzzy msgid "HDR Auto" msgstr "Auto" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "M-42 lub brak obiektywu" #: src/pentaxmn.cpp:691 #, fuzzy msgid "K or M Lens" msgstr "Obiektyw K,M" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "Obiektyw serii A" #: src/pentaxmn.cpp:970 msgid "Bright" msgstr "Jasny" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "" #: src/pentaxmn.cpp:990 #, fuzzy msgid "Weakest" msgstr "Najsłabsze" #: src/pentaxmn.cpp:991 msgid "Weak" msgstr "Słabe" #: src/pentaxmn.cpp:992 msgid "Strong" msgstr "Silne" #: src/pentaxmn.cpp:1112 msgid "No extended bracketing" msgstr "" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "WB-BA" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "WB-GM" #: src/pentaxmn.cpp:1133 msgid "Unknown " msgstr "Nieznane" #: src/pentaxmn.cpp:1146 msgid "Pentax Makernote version" msgstr "Wersja Pentax Makernote" #: src/pentaxmn.cpp:1149 msgid "Camera shooting mode" msgstr "Tryb pracy aparatu" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 msgid "Resolution of a preview image" msgstr "Rozdzielczość obrazu podglądu" #: src/pentaxmn.cpp:1154 msgid "Length of a preview image" msgstr "Długość obrazu podglądu" #: src/pentaxmn.cpp:1155 msgid "Size of an IFD containing a preview image" msgstr "Rozmiar IFD zawierającego obrazu podglądu" #: src/pentaxmn.cpp:1160 msgid "Model identification" msgstr "Identyfikacja modelu" #: src/pentaxmn.cpp:1161 #, fuzzy msgid "Pentax model identification" msgstr "Identyfikacja modelu Pentax" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 msgid "Date" msgstr "Data" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 msgid "Time" msgstr "Czas" #: src/pentaxmn.cpp:1170 msgid "Image quality settings" msgstr "Ustawienia jakości obrazu" #: src/pentaxmn.cpp:1173 msgid "Image size settings" msgstr "Ustawienia rozmiaru obrazu" #: src/pentaxmn.cpp:1177 msgid "Flash mode settings" msgstr "Ustawienia trybu flesza" #: src/pentaxmn.cpp:1180 msgid "Focus mode settings" msgstr "Ustawienia trybu ostrzenia" #: src/pentaxmn.cpp:1183 msgid "Selected AF point" msgstr "Wybrany punkt AF" #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 #, fuzzy msgid "AF point in focus" msgstr "Użyte punkty AF" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 msgid "F-Number" msgstr "Liczba F" #: src/pentaxmn.cpp:1195 msgid "ISO sensitivity" msgstr "Czułość ISO" #: src/pentaxmn.cpp:1196 msgid "ISO sensitivity settings" msgstr "Ustawienia czułości ISO" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 msgid "MeteringMode" msgstr "Tryb pomiaru" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 msgid "AutoBracketing" msgstr "Auto bracketing" #: src/pentaxmn.cpp:1216 #, fuzzy msgid "Blue color balance" msgstr "Balans niebieskiego" #: src/pentaxmn.cpp:1219 #, fuzzy msgid "Red color balance" msgstr "Balans kolorów" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 msgid "FocalLength" msgstr "Długość ogniskowej" #: src/pentaxmn.cpp:1239 #, fuzzy msgid "Hometown" msgstr "Miasto" #: src/pentaxmn.cpp:1245 msgid "Hometown DST" msgstr "Miasto - czas letni" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "Określa czy czas letni jest aktywny w mieście" #: src/pentaxmn.cpp:1248 msgid "Destination DST" msgstr "Cel - czas letni" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "Określa czy czas letni jest aktywny w celu" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 msgid "DSPFirmwareVersion" msgstr "Wersja firmware DSP" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 msgid "CPUFirmwareVersion" msgstr "Wersja firmware CPU" #: src/pentaxmn.cpp:1261 msgid "Light value" msgstr "Wartość światła" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "" "Wartość światła obliczona przez aparat, uwzględnia kompensację ekspozycji" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 #, fuzzy msgid "Image area offset" msgstr "Rozmiar danych obrazu" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 #, fuzzy msgid "Raw image size" msgstr "Rozmiar obrazu" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 msgid "Preview image borders" msgstr "Granice obrazu podglądu" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 msgid "Sensitivity adjust" msgstr "Poprawka czułości" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 msgid "Digital filter" msgstr "Filtr cyfrowy" #: src/pentaxmn.cpp:1299 msgid "Camera temperature" msgstr "Temperatura aparatu" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 msgid "Image tone" msgstr "Tonacja obrazu" #: src/pentaxmn.cpp:1319 msgid "Shake reduction" msgstr "Redukcja wstrząsów" #: src/pentaxmn.cpp:1320 msgid "Shake reduction information" msgstr "Informacja o redukcji wstrząsów" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 msgid "Dynamic range expansion" msgstr "Rozszerzenie dynamiczny zakresu" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 msgid "High ISO noise reduction" msgstr "Redukcja szumów przy długiej ekspozycji" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 #, fuzzy msgid "AF Adjustment" msgstr "Dopasowanie odcieni" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 msgid "Black point" msgstr "Punkt czerni" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 msgid "White point" msgstr "Punkt bieli" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 #, fuzzy msgid "ShotInfo" msgstr "Informacje o zdjęciu" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 msgid "AEInfo" msgstr "Informacja o automatycznej ekspozycji" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 msgid "LensInfo" msgstr "Informacja o obiektywie" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 msgid "FlashInfo" msgstr "Informacja o fleszu" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 msgid "AEMeteringSegments" msgstr "Pola Pomiaru AE" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 #, fuzzy msgid "FlashADump" msgstr "Kompensacja błysku" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 #, fuzzy msgid "FlashBDump" msgstr "Kompensacja błysku" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 #, fuzzy msgid "WB_RGGBLevelsDaylight" msgstr "Poziomy balansu bieli RGGB" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 #, fuzzy msgid "WB_RGGBLevelsShade" msgstr "Poziomy balansu bieli RGGB" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 #, fuzzy msgid "WB_RGGBLevelsCloudy" msgstr "Poziomy balansu bieli RGGB" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 #, fuzzy msgid "WB_RGGBLevelsTungsten" msgstr "Poziomy balansu bieli RGGB" #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 #, fuzzy msgid "WB_RGGBLevelsFluorescentD" msgstr "Fluorescencja biała" #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 #, fuzzy msgid "WB_RGGBLevelsFluorescentN" msgstr "Fluorescencja biała" #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 #, fuzzy msgid "WB_RGGBLevelsFluorescentW" msgstr "Fluorescencja biała" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 #, fuzzy msgid "WB_RGGBLevelsFlash" msgstr "Poziomy balansu bieli RGGB" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 msgid "CameraInfo" msgstr "Informacja o aparacie" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 msgid "BatteryInfo" msgstr "Informacja o baterii" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 msgid "AFInfo" msgstr "Tryb ogniskowania" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 msgid "ColorInfo" msgstr "Informacja o kolorze" #: src/pentaxmn.cpp:1405 msgid "Unknown PentaxMakerNote tag" msgstr "Nieznany znacznik PentaxMakerNote" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "Schemat Dublin Core" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "Schemat digiKam Photo Management" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "" #: src/properties.cpp:113 msgid "XMP Basic schema" msgstr "Schemat Basic XMP" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "Schemat XMP Rights Management" #: src/properties.cpp:115 msgid "XMP Media Management schema" msgstr "Schemat XMP Media Management" #: src/properties.cpp:116 msgid "XMP Basic Job Ticket schema" msgstr "Schemat XMP Basic Job Ticket" #: src/properties.cpp:117 msgid "XMP Paged-Text schema" msgstr "Schemat XMP Paged-Text" #: src/properties.cpp:118 msgid "XMP Dynamic Media schema" msgstr "Schemat XMP Dynamic Media" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "Schemat Microsoft Photo" #: src/properties.cpp:120 #, fuzzy msgid "Adobe Lightroom schema" msgstr "Schemat Adobe Photoshop" #: src/properties.cpp:121 msgid "Adobe PDF schema" msgstr "Schemat Adobe PDF" #: src/properties.cpp:122 msgid "Adobe photoshop schema" msgstr "Schemat Adobe Photoshop" #: src/properties.cpp:123 msgid "Camera Raw schema" msgstr "Schemat Camera RAW" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "Schemat Exif dla właściwości TIFF" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "Schemat Exif dla właściwości specyficznych dla Exif" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "Schemat Exif dla dodatkowych właściwości TIFF" #: src/properties.cpp:127 src/properties.cpp:128 msgid "IPTC Core schema" msgstr "Schemat IPTC Core" #: src/properties.cpp:129 src/properties.cpp:130 msgid "IPTC Extension schema" msgstr "Schemat IPTC Extension" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "Schemat PLUS License Data Format" #: src/properties.cpp:132 #, fuzzy msgid "iView Media Pro schema" msgstr "Schemat XMP Dynamic Media" #: src/properties.cpp:133 #, fuzzy msgid "Expression Media schema" msgstr "Schemat IPTC Extension" #: src/properties.cpp:134 #, fuzzy msgid "Microsoft Photo 1.2 schema" msgstr "Schemat Microsoft Photo" #: src/properties.cpp:135 #, fuzzy msgid "Microsoft Photo RegionInfo schema" msgstr "Schemat Microsoft Photo" #: src/properties.cpp:136 #, fuzzy msgid "Microsoft Photo Region schema" msgstr "Schemat Microsoft Photo" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "" #: src/properties.cpp:138 msgid "Metadata Working Group Keywords schema" msgstr "" #: src/properties.cpp:139 #, fuzzy msgid "XMP Extended Video schema" msgstr "Schemat IPTC Extension" #: src/properties.cpp:140 #, fuzzy msgid "XMP Extended Audio schema" msgstr "Schemat IPTC Extension" #: src/properties.cpp:141 #, fuzzy msgid "XMP Darwin Core schema" msgstr "Schemat Dublin Core" #: src/properties.cpp:142 #, fuzzy msgid "Qualified Dublin Core schema" msgstr "Schemat Dublin Core" #: src/properties.cpp:143 #, fuzzy msgid "ACDSee XMP schema" msgstr "Schemat Adobe PDF" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "" #: src/properties.cpp:148 msgid "Colorant structure" msgstr "Struktura barwnika" #: src/properties.cpp:149 msgid "Dimensions structure" msgstr "Struktura wymiarów" #: src/properties.cpp:150 msgid "Font structure" msgstr "Struktura czcionki" #: src/properties.cpp:151 msgid "Thumbnail structure" msgstr "Struktura miniatury" #: src/properties.cpp:152 #, fuzzy msgid "Resource Event structure" msgstr "Struktura kolekcji" #: src/properties.cpp:153 #, fuzzy msgid "ResourceRef structure" msgstr "Struktura kolekcji" #: src/properties.cpp:154 msgid "Version structure" msgstr "Struktura wersji" #: src/properties.cpp:155 #, fuzzy msgid "Basic Job/Workflow structure" msgstr "Struktura sposobu pracy" #: src/properties.cpp:156 #, fuzzy msgid "Area structure" msgstr "Struktura barwnika" #: src/properties.cpp:159 #, fuzzy msgid "Qualifier for xmp:Identifier" msgstr "Kwalifikator dla xmp:Identifier" #: src/properties.cpp:163 msgid "Contributor" msgstr "Współpraca" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "" "Współpracownicy i inne osoby które przyczyniły się do powstania zasobu (inne " "niż autorzy)." #: src/properties.cpp:164 msgid "Coverage" msgstr "Tematyka" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" #: src/properties.cpp:166 msgid "Creator" msgstr "Autor" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "" "Autor(zy) zasobu (wymienieni w kolejności ich ważności, jeśli to ma " "znaczenie)." #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "Data (daty) kiedy zdarzyło się coś interesującego w związku z zasobem." #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" "Tekstowy opis zawartości zasobu. Może zawierać wiele wartości dla różnych " "języków." #: src/properties.cpp:170 src/properties.cpp:1160 msgid "Format" msgstr "Format" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" "Format pliku użyty do zapisu zasobu. Narzędzia i aplikacje powinny ustawiać " "tą właściwość na format zapisu danych. Może zawierać odpowiednie " "kwalifikatory." #: src/properties.cpp:172 src/properties.cpp:228 msgid "Identifier" msgstr "Identyfikator" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" "Unikalny identyfikator zasobu. Zalecane jest identyfikowanie zasobu za " "pomocą wyrażeń zgodnych z konwencjonalnym systemem identyfikacji." #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "Nieuporządkowana tablica określająca języki użyte w zasobie." #: src/properties.cpp:175 msgid "Publisher" msgstr "Wydawca" #: src/properties.cpp:175 #, fuzzy msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" "Organ odpowiedzialny za udostępnienie zasobu. Przykładowo może zawierać " "osobę, organizację lub usługę. Zazwyczaj podaje się nazwę wydawcy." #: src/properties.cpp:178 msgid "Relation" msgstr "Powiązanie" #: src/properties.cpp:178 #, fuzzy msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" "Unikalny identyfikator zasobu. Zalecane jest identyfikowanie zasobu za " "pomocą wyrażeń zgodnych z konwencjonalnym systemem identyfikacji." #: src/properties.cpp:180 #, fuzzy msgid "Rights" msgstr "Własność" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" #: src/properties.cpp:183 msgid "Unique identifier of the work from which this resource was derived." msgstr "Unikalny identyfikator pracy, z której pochodzi ten zasób." #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" "Tytuł dokumentu lub nazwa nadana zasobowi. Zazwyczaj będzie to nazwa pod " "którą zasób jest oficjalnie znany." #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 msgid "Type" msgstr "Typ" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "Typ dokumentu, na przykład: powieść, wiersz, dokument techniczny." #: src/properties.cpp:194 msgid "Tags List" msgstr "Lista znaczników" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" #: src/properties.cpp:195 #, fuzzy msgid "Captions Author Names" msgstr "Nazwa państwa" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" #: src/properties.cpp:196 #, fuzzy msgid "Captions Date Time Stamps" msgstr "Aktualizacja znacznika czasu" #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" #: src/properties.cpp:197 src/tags.cpp:844 #, fuzzy msgid "Image History" msgstr "Wysokość obrazu" #: src/properties.cpp:197 msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" #: src/properties.cpp:198 #, fuzzy msgid "Lens Correction Settings" msgstr "Ustawienia danych obiektywu" #: src/properties.cpp:198 msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" #: src/properties.cpp:199 #, fuzzy msgid "Color Label" msgstr "Przestrzeń kolorów" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" #: src/properties.cpp:200 #, fuzzy msgid "Pick Label" msgstr "Etykieta" #: src/properties.cpp:200 msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" #: src/properties.cpp:206 #, fuzzy msgid "Panorama Input Files" msgstr "Klatka panoramy" #: src/properties.cpp:206 msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" #: src/properties.cpp:207 msgid "Enfuse Input Files" msgstr "" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" #: src/properties.cpp:208 #, fuzzy msgid "Enfuse Settings" msgstr "Ustawienie odcieni" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "" #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "" #: src/properties.cpp:216 #, fuzzy msgid "Advisory" msgstr "Pomocniczy" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" #: src/properties.cpp:219 src/properties.cpp:1066 msgid "Base URL" msgstr "Bazowy URL" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" #: src/properties.cpp:224 msgid "Create Date" msgstr "Data utworzenia" #: src/properties.cpp:224 #, fuzzy msgid "The date and time the resource was originally created." msgstr "Data i czas zapisania obrazu jako danych cyfrowych." #: src/properties.cpp:225 msgid "Creator Tool" msgstr "Narzędzie tworzące" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" "Nazwa pierwszego znanego narzędzia użytego do utworzenia zasobu. Jeśli w " "metadanych jest zawarta historia, wartość ta powinna być równa właściwości " "xmpMM:History's softwareAgent." #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" #: src/properties.cpp:233 msgid "Label" msgstr "Etykieta" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" "Słowo lub krótkie wyrażenie, które określa dokument jako składnik kolekcji " "(grupy) zdefiniowanej przez użytkownika. Jest to pomocne do porządkowania " "dokumentów w przeglądarce plików." #: src/properties.cpp:235 msgid "Metadata Date" msgstr "Data metadanych" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" "Data i czas kiedy metadane tego zasobu zostały ostatnio zmienione. Powinny " "być takie same lub młodsze niż te w xmp:ModifyDate." #: src/properties.cpp:237 msgid "Modify Date" msgstr "Data modyfikacji" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" "Data i czas kiedy zasób był ostatnio zmodyfikowany. Uwaga: wartość ta nie " "musi być taka sama jak systemowa data modyfikacji pliku, ponieważ jest ona " "ustawiana przed zapisem pliku." #: src/properties.cpp:240 msgid "Nickname" msgstr "Pseudonim" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "Krótka nazwa zasobu." #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 msgid "Rating" msgstr "Ocena" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" #: src/properties.cpp:244 msgid "Thumbnails" msgstr "Miniatury" #: src/properties.cpp:244 #, fuzzy msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" "Alternatywna tablica obrazów miniatur dla pliku, które mogą różnić się " "swoimi charakterystykami, np. rozmiarem lub kodowaniem obrazu." #: src/properties.cpp:251 msgid "Certificate" msgstr "Certyfikat" #: src/properties.cpp:251 #, fuzzy msgid "Online rights management certificate." msgstr "Certyfikat praw zarządzania online." #: src/properties.cpp:252 msgid "Marked" msgstr "Zaznaczone" #: src/properties.cpp:252 #, fuzzy msgid "Indicates that this is a rights-managed resource." msgstr "Data (daty) kiedy zdarzyło się coś interesującego w związku z zasobem." #: src/properties.cpp:253 msgid "Owner" msgstr "Właściciel" #: src/properties.cpp:253 msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "" "Nieuporządkowana tablica określająca prawnego właściciela (właścicieli) " "zasobu." #: src/properties.cpp:254 msgid "Usage Terms" msgstr "Warunki użytkowania" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "Instrukcje tekstowe o sposobie legalnego użycia zasobu." #: src/properties.cpp:255 msgid "Web Statement" msgstr "Strona oświadczenia" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" "Lokalizacja strony internetowej określającej prawa użytkowania i właściciela " "tego zasobu." #: src/properties.cpp:261 msgid "Derived From" msgstr "Pochodzenie" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" #: src/properties.cpp:266 msgid "Document ID" msgstr "Identyfikator dokumentu" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" #: src/properties.cpp:268 msgid "History" msgstr "Historia" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" #: src/properties.cpp:272 #, fuzzy msgid "Instance ID" msgstr "Identyfikator ikony" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" #: src/properties.cpp:274 #, fuzzy msgid "Managed From" msgstr "Odczytywanie z" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" #: src/properties.cpp:277 #, fuzzy msgid "Manager" msgstr "Menedżer" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" #: src/properties.cpp:280 #, fuzzy msgid "Manage To" msgstr "Zarządzanie" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" #: src/properties.cpp:283 #, fuzzy msgid "Manage UI" msgstr "Obiekt kontrolujący" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" #: src/properties.cpp:285 #, fuzzy msgid "Manager Variant" msgstr "Wariant zarządzania" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" #: src/properties.cpp:287 msgid "Rendition Class" msgstr "Klasa wykonania" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" #: src/properties.cpp:289 msgid "Rendition Params" msgstr "Parametry wykonania" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" #: src/properties.cpp:291 msgid "Version ID" msgstr "Identyfikator wersji" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr "" #: src/properties.cpp:295 msgid "Versions" msgstr "Wersje" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" #: src/properties.cpp:301 msgid "Last URL" msgstr "Bazowy URL" #: src/properties.cpp:301 #, fuzzy msgid "Deprecated for privacy protection." msgstr "Zdeprecjonowane dla ochrony prywatności." #: src/properties.cpp:302 msgid "Rendition Of" msgstr "Wykonanie" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" #: src/properties.cpp:304 msgid "Save ID" msgstr "Identyfikator zapisu" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "" #: src/properties.cpp:310 #, fuzzy msgid "Job Reference" msgstr "Odnośnik pracy" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" #: src/properties.cpp:319 msgid "Maximum Page Size" msgstr "Maksymalny rozmiar strony" #: src/properties.cpp:319 #, fuzzy msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "Liczba stron w dokumencie (uwzględniająca również dokumenty zawarte)." #: src/properties.cpp:320 msgid "Number of Pages" msgstr "Liczba stron" #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "Liczba stron w dokumencie (uwzględniająca również dokumenty zawarte)." #: src/properties.cpp:321 msgid "Fonts" msgstr "Czcionki" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" "Nieuporządkowana tablica czcionek użytych w dokumencie (zawierająca również " "czcionki z dokumentów zawartych)." #: src/properties.cpp:322 msgid "Colorants" msgstr "Barwniki" #: src/properties.cpp:322 #, fuzzy msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" "Nieuporządkowana tablica czcionek użytych w dokumencie (zawierająca również " "czcionki z dokumentów zawartych)." #: src/properties.cpp:323 msgid "Plate Names" msgstr "Nazwy płyt" #: src/properties.cpp:323 #, fuzzy msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" "Nieuporządkowana tablica czcionek użytych w dokumencie (zawierająca również " "czcionki z dokumentów zawartych)." #: src/properties.cpp:329 src/properties.cpp:1285 msgid "Project Reference" msgstr "Odniesienie do projektu" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "Odnośnik do projektu w ramach którego utworzono ten plik." #: src/properties.cpp:330 src/properties.cpp:1163 msgid "Video Frame Rate" msgstr "Klatek na sekundę" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "Liczba klatek na sekundę. Jedno z: 24, NTSC, PAL." #: src/properties.cpp:331 src/properties.cpp:1164 msgid "Video Frame Size" msgstr "Rozmiar ramki wideo" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "Rozmiar ramki, na przykład: w:720, h:480, units:pixels" #: src/properties.cpp:332 msgid "Video Pixel Aspect Ratio" msgstr "Proporcje pikseli wideo" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "Video Pixel Depth" msgstr "Głębia pikseli wideo" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "Video Color Space" msgstr "Przestrzeń kolorów wideo" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" "Przestrzeń kolorów. Jedna z: sRGB (używana przez Photoshop), CCIR-601 " "(używana dla NTSC), CCIR-709 (używana dla HD)." #: src/properties.cpp:337 #, fuzzy msgid "Video Alpha Mode" msgstr "Minolta model" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "" #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "" #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "" #: src/properties.cpp:341 msgid "Video Compressor" msgstr "Kompresja wideo" #: src/properties.cpp:341 msgid "Video compression used. For example, jpeg." msgstr "Użyta kompresja wideo, na przykład JPEG." #: src/properties.cpp:342 #, fuzzy msgid "Video Field Order" msgstr "Kolejność warstw wideo" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "" #: src/properties.cpp:343 #, fuzzy msgid "Pull Down" msgstr "Poklatkowość" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "Audio Sample Rate" msgstr "Częstotliwość próbkowania dźwięku" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" "Częstotliwość próbkowania dźwięku. Może być dowolną wartością, ale zwykle " "wynosi 32000, 41100 lub 48000." #: src/properties.cpp:346 src/properties.cpp:1426 msgid "Audio Sample Type" msgstr "Typ próbkowania dźwięku" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "Typ próbkowania dźwięku. Jeden z: 8Int, 16Int, 32Int, 32Float." #: src/properties.cpp:347 src/properties.cpp:1400 msgid "Audio Channel Type" msgstr "Rodzaj kanału dźwięku" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "Typ kanału dźwięku, jeden z: mono, stereo, 5.1, 7.1." #: src/properties.cpp:348 src/properties.cpp:1407 msgid "Audio Compressor" msgstr "Kompresja dźwięku" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "Użyta kompresja dźwięku, na przykład MP3." #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "Położenie głośników" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" #: src/properties.cpp:351 src/properties.cpp:1149 #, fuzzy msgid "File Data Rate" msgstr "Szybkość transmisji" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "" #: src/properties.cpp:352 src/properties.cpp:1334 msgid "Tape Name" msgstr "Nazwa taśmy" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "" #: src/properties.cpp:353 msgid "Alternative Tape Name" msgstr "Inna nazwa taśmy" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" #: src/properties.cpp:355 msgid "Start Time Code" msgstr "Początkowy kod czasu" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "" #: src/properties.cpp:356 msgid "Alternative Time code" msgstr "Dodatkowy kod czasu" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" #: src/properties.cpp:357 src/properties.cpp:1124 msgid "Duration" msgstr "Czas trwania" #: src/properties.cpp:357 msgid "The duration of the media file." msgstr "Czas trwania pliku mediów." #: src/properties.cpp:358 msgid "Scene" msgstr "Scena" #: src/properties.cpp:358 msgid "The name of the scene." msgstr "Nazwa sceny." #: src/properties.cpp:359 msgid "Shot Name" msgstr "Nazwa ujęcia" #: src/properties.cpp:359 #, fuzzy msgid "The name of the shot or take." msgstr "Nazwa ujęcia." #: src/properties.cpp:360 msgid "Shot Date" msgstr "Data zrobienia" #: src/properties.cpp:360 msgid "The date and time when the video was shot." msgstr "Data i czas zrobienia wideo." #: src/properties.cpp:361 msgid "Shot Location" msgstr "Lokalizacja" #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" #: src/properties.cpp:363 #, fuzzy msgid "Log Comment" msgstr "Dziennik komentarzy" #: src/properties.cpp:363 #, fuzzy msgid "User's log comments." msgstr "Komentarze użytkownika." #: src/properties.cpp:364 msgid "Markers" msgstr "Znaczniki" #: src/properties.cpp:364 #, fuzzy msgid "An ordered list of markers" msgstr "Uporządkowana lista znaczników" #: src/properties.cpp:365 #, fuzzy msgid "Contributed Media" msgstr "Media składowe" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "" #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:368 msgid "Video Modified Date" msgstr "Data modyfikacji wideo" #: src/properties.cpp:368 msgid "The date and time when the video was last modified." msgstr "Data i czas ostatniej modyfikacji wideo." #: src/properties.cpp:369 msgid "Audio Modified Date" msgstr "Data modyfikacji dźwięku" #: src/properties.cpp:369 msgid "The date and time when the audio was last modified." msgstr "Data i czas ostatniej modyfikacji dźwięku." #: src/properties.cpp:370 msgid "Metadata Modified Date" msgstr "Data modyfikacji metadanych" #: src/properties.cpp:370 msgid "The date and time when the metadata was last modified." msgstr "Data i czas ostatniej modyfikacji metadanych." #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "Artysta" #: src/properties.cpp:371 src/properties.cpp:1058 msgid "The name of the artist or artists." msgstr "Nazwa artysty lub artystów." #: src/properties.cpp:372 src/properties.cpp:1054 msgid "Album" msgstr "Album" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "The name of the album." msgstr "Nazwa albumu." #: src/properties.cpp:373 src/properties.cpp:1366 msgid "Track Number" msgstr "Numer ścieżki" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "Genre" msgstr "Gatunek" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "The name of the genre." msgstr "Nazwa gatunku." #: src/properties.cpp:375 msgid "The copyright information." msgstr "Informacja o prawach własności." #: src/properties.cpp:376 msgid "The date the title was released." msgstr "Data wydania utworu." #: src/properties.cpp:377 src/properties.cpp:1086 msgid "Composer" msgstr "Kompozytor" #: src/properties.cpp:377 msgid "The composer's name." msgstr "Nazwa (imię i nazwisko) kompozytora." #: src/properties.cpp:378 src/properties.cpp:1143 msgid "Engineer" msgstr "Programista" #: src/properties.cpp:378 msgid "The engineer's name." msgstr "Nazwa (imię i nazwisko) programisty." #: src/properties.cpp:379 msgid "Tempo" msgstr "Tempo" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "Tempo dźwięku." #: src/properties.cpp:380 msgid "Instrument" msgstr "Instrument" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "Instrument muzyczny." #: src/properties.cpp:381 msgid "Intro Time" msgstr "Czas wstępu" #: src/properties.cpp:381 #, fuzzy msgid "The duration of lead time for queuing music." msgstr "Czas trwania pliku mediów." #: src/properties.cpp:382 msgid "Out Cue" msgstr "Wyciszenie" #: src/properties.cpp:382 #, fuzzy msgid "The time at which to fade out." msgstr "Czas w którym następuje wyciszenie." #: src/properties.cpp:383 msgid "Relative Timestamp" msgstr "Względny znacznik czasowy" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "" #: src/properties.cpp:384 msgid "Loop" msgstr "Powtarzanie" #: src/properties.cpp:384 msgid "When true, the clip can be looped seamlessly." msgstr "" #: src/properties.cpp:385 msgid "Number Of Beats" msgstr "Liczba uderzeń" #: src/properties.cpp:385 msgid "The number of beats." msgstr "Liczba uderzeń." #: src/properties.cpp:386 msgid "Key" msgstr "Tonacja" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "" "Tonacja muzyczna dźwięku. Jeden z: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." #: src/properties.cpp:387 #, fuzzy msgid "Stretch Mode" msgstr "Tryb rozciągnięcia" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" #: src/properties.cpp:388 #, fuzzy msgid "Time Scale Parameters" msgstr "Parametry skali czasowej" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "" #: src/properties.cpp:389 #, fuzzy msgid "Resample Parameters" msgstr "Parametry resamplingu" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "" #: src/properties.cpp:390 #, fuzzy msgid "Beat Splice Parameters" msgstr "Parametry Beat Splice" #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "" #: src/properties.cpp:391 msgid "Time Signature" msgstr "Tempo muzyczne" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" #: src/properties.cpp:392 msgid "Scale Type" msgstr "Skala muzyczna" #: src/properties.cpp:392 #, fuzzy msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "Skala muzyczna użyta w utworze." #: src/properties.cpp:399 src/tags.cpp:1078 msgid "Camera Serial Number" msgstr "Numer seryjny aparatu" #: src/properties.cpp:399 msgid "Camera Serial Number." msgstr "Numer seryjny aparatu." #: src/properties.cpp:400 #, fuzzy msgid "Date Acquired" msgstr "Data zgrania" #: src/properties.cpp:400 #, fuzzy msgid "Date Acquired." msgstr "Data zgrania." #: src/properties.cpp:401 msgid "Flash Manufacturer" msgstr "Producent flesza" #: src/properties.cpp:401 msgid "Flash Manufacturer." msgstr "Producent lampy błyskowej." #: src/properties.cpp:402 msgid "Flash Model." msgstr "Model flesza." #: src/properties.cpp:403 msgid "Last Keyword IPTC" msgstr "Ostatnie słowo kluczowe IPTC" #: src/properties.cpp:403 msgid "Last Keyword IPTC." msgstr "Ostatnie słowo kluczowe IPTC." #: src/properties.cpp:404 msgid "Last Keyword XMP" msgstr "Ostatnie słowo kluczowe XMP" #: src/properties.cpp:404 msgid "Last Keyword XMP." msgstr "Ostatnie słowo kluczowe XMP." #: src/properties.cpp:405 #, fuzzy msgid "Lens Manufacturer" msgstr "Producent obiektywu" #: src/properties.cpp:405 msgid "Lens Manufacturer." msgstr "Producent obiektywu." #: src/properties.cpp:406 src/properties.cpp:1199 msgid "Lens Model." msgstr "Model obiektywu." #: src/properties.cpp:407 msgid "Rating Percent" msgstr "Ocena procentowa" #: src/properties.cpp:407 msgid "Rating Percent." msgstr "Ocena procentowa." #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "" #: src/properties.cpp:414 #, fuzzy msgid "Private RTK Info" msgstr "Informacje o zdjęciu" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "" #: src/properties.cpp:420 msgid "Keywords." msgstr "Słowa kluczowe." #: src/properties.cpp:421 msgid "PDF Version" msgstr "Wersja PDF" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "Wersja pliku PDF (np. 1.0, 1.3, itd.)." #: src/properties.cpp:422 src/properties.cpp:1278 msgid "Producer" msgstr "Producent" #: src/properties.cpp:422 msgid "The name of the tool that created the PDF document." msgstr "Nazwa narzędzia, które utworzyło dokument PDF." #: src/properties.cpp:428 msgid "Authors Position" msgstr "Pozycja autora" #: src/properties.cpp:428 msgid "By-line title." msgstr "Tytuł." #: src/properties.cpp:429 msgid "Caption Writer" msgstr "Autor tytułu" #: src/properties.cpp:429 #, fuzzy msgid "Writer/editor." msgstr "Twórca/edytor." #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "Kategoria. Ograniczone do 3 siedmiobitowych znaków ASCII." #: src/properties.cpp:431 msgid "City." msgstr "Miasto." #: src/properties.cpp:432 msgid "Country/primary location." msgstr "Państwo/lokalizacja." #: src/properties.cpp:433 #, fuzzy msgid "Credit." msgstr "Wyrazy uznania." #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" #: src/properties.cpp:438 msgid "Headline." msgstr "Nagłówek." #: src/properties.cpp:439 msgid "Special instructions." msgstr "Specjalne instrukcje." #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source." msgstr "Źródło." #: src/properties.cpp:441 msgid "Province/state." msgstr "Prowincja/stan." #: src/properties.cpp:442 msgid "Supplemental category." msgstr "Kategoria dodatkowa." #: src/properties.cpp:443 #, fuzzy msgid "Original transmission reference." msgstr "Oryginalne miejsce transmisji." #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "Pilność, zakres wartości od 1 do 8." #: src/properties.cpp:452 msgid "inches" msgstr "cale" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "cm" #: src/properties.cpp:457 msgid "Auto Brightness" msgstr "Automatyczna regulacja jasności" #: src/properties.cpp:457 msgid "When true, \"Brightness\" is automatically adjusted." msgstr "" #: src/properties.cpp:458 msgid "Auto Contrast" msgstr "Automatyczna regulacja kontrastu" #: src/properties.cpp:458 msgid "When true, \"Contrast\" is automatically adjusted." msgstr "" #: src/properties.cpp:459 msgid "Auto Exposure" msgstr "Automatyczna ekspozycja" #: src/properties.cpp:459 msgid "When true, \"Exposure\" is automatically adjusted." msgstr "" #: src/properties.cpp:460 msgid "Auto Shadows" msgstr "Automatyczne regulacja cieni" #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "" #: src/properties.cpp:461 msgid "Blue Hue" msgstr "Odcień błękitu" #: src/properties.cpp:461 msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "Odcień błękitu, zakres wartości od -100 do +100." #: src/properties.cpp:462 msgid "Blue Saturation" msgstr "Nasycenie błękitu" #: src/properties.cpp:462 msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "Nasycenie błękitu, zakres wartości od -100 do +100." #: src/properties.cpp:463 msgid "\"Brightness\" setting. Range 0 to +150." msgstr "Jasność, zakres wartość od 0 do +150." #: src/properties.cpp:464 msgid "Camera Profile" msgstr "Profil aparatu" #: src/properties.cpp:464 msgid "\"Camera Profile\" setting." msgstr "Ustawienie \"Profil aparatu\"." #: src/properties.cpp:465 msgid "Chromatic Aberration Blue" msgstr "Aberracja chromatyczna błękitu" #: src/properties.cpp:465 msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "" "Aberracja chromatyczna, korekcja niebieskiej/żółtej obwódki, zakres wartości " "od -100 do +100." #: src/properties.cpp:466 msgid "Chromatic Aberration Red" msgstr "Aberracja chromatyczna czerwieni" #: src/properties.cpp:466 msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "" "Aberracja chromatyczna, korekcja czerwonej/niebieskozielonej obwódki, zakres " "wartości od -100 do +100." #: src/properties.cpp:467 src/properties.cpp:1080 msgid "Color Noise Reduction" msgstr "Redukcja szumów kolorów" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "Redukcja szumów kolorów, zakres wartości od 0 do +100." #: src/properties.cpp:468 msgid "\"Contrast\" setting. Range -50 to +100." msgstr "Kontrast, zakres wartości od -50 do +100." #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "" #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "" #: src/properties.cpp:471 msgid "Crop Bottom" msgstr "Przycięcie dół" #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "" #: src/properties.cpp:472 msgid "Crop Right" msgstr "Przycięcie prawo" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "" #: src/properties.cpp:473 msgid "Crop Angle" msgstr "Kąt przycięcia" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "" #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:476 msgid "Crop Units" msgstr "Jednostki przycięcia" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "" #: src/properties.cpp:477 msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "Ekspozycja, zakres wartości od -4.0 do +4.0." #: src/properties.cpp:478 #, fuzzy msgid "Green Hue" msgstr "Odcień zieleni" #: src/properties.cpp:478 msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "Odcień zieleni, zakres wartości od -100 do +100." #: src/properties.cpp:479 msgid "Green Saturation" msgstr "Nasycenie zieleni" #: src/properties.cpp:479 msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "Nasycenie zieleni, zakres wartości od -100 do +100." #: src/properties.cpp:480 msgid "Has Crop" msgstr "Przycięty" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "" #: src/properties.cpp:481 msgid "Has Settings" msgstr "Ustawienia niestandardowe" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "" #: src/properties.cpp:482 #, fuzzy msgid "Luminance Smoothing" msgstr "Wygładzenie luminancji" #: src/properties.cpp:482 #, fuzzy msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "Nasycenie błękitu, zakres wartości od -100 do +100." #: src/properties.cpp:483 msgid "Raw File Name" msgstr "Nazwa pliku Raw" #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "Nazwa pliku Raw (nie zawiera ścieżki dostępu)." #: src/properties.cpp:484 msgid "Red Hue" msgstr "Odcień czerwieni" #: src/properties.cpp:484 msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "Odcień czerwieni, zakres wartości od -100 do +100." #: src/properties.cpp:485 msgid "Red Saturation" msgstr "Nasycenie czerwieni" #: src/properties.cpp:485 msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "Nasycenie czerwieni, zakres wartości od -100 do +100." #: src/properties.cpp:486 msgid "\"Saturation\" setting. Range -100 to +100." msgstr "Nasycenie, zakres wartości od -100 do 100." #: src/properties.cpp:487 msgid "Shadows" msgstr "Cienie" #: src/properties.cpp:487 msgid "\"Shadows\" setting. Range 0 to +100." msgstr "Cienie, wartości od 0 do +100." #: src/properties.cpp:488 msgid "Shadow Tint" msgstr "Zabarwienie cieni" #: src/properties.cpp:488 msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "Zabarwienie cieni, zakres wartości od -100 do +100." #: src/properties.cpp:489 src/properties.cpp:1301 msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "Ostrość, zakres wartości od 0 do +100." #: src/properties.cpp:490 msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "Temperatura, zakres wartości od 2000 do 50000." #: src/properties.cpp:491 msgid "Tint" msgstr "Zabarwienie" #: src/properties.cpp:491 msgid "\"Tint\" setting. Range -150 to +150." msgstr "Zabarwienie, zakres wartości od -150 do +150." #: src/properties.cpp:492 msgid "Tone Curve" msgstr "Krzywa tonalna" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "" #: src/properties.cpp:493 msgid "Tone Curve Name" msgstr "Nazwa krzywej tonalnej" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "Wersja wtyczki RAW aparatu." #: src/properties.cpp:496 msgid "Vignette Amount" msgstr "Wielkość winietowania" #: src/properties.cpp:496 msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "Wielkość winietowania, zakres wartości od -100 do +100." #: src/properties.cpp:497 msgid "Vignette Midpoint" msgstr "Środek winietowania" #: src/properties.cpp:497 msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "Środek winietowania, zakres wartości od 0 do +100." #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "Znacznik TIFF 256, 0x100. Szerokość obrazu w pikselach." #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 msgid "Image Length" msgstr "Długość obrazu" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "Znacznik TIFF 257, 0x101. Wysokość obrazu w pikselach." #: src/properties.cpp:507 msgid "Bits Per Sample" msgstr "Bitów na próbkę" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "" #: src/properties.cpp:508 src/tags.cpp:434 msgid "Compression" msgstr "Kompresja" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "" "Znacznik TIFF 259, 0x103. Schemat kompresji: 1 = nieskompresowany; 6 = JPEG." #: src/properties.cpp:509 src/tags.cpp:440 msgid "Photometric Interpretation" msgstr "Interpretacja fotometryczna" #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "Znacznik TIFF 262, 0x106. Układ pikseli: 2 = RGB; 6 = YCbCr." #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" #: src/properties.cpp:519 msgid "Samples Per Pixel" msgstr "Próbek na piksel" #: src/properties.cpp:519 #, fuzzy msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "Znacznik TIFF 257, 0x101. Wysokość obrazu w pikselach." #: src/properties.cpp:520 src/tags.cpp:514 msgid "Planar Configuration" msgstr "Konfiguracja powierzchni" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "" #: src/properties.cpp:521 msgid "YCbCr Sub Sampling" msgstr "Podpróbkowanie YCbCr" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" #: src/properties.cpp:523 src/tags.cpp:720 msgid "YCbCr Positioning" msgstr "Rozmieszczenie YCbCr" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" #: src/properties.cpp:525 src/properties.cpp:1390 msgid "X Resolution" msgstr "Rozdzielczość Y" #: src/properties.cpp:525 msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "" "Znacznik TIFF 282, 0x11A. Rozdzielczość pozioma w pikselach na jednostkę." #: src/properties.cpp:526 src/properties.cpp:1392 msgid "Y Resolution" msgstr "Rozdzielczość Y" #: src/properties.cpp:526 msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "" "Znacznik TIFF 283, 0x11B. Rozdzielczość pionowa w pikselach na jednostkę." #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 msgid "Resolution Unit" msgstr "Jednostka rozdzielczości" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" "Znacznik TIFF 296, 0x128. Jednostka użyta w znacznikach Rozdzielczość X " "(XResolution) oraz Rozdzielczość Y (YResolution). Wartości: 2 = cale; 3 = " "centymetry." #: src/properties.cpp:529 src/tags.cpp:540 msgid "Transfer Function" msgstr "Funkcja przejścia" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" #: src/properties.cpp:531 src/tags.cpp:572 msgid "White Point" msgstr "Biały punkt" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "" #: src/properties.cpp:532 src/tags.cpp:577 msgid "Primary Chromaticities" msgstr "Barwy główne" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "" #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "" #: src/properties.cpp:534 msgid "Reference Black White" msgstr "Czerń/biel odniesienia" #: src/properties.cpp:534 msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "" #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 msgid "Date and Time" msgstr "Data i czas" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" #: src/properties.cpp:541 src/tags.cpp:462 msgid "Image Description" msgstr "Opis obrazu" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" "Znacznik TIFF 270, 0x10E. Opis obrazu. Uwaga: ta właściwość jest " "przechowywana w XMP jako dc:description." #: src/properties.cpp:542 #, fuzzy msgid "Make" msgstr "Wytwórca" #: src/properties.cpp:542 msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "Znacznik TIFF 271, 0x10F. Producent wyposażenia nagrywającego." #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "Znacznik TIFF 272, 0x110. Nazwa lub numer modelu wyposażenia." #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" "Znacznik TIFF 305, 0x131. Oprogramowanie lub firmware użyte do utworzenia " "obrazu. Uwaga: ta właściwość jest przechowywana w XMP jako xmp:CreatorTool. " #: src/properties.cpp:546 #, fuzzy msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" "Znacznik TIFF 305, 0x131. Oprogramowanie lub firmware użyte do utworzenia " "obrazu. Uwaga: ta właściwość jest przechowywana w XMP jako xmp:CreatorTool. " #: src/properties.cpp:548 #, fuzzy msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" "Znacznik TIFF 270, 0x10E. Opis obrazu. Uwaga: ta właściwość jest " "przechowywana w XMP jako dc:description." #: src/properties.cpp:555 src/tags.cpp:1605 msgid "Exif Version" msgstr "Wersja Exif" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "Znacznik EXIF 36864, 0x9000. Numer wersji EXIF." #: src/properties.cpp:556 msgid "Flashpix Version" msgstr "Wersja FlashPix" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "Znacznik EXIF 40960, 0xA000. Wersja FlashPix." #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "Znacznik EXIF 40961, 0xA001. Informacja o przestrzeni kolorów" #: src/properties.cpp:558 src/tags.cpp:1616 msgid "Components Configuration" msgstr "Konfiguracja komponentów" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" #: src/properties.cpp:560 src/tags.cpp:825 msgid "Compressed Bits Per Pixel" msgstr "Skompresowane bity na piksel" #: src/properties.cpp:560 msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" "Informacja specyficzna dla skompresowanych danych. Rodzaj kompresji użyty " "dla skompresowanego obrazu jest określony w jednostkach bitów na piksel." #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "Rozmiar X " #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "Znacznik EXIF 40962, 0xA002. Prawidłowa szerokość obrazu w pikselach." #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "Rozmiar Y" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "Znacznik EXIF 40963, 0xA003. Prawidłowa wysokość obrazu w pikselach." #: src/properties.cpp:564 src/tags.cpp:1674 msgid "User Comment" msgstr "Komentarz użytkownika" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "Znacznik EXIF 37510, 0x9286. Komentarze użytkownika." #: src/properties.cpp:565 src/tags.cpp:1716 msgid "Related Sound File" msgstr "Powiązany plik dźwiękowy" #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" "Znacznik EXIF 40964, 0xA004. Nazwa powiązanego pliku dźwiękowego w formacie " "\"8.3\"." #: src/properties.cpp:566 src/properties.cpp:1110 msgid "Date and Time Original" msgstr "Data i czas (oryginału)" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" #: src/properties.cpp:569 src/properties.cpp:1111 msgid "Date and Time Digitized" msgstr "Data i czas (obrazu cyfrowego)" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" #: src/properties.cpp:573 msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "Znacznik EXIF 33434, 0x829A. Czas ekspozycji w sekundach." #: src/properties.cpp:574 src/properties.cpp:1157 msgid "F Number" msgstr "Liczba F" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "Znacznik EXIF 33437, 0x829D. Liczba F." #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "" "Znacznik EXIF 34850, 0x8822. Rodzaj programu użyty do określenia ekspozycji." #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 msgid "Spectral Sensitivity" msgstr "Czułość widmowa" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "Znacznik EXIF 34852, 0x8824. Czułość widmowa każdego kanału." #: src/properties.cpp:577 #, fuzzy msgid "ISOSpeedRatings" msgstr "Oszacowania szybkości ISO" #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" "Znacznik EXIF 34855, 0x8827. Czułość ISO i zakres ISO aparatu lub urządzenia " "wejściowego zgodne ze specyfikacją ISO 12232." #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "OECF" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" "Znacznik EXIF 34856, 0x8828. Funkcja konwersji optoelektrycznej, " "zdefiniowana w dokumencie SO 14524." #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" "Znacznik EXIF 37377, 0x9201. Czas otwarcia migawki, w jednostkach APEX. " "Zobacz Dodatek C w specyfikacji EXIF." #: src/properties.cpp:581 msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "Znacznik EXIF 37378, 0x9202. Przysłona obiektywu, w jednostkach APEX." #: src/properties.cpp:582 src/tags.cpp:828 msgid "Brightness Value" msgstr "Jasność" #: src/properties.cpp:582 msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "Znacznik EXIF 37379, 0x9203. Jasność w jednostkach APEX." #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "Znacznik EXIF 37380, 0x9204. Odchylenie ekspozycji w jednostkach APEX." #: src/properties.cpp:584 src/properties.cpp:1211 msgid "Maximum Aperture Value" msgstr "Największa wartość przysłony" #: src/properties.cpp:584 msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "" "Znacznik EXIF 37381, 0x9205. Najmniejsza liczba F obiektywu, w jednostkach " "APEX." #: src/properties.cpp:585 msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "Znacznik EXIF 37382, 0x9206. Odległość do obiektu podana w metrach." #: src/properties.cpp:586 msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "Znacznik EXIF 37383, 0x9207. Tryb pomiaru." #: src/properties.cpp:587 msgid "EXIF tag 37384, 0x9208. Light source." msgstr "Znacznik EXIF 37384, 0x9208. Źródło światła." #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "Znacznik EXIF 37385, 0x9209. Dane źródła światła błyskowego (flesza)." #: src/properties.cpp:589 msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "" "Znacznik EXIF 37386, 0x920A. Długość ogniskowej obiektywu, w milimetrach." #: src/properties.cpp:590 src/tags.cpp:1666 msgid "Subject Area" msgstr "Obszar obiektu" #: src/properties.cpp:590 msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" "Znacznik EXIF 37396, 0x9214. Położenie i obszar głównego obiektu na całej " "scenie." #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 msgid "Flash Energy" msgstr "Energia błysku" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "" "Znacznik EXIF 41483, 0xA20B. Określa energię światła błyskowego podczas " "wykonywania zdjęcia." #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "Odpowiedź częstotliwości przestrzennej" #: src/properties.cpp:592 msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" "Znacznik EXIF 41484, 0xA20C. Określa tablicę częstotliwości przestrzennej i " "wartości SFR w sposób określony w dokumencie ISO 12233." #: src/properties.cpp:594 src/tags.cpp:839 msgid "Focal Plane X Resolution" msgstr "Rozdzielczość ogniskowej w płaszczyźnie X" #: src/properties.cpp:594 #, fuzzy msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "" "Znacznik TIFF 282, 0x11A. Rozdzielczość pozioma w pikselach na jednostkę." #: src/properties.cpp:595 src/tags.cpp:840 msgid "Focal Plane Y Resolution" msgstr "Rozdzielczość ogniskowej w płaszczyźnie Y" #: src/properties.cpp:595 #, fuzzy msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "" "Znacznik TIFF 283, 0x11B. Rozdzielczość pionowa w pikselach na jednostkę." #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 msgid "Focal Plane Resolution Unit" msgstr "Jednostka rozdzielczości płaszczyzny ogniskowej" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 msgid "Subject Location" msgstr "Położenie obiektu" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" #: src/properties.cpp:600 src/tags.cpp:846 msgid "Exposure Index" msgstr "Indeks ekspozycji" #: src/properties.cpp:600 msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "" "Znacznik EXIF 41493, 0xA215. Indeks ekspozycji w aparacie lub urządzeniu " "wejściowym." #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 msgid "Sensing Method" msgstr "Rodzaj czujnika" #: src/properties.cpp:601 msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "" "Znacznik EXIF 41495, 0xA217. Rodzaj czujnika obrazu w aparacie lub " "urządzeniu wejściowym." #: src/properties.cpp:602 msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "Znacznik EXIF 41728, 0xA300. Określa źródło obrazu." #: src/properties.cpp:603 src/tags.cpp:1771 msgid "Scene Type" msgstr "Rodzaj sceny" #: src/properties.cpp:603 msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "Znacznik EXIF 41729, 0xA301. Określenie rodzaju sceny." #: src/properties.cpp:604 src/tags.cpp:761 msgid "CFA Pattern" msgstr "Wzór CFA" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" #: src/properties.cpp:605 src/tags.cpp:1781 msgid "Custom Rendered" msgstr "Własny rendering" #: src/properties.cpp:605 msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "" "Znacznik EXIF 41985, 0xA401. Ten znacznik określa użycie specjalnego " "przetwarzania danych obrazu." #: src/properties.cpp:606 msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "" "Znacznik EXIF 41986, 0xA402. Ten znacznik określa tryb ekspozycji ustawiony " "przy robieniu zdjęcia." #: src/properties.cpp:607 msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "" "Znacznik EXIF 41987, 0xA403. Określa tryb balansu bieli ustawiony przy " "robieniu zdjęcia." #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 msgid "Digital Zoom Ratio" msgstr "Współczynnik powiększenia cyfrowego" #: src/properties.cpp:608 msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "" "Znacznik EXIF 41988, 0xA404. Określa współczynnik cyfrowego powiększenia " "ustawiony przy robieniu zdjęcia." #: src/properties.cpp:609 src/tags.cpp:1800 msgid "Focal Length In 35mm Film" msgstr "Ogniskowa dla filmu 35mm" #: src/properties.cpp:609 msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" "Znacznik EXIF 41989, 0xA405. Określa odpowiednik ogniskowej w milimetrach " "przy założeniu aparatu na film 35 mm. Wartość 0 oznacza, że ogniskowa jest " "nieznana. Należy zauważyć, że ten znacznik różni się od znacznika " "FocalLength." #: src/properties.cpp:612 src/tags.cpp:1806 msgid "Scene Capture Type" msgstr "Rodzaj uchwycenia sceny" #: src/properties.cpp:612 #, fuzzy msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "Znacznik EXIF 41729, 0xA301. Określenie rodzaju sceny." #: src/properties.cpp:613 src/tags.cpp:1811 msgid "Gain Control" msgstr "Regulacja wzmocnienia" #: src/properties.cpp:613 msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "" "Znacznik EXIF 41991, 0xA407. Określa stopień wzmocnienia całego obrazu." #: src/properties.cpp:614 msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" "Znacznik EXIF 41992, 0xA408. Określa kierunek przetwarzania kontrastu " "wykonanego przez aparat przy robieniu zdjęcia." #: src/properties.cpp:615 msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" "Znacznik EXIF 41993, 0xA409. Określa kierunek przetwarzania nasycenia " "wykonanego przez aparat przy robieniu zdjęcia." #: src/properties.cpp:616 msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" "Znacznik EXIF 41994, 0xA40A. Określa kierunek przetwarzania ostrości " "wykonanego przez aparat przy robieniu zdjęcia." #: src/properties.cpp:617 src/tags.cpp:1826 msgid "Device Setting Description" msgstr "Opis ustawień urządzenia" #: src/properties.cpp:617 msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" "Znacznik EXIF 41995, 0xA40B. Określa informacje o warunkach robienia zdjęcia " "dla konkretnego modelu aparatu." #: src/properties.cpp:618 src/tags.cpp:1831 msgid "Subject Distance Range" msgstr "Zakres odległości obiektu" #: src/properties.cpp:618 msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "Znacznik EXIF 41996, 0xA40C. Określa odległość od obiektu." #: src/properties.cpp:619 src/tags.cpp:1834 msgid "Image Unique ID" msgstr "Unikalny identyfikator obrazu" #: src/properties.cpp:619 msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" "Znaczni EXIF 42016, 0xA420.Ten znacznik określa unikalny identyfikator " "przypisany każdemu zdjęciu. Jest on zapisany jako 32 znakowy łańcuch ASCII " "odpowiadający notacji szesnastkowej o stałej długości 128 bitów." #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 msgid "GPS Version ID" msgstr "GPS Wersja znacznika" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" "Znacznik GPS 0, 0x00. Zakodowany dziesiętnie każdy z czterech bajtów EXIF. " "Bieżąca wartość to \"2.0.0.0\"." #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "GPS Szerokość" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "" "Znacznik GPS 2, 0x02 (pozycja) i 1, 0x01 (oznaczenie). Określa szerokość " "geograficzną i jej oznaczenie (północna/południowa)." #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "GPS Długość" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "" "Znacznik GPS 4, 0x04 (pozycja) i 3, 0x03 (oznaczenie). Określa długość " "geograficzną i jej oznaczenie (wschodnia/zachodnia)." #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 msgid "GPS Altitude Reference" msgstr "GPS Oznaczenie wysokości" #: src/properties.cpp:625 src/properties.cpp:1168 #, fuzzy msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "" "Znacznik GPS 5, 0x05. Określa czy wyniesienie jest powyżej czy poniżej " "poziomu morza (n.p.m. czy p.p.m.)." #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "GPS Wysokość" #: src/properties.cpp:626 src/properties.cpp:1167 msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "Znacznik GPS 6, 0x06. Wysokość (wyniesienie) w metrach." #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 msgid "GPS Time Stamp" msgstr "GPS Znacznik czasu" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" "Znacznik GPS 29 (data), 0x1D oraz znacznik GPS 7 (czas), 0x07. Znacznik " "czasowy danych GPS w postaci czasu uniwersalnego koordynowanego (UTC - " "Coordinated Universal Time). Uwaga: Znacznik GPSDateStamp jest nowy w " "specyfikacji EXIF 2.2. Znacznik czasowy GPS w specyfikacji EXIF 2.1 nie " "zawiera daty. Jeśli nie jest on obecny, data dla XMP powinna być pobrana z " "Exif: DateTimeOriginal lub, jeśli tej również jest brak z exif:" "DateTimeDigitized. Jeśli data jest niedostępna, exif:GPSTimeStamp nie jest " "zapisywany do XMP." #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 msgid "GPS Satellites" msgstr "GPS Satelity" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "" "Znacznik GPS 8, 0x08. Informacja o satelitach użytych do pomiaru, format " "jest nieokreślony." #: src/properties.cpp:634 src/tags.cpp:1989 msgid "GPS Status" msgstr "GPS Stan" #: src/properties.cpp:634 msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "" "Znacznik GPS 9, 0x09. Stan odbiornika GPS w momencie utworzenia obrazu." #: src/properties.cpp:635 src/tags.cpp:1994 msgid "GPS Measure Mode" msgstr "GPS Tryb pomiaru" #: src/properties.cpp:635 msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "" "Znacznik GPS 10, 0x0A. Tryb pomiaru GPS. Wartości tekstowe: \"2\" oznacza " "pomiar dwuwymiarowy, a \"3\" pomiar trójwymiarowy." #: src/properties.cpp:636 msgid "GPS DOP" msgstr "GPS DOP" #: src/properties.cpp:636 msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "Znacznik GPS 11, 0x0B. Stopień precyzji danych GPS." #: src/properties.cpp:637 src/tags.cpp:2002 msgid "GPS Speed Reference" msgstr "GPS Oznaczenie prędkości" #: src/properties.cpp:637 msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "" "Znacznik GPS 12, 0x0C. Jednostki użyte do pomiaru prędkości ruchu odbiornika " "GPS. \"K\", \"M\" i \"N\" oznaczają kilometry, mile i węzły." #: src/properties.cpp:638 src/tags.cpp:2006 msgid "GPS Speed" msgstr "GPS Prędkość" #: src/properties.cpp:638 msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "Znacznik GPS 13, 0x0D. Prędkość ruchu odbiornika GPS." #: src/properties.cpp:639 msgid "GPS Track Reference" msgstr "GPS Oznaczenie kierunku" #: src/properties.cpp:639 msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "" "Znacznik GPS 14, 0x0E. Oznaczenie kierunku ruchu odbiornika GPS. \"T\" " "oznacza kierunek rzeczywisty, a \"M\" kierunek magnetyczny." #: src/properties.cpp:640 src/tags.cpp:2013 msgid "GPS Track" msgstr "GPS Kierunek" #: src/properties.cpp:640 msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" "Znacznik GPS 15, 0x0F. Kierunek ruchu odbiornika GPS, przyjmuje wartości z " "zakresu od 0 do 359.99." #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 msgid "GPS Image Direction Reference" msgstr "GPS Oznaczenie kierunku obrazu" #: src/properties.cpp:641 #, fuzzy msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "" "Znacznik GPS 16, 0x10. Oznaczenie rodzaju kierunku obrazu. \"T\" oznacza " "kierunek rzeczywisty, a \"M\" kierunek magnetyczny." #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 msgid "GPS Image Direction" msgstr "GPS Kierunek obrazu" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" "Znacznik GPS 17, 0x11. Określa kierunek obrazu podczas wykonywania zdjęcia, " "przyjmuje wartości z zakresu od 0 do 359.99." #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 msgid "GPS Map Datum" msgstr "GPS Układ odniesienia" #: src/properties.cpp:643 msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "" "Znacznik GPS 18, 0x12. Określa układ odniesienia współrzędnych użyty przez " "odbiornik GPS." #: src/properties.cpp:644 src/tags.cpp:2033 msgid "GPS Destination Latitude" msgstr "GPS Docelowa szerokość" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" "Znacznik GPS 20, 0x14 (pozycja) i 19, 0x13 (oznaczenie). Określają szerokość " "geograficzną i oznaczenie szerokości punktu docelowego (\"N\" oznacza " "szerokość geograficzną północną, a \"S\" południową)." #: src/properties.cpp:645 src/tags.cpp:2045 msgid "GPS Destination Longitude" msgstr "GPS Docelowa długość" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" "Znacznik GPS 22, 0x16 (pozycja) i 21, 0x15 (oznaczenie). Określają długość " "geograficzną i oznaczenie długości punktu docelowego (\"E\" oznacza długość " "geograficzną wschodnią, a \"W\" zachodnią)." #: src/properties.cpp:646 src/tags.cpp:2052 msgid "GPS Destination Bearing Reference" msgstr "GPS Oznaczenie kierunku docelowego" #: src/properties.cpp:646 msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "" "Znacznik GPS 23, 0x17. Oznaczenie kierunku ruchu do punktu docelowego. \"T\" " "oznacza kierunek rzeczywisty, a \"M\" kierunek magnetyczny." #: src/properties.cpp:647 src/tags.cpp:2056 msgid "GPS Destination Bearing" msgstr "GPS Kierunek docelowy" #: src/properties.cpp:647 msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "" "Znacznik GPS 24, 0x18. Określa kierunek (namiar) do celu, wartości od 0 do " "359.99." #: src/properties.cpp:648 src/tags.cpp:2060 msgid "GPS Destination Distance Reference" msgstr "GPS Jednostki odległości do celu" #: src/properties.cpp:648 msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "" "Znacznik GPS 25, 0x19. Jednostki użyte do pomiaru prędkości. \"K\", \"M\" i " "\"N\" oznaczają kilometry, mile i węzły." #: src/properties.cpp:649 src/tags.cpp:2064 msgid "GPS Destination Distance" msgstr "GPS Odległość obiektu" #: src/properties.cpp:649 msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "Znacznik GPS 26, 0x1A. Odległość do obiektu podana w metrach." #: src/properties.cpp:650 src/tags.cpp:2067 msgid "GPS Processing Method" msgstr "GPS Metoda lokalizacji" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" "Znacznik GPS 27, 0x1B. Łańcuch tekstowy określający metodę użytą do " "znalezienia lokalizacji." #: src/properties.cpp:651 src/tags.cpp:2072 msgid "GPS Area Information" msgstr "GPS Informacja o obszarze" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "Znacznik GPS 28, 0x1C. Określa nazwę obszaru GPS." #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "GPS Korekcja" #: src/properties.cpp:652 msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "" "Znacznik GPS 30, 0x1E. Określa czy dla odbiornika GPS zastosowana została " "korekcja różnicowa." #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "" "Opis obiektywu użytego do zrobienia zdjęcia. Na przykład \"70-200 mm " "f/2.8-4.0\"." #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "Numer seryjny aparatu lub korpusu aparatu użyty do zrobienia zdjęcia." #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "Informacje kontaktowe twórcy" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" "Informacje kontaktowe twórcy zawierające wszystkie niezbędne dane " "umożliwiające skontaktowanie się z twórcą tego obiektu wiadomości. " "Informacje te składają się z zestawu właściwości umożliwiających prawidłowe " "zaadresowanie." #: src/properties.cpp:667 msgid "Contact Info-Address" msgstr "Kontakt-Adres" #: src/properties.cpp:667 #, fuzzy msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" "Część informacji kontaktowej określająca adres. Zawiera opcjonalnie nazwę " "firmy i wszelkie wymagane informacje umożliwiające lokalizację budynku lub " "skrzynki pocztowej na którą ma być wysyłana korespondencja." #: src/properties.cpp:669 msgid "Contact Info-City" msgstr "Kontakt-Miasto" #: src/properties.cpp:669 #, fuzzy msgid "sub-key Creator Contact Info: city." msgstr "Informacje kontaktowe twórcy" #: src/properties.cpp:670 msgid "Contact Info-State/Province" msgstr "Kontakt-Stan/prowincja" #: src/properties.cpp:670 #, fuzzy msgid "sub-key Creator Contact Info: state or province." msgstr "Kontakt-Stan/prowincja" #: src/properties.cpp:671 msgid "Contact Info-Postal Code" msgstr "Kontakt-Kod pocztowy" #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "" #: src/properties.cpp:672 msgid "Contact Info-Country" msgstr "Kontakt-Państwo" #: src/properties.cpp:672 #, fuzzy msgid "sub-key Creator Contact Info: country." msgstr "Informacje kontaktowe twórcy" #: src/properties.cpp:673 msgid "Contact Info-Email" msgstr "Kontakt-Email" #: src/properties.cpp:673 #, fuzzy msgid "sub-key Creator Contact Info: email address." msgstr "Część informacji kontaktowej określająca adres e-mail." #: src/properties.cpp:674 msgid "Contact Info-Phone" msgstr "Kontakt-Telefon" #: src/properties.cpp:674 #, fuzzy msgid "sub-key Creator Contact Info: phone number." msgstr "Informacje kontaktowe twórcy" #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "Kontakt-URL" #: src/properties.cpp:675 #, fuzzy msgid "sub-key Creator Contact Info: web address." msgstr "Informacje kontaktowe twórcy" #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "Intelektualny rodzaj obiektu" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" #: src/properties.cpp:678 msgid "IPTC Scene" msgstr "Scena IPTC" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" "Określa rodzaj sceny zawartości fotografii. Jest to jedno lub więcej wyrażeń " "z \"Scene-NewsCodes\" IPTC. Każda scena jest reprezentowana przez łańcuch 6 " "cyfr w nieuporządkowanej liście." #: src/properties.cpp:680 msgid "IPTC Subject Code" msgstr "Kod tematu IPTC" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" "Określa jeden lub więcej tematów określających zawartość ze strukturalnej " "hierarchii \"Subject-News Codes\" IPTC. Każdy temat jest reprezentowany " "przez łańcuch 8 cyfr w nieuporządkowanej liście." #: src/properties.cpp:682 msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" #: src/properties.cpp:687 msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" #: src/properties.cpp:696 #, fuzzy msgid "Additional model info" msgstr "Informacja o pozycji AF" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "" #: src/properties.cpp:697 msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "" #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" #: src/properties.cpp:699 #, fuzzy msgid "Model age" msgstr "Model" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "" #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "" #: src/properties.cpp:701 #, fuzzy msgid "Person shown" msgstr "Wersje" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "" #: src/properties.cpp:702 #, fuzzy msgid "Digital Image Identifier" msgstr "Cyfrowa stabilizacja obrazu" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "" #: src/properties.cpp:703 #, fuzzy msgid "The type of the source digital file." msgstr "Czas trwania pliku mediów." #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 #, fuzzy msgid "Event" msgstr "Wieczór" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "" #: src/properties.cpp:705 #, fuzzy msgid "Maximum available height" msgstr "Światło zastane" #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:706 #, fuzzy msgid "Maximum available width" msgstr "Maksymalna długość ogniskowej" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:707 msgid "Registry Entry" msgstr "" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" #: src/properties.cpp:708 #, fuzzy msgid "Registry Entry-Item Identifier" msgstr "Cyfrowa stabilizacja obrazu" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "" #: src/properties.cpp:710 #, fuzzy msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "Data i czas ostatniej modyfikacji metadanych." #: src/properties.cpp:711 #, fuzzy msgid "Location shown" msgstr "Kod lokalizacji" #: src/properties.cpp:711 #, fuzzy msgid "A location shown in the image." msgstr "Przesunięcie obrazu podglądu" #: src/properties.cpp:712 #, fuzzy msgid "Location Created" msgstr "Kod lokalizacji" #: src/properties.cpp:712 #, fuzzy msgid "The location the photo was taken." msgstr "Nazwa ujęcia." #: src/properties.cpp:713 #, fuzzy msgid "Location-City" msgstr "Położenie" #: src/properties.cpp:713 #, fuzzy msgid "Name of the city of a location." msgstr "Nazwa artysty lub artystów." #: src/properties.cpp:714 #, fuzzy msgid "Location-Country ISO-Code" msgstr "Kod lokalizacji" #: src/properties.cpp:714 #, fuzzy msgid "The ISO code of a country of a location." msgstr "Nazwa ujęcia." #: src/properties.cpp:715 #, fuzzy msgid "Location-Country Name" msgstr "Nazwa lokalizacji" #: src/properties.cpp:715 #, fuzzy msgid "The name of a country of a location." msgstr "Nazwa ujęcia." #: src/properties.cpp:716 #, fuzzy msgid "Location-Province/State" msgstr "Prowincja/stan" #: src/properties.cpp:716 #, fuzzy msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "Nazwa ujęcia." #: src/properties.cpp:717 #, fuzzy msgid "Location-Sublocation" msgstr "Szczegółowa lokalizacja" #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" #: src/properties.cpp:718 #, fuzzy msgid "Location-World Region" msgstr "Kod lokalizacji" #: src/properties.cpp:718 #, fuzzy msgid "The name of a world region of a location." msgstr "Nazwa ujęcia." #: src/properties.cpp:719 #, fuzzy msgid "Artwork or object in the image" msgstr "Odnośnik do projektu w ramach którego utworzono ten plik." #: src/properties.cpp:719 #, fuzzy msgid "A set of metadata about artwork or an object in the image." msgstr "Odnośnik do projektu w ramach którego utworzono ten plik." #: src/properties.cpp:720 #, fuzzy msgid "Artwork or object-Copyright notice" msgstr "Uwaga o prawach autorskich" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" #: src/properties.cpp:721 #, fuzzy msgid "Artwork or object-Creator" msgstr "Uwaga o prawach autorskich" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" #: src/properties.cpp:722 #, fuzzy msgid "Artwork or object-Date Created" msgstr "Uwaga o prawach autorskich" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" #: src/properties.cpp:723 #, fuzzy msgid "Artwork or object-Source" msgstr "Uwaga o prawach autorskich" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" #: src/properties.cpp:724 #, fuzzy msgid "Artwork or object-Source inventory number" msgstr "Uwaga o prawach autorskich" #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" #: src/properties.cpp:725 #, fuzzy msgid "Artwork or object-Title" msgstr "Uwaga o prawach autorskich" #: src/properties.cpp:725 #, fuzzy msgid "A reference for the artwork or object in the image." msgstr "Odnośnik do projektu w ramach którego utworzono ten plik." #: src/properties.cpp:732 msgid "Scan from film" msgstr "" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "" #: src/properties.cpp:734 msgid "Scan from print" msgstr "" #: src/properties.cpp:735 #, fuzzy msgid "Camera RAW" msgstr "ID aparatu" #: src/properties.cpp:736 #, fuzzy msgid "Camera TIFF" msgstr "ID aparatu" #: src/properties.cpp:737 #, fuzzy msgid "Camera JPEG" msgstr "ID aparatu" #: src/properties.cpp:742 #, fuzzy msgid "PLUS Version" msgstr "Wersja PDF" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "" #: src/properties.cpp:743 #, fuzzy msgid "Licensee" msgstr "Obiektyw" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "" #: src/properties.cpp:744 #, fuzzy msgid "Licensee ID" msgstr "ID obiektywu" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "" #: src/properties.cpp:745 #, fuzzy msgid "Licensee Name" msgstr "Nazwa lokalizacji" #: src/properties.cpp:745 #, fuzzy msgid "Name of each Licensee." msgstr "Nazwa sceny." #: src/properties.cpp:746 #, fuzzy msgid "End User" msgstr "Ekstender" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "" #: src/properties.cpp:747 #, fuzzy msgid "End User ID" msgstr "Ekstender" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "" #: src/properties.cpp:748 #, fuzzy msgid "End User Name" msgstr "Nazwa właściciela" #: src/properties.cpp:748 #, fuzzy msgid "Name of each End User." msgstr "Nazwa sceny." #: src/properties.cpp:749 #, fuzzy msgid "Licensor" msgstr "Obiektyw" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "" #: src/properties.cpp:750 #, fuzzy msgid "Licensor ID" msgstr "ID obiektywu" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "" #: src/properties.cpp:751 #, fuzzy msgid "Licensor Name" msgstr "Nazwa lokalizacji" #: src/properties.cpp:751 #, fuzzy msgid "Name of each Licensor." msgstr "Nazwa sceny." #: src/properties.cpp:752 #, fuzzy msgid "Licensor Address" msgstr "Właściwości obiektywu" #: src/properties.cpp:752 #, fuzzy msgid "Licensor street address." msgstr "Nazwa państwa" #: src/properties.cpp:753 #, fuzzy msgid "Licensor Address Detail" msgstr "Kontakt-Kod pocztowy" #: src/properties.cpp:753 #, fuzzy msgid "Additional Licensor mailing address details." msgstr "Informacja o pozycji AF" #: src/properties.cpp:754 #, fuzzy msgid "Licensor City" msgstr "Meksyk" #: src/properties.cpp:754 #, fuzzy msgid "Licensor City name." msgstr "Nazwa państwa" #: src/properties.cpp:755 #, fuzzy msgid "Licensor State or Province" msgstr "Stan/Prowincja" #: src/properties.cpp:755 #, fuzzy msgid "Licensor State or Province name." msgstr "Stan/Prowincja" #: src/properties.cpp:756 #, fuzzy msgid "Licensor Postal Code" msgstr "Kontakt-Kod pocztowy" #: src/properties.cpp:756 #, fuzzy msgid "Licensor Postal Code or Zip Code." msgstr "Kontakt-Kod pocztowy" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country" msgstr "Państwo" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country name." msgstr "Nazwa państwa" #: src/properties.cpp:758 #, fuzzy msgid "Licensor Telephone Type 1" msgstr "Numer seryjny obiektywu" #: src/properties.cpp:758 #, fuzzy msgid "Licensor Telephone Type 1." msgstr "Numer seryjny obiektywu" #: src/properties.cpp:759 #, fuzzy msgid "Licensor Telephone 1" msgstr "Numer seryjny obiektywu" #: src/properties.cpp:759 #, fuzzy msgid "Licensor Telephone number 1." msgstr "Numer seryjny obiektywu" #: src/properties.cpp:760 #, fuzzy msgid "Licensor Telephone Type 2" msgstr "Numer seryjny obiektywu" #: src/properties.cpp:760 #, fuzzy msgid "Licensor Telephone Type 2." msgstr "Numer seryjny obiektywu" #: src/properties.cpp:761 #, fuzzy msgid "Licensor Telephone 2" msgstr "Numer seryjny obiektywu" #: src/properties.cpp:761 #, fuzzy msgid "Licensor Telephone number 2." msgstr "Numer seryjny obiektywu" #: src/properties.cpp:762 #, fuzzy msgid "Licensor Email" msgstr "Nazwa lokalizacji" #: src/properties.cpp:762 #, fuzzy msgid "Licensor Email address." msgstr "Kontakt-Kod pocztowy" #: src/properties.cpp:763 #, fuzzy msgid "Licensor URL" msgstr "Bazowy URL" #: src/properties.cpp:763 msgid "Licensor world wide web address." msgstr "" #: src/properties.cpp:764 #, fuzzy msgid "Licensor Notes" msgstr "Właściwości obiektywu" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" #: src/properties.cpp:765 #, fuzzy msgid "PLUS Media Summary Code" msgstr "GPS Tryb pomiaru" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" #: src/properties.cpp:766 #, fuzzy msgid "License Start Date" msgstr "Dane wykrywania sceny" #: src/properties.cpp:766 #, fuzzy msgid "The date on which the license takes effect." msgstr "Data i czas zrobienia wideo." #: src/properties.cpp:767 #, fuzzy msgid "License End Date" msgstr "Dane obiektywu" #: src/properties.cpp:767 #, fuzzy msgid "The date on which the license expires." msgstr "Nazwa sceny." #: src/properties.cpp:768 #, fuzzy msgid "Media Constraints" msgstr "PM Kontrast" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" #: src/properties.cpp:769 #, fuzzy msgid "Region Constraints" msgstr "PM Kontrast" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" #: src/properties.cpp:770 #, fuzzy msgid "Product or Service Constraints" msgstr "Automatyczna regulacja kontrastu" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" #: src/properties.cpp:771 #, fuzzy msgid "Image File Constraints" msgstr "Ustawienia rozmiaru obrazu" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "" #: src/properties.cpp:772 #, fuzzy msgid "Image Alteration Constraints" msgstr "Ustawienia jakości obrazu" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" #: src/properties.cpp:773 #, fuzzy msgid "Image Duplication Constraints" msgstr "Ustawienia jakości obrazu" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "" #: src/properties.cpp:774 #, fuzzy msgid "Model Release Status" msgstr "Data udostępnienia" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" #: src/properties.cpp:775 #, fuzzy msgid "Model Release ID" msgstr "Identyfikator modelu" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "" #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "" #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "" #: src/properties.cpp:777 #, fuzzy msgid "Property Release Status" msgstr "Data udostępnienia" #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" #: src/properties.cpp:778 #, fuzzy msgid "Property Release ID" msgstr "Identyfikator modelu" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "" #: src/properties.cpp:779 #, fuzzy msgid "Other Constraints" msgstr "Automatyczna regulacja kontrastu" #: src/properties.cpp:779 #, fuzzy msgid "Additional constraints on the license." msgstr "Informacja o pozycji AF" #: src/properties.cpp:780 #, fuzzy msgid "Credit Line Required" msgstr "Nie używany" #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "" #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "" #: src/properties.cpp:782 #, fuzzy msgid "Other License Requirements" msgstr "Obiektyw" #: src/properties.cpp:782 #, fuzzy msgid "Additional license requirements." msgstr "Informacja o pozycji AF" #: src/properties.cpp:783 #, fuzzy msgid "Terms and Conditions Text" msgstr "Warunki robienia zdjęcia" #: src/properties.cpp:783 msgid "Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:784 #, fuzzy msgid "Terms and Conditions URL" msgstr "Warunki robienia zdjęcia" #: src/properties.cpp:784 msgid "URL for Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:785 #, fuzzy msgid "Other License Conditions" msgstr "Warunki robienia zdjęcia" #: src/properties.cpp:785 #, fuzzy msgid "Additional license conditions." msgstr "Informacja o pozycji AF" #: src/properties.cpp:786 #, fuzzy msgid "Identifies the type of image delivered." msgstr "Określa dostawcę i produkt" #: src/properties.cpp:787 #, fuzzy msgid "Licensor Image ID" msgstr "ID obiektywu" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "" #: src/properties.cpp:788 #, fuzzy msgid "Image File Name As Delivered" msgstr "Powiązany format pliku obrazu" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "" #: src/properties.cpp:789 #, fuzzy msgid "Image File Format As Delivered" msgstr "Powiązany format pliku obrazu" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "" #: src/properties.cpp:790 #, fuzzy msgid "Image File Size As Delivered" msgstr "Powiązany format pliku obrazu" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "" #: src/properties.cpp:791 #, fuzzy msgid "Copyright Status" msgstr "Prawa autorskie" #: src/properties.cpp:791 #, fuzzy msgid "Copyright status of the image." msgstr "Uwaga o prawach autorskich" #: src/properties.cpp:792 #, fuzzy msgid "Copyright Registration Number" msgstr "Nazwa właściciela" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" #: src/properties.cpp:793 #, fuzzy msgid "First Publication Date" msgstr "Data utworzenia postaci cyfrowej" #: src/properties.cpp:793 #, fuzzy msgid "The date on which the image was first published." msgstr "Data wydania utworu." #: src/properties.cpp:794 #, fuzzy msgid "Copyright Owner" msgstr "Prawa autorskie" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "" #: src/properties.cpp:795 #, fuzzy msgid "Copyright Owner ID" msgstr "Prawa autorskie" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "" #: src/properties.cpp:796 #, fuzzy msgid "Copyright Owner Name" msgstr "Nazwa właściciela" #: src/properties.cpp:796 #, fuzzy msgid "Name of Copyright Owner." msgstr "Prawa autorskie" #: src/properties.cpp:797 #, fuzzy msgid "Copyright Owner Image ID" msgstr "Prawa autorskie" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "" #: src/properties.cpp:798 #, fuzzy msgid "Image Creator" msgstr "Orientacja obrazu" #: src/properties.cpp:798 #, fuzzy msgid "Creator/s of the image." msgstr "Przesunięcie obrazu podglądu" #: src/properties.cpp:799 #, fuzzy msgid "Image Creator ID" msgstr "Orientacja obrazu" #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "" #: src/properties.cpp:800 #, fuzzy msgid "Image Creator Name" msgstr "Tonacja obrazu" #: src/properties.cpp:800 #, fuzzy msgid "Name of Image Creator." msgstr "Środek obrazu Raw" #: src/properties.cpp:801 #, fuzzy msgid "Image Creator Image ID" msgstr "Orientacja obrazu" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "" #: src/properties.cpp:802 #, fuzzy msgid "Image Supplier ID" msgstr "Unikalny identyfikator obrazu" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "" #: src/properties.cpp:803 #, fuzzy msgid "Image Supplier Name" msgstr "Rozmiar obrazu" #: src/properties.cpp:803 #, fuzzy msgid "Name of Image Supplier." msgstr "Środek obrazu Raw" #: src/properties.cpp:804 #, fuzzy msgid "Image Supplier Image ID" msgstr "Unikalny identyfikator obrazu" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "" #: src/properties.cpp:805 #, fuzzy msgid "Licensee Image ID" msgstr "Licznik usuniętych zdjęć" #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "" #: src/properties.cpp:806 #, fuzzy msgid "Licensee Image Notes" msgstr "Licznik usuniętych zdjęć" #: src/properties.cpp:806 #, fuzzy msgid "Notes added by Licensee." msgstr "Nazwa sceny." #: src/properties.cpp:807 #, fuzzy msgid "Other Image Info" msgstr "Obiektyw" #: src/properties.cpp:807 #, fuzzy msgid "Additional image information." msgstr "Informacja o pozycji AF" #: src/properties.cpp:808 #, fuzzy msgid "License ID" msgstr "ID obiektywu" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "" #: src/properties.cpp:809 #, fuzzy msgid "Licensor Transaction ID" msgstr "Data ważności" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "" #: src/properties.cpp:810 #, fuzzy msgid "Licensee Transaction ID" msgstr "Data ważności" #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" #: src/properties.cpp:811 #, fuzzy msgid "Licensee Project Reference" msgstr "Odniesienie do projektu" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "" #: src/properties.cpp:812 #, fuzzy msgid "License Transaction Date" msgstr "Data ważności" #: src/properties.cpp:812 #, fuzzy msgid "The date of the License Transaction." msgstr "Nazwa sceny." #: src/properties.cpp:813 #, fuzzy msgid "Reuse" msgstr "użyto" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" #: src/properties.cpp:814 #, fuzzy msgid "Other License Documents" msgstr "Warunki robienia zdjęcia" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "" #: src/properties.cpp:815 #, fuzzy msgid "Other License Info" msgstr "Obiektyw" #: src/properties.cpp:815 #, fuzzy msgid "Additional license information." msgstr "Informacja o pozycji AF" #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "" #: src/properties.cpp:819 #, fuzzy msgid "Custom 4" msgstr "Użytkownika 1-4" #: src/properties.cpp:820 #, fuzzy msgid "Custom 5" msgstr "Użytkownika 1" #: src/properties.cpp:821 #, fuzzy msgid "Custom 6" msgstr "Użytkownika 1" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "" #: src/properties.cpp:822 #, fuzzy msgid "Custom 7" msgstr "Użytkownika 1" #: src/properties.cpp:823 #, fuzzy msgid "Custom 8" msgstr "Użytkownika 1" #: src/properties.cpp:824 #, fuzzy msgid "Custom 9" msgstr "Użytkownika 1" #: src/properties.cpp:825 #, fuzzy msgid "Custom 10" msgstr "Użytkownika 1" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "" #: src/properties.cpp:833 #, fuzzy msgid "Not Required" msgstr "Nie używany" #: src/properties.cpp:839 #, fuzzy msgid "Protected" msgstr "ID produktu" #: src/properties.cpp:840 #, fuzzy msgid "Public Domain" msgstr "Poklatkowość" #: src/properties.cpp:846 #, fuzzy msgid "Credit Adjacent To Image" msgstr "Obraz podglądu" #: src/properties.cpp:847 msgid "Credit in Credits Area" msgstr "" #: src/properties.cpp:848 #, fuzzy msgid "Credit on Image" msgstr "Obraz podglądu" #: src/properties.cpp:849 #, fuzzy msgid "Not Require" msgstr "Nieokreślony" #: src/properties.cpp:854 #, fuzzy msgid "No Colorization" msgstr "Solaryzacja" #: src/properties.cpp:855 msgid "No Cropping" msgstr "" #: src/properties.cpp:856 #, fuzzy msgid "No De-Colorization" msgstr "Solaryzacja" #: src/properties.cpp:857 msgid "No Flipping" msgstr "" #: src/properties.cpp:858 #, fuzzy msgid "No Merging" msgstr "Redukcja szumów" #: src/properties.cpp:859 #, fuzzy msgid "No Retouching" msgstr "Redukcja szumów" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "" #: src/properties.cpp:865 #, fuzzy msgid "No Duplication Constraints" msgstr "Ustawienia jakości obrazu" #: src/properties.cpp:866 #, fuzzy msgid "No Duplication" msgstr "Czas trwania" #: src/properties.cpp:871 #, fuzzy msgid "Maintain File Name" msgstr "Nazwa pliku Raw" #: src/properties.cpp:872 #, fuzzy msgid "Maintain File Type" msgstr "Nazwa pliku Raw" #: src/properties.cpp:873 #, fuzzy msgid "Maintain ID in File Name" msgstr "Oryginalna nazwa pliku Raw" #: src/properties.cpp:874 #, fuzzy msgid "Maintain Metadata" msgstr "Minolta data" #: src/properties.cpp:879 #, fuzzy msgid "Windows Bitmap (BMP)" msgstr "Windows Tytuł" #: src/properties.cpp:880 msgid "Digital Negative (DNG)" msgstr "" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "" #: src/properties.cpp:882 #, fuzzy msgid "Graphics Interchange Format (GIF)" msgstr "Format JPEG" #: src/properties.cpp:883 #, fuzzy msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "Format JPEG" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "" #: src/properties.cpp:889 #, fuzzy msgid "Tagged Image File Format (TIFF)" msgstr "Powiązany format pliku obrazu" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "" #: src/properties.cpp:896 #, fuzzy msgid "Up to 1 MB" msgstr "Optio A10" #: src/properties.cpp:897 #, fuzzy msgid "Up to 10 MB" msgstr "Optio A10" #: src/properties.cpp:898 #, fuzzy msgid "Up to 30 MB" msgstr "Optio 30" #: src/properties.cpp:899 #, fuzzy msgid "Up to 50 MB" msgstr "Optio S50" #: src/properties.cpp:904 #, fuzzy msgid "Illustrated Image" msgstr "Powiązana szerokość obrazu" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "" #: src/properties.cpp:913 #, fuzzy msgid "Cell" msgstr "Żółty" #: src/properties.cpp:914 msgid "FAX" msgstr "" #: src/properties.cpp:916 #, fuzzy msgid "Pager" msgstr "Menedżer" #: src/properties.cpp:917 msgid "Work" msgstr "" #: src/properties.cpp:922 #, fuzzy msgid "Age Unknown" msgstr "Brak informacji" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "" #: src/properties.cpp:924 msgid "Age 24" msgstr "" #: src/properties.cpp:925 msgid "Age 23" msgstr "" #: src/properties.cpp:926 msgid "Age 22" msgstr "" #: src/properties.cpp:927 msgid "Age 21" msgstr "" #: src/properties.cpp:928 msgid "Age 20" msgstr "" #: src/properties.cpp:929 msgid "Age 19" msgstr "" #: src/properties.cpp:930 msgid "Age 18" msgstr "" #: src/properties.cpp:931 msgid "Age 17" msgstr "" #: src/properties.cpp:932 msgid "Age 16" msgstr "" #: src/properties.cpp:933 msgid "Age 15" msgstr "" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "" #: src/properties.cpp:941 #, fuzzy msgid "Unlimited Model Releases" msgstr "Identyfikator modelu" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "" #: src/properties.cpp:949 msgid "Unlimited Property Releases" msgstr "" #: src/properties.cpp:950 msgid "Limited or Incomplete Property Releases" msgstr "" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "" #: src/properties.cpp:960 src/properties.cpp:969 #, fuzzy msgid "Fixture Identification" msgstr "Identyfikacja modelu" #: src/properties.cpp:961 src/properties.cpp:970 #, fuzzy msgid "Status" msgstr "GPS Stan" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "" #: src/properties.cpp:962 src/properties.cpp:971 #, fuzzy msgid "People" msgstr "Purpurowy" #: src/properties.cpp:963 src/properties.cpp:972 #, fuzzy msgid "Catalog Sets" msgstr "Numer odstępu" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "" #: src/properties.cpp:978 #, fuzzy msgid "RegionInfo" msgstr "Informacja o obiektywie" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "" #: src/properties.cpp:984 src/properties.cpp:1000 #, fuzzy msgid "Regions" msgstr "Wersje" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "" #: src/properties.cpp:985 #, fuzzy msgid "Date Regions Valid" msgstr "Data i czas (oryginału)" #: src/properties.cpp:985 #, fuzzy msgid "Date the last region was created" msgstr "Data wydania utworu." #: src/properties.cpp:991 #, fuzzy msgid "Person Display Name" msgstr "Nazwy płyt" #: src/properties.cpp:991 msgid "Name of the person (in the given rectangle)" msgstr "" #: src/properties.cpp:992 msgid "Rectangle" msgstr "" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "" #: src/properties.cpp:993 #, fuzzy msgid "Person Email Digest" msgstr "Oryginalne dane pliku Raw" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "" #: src/properties.cpp:994 msgid "Person LiveId CID" msgstr "" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "" #: src/properties.cpp:1001 #, fuzzy msgid "Applied To Dimensions" msgstr "Rozmiar X " #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "" #: src/properties.cpp:1002 #, fuzzy msgid "Region List" msgstr "Wersje" #: src/properties.cpp:1002 #, fuzzy msgid "List of Region structures" msgstr "Struktura wersji" #: src/properties.cpp:1003 #, fuzzy msgid "Area" msgstr "Strefy AF" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" #: src/properties.cpp:1007 #, fuzzy msgid "Focus Usage" msgstr "Obszar ogniskowania" #: src/properties.cpp:1008 #, fuzzy msgid "Bar Code Value" msgstr "Krok bracketingu" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "" #: src/properties.cpp:1009 #, fuzzy msgid "Extensions" msgstr "Wersje" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "" #: src/properties.cpp:1015 msgid "Main structure containing keyword based information" msgstr "" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "" #: src/properties.cpp:1016 #, fuzzy msgid "List of root keyword structures" msgstr "Struktura wersji" #: src/properties.cpp:1017 #, fuzzy msgid "Keyword" msgstr "Słowa kluczowe" #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "" #: src/properties.cpp:1018 msgid "Applied" msgstr "" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" #: src/properties.cpp:1019 #, fuzzy msgid "List of children keyword structures" msgstr "Struktura wersji" #: src/properties.cpp:1026 #, fuzzy msgid "Use Panorama Viewer" msgstr "Tryb panoramy" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" #: src/properties.cpp:1027 #, fuzzy msgid "Capture Software" msgstr "Przechwycone dane" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" #: src/properties.cpp:1028 #, fuzzy msgid "Stitching Software" msgstr "Program" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" #: src/properties.cpp:1029 #, fuzzy msgid "Projection Type" msgstr "Typ obiektu" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "" #: src/properties.cpp:1034 #, fuzzy msgid "The pitch angle of the initial view in degrees." msgstr "Odległość obiektu podana w metrach." #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" #: src/properties.cpp:1037 #, fuzzy msgid "First Photo Date" msgstr "Data utworzenia postaci cyfrowej" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "" #: src/properties.cpp:1038 #, fuzzy msgid "Last Photo Date" msgstr "Data zrobienia" #: src/properties.cpp:1038 #, fuzzy msgid "Date and time for the last image created in the panorama." msgstr "Data i czas ostatniej modyfikacji metadanych." #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "" #: src/properties.cpp:1040 #, fuzzy msgid "Exposure Lock Used" msgstr "Tryb naświetlania" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" #: src/properties.cpp:1041 #, fuzzy msgid "Cropped Area Image Width Pixels" msgstr "Szerokość obrazu" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" #: src/properties.cpp:1042 #, fuzzy msgid "Cropped Area Image Height Pixels" msgstr "Wysokość obrazu" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" #: src/properties.cpp:1047 #, fuzzy msgid "Initial Camera Dolly" msgstr "Unikalny model aparatu" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" #: src/properties.cpp:1055 #, fuzzy msgid "Archival Location" msgstr "Lokalizacja" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "" #: src/properties.cpp:1056 #, fuzzy msgid "Arranger" msgstr "Pomarańczowy" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "" #: src/properties.cpp:1057 #, fuzzy msgid "Arranger Keywords" msgstr "Słowa kluczowe" #: src/properties.cpp:1057 msgid "Information about the Arranger Keywords." msgstr "" #: src/properties.cpp:1059 #, fuzzy msgid "Video Aspect Ratio" msgstr "Proporcje pikseli wideo" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "" #: src/properties.cpp:1060 #, fuzzy msgid "Video Aspect Ratio Type" msgstr "Proporcje pikseli wideo" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "" #: src/properties.cpp:1062 #, fuzzy msgid "Attached File Description" msgstr "Opis obrazu" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "" #: src/properties.cpp:1064 #, fuzzy msgid "Attached File Name" msgstr "Nazwa pliku Raw" #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "" #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" #: src/properties.cpp:1068 #, fuzzy msgid "Brightness setting." msgstr "Ustawienie wyostrzenia" #: src/properties.cpp:1069 #, fuzzy msgid "Camera Byte Order" msgstr "Kolejność bajtów" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "" #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "" #: src/properties.cpp:1070 #, fuzzy msgid "The video Cinematographer information." msgstr "Informacja o prawach własności." #: src/properties.cpp:1071 #, fuzzy msgid "Clean Aperture Width" msgstr "Najmniejsza wartość przysłony" #: src/properties.cpp:1071 #, fuzzy msgid "Clean aperture width in pixels" msgstr "Maksymalna apertura przy minimalnej ogniskowej" #: src/properties.cpp:1072 #, fuzzy msgid "Clean Aperture Height" msgstr "Tryb strefy AF" #: src/properties.cpp:1072 #, fuzzy msgid "Clean aperture height in pixels" msgstr "Maksymalna apertura przy minimalnej ogniskowej" #: src/properties.cpp:1073 #, fuzzy msgid "Video Codec" msgstr "Kompresja wideo" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" #: src/properties.cpp:1074 msgid "Video Codec Decode Info" msgstr "" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1075 #, fuzzy msgid "Video Codec Description" msgstr "Opis ustawień urządzenia" #: src/properties.cpp:1075 src/properties.cpp:1403 #, fuzzy msgid "Contains description the codec." msgstr "Tekstowy opis obiektu." #: src/properties.cpp:1076 #, fuzzy msgid "Video Codec Information" msgstr "Konfiguracja obrazu" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL" msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL." msgstr "" #: src/properties.cpp:1078 #, fuzzy msgid "Video Codec Settings" msgstr "Ustawienie trybu działania" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1083 #, fuzzy msgid "Comment" msgstr "Dziennik komentarzy" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned" msgstr "Kompresja" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned." msgstr "Kompresja" #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1086 msgid "Information about the Composer." msgstr "" #: src/properties.cpp:1087 #, fuzzy msgid "Composer Keywords" msgstr "Windows Słowa kluczowe" #: src/properties.cpp:1087 msgid "Information about the Composer Keywords." msgstr "" #: src/properties.cpp:1088 #, fuzzy msgid "Compressor" msgstr "Kompresja" #: src/properties.cpp:1088 #, fuzzy msgid "Video Compression Library Used" msgstr "Kompresja wideo" #: src/properties.cpp:1089 #, fuzzy msgid "Video Compressor ID" msgstr "Kompresja wideo" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "" #: src/properties.cpp:1090 #, fuzzy msgid "Compressor Version" msgstr "Kompresja" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "" #: src/properties.cpp:1091 #, fuzzy msgid "Container Type" msgstr "Rodzaj aparatu" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "" #: src/properties.cpp:1092 #, fuzzy msgid "Content Compression Algorithm" msgstr "Współczynnik kompresji" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "" #: src/properties.cpp:1097 #, fuzzy msgid "Indicates the direction of contrast processing applied by the camera." msgstr "" "Znacznik EXIF 41992, 0xA408. Określa kierunek przetwarzania kontrastu " "wykonanego przez aparat przy robieniu zdjęcia." #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "" #: src/properties.cpp:1100 #, fuzzy msgid "Name of the country where the video was created." msgstr "Nazwa dokumentu, z którego obraz został zeskanowany" #: src/properties.cpp:1101 #, fuzzy msgid "Creation Date" msgstr "Data utworzenia" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" #: src/properties.cpp:1103 #, fuzzy msgid "Pixel Crop Bottom" msgstr "Przycięcie dół" #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "" #: src/properties.cpp:1104 #, fuzzy msgid "Pixel Crop Left" msgstr "Przycięcie lewo" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "" #: src/properties.cpp:1105 #, fuzzy msgid "Pixel Crop Right" msgstr "Przycięcie prawo" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "" #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "" #: src/properties.cpp:1107 #, fuzzy msgid "Pixel Crop Top" msgstr "Przycięcie góra" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "" #: src/properties.cpp:1108 #, fuzzy msgid "Current Time" msgstr "Bieżący profil ICC" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "" #: src/properties.cpp:1109 #, fuzzy msgid "Data Packets" msgstr "Pakiet XML" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "" #: src/properties.cpp:1110 #, fuzzy msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "Data i czas ostatniej modyfikacji metadanych." #: src/properties.cpp:1111 msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" #: src/properties.cpp:1113 #, fuzzy msgid "Date-Time Original" msgstr "Data i czas (oryginału)" #: src/properties.cpp:1113 #, fuzzy msgid "Contains the production date" msgstr "Redukcja szumów kolorów" #: src/properties.cpp:1114 msgid "Video Track Default On" msgstr "" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1115 #, fuzzy msgid "Indicates the digital zoom ratio when the video was shot." msgstr "" "Znacznik EXIF 41988, 0xA404. Określa współczynnik cyfrowego powiększenia " "ustawiony przy robieniu zdjęcia." #: src/properties.cpp:1116 #, fuzzy msgid "Dimensions" msgstr "Wersje" #: src/properties.cpp:1116 msgid "Information about the Dimensions of the video frame." msgstr "" #: src/properties.cpp:1117 #, fuzzy msgid "Director" msgstr "Bezpośredni" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "" #: src/properties.cpp:1118 #, fuzzy msgid "Video Display Unit" msgstr "Wyświetlanie nałożone" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1120 #, fuzzy msgid "Doc Type" msgstr "Typ ogniskowania" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" #: src/properties.cpp:1121 #, fuzzy msgid "Doc Type Read Version" msgstr "Wersja rekordu" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" #: src/properties.cpp:1122 #, fuzzy msgid "Doc Type Version" msgstr "Wersja modelu" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "" #: src/properties.cpp:1124 #, fuzzy msgid "The duration of the media file. Measured in milli-seconds." msgstr "Czas trwania pliku mediów." #: src/properties.cpp:1125 #, fuzzy msgid "EBML Read Version" msgstr "Wersja rekordu" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "" #: src/properties.cpp:1126 #, fuzzy msgid "EBML Version" msgstr "Wersja ARM" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "" #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "" #: src/properties.cpp:1136 msgid "Edited By" msgstr "" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1137 #, fuzzy msgid "Video Track Enabled" msgstr "Klatek na sekundę" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels width in pixels" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "" #: src/properties.cpp:1141 msgid "Encoder" msgstr "" #: src/properties.cpp:1141 msgid "Information about the Encoder." msgstr "" #: src/properties.cpp:1142 #, fuzzy msgid "End Timecode" msgstr "Dodatkowy kod czasu" #: src/properties.cpp:1143 msgid "Engineer, in most cases name of person." msgstr "" #: src/properties.cpp:1144 #, fuzzy msgid "Equipment" msgstr "Wyposażenie" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "" #: src/properties.cpp:1145 #, fuzzy msgid "Exposure Compensation Information." msgstr "Kompensacja ekspozycji" #: src/properties.cpp:1146 #, fuzzy msgid "Exposure Program Information." msgstr "Tryb ekspozycji" #: src/properties.cpp:1147 #, fuzzy msgid "Exposure time in seconds." msgstr "Czas ekspozycji podany w sekundach (s)." #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description" msgstr "Opis ustawień urządzenia" #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description, usually found in ASF type files." msgstr "Opis ustawień urządzenia" #: src/properties.cpp:1150 #, fuzzy msgid "File ID" msgstr "Plik" #: src/properties.cpp:1150 #, fuzzy msgid "File ID." msgstr "Plik" #: src/properties.cpp:1151 #, fuzzy msgid "File Length" msgstr "Długość kafelka" #: src/properties.cpp:1151 #, fuzzy msgid "File length." msgstr "Długość kafelka" #: src/properties.cpp:1152 #, fuzzy msgid "File Name" msgstr "Nazwa pliku" #: src/properties.cpp:1152 msgid "File Name or Absolute File Path" msgstr "" #: src/properties.cpp:1153 #, fuzzy msgid "File Size" msgstr "Rozmiar pliku" #: src/properties.cpp:1153 #, fuzzy msgid "File Size, in MB" msgstr "Rozmiar pliku" #: src/properties.cpp:1154 #, fuzzy msgid "File Type" msgstr "Nowy typ podpliku" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "" #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "" #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "" #: src/properties.cpp:1158 #, fuzzy msgid "Focal length of the lens, in millimeters." msgstr "" "Znacznik EXIF 37386, 0x920A. Długość ogniskowej obiektywu, w milimetrach." #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "" #: src/properties.cpp:1161 #, fuzzy msgid "Frame Count" msgstr "Licznik zdjęć" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "" #: src/properties.cpp:1162 #, fuzzy msgid "Frame Height" msgstr "Tryb strefy AF" #: src/properties.cpp:1162 msgid "Height of frames in a video" msgstr "" #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" #: src/properties.cpp:1165 #, fuzzy msgid "Frame Width" msgstr "Tryb strefy AF" #: src/properties.cpp:1165 msgid "Width of frames in a video" msgstr "" #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "" #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "" #: src/properties.cpp:1171 #, fuzzy msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "" "Znacznik GPS 17, 0x11. Określa kierunek obrazu podczas wykonywania zdjęcia, " "przyjmuje wartości z zakresu od 0 do 359.99." #: src/properties.cpp:1172 #, fuzzy msgid "Reference for image direction." msgstr "" "Znacznik GPS 16, 0x10. Oznaczenie rodzaju kierunku obrazu. \"T\" oznacza " "kierunek rzeczywisty, a \"M\" kierunek magnetyczny." #: src/properties.cpp:1173 #, fuzzy msgid "(North/South). Indicates latitude." msgstr "" "Znacznik GPS 2, 0x02 (pozycja) i 1, 0x01 (oznaczenie). Określa szerokość " "geograficzną i jej oznaczenie (północna/południowa)." #: src/properties.cpp:1174 #, fuzzy msgid "(East/West). Indicates longitude." msgstr "" "Znacznik GPS 4, 0x04 (pozycja) i 3, 0x03 (oznaczenie). Określa długość " "geograficzną i jej oznaczenie (wschodnia/zachodnia)." #: src/properties.cpp:1175 #, fuzzy msgid "Geodetic survey data." msgstr "" "Znacznik GPS 18, 0x12. Określa układ odniesienia współrzędnych użyty przez " "odbiornik GPS." #: src/properties.cpp:1176 #, fuzzy msgid "Satellite information, format is unspecified." msgstr "" "Znacznik GPS 8, 0x08. Informacja o satelitach użytych do pomiaru, format " "jest nieokreślony." #: src/properties.cpp:1177 #, fuzzy msgid "Time stamp of GPS data, " msgstr "Znacznik czasu metadaty z kluczem" #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "" #: src/properties.cpp:1179 #, fuzzy msgid "Graphics Mode" msgstr "Tryb Easy" #: src/properties.cpp:1179 msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" #: src/properties.cpp:1181 msgid "Grouping" msgstr "" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 #, fuzzy msgid "Handler Description" msgstr "Opis obrazu" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 #, fuzzy msgid "Handler Type" msgstr "Skala muzyczna" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Handler Vendor ID" msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 #, fuzzy msgid "Component manufacturer." msgstr "Producent obiektywu." #: src/properties.cpp:1186 #, fuzzy msgid "Video Height" msgstr "Wysokość sensora" #: src/properties.cpp:1186 src/properties.cpp:1309 msgid "Video height in pixels" msgstr "" #: src/properties.cpp:1187 #, fuzzy msgid "Hue Adjustment Settings Information." msgstr "Ustawienie dopasowania obrazu" #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "" #: src/properties.cpp:1189 msgid "Information Banner Image." msgstr "" #: src/properties.cpp:1190 #, fuzzy msgid "Info Banner URL" msgstr "Bazowy URL" #: src/properties.cpp:1190 msgid "Information Banner URL." msgstr "" #: src/properties.cpp:1191 #, fuzzy msgid "Information" msgstr "Informacje o zdjęciu" #: src/properties.cpp:1191 #, fuzzy msgid "Additional Movie Information." msgstr "Informacja o pozycji AF" #: src/properties.cpp:1192 #, fuzzy msgid "Info Text" msgstr "Tekst" #: src/properties.cpp:1192 #, fuzzy msgid "Information Text." msgstr "Informacje o zdjęciu" #: src/properties.cpp:1193 #, fuzzy msgid "Info URL" msgstr "Bazowy URL" #: src/properties.cpp:1193 #, fuzzy msgid "Information URL." msgstr "Informacje o zdjęciu" #: src/properties.cpp:1194 msgid "Information about the ISO Setting." msgstr "" #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "" #: src/properties.cpp:1196 #, fuzzy msgid "Junk Data" msgstr "Dane obiektywu" #: src/properties.cpp:1196 msgid "Video Junk data" msgstr "" #: src/properties.cpp:1197 #, fuzzy msgid "Language." msgstr "Język" #: src/properties.cpp:1198 #, fuzzy msgid "Length" msgstr "Długość ogniskowej" #: src/properties.cpp:1198 #, fuzzy msgid "The length of the media file." msgstr "Czas trwania pliku mediów." #: src/properties.cpp:1200 #, fuzzy msgid "Lens Type." msgstr "Rodzaj obiektywu" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness" msgstr "Jasność" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness." msgstr "Jasność" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information" msgstr "Informacje o zdjęciu" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information." msgstr "Informacje o zdjęciu" #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "" #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "" #: src/properties.cpp:1204 #, fuzzy msgid "Logo URL" msgstr "Bazowy URL" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "" #: src/properties.cpp:1205 msgid "Lyrics" msgstr "" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "" #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "" #: src/properties.cpp:1207 #, fuzzy msgid "Equipment Make" msgstr "Wyposażenie" #: src/properties.cpp:1207 #, fuzzy msgid "Manufacturer of recording equipment" msgstr "Producent wyposażenia nagrywającego" #: src/properties.cpp:1208 #, fuzzy msgid "Camera Maker Note Type" msgstr "Rodzaj aparatu" #: src/properties.cpp:1208 msgid "Maker Note Type of the camera." msgstr "" #: src/properties.cpp:1209 #, fuzzy msgid "Camera Maker Note Version" msgstr "Wersja MakerNote" #: src/properties.cpp:1209 #, fuzzy msgid "Maker Note Version of the camera." msgstr "Wersja MakerNote" #: src/properties.cpp:1210 #, fuzzy msgid "Maker URL" msgstr "Bazowy URL" #: src/properties.cpp:1210 #, fuzzy msgid "Camera Manufacturer's URL." msgstr "Producent obiektywu." #: src/properties.cpp:1211 #, fuzzy msgid "Smallest F number of lens, in APEX." msgstr "" "Znacznik EXIF 37381, 0x9205. Najmniejsza liczba F obiektywu, w jednostkach " "APEX." #: src/properties.cpp:1212 #, fuzzy msgid "Maximum Bit Rate" msgstr "Największa wartość przysłony" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" #: src/properties.cpp:1213 #, fuzzy msgid "Maximum Data Rate" msgstr "Szybkość transmisji" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 #, fuzzy msgid "Media Track Create Date" msgstr "Data utworzenia" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 #, fuzzy msgid "Media Track Duration" msgstr "Czas trwania" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 #, fuzzy msgid "Media Header Version" msgstr "Wersja modelu" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 #, fuzzy msgid "Media Language Code" msgstr "GPS Tryb pomiaru" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 #, fuzzy msgid "Media Track Modify Date" msgstr "Data modyfikacji metadanych" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" #: src/properties.cpp:1220 #, fuzzy msgid "Medium." msgstr "Średni" #: src/properties.cpp:1221 #, fuzzy msgid "Metadata" msgstr "Data metadanych" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1222 #, fuzzy msgid "Metadata Library" msgstr "Data metadanych" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "" #: src/properties.cpp:1223 #, fuzzy msgid "Metering mode." msgstr "Tryb pomiaru" #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "" #: src/properties.cpp:1225 #, fuzzy msgid "Mime Type" msgstr "Rodzaj obrazu" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "" #: src/properties.cpp:1226 #, fuzzy msgid "QTime Minor FileType Version" msgstr "Wersja pliku" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "" #: src/properties.cpp:1227 #, fuzzy msgid "Equipment Model" msgstr "Wyposażenie" #: src/properties.cpp:1227 #, fuzzy msgid "Model name or number of equipment." msgstr "Nazwa lub numer modelu wyposażenia" #: src/properties.cpp:1228 #, fuzzy msgid "Modification Date-Time" msgstr "Nazwa lokalizacji" #: src/properties.cpp:1228 msgid "Contains the modification date of the video" msgstr "" #: src/properties.cpp:1229 #, fuzzy msgid "Movie Header Version" msgstr "Wersja modelu" #: src/properties.cpp:1230 msgid "Music By" msgstr "" #: src/properties.cpp:1230 msgid "Music By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1231 msgid "Muxing App" msgstr "" #: src/properties.cpp:1231 msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" #: src/properties.cpp:1232 msgid "Name of song or the event." msgstr "" #: src/properties.cpp:1233 #, fuzzy msgid "Next Track ID" msgstr "Tekst + ID" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" #: src/properties.cpp:1234 #, fuzzy msgid "Number Of Colours" msgstr "Liczba uderzeń" #: src/properties.cpp:1234 #, fuzzy msgid "Total number of colours used" msgstr "Numer sekwencji (jeśli w serii)" #: src/properties.cpp:1235 #, fuzzy msgid "Number Of Important Colours" msgstr "Liczba uderzeń" #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1236 #, fuzzy msgid "Number Of Parts" msgstr "Liczba uderzeń" #: src/properties.cpp:1236 msgid "Total number of parts in the video." msgstr "" #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" #: src/properties.cpp:1238 #, fuzzy msgid "Organization" msgstr "Orientacja" #: src/properties.cpp:1238 msgid "Name of organization associated with the video." msgstr "" #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" #: src/properties.cpp:1248 #, fuzzy msgid "Part" msgstr "Przyjęcie" #: src/properties.cpp:1248 #, fuzzy msgid "Part." msgstr "Przyjęcie" #: src/properties.cpp:1249 msgid "Performers" msgstr "" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords" msgstr "Słowa kluczowe" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords." msgstr "Słowa kluczowe." #: src/properties.cpp:1251 msgid "Performer URL" msgstr "" #: src/properties.cpp:1251 msgid "Performer's dedicated URL." msgstr "" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data" msgstr "Informacje o zdjęciu" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data." msgstr "Informacje o zdjęciu" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Version" msgstr "Informacje o zdjęciu" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Data Version." msgstr "Informacje o zdjęciu" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name" msgstr "Informacje o zdjęciu" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name." msgstr "Informacje o zdjęciu" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Base" msgstr "Informacje o zdjęciu" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Data Base." msgstr "Informacje o zdjęciu" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust" msgstr "Informacje o zdjęciu" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust Information." msgstr "Nasycenie stylu zdjęcia" #: src/properties.cpp:1257 #, fuzzy msgid "Picture Control Quick Adjust" msgstr "Informacje o zdjęciu" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection" msgstr "Zaznaczenie" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection." msgstr "Zaznaczenie" #: src/properties.cpp:1259 #, fuzzy msgid "Play Mode" msgstr "Tryb Easy" #: src/properties.cpp:1259 msgid "Information about the Play Mode." msgstr "" #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "" #: src/properties.cpp:1260 #, fuzzy msgid "Contains the information of External media." msgstr "Część informacji kontaktowej określająca państwo." #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1265 msgid "Planes" msgstr "" #: src/properties.cpp:1265 msgid "The number of Image Planes in the video" msgstr "" #: src/properties.cpp:1266 #, fuzzy msgid "Poster Time" msgstr "Czas ekspozycji" #: src/properties.cpp:1266 msgid "The time value of the time of the movie poster." msgstr "" #: src/properties.cpp:1267 #, fuzzy msgid "Preferred Rate" msgstr "Data odniesienia" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1269 msgid "Preroll" msgstr "" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" #: src/properties.cpp:1272 #, fuzzy msgid "Preview Atom Type" msgstr "Dane podglądu" #: src/properties.cpp:1272 #, fuzzy msgid "Indicates the type of atom that contains the preview data" msgstr "Określa typ zawartości dzwiękowej." #: src/properties.cpp:1273 #, fuzzy msgid "Preview Date" msgstr "Dane podglądu" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "" #: src/properties.cpp:1274 #, fuzzy msgid "Preview Duration" msgstr "Dane podglądu" #: src/properties.cpp:1274 #, fuzzy msgid "The duration of the movie preview in movie time scale units" msgstr "Czas trwania pliku mediów." #: src/properties.cpp:1275 #, fuzzy msgid "Preview Time" msgstr "Obraz podglądu" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "" #: src/properties.cpp:1276 #, fuzzy msgid "The version of the movie preview " msgstr "Czas trwania pliku mediów." #: src/properties.cpp:1277 #, fuzzy msgid "Produced By" msgstr "Producent" #: src/properties.cpp:1277 msgid "Produced By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1278 msgid "Producer involved with the video." msgstr "" #: src/properties.cpp:1279 #, fuzzy msgid "Producer Keywords" msgstr "Słowa kluczowe" #: src/properties.cpp:1279 msgid "Information about the Producer Keywords." msgstr "" #: src/properties.cpp:1280 #, fuzzy msgid "Production Aperture Width" msgstr "Przysłona" #: src/properties.cpp:1280 msgid "Production aperture width in pixels" msgstr "" #: src/properties.cpp:1281 #, fuzzy msgid "Production Aperture Height" msgstr "Przysłona" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "" #: src/properties.cpp:1282 msgid "Production Designer" msgstr "" #: src/properties.cpp:1282 msgid "Information about the Production Designer." msgstr "" #: src/properties.cpp:1283 #, fuzzy msgid "Production Studio" msgstr "ID produktu" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "" #: src/properties.cpp:1284 #, fuzzy msgid "Product" msgstr "ID produktu" #: src/properties.cpp:1284 #, fuzzy msgid "Product." msgstr "ID produktu" #: src/properties.cpp:1286 msgid "Rate" msgstr "" #: src/properties.cpp:1286 msgid "Rate." msgstr "" #: src/properties.cpp:1287 msgid "Rated" msgstr "" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "" #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright" msgstr "Przesunięcie zapisu" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright." msgstr "Przesunięcie zapisu" #: src/properties.cpp:1292 #, fuzzy msgid "Requirements" msgstr "Obiektyw" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "" #: src/properties.cpp:1293 #, fuzzy msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" "Znacznik TIFF 296, 0x128. Jednostka użyta w znacznikach Rozdzielczość X " "(XResolution) oraz Rozdzielczość Y (YResolution). Wartości: 2 = cale; 3 = " "centymetry." #: src/properties.cpp:1294 msgid "Ripped By" msgstr "" #: src/properties.cpp:1294 msgid "Ripped By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1295 #, fuzzy msgid "Indicates the direction of saturation processing applied by the camera." msgstr "" "Znacznik EXIF 41993, 0xA409. Określa kierunek przetwarzania nasycenia " "wykonanego przez aparat przy robieniu zdjęcia." #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "" #: src/properties.cpp:1296 #, fuzzy msgid "The name of the secondary genre.." msgstr "Nazwa gatunku." #: src/properties.cpp:1297 #, fuzzy msgid "Selection Time" msgstr "Zaznaczenie" #: src/properties.cpp:1297 msgid "The time value for the start time of the current selection." msgstr "" #: src/properties.cpp:1298 #, fuzzy msgid "Selection Duration" msgstr "Czas trwania" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "" #: src/properties.cpp:1299 #, fuzzy msgid "Send Duration" msgstr "Czas trwania" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "" #: src/properties.cpp:1303 #, fuzzy msgid "Software Version" msgstr "Wersja firmware" #: src/properties.cpp:1303 #, fuzzy msgid "The Version of the software used." msgstr "Nazwa ujęcia." #: src/properties.cpp:1304 #, fuzzy msgid "Song Writer" msgstr "Autor tytułu" #: src/properties.cpp:1304 #, fuzzy msgid "The name of the song writer." msgstr "Nazwa ujęcia." #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords" msgstr "Windows Słowa kluczowe" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords." msgstr "Słowa kluczowe." #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits" msgstr "Wyrazy uznania" #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits." msgstr "Wyrazy uznania." #: src/properties.cpp:1308 #, fuzzy msgid "Source Form" msgstr "Źródło" #: src/properties.cpp:1308 #, fuzzy msgid "Source Form." msgstr "Źródło." #: src/properties.cpp:1309 #, fuzzy msgid "Source Image Height" msgstr "Wysokość obrazu" #: src/properties.cpp:1310 #, fuzzy msgid "Source Image Width" msgstr "Szerokość obrazu" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "" #: src/properties.cpp:1311 #, fuzzy msgid "Starring" msgstr "Gwiaździste niebo" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "" #: src/properties.cpp:1312 #, fuzzy msgid "Start Timecode" msgstr "Początkowy kod czasu" #: src/properties.cpp:1313 #, fuzzy msgid "Statistics" msgstr "GPS Stan" #: src/properties.cpp:1313 msgid "Statistics." msgstr "" #: src/properties.cpp:1314 #, fuzzy msgid "Stream Count" msgstr "Licznik migawki" #: src/properties.cpp:1314 #, fuzzy msgid "Total Number Of Streams" msgstr "Liczba uderzeń" #: src/properties.cpp:1315 #, fuzzy msgid "Stream Name" msgstr "Nazwa ujęcia" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "" #: src/properties.cpp:1316 #, fuzzy msgid "Stream Quality" msgstr "Jakość obrazu" #: src/properties.cpp:1316 #, fuzzy msgid "General Stream Quality" msgstr "Jakość obrazu" #: src/properties.cpp:1317 #, fuzzy msgid "Stream Sample Rate" msgstr "Częstotliwość próbkowania dźwięku" #: src/properties.cpp:1318 #, fuzzy msgid "Stream Sample Count" msgstr "Liczba bajtów na pas" #: src/properties.cpp:1319 #, fuzzy msgid "Stream Sample Size" msgstr "Bitów na próbkę" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "" #: src/properties.cpp:1320 #, fuzzy msgid "Stream Type" msgstr "Skala muzyczna" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1321 #, fuzzy msgid "Subtitles Codec" msgstr "Początkowy kod czasu" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "" #: src/properties.cpp:1322 msgid "Subtitle Codec Decode Info" msgstr "" #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1323 #, fuzzy msgid "Subtitles Codec Information" msgstr "Informacje o zdjęciu" #: src/properties.cpp:1323 msgid "Contains additional information about subtitles." msgstr "" #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "" #: src/properties.cpp:1325 #, fuzzy msgid "Subtitle Codec Settings" msgstr "Ustawienie trybu zdjęcia" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1327 msgid "Subtitle Track Enabled" msgstr "" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1328 #, fuzzy msgid "Subtitle" msgstr "Tytuł" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords" msgstr "Słowa kluczowe" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords." msgstr "Słowa kluczowe." #: src/properties.cpp:1330 #, fuzzy msgid "Subtitles Language" msgstr "Język" #: src/properties.cpp:1330 #, fuzzy msgid "The Language in which the subtitles is recorded in." msgstr "Nazwa sceny." #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1332 msgid "Subtitle Track Lacing" msgstr "" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1333 #, fuzzy msgid "Subject. " msgstr "Temat" #: src/properties.cpp:1334 #, fuzzy msgid "TapeName." msgstr "Nazwa taśmy" #: src/properties.cpp:1335 #, fuzzy msgid "Tag Default Setting" msgstr "Ustawienia standardowe" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "" #: src/properties.cpp:1336 #, fuzzy msgid "Tag Language" msgstr "Język" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "" #: src/properties.cpp:1337 #, fuzzy msgid "Tag Name" msgstr "Nazwa taśmy" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1338 msgid "Tag String" msgstr "" #: src/properties.cpp:1338 msgid "Information contained in a Tags" msgstr "" #: src/properties.cpp:1339 #, fuzzy msgid "Target Type" msgstr "Rodzaj obrazu" #: src/properties.cpp:1339 msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "" #: src/properties.cpp:1340 msgid "Technician" msgstr "" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "" #: src/properties.cpp:1341 #, fuzzy msgid "Thumbnail Height" msgstr "Długość miniatury" #: src/properties.cpp:1341 #, fuzzy msgid "Preview Image Thumbnail Height." msgstr "Długość obrazu podglądu" #: src/properties.cpp:1342 #, fuzzy msgid "Preview Image Thumbnail Length." msgstr "Długość obrazu podglądu" #: src/properties.cpp:1343 #, fuzzy msgid "Thumbnail Width" msgstr "Długość miniatury" #: src/properties.cpp:1343 #, fuzzy msgid "Preview Image Thumbnail Width." msgstr "Obrazek podglądu prawidłowy" #: src/properties.cpp:1344 #, fuzzy msgid "Timecode Scale" msgstr "Podwodny" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "" #: src/properties.cpp:1345 src/properties.cpp:1428 #, fuzzy msgid "Time Offset" msgstr "Przesunięcia kafelków" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" #: src/properties.cpp:1346 #, fuzzy msgid "Time Scale" msgstr "Czas wysłania" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1350 msgid "Toning Effect Settings Applied." msgstr "" #: src/properties.cpp:1351 #, fuzzy msgid "Total Frame Count" msgstr "Liczby bajtów kafelków" #: src/properties.cpp:1352 #, fuzzy msgid "Number Of Streams" msgstr "Liczba uderzeń" #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1353 #, fuzzy msgid "Track" msgstr "GPS Kierunek" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "" #: src/properties.cpp:1354 #, fuzzy msgid "Video Track Create Date" msgstr "Klatek na sekundę" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" #: src/properties.cpp:1355 #, fuzzy msgid "Video Track Duration" msgstr "Czas trwania" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced" msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 #, fuzzy msgid "Track ID" msgstr "Numer ścieżki" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 #, fuzzy msgid "Track Header Version" msgstr "Wersja Makernote" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 #, fuzzy msgid "Track Language" msgstr "Język" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "The Language in which a particular stream is recorded in." msgstr "" #: src/properties.cpp:1361 #, fuzzy msgid "Video Track Layer" msgstr "Klatek na sekundę" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" #: src/properties.cpp:1364 #, fuzzy msgid "Video Track Modify Date" msgstr "Data modyfikacji wideo" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" #: src/properties.cpp:1365 #, fuzzy msgid "Track Name" msgstr "Numer ścieżki" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "" #: src/properties.cpp:1366 #, fuzzy msgid "Track Number." msgstr "Numer ścieżki" #: src/properties.cpp:1367 src/properties.cpp:1440 #, fuzzy msgid "Track Volume" msgstr "Numer ścieżki" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "" #: src/properties.cpp:1368 msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" #: src/properties.cpp:1369 src/properties.cpp:1370 #, fuzzy msgid "Unknown Information" msgstr "Informacje o zdjęciu" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1371 #, fuzzy msgid "Video URL" msgstr "Szeroki" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1372 #, fuzzy msgid "Video URN" msgstr "Szeroki" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1373 #, fuzzy msgid "Vari Program" msgstr "Program" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "" #: src/properties.cpp:1376 msgid "Vendor" msgstr "" #: src/properties.cpp:1376 #, fuzzy msgid "The developer of the compressor that generated the compressed data." msgstr "Pole to określa proces użyty do wyprodukowania skompresowanych danych" #: src/properties.cpp:1377 src/properties.cpp:1443 #, fuzzy msgid "Vendor ID" msgstr "ID obiektywu" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" #: src/properties.cpp:1378 #, fuzzy msgid "Video Quality" msgstr "Jakość" #: src/properties.cpp:1378 #, fuzzy msgid "Video Stream Quality" msgstr "Klatek na sekundę" #: src/properties.cpp:1379 #, fuzzy msgid "Video Sample Size" msgstr "Rozmiar ramki wideo" #: src/properties.cpp:1379 #, fuzzy msgid "Video Stream Sample Size" msgstr "Rozmiar ramki wideo" #: src/properties.cpp:1380 #, fuzzy msgid "Video Scan Type" msgstr "Skala muzyczna" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "" #: src/properties.cpp:1381 msgid "Watermark URL" msgstr "" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "" #: src/properties.cpp:1384 #, fuzzy msgid "White Balance Fine Tune." msgstr "Tablica balansu bieli" #: src/properties.cpp:1385 #, fuzzy msgid "Video Width" msgstr "Szerokość kafelka" #: src/properties.cpp:1386 #, fuzzy msgid "Window Location" msgstr "Windows Ocena" #: src/properties.cpp:1386 msgid "Information about the Window Location." msgstr "" #: src/properties.cpp:1388 #, fuzzy msgid "Written By" msgstr "Autor opisu" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1389 #, fuzzy msgid "Writing App" msgstr "Zapisywanie podglądu" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" #: src/properties.cpp:1390 #, fuzzy msgid "Horizontal resolution in pixels per unit." msgstr "" "Znacznik TIFF 282, 0x11A. Rozdzielczość pozioma w pikselach na jednostkę." #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "" #: src/properties.cpp:1391 #, fuzzy msgid "Year in which the video was made." msgstr "Data i czas ostatniej modyfikacji wideo." #: src/properties.cpp:1392 #, fuzzy msgid "Vertical resolution in pixels per unit." msgstr "" "Znacznik TIFF 283, 0x11B. Rozdzielczość pionowa w pikselach na jednostkę." #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "" #: src/properties.cpp:1398 #, fuzzy msgid "Balance" msgstr "Balans czerwieni" #: src/properties.cpp:1398 #, fuzzy msgid "Indicates the left-right balance of the audio" msgstr "Określa odległość do punktu docelowego." #: src/properties.cpp:1399 #, fuzzy msgid "Bits Per Sample/ Bit Rate" msgstr "Bitów na próbkę" #: src/properties.cpp:1399 #, fuzzy msgid "Bits per test sample" msgstr "Bitów na próbkę" #: src/properties.cpp:1401 #, fuzzy msgid "Audio Codec" msgstr "Kompresja dźwięku" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "" #: src/properties.cpp:1402 msgid "Audio Codec Decode Info" msgstr "" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1403 #, fuzzy msgid "Audio Codec Description" msgstr "Opis obrazu" #: src/properties.cpp:1404 msgid "Audio Codec Download URL" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL." msgstr "" #: src/properties.cpp:1405 #, fuzzy msgid "Audio Codec Information" msgstr "Informacje o zdjęciu" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" #: src/properties.cpp:1406 #, fuzzy msgid "Audio Codec Settings" msgstr "Ustawienia trybu ostrzenia" #: src/properties.cpp:1408 #, fuzzy msgid "Audio Default Duration" msgstr "Czas trwania" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "" #: src/properties.cpp:1409 #, fuzzy msgid "Audio Default Stream" msgstr "Domyślna skala" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "" #: src/properties.cpp:1410 #, fuzzy msgid "Audio Track Default On" msgstr "Auto bracketing" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "" #: src/properties.cpp:1411 msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1412 #, fuzzy msgid "Audio Format" msgstr "Próbkowanie dźwięku" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "" #: src/properties.cpp:1423 #, fuzzy msgid "Output Audio Sample Rate" msgstr "Częstotliwość próbkowania dźwięku" #: src/properties.cpp:1423 #, fuzzy msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" "Częstotliwość próbkowania dźwięku. Może być dowolną wartością, ale zwykle " "wynosi 32000, 41100 lub 48000." #: src/properties.cpp:1424 #, fuzzy msgid "Audio Sample Count" msgstr "Częstotliwość próbkowania dźwięku" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title" msgstr "znalezione w pliku" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title." msgstr "znalezione w pliku" #: src/properties.cpp:1429 #, fuzzy msgid "Audio Track Create Date" msgstr "Automatyczne wyzwolenie" #: src/properties.cpp:1430 #, fuzzy msgid "Audio Track Duration" msgstr "Czas trwania" #: src/properties.cpp:1431 #, fuzzy msgid "Audio Track Forced" msgstr "Auto bracketing" #: src/properties.cpp:1431 msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1434 #, fuzzy msgid "Audio Track Lacing" msgstr "Czas trwania" #: src/properties.cpp:1434 msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1436 #, fuzzy msgid "Audio Track Layer" msgstr "Typ dźwięku" #: src/properties.cpp:1439 #, fuzzy msgid "Audio Track Modify Date" msgstr "Data modyfikacji dźwięku" #: src/properties.cpp:1441 #, fuzzy msgid "Audio URL" msgstr "Próbkowanie dźwięku" #: src/properties.cpp:1442 #, fuzzy msgid "Audio URN" msgstr "Próbkowanie dźwięku" #: src/properties.cpp:1449 #, fuzzy msgid "The nature or genre of the resource." msgstr "Nazwa gatunku." #: src/properties.cpp:1450 #, fuzzy msgid "Date Modified" msgstr "Identyfikator" #: src/properties.cpp:1450 #, fuzzy msgid "Date on which the resource was changed." msgstr "Data i czas ostatniej modyfikacji wideo." #: src/properties.cpp:1451 #, fuzzy msgid "A language of the resource." msgstr "Krótka nazwa zasobu." #: src/properties.cpp:1452 #, fuzzy msgid "License" msgstr "Obiektyw" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" #: src/properties.cpp:1453 #, fuzzy msgid "Rights Holder" msgstr "Strefa prawa" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" #: src/properties.cpp:1454 #, fuzzy msgid "Access Rights" msgstr "Własność" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "" #: src/properties.cpp:1455 #, fuzzy msgid "A bibliographic reference for the resource." msgstr "Krótka nazwa zasobu." #: src/properties.cpp:1456 #, fuzzy msgid "References" msgstr "Odnośnik pracy" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" #: src/properties.cpp:1459 msgid "*Main structure* containing Darwin Core location based information." msgstr "" #: src/properties.cpp:1468 #, fuzzy msgid "Record" msgstr "Wyświetlanie nałożone" #: src/properties.cpp:1469 msgid "*Main structure* containing record based information." msgstr "" #: src/properties.cpp:1472 #, fuzzy msgid "Institution ID" msgstr "Instrukcje" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" #: src/properties.cpp:1475 #, fuzzy msgid "Collection ID" msgstr "Zaznaczenie" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" #: src/properties.cpp:1478 #, fuzzy msgid "Institution Code" msgstr "Tryb rozdzielczości" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1481 #, fuzzy msgid "Dataset ID" msgstr "Zrzut danych 1" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "" #: src/properties.cpp:1484 #, fuzzy msgid "Collection Code" msgstr "Kod lokalizacji" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" #: src/properties.cpp:1487 #, fuzzy msgid "Dataset Name" msgstr "Nazwy płyt" #: src/properties.cpp:1488 #, fuzzy msgid "The name identifying the data set from which the record was derived." msgstr "Unikalny identyfikator pracy, z której pochodzi ten zasób." #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" #: src/properties.cpp:1496 #, fuzzy msgid "Information Withheld" msgstr "Informacje o zdjęciu" #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" #: src/properties.cpp:1502 #, fuzzy msgid "Dynamic Properties" msgstr "Właściwości obiektywu" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" #: src/properties.cpp:1507 #, fuzzy msgid "Occurrence" msgstr "ID obiektywu" #: src/properties.cpp:1508 msgid "*Main structure* containing occurrence based information." msgstr "" #: src/properties.cpp:1511 #, fuzzy msgid "Occurrence ID" msgstr "ID obiektywu" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" #: src/properties.cpp:1514 #, fuzzy msgid "Catalog Number" msgstr "Numer odstępu" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" #: src/properties.cpp:1517 #, fuzzy msgid "Occurrence Details" msgstr "ID obiektywu" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "" #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "" #: src/properties.cpp:1521 msgid "Comments or notes about the Occurrence." msgstr "" #: src/properties.cpp:1523 #, fuzzy msgid "Record Number" msgstr "Liczba porządkowa" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" #: src/properties.cpp:1526 #, fuzzy msgid "Recorded By" msgstr "Wyświetlanie nałożone" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" #: src/properties.cpp:1529 msgid "Individual ID" msgstr "" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" #: src/properties.cpp:1532 msgid "Individual Count" msgstr "" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "" #: src/properties.cpp:1535 #, fuzzy msgid "Organism Quantity" msgstr "Jakość obrazu" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "" #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "" #: src/properties.cpp:1541 #, fuzzy msgid "Sex" msgstr "Ustaw" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1544 msgid "Life Stage" msgstr "" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1547 #, fuzzy msgid "Reproductive Condition" msgstr "ID produktu" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1550 msgid "Behavior" msgstr "" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1559 #, fuzzy msgid "Preparations" msgstr "Gradacja" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" #: src/properties.cpp:1562 #, fuzzy msgid "Disposition" msgstr "Pozycja ostrzenia" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" #: src/properties.cpp:1565 #, fuzzy msgid "Other Catalog Numbers" msgstr "Numer odstępu" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" #: src/properties.cpp:1568 src/properties.cpp:1607 #, fuzzy msgid "Previous Identifications" msgstr "Identyfikacja modelu" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" #: src/properties.cpp:1571 #, fuzzy msgid "Associated Media" msgstr "Media składowe" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" #: src/properties.cpp:1574 #, fuzzy msgid "Associated References" msgstr "Odniesienie do projektu" #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1580 #, fuzzy msgid "Associated Sequences" msgstr "Sekwencja AEB" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" #: src/properties.cpp:1588 #, fuzzy msgid "Organism" msgstr "Orientacja" #: src/properties.cpp:1589 msgid "*Main structure* containing organism based information." msgstr "" #: src/properties.cpp:1592 msgid "Organism ID" msgstr "" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1595 #, fuzzy msgid "Organism Name" msgstr "Nazwa ujęcia" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "" #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1601 #, fuzzy msgid "Organism Associated Occurrences" msgstr "Sekwencja AEB" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1604 #, fuzzy msgid "Associated Organisms" msgstr "Odniesienie do projektu" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" #: src/properties.cpp:1610 #, fuzzy msgid "Organism Remarks" msgstr "Pomiar w toku" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "" #: src/properties.cpp:1615 #, fuzzy msgid "Material Sample" msgstr "Bitów na próbkę" #: src/properties.cpp:1616 msgid "*Main structure* containing material sample based information." msgstr "" #: src/properties.cpp:1618 #, fuzzy msgid "Living Specimen" msgstr "Wieczór" #: src/properties.cpp:1619 msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "" #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "" #: src/properties.cpp:1622 msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "" #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "" #: src/properties.cpp:1625 msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "" #: src/properties.cpp:1628 #, fuzzy msgid "Material Sample ID" msgstr "Bitów na próbkę" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" #: src/properties.cpp:1634 msgid "*Main structure* containing event based information." msgstr "" #: src/properties.cpp:1636 msgid "Human Observation" msgstr "" #: src/properties.cpp:1637 msgid "*Main structure* containing human observation based information." msgstr "" #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "" #: src/properties.cpp:1640 msgid "*Main structure* containing machine observation based information." msgstr "" #: src/properties.cpp:1643 #, fuzzy msgid "Event ID" msgstr "Wieczór" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1646 #, fuzzy msgid "Parent Event ID" msgstr "Wieczór" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" #: src/properties.cpp:1649 #, fuzzy msgid "Event Date" msgstr "Data utworzenia" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1652 #, fuzzy msgid "Event Earliest Date" msgstr "Data utworzenia" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1655 #, fuzzy msgid "Event Latest Date" msgstr "Data utworzenia" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1658 #, fuzzy msgid "Event Time" msgstr "Bieżący profil ICC" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "" #: src/properties.cpp:1670 #, fuzzy msgid "Month" msgstr "miesiąc" #: src/properties.cpp:1671 #, fuzzy msgid "The ordinal month in which the Event occurred." msgstr "Nazwa sceny." #: src/properties.cpp:1673 #, fuzzy msgid "Day" msgstr "Opóźnienie" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "" #: src/properties.cpp:1676 #, fuzzy msgid "Verbatim Event Date" msgstr "Data utworzenia" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" #: src/properties.cpp:1679 msgid "Habitat" msgstr "" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" #: src/properties.cpp:1685 #, fuzzy msgid "Sampling Effort" msgstr "Format pliku" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "" #: src/properties.cpp:1688 #, fuzzy msgid "Sampling Size Value" msgstr "Częstotliwość próbkowania dźwięku" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" #: src/properties.cpp:1691 #, fuzzy msgid "Sampling Size Unit" msgstr "Format pliku" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" #: src/properties.cpp:1694 #, fuzzy msgid "Field Number" msgstr "Numer pliku" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" #: src/properties.cpp:1697 #, fuzzy msgid "Field Notes" msgstr "Właściwości obiektywu" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "" #: src/properties.cpp:1701 msgid "Comments or notes about the Event." msgstr "" #: src/properties.cpp:1705 #, fuzzy msgid "Location Class" msgstr "Kod lokalizacji" #: src/properties.cpp:1706 msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "" #: src/properties.cpp:1709 #, fuzzy msgid "Location ID" msgstr "Położenie" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" #: src/properties.cpp:1718 #, fuzzy msgid "Continent" msgstr "Ciągły" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "" #: src/properties.cpp:1721 msgid "Water Body" msgstr "" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1724 msgid "Island Group" msgstr "" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1727 msgid "Island" msgstr "" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "" #: src/properties.cpp:1736 #, fuzzy msgid "State Province" msgstr "Stan/Prowincja" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1739 #, fuzzy msgid "County" msgstr "Państwo" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1742 #, fuzzy msgid "Municipality" msgstr "Jakość" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" #: src/properties.cpp:1745 #, fuzzy msgid "Locality" msgstr "Położenie" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "" #: src/properties.cpp:1749 #, fuzzy msgid "The original textual description of the place." msgstr "Tekstowy opis obiektu." #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1760 msgid "Verbatim Depth" msgstr "" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "" #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1766 #, fuzzy msgid "Maximum Depth In Meters" msgstr "Szybkość transmisji" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1775 #, fuzzy msgid "Location According To" msgstr "Kod lokalizacji" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" #: src/properties.cpp:1778 #, fuzzy msgid "Location Remarks" msgstr "Kod lokalizacji" #: src/properties.cpp:1779 msgid "Comments or notes about the Location." msgstr "" #: src/properties.cpp:1781 msgid "Verbatim Coordinates" msgstr "" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1784 #, fuzzy msgid "Verbatim Latitude" msgstr "GPS Docelowa szerokość" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1787 #, fuzzy msgid "Verbatim Longitude" msgstr "GPS Docelowa długość" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1796 #, fuzzy msgid "Decimal Latitude" msgstr "GPS Docelowa szerokość" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" #: src/properties.cpp:1799 #, fuzzy msgid "Decimal Longitude" msgstr "GPS Długość" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" #: src/properties.cpp:1802 #, fuzzy msgid "Geodetic Datum" msgstr "" "Znacznik GPS 18, 0x12. Określa układ odniesienia współrzędnych użyty przez " "odbiornik GPS." #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" #: src/properties.cpp:1808 msgid "Coordinate Precision" msgstr "" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "" #: src/properties.cpp:1812 #, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "" #: src/properties.cpp:1821 #, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" #: src/properties.cpp:1823 #, fuzzy msgid "Georeferenced By" msgstr "Odnośnik pracy" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" #: src/properties.cpp:1826 #, fuzzy msgid "Georeferenced Date" msgstr "Data odniesienia" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" #: src/properties.cpp:1832 #, fuzzy msgid "Georeference Sources" msgstr "Odwołanie do usługi" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1838 #, fuzzy msgid "Georeference Remarks" msgstr "Numer odniesienia" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" #: src/properties.cpp:1843 msgid "Geological Context" msgstr "" #: src/properties.cpp:1844 msgid "*Main structure* containing geological context based information." msgstr "" #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" #: src/properties.cpp:1889 msgid "Group" msgstr "" #: src/properties.cpp:1890 #, fuzzy msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "Nazwa dokumentu, z którego obraz został zeskanowany" #: src/properties.cpp:1892 #, fuzzy msgid "Formation" msgstr "Informacje o zdjęciu" #: src/properties.cpp:1893 #, fuzzy msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "Nazwa dokumentu, z którego obraz został zeskanowany" #: src/properties.cpp:1895 #, fuzzy msgid "Member" msgstr "Liczba F" #: src/properties.cpp:1896 #, fuzzy msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "Nazwa dokumentu, z którego obraz został zeskanowany" #: src/properties.cpp:1898 #, fuzzy msgid "Bed" msgstr "Czerwony" #: src/properties.cpp:1899 #, fuzzy msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "Nazwa dokumentu, z którego obraz został zeskanowany" #: src/properties.cpp:1903 #, fuzzy msgid "Identification" msgstr "Identyfikacja modelu" #: src/properties.cpp:1904 msgid "*Main structure* containing identification based information." msgstr "" #: src/properties.cpp:1907 #, fuzzy msgid "Identification ID" msgstr "Identyfikacja modelu" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1910 #, fuzzy msgid "Identified By" msgstr "Identyfikator" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" #: src/properties.cpp:1913 #, fuzzy msgid "Date Identified" msgstr "Identyfikator" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" #: src/properties.cpp:1916 #, fuzzy msgid "Identification References" msgstr "GPS Oznaczenie kierunku obrazu" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" #: src/properties.cpp:1922 #, fuzzy msgid "Identification Remarks" msgstr "Identyfikacja modelu" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "" #: src/properties.cpp:1925 #, fuzzy msgid "Identification Qualifier" msgstr "Identyfikacja modelu" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" #: src/properties.cpp:1928 #, fuzzy msgid "Type Status" msgstr "GPS Stan" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" #: src/properties.cpp:1933 msgid "Taxon" msgstr "" #: src/properties.cpp:1934 msgid "*Main structure* containing taxonomic based information." msgstr "" #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" #: src/properties.cpp:1949 #, fuzzy msgid "Original Name Usage ID" msgstr "Oryginalna nazwa pliku Raw" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" #: src/properties.cpp:1961 #, fuzzy msgid "Scientific Name" msgstr "Nazwa dokumentu" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" #: src/properties.cpp:1967 #, fuzzy msgid "Parent Name Usage" msgstr "Nazwy płyt" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" #: src/properties.cpp:1970 #, fuzzy msgid "Original Name Usage" msgstr "Oryginalna nazwa pliku Raw" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" #: src/properties.cpp:1973 #, fuzzy msgid "Name According To" msgstr "Przesunięcie zapisu" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" #: src/properties.cpp:1976 #, fuzzy msgid "Name Published In" msgstr "Wydawca" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "" #: src/properties.cpp:1980 #, fuzzy msgid "The four-digit year in which the scientificName was published." msgstr "Data wydania utworu." #: src/properties.cpp:1982 #, fuzzy msgid "Higher Classification" msgstr "Powiększenie elektroniczne" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" #: src/properties.cpp:1985 msgid "Kingdom" msgstr "" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "" #: src/properties.cpp:1988 msgid "Phylum" msgstr "" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" #: src/properties.cpp:1991 msgid "Class" msgstr "" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "" #: src/properties.cpp:1994 #, fuzzy msgid "Order" msgstr "Kolejność wypełniania" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "" #: src/properties.cpp:1997 msgid "Family" msgstr "" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "" #: src/properties.cpp:2000 msgid "Genus" msgstr "" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "" #: src/properties.cpp:2003 msgid "Subgenus" msgstr "" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "" #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" #: src/properties.cpp:2021 #, fuzzy msgid "Vernacular Name" msgstr "Numer ścieżki" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "" #: src/properties.cpp:2024 #, fuzzy msgid "Nomenclatural Code" msgstr "Barwa naturalna" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "" #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "" #: src/properties.cpp:2039 msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "" #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" #: src/properties.cpp:2045 #, fuzzy msgid "Resource ID" msgstr "Źródło pliku" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "" #: src/properties.cpp:2048 #, fuzzy msgid "Related Resource ID" msgstr "Blok zasobów obrazu" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" #: src/properties.cpp:2051 #, fuzzy msgid "Relationship Of Resource" msgstr "Źródło pliku" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "" #: src/properties.cpp:2065 #, fuzzy msgid "Measurement Or Fact" msgstr "Pomiar gotowy" #: src/properties.cpp:2066 msgid "*Main structure* containing measurement based information." msgstr "" #: src/properties.cpp:2069 #, fuzzy msgid "Measurement ID" msgstr "Pomiar w toku" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:2072 #, fuzzy msgid "Measurement Type" msgstr "Pomiar w toku" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2075 #, fuzzy msgid "Measurement Value" msgstr "Wartości pomiaru szumu." #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2078 #, fuzzy msgid "Measurement Accuracy" msgstr "Pomiar gotowy" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "" #: src/properties.cpp:2081 #, fuzzy msgid "Measurement Unit" msgstr "Pomiar gotowy" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" #: src/properties.cpp:2084 #, fuzzy msgid "Measurement Determined Date" msgstr "Pomiar gotowy" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2087 #, fuzzy msgid "Measurement Determined By" msgstr "Pomiar gotowy" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" #: src/properties.cpp:2090 #, fuzzy msgid "Measurement Method" msgstr "GPS Tryb pomiaru" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2093 #, fuzzy msgid "Measurement Remarks" msgstr "Pomiar w toku" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "" #: src/properties.cpp:2101 #, fuzzy msgid "A brief description of the file" msgstr "Tekstowy opis obiektu." #: src/properties.cpp:2102 #, fuzzy msgid "Date Time" msgstr "Data i czas" #: src/properties.cpp:2103 #, fuzzy msgid "The name of the author or photographer" msgstr "Nazwa ujęcia." #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "" #: src/properties.cpp:2105 #, fuzzy msgid "Notes" msgstr "Właściwości obiektywu" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "" #: src/properties.cpp:2106 msgid "Tagged" msgstr "" #: src/properties.cpp:2106 msgid "True or False" msgstr "" #: src/properties.cpp:2107 #, fuzzy msgid "Categories" msgstr "Kategoria" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "" #: src/sigmamn.cpp:62 msgid "Resolution Mode" msgstr "Tryb rozdzielczości" #: src/sigmamn.cpp:63 msgid "Resolution mode" msgstr "Tryb rozdzielczości" #: src/sigmamn.cpp:65 msgid "Autofocus Mode" msgstr "Tryb ogniskowania" #: src/sigmamn.cpp:66 msgid "Autofocus mode" msgstr "Tryb ogniskowania" #: src/sigmamn.cpp:68 msgid "Focus Setting" msgstr "Ustawienie ogniskowania" #: src/sigmamn.cpp:69 msgid "Focus setting" msgstr "Ustawienie ogniskowania" #: src/sigmamn.cpp:80 msgid "Lens Range" msgstr "Zakres obiektywu" #: src/sigmamn.cpp:81 msgid "Lens focal length range" msgstr "Zakres ogniskowych obiektywu" #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 msgid "Shadow" msgstr "Cień" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 #, fuzzy msgid "Highlight" msgstr "Światło" #: src/sigmamn.cpp:104 #, fuzzy msgid "Fill Light" msgstr "Światło wypełniające" #: src/sigmamn.cpp:105 msgid "X3 Fill light" msgstr "Światło wypełniające X3" #: src/sigmamn.cpp:107 msgid "Color Adjustment" msgstr "Regulacja koloru" #: src/sigmamn.cpp:108 msgid "Color adjustment" msgstr "Regulacja koloru" #: src/sigmamn.cpp:110 msgid "Adjustment Mode" msgstr "Tryb regulacji" #: src/sigmamn.cpp:111 msgid "Adjustment mode" msgstr "Tryb regulacji" #: src/sigmamn.cpp:122 #, fuzzy msgid "Auto Bracket" msgstr "Auto bracketing" #: src/sigmamn.cpp:123 src/tags.cpp:1497 #, fuzzy msgid "Auto bracket" msgstr "Auto bracketing" #: src/sigmamn.cpp:127 msgid "Unknown SigmaMakerNote tag" msgstr "Nieznany znacznik SigmaMakerNote" #: src/sigmamn.cpp:170 msgid "8-Segment" msgstr "8-polowy" #: src/sonymn.cpp:131 msgid "Advanced Lv1" msgstr "" #: src/sonymn.cpp:132 msgid "Advanced Lv2" msgstr "" #: src/sonymn.cpp:133 msgid "Advanced Lv3" msgstr "" #: src/sonymn.cpp:134 msgid "Advanced Lv4" msgstr "" #: src/sonymn.cpp:135 msgid "Advanced Lv5" msgstr "" #: src/sonymn.cpp:154 #, fuzzy msgid "Night Scene / Twilight" msgstr "Scena nocna" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "" #: src/sonymn.cpp:156 #, fuzzy msgid "Twilight Portrait" msgstr "Portret nocny" #: src/sonymn.cpp:157 #, fuzzy msgid "Soft Snap / Portrait" msgstr "Autoportret" #: src/sonymn.cpp:159 #, fuzzy msgid "Smile Shutter" msgstr "Wolna migawka" #: src/sonymn.cpp:161 #, fuzzy msgid "High Sensitivity" msgstr "Wysoka czułość" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "" #: src/sonymn.cpp:166 #, fuzzy msgid "Sweep Panorama" msgstr "panorama" #: src/sonymn.cpp:168 #, fuzzy msgid "Anti Motion Blur" msgstr "Ruchomy obraz" #: src/sonymn.cpp:170 #, fuzzy msgid "Backlight Correction HDR" msgstr "Bez korekcji" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "" #: src/sonymn.cpp:172 #, fuzzy msgid "Background Defocus" msgstr "Śledzące ostrzenie" #: src/sonymn.cpp:173 #, fuzzy msgid "Soft Skin" msgstr "Gładka skóra" #: src/sonymn.cpp:174 #, fuzzy msgid "3D Image" msgstr "Unikalny identyfikator obrazu" #: src/sonymn.cpp:189 #, fuzzy msgid "On (Continuous)" msgstr "Ciągły" #: src/sonymn.cpp:190 #, fuzzy msgid "On (Shooting)" msgstr "Tryb robienia zdjęcia" #: src/sonymn.cpp:198 msgid "Plus" msgstr "" #: src/sonymn.cpp:214 #, fuzzy msgid "White Flourescent" msgstr "Fluorescencja biała" #: src/sonymn.cpp:215 #, fuzzy msgid "Cool White Flourescent" msgstr "Fluorescencja biała" #: src/sonymn.cpp:216 #, fuzzy msgid "Day White Flourescent" msgstr "Fluorescencja biała dzienna" #: src/sonymn.cpp:217 #, fuzzy msgid "Incandescent2" msgstr "Rozpalony" #: src/sonymn.cpp:218 #, fuzzy msgid "Warm White Fluorescent" msgstr "Fluorescencja biała" #: src/sonymn.cpp:221 #, fuzzy msgid "Underwater 1 (Blue Water)" msgstr "Podwodny szeroki 1" #: src/sonymn.cpp:222 #, fuzzy msgid "Underwater 2 (Green Water)" msgstr "Zdjęcie podwodne" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "" #: src/sonymn.cpp:237 #, fuzzy msgid "Center AF" msgstr "Środkowy" #: src/sonymn.cpp:238 #, fuzzy msgid "Spot AF" msgstr "Punktowy" #: src/sonymn.cpp:239 msgid "Flexible Spot AF" msgstr "" #: src/sonymn.cpp:240 #, fuzzy msgid "Touch AF" msgstr "Automatyczna korekcja balansu bieli" #: src/sonymn.cpp:241 #, fuzzy msgid "Manual Focus" msgstr "Ręczne ostrzenie" #: src/sonymn.cpp:242 #, fuzzy msgid "Face Detected" msgstr "Wykrywanie twarzy" #: src/sonymn.cpp:257 #, fuzzy msgid "Close Focus" msgstr "Automatyczne ostrzenie" #: src/sonymn.cpp:347 src/sonymn.cpp:348 #, fuzzy msgid "Multi Burst Mode" msgstr "Tryb zdjęć seryjnych" #: src/sonymn.cpp:350 src/sonymn.cpp:351 #, fuzzy msgid "Multi Burst Image Width" msgstr "Powiązana szerokość obrazu" #: src/sonymn.cpp:353 src/sonymn.cpp:354 #, fuzzy msgid "Multi Burst Image Height" msgstr "Wysokość obrazu" #: src/sonymn.cpp:364 #, fuzzy msgid "JPEG preview image" msgstr "Obraz podglądu" #: src/sonymn.cpp:390 #, fuzzy msgid "Auto HDR" msgstr "Wysoki zakres" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "" #: src/sonymn.cpp:395 #, fuzzy msgid "Shot Information" msgstr "Informacje o zdjęciu" #: src/sonymn.cpp:400 src/sonymn.cpp:401 #, fuzzy msgid "Sony Model ID" msgstr "Identyfikator modelu" #: src/sonymn.cpp:403 src/sonymn.cpp:404 #, fuzzy msgid "Color Reproduction" msgstr "Redukcja szumów kolorów" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 #, fuzzy msgid "Dynamic Range Optimizer" msgstr "Ustawienia trybu dynamicznego" #: src/sonymn.cpp:427 src/sonymn.cpp:428 #, fuzzy msgid "Minolta MakerNote" msgstr "Minolta data" #: src/sonymn.cpp:433 src/sonymn.cpp:434 #, fuzzy msgid "Full Image Size" msgstr "Rozmiar obrazu" #: src/sonymn.cpp:436 #, fuzzy msgid "Preview Image Size" msgstr "Obraz podglądu" #: src/sonymn.cpp:437 #, fuzzy msgid "Preview image size" msgstr "Obraz podglądu" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 msgid "AF Illuminator" msgstr "" #: src/sonymn.cpp:454 src/sonymn.cpp:455 #, fuzzy msgid "JPEG Quality" msgstr "Jakość" #: src/sonymn.cpp:460 src/sonymn.cpp:461 #, fuzzy msgid "Release Mode" msgstr "Data udostępnienia" #: src/sonymn.cpp:464 #, fuzzy msgid "Shot number in continuous burst mode" msgstr "Numer sekwencji (jeśli w serii)" #: src/sonymn.cpp:466 src/sonymn.cpp:467 #, fuzzy msgid "Anti-Blur" msgstr "Anti-blur" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 #, fuzzy msgid "Long Exposure Noise Reduction" msgstr "Redukcja szumów przy długiej ekspozycji" #: src/sonymn.cpp:475 src/sonymn.cpp:476 #, fuzzy msgid "Intelligent Auto" msgstr "Inteligentna automatyka" #: src/sonymn.cpp:483 #, fuzzy msgid "Unknown Sony1MakerNote tag" msgstr "Nieznany znacznik SonyMakerNote" #: src/sonymn.cpp:497 #, fuzzy msgid "Continuous High" msgstr "Ciągły, wysoki" #: src/sonymn.cpp:501 #, fuzzy msgid "Continuous Low" msgstr "Ciągły, niski" #: src/sonymn.cpp:503 src/sonymn.cpp:504 #, fuzzy msgid "D-Range Optimizer Bracketing Low" msgstr "Optymalizacja obrazu" #: src/sonymn.cpp:536 #, fuzzy msgid "Autumn" msgstr "Aukcja" #: src/sonymn.cpp:542 msgid "ADI" msgstr "" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "" #: src/sonymn.cpp:578 #, fuzzy msgid "Auto No Flash" msgstr "Auto (Błysk)" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 #, fuzzy msgid "Dynamic Range Optimizer Level" msgstr "Ustawienia trybu dynamicznego" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 #, fuzzy msgid "Creative Style" msgstr "Data utworzenia" #: src/sonymn.cpp:648 src/sonymn.cpp:649 #, fuzzy msgid "Zone Matching Value" msgstr "Pasująca strefa" #: src/sonymn.cpp:666 src/sonymn.cpp:667 #, fuzzy msgid "AF With Shutter" msgstr "Szybka migawka" #: src/sonymn.cpp:674 src/sonymn.cpp:675 #, fuzzy msgid "High ISO NoiseReduction" msgstr "Redukcja szumów przy wysokim ISO" #: src/sonymn.cpp:678 src/sonymn.cpp:679 #, fuzzy msgid "Image Style" msgstr "Rodzaj obrazu" #: src/sonymn.cpp:704 #, fuzzy msgid "Unknown Sony1 Camera Settings tag" msgstr "Nieznany znacznik Canon Camera Settings 1" #: src/sonymn.cpp:768 #, fuzzy msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "Nieznany znacznik Canon Camera Settings 2" #: src/tags.cpp:188 msgid "Unknown section" msgstr "Nieznana sekcja" #: src/tags.cpp:189 msgid "Image data structure" msgstr "Struktura danych obrazu" #: src/tags.cpp:190 msgid "Recording offset" msgstr "Przesunięcie zapisu" #: src/tags.cpp:191 msgid "Image data characteristics" msgstr "Charakterystyka danych obrazu" #: src/tags.cpp:192 msgid "Other data" msgstr "Inne dane" #: src/tags.cpp:193 msgid "Exif data structure" msgstr "Struktura danych Exif" #: src/tags.cpp:195 msgid "Image configuration" msgstr "Konfiguracja obrazu" #: src/tags.cpp:196 msgid "User information" msgstr "Dane użytkownika" #: src/tags.cpp:197 msgid "Related file" msgstr "Powiązany plik" #: src/tags.cpp:198 msgid "Date and time" msgstr "Data i czas" #: src/tags.cpp:199 msgid "Picture taking conditions" msgstr "Warunki robienia zdjęcia" #: src/tags.cpp:200 msgid "GPS information" msgstr "Informacja GPS" #: src/tags.cpp:201 msgid "Interoperability information" msgstr "Informacje o wymienialności" #: src/tags.cpp:202 msgid "Vendor specific information" msgstr "Informacje zależna od dostawcy" #: src/tags.cpp:203 msgid "Adobe DNG tags" msgstr "Znaczniki Adobe DNG" #: src/tags.cpp:204 msgid "Panasonic RAW tags" msgstr "Znaczniki Panasonic RAW" #: src/tags.cpp:205 #, fuzzy msgid "TIFF/EP tags" msgstr "Standardowy ID TIFF/EP" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "" #: src/tags.cpp:207 #, fuzzy msgid "Adobe OPI tags" msgstr "Znaczniki Adobe DNG" #: src/tags.cpp:208 msgid "Last section" msgstr "Ostatnia sekcja" #: src/tags.cpp:224 msgid "Primary image" msgstr "Główny obraz" #: src/tags.cpp:225 msgid "Thumbnail/Preview image" msgstr "Podgląd/miniatura" #: src/tags.cpp:226 msgid "Primary image, Multi page file" msgstr "Główny obraz, plik wielostronnicowy" #: src/tags.cpp:227 msgid "Thumbnail/Preview image, Multi page file" msgstr "Podgląd/miniatura, plik wielostronnicowy" #: src/tags.cpp:228 msgid "Primary image, Transparency mask" msgstr "Główny obraz, maska przezroczystości" #: src/tags.cpp:229 msgid "Thumbnail/Preview image, Transparency mask" msgstr "Podgląd/miniatura, maska przezroczystości" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "Główny obraz, obraz wielostronnicowy, maska przezroczystości" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "Podgląd/miniatura, obraz wielostronnicowy, maska przezroczystości" #: src/tags.cpp:237 #, fuzzy msgid "Full-resolution image data" msgstr "Nie można było odczytać danych obrazu" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "" #: src/tags.cpp:245 msgid "inch" msgstr "cal" #: src/tags.cpp:252 msgid "CCITT RLE" msgstr "CCITT RLE" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "T4/Group 3 Fax" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "T6/Group 4 Fax" #: src/tags.cpp:255 msgid "LZW" msgstr "LZW" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "JPEG (stary format)" #: src/tags.cpp:257 msgid "JPEG" msgstr "JPEG" #: src/tags.cpp:258 msgid "Adobe Deflate" msgstr "Adobe Deflate" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "JBIG B&W" #: src/tags.cpp:260 msgid "JBIG Color" msgstr "JBIG Color" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "2-bitowe RLE NeXT" #: src/tags.cpp:262 msgid "Epson ERF Compressed" msgstr "Epson ERF Compressed" #: src/tags.cpp:263 #, fuzzy msgid "Samsung SRW Compressed" msgstr "Epson ERF Compressed" #: src/tags.cpp:264 msgid "CCITT RLE 1-word" msgstr "CCITT RLE 1-word" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "PackBits (Macintosh RLE)" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "Thunderscan RLE" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "IT8 CT Padding" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "IT8 Linework RLE" #: src/tags.cpp:269 msgid "IT8 Monochrome Picture" msgstr "IT8 Monochrome Picture" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "IT8 Binary Lineart" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "Pixar Film (LZW, 10-bitowe)" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "Pixar Log (ZIP, 11-bitowe)" #: src/tags.cpp:273 msgid "Pixar Deflate" msgstr "Pixar Deflate" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "Kodak DCS Encoding" #: src/tags.cpp:275 msgid "ISO JBIG" msgstr "ISO JBIG" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "SGI Log Luminance RLE" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "SGI Log 24-bitowy upakowany" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "Leadtools JPEG 2000" #: src/tags.cpp:279 msgid "Nikon NEF Compressed" msgstr "Nikon NEF Compressed" #: src/tags.cpp:280 msgid "Kodak DCR Compressed" msgstr "Kodak DCR Compressed" #: src/tags.cpp:281 msgid "Pentax PEF Compressed" msgstr "Pentax PEF Compressed" #: src/tags.cpp:286 #, fuzzy msgid "White Is Zero" msgstr "Biel wynosi zero" #: src/tags.cpp:287 #, fuzzy msgid "Black Is Zero" msgstr "Czerń wynosi zero" #: src/tags.cpp:288 msgid "RGB" msgstr "RGB" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "Paleta RGB" #: src/tags.cpp:290 msgid "Transparency Mask" msgstr "Maska przezroczystości" #: src/tags.cpp:291 src/tags.cpp:330 msgid "CMYK" msgstr "CMYK" #: src/tags.cpp:292 msgid "YCbCr" msgstr "YCbCr" #: src/tags.cpp:293 msgid "CIELab" msgstr "CIELab" #: src/tags.cpp:294 msgid "ICCLab" msgstr "ICCLab" #: src/tags.cpp:295 msgid "ITULab" msgstr "ITULab" #: src/tags.cpp:296 msgid "Color Filter Array" msgstr "Tablica filtra koloru" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "Pixar LogL" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "Pixar LogLuv" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "Liniowy Raw" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "" #: src/tags.cpp:306 #, fuzzy msgid "Randomized process" msgstr "Proces zwykły" #: src/tags.cpp:311 #, fuzzy msgid "top, left" msgstr "Górny, lewy" #: src/tags.cpp:312 #, fuzzy msgid "top, right" msgstr "Górny, prawy" #: src/tags.cpp:313 #, fuzzy msgid "bottom, right" msgstr "Dolny, prawy" #: src/tags.cpp:314 #, fuzzy msgid "bottom, left" msgstr "Dolny, lewy" #: src/tags.cpp:315 #, fuzzy msgid "left, top" msgstr "Lewy, górny" #: src/tags.cpp:316 #, fuzzy msgid "right, top" msgstr "Prawy, górny" #: src/tags.cpp:317 #, fuzzy msgid "right, bottom" msgstr "Prawy, dolny" #: src/tags.cpp:318 src/tags.cpp:319 #, fuzzy msgid "left, bottom" msgstr "Lewy, dolny" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "" #: src/tags.cpp:325 msgid "Horizontal differencing" msgstr "" #: src/tags.cpp:331 #, fuzzy msgid "not CMYK" msgstr "CMYK" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "" #: src/tags.cpp:339 src/tags.cpp:340 #, fuzzy msgid "Undefined data format" msgstr "Nieobsługiwany format daty" #: src/tags.cpp:345 #, fuzzy msgid "Not indexed" msgstr "Nieokreślony" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "" #: src/tags.cpp:351 msgid "A" msgstr "" #: src/tags.cpp:352 #, fuzzy msgid "B" msgstr "Balans bieli" #: src/tags.cpp:353 msgid "C" msgstr "" #: src/tags.cpp:354 #, fuzzy msgid "A+B-C" msgstr "AF-C" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "" #: src/tags.cpp:362 msgid "Centered" msgstr "Wyśrodkowany" #: src/tags.cpp:363 msgid "Co-sited" msgstr "Położone razem" #: src/tags.cpp:368 msgid "No flash" msgstr "Brak flesza" #: src/tags.cpp:370 #, fuzzy msgid "Fired, return light not detected" msgstr "Z lampą, błysk zwrotny nie wykryty" #: src/tags.cpp:371 #, fuzzy msgid "Fired, return light detected" msgstr "Z lampą, błysk zwrotny wykryty" #: src/tags.cpp:372 msgid "Yes, did not fire" msgstr "Tak, nie uruchomił się" #: src/tags.cpp:373 msgid "Yes, compulsory" msgstr "Tak, wymuszony" #: src/tags.cpp:374 msgid "Yes, compulsory, return light not detected" msgstr "Tak, wymuszony, światło zwrotne nie wykryte" #: src/tags.cpp:375 msgid "Yes, compulsory, return light detected" msgstr "Tak, wymuszony, światło zwrotne wykryte" #: src/tags.cpp:376 msgid "No, compulsory" msgstr "Nie, wymuszony" #: src/tags.cpp:377 #, fuzzy msgid "No, did not fire, return light not detected" msgstr "Nie, nie uruchomił się, światło zwrotne nie wykryte" #: src/tags.cpp:378 msgid "No, auto" msgstr "Nie, automatycznie" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "Tak, automatycznie" #: src/tags.cpp:380 msgid "Yes, auto, return light not detected" msgstr "Tak, automatycznie, światło zwrotne nie wykryte" #: src/tags.cpp:381 msgid "Yes, auto, return light detected" msgstr "Tak, automatycznie, światło zwrotne wykryte" #: src/tags.cpp:382 msgid "No flash function" msgstr "Brak funkcji flesza" #: src/tags.cpp:383 msgid "No, no flash function" msgstr "Nie, brak funkcji flesza" #: src/tags.cpp:384 msgid "Yes, red-eye reduction" msgstr "Tak, redukcja czerwonych oczu" #: src/tags.cpp:385 msgid "Yes, red-eye reduction, return light not detected" msgstr "Tak, redukcja czerwonych oczu, światło zwrotne nie wykryte" #: src/tags.cpp:386 msgid "Yes, red-eye reduction, return light detected" msgstr "Tak, redukcja czerwonych oczu, światło zwrotne wykryte" #: src/tags.cpp:387 msgid "Yes, compulsory, red-eye reduction" msgstr "Tak, wymuszony, redukcja czerwonych oczu" #: src/tags.cpp:388 msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "Tak, wymuszony, redukcja czerwonych oczu, światło zwrotne nie wykryte" #: src/tags.cpp:389 msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "Tak, wymuszony, redukcja czerwonych oczu, światło zwrotne wykryte" #: src/tags.cpp:390 msgid "No, red-eye reduction" msgstr "Nie, redukcja czerwonych oczu" #: src/tags.cpp:391 msgid "No, auto, red-eye reduction" msgstr "Nie, automatycznie, redukcja czerwonych oczu" #: src/tags.cpp:392 msgid "Yes, auto, red-eye reduction" msgstr "Tak, automatycznie, redukcja czerwonych oczu" #: src/tags.cpp:393 msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "" "Tak, automatycznie, redukcja czerwonych oczu, światło zwrotne nie wykryte" #: src/tags.cpp:394 msgid "Yes, auto, red-eye reduction, return light detected" msgstr "Tak, automatycznie, redukcja czerwonych oczu, światło zwrotne wykryte" #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "Układ prostokątny (lub kwadratowy)" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "" #: src/tags.cpp:408 msgid "Processing Software" msgstr "Program" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "Nazwa i wersja oprogramowania użytego do obróbki obrazu." #: src/tags.cpp:412 msgid "New Subfile Type" msgstr "Nowy typ podpliku" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "Ogólne oznaczenie rodzaju danych zawartych w tym podpliku." #: src/tags.cpp:415 #, fuzzy msgid "Subfile Type" msgstr "Nowy typ podpliku" #: src/tags.cpp:416 #, fuzzy msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "Ogólne oznaczenie rodzaju danych zawartych w tym podpliku." #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Liczba kolumn danych obrazu, różna liczbie pikseli w wierszu. W danych " "skompresowanych algorytmem JPEG zamiast tego znacznika używany jest znacznik " "JPEG." #: src/tags.cpp:425 msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" "Liczba wierszy danych obrazu. W danych skompresowanych algorytmem JPEG " "zamiast tego znacznika używany jest znacznik JPEG." #: src/tags.cpp:428 msgid "Bits per Sample" msgstr "Bitów na próbkę" #: src/tags.cpp:429 msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" "Liczba bitów na składową obrazu. W tym standardzie każda składowa obrazu ma " "8 bitów, więc wartość tego znacznika to 8. Patrz także . W " "danych skompresowanych algorytmem JPEG zamiast tego znacznika używany jest " "znacznik JPEG." #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" "Algorytm kompresji użyty dla danych obrazu. Jeśli główny obraz jest " "skompresowany algorytmem JPEG, to oznaczenie nie jest potrzebne i jest " "pomijane. Jeśli miniaturki używają kompresji JPEG, ten znacznik ma wartość 6." #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" "Składowe pikseli. W danych skompresowanych algorytmem JPEG zamiast tego " "znacznika używany jest znacznik JPEG." #: src/tags.cpp:444 msgid "Thresholding" msgstr "" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" #: src/tags.cpp:448 #, fuzzy msgid "Cell Width" msgstr "Przycięcie szerokość" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" #: src/tags.cpp:452 #, fuzzy msgid "Cell Length" msgstr "Długość kafelka" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" #: src/tags.cpp:456 msgid "Fill Order" msgstr "Kolejność wypełniania" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "Logiczny porządek bitów wewnątrz bajta" #: src/tags.cpp:459 msgid "Document Name" msgstr "Nazwa dokumentu" #: src/tags.cpp:460 msgid "The name of the document from which this image was scanned" msgstr "Nazwa dokumentu, z którego obraz został zeskanowany" #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" "Łańcuch znaków nadający obrazowi tytuł. Może być komentarzem takim jak " "\"piknik firmowy 1988\" lub podobnym. Nie można używać dwubajtowych kodów " "znaków. Jeśli dwubajtowe kody znaków są potrzebne, należy użyć znacznika " "Exif Private ." #: src/tags.cpp:470 msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" "Producent urządzenia nagrywającego. Jest to producent DSC, skanera, " "digitalizera albo innego urządzenia, które wygenerowało obraz. Jeśli to pole " "jest puste, jest traktowane jako nieznane." #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" "Nazwa lub numer modelu urządzenia. Jest to nazwa modelu lub numer DSC, " "skanera, digitalizera albo innego urządzenia, które wygenerowało obraz. " "Jeśli to pole jest puste, jest traktowane jako nieznane." #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" "Bajtowe przesunięcie pasa dla każdego pasa. Zaleca się takie dobranie tej " "wartości, by liczba bajtów pasa nie przekraczała 64kB. W danych " "skompresowanych algorytmem JPEG to oznaczenie nie jest potrzebne i jest " "pomijane. Patrz także i ." #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "Orientacja obrazu widziana w kategoriach wierszy i kolumn." #: src/tags.cpp:491 msgid "Samples per Pixel" msgstr "Próbek na piksel" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" "Liczba składowych na piksel. Ponieważ ten standard odnosi się do obrazów RGB " "i YCbCr, wartość tego znacznika wynosi 3. W danych skompresowanych " "algorytmem JPEG zamiast tego znacznika używany jest znacznik JPEG." #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "Wierszy na pas" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" "Liczba wierszy na pas. Jest to liczba wierszy w obrazie jednego pasa kiedy " "obraz jest podzielony na pasy. W danych skompresowanych algorytmem JPEG to " "oznaczenie nie jest potrzebne i jest pomijane. Patrz także i " "." #: src/tags.cpp:502 msgid "Strip Byte Count" msgstr "Liczba bajtów na pas" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" "Całkowita liczba bajtów w każdym pasie. W danych skompresowanych algorytmem " "JPEG to oznaczenie nie jest potrzebne i jest pomijane." #: src/tags.cpp:506 msgid "X-Resolution" msgstr "Rozdzielczość Y" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" "Liczba pikseli na jednostkę rozdzielczości () w kierunku " "szerokości (). Kiedy rozdzielczość obrazu jest nieznana, " "przyjmuje się 72 [dpi]." #: src/tags.cpp:510 msgid "Y-Resolution" msgstr "Rozdzielczość Y" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" "Liczba pikseli na jednostkę rozdzielczości () w kierunku " "długości (). Zakładana jest taka sama wartość jak ." #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" "Oznaczenie, czy składowe pikseli są zapisane w formacie blokowym czy " "płaskim. W plikach skompresowanych algorytmem JPEG zamiast tego znacznika " "używany jest znacznik JPEG. Jeśli to pole nie istnieje, domyślne dla TIFF " "jest 1 (blokowy)." #: src/tags.cpp:520 #, fuzzy msgid "Gray Response Unit" msgstr "Limit odpowiedzi linearnej" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "" #: src/tags.cpp:523 #, fuzzy msgid "Gray Response Curve" msgstr "Krzywa tonalna" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "" #: src/tags.cpp:526 #, fuzzy msgid "T4 Options" msgstr "Opcja" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "" #: src/tags.cpp:529 #, fuzzy msgid "T6 Options" msgstr "Opcja" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "" #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" "Jednostka do wyrażania i . Dla obu wielkości " "używana jest ta sama jednostka. Jeśli rozdzielczość jest nieznana, " "przyjmowane jest 2 (cale)." #: src/tags.cpp:537 #, fuzzy msgid "Page Number" msgstr "Numer obrazu" #: src/tags.cpp:538 #, fuzzy msgid "The page number of the page from which this image was scanned." msgstr "Nazwa dokumentu, z którego obraz został zeskanowany" #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" "Funkcja przejścia dla obrazu, opisana w postaci tabelarycznej. Zwykle ten " "znacznik nie jest potrzebny, ponieważ przestrzeń kolorów podana jest w " "znaczniku informacji o przestrzeni kolorów ()." #: src/tags.cpp:546 msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" "Ten znacznik przechowuje nazwę i wersję oprogramowania lub firmware aparatu " "albo innego urządzenia wejściowego obrazu użytego do utworzenia obrazu. " "Szczegółowy format nie jest określony, ale zaleca się naśladowanie " "poniższego przykładu. Jeśli pole jest puste, jest traktowane jako nieznane." #: src/tags.cpp:553 msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" "Data i czas utworzenia obrazu. W standardzie Exif jest to data i czas zmiany " "pliku." #: src/tags.cpp:557 msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" "Ten znacznik przechowuje nazwę właściciela aparatu, fotografa lub twórcy " "obrazu. Szczegółowy format nie jest określony, ale zaleca się naśladowanie " "poniższego przykładu dla ułatwienia wymienialności. Jeśli pole jest puste, " "jest traktowane jako nieznane. Przykład: \"Camera owner, John Smith; " "Photographer, Michael Brown; Image creator, Ken James\"" #: src/tags.cpp:564 #, fuzzy msgid "Host Computer" msgstr "Komputer " #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" "Ten znacznik zawiera informację o komputerze użytym do utworzenia obrazu." #: src/tags.cpp:568 #, fuzzy msgid "Predictor" msgstr "Wyrazy uznania" #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" #: src/tags.cpp:573 msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" "Barwa białego punktu obrazu. Zwykle ten znacznik nie jest potrzebny, " "ponieważ przestrzeń kolorów podana jest w znaczniku informacji o przestrzeni " "kolorów ()." #: src/tags.cpp:578 msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" "Barwa trzech głównych kolorów obrazu. Zwykle ten znacznik nie jest " "potrzebny, ponieważ przestrzeń kolorów podana jest w znaczniku informacji o " "przestrzeni kolorów ()." #: src/tags.cpp:582 #, fuzzy msgid "Color Map" msgstr "Matryca kolorów" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" #: src/tags.cpp:593 msgid "Tile Width" msgstr "Szerokość kafelka" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "" "Szerokość kafelka w pikselach. Jest to liczba kolumna w każdym kafelku." #: src/tags.cpp:596 msgid "Tile Length" msgstr "Długość kafelka" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "" "Długość (wysokość) kafelka w pikselach. Jest to liczba wierszy w każdym " "kafelku." #: src/tags.cpp:599 msgid "Tile Offsets" msgstr "Przesunięcia kafelków" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" "Dla każdego kafelka, przesunięcie w bajtach tego kafelka, skompresowanego i " "zapisanego na dysku. Przesunięcie jest podane z uwzględnieniem początku " "pliku TIFF. Uwaga: powoduje to że każdy plik posiada położenie niezależne od " "położeń innych plików." #: src/tags.cpp:605 msgid "Tile Byte Counts" msgstr "Liczby bajtów kafelków" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" "Dla każdego kafelka, liczba (skompresowanych) bajtów w tym kafelku. Zobacz " "opis, w jaki sposób liczby bajtów są uporządkowane w opisie znacznika " "\"Przesunięcia kafelków\"." #: src/tags.cpp:609 msgid "SubIFD Offsets" msgstr "Przesunięcia SubIFD" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "" "Zdefiniowane przez Adobe Corporation, aby pozwolić na drzewa TIFF w pliku " "TIFF." #: src/tags.cpp:612 #, fuzzy msgid "Ink Set" msgstr "Ustaw" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:615 #, fuzzy msgid "Ink Names" msgstr "Nazwa właściciela" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:618 #, fuzzy msgid "Number Of Inks" msgstr "Liczba uderzeń" #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" #: src/tags.cpp:621 #, fuzzy msgid "Dot Range" msgstr "Dynamiczny zakres" #: src/tags.cpp:622 #, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "" #: src/tags.cpp:624 #, fuzzy msgid "Target Printer" msgstr "Docelowa przysłona" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "" #: src/tags.cpp:627 #, fuzzy msgid "Extra Samples" msgstr "Bitów na próbkę" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" #: src/tags.cpp:631 #, fuzzy msgid "Sample Format" msgstr "Format pliku" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "" #: src/tags.cpp:634 #, fuzzy msgid "SMin Sample Value" msgstr "Częstotliwość próbkowania dźwięku" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "" #: src/tags.cpp:637 #, fuzzy msgid "SMax Sample Value" msgstr "Największa wartość przysłony" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "" #: src/tags.cpp:640 msgid "Transfer Range" msgstr "Zakres przejścia" #: src/tags.cpp:641 #, fuzzy msgid "Expands the range of the TransferFunction" msgstr "Rozszerza zasięg funkcji zakresu przejścia" #: src/tags.cpp:643 msgid "Clip Path" msgstr "" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" #: src/tags.cpp:647 msgid "X Clip Path Units" msgstr "" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:651 msgid "Y Clip Path Units" msgstr "" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" #: src/tags.cpp:660 #, fuzzy msgid "JPEG tables" msgstr "Proces JPEG" #: src/tags.cpp:661 msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" #: src/tags.cpp:668 msgid "JPEG Process" msgstr "Proces JPEG" #: src/tags.cpp:669 msgid "This field indicates the process used to produce the compressed data" msgstr "Pole to określa proces użyty do wyprodukowania skompresowanych danych" #: src/tags.cpp:671 msgid "JPEG Interchange Format" msgstr "Format JPEG" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" "Położenie początkowego bajta (SOI) danych skompresowanej miniaturki JPEG. " "Nie jest używane dla danych JPEG głównego obrazu." #: src/tags.cpp:675 msgid "JPEG Interchange Format Length" msgstr "Długość formatu JPEG" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" "Liczba bajtów danych skompresowanej miniaturki JPEG. Nie jest używana dla " "danych JPEG głównego obrazu. Miniaturki JPEG nie są dzielone, ale zapisywane " "jako ciągły strumień JPEG od SOI do EOI. Znaczniki Appn i COM nie powinny " "być używane. Skompresowane miniaturki muszą być zapisane w co najwyżej 64 " "kB, włącznie ze wszystkimi innymi danymi zapisanymi w APP1." #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "" #: src/tags.cpp:684 #, fuzzy msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "Pole to określa proces użyty do wyprodukowania skompresowanych danych" #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "" #: src/tags.cpp:694 #, fuzzy msgid "JPEG Q-Tables" msgstr "Proces JPEG" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" #: src/tags.cpp:698 #, fuzzy msgid "JPEG DC-Tables" msgstr "Proces JPEG" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" #: src/tags.cpp:702 #, fuzzy msgid "JPEG AC-Tables" msgstr "Proces JPEG" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" #: src/tags.cpp:707 msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" "Macierz współczynników przekształcenia danych obrazu z RGB do YCbCr. Dla " "TIFF nie ma wartości domyślnych, ale wartości podane w załączniku E \"Color " "Space Guidelines\" są używane jako domyślne. Przestrzeń kolorów jest " "określona w znaczniku informacji o przestrzeni kolorów z wartością domyślną " "będącą tą, która daje optymalną charakterystykę obrazu w danym przypadku." #: src/tags.cpp:715 msgid "YCbCr Sub-Sampling" msgstr "Podpróbkowanie YCbCr" #: src/tags.cpp:716 msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Współczynnik próbkowania składowych chrominancji w stosunku do składowej " "luminancji. W danych skompresowanych algorytmem JPEG zamiast tego znacznika " "używany jest znacznik JPEG." #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" "Rozmieszczenie składowych chrominancji w stosunku do składowej luminancji. " "To pole ma znaczenie tylko dla danych skompresowanych algorytmem JPEG lub " "nieskompresowanych danych YCbCr. Domyślne dla TIFF jest 1 (wyśrodkowane); " "ale kiedy Y:Cb:Cr = 4:2:2, zaleca się w tym standardzie 2 (położone razem) w " "celu poprawienia jakości obrazu w przypadku oglądania na telewizorze. Kiedy " "to pole nie istnieje, czytający powinien założyć wartość domyślną dla TIFF. " "W przypadku Y:Cb:Cr = 4:2:0, zalecana jest wartość domyślna dla TIFF " "(wyśrodkowane). Jeśli czytający nie ma możliwości obsługi obu rodzajów " "rozmieszczenia, powinien używać domyślnej wartości TIFF niezależnie od " "wartości tego pola. Zaleca się, żeby czytający byli w stanie obsłużyć oba " "rodzaje rozmieszczenia." #: src/tags.cpp:735 msgid "Reference Black/White" msgstr "Czerń/biel odniesienia" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" "Wartości czarnego i białego punktu odniesienia. W formacie TIFF nie ma " "wartości domyślnych, ale poniższe są podane tutaj jako domyślne. Przestrzeń " "kolorów jest określona w znaczniku informacji o przestrzeni kolorów, z " "wartością domyślną dającą optymalną charakterystykę obrazu w danych " "warunkach." #: src/tags.cpp:743 msgid "XML Packet" msgstr "Pakiet XML" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "Metadane XMP (Adobe technote 9-14-02)" #: src/tags.cpp:746 msgid "Windows Rating" msgstr "Windows Ocena" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "Znacznik oceny używany przez Windows" #: src/tags.cpp:749 msgid "Windows Rating Percent" msgstr "Windows Ocena procentowa" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "Znacznik oceny używany przez Windows, wartość podana w procentach" #: src/tags.cpp:752 #, fuzzy msgid "Image ID" msgstr "Unikalny identyfikator obrazu" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "" "Rozmiary wzoru geometrycznego CFA (color filter array - tablicy filtrów " "kolorów)" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" "Oznaczenie wzoru geometrycznego CFA (color filter array - tablicy filtrów " "kolorów) czujnika obrazu w przypadku użycia jednoukładowego czujnika obszaru " "koloru. Nie odnosi się to do wszystkich metod próbkowania" #: src/tags.cpp:770 #, fuzzy msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" "Informacje o prawach autorskich. Jest to standardowy znacznik używany do " "określenia praw autorskich zarówno fotografa, jak i redaktora. Jest to " "informacja o osobie lub organizacji mającej prawa do obrazu. Standardowe " "oświadczenie o prawach autorskich wraz z datą i prawami powinno być zapisane " "w tym polu, np. \"Copyright, John Smith, 19xx. All rights reserved.\". W tym " "standardzie pola opisują prawa zarówno fotografa, jak i redaktora, z których " "każdy jest opisywany w oddzielnej części oświadczenia. Jeśli jest jasne " "rozróżnienie między prawami fotografa i redaktora, powinny być zapisane w " "kolejności najpierw fotograf, a następnie redaktor, oddzielone znakiem NULL " "(w tym przypadku, jeśli oświadczenie także kończy się znakiem NULL, powinny " "być dwa kody NULL, patrz przykład 1). Jeśli podano tylko prawa fotografa, " "jest on kończony jednym kodem NULL (patrz przykład 2). Jeśli podano tylko " "prawa redaktora, część przeznaczona dla fotografa składa się z jednej spacji " "i następującego po niej kodu kończącego NULL, a następnie podane są prawa " "redaktora (patrz przykład 3). Jeśli pole jest puste, jest traktowane jako " "nieznane." #: src/tags.cpp:789 #, fuzzy msgid "Exposure time, given in seconds." msgstr "Czas ekspozycji podany w sekundach (s)." #: src/tags.cpp:790 src/tags.cpp:1553 msgid "The F number." msgstr "Liczba F." #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "IPTC/NAA" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "Zawiera rekord IPTC/NAA" #: src/tags.cpp:794 msgid "Image Resources Block" msgstr "Blok zasobów obrazu" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "Zawiera informację osadzoną przez program Adobe Photoshop" #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" "Wskaźnik do Exif IFD. Exif IFD ma tę samą strukturę co IFD określone w TIFF, " "oczywiście nie zawiera jednak danych obrazu jak w przypadku pliku TIFF." #: src/tags.cpp:803 msgid "Inter Color Profile" msgstr "Profil kolorów ICC" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" "Zawiera profil/charakterystykę przestrzeni kolorów ICC (InterColor " "Consortium)" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" "Rodzaj programu użytego przez aparat do ustawienia ekspozycji przy robieniu " "zdjęcia." #: src/tags.cpp:807 msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "Określa czułość widmową każdego kanału." #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" "Wskaźnik do GPS Info IFD. Struktura wymienialności GPS Info IFD, podobnie " "jak Exif IFD, nie zawiera danych obrazu." #: src/tags.cpp:813 src/tags.cpp:1564 msgid "ISO Speed Ratings" msgstr "Oszacowania szybkości ISO" #: src/tags.cpp:813 src/tags.cpp:1565 msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" "Określenie szybkości ISO i szerokości ISO aparatu lub urządzenia wejściowego " "zgodne ze specyfikacją ISO 12232." #: src/tags.cpp:814 msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" "Funkcja konwersji optoelektrycznej, zdefiniowana w dokumencie SO 14524." #: src/tags.cpp:815 #, fuzzy msgid "Interlace" msgstr "Z przeplotem" #: src/tags.cpp:815 #, fuzzy msgid "Indicates the field number of multifield images." msgstr "Określa układ obrazu." #: src/tags.cpp:816 #, fuzzy msgid "Time Zone Offset" msgstr "Przesunięcia kafelków" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" #: src/tags.cpp:823 msgid "Self Timer Mode" msgstr "Samowyzwalacz" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "Liczba sekund od naciśnięcia przycisku migawki do zrobienia zdjęcia." #: src/tags.cpp:824 #, fuzzy msgid "Date Time Original" msgstr "Data i czas (oryginału)" #: src/tags.cpp:824 #, fuzzy msgid "The date and time when the original image data was generated." msgstr "Data i czas ostatniej modyfikacji metadanych." #: src/tags.cpp:825 #, fuzzy msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "" "Informacja specyficzna dla skompresowanych danych. Rodzaj kompresji użyty " "dla skompresowanego obrazu jest określony w jednostkach bitów na piksel." #: src/tags.cpp:826 #, fuzzy msgid "Shutter speed." msgstr "Szybkość migawki" #: src/tags.cpp:827 #, fuzzy msgid "The lens aperture." msgstr "Najmniejsza wartość przysłony" #: src/tags.cpp:828 #, fuzzy msgid "The value of brightness." msgstr "Liczba uderzeń." #: src/tags.cpp:829 #, fuzzy msgid "The exposure bias." msgstr "Odchylenie ekspozycji" #: src/tags.cpp:830 src/tags.cpp:1645 msgid "Max Aperture Value" msgstr "Największa wartość przysłony" #: src/tags.cpp:830 #, fuzzy msgid "The smallest F number of the lens." msgstr "Nazwa sceny." #: src/tags.cpp:831 src/tags.cpp:1651 msgid "The distance to the subject, given in meters." msgstr "Odległość obiektu podana w metrach." #: src/tags.cpp:832 src/tags.cpp:1654 msgid "The metering mode." msgstr "Tryb pomiaru." #: src/tags.cpp:833 src/tags.cpp:1657 msgid "The kind of light source." msgstr "Rodzaj źródła światła." #: src/tags.cpp:834 msgid "Indicates the status of flash when the image was shot." msgstr "Ten znacznik określa stan flesza w trakcie robieniu zdjęcia." #: src/tags.cpp:835 msgid "The actual focal length of the lens, in mm." msgstr "Długość ogniskowej obiektywu, w milimetrach." #: src/tags.cpp:836 #, fuzzy msgid "Amount of flash energy (BCPS)." msgstr "Wielkość energii flesza (BCPS)" #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "" #: src/tags.cpp:838 msgid "Noise" msgstr "Szum" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "Wartości pomiaru szumu." #: src/tags.cpp:839 #, fuzzy msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" "Liczba pikseli na jednostkę rozdzielczości () w kierunku " "długości (). Zakładana jest taka sama wartość jak ." #: src/tags.cpp:840 #, fuzzy msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" "Liczba pikseli na jednostkę rozdzielczości () w kierunku " "długości (). Zakładana jest taka sama wartość jak ." #: src/tags.cpp:841 msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "" #: src/tags.cpp:843 #, fuzzy msgid "Security Classification" msgstr "Powiększenie elektroniczne" #: src/tags.cpp:843 #, fuzzy msgid "Security classification assigned to the image." msgstr "Powiększenie elektroniczne" #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "" #: src/tags.cpp:845 #, fuzzy msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "" "Ten znacznik określa położenie i obszar głównego obiektu na całej scenie." #: src/tags.cpp:846 #, fuzzy msgid "Encodes the camera exposure index setting when image was captured." msgstr "" "Określenie indeksu ekspozycji wybranego przez aparat lub urządzenie " "wejściowe w czasie robienia zdjęcia." #: src/tags.cpp:847 msgid "TIFF/EP Standard ID" msgstr "Standardowy ID TIFF/EP" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" "Zawiera cztery znaki ASCII określające wersję standardu TIFF/EP pliku TIFF/" "EP, np. 1, 1, 0, 0." #: src/tags.cpp:851 #, fuzzy msgid "Type of image sensor." msgstr "Środek obrazu Raw" #: src/tags.cpp:852 msgid "Windows Title" msgstr "Windows Tytuł" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "Znacznik tytułu, używany przez Windows, zakodowany w UCS2" #: src/tags.cpp:855 msgid "Windows Comment" msgstr "Windows Komentarz" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "Znacznik komentarza, używany przez Windows, zakodowany w UCS2" #: src/tags.cpp:858 msgid "Windows Author" msgstr "Windows Autor" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "Znacznik autora, używany przez Windows, zakodowany w UCS2" #: src/tags.cpp:861 msgid "Windows Keywords" msgstr "Windows Słowa kluczowe" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "Znacznik słów kluczowych, używany przez Windows, zakodowany w UCS2" #: src/tags.cpp:864 msgid "Windows Subject" msgstr "Windows Temat" #: src/tags.cpp:865 msgid "Subject tag used by Windows, encoded in UCS2" msgstr "Znacznik tematu, używany przez Windows, zakodowany w UCS2" #: src/tags.cpp:867 #, fuzzy msgid "Print Image Matching" msgstr "Pasująca strefa" #: src/tags.cpp:868 #, fuzzy msgid "Print Image Matching, description needed." msgstr "Pasująca strefa" #: src/tags.cpp:870 msgid "DNG version" msgstr "Wersja DNG" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" "W tym znaczniku zakodowany jest czterostopniowy numer wersji. Dla plików " "zgodnych z wersją 1.1.0.0 specyfikacji DNG, znacznik ten powinien zawierać " "bajty: 1, 1, 0, 0." #: src/tags.cpp:875 msgid "DNG backward version" msgstr "Wersja wsteczna DNG" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" "Znacznik ten określa najstarszą wersję specyfikacji Digital Negative (DNG) z " "którą zgodny jest plik. Czytniki nie powinny próbować odczytać pliku jeśli w " "tym znaczniku podany jest numer wersji większy niż ten na którym oparty jest " "czytnik. Dodatkowo oprócz sprawdzania znaczników wersji, czytniki powinny " "dla wszystkich znaczników sprawdzić typy, liczby i wartości aby sprawdzić, " "czy są zdolne do poprawnego odczytania danego pliku." #: src/tags.cpp:884 msgid "Unique Camera Model" msgstr "Unikalny model aparatu" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" "Określa unikalną, nie zlokalizowaną nazwę aparatu, którym utworzono obraz w " "pliku Raw. Nazwa ta powinna zawierać nazwę producenta aby zapobiec " "konfliktom i nie powinna być zlokalizowana, nawet jeśli nazwa aparatu ma " "różne nazwy dla różnych rynków (zobacz \"Lokalny model aparatu\"). Ten " "łańcuch może być użyty przez oprogramowanie czytnika do zindeksowania " "ustawień zależnych od modelu aparatu." #: src/tags.cpp:892 msgid "Localized Camera Model" msgstr "Lokalny model aparatu" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" "Zawiera lokalną nazwę aparatu. Podobne do \"Unikalny model aparatu\", ale " "nazwa może być dostosowana do różnych rynków." #: src/tags.cpp:897 #, fuzzy msgid "CFA Plane Color" msgstr "Kolor FinePix" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" #: src/tags.cpp:902 msgid "CFA Layout" msgstr "Układ CFA" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "Określa układ przestrzenny CFA." #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" #: src/tags.cpp:912 #, fuzzy msgid "Black Level Repeat Dim" msgstr "" "Rozmiary wzoru geometrycznego CFA (color filter array - tablicy filtrów " "kolorów)" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "" #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" #: src/tags.cpp:921 msgid "Black Level Delta H" msgstr "Poziom czerni Delta H" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" #: src/tags.cpp:928 msgid "Black Level Delta V" msgstr "Poziom czerni Delta V" #: src/tags.cpp:929 msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" #: src/tags.cpp:935 msgid "White Level" msgstr "Poziom bieli" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" #: src/tags.cpp:941 msgid "Default Scale" msgstr "Domyślna skala" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "Domyślny początek kadru" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" #: src/tags.cpp:957 msgid "Default Crop Size" msgstr "Domyślny rozmiar kadru" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" #: src/tags.cpp:964 msgid "Color Matrix 1" msgstr "Matryca kolorów 1" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" #: src/tags.cpp:971 msgid "Color Matrix 2" msgstr "Matryca kolorów 2" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" #: src/tags.cpp:977 msgid "Camera Calibration 1" msgstr "Kalibracja aparatu 1" #: src/tags.cpp:978 msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:987 msgid "Camera Calibration 2" msgstr "Kalibracja aparatu 2" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:997 msgid "Reduction Matrix 1" msgstr "Macierz redukcji 1" #: src/tags.cpp:998 msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1004 msgid "Reduction Matrix 2" msgstr "Macierz redukcji 2" #: src/tags.cpp:1005 msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1011 msgid "Analog Balance" msgstr "Analogowy balans bieli" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" #: src/tags.cpp:1021 #, fuzzy msgid "As Shot Neutral" msgstr "Balans bieli neutralny (as shot)" #: src/tags.cpp:1022 msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" #: src/tags.cpp:1027 #, fuzzy msgid "As Shot White XY" msgstr "Balans bieli XY (as shot)" #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" #: src/tags.cpp:1032 msgid "Baseline Exposure" msgstr "Ekspozycja podstawowa" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" #: src/tags.cpp:1047 msgid "Baseline Noise" msgstr "Szum podstawowy" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" #: src/tags.cpp:1054 msgid "Baseline Sharpness" msgstr "Ostrość podstawowa" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" #: src/tags.cpp:1061 #, fuzzy msgid "Bayer Green Split" msgstr "Podział zieleni filtru Bayer" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" #: src/tags.cpp:1070 msgid "Linear Response Limit" msgstr "Limit odpowiedzi linearnej" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" #: src/tags.cpp:1079 msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" "CameraSerialNumber zawiera numer seryjny aparatu lub korpusu aparatu którym " "wykonano zdjęcie." #: src/tags.cpp:1082 msgid "Lens Info" msgstr "Obiektyw" #: src/tags.cpp:1083 #, fuzzy msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" "Zawiera informację o obiektywie którym zrobiono zdjęcie. Jeśli minimalna " "przysłona jest nieznana, powinna być zakodowana jako 0/0." #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "Promień rozmycia kolorów" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" #: src/tags.cpp:1095 msgid "Anti Alias Strength" msgstr "Siła antyaliasingu" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" #: src/tags.cpp:1102 msgid "Shadow Scale" msgstr "Skala cieni" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" "Ten znacznik jest używany przez program Adobe Camera Raw do kontrolowania " "czułości jego suwaka \"Shadows\"." #: src/tags.cpp:1106 msgid "DNG Private Data" msgstr "Prywatne dane DNG" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" "Umożliwia producentom aparatów przechowywanie prywatnych danych w pliku DNG. " "Dane te mogą być użyte w ich własnych konwerterach RAW oraz do " "przechowywania danych zapisanych przez programy do edycji plików DNG." #: src/tags.cpp:1111 msgid "MakerNote Safety" msgstr "Bezpieczeństwo MakerNote" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" #: src/tags.cpp:1119 msgid "Calibration Illuminant 1" msgstr "Oświetlenie kalibracji 1" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" #: src/tags.cpp:1125 msgid "Calibration Illuminant 2" msgstr "Oświetlenie kalibracji 2" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" #: src/tags.cpp:1132 msgid "Best Quality Scale" msgstr "Mnożnik najwyżej jakości" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" "Dla niektórych aparatów, najwyższa możliwa jakość obrazu nie jest osiągana " "przez zachowanie całkowitej liczby pikseli podczas konwersji. Na przykład " "obrazy Fujifilm SuperCCD posiadają najwięcej szczegółów po podwojeniu ich " "całkowitej liczby pikseli. Ten znacznik określa liczbę, o którą należy " "pomnożyć wartości znacznika DefaultScale aby osiągnąć najwyższą jakość " "obrazu." #: src/tags.cpp:1140 msgid "Raw Data Unique ID" msgstr "Unikalny ID danych Raw" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" #: src/tags.cpp:1149 msgid "Original Raw File Name" msgstr "Oryginalna nazwa pliku Raw" #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" #: src/tags.cpp:1153 msgid "Original Raw File Data" msgstr "Oryginalne dane pliku Raw" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" #: src/tags.cpp:1164 msgid "Active Area" msgstr "Obszar aktywny" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" "Prostokąt ten definiuje aktywne (nie zamaskowane) piksele matrycy. Kolejność " "współrzędnych wierzchołków prostokąta to: góra, lewo, dół, prawo." #: src/tags.cpp:1168 msgid "Masked Areas" msgstr "Obszary nieaktywne" #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" "Znacznik ten zawiera listę nienakładających się współrzędnych prostokątów w " "pełni zamaskowanych (nieaktywnych) pikseli matrycy. Mogą one być opcjonalnie " "użyte przez czytniki DNG do pomiaru poziomu odkodowania czerni. Kolejność " "współrzędnych wierzchołków każdego prostokąta to: góra, lewo, dół, prawo. " "Jeśli surowe dane obrazu (raw) zawierają już swój poziom odkodowania czerni, " "ten znacznik nie powinien zostać użyty, ponieważ zamaskowane piksele nie są " "użyteczne." #: src/tags.cpp:1176 #, fuzzy msgid "As-Shot ICC Profile" msgstr "Profil ICC w trakcie wykonywania zdjęcia" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" #: src/tags.cpp:1188 #, fuzzy msgid "As-Shot Pre-Profile Matrix" msgstr "Macierz pre-profilu w trakcie wykonywania zdjęcia" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" #: src/tags.cpp:1198 msgid "Current ICC Profile" msgstr "Bieżący profil ICC" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1205 msgid "Current Pre-Profile Matrix" msgstr "Bieżąca macierz pre-profilu" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1212 #, fuzzy msgid "Colorimetric Reference" msgstr "Odniesienie do projektu" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" #: src/tags.cpp:1220 #, fuzzy msgid "Camera Calibration Signature" msgstr "Kalibracja aparatu 1" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" #: src/tags.cpp:1227 #, fuzzy msgid "Profile Calibration Signature" msgstr "Oświetlenie kalibracji 1" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" #: src/tags.cpp:1234 #, fuzzy msgid "As Shot Profile Name" msgstr "Profil ICC w trakcie wykonywania zdjęcia" #: src/tags.cpp:1235 msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" #: src/tags.cpp:1238 #, fuzzy msgid "Noise Reduction Applied" msgstr "Redukcja szumów" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" #: src/tags.cpp:1246 #, fuzzy msgid "Profile Name" msgstr "Nazwy płyt" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1279 #, fuzzy msgid "Profile Tone Curve" msgstr "Krzywa tonalna" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" #: src/tags.cpp:1288 msgid "Profile Embed Policy" msgstr "" #: src/tags.cpp:1289 #, fuzzy msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" "Ten znacznik zawiera informację o komputerze użytym do utworzenia obrazu." #: src/tags.cpp:1292 #, fuzzy msgid "Profile Copyright" msgstr "Prawa autorskie" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" #: src/tags.cpp:1297 #, fuzzy msgid "Forward Matrix 1" msgstr "Matryca kolorów 1" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" #: src/tags.cpp:1301 #, fuzzy msgid "Forward Matrix 2" msgstr "Matryca kolorów 2" #: src/tags.cpp:1305 #, fuzzy msgid "Preview Application Name" msgstr "Dane podglądu" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" #: src/tags.cpp:1309 #, fuzzy msgid "Preview Application Version" msgstr "Wersja podglądu" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" #: src/tags.cpp:1313 #, fuzzy msgid "Preview Settings Name" msgstr "Obraz podglądu" #: src/tags.cpp:1314 msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" #: src/tags.cpp:1317 #, fuzzy msgid "Preview Settings Digest" msgstr "Opis ustawień urządzenia" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" #: src/tags.cpp:1321 #, fuzzy msgid "Preview Color Space" msgstr "Przestrzeń kolorów wideo" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" #: src/tags.cpp:1326 #, fuzzy msgid "Preview Date Time" msgstr "Dane podglądu" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" #: src/tags.cpp:1331 #, fuzzy msgid "Raw Image Digest" msgstr "Środek obrazu Raw" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" #: src/tags.cpp:1337 #, fuzzy msgid "Original Raw File Digest" msgstr "Oryginalne dane pliku Raw" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" #: src/tags.cpp:1387 #, fuzzy msgid "Noise Profile" msgstr "Filtr szumu" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" #: src/tags.cpp:1396 src/tags.cpp:1397 msgid "Unknown IFD tag" msgstr "Nieznany znacznik IFD" #: src/tags.cpp:1408 src/tags.cpp:1466 msgid "Not defined" msgstr "Nieokreślony" #: src/tags.cpp:1413 msgid "Creative program" msgstr "Program twórczy" #: src/tags.cpp:1414 msgid "Action program" msgstr "Program akcji" #: src/tags.cpp:1415 msgid "Portrait mode" msgstr "Portret" #: src/tags.cpp:1416 msgid "Landscape mode" msgstr "Pejzaż" #: src/tags.cpp:1425 msgid "Multi-spot" msgstr "Wielopunktowy" #: src/tags.cpp:1437 msgid "Tungsten (incandescent light)" msgstr "Żarówka wolframowa" #: src/tags.cpp:1439 msgid "Fine weather" msgstr "Dobra pogoda" #: src/tags.cpp:1440 msgid "Cloudy weather" msgstr "Pochmurna pogoda" #: src/tags.cpp:1442 msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "Światło dzienne lampy fluorescencyjnej (D 5700 - 7100K)" #: src/tags.cpp:1443 msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "Biel dnia lampy fluorescencyjnej (N 4600 - 5400K)" #: src/tags.cpp:1444 msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "Chłodnobiała lampa fluorescencyjna (W 3900 - 4500K)" #: src/tags.cpp:1445 msgid "White fluorescent (WW 3200 - 3700K)" msgstr "Biała lampa fluorescencyjna (WW 3200 - 3700K)" #: src/tags.cpp:1446 msgid "Standard light A" msgstr "Światło standardowe A" #: src/tags.cpp:1447 msgid "Standard light B" msgstr "Światło standardowe B" #: src/tags.cpp:1448 msgid "Standard light C" msgstr "Światło standardowe C" #: src/tags.cpp:1449 msgid "D55" msgstr "D55" #: src/tags.cpp:1450 msgid "D65" msgstr "D65" #: src/tags.cpp:1451 msgid "D75" msgstr "D75" #: src/tags.cpp:1452 msgid "D50" msgstr "D50" #: src/tags.cpp:1453 msgid "ISO studio tungsten" msgstr "Wolframowe oświetlenie studyjne ISO" #: src/tags.cpp:1454 msgid "Other light source" msgstr "Inne źródło światła" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "Nieskalibrowana" #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "Jednoukładowy czujnik obszaru koloru" #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "Dwuukładowy czujnik obszaru koloru" #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "Trzyukładowy czujnik obszaru koloru" #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "Sekwencyjny obszar koloru" #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "Czujnik trzyliniowy" #: src/tags.cpp:1472 msgid "Color sequential linear" msgstr "Liniowa sekwencja koloru" #: src/tags.cpp:1477 msgid "Film scanner" msgstr "Skaner negatywów" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "Skaner druku odblaskowego" #: src/tags.cpp:1479 msgid "Digital still camera" msgstr "Aparat cyfrowy" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "Bezpośrednio sfotografowane" #: src/tags.cpp:1489 msgid "Normal process" msgstr "Proces zwykły" #: src/tags.cpp:1490 msgid "Custom process" msgstr "Proces własny" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "Niskie wzmocnienie na górze" #: src/tags.cpp:1519 msgid "High gain up" msgstr "Wysokie wzmocnienie na górze" #: src/tags.cpp:1520 msgid "Low gain down" msgstr "Niskie wzmocnienie na dole" #: src/tags.cpp:1521 msgid "High gain down" msgstr "Wysokie wzmocnienie na górze" #: src/tags.cpp:1542 msgid "Close view" msgstr "Widok bliski" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "Widok daleki" #: src/tags.cpp:1550 msgid "Exposure time, given in seconds (sec)." msgstr "Czas ekspozycji podany w sekundach (s)." #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" "Oznaczenie czułości widmowej każdego kanału używanego przez aparat. Wartość " "znacznika to łańcuch znaków ASCII kompatybilny ze standardem utworzonym " "przez ASTM Technical Committee." #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "Funkcja konwersji optoelektrycznej" #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" "Określenie funkcji konwersji optoelektrycznej (OECF - Opto-Electric " "Conversion Function) opisanej w ISO 14524. określa zależność między " "wejściem optycznym aparatu a wartościami obrazu." #: src/tags.cpp:1573 #, fuzzy msgid "Sensitivity Type" msgstr "Czułość ISO" #: src/tags.cpp:1574 msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" #: src/tags.cpp:1580 #, fuzzy msgid "Standard Output Sensitivity" msgstr "Czułość widmowa" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1585 #, fuzzy msgid "Recommended Exposure Index" msgstr "Indeks ekspozycji" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1595 #, fuzzy msgid "ISO Speed Latitude yyy" msgstr "Tryb ISO" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" #: src/tags.cpp:1600 #, fuzzy msgid "ISO Speed Latitude zzz" msgstr "Tryb ISO" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" "Obsługiwana wersja tego standardu. Brak tego pola jest uznawany za " "niezgodność ze standardem." #: src/tags.cpp:1609 msgid "Date and Time (original)" msgstr "Data i czas (oryginału)" #: src/tags.cpp:1610 msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" "Data i czas wygenerowania oryginalnych danych obrazu. Dla aparatu cyfrowego " "zapisywana jest data i czas zrobienia zdjęcia." #: src/tags.cpp:1613 msgid "Date and Time (digitized)" msgstr "Data i czas (obrazu cyfrowego)" #: src/tags.cpp:1614 msgid "The date and time when the image was stored as digital data." msgstr "Data i czas zapisania obrazu jako danych cyfrowych." #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" "Informacje specyficzne dla skompresowanych danych. Kanały każdej składowej " "są układane w kolejności od 1. do 4. Dla danych nieskompresowanych ułożenie " "danych jest podane w znaczniku . Jednak ponieważ " " może wyrazić jedynie kolejność Y, Cb i Cr, ten " "znacznik został dodany dla przypadków, kiedy skompresowane dane używają " "składowych innych niż Y, Cb i Cr oraz aby umożliwić obsługę innych sekwencji." #: src/tags.cpp:1626 msgid "Compressed Bits per Pixel" msgstr "Skompresowane bity na piksel" #: src/tags.cpp:1627 msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" "Informacja specyficzna dla skompresowanych danych. Rodzaj kompresji użyty " "dla skompresowanego obrazu jest określony w jednostkach bitów na piksel." #: src/tags.cpp:1631 msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" "Czas otwarcia migawki. Jednostką jest ustawienie APEX (Additive System of " "Photographic EXposure)." #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "Przysłona obiektywu. Jednostką jest wartość APEX." #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" "Wartość jasności. Jednostką jest wartość APEX. Zwykle jest podana w " "przedziale od -99.99 do 99.99." #: src/tags.cpp:1641 msgid "Exposure Bias" msgstr "Odchylenie ekspozycji" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" "Odchylenie ekspozycji. Jednostką jest wartość APEX. Zwykle jest podana w " "przedziale od -99.99 do 99.99." #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" "Najmniejsza liczba F obiektywu. Jednostką jest wartość APEX. Zwykle jest " "podana w przedziale od -99.99 do 99.99, ale nie ma ograniczenia do tego " "zakresu." #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "" "Ten znacznik jest zapisywany kiedy zdjęcie było robione z użyciem światła " "błyskowego (flesza)." #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" "Rzeczywista ogniskowa obiektywu w milimetrach, bez przekształcenia do " "ogniskowej dla aparatu na film 35 mm." #: src/tags.cpp:1667 msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "" "Ten znacznik określa położenie i obszar głównego obiektu na całej scenie." #: src/tags.cpp:1670 msgid "Maker Note" msgstr "Uwaga producenta" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" "Znacznik dla producentów urządzeń zapisujących Exif do zapisywania dowolnie " "wybranych informacji. Zawartość zależy od producenta." #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" #: src/tags.cpp:1679 msgid "Sub-seconds Time" msgstr "Czas ekspozycji (ułamki sekund)" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "" "Znacznik używany do zapisywania ułamków sekund dla znacznika ." #: src/tags.cpp:1682 msgid "Sub-seconds Time Original" msgstr "Data i czas oryginału (ułamki sekund)" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "Znacznik używany do zapisywania ułamków sekund dla znacznika " "." #: src/tags.cpp:1685 msgid "Sub-seconds Time Digitized" msgstr "Data i czas digitalizacji (ułamki sekund)" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "Znacznik używany do zapisywania ułamków sekund dla znacznika " "." #: src/tags.cpp:1688 msgid "FlashPix Version" msgstr "Wersja FlashPix" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "Wersja formatu FlashPix obsługiwana przez plik FPXR." #: src/tags.cpp:1692 msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" "Znacznik informacji o przestrzeni kolorów jest zawsze zapisywany w celu " "określenia przestrzeni kolorów. Zwykle używane jest sRGB do określenia " "przestrzeni kolorów w oparciu o warunki i środowisko monitora PC. Jeśli " "użyta jest inna przestrzeń kolorów niż sRGB, ustawiona jest wartość " "Nieskalibrowana. Dane obrazu zapisane jako nieskalibrowane mogą być " "traktowane jako sRGB przy konwersji do FlashPix." #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" "Informacje specyficzne dla skompresowanych danych. Kiedy zapisywany jest " "skompresowany plik, w tym znaczniku musi być zapisana poprawna szerokość " "znaczącego obrazu, niezależnie od istnienia danych dopełniających czy " "znacznika restartu. Ten znacznik nie powinien istnieć w pliku " "nieskompresowanym." #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" "Informacje specyficzne dla skompresowanych danych. Kiedy zapisywany jest " "skompresowany plik, w tym znaczniku musi być zapisana poprawna wysokość " "znaczącego obrazu, niezależnie od istnienia danych dopełniających czy " "znacznika restartu. Ten znacznik nie powinien istnieć w pliku " "nieskompresowanym. Ponieważ dopełnianie danych w kierunku pionowym nie jest " "potrzebne, liczba linii zapisana w tym polu będzie w praktyce równa tej " "zapisanej w SOF." #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" "Ten znacznik jest używany do zapisania nazwy pliku dźwiękowego powiązanego z " "danymi obrazu. Jedyna związana informacja zapisywana tutaj do nazwa pliku " "dźwiękowego Exif i jego rozszerzenie (łańcuch ASCII składający się z 8 " "znaków + \".\" + 3 znaków rozszerzenia). Ścieżka do pliku nie jest " "zapisywana." #: src/tags.cpp:1723 msgid "Interoperability IFD Pointer" msgstr "Wskaźnik IFD wymienialności" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" "Interoperability IFD jest złożony ze znaczników przechowujących informacje " "zapewniające wymienialność i wskazywane przez ten znacznik umieszczony w " "Exif IFD. Struktura wymienialności w Interoperability IFD jest taka sama jak " "struktura IFD zdefiniowana w TIFF, ale w porównaniu do normalnego TIFF IFD " "nie zawiera danych obrazu." #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" "Określenie energii błysku w czasie robienia zdjęcia mierzonej w jednostkach " "BCPS (Beam Candle Power Seconds)." #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" "Ten znacznik zapisuje tabelę częstotliwości przestrzennych aparatu lub " "urządzenia wejściowego oraz wartości SFR w kierunku szerokości obrazu, " "wysokości obrazu i przekątnej zgodnie ze specyfikacją ISO 12233." #: src/tags.cpp:1740 msgid "Focal Plane X-Resolution" msgstr "Rozdzielczość ogniskowej w płaszczyźnie X" #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" "Określenie liczby pikseli w kierunku szerokości obrazu (X) na " " w płaszczyźnie ogniskowej aparatu." #: src/tags.cpp:1744 msgid "Focal Plane Y-Resolution" msgstr "Rozdzielczość ogniskowej w płaszczyźnie Y" #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" "Określenie liczby pikseli w kierunku wysokości obrazu (Y) na " " w płaszczyźnie ogniskowej aparatu." #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" "Określenie jednostki miary i " ". Ta wartość jest taka sama jak ." #: src/tags.cpp:1753 msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" "Określenie położenia głównego obiektu na scenie. Wartość tego znacznika " "reprezentuje piksel w środku głównego obiektu względem lewej krawędzi, przed " "wykonaniem obrotu opisanego znacznikiem . Pierwsza wartość określa " "numer kolumny X, a druga numer wiersza Y." #: src/tags.cpp:1759 msgid "Exposure index" msgstr "Indeks ekspozycji" #: src/tags.cpp:1760 msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" "Określenie indeksu ekspozycji wybranego przez aparat lub urządzenie " "wejściowe w czasie robienia zdjęcia." #: src/tags.cpp:1764 msgid "Indicates the image sensor type on the camera or input device." msgstr "" "Określenie rodzaju czujnika obrazu w aparacie lub urządzeniu wejściowym." #: src/tags.cpp:1767 msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" "Określenie źródła obrazu. Jeśli obraz był zapisany przez DSC, wartość tego " "znacznika zawsze wynosi 3, oznaczając, że obraz był zapisany przez DSC." #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" "Określenie rodzaju sceny. Jeśli obraz był zapisany przez DSC, wartość tego " "znacznika zawsze musi być ustawiona na 1, oznaczając, że obraz był " "bezpośrednio sfotografowany." #: src/tags.cpp:1776 msgid "Color Filter Array Pattern" msgstr "Wzór filtra kolorów" #: src/tags.cpp:1777 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" "Oznaczenie wzoru geometrycznego CFA (color filter array - tablicy filtrów " "kolorów) czujnika obrazu w przypadku użycia jednoukładowego czujnika obszaru " "koloru. Nie odnosi się to do wszystkich metod próbkowania." #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" "Ten znacznik określa użycie specjalnego przetwarzania danych obrazu, takiego " "jak rendering zastosowany na wyjściu. Jeśli jest wykonane specjalne " "przetwarzanie, czytający powinien wyłączyć albo zminimalizować dalsze " "przetwarzanie." #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" "Ten znacznik określa tryb ekspozycji ustawiony przy robieniu zdjęcia. W " "trybie automatycznego bracketingu aparat wykonuje serię klatek tej samej " "sceny z różnymi ustawieniami ekspozycji." #: src/tags.cpp:1793 msgid "This tag indicates the white balance mode set when the image was shot." msgstr "" "Ten znacznik określa tryb balansu bieli ustawiony przy robieniu zdjęcia." #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" "Ten znacznik określa współczynnik powiększenia cyfrowego w czasie robienia " "zdjęcia. Jeśli licznik wartości znacznika jest równy 0, oznacza to, że nie " "użyto cyfrowego powiększenia." #: src/tags.cpp:1801 msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" "Znacznik określa odpowiednik ogniskowej w milimetrach w odniesieniu do " "aparatu dla filmów 35 mm. Wartość 0 oznacza nieznaną ogniskową. Uwaga: " "znacznik ten różni się od znacznika ." #: src/tags.cpp:1807 msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" "Znacznik określa rodzaj sceny na zdjęciu. Może być także wykorzystany do " "zapisania trybu, w którym było robione zdjęcie. Należy zaznaczyć, że ten " "znacznik różni się od znacznika ." #: src/tags.cpp:1812 msgid "This tag indicates the degree of overall image gain adjustment." msgstr "Ten znacznik określa stopień wzmocnienia całego obrazu." #: src/tags.cpp:1815 msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" "Ten znacznik określa kierunek przetwarzania kontrastu zastosowanego przez " "aparat przy robieniu zdjęcia." #: src/tags.cpp:1819 msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" "Ten znacznik określa kierunek przetwarzania nasycenia zastosowanego przez " "aparat przy robieniu zdjęcia." #: src/tags.cpp:1823 msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" "Ten znacznik określa kierunek przetwarzania ostrości zastosowanego przez " "aparat przy robieniu zdjęcia." #: src/tags.cpp:1827 msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" "Ten znacznik określa informacje o warunkach robienia zdjęcia dla konkretnego " "modelu aparatu. Jest on używany tylko do określenia warunków robienia " "zdjęcia przy odczycie." #: src/tags.cpp:1832 msgid "This tag indicates the distance to the subject." msgstr "Ten znacznik określa odległość od obiektu." #: src/tags.cpp:1835 msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" "Ten znacznik określa unikalny identyfikator przypisany każdemu zdjęciu. Jest " "on zapisany jako łańcuch ASCII odpowiadający notacji szesnastkowej o stałej " "długości 128 bitów." #: src/tags.cpp:1839 #, fuzzy msgid "Camera Owner Name" msgstr "Nazwa właściciela" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" #: src/tags.cpp:1843 #, fuzzy msgid "Body Serial Number" msgstr "Numer seryjny" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1847 #, fuzzy msgid "Lens Specification" msgstr "Informacje zależna od dostawcy" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" #: src/tags.cpp:1854 #, fuzzy msgid "Lens Make" msgstr "Model obiektywu" #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "" #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1866 src/tags.cpp:1867 msgid "Unknown Exif tag" msgstr "Nieznany znacznik Exif" #: src/tags.cpp:1878 msgid "North" msgstr "Północ" #: src/tags.cpp:1879 msgid "South" msgstr "Południe" #: src/tags.cpp:1884 msgid "East" msgstr "Wschód" #: src/tags.cpp:1885 msgid "West" msgstr "Zachód" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "Powyżej poziomu morza" #: src/tags.cpp:1891 msgid "Below sea level" msgstr "Poniżej poziomu morza" #: src/tags.cpp:1896 msgid "Measurement in progress" msgstr "Pomiar w toku" #: src/tags.cpp:1897 msgid "Measurement Interoperability" msgstr "Pomiar gotowy" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "Pomiar dwuwymiarowy" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "Pomiar trójwymiarowy" #: src/tags.cpp:1908 msgid "km/h" msgstr "km/h" #: src/tags.cpp:1909 msgid "mph" msgstr "mph" #: src/tags.cpp:1910 msgid "knots" msgstr "węzły" #: src/tags.cpp:1915 msgid "True direction" msgstr "Kierunek rzeczywisty" #: src/tags.cpp:1916 msgid "Magnetic direction" msgstr "Kierunek magnetyczny" #: src/tags.cpp:1921 msgid "Kilometers" msgstr "Kilometry" #: src/tags.cpp:1922 msgid "Miles" msgstr "Mile" #: src/tags.cpp:1923 msgid "Knots" msgstr "Węzły" #: src/tags.cpp:1928 msgid "Without correction" msgstr "Bez korekcji" #: src/tags.cpp:1929 msgid "Correction applied" msgstr "Z korekcją" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" "Oznaczenie wersji . Wersja jest podawana jako 2.0.0.0. Ten " "znacznik jest obowiązkowy, jeśli obecny jest znacznik . (Uwaga: " "znacznik jest podawany w bajtach, w przeciwieństwie do " "znacznika . Kiedy wersja to 2.0.0.0, znacznik ma wartość " "02000000.H)." #: src/tags.cpp:1941 msgid "GPS Latitude Reference" msgstr "GPS Oznaczenie szerokości" #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" "Oznaczenie, czy szerokość geograficzna jest północna, czy południowa. " "Wartość ASCII \"N\" oznacza szerokość północną, a \"S\" południową." #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" "Określenie szerokości geograficznej. Szerokość jest wyrażona jako trzy " "wartości RATIONAL (wymierne) podające odpowiednio stopnie, minuty i sekundy. " "Kiedy są wyrażone stopnie, minuty i sekundy, format to dd/1,mm/1,ss/1. Kiedy " "są wyrażone stopnie i minuty oraz np. ułamki minut są podane z dokładnością " "do dwóch miejsc po przecinku, format to dd/1,mmmm/100,0/1." #: src/tags.cpp:1953 msgid "GPS Longitude Reference" msgstr "GPS Oznaczenie długości" #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" "Określenie, czy długość geograficzna jest wschodnia, czy zachodnia. Wartość " "ASCII \"E\" oznacza długość wschodnią, a \"W\" zachodnią." #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" "Określenie długości geograficznej. Szerokość jest wyrażona jako trzy " "wartości RATIONAL (wymierne) podające odpowiednio stopnie, minuty i sekundy. " "Kiedy są wyrażone stopnie, minuty i sekundy, format to dd/1,mm/1,ss/1. Kiedy " "są wyrażone stopnie i minuty oraz np. ułamki minut są podane z dokładnością " "do dwóch miejsc po przecinku, format to dd/1,mmmm/100,0/1." #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" "Określenie odniesienia wysokości. Jeśli odniesienie jest poziomem morza i " "wysokość jest nad poziomem morza, podaje się 0. Jeśli wysokość jest poniżej " "poziomu morza, podaje się wartość 1 i wysokość oznacza się jako wartość " "bezwzględną w znaczniku GPSAltitude. Jednostką odniesienia są metry. Ten " "znacznik jest typu BYTE w przeciwieństwie do innych znaczników odniesienia." #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" "Określenie wysokości (wyniesienia n.p.m.) w oparciu o odniesienie w " "GPSAltitudeRef. Wysokość jest wyrażona jako jedna wartość RATIONAL " "(wymierna). Jednostką odniesienia są metry." #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" "Określa czas jako uniwersalny czas koordynowany (UTC). jest " "wyrażony jako trzy wartości wymierne (RATIONAL) podające godzinę, minutę i " "sekundę (zegar atomowy)." #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" "Określa satelity systemu GPS użyte do pomiaru. Znacznik ten może być użyty " "do opisania numerów satelitów, ich numerów identyfikacyjnych, kąta " "wychylenia, azymutu, SNR i innych informacji w postaci ASCII. Format nie " "jest określony. Jeśli odbiornik GPS nie jest zdolny do wykonania pomiaru, " "znacznik jest ustawiany na NULL." #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" "Określa stan odbiornika GPS w momencie zapisania obrazu. \"A\" oznacza że " "pomiar jest w toku, a \"V\" oznacza gotowość pomiaru." #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" "Określa tryb pomiaru w odbiorniku GPS. Wartości tekstowe: \"2\" oznacza " "pomiar dwuwymiarowy, a \"3\" pomiar trójwymiarowy." #: src/tags.cpp:1998 msgid "GPS Data Degree of Precision" msgstr "GPS Stopień precyzji danych" #: src/tags.cpp:1999 msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" "Określa stopień precyzji danych GPS (DOP). Wartość HDOP jest zapisywana " "podczas pomiaru dwuwymiarowego, natomiast PDOP podczas pomiaru " "dwuwymiarowego." #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" "Jednostka użyta do pomiaru prędkości ruchu odbiornika GPS. \"K\", \"M\" i \"N" "\" oznaczają kilometry, mile i węzły." #: src/tags.cpp:2007 msgid "Indicates the speed of GPS receiver movement." msgstr "Określa prędkość ruchu odbiornika GPS." #: src/tags.cpp:2009 msgid "GPS Track Ref" msgstr "GPS Kierunek" #: src/tags.cpp:2010 msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Oznacza rodzaj kierunku ruchu odbiornika GPS. \"T\" oznacza kierunek " "rzeczywisty, a \"M\" kierunek magnetyczny." #: src/tags.cpp:2014 msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" "Określa kierunek ruchu odbiornika GPS. Zakres wartości to od 0.00 do 359.99." #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Oznaczenie rodzaju kierunku (namiaru) do obrazu podczas jego wykonywania. \"T" "\" oznacza kierunek rzeczywisty, a \"M\" kierunek magnetyczny." #: src/tags.cpp:2022 msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" "Określa kierunek obrazu podczas wykonywania zdjęcia, zakres wartości to od " "0.00 do 359.99." #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" "Określa układ odniesienia współrzędnych geograficznych użytych przez " "odbiornik GPS. Jeśli układ odniesienia jest ograniczony do Japonii, wartość " "tego znacznika to \"TOKYO\" lub \"WGS-84\"." #: src/tags.cpp:2029 #, fuzzy msgid "GPS Destination Latitude Reference" msgstr "GPS Określenie szerokości celu" #: src/tags.cpp:2030 msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" "Oznaczenie, czy szerokość geograficzna punktu docelowego jest północna, czy " "południowa. Wartość ASCII \"N\" oznacza szerokość geograficzną północną, a " "\"S\" południową." #: src/tags.cpp:2034 msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" "Określenie szerokości geograficznej punktu docelowego. Szerokość jest " "wyrażona jako trzy wartości RATIONAL (wymierne) podające odpowiednio " "stopnie, minuty i sekundy. Kiedy są wyrażone stopnie, minuty i sekundy, " "typowy format to dd/1,mm/1,ss/1. Kiedy są wyrażone stopnie i minuty oraz np. " "ułamki minut są podane z dokładnością do dwóch miejsc po przecinku, format " "to dd/1,mmmm/100,0/1." #: src/tags.cpp:2041 msgid "GPS Destination Longitude Reference" msgstr "GPS Określenie długości celu" #: src/tags.cpp:2042 msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" "Określenie, czy długość geograficzna punktu docelowego jest wschodnia, czy " "zachodnia. Wartość ASCII \"E\" oznacza długość geograficzną wschodnią, a \"W" "\" zachodnią." #: src/tags.cpp:2046 msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" "Określenie długości geograficznej punktu docelowego. Długość jest wyrażona " "jako trzy wartości RATIONAL (wymierne) podające odpowiednio stopnie, minuty " "i sekundy. Kiedy są wyrażone stopnie, minuty i sekundy, typowy format to " "dd/1,mm/1,ss/1. Kiedy są wyrażone stopnie i minuty oraz np. ułamki minut są " "podane z dokładnością do dwóch miejsc po przecinku, format to dd/1," "mmmm/100,0/1." #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Oznaczenie rodzaju kierunku (namiaru) do punktu docelowego. \"T\" oznacza " "kierunek rzeczywisty, a \"M\" kierunek magnetyczny." #: src/tags.cpp:2057 msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "" "Określa kierunek (namiar) do punktu docelowego. Przyjmuje zakres wartości od " "0.00 do 359.99." #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" "Jednostki użyte do wyrażenia odległości do punktu docelowego. \"K\", \"M\" i " "\"N\" oznaczają kilometry, mile i węzły." #: src/tags.cpp:2065 msgid "Indicates the distance to the destination point." msgstr "Określa odległość do punktu docelowego." #: src/tags.cpp:2068 msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" "Łańcuch tekstowy określający metodę użytą do znalezienia lokalizacji. " "Pierwszy bajt określa użyte kodowanie, po nim następuje nazwa metody." #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" "Łańcuch tekstowy, w którym jest zapisana nazwa obszaru GPS. Pierwszy bajt " "określa użyte kodowanie, po nim następuje nazwa obszaru GPS." #: src/tags.cpp:2076 msgid "GPS Date Stamp" msgstr "GPS Znacznik czasu" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" "Łańcuch tekstowy, który zawiera informację o dacie i czasie w odniesieniu do " "UTC (uniwersalnego czasu koordynowanego). Format to \"RRRR:MM:DD.\"." #: src/tags.cpp:2081 msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "Określa czy dla odbiornika GPS zastosowano korekcję różnicową." #: src/tags.cpp:2084 src/tags.cpp:2085 msgid "Unknown GPSInfo tag" msgstr "Nieznany znacznik GPSInfo" #: src/tags.cpp:2096 msgid "Interoperability Index" msgstr "Indeks wymienialności" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" "Oznaczenie identyfikacji reguły wymienialności. Należy użyć \"R98\" dla " "oznaczenia reguł ExifR98. Używane są cztery bajty wraz ze znacznikiem końca " "(NULL). Inne znaczniki ExifR98 są opisane w pozycji Recommended Exif " "Interoperability Rules (ExifR98)." #: src/tags.cpp:2103 msgid "Interoperability Version" msgstr "Wersja wymienialności" #: src/tags.cpp:2104 msgid "Interoperability version" msgstr "Wersja wymienialności" #: src/tags.cpp:2106 msgid "Related Image File Format" msgstr "Powiązany format pliku obrazu" #: src/tags.cpp:2107 msgid "File format of image file" msgstr "Format pliku obrazu" #: src/tags.cpp:2109 msgid "Related Image Width" msgstr "Powiązana szerokość obrazu" #: src/tags.cpp:2112 msgid "Related Image Length" msgstr "Powiązana długość obrazu" #: src/tags.cpp:2116 src/tags.cpp:2117 msgid "Unknown Exif Interoperability tag" msgstr "Nieznany znacznik Exif Interoperability" #: src/tags.cpp:2128 msgid "Offset" msgstr "Przesunięcie" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "Przesunięcie Makernote od początku nagłówka TIFF." #: src/tags.cpp:2131 msgid "Byte Order" msgstr "Kolejność bajtów" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" "Kolejność bajtów użyta do zakodowania znaczników MakerNote, \"MM\" (big-" "endian) lub \"II\" (little-endian)." #: src/tags.cpp:2135 src/tags.cpp:2136 msgid "Unknown Exiv2 Makernote info tag" msgstr "Nieznany znacznik informacyjny Exiv2 Makernote" #: src/tags.cpp:2146 src/tags.cpp:2147 msgid "Unknown tag" msgstr "Nieznany znacznik" #: src/tags.cpp:2688 msgid "Digital zoom not used" msgstr "Nie użyto cyfrowego zoomu" #: src/tiffimage.cpp:2308 msgid "TIFF header, offset" msgstr "Przesunięcie nagłówka TIFF" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "zakodowane jako little endian" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "zakodowane jako big endian" #, fuzzy #~ msgid "ascii bytes" #~ msgstr "bajtów" exiv2-0.25/po/pt.po0000664000175000017500000250655412540520175013736 0ustar andreasandreas# Brazilian Portuguese translation for exiv2 # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the exiv2 package. # msgid "" msgstr "" "Project-Id-Version: exiv2\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: 2014-01-27 14:10+0000\n" "Last-Translator: Fábio Nogueira \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2015-05-09 23:00+0000\n" "X-Generator: Launchpad (build 17474)\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 #, fuzzy msgid "Failed to open the file\n" msgstr "Falhou ao analisar a marca temporal" #: src/actions.cpp:282 #, fuzzy msgid "File name" msgstr "Nome do arquivo raw." #: src/actions.cpp:288 #, fuzzy msgid "File size" msgstr "Tamanho completo" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "" #: src/actions.cpp:293 msgid "MIME type" msgstr "" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 #, fuzzy msgid "Image size" msgstr "Tamanho de imagem completo" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 #, fuzzy msgid "No Exif data found in the file\n" msgstr "Não foram encontrados dados XMP no arquivo\n" #: src/actions.cpp:307 msgid "Camera make" msgstr "Fabricante da câmera" #: src/actions.cpp:310 #, fuzzy msgid "Camera model" msgstr "Fabricante da câmera" #: src/actions.cpp:313 msgid "Image timestamp" msgstr "Data da imagem" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 #, fuzzy msgid "Image number" msgstr "Tom da imagem" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 #, fuzzy msgid "Exposure time" msgstr "Exibir transformação" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 #, fuzzy msgid "Aperture" msgstr "Abertura automática" #: src/actions.cpp:345 #, fuzzy msgid "Exposure bias" msgstr "Valor de orientação diagonal" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 #, fuzzy msgid "Flash" msgstr "Modo luz" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 #, fuzzy msgid "Flash bias" msgstr "FlashBias" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 #, fuzzy msgid "Focal length" msgstr "Lente focal" #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr "" #: src/actions.cpp:373 #, fuzzy msgid "Subject distance" msgstr "Faixa de distância do assunto" #: src/actions.cpp:387 msgid "ISO speed" msgstr "Velocidade do ISO" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 #, fuzzy msgid "Exposure mode" msgstr "Modo de multi-exposição" #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 #, fuzzy msgid "Metering mode" msgstr "ModoMedicao" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 #, fuzzy msgid "Macro mode" msgstr "Modo de controle do Flash" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 #, fuzzy msgid "Image quality" msgstr "Configuração de qualidade de imagem" #: src/actions.cpp:403 msgid "Exif Resolution" msgstr "Resolução Exif" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "Balanço do branco" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 #, fuzzy msgid "Thumbnail" msgstr "Estrutura de miniaturas" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 msgid "Copyright" msgstr "Direitos autorais" #: src/actions.cpp:458 #, fuzzy msgid "Exif comment" msgstr "Registro de comentário" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "" #: src/actions.cpp:742 #, fuzzy msgid "JPEG comment" msgstr "Registro de comentário" #: src/actions.cpp:767 msgid "Preview" msgstr "Visualizar" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "pixels" #: src/actions.cpp:773 src/actions.cpp:1113 msgid "bytes" msgstr "" #: src/actions.cpp:820 msgid "Neither tag" msgstr "Nenhuma etiqueta" #: src/actions.cpp:821 msgid "nor" msgstr "" #: src/actions.cpp:822 #, fuzzy msgid "found in the file" msgstr "Não foram encontrados dados XMP no arquivo\n" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "" #: src/actions.cpp:833 src/actions.cpp:1590 msgid "Failed to parse timestamp" msgstr "Falhou ao analisar a marca temporal" #: src/actions.cpp:834 #, fuzzy msgid "in the file" msgstr "Filtro de ruído" #: src/actions.cpp:845 #, fuzzy msgid "Updating timestamp to" msgstr "Data da imagem" #: src/actions.cpp:939 msgid "Erasing thumbnail data" msgstr "Apagando dados de miniatura" #: src/actions.cpp:947 msgid "Erasing Exif data from the file" msgstr "" #: src/actions.cpp:956 #, fuzzy msgid "Erasing IPTC data from the file" msgstr "Não foram encontrados dados IPTC no arquivo\n" #: src/actions.cpp:965 msgid "Erasing JPEG comment from the file" msgstr "" #: src/actions.cpp:974 #, fuzzy msgid "Erasing XMP data from the file" msgstr "Não foram encontrados dados XMP no arquivo\n" #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "" #: src/actions.cpp:1055 #, fuzzy msgid "Writing thumbnail" msgstr "Apagando dados de miniatura" #: src/actions.cpp:1056 src/actions.cpp:1114 #, fuzzy msgid "to file" msgstr "Filtro de arte" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "" #: src/actions.cpp:1107 msgid "Writing preview" msgstr "Escrevendo visualização" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "" #: src/actions.cpp:1319 msgid "Add" msgstr "" #: src/actions.cpp:1341 src/actions.cpp:1415 msgid "Warning" msgstr "" #: src/actions.cpp:1342 src/actions.cpp:1416 #, fuzzy msgid "Failed to read" msgstr "Falhou ao analisar a marca temporal" #: src/actions.cpp:1344 src/actions.cpp:1418 #, fuzzy msgid "value" msgstr "Valor de luz" #: src/actions.cpp:1355 #, fuzzy msgid "Set" msgstr "Configurar" #: src/actions.cpp:1427 msgid "Del" msgstr "" #: src/actions.cpp:1459 msgid "Reg " msgstr "Registrar " #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "Marca temporal do metadatum com senha" #: src/actions.cpp:1544 msgid "not set\n" msgstr "" #: src/actions.cpp:1549 #, fuzzy msgid "Adjusting" msgstr "Configuração de matiz" #: src/actions.cpp:1549 msgid "by" msgstr "" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "" #: src/actions.cpp:1556 msgid "year" msgstr "" #: src/actions.cpp:1564 msgid "months" msgstr "" #: src/actions.cpp:1567 msgid "month" msgstr "" #: src/actions.cpp:1575 msgid "days" msgstr "" #: src/actions.cpp:1578 msgid "day" msgstr "" #: src/actions.cpp:1584 msgid "s" msgstr "" #: src/actions.cpp:1600 #, fuzzy msgid "Can't adjust timestamp by" msgstr "Falhou ao analisar a marca temporal" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 msgid "to" msgstr "" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "" #: src/actions.cpp:1708 msgid "No Exif user comment found" msgstr "" #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "" #: src/actions.cpp:1723 msgid "No Exif UNICODE user comment found" msgstr "" #: src/actions.cpp:1729 msgid "Setting Exif UNICODE user comment to" msgstr "" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "" #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "" #: src/actions.cpp:1975 src/exiv2.cpp:168 msgid "File" msgstr "" #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr "" #: src/actions.cpp:2004 #, fuzzy msgid "Renaming file to" msgstr "Taxa de repetição do Flash" #: src/actions.cpp:2006 #, fuzzy msgid "updating timestamp" msgstr "Data da imagem" #: src/actions.cpp:2015 #, fuzzy msgid "Failed to rename" msgstr "Falhou ao analisar a marca temporal" #: src/actions.cpp:2037 #, fuzzy msgid "Overwrite" msgstr "Auto sobrescrita" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "" #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "" #: src/canonmn.cpp:363 msgid "Format 1" msgstr "" #: src/canonmn.cpp:364 msgid "Format 2" msgstr "" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 #, fuzzy msgid "On (1)" msgstr "On (11-pontos)" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 #, fuzzy msgid "On (2)" msgstr "Ligado (2 quadros)" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 #, fuzzy msgid "Adobe RGB" msgstr "Etiqueta do Adobe DNG" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 #, fuzzy msgid "Camera Settings" msgstr "Tem ajuste" #: src/canonmn.cpp:383 #, fuzzy msgid "Various camera settings" msgstr "Configuração de modo de foco" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 #, fuzzy msgid "Focal Length" msgstr "Lente focal" #: src/canonmn.cpp:386 src/sonymn.cpp:394 #, fuzzy msgid "Shot Info" msgstr "InformacaoDisparo" #: src/canonmn.cpp:386 #, fuzzy msgid "Shot information" msgstr "Informação de captura" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 #, fuzzy msgid "Panorama" msgstr "Modo panorâmico" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 #, fuzzy msgid "Image Type" msgstr "Estilo de imagem" #: src/canonmn.cpp:388 #, fuzzy msgid "Image type" msgstr "Estilo de imagem" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 #, fuzzy msgid "Firmware Version" msgstr "DSPFirmwareVersion" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 #, fuzzy msgid "Firmware version" msgstr "Versão da flash do firmware" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 #, fuzzy msgid "File Number" msgstr "Número-F" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 #, fuzzy msgid "File number" msgstr "Número-F" #: src/canonmn.cpp:391 #, fuzzy msgid "Owner Name" msgstr "Nome do usuário final" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 #, fuzzy msgid "Serial Number" msgstr "Número de série" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 #, fuzzy msgid "Camera serial number" msgstr "Número de série da câmera." #: src/canonmn.cpp:393 #, fuzzy msgid "Camera Info" msgstr "InformacaoCamera" #: src/canonmn.cpp:393 #, fuzzy msgid "Camera info" msgstr "InformacaoCamera" #: src/canonmn.cpp:394 src/canonmn.cpp:406 #, fuzzy msgid "Custom Functions" msgstr "Função principal" #: src/canonmn.cpp:395 #, fuzzy msgid "ModelID" msgstr "ID do modelo Sony" #: src/canonmn.cpp:395 #, fuzzy msgid "Model ID" msgstr "ID do modelo Sony" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 #, fuzzy msgid "Picture Info" msgstr "Modo de imagem" #: src/canonmn.cpp:396 #, fuzzy msgid "Picture info" msgstr "Imagem finalizada" #: src/canonmn.cpp:397 msgid "Thumbnail Image Valid Area" msgstr "" #: src/canonmn.cpp:397 #, fuzzy msgid "Thumbnail image valid area" msgstr "Miniatura/Mostrar imagem, Arquivo de multi-paginação" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial Number Format" msgstr "Número de série" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial number format" msgstr "Número de série" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 msgid "Super Macro" msgstr "" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 #, fuzzy msgid "AF Info" msgstr "InformacaoAF" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF info" msgstr "" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "Deslocamento de dado de decisão original" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "Deslocamento de dado de decisão original" #: src/canonmn.cpp:402 #, fuzzy msgid "White Balance Table" msgstr "Valor de equilíbrio branco" #: src/canonmn.cpp:402 #, fuzzy msgid "White balance table" msgstr "Azul equilíbrio de branco" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 msgid "Lens Model" msgstr "Modelo de lentes" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 msgid "Lens model" msgstr "Modelo de lente" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 #, fuzzy msgid "Internal Serial Number" msgstr "Número de série da lente" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 #, fuzzy msgid "Internal serial number" msgstr "Número de série da lente" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "" #: src/canonmn.cpp:406 msgid "Custom functions" msgstr "" #: src/canonmn.cpp:407 #, fuzzy msgid "Processing Info" msgstr "Software de processamento" #: src/canonmn.cpp:407 #, fuzzy msgid "Processing info" msgstr "Software de processamento" #: src/canonmn.cpp:408 #, fuzzy msgid "Measured Color" msgstr "EV2 medido" #: src/canonmn.cpp:408 #, fuzzy msgid "Measured color" msgstr "Natureza (cor)" #: src/canonmn.cpp:409 #, fuzzy msgid "ColorSpace" msgstr "Espaço de cor em vídeo" #: src/canonmn.cpp:413 msgid "VRD Offset" msgstr "VRD Offset" #: src/canonmn.cpp:413 msgid "VRD offset" msgstr "VRD offset" #: src/canonmn.cpp:414 #, fuzzy msgid "Sensor Info" msgstr "InformacaoLente" #: src/canonmn.cpp:414 #, fuzzy msgid "Sensor info" msgstr "Sensor de largura" #: src/canonmn.cpp:415 #, fuzzy msgid "Color Data" msgstr "Cor do mapa" #: src/canonmn.cpp:415 #, fuzzy msgid "Color data" msgstr "Cor do mapa" #: src/canonmn.cpp:417 #, fuzzy msgid "Unknown CanonMakerNote tag" msgstr "Etiqueta desconhecida PanasonicMakerNote" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "" #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 msgid "Normal" msgstr "" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 msgid "Fine" msgstr "" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "" #: src/canonmn.cpp:437 msgid "Superfine" msgstr "" #: src/canonmn.cpp:438 msgid "Normal Movie" msgstr "" #: src/canonmn.cpp:439 msgid "Movie (2)" msgstr "" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 #, fuzzy msgid "Auto" msgstr "Auto HDR" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "" #: src/canonmn.cpp:448 #, fuzzy msgid "Slow sync" msgstr "Ligado, baixa sincronização" #: src/canonmn.cpp:449 #, fuzzy msgid "Auto + red-eye" msgstr "Auto, disparado" #: src/canonmn.cpp:450 msgid "On + red-eye" msgstr "" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 #, fuzzy msgid "External" msgstr "Flash Externo" #: src/canonmn.cpp:457 msgid "Single / timer" msgstr "" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 #, fuzzy msgid "Continuous" msgstr "Baixo contínuo" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 msgid "Movie" msgstr "" #: src/canonmn.cpp:460 #, fuzzy msgid "Continuous, speed priority" msgstr "Prioridade de velocidade obturadora" #: src/canonmn.cpp:461 #, fuzzy msgid "Continuous, low" msgstr "Baixo contínuo" #: src/canonmn.cpp:462 #, fuzzy msgid "Continuous, high" msgstr "Alto contínuo" #: src/canonmn.cpp:467 #, fuzzy msgid "One shot AF" msgstr "Iniciar olho AF" #: src/canonmn.cpp:468 msgid "AI servo AF" msgstr "" #: src/canonmn.cpp:469 msgid "AI focus AF" msgstr "" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 #, fuzzy msgid "Manual focus" msgstr "Foco manual" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 #, fuzzy msgid "Single" msgstr "Alvo único" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 #, fuzzy msgid "Pan focus" msgstr "Foco panorâmico" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 msgid "Large" msgstr "" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 msgid "Medium" msgstr "" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 msgid "Small" msgstr "" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 msgid "Medium 1" msgstr "" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 msgid "Medium 2" msgstr "" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 msgid "Medium 3" msgstr "" #: src/canonmn.cpp:490 msgid "Full auto" msgstr "" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 #, fuzzy msgid "Manual" msgstr "Flash manual" #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 #, fuzzy msgid "Landscape" msgstr "Auto PICT (Paisagem)" #: src/canonmn.cpp:493 #, fuzzy msgid "Fast shutter" msgstr "Obturador com AF" #: src/canonmn.cpp:494 #, fuzzy msgid "Slow shutter" msgstr "Obturador de sorriso" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 #, fuzzy msgid "Night Scene" msgstr "Cena noturna" #: src/canonmn.cpp:496 #, fuzzy msgid "Gray scale" msgstr "Sobre escala" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 #, fuzzy msgid "Portrait" msgstr "Retrato de crepúsculo" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "" #: src/canonmn.cpp:501 src/fujimn.cpp:149 msgid "Black & white" msgstr "" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 msgid "Vivid" msgstr "" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 #, fuzzy msgid "Neutral" msgstr "Como um Tiro Neutro" #: src/canonmn.cpp:505 #, fuzzy msgid "Flash off" msgstr "Modelo de luz" #: src/canonmn.cpp:506 #, fuzzy msgid "Long shutter" msgstr "Trava do obturador de lentes" #: src/canonmn.cpp:508 msgid "Foliage" msgstr "" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 msgid "Indoor" msgstr "" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 #, fuzzy msgid "Fireworks" msgstr "Pré-definir (Fogos de artifício?)" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 #, fuzzy msgid "Underwater" msgstr "Subaquática Largura2" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "" #: src/canonmn.cpp:515 #, fuzzy msgid "Night SnapShot" msgstr "Ruptura noturna" #: src/canonmn.cpp:516 #, fuzzy msgid "Digital macro" msgstr "Ganho digital" #: src/canonmn.cpp:517 #, fuzzy msgid "My Colors" msgstr "Corantes" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 msgid "Still image" msgstr "" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 msgid "Other" msgstr "" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 #, fuzzy msgid "Low" msgstr "Mais baixa" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 #, fuzzy msgid "High" msgstr "Mais alta" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "" #: src/canonmn.cpp:540 #, fuzzy msgid "Auto High" msgstr "Auto HDR" #: src/canonmn.cpp:558 src/sonymn.cpp:235 msgid "Default" msgstr "" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 #, fuzzy msgid "Spot" msgstr "Ponto AF" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "" #: src/canonmn.cpp:561 msgid "Evaluative" msgstr "" #: src/canonmn.cpp:562 src/tags.cpp:1427 msgid "Partial" msgstr "" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 #, fuzzy msgid "Center weighted" msgstr "Centro com aumento de peso" #: src/canonmn.cpp:570 msgid "Not known" msgstr "" #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "" #: src/canonmn.cpp:572 #, fuzzy msgid "Very close" msgstr "Muito suave" #: src/canonmn.cpp:573 #, fuzzy msgid "Close" msgstr "Foco fechado" #: src/canonmn.cpp:574 msgid "Middle range" msgstr "" #: src/canonmn.cpp:575 #, fuzzy msgid "Far range" msgstr "Alcance do foco" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 msgid "Infinity" msgstr "" #: src/canonmn.cpp:583 msgid "Manual AF point selection" msgstr "" #: src/canonmn.cpp:584 msgid "None (MF)" msgstr "" #: src/canonmn.cpp:585 #, fuzzy msgid "Auto-selected" msgstr "SeleçãoDePontoAF" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 #, fuzzy msgid "Right" msgstr "Claro" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 #, fuzzy msgid "Center" msgstr "AF Centralizado" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 #, fuzzy msgid "Left" msgstr "Acima à esquerda" #: src/canonmn.cpp:589 msgid "Auto AF point selection" msgstr "" #: src/canonmn.cpp:594 #, fuzzy msgid "Easy shooting (Auto)" msgstr "Câmera no modo de disparo" #: src/canonmn.cpp:595 #, fuzzy msgid "Program (P)" msgstr "Programa ISO" #: src/canonmn.cpp:596 #, fuzzy msgid "Shutter priority (Tv)" msgstr "Prioridade do obturador" #: src/canonmn.cpp:597 #, fuzzy msgid "Aperture priority (Av)" msgstr "Prioridade de abertura" #: src/canonmn.cpp:598 #, fuzzy msgid "Manual (M)" msgstr "Flash manual" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "" #: src/canonmn.cpp:600 msgid "M-DEP" msgstr "" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 #, fuzzy msgid "Did not fire" msgstr "Auto, não disparar" #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 #, fuzzy msgid "Fired" msgstr "Auto, disparado" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 #, fuzzy msgid "External flash" msgstr "Flash Externo" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 #, fuzzy msgid "Internal flash" msgstr "Flash Externo" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "" #: src/canonmn.cpp:980 msgid "FP sync used" msgstr "" #: src/canonmn.cpp:991 msgid "Normal AE" msgstr "" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 #, fuzzy msgid "Exposure compensation" msgstr "Compensação de exposição CM" #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "" #: src/canonmn.cpp:994 #, fuzzy msgid "AE lock + exposure compensation" msgstr "Compensação de exposição CM" #: src/canonmn.cpp:995 msgid "No AE" msgstr "" #: src/canonmn.cpp:1002 msgid "On, shot only" msgstr "" #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 #, fuzzy msgid "AF Point" msgstr "Ponto cinza" #: src/canonmn.cpp:1016 #, fuzzy msgid "Smooth" msgstr "Suave (B&W)" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 #, fuzzy msgid "Custom" msgstr "Personalizar 1-4" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 #, fuzzy msgid "My color data" msgstr "Balanço de cor vermelho" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 #, fuzzy msgid "Full" msgstr "Tamanho completo" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "" #: src/canonmn.cpp:1043 #, fuzzy msgid "Selftimer" msgstr "Tempo do temporizador" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 #, fuzzy msgid "Self timer" msgstr "Tempo do temporizador" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 #, fuzzy msgid "Quality" msgstr "Qualidade JPEG" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 #, fuzzy msgid "Flash Mode" msgstr "Modelo de luz" #: src/canonmn.cpp:1045 #, fuzzy msgid "Flash mode setting" msgstr "Configuração de modo flash" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 #, fuzzy msgid "Drive Mode" msgstr "Modo de disco 2" #: src/canonmn.cpp:1046 #, fuzzy msgid "Drive mode setting" msgstr "Modo de disco 2" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 #, fuzzy msgid "Focus Mode" msgstr "Ajustar o modo de foco" #: src/canonmn.cpp:1048 #, fuzzy msgid "Focus mode setting" msgstr "Configuração de modo de foco" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 #, fuzzy msgid "Image Size" msgstr "Tamanho de imagem completo" #: src/canonmn.cpp:1052 #, fuzzy msgid "Easy Mode" msgstr "Modelo de luz" #: src/canonmn.cpp:1052 #, fuzzy msgid "Easy shooting mode" msgstr "Câmera no modo de disparo" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 #, fuzzy msgid "Digital Zoom" msgstr "Razão de Zoom Digital." #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 #, fuzzy msgid "Digital zoom" msgstr "Razão de Zoom Digital." #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 #, fuzzy msgid "Contrast" msgstr "Contraste PM" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 #, fuzzy msgid "Contrast setting" msgstr "Detecção de contraste AF" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 #, fuzzy msgid "Saturation" msgstr "Saturação PM" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 #, fuzzy msgid "Saturation setting" msgstr "Configuração de saturação" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 #, fuzzy msgid "Sharpness" msgstr "Nitidiz PM" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 #, fuzzy msgid "Sharpness setting" msgstr "Valor de nitidez" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 #, fuzzy msgid "ISO Speed Mode" msgstr "Velocidade do ISO" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 #, fuzzy msgid "ISO speed setting" msgstr "Configuração do ISO" #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 #, fuzzy msgid "Metering Mode" msgstr "ModoMedicao" #: src/canonmn.cpp:1058 #, fuzzy msgid "Metering mode setting" msgstr "ModoMedicao" #: src/canonmn.cpp:1059 #, fuzzy msgid "Focus Type" msgstr "Tipo de luz" #: src/canonmn.cpp:1059 #, fuzzy msgid "Focus type setting" msgstr "Configuração de modo de foco" #: src/canonmn.cpp:1060 #, fuzzy msgid "AF point selected" msgstr "SeleçãoDePontoAF" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 #, fuzzy msgid "Exposure Program" msgstr "Exibir transformação" #: src/canonmn.cpp:1061 #, fuzzy msgid "Exposure mode setting" msgstr "Configuração de modo de foco" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 #, fuzzy msgid "Lens Type" msgstr "Modelo de lentes" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 #, fuzzy msgid "Lens type" msgstr "Modelo de lentes" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 #, fuzzy msgid "Lens" msgstr "InformacaoLente" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "Focal curto" #: src/canonmn.cpp:1065 msgid "Short focal" msgstr "Focal curto" #: src/canonmn.cpp:1066 #, fuzzy msgid "Focal Units" msgstr "Unidades de corte" #: src/canonmn.cpp:1066 #, fuzzy msgid "Focal units" msgstr "Lente focal" #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 #, fuzzy msgid "Max Aperture" msgstr "Abertura automática" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 #, fuzzy msgid "Max aperture" msgstr "Máximo valor da abertura" #: src/canonmn.cpp:1068 #, fuzzy msgid "Min Aperture" msgstr "Abertura automática" #: src/canonmn.cpp:1068 #, fuzzy msgid "Min aperture" msgstr "Abertura automática" #: src/canonmn.cpp:1069 #, fuzzy msgid "Flash Activity" msgstr "Intensidade do Flash" #: src/canonmn.cpp:1069 #, fuzzy msgid "Flash activity" msgstr "Intensidade do Flash" #: src/canonmn.cpp:1070 #, fuzzy msgid "Flash Details" msgstr "Modelo de luz" #: src/canonmn.cpp:1070 #, fuzzy msgid "Flash details" msgstr "Modelo de luz" #: src/canonmn.cpp:1073 #, fuzzy msgid "Focus Continuous" msgstr "Ligado (Contínuo)" #: src/canonmn.cpp:1073 #, fuzzy msgid "Focus continuous setting" msgstr "Configuração de modo de foco" #: src/canonmn.cpp:1074 #, fuzzy msgid "AESetting" msgstr "Configuração do ISO" #: src/canonmn.cpp:1074 #, fuzzy msgid "AE setting" msgstr "Configuração de matiz" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 #, fuzzy msgid "Image Stabilization" msgstr "Tom da imagem" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 #, fuzzy msgid "Image stabilization" msgstr "Configuração de tamanho de imagens" #: src/canonmn.cpp:1076 #, fuzzy msgid "Display Aperture" msgstr "Abertura automática" #: src/canonmn.cpp:1076 msgid "Display aperture" msgstr "" #: src/canonmn.cpp:1077 #, fuzzy msgid "Zoom Source Width" msgstr "Sensor de largura" #: src/canonmn.cpp:1077 #, fuzzy msgid "Zoom source width" msgstr "Sensor de largura" #: src/canonmn.cpp:1078 msgid "Zoom Target Width" msgstr "" #: src/canonmn.cpp:1078 msgid "Zoom target width" msgstr "" #: src/canonmn.cpp:1080 msgid "Spot Metering Mode" msgstr "Modo de medição de ponto" #: src/canonmn.cpp:1080 msgid "Spot metering mode" msgstr "Modo de medição de ponto" #: src/canonmn.cpp:1081 msgid "Photo Effect" msgstr "" #: src/canonmn.cpp:1081 msgid "Photo effect" msgstr "" #: src/canonmn.cpp:1082 #, fuzzy msgid "Manual Flash Output" msgstr "Saída de flash manual" #: src/canonmn.cpp:1082 msgid "Manual flash output" msgstr "Saída de flash manual" #: src/canonmn.cpp:1083 #, fuzzy msgid "Color Tone" msgstr "Temporizador de cor PB" #: src/canonmn.cpp:1083 #, fuzzy msgid "Color tone" msgstr "Rótulo da cor" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "Tom de qualidade SRAW" #: src/canonmn.cpp:1084 msgid "SRAW quality" msgstr "Qualidade SRAW" #: src/canonmn.cpp:1086 #, fuzzy msgid "Unknown Canon Camera Settings 1 tag" msgstr "Configuração desconhecida para a câmera Sony A100 tag" #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 #, fuzzy msgid "Daylight" msgstr "Auto(LuzDiurna)" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 #, fuzzy msgid "Cloudy" msgstr "Auto (Nublado)" #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 #, fuzzy msgid "Tungsten" msgstr "Auto (Tungstênio)" #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 #, fuzzy msgid "Fluorescent" msgstr "FluorescenciaBranca" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 #, fuzzy msgid "Black & White" msgstr "Branco e Preto de Referência" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "" #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "" #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "" #: src/canonmn.cpp:1109 #, fuzzy msgid "Daylight Fluorescent" msgstr "FluorescenciaLuzDiurna" #: src/canonmn.cpp:1110 src/properties.cpp:816 #, fuzzy msgid "Custom 1" msgstr "Personalizar 1-4" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 #, fuzzy msgid "Custom 2" msgstr "Personalizar 1-4" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 #, fuzzy msgid "Custom 3" msgstr "Personalizar 1-4" #: src/canonmn.cpp:1115 msgid "PC Set 4" msgstr "" #: src/canonmn.cpp:1116 msgid "PC Set 5" msgstr "" #: src/canonmn.cpp:1117 #, fuzzy msgid "Auto (ambience priority)" msgstr "Prioridade do obturador" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 #, fuzzy msgid "left" msgstr "Cortar à direita" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 #, fuzzy msgid "center" msgstr "Superior-centralizado" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 #, fuzzy msgid "right" msgstr "Claro" #: src/canonmn.cpp:1151 #, fuzzy msgid "ISO Speed Used" msgstr "Velocidade do ISO" #: src/canonmn.cpp:1151 #, fuzzy msgid "ISO speed used" msgstr "Velocidade do ISO" #: src/canonmn.cpp:1152 #, fuzzy msgid "Measured EV" msgstr "EV2 medido" #: src/canonmn.cpp:1153 #, fuzzy msgid "Target Aperture" msgstr "Abertura automática" #: src/canonmn.cpp:1154 #, fuzzy msgid "Target Shutter Speed" msgstr "Velocidade do Obturador" #: src/canonmn.cpp:1154 #, fuzzy msgid "Target shutter speed" msgstr "Velocidade do Obturador" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 #, fuzzy msgid "White Balance" msgstr "EquilíbrioDeBranco" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 #, fuzzy msgid "White balance setting" msgstr "Configuração do branco" #: src/canonmn.cpp:1158 msgid "Sequence" msgstr "" #: src/canonmn.cpp:1158 #, fuzzy msgid "Sequence number (if in a continuous burst)" msgstr "Número de capturas no modo de explosão contínua" #: src/canonmn.cpp:1163 #, fuzzy msgid "AF Point Used" msgstr "SeleçãoDePontoAF" #: src/canonmn.cpp:1163 #, fuzzy msgid "AF point used" msgstr "Ponto em foco AF" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 #, fuzzy msgid "Flash Bias" msgstr "FlashBias" #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 #, fuzzy msgid "Subject Distance" msgstr "Faixa de distância do assunto" #: src/canonmn.cpp:1168 #, fuzzy msgid "Subject distance (units are not clear)" msgstr "Faixa de distância do assunto" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 #, fuzzy msgid "Aperture Value" msgstr "Máximo valor da abertura" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 #, fuzzy msgid "Shutter Speed Value" msgstr "Velocidade do Obturador" #: src/canonmn.cpp:1171 src/tags.cpp:1630 #, fuzzy msgid "Shutter speed" msgstr "Velocidade do Obturador" #: src/canonmn.cpp:1172 msgid "Measured EV 2" msgstr "EV2 medido" #: src/canonmn.cpp:1177 #, fuzzy msgid "Unknown Canon Camera Settings 2 tag" msgstr "Etiqueta de ajuste 2 da câmera Sony1 desconhecida" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 #, fuzzy msgid "Left to right" msgstr "Esquerdo (horizontal)" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 #, fuzzy msgid "Right to left" msgstr "Tom de luz" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 msgid "Bottom to top" msgstr "" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 #, fuzzy msgid "Top to bottom" msgstr "A Parte de Baixo do Corte" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "" #: src/canonmn.cpp:1196 #, fuzzy msgid "Panorama Frame" msgstr "Modo panorâmico" #: src/canonmn.cpp:1196 #, fuzzy msgid "Panorama frame number" msgstr "Modo panorâmico" #: src/canonmn.cpp:1197 #, fuzzy msgid "Panorama Direction" msgstr "Direção de imagem do GPS" #: src/canonmn.cpp:1197 #, fuzzy msgid "Panorama direction" msgstr "Modo panorâmico" #: src/canonmn.cpp:1199 #, fuzzy msgid "Unknown Canon Panorama tag" msgstr "Arquivo de etiqueta de informação desconhecido" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 #, fuzzy msgid "Noise Reduction" msgstr "Redução de Ruído de Cor" #: src/canonmn.cpp:1209 #, fuzzy msgid "Long exposure noise reduction" msgstr "Redução de ruído de longa exposição" #: src/canonmn.cpp:1210 #, fuzzy msgid "Shutter Ae Lock" msgstr "Trava do obturador de cartão" #: src/canonmn.cpp:1210 #, fuzzy msgid "Shutter/AE lock buttons" msgstr "Contagem do obturador" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 msgid "Exposure Level Increments" msgstr "" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 #, fuzzy msgid "AF Assist" msgstr "Assistente AF" #: src/canonmn.cpp:1213 #, fuzzy msgid "AF assist light" msgstr "Assistente AF" #: src/canonmn.cpp:1214 #, fuzzy msgid "Flash Sync Speed Av" msgstr "Velocidade de Flash X-Sync AE" #: src/canonmn.cpp:1214 #, fuzzy msgid "Shutter speed in Av mode" msgstr "Velocidade do Obturador" #: src/canonmn.cpp:1215 msgid "AEB Sequence" msgstr "" #: src/canonmn.cpp:1215 msgid "AEB sequence/auto cancellation" msgstr "" #: src/canonmn.cpp:1216 #, fuzzy msgid "Shutter Curtain Sync" msgstr "Contagem do obturador 1" #: src/canonmn.cpp:1216 #, fuzzy msgid "Shutter curtain sync" msgstr "Contagem do obturador" #: src/canonmn.cpp:1217 msgid "Lens AF Stop Button" msgstr "" #: src/canonmn.cpp:1217 msgid "Lens AF stop button Fn. Switch" msgstr "" #: src/canonmn.cpp:1218 msgid "Fill Flash Auto Reduction" msgstr "" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "" #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "" #: src/canonmn.cpp:1219 msgid "Menu button return position" msgstr "" #: src/canonmn.cpp:1220 msgid "Set Button Function" msgstr "" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "" #: src/canonmn.cpp:1221 #, fuzzy msgid "Sensor Cleaning" msgstr "Sensor de altura" #: src/canonmn.cpp:1221 #, fuzzy msgid "Sensor cleaning" msgstr "Sensor de altura" #: src/canonmn.cpp:1222 #, fuzzy msgid "Superimposed Display" msgstr "Gravar exibição" #: src/canonmn.cpp:1222 #, fuzzy msgid "Superimposed display" msgstr "Gravar exibição" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "" #: src/canonmn.cpp:1225 #, fuzzy msgid "Unknown Canon Custom Function tag" msgstr "Arquivo de etiqueta de informação desconhecido" #: src/canonmn.cpp:1236 msgid "mid-right" msgstr "" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 msgid "bottom" msgstr "" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 msgid "top" msgstr "" #: src/canonmn.cpp:1240 msgid "mid-left" msgstr "" #: src/canonmn.cpp:1247 msgid "upper-left" msgstr "" #: src/canonmn.cpp:1248 #, fuzzy msgid "upper-right" msgstr "Direitos autorais" #: src/canonmn.cpp:1252 msgid "lower-left" msgstr "" #: src/canonmn.cpp:1253 #, fuzzy msgid "lower-right" msgstr "Direitos autorais" #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 #, fuzzy msgid "Image Width" msgstr "Largura informada da imagem" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 #, fuzzy msgid "Image width" msgstr "Largura informada da imagem" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 #, fuzzy msgid "Image Height" msgstr "Altura da imagem de multi-explosão" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 #, fuzzy msgid "Image height" msgstr "Sensor de altura" #: src/canonmn.cpp:1261 msgid "Image Width As Shot" msgstr "" #: src/canonmn.cpp:1261 msgid "Image width (as shot)" msgstr "" #: src/canonmn.cpp:1262 msgid "Image Height As Shot" msgstr "" #: src/canonmn.cpp:1262 msgid "Image height (as shot)" msgstr "" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 #, fuzzy msgid "AF Points Used" msgstr "SeleçãoDePontoAF" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 #, fuzzy msgid "AF points used" msgstr "Ponto em foco AF" #: src/canonmn.cpp:1264 msgid "AF Points Used 20D" msgstr "" #: src/canonmn.cpp:1264 msgid "AF points used (20D)" msgstr "" #: src/canonmn.cpp:1266 #, fuzzy msgid "Unknown Canon Picture Info tag" msgstr "Arquivo de etiqueta de informação desconhecido" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 msgid "ISO" msgstr "" #: src/canonmn.cpp:1280 #, fuzzy msgid "WB" msgstr "B" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "" #: src/canonmn.cpp:1293 msgid "Medium Movie" msgstr "" #: src/canonmn.cpp:1294 msgid "Small Movie" msgstr "" #: src/canonmn.cpp:1300 msgid "On 1" msgstr "" #: src/canonmn.cpp:1301 msgid "On 2" msgstr "" #: src/canonmn.cpp:1309 msgid "On (shift AB)" msgstr "" #: src/canonmn.cpp:1310 #, fuzzy msgid "On (shift GM)" msgstr "WB desloca GM" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 msgid "Orange" msgstr "" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 #, fuzzy msgid "Red" msgstr "Hue vermelho." #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 #, fuzzy msgid "Green" msgstr "Hue Verde" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 #, fuzzy msgid "Blue" msgstr "Hue azul." #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "" #: src/canonmn.cpp:1334 #, fuzzy msgid "Bracket Mode" msgstr "Modo explosão" #: src/canonmn.cpp:1335 #, fuzzy msgid "Bracket Value" msgstr "Ajustar potenciador" #: src/canonmn.cpp:1336 msgid "Bracket Shot Number" msgstr "" #: src/canonmn.cpp:1337 #, fuzzy msgid "Raw Jpg Quality" msgstr "Qualidade JPEG" #: src/canonmn.cpp:1338 msgid "Raw Jpg Size" msgstr "" #: src/canonmn.cpp:1340 #, fuzzy msgid "WB Bracket Mode" msgstr "Borda de parênteses automático" #: src/canonmn.cpp:1341 #, fuzzy msgid "WB Bracket Value AB" msgstr "Valor de equilíbrio branco" #: src/canonmn.cpp:1342 #, fuzzy msgid "WB Bracket Value GM" msgstr "Valor de equilíbrio branco" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 msgid "Filter Effect" msgstr "" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 #, fuzzy msgid "Toning Effect" msgstr "Gravando deslocamento" #: src/canonmn.cpp:1345 msgid "Macro Magnification" msgstr "Macro ampliação" #: src/canonmn.cpp:1345 msgid "Macro magnification" msgstr "Macro ampliação" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "Captura de visualização ao vivo" #: src/canonmn.cpp:1346 msgid "Live view shooting" msgstr "Captura de visualização ao vivo" #: src/canonmn.cpp:1347 #, fuzzy msgid "Focus Distance Upper" msgstr "Passo proximo ao foco" #: src/canonmn.cpp:1348 #, fuzzy msgid "Focus Distance Lower" msgstr "Passo proximo ao foco" #: src/canonmn.cpp:1349 msgid "Flash Exposure Lock" msgstr "Bloquear exposição de flash" #: src/canonmn.cpp:1349 msgid "Flash exposure lock" msgstr "Bloquear exposição de flash" #: src/canonmn.cpp:1351 msgid "Unknown Canon File Info tag" msgstr "Arquivo de etiqueta de informação desconhecido" #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 #, fuzzy msgid "Standard" msgstr "Padrão " #: src/canonmn.cpp:1369 msgid "Lowest" msgstr "Mais baixa" #: src/canonmn.cpp:1373 msgid "Highest" msgstr "Mais alta" #: src/canonmn.cpp:1381 #, fuzzy msgid "High Saturation" msgstr "Saturação PM" #: src/canonmn.cpp:1383 #, fuzzy msgid "Low Saturation" msgstr "Saturação PM" #: src/canonmn.cpp:1384 msgid "CM Set 1" msgstr "" #: src/canonmn.cpp:1385 msgid "CM Set 2" msgstr "" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "Def. de usuário 1" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "Def. de usuário 2" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "Def. de usuário 3" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 #, fuzzy msgid "Monochrome" msgstr "Imagem monocromárica IT8" #: src/canonmn.cpp:1399 #, fuzzy msgid "Fine Detail" msgstr "Bom tempo" #: src/canonmn.cpp:1404 msgid "ToneCurve" msgstr "CurvaDeTom" #: src/canonmn.cpp:1404 msgid "Tone curve" msgstr "Curva de tom" #: src/canonmn.cpp:1406 msgid "SharpnessFrequency" msgstr "FrequênciaDeNitidez" #: src/canonmn.cpp:1406 msgid "Sharpness frequency" msgstr "Frequência de nitidez" #: src/canonmn.cpp:1407 msgid "SensorRedLevel" msgstr "NívelDeSensorVermelho" #: src/canonmn.cpp:1407 msgid "Sensor red level" msgstr "Nível de sensor vermelho" #: src/canonmn.cpp:1408 msgid "SensorBlueLevel" msgstr "NívelDeSensorAzul" #: src/canonmn.cpp:1408 msgid "Sensor blue level" msgstr "Nível de sensor azul" #: src/canonmn.cpp:1409 msgid "WhiteBalanceRed" msgstr "VermelhoEquilíbrioDeBranco" #: src/canonmn.cpp:1409 msgid "White balance red" msgstr "Vermelho equilíbrio de branco" #: src/canonmn.cpp:1410 msgid "WhiteBalanceBlue" msgstr "AzulEquilíbrioDeBranco" #: src/canonmn.cpp:1410 msgid "White balance blue" msgstr "Azul equilíbrio de branco" #: src/canonmn.cpp:1411 msgid "WhiteBalance" msgstr "EquilíbrioDeBranco" #: src/canonmn.cpp:1412 #, fuzzy msgid "ColorTemperature" msgstr "Temperatura de cor" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 #, fuzzy msgid "Color Temperature" msgstr "Temperatura de cor" #: src/canonmn.cpp:1413 msgid "PictureStyle" msgstr "EstiloDeImagem" #: src/canonmn.cpp:1413 msgid "Picture style" msgstr "Estilo de imagem" #: src/canonmn.cpp:1414 msgid "DigitalGain" msgstr "GanhoDigital" #: src/canonmn.cpp:1414 msgid "Digital gain" msgstr "Ganho digital" #: src/canonmn.cpp:1415 #, fuzzy msgid "WBShiftAB" msgstr "WB desloca GM" #: src/canonmn.cpp:1415 #, fuzzy msgid "WBShift AB" msgstr "WB desloca GM" #: src/canonmn.cpp:1416 #, fuzzy msgid "WBShiftGM" msgstr "WB desloca GM" #: src/canonmn.cpp:1416 msgid "WB Shift GM" msgstr "WB desloca GM" #: src/canonmn.cpp:1417 #, fuzzy msgid "Unknown Canon Processing Info tag" msgstr "Arquivo de etiqueta de informação desconhecido" #: src/crwimage.cpp:656 #, fuzzy msgid "Header, offset" msgstr "Deslocamento de área da imagem" #: src/crwimage.cpp:674 msgid "tag" msgstr "" #: src/crwimage.cpp:676 msgid "dir" msgstr "" #: src/crwimage.cpp:678 msgid "type" msgstr "" #: src/crwimage.cpp:679 #, fuzzy msgid "size" msgstr "Tamanho completo" #: src/crwimage.cpp:680 #, fuzzy msgid "offset" msgstr "VRD offset" #: src/datasets.cpp:79 msgid "(invalid)" msgstr "" #: src/datasets.cpp:80 msgid "IIM envelope record" msgstr "" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "" #: src/datasets.cpp:85 #, fuzzy msgid "Model Version" msgstr "Versão do MakerNote" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 #, fuzzy msgid "Destination" msgstr "DST de destino" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 #, fuzzy msgid "File Format" msgstr "Formato da amostra" #: src/datasets.cpp:95 msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" #: src/datasets.cpp:101 #, fuzzy msgid "File Version" msgstr "Visualizar versão" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" "Um numéro binário representando a versão específica do Formato de Arquivo " "especificada pela etiqueta ." #: src/datasets.cpp:105 msgid "Service Id" msgstr "" #: src/datasets.cpp:106 #, fuzzy msgid "Identifies the provider and product" msgstr "Identifica o tipo de imagem entregue." #: src/datasets.cpp:108 #, fuzzy msgid "Envelope Number" msgstr "FNúmero manual" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" "Os carácteres formam um número que será unico para a data especificada na " "etiqueta e para o Identificador de Serviços especificado pela " "etiqueta . Se aparecem número idênticos de envelopes com " "a mesma data e o mesmo Identificador de Serviços, os registros 2 à 9 deverão " "continuar sem alguma mudança em comparação ao original. Isso não tem como " "intenção ser um número de série sequencial." #: src/datasets.cpp:117 msgid "Product Id" msgstr "" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" #: src/datasets.cpp:122 #, fuzzy msgid "Envelope Priority" msgstr "Prioridade de abertura" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" #: src/datasets.cpp:129 msgid "Date Sent" msgstr "" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" #: src/datasets.cpp:133 #, fuzzy msgid "Time Sent" msgstr "Assinatura do tempo" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" #: src/datasets.cpp:139 msgid "Character Set" msgstr "" #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" #: src/datasets.cpp:145 msgid "Unique Name Object" msgstr "" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" "Esta etiqueta fornecer uma identificação exclusiva para os objetos, conforme " "especificado no IIM, independente do provedor e para qualquer formato de " "mídia. O provedor deve garantir a peculiaridade do UNO. Objetos com o mesmo " "UNO são idênticos." #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:156 #, fuzzy msgid "ARM Version" msgstr "Versão PLUS" #: src/datasets.cpp:157 #, fuzzy msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" "Um numéro binário representando a versão específica do Formato de Arquivo " "especificada pela etiqueta ." #: src/datasets.cpp:170 #, fuzzy msgid "Record Version" msgstr "Versão da informação primária" #: src/datasets.cpp:171 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:175 #, fuzzy msgid "Object Type" msgstr "Área do assunto" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" #: src/datasets.cpp:184 #, fuzzy msgid "Object Attribute" msgstr "Área do assunto" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" #: src/datasets.cpp:193 #, fuzzy msgid "Object Name" msgstr "Área do assunto" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" #: src/datasets.cpp:198 msgid "Document Title" msgstr "" #: src/datasets.cpp:199 src/olympusmn.cpp:827 #, fuzzy msgid "Edit Status" msgstr "Status" #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "" #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" "Especifica a urgência editorial do conteúdo e não necessariamente o envelope " "de tratamento prioritário(veja a etiqueta ).O \"1\" é mais " "urgente, \"5\" normal \"e\" 8 \"representa o exemplar menos urgentes." #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 #, fuzzy msgid "Subject" msgstr "Área do assunto" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "" #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" #: src/datasets.cpp:222 #, fuzzy msgid "Supplemental Category" msgstr "Categoria suplementar." #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" #: src/datasets.cpp:228 src/properties.cpp:442 #, fuzzy msgid "Supplemental Categories" msgstr "Categoria suplementar." #: src/datasets.cpp:229 #, fuzzy msgid "Fixture Id" msgstr "Modo de imagem" #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 #, fuzzy msgid "Keywords" msgstr "Palavras-chaves." #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" #: src/datasets.cpp:240 #, fuzzy msgid "Location Code" msgstr "Localização criada" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:248 #, fuzzy msgid "Location Name" msgstr "Nome da Localização-país" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" #: src/datasets.cpp:253 src/properties.cpp:376 #, fuzzy msgid "Release Date" msgstr "Modo de lançamento" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:257 #, fuzzy msgid "Release Time" msgstr "Modo de lançamento" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:261 #, fuzzy msgid "Expiration Date" msgstr "Primeira data de publicação" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:265 msgid "ExpirationTime" msgstr "" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:269 #, fuzzy msgid "Special Instructions" msgstr "Instruções especiais." #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" #: src/datasets.cpp:273 src/properties.cpp:439 #, fuzzy msgid "Instructions" msgstr "Instruções especiais." #: src/datasets.cpp:274 msgid "Action Advised" msgstr "" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:279 #, fuzzy msgid "Reference Service" msgstr "Branco e Preto de Referência" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:283 #, fuzzy msgid "Reference Date" msgstr "Branco e Preto de Referência" #: src/datasets.cpp:284 msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "" #: src/datasets.cpp:286 #, fuzzy msgid "Reference Number" msgstr "Trabalho de referência" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 #, fuzzy msgid "Date Created" msgstr "Localização criada" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:295 #, fuzzy msgid "Time Created" msgstr "Localização criada" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:301 #, fuzzy msgid "Digitization Date" msgstr "Primeira data de publicação" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:305 #, fuzzy msgid "Digitization Time" msgstr "DST de destino" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 #, fuzzy msgid "Program" msgstr "Programa ISO" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "" #: src/datasets.cpp:313 #, fuzzy msgid "Program Version" msgstr "Visualizar versão" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "" #: src/datasets.cpp:316 msgid "Object Cycle" msgstr "" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "" #: src/datasets.cpp:319 #, fuzzy msgid "By-line" msgstr "Título por linha." #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "" #: src/datasets.cpp:323 src/properties.cpp:2103 #, fuzzy msgid "Author" msgstr "Janelas de Autor" #: src/datasets.cpp:324 #, fuzzy msgid "By-line Title" msgstr "Título por linha." #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "" #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 #, fuzzy msgid "City" msgstr "Cidade." #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:333 #, fuzzy msgid "Sub Location" msgstr "Localização do Assunto" #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" #: src/datasets.cpp:337 #, fuzzy msgid "Province State" msgstr "Província/Estado" #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:341 #, fuzzy msgid "State/Province" msgstr "Contato Info-Estado/Província" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 #, fuzzy msgid "Country Code" msgstr "Código-ISO da Localização-país" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:352 #, fuzzy msgid "Country Name" msgstr "Nome da Localização-país" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 #, fuzzy msgid "Country" msgstr "País do do licenciante" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 #, fuzzy msgid "Transmission Reference" msgstr "Referência original de transmissão." #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 #, fuzzy msgid "Headline" msgstr "Manchete." #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "" #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 #, fuzzy msgid "Credit" msgstr "Crédito." #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "" #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 #, fuzzy msgid "Source" msgstr "Fonte." #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "" #: src/datasets.cpp:379 #, fuzzy msgid "Copyright Notice" msgstr "Direitos autorais" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 #, fuzzy msgid "Contact" msgstr "Contraste PM" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" #: src/datasets.cpp:384 src/properties.cpp:2101 #, fuzzy msgid "Caption" msgstr "Redator de legendas." #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "" #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 #, fuzzy msgid "Description" msgstr "DST de destino" #: src/datasets.cpp:388 #, fuzzy msgid "Writer" msgstr "Redator de legendas." #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" #: src/datasets.cpp:392 msgid "Rasterized Caption" msgstr "" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "" #: src/datasets.cpp:399 #, fuzzy msgid "Image Orientation" msgstr "Criador da imagem" #: src/datasets.cpp:400 msgid "Indicates the layout of an image." msgstr "" #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 msgid "Language" msgstr "" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" #: src/datasets.cpp:408 #, fuzzy msgid "Audio Type" msgstr "Tipo de amostra de áudio" #: src/datasets.cpp:409 #, fuzzy msgid "Indicates the type of an audio content." msgstr "Identifica o tipo de imagem entregue." #: src/datasets.cpp:411 #, fuzzy msgid "Audio Rate" msgstr "Taxa de amostra de áudio" #: src/datasets.cpp:412 msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "" #: src/datasets.cpp:414 #, fuzzy msgid "Audio Resolution" msgstr "Resolução em x" #: src/datasets.cpp:415 msgid "Indicates the sampling resolution of an audio content." msgstr "" #: src/datasets.cpp:417 #, fuzzy msgid "Audio Duration" msgstr "Gradação automática" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "" #: src/datasets.cpp:420 msgid "Audio Outcue" msgstr "" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" #: src/datasets.cpp:424 #, fuzzy msgid "Preview Format" msgstr "Previsão da imagem" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" #: src/datasets.cpp:429 src/properties.cpp:1276 msgid "Preview Version" msgstr "Visualizar versão" #: src/datasets.cpp:430 #, fuzzy msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" "Um numéro binário representando a versão específica do Formato de Arquivo " "especificada pela etiqueta ." #: src/datasets.cpp:433 #, fuzzy msgid "Preview Data" msgstr "Visualizar" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "" #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 #, fuzzy msgid "Unknown dataset" msgstr "Etiqueta PanasonicRaw desconhecido" #: src/error.cpp:55 msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "" #: src/error.cpp:56 msgid "Success" msgstr "" #: src/error.cpp:59 msgid "This does not look like a %1 image" msgstr "" #: src/error.cpp:60 #, fuzzy msgid "Invalid dataset name `%1'" msgstr "Nome ou etiqueta inválida ifdId `%1', ifdId %2" #: src/error.cpp:61 #, fuzzy msgid "Invalid record name `%1'" msgstr "Número de pré-visualização inválido" #: src/error.cpp:62 msgid "Invalid key `%1'" msgstr "" #: src/error.cpp:63 msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "Nome ou etiqueta inválida ifdId `%1', ifdId %2" #: src/error.cpp:64 msgid "Value not set" msgstr "" #: src/error.cpp:65 msgid "%1: Failed to open the data source: %2" msgstr "" #: src/error.cpp:66 msgid "%1: Failed to open file (%2): %3" msgstr "" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "" #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "" #: src/error.cpp:69 msgid "Image type %1 is not supported" msgstr "" #: src/error.cpp:70 #, fuzzy msgid "Failed to read image data" msgstr "Falhou ao analisar a marca temporal" #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "" #: src/error.cpp:72 msgid "%1: Failed to map file for reading and writing: %2" msgstr "" #: src/error.cpp:73 msgid "%1: Failed to rename file to %2: %3" msgstr "" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "" #: src/error.cpp:76 #, fuzzy msgid "Failed to read input data" msgstr "Falhou ao analisar a marca temporal" #: src/error.cpp:77 #, fuzzy msgid "Failed to write image" msgstr "Falhou ao analisar a marca temporal" #: src/error.cpp:78 msgid "Input data does not contain a valid image" msgstr "" #: src/error.cpp:79 msgid "Invalid ifdId %1" msgstr "" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" #: src/error.cpp:82 #, fuzzy msgid "Offset out of range" msgstr "Fora de alcance" #: src/error.cpp:83 msgid "Unsupported data area offset type" msgstr "" #: src/error.cpp:84 #, fuzzy msgid "Invalid charset: `%1'" msgstr "Argumento inválido" #: src/error.cpp:85 #, fuzzy msgid "Unsupported date format" msgstr "Formato de dados indefinidos" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "" #: src/error.cpp:87 msgid "Writing to %1 images is not supported" msgstr "" #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "" #: src/error.cpp:89 msgid "This does not look like a CRW image" msgstr "" #: src/error.cpp:90 msgid "%1: Not supported" msgstr "" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "" #: src/error.cpp:92 msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "" #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" #: src/error.cpp:104 #, fuzzy msgid "Invalid XmpText type `%1'" msgstr "%1 tem valor XMP inválido tipo `%2'" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "" #: src/error.cpp:106 msgid "Multiple TIFF array element tags %1 in one directory" msgstr "Múltiplas matrizes TIFF de elemento: etiqueta %1 em um diretório" #: src/error.cpp:107 #, fuzzy msgid "TIFF array element tag %1 has wrong type" msgstr "Múltiplas matrizes TIFF de elemento: etiqueta %1 em um diretório" #: src/error.cpp:108 msgid "%1 has invalid XMP value type `%2'" msgstr "%1 tem valor XMP inválido tipo `%2'" #: src/exiv2.cpp:213 msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr "" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr "" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" #: src/exiv2.cpp:262 #, fuzzy msgid "" "\n" "Options:\n" msgstr "Opções T4" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr "" #: src/exiv2.cpp:264 msgid " -V Show the program version and exit.\n" msgstr "" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr "" #: src/exiv2.cpp:266 msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr "" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" #: src/exiv2.cpp:268 #, fuzzy msgid " -b Show large binary values.\n" msgstr " -u Mostra etiqueta desconhecidos.\n" #: src/exiv2.cpp:269 msgid " -u Show unknown tags.\n" msgstr " -u Mostra etiqueta desconhecidos.\n" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr " -g key Somente informação de saída para essa chave (grep).\n" #: src/exiv2.cpp:271 #, fuzzy msgid " -K key Only output info for this key (exact match).\n" msgstr " -g key Somente informação de saída para essa chave (grep).\n" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" " -n enc Conjunto de caracteres usado para decodificar comentários do " "usuário em UNICODE Exif.\n" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr "" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr "" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr "" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr "" #: src/exiv2.cpp:285 #, fuzzy msgid " s : print a summary of the Exif metadata (the default)\n" msgstr " x: imprimir a coluna com etiqueta de número\n" #: src/exiv2.cpp:286 msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr "" #: src/exiv2.cpp:287 msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr "" #: src/exiv2.cpp:288 msgid " v : plain Exif data values (-PExgnycv)\n" msgstr "" #: src/exiv2.cpp:289 msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr "" #: src/exiv2.cpp:290 #, fuzzy msgid " i : IPTC data values (-PIkyct)\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:291 msgid " x : XMP properties (-PXkyct)\n" msgstr "" #: src/exiv2.cpp:292 src/exiv2.cpp:317 #, fuzzy msgid " c : JPEG comment\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:293 #, fuzzy msgid " p : list available previews\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:294 #, fuzzy msgid " S : print structure of image\n" msgstr " x: imprimir a coluna com etiqueta de número\n" #: src/exiv2.cpp:295 #, fuzzy msgid " X : extract XMP from image\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:296 msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" " -P flgs Imprime as etiqueta para controle fino da lista de etiquetas " "('print' action):\n" #: src/exiv2.cpp:297 #, fuzzy msgid " E : include Exif tags in the list\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:298 #, fuzzy msgid " I : IPTC datasets\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:299 #, fuzzy msgid " X : XMP properties\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:300 msgid " x : print a column with the tag number\n" msgstr " x: imprimir a coluna com etiqueta de número\n" #: src/exiv2.cpp:301 #, fuzzy msgid " g : group name\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:302 #, fuzzy msgid " k : key\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:303 #, fuzzy msgid " l : tag label\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:305 #, fuzzy msgid " y : type\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr "" #: src/exiv2.cpp:307 #, fuzzy msgid " s : size in bytes\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:308 #, fuzzy msgid " v : plain data value\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:309 #, fuzzy msgid " t : interpreted (translated) data\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:310 #, fuzzy msgid " h : hexdump of the data\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr "" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr "" #: src/exiv2.cpp:313 #, fuzzy msgid " e : Exif section\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:314 #, fuzzy msgid " t : Exif thumbnail only\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:315 #, fuzzy msgid " i : IPTC data\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:316 #, fuzzy msgid " x : XMP packet\n" msgstr " n : nome da etiqueta\n" #: src/exiv2.cpp:318 msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" #: src/exiv2.cpp:323 msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr "" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr "" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr "" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr "" #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr "" #: src/exiv2.cpp:336 msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 #, fuzzy msgid "Option" msgstr "Opções T4" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "" #: src/exiv2.cpp:410 msgid "Invalid argument" msgstr "Argumento inválido" #: src/exiv2.cpp:434 #, fuzzy msgid "Invalid regexp" msgstr "Argumento inválido" #: src/exiv2.cpp:473 src/exiv2.cpp:526 msgid "Ignoring surplus option" msgstr "" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "" #: src/exiv2.cpp:504 msgid "Error parsing -a option argument" msgstr "" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "" #: src/exiv2.cpp:535 #, fuzzy msgid "option argument" msgstr "Argumento inválido" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:824 msgid "Action fixcom is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "" #: src/exiv2.cpp:904 msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "" #: src/exiv2.cpp:920 msgid "Error parsing -m option arguments\n" msgstr "" #: src/exiv2.cpp:927 msgid "Error parsing -M option arguments\n" msgstr "" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "" #: src/exiv2.cpp:1039 #, fuzzy msgid "target" msgstr "Todos os alvos" #: src/exiv2.cpp:1065 msgid "Invalid preview number" msgstr "Número de pré-visualização inválido" #: src/exiv2.cpp:1097 msgid "Failed to open command file for reading\n" msgstr "" #: src/exiv2.cpp:1110 #, fuzzy msgid "line" msgstr "Manchete." #: src/exiv2.cpp:1133 #, fuzzy msgid "-M option" msgstr "Opções T4" #: src/exiv2.cpp:1180 msgid "Invalid command line:" msgstr "" #: src/exiv2.cpp:1187 #, fuzzy msgid "Invalid command" msgstr "Argumento inválido" #: src/exiv2.cpp:1219 #, fuzzy msgid "Invalid key" msgstr "Argumento inválido" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "" #: src/fujimn.cpp:62 #, fuzzy msgid "Soft mode 1" msgstr "Modo Spot Ativado" #: src/fujimn.cpp:63 #, fuzzy msgid "Soft mode 2" msgstr "Modo Spot Ativado" #: src/fujimn.cpp:65 #, fuzzy msgid "Hard mode 1" msgstr "Modo de disco 2" #: src/fujimn.cpp:66 #, fuzzy msgid "Hard mode 2" msgstr "Modo de disco 2" #: src/fujimn.cpp:74 #, fuzzy msgid "Fluorescent (daylight)" msgstr "Auto(LuzDiurna)" #: src/fujimn.cpp:75 msgid "Fluorescent (warm white)" msgstr "" #: src/fujimn.cpp:76 msgid "Fluorescent (cool white)" msgstr "" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 #, fuzzy msgid "Incandescent" msgstr "Tungstênio (incandescente)" #: src/fujimn.cpp:87 src/fujimn.cpp:88 msgid "None (black & white)" msgstr "" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 #, fuzzy msgid "Red-eye reduction" msgstr "Não, redução de olhos-vermelhos" #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 #, fuzzy msgid "Night scene" msgstr "Cena noturna" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 #, fuzzy msgid "Program AE" msgstr "Programa ISO" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "" #: src/fujimn.cpp:122 #, fuzzy msgid "Anti-blur" msgstr "Anti-borrão" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 msgid "Sunset" msgstr "" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 msgid "Museum" msgstr "" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 msgid "Party" msgstr "" #: src/fujimn.cpp:126 msgid "Flower" msgstr "" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "" #: src/fujimn.cpp:128 #, fuzzy msgid "Natural light & flash" msgstr "Flash manual" #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 #, fuzzy msgid "Aperture-priority AE" msgstr "Prioridade de abertura" #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 #, fuzzy msgid "Shutter speed priority AE" msgstr "Prioridade de velocidade obturadora" #: src/fujimn.cpp:142 #, fuzzy msgid "No flash & flash" msgstr "Sinalizadores de flash externo" #: src/fujimn.cpp:148 msgid "Chrome" msgstr "" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 msgid "Wide" msgstr "" #: src/fujimn.cpp:160 #, fuzzy msgid "F0/Standard" msgstr "Padrão " #: src/fujimn.cpp:161 msgid "F1/Studio portrait" msgstr "" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "" #: src/fujimn.cpp:163 msgid "F3/Studio portrait Ex" msgstr "" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "" #: src/fujimn.cpp:171 #, fuzzy msgid "Standard (100%)" msgstr "Padrão " #: src/fujimn.cpp:172 #, fuzzy msgid "Wide mode 1 (230%)" msgstr "Modo de disco 2" #: src/fujimn.cpp:173 #, fuzzy msgid "Wide mode 2 (400%)" msgstr "Modo de disco 2" #: src/fujimn.cpp:174 msgid "Film simulation mode" msgstr "" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 #, fuzzy msgid "Version" msgstr "ID da versão" #: src/fujimn.cpp:180 #, fuzzy msgid "Fujifilm Makernote version" msgstr "Versão do MakerNote" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 #, fuzzy msgid "Image quality setting" msgstr "Configuração de qualidade de imagem" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 #, fuzzy msgid "Color" msgstr "InformacaoCor" #: src/fujimn.cpp:196 #, fuzzy msgid "Chroma saturation setting" msgstr "Configuração de saturação" #: src/fujimn.cpp:198 #, fuzzy msgid "Tone" msgstr "CurvaDeTom" #: src/fujimn.cpp:202 #, fuzzy msgid "Flash firing mode setting" msgstr "Configuração de modo flash" #: src/fujimn.cpp:204 #, fuzzy msgid "Flash Strength" msgstr "Intensidade do Flash manual" #: src/fujimn.cpp:205 #, fuzzy msgid "Flash firing strength compensation setting" msgstr "Configurando compensação à exposição de Luz" #: src/fujimn.cpp:208 #, fuzzy msgid "Macro mode setting" msgstr "Configuração de modo flash" #: src/fujimn.cpp:211 #, fuzzy msgid "Focusing mode setting" msgstr "Configuração de modo de foco" #: src/fujimn.cpp:216 #, fuzzy msgid "Slow Sync" msgstr "Ligado, baixa sincronização" #: src/fujimn.cpp:217 #, fuzzy msgid "Slow synchro mode setting" msgstr "Configuração de modo flash" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 #, fuzzy msgid "Picture Mode" msgstr "Modo de imagem" #: src/fujimn.cpp:220 #, fuzzy msgid "Picture mode setting" msgstr "Modo de saturação da imagem" #: src/fujimn.cpp:226 #, fuzzy msgid "Continuous shooting or auto bracketing setting" msgstr "Suporte contínuo" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 #, fuzzy msgid "Sequence Number" msgstr "Número de série da lente" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 #, fuzzy msgid "Sequence number" msgstr "Número de série da lente" #: src/fujimn.cpp:234 #, fuzzy msgid "FinePix Color" msgstr "Cor Plana CFA" #: src/fujimn.cpp:235 msgid "Fuji FinePix color setting" msgstr "" #: src/fujimn.cpp:237 msgid "Blur Warning" msgstr "" #: src/fujimn.cpp:238 msgid "Blur warning status" msgstr "" #: src/fujimn.cpp:240 #, fuzzy msgid "Focus Warning" msgstr "Distância do foco" #: src/fujimn.cpp:241 msgid "Auto Focus warning status" msgstr "" #: src/fujimn.cpp:243 #, fuzzy msgid "Exposure Warning" msgstr "Exibir transformação" #: src/fujimn.cpp:244 #, fuzzy msgid "Auto exposure warning status" msgstr "Capturas de multi-exposição" #: src/fujimn.cpp:246 #, fuzzy msgid "Dynamic Range" msgstr "Otimizar a escala dinâmica" #: src/fujimn.cpp:247 #, fuzzy msgid "Dynamic range" msgstr "Expansão de amplitude dinâmica" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 #, fuzzy msgid "Film Mode" msgstr "Modelo de luz" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 #, fuzzy msgid "Film mode" msgstr "Flash Model" #: src/fujimn.cpp:252 #, fuzzy msgid "Dynamic Range Setting" msgstr "Configurações do otimizador de faixa dinâmico" #: src/fujimn.cpp:253 #, fuzzy msgid "Dynamic range settings" msgstr "Expansão de amplitude dinâmica" #: src/fujimn.cpp:255 msgid "Development Dynamic Range" msgstr "" #: src/fujimn.cpp:256 #, fuzzy msgid "Development dynamic range" msgstr "Segunda Versão de Desenvolvimento Bruta" #: src/fujimn.cpp:258 #, fuzzy msgid "Minimum Focal Length" msgstr "Lente focal" #: src/fujimn.cpp:259 #, fuzzy msgid "Minimum focal length" msgstr "Comprimento do foco do Flash" #: src/fujimn.cpp:261 #, fuzzy msgid "Maximum Focal Length" msgstr "Comprimento do foco do Flash" #: src/fujimn.cpp:262 #, fuzzy msgid "Maximum focal length" msgstr "Comprimento do foco do Flash" #: src/fujimn.cpp:264 #, fuzzy msgid "Maximum Aperture at Minimum Focal" msgstr "Abertura máxima em focal atual" #: src/fujimn.cpp:265 #, fuzzy msgid "Maximum aperture at minimum focal" msgstr "Abertura máxima em focal atual" #: src/fujimn.cpp:267 #, fuzzy msgid "Maximum Aperture at Maximum Focal" msgstr "Abertura máxima em focal atual" #: src/fujimn.cpp:268 #, fuzzy msgid "Maximum aperture at maximum focal" msgstr "Abertura máxima em focal atual" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 #, fuzzy msgid "File Source" msgstr "Fonte." #: src/fujimn.cpp:271 msgid "File source" msgstr "" #: src/fujimn.cpp:273 #, fuzzy msgid "Order Number" msgstr "Número de série" #: src/fujimn.cpp:274 #, fuzzy msgid "Order number" msgstr "Número de série da lente" #: src/fujimn.cpp:276 #, fuzzy msgid "Frame Number" msgstr "Número-F" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 #, fuzzy msgid "Frame number" msgstr "Número de série da lente" #: src/fujimn.cpp:281 #, fuzzy msgid "Unknown FujiMakerNote tag" msgstr "Etiqueta SigmaMakerNote desconhecida" #: src/minoltamn.cpp:56 #, fuzzy msgid "Natural Color" msgstr "Natureza (cor)" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 #, fuzzy msgid "Vivid Color" msgstr "Espaço de cor em vídeo" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 #, fuzzy msgid "Solarization" msgstr "Sem cor" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 msgid "Natural" msgstr "" #: src/minoltamn.cpp:64 msgid "Natural sRGB" msgstr "" #: src/minoltamn.cpp:65 msgid "Natural+ sRGB" msgstr "" #: src/minoltamn.cpp:67 #, fuzzy msgid "Evening" msgstr "Cena à noite" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 #, fuzzy msgid "Night Portrait" msgstr "Retrato de crepúsculo" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 msgid "Super Fine" msgstr "" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 #, fuzzy msgid "Extra Fine" msgstr "Amostras adicionais" #: src/minoltamn.cpp:90 #, fuzzy msgid "Makernote Version" msgstr "Versão do MakerNote" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "String 'MLT0' (não terminada em nulo)" #: src/minoltamn.cpp:93 msgid "Camera Settings (Std Old)" msgstr "" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "" #: src/minoltamn.cpp:96 #, fuzzy msgid "Camera Settings (Std New)" msgstr "Câmera no modo de disparo" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "" #: src/minoltamn.cpp:99 #, fuzzy msgid "Camera Settings (7D)" msgstr "Tem ajuste" #: src/minoltamn.cpp:100 msgid "Camera Settings (for Dynax 7D model)" msgstr "" #: src/minoltamn.cpp:102 #, fuzzy msgid "Image Stabilization Data" msgstr "Restrições de duplicação de imagem" #: src/minoltamn.cpp:103 #, fuzzy msgid "Image stabilization data" msgstr "Restrições de duplicação de imagem" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "" #: src/minoltamn.cpp:111 #, fuzzy msgid "Compressed Image Size" msgstr "Tamanho da imagem visualizada" #: src/minoltamn.cpp:112 #, fuzzy msgid "Compressed image size" msgstr "Tamanho da imagem visualizada" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 #, fuzzy msgid "Thumbnail Offset" msgstr "Endereço do bloco de imagem" #: src/minoltamn.cpp:118 msgid "Offset of the thumbnail" msgstr "" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 #, fuzzy msgid "Thumbnail Length" msgstr "Estrutura de miniaturas" #: src/minoltamn.cpp:121 msgid "Size of the thumbnail" msgstr "" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 #, fuzzy msgid "Scene Mode" msgstr "Área de cena" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 #, fuzzy msgid "Color Mode" msgstr "Cor do mapa" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #, fuzzy msgid "Color mode" msgstr "Rótulo da cor" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 #, fuzzy msgid "Image Quality" msgstr "Configuração de qualidade de imagem" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 #, fuzzy msgid "Flash Exposure Compensation" msgstr "Compensação de exposição CM" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 #, fuzzy msgid "Flash exposure compensation in EV" msgstr "Configurando compensação à exposição de Luz" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 msgid "Teleconverter Model" msgstr "Modelo Teleconversor" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 #, fuzzy msgid "Zone Matching" msgstr "Modo zona de correspondẽncia" #: src/minoltamn.cpp:154 #, fuzzy msgid "Zone matching" msgstr "Modo zona de correspondẽncia" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 #, fuzzy msgid "Color temperature" msgstr "Temperatura de cor" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 #, fuzzy msgid "Lens ID" msgstr "InformacaoLente" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 msgid "Lens identifier" msgstr "" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 #, fuzzy msgid "Color Compensation Filter" msgstr "Temperatura da cor/filtro de cor" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 #, fuzzy msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "Filtro de compensação de cor: negativo é verde, positivo é magenta" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 #, fuzzy msgid "White Balance Fine Tune" msgstr "Valor de equilíbrio branco" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 #, fuzzy msgid "White Balance Fine Tune Value" msgstr "Valor de equilíbrio branco" #: src/minoltamn.cpp:168 msgid "Image Stabilization A100" msgstr "" #: src/minoltamn.cpp:169 msgid "Image Stabilization for the Sony DSLR-A100" msgstr "" #: src/minoltamn.cpp:173 #, fuzzy msgid "Camera Settings (5D)" msgstr "Tem ajuste" #: src/minoltamn.cpp:174 msgid "Camera Settings (for Dynax 5D model)" msgstr "" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 #, fuzzy msgid "PrintIM information" msgstr "Informações do GPS" #: src/minoltamn.cpp:183 #, fuzzy msgid "Camera Settings (Z1)" msgstr "Tem ajuste" #: src/minoltamn.cpp:184 msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "" #: src/minoltamn.cpp:188 #, fuzzy msgid "Unknown Minolta MakerNote tag" msgstr "Etiqueta MarcadorNotasPentax desconhecido" #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 #, fuzzy msgid "Aperture priority" msgstr "Prioridade de abertura" #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "Prioridade do obturador" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 #, fuzzy msgid "Fill flash" msgstr "Luz de preenchimento" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 #, fuzzy msgid "Rear flash sync" msgstr "Contagem de repetição do Flash" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 msgid "Wireless" msgstr "" #: src/minoltamn.cpp:224 #, fuzzy msgid "Fluorescent 2" msgstr "FluorescenciaBranca" #: src/minoltamn.cpp:231 msgid "Full size" msgstr "Tamanho completo" #: src/minoltamn.cpp:243 msgid "Super fine" msgstr "" #: src/minoltamn.cpp:247 #, fuzzy msgid "Extra fine" msgstr "Amostras adicionais" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 #, fuzzy msgid "Single Frame" msgstr "Alvo único" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 #, fuzzy msgid "Self-timer" msgstr "Tempo do temporizador" #: src/minoltamn.cpp:255 #, fuzzy msgid "Bracketing" msgstr "AutoParentizacao" #: src/minoltamn.cpp:256 msgid "Interval" msgstr "" #: src/minoltamn.cpp:257 #, fuzzy msgid "UHS continuous" msgstr "Auto, contínuo" #: src/minoltamn.cpp:258 #, fuzzy msgid "HS continuous" msgstr "Auto, contínuo" #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 #, fuzzy msgid "Multi-segment" msgstr "Multi segmento" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 #, fuzzy msgid "Center weighted average" msgstr "Centro com aumento de peso" #: src/minoltamn.cpp:271 #, fuzzy msgid "Electronic magnification" msgstr "Macro ampliação" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 msgid "Top" msgstr "" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 #, fuzzy msgid "Top-right" msgstr "Acima à direita" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 #, fuzzy msgid "Bottom-right" msgstr "Abaixo à direita" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 #, fuzzy msgid "Bottom" msgstr "Abaixo à esquerda" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 #, fuzzy msgid "Bottom-left" msgstr "Abaixo à esquerda" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 #, fuzzy msgid "Top-left" msgstr "Acima à esquerda" #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 #, fuzzy msgid "Hard" msgstr "Grosseiro mediano" #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 #, fuzzy msgid "Soft" msgstr "Ligado, suave" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 #, fuzzy msgid "Night portrait" msgstr "Retrato de crepúsculo" #: src/minoltamn.cpp:315 #, fuzzy msgid "Sports action" msgstr "Rotação2" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "" #: src/minoltamn.cpp:349 #, fuzzy msgid "Standard form" msgstr "Padrão " #: src/minoltamn.cpp:350 msgid "Data form" msgstr "" #: src/minoltamn.cpp:355 #, fuzzy msgid "Natural color" msgstr "Natureza (cor)" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 msgid "Black and white" msgstr "" #: src/minoltamn.cpp:357 msgid "Vivid color" msgstr "" #: src/minoltamn.cpp:364 msgid "No zone" msgstr "" #: src/minoltamn.cpp:365 #, fuzzy msgid "Center zone (horizontal orientation)" msgstr "Centralizado (horizontal)" #: src/minoltamn.cpp:366 #, fuzzy msgid "Center zone (vertical orientation)" msgstr "Centralizado (vertical)" #: src/minoltamn.cpp:367 #, fuzzy msgid "Left zone" msgstr "Esquerda (ou n/a)" #: src/minoltamn.cpp:368 #, fuzzy msgid "Right zone" msgstr "Tom de luz" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 #, fuzzy msgid "Auto focus" msgstr "Auto-focar" #: src/minoltamn.cpp:379 msgid "Wide focus (normal)" msgstr "" #: src/minoltamn.cpp:380 #, fuzzy msgid "Spot focus" msgstr "Focando o ponto" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 #, fuzzy msgid "Exposure" msgstr "Deslocamento da exposição" #: src/minoltamn.cpp:388 #, fuzzy msgid "Filter" msgstr "Filtro de arte" #: src/minoltamn.cpp:393 #, fuzzy msgid "Not embedded" msgstr "Não possui índice" #: src/minoltamn.cpp:394 msgid "Embedded" msgstr "" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "" #: src/minoltamn.cpp:410 #, fuzzy msgid "Manual flash control" msgstr "Saída de flash manual" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 #, fuzzy msgid "Exposure Mode" msgstr "Modo de multi-exposição" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 #, fuzzy msgid "Flash mode" msgstr "Flash Model" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 #, fuzzy msgid "Drive mode" msgstr "Modo de disco 2" #: src/minoltamn.cpp:512 msgid "ISO Value" msgstr "" #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 #, fuzzy msgid "Exposure Time" msgstr "Exibir transformação" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 #, fuzzy msgid "FNumber" msgstr "Número-F" #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 #, fuzzy msgid "The F-Number" msgstr "Número-F" #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 #, fuzzy msgid "Macro Mode" msgstr "Modo panorâmico" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 #, fuzzy msgid "Exposure Compensation" msgstr "Compensação de exposição CM" #: src/minoltamn.cpp:529 #, fuzzy msgid "Bracket Step" msgstr "Borda de parênteses automático" #: src/minoltamn.cpp:530 #, fuzzy msgid "Bracket step" msgstr "Borda de parênteses automático" #: src/minoltamn.cpp:532 #, fuzzy msgid "Interval Length" msgstr "Comprimento da célula" #: src/minoltamn.cpp:533 #, fuzzy msgid "Interval length" msgstr "Comprimento da célula" #: src/minoltamn.cpp:535 #, fuzzy msgid "Interval Number" msgstr "Número de série" #: src/minoltamn.cpp:536 #, fuzzy msgid "Interval number" msgstr "Número de série da lente" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 #, fuzzy msgid "Focus Distance" msgstr "Distância do foco" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 #, fuzzy msgid "Focus distance" msgstr "Distância do foco" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 #, fuzzy msgid "Flash Fired" msgstr "Tipo de luz" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 #, fuzzy msgid "Flash fired" msgstr "Tipo de luz" #: src/minoltamn.cpp:547 #, fuzzy msgid "Minolta Date" msgstr "Nota do autor do Minolta" #: src/minoltamn.cpp:548 #, fuzzy msgid "Minolta date" msgstr "Nota do autor do Minolta" #: src/minoltamn.cpp:550 #, fuzzy msgid "Minolta Time" msgstr "Tempo de introdução" #: src/minoltamn.cpp:551 #, fuzzy msgid "Minolta time" msgstr "Nota do autor do Minolta" #: src/minoltamn.cpp:556 msgid "File Number Memory" msgstr "" #: src/minoltamn.cpp:557 msgid "File number memory" msgstr "" #: src/minoltamn.cpp:559 #, fuzzy msgid "Last Image Number" msgstr "Número de série da lente" #: src/minoltamn.cpp:560 #, fuzzy msgid "Last image number" msgstr "Número de série da lente" #: src/minoltamn.cpp:562 #, fuzzy msgid "Color Balance Red" msgstr "Balanço de cor vermelho" #: src/minoltamn.cpp:563 #, fuzzy msgid "Color balance red" msgstr "Vermelho equilíbrio de branco" #: src/minoltamn.cpp:565 #, fuzzy msgid "Color Balance Green" msgstr "Balanço de cor vermelho" #: src/minoltamn.cpp:566 #, fuzzy msgid "Color balance green" msgstr "Balanço de cor vermelho" #: src/minoltamn.cpp:568 #, fuzzy msgid "Color Balance Blue" msgstr "Valor de equilíbrio branco" #: src/minoltamn.cpp:569 #, fuzzy msgid "Color balance blue" msgstr "Azul equilíbrio de branco" #: src/minoltamn.cpp:580 #, fuzzy msgid "Subject Program" msgstr "Área do assunto" #: src/minoltamn.cpp:581 #, fuzzy msgid "Subject program" msgstr "Área do assunto" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 #, fuzzy msgid "ISO Settings" msgstr "Configuração do ISO" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 #, fuzzy msgid "ISO setting" msgstr "Configuração do ISO" #: src/minoltamn.cpp:589 #, fuzzy msgid "Minolta Model" msgstr "Nota do autor do Minolta" #: src/minoltamn.cpp:590 #, fuzzy msgid "Minolta model" msgstr "Nota do autor do Minolta" #: src/minoltamn.cpp:592 #, fuzzy msgid "Interval Mode" msgstr "Modo panorâmico" #: src/minoltamn.cpp:593 #, fuzzy msgid "Interval mode" msgstr "Modo panorâmico" #: src/minoltamn.cpp:595 #, fuzzy msgid "Folder Name" msgstr "Nome do perfil" #: src/minoltamn.cpp:596 msgid "Folder name" msgstr "" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 #, fuzzy msgid "ColorMode" msgstr "InformacaoCor" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 #, fuzzy msgid "Color Filter" msgstr "Filtro de cor do Flash" #: src/minoltamn.cpp:602 #, fuzzy msgid "Color filter" msgstr "Filtro de núcleo" #: src/minoltamn.cpp:604 msgid "Black and White Filter" msgstr "" #: src/minoltamn.cpp:605 msgid "Black and white filter" msgstr "" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 #, fuzzy msgid "Internal Flash" msgstr "Flash Externo" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 #, fuzzy msgid "Brightness" msgstr "Valor do Brilho" #: src/minoltamn.cpp:613 #, fuzzy msgid "Spot Focus Point X" msgstr "Focando o ponto" #: src/minoltamn.cpp:614 #, fuzzy msgid "Spot focus point X" msgstr "Focando o ponto" #: src/minoltamn.cpp:616 #, fuzzy msgid "Spot Focus Point Y" msgstr "Focando o ponto" #: src/minoltamn.cpp:617 #, fuzzy msgid "Spot focus point Y" msgstr "Focando o ponto" #: src/minoltamn.cpp:619 #, fuzzy msgid "Wide Focus Zone" msgstr "Distância do foco" #: src/minoltamn.cpp:620 msgid "Wide focus zone" msgstr "" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 #, fuzzy msgid "Focus mode" msgstr "Modo ajuste de foco automático" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 #, fuzzy msgid "Focus area" msgstr "Distância do foco" #: src/minoltamn.cpp:628 #, fuzzy msgid "DEC Switch Position" msgstr "Posição dos autores" #: src/minoltamn.cpp:629 msgid "DEC switch position" msgstr "" #: src/minoltamn.cpp:631 #, fuzzy msgid "Color Profile" msgstr "Perfil Inter Cor" #: src/minoltamn.cpp:632 #, fuzzy msgid "Color profile" msgstr "Perfil Inter Cor" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 msgid "Data Imprint" msgstr "" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 #, fuzzy msgid "Flash Metering" msgstr "Tipo de luz" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 #, fuzzy msgid "Flash metering" msgstr "Configuração de modo flash" #: src/minoltamn.cpp:642 #, fuzzy msgid "Unknown Minolta Camera Settings tag" msgstr "Etiqueta de ajuste da câmera Sony1 desconhecida" #: src/minoltamn.cpp:660 #, fuzzy msgid "Program-shift A" msgstr "Programar delocamento TV" #: src/minoltamn.cpp:661 #, fuzzy msgid "Program-shift S" msgstr "Programar delocamento TV" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 msgid "Raw+Jpeg" msgstr "" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 #, fuzzy msgid "Kelvin" msgstr "3000 Kelvin" #: src/minoltamn.cpp:695 msgid "Single-shot AF" msgstr "" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 #, fuzzy msgid "Continuous AF" msgstr "Baixo contínuo" #: src/minoltamn.cpp:698 #, fuzzy msgid "Automatic AF" msgstr "Automático" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 msgid "sRGB (Natural)" msgstr "" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 msgid "sRGB (Natural+)" msgstr "" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 #, fuzzy msgid "Horizontal (normal)" msgstr "Horizontal" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "" #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "" #: src/minoltamn.cpp:756 #, fuzzy msgid "AF Points" msgstr "Ponto cinza" #: src/minoltamn.cpp:757 #, fuzzy msgid "AF points" msgstr "Ponto em foco AF" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 #, fuzzy msgid "Color Space" msgstr "Espaço de cor em vídeo" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 #, fuzzy msgid "Color space" msgstr "Rótulo da cor" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 msgid "Free Memory Card Images" msgstr "" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 msgid "Free memory card images" msgstr "" #: src/minoltamn.cpp:789 #, fuzzy msgid "Hue" msgstr "Tonalidade CM" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 #, fuzzy msgid "Rotation" msgstr "Rotação2" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 #, fuzzy msgid "Image Number" msgstr "Sobreposição de imagem" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 #, fuzzy msgid "Noise reduction" msgstr "Redução de Ruído de Cor" #: src/minoltamn.cpp:817 #, fuzzy msgid "Zone Matching On" msgstr "Modo zona de correspondẽncia" #: src/minoltamn.cpp:818 #, fuzzy msgid "Zone matching on" msgstr "Modo zona de correspondẽncia" #: src/minoltamn.cpp:822 #, fuzzy msgid "Unknown Minolta Camera Settings 7D tag" msgstr "Etiqueta de ajuste 2 da câmera Sony1 desconhecida" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 #, fuzzy msgid "Program Shift A" msgstr "Programar delocamento TV" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 #, fuzzy msgid "Program Shift S" msgstr "Programar delocamento TV" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 #, fuzzy msgid "Night View/Portrait" msgstr "Retrato de cena noturna" #: src/minoltamn.cpp:895 #, fuzzy msgid "200 (Zone Matching High)" msgstr "Modo zona de correspondẽncia" #: src/minoltamn.cpp:896 #, fuzzy msgid "80 (Zone Matching Low)" msgstr "Modo zona de correspondẽncia" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 msgid "Adobe RGB (ICC)" msgstr "" #: src/minoltamn.cpp:918 #, fuzzy msgid "Central" msgstr "AF Centralizado" #: src/minoltamn.cpp:919 msgid "Up" msgstr "" #: src/minoltamn.cpp:920 #, fuzzy msgid "Up right" msgstr "Direitos autorais" #: src/minoltamn.cpp:922 #, fuzzy msgid "Down right" msgstr "Direitos autorais" #: src/minoltamn.cpp:923 #, fuzzy msgid "Down" msgstr "Pular para baixo" #: src/minoltamn.cpp:924 #, fuzzy msgid "Down left" msgstr "Cortar à direita" #: src/minoltamn.cpp:926 #, fuzzy msgid "Up left" msgstr "Cortar à direita" #: src/minoltamn.cpp:932 #, fuzzy msgid "Selection" msgstr "Redução de trepidação" #: src/minoltamn.cpp:947 msgid "Natural+" msgstr "" #: src/minoltamn.cpp:949 msgid "Wind Scene" msgstr "Cena de vento" #: src/minoltamn.cpp:950 msgid "Evening Scene" msgstr "Cena à noite" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 #, fuzzy msgid "Focus Position" msgstr "Posição dos autores" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 #, fuzzy msgid "Focus position" msgstr "Informação da versão do foco" #: src/minoltamn.cpp:1003 #, fuzzy msgid "Focus Area" msgstr "Alcance do foco" #: src/minoltamn.cpp:1036 msgid "Exposure Revision" msgstr "Revisão de exposição" #: src/minoltamn.cpp:1037 #, fuzzy msgid "Exposure revision" msgstr "Revisão de exposição" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 msgid "Rotation2" msgstr "Rotação2" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 msgid "Picture Finish" msgstr "Imagem finalizada" #: src/minoltamn.cpp:1063 #, fuzzy msgid "Exposure Manual Bias" msgstr "Valor de ajuste da exposição" #: src/minoltamn.cpp:1064 #, fuzzy msgid "Exposure manual bias" msgstr "Valor de orientação diagonal" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 #, fuzzy msgid "AF Mode" msgstr "Modelo de luz" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 #, fuzzy msgid "AF mode" msgstr "Flash Model" #: src/minoltamn.cpp:1087 #, fuzzy msgid "Unknown Minolta Camera Settings 5D tag" msgstr "Etiqueta de ajuste 2 da câmera Sony1 desconhecida" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 #, fuzzy msgid "Self-timer 10 sec" msgstr "Auto-temporizável (12 segundos)" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 #, fuzzy msgid "Self-timer 2 sec" msgstr "Auto-temporizável (2 segundos)" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 msgid "White Balance Bracketing Low" msgstr "Baixo suporte de balanço branco" #: src/minoltamn.cpp:1105 msgid "White Balance Bracketing High" msgstr "Baixo suporte de balanço alto" #: src/minoltamn.cpp:1106 msgid "Single-frame Bracketing Low" msgstr "Baixo suporte de quadro único" #: src/minoltamn.cpp:1107 #, fuzzy msgid "Continuous Bracketing Low" msgstr "Suporte contínuo" #: src/minoltamn.cpp:1108 msgid "Single-frame Bracketing High" msgstr "Alto suporte à quadro único" #: src/minoltamn.cpp:1109 #, fuzzy msgid "Continuous Bracketing High" msgstr "Suporte contínuo" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "Avançado" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 msgid "Continuous Bracketing" msgstr "Suporte contínuo" #: src/minoltamn.cpp:1156 msgid "Single-Frame Bracketing" msgstr "Suporte à quadro único" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 msgid "White Balance Bracketing" msgstr "Suporte à balanço branco" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 msgid "Preset" msgstr "" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 msgid "Color Temperature/Color Filter" msgstr "Temperatura da cor/filtro de cor" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 #, fuzzy msgid "Temperature" msgstr "Temperatura da câmera" #: src/minoltamn.cpp:1213 msgid "Setup" msgstr "Configurar" #: src/minoltamn.cpp:1214 msgid "Recall" msgstr "Recarregar" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "OK" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "Erro" #: src/minoltamn.cpp:1232 #, fuzzy msgid "Image and Information" msgstr "Informação da área do GPS" #: src/minoltamn.cpp:1233 #, fuzzy msgid "Image Only" msgstr "Sobreposição de imagem" #: src/minoltamn.cpp:1234 #, fuzzy msgid "Image and Histogram" msgstr "Nome do criador da imagem" #: src/minoltamn.cpp:1240 msgid "Fill Flash" msgstr "Luz de preenchimento" #: src/minoltamn.cpp:1251 #, fuzzy msgid "Focus Hold" msgstr "Lugar seguro" #: src/minoltamn.cpp:1252 #, fuzzy msgid "DOF Preview" msgstr "Visualizar" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "Manter" #: src/minoltamn.cpp:1258 msgid "Toggle" msgstr "Alternar" #: src/minoltamn.cpp:1259 msgid "Spot Hold" msgstr "Lugar seguro" #: src/minoltamn.cpp:1260 msgid "Spot Toggle" msgstr "Mudar local" #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 #, fuzzy msgid "Shutter Speed" msgstr "Velocidade do Obturador" #: src/minoltamn.cpp:1271 #, fuzzy msgid "Ambient and Flash" msgstr "Sem flash automático" #: src/minoltamn.cpp:1272 msgid "Ambient Only" msgstr "" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 msgid "Automatic" msgstr "Automático" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 #, fuzzy msgid "Auto-rotate" msgstr "Auto parênteses" #: src/minoltamn.cpp:1291 msgid "Horizontal" msgstr "Horizontal" #: src/minoltamn.cpp:1297 #, fuzzy msgid "Manual Rotate" msgstr "Flash manual" #: src/minoltamn.cpp:1302 #, fuzzy msgid "Within Range" msgstr "Alcance do Ponto" #: src/minoltamn.cpp:1303 msgid "Under/Over Range" msgstr "" #: src/minoltamn.cpp:1304 msgid "Out of Range" msgstr "Fora de alcance" #: src/minoltamn.cpp:1309 #, fuzzy msgid "Not Indicated" msgstr "Não possui índice" #: src/minoltamn.cpp:1310 #, fuzzy msgid "Under Scale" msgstr "Sobre escala" #: src/minoltamn.cpp:1311 msgid "Bottom of Scale" msgstr "" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "" #: src/minoltamn.cpp:1330 msgid "Over Scale" msgstr "Sobre escala" #: src/minoltamn.cpp:1335 msgid "AM" msgstr "AM" #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "" #: src/minoltamn.cpp:1342 msgid "Built-in" msgstr "Integrado" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 #, fuzzy msgid "Very Low" msgstr "Muito suave" #: src/minoltamn.cpp:1350 msgid "Half Full" msgstr "" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "" #: src/minoltamn.cpp:1359 #, fuzzy msgid "Exposure Compensation Setting" msgstr "Configurando compensação à exposição de Luz" #: src/minoltamn.cpp:1360 #, fuzzy msgid "Exposure compensation setting" msgstr "Configurando compensação à exposição de Luz" #: src/minoltamn.cpp:1362 msgid "High Speed Sync" msgstr "" #: src/minoltamn.cpp:1363 msgid "High speed sync" msgstr "" #: src/minoltamn.cpp:1365 #, fuzzy msgid "Manual Exposure Time" msgstr "Modo de multi-exposição" #: src/minoltamn.cpp:1366 #, fuzzy msgid "Manual exposure time" msgstr "Modo de multi-exposição" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 msgid "Manual FNumber" msgstr "FNúmero manual" #: src/minoltamn.cpp:1377 msgid "Drive Mode 2" msgstr "Modo de disco 2" #: src/minoltamn.cpp:1378 msgid "Drive mode 2" msgstr "Modo de disco 2" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "Ponto de área no local AF" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 #, fuzzy msgid "AF Area Mode" msgstr "Áreas AF" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 msgid "FlashMode" msgstr "Modo luz" #: src/minoltamn.cpp:1395 msgid "Flash Exposure Comp Setting" msgstr "Configurando comp à exposição de luz" #: src/minoltamn.cpp:1396 msgid "Flash exposure compensation setting" msgstr "Configurando compensação à exposição de Luz" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 msgid "ISO Setting" msgstr "Configuração do ISO" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 msgid "Zone Matching Mode" msgstr "Modo zona de correspondẽncia" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 msgid "Dynamic Range Optimizer Mode" msgstr "Modo optimizador de faixa dinâmico" #: src/minoltamn.cpp:1408 msgid "Dynamic range optimizer mode" msgstr "modo optimizador de faixa dinãmico" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "Prioridade de instalação do obturador" #: src/minoltamn.cpp:1434 msgid "Self Timer Time" msgstr "Tempo do temporizador" #: src/minoltamn.cpp:1435 msgid "Self timer time" msgstr "Tempo do temporizador" #: src/minoltamn.cpp:1438 msgid "Continuous bracketing" msgstr "Suporte contínuo" #: src/minoltamn.cpp:1440 msgid "Single Frame Bracketing" msgstr "Suporte a quadro único" #: src/minoltamn.cpp:1441 msgid "Single frame bracketing" msgstr "suporte a quadro único" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 #, fuzzy msgid "White balance bracketing" msgstr "Suporte de equilíbrio branco" #: src/minoltamn.cpp:1446 msgid "White Balance Setting" msgstr "Configuração do branco" #: src/minoltamn.cpp:1449 msgid "Preset White Balance" msgstr "Equilíbrio do branco" #: src/minoltamn.cpp:1450 msgid "Preset white balance" msgstr "Equilíbrio do branco" #: src/minoltamn.cpp:1452 #, fuzzy msgid "Color Temperature Setting" msgstr "Temperatura de cor" #: src/minoltamn.cpp:1453 #, fuzzy msgid "Color temperature setting" msgstr "Temperatura de cor" #: src/minoltamn.cpp:1455 #, fuzzy msgid "Custom WB Setting" msgstr "Configuração de matiz" #: src/minoltamn.cpp:1456 #, fuzzy msgid "Custom WB setting" msgstr "Configuração de matiz" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 msgid "Dynamic Range Optimizer Settings" msgstr "Configurações do otimizador de faixa dinâmico" #: src/minoltamn.cpp:1464 msgid "Custom WB Red Level" msgstr "Nível vermelho WB personalizado" #: src/minoltamn.cpp:1465 msgid "Custom WB red level" msgstr "Nível vermelho WB personalizado" #: src/minoltamn.cpp:1467 msgid "Custom WB Green Level" msgstr "Nível verde WB personalizado" #: src/minoltamn.cpp:1468 msgid "Custom WB green level" msgstr "Nível verde WB personalizado" #: src/minoltamn.cpp:1470 msgid "Custom WB Blue Level" msgstr "Nível azul WB personalizado" #: src/minoltamn.cpp:1471 msgid "CustomWB blue level" msgstr "Nível azul WB personalizado" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 #, fuzzy msgid "Custom WB Error" msgstr "Nível vermelho WB personalizado" #: src/minoltamn.cpp:1477 #, fuzzy msgid "White balance fine tune" msgstr "Ajuste fino de equilíbrio do branco" #: src/minoltamn.cpp:1483 #, fuzzy msgid "Color compensation filter" msgstr "Temperatura da cor/filtro de cor" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 #, fuzzy msgid "Sony Image Size" msgstr "Tamanho de imagem completo" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "" #: src/minoltamn.cpp:1500 msgid "Eye Start AF" msgstr "Iniciar olho AF" #: src/minoltamn.cpp:1501 msgid "Eye start AF" msgstr "Iniciar olho AF" #: src/minoltamn.cpp:1503 #, fuzzy msgid "Red Eye Reduction" msgstr "Não, redução de olhos-vermelhos" #: src/minoltamn.cpp:1504 #, fuzzy msgid "Red eye reduction" msgstr "Não, redução de olhos-vermelhos" #: src/minoltamn.cpp:1506 #, fuzzy msgid "Flash Default" msgstr "Modelo de luz" #: src/minoltamn.cpp:1507 #, fuzzy msgid "Flash default" msgstr "Modelo de luz" #: src/minoltamn.cpp:1509 msgid "Auto Bracket Order" msgstr "Borda de parênteses automático" #: src/minoltamn.cpp:1510 msgid "Auto bracket order" msgstr "Borda de parênteses automático" #: src/minoltamn.cpp:1512 #, fuzzy msgid "Focus Hold Button" msgstr "Configuração de modo de foco" #: src/minoltamn.cpp:1513 #, fuzzy msgid "Focus hold button" msgstr "Configuração de modo de foco" #: src/minoltamn.cpp:1515 msgid "AEL Button" msgstr "" #: src/minoltamn.cpp:1516 msgid "AEL button" msgstr "" #: src/minoltamn.cpp:1518 msgid "Control Dial Set" msgstr "Diálogo de controle definido" #: src/minoltamn.cpp:1519 msgid "Control dial set" msgstr "Diálogo de controle definido" #: src/minoltamn.cpp:1521 #, fuzzy msgid "Exposure Compensation Mode" msgstr "Compensação de exposição CM" #: src/minoltamn.cpp:1522 #, fuzzy msgid "Exposure compensation mode" msgstr "Compensação de exposição CM" #: src/minoltamn.cpp:1525 msgid "AF assist" msgstr "Assistente AF" #: src/minoltamn.cpp:1527 msgid "Card Shutter Lock" msgstr "Trava do obturador de cartão" #: src/minoltamn.cpp:1528 msgid "Card shutter lock" msgstr "Trava do obturador de cartão" #: src/minoltamn.cpp:1530 msgid "Lens Shutter Lock" msgstr "Trava do obturador de lentes" #: src/minoltamn.cpp:1531 msgid "Lens shutter lock" msgstr "Trava do obturador de lentes" #: src/minoltamn.cpp:1533 #, fuzzy msgid "AF Area Illumination" msgstr "Iluminador AF" #: src/minoltamn.cpp:1534 #, fuzzy msgid "AF area illumination" msgstr "Iluminador AF" #: src/minoltamn.cpp:1536 #, fuzzy msgid "Monitor Display Off" msgstr "Gravar exibição" #: src/minoltamn.cpp:1537 #, fuzzy msgid "Monitor display off" msgstr "Gravar exibição" #: src/minoltamn.cpp:1539 msgid "Record Display" msgstr "Gravar exibição" #: src/minoltamn.cpp:1540 msgid "Record display" msgstr "Gravar exibição" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "Reproduzir exibição" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "Ver monitor" #: src/minoltamn.cpp:1545 #, fuzzy msgid "Exposure Indicator" msgstr "Indicador de exposição Flash próximo" #: src/minoltamn.cpp:1546 #, fuzzy msgid "Exposure indicator" msgstr "Indicador de exposição Flash próximo" #: src/minoltamn.cpp:1548 #, fuzzy msgid "AEL Exposure Indicator" msgstr "Indicador de exposição Flash próximo" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "" "Indicador de exposição AEL (também indica exposição para próxima captura " "quando estiver entre parênteses)" #: src/minoltamn.cpp:1551 msgid "Exposure Bracketing Indicator Last" msgstr "Indicador de exposição do último parêntese" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" "Indicador de exposição do último parêntese (indicador para última captura " "quando estiver entre parênteses)." #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "Indicador de escala fora da medição" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "" "Indicador de escala fora da medição (dois triângulos piscando quando sob ou " "sobre escala de medição)" #: src/minoltamn.cpp:1557 #, fuzzy msgid "Flash Exposure Indicator" msgstr "Indicador de exposição Flash próximo" #: src/minoltamn.cpp:1558 #, fuzzy msgid "Flash exposure indicator" msgstr "Indicador de exposição Flash próximo" #: src/minoltamn.cpp:1560 msgid "Flash Exposure Indicator Next" msgstr "Indicador de exposição Flash próximo" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" "Indicador de exposição Flash próximo (indicador para próxima captura quando " "estiver entre parênteses)" #: src/minoltamn.cpp:1563 msgid "Flash Exposure Indicator Last" msgstr "Indicador de exposição Flash último" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" "Indicador de exposição Flash último (indicador para última captura quando " "entre parênteses)" #: src/minoltamn.cpp:1569 msgid "Focus Mode Switch" msgstr "Ajustar o modo de foco" #: src/minoltamn.cpp:1570 msgid "Focus mode switch" msgstr "Ajustar o modo de foco" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 msgid "Flash Type" msgstr "Tipo de luz" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 msgid "Flash type" msgstr "Tipo de luz" #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 msgid "AE Lock" msgstr "" #: src/minoltamn.cpp:1585 msgid "Color compensation filter: negative is green, positive is magenta" msgstr "Filtro de compensação de cor: negativo é verde, positivo é magenta" #: src/minoltamn.cpp:1587 src/tags.cpp:766 #, fuzzy msgid "Battery Level" msgstr "Nível da bateria" #: src/minoltamn.cpp:1588 msgid "Battery level" msgstr "Nível da bateria" #: src/minoltamn.cpp:1592 msgid "Unknown Sony Camera Settings A100 tag" msgstr "Configuração desconhecida para a câmera Sony A100 tag" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 msgid "Clear" msgstr "Limpar" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 msgid "Deep" msgstr "Profundo" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 msgid "Light" msgstr "Claro" #: src/minoltamn.cpp:1950 msgid "Night View" msgstr "Visão noturna" #: src/minoltamn.cpp:1951 #, fuzzy msgid "Autumn Leaves" msgstr "Outono" #: src/minoltamn.cpp:1990 msgid "Local" msgstr "Local" #: src/minoltamn.cpp:2005 msgid "Top-Right" msgstr "Acima à direita" #: src/minoltamn.cpp:2007 msgid "Bottom-Right" msgstr "Abaixo à direita" #: src/minoltamn.cpp:2009 msgid "Bottom-Left" msgstr "Abaixo à esquerda" #: src/minoltamn.cpp:2011 msgid "Top-Left" msgstr "Acima à esquerda" #: src/minoltamn.cpp:2012 msgid "Far-Right" msgstr "Extrema-direita" #: src/minoltamn.cpp:2013 msgid "Far-Left" msgstr "Extrema-esquerda" #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 msgid "Advanced Auto" msgstr "Avanço automático" #: src/minoltamn.cpp:2028 #, fuzzy msgid "Advanced Level" msgstr "Avançado" #: src/minoltamn.cpp:2041 #, fuzzy msgid "AF" msgstr "A" #: src/minoltamn.cpp:2042 msgid "Release" msgstr "Lançamento" #: src/minoltamn.cpp:2054 msgid "RAW " msgstr "" #: src/minoltamn.cpp:2055 msgid "CRAW " msgstr "" #: src/minoltamn.cpp:2058 msgid "RAW+JPEG" msgstr "" #: src/minoltamn.cpp:2059 msgid "CRAW+JPEG" msgstr "" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "" #: src/minoltamn.cpp:2116 #, fuzzy msgid "Compressed Raw" msgstr "Taxa de compressão" #: src/minoltamn.cpp:2117 #, fuzzy msgid "Compressed Raw + JPEG" msgstr "Bits Comprimidos por Pixel" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "" #: src/minoltamn.cpp:2132 msgid "Minolta AF 1.4x APO (D)" msgstr "" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "" #: src/minoltamn.cpp:2163 #, fuzzy msgid "ISO Setting Used" msgstr "Configuração do ISO" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 #, fuzzy msgid "High Key" msgstr "Mais alta" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "" #: src/nikonmn.cpp:80 msgid "Extra High" msgstr "" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 #, fuzzy msgid "Single area" msgstr "Alvo único" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 #, fuzzy msgid "Dynamic area" msgstr "Alvo dinâmico único" #: src/nikonmn.cpp:88 msgid "Dynamic area, closest subject" msgstr "" #: src/nikonmn.cpp:89 msgid "Group dynamic" msgstr "" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 #, fuzzy msgid "Single area (wide)" msgstr "Alvo único" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 #, fuzzy msgid "Dynamic area (wide)" msgstr "Otimizar a escala dinâmica" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 msgid "Upper-left" msgstr "" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 #, fuzzy msgid "Upper-right" msgstr "Direitos autorais" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 #, fuzzy msgid "Lower-left" msgstr "Mais baixa" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 #, fuzzy msgid "Lower-right" msgstr "Claro" #: src/nikonmn.cpp:108 msgid "Left-most" msgstr "" #: src/nikonmn.cpp:109 msgid "Right-most" msgstr "" #: src/nikonmn.cpp:143 msgid "Fire, manual" msgstr "" #: src/nikonmn.cpp:144 msgid "Fire, external" msgstr "" #: src/nikonmn.cpp:145 msgid "Fire, commander mode" msgstr "" #: src/nikonmn.cpp:146 #, fuzzy msgid "Fire, TTL mode" msgstr "Modo de imagem" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 msgid "Delay" msgstr "" #: src/nikonmn.cpp:153 #, fuzzy msgid "PC Control" msgstr "Contraste PM" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 msgid "Exposure Bracketing" msgstr "Exposição entre parênteses" #: src/nikonmn.cpp:156 #, fuzzy msgid "Auto ISO" msgstr "Auto HDR" #: src/nikonmn.cpp:157 #, fuzzy msgid "White-Balance Bracketing" msgstr "Suporte à balanço branco" #: src/nikonmn.cpp:158 #, fuzzy msgid "IR Control" msgstr "Controle remoto do Flash" #: src/nikonmn.cpp:159 #, fuzzy msgid "D-Lighting Bracketing" msgstr "Suporte contínuo" #: src/nikonmn.cpp:166 #, fuzzy msgid "PC control" msgstr "Contraste CM" #: src/nikonmn.cpp:167 #, fuzzy msgid "Exposure bracketing" msgstr "Exposição entre parênteses" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "" #: src/nikonmn.cpp:170 msgid "IR control" msgstr "" #: src/nikonmn.cpp:176 #, fuzzy msgid "Auto release" msgstr "Auto parênteses" #: src/nikonmn.cpp:177 #, fuzzy msgid "Manual release" msgstr "Flash manual" #: src/nikonmn.cpp:182 msgid "Lossy (type 1)" msgstr "" #: src/nikonmn.cpp:183 src/tags.cpp:251 #, fuzzy msgid "Uncompressed" msgstr "Epson ERF comprimido" #: src/nikonmn.cpp:184 msgid "Lossless" msgstr "" #: src/nikonmn.cpp:185 msgid "Lossy (type 2)" msgstr "" #: src/nikonmn.cpp:191 msgid "B & W" msgstr "" #: src/nikonmn.cpp:193 msgid "Trim" msgstr "" #: src/nikonmn.cpp:194 msgid "Small picture" msgstr "" #: src/nikonmn.cpp:195 #, fuzzy msgid "D-Lighting" msgstr "Iluminação de palco" #: src/nikonmn.cpp:196 #, fuzzy msgid "Red eye" msgstr "Hue vermelho." #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 msgid "Cyanotype" msgstr "" #: src/nikonmn.cpp:198 #, fuzzy msgid "Sky light" msgstr "Noite estrelada" #: src/nikonmn.cpp:199 #, fuzzy msgid "Warm tone" msgstr "Tom da imagem" #: src/nikonmn.cpp:200 #, fuzzy msgid "Color custom" msgstr "Reprodução de cor" #: src/nikonmn.cpp:201 #, fuzzy msgid "Image overlay" msgstr "Sobreposição de imagem" #: src/nikonmn.cpp:207 msgid "Minimal" msgstr "" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 #, fuzzy msgid "Nikon Makernote version" msgstr "Versão do marcador de notas pentax" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 #, fuzzy msgid "ISO Speed" msgstr "Velocidade do ISO" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 msgid "Sharpening" msgstr "" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 #, fuzzy msgid "Image sharpening setting" msgstr "Configuração de tamanho de imagens" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 #, fuzzy msgid "Focus" msgstr "Foco panorâmico" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 #, fuzzy msgid "Flash Setting" msgstr "Tem ajuste" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 #, fuzzy msgid "Flash setting" msgstr "Configuração de modo flash" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 #, fuzzy msgid "ISO Selection" msgstr "Configuração do ISO" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 #, fuzzy msgid "ISO selection" msgstr "Alta ReduçãoDeRuído ISO" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data Dump" msgstr "" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data dump" msgstr "" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 #, fuzzy msgid "Image Adjustment" msgstr "Ajuste de nitidez" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 #, fuzzy msgid "Image adjustment setting" msgstr "Configuração de tamanho de imagens" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 msgid "Auxiliary lens (adapter)" msgstr "" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 #, fuzzy msgid "Manual focus distance" msgstr "Foco manual" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 #, fuzzy msgid "Digital zoom setting" msgstr "Razão de Zoom Digital." #: src/nikonmn.cpp:260 #, fuzzy msgid "AF Focus Position" msgstr "Posição dos autores" #: src/nikonmn.cpp:261 #, fuzzy msgid "AF focus position information" msgstr "Informação de redução de informação" #: src/nikonmn.cpp:265 #, fuzzy msgid "Unknown Nikon1MakerNote tag" msgstr "Etiqueta Sony1Autor Desconhecida" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 #, fuzzy msgid "Continuous autofocus" msgstr "Baixo contínuo" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 #, fuzzy msgid "Single autofocus" msgstr "Alvo único" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 #, fuzzy msgid "Not used" msgstr "Não possui índice" #: src/nikonmn.cpp:371 msgid "guess" msgstr "" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "" #: src/nikonmn.cpp:419 msgid "VGA Normal" msgstr "" #: src/nikonmn.cpp:420 msgid "VGA Fine" msgstr "" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "" #: src/nikonmn.cpp:422 msgid "SXGA Normal" msgstr "" #: src/nikonmn.cpp:423 msgid "SXGA Fine" msgstr "" #: src/nikonmn.cpp:435 #, fuzzy msgid "Bright+" msgstr "Claro" #: src/nikonmn.cpp:436 #, fuzzy msgid "Bright-" msgstr "Claro" #: src/nikonmn.cpp:437 #, fuzzy msgid "Contrast+" msgstr "Contraste PM" #: src/nikonmn.cpp:438 #, fuzzy msgid "Contrast-" msgstr "Contraste PM" #: src/nikonmn.cpp:457 #, fuzzy msgid "Speedlight" msgstr "Sensor de altura" #: src/nikonmn.cpp:497 #, fuzzy msgid "Unknown Nikon2MakerNote tag" msgstr "Etiqueta Sony1Autor Desconhecida" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 #, fuzzy msgid "Flash Device" msgstr "Distância GN do Flash" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 #, fuzzy msgid "Flash device" msgstr "Modelo de luz" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 #, fuzzy msgid "White Balance Bias" msgstr "Balanço de branco 2" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 #, fuzzy msgid "White balance bias" msgstr "Balanço de branco 2" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 #, fuzzy msgid "WB RB Levels" msgstr "Nível do vermelho WB" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 #, fuzzy msgid "WB RB levels" msgstr "Níveis WB RB CWB1" #: src/nikonmn.cpp:544 #, fuzzy msgid "Program Shift" msgstr "Programar delocamento TV" #: src/nikonmn.cpp:544 #, fuzzy msgid "Program shift" msgstr "Programar delocamento TV" #: src/nikonmn.cpp:545 #, fuzzy msgid "Exposure Difference" msgstr "Deslocamento da exposição" #: src/nikonmn.cpp:545 #, fuzzy msgid "Exposure difference" msgstr "Deslocamento da exposição" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 #, fuzzy msgid "Pointer to a preview image" msgstr "Comprimento de uma imagem prévia" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 #, fuzzy msgid "Offset to an IFD containing a preview image" msgstr "Tamanho de um IFD que contém uma imagem prévia" #: src/nikonmn.cpp:549 #, fuzzy msgid "Flash Comp" msgstr "Tipo de luz" #: src/nikonmn.cpp:549 #, fuzzy msgid "Flash compensation setting" msgstr "Configurando compensação à exposição de Luz" #: src/nikonmn.cpp:551 #, fuzzy msgid "Image Boundary" msgstr "Tom da imagem" #: src/nikonmn.cpp:551 #, fuzzy msgid "Image boundary" msgstr "Tom da imagem" #: src/nikonmn.cpp:552 #, fuzzy msgid "Flash exposure comp" msgstr "Bloquear exposição de flash" #: src/nikonmn.cpp:553 #, fuzzy msgid "Flash Bracket Comp" msgstr "Comp de equilíbrio de branco" #: src/nikonmn.cpp:553 #, fuzzy msgid "Flash bracket compensation applied" msgstr "Configurando compensação à exposição de Luz" #: src/nikonmn.cpp:554 #, fuzzy msgid "Exposure Bracket Comp" msgstr "Exposição entre parênteses" #: src/nikonmn.cpp:554 msgid "AE bracket compensation applied" msgstr "" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 #, fuzzy msgid "Image Processing" msgstr "Processamento de imagem secundário-IFD" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 #, fuzzy msgid "Image processing" msgstr "Processamento de imagem secundário-IFD" #: src/nikonmn.cpp:556 #, fuzzy msgid "Crop High Speed" msgstr "Cortar altura" #: src/nikonmn.cpp:556 #, fuzzy msgid "Crop high speed" msgstr "Área 1 (Alta velocidade)" #: src/nikonmn.cpp:557 msgid "Exposure Tuning" msgstr "Exibir transformação" #: src/nikonmn.cpp:557 msgid "Exposure tuning" msgstr "Exibir transformação" #: src/nikonmn.cpp:560 #, fuzzy msgid "VR Info" msgstr "Informação cru" #: src/nikonmn.cpp:560 msgid "VR info" msgstr "" #: src/nikonmn.cpp:561 #, fuzzy msgid "Image Authentication" msgstr "Configuração de qualidade de imagem" #: src/nikonmn.cpp:561 #, fuzzy msgid "Image authentication" msgstr "Configuração de qualidade de imagem" #: src/nikonmn.cpp:562 #, fuzzy msgid "ActiveD-Lighting" msgstr "Iluminação de palco" #: src/nikonmn.cpp:562 #, fuzzy msgid "ActiveD-lighting" msgstr "Iluminação de palco" #: src/nikonmn.cpp:563 #, fuzzy msgid "Picture Control" msgstr "Modo de contraste da imagem" #: src/nikonmn.cpp:563 #, fuzzy msgid " Picture control" msgstr "Tonalidade de imagem PM" #: src/nikonmn.cpp:564 src/properties.cpp:1387 #, fuzzy msgid "World Time" msgstr "Localização de hora mundial" #: src/nikonmn.cpp:564 #, fuzzy msgid "World time" msgstr "Localização de hora mundial" #: src/nikonmn.cpp:565 #, fuzzy msgid "ISO Info" msgstr "Informação cru" #: src/nikonmn.cpp:565 #, fuzzy msgid "ISO info" msgstr "Configuração do ISO" #: src/nikonmn.cpp:566 #, fuzzy msgid "Vignette Control" msgstr "Quantidade de vinhetas" #: src/nikonmn.cpp:566 #, fuzzy msgid "Vignette control" msgstr "Quantidade de vinhetas" #: src/nikonmn.cpp:568 #, fuzzy msgid "Tone Compensation" msgstr "Compensação de sombreamento" #: src/nikonmn.cpp:568 #, fuzzy msgid "Tone compensation" msgstr "Compensação de sombreamento" #: src/nikonmn.cpp:574 msgid "Mode of flash used" msgstr "" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 #, fuzzy msgid "Shooting Mode" msgstr "Modo de medição de ponto" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 #, fuzzy msgid "Shooting mode" msgstr "Câmera no modo de disparo" #: src/nikonmn.cpp:577 #, fuzzy msgid "Auto Bracket Release" msgstr "Auto parênteses" #: src/nikonmn.cpp:577 #, fuzzy msgid "Auto bracket release" msgstr "Borda de parênteses automático" #: src/nikonmn.cpp:578 msgid "Lens FStops" msgstr "" #: src/nikonmn.cpp:579 #, fuzzy msgid "Contrast Curve" msgstr "Curva de Tonalidade" #: src/nikonmn.cpp:579 #, fuzzy msgid "Contrast curve" msgstr "Curva de tom" #: src/nikonmn.cpp:580 #, fuzzy msgid "Color Hue" msgstr "Rótulo da cor" #: src/nikonmn.cpp:580 #, fuzzy msgid "Color hue" msgstr "Rótulo da cor" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 #, fuzzy msgid "Scene mode" msgstr "Área de cena" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 #, fuzzy msgid "Light Source" msgstr "Tom de luz" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 #, fuzzy msgid "Light source" msgstr "Tom de luz" #: src/nikonmn.cpp:583 #, fuzzy msgid "Shot info" msgstr "InformacaoDisparo" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 #, fuzzy msgid "Hue Adjustment" msgstr "Ajuste de nitidez" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 #, fuzzy msgid "Hue adjustment" msgstr "Ajuste fino do Balanço de Branco" #: src/nikonmn.cpp:585 #, fuzzy msgid "NEF Compression" msgstr "Taxa de compressão" #: src/nikonmn.cpp:585 #, fuzzy msgid "NEF compression" msgstr "Nikon NEF Comprimido" #: src/nikonmn.cpp:588 src/tags.cpp:905 #, fuzzy msgid "Linearization Table" msgstr "Data de transação da licença" #: src/nikonmn.cpp:588 #, fuzzy msgid "Linearization table" msgstr "Data de transação da licença" #: src/nikonmn.cpp:589 #, fuzzy msgid "Color Balance" msgstr "Balanço de cor vermelho" #: src/nikonmn.cpp:589 #, fuzzy msgid "Color balance" msgstr "Balanço de cor vermelho" #: src/nikonmn.cpp:590 #, fuzzy msgid "Lens Data" msgstr "Data final da licença" #: src/nikonmn.cpp:590 #, fuzzy msgid "Lens data settings" msgstr "Configurações de correção de lente" #: src/nikonmn.cpp:591 #, fuzzy msgid "Raw Image Center" msgstr "Criador da imagem" #: src/nikonmn.cpp:591 #, fuzzy msgid "Raw image center" msgstr "Comprimento informado da imagem" #: src/nikonmn.cpp:592 #, fuzzy msgid "Sensor Pixel Size" msgstr "Nível de sensor vermelho" #: src/nikonmn.cpp:592 #, fuzzy msgid "Sensor pixel size" msgstr "Nível de sensor vermelho" #: src/nikonmn.cpp:594 #, fuzzy msgid "Scene Assist" msgstr "Área de cena" #: src/nikonmn.cpp:594 #, fuzzy msgid "Scene assist" msgstr "Assistente AF" #: src/nikonmn.cpp:595 msgid "Retouch History" msgstr "" #: src/nikonmn.cpp:595 msgid "Retouch history" msgstr "" #: src/nikonmn.cpp:597 #, fuzzy msgid "Serial NO" msgstr "Número de série" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "" #: src/nikonmn.cpp:598 #, fuzzy msgid "Image Data Size" msgstr "Tamanho de imagem completo" #: src/nikonmn.cpp:598 #, fuzzy msgid "Image data size" msgstr "Estrutura de arquivo de imagem" #: src/nikonmn.cpp:600 #, fuzzy msgid "Image Count" msgstr "Tom da imagem" #: src/nikonmn.cpp:600 #, fuzzy msgid "Image count" msgstr "Tom da imagem" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted Image Count" msgstr "Contagem da imagem apagada" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted image count" msgstr "Contagem da imagem apagada" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 msgid "Shutter Count" msgstr "Contagem do obturador" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "" #: src/nikonmn.cpp:603 #, fuzzy msgid "Flash info" msgstr "InformacaoFlash" #: src/nikonmn.cpp:604 #, fuzzy msgid "Image Optimization" msgstr "Tom da imagem" #: src/nikonmn.cpp:604 #, fuzzy msgid "Image optimization" msgstr "Tom da imagem" #: src/nikonmn.cpp:606 #, fuzzy msgid "Program Variation" msgstr "Programar delocamento TV" #: src/nikonmn.cpp:606 #, fuzzy msgid "Program variation" msgstr "Programar delocamento TV" #: src/nikonmn.cpp:608 #, fuzzy msgid "AF Response" msgstr "Unidade de resposta cinza" #: src/nikonmn.cpp:608 msgid "AF response" msgstr "" #: src/nikonmn.cpp:609 #, fuzzy msgid "Multi exposure" msgstr "Modo de multi-exposição" #: src/nikonmn.cpp:610 #, fuzzy msgid "High ISO Noise Reduction" msgstr "Alta ReduçãoDeRuído ISO" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 #, fuzzy msgid "Toning effect" msgstr "Gravando deslocamento" #: src/nikonmn.cpp:612 msgid "AF info 2" msgstr "" #: src/nikonmn.cpp:613 msgid "File info" msgstr "" #: src/nikonmn.cpp:614 msgid "AF tune" msgstr "" #: src/nikonmn.cpp:617 msgid "Capture Data" msgstr "" #: src/nikonmn.cpp:617 msgid "Capture data" msgstr "" #: src/nikonmn.cpp:618 #, fuzzy msgid "Capture Version" msgstr "Versão do MakerNote" #: src/nikonmn.cpp:618 #, fuzzy msgid "Capture version" msgstr "Versão do MakerNote" #: src/nikonmn.cpp:620 #, fuzzy msgid "Capture Offsets" msgstr "Faixa de compensações" #: src/nikonmn.cpp:620 #, fuzzy msgid "Capture offsets" msgstr "Faixa de compensações" #: src/nikonmn.cpp:621 msgid "Scan IFD" msgstr "" #: src/nikonmn.cpp:622 #, fuzzy msgid "ICC profile" msgstr "Perfil de câmera" #: src/nikonmn.cpp:623 msgid "Capture output" msgstr "" #: src/nikonmn.cpp:625 #, fuzzy msgid "Unknown Nikon3MakerNote tag" msgstr "Etiqueta Sony1Autor Desconhecida" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 msgid "No" msgstr "" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 #, fuzzy msgid "Vibration Reduction" msgstr "Correção da distorção" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 #, fuzzy msgid "Vibration reduction" msgstr "Correção da distorção" #: src/nikonmn.cpp:657 #, fuzzy msgid "Unknown Nikon Vibration Reduction Tag" msgstr "Etiqueta Nikon de foco automático 2 desconhecida" #: src/nikonmn.cpp:667 #, fuzzy msgid "Default Settings" msgstr "Tem ajuste" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 msgid "Quick Adjust" msgstr "" #: src/nikonmn.cpp:669 #, fuzzy msgid "Full Control" msgstr "Modo de controle do Flash" #: src/nikonmn.cpp:690 msgid "Blue-green" msgstr "" #: src/nikonmn.cpp:692 msgid "Purple-blue" msgstr "" #: src/nikonmn.cpp:693 msgid "Red-purple" msgstr "" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 #, fuzzy msgid "Name" msgstr "Nome da fita" #: src/nikonmn.cpp:701 #, fuzzy msgid "Base" msgstr "Base de ganho" #: src/nikonmn.cpp:702 #, fuzzy msgid "Adjust" msgstr "WB ajusta AB" #: src/nikonmn.cpp:703 msgid "Quick adjust" msgstr "" #: src/nikonmn.cpp:709 msgid "Filter effect" msgstr "" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning Saturation" msgstr "Saturação PM" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning saturation" msgstr "Saturação CM" #: src/nikonmn.cpp:713 #, fuzzy msgid "Unknown Nikon Picture Control Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:730 #, fuzzy msgid "AF Fine Tune" msgstr "Ajuste de afinação AF" #: src/nikonmn.cpp:730 #, fuzzy msgid "AF fine tune" msgstr "Ajuste de afinação aF" #: src/nikonmn.cpp:731 #, fuzzy msgid "AF Fine Tune Index" msgstr "Ajuste de afinação AF" #: src/nikonmn.cpp:731 #, fuzzy msgid "AF fine tune index" msgstr "Ajuste de afinação aF" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF Fine Tune Adjustment" msgstr "Ajuste de afinação AF" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF fine tune adjustment" msgstr "Ajuste de afinação aF" #: src/nikonmn.cpp:734 #, fuzzy msgid "Unknown Nikon AF Fine Tune Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:744 msgid "Timezone" msgstr "" #: src/nikonmn.cpp:745 msgid "Daylight Savings" msgstr "" #: src/nikonmn.cpp:745 msgid "Daylight savings" msgstr "" #: src/nikonmn.cpp:746 #, fuzzy msgid "Date Display Format" msgstr "Formato da amostra" #: src/nikonmn.cpp:746 msgid "Date display format" msgstr "" #: src/nikonmn.cpp:748 #, fuzzy msgid "Unknown Nikon World Time Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:759 msgid "Hi 0.3" msgstr "" #: src/nikonmn.cpp:760 msgid "Hi 0.5" msgstr "" #: src/nikonmn.cpp:761 msgid "Hi 0.7" msgstr "" #: src/nikonmn.cpp:762 msgid "Hi 1.0" msgstr "" #: src/nikonmn.cpp:763 msgid "Hi 1.3" msgstr "" #: src/nikonmn.cpp:764 msgid "Hi 1.5" msgstr "" #: src/nikonmn.cpp:765 msgid "Hi 1.7" msgstr "" #: src/nikonmn.cpp:766 msgid "Hi 2.0" msgstr "" #: src/nikonmn.cpp:767 msgid "Hi 2.3" msgstr "" #: src/nikonmn.cpp:768 msgid "Hi 2.5" msgstr "" #: src/nikonmn.cpp:769 msgid "Hi 2.7" msgstr "" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "" #: src/nikonmn.cpp:778 msgid "Lo 1.0" msgstr "" #: src/nikonmn.cpp:784 #, fuzzy msgid "ISO Expansion" msgstr "Extensões" #: src/nikonmn.cpp:784 msgid "ISO expansion" msgstr "" #: src/nikonmn.cpp:785 msgid "ISO 2" msgstr "" #: src/nikonmn.cpp:786 msgid "ISO Expansion 2" msgstr "" #: src/nikonmn.cpp:786 msgid "ISO expansion 2" msgstr "" #: src/nikonmn.cpp:788 #, fuzzy msgid "Unknown Nikon Iso Info Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:798 #, fuzzy msgid "Single Area" msgstr "Área de cena" #: src/nikonmn.cpp:799 #, fuzzy msgid "Dynamic Area" msgstr "Expansão de amplitude dinâmica" #: src/nikonmn.cpp:800 msgid "Dynamic Area, Closest Subject" msgstr "" #: src/nikonmn.cpp:801 msgid "Group Dynamic" msgstr "" #: src/nikonmn.cpp:802 msgid "Single Area (wide)" msgstr "" #: src/nikonmn.cpp:803 msgid "Dynamic Area (wide)" msgstr "" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 msgid "Mid-left" msgstr "" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 #, fuzzy msgid "Mid-right" msgstr "Meio-direito (vertical)" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 #, fuzzy msgid "Far Left" msgstr "Extrema-esquerda" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 #, fuzzy msgid "Far Right" msgstr "Extrema-direita" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 #, fuzzy msgid "AF area mode" msgstr "Áreas AF" #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 #, fuzzy msgid "AF point" msgstr "Ponto cinza" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF Points In Focus" msgstr "Ponto em foco AF" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF points in focus" msgstr "Ponto em foco AF" #: src/nikonmn.cpp:842 #, fuzzy msgid "Unknown Nikon Auto Focus Tag" msgstr "Etiqueta Nikon de foco automático 2 desconhecida" #: src/nikonmn.cpp:853 msgid "On (51-point)" msgstr "On (51-pontos)" #: src/nikonmn.cpp:854 msgid "On (11-point)" msgstr "On (11-pontos)" #: src/nikonmn.cpp:855 #, fuzzy msgid "On (39-point)" msgstr "On (51-pontos)" #: src/nikonmn.cpp:856 #, fuzzy msgid "On (73-point)" msgstr "On (51-pontos)" #: src/nikonmn.cpp:857 #, fuzzy msgid "On (73-point, new)" msgstr "On (51-pontos)" #: src/nikonmn.cpp:858 #, fuzzy msgid "On (105-point)" msgstr "On (11-pontos)" #: src/nikonmn.cpp:864 msgid "Contrast Detect AF" msgstr "Detecção de contraste AF" #: src/nikonmn.cpp:864 msgid "Contrast detect AF" msgstr "Detecção de contraste AF" #: src/nikonmn.cpp:866 msgid "Phase Detect AF" msgstr "Detecção de fase AF" #: src/nikonmn.cpp:866 msgid "Phase detect AF" msgstr "Detecção de fase AF" #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF Point" msgstr "Ponto cinza" #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF point" msgstr "Ponto cinza" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF Image Width" msgstr "Largura informada da imagem" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF image width" msgstr "Largura informada da imagem" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF Image Height" msgstr "Altura da imagem de multi-explosão" #: src/nikonmn.cpp:870 msgid "AF image height" msgstr "" #: src/nikonmn.cpp:871 msgid "AF Area X Position" msgstr "AF Área X Posição" #: src/nikonmn.cpp:871 msgid "AF area x position" msgstr "AF área x posição" #: src/nikonmn.cpp:872 msgid "AF Area Y Position" msgstr "AF Área Y Posição" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF area y position" msgstr "AF área x posição" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF Area Width" msgstr "Áreas AF" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF area width" msgstr "Áreas AF" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF Area Height" msgstr "Cortar altura" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF area height" msgstr "área-3 (direita)" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast Detect AF In Focus" msgstr "Detecção de contraste AF" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast detect AF in focus" msgstr "Detecção de contraste AF" #: src/nikonmn.cpp:877 msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "Etiqueta Nikon de foco automático 2 desconhecida" #: src/nikonmn.cpp:888 msgid "Directory Number" msgstr "" #: src/nikonmn.cpp:888 msgid "Directory number" msgstr "" #: src/nikonmn.cpp:891 msgid "Unknown Nikon File Info Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 msgid "Multiple Exposure" msgstr "Múltipla exposição" #: src/nikonmn.cpp:903 msgid "Image Overlay" msgstr "Sobreposição de imagem" #: src/nikonmn.cpp:909 msgid "Multi Exposure Mode" msgstr "Modo de multi-exposição" #: src/nikonmn.cpp:909 msgid "Multi exposure mode" msgstr "Modo de multi-exposição" #: src/nikonmn.cpp:910 msgid "Multi Exposure Shots" msgstr "Capturas de multi-exposição" #: src/nikonmn.cpp:910 msgid "Multi exposure shots" msgstr "Capturas de multi-exposição" #: src/nikonmn.cpp:911 msgid "Multi Exposure Auto Gain" msgstr "Ganho automático de multi-exposição" #: src/nikonmn.cpp:911 msgid "Multi exposure auto gain" msgstr "Ganho automático de multi-exposição" #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 msgid "Unknown Nikon Multi Exposure Tag" msgstr "Etiqueta de multi-exposição Nikon desconhecida" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 msgid "Internal" msgstr "" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "1.01 (SB-800 ou Metz 58 AF-1)" #: src/nikonmn.cpp:991 msgid "iTTL-BL" msgstr "" #: src/nikonmn.cpp:992 msgid "iTTL" msgstr "" #: src/nikonmn.cpp:993 msgid "Auto Aperture" msgstr "Abertura automática" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 #, fuzzy msgid "Repeating Flash" msgstr "Taxa de repetição do Flash" #: src/nikonmn.cpp:1004 msgid "Bounce Flash" msgstr "" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "" #: src/nikonmn.cpp:1018 msgid "Amber" msgstr "Âmbar" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash Source" msgstr "Modelo de luz" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash source" msgstr "Modelo de luz" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 msgid "0x0005" msgstr "" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 msgid "External Flash Firmware" msgstr "Firmware de Flash externo" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 msgid "External flash firmware" msgstr "Firmware de Flash externo" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 msgid "External Flash Flags" msgstr "Sinalizadores de Flash Externo" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 msgid "External flash flags" msgstr "Sinalizadores de flash externo" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 msgid "Flash Focal Length" msgstr "Comprimento do foco do Flash" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 msgid "Flash focal length" msgstr "Comprimento do foco do Flash" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "Taxa de repetição do Flash" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating flash rate" msgstr "Taxa de repetição do Flash" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "Contagem de repetição do Flash" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating flash count" msgstr "Contagem de repetição do Flash" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN Distance" msgstr "Distância GN do Flash" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN distance" msgstr "Distância do Flash GN" #: src/nikonmn.cpp:1032 msgid "Flash Group A Control Mode" msgstr "Modo de controle do grupo A do Flash" #: src/nikonmn.cpp:1032 msgid "Flash group a control mode" msgstr "Modo de controle do grupo A do Flash" #: src/nikonmn.cpp:1033 msgid "Flash Group B Control Mode" msgstr "Modo de controle do grupo B do Flash" #: src/nikonmn.cpp:1033 msgid "Flash group b control mode" msgstr "Modo de controle do grupo b do Flash" #: src/nikonmn.cpp:1073 msgid "Flash Color Filter" msgstr "Filtro de cor do Flash" #: src/nikonmn.cpp:1073 msgid "Flash color filter" msgstr "Filtro de cor do Flash" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 msgid "Shutter count" msgstr "Contagem do obturador" #: src/nikonmn.cpp:1088 #, fuzzy msgid "Unknown Nikon Shot Info D80 Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 #, fuzzy msgid "Flash Level" msgstr "Modelo de luz" #: src/nikonmn.cpp:1100 #, fuzzy msgid "Flash level" msgstr "Modelo de luz" #: src/nikonmn.cpp:1102 #, fuzzy msgid "Unknown Nikon Shot Info D40 Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 #, fuzzy msgid "AF Fine Tune Adj" msgstr "Ajuste de afinação AF" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 #, fuzzy msgid "AF fine tune adj" msgstr "Ajuste de afinação aF" #: src/nikonmn.cpp:1162 #, fuzzy msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:1222 #, fuzzy msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:1235 #, fuzzy msgid "On (3)" msgstr "Ligado (3 quadros)" #: src/nikonmn.cpp:1248 msgid "Shutter Count 1" msgstr "Contagem do obturador 1" #: src/nikonmn.cpp:1248 #, fuzzy msgid "Shutter count 1" msgstr "Contagem do obturador 1" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration Reduction 1" msgstr "Correção da distorção" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration reduction 1" msgstr "Correção da distorção" #: src/nikonmn.cpp:1252 msgid "Shutter Count 2" msgstr "Contagem do obturador 2" #: src/nikonmn.cpp:1252 #, fuzzy msgid "Shutter count 2" msgstr "Contagem do obturador 2" #: src/nikonmn.cpp:1253 #, fuzzy msgid "Vibration Reduction 2" msgstr "Correção da distorção" #: src/nikonmn.cpp:1253 #, fuzzy msgid "Vibration reduction 2" msgstr "Correção da distorção" #: src/nikonmn.cpp:1257 #, fuzzy msgid "Unknown Nikon Shot Info Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:1268 #, fuzzy msgid "WB RBGG Levels" msgstr "Nível WB G" #: src/nikonmn.cpp:1268 #, fuzzy msgid "WB RBGG levels" msgstr "Nível WB G" #: src/nikonmn.cpp:1270 #, fuzzy msgid "Unknown Nikon Color Balance 1 Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 #, fuzzy msgid "WB RGGB Levels" msgstr "Nível WB G" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 #, fuzzy msgid "WB RGGB levels" msgstr "Nível WB G" #: src/nikonmn.cpp:1283 #, fuzzy msgid "Unknown Nikon Color Balance 2 Tag" msgstr "Etiqueta Nikon de foco automático 2 desconhecida" #: src/nikonmn.cpp:1296 #, fuzzy msgid "Unknown Nikon Color Balance 2a Tag" msgstr "Etiqueta Nikon de foco automático 2 desconhecida" #: src/nikonmn.cpp:1309 #, fuzzy msgid "Unknown Nikon Color Balance 2b Tag" msgstr "Etiqueta Nikon de foco automático 2 desconhecida" #: src/nikonmn.cpp:1320 #, fuzzy msgid "WB RGBG Levels" msgstr "Nível WB G" #: src/nikonmn.cpp:1320 #, fuzzy msgid "WB RGBG levels" msgstr "Nível WB G" #: src/nikonmn.cpp:1322 #, fuzzy msgid "Unknown Nikon Color Balance 3 Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:1333 #, fuzzy msgid "WB GRBG Levels" msgstr "Nível WB G" #: src/nikonmn.cpp:1333 #, fuzzy msgid "WB GRBG levels" msgstr "Nível WB G" #: src/nikonmn.cpp:1335 #, fuzzy msgid "Unknown Nikon Color Balance 4 Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID Number" msgstr "Número de série da lente" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID number" msgstr "Número de série da lente" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 msgid "Lens F-Stops" msgstr "" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 msgid "Lens F-stops" msgstr "" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 #, fuzzy msgid "Min Focal Length" msgstr "Lente focal" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 #, fuzzy msgid "Min focal length" msgstr "Comprimento do foco do Flash" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 #, fuzzy msgid "Max Focal Length" msgstr "Comprimento do foco do Flash" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 #, fuzzy msgid "Max focal length" msgstr "Comprimento do foco do Flash" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 #, fuzzy msgid "Max Aperture At Min Focal" msgstr "Abertura máxima em focal atual" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 #, fuzzy msgid "Max aperture at min focal" msgstr "Abertura máxima em focal atual" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 #, fuzzy msgid "Max Aperture At Max Focal" msgstr "Abertura máxima em focal atual" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 #, fuzzy msgid "Max aperture at max focal" msgstr "Abertura máxima em focal atual" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU Version" msgstr "Versão PLUS" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU version" msgstr "Versão PLUS" #: src/nikonmn.cpp:1354 #, fuzzy msgid "Unknown Nikon Lens Data 1 Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit Pupil Position" msgstr "" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit pupil position" msgstr "" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF Aperture" msgstr "Abertura automática" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF aperture" msgstr "Abertura automática" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective Max Aperture" msgstr "" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective max aperture" msgstr "" #: src/nikonmn.cpp:1379 #, fuzzy msgid "Unknown Nikon Lens Data 2 Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:1399 #, fuzzy msgid "Max aperture at min focal length" msgstr "Abertura máxima em focal atual" #: src/nikonmn.cpp:1400 #, fuzzy msgid "Max aperture at max focal length" msgstr "Abertura máxima em focal atual" #: src/nikonmn.cpp:1404 #, fuzzy msgid "Unknown Nikon Lens Data 3 Tag" msgstr "Etiqueta de informação do arquivo Nikon desconhecida" #: src/nikonmn.cpp:1590 #, fuzzy msgid "Closest subject" msgstr "Janelas de assuntos" #: src/nikonmn.cpp:1591 msgid "Group dynamic-AF" msgstr "" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "" #: src/nikonmn.cpp:1624 msgid "used" msgstr "" #: src/nikonmn.cpp:1650 msgid "All 11 Points" msgstr "" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 #, fuzzy msgid "Single-frame" msgstr "Alvo único" #: src/olympusmn.cpp:71 #, fuzzy msgid "Standard Quality (SQ)" msgstr "Padrão " #: src/olympusmn.cpp:72 msgid "High Quality (HQ)" msgstr "" #: src/olympusmn.cpp:73 msgid "Super High Quality (SHQ)" msgstr "" #: src/olympusmn.cpp:88 #, fuzzy msgid "On (preset)" msgstr "Ligado (2 quadros)" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 msgid "Sport" msgstr "" #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 msgid "Landscape+Portrait" msgstr "" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 #, fuzzy msgid "Self Portrait" msgstr "Retrato de cena noturna" #: src/olympusmn.cpp:102 msgid "2 in 1" msgstr "" #: src/olympusmn.cpp:105 #, fuzzy msgid "Night+Portrait" msgstr "Retrato de crepúsculo" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "" #: src/olympusmn.cpp:112 msgid "Documents" msgstr "" #: src/olympusmn.cpp:114 msgid "Shoot & Select" msgstr "" #: src/olympusmn.cpp:115 #, fuzzy msgid "Beach & Snow" msgstr "Surfe & neve" #: src/olympusmn.cpp:116 #, fuzzy msgid "Self Portrait+Timer" msgstr "Tempo do temporizador" #: src/olympusmn.cpp:117 msgid "Candle" msgstr "" #: src/olympusmn.cpp:118 #, fuzzy msgid "Available Light" msgstr "Luz de preenchimento" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "" #: src/olympusmn.cpp:120 #, fuzzy msgid "My Mode" msgstr "ID do modelo Sony" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 msgid "Pet" msgstr "Animal de Estimação" #: src/olympusmn.cpp:122 #, fuzzy msgid "Underwater Wide1" msgstr "Subaquática Largura2" #: src/olympusmn.cpp:123 #, fuzzy msgid "Underwater Macro" msgstr "Subaquática Largura2" #: src/olympusmn.cpp:124 msgid "Shoot & Select1" msgstr "" #: src/olympusmn.cpp:125 msgid "Shoot & Select2" msgstr "" #: src/olympusmn.cpp:127 #, fuzzy msgid "Digital Image Stabilization" msgstr "Identificador de imagem digital" #: src/olympusmn.cpp:128 #, fuzzy msgid "Auction" msgstr "Função principal" #: src/olympusmn.cpp:131 msgid "Underwater Wide2" msgstr "Subaquática Largura2" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "" #: src/olympusmn.cpp:135 #, fuzzy msgid "Nature Macro" msgstr "Natureza (cor)" #: src/olympusmn.cpp:136 #, fuzzy msgid "Underwater Snapshot" msgstr "Subaquática Largura2" #: src/olympusmn.cpp:137 msgid "Shooting Guide" msgstr "" #: src/olympusmn.cpp:145 msgid "Internal + External" msgstr "" #: src/olympusmn.cpp:176 msgid "Interlaced" msgstr "" #: src/olympusmn.cpp:177 msgid "Progressive" msgstr "" #: src/olympusmn.cpp:188 #, fuzzy msgid "Thumbnail Image" msgstr "Miniatura/mostrar imagem" #: src/olympusmn.cpp:189 #, fuzzy msgid "Thumbnail image" msgstr "Miniatura/mostrar imagem" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body Firmware Version" msgstr "Versão dos firmware do corpo" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body firmware version" msgstr "Versão dos firmware do corpo" #: src/olympusmn.cpp:195 #, fuzzy msgid "Special Mode" msgstr "Modo de trecho" #: src/olympusmn.cpp:196 #, fuzzy msgid "Picture taking mode" msgstr "Modo de imagem" #: src/olympusmn.cpp:204 msgid "Black & White Mode" msgstr "" #: src/olympusmn.cpp:205 msgid "Black and white mode" msgstr "" #: src/olympusmn.cpp:208 #, fuzzy msgid "Digital zoom ratio" msgstr "Razão de Zoom Digital." #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 #, fuzzy msgid "Focal Plane Diagonal" msgstr "Resolução x do Plano Focal" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 #, fuzzy msgid "Focal plane diagonal" msgstr "Resolução x do Plano Focal" #: src/olympusmn.cpp:213 #, fuzzy msgid "Lens Distortion Parameters" msgstr "Parâmetros de capitulação" #: src/olympusmn.cpp:214 #, fuzzy msgid "Lens distortion parameters" msgstr "Parâmetros de capitulação" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 #, fuzzy msgid "Camera Type" msgstr "Câmera TIFF" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 #, fuzzy msgid "Camera type" msgstr "Fabricante da câmera" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "" #: src/olympusmn.cpp:222 #, fuzzy msgid "Camera ID" msgstr "Câmera TIFF" #: src/olympusmn.cpp:223 #, fuzzy msgid "Camera ID data" msgstr "Fabricante da câmera" #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 #, fuzzy msgid "Preview Image" msgstr "Previsão da imagem" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 msgid "Preview image" msgstr "Previsão da imagem" #: src/olympusmn.cpp:237 #, fuzzy msgid "Pre Capture Frames" msgstr "Placa de nomes" #: src/olympusmn.cpp:238 #, fuzzy msgid "Pre-capture frames" msgstr "Placa de nomes" #: src/olympusmn.cpp:240 msgid "White Board" msgstr "Quadro branco" #: src/olympusmn.cpp:241 msgid "White board" msgstr "Quadro branco" #: src/olympusmn.cpp:243 #, fuzzy msgid "One Touch WB" msgstr "Equalizar níveis de branco" #: src/olympusmn.cpp:244 #, fuzzy msgid "One touch white balance" msgstr "Equalizar níveis de branco" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 msgid "White Balance Bracket" msgstr "Suporte de equilíbrio branco" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 msgid "White balance bracket" msgstr "Suporte de equilíbrio branco" #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 #, fuzzy msgid "Firmware" msgstr "Firmwarer" #: src/olympusmn.cpp:261 msgid "Data Dump 1" msgstr "" #: src/olympusmn.cpp:262 #, fuzzy msgid "Various camera settings 1" msgstr "Configuração de modo de foco" #: src/olympusmn.cpp:264 msgid "Data Dump 2" msgstr "" #: src/olympusmn.cpp:265 #, fuzzy msgid "Various camera settings 2" msgstr "Configuração de modo de foco" #: src/olympusmn.cpp:268 #, fuzzy msgid "Shutter speed value" msgstr "Velocidade do Obturador" #: src/olympusmn.cpp:271 #, fuzzy msgid "ISO speed value" msgstr "Velocidade do ISO" #: src/olympusmn.cpp:274 #, fuzzy msgid "Aperture value" msgstr "Máximo valor da abertura" #: src/olympusmn.cpp:277 #, fuzzy msgid "Brightness value" msgstr "Valor do Brilho" #: src/olympusmn.cpp:285 #, fuzzy msgid "Bracket" msgstr "Auto parênteses" #: src/olympusmn.cpp:286 #, fuzzy msgid "Exposure compensation value" msgstr "Compensação de exposição CM" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 #, fuzzy msgid "Sensor Temperature" msgstr "Temperatura da câmera" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 #, fuzzy msgid "Sensor temperature" msgstr "Temperatura da câmera" #: src/olympusmn.cpp:291 #, fuzzy msgid "Lens Temperature" msgstr "Temperatura da câmera" #: src/olympusmn.cpp:292 #, fuzzy msgid "Lens temperature" msgstr "Temperatura da câmera" #: src/olympusmn.cpp:294 msgid "Light Condition" msgstr "Condição de luz" #: src/olympusmn.cpp:295 msgid "Light condition" msgstr "Condição de luz" #: src/olympusmn.cpp:297 msgid "Focus Range" msgstr "Distância do foco" #: src/olympusmn.cpp:298 msgid "Focus range" msgstr "Alcance do foco" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 #, fuzzy msgid "Zoom step count" msgstr "Conta Passo do Zoom" #: src/olympusmn.cpp:309 #, fuzzy msgid "Macro Focus" msgstr "Foco panorâmico" #: src/olympusmn.cpp:310 #, fuzzy msgid "Macro focus step count" msgstr "Conta passo do foco" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 #, fuzzy msgid "Sharpness Factor" msgstr "Valor de nitidez" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 #, fuzzy msgid "Sharpness factor" msgstr "Valor de nitidez" #: src/olympusmn.cpp:315 #, fuzzy msgid "Flash Charge Level" msgstr "Versão da flash do firmware" #: src/olympusmn.cpp:316 #, fuzzy msgid "Flash charge level" msgstr "Filtro de cor do Flash" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 #, fuzzy msgid "Color Matrix" msgstr "Cor da matriz 2" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 #, fuzzy msgid "Color matrix" msgstr "Cor da matriz 2" #: src/olympusmn.cpp:321 #, fuzzy msgid "BlackLevel" msgstr "Nível de preto 2" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 #, fuzzy msgid "Black level" msgstr "Nível de preto 2" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 #, fuzzy msgid "White balance mode" msgstr "Modo de equilíbrio branco" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 #, fuzzy msgid "Red Balance" msgstr "Balanço de cor vermelho" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 #, fuzzy msgid "Red balance" msgstr "Balanço de cor vermelho" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 #, fuzzy msgid "Blue Balance" msgstr "Balanço de cor azul" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 #, fuzzy msgid "Blue balance" msgstr "Balanço de cor azul" #: src/olympusmn.cpp:342 msgid "Color Matrix Number" msgstr "Número de matriz da cor" #: src/olympusmn.cpp:343 #, fuzzy msgid "Color matrix number" msgstr "Número de matriz da cor" #: src/olympusmn.cpp:345 #, fuzzy msgid "Serial Number 2" msgstr "Número de série" #: src/olympusmn.cpp:346 #, fuzzy msgid "Serial number 2" msgstr "Número de série" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 #, fuzzy msgid "Flash exposure compensation" msgstr "Configurando compensação à exposição de Luz" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 #, fuzzy msgid "External Flash Bounce" msgstr "Flash Externo" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 #, fuzzy msgid "External flash bounce" msgstr "Número do guia de flash externo" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 #, fuzzy msgid "External Flash Zoom" msgstr "Flash Externo" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 #, fuzzy msgid "External flash zoom" msgstr "Flash Externo" #: src/olympusmn.cpp:387 #, fuzzy msgid "External Flash Mode" msgstr "Flash Externo" #: src/olympusmn.cpp:388 #, fuzzy msgid "External flash mode" msgstr "Firmware de Flash externo" #: src/olympusmn.cpp:396 #, fuzzy msgid "Color Control" msgstr "InformacaoCor" #: src/olympusmn.cpp:397 #, fuzzy msgid "Color control" msgstr "InformacaoCor" #: src/olympusmn.cpp:399 #, fuzzy msgid "ValidBits" msgstr "Bits válidos" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 #, fuzzy msgid "Valid bits" msgstr "Bits válidos" #: src/olympusmn.cpp:402 msgid "CoringFilter" msgstr "Filtro de núcleo" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 msgid "Coring filter" msgstr "Filtro de núcleo" #: src/olympusmn.cpp:423 msgid "Compression Ratio" msgstr "Taxa de compressão" #: src/olympusmn.cpp:424 #, fuzzy msgid "Compression ratio" msgstr "Taxa de compressão" #: src/olympusmn.cpp:427 #, fuzzy msgid "Preview image embedded" msgstr "Pré-visualizar bordas da imagem" #: src/olympusmn.cpp:430 #, fuzzy msgid "Offset of the preview image" msgstr "Comprimento de uma imagem prévia" #: src/olympusmn.cpp:433 #, fuzzy msgid "Size of the preview image" msgstr "Comprimento de uma imagem prévia" #: src/olympusmn.cpp:435 msgid "CCD Scan Mode" msgstr "" #: src/olympusmn.cpp:436 msgid "CCD scan mode" msgstr "" #: src/olympusmn.cpp:441 msgid "Infinity Lens Step" msgstr "" #: src/olympusmn.cpp:442 msgid "Infinity lens step" msgstr "" #: src/olympusmn.cpp:444 msgid "Near Lens Step" msgstr "" #: src/olympusmn.cpp:445 msgid "Near lens step" msgstr "" #: src/olympusmn.cpp:447 msgid "Equipment Info" msgstr "" #: src/olympusmn.cpp:448 #, fuzzy msgid "Camera equipment sub-IFD" msgstr "Desenvolvimento cru secundário-IFD" #: src/olympusmn.cpp:451 #, fuzzy msgid "Camera Settings sub-IFD" msgstr "Processamento de imagem secundário-IFD" #: src/olympusmn.cpp:453 msgid "Raw Development" msgstr "Desenvolvimento cru" #: src/olympusmn.cpp:454 msgid "Raw development sub-IFD" msgstr "Desenvolvimento cru secundário-IFD" #: src/olympusmn.cpp:456 msgid "Raw Development 2" msgstr "Desenvolvimento cru 2" #: src/olympusmn.cpp:457 msgid "Raw development 2 sub-IFD" msgstr "Desenvolvimento Simples sub-IFD" #: src/olympusmn.cpp:460 msgid "Image processing sub-IFD" msgstr "Processamento de imagem secundário-IFD" #: src/olympusmn.cpp:462 #, fuzzy msgid "Focus Info" msgstr "Informação da versão do foco" #: src/olympusmn.cpp:463 #, fuzzy msgid "Focus sub-IFD" msgstr "Sub-IFD cru" #: src/olympusmn.cpp:465 msgid "Raw Info" msgstr "Informação cru" #: src/olympusmn.cpp:466 msgid "Raw sub-IFD" msgstr "Sub-IFD cru" #: src/olympusmn.cpp:470 #, fuzzy msgid "Unknown OlympusMakerNote tag" msgstr "Etiqueta OlympusFe desconhecida" #: src/olympusmn.cpp:486 #, fuzzy msgid "Program-shift" msgstr "Programar delocamento TV" #: src/olympusmn.cpp:491 #, fuzzy msgid "Center-weighted average" msgstr "Centro com aumento de peso" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "" #: src/olympusmn.cpp:494 msgid "Pattern+AF" msgstr "Padrão+AF" #: src/olympusmn.cpp:495 msgid "Spot+Highlight control" msgstr "" #: src/olympusmn.cpp:496 #, fuzzy msgid "Spot+Shadow control" msgstr "Coloração da Sombra" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 #, fuzzy msgid "Single AF" msgstr "Alvo único" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 msgid "Multi AF" msgstr "" #: src/olympusmn.cpp:517 msgid "AF Not Used" msgstr "" #: src/olympusmn.cpp:518 msgid "AF Used" msgstr "" #: src/olympusmn.cpp:523 #, fuzzy msgid "Not Ready" msgstr "Não possui índice" #: src/olympusmn.cpp:524 msgid "Ready" msgstr "" #: src/olympusmn.cpp:531 msgid "Fill-in" msgstr "" #: src/olympusmn.cpp:533 #, fuzzy msgid "Slow-sync" msgstr "Ligado, baixa sincronização" #: src/olympusmn.cpp:534 msgid "Forced On" msgstr "" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "Segunda Cortina" #: src/olympusmn.cpp:541 msgid "Channel 1, Low" msgstr "Canal 1, baixo" #: src/olympusmn.cpp:542 msgid "Channel 2, Low" msgstr "Canal 2, baixo" #: src/olympusmn.cpp:543 msgid "Channel 3, Low" msgstr "Canal 3, baixo" #: src/olympusmn.cpp:544 msgid "Channel 4, Low" msgstr "Canal 4, baixo" #: src/olympusmn.cpp:545 msgid "Channel 1, Mid" msgstr "Canal 1, médio" #: src/olympusmn.cpp:546 msgid "Channel 2, Mid" msgstr "Canal 2, médio" #: src/olympusmn.cpp:547 msgid "Channel 3, Mid" msgstr "Canal 3, médio" #: src/olympusmn.cpp:548 msgid "Channel 4, Mid" msgstr "Canal 4, médio" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "Canal 1, alto" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "Canal 2, alto" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "Canal 3, alto" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "Canal 4, alto" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "" #: src/olympusmn.cpp:567 msgid "7500K (Fine Weather with Shade)" msgstr "" #: src/olympusmn.cpp:568 #, fuzzy msgid "6000K (Cloudy)" msgstr "Auto (Nublado)" #: src/olympusmn.cpp:569 #, fuzzy msgid "5300K (Fine Weather)" msgstr "Bom tempo" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 msgid "3600K (Tungsten light-like)" msgstr "" #: src/olympusmn.cpp:572 #, fuzzy msgid "Auto Setup" msgstr "Abertura automática" #: src/olympusmn.cpp:573 msgid "5500K (Flash)" msgstr "" #: src/olympusmn.cpp:574 #, fuzzy msgid "6600K (Daylight fluorescent)" msgstr "FluorescenciaLuzDiurna" #: src/olympusmn.cpp:575 #, fuzzy msgid "4500K (Neutral white fluorescent)" msgstr "Níveis WB_RB com fluorescência branca" #: src/olympusmn.cpp:576 #, fuzzy msgid "4000K (Cool white fluorescent)" msgstr "Fluorescente branca fria" #: src/olympusmn.cpp:577 #, fuzzy msgid "White Fluorescent" msgstr "FluorescenciaBranca" #: src/olympusmn.cpp:580 #, fuzzy msgid "One Touch WB 1" msgstr "Equalizar níveis de branco" #: src/olympusmn.cpp:581 #, fuzzy msgid "One Touch WB 2" msgstr "Equalizar níveis de branco" #: src/olympusmn.cpp:582 #, fuzzy msgid "One Touch WB 3" msgstr "Equalizar níveis de branco" #: src/olympusmn.cpp:583 #, fuzzy msgid "One Touch WB 4" msgstr "Equalizar níveis de branco" #: src/olympusmn.cpp:584 #, fuzzy msgid "Custom WB 1" msgstr "Personalizar 1-4" #: src/olympusmn.cpp:585 #, fuzzy msgid "Custom WB 2" msgstr "Nível vermelho WB personalizado" #: src/olympusmn.cpp:586 #, fuzzy msgid "Custom WB 3" msgstr "Nível vermelho WB personalizado" #: src/olympusmn.cpp:587 #, fuzzy msgid "Custom WB 4" msgstr "Personalizar 1-4" #: src/olympusmn.cpp:593 msgid "CM1 (Red Enhance)" msgstr "" #: src/olympusmn.cpp:594 msgid "CM2 (Green Enhance)" msgstr "" #: src/olympusmn.cpp:595 msgid "CM3 (Blue Enhance)" msgstr "" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "CM4 (Tons de Pele)" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "Foto RGB Profissional" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 #, fuzzy msgid "Noise Filter" msgstr "Filtro de ruído" #: src/olympusmn.cpp:610 #, fuzzy msgid "Noise Filter (ISO Boost)" msgstr "Filtro de ruído PM" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 msgid "Muted" msgstr "" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 msgid "Monotone" msgstr "" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "" #: src/olympusmn.cpp:648 msgid "SHQ" msgstr "" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 msgid "On, Mode 1" msgstr "Ligado, modo 1" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 msgid "On, Mode 2" msgstr "Ligado, modo 2" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 msgid "On, Mode 3" msgstr "Ligado, modo 3" #: src/olympusmn.cpp:661 #, fuzzy msgid "Camera Settings Version" msgstr "Câmera no modo de disparo" #: src/olympusmn.cpp:661 #, fuzzy msgid "Camera settings version" msgstr "Câmera no modo de disparo" #: src/olympusmn.cpp:662 #, fuzzy msgid "PreviewImage Valid" msgstr "Tamanho da imagem visualizada" #: src/olympusmn.cpp:662 #, fuzzy msgid "Preview image valid" msgstr "Previsão da imagem" #: src/olympusmn.cpp:663 #, fuzzy msgid "PreviewImage Start" msgstr "Tamanho da imagem visualizada" #: src/olympusmn.cpp:663 #, fuzzy msgid "Preview image start" msgstr "Previsão da imagem" #: src/olympusmn.cpp:664 #, fuzzy msgid "PreviewImage Length" msgstr "Tamanho da imagem visualizada" #: src/olympusmn.cpp:664 #, fuzzy msgid "Preview image length" msgstr "Tamanho da imagem visualizada" #: src/olympusmn.cpp:666 #, fuzzy msgid "Auto exposure lock" msgstr "Bloquear exposição de flash" #: src/olympusmn.cpp:668 msgid "Exposure Shift" msgstr "Deslocamento da exposição" #: src/olympusmn.cpp:668 msgid "Exposure shift" msgstr "Deslocamento da exposição" #: src/olympusmn.cpp:671 #, fuzzy msgid "Focus Process" msgstr "Processo gradual" #: src/olympusmn.cpp:671 #, fuzzy msgid "Focus process" msgstr "Processo gradual" #: src/olympusmn.cpp:672 msgid "AF Search" msgstr "" #: src/olympusmn.cpp:672 #, fuzzy msgid "AF search" msgstr "Sensor AF" #: src/olympusmn.cpp:673 msgid "AF Areas" msgstr "Áreas AF" #: src/olympusmn.cpp:673 msgid "AF areas" msgstr "Áreas AF" #: src/olympusmn.cpp:674 msgid "AFPointSelected" msgstr "SeleçãoDePontoAF" #: src/olympusmn.cpp:675 msgid "AF Fine Tune Adjust" msgstr "Ajuste de afinação AF" #: src/olympusmn.cpp:675 msgid "AF fine tune adjust" msgstr "Ajuste de afinação aF" #: src/olympusmn.cpp:678 msgid "Flash Remote Control" msgstr "Controle remoto do Flash" #: src/olympusmn.cpp:678 msgid "Flash remote control" msgstr "Controle remoto do Flash" #: src/olympusmn.cpp:679 msgid "Flash Control Mode" msgstr "Modo de controle do Flash" #: src/olympusmn.cpp:679 msgid "Flash control mode" msgstr "Modo de controle do Flash" #: src/olympusmn.cpp:680 msgid "Flash Intensity" msgstr "Intensidade do Flash" #: src/olympusmn.cpp:680 msgid "Flash intensity" msgstr "Intensidade do Flash" #: src/olympusmn.cpp:681 msgid "Manual Flash Strength" msgstr "Intensidade do Flash manual" #: src/olympusmn.cpp:681 msgid "Manual flash strength" msgstr "Intensidade do Flash manual" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 msgid "White Balance 2" msgstr "Balanço de branco 2" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 msgid "White balance 2" msgstr "Balanço de branco 2" #: src/olympusmn.cpp:683 #, fuzzy msgid "White Balance Temperature" msgstr "Temperatura de equilíbrio do branco" #: src/olympusmn.cpp:683 msgid "White balance temperature" msgstr "Temperatura de equilíbrio do branco" #: src/olympusmn.cpp:685 #, fuzzy msgid "Custom Saturation" msgstr "Saturação CM" #: src/olympusmn.cpp:685 #, fuzzy msgid "Custom saturation" msgstr "Saturação CM" #: src/olympusmn.cpp:686 #, fuzzy msgid "Modified Saturation" msgstr "Saturação de vermelho" #: src/olympusmn.cpp:686 #, fuzzy msgid "Modified saturation" msgstr "Saturação CM" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 #, fuzzy msgid "Contrast Setting" msgstr "Tem ajuste" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 #, fuzzy msgid "Sharpness Setting" msgstr "Tem ajuste" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 #, fuzzy msgid "Distortion Correction" msgstr "Correção da distorção" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion correction" msgstr "Correção da distorção" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 msgid "Shading Compensation" msgstr "Compensação de sombreamento" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 msgid "Shading compensation" msgstr "Compensação de sombreamento" #: src/olympusmn.cpp:694 msgid "Compression Factor" msgstr "Fator de compressão" #: src/olympusmn.cpp:694 msgid "Compression factor" msgstr "Fator de compressão" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 msgid "Gradation" msgstr "Transição gradual" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 msgid "Picture mode" msgstr "Modo de imagem" #: src/olympusmn.cpp:697 msgid "Picture Mode Saturation" msgstr "Modo de saturação da imagem" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 msgid "Picture mode saturation" msgstr "Modo de saturação da imagem" #: src/olympusmn.cpp:698 msgid "Picture Mode Hue" msgstr "Modo de matiz da imagem" #: src/olympusmn.cpp:698 msgid "Picture mode hue" msgstr "Modo de matiz da imagem" #: src/olympusmn.cpp:699 msgid "Picture Mode Contrast" msgstr "Modo de contraste da imagem" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 msgid "Picture mode contrast" msgstr "Modo de contraste da imagem" #: src/olympusmn.cpp:700 msgid "Picture Mode Sharpness" msgstr "Modo de nitidez de imagem" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 msgid "Picture mode sharpness" msgstr "Modo de nitidez de imagem" #: src/olympusmn.cpp:701 msgid "Picture Mode BW Filter" msgstr "Filtro de imagem modo preto e branco" #: src/olympusmn.cpp:701 msgid "Picture mode BW filter" msgstr "Filtro de imagem modo preto e branco" #: src/olympusmn.cpp:702 msgid "Picture Mode Tone" msgstr "Modo tom de imagem" #: src/olympusmn.cpp:702 msgid "Picture mode tone" msgstr "Modo tom de imagem" #: src/olympusmn.cpp:703 msgid "Noise filter" msgstr "Filtro de ruído" #: src/olympusmn.cpp:704 msgid "Art Filter" msgstr "Filtro de arte" #: src/olympusmn.cpp:704 msgid "Art filter" msgstr "Filtro de arte" #: src/olympusmn.cpp:705 msgid "Magic Filter" msgstr "Filtro mágico" #: src/olympusmn.cpp:705 msgid "Magic filter" msgstr "Filtro mágico" #: src/olympusmn.cpp:707 msgid "Panorama Mode" msgstr "Modo panorâmico" #: src/olympusmn.cpp:707 msgid "Panorama mode" msgstr "Modo panorâmico" #: src/olympusmn.cpp:708 #, fuzzy msgid "Image Quality 2" msgstr "Configuração de qualidade de imagem" #: src/olympusmn.cpp:708 #, fuzzy msgid "Image quality 2" msgstr "Configuração de qualidade de imagem" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer Pressure" msgstr "Pressão do manômetro" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer pressure" msgstr "Pressão do manômetro" #: src/olympusmn.cpp:711 msgid "Manometer Reading" msgstr "Leitura do manômetro" #: src/olympusmn.cpp:711 msgid "Manometer reading" msgstr "Leitura do manômetro" #: src/olympusmn.cpp:712 msgid "Extended WB Detect" msgstr "Detectar extensão de branco e preto" #: src/olympusmn.cpp:712 msgid "Extended WB detect" msgstr "Detectar extensão de branco e preto" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "Lançador indicador de nível" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "Lançador indicador de nível" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "Tonalidade indicadora de nível" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "Tonalidade indicadora de nível" #: src/olympusmn.cpp:716 msgid "Unknown OlympusCs tag" msgstr "etiqueta OlympusCs desconhecido" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "E-Sistema simples" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "E-Sistema" #: src/olympusmn.cpp:745 #, fuzzy msgid "Equipment Version" msgstr "Versão de desenvolvimento bruta" #: src/olympusmn.cpp:745 #, fuzzy msgid "Equipment version" msgstr "Versão de desenvolvimento bruta" #: src/olympusmn.cpp:747 #, fuzzy msgid "Serial number" msgstr "Número de série" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 msgid "Lens Serial Number" msgstr "Número de série da lente" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 msgid "Lens serial number" msgstr "Número de série da lente" #: src/olympusmn.cpp:754 msgid "Lens Firmware Version" msgstr "Versão dos firmware da lente" #: src/olympusmn.cpp:754 msgid "Lens firmware version" msgstr "Versão dos firmware da lente" #: src/olympusmn.cpp:759 msgid "Max Aperture At Current Focal" msgstr "Abertura máxima em focal atual" #: src/olympusmn.cpp:759 msgid "Max aperture at current focal" msgstr "Abertura máxima em focal atual" #: src/olympusmn.cpp:760 msgid "Lens Properties" msgstr "" #: src/olympusmn.cpp:760 msgid "Lens properties" msgstr "" #: src/olympusmn.cpp:761 #, fuzzy msgid "Extender" msgstr "Modelo de extensor" #: src/olympusmn.cpp:762 msgid "Extender Serial Number" msgstr "Estender número de serial" #: src/olympusmn.cpp:762 msgid "Extender serial number" msgstr "Estender número de serial" #: src/olympusmn.cpp:763 msgid "Extender Model" msgstr "Modelo de extensor" #: src/olympusmn.cpp:763 msgid "Extender model" msgstr "Modelo de extensor" #: src/olympusmn.cpp:764 msgid "Extender Firmware Version" msgstr "Versão do extensor de firmware" #: src/olympusmn.cpp:764 msgid "Extender firmwareversion" msgstr "Versão do extensor de firmware" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion Lens" msgstr "Lentes de Conversão" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion lens" msgstr "Lentes de conversão" #: src/olympusmn.cpp:767 src/properties.cpp:402 msgid "Flash Model" msgstr "Modelo de luz" #: src/olympusmn.cpp:767 msgid "Flash model" msgstr "Flash Model" #: src/olympusmn.cpp:768 msgid "Flash Firmware Version" msgstr "Versão da flash do firmware" #: src/olympusmn.cpp:768 msgid "Flash firmware version" msgstr "Versão da flash do firmware" #: src/olympusmn.cpp:769 msgid "FlashSerialNumber" msgstr "Número serial da flash" #: src/olympusmn.cpp:771 msgid "Unknown OlympusEq tag" msgstr "Etiqueta OlympusEq desconhecido" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 #, fuzzy msgid "High Speed" msgstr "Velocidade principal avançada" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 msgid "High Function" msgstr "Função principal" #: src/olympusmn.cpp:790 msgid "Advanced High Speed" msgstr "Velocidade principal avançada" #: src/olympusmn.cpp:791 msgid "Advanced High Function" msgstr "Função principal avançada" #: src/olympusmn.cpp:796 msgid "Original" msgstr "" #: src/olympusmn.cpp:797 #, fuzzy msgid "Edited (Landscape)" msgstr "Auto PICT (Paisagem)" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 #, fuzzy msgid "Edited (Portrait)" msgstr "Auto PICT (Retrato)" #: src/olympusmn.cpp:804 msgid "WB Color Temp" msgstr "Temporizador de cor PB" #: src/olympusmn.cpp:805 msgid "WB Gray Point" msgstr "Ajuste de cinza PB" #: src/olympusmn.cpp:815 msgid "Raw Development Version" msgstr "Versão de desenvolvimento bruta" #: src/olympusmn.cpp:815 msgid "Raw development version" msgstr "Versão de desenvolvimento bruta" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 msgid "Exposure Bias Value" msgstr "Valor de ajuste da exposição" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 msgid "Exposure bias value" msgstr "Valor de orientação diagonal" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White Balance Value" msgstr "Valor de equilíbrio branco" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White balance value" msgstr "Valor do Balanço de Branco" #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 msgid "WB Fine Adjustment" msgstr "Ajuste de nitidez" #: src/olympusmn.cpp:818 msgid "WB fine adjustment" msgstr "Ajuste fino do Balanço de Branco" #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 msgid "Gray Point" msgstr "Ponto cinza" #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 msgid "Gray point" msgstr "Ponto cinza" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation Emphasis" msgstr "Ênfase na saturação" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation emphasis" msgstr "Ênfase na saturação" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory Color Emphasis" msgstr "Ênfase na cor da memória" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory color emphasis" msgstr "Ênfase na cor da memória" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 #, fuzzy msgid "Contrast Value" msgstr "Valores do núcleo" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 #, fuzzy msgid "Contrast value" msgstr "Valores do núcleo" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness Value" msgstr "Valor de nitidez" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness value" msgstr "Valor de nitidez" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 msgid "Engine" msgstr "" #: src/olympusmn.cpp:827 msgid "Edit status" msgstr "" #: src/olympusmn.cpp:828 #, fuzzy msgid "Settings" msgstr "Tem ajuste" #: src/olympusmn.cpp:830 msgid "Unknown OlympusRd tag" msgstr "Etiqueta OlympusRd Desconhecida" #: src/olympusmn.cpp:885 msgid "Raw Development 2 Version" msgstr "Segunda Versão de Desenvolvimento Bruta" #: src/olympusmn.cpp:885 msgid "Raw development 2 version" msgstr "Segunda versão de desenvolvimento bruta" #: src/olympusmn.cpp:889 msgid "White balance fine adjustment" msgstr "Ajuste fino de equilíbrio do branco" #: src/olympusmn.cpp:899 msgid "PM Saturation" msgstr "Saturação PM" #: src/olympusmn.cpp:900 msgid "PM Contrast" msgstr "Contraste PM" #: src/olympusmn.cpp:901 msgid "PM Sharpness" msgstr "Nitidiz PM" #: src/olympusmn.cpp:902 msgid "PM BW Filter" msgstr "Filtro preto e branco PM" #: src/olympusmn.cpp:902 msgid "PM BW filter" msgstr "Filtro preto e branco PM" #: src/olympusmn.cpp:903 msgid "PM Picture Tone" msgstr "Tonalidade de imagem PM" #: src/olympusmn.cpp:903 msgid "PM picture tone" msgstr "Tonalidade de imagem PM" #: src/olympusmn.cpp:906 msgid "Auto Gradation" msgstr "Gradação automática" #: src/olympusmn.cpp:906 msgid "Auto gradation" msgstr "Gradação automática" #: src/olympusmn.cpp:907 msgid "PM Noise Filter" msgstr "Filtro de ruído PM" #: src/olympusmn.cpp:907 msgid "Picture mode noise filter" msgstr "Filtro de ruído no modo imagem" #: src/olympusmn.cpp:909 msgid "Unknown OlympusRd2 tag" msgstr "Etiqueta OlympusRd2 Desconhecida" #: src/olympusmn.cpp:920 msgid "On (2 frames)" msgstr "Ligado (2 quadros)" #: src/olympusmn.cpp:921 msgid "On (3 frames)" msgstr "Ligado (3 quadros)" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image Processing Version" msgstr "Processamento de imagem secundário-IFD" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image processing version" msgstr "Processamento de imagem secundário-IFD" #: src/olympusmn.cpp:940 msgid "WB RB Levels 3000K" msgstr "Níveis WB RB 3000K" #: src/olympusmn.cpp:940 msgid "WB RB levels 3000K" msgstr "Níveis WB RB 3000K" #: src/olympusmn.cpp:941 msgid "WB RB Levels 3300K" msgstr "Níveis WB RB 3300K" #: src/olympusmn.cpp:941 msgid "WB RB levels 3300K" msgstr "Níveis WB RB 3300K" #: src/olympusmn.cpp:942 msgid "WB RB Levels 3600K" msgstr "Níveis WB RB 3600K" #: src/olympusmn.cpp:942 msgid "WB RB levels 3600K" msgstr "Níveis WB RB 3600K" #: src/olympusmn.cpp:943 msgid "WB RB Levels 3900K" msgstr "Níveis WB RB 3900K" #: src/olympusmn.cpp:943 msgid "WB RB levels 3900K" msgstr "Níveis WB RB 3900K" #: src/olympusmn.cpp:944 msgid "WB RB Levels 4000K" msgstr "Níveis WB RB 4000K" #: src/olympusmn.cpp:944 msgid "WB RB levels 4000K" msgstr "Níveis WB RB 4000K" #: src/olympusmn.cpp:945 msgid "WB RB Levels 4300K" msgstr "Níveis WB RB 4300K" #: src/olympusmn.cpp:945 msgid "WB RB levels 4300K" msgstr "Níveis WB RB 4300K" #: src/olympusmn.cpp:946 msgid "WB RB Levels 4500K" msgstr "Níveis WB RB 4500K" #: src/olympusmn.cpp:946 msgid "WB RB levels 4500K" msgstr "Níveis WB RB 4500K" #: src/olympusmn.cpp:947 msgid "WB RB Levels 4800K" msgstr "Níveis WB RB 4800K" #: src/olympusmn.cpp:947 msgid "WB RB levels 4800K" msgstr "Níveis WB RB 4800K" #: src/olympusmn.cpp:948 msgid "WB RB Levels 5300K" msgstr "Níveis WB RB 5300K" #: src/olympusmn.cpp:948 msgid "WB RB levels 5300K" msgstr "Níveis WB RB 5300K" #: src/olympusmn.cpp:949 msgid "WB RB Levels 6000K" msgstr "Níveis WB RB 6000K" #: src/olympusmn.cpp:949 msgid "WB RB levels 6000K" msgstr "Níveis WB RB 6000K" #: src/olympusmn.cpp:950 msgid "WB RB Levels 6600K" msgstr "Níveis WB RB 6600K" #: src/olympusmn.cpp:950 msgid "WB RB levels 6600K" msgstr "Níveis WB RB 6600K" #: src/olympusmn.cpp:951 msgid "WB RB Levels 7500K" msgstr "Níveis WB RB 7500K" #: src/olympusmn.cpp:951 msgid "WB RB levels 7500K" msgstr "Níveis WB RB 7500K" #: src/olympusmn.cpp:952 msgid "WB RB Levels CWB1" msgstr "Níveis WB RB CWB1" #: src/olympusmn.cpp:952 msgid "WB RB levels CWB1" msgstr "Níveis WB RB CWB1" #: src/olympusmn.cpp:953 msgid "WB RB Levels CWB2" msgstr "Níveis WB RB CWB2" #: src/olympusmn.cpp:953 msgid "WB RB levels CWB2" msgstr "Níveis WB RB CWB2" #: src/olympusmn.cpp:954 msgid "WB RB Levels CWB3" msgstr "Níveis WB RB CWB3" #: src/olympusmn.cpp:954 msgid "WB RB levels CWB3" msgstr "Níveis WB RB CWB3" #: src/olympusmn.cpp:955 msgid "WB RB Levels CWB4" msgstr "Níveis WB RB CWB4" #: src/olympusmn.cpp:955 msgid "WB RB levels CWB4" msgstr "Níveis WB RB CWB4" #: src/olympusmn.cpp:956 msgid "WB G Level 3000K" msgstr "Nível WB G 300K" #: src/olympusmn.cpp:956 msgid "WB G level 3000K" msgstr "Nível WB G 300K" #: src/olympusmn.cpp:957 msgid "WB G Level 3300K" msgstr "Nível WB G 3300K" #: src/olympusmn.cpp:957 msgid "WB G level 3300K" msgstr "Nível WB G 3300K" #: src/olympusmn.cpp:958 msgid "WB G Level 3600K" msgstr "Nível WB G 3600K" #: src/olympusmn.cpp:958 msgid "WB G level 3600K" msgstr "Nível WB G 3600K" #: src/olympusmn.cpp:959 msgid "WB G Level 3900K" msgstr "Nível WB G 3900K" #: src/olympusmn.cpp:959 msgid "WB G level 3900K" msgstr "Nível WB G 3900K" #: src/olympusmn.cpp:960 msgid "WB G Level 4000K" msgstr "Nível WB G 4000K" #: src/olympusmn.cpp:960 msgid "WB G level 4000K" msgstr "Nível WB G 4000K" #: src/olympusmn.cpp:961 msgid "WB G Level 4300K" msgstr "Nível WB G 4300K" #: src/olympusmn.cpp:961 msgid "WB G level 4300K" msgstr "Nível WB G 4300K" #: src/olympusmn.cpp:962 msgid "WB G Level 4500K" msgstr "Nível WB G 4500K" #: src/olympusmn.cpp:962 msgid "WB G level 4500K" msgstr "Nível WB G 4500K" #: src/olympusmn.cpp:963 msgid "WB G Level 4800K" msgstr "Nível WB G 4800K" #: src/olympusmn.cpp:963 msgid "WB G level 4800K" msgstr "Nível WB G 4800K" #: src/olympusmn.cpp:964 msgid "WB G Level 5300K" msgstr "Nível WB G 5300K" #: src/olympusmn.cpp:964 msgid "WB G level 5300K" msgstr "Nível WB G 5300K" #: src/olympusmn.cpp:965 msgid "WB G Level 6000K" msgstr "Nível WB G 6000K" #: src/olympusmn.cpp:965 msgid "WB G level 6000K" msgstr "Nível WB G 6000K" #: src/olympusmn.cpp:966 msgid "WB G Level 6600K" msgstr "Nível WB G 6600K" #: src/olympusmn.cpp:966 msgid "WB G level 6600K" msgstr "Nível WB G 6600K" #: src/olympusmn.cpp:967 msgid "WB G Level 7500K" msgstr "Nível WB G 7500K" #: src/olympusmn.cpp:967 msgid "WB G level 7500K" msgstr "Nível WB G 7500K" #: src/olympusmn.cpp:968 msgid "WB G Level" msgstr "Nível WB G" #: src/olympusmn.cpp:968 msgid "WB G level" msgstr "Nível WB G" #: src/olympusmn.cpp:970 msgid "Enhancer" msgstr "Potenciador" #: src/olympusmn.cpp:971 msgid "Enhancer Values" msgstr "Ajustar potenciador" #: src/olympusmn.cpp:971 msgid "Enhancer values" msgstr "Ajustar potenciador" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 msgid "Coring Filter" msgstr "Filtrar núcleo" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 msgid "Coring Values" msgstr "Valores do núcleo" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 msgid "Coring values" msgstr "Valores do núcleo" #: src/olympusmn.cpp:974 src/tags.cpp:915 #, fuzzy msgid "Black Level" msgstr "Nível de preto 2" #: src/olympusmn.cpp:975 msgid "Gain Base" msgstr "Base de ganho" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "Base de ganho" #: src/olympusmn.cpp:976 msgid "Valid Bits" msgstr "Bits válidos" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 msgid "Crop Left" msgstr "Cortar à esquerda" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 msgid "Crop left" msgstr "Cortar à direita" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 msgid "Crop Top" msgstr "Cortar ao topo" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 msgid "Crop top" msgstr "Cortar ao topo" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 msgid "Crop Width" msgstr "Cortar largura" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 msgid "Crop width" msgstr "Cortar largura" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 msgid "Crop Height" msgstr "Cortar altura" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 msgid "Crop height" msgstr "Cortar altura" #: src/olympusmn.cpp:984 msgid "Multiple Exposure Mode" msgstr "Modo de exposição múltipla" #: src/olympusmn.cpp:984 msgid "Multiple exposure mode" msgstr "Modo de exposição múltipla" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 msgid "Aspect Ratio" msgstr "Taxa de proporção" #: src/olympusmn.cpp:985 msgid "Aspect ratio" msgstr "Taxa de proporção" #: src/olympusmn.cpp:986 msgid "Aspect Frame" msgstr "Moldura proporcional" #: src/olympusmn.cpp:986 msgid "Aspect frame" msgstr "Quadro proporcional" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 #, fuzzy msgid "Face Detect" msgstr "Face detectada" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 #, fuzzy msgid "Face detect" msgstr "Face detectada" #: src/olympusmn.cpp:988 #, fuzzy msgid "Face Detect Area" msgstr "Face detectada" #: src/olympusmn.cpp:988 #, fuzzy msgid "Face detect area" msgstr "Face detectada" #: src/olympusmn.cpp:990 msgid "Unknown OlympusIp tag" msgstr "Etiqueta OlimpusIP Desconhecida" #: src/olympusmn.cpp:1000 msgid "Bounce or Off" msgstr "Quicar ou desligar" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "" #: src/olympusmn.cpp:1005 msgid "Focus Info Version" msgstr "Informação da versão do foco" #: src/olympusmn.cpp:1005 msgid "Focus info version" msgstr "Informação da versão do foco" #: src/olympusmn.cpp:1006 msgid "Auto Focus" msgstr "Auto-focar" #: src/olympusmn.cpp:1007 #, fuzzy msgid "Scene Detect" msgstr "Detecta dados da cena" #: src/olympusmn.cpp:1007 #, fuzzy msgid "Scene detect" msgstr "Detecta dados da cena" #: src/olympusmn.cpp:1008 msgid "Scene Area" msgstr "Área de cena" #: src/olympusmn.cpp:1008 msgid "Scene area" msgstr "Área de cena" #: src/olympusmn.cpp:1009 msgid "Scene Detect Data" msgstr "Detecta dados da cena" #: src/olympusmn.cpp:1009 msgid "Scene detect data" msgstr "Detecta dados da cena" #: src/olympusmn.cpp:1010 msgid "Zoom Step Count" msgstr "Conta Passo do Zoom" #: src/olympusmn.cpp:1011 msgid "Focus Step Count" msgstr "Conta passo do zoom" #: src/olympusmn.cpp:1011 msgid "Focus step count" msgstr "Conta passo do foco" #: src/olympusmn.cpp:1012 msgid "Focus Step Infinity" msgstr "Passa para Foco infinito" #: src/olympusmn.cpp:1012 msgid "Focus step infinity" msgstr "Passa para Foco infinito" #: src/olympusmn.cpp:1013 msgid "Focus Step Near" msgstr "Passo proximo ao foco" #: src/olympusmn.cpp:1013 msgid "Focus step near" msgstr "Passo proximo ao foco" #: src/olympusmn.cpp:1016 msgid "External Flash" msgstr "Flash Externo" #: src/olympusmn.cpp:1017 msgid "External Flash Guide Number" msgstr "Número do guia de flash externo" #: src/olympusmn.cpp:1017 msgid "External flash guide number" msgstr "Número do guia de flash externo" #: src/olympusmn.cpp:1021 msgid "Manual Flash" msgstr "Flash manual" #: src/olympusmn.cpp:1021 msgid "Manual flash" msgstr "Flash manual" #: src/olympusmn.cpp:1025 msgid "Unknown OlympusFi tag" msgstr "Etiqueta OlympusFi desconhecida" #: src/olympusmn.cpp:1036 msgid "Unknown OlympusFe tag" msgstr "Etiqueta OlympusFe desconhecida" #: src/olympusmn.cpp:1049 msgid "Fine Weather" msgstr "Bom tempo" #: src/olympusmn.cpp:1050 msgid "Tungsten (incandescent)" msgstr "Tungstênio (incandescente)" #: src/olympusmn.cpp:1051 msgid "Evening Sunlight" msgstr "Entardecer ensolarado" #: src/olympusmn.cpp:1052 msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "Fluorescente luz-do-dia (D 5700 - 7100K)" #: src/olympusmn.cpp:1053 msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "Lâmpada fluorescente (N 4600 - 5400K)" #: src/olympusmn.cpp:1054 msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "Fluorescente fresco (W 3900 - 4500K)" #: src/olympusmn.cpp:1055 msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "Flourescente branco (WW 3200 - 3700K)" #: src/olympusmn.cpp:1056 msgid "One Touch White Balance" msgstr "Equalizar níveis de branco" #: src/olympusmn.cpp:1057 msgid "Custom 1-4" msgstr "Personalizar 1-4" #: src/olympusmn.cpp:1061 msgid "Raw Info Version" msgstr "Versão da informação primária" #: src/olympusmn.cpp:1061 msgid "Raw info version" msgstr "Versão da informação primária" #: src/olympusmn.cpp:1062 msgid "WB_RB Levels Used" msgstr "Níveis WB_RB usados" #: src/olympusmn.cpp:1062 msgid "WB_RB levels used" msgstr "Níveis WB_RB usados" #: src/olympusmn.cpp:1063 msgid "WB_RB Levels Auto" msgstr "Níveis WB_RB automáticos" #: src/olympusmn.cpp:1063 msgid "WB_RB levels auto" msgstr "Níveis WB_RB automáticos" #: src/olympusmn.cpp:1064 msgid "WB_RB Levels Shade" msgstr "Níveis de sombra WB_RB" #: src/olympusmn.cpp:1064 msgid "WB_RB levels shade" msgstr "Níveis de sombra WB_RB" #: src/olympusmn.cpp:1065 msgid "WB_RB Levels Cloudy" msgstr "Níveis WB_RB Nublado" #: src/olympusmn.cpp:1065 msgid "WB_RB levels cloudy" msgstr "níveis WB_RB Nublado" #: src/olympusmn.cpp:1066 msgid "WB_RB Levels Fine Weather" msgstr "Níveis WB_RB de bom tempo" #: src/olympusmn.cpp:1066 msgid "WB_RB levels fine weather" msgstr "níveis WB_RB de bom tempo" #: src/olympusmn.cpp:1067 msgid "WB_RB Levels Tungsten" msgstr "Níveis WB_RB de tungstênio" #: src/olympusmn.cpp:1067 msgid "WB_RB levels tungsten" msgstr "Níveis WB_RB de tungstênio" #: src/olympusmn.cpp:1068 msgid "WB_RB Levels Evening Sunlight" msgstr "Níveis WB_RB de luz noturna" #: src/olympusmn.cpp:1068 msgid "WB_RB levels evening sunlight" msgstr "Níveis WB_RB de luz noturna" #: src/olympusmn.cpp:1069 msgid "WB_RB Levels Daylight Fluor" msgstr "Níveis WB_RB de luz fluorescente" #: src/olympusmn.cpp:1069 msgid "WB_RB levels daylight fluor" msgstr "Níveis WB_RB de luz fluorescente" #: src/olympusmn.cpp:1070 msgid "WB_RB Levels Day White Fluor" msgstr "Níveis WB_RB de luz branca fluorescente" #: src/olympusmn.cpp:1070 msgid "WB_RB levels day white fluor" msgstr "Níveis WB_RB de luz branca fluorescente" #: src/olympusmn.cpp:1071 msgid "WB_RB Levels Cool White Fluor" msgstr "Níveis WB_RB de luz branca fria fluorescente" #: src/olympusmn.cpp:1071 msgid "WB_RB levels cool white fluor" msgstr "Níveis WB_RB de luz branca fria fluorescente" #: src/olympusmn.cpp:1072 msgid "WB_RB Levels White Fluorescent" msgstr "Níveis WB_RB com fluorescência branca" #: src/olympusmn.cpp:1072 msgid "WB_RB levels white fluorescent" msgstr "Níveis WB_RB com fluorescência branca" #: src/olympusmn.cpp:1073 msgid "Color Matrix2" msgstr "Cor da matriz 2" #: src/olympusmn.cpp:1073 msgid "Color matrix 2" msgstr "Cor da matriz 2" #: src/olympusmn.cpp:1076 msgid "Black Level 2" msgstr "Nível de preto 2" #: src/olympusmn.cpp:1076 msgid "Black level 2" msgstr "Nível de preto 2" #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 #, fuzzy msgid "YCbCr Coefficients" msgstr "Coeficientes YCbCr" #: src/olympusmn.cpp:1077 msgid "YCbCr coefficients" msgstr "Coeficientes YCbCr" #: src/olympusmn.cpp:1078 msgid "Valid Pixel Depth" msgstr "Profundidade de pixel válida" #: src/olympusmn.cpp:1078 msgid "Valid pixel depth" msgstr "Profundidade de pixel válida" #: src/olympusmn.cpp:1084 msgid "White Balance Comp" msgstr "Comp de equilíbrio de branco" #: src/olympusmn.cpp:1084 msgid "White balance comp" msgstr "Comp de equilíbrio de branco" #: src/olympusmn.cpp:1085 msgid "Saturation Setting" msgstr "Configuração de saturação" #: src/olympusmn.cpp:1086 msgid "Hue Setting" msgstr "Configuração de matiz" #: src/olympusmn.cpp:1086 msgid "Hue setting" msgstr "Configuração de matiz" #: src/olympusmn.cpp:1089 msgid "CM Exposure Compensation" msgstr "Compensação de exposição CM" #: src/olympusmn.cpp:1089 msgid "CM exposure compensation" msgstr "Compensação de exposição CM" #: src/olympusmn.cpp:1090 msgid "CM White Balance" msgstr "Equilíbrio de branco CM" #: src/olympusmn.cpp:1090 msgid "CM white balance" msgstr "Equilíbrio de branco CM" #: src/olympusmn.cpp:1091 msgid "CM White Balance Comp" msgstr "Comp de equilíbrio de branco CM" #: src/olympusmn.cpp:1091 msgid "CM white balance comp" msgstr "Comp de equilíbrio de branco CM" #: src/olympusmn.cpp:1092 msgid "CM White Balance Gray Point" msgstr "Pointo de cinza de equilíbrio de branco CM" #: src/olympusmn.cpp:1092 msgid "CM white balance gray point" msgstr "Pointo de cinza de equilíbrio de branco CM" #: src/olympusmn.cpp:1093 msgid "CM Saturation" msgstr "Saturação CM" #: src/olympusmn.cpp:1093 msgid "CM saturation" msgstr "Saturação CM" #: src/olympusmn.cpp:1094 msgid "CM Hue" msgstr "Tonalidade CM" #: src/olympusmn.cpp:1094 msgid "CM hue" msgstr "Tonalidade CM" #: src/olympusmn.cpp:1095 msgid "CM Contrast" msgstr "Contraste CM" #: src/olympusmn.cpp:1095 msgid "CM contrast" msgstr "Contraste CM" #: src/olympusmn.cpp:1096 msgid "CM Sharpness" msgstr "Nitidez CM" #: src/olympusmn.cpp:1096 msgid "CM sharpness" msgstr "Nitidez CM" #: src/olympusmn.cpp:1098 msgid "Unknown OlympusRi tag" msgstr "Etiqueta OlympusRI desconhecido" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 msgid "User-Selected" msgstr "Selecionado por usuário" #: src/olympusmn.cpp:1122 msgid "Auto-Override" msgstr "Auto sobrescrita" #: src/olympusmn.cpp:1158 msgid "Fast" msgstr "" #: src/olympusmn.cpp:1223 msgid "3000 Kelvin" msgstr "3000 Kelvin" #: src/olympusmn.cpp:1224 msgid "3700 Kelvin" msgstr "3700 Kelvin" #: src/olympusmn.cpp:1225 msgid "4000 Kelvin" msgstr "4000 Kelvin" #: src/olympusmn.cpp:1226 msgid "4500 Kelvin" msgstr "4500 Kelvin" #: src/olympusmn.cpp:1227 msgid "5500 Kelvin" msgstr "5500 Kelvin" #: src/olympusmn.cpp:1228 #, fuzzy msgid "6500 Kelvin" msgstr "4500 Kelvin" #: src/olympusmn.cpp:1229 #, fuzzy msgid "7500 Kelvin" msgstr "4500 Kelvin" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "S-AF" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "C-AF" #: src/olympusmn.cpp:1456 msgid "Imager AF" msgstr "Imager AF" #: src/olympusmn.cpp:1457 msgid "AF sensor" msgstr "Sensor AF" #: src/olympusmn.cpp:1502 msgid "Soft Focus" msgstr "Foco suave" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "Pop Art" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "Paleta e cor leve" #: src/olympusmn.cpp:1505 msgid "Light Tone" msgstr "Tom de luz" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "Pin Hole" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "Filme granulado" #: src/olympusmn.cpp:1508 msgid "Diorama" msgstr "Diorama" #: src/olympusmn.cpp:1509 msgid "Cross Process" msgstr "Processo gradual" #: src/olympusmn.cpp:1510 msgid "Fish Eye" msgstr "Olho de peixe" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "Desenho" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "" #: src/olympusmn.cpp:1513 #, fuzzy msgid "Pale & Light Color II" msgstr "Paleta e cor leve" #: src/olympusmn.cpp:1514 #, fuzzy msgid "Pop Art II" msgstr "Pop Art" #: src/olympusmn.cpp:1515 #, fuzzy msgid "Pin Hole II" msgstr "Pin Hole" #: src/olympusmn.cpp:1516 #, fuzzy msgid "Pin Hole III" msgstr "Pin Hole" #: src/olympusmn.cpp:1517 #, fuzzy msgid "Grainy Film II" msgstr "Filme granulado" #: src/olympusmn.cpp:1518 msgid "Dramatic Tone" msgstr "" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "" #: src/olympusmn.cpp:1520 #, fuzzy msgid "Soft Focus 2" msgstr "Foco suave" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "" #: src/olympusmn.cpp:1522 #, fuzzy msgid "Watercolor" msgstr "Natureza (cor)" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "" #: src/olympusmn.cpp:1525 #, fuzzy msgid "Miniature" msgstr "Assinatura do tempo" #: src/olympusmn.cpp:1526 #, fuzzy msgid "Reflection" msgstr "Resolução em x" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "" #: src/olympusmn.cpp:1528 #, fuzzy msgid "Cross Process II" msgstr "Processo gradual" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "" #: src/olympusmn.cpp:1530 #, fuzzy msgid "Watercolor I" msgstr "Natureza (cor)" #: src/olympusmn.cpp:1531 msgid "Watercolor II" msgstr "" #: src/olympusmn.cpp:1532 #, fuzzy msgid "Diorama II" msgstr "Diorama" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "" #: src/olympusmn.cpp:1534 #, fuzzy msgid "Vintage II" msgstr "Gerenciar Interface do Usuário" #: src/olympusmn.cpp:1535 #, fuzzy msgid "Vintage III" msgstr "Gerenciar Interface do Usuário" #: src/olympusmn.cpp:1536 msgid "Partial Color" msgstr "" #: src/olympusmn.cpp:1537 msgid "Partial Color II" msgstr "" #: src/olympusmn.cpp:1538 msgid "Partial Color III" msgstr "" #: src/olympusmn.cpp:1608 msgid "Left (or n/a)" msgstr "Esquerda (ou n/a)" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 msgid "Center (horizontal)" msgstr "Centralizado (horizontal)" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 msgid "Center (vertical)" msgstr "Centralizado (vertical)" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "Superior-esquerdo (horizontal)" #: src/olympusmn.cpp:1623 msgid "Top-center (horizontal)" msgstr "Superior-centralizado (horizontal)" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "Superior-direito (horizontal)" #: src/olympusmn.cpp:1625 msgid "Left (horizontal)" msgstr "Esquerdo (horizontal)" #: src/olympusmn.cpp:1626 msgid "Mid-left (horizontal)" msgstr "Meio-esquerdo (horizontal)" #: src/olympusmn.cpp:1628 msgid "Mid-right (horizontal)" msgstr "Meio-direito (horizontal)" #: src/olympusmn.cpp:1629 msgid "Right (horizontal)" msgstr "Direito (horizontal)" #: src/olympusmn.cpp:1630 msgid "Bottom-left (horizontal)" msgstr "Inferior-esquerdo (horizontal)" #: src/olympusmn.cpp:1631 msgid "Bottom-center (horizontal)" msgstr "Inferior-centralizado (horizontal)" #: src/olympusmn.cpp:1632 msgid "Bottom-right (horizontal)" msgstr "Inferior-direito (horizontal)" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "Superior-esquerdo (vertical)" #: src/olympusmn.cpp:1634 msgid "Top-center (vertical)" msgstr "Superior-centralizado (vertical)" #: src/olympusmn.cpp:1635 msgid "Top-right (vertical)" msgstr "Superior-direito (vertical)" #: src/olympusmn.cpp:1636 msgid "Left (vertical)" msgstr "Esquerdo (vertical)" #: src/olympusmn.cpp:1637 msgid "Mid-left (vertical)" msgstr "Meio-esquerdo (vertical)" #: src/olympusmn.cpp:1639 msgid "Mid-right (vertical)" msgstr "Meio-direito (vertical)" #: src/olympusmn.cpp:1640 msgid "Right (vertical)" msgstr "Direito (vertical)" #: src/olympusmn.cpp:1641 msgid "Bottom-left (vertical)" msgstr "Inferior-esquerdo (vertical)" #: src/olympusmn.cpp:1642 msgid "Bottom-center (vertical)" msgstr "Inferior-centralizado (vertical)" #: src/olympusmn.cpp:1643 msgid "Bottom-right (vertical)" msgstr "Inferior-direito (vertical)" #: src/olympusmn.cpp:1680 msgid "Single Target" msgstr "Alvo único" #: src/olympusmn.cpp:1681 msgid "All Target" msgstr "Todos os alvos" #: src/olympusmn.cpp:1682 msgid "Dynamic Single Target" msgstr "Alvo dinâmico único" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 #, fuzzy msgid "Very High" msgstr "Alto mediano" #: src/panasonicmn.cpp:60 #, fuzzy msgid "Motion Picture" msgstr "Tonalidade de imagem PM" #: src/panasonicmn.cpp:61 #, fuzzy msgid "Full HD Movie" msgstr "Tamanho completo" #: src/panasonicmn.cpp:62 msgid "4k Movie" msgstr "" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "" #: src/panasonicmn.cpp:83 msgid "Auto, focus button" msgstr "Auto, botão de foco" #: src/panasonicmn.cpp:84 msgid "Auto, continuous" msgstr "Auto, contínuo" #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "" #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 msgid "Panning" msgstr "" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "Tele-macro" #: src/panasonicmn.cpp:104 msgid "Macro-zoom" msgstr "" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 #, fuzzy msgid "Scenery" msgstr "Área de cena" #: src/panasonicmn.cpp:117 msgid "Shutter-speed priority" msgstr "Prioridade de velocidade obturadora" #: src/panasonicmn.cpp:121 #, fuzzy msgid "Movie preview" msgstr "Escrevendo visualização" #: src/panasonicmn.cpp:123 msgid "Simple" msgstr "" #: src/panasonicmn.cpp:124 #, fuzzy msgid "Color effects" msgstr "Corantes" #: src/panasonicmn.cpp:130 #, fuzzy msgid "Night scenery" msgstr "Cena noturna" #: src/panasonicmn.cpp:132 msgid "Baby" msgstr "" #: src/panasonicmn.cpp:133 msgid "Soft skin" msgstr "Aparência suave" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 #, fuzzy msgid "Candlelight" msgstr "Crepúsculo do computador de mão" #: src/panasonicmn.cpp:135 msgid "Starry night" msgstr "Noite estrelada" #: src/panasonicmn.cpp:136 #, fuzzy msgid "High sensitivity" msgstr "Alta sensibilidade" #: src/panasonicmn.cpp:137 msgid "Panorama assist" msgstr "Paisagem auxiliar" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "Foto aerada" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 msgid "Intelligent ISO" msgstr "ISO inteligente" #: src/panasonicmn.cpp:144 #, fuzzy msgid "Clipboard" msgstr "Quadro branco" #: src/panasonicmn.cpp:145 msgid "High speed continuous shooting" msgstr "Alta velocidade de disparo contínuo" #: src/panasonicmn.cpp:146 msgid "Intelligent auto" msgstr "Inteligência automática" #: src/panasonicmn.cpp:147 msgid "Multi-aspect" msgstr "" #: src/panasonicmn.cpp:148 #, fuzzy msgid "Transform" msgstr "Transformação de ponto JPEG" #: src/panasonicmn.cpp:149 #, fuzzy msgid "Flash Burst" msgstr "FlashBias" #: src/panasonicmn.cpp:151 msgid "Film Grain" msgstr "" #: src/panasonicmn.cpp:152 msgid "My Color" msgstr "" #: src/panasonicmn.cpp:153 #, fuzzy msgid "Photo Frame" msgstr "Imagem fotográfica" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 #, fuzzy msgid "Handheld Night Shot" msgstr "Crepúsculo do computador de mão" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 #, fuzzy msgid "Creative Control" msgstr "Estilo criativo" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 #, fuzzy msgid "Digital Filter" msgstr "Filtro digital" #: src/panasonicmn.cpp:162 #, fuzzy msgid "Clear Portrait" msgstr "Retrato de crepúsculo" #: src/panasonicmn.cpp:163 msgid "Silky Skin" msgstr "" #: src/panasonicmn.cpp:164 msgid "Backlit Softness" msgstr "" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "" #: src/panasonicmn.cpp:166 #, fuzzy msgid "Relaxing Tone" msgstr "Tom de luz" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "" #: src/panasonicmn.cpp:168 #, fuzzy msgid "Distinct Scenery" msgstr "Cena de vento" #: src/panasonicmn.cpp:169 #, fuzzy msgid "Bright Blue Sky" msgstr "Valor do Brilho" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "" #: src/panasonicmn.cpp:177 msgid "Glittering Illuminations" msgstr "" #: src/panasonicmn.cpp:178 #, fuzzy msgid "Clear Night Portrait" msgstr "Retrato de crepúsculo" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "" #: src/panasonicmn.cpp:181 msgid "Cute Desert" msgstr "" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "" #: src/panasonicmn.cpp:183 #, fuzzy msgid "Clear Sports Shot" msgstr "Disparo Esportes Avançados" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "" #: src/panasonicmn.cpp:198 msgid "Warm" msgstr "" #: src/panasonicmn.cpp:199 msgid "Cool" msgstr "" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "" #: src/panasonicmn.cpp:208 msgid "Low/High quality" msgstr "" #: src/panasonicmn.cpp:209 msgid "Infinite" msgstr "" #: src/panasonicmn.cpp:217 msgid "Medium low" msgstr "" #: src/panasonicmn.cpp:218 msgid "Medium high" msgstr "" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "" #: src/panasonicmn.cpp:229 #, fuzzy msgid "High (+1)" msgstr "Maior (+2)" #: src/panasonicmn.cpp:230 msgid "Lowest (-2)" msgstr "Menor (-2)" #: src/panasonicmn.cpp:231 msgid "Highest (+2)" msgstr "Maior (+2)" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 msgid "Rotate 180" msgstr "" #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "" #: src/panasonicmn.cpp:254 msgid "Disabled but Required" msgstr "" #: src/panasonicmn.cpp:255 msgid "Disabled and Not Required" msgstr "" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "EX ótica" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "Telefotográfico" #: src/panasonicmn.cpp:282 src/properties.cpp:915 #, fuzzy msgid "Home" msgstr "Cidade natal" #: src/panasonicmn.cpp:294 #, fuzzy msgid "Standard (color)" msgstr "Padrão " #: src/panasonicmn.cpp:295 #, fuzzy msgid "Dynamic (color)" msgstr "Natureza (cor)" #: src/panasonicmn.cpp:296 msgid "Nature (color)" msgstr "Natureza (cor)" #: src/panasonicmn.cpp:297 msgid "Smooth (color)" msgstr "Suave (cor)" #: src/panasonicmn.cpp:298 #, fuzzy msgid "Standard (B&W)" msgstr "Padrão " #: src/panasonicmn.cpp:299 msgid "Dynamic (B&W)" msgstr "" #: src/panasonicmn.cpp:300 msgid "Smooth (B&W)" msgstr "Suave (B&W)" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "" #: src/panasonicmn.cpp:307 #, fuzzy msgid "No Bracket" msgstr "Auto parênteses" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:319 msgid "1st" msgstr "" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "" #: src/panasonicmn.cpp:349 #, fuzzy msgid "Extended" msgstr "Modelo de extensor" #: src/panasonicmn.cpp:368 msgid "NoAuto" msgstr "" #: src/panasonicmn.cpp:369 #, fuzzy msgid "Standard or Custom" msgstr "Padrão " #: src/panasonicmn.cpp:386 msgid "Rotate CW" msgstr "" #: src/panasonicmn.cpp:388 msgid "Rotate CCW" msgstr "" #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "" #: src/panasonicmn.cpp:396 #, fuzzy msgid "Left to Right" msgstr "Abaixo à direita" #: src/panasonicmn.cpp:397 #, fuzzy msgid "Right to Left" msgstr "Tom de luz" #: src/panasonicmn.cpp:398 #, fuzzy msgid "Top to Bottom" msgstr "A Parte de Baixo do Corte" #: src/panasonicmn.cpp:399 msgid "Bottom to Top" msgstr "" #: src/panasonicmn.cpp:405 msgid "Time Lapse" msgstr "" #: src/panasonicmn.cpp:406 msgid "Stop-Motion Animation" msgstr "" #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "" #: src/panasonicmn.cpp:423 msgid "Electronic" msgstr "" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "" #: src/panasonicmn.cpp:453 msgid "White balance adjustment" msgstr "Ajuste do balanço do branco" #: src/panasonicmn.cpp:454 msgid "FlashBias" msgstr "FlashBias" #: src/panasonicmn.cpp:456 src/tags.cpp:194 #, fuzzy msgid "Exif version" msgstr "Resolução Exif" #: src/panasonicmn.cpp:458 #, fuzzy msgid "Color Effect" msgstr "Rótulo da cor" #: src/panasonicmn.cpp:458 #, fuzzy msgid "Color effect" msgstr "Rótulo da cor" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" "Tempo em 1/100 s desde quando a câmera foi ligada até a imagem ser escrita " "no cartão de memória." #: src/panasonicmn.cpp:460 msgid "Burst Mode" msgstr "Modo explosão" #: src/panasonicmn.cpp:460 #, fuzzy msgid "Burst mode" msgstr "Modo explosão" #: src/panasonicmn.cpp:463 #, fuzzy msgid "NoiseReduction" msgstr "Redução de Ruído de Cor" #: src/panasonicmn.cpp:464 #, fuzzy msgid "Self Timer" msgstr "Tempo do temporizador" #: src/panasonicmn.cpp:467 #, fuzzy msgid "AF Assist Lamp" msgstr "Assistente AF" #: src/panasonicmn.cpp:469 msgid "Baby Age 1" msgstr "" #: src/panasonicmn.cpp:469 #, fuzzy msgid "Baby (or pet) age 1" msgstr "Idade de bebê (ou animal de estimação)" #: src/panasonicmn.cpp:470 msgid "Optical Zoom Mode" msgstr "Modo Zoom Óptico" #: src/panasonicmn.cpp:470 msgid "Optical zoom mode" msgstr "Modo Zoom Óptico" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "" #: src/panasonicmn.cpp:474 msgid "World Time Location" msgstr "Localização de hora mundial" #: src/panasonicmn.cpp:474 msgid "World time location" msgstr "Localização de hora mundial" #: src/panasonicmn.cpp:475 #, fuzzy msgid "Text Stamp 1" msgstr "Registro da hora do GPS" #: src/panasonicmn.cpp:476 msgid "Program ISO" msgstr "Programa ISO" #: src/panasonicmn.cpp:477 #, fuzzy msgid "Advanced Scene Type" msgstr "Velocidade principal avançada" #: src/panasonicmn.cpp:478 #, fuzzy msgid "Text Stamp 2" msgstr "Registro da hora do GPS" #: src/panasonicmn.cpp:479 #, fuzzy msgid "Faces detected" msgstr "Face detectada" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temp Kelvin" msgstr "Temporizador de cor PB" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temperatur in Kelvin" msgstr "Temperatura de cor" #: src/panasonicmn.cpp:484 #, fuzzy msgid "Bracket Settings" msgstr "Tem ajuste" #: src/panasonicmn.cpp:485 msgid "WB Adjust AB" msgstr "WB ajusta AB" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "WB ajusta AB. Positivo é uma mudança para deslocar o azul." #: src/panasonicmn.cpp:486 msgid "WB Adjust GM" msgstr "WB ajusta GM" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "WBAjustaGM. Positivo é uma mudança para deslocar o verde." #: src/panasonicmn.cpp:487 #, fuzzy msgid "Flash Curtain" msgstr "Segunda Cortina" #: src/panasonicmn.cpp:488 #, fuzzy msgid "Long Shutter Noise Reduction" msgstr "Redução de ruído de longa exposição" #: src/panasonicmn.cpp:491 #, fuzzy msgid "AF Point Position" msgstr "AF Área X Posição" #: src/panasonicmn.cpp:492 #, fuzzy msgid "Face detection info" msgstr "Reconhecimento de face AF" #: src/panasonicmn.cpp:495 msgid "Accessory Type" msgstr "" #: src/panasonicmn.cpp:495 msgid "Accessory type" msgstr "" #: src/panasonicmn.cpp:496 #, fuzzy msgid "Accessory Serial Number" msgstr "Número de série da lente" #: src/panasonicmn.cpp:497 msgid "Transform 1" msgstr "" #: src/panasonicmn.cpp:498 #, fuzzy msgid "Intelligent Exposure" msgstr "Inteligência automática" #: src/panasonicmn.cpp:499 #, fuzzy msgid "Firmware Version of the Lens" msgstr "Versão dos firmware da lente" #: src/panasonicmn.cpp:500 #, fuzzy msgid "Face recognition info" msgstr "Reconhecimento de face AF" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash Warning" msgstr "Versão do FlashPix" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash warning" msgstr "Versão da flash do firmware" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 msgid "Title" msgstr "" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby Name" msgstr "Nome da fita" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby name (or pet name)" msgstr "Idade de bebê (ou animal de estimação)" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 #, fuzzy msgid "Location" msgstr "Localização-cidade" #: src/panasonicmn.cpp:506 src/properties.cpp:441 #, fuzzy msgid "State" msgstr "Status" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "" #: src/panasonicmn.cpp:509 #, fuzzy msgid "Intelligent resolution" msgstr "Inteligência automática" #: src/panasonicmn.cpp:510 #, fuzzy msgid "Burst Speed" msgstr "Modo explosão" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "" #: src/panasonicmn.cpp:511 #, fuzzy msgid "Intelligent Dynamic Range" msgstr "Inteligência automática" #: src/panasonicmn.cpp:512 #, fuzzy msgid "Clear Retouch" msgstr "Sem retocar" #: src/panasonicmn.cpp:513 #, fuzzy msgid "City2" msgstr "Cidade." #: src/panasonicmn.cpp:515 #, fuzzy msgid "Photo style" msgstr "Estilo de imagem" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "" #: src/panasonicmn.cpp:518 msgid "Accelerometer X" msgstr "" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "" #: src/panasonicmn.cpp:519 msgid "Accelerometer Y" msgstr "" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "" #: src/panasonicmn.cpp:520 #, fuzzy msgid "Camera Orientation" msgstr "Ajuste de \"Perfil de Câmera\"." #: src/panasonicmn.cpp:521 #, fuzzy msgid "Roll Angle" msgstr "Corte em Ângulo" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "" #: src/panasonicmn.cpp:523 #, fuzzy msgid "Sweep Panorama Direction" msgstr "Direção de imagem do GPS" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "" #: src/panasonicmn.cpp:525 #, fuzzy msgid "Timer Recording" msgstr "Leitura do manômetro" #: src/panasonicmn.cpp:526 msgid "Internal ND Filter" msgstr "" #: src/panasonicmn.cpp:528 #, fuzzy msgid "Shutter Type" msgstr "Velocidade do Obturador" #: src/panasonicmn.cpp:529 msgid "Clear Retouch Value" msgstr "" #: src/panasonicmn.cpp:530 #, fuzzy msgid "TouchAE" msgstr "Toque AF" #: src/panasonicmn.cpp:533 msgid "MakerNote Version" msgstr "Versão do MakerNote" #: src/panasonicmn.cpp:533 msgid "MakerNote version" msgstr "Versão do MakerNote" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB Red Level" msgstr "Nível do vermelho WB" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB red level" msgstr "Nível do vermelho WB" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB Green Level" msgstr "Nível do verde WB" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB green level" msgstr "Nível do verde WB" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB Blue Level" msgstr "Nível do azul WB" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB blue level" msgstr "Nível do azul WB" #: src/panasonicmn.cpp:539 #, fuzzy msgid "Text Stamp 3" msgstr "Registro da hora do GPS" #: src/panasonicmn.cpp:540 #, fuzzy msgid "Text Stamp 4" msgstr "Registro da hora do GPS" #: src/panasonicmn.cpp:541 msgid "Baby Age 2" msgstr "" #: src/panasonicmn.cpp:541 #, fuzzy msgid "Baby (or pet) age 2" msgstr "Idade de bebê (ou animal de estimação)" #: src/panasonicmn.cpp:542 msgid "Transform 2" msgstr "" #: src/panasonicmn.cpp:544 msgid "Unknown PanasonicMakerNote tag" msgstr "Etiqueta desconhecida PanasonicMakerNote" #: src/panasonicmn.cpp:562 #, fuzzy msgid "Spot mode on or 9 area" msgstr "Modo Spot Ativado" #: src/panasonicmn.cpp:563 msgid "Spot mode off or 3-area (high speed)" msgstr "Modo local desligado ou área-3 (alta velocidade)" #: src/panasonicmn.cpp:564 #, fuzzy msgid "23-area" msgstr "área-5" #: src/panasonicmn.cpp:565 msgid "Spot focussing" msgstr "Focando o ponto" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "área-5" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "Área 1" #: src/panasonicmn.cpp:568 msgid "1-area (high speed)" msgstr "Área 1 (Alta velocidade)" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "Área 3 (auto)" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "área-3 (esquerda)" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "área-3 (centro)" #: src/panasonicmn.cpp:572 msgid "3-area (right)" msgstr "área-3 (direita)" #: src/panasonicmn.cpp:574 #, fuzzy msgid "Spot Focusing 2" msgstr "Focando o ponto" #: src/panasonicmn.cpp:588 msgid " EV" msgstr " EV" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 msgid "not set" msgstr "" #: src/panasonicmn.cpp:725 msgid "Panasonic raw version" msgstr "Versão raw Panacosic" #: src/panasonicmn.cpp:726 msgid "Sensor Width" msgstr "Sensor de largura" #: src/panasonicmn.cpp:726 msgid "Sensor width" msgstr "Sensor de largura" #: src/panasonicmn.cpp:727 msgid "Sensor Height" msgstr "Sensor de altura" #: src/panasonicmn.cpp:727 msgid "Sensor height" msgstr "Sensor de altura" #: src/panasonicmn.cpp:728 msgid "Sensor Top Border" msgstr "Sensor de borda superior" #: src/panasonicmn.cpp:728 msgid "Sensor top border" msgstr "Sensor de borda superior" #: src/panasonicmn.cpp:729 msgid "Sensor Left Border" msgstr "Sensor de borda esquerda" #: src/panasonicmn.cpp:729 msgid "Sensor left border" msgstr "Sensor de borda esquerda" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "Equilíbrio de vermelho (encontrado em Digilux 2 RAW imagens)" #: src/panasonicmn.cpp:739 src/tags.cpp:469 #, fuzzy msgid "Manufacturer" msgstr "Fabricante de lentes" #: src/panasonicmn.cpp:739 msgid "The manufacturer of the recording equipment" msgstr "O fabricante do equipamento de gravação" #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 #, fuzzy msgid "Model" msgstr "Modelo de idade" #: src/panasonicmn.cpp:740 msgid "The model name or model number of the equipment" msgstr "Nome ou número do modelo do equipamento" #: src/panasonicmn.cpp:741 src/tags.cpp:481 msgid "Strip Offsets" msgstr "Faixa de compensações" #: src/panasonicmn.cpp:741 msgid "Strip offsets" msgstr "Faixa de compensações" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 #, fuzzy msgid "Orientation" msgstr "Saturação de verde" #: src/panasonicmn.cpp:743 msgid "Rows Per Strip" msgstr "Linhas por faixa" #: src/panasonicmn.cpp:743 msgid "The number of rows per strip" msgstr "O número de linhas por faixa" #: src/panasonicmn.cpp:744 msgid "Strip Byte Counts" msgstr "Descartar contagem de bytes" #: src/panasonicmn.cpp:744 msgid "Strip byte counts" msgstr "Descartar contagem de bytes" #: src/panasonicmn.cpp:745 msgid "Raw Data Offset" msgstr "Deslocamento de dados brutos" #: src/panasonicmn.cpp:745 msgid "Raw data offset" msgstr "Deslocamento de dados brutos" #: src/panasonicmn.cpp:746 src/tags.cpp:797 #, fuzzy msgid "Exif IFD Pointer" msgstr "GPS em Ponteiro IFD" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "Um ponteiro para o Exif IFD" #: src/panasonicmn.cpp:747 src/tags.cpp:808 msgid "GPS Info IFD Pointer" msgstr "GPS em Ponteiro IFD" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "Um ponteiro para a informação IFD do GPS" #: src/panasonicmn.cpp:749 msgid "Unknown PanasonicRaw tag" msgstr "Etiqueta PanasonicRaw desconhecido" #: src/pentaxmn.cpp:57 msgid "Night-Scene" msgstr "Cena noturna" #: src/pentaxmn.cpp:199 msgid "Good" msgstr "" #: src/pentaxmn.cpp:200 msgid "Better" msgstr "" #: src/pentaxmn.cpp:201 msgid "Best" msgstr "" #: src/pentaxmn.cpp:204 msgid "Premium" msgstr "" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "" #: src/pentaxmn.cpp:247 msgid "Auto, Did not fire" msgstr "Auto, não disparar" #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 #, fuzzy msgid "Off, Did not fire" msgstr "Auto, não disparar" #: src/pentaxmn.cpp:250 msgid "Auto, Did not fire, Red-eye reduction" msgstr "Auto, não disparar, redução de olhos vermelhos" #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:252 msgid "Auto, Fired" msgstr "Auto, disparado" #: src/pentaxmn.cpp:253 #, fuzzy msgid "On, Fired" msgstr "Auto, disparado" #: src/pentaxmn.cpp:254 msgid "Auto, Fired, Red-eye reduction" msgstr "Auto, disparado, redução de olhos vermelhos" #: src/pentaxmn.cpp:255 #, fuzzy msgid "On, Red-eye reduction" msgstr "Não, redução de olhos-vermelhos" #: src/pentaxmn.cpp:256 msgid "On, Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:257 msgid "On, Wireless (Control)" msgstr "" #: src/pentaxmn.cpp:258 msgid "On, Soft" msgstr "Ligado, suave" #: src/pentaxmn.cpp:259 msgid "On, Slow-sync" msgstr "Ligado, baixa sincronização" #: src/pentaxmn.cpp:260 msgid "On, Slow-sync, Red-eye reduction" msgstr "Ligado, baixa sincronização, redução de olhos vermelhos" #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "Ligado, sincronização de aparamento de orlas" #: src/pentaxmn.cpp:272 msgid "Pan Focus" msgstr "Foco panorâmico" #: src/pentaxmn.cpp:275 msgid "AF-A" msgstr "" #: src/pentaxmn.cpp:276 #, fuzzy msgid "Contrast-detect" msgstr "Detecção de contraste AF" #: src/pentaxmn.cpp:277 #, fuzzy msgid "Tracking Contrast-detect" msgstr "Detecção de contraste AF" #: src/pentaxmn.cpp:284 msgid "Fixed Center" msgstr "Centro fixo" #: src/pentaxmn.cpp:285 msgid "Automatic Tracking AF" msgstr "Registrar automaticamente AF" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "Reconhecimento de face AF" #: src/pentaxmn.cpp:287 #, fuzzy msgid "AF Select" msgstr "SeleçãoDePontoAF" #: src/pentaxmn.cpp:305 msgid "Fixed Center or multiple" msgstr "Centro fixo ou múltiplo" #: src/pentaxmn.cpp:307 msgid "Top-center" msgstr "Superior-centralizado" #: src/pentaxmn.cpp:313 msgid "Bottom-center" msgstr "Inferior-centralizado" #: src/pentaxmn.cpp:402 msgid "Multi Segment" msgstr "Multi segmento" #: src/pentaxmn.cpp:403 msgid "Center Weighted" msgstr "Centro com aumento de peso" #: src/pentaxmn.cpp:415 msgid "DaylightFluorescent" msgstr "FluorescenciaLuzDiurna" #: src/pentaxmn.cpp:416 msgid "DaywhiteFluorescent" msgstr "FluorescenciaBrancaDiurna" #: src/pentaxmn.cpp:417 msgid "WhiteFluorescent" msgstr "FluorescenciaBranca" #: src/pentaxmn.cpp:420 #, fuzzy msgid "Color Temperature Enhancement" msgstr "Temperatura de cor" #: src/pentaxmn.cpp:423 #, fuzzy msgid "User Selected" msgstr "Selecionado por usuário" #: src/pentaxmn.cpp:428 msgid "Auto (Daylight)" msgstr "Auto(LuzDiurna)" #: src/pentaxmn.cpp:429 msgid "Auto (Shade)" msgstr "Auto (Sombra)" #: src/pentaxmn.cpp:430 #, fuzzy msgid "Auto (Flash)" msgstr "Sem flash automático" #: src/pentaxmn.cpp:431 msgid "Auto (Tungsten)" msgstr "Auto (Tungstênio)" #: src/pentaxmn.cpp:432 #, fuzzy msgid "Auto (DaylightFluorescent)" msgstr "Auto (FluorescenciaBrancaDiurna)" #: src/pentaxmn.cpp:433 msgid "Auto (DaywhiteFluorescent)" msgstr "Auto (FluorescenciaBrancaDiurna)" #: src/pentaxmn.cpp:434 msgid "Auto (WhiteFluorescent)" msgstr "Auto (FluorescenciaBranca)" #: src/pentaxmn.cpp:435 msgid "Auto (Cloudy)" msgstr "Auto (Nublado)" #: src/pentaxmn.cpp:437 msgid "Preset (Fireworks?)" msgstr "Pré-definir (Fogos de artifício?)" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 msgid "Med Low" msgstr "Baixo mediano" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 msgid "Med High" msgstr "Alto mediano" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "" #: src/pentaxmn.cpp:473 msgid "Med Soft" msgstr "Suave mediano" #: src/pentaxmn.cpp:474 msgid "Med Hard" msgstr "Grosseiro mediano" #: src/pentaxmn.cpp:475 msgid "Very Soft" msgstr "Muito suave" #: src/pentaxmn.cpp:476 #, fuzzy msgid "Very Hard" msgstr "Grosseiro mediano" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 msgid "Home town" msgstr "Cidade natal" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "" #: src/pentaxmn.cpp:491 msgid "Anchorage" msgstr "" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "" #: src/pentaxmn.cpp:494 #, fuzzy msgid "Los Angeles" msgstr "Corte em Ângulo" #: src/pentaxmn.cpp:495 msgid "Calgary" msgstr "" #: src/pentaxmn.cpp:496 msgid "Denver" msgstr "" #: src/pentaxmn.cpp:497 #, fuzzy msgid "Mexico City" msgstr "Cidade do licenciante" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "" #: src/pentaxmn.cpp:509 msgid "London" msgstr "" #: src/pentaxmn.cpp:510 msgid "Paris" msgstr "" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "" #: src/pentaxmn.cpp:515 msgid "Istanbul" msgstr "" #: src/pentaxmn.cpp:516 msgid "Cairo" msgstr "" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "" #: src/pentaxmn.cpp:524 msgid "Male" msgstr "" #: src/pentaxmn.cpp:525 msgid "Delhi" msgstr "" #: src/pentaxmn.cpp:526 #, fuzzy msgid "Colombo" msgstr "InformacaoCor" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "" #: src/pentaxmn.cpp:528 msgid "Dacca" msgstr "" #: src/pentaxmn.cpp:529 msgid "Yangon" msgstr "" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "" #: src/pentaxmn.cpp:532 msgid "Vientiane" msgstr "" #: src/pentaxmn.cpp:533 #, fuzzy msgid "Singapore" msgstr "Alvo único" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "" #: src/pentaxmn.cpp:538 msgid "Perth" msgstr "" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "" #: src/pentaxmn.cpp:541 msgid "Manila" msgstr "" #: src/pentaxmn.cpp:542 msgid "Taipei" msgstr "" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "" #: src/pentaxmn.cpp:548 msgid "Noumea" msgstr "" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "" #: src/pentaxmn.cpp:555 msgid "Athens" msgstr "" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "" #: src/pentaxmn.cpp:560 msgid "Copenhagen" msgstr "" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "" #: src/pentaxmn.cpp:568 msgid "Unprocessed" msgstr "" #: src/pentaxmn.cpp:570 msgid "Resized" msgstr "" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 msgid "Cropped" msgstr "Aparado" #: src/pentaxmn.cpp:573 #, fuzzy msgid "Digital Filter 6" msgstr "Filtro digital" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "Síntese de quadro?" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 msgid "Hi-speed Program" msgstr "Programa de alta velocidade" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 msgid "DOF Program" msgstr "Programa DOF" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 msgid "MTF Program" msgstr "Programa MTF" #: src/pentaxmn.cpp:588 msgid "Night Scene Portrait" msgstr "Retrato de cena noturna" #: src/pentaxmn.cpp:589 #, fuzzy msgid "No Flash" msgstr "Sem flash automático" #: src/pentaxmn.cpp:592 msgid "Surf & Snow" msgstr "Surfe & neve" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "" #: src/pentaxmn.cpp:600 msgid "Stage Lighting" msgstr "Iluminação de palco" #: src/pentaxmn.cpp:601 msgid "Night Snap" msgstr "Ruptura noturna" #: src/pentaxmn.cpp:602 #, fuzzy msgid "Blue Sky" msgstr "Hue azul." #: src/pentaxmn.cpp:604 #, fuzzy msgid "Night Scene HDR" msgstr "Cena noturna" #: src/pentaxmn.cpp:606 msgid "Quick Macro" msgstr "" #: src/pentaxmn.cpp:607 msgid "Forest" msgstr "" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "" #: src/pentaxmn.cpp:610 msgid "Auto PICT (Standard)" msgstr "Auto PICT (Padrão)" #: src/pentaxmn.cpp:611 msgid "Auto PICT (Portrait)" msgstr "Auto PICT (Retrato)" #: src/pentaxmn.cpp:612 msgid "Auto PICT (Landscape)" msgstr "Auto PICT (Paisagem)" #: src/pentaxmn.cpp:613 msgid "Auto PICT (Macro)" msgstr "Auto PICT (Macro)" #: src/pentaxmn.cpp:614 msgid "Auto PICT (Sport)" msgstr "Auto PICT (Esportivo)" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 #, fuzzy msgid "Green Mode" msgstr "Modelo de lentes" #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 msgid "Shutter Speed Priority" msgstr "Prioridade da velocidade da obturadora" #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 msgid "Aperture Priority" msgstr "Prioridade de abertura" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "" #: src/pentaxmn.cpp:631 msgid "Program Tv Shift" msgstr "Programar delocamento TV" #: src/pentaxmn.cpp:632 msgid "Program Av Shift" msgstr "Programar deslocamento AV" #: src/pentaxmn.cpp:635 msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "Prioridade de abertura (Desligado-Auto-Abertura)" #: src/pentaxmn.cpp:636 msgid "Manual (Off-Auto-Aperture)" msgstr "Manual (Desligado-Auto-Abertura)" #: src/pentaxmn.cpp:637 msgid "Bulb (Off-Auto-Aperture)" msgstr "Lâmpada (Desligado-Auto-Abertura)" #: src/pentaxmn.cpp:639 msgid "Shutter Priority" msgstr "Prioridade do obturador" #: src/pentaxmn.cpp:640 msgid "Shutter & Aperture Priority AE" msgstr "Obturador & Prioridade de abertura AE" #: src/pentaxmn.cpp:641 msgid "Shutter & Aperture Priority AE (1)" msgstr "Obturador & Prioridade de abertura AE(1)" #: src/pentaxmn.cpp:642 msgid "Sensitivity Priority AE" msgstr "Prioridade de sensitivade AE" #: src/pentaxmn.cpp:643 msgid "Sensitivity Priority AE (1)" msgstr "Prioridade de sensitivade AE (1)" #: src/pentaxmn.cpp:644 msgid "Flash X-Sync Speed AE" msgstr "Velocidade de Flash X-Sync AE" #: src/pentaxmn.cpp:645 msgid "Flash X-Sync Speed AE (1)" msgstr "Prioridade de Sensitivade AE (1)" #: src/pentaxmn.cpp:646 msgid "Auto Program (Normal)" msgstr "" #: src/pentaxmn.cpp:647 msgid "Auto Program (Hi-Speed)" msgstr "" #: src/pentaxmn.cpp:648 #, fuzzy msgid "Auto Program (DOF)" msgstr "Programa ISO" #: src/pentaxmn.cpp:649 msgid "Auto Program (MTF)" msgstr "" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "" #: src/pentaxmn.cpp:651 #, fuzzy msgid "Blur control" msgstr "Controle remoto do Flash" #: src/pentaxmn.cpp:654 msgid "Video (30 fps)" msgstr "" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "" #: src/pentaxmn.cpp:662 msgid "Continuous (Hi)" msgstr "Contínuo (Hi)" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 #, fuzzy msgid "Burst" msgstr "Modo explosão" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 msgid "Video" msgstr "" #: src/pentaxmn.cpp:666 msgid "Self-timer (12 sec)" msgstr "Auto-temporizável (12 segundos)" #: src/pentaxmn.cpp:667 msgid "Self-timer (2 sec)" msgstr "Auto-temporizável (2 segundos)" #: src/pentaxmn.cpp:669 msgid "Mirror Lock-up" msgstr "" #: src/pentaxmn.cpp:670 msgid "Remote Control (3 sec)" msgstr "Controle remoto (3 segundos)" #: src/pentaxmn.cpp:671 #, fuzzy msgid "Remote Control" msgstr "Controle remoto do Flash" #: src/pentaxmn.cpp:672 #, fuzzy msgid "Remote Continuous Shooting" msgstr "Alta velocidade de disparo contínuo" #: src/pentaxmn.cpp:675 msgid "HDR Strong 1" msgstr "" #: src/pentaxmn.cpp:676 msgid "HDR Strong 2" msgstr "" #: src/pentaxmn.cpp:677 msgid "HDR Strong 3" msgstr "" #: src/pentaxmn.cpp:678 msgid "HDR Auto" msgstr "" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "M-42 ou sem lente" #: src/pentaxmn.cpp:691 #, fuzzy msgid "K or M Lens" msgstr "M-42 ou sem lente" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "Lentes de série A" #: src/pentaxmn.cpp:970 #, fuzzy msgid "Bright" msgstr "Claro" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "Filme reverso" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "" #: src/pentaxmn.cpp:990 msgid "Weakest" msgstr "" #: src/pentaxmn.cpp:991 msgid "Weak" msgstr "" #: src/pentaxmn.cpp:992 msgid "Strong" msgstr "" #: src/pentaxmn.cpp:1112 msgid "No extended bracketing" msgstr "Sem parentização extendida" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "WB-BA" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "WB-GM" #: src/pentaxmn.cpp:1133 msgid "Unknown " msgstr "" #: src/pentaxmn.cpp:1146 msgid "Pentax Makernote version" msgstr "Versão do marcador de notas pentax" #: src/pentaxmn.cpp:1149 msgid "Camera shooting mode" msgstr "Câmera no modo de disparo" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 msgid "Resolution of a preview image" msgstr "Resolução de uma imagem prévia" #: src/pentaxmn.cpp:1154 msgid "Length of a preview image" msgstr "Comprimento de uma imagem prévia" #: src/pentaxmn.cpp:1155 msgid "Size of an IFD containing a preview image" msgstr "Tamanho de um IFD que contém uma imagem prévia" #: src/pentaxmn.cpp:1160 msgid "Model identification" msgstr "Identificação de modelo" #: src/pentaxmn.cpp:1161 #, fuzzy msgid "Pentax model identification" msgstr "Identificação de modelo pentax" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 msgid "Date" msgstr "" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 msgid "Time" msgstr "" #: src/pentaxmn.cpp:1170 msgid "Image quality settings" msgstr "Configuração de qualidade de imagem" #: src/pentaxmn.cpp:1173 msgid "Image size settings" msgstr "Configuração de tamanho de imagens" #: src/pentaxmn.cpp:1177 msgid "Flash mode settings" msgstr "Configuração de modo flash" #: src/pentaxmn.cpp:1180 msgid "Focus mode settings" msgstr "Configuração de modo de foco" #: src/pentaxmn.cpp:1183 msgid "Selected AF point" msgstr "Ponto AF selecionado" #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 msgid "AF point in focus" msgstr "Ponto em foco AF" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 msgid "F-Number" msgstr "Número-F" #: src/pentaxmn.cpp:1195 #, fuzzy msgid "ISO sensitivity" msgstr "Configuração de sensitividade ISO" #: src/pentaxmn.cpp:1196 msgid "ISO sensitivity settings" msgstr "Configuração de sensitividade ISO" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 msgid "MeteringMode" msgstr "ModoMedicao" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 msgid "AutoBracketing" msgstr "AutoParentizacao" #: src/pentaxmn.cpp:1216 msgid "Blue color balance" msgstr "Balanço de cor azul" #: src/pentaxmn.cpp:1219 msgid "Red color balance" msgstr "Balanço de cor vermelho" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 msgid "FocalLength" msgstr "Lente focal" #: src/pentaxmn.cpp:1239 #, fuzzy msgid "Hometown" msgstr "Cidade natal" #: src/pentaxmn.cpp:1245 msgid "Hometown DST" msgstr "DST cidade natal" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "Se horário de verão está ativo na cidade natal" #: src/pentaxmn.cpp:1248 msgid "Destination DST" msgstr "DST de destino" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "Se o horário de verão está ativo no destino" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 msgid "DSPFirmwareVersion" msgstr "DSPFirmwareVersion" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 msgid "CPUFirmwareVersion" msgstr "CPUFirmwareVersion" #: src/pentaxmn.cpp:1261 msgid "Light value" msgstr "Valor de luz" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "O valor calculado de luz da câmera, inclui compensação de exposição" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 msgid "Image area offset" msgstr "Deslocamento de área da imagem" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 #, fuzzy msgid "Raw image size" msgstr "Tamanho da imagem visualizada" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 msgid "Preview image borders" msgstr "Pré-visualizar bordas da imagem" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 msgid "Sensitivity adjust" msgstr "Ajuste de sensitividade" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 msgid "Digital filter" msgstr "Filtro digital" #: src/pentaxmn.cpp:1299 msgid "Camera temperature" msgstr "Temperatura da câmera" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 msgid "Image tone" msgstr "Tom da imagem" #: src/pentaxmn.cpp:1319 msgid "Shake reduction" msgstr "Redução de trepidação" #: src/pentaxmn.cpp:1320 msgid "Shake reduction information" msgstr "Informação de redução de informação" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 msgid "Dynamic range expansion" msgstr "Expansão de amplitude dinâmica" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 msgid "High ISO noise reduction" msgstr "Alta redução de barulho ISO" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 #, fuzzy msgid "AF Adjustment" msgstr "Ajuste de nitidez" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 #, fuzzy msgid "Black point" msgstr "Ponto cinza" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 msgid "White point" msgstr "Ponto branco" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 msgid "ShotInfo" msgstr "InformacaoDisparo" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 msgid "AEInfo" msgstr "AEInfo" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 msgid "LensInfo" msgstr "InformacaoLente" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 msgid "FlashInfo" msgstr "InformacaoFlash" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 msgid "AEMeteringSegments" msgstr "SegmentosMedidaAE" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 msgid "FlashADump" msgstr "DescarteFlashA" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 msgid "FlashBDump" msgstr "DescarteFlashB" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 msgid "WB_RGGBLevelsDaylight" msgstr "WB_RGGBLevelsDaylight" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 msgid "WB_RGGBLevelsShade" msgstr "WB_RGGBLevelsShade" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 msgid "WB_RGGBLevelsCloudy" msgstr "WB_RGGBLevelsCloudy" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 msgid "WB_RGGBLevelsTungsten" msgstr "WB_RGGBLevelsTungsten" #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 msgid "WB_RGGBLevelsFluorescentD" msgstr "WB_RGGBLevelsFluorescentD" #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 msgid "WB_RGGBLevelsFluorescentN" msgstr "WB_RGGBLevelsFluorescentN" #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 msgid "WB_RGGBLevelsFluorescentW" msgstr "WB_RGGBLevelsFluorescentW" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 msgid "WB_RGGBLevelsFlash" msgstr "WB_RGGBLevelsFlash" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 msgid "CameraInfo" msgstr "InformacaoCamera" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 msgid "BatteryInfo" msgstr "InformacaoBateria" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 msgid "AFInfo" msgstr "InformacaoAF" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 msgid "ColorInfo" msgstr "InformacaoCor" #: src/pentaxmn.cpp:1405 msgid "Unknown PentaxMakerNote tag" msgstr "Etiqueta MarcadorNotasPentax desconhecido" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "Esquema núcleo de Dublin" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "Esquema de gerenciamento de fotografias digiKam" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "Esquema de interface do programa de imagem do KDE" #: src/properties.cpp:113 msgid "XMP Basic schema" msgstr "Esquema básico XMP" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "Esquema de gerenciamento de direitos XMP" #: src/properties.cpp:115 msgid "XMP Media Management schema" msgstr "Esquema de gerenciamento de mídia XMP" #: src/properties.cpp:116 msgid "XMP Basic Job Ticket schema" msgstr "Esquema de bilhetes básicos de trabalho XMP" #: src/properties.cpp:117 msgid "XMP Paged-Text schema" msgstr "Esquema de texto paginado XMP" #: src/properties.cpp:118 msgid "XMP Dynamic Media schema" msgstr "Esquema dinâmico XMP" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "Esquema de fotografia Microsoft" #: src/properties.cpp:120 #, fuzzy msgid "Adobe Lightroom schema" msgstr "Esquema Adobe photoshop" #: src/properties.cpp:121 msgid "Adobe PDF schema" msgstr "Esquema Adobe PDF" #: src/properties.cpp:122 msgid "Adobe photoshop schema" msgstr "Esquema Adobe photoshop" #: src/properties.cpp:123 msgid "Camera Raw schema" msgstr "Esquema de câmera bruta" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "Esquema Exif para propriedades TIFF" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "Propriedades Esquemas de exiv específicas para Exif" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "Esquema exif para propriedades adicionais Exif" #: src/properties.cpp:127 src/properties.cpp:128 msgid "IPTC Core schema" msgstr "Esquema de cores IPTC" #: src/properties.cpp:129 src/properties.cpp:130 #, fuzzy msgid "IPTC Extension schema" msgstr "Esquema de cores IPTC" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "Esquema de formato de dados licença PLUS" #: src/properties.cpp:132 msgid "iView Media Pro schema" msgstr "Esquema iView Media Pro" #: src/properties.cpp:133 msgid "Expression Media schema" msgstr "Esquema mídia de expressão" #: src/properties.cpp:134 #, fuzzy msgid "Microsoft Photo 1.2 schema" msgstr "Esquema de fotografia Microsoft" #: src/properties.cpp:135 #, fuzzy msgid "Microsoft Photo RegionInfo schema" msgstr "Esquema de fotografia Microsoft" #: src/properties.cpp:136 #, fuzzy msgid "Microsoft Photo Region schema" msgstr "Esquema de fotografia Microsoft" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "" #: src/properties.cpp:138 msgid "Metadata Working Group Keywords schema" msgstr "" #: src/properties.cpp:139 #, fuzzy msgid "XMP Extended Video schema" msgstr "Esquema dinâmico XMP" #: src/properties.cpp:140 #, fuzzy msgid "XMP Extended Audio schema" msgstr "Esquema dinâmico XMP" #: src/properties.cpp:141 #, fuzzy msgid "XMP Darwin Core schema" msgstr "Esquema núcleo de Dublin" #: src/properties.cpp:142 #, fuzzy msgid "Qualified Dublin Core schema" msgstr "Esquema núcleo de Dublin" #: src/properties.cpp:143 #, fuzzy msgid "ACDSee XMP schema" msgstr "Esquema Adobe PDF" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "" #: src/properties.cpp:148 msgid "Colorant structure" msgstr "Estrutura de corante" #: src/properties.cpp:149 msgid "Dimensions structure" msgstr "Estrutura de dimensões" #: src/properties.cpp:150 msgid "Font structure" msgstr "Estrutura de fontes" #: src/properties.cpp:151 msgid "Thumbnail structure" msgstr "Estrutura de miniaturas" #: src/properties.cpp:152 msgid "Resource Event structure" msgstr "Estrutura de recursos de eventos" #: src/properties.cpp:153 msgid "ResourceRef structure" msgstr "Estrutura ResourceRef" #: src/properties.cpp:154 msgid "Version structure" msgstr "Estrutura de versão" #: src/properties.cpp:155 msgid "Basic Job/Workflow structure" msgstr "Estrutura de Trabalho básico/Fluxo de trabalho" #: src/properties.cpp:156 msgid "Area structure" msgstr "Estrutura da área" #: src/properties.cpp:159 msgid "Qualifier for xmp:Identifier" msgstr "Qualificado para xmp:Identificador" #: src/properties.cpp:163 #, fuzzy msgid "Contributor" msgstr "Mídia contribuída" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "Contribuidores do recurso (outras pessoas que não sejam autoras)" #: src/properties.cpp:164 msgid "Coverage" msgstr "" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" "O tópico espacial ou temporal do recurso, a aplicabilidade espacial do " "recurso ou a jurisdição sob o qual o recurso é relevante." #: src/properties.cpp:166 #, fuzzy msgid "Creator" msgstr "Criador de ferramenta" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "" "Os autores do recurso (listados em ordem de precedência, se significante)." #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "Data(s) que alguma interessante coisa aconteceu ao recurso" #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" "Uma descrição textual do conteúdo do recurso. Múltiplos valores pode estar " "presentes para idiomas diferentes." #: src/properties.cpp:170 src/properties.cpp:1160 #, fuzzy msgid "Format" msgstr "Formato da amostra" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" "O formato do arquivo usado para salvar o recurso. Ferramentas e aplicações " "deveriam definir esta propriedade para salvar o formato dos dados. Pode " "incluir qualificadores apropriados." #: src/properties.cpp:172 src/properties.cpp:228 msgid "Identifier" msgstr "" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" "Identificador único do recurso. A melhor prática recomendada é identificar o " "recurso por meio de uma sequência de caracteres em conformidade a um sistema " "formal de identificação." #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "Um arranjo desordenado especificando as linguagens usadas no recurso." #: src/properties.cpp:175 msgid "Publisher" msgstr "" #: src/properties.cpp:175 msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" "Uma entidade responsável por fazer o recurso disponível. Exemplos de um " "publicador incluem uma pessoa, uma organização ou um serviço. Tipicamente, o " "nome de um publicador deveria ser usado para indicar a entidade." #: src/properties.cpp:178 #, fuzzy msgid "Relation" msgstr "Rotação2" #: src/properties.cpp:178 msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" "Relacionamentos com outros documentos. A melhor prática recomendada é " "identificar o recurso relativo por meio de uma sequência de caracteres em " "conformidade com um sistema formal de identificação." #: src/properties.cpp:180 #, fuzzy msgid "Rights" msgstr "Claro" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" "Declaração de direitos informal, selecionado por idioma. Tipicamente, " "informação de direitos inclui uma declaração sobre vários direitos de " "propriedade associado com o recurso, incluindo direito de propriedade " "intelectual." #: src/properties.cpp:183 msgid "Unique identifier of the work from which this resource was derived." msgstr "Identificador único do trabalho da qual o recurso foi derivado." #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" "Um arranjo desordenado de frases descritivas ou palavras chave que " "especificam o tópico do conteúdo do recurso." #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" "O título do documento, ou o nome dado ao recurso. Tipicamente, será um nome " "pela qual o recurso é formalmente conhecido." #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 msgid "Type" msgstr "" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "" "Um tipo de documento; por exemplo, novela, poema ou documento de trabalho." #: src/properties.cpp:194 msgid "Tags List" msgstr "Lista de etiquetas" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" "A lista do caminho completo do caminho de etiquetas como uma sequência de " "caracteres. A hierarquia do caminho é separado pelo caracter '/' (ex.: " "\"Cidade/Paris/Monumento/Torre Eiffel\")." #: src/properties.cpp:195 msgid "Captions Author Names" msgstr "Legendas nomes de autor" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" "A lista de todas as legendas de nomes de autores para cada legenda de " "linguagem alternativa definida em etiqueta XMP padronizados." #: src/properties.cpp:196 msgid "Captions Date Time Stamps" msgstr "Rótulos Data Hora Estampas" #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" "A lista de todas as legendas estampas de data e hora para cada legenda de " "linguagem alternativa definida em etiqueta XMP padronizados." #: src/properties.cpp:197 src/tags.cpp:844 #, fuzzy msgid "Image History" msgstr "Tom da imagem" #: src/properties.cpp:197 #, fuzzy msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" "Um conteúdo baseado em XML para listar todas as ações processadas nesta " "imagem com o editor de imagem (como cortar, girar, correção de cor, ajustes " "etc.)." #: src/properties.cpp:198 msgid "Lens Correction Settings" msgstr "Configurações de correção de lente" #: src/properties.cpp:198 #, fuzzy msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" "A lista das configurações das ferramentas de correção de lente usadas para " "consertar distorções de lente. Inclui Gerenciador de Fila em Lotes e " "ferramentas de edição de imagem baseadas na biblioteca LensFun." #: src/properties.cpp:199 msgid "Color Label" msgstr "Rótulo da cor" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" "O rótulo da cor atribuído a esse item. Valores possíveis são \"0\": sem " "rótulo; \"1\": Vermelho; \"2\": Laranja; \"3\": Amarelo; \"4\": Verde; " "\"5\": Azul; \"6\": Magenta; \"7\": Cinza; \"8\": Preto; \"9\": Branco." #: src/properties.cpp:200 msgid "Pick Label" msgstr "" #: src/properties.cpp:200 #, fuzzy msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" "O rótulo da cor atribuído a esse item. Valores possíveis são \"0\": sem " "rótulo; \"1\": Vermelho; \"2\": Laranja; \"3\": Amarelo; \"4\": Verde; " "\"5\": Azul; \"6\": Magenta; \"7\": Cinza; \"8\": Preto; \"9\": Branco." #: src/properties.cpp:206 #, fuzzy msgid "Panorama Input Files" msgstr "Arquivos de entrada Enfuse" #: src/properties.cpp:206 #, fuzzy msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" "A lista de arquivos processados com o programa Enfuse através da ferramenta " "ExpoBlending" #: src/properties.cpp:207 msgid "Enfuse Input Files" msgstr "Arquivos de entrada Enfuse" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" "A lista de arquivos processados com o programa Enfuse através da ferramenta " "ExpoBlending" #: src/properties.cpp:208 msgid "Enfuse Settings" msgstr "Configuração da fusão" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" "A lista de configurações Enfuse usadas para misturar a pilha de imagens com " "a ferramenta ExpoBlending." #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "" #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "" #: src/properties.cpp:216 msgid "Advisory" msgstr "" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" "Uma matriz desordenado especificando propriedades que foram editados fora da " "aplicação de autoria. Cada item deve conter um único namespace e XPath " "separados por um espaço ASCII (U+0020)." #: src/properties.cpp:219 src/properties.cpp:1066 #, fuzzy msgid "Base URL" msgstr "Última URL" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" "A URL base para URLs relativas no conteúdo do documento. Se este documento " "contém links para a Internet e estes forem relativos, eles são relativos a " "esta URL. Esta propriedade provê um meio padrão para URLs relativas " "incorporadas serem interpretadas por ferramentas. Ferramentas web de autoria " "devem colocar o valor baseado na sua noção de onde as URLs serão " "interpretadas." #: src/properties.cpp:224 #, fuzzy msgid "Create Date" msgstr "Estilo criativo" #: src/properties.cpp:224 msgid "The date and time the resource was originally created." msgstr "A data e a hora do recurso foi originalmente criada." #: src/properties.cpp:225 msgid "Creator Tool" msgstr "Criador de ferramenta" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" "O nome da primeira ferramenta conhecida para criar o recurso. Se um " "histórico estiver presente nos metadados, esse valor deve ser equivalente a " "propriedade softwareAgent do xmpMM:History." #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" "Uma matriz não-ordenada de strings de texto que identifica inequivocamente o " "recurso dentro de um determinado contexto. Um item matriz pode ser " "qualificado com xmpidq:Scheme para designar o sistema de identificação " "formal para a conformidade deste identificador. Nota: O propriedade do dc:" "identifier não é usada porque lhe falta um qualificador de esquema definido " "e tem sido definido na Especificação XMP como uma simples propriedade de " "(valor único) ." #: src/properties.cpp:233 #, fuzzy msgid "Label" msgstr "Rótulo da cor" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" "Uma palavra ou frase curta que identifica um documento como um membro de uma " "coleção definida pelo usuário. Utilizado para organizar documentos em um " "navegador de arquivos." #: src/properties.cpp:235 msgid "Metadata Date" msgstr "Data dos metadados" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" "A data e hora que qualquer metadado desse recurso foi modificado pela última " "vez. Ele deve ser o mesmo ou mais recente que xmp:ModifyData." #: src/properties.cpp:237 msgid "Modify Date" msgstr "Modificar data" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" "A data e hora que o recurso foi modificado pela última vez. Nota: o valor " "dessa propriedade não é necessariamente igual à data de modificação do " "sistema de arquivos porque ele é gravado depois que o arquivo é salvo." #: src/properties.cpp:240 msgid "Nickname" msgstr "" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "" #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 #, fuzzy msgid "Rating" msgstr "Taxa percentual" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" "Um número que indica o status do documento em relação a outros documentos, " "usado para organizar documentos em um navegador de arquivos. Valores são " "definidos por usuários dentro de um intervalo definido pela aplicação." #: src/properties.cpp:244 #, fuzzy msgid "Thumbnails" msgstr "Estrutura de miniaturas" #: src/properties.cpp:244 msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" "Uma matriz alternativa de miniaturas para um arquivo, que pode ter " "características diferentes, como tamanho ou codificação da imagem." #: src/properties.cpp:251 msgid "Certificate" msgstr "" #: src/properties.cpp:251 msgid "Online rights management certificate." msgstr "Certificado on-line de gestão de direitos." #: src/properties.cpp:252 msgid "Marked" msgstr "" #: src/properties.cpp:252 msgid "Indicates that this is a rights-managed resource." msgstr "Indica que isso é um recurso com direitos gerenciados." #: src/properties.cpp:253 msgid "Owner" msgstr "" #: src/properties.cpp:253 msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "Um array desordenado especificando o(s) dono(s) de um recurso." #: src/properties.cpp:254 msgid "Usage Terms" msgstr "Termos de uso" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "Manual de instruções sobre como um recurso pode ser usado legalmente." #: src/properties.cpp:255 msgid "Web Statement" msgstr "Declaração web" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" "A localização de uma página que descreve o proprietário e/ou declaração de " "direitos para este recurso." #: src/properties.cpp:261 msgid "Derived From" msgstr "Derivados de" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" "A referência ao documento original do qual este deriva. É uma referência " "mínima; componentes em falta pode ser considerado como inalterado. Por " "exemplo, uma nova versão só poderá ter necessidade de especificar o número " "de ID da instância e versão da versão anterior, ou uma versão só poderá ter " "a necessidade de especificar o ID da instância e classe entrega do original." #: src/properties.cpp:266 msgid "Document ID" msgstr "" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" "O identificador comum para todas as versões e interpretações de um " "documento. Deve ser baseado em um UUID; ver Documentação da Instância de " "identificações abaixo." #: src/properties.cpp:268 msgid "History" msgstr "" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" "Um conjunto ordenado do usuário de alto nível que resultou neste recurso. A " "intenção é dar aos leitores uma indicação geral das medidas tomadas para " "fazer as mudanças da versão anterior à esta. A lista deve ser em um nível " "abstrato; não se destina a ser uma digitação exaustiva ou outra história " "detalhada." #: src/properties.cpp:272 msgid "Instance ID" msgstr "ID de instãncia" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" "Um identificador para um específico incarnation de um documento, atualizado " "cada vez que um arquivo é salvo. Deve basear-se em um UUID; Ver Documento e " "Instância IDs abaixo." #: src/properties.cpp:274 msgid "Managed From" msgstr "Gerenciado de" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" "A referência ao documento como era antes de se tornar gerenciado. Ele é " "definido quando um documento gerenciado é introduzido em um sistema de " "gerenciamento de ativos que atualmente não tem dono. Pode ou não pode " "incluir referências a diferentes sistemas de gestão." #: src/properties.cpp:277 #, fuzzy msgid "Manager" msgstr "Administrar para" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" "O nome do sistema de gestão de ativos que administra este recurso. Junto com " "xmpMM: ManagerVariant, ele diz que as aplicações do sistema de gestão de " "ativos mantém contato relativo à esse documento." #: src/properties.cpp:280 msgid "Manage To" msgstr "Administrar para" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" "Um URI que identifica o gerenciador de recursos ao sistema de gestão de " "ativos; a presença da propriedade é a indicação formal de que esse recurso é " "gerenciado. A forma e o conteúdo desta URI é particular ao sistema de gestão " "de ativos." #: src/properties.cpp:283 msgid "Manage UI" msgstr "Gerenciar Interface do Usuário" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" "Um URI que pode ser usada para acessar informações sobre os recursos " "gerenciados através de um navegador web. Pode exigir um browser plug-in " "personalizado." #: src/properties.cpp:285 msgid "Manager Variant" msgstr "Variante do gerenciador" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" "Especifica uma variante particular do sistema de gestão de ativos. O formato " "dessa propriedade é particular ao sistema específico de gestão de activos." #: src/properties.cpp:287 msgid "Rendition Class" msgstr "Classe de entrega" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" "O nome da classe de entregas para este recurso. Esta propriedade deve estar " "ausente ou definido como padrão para uma versão do documento que não é uma " "versão derivada." #: src/properties.cpp:289 msgid "Rendition Params" msgstr "Parâmetros de capitulação" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" "Pode ser usado para prover parâmetros de capitulação adicional que são tão " "complexos ou detalhados para encodar em xmpMM: RenditionClass." #: src/properties.cpp:291 msgid "Version ID" msgstr "ID da versão" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr "" "O identificador da versão do documento para este recurso. Cada versão de um " "documento obtêm um novo identificador, usualmente simplificado pelo " "incremento de inteiros 1, 2, 3... e assim por diante. Sistema de gestão de " "mídia pode ter outras convenções ou suportar a ramificação que requeira um " "esquema mais complexo." #: src/properties.cpp:295 #, fuzzy msgid "Versions" msgstr "ID da versão" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" "A história da versão associada com este recurso. Entrada [1] é a versão mais " "velha conhecida para este documento, entrada [última()] é a versão mais " "recente. Tipicamente, o sistema de gestão da mídia poderá preencher a " "informação da versão nos metadados ao checar. Não é garantido que um " "histórico completo das versões desde o primeiro estarão presente no xmpMM:" "versões proprietárias. Informações internas da versão podem ser comprimidas " "ou eliminadas e a versão histórica pode ser truncada em algum ponto." #: src/properties.cpp:301 msgid "Last URL" msgstr "Última URL" #: src/properties.cpp:301 msgid "Deprecated for privacy protection." msgstr "Obsoleto para proteção a privacidade." #: src/properties.cpp:302 msgid "Rendition Of" msgstr "Capitulação de" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" "Preterido em favor de xmpMM:DerivadoDe. Uma referência para o documento de " "que está é a capitulação." #: src/properties.cpp:304 msgid "Save ID" msgstr "Salvar ID" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "" "Obsoleto. Anteriormente usado somente para suportar a propriedade xmpMM:" "LastUrl." #: src/properties.cpp:310 msgid "Job Reference" msgstr "Trabalho de referência" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" "Referências a um arquivo de gerenciamento de trabalho externo para um " "processo de trabalho em que o documento está sendo usado. Uso de nomes de " "trabalho está sob o controle do usuário. Usado tipicamente para identificar " "todos os documentos que são parte de um trabalho particular ou contrato. " "Aqui estão valores múltiplos porque estes podem ser mais do que um trabalho " "usando um documento particular a qualquer momento, podendo ser usado para " "manter informação histórica sobre em quais trabalhos um documento fez parte " "previamente." #: src/properties.cpp:319 #, fuzzy msgid "Maximum Page Size" msgstr "Tamanho de imagem completo" #: src/properties.cpp:319 msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "" "O tamanho da maior página no documento (inclusive em documentos contidos)." #: src/properties.cpp:320 #, fuzzy msgid "Number of Pages" msgstr "Número de batimentos" #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "" "A quantidade de páginas do documento (incluindo nos documentos contidos)." #: src/properties.cpp:321 msgid "Fonts" msgstr "" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" "Um conjunto não ordenado de fontes que foram usadas no documento (incluindo " "quaisquer documentos contidos)." #: src/properties.cpp:322 msgid "Colorants" msgstr "Corantes" #: src/properties.cpp:322 msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" "Um conjunto ordenado de corantes (amostras) que foram usados no documento " "(incluindo quaisquer documentos contidos)." #: src/properties.cpp:323 msgid "Plate Names" msgstr "Placa de nomes" #: src/properties.cpp:323 msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" "Uma matriz ordenada de nomes emplacados que são necessários para imprimir o " "documento (incluindo qualquer inserção nos documentos)." #: src/properties.cpp:329 src/properties.cpp:1285 #, fuzzy msgid "Project Reference" msgstr "Referência do projeto do licenciado" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "A referência ao projeto que criou esse arquivo." #: src/properties.cpp:330 src/properties.cpp:1163 #, fuzzy msgid "Video Frame Rate" msgstr "Taxa de amostra de áudio" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "A taxa de quadros do vídeo. Um dos: 24, NTSC, PAL." #: src/properties.cpp:331 src/properties.cpp:1164 #, fuzzy msgid "Video Frame Size" msgstr "Campo de ordem para vídeo" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "O tamanho do quadro. Por exemplo: w:720, h: 480, unidade:pixels" #: src/properties.cpp:332 msgid "Video Pixel Aspect Ratio" msgstr "Taxa de aspecto do pixel em vídeo" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "" "A taxa de aspecto, expressada como ht/wd. Por exemplo: \"648/720\" = 0.9" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "Video Pixel Depth" msgstr "Profundidade do pixel em vídeo" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" "O tamanho em bits de cada componente de cor de um pixel. Padrão Windows 32-" "bit pixels têm 8 bits por componente. Um dos: 8Int, 16Int, 32Int, 32Float." #: src/properties.cpp:335 src/properties.cpp:1081 msgid "Video Color Space" msgstr "Espaço de cor em vídeo" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" "O espaço de cor. Um dos: sRGB (usado pelo Photoshop), CCIR-601 (usado para " "NTSC), CCIR-709 (usado para HD)." #: src/properties.cpp:337 msgid "Video Alpha Mode" msgstr "Modo de vídeo alpha" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "O modo alpha. Um de: linha reta, pré-multiplicado" #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "Cor pré-multipla em vídeo alpha" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" "Um cor em CMYK ou RGB é usada como a cor pré-múltipla quando o modo alpha é " "pré-multiplicado." #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "Unidade de vídeo alpha é transparente" #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "Quando verdadeiro, unidade é clara, quando falso, ela é opaqua." #: src/properties.cpp:341 msgid "Video Compressor" msgstr "Compressor de vídeo" #: src/properties.cpp:341 msgid "Video compression used. For example, jpeg." msgstr "Compressão de video utilizada. Por exempo, jpeg." #: src/properties.cpp:342 msgid "Video Field Order" msgstr "Campo de ordem para vídeo" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "Campo de ordem para vídeo. Um dos: superior, inferior, progressivo." #: src/properties.cpp:343 msgid "Pull Down" msgstr "Pular para baixo" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" "A amostragem de fase do filme é convertida para (pular para abaixo). Um dos: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." #: src/properties.cpp:345 src/properties.cpp:1425 msgid "Audio Sample Rate" msgstr "Taxa de amostra de áudio" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" "A taxa de amostra de áudio. Pode ser qualquer valor, sendo mas comummente em " "32000, 41100, ou 48000." #: src/properties.cpp:346 src/properties.cpp:1426 msgid "Audio Sample Type" msgstr "Tipo de amostra de áudio" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "O tipo de amostra de áudio. Um dos: 8Int, 16Int, 32Int, 32Float." #: src/properties.cpp:347 src/properties.cpp:1400 msgid "Audio Channel Type" msgstr "Tipo de canal de áudio" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "O tipo de canal de áudio. Um dos: Mono, Stereo, 5.1, 7.1." #: src/properties.cpp:348 src/properties.cpp:1407 msgid "Audio Compressor" msgstr "Compressor de áudio" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "A compressão de áudio usado. Por exemplo, MP3" #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "Posicionamento do alto-falante" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" "Uma descrição dos ângulos dos alto-falantes, com referência do centro à " "frente, em graus. Por exemplo: \"Esquerda = -30, Direita = 30, Centro = 0, " "LFE = 45, Surround à Esquerda = -110, Surround à direita= 110\"" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "File Data Rate" msgstr "Taxa de dados do arquivo" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "" "A taxa de dados do arquivo em megabytes por segundo. Por exemplo:\"36/10\" = " "3.6 MB/seg" #: src/properties.cpp:352 src/properties.cpp:1334 msgid "Tape Name" msgstr "Nome da fita" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "" "O nome da fita a qual o clipe foi capturado, como a definição durante o " "processo de captura." #: src/properties.cpp:353 msgid "Alternative Tape Name" msgstr "Nome da fita alternativa" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" "Um nome alternativo da fita, definida via a janela do projeto ou pelo " "diálogo do timecode na Premiere. Se um nome alternativo foi definido e não " "foi revertido, este nome é mostrado." #: src/properties.cpp:355 msgid "Start Time Code" msgstr "Código de tempo inicial" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "" "O código do tempo do primeiro quadro de vídeo no arquivo, como obtido do " "dispositivo de controle." #: src/properties.cpp:356 msgid "Alternative Time code" msgstr "Código do tempo alternativo" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" "Um código do tempo definido pelo usuário. Quando especificado, ele é usado " "ao invés do início do código de tempo." #: src/properties.cpp:357 src/properties.cpp:1124 #, fuzzy msgid "Duration" msgstr "Transição gradual" #: src/properties.cpp:357 msgid "The duration of the media file." msgstr "A duração do arquivo de mídia." #: src/properties.cpp:358 #, fuzzy msgid "Scene" msgstr "Cena de vento" #: src/properties.cpp:358 msgid "The name of the scene." msgstr "O nome da cena." #: src/properties.cpp:359 #, fuzzy msgid "Shot Name" msgstr "Placa de nomes" #: src/properties.cpp:359 msgid "The name of the shot or take." msgstr "O nome da gravação ou tomada." #: src/properties.cpp:360 #, fuzzy msgid "Shot Date" msgstr "Modificar data" #: src/properties.cpp:360 msgid "The date and time when the video was shot." msgstr "A data e hora em que o vídeo foi filmado." #: src/properties.cpp:361 #, fuzzy msgid "Shot Location" msgstr "Localização do Assunto" #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" "O nome da locação onde o vídeo foi gravado. Por exemplo: \"Oktoberfest, " "Munique, Alemanha\" Para um posicionamento mais preciso, uso os valores EXIF " "GPS." #: src/properties.cpp:363 msgid "Log Comment" msgstr "Registro de comentário" #: src/properties.cpp:363 msgid "User's log comments." msgstr "Resgistro de comentários do usuário." #: src/properties.cpp:364 msgid "Markers" msgstr "" #: src/properties.cpp:364 msgid "An ordered list of markers" msgstr "Uma lista ordenada dos marcadores" #: src/properties.cpp:365 msgid "Contributed Media" msgstr "Mídia contribuída" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "" "Uma lista não ordenada de todas as mídias usadas para criar esta mídia." #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "Caminho absoluto para o arquivo de áudio de pico" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" "O caminho absoluto para o arquivo de áudio de pico. Se vazio, o arquivo de " "pico não existe." #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "Caminho relativo para o arquivo de áudio de pico" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" "O caminho relativo para o arquivo de áudio de pico. Se vazio, o arquivo de " "pico não existe." #: src/properties.cpp:368 msgid "Video Modified Date" msgstr "Data de modificação do vídeo" #: src/properties.cpp:368 msgid "The date and time when the video was last modified." msgstr "A data e a hora que o vídeo foi modificado pela última vez." #: src/properties.cpp:369 msgid "Audio Modified Date" msgstr "Data de modificação do áudio" #: src/properties.cpp:369 msgid "The date and time when the audio was last modified." msgstr "A data e a hora em que o áudio foi modificado pela última vez." #: src/properties.cpp:370 msgid "Metadata Modified Date" msgstr "Data de modificação do metadado" #: src/properties.cpp:370 msgid "The date and time when the metadata was last modified." msgstr "A data e vezes quando o metadado foi modificado pela última vez." #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "" #: src/properties.cpp:371 src/properties.cpp:1058 msgid "The name of the artist or artists." msgstr "O nome do artista ou artistas." #: src/properties.cpp:372 src/properties.cpp:1054 msgid "Album" msgstr "" #: src/properties.cpp:372 src/properties.cpp:1054 #, fuzzy msgid "The name of the album." msgstr "O nome da cena." #: src/properties.cpp:373 src/properties.cpp:1366 #, fuzzy msgid "Track Number" msgstr "Número de série" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "" "Um valor numérico que indica o fim do arquivo de áudio da sua gravação " "original." #: src/properties.cpp:374 src/properties.cpp:1166 msgid "Genre" msgstr "" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "The name of the genre." msgstr "Nome do gênero." #: src/properties.cpp:375 msgid "The copyright information." msgstr "As informações de direitos autorais." #: src/properties.cpp:376 msgid "The date the title was released." msgstr "Data em que o título foi lançado." #: src/properties.cpp:377 src/properties.cpp:1086 msgid "Composer" msgstr "" #: src/properties.cpp:377 msgid "The composer's name." msgstr "Nome do compositor." #: src/properties.cpp:378 src/properties.cpp:1143 msgid "Engineer" msgstr "" #: src/properties.cpp:378 msgid "The engineer's name." msgstr "Nome do engenheiro." #: src/properties.cpp:379 msgid "Tempo" msgstr "Tempo" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "Tempo de áudio." #: src/properties.cpp:380 #, fuzzy msgid "Instrument" msgstr "Argumento inválido" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "Instrumento musical." #: src/properties.cpp:381 msgid "Intro Time" msgstr "Tempo de introdução" #: src/properties.cpp:381 msgid "The duration of lead time for queuing music." msgstr "A duração do tempo de espera para a fila de música." #: src/properties.cpp:382 msgid "Out Cue" msgstr "Deixado de fora" #: src/properties.cpp:382 msgid "The time at which to fade out." msgstr "O momento para o fade out." #: src/properties.cpp:383 msgid "Relative Timestamp" msgstr "Relativo tempo estampado" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "O momento inicial da mídia inserida do projeto de áudio." #: src/properties.cpp:384 msgid "Loop" msgstr "" #: src/properties.cpp:384 #, fuzzy msgid "When true, the clip can be looped seamlessly." msgstr "Quando verdadeiro, o clipe pode ser retornado continuadamante." #: src/properties.cpp:385 msgid "Number Of Beats" msgstr "Número de batimentos" #: src/properties.cpp:385 msgid "The number of beats." msgstr "O número de batidas." #: src/properties.cpp:386 msgid "Key" msgstr "" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "" "A tecla musical do áudio. Um dos: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." #: src/properties.cpp:387 msgid "Stretch Mode" msgstr "Modo de trecho" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" "O modo de trecho de áudio. Um dos: comprimento fixado, escala de tempo, " "reamostra, batida emendada, híbrido." #: src/properties.cpp:388 msgid "Time Scale Parameters" msgstr "Parâmetros de escala de tempo" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "Parâmetros adicionais para a escala de tempo no modo de trecho." #: src/properties.cpp:389 msgid "Resample Parameters" msgstr "Parametros de reamostra" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "Parâmetros adicionais para a reamostra no modo de trecho." #: src/properties.cpp:390 msgid "Beat Splice Parameters" msgstr "Parâmetros de emenda de batida" #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "Parâmetros adicionais para a emenda de batida no modo de trecho." #: src/properties.cpp:391 msgid "Time Signature" msgstr "Assinatura do tempo" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" "O compasso da música. Um dos: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, 12/8, outro." #: src/properties.cpp:392 msgid "Scale Type" msgstr "Tipo de escala" #: src/properties.cpp:392 msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "" "A escala musical usada na música. Um dos: Maior, Menor, Ambos, Nenhuma. A " "escala Nenhuma é mais usada por instrumentos sem escala associada, com a " "bateria." #: src/properties.cpp:399 src/tags.cpp:1078 #, fuzzy msgid "Camera Serial Number" msgstr "Número de série da câmera." #: src/properties.cpp:399 msgid "Camera Serial Number." msgstr "Número de série da câmera." #: src/properties.cpp:400 msgid "Date Acquired" msgstr "Data adquirida" #: src/properties.cpp:400 msgid "Date Acquired." msgstr "Data adquirida." #: src/properties.cpp:401 msgid "Flash Manufacturer" msgstr "Fabricante de flash" #: src/properties.cpp:401 msgid "Flash Manufacturer." msgstr "Fabricante de flash." #: src/properties.cpp:402 msgid "Flash Model." msgstr "Modelo de flash." #: src/properties.cpp:403 msgid "Last Keyword IPTC" msgstr "Última palavra-chave IPTC" #: src/properties.cpp:403 msgid "Last Keyword IPTC." msgstr "Última palavra-chave IPTC." #: src/properties.cpp:404 msgid "Last Keyword XMP" msgstr "Última palavra-chave XMP" #: src/properties.cpp:404 msgid "Last Keyword XMP." msgstr "Última palavra-chave XMP." #: src/properties.cpp:405 msgid "Lens Manufacturer" msgstr "Fabricante de lentes" #: src/properties.cpp:405 msgid "Lens Manufacturer." msgstr "Fabricante de lentes." #: src/properties.cpp:406 src/properties.cpp:1199 msgid "Lens Model." msgstr "Modelo de lentes." #: src/properties.cpp:407 msgid "Rating Percent" msgstr "Taxa percentual" #: src/properties.cpp:407 msgid "Rating Percent." msgstr "Taxa percentual." #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "" #: src/properties.cpp:414 msgid "Private RTK Info" msgstr "" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "" #: src/properties.cpp:420 msgid "Keywords." msgstr "Palavras-chaves." #: src/properties.cpp:421 #, fuzzy msgid "PDF Version" msgstr "Versão PLUS" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "A versão do arquivo PDF (por exemplo:: 1.0, 1.3, e assim por diante)." #: src/properties.cpp:422 src/properties.cpp:1278 msgid "Producer" msgstr "" #: src/properties.cpp:422 msgid "The name of the tool that created the PDF document." msgstr "Nome da ferramenta que criou o documento PDF." #: src/properties.cpp:428 msgid "Authors Position" msgstr "Posição dos autores" #: src/properties.cpp:428 msgid "By-line title." msgstr "Título por linha." #: src/properties.cpp:429 msgid "Caption Writer" msgstr "Redator de legendas." #: src/properties.cpp:429 msgid "Writer/editor." msgstr "Escritor/editor" #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "Categoria. Limitada a caracteres ASCII de 3-7 bits" #: src/properties.cpp:431 msgid "City." msgstr "Cidade." #: src/properties.cpp:432 msgid "Country/primary location." msgstr "País/localização primária." #: src/properties.cpp:433 msgid "Credit." msgstr "Crédito." #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" "A data na qual o conteúdo intelectual foi criado (ao invés da data de " "criação da representação física), seguindo-se as convenções IIM. Por " "exemplo, uma foto tirada durante a Guerra Civil Americana teria a data de " "criação durante a época (1861-1865) ao invés da data em que a foto foi " "digitalizada para arquivamento." #: src/properties.cpp:438 msgid "Headline." msgstr "Manchete." #: src/properties.cpp:439 msgid "Special instructions." msgstr "Instruções especiais." #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source." msgstr "Fonte." #: src/properties.cpp:441 msgid "Province/state." msgstr "Província/Estado" #: src/properties.cpp:442 msgid "Supplemental category." msgstr "Categoria suplementar." #: src/properties.cpp:443 msgid "Original transmission reference." msgstr "Referência original de transmissão." #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "Urgência. A faixa válida é 1-8." #: src/properties.cpp:452 msgid "inches" msgstr "" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "" #: src/properties.cpp:457 #, fuzzy msgid "Auto Brightness" msgstr "Valor do Brilho" #: src/properties.cpp:457 msgid "When true, \"Brightness\" is automatically adjusted." msgstr "Quando verdadeiro, \"brilho\" é ajustado automaticamente." #: src/properties.cpp:458 #, fuzzy msgid "Auto Contrast" msgstr "Contraste PM" #: src/properties.cpp:458 msgid "When true, \"Contrast\" is automatically adjusted." msgstr "Quando verdadeiro, \"contraste\" é ajustado automaticamente." #: src/properties.cpp:459 #, fuzzy msgid "Auto Exposure" msgstr "Múltipla exposição" #: src/properties.cpp:459 msgid "When true, \"Exposure\" is automatically adjusted." msgstr "Quando verdadeiro, a \"Exposição\" é automaticamente ajustada." #: src/properties.cpp:460 msgid "Auto Shadows" msgstr "Auto-sombreamento." #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "Quando verdadeiro, \"Sombreamento\" é automaticamente ajustado." #: src/properties.cpp:461 msgid "Blue Hue" msgstr "Hue azul." #: src/properties.cpp:461 msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "Ajsute de \"Hue Azul\". Faixa -100 a 100." #: src/properties.cpp:462 msgid "Blue Saturation" msgstr "Saturação de azul" #: src/properties.cpp:462 msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "Ajuste de \"Saturação de Azul\". Faixa -100 a 100." #: src/properties.cpp:463 msgid "\"Brightness\" setting. Range 0 to +150." msgstr "Ajuste de \"Brilho\". Faixa de 0 a +150." #: src/properties.cpp:464 msgid "Camera Profile" msgstr "Perfil de câmera" #: src/properties.cpp:464 msgid "\"Camera Profile\" setting." msgstr "Ajuste de \"Perfil de Câmera\"." #: src/properties.cpp:465 msgid "Chromatic Aberration Blue" msgstr "Azul de aberração cromática." #: src/properties.cpp:465 msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "" "Ajuste de \"Aberração Cromática, Conserte Limite de Azul/Amarelo\". Faixa " "-100 a +100." #: src/properties.cpp:466 msgid "Chromatic Aberration Red" msgstr "Vermelho de Aberração Cromática." #: src/properties.cpp:466 msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "" "Ajuste de \"Aberração Cromática, Conserte Limite de Vermelho/Ciano\". Faixa " "-100 a +100." #: src/properties.cpp:467 src/properties.cpp:1080 msgid "Color Noise Reduction" msgstr "Redução de Ruído de Cor" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "Ajsute de \"Redução de Ruído de Cor\". Faixa de 0 a +100." #: src/properties.cpp:468 msgid "\"Contrast\" setting. Range -50 to +100." msgstr "Ajsute de \"Contraste\". Faixa de -50 a +100." #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "Quando \"Tem Corte\" é verdadeiro, topo do retângulo de corte." #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "Quando \"Tem Corte\" é verdadeiro, esquerda do retângulo de corte." #: src/properties.cpp:471 msgid "Crop Bottom" msgstr "A Parte de Baixo do Corte" #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "" "Quando \"Tem Corte\" é verdadeiro, a parte de baixo do retângulo de corte." #: src/properties.cpp:472 msgid "Crop Right" msgstr "Corte à direita" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "Quando \"Tem Corte\" é verdadeiro, direita do retângulo de corte." #: src/properties.cpp:473 msgid "Crop Angle" msgstr "Corte em Ângulo" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "Quando \"Tem Corte\" é verdadeiro, ângulo do retângulo de corte." #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "Largura da imagem cortada resultante em unidades de corte." #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "Altura da imagem cortada resultante em unidades de corte." #: src/properties.cpp:476 msgid "Crop Units" msgstr "Unidades de corte" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "" "Unidades para Largura de Corte e Altura de Corte. 0=pixels, 1=pol, 2=cm" #: src/properties.cpp:477 msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "Ajuste de \"Exposição\". Faixa de -4.0 a +4.0." #: src/properties.cpp:478 #, fuzzy msgid "Green Hue" msgstr "Hue Verde" #: src/properties.cpp:478 msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "Ajsute de \"Hue Verde\". Faixa -100 a 100." #: src/properties.cpp:479 msgid "Green Saturation" msgstr "Saturação de verde" #: src/properties.cpp:479 msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "Ajuste de \"Saturação de Verde\". Faixa -100 a +100." #: src/properties.cpp:480 msgid "Has Crop" msgstr "Tem corte" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "Quando verdadeiro, a imagem tem um retângulo de corte." #: src/properties.cpp:481 msgid "Has Settings" msgstr "Tem ajuste" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "Quando verdadeiro, ajustes raw de câmera não-padrão." #: src/properties.cpp:482 msgid "Luminance Smoothing" msgstr "Suavização da luminância" #: src/properties.cpp:482 msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "Ajuste da \"Suavização da Luminância\". Faixa de 0 a +100." #: src/properties.cpp:483 msgid "Raw File Name" msgstr "Nome do arquivo raw." #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "Nome para o arquivo raw (não um caminho completo)." #: src/properties.cpp:484 msgid "Red Hue" msgstr "Hue vermelho." #: src/properties.cpp:484 msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "Ajuste de \"Hue Vermelho\". Faixa de -100 a +100." #: src/properties.cpp:485 msgid "Red Saturation" msgstr "Saturação de vermelho" #: src/properties.cpp:485 msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "Ajuste de \"Saturação de Vermelho\". Faixa de -100 a +100." #: src/properties.cpp:486 msgid "\"Saturation\" setting. Range -100 to +100." msgstr "Ajuste de \"Saturação\". Faixa de -100 a +100." #: src/properties.cpp:487 #, fuzzy msgid "Shadows" msgstr "Auto-sombreamento." #: src/properties.cpp:487 msgid "\"Shadows\" setting. Range 0 to +100." msgstr "Ajuste de \"Sombreamento\". Faixa de 0 a +100." #: src/properties.cpp:488 msgid "Shadow Tint" msgstr "Coloração da Sombra" #: src/properties.cpp:488 msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "Ajuste da \"Coloração da Sombra\". Faixa de -100 a +100." #: src/properties.cpp:489 src/properties.cpp:1301 msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "Ajuste da \"Nitidez\". Faixa de 0 a +100." #: src/properties.cpp:490 msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "Ajuste da \"Temperatura\". Faixa de 2000 a 50000." #: src/properties.cpp:491 msgid "Tint" msgstr "" #: src/properties.cpp:491 msgid "\"Tint\" setting. Range -150 to +150." msgstr "Ajuste da \"Coloração\". Faixa de -150 a +150." #: src/properties.cpp:492 msgid "Tone Curve" msgstr "Curva de Tonalidade" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "" "Matriz de pontos (inteiro,inteiro) que define uma \"Curva de Tonalidade\"." #: src/properties.cpp:493 msgid "Tone Curve Name" msgstr "Nome da Curva de Tonalidade" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" "O nome da curva de tonalidade descrita pela Curvade Tonalidade. Uma opção " "dentre: Linear, Contraste Médio, Contraste Forte, Personalizado ou um nome " "pré-definido pelo usuário." #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "Versão do plug-in para Camera raw." #: src/properties.cpp:496 msgid "Vignette Amount" msgstr "Quantidade de vinhetas" #: src/properties.cpp:496 msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "Ajuste de \"Qauntidade de Vinhetas\". Faixa de -100 a +100." #: src/properties.cpp:497 msgid "Vignette Midpoint" msgstr "Ponto médio da Vinheta" #: src/properties.cpp:497 msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "Ajuste do \"Ponto médio da Vinheta\". Faixa de 0 a +100." #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" "Ajuste de \"Balanço de Branco\". Uma opção dentre: Como tirada, Auto, Luz do " "dia, Nublado, Sombra, Tungstênio, Fluorescente, Flash, Personalizado" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "TIFF etiqueta 256, 0x100. Largura da imagem em pixels." #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 #, fuzzy msgid "Image Length" msgstr "Comprimento informado da imagem" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "TIFF etiqueta 257, 0x101. Altura da imagem em pixels." #: src/properties.cpp:507 msgid "Bits Per Sample" msgstr "Bits por amostra" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "TIFF etiqueta 258, 0x102. Número de bits por componente em cada canal." #: src/properties.cpp:508 src/tags.cpp:434 #, fuzzy msgid "Compression" msgstr "Taxa de compressão" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "" "TIFF etiqueta 259, 0x103. Esquema de compressão: 1 = sem compressão; 6 = " "JPEG." #: src/properties.cpp:509 src/tags.cpp:440 #, fuzzy msgid "Photometric Interpretation" msgstr "Vermelho de Aberração Cromática." #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "TIFF etiqueta 262, 0x106. Composição do pixel: 2 = RGB; 6 = YCbCr." #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" "TIFF etiqueta 274, 0x112. Orientação:1 = 0th linha no topo, 0th coluna na " "esquerda 2 = 0th linha no topo, 0th coluna na direita 3 = 0th linha embaixo, " "0th coluna na direita 4 = 0th linha embaixo, 0th coluna na esquerda 5 = 0th " "linha na esquerda, 0th coluna no topo 6 = 0th linha na direita, 0th coluna " "no topo 7 = 0th linha na direita, 0th coluna embaixo 8 = 0th linha na " "esquerda, 0th coluna embaixo" #: src/properties.cpp:519 msgid "Samples Per Pixel" msgstr "Amostras por pixel" #: src/properties.cpp:519 msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "TIFF etiqueta 277, 0x115. Número de componentes por pixel." #: src/properties.cpp:520 src/tags.cpp:514 msgid "Planar Configuration" msgstr "" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "TIFF etiqueta 284, 0x11C. Layout dos dados:1 = agregado; 2 = planar." #: src/properties.cpp:521 msgid "YCbCr Sub Sampling" msgstr "Sub-amostragem YCbCr" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" "TIFF etiqueta 530, 0x212. Razão de amostragem de componentes de crominância: " "[2, 1] = YCbCr4:2:2; [2, 2] = YCbCr4:2:0" #: src/properties.cpp:523 src/tags.cpp:720 #, fuzzy msgid "YCbCr Positioning" msgstr "Posição dos autores" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" "TIFF etiqueta 531, 0x213. Posição dos componentes da crominância versus os " "da luminância: 1 = centrado; 2 = compartilhado." #: src/properties.cpp:525 src/properties.cpp:1390 msgid "X Resolution" msgstr "Resolução em x" #: src/properties.cpp:525 msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "TIFF etiqueta 282, 0x11A. Resolução horizontal em pixels por unidade." #: src/properties.cpp:526 src/properties.cpp:1392 msgid "Y Resolution" msgstr "Resolução em y" #: src/properties.cpp:526 msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "TIFF etiqueta 283, 0x11B. Resolução vertical em pixels por unidade." #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 msgid "Resolution Unit" msgstr "Unidade de resolução" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" "TIFF etiqueta 296, 0x128. Unidade utilizada para a XResolução e YResolução. " "O valor é uma opção dentre: 2 = polegadas; 3 = centímetros." #: src/properties.cpp:529 src/tags.cpp:540 #, fuzzy msgid "Transfer Function" msgstr "Função principal avançada" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" "TIFF etiqueta 301, 0x12D. Função de transferência para a imagem descrita em " "estilo tabular com 3 * 256 entradas." #: src/properties.cpp:531 src/tags.cpp:572 #, fuzzy msgid "White Point" msgstr "Ponto branco" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "TIFF etiqueta 318, 0x13E. Cromaticidade de ponto branco." #: src/properties.cpp:532 src/tags.cpp:577 msgid "Primary Chromaticities" msgstr "Cromaticidades primárias" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "TIFF etiqueta 319, 0x13F. Cromaticidade das três cores primárias." #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "" "TIFF etiqueta 529, 0x211. Coeficientes da matriz para a transformação de RGB " "para YCbCr." #: src/properties.cpp:534 msgid "Reference Black White" msgstr "Branco e Preto de Referência" #: src/properties.cpp:534 msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "" "TIFF etiqueta 532, 0x214. Valores para os pontos de branco e preto de " "referência." #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 #, fuzzy msgid "Date and Time" msgstr "Data e hora original" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" "TIFF etiqueta 306, 0x132 (primário) and EXIF etiqueta 37520, 0x9290 (sub-" "segundos). Data e hora da criação da imagem (sem fuso horário em EXIF), " "arquivada em formato ISO 8601, não no formato EXIF original. Esta " "propriedade inclui o valor do atributo para o EXIF SubsecTime. NOTA: Esta " "propriedade está arquivada em XMP como xmp:ModifyDate." #: src/properties.cpp:541 src/tags.cpp:462 #, fuzzy msgid "Image Description" msgstr "Direção de imagem do GPS" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" "TIFF etiqueta 270, 0x10E. Descrição da imagem. Nota: Esta propriedade está " "arquivada em XMP como dc:description." #: src/properties.cpp:542 msgid "Make" msgstr "" #: src/properties.cpp:542 msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "TIFF etiqueta 271, 0x10F. Fabricante do equipamento de gravação." #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "TIFF etiqueta 272, 0x110. Nome do modelo ou número do equipamento." #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" "TIFF etiqueta 305, 0x131. Software ou firmware utilizado para a geração da " "imagem. Esta propriedade está definida em XMP como xmp:CreatorTool. " #: src/properties.cpp:546 msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" "TIFF etiqueta 315, 0x13B. Proprietário da imagem, fotógrafo ou criador da " "imagem. Nota: Esta propriedade está definida em XMP como o primeiro item na " "matriz dc:creator." #: src/properties.cpp:548 msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" "TIFF etiqueta 33432, 0x8298. Informação de copyright. Nota: Esta propriedade " "está definida em XMP como dc:rights." #: src/properties.cpp:555 src/tags.cpp:1605 #, fuzzy msgid "Exif Version" msgstr "Resolução Exif" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "EXIF etiqueta 36864, 0x9000. Número da versão do EXIF." #: src/properties.cpp:556 msgid "Flashpix Version" msgstr "Versão do FlashPix" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "EXIF etiqueta 40960, 0xA000. Versão do FlashPix." #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "EXIF etiqueta 40961, 0xA001. Informação sobre o espaço de cores." #: src/properties.cpp:558 src/tags.cpp:1616 msgid "Components Configuration" msgstr "" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" "EXIF etiqueta 37121, 0x9101. Configuração dos componentes nos dados: 4 5 6 0 " "(se dados RGB comprimidos), 1 2 3 0 (outros casos)." #: src/properties.cpp:560 src/tags.cpp:825 msgid "Compressed Bits Per Pixel" msgstr "Bits Comprimidos por Pixel" #: src/properties.cpp:560 msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" "EXIF etiqueta 37122, 0x9102. Modo de compressão utilizado para uma imagem " "comprimida é indicado em unidades por pixel." #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "Dimensão X do Pixel" #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "EXIF etiqueta 40962, 0xA002. Largura válida da imagem, em pixels." #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "Dimensão Y do Pixel" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "EXIF etiqueta 40963, 0xA003. Altura válida da imagem, em pixels." #: src/properties.cpp:564 src/tags.cpp:1674 #, fuzzy msgid "User Comment" msgstr "Registro de comentário" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "EXIF etiqueta 37510, 0x9286. Comentários do usuário." #: src/properties.cpp:565 src/tags.cpp:1716 #, fuzzy msgid "Related Sound File" msgstr "Arquivo relacionado" #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" "EXIF etiqueta 40964, 0xA004. Um nome de arquivo \"8.3\" para o arquivo de " "som correspondente." #: src/properties.cpp:566 src/properties.cpp:1110 msgid "Date and Time Original" msgstr "Data e hora original" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" "EXIF etiqueta 36867, 0x9003 (primário) e 37521, 0x9291 (sub-segundos). Data " "e hora em que a imagem original foi gerada, no formato ISO 8601. Inclui os " "dados SubSecTimeOriginal do EXIF." #: src/properties.cpp:569 src/properties.cpp:1111 msgid "Date and Time Digitized" msgstr "Data e hora digitalizados" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" "EXIF etiqueta 36868, 0x9004 (primária) e 37522, 0x9292 (sub-segundos). Data " "e hora em que a imagem foi arquivada como dados digitais, pode ser o mesmo " "que DateTimeOriginal se originalmente arquivado na forma digital. Arquivado " "no formato ISO 8601. Inclui os dados SubSecTimeDigitized do EXIF." #: src/properties.cpp:573 msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "EXIF etiqueta 33434, 0x829A. Tempo de exposição em segundos." #: src/properties.cpp:574 src/properties.cpp:1157 #, fuzzy msgid "F Number" msgstr "Número-F" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "EXIF etiqueta 33437, 0x829D. Número F." #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "" "EXIF etiqueta 34850, 0x8822. Classe do programa usado para a exposição." #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 #, fuzzy msgid "Spectral Sensitivity" msgstr "Alta sensibilidade" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "EXIF etiqueta 34852, 0x8824. Sensibilidade espectral de cada canal." #: src/properties.cpp:577 msgid "ISOSpeedRatings" msgstr "Relações de ISO Velocidades." #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" "EXIF etiqueta 34855, 0x8827. ISO velocidade e ISO latitude do equipamento de " "entrada como especificado em ISO 12232." #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "FCOE" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" "EXIF etiqueta 34856, 0x8828. Função de Conversão Ótico-Eletrônica como " "especificado em ISO 14524." #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" "EXIF etiqueta 37377, 0x9201. Velocidade do obturador, a unidade é APEX. Veja " "o Anexo C das especificações do EXIF." #: src/properties.cpp:581 msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "EXIF etiqueta 37378, 0x9202. Abertura das lentes, a unidade é APEX." #: src/properties.cpp:582 src/tags.cpp:828 msgid "Brightness Value" msgstr "Valor do Brilho" #: src/properties.cpp:582 msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "EXIF etiqueta 37379, 0x9203. Brilho, a unidade é APEX." #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "EXIF etiqueta 37380, 0x9204. Desvio de exposição, a unidade é APEX." #: src/properties.cpp:584 src/properties.cpp:1211 msgid "Maximum Aperture Value" msgstr "Máximo valor da abertura" #: src/properties.cpp:584 msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "EXIF etiqueta 37381, 0x9205. Menor número F das lentes, em APEX." #: src/properties.cpp:585 msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "EXIF etiqueta 37382, 0x9206. Distância do assunto, em metros." #: src/properties.cpp:586 msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "EXIF etiqueta 37383, 0x9207. Modo de medição." #: src/properties.cpp:587 msgid "EXIF tag 37384, 0x9208. Light source." msgstr "EXIF etiqueta 37384, 0x9208. Fonte de iluminação." #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "" "EXIF etiqueta 37385, 0x9209. Dados da fonte de iluminação estroboscópica " "(flash)." #: src/properties.cpp:589 msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "" "EXIF etiqueta 37386, 0x920A. Distância focal das lentes, em milímetros." #: src/properties.cpp:590 src/tags.cpp:1666 msgid "Subject Area" msgstr "Área do assunto" #: src/properties.cpp:590 msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" "EXIF etiqueta 37396, 0x9214. A localização e área do assunto principal na " "cena global." #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 #, fuzzy msgid "Flash Energy" msgstr "Intensidade do Flash" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "" "EXIF etiqueta 41483, 0xA20B. Energia estroboscópica durante a captura da " "imagem." #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "Resposta de frequência espacial" #: src/properties.cpp:592 msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" "EXIF etiqueta 41484, 0xA20C. Tabela de frequência espacial do equipamento de " "entrada e os valores de RFE como especificado em ISO 12233." #: src/properties.cpp:594 src/tags.cpp:839 msgid "Focal Plane X Resolution" msgstr "Resolução x do Plano Focal" #: src/properties.cpp:594 msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "" "EXIF etiqueta 41486, 0xA20E. Resolução focal horizontal, medida em pixels " "por unidade." #: src/properties.cpp:595 src/tags.cpp:840 msgid "Focal Plane Y Resolution" msgstr "Resolução y do Plano Focal" #: src/properties.cpp:595 msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "" "EXIF etiqueta 41487, 0xA20F. Resolução focal vertical, medida em pixels por " "unidade." #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 #, fuzzy msgid "Focal Plane Resolution Unit" msgstr "Resolução x do Plano Focal" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" "EXIF etiqueta 41488, 0xA210. Unidade usada para FocalPlaneXResolution e " "FocalPlaneYResolution." #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 msgid "Subject Location" msgstr "Localização do Assunto" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" "EXIF etiqueta 41492, 0xA214. Localização do assunto principal da cena. O " "primeiro valor é o pixel horizontal e o segundo valor é o pixel vertical no " "qual o assunto principal aparece." #: src/properties.cpp:600 src/tags.cpp:846 #, fuzzy msgid "Exposure Index" msgstr "Exibir transformação" #: src/properties.cpp:600 msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "" "EXIF etiqueta 41493, 0xA215. Índice de exposição do equipamento de entrada." #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 #, fuzzy msgid "Sensing Method" msgstr "Método de processamento do GPS" #: src/properties.cpp:601 msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "" "EXIF etiqueta 41495, 0xA217. Tipo de sensor da imagem do equipamento de " "entrada." #: src/properties.cpp:602 msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "EXIF etiqueta 41728, 0xA300. Indica a fonte da imagem." #: src/properties.cpp:603 src/tags.cpp:1771 #, fuzzy msgid "Scene Type" msgstr "Tipo de escala" #: src/properties.cpp:603 msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "EXIF etiqueta 41729, 0xA301. Indfica o tipo de cena." #: src/properties.cpp:604 src/tags.cpp:761 #, fuzzy msgid "CFA Pattern" msgstr "Padrão+AF" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" "EXIF etiqueta 41730, 0xA302. Padrão geométrico da matriz do filtro de cores " "da detecção da imagem." #: src/properties.cpp:605 src/tags.cpp:1781 #, fuzzy msgid "Custom Rendered" msgstr "Nível vermelho WB personalizado" #: src/properties.cpp:605 msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "" "EXIF etiqueta 41985, 0xA401. Indica o uso de processamento especial nos " "dados da imagem." #: src/properties.cpp:606 msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "" "EXIF etiqueta 41986, 0xA402. Indica o modo de exposição ajustado quando a " "imagem foi obtida." #: src/properties.cpp:607 msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "" "EXIF etiqueta 41987, 0xA403. Indica o modo de balanço de branco ajustado " "quando a imagem foi obtida." #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 msgid "Digital Zoom Ratio" msgstr "Razão de Zoom Digital." #: src/properties.cpp:608 msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "" "EXIF etiqueta 41988, 0xA404. Indica a razão de zoom digital de quando a " "imagem foi obtida." #: src/properties.cpp:609 src/tags.cpp:1800 msgid "Focal Length In 35mm Film" msgstr "Distãncia Focal em Filme de 35 mm" #: src/properties.cpp:609 msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" "EXIF etiqueta 41989, 0xA405. Indica a distância focal equivalente assumindo-" "se uma câmera de flime de 35 mm, em mm. Um valor de 0 significa que a " "distância focal é desconhecida. Observe que esta etiqueta difere da etiqueta " "FocalLength." #: src/properties.cpp:612 src/tags.cpp:1806 #, fuzzy msgid "Scene Capture Type" msgstr "Área de cena" #: src/properties.cpp:612 msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "EXIF etiqueta 41990, 0xA406. Indica o tipo de cena que foi usada." #: src/properties.cpp:613 src/tags.cpp:1811 #, fuzzy msgid "Gain Control" msgstr "Modo de controle do Flash" #: src/properties.cpp:613 msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "" "EXIF etiqueta 41991, 0xA407. Indica o grau de ajuste de ganho da imagem " "global." #: src/properties.cpp:614 msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" "EXIF etiqueta 41992, 0xA408. Indica a direção do processamento de contraste " "aplicado pela câmera." #: src/properties.cpp:615 msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" "EXIF etiqueta 41993, 0xA409. Indica a direção do processamento de saturação " "aplicado pela câmera." #: src/properties.cpp:616 msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" "EXIF etiqueta 41994, 0xA40A. Indica a direção do processamento de nitidez " "aplicado pela câmera." #: src/properties.cpp:617 src/tags.cpp:1826 msgid "Device Setting Description" msgstr "" #: src/properties.cpp:617 msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" "EXIF etiqueta 41995, 0xA40B. Indica a informação sobre as condições de " "obtenção de fotos para um modelo particular de câmera." #: src/properties.cpp:618 src/tags.cpp:1831 msgid "Subject Distance Range" msgstr "Faixa de distância do assunto" #: src/properties.cpp:618 msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "EXIF etiqueta 41996, 0xA40C. Indica a distância ao assunto." #: src/properties.cpp:619 src/tags.cpp:1834 #, fuzzy msgid "Image Unique ID" msgstr "ID da imagem" #: src/properties.cpp:619 msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" "EXIF etiqueta 42016, 0xA420. Um identificador atribuído de forma única a " "cada imagem. Ele é gravado como uma string de 32 caracteres ASCII, " "equivalentes em notação hexadecimal fixado em 128 bits de comprimento." #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 #, fuzzy msgid "GPS Version ID" msgstr "ID da versão" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" "GPS etiqueta 0, 0x00. Uma codificação decimal de cada um dos quatro bytes " "EXIF utilizando pontos como separadores. O valor corrente é \"2.0.0.0\"." #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "Latitude GPS" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "" "GPS etiqueta 2, 0x02 (posição) e 1, 0x01 (Norte/Sul). Indica a latitude." #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "Longitude GPS" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "" "GPS etiqueta 4, 0x04 (posição) e 3, 0x03 (Leste/Oeste). Indica a longitude." #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 msgid "GPS Altitude Reference" msgstr "Altitude de referẽncia do GPS." #: src/properties.cpp:625 src/properties.cpp:1168 msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "" "GPS etiqueta 5, 0x05. Indica se a altitude está acima ou abaixo do nível do " "mar." #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "Altitude GPS" #: src/properties.cpp:626 src/properties.cpp:1167 msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "GPS etiqueta 6, 0x06. Indica a altitude em metros." #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 msgid "GPS Time Stamp" msgstr "Registro da hora do GPS" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" "GPS etiqueta 29 (data), 0x1D, e, e GPS marca 7 (tempo), 0x07. Tempo " "estampado dos dados do GPS, em Tempo Coordenado Universal. Nota: A marca " "GPSDateStamp é nova em EXIF 2.2. A estampa de tempo do GPS em EXIF 2.1 não " "inclui uma data. Se não apresenta, o componente de data para o XMP posde ser " "pego do exif:DateTimeOriginal, ou se isto é também falta do exif:" "DateTimeDigitized. Se a data não está disponível, não escreva o exif:" "GPSTimeStamp ao XMP." #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 msgid "GPS Satellites" msgstr "Satélites GPS" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "" "GPS etiqueta 8, 0x08. Informação do satélite, o formato não é especificado." #: src/properties.cpp:634 src/tags.cpp:1989 #, fuzzy msgid "GPS Status" msgstr "Status" #: src/properties.cpp:634 msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "" "GPS etiqueta 9, 0x09. Status do receptor do GPS no momento da criação da " "imagem." #: src/properties.cpp:635 src/tags.cpp:1994 #, fuzzy msgid "GPS Measure Mode" msgstr "Modo de lançamento" #: src/properties.cpp:635 msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "GPS etiqueta 10, 0x0A. modo de mensuração do GPS, tipo Texto." #: src/properties.cpp:636 msgid "GPS DOP" msgstr "GPS DOP" #: src/properties.cpp:636 msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "GPS etiqueta 11, 0x0B. Grau de precisão dos dados para GPS" #: src/properties.cpp:637 src/tags.cpp:2002 msgid "GPS Speed Reference" msgstr "Referência de velocidade GPS" #: src/properties.cpp:637 msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "GPS etiqueta 12, 0x0C. Unidades usadas para mensuração da velocidade." #: src/properties.cpp:638 src/tags.cpp:2006 #, fuzzy msgid "GPS Speed" msgstr "Velocidade do ISO" #: src/properties.cpp:638 msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "GPS etiqueta 13, 0x0D. Velocidade do recebedor de movimento do GPS." #: src/properties.cpp:639 msgid "GPS Track Reference" msgstr "Faixa de referência GPS" #: src/properties.cpp:639 msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "GPS etiqueta 14, 0x0E. Referência para direção de movimento." #: src/properties.cpp:640 src/tags.cpp:2013 msgid "GPS Track" msgstr "Faixa do GPS" #: src/properties.cpp:640 msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" "GPS etiqueta 15, 0x0F. Direção do movimento do GPS, intervalo dos valores " "entre 0 à 359.99." #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 msgid "GPS Image Direction Reference" msgstr "Imagem de referência da direção do GPS" #: src/properties.cpp:641 msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "GPS etiqueta 16, 0x10. Referência para direção de imagem." #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 msgid "GPS Image Direction" msgstr "Direção de imagem do GPS" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" "GPS etiqueta 17, 0x11. Direção de imagem quando capturada, intervalo de " "valores entre 0 à 359.99." #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 msgid "GPS Map Datum" msgstr "Dado do mapa do GPS" #: src/properties.cpp:643 msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "GPS etiqueta 18, 0x12. Dado da pesquisa geodésica." #: src/properties.cpp:644 src/tags.cpp:2033 msgid "GPS Destination Latitude" msgstr "Latitude de destino do GPS" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" "GPS etiqueta 20, 0x14 (posição) e 19, 0x13 (Norte/Sul). Indica latitude do " "destino." #: src/properties.cpp:645 src/tags.cpp:2045 msgid "GPS Destination Longitude" msgstr "Longitude de destino do GPS" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" "GPS etiqueta 22, 0x16 (posição) e 21, 0x15 (Leste/Oeste). Indica longitude " "do destino." #: src/properties.cpp:646 src/tags.cpp:2052 msgid "GPS Destination Bearing Reference" msgstr "Rolamento de referência do destino do GPS" #: src/properties.cpp:646 msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "GPS etiqueta 23, 0x17. Referência para a direção do movimento." #: src/properties.cpp:647 src/tags.cpp:2056 msgid "GPS Destination Bearing" msgstr "Rolamento do destino do GPS" #: src/properties.cpp:647 msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "GPS etiqueta 24, 0x18. Rolamento do destino, valores de 0 à 359.99." #: src/properties.cpp:648 src/tags.cpp:2060 #, fuzzy msgid "GPS Destination Distance Reference" msgstr "Referência de distância do destino do GPS" #: src/properties.cpp:648 msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "GPS etiqueta 25, 0x19. Unidades usadas para mensurar a velocidade." #: src/properties.cpp:649 src/tags.cpp:2064 msgid "GPS Destination Distance" msgstr "Distância do destino do GPS" #: src/properties.cpp:649 msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "GPS etiqueta 26, 0x1A. Distância para o destino." #: src/properties.cpp:650 src/tags.cpp:2067 msgid "GPS Processing Method" msgstr "Método de processamento do GPS" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" "GPS etiqueta 27, 0x1B. Uma linha de caracteres gravaram o nome do método " "usado para encontrar o local." #: src/properties.cpp:651 src/tags.cpp:2072 msgid "GPS Area Information" msgstr "Informação da área do GPS" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "" "GPS etiqueta 28, 0x1C. Uma linha de caracteres gravaram o nome da área do " "GPS." #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "Diferencial do GPS" #: src/properties.cpp:652 msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "" "GPS etiqueta 30, 0x1E. Indica se a correção diferencial é aplicada ao " "receptor do GPS." #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "" "Uma descrição da lente utilizada para tirar a fotografia. Por exemplo, " "\"70-200 mm f/2.8-4.0\"." #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "" "O número de série da câmera ou corpo da câmera usada para capturar a " "fotografia." #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "Informação para contato com o criador" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" "O criador informações de contato fornece todas as informações necessárias " "para entrar em contato com o criador deste objeto de notícia e compreende um " "conjunto de sub-propriedades de endereçamento apropriado." #: src/properties.cpp:667 msgid "Contact Info-Address" msgstr "Contato Info-endereço" #: src/properties.cpp:667 #, fuzzy msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" "A parte de informação de contato do país. Compreende um nome de empresa " "opcional e toda informação requerida para o localizar a construção ou caixa-" "postal para que o correio seja enviado." #: src/properties.cpp:669 msgid "Contact Info-City" msgstr "Contato Info-cidade" #: src/properties.cpp:669 #, fuzzy msgid "sub-key Creator Contact Info: city." msgstr "Informação para contato com o criador" #: src/properties.cpp:670 msgid "Contact Info-State/Province" msgstr "Contato Info-Estado/Província" #: src/properties.cpp:670 #, fuzzy msgid "sub-key Creator Contact Info: state or province." msgstr "Contato Info-Estado/Província" #: src/properties.cpp:671 msgid "Contact Info-Postal Code" msgstr "Contato Info-código postal" #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "" #: src/properties.cpp:672 msgid "Contact Info-Country" msgstr "Contato Info-país" #: src/properties.cpp:672 #, fuzzy msgid "sub-key Creator Contact Info: country." msgstr "Informação para contato com o criador" #: src/properties.cpp:673 msgid "Contact Info-Email" msgstr "Contato Info-email" #: src/properties.cpp:673 #, fuzzy msgid "sub-key Creator Contact Info: email address." msgstr "A parte de informação de contato do endereço de e-mail." #: src/properties.cpp:674 msgid "Contact Info-Phone" msgstr "Contato Info-fone" #: src/properties.cpp:674 #, fuzzy msgid "sub-key Creator Contact Info: phone number." msgstr "Informação para contato com o criador" #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "Contato Info-web URL" #: src/properties.cpp:675 #, fuzzy msgid "sub-key Creator Contact Info: web address." msgstr "Informação para contato com o criador" #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "Gênero intelectual" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" "Descreve a natureza, característica intelectual ou jornalística de um objeto " "de notícia, não especificamente o seu conteúdo." #: src/properties.cpp:678 msgid "IPTC Scene" msgstr "Cena IPTC" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" "Descreve a cena de um conteúdo fotográfico. Especifica um ou mais termos do " "IPTC \"Cenas-NovosCódigos\". Cada Cena é representada como uma linha de 6 " "dígitos numa lista não-ordenada." #: src/properties.cpp:680 msgid "IPTC Subject Code" msgstr "Assunto do código IPTC" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" "Especifica um ou mais Assuntos da taxonomia IPTC \"Assuntos-NovosCódigos\" " "para categorizar o conteúdo. Cada Assunto é representado como uma linha de 8 " "dígitos numa lista não-ordenada." #: src/properties.cpp:682 #, fuzzy msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" "Nome de um local em que o conteúdo é focado -- também o local mostra uma " "mídia visual ou referenciada em texto ou mídia de áudio. Este nome do local " "pode ser também o nome de um sublocalização na cidade ou o nome de um local " "bem conhecido ou monumento (natural) afora da cidade. No caso de um " "sublocalização na cidade este elemento está no quarto nível de uma " "hierarquia geográfica de cima para baixo." #: src/properties.cpp:687 #, fuzzy msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" "Código do país em que o conteúdo é focado -- também o país mostra uma mídia " "visual ou referenciada em texto ou mídia de áudio. Este elemento está no " "primeiro nível do topo de uma hierarquia geográfica de cima para baixo. O " "código pode ser obtido da ISO 3166 com duas ou três letras de código. O nome " "completo do país pode ir para o elemento \"País\"." #: src/properties.cpp:696 msgid "Additional model info" msgstr "Modelo de informações adicionais" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" "Informação sobre a etnicidade e outros fatos do(s) modelo(s) numa imagem do " "modelo liberado" #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "Código da Organização em destaque" #: src/properties.cpp:697 #, fuzzy msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "" "Código do vocabulário controlado para identificação que a organização ou " "empresa que é destacada na imagem." #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "Termo de vocabulário controlado" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" "Um termo para descrever o conteúdo da imagem por um valor de um Vocabulário " "Controlado." #: src/properties.cpp:699 msgid "Model age" msgstr "Modelo de idade" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "" "Idade do(s) modelo(s) humano(s) na época em que esta imagem foi obtida na " "imagem do modelo lançado." #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "Nome da organização em destaque" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "Nome da organização ou empresa que é apresentado na imagem." #: src/properties.cpp:701 msgid "Person shown" msgstr "Mostar a pessoa" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "Nome de uma pessoa que aparece na imagem." #: src/properties.cpp:702 msgid "Digital Image Identifier" msgstr "Identificador de imagem digital" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" "Globalmente o identificador único para esta imagem digital. Ele é criado e " "aplicado pelo criador de imagem digital no momento de sua criação. este " "valor não deve ser mudado após este momento." #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "Tipo físico da foto original" #: src/properties.cpp:703 msgid "The type of the source digital file." msgstr "O tipo do arquivo de fonte digital." #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 msgid "Event" msgstr "" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "Nome ou descrição do evento específico em que a foto foi tirada." #: src/properties.cpp:705 msgid "Maximum available height" msgstr "Altura máxima disponível" #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" "A altura máxima disponível em pixels da foto original a partir da qual esta " "foto tenha sido derivada por redução." #: src/properties.cpp:706 msgid "Maximum available width" msgstr "Largura máxima disponível" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" "A largura máxima disponível em pixels da foto original a partir da qual esta " "foto tenha sido derivada por redução." #: src/properties.cpp:707 msgid "Registry Entry" msgstr "Entrada do registro" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" "Tanto um Id do Registro de Item quanto um Id de Registro da Organização para " "gravar qualquer catalogação desta imagem digital com um registro." #: src/properties.cpp:708 msgid "Registry Entry-Item Identifier" msgstr "Identificador do Registro de Entrada do Item" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" "Um identificador único criado pelo registro e aplicado pelo criador de " "imagem digital. Este valor não deve ser alterado depois de ser aplicado. " "Este identificador é ligado ao Identificador de Registro da Organização " "correspondente." #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "Identificador do Registro de Entrada da Organização" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" "Um identificador para registro que emitiu o Id de Registro de Imagem " "correspondente." #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "Últimos campos IPTC editados." #: src/properties.cpp:710 msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "" "A data e opcionalmente a hora quando quaisquer campos dos metadados da foto " "do IPTC tenham sido editados." #: src/properties.cpp:711 msgid "Location shown" msgstr "Localização mostrada" #: src/properties.cpp:711 msgid "A location shown in the image." msgstr "Uma localização mostrada na imagem." #: src/properties.cpp:712 msgid "Location Created" msgstr "Localização criada" #: src/properties.cpp:712 msgid "The location the photo was taken." msgstr "O local que a foto foi tirada." #: src/properties.cpp:713 msgid "Location-City" msgstr "Localização-cidade" #: src/properties.cpp:713 msgid "Name of the city of a location." msgstr "Nome da cidade de um local." #: src/properties.cpp:714 msgid "Location-Country ISO-Code" msgstr "Código-ISO da Localização-país" #: src/properties.cpp:714 msgid "The ISO code of a country of a location." msgstr "O código ISO da localização do país." #: src/properties.cpp:715 msgid "Location-Country Name" msgstr "Nome da Localização-país" #: src/properties.cpp:715 msgid "The name of a country of a location." msgstr "O nome de um país de um local." #: src/properties.cpp:716 msgid "Location-Province/State" msgstr "Localização-Província/Estado" #: src/properties.cpp:716 msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "" "O nome de uma sub-região de um país - uma província ou estado - de uma " "localização." #: src/properties.cpp:717 msgid "Location-Sublocation" msgstr "Localização-Sublocalização" #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" "Nome de uma sublocalização. Este nome da sublocalização poderia ser o nome " "de uma sublocalização de uma cidade ou o nome de um local bem conhecido ou " "monumento (natural) afora de uma cidade." #: src/properties.cpp:718 msgid "Location-World Region" msgstr "Região Localização-Mundo" #: src/properties.cpp:718 msgid "The name of a world region of a location." msgstr "O nome de uma região do mundo de um local." #: src/properties.cpp:719 msgid "Artwork or object in the image" msgstr "Obra de arte ou objeto na imagem" #: src/properties.cpp:719 msgid "A set of metadata about artwork or an object in the image." msgstr "Uma definição de metadados sobre uma obra de arte ou objeto na imagem." #: src/properties.cpp:720 msgid "Artwork or object-Copyright notice" msgstr "Aviso de Obra de arte ou objeto sob direitos autorais" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" "Contêm qualquer aviso necessário de direitos autorias para reivindicar a " "propriedade intelectual sob obras de arte ou um objeto na imagem e pode " "identificar o proprietário atual do direito autoral deste trabalho " "associados com os direitos de propriedade intelectual." #: src/properties.cpp:721 msgid "Artwork or object-Creator" msgstr "Obra de arte ou objeto-Criador" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" "Contêm o nome do artista que criou a obra de arte ou um objeto na imagem. " "Nestes casos onde o artista pode ou não ser identificado, pelo nome da " "empresa ou organização" #: src/properties.cpp:722 msgid "Artwork or object-Date Created" msgstr "Obra de arte ou objeto-Data Criada" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" "Designa a data e opcionalmente o momento que a obra de arte na imagem foi " "criada. Isto se refere aos direitos de propriedade intelectual associados à " "obra de arte ou objetos." #: src/properties.cpp:723 msgid "Artwork or object-Source" msgstr "Obra de arte ou objeto-Fonte" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" "A organização ou organismo titular e registrar a obra de arte ou objeto na " "imagem para fins de inventário." #: src/properties.cpp:724 msgid "Artwork or object-Source inventory number" msgstr "Obra de arte ou objeto-Número do inventário fonte" #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" "O número do inventário emitido pela organização ou organismo responsável e " "registra a obra de arte ou objeto na imagem." #: src/properties.cpp:725 msgid "Artwork or object-Title" msgstr "Obra de arte ou objeto-Título" #: src/properties.cpp:725 msgid "A reference for the artwork or object in the image." msgstr "Uma referência para a obra de arte ou objeto na imagem." #: src/properties.cpp:732 msgid "Scan from film" msgstr "Busca de filme" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "Busca de transparẽncia (incluindo slide)" #: src/properties.cpp:734 msgid "Scan from print" msgstr "Busca de impressão" #: src/properties.cpp:735 msgid "Camera RAW" msgstr "Câmera RAW" #: src/properties.cpp:736 msgid "Camera TIFF" msgstr "Câmera TIFF" #: src/properties.cpp:737 msgid "Camera JPEG" msgstr "Câmera JPEG" #: src/properties.cpp:742 msgid "PLUS Version" msgstr "Versão PLUS" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "O número da versão das normas PLUS em vigor no momento da transação." #: src/properties.cpp:743 msgid "Licensee" msgstr "Licenciado" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "" "Parte ou partes a quem a licença é concedida pelo Licenciante sob a licença " "em operação" #: src/properties.cpp:744 msgid "Licensee ID" msgstr "ID da Licença" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "Opcional PLUS-ID identificando cada licenciado." #: src/properties.cpp:745 msgid "Licensee Name" msgstr "Nome licenciado" #: src/properties.cpp:745 msgid "Name of each Licensee." msgstr "Nome de cada licenciado." #: src/properties.cpp:746 msgid "End User" msgstr "Usuário final" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "Ultimamente, parte ou partes fazem uso de imagens sob a licença." #: src/properties.cpp:747 msgid "End User ID" msgstr "ID do usuário final" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "Opcional PLUS-ID identificando cada usuário final." #: src/properties.cpp:748 msgid "End User Name" msgstr "Nome do usuário final" #: src/properties.cpp:748 msgid "Name of each End User." msgstr "Nome de cada usuário final." #: src/properties.cpp:749 msgid "Licensor" msgstr "Licenciante" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "Parte ou partes concedem a licença para o licenciado." #: src/properties.cpp:750 msgid "Licensor ID" msgstr "ID licenciante" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "Opcional PLUS-ID identificando cada licenciante." #: src/properties.cpp:751 msgid "Licensor Name" msgstr "Nome do licenciante" #: src/properties.cpp:751 msgid "Name of each Licensor." msgstr "Nome de cada licenciante." #: src/properties.cpp:752 msgid "Licensor Address" msgstr "Endereço do licenciante" #: src/properties.cpp:752 msgid "Licensor street address." msgstr "Logradouro do licenciante." #: src/properties.cpp:753 msgid "Licensor Address Detail" msgstr "Detalhe do endereço do licenciante" #: src/properties.cpp:753 msgid "Additional Licensor mailing address details." msgstr "Detalhes adicionais do endereço de e-mail do licenciante." #: src/properties.cpp:754 msgid "Licensor City" msgstr "Cidade do licenciante" #: src/properties.cpp:754 msgid "Licensor City name." msgstr "Nome da cidade do licenciante." #: src/properties.cpp:755 msgid "Licensor State or Province" msgstr "Estado ou província do licenciante" #: src/properties.cpp:755 msgid "Licensor State or Province name." msgstr "Nome do estado ou província do licenciante" #: src/properties.cpp:756 msgid "Licensor Postal Code" msgstr "CEP do licenciante" #: src/properties.cpp:756 msgid "Licensor Postal Code or Zip Code." msgstr "CEP ou código postal do licenciante" #: src/properties.cpp:757 msgid "Licensor Country" msgstr "País do do licenciante" #: src/properties.cpp:757 msgid "Licensor Country name." msgstr "Nome do país do licenciante" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1" msgstr "Telefone tipo 1 do licenciante" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1." msgstr "Telefone tipo 1 do licenciante." #: src/properties.cpp:759 msgid "Licensor Telephone 1" msgstr "Telefone 1 do licenciante" #: src/properties.cpp:759 msgid "Licensor Telephone number 1." msgstr "Telefone número 1 do licenciante." #: src/properties.cpp:760 msgid "Licensor Telephone Type 2" msgstr "Telefone tipo 2 do licenciante" #: src/properties.cpp:760 msgid "Licensor Telephone Type 2." msgstr "Telefone tipo 2 do licenciante." #: src/properties.cpp:761 msgid "Licensor Telephone 2" msgstr "Telefone 2 do licenciante" #: src/properties.cpp:761 msgid "Licensor Telephone number 2." msgstr "Telefone número 2 do licenciante" #: src/properties.cpp:762 msgid "Licensor Email" msgstr "E-mail do licenciante" #: src/properties.cpp:762 msgid "Licensor Email address." msgstr "Endereço de e-mail do licenciante." #: src/properties.cpp:763 msgid "Licensor URL" msgstr "URL do licenciante" #: src/properties.cpp:763 msgid "Licensor world wide web address." msgstr "Endereço da página do licenciante" #: src/properties.cpp:764 msgid "Licensor Notes" msgstr "Notas do licenciante" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" "Informação suplementar para uso na identificação e contatação com o(s) " "licenciante(s)." #: src/properties.cpp:765 msgid "PLUS Media Summary Code" msgstr "Código do resumo da mídia PLUS" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" "Um PLUS-linha de código alfanumérica normalizada resumindo o uso de mídia " "incluída na licença." #: src/properties.cpp:766 msgid "License Start Date" msgstr "Data de Início da licença" #: src/properties.cpp:766 msgid "The date on which the license takes effect." msgstr "A data em que a licença em vigor." #: src/properties.cpp:767 msgid "License End Date" msgstr "Data final da licença" #: src/properties.cpp:767 msgid "The date on which the license expires." msgstr "A data em que a licença expira." #: src/properties.cpp:768 msgid "Media Constraints" msgstr "Restrições da mídia" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" "Restrições limitando o escopo do uso(s) da mídia PLUS incluiu na licença " "particular para mídia nomeada ou para mídia ainda não especificamente " "definida na Mídia PLUS Matrix" #: src/properties.cpp:769 msgid "Region Constraints" msgstr "Restrições da região" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" "Restrições limitando o escopo da distribuição geográfica para cidades, " "estados, províncias ou outras áreas específicas a serem incluídas ou " "excluídas das regiões PLUS especificadas nos usos de mídia especificados na " "licença." #: src/properties.cpp:770 msgid "Product or Service Constraints" msgstr "Restrições de produto ou serviço" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" "Restrições limitando uso da imagem para promoção/associação com o produto " "nomeado ou serviço." #: src/properties.cpp:771 msgid "Image File Constraints" msgstr "Restrições arquivo de imagem" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "" "Restrições nas mudanças do nome do arquivo da imagem, metadados ou tipo do " "arquivo." #: src/properties.cpp:772 msgid "Image Alteration Constraints" msgstr "Restrições de alteração de imagem" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" "Restrições na alteração de imagem por aparar, virar, retocar, colorir, " "descolorir ou fundir." #: src/properties.cpp:773 msgid "Image Duplication Constraints" msgstr "Restrições de duplicação de imagem" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "Restrições na criação de duplicatadas da imagem." #: src/properties.cpp:774 msgid "Model Release Status" msgstr "Status de lançamento do modelo" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" "Resume a disponibilidade e escopo dos lançamentos do modelo autorizando uso " "de aparências de pessoas que estão na fotografia." #: src/properties.cpp:775 msgid "Model Release ID" msgstr "ID de lançamento do modelo" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "Identificador opcional associado com cada lançamento de modelo." #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "Divulgação da idade do modelo de menor" #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "" "Idade do modelo mais novo capturado na imagem, no momento em que a imagem " "foi feita." #: src/properties.cpp:777 msgid "Property Release Status" msgstr "Status da liberação de propriedade" #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" "Resume a disponibilidade e escopo da liberação de propriedade autorizando o " "uso das propriedades mostradas na fotografia." #: src/properties.cpp:778 msgid "Property Release ID" msgstr "ID da liberação de propriedade" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "Identificação opicional de cada liberação de propriedade." #: src/properties.cpp:779 msgid "Other Constraints" msgstr "Outras restrições" #: src/properties.cpp:779 msgid "Additional constraints on the license." msgstr "Restrições adicionais da licença." #: src/properties.cpp:780 msgid "Credit Line Required" msgstr "Linha crédito requerida" #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "Atribuiçoes requeridas, se alguma." #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "Aviso de conteúdo adulto" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "Aviso indica a presença de conteúdo não apropriado para menores." #: src/properties.cpp:782 msgid "Other License Requirements" msgstr "Outros requisitos da licença" #: src/properties.cpp:782 msgid "Additional license requirements." msgstr "Requisitos adicionais de licença." #: src/properties.cpp:783 msgid "Terms and Conditions Text" msgstr "Termos e texto de condições" #: src/properties.cpp:783 msgid "Terms and Conditions applying to the license." msgstr "Termos e condições para a licença." #: src/properties.cpp:784 msgid "Terms and Conditions URL" msgstr "Termos e URL das condições" #: src/properties.cpp:784 msgid "URL for Terms and Conditions applying to the license." msgstr "URL dos termos e condições aplicadas a licença." #: src/properties.cpp:785 msgid "Other License Conditions" msgstr "Outras condições de licença" #: src/properties.cpp:785 msgid "Additional license conditions." msgstr "Condições adicionais de licença." #: src/properties.cpp:786 msgid "Identifies the type of image delivered." msgstr "Identifica o tipo de imagem entregue." #: src/properties.cpp:787 msgid "Licensor Image ID" msgstr "ID do licenciador de imagem" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "Identificador opcional atribuido pelo licenciador da imagem." #: src/properties.cpp:788 msgid "Image File Name As Delivered" msgstr "Nome do arquivo de imagem como entregue" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "" "Nome do arquivo de imagem entregue ao licenciado para uso sob a licença." #: src/properties.cpp:789 msgid "Image File Format As Delivered" msgstr "Formato da imagem como entregue" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "" "Formato do arquivo da imagem entregue ao licenciado para uso sob a licença." #: src/properties.cpp:790 msgid "Image File Size As Delivered" msgstr "Tamanho do arquivo da imagem como entregue" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "Tamanho do arquivo de imagem entregue ao licenciado." #: src/properties.cpp:791 msgid "Copyright Status" msgstr "Status de copyright" #: src/properties.cpp:791 msgid "Copyright status of the image." msgstr "Status de copyright da imagem." #: src/properties.cpp:792 msgid "Copyright Registration Number" msgstr "Número de registro do copyright" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" "Número de registro do copyright, se algum, aplicado a imagem licenciada." #: src/properties.cpp:793 msgid "First Publication Date" msgstr "Primeira data de publicação" #: src/properties.cpp:793 msgid "The date on which the image was first published." msgstr "A data em que a imagem foi publicada pela primeira vez." #: src/properties.cpp:794 msgid "Copyright Owner" msgstr "Proprietário dos direitos autorais" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "" "Proprietário ou proprietários dos direitos autorais na imagem licenciada." #: src/properties.cpp:795 msgid "Copyright Owner ID" msgstr "ID do proprietário do copyright" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "IDs a mais opicionais identificando cada proprietário do copyright" #: src/properties.cpp:796 msgid "Copyright Owner Name" msgstr "Nome do proprietário do copyright" #: src/properties.cpp:796 msgid "Name of Copyright Owner." msgstr "Nome de proprietário de copyright." #: src/properties.cpp:797 msgid "Copyright Owner Image ID" msgstr "ID do proprietário do copyright" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "" "Identificador opcional atribuído ao proprietário do copyright da imagem." #: src/properties.cpp:798 msgid "Image Creator" msgstr "Criador da imagem" #: src/properties.cpp:798 msgid "Creator/s of the image." msgstr "Criador da imagem" #: src/properties.cpp:799 msgid "Image Creator ID" msgstr "ID do criador da imagem" #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "IDs a mais opicionais identificando cada criador da imagem." #: src/properties.cpp:800 msgid "Image Creator Name" msgstr "Nome do criador da imagem" #: src/properties.cpp:800 msgid "Name of Image Creator." msgstr "Nome de criador de imagem" #: src/properties.cpp:801 msgid "Image Creator Image ID" msgstr "ID do nome do criador da imagem" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "Identificador opcional atribuído ao criador da imagem." #: src/properties.cpp:802 msgid "Image Supplier ID" msgstr "ID do fornecedor da imagem" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "ID a mais opicional identificando o fornecedor da Imagem." #: src/properties.cpp:803 msgid "Image Supplier Name" msgstr "Nome do fornecedor da imagem" #: src/properties.cpp:803 msgid "Name of Image Supplier." msgstr "Nome de fornecedor da imagem." #: src/properties.cpp:804 msgid "Image Supplier Image ID" msgstr "ID da Imagem do fornecedor da Imagem" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "Identificador opcional atribuído a imagem do fornecedor de Imagem." #: src/properties.cpp:805 msgid "Licensee Image ID" msgstr "ID da imagem do licenciado" #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "Identificador opicional atribuido a imagem do licenciado." #: src/properties.cpp:806 msgid "Licensee Image Notes" msgstr "Notas da imagem do licenciado" #: src/properties.cpp:806 msgid "Notes added by Licensee." msgstr "Notas adicionadas pelo licenciado." #: src/properties.cpp:807 msgid "Other Image Info" msgstr "Outras informações da imagem" #: src/properties.cpp:807 msgid "Additional image information." msgstr "Informações adicionais da imagem." #: src/properties.cpp:808 msgid "License ID" msgstr "ID da licença" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "ID a mais opicional atribuido pelo licenciador da licença." #: src/properties.cpp:809 msgid "Licensor Transaction ID" msgstr "ID de transação do licenciador" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "" "Identificados atribuido pelo Licenciador para referencia e uso interno do " "licenciador." #: src/properties.cpp:810 msgid "Licensee Transaction ID" msgstr "ID da transação do licenciado" #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" "Identificados atribuído pelo licenciado para referencia e uso interno do " "licenciado." #: src/properties.cpp:811 msgid "Licensee Project Reference" msgstr "Referência do projeto do licenciado" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "Nome da referência do projeto ou descrição atribuida pelo licenciado." #: src/properties.cpp:812 msgid "License Transaction Date" msgstr "Data de transação da licença" #: src/properties.cpp:812 msgid "The date of the License Transaction." msgstr "A data da transação da licença" #: src/properties.cpp:813 msgid "Reuse" msgstr "Reutilização" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" "Indica se a licença é uma repetição ou uma licença inicial. A reutilização " "pode requisitar que as licenças armazenadas em arquivos entregue " "anteriormente ao cliente sejam atualizadas." #: src/properties.cpp:814 msgid "Other License Documents" msgstr "Outros documentos da licença" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "" "Informações de referência para documentos adicionais associados com a " "licença." #: src/properties.cpp:815 msgid "Other License Info" msgstr "Outras informações da licença" #: src/properties.cpp:815 msgid "Additional license information." msgstr "Informações dicionais de licença." #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "Campo opcional para uso a critério do Licenciante." #: src/properties.cpp:819 #, fuzzy msgid "Custom 4" msgstr "Personalizar 1-4" #: src/properties.cpp:820 #, fuzzy msgid "Custom 5" msgstr "Personalizar 1-4" #: src/properties.cpp:821 #, fuzzy msgid "Custom 6" msgstr "Personalizar 1-4" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "Campo opcional para uso a critério do Licenciado." #: src/properties.cpp:822 #, fuzzy msgid "Custom 7" msgstr "Personalizar 1-4" #: src/properties.cpp:823 #, fuzzy msgid "Custom 8" msgstr "Personalizar 1-4" #: src/properties.cpp:824 #, fuzzy msgid "Custom 9" msgstr "Personalizar 1-4" #: src/properties.cpp:825 #, fuzzy msgid "Custom 10" msgstr "Personalizar 1-4" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "Aviso de conteúdo adulto requerido" #: src/properties.cpp:833 #, fuzzy msgid "Not Required" msgstr "Data adquirida" #: src/properties.cpp:839 #, fuzzy msgid "Protected" msgstr "SeleçãoDePontoAF" #: src/properties.cpp:840 msgid "Public Domain" msgstr "" #: src/properties.cpp:846 msgid "Credit Adjacent To Image" msgstr "Crédito adjacente para a imagem" #: src/properties.cpp:847 msgid "Credit in Credits Area" msgstr "Crédito na área de créditos" #: src/properties.cpp:848 msgid "Credit on Image" msgstr "Crédito na imagem" #: src/properties.cpp:849 msgid "Not Require" msgstr "" #: src/properties.cpp:854 msgid "No Colorization" msgstr "Sem cor" #: src/properties.cpp:855 msgid "No Cropping" msgstr "Sem corte" #: src/properties.cpp:856 msgid "No De-Colorization" msgstr "Sem descolorir" #: src/properties.cpp:857 msgid "No Flipping" msgstr "Sem virar" #: src/properties.cpp:858 msgid "No Merging" msgstr "Sem mesclar" #: src/properties.cpp:859 msgid "No Retouching" msgstr "Sem retocar" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "Duplicação somente quando necessária sob licença" #: src/properties.cpp:865 msgid "No Duplication Constraints" msgstr "Sem restrições de duplicação" #: src/properties.cpp:866 msgid "No Duplication" msgstr "Sem duplicação" #: src/properties.cpp:871 msgid "Maintain File Name" msgstr "Manter nome de arquivo" #: src/properties.cpp:872 msgid "Maintain File Type" msgstr "Manter tipo de arquivo" #: src/properties.cpp:873 msgid "Maintain ID in File Name" msgstr "Manter a ID no nome do arquivo" #: src/properties.cpp:874 msgid "Maintain Metadata" msgstr "Manter metadata" #: src/properties.cpp:879 msgid "Windows Bitmap (BMP)" msgstr "Windows Bitmap (BMP)" #: src/properties.cpp:880 msgid "Digital Negative (DNG)" msgstr "Negativo Digital (DNG)" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "PostScript Encapsulado (EPS)" #: src/properties.cpp:882 msgid "Graphics Interchange Format (GIF)" msgstr "Formato de Intercâmbio de Gráfico (GIF)" #: src/properties.cpp:883 msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "Formatos de Intercãmbio JPEG (JPG,JIF,JFIF)" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "Imagem Macintosh (PICT)" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "Gráficos Portáveis para Rede (PNG)" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "Documento de Photoshop (PSD)" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "Formato Proprietário de Imagem RAW" #: src/properties.cpp:889 msgid "Tagged Image File Format (TIFF)" msgstr "Formato de Arquivo de Imagem Marcada (TIFF)" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "Foto do Windows Media (HD Photo)" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "Maior que 50 MB" #: src/properties.cpp:896 msgid "Up to 1 MB" msgstr "Mais que 1 MB" #: src/properties.cpp:897 msgid "Up to 10 MB" msgstr "Mais que 10 MB" #: src/properties.cpp:898 msgid "Up to 30 MB" msgstr "Mais que 30 MB" #: src/properties.cpp:899 msgid "Up to 50 MB" msgstr "Mais que 50 MB" #: src/properties.cpp:904 msgid "Illustrated Image" msgstr "Imagem ilustrada" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "Imagem multimedia ou composta" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "Imagem fotográfica" #: src/properties.cpp:913 msgid "Cell" msgstr "" #: src/properties.cpp:914 msgid "FAX" msgstr "" #: src/properties.cpp:916 msgid "Pager" msgstr "" #: src/properties.cpp:917 msgid "Work" msgstr "" #: src/properties.cpp:922 msgid "Age Unknown" msgstr "" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "" #: src/properties.cpp:924 msgid "Age 24" msgstr "" #: src/properties.cpp:925 msgid "Age 23" msgstr "" #: src/properties.cpp:926 msgid "Age 22" msgstr "" #: src/properties.cpp:927 msgid "Age 21" msgstr "" #: src/properties.cpp:928 msgid "Age 20" msgstr "" #: src/properties.cpp:929 msgid "Age 19" msgstr "" #: src/properties.cpp:930 msgid "Age 18" msgstr "" #: src/properties.cpp:931 msgid "Age 17" msgstr "" #: src/properties.cpp:932 msgid "Age 16" msgstr "" #: src/properties.cpp:933 msgid "Age 15" msgstr "" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "" #: src/properties.cpp:941 msgid "Unlimited Model Releases" msgstr "Modelo de liberação Ilimitado" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "Modelo de liberação limitado ou incompleto" #: src/properties.cpp:949 msgid "Unlimited Property Releases" msgstr "Liberação de propriedade ilimitada" #: src/properties.cpp:950 msgid "Limited or Incomplete Property Releases" msgstr "Liberação de propriedade limitada ou incompleta" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "Repetir uso" #: src/properties.cpp:960 src/properties.cpp:969 msgid "Fixture Identification" msgstr "Identificação de fixação" #: src/properties.cpp:961 src/properties.cpp:970 msgid "Status" msgstr "Status" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "Uma notação fazendo a imagem única" #: src/properties.cpp:962 src/properties.cpp:971 msgid "People" msgstr "Pessoas" #: src/properties.cpp:963 src/properties.cpp:972 #, fuzzy msgid "Catalog Sets" msgstr "ConjuntosDeCatálogos" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "Marcadores descritivos dos itens de catálogo por conteúdo" #: src/properties.cpp:978 #, fuzzy msgid "RegionInfo" msgstr "Regiões" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "" #: src/properties.cpp:984 src/properties.cpp:1000 msgid "Regions" msgstr "Regiões" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "" #: src/properties.cpp:985 msgid "Date Regions Valid" msgstr "" #: src/properties.cpp:985 msgid "Date the last region was created" msgstr "Data da última região que foi criada" #: src/properties.cpp:991 #, fuzzy msgid "Person Display Name" msgstr "Nome do perfil" #: src/properties.cpp:991 #, fuzzy msgid "Name of the person (in the given rectangle)" msgstr "Nome de uma pessoa que aparece na imagem." #: src/properties.cpp:992 msgid "Rectangle" msgstr "Retângulo" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "" #: src/properties.cpp:993 msgid "Person Email Digest" msgstr "" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "" #: src/properties.cpp:994 msgid "Person LiveId CID" msgstr "" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "" #: src/properties.cpp:1001 #, fuzzy msgid "Applied To Dimensions" msgstr "Dimensão X do Pixel" #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "" #: src/properties.cpp:1002 #, fuzzy msgid "Region List" msgstr "Regiões" #: src/properties.cpp:1002 #, fuzzy msgid "List of Region structures" msgstr "Estrutura de versão" #: src/properties.cpp:1003 msgid "Area" msgstr "Área" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" #: src/properties.cpp:1007 #, fuzzy msgid "Focus Usage" msgstr "Distância do foco" #: src/properties.cpp:1008 #, fuzzy msgid "Bar Code Value" msgstr "Valor de nitidez" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "" #: src/properties.cpp:1009 msgid "Extensions" msgstr "Extensões" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "" #: src/properties.cpp:1015 msgid "Main structure containing keyword based information" msgstr "" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "" #: src/properties.cpp:1016 msgid "List of root keyword structures" msgstr "" #: src/properties.cpp:1017 #, fuzzy msgid "Keyword" msgstr "Palavras-chaves." #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "" #: src/properties.cpp:1018 msgid "Applied" msgstr "" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" #: src/properties.cpp:1019 msgid "List of children keyword structures" msgstr "" #: src/properties.cpp:1026 #, fuzzy msgid "Use Panorama Viewer" msgstr "Modo panorâmico" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" #: src/properties.cpp:1027 #, fuzzy msgid "Capture Software" msgstr "Software de processamento" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" #: src/properties.cpp:1028 #, fuzzy msgid "Stitching Software" msgstr "Software de processamento" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" #: src/properties.cpp:1029 msgid "Projection Type" msgstr "" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "" #: src/properties.cpp:1034 msgid "The pitch angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" #: src/properties.cpp:1037 #, fuzzy msgid "First Photo Date" msgstr "Primeira data de publicação" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "" #: src/properties.cpp:1038 msgid "Last Photo Date" msgstr "" #: src/properties.cpp:1038 msgid "Date and time for the last image created in the panorama." msgstr "" #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "" #: src/properties.cpp:1040 #, fuzzy msgid "Exposure Lock Used" msgstr "Bloquear exposição de flash" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" #: src/properties.cpp:1041 msgid "Cropped Area Image Width Pixels" msgstr "" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" #: src/properties.cpp:1042 msgid "Cropped Area Image Height Pixels" msgstr "" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" #: src/properties.cpp:1047 msgid "Initial Camera Dolly" msgstr "" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" #: src/properties.cpp:1055 #, fuzzy msgid "Archival Location" msgstr "Localização de hora mundial" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "" #: src/properties.cpp:1056 msgid "Arranger" msgstr "" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "" #: src/properties.cpp:1057 #, fuzzy msgid "Arranger Keywords" msgstr "Palavras-chaves." #: src/properties.cpp:1057 msgid "Information about the Arranger Keywords." msgstr "" #: src/properties.cpp:1059 #, fuzzy msgid "Video Aspect Ratio" msgstr "Taxa de aspecto do pixel em vídeo" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "" #: src/properties.cpp:1060 #, fuzzy msgid "Video Aspect Ratio Type" msgstr "Taxa de aspecto do pixel em vídeo" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "" #: src/properties.cpp:1062 msgid "Attached File Description" msgstr "" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "" #: src/properties.cpp:1064 #, fuzzy msgid "Attached File Name" msgstr "Nome do arquivo raw." #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "" #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" #: src/properties.cpp:1068 #, fuzzy msgid "Brightness setting." msgstr "Valor do Brilho" #: src/properties.cpp:1069 #, fuzzy msgid "Camera Byte Order" msgstr "Temperatura da câmera" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "" #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "" #: src/properties.cpp:1070 #, fuzzy msgid "The video Cinematographer information." msgstr "As informações de direitos autorais." #: src/properties.cpp:1071 msgid "Clean Aperture Width" msgstr "" #: src/properties.cpp:1071 msgid "Clean aperture width in pixels" msgstr "" #: src/properties.cpp:1072 #, fuzzy msgid "Clean Aperture Height" msgstr "Centro com aumento de peso" #: src/properties.cpp:1072 msgid "Clean aperture height in pixels" msgstr "" #: src/properties.cpp:1073 #, fuzzy msgid "Video Codec" msgstr "Compressor de vídeo" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" #: src/properties.cpp:1074 msgid "Video Codec Decode Info" msgstr "" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1075 #, fuzzy msgid "Video Codec Description" msgstr "Profundidade do pixel em vídeo" #: src/properties.cpp:1075 src/properties.cpp:1403 #, fuzzy msgid "Contains description the codec." msgstr "Imprimir combinação de imagem, descrição necessária." #: src/properties.cpp:1076 #, fuzzy msgid "Video Codec Information" msgstr "Informações específicas do vendedor" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL" msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL." msgstr "" #: src/properties.cpp:1078 #, fuzzy msgid "Video Codec Settings" msgstr "Configurações de correção de lente" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1083 #, fuzzy msgid "Comment" msgstr "Registro de comentário" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "" #: src/properties.cpp:1084 msgid "Commissioned" msgstr "" #: src/properties.cpp:1084 msgid "Commissioned." msgstr "" #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1086 msgid "Information about the Composer." msgstr "" #: src/properties.cpp:1087 #, fuzzy msgid "Composer Keywords" msgstr "Janelas de Palavras Chaves" #: src/properties.cpp:1087 msgid "Information about the Composer Keywords." msgstr "" #: src/properties.cpp:1088 #, fuzzy msgid "Compressor" msgstr "Compressor de vídeo" #: src/properties.cpp:1088 #, fuzzy msgid "Video Compression Library Used" msgstr "Compressor de vídeo" #: src/properties.cpp:1089 #, fuzzy msgid "Video Compressor ID" msgstr "Compressor de vídeo" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "" #: src/properties.cpp:1090 #, fuzzy msgid "Compressor Version" msgstr "Taxa de compressão" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "" #: src/properties.cpp:1091 #, fuzzy msgid "Container Type" msgstr "Manter tipo de arquivo" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "" #: src/properties.cpp:1092 msgid "Content Compression Algorithm" msgstr "" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "" #: src/properties.cpp:1097 #, fuzzy msgid "Indicates the direction of contrast processing applied by the camera." msgstr "" "EXIF etiqueta 41992, 0xA408. Indica a direção do processamento de contraste " "aplicado pela câmera." #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "" #: src/properties.cpp:1100 #, fuzzy msgid "Name of the country where the video was created." msgstr "A data e a hora que o vídeo foi modificado pela última vez." #: src/properties.cpp:1101 #, fuzzy msgid "Creation Date" msgstr "Estilo criativo" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" #: src/properties.cpp:1103 #, fuzzy msgid "Pixel Crop Bottom" msgstr "A Parte de Baixo do Corte" #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "" #: src/properties.cpp:1104 #, fuzzy msgid "Pixel Crop Left" msgstr "Cortar à esquerda" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "" #: src/properties.cpp:1105 #, fuzzy msgid "Pixel Crop Right" msgstr "Corte à direita" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "" #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "" #: src/properties.cpp:1107 #, fuzzy msgid "Pixel Crop Top" msgstr "Cortar ao topo" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "" #: src/properties.cpp:1108 #, fuzzy msgid "Current Time" msgstr "Tempo de introdução" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "" #: src/properties.cpp:1109 msgid "Data Packets" msgstr "" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "" #: src/properties.cpp:1110 msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "" #: src/properties.cpp:1111 #, fuzzy msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" "EXIF etiqueta 36868, 0x9004 (primária) e 37522, 0x9292 (sub-segundos). Data " "e hora em que a imagem foi arquivada como dados digitais, pode ser o mesmo " "que DateTimeOriginal se originalmente arquivado na forma digital. Arquivado " "no formato ISO 8601. Inclui os dados SubSecTimeDigitized do EXIF." #: src/properties.cpp:1113 #, fuzzy msgid "Date-Time Original" msgstr "Data e hora original" #: src/properties.cpp:1113 #, fuzzy msgid "Contains the production date" msgstr "Reprodução de cor" #: src/properties.cpp:1114 msgid "Video Track Default On" msgstr "" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1115 #, fuzzy msgid "Indicates the digital zoom ratio when the video was shot." msgstr "" "EXIF etiqueta 41988, 0xA404. Indica a razão de zoom digital de quando a " "imagem foi obtida." #: src/properties.cpp:1116 #, fuzzy msgid "Dimensions" msgstr "Extensões" #: src/properties.cpp:1116 #, fuzzy msgid "Information about the Dimensions of the video frame." msgstr "" "Informação sobre a etnicidade e outros fatos do(s) modelo(s) numa imagem do " "modelo liberado" #: src/properties.cpp:1117 #, fuzzy msgid "Director" msgstr "Preditor" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "" #: src/properties.cpp:1118 #, fuzzy msgid "Video Display Unit" msgstr "Gravar exibição" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1120 #, fuzzy msgid "Doc Type" msgstr "Tipo de escala" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" #: src/properties.cpp:1121 msgid "Doc Type Read Version" msgstr "" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" #: src/properties.cpp:1122 #, fuzzy msgid "Doc Type Version" msgstr "Informação da versão do foco" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "" #: src/properties.cpp:1124 #, fuzzy msgid "The duration of the media file. Measured in milli-seconds." msgstr "A duração do arquivo de mídia." #: src/properties.cpp:1125 #, fuzzy msgid "EBML Read Version" msgstr "Versão PLUS" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "" #: src/properties.cpp:1126 #, fuzzy msgid "EBML Version" msgstr "Versão PLUS" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "" #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "" #: src/properties.cpp:1136 msgid "Edited By" msgstr "" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1137 msgid "Video Track Enabled" msgstr "" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels width in pixels" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "" #: src/properties.cpp:1141 msgid "Encoder" msgstr "" #: src/properties.cpp:1141 msgid "Information about the Encoder." msgstr "" #: src/properties.cpp:1142 #, fuzzy msgid "End Timecode" msgstr "Código do tempo alternativo" #: src/properties.cpp:1143 msgid "Engineer, in most cases name of person." msgstr "" #: src/properties.cpp:1144 msgid "Equipment" msgstr "" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "" #: src/properties.cpp:1145 #, fuzzy msgid "Exposure Compensation Information." msgstr "Compensação de exposição CM" #: src/properties.cpp:1146 #, fuzzy msgid "Exposure Program Information." msgstr "Compensação de exposição CM" #: src/properties.cpp:1147 #, fuzzy msgid "Exposure time in seconds." msgstr "EXIF etiqueta 33434, 0x829A. Tempo de exposição em segundos." #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description" msgstr "Detectar extensão de branco e preto" #: src/properties.cpp:1148 msgid "Extended Content Description, usually found in ASF type files." msgstr "" #: src/properties.cpp:1150 msgid "File ID" msgstr "" #: src/properties.cpp:1150 msgid "File ID." msgstr "" #: src/properties.cpp:1151 #, fuzzy msgid "File Length" msgstr "Comprimento da célula" #: src/properties.cpp:1151 #, fuzzy msgid "File length." msgstr "Lente focal" #: src/properties.cpp:1152 #, fuzzy msgid "File Name" msgstr "Nome do arquivo raw." #: src/properties.cpp:1152 #, fuzzy msgid "File Name or Absolute File Path" msgstr "Caminho absoluto para o arquivo de áudio de pico" #: src/properties.cpp:1153 #, fuzzy msgid "File Size" msgstr "Tamanho de imagem completo" #: src/properties.cpp:1153 msgid "File Size, in MB" msgstr "" #: src/properties.cpp:1154 #, fuzzy msgid "File Type" msgstr "Tipo do sub-arquivo" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "" #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "" #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "" #: src/properties.cpp:1158 #, fuzzy msgid "Focal length of the lens, in millimeters." msgstr "" "EXIF etiqueta 37386, 0x920A. Distância focal das lentes, em milímetros." #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "" #: src/properties.cpp:1161 #, fuzzy msgid "Frame Count" msgstr "Conta Passo do Zoom" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "" #: src/properties.cpp:1162 #, fuzzy msgid "Frame Height" msgstr "Cortar altura" #: src/properties.cpp:1162 msgid "Height of frames in a video" msgstr "" #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" #: src/properties.cpp:1165 #, fuzzy msgid "Frame Width" msgstr "Cortar largura" #: src/properties.cpp:1165 msgid "Width of frames in a video" msgstr "" #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "" #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "" #: src/properties.cpp:1171 #, fuzzy msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "" "GPS etiqueta 17, 0x11. Direção de imagem quando capturada, intervalo de " "valores entre 0 à 359.99." #: src/properties.cpp:1172 #, fuzzy msgid "Reference for image direction." msgstr "GPS etiqueta 16, 0x10. Referência para direção de imagem." #: src/properties.cpp:1173 #, fuzzy msgid "(North/South). Indicates latitude." msgstr "" "GPS etiqueta 2, 0x02 (posição) e 1, 0x01 (Norte/Sul). Indica a latitude." #: src/properties.cpp:1174 #, fuzzy msgid "(East/West). Indicates longitude." msgstr "" "GPS etiqueta 4, 0x04 (posição) e 3, 0x03 (Leste/Oeste). Indica a longitude." #: src/properties.cpp:1175 #, fuzzy msgid "Geodetic survey data." msgstr "GPS etiqueta 18, 0x12. Dado da pesquisa geodésica." #: src/properties.cpp:1176 #, fuzzy msgid "Satellite information, format is unspecified." msgstr "" "GPS etiqueta 8, 0x08. Informação do satélite, o formato não é especificado." #: src/properties.cpp:1177 #, fuzzy msgid "Time stamp of GPS data, " msgstr "Marca temporal do metadatum com senha" #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "" #: src/properties.cpp:1179 #, fuzzy msgid "Graphics Mode" msgstr "Modo explosão" #: src/properties.cpp:1179 msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" #: src/properties.cpp:1181 #, fuzzy msgid "Grouping" msgstr "Sem corte" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "Handler Description" msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 #, fuzzy msgid "Handler Type" msgstr "Tipo de escala" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Handler Vendor ID" msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 #, fuzzy msgid "Component manufacturer." msgstr "Fabricante de lentes." #: src/properties.cpp:1186 #, fuzzy msgid "Video Height" msgstr "Sensor de altura" #: src/properties.cpp:1186 src/properties.cpp:1309 msgid "Video height in pixels" msgstr "" #: src/properties.cpp:1187 msgid "Hue Adjustment Settings Information." msgstr "" #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "" #: src/properties.cpp:1189 msgid "Information Banner Image." msgstr "" #: src/properties.cpp:1190 msgid "Info Banner URL" msgstr "" #: src/properties.cpp:1190 msgid "Information Banner URL." msgstr "" #: src/properties.cpp:1191 #, fuzzy msgid "Information" msgstr "Informação de captura" #: src/properties.cpp:1191 #, fuzzy msgid "Additional Movie Information." msgstr "Informações adicionais da imagem." #: src/properties.cpp:1192 msgid "Info Text" msgstr "" #: src/properties.cpp:1192 #, fuzzy msgid "Information Text." msgstr "Informação de captura" #: src/properties.cpp:1193 #, fuzzy msgid "Info URL" msgstr "URL do licenciante" #: src/properties.cpp:1193 #, fuzzy msgid "Information URL." msgstr "Informação de captura" #: src/properties.cpp:1194 msgid "Information about the ISO Setting." msgstr "" #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "" #: src/properties.cpp:1196 msgid "Junk Data" msgstr "" #: src/properties.cpp:1196 msgid "Video Junk data" msgstr "" #: src/properties.cpp:1197 msgid "Language." msgstr "" #: src/properties.cpp:1198 #, fuzzy msgid "Length" msgstr "Lente focal" #: src/properties.cpp:1198 #, fuzzy msgid "The length of the media file." msgstr "A duração do arquivo de mídia." #: src/properties.cpp:1200 #, fuzzy msgid "Lens Type." msgstr "Modelo de lentes." #: src/properties.cpp:1201 #, fuzzy msgid "Lightness" msgstr "Tom de luz" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness." msgstr "Tom de luz" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information" msgstr "Informação de captura" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information." msgstr "Informação de captura" #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "" #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "" #: src/properties.cpp:1204 #, fuzzy msgid "Logo URL" msgstr "Última URL" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "" #: src/properties.cpp:1205 msgid "Lyrics" msgstr "" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "" #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "" #: src/properties.cpp:1207 msgid "Equipment Make" msgstr "" #: src/properties.cpp:1207 #, fuzzy msgid "Manufacturer of recording equipment" msgstr "O fabricante do equipamento de gravação" #: src/properties.cpp:1208 #, fuzzy msgid "Camera Maker Note Type" msgstr "Fabricante da câmera" #: src/properties.cpp:1208 msgid "Maker Note Type of the camera." msgstr "" #: src/properties.cpp:1209 #, fuzzy msgid "Camera Maker Note Version" msgstr "Versão do MakerNote" #: src/properties.cpp:1209 #, fuzzy msgid "Maker Note Version of the camera." msgstr "Versão do MakerNote" #: src/properties.cpp:1210 msgid "Maker URL" msgstr "" #: src/properties.cpp:1210 #, fuzzy msgid "Camera Manufacturer's URL." msgstr "Fabricante de lentes." #: src/properties.cpp:1211 #, fuzzy msgid "Smallest F number of lens, in APEX." msgstr "EXIF etiqueta 37381, 0x9205. Menor número F das lentes, em APEX." #: src/properties.cpp:1212 #, fuzzy msgid "Maximum Bit Rate" msgstr "Máximo valor da abertura" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" #: src/properties.cpp:1213 #, fuzzy msgid "Maximum Data Rate" msgstr "Taxa de dados do arquivo" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "Media Track Create Date" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 #, fuzzy msgid "Media Track Duration" msgstr "Saturação de vermelho" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 #, fuzzy msgid "Media Header Version" msgstr "Versão do MakerNote" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 #, fuzzy msgid "Media Language Code" msgstr "Código do resumo da mídia PLUS" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 #, fuzzy msgid "Media Track Modify Date" msgstr "Data de modificação do metadado" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" #: src/properties.cpp:1220 msgid "Medium." msgstr "" #: src/properties.cpp:1221 #, fuzzy msgid "Metadata" msgstr "Data dos metadados" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1222 #, fuzzy msgid "Metadata Library" msgstr "Data dos metadados" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "" #: src/properties.cpp:1223 #, fuzzy msgid "Metering mode." msgstr "ModoMedicao" #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "" #: src/properties.cpp:1225 #, fuzzy msgid "Mime Type" msgstr "Tipo do sub-arquivo" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "" #: src/properties.cpp:1226 msgid "QTime Minor FileType Version" msgstr "" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "" #: src/properties.cpp:1227 #, fuzzy msgid "Equipment Model" msgstr "Modelo de lentes" #: src/properties.cpp:1227 #, fuzzy msgid "Model name or number of equipment." msgstr "Nome ou número do modelo do equipamento" #: src/properties.cpp:1228 #, fuzzy msgid "Modification Date-Time" msgstr "Modificar data" #: src/properties.cpp:1228 #, fuzzy msgid "Contains the modification date of the video" msgstr "Restrições na criação de duplicatadas da imagem." #: src/properties.cpp:1229 #, fuzzy msgid "Movie Header Version" msgstr "Versão do MakerNote" #: src/properties.cpp:1230 msgid "Music By" msgstr "" #: src/properties.cpp:1230 msgid "Music By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1231 msgid "Muxing App" msgstr "" #: src/properties.cpp:1231 msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" #: src/properties.cpp:1232 #, fuzzy msgid "Name of song or the event." msgstr "Nome de uma pessoa que aparece na imagem." #: src/properties.cpp:1233 msgid "Next Track ID" msgstr "" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" #: src/properties.cpp:1234 #, fuzzy msgid "Number Of Colours" msgstr "Número das cores" #: src/properties.cpp:1234 #, fuzzy msgid "Total number of colours used" msgstr "Número de capturas no modo de explosão contínua" #: src/properties.cpp:1235 #, fuzzy msgid "Number Of Important Colours" msgstr "Número das cores" #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1236 #, fuzzy msgid "Number Of Parts" msgstr "Número de batimentos" #: src/properties.cpp:1236 msgid "Total number of parts in the video." msgstr "" #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" #: src/properties.cpp:1238 #, fuzzy msgid "Organization" msgstr "Transição gradual" #: src/properties.cpp:1238 #, fuzzy msgid "Name of organization associated with the video." msgstr "Nome da organização ou empresa que é apresentado na imagem." #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" #: src/properties.cpp:1248 msgid "Part" msgstr "" #: src/properties.cpp:1248 msgid "Part." msgstr "" #: src/properties.cpp:1249 msgid "Performers" msgstr "" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "" #: src/properties.cpp:1250 msgid "Performer Keywords" msgstr "" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords." msgstr "Palavras-chaves." #: src/properties.cpp:1251 msgid "Performer URL" msgstr "" #: src/properties.cpp:1251 msgid "Performer's dedicated URL." msgstr "" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data" msgstr "Modo de contraste da imagem" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data." msgstr "Modo de contraste da imagem" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Version" msgstr "Modo de contraste da imagem" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Data Version." msgstr "Modo de saturação da imagem" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name" msgstr "Modo de contraste da imagem" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name." msgstr "Modo de contraste da imagem" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Base" msgstr "Modo de contraste da imagem" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Data Base." msgstr "Modo de contraste da imagem" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust" msgstr "Modo de contraste da imagem" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust Information." msgstr "Modo de saturação da imagem" #: src/properties.cpp:1257 #, fuzzy msgid "Picture Control Quick Adjust" msgstr "Modo de contraste da imagem" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "" #: src/properties.cpp:1258 msgid "Play Selection" msgstr "" #: src/properties.cpp:1258 msgid "Play Selection." msgstr "" #: src/properties.cpp:1259 #, fuzzy msgid "Play Mode" msgstr "Modelo de luz" #: src/properties.cpp:1259 msgid "Information about the Play Mode." msgstr "" #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "" #: src/properties.cpp:1260 #, fuzzy msgid "Contains the information of External media." msgstr "Restrições na criação de duplicatadas da imagem." #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1265 msgid "Planes" msgstr "" #: src/properties.cpp:1265 msgid "The number of Image Planes in the video" msgstr "" #: src/properties.cpp:1266 #, fuzzy msgid "Poster Time" msgstr "Tempo de introdução" #: src/properties.cpp:1266 #, fuzzy msgid "The time value of the time of the movie poster." msgstr "O momento inicial da mídia inserida do projeto de áudio." #: src/properties.cpp:1267 msgid "Preferred Rate" msgstr "" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1269 msgid "Preroll" msgstr "" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" #: src/properties.cpp:1272 #, fuzzy msgid "Preview Atom Type" msgstr "Previsão da imagem" #: src/properties.cpp:1272 msgid "Indicates the type of atom that contains the preview data" msgstr "" #: src/properties.cpp:1273 #, fuzzy msgid "Preview Date" msgstr "Previsão da imagem" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "" #: src/properties.cpp:1274 #, fuzzy msgid "Preview Duration" msgstr "Visualizar versão" #: src/properties.cpp:1274 #, fuzzy msgid "The duration of the movie preview in movie time scale units" msgstr "A duração do arquivo de mídia." #: src/properties.cpp:1275 #, fuzzy msgid "Preview Time" msgstr "Previsão da imagem" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "" #: src/properties.cpp:1276 #, fuzzy msgid "The version of the movie preview " msgstr "A duração do arquivo de mídia." #: src/properties.cpp:1277 msgid "Produced By" msgstr "" #: src/properties.cpp:1277 msgid "Produced By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1278 msgid "Producer involved with the video." msgstr "" #: src/properties.cpp:1279 #, fuzzy msgid "Producer Keywords" msgstr "Palavras-chaves." #: src/properties.cpp:1279 msgid "Information about the Producer Keywords." msgstr "" #: src/properties.cpp:1280 #, fuzzy msgid "Production Aperture Width" msgstr "Abertura automática" #: src/properties.cpp:1280 msgid "Production aperture width in pixels" msgstr "" #: src/properties.cpp:1281 #, fuzzy msgid "Production Aperture Height" msgstr "Abertura automática" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "" #: src/properties.cpp:1282 msgid "Production Designer" msgstr "" #: src/properties.cpp:1282 msgid "Information about the Production Designer." msgstr "" #: src/properties.cpp:1283 msgid "Production Studio" msgstr "" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "" #: src/properties.cpp:1284 msgid "Product" msgstr "" #: src/properties.cpp:1284 msgid "Product." msgstr "" #: src/properties.cpp:1286 msgid "Rate" msgstr "" #: src/properties.cpp:1286 msgid "Rate." msgstr "" #: src/properties.cpp:1287 msgid "Rated" msgstr "" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "" #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright" msgstr "Gravando deslocamento" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright." msgstr "Gravando deslocamento" #: src/properties.cpp:1292 #, fuzzy msgid "Requirements" msgstr "Outros requisitos da licença" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "" #: src/properties.cpp:1293 #, fuzzy msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" "TIFF etiqueta 296, 0x128. Unidade utilizada para a XResolução e YResolução. " "O valor é uma opção dentre: 2 = polegadas; 3 = centímetros." #: src/properties.cpp:1294 msgid "Ripped By" msgstr "" #: src/properties.cpp:1294 msgid "Ripped By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1295 #, fuzzy msgid "Indicates the direction of saturation processing applied by the camera." msgstr "" "EXIF etiqueta 41993, 0xA409. Indica a direção do processamento de saturação " "aplicado pela câmera." #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "" #: src/properties.cpp:1296 #, fuzzy msgid "The name of the secondary genre.." msgstr "Nome do gênero." #: src/properties.cpp:1297 #, fuzzy msgid "Selection Time" msgstr "Tempo em sub-segundos" #: src/properties.cpp:1297 #, fuzzy msgid "The time value for the start time of the current selection." msgstr "O número da versão das normas PLUS em vigor no momento da transação." #: src/properties.cpp:1298 #, fuzzy msgid "Selection Duration" msgstr "Informação de redução de informação" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "" #: src/properties.cpp:1299 #, fuzzy msgid "Send Duration" msgstr "Saturação de vermelho" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "" #: src/properties.cpp:1303 #, fuzzy msgid "Software Version" msgstr "DSPFirmwareVersion" #: src/properties.cpp:1303 #, fuzzy msgid "The Version of the software used." msgstr "O nome da gravação ou tomada." #: src/properties.cpp:1304 #, fuzzy msgid "Song Writer" msgstr "Redator de legendas." #: src/properties.cpp:1304 #, fuzzy msgid "The name of the song writer." msgstr "O nome da gravação ou tomada." #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords" msgstr "Janelas de Palavras Chaves" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords." msgstr "Palavras-chaves." #: src/properties.cpp:1307 msgid "Source Credits" msgstr "" #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits." msgstr "Crédito." #: src/properties.cpp:1308 #, fuzzy msgid "Source Form" msgstr "Fonte." #: src/properties.cpp:1308 #, fuzzy msgid "Source Form." msgstr "Fonte." #: src/properties.cpp:1309 #, fuzzy msgid "Source Image Height" msgstr "Altura da imagem de multi-explosão" #: src/properties.cpp:1310 #, fuzzy msgid "Source Image Width" msgstr "Largura informada da imagem" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "" #: src/properties.cpp:1311 #, fuzzy msgid "Starring" msgstr "Noite estrelada" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "" #: src/properties.cpp:1312 #, fuzzy msgid "Start Timecode" msgstr "Código de tempo inicial" #: src/properties.cpp:1313 #, fuzzy msgid "Statistics" msgstr "Status" #: src/properties.cpp:1313 msgid "Statistics." msgstr "" #: src/properties.cpp:1314 #, fuzzy msgid "Stream Count" msgstr "Contagem do obturador" #: src/properties.cpp:1314 #, fuzzy msgid "Total Number Of Streams" msgstr "Número de batimentos" #: src/properties.cpp:1315 #, fuzzy msgid "Stream Name" msgstr "Placa de nomes" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "" #: src/properties.cpp:1316 #, fuzzy msgid "Stream Quality" msgstr "Qualidade JPEG" #: src/properties.cpp:1316 msgid "General Stream Quality" msgstr "" #: src/properties.cpp:1317 #, fuzzy msgid "Stream Sample Rate" msgstr "Taxa de amostra de áudio" #: src/properties.cpp:1318 #, fuzzy msgid "Stream Sample Count" msgstr "Contagem de Bytes de corte" #: src/properties.cpp:1319 #, fuzzy msgid "Stream Sample Size" msgstr "Amostras adicionais" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "" #: src/properties.cpp:1320 #, fuzzy msgid "Stream Type" msgstr "Tipo de escala" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1321 #, fuzzy msgid "Subtitles Codec" msgstr "Código de tempo inicial" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "" #: src/properties.cpp:1322 msgid "Subtitle Codec Decode Info" msgstr "" #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1323 #, fuzzy msgid "Subtitles Codec Information" msgstr "Informação de captura" #: src/properties.cpp:1323 msgid "Contains additional information about subtitles." msgstr "" #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "" #: src/properties.cpp:1325 #, fuzzy msgid "Subtitle Codec Settings" msgstr "Configurações de correção de lente" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1327 msgid "Subtitle Track Enabled" msgstr "" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1328 msgid "Subtitle" msgstr "" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords" msgstr "Palavras-chaves." #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords." msgstr "Palavras-chaves." #: src/properties.cpp:1330 msgid "Subtitles Language" msgstr "" #: src/properties.cpp:1330 #, fuzzy msgid "The Language in which the subtitles is recorded in." msgstr "A data em que a licença expira." #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1332 msgid "Subtitle Track Lacing" msgstr "" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1333 #, fuzzy msgid "Subject. " msgstr "Área do assunto" #: src/properties.cpp:1334 #, fuzzy msgid "TapeName." msgstr "Nome da fita" #: src/properties.cpp:1335 #, fuzzy msgid "Tag Default Setting" msgstr "Configuração de qualidade de imagem" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "" #: src/properties.cpp:1336 msgid "Tag Language" msgstr "" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "" #: src/properties.cpp:1337 #, fuzzy msgid "Tag Name" msgstr "Nome da fita" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1338 msgid "Tag String" msgstr "" #: src/properties.cpp:1338 msgid "Information contained in a Tags" msgstr "" #: src/properties.cpp:1339 #, fuzzy msgid "Target Type" msgstr "Tipo de escala" #: src/properties.cpp:1339 msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "" #: src/properties.cpp:1340 msgid "Technician" msgstr "" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "" #: src/properties.cpp:1341 #, fuzzy msgid "Thumbnail Height" msgstr "Estrutura de miniaturas" #: src/properties.cpp:1341 #, fuzzy msgid "Preview Image Thumbnail Height." msgstr "Tamanho da imagem visualizada" #: src/properties.cpp:1342 #, fuzzy msgid "Preview Image Thumbnail Length." msgstr "Tamanho da imagem visualizada" #: src/properties.cpp:1343 #, fuzzy msgid "Thumbnail Width" msgstr "Estrutura de miniaturas" #: src/properties.cpp:1343 #, fuzzy msgid "Preview Image Thumbnail Width." msgstr "Tamanho da imagem visualizada" #: src/properties.cpp:1344 msgid "Timecode Scale" msgstr "" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "" #: src/properties.cpp:1345 src/properties.cpp:1428 #, fuzzy msgid "Time Offset" msgstr "Endereço do bloco de imagem" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" #: src/properties.cpp:1346 #, fuzzy msgid "Time Scale" msgstr "Sobre escala" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1350 msgid "Toning Effect Settings Applied." msgstr "" #: src/properties.cpp:1351 msgid "Total Frame Count" msgstr "" #: src/properties.cpp:1352 #, fuzzy msgid "Number Of Streams" msgstr "Número de batimentos" #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1353 #, fuzzy msgid "Track" msgstr "Faixa do GPS" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "" #: src/properties.cpp:1354 msgid "Video Track Create Date" msgstr "" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" #: src/properties.cpp:1355 msgid "Video Track Duration" msgstr "" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced" msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "Track ID" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 #, fuzzy msgid "Track Header Version" msgstr "Versão do MakerNote" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "Track Language" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "The Language in which a particular stream is recorded in." msgstr "" #: src/properties.cpp:1361 msgid "Video Track Layer" msgstr "" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" #: src/properties.cpp:1364 #, fuzzy msgid "Video Track Modify Date" msgstr "Data de modificação do vídeo" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" #: src/properties.cpp:1365 #, fuzzy msgid "Track Name" msgstr "Nome da fita" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "" #: src/properties.cpp:1366 #, fuzzy msgid "Track Number." msgstr "Número de série" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "Track Volume" msgstr "" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "" #: src/properties.cpp:1368 msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" #: src/properties.cpp:1369 src/properties.cpp:1370 #, fuzzy msgid "Unknown Information" msgstr "Informação de captura" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1371 #, fuzzy msgid "Video URL" msgstr "URL do licenciante" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1372 msgid "Video URN" msgstr "" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1373 #, fuzzy msgid "Vari Program" msgstr "Programa DOF" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "" #: src/properties.cpp:1376 msgid "Vendor" msgstr "" #: src/properties.cpp:1376 #, fuzzy msgid "The developer of the compressor that generated the compressed data." msgstr "" "Este campo indica o comprimento do intervalo de reinício usado nos dados da " "imagem compactada." #: src/properties.cpp:1377 src/properties.cpp:1443 #, fuzzy msgid "Vendor ID" msgstr "ID licenciante" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" #: src/properties.cpp:1378 #, fuzzy msgid "Video Quality" msgstr "Qualidade JPEG" #: src/properties.cpp:1378 msgid "Video Stream Quality" msgstr "" #: src/properties.cpp:1379 #, fuzzy msgid "Video Sample Size" msgstr "Taxa de amostra de áudio" #: src/properties.cpp:1379 msgid "Video Stream Sample Size" msgstr "" #: src/properties.cpp:1380 #, fuzzy msgid "Video Scan Type" msgstr "Tipo de escala" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "" #: src/properties.cpp:1381 msgid "Watermark URL" msgstr "" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "" #: src/properties.cpp:1384 #, fuzzy msgid "White Balance Fine Tune." msgstr "Valor de equilíbrio branco" #: src/properties.cpp:1385 #, fuzzy msgid "Video Width" msgstr "Sensor de largura" #: src/properties.cpp:1386 #, fuzzy msgid "Window Location" msgstr "Classificação do Windows" #: src/properties.cpp:1386 msgid "Information about the Window Location." msgstr "" #: src/properties.cpp:1388 msgid "Written By" msgstr "" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1389 #, fuzzy msgid "Writing App" msgstr "Escrevendo visualização" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" #: src/properties.cpp:1390 #, fuzzy msgid "Horizontal resolution in pixels per unit." msgstr "TIFF etiqueta 282, 0x11A. Resolução horizontal em pixels por unidade." #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "" #: src/properties.cpp:1391 #, fuzzy msgid "Year in which the video was made." msgstr "A data e a hora que o vídeo foi modificado pela última vez." #: src/properties.cpp:1392 #, fuzzy msgid "Vertical resolution in pixels per unit." msgstr "TIFF etiqueta 283, 0x11B. Resolução vertical em pixels por unidade." #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "" #: src/properties.cpp:1398 #, fuzzy msgid "Balance" msgstr "EquilíbrioDeBranco" #: src/properties.cpp:1398 msgid "Indicates the left-right balance of the audio" msgstr "" #: src/properties.cpp:1399 #, fuzzy msgid "Bits Per Sample/ Bit Rate" msgstr "Bits por amostra" #: src/properties.cpp:1399 #, fuzzy msgid "Bits per test sample" msgstr "Bits por amostra" #: src/properties.cpp:1401 #, fuzzy msgid "Audio Codec" msgstr "Compressor de áudio" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "" #: src/properties.cpp:1402 msgid "Audio Codec Decode Info" msgstr "" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1403 msgid "Audio Codec Description" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL." msgstr "" #: src/properties.cpp:1405 #, fuzzy msgid "Audio Codec Information" msgstr "Informação de captura" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" #: src/properties.cpp:1406 #, fuzzy msgid "Audio Codec Settings" msgstr "Configuração de modo de foco" #: src/properties.cpp:1408 #, fuzzy msgid "Audio Default Duration" msgstr "Saturação de vermelho" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "" #: src/properties.cpp:1409 msgid "Audio Default Stream" msgstr "" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "" #: src/properties.cpp:1410 #, fuzzy msgid "Audio Track Default On" msgstr "Borda de parênteses automático" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "" #: src/properties.cpp:1411 msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1412 #, fuzzy msgid "Audio Format" msgstr "Taxa de amostra de áudio" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "" #: src/properties.cpp:1423 #, fuzzy msgid "Output Audio Sample Rate" msgstr "Taxa de amostra de áudio" #: src/properties.cpp:1423 #, fuzzy msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" "A taxa de amostra de áudio. Pode ser qualquer valor, sendo mas comummente em " "32000, 41100, ou 48000." #: src/properties.cpp:1424 #, fuzzy msgid "Audio Sample Count" msgstr "Taxa de amostra de áudio" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "" #: src/properties.cpp:1427 msgid "Sound Scheme Title" msgstr "" #: src/properties.cpp:1427 msgid "Sound Scheme Title." msgstr "" #: src/properties.cpp:1429 #, fuzzy msgid "Audio Track Create Date" msgstr "Taxa de amostra de áudio" #: src/properties.cpp:1430 #, fuzzy msgid "Audio Track Duration" msgstr "Gradação automática" #: src/properties.cpp:1431 #, fuzzy msgid "Audio Track Forced" msgstr "Borda de parênteses automático" #: src/properties.cpp:1431 msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1434 #, fuzzy msgid "Audio Track Lacing" msgstr "AutoParentizacao" #: src/properties.cpp:1434 msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1436 #, fuzzy msgid "Audio Track Layer" msgstr "Borda de parênteses automático" #: src/properties.cpp:1439 #, fuzzy msgid "Audio Track Modify Date" msgstr "Data de modificação do áudio" #: src/properties.cpp:1441 msgid "Audio URL" msgstr "" #: src/properties.cpp:1442 msgid "Audio URN" msgstr "" #: src/properties.cpp:1449 #, fuzzy msgid "The nature or genre of the resource." msgstr "Nome do gênero." #: src/properties.cpp:1450 #, fuzzy msgid "Date Modified" msgstr "Data de modificação do metadado" #: src/properties.cpp:1450 #, fuzzy msgid "Date on which the resource was changed." msgstr "A data e a hora do recurso foi originalmente criada." #: src/properties.cpp:1451 #, fuzzy msgid "A language of the resource." msgstr "O nome da cena." #: src/properties.cpp:1452 #, fuzzy msgid "License" msgstr "Licenciado" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" #: src/properties.cpp:1453 #, fuzzy msgid "Rights Holder" msgstr "Tom de luz" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" #: src/properties.cpp:1454 msgid "Access Rights" msgstr "" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "" #: src/properties.cpp:1455 msgid "A bibliographic reference for the resource." msgstr "" #: src/properties.cpp:1456 #, fuzzy msgid "References" msgstr "Trabalho de referência" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" #: src/properties.cpp:1459 msgid "*Main structure* containing Darwin Core location based information." msgstr "" #: src/properties.cpp:1468 #, fuzzy msgid "Record" msgstr "Gravar exibição" #: src/properties.cpp:1469 msgid "*Main structure* containing record based information." msgstr "" #: src/properties.cpp:1472 #, fuzzy msgid "Institution ID" msgstr "ID de instãncia" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" #: src/properties.cpp:1475 #, fuzzy msgid "Collection ID" msgstr "ID da versão" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" #: src/properties.cpp:1478 msgid "Institution Code" msgstr "" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1481 msgid "Dataset ID" msgstr "" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "" #: src/properties.cpp:1484 msgid "Collection Code" msgstr "" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" #: src/properties.cpp:1487 #, fuzzy msgid "Dataset Name" msgstr "Placa de nomes" #: src/properties.cpp:1488 #, fuzzy msgid "The name identifying the data set from which the record was derived." msgstr "Identificador único do trabalho da qual o recurso foi derivado." #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" #: src/properties.cpp:1496 #, fuzzy msgid "Information Withheld" msgstr "Informação de captura" #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" #: src/properties.cpp:1502 #, fuzzy msgid "Dynamic Properties" msgstr "modo optimizador de faixa dinãmico" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" #: src/properties.cpp:1507 msgid "Occurrence" msgstr "" #: src/properties.cpp:1508 msgid "*Main structure* containing occurrence based information." msgstr "" #: src/properties.cpp:1511 #, fuzzy msgid "Occurrence ID" msgstr "ID da licença" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" #: src/properties.cpp:1514 #, fuzzy msgid "Catalog Number" msgstr "FNúmero manual" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" #: src/properties.cpp:1517 msgid "Occurrence Details" msgstr "" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "" #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "" #: src/properties.cpp:1521 msgid "Comments or notes about the Occurrence." msgstr "" #: src/properties.cpp:1523 #, fuzzy msgid "Record Number" msgstr "Número de série" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" #: src/properties.cpp:1526 #, fuzzy msgid "Recorded By" msgstr "Gravar exibição" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" #: src/properties.cpp:1529 msgid "Individual ID" msgstr "" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" #: src/properties.cpp:1532 msgid "Individual Count" msgstr "" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "" #: src/properties.cpp:1535 msgid "Organism Quantity" msgstr "" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "" #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "" #: src/properties.cpp:1541 msgid "Sex" msgstr "" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1544 msgid "Life Stage" msgstr "" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1547 #, fuzzy msgid "Reproductive Condition" msgstr "Outras condições de licença" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1550 msgid "Behavior" msgstr "" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1559 #, fuzzy msgid "Preparations" msgstr "Transição gradual" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" #: src/properties.cpp:1562 msgid "Disposition" msgstr "" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" #: src/properties.cpp:1565 #, fuzzy msgid "Other Catalog Numbers" msgstr "Número de série" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" #: src/properties.cpp:1568 src/properties.cpp:1607 #, fuzzy msgid "Previous Identifications" msgstr "Identificação de fixação" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" #: src/properties.cpp:1571 #, fuzzy msgid "Associated Media" msgstr "Mídia contribuída" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" #: src/properties.cpp:1574 #, fuzzy msgid "Associated References" msgstr "Altitude de referẽncia do GPS." #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1580 msgid "Associated Sequences" msgstr "" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" #: src/properties.cpp:1588 msgid "Organism" msgstr "" #: src/properties.cpp:1589 msgid "*Main structure* containing organism based information." msgstr "" #: src/properties.cpp:1592 msgid "Organism ID" msgstr "" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1595 msgid "Organism Name" msgstr "" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "" #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1601 msgid "Organism Associated Occurrences" msgstr "" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1604 msgid "Associated Organisms" msgstr "" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" #: src/properties.cpp:1610 msgid "Organism Remarks" msgstr "" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "" #: src/properties.cpp:1615 #, fuzzy msgid "Material Sample" msgstr "Amostras adicionais" #: src/properties.cpp:1616 msgid "*Main structure* containing material sample based information." msgstr "" #: src/properties.cpp:1618 #, fuzzy msgid "Living Specimen" msgstr "Cena à noite" #: src/properties.cpp:1619 msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "" #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "" #: src/properties.cpp:1622 msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "" #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "" #: src/properties.cpp:1625 msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "" #: src/properties.cpp:1628 #, fuzzy msgid "Material Sample ID" msgstr "Amostras adicionais" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" #: src/properties.cpp:1634 msgid "*Main structure* containing event based information." msgstr "" #: src/properties.cpp:1636 msgid "Human Observation" msgstr "" #: src/properties.cpp:1637 msgid "*Main structure* containing human observation based information." msgstr "" #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "" #: src/properties.cpp:1640 msgid "*Main structure* containing machine observation based information." msgstr "" #: src/properties.cpp:1643 msgid "Event ID" msgstr "" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1646 msgid "Parent Event ID" msgstr "" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" #: src/properties.cpp:1649 #, fuzzy msgid "Event Date" msgstr "Data dos metadados" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1652 msgid "Event Earliest Date" msgstr "" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1655 #, fuzzy msgid "Event Latest Date" msgstr "Data dos metadados" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1658 #, fuzzy msgid "Event Time" msgstr "Tempo de introdução" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "" #: src/properties.cpp:1670 msgid "Month" msgstr "" #: src/properties.cpp:1671 #, fuzzy msgid "The ordinal month in which the Event occurred." msgstr "A data em que a licença expira." #: src/properties.cpp:1673 msgid "Day" msgstr "" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "" #: src/properties.cpp:1676 msgid "Verbatim Event Date" msgstr "" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" #: src/properties.cpp:1679 msgid "Habitat" msgstr "" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" #: src/properties.cpp:1685 #, fuzzy msgid "Sampling Effort" msgstr "Formato da amostra" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "" #: src/properties.cpp:1688 #, fuzzy msgid "Sampling Size Value" msgstr "Valor da amostra SMin" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" #: src/properties.cpp:1691 msgid "Sampling Size Unit" msgstr "" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" #: src/properties.cpp:1694 #, fuzzy msgid "Field Number" msgstr "Número-F" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" #: src/properties.cpp:1697 #, fuzzy msgid "Field Notes" msgstr "Notas do licenciante" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "" #: src/properties.cpp:1701 msgid "Comments or notes about the Event." msgstr "" #: src/properties.cpp:1705 #, fuzzy msgid "Location Class" msgstr "Localização criada" #: src/properties.cpp:1706 msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "" #: src/properties.cpp:1709 #, fuzzy msgid "Location ID" msgstr "Localização mostrada" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" #: src/properties.cpp:1718 msgid "Continent" msgstr "" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "" #: src/properties.cpp:1721 msgid "Water Body" msgstr "" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1724 msgid "Island Group" msgstr "" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1727 msgid "Island" msgstr "" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "" #: src/properties.cpp:1736 #, fuzzy msgid "State Province" msgstr "Estado ou província do licenciante" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1739 msgid "County" msgstr "" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1742 msgid "Municipality" msgstr "" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" #: src/properties.cpp:1745 #, fuzzy msgid "Locality" msgstr "Local" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "" #: src/properties.cpp:1749 msgid "The original textual description of the place." msgstr "" #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1760 msgid "Verbatim Depth" msgstr "" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "" #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1766 msgid "Maximum Depth In Meters" msgstr "" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1775 #, fuzzy msgid "Location According To" msgstr "Localização mostrada" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" #: src/properties.cpp:1778 #, fuzzy msgid "Location Remarks" msgstr "Localização criada" #: src/properties.cpp:1779 msgid "Comments or notes about the Location." msgstr "" #: src/properties.cpp:1781 msgid "Verbatim Coordinates" msgstr "" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1784 #, fuzzy msgid "Verbatim Latitude" msgstr "Latitude de destino do GPS" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1787 #, fuzzy msgid "Verbatim Longitude" msgstr "Longitude de destino do GPS" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1796 #, fuzzy msgid "Decimal Latitude" msgstr "Latitude de destino do GPS" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" #: src/properties.cpp:1799 #, fuzzy msgid "Decimal Longitude" msgstr "Longitude GPS" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" #: src/properties.cpp:1802 msgid "Geodetic Datum" msgstr "" #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" #: src/properties.cpp:1808 msgid "Coordinate Precision" msgstr "" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "" #: src/properties.cpp:1812 #, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "" #: src/properties.cpp:1821 #, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" #: src/properties.cpp:1823 #, fuzzy msgid "Georeferenced By" msgstr "Trabalho de referência" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" #: src/properties.cpp:1826 #, fuzzy msgid "Georeferenced Date" msgstr "Branco e Preto de Referência" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" #: src/properties.cpp:1832 msgid "Georeference Sources" msgstr "" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1838 msgid "Georeference Remarks" msgstr "" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" #: src/properties.cpp:1843 msgid "Geological Context" msgstr "" #: src/properties.cpp:1844 msgid "*Main structure* containing geological context based information." msgstr "" #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" #: src/properties.cpp:1889 msgid "Group" msgstr "" #: src/properties.cpp:1890 msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "" #: src/properties.cpp:1892 #, fuzzy msgid "Formation" msgstr "Informações do GPS" #: src/properties.cpp:1893 msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "" #: src/properties.cpp:1895 #, fuzzy msgid "Member" msgstr "Âmbar" #: src/properties.cpp:1896 msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "" #: src/properties.cpp:1898 msgid "Bed" msgstr "" #: src/properties.cpp:1899 msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "" #: src/properties.cpp:1903 #, fuzzy msgid "Identification" msgstr "Identificação de fixação" #: src/properties.cpp:1904 msgid "*Main structure* containing identification based information." msgstr "" #: src/properties.cpp:1907 #, fuzzy msgid "Identification ID" msgstr "Identificação de fixação" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1910 msgid "Identified By" msgstr "" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" #: src/properties.cpp:1913 #, fuzzy msgid "Date Identified" msgstr "Identificador de imagem digital" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" #: src/properties.cpp:1916 #, fuzzy msgid "Identification References" msgstr "Imagem de referência da direção do GPS" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" #: src/properties.cpp:1922 #, fuzzy msgid "Identification Remarks" msgstr "Identificação de fixação" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "" #: src/properties.cpp:1925 #, fuzzy msgid "Identification Qualifier" msgstr "Identificação de fixação" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" #: src/properties.cpp:1928 #, fuzzy msgid "Type Status" msgstr "Status" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" #: src/properties.cpp:1933 msgid "Taxon" msgstr "" #: src/properties.cpp:1934 msgid "*Main structure* containing taxonomic based information." msgstr "" #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" #: src/properties.cpp:1949 msgid "Original Name Usage ID" msgstr "" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" #: src/properties.cpp:1961 #, fuzzy msgid "Scientific Name" msgstr "Manter nome de arquivo" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" #: src/properties.cpp:1967 #, fuzzy msgid "Parent Name Usage" msgstr "Placa de nomes" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" #: src/properties.cpp:1970 msgid "Original Name Usage" msgstr "" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" #: src/properties.cpp:1973 #, fuzzy msgid "Name According To" msgstr "Gravando deslocamento" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" #: src/properties.cpp:1976 msgid "Name Published In" msgstr "" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "" #: src/properties.cpp:1980 #, fuzzy msgid "The four-digit year in which the scientificName was published." msgstr "A data em que a imagem foi publicada pela primeira vez." #: src/properties.cpp:1982 #, fuzzy msgid "Higher Classification" msgstr "Macro ampliação" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" #: src/properties.cpp:1985 msgid "Kingdom" msgstr "" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "" #: src/properties.cpp:1988 msgid "Phylum" msgstr "" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" #: src/properties.cpp:1991 msgid "Class" msgstr "" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "" #: src/properties.cpp:1994 msgid "Order" msgstr "" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "" #: src/properties.cpp:1997 msgid "Family" msgstr "" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "" #: src/properties.cpp:2000 msgid "Genus" msgstr "" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "" #: src/properties.cpp:2003 msgid "Subgenus" msgstr "" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "" #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" #: src/properties.cpp:2021 msgid "Vernacular Name" msgstr "" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "" #: src/properties.cpp:2024 msgid "Nomenclatural Code" msgstr "" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "" #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "" #: src/properties.cpp:2039 msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "" #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" #: src/properties.cpp:2045 msgid "Resource ID" msgstr "" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "" #: src/properties.cpp:2048 #, fuzzy msgid "Related Resource ID" msgstr "Blocos de Recursos de Imagem" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" #: src/properties.cpp:2051 msgid "Relationship Of Resource" msgstr "" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "" #: src/properties.cpp:2065 msgid "Measurement Or Fact" msgstr "" #: src/properties.cpp:2066 msgid "*Main structure* containing measurement based information." msgstr "" #: src/properties.cpp:2069 msgid "Measurement ID" msgstr "" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:2072 msgid "Measurement Type" msgstr "" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2075 #, fuzzy msgid "Measurement Value" msgstr "Máximo valor da abertura" #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2078 msgid "Measurement Accuracy" msgstr "" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "" #: src/properties.cpp:2081 msgid "Measurement Unit" msgstr "" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" #: src/properties.cpp:2084 msgid "Measurement Determined Date" msgstr "" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2087 msgid "Measurement Determined By" msgstr "" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" #: src/properties.cpp:2090 msgid "Measurement Method" msgstr "" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2093 msgid "Measurement Remarks" msgstr "" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "" #: src/properties.cpp:2101 #, fuzzy msgid "A brief description of the file" msgstr "A duração do arquivo de mídia." #: src/properties.cpp:2102 #, fuzzy msgid "Date Time" msgstr "Data adquirida" #: src/properties.cpp:2103 #, fuzzy msgid "The name of the author or photographer" msgstr "O nome da gravação ou tomada." #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "" #: src/properties.cpp:2105 msgid "Notes" msgstr "" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "" #: src/properties.cpp:2106 msgid "Tagged" msgstr "" #: src/properties.cpp:2106 msgid "True or False" msgstr "" #: src/properties.cpp:2107 msgid "Categories" msgstr "" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "" #: src/sigmamn.cpp:62 #, fuzzy msgid "Resolution Mode" msgstr "Resolução em x" #: src/sigmamn.cpp:63 #, fuzzy msgid "Resolution mode" msgstr "Resolução em x" #: src/sigmamn.cpp:65 #, fuzzy msgid "Autofocus Mode" msgstr "Modo ajuste de foco automático" #: src/sigmamn.cpp:66 msgid "Autofocus mode" msgstr "Modo ajuste de foco automático" #: src/sigmamn.cpp:68 #, fuzzy msgid "Focus Setting" msgstr "Configuração de modo de foco" #: src/sigmamn.cpp:69 #, fuzzy msgid "Focus setting" msgstr "Configuração de modo de foco" #: src/sigmamn.cpp:80 msgid "Lens Range" msgstr "Lente gama" #: src/sigmamn.cpp:81 msgid "Lens focal length range" msgstr "Lente de distância focal" #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 #, fuzzy msgid "Shadow" msgstr "Coloração da Sombra" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 #, fuzzy msgid "Highlight" msgstr "Luz de preenchimento" #: src/sigmamn.cpp:104 msgid "Fill Light" msgstr "Luz de preenchimento" #: src/sigmamn.cpp:105 msgid "X3 Fill light" msgstr "Luz de preenchimento x3" #: src/sigmamn.cpp:107 #, fuzzy msgid "Color Adjustment" msgstr "Ajuste de nitidez" #: src/sigmamn.cpp:108 #, fuzzy msgid "Color adjustment" msgstr "Ajuste fino do Balanço de Branco" #: src/sigmamn.cpp:110 #, fuzzy msgid "Adjustment Mode" msgstr "Modo explosão" #: src/sigmamn.cpp:111 #, fuzzy msgid "Adjustment mode" msgstr "Ajuste de nitidez" #: src/sigmamn.cpp:122 msgid "Auto Bracket" msgstr "Auto parênteses" #: src/sigmamn.cpp:123 src/tags.cpp:1497 #, fuzzy msgid "Auto bracket" msgstr "Auto parênteses" #: src/sigmamn.cpp:127 msgid "Unknown SigmaMakerNote tag" msgstr "Etiqueta SigmaMakerNote desconhecida" #: src/sigmamn.cpp:170 #, fuzzy msgid "8-Segment" msgstr "Multi segmento" #: src/sonymn.cpp:131 #, fuzzy msgid "Advanced Lv1" msgstr "Avançado" #: src/sonymn.cpp:132 #, fuzzy msgid "Advanced Lv2" msgstr "Avançado" #: src/sonymn.cpp:133 #, fuzzy msgid "Advanced Lv3" msgstr "Avançado" #: src/sonymn.cpp:134 #, fuzzy msgid "Advanced Lv4" msgstr "Avançado" #: src/sonymn.cpp:135 #, fuzzy msgid "Advanced Lv5" msgstr "Avançado" #: src/sonymn.cpp:154 #, fuzzy msgid "Night Scene / Twilight" msgstr "Retrato de cena noturna" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "Obturador de alta velocidade" #: src/sonymn.cpp:156 msgid "Twilight Portrait" msgstr "Retrato de crepúsculo" #: src/sonymn.cpp:157 #, fuzzy msgid "Soft Snap / Portrait" msgstr "Retrato de cena noturna" #: src/sonymn.cpp:159 msgid "Smile Shutter" msgstr "Obturador de sorriso" #: src/sonymn.cpp:161 msgid "High Sensitivity" msgstr "Alta sensibilidade" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "Disparo Esportes Avançados" #: src/sonymn.cpp:166 msgid "Sweep Panorama" msgstr "" #: src/sonymn.cpp:168 msgid "Anti Motion Blur" msgstr "Borrão anti-movimento" #: src/sonymn.cpp:170 msgid "Backlight Correction HDR" msgstr "Correção HDR para luz de fundo" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "" #: src/sonymn.cpp:172 msgid "Background Defocus" msgstr "" #: src/sonymn.cpp:173 #, fuzzy msgid "Soft Skin" msgstr "Aparência suave" #: src/sonymn.cpp:174 #, fuzzy msgid "3D Image" msgstr "ID da imagem" #: src/sonymn.cpp:189 msgid "On (Continuous)" msgstr "Ligado (Contínuo)" #: src/sonymn.cpp:190 msgid "On (Shooting)" msgstr "Ligado (Capturando)" #: src/sonymn.cpp:198 msgid "Plus" msgstr "Mais" #: src/sonymn.cpp:214 msgid "White Flourescent" msgstr "Fluorescente branco" #: src/sonymn.cpp:215 msgid "Cool White Flourescent" msgstr "Fluorescente branca fria" #: src/sonymn.cpp:216 msgid "Day White Flourescent" msgstr "Luz branca do dia fluorescente" #: src/sonymn.cpp:217 #, fuzzy msgid "Incandescent2" msgstr "Tungstênio (incandescente)" #: src/sonymn.cpp:218 #, fuzzy msgid "Warm White Fluorescent" msgstr "FluorescenciaBranca" #: src/sonymn.cpp:221 msgid "Underwater 1 (Blue Water)" msgstr "Subaquático 1 (água azul)" #: src/sonymn.cpp:222 msgid "Underwater 2 (Green Water)" msgstr "Subaquático 2 (água verde)" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "AF Permanente" #: src/sonymn.cpp:237 msgid "Center AF" msgstr "AF Centralizado" #: src/sonymn.cpp:238 msgid "Spot AF" msgstr "Ponto AF" #: src/sonymn.cpp:239 msgid "Flexible Spot AF" msgstr "Ponto flexível AF" #: src/sonymn.cpp:240 msgid "Touch AF" msgstr "Toque AF" #: src/sonymn.cpp:241 msgid "Manual Focus" msgstr "Foco manual" #: src/sonymn.cpp:242 msgid "Face Detected" msgstr "Face detectada" #: src/sonymn.cpp:257 msgid "Close Focus" msgstr "Foco fechado" #: src/sonymn.cpp:347 src/sonymn.cpp:348 msgid "Multi Burst Mode" msgstr "Modo multi-explosão" #: src/sonymn.cpp:350 src/sonymn.cpp:351 msgid "Multi Burst Image Width" msgstr "Largura da imagem de multi-explosão" #: src/sonymn.cpp:353 src/sonymn.cpp:354 msgid "Multi Burst Image Height" msgstr "Altura da imagem de multi-explosão" #: src/sonymn.cpp:364 msgid "JPEG preview image" msgstr "Imagem visualizada JPEG" #: src/sonymn.cpp:390 msgid "Auto HDR" msgstr "Auto HDR" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "Modo escala de alta definição" #: src/sonymn.cpp:395 msgid "Shot Information" msgstr "Informação de captura" #: src/sonymn.cpp:400 src/sonymn.cpp:401 msgid "Sony Model ID" msgstr "ID do modelo Sony" #: src/sonymn.cpp:403 src/sonymn.cpp:404 msgid "Color Reproduction" msgstr "Reprodução de cor" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 msgid "Dynamic Range Optimizer" msgstr "Otimizar a escala dinâmica" #: src/sonymn.cpp:427 src/sonymn.cpp:428 msgid "Minolta MakerNote" msgstr "Nota do autor do Minolta" #: src/sonymn.cpp:433 src/sonymn.cpp:434 msgid "Full Image Size" msgstr "Tamanho de imagem completo" #: src/sonymn.cpp:436 msgid "Preview Image Size" msgstr "Tamanho da imagem visualizada" #: src/sonymn.cpp:437 msgid "Preview image size" msgstr "Tamanho da imagem visualizada" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 msgid "AF Illuminator" msgstr "Iluminador AF" #: src/sonymn.cpp:454 src/sonymn.cpp:455 msgid "JPEG Quality" msgstr "Qualidade JPEG" #: src/sonymn.cpp:460 src/sonymn.cpp:461 msgid "Release Mode" msgstr "Modo de lançamento" #: src/sonymn.cpp:464 #, fuzzy msgid "Shot number in continuous burst mode" msgstr "Número de capturas no modo de explosão contínua" #: src/sonymn.cpp:466 src/sonymn.cpp:467 msgid "Anti-Blur" msgstr "Anti-borrão" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 msgid "Long Exposure Noise Reduction" msgstr "Redução de ruído de longa exposição" #: src/sonymn.cpp:475 src/sonymn.cpp:476 msgid "Intelligent Auto" msgstr "Auto inteligente" #: src/sonymn.cpp:483 msgid "Unknown Sony1MakerNote tag" msgstr "Etiqueta Sony1Autor Desconhecida" #: src/sonymn.cpp:497 msgid "Continuous High" msgstr "Alto contínuo" #: src/sonymn.cpp:501 msgid "Continuous Low" msgstr "Baixo contínuo" #: src/sonymn.cpp:503 src/sonymn.cpp:504 msgid "D-Range Optimizer Bracketing Low" msgstr "Baixo otimizador entre parênteses D-Alcance" #: src/sonymn.cpp:536 msgid "Autumn" msgstr "Outono" #: src/sonymn.cpp:542 msgid "ADI" msgstr "ADI" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "CaixaDeEstilo1" #: src/sonymn.cpp:578 msgid "Auto No Flash" msgstr "Sem flash automático" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 msgid "Dynamic Range Optimizer Level" msgstr "Nível de otimização da escala dinâmica" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 msgid "Creative Style" msgstr "Estilo criativo" #: src/sonymn.cpp:648 src/sonymn.cpp:649 msgid "Zone Matching Value" msgstr "Valor de zona de combinação" #: src/sonymn.cpp:666 src/sonymn.cpp:667 msgid "AF With Shutter" msgstr "Obturador com AF" #: src/sonymn.cpp:674 src/sonymn.cpp:675 msgid "High ISO NoiseReduction" msgstr "Alta ReduçãoDeRuído ISO" #: src/sonymn.cpp:678 src/sonymn.cpp:679 msgid "Image Style" msgstr "Estilo de imagem" #: src/sonymn.cpp:704 msgid "Unknown Sony1 Camera Settings tag" msgstr "Etiqueta de ajuste da câmera Sony1 desconhecida" #: src/sonymn.cpp:768 msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "Etiqueta de ajuste 2 da câmera Sony1 desconhecida" #: src/tags.cpp:188 #, fuzzy msgid "Unknown section" msgstr "Etiqueta OlympusFe desconhecida" #: src/tags.cpp:189 msgid "Image data structure" msgstr "Estrutura de arquivo de imagem" #: src/tags.cpp:190 msgid "Recording offset" msgstr "Gravando deslocamento" #: src/tags.cpp:191 msgid "Image data characteristics" msgstr "Características do arquivo de imagem" #: src/tags.cpp:192 #, fuzzy msgid "Other data" msgstr "Nenhuma etiqueta" #: src/tags.cpp:193 #, fuzzy msgid "Exif data structure" msgstr "Estrutura de arquivo de imagem" #: src/tags.cpp:195 #, fuzzy msgid "Image configuration" msgstr "Direção de imagem do GPS" #: src/tags.cpp:196 #, fuzzy msgid "User information" msgstr "Informações do GPS" #: src/tags.cpp:197 msgid "Related file" msgstr "Arquivo relacionado" #: src/tags.cpp:198 #, fuzzy msgid "Date and time" msgstr "Data e hora original" #: src/tags.cpp:199 msgid "Picture taking conditions" msgstr "Adquirindo condições de imagem" #: src/tags.cpp:200 msgid "GPS information" msgstr "Informações do GPS" #: src/tags.cpp:201 #, fuzzy msgid "Interoperability information" msgstr "As informações de direitos autorais." #: src/tags.cpp:202 msgid "Vendor specific information" msgstr "Informações específicas do vendedor" #: src/tags.cpp:203 msgid "Adobe DNG tags" msgstr "Etiqueta do Adobe DNG" #: src/tags.cpp:204 msgid "Panasonic RAW tags" msgstr "Etiqueta Panasonic RAW" #: src/tags.cpp:205 msgid "TIFF/EP tags" msgstr "etiquetas TIFF/EP" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "Etiquetas TIFF do PageMaker 6.0" #: src/tags.cpp:207 msgid "Adobe OPI tags" msgstr "Etiquetas OPI do Abode" #: src/tags.cpp:208 msgid "Last section" msgstr "" #: src/tags.cpp:224 msgid "Primary image" msgstr "Imagem primária" #: src/tags.cpp:225 msgid "Thumbnail/Preview image" msgstr "Miniatura/mostrar imagem" #: src/tags.cpp:226 msgid "Primary image, Multi page file" msgstr "Imagem primária, Arquivo de multi-paginação" #: src/tags.cpp:227 msgid "Thumbnail/Preview image, Multi page file" msgstr "Miniatura/Mostrar imagem, Arquivo de multi-paginação" #: src/tags.cpp:228 msgid "Primary image, Transparency mask" msgstr "Imagem primária, Máscara de transparência" #: src/tags.cpp:229 msgid "Thumbnail/Preview image, Transparency mask" msgstr "Miniatura/Mostrar imagem, Máscara de transparência" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "Imagem primária. arquivo de multi-paginação, máscara de transparência" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "" "Miniatura/Mostrar imagem, arquivo de multi-paginação, máscara de " "transparência" #: src/tags.cpp:237 msgid "Full-resolution image data" msgstr "Dados de imagem em resolução completa" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "Dados de imagem em resolução reduzida" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "Uma página única de uma imagem de múltiplas páginas" #: src/tags.cpp:245 msgid "inch" msgstr "" #: src/tags.cpp:252 #, fuzzy msgid "CCITT RLE" msgstr "CCITT RLE 1-word" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "" #: src/tags.cpp:255 msgid "LZW" msgstr "" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "" #: src/tags.cpp:257 msgid "JPEG" msgstr "" #: src/tags.cpp:258 #, fuzzy msgid "Adobe Deflate" msgstr "Esquema Adobe PDF" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "" #: src/tags.cpp:260 #, fuzzy msgid "JBIG Color" msgstr "Temporizador de cor PB" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "Próximo 2-bits RLE" #: src/tags.cpp:262 msgid "Epson ERF Compressed" msgstr "Epson ERF comprimido" #: src/tags.cpp:263 msgid "Samsung SRW Compressed" msgstr "Samsung SRW compactado" #: src/tags.cpp:264 msgid "CCITT RLE 1-word" msgstr "CCITT RLE 1-word" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "Pacote de Bits (Macintosh RLE)" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "IT8 CT Padding" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "IT8 Linework RLE" #: src/tags.cpp:269 msgid "IT8 Monochrome Picture" msgstr "Imagem monocromárica IT8" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "Binário Lineart IT8" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "Filme da pixar (10-bits LZW)" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "Pixar Log (11-bits ZIP)" #: src/tags.cpp:273 msgid "Pixar Deflate" msgstr "" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "Codificação Kodak DCS" #: src/tags.cpp:275 msgid "ISO JBIG" msgstr "" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "SGI Log Luminance RLE" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "Pacote SGI Log 24-bits" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "Leadtools JPEG 2000" #: src/tags.cpp:279 msgid "Nikon NEF Compressed" msgstr "Nikon NEF Comprimido" #: src/tags.cpp:280 msgid "Kodak DCR Compressed" msgstr "Kodak DCR Comprimido" #: src/tags.cpp:281 msgid "Pentax PEF Compressed" msgstr "Pentax PEF Comprimido" #: src/tags.cpp:286 msgid "White Is Zero" msgstr "" #: src/tags.cpp:287 msgid "Black Is Zero" msgstr "" #: src/tags.cpp:288 msgid "RGB" msgstr "" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "" #: src/tags.cpp:290 #, fuzzy msgid "Transparency Mask" msgstr "Imagem primária, Máscara de transparência" #: src/tags.cpp:291 src/tags.cpp:330 #, fuzzy msgid "CMYK" msgstr "Não CMYK" #: src/tags.cpp:292 msgid "YCbCr" msgstr "" #: src/tags.cpp:293 msgid "CIELab" msgstr "" #: src/tags.cpp:294 msgid "ICCLab" msgstr "" #: src/tags.cpp:295 msgid "ITULab" msgstr "" #: src/tags.cpp:296 msgid "Color Filter Array" msgstr "Padrão de filtro de cor" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "Crú linear" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "Não pontilhado ou meio-tonalizado" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "Pontilhamento ordenado ou técnica de meio-tom" #: src/tags.cpp:306 msgid "Randomized process" msgstr "Processo aleatório" #: src/tags.cpp:311 #, fuzzy msgid "top, left" msgstr "Cortar à direita" #: src/tags.cpp:312 #, fuzzy msgid "top, right" msgstr "Direitos autorais" #: src/tags.cpp:313 #, fuzzy msgid "bottom, right" msgstr "Abaixo à direita" #: src/tags.cpp:314 #, fuzzy msgid "bottom, left" msgstr "Abaixo à esquerda" #: src/tags.cpp:315 msgid "left, top" msgstr "" #: src/tags.cpp:316 #, fuzzy msgid "right, top" msgstr "Tom de luz" #: src/tags.cpp:317 msgid "right, bottom" msgstr "" #: src/tags.cpp:318 src/tags.cpp:319 msgid "left, bottom" msgstr "" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "Nenhum esquema previsto usado" #: src/tags.cpp:325 msgid "Horizontal differencing" msgstr "Diferenciamento horizontal" #: src/tags.cpp:331 msgid "not CMYK" msgstr "Não CMYK" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "Dados em inteiro sem sinal" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "Dados em inteiro com sinal no complemento de dois" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "Dados em ponto flutuante IEEE" #: src/tags.cpp:339 src/tags.cpp:340 msgid "Undefined data format" msgstr "Formato de dados indefinidos" #: src/tags.cpp:345 msgid "Not indexed" msgstr "Não possui índice" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "Indexado" #: src/tags.cpp:351 msgid "A" msgstr "A" #: src/tags.cpp:352 msgid "B" msgstr "B" #: src/tags.cpp:353 msgid "C" msgstr "C" #: src/tags.cpp:354 msgid "A+B-C" msgstr "A+B-C" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "A+((B-C)/2)" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "B+((A-C)/2)" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "(A+B)/2" #: src/tags.cpp:362 #, fuzzy msgid "Centered" msgstr "AF Centralizado" #: src/tags.cpp:363 msgid "Co-sited" msgstr "Co-sited" #: src/tags.cpp:368 #, fuzzy msgid "No flash" msgstr "Sem flash automático" #: src/tags.cpp:370 #, fuzzy msgid "Fired, return light not detected" msgstr "Sim, compulsório, retorno de luz não detectada" #: src/tags.cpp:371 #, fuzzy msgid "Fired, return light detected" msgstr "Sim, compulsório, retorno de luz detectada" #: src/tags.cpp:372 msgid "Yes, did not fire" msgstr "Sim, não disparou" #: src/tags.cpp:373 #, fuzzy msgid "Yes, compulsory" msgstr "Sim, compulsório, redução de olhos-vermelhos" #: src/tags.cpp:374 msgid "Yes, compulsory, return light not detected" msgstr "Sim, compulsório, retorno de luz não detectada" #: src/tags.cpp:375 msgid "Yes, compulsory, return light detected" msgstr "Sim, compulsório, retorno de luz detectada" #: src/tags.cpp:376 msgid "No, compulsory" msgstr "" #: src/tags.cpp:377 #, fuzzy msgid "No, did not fire, return light not detected" msgstr "Sim, compulsório, retorno de luz não detectada" #: src/tags.cpp:378 msgid "No, auto" msgstr "" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "" #: src/tags.cpp:380 #, fuzzy msgid "Yes, auto, return light not detected" msgstr "Sim, compulsório, retorno de luz não detectada" #: src/tags.cpp:381 #, fuzzy msgid "Yes, auto, return light detected" msgstr "Sim, compulsório, retorno de luz detectada" #: src/tags.cpp:382 #, fuzzy msgid "No flash function" msgstr "Não, sem função de flash" #: src/tags.cpp:383 msgid "No, no flash function" msgstr "Não, sem função de flash" #: src/tags.cpp:384 msgid "Yes, red-eye reduction" msgstr "Sim, redução de olhos-vermelhos" #: src/tags.cpp:385 #, fuzzy msgid "Yes, red-eye reduction, return light not detected" msgstr "" "Sim, automático, redução de olhos-vermelhos, retorno de luz não detectado" #: src/tags.cpp:386 #, fuzzy msgid "Yes, red-eye reduction, return light detected" msgstr "Sim, automático, redução de olhos-vermelhos, retorno de luz detectado" #: src/tags.cpp:387 msgid "Yes, compulsory, red-eye reduction" msgstr "Sim, compulsório, redução de olhos-vermelhos" #: src/tags.cpp:388 msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "" "Sim, compulsório, redução de olhos-vermelhos, retorno de luz não detectada" #: src/tags.cpp:389 msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "Sim, compulsório, redução de olhos-vermelhos, retorno de luz detectada" #: src/tags.cpp:390 msgid "No, red-eye reduction" msgstr "Não, redução de olhos-vermelhos" #: src/tags.cpp:391 msgid "No, auto, red-eye reduction" msgstr "Não, automático, redução de olhos-vermelhos" #: src/tags.cpp:392 msgid "Yes, auto, red-eye reduction" msgstr "Sim, automático, redução de olhos-vermelhos" #: src/tags.cpp:393 msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "" "Sim, automático, redução de olhos-vermelhos, retorno de luz não detectado" #: src/tags.cpp:394 msgid "Yes, auto, red-eye reduction, return light detected" msgstr "Sim, automático, redução de olhos-vermelhos, retorno de luz detectado" #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "Leiaute retangular (ou quadrado)" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "" "Layout embaralhado A: mesmo as colunas são deslocadas para baixo 1/2 linha" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "" "Layout embaralhado B: mesmo as colunas são deslocadas para cima 1/2 linha" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "" "Layout embaralhado C: mesmo as linhas são deslocadas para direita 1/2 coluna" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "" "Layout embaralhado D: mesmo as linhas são deslocadas para esquerda 1/2 coluna" #: src/tags.cpp:408 msgid "Processing Software" msgstr "Software de processamento" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "O nome e a versão do software usado no pós-processamento da imagem." #: src/tags.cpp:412 #, fuzzy msgid "New Subfile Type" msgstr "Tipo do sub-arquivo" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "A indicação geral do tipo de arquivo contido neste subarquivo." #: src/tags.cpp:415 msgid "Subfile Type" msgstr "Tipo do sub-arquivo" #: src/tags.cpp:416 msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "" "Uma indicação geral de um tipo de arquivo contido nesse sub-arquivo. Este " "campo está obsoleto. O NovoTipoDeSub-arquivo deve ser usado no lugar." #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Arredondar cantos inferior (se aplica somente quando o estilo é redondo, e " "as fronteiras não são pequenas)" #: src/tags.cpp:425 #, fuzzy msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" "O compositor de pixel. No arquivo JPEG comprimido uma marca JPEG é usada em " "vez de uma etiqueta." #: src/tags.cpp:428 #, fuzzy msgid "Bits per Sample" msgstr "Bits por amostra" #: src/tags.cpp:429 msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" "O número de bits por componente de imagem. Nisto o padrão para cada " "componente de uma imagem é 8 bits, então o valor da etiqueta é 8. Veja " "também . No arquivo JPEG comprimido uma marca JPEG é usada " "em vez de uma etiqueta" #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" "O esquema de compressão usado para o arquivo de imagem. Enquando a imagem " "primária é JPEG comprimida, esta designição não é necessária e é omitida. " "Enquanto a miniatura usada no JPEG comprimido, este valor de etiqueta e " "setado para 6." #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" "O compositor de pixel. No arquivo JPEG comprimido uma marca JPEG é usada em " "vez de uma etiqueta." #: src/tags.cpp:444 #, fuzzy msgid "Thresholding" msgstr "Limitando" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" "Para arquivos TIFF pretos ou brancos que representam sombras de cinza, a " "técnica usada para converter de cinza para preto e pixels brancos." #: src/tags.cpp:448 msgid "Cell Width" msgstr "Largura da célula" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" "A largura do pontilhamento ou matriz de meio-tom usado para criar um arquivo " "de degradê ou arquivo de dois níveis meio-tom." #: src/tags.cpp:452 msgid "Cell Length" msgstr "Comprimento da célula" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" "O comprimento do pontilhamento ou matriz de meio-tom usado para criar um " "arquivo de degradê ou arquivo de dois níveis meio-tom." #: src/tags.cpp:456 #, fuzzy msgid "Fill Order" msgstr "Campo de ordem para vídeo" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "A ordem lógica de bits dentro de um byte" #: src/tags.cpp:459 #, fuzzy msgid "Document Name" msgstr "Nome licenciado" #: src/tags.cpp:460 #, fuzzy msgid "The name of the document from which this image was scanned" msgstr "A data em que a imagem foi publicada pela primeira vez." #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" "Uma string de caracteres dando título da imagem. Pode ser um comentário como " "\"1988 picnic da empresa\" ou parecido. Códigos de caracteres de dois bytes " "não podem ser utilizados. Quando um código de 2-bytes é necessário, uma tag " "Exif Private tem que ser utilizada." #: src/tags.cpp:470 #, fuzzy msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" "O nome do modelo ou número do modelo do equipamento. Esse é o nome do modelo " "ou número do DSC, digitalizadores, digitalizador de video ou outro " "equipamento que gera imagem. Quando o campo é deixado em branco, ele é " "tratado como desconhecido." #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" "O nome do modelo ou número do modelo do equipamento. Esse é o nome do modelo " "ou número do DSC, digitalizadores, digitalizador de video ou outro " "equipamento que gera imagem. Quando o campo é deixado em branco, ele é " "tratado como desconhecido." #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" "Para cada corte, o byte é deslocado desse corte. É recomendado isso estar " "selecionado para o número de bytes cortados não exceda 64 Kbytes. Com a " "compressão de dados do JPEG essa designação não é necessária e é omitida. " "Veja também e ." #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "" #: src/tags.cpp:491 #, fuzzy msgid "Samples per Pixel" msgstr "Amostras por pixel" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" "O número de componentes por pixel. Desde que esses padrões se aplicam as " "imagens RGB e o YCbCr, o valor para essa opção é 3. Na compressão de dados " "JPEG uma marca JPEG é usada no lugar dessa opção." #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "Linhas por corte" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" "O número de linhas por corte. Esse é o número de linhas em uma imagem de um " "corte quando a imagem é divida em cortes. Com a compressão de dados essa " "designação não é necessária e é omitida. Veja também e " "." #: src/tags.cpp:502 msgid "Strip Byte Count" msgstr "Contagem de Bytes de corte" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" "O número total de bytes para cada corte. Com a compressão de dados JPEG essa " "designação não é necessária e é omitida." #: src/tags.cpp:506 #, fuzzy msgid "X-Resolution" msgstr "Resolução em x" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" "O número de pixels por na direção da . Quando a " "resolução da imagem é desconhecida, 72 [dpi] é designado." #: src/tags.cpp:510 #, fuzzy msgid "Y-Resolution" msgstr "Resolução em y" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" "O número de pixels por na direção da . O mesmo " "valor que é designado." #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" "Indica se os componentes de pixel são gravados em um pedaço ou em um formato " "plano. Em arquivos compactados com JPEG é usado uma marca JPEG ao invés " "dessa opção. Se esse campo não existir, o padrão 1 (pedaço) para TIFF é " "assumido." #: src/tags.cpp:520 msgid "Gray Response Unit" msgstr "Unidade de resposta cinza" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "A precisão da informação contida na CurvaDeRespostaCinza." #: src/tags.cpp:523 msgid "Gray Response Curve" msgstr "Curva de resposta de cinza" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "" "Para dados em escala de cinza, a densidade ótica de cada valor possível de " "pixel." #: src/tags.cpp:526 msgid "T4 Options" msgstr "Opções T4" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "Opções de codificação T.4." #: src/tags.cpp:529 msgid "T6 Options" msgstr "Opções T6" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "Opções de codificação T.6." #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" "A unidade de medição e . A mesme unidade é usada " "para ambos e . Se a resolução da imagem é " "desconhecida, 2 (polegadas) é designado." #: src/tags.cpp:537 #, fuzzy msgid "Page Number" msgstr "FNúmero manual" #: src/tags.cpp:538 #, fuzzy msgid "The page number of the page from which this image was scanned." msgstr "Identificador único do trabalho da qual o recurso foi derivado." #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" "Uma função de transferência para a imagem, descrita em estilo tabular. " "Normalmente esta tag não é necessária, já que o espaço de cor é especificado " "na tag de informação sobre espaço de cor ()." #: src/tags.cpp:546 msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" "Esta tag grava o nome e a versão do software ou firmware da camera ou " "dispositivo de entrada usado para gerar a imagem. O formato detalhado não é " "especificado, mas é recomendado que o exemplo mostrado seja seguido. Quando " "o campo estiver em branco, é porque a informação é desconhecida." #: src/tags.cpp:553 msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" #: src/tags.cpp:557 msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" "Esta tag grava o nome do dono da câmera, fotógrafo ou criador da imagem. O " "formato detalhado não é especificado, mas é recomendado que a informação " "seja escrita como mostrado no exemplo para facilitar a interoperabilidade. " "Quando o campo estiver em branco, é porque a informação é desconhecida. Ex.) " "\"Dono da câmera, John Smith; Fotógrafo, Michael Brown; Criador da imagem, " "Ken James\"" #: src/tags.cpp:564 msgid "Host Computer" msgstr "Computador hospedeiro" #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" #: src/tags.cpp:568 msgid "Predictor" msgstr "Preditor" #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" "Um preditor é uma operação matemática que é aplicada ao dado da imagem antes " "de um esquema de codificação ser aplicado." #: src/tags.cpp:573 #, fuzzy msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" "Uma função de transferência para a imagem, descrita em estilo tabular. " "Normalmente esta tag não é necessária, já que o espaço de cor é especificado " "na tag de informação sobre espaço de cor ()." #: src/tags.cpp:578 #, fuzzy msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" "Uma função de transferência para a imagem, descrita em estilo tabular. " "Normalmente esta tag não é necessária, já que o espaço de cor é especificado " "na tag de informação sobre espaço de cor ()." #: src/tags.cpp:582 msgid "Color Map" msgstr "Cor do mapa" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" "Um mapa de cores para imagens da paleta de cor. Este campo define um mapa de " "cor Vermelho-Verde-Azul (frequentemente chamado uma tabela de consulta) para " "imagens cor-paleta. Em uma imagem cor-paleta, um valor de pixel é usado como " "índice em uma tabela de consulta RGB." #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "Dicas de meio-tom" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" "O propósito do campo DicasDeMeio-tom é transmitir para a função de meio-tom " "o alcance dos níveis de cinza dentro de uma imagem especificada-" "colorimetricamente que deve reter detalhe tonal." #: src/tags.cpp:593 #, fuzzy msgid "Tile Width" msgstr "Largura da célula" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "" #: src/tags.cpp:596 #, fuzzy msgid "Tile Length" msgstr "Comprimento da célula" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "" #: src/tags.cpp:599 msgid "Tile Offsets" msgstr "Endereço do bloco de imagem" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" "Para cada bloco de imagem, o endereço de byte desse bloco de imagem, " "comprimido e armazenado em disco. O endereçamento é especificado com relação " "ao início do arquivo TIFF. Note que isto implica que cada bloco de imagem " "tem uma posição independente da localização de outros blocos." #: src/tags.cpp:605 #, fuzzy msgid "Tile Byte Counts" msgstr "Descartar contagem de bytes" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" "Para cada bloco de imagem, o número de (comprimido) bytes neste bloco. Veja " "Endereço de bloco de imagens para uma descrição de como a quantidade de " "bytes são ordenados." #: src/tags.cpp:609 msgid "SubIFD Offsets" msgstr "Endereço SubIFD" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "" #: src/tags.cpp:612 msgid "Ink Set" msgstr "Ajuste de tinta" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "" "A definição de tintas usadas em uma imagem (InterpretaçãoFotométrica=5) " "separada." #: src/tags.cpp:615 msgid "Ink Names" msgstr "Nome das tintas" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "" "O nome de cada tinta usada em uma imagem (InterpretaçãoFotométrica=5) " "separada." #: src/tags.cpp:618 msgid "Number Of Inks" msgstr "Número das cores" #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" "O número de tintas. Usualmente igual às AmostrasPorPixel, a não ser que haja " "amostras extras." #: src/tags.cpp:621 msgid "Dot Range" msgstr "Alcance do Ponto" #: src/tags.cpp:622 #, fuzzy, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "Os valores dos componentes que correspondem a um 0% dot e 100% dot." #: src/tags.cpp:624 msgid "Target Printer" msgstr "Impressora alvo" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "" "Uma descrição do ambiente de impressão para o qual esta separação é " "destinada.." #: src/tags.cpp:627 msgid "Extra Samples" msgstr "Amostras adicionais" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" "Especifica que cada pixel tem m componentes adicionais cuja interpretação é " "definida por um dos valores listados abaixo." #: src/tags.cpp:631 msgid "Sample Format" msgstr "Formato da amostra" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "" "Este campo especifica como interpretar cada amostra de dados num pixel." #: src/tags.cpp:634 msgid "SMin Sample Value" msgstr "Valor da amostra SMin" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "Este campo especifica o valor da amostra mínima." #: src/tags.cpp:637 msgid "SMax Sample Value" msgstr "Valor de amostra SMax" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "Este campo especifica o valor da amostra máximo." #: src/tags.cpp:640 #, fuzzy msgid "Transfer Range" msgstr "Lente gama" #: src/tags.cpp:641 msgid "Expands the range of the TransferFunction" msgstr "" #: src/tags.cpp:643 msgid "Clip Path" msgstr "Caminho de corte" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" "Um CaminhoClip TIFF é destinado a espelhar o necessário da funcionalidade de " "criação de caminho do PostScript." #: src/tags.cpp:647 msgid "X Clip Path Units" msgstr "Unidades de caminho de clipe X" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" "O número de unidades que expandem a largura da imagem, em termos de " "coordenadas CaminhoClip inteiras." #: src/tags.cpp:651 msgid "Y Clip Path Units" msgstr "Unidades de caminho de clipe Y" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "" "O número de unidades que expandem a altura da imagem, em termos de " "coordenadas CaminhoClip inteiras." #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" "Imagens indexadas são imagens onde os 'pixels' não representam valores de " "cor e sim um índice (usualmente 8-bit) em uma tabela de cor separada, o " "MapaDeCor." #: src/tags.cpp:660 #, fuzzy msgid "JPEG tables" msgstr "Tabelas-Q JPEG" #: src/tags.cpp:661 msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "Proxy OPI" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" "ProxyOPI dá informação referente se a imagem é um proxy de baixa resolução " "de uma imagem de alta resolução (Adobe OPI)." #: src/tags.cpp:668 #, fuzzy msgid "JPEG Process" msgstr "Processo gradual" #: src/tags.cpp:669 #, fuzzy msgid "This field indicates the process used to produce the compressed data" msgstr "" "Este campo indica o comprimento do intervalo de reinício usado nos dados da " "imagem compactada." #: src/tags.cpp:671 #, fuzzy msgid "JPEG Interchange Format" msgstr "Formatos de Intercãmbio JPEG (JPG,JIF,JFIF)" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" "O endereço para o byte de início (SOI) de dados comprimidos em miniatura " "JPEG. Isso não é usado para dados de imagem primária JPEG." #: src/tags.cpp:675 #, fuzzy msgid "JPEG Interchange Format Length" msgstr "Formatos de Intercãmbio JPEG (JPG,JIF,JFIF)" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" "O número de bytes dos dados de miniatura comprimidos do JPEG. Isto não é " "usado pelos dados da imagem JPEG primária. Miniaturas JPEG não são divididas " "mas são gravadas como um JPEG contínuo do SOI para EOI. marcadores APPn e " "COM não deveriam ser gravados. Miniaturas comprimidas devem ser gravadas em " "não mais de 64 KB, incluindo todos os outros dados a serem gravados no APP1." #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "Intervalo do reinício JPEG" #: src/tags.cpp:684 msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "" "Este campo indica o comprimento do intervalo de reinício usado nos dados da " "imagem compactada." #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "Preditores sem perda JPEG" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" "Este campo aponta para uma lista de seleção-de-preditores sem perda, um por " "componente." #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "Transformação de ponto JPEG" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "" "Este campo aponta para uma lista de valores de transformação de ponto, um " "por componente." #: src/tags.cpp:694 msgid "JPEG Q-Tables" msgstr "Tabelas-Q JPEG" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" "Este campo aponta para uma lista de deslocamentos para tabelas de " "quantização, uma por componente." #: src/tags.cpp:698 msgid "JPEG DC-Tables" msgstr "Tabelas-DC JPEG" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" "Este campo aponta para uma lista de deslocamentos para as tabelas DC Huffman " "ou as tabelas Huffman sem perda, uma por componente." #: src/tags.cpp:702 msgid "JPEG AC-Tables" msgstr "Tabelas-AC JPEG" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" "Este campo aponta para uma lista de deslocamentos para as tabelas Huffman " "AC, uma por componente." #: src/tags.cpp:707 msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" "Os coeficientes da matriz de transformação dos dados da imagem de RGB para " "YCbCr. Nenhum padrão é dado em TIFF; mas aqui o valor dado no Apêndice E, " "\"Diretrizes de Espaço de cor\", é usado como padrão. O espaço de cor é " "declarada em uma etiqueta de informação de espaço de cor, com o padrão sendo " "o valor que dá as melhores características de Interoperabilidade da imagem " "nesta condição." #: src/tags.cpp:715 #, fuzzy msgid "YCbCr Sub-Sampling" msgstr "Sub-amostragem YCbCr" #: src/tags.cpp:716 msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "A taxa de amostragem de componentes de crominância componentes em relação à " "componente de luminância. Em JPEG comprimido uma marcação JPEG é utilizada " "no lugar dessa etiqueta." #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" "A posição dos componentes de crominância em relação ao componente de " "luminância. Este campo é designado somente para dados JPEG comprimidos ou " "dados YCbCr descomprimidos. O padrão TIFF é 1 (centralizado); mas quando Y:" "Cb:Cr = 4:2:2 recomenda-se neste padrão que 2 (co-instalados) seja utilizado " "para gravar dados, a fim de melhorar a qualidade da imagem quando " "visualizadas em sistemas de TV. Quando este campo não existe, o leitor deve " "assumir o padrão TIFF. No caso de Y:Cb:Cr = 4:2:0, o padrão TIFF " "(centralizado) é recomendado. Se o leitor não tem a capacidade de suportar " "os dois tipos de , ele deve seguir o padrão TIFF, " "independentemente do valor neste campo. É preferível que os leitores sejam " "capazes de suportar os posicionamentos centralizado e co-localizado." #: src/tags.cpp:735 #, fuzzy msgid "Reference Black/White" msgstr "Branco e Preto de Referência" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" "O valor do ponto preto de referência e o valor do ponto branco de " "referência. Não há padrão dado no formato TIFF, mas os valores abaixo são " "dados como padrão aqui. O espaço de cor é declarado em uma etiqueta de " "informação do espaço de cor, com o padrão sendo o valor que dá as melhores " "características de Interoperabilidade da imagem nestas condições." #: src/tags.cpp:743 msgid "XML Packet" msgstr "" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "Metadados XMP (Nota Técnica 9-14-02 da Adobe)" #: src/tags.cpp:746 msgid "Windows Rating" msgstr "Classificação do Windows" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "Tag de avaliação usada pelo Windows" #: src/tags.cpp:749 msgid "Windows Rating Percent" msgstr "Porcentagem da Classifação do Windows" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "Tag de avaliação usada pelo Windows, valor em percentual" #: src/tags.cpp:752 msgid "Image ID" msgstr "ID da imagem" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" "ImageID é o nome de caminho completo do original, imagem em alta resolução, " "ou qualquer outra string identificadora que identifica unicamente a imagem " "original (Adobe OPI)." #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" "Indica o padrão geométrico da matriz de filtro de cor (CFA) do sensor de " "imagem quando um sensor de área de une-chip de cor é utilizado. Não se " "aplica a todos os métodos de detecção" #: src/tags.cpp:770 #, fuzzy msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" "Informações de direitos autorais. Neste padrão a etiqueta é usada para " "indicar os direitos tanto do fotógrafo quanto do editor. É o aviso de " "direitos da pessoa ou da organização que reivindica os direitos da imagem. A " "declaração de direitos autorais de interoperabilidade, incluindo data e " "direitos deve ser escrita neste campo; por exemplo, \"Copyright, John Smith, " "19xx. Todos os direitos reservados.\". Neste padrão o campo registra tanto " "os direitos autorais do fotógrafo quanto do editor, com cada um gravado em " "uma parte separada da declaração. Quando há uma distinção clara entre os " "direitos autorais do fotógrafo e do editor, estes devem ser escritos na " "ordem dos direitos do fotógrafo seguido pelos direitos do editor, separados " "por NULL (neste caso, uma vez que a declaração também acaba com um NULL, " "existem dois códigos NULL) . Quando apenas os direitos autorais do fotógrafo " "são dados, ele é finalizado por um código NULL. Quando apenas os direitos " "autorais do editor são dados, a parte de direitos autorais do fotógrafo " "consiste de um espaço seguido por um código de terminação NULL, então os " "direitos autorais do editor são dados. Quando o campo for deixado em branco, " "ele é tratado como desconhecido." #: src/tags.cpp:789 #, fuzzy msgid "Exposure time, given in seconds." msgstr "EXIF etiqueta 33434, 0x829A. Tempo de exposição em segundos." #: src/tags.cpp:790 src/tags.cpp:1553 #, fuzzy msgid "The F number." msgstr "O número de batidas." #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "" #: src/tags.cpp:794 msgid "Image Resources Block" msgstr "Blocos de Recursos de Imagem" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "" #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" "Um ponteiro para o Exif IFD. Interoperabilidade, Exif IFD tem a mesma " "estrutura do IFD especificado no formato TIFF. ordinariamente, no entanto, " "não contém dados de imagem como no caso do TIFF." #: src/tags.cpp:803 msgid "Inter Color Profile" msgstr "Perfil Inter Cor" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" "Contém um(a) caracterização/perfil de formato de cores InterColor Consortium " "(ICC)" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" #: src/tags.cpp:807 #, fuzzy msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "EXIF etiqueta 34852, 0x8824. Sensibilidade espectral de cada canal." #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" "Um ponteiro para a Informação GPS IFD. A estrutura de Interoperabilidade da " "Informação GPS IFD, como a de Exif IFD, não tem dados de imagem." #: src/tags.cpp:813 src/tags.cpp:1564 #, fuzzy msgid "ISO Speed Ratings" msgstr "Relações de ISO Velocidades." #: src/tags.cpp:813 src/tags.cpp:1565 #, fuzzy msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" "EXIF etiqueta 34855, 0x8827. ISO velocidade e ISO latitude do equipamento de " "entrada como especificado em ISO 12232." #: src/tags.cpp:814 #, fuzzy msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" "EXIF etiqueta 34856, 0x8828. Função de Conversão Ótico-Eletrônica como " "especificado em ISO 14524." #: src/tags.cpp:815 msgid "Interlace" msgstr "" #: src/tags.cpp:815 msgid "Indicates the field number of multifield images." msgstr "" #: src/tags.cpp:816 msgid "Time Zone Offset" msgstr "Ajustamento de fuso horário" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" "Este marcador opcional codifica o fuso horário do relógio da câmera " "(relativo ao Meridiano de Greenwich) usado para criar o valor do marcador " "DataTimeOriginal quando a fotografia foi tirada. Ele também pode conter o " "deslocamento de fuso horário do relógio usado para criar o valor do marcador " "DateTime quando a imagem foi modificada." #: src/tags.cpp:823 #, fuzzy msgid "Self Timer Mode" msgstr "Tempo do temporizador" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "" #: src/tags.cpp:824 #, fuzzy msgid "Date Time Original" msgstr "Data e hora original" #: src/tags.cpp:824 #, fuzzy msgid "The date and time when the original image data was generated." msgstr "A data e vezes quando o metadado foi modificado pela última vez." #: src/tags.cpp:825 msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "" #: src/tags.cpp:826 msgid "Shutter speed." msgstr "Velocidade do Obturador" #: src/tags.cpp:827 #, fuzzy msgid "The lens aperture." msgstr "Temperatura de equilíbrio do branco" #: src/tags.cpp:828 #, fuzzy msgid "The value of brightness." msgstr "O número de batidas." #: src/tags.cpp:829 #, fuzzy msgid "The exposure bias." msgstr "Valor de orientação diagonal" #: src/tags.cpp:830 src/tags.cpp:1645 #, fuzzy msgid "Max Aperture Value" msgstr "Máximo valor da abertura" #: src/tags.cpp:830 #, fuzzy msgid "The smallest F number of the lens." msgstr "O nome da cena." #: src/tags.cpp:831 src/tags.cpp:1651 #, fuzzy msgid "The distance to the subject, given in meters." msgstr "EXIF etiqueta 37382, 0x9206. Distância do assunto, em metros." #: src/tags.cpp:832 src/tags.cpp:1654 #, fuzzy msgid "The metering mode." msgstr "Modo de medição de ponto" #: src/tags.cpp:833 src/tags.cpp:1657 #, fuzzy msgid "The kind of light source." msgstr "O nome da cena." #: src/tags.cpp:834 #, fuzzy msgid "Indicates the status of flash when the image was shot." msgstr "" "EXIF etiqueta 41986, 0xA402. Indica o modo de exposição ajustado quando a " "imagem foi obtida." #: src/tags.cpp:835 #, fuzzy msgid "The actual focal length of the lens, in mm." msgstr "" "EXIF etiqueta 37386, 0x920A. Distância focal das lentes, em milímetros." #: src/tags.cpp:836 msgid "Amount of flash energy (BCPS)." msgstr "" #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "" #: src/tags.cpp:838 msgid "Noise" msgstr "" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "" #: src/tags.cpp:839 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" "Número de pixels por FocalPlaneResolutionUnit (37392) na direção ImageWidth " "para a imagem principal." #: src/tags.cpp:840 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" "Número de pixels por FocalPlaneResolutionUnit (37392) na direção ImageWidth " "para a imagem principal." #: src/tags.cpp:841 msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" "Unidade de medida para FocalPlaneXResolution(37390) e FocalPlaneYResolution" "(37391)." #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "" "Número atribuído para uma imagem, e.g., em uma sequência de imagens " "encadeadas." #: src/tags.cpp:843 #, fuzzy msgid "Security Classification" msgstr "Macro ampliação" #: src/tags.cpp:843 #, fuzzy msgid "Security classification assigned to the image." msgstr "Uma localização mostrada na imagem." #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "Registro do que foi feito na imagem." #: src/tags.cpp:845 msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "Indica a localização e a área do assunto principal da cena inteira." #: src/tags.cpp:846 msgid "Encodes the camera exposure index setting when image was captured." msgstr "" "Codifica o índice de exposição da câmera definido quando a imagem foi " "capturada." #: src/tags.cpp:847 msgid "TIFF/EP Standard ID" msgstr "TIFF/EP ID Padrão" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" "Contém quatro caracteres ASCII representando a versão padrão TIFF/EP de um " "arquivo TIFF/EP, por exemplo '1', '0', '0', '0'" #: src/tags.cpp:851 msgid "Type of image sensor." msgstr "Tipo de sensor de imagem." #: src/tags.cpp:852 msgid "Windows Title" msgstr "Janelas de Título" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "Marcação de título usada pelo Windows, codificada em UCS2" #: src/tags.cpp:855 msgid "Windows Comment" msgstr "Janelas de Comentários" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "Etiqueta de comentário usada pelo Windows, codificado em UCS2" #: src/tags.cpp:858 msgid "Windows Author" msgstr "Janelas de Autor" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "Marcação de autor usada pelo Windows, codificada em UCS2" #: src/tags.cpp:861 msgid "Windows Keywords" msgstr "Janelas de Palavras Chaves" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "Etiqueta de palavra-chave usada pelo Windows, codificado em UCS2" #: src/tags.cpp:864 msgid "Windows Subject" msgstr "Janelas de assuntos" #: src/tags.cpp:865 msgid "Subject tag used by Windows, encoded in UCS2" msgstr "Etiqueta de assunto pelo Windows, codificado em UCS2" #: src/tags.cpp:867 msgid "Print Image Matching" msgstr "Imprimi a Imagem Correspondente" #: src/tags.cpp:868 msgid "Print Image Matching, description needed." msgstr "Imprimir combinação de imagem, descrição necessária." #: src/tags.cpp:870 #, fuzzy msgid "DNG version" msgstr "DNG versão retrocompatível backward versio" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" "Este marcador codifica o número da versão de quatro níveis DNG. Para " "arquivos compatíveis com a versão 1.1.0.0 da especificação DNG, esse " "marcador deve conter os bytes: 1, 1, 0, 0." #: src/tags.cpp:875 msgid "DNG backward version" msgstr "DNG versão retrocompatível backward versio" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" "Este marcador especifica a versão mais antiga da especificação Digital " "Negative de para qual arquivo é compatível. Leitores não deveriam tentar ler " "um arquivo se este marcador especifica um número de versão que é maior que o " "número de versão da especificação em que leitor foi baseado. Além de " "verificar os marcadores versão, os leitores deveriam, por todos os " "marcadores, verificar os tipos, contagens e valores, para verificar se ele é " "capaz de ler corretamente o arquivo." #: src/tags.cpp:884 msgid "Unique Camera Model" msgstr "" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" "Define um nome único e não localizado para o modelo de câmera que criou a " "imagem no arquivo raw. Esse nome deve incluir o nome do fabricante para " "evitar conflitos, e não deve ser localizado, mesmo se o nome da câmera em si " "é localizado por marcadores diferentes (ver LocalizedCameraModel). Essa " "string pode ser usada pelo software de leitura para indexar dentro das " "preferências por modelo e os perfis de substituição." #: src/tags.cpp:892 msgid "Localized Camera Model" msgstr "" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" "Similar ao campo UniqueCameraModel, exceto o nome pode ser localizado por " "diferentes mercados, para verificar a localização do nome da câmara." #: src/tags.cpp:897 msgid "CFA Plane Color" msgstr "Cor Plana CFA" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" "Provê o mapeamento ente os valores na tag CFAPattern e os números do plano " "no espaço LinearRaw. Essa é uma tag requerida para imagens não RGB CFA" #: src/tags.cpp:902 msgid "CFA Layout" msgstr "Layout CFA" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "Descreve o leiaute espacial do CFA." #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" "Descreve uma tabela que mapeia valores armazenados como valores lineares. " "Esta etiqueta é normalmente usada para aumentar as taxas de compressão, " "armazenando os dados brutos de forma não-linear com espaços visualmente mais " "uniformes e com menores níveis de codificação total. Se SamplesPerPixel não " "for igual a um, essa tabela única se aplica a todas as amostras para cada " "pixel." #: src/tags.cpp:912 msgid "Black Level Repeat Dim" msgstr "Repetição do nível preto Dim" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "Especifica o tamanho padrão de repetição para a etiqueta BlackLevel." #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" "Especifica a luz zero(a.k.a preto térmico ou preto corrente) do nível de " "codificação, como uma repetição de padrão. A origem deste padrão é o canto " "acima a esquerda do retângulo na Área-Ativada. Os valores são armazenados na " "linha-coluna da amostra do exemplo." #: src/tags.cpp:921 msgid "Black Level Delta H" msgstr "Nível preto Delta H" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" "Se o nível de codificação da luz zero é uma função da coluna de imagem, O " "BlackLevelDeltaH especifíca a diferença entre o nível de codificação da luz " "zero para cada coluna e o nível padrão da luz zero. Se o SamplesPerPixel não " "é igual a um, esta tabela única se aplica a todos padrỗes em cada pixel." #: src/tags.cpp:928 msgid "Black Level Delta V" msgstr "Nível preto Delta V" #: src/tags.cpp:929 msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" "Se o nível de codificação luz zero é uma função da linha de imagem, esta " "marca especifica a diferença entre o nível de codificação luz zero para cada " "linha e o nível de codificação base de luz zero. Se SamplesPerPixel não é " "igual a um, essa única tabela se aplica a todas as amostras para cada pixel." #: src/tags.cpp:935 msgid "White Level" msgstr "Nível de Branco" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" "Esta etiqueta especifica a codificação de nível totalmente saturado para os " "valores da amostra bruta. Saturação é causada tanto pelo sensor, por tornar-" "se altamente não-linear em resposta, quanto o conversor de clipping análogo " "ao digital da câmera." #: src/tags.cpp:941 #, fuzzy msgid "Default Scale" msgstr "Sobre escala" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" "DefaultScale é necessário para câmeras com pixels não-quadrados. Ele " "especifica os fatores de escala padrão em cada direção para converter a " "imagem em pixels quadrados. Normalmente, esses fatores são selecionados para " "preservar aproximadamente a contagem total de pixels. Para as imagens CFA " "que usam CFALayout igual a 2, 3, 4 ou 5, como a Fujifilm SuperCCD, estes " "dois valores devem normalmente diferir por um fator de 2.0." #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" "Imagens brutas frequentemente alojam pixels extras em torno das bordas da " "imagem final. Estes pixels extras ajudam a evitar defeitos de interpolação " "perto das bordas da imagem final. DefaultCropOrigin especifica a origem da " "área da imagem final, em coordenadas de imagem bruta (ou seja, antes que a " "DefaultScale seja aplicada), em relação ao canto superior esquerdo do " "retângulo ActiveArea." #: src/tags.cpp:957 msgid "Default Crop Size" msgstr "" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" "Imagens brutas frequentemente alojam pixels extras em torno das bordas da " "imagem final. Estes pixels extras ajudam a evitar defeitos de interpolação " "perto das bordas da imagem final. DefaultCropSize especifica o tamanho da " "área da imagem final em coordenadas de imagem bruta (ou seja, antes que o " "DefaultScale seja aplicado)." #: src/tags.cpp:964 msgid "Color Matrix 1" msgstr "Matriz de cor 1" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" "ColorMatrix1 define uma matriz de transformação que converte os valores XYZ " "para valores de referência do espaço natural de cor da câmera, sob a " "primeira calibração do iluminante. A matriz de valores é armazenada em linha " "ordenada por varredura. A etiqueta ColorMatrix1 é necessária para todos os " "arquivos DNG non-monocromáticos." #: src/tags.cpp:971 msgid "Color Matrix 2" msgstr "Matriz de cor 2" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" "ColorMatrix2 define uma matriz de transformação que converte os valores XYZ " "para valores de referência do espaço natural de cor da câmera sob a segunda " "calibração do iluminante. A matriz de valores é armazenada em linha ordenada " "por varredura" #: src/tags.cpp:977 msgid "Camera Calibration 1" msgstr "" #: src/tags.cpp:978 #, fuzzy msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" "Calibração da câmera 1 define uma matriz de calibração que transforma os " "valores nativos de espaço de referência da câmera em valores individuais " "nativos de espaço sob a primeira calibração do iluminante. A matriz de " "valores é armazenada em linha ordenada por varredura. Essa matriz é " "armazenada separadamente da matriz especificada pela tag ColorMatrix1 para " "permitir que conversores de imagem bruta troquem a cor em matrizes mudança " "de cor baseadas em UniqueCameraModel tag, enquanto tiram proveito de " "qualquer calibração individual realizada pelo fabricante da câmera." #: src/tags.cpp:987 msgid "Camera Calibration 2" msgstr "" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" "Calibração da câmera 2 define uma matriz de calibração que transforma os " "valores nativos de espaço de referência da câmera em valores individuais " "nativos de espaço sob a primeira calibração do iluminante. A matriz de " "valores é armazenada em linha ordenada por varredura. Essa matriz é " "armazenada separadamente da matriz especificada pela tag ColorMatrix2 para " "permitir que conversores de imagem bruta troquem a cor em matrizes mudança " "de cor baseadas em UniqueCameraModel tag, enquanto tiram proveito de " "qualquer calibração individual realizada pelo fabricante da câmera." #: src/tags.cpp:997 #, fuzzy msgid "Reduction Matrix 1" msgstr "Matriz de cor 1" #: src/tags.cpp:998 #, fuzzy msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" "ColorMatrix2 define uma matriz de transformação que converte os valores XYZ " "para valores de referência do espaço natural de cor da câmera sob a segunda " "calibração do iluminante. A matriz de valores é armazenada em linha ordenada " "por varredura" #: src/tags.cpp:1004 #, fuzzy msgid "Reduction Matrix 2" msgstr "Matriz de cor 2" #: src/tags.cpp:1005 #, fuzzy msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" "ColorMatrix2 define uma matriz de transformação que converte os valores XYZ " "para valores de referência do espaço natural de cor da câmera sob a segunda " "calibração do iluminante. A matriz de valores é armazenada em linha ordenada " "por varredura" #: src/tags.cpp:1011 msgid "Analog Balance" msgstr "" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" #: src/tags.cpp:1021 msgid "As Shot Neutral" msgstr "Como um Tiro Neutro" #: src/tags.cpp:1022 msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" #: src/tags.cpp:1027 msgid "As Shot White XY" msgstr "Como um Tiro XY Branco" #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" #: src/tags.cpp:1032 #, fuzzy msgid "Baseline Exposure" msgstr "Múltipla exposição" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" #: src/tags.cpp:1047 msgid "Baseline Noise" msgstr "" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" "Especifica o nível de ruído relativo do modelo de câmara, com um valor base " "de ISO 100, comparado com um modelo de câmera de referência. Uma vez que os " "níveis de ruído tendem a variar aproximadamente com a raiz quadrada do valor " "ISO, um conversor de imagem bruta pode usar esse valor, combinado com a ISO " "atual, para estimar o nível de ruído relativo da imagem atual." #: src/tags.cpp:1054 #, fuzzy msgid "Baseline Sharpness" msgstr "Nitidiz PM" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" #: src/tags.cpp:1061 msgid "Bayer Green Split" msgstr "Divisão Verde Bayer" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" #: src/tags.cpp:1070 #, fuzzy msgid "Linear Response Limit" msgstr "Unidade de resposta cinza" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" #: src/tags.cpp:1079 #, fuzzy msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" "O número de série da câmera ou corpo da câmera usada para capturar a " "fotografia." #: src/tags.cpp:1082 #, fuzzy msgid "Lens Info" msgstr "InformacaoLente" #: src/tags.cpp:1083 msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" #: src/tags.cpp:1095 #, fuzzy msgid "Anti Alias Strength" msgstr "Intensidade do Flash manual" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" #: src/tags.cpp:1102 #, fuzzy msgid "Shadow Scale" msgstr "Coloração da Sombra" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" #: src/tags.cpp:1106 msgid "DNG Private Data" msgstr "" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" #: src/tags.cpp:1111 #, fuzzy msgid "MakerNote Safety" msgstr "Versão do MakerNote" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" #: src/tags.cpp:1119 msgid "Calibration Illuminant 1" msgstr "" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" #: src/tags.cpp:1125 msgid "Calibration Illuminant 2" msgstr "" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" #: src/tags.cpp:1132 msgid "Best Quality Scale" msgstr "" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" #: src/tags.cpp:1140 #, fuzzy msgid "Raw Data Unique ID" msgstr "Deslocamento de dados brutos" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" #: src/tags.cpp:1149 #, fuzzy msgid "Original Raw File Name" msgstr "Nome do arquivo raw." #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" #: src/tags.cpp:1153 msgid "Original Raw File Data" msgstr "" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" #: src/tags.cpp:1164 #, fuzzy msgid "Active Area" msgstr "Área de cena" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" #: src/tags.cpp:1168 #, fuzzy msgid "Masked Areas" msgstr "Áreas AF" #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" #: src/tags.cpp:1176 msgid "As-Shot ICC Profile" msgstr "" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" #: src/tags.cpp:1188 msgid "As-Shot Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" #: src/tags.cpp:1198 #, fuzzy msgid "Current ICC Profile" msgstr "Perfil Inter Cor" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1205 msgid "Current Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1212 #, fuzzy msgid "Colorimetric Reference" msgstr "Trabalho de referência" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" #: src/tags.cpp:1220 msgid "Camera Calibration Signature" msgstr "" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" #: src/tags.cpp:1227 msgid "Profile Calibration Signature" msgstr "" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" #: src/tags.cpp:1234 #, fuzzy msgid "As Shot Profile Name" msgstr "Nome do perfil" #: src/tags.cpp:1235 msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" #: src/tags.cpp:1238 #, fuzzy msgid "Noise Reduction Applied" msgstr "Redução de Ruído de Cor" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" #: src/tags.cpp:1246 msgid "Profile Name" msgstr "Nome do perfil" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1279 #, fuzzy msgid "Profile Tone Curve" msgstr "Curva de Tonalidade" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" #: src/tags.cpp:1288 #, fuzzy msgid "Profile Embed Policy" msgstr "Nome do perfil" #: src/tags.cpp:1289 msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" #: src/tags.cpp:1292 #, fuzzy msgid "Profile Copyright" msgstr "Direitos autorais" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" #: src/tags.cpp:1297 #, fuzzy msgid "Forward Matrix 1" msgstr "Matriz de cor 1" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" #: src/tags.cpp:1301 #, fuzzy msgid "Forward Matrix 2" msgstr "Matriz de cor 2" #: src/tags.cpp:1305 msgid "Preview Application Name" msgstr "" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" #: src/tags.cpp:1309 #, fuzzy msgid "Preview Application Version" msgstr "Visualizar versão" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" #: src/tags.cpp:1313 #, fuzzy msgid "Preview Settings Name" msgstr "Previsão da imagem" #: src/tags.cpp:1314 msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" #: src/tags.cpp:1317 #, fuzzy msgid "Preview Settings Digest" msgstr "Tamanho da imagem visualizada" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" #: src/tags.cpp:1321 #, fuzzy msgid "Preview Color Space" msgstr "Espaço de cor em vídeo" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" #: src/tags.cpp:1326 #, fuzzy msgid "Preview Date Time" msgstr "Tamanho da imagem visualizada" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" #: src/tags.cpp:1331 #, fuzzy msgid "Raw Image Digest" msgstr "Data da imagem" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" #: src/tags.cpp:1337 msgid "Original Raw File Digest" msgstr "" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" #: src/tags.cpp:1387 #, fuzzy msgid "Noise Profile" msgstr "Filtro de ruído" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" #: src/tags.cpp:1396 src/tags.cpp:1397 #, fuzzy msgid "Unknown IFD tag" msgstr "Etiqueta OlimpusIP Desconhecida" #: src/tags.cpp:1408 src/tags.cpp:1466 #, fuzzy msgid "Not defined" msgstr "Não possui índice" #: src/tags.cpp:1413 #, fuzzy msgid "Creative program" msgstr "Estilo criativo" #: src/tags.cpp:1414 msgid "Action program" msgstr "" #: src/tags.cpp:1415 #, fuzzy msgid "Portrait mode" msgstr "Modo panorâmico" #: src/tags.cpp:1416 #, fuzzy msgid "Landscape mode" msgstr "Modelo de lente" #: src/tags.cpp:1425 msgid "Multi-spot" msgstr "" #: src/tags.cpp:1437 #, fuzzy msgid "Tungsten (incandescent light)" msgstr "Tungstênio (incandescente)" #: src/tags.cpp:1439 #, fuzzy msgid "Fine weather" msgstr "Bom tempo" #: src/tags.cpp:1440 msgid "Cloudy weather" msgstr "" #: src/tags.cpp:1442 #, fuzzy msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "Fluorescente luz-do-dia (D 5700 - 7100K)" #: src/tags.cpp:1443 #, fuzzy msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "Lâmpada fluorescente (N 4600 - 5400K)" #: src/tags.cpp:1444 #, fuzzy msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "Fluorescente fresco (W 3900 - 4500K)" #: src/tags.cpp:1445 #, fuzzy msgid "White fluorescent (WW 3200 - 3700K)" msgstr "Flourescente branco (WW 3200 - 3700K)" #: src/tags.cpp:1446 #, fuzzy msgid "Standard light A" msgstr "Padrão " #: src/tags.cpp:1447 #, fuzzy msgid "Standard light B" msgstr "Padrão " #: src/tags.cpp:1448 #, fuzzy msgid "Standard light C" msgstr "Padrão " #: src/tags.cpp:1449 msgid "D55" msgstr "" #: src/tags.cpp:1450 #, fuzzy msgid "D65" msgstr "6:5" #: src/tags.cpp:1451 #, fuzzy msgid "D75" msgstr "7:5" #: src/tags.cpp:1452 msgid "D50" msgstr "" #: src/tags.cpp:1453 msgid "ISO studio tungsten" msgstr "" #: src/tags.cpp:1454 msgid "Other light source" msgstr "" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "" #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "Área de cor de um chip" #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "Área de cor de dois chips" #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "Área de cor de três chips" #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "" #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "" #: src/tags.cpp:1472 msgid "Color sequential linear" msgstr "" #: src/tags.cpp:1477 msgid "Film scanner" msgstr "" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "" #: src/tags.cpp:1479 #, fuzzy msgid "Digital still camera" msgstr "Filtro digital" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "Fotografado diretamente" #: src/tags.cpp:1489 #, fuzzy msgid "Normal process" msgstr "Processo aleatório" #: src/tags.cpp:1490 #, fuzzy msgid "Custom process" msgstr "Processo gradual" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "Baixo aumento de ganho" #: src/tags.cpp:1519 msgid "High gain up" msgstr "Alto aumento de ganho" #: src/tags.cpp:1520 msgid "Low gain down" msgstr "Baixa redução de ganho" #: src/tags.cpp:1521 msgid "High gain down" msgstr "Alta redução de ganho" #: src/tags.cpp:1542 msgid "Close view" msgstr "" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "" #: src/tags.cpp:1550 msgid "Exposure time, given in seconds (sec)." msgstr "" #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "" #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" #: src/tags.cpp:1573 #, fuzzy msgid "Sensitivity Type" msgstr "Ajuste de sensitividade" #: src/tags.cpp:1574 msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" #: src/tags.cpp:1580 msgid "Standard Output Sensitivity" msgstr "" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1585 msgid "Recommended Exposure Index" msgstr "" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1595 msgid "ISO Speed Latitude yyy" msgstr "" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" #: src/tags.cpp:1600 msgid "ISO Speed Latitude zzz" msgstr "" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" #: src/tags.cpp:1609 #, fuzzy msgid "Date and Time (original)" msgstr "Data e hora original" #: src/tags.cpp:1610 msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" #: src/tags.cpp:1613 #, fuzzy msgid "Date and Time (digitized)" msgstr "Data e hora digitalizados" #: src/tags.cpp:1614 #, fuzzy msgid "The date and time when the image was stored as digital data." msgstr "A data e a hora que o vídeo foi modificado pela última vez." #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" #: src/tags.cpp:1626 #, fuzzy msgid "Compressed Bits per Pixel" msgstr "Bits Comprimidos por Pixel" #: src/tags.cpp:1627 #, fuzzy msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" "EXIF etiqueta 37122, 0x9102. Modo de compressão utilizado para uma imagem " "comprimida é indicado em unidades por pixel." #: src/tags.cpp:1631 msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "" #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1641 #, fuzzy msgid "Exposure Bias" msgstr "Valor de ajuste da exposição" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "" #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" #: src/tags.cpp:1667 #, fuzzy msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "Indica a localização e a área do assunto principal da cena inteira." #: src/tags.cpp:1670 #, fuzzy msgid "Maker Note" msgstr "Versão do MakerNote" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" #: src/tags.cpp:1679 msgid "Sub-seconds Time" msgstr "Tempo em sub-segundos" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1682 #, fuzzy msgid "Sub-seconds Time Original" msgstr "Tempo de digitalização em sub-segundos" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1685 msgid "Sub-seconds Time Digitized" msgstr "Tempo de digitalização em sub-segundos" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1688 #, fuzzy msgid "FlashPix Version" msgstr "Versão do FlashPix" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "" #: src/tags.cpp:1692 msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" #: src/tags.cpp:1723 #, fuzzy msgid "Interoperability IFD Pointer" msgstr "GPS em Ponteiro IFD" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" #: src/tags.cpp:1740 #, fuzzy msgid "Focal Plane X-Resolution" msgstr "Resolução x do Plano Focal" #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1744 #, fuzzy msgid "Focal Plane Y-Resolution" msgstr "Resolução y do Plano Focal" #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" #: src/tags.cpp:1753 msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" #: src/tags.cpp:1759 #, fuzzy msgid "Exposure index" msgstr "Exibir transformação" #: src/tags.cpp:1760 #, fuzzy msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" "Codifica o índice de exposição da câmera definido quando a imagem foi " "capturada." #: src/tags.cpp:1764 #, fuzzy msgid "Indicates the image sensor type on the camera or input device." msgstr "" "EXIF etiqueta 41495, 0xA217. Tipo de sensor da imagem do equipamento de " "entrada." #: src/tags.cpp:1767 msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" #: src/tags.cpp:1776 #, fuzzy msgid "Color Filter Array Pattern" msgstr "Padrão de filtro de cor" #: src/tags.cpp:1777 #, fuzzy msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" "Indica o padrão geométrico da matriz de filtro de cor (CFA) do sensor de " "imagem quando um sensor de área de une-chip de cor é utilizado. Não se " "aplica a todos os métodos de detecção" #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" #: src/tags.cpp:1793 #, fuzzy msgid "This tag indicates the white balance mode set when the image was shot." msgstr "" "EXIF etiqueta 41987, 0xA403. Indica o modo de balanço de branco ajustado " "quando a imagem foi obtida." #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" #: src/tags.cpp:1801 #, fuzzy msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" "EXIF etiqueta 41989, 0xA405. Indica a distância focal equivalente assumindo-" "se uma câmera de flime de 35 mm, em mm. Um valor de 0 significa que a " "distância focal é desconhecida. Observe que esta etiqueta difere da etiqueta " "FocalLength." #: src/tags.cpp:1807 msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" #: src/tags.cpp:1812 #, fuzzy msgid "This tag indicates the degree of overall image gain adjustment." msgstr "" "EXIF etiqueta 41991, 0xA407. Indica o grau de ajuste de ganho da imagem " "global." #: src/tags.cpp:1815 #, fuzzy msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" "EXIF etiqueta 41992, 0xA408. Indica a direção do processamento de contraste " "aplicado pela câmera." #: src/tags.cpp:1819 #, fuzzy msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" "EXIF etiqueta 41993, 0xA409. Indica a direção do processamento de saturação " "aplicado pela câmera." #: src/tags.cpp:1823 #, fuzzy msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" "EXIF etiqueta 41994, 0xA40A. Indica a direção do processamento de nitidez " "aplicado pela câmera." #: src/tags.cpp:1827 #, fuzzy msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" "EXIF etiqueta 41995, 0xA40B. Indica a informação sobre as condições de " "obtenção de fotos para um modelo particular de câmera." #: src/tags.cpp:1832 #, fuzzy msgid "This tag indicates the distance to the subject." msgstr "EXIF etiqueta 41996, 0xA40C. Indica a distância ao assunto." #: src/tags.cpp:1835 #, fuzzy msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" "EXIF etiqueta 42016, 0xA420. Um identificador atribuído de forma única a " "cada imagem. Ele é gravado como uma string de 32 caracteres ASCII, " "equivalentes em notação hexadecimal fixado em 128 bits de comprimento." #: src/tags.cpp:1839 #, fuzzy msgid "Camera Owner Name" msgstr "Nome do proprietário do copyright" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" #: src/tags.cpp:1843 #, fuzzy msgid "Body Serial Number" msgstr "Número de série" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1847 #, fuzzy msgid "Lens Specification" msgstr "Informações específicas do vendedor" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" #: src/tags.cpp:1854 #, fuzzy msgid "Lens Make" msgstr "Modelo de lentes" #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "" #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1866 src/tags.cpp:1867 #, fuzzy msgid "Unknown Exif tag" msgstr "Etiqueta OlympusEq desconhecido" #: src/tags.cpp:1878 msgid "North" msgstr "" #: src/tags.cpp:1879 msgid "South" msgstr "" #: src/tags.cpp:1884 msgid "East" msgstr "" #: src/tags.cpp:1885 msgid "West" msgstr "" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "" #: src/tags.cpp:1891 #, fuzzy msgid "Below sea level" msgstr "Nível do vermelho WB" #: src/tags.cpp:1896 msgid "Measurement in progress" msgstr "" #: src/tags.cpp:1897 msgid "Measurement Interoperability" msgstr "" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "" #: src/tags.cpp:1908 msgid "km/h" msgstr "" #: src/tags.cpp:1909 msgid "mph" msgstr "" #: src/tags.cpp:1910 msgid "knots" msgstr "" #: src/tags.cpp:1915 #, fuzzy msgid "True direction" msgstr "Redução de trepidação" #: src/tags.cpp:1916 #, fuzzy msgid "Magnetic direction" msgstr "Direção de imagem do GPS" #: src/tags.cpp:1921 msgid "Kilometers" msgstr "" #: src/tags.cpp:1922 msgid "Miles" msgstr "" #: src/tags.cpp:1923 msgid "Knots" msgstr "" #: src/tags.cpp:1928 msgid "Without correction" msgstr "Sem correção" #: src/tags.cpp:1929 msgid "Correction applied" msgstr "" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" #: src/tags.cpp:1941 #, fuzzy msgid "GPS Latitude Reference" msgstr "Altitude de referẽncia do GPS." #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1953 #, fuzzy msgid "GPS Longitude Reference" msgstr "Altitude de referẽncia do GPS." #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" #: src/tags.cpp:1998 #, fuzzy msgid "GPS Data Degree of Precision" msgstr "GPS etiqueta 11, 0x0B. Grau de precisão dos dados para GPS" #: src/tags.cpp:1999 msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" #: src/tags.cpp:2007 #, fuzzy msgid "Indicates the speed of GPS receiver movement." msgstr "GPS etiqueta 13, 0x0D. Velocidade do recebedor de movimento do GPS." #: src/tags.cpp:2009 #, fuzzy msgid "GPS Track Ref" msgstr "Faixa do GPS" #: src/tags.cpp:2010 msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2014 #, fuzzy msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" "GPS etiqueta 15, 0x0F. Direção do movimento do GPS, intervalo dos valores " "entre 0 à 359.99." #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2022 #, fuzzy msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" "GPS etiqueta 17, 0x11. Direção de imagem quando capturada, intervalo de " "valores entre 0 à 359.99." #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" #: src/tags.cpp:2029 #, fuzzy msgid "GPS Destination Latitude Reference" msgstr "Referência de distância do destino do GPS" #: src/tags.cpp:2030 msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" #: src/tags.cpp:2034 msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2041 #, fuzzy msgid "GPS Destination Longitude Reference" msgstr "Longitude de destino do GPS" #: src/tags.cpp:2042 msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" #: src/tags.cpp:2046 msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2057 #, fuzzy msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "GPS etiqueta 24, 0x18. Rolamento do destino, valores de 0 à 359.99." #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" #: src/tags.cpp:2065 #, fuzzy msgid "Indicates the distance to the destination point." msgstr "EXIF etiqueta 41996, 0xA40C. Indica a distância ao assunto." #: src/tags.cpp:2068 msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" #: src/tags.cpp:2076 #, fuzzy msgid "GPS Date Stamp" msgstr "Registro da hora do GPS" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" #: src/tags.cpp:2081 #, fuzzy msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "" "GPS etiqueta 30, 0x1E. Indica se a correção diferencial é aplicada ao " "receptor do GPS." #: src/tags.cpp:2084 src/tags.cpp:2085 #, fuzzy msgid "Unknown GPSInfo tag" msgstr "Etiqueta PanasonicRaw desconhecido" #: src/tags.cpp:2096 msgid "Interoperability Index" msgstr "" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" #: src/tags.cpp:2103 msgid "Interoperability Version" msgstr "" #: src/tags.cpp:2104 msgid "Interoperability version" msgstr "" #: src/tags.cpp:2106 #, fuzzy msgid "Related Image File Format" msgstr "Formato de Arquivo de Imagem Marcada (TIFF)" #: src/tags.cpp:2107 msgid "File format of image file" msgstr "" #: src/tags.cpp:2109 msgid "Related Image Width" msgstr "Largura informada da imagem" #: src/tags.cpp:2112 msgid "Related Image Length" msgstr "Comprimento informado da imagem" #: src/tags.cpp:2116 src/tags.cpp:2117 #, fuzzy msgid "Unknown Exif Interoperability tag" msgstr "Etiqueta MarcadorNotasPentax desconhecido" #: src/tags.cpp:2128 #, fuzzy msgid "Offset" msgstr "VRD Offset" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "" #: src/tags.cpp:2131 msgid "Byte Order" msgstr "" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" #: src/tags.cpp:2135 src/tags.cpp:2136 #, fuzzy msgid "Unknown Exiv2 Makernote info tag" msgstr "Etiqueta SigmaMakerNote desconhecida" #: src/tags.cpp:2146 src/tags.cpp:2147 #, fuzzy msgid "Unknown tag" msgstr "etiqueta OlympusCs desconhecido" #: src/tags.cpp:2688 #, fuzzy msgid "Digital zoom not used" msgstr "Razão de Zoom Digital." #: src/tiffimage.cpp:2308 #, fuzzy msgid "TIFF header, offset" msgstr "Deslocamento de área da imagem" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "" exiv2-0.25/po/bs.po0000664000175000017500000257717012540520175013721 0ustar andreasandreas# Bosnian translation for exiv2 # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the exiv2 package. # msgid "" msgstr "" "Project-Id-Version: exiv2\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: 2015-04-13 21:19+0000\n" "Last-Translator: Samir Ribić \n" "Language-Team: Bosnian \n" "Language: bs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2015-05-09 22:57+0000\n" "X-Generator: Launchpad (build 17474)\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 msgid "Failed to open the file\n" msgstr "Neuspješno otvaranje datoteke\n" #: src/actions.cpp:282 msgid "File name" msgstr "Naziv datoteke" #: src/actions.cpp:288 msgid "File size" msgstr "Veličina datoteke" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "Bajtova" #: src/actions.cpp:293 msgid "MIME type" msgstr "MIME tip" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 msgid "Image size" msgstr "Veličina slike" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 msgid "No Exif data found in the file\n" msgstr "" "Exchangeable image file format (Exif) podaci nisu pronađeni u ovoj " "datoteci.\n" #: src/actions.cpp:307 msgid "Camera make" msgstr "Proizvođač fotoaparata" #: src/actions.cpp:310 msgid "Camera model" msgstr "Model fotoaparata" #: src/actions.cpp:313 msgid "Image timestamp" msgstr "Vrijeme slike" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 msgid "Image number" msgstr "Broj slike" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 msgid "Exposure time" msgstr "Dužina ekspozicije" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 msgid "Aperture" msgstr "Blenda" #: src/actions.cpp:345 msgid "Exposure bias" msgstr "Kompenzacija ekspozicije" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 msgid "Flash" msgstr "Blic" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 msgid "Flash bias" msgstr "Kompenzacija blica" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 msgid "Focal length" msgstr "Žižna daljina" #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr "35 mm ekvivalent" #: src/actions.cpp:373 msgid "Subject distance" msgstr "Udaljenost od objekta" #: src/actions.cpp:387 msgid "ISO speed" msgstr "Brzina .ISO slike" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 msgid "Exposure mode" msgstr "Način ekspozicije" #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 msgid "Metering mode" msgstr "Mod mjerenja" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 msgid "Macro mode" msgstr "Makro mod" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 msgid "Image quality" msgstr "Kvalitet slike" #: src/actions.cpp:403 msgid "Exif Resolution" msgstr "Exif rezolucija" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "Ravnoteža bijele" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 msgid "Thumbnail" msgstr "Sličica" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "Nikakva" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 msgid "Copyright" msgstr "Autorska prava" #: src/actions.cpp:458 msgid "Exif comment" msgstr "Exif komentar" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "(zabranjena binarna vrijednost)" #: src/actions.cpp:742 msgid "JPEG comment" msgstr "Komentar JPEG slike" #: src/actions.cpp:767 msgid "Preview" msgstr "Pregled" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "pikseli" #: src/actions.cpp:773 src/actions.cpp:1113 msgid "bytes" msgstr "bajta" #: src/actions.cpp:820 msgid "Neither tag" msgstr "Nema oznaka" #: src/actions.cpp:821 msgid "nor" msgstr "niti" #: src/actions.cpp:822 msgid "found in the file" msgstr "pronađeni u datoteci" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "Vremenska oznaka nije podešena u ovoj datoteci" #: src/actions.cpp:833 src/actions.cpp:1590 msgid "Failed to parse timestamp" msgstr "Neuspješna analiza vremenske oznake" #: src/actions.cpp:834 msgid "in the file" msgstr "u datoteci" #: src/actions.cpp:845 msgid "Updating timestamp to" msgstr "Ažuriranje vremenske oznake u" #: src/actions.cpp:939 msgid "Erasing thumbnail data" msgstr "Brisanje podataka o sličicama" #: src/actions.cpp:947 msgid "Erasing Exif data from the file" msgstr "Brišem Exif podatke iz datoteke" #: src/actions.cpp:956 msgid "Erasing IPTC data from the file" msgstr "Brišem IPTC podatke iz datoteke" #: src/actions.cpp:965 msgid "Erasing JPEG comment from the file" msgstr "Brišem JPEG komentar iz datoteke" #: src/actions.cpp:974 msgid "Erasing XMP data from the file" msgstr "Brišem XMP podatke iz datoteke" #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "Slika ne sadrži Exif sličicu\n" #: src/actions.cpp:1055 msgid "Writing thumbnail" msgstr "Pisanje umanjene sličice" #: src/actions.cpp:1056 src/actions.cpp:1114 msgid "to file" msgstr "do datoteke" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "Exif podaci ne sadrže umanjenu sličicu\n" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "Slika ne sadrži pregled" #: src/actions.cpp:1107 msgid "Writing preview" msgstr "Pisanje pregleda" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "Postavljanje JPEG komentara" #: src/actions.cpp:1319 msgid "Add" msgstr "Dodaj" #: src/actions.cpp:1341 src/actions.cpp:1415 msgid "Warning" msgstr "Upozorenje" #: src/actions.cpp:1342 src/actions.cpp:1416 msgid "Failed to read" msgstr "Neuspjelo čitanje" #: src/actions.cpp:1344 src/actions.cpp:1418 msgid "value" msgstr "vrijednost" #: src/actions.cpp:1355 msgid "Set" msgstr "Postavi" #: src/actions.cpp:1427 msgid "Del" msgstr "Del" #: src/actions.cpp:1459 msgid "Reg " msgstr "Reg " #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "Vremenska oznaka metadatuma s ključem" #: src/actions.cpp:1544 msgid "not set\n" msgstr "nije postavljeno\n" #: src/actions.cpp:1549 msgid "Adjusting" msgstr "Podešavam" #: src/actions.cpp:1549 msgid "by" msgstr "od" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "godina" #: src/actions.cpp:1556 msgid "year" msgstr "godina" #: src/actions.cpp:1564 msgid "months" msgstr "mjeseci" #: src/actions.cpp:1567 msgid "month" msgstr "mjesec" #: src/actions.cpp:1575 msgid "days" msgstr "dana" #: src/actions.cpp:1578 msgid "day" msgstr "dan" #: src/actions.cpp:1584 msgid "s" msgstr "s" #: src/actions.cpp:1600 msgid "Can't adjust timestamp by" msgstr "Ne mogu prilagoditi vremensku oznaku za" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 msgid "to" msgstr "do" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "Standardno obilježje Exif ISO ne postoji; nije promjenjeno\n" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "Postavljanje vrijednosti Exif ISO na" #: src/actions.cpp:1708 msgid "No Exif user comment found" msgstr "Nema korisničkih komentara za Exif" #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "Pronađen Exif korisnički komentar sa neočekivanom vrstom podataka" #: src/actions.cpp:1723 msgid "No Exif UNICODE user comment found" msgstr "Nema UNICODE komentara korisnika za Exif" #: src/actions.cpp:1729 msgid "Setting Exif UNICODE user comment to" msgstr "Postavljanje Exif UNICODE korisničkog komentara na" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "Pisanje Exif podataka iz" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "Pisanje IPTC podataka iz" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "Pisanje XMP podataka iz" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "Pisanje JPEG komentara iz" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "Matapodaci se ne mogu upisati u datoteku" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "Format imena datoteke rezultovao je praznim imenom datoteke" #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "Ova datoteka već ima pravilno ime" #: src/actions.cpp:1975 src/exiv2.cpp:168 msgid "File" msgstr "Datoteka" #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr "postoji. [O]briši, p[r]eimenuj ili pre[s]koči?" #: src/actions.cpp:2004 msgid "Renaming file to" msgstr "Preimenovanje datoteke u" #: src/actions.cpp:2006 msgid "updating timestamp" msgstr "ažuriranje vremenske oznake" #: src/actions.cpp:2015 msgid "Failed to rename" msgstr "Neuspješno preimenovanje" #: src/actions.cpp:2037 msgid "Overwrite" msgstr "Piši preko" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "Isključeno" #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "Uključeno" #: src/canonmn.cpp:363 msgid "Format 1" msgstr "Format 1" #: src/canonmn.cpp:364 msgid "Format 2" msgstr "Format 2" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 msgid "On (1)" msgstr "Uklj (1)" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 msgid "On (2)" msgstr "Uklj (2)" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "sRGB" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 msgid "Adobe RGB" msgstr "Adobe RGB" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "Nepoznato" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 msgid "Camera Settings" msgstr "Postavke kamere" #: src/canonmn.cpp:383 msgid "Various camera settings" msgstr "Razne postavke kamere" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 msgid "Focal Length" msgstr "Žižna daljina" #: src/canonmn.cpp:386 src/sonymn.cpp:394 msgid "Shot Info" msgstr "Informacija o snimku" #: src/canonmn.cpp:386 msgid "Shot information" msgstr "Informacija o snimku" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 msgid "Panorama" msgstr "Panorama" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 msgid "Image Type" msgstr "Vrsta slike" #: src/canonmn.cpp:388 msgid "Image type" msgstr "Vrsta slike" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 msgid "Firmware Version" msgstr "Firmware verzije" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 msgid "Firmware version" msgstr "Firmware verzija" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 msgid "File Number" msgstr "Datotečni broj" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 msgid "File number" msgstr "Datotečni broj" #: src/canonmn.cpp:391 msgid "Owner Name" msgstr "Ime vlasnika" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 msgid "Serial Number" msgstr "Serijski broj" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 msgid "Camera serial number" msgstr "Serijski broj kamere" #: src/canonmn.cpp:393 msgid "Camera Info" msgstr "Informacija o aparatu" #: src/canonmn.cpp:393 msgid "Camera info" msgstr "Informacija o aparatu" #: src/canonmn.cpp:394 src/canonmn.cpp:406 msgid "Custom Functions" msgstr "Posebne funkcije" #: src/canonmn.cpp:395 msgid "ModelID" msgstr "Oznaka modela" #: src/canonmn.cpp:395 msgid "Model ID" msgstr "Oznaka modela" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 msgid "Picture Info" msgstr "Informacija o slici" #: src/canonmn.cpp:396 msgid "Picture info" msgstr "Informacija o slici" #: src/canonmn.cpp:397 msgid "Thumbnail Image Valid Area" msgstr "Važeće područje sličice" #: src/canonmn.cpp:397 msgid "Thumbnail image valid area" msgstr "Važeće područje sličice" #: src/canonmn.cpp:398 msgid "Serial Number Format" msgstr "Format serijskog broja" #: src/canonmn.cpp:398 msgid "Serial number format" msgstr "Format serijskog broja" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 msgid "Super Macro" msgstr "Super makro" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "Super makro" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF Info" msgstr "AF Info" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF info" msgstr "AF info" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "Originalna pozicija podataka za odluku" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "Originalna pozicija podataka za odluku" #: src/canonmn.cpp:402 msgid "White Balance Table" msgstr "Tablica balansa bijelog" #: src/canonmn.cpp:402 msgid "White balance table" msgstr "Tablica balansa bijelog" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 msgid "Lens Model" msgstr "Model Objektiva" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 msgid "Lens model" msgstr "model objektiva" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 msgid "Internal Serial Number" msgstr "Interni serijski broj" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 msgid "Internal serial number" msgstr "Interni serijski broj" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "Podaci za uklanjanje prašine" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "Podaci za uklanjanje prašine" #: src/canonmn.cpp:406 msgid "Custom functions" msgstr "Prilagođene funkcije" #: src/canonmn.cpp:407 msgid "Processing Info" msgstr "Informacije o obradi" #: src/canonmn.cpp:407 msgid "Processing info" msgstr "Informacije o obradi" #: src/canonmn.cpp:408 msgid "Measured Color" msgstr "Mjkerena boja" #: src/canonmn.cpp:408 msgid "Measured color" msgstr "Mjkerena boja" #: src/canonmn.cpp:409 msgid "ColorSpace" msgstr "Prostor boja" #: src/canonmn.cpp:413 msgid "VRD Offset" msgstr "VRD pozicija" #: src/canonmn.cpp:413 msgid "VRD offset" msgstr "VRD pozicija" #: src/canonmn.cpp:414 msgid "Sensor Info" msgstr "Informacija o senzoru" #: src/canonmn.cpp:414 msgid "Sensor info" msgstr "Informacija o senzoru" #: src/canonmn.cpp:415 msgid "Color Data" msgstr "Podaci o bojama" #: src/canonmn.cpp:415 msgid "Color data" msgstr "Podaci o bojama" #: src/canonmn.cpp:417 msgid "Unknown CanonMakerNote tag" msgstr "Nepoznata CanonMakerNote oznaka" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "Ekonomično" #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 msgid "Normal" msgstr "Normalno" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 msgid "Fine" msgstr "Fino" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "RAW" #: src/canonmn.cpp:437 msgid "Superfine" msgstr "Super fino" #: src/canonmn.cpp:438 msgid "Normal Movie" msgstr "Normalni film" #: src/canonmn.cpp:439 #, fuzzy msgid "Movie (2)" msgstr "Film" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 msgid "Auto" msgstr "Automatski" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "Uklanjanje crvenih očiju" #: src/canonmn.cpp:448 msgid "Slow sync" msgstr "Spora sinhronizacija" #: src/canonmn.cpp:449 msgid "Auto + red-eye" msgstr "Automatski + crveno oko" #: src/canonmn.cpp:450 msgid "On + red-eye" msgstr "Uključeno+ crveno oko" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 msgid "External" msgstr "Spoljašnji" #: src/canonmn.cpp:457 msgid "Single / timer" msgstr "Pojedinačno/tajmer" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 msgid "Continuous" msgstr "Neprekidno" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 msgid "Movie" msgstr "Film" #: src/canonmn.cpp:460 msgid "Continuous, speed priority" msgstr "Neprekidno, prednost brzini" #: src/canonmn.cpp:461 msgid "Continuous, low" msgstr "Neprekidno, nisko" #: src/canonmn.cpp:462 msgid "Continuous, high" msgstr "Neprekidno, visoko" #: src/canonmn.cpp:467 msgid "One shot AF" msgstr "AF jednog snimka" #: src/canonmn.cpp:468 msgid "AI servo AF" msgstr "AI servo AF" #: src/canonmn.cpp:469 msgid "AI focus AF" msgstr "AI žiža AF" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 msgid "Manual focus" msgstr "Ručno podesiva žiža" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 msgid "Single" msgstr "Jednostruko" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 msgid "Pan focus" msgstr "Pan žiža" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 msgid "Large" msgstr "Velika" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 msgid "Medium" msgstr "Srednja" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 msgid "Small" msgstr "Mala" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 msgid "Medium 1" msgstr "Srednje 1" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 msgid "Medium 2" msgstr "Srednje 2" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 msgid "Medium 3" msgstr "Srednje 3" #: src/canonmn.cpp:490 msgid "Full auto" msgstr "Potpuna automatika" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 msgid "Manual" msgstr "Ručno" #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 msgid "Landscape" msgstr "Pejzaž" #: src/canonmn.cpp:493 msgid "Fast shutter" msgstr "Brza blenda" #: src/canonmn.cpp:494 msgid "Slow shutter" msgstr "Sporo blenda" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 msgid "Night Scene" msgstr "Noćni prizor" #: src/canonmn.cpp:496 msgid "Gray scale" msgstr "Sivo" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "Sepia" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 msgid "Portrait" msgstr "Portret" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "Sport" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "Makro / približavanje" #: src/canonmn.cpp:501 src/fujimn.cpp:149 msgid "Black & white" msgstr "Crno-bijelo" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 msgid "Vivid" msgstr "Živo" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 msgid "Neutral" msgstr "Neutralno" #: src/canonmn.cpp:505 msgid "Flash off" msgstr "Isključen blic" #: src/canonmn.cpp:506 msgid "Long shutter" msgstr "Duga blenda" #: src/canonmn.cpp:508 msgid "Foliage" msgstr "LIšće" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 msgid "Indoor" msgstr "u sobi" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 msgid "Fireworks" msgstr "Vatromet" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "Plaža" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 msgid "Underwater" msgstr "Pod vodom" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "Snijeg" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "Djeca i ljubimci" #: src/canonmn.cpp:515 msgid "Night SnapShot" msgstr "Noćni snimci" #: src/canonmn.cpp:516 msgid "Digital macro" msgstr "Digitalni makro" #: src/canonmn.cpp:517 msgid "My Colors" msgstr "Moje boje" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 msgid "Still image" msgstr "Mirna slika" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 msgid "Other" msgstr "Ostalo" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 msgid "Low" msgstr "Nisko" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 msgid "High" msgstr "Visoko" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "n/d" #: src/canonmn.cpp:540 msgid "Auto High" msgstr "Automatska visina" #: src/canonmn.cpp:558 src/sonymn.cpp:235 msgid "Default" msgstr "Podrazumijevano" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 msgid "Spot" msgstr "Spot" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "Prosječno" #: src/canonmn.cpp:561 msgid "Evaluative" msgstr "Procjena" #: src/canonmn.cpp:562 src/tags.cpp:1427 msgid "Partial" msgstr "Djelimično" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 msgid "Center weighted" msgstr "Centrirano težinski" #: src/canonmn.cpp:570 msgid "Not known" msgstr "Nepoznato" #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "Makro" #: src/canonmn.cpp:572 msgid "Very close" msgstr "Veoma blizu" #: src/canonmn.cpp:573 msgid "Close" msgstr "Blizu" #: src/canonmn.cpp:574 msgid "Middle range" msgstr "Srednji opseg" #: src/canonmn.cpp:575 msgid "Far range" msgstr "Dalek opseg" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 msgid "Infinity" msgstr "Beskonačno" #: src/canonmn.cpp:583 msgid "Manual AF point selection" msgstr "Ručno biranje AF" #: src/canonmn.cpp:584 msgid "None (MF)" msgstr "Ništa (MF)" #: src/canonmn.cpp:585 msgid "Auto-selected" msgstr "Automatski izabrano" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 msgid "Right" msgstr "Desno" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 msgid "Center" msgstr "Centar" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 msgid "Left" msgstr "Lijevo" #: src/canonmn.cpp:589 msgid "Auto AF point selection" msgstr "Automatsko AF biranje tačke" #: src/canonmn.cpp:594 msgid "Easy shooting (Auto)" msgstr "Lako fotografisanje (automatski)" #: src/canonmn.cpp:595 msgid "Program (P)" msgstr "Program (P)" #: src/canonmn.cpp:596 msgid "Shutter priority (Tv)" msgstr "Prioritet zatvarača (Tv)" #: src/canonmn.cpp:597 msgid "Aperture priority (Av)" msgstr "Prioritet blende (Av)" #: src/canonmn.cpp:598 msgid "Manual (M)" msgstr "Ručno (M)" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "A-DEP" #: src/canonmn.cpp:600 msgid "M-DEP" msgstr "M-DEP" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 msgid "Did not fire" msgstr "Neokidaj" #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 msgid "Fired" msgstr "Upaljen" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 msgid "External flash" msgstr "Spoljni blic" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 msgid "Internal flash" msgstr "Unutrašnji blic" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "TTL" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "A-TTL" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "E-TTL" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "Omogućena sinhronizacija FP" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "Korišćena druga zastava sinhronizacije" #: src/canonmn.cpp:980 msgid "FP sync used" msgstr "Korišćena FP sinhronizacija" #: src/canonmn.cpp:991 msgid "Normal AE" msgstr "Normalna AE" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 msgid "Exposure compensation" msgstr "Kompenzacija ekspozicije" #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "Zaključavanje AE" #: src/canonmn.cpp:994 msgid "AE lock + exposure compensation" msgstr "AE zaključavanje + Kompenzacija ekspozicije" #: src/canonmn.cpp:995 msgid "No AE" msgstr "Bez AE" #: src/canonmn.cpp:1002 msgid "On, shot only" msgstr "Uključeno, samo slikanje" #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 msgid "AF Point" msgstr "AF tačka" #: src/canonmn.cpp:1016 msgid "Smooth" msgstr "Glatko" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "Crnobijelo" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 msgid "Custom" msgstr "Prilagođeno" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 msgid "My color data" msgstr "Moji podaci o boji" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 msgid "Full" msgstr "Puni" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "sRAW1 (mRAW)" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "sRAW2 (sRAW)" #: src/canonmn.cpp:1043 msgid "Selftimer" msgstr "Samomjerač" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 msgid "Self timer" msgstr "Samomjerač" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 msgid "Quality" msgstr "Kvalitet" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 msgid "Flash Mode" msgstr "Mod blica" #: src/canonmn.cpp:1045 msgid "Flash mode setting" msgstr "Postavka režima blica" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 msgid "Drive Mode" msgstr "Režim upravljanja" #: src/canonmn.cpp:1046 msgid "Drive mode setting" msgstr "Postavka režima upravljanja" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 msgid "Focus Mode" msgstr "Žižni mod" #: src/canonmn.cpp:1048 msgid "Focus mode setting" msgstr "Postavka režima fokusa" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 msgid "Image Size" msgstr "Veličina slike" #: src/canonmn.cpp:1052 msgid "Easy Mode" msgstr "Jednostavni režim" #: src/canonmn.cpp:1052 msgid "Easy shooting mode" msgstr "Mod lakog slikanja" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 msgid "Digital Zoom" msgstr "Digitalno uvećanje" #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 msgid "Digital zoom" msgstr "Digitalno uvećanje" #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 msgid "Contrast" msgstr "Kontrast" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 msgid "Contrast setting" msgstr "Postavljanje kontrasta" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 msgid "Saturation" msgstr "Zasićenje" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 msgid "Saturation setting" msgstr "Postavljanje zasićenja" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 msgid "Sharpness" msgstr "Oštrina" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 msgid "Sharpness setting" msgstr "Postavka oštrine" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 msgid "ISO Speed Mode" msgstr "ISO brzi režim" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 msgid "ISO speed setting" msgstr "Postavka ISO brzine" #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 msgid "Metering Mode" msgstr "Režim mjerenja" #: src/canonmn.cpp:1058 msgid "Metering mode setting" msgstr "Postavka mjerećeg režima" #: src/canonmn.cpp:1059 msgid "Focus Type" msgstr "Vrsta fokusa" #: src/canonmn.cpp:1059 msgid "Focus type setting" msgstr "Postavka vrste fokusa" #: src/canonmn.cpp:1060 msgid "AF point selected" msgstr "AF tačka odabrana" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 msgid "Exposure Program" msgstr "Program ekspozicije" #: src/canonmn.cpp:1061 msgid "Exposure mode setting" msgstr "Postavka režima ekspozicije" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 msgid "Lens Type" msgstr "Vrta leća" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 msgid "Lens type" msgstr "Tip sočiva" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 msgid "Lens" msgstr "Sočivo" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" "'duga' i 'kratka' žarišna duljina objektiva (u \"žarišnoj jedinici) i " "'žarišne jedinice po mm-u" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "Kratka žižna daljina" #: src/canonmn.cpp:1065 msgid "Short focal" msgstr "Kratka žižna daljina" #: src/canonmn.cpp:1066 msgid "Focal Units" msgstr "Jedinice žiže" #: src/canonmn.cpp:1066 msgid "Focal units" msgstr "Žižne jedinice" #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 msgid "Max Aperture" msgstr "Maksimalna blenda" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 msgid "Max aperture" msgstr "Maksimalna blenda" #: src/canonmn.cpp:1068 msgid "Min Aperture" msgstr "Minimalna blenda" #: src/canonmn.cpp:1068 msgid "Min aperture" msgstr "Minimalna blenda" #: src/canonmn.cpp:1069 msgid "Flash Activity" msgstr "Aktivnost blica" #: src/canonmn.cpp:1069 msgid "Flash activity" msgstr "Trajanje blica" #: src/canonmn.cpp:1070 msgid "Flash Details" msgstr "Detalji blica" #: src/canonmn.cpp:1070 msgid "Flash details" msgstr "Detalji blica" #: src/canonmn.cpp:1073 msgid "Focus Continuous" msgstr "Kontinualna žiža" #: src/canonmn.cpp:1073 msgid "Focus continuous setting" msgstr "Fokusiraj neprekidno podešavanje" #: src/canonmn.cpp:1074 msgid "AESetting" msgstr "AESetting" #: src/canonmn.cpp:1074 msgid "AE setting" msgstr "Podešavanje AE" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 msgid "Image Stabilization" msgstr "Stabilizacija slike" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 msgid "Image stabilization" msgstr "Stabilizacija slike" #: src/canonmn.cpp:1076 msgid "Display Aperture" msgstr "Prikaži blendu" #: src/canonmn.cpp:1076 msgid "Display aperture" msgstr "Otvor prikaza" #: src/canonmn.cpp:1077 msgid "Zoom Source Width" msgstr "Širina izvora zuma" #: src/canonmn.cpp:1077 msgid "Zoom source width" msgstr "Širina zumiranja izvora" #: src/canonmn.cpp:1078 msgid "Zoom Target Width" msgstr "Širina odredišta zuma" #: src/canonmn.cpp:1078 msgid "Zoom target width" msgstr "Širina odredišta zuma" #: src/canonmn.cpp:1080 msgid "Spot Metering Mode" msgstr "Spot način mjerenja" #: src/canonmn.cpp:1080 msgid "Spot metering mode" msgstr "Spot način mjerenja" #: src/canonmn.cpp:1081 msgid "Photo Effect" msgstr "Foto Efekt" #: src/canonmn.cpp:1081 msgid "Photo effect" msgstr "Efekat fotografije" #: src/canonmn.cpp:1082 msgid "Manual Flash Output" msgstr "Ručni izlaz blica" #: src/canonmn.cpp:1082 msgid "Manual flash output" msgstr "Ručni izlaz blica" #: src/canonmn.cpp:1083 msgid "Color Tone" msgstr "Ton boje" #: src/canonmn.cpp:1083 msgid "Color tone" msgstr "Nijansa boja" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "SRAW Kvalitet tona" #: src/canonmn.cpp:1084 msgid "SRAW quality" msgstr "SRAW kvalitet" #: src/canonmn.cpp:1086 msgid "Unknown Canon Camera Settings 1 tag" msgstr "Nepoznate opcije Canon kamere 1 tag" #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 msgid "Daylight" msgstr "Dnevno svjetlo" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 msgid "Cloudy" msgstr "Oblačno" #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 msgid "Tungsten" msgstr "Volfram" #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 msgid "Fluorescent" msgstr "Fluorescentno" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 msgid "Black & White" msgstr "Crno - bijelo" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "Sijenčenje" #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "Bučna temperatura (Kelvin)" #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "PC Set 1" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "PC Set 2" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "PC Set 3" #: src/canonmn.cpp:1109 msgid "Daylight Fluorescent" msgstr "Dnevnosvjetlosna fluroscentna" #: src/canonmn.cpp:1110 src/properties.cpp:816 msgid "Custom 1" msgstr "Prilagođeno 1" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 msgid "Custom 2" msgstr "Prilagođeno 2" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 msgid "Custom 3" msgstr "Prilagođeno 3" #: src/canonmn.cpp:1115 msgid "PC Set 4" msgstr "PC Set 4" #: src/canonmn.cpp:1116 msgid "PC Set 5" msgstr "PC Set 5" #: src/canonmn.cpp:1117 #, fuzzy msgid "Auto (ambience priority)" msgstr "GN (prioritet udaljenosti)" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 msgid "left" msgstr "lijevo" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 msgid "center" msgstr "sredina" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 msgid "right" msgstr "desno" #: src/canonmn.cpp:1151 msgid "ISO Speed Used" msgstr "ISO brzina korištena" #: src/canonmn.cpp:1151 msgid "ISO speed used" msgstr "ISO brzina korištena" #: src/canonmn.cpp:1152 msgid "Measured EV" msgstr "Mjerljivo EV" #: src/canonmn.cpp:1153 msgid "Target Aperture" msgstr "Odredišna blenda" #: src/canonmn.cpp:1154 msgid "Target Shutter Speed" msgstr "Ciljna brzina slikanja" #: src/canonmn.cpp:1154 msgid "Target shutter speed" msgstr "Ciljna brzina slikanja" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 msgid "White Balance" msgstr "Ravnoteža bijele" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 msgid "White balance setting" msgstr "Postavljanje ravnoteže bijele" #: src/canonmn.cpp:1158 msgid "Sequence" msgstr "Sekvenca" #: src/canonmn.cpp:1158 msgid "Sequence number (if in a continuous burst)" msgstr "Broj sekvenci (ako je u kontinualnom emitovanju)" #: src/canonmn.cpp:1163 msgid "AF Point Used" msgstr "Korištena AF tačka" #: src/canonmn.cpp:1163 msgid "AF point used" msgstr "Korištena AF tačka" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 msgid "Flash Bias" msgstr "Blic" #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 msgid "Subject Distance" msgstr "Udaljenost subjekta" #: src/canonmn.cpp:1168 msgid "Subject distance (units are not clear)" msgstr "Udaljenost objekta (jedinice nisu jasne)" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 msgid "Aperture Value" msgstr "Otvor blende" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 msgid "Shutter Speed Value" msgstr "Zatvaračka vrijednost brzine" #: src/canonmn.cpp:1171 src/tags.cpp:1630 msgid "Shutter speed" msgstr "Brzina zatvarača" #: src/canonmn.cpp:1172 msgid "Measured EV 2" msgstr "Mjereni EV 2" #: src/canonmn.cpp:1177 msgid "Unknown Canon Camera Settings 2 tag" msgstr "Nepoznata postavka Canon Kamere 2 tag" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 msgid "Left to right" msgstr "S lijeva nadesno" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 msgid "Right to left" msgstr "S desna nalijevo" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 msgid "Bottom to top" msgstr "Odozdo prema gore" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 msgid "Top to bottom" msgstr "Odozgo prema dolje" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "2x2 matrca (u pravcu kazaljke)" #: src/canonmn.cpp:1196 msgid "Panorama Frame" msgstr "Panoramski kadar" #: src/canonmn.cpp:1196 msgid "Panorama frame number" msgstr "Broj panoramskog kadra" #: src/canonmn.cpp:1197 msgid "Panorama Direction" msgstr "Smijer panoram" #: src/canonmn.cpp:1197 msgid "Panorama direction" msgstr "Smijer panorame" #: src/canonmn.cpp:1199 msgid "Unknown Canon Panorama tag" msgstr "Nepoznat Canon Panorama tag" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 msgid "Noise Reduction" msgstr "Smanjenje šuma" #: src/canonmn.cpp:1209 msgid "Long exposure noise reduction" msgstr "Redukcija šuma pri dugoj ekspoziciji" #: src/canonmn.cpp:1210 msgid "Shutter Ae Lock" msgstr "Okidač Ae zakljucan" #: src/canonmn.cpp:1210 msgid "Shutter/AE lock buttons" msgstr "Okidačke tipke za zaključavanje" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "Zatvori Ogledalo" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "Zatvori ogledalo" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 msgid "Exposure Level Increments" msgstr "Koraci nivoa ekspozicije" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "TV/AV i nivo izlozenosti" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 msgid "AF Assist" msgstr "AF pomoćnik" #: src/canonmn.cpp:1213 msgid "AF assist light" msgstr "AF pomoćno svijetlo" #: src/canonmn.cpp:1214 msgid "Flash Sync Speed Av" msgstr "Prosječna sinhronizaciona brzina blica" #: src/canonmn.cpp:1214 msgid "Shutter speed in Av mode" msgstr "Brzina okidanja u prosjeku" #: src/canonmn.cpp:1215 msgid "AEB Sequence" msgstr "AEB sekvenca" #: src/canonmn.cpp:1215 msgid "AEB sequence/auto cancellation" msgstr "AEB sekvenca/automatsko otkazivanje" #: src/canonmn.cpp:1216 msgid "Shutter Curtain Sync" msgstr "Sinhronizacija okidača" #: src/canonmn.cpp:1216 msgid "Shutter curtain sync" msgstr "Sinhronizacija zavjese zatvarača" #: src/canonmn.cpp:1217 msgid "Lens AF Stop Button" msgstr "Sočivo AF Stop Dugme" #: src/canonmn.cpp:1217 msgid "Lens AF stop button Fn. Switch" msgstr "Sočivo AF Stop Dugme Fn. Prekidač" #: src/canonmn.cpp:1218 msgid "Fill Flash Auto Reduction" msgstr "Automatska redukcija poptunog blica" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "Automatska redukcija poptunog blica" #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "Meni Dugme za Povratak" #: src/canonmn.cpp:1219 msgid "Menu button return position" msgstr "Povratana pozicija meni dugmeta" #: src/canonmn.cpp:1220 msgid "Set Button Function" msgstr "Postavljanje funkcije dugmeta" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "Postavljanje funkcije dugmeta u toku slikanja" #: src/canonmn.cpp:1221 msgid "Sensor Cleaning" msgstr "Čišćenje senzora" #: src/canonmn.cpp:1221 msgid "Sensor cleaning" msgstr "Čišćenje senzora" #: src/canonmn.cpp:1222 msgid "Superimposed Display" msgstr "Superizloženi displej" #: src/canonmn.cpp:1222 msgid "Superimposed display" msgstr "Superizloženi displej" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "Puštanje Okidača bez CF Kartice" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "Puštanje Okidača bez CF Kartice" #: src/canonmn.cpp:1225 msgid "Unknown Canon Custom Function tag" msgstr "Nepoznata Canon funkcijska oznaka" #: src/canonmn.cpp:1236 msgid "mid-right" msgstr "sredina desno" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 msgid "bottom" msgstr "dno" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 msgid "top" msgstr "vrh" #: src/canonmn.cpp:1240 msgid "mid-left" msgstr "sredina lijevo" #: src/canonmn.cpp:1247 msgid "upper-left" msgstr "gore lijevo" #: src/canonmn.cpp:1248 msgid "upper-right" msgstr "gore desno" #: src/canonmn.cpp:1252 msgid "lower-left" msgstr "dolje lijevo" #: src/canonmn.cpp:1253 msgid "lower-right" msgstr "dolje desno" #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 msgid "Image Width" msgstr "Širina slike" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 msgid "Image width" msgstr "Širina slike" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 msgid "Image Height" msgstr "Visina slike" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 msgid "Image height" msgstr "Visina slike" #: src/canonmn.cpp:1261 msgid "Image Width As Shot" msgstr "Širina slike kao snimak" #: src/canonmn.cpp:1261 msgid "Image width (as shot)" msgstr "Širina slike kao snimak" #: src/canonmn.cpp:1262 msgid "Image Height As Shot" msgstr "Visina slike kao snimak" #: src/canonmn.cpp:1262 msgid "Image height (as shot)" msgstr "Visina slike kao snimak" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF Points Used" msgstr "AF tačke korištene" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF points used" msgstr "AF tačke korištene" #: src/canonmn.cpp:1264 msgid "AF Points Used 20D" msgstr "AF tačke korištene 20D" #: src/canonmn.cpp:1264 msgid "AF points used (20D)" msgstr "AF tačke korištene (20D)" #: src/canonmn.cpp:1266 msgid "Unknown Canon Picture Info tag" msgstr "Nepoznat tag za Canon sliku" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "AEB" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "FEB" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 msgid "ISO" msgstr "ISO" #: src/canonmn.cpp:1280 msgid "WB" msgstr "WB" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "Razglednica" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "Široki ekran" #: src/canonmn.cpp:1293 msgid "Medium Movie" msgstr "Srednji Film" #: src/canonmn.cpp:1294 msgid "Small Movie" msgstr "Mali Film" #: src/canonmn.cpp:1300 msgid "On 1" msgstr "On 1" #: src/canonmn.cpp:1301 msgid "On 2" msgstr "On 2" #: src/canonmn.cpp:1309 msgid "On (shift AB)" msgstr "On (shift AB)" #: src/canonmn.cpp:1310 msgid "On (shift GM)" msgstr "On (shift GM)" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "Žuta" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 msgid "Orange" msgstr "Narandžasta" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 msgid "Red" msgstr "Crvena" #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 msgid "Green" msgstr "Zelena" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 msgid "Blue" msgstr "Plava" #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "Purpurna" #: src/canonmn.cpp:1334 msgid "Bracket Mode" msgstr "Mod Zagrade" #: src/canonmn.cpp:1335 msgid "Bracket Value" msgstr "Vrijednost zagrade" #: src/canonmn.cpp:1336 msgid "Bracket Shot Number" msgstr "Zagrada snimke Broj" #: src/canonmn.cpp:1337 msgid "Raw Jpg Quality" msgstr "Sirovi Jpg Kvalitet" #: src/canonmn.cpp:1338 msgid "Raw Jpg Size" msgstr "Sirova Jpg Veličina" #: src/canonmn.cpp:1340 msgid "WB Bracket Mode" msgstr "WB Mod Zagrade" #: src/canonmn.cpp:1341 msgid "WB Bracket Value AB" msgstr "WB Vrijednost Zagrade AB" #: src/canonmn.cpp:1342 msgid "WB Bracket Value GM" msgstr "WB zagrada vrijednosti GM-a" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 msgid "Filter Effect" msgstr "Filter Efekt" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 msgid "Toning Effect" msgstr "Efekat tonova" #: src/canonmn.cpp:1345 msgid "Macro Magnification" msgstr "makro povećanje" #: src/canonmn.cpp:1345 msgid "Macro magnification" msgstr "makro povećanje" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "Snimanje uživo" #: src/canonmn.cpp:1346 msgid "Live view shooting" msgstr "Snimanje uživo" #: src/canonmn.cpp:1347 #, fuzzy msgid "Focus Distance Upper" msgstr "Fokus distanca" #: src/canonmn.cpp:1348 #, fuzzy msgid "Focus Distance Lower" msgstr "Fokus distanca" #: src/canonmn.cpp:1349 msgid "Flash Exposure Lock" msgstr "Blokiranje ekspozicije blicem" #: src/canonmn.cpp:1349 msgid "Flash exposure lock" msgstr "Blokiranje ekspozicije blicem" #: src/canonmn.cpp:1351 msgid "Unknown Canon File Info tag" msgstr "Nepoznata oznaka Canon datoteke" #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 msgid "Standard" msgstr "Uobičajeno" #: src/canonmn.cpp:1369 msgid "Lowest" msgstr "Najniže" #: src/canonmn.cpp:1373 msgid "Highest" msgstr "Najviše" #: src/canonmn.cpp:1381 msgid "High Saturation" msgstr "Visoko zasićenje" #: src/canonmn.cpp:1383 msgid "Low Saturation" msgstr "nisko zasićenje" #: src/canonmn.cpp:1384 msgid "CM Set 1" msgstr "CM Set 1" #: src/canonmn.cpp:1385 msgid "CM Set 2" msgstr "CM Set 2" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "Kor Def. 1" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "Kor Def. 2" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "Kor Def. 3" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "PC 1" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "PC 2" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "PC 3" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "Vijerno" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 msgid "Monochrome" msgstr "Monohromatski" #: src/canonmn.cpp:1399 #, fuzzy msgid "Fine Detail" msgstr "Detalji blica" #: src/canonmn.cpp:1404 msgid "ToneCurve" msgstr "Linija datog tona" #: src/canonmn.cpp:1404 msgid "Tone curve" msgstr "Linija tona" #: src/canonmn.cpp:1406 msgid "SharpnessFrequency" msgstr "Oštrina frekvencije" #: src/canonmn.cpp:1406 msgid "Sharpness frequency" msgstr "Oštrina frekvencije" #: src/canonmn.cpp:1407 msgid "SensorRedLevel" msgstr "Senzorna crvena razina" #: src/canonmn.cpp:1407 msgid "Sensor red level" msgstr "Senzorna crvena razina" #: src/canonmn.cpp:1408 msgid "SensorBlueLevel" msgstr "Senzorna plava razina" #: src/canonmn.cpp:1408 msgid "Sensor blue level" msgstr "Senzorna plava razina" #: src/canonmn.cpp:1409 msgid "WhiteBalanceRed" msgstr "Bijelo- crveni balans" #: src/canonmn.cpp:1409 msgid "White balance red" msgstr "Bijelo- crveni balans" #: src/canonmn.cpp:1410 msgid "WhiteBalanceBlue" msgstr "bijelo-plavi balans" #: src/canonmn.cpp:1410 msgid "White balance blue" msgstr "Bijelo-plavi balans" #: src/canonmn.cpp:1411 msgid "WhiteBalance" msgstr "Bijeli balans" #: src/canonmn.cpp:1412 msgid "ColorTemperature" msgstr "Temperatura boje" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 msgid "Color Temperature" msgstr "Temperatura boje" #: src/canonmn.cpp:1413 msgid "PictureStyle" msgstr "Stil slike" #: src/canonmn.cpp:1413 msgid "Picture style" msgstr "Stil slike" #: src/canonmn.cpp:1414 msgid "DigitalGain" msgstr "Digitalni dobitak" #: src/canonmn.cpp:1414 msgid "Digital gain" msgstr "digitalni dobitak" #: src/canonmn.cpp:1415 msgid "WBShiftAB" msgstr "WBShiftAB" #: src/canonmn.cpp:1415 msgid "WBShift AB" msgstr "WBShift AB" #: src/canonmn.cpp:1416 msgid "WBShiftGM" msgstr "WBShiftGM" #: src/canonmn.cpp:1416 msgid "WB Shift GM" msgstr "WB Shift GM" #: src/canonmn.cpp:1417 msgid "Unknown Canon Processing Info tag" msgstr "Nepoznata Canon obradna Info oznake" #: src/crwimage.cpp:656 msgid "Header, offset" msgstr "zaglavlje ili offset" #: src/crwimage.cpp:674 msgid "tag" msgstr "oznaka" #: src/crwimage.cpp:676 msgid "dir" msgstr "sm" #: src/crwimage.cpp:678 msgid "type" msgstr "tip" #: src/crwimage.cpp:679 msgid "size" msgstr "veličina" #: src/crwimage.cpp:680 msgid "offset" msgstr "pomak" #: src/datasets.cpp:79 msgid "(invalid)" msgstr "(neispravno)" #: src/datasets.cpp:80 msgid "IIM envelope record" msgstr "IIM omotni zapis" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "IIM aplikacisjki zapis broj dva" #: src/datasets.cpp:85 msgid "Model Version" msgstr "Verzija modela" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Binarni broj koji identificira verzije modela podataka za razmjenu I. dio, " "korištenu od strane davatelja usluga. Verzijski brojevi se dodjeljuju prema " "IPTC i NAA organizaciji." #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 msgid "Destination" msgstr "Odredište" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" "Ovaj DataSet omogućen nekim pružateljima mrežnih usluga koji zahtijevaju " "usmjeravačke informacije iznad odgovarajućih OSI slojeva." #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 msgid "File Format" msgstr "Format datoteke" #: src/datasets.cpp:95 msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" "Binarni broj predstavlja format datoteke.Format datoteke mora biti " "registriran s IPTC ili NAA s jedinstvenim brojem dodijeljenim na njega." "Informacije se koriste za usmjeravanje podataka k odgovarajućih sistema kako " "bi se omogućilo prijemnom sistemu da bi obavljanjao odgovarajuće zadatke" "(akcije) tamo gdje su zadate." #: src/datasets.cpp:101 msgid "File Version" msgstr "Verzija datoteke" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" "Binarni broj predstavlja određenu verziju File Format-a određenu " " oznakom." #: src/datasets.cpp:105 msgid "Service Id" msgstr "ID Servisa" #: src/datasets.cpp:106 msgid "Identifies the provider and product" msgstr "Određuje dobavljača i proizvod" #: src/datasets.cpp:108 msgid "Envelope Number" msgstr "Broj omotnica" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" "Znakovi formiraju broj koji će biti jedinstven za datum naveden u " " oznaci Identifikatora servisa označenoj kao " " . Ako identičan broj omotnica se pojavi na isti datum i " "istim identifikatorom servisa , zapisii 2-9 moraju biti nepromijenjeni od " "orginala. To nije predviđeno da bude sekvencijalni serijski broj." #: src/datasets.cpp:117 msgid "Product Id" msgstr "Šifra proizvoda" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" "Omogućuje usluga identificiranja podskupova svoje ukupne usluge. Koristi se " "za primanje organizacije podataka na kojima se odabira, put, ili na drugi " "način obrađuju podatci." #: src/datasets.cpp:122 msgid "Envelope Priority" msgstr "Prioritetna omotnica" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" "Određuje prioritet u rukovanju omotnicom , a ne uredničku hitnost (vidi " " oznaku). \"1\" označava najhitnije, \"5\" normalne hitnosti, i " "\"8\" najmanje hitni primjerak. Broj \"9\" označava Korisnički definiran " "prioritet. Broj \"0\" je rezerviran za buduću uporabu." #: src/datasets.cpp:129 msgid "Date Sent" msgstr "Poslano dana" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" "Koristi format CCYYMMDD (st., godina, mjesec, dan), kao definiran u ISO 8601 " "za označavanje godine, mjeseca i dana usluga poslanih materijala." #: src/datasets.cpp:133 msgid "Time Sent" msgstr "Time sent oznacava vrijeme u koje je poslat neki materijal" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" "Koristi oblik HHMMSS: HHMM gdje HHMMSS se odnosi na lokalne sate, minute i " "sekunde i HHMM odnosi se na sate i minute ispred (+) ili iza (-) " "Univerzalno koordiniranom vremenu kao što je opisano u ISO 8601. To je " "vrijeme kada je usluga poslala materijal." #: src/datasets.cpp:139 msgid "Character Set" msgstr "skup znakova" #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" "Ova oznaka se sastoji od jedne ili više kontrolnih funkcija koje se koriste " "za najavu, pozivanje ili dizajniranje skupa kodiranih znakova .Kontrolne " "funkcije slijede ISO 2022 standard i mogu se sastojati od znakova kao što " "su escape kontrolni i jednog ili više grafičkih znakova." #: src/datasets.cpp:145 msgid "Unique Name Object" msgstr "Unikatno ime predmeta" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" "Ovaj znak pridonosi globalnoj jedistvenoj identifikaciji za objekte " "( predmete) specificirane u IIM, neovisnih od pružaoca i bilo koje medija " "forme. Korisnik mora biti siguran da je UNO unikatan. Predmeti sa Istim UNO-" "om su identični ( isti)." #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "Arm identifikator" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" "DataSet identificira sažetak identifikator veze Metoda (ARM) koji je opisan " "u dokumentu registriranom od pokretača ARM s IPTC i NAA organizacija." #: src/datasets.cpp:156 msgid "ARM Version" msgstr "ARM Verzija" #: src/datasets.cpp:157 msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" "Ova oznaka sadrži binarni broj koji predstavlja partikularnu verziju ARM-a " "specificiranom oznakom." #: src/datasets.cpp:170 msgid "Record Version" msgstr "snimana verzija" #: src/datasets.cpp:171 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Binarni broj identificira verziju modela podataka za razmjen , II dio, " "korištenog od strane davatelja usluga. Verzijski brojevi se dodjeljuju prema " "IPTC i NAA organizacija." #: src/datasets.cpp:175 msgid "Object Type" msgstr "Vrsta objekta" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" "Vrsta objekta se koristi za razlikovanje između različitih vrsta objekata " "unutar IIM . Prvi dio je broj koji predstavlja jezički neovisnu međunarodnu " "referencu na tip objekta iza koga je dvotačka. U drugom dijelu, ako se " "koristi, je tekst prikaz broja Vrsta objekta se sastoji od grafičkih " "znakova te razmaka ili na engleskom ili na jeziku servisa kao što je " "navedeno u " #: src/datasets.cpp:184 msgid "Object Attribute" msgstr "Atributi objekta" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" "Atribut objekta definira prirodu objekta neovisno od subjekta. Prvi dio " "broja reprezentira jezik neovisan od internacionalne reference ka atributu " "Objekta popraćeno separatorom dvotačkom." #: src/datasets.cpp:193 msgid "Object Name" msgstr "Ime objekta" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" "Koristi se kao skraćena referenca za objekt. Promjene postojećih podataka, " "kao što su ažurirane priče ili novo- isječene fotografije, trebaju biti " "identificirani u oznaci ." #: src/datasets.cpp:198 msgid "Document Title" msgstr "Naslov dokumenta" #: src/datasets.cpp:199 src/olympusmn.cpp:827 msgid "Edit Status" msgstr "Izmijeni stanje" #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "Status od objektnih podataka, prema praksi korisnika usluga" #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "Uredničke promjene" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" "Označava vrstu ažuriranja da je to objekt koji pruža prethodni objekt. Link " "na prethodni objekt je napravljen koristeći oznaku i " ", prema praksi usluga korisnika ." #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "Hitnost" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" "Određuje uredničku hitnost sadržaja, a ne nužno prioritet rukovanja " "omotnicom (vidi oznaku ).\"1\" je najhitniji, \"5\" " "normalno i \"8\" označava najmanje hitni primjerak." #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 msgid "Subject" msgstr "Tema" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "Subjektna referenca struktuirana tema subjekta" #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "Kategorija" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" "Utvrđuje predmet objekta podataka u mišljenju korisnika. Popis kategorija " "će se održavati od strane regionalnog registra, gdje je to moguće, u " "protivnom davatelj usluga" #: src/datasets.cpp:222 msgid "Supplemental Category" msgstr "Dopunske kategorije" #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" "Dopunske kategorije dodatno poboljšavaju predmet objekta podataka. Dodatna " "kategorija može uključivati ​​bilo koju od kategorija koje su priznate kao " "oznake korištene u . Inače, izbor dopunske kategorije su " "prepušteni korisniku usluga." #: src/datasets.cpp:228 src/properties.cpp:442 msgid "Supplemental Categories" msgstr "Dopunske kategorije" #: src/datasets.cpp:229 msgid "Fixture Id" msgstr "Učvršćivajući ID" #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" "Identificira objekat podataka koji je obično predvidiv. Omogućava odmah i " "pronalazak ili povratak takvog objekta (predmeta)" #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 msgid "Keywords" msgstr "Ključne riječi" #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" "Koristi za označavanje određene riječi za pronalaženje informacija. Očekuje " "se da će pružatelj različite vrste podataka koji se odnose na predmet " "koristiti istu ključnu riječ, omogućujući primanje sustava ili podsustava za " "pretraživanje kroz sve vrste podataka za slične materijale." #: src/datasets.cpp:240 msgid "Location Code" msgstr "Kod lokacije" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" "Označava kod zemlje / geografski položaj upućuje sadržajem objekta. Gdje ISO " "je uspostavio odgovarajući pozivni broj zemlje prema ISO 3166, taj će se " "koristiti kod. Kada ISO 3166 ne daju dovoljno za identifikaciju lokacije ili " "države, npr. brodovi na moru, svemir, IPTC će dodijeliti odgovarajuća tri " "znaka u skladu s odredbama ISO 3166 kako bi se izbjegao sukob." #: src/datasets.cpp:248 msgid "Location Name" msgstr "Naziv lokacije" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" "Pruža puni naziv zemlje / geografski položaj upućuen sadržajem predmeta, " "prema smjernicama pružaoca usluga." #: src/datasets.cpp:253 src/properties.cpp:376 msgid "Release Date" msgstr "Datum izdavanja" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" "Označava u obliku CCYYMMDD najraniji datum za koga pružalac usluga " "namjerava koristit objekt. Slijedi ISO 8601 standard." #: src/datasets.cpp:257 msgid "Release Time" msgstr "Vrijeme objavljivanja" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" "Označava u obliku HHMMSS:HHMM najranije vrijeme za koje pružalac usluga " "namjerava koristiti objekt. Slijedi ISO 8601 standard." #: src/datasets.cpp:261 msgid "Expiration Date" msgstr "Datum isteka" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" "Označava u obliku CCYYMMDD najkasniji datum za koga pružalac usluga " "namjerava koristit objekt. Slijedi ISO 8601 standard." #: src/datasets.cpp:265 msgid "ExpirationTime" msgstr "Vrijeme isteka" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" "Označava u obliku HHMMSS:HHMM najkasnije vrijeme za koga pružalac usluga " "namjerava koristiti objekat. Slijedi ISO 8601 standard." #: src/datasets.cpp:269 msgid "Special Instructions" msgstr "Specijalne instrukcije" #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" "Druge uredničke upute o korištenju objekta podataka, kao što su embargo i " "upozorenja." #: src/datasets.cpp:273 src/properties.cpp:439 msgid "Instructions" msgstr "Instrukcije" #: src/datasets.cpp:274 msgid "Action Advised" msgstr "Predložena akcija" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" "ukazuje na vrstu radnje koju objekt pruža prema prethodnom objektu. Link na " "prethodni objekt je napravljen koristeći oznake i " ", prema praksi usluga." #: src/datasets.cpp:279 msgid "Reference Service" msgstr "Referentne usluge" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" "Identificira uslugu identifikatora važne koverte na koju se trenutni objekt " "odnosi." #: src/datasets.cpp:283 msgid "Reference Date" msgstr "Datum reference" #: src/datasets.cpp:284 msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "Identificira datum važne omotnice na koju se konkretni objekt odnosi" #: src/datasets.cpp:286 msgid "Reference Number" msgstr "Broj reference" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "Identificira datum važne omotnice na koju se konkretni objekt odnosi" #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 msgid "Date Created" msgstr "Datum kreiranja" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" "Predstavljeno u obliku CCYYMMDD da odredi datum kreiranja intelektualnog " "sadržaja objekta podataka umjesto datuma stvaranja fizičke reprezentacije. " "Slijedi ISO 8601 standard." #: src/datasets.cpp:295 msgid "Time Created" msgstr "Vrijeme kreiranja" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" "Prikazano u obliku HHMMSS:HHMM, za određivanje sata nastanka izvora " "materijala intelektualnog sadržaja podataka objekta, umjesto nastanka " "fizikne predstave. Slijedi standard ISO 8601." #: src/datasets.cpp:301 msgid "Digitization Date" msgstr "Datum digitalizacije" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" "Zastupljeni u obliku CCYYMMDD da odredi datum kada je digitalni prikaz " "objekta podataka stvoren. Slijedi ISO 8601 standard." #: src/datasets.cpp:305 msgid "Digitization Time" msgstr "Vrijeme digitalizacije" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" "Predstavljen u obliku HHMMSS: HHMM za označavanje vremena kada je digitalni " "prikaz objekta podataka stvoren. Slijedi ISO 8601 standard." #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 msgid "Program" msgstr "Program" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "" "Identificira vrstu programa korištenu da prepozna podatke datog objekta" #: src/datasets.cpp:313 msgid "Program Version" msgstr "Verzija programa" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "" "Koristi se da se pronađe verzija programa spomenutog pod oznakom ." #: src/datasets.cpp:316 msgid "Object Cycle" msgstr "Ciklus objekta" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "Koristi se da se identificira urednički ciklus datih podataka" #: src/datasets.cpp:319 msgid "By-line" msgstr "po redu" #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "Sadrži ime kreatora objekta podataka, npr. pisac, fotograf i grafičar." #: src/datasets.cpp:323 src/properties.cpp:2103 msgid "Author" msgstr "Autor" #: src/datasets.cpp:324 msgid "By-line Title" msgstr "Po redu naslov" #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "" "Po redu naslov je naslov stvaratelja ili kreatora objekta podataka. Gdje se " "koristi, po redu naslov bi trebao slijediti po-redu tj. kako se modificira" #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 msgid "City" msgstr "Grad" #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" "Utvrđuje grad objekta podataka podrijetla sukladno smjernicama koje utvrđuje " "davatelj." #: src/datasets.cpp:333 msgid "Sub Location" msgstr "pod mjesto" #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" "Utvrđuje mjesto u gradu iz kojeg potječe objekt podataka, u skladu sa " "smjernicama koje utvrđuje davatelj usluga." #: src/datasets.cpp:337 msgid "Province State" msgstr "pokrajina drzave" #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "Identificira region/državo kao izvor u skladu s smijernicami ponuđača." #: src/datasets.cpp:341 msgid "State/Province" msgstr "Fed.jedinica/provincija" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 msgid "Country Code" msgstr "Oznaka zemlje" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" "Oznacava kod drzave/primarne lokacije gdje je intelektualno vlasnistvo " "podatka kreirano, npr. uslikana fotografija, odrzan dogadjaj. Gdje ISO ima " "uspostavljen odgovarajuci kod drzave prema ISO 3166, taj kod ce se " "iskoristiti. Kada ISO 3166 ne omogucavaju dovoljno za identifikaciju " "lokacije ili nove drzave, npr. brod na moru, svemir, IPTC ce dodijeliti " "odgovarajuci kod od tri znaka prema odredbama ISO 3166 da bi se izbjegli " "sukobi." #: src/datasets.cpp:352 msgid "Country Name" msgstr "Naziv zemlje" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" "Nudi puno, objavljivo ime države / primarno mjesto, gdje je nastalo " "intelektualno svojstvo podataka objekta u skladu s smijernicama ponuđača." #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 msgid "Country" msgstr "Zemlja" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 msgid "Transmission Reference" msgstr "Prijenosna referenca" #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" "Broj predstavlja mjesto izvornog prijenosa u skladu s praksom pružaoca " "usluga." #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 msgid "Headline" msgstr "Naslov" #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "Objavljiv unos, koji nudi sinopsis sadržaja podataka objekta." #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 msgid "Credit" msgstr "Zasluge" #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "Utvrđuje pružaoca objekta podataka, a ne nužno vlasnika / kreatora." #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source" msgstr "Izvor" #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" "Prikazuje originalnog vlasnika intelektualnog sadržaja podataka objekta. To " "može biti agencija, član agencije ili pojedinac." #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "Sadrži napomene o autorskim pravima" #: src/datasets.cpp:379 msgid "Copyright Notice" msgstr "Obavijest o autorskim pravima" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 msgid "Contact" msgstr "Osoba" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" "Identificira osobu ili organizaciju koja može dati dodatne informacije o " "pozadini objekta podataka" #: src/datasets.cpp:384 src/properties.cpp:2101 msgid "Caption" msgstr "Naslov" #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "textualni opis podataka objekta" #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 msgid "Description" msgstr "Opis" #: src/datasets.cpp:388 msgid "Writer" msgstr "pisac" #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" "Identifikacija imena osobe uključene u pisanom obliku, uređivanje ili " "ispravljanje objekt podatke ili opis / sažetak." #: src/datasets.cpp:392 msgid "Rasterized Caption" msgstr "Rasterizovani naslov" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" "Sadrži opis rasteriziranih podataka objekta upotrebljava se gdje su za napis " "zahtijevani znakovi, koji nisu bili kodirani." #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "Prikazuje boju komponenata na slici" #: src/datasets.cpp:399 msgid "Image Orientation" msgstr "Orijentacija slike" #: src/datasets.cpp:400 msgid "Indicates the layout of an image." msgstr "Prikazuje ili ukazuje na raspored na slici" #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 msgid "Language" msgstr "Jezik" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" "Opiše glavni državni jezik objekta prema dvocifrenom kodu ISO 639:1988. Ne " "određuje ili pokazuje na neki znakovni niz, mada se koristi za unutrašnje " "usmjeravanje, na primjer do različitih urednika." #: src/datasets.cpp:408 msgid "Audio Type" msgstr "Vrsta zvuka" #: src/datasets.cpp:409 msgid "Indicates the type of an audio content." msgstr "Prikazuje vrstu audio zapisa" #: src/datasets.cpp:411 msgid "Audio Rate" msgstr "Audio stopa" #: src/datasets.cpp:412 msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "Prikazuje stopu uzorkovanja u hercima na audio sadržaju" #: src/datasets.cpp:414 msgid "Audio Resolution" msgstr "Audio rezolucija" #: src/datasets.cpp:415 msgid "Indicates the sampling resolution of an audio content." msgstr "Označava rezoluciju audio sadržaja." #: src/datasets.cpp:417 msgid "Audio Duration" msgstr "Audio trajanje" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "označava trajanje audio sadržaja" #: src/datasets.cpp:420 msgid "Audio Outcue" msgstr "Kraj zvuka" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" "Identificira sadržaj kraja audio objekta podataka, u skladu sa smjernicama " "koje utvrđuje davatelj usluga." #: src/datasets.cpp:424 msgid "Preview Format" msgstr "Format pregleda" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" "Binarni broj koji predstavlja format datoteke za pregled objekta podataka. " "Format datoteke mora biti registriran s IPTC ili NAA organizacija s " "jedinstvenim broj dodijeljen na njega." #: src/datasets.cpp:429 src/properties.cpp:1276 msgid "Preview Version" msgstr "Pregled verzije" #: src/datasets.cpp:430 msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" "Binarni broj, koji predstavlja određenu verziju vrste datoteke predpregleda " "podataka objekta, koji su određeni u oznaci ." #: src/datasets.cpp:433 msgid "Preview Data" msgstr "Pregled dokumenta" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "Binarni pregled slike dokumenta" #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "(Nevažeće)" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 msgid "Unknown dataset" msgstr "Nepoznat skup podataka" #: src/error.cpp:55 msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "Greška %0: arg2=%2, arg3=%3, arg1=%1." #: src/error.cpp:56 msgid "Success" msgstr "Uspjeh" #: src/error.cpp:59 msgid "This does not look like a %1 image" msgstr "Ovo ne izgleda kao %1 slika" #: src/error.cpp:60 msgid "Invalid dataset name `%1'" msgstr "Nevažeći skup podataka pod imenom `%1'" #: src/error.cpp:61 msgid "Invalid record name `%1'" msgstr "Nevažeći naziv zapisa `%1'" #: src/error.cpp:62 msgid "Invalid key `%1'" msgstr "Pogrešan ključ `%1'" #: src/error.cpp:63 msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "nevažeće ima oznake ili ifdId `%1', ifdId %2" #: src/error.cpp:64 msgid "Value not set" msgstr "Vrijednost nije postavljena" #: src/error.cpp:65 msgid "%1: Failed to open the data source: %2" msgstr "%1: Neuspjelo otvaranje izvora podataka: %2" #: src/error.cpp:66 msgid "%1: Failed to open file (%2): %3" msgstr "%1: Neuspjelo otvaranje daotteke (%2): %3" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "F%1 ajl sadrži podatak koji ima nepoznatu sliku" #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "Memorija sadrzi podatak sa nepoznatim tipom slike" #: src/error.cpp:69 msgid "Image type %1 is not supported" msgstr "Slika vrste %1 nije podržana" #: src/error.cpp:70 msgid "Failed to read image data" msgstr "Nije uspio očitati sliku podatka" #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "Ovo ne izgleda kao JPEG slika" #: src/error.cpp:72 msgid "%1: Failed to map file for reading and writing: %2" msgstr "%1 neuspjelo otvaranje fajla za čitanje i pisanje: %2" #: src/error.cpp:73 msgid "%1: Failed to rename file to %2: %3" msgstr "%1: Neuspjelo preimenovanje fajla kao %2: %3" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "%1: Transfer nije uspio: %2" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "Transfer memorije nije uspio %1" #: src/error.cpp:76 msgid "Failed to read input data" msgstr "Neuspješno čitanje ulaznog dokumenta" #: src/error.cpp:77 msgid "Failed to write image" msgstr "Neuspjelo pisanje slike" #: src/error.cpp:78 msgid "Input data does not contain a valid image" msgstr "Ulazni dokument ne sadrzi validnu sliku" #: src/error.cpp:79 msgid "Invalid ifdId %1" msgstr "Nevažeći ifdId %1" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "Entry::setValue: Vrijednost prevelika (tag=%1, size=%2, requested=%3)" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" "Entry::setDataArea: Vrijednost prevelika (tag=%1, size=%2, requested=%3)" #: src/error.cpp:82 msgid "Offset out of range" msgstr "Pozicija izvan opsega" #: src/error.cpp:83 msgid "Unsupported data area offset type" msgstr "Nepodržan tip pomaka područja podataka" #: src/error.cpp:84 msgid "Invalid charset: `%1'" msgstr "Pogrešan skup znakova: `%1'" #: src/error.cpp:85 msgid "Unsupported date format" msgstr "Nepodržan format datuma" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "Nepodržan format vremena" #: src/error.cpp:87 msgid "Writing to %1 images is not supported" msgstr "Pisanje na %1 slike nije podržano" #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "Postavljanje %1 i %2 slike nije podrzano" #: src/error.cpp:89 msgid "This does not look like a CRW image" msgstr "Ovo ne izgleda kao CRW slika" #: src/error.cpp:90 msgid "%1: Not supported" msgstr "%1: nije podržano" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "Nema informacije o imenskom prostoru za XMP prefix `%1'" #: src/error.cpp:92 msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "" "nema prefiksa registrovanog u prostoru za ime %2 potrebno za stazu svojstava " "%1" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "Veličina %1 JPEG segmenta je veća od 65535 bajtova" #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "Nepodržan Xmpdatum %1 tipa %2" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "nepodržan XMP node %1 sa opt=%2" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "XMP Toolkit greška %1: %2" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "Neuspjelo ocitavanje Lang Alt property %1 with opt=%2" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "neuspjelo očitavanje Lang Alt qualifier %1 with opt=%2" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "neuspjelo šifriranje Lang Alt property %1" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "neuspjelo odrediti ime iz %1, namespace %2" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "Imenski prostor sheme %1 nije registrovan s alatom XMP" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "nema imena registrovanog sa prefixom `%1'" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" "Aliases nisu podržani. Molimo pošaljite ovaj XMP paket ahuggel@gmx.net '% " "1', '% 2', '% 3'" #: src/error.cpp:104 msgid "Invalid XmpText type `%1'" msgstr "Nevaććci XmpText tip `%1'" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "TIFF direktorij %1 ima previše elemenata" #: src/error.cpp:106 msgid "Multiple TIFF array element tags %1 in one directory" msgstr "Visestruki TIFF element niza oznacava %1 u jednom imeniku" #: src/error.cpp:107 msgid "TIFF array element tag %1 has wrong type" msgstr "TIFF array element oznaka %1 ima pogrešnu vrstu" #: src/error.cpp:108 msgid "%1 has invalid XMP value type `%2'" msgstr "%1 ima pogrešnu XMP vvrijednost tipa `%2'" #: src/exiv2.cpp:213 #, fuzzy msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "Autorsko pravo (C) 2004-2013 Andreas Huggel\n" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" "Ovaj program je slobodan softver, možete ga redistribuirati i / ili\n" "mijenjati pod uvjetima GNU Opće javne licence\n" "kako ju je objavio Free Software Foundation; inačica 2\n" "dozvole, ili (po svom izboru) bilo koje kasnije verzije.\n" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" "Ovaj program se distribuira u nadi da će biti koristan, ali NEMA NIKAKVIH " "GARANCIJA; čak ni implicitnih garancija za UPOTREBNU VREDNOST ili NAMENE U " "ODREĐENE SVRHE. Pogledajte Gnuovu Opštu javnu licencu ( GNU General Public " "License) za više informacija.\n" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" "Trebali bi dobiti primjerak GNU Opće javne\n" "Licence uz ovaj program, ako ne, pisati besplatno\n" "Software Foundation, Inc, 51 Franklin Street, petom katu,\n" "Boston, MA 02110-1301 Sjedinjene Američke Države\n" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "Upotreba:" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" "[ opcije ] [ akcije ] datoteka ...\n" "\n" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "rukovanje the Exif metadata slikama\n" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" "\n" "Akcije:\n" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" " ad | adjust Podesi Exif vremenske oznake prema zadanom vremenu. Ova " "radnja\n" " zahtijeva " "barem jednu od opcija -a,-Y,-O ili -D.\n" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr " pr | print Prikaz metapodataka slike.\n" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr " rm | delete Brisanje metapodataka slike iz datoteke.\n" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" " in | insert Umetni metapodatak iz odgovarajućih *.exv datoteka.\n" " Koristi -S " "opciju da promijeniš nastavak ulaznih datoteka.\n" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" " ex | izvaditi Extract metapodatak u *.exv, *.xmp i minijaturne slikovne " "podatke.\n" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" " mv | preimenuj Rename podatak i/ili postavi vremenski pecat podatka prema\n" " Exif kreira vremenski pecat. Format imena datoteke moze se " "postaviti sa\n" " -r format, opcije vremenskog pecata se kontrolisu sa -t i -" "T.\n" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" " mo | modify Primjeni komande da izmijeniš (dodaš, podesiš, izbrišeš) Exif " "i \n" " IPTC metapodatak slike ili " "postavi JPEG komentar.\n" " Zahtijeva opcije -c,-m ili " "-M.\n" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" " fi | fixiso Kopiraj ISO podešavanje iz Nikon Makernote u običnu\n" "Exif oznaku.\n" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" " fc | fixcom Pretvori UNICODE Exif komentar korisnika u UCS-2. Navedeno \n" " znakovno " "kodiranje može biti određeno sa -n opcijom.\n" #: src/exiv2.cpp:262 msgid "" "\n" "Options:\n" msgstr "" "\n" "Opcije:\n" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr " -h Prikaži ovu pomoć i izađi\n" #: src/exiv2.cpp:264 msgid " -V Show the program version and exit.\n" msgstr " -V Prikaži verziju programa i izađi.\n" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr " -v Budi preopsiran tokom trajanja programa.\n" #: src/exiv2.cpp:266 msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr "" " -q Utišati poruke upozorenja ili greski prilikom pokretanja programa " "(quiet).\n" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" " -Q lvl Postavi nivo bilježenja na d(ebug), i(nfo), w(arning), e(rror) " "ili m(ute).\n" #: src/exiv2.cpp:268 msgid " -b Show large binary values.\n" msgstr " -b Prikazati velike binarne velicine\n" #: src/exiv2.cpp:269 msgid " -u Show unknown tags.\n" msgstr " -u Prikaži nepoznate oznake.\n" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr " -g key Samo izlazne informacije za ovaj kljuc (grep)\n" #: src/exiv2.cpp:271 #, fuzzy msgid " -K key Only output info for this key (exact match).\n" msgstr " -g key Samo izlazne informacije za ovaj kljuc (grep)\n" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" " -n enc Skup znakova da se koristi za dekodiranje UNICODE Exif korisnickih " "komentara.\n" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr " -k Sačuvaj vremenske oznake datoteke (zadrži).\n" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" " -t Također podesi vremensku oznaku datoteke u 'Preimenuj' akciji " "(naglasenije od -k).\n" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" " -T Samo podesi vremensku oznaku u 'Preimenuj' akciji, ne preimenuj\n" " datoteku " "(naglašenije od -k).\n" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr "" " -f Ne zahtijevaj prije zamjene sa već postojećom datotekom (na silu).\n" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr " -F Ne zahtijevaj prije preimenovanja datoteka (Na silu).\n" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" " -a time Podešavanje vremena u formatu [-]HH[:MM[:SS]]. Ova opcija\n" " je " "samo upotrijebljiva sa 'podesi' akcijom.\n" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr " -Y yrs Podešavanje godine sa 'podesi' akcijom.\n" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr " -O mon Podešavanje mjeseca sa 'podesi' akcijom.\n" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr " -D day Podešavanje dana sa 'podesi' akcijom.\n" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr " -p mode Štampaj režim za 'print' akciju. Mogući režimi su:\n" #: src/exiv2.cpp:285 msgid " s : print a summary of the Exif metadata (the default)\n" msgstr " s: Ispisi pregled Exif metapodataka (default)\n" #: src/exiv2.cpp:286 msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr "" " a: print Exif, IPTC i XMP metapodatak (kratica za -Pkyct)\n" #: src/exiv2.cpp:287 msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr " t: interepretiran (preveden) Exif podatak (-PEkyct)\n" #: src/exiv2.cpp:288 msgid " v : plain Exif data values (-PExgnycv)\n" msgstr " v: običan Exif podatak vrijednosti (-PExgnycv)\n" #: src/exiv2.cpp:289 msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr " h : heksadekadni prikaz Exif podataka (-PExgnycsh)\n" #: src/exiv2.cpp:290 msgid " i : IPTC data values (-PIkyct)\n" msgstr " i : IPTC vrijednosti podataka (-PIkyct)\n" #: src/exiv2.cpp:291 msgid " x : XMP properties (-PXkyct)\n" msgstr " x : XMP svojstva (-PXkyct)\n" #: src/exiv2.cpp:292 src/exiv2.cpp:317 msgid " c : JPEG comment\n" msgstr " c : JPEG komentar\n" #: src/exiv2.cpp:293 msgid " p : list available previews\n" msgstr " p : lista dostupnih pregleda\n" #: src/exiv2.cpp:294 #, fuzzy msgid " S : print structure of image\n" msgstr " v : obična vrijednost podataka\n" #: src/exiv2.cpp:295 #, fuzzy msgid " X : extract XMP from image\n" msgstr " X : XMP svojstva\n" #: src/exiv2.cpp:296 msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" " -P flgs Ispis zastave za finu kontrolu oznaku liste ('print' akcije)\n" #: src/exiv2.cpp:297 msgid " E : include Exif tags in the list\n" msgstr " E : uključuje Exif oznake u listi\n" #: src/exiv2.cpp:298 msgid " I : IPTC datasets\n" msgstr " I : IPTC skupa podataka\n" #: src/exiv2.cpp:299 msgid " X : XMP properties\n" msgstr " X : XMP svojstva\n" #: src/exiv2.cpp:300 msgid " x : print a column with the tag number\n" msgstr " x: isprintati kolonu sa oznacenim brojem\n" #: src/exiv2.cpp:301 msgid " g : group name\n" msgstr " g : grupno ime\n" #: src/exiv2.cpp:302 msgid " k : key\n" msgstr " k : ključ\n" #: src/exiv2.cpp:303 msgid " l : tag label\n" msgstr " l : labela oznake\n" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr " n : ime oznake\n" #: src/exiv2.cpp:305 msgid " y : type\n" msgstr " y : vrsta\n" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr " c : broj komponenata\n" #: src/exiv2.cpp:307 msgid " s : size in bytes\n" msgstr " s : velilčina u bajtovima\n" #: src/exiv2.cpp:308 msgid " v : plain data value\n" msgstr " v : obična vrijednost podataka\n" #: src/exiv2.cpp:309 msgid " t : interpreted (translated) data\n" msgstr " t : tumačenje ( prevod) podatka\n" #: src/exiv2.cpp:310 msgid " h : hexdump of the data\n" msgstr " h : hexdump podatka\n" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr " -d tgt izbrisati cilj za \"delete \" akciju. Mogući ciljevi su :\n" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr " a : svi podržani metapodaci (podrazumijevano)\n" #: src/exiv2.cpp:313 msgid " e : Exif section\n" msgstr " e :Exif sekcija\n" #: src/exiv2.cpp:314 msgid " t : Exif thumbnail only\n" msgstr " t : Exif thumbnail samo\n" #: src/exiv2.cpp:315 msgid " i : IPTC data\n" msgstr " i : IPTC podatak\n" #: src/exiv2.cpp:316 msgid " x : XMP packet\n" msgstr " x : XMP paket\n" #: src/exiv2.cpp:318 msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" " -i tgt Ubacuje cilj(eve) za radnju 'ubaci'. Moguci ciljevi su\n" " Iste kao one za -d opciju, plus modifikator.\n" " X : Ubaci metapodatak iz XMP vezane datoteke .xmp\n" " Samo JPEG slicice mogu biti ubacene, trebaju biti imenovane\n" " -thum.jpg\n" #: src/exiv2.cpp:323 msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" " -e tgt Cilj(evi) izdvajanja za radnju 'izdvajanje'. Moguci ciljevi\n" " su isti kao oni za -d opciju, plus cilj za izdvajanje\n" " pregled slike i modifikator da generira XMP vezanu datoteku:\n" " p[[, ...]] : Izdvojeni pregled slika.\n" " X : Izdvoji metapodatak Xmp vezanom podatku .xmp\n" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" " -r fmt format datoteke za akciju preimenovanja.\n" " Format stringa slijedi strftime. Naredne ključne riječi su " "podržane:\n" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr " :basename: - originalna datoteka bez ekstenzija\n" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr "" " :dirname: - naziv foldera koji sadrži originalnu datoteku\n" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr " :parentname: - ime foldera iznad\n" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr " odgovarajuće ime dokumenta je formata " #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr " -c txt JPEG napisi znakovni komentar koji ces postaviti na slici.\n" #: src/exiv2.cpp:336 msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" " -m file Komandna datoteka za izmjenu akcije.Format za komande je\n" "set|add|del [[] ].\n" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" " -M cmd komandna linija za akciju modificiranja.\n" " Format za komandu je isti kao linije kod komande fajla.\n" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" " -l-dir lokacija(direktorij) za fajlove da budu ubačeni od ili izdvojenii " "u.\n" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" " -S.suf koristi sufikse .suf za izvorne datoteke za komandu ubacivanja.\n" "\n" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 msgid "Option" msgstr "Opcija" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "traži argument\n" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "Neprepoznata opcija" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "getopt je povratio neočekivani znak" #: src/exiv2.cpp:410 msgid "Invalid argument" msgstr "Nevažeći argument" #: src/exiv2.cpp:434 #, fuzzy msgid "Invalid regexp" msgstr "Nevažeći argument" #: src/exiv2.cpp:473 src/exiv2.cpp:526 msgid "Ignoring surplus option" msgstr "Ignorisana viška opcija" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "nije kompatibilno sa predhodnom opcijom\n" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "Ignorisana viška opcija -a" #: src/exiv2.cpp:504 msgid "Error parsing -a option argument" msgstr "greška u gramatickom rasclanjivanju - opcijski argument" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "opcija -a nije kompatibilna sa predhodnom opcijom\n" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "Greška u analizi" #: src/exiv2.cpp:535 msgid "option argument" msgstr "opcija argumenta" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "Neprepoznat nacin ispisa" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "ignorisanje viška opcije -p" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "opcija -p nije kompaktibilna sa predhodnom opcijom\n" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "Neprepoznato ispisivanje stavke" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "ignorisanje viška opcije -p" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "Opcija -P nije kompatibilna sa predhodnom opcijom\n" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "Opcija -d nije kompatibilna sa predhodnom opcijom\n" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "Opcija -e nije kompatibilna sa predhodnom opcijom\n" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "Opcija -i nijekompatibilna s prethodnom opcijom\n" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "Akcija koja je prilagodjena nije kompatibilna sa datom opcijom\n" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "Akcija ispisa nije kompatibilna sa datom opcijom\n" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "Akcija brisanja nije kompatibilna sa datom opcijom\n" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "Akcija izdvajanja nije kompatibilna sa datom opcijom\n" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "Akcija umetanja nije kompatibilna sa datom opcijom\n" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "Akcija preimenovanja nije kompatibilna sa datom opcijom\n" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "Akcija izmjene nije kompatibilna sa datom opcijom\n" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "Akcija prepravke iso nije kompatibilna sa datom opcijom\n" #: src/exiv2.cpp:824 msgid "Action fixcom is not compatible with the given options\n" msgstr "Akcija prepravljanja com nije kompatibilna sa datom opcijom\n" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "Akcija mora biti navedena\n" #: src/exiv2.cpp:904 msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "Akcija podešavanja zahtijeva barem jednu -a, -Y, -O ili -D opciju\n" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "Akcija izmjene zahtijeva barem -c, -m ili -M opciju\n" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "Barem jedna datoteka je potrebna\n" #: src/exiv2.cpp:920 msgid "Error parsing -m option arguments\n" msgstr "Greška kod raščlanjivanja argumenata -m opcije.\n" #: src/exiv2.cpp:927 msgid "Error parsing -M option arguments\n" msgstr "Greška kod raščlanjivanja argumenata -M opcije.\n" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "" "-l opcija moze biti korištena samo s akcijama za ejkstrakciju ili umetanje\n" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "-S opcija moze biti koristena sa akcijom umetanja\n" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "-t opcija moze biti koristena sa akcijom preimenovanja\n" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "-T opcija moze biti koristena sa akcijom preimenovanja\n" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "Neprepoznato " #: src/exiv2.cpp:1039 msgid "target" msgstr "odredište" #: src/exiv2.cpp:1065 msgid "Invalid preview number" msgstr "Nevazeći broj pregleda" #: src/exiv2.cpp:1097 msgid "Failed to open command file for reading\n" msgstr "neuspjelo otvaranje datoteke naredbi za čitanje\n" #: src/exiv2.cpp:1110 msgid "line" msgstr "linija" #: src/exiv2.cpp:1133 msgid "-M option" msgstr "-M opcija" #: src/exiv2.cpp:1180 #, fuzzy msgid "Invalid command line:" msgstr "Nevažeća datoteka naredbi" #: src/exiv2.cpp:1187 msgid "Invalid command" msgstr "Nevažeća komanda" #: src/exiv2.cpp:1219 msgid "Invalid key" msgstr "Nevažeća tipka" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "Nevažeća datoteka naredbi" #: src/fujimn.cpp:62 msgid "Soft mode 1" msgstr "Meki režim 1" #: src/fujimn.cpp:63 msgid "Soft mode 2" msgstr "Meki režim 2" #: src/fujimn.cpp:65 msgid "Hard mode 1" msgstr "Čvrsti režim 1" #: src/fujimn.cpp:66 msgid "Hard mode 2" msgstr "Čvrsti režim 2" #: src/fujimn.cpp:74 msgid "Fluorescent (daylight)" msgstr "Flourescentno (dnevna svjetlost)" #: src/fujimn.cpp:75 msgid "Fluorescent (warm white)" msgstr "Flourescentno ( toplo bijelo)" #: src/fujimn.cpp:76 msgid "Fluorescent (cool white)" msgstr "Flourescentno( hladno bijela )" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 msgid "Incandescent" msgstr "Užareno" #: src/fujimn.cpp:87 src/fujimn.cpp:88 msgid "None (black & white)" msgstr "Ništa ( crna i bijela )" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 msgid "Red-eye reduction" msgstr "Ispravka crvenih očiju" #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 msgid "Night scene" msgstr "Noćna scena" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 msgid "Program AE" msgstr "Program AE" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "Prirodno svjetlo" #: src/fujimn.cpp:122 msgid "Anti-blur" msgstr "nezamagljeno" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 msgid "Sunset" msgstr "Zalazak sunca" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 msgid "Museum" msgstr "Muzej" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 msgid "Party" msgstr "Žurka" #: src/fujimn.cpp:126 msgid "Flower" msgstr "Cvijet" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "Tekst" #: src/fujimn.cpp:128 msgid "Natural light & flash" msgstr "Prirodno svjetlo i bljesak" #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 msgid "Aperture-priority AE" msgstr "apertura- prioritet AE" #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 msgid "Shutter speed priority AE" msgstr "Prioritet brzine zatvarača AE" #: src/fujimn.cpp:142 msgid "No flash & flash" msgstr "Bez bljeska i bljesak" #: src/fujimn.cpp:148 msgid "Chrome" msgstr "Hrom" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 msgid "Wide" msgstr "Širok" #: src/fujimn.cpp:160 msgid "F0/Standard" msgstr "F0/Standard" #: src/fujimn.cpp:161 msgid "F1/Studio portrait" msgstr "F1/Studio portrait" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "F2/Fujichrome" #: src/fujimn.cpp:163 msgid "F3/Studio portrait Ex" msgstr "F3/Studio portrait Ex" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "F4/Velvia" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "Auto (100-400%)" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "Neobrađen" #: src/fujimn.cpp:171 msgid "Standard (100%)" msgstr "Standard (100%)" #: src/fujimn.cpp:172 msgid "Wide mode 1 (230%)" msgstr "Široki režim 1 (230%)" #: src/fujimn.cpp:173 msgid "Wide mode 2 (400%)" msgstr "Široki režim 2 (400%)" #: src/fujimn.cpp:174 msgid "Film simulation mode" msgstr "Režim filmske simulacije" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 msgid "Version" msgstr "Verzija" #: src/fujimn.cpp:180 msgid "Fujifilm Makernote version" msgstr "Fujifilm zapis nota verzija" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" "Ovaj broj je unikatan, i sadrži datum nastanka, ali nije isti broj kao onaj " "na kameri" #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 msgid "Image quality setting" msgstr "Postavka kvaliteta slike" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 msgid "Color" msgstr "Boja" #: src/fujimn.cpp:196 msgid "Chroma saturation setting" msgstr "zasićenje kroma podešavanje" #: src/fujimn.cpp:198 msgid "Tone" msgstr "Ton" #: src/fujimn.cpp:202 msgid "Flash firing mode setting" msgstr "podešavanje bljeska" #: src/fujimn.cpp:204 msgid "Flash Strength" msgstr "Postavke blica" #: src/fujimn.cpp:205 msgid "Flash firing strength compensation setting" msgstr "podešavanje kompenzacije jačine bljeska" #: src/fujimn.cpp:208 msgid "Macro mode setting" msgstr "Makro mode postavljanje" #: src/fujimn.cpp:211 msgid "Focusing mode setting" msgstr "Postavljanje moda fokusiranja" #: src/fujimn.cpp:216 msgid "Slow Sync" msgstr "Spora sinhronizacija" #: src/fujimn.cpp:217 msgid "Slow synchro mode setting" msgstr "Postavke sporog sinhro moda" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 msgid "Picture Mode" msgstr "Režim slike" #: src/fujimn.cpp:220 msgid "Picture mode setting" msgstr "Postavka režima slike" #: src/fujimn.cpp:226 msgid "Continuous shooting or auto bracketing setting" msgstr "Neprekidno snimanje i automatsko postavljanje" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 msgid "Sequence Number" msgstr "Broj sekvence" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 msgid "Sequence number" msgstr "Broj sekvence" #: src/fujimn.cpp:234 msgid "FinePix Color" msgstr "FinePix bojeolor" #: src/fujimn.cpp:235 msgid "Fuji FinePix color setting" msgstr "Postavka boja Fuji FinePix" #: src/fujimn.cpp:237 msgid "Blur Warning" msgstr "Zamagljena upozorenja" #: src/fujimn.cpp:238 msgid "Blur warning status" msgstr "Zamagljeni status upozorenja" #: src/fujimn.cpp:240 msgid "Focus Warning" msgstr "Upozorenje fokusa" #: src/fujimn.cpp:241 msgid "Auto Focus warning status" msgstr "Status greške auto fokusa" #: src/fujimn.cpp:243 msgid "Exposure Warning" msgstr "Upozorenje izloženosti" #: src/fujimn.cpp:244 msgid "Auto exposure warning status" msgstr "Status upozorenja autoekspozicije" #: src/fujimn.cpp:246 msgid "Dynamic Range" msgstr "dinamički raspon" #: src/fujimn.cpp:247 msgid "Dynamic range" msgstr "dinamički raspon" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 msgid "Film Mode" msgstr "Filmski režim" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 msgid "Film mode" msgstr "Filmski režim" #: src/fujimn.cpp:252 msgid "Dynamic Range Setting" msgstr "izmjena dinamičkog raspona" #: src/fujimn.cpp:253 msgid "Dynamic range settings" msgstr "Izmjena dinamičkog raspona" #: src/fujimn.cpp:255 msgid "Development Dynamic Range" msgstr "Dinamički opseg razvoja" #: src/fujimn.cpp:256 msgid "Development dynamic range" msgstr "Razvoj dinamickog raspona" #: src/fujimn.cpp:258 msgid "Minimum Focal Length" msgstr "Minimalna žižna daljina" #: src/fujimn.cpp:259 msgid "Minimum focal length" msgstr "Minimalna žižna daljina" #: src/fujimn.cpp:261 msgid "Maximum Focal Length" msgstr "Maksimalna žižna daljina" #: src/fujimn.cpp:262 msgid "Maximum focal length" msgstr "Maksimalna žižna daljina" #: src/fujimn.cpp:264 #, fuzzy msgid "Maximum Aperture at Minimum Focal" msgstr "maximalna apertura na minimalnom fokusu" #: src/fujimn.cpp:265 #, fuzzy msgid "Maximum aperture at minimum focal" msgstr "Maksimalna blenda na minimalnoj žižnoj daljini" #: src/fujimn.cpp:267 #, fuzzy msgid "Maximum Aperture at Maximum Focal" msgstr "Maksimalna blenda na maksimalnoj žižnoj daljini" #: src/fujimn.cpp:268 #, fuzzy msgid "Maximum aperture at maximum focal" msgstr "blenda na maksimalnoj žižnoj daljini" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 msgid "File Source" msgstr "Izvor datoteke" #: src/fujimn.cpp:271 msgid "File source" msgstr "Izvor datoteke" #: src/fujimn.cpp:273 msgid "Order Number" msgstr "Redni broj" #: src/fujimn.cpp:274 msgid "Order number" msgstr "Redni broj" #: src/fujimn.cpp:276 msgid "Frame Number" msgstr "Broj kadra" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 msgid "Frame number" msgstr "Broj kadra" #: src/fujimn.cpp:281 msgid "Unknown FujiMakerNote tag" msgstr "nepoznata fuji oznaka" #: src/minoltamn.cpp:56 msgid "Natural Color" msgstr "Prirodna boja" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 msgid "Vivid Color" msgstr "Živopisne boje" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 msgid "Solarization" msgstr "Solarizacija" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "AdobeRGB" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 msgid "Natural" msgstr "Prirodan" #: src/minoltamn.cpp:64 msgid "Natural sRGB" msgstr "Prirodna sRGB" #: src/minoltamn.cpp:65 msgid "Natural+ sRGB" msgstr "Prirodna+ sRGB" #: src/minoltamn.cpp:67 msgid "Evening" msgstr "Veče" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 msgid "Night Portrait" msgstr "Noćni portret" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 msgid "Super Fine" msgstr "Super fino" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 msgid "Extra Fine" msgstr "Ekstra fino" #: src/minoltamn.cpp:90 msgid "Makernote Version" msgstr "Makernote verzija" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "niz 'MLT0'(nije zaključen nulom)" #: src/minoltamn.cpp:93 msgid "Camera Settings (Std Old)" msgstr "Postavke aparata (standardne stari)" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "Standardne postavke aparata (Stari modeli poput D5, D7, S304, i S404)" #: src/minoltamn.cpp:96 msgid "Camera Settings (Std New)" msgstr "Postavke aparata (standardne novi)" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "Standardne postavke aparata (Stari modeli poput D7u, D7i, i D7hi)" #: src/minoltamn.cpp:99 msgid "Camera Settings (7D)" msgstr "Postavke aparata (7D)" #: src/minoltamn.cpp:100 msgid "Camera Settings (for Dynax 7D model)" msgstr "Postavke aparata (za Dynax 7D model)" #: src/minoltamn.cpp:102 msgid "Image Stabilization Data" msgstr "Slikovni stabilizacijski podaci" #: src/minoltamn.cpp:103 msgid "Image stabilization data" msgstr "Slikovni stabilizacijski podaci" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "WB Info A100" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "Informacija o balansu bijelog za Sony DSLR-A100" #: src/minoltamn.cpp:111 msgid "Compressed Image Size" msgstr "Zbijena velicina slike" #: src/minoltamn.cpp:112 msgid "Compressed image size" msgstr "Stisnuta veličina slike" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "Jpeg sličica640x480 piksela" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 msgid "Thumbnail Offset" msgstr "Pozicija sličice" #: src/minoltamn.cpp:118 msgid "Offset of the thumbnail" msgstr "Pozicija sličice" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 msgid "Thumbnail Length" msgstr "Dužina sličice" #: src/minoltamn.cpp:121 msgid "Size of the thumbnail" msgstr "Veličina sličice" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 msgid "Scene Mode" msgstr "Režim scene" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 msgid "Color Mode" msgstr "Režim boja" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 msgid "Color mode" msgstr "Režim boja" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 msgid "Image Quality" msgstr "Kvalitet slike" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "0x0103" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 msgid "Flash Exposure Compensation" msgstr "Kompenzacija izloženosti blica" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 msgid "Flash exposure compensation in EV" msgstr "kompenzacija izloženosti blica u EV" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 msgid "Teleconverter Model" msgstr "Telekonverter model" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "RAW+JPG zapis" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "RAW i JPEG fajlovi snimljeni" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 msgid "Zone Matching" msgstr "Zonsko uklapanje" #: src/minoltamn.cpp:154 msgid "Zone matching" msgstr "Zonsko uklapanje" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 msgid "Color temperature" msgstr "Temperatura boje" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 msgid "Lens ID" msgstr "Id objektiva" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 msgid "Lens identifier" msgstr "identifikator objekta" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 msgid "Color Compensation Filter" msgstr "Filter za kompenzaciju boja" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "" "Filter kompenzacije boja: negativna je zelena, pozitivna purpurnocrvena" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 msgid "White Balance Fine Tune" msgstr "Fino podešavanje balansa bijelog" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 msgid "White Balance Fine Tune Value" msgstr "Vrijednost finog podešavanja balansa bijelog" #: src/minoltamn.cpp:168 msgid "Image Stabilization A100" msgstr "Stabilizacija slike A100" #: src/minoltamn.cpp:169 msgid "Image Stabilization for the Sony DSLR-A100" msgstr "Stabilizacija slike za Sony DSLR-A100" #: src/minoltamn.cpp:173 msgid "Camera Settings (5D)" msgstr "Postavke fotoaparata(5D)" #: src/minoltamn.cpp:174 msgid "Camera Settings (for Dynax 5D model)" msgstr "Postavke fotoaparata (za Dynax 5D model)" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "Prikaz IM" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 msgid "PrintIM information" msgstr "ocitavanjeIM informacija" #: src/minoltamn.cpp:183 msgid "Camera Settings (Z1)" msgstr "Postavke fotoaparata (Z1)" #: src/minoltamn.cpp:184 msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "Postavke fotoaparata (za Z1, DImage X, i F100 modele)" #: src/minoltamn.cpp:188 msgid "Unknown Minolta MakerNote tag" msgstr "Nepoznata Minolta MakerNote oznaka" #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 msgid "Aperture priority" msgstr "Prednost otvora" #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "Prednost zatvarača" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 msgid "Fill flash" msgstr "Punjenje bljeska" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 msgid "Rear flash sync" msgstr "rijetki bljesak" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 msgid "Wireless" msgstr "Bežična mreža" #: src/minoltamn.cpp:224 msgid "Fluorescent 2" msgstr "Fluorescent 2" #: src/minoltamn.cpp:231 msgid "Full size" msgstr "Puna veličina" #: src/minoltamn.cpp:243 msgid "Super fine" msgstr "Super glatak" #: src/minoltamn.cpp:247 msgid "Extra fine" msgstr "extra glatak" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 msgid "Single Frame" msgstr "Sam okvir" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 msgid "Self-timer" msgstr "Odbrojavač" #: src/minoltamn.cpp:255 msgid "Bracketing" msgstr "Podupiranje" #: src/minoltamn.cpp:256 msgid "Interval" msgstr "Interval" #: src/minoltamn.cpp:257 msgid "UHS continuous" msgstr "UHS stalni" #: src/minoltamn.cpp:258 msgid "HS continuous" msgstr "HS stalni" #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 msgid "Multi-segment" msgstr "Multi-segment" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 msgid "Center weighted average" msgstr "Centar prosječnog opterećenja" #: src/minoltamn.cpp:271 msgid "Electronic magnification" msgstr "Elektronsko povećanje" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 msgid "Top" msgstr "Vrh" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 msgid "Top-right" msgstr "Gore - desno" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 msgid "Bottom-right" msgstr "Dolje - desno" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 msgid "Bottom" msgstr "Dno" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 msgid "Bottom-left" msgstr "Dolje - lijevo" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 msgid "Top-left" msgstr "Gore - lijevo" #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 msgid "Hard" msgstr "Jak" #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 msgid "Soft" msgstr "Umekšan" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 msgid "Night portrait" msgstr "Noćni portret" #: src/minoltamn.cpp:315 msgid "Sports action" msgstr "Sportska akcija" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "Vrijeme isteka filma" #: src/minoltamn.cpp:349 msgid "Standard form" msgstr "Standardna forma" #: src/minoltamn.cpp:350 msgid "Data form" msgstr "FDorma podataka" #: src/minoltamn.cpp:355 msgid "Natural color" msgstr "Priordne boje" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 msgid "Black and white" msgstr "Crno-bijelo" #: src/minoltamn.cpp:357 msgid "Vivid color" msgstr "Žive boje" #: src/minoltamn.cpp:364 msgid "No zone" msgstr "Nema zone" #: src/minoltamn.cpp:365 msgid "Center zone (horizontal orientation)" msgstr "Centar zona ( horizontalna orjentacija)" #: src/minoltamn.cpp:366 msgid "Center zone (vertical orientation)" msgstr "Centar zona ( vertikalna orjentacija)" #: src/minoltamn.cpp:367 msgid "Left zone" msgstr "Lijeva zona" #: src/minoltamn.cpp:368 msgid "Right zone" msgstr "Desna zona" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 msgid "Auto focus" msgstr "Auto fokus" #: src/minoltamn.cpp:379 msgid "Wide focus (normal)" msgstr "Širok fokus (normalni)" #: src/minoltamn.cpp:380 msgid "Spot focus" msgstr "tačka fokusa" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 msgid "Exposure" msgstr "Ekspozicija" #: src/minoltamn.cpp:388 msgid "Filter" msgstr "Filter" #: src/minoltamn.cpp:393 msgid "Not embedded" msgstr "Nije ugnježden" #: src/minoltamn.cpp:394 msgid "Embedded" msgstr "Ugnježden" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "Tekst + ID#" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "ADI (Napredna integracija udaljenosti)" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "Pre-blic TTl" #: src/minoltamn.cpp:410 msgid "Manual flash control" msgstr "ručna kontrola bljeska" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 msgid "Exposure Mode" msgstr "Režim ekspozicije" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 msgid "Flash mode" msgstr "Mod sa blicom" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 msgid "Drive mode" msgstr "Mod vožnje" #: src/minoltamn.cpp:512 msgid "ISO Value" msgstr "ISO Vrijednost" #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 msgid "Exposure Time" msgstr "Dužina ekspozicije" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 msgid "FNumber" msgstr "FBroj" #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 msgid "The F-Number" msgstr "F- broj" #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 msgid "Macro Mode" msgstr "Makro režim" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 msgid "Exposure Compensation" msgstr "Kompenzacija izloženosti" #: src/minoltamn.cpp:529 msgid "Bracket Step" msgstr "Klasificiraj korak" #: src/minoltamn.cpp:530 msgid "Bracket step" msgstr "Uokviren korak" #: src/minoltamn.cpp:532 msgid "Interval Length" msgstr "Intervalna dužina" #: src/minoltamn.cpp:533 msgid "Interval length" msgstr "Intervalna dužina" #: src/minoltamn.cpp:535 msgid "Interval Number" msgstr "Intervalni broj" #: src/minoltamn.cpp:536 msgid "Interval number" msgstr "intervalni broj" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 msgid "Focus Distance" msgstr "Fokus distanca" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 msgid "Focus distance" msgstr "Fokusna distanca" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 msgid "Flash Fired" msgstr "Blic je korišten" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 msgid "Flash fired" msgstr "Fleš okinut" #: src/minoltamn.cpp:547 msgid "Minolta Date" msgstr "Minolta datum" #: src/minoltamn.cpp:548 msgid "Minolta date" msgstr "Minolta datum" #: src/minoltamn.cpp:550 msgid "Minolta Time" msgstr "Minolta vrijeme" #: src/minoltamn.cpp:551 msgid "Minolta time" msgstr "Minolta vrijeme" #: src/minoltamn.cpp:556 msgid "File Number Memory" msgstr "Broj datoteke u memoriji" #: src/minoltamn.cpp:557 msgid "File number memory" msgstr "Broj datoteke u memoriji" #: src/minoltamn.cpp:559 msgid "Last Image Number" msgstr "Broj zadnje slike" #: src/minoltamn.cpp:560 msgid "Last image number" msgstr "Broj zadnje slike" #: src/minoltamn.cpp:562 msgid "Color Balance Red" msgstr "Balans crvene boje" #: src/minoltamn.cpp:563 msgid "Color balance red" msgstr "balans boja crveni" #: src/minoltamn.cpp:565 msgid "Color Balance Green" msgstr "Balans zelene boje" #: src/minoltamn.cpp:566 msgid "Color balance green" msgstr "balans boja zeleni" #: src/minoltamn.cpp:568 msgid "Color Balance Blue" msgstr "balans boja plavi" #: src/minoltamn.cpp:569 msgid "Color balance blue" msgstr "balans boja plavi" #: src/minoltamn.cpp:580 msgid "Subject Program" msgstr "Program predmeta" #: src/minoltamn.cpp:581 msgid "Subject program" msgstr "Program predmeta" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 msgid "ISO Settings" msgstr "ISO postavke" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 msgid "ISO setting" msgstr "ISO postavke" #: src/minoltamn.cpp:589 msgid "Minolta Model" msgstr "Minolta model" #: src/minoltamn.cpp:590 msgid "Minolta model" msgstr "Minolta model" #: src/minoltamn.cpp:592 msgid "Interval Mode" msgstr "Intervalni mod" #: src/minoltamn.cpp:593 msgid "Interval mode" msgstr "Intervalni režim" #: src/minoltamn.cpp:595 msgid "Folder Name" msgstr "Ime direktorija" #: src/minoltamn.cpp:596 msgid "Folder name" msgstr "Ime direktorija" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 msgid "ColorMode" msgstr "Režim boja" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 msgid "Color Filter" msgstr "Filter boje" #: src/minoltamn.cpp:602 msgid "Color filter" msgstr "Filter boja" #: src/minoltamn.cpp:604 msgid "Black and White Filter" msgstr "Crni i bijeli filter" #: src/minoltamn.cpp:605 msgid "Black and white filter" msgstr "crno-bijeli filter" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 msgid "Internal Flash" msgstr "Interni bljesak" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 msgid "Brightness" msgstr "Osvjetljenje" #: src/minoltamn.cpp:613 msgid "Spot Focus Point X" msgstr "tačka fokusa Point x" #: src/minoltamn.cpp:614 msgid "Spot focus point X" msgstr "tačka fokusa Point x" #: src/minoltamn.cpp:616 msgid "Spot Focus Point Y" msgstr "Tačka fokusa Point Y" #: src/minoltamn.cpp:617 msgid "Spot focus point Y" msgstr "tačka fokusa point Y" #: src/minoltamn.cpp:619 msgid "Wide Focus Zone" msgstr "Široka fokus zona" #: src/minoltamn.cpp:620 msgid "Wide focus zone" msgstr "Široka fokus zona" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 msgid "Focus mode" msgstr "Žižni mod" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 msgid "Focus area" msgstr "područje fokusa" #: src/minoltamn.cpp:628 msgid "DEC Switch Position" msgstr "Pozicija DEC prekidača" #: src/minoltamn.cpp:629 msgid "DEC switch position" msgstr "Pozicija DEC prekidača" #: src/minoltamn.cpp:631 msgid "Color Profile" msgstr "Profil boja" #: src/minoltamn.cpp:632 msgid "Color profile" msgstr "Profil boja" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 msgid "Data Imprint" msgstr "Obilježje podatka" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 msgid "Flash Metering" msgstr "Mjerenje bljeska" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 msgid "Flash metering" msgstr "mjerenje bljeska" #: src/minoltamn.cpp:642 msgid "Unknown Minolta Camera Settings tag" msgstr "nepoznata opcija podešavanja Minolta kamere" #: src/minoltamn.cpp:660 msgid "Program-shift A" msgstr "Program-shift A" #: src/minoltamn.cpp:661 msgid "Program-shift S" msgstr "Program-shift S" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 msgid "Raw+Jpeg" msgstr "Raw+Jpeg" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 msgid "Kelvin" msgstr "Kelvini" #: src/minoltamn.cpp:695 msgid "Single-shot AF" msgstr "Zasebni bljesak AF" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 msgid "Continuous AF" msgstr "stalni Af" #: src/minoltamn.cpp:698 msgid "Automatic AF" msgstr "Automatski AF" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 msgid "sRGB (Natural)" msgstr "sRGB( PRIRODNO)" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 msgid "sRGB (Natural+)" msgstr "sRBG(prirodno+)" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 msgid "Horizontal (normal)" msgstr "Horizontalno (normal)" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "Okreni 90 u smjeru sata" #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "Okreni 270 u smjeru sata" #: src/minoltamn.cpp:756 msgid "AF Points" msgstr "AF tačke" #: src/minoltamn.cpp:757 msgid "AF points" msgstr "af tačke" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 msgid "Color Space" msgstr "Prostor boja" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 msgid "Color space" msgstr "Prostor boja" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 msgid "Free Memory Card Images" msgstr "Slobodne slike memorijske kartice" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 msgid "Free memory card images" msgstr "slobodna memorija kartice slika" #: src/minoltamn.cpp:789 msgid "Hue" msgstr "Nijansa" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 msgid "Rotation" msgstr "Rotacija" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 msgid "Image Number" msgstr "Broj slike" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 msgid "Noise reduction" msgstr "Redukcija šuma" #: src/minoltamn.cpp:817 msgid "Zone Matching On" msgstr "Uključeno poklapanje zona" #: src/minoltamn.cpp:818 msgid "Zone matching on" msgstr "Uključeno poklapanje zona" #: src/minoltamn.cpp:822 msgid "Unknown Minolta Camera Settings 7D tag" msgstr "Nepoznata 7D oznaka podešavanja Minolta kamere" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 msgid "Program Shift A" msgstr "Program shift A" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 msgid "Program Shift S" msgstr "program shift s" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 msgid "Night View/Portrait" msgstr "Noćni pogled / portret" #: src/minoltamn.cpp:895 msgid "200 (Zone Matching High)" msgstr "200( visoko poklapanje zone )" #: src/minoltamn.cpp:896 msgid "80 (Zone Matching Low)" msgstr "80(nisko poklapanje zone)" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 msgid "Adobe RGB (ICC)" msgstr "Adobe RGB (ICC)" #: src/minoltamn.cpp:918 msgid "Central" msgstr "Sredina" #: src/minoltamn.cpp:919 msgid "Up" msgstr "Gore" #: src/minoltamn.cpp:920 msgid "Up right" msgstr "Gore desno" #: src/minoltamn.cpp:922 msgid "Down right" msgstr "Dolje desno" #: src/minoltamn.cpp:923 msgid "Down" msgstr "Dolje" #: src/minoltamn.cpp:924 msgid "Down left" msgstr "Dolje lijevo" #: src/minoltamn.cpp:926 msgid "Up left" msgstr "Gore lijevo" #: src/minoltamn.cpp:932 msgid "Selection" msgstr "Izbor" #: src/minoltamn.cpp:947 msgid "Natural+" msgstr "Prirodni +" #: src/minoltamn.cpp:949 msgid "Wind Scene" msgstr "scena vjetra" #: src/minoltamn.cpp:950 msgid "Evening Scene" msgstr "Večernja scena" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus Position" msgstr "Fokus pozicija" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus position" msgstr "Fokus pozicija" #: src/minoltamn.cpp:1003 msgid "Focus Area" msgstr "fokus područje" #: src/minoltamn.cpp:1036 msgid "Exposure Revision" msgstr "ispravljanje izloženosti" #: src/minoltamn.cpp:1037 msgid "Exposure revision" msgstr "revizija izloženosti" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 msgid "Rotation2" msgstr "Rotacija2" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 msgid "Picture Finish" msgstr "Završena slika" #: src/minoltamn.cpp:1063 msgid "Exposure Manual Bias" msgstr "Manuelno podešavanje ekspozicije" #: src/minoltamn.cpp:1064 msgid "Exposure manual bias" msgstr "Manuelno podešavanje ekspozicije" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 msgid "AF Mode" msgstr "Af režim" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 msgid "AF mode" msgstr "Af režim" #: src/minoltamn.cpp:1087 msgid "Unknown Minolta Camera Settings 5D tag" msgstr "Nepoznata 5D oznaka podešavanja Minolta kamere" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 msgid "Self-timer 10 sec" msgstr "Vlastita štoperica 10s" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 msgid "Self-timer 2 sec" msgstr "Vlastita štoperica 2s" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 msgid "White Balance Bracketing Low" msgstr "Nisko uokvirenje balansa bijelog" #: src/minoltamn.cpp:1105 msgid "White Balance Bracketing High" msgstr "Visoko uokvirenje balansa bijelog" #: src/minoltamn.cpp:1106 msgid "Single-frame Bracketing Low" msgstr "jednookvirni braketing je nizak" #: src/minoltamn.cpp:1107 msgid "Continuous Bracketing Low" msgstr "Kontinualno uokviravanje nisko" #: src/minoltamn.cpp:1108 msgid "Single-frame Bracketing High" msgstr "jednokvirni braketing je visok" #: src/minoltamn.cpp:1109 msgid "Continuous Bracketing High" msgstr "Kontinualno uokviravanje visoko" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "Napredno" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 msgid "Continuous Bracketing" msgstr "kontinuirani braketing" #: src/minoltamn.cpp:1156 msgid "Single-Frame Bracketing" msgstr "samookvirni braketing" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 msgid "White Balance Bracketing" msgstr "balans bijele boje braketing" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 msgid "Preset" msgstr "Prepodešeno" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 msgid "Color Temperature/Color Filter" msgstr "Temperatura boje/ boja filtera" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 msgid "Temperature" msgstr "Temperatura" #: src/minoltamn.cpp:1213 msgid "Setup" msgstr "Podešavanje" #: src/minoltamn.cpp:1214 msgid "Recall" msgstr "Učitaj" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "U redu" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "Greška" #: src/minoltamn.cpp:1232 msgid "Image and Information" msgstr "Slika i informacije" #: src/minoltamn.cpp:1233 msgid "Image Only" msgstr "Samo slika" #: src/minoltamn.cpp:1234 msgid "Image and Histogram" msgstr "slika i histogram" #: src/minoltamn.cpp:1240 msgid "Fill Flash" msgstr "punjenje bljeska" #: src/minoltamn.cpp:1251 msgid "Focus Hold" msgstr "Držanje fokusa" #: src/minoltamn.cpp:1252 msgid "DOF Preview" msgstr "DOF pregled" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "Zadrži" #: src/minoltamn.cpp:1258 msgid "Toggle" msgstr "Prebaci" #: src/minoltamn.cpp:1259 msgid "Spot Hold" msgstr "Držanje usmjerenja" #: src/minoltamn.cpp:1260 msgid "Spot Toggle" msgstr "Preklop usmjerenja" #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 msgid "Shutter Speed" msgstr "Brzina zatvaranja" #: src/minoltamn.cpp:1271 msgid "Ambient and Flash" msgstr "Abmijent i bljesak" #: src/minoltamn.cpp:1272 msgid "Ambient Only" msgstr "Samo ambijent" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "0.3 sekunde" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "0.6 sekundi" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 msgid "Automatic" msgstr "Automatski" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 msgid "Auto-rotate" msgstr "auto rotacija" #: src/minoltamn.cpp:1291 msgid "Horizontal" msgstr "Horizontalno" #: src/minoltamn.cpp:1297 msgid "Manual Rotate" msgstr "Ručna rotacija" #: src/minoltamn.cpp:1302 msgid "Within Range" msgstr "unutar raspona" #: src/minoltamn.cpp:1303 msgid "Under/Over Range" msgstr "van ili preko dometa" #: src/minoltamn.cpp:1304 msgid "Out of Range" msgstr "Van dometa" #: src/minoltamn.cpp:1309 msgid "Not Indicated" msgstr "nenaznaceno" #: src/minoltamn.cpp:1310 msgid "Under Scale" msgstr "ispod skale" #: src/minoltamn.cpp:1311 msgid "Bottom of Scale" msgstr "dno skale" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "vrh skale" #: src/minoltamn.cpp:1330 msgid "Over Scale" msgstr "preko skale" #: src/minoltamn.cpp:1335 msgid "AM" msgstr "am." #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "mf" #: src/minoltamn.cpp:1342 msgid "Built-in" msgstr "Ugrađeno" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 msgid "Very Low" msgstr "Vrlo nizak" #: src/minoltamn.cpp:1350 msgid "Half Full" msgstr "Dopola puno" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "dovoljna jačina" #: src/minoltamn.cpp:1359 msgid "Exposure Compensation Setting" msgstr "Podešvanje kompenzacije ekspozicije" #: src/minoltamn.cpp:1360 msgid "Exposure compensation setting" msgstr "Podešvanje kompenzacije ekspozicije" #: src/minoltamn.cpp:1362 msgid "High Speed Sync" msgstr "Visokobrzinska sinhronizacija" #: src/minoltamn.cpp:1363 msgid "High speed sync" msgstr "visoka brzina sync" #: src/minoltamn.cpp:1365 msgid "Manual Exposure Time" msgstr "Ručno vrijeme ekspozicije" #: src/minoltamn.cpp:1366 msgid "Manual exposure time" msgstr "Ručno vrijeme ekspozicije" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 msgid "Manual FNumber" msgstr "ručni Fbroj" #: src/minoltamn.cpp:1377 msgid "Drive Mode 2" msgstr "Režim vođenja 2" #: src/minoltamn.cpp:1378 msgid "Drive mode 2" msgstr "Režim vođenja 2" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "lokalna AF tačke oblasti" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 msgid "AF Area Mode" msgstr "AF mod oblasti" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 msgid "FlashMode" msgstr "Fleš mod" #: src/minoltamn.cpp:1395 msgid "Flash Exposure Comp Setting" msgstr "Postavke kompenzacije ekspozicije blicom" #: src/minoltamn.cpp:1396 msgid "Flash exposure compensation setting" msgstr "Postavke kompenzacije ekspozicije blicom" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 msgid "ISO Setting" msgstr "Podešavanje ISO" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 msgid "Zone Matching Mode" msgstr "Režim uklapanja zona" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 msgid "Dynamic Range Optimizer Mode" msgstr "Režim optimizatora dinamičkog opsega" #: src/minoltamn.cpp:1408 msgid "Dynamic range optimizer mode" msgstr "dinamički optimizer" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "prioritetno postavljanje zatvarača puštanje" #: src/minoltamn.cpp:1434 msgid "Self Timer Time" msgstr "Vrijeme samomjerača" #: src/minoltamn.cpp:1435 msgid "Self timer time" msgstr "Samoodbrojavanje vremena" #: src/minoltamn.cpp:1438 msgid "Continuous bracketing" msgstr "Stalno uokviravanje" #: src/minoltamn.cpp:1440 msgid "Single Frame Bracketing" msgstr "Uokviravanje u jednom kadru" #: src/minoltamn.cpp:1441 msgid "Single frame bracketing" msgstr "Uokviravanje u jednom kadru" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 msgid "White balance bracketing" msgstr "Uokviravane balansa bijelog" #: src/minoltamn.cpp:1446 msgid "White Balance Setting" msgstr "Podešavanje ravnoteže bijele" #: src/minoltamn.cpp:1449 msgid "Preset White Balance" msgstr "Unaprijed postavljeni balans bijelog" #: src/minoltamn.cpp:1450 msgid "Preset white balance" msgstr "Postavka za bijeli balans" #: src/minoltamn.cpp:1452 msgid "Color Temperature Setting" msgstr "Podešavanje zemperatura boje" #: src/minoltamn.cpp:1453 msgid "Color temperature setting" msgstr "Postavljanje temperature boje" #: src/minoltamn.cpp:1455 msgid "Custom WB Setting" msgstr "Vlastito crno-bijelo podešavanje" #: src/minoltamn.cpp:1456 msgid "Custom WB setting" msgstr "Vlastito crno-bijelo podešavanje" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 msgid "Dynamic Range Optimizer Settings" msgstr "Dinamičke postavke alata za optimizaciju raspona" #: src/minoltamn.cpp:1464 msgid "Custom WB Red Level" msgstr "Vlastito podešavanje nivoa crvenog" #: src/minoltamn.cpp:1465 msgid "Custom WB red level" msgstr "Vlastito podešavanje nivoa crvenog" #: src/minoltamn.cpp:1467 msgid "Custom WB Green Level" msgstr "Vlastito podešavanje nivoa zelenog" #: src/minoltamn.cpp:1468 msgid "Custom WB green level" msgstr "Vlastito podešavanje nivoa zelenog" #: src/minoltamn.cpp:1470 msgid "Custom WB Blue Level" msgstr "Vlastito podešavanje nivoa plavog" #: src/minoltamn.cpp:1471 msgid "CustomWB blue level" msgstr "Podešavanje WB plavog nivoa" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 msgid "Custom WB Error" msgstr "Podešavanje WB Greška" #: src/minoltamn.cpp:1477 msgid "White balance fine tune" msgstr "Fino podešavanje balansa bijelog" #: src/minoltamn.cpp:1483 msgid "Color compensation filter" msgstr "Filter za podešavanje boja" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 msgid "Sony Image Size" msgstr "Sony velicina slike" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "Vrijeme reprodukcije odmah" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "Vrijeme reprodukcije odmah" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "Postavka reprodukcije odmah" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "instant playback podešavanje" #: src/minoltamn.cpp:1500 msgid "Eye Start AF" msgstr "Eye Start AF" #: src/minoltamn.cpp:1501 msgid "Eye start AF" msgstr "Eye start AF" #: src/minoltamn.cpp:1503 msgid "Red Eye Reduction" msgstr "Redukcija crvenog oka" #: src/minoltamn.cpp:1504 msgid "Red eye reduction" msgstr "Redukcija crvenog oka" #: src/minoltamn.cpp:1506 msgid "Flash Default" msgstr "zadani bljesak" #: src/minoltamn.cpp:1507 msgid "Flash default" msgstr "zadani bljesak" #: src/minoltamn.cpp:1509 msgid "Auto Bracket Order" msgstr "Redoslijed automatskog uokviravanja" #: src/minoltamn.cpp:1510 msgid "Auto bracket order" msgstr "Redoslijed automatskog uokviravanja" #: src/minoltamn.cpp:1512 msgid "Focus Hold Button" msgstr "Dugme za zadržavanje fokusiranja" #: src/minoltamn.cpp:1513 msgid "Focus hold button" msgstr "Dugme za zadržavanje fokusiranja" #: src/minoltamn.cpp:1515 msgid "AEL Button" msgstr "AEL dugme" #: src/minoltamn.cpp:1516 msgid "AEL button" msgstr "AEL dugme" #: src/minoltamn.cpp:1518 msgid "Control Dial Set" msgstr "set izbornika" #: src/minoltamn.cpp:1519 msgid "Control dial set" msgstr "kontrolni točkić postavljen" #: src/minoltamn.cpp:1521 msgid "Exposure Compensation Mode" msgstr "Režim kompenzacije ekspozicije" #: src/minoltamn.cpp:1522 msgid "Exposure compensation mode" msgstr "Režim kompenzacije ekspozicije" #: src/minoltamn.cpp:1525 msgid "AF assist" msgstr "AF pomoć" #: src/minoltamn.cpp:1527 msgid "Card Shutter Lock" msgstr "zaključan okidač kartice" #: src/minoltamn.cpp:1528 msgid "Card shutter lock" msgstr "zaključan okidač kartice" #: src/minoltamn.cpp:1530 msgid "Lens Shutter Lock" msgstr "zaključan okidač objektiva" #: src/minoltamn.cpp:1531 msgid "Lens shutter lock" msgstr "zaključan okidač objektiva" #: src/minoltamn.cpp:1533 msgid "AF Area Illumination" msgstr "AF osvjetljenje okruženja" #: src/minoltamn.cpp:1534 msgid "AF area illumination" msgstr "AF osvjetljenje okruženja" #: src/minoltamn.cpp:1536 msgid "Monitor Display Off" msgstr "Isključen zaslon monitora" #: src/minoltamn.cpp:1537 msgid "Monitor display off" msgstr "Isključen zaslon monitora" #: src/minoltamn.cpp:1539 msgid "Record Display" msgstr "Snimanje zaslona" #: src/minoltamn.cpp:1540 msgid "Record display" msgstr "Snimanje zaslona" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "Izvođenje prikaza" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "Izvođenje prikaza" #: src/minoltamn.cpp:1545 msgid "Exposure Indicator" msgstr "indikator izloženosti" #: src/minoltamn.cpp:1546 msgid "Exposure indicator" msgstr "indikator izloženosti" #: src/minoltamn.cpp:1548 msgid "AEL Exposure Indicator" msgstr "AEL indikator izloženosti" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "AEL indikator izloženosti" #: src/minoltamn.cpp:1551 msgid "Exposure Bracketing Indicator Last" msgstr "indikator izloženosti zadnji" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" "Zadnji indikator ekspozicije( indikator za posljednji udarac braketinga)" #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "Pokazatelj skale za mjerenje" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "" "Mjerenje off pokazatelja razmjera ( dva trokuta trepere kad su ispod ili " "iznad mjerne skale)" #: src/minoltamn.cpp:1557 msgid "Flash Exposure Indicator" msgstr "indikator ekspozicije bljeska" #: src/minoltamn.cpp:1558 msgid "Flash exposure indicator" msgstr "indikator ekspozicije bljeska" #: src/minoltamn.cpp:1560 msgid "Flash Exposure Indicator Next" msgstr "indikator ekspozicije bljeska sljedeći" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" "indikator ekspozicije bljeska sljedeći (indikator za sljedeći snimak pri " "uokviravanju)" #: src/minoltamn.cpp:1563 msgid "Flash Exposure Indicator Last" msgstr "indikator ekspozicije bljeska zadnji" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" "indikator ekspozicije bljeska zadnji (indikator ekspozicije za zadnji snimak " "pri uokviravanju)" #: src/minoltamn.cpp:1569 msgid "Focus Mode Switch" msgstr "Prekidač režima fokusa" #: src/minoltamn.cpp:1570 msgid "Focus mode switch" msgstr "Prekidač režima fokusa" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 msgid "Flash Type" msgstr "Vrsta bljeska" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 msgid "Flash type" msgstr "Vrsta bljeska" #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 msgid "AE Lock" msgstr "AE zaključavanje" #: src/minoltamn.cpp:1585 msgid "Color compensation filter: negative is green, positive is magenta" msgstr "" "kompenzacija boja filtera: negativna je zelena , pozitivna je purpurno crvena" #: src/minoltamn.cpp:1587 src/tags.cpp:766 msgid "Battery Level" msgstr "Nivo baterije" #: src/minoltamn.cpp:1588 msgid "Battery level" msgstr "Napunjenost baterije" #: src/minoltamn.cpp:1592 msgid "Unknown Sony Camera Settings A100 tag" msgstr "Nepoznata oznaka Sony odešavanja kamere" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 msgid "Clear" msgstr "Čisto" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 msgid "Deep" msgstr "Duboko" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 msgid "Light" msgstr "Svjetlo" #: src/minoltamn.cpp:1950 msgid "Night View" msgstr "Noćni prikaz" #: src/minoltamn.cpp:1951 msgid "Autumn Leaves" msgstr "Jesenje lišće" #: src/minoltamn.cpp:1990 msgid "Local" msgstr "Lokalno" #: src/minoltamn.cpp:2005 msgid "Top-Right" msgstr "Gore-desno" #: src/minoltamn.cpp:2007 msgid "Bottom-Right" msgstr "Dolje-desno" #: src/minoltamn.cpp:2009 msgid "Bottom-Left" msgstr "Dolje-lijevo" #: src/minoltamn.cpp:2011 msgid "Top-Left" msgstr "Gore-lijevo" #: src/minoltamn.cpp:2012 msgid "Far-Right" msgstr "Sasvim desno" #: src/minoltamn.cpp:2013 msgid "Far-Left" msgstr "Sasvim lijevo" #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 msgid "Advanced Auto" msgstr "Napredno automatsko" #: src/minoltamn.cpp:2028 msgid "Advanced Level" msgstr "Napredni nivo" #: src/minoltamn.cpp:2041 msgid "AF" msgstr "AF" #: src/minoltamn.cpp:2042 msgid "Release" msgstr "Izdanje" #: src/minoltamn.cpp:2054 msgid "RAW " msgstr "RAW " #: src/minoltamn.cpp:2055 msgid "CRAW " msgstr "CRAW " #: src/minoltamn.cpp:2058 msgid "RAW+JPEG" msgstr "RAW+JPEG" #: src/minoltamn.cpp:2059 msgid "CRAW+JPEG" msgstr "CRAW+JPEG" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "Raw + JPEG" #: src/minoltamn.cpp:2116 msgid "Compressed Raw" msgstr "KOMPRESIRANI raw" #: src/minoltamn.cpp:2117 msgid "Compressed Raw + JPEG" msgstr "KOMPRESIRANI RAW+JPEG" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "Minolta AF 2x APO (D)" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "Minolta AF 2x APO II" #: src/minoltamn.cpp:2132 msgid "Minolta AF 1.4x APO (D)" msgstr "Minolta AF 1.4x APO (D)" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "Minolta AF 1.4x APO II" #: src/minoltamn.cpp:2163 msgid "ISO Setting Used" msgstr "ISO podešavanje je korišteno" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 msgid "High Key" msgstr "Visoka tipka" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "Niska tipka" #: src/nikonmn.cpp:80 msgid "Extra High" msgstr "Ekstra visoko" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 msgid "Single area" msgstr "Jedno područje" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 msgid "Dynamic area" msgstr "Dinamičko područje" #: src/nikonmn.cpp:88 msgid "Dynamic area, closest subject" msgstr "Dinamičko područje, najblizi subjekt" #: src/nikonmn.cpp:89 msgid "Group dynamic" msgstr "Grupna dinamika" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 msgid "Single area (wide)" msgstr "Jedno podrucje( široko)" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 msgid "Dynamic area (wide)" msgstr "dinamičko okruženje" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 msgid "Upper-left" msgstr "Gore - lijevo" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 msgid "Upper-right" msgstr "Gore - desno" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 msgid "Lower-left" msgstr "Donje - lijevo" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 msgid "Lower-right" msgstr "Dolje- desno" #: src/nikonmn.cpp:108 msgid "Left-most" msgstr "maksimalno lijevo" #: src/nikonmn.cpp:109 msgid "Right-most" msgstr "maksimalno desno" #: src/nikonmn.cpp:143 msgid "Fire, manual" msgstr "Vatra, ručno" #: src/nikonmn.cpp:144 msgid "Fire, external" msgstr "Vatra, vanjski" #: src/nikonmn.cpp:145 msgid "Fire, commander mode" msgstr "vatra, zapovjednički način" #: src/nikonmn.cpp:146 msgid "Fire, TTL mode" msgstr "vatra, ttl način" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 msgid "Delay" msgstr "Kašnjenje" #: src/nikonmn.cpp:153 #, fuzzy msgid "PC Control" msgstr "PC kontrola" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 msgid "Exposure Bracketing" msgstr "Uokvirenje ekspozicije" #: src/nikonmn.cpp:156 msgid "Auto ISO" msgstr "Automatsko ISO" #: src/nikonmn.cpp:157 #, fuzzy msgid "White-Balance Bracketing" msgstr "balans bijele boje braketing" #: src/nikonmn.cpp:158 #, fuzzy msgid "IR Control" msgstr "IR kontrola" #: src/nikonmn.cpp:159 #, fuzzy msgid "D-Lighting Bracketing" msgstr "kontinuirani braketing" #: src/nikonmn.cpp:166 msgid "PC control" msgstr "PC kontrola" #: src/nikonmn.cpp:167 msgid "Exposure bracketing" msgstr "izlaganje braketinga" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "Nekorišteni LE-NR zastoj" #: src/nikonmn.cpp:170 msgid "IR control" msgstr "IR kontrola" #: src/nikonmn.cpp:176 msgid "Auto release" msgstr "Auto izdanje" #: src/nikonmn.cpp:177 msgid "Manual release" msgstr "Ručno izdanje" #: src/nikonmn.cpp:182 msgid "Lossy (type 1)" msgstr "s gubicima (tip 1)" #: src/nikonmn.cpp:183 src/tags.cpp:251 msgid "Uncompressed" msgstr "Nekompresovano" #: src/nikonmn.cpp:184 msgid "Lossless" msgstr "Bez gubitaka" #: src/nikonmn.cpp:185 msgid "Lossy (type 2)" msgstr "s gubicima (tip 2)" #: src/nikonmn.cpp:191 msgid "B & W" msgstr "C/B" #: src/nikonmn.cpp:193 msgid "Trim" msgstr "Podsijecanje" #: src/nikonmn.cpp:194 msgid "Small picture" msgstr "Mala slika" #: src/nikonmn.cpp:195 msgid "D-Lighting" msgstr "D- rasvjeta" #: src/nikonmn.cpp:196 msgid "Red eye" msgstr "Crveno oko" #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 msgid "Cyanotype" msgstr "Cyanotype" #: src/nikonmn.cpp:198 msgid "Sky light" msgstr "Nebesko svjetlo" #: src/nikonmn.cpp:199 msgid "Warm tone" msgstr "topli ton" #: src/nikonmn.cpp:200 msgid "Color custom" msgstr "Podešavanje boja" #: src/nikonmn.cpp:201 msgid "Image overlay" msgstr "Preklapanje slike" #: src/nikonmn.cpp:207 msgid "Minimal" msgstr "Minimalna" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 msgid "Nikon Makernote version" msgstr "Nikon Makernote verzija" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 msgid "ISO Speed" msgstr "ISO brzina" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 msgid "Sharpening" msgstr "Izoštravanje" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 msgid "Image sharpening setting" msgstr "Podešavanje izoštravanja slika" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 msgid "Focus" msgstr "Fokus" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 msgid "Flash Setting" msgstr "Podešavanje blica" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 msgid "Flash setting" msgstr "Podešavanje bljeska" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 msgid "ISO Selection" msgstr "ISO izbor" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 msgid "ISO selection" msgstr "ISO selekcija" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data Dump" msgstr "Kanta za podatke" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data dump" msgstr "Izdvajanje podataka" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 msgid "Image Adjustment" msgstr "Podešavanje slike" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 msgid "Image adjustment setting" msgstr "Postavke podešavanja slika" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "Pomoćne leće" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 msgid "Auxiliary lens (adapter)" msgstr "Pomoćne leće (adapter)" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 msgid "Manual focus distance" msgstr "Vlastita udaljenost fokusa" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 msgid "Digital zoom setting" msgstr "digitalno zoom podešavanje" #: src/nikonmn.cpp:260 msgid "AF Focus Position" msgstr "Af fokus pozicija" #: src/nikonmn.cpp:261 msgid "AF focus position information" msgstr "Informacija o AF poziji fokusa" #: src/nikonmn.cpp:265 msgid "Unknown Nikon1MakerNote tag" msgstr "nepoznata Nikon1MakerNote oznaka" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 msgid "Continuous autofocus" msgstr "kontinuirani autofokus" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 msgid "Single autofocus" msgstr "Zasebno fokusiranje" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 msgid "Not used" msgstr "Nije u upotrebi" #: src/nikonmn.cpp:371 msgid "guess" msgstr "Nagađanje" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "VGA osnovno" #: src/nikonmn.cpp:419 msgid "VGA Normal" msgstr "VGA normalno" #: src/nikonmn.cpp:420 msgid "VGA Fine" msgstr "VGA odlično" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "SXGA osnovno" #: src/nikonmn.cpp:422 msgid "SXGA Normal" msgstr "SXGA normalno" #: src/nikonmn.cpp:423 msgid "SXGA Fine" msgstr "SXGA odlično" #: src/nikonmn.cpp:435 msgid "Bright+" msgstr "Svjetlo+" #: src/nikonmn.cpp:436 msgid "Bright-" msgstr "Svetlo-" #: src/nikonmn.cpp:437 msgid "Contrast+" msgstr "Kontrast+" #: src/nikonmn.cpp:438 msgid "Contrast-" msgstr "Kontrast-" #: src/nikonmn.cpp:457 msgid "Speedlight" msgstr "Brzina svjetlosti" #: src/nikonmn.cpp:497 msgid "Unknown Nikon2MakerNote tag" msgstr "nepoznata Nikon2MakerNote oznaka" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 msgid "Flash Device" msgstr "Flash uređaj" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 msgid "Flash device" msgstr "Uređaj sa bljeskom" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 msgid "White Balance Bias" msgstr "Podešavanje balansa bijelog" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 msgid "White balance bias" msgstr "Podešavanje balansa bijelog" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB Levels" msgstr "WB RB nivoi" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB levels" msgstr "WB RB nivoi" #: src/nikonmn.cpp:544 msgid "Program Shift" msgstr "smjena programa" #: src/nikonmn.cpp:544 msgid "Program shift" msgstr "smjena programa" #: src/nikonmn.cpp:545 msgid "Exposure Difference" msgstr "Razlika ekspozicije" #: src/nikonmn.cpp:545 msgid "Exposure difference" msgstr "Razlika ekspozicije" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 msgid "Pointer to a preview image" msgstr "Pokazivač na pregled slika" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 msgid "Offset to an IFD containing a preview image" msgstr "ofset IFD koji sadrži pregled slike" #: src/nikonmn.cpp:549 msgid "Flash Comp" msgstr "Fleš komp" #: src/nikonmn.cpp:549 msgid "Flash compensation setting" msgstr "podešavanje kompenzacije blica" #: src/nikonmn.cpp:551 msgid "Image Boundary" msgstr "Granice slike" #: src/nikonmn.cpp:551 msgid "Image boundary" msgstr "Granica slike" #: src/nikonmn.cpp:552 msgid "Flash exposure comp" msgstr "Kompenzacija ekspozicije blicom" #: src/nikonmn.cpp:553 msgid "Flash Bracket Comp" msgstr "Kompenzacija uokvirenja blicom" #: src/nikonmn.cpp:553 msgid "Flash bracket compensation applied" msgstr "Kompenzacija uokvirenja blicom primijenjena" #: src/nikonmn.cpp:554 msgid "Exposure Bracket Comp" msgstr "Kompenzacija uokvirenja ekspozicije" #: src/nikonmn.cpp:554 msgid "AE bracket compensation applied" msgstr "AE Kompenzacija uokvirenja ekspozicije primijenjena" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 msgid "Image Processing" msgstr "Obrada slika" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 msgid "Image processing" msgstr "Obrada slika" #: src/nikonmn.cpp:556 msgid "Crop High Speed" msgstr "Rezanje visokom brzinom" #: src/nikonmn.cpp:556 msgid "Crop high speed" msgstr "Rezanje visoke brzine" #: src/nikonmn.cpp:557 msgid "Exposure Tuning" msgstr "podesavanje izlozenosti" #: src/nikonmn.cpp:557 msgid "Exposure tuning" msgstr "podesavanje izlozenosti" #: src/nikonmn.cpp:560 msgid "VR Info" msgstr "vr info" #: src/nikonmn.cpp:560 msgid "VR info" msgstr "vr info" #: src/nikonmn.cpp:561 msgid "Image Authentication" msgstr "Ovjera slike" #: src/nikonmn.cpp:561 msgid "Image authentication" msgstr "autenticnost slike" #: src/nikonmn.cpp:562 msgid "ActiveD-Lighting" msgstr "aktivirano osvjetljenje" #: src/nikonmn.cpp:562 msgid "ActiveD-lighting" msgstr "aktivirano osvjetljenje" #: src/nikonmn.cpp:563 msgid "Picture Control" msgstr "Kontrola slike" #: src/nikonmn.cpp:563 msgid " Picture control" msgstr " Kontrola slike" #: src/nikonmn.cpp:564 src/properties.cpp:1387 msgid "World Time" msgstr "svjetsko vrijeme" #: src/nikonmn.cpp:564 msgid "World time" msgstr "svjetsko vrijeme" #: src/nikonmn.cpp:565 msgid "ISO Info" msgstr "ISO informacije" #: src/nikonmn.cpp:565 msgid "ISO info" msgstr "ISO info" #: src/nikonmn.cpp:566 msgid "Vignette Control" msgstr "kontrola vinjete" #: src/nikonmn.cpp:566 msgid "Vignette control" msgstr "kontrola vinjete" #: src/nikonmn.cpp:568 msgid "Tone Compensation" msgstr "kompenzacija tona" #: src/nikonmn.cpp:568 msgid "Tone compensation" msgstr "kompenzacija tona" #: src/nikonmn.cpp:574 msgid "Mode of flash used" msgstr "vrsta blica koja je korištena" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 msgid "Shooting Mode" msgstr "Režim slikanja" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 msgid "Shooting mode" msgstr "Režim rada: Slikanje" #: src/nikonmn.cpp:577 msgid "Auto Bracket Release" msgstr "auto braket oslobađanje" #: src/nikonmn.cpp:577 msgid "Auto bracket release" msgstr "auto braket oslobađanje" #: src/nikonmn.cpp:578 msgid "Lens FStops" msgstr "fstops objektiva" #: src/nikonmn.cpp:579 msgid "Contrast Curve" msgstr "kontrast krive" #: src/nikonmn.cpp:579 msgid "Contrast curve" msgstr "Kontrast krive" #: src/nikonmn.cpp:580 msgid "Color Hue" msgstr "nijasna boje" #: src/nikonmn.cpp:580 msgid "Color hue" msgstr "nijansa boje" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 msgid "Scene mode" msgstr "Scenski način" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 msgid "Light Source" msgstr "Izvor svjetla" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 msgid "Light source" msgstr "izvor svjetla" #: src/nikonmn.cpp:583 msgid "Shot info" msgstr "info slikanja" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 msgid "Hue Adjustment" msgstr "Podešanjavanje nijanse" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 msgid "Hue adjustment" msgstr "Podešavanje nijanse" #: src/nikonmn.cpp:585 msgid "NEF Compression" msgstr "NEF kompresija" #: src/nikonmn.cpp:585 msgid "NEF compression" msgstr "NEF kompresija" #: src/nikonmn.cpp:588 src/tags.cpp:905 msgid "Linearization Table" msgstr "Linearizacijska Tabela" #: src/nikonmn.cpp:588 msgid "Linearization table" msgstr "Linearizacijska Tabela" #: src/nikonmn.cpp:589 msgid "Color Balance" msgstr "Balans boja" #: src/nikonmn.cpp:589 msgid "Color balance" msgstr "Ravnoteža boja" #: src/nikonmn.cpp:590 msgid "Lens Data" msgstr "Podaci objektiva" #: src/nikonmn.cpp:590 msgid "Lens data settings" msgstr "podesavanje podataka objektiva" #: src/nikonmn.cpp:591 msgid "Raw Image Center" msgstr "Centar neobrađene slike" #: src/nikonmn.cpp:591 msgid "Raw image center" msgstr "Centar neobrađene slike" #: src/nikonmn.cpp:592 msgid "Sensor Pixel Size" msgstr "senzorna velicina pixela" #: src/nikonmn.cpp:592 msgid "Sensor pixel size" msgstr "Veličina piksela detektora" #: src/nikonmn.cpp:594 msgid "Scene Assist" msgstr "pomocnik na sceni" #: src/nikonmn.cpp:594 msgid "Scene assist" msgstr "Scenski asistent" #: src/nikonmn.cpp:595 msgid "Retouch History" msgstr "Historija dodjerivanja" #: src/nikonmn.cpp:595 msgid "Retouch history" msgstr "Historija dodjerivanja" #: src/nikonmn.cpp:597 msgid "Serial NO" msgstr "Serijski broj" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "Serijski broj kamere, obično počinje zsa \"NO=\"" #: src/nikonmn.cpp:598 msgid "Image Data Size" msgstr "Veličina podataka slike" #: src/nikonmn.cpp:598 msgid "Image data size" msgstr "velicina slike" #: src/nikonmn.cpp:600 msgid "Image Count" msgstr "broj slike" #: src/nikonmn.cpp:600 msgid "Image count" msgstr "broj slike" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted Image Count" msgstr "izbrisan broj slike" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted image count" msgstr "Izbrisani broj slike" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 msgid "Shutter Count" msgstr "broj zatvaranja" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "broj slika napravljenih kamerom" #: src/nikonmn.cpp:603 msgid "Flash info" msgstr "info bljeska" #: src/nikonmn.cpp:604 msgid "Image Optimization" msgstr "Optimizacija slike" #: src/nikonmn.cpp:604 msgid "Image optimization" msgstr "Optimizacije slike" #: src/nikonmn.cpp:606 msgid "Program Variation" msgstr "promjena programa" #: src/nikonmn.cpp:606 msgid "Program variation" msgstr "Programska varijacija" #: src/nikonmn.cpp:608 msgid "AF Response" msgstr "af odgovor" #: src/nikonmn.cpp:608 msgid "AF response" msgstr "af odgovor" #: src/nikonmn.cpp:609 msgid "Multi exposure" msgstr "Višestruka ekspozicija" #: src/nikonmn.cpp:610 msgid "High ISO Noise Reduction" msgstr "visoko iso smanjenje šuma" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 msgid "Toning effect" msgstr "Efekat toniranja" #: src/nikonmn.cpp:612 msgid "AF info 2" msgstr "AF info 2" #: src/nikonmn.cpp:613 msgid "File info" msgstr "info podatka" #: src/nikonmn.cpp:614 msgid "AF tune" msgstr "AF podešavanje" #: src/nikonmn.cpp:617 msgid "Capture Data" msgstr "Hvatanje podataka" #: src/nikonmn.cpp:617 msgid "Capture data" msgstr "Hvatanje podataka" #: src/nikonmn.cpp:618 msgid "Capture Version" msgstr "Verzija hvatanja" #: src/nikonmn.cpp:618 msgid "Capture version" msgstr "verzija snimka" #: src/nikonmn.cpp:620 msgid "Capture Offsets" msgstr "ofset snimka" #: src/nikonmn.cpp:620 msgid "Capture offsets" msgstr "ofset snimka" #: src/nikonmn.cpp:621 msgid "Scan IFD" msgstr "skeniranje IFD" #: src/nikonmn.cpp:622 msgid "ICC profile" msgstr "ICC profil" #: src/nikonmn.cpp:623 msgid "Capture output" msgstr "Hvatanje izlaza" #: src/nikonmn.cpp:625 msgid "Unknown Nikon3MakerNote tag" msgstr "Nepoznata nikon3 oznaka proizvođača" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 msgid "No" msgstr "Ne" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "Da" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "G/M/D" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "M/D/G" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "D/M/G" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration Reduction" msgstr "smanjenje vibracije" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration reduction" msgstr "Smanjenje vibracije" #: src/nikonmn.cpp:657 msgid "Unknown Nikon Vibration Reduction Tag" msgstr "Nepoznata oznaka za Nikon Redukciju Vibracije" #: src/nikonmn.cpp:667 msgid "Default Settings" msgstr "Podrazumijevana podešavanja" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 msgid "Quick Adjust" msgstr "Brzo prilagođavanje" #: src/nikonmn.cpp:669 msgid "Full Control" msgstr "Puna kontrola" #: src/nikonmn.cpp:690 msgid "Blue-green" msgstr "plavo- zelena" #: src/nikonmn.cpp:692 msgid "Purple-blue" msgstr "ljubicasto - plava" #: src/nikonmn.cpp:693 msgid "Red-purple" msgstr "crveno- ljubicasta" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 msgid "Name" msgstr "Naziv" #: src/nikonmn.cpp:701 msgid "Base" msgstr "Baza" #: src/nikonmn.cpp:702 msgid "Adjust" msgstr "Podesi" #: src/nikonmn.cpp:703 msgid "Quick adjust" msgstr "Brzo prilagođavanje" #: src/nikonmn.cpp:709 msgid "Filter effect" msgstr "filter efekat" #: src/nikonmn.cpp:711 msgid "Toning Saturation" msgstr "zasićenje toniranja" #: src/nikonmn.cpp:711 msgid "Toning saturation" msgstr "zasićenje toniranja" #: src/nikonmn.cpp:713 msgid "Unknown Nikon Picture Control Tag" msgstr "Nepoznata oznaka za Nikon Kontrolu Slike" #: src/nikonmn.cpp:730 msgid "AF Fine Tune" msgstr "AF fino podešavanje" #: src/nikonmn.cpp:730 msgid "AF fine tune" msgstr "AF fino podešavanje" #: src/nikonmn.cpp:731 msgid "AF Fine Tune Index" msgstr "AF indeks finog podešavanja" #: src/nikonmn.cpp:731 msgid "AF fine tune index" msgstr "AF indeks finog podešavanja" #: src/nikonmn.cpp:732 msgid "AF Fine Tune Adjustment" msgstr "AF prilagođenje finog podešavanja" #: src/nikonmn.cpp:732 msgid "AF fine tune adjustment" msgstr "AF prilagođenje finog podešavanja" #: src/nikonmn.cpp:734 msgid "Unknown Nikon AF Fine Tune Tag" msgstr "Nepoznata oznaka za Nikon AF Fino podešavanje" #: src/nikonmn.cpp:744 msgid "Timezone" msgstr "Vremenska zona" #: src/nikonmn.cpp:745 msgid "Daylight Savings" msgstr "Ljetno vrijeme" #: src/nikonmn.cpp:745 msgid "Daylight savings" msgstr "Ljetno vrijeme" #: src/nikonmn.cpp:746 msgid "Date Display Format" msgstr "format prikaza datuma" #: src/nikonmn.cpp:746 msgid "Date display format" msgstr "Format prikaza datuma" #: src/nikonmn.cpp:748 msgid "Unknown Nikon World Time Tag" msgstr "Nepoznata oznaka Nikon svjetskog vremena" #: src/nikonmn.cpp:759 msgid "Hi 0.3" msgstr "Hi 0.3" #: src/nikonmn.cpp:760 msgid "Hi 0.5" msgstr "Hi 0.5" #: src/nikonmn.cpp:761 msgid "Hi 0.7" msgstr "Hi 0.7" #: src/nikonmn.cpp:762 msgid "Hi 1.0" msgstr "Hi 1.0" #: src/nikonmn.cpp:763 msgid "Hi 1.3" msgstr "Hi 1.3" #: src/nikonmn.cpp:764 msgid "Hi 1.5" msgstr "Hi 1.5" #: src/nikonmn.cpp:765 msgid "Hi 1.7" msgstr "Hi 1.7" #: src/nikonmn.cpp:766 msgid "Hi 2.0" msgstr "Hi 2.0" #: src/nikonmn.cpp:767 #, fuzzy msgid "Hi 2.3" msgstr "Hi 2.0" #: src/nikonmn.cpp:768 #, fuzzy msgid "Hi 2.5" msgstr "Hi 2.0" #: src/nikonmn.cpp:769 #, fuzzy msgid "Hi 2.7" msgstr "Hi 2.0" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "Lo 0.3" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "Lo 0.5" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "Lo 0.7" #: src/nikonmn.cpp:778 msgid "Lo 1.0" msgstr "Lo 1.0" #: src/nikonmn.cpp:784 msgid "ISO Expansion" msgstr "ISO povecanje" #: src/nikonmn.cpp:784 msgid "ISO expansion" msgstr "Iso povecanje" #: src/nikonmn.cpp:785 msgid "ISO 2" msgstr "ISO 2" #: src/nikonmn.cpp:786 msgid "ISO Expansion 2" msgstr "ISO povecanje broj dva" #: src/nikonmn.cpp:786 msgid "ISO expansion 2" msgstr "iso ekspanzija 2" #: src/nikonmn.cpp:788 msgid "Unknown Nikon Iso Info Tag" msgstr "nepoznata nikon iso info oznaka" #: src/nikonmn.cpp:798 msgid "Single Area" msgstr "jedno podrucje" #: src/nikonmn.cpp:799 msgid "Dynamic Area" msgstr "dinamičko područje" #: src/nikonmn.cpp:800 msgid "Dynamic Area, Closest Subject" msgstr "dinamičko područje, najbliži subjekt" #: src/nikonmn.cpp:801 msgid "Group Dynamic" msgstr "dinamicka grupa" #: src/nikonmn.cpp:802 msgid "Single Area (wide)" msgstr "jedno područje ( široko)" #: src/nikonmn.cpp:803 msgid "Dynamic Area (wide)" msgstr "dinamičko područje (prostrano)" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 msgid "Mid-left" msgstr "Sredina - lijevo" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 msgid "Mid-right" msgstr "Sredina - desno" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 msgid "Far Left" msgstr "Skroz lijevo" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 msgid "Far Right" msgstr "Skroz desno" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 msgid "AF area mode" msgstr "Af područje" #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 msgid "AF point" msgstr "AF tačka" #: src/nikonmn.cpp:840 msgid "AF Points In Focus" msgstr "Af tačka u fokusu" #: src/nikonmn.cpp:840 msgid "AF points in focus" msgstr "AF tačka u fokusu" #: src/nikonmn.cpp:842 msgid "Unknown Nikon Auto Focus Tag" msgstr "nepoznata nikon auto fokus oznaka" #: src/nikonmn.cpp:853 msgid "On (51-point)" msgstr "upaljeno (51- bodtačka)" #: src/nikonmn.cpp:854 msgid "On (11-point)" msgstr "upaljeno(11-tačaka)" #: src/nikonmn.cpp:855 #, fuzzy msgid "On (39-point)" msgstr "upaljeno (51- bodtačka)" #: src/nikonmn.cpp:856 #, fuzzy msgid "On (73-point)" msgstr "upaljeno (51- bodtačka)" #: src/nikonmn.cpp:857 #, fuzzy msgid "On (73-point, new)" msgstr "upaljeno (51- bodtačka)" #: src/nikonmn.cpp:858 #, fuzzy msgid "On (105-point)" msgstr "upaljeno(11-tačaka)" #: src/nikonmn.cpp:864 msgid "Contrast Detect AF" msgstr "kontrast detektovan af" #: src/nikonmn.cpp:864 msgid "Contrast detect AF" msgstr "kontrast detektovan af" #: src/nikonmn.cpp:866 msgid "Phase Detect AF" msgstr "faza otkrivena AF" #: src/nikonmn.cpp:866 msgid "Phase detect AF" msgstr "faza otkrivena AF" #: src/nikonmn.cpp:867 msgid "Primary AF Point" msgstr "primarna AF tačka" #: src/nikonmn.cpp:867 msgid "Primary AF point" msgstr "primarna AF tačka" #: src/nikonmn.cpp:869 msgid "AF Image Width" msgstr "AF širina slike" #: src/nikonmn.cpp:869 msgid "AF image width" msgstr "AF širina slike" #: src/nikonmn.cpp:870 msgid "AF Image Height" msgstr "AF tezina slike" #: src/nikonmn.cpp:870 msgid "AF image height" msgstr "AF visina slike" #: src/nikonmn.cpp:871 msgid "AF Area X Position" msgstr "AF područje x pozicije" #: src/nikonmn.cpp:871 msgid "AF area x position" msgstr "AF područje x pozicije" #: src/nikonmn.cpp:872 msgid "AF Area Y Position" msgstr "AF područje y pozicije" #: src/nikonmn.cpp:872 msgid "AF area y position" msgstr "AF područje y pozicije" #: src/nikonmn.cpp:873 msgid "AF Area Width" msgstr "Širina AF područja" #: src/nikonmn.cpp:873 msgid "AF area width" msgstr "Širina AF područja" #: src/nikonmn.cpp:874 msgid "AF Area Height" msgstr "Visina AF područja" #: src/nikonmn.cpp:874 msgid "AF area height" msgstr "Visina AF područja" #: src/nikonmn.cpp:875 msgid "Contrast Detect AF In Focus" msgstr "Detektor kontrasta AF u fokusu." #: src/nikonmn.cpp:875 msgid "Contrast detect AF in focus" msgstr "Detektor kontrasta AF u fokusu." #: src/nikonmn.cpp:877 msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "Oznaka za nepoznati Nikon Auto Focus 2" #: src/nikonmn.cpp:888 msgid "Directory Number" msgstr "Broj direktorija" #: src/nikonmn.cpp:888 msgid "Directory number" msgstr "Broj direktorija" #: src/nikonmn.cpp:891 msgid "Unknown Nikon File Info Tag" msgstr "Nepoznata oznaka za Nikon Info datoteku" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 msgid "Multiple Exposure" msgstr "Višestruka ekspozicija" #: src/nikonmn.cpp:903 msgid "Image Overlay" msgstr "Sloj slike" #: src/nikonmn.cpp:909 msgid "Multi Exposure Mode" msgstr "Režim višestruke ekspozicije" #: src/nikonmn.cpp:909 msgid "Multi exposure mode" msgstr "Režim višestruke ekspozicije" #: src/nikonmn.cpp:910 msgid "Multi Exposure Shots" msgstr "Snimci višestruke ekspozicije" #: src/nikonmn.cpp:910 msgid "Multi exposure shots" msgstr "Snimci višestruke ekspozicije" #: src/nikonmn.cpp:911 msgid "Multi Exposure Auto Gain" msgstr "Visestruka izlozenost je dobijena automatski." #: src/nikonmn.cpp:911 msgid "Multi exposure auto gain" msgstr "Visestruka izlozenost je dobijena automatski." #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 msgid "Unknown Nikon Multi Exposure Tag" msgstr "Nepoznata oznaka Nikon višestruke ekspozicije" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 msgid "Internal" msgstr "Unutrašnji" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "1.01 (SB-800 or Metz 58 AF-1)" #: src/nikonmn.cpp:991 msgid "iTTL-BL" msgstr "iTTL-BL" #: src/nikonmn.cpp:992 msgid "iTTL" msgstr "iTTL" #: src/nikonmn.cpp:993 msgid "Auto Aperture" msgstr "Auto blenda" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "GN (prioritet udaljenosti)" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 msgid "Repeating Flash" msgstr "ponavljanje bljeska" #: src/nikonmn.cpp:1004 msgid "Bounce Flash" msgstr "odskočni bljesak" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "adapter širokog bljeska" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "FL-GL1" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "FL-GL2" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "TN-A1" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "TN-A2" #: src/nikonmn.cpp:1018 msgid "Amber" msgstr "Amber" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash Source" msgstr "izvor bljeska" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash source" msgstr "izvor bljeska" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 msgid "0x0005" msgstr "0x0005" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 msgid "External Flash Firmware" msgstr "Eksterni Flash Firmware" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 msgid "External flash firmware" msgstr "Eksterni Flash Firmware" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 msgid "External Flash Flags" msgstr "Zastave vanjskog blica." #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 msgid "External flash flags" msgstr "Zastave vanjskog blica." #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 msgid "Flash Focal Length" msgstr "Fokusna Dužina Bljeska" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 msgid "Flash focal length" msgstr "Flash fokusna dužina" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "Mjera ponavljanja bljeska" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating flash rate" msgstr "Mjera ponavljanja bljeska" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "broj ponavljanja bljeska" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating flash count" msgstr "broj ponavljanja bljeska" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN Distance" msgstr "GN udaljenost bljeska" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN distance" msgstr "GN udaljenost bljeska" #: src/nikonmn.cpp:1032 msgid "Flash Group A Control Mode" msgstr "Grupa A kontrolnog režima bljeska" #: src/nikonmn.cpp:1032 msgid "Flash group a control mode" msgstr "Grupa A kontrolnog režima bljeska" #: src/nikonmn.cpp:1033 msgid "Flash Group B Control Mode" msgstr "Grupa B kontrolnog režima bljeska" #: src/nikonmn.cpp:1033 msgid "Flash group b control mode" msgstr "Grupa B kontrolnog režima bljeska" #: src/nikonmn.cpp:1073 msgid "Flash Color Filter" msgstr "Filter boje bljeska" #: src/nikonmn.cpp:1073 msgid "Flash color filter" msgstr "Filter boje bljeska" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 msgid "Shutter count" msgstr "Brojač zatvarača" #: src/nikonmn.cpp:1088 msgid "Unknown Nikon Shot Info D80 Tag" msgstr "Nepoznata Nikon Shot Info D80 oznaka" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 msgid "Flash Level" msgstr "Nivo bljeska" #: src/nikonmn.cpp:1100 msgid "Flash level" msgstr "Nivo bljeska" #: src/nikonmn.cpp:1102 msgid "Unknown Nikon Shot Info D40 Tag" msgstr "Nepoznata Nikon Shot Info D40 oznaka" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF Fine Tune Adj" msgstr "AF Fino Podesavanje Adj" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF fine tune adj" msgstr "AF fino podesavanje Adj" #: src/nikonmn.cpp:1162 msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "Nepoznata Nikon Shot Info D300 (a) oznaka" #: src/nikonmn.cpp:1222 msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "Nepoznata Nikon Shot Info D300 (b) oznaka" #: src/nikonmn.cpp:1235 msgid "On (3)" msgstr "Uključeno (3)" #: src/nikonmn.cpp:1248 msgid "Shutter Count 1" msgstr "broj zatvaranja 1" #: src/nikonmn.cpp:1248 msgid "Shutter count 1" msgstr "broj zatvaranja 1" #: src/nikonmn.cpp:1251 msgid "Vibration Reduction 1" msgstr "Redukcija vibracije 1" #: src/nikonmn.cpp:1251 msgid "Vibration reduction 1" msgstr "Redukcija vibracije 1" #: src/nikonmn.cpp:1252 msgid "Shutter Count 2" msgstr "broj zatvaranja 2" #: src/nikonmn.cpp:1252 msgid "Shutter count 2" msgstr "broj zatvaranja 2" #: src/nikonmn.cpp:1253 msgid "Vibration Reduction 2" msgstr "redukcija vibracije 2" #: src/nikonmn.cpp:1253 msgid "Vibration reduction 2" msgstr "redukcija vibracije 2" #: src/nikonmn.cpp:1257 msgid "Unknown Nikon Shot Info Tag" msgstr "Nepoznata Nikon Shot Info oznaka" #: src/nikonmn.cpp:1268 msgid "WB RBGG Levels" msgstr "WB RBGG razine" #: src/nikonmn.cpp:1268 msgid "WB RBGG levels" msgstr "WB RBGG nivoi" #: src/nikonmn.cpp:1270 msgid "Unknown Nikon Color Balance 1 Tag" msgstr "Nepoznata oznaka Nikon Balans boje 1" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB Levels" msgstr "WB RGGB nivoi" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB levels" msgstr "WB RGGB nivoi" #: src/nikonmn.cpp:1283 msgid "Unknown Nikon Color Balance 2 Tag" msgstr "Nepoznata oznaka Nikon Balans boje 2" #: src/nikonmn.cpp:1296 msgid "Unknown Nikon Color Balance 2a Tag" msgstr "Nepoznata oznaka Nikon Balans boje 2" #: src/nikonmn.cpp:1309 msgid "Unknown Nikon Color Balance 2b Tag" msgstr "Nepoznata oznaka Nikon Balans boje 2b" #: src/nikonmn.cpp:1320 msgid "WB RGBG Levels" msgstr "WB RGGB nivoi" #: src/nikonmn.cpp:1320 msgid "WB RGBG levels" msgstr "WB RGGB nivoi" #: src/nikonmn.cpp:1322 msgid "Unknown Nikon Color Balance 3 Tag" msgstr "Nepoznata oznaka Nikon Balans boje 3" #: src/nikonmn.cpp:1333 msgid "WB GRBG Levels" msgstr "WB RGGB nivoi" #: src/nikonmn.cpp:1333 msgid "WB GRBG levels" msgstr "WB RGGB nivoi" #: src/nikonmn.cpp:1335 msgid "Unknown Nikon Color Balance 4 Tag" msgstr "Nepoznata oznaka Nikon Balans boje 4" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID Number" msgstr "Identifikacioni broj objektiva" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID number" msgstr "Identifikacioni broj objektiva" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 msgid "Lens F-Stops" msgstr "F-prekidi sočiva" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 msgid "Lens F-stops" msgstr "F-prekidi sočiva" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min Focal Length" msgstr "minimalna žarišna daljina" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min focal length" msgstr "minimalna žarišna daljina" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max Focal Length" msgstr "Maksimalna fokusna dužina" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max focal length" msgstr "Maksimalna fokusna dužina" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 msgid "Max Aperture At Min Focal" msgstr "Maksimalan otvor na minimalnom fokusu" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 msgid "Max aperture at min focal" msgstr "Maksimalan otvor na minimalnom fokusu" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 msgid "Max Aperture At Max Focal" msgstr "Maksimalan otvor na maksimalnom fokusu" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 msgid "Max aperture at max focal" msgstr "Maksimalan otvor na maksimalnom fokusu" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU Version" msgstr "MCU verzija" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU version" msgstr "MCU verzija" #: src/nikonmn.cpp:1354 msgid "Unknown Nikon Lens Data 1 Tag" msgstr "Nepoznati Nikon Podatak Objektiva 1 Oznaka" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit Pupil Position" msgstr "Izlazni đački položaj" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit pupil position" msgstr "Izlazni đački položaj" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 msgid "AF Aperture" msgstr "AF otvor" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 msgid "AF aperture" msgstr "AF otvor" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective Max Aperture" msgstr "Efektivni maksimalni otvor" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective max aperture" msgstr "Efektivni maksimalni otvor" #: src/nikonmn.cpp:1379 msgid "Unknown Nikon Lens Data 2 Tag" msgstr "Nepoznata oznaka Nikon Podatka Objektiva 2" #: src/nikonmn.cpp:1399 msgid "Max aperture at min focal length" msgstr "Maksimalan otvor na minimalnoj dužini fokusa" #: src/nikonmn.cpp:1400 msgid "Max aperture at max focal length" msgstr "Maksimalan otvor na maksimalnoj dužini fokusa" #: src/nikonmn.cpp:1404 msgid "Unknown Nikon Lens Data 3 Tag" msgstr "Nepoznata oznaka Nikon Podatka Objektiva 3" #: src/nikonmn.cpp:1590 msgid "Closest subject" msgstr "najbliži subjekat" #: src/nikonmn.cpp:1591 msgid "Group dynamic-AF" msgstr "grupni dinamički af" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "nikakav" #: src/nikonmn.cpp:1624 msgid "used" msgstr "korišteno" #: src/nikonmn.cpp:1650 msgid "All 11 Points" msgstr "Svih 11 tačaka" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 msgid "Single-frame" msgstr "Jedan okvir" #: src/olympusmn.cpp:71 msgid "Standard Quality (SQ)" msgstr "standardni kvalitet ( SQ)" #: src/olympusmn.cpp:72 msgid "High Quality (HQ)" msgstr "visoki kvalitet (HQ)" #: src/olympusmn.cpp:73 msgid "Super High Quality (SHQ)" msgstr "super visoka kvaliteta (SHQ)" #: src/olympusmn.cpp:88 msgid "On (preset)" msgstr "Uključeno(podesi)" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 msgid "Sport" msgstr "Sport" #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 msgid "Landscape+Portrait" msgstr "pejzaž+portret" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 msgid "Self Portrait" msgstr "Auto portret" #: src/olympusmn.cpp:102 msgid "2 in 1" msgstr "2 u 1" #: src/olympusmn.cpp:105 msgid "Night+Portrait" msgstr "noćni portret" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "Hrana" #: src/olympusmn.cpp:112 msgid "Documents" msgstr "Dokumenta" #: src/olympusmn.cpp:114 msgid "Shoot & Select" msgstr "slikanje i selektiranje" #: src/olympusmn.cpp:115 msgid "Beach & Snow" msgstr "plaža i snijeg" #: src/olympusmn.cpp:116 msgid "Self Portrait+Timer" msgstr "samo portret+ brojač vremena" #: src/olympusmn.cpp:117 msgid "Candle" msgstr "Svijeća" #: src/olympusmn.cpp:118 msgid "Available Light" msgstr "dozvoljeno svijetlo" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "iza stakla" #: src/olympusmn.cpp:120 msgid "My Mode" msgstr "moj način" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 msgid "Pet" msgstr "ljubimac" #: src/olympusmn.cpp:122 msgid "Underwater Wide1" msgstr "podvodna širina1" #: src/olympusmn.cpp:123 msgid "Underwater Macro" msgstr "podvodni makro" #: src/olympusmn.cpp:124 msgid "Shoot & Select1" msgstr "slikanje i selektiranje 1" #: src/olympusmn.cpp:125 msgid "Shoot & Select2" msgstr "slikanje i selektiranje 2" #: src/olympusmn.cpp:127 msgid "Digital Image Stabilization" msgstr "Digitalna stabilizacija slike" #: src/olympusmn.cpp:128 msgid "Auction" msgstr "Aukcija" #: src/olympusmn.cpp:131 msgid "Underwater Wide2" msgstr "podvodna širina 2" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "Djeca" #: src/olympusmn.cpp:135 msgid "Nature Macro" msgstr "prirodna makro" #: src/olympusmn.cpp:136 msgid "Underwater Snapshot" msgstr "podvodno slikanje" #: src/olympusmn.cpp:137 msgid "Shooting Guide" msgstr "vodič za slikanje" #: src/olympusmn.cpp:145 msgid "Internal + External" msgstr "vanjski i unutrašnji" #: src/olympusmn.cpp:176 msgid "Interlaced" msgstr "Prepleteno" #: src/olympusmn.cpp:177 msgid "Progressive" msgstr "Progresivno" #: src/olympusmn.cpp:188 msgid "Thumbnail Image" msgstr "Sličica" #: src/olympusmn.cpp:189 msgid "Thumbnail image" msgstr "Mala slika" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body Firmware Version" msgstr "Tijelo Firmware verzije" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body firmware version" msgstr "Tijelo firmware verzije" #: src/olympusmn.cpp:195 msgid "Special Mode" msgstr "specijalni način" #: src/olympusmn.cpp:196 msgid "Picture taking mode" msgstr "način slikanja" #: src/olympusmn.cpp:204 msgid "Black & White Mode" msgstr "Crno-bijeli način" #: src/olympusmn.cpp:205 msgid "Black and white mode" msgstr "Crno-bijeli režim" #: src/olympusmn.cpp:208 msgid "Digital zoom ratio" msgstr "Omjer digitalnog zumiranja" #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 msgid "Focal Plane Diagonal" msgstr "Dijagonala žarišne ravni" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 msgid "Focal plane diagonal" msgstr "Fokusna dijagonalna osnova" #: src/olympusmn.cpp:213 msgid "Lens Distortion Parameters" msgstr "Parametri distorzije objektiva" #: src/olympusmn.cpp:214 msgid "Lens distortion parameters" msgstr "Parametri zakrivljenosti objektiva" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 msgid "Camera Type" msgstr "Tip kamere" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 msgid "Camera type" msgstr "Vrsta aparata" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "Ascii format podatka kao [PictureInfo]" #: src/olympusmn.cpp:222 msgid "Camera ID" msgstr "ID foto-aparata" #: src/olympusmn.cpp:223 msgid "Camera ID data" msgstr "ID podaci kamere" #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "Softver" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 msgid "Preview Image" msgstr "Pregled slike" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 msgid "Preview image" msgstr "Pregledna slika" #: src/olympusmn.cpp:237 msgid "Pre Capture Frames" msgstr "Pred Slikanje Okviri" #: src/olympusmn.cpp:238 msgid "Pre-capture frames" msgstr "Pred-slikanje okviri" #: src/olympusmn.cpp:240 msgid "White Board" msgstr "bijela ploča" #: src/olympusmn.cpp:241 msgid "White board" msgstr "bijela ploča" #: src/olympusmn.cpp:243 msgid "One Touch WB" msgstr "WB na dodir" #: src/olympusmn.cpp:244 msgid "One touch white balance" msgstr "Balans bijele boje na dodir" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 msgid "White Balance Bracket" msgstr "bijelo balansiran bracket" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 msgid "White balance bracket" msgstr "bijelo balansiran bracket" #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 msgid "Firmware" msgstr "Firmver" #: src/olympusmn.cpp:261 msgid "Data Dump 1" msgstr "Prikaz podatka 1" #: src/olympusmn.cpp:262 msgid "Various camera settings 1" msgstr "Različita podešavanja kamere 1" #: src/olympusmn.cpp:264 msgid "Data Dump 2" msgstr "Prikaz podatka 2" #: src/olympusmn.cpp:265 msgid "Various camera settings 2" msgstr "raznovrsna podešavanja kamere 2" #: src/olympusmn.cpp:268 msgid "Shutter speed value" msgstr "vrijednost brzine zatvranja" #: src/olympusmn.cpp:271 msgid "ISO speed value" msgstr "ISO vrijednost brzine" #: src/olympusmn.cpp:274 msgid "Aperture value" msgstr "Veličina otvora" #: src/olympusmn.cpp:277 msgid "Brightness value" msgstr "vrijednost osvjetljenja" #: src/olympusmn.cpp:285 msgid "Bracket" msgstr "Zagrada" #: src/olympusmn.cpp:286 msgid "Exposure compensation value" msgstr "Vrijednost kompenzacije izlaganja" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 msgid "Sensor Temperature" msgstr "Temperatura senzora" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 msgid "Sensor temperature" msgstr "Senzorska temperatura" #: src/olympusmn.cpp:291 msgid "Lens Temperature" msgstr "Temperature objektiva" #: src/olympusmn.cpp:292 msgid "Lens temperature" msgstr "temperatura leće" #: src/olympusmn.cpp:294 msgid "Light Condition" msgstr "Stanje osvjetljenja" #: src/olympusmn.cpp:295 msgid "Light condition" msgstr "Uslov svjetla" #: src/olympusmn.cpp:297 msgid "Focus Range" msgstr "Domet fokusa" #: src/olympusmn.cpp:298 msgid "Focus range" msgstr "Doseg žiže" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "Uvećaj" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 msgid "Zoom step count" msgstr "Brojač koraka uvećavanja" #: src/olympusmn.cpp:309 msgid "Macro Focus" msgstr "makro fokus" #: src/olympusmn.cpp:310 msgid "Macro focus step count" msgstr "Brojač koraka makro fokusa" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 msgid "Sharpness Factor" msgstr "Faktor oštrine" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 msgid "Sharpness factor" msgstr "Faktor oštrine" #: src/olympusmn.cpp:315 msgid "Flash Charge Level" msgstr "Nivo punjenja bljeska" #: src/olympusmn.cpp:316 msgid "Flash charge level" msgstr "nivo punjenja bljeska" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 msgid "Color Matrix" msgstr "Matrica boja" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 msgid "Color matrix" msgstr "Matrica boja" #: src/olympusmn.cpp:321 msgid "BlackLevel" msgstr "Crnilo" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 msgid "Black level" msgstr "Razina crne" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 msgid "White balance mode" msgstr "način bijelog balansa" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 msgid "Red Balance" msgstr "Balans crvene" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 msgid "Red balance" msgstr "Balans crvene" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 msgid "Blue Balance" msgstr "Balans plave" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 msgid "Blue balance" msgstr "Balans plave" #: src/olympusmn.cpp:342 msgid "Color Matrix Number" msgstr "Broj matrice boja" #: src/olympusmn.cpp:343 #, fuzzy msgid "Color matrix number" msgstr "Matrica boja mumber" #: src/olympusmn.cpp:345 msgid "Serial Number 2" msgstr "serijski broj dva" #: src/olympusmn.cpp:346 msgid "Serial number 2" msgstr "serijski broj dva" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 msgid "Flash exposure compensation" msgstr "Nadomešćivanje osvjetljenja blicom" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 msgid "External Flash Bounce" msgstr "Vanjski odskočni bljesak" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 msgid "External flash bounce" msgstr "Vanjski odskočni bljesak" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 msgid "External Flash Zoom" msgstr "Vanjsko Zumiranje Bljeska" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 msgid "External flash zoom" msgstr "Vanjsko zumiranje bljeska" #: src/olympusmn.cpp:387 msgid "External Flash Mode" msgstr "Vanjski način bljeska" #: src/olympusmn.cpp:388 msgid "External flash mode" msgstr "Vanjski režim bljeska" #: src/olympusmn.cpp:396 msgid "Color Control" msgstr "Regulacija boje" #: src/olympusmn.cpp:397 msgid "Color control" msgstr "kontrola boja" #: src/olympusmn.cpp:399 msgid "ValidBits" msgstr "Važeći bitovi" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 msgid "Valid bits" msgstr "Važeći bitovi" #: src/olympusmn.cpp:402 msgid "CoringFilter" msgstr "FilterProvedenogJezgrovanja" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 msgid "Coring filter" msgstr "Filter provedenog jezgovanja" #: src/olympusmn.cpp:423 msgid "Compression Ratio" msgstr "Srazmjer kompresije" #: src/olympusmn.cpp:424 msgid "Compression ratio" msgstr "Omjer kompresije" #: src/olympusmn.cpp:427 msgid "Preview image embedded" msgstr "Ugrađen pregled slike" #: src/olympusmn.cpp:430 msgid "Offset of the preview image" msgstr "Pomak slike koja se pregleda." #: src/olympusmn.cpp:433 msgid "Size of the preview image" msgstr "Veličina pregleda slike" #: src/olympusmn.cpp:435 msgid "CCD Scan Mode" msgstr "CCD način skeniranja" #: src/olympusmn.cpp:436 msgid "CCD scan mode" msgstr "CCD način skeniranja" #: src/olympusmn.cpp:441 msgid "Infinity Lens Step" msgstr "Korak infiniti objektiva" #: src/olympusmn.cpp:442 msgid "Infinity lens step" msgstr "Korak Beskonačnosti objektiva" #: src/olympusmn.cpp:444 msgid "Near Lens Step" msgstr "Obližnji korak objektiva" #: src/olympusmn.cpp:445 msgid "Near lens step" msgstr "Obližnji korak objektiva" #: src/olympusmn.cpp:447 msgid "Equipment Info" msgstr "informacije o opremi" #: src/olympusmn.cpp:448 msgid "Camera equipment sub-IFD" msgstr "Oprema za kameru sub-IFD" #: src/olympusmn.cpp:451 msgid "Camera Settings sub-IFD" msgstr "Postavke kamere sub-IFD" #: src/olympusmn.cpp:453 msgid "Raw Development" msgstr "Sirovi razvoj" #: src/olympusmn.cpp:454 msgid "Raw development sub-IFD" msgstr "Osjetljivi razvoj sub-IFD" #: src/olympusmn.cpp:456 msgid "Raw Development 2" msgstr "Osjetljivi razvoj 2" #: src/olympusmn.cpp:457 msgid "Raw development 2 sub-IFD" msgstr "Sirovi razvoj 2 sub-IFD" #: src/olympusmn.cpp:460 msgid "Image processing sub-IFD" msgstr "Procesiranje slike sub-IFD" #: src/olympusmn.cpp:462 msgid "Focus Info" msgstr "Informacija o fokusu" #: src/olympusmn.cpp:463 msgid "Focus sub-IFD" msgstr "Fokus sub-IFD" #: src/olympusmn.cpp:465 msgid "Raw Info" msgstr "Sirova Informacija" #: src/olympusmn.cpp:466 msgid "Raw sub-IFD" msgstr "Sirova sub-IFD" #: src/olympusmn.cpp:470 msgid "Unknown OlympusMakerNote tag" msgstr "Nepoznata oznaka za OlympusMakerNote" #: src/olympusmn.cpp:486 msgid "Program-shift" msgstr "Promjena programa" #: src/olympusmn.cpp:491 msgid "Center-weighted average" msgstr "Središnje težinski prosjek" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "ESP" #: src/olympusmn.cpp:494 msgid "Pattern+AF" msgstr "uzorak+AF" #: src/olympusmn.cpp:495 msgid "Spot+Highlight control" msgstr "kontrola Obilježi + Markiraj" #: src/olympusmn.cpp:496 msgid "Spot+Shadow control" msgstr "kontrola Obilježi + Osjenči" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 msgid "Single AF" msgstr "samo AF" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "Sekvencijalno snimanje AF" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 msgid "Multi AF" msgstr "više AF" #: src/olympusmn.cpp:517 msgid "AF Not Used" msgstr "AF nije korišten" #: src/olympusmn.cpp:518 msgid "AF Used" msgstr "AF korišten" #: src/olympusmn.cpp:523 msgid "Not Ready" msgstr "Nije spreman" #: src/olympusmn.cpp:524 msgid "Ready" msgstr "Spreman" #: src/olympusmn.cpp:531 msgid "Fill-in" msgstr "Popuni" #: src/olympusmn.cpp:533 msgid "Slow-sync" msgstr "spora sinhronizacija" #: src/olympusmn.cpp:534 msgid "Forced On" msgstr "Prisilni na" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "2. zastor" #: src/olympusmn.cpp:541 msgid "Channel 1, Low" msgstr "kanal 1,nisko" #: src/olympusmn.cpp:542 msgid "Channel 2, Low" msgstr "Kanal 2,nisko" #: src/olympusmn.cpp:543 msgid "Channel 3, Low" msgstr "Kanal 3,nisko" #: src/olympusmn.cpp:544 msgid "Channel 4, Low" msgstr "Kanal 4,nisko" #: src/olympusmn.cpp:545 msgid "Channel 1, Mid" msgstr "Kanal 1,srednje" #: src/olympusmn.cpp:546 msgid "Channel 2, Mid" msgstr "Kanal 2,srednje" #: src/olympusmn.cpp:547 msgid "Channel 3, Mid" msgstr "Kanal 3,srednje" #: src/olympusmn.cpp:548 msgid "Channel 4, Mid" msgstr "Kanal 4,srednje" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "Kanal 1,visoko" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "Kanal 2,visoko" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "Kanal 3,visoko" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "Kanal 4,visoko" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "" #: src/olympusmn.cpp:567 msgid "7500K (Fine Weather with Shade)" msgstr "7500K (Lijepo vrijeme sa sjenom)" #: src/olympusmn.cpp:568 msgid "6000K (Cloudy)" msgstr "6000K (Oblačno)" #: src/olympusmn.cpp:569 msgid "5300K (Fine Weather)" msgstr "5300K (Lijepo vrijeme)" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "3000K (žarna nit)" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 msgid "3600K (Tungsten light-like)" msgstr "3600K (kao Volfram svjetlo)" #: src/olympusmn.cpp:572 #, fuzzy msgid "Auto Setup" msgstr "Auto blenda" #: src/olympusmn.cpp:573 #, fuzzy msgid "5500K (Flash)" msgstr "Auto (Bljesak)" #: src/olympusmn.cpp:574 msgid "6600K (Daylight fluorescent)" msgstr "6600K (fluorescentna svjetlost)" #: src/olympusmn.cpp:575 msgid "4500K (Neutral white fluorescent)" msgstr "4500K (Neutralna bijela fluorescentno)" #: src/olympusmn.cpp:576 msgid "4000K (Cool white fluorescent)" msgstr "4000K (Hladno bijelo fluorescentno)" #: src/olympusmn.cpp:577 #, fuzzy msgid "White Fluorescent" msgstr "Bijela fluorescentna svjetlost" #: src/olympusmn.cpp:580 #, fuzzy msgid "One Touch WB 1" msgstr "WB na dodir" #: src/olympusmn.cpp:581 #, fuzzy msgid "One Touch WB 2" msgstr "WB na dodir" #: src/olympusmn.cpp:582 #, fuzzy msgid "One Touch WB 3" msgstr "WB na dodir" #: src/olympusmn.cpp:583 #, fuzzy msgid "One Touch WB 4" msgstr "WB na dodir" #: src/olympusmn.cpp:584 msgid "Custom WB 1" msgstr "Uobičajeni WB 1" #: src/olympusmn.cpp:585 msgid "Custom WB 2" msgstr "Uobičajeni WB 2" #: src/olympusmn.cpp:586 msgid "Custom WB 3" msgstr "Uobičajeni WB 3" #: src/olympusmn.cpp:587 msgid "Custom WB 4" msgstr "Uobičajeni WB 4" #: src/olympusmn.cpp:593 msgid "CM1 (Red Enhance)" msgstr "CM1 (Poboljšanje crvene boje)" #: src/olympusmn.cpp:594 msgid "CM2 (Green Enhance)" msgstr "CM2 (Poboljšanje zelene boje)" #: src/olympusmn.cpp:595 msgid "CM3 (Blue Enhance)" msgstr "CM3 (Poboljšanje plave boje)" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "CM4 (tonovi kože)" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "Pro Photo RGB" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 msgid "Noise Filter" msgstr "Filter za šum" #: src/olympusmn.cpp:610 msgid "Noise Filter (ISO Boost)" msgstr "Filter Šuma(ISO Porast)" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 msgid "Muted" msgstr "Zatišano" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 msgid "Monotone" msgstr "monotonija" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "SQ" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "HQ" #: src/olympusmn.cpp:648 msgid "SHQ" msgstr "SHQ" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 msgid "On, Mode 1" msgstr "uključeno,način 1" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 msgid "On, Mode 2" msgstr "uključeno,način 2" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 msgid "On, Mode 3" msgstr "uključeno,način 3" #: src/olympusmn.cpp:661 msgid "Camera Settings Version" msgstr "Verzija postavki kamere" #: src/olympusmn.cpp:661 msgid "Camera settings version" msgstr "Verzija postavki za kameru" #: src/olympusmn.cpp:662 msgid "PreviewImage Valid" msgstr "Validni pregled slike" #: src/olympusmn.cpp:662 msgid "Preview image valid" msgstr "Pregled slike ispravan" #: src/olympusmn.cpp:663 msgid "PreviewImage Start" msgstr "Početak pregleda slike" #: src/olympusmn.cpp:663 msgid "Preview image start" msgstr "Početak pregleda slike" #: src/olympusmn.cpp:664 msgid "PreviewImage Length" msgstr "Dužina pregleda slike" #: src/olympusmn.cpp:664 msgid "Preview image length" msgstr "Duzina pregleda slike" #: src/olympusmn.cpp:666 msgid "Auto exposure lock" msgstr "Automatsko zaključavanje ekspozicije" #: src/olympusmn.cpp:668 msgid "Exposure Shift" msgstr "Promjena izlaganja" #: src/olympusmn.cpp:668 msgid "Exposure shift" msgstr "Pomak izloženosti" #: src/olympusmn.cpp:671 msgid "Focus Process" msgstr "Proces fokusa" #: src/olympusmn.cpp:671 msgid "Focus process" msgstr "Proces fokusa" #: src/olympusmn.cpp:672 msgid "AF Search" msgstr "AF pretraga" #: src/olympusmn.cpp:672 msgid "AF search" msgstr "AF pretraga" #: src/olympusmn.cpp:673 msgid "AF Areas" msgstr "AF oblasti" #: src/olympusmn.cpp:673 msgid "AF areas" msgstr "AF oblasti" #: src/olympusmn.cpp:674 msgid "AFPointSelected" msgstr "AF odabrana tačka" #: src/olympusmn.cpp:675 msgid "AF Fine Tune Adjust" msgstr "AF Fino podešavanje" #: src/olympusmn.cpp:675 msgid "AF fine tune adjust" msgstr "AF Fino podešavanje" #: src/olympusmn.cpp:678 msgid "Flash Remote Control" msgstr "Daljinsko upravljanje bljeska" #: src/olympusmn.cpp:678 msgid "Flash remote control" msgstr "Daljinsko upravljanje bljeska" #: src/olympusmn.cpp:679 msgid "Flash Control Mode" msgstr "Režim kontrole bljeska" #: src/olympusmn.cpp:679 msgid "Flash control mode" msgstr "Režim kontrole bljeska" #: src/olympusmn.cpp:680 msgid "Flash Intensity" msgstr "fleš intenzitet" #: src/olympusmn.cpp:680 msgid "Flash intensity" msgstr "fleš intenzitet" #: src/olympusmn.cpp:681 msgid "Manual Flash Strength" msgstr "ručna fleš snaga" #: src/olympusmn.cpp:681 msgid "Manual flash strength" msgstr "ručna fleš snaga" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 msgid "White Balance 2" msgstr "bijeli balans 2" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 msgid "White balance 2" msgstr "bijeli balans 2" #: src/olympusmn.cpp:683 msgid "White Balance Temperature" msgstr "Temperatura ravnoteže bijele" #: src/olympusmn.cpp:683 msgid "White balance temperature" msgstr "bijeli balans temperatura" #: src/olympusmn.cpp:685 msgid "Custom Saturation" msgstr "Prilagođena saturacija" #: src/olympusmn.cpp:685 msgid "Custom saturation" msgstr "Uobičajeno zasićenje" #: src/olympusmn.cpp:686 msgid "Modified Saturation" msgstr "modificirano zasićenje" #: src/olympusmn.cpp:686 msgid "Modified saturation" msgstr "modificirano zasićenje" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 msgid "Contrast Setting" msgstr "Podešavanje kontrasta" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 msgid "Sharpness Setting" msgstr "Podešavanje oštrine" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion Correction" msgstr "Popravka distorzije" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion correction" msgstr "Popravka distorzije" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 msgid "Shading Compensation" msgstr "Kompenzacija sjenčenja" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 msgid "Shading compensation" msgstr "Kompenzacija sjenčenja" #: src/olympusmn.cpp:694 msgid "Compression Factor" msgstr "Faktor kompresije" #: src/olympusmn.cpp:694 msgid "Compression factor" msgstr "Faktor kompresije" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 msgid "Gradation" msgstr "Gradacija" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 msgid "Picture mode" msgstr "Režim slike" #: src/olympusmn.cpp:697 msgid "Picture Mode Saturation" msgstr "Režim zasićenja slike" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 msgid "Picture mode saturation" msgstr "Režim zasićenja slike" #: src/olympusmn.cpp:698 msgid "Picture Mode Hue" msgstr "Nijanse slike" #: src/olympusmn.cpp:698 msgid "Picture mode hue" msgstr "Nijanse slike" #: src/olympusmn.cpp:699 msgid "Picture Mode Contrast" msgstr "Kontrast slike" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 msgid "Picture mode contrast" msgstr "Kontrast slike" #: src/olympusmn.cpp:700 msgid "Picture Mode Sharpness" msgstr "Oštrina slike" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 msgid "Picture mode sharpness" msgstr "Oštrina slike" #: src/olympusmn.cpp:701 msgid "Picture Mode BW Filter" msgstr "Crno-bijeli filter slike" #: src/olympusmn.cpp:701 msgid "Picture mode BW filter" msgstr "Crno-bijeli filter slike" #: src/olympusmn.cpp:702 msgid "Picture Mode Tone" msgstr "Ton slike" #: src/olympusmn.cpp:702 msgid "Picture mode tone" msgstr "Ton slike" #: src/olympusmn.cpp:703 msgid "Noise filter" msgstr "Filter šuma" #: src/olympusmn.cpp:704 msgid "Art Filter" msgstr "Umjetnički filter" #: src/olympusmn.cpp:704 msgid "Art filter" msgstr "Umjetnički filter" #: src/olympusmn.cpp:705 msgid "Magic Filter" msgstr "Magični filter" #: src/olympusmn.cpp:705 msgid "Magic filter" msgstr "Magični filter" #: src/olympusmn.cpp:707 msgid "Panorama Mode" msgstr "Panorama način" #: src/olympusmn.cpp:707 msgid "Panorama mode" msgstr "Panorama način" #: src/olympusmn.cpp:708 msgid "Image Quality 2" msgstr "kvalitet slike 2" #: src/olympusmn.cpp:708 msgid "Image quality 2" msgstr "kvalitet slike 2" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer Pressure" msgstr "Pritisak manometra" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer pressure" msgstr "Pritisak manometra" #: src/olympusmn.cpp:711 msgid "Manometer Reading" msgstr "Očitavanje manometra" #: src/olympusmn.cpp:711 msgid "Manometer reading" msgstr "Očitavanje manometra" #: src/olympusmn.cpp:712 msgid "Extended WB Detect" msgstr "Produženi WB Detektor" #: src/olympusmn.cpp:712 msgid "Extended WB detect" msgstr "Produženi WB Detektor" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "Razina vrtnje" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "Razina vrtnje" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "Parcela nivoa mjeraca" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "Parcela nivoa mjeraca" #: src/olympusmn.cpp:716 msgid "Unknown OlympusCs tag" msgstr "Nepoznata OlympusCs oznaka" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "Jednostavni E-sistem" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "E-sistem" #: src/olympusmn.cpp:745 msgid "Equipment Version" msgstr "verzija opreme" #: src/olympusmn.cpp:745 msgid "Equipment version" msgstr "verzija opreme" #: src/olympusmn.cpp:747 msgid "Serial number" msgstr "Serijski broj" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 msgid "Lens Serial Number" msgstr "Serijski broj objektiva" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 msgid "Lens serial number" msgstr "Serijski broj objektiva" #: src/olympusmn.cpp:754 msgid "Lens Firmware Version" msgstr "Firmware verzija lece" #: src/olympusmn.cpp:754 msgid "Lens firmware version" msgstr "Firmware verzija lece" #: src/olympusmn.cpp:759 msgid "Max Aperture At Current Focal" msgstr "Maximalni otvor na trenutnom fokusu" #: src/olympusmn.cpp:759 msgid "Max aperture at current focal" msgstr "Maximalni otvor na trenutnom fokusu" #: src/olympusmn.cpp:760 msgid "Lens Properties" msgstr "Osobine Objektiva" #: src/olympusmn.cpp:760 msgid "Lens properties" msgstr "Postavke Objektiva" #: src/olympusmn.cpp:761 msgid "Extender" msgstr "Produžetak" #: src/olympusmn.cpp:762 msgid "Extender Serial Number" msgstr "Serijski broj produžetka" #: src/olympusmn.cpp:762 msgid "Extender serial number" msgstr "Serijski broj produžetka" #: src/olympusmn.cpp:763 msgid "Extender Model" msgstr "Produžetak Model" #: src/olympusmn.cpp:763 msgid "Extender model" msgstr "Produžetak Model" #: src/olympusmn.cpp:764 msgid "Extender Firmware Version" msgstr "Proširena Verzija Mašinsko-programske opreme" #: src/olympusmn.cpp:764 msgid "Extender firmwareversion" msgstr "Proširena verzija mašinsko-programske opreme" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion Lens" msgstr "Konverzija Leće" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion lens" msgstr "Konverzija leće" #: src/olympusmn.cpp:767 src/properties.cpp:402 msgid "Flash Model" msgstr "Model bljeska" #: src/olympusmn.cpp:767 msgid "Flash model" msgstr "Model Bljeska" #: src/olympusmn.cpp:768 msgid "Flash Firmware Version" msgstr "Firmware verzija blica" #: src/olympusmn.cpp:768 msgid "Flash firmware version" msgstr "Firmware verzija blica" #: src/olympusmn.cpp:769 msgid "FlashSerialNumber" msgstr "Serijski Broj Bljeska" #: src/olympusmn.cpp:771 msgid "Unknown OlympusEq tag" msgstr "nepoznata OlympusEq oznaka" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 msgid "High Speed" msgstr "Visoka brzina" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 msgid "High Function" msgstr "visoka funkcija" #: src/olympusmn.cpp:790 msgid "Advanced High Speed" msgstr "napredna visoka brzina" #: src/olympusmn.cpp:791 msgid "Advanced High Function" msgstr "napredna visoka funkcija" #: src/olympusmn.cpp:796 msgid "Original" msgstr "Izvorno" #: src/olympusmn.cpp:797 msgid "Edited (Landscape)" msgstr "uređeni(pejsaž)" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 msgid "Edited (Portrait)" msgstr "uređeni(portret)" #: src/olympusmn.cpp:804 msgid "WB Color Temp" msgstr "WB Boja Uzorak" #: src/olympusmn.cpp:805 msgid "WB Gray Point" msgstr "WB siva tačka" #: src/olympusmn.cpp:815 msgid "Raw Development Version" msgstr "Osjetljivi Razvoj Verzija" #: src/olympusmn.cpp:815 msgid "Raw development version" msgstr "Osjetljivi razvoj verzija" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 msgid "Exposure Bias Value" msgstr "otklon ekspozicije" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 msgid "Exposure bias value" msgstr "Prednaponska vrijednost osvjetljenja" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White Balance Value" msgstr "Vrijednost balansa bijele boje" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White balance value" msgstr "Vrijednost balansa bijele boje" #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 msgid "WB Fine Adjustment" msgstr "WB Fino Prilagođavanje" #: src/olympusmn.cpp:818 msgid "WB fine adjustment" msgstr "WB fino podešavanje" #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 msgid "Gray Point" msgstr "siva tačka" #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 msgid "Gray point" msgstr "siva tačka" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation Emphasis" msgstr "Saturacijsko Isticanje" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation emphasis" msgstr "Saturacijsko isticanje" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory Color Emphasis" msgstr "Memorijski Naglasak Boje" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory color emphasis" msgstr "Memorijski naglasak boje" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast Value" msgstr "Vrijednost kontrasta" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast value" msgstr "Vrijednost kontrasta" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness Value" msgstr "vrijednosti oštrine" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness value" msgstr "vrijednosti oštrine" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 msgid "Engine" msgstr "Pogon" #: src/olympusmn.cpp:827 msgid "Edit status" msgstr "Izmijeni status" #: src/olympusmn.cpp:828 msgid "Settings" msgstr "Postavke" #: src/olympusmn.cpp:830 msgid "Unknown OlympusRd tag" msgstr "Nepoznata OlympusRd oznaka" #: src/olympusmn.cpp:885 msgid "Raw Development 2 Version" msgstr "Osjetljivi Razvoj 2 Verzija" #: src/olympusmn.cpp:885 msgid "Raw development 2 version" msgstr "Osjetljivi razvoj 2 verzija" #: src/olympusmn.cpp:889 msgid "White balance fine adjustment" msgstr "Bijeli balans pinog prilagođavanja" #: src/olympusmn.cpp:899 msgid "PM Saturation" msgstr "PM zasićenje" #: src/olympusmn.cpp:900 msgid "PM Contrast" msgstr "PM kontrast" #: src/olympusmn.cpp:901 msgid "PM Sharpness" msgstr "PM oštrina" #: src/olympusmn.cpp:902 msgid "PM BW Filter" msgstr "PM BW Filter" #: src/olympusmn.cpp:902 msgid "PM BW filter" msgstr "PM BW filter" #: src/olympusmn.cpp:903 msgid "PM Picture Tone" msgstr "PM ton slike" #: src/olympusmn.cpp:903 msgid "PM picture tone" msgstr "PM nijansa boje" #: src/olympusmn.cpp:906 msgid "Auto Gradation" msgstr "automatska gradacija" #: src/olympusmn.cpp:906 msgid "Auto gradation" msgstr "auto gradacija" #: src/olympusmn.cpp:907 msgid "PM Noise Filter" msgstr "PM filter šuma" #: src/olympusmn.cpp:907 msgid "Picture mode noise filter" msgstr "Filter šuma moda slike" #: src/olympusmn.cpp:909 msgid "Unknown OlympusRd2 tag" msgstr "Nepoznata OlympusRd2 oznaka" #: src/olympusmn.cpp:920 msgid "On (2 frames)" msgstr "Uključeno(2 okvira)" #: src/olympusmn.cpp:921 msgid "On (3 frames)" msgstr "Uključeno(3 okvira)" #: src/olympusmn.cpp:938 msgid "Image Processing Version" msgstr "Verzija obrade slike" #: src/olympusmn.cpp:938 msgid "Image processing version" msgstr "Verzija obrade slike" #: src/olympusmn.cpp:940 msgid "WB RB Levels 3000K" msgstr "WB RB nivoi 3000K" #: src/olympusmn.cpp:940 msgid "WB RB levels 3000K" msgstr "WB RB nivoi 3000K" #: src/olympusmn.cpp:941 msgid "WB RB Levels 3300K" msgstr "WB RB nivoi 3300K" #: src/olympusmn.cpp:941 msgid "WB RB levels 3300K" msgstr "WB RB nivoi 3300K" #: src/olympusmn.cpp:942 msgid "WB RB Levels 3600K" msgstr "WB RB nivoi 3600K" #: src/olympusmn.cpp:942 msgid "WB RB levels 3600K" msgstr "WB RB nivoi 3600K" #: src/olympusmn.cpp:943 msgid "WB RB Levels 3900K" msgstr "WB RB nivoi 3900K" #: src/olympusmn.cpp:943 msgid "WB RB levels 3900K" msgstr "WB RB nivoi 3900K" #: src/olympusmn.cpp:944 msgid "WB RB Levels 4000K" msgstr "WB RB nivoi 4000K" #: src/olympusmn.cpp:944 msgid "WB RB levels 4000K" msgstr "WB RB nivoi 4000K" #: src/olympusmn.cpp:945 msgid "WB RB Levels 4300K" msgstr "WB RB nivoi 4300K" #: src/olympusmn.cpp:945 msgid "WB RB levels 4300K" msgstr "WB RB nivoi 4300K" #: src/olympusmn.cpp:946 msgid "WB RB Levels 4500K" msgstr "WB RB nivoi 4500K" #: src/olympusmn.cpp:946 msgid "WB RB levels 4500K" msgstr "WB RB nivoi 4500K" #: src/olympusmn.cpp:947 msgid "WB RB Levels 4800K" msgstr "WB RB nivoi 4800K" #: src/olympusmn.cpp:947 msgid "WB RB levels 4800K" msgstr "WB RB nivoi 4800K" #: src/olympusmn.cpp:948 msgid "WB RB Levels 5300K" msgstr "WB RB nivoi 5300K" #: src/olympusmn.cpp:948 msgid "WB RB levels 5300K" msgstr "WB RB nivoi 5300K" #: src/olympusmn.cpp:949 msgid "WB RB Levels 6000K" msgstr "WB RB nivoi 6000K" #: src/olympusmn.cpp:949 msgid "WB RB levels 6000K" msgstr "WB RB nivoi 6000K" #: src/olympusmn.cpp:950 msgid "WB RB Levels 6600K" msgstr "WB RB nivoi 6600K" #: src/olympusmn.cpp:950 msgid "WB RB levels 6600K" msgstr "WB RB nivoi 6600K" #: src/olympusmn.cpp:951 msgid "WB RB Levels 7500K" msgstr "WB RB nivoi 7500K" #: src/olympusmn.cpp:951 msgid "WB RB levels 7500K" msgstr "WB RB nivoi 7500K" #: src/olympusmn.cpp:952 msgid "WB RB Levels CWB1" msgstr "WB RB nivoi CWB1" #: src/olympusmn.cpp:952 msgid "WB RB levels CWB1" msgstr "WB RB nivoi CWB1" #: src/olympusmn.cpp:953 msgid "WB RB Levels CWB2" msgstr "WB RB nivoi CWB2" #: src/olympusmn.cpp:953 msgid "WB RB levels CWB2" msgstr "WB RB nivoi CWB2" #: src/olympusmn.cpp:954 msgid "WB RB Levels CWB3" msgstr "WB RB nivoi CWB3" #: src/olympusmn.cpp:954 msgid "WB RB levels CWB3" msgstr "WB RB nivoi CWB3" #: src/olympusmn.cpp:955 msgid "WB RB Levels CWB4" msgstr "WB RB nivoi CWB4" #: src/olympusmn.cpp:955 msgid "WB RB levels CWB4" msgstr "WB RB nivoiCWB4" #: src/olympusmn.cpp:956 msgid "WB G Level 3000K" msgstr "WB G nivo 3000K" #: src/olympusmn.cpp:956 msgid "WB G level 3000K" msgstr "WB G nivo 3000K" #: src/olympusmn.cpp:957 msgid "WB G Level 3300K" msgstr "WB G nivo 3300K" #: src/olympusmn.cpp:957 msgid "WB G level 3300K" msgstr "WB G nivo 3300K" #: src/olympusmn.cpp:958 msgid "WB G Level 3600K" msgstr "WB G nivo 3600K" #: src/olympusmn.cpp:958 msgid "WB G level 3600K" msgstr "WB G nivo 3600K" #: src/olympusmn.cpp:959 msgid "WB G Level 3900K" msgstr "WB G nivo 3900K" #: src/olympusmn.cpp:959 msgid "WB G level 3900K" msgstr "WB G nivo 3900K" #: src/olympusmn.cpp:960 msgid "WB G Level 4000K" msgstr "WB G nivo 4000K" #: src/olympusmn.cpp:960 msgid "WB G level 4000K" msgstr "WB G nivo 4000K" #: src/olympusmn.cpp:961 msgid "WB G Level 4300K" msgstr "WB G nivo 4300K" #: src/olympusmn.cpp:961 msgid "WB G level 4300K" msgstr "WB G nivo 4300K" #: src/olympusmn.cpp:962 msgid "WB G Level 4500K" msgstr "WB G nivo 4500K" #: src/olympusmn.cpp:962 msgid "WB G level 4500K" msgstr "WB G nivo 4500K" #: src/olympusmn.cpp:963 msgid "WB G Level 4800K" msgstr "WB G nivo 4800K" #: src/olympusmn.cpp:963 msgid "WB G level 4800K" msgstr "WB G nivo 4800K" #: src/olympusmn.cpp:964 msgid "WB G Level 5300K" msgstr "WB G nivo 5300K" #: src/olympusmn.cpp:964 msgid "WB G level 5300K" msgstr "WB G nivo 5300K" #: src/olympusmn.cpp:965 msgid "WB G Level 6000K" msgstr "WB G nivo 6000K" #: src/olympusmn.cpp:965 msgid "WB G level 6000K" msgstr "WB G nivo 6000K" #: src/olympusmn.cpp:966 msgid "WB G Level 6600K" msgstr "WB G nivo 6600K" #: src/olympusmn.cpp:966 msgid "WB G level 6600K" msgstr "WB G nivo 6600K" #: src/olympusmn.cpp:967 msgid "WB G Level 7500K" msgstr "WB G Nivo 7500K" #: src/olympusmn.cpp:967 msgid "WB G level 7500K" msgstr "WB G nivo 7500K" #: src/olympusmn.cpp:968 msgid "WB G Level" msgstr "WB G nivo" #: src/olympusmn.cpp:968 msgid "WB G level" msgstr "WB G nivo" #: src/olympusmn.cpp:970 msgid "Enhancer" msgstr "Poboljšanje" #: src/olympusmn.cpp:971 msgid "Enhancer Values" msgstr "Vrijednosti poboljšanja" #: src/olympusmn.cpp:971 msgid "Enhancer values" msgstr "Vrijednosti poboljšanja" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 msgid "Coring Filter" msgstr "Fliter provedenog jezgrovanja" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 msgid "Coring Values" msgstr "Vrijednosti Provedenog Jezgrovanja" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 msgid "Coring values" msgstr "Vrijednosti provedenog jezgrovanja" #: src/olympusmn.cpp:974 src/tags.cpp:915 msgid "Black Level" msgstr "Nivo crne" #: src/olympusmn.cpp:975 msgid "Gain Base" msgstr "Baza dobitaka" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "Baza pojačanja" #: src/olympusmn.cpp:976 msgid "Valid Bits" msgstr "Valjani bitovi" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 msgid "Crop Left" msgstr "Izreži Lijevo" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 msgid "Crop left" msgstr "Izreži lijevo" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 msgid "Crop Top" msgstr "Izreži Vrh" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 msgid "Crop top" msgstr "Izreži vrh" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 msgid "Crop Width" msgstr "Izreži po Širini" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 msgid "Crop width" msgstr "Izreži po širini" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 msgid "Crop Height" msgstr "Izreži po Visini" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 msgid "Crop height" msgstr "Izreži po visini" #: src/olympusmn.cpp:984 msgid "Multiple Exposure Mode" msgstr "Nacin visestruke izlozenosti" #: src/olympusmn.cpp:984 msgid "Multiple exposure mode" msgstr "Nacin visestruke izlozenosti" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 msgid "Aspect Ratio" msgstr "Proporcija" #: src/olympusmn.cpp:985 msgid "Aspect ratio" msgstr "Razmjera" #: src/olympusmn.cpp:986 msgid "Aspect Frame" msgstr "Okvir pogleda" #: src/olympusmn.cpp:986 msgid "Aspect frame" msgstr "Izgled okvira" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 msgid "Face Detect" msgstr "Prepoznavanje lica" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 msgid "Face detect" msgstr "Prepoznavanje lica" #: src/olympusmn.cpp:988 msgid "Face Detect Area" msgstr "Područje prepoznavanja lica" #: src/olympusmn.cpp:988 msgid "Face detect area" msgstr "Područje prepoznavanja lica" #: src/olympusmn.cpp:990 msgid "Unknown OlympusIp tag" msgstr "Nepoznata Olympuslp oznaka" #: src/olympusmn.cpp:1000 msgid "Bounce or Off" msgstr "Odskočiti ili Ugasiti" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "Usmjeriti" #: src/olympusmn.cpp:1005 msgid "Focus Info Version" msgstr "Verzija informacija o fokusu" #: src/olympusmn.cpp:1005 msgid "Focus info version" msgstr "Verzija informacija o fokusu" #: src/olympusmn.cpp:1006 msgid "Auto Focus" msgstr "Automatski fokus" #: src/olympusmn.cpp:1007 msgid "Scene Detect" msgstr "Detektovanje scene" #: src/olympusmn.cpp:1007 msgid "Scene detect" msgstr "detektovanje scene" #: src/olympusmn.cpp:1008 msgid "Scene Area" msgstr "Područje Scene" #: src/olympusmn.cpp:1008 msgid "Scene area" msgstr "Područje scene" #: src/olympusmn.cpp:1009 msgid "Scene Detect Data" msgstr "Podatak o prepoznavanju scene" #: src/olympusmn.cpp:1009 msgid "Scene detect data" msgstr "Podatak o prepoznavanju scene" #: src/olympusmn.cpp:1010 msgid "Zoom Step Count" msgstr "Broj Koraka Zumiranja" #: src/olympusmn.cpp:1011 msgid "Focus Step Count" msgstr "Broj Koraka Fokusa" #: src/olympusmn.cpp:1011 msgid "Focus step count" msgstr "Broj koraka fokusa" #: src/olympusmn.cpp:1012 msgid "Focus Step Infinity" msgstr "Fokusni korak Beskonačnost" #: src/olympusmn.cpp:1012 msgid "Focus step infinity" msgstr "Fokusni korak Beskonačnost" #: src/olympusmn.cpp:1013 msgid "Focus Step Near" msgstr "Fokusni korak izbliza" #: src/olympusmn.cpp:1013 msgid "Focus step near" msgstr "Fokusni korak Izbliza" #: src/olympusmn.cpp:1016 msgid "External Flash" msgstr "Vanjski bljesak" #: src/olympusmn.cpp:1017 msgid "External Flash Guide Number" msgstr "Vodeći broj vanjskog blica" #: src/olympusmn.cpp:1017 msgid "External flash guide number" msgstr "Prirucnicki broj vanjskog blica" #: src/olympusmn.cpp:1021 msgid "Manual Flash" msgstr "Ručni bljesak" #: src/olympusmn.cpp:1021 msgid "Manual flash" msgstr "Ručni bljesak" #: src/olympusmn.cpp:1025 msgid "Unknown OlympusFi tag" msgstr "nepoznata OlympusFi oznaka" #: src/olympusmn.cpp:1036 msgid "Unknown OlympusFe tag" msgstr "nepoznata OlympusFi oznaka" #: src/olympusmn.cpp:1049 msgid "Fine Weather" msgstr "dobro vrijeme" #: src/olympusmn.cpp:1050 msgid "Tungsten (incandescent)" msgstr "Volfram (sa žarnom niti)" #: src/olympusmn.cpp:1051 msgid "Evening Sunlight" msgstr "večernje sunčeve zrake" #: src/olympusmn.cpp:1052 msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "Dnevno svjetlo fluorescentno (D 5700 - 7100K)" #: src/olympusmn.cpp:1053 msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "Dnevno bijelo fluorescentno (N 4600 - 5400K)" #: src/olympusmn.cpp:1054 msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "hladno bijelo fluorescentno (W 3900 - 4500K)" #: src/olympusmn.cpp:1055 msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "bijelo fluorescentno (WW 3200 - 3700K)" #: src/olympusmn.cpp:1056 msgid "One Touch White Balance" msgstr "Bijeli balans na dodir" #: src/olympusmn.cpp:1057 msgid "Custom 1-4" msgstr "Prilagođeno 1-4" #: src/olympusmn.cpp:1061 msgid "Raw Info Version" msgstr "Sirova Info Verzija" #: src/olympusmn.cpp:1061 msgid "Raw info version" msgstr "Sirova info verzija" #: src/olympusmn.cpp:1062 msgid "WB_RB Levels Used" msgstr "WB_RB Nivoi Upotrijebljeni" #: src/olympusmn.cpp:1062 msgid "WB_RB levels used" msgstr "WB_RB nivoi upotrijebljeni" #: src/olympusmn.cpp:1063 msgid "WB_RB Levels Auto" msgstr "WB_RB nivoi - Automatski" #: src/olympusmn.cpp:1063 msgid "WB_RB levels auto" msgstr "WB_RB nivoi - Automatski" #: src/olympusmn.cpp:1064 msgid "WB_RB Levels Shade" msgstr "WB_RB Nivoi Sjene" #: src/olympusmn.cpp:1064 msgid "WB_RB levels shade" msgstr "WB_RB nivoi sjene" #: src/olympusmn.cpp:1065 msgid "WB_RB Levels Cloudy" msgstr "WB_RB nivoi - Oblačno" #: src/olympusmn.cpp:1065 msgid "WB_RB levels cloudy" msgstr "WB_RB nivoi - Oblačno" #: src/olympusmn.cpp:1066 msgid "WB_RB Levels Fine Weather" msgstr "WB_RB nivoi - Lijepo vrijeme" #: src/olympusmn.cpp:1066 msgid "WB_RB levels fine weather" msgstr "WB_RB nivoi - Lijepo vrijeme" #: src/olympusmn.cpp:1067 msgid "WB_RB Levels Tungsten" msgstr "WB_RB nivoi - volfram" #: src/olympusmn.cpp:1067 msgid "WB_RB levels tungsten" msgstr "WB_RB nivoi - volfram" #: src/olympusmn.cpp:1068 msgid "WB_RB Levels Evening Sunlight" msgstr "WB_RB nivoi - Zalazak sunca" #: src/olympusmn.cpp:1068 msgid "WB_RB levels evening sunlight" msgstr "WB_RB nivoi - zalazak sunca" #: src/olympusmn.cpp:1069 msgid "WB_RB Levels Daylight Fluor" msgstr "WB_RB nivoi - Dnevna florescentna svjetlost" #: src/olympusmn.cpp:1069 msgid "WB_RB levels daylight fluor" msgstr "WB_RB nivoi - Dnevna svjetlost fluorescent" #: src/olympusmn.cpp:1070 msgid "WB_RB Levels Day White Fluor" msgstr "WB_RB nivoi - Dnevna bijela svjetlost fluorescent" #: src/olympusmn.cpp:1070 msgid "WB_RB levels day white fluor" msgstr "WB_RB nivoi - Dnevna bijela svjetlost fluorescent" #: src/olympusmn.cpp:1071 msgid "WB_RB Levels Cool White Fluor" msgstr "WB_RB nivoi - Hladno bijela svjetlost fluorescent" #: src/olympusmn.cpp:1071 msgid "WB_RB levels cool white fluor" msgstr "WB_RB nivoi - Hladno bijela svjetlost fluorescent" #: src/olympusmn.cpp:1072 msgid "WB_RB Levels White Fluorescent" msgstr "WB_RB nivoi - Bijela svjetlost fluorescent" #: src/olympusmn.cpp:1072 msgid "WB_RB levels white fluorescent" msgstr "WB_RB nivoi - Bijela svjetlost fluorescent" #: src/olympusmn.cpp:1073 msgid "Color Matrix2" msgstr "Paleta Boja2" #: src/olympusmn.cpp:1073 msgid "Color matrix 2" msgstr "Matrica boja 2" #: src/olympusmn.cpp:1076 msgid "Black Level 2" msgstr "Crno nivo 2" #: src/olympusmn.cpp:1076 msgid "Black level 2" msgstr "Crno nivo 2" #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 msgid "YCbCr Coefficients" msgstr "YCbCr koeficijenti" #: src/olympusmn.cpp:1077 msgid "YCbCr coefficients" msgstr "YCbCr koeficijenti" #: src/olympusmn.cpp:1078 msgid "Valid Pixel Depth" msgstr "Valjana dubina pixela" #: src/olympusmn.cpp:1078 msgid "Valid pixel depth" msgstr "Valjana dubina pixela" #: src/olympusmn.cpp:1084 msgid "White Balance Comp" msgstr "Balans bijele Comp" #: src/olympusmn.cpp:1084 msgid "White balance comp" msgstr "Balans bijele comp" #: src/olympusmn.cpp:1085 msgid "Saturation Setting" msgstr "Podešavanje zasićenja" #: src/olympusmn.cpp:1086 msgid "Hue Setting" msgstr "Podešavanje nijanse" #: src/olympusmn.cpp:1086 msgid "Hue setting" msgstr "Podešavanje nijanse" #: src/olympusmn.cpp:1089 msgid "CM Exposure Compensation" msgstr "CM kompenzacija ekspozicie" #: src/olympusmn.cpp:1089 msgid "CM exposure compensation" msgstr "CM kompenzacija ekspozicie" #: src/olympusmn.cpp:1090 msgid "CM White Balance" msgstr "CM Bijeli balans" #: src/olympusmn.cpp:1090 msgid "CM white balance" msgstr "CM Bijeli balans" #: src/olympusmn.cpp:1091 msgid "CM White Balance Comp" msgstr "CM Balans Bijele Comp" #: src/olympusmn.cpp:1091 msgid "CM white balance comp" msgstr "CM balans bijele comp" #: src/olympusmn.cpp:1092 msgid "CM White Balance Gray Point" msgstr "CM Bijeli Balans Sive Tačke" #: src/olympusmn.cpp:1092 msgid "CM white balance gray point" msgstr "CM bijeli balans sive tačke" #: src/olympusmn.cpp:1093 msgid "CM Saturation" msgstr "CM Zasićenost" #: src/olympusmn.cpp:1093 msgid "CM saturation" msgstr "CM Zasićenost" #: src/olympusmn.cpp:1094 msgid "CM Hue" msgstr "CM Nijansa" #: src/olympusmn.cpp:1094 msgid "CM hue" msgstr "CM Nijansa" #: src/olympusmn.cpp:1095 msgid "CM Contrast" msgstr "CM kontrast" #: src/olympusmn.cpp:1095 msgid "CM contrast" msgstr "CM kontrast" #: src/olympusmn.cpp:1096 msgid "CM Sharpness" msgstr "CM oštrina" #: src/olympusmn.cpp:1096 msgid "CM sharpness" msgstr "CM oštrina" #: src/olympusmn.cpp:1098 msgid "Unknown OlympusRi tag" msgstr "nepoznata OlympusRi oznaka" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 msgid "User-Selected" msgstr "Korisnik - izabran" #: src/olympusmn.cpp:1122 msgid "Auto-Override" msgstr "Auto - izmjena" #: src/olympusmn.cpp:1158 msgid "Fast" msgstr "Brzo" #: src/olympusmn.cpp:1223 msgid "3000 Kelvin" msgstr "3000 Kelvin" #: src/olympusmn.cpp:1224 msgid "3700 Kelvin" msgstr "3700 Kelvin" #: src/olympusmn.cpp:1225 msgid "4000 Kelvin" msgstr "4000 Kelvin" #: src/olympusmn.cpp:1226 msgid "4500 Kelvin" msgstr "4500 Kelvin" #: src/olympusmn.cpp:1227 msgid "5500 Kelvin" msgstr "5500 Kelvin" #: src/olympusmn.cpp:1228 msgid "6500 Kelvin" msgstr "6500 Kelvin" #: src/olympusmn.cpp:1229 msgid "7500 Kelvin" msgstr "7500 Kelvin" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "Jedan dodir" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "S-AF" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "C-AF" #: src/olympusmn.cpp:1456 msgid "Imager AF" msgstr "Imager AF" #: src/olympusmn.cpp:1457 msgid "AF sensor" msgstr "AF sensor" #: src/olympusmn.cpp:1502 msgid "Soft Focus" msgstr "Meki Fokus" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "Pop Art" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "Blijeda i svijetla boja" #: src/olympusmn.cpp:1505 msgid "Light Tone" msgstr "Blagi ton" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "Pribodna rupa" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "Zrnast Film" #: src/olympusmn.cpp:1508 msgid "Diorama" msgstr "Diorama" #: src/olympusmn.cpp:1509 msgid "Cross Process" msgstr "Prekriži proces" #: src/olympusmn.cpp:1510 msgid "Fish Eye" msgstr "Riblje oko" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "Crtanje" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "" #: src/olympusmn.cpp:1513 #, fuzzy msgid "Pale & Light Color II" msgstr "Blijeda i svijetla boja" #: src/olympusmn.cpp:1514 #, fuzzy msgid "Pop Art II" msgstr "Pop Art" #: src/olympusmn.cpp:1515 #, fuzzy msgid "Pin Hole II" msgstr "Pribodna rupa" #: src/olympusmn.cpp:1516 #, fuzzy msgid "Pin Hole III" msgstr "Pribodna rupa" #: src/olympusmn.cpp:1517 #, fuzzy msgid "Grainy Film II" msgstr "Zrnast Film" #: src/olympusmn.cpp:1518 msgid "Dramatic Tone" msgstr "" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "" #: src/olympusmn.cpp:1520 #, fuzzy msgid "Soft Focus 2" msgstr "Meki Fokus" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "" #: src/olympusmn.cpp:1522 #, fuzzy msgid "Watercolor" msgstr "Priordne boje" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "" #: src/olympusmn.cpp:1525 #, fuzzy msgid "Miniature" msgstr "Minimalna blenda" #: src/olympusmn.cpp:1526 #, fuzzy msgid "Reflection" msgstr "Izbor" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "" #: src/olympusmn.cpp:1528 #, fuzzy msgid "Cross Process II" msgstr "Prekriži proces" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "" #: src/olympusmn.cpp:1530 #, fuzzy msgid "Watercolor I" msgstr "Priordne boje" #: src/olympusmn.cpp:1531 #, fuzzy msgid "Watercolor II" msgstr "Priordne boje" #: src/olympusmn.cpp:1532 #, fuzzy msgid "Diorama II" msgstr "Diorama" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "" #: src/olympusmn.cpp:1534 #, fuzzy msgid "Vintage II" msgstr "Upravljaj UI" #: src/olympusmn.cpp:1535 #, fuzzy msgid "Vintage III" msgstr "Upravljaj UI" #: src/olympusmn.cpp:1536 #, fuzzy msgid "Partial Color" msgstr "Prirodna boja" #: src/olympusmn.cpp:1537 #, fuzzy msgid "Partial Color II" msgstr "Prirodna boja" #: src/olympusmn.cpp:1538 #, fuzzy msgid "Partial Color III" msgstr "Prirodna boja" #: src/olympusmn.cpp:1608 msgid "Left (or n/a)" msgstr "Lijevo (ili n/a)" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 msgid "Center (horizontal)" msgstr "centar (horizontalno)" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 msgid "Center (vertical)" msgstr "centar (vertikalno)" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "vrh-lijevo (horizontalno)" #: src/olympusmn.cpp:1623 msgid "Top-center (horizontal)" msgstr "vrh-lijevo (horizontalno)" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "vrh-desno (horizontalno)" #: src/olympusmn.cpp:1625 msgid "Left (horizontal)" msgstr "lijevo (horizontalno)" #: src/olympusmn.cpp:1626 msgid "Mid-left (horizontal)" msgstr "srednje-lijevo (horizontalno)" #: src/olympusmn.cpp:1628 msgid "Mid-right (horizontal)" msgstr "srednje-desno (horizontalno)" #: src/olympusmn.cpp:1629 msgid "Right (horizontal)" msgstr "desno (horizontalno)" #: src/olympusmn.cpp:1630 msgid "Bottom-left (horizontal)" msgstr "dno-lijevo (horizontalno)" #: src/olympusmn.cpp:1631 msgid "Bottom-center (horizontal)" msgstr "dno-centar (horizontalno)" #: src/olympusmn.cpp:1632 msgid "Bottom-right (horizontal)" msgstr "dno-desno (horizontalno)" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "vrh-lijevo (vertikalno)" #: src/olympusmn.cpp:1634 msgid "Top-center (vertical)" msgstr "vrh-centar (vertikalno)" #: src/olympusmn.cpp:1635 msgid "Top-right (vertical)" msgstr "vrh-desno (vertikalno)" #: src/olympusmn.cpp:1636 msgid "Left (vertical)" msgstr "lijevo (vertikalno)" #: src/olympusmn.cpp:1637 msgid "Mid-left (vertical)" msgstr "srednje-lijevo (vertikalno)" #: src/olympusmn.cpp:1639 msgid "Mid-right (vertical)" msgstr "srednje-desno (vertikalno)" #: src/olympusmn.cpp:1640 msgid "Right (vertical)" msgstr "desno (vertikalno)" #: src/olympusmn.cpp:1641 msgid "Bottom-left (vertical)" msgstr "dno-lijevo (vertikalno)" #: src/olympusmn.cpp:1642 msgid "Bottom-center (vertical)" msgstr "dno-centar (vertikalno)" #: src/olympusmn.cpp:1643 msgid "Bottom-right (vertical)" msgstr "dno-desno (vertikalno)" #: src/olympusmn.cpp:1680 msgid "Single Target" msgstr "jedan cilj" #: src/olympusmn.cpp:1681 msgid "All Target" msgstr "svi ciljevi" #: src/olympusmn.cpp:1682 msgid "Dynamic Single Target" msgstr "dinamični jedan cilj" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "TIFF" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 msgid "Very High" msgstr "Vrlo visoka" #: src/panasonicmn.cpp:60 msgid "Motion Picture" msgstr "Pokretna slika" #: src/panasonicmn.cpp:61 #, fuzzy msgid "Full HD Movie" msgstr "Mali Film" #: src/panasonicmn.cpp:62 #, fuzzy msgid "4k Movie" msgstr "Film" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "Halogen" #: src/panasonicmn.cpp:83 msgid "Auto, focus button" msgstr "automatski, fokus dugme" #: src/panasonicmn.cpp:84 msgid "Auto, continuous" msgstr "auto, neprekidno" #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "AF-S" #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "AF-C" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 msgid "Panning" msgstr "Paniranje" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "tele-makro" #: src/panasonicmn.cpp:104 #, fuzzy msgid "Macro-zoom" msgstr "Makro" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 msgid "Scenery" msgstr "krajolik" #: src/panasonicmn.cpp:117 msgid "Shutter-speed priority" msgstr "Prioritet brzine okidača" #: src/panasonicmn.cpp:121 msgid "Movie preview" msgstr "pregled filma" #: src/panasonicmn.cpp:123 msgid "Simple" msgstr "Jednostavno" #: src/panasonicmn.cpp:124 msgid "Color effects" msgstr "efekti boje" #: src/panasonicmn.cpp:130 msgid "Night scenery" msgstr "noćni krajolik" #: src/panasonicmn.cpp:132 msgid "Baby" msgstr "Beba" #: src/panasonicmn.cpp:133 msgid "Soft skin" msgstr "nježna koža" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 msgid "Candlelight" msgstr "Svjetlost svijeće" #: src/panasonicmn.cpp:135 msgid "Starry night" msgstr "Zvjezdano nebo" #: src/panasonicmn.cpp:136 msgid "High sensitivity" msgstr "visoka osjetljivost" #: src/panasonicmn.cpp:137 msgid "Panorama assist" msgstr "Pomoć za panoramu" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "Zračna slika" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 msgid "Intelligent ISO" msgstr "Inteligentni ISO" #: src/panasonicmn.cpp:144 #, fuzzy msgid "Clipboard" msgstr "bijela ploča" #: src/panasonicmn.cpp:145 msgid "High speed continuous shooting" msgstr "Velika brzina kontinualnog snimanja" #: src/panasonicmn.cpp:146 msgid "Intelligent auto" msgstr "Inteligentni - Automatski" #: src/panasonicmn.cpp:147 #, fuzzy msgid "Multi-aspect" msgstr "Multi-mjesto" #: src/panasonicmn.cpp:148 #, fuzzy msgid "Transform" msgstr "Domet prijenosa" #: src/panasonicmn.cpp:149 #, fuzzy msgid "Flash Burst" msgstr "Blic" #: src/panasonicmn.cpp:151 #, fuzzy msgid "Film Grain" msgstr "Skener filma" #: src/panasonicmn.cpp:152 #, fuzzy msgid "My Color" msgstr "Moje boje" #: src/panasonicmn.cpp:153 #, fuzzy msgid "Photo Frame" msgstr "Panoramski kadar" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "HDR" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 #, fuzzy msgid "Handheld Night Shot" msgstr "Ručni sumrak" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 #, fuzzy msgid "Creative Control" msgstr "Daljinski upravljač" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 msgid "Digital Filter" msgstr "Digitalni filter" #: src/panasonicmn.cpp:162 #, fuzzy msgid "Clear Portrait" msgstr "Auto portret" #: src/panasonicmn.cpp:163 msgid "Silky Skin" msgstr "" #: src/panasonicmn.cpp:164 msgid "Backlit Softness" msgstr "" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "" #: src/panasonicmn.cpp:166 #, fuzzy msgid "Relaxing Tone" msgstr "Odnos" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "" #: src/panasonicmn.cpp:168 #, fuzzy msgid "Distinct Scenery" msgstr "noćni krajolik" #: src/panasonicmn.cpp:169 #, fuzzy msgid "Bright Blue Sky" msgstr "Plavo nebo" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "" #: src/panasonicmn.cpp:177 #, fuzzy msgid "Glittering Illuminations" msgstr "AF osvjetljenje okruženja" #: src/panasonicmn.cpp:178 #, fuzzy msgid "Clear Night Portrait" msgstr "Noćni portret" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "" #: src/panasonicmn.cpp:181 #, fuzzy msgid "Cute Desert" msgstr "Kostimograf" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "" #: src/panasonicmn.cpp:183 #, fuzzy msgid "Clear Sports Shot" msgstr "Napredna snimanja sportova" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "" #: src/panasonicmn.cpp:198 msgid "Warm" msgstr "toplo" #: src/panasonicmn.cpp:199 msgid "Cool" msgstr "Dobro" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "" #: src/panasonicmn.cpp:208 msgid "Low/High quality" msgstr "nizak/visok kvalitet" #: src/panasonicmn.cpp:209 msgid "Infinite" msgstr "Neograničeno" #: src/panasonicmn.cpp:217 msgid "Medium low" msgstr "Srednje nisko" #: src/panasonicmn.cpp:218 msgid "Medium high" msgstr "Srednje visoko" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "Nisko (-1)" #: src/panasonicmn.cpp:229 msgid "High (+1)" msgstr "Visoko (+1)" #: src/panasonicmn.cpp:230 msgid "Lowest (-2)" msgstr "Najniže (-2)" #: src/panasonicmn.cpp:231 msgid "Highest (+2)" msgstr "Najviše (+2)" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 #, fuzzy msgid "Rotate 180" msgstr "Okreni 90 u smjeru sata" #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "" #: src/panasonicmn.cpp:254 #, fuzzy msgid "Disabled but Required" msgstr "Nije potrebnoa" #: src/panasonicmn.cpp:255 #, fuzzy msgid "Disabled and Not Required" msgstr "Nije potrebnoa" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "EX optics" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "Telephoto" #: src/panasonicmn.cpp:282 src/properties.cpp:915 msgid "Home" msgstr "Kuća" #: src/panasonicmn.cpp:294 msgid "Standard (color)" msgstr "Standardna (boja)" #: src/panasonicmn.cpp:295 msgid "Dynamic (color)" msgstr "Dinamična (boja)" #: src/panasonicmn.cpp:296 msgid "Nature (color)" msgstr "prirode (boja)" #: src/panasonicmn.cpp:297 msgid "Smooth (color)" msgstr "glatko (boja)" #: src/panasonicmn.cpp:298 msgid "Standard (B&W)" msgstr "Standardno (C/B)" #: src/panasonicmn.cpp:299 msgid "Dynamic (B&W)" msgstr "Dinamično (C/B)" #: src/panasonicmn.cpp:300 msgid "Smooth (B&W)" msgstr "Glatko (C/B)" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "Vibrirajuće" #: src/panasonicmn.cpp:307 #, fuzzy msgid "No Bracket" msgstr "Zagrada" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:319 #, fuzzy msgid "1st" msgstr "10s" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "" #: src/panasonicmn.cpp:349 #, fuzzy msgid "Extended" msgstr "Produžetak" #: src/panasonicmn.cpp:368 #, fuzzy msgid "NoAuto" msgstr "Automatski" #: src/panasonicmn.cpp:369 #, fuzzy msgid "Standard or Custom" msgstr "Standardna forma" #: src/panasonicmn.cpp:386 #, fuzzy msgid "Rotate CW" msgstr "Okreni 90 u smjeru sata" #: src/panasonicmn.cpp:388 #, fuzzy msgid "Rotate CCW" msgstr "Okreni 90 u smjeru sata" #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "" #: src/panasonicmn.cpp:396 #, fuzzy msgid "Left to Right" msgstr "S lijeva nadesno" #: src/panasonicmn.cpp:397 #, fuzzy msgid "Right to Left" msgstr "S desna nalijevo" #: src/panasonicmn.cpp:398 #, fuzzy msgid "Top to Bottom" msgstr "Odozgo prema dolje" #: src/panasonicmn.cpp:399 #, fuzzy msgid "Bottom to Top" msgstr "Odozdo prema gore" #: src/panasonicmn.cpp:405 #, fuzzy msgid "Time Lapse" msgstr "Vremenska skala" #: src/panasonicmn.cpp:406 #, fuzzy msgid "Stop-Motion Animation" msgstr "Informacije o lokaciji." #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "" #: src/panasonicmn.cpp:423 #, fuzzy msgid "Electronic" msgstr "Izbor" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "Zvuk" #: src/panasonicmn.cpp:453 msgid "White balance adjustment" msgstr "Podršavanje bijelog balansa" #: src/panasonicmn.cpp:454 msgid "FlashBias" msgstr "FlashBias" #: src/panasonicmn.cpp:456 src/tags.cpp:194 msgid "Exif version" msgstr "Exif verzija" #: src/panasonicmn.cpp:458 msgid "Color Effect" msgstr "Efekat Boje" #: src/panasonicmn.cpp:458 msgid "Color effect" msgstr "efekt boje" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" "vrijeme u 1/100 s od kad je kamera uključena do kad je slika upisana u " "memorijsku karticu" #: src/panasonicmn.cpp:460 msgid "Burst Mode" msgstr "Rafalni režim" #: src/panasonicmn.cpp:460 msgid "Burst mode" msgstr "Rafalni režim" #: src/panasonicmn.cpp:463 msgid "NoiseReduction" msgstr "Redukcija šuma" #: src/panasonicmn.cpp:464 msgid "Self Timer" msgstr "Samobrojač" #: src/panasonicmn.cpp:467 #, fuzzy msgid "AF Assist Lamp" msgstr "AF pomoćnik" #: src/panasonicmn.cpp:469 #, fuzzy msgid "Baby Age 1" msgstr "starost bebe" #: src/panasonicmn.cpp:469 #, fuzzy msgid "Baby (or pet) age 1" msgstr "starosti bebe (ili ljubimca)" #: src/panasonicmn.cpp:470 msgid "Optical Zoom Mode" msgstr "optički način zumiranja" #: src/panasonicmn.cpp:470 msgid "Optical zoom mode" msgstr "optički način zumiranja" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "dan putovanja" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "dan putovanja" #: src/panasonicmn.cpp:474 msgid "World Time Location" msgstr "Svjetska lokacija vremena" #: src/panasonicmn.cpp:474 msgid "World time location" msgstr "Svjetska lokacija vremen" #: src/panasonicmn.cpp:475 #, fuzzy msgid "Text Stamp 1" msgstr "GPS Vremenski Pečat" #: src/panasonicmn.cpp:476 msgid "Program ISO" msgstr "Program ISO" #: src/panasonicmn.cpp:477 #, fuzzy msgid "Advanced Scene Type" msgstr "Vrsta scene" #: src/panasonicmn.cpp:478 #, fuzzy msgid "Text Stamp 2" msgstr "GPS Vremenski Pečat" #: src/panasonicmn.cpp:479 #, fuzzy msgid "Faces detected" msgstr "Lice Detektirano" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temp Kelvin" msgstr "Podešavanje zemperatura boje" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temperatur in Kelvin" msgstr "Temperatura boje" #: src/panasonicmn.cpp:484 #, fuzzy msgid "Bracket Settings" msgstr "Podupiranje" #: src/panasonicmn.cpp:485 msgid "WB Adjust AB" msgstr "WB Podesi AB" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "WB podesi AB. Pozitivan je pomjeraj prema plavom." #: src/panasonicmn.cpp:486 msgid "WB Adjust GM" msgstr "WB Podesi GM" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "WBPodesiGM.Pozitivno je korak prema zelenom." #: src/panasonicmn.cpp:487 #, fuzzy msgid "Flash Curtain" msgstr "info bljeska" #: src/panasonicmn.cpp:488 #, fuzzy msgid "Long Shutter Noise Reduction" msgstr "Redukcija šuma duge ekspozicije" #: src/panasonicmn.cpp:491 #, fuzzy msgid "AF Point Position" msgstr "Af fokus pozicija" #: src/panasonicmn.cpp:492 #, fuzzy msgid "Face detection info" msgstr "Prepoznavanje lica" #: src/panasonicmn.cpp:495 msgid "Accessory Type" msgstr "Sporedni Tip" #: src/panasonicmn.cpp:495 msgid "Accessory type" msgstr "Sporedni tip" #: src/panasonicmn.cpp:496 #, fuzzy msgid "Accessory Serial Number" msgstr "Serijski broj tijela" #: src/panasonicmn.cpp:497 #, fuzzy msgid "Transform 1" msgstr "Domet prijenosa" #: src/panasonicmn.cpp:498 #, fuzzy msgid "Intelligent Exposure" msgstr "Inteligentni - Automatski" #: src/panasonicmn.cpp:499 #, fuzzy msgid "Firmware Version of the Lens" msgstr "Firmware verzije" #: src/panasonicmn.cpp:500 #, fuzzy msgid "Face recognition info" msgstr "Prepoznavanje lica AF" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash Warning" msgstr "Upozorenje fokusa" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash warning" msgstr "Mjerenje bljeska" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 msgid "Title" msgstr "Naslov" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby Name" msgstr "starost bebe" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby name (or pet name)" msgstr "starosti bebe (ili ljubimca)" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 msgid "Location" msgstr "Lokacija" #: src/panasonicmn.cpp:506 src/properties.cpp:441 msgid "State" msgstr "Država" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "" #: src/panasonicmn.cpp:509 #, fuzzy msgid "Intelligent resolution" msgstr "Inteligentni - Automatski" #: src/panasonicmn.cpp:510 #, fuzzy msgid "Burst Speed" msgstr "Brzina zatvaranja" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "" #: src/panasonicmn.cpp:511 #, fuzzy msgid "Intelligent Dynamic Range" msgstr "Dinamički opseg razvoja" #: src/panasonicmn.cpp:512 #, fuzzy msgid "Clear Retouch" msgstr "Nema dotjerivanja" #: src/panasonicmn.cpp:513 #, fuzzy msgid "City2" msgstr "Grad" #: src/panasonicmn.cpp:515 #, fuzzy msgid "Photo style" msgstr "Stil slike" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "" #: src/panasonicmn.cpp:518 msgid "Accelerometer X" msgstr "" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "" #: src/panasonicmn.cpp:519 msgid "Accelerometer Y" msgstr "" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "" #: src/panasonicmn.cpp:520 #, fuzzy msgid "Camera Orientation" msgstr "Orijentacija slike" #: src/panasonicmn.cpp:521 #, fuzzy msgid "Roll Angle" msgstr "Reži ugao" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "" #: src/panasonicmn.cpp:523 #, fuzzy msgid "Sweep Panorama Direction" msgstr "Smijer panoram" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "" #: src/panasonicmn.cpp:525 #, fuzzy msgid "Timer Recording" msgstr "RAW+JPG zapis" #: src/panasonicmn.cpp:526 #, fuzzy msgid "Internal ND Filter" msgstr "vanjski i unutrašnji" #: src/panasonicmn.cpp:528 #, fuzzy msgid "Shutter Type" msgstr "Brzina zatvarača" #: src/panasonicmn.cpp:529 #, fuzzy msgid "Clear Retouch Value" msgstr "Otvor blende" #: src/panasonicmn.cpp:530 #, fuzzy msgid "TouchAE" msgstr "Dodir AF" #: src/panasonicmn.cpp:533 msgid "MakerNote Version" msgstr "IzrađivačBilješki Verzija" #: src/panasonicmn.cpp:533 msgid "MakerNote version" msgstr "IzrađivačBilješki verzija" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB Red Level" msgstr "WB Crveni Nivo" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB red level" msgstr "WB crveni nivo" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB Green Level" msgstr "WB Zeleni Nivo" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB green level" msgstr "WB Nivo zelene boje" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB Blue Level" msgstr "WB Nivo plave boje" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB blue level" msgstr "WB Nivo plave boje" #: src/panasonicmn.cpp:539 #, fuzzy msgid "Text Stamp 3" msgstr "GPS Vremenski Pečat" #: src/panasonicmn.cpp:540 #, fuzzy msgid "Text Stamp 4" msgstr "GPS Vremenski Pečat" #: src/panasonicmn.cpp:541 #, fuzzy msgid "Baby Age 2" msgstr "starost bebe" #: src/panasonicmn.cpp:541 #, fuzzy msgid "Baby (or pet) age 2" msgstr "starosti bebe (ili ljubimca)" #: src/panasonicmn.cpp:542 #, fuzzy msgid "Transform 2" msgstr "Domet prijenosa" #: src/panasonicmn.cpp:544 msgid "Unknown PanasonicMakerNote tag" msgstr "Nepoznata PanasonicMakerNote oznaka" #: src/panasonicmn.cpp:562 #, fuzzy msgid "Spot mode on or 9 area" msgstr "Tačkasti način rada UKLJ" #: src/panasonicmn.cpp:563 msgid "Spot mode off or 3-area (high speed)" msgstr "Tačkasti način rada ISKLJ ili 3-područje(velika brzina)" #: src/panasonicmn.cpp:564 #, fuzzy msgid "23-area" msgstr "5-područje" #: src/panasonicmn.cpp:565 msgid "Spot focussing" msgstr "Fokusiranje na tačku" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "5-područje" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "1-područje" #: src/panasonicmn.cpp:568 msgid "1-area (high speed)" msgstr "1-područje (velike brzine)" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "3-područje (auto)" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "3-područje (lijevo)" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "3-područje (centar)" #: src/panasonicmn.cpp:572 msgid "3-area (right)" msgstr "3-područje (desno)" #: src/panasonicmn.cpp:574 #, fuzzy msgid "Spot Focusing 2" msgstr "Fokusiranje na tačku" #: src/panasonicmn.cpp:588 msgid " EV" msgstr " EV" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 #, fuzzy msgid "not set" msgstr "nije postavljeno\n" #: src/panasonicmn.cpp:725 msgid "Panasonic raw version" msgstr "Panasonic Rijetka Verzija" #: src/panasonicmn.cpp:726 msgid "Sensor Width" msgstr "Širina senzora" #: src/panasonicmn.cpp:726 msgid "Sensor width" msgstr "Širina senzora" #: src/panasonicmn.cpp:727 msgid "Sensor Height" msgstr "Visina Senzora" #: src/panasonicmn.cpp:727 msgid "Sensor height" msgstr "Visina senzora" #: src/panasonicmn.cpp:728 msgid "Sensor Top Border" msgstr "Gornja granica senzora" #: src/panasonicmn.cpp:728 msgid "Sensor top border" msgstr "Gornja granica senzora" #: src/panasonicmn.cpp:729 msgid "Sensor Left Border" msgstr "Lijeva granica senzora" #: src/panasonicmn.cpp:729 msgid "Sensor left border" msgstr "Lijeva granica senzora" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "Crveni balans (pronađeno u Digilux 2 RAW slikama)" #: src/panasonicmn.cpp:739 src/tags.cpp:469 msgid "Manufacturer" msgstr "Proizvođač" #: src/panasonicmn.cpp:739 msgid "The manufacturer of the recording equipment" msgstr "Proizvodjac opreme za snimanje" #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 msgid "Model" msgstr "Model" #: src/panasonicmn.cpp:740 msgid "The model name or model number of the equipment" msgstr "Ime modela ili broj modela opreme" #: src/panasonicmn.cpp:741 src/tags.cpp:481 msgid "Strip Offsets" msgstr "Štampane trake" #: src/panasonicmn.cpp:741 msgid "Strip offsets" msgstr "Štampane trake" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 msgid "Orientation" msgstr "Usmjerenje" #: src/panasonicmn.cpp:743 msgid "Rows Per Strip" msgstr "Redovi po traci" #: src/panasonicmn.cpp:743 msgid "The number of rows per strip" msgstr "Broj redova po traci" #: src/panasonicmn.cpp:744 msgid "Strip Byte Counts" msgstr "Broj bajtova trake" #: src/panasonicmn.cpp:744 msgid "Strip byte counts" msgstr "Broj bajtova trake" #: src/panasonicmn.cpp:745 msgid "Raw Data Offset" msgstr "Pomak neobradjenog podatka" #: src/panasonicmn.cpp:745 msgid "Raw data offset" msgstr "Pomak sirovog podatka" #: src/panasonicmn.cpp:746 src/tags.cpp:797 msgid "Exif IFD Pointer" msgstr "Exif IFD Pointer" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "Pokazivač na Exif IFD" #: src/panasonicmn.cpp:747 src/tags.cpp:808 msgid "GPS Info IFD Pointer" msgstr "GPS Info IFD Pointer" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "Pokazivač na GPS Info IFD" #: src/panasonicmn.cpp:749 msgid "Unknown PanasonicRaw tag" msgstr "Nepoznata PanasonicRaw oznaka" #: src/pentaxmn.cpp:57 msgid "Night-Scene" msgstr "Noćna scena" #: src/pentaxmn.cpp:199 msgid "Good" msgstr "Dobro" #: src/pentaxmn.cpp:200 msgid "Better" msgstr "Bolje" #: src/pentaxmn.cpp:201 msgid "Best" msgstr "Najbolje" #: src/pentaxmn.cpp:204 msgid "Premium" msgstr "Premium" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "2560x1920 ili 2304x1728" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "2304x1728 ili 2592x1944" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "2816x2212 ili 2816x2112" #: src/pentaxmn.cpp:247 msgid "Auto, Did not fire" msgstr "Automatski, nije okinuo" #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 msgid "Off, Did not fire" msgstr "Isključen, nije otkazan" #: src/pentaxmn.cpp:250 msgid "Auto, Did not fire, Red-eye reduction" msgstr "Automatski, nije okinuo, umanjenje crvenih očiju" #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "Uključen.Nije otkazan.Wireless (Glavni)" #: src/pentaxmn.cpp:252 msgid "Auto, Fired" msgstr "Automatski, okinuo" #: src/pentaxmn.cpp:253 msgid "On, Fired" msgstr "Uključen, otkazan" #: src/pentaxmn.cpp:254 msgid "Auto, Fired, Red-eye reduction" msgstr "Automatski, okinuo, umanjenje crvenih očiju" #: src/pentaxmn.cpp:255 msgid "On, Red-eye reduction" msgstr "Uključeno, uklanjanje crvenih očiju" #: src/pentaxmn.cpp:256 msgid "On, Wireless (Master)" msgstr "Uključen, Wireless (glavni)" #: src/pentaxmn.cpp:257 msgid "On, Wireless (Control)" msgstr "Uključen, Wireless (Kontrola)" #: src/pentaxmn.cpp:258 msgid "On, Soft" msgstr "Uključeno, mekano" #: src/pentaxmn.cpp:259 msgid "On, Slow-sync" msgstr "Uključeno, sporo usklađivanje" #: src/pentaxmn.cpp:260 msgid "On, Slow-sync, Red-eye reduction" msgstr "Uključeno, sporo usklađivanje, uklanjanje crvenih očiju" #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "On, prateća zavjesa" #: src/pentaxmn.cpp:272 msgid "Pan Focus" msgstr "Pan Fokus" #: src/pentaxmn.cpp:275 msgid "AF-A" msgstr "AF-A" #: src/pentaxmn.cpp:276 msgid "Contrast-detect" msgstr "Kontrast-detektovan" #: src/pentaxmn.cpp:277 msgid "Tracking Contrast-detect" msgstr "Praćenje kontrasta-detektovano" #: src/pentaxmn.cpp:284 msgid "Fixed Center" msgstr "Nepokretna sredina" #: src/pentaxmn.cpp:285 msgid "Automatic Tracking AF" msgstr "Automatsko AF pracenje" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "Prepoznavanje lica AF" #: src/pentaxmn.cpp:287 msgid "AF Select" msgstr "AF odabran" #: src/pentaxmn.cpp:305 msgid "Fixed Center or multiple" msgstr "Fiksirani centar ili višestruko" #: src/pentaxmn.cpp:307 msgid "Top-center" msgstr "Gore - sredina" #: src/pentaxmn.cpp:313 msgid "Bottom-center" msgstr "Dolje - sredina" #: src/pentaxmn.cpp:402 msgid "Multi Segment" msgstr "Više segmenata" #: src/pentaxmn.cpp:403 msgid "Center Weighted" msgstr "Ponderacija prema centru" #: src/pentaxmn.cpp:415 msgid "DaylightFluorescent" msgstr "DnevnoFluorescentno" #: src/pentaxmn.cpp:416 msgid "DaywhiteFluorescent" msgstr "Bijela dnevna fluorescentna svjetlost" #: src/pentaxmn.cpp:417 msgid "WhiteFluorescent" msgstr "Bijela fluorescentna svjetlost" #: src/pentaxmn.cpp:420 #, fuzzy msgid "Color Temperature Enhancement" msgstr "Podešavanje zemperatura boje" #: src/pentaxmn.cpp:423 msgid "User Selected" msgstr "Odabrano od strane korisnika" #: src/pentaxmn.cpp:428 msgid "Auto (Daylight)" msgstr "Automatski (Dnevna svjetlost)" #: src/pentaxmn.cpp:429 msgid "Auto (Shade)" msgstr "Automatski (Sjena)" #: src/pentaxmn.cpp:430 msgid "Auto (Flash)" msgstr "Auto (Bljesak)" #: src/pentaxmn.cpp:431 msgid "Auto (Tungsten)" msgstr "Automatski (volfram)" #: src/pentaxmn.cpp:432 #, fuzzy msgid "Auto (DaylightFluorescent)" msgstr "Automatski (Dnevna bijela fluorescentna svjetlost)" #: src/pentaxmn.cpp:433 msgid "Auto (DaywhiteFluorescent)" msgstr "Automatski (Dnevna bijela fluorescentna svjetlost)" #: src/pentaxmn.cpp:434 msgid "Auto (WhiteFluorescent)" msgstr "Automatski (Bijela fluorescentna svjetlost)" #: src/pentaxmn.cpp:435 msgid "Auto (Cloudy)" msgstr "Automatski (Oblačno)" #: src/pentaxmn.cpp:437 msgid "Preset (Fireworks?)" msgstr "Podesi (Vatrometi?)" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 msgid "Med Low" msgstr "Srednje nisko" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 msgid "Med High" msgstr "Srednje visoko" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "-4" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "+4" #: src/pentaxmn.cpp:473 msgid "Med Soft" msgstr "Srednje lagano" #: src/pentaxmn.cpp:474 msgid "Med Hard" msgstr "Srednje teško" #: src/pentaxmn.cpp:475 msgid "Very Soft" msgstr "Vrlo lagano" #: src/pentaxmn.cpp:476 msgid "Very Hard" msgstr "Vrlo čvrsto" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 msgid "Home town" msgstr "Rodni grad" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "Pago Pago" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "Honolulu" #: src/pentaxmn.cpp:491 msgid "Anchorage" msgstr "Anchorage" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "Vancouver" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "San Fransisco" #: src/pentaxmn.cpp:494 msgid "Los Angeles" msgstr "Los Angeles" #: src/pentaxmn.cpp:495 msgid "Calgary" msgstr "Calgary" #: src/pentaxmn.cpp:496 msgid "Denver" msgstr "Denver" #: src/pentaxmn.cpp:497 msgid "Mexico City" msgstr "Mexico City" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "Čikago" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "Majami" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "Toronto" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "Njujork" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "Santiago" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "Caracus" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "Halifax" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "Buenos Aires" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "Sao Paulo" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "Rio di Žaneiro" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "Madrid" #: src/pentaxmn.cpp:509 msgid "London" msgstr "London" #: src/pentaxmn.cpp:510 msgid "Paris" msgstr "Pariz" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "Milano" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "Rim" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "Berlin" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "Johannesburg" #: src/pentaxmn.cpp:515 msgid "Istanbul" msgstr "Istanbul" #: src/pentaxmn.cpp:516 msgid "Cairo" msgstr "Kairo" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "Jerusalim" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "Moskva" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "Jeddah" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "Teheran" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "Dubai" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "Karači" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "Kabul" #: src/pentaxmn.cpp:524 msgid "Male" msgstr "Male" #: src/pentaxmn.cpp:525 msgid "Delhi" msgstr "Delhi" #: src/pentaxmn.cpp:526 msgid "Colombo" msgstr "Colombo" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "Katmandu" #: src/pentaxmn.cpp:528 msgid "Dacca" msgstr "Dacca" #: src/pentaxmn.cpp:529 msgid "Yangon" msgstr "Yangon" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "Bangkok" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "Kuala Lumpur" #: src/pentaxmn.cpp:532 msgid "Vientiane" msgstr "Vientane" #: src/pentaxmn.cpp:533 msgid "Singapore" msgstr "Singapur" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "Pnom Pen" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "Ho Chi Minh" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "Džakarta" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "Hong Kong" #: src/pentaxmn.cpp:538 msgid "Perth" msgstr "Perth" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "Peking" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "Šangaj" #: src/pentaxmn.cpp:541 msgid "Manila" msgstr "Manila" #: src/pentaxmn.cpp:542 msgid "Taipei" msgstr "Tajpej" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "Seul" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "Adelaide" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "Tokio" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "Guam" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "Sidnej" #: src/pentaxmn.cpp:548 msgid "Noumea" msgstr "Noumea" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "Wellington" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "Auckland" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "Lima" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "Dakar" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "Alžir" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "Helsinki" #: src/pentaxmn.cpp:555 msgid "Athens" msgstr "Atena" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "Nairobi" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "Amsterdam" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "Stokholm" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "Lisabon" #: src/pentaxmn.cpp:560 msgid "Copenhagen" msgstr "Kopenhagen" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "Varšava" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "Prag" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "Budimpešta" #: src/pentaxmn.cpp:568 msgid "Unprocessed" msgstr "Neobrađeno" #: src/pentaxmn.cpp:570 msgid "Resized" msgstr "promjenjeno" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 msgid "Cropped" msgstr "Izrezano" #: src/pentaxmn.cpp:573 msgid "Digital Filter 6" msgstr "Digitalni FIlter 6" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "Spajanje okvira" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 msgid "Hi-speed Program" msgstr "Program velike brzine" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 msgid "DOF Program" msgstr "DOF Program" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 msgid "MTF Program" msgstr "MTF Program" #: src/pentaxmn.cpp:588 msgid "Night Scene Portrait" msgstr "Noćna scena portet" #: src/pentaxmn.cpp:589 msgid "No Flash" msgstr "Bez Blica" #: src/pentaxmn.cpp:592 msgid "Surf & Snow" msgstr "Surfovanje ili snijeg" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "Djeca" #: src/pentaxmn.cpp:600 msgid "Stage Lighting" msgstr "Nivo osvjetljenja" #: src/pentaxmn.cpp:601 msgid "Night Snap" msgstr "Noćno pucketanje" #: src/pentaxmn.cpp:602 msgid "Blue Sky" msgstr "Plavo nebo" #: src/pentaxmn.cpp:604 msgid "Night Scene HDR" msgstr "Noćna scena HDR" #: src/pentaxmn.cpp:606 msgid "Quick Macro" msgstr "Quick Macro" #: src/pentaxmn.cpp:607 #, fuzzy msgid "Forest" msgstr "Fluorescentno" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "" #: src/pentaxmn.cpp:610 msgid "Auto PICT (Standard)" msgstr "Auto PICT (Standard)" #: src/pentaxmn.cpp:611 msgid "Auto PICT (Portrait)" msgstr "Auto PICT (Portret)" #: src/pentaxmn.cpp:612 msgid "Auto PICT (Landscape)" msgstr "Auto PICT (Pejzaž)" #: src/pentaxmn.cpp:613 msgid "Auto PICT (Macro)" msgstr "Auto PICT (Makro)" #: src/pentaxmn.cpp:614 msgid "Auto PICT (Sport)" msgstr "Auto PICT (Sport)" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 msgid "Green Mode" msgstr "Zeleni režim" #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 msgid "Shutter Speed Priority" msgstr "Prioritet brzine okidača" #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 msgid "Aperture Priority" msgstr "Prioritet otvora" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "Sijalica" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "" #: src/pentaxmn.cpp:631 msgid "Program Tv Shift" msgstr "Promjena TV programa" #: src/pentaxmn.cpp:632 msgid "Program Av Shift" msgstr "Promjena AV programa" #: src/pentaxmn.cpp:635 msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "Prioritet otvoranja (Ugašeno Automatsko otvaranje)" #: src/pentaxmn.cpp:636 msgid "Manual (Off-Auto-Aperture)" msgstr "Ručno (Ugašeno Automatsko otvaranje)" #: src/pentaxmn.cpp:637 msgid "Bulb (Off-Auto-Aperture)" msgstr "Sijalica (Ugašeno Automatsko otvaranje)" #: src/pentaxmn.cpp:639 msgid "Shutter Priority" msgstr "Prioritet okidanja" #: src/pentaxmn.cpp:640 msgid "Shutter & Aperture Priority AE" msgstr "AE Prioritet okidanja i otvaranja" #: src/pentaxmn.cpp:641 msgid "Shutter & Aperture Priority AE (1)" msgstr "AE Prioritet okidanja i otvaranja (1)" #: src/pentaxmn.cpp:642 msgid "Sensitivity Priority AE" msgstr "AE Prioritet osjetljivosti" #: src/pentaxmn.cpp:643 msgid "Sensitivity Priority AE (1)" msgstr "AE Prioritet osjetljivosti (1)" #: src/pentaxmn.cpp:644 msgid "Flash X-Sync Speed AE" msgstr "Bljesak X-Sync Brzina AE" #: src/pentaxmn.cpp:645 msgid "Flash X-Sync Speed AE (1)" msgstr "Bljesak X-Sync Brzina AE (1)" #: src/pentaxmn.cpp:646 #, fuzzy msgid "Auto Program (Normal)" msgstr "Auto Program (DOF)" #: src/pentaxmn.cpp:647 #, fuzzy msgid "Auto Program (Hi-Speed)" msgstr "Auto Program (DOF)" #: src/pentaxmn.cpp:648 msgid "Auto Program (DOF)" msgstr "Auto Program (DOF)" #: src/pentaxmn.cpp:649 msgid "Auto Program (MTF)" msgstr "Auto Program (MTF)" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "Auto Program (Shallow DOF)" #: src/pentaxmn.cpp:651 msgid "Blur control" msgstr "Kontrola zamaglivanja" #: src/pentaxmn.cpp:654 msgid "Video (30 fps)" msgstr "Video (30 fps)" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "Video (24 fps)" #: src/pentaxmn.cpp:662 msgid "Continuous (Hi)" msgstr "neprekidno (Hi)" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 msgid "Burst" msgstr "Rafal" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 msgid "Video" msgstr "Video" #: src/pentaxmn.cpp:666 msgid "Self-timer (12 sec)" msgstr "Samookidač (12 sek)" #: src/pentaxmn.cpp:667 msgid "Self-timer (2 sec)" msgstr "Samookidač (2 sek)" #: src/pentaxmn.cpp:669 #, fuzzy msgid "Mirror Lock-up" msgstr "Zatvori Ogledalo" #: src/pentaxmn.cpp:670 msgid "Remote Control (3 sec)" msgstr "Daljinski upravljač (3 s)" #: src/pentaxmn.cpp:671 msgid "Remote Control" msgstr "Daljinski upravljač" #: src/pentaxmn.cpp:672 #, fuzzy msgid "Remote Continuous Shooting" msgstr "Velika brzina kontinualnog snimanja" #: src/pentaxmn.cpp:675 msgid "HDR Strong 1" msgstr "HDR Strong 1" #: src/pentaxmn.cpp:676 msgid "HDR Strong 2" msgstr "HDR Strong 2" #: src/pentaxmn.cpp:677 msgid "HDR Strong 3" msgstr "HDR Strong 3" #: src/pentaxmn.cpp:678 msgid "HDR Auto" msgstr "HDR Auto" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "M-42 ili bez leća" #: src/pentaxmn.cpp:691 msgid "K or M Lens" msgstr "K ili M Lens" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "A Serija Leća" #: src/pentaxmn.cpp:970 msgid "Bright" msgstr "Svjetlo" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "Preokret filma" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "zračeći" #: src/pentaxmn.cpp:990 msgid "Weakest" msgstr "Najslabije" #: src/pentaxmn.cpp:991 msgid "Weak" msgstr "Slabo" #: src/pentaxmn.cpp:992 msgid "Strong" msgstr "Jako" #: src/pentaxmn.cpp:1112 msgid "No extended bracketing" msgstr "Nije prosireno braketiranje" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "WB-BA" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "WB-GM" #: src/pentaxmn.cpp:1133 msgid "Unknown " msgstr "Nepoznato " #: src/pentaxmn.cpp:1146 msgid "Pentax Makernote version" msgstr "Verzija Pentax Makernote-a" #: src/pentaxmn.cpp:1149 msgid "Camera shooting mode" msgstr "Režim snimanja kamere" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 msgid "Resolution of a preview image" msgstr "Rezolucija pregleda slke" #: src/pentaxmn.cpp:1154 msgid "Length of a preview image" msgstr "Dužina pregleda slike" #: src/pentaxmn.cpp:1155 msgid "Size of an IFD containing a preview image" msgstr "Veličina IFD koji sadrži pregled slike" #: src/pentaxmn.cpp:1160 msgid "Model identification" msgstr "Identifikacija modela" #: src/pentaxmn.cpp:1161 #, fuzzy msgid "Pentax model identification" msgstr "Identifikacija Pentax modela" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 msgid "Date" msgstr "Datum" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 msgid "Time" msgstr "Vrijeme" #: src/pentaxmn.cpp:1170 msgid "Image quality settings" msgstr "Podešavanja kvaliteta slike" #: src/pentaxmn.cpp:1173 msgid "Image size settings" msgstr "Podešavanje veličine slike" #: src/pentaxmn.cpp:1177 msgid "Flash mode settings" msgstr "Podešavanje Bljesak režima" #: src/pentaxmn.cpp:1180 msgid "Focus mode settings" msgstr "Podešavanje Fokus režima" #: src/pentaxmn.cpp:1183 msgid "Selected AF point" msgstr "Označena AF tačka" #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 msgid "AF point in focus" msgstr "AF tacka u fokusu" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 msgid "F-Number" msgstr "F-broj" #: src/pentaxmn.cpp:1195 msgid "ISO sensitivity" msgstr "ISO osjetljivost" #: src/pentaxmn.cpp:1196 msgid "ISO sensitivity settings" msgstr "Postavke ISO osjetljivosti" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 msgid "MeteringMode" msgstr "Nacin mjerenja" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 msgid "AutoBracketing" msgstr "AutoBracketing" #: src/pentaxmn.cpp:1216 msgid "Blue color balance" msgstr "Balans plave boje" #: src/pentaxmn.cpp:1219 msgid "Red color balance" msgstr "Balans crvene boje" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 msgid "FocalLength" msgstr "Žićna daljina" #: src/pentaxmn.cpp:1239 msgid "Hometown" msgstr "Mjesto stanovanja" #: src/pentaxmn.cpp:1245 msgid "Hometown DST" msgstr "Ljetno vrijeme u vašem mjestu" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "Da li je ljetno vrijeme aktivno u vašem mjestu" #: src/pentaxmn.cpp:1248 msgid "Destination DST" msgstr "Ljetno vrijeme u odredištu" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "Da li je ljetno vrijeme aktivno u odredištu" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 msgid "DSPFirmwareVersion" msgstr "DSP Firmware Verzija" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 msgid "CPUFirmwareVersion" msgstr "CPU Firmware Verzija" #: src/pentaxmn.cpp:1261 msgid "Light value" msgstr "Vrijednost svjetlosti" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "" "Kamera je izracunala vrijednost svijetla, ukljucujuci kompenzaciju " "ekspozicije" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 msgid "Image area offset" msgstr "pomak prostora slike" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 msgid "Raw image size" msgstr "Sirova veličina slike" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 msgid "Preview image borders" msgstr "Granice pregleda slike" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 msgid "Sensitivity adjust" msgstr "Podešavanje osjetljivosti" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 msgid "Digital filter" msgstr "Digitalni Filter" #: src/pentaxmn.cpp:1299 msgid "Camera temperature" msgstr "Toplina kamere" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 msgid "Image tone" msgstr "Nijansa slike" #: src/pentaxmn.cpp:1319 msgid "Shake reduction" msgstr "Redukcija trešenja" #: src/pentaxmn.cpp:1320 msgid "Shake reduction information" msgstr "Informacija o redukciji trešenja" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 msgid "Dynamic range expansion" msgstr "Dinamička proširenost dometa" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 msgid "High ISO noise reduction" msgstr "Visoka ISO redukcija šuma" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 msgid "AF Adjustment" msgstr "AF Podešavanje" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 msgid "Black point" msgstr "Crna tačka" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 msgid "White point" msgstr "Bijela tačka" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 msgid "ShotInfo" msgstr "Informacije o snimku" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 msgid "AEInfo" msgstr "AE Informacija" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 msgid "LensInfo" msgstr "Informacija o objektivu" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 msgid "FlashInfo" msgstr "Informacija o bljesku" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 msgid "AEMeteringSegments" msgstr "AEM segmenti mjerenja" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 msgid "FlashADump" msgstr "DeponijaABlica" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 msgid "FlashBDump" msgstr "DeponijaBBlica" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 msgid "WB_RGGBLevelsDaylight" msgstr "WB_RGGB nivoi - dnevna svjetlost" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 msgid "WB_RGGBLevelsShade" msgstr "WB_RGGB nivoi - Sjenčenje" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 msgid "WB_RGGBLevelsCloudy" msgstr "WB_RGGB nivoi - Oblačno" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 msgid "WB_RGGBLevelsTungsten" msgstr "WB_RGGB nivoi - Volfram" #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 msgid "WB_RGGBLevelsFluorescentD" msgstr "WB_RGGB nivoi - FluorescentnoD" #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 msgid "WB_RGGBLevelsFluorescentN" msgstr "WB_RGGB nivoi - FluorescentnoN" #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 msgid "WB_RGGBLevelsFluorescentW" msgstr "WB_RGGB nivoi - FluorescentnoW" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 msgid "WB_RGGBLevelsFlash" msgstr "WB_RGGB nivoi - Bljesak" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 msgid "CameraInfo" msgstr "Informacija o kameri" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 msgid "BatteryInfo" msgstr "Informacija o bateriji" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 msgid "AFInfo" msgstr "AF Informacija" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 msgid "ColorInfo" msgstr "Informacija o boji" #: src/pentaxmn.cpp:1405 msgid "Unknown PentaxMakerNote tag" msgstr "Nepoznata PentaxMakerNote oznaka" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "Dublin Core shema" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "digiKam shema upravljanja fotografije" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "KDE Šema Interfejsa Programa za slike" #: src/properties.cpp:113 msgid "XMP Basic schema" msgstr "XMP osnovna šema" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "XMP Upravljenje Pravima šema" #: src/properties.cpp:115 msgid "XMP Media Management schema" msgstr "XMP Upravljanje Medijima šema" #: src/properties.cpp:116 msgid "XMP Basic Job Ticket schema" msgstr "XMP Osnovni tiket posla šema" #: src/properties.cpp:117 msgid "XMP Paged-Text schema" msgstr "XMP Stranica-Tekst šema" #: src/properties.cpp:118 msgid "XMP Dynamic Media schema" msgstr "XMP Dinamična Media šema" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "Microsoft Photo shema" #: src/properties.cpp:120 #, fuzzy msgid "Adobe Lightroom schema" msgstr "Adobe photoshop shema" #: src/properties.cpp:121 msgid "Adobe PDF schema" msgstr "Adobe PDF shema" #: src/properties.cpp:122 msgid "Adobe photoshop schema" msgstr "Adobe photoshop shema" #: src/properties.cpp:123 msgid "Camera Raw schema" msgstr "Osjetljiva Kamera šema" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "Exif Šema za TIFF Svojstva" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "Exif šema za Exif-specifična Svojstva" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "Exif šema za Dodatna Exif Svojstva" #: src/properties.cpp:127 src/properties.cpp:128 msgid "IPTC Core schema" msgstr "IPTC Jezgro šema" #: src/properties.cpp:129 src/properties.cpp:130 msgid "IPTC Extension schema" msgstr "IPTC Šema produženja" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "PLUS Licenca Podatak Format Shema" #: src/properties.cpp:132 msgid "iView Media Pro schema" msgstr "iView Media Pro šema" #: src/properties.cpp:133 msgid "Expression Media schema" msgstr "Ekpression Media shema" #: src/properties.cpp:134 msgid "Microsoft Photo 1.2 schema" msgstr "Microsoft Photo 1.2 šema" #: src/properties.cpp:135 msgid "Microsoft Photo RegionInfo schema" msgstr "Microsoft Photo RegionInfo šema" #: src/properties.cpp:136 msgid "Microsoft Photo Region schema" msgstr "Microsoft Photo Region šema" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "Šema regiona radne grupe za metapodatke" #: src/properties.cpp:138 #, fuzzy msgid "Metadata Working Group Keywords schema" msgstr "Šema regiona radne grupe za metapodatke" #: src/properties.cpp:139 msgid "XMP Extended Video schema" msgstr "XMP Proširena Video šema" #: src/properties.cpp:140 msgid "XMP Extended Audio schema" msgstr "XMP Proširena Audio šema" #: src/properties.cpp:141 #, fuzzy msgid "XMP Darwin Core schema" msgstr "Dublin Core shema" #: src/properties.cpp:142 #, fuzzy msgid "Qualified Dublin Core schema" msgstr "Dublin Core shema" #: src/properties.cpp:143 #, fuzzy msgid "ACDSee XMP schema" msgstr "Adobe PDF shema" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "" #: src/properties.cpp:148 msgid "Colorant structure" msgstr "Colorant struktura" #: src/properties.cpp:149 msgid "Dimensions structure" msgstr "Dimenzije strukture" #: src/properties.cpp:150 msgid "Font structure" msgstr "Font strukture" #: src/properties.cpp:151 msgid "Thumbnail structure" msgstr "Ikonica strukture" #: src/properties.cpp:152 msgid "Resource Event structure" msgstr "Struktura resursa događaja" #: src/properties.cpp:153 msgid "ResourceRef structure" msgstr "ResusrsRef struktura" #: src/properties.cpp:154 msgid "Version structure" msgstr "Verzija strukture" #: src/properties.cpp:155 msgid "Basic Job/Workflow structure" msgstr "Osnovni Posao/Tijek strukture" #: src/properties.cpp:156 msgid "Area structure" msgstr "Površinska struktura" #: src/properties.cpp:159 msgid "Qualifier for xmp:Identifier" msgstr "Kvalifikator za xmp:Identifikator" #: src/properties.cpp:163 msgid "Contributor" msgstr "Doprinosilac" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "Saradnici resursima (koji nisu autori)" #: src/properties.cpp:164 msgid "Coverage" msgstr "Podrška" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" "Prostorna ili vremenska tema resursa, prostorna primjenjivost resursa, ili " "nadležnost pod kojima je resurs je relevantan." #: src/properties.cpp:166 msgid "Creator" msgstr "Stvaralac" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "Autori resursa (popisani po prednosti, ako je značajno)" #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "Datum(i) kad se nešto zanimljivo dogodilo resursu." #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" "Tekstualni opsi sadržaja resursa.Višestruke vrijednosti mogu biti " "predstavljeni za različite jezike." #: src/properties.cpp:170 src/properties.cpp:1160 msgid "Format" msgstr "Format" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" "Format datoteke iskorišten za spašavanje resursa. Alati i aplikacije trebaju " "postaviti ovu osobinu u format spašavanja podataka. Može uključivati " "odgovarajuće parametre." #: src/properties.cpp:172 src/properties.cpp:228 msgid "Identifier" msgstr "Identifikator" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" "Jedinstven identifikator resursa. Preporučeno, najbolja praksa je " "identificirati resurs po značenju stringa prilagođavajući se formalnom " "identifikacionom sistemu." #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "Neuređen niz specificirajući jezike iskorištene u resursu." #: src/properties.cpp:175 msgid "Publisher" msgstr "Izdavač" #: src/properties.cpp:175 msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" "Entitet odgovoran za pravljenje dostupnih resursa. Primjeri izdavača " "uključuju osobu, organizaciju, ili servis. Tipično, ime izdavača bi trebalo " "biti dato tako da ukazuje na entitet." #: src/properties.cpp:178 msgid "Relation" msgstr "Odnos" #: src/properties.cpp:178 msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" "Veze sa ostalim dokumentima. Preporučeno, najbolja praksa je identificirati " "povezani resurs po značenju stringa prilagođavajući se formalnom " "identifikacionim sistemom." #: src/properties.cpp:180 msgid "Rights" msgstr "Prava" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" "Neformalna izjava prava, odabrana jezikom. Tipično, informacije o pravima " "uključuju izjavu o raznim imovinskim pravima povezanih s resursima, " "uključujući i prava intelektualnog vlasništva." #: src/properties.cpp:183 msgid "Unique identifier of the work from which this resource was derived." msgstr "Jedinstven identifikator djela iz kojeg je resurs izveden." #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" "Neuređen niz opisnih fraza ili ključnih riječi koje specificiraju temu " "sadržaja resursa." #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" "Naslov dokumenta, ili dodijeljeno ime resursu. Tipično, biće ime po kojem je " "resurs poznat." #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 msgid "Type" msgstr "Tip" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "Tip dokumenta; naprimjer, novela, poema, ili radni dokument." #: src/properties.cpp:194 msgid "Tags List" msgstr "Lista oznaka" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" "Lista potpunih putanja u obliku stringa. Putanja hijerarhije je rastavljena " "sa '/' znakom ( npr.: \"City/Paris/Monument/Eiffel Tower\")" #: src/properties.cpp:195 msgid "Captions Author Names" msgstr "Naslovi Imena autora" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" "Popis svih imena autora naslova za svaki jezik alternativni naslov je " "smjesten u XMP tag." #: src/properties.cpp:196 msgid "Captions Date Time Stamps" msgstr "Naslovi Datum/Vrijeme oznaka" #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" "Lista svih naslova datum/vrijeme oznaka za svaki jezik alternativni naslov " "postavi u standardne XMP oznake" #: src/properties.cpp:197 src/tags.cpp:844 msgid "Image History" msgstr "Historija slike" #: src/properties.cpp:197 #, fuzzy msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" "XML baziran na sadržaju liste svih akcija izvršenih na ovoj slici sa " "urednikom za slike (kao što su rezanje, rotiranje, ispravljanja boje, " "podešavanja, itd.)." #: src/properties.cpp:198 msgid "Lens Correction Settings" msgstr "Podešavanje tačnosti objektiva" #: src/properties.cpp:198 #, fuzzy msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" "Lista postavki alata Lens Correction koristenih za popravku lecne " "distorzije. Ovo ukljucuje alate Batch Queue Manager i Uredjivac slike " "bazirane na LensFun biblioteci." #: src/properties.cpp:199 msgid "Color Label" msgstr "Boja label-a" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" "Boja label-a dodijeljena je ovoj stavci. Moguće vrijednosti su: \"0\": nema " "label-a; \"1\": Crvena; \"2\": Narandžasta ; \"3\": Žuta; \"4\": Zelena; " "\"5\": Plava; \"6\": Ljubičasta; \"7\": SIva; \"8\": Crna; \"9\": Bijela." #: src/properties.cpp:200 msgid "Pick Label" msgstr "Dobavna oznaka" #: src/properties.cpp:200 msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" "Dobavna oznaka koja se pridruži ovom objektu. Moguće vrijednosti su \"0\": " "nema oznake; \"1\": odbačen objekt; \"2\": objekt čeka validaciju; \"3\": " "objekt prihvaćen." #: src/properties.cpp:206 #, fuzzy msgid "Panorama Input Files" msgstr "Enfuse Ulaznih Fajlova" #: src/properties.cpp:206 #, fuzzy msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" "Lista datoteka obrađenih sa Enfuse programom koristeći ExpoBlending alat." #: src/properties.cpp:207 msgid "Enfuse Input Files" msgstr "Enfuse Ulaznih Fajlova" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" "Lista datoteka obrađenih sa Enfuse programom koristeći ExpoBlending alat." #: src/properties.cpp:208 msgid "Enfuse Settings" msgstr "Enfuse Postavke" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" "Lista Enfuse podešavanja iskorištenih za miješanje slike sa mnoštvom drugih " "sa ExpBlending alatom." #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "Identifikator PicasaWeb objekta" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "Identifikator objekta s PicasaWeb web usluge" #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "Identifikator Yandex Fotki objekta" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "Identifikator objekta s Yandex Fotki web usluge" #: src/properties.cpp:216 msgid "Advisory" msgstr "Savjeti" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" "Neuređen niz specificirajući osobine koje su bile izmijenjene izvan autorske " "aplikacije. Svaka stavka bi trebala sadržavati pojedini namespace i XPath " "odvojen jednim ASCII razmakom (U+0020)." #: src/properties.cpp:219 src/properties.cpp:1066 msgid "Base URL" msgstr "Osnovni URL" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" "Bazni URL za povezane URL-ove u sadrzaju dokumenta. Ako ovaj dokument sadrzi " "Internet linkove, i ti linkovi su povezani, oni su povezani za bazni url. " "Ovo svojstvo omogucava standardni put za ugradjene povezane URLove da budu " "tumaceni alatima. Web autorski alati bi trebali postaviti vrijednost " "baziranu na njihovom poimanju gdje ce se URLovi tumaciti." #: src/properties.cpp:224 msgid "Create Date" msgstr "Datum unosa" #: src/properties.cpp:224 msgid "The date and time the resource was originally created." msgstr "Datum i vrijene resursa su izvorno kreirani." #: src/properties.cpp:225 msgid "Creator Tool" msgstr "Alat za kreiranje" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" "Ime prve poznate alatke upotrijebljene za kreiranje resursa. Ako je " "historija predstavljena u metapodacima, ova vrijednost bi trebala biti " "ekvivalentna osobini xmpMM::History's softwareAgent." #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" "Neuredjen niz tekstualnih znakova koji nedvosmisleno identificiraju podatak " "unutar datog konteksta. Clan niza moze biti uslovljen sa xmpidq:Scheme da " "obiljezava formalni identifikacioni sistem kojem taj identifikator odgovara. " "Napomena: dc:identifikator objekat se ne koristi zato sto nedostaje " "definirane sheme kvalifikatora i zato sto je definirana u XMP Specifikaciji " "kao jednostavni (jednoznacni) objekat." #: src/properties.cpp:233 msgid "Label" msgstr "Oznaka" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" "Riječ ili kratka fraza koja identificira dokument kao član korisnički " "definisane kolekcije. Upotrijebljeno za organizaciju dokumenata u " "pretraživanju datoteka." #: src/properties.cpp:235 msgid "Metadata Date" msgstr "Datum metapodatka" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" "Datum i vrijeme kada je metapodatak za ovaj resurs posljednji put spašen. " "Trebalo bi biti isto vrijeme ili još skorije od xmp:ModifyDate." #: src/properties.cpp:237 msgid "Modify Date" msgstr "Datum modifikacije" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" "Datum i vrijeme posljednje izmjene resursa. Vrijednost ove osobine nije " "potrebno isto kao sistemska izmjena datuma datoteke jer je postavljeno prije " "nego je datoteka izmijenjena." #: src/properties.cpp:240 msgid "Nickname" msgstr "Nadimak" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "Kratko neformalno ime za resurs." #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 msgid "Rating" msgstr "Ocjena" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" "Broj koji pokazuje status dokumenta povezanog sa ostalim dokumentima, " "upotrijebljeno za organizaciju dokumenata u pretraživanju datoteka. " "Vrijednosti su korisnički definisane unutar aplikacijski definisanog domena." #: src/properties.cpp:244 msgid "Thumbnails" msgstr "Sličice" #: src/properties.cpp:244 msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" "Alternativni niz male slike za datoteku, koja se može razlikovati u " "karakteristikama kao što su veličina ili kodu slike." #: src/properties.cpp:251 msgid "Certificate" msgstr "Certifikat" #: src/properties.cpp:251 msgid "Online rights management certificate." msgstr "Online certifikat o pravima izmjene." #: src/properties.cpp:252 msgid "Marked" msgstr "Označeno" #: src/properties.cpp:252 msgid "Indicates that this is a rights-managed resource." msgstr "Pokazuje da je ovo legalno izmijenjen resurs." #: src/properties.cpp:253 msgid "Owner" msgstr "Vlasnik" #: src/properties.cpp:253 msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "Neuređen niz specificirajući legalne vlasnike resursa." #: src/properties.cpp:254 msgid "Usage Terms" msgstr "Uvjeti o upotrebi" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "Tekstualne instrukcije kako resurs može biti legalno upotrijebljen." #: src/properties.cpp:255 msgid "Web Statement" msgstr "Web Izvještaj" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" "Lokacija web stranice opisujući vlasnika i/ili pravni izvještaj za ovaj " "resurs" #: src/properties.cpp:261 msgid "Derived From" msgstr "Izvedeno Iz" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" "Referenca na originalni dokument iz kojeg je ovo izvedeno. To je minimalna " "referenca;za komponente koje nedostaju pretpostavlja se da su " "nepromjenjene. Na primjer, nova verzija je potrebna samo da specificira " "instancu ID i broj verzije od prethodne verzije, ili prevođenje je potrebno " "samo da specificira instancu ID i izvedbu klase originala." #: src/properties.cpp:266 msgid "Document ID" msgstr "Dokument ID" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" "Uobičajeni identifikator za sve verzije prevoda dokumenta. Trebao bi biti " "baziran na UUID; pogledaj Document and Instance IDs ispod." #: src/properties.cpp:268 msgid "History" msgstr "Istorija" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" "Uredjeni niz korisničkih akcija visokoe razine koje su rezultirale u ovom " "resursu. Namjera je dati ljudskim čitateljima opće naznake o poduzetim " "koracima da bi se promjenilo iz prethodne verzije u ovu. Popis bi trebao " "biti na apstraktnoj razini, to nije namjera da bude iscrpljujucih pritiskana " "tipke ili druge detaljne historije." #: src/properties.cpp:272 msgid "Instance ID" msgstr "Instanca ID" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" "Identifikator za specifičnu inkarnaciju dokumenta, ažuriran svaki put kad se " "fajl spasi. Trebao bi biti baziran na UUID; pogledaj Document and Instance " "IDs ispod." #: src/properties.cpp:274 msgid "Managed From" msgstr "Upravljano Iz" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" "Pozivanje na dokument kakav je bio prije upravljanja. To je postavljena kada " "je upravljani dokument uveden s sistem za upravljanje sredstvima koja " "trenutno ne posjeduj . To može ili ne može uključiti reference na različite " "sisteme upravljanja ." #: src/properties.cpp:277 msgid "Manager" msgstr "Rukovodilac" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" "Naziv sistema za upravljanje imovinom koji upravlja ovim resursom. Uz xmpMM: " "ManagerVariant, to govori aplikaciji koje sistem za upravljanje imovinom da " "kontaktiraju u vezi ovog dokumenta." #: src/properties.cpp:280 msgid "Manage To" msgstr "Upravljati" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" "URI koji identificira upravljani resurs za sistem upravljanja sredstvima ," "prisutnost ovog svojstva je formalna indikacija da je ovaj resurs " "upravljan . Oblik i sadržaj tog URI je privatan za sistem za upravljanje " "resursima" #: src/properties.cpp:283 msgid "Manage UI" msgstr "Upravljaj UI" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" "URL koji može biti upotrijebljen za pristup informacijama o upravljanom " "resursu na web pretraživaču. Može se zahtijevati određeni plug-in " "pretraživača." #: src/properties.cpp:285 msgid "Manager Variant" msgstr "Varijanta menadžera" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" "Određuje određenu varijantu sistema za upravljanje imovinom.Oblik ovog " "objekta je privatan za određeni sistem upravljanja imovinom." #: src/properties.cpp:287 msgid "Rendition Class" msgstr "Klasa Izlaganja" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" "Naziv izvedbe klase za taj resurs . Ovo svojstvo bi trebao biti odsutno ili " "postavljeno na zadane za verziji dokumenta koja nije izvedena izvedba ." #: src/properties.cpp:289 msgid "Rendition Params" msgstr "Parametri izlaganja" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" "Moze se koristiti da bi se obezbjedili dodatni parametri za izlaganje koji " "su previse kompleksni ili verbalni da bi se sifrirali u xmpMM: " "RenditionClass." #: src/properties.cpp:291 msgid "Version ID" msgstr "Verzija ID" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr "" "Identifikator verzije dokumenta za ovaj resurs. Svaka verzija dokumenta " "dobija novi identifikator, obicno jednostavno rastuce cijele brojeve 1, 2, " "3 ... itd. Sistem upravljanja medijima moze imati konvencije ili podrzana " "grananja koja zahtijevaju kompleksnije sheme." #: src/properties.cpp:295 msgid "Versions" msgstr "Verzije" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" "Historija verzija povezana sa ovim resursom. Ulaz [1] je najstarija poznata " "verzija za ovaj dokument, ulaz [posljednji()] je najcesca verzija. Tipicno, " "sistem upravljanja medijima bi popunio podatke o verziji u metapodatku na " "check-in. To nije garancija da ce citava historija verzija od prve od ove " "postojati u xmpMM:Versions vlasnistvu. Unutrasnje informacije o verziji mogu " "biti kompresovane ili uklonjene i historija verzije moze biti skracena u " "nekoj tacki." #: src/properties.cpp:301 msgid "Last URL" msgstr "Zadnji URL" #: src/properties.cpp:301 msgid "Deprecated for privacy protection." msgstr "Zastarjela za privatnu zaštitu." #: src/properties.cpp:302 msgid "Rendition Of" msgstr "Prevođenje" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" "Zastarjela u korist xmpMM:DerivedFrom. Referenca na dokument od kojeg je ovo " "izvdeno." #: src/properties.cpp:304 msgid "Save ID" msgstr "Spasi ID" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "Zastarjelo. Prethodno korišteno samo za podršku xmpMM:LastURL posjeda." #: src/properties.cpp:310 msgid "Job Reference" msgstr "Poslovna Referenca" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" "Reference fajla upravljanja vanjskim poslom za posao procesa u kojem je " "koristen dokument. Koristenje imena poslova je pod kontrolom korisnika. " "Tipicno koristenje bi trebalo biti da se identifikuju svi dokumenti koji su " "dio odredjenog posla ili ugovora. Postoje visestruke vrijednosti zbog toga " "sto moze vise poslova koristiti odredjeni dokument u bilo koje vrijeme, to " "moze biti korisno da se zadrz i historijska informacija o poslu ciji je dio " "bio dokument prije." #: src/properties.cpp:319 msgid "Maximum Page Size" msgstr "Maksimalna Veličina Stranice" #: src/properties.cpp:319 msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "" "Veličina najveće stranice u dokumentu(uključujući bilo koji sadržani " "dokument)." #: src/properties.cpp:320 msgid "Number of Pages" msgstr "Broj strana" #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "Broj stranica u dokumentu(uključujući bilo koji sadržani dokument)." #: src/properties.cpp:321 msgid "Fonts" msgstr "Fontovi" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" "Neuređeni niz fontova koji su korišteni u dokumentu(uključujući bilo koji " "sadržani dokument)." #: src/properties.cpp:322 msgid "Colorants" msgstr "Koloranti" #: src/properties.cpp:322 msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" "Uređeni niz koloranata(satova) koji su korišteni u dokumentu(uključujući " "bilo koji sadržani dokument)." #: src/properties.cpp:323 msgid "Plate Names" msgstr "Tablica Imena" #: src/properties.cpp:323 msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" "Uređeni niz tablica imena su potrebni za printanje dokumenta(uključujući " "bilo koji sadržani dokument)." #: src/properties.cpp:329 src/properties.cpp:1285 msgid "Project Reference" msgstr "Referenca Projekta" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "Referenca na projekat koji je kreirao ovaj fajl." #: src/properties.cpp:330 src/properties.cpp:1163 msgid "Video Frame Rate" msgstr "Video brzina" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "Video brzina. Jedna od: 24, NTSC, PAL." #: src/properties.cpp:331 src/properties.cpp:1164 msgid "Video Frame Size" msgstr "Video Okvir Veličina" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "Veličina okvira. Na primjer: w:720, h: 480, unit:pixels" #: src/properties.cpp:332 msgid "Video Pixel Aspect Ratio" msgstr "Omjer video pixela" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "Omjer, izražen kao ht/wd. Npr: \"648/720\" = 0.9" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "Video Pixel Depth" msgstr "Video Dubljina Piksela" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" "Veličina bita za pojedinačni komponentu boje od piksela. Standardni 32-bitni " "pikseli imaju 8 bita po komponenti. Jedan od:8Int, 16Int, 32Int, 32Float." #: src/properties.cpp:335 src/properties.cpp:1081 msgid "Video Color Space" msgstr "Video Prostor Boje" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" "Prostor boje. Jedan od: sRGB (korišten od strane Photoshop-a), CCIR-601 " "(korišten za NTSC), CCIR-709 (korišten za HD)." #: src/properties.cpp:337 msgid "Video Alpha Mode" msgstr "Video Alfa Režim" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "Alfa režim. Jedan od: ravno, unaprijed-pomnoženo." #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "Video Alfa Višestruka Boja" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" "Boja u CMYK ili RGB korištena kao unaprijed pomnožena boja kad je alfa režim " "pred-pomnožen." #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "Video Alpha Unity je transparentna." #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "Kada istina,unity je jasno, kada lažno, neprozirno je." #: src/properties.cpp:341 msgid "Video Compressor" msgstr "Video kompresor" #: src/properties.cpp:341 msgid "Video compression used. For example, jpeg." msgstr "Video kompresija korištena. Naprimjer, jpeg." #: src/properties.cpp:342 msgid "Video Field Order" msgstr "Poredak video polja" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "Poredak polja za video. Jedan od: Gornji, donji, progresivan." #: src/properties.cpp:343 msgid "Pull Down" msgstr "Povucite Dolje" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" "Faza uzorkovanja filma pred konveziju u video(povući-dolje). Jedan od: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." #: src/properties.cpp:345 src/properties.cpp:1425 msgid "Audio Sample Rate" msgstr "Audio Stopa Uzorka" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" "Audio stopa uzorka. Može biti bilo koja vrijednost, ali uobičajeno je 32000, " "41100, or 48000." #: src/properties.cpp:346 src/properties.cpp:1426 msgid "Audio Sample Type" msgstr "Audio Tip Uzorka" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "Audio tip uzorka. Jedan od: 8Int, 16Int, 32Int, 32Float." #: src/properties.cpp:347 src/properties.cpp:1400 msgid "Audio Channel Type" msgstr "Audio Tip Kanala" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "Audio tip kanala. Jedan od:Mono, Stereo, 5.1, 7.1." #: src/properties.cpp:348 src/properties.cpp:1407 msgid "Audio Compressor" msgstr "Audio Kompresor" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "Audio kompresor korišten. Naprimjer, MP3." #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "Položaj zvučnika" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" "Opis uglova zvučnika od prednjeg centra u stepenima. Naprimjer : \"Lijevo = " "-30, Desno = 30, Centar = 0, LFE = 45, Lijevo okruženje = -110, Desno " "okruženje = 110\"" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "File Data Rate" msgstr "Brzina prijenosa podataka datoteke" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "" "Podatak datoteke je izražen u megabajtima po sekundi. Naprimjer: \"36/10\" = " "3.6 MB/sec" #: src/properties.cpp:352 src/properties.cpp:1334 msgid "Tape Name" msgstr "Ime trake" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "" "Naziv trake na kojoj je klip snimljen, postavljen u toku procesa snimanja." #: src/properties.cpp:353 msgid "Alternative Tape Name" msgstr "Alternativno ime trake" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" "Alternativni naziv trake, postavljen putem prozora projekta ili preko " "Timecode dijaloga u Premiere-u.Ako je alternativni naziv postavljen i nije " "vraćen, naziv je prikazan." #: src/properties.cpp:355 msgid "Start Time Code" msgstr "Kod Startnog Vremena" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "Vremenski kod prvog okvira videa u fajlu, kao dobijeni iz uredjaja." #: src/properties.cpp:356 msgid "Alternative Time code" msgstr "Alternativni Timecode" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" "Timecode postavljen od strane korisnika. Kad je označeno, koristi se umjesto " "početnog Timecode-a." #: src/properties.cpp:357 src/properties.cpp:1124 msgid "Duration" msgstr "Trajanje" #: src/properties.cpp:357 msgid "The duration of the media file." msgstr "Trajanje multimedijalne datoteke." #: src/properties.cpp:358 msgid "Scene" msgstr "Scena" #: src/properties.cpp:358 msgid "The name of the scene." msgstr "Naziv scene." #: src/properties.cpp:359 msgid "Shot Name" msgstr "Naziv snimka" #: src/properties.cpp:359 msgid "The name of the shot or take." msgstr "Ime snimka ili uzeti." #: src/properties.cpp:360 msgid "Shot Date" msgstr "Datum snimka" #: src/properties.cpp:360 msgid "The date and time when the video was shot." msgstr "Datum i vrijeme kad je video snimljen." #: src/properties.cpp:361 msgid "Shot Location" msgstr "Mjesto snimka." #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" "Naziv mjesta gdje je video snimljen. Naprimjer: \"Oktoberfest, Munich Germany" "\". Za preciznije pozicioniranje, iskoristi EXIF GPS vrijednosti." #: src/properties.cpp:363 msgid "Log Comment" msgstr "Log Komentar" #: src/properties.cpp:363 msgid "User's log comments." msgstr "Korisnički log komentari" #: src/properties.cpp:364 msgid "Markers" msgstr "Markeri" #: src/properties.cpp:364 msgid "An ordered list of markers" msgstr "Uređena lista markera." #: src/properties.cpp:365 msgid "Contributed Media" msgstr "Priložena medija" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "Neuređena lista svih medija iskorištenih za kreiranje ove medije." #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "Apsolutni Vrhunac Puta Audio Datoteke" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" "Apsolutni put do vrhunca audio fajla datoteke. Ako je prazno, ne postoji " "vrhunac fajla." #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "Relativni Vrhunac Puta Audio Datoteke" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" "Relativni put do vrhunca audio fajla datoteke. Ako je prazno, ne postoji " "vrhunac fajla." #: src/properties.cpp:368 msgid "Video Modified Date" msgstr "Datum modificiranja videa" #: src/properties.cpp:368 msgid "The date and time when the video was last modified." msgstr "Datum i vrijeme kad je video modificiran." #: src/properties.cpp:369 msgid "Audio Modified Date" msgstr "Datum modificiranja audio datoteke." #: src/properties.cpp:369 msgid "The date and time when the audio was last modified." msgstr "Datum i vrijeme kad je audio datoteka modificirana." #: src/properties.cpp:370 msgid "Metadata Modified Date" msgstr "Datum modificiranja metapodatka" #: src/properties.cpp:370 msgid "The date and time when the metadata was last modified." msgstr "Datum i vrijeme kada je metapodatak modificiran." #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "Izvođač" #: src/properties.cpp:371 src/properties.cpp:1058 msgid "The name of the artist or artists." msgstr "Naziv izvođača ili izvođača." #: src/properties.cpp:372 src/properties.cpp:1054 msgid "Album" msgstr "Album" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "The name of the album." msgstr "Naziv albuma." #: src/properties.cpp:373 src/properties.cpp:1366 msgid "Track Number" msgstr "Broj numere" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "" "Brojcana vrijednost pokazuje redosljed audio datoteke unutar svog izvornog " "snimanja." #: src/properties.cpp:374 src/properties.cpp:1166 msgid "Genre" msgstr "Žanr" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "The name of the genre." msgstr "Naziv žanra." #: src/properties.cpp:375 msgid "The copyright information." msgstr "Informacije o autorskim pravima." #: src/properties.cpp:376 msgid "The date the title was released." msgstr "Datum kada je naziv publiciran." #: src/properties.cpp:377 src/properties.cpp:1086 msgid "Composer" msgstr "Kompozitor" #: src/properties.cpp:377 msgid "The composer's name." msgstr "Ime kompozitora" #: src/properties.cpp:378 src/properties.cpp:1143 msgid "Engineer" msgstr "Inženjer" #: src/properties.cpp:378 msgid "The engineer's name." msgstr "Ime inženjera" #: src/properties.cpp:379 msgid "Tempo" msgstr "Tempo" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "Tempo audio datoteke" #: src/properties.cpp:380 msgid "Instrument" msgstr "Instrument" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "Muzički instrument." #: src/properties.cpp:381 msgid "Intro Time" msgstr "Uvod" #: src/properties.cpp:381 msgid "The duration of lead time for queuing music." msgstr "Trajanje vremena dovodjenja za muziku na cekanju." #: src/properties.cpp:382 msgid "Out Cue" msgstr "Out Cue" #: src/properties.cpp:382 msgid "The time at which to fade out." msgstr "Vrijeme početka postepenog stišavanja." #: src/properties.cpp:383 msgid "Relative Timestamp" msgstr "Relativna vremenska oznaka" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "Vrijeme početka medije unutar audio projekta." #: src/properties.cpp:384 msgid "Loop" msgstr "Petlja" #: src/properties.cpp:384 #, fuzzy msgid "When true, the clip can be looped seamlessly." msgstr "Kada istina, isjecak se stalno vrti" #: src/properties.cpp:385 msgid "Number Of Beats" msgstr "Broj otkucaja" #: src/properties.cpp:385 msgid "The number of beats." msgstr "Broj otkucaja." #: src/properties.cpp:386 msgid "Key" msgstr "Ključ" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "Muzička skala. Jedno od: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." #: src/properties.cpp:387 msgid "Stretch Mode" msgstr "Režim rastezanja" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" "Nacin audio istezanja. Jedan od: Fiksirana dužina, mjera za vrijeme, " "resample, uplitanje bita, Hybrid." #: src/properties.cpp:388 msgid "Time Scale Parameters" msgstr "Parametri vremenske skale" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "Dodatni parametri za režim rastezanja vremenske skale." #: src/properties.cpp:389 msgid "Resample Parameters" msgstr "Parametri Resemplovanja" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "Dodatni parametri za Resemplovanje nacina istezanja." #: src/properties.cpp:390 msgid "Beat Splice Parameters" msgstr "Parametri spajanja otkucaja." #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "Dodatni parametri za režim rastezanja Spajanja otkucaja." #: src/properties.cpp:391 msgid "Time Signature" msgstr "Vremenska mjera" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" "Vremenska mjera muzike, jedno od: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, 12/8, " "ostalo." #: src/properties.cpp:392 msgid "Scale Type" msgstr "Tip skale" #: src/properties.cpp:392 msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "" "Muzička skala korištena u muzici. Jedna od njih: Major, Minor, Obje, " "Nijedna. Nijedna je najčešće korištena za instrumente bez asocijacijske " "skale, kao sto su bubnjevi." #: src/properties.cpp:399 src/tags.cpp:1078 msgid "Camera Serial Number" msgstr "Serijski broj kamere." #: src/properties.cpp:399 msgid "Camera Serial Number." msgstr "Serijski broj kamere." #: src/properties.cpp:400 msgid "Date Acquired" msgstr "Datum sticanja." #: src/properties.cpp:400 msgid "Date Acquired." msgstr "Datum sticanja." #: src/properties.cpp:401 msgid "Flash Manufacturer" msgstr "Proizvođač bljeska" #: src/properties.cpp:401 msgid "Flash Manufacturer." msgstr "Proizvođač bljeska." #: src/properties.cpp:402 msgid "Flash Model." msgstr "Model bljeska." #: src/properties.cpp:403 msgid "Last Keyword IPTC" msgstr "Posljednja ključna riječ IPTC" #: src/properties.cpp:403 msgid "Last Keyword IPTC." msgstr "Posljednja ključna riječ IPTC." #: src/properties.cpp:404 msgid "Last Keyword XMP" msgstr "Posljednja ključna riječ XMP" #: src/properties.cpp:404 msgid "Last Keyword XMP." msgstr "Posljednja ključna riječ XMP." #: src/properties.cpp:405 msgid "Lens Manufacturer" msgstr "Proizvođač objektiva" #: src/properties.cpp:405 msgid "Lens Manufacturer." msgstr "Proizvođač objektiva." #: src/properties.cpp:406 src/properties.cpp:1199 msgid "Lens Model." msgstr "Model objektiva." #: src/properties.cpp:407 msgid "Rating Percent" msgstr "Postotak ocjena" #: src/properties.cpp:407 msgid "Rating Percent." msgstr "Postotak ocjena." #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "" #: src/properties.cpp:414 #, fuzzy msgid "Private RTK Info" msgstr "Informacija o slici" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "" #: src/properties.cpp:420 msgid "Keywords." msgstr "Ključne riječi." #: src/properties.cpp:421 msgid "PDF Version" msgstr "PDF Verzija" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "Verzija PDF datoteke (naprimjer : 1.0, 1.3, i sl.)" #: src/properties.cpp:422 src/properties.cpp:1278 msgid "Producer" msgstr "Proizvođač" #: src/properties.cpp:422 msgid "The name of the tool that created the PDF document." msgstr "Naziv alata koji je kreirao PDF dokument" #: src/properties.cpp:428 msgid "Authors Position" msgstr "Pozicija autora" #: src/properties.cpp:428 msgid "By-line title." msgstr "Naslov po liniji." #: src/properties.cpp:429 msgid "Caption Writer" msgstr "Pisač naslova" #: src/properties.cpp:429 msgid "Writer/editor." msgstr "Pisač / Urednik" #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "Kategorija. Ograničena na 3 7-bita ASCII karaktera." #: src/properties.cpp:431 msgid "City." msgstr "Grad." #: src/properties.cpp:432 msgid "Country/primary location." msgstr "Zemlja / lokacija porijekla." #: src/properties.cpp:433 msgid "Credit." msgstr "Zahvala." #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" "Datum kada je intelektualni sadržaj dokumenta stvoren ( umjesto datuma " "nastanka fizičke reprezentacije ) , prateći IIM konvencije . Na primjer ," "fotografije snimljene za vrijeme američkog građanskog rata će imati datum " "stvaranja tokom tog doba (1861-1865) , a ne datim kada je slika " "digitalizirana za arhiviranje ." #: src/properties.cpp:438 msgid "Headline." msgstr "Naslov" #: src/properties.cpp:439 msgid "Special instructions." msgstr "Posebne instrukcije" #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source." msgstr "Izvor." #: src/properties.cpp:441 msgid "Province/state." msgstr "Provincija/država." #: src/properties.cpp:442 msgid "Supplemental category." msgstr "Dodatna kategorija." #: src/properties.cpp:443 msgid "Original transmission reference." msgstr "Izvorna referenca prenosa." #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "Važnost. Dozvoljeni raspon je 1-8." #: src/properties.cpp:452 msgid "inches" msgstr "Inči" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "cm" #: src/properties.cpp:457 msgid "Auto Brightness" msgstr "Auto obasjanje" #: src/properties.cpp:457 msgid "When true, \"Brightness\" is automatically adjusted." msgstr "Kad je tačno, \"Svjetlost\" je automatski podešena." #: src/properties.cpp:458 msgid "Auto Contrast" msgstr "Automatski kontrast" #: src/properties.cpp:458 msgid "When true, \"Contrast\" is automatically adjusted." msgstr "Kad je tačno, \"Kontrast\" je automatski podešena." #: src/properties.cpp:459 msgid "Auto Exposure" msgstr "Automatska Ekspozicija" #: src/properties.cpp:459 msgid "When true, \"Exposure\" is automatically adjusted." msgstr "Kad je tačno, \"Ekspozicija\" je automatski podešena." #: src/properties.cpp:460 msgid "Auto Shadows" msgstr "Automatske sjene" #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "Kad je tačno, \"Sjene\" su automatski podešene." #: src/properties.cpp:461 msgid "Blue Hue" msgstr "Plava nijansa" #: src/properties.cpp:461 msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "Postavljanje plave nijanse. opseg -100 do 100." #: src/properties.cpp:462 msgid "Blue Saturation" msgstr "Zasićenje plave" #: src/properties.cpp:462 msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "Postavka zasićenja plave. Opseg -100 do +100." #: src/properties.cpp:463 msgid "\"Brightness\" setting. Range 0 to +150." msgstr "Postavka osvjetljenja. Opseg 0 do +150." #: src/properties.cpp:464 msgid "Camera Profile" msgstr "Profil kamere" #: src/properties.cpp:464 msgid "\"Camera Profile\" setting." msgstr "Podešavanje \"Profil kamere\"." #: src/properties.cpp:465 msgid "Chromatic Aberration Blue" msgstr "Hromatsko odstupanje plave boje" #: src/properties.cpp:465 msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "" "\"Hromatska Aberacije, Fiksirana Plavo/Žuta Resa\" postavka. Rang -100 do " "+100." #: src/properties.cpp:466 msgid "Chromatic Aberration Red" msgstr "Hromatsko odstupanje crvene boje" #: src/properties.cpp:466 msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "" "\"Hromatska Aberacije, Fiksirana Crveno/Cijan Resa\" postavka. Rang -100 do " "+100." #: src/properties.cpp:467 src/properties.cpp:1080 msgid "Color Noise Reduction" msgstr "Redukcija šuma boje" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "Podešavanje \"Redukcija Šuma Slike\" .Raspon 0 do +100." #: src/properties.cpp:468 msgid "\"Contrast\" setting. Range -50 to +100." msgstr "Podešavanje \"Kontrast\". Raspon -50 do +100." #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "Kada \"Ima izrezano\" je tacno, vrh izrezanog je pod pravim uglom." #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "" "Kada \"Ima izrezano\" je tacno, lijevo od izrezanog je pod pravim uglom." #: src/properties.cpp:471 msgid "Crop Bottom" msgstr "Reži dno." #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "Kada \"Ima izrezano\" je tacno, dno izrezanog je pod pravim uglom." #: src/properties.cpp:472 msgid "Crop Right" msgstr "Reži desno" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "" "Kada \"Ima izrezano\" je tacno, desno od izrezanog je pod pravim uglom." #: src/properties.cpp:473 msgid "Crop Angle" msgstr "Reži ugao" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "Kada \"Ima Izrezano\" je istina, ugao izrezivanja je pravougaoni." #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "Širina rezultujuće izrezane slike u CropUnits jedinicama." #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "Visina rezultujuće izrezane slike u CropUnits jedinicama." #: src/properties.cpp:476 msgid "Crop Units" msgstr "Jedinice rezanja" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "Jedinice za Rezanje Širine i Rezanje visine. 0=pixeli, 1=inči, 2=cm" #: src/properties.cpp:477 msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "Podešavanje \"Ekspozicija\".Raspon -4.0 do +4.0." #: src/properties.cpp:478 #, fuzzy msgid "Green Hue" msgstr "Zelena nijansa" #: src/properties.cpp:478 msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "Podešavanje \"Zelena nijansa\". Raspon -100 do +100." #: src/properties.cpp:479 msgid "Green Saturation" msgstr "Zasićenost zelene boje" #: src/properties.cpp:479 msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "Podešavanje \"Zasićenost zelene boje\". Raspon -100 do +100." #: src/properties.cpp:480 msgid "Has Crop" msgstr "Ima Izrezano" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "Kada je tačno, slika ima pravougaonasto rezanje." #: src/properties.cpp:481 msgid "Has Settings" msgstr "Ima Postavke" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "Kad je tačno, ne-zadane sirove postvake kamere." #: src/properties.cpp:482 msgid "Luminance Smoothing" msgstr "Izglađivanje svjetlosti" #: src/properties.cpp:482 msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "Podešavanje \"Izglađivanje svjetlosti\". Raspon 0 do +100." #: src/properties.cpp:483 msgid "Raw File Name" msgstr "Sirovo Ime Fajla" #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "Naziv fajla neobradjenog fajla (nije kompletiran put )" #: src/properties.cpp:484 msgid "Red Hue" msgstr "Crvena nijansa" #: src/properties.cpp:484 msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "Podešavanje \"Crvena nijansa\". Raspon -100 do +100." #: src/properties.cpp:485 msgid "Red Saturation" msgstr "Zasićenje crvene" #: src/properties.cpp:485 msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "\"Zasićenost crvene boje\".Raspon -100 do +100." #: src/properties.cpp:486 msgid "\"Saturation\" setting. Range -100 to +100." msgstr "Podešavanje \"Zasićenost\". Raspon -100 do +100." #: src/properties.cpp:487 msgid "Shadows" msgstr "Sijenke" #: src/properties.cpp:487 msgid "\"Shadows\" setting. Range 0 to +100." msgstr "Podešavanje \"Sjene\". Raspon 0 do +100." #: src/properties.cpp:488 msgid "Shadow Tint" msgstr "Nijansa sjene" #: src/properties.cpp:488 msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "Podešavanje \"Nijansa sjene\". Raspon -100 do +100." #: src/properties.cpp:489 src/properties.cpp:1301 msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "Podešavanje \"Oštrina\". Raspon 0 do +100." #: src/properties.cpp:490 msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "Podešavanje \"Toplina\". Raspon 2000 do 50000." #: src/properties.cpp:491 msgid "Tint" msgstr "Tinta" #: src/properties.cpp:491 msgid "\"Tint\" setting. Range -150 to +150." msgstr "Podešavanje \"Nijansa\". Raspon -150 do +150." #: src/properties.cpp:492 msgid "Tone Curve" msgstr "Kriva nijanse" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "Niz pokazivaca (Cijeli broj, Cijeli broj) definiraju \"Krivu nijanse\"" #: src/properties.cpp:493 msgid "Tone Curve Name" msgstr "Naziv krive nijanse" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" "Ime Krive Nijanse opisano sa ToneCurve. Jedno od: Linearno, Umjeren " "Kontrast, Jak Kontrast, Prilagodjeno ili korisnicki kreirano ime." #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "Verzija Camera Raw dodatka." #: src/properties.cpp:496 msgid "Vignette Amount" msgstr "Količina vinjete" #: src/properties.cpp:496 msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "Podešavanje \"Količina vinjetiranja\". Raspon -100 do +100." #: src/properties.cpp:497 msgid "Vignette Midpoint" msgstr "Središnja tačka vinjete" #: src/properties.cpp:497 msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "Podešavanje \"Središnja tačka vinjetiranja\". Raspon 0 do +100.\"" #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" "Podešavanje \"Bijeli balans\". Jedan od: Kao snimak, Automatski, Dnevna " "svjetlost, Oblačno, Hladno, Metalik, Fluorescentno, Sa bljeskom, Napredno" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "TIFF oznaka 256, 0x100. Širina slike u pixelima." #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 msgid "Image Length" msgstr "Dužina slike" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "TIFF oznaka 257, 0x101. Visina slike u pixelima." #: src/properties.cpp:507 msgid "Bits Per Sample" msgstr "Bitova po uzorku" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "TIFF oznaka 258, 0x102. Broj bita po komponenti na svakom kanalu." #: src/properties.cpp:508 src/tags.cpp:434 msgid "Compression" msgstr "Kompresija" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "TIFF oznaka 259, 0x103. Šema kompresije: 1=nekompresovano; 6=JPEG" #: src/properties.cpp:509 src/tags.cpp:440 msgid "Photometric Interpretation" msgstr "Fotometrijsko predstavljanje" #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "TIFF oznaka 262, 0x106. Kompozicija pixela: 2=RGB; 6=YCbCr" #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" "TIFF oznaka 274, 0x112. Orijentacija:1 = 0. red na vrhu, 0. kolona lijevo 2 " "= 0. red na vrhu, 0. kolona desno 3 = 0. red na dnu, 0. kolona desno 4 = 0. " "red na dnu, o. kolona lijevo 5 = 0. red lijevo, 0. kolona na vrhu 6 = 0. red " "desno, 0. kolona na vrhu 7 = 0. red desno, 0. kolona na dnu 8 = 0. red " "lijevo, 0. kolona na dnu" #: src/properties.cpp:519 msgid "Samples Per Pixel" msgstr "Uzorci po pixelu" #: src/properties.cpp:519 msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "TIFF oznaka 277, 0x115. Broj komponenti po pixelu." #: src/properties.cpp:520 src/tags.cpp:514 msgid "Planar Configuration" msgstr "Raspored Planara" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "TIFF oznaka 284, 0x11C. Podaci izgleda: 1 = zrnasto; 2 = planarno." #: src/properties.cpp:521 msgid "YCbCr Sub Sampling" msgstr "YCbCr Sub Semplovanje" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" "TIFF oznaka 530, 0x212. Omjer uzorkovanja komponenti signala boje: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" #: src/properties.cpp:523 src/tags.cpp:720 msgid "YCbCr Positioning" msgstr "YCbCr položaj" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" "TIFF oznaka 531, 0x213. Pozicija sjajnih naspram komponenti osvjetljenosti:1 " "= usmjereno; 2 = co-položeno." #: src/properties.cpp:525 src/properties.cpp:1390 msgid "X Resolution" msgstr "X Rezolucija" #: src/properties.cpp:525 msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "" "TIFF oznaka 282, 0x11A. Horizontalna rezolucija u pixelima po jedinici." #: src/properties.cpp:526 src/properties.cpp:1392 msgid "Y Resolution" msgstr "Y Rezolucija" #: src/properties.cpp:526 msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "TIFF oznaka 283, 0x11B. Vertikalna rezolucija u pixelima po jedinici." #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 msgid "Resolution Unit" msgstr "Jedinica rezolucije" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" "TIFF oznaka 296, 0x128. Jedinica upotrijebljena za Xrezoluciju i " "Yrezoluciju. Vrijednost je jedna od: 2 = inči; 3 = centimetri." #: src/properties.cpp:529 src/tags.cpp:540 msgid "Transfer Function" msgstr "Funkcija prijenosa" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" "TIFF oznaka 301, 0x12D. Funkcija prenosa za sliku opisanu u tablicnom stilu " "sa 3 * 256 unosa." #: src/properties.cpp:531 src/tags.cpp:572 msgid "White Point" msgstr "Bijela tačka" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "TIFF oznaka 318, 0x13E. Kromatizitet bijele tačke." #: src/properties.cpp:532 src/tags.cpp:577 msgid "Primary Chromaticities" msgstr "Glavna nijansiranost" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "TIFF oznaka 319, 0x13F. Kromatizitet tri osnovne boje." #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "" "TIFF oznaka 529, 0x211. Matrica koeficijenata za RGB do YCbCr transformacija." #: src/properties.cpp:534 msgid "Reference Black White" msgstr "Referenca Crno-bijelo" #: src/properties.cpp:534 msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "TIFF oznaka 532, 0x214. Referenca vrijednosti tačke crno-bijelo" #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 msgid "Date and Time" msgstr "Datum i vrijeme" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" "TIFF oznaka 306, 0x132 (osnovna) i EXIF oznaka 37520, 0x9290 (subsekund). " "Datum i vrijeme stvaranja slike (nema vremenskih zona u EXIF), pohranjeni u " "ISO 8601 formatu, nisu orginalni EXIF format. Ovo svojstvo uključuje " "vrijednost za atributa EXIF SubSecTime. NAPOMENA: Ovaj objekt je pohranjen u " "XMP kao XMP: ModifyDate." #: src/properties.cpp:541 src/tags.cpp:462 msgid "Image Description" msgstr "Opis slike" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" "TIFF oznaka 270, 0x10E. Opis slike.Napomena: Ova osobina je pohranjena u XMP " "kao dc:opis." #: src/properties.cpp:542 msgid "Make" msgstr "Kreiraj" #: src/properties.cpp:542 msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "TIFF oznaka 271, 0x10F. Proizvođač opreme za snimanje." #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "TIFF oznaka 272, 0x110. Naziv modela ili broj opreme." #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" "TIFF tag 305, 0x131. Softver ili firmver koristen za generiranje slike. " "Napomena: Ovaj objekat je pohranjen u XMP kao xmp:CreatorTool. " #: src/properties.cpp:546 msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" "TIFF oznaka 315, 0x13B. Vlasnik kamere, fotograf ili tvorac slike. Napomena: " "Ovo svosjtvo je sačuvano u XMP kao prva stavka u dc:creator nizu." #: src/properties.cpp:548 msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" "TIFF oznaka 33432, 0x8298. Informacija o autorskim pravima. Napomena: ovo " "svojstvo je sačuvano u XMP kao dc:rights." #: src/properties.cpp:555 src/tags.cpp:1605 msgid "Exif Version" msgstr "Exif verzija" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "EXIF oznaka 36864, 0x9000. Broj EXIF verzije." #: src/properties.cpp:556 msgid "Flashpix Version" msgstr "Verzija flashpix-a" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "EXIF oznaka 40960, 0xA000. Verzija FlashPixa-a." #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "EXIF oznaka 40961, 0xA001. Informacija o prostoru boje" #: src/properties.cpp:558 src/tags.cpp:1616 msgid "Components Configuration" msgstr "Postavke komponenti" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" "EXIF tag 37121, 0x9101. Konfiguracija komponenti u podatku: 4 5 6 0 (ako je " "RGB kompresovan podatak), 1 2 3 0 (ostali slučajevi)." #: src/properties.cpp:560 src/tags.cpp:825 msgid "Compressed Bits Per Pixel" msgstr "Kompresovani bitovi po pixelu" #: src/properties.cpp:560 msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" "EXIF oznaka 37122, 0x9102. Način kompresije upotrijebljen za kompresovanu " "sliku je pokazan u jedinicama bita po pixelu." #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "Piksel X Dimenzija" #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "EXIF oznaka 40962, 0xA002. Važeća širina, u pixelima." #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "Piksel Y Dimenzija" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "EXIF oznaka 40963, 0xA003. Važeća visina slike, u pixelima." #: src/properties.cpp:564 src/tags.cpp:1674 msgid "User Comment" msgstr "Korisnički komentar" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "EXIF oznaka 37510, 0x9286. Komentari od strane korisnika." #: src/properties.cpp:565 src/tags.cpp:1716 msgid "Related Sound File" msgstr "Povezana Zvučna Datoteka." #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" "EXIF tag 40964, 0xA004. \"8.3\" naziv datoteke za povezanu audtio datoteku." #: src/properties.cpp:566 src/properties.cpp:1110 msgid "Date and Time Original" msgstr "Izvorni datum i vrijeme" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" "EXIF oznake 36867, 0x9003 (primarno) i 37521, 0x9291 (subsekunde). Datum i " "vrijeme kad je originalna slika generirana, u ISO 8601 formatu. Uključuje " "EXIF SubSecTimeOrigina podatak." #: src/properties.cpp:569 src/properties.cpp:1111 msgid "Date and Time Digitized" msgstr "Digitalizovani datum i vrijeme" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" "EXIF oznaka 36868, 0x9004 (primarno) i 37522, 0x9292 (subsekunde). Datum i " "vrijeme kad je slika pohranjena kao digitalni podatak, može biti isti kao i " "DatumVrijemeOriginal ako je originalno pohranjeno u digitalnoj formi. " "Pohranjeno u ISO 8601 formatu. Uključuje EXIF SubSecVremenskiDigitaliziran " "podatak." #: src/properties.cpp:573 msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "EXIF oznaka 33434, 0x829A. Vrijeme izlaganja u sekundama." #: src/properties.cpp:574 src/properties.cpp:1157 msgid "F Number" msgstr "F broj" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "EXIF oznaka 33437, 0x829D. F broj." #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "EXIF oznaka 34850, 0x8822. Klasa programa iskorištena za izlaganje." #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 msgid "Spectral Sensitivity" msgstr "Spektralna osjetljivost" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "EXIF oznaka 34852, 0x8824. Spektralna osjetljivost za svaki kanal." #: src/properties.cpp:577 msgid "ISOSpeedRatings" msgstr "ISOOcjeneBrzine" #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" "EXIF oznaka 34855, 0x8827. ISO Brzina i ISO Širina od ulaznog uređaja kako " "su specificirane u ISO 12232." #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "OECF" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" "EXIF tag 34856, 0x8828. Opto-elektronička konverzija funkcije kako je " "navedeno u ISO 14524." #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" "EXIF oznaka 37377, 0x9201. Brzina zatvarača, jedinica je APEX. Pogledak " "Aneex C od EXIF specifikacije." #: src/properties.cpp:581 msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "EXIF oznaka 37378, 0x9202. Otvor objektiva, jedinica je APEX." #: src/properties.cpp:582 src/tags.cpp:828 msgid "Brightness Value" msgstr "Vrijednost osvjetljenja" #: src/properties.cpp:582 msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "EXIF oznaka 37379, 0x9203. Jačina osvjetljenja, jedinica je APEX." #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "EXIF oznaka 37380, 0x9204. Izloženost prednaponu, jedinica je APEX." #: src/properties.cpp:584 src/properties.cpp:1211 msgid "Maximum Aperture Value" msgstr "Maksimalna Vrijednost Otvaranja" #: src/properties.cpp:584 msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "EXIF oznaka 37381, 0x9205. Najmanji F broj objekitva, u APEX." #: src/properties.cpp:585 msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "EXIF oznaka 37382, 0x9206. Udaljenost do predmeta, u metrima." #: src/properties.cpp:586 msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "EXIF oznaka 37383, 0x9207. Način mjerenja." #: src/properties.cpp:587 msgid "EXIF tag 37384, 0x9208. Light source." msgstr "EXIF oznaka 37384, 0x9208. Izvor svjetlosti." #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "" "EXIF oznaka 37385, 0x9209. Bljeskava svjetla (bljeskalica) izvor podataka." #: src/properties.cpp:589 msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "EXIF oznaka 37386, 0x920A. Fokusna dužina objektiva, u milimetrima." #: src/properties.cpp:590 src/tags.cpp:1666 msgid "Subject Area" msgstr "Oblast subjekta" #: src/properties.cpp:590 msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" "EXIF oznaka 37396, 0x9214. Lokacija i područje glavnog predmeta u " "cjelokupnom prizoru." #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 msgid "Flash Energy" msgstr "Stanje energije blica" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "EXIF oznaka 41483, 0xA20B. Bljeskava energija tijekom slikanja slike." #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "Prostorni frekventni odziv" #: src/properties.cpp:592 msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" "EXIF oznaka 41484, 0xA20C. Ulazni uređaj tabela prostorne frekvencije i SFR " "vrijednosti kako su specificirane u ISO 12233." #: src/properties.cpp:594 src/tags.cpp:839 msgid "Focal Plane X Resolution" msgstr "Rezolucija X fokusne ravni" #: src/properties.cpp:594 msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "" "EXIF oznaka 41486, 0xA20E. Horizontalna fokusna rezolucija, mjerena u " "pixelima po jedinici." #: src/properties.cpp:595 src/tags.cpp:840 msgid "Focal Plane Y Resolution" msgstr "Rezolucija Y fokusne ravni" #: src/properties.cpp:595 msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "" "EXIF oznaka 41487, 0xA20F. Vertikalna fokusna rezolucija, mjerena u pixelima " "po jedinici." #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 msgid "Focal Plane Resolution Unit" msgstr "Jedinica rezolucije žižne ravni" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" "EXIF oznaka 41488, 0xA210. Jedinica korištena za FocalPlaneXResolution i " "FocalPlaneYResolution." #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 msgid "Subject Location" msgstr "Položaj subjekata" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" "EXIF oznaka 41492, 0xA214. Lokacija glavnog subjekta scene. Prva vrijednost " "je horizontalni piksel i druga vrijednost je vertikalni piksel na kojem se " "glavni subjekat pojavljuje." #: src/properties.cpp:600 src/tags.cpp:846 msgid "Exposure Index" msgstr "Indeks ekspozicije" #: src/properties.cpp:600 msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "EXIF oznaka 41493, 0xA215. Izlaganje indeksa ulaznog uređaja." #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 msgid "Sensing Method" msgstr "Metod očitavanja" #: src/properties.cpp:601 msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "EXIF oznaka 41495, 0xA217. Tip senzora slike na ulaznom uređaju." #: src/properties.cpp:602 msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "EXIF oznaka 41728, 0xA300. Pokazuje izvor slike." #: src/properties.cpp:603 src/tags.cpp:1771 msgid "Scene Type" msgstr "Vrsta scene" #: src/properties.cpp:603 msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "EXIF oznaka 41729, 0xA301. Pokazuje tip scene." #: src/properties.cpp:604 src/tags.cpp:761 msgid "CFA Pattern" msgstr "CFA šablon" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" "EXIF oznaka 41730, 0xA302. Niz geometrijskih uzoraka smisla fotografije " "filtera boje." #: src/properties.cpp:605 src/tags.cpp:1781 msgid "Custom Rendered" msgstr "Prilagođeno renderovanje" #: src/properties.cpp:605 msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "" "EXIF oznaka 41985, 0xA401. Pokazuje upotrebu posebog obrađivanja slike." #: src/properties.cpp:606 msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "" "EXIF oznaka 41986, 0xA402. Pokazuje režim izlaganja postavljen kada je slika " "snimljena." #: src/properties.cpp:607 msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "" "EXIF oznaka 41987, 0xA403. Pokazuje režim bijeli balans postavljen kada je " "slika snimljena." #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 msgid "Digital Zoom Ratio" msgstr "Odnos digitalno uvećanja" #: src/properties.cpp:608 msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "" "EXIF oznaka 41988, 0xA404. Ukazuje na omjer digitalnog uvećanja kad je slika " "uslikana." #: src/properties.cpp:609 src/tags.cpp:1800 msgid "Focal Length In 35mm Film" msgstr "Žižna daljina na 35mm filmu" #: src/properties.cpp:609 msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" "EXIF oznaka 41989, 0xA405. Označava ekvivalent žarišne daljine " "pretpostavljene za 35mm fotoaparat, u mm. Vrijednost 0 znači da je žarišne " "daljina je nepoznata. Imajte na umu da se ova oznaka razlikuje od " "FocalLength oznake." #: src/properties.cpp:612 src/tags.cpp:1806 msgid "Scene Capture Type" msgstr "Tip uslikane fotografije" #: src/properties.cpp:612 msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "EXIF oznaka 41990, 0xA406. Ukazuje na tip scene kad je uslikano." #: src/properties.cpp:613 src/tags.cpp:1811 msgid "Gain Control" msgstr "Kontrola pojačanja" #: src/properties.cpp:613 msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "" "EXIF oznaka 41991, 0xA407. Ukazuje na stupen ukupne prilagodbe pojačanja " "slike." #: src/properties.cpp:614 msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" "EXIF oznaka 41992, 0xA408. Ukazuje na smjer procesiranja primjenjenog " "kontrasta od strane fotoaparata." #: src/properties.cpp:615 msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" "EXIF oznaka 41993, 0xA409. Ukazuje na smjer saturacije procesiranja " "primjenjenog od strane fotoaparata." #: src/properties.cpp:616 msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" "EXIF oznaka 41994, 0xA40A. Ukazuje na smjer oštrine procesiranja " "primjenjenog od strane fotoaparata." #: src/properties.cpp:617 src/tags.cpp:1826 msgid "Device Setting Description" msgstr "Opis postavke uređaja" #: src/properties.cpp:617 msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" "EXIF oznaka 41995, 0xA40B. Ukazuje na informaciju uvjeta slikanja slike za " "određene modele fotoaparata." #: src/properties.cpp:618 src/tags.cpp:1831 msgid "Subject Distance Range" msgstr "Opseg udaljenosti subjekta" #: src/properties.cpp:618 msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "EXIF oznaka 41996, 0xA40C. Ukazuje na udaljenost do subjekta." #: src/properties.cpp:619 src/tags.cpp:1834 msgid "Image Unique ID" msgstr "Jedinstveni ID slike" #: src/properties.cpp:619 msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" "EXIF oznaka 42016, 0xA420. Identifikator označen jedinstveno na svakoj " "slici. Snimljeno je kao 32 znak ASCII string, ekvivalentno heksadecimalnoj " "notaciji i 128-bitnoj fiksnoj dužini." #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 msgid "GPS Version ID" msgstr "Oznaka GPS verzije" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" "GPS oznaka 0, 0x00. Decimalno kodiranje za svaki od četiri bita sa periodom " "separatora. Trenutna vrijednost je \"2.0.0.0\"." #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "GPS geografska širina" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "" "GPS oznaka 2, 0x02 (pozicija) i 1, 0x01 (Sjever/Jug). Ukazuje na širinu." #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "GPS geografska dužina" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "" "GPS oznaka 4, 0x04 (pozicija) i 3, 0x03 (Istok/Zapad). Ukazuje na dužinu." #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 msgid "GPS Altitude Reference" msgstr "GPS Referenca Nadmorske Visine" #: src/properties.cpp:625 src/properties.cpp:1168 msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "" "GPS oznaka 5, 0x05. Ukazuje da li je nadmorska visina iznad ili ispod nivoa " "mora." #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "GPS nadmorska visina" #: src/properties.cpp:626 src/properties.cpp:1167 msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "GPS oznaka 6, 0x06. Pokazuje visinu u metrima." #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 msgid "GPS Time Stamp" msgstr "GPS Vremenski Pečat" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" "GPS oznaka 29 (datum), 0x1D, i, i GPS oznaka 7 (vrijeme), 0x07. Vremenski " "pecat GPS podatka u koordiniranom univerzalnom vremenu. Napomena: " "GPSVremenskiPecat oznaka je nova u EXIF 2,2.GPS vremenski pecat u EXIF 2,1 " "ne uključuje datum. Ako nije prisutna, komponentu datuma za XMP treba uzeti " "iz EXIF: DateTimeOriginal, ili ako i to takodjer nedostaje iz exif:" "DateTimeDigitized. Ako datum nije dostupan ne pisati exif:GPSTimeStamp XMP-" "u." #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 msgid "GPS Satellites" msgstr "GPS Sateliti" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "GPS oznaka 8, 0x08. Informacije o satelitu, format je nespecificiran." #: src/properties.cpp:634 src/tags.cpp:1989 msgid "GPS Status" msgstr "GPS Status" #: src/properties.cpp:634 msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "GPS oznaka 9, 0x09. Status GPS prijemnika u vrijeme kreiranja slike." #: src/properties.cpp:635 src/tags.cpp:1994 msgid "GPS Measure Mode" msgstr "GPS Modalitet Mjerenja" #: src/properties.cpp:635 msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "GPS oznaka 10, 0x0A. GPS modalitet mjerenja, tip Tekst." #: src/properties.cpp:636 msgid "GPS DOP" msgstr "GPS DOP" #: src/properties.cpp:636 msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "GPS oznaka 11, 0x0B. Stepen preciznosti za GPS podatke." #: src/properties.cpp:637 src/tags.cpp:2002 msgid "GPS Speed Reference" msgstr "GPS Brzina Reference" #: src/properties.cpp:637 msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "GPS oznaka 12, 0x0C. Jedinice korištene za mjerenje brzine." #: src/properties.cpp:638 src/tags.cpp:2006 msgid "GPS Speed" msgstr "GPS brzina" #: src/properties.cpp:638 msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "GPS oznaka 13, 0x0D. Brzina kretanja GPS prijemnika." #: src/properties.cpp:639 msgid "GPS Track Reference" msgstr "GPS Traka Referance" #: src/properties.cpp:639 msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "GPS oznaka 14, 0x0E. Referenca na smjer kretanja." #: src/properties.cpp:640 src/tags.cpp:2013 msgid "GPS Track" msgstr "GPS Traka" #: src/properties.cpp:640 msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" "GPS oznaka 15, 0x0F. Smjer GPS kretanja, raspon vrijednosti od 0 do 359.99." #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 msgid "GPS Image Direction Reference" msgstr "GPS Referenca Smjera Slike" #: src/properties.cpp:641 msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "GPS oznaka 16, 0x10. Referenca na smjer slike." #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 msgid "GPS Image Direction" msgstr "GPS pravac slike" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" "GPS oznaka 17, 0x11. Smjer slike kad je uslikana, raspon vrijednosti od 0 " "do 359.99." #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 msgid "GPS Map Datum" msgstr "GPS Datum Mapa" #: src/properties.cpp:643 msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "GPS oznaka 18, 0x12. Podaci geodetskog premjeravanja." #: src/properties.cpp:644 src/tags.cpp:2033 msgid "GPS Destination Latitude" msgstr "GPS Širina Odredišta" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" "GPS oznaka 20, 0x14 (pozicija) i 19, 0x13 (Sjever/Jug). Ukazuje na širinu " "odredišta." #: src/properties.cpp:645 src/tags.cpp:2045 msgid "GPS Destination Longitude" msgstr "GPS geografska dužina Odredišta" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" "GPS oznaka 22, 0x16 (pozicija) i 21, 0x15 (Istok/Zapad). Ukazuje na dužinu " "odredišta." #: src/properties.cpp:646 src/tags.cpp:2052 msgid "GPS Destination Bearing Reference" msgstr "GPS Referenca Smjera Odredišta" #: src/properties.cpp:646 msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "GPS oznaka 23, 0x17. Referenca za smjer kretanja." #: src/properties.cpp:647 src/tags.cpp:2056 msgid "GPS Destination Bearing" msgstr "GPD Smjer Odredišta" #: src/properties.cpp:647 msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "GPS oznaka 24, 0x18. Smjer odredišta, vrijednosti od0 do 359.99." #: src/properties.cpp:648 src/tags.cpp:2060 msgid "GPS Destination Distance Reference" msgstr "Referenca udaljenosti ka GPS odredištu" #: src/properties.cpp:648 msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "GPS oznaka 25, 0x19. Jedinice korištene za brzinu mjerenja." #: src/properties.cpp:649 src/tags.cpp:2064 msgid "GPS Destination Distance" msgstr "GPS Udaljenost Odredišta" #: src/properties.cpp:649 msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "GPS oznaka 26, 0x1A. Udaljenost do odredišta." #: src/properties.cpp:650 src/tags.cpp:2067 msgid "GPS Processing Method" msgstr "GPS Metod Procesiranja" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" "GPS oznaka 27, 0x1B. Niz karaktera u koji je snimljeno ime metode korištene " "za pronalazak lokacije." #: src/properties.cpp:651 src/tags.cpp:2072 msgid "GPS Area Information" msgstr "GPS Informacije Područja" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "GPS oznaka 28, 0x1C. Znakovni string spašava naziv GPS područja." #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "GPS Diferencijal" #: src/properties.cpp:652 msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "" "GPS oznaka 30, 0x1E. Ukazuje na to da li je korekcija diferencijala bila " "primjenjena na GPS prijemnik." #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "Opis leće korištene za slikanje. Na primjer, \"70-200 mm f/2.8-4.0\"." #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "Serijski broj kamere ili tijela kamere korištene za slikanje." #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "Kreatorov Kontakt Info" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" "Kreatorove kontakt informacije osiguravaju sve potrebne informacije o " "dolasku u kontakt sa kreatorom ovog novog objekta i obuhvataju set pod-" "svojstava za pravilno adresiranje." #: src/properties.cpp:667 msgid "Contact Info-Address" msgstr "Kontakt Info-Adresa" #: src/properties.cpp:667 #, fuzzy msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" "Adresni dio informacije o kontaktu. Sastoji se od dodatnog naziva tvrtke i " "svih potrebnih informacija kako bi pronašli zgradu ili poštansko sanduče " "kojem bi posta trebala biti poslata." #: src/properties.cpp:669 msgid "Contact Info-City" msgstr "Kontakt Info-Grad" #: src/properties.cpp:669 #, fuzzy msgid "sub-key Creator Contact Info: city." msgstr "Kreatorov Kontakt Info" #: src/properties.cpp:670 msgid "Contact Info-State/Province" msgstr "Kontakt Info-Država/Provincija" #: src/properties.cpp:670 #, fuzzy msgid "sub-key Creator Contact Info: state or province." msgstr "Kontakt Info-Država/Provincija" #: src/properties.cpp:671 msgid "Contact Info-Postal Code" msgstr "Kontakt Info-Poštanski Kod" #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "" #: src/properties.cpp:672 msgid "Contact Info-Country" msgstr "Kontakt Info-Država" #: src/properties.cpp:672 #, fuzzy msgid "sub-key Creator Contact Info: country." msgstr "Kreatorov Kontakt Info" #: src/properties.cpp:673 msgid "Contact Info-Email" msgstr "Kontakt Info-Email" #: src/properties.cpp:673 #, fuzzy msgid "sub-key Creator Contact Info: email address." msgstr "Kontakt informacija dijela email adrese." #: src/properties.cpp:674 msgid "Contact Info-Phone" msgstr "Kontakt Info-Telefon" #: src/properties.cpp:674 #, fuzzy msgid "sub-key Creator Contact Info: phone number." msgstr "Kreatorov Kontakt Info" #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "Kontakt Info-Web URL" #: src/properties.cpp:675 #, fuzzy msgid "sub-key Creator Contact Info: web address." msgstr "Kreatorov Kontakt Info" #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "Intelektualni Žanr" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" "Opisuje prirodu, intelektualne ili žurnalistićke karakteristice novog " "objekta, ne baš njegov sadržaj." #: src/properties.cpp:678 msgid "IPTC Scene" msgstr "IPTC Scena" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" "Opisuje scenu sadržaja slike. Specificira jedan ili više uvjeta IPTC \"Scene-" "NewsCodes\". Svaka Scena je predstvaljena kao string od 6 znakova u " "neuređenoj listi." #: src/properties.cpp:680 msgid "IPTC Subject Code" msgstr "IPTC Kod Subjekta" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" "Određuje jedan ili više subjekata iz IPTC \"Subject-NewsCodes\" taksonomije " "da kategoriziraju sadržaj. Svaki subjekt je predstavljen kao niz od 8 " "znamenki u jednu neuređenu listu." #: src/properties.cpp:682 #, fuzzy msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" "Naziv lokacije na koju se sadržaj odnosi – bilo da je mjesto prikazano u " "vizualnim medijima ili navedeno u tekstualnom ili zvucnom mediju. To ime " "lokacije mogao bi biti ili naziv “pod-lokacije” ili ime poznatog mjesta ili " "(prirodnog) spomenika izvan grada. U smislu “pod-lokacije”– ovaj element je " "na četvrtom nivou geografske hijerarhije odozgo prema dole." #: src/properties.cpp:687 #, fuzzy msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" "Sadrzaj koda drzave je fokusiran na -- ili je drzava prikazana u vizuelom " "mediju ili je navedena u tekstualnom ili zvucnom mediju. Ovaj element je na " "vrhu/prvom nivou odozgo prema dole geografskoj hijerarhiji. Sifra treba biti " "uzeta iz ISO 3166 dva ili tri slova. Puni naziv drzave treba ici u \"Drzava" "\" element." #: src/properties.cpp:696 msgid "Additional model info" msgstr "Dodatne model informacije" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" "Informacije o nacionalnosti i drugim činjenicama modela u objavljenom modelu " "slike." #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "Kod istaknute organizacije." #: src/properties.cpp:697 #, fuzzy msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "" "Kod iz provjerenog rječnika za identifikaciju organizacije ili kompanije " "koja je istaknuta na slici." #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "Kontrolirani Uvjet Vokabulara" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" "Uvjet za opisivanje sadržaja slike vrijednosšću iz Kontroliranog Vokabulara." #: src/properties.cpp:699 msgid "Model age" msgstr "Godište modela" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "" "Starost ljudskog modela u trenutku kad je ova slika snimljena na objavljenom " "modelu slike." #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "Naziv istaknute organizacije" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "Naziv organizacije ili kompanije koja je istaknuta na slici." #: src/properties.cpp:701 msgid "Person shown" msgstr "Osoba prikazana" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "Ime osobe prikazane na slici." #: src/properties.cpp:702 msgid "Digital Image Identifier" msgstr "Digitalni identifikator Slike" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" "Globalno jedinstveni identifikator za ove digitalne slike. Stvoren je I " "primjenjuje se od strane kreatora digitalne slike u vrijeme njegovog " "nastanka. Ova vrijednost ne smije se mijenjati nakon tog vremena." #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "Fizički tip izvorne slike" #: src/properties.cpp:703 msgid "The type of the source digital file." msgstr "Tip izvorne digitalne datoteke." #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 msgid "Event" msgstr "Događaj" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "Imena ili opisi specifičnog događaja na kojem je slika snimljena." #: src/properties.cpp:705 msgid "Maximum available height" msgstr "Maksimalno dostupna visina." #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" "Maksimalna dostupna visina u pikselima izvorne fotografije s koje je ova " "fotografija izvedena smanjenjem." #: src/properties.cpp:706 msgid "Maximum available width" msgstr "Maksimalno dostupna širina" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" "Maksimalna dostupna sirina u pikselima izvorne fotografije s koje je ova " "fotografija izvedena smanjenjem." #: src/properties.cpp:707 msgid "Registry Entry" msgstr "Unos registra" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" "I oznaka elementa registra i oznaka organizacije registra da bi se " "zabilježila registracija digitalne slike u registru.." #: src/properties.cpp:708 msgid "Registry Entry-Item Identifier" msgstr "Unos registra - Identifikator stavke" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" "Jedinstveni identifikator izrađen od strane registra i primjenjen od strane " "stvaratelja digitalne slike. Ova vrijednost ne smije se mijenjati nakon što " "je primijenjena. Ovaj identifikator je povezan s odgovarajućom Organizacijom " "Identifikacionih Registara." #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "Unos registra - Identifikator organizacije" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" "Identifikator za registar koje je izdalo odgovarajući registar ID " "fotografije." #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "IPTC polja posljednja izmijenjena." #: src/properties.cpp:710 msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "" "Datum i opcionalno vrijeme kada su bilo koja od IPTC polja metapodataka " "slike posljednja izmijenjena." #: src/properties.cpp:711 msgid "Location shown" msgstr "Lokacija prikazana" #: src/properties.cpp:711 msgid "A location shown in the image." msgstr "Lokacija prikazana na slici." #: src/properties.cpp:712 msgid "Location Created" msgstr "Lokacija kreirana." #: src/properties.cpp:712 msgid "The location the photo was taken." msgstr "Lokacija gdje je slika snimljena." #: src/properties.cpp:713 msgid "Location-City" msgstr "Lokacija - Grad" #: src/properties.cpp:713 msgid "Name of the city of a location." msgstr "Ime grada lokacije." #: src/properties.cpp:714 msgid "Location-Country ISO-Code" msgstr "ISO - kod lokacije-države" #: src/properties.cpp:714 msgid "The ISO code of a country of a location." msgstr "ISO kod države lokacije." #: src/properties.cpp:715 msgid "Location-Country Name" msgstr "Lokacija - Ime države" #: src/properties.cpp:715 msgid "The name of a country of a location." msgstr "Ime države lokacije." #: src/properties.cpp:716 msgid "Location-Province/State" msgstr "Lokacija - Provincija / Država" #: src/properties.cpp:716 msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "Ime podregije države - provincija ili mjesto - lokacije." #: src/properties.cpp:717 msgid "Location-Sublocation" msgstr "Lokacija - Podlokacija" #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" "Ime podlokacije. Ovo ime sublokacije moglo bi biti ili naziv sublokacije po " "gradu ili naziv po dobro poznatoj lokaciji ili (prirodnom) spomeniku van " "grada." #: src/properties.cpp:718 msgid "Location-World Region" msgstr "Lokacija - Svjetska zona" #: src/properties.cpp:718 msgid "The name of a world region of a location." msgstr "Naziv svjetske zone ili lokacije." #: src/properties.cpp:719 msgid "Artwork or object in the image" msgstr "Umjetničko djelo ili objekat na slici" #: src/properties.cpp:719 msgid "A set of metadata about artwork or an object in the image." msgstr "Skup podataka o umjetničkom djelu ili objektu sa slike." #: src/properties.cpp:720 msgid "Artwork or object-Copyright notice" msgstr "Umjetničko djelo - Zapažanje autorskih prava" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" "Sadrži sve potrebne obavijesti o autorskim pravima za podnošenje zahtjeva " "intelektualnog vlasništva za umjetnička djela ili objekt na slici, i treba " "identificirati sadašnjeg vlasnika autorskih prava ovog djela povezanog s " "pravima intelektualnog vlasništva." #: src/properties.cpp:721 msgid "Artwork or object-Creator" msgstr "Umjetničko djelo ili objekat - Tvorac" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" "Sadrži ime umjetnika koji je kreirano umjetničko djelo ili objekat sa slike. " "U slučajevima gdje umjetnik ne bi mogao ili ne bi trebao biti identificiran " "naziv kompanije ili organizacije bi bio prikladan." #: src/properties.cpp:722 msgid "Artwork or object-Date Created" msgstr "Umjetničko djelo ili objekt - Datum kreiranja" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" "Označava datum i vrijeme kada je umjetničko djelo ili predmet na slici " "stvoren. Ovo se odnosi na umjetnička djela ili predmete s pripadajućim " "pravima intelektualnog vlasništva." #: src/properties.cpp:723 msgid "Artwork or object-Source" msgstr "Umjetničko djelo ili objekat - Izvor" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" "Organizacija drži i registruje umjetničko djelo ili predmet na slici u svrhe " "skladištenja iste." #: src/properties.cpp:724 msgid "Artwork or object-Source inventory number" msgstr "Umjetničko djelo ili objekat - Izvorni popisni broj" #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" "Broj inventara izdan od strane organizacije ili tijela drži i registrira " "umjetničko djelo ili predmet na slici." #: src/properties.cpp:725 msgid "Artwork or object-Title" msgstr "Umjetničko djelo ili objekat - Natpis" #: src/properties.cpp:725 msgid "A reference for the artwork or object in the image." msgstr "Refererenca za umjetničko djelo ili objekat sa slike." #: src/properties.cpp:732 msgid "Scan from film" msgstr "Skeniraj sa filma" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "Skeniraj iz providnog (uključujući slajd)" #: src/properties.cpp:734 msgid "Scan from print" msgstr "Skeniraj sa štampe" #: src/properties.cpp:735 msgid "Camera RAW" msgstr "Kamera RAW" #: src/properties.cpp:736 msgid "Camera TIFF" msgstr "Kamera TIFF" #: src/properties.cpp:737 msgid "Camera JPEG" msgstr "Kamera JPEG" #: src/properties.cpp:742 msgid "PLUS Version" msgstr "PLUS Verzija" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "Broj verzije PLUS standarda na mjestu za vrijeme transakcije." #: src/properties.cpp:743 msgid "Licensee" msgstr "Licencirani" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "" "Stranka ili stranke kojima je licenca odobrena od strane licencora pod " "licencom transakcije." #: src/properties.cpp:744 msgid "Licensee ID" msgstr "ID licenciranog" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "Opcionalni PLUS - ID identificira svakog licensa." #: src/properties.cpp:745 msgid "Licensee Name" msgstr "Ime licenciranog." #: src/properties.cpp:745 msgid "Name of each Licensee." msgstr "Imena svakog od licenciranih" #: src/properties.cpp:746 msgid "End User" msgstr "Krajnji Korisnik" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "Stranka ili stranke u konačnici koriste sliku pod licencom." #: src/properties.cpp:747 msgid "End User ID" msgstr "ID krajnjeg korisnika" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "Fakultativni PLUS-ID identificira svakog krajnjeg korisnika." #: src/properties.cpp:748 msgid "End User Name" msgstr "Ime Krajnjeg Korisnika" #: src/properties.cpp:748 msgid "Name of each End User." msgstr "Ime svakog Krajnjeg Korisnika" #: src/properties.cpp:749 msgid "Licensor" msgstr "Licensor" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "Stranka ili stranke odobravaju licencu za korisnika licence." #: src/properties.cpp:750 msgid "Licensor ID" msgstr "ID licensora" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "Opcionalni PLUS - ID identificira svakog licensora." #: src/properties.cpp:751 msgid "Licensor Name" msgstr "Ime licensora" #: src/properties.cpp:751 msgid "Name of each Licensor." msgstr "Ime svakog licensora." #: src/properties.cpp:752 msgid "Licensor Address" msgstr "Adresa licensora" #: src/properties.cpp:752 msgid "Licensor street address." msgstr "Ulica licensora" #: src/properties.cpp:753 msgid "Licensor Address Detail" msgstr "Detalji o adresi licensora" #: src/properties.cpp:753 msgid "Additional Licensor mailing address details." msgstr "Dodatni detalji o e-mail adresi licensora." #: src/properties.cpp:754 msgid "Licensor City" msgstr "Grad licensora" #: src/properties.cpp:754 msgid "Licensor City name." msgstr "Naziv grada licensora." #: src/properties.cpp:755 msgid "Licensor State or Province" msgstr "Država ili provincija licensora." #: src/properties.cpp:755 msgid "Licensor State or Province name." msgstr "Naziv države ili provincije licensora." #: src/properties.cpp:756 msgid "Licensor Postal Code" msgstr "Poštanski kod licensora" #: src/properties.cpp:756 msgid "Licensor Postal Code or Zip Code." msgstr "Poštanski kod ili Zip kod licensora" #: src/properties.cpp:757 msgid "Licensor Country" msgstr "Država licensora" #: src/properties.cpp:757 msgid "Licensor Country name." msgstr "Naziv države licensora." #: src/properties.cpp:758 msgid "Licensor Telephone Type 1" msgstr "Telefon licensora tip 1" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1." msgstr "Telefon licensora tip 1." #: src/properties.cpp:759 msgid "Licensor Telephone 1" msgstr "Telefon licensora 1" #: src/properties.cpp:759 msgid "Licensor Telephone number 1." msgstr "Licencor Broj Telefona 1" #: src/properties.cpp:760 msgid "Licensor Telephone Type 2" msgstr "Licencor Tip Telefona 2" #: src/properties.cpp:760 msgid "Licensor Telephone Type 2." msgstr "Licencor Tip Telefona 2" #: src/properties.cpp:761 msgid "Licensor Telephone 2" msgstr "Licencor Telefon 2" #: src/properties.cpp:761 msgid "Licensor Telephone number 2." msgstr "Licencor Broj Telefona 2" #: src/properties.cpp:762 msgid "Licensor Email" msgstr "Licencor Email" #: src/properties.cpp:762 msgid "Licensor Email address." msgstr "Licencor Email adresa." #: src/properties.cpp:763 msgid "Licensor URL" msgstr "Licencor URL" #: src/properties.cpp:763 msgid "Licensor world wide web address." msgstr "Licencor world wide web adresa." #: src/properties.cpp:764 msgid "Licensor Notes" msgstr "Licencor Bilješke" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" "Dopunski podaci za uporabu u identificiranju i kontaktiranju licencora / s." #: src/properties.cpp:765 msgid "PLUS Media Summary Code" msgstr "PLUS Media Sumarni Kod" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" "PLUS-standardizirani alfanumerički kod niza sumirajući medijske običaje " "uključene u dozvoli." #: src/properties.cpp:766 msgid "License Start Date" msgstr "Startni Datum Licence" #: src/properties.cpp:766 msgid "The date on which the license takes effect." msgstr "Datum kad licenca počne djelovati." #: src/properties.cpp:767 msgid "License End Date" msgstr "Datum Isteka Licence" #: src/properties.cpp:767 msgid "The date on which the license expires." msgstr "Datum kad licenca ističe." #: src/properties.cpp:768 msgid "Media Constraints" msgstr "Ograničenja medije" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" "Prepreke ograničavaju opseg PLUS Media korištenja podataka navedenim u " "licenci za jedinstveno imenovan podatak ili podatak koji nije imenovan u " "PLUS Media Matrixu." #: src/properties.cpp:769 msgid "Region Constraints" msgstr "Zona ograničenja" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" "Prepreke ograničavaju opseg geografskoj raspodjeli za određene gradove, " "države, pokrajine ili druga područja kako bi se uključili ili isključili iz " "PLUS regija navedenih u “Media Usages” navedenoj u licenci." #: src/properties.cpp:770 msgid "Product or Service Constraints" msgstr "Ograničenja Proizvoda i Usluge" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" "Prepreke ograničavaju korištenje slike za promociju udruženja s imenom " "proizvoda ili usluge." #: src/properties.cpp:771 msgid "Image File Constraints" msgstr "Ograničenja Slikovne Datoteke" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "" "Ograničenja pri promjeni imena slikovne datotek, metapodatka ili tipa " "datoteke." #: src/properties.cpp:772 msgid "Image Alteration Constraints" msgstr "Ograničenja Promjene Slike" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" "Ograničenja na promjene slike pri rezanju, okretanju, retuširanju, " "kolorizaciji, de-kolorizaciji ili spajanju." #: src/properties.cpp:773 msgid "Image Duplication Constraints" msgstr "Ograničenja Dupliranja Slike" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "Ograničenja na kreiranje duplikata slike." #: src/properties.cpp:774 msgid "Model Release Status" msgstr "Model Status Izdanja" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" "Sažima dostupnost i opseg modela izdanja dopuštajući korištenje sličnosti " "osoba koje se pojavljuju u fotografiji." #: src/properties.cpp:775 msgid "Model Release ID" msgstr "Oznaka verzije modela" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "Opcionalni identifikator povezan sa svakim izdatim modelom." #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "Upozorenje na maloljetnost modela" #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "" "Starost najmlađeg modela prikazanog na slici, u vrijeme kada je slika " "napravljena." #: src/properties.cpp:777 msgid "Property Release Status" msgstr "Status Izdanja Vlasništva" #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" "Sažima dostupnost i opseg modela izdanja dopuštajući korištenje sličnosti " "osoba koje se pojavljuju u fotografiji." #: src/properties.cpp:778 msgid "Property Release ID" msgstr "Izdanje Vlasništva ID" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "Izborni identifikator dodjeljen svakom Izdanju Vlasništva." #: src/properties.cpp:779 msgid "Other Constraints" msgstr "Druga Ograničenja" #: src/properties.cpp:779 msgid "Additional constraints on the license." msgstr "Dodatna ograničenja na licencu." #: src/properties.cpp:780 msgid "Credit Line Required" msgstr "Potrebna kreditna linija" #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "Imenovanje zahtjeva, ako ih ima." #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "Upozorenje Sadržaj za Odrasle" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "" "Upozorenje ukazuje na prisutnost sadržaja koji nije prikladan za " "maloljetnike." #: src/properties.cpp:782 msgid "Other License Requirements" msgstr "Drugi Zahtjevo Licence" #: src/properties.cpp:782 msgid "Additional license requirements." msgstr "Dodatni zahtjevi licence." #: src/properties.cpp:783 msgid "Terms and Conditions Text" msgstr "Uvjeti i Stanja Tekst" #: src/properties.cpp:783 msgid "Terms and Conditions applying to the license." msgstr "Uvjeti i Stanja primjenjena na licencu." #: src/properties.cpp:784 msgid "Terms and Conditions URL" msgstr "Uvjeti i Stanja URL" #: src/properties.cpp:784 msgid "URL for Terms and Conditions applying to the license." msgstr "URL za Uvjete i Stanja primjenjena na licencu." #: src/properties.cpp:785 msgid "Other License Conditions" msgstr "Drugi Uvjeti Licence" #: src/properties.cpp:785 msgid "Additional license conditions." msgstr "Dodatni uvjeti licence" #: src/properties.cpp:786 msgid "Identifies the type of image delivered." msgstr "Identificira tip dostavljene slike." #: src/properties.cpp:787 msgid "Licensor Image ID" msgstr "ID slika licensora" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "Opcionalni identifikator dodijeljen slici od strane licensora." #: src/properties.cpp:788 msgid "Image File Name As Delivered" msgstr "Ime Slikovne Datoteke Pri Prispjeću" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "Naziv slikovne datoteke dostavljen licensu za upotrebu pod licencom." #: src/properties.cpp:789 msgid "Image File Format As Delivered" msgstr "Format Slikovne Datoteke Pri Prispjeću" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "Format slikovne datoteke dostavljene licensu za upotrebu pod licencom." #: src/properties.cpp:790 msgid "Image File Size As Delivered" msgstr "Veličina Slikovne Datoteke Pri Prispjeću" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "Velicina slikovne datoteke dostavljene licensu." #: src/properties.cpp:791 msgid "Copyright Status" msgstr "Status Autorskih Prava" #: src/properties.cpp:791 msgid "Copyright status of the image." msgstr "Status autorskih prava slike." #: src/properties.cpp:792 msgid "Copyright Registration Number" msgstr "Broj Registracije Autorskih Prava" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" "Broj Registracije Autorskih Prava, ako postoji, primjeni na licenciranu " "sliku." #: src/properties.cpp:793 msgid "First Publication Date" msgstr "Datum Prve Publikacije" #: src/properties.cpp:793 msgid "The date on which the image was first published." msgstr "Datum na koji je slika prvi put publikovana." #: src/properties.cpp:794 msgid "Copyright Owner" msgstr "Vlasnik Autorskih Prava" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "Vlasnik vlasnika autorskih prava u licenciranoj slici." #: src/properties.cpp:795 msgid "Copyright Owner ID" msgstr "ID Vlasnika Autorskih Prava" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "Izborni PLUS-ID identificirajući svakog Vlasnika autorskih prava." #: src/properties.cpp:796 msgid "Copyright Owner Name" msgstr "Ime Vlasnika Autorskih Prava" #: src/properties.cpp:796 msgid "Name of Copyright Owner." msgstr "Ime Vlasnika Autorskih Prava" #: src/properties.cpp:797 msgid "Copyright Owner Image ID" msgstr "ID Slike Vlasnika Autorskih Prava" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "" "Izborni identifikator dodjeljen od strane Vlasnika Autoskih Prava slici." #: src/properties.cpp:798 msgid "Image Creator" msgstr "Kreator Slike" #: src/properties.cpp:798 msgid "Creator/s of the image." msgstr "Kreator/i slike." #: src/properties.cpp:799 msgid "Image Creator ID" msgstr "ID Kreatora Slike" #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "Izborni PLUS-ID identificira svakog Kreatora Slike." #: src/properties.cpp:800 msgid "Image Creator Name" msgstr "Kreator Slike Ime" #: src/properties.cpp:800 msgid "Name of Image Creator." msgstr "Ime Kreatora Slike" #: src/properties.cpp:801 msgid "Image Creator Image ID" msgstr "Kreator Slike Slika ID" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "Izborni identifikator dodjeljen od Kreatora Slike slici." #: src/properties.cpp:802 msgid "Image Supplier ID" msgstr "Dobavljač Slike ID" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "Izborni PLUS-ID identifikuje Dobavljača slike." #: src/properties.cpp:803 msgid "Image Supplier Name" msgstr "Dobavljač Slike Ime" #: src/properties.cpp:803 msgid "Name of Image Supplier." msgstr "Ime Dobavljača Slike" #: src/properties.cpp:804 msgid "Image Supplier Image ID" msgstr "Dobavljač Slike Slika ID" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "Izbroni identifikator dodijeljen od strane Dobavljača Slike slici." #: src/properties.cpp:805 msgid "Licensee Image ID" msgstr "ID slike licensa." #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "Opcionalni identifikator dodijeljen slici od strane licensa." #: src/properties.cpp:806 msgid "Licensee Image Notes" msgstr "Bilješke o slici licensa" #: src/properties.cpp:806 msgid "Notes added by Licensee." msgstr "Bilješke dodane od strane licensa." #: src/properties.cpp:807 msgid "Other Image Info" msgstr "Drugi podaci slike" #: src/properties.cpp:807 msgid "Additional image information." msgstr "Dodatni podaci o slici" #: src/properties.cpp:808 msgid "License ID" msgstr "Licenca ID" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "Izborni PLUS-ID dodjeljen od Licencora za Licencu." #: src/properties.cpp:809 msgid "Licensor Transaction ID" msgstr "Licencora Transacija ID" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "Identifikator dodijeljen od strane licensora za" #: src/properties.cpp:810 msgid "Licensee Transaction ID" msgstr "ID transakcije licensa." #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" "Identifikator dodjeljen licencom za licencine reference i internu upotrebu." #: src/properties.cpp:811 msgid "Licensee Project Reference" msgstr "Projekat Dozvole Referenca" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "Naziv reference projekta ili opis dodijeljen od strane licensa." #: src/properties.cpp:812 msgid "License Transaction Date" msgstr "Datum transakcije licensa" #: src/properties.cpp:812 msgid "The date of the License Transaction." msgstr "Datum transakcije licensa" #: src/properties.cpp:813 msgid "Reuse" msgstr "Ponovna upotreba" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" "Označava da li je licenca ponavljana ili je početna licenca. Ponovna " "upotreba može zahtijevati da dozvola pohranjena u datotekama prethodno " "dostavljena kupacu bude unaprjeđena." #: src/properties.cpp:814 msgid "Other License Documents" msgstr "Drugi Lincencirani Dokumenti" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "Referentni podaci za dodatnim dokumentima povezanim s licencom." #: src/properties.cpp:815 msgid "Other License Info" msgstr "Ostale informacije o licensu" #: src/properties.cpp:815 msgid "Additional license information." msgstr "Dodatne lincencirane informacije" #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "Opciono polje koje koristi davalac lience diskrecijom." #: src/properties.cpp:819 msgid "Custom 4" msgstr "Prilagođeno 4" #: src/properties.cpp:820 msgid "Custom 5" msgstr "Prilagođeno 5" #: src/properties.cpp:821 msgid "Custom 6" msgstr "Prilagođeno 6" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "Opciono polje koje koristi primalac lience diskrecijom." #: src/properties.cpp:822 msgid "Custom 7" msgstr "Prilagođeno 7" #: src/properties.cpp:823 msgid "Custom 8" msgstr "Prilagođeno 8" #: src/properties.cpp:824 msgid "Custom 9" msgstr "Prilagođeno 9" #: src/properties.cpp:825 msgid "Custom 10" msgstr "Prilagođeno 10" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "Poterbno upozorenje da je sadržaj namijenjen odraslim" #: src/properties.cpp:833 msgid "Not Required" msgstr "Nije potrebnoa" #: src/properties.cpp:839 msgid "Protected" msgstr "Zaštićeno" #: src/properties.cpp:840 msgid "Public Domain" msgstr "Javno vlasništvo" #: src/properties.cpp:846 msgid "Credit Adjacent To Image" msgstr "Susjedmni kredit na sliku" #: src/properties.cpp:847 msgid "Credit in Credits Area" msgstr "Kredit u Području Kredita" #: src/properties.cpp:848 msgid "Credit on Image" msgstr "Kredit Slike" #: src/properties.cpp:849 msgid "Not Require" msgstr "Ne zahtjeva" #: src/properties.cpp:854 msgid "No Colorization" msgstr "Nema kolorizacije" #: src/properties.cpp:855 msgid "No Cropping" msgstr "Nema rezanja" #: src/properties.cpp:856 msgid "No De-Colorization" msgstr "Nema dekolorizacije" #: src/properties.cpp:857 msgid "No Flipping" msgstr "Nema okretanja" #: src/properties.cpp:858 msgid "No Merging" msgstr "Nema spajanja" #: src/properties.cpp:859 msgid "No Retouching" msgstr "Nema dotjerivanja" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "Duplikacija samo po potrebi pod licencom" #: src/properties.cpp:865 msgid "No Duplication Constraints" msgstr "Nema ograničenja duplikacije" #: src/properties.cpp:866 msgid "No Duplication" msgstr "Nema duplikacije" #: src/properties.cpp:871 msgid "Maintain File Name" msgstr "Održavanja Imena Fajla" #: src/properties.cpp:872 msgid "Maintain File Type" msgstr "Održavanje Tipa Fajla" #: src/properties.cpp:873 msgid "Maintain ID in File Name" msgstr "Održavanja ID-a u Imenu Fajla" #: src/properties.cpp:874 msgid "Maintain Metadata" msgstr "Održavanje Metapodatka" #: src/properties.cpp:879 msgid "Windows Bitmap (BMP)" msgstr "Windows Bitmapa (BMP)" #: src/properties.cpp:880 msgid "Digital Negative (DNG)" msgstr "Digitalni Negativ (DNG)" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "Enkapsulirani PostScript (EPS)" #: src/properties.cpp:882 msgid "Graphics Interchange Format (GIF)" msgstr "Grafički format za razmjenu (GIF)" #: src/properties.cpp:883 msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "JPEG format za razmjenu (JPG, JIF, JFIF)" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "Macintosh slika (PICT)" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "Prenosna mrežna grafika (PNG)" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "Photoshop Dokument (PSD)" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "Sirovi format slike" #: src/properties.cpp:889 msgid "Tagged Image File Format (TIFF)" msgstr "Označeni format slike (TIFF)" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "Windows medijska fotografija (HD foto)" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "Preko 50 MB" #: src/properties.cpp:896 msgid "Up to 1 MB" msgstr "Do 1 MB" #: src/properties.cpp:897 msgid "Up to 10 MB" msgstr "Do 10 MB" #: src/properties.cpp:898 msgid "Up to 30 MB" msgstr "Do 30 MB" #: src/properties.cpp:899 msgid "Up to 50 MB" msgstr "Do 50 MB" #: src/properties.cpp:904 msgid "Illustrated Image" msgstr "Ilustrovana slika" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "Multimedija ili složena slika" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "Fotografija" #: src/properties.cpp:913 msgid "Cell" msgstr "Ćelija" #: src/properties.cpp:914 msgid "FAX" msgstr "FAX" #: src/properties.cpp:916 msgid "Pager" msgstr "Pejdžer" #: src/properties.cpp:917 msgid "Work" msgstr "Posao" #: src/properties.cpp:922 msgid "Age Unknown" msgstr "Nepoznata starost" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "Starost 25 ili više" #: src/properties.cpp:924 msgid "Age 24" msgstr "Starost 24" #: src/properties.cpp:925 msgid "Age 23" msgstr "Starost 23" #: src/properties.cpp:926 msgid "Age 22" msgstr "Starost 22" #: src/properties.cpp:927 msgid "Age 21" msgstr "Starost 21" #: src/properties.cpp:928 msgid "Age 20" msgstr "Starost 20" #: src/properties.cpp:929 msgid "Age 19" msgstr "Starost 19" #: src/properties.cpp:930 msgid "Age 18" msgstr "Starost 18" #: src/properties.cpp:931 msgid "Age 17" msgstr "Starost 17" #: src/properties.cpp:932 msgid "Age 16" msgstr "Starost 16" #: src/properties.cpp:933 msgid "Age 15" msgstr "Starost 15" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "Starost 14 ili manje" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "Nije primjenjivo" #: src/properties.cpp:941 msgid "Unlimited Model Releases" msgstr "Neograničena izdavanja modela" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "Ograničena ili nedovršena izdavana modela" #: src/properties.cpp:949 msgid "Unlimited Property Releases" msgstr "Neograničena izdanja svojstava" #: src/properties.cpp:950 msgid "Limited or Incomplete Property Releases" msgstr "Ograničena ili nekompletna izdanja svojstava" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "Upotreba ponavljanja" #: src/properties.cpp:960 src/properties.cpp:969 msgid "Fixture Identification" msgstr "Fiktivna Identifikacija" #: src/properties.cpp:961 src/properties.cpp:970 msgid "Status" msgstr "Status" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "Notacija čini sliku jedinstvenom" #: src/properties.cpp:962 src/properties.cpp:971 msgid "People" msgstr "Ljudi" #: src/properties.cpp:963 src/properties.cpp:972 #, fuzzy msgid "Catalog Sets" msgstr "KatalogSetovi" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "Opisni markeri kataloga stavki po sadržaju" #: src/properties.cpp:978 msgid "RegionInfo" msgstr "RegionInfo" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "Korijen metapodataka za Microsoft Photo označaavnje ljudi" #: src/properties.cpp:984 src/properties.cpp:1000 msgid "Regions" msgstr "Regioni" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "Sadrži oznake regiona/osoba" #: src/properties.cpp:985 #, fuzzy msgid "Date Regions Valid" msgstr "DateRegionsValid" #: src/properties.cpp:985 msgid "Date the last region was created" msgstr "Datum kada je zadnji region kreiran" #: src/properties.cpp:991 #, fuzzy msgid "Person Display Name" msgstr "PersonDisplayName" #: src/properties.cpp:991 msgid "Name of the person (in the given rectangle)" msgstr "Ime osobe u datom pravougaoniku" #: src/properties.cpp:992 msgid "Rectangle" msgstr "Pravougaonik" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "Pravougaonik koji identificira osobu unutaar fotografije" #: src/properties.cpp:993 #, fuzzy msgid "Person Email Digest" msgstr "PersonEmailDigest" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "" "SHA-1 kriptovana kontrolna suma Windows Live e-mail adrese za datu osobu" #: src/properties.cpp:994 #, fuzzy msgid "Person LiveId CID" msgstr "PersonLiveCID" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "Predstava kao predznačeni decimalni broj za Windows Live CID te osobe" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1001 #, fuzzy msgid "Applied To Dimensions" msgstr "AppliedToDimensions" #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "Širina i visina slike kada se smiještaju regionski podaci" #: src/properties.cpp:1002 #, fuzzy msgid "Region List" msgstr "RegionList" #: src/properties.cpp:1002 msgid "List of Region structures" msgstr "Lista regionskih struktura" #: src/properties.cpp:1003 msgid "Area" msgstr "Područje" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "Namjena regiona (Lice|Životinja|Fokus|BarCode)" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "Ime / kratak opis sadržaja regiona slike" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" "Scenario upotrebe za dato područje fokusa (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" #: src/properties.cpp:1007 #, fuzzy msgid "Focus Usage" msgstr "FocusUsage" #: src/properties.cpp:1008 #, fuzzy msgid "Bar Code Value" msgstr "BarCodeValue" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "Vrijednost dekodiranog Bar koda" #: src/properties.cpp:1009 msgid "Extensions" msgstr "Proširenja" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "Svako XMP svojstvo najvišeg nivoa koje opisuje sadržaj regiona" #: src/properties.cpp:1015 #, fuzzy msgid "Main structure containing keyword based information" msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "" #: src/properties.cpp:1016 #, fuzzy msgid "List of root keyword structures" msgstr "Lista regionskih struktura" #: src/properties.cpp:1017 #, fuzzy msgid "Keyword" msgstr "Ključne riječi" #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "" #: src/properties.cpp:1018 msgid "Applied" msgstr "" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" #: src/properties.cpp:1019 #, fuzzy msgid "List of children keyword structures" msgstr "Lista regionskih struktura" #: src/properties.cpp:1026 #, fuzzy msgid "Use Panorama Viewer" msgstr "Panorama način" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" #: src/properties.cpp:1027 #, fuzzy msgid "Capture Software" msgstr "Hvatanje podataka" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" #: src/properties.cpp:1028 #, fuzzy msgid "Stitching Software" msgstr "Procesirajući Softver" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" #: src/properties.cpp:1029 #, fuzzy msgid "Projection Type" msgstr "Vrsta objekta" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "" #: src/properties.cpp:1034 #, fuzzy msgid "The pitch angle of the initial view in degrees." msgstr "Udaljenost subjekta u metrima." #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" #: src/properties.cpp:1037 #, fuzzy msgid "First Photo Date" msgstr "Datum Prve Publikacije" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "" #: src/properties.cpp:1038 #, fuzzy msgid "Last Photo Date" msgstr "Datum snimka" #: src/properties.cpp:1038 #, fuzzy msgid "Date and time for the last image created in the panorama." msgstr "" "Datum i vrijeme kada je orginalni video generisan, u ISO 8601 formatu. " #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "" #: src/properties.cpp:1040 #, fuzzy msgid "Exposure Lock Used" msgstr "Način ekspozicije" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" #: src/properties.cpp:1041 #, fuzzy msgid "Cropped Area Image Width Pixels" msgstr "Širina izvorne slike" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" #: src/properties.cpp:1042 #, fuzzy msgid "Cropped Area Image Height Pixels" msgstr "Visina izvorne slike" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" #: src/properties.cpp:1047 #, fuzzy msgid "Initial Camera Dolly" msgstr "Jedinstveni model aparata" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" #: src/properties.cpp:1055 msgid "Archival Location" msgstr "Arhivska lokacija" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "Informacija o arhivskoj lokaciji" #: src/properties.cpp:1056 msgid "Arranger" msgstr "Aranžer" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "Informacija o aranžeru." #: src/properties.cpp:1057 #, fuzzy msgid "Arranger Keywords" msgstr "Ključne riječi" #: src/properties.cpp:1057 #, fuzzy msgid "Information about the Arranger Keywords." msgstr "Informacija o aranžeru." #: src/properties.cpp:1059 #, fuzzy msgid "Video Aspect Ratio" msgstr "Omjer video pixela" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "" "Omjer Širina : Visina,pomaže da se utvrdi kako će se video prikazati na " "ekranu" #: src/properties.cpp:1060 #, fuzzy msgid "Video Aspect Ratio Type" msgstr "Omjer video pixela" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "" #: src/properties.cpp:1062 #, fuzzy msgid "Attached File Description" msgstr "Opis slike" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "" #: src/properties.cpp:1064 #, fuzzy msgid "Attached File Name" msgstr "Sirovo Ime Fajla" #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "" #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" #: src/properties.cpp:1068 msgid "Brightness setting." msgstr "Postavka svjetlosti." #: src/properties.cpp:1069 #, fuzzy msgid "Camera Byte Order" msgstr "Redoslijed bajtova" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "" #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "" #: src/properties.cpp:1070 #, fuzzy msgid "The video Cinematographer information." msgstr "Informacije o autorskim pravima." #: src/properties.cpp:1071 #, fuzzy msgid "Clean Aperture Width" msgstr "Minimalna blenda" #: src/properties.cpp:1071 #, fuzzy msgid "Clean aperture width in pixels" msgstr "Širina video snimka u pikselima" #: src/properties.cpp:1072 #, fuzzy msgid "Clean Aperture Height" msgstr "Visina AF područja" #: src/properties.cpp:1072 #, fuzzy msgid "Clean aperture height in pixels" msgstr "Maksimalan otvor na minimalnom fokusu" #: src/properties.cpp:1073 #, fuzzy msgid "Video Codec" msgstr "Video kodek postavke" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" #: src/properties.cpp:1074 #, fuzzy msgid "Video Codec Decode Info" msgstr "Opis Video kodeka" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1075 msgid "Video Codec Description" msgstr "Opis Video kodeka" #: src/properties.cpp:1075 src/properties.cpp:1403 #, fuzzy msgid "Contains description the codec." msgstr "textualni opis podataka objekta" #: src/properties.cpp:1076 msgid "Video Codec Information" msgstr "Informacija o Video kodeku" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1077 #, fuzzy msgid "Video Codec Download URL" msgstr "Opis Video kodeka" #: src/properties.cpp:1077 #, fuzzy msgid "Video Codec Download URL." msgstr "Opis Video kodeka" #: src/properties.cpp:1078 msgid "Video Codec Settings" msgstr "Video kodek postavke" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1083 #, fuzzy msgid "Comment" msgstr "Log Komentar" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "Informacije o komentaru." #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned" msgstr "Kompresija" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned." msgstr "Kompresija" #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1086 #, fuzzy msgid "Information about the Composer." msgstr "Informacije o komentaru." #: src/properties.cpp:1087 #, fuzzy msgid "Composer Keywords" msgstr "Windows Ključne Riječi" #: src/properties.cpp:1087 #, fuzzy msgid "Information about the Composer Keywords." msgstr "Informacije o verziji kompresora." #: src/properties.cpp:1088 #, fuzzy msgid "Compressor" msgstr "Kompresija" #: src/properties.cpp:1088 #, fuzzy msgid "Video Compression Library Used" msgstr "Video kompresor" #: src/properties.cpp:1089 #, fuzzy msgid "Video Compressor ID" msgstr "Video kompresor" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "" #: src/properties.cpp:1090 msgid "Compressor Version" msgstr "Verzija kompresora" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "Informacije o verziji kompresora." #: src/properties.cpp:1091 #, fuzzy msgid "Container Type" msgstr "Tip kamere" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "" #: src/properties.cpp:1092 #, fuzzy msgid "Content Compression Algorithm" msgstr "Omjer kompresije" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "" #: src/properties.cpp:1097 #, fuzzy msgid "Indicates the direction of contrast processing applied by the camera." msgstr "" "EXIF oznaka 41992, 0xA408. Ukazuje na smjer procesiranja primjenjenog " "kontrasta od strane fotoaparata." #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "Kostimograf" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "" #: src/properties.cpp:1100 #, fuzzy msgid "Name of the country where the video was created." msgstr "Ime dokumenta iz kojeg je ova slika skenirana" #: src/properties.cpp:1101 #, fuzzy msgid "Creation Date" msgstr "Datum unosa" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" #: src/properties.cpp:1103 #, fuzzy msgid "Pixel Crop Bottom" msgstr "Reži dno." #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "Broj pixela koji treba odstraniti od dna." #: src/properties.cpp:1104 #, fuzzy msgid "Pixel Crop Left" msgstr "Izreži Lijevo" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "Broj piksela koji treba odsraniti sa lijeve strane." #: src/properties.cpp:1105 #, fuzzy msgid "Pixel Crop Right" msgstr "Reži desno" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "Broj piksela koji treba odsraniti sa desne strane." #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "" #: src/properties.cpp:1107 #, fuzzy msgid "Pixel Crop Top" msgstr "Izreži Vrh" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "Broj piksela koji treba odsraniti sa vrha." #: src/properties.cpp:1108 #, fuzzy msgid "Current Time" msgstr "Trenutni ICC Profil" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "" #: src/properties.cpp:1109 #, fuzzy msgid "Data Packets" msgstr "XML paket" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "" #: src/properties.cpp:1110 msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "" "Datum i vrijeme kada je orginalni video generisan, u ISO 8601 formatu. " #: src/properties.cpp:1111 #, fuzzy msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" "EXIF oznaka 36868, 0x9004 (primarno) i 37522, 0x9292 (subsekunde). Datum i " "vrijeme kad je slika pohranjena kao digitalni podatak, može biti isti kao i " "DatumVrijemeOriginal ako je originalno pohranjeno u digitalnoj formi. " "Pohranjeno u ISO 8601 formatu. Uključuje EXIF SubSecVremenskiDigitaliziran " "podatak." #: src/properties.cpp:1113 #, fuzzy msgid "Date-Time Original" msgstr "Datum vrijeme originalno" #: src/properties.cpp:1113 #, fuzzy msgid "Contains the production date" msgstr "Reprodukcija Boje" #: src/properties.cpp:1114 #, fuzzy msgid "Video Track Default On" msgstr "Dužina trajanja video snimka" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1115 #, fuzzy msgid "Indicates the digital zoom ratio when the video was shot." msgstr "" "EXIF oznaka 41988, 0xA404. Ukazuje na omjer digitalnog uvećanja kad je slika " "uslikana." #: src/properties.cpp:1116 #, fuzzy msgid "Dimensions" msgstr "Proširenja" #: src/properties.cpp:1116 msgid "Information about the Dimensions of the video frame." msgstr "Informacije o dimenzijama video okvira." #: src/properties.cpp:1117 #, fuzzy msgid "Director" msgstr "Usmjeriti" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "Informacije o direktoru." #: src/properties.cpp:1118 #, fuzzy msgid "Video Display Unit" msgstr "Snimanje zaslona" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "distribuira" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "distribuira, npr. ime osobe ili organizacije." #: src/properties.cpp:1120 #, fuzzy msgid "Doc Type" msgstr "Vrsta fokusa" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" #: src/properties.cpp:1121 #, fuzzy msgid "Doc Type Read Version" msgstr "snimana verzija" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" #: src/properties.cpp:1122 #, fuzzy msgid "Doc Type Version" msgstr "Verzija modela" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "" #: src/properties.cpp:1124 msgid "The duration of the media file. Measured in milli-seconds." msgstr "Trajanje medijske datoteke . Mjereno u mili sekundama." #: src/properties.cpp:1125 #, fuzzy msgid "EBML Read Version" msgstr "EBML Verzija" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "" #: src/properties.cpp:1126 msgid "EBML Version" msgstr "EBML Verzija" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "Uređivani Blok 1/Jezik" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "Informacije o uređivanju/Jezik" #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "Uređivani Blok 2/Jezik" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "Uređivani Blok 3/Jezik" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "Uređivani Blok 4/Jezik" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "Uređivani Blok 5/Jezik" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "Uređivani Blok 6/Jezik" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "Uređivani Blok 7/Jezik" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "Uređivani Blok 8/Jezik" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "Uređivani Blok 9/Jezik" #: src/properties.cpp:1136 msgid "Edited By" msgstr "Uredio" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "Uredio, npr ime osobe ili organizacije." #: src/properties.cpp:1137 #, fuzzy msgid "Video Track Enabled" msgstr "Audio snimak omogućen" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1138 #, fuzzy msgid "Encoded By" msgstr "Uredio" #: src/properties.cpp:1138 #, fuzzy msgid "Encoded By, i.e. name of person or organization." msgstr "Uredio, npr ime osobe ili organizacije." #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "" #: src/properties.cpp:1139 #, fuzzy msgid "Encoded Pixels width in pixels" msgstr "Širina video snimka u pikselima" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "" #: src/properties.cpp:1141 msgid "Encoder" msgstr "" #: src/properties.cpp:1141 #, fuzzy msgid "Information about the Encoder." msgstr "Informacija o aranžeru." #: src/properties.cpp:1142 #, fuzzy msgid "End Timecode" msgstr "Alternativni Timecode" #: src/properties.cpp:1143 #, fuzzy msgid "Engineer, in most cases name of person." msgstr "Tehničar, ime osobe u većini slučajeva." #: src/properties.cpp:1144 #, fuzzy msgid "Equipment" msgstr "informacije o opremi" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "Informacije o opremi korištenoj za snimanje videa." #: src/properties.cpp:1145 #, fuzzy msgid "Exposure Compensation Information." msgstr "Podešvanje kompenzacije ekspozicije" #: src/properties.cpp:1146 #, fuzzy msgid "Exposure Program Information." msgstr "Program ekspozicije" #: src/properties.cpp:1147 #, fuzzy msgid "Exposure time in seconds." msgstr "Vrijeme ekspozicije, dato u sekundama." #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description" msgstr "Opis Video kodeka" #: src/properties.cpp:1148 msgid "Extended Content Description, usually found in ASF type files." msgstr "" #: src/properties.cpp:1150 msgid "File ID" msgstr "Naziv Fajla" #: src/properties.cpp:1150 #, fuzzy msgid "File ID." msgstr "Naziv Fajla" #: src/properties.cpp:1151 msgid "File Length" msgstr "Dužina datoteke" #: src/properties.cpp:1151 msgid "File length." msgstr "Dužina datoteke." #: src/properties.cpp:1152 #, fuzzy msgid "File Name" msgstr "Naziv datoteke" #: src/properties.cpp:1152 #, fuzzy msgid "File Name or Absolute File Path" msgstr "Apsolutni Vrhunac Puta Audio Datoteke" #: src/properties.cpp:1153 #, fuzzy msgid "File Size" msgstr "Veličina datoteke" #: src/properties.cpp:1153 msgid "File Size, in MB" msgstr "Veličina datoteke, u MB" #: src/properties.cpp:1154 #, fuzzy msgid "File Type" msgstr "Tip Poddatoteke" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "Ekstenzija datoteke ili tip datoteke" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "Primijenjene postavke efekta filtera" #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "" #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "" #: src/properties.cpp:1158 #, fuzzy msgid "Focal length of the lens, in millimeters." msgstr "EXIF oznaka 37386, 0x920A. Fokusna dužina objektiva, u milimetrima." #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "" #: src/properties.cpp:1161 #, fuzzy msgid "Frame Count" msgstr "Ukupni broj fremova" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "Ukupni broj okvira u videu." #: src/properties.cpp:1162 #, fuzzy msgid "Frame Height" msgstr "Visina AF područja" #: src/properties.cpp:1162 #, fuzzy msgid "Height of frames in a video" msgstr "Ukupni broj okvira u videu." #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" #: src/properties.cpp:1165 #, fuzzy msgid "Frame Width" msgstr "Širina AF područja" #: src/properties.cpp:1165 #, fuzzy msgid "Width of frames in a video" msgstr "Ukupni broj okvira u videu." #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "GPS koordinate" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "Informacije o GPS koordinatama." #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "Datumska oznaka GPS podataka, " #: src/properties.cpp:1171 #, fuzzy msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "" "GPS oznaka 17, 0x11. Smjer slike kad je uslikana, raspon vrijednosti od 0 " "do 359.99." #: src/properties.cpp:1172 #, fuzzy msgid "Reference for image direction." msgstr "GPS oznaka 16, 0x10. Referenca na smjer slike." #: src/properties.cpp:1173 #, fuzzy msgid "(North/South). Indicates latitude." msgstr "" "GPS oznaka 2, 0x02 (pozicija) i 1, 0x01 (Sjever/Jug). Ukazuje na širinu." #: src/properties.cpp:1174 #, fuzzy msgid "(East/West). Indicates longitude." msgstr "" "GPS oznaka 4, 0x04 (pozicija) i 3, 0x03 (Istok/Zapad). Ukazuje na dužinu." #: src/properties.cpp:1175 #, fuzzy msgid "Geodetic survey data." msgstr "GPS oznaka 18, 0x12. Podaci geodetskog premjeravanja." #: src/properties.cpp:1176 #, fuzzy msgid "Satellite information, format is unspecified." msgstr "GPS oznaka 8, 0x08. Informacije o satelitu, format je nespecificiran." #: src/properties.cpp:1177 #, fuzzy msgid "Time stamp of GPS data, " msgstr "Datumska oznaka GPS podataka, " #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "" #: src/properties.cpp:1179 #, fuzzy msgid "Graphics Mode" msgstr "Mod Zagrade" #: src/properties.cpp:1179 msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" #: src/properties.cpp:1181 #, fuzzy msgid "Grouping" msgstr "Nema rezanja" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "Informacije o grupisanju." #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 #, fuzzy msgid "Handler Description" msgstr "Opis slike" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 #, fuzzy msgid "Handler Type" msgstr "Tip skale" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 #, fuzzy msgid "Handler Vendor ID" msgstr "ID proizvođača" #: src/properties.cpp:1185 src/properties.cpp:1416 #, fuzzy msgid "Component manufacturer." msgstr "Proizvođač objektiva." #: src/properties.cpp:1186 #, fuzzy msgid "Video Height" msgstr "Visina Senzora" #: src/properties.cpp:1186 src/properties.cpp:1309 #, fuzzy msgid "Video height in pixels" msgstr "Širina video snimka u pikselima" #: src/properties.cpp:1187 #, fuzzy msgid "Hue Adjustment Settings Information." msgstr "Postavke podešavanja slika" #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "" #: src/properties.cpp:1189 #, fuzzy msgid "Information Banner Image." msgstr "Informacija o aranžeru." #: src/properties.cpp:1190 #, fuzzy msgid "Info Banner URL" msgstr "Info URL" #: src/properties.cpp:1190 #, fuzzy msgid "Information Banner URL." msgstr "Informationi URL." #: src/properties.cpp:1191 #, fuzzy msgid "Information" msgstr "Informationi URL." #: src/properties.cpp:1191 msgid "Additional Movie Information." msgstr "Dodatne informacije o filmu." #: src/properties.cpp:1192 msgid "Info Text" msgstr "Info Text" #: src/properties.cpp:1192 msgid "Information Text." msgstr "Informacioni Text." #: src/properties.cpp:1193 msgid "Info URL" msgstr "Info URL" #: src/properties.cpp:1193 msgid "Information URL." msgstr "Informationi URL." #: src/properties.cpp:1194 #, fuzzy msgid "Information about the ISO Setting." msgstr "Informacije o ISRC kodu." #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "ISRC kod" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "Informacije o ISRC kodu." #: src/properties.cpp:1196 #, fuzzy msgid "Junk Data" msgstr "Podaci objektiva" #: src/properties.cpp:1196 #, fuzzy msgid "Video Junk data" msgstr "Širina video zapisa" #: src/properties.cpp:1197 #, fuzzy msgid "Language." msgstr "Jezik" #: src/properties.cpp:1198 #, fuzzy msgid "Length" msgstr "Žićna daljina" #: src/properties.cpp:1198 #, fuzzy msgid "The length of the media file." msgstr "Trajanje multimedijalne datoteke." #: src/properties.cpp:1200 #, fuzzy msgid "Lens Type." msgstr "Vrta leća" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness" msgstr "Osvijetljenost." #: src/properties.cpp:1201 msgid "Lightness." msgstr "Osvijetljenost." #: src/properties.cpp:1202 #, fuzzy msgid "Location Information" msgstr "Informacije o lokaciji." #: src/properties.cpp:1202 msgid "Location Information." msgstr "Informacije o lokaciji." #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "URL logo ikone" #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "" #: src/properties.cpp:1204 msgid "Logo URL" msgstr "URL logotipa" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "" #: src/properties.cpp:1205 msgid "Lyrics" msgstr "" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "" #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "" #: src/properties.cpp:1207 #, fuzzy msgid "Equipment Make" msgstr "Model opreme" #: src/properties.cpp:1207 msgid "Manufacturer of recording equipment" msgstr "Proizvođač opreme za snimanje" #: src/properties.cpp:1208 #, fuzzy msgid "Camera Maker Note Type" msgstr "Tip kamere" #: src/properties.cpp:1208 #, fuzzy msgid "Maker Note Type of the camera." msgstr "SFR kamere." #: src/properties.cpp:1209 #, fuzzy msgid "Camera Maker Note Version" msgstr "IzrađivačBilješki Verzija" #: src/properties.cpp:1209 #, fuzzy msgid "Maker Note Version of the camera." msgstr "IzrađivačBilješki Verzija" #: src/properties.cpp:1210 msgid "Maker URL" msgstr "URL proizvođača" #: src/properties.cpp:1210 #, fuzzy msgid "Camera Manufacturer's URL." msgstr "Proizvođač objektiva." #: src/properties.cpp:1211 #, fuzzy msgid "Smallest F number of lens, in APEX." msgstr "EXIF oznaka 37381, 0x9205. Najmanji F broj objekitva, u APEX." #: src/properties.cpp:1212 #, fuzzy msgid "Maximum Bit Rate" msgstr "Maksimalna Vrijednost Otvaranja" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" #: src/properties.cpp:1213 #, fuzzy msgid "Maximum Data Rate" msgstr "Brzina prijenosa podataka datoteke" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "Media Track Create Date" msgstr "Datum kada je medijski zapis kreiran" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "Media Track Duration" msgstr "Dužina medijskog zapisa" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 #, fuzzy msgid "Media Header Version" msgstr "Verzija modela" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 #, fuzzy msgid "Media Language Code" msgstr "Jezik oznake" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 #, fuzzy msgid "Media Track Modify Date" msgstr "Datum izmjene video snimka" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "Vremenska skala medija" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" #: src/properties.cpp:1220 msgid "Medium." msgstr "Srednji." #: src/properties.cpp:1221 #, fuzzy msgid "Metadata" msgstr "Datum metapodatka" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1222 #, fuzzy msgid "Metadata Library" msgstr "Datum metapodatka" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "" #: src/properties.cpp:1223 #, fuzzy msgid "Metering mode." msgstr "Mod mjerenja" #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "Mikrosekundi po fremu" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "" #: src/properties.cpp:1225 #, fuzzy msgid "Mime Type" msgstr "Vrsta slike" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "Pokazuje video format" #: src/properties.cpp:1226 #, fuzzy msgid "QTime Minor FileType Version" msgstr "Verzija datoteke" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "" #: src/properties.cpp:1227 msgid "Equipment Model" msgstr "Model opreme" #: src/properties.cpp:1227 msgid "Model name or number of equipment." msgstr "Naziv modela ili broj opreme." #: src/properties.cpp:1228 #, fuzzy msgid "Modification Date-Time" msgstr "Naziv lokacije" #: src/properties.cpp:1228 #, fuzzy msgid "Contains the modification date of the video" msgstr "Ograničenja na kreiranje duplikata slike." #: src/properties.cpp:1229 #, fuzzy msgid "Movie Header Version" msgstr "Verzija modela" #: src/properties.cpp:1230 msgid "Music By" msgstr "" #: src/properties.cpp:1230 #, fuzzy msgid "Music By, i.e. name of person or organization." msgstr "Uredio, npr ime osobe ili organizacije." #: src/properties.cpp:1231 msgid "Muxing App" msgstr "" #: src/properties.cpp:1231 #, fuzzy msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" "Sadrži naziv aplikacije korištene za kreiranje datoteke (poput \"mkvmerge " "0.8.1\")" #: src/properties.cpp:1232 #, fuzzy msgid "Name of song or the event." msgstr "Ime osobe prikazane na slici." #: src/properties.cpp:1233 #, fuzzy msgid "Next Track ID" msgstr "Tekst + ID#" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" #: src/properties.cpp:1234 msgid "Number Of Colours" msgstr "Broj boja" #: src/properties.cpp:1234 msgid "Total number of colours used" msgstr "Ukupni broj upotrebljenih boja" #: src/properties.cpp:1235 #, fuzzy msgid "Number Of Important Colours" msgstr "Broj boja" #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1236 #, fuzzy msgid "Number Of Parts" msgstr "Broj otkucaja" #: src/properties.cpp:1236 #, fuzzy msgid "Total number of parts in the video." msgstr "Ukupni broj okvira u videu." #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" #: src/properties.cpp:1238 #, fuzzy msgid "Organization" msgstr "Usmjerenje" #: src/properties.cpp:1238 #, fuzzy msgid "Name of organization associated with the video." msgstr "Naziv organizacije ili kompanije koja je istaknuta na slici." #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" #: src/properties.cpp:1248 #, fuzzy msgid "Part" msgstr "Žurka" #: src/properties.cpp:1248 msgid "Part." msgstr "Dio." #: src/properties.cpp:1249 msgid "Performers" msgstr "Izvođači" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "Izvođači uključeni u video." #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords" msgstr "Izvođači" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords." msgstr "Izvođači" #: src/properties.cpp:1251 msgid "Performer URL" msgstr "URL izvođača" #: src/properties.cpp:1251 #, fuzzy msgid "Performer's dedicated URL." msgstr "URL izvođača" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data" msgstr "Kontrola slike" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data." msgstr "Kontrola slike" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Version" msgstr "Kontrola slike" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Data Version." msgstr "Kontrola slike" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name" msgstr "Kontrola slike" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name." msgstr "Kontrola slike" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Base" msgstr "Kontrola slike" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Data Base." msgstr "Kontrola slike" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust" msgstr "Kontrola slike" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust Information." msgstr "Informacija o Video kodeku" #: src/properties.cpp:1257 #, fuzzy msgid "Picture Control Quick Adjust" msgstr "Kontrola slike" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection" msgstr "Izbor" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection." msgstr "Izbor" #: src/properties.cpp:1259 #, fuzzy msgid "Play Mode" msgstr "Jednostavni režim" #: src/properties.cpp:1259 #, fuzzy msgid "Information about the Play Mode." msgstr "Informacije o ISRC kodu." #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "" #: src/properties.cpp:1260 msgid "Contains the information of External media." msgstr "Sadrži podatke o vanjskom mediju." #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1265 msgid "Planes" msgstr "" #: src/properties.cpp:1265 #, fuzzy msgid "The number of Image Planes in the video" msgstr "Ukupni broj okvira u videu." #: src/properties.cpp:1266 #, fuzzy msgid "Poster Time" msgstr "Dužina ekspozicije" #: src/properties.cpp:1266 #, fuzzy msgid "The time value of the time of the movie poster." msgstr "Vrijeme početka medije unutar audio projekta." #: src/properties.cpp:1267 #, fuzzy msgid "Preferred Rate" msgstr "Datum reference" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1269 msgid "Preroll" msgstr "" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" #: src/properties.cpp:1272 #, fuzzy msgid "Preview Atom Type" msgstr "Datum pretpregleda" #: src/properties.cpp:1272 #, fuzzy msgid "Indicates the type of atom that contains the preview data" msgstr "Prikazuje vrstu audio zapisa" #: src/properties.cpp:1273 msgid "Preview Date" msgstr "Datum pretpregleda" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "" #: src/properties.cpp:1274 msgid "Preview Duration" msgstr "Duzina trajanja pregleda" #: src/properties.cpp:1274 #, fuzzy msgid "The duration of the movie preview in movie time scale units" msgstr "Trajanje medijske datoteke . Mjereno u mili sekundama." #: src/properties.cpp:1275 #, fuzzy msgid "Preview Time" msgstr "Pregledna slika" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "" #: src/properties.cpp:1276 #, fuzzy msgid "The version of the movie preview " msgstr "Verzija korištenog software-a." #: src/properties.cpp:1277 #, fuzzy msgid "Produced By" msgstr "Proizvođač" #: src/properties.cpp:1277 #, fuzzy msgid "Produced By, i.e. name of person or organization." msgstr "Uredio, npr ime osobe ili organizacije." #: src/properties.cpp:1278 #, fuzzy msgid "Producer involved with the video." msgstr "Izvođači uključeni u video." #: src/properties.cpp:1279 #, fuzzy msgid "Producer Keywords" msgstr "Ključne riječi" #: src/properties.cpp:1279 #, fuzzy msgid "Information about the Producer Keywords." msgstr "Informacije o izdavačkom studiju." #: src/properties.cpp:1280 #, fuzzy msgid "Production Aperture Width" msgstr "Izdavački studio" #: src/properties.cpp:1280 #, fuzzy msgid "Production aperture width in pixels" msgstr "Širina video snimka u pikselima" #: src/properties.cpp:1281 #, fuzzy msgid "Production Aperture Height" msgstr "Izdavački studio" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "" #: src/properties.cpp:1282 #, fuzzy msgid "Production Designer" msgstr "Izdavački studio" #: src/properties.cpp:1282 #, fuzzy msgid "Information about the Production Designer." msgstr "Informacije o izdavačkom studiju." #: src/properties.cpp:1283 msgid "Production Studio" msgstr "Izdavački studio" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "Informacije o izdavačkom studiju." #: src/properties.cpp:1284 #, fuzzy msgid "Product" msgstr "Proizvod." #: src/properties.cpp:1284 msgid "Product." msgstr "Proizvod." #: src/properties.cpp:1286 #, fuzzy msgid "Rate" msgstr "Odnos." #: src/properties.cpp:1286 msgid "Rate." msgstr "Odnos." #: src/properties.cpp:1287 msgid "Rated" msgstr "Procijenjen" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "Starost potrebna za gledanje video snimka." #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "Ocjenjivanje, npr. 7 ili 8 (uglavnom od 10)" #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "Naziv oznake izdavača" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "Naziv oznake izdavača, ili ime organizacije koja je snimila video." #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "URL oznake izdavača" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "URL oznake izdavača" #: src/properties.cpp:1291 msgid "Recording Copyright" msgstr "Autorska prava na snimak" #: src/properties.cpp:1291 msgid "Recording Copyright." msgstr "Autorska prava na snimak." #: src/properties.cpp:1292 #, fuzzy msgid "Requirements" msgstr "Drugi Zahtjevo Licence" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "Informacije o zahtjevima." #: src/properties.cpp:1293 #, fuzzy msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" "TIFF oznaka 296, 0x128. Jedinica upotrijebljena za Xrezoluciju i " "Yrezoluciju. Vrijednost je jedna od: 2 = inči; 3 = centimetri." #: src/properties.cpp:1294 #, fuzzy msgid "Ripped By" msgstr "Uredio" #: src/properties.cpp:1294 #, fuzzy msgid "Ripped By, i.e. name of person or organization." msgstr "Uredio, npr ime osobe ili organizacije." #: src/properties.cpp:1295 #, fuzzy msgid "Indicates the direction of saturation processing applied by the camera." msgstr "" "EXIF oznaka 41993, 0xA409. Ukazuje na smjer saturacije procesiranja " "primjenjenog od strane fotoaparata." #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "Sporedni žanr" #: src/properties.cpp:1296 msgid "The name of the secondary genre.." msgstr "Naziv sporednog žanra..." #: src/properties.cpp:1297 #, fuzzy msgid "Selection Time" msgstr "Izbor" #: src/properties.cpp:1297 #, fuzzy msgid "The time value for the start time of the current selection." msgstr "Broj verzije PLUS standarda na mjestu za vrijeme transakcije." #: src/properties.cpp:1298 msgid "Selection Duration" msgstr "Dužina trajanja selekcije" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "" #: src/properties.cpp:1299 msgid "Send Duration" msgstr "Trajanje slanja" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "Software korišten za generisanje / kreiranje Video podataka." #: src/properties.cpp:1303 #, fuzzy msgid "Software Version" msgstr "Firmware verzije" #: src/properties.cpp:1303 msgid "The Version of the software used." msgstr "Verzija korištenog software-a." #: src/properties.cpp:1304 msgid "Song Writer" msgstr "Tekstopisac" #: src/properties.cpp:1304 msgid "The name of the song writer." msgstr "Ime tekstopisca." #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords" msgstr "Tekstopisac" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords." msgstr "Tekstopisac" #: src/properties.cpp:1307 msgid "Source Credits" msgstr "Zasluge za izvornik" #: src/properties.cpp:1307 msgid "Source Credits." msgstr "Zasluge za izvornik." #: src/properties.cpp:1308 msgid "Source Form" msgstr "Izvorna forma" #: src/properties.cpp:1308 msgid "Source Form." msgstr "zvorna forma." #: src/properties.cpp:1309 msgid "Source Image Height" msgstr "Visina izvorne slike" #: src/properties.cpp:1310 msgid "Source Image Width" msgstr "Širina izvorne slike" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "Širina video snimka u pikselima" #: src/properties.cpp:1311 msgid "Starring" msgstr "Glumci" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "Uloge, imena poznatih ljudi koji se pojavljuju na video snimku." #: src/properties.cpp:1312 #, fuzzy msgid "Start Timecode" msgstr "Kod Startnog Vremena" #: src/properties.cpp:1313 #, fuzzy msgid "Statistics" msgstr "Status" #: src/properties.cpp:1313 msgid "Statistics." msgstr "" #: src/properties.cpp:1314 #, fuzzy msgid "Stream Count" msgstr "broj zatvaranja" #: src/properties.cpp:1314 #, fuzzy msgid "Total Number Of Streams" msgstr "Broj otkucaja" #: src/properties.cpp:1315 #, fuzzy msgid "Stream Name" msgstr "Naziv snimka" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "" #: src/properties.cpp:1316 #, fuzzy msgid "Stream Quality" msgstr "Kvalitet slike" #: src/properties.cpp:1316 msgid "General Stream Quality" msgstr "" #: src/properties.cpp:1317 #, fuzzy msgid "Stream Sample Rate" msgstr "Audio Stopa Uzorka" #: src/properties.cpp:1318 #, fuzzy msgid "Stream Sample Count" msgstr "Ukupni broj fremova" #: src/properties.cpp:1319 #, fuzzy msgid "Stream Sample Size" msgstr "Dodatni Uzorci" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "" #: src/properties.cpp:1320 #, fuzzy msgid "Stream Type" msgstr "Tip skale" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1321 #, fuzzy msgid "Subtitles Codec" msgstr "Jezik podnaslova" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "" #: src/properties.cpp:1322 #, fuzzy msgid "Subtitle Codec Decode Info" msgstr "Podnaslov videa." #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1323 #, fuzzy msgid "Subtitles Codec Information" msgstr "Informacija o Video kodeku" #: src/properties.cpp:1323 #, fuzzy msgid "Contains additional information about subtitles." msgstr "Sadrži podatke o vanjskom mediju." #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "" #: src/properties.cpp:1325 #, fuzzy msgid "Subtitle Codec Settings" msgstr "Video kodek postavke" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1327 #, fuzzy msgid "Subtitle Track Enabled" msgstr "Audio snimak omogućen" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1328 #, fuzzy msgid "Subtitle" msgstr "Jezik podnaslova" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "Podnaslov videa." #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords" msgstr "Ključne riječi" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords." msgstr "Ključne riječi." #: src/properties.cpp:1330 msgid "Subtitles Language" msgstr "Jezik podnaslova" #: src/properties.cpp:1330 msgid "The Language in which the subtitles is recorded in." msgstr "Jezik na kojem su podnaslovi." #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1332 #, fuzzy msgid "Subtitle Track Lacing" msgstr "Jezik podnaslova" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1333 msgid "Subject. " msgstr "Predmet. " #: src/properties.cpp:1334 #, fuzzy msgid "TapeName." msgstr "Ime trake" #: src/properties.cpp:1335 #, fuzzy msgid "Tag Default Setting" msgstr "Podrazumijevana podešavanja" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "" #: src/properties.cpp:1336 msgid "Tag Language" msgstr "Jezik oznake" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "Jezik korišten za definisanje oznaka" #: src/properties.cpp:1337 #, fuzzy msgid "Tag Name" msgstr "Ime trake" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1338 #, fuzzy msgid "Tag String" msgstr "Glumci" #: src/properties.cpp:1338 #, fuzzy msgid "Information contained in a Tags" msgstr "Informacije o grupisanju." #: src/properties.cpp:1339 #, fuzzy msgid "Target Type" msgstr "Vrsta slike" #: src/properties.cpp:1339 msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "" #: src/properties.cpp:1340 msgid "Technician" msgstr "Tehničar" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "Tehničar, ime osobe u većini slučajeva." #: src/properties.cpp:1341 #, fuzzy msgid "Thumbnail Height" msgstr "Dužina sličice" #: src/properties.cpp:1341 #, fuzzy msgid "Preview Image Thumbnail Height." msgstr "Duzina pregleda slike" #: src/properties.cpp:1342 #, fuzzy msgid "Preview Image Thumbnail Length." msgstr "Dužina pregleda slike" #: src/properties.cpp:1343 #, fuzzy msgid "Thumbnail Width" msgstr "Dužina sličice" #: src/properties.cpp:1343 #, fuzzy msgid "Preview Image Thumbnail Width." msgstr "Validni pregled slike" #: src/properties.cpp:1344 #, fuzzy msgid "Timecode Scale" msgstr "Vremenska skala" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "" #: src/properties.cpp:1345 src/properties.cpp:1428 #, fuzzy msgid "Time Offset" msgstr "Plocice pomaka" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" #: src/properties.cpp:1346 msgid "Time Scale" msgstr "Vremenska skala" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1350 #, fuzzy msgid "Toning Effect Settings Applied." msgstr "Primijenjene postavke efekta filtera" #: src/properties.cpp:1351 msgid "Total Frame Count" msgstr "Ukupni broj fremova" #: src/properties.cpp:1352 #, fuzzy msgid "Number Of Streams" msgstr "Broj otkucaja" #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1353 #, fuzzy msgid "Track" msgstr "GPS Traka" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "Informacije o snimci." #: src/properties.cpp:1354 msgid "Video Track Create Date" msgstr "Datum kreiranja video snimka" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" #: src/properties.cpp:1355 msgid "Video Track Duration" msgstr "Dužina trajanja video snimka" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1356 #, fuzzy msgid "Video Track Forced" msgstr "Sloj video snimka" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 #, fuzzy msgid "Track ID" msgstr "Broj numere" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 #, fuzzy msgid "Track Header Version" msgstr "Makernote verzija" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "" #: src/properties.cpp:1359 #, fuzzy msgid "Video Track Lacing" msgstr "Sloj video snimka" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "Track Language" msgstr "Jezik snimka" #: src/properties.cpp:1360 src/properties.cpp:1435 #, fuzzy msgid "The Language in which a particular stream is recorded in." msgstr "Jezik na kojem su podnaslovi." #: src/properties.cpp:1361 msgid "Video Track Layer" msgstr "Sloj video snimka" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" #: src/properties.cpp:1364 msgid "Video Track Modify Date" msgstr "Datum izmjene video snimka" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" #: src/properties.cpp:1365 #, fuzzy msgid "Track Name" msgstr "Broj numere" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "" #: src/properties.cpp:1366 #, fuzzy msgid "Track Number." msgstr "Broj numere" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "Track Volume" msgstr "Jačina zvuka snimka" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "" #: src/properties.cpp:1368 msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown Information" msgstr "Nepoznata informacija" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1371 #, fuzzy msgid "Video URL" msgstr "Video URN" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1372 msgid "Video URN" msgstr "Video URN" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1373 #, fuzzy msgid "Vari Program" msgstr "Program" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "" "Postavke software-a korištenog za generisanje / kreiranje Video podataka." #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "" #: src/properties.cpp:1376 #, fuzzy msgid "Vendor" msgstr "ID proizvođača" #: src/properties.cpp:1376 msgid "The developer of the compressor that generated the compressed data." msgstr "Programer kompresora koji generiraju komprimirane podatke" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "Vendor ID" msgstr "ID proizvođača" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" #: src/properties.cpp:1378 #, fuzzy msgid "Video Quality" msgstr "Kvalitet" #: src/properties.cpp:1378 #, fuzzy msgid "Video Stream Quality" msgstr "Video brzina" #: src/properties.cpp:1379 #, fuzzy msgid "Video Sample Size" msgstr "Video Okvir Veličina" #: src/properties.cpp:1379 #, fuzzy msgid "Video Stream Sample Size" msgstr "Video Okvir Veličina" #: src/properties.cpp:1380 #, fuzzy msgid "Video Scan Type" msgstr "Tip skale" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "" #: src/properties.cpp:1381 #, fuzzy msgid "Watermark URL" msgstr "URL proizvođača" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "" #: src/properties.cpp:1384 #, fuzzy msgid "White Balance Fine Tune." msgstr "Fino podešavanje balansa bijelog" #: src/properties.cpp:1385 msgid "Video Width" msgstr "Širina video zapisa" #: src/properties.cpp:1386 #, fuzzy msgid "Window Location" msgstr "Windows Procjenjivanje" #: src/properties.cpp:1386 #, fuzzy msgid "Information about the Window Location." msgstr "Informacija o arhivskoj lokaciji" #: src/properties.cpp:1388 #, fuzzy msgid "Written By" msgstr "pisac" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "Napisali, npr. ime osobe ili organizacije." #: src/properties.cpp:1389 #, fuzzy msgid "Writing App" msgstr "Pisanje pregleda" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" "Sadrži naziv aplikacije korištene za kreiranje datoteke (poput \"mkvmerge " "0.8.1\")" #: src/properties.cpp:1390 #, fuzzy msgid "Horizontal resolution in pixels per unit." msgstr "Vertikalna rezolucija u pikselima po jedinici." #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "" #: src/properties.cpp:1391 msgid "Year in which the video was made." msgstr "Godina snimanja video snimka." #: src/properties.cpp:1392 msgid "Vertical resolution in pixels per unit." msgstr "Vertikalna rezolucija u pikselima po jedinici." #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "" #: src/properties.cpp:1398 #, fuzzy msgid "Balance" msgstr "Balans crvene" #: src/properties.cpp:1398 msgid "Indicates the left-right balance of the audio" msgstr "Prikazuje ravnotežu audio snimka (lijevo-desno)" #: src/properties.cpp:1399 #, fuzzy msgid "Bits Per Sample/ Bit Rate" msgstr "Bitova po uzorku" #: src/properties.cpp:1399 #, fuzzy msgid "Bits per test sample" msgstr "Bita po uzorku" #: src/properties.cpp:1401 #, fuzzy msgid "Audio Codec" msgstr "Audio kodek postavke" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "Kodek korišten za Audio Kodiranje/Dekodiranje" #: src/properties.cpp:1402 #, fuzzy msgid "Audio Codec Decode Info" msgstr "O Audio kodeku" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1403 msgid "Audio Codec Description" msgstr "O Audio kodeku" #: src/properties.cpp:1404 #, fuzzy msgid "Audio Codec Download URL" msgstr "O Audio kodeku" #: src/properties.cpp:1404 #, fuzzy msgid "Audio Codec Download URL." msgstr "O Audio kodeku" #: src/properties.cpp:1405 #, fuzzy msgid "Audio Codec Information" msgstr "Informacija o Video kodeku" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" #: src/properties.cpp:1406 msgid "Audio Codec Settings" msgstr "Audio kodek postavke" #: src/properties.cpp:1408 #, fuzzy msgid "Audio Default Duration" msgstr "Audio trajanje" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "Broj mikrosekundi trajanja audio komada." #: src/properties.cpp:1409 #, fuzzy msgid "Audio Default Stream" msgstr "Standardna skala" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "" #: src/properties.cpp:1410 #, fuzzy msgid "Audio Track Default On" msgstr "Dužina audio snimka" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "Audio snimak omogućen" #: src/properties.cpp:1411 #, fuzzy msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "Audio snimak omogućen" #: src/properties.cpp:1412 #, fuzzy msgid "Audio Format" msgstr "Audio stopa" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "" #: src/properties.cpp:1423 #, fuzzy msgid "Output Audio Sample Rate" msgstr "Audio Stopa Uzorka" #: src/properties.cpp:1423 #, fuzzy msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" "Audio stopa uzorka. Može biti bilo koja vrijednost, ali uobičajeno je 32000, " "41100, or 48000." #: src/properties.cpp:1424 #, fuzzy msgid "Audio Sample Count" msgstr "Audio Stopa Uzorka" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title" msgstr "pronađeni u datoteci" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title." msgstr "pronađeni u datoteci" #: src/properties.cpp:1429 msgid "Audio Track Create Date" msgstr "Datum kreiranja audio snimka" #: src/properties.cpp:1430 msgid "Audio Track Duration" msgstr "Dužina audio snimka" #: src/properties.cpp:1431 #, fuzzy msgid "Audio Track Forced" msgstr "Audio snimak omogućen" #: src/properties.cpp:1431 #, fuzzy msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "Audio snimak omogućen" #: src/properties.cpp:1434 #, fuzzy msgid "Audio Track Lacing" msgstr "Dužina audio snimka" #: src/properties.cpp:1434 #, fuzzy msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "Audio snimak omogućen" #: src/properties.cpp:1436 #, fuzzy msgid "Audio Track Layer" msgstr "Sloj video snimka" #: src/properties.cpp:1439 #, fuzzy msgid "Audio Track Modify Date" msgstr "Datum izmjene video snimka" #: src/properties.cpp:1441 msgid "Audio URL" msgstr "Audio URL" #: src/properties.cpp:1442 msgid "Audio URN" msgstr "Audio URN" #: src/properties.cpp:1449 #, fuzzy msgid "The nature or genre of the resource." msgstr "Naziv žanra." #: src/properties.cpp:1450 #, fuzzy msgid "Date Modified" msgstr "Datum modificiranja metapodatka" #: src/properties.cpp:1450 #, fuzzy msgid "Date on which the resource was changed." msgstr "Godina snimanja video snimka." #: src/properties.cpp:1451 #, fuzzy msgid "A language of the resource." msgstr "Kratko neformalno ime za resurs." #: src/properties.cpp:1452 #, fuzzy msgid "License" msgstr "Licencirani" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" #: src/properties.cpp:1453 #, fuzzy msgid "Rights Holder" msgstr "Desna zona" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" #: src/properties.cpp:1454 #, fuzzy msgid "Access Rights" msgstr "Prava" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "" #: src/properties.cpp:1455 #, fuzzy msgid "A bibliographic reference for the resource." msgstr "Kratko neformalno ime za resurs." #: src/properties.cpp:1456 #, fuzzy msgid "References" msgstr "Poslovna Referenca" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" #: src/properties.cpp:1459 #, fuzzy msgid "*Main structure* containing Darwin Core location based information." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1468 #, fuzzy msgid "Record" msgstr "snimana verzija" #: src/properties.cpp:1469 #, fuzzy msgid "*Main structure* containing record based information." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1472 #, fuzzy msgid "Institution ID" msgstr "Instrukcije" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" #: src/properties.cpp:1475 #, fuzzy msgid "Collection ID" msgstr "Izbor" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" #: src/properties.cpp:1478 #, fuzzy msgid "Institution Code" msgstr "Režim rezolucije" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1481 #, fuzzy msgid "Dataset ID" msgstr "Kanta za podatke" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "" #: src/properties.cpp:1484 #, fuzzy msgid "Collection Code" msgstr "Kod lokacije" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" #: src/properties.cpp:1487 #, fuzzy msgid "Dataset Name" msgstr "Tablica Imena" #: src/properties.cpp:1488 #, fuzzy msgid "The name identifying the data set from which the record was derived." msgstr "Jedinstven identifikator djela iz kojeg je resurs izveden." #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" #: src/properties.cpp:1496 #, fuzzy msgid "Information Withheld" msgstr "Informacioni Text." #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" #: src/properties.cpp:1502 #, fuzzy msgid "Dynamic Properties" msgstr "Osobine Objektiva" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" #: src/properties.cpp:1507 msgid "Occurrence" msgstr "" #: src/properties.cpp:1508 #, fuzzy msgid "*Main structure* containing occurrence based information." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1511 #, fuzzy msgid "Occurrence ID" msgstr "Licenca ID" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" #: src/properties.cpp:1514 #, fuzzy msgid "Catalog Number" msgstr "ručni Fbroj" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" #: src/properties.cpp:1517 msgid "Occurrence Details" msgstr "" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "" #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "" #: src/properties.cpp:1521 #, fuzzy msgid "Comments or notes about the Occurrence." msgstr "Informacija o aranžeru." #: src/properties.cpp:1523 #, fuzzy msgid "Record Number" msgstr "Broj direktorija" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" #: src/properties.cpp:1526 #, fuzzy msgid "Recorded By" msgstr "Snimanje zaslona" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" #: src/properties.cpp:1529 msgid "Individual ID" msgstr "" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" #: src/properties.cpp:1532 msgid "Individual Count" msgstr "" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "" #: src/properties.cpp:1535 msgid "Organism Quantity" msgstr "" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "" #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "" #: src/properties.cpp:1541 #, fuzzy msgid "Sex" msgstr "Postavi" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1544 msgid "Life Stage" msgstr "" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1547 #, fuzzy msgid "Reproductive Condition" msgstr "Izdavački studio" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1550 msgid "Behavior" msgstr "" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1559 #, fuzzy msgid "Preparations" msgstr "Gradacija" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" #: src/properties.cpp:1562 #, fuzzy msgid "Disposition" msgstr "Fokus pozicija" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" #: src/properties.cpp:1565 #, fuzzy msgid "Other Catalog Numbers" msgstr "Intervalni broj" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" #: src/properties.cpp:1568 src/properties.cpp:1607 #, fuzzy msgid "Previous Identifications" msgstr "Fiktivna Identifikacija" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" #: src/properties.cpp:1571 #, fuzzy msgid "Associated Media" msgstr "Priložena medija" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" #: src/properties.cpp:1574 #, fuzzy msgid "Associated References" msgstr "Referenca Projekta" #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1580 #, fuzzy msgid "Associated Sequences" msgstr "AEB sekvenca" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" #: src/properties.cpp:1588 msgid "Organism" msgstr "" #: src/properties.cpp:1589 #, fuzzy msgid "*Main structure* containing organism based information." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1592 msgid "Organism ID" msgstr "" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1595 #, fuzzy msgid "Organism Name" msgstr "Ime vlasnika" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "" #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1601 msgid "Organism Associated Occurrences" msgstr "" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1604 msgid "Associated Organisms" msgstr "" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" #: src/properties.cpp:1610 msgid "Organism Remarks" msgstr "" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "" #: src/properties.cpp:1615 #, fuzzy msgid "Material Sample" msgstr "Dodatni Uzorci" #: src/properties.cpp:1616 #, fuzzy msgid "*Main structure* containing material sample based information." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1618 #, fuzzy msgid "Living Specimen" msgstr "Večernja scena" #: src/properties.cpp:1619 #, fuzzy msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "" #: src/properties.cpp:1622 #, fuzzy msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "" #: src/properties.cpp:1625 #, fuzzy msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1628 #, fuzzy msgid "Material Sample ID" msgstr "Dodatni Uzorci" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" #: src/properties.cpp:1634 #, fuzzy msgid "*Main structure* containing event based information." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1636 msgid "Human Observation" msgstr "" #: src/properties.cpp:1637 #, fuzzy msgid "*Main structure* containing human observation based information." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "" #: src/properties.cpp:1640 #, fuzzy msgid "*Main structure* containing machine observation based information." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1643 #, fuzzy msgid "Event ID" msgstr "Događaj" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1646 msgid "Parent Event ID" msgstr "" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" #: src/properties.cpp:1649 #, fuzzy msgid "Event Date" msgstr "Datum unosa" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1652 msgid "Event Earliest Date" msgstr "" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1655 #, fuzzy msgid "Event Latest Date" msgstr "Datum unosa" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1658 #, fuzzy msgid "Event Time" msgstr "Uvod" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "" #: src/properties.cpp:1670 #, fuzzy msgid "Month" msgstr "mjesec" #: src/properties.cpp:1671 #, fuzzy msgid "The ordinal month in which the Event occurred." msgstr "Datum kad licenca ističe." #: src/properties.cpp:1673 #, fuzzy msgid "Day" msgstr "Kašnjenje" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "" #: src/properties.cpp:1676 #, fuzzy msgid "Verbatim Event Date" msgstr "Datum unosa" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" #: src/properties.cpp:1679 msgid "Habitat" msgstr "" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" #: src/properties.cpp:1685 #, fuzzy msgid "Sampling Effort" msgstr "format uzorka" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "" #: src/properties.cpp:1688 #, fuzzy msgid "Sampling Size Value" msgstr "SMin Vrijednost Uzorka" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" #: src/properties.cpp:1691 msgid "Sampling Size Unit" msgstr "" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" #: src/properties.cpp:1694 #, fuzzy msgid "Field Number" msgstr "Datotečni broj" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" #: src/properties.cpp:1697 #, fuzzy msgid "Field Notes" msgstr "Licencor Bilješke" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "" #: src/properties.cpp:1701 #, fuzzy msgid "Comments or notes about the Event." msgstr "Informacije o komentaru." #: src/properties.cpp:1705 #, fuzzy msgid "Location Class" msgstr "Kod lokacije" #: src/properties.cpp:1706 #, fuzzy msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1709 #, fuzzy msgid "Location ID" msgstr "Lokacija" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" #: src/properties.cpp:1718 #, fuzzy msgid "Continent" msgstr "Neprekidno" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "" #: src/properties.cpp:1721 msgid "Water Body" msgstr "" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1724 msgid "Island Group" msgstr "" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1727 msgid "Island" msgstr "" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "" #: src/properties.cpp:1736 #, fuzzy msgid "State Province" msgstr "Fed.jedinica/provincija" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1739 #, fuzzy msgid "County" msgstr "Zemlja" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1742 #, fuzzy msgid "Municipality" msgstr "Kvalitet" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" #: src/properties.cpp:1745 #, fuzzy msgid "Locality" msgstr "Lokalno" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "" #: src/properties.cpp:1749 #, fuzzy msgid "The original textual description of the place." msgstr "textualni opis podataka objekta" #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1760 msgid "Verbatim Depth" msgstr "" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "" #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1766 msgid "Maximum Depth In Meters" msgstr "" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1775 #, fuzzy msgid "Location According To" msgstr "Kod lokacije" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" #: src/properties.cpp:1778 #, fuzzy msgid "Location Remarks" msgstr "Kod lokacije" #: src/properties.cpp:1779 #, fuzzy msgid "Comments or notes about the Location." msgstr "Informacija o arhivskoj lokaciji" #: src/properties.cpp:1781 #, fuzzy msgid "Verbatim Coordinates" msgstr "GPS koordinate" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1784 #, fuzzy msgid "Verbatim Latitude" msgstr "GPS Širina Odredišta" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1787 #, fuzzy msgid "Verbatim Longitude" msgstr "GPS geografska dužina Odredišta" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1796 #, fuzzy msgid "Decimal Latitude" msgstr "GPS Širina Odredišta" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" #: src/properties.cpp:1799 #, fuzzy msgid "Decimal Longitude" msgstr "GPS geografska dužina" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" #: src/properties.cpp:1802 msgid "Geodetic Datum" msgstr "" #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" #: src/properties.cpp:1808 #, fuzzy msgid "Coordinate Precision" msgstr "GPS koordinate" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "" #: src/properties.cpp:1812 #, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "" #: src/properties.cpp:1821 #, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" #: src/properties.cpp:1823 #, fuzzy msgid "Georeferenced By" msgstr "Poslovna Referenca" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" #: src/properties.cpp:1826 #, fuzzy msgid "Georeferenced Date" msgstr "Datum reference" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" #: src/properties.cpp:1832 #, fuzzy msgid "Georeference Sources" msgstr "Referentne usluge" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1838 #, fuzzy msgid "Georeference Remarks" msgstr "Broj reference" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" #: src/properties.cpp:1843 msgid "Geological Context" msgstr "" #: src/properties.cpp:1844 #, fuzzy msgid "*Main structure* containing geological context based information." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" #: src/properties.cpp:1889 msgid "Group" msgstr "" #: src/properties.cpp:1890 #, fuzzy msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "Ime dokumenta iz kojeg je ova slika skenirana" #: src/properties.cpp:1892 #, fuzzy msgid "Formation" msgstr "Format" #: src/properties.cpp:1893 #, fuzzy msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "Ime dokumenta iz kojeg je ova slika skenirana" #: src/properties.cpp:1895 #, fuzzy msgid "Member" msgstr "Amber" #: src/properties.cpp:1896 #, fuzzy msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "Ime dokumenta iz kojeg je ova slika skenirana" #: src/properties.cpp:1898 #, fuzzy msgid "Bed" msgstr "Crvena" #: src/properties.cpp:1899 #, fuzzy msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "Ime dokumenta iz kojeg je ova slika skenirana" #: src/properties.cpp:1903 #, fuzzy msgid "Identification" msgstr "Fiktivna Identifikacija" #: src/properties.cpp:1904 #, fuzzy msgid "*Main structure* containing identification based information." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1907 #, fuzzy msgid "Identification ID" msgstr "Fiktivna Identifikacija" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1910 #, fuzzy msgid "Identified By" msgstr "Identifikator" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" #: src/properties.cpp:1913 #, fuzzy msgid "Date Identified" msgstr "Identifikator" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" #: src/properties.cpp:1916 #, fuzzy msgid "Identification References" msgstr "GPS Referenca Smjera Slike" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" #: src/properties.cpp:1922 #, fuzzy msgid "Identification Remarks" msgstr "Fiktivna Identifikacija" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "" #: src/properties.cpp:1925 #, fuzzy msgid "Identification Qualifier" msgstr "Fiktivna Identifikacija" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" #: src/properties.cpp:1928 #, fuzzy msgid "Type Status" msgstr "Status" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" #: src/properties.cpp:1933 msgid "Taxon" msgstr "" #: src/properties.cpp:1934 #, fuzzy msgid "*Main structure* containing taxonomic based information." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" #: src/properties.cpp:1949 #, fuzzy msgid "Original Name Usage ID" msgstr "Orginalni naziv Raw Fajla" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" #: src/properties.cpp:1961 #, fuzzy msgid "Scientific Name" msgstr "Ime dokumenta" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" #: src/properties.cpp:1967 #, fuzzy msgid "Parent Name Usage" msgstr "Tablica Imena" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" #: src/properties.cpp:1970 #, fuzzy msgid "Original Name Usage" msgstr "Orginalni naziv Raw Fajla" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" #: src/properties.cpp:1973 #, fuzzy msgid "Name According To" msgstr "Snimajuci Offset" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" #: src/properties.cpp:1976 #, fuzzy msgid "Name Published In" msgstr "Izdavač" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "" #: src/properties.cpp:1980 #, fuzzy msgid "The four-digit year in which the scientificName was published." msgstr "Datum na koji je slika prvi put publikovana." #: src/properties.cpp:1982 #, fuzzy msgid "Higher Classification" msgstr "Sigurnosna Klasifikacija" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" #: src/properties.cpp:1985 msgid "Kingdom" msgstr "" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "" #: src/properties.cpp:1988 msgid "Phylum" msgstr "" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" #: src/properties.cpp:1991 msgid "Class" msgstr "" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "" #: src/properties.cpp:1994 #, fuzzy msgid "Order" msgstr "Redoslijed ispunjavanja" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "" #: src/properties.cpp:1997 msgid "Family" msgstr "" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "" #: src/properties.cpp:2000 msgid "Genus" msgstr "" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "" #: src/properties.cpp:2003 msgid "Subgenus" msgstr "" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "" #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" #: src/properties.cpp:2021 msgid "Vernacular Name" msgstr "" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "" #: src/properties.cpp:2024 #, fuzzy msgid "Nomenclatural Code" msgstr "Prirodna boja" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "" #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "" #: src/properties.cpp:2039 #, fuzzy msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" #: src/properties.cpp:2045 #, fuzzy msgid "Resource ID" msgstr "Izvor datoteke" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "" #: src/properties.cpp:2048 #, fuzzy msgid "Related Resource ID" msgstr "Blok Resursa Slika" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" #: src/properties.cpp:2051 #, fuzzy msgid "Relationship Of Resource" msgstr "izvor bljeska" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "" #: src/properties.cpp:2065 #, fuzzy msgid "Measurement Or Fact" msgstr "Mjerenje Interoperabilnosti" #: src/properties.cpp:2066 #, fuzzy msgid "*Main structure* containing measurement based information." msgstr "Glavna struktura koja sadrži regionalne informacije" #: src/properties.cpp:2069 #, fuzzy msgid "Measurement ID" msgstr "Mjerenje u toku" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:2072 #, fuzzy msgid "Measurement Type" msgstr "Mjerenje u toku" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2075 #, fuzzy msgid "Measurement Value" msgstr "Vrijednosti mjerenja šuma." #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2078 #, fuzzy msgid "Measurement Accuracy" msgstr "Mjerenje Interoperabilnosti" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "" #: src/properties.cpp:2081 #, fuzzy msgid "Measurement Unit" msgstr "Mjerenje Interoperabilnosti" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" #: src/properties.cpp:2084 #, fuzzy msgid "Measurement Determined Date" msgstr "Mjerenje Interoperabilnosti" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2087 #, fuzzy msgid "Measurement Determined By" msgstr "Mjerenje Interoperabilnosti" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" #: src/properties.cpp:2090 #, fuzzy msgid "Measurement Method" msgstr "GPS Modalitet Mjerenja" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2093 #, fuzzy msgid "Measurement Remarks" msgstr "Mjerenje u toku" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "" #: src/properties.cpp:2101 #, fuzzy msgid "A brief description of the file" msgstr "textualni opis podataka objekta" #: src/properties.cpp:2102 #, fuzzy msgid "Date Time" msgstr "Datum i vrijeme" #: src/properties.cpp:2103 #, fuzzy msgid "The name of the author or photographer" msgstr "Ime snimka ili uzeti." #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "" #: src/properties.cpp:2105 msgid "Notes" msgstr "" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "" #: src/properties.cpp:2106 msgid "Tagged" msgstr "" #: src/properties.cpp:2106 msgid "True or False" msgstr "" #: src/properties.cpp:2107 #, fuzzy msgid "Categories" msgstr "Kategorija" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "" #: src/sigmamn.cpp:62 msgid "Resolution Mode" msgstr "Režim rezolucije" #: src/sigmamn.cpp:63 msgid "Resolution mode" msgstr "Režim rezolucije" #: src/sigmamn.cpp:65 msgid "Autofocus Mode" msgstr "Režim Autofokusa" #: src/sigmamn.cpp:66 msgid "Autofocus mode" msgstr "Režim Autofokus" #: src/sigmamn.cpp:68 msgid "Focus Setting" msgstr "Podešavanje fokusa" #: src/sigmamn.cpp:69 msgid "Focus setting" msgstr "Podešavanje fokusa" #: src/sigmamn.cpp:80 msgid "Lens Range" msgstr "Rang Leće" #: src/sigmamn.cpp:81 msgid "Lens focal length range" msgstr "Opseg žižne daljine sočiva" #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 msgid "Shadow" msgstr "Sijenka" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 msgid "Highlight" msgstr "Istaknuto" #: src/sigmamn.cpp:104 msgid "Fill Light" msgstr "Popuni svjetlo" #: src/sigmamn.cpp:105 msgid "X3 Fill light" msgstr "x3 Popuni svjetlo" #: src/sigmamn.cpp:107 msgid "Color Adjustment" msgstr "Podešavanje boja" #: src/sigmamn.cpp:108 msgid "Color adjustment" msgstr "Podešavanje boja" #: src/sigmamn.cpp:110 msgid "Adjustment Mode" msgstr "Režim podešavanja" #: src/sigmamn.cpp:111 msgid "Adjustment mode" msgstr "Režim podešavanja" #: src/sigmamn.cpp:122 msgid "Auto Bracket" msgstr "Auto braket" #: src/sigmamn.cpp:123 src/tags.cpp:1497 msgid "Auto bracket" msgstr "Automatska potpora" #: src/sigmamn.cpp:127 msgid "Unknown SigmaMakerNote tag" msgstr "Nepoznata SigmaMakerNote oznaka" #: src/sigmamn.cpp:170 msgid "8-Segment" msgstr "8-Segment" #: src/sonymn.cpp:131 msgid "Advanced Lv1" msgstr "Napredno Lv1" #: src/sonymn.cpp:132 msgid "Advanced Lv2" msgstr "Napredno Lv2" #: src/sonymn.cpp:133 msgid "Advanced Lv3" msgstr "Napredno Lv3" #: src/sonymn.cpp:134 msgid "Advanced Lv4" msgstr "Napredno Lv4" #: src/sonymn.cpp:135 msgid "Advanced Lv5" msgstr "Napredno Lv5" #: src/sonymn.cpp:154 msgid "Night Scene / Twilight" msgstr "Noćna scena / Sumrak" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "Zatvarač velike Brzine" #: src/sonymn.cpp:156 msgid "Twilight Portrait" msgstr "Portret sumraka" #: src/sonymn.cpp:157 #, fuzzy msgid "Soft Snap / Portrait" msgstr "Auto portret" #: src/sonymn.cpp:159 msgid "Smile Shutter" msgstr "Zatvarač s osmjehom" #: src/sonymn.cpp:161 msgid "High Sensitivity" msgstr "Visoka Osjetljivost" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "Napredna snimanja sportova" #: src/sonymn.cpp:166 #, fuzzy msgid "Sweep Panorama" msgstr "Panorama" #: src/sonymn.cpp:168 msgid "Anti Motion Blur" msgstr "Anti zamagljenost pokreta" #: src/sonymn.cpp:170 msgid "Backlight Correction HDR" msgstr "Ispravka pozadinskog svjetla HDR" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "" #: src/sonymn.cpp:172 #, fuzzy msgid "Background Defocus" msgstr "makro fokus" #: src/sonymn.cpp:173 #, fuzzy msgid "Soft Skin" msgstr "nježna koža" #: src/sonymn.cpp:174 #, fuzzy msgid "3D Image" msgstr "ID slika" #: src/sonymn.cpp:189 msgid "On (Continuous)" msgstr "Uključeno (Neprestano)" #: src/sonymn.cpp:190 msgid "On (Shooting)" msgstr "Uključeno (Snimanje)" #: src/sonymn.cpp:198 msgid "Plus" msgstr "Plus" #: src/sonymn.cpp:214 msgid "White Flourescent" msgstr "Bijela Flourescentna" #: src/sonymn.cpp:215 msgid "Cool White Flourescent" msgstr "Popularna Bijela Flourescentna" #: src/sonymn.cpp:216 msgid "Day White Flourescent" msgstr "Dnevna Bijela Flourescentna" #: src/sonymn.cpp:217 #, fuzzy msgid "Incandescent2" msgstr "Užareno" #: src/sonymn.cpp:218 #, fuzzy msgid "Warm White Fluorescent" msgstr "Bijela fluorescentna svjetlost" #: src/sonymn.cpp:221 msgid "Underwater 1 (Blue Water)" msgstr "Podvodni 1 (Plava Voda)" #: src/sonymn.cpp:222 msgid "Underwater 2 (Green Water)" msgstr "Podvodni 2(Zelena Voda)" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "Stalni - AF" #: src/sonymn.cpp:237 msgid "Center AF" msgstr "Centar AF" #: src/sonymn.cpp:238 msgid "Spot AF" msgstr "Tačka AF" #: src/sonymn.cpp:239 msgid "Flexible Spot AF" msgstr "Fleksibilna Tačka AF" #: src/sonymn.cpp:240 msgid "Touch AF" msgstr "Dodir AF" #: src/sonymn.cpp:241 msgid "Manual Focus" msgstr "Ručna žiža" #: src/sonymn.cpp:242 msgid "Face Detected" msgstr "Lice Detektirano" #: src/sonymn.cpp:257 msgid "Close Focus" msgstr "Zatvori Fokus" #: src/sonymn.cpp:347 src/sonymn.cpp:348 msgid "Multi Burst Mode" msgstr "Nacin visestrukog blica" #: src/sonymn.cpp:350 src/sonymn.cpp:351 msgid "Multi Burst Image Width" msgstr "Širina slike u višestrukom burst režimu" #: src/sonymn.cpp:353 src/sonymn.cpp:354 msgid "Multi Burst Image Height" msgstr "Visina slike u višestrukom burst režimu" #: src/sonymn.cpp:364 msgid "JPEG preview image" msgstr "JPEG prikaz slike" #: src/sonymn.cpp:390 msgid "Auto HDR" msgstr "Automatski HDR" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "Opseg visoke definicije" #: src/sonymn.cpp:395 msgid "Shot Information" msgstr "Informacija o snimku" #: src/sonymn.cpp:400 src/sonymn.cpp:401 msgid "Sony Model ID" msgstr "Sony Model ID" #: src/sonymn.cpp:403 src/sonymn.cpp:404 msgid "Color Reproduction" msgstr "Reprodukcija Boje" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 msgid "Dynamic Range Optimizer" msgstr "Dinamički optimizator opsega" #: src/sonymn.cpp:427 src/sonymn.cpp:428 msgid "Minolta MakerNote" msgstr "Minolta MakerNote" #: src/sonymn.cpp:433 src/sonymn.cpp:434 msgid "Full Image Size" msgstr "Puna Veličina Slike" #: src/sonymn.cpp:436 msgid "Preview Image Size" msgstr "Prikaz Veličine Slike" #: src/sonymn.cpp:437 msgid "Preview image size" msgstr "Prikaz veličine slike" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 msgid "AF Illuminator" msgstr "AF Iluminator" #: src/sonymn.cpp:454 src/sonymn.cpp:455 msgid "JPEG Quality" msgstr "JPEG kvalitet" #: src/sonymn.cpp:460 src/sonymn.cpp:461 msgid "Release Mode" msgstr "Režim Izdavanja" #: src/sonymn.cpp:464 #, fuzzy msgid "Shot number in continuous burst mode" msgstr "Broj slike u kontinualnom burst režimu" #: src/sonymn.cpp:466 src/sonymn.cpp:467 msgid "Anti-Blur" msgstr "Anti - Zamagljenost" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 msgid "Long Exposure Noise Reduction" msgstr "Redukcija šuma duge ekspozicije" #: src/sonymn.cpp:475 src/sonymn.cpp:476 msgid "Intelligent Auto" msgstr "Inteligentni automatski režim" #: src/sonymn.cpp:483 msgid "Unknown Sony1MakerNote tag" msgstr "Nepoznata Sony1MakerNote oznaka" #: src/sonymn.cpp:497 msgid "Continuous High" msgstr "Neprestano visoko" #: src/sonymn.cpp:501 msgid "Continuous Low" msgstr "Neprestano nisko" #: src/sonymn.cpp:503 src/sonymn.cpp:504 msgid "D-Range Optimizer Bracketing Low" msgstr "Niski optimizator D opsega uokviravanja" #: src/sonymn.cpp:536 msgid "Autumn" msgstr "Jesen" #: src/sonymn.cpp:542 msgid "ADI" msgstr "ADI" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "StyleBox1" #: src/sonymn.cpp:578 msgid "Auto No Flash" msgstr "Automatski bez bljeska" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 msgid "Dynamic Range Optimizer Level" msgstr "Nivo optimizatora dinamičkog opsega" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 msgid "Creative Style" msgstr "Kreativni Stil" #: src/sonymn.cpp:648 src/sonymn.cpp:649 msgid "Zone Matching Value" msgstr "Zona Podudaranja Vrijednosti" #: src/sonymn.cpp:666 src/sonymn.cpp:667 msgid "AF With Shutter" msgstr "AF sa okidačem" #: src/sonymn.cpp:674 src/sonymn.cpp:675 msgid "High ISO NoiseReduction" msgstr "Visoka ISO redukcija šuma" #: src/sonymn.cpp:678 src/sonymn.cpp:679 msgid "Image Style" msgstr "Stil Slike" #: src/sonymn.cpp:704 msgid "Unknown Sony1 Camera Settings tag" msgstr "Nepoznata Sony1 Fotoaparat Postavke oznaka" #: src/sonymn.cpp:768 msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "Nepoznata Sony1 Fotoaparat Postavke 2 oznaka" #: src/tags.cpp:188 msgid "Unknown section" msgstr "Nepoznati odjeljak" #: src/tags.cpp:189 msgid "Image data structure" msgstr "Struktura slikovnog podatka" #: src/tags.cpp:190 msgid "Recording offset" msgstr "Snimajuci Offset" #: src/tags.cpp:191 msgid "Image data characteristics" msgstr "Karakteristike slikovnog podatka" #: src/tags.cpp:192 msgid "Other data" msgstr "Ostali podaci" #: src/tags.cpp:193 msgid "Exif data structure" msgstr "Exif struktura podataka" #: src/tags.cpp:195 msgid "Image configuration" msgstr "Konfiguracija slike" #: src/tags.cpp:196 msgid "User information" msgstr "Informacije o korisniku" #: src/tags.cpp:197 msgid "Related file" msgstr "Povezana datoteka" #: src/tags.cpp:198 msgid "Date and time" msgstr "Datum i vrijeme" #: src/tags.cpp:199 msgid "Picture taking conditions" msgstr "Uvjeti snimanja slike" #: src/tags.cpp:200 msgid "GPS information" msgstr "GPS informacije" #: src/tags.cpp:201 msgid "Interoperability information" msgstr "Interoperabilne informacije" #: src/tags.cpp:202 msgid "Vendor specific information" msgstr "Specifične informacije prodavatelja" #: src/tags.cpp:203 msgid "Adobe DNG tags" msgstr "Adobe DNG oznake" #: src/tags.cpp:204 msgid "Panasonic RAW tags" msgstr "Panasonic RAW oznake" #: src/tags.cpp:205 msgid "TIFF/EP tags" msgstr "TIFF/EP oznake" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "TIFF PageMaker 6.0 oznake" #: src/tags.cpp:207 msgid "Adobe OPI tags" msgstr "Adobe OPI oznake" #: src/tags.cpp:208 msgid "Last section" msgstr "Zadnji odjeljak" #: src/tags.cpp:224 msgid "Primary image" msgstr "Primarna slika" #: src/tags.cpp:225 msgid "Thumbnail/Preview image" msgstr "Minijatura/ Prikaz slike" #: src/tags.cpp:226 msgid "Primary image, Multi page file" msgstr "Izvorna slika, višestranična datoteka" #: src/tags.cpp:227 msgid "Thumbnail/Preview image, Multi page file" msgstr "Smanjeni pregled / Prikaz fotografije, Visestranicna datoteka" #: src/tags.cpp:228 msgid "Primary image, Transparency mask" msgstr "Primarna slika, Transparentna maska" #: src/tags.cpp:229 msgid "Thumbnail/Preview image, Transparency mask" msgstr "Minijatura/ Prikaz slike, Transparentna maska" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "Primarna slika, Visestranicna datoteka, transparentna maska" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "" "Smanjeni pregled / Prikaz fotografije, Visestranicna datoteka, transparentna " "maska" #: src/tags.cpp:237 msgid "Full-resolution image data" msgstr "Slikovni podatak pune rezolucije" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "Smanjena-rezolucija slikovnog podatka" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "Jedna strana visestranicne slike." #: src/tags.cpp:245 msgid "inch" msgstr "inč" #: src/tags.cpp:252 msgid "CCITT RLE" msgstr "CCITT RLE" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "T4/Group 3 Fax" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "T6/Group 4 Fax" #: src/tags.cpp:255 msgid "LZW" msgstr "LZW" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "JPEG (stari stil)" #: src/tags.cpp:257 msgid "JPEG" msgstr "JPEG" #: src/tags.cpp:258 msgid "Adobe Deflate" msgstr "Adobe Deflate" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "JBIG B&W" #: src/tags.cpp:260 msgid "JBIG Color" msgstr "JBIG Color" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "Naredna 2-bita RLE" #: src/tags.cpp:262 msgid "Epson ERF Compressed" msgstr "Epson ERF kompresovan" #: src/tags.cpp:263 msgid "Samsung SRW Compressed" msgstr "Samsung SRW kompresovan" #: src/tags.cpp:264 msgid "CCITT RLE 1-word" msgstr "CCITT RLE 1-riječ" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "PackBits (Macintosh RLE)" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "Thunderscan RLE" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "IT8 CT Punjenje" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "IT8 Linework RLE" #: src/tags.cpp:269 msgid "IT8 Monochrome Picture" msgstr "IT8 Monohromatska Slika" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "IT8 Binarno Linearno" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "Pixar Film (10-bit LZW)" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "Pixar Log (11-bit ZIP)" #: src/tags.cpp:273 msgid "Pixar Deflate" msgstr "Pixar Deflate" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "Kodak DCS kodiranje" #: src/tags.cpp:275 msgid "ISO JBIG" msgstr "ISO JBIG" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "SGI logaritamska osvjetljenost za RLE kompresiju" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "SGI Log 24-upakovani biti" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "Leadtools JPEG 2000" #: src/tags.cpp:279 msgid "Nikon NEF Compressed" msgstr "Nikon NEF kompresovano" #: src/tags.cpp:280 msgid "Kodak DCR Compressed" msgstr "Kodak DCR kompresovano" #: src/tags.cpp:281 msgid "Pentax PEF Compressed" msgstr "Pentax PEF kompresovano" #: src/tags.cpp:286 msgid "White Is Zero" msgstr "Bijelo je nula" #: src/tags.cpp:287 msgid "Black Is Zero" msgstr "Crno je nula" #: src/tags.cpp:288 msgid "RGB" msgstr "RGB" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "RGB Paleta" #: src/tags.cpp:290 msgid "Transparency Mask" msgstr "Maska prozirnosti" #: src/tags.cpp:291 src/tags.cpp:330 msgid "CMYK" msgstr "CMYK" #: src/tags.cpp:292 msgid "YCbCr" msgstr "YCbCr" #: src/tags.cpp:293 msgid "CIELab" msgstr "CIELab" #: src/tags.cpp:294 msgid "ICCLab" msgstr "ICCLab" #: src/tags.cpp:295 msgid "ITULab" msgstr "ITULab" #: src/tags.cpp:296 msgid "Color Filter Array" msgstr "Niz Filtera Boja" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "Pixar LogL" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "Pixar LogLuv" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "Linearni Raw" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "Bez podrhtavanja ili polutoniranja" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "Tehnika uređenog tačkanja ili polutonova" #: src/tags.cpp:306 msgid "Randomized process" msgstr "Randomizirani proces" #: src/tags.cpp:311 msgid "top, left" msgstr "gore, lijevo" #: src/tags.cpp:312 msgid "top, right" msgstr "gore, desno" #: src/tags.cpp:313 msgid "bottom, right" msgstr "dolje, desno" #: src/tags.cpp:314 msgid "bottom, left" msgstr "dolje, lijevo" #: src/tags.cpp:315 msgid "left, top" msgstr "lijevo, gore" #: src/tags.cpp:316 msgid "right, top" msgstr "desno, gore" #: src/tags.cpp:317 msgid "right, bottom" msgstr "desno, dno" #: src/tags.cpp:318 src/tags.cpp:319 msgid "left, bottom" msgstr "lijevo, dno" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "Bez korištene šeme predviđanja" #: src/tags.cpp:325 msgid "Horizontal differencing" msgstr "Horizontalno diferenciranje" #: src/tags.cpp:331 msgid "not CMYK" msgstr "nije CMYK" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "Neredznačeni cjelobrojni podaci" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "Predznačeni cjelobrojni podaci u komplementu dvojke" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "IEEE podatak s pokretnim zarezom" #: src/tags.cpp:339 src/tags.cpp:340 msgid "Undefined data format" msgstr "Nedefinirani format podatka" #: src/tags.cpp:345 msgid "Not indexed" msgstr "Neindeksirano" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "Indeksirano" #: src/tags.cpp:351 msgid "A" msgstr "A" #: src/tags.cpp:352 msgid "B" msgstr "B" #: src/tags.cpp:353 msgid "C" msgstr "C" #: src/tags.cpp:354 msgid "A+B-C" msgstr "A+B-C" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "A+((B-C)/2)" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "B+((A-C)/2)" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "(A+B)/2" #: src/tags.cpp:362 msgid "Centered" msgstr "Centrirano" #: src/tags.cpp:363 msgid "Co-sited" msgstr "Co-sited" #: src/tags.cpp:368 msgid "No flash" msgstr "Bez blica" #: src/tags.cpp:370 msgid "Fired, return light not detected" msgstr "Aktivirano, povratno svjetlo nije prepoznato" #: src/tags.cpp:371 msgid "Fired, return light detected" msgstr "Aktivirano, povratno svjetlo je prepoznato" #: src/tags.cpp:372 msgid "Yes, did not fire" msgstr "Da, ne okida" #: src/tags.cpp:373 msgid "Yes, compulsory" msgstr "Da, obavezno" #: src/tags.cpp:374 msgid "Yes, compulsory, return light not detected" msgstr "Da,obavezno, povratna svjetlost nije detektirana" #: src/tags.cpp:375 msgid "Yes, compulsory, return light detected" msgstr "Da, obavezno, povratna svjetlost je detektirana" #: src/tags.cpp:376 msgid "No, compulsory" msgstr "Ne, obavezno" #: src/tags.cpp:377 msgid "No, did not fire, return light not detected" msgstr "Aktivirano, povratno svjetlo ni je prepoznato" #: src/tags.cpp:378 msgid "No, auto" msgstr "Ne, automatski" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "Da, automatski" #: src/tags.cpp:380 msgid "Yes, auto, return light not detected" msgstr "Da, automatski, povratna svjetlost nije detektirana" #: src/tags.cpp:381 msgid "Yes, auto, return light detected" msgstr "Da, automatski, detektovano povratnok svjetlo" #: src/tags.cpp:382 msgid "No flash function" msgstr "Nema blic" #: src/tags.cpp:383 msgid "No, no flash function" msgstr "Ne, nema funkcije bljeska" #: src/tags.cpp:384 msgid "Yes, red-eye reduction" msgstr "Da, smanjenje efekta crvenih očiju" #: src/tags.cpp:385 msgid "Yes, red-eye reduction, return light not detected" msgstr "Da, smanjenje efekta crvenih očiju, povratna svijetlost nije otkrivena" #: src/tags.cpp:386 msgid "Yes, red-eye reduction, return light detected" msgstr "Da, smanjenje efekta crvenih očiju, povratna svijetlost je otkrivena" #: src/tags.cpp:387 msgid "Yes, compulsory, red-eye reduction" msgstr "Da, obavezno, smanjenje efekta crvenih očiju" #: src/tags.cpp:388 msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "" "Da, obavezno, smanjenje efekta crvenih očiju, povratna svijetlost nije " "otkrivena" #: src/tags.cpp:389 msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "" "Da, obavezno, smanjenje efekta crvenih očiju, povratna svijetlost je " "otkrivena" #: src/tags.cpp:390 msgid "No, red-eye reduction" msgstr "Ne, smanjenje efekta crvenih očiju" #: src/tags.cpp:391 msgid "No, auto, red-eye reduction" msgstr "Ne, automatski, smanjenje efekta crvenih očiju" #: src/tags.cpp:392 msgid "Yes, auto, red-eye reduction" msgstr "Da, automatski, smanjenje efekta crvenih očiju" #: src/tags.cpp:393 msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "" "Da, automatski, smanjenje efekta crvenih očiju, povratna svjetlost nije " "detektirana" #: src/tags.cpp:394 msgid "Yes, auto, red-eye reduction, return light detected" msgstr "" "Da, automatski, smanjenje efekta crvenih očiju, povratna svjetlost je " "detektirana" #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "Pravougli(ili kvadratni) tlocrt" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "Cik-cak raspored A: parni stupci su pomaknuti prema dolje za 1/2 reda" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "Cik-cak raspored B: parni stupovi su pomaknuti prema gore za 1/2 reda" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "" "Cik-cak raspored C: parni redovi su pomaknuti prema desno za 1/2 kolone" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "" "Cik-cak raspored D: parni redovi su pomaknuti prema lijevo za 1/2 kolone" #: src/tags.cpp:408 msgid "Processing Software" msgstr "Procesirajući Softver" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "Ime i verzija softera koristenog za kasniju obradu slike." #: src/tags.cpp:412 msgid "New Subfile Type" msgstr "Novi tip poddatoteke" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "Opšta naznaka vrste podataka koja se nalazi u ovoj poddatoteci." #: src/tags.cpp:415 msgid "Subfile Type" msgstr "Tip Poddatoteke" #: src/tags.cpp:416 msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "" "Opste indikacije o vrsti podatka sadrzanog u ovom podfolderu. Ovo polje je " "zastarjelo. Umjesto tog treba koristiti NoviPodfolderTip polje." #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Broj kolona u podacima slike, jednak broju piksela po redu. U JPEG sažetim " "podacima, JPEG etiketa se koristi umjesto ove etikete." #: src/tags.cpp:425 msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" "Broj redova podataka slike. U JPEG sažetim podacima, JPEG etiketa se koristi " "umjesto ove etikete." #: src/tags.cpp:428 msgid "Bits per Sample" msgstr "Bita po uzorku" #: src/tags.cpp:429 msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" "Broj bita po sastavnom djelu slike. U ovom stanardu svaki dio slike ima 8 " "bita, tako da je vrijednost etikete 8. Pogledajte . Kod " "JPEG sažimanja, JPEG obeliživač se koristi umjesto ove etikete." #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" "Šema sažimanja koja se koristi za podatke slike. Ako je glavna slika JPEG " "sažeta, oznaka nije neophodna i izostavljena je. Kada sličice za pregled " "koriste JPEG sažimanje, vrijednost etikete je 6." #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" "Sastav piksela. Kod JPEG sažetih podataka, JPEG obilježivač se koristi " "umjesto ove etikete." #: src/tags.cpp:444 #, fuzzy msgid "Thresholding" msgstr "Određivanje praga" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" "Za crne i bijele TIFF datoteke koje predstavljaju nijanse sive, korištena " "tehnika za konverziju iz sivih u crne i bijele piksele" #: src/tags.cpp:448 msgid "Cell Width" msgstr "Širina Ćelije" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" "Širina matrice za tačkanje ili polutonove korištene za datoteku tačkastih " "ili polutonova." #: src/tags.cpp:452 msgid "Cell Length" msgstr "Dužina Ćelije" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" "Širina matrice za tačkanje ili polutonove korištene za datoteku tačkastih " "ili polutonova." #: src/tags.cpp:456 msgid "Fill Order" msgstr "Redoslijed ispunjavanja" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "Logički poredak bita unutar bajta" #: src/tags.cpp:459 msgid "Document Name" msgstr "Ime dokumenta" #: src/tags.cpp:460 msgid "The name of the document from which this image was scanned" msgstr "Ime dokumenta iz kojeg je ova slika skenirana" #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" "String slova kojim se zadaje naslov slike. To može biti primjedba kao što je " "\"1988 izlet firme\" ili bilo šta. Ne mogu da se koriste slova od 2 bajta. " "Ako je potrebno da se oni koriste, kuca se u Exif Private etiketi " "." #: src/tags.cpp:470 msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" "Proizvođač opreme za slikanje. To je proizvođač DSC, skenera, video " "digitajzer ili druge opreme koja se koristi za stvaranje slika. Ako je polje " "prazno, smatra se da je nepoznato." #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" "Ime modela ili broj modela opreme. To je ime modela ili broj DSC, skenera, " "video digitajzer ili druge opreme koja se koristi za stvaranje slika. Ako je " "polje prazno, smatra se da je nepoznato." #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" "Za svaku traku, bajtska štampa te trake. Preporučljivo je da se unese " "vrijednost manja od 64 kilobajta. Kod JPEG sažetih podataka, oznaka nije " "neophodna i izostavljena je. Pogledajte i i " #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "Položaj slike u smislu redova i kolona." #: src/tags.cpp:491 msgid "Samples per Pixel" msgstr "Uzoraka po pikselu" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" "Broj sastavnih dijelova po pikselu. Pošto se standard odnosi na RGB i YCbCr " "slike, vrijednost etikete je 3. Kod JPEG sažetih podataka, JPEG obilježivač " "se koristi umjesto ove etikete." #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "Redova po traci" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" "Broj redova po traci. Broj redova u slici koja je izdeljena na trake. Kod " "JPEG sažetih podataka, oznaka nije neophodna i izostavljena je. Pogledajte i " " i " #: src/tags.cpp:502 msgid "Strip Byte Count" msgstr "Broj bajtova na traci" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" "Ukupan broj bajtova za svaku traku. Kod JPEG sažetih podataka, oznaka nije " "neophodna i izostavljena je." #: src/tags.cpp:506 msgid "X-Resolution" msgstr "X-Rezolucija" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" "Broj piksela po u pravcu. Ako je nepoznata " "rezolucija, 72 [dpi] je postavljeno." #: src/tags.cpp:510 msgid "Y-Resolution" msgstr "Y-Rezolucija" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" "Broj piksela po u pravcu. Postavlja se ista " "vrijednost kao u ." #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" "Naznačava da li će komponente tačaka biti zapisane u ravnom ili raštrkanom " "obliku. U JPEG kompresovanim datotekama biće korišćen JPEG marker umjesto " "ove oznake. Ako ovo polje ne postoji, koristi se TIFF vrijednosti 1 " "(raštrkano)." #: src/tags.cpp:520 msgid "Gray Response Unit" msgstr "Siva Jedinica Odgovora" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "Preciznost informacije sadržane u SivaOdgovorKrivulja." #: src/tags.cpp:523 msgid "Gray Response Curve" msgstr "Siva Odgovor Krivulja" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "Za podatke o nivou sivog, optička gustoća za svaki mogući piksel." #: src/tags.cpp:526 msgid "T4 Options" msgstr "T4 Opcije" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "T.4-opcije kodiranja" #: src/tags.cpp:529 msgid "T6 Options" msgstr "T6 Opcije" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "T.6-opcije kodiranja" #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" "Jedinica za mjerenje i . Ista jedinica se koristi " "za i . Ako je nepoznata rezolucija slike, " "postavlja se 2 (inča)." #: src/tags.cpp:537 #, fuzzy msgid "Page Number" msgstr "Broj slike" #: src/tags.cpp:538 #, fuzzy msgid "The page number of the page from which this image was scanned." msgstr "Ime dokumenta iz kojeg je ova slika skenirana" #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" "Funkcija prijenosa za sliku, opisana u tabularnom stilu. Obično ova oznaka " "niej neophodna, obzirom da je paleta boja označena pomoću ." #: src/tags.cpp:546 msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" "Ova etiketa pamti ime i verziju softvera ili firmvera foto-aparata ili " "ulaznog uređaja koji je napravio sliku. Oblik unosa nije preciziran, ali je " "preporučljivo da bude slično primjeru koji je prikazan dolje. Ako se polje " "ostavi prazno, smatra se da je nepoznato." #: src/tags.cpp:553 msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" "Vrijeme i datum kreiranja slike. U Exif standardu, je to vrijeme i datum kad " "je datoteka promjenjena." #: src/tags.cpp:557 msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" "Ova oznaka bilježi ime vlasnika kamere, fotografa ili kreatora slike. " "Detaljan format nije naveden, ali se preporučuje da se informacije napišu " "kao u primjeru ispod radi lakše interoperabilnosti. Kada je polje ostalo " "prazno, tretira se kao nepoznata. . npr) \"Vasnik kamere, Džon Smit, " "Fotograf, Majkl Braun, Tvorac slika, Ken Džejms\"" #: src/tags.cpp:564 msgid "Host Computer" msgstr "Domaćin Kompjuter" #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" "Ova oznaka sadrži informaciju o domaćinu kompjutera korištenu za generiranje " "slike." #: src/tags.cpp:568 msgid "Predictor" msgstr "Prediktor" #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" "Prediktor je matematički operator koji se primijeni na podatke slike prije " "šeme kodiranja." #: src/tags.cpp:573 msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" "Količina crno-bijelih nijansi bijelih dijelova slike. Obično ova oznaka nije " "neophodna, ozirom da je paleta boja naznačena sa ." #: src/tags.cpp:578 msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" "Količina tri osnovne boje u slici. Obično ova oznaka nije neophodna, obzirom " "da se paleta boja označava sa ." #: src/tags.cpp:582 msgid "Color Map" msgstr "Mapa boja" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" "Mapa boja za paletu boja slike. Ovo polje definiše Crveno-zeleno-plavu mapu " "boja (često naziva lookup tabela) za-paletu boja. U-slici s paletom boja, " "piksel vrednost se koristi za indeksiranje u RGB tabeli pronalaženja." #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "savjeti za polutonove" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" "Svrha poljai HalftoneHints je da se prenese u funkciji polutonova raspon " "sivih nivoa u okviru određene kolorimetrijske-slike koja bi trebalo da " "zadrži tonski detalj." #: src/tags.cpp:593 msgid "Tile Width" msgstr "Širina Pločice" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "Širina pločice u pikselima. Ovo je broj kolona u svakoj pločici." #: src/tags.cpp:596 msgid "Tile Length" msgstr "Dužina pločice" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "" "Dužina (visina) pločice u pikselima.Ovo je broj redova u svakoj pločici." #: src/tags.cpp:599 msgid "Tile Offsets" msgstr "Plocice pomaka" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" "Za svaku pločicu, bajt pozicija te pločice, kao kompresovana i sačuvan na " "disku. Pozicija je navedena u odnosu na početak TIFF datoteke. Imajte na umu " "da to podrazumijeva da svaka pločica ima položaj nezavisno od lokacija " "drugih pločica." #: src/tags.cpp:605 msgid "Tile Byte Counts" msgstr "Brojanje Bita Pločice" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" "Za svaku pločicu, broj (komprimiranih)bita u toj pločici. Pogledaj " "PločicaOffsets za opis kako su biti brojanja poredani." #: src/tags.cpp:609 msgid "SubIFD Offsets" msgstr "SubIFD pomaci" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "" "Određeno od strane Adobe korporacije za omogićavanje TIFF Trees u okviru " "TIFF datoteke." #: src/tags.cpp:612 msgid "Ink Set" msgstr "Postavi tintu" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "" "Set tinti koji se koristi u odvojenoj (PhotometricInterpretation = 5) slici." #: src/tags.cpp:615 msgid "Ink Names" msgstr "Imena Tinte" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "" "Ime svake tinte korištene u razdvojenoj(PhotometricInterpretation=5) slici." #: src/tags.cpp:618 msgid "Number Of Inks" msgstr "broj tinti" #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" "Broj tinti. Obicno jednak SemplesPerPixel, osim ako postoje dodatni uzorci." #: src/tags.cpp:621 msgid "Dot Range" msgstr "Tačkasti doseg" #: src/tags.cpp:622 #, fuzzy, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "Sastavne vrijednosti koje odgovaraju 0% dot i 100% dot." #: src/tags.cpp:624 msgid "Target Printer" msgstr "ciljani printer" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "Opis okruženja štampanja za koje je to razdvajanje namijenjeno." #: src/tags.cpp:627 msgid "Extra Samples" msgstr "Dodatni Uzorci" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" "Specificira da svaki piksel ima m dodatnih uzoraka čija interpretacija je " "definirana jednom vrijednošću navedenom u nastavku." #: src/tags.cpp:631 msgid "Sample Format" msgstr "format uzorka" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "" "Ovo polje specificira kako interpretiraju svaki uzorak podatka u pikselima." #: src/tags.cpp:634 msgid "SMin Sample Value" msgstr "SMin Vrijednost Uzorka" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "Ovo polje specificira najmanju vrijednost uzorka." #: src/tags.cpp:637 msgid "SMax Sample Value" msgstr "SMaks Vrijednost Uzorka" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "Ovo polje specificira najveću vrijednost uzorka." #: src/tags.cpp:640 msgid "Transfer Range" msgstr "Domet prijenosa" #: src/tags.cpp:641 msgid "Expands the range of the TransferFunction" msgstr "Prosiruje doseg TransferFunction" #: src/tags.cpp:643 msgid "Clip Path" msgstr "Isječak Puta" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" "TIFF ClipPath je namijenjen da kopira suštinu funkcionalnosti kreiranja " "PostScript staze." #: src/tags.cpp:647 msgid "X Clip Path Units" msgstr "X Isječak Puta Jedinice" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" "Broj jedinica koje proširuju sliku, u uvjetima cjelobrojnih ClipPath " "koordinata." #: src/tags.cpp:651 msgid "Y Clip Path Units" msgstr "Y Isječak Puta Jedinice" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "" "Broj jedinica koje povećavaju sliku, u uvjetima cjelobrojnih ClipPath " "koordinata." #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" "Indeksirane slike su slike u kojima su 'pikseli \"ne predstavljaju " "vrijednosti boja, već indeks (obično 8-bitni) u posebnoj tabeli boja, koja " "se zove ColorMap." #: src/tags.cpp:660 msgid "JPEG tables" msgstr "JPEG tabele" #: src/tags.cpp:661 #, fuzzy msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" "Ova opciona oznaka se može koristiti za kodiranje JPEG kvantizacijske i " "Hafmanove tabele za kasniju upotrebu u procesu JPEG dekompresije" #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "OPI Proxy" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" "OPIProxy daje informaciju da li ova slika u niskoj rezoluciji pokazuje na " "sliku visoke rezolucije (Adobe OPI)." #: src/tags.cpp:668 msgid "JPEG Process" msgstr "JPEG proces" #: src/tags.cpp:669 msgid "This field indicates the process used to produce the compressed data" msgstr "" "Ovo polje ukazuje na proces korišten za se proizvedu komprimirani podaci" #: src/tags.cpp:671 msgid "JPEG Interchange Format" msgstr "JPEG format" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" "Raspon prema startnom bajtu (SOI) JPEG kompresovanog umanjenog prikaza " "slike. Ovo se ne koristi kao primarni podatak JPEG slike." #: src/tags.cpp:675 msgid "JPEG Interchange Format Length" msgstr "Dužina u JPEG formatu" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" "Broj batova JPEG kompresovanog umanjenog prikaza slike. Ovo se ne koristi " "kao primarni podatak JPEG slike. JPEG umanjeni prikazi se ne dijele, ali su " "zapisani kao kontinualni JPEG tokovi bitova počev od SOI do EOI. Appn i COM " "markeri ne treba da se zapisuju. Kompresovani umanjeni prikazi slika moraju " "biti zapisani u ne više od 64 kilobajtova, uključujući i sve postale podatke " "koji se zapisuju u APP1." #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "JPEG Restart Interval" #: src/tags.cpp:684 msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "" "Ovo polje ukazuje na dužinu restart intervala korištenog u komprimiranim " "slikovnim podacima." #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "JPEG Lossless Predikatori" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" "Ovo polje pokazuje na listu lossless predikatora-selektirane vrijednosti, " "jednu po jednu komponentu." #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "JPEG Point Pretvorbe" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "" "Ovo polje pokazuje na listu vrijednosti point pretvorbi, jednu po jednu " "komponentu." #: src/tags.cpp:694 msgid "JPEG Q-Tables" msgstr "JPEG Q-Tabele" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" "Ovo polje pokazuje na listu pozicija kvantizacijske tabele, jedna po " "komponenti." #: src/tags.cpp:698 msgid "JPEG DC-Tables" msgstr "JPEG DC-Tabele" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" "Ovo polje pokazuje na listu pozicija DC Huffman tabele ili Huffman tabele " "bez gubitaka, jedna po komponenti." #: src/tags.cpp:702 msgid "JPEG AC-Tables" msgstr "JPEG AC-Tabele" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" "Ovo polje pokazuje na listu pozicija AC Huffman tabele, jedna po komponenti." #: src/tags.cpp:707 msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" "Koeficijenti matrice za transformaciju iz RGB u YCbCr. Nije naznačena " "podrazumijevana vrijednost u TIFF, ali se ovdje koristi vrijednost data u " "dodatku E dokumenta \"Color Space Guidelines\". Paleta boja se deklariše " "oznakom \"color space\", a podrazumijevana vrijednost daje optimalne " "karakteristike interoperabilnosti." #: src/tags.cpp:715 msgid "YCbCr Sub-Sampling" msgstr "YCbCr podsemplovanje" #: src/tags.cpp:716 msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Odnos uzoraka dijelova hromiranja u odnosu na jačinu osvjetljenja. Kod JPEG " "sažetih podataka, JPEG obilježivač se koristi umjesto ove etikete." #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" "Pozicija komponenti boja u relaciji sa komponentama osvjetljenja. Ovo polje " "je dizajnirano samo za JPEG kompresovane podatke ili nekompresovane YCbCr " "podatke. Podrazumevano za TIFF je 1 (centrirano), ali kada je Y:Cb:Cr = " "4:2:2 preporučljivo je u ovom standardu da 2 (co-sited) bude korišćeno za " "zapis podataka, kako bi se poboljšao kvalitet slike kada se gleda na TV " "sistemima. Kada ovo polje ne postoji, čitalac će koristiti podrazumevano za " "TIFF. U slučaju kada je Y:Cb:Cr = 4:2:0, preporučen je podrazumevano za TIFF " "(centrirano). Ako čitač nema podršku za obje vrste , " "trebalo bi da prati podrazumevano za TIFF bez obzira na vrijednost u ovom " "polju. Preporučljivo je da čitači butu sposobni i za centrirano i za co-" "sited pozicioniranje." #: src/tags.cpp:735 msgid "Reference Black/White" msgstr "Referentni nivo crno/bele" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" "Referentna vrijednost crnila i referentna vrijednost bjelila. Za TIFF se " "ništa ne podrazumijeva, ali sljedeće vrijednosti su date kao " "podrazumijevane. Paleta boja je deklarisana u informacionoj oznaci za paletu " "boja, a podrazumijevane vrijednosti su one koje daju optimalne " "karakteristike slike." #: src/tags.cpp:743 msgid "XML Packet" msgstr "XML paket" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "XMP MetaPodatak (Adobe technote 9-14-02)" #: src/tags.cpp:746 msgid "Windows Rating" msgstr "Windows Procjenjivanje" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "Procjenjivanje korišteno od strane Windows-a" #: src/tags.cpp:749 msgid "Windows Rating Percent" msgstr "Windows Postotak Procjenjivanja" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "" "Procjenjivanje oznaka korištena od strane Windows-a, vrijednost u postotcima" #: src/tags.cpp:752 msgid "Image ID" msgstr "ID slika" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" "ImageID je puna putanja originalne slike visoke rezolucije, ili bilo koje " "druge niske koja jedinstveno identifikuje originalnu sliku (Adobe OPI)." #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "CFA Ponovljene Dimenzije Uzorka" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" "Sadrži dvije vrijednosti koje predstavljaju minimum redova i kolina za " "defirniranje ponavljanog uzorka od filtera niza boje." #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" "Određuje niz filtera boja i (CFA) geometrijski uzorak senzora slika kada se " "senzor područja boja s jednim čipom koristi. Ne odnosi se na sve senzorske " "boje." #: src/tags.cpp:770 #, fuzzy msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" "Informacije o autorskim pravima. U ovom standardu oznaka se koristi da ukaže " "na fotografova i urednikova autorska prava. To je obavještenje o autorskim " "pravima lica ili organizacije koja traži prava nad slikom. Interoperabilnost " "autorskih izjava, uključujući datum i prava treba da budu napisani u ovom " "polju, na primjer \". Copyright, DŽon Smit, 19kk Sva prava zadržana.\". U " "ovom standardu polje bilježi i fotografa i urednika autorska prava, jedni na " "poseban deo izjave. Kada postoji jasna razlika između fotografovih i " "urednikovih autorskih prava, to treba da bude napisano u redoslijedu " "fotografovih zatim urednikovih autorskih pravima, odvojenih vrijednostima " "NULL (u ovom slučaju, jer je izjava takođe završava sa NULL, postoje dva " "koda NULL) . Kada je samo fotografovo autorsko pravo navedeno, ono se " "završava jednim NULL kodom. Kada je samo urednikovo autorsko pravo dato, " "fotografov autorski dio se sastoji od jednog razmaka praćenog NULL kodom, a " "zatim su navedena urednikova autorska prava. Kada je polje ostalo prazno, " "ono se tretira kao nepoznata." #: src/tags.cpp:789 msgid "Exposure time, given in seconds." msgstr "Vrijeme ekspozicije, dato u sekundama." #: src/tags.cpp:790 src/tags.cpp:1553 msgid "The F number." msgstr "F broj." #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "IPTC/NAA" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "Sadrži IPTC/NAA zapis" #: src/tags.cpp:794 msgid "Image Resources Block" msgstr "Blok Resursa Slika" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "Sadrži informacije ugrađene od Adobe Photoshop aplikacije" #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" "Pokazivač na Exif IFD. Interopeabilnosti radi, Exif IFD imaju istu strukturu " "kao kod IFD-a navedenog u TIFF-u, ali ne sadrži podatke slike kao u slučaju " "TIFF-a." #: src/tags.cpp:803 msgid "Inter Color Profile" msgstr "Inter Boja Profil" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" "Sadrži karakter ili profil prostora boja u InterColor Consortium (ICC) " "formatu" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" "Programska klasa koju aparat koristi da podesi osvjetljenje kada slika." #: src/tags.cpp:807 msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "Ukazuje na spektralnu osjetljivost za svaki kanal koji kamera koristi." #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" "Pokazivač na GPS Info IFD. Interoperabilna struktura GPS Info IFD-a kao kod " "Exif IFD ali ne sadrži podatke slike." #: src/tags.cpp:813 src/tags.cpp:1564 msgid "ISO Speed Ratings" msgstr "Stopa ISO brzine" #: src/tags.cpp:813 src/tags.cpp:1565 msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" "Označava ISO brzinu i ISO obim aparata ili ulaznog uređaja kao što je " "precizirano u ISO 12232." #: src/tags.cpp:814 msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" "Ukazuje na Opto-Električnu Konverzija Funkciju(OECF) specificiranu u ISO " "14524." #: src/tags.cpp:815 msgid "Interlace" msgstr "Isprepletenost" #: src/tags.cpp:815 msgid "Indicates the field number of multifield images." msgstr "Ukazuje na polje broja od višepoljnih slika." #: src/tags.cpp:816 msgid "Time Zone Offset" msgstr "Pomak vremenske zone" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" "Ova opcionalna oznaka kodira vremensku zonu sata kamere (u odnosu na vrijeme " "po Griniču) korištene za kreiranje DataTimeOriginal tag-vrednost kada je " "fotografija snimljena. To takođe može da sadrži i vremensku zonu korišćenu " "za kreiranje DateTime vrijednosti oznake kada je slika modifikovana." #: src/tags.cpp:823 msgid "Self Timer Mode" msgstr "Režim samomjerača" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "Broj sekundi snimanja slike zakašnjenja od pritiska na dugme." #: src/tags.cpp:824 msgid "Date Time Original" msgstr "Datum vrijeme originalno" #: src/tags.cpp:824 msgid "The date and time when the original image data was generated." msgstr "Datum i vrijeme kada je originalna slika generisana." #: src/tags.cpp:825 msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "" "Specifično za kompresovane podatke; navodi komprimirane bite po pikselu." #: src/tags.cpp:826 msgid "Shutter speed." msgstr "Brzina zatvarača" #: src/tags.cpp:827 msgid "The lens aperture." msgstr "objektiv" #: src/tags.cpp:828 msgid "The value of brightness." msgstr "Vrijednost osvjetljenja." #: src/tags.cpp:829 msgid "The exposure bias." msgstr "Izloženost prednaponu." #: src/tags.cpp:830 src/tags.cpp:1645 msgid "Max Aperture Value" msgstr "Najveći otvor blende" #: src/tags.cpp:830 msgid "The smallest F number of the lens." msgstr "Najmanji F broj leće." #: src/tags.cpp:831 src/tags.cpp:1651 msgid "The distance to the subject, given in meters." msgstr "Udaljenost subjekta u metrima." #: src/tags.cpp:832 src/tags.cpp:1654 msgid "The metering mode." msgstr "Mod za mjerenje." #: src/tags.cpp:833 src/tags.cpp:1657 msgid "The kind of light source." msgstr "Vrsta izvora" #: src/tags.cpp:834 msgid "Indicates the status of flash when the image was shot." msgstr "Ukazuje na status blica nakon što je slika uslikana." #: src/tags.cpp:835 msgid "The actual focal length of the lens, in mm." msgstr "Stvarna fokusna dužina leće, u mm." #: src/tags.cpp:836 msgid "Amount of flash energy (BCPS)." msgstr "Iznos blic energije(BCPS)." #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "SFR kamere." #: src/tags.cpp:838 msgid "Noise" msgstr "Šum" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "Vrijednosti mjerenja šuma." #: src/tags.cpp:839 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" "Broj piksela po FocalPlaneResolutionUnit (37392) u ŠirinaSlike smjeru za " "glavnu sliku." #: src/tags.cpp:840 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" "Broj piksela po FocalPlaneResolutionUnit (37392) u DužinaSlike smjeru za " "glavnu sliku." #: src/tags.cpp:841 msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" "Jedinica mjere za FocalPlaneXResolution(37390) i FocalPlaneYResolution" "(37391)." #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "Broj dodijeljen slici, npr. sekvenca slika u lancu." #: src/tags.cpp:843 msgid "Security Classification" msgstr "Sigurnosna Klasifikacija" #: src/tags.cpp:843 msgid "Security classification assigned to the image." msgstr "Sigurnosna klasifikacija dodjeljena slici." #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "Zapisnik o tome šta je urađeno na slici." #: src/tags.cpp:845 msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "Ukazuje na lokaciju i područje glavnog subjekta u ukupnoj sceni." #: src/tags.cpp:846 msgid "Encodes the camera exposure index setting when image was captured." msgstr "" "Kodira indeks ekspozicije fotoaparata postavljajući kad je slika snimljena." #: src/tags.cpp:847 msgid "TIFF/EP Standard ID" msgstr "TIFF/EP standardni ID" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" "Sadrži četiri ASCII znaka predstavljajući TIFF/EP standardnu verziju od TIFF/" "EP datoteke, primjer '1','0','0','0'" #: src/tags.cpp:851 msgid "Type of image sensor." msgstr "Tip senzora slike." #: src/tags.cpp:852 msgid "Windows Title" msgstr "Windows Naslov" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "Naslov oznaka korištena od strane WIndows-a, kodirana u UCS2" #: src/tags.cpp:855 msgid "Windows Comment" msgstr "Windows Komentar" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "Komentar oznaka korištena od strane Windows-a, kodirana u UCS2" #: src/tags.cpp:858 msgid "Windows Author" msgstr "Windows Autor" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "Autor oznaka korištena od strane Windows-a, kodirana u UCS2" #: src/tags.cpp:861 msgid "Windows Keywords" msgstr "Windows Ključne Riječi" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "Ključne riječi oznaka korištena od strane Windows-a, kodirana u UCS2" #: src/tags.cpp:864 msgid "Windows Subject" msgstr "Windows Subjekat" #: src/tags.cpp:865 msgid "Subject tag used by Windows, encoded in UCS2" msgstr "Subjekat oznaka korištena od strane Windows-a, kodirana u UCS2" #: src/tags.cpp:867 msgid "Print Image Matching" msgstr "Ispis Slike Podudaranje" #: src/tags.cpp:868 msgid "Print Image Matching, description needed." msgstr "Ispis Slike Podudaranje, potreban opis." #: src/tags.cpp:870 msgid "DNG version" msgstr "DNG verzija" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" "Ova oznaka kodira broj DNG verzije četvrtog reda . Za datoteke usklađen s " "verzijom 1.1.0.0 od DNG specifikacije, ova oznaka trebala bi sadržati bite: " "1,1,0,0." #: src/tags.cpp:875 msgid "DNG backward version" msgstr "DNG zastarjela verzija" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" "Ova oznaka navodi najstariju verziju Digital Negative specifikacije za koju " "je kompatibilna datoteka. Čitači ne trebaju pokušatj čitanje datoteke ako " "ta oznaka određuje broj verzije koja je viša od broja verzije specifikacije " "na kojoj je čitač temeljen. Osim provjere verzijska oznake, čitači trebaju, " "za sve oznake, provjeriti vrste, brojeve i vrijednosti, kako bi provjerili " "da je u stanju ispravno pročitati datoteku." #: src/tags.cpp:884 msgid "Unique Camera Model" msgstr "Jedinstveni model aparata" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" "Definiše jedinstveno, ne-lokalizovane ime modela aparata koji je stvorio " "sliku u RAW datoteci. Ovo ime bi trebalo da sadrži ime proizvođača da se " "izbjegavaju sukobi, a ne bi trebalo da bude lokalizovano, čak i ako je je " "naziv kamera samo lokalizovan naziv za različita tržišta (vidi " "LocalizedCameraModel). Ovaj string može da koristi softver za čitanje radi " "preferencija indeksa po modelu i zamjenskih profila." #: src/tags.cpp:892 msgid "Localized Camera Model" msgstr "Lokalizirani model kamere" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" "Slično polju UniqueCameraModel osim što se ime kamere može lokalizovati za " "razna tržišta da se usaglasi s imenom kamere za lokalizaciju." #: src/tags.cpp:897 msgid "CFA Plane Color" msgstr "CFA Oblast Boje" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" "Pruža mapiranje između vrijednosti u CFAPattern oznaci i običnih brojeva u " "LinearRaw prostoru. To je potrebna oznaka za slike koje nisu RGB CFA." #: src/tags.cpp:902 msgid "CFA Layout" msgstr "CFA Izgled" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "Opisuje specijalni izgled od CFA." #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" "Opisuje tabelu pronalaženja koja mapira uskladištene vrijednosti u linearne " "vrednosti. Ova oznaka se obično koristi da se poveća odnos kompresije " "pamćenjem sirovih podataka u nelinearan, više vizuelno uniforman prostor sa " "manjim brojem ukupnih nivoa kodiranja. Ako SamplesPerPixel nije jednak " "jedan, ova tabela se odnosi na sve uzorke za svaki piksel." #: src/tags.cpp:912 msgid "Black Level Repeat Dim" msgstr "Crni Nivo Ponavljanja Zamućenja" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "Određuje ponavljanje veličine uzorka za CrniNivo oznaku." #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" "Navodi nulto osvjetljenje (tzv. termičko crno ili crni tok) nivo kodiranja, " "kao ponavljajući uzorak. Porijeklo ovog obrasca je gornji lijevi ugao " "pravougaonika ActiveArea. Vrijednosti se čuvaju u redoslijedu skeniranja red-" "kolona-uzorak." #: src/tags.cpp:921 msgid "Black Level Delta H" msgstr "Crni Nivo Delta H" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" "Ako je nivo kodiranja nulto osvjetljenja funkcija kolone slike, " "BlackLevelDeltaH određuje razliku između nivoa kodiranja nultog osvjetljenja " "i osnovnog nivoa kodiranja nultog osvjetljenja. Ako SamplesPerPixel nije " "jednak jedan, jedna tabela se primjenjuje za sve uzorke datog piksela." #: src/tags.cpp:928 msgid "Black Level Delta V" msgstr "Crni Nivo Delta V" #: src/tags.cpp:929 #, fuzzy msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" "Ako je nivo kodiranja nulto osvjetljenja funkcija kolone slike, " "BlackLevelDeltaH određuje razliku između nivoa kodiranja nultog osvjetljenja " "i osnovnog nivoa kodiranja nultog osvjetljenja. Ako SamplesPerPixel nije " "jednak jedan, jedna tabela se primjenjuje za sve uzorke datog piksela." #: src/tags.cpp:935 msgid "White Level" msgstr "Bijeli nivo" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" #: src/tags.cpp:941 msgid "Default Scale" msgstr "Standardna skala" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "Podrazumijevano ishodište za odsjecanje" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" "Sirove slike često pohrane dodatne piksele oko rubova konačnoj slici. Ti " "dodatni pikseli sprečavaju interpolacijske negativne efekte u blizini rubova " "na konačnoj slici. DefaultCropOrigin određuje ishodište područja konačne " "slike u sirovim koordinatama slika (tj. prije nego je DefaultScale " "primijenjen), u odnosu na ActiveArea pravougaonik u gornjem lijevom uglu." #: src/tags.cpp:957 msgid "Default Crop Size" msgstr "Standardna veličina rezanja" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" "Sirove slike često pohrane dodatne piksele oko rubova konačnoj slici. Ti " "dodatni pikseli sprečavaju interpolacijske negativne efekte u blizini rubova " "na konačnoj slici. DefaultCropSize određuje veličinu područja konačne slike " "u sirovim koordinatama slika (tj. prije nego je DefaultScale primijenjen)." #: src/tags.cpp:964 msgid "Color Matrix 1" msgstr "Matrica boja 1" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" #: src/tags.cpp:971 msgid "Color Matrix 2" msgstr "Matrica boja 2" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" #: src/tags.cpp:977 msgid "Camera Calibration 1" msgstr "Kalibracija Kamere 1" #: src/tags.cpp:978 msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:987 msgid "Camera Calibration 2" msgstr "Kalibracija Kamere 2" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:997 msgid "Reduction Matrix 1" msgstr "Redukcijska Matrica 1" #: src/tags.cpp:998 msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1004 msgid "Reduction Matrix 2" msgstr "Redukcijska Matrica 2" #: src/tags.cpp:1005 msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1011 msgid "Analog Balance" msgstr "Analogni Balans" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" #: src/tags.cpp:1021 msgid "As Shot Neutral" msgstr "Kao neutralno slikanje" #: src/tags.cpp:1022 msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" #: src/tags.cpp:1027 msgid "As Shot White XY" msgstr "Kao bijelo XY slikanje" #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" #: src/tags.cpp:1032 msgid "Baseline Exposure" msgstr "Osnovi Izloženosti" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" "Modeli kamera se razlikuju u trade-offu , istaknutom headroomu i sumu sijena " "koje prave. Neki ostavljaju velike kolicine istaknutog headroom prilikom " "normalnog izlaganja. Ovo omogucava veliku negativnu kompenzaciju prilikom " "izlaganja da bude primjeljena tokom konverzije neobradjenih podataka, ali " "takodjer znaci da ce normalno izlaganje imati vise suma sjene. Drugi modeli " "pustaju manje headroom prilikom normalnog izlaganja. Ovo omogucava manje " "negativnu konpenzaciju prilikom izlaganja, ali daje kao rezultat manji sum " "sjene prilikom normalnog izlaganja. Zbog ovih razlika konverter neobradjenih " "podataka mora da mijenja svoju nultu tacku za kontrolu konpenzacije prilikom " "izlaganja od modela do modela. DeselineExposure odredjuje koliko (u eV) " "treba pomjeriti nultu tacku. Pozitivne vrijednosti rezultiraju svjetlijim " "zadanim vrijednostima, dok negativne vrijednosti rezultiraju tamnijim " "zadanim vrijednostima." #: src/tags.cpp:1047 msgid "Baseline Noise" msgstr "Osnovi Šuma" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" #: src/tags.cpp:1054 msgid "Baseline Sharpness" msgstr "Osnovi Izoštrenosti" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" #: src/tags.cpp:1061 msgid "Bayer Green Split" msgstr "Bayer Zelena Podjela" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" "Samo se primjenjuje na CFA slike koristeci bayer sablon za filtriranje " "vektora. Ova oznaka navodi, u arbitrarnim jedinicama, koliko usko su " "vrijednosti zelenih piksela u plavo / zelenim redovima pratiti vrijednosti " "zelenih piksela u crveno / zelenim redovima. Vrijednost nula znaci da su " "dvije vrste zelenih piksela usko povezani, a nenulta vrijednost oznacava " "razliku medju njima. Raspon koristenja za ovu oznaku je od 0 (nema razlike) " "do oko 5000(velika razlika)." #: src/tags.cpp:1070 msgid "Linear Response Limit" msgstr "Linearna granica odgovora" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" "Neki senzori imaju nepredvidljivu nelinearni odziv kada su blizu sve gornje " "granice radijusa dekodiranja. Ova nelinearnost uzrokuje pomjeranje boja u " "oznacenim prostorima rezultujuce slike, dok converter ne konpenzuje ovaj " "efekat. LinearResponseLimit oznacava dio radijusa dekodiranja iznad kojeg " "odziv postaje znacajno nelinearan." #: src/tags.cpp:1079 msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" "KameraSerijskiBroj posjeduje serijski broj kamere ili tijela kamere koja je " "snimila sliku." #: src/tags.cpp:1082 msgid "Lens Info" msgstr "Informacije o Leći" #: src/tags.cpp:1083 msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" "Sadrži informacije o objektivu kojim je uslikana slika. Ako je minimum f-" "zaustavi nepoznato, onda bi trebalo biti kodirano s 0/0." #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "Chroma Blur Prečnik" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" "ChromaBlurRadius daje prijedlog DNG citacu koliko chroma blura(zamucenja) " "treba biti primjenjeno na sliku. Ako je ova oznaka izostavljena, citac ce " "koristiti zadanu kolicinu chroma blura(zamucenja). Uobicajno ova oznaka se " "ukljucuje za ne-CFA slike, jer se kolicina chroma blura(zamucenja) potrebnog " "za mozaicne slike je zavisno od demozaicnog algoritma, u tom slucaju se " "zadana vrijednost DNG citaca optimizuje pomocu Demozaicnog algoritma." #: src/tags.cpp:1095 msgid "Anti Alias Strength" msgstr "Anti Alias Snaga" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" "Daje prijedlog DNG citacu o tome koliko je kamerin anti-aliasing filter jak. " "Vrijendost 0.0 znaci da nema anti-aliasing filtera(to znaci da je kamera " "sklona aliasingu sa nekim subjektima) dok vrijednost 1.0 znaci da kamera ima " "jak anti-aliasing filter(to znaci da kamera gotovo nikada ne proizvodi " "aliasing)" #: src/tags.cpp:1102 msgid "Shadow Scale" msgstr "Skala Sjene" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" "Ova oznaka je korištena od Adobe Camera Raw za kontrolu osjetljivosti od " "njegovog 'Shadows' klizača." #: src/tags.cpp:1106 msgid "DNG Private Data" msgstr "DNG Privatni Podaci" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" "Pruzna nacin da proizvodjaci kamera pohranjuju private podatke u DNG fajlu " "za upotrebu soibstvenih konvertera, i da imaju te podatke pripremljene za " "programe koji edituju DNG fajlove." #: src/tags.cpp:1111 msgid "MakerNote Safety" msgstr "Sigurnost IzrađivačaBilješki" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" "MakeNoteSafetly daje DNG citacu do znanja kada god je sigurno pripremiti " "oznaku EXIF MakerNote za ostale EXIF podatke. Fajl brovseri i drugi " "softveri za upravljanje slika, prilikom procesuiranja slike sa unaprijed " "ugradjenom MakerNote trebaju biti pripremljeni da svaka slicica ugradjena u " "MakerNote moze biti neazurirana, i moze da ne pokazuje pravo stanje slike u " "punoj velicini." #: src/tags.cpp:1119 msgid "Calibration Illuminant 1" msgstr "Kalibracija Osvjetljenost 1" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" "Osvjetljenost korištena za prvi set oznaka kalibracije boje(ColorMatrix1, " "CameraCalibration1, ReductionMatrix1). Legalne vrijednosti za ovu oznaku su " "iste kao i legalne vrijednosti za IzvorSvjetlosti EXIF oznaku." #: src/tags.cpp:1125 msgid "Calibration Illuminant 2" msgstr "Kalibracija Osvjetljenost 1" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" "Osvjetljenost korištena za opcionalni drugi set oznaka kalibracije " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). Legalne vrijednosti za " "ovu oznaku su iste kao i legalne vrijednosti za KalibracijaOsvjetljenosti1 " "oznaku; kako bilo, ako su obje uključene ,nijednoj nije dozvoljeno da ima " "vrijednost 0 (nepoznato)." #: src/tags.cpp:1132 msgid "Best Quality Scale" msgstr "Skala Najboljeg Kvaliteta" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" "Za neke kamere, najbolja moguća kvaliteta slike se ne postiže čuvajući " "ukupan broj piksela tokom pretvorbe. Na primjer, Fujifilm SuperCCD slike " "imaju maksimum detalja kada je njihov broj piksela uduplan. Ova oznaka " "specificira iznos za koji vrijednost PodrazumijevanaSkala oznake treba biti " "pomnožena da bi se postigla najbolja kvaliteta veličine slike." #: src/tags.cpp:1140 msgid "Raw Data Unique ID" msgstr "Jedinstveni identifikaotr sirovih podataka" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" "Ova oznaka sadrzi 16 bitni jedinstveni identfikator za sirove slikovne " "podatke u DNG fajlu. DNG citaci mogu koristiti ovu oznaku da prepoznaju " "djelimicno sirove slike, cak i ako je naziv slike u metadata sadrzajnom " "konteneru promjenjen. Ako DNG citac kreira takav identifikator, onda treba " "koristiti takav algoritam koji ce osigurati da bude malo vjerovatno da dvije " "razlicite slike zavrse sa istim identifikatorom." #: src/tags.cpp:1149 msgid "Original Raw File Name" msgstr "Orginalni naziv Raw Fajla" #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" "Ako je DNG datoteka konvertovana iz ne-DNS rijetke datoteke, onda ova oznaka " "sadrži ime od te originalne rijetke datoteke." #: src/tags.cpp:1153 msgid "Original Raw File Data" msgstr "Orginalni podaci Raw Fajla" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" "Ako je DNG fajl konvertovan iz neDNG fajla onda ova oznaka sadrzi " "kompresovan sadrzaj orginalnog neobradjenog fajla. Sadrzaj ove oznake uvijek " "koristi Big-endian bitski nacin soritranja. Ova oznaka sadrzi sekvence " "blokova podataka. Buduce verzije DBG specifikatora mogu definirati blokove " "podataka, tako da DNG citaci trebaju ignorirati dodatne bitove kod " "rasclanjivanja oznake. DNG citaci takodjer trebaju takodjer primjetiti kkada " "blokovi podataka nedostaju na kraju sekvence, i trebali bi preuzeti zadanu " "vrijednost svih blokova koji nedostaju. Ne postoje poravnavajuci ili puneci " "bitovi izmedju blokova podataka." #: src/tags.cpp:1164 msgid "Active Area" msgstr "Aktivno područje" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" "Ovaj četverougao definira aktivne (nemaskirane) piksele senzora.Redoslijed " "pravougaonih koordinata je: gore, lijevo, dole, desno." #: src/tags.cpp:1168 msgid "Masked Areas" msgstr "Maskirana Područja" #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" "Ova oznaka sadrzi listu ne preklopljenih pravouglih koordinata potpuno " "maskiranih piksela, koji pomocu DNG citaca mogu biti koristeni za " "odredjivanje razine crnog dekodiranja. Redoslijed svake pravougaone " "coordinate je : gore, lijevo,dole,desno. Ako je razina crnog dekodiranaj vec " "smanjena kod sirovih slikovnih podataka, onda ova oznaka ne bi trebala biti " "koristena, jer maskirani pikseli nisu vise korisni." #: src/tags.cpp:1176 msgid "As-Shot ICC Profile" msgstr "Kao-Shot ICC Profila" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" "Ova oznaka sadrzi ICC profil koji u kombinaciji sa AsShotPreProfileMatrix " "oznakom, omogucuje proizvodjacu kamere nacin da odredi zadano renderiranje " "boja iz korodinata u prostoru boja kamere (referentne linearne vrijednosti) " "unutar ICC prostora za konektovanje profila. ICC proctor za konektovanje " "prostora je izlaz povezan sakalorimetrijskim prostorom, dok su ostale oznake " "za kalibraciju boja u DNG-u odredjuju konverziju unutar scensko povezanog " "kalorimetrijskog prostora. Ovo znaci da renderovanje u ovom profile treba " "ukljucivati bilo koji zeljeni ton skalu mapiranja potrebnog za konverziju " "izmedju scenski povezanih vrijednosti i izlazno povezanih vrijendosti." #: src/tags.cpp:1188 msgid "As-Shot Pre-Profile Matrix" msgstr "Kao-Shot Pre-Profil Matrica" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" "Ova oznaka se koristi u kombinaciji sa AsShotICCProfile oznakom. Ona " "odredjuje matricu koja bi trebala biti dodana kordinatama boja kamere prije " "procesuiranja vrijednosti kroz ICC profil odredjen. AsShotICCProfile " "oznakom. Matrica je pohranjena u po pravilu skeniranja reda. Ako je " "ColorPlanes veci od tri, onda se dimenzije podataka o bojama matrice mogu" "(ali nije potrebno) smanjiti na tri, u tom slucaju AsShotICCProfile bi " "trebao imati tri umjesto ColorPlanes ulaznih komponenti." #: src/tags.cpp:1198 msgid "Current ICC Profile" msgstr "Trenutni ICC Profil" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" "Ova oznaka se koristi u kombinaciji sa CurrentPreProfileMatrix oznakom. " "Oznake CurrentICCProfile i CurrentPreProfileMatrix imaju istu svrhu i " "upotrebu kao par oznaka AsShotICCProfile i AsShotPreProfileMatrix, osim sto " "su za koristenje cistih file editor prije nego onih od proizvodjaca kamere." #: src/tags.cpp:1205 msgid "Current Pre-Profile Matrix" msgstr "Trenutna Pred-Profil Matrica" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" "Ova oznaka se koristi u kombinaciji sa CurrentPreProfileMatrix oznakom. " "Oznake CurrentICCProfile i CurrentPreProfileMatrix imaju istu svrhu i " "upotrebu kao par oznaka AsShotICCProfile i AsShotPreProfileMatrix, osim sto " "su za koristenje cistih file editor prije nego onih od proizvodjaca kamere." #: src/tags.cpp:1212 #, fuzzy msgid "Colorimetric Reference" msgstr "Referenca Projekta" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" #: src/tags.cpp:1220 #, fuzzy msgid "Camera Calibration Signature" msgstr "Kalibracija Kamere 1" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" #: src/tags.cpp:1227 #, fuzzy msgid "Profile Calibration Signature" msgstr "Kalibracija Osvjetljenost 1" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" #: src/tags.cpp:1234 #, fuzzy msgid "As Shot Profile Name" msgstr "Kao-Shot ICC Profila" #: src/tags.cpp:1235 #, fuzzy msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" "UTF-8 string koji sadrži ime aplikacije koja je kreirala predpregled sačuvan " "u IFDu." #: src/tags.cpp:1238 #, fuzzy msgid "Noise Reduction Applied" msgstr "Smanjenje šuma" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" #: src/tags.cpp:1246 #, fuzzy msgid "Profile Name" msgstr "Tablica Imena" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1279 #, fuzzy msgid "Profile Tone Curve" msgstr "Kriva nijanse" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" #: src/tags.cpp:1288 msgid "Profile Embed Policy" msgstr "" #: src/tags.cpp:1289 #, fuzzy msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" "Ova oznaka sadrži informaciju o domaćinu kompjutera korištenu za generiranje " "slike." #: src/tags.cpp:1292 #, fuzzy msgid "Profile Copyright" msgstr "Autorska prava" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" #: src/tags.cpp:1297 msgid "Forward Matrix 1" msgstr "Prednja matrica 1" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" #: src/tags.cpp:1301 msgid "Forward Matrix 2" msgstr "Forward Matrix 2" #: src/tags.cpp:1305 msgid "Preview Application Name" msgstr "Naziv aplikacije predpregleda" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" "UTF-8 string koji sadrži ime aplikacije koja je kreirala predpregled sačuvan " "u IFDu." #: src/tags.cpp:1309 msgid "Preview Application Version" msgstr "Verzija aplikacije predpregleda" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" "UTF-8 string koji sadrži broj verzije aplikacije koja je kreirala " "predpregled sačuvan u IFDu." #: src/tags.cpp:1313 #, fuzzy msgid "Preview Settings Name" msgstr "Naziv aplikacije predpregleda" #: src/tags.cpp:1314 #, fuzzy msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" "UTF-8 string koji sadrži ime aplikacije koja je kreirala predpregled sačuvan " "u IFDu." #: src/tags.cpp:1317 #, fuzzy msgid "Preview Settings Digest" msgstr "Opis postavke uređaja" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" #: src/tags.cpp:1321 #, fuzzy msgid "Preview Color Space" msgstr "Video Prostor Boje" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" #: src/tags.cpp:1326 #, fuzzy msgid "Preview Date Time" msgstr "Datum pretpregleda" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" #: src/tags.cpp:1331 #, fuzzy msgid "Raw Image Digest" msgstr "Centar neobrađene slike" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" #: src/tags.cpp:1337 #, fuzzy msgid "Original Raw File Digest" msgstr "Orginalni podaci Raw Fajla" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" #: src/tags.cpp:1387 msgid "Noise Profile" msgstr "Profil šuma" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" #: src/tags.cpp:1396 src/tags.cpp:1397 msgid "Unknown IFD tag" msgstr "Nepoznata IFD oznaka" #: src/tags.cpp:1408 src/tags.cpp:1466 msgid "Not defined" msgstr "Nije definisano" #: src/tags.cpp:1413 msgid "Creative program" msgstr "Kreativni program" #: src/tags.cpp:1414 msgid "Action program" msgstr "Akcijski program" #: src/tags.cpp:1415 msgid "Portrait mode" msgstr "Portretski način" #: src/tags.cpp:1416 msgid "Landscape mode" msgstr "Pejzažni način" #: src/tags.cpp:1425 msgid "Multi-spot" msgstr "Multi-mjesto" #: src/tags.cpp:1437 msgid "Tungsten (incandescent light)" msgstr "Volfram (svjetlo sa žarnom niti)" #: src/tags.cpp:1439 msgid "Fine weather" msgstr "Lijepo vrijeme" #: src/tags.cpp:1440 msgid "Cloudy weather" msgstr "Oblačno vrijeme" #: src/tags.cpp:1442 msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "Dnevna svjetlost flourescentno (D 5700 - 7100K)" #: src/tags.cpp:1443 msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "Dnevna bijela flourescentno (N 4600 - 5400K)" #: src/tags.cpp:1444 msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "Hladna bijela flourescentno (W 3900 - 4500K)" #: src/tags.cpp:1445 msgid "White fluorescent (WW 3200 - 3700K)" msgstr "Bijela flourescentno (WW 3200 - 3700K)" #: src/tags.cpp:1446 msgid "Standard light A" msgstr "Standardno svjetlo A" #: src/tags.cpp:1447 msgid "Standard light B" msgstr "Standardno svjetlo B" #: src/tags.cpp:1448 msgid "Standard light C" msgstr "Standardno svjetlo C" #: src/tags.cpp:1449 msgid "D55" msgstr "D55" #: src/tags.cpp:1450 msgid "D65" msgstr "D65" #: src/tags.cpp:1451 msgid "D75" msgstr "D75" #: src/tags.cpp:1452 msgid "D50" msgstr "D50" #: src/tags.cpp:1453 msgid "ISO studio tungsten" msgstr "ISO studio volfram" #: src/tags.cpp:1454 msgid "Other light source" msgstr "Drugi izvor svjetla" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "Nepodešeno" #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "Jednočipna oblast boje" #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "Dvočipna oblast boje" #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "Tročipna oblast boje" #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "Sekvencijalna oblast boje" #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "Trilinearni senzor" #: src/tags.cpp:1472 msgid "Color sequential linear" msgstr "Linearna sekvencijalna boja" #: src/tags.cpp:1477 msgid "Film scanner" msgstr "Skener filma" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "Reflekcijski ispis skener" #: src/tags.cpp:1479 msgid "Digital still camera" msgstr "Digitalni fotoaparat" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "Direktno fotografirano" #: src/tags.cpp:1489 msgid "Normal process" msgstr "Normalni proces" #: src/tags.cpp:1490 msgid "Custom process" msgstr "Prilagođeni proces" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "Malo povećanje" #: src/tags.cpp:1519 msgid "High gain up" msgstr "Visoko povećanje" #: src/tags.cpp:1520 msgid "Low gain down" msgstr "Malo povećanje" #: src/tags.cpp:1521 msgid "High gain down" msgstr "Smanji visoke pragove" #: src/tags.cpp:1542 msgid "Close view" msgstr "Blizak pogled" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "Udaljeni pogled" #: src/tags.cpp:1550 msgid "Exposure time, given in seconds (sec)." msgstr "Vrijeme osvjetljenja u sekundama (sec)." #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" "Označava spektralnu osjetljivost svakog kanala koji je aparat koristio. " "Vrijednost etikete je ASCII string koje je u skladu sa standardnom koji je " "razvio ASTM tehnčki komitet." #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "Opto-Electoric Funkcija Konverzije" #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" "Označava Opto-Electoric Conversion Function (OECF) preciziranu u ISO 14524. " " veza između optičkog ulaza aparata i vrijednosti slike." #: src/tags.cpp:1573 msgid "Sensitivity Type" msgstr "Tip osjetljivosti" #: src/tags.cpp:1574 msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" #: src/tags.cpp:1580 msgid "Standard Output Sensitivity" msgstr "Standardna izlazna osjetljivost" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1585 msgid "Recommended Exposure Index" msgstr "Preporučeni indeks ekspozicije" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1595 #, fuzzy msgid "ISO Speed Latitude yyy" msgstr "ISO brzi režim" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" #: src/tags.cpp:1600 #, fuzzy msgid "ISO Speed Latitude zzz" msgstr "ISO brzi režim" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" "Verzija ovog standarda je podržana. Nepostojanje ovog polja je odstupanje od " "prilagođenosti ovom standardu." #: src/tags.cpp:1609 msgid "Date and Time (original)" msgstr "Datum i vrijeme (prvobitno)" #: src/tags.cpp:1610 msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" "Datum i vrijeme pravljenja prvobitne fotografije. Za digitalne aparate pamte " "se datum i vrijeme stvaranja slike." #: src/tags.cpp:1613 msgid "Date and Time (digitized)" msgstr "Dazum i vrijeme (digitilizovano)" #: src/tags.cpp:1614 msgid "The date and time when the image was stored as digital data." msgstr "Datum i vrijeme kada je slika pohranjena kao digitalni podatak." #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" "Informacije specifične za kompresovane podatke. Kanali svake komponente su " "uređeni od prve komponente do četvrte. Za nekompresovane podatke, uređivanje " "je dato u oznaci . U svakom slučaju, obzirom da " " može jednino da izrazi redoslijed Y, Cb i Cr, " "ova oznaka je obezbeđena kada kompresovani podaci koriste komponente " "drugacije od Y, Cb, i Cr i da bi se obezbijedila podrška za druge sekvence." #: src/tags.cpp:1626 msgid "Compressed Bits per Pixel" msgstr "Sažeti biti po pikselu" #: src/tags.cpp:1627 msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" "Informacije vezane za sažete podatke. Mod za sažimanje koji se koristi za " "sažimanje slika se mjeri u jedinici bitovi po pikselu." #: src/tags.cpp:1631 msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" "Brzina zatvarača. Jedinica je u APEX (Additive System of Photographic " "Exposure) podešavanju." #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "Otvor sočiva. Jedinica je u APEX vrijednosti." #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" "Vrijednost svjetline. Jedinica je vrijednost APEX-a. Obično je u opsegu " "-99.99 to 99.99." #: src/tags.cpp:1641 msgid "Exposure Bias" msgstr "Kompenzacija ekspozicije" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" "Kompenzacija ekspozicije. Jedinica je vrijednost APEX-a. Obično je u opsegu " "-99.99 to 99.99." #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" "Najmanji broj F sočiva. Jedinica je vrijednost APEX-a. Obično je u opsegu " "00.00 to 99.99, ali nije ograničena u ovom opsegu." #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "" "Ova etiketa se popuni kada se fotografiše uz pomoć elektronskog blica " "(stroba)." #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" "Stvarna žižna daljina sočiva u mm. Nema pretvaranja za žižnu daljinu 35 mm " "filmske kamere." #: src/tags.cpp:1667 msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "" "Ova etiketa označava položaj i mjesto glavnog subjekta na sveobuhvatnoj " "slici." #: src/tags.cpp:1670 msgid "Maker Note" msgstr "Bilješka fotografa" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" "Etiketa za prizvođača Exif u kojoj smešta željene informacije. Sadržaj " "zavisi od proizvođača." #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" "Oznaka za Exif korisnike, za pisanje kljucnih rijeci i komentara na slici, " "osim onih u , i bez ogranicenja karakterskog koda kao " "oznaka ." #: src/tags.cpp:1679 msgid "Sub-seconds Time" msgstr "Sub-sekunde Vrijeme" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "Etiketa koja pamti djeliće sekunde za etiketu ." #: src/tags.cpp:1682 msgid "Sub-seconds Time Original" msgstr "Sub-sekunde Originalno Vrijeme" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "Etiketa koja pamti djeliće sekunde za etiketu ." #: src/tags.cpp:1685 msgid "Sub-seconds Time Digitized" msgstr "Digitalizacija Vremena ispod sekunde" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "Etiketa koja pamti djeliće sekunde za etiketu ." #: src/tags.cpp:1688 msgid "FlashPix Version" msgstr "FlashPix verzija" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "Format FlashPix verzije podržan od FPXR datoteke." #: src/tags.cpp:1692 msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" "Oznaka o informacijama o prostoru(koji zauzima) boja se uvijek biljezi kao " "specifikator prostora(prostoru kojeg zauzimaju) boja. Uobicajno sRGB se " "koristi da se defines eprostor boja temljeno na osnovu specifikacija PC " "monitora i okoline. Ako se koristi neki drugi prostor boja a ne sRGB, onda " "se postavlja Uncalibrated. Podatci u formatu slike snimljeni kao " "Uncalibrated mogu biti tretirani kao sRGB ako s ekonvertuju u FleshPix." #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" "Informacije specifične za kompresovane podatke. Kada se zapisuje " "kompresovani fajl, ispravna širina smislene slike mora biti zapisana u ovoj " "oznaci, bez obzira na to da li postoje poravnjavajući podaci ili marker " "restarta. Ova oznaka ne bi trebalo da se nalazi u nekompresovanom fajlu." #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" "Informacije specifične za kompresovane podatke. Kada je kompresovana datotka " "snimljena, validna veličina slike mora biti spremljena u ovom tagu, bilo tu " "ili ne podataka u poravnanju ili restart markera. Ovaj tag ne bi trebao " "postojati u nekompresovanoj datoteci. Budući da poravnanje podataka nije " "potrebno u vertikalnom smjeru, broj linija spremljenih u ovom tagu ustvari " "je isti kao i onaj spremljen u SOF." #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" "Ova oznaka se koristi za snimanje imena audio datoteke vezane uz slikovni " "podatak. Jedina relacijska informacija snimljena ovdje je Exif audio naziv " "datoteke i ekstenzija (ASCII string sastavljen od 8 znakova+'.'+ 3 znaka). " "Put nije snimljen." #: src/tags.cpp:1723 msgid "Interoperability IFD Pointer" msgstr "IFD pokazivac interoprebilnosti" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" "Interoperabilni IFD je sastavljen od tagova koji spremaju informacije da " "osiguraju interoperabilnost i na njega pokazuje sljedeći tag lociran u Exif " "IFD. Interoperabilna struktura interoperabilnog IFD-a je ista kao i TIFF " "definirana IFD struktura, ali ne sadrći slikovne podatke karakteristično " "uspoređene sa normalnim TIFF IFD." #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" "Označava vrijednost stroba (blica) kada je slika napravljena i mjeri se Beam " "Candle Power Seconds (BCPS)." #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" "Ovaj tag sprema tabelu frenkvencija kamere ili ulaznog uređaja u pravcu " "dužine, visine i dijagonalnog smjera slike, kao što je specificirano u ISO " "12233." #: src/tags.cpp:1740 msgid "Focal Plane X-Resolution" msgstr "X- rezolucija žarišne ravni," #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" "Označava broj piksela u smjeru širine slike (X) po " " na žarišnoj ravnini kamere." #: src/tags.cpp:1744 msgid "Focal Plane Y-Resolution" msgstr "Y- rezolucija žarišne ravni," #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" "Pokazuje broj piksela u smjeru visine slike (V) po " " na žarišnoj ravni kamere." #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" "Označava jedinicu mjere za i " ". Ova vrijednost je ista kao kod ." #: src/tags.cpp:1753 msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" "Ukazuje na položaj glavnog objekta na sceni. Vrijednost ove oznake " "predstavlja piksele u centru glavnog objekta u odnosu na lijevi kraj, " "prije procese rotacije po oznaci. Prva vrijednost ukazuje na X " "broj kolna i druga ukazuje na Y broj redova." #: src/tags.cpp:1759 msgid "Exposure index" msgstr "Vrijednost osvjetljenja" #: src/tags.cpp:1760 msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" "Označava vrijednost osvjetljenja na aparatu ili ulaznom uređaju kada je " "uslikano." #: src/tags.cpp:1764 msgid "Indicates the image sensor type on the camera or input device." msgstr "Označava tip senzora na aparatu ili ulaznom uređaju." #: src/tags.cpp:1767 msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" "Ukazuje na izvor slike. Ako je DSC snimio sliku, ova oznaka vrijednosti od " "ove oznake će uvijek biti postavljena na 3, ukazujući na to da je slika " "snimljenana DSC." #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" "Označava vrstu prizora. Ako je DSC uslikao fotografiju, vrijednost etikete " "mora uvijek biti 1, označavajući da je fotografija neposredno uslikana." #: src/tags.cpp:1776 msgid "Color Filter Array Pattern" msgstr "Polje Uzorka Filtera Boje" #: src/tags.cpp:1777 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" "Naznačava geometrijski šablon niza filtera boja (CFA) senzora slike kada se " "koristi senzor opsega boja na jednom čipu. Nema uticaja na sve metode " "senzora." #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" "Ovaj tag označava upotrebu specijalnog procesiranja na podacima slike, kao " "što je prevođenje na izlaz. Kada je specijalno procesiranje završeno, od " "čitača se očekuje da onesposobi ili minimizira bilo kakvo daljnje " "procesovanje." #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" "Ovaj tag pokazuje mod izloženosti kada je slika bila snimana. U auto-" "bracketing modu, kamera snima seriju okvirova iste scene pod različitim " "postavkama izloženosti." #: src/tags.cpp:1793 msgid "This tag indicates the white balance mode set when the image was shot." msgstr "Ova etiketa označava vrijednost moda ravnoteže bele kada je uslikano." #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" "Ova etiketa označava vrijednost digitalnog uvećanja kada je slikano. " "Vrijednost 0 označava da digitalno uvećanje nije korišćeno." #: src/tags.cpp:1801 msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" "Ova oznaka ukazuje na ekvivalentnu žarišnu duzinu pod predpostavkom za 35mm " "film fotoaparata, u mm.Vrijednost 0 znači da je žarišna duzina je " "nepoznata. Imajte na umu da se ovaj tag razlikuje od oznake." #: src/tags.cpp:1807 msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" "Ova oznaka ukazuje na tip scene koja je uslikana. Može biti korištena i za " "zabilježavanja načina u kom je slika uslikana. Primjetite da se ovo " "razlikuje od oznake." #: src/tags.cpp:1812 msgid "This tag indicates the degree of overall image gain adjustment." msgstr "Ova oznaka predstavlja stepen opšteg prilagođenja pojačanja" #: src/tags.cpp:1815 msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" "Etiketa označava smjer obrade kontrasta koji je aparat primijenio kada je " "uslikao." #: src/tags.cpp:1819 msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" "Etiketa označava smijer obrade zasićenja koji je aparat primijenio kada je " "uslikao." #: src/tags.cpp:1823 msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" "Etiketa označava smjer obrade oštrine koja je aparat primijenio kada je " "uslikao." #: src/tags.cpp:1827 msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" "Etiketa označava uslove slikanja tog specifičnog foto-aparata. The tag is " "used only to indicate the picture-taking conditions in the reader." #: src/tags.cpp:1832 msgid "This tag indicates the distance to the subject." msgstr "Ova etiketa označava udaljenost subjekta." #: src/tags.cpp:1835 msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" "Etiketa jedinstveno obilježava svaku fotografiju. Pamti se kao ASCII string " "koji je jednak heksadecimalnoj bilježenju i stalne je dužine od 128 bitova." #: src/tags.cpp:1839 msgid "Camera Owner Name" msgstr "Ime vlasnika kamere" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" "Ova oznaka sadrži ime vlasnika kamere korištene za slikanje, snimljeno u " "ASCII string." #: src/tags.cpp:1843 msgid "Body Serial Number" msgstr "Serijski broj tijela" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" "Ova oznaka sadrži serijski broj tijela kamere korištene za slikanje, " "snimljen u ASCII string." #: src/tags.cpp:1847 msgid "Lens Specification" msgstr "Specifikacije objektiva" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" #: src/tags.cpp:1854 msgid "Lens Make" msgstr "Proizvođač objektiva" #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "" "Ova oznaka sadrži naziv proizvođača objektiva, snimljen u ASCII string." #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" "Ova oznaka sadrži ime modela objektiva i broj modela objektiva, snimljene u " "ASCII string." #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" "Ova oznaka sadrži serijski broj izmjenjivog objektiva koji je korišten za " "slikanje, snimljen u ASCII string." #: src/tags.cpp:1866 src/tags.cpp:1867 msgid "Unknown Exif tag" msgstr "Nepoznatna Exif oznaka" #: src/tags.cpp:1878 msgid "North" msgstr "Sjever" #: src/tags.cpp:1879 msgid "South" msgstr "Jug" #: src/tags.cpp:1884 msgid "East" msgstr "Istok" #: src/tags.cpp:1885 msgid "West" msgstr "Zapad" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "Iznad nivoa mora" #: src/tags.cpp:1891 msgid "Below sea level" msgstr "Ispod nivoa mora" #: src/tags.cpp:1896 msgid "Measurement in progress" msgstr "Mjerenje u toku" #: src/tags.cpp:1897 msgid "Measurement Interoperability" msgstr "Mjerenje Interoperabilnosti" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "Dvodimenzionalno mjerenje" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "Trodimenzionalno mjerenje" #: src/tags.cpp:1908 msgid "km/h" msgstr "km/h" #: src/tags.cpp:1909 msgid "mph" msgstr "mph" #: src/tags.cpp:1910 msgid "knots" msgstr "čvorova" #: src/tags.cpp:1915 msgid "True direction" msgstr "Pravi smjer" #: src/tags.cpp:1916 msgid "Magnetic direction" msgstr "Magnetni smjer" #: src/tags.cpp:1921 msgid "Kilometers" msgstr "Kilometri" #: src/tags.cpp:1922 msgid "Miles" msgstr "Milje" #: src/tags.cpp:1923 msgid "Knots" msgstr "Čvor" #: src/tags.cpp:1928 msgid "Without correction" msgstr "Bez korekcije" #: src/tags.cpp:1929 msgid "Correction applied" msgstr "Ispravka privaćena" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" "Označava verziju od . Ovo je verzija 2.0.0.0. Ova etiketa je " "obavezna kad je prisutna etiketa . (Primjedba: Etiketa " " se izražava u bajtovima, za razliku od etikete ." "Ako je verzija 2.0.0.0, vrijednost etikete je 02000000.H)." #: src/tags.cpp:1941 msgid "GPS Latitude Reference" msgstr "GPS Referenca Širine" #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" "Označava sjevernu ili južnu geogr. širinu. ASCII slovo 'N' označava " "sjevernu, a 'S' južnu širinu.." #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" "Označava geogr. širinu. Ona se mjeri u stepenima, minutima i sekundama i " "zapisuje u racionalnim brojevima. Ako su izraženi i stepeni, minuti i " "sekunde, koristi se oblik dd/1,mm/1,ss/1. Ako je izraženo samo u stepenima i " "minutima, i minuti su, recimo, izraženi u dvije decimale, oblik je dd/1," "mmmm/100,0/1." #: src/tags.cpp:1953 msgid "GPS Longitude Reference" msgstr "GPS Referenca Dužine" #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" "Označava istočnu ili zapadnu geogr. dužinu. ASCII slovo 'E' je za istočnu, " "a 'W' za zapadnu dužinu." #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" "Označava geogr. dužinu. Ona se mjeri u stepenima, minutima i sekundama i " "zapisuje u racionalnim brojevima. Ako su izraženi i stepeni, minuti i " "sekunde, koristi se oblik dd/1,mm/1,ss/1. Ako je izraženo samo u stepenima i " "minutima, i minuti su, recimo, izraženi u dvije decimale, oblik je dd/1," "mmmm/100,0/1." #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" "Označava visinu u odnosu na obilježivač visine. Ako se mjeri u odnosu na " "nivo mora, i visina je iznad nivoa mora, postavlja se 0. Ako je visina ispod " "nivoa mora, postavlja se 1 i na visinu se gleda kao na apsolutnu vrijednost " "u etiketi GSPAltitude. Jedinica su metri. Ova etiketa je tipa BYTE, za " "razliku od drugih etiketa upućivača." #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" "Označava visinu u odnosu na upućivač u GPSAltitudeRef. Visina se izražava " "kao racionalni broj. Jedinica su metri." #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" "Pokazuje vrijeme kao UTC (koordiniranom univerzalnom vremenu). izrazen kao tri racionalne vrijednosti pokazujuci sat, minute, i " "sekunde (atomski sat)." #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" "Ukazuje na GPS satelite korištene za mjerenje. Ova oznaka može biti " "korištena za opis broja satelita, njihovog ID broja, ugla elevacije, " "azimuta, SNR-a i drugih informacija u ASCII notaciji. Format nije " "sprecificiran. Ako je GPS prijemnik onesposobljen za mjerenje, vrijednost " "oznake je ostavljenja na NULL." #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" "Ukazuje na status GPS prijemnika kad je slika snimljena. \"A\" znaci da je " "mjerenje u tijeku, i \"V\" znači da je mjerenje interoperabilno." #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" "Ukazuje na GPS način mjerenja. \"2\" znači dvodimenzionalno mjerenje i \"3\" " "znači trodimenzionalno mjerenje je u tijeku." #: src/tags.cpp:1998 msgid "GPS Data Degree of Precision" msgstr "GPS podaci stepena preciznosti" #: src/tags.cpp:1999 msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" "Ukazuje na GPS DOP (stupanj preciznosti podataka). HDOP vrijednosti je " "zapisana tijekom dvodimenzionalnog mjerenja, i PDOP tijekom " "trodimenzionalnog mjerenja." #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" "Ukazuje na jedinicu korištenu za izražavanje GPS brzine kretanja prijemnika. " "\"K\" \"M\" i \"N\" predstavljaju redom kilometre po satu, milje po satu i " "čvorove." #: src/tags.cpp:2007 msgid "Indicates the speed of GPS receiver movement." msgstr "Ukazuje na brzinu GPS kretanja primjenika." #: src/tags.cpp:2009 msgid "GPS Track Ref" msgstr "GPS praćenje Ref" #: src/tags.cpp:2010 msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Ukazuje na referencu za usmjeravanje GPS kretanja prijemnika. \"T\" " "predstavlja tačan pravac i \"M\" je magnetni pravac kretanja." #: src/tags.cpp:2014 msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" "Ukazuje na smjer kretanja GPS prijemnika. Raspon vrijednosti je između " "0.00 i 359.99." #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Ukazuje nagovještaj za davanje smjera slike kada je slikana. ''T'' označava " "pravi smjer i ''M'' magnetni pravac." #: src/tags.cpp:2022 msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" "Ukazuje na smjer slike kad je snimljena. Raspon vrijednosti je između 0.00 " "i 359.99." #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" "Ukazuje geodetski pregled podataka korištene od GPS prijemnika. Ako je " "pregled podataka ograničen na Japan, vrijednost oznake je \"TOKYO\" ili " "\"WGS-84\"." #: src/tags.cpp:2029 #, fuzzy msgid "GPS Destination Latitude Reference" msgstr "GPS Referenca Širine Odredišta" #: src/tags.cpp:2030 msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" "Pokazuje da li je smjer destinacije sjeverno ili južno. ASCII vrijednost \"N" "\" označava sjevernu, a \"S\" južnu usmjerenost." #: src/tags.cpp:2034 msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" "Pokazuje geografsku širinu destinacijske tačke. Geografska širina je " "izražena kao tri racionalne vrijednosti koje predstavljaju stepene, minute i " "sekunde, respektivno. Ako je geografskas širina izražena u stepenima, " "minutama i sekundama, tipični format bi bio dd/1.mm/1.ss/1. Kad su stepeni i " "minute korištene i, na primjer, frakcije u minutama su dane do dva decimalna " "mjesta, format bi bio dd/1.mmmmm/100,0/1." #: src/tags.cpp:2041 msgid "GPS Destination Longitude Reference" msgstr "GPS Referenca Dužine Odredišta" #: src/tags.cpp:2042 msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" "Pokazuje da li je udaljenost do krajnje destinacije istočno ili zapadno " "orijentisana.ASCII vrijednost \"E\" pokazuje istočni, a \"W\" zapadni smjer." #: src/tags.cpp:2046 msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" "Pokazuje geografsku dužinu destinacijske tačke. Geografska dužina je " "izražena kao tri racionalne vrijednosti koje predstavljaju stepene, minute i " "sekunde, respektivno. Ako je geografska dužina izražena u stepenima, " "minutama i sekundama, tipični format bi bio ddd/1,mm/1,ss/1. Kadas su " "stepeni i minute korištene i, na primjer, frakcije minuta su dane sa dva " "decimalna mjesta, format će biti ddd/1,mmmm/100,0/1." #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Pokazuje uputu za određivanje pravca destinacije.\"T\" obilježava stvarni " "pravac, a \"M\" magnetni." #: src/tags.cpp:2057 msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "" "Ukazuje na smjer prema tački odredišta. Raspon vrijednosti je između 0.00 i " "359.99." #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" "Pokazuje jedinicu upotrijebljenu za izražavanje udaljenosti do krajnje " "destinacije. \"K\",\"M\" i \"N\" predstavljaju kilometre, milje i čvorova." #: src/tags.cpp:2065 msgid "Indicates the distance to the destination point." msgstr "Pokazuje udaljenost do odredišta" #: src/tags.cpp:2068 msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" "Znakovni string snima naziv metode upotrijebljene za pretraživanje lokacije." "Prvi bajt pokazuje upotrijebljeni znakovni kod i popraćen je nazivom metode." #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" "Znakovni string snima ime GPS lokacije. Prvi bajt ukazuje na upotrijebljeni " "znakovni kod i popraćen je imenom GPS lokacije." #: src/tags.cpp:2076 msgid "GPS Date Stamp" msgstr "GPS oznaka datuma" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" "Znakovni string snima informacije o datumu i vremenu u odnosu na UTC " "(Koordinirano svjetsko vrijeme). Format je \"GGGG:MM:DD.\"" #: src/tags.cpp:2081 msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "" "Ukazuje na to da li je na GPS prijemnik primjenjena diferencijalna korekcija." #: src/tags.cpp:2084 src/tags.cpp:2085 msgid "Unknown GPSInfo tag" msgstr "Nepoznat GPS Info tag" #: src/tags.cpp:2096 msgid "Interoperability Index" msgstr "Interoperabilni indeks" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" "Naznačava identifikaciju interoperabilnog pravila. Koristite \"R98\" za " "naznačavanje ExifR98 pravila. Koriste se četiri bajta uključujući i " "terminacioni kod (NULL). Pogledajte zasebno poglavlje za preporučena pravila " "interoperabilnosti Exif standarda (ExifR98) za ostale oznake." #: src/tags.cpp:2103 msgid "Interoperability Version" msgstr "Interoperabilnosna Verzija" #: src/tags.cpp:2104 msgid "Interoperability version" msgstr "Verzija interoperabilnosti" #: src/tags.cpp:2106 msgid "Related Image File Format" msgstr "Vezani format datoteka slike" #: src/tags.cpp:2107 msgid "File format of image file" msgstr "Format fajla slike" #: src/tags.cpp:2109 msgid "Related Image Width" msgstr "Širina povezane slike" #: src/tags.cpp:2112 msgid "Related Image Length" msgstr "Dužina povezane slike" #: src/tags.cpp:2116 src/tags.cpp:2117 msgid "Unknown Exif Interoperability tag" msgstr "Nepoznata oznaka za interoperabilnost Exif" #: src/tags.cpp:2128 msgid "Offset" msgstr "Pomak" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "Pomak od makernote od početka TIFF zaglavlja." #: src/tags.cpp:2131 msgid "Byte Order" msgstr "Redoslijed bajtova" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" "Redoslijed bajtova korišten za MarkerNote oznake, MM' (big-endian) or " "'II' (little-endian)." #: src/tags.cpp:2135 src/tags.cpp:2136 msgid "Unknown Exiv2 Makernote info tag" msgstr "Nepoznata Exiv2 Makernote info oznaka" #: src/tags.cpp:2146 src/tags.cpp:2147 msgid "Unknown tag" msgstr "Nepoznata oznaka" #: src/tags.cpp:2688 msgid "Digital zoom not used" msgstr "Digitalni zoom nije korišten" #: src/tiffimage.cpp:2308 msgid "TIFF header, offset" msgstr "TIFF zaglavlje, offset" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "little endian kodiranje" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "big endian kodiranje" #, fuzzy #~ msgid "ascii bytes" #~ msgstr "bajta" exiv2-0.25/po/de.po0000664000175000017500000250747412540520175013705 0ustar andreasandreas# translation of de.po to german # translation of de.po to # German translations of Exiv2. # Copyright: # This file is distributed under the same license as the Exiv2 package. # # Free Software Foundation, Inc., 2002. # Lutz Mueller , 2002. # Marcus Meissner , 2004, 2005. # Oliver Dörr , 2007, 2008. msgid "" msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: 2008-11-16 21:57+0100\n" "Last-Translator: Oliver Dörr \n" "Language-Team: german \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 msgid "Failed to open the file\n" msgstr "Die Datei konnte nicht geöffnet werden\n" #: src/actions.cpp:282 msgid "File name" msgstr "Dateiname" #: src/actions.cpp:288 msgid "File size" msgstr "Dateigröße" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "Bytes" #: src/actions.cpp:293 msgid "MIME type" msgstr "MIME-Typ" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 msgid "Image size" msgstr "Bildgröße" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 msgid "No Exif data found in the file\n" msgstr "Es wurden keine Exif-Daten in der Datei gefunden\n" #: src/actions.cpp:307 msgid "Camera make" msgstr "Kamerahersteller" #: src/actions.cpp:310 msgid "Camera model" msgstr "Kameramodell" #: src/actions.cpp:313 msgid "Image timestamp" msgstr "Zeitstempel des Bildes" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 msgid "Image number" msgstr "Bildnummer" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 msgid "Exposure time" msgstr "Belichtungszeit" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 msgid "Aperture" msgstr "Blende" #: src/actions.cpp:345 msgid "Exposure bias" msgstr "Belichtungskontrolle" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 msgid "Flash" msgstr "Blitz" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 msgid "Flash bias" msgstr "Blitzkontrolle" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 msgid "Focal length" msgstr "Brennweite" #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr "35 mm äquivalent" #: src/actions.cpp:373 msgid "Subject distance" msgstr "Entfernung des Motivs" #: src/actions.cpp:387 msgid "ISO speed" msgstr "ISO Geschwindigkeit" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 msgid "Exposure mode" msgstr "Belichtungsmodus" #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 msgid "Metering mode" msgstr "Messmodus" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 msgid "Macro mode" msgstr "Makromodus" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 msgid "Image quality" msgstr "Bildqualität" #: src/actions.cpp:403 msgid "Exif Resolution" msgstr "Exif-Auflösung" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "Weißabgleich" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 msgid "Thumbnail" msgstr "Vorschau" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "Keine" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 msgid "Copyright" msgstr "Copyright" #: src/actions.cpp:458 msgid "Exif comment" msgstr "Exif-Kommentar" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "(Binärer Wert unterdrückt)" #: src/actions.cpp:742 msgid "JPEG comment" msgstr "JPEG-Kommentar" #: src/actions.cpp:767 #, fuzzy msgid "Preview" msgstr "Vorschaudaten" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "Pixel" #: src/actions.cpp:773 src/actions.cpp:1113 msgid "bytes" msgstr "Bytes" #: src/actions.cpp:820 msgid "Neither tag" msgstr "Keines der Felder" #: src/actions.cpp:821 msgid "nor" msgstr "noch" #: src/actions.cpp:822 msgid "found in the file" msgstr "wurde in der Datei gefunden" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "" "Der Erstellungszeitstempel der Bilddatei ist nicht in der Datei gesetzt." #: src/actions.cpp:833 src/actions.cpp:1590 msgid "Failed to parse timestamp" msgstr "Der Zeitstempel konnte nicht verarbeitet werden." #: src/actions.cpp:834 msgid "in the file" msgstr "in der Datei" #: src/actions.cpp:845 msgid "Updating timestamp to" msgstr "Aktualisiere den Zeitstempel auf" #: src/actions.cpp:939 msgid "Erasing thumbnail data" msgstr "Die Vorschaudaten werden gelöscht." #: src/actions.cpp:947 msgid "Erasing Exif data from the file" msgstr "Die Exif-Daten der Datei werden gelöscht." #: src/actions.cpp:956 msgid "Erasing IPTC data from the file" msgstr "Die IPTC-Daten der Datei werden gelöscht." #: src/actions.cpp:965 msgid "Erasing JPEG comment from the file" msgstr "Der JPEG-Kommentar der Datei wird gelöscht." #: src/actions.cpp:974 msgid "Erasing XMP data from the file" msgstr "Die XMP-Daten der Datei werden gelöscht." #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "Das Bild enthält keine Exif-Bildvorschau.\n" #: src/actions.cpp:1055 msgid "Writing thumbnail" msgstr "Die Vorschau wird geschrieben." #: src/actions.cpp:1056 src/actions.cpp:1114 msgid "to file" msgstr "in die Datei" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "Die Exif-Daten enthalten keine Vorschau.\n" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "" #: src/actions.cpp:1107 msgid "Writing preview" msgstr "" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "Der JPEG-Kommentar wird gesetzt." #: src/actions.cpp:1319 msgid "Add" msgstr "Hinzufügen" #: src/actions.cpp:1341 src/actions.cpp:1415 msgid "Warning" msgstr "Warnung" #: src/actions.cpp:1342 src/actions.cpp:1416 msgid "Failed to read" msgstr "Fehler beim Lesen" #: src/actions.cpp:1344 src/actions.cpp:1418 msgid "value" msgstr "Wert" #: src/actions.cpp:1355 msgid "Set" msgstr "Setzen" #: src/actions.cpp:1427 msgid "Del" msgstr "Löschen" #: src/actions.cpp:1459 msgid "Reg " msgstr "Reg " #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "Zeitstempel des Metadatums mit Schlüssel" #: src/actions.cpp:1544 msgid "not set\n" msgstr "nicht gesetzt\n" #: src/actions.cpp:1549 msgid "Adjusting" msgstr "Justiere" #: src/actions.cpp:1549 msgid "by" msgstr "durch" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "Jahre" #: src/actions.cpp:1556 msgid "year" msgstr "Jahr" #: src/actions.cpp:1564 msgid "months" msgstr "Monate" #: src/actions.cpp:1567 msgid "month" msgstr "Monat" #: src/actions.cpp:1575 msgid "days" msgstr "Tage" #: src/actions.cpp:1578 msgid "day" msgstr "Tag" #: src/actions.cpp:1584 msgid "s" msgstr "s" #: src/actions.cpp:1600 msgid "Can't adjust timestamp by" msgstr "Der Zeitstempel konnte nicht verändert werden von" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 msgid "to" msgstr "nach" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "" "Es existiert ein Standard-Exif-ISO-Stichwort; dies wird nicht geändert\n" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "Setze den Exif-ISO Wert auf" #: src/actions.cpp:1708 msgid "No Exif user comment found" msgstr "Kein Exif-Nutzerkommentar gefunden" #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "Exif-Nutzerkommentar mit unerwartetem Wertetyp gefunden" #: src/actions.cpp:1723 msgid "No Exif UNICODE user comment found" msgstr "Kein UNICODE-Exif-Nutzerkommentar gefunden" #: src/actions.cpp:1729 msgid "Setting Exif UNICODE user comment to" msgstr "Setze den UNICODE-Exif-Nutzerkommentar auf" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "Schreibe die Exif-Daten von" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "Schreibe die IPTC-Daten von" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "Schreibe die XMP-Daten von" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "Schreibe den JPEG-Kommentar von" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "Die Metadaten konnten nicht in die Datei geschrieben werden" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "Das Format des Dateinamens führt zu keinem Dateinamen für die Datei" #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "Diese Datei hat schon den richtigen Namen" #: src/actions.cpp:1975 src/exiv2.cpp:168 msgid "File" msgstr "Datei" #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr "existiert [O]überschreiben, [r]umbenennen oder [s]überspringen?" #: src/actions.cpp:2004 msgid "Renaming file to" msgstr "Die Datei wird umbenannt nach" #: src/actions.cpp:2006 msgid "updating timestamp" msgstr "aktualisiere Zeitstempel" #: src/actions.cpp:2015 msgid "Failed to rename" msgstr "Fehler beim Umbenennen" #: src/actions.cpp:2037 msgid "Overwrite" msgstr "Überschreiben" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "Aus" #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "An" #: src/canonmn.cpp:363 #, fuzzy msgid "Format 1" msgstr "Format" #: src/canonmn.cpp:364 #, fuzzy msgid "Format 2" msgstr "Format" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 #, fuzzy msgid "On (1)" msgstr "An" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 #, fuzzy msgid "On (2)" msgstr "An" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "sRGB" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 msgid "Adobe RGB" msgstr "Adobe RGB" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "Unbekannt" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 msgid "Camera Settings" msgstr "Kameraeinstellungen" #: src/canonmn.cpp:383 msgid "Various camera settings" msgstr "Verschiedene Kameraeinstellungen" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 msgid "Focal Length" msgstr "Brennweite" #: src/canonmn.cpp:386 src/sonymn.cpp:394 msgid "Shot Info" msgstr "Aufnahmeinfo" #: src/canonmn.cpp:386 msgid "Shot information" msgstr "Aufnahmeinformation" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 msgid "Panorama" msgstr "Panorama" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 msgid "Image Type" msgstr "Bildtyp" #: src/canonmn.cpp:388 msgid "Image type" msgstr "Bildtyp" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 msgid "Firmware Version" msgstr "Firmware Version" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 msgid "Firmware version" msgstr "Firmware Version" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 #, fuzzy msgid "File Number" msgstr "Blende" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 #, fuzzy msgid "File number" msgstr "Dateiname" #: src/canonmn.cpp:391 msgid "Owner Name" msgstr "Besitzername" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 msgid "Serial Number" msgstr "Seriennummer" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 msgid "Camera serial number" msgstr "Kamera-Seriennummer" #: src/canonmn.cpp:393 #, fuzzy msgid "Camera Info" msgstr "Kamerainformation" #: src/canonmn.cpp:393 #, fuzzy msgid "Camera info" msgstr "Kamerainformation" #: src/canonmn.cpp:394 src/canonmn.cpp:406 msgid "Custom Functions" msgstr "Angepasste Funktionen" #: src/canonmn.cpp:395 msgid "ModelID" msgstr "Modell-ID" #: src/canonmn.cpp:395 msgid "Model ID" msgstr "Modell-ID" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 msgid "Picture Info" msgstr "Bild-Info" #: src/canonmn.cpp:396 msgid "Picture info" msgstr "Bild-Info" #: src/canonmn.cpp:397 #, fuzzy msgid "Thumbnail Image Valid Area" msgstr "Vorschaubild" #: src/canonmn.cpp:397 #, fuzzy msgid "Thumbnail image valid area" msgstr "Vorschaubild" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial Number Format" msgstr "Seriennummer 2" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial number format" msgstr "Seriennummer 2" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 msgid "Super Macro" msgstr "Supermakro" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "Supermakro" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 #, fuzzy msgid "AF Info" msgstr "Autofokus-Information" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 #, fuzzy msgid "AF info" msgstr "Autofokus-Information" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "" #: src/canonmn.cpp:402 msgid "White Balance Table" msgstr "Weißabgleichstabelle" #: src/canonmn.cpp:402 msgid "White balance table" msgstr "Weißabgleichstabelle" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 msgid "Lens Model" msgstr "Linsenmodell" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 #, fuzzy msgid "Lens model" msgstr "Linsenmodell" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 msgid "Internal Serial Number" msgstr "Interne Seriennummer" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 msgid "Internal serial number" msgstr "Interne Seriennummer" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "" #: src/canonmn.cpp:406 #, fuzzy msgid "Custom functions" msgstr "Angepasste Funktionen" #: src/canonmn.cpp:407 #, fuzzy msgid "Processing Info" msgstr "Verarbeitungssoftware" #: src/canonmn.cpp:407 #, fuzzy msgid "Processing info" msgstr "Verarbeitungssoftware" #: src/canonmn.cpp:408 #, fuzzy msgid "Measured Color" msgstr "Natürliche Farbe" #: src/canonmn.cpp:408 #, fuzzy msgid "Measured color" msgstr "Natürliche Farben" #: src/canonmn.cpp:409 #, fuzzy msgid "ColorSpace" msgstr "Farbraum" #: src/canonmn.cpp:413 #, fuzzy msgid "VRD Offset" msgstr "Offset" #: src/canonmn.cpp:413 #, fuzzy msgid "VRD offset" msgstr "Offset" #: src/canonmn.cpp:414 #, fuzzy msgid "Sensor Info" msgstr "Linseninformation" #: src/canonmn.cpp:414 #, fuzzy msgid "Sensor info" msgstr "Aufnahmeinfo" #: src/canonmn.cpp:415 #, fuzzy msgid "Color Data" msgstr "Farbmatrix" #: src/canonmn.cpp:415 #, fuzzy msgid "Color data" msgstr "Meine Farbdaten" #: src/canonmn.cpp:417 msgid "Unknown CanonMakerNote tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Canon" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "Economy" #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 msgid "Normal" msgstr "Normal" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 msgid "Fine" msgstr "Fein" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "Roh" #: src/canonmn.cpp:437 msgid "Superfine" msgstr "Superfein" #: src/canonmn.cpp:438 #, fuzzy msgid "Normal Movie" msgstr "Normale Verarbeitung" #: src/canonmn.cpp:439 #, fuzzy msgid "Movie (2)" msgstr "Film" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 msgid "Auto" msgstr "Automatisch" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "Rote-Augen" #: src/canonmn.cpp:448 msgid "Slow sync" msgstr "Langsame Synchronisation" #: src/canonmn.cpp:449 msgid "Auto + red-eye" msgstr "Auto + Rote-Augen" #: src/canonmn.cpp:450 msgid "On + red-eye" msgstr "An + Rote-Augen" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 msgid "External" msgstr "Extern" #: src/canonmn.cpp:457 msgid "Single / timer" msgstr "Einzel / Timer" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 msgid "Continuous" msgstr "Kontinuierlich" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 msgid "Movie" msgstr "Film" #: src/canonmn.cpp:460 msgid "Continuous, speed priority" msgstr "Kontinuierlich, Gerschwindigkeit prioritisiert" #: src/canonmn.cpp:461 msgid "Continuous, low" msgstr "Kontinuierlich, niedrig" #: src/canonmn.cpp:462 msgid "Continuous, high" msgstr "Kontinuierlich, hoch" #: src/canonmn.cpp:467 msgid "One shot AF" msgstr "Eine Aufnahme mit Autofokus" #: src/canonmn.cpp:468 msgid "AI servo AF" msgstr "" #: src/canonmn.cpp:469 #, fuzzy msgid "AI focus AF" msgstr "Automatischer Fokus" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 msgid "Manual focus" msgstr "Manueller Fokus" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 msgid "Single" msgstr "Einzel" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 msgid "Pan focus" msgstr "Schwenk-Fokus" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 msgid "Large" msgstr "Groß" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 msgid "Medium" msgstr "Mittel" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 msgid "Small" msgstr "Klein" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 msgid "Medium 1" msgstr "Mittel 1" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 msgid "Medium 2" msgstr "Mittel 2" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 msgid "Medium 3" msgstr "Mittel 3" #: src/canonmn.cpp:490 msgid "Full auto" msgstr "Vollautomatisch" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 msgid "Manual" msgstr "Manuell" #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 msgid "Landscape" msgstr "Landschaft" #: src/canonmn.cpp:493 msgid "Fast shutter" msgstr "Schneller Verschluss" #: src/canonmn.cpp:494 msgid "Slow shutter" msgstr "Langsamer Verschluss" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 msgid "Night Scene" msgstr "Nachtszene" #: src/canonmn.cpp:496 msgid "Gray scale" msgstr "Grauskalierung" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "Sepia" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 msgid "Portrait" msgstr "Portrait" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "Sport" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "Makro/Großaufnahme" #: src/canonmn.cpp:501 src/fujimn.cpp:149 msgid "Black & white" msgstr "Schwarz/Weiß" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 msgid "Vivid" msgstr "Vivid" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 msgid "Neutral" msgstr "Neutral" #: src/canonmn.cpp:505 msgid "Flash off" msgstr "Blitz aus" #: src/canonmn.cpp:506 msgid "Long shutter" msgstr "Langsamer Verschluss" #: src/canonmn.cpp:508 msgid "Foliage" msgstr "Blätter" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 msgid "Indoor" msgstr "Innen" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 msgid "Fireworks" msgstr "Feuerwerk" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "Strand" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 msgid "Underwater" msgstr "Unterwasser" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "Schnee" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "Kinder & Tiere" #: src/canonmn.cpp:515 msgid "Night SnapShot" msgstr "Nachtaufnahme" #: src/canonmn.cpp:516 msgid "Digital macro" msgstr "Digitales Makro" #: src/canonmn.cpp:517 msgid "My Colors" msgstr "Meine Farben" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 msgid "Still image" msgstr "Standbild" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 msgid "Other" msgstr "Andere" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 msgid "Low" msgstr "Niedrig" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 msgid "High" msgstr "Hoch" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "n/v" #: src/canonmn.cpp:540 msgid "Auto High" msgstr "Automatisch Hoch" #: src/canonmn.cpp:558 src/sonymn.cpp:235 msgid "Default" msgstr "Standard" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 msgid "Spot" msgstr "Punkt" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "Durchschnitt" #: src/canonmn.cpp:561 msgid "Evaluative" msgstr "Bewertend" #: src/canonmn.cpp:562 src/tags.cpp:1427 msgid "Partial" msgstr "Partiell" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 msgid "Center weighted" msgstr "Zentriert gewichtet" #: src/canonmn.cpp:570 msgid "Not known" msgstr "Unbekannt" #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "Macro" #: src/canonmn.cpp:572 msgid "Very close" msgstr "Sehr nahe Aufnahme" #: src/canonmn.cpp:573 msgid "Close" msgstr "Nahaufnahme" #: src/canonmn.cpp:574 msgid "Middle range" msgstr "Mittlere Entfernung" #: src/canonmn.cpp:575 msgid "Far range" msgstr "Weite Entfernung" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 msgid "Infinity" msgstr "Unendlich" #: src/canonmn.cpp:583 msgid "Manual AF point selection" msgstr "Manuelle Auswahl des Autofokus-Punktes" #: src/canonmn.cpp:584 msgid "None (MF)" msgstr "Keine (Manueller Fokus)" #: src/canonmn.cpp:585 msgid "Auto-selected" msgstr "Automatische Erfassung" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 msgid "Right" msgstr "Rechts" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 msgid "Center" msgstr "Zentriert" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 msgid "Left" msgstr "Links" #: src/canonmn.cpp:589 msgid "Auto AF point selection" msgstr "Autofokus-Punktauswahl" #: src/canonmn.cpp:594 msgid "Easy shooting (Auto)" msgstr "Einfach Aufnahme (Auto)" #: src/canonmn.cpp:595 msgid "Program (P)" msgstr "Programm (P)" #: src/canonmn.cpp:596 msgid "Shutter priority (Tv)" msgstr "Verschlusspriorität (Tv)" #: src/canonmn.cpp:597 msgid "Aperture priority (Av)" msgstr "Blendenpriorität (Av)" #: src/canonmn.cpp:598 msgid "Manual (M)" msgstr "Manuell (M)" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "A-DEP" #: src/canonmn.cpp:600 msgid "M-DEP" msgstr "M-DEP" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 msgid "Did not fire" msgstr "Blitz löste nicht aus" #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 msgid "Fired" msgstr "Blitz ausgelöst" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 msgid "External flash" msgstr "Externer Blitz" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 msgid "Internal flash" msgstr "Eingebauter Blitz" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "TTL" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "A-TTL" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "E-TTL" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "" #: src/canonmn.cpp:980 #, fuzzy msgid "FP sync used" msgstr "Benutzter Autofokus-Punkt" #: src/canonmn.cpp:991 msgid "Normal AE" msgstr "Normale automatische Belichtung" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 msgid "Exposure compensation" msgstr "Belichtungskompensation" #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "Automatische Belichtungssperre" #: src/canonmn.cpp:994 msgid "AE lock + exposure compensation" msgstr "Automatische Belichtungssperre + Belichtungskompensation" #: src/canonmn.cpp:995 msgid "No AE" msgstr "Keine automatische Belichtung" #: src/canonmn.cpp:1002 msgid "On, shot only" msgstr "An, nur Aufnahme" #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 msgid "AF Point" msgstr "Autofokus-Punkt" #: src/canonmn.cpp:1016 msgid "Smooth" msgstr "Glatt" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "S&W" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 msgid "Custom" msgstr "Benutzerdefiniert" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 msgid "My color data" msgstr "Meine Farbdaten" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 msgid "Full" msgstr "Vollbild" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "" #: src/canonmn.cpp:1043 msgid "Selftimer" msgstr "Selbstauslöser" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 msgid "Self timer" msgstr "Selbstauslöser" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 msgid "Quality" msgstr "Qualität" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 msgid "Flash Mode" msgstr "Blitzmodus" #: src/canonmn.cpp:1045 msgid "Flash mode setting" msgstr "Blitzmodus-Einstellungen" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 msgid "Drive Mode" msgstr "Antriebsmodus" #: src/canonmn.cpp:1046 msgid "Drive mode setting" msgstr "Antriebsmodus-Einstellungen" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 msgid "Focus Mode" msgstr "Fokusmodus" #: src/canonmn.cpp:1048 msgid "Focus mode setting" msgstr "Fokusmodus-Einstellung" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 msgid "Image Size" msgstr "Bildgröße" #: src/canonmn.cpp:1052 msgid "Easy Mode" msgstr "Einfacher Modus" #: src/canonmn.cpp:1052 msgid "Easy shooting mode" msgstr "Einfacher Aufnahmemodus" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 msgid "Digital Zoom" msgstr "Digitaler Zoom" #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 msgid "Digital zoom" msgstr "Digitaler Zoom" #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 msgid "Contrast" msgstr "Kontrast" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 msgid "Contrast setting" msgstr "Kontrasteinstellungen" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 msgid "Saturation" msgstr "Sättigung" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 msgid "Saturation setting" msgstr "Sättigungseinstellung" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 msgid "Sharpness" msgstr "Schärfe" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 msgid "Sharpness setting" msgstr "Schärfeneinstellung" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 msgid "ISO Speed Mode" msgstr "ISO Geschwindigkeitsangabe" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 msgid "ISO speed setting" msgstr "ISO Geschwindigkeitseinstellung" #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 msgid "Metering Mode" msgstr "Belichtungsmessungsmodus" #: src/canonmn.cpp:1058 msgid "Metering mode setting" msgstr "Belichtungsmessungsmodus-Einstellungen" #: src/canonmn.cpp:1059 msgid "Focus Type" msgstr "Fokustyp" #: src/canonmn.cpp:1059 msgid "Focus type setting" msgstr "Fokustypeinstellung" #: src/canonmn.cpp:1060 msgid "AF point selected" msgstr "Ausgewählter Autofokus-Punkt" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 msgid "Exposure Program" msgstr "Belichtungsprogramm" #: src/canonmn.cpp:1061 msgid "Exposure mode setting" msgstr "Belichtungseinstellung" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 msgid "Lens Type" msgstr "Linsentyp" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 msgid "Lens type" msgstr "Linsentyp" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 msgid "Lens" msgstr "Linse" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" "Brennweite der Linse, 'lang' und 'kurz', in Brennweiteneinheiten und " "Brennweiteeinheit in mm" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "" #: src/canonmn.cpp:1065 #, fuzzy msgid "Short focal" msgstr "Punktfokus" #: src/canonmn.cpp:1066 #, fuzzy msgid "Focal Units" msgstr "Brennweite" #: src/canonmn.cpp:1066 #, fuzzy msgid "Focal units" msgstr "Brennweite" #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 msgid "Max Aperture" msgstr "Maximale Blende" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 msgid "Max aperture" msgstr "Maximale Blende" #: src/canonmn.cpp:1068 msgid "Min Aperture" msgstr "Minimale Blende" #: src/canonmn.cpp:1068 msgid "Min aperture" msgstr "Minimale Blende" #: src/canonmn.cpp:1069 msgid "Flash Activity" msgstr "Blitzaktivität" #: src/canonmn.cpp:1069 msgid "Flash activity" msgstr "Blitzaktivität" #: src/canonmn.cpp:1070 msgid "Flash Details" msgstr "Blitzdetails" #: src/canonmn.cpp:1070 msgid "Flash details" msgstr "Blitzdetails" #: src/canonmn.cpp:1073 msgid "Focus Continuous" msgstr "Kontinuierlicher Fokus" #: src/canonmn.cpp:1073 msgid "Focus continuous setting" msgstr "Einstellung des kontinuierlichen Fokus" #: src/canonmn.cpp:1074 msgid "AESetting" msgstr "Automatische Belichtung-Einstellungen" #: src/canonmn.cpp:1074 msgid "AE setting" msgstr "Automatische Belichtung-Einstellungen" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 msgid "Image Stabilization" msgstr "Bildstabilisierung" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 msgid "Image stabilization" msgstr "Bildstabilisierung" #: src/canonmn.cpp:1076 msgid "Display Aperture" msgstr "Blende anzeigen" #: src/canonmn.cpp:1076 msgid "Display aperture" msgstr "Blende anzeigen" #: src/canonmn.cpp:1077 msgid "Zoom Source Width" msgstr "Quellweite zoomen" #: src/canonmn.cpp:1077 msgid "Zoom source width" msgstr "Quellweite zoomen" #: src/canonmn.cpp:1078 msgid "Zoom Target Width" msgstr "Zielweite zoomen" #: src/canonmn.cpp:1078 msgid "Zoom target width" msgstr "Zielweite zoomen" #: src/canonmn.cpp:1080 #, fuzzy msgid "Spot Metering Mode" msgstr "Belichtungsmessungsmodus" #: src/canonmn.cpp:1080 #, fuzzy msgid "Spot metering mode" msgstr "Der Messmodus." #: src/canonmn.cpp:1081 msgid "Photo Effect" msgstr "Fotoeffekt" #: src/canonmn.cpp:1081 msgid "Photo effect" msgstr "Fotoeffekt" #: src/canonmn.cpp:1082 #, fuzzy msgid "Manual Flash Output" msgstr "Manuell ausgelöst" #: src/canonmn.cpp:1082 #, fuzzy msgid "Manual flash output" msgstr "Manuell ausgelöst" #: src/canonmn.cpp:1083 msgid "Color Tone" msgstr "Farbton" #: src/canonmn.cpp:1083 msgid "Color tone" msgstr "Farbton" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "" #: src/canonmn.cpp:1084 #, fuzzy msgid "SRAW quality" msgstr "Bildqualität" #: src/canonmn.cpp:1086 msgid "Unknown Canon Camera Settings 1 tag" msgstr "Unbekanntes Feld in den Canon-Kameraeinstellungen 1" #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 msgid "Daylight" msgstr "Tageslicht" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 msgid "Cloudy" msgstr "Wolkiges Wetter" #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 msgid "Tungsten" msgstr "Wolframlicht" #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 msgid "Fluorescent" msgstr "Leuchtstoffröhre" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 msgid "Black & White" msgstr "Schwarz/Weiß" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "Schatten" #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "Manuelle Temperatur (Kelvin)" #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "PC Satz 1" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "PC Satz 2" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "PC Satz 3" #: src/canonmn.cpp:1109 msgid "Daylight Fluorescent" msgstr "Flursozierendes Tageslicht" #: src/canonmn.cpp:1110 src/properties.cpp:816 msgid "Custom 1" msgstr "Benutzerdefiniert 1" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 msgid "Custom 2" msgstr "Benutzerdefiniert 2" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 msgid "Custom 3" msgstr "Benutzerdefiniert 3" #: src/canonmn.cpp:1115 #, fuzzy msgid "PC Set 4" msgstr "PC Satz 1" #: src/canonmn.cpp:1116 #, fuzzy msgid "PC Set 5" msgstr "PC Satz 1" #: src/canonmn.cpp:1117 #, fuzzy msgid "Auto (ambience priority)" msgstr "Verschlusspriorität" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 msgid "left" msgstr "Links" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 msgid "center" msgstr "Zentriert" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 msgid "right" msgstr "Rechts" #: src/canonmn.cpp:1151 msgid "ISO Speed Used" msgstr "ISO Geschwindigkeitsangabe" #: src/canonmn.cpp:1151 msgid "ISO speed used" msgstr "ISO Geschwindigkeitsangabe" #: src/canonmn.cpp:1152 msgid "Measured EV" msgstr "" #: src/canonmn.cpp:1153 msgid "Target Aperture" msgstr "Zielblende" #: src/canonmn.cpp:1154 msgid "Target Shutter Speed" msgstr "Zielverschlussgeschwindigkeit" #: src/canonmn.cpp:1154 msgid "Target shutter speed" msgstr "Zielverschlussgeschwindigkeit" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 msgid "White Balance" msgstr "Weißabgleich" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 msgid "White balance setting" msgstr "Weißabgleichseinstellung" #: src/canonmn.cpp:1158 msgid "Sequence" msgstr "Reihenfolge" #: src/canonmn.cpp:1158 msgid "Sequence number (if in a continuous burst)" msgstr "Fortlaufende Nummer (wenn Sie im Burst-Modus fotografieren)" #: src/canonmn.cpp:1163 msgid "AF Point Used" msgstr "Benutzter Autofokus-Punkt" #: src/canonmn.cpp:1163 msgid "AF point used" msgstr "Benutzter Autofokus-Punkt" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 msgid "Flash Bias" msgstr "Blitzkontrolle" #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 msgid "Subject Distance" msgstr "Entfernung des Motivs" #: src/canonmn.cpp:1168 msgid "Subject distance (units are not clear)" msgstr "Motivabstand (Einheiten nicht klar definiert)" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 msgid "Aperture Value" msgstr "Blendenwert" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 msgid "Shutter Speed Value" msgstr "Verschlussgeschwindigkeitswert" #: src/canonmn.cpp:1171 src/tags.cpp:1630 msgid "Shutter speed" msgstr "Verschlussgeschwindigkeit" #: src/canonmn.cpp:1172 msgid "Measured EV 2" msgstr "" #: src/canonmn.cpp:1177 msgid "Unknown Canon Camera Settings 2 tag" msgstr "Unbekanntes Feld in den Canon-Kameraeinstellungen 2" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 msgid "Left to right" msgstr "links nach rechts" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 msgid "Right to left" msgstr "rechts nach links" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 msgid "Bottom to top" msgstr "unten nach oben" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 msgid "Top to bottom" msgstr "oben nach unten" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "2x2 Matrix (Im Uhrzeigersinn)" #: src/canonmn.cpp:1196 msgid "Panorama Frame" msgstr "Panoramaeinzelbild" #: src/canonmn.cpp:1196 msgid "Panorama frame number" msgstr "Nummer des Panoramaeinzelbildes" #: src/canonmn.cpp:1197 msgid "Panorama Direction" msgstr "Pamoramarichtung" #: src/canonmn.cpp:1197 msgid "Panorama direction" msgstr "Pamoramarichtung" #: src/canonmn.cpp:1199 msgid "Unknown Canon Panorama tag" msgstr "Unbekanntes Canon-Panoramafeld" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 msgid "Noise Reduction" msgstr "Rauschunterdrückung" #: src/canonmn.cpp:1209 msgid "Long exposure noise reduction" msgstr "Rauschreduktion einer langen Belichtung" #: src/canonmn.cpp:1210 #, fuzzy msgid "Shutter Ae Lock" msgstr "Verschlussgeschwindigkeit" #: src/canonmn.cpp:1210 #, fuzzy msgid "Shutter/AE lock buttons" msgstr "Verschlusszähler" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "Spiegelvorauslösung" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "Spiegelvorauslösung" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 #, fuzzy msgid "Exposure Level Increments" msgstr "Belichtungsabstand" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 msgid "AF Assist" msgstr "Autofokus-Unterstützung" #: src/canonmn.cpp:1213 msgid "AF assist light" msgstr "Autofokus-Lichtunterstützung" #: src/canonmn.cpp:1214 #, fuzzy msgid "Flash Sync Speed Av" msgstr "Blitztyp" #: src/canonmn.cpp:1214 #, fuzzy msgid "Shutter speed in Av mode" msgstr "Verschlusswert" #: src/canonmn.cpp:1215 msgid "AEB Sequence" msgstr "AEB Sequenz" #: src/canonmn.cpp:1215 msgid "AEB sequence/auto cancellation" msgstr "AEB Sequenz/Automatischer Abbruch" #: src/canonmn.cpp:1216 #, fuzzy msgid "Shutter Curtain Sync" msgstr "Verschlusszähler" #: src/canonmn.cpp:1216 #, fuzzy msgid "Shutter curtain sync" msgstr "Verschlusszähler" #: src/canonmn.cpp:1217 msgid "Lens AF Stop Button" msgstr "Stoppknopf der Autofokus-Linse" #: src/canonmn.cpp:1217 msgid "Lens AF stop button Fn. Switch" msgstr "Stoppknopf der Autofokus-Linse Funktionswechsel" #: src/canonmn.cpp:1218 msgid "Fill Flash Auto Reduction" msgstr "Automatische Verringerung des Aufhellblitzes" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "Automatische Verringerung des Aufhellblitzes" #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "Menüknopf \"Eingabe\"" #: src/canonmn.cpp:1219 #, fuzzy msgid "Menu button return position" msgstr "Menüknopf \"Eingabe\"" #: src/canonmn.cpp:1220 msgid "Set Button Function" msgstr "Knopffunktion setzen" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "" #: src/canonmn.cpp:1221 msgid "Sensor Cleaning" msgstr "Sensorenreinigung" #: src/canonmn.cpp:1221 msgid "Sensor cleaning" msgstr "Sensorenreinigung" #: src/canonmn.cpp:1222 msgid "Superimposed Display" msgstr "Eingeblendetes Display" #: src/canonmn.cpp:1222 msgid "Superimposed display" msgstr "Eingeblendetes Display" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "" #: src/canonmn.cpp:1225 msgid "Unknown Canon Custom Function tag" msgstr "Unbekanntes Feld in den benutzerdefinierten Funktionen von Canon" #: src/canonmn.cpp:1236 msgid "mid-right" msgstr "Mitte - rechts" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 msgid "bottom" msgstr "Unten" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 msgid "top" msgstr "Oben" #: src/canonmn.cpp:1240 msgid "mid-left" msgstr "Mitte - links" #: src/canonmn.cpp:1247 msgid "upper-left" msgstr "Oben - links" #: src/canonmn.cpp:1248 msgid "upper-right" msgstr "Oben - rechts" #: src/canonmn.cpp:1252 msgid "lower-left" msgstr "Unten - links" #: src/canonmn.cpp:1253 msgid "lower-right" msgstr "Unten - rechts" #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 msgid "Image Width" msgstr "Bildbreite" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 msgid "Image width" msgstr "Bildbreite" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 msgid "Image Height" msgstr "Bildhöhe" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 msgid "Image height" msgstr "Bildhöhe" #: src/canonmn.cpp:1261 msgid "Image Width As Shot" msgstr "Bildbreite während der Aufnahme" #: src/canonmn.cpp:1261 msgid "Image width (as shot)" msgstr "Bildbreite bei der Aufnahme" #: src/canonmn.cpp:1262 msgid "Image Height As Shot" msgstr "Bildhöhe bei der Aufnahme" #: src/canonmn.cpp:1262 msgid "Image height (as shot)" msgstr "Bildhöhe (bei der Aufnahme)" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF Points Used" msgstr "Benutzte Autofokus-Punkte" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF points used" msgstr "Benutzte Autofokus-Punkte" #: src/canonmn.cpp:1264 msgid "AF Points Used 20D" msgstr "Benutzte Autofokus-Punkte 20D" #: src/canonmn.cpp:1264 msgid "AF points used (20D)" msgstr "Benutzte Autofokus-Punkte (20D)" #: src/canonmn.cpp:1266 msgid "Unknown Canon Picture Info tag" msgstr "Unbekanntes Feld in der Canon-Bildinfo" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 #, fuzzy msgid "ISO" msgstr "Aufnahmeinfo" #: src/canonmn.cpp:1280 msgid "WB" msgstr "" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "" #: src/canonmn.cpp:1293 #, fuzzy msgid "Medium Movie" msgstr "Mittel 1" #: src/canonmn.cpp:1294 #, fuzzy msgid "Small Movie" msgstr "Film" #: src/canonmn.cpp:1300 #, fuzzy msgid "On 1" msgstr "An" #: src/canonmn.cpp:1301 #, fuzzy msgid "On 2" msgstr "An" #: src/canonmn.cpp:1309 #, fuzzy msgid "On (shift AB)" msgstr "Eine Aufnahme mit Autofokus" #: src/canonmn.cpp:1310 #, fuzzy msgid "On (shift GM)" msgstr "Eine Aufnahme mit Autofokus" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "Gelb" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 msgid "Orange" msgstr "Orange" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 msgid "Red" msgstr "Rot" #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 msgid "Green" msgstr "Grün" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 msgid "Blue" msgstr "Blau" #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "Lila" #: src/canonmn.cpp:1334 #, fuzzy msgid "Bracket Mode" msgstr "Automatischer Erfassungsschritt" #: src/canonmn.cpp:1335 #, fuzzy msgid "Bracket Value" msgstr "Automatischer Erfassungsschritt" #: src/canonmn.cpp:1336 #, fuzzy msgid "Bracket Shot Number" msgstr "Automatischer Erfassungsschritt" #: src/canonmn.cpp:1337 #, fuzzy msgid "Raw Jpg Quality" msgstr "Bildqualität" #: src/canonmn.cpp:1338 #, fuzzy msgid "Raw Jpg Size" msgstr "Bildgröße" #: src/canonmn.cpp:1340 #, fuzzy msgid "WB Bracket Mode" msgstr "Automatischer Erfassungsschritt" #: src/canonmn.cpp:1341 #, fuzzy msgid "WB Bracket Value AB" msgstr "Weißabgleichswert" #: src/canonmn.cpp:1342 #, fuzzy msgid "WB Bracket Value GM" msgstr "Weißabgleichswert" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 #, fuzzy msgid "Filter Effect" msgstr "Farbeffekt" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 #, fuzzy msgid "Toning Effect" msgstr "Fotoeffekt" #: src/canonmn.cpp:1345 #, fuzzy msgid "Macro Magnification" msgstr "Elektronische Vergrößerung" #: src/canonmn.cpp:1345 #, fuzzy msgid "Macro magnification" msgstr "Elektronische Vergrößerung" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "" #: src/canonmn.cpp:1346 #, fuzzy msgid "Live view shooting" msgstr "Antriebsmodus-Einstellungen" #: src/canonmn.cpp:1347 #, fuzzy msgid "Focus Distance Upper" msgstr "Fokusabstand" #: src/canonmn.cpp:1348 #, fuzzy msgid "Focus Distance Lower" msgstr "Fokusabstand" #: src/canonmn.cpp:1349 #, fuzzy msgid "Flash Exposure Lock" msgstr "Blitzbelichtungskompensation" #: src/canonmn.cpp:1349 #, fuzzy msgid "Flash exposure lock" msgstr "Blitzbelichtungskompensation" #: src/canonmn.cpp:1351 #, fuzzy msgid "Unknown Canon File Info tag" msgstr "Unbekanntes Feld in der Canon-Bildinfo" #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 msgid "Standard" msgstr "Standard" #: src/canonmn.cpp:1369 #, fuzzy msgid "Lowest" msgstr "Abwärts-Links" #: src/canonmn.cpp:1373 #, fuzzy msgid "Highest" msgstr "Hoch" #: src/canonmn.cpp:1381 #, fuzzy msgid "High Saturation" msgstr "Sättigung" #: src/canonmn.cpp:1383 #, fuzzy msgid "Low Saturation" msgstr "Sättigung" #: src/canonmn.cpp:1384 #, fuzzy msgid "CM Set 1" msgstr "PC Satz 1" #: src/canonmn.cpp:1385 #, fuzzy msgid "CM Set 2" msgstr "PC Satz 2" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 msgid "Monochrome" msgstr "Monochrom" #: src/canonmn.cpp:1399 #, fuzzy msgid "Fine Detail" msgstr "Blitzdetails" #: src/canonmn.cpp:1404 #, fuzzy msgid "ToneCurve" msgstr "Farbtonkurve" #: src/canonmn.cpp:1404 msgid "Tone curve" msgstr "Farbtonkurve" #: src/canonmn.cpp:1406 #, fuzzy msgid "SharpnessFrequency" msgstr "Schärfe" #: src/canonmn.cpp:1406 #, fuzzy msgid "Sharpness frequency" msgstr "Schärfe-Wert" #: src/canonmn.cpp:1407 #, fuzzy msgid "SensorRedLevel" msgstr "WB_RGGBLevelsShade" #: src/canonmn.cpp:1407 #, fuzzy msgid "Sensor red level" msgstr "Schwarzlevel" #: src/canonmn.cpp:1408 #, fuzzy msgid "SensorBlueLevel" msgstr "WB_RGGBLevelsShade" #: src/canonmn.cpp:1408 #, fuzzy msgid "Sensor blue level" msgstr "Schwarzlevel" #: src/canonmn.cpp:1409 #, fuzzy msgid "WhiteBalanceRed" msgstr "Weißabgleich" #: src/canonmn.cpp:1409 #, fuzzy msgid "White balance red" msgstr "Weißabgleich 2" #: src/canonmn.cpp:1410 #, fuzzy msgid "WhiteBalanceBlue" msgstr "Weißabgleichswert" #: src/canonmn.cpp:1410 #, fuzzy msgid "White balance blue" msgstr "Weißabgleichstabelle" #: src/canonmn.cpp:1411 #, fuzzy msgid "WhiteBalance" msgstr "Weißabgleich" #: src/canonmn.cpp:1412 #, fuzzy msgid "ColorTemperature" msgstr "Farbtemperatur" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 msgid "Color Temperature" msgstr "Farbtemperatur" #: src/canonmn.cpp:1413 #, fuzzy msgid "PictureStyle" msgstr "Bildmodus" #: src/canonmn.cpp:1413 #, fuzzy msgid "Picture style" msgstr "Bildmodus" #: src/canonmn.cpp:1414 #, fuzzy msgid "DigitalGain" msgstr "Digitales Makro" #: src/canonmn.cpp:1414 #, fuzzy msgid "Digital gain" msgstr "Digitales Makro" #: src/canonmn.cpp:1415 msgid "WBShiftAB" msgstr "" #: src/canonmn.cpp:1415 #, fuzzy msgid "WBShift AB" msgstr "Eine Aufnahme mit Autofokus" #: src/canonmn.cpp:1416 msgid "WBShiftGM" msgstr "" #: src/canonmn.cpp:1416 #, fuzzy msgid "WB Shift GM" msgstr "Eine Aufnahme mit Autofokus" #: src/canonmn.cpp:1417 #, fuzzy msgid "Unknown Canon Processing Info tag" msgstr "Unbekanntes Feld in der Canon-Bildinfo" #: src/crwimage.cpp:656 msgid "Header, offset" msgstr "Header, offset" #: src/crwimage.cpp:674 msgid "tag" msgstr "Feld" #: src/crwimage.cpp:676 msgid "dir" msgstr "Ordner" #: src/crwimage.cpp:678 msgid "type" msgstr "Typ" #: src/crwimage.cpp:679 msgid "size" msgstr "Größe" #: src/crwimage.cpp:680 msgid "offset" msgstr "Offset" #: src/datasets.cpp:79 msgid "(invalid)" msgstr "(ungültig)" #: src/datasets.cpp:80 msgid "IIM envelope record" msgstr "IIM Umschlagsdatensatz" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "IIM Anwendungsdatensatz 2" #: src/datasets.cpp:85 msgid "Model Version" msgstr "Modellversion" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Eine binäre Zahl, die die Version des Informations-Austausch-Modell (IIM) " "vom Anbieter, Teil 1identifiziert. Die Versionsnummern werden von der IPTC " "und NAA Organisationen zugewiesen." #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 msgid "Destination" msgstr "Ziel" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" "Dieser Datensatz ist für die Anbieter die Weiterleitungsinformationen " "oberhalb der entsprechenden OSI-Layer benötigen." #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 msgid "File Format" msgstr "Dateiformat" #: src/datasets.cpp:95 msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" "Eine binäre Nummer die das Dateiformat repräsentiert. Das Format muss bei " "IPTC oder NAA durch eine eindeutige Nummer registriert werden, die dem " "Format zugeordnet wird. Diese Information wird benutzt, um die Daten an das " "richtige System weiterzuleiten und erlaubt es dem empfangenden System die " "richtigen Aktionen durchzuführen." #: src/datasets.cpp:101 msgid "File Version" msgstr "Dateiversion" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" "Eine binäre Zahl, die genaue Version des Dateiformats angibt, das durch den " " Feld angegeben wurde." #: src/datasets.cpp:105 msgid "Service Id" msgstr "Dienst-ID" #: src/datasets.cpp:106 msgid "Identifies the provider and product" msgstr "Identifiziert den Anbieter und das Produkt" #: src/datasets.cpp:108 msgid "Envelope Number" msgstr "Umschlagsnummer" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" "Die Zeichen ergeben eine Zahl, die eindeutig ist für das Datum, dass durch " "das -Feld angegeben wurde und für die Dienst-ID, die durch das " "-Feld angegeben wurde, ist. Wenn identische " "Umschlagsnummern mit dem gleichen Datum und der gleichen Dienst-ID " "auftauchen, dann müssen die Datensätze 2-9 identisch mit dem Original sein. " "Dies ist nicht als fortlaufende Seriennummer gedacht." #: src/datasets.cpp:117 msgid "Product Id" msgstr "Produkt-ID" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" "Erlaubt es einem Anbieter eine Teilmenge seiner Dienste zu identifizieren. " "Sie wird dazu benutzt, damit die empfangende Organisation wählen kann wie " "die Daten weitergeleitet oder anderweitig behandelt werden." #: src/datasets.cpp:122 msgid "Envelope Priority" msgstr "Unschlagspriorität" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" "Gibt die Behandlungspriorität des Umschlags an und nicht die redaktionelle " "Wichtigkeit. Dazu ist das -Feld gedacht. \"1\" steht für die " "höchste Priorität, \"5\" für normal und \"8\" für die geringste. Die Nummer " "\"9\" ist für eine benutzerdefinierte Priorität und \"0\" für eine " "zukünftige Anwendung." #: src/datasets.cpp:129 msgid "Date Sent" msgstr "Sendedatum" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" "Benutzt das Format CCYYMMDD (Jahrhundert/C, Jahr/Y, Monat/M, Tag/D), wie im " "ISO Standard 8601 angegeben, um das Jahr, den Monat und den Tag anzugeben an " "dem das Material gesendet wurde." #: src/datasets.cpp:133 msgid "Time Sent" msgstr "Sendezeit" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" "Benutzt das Format HHMMSS:HHMM wobei HHMMSS die lokale Stunde/H, Minute/M " "und Sekunden/S darstellt und HHMM die Stunden/H und Minuten/M bevor (+) oder " "hinter (-) der UTC Zeit die im ISO Standard 8601 beschrieben wird. Dies ist " "die Uhrzeit zu der das Material versendet wurde." #: src/datasets.cpp:139 msgid "Character Set" msgstr "Zeichensatz" #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" "Dieses Feld enthält eine oder mehrere Kontrollfunktionen die benutzt werden " "für die Ankündigung, Aufruf oder Zuweisung von kodierten Zeichensätzen. Die " "Kontrollfunktionen folgen dem ISO 2022 Standard und können aus einem Escape " "Kontrollzeichen und mehreren Graphikzeichen bestehen." #: src/datasets.cpp:145 msgid "Unique Name Object" msgstr "Eindeutiges Namensobjekt" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" "Dieses Feld stellt, wie im IIM spezifiziert, eine globale eindeutige " "Identifikation für Objekte zur Verfügung, die unabhängig vom Anbieter und " "der Medienform ist. Der Anbieter muss gewährleisten, dass das eindeutige " "Namensobjekt auch wirklich eindeutig ist. D.h. Objekte mit demselben " "Namensobjekt sind identisch." #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "ARM-ID" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" "Das \"DataSet\" identifiziert die \"Abstract Relationship Method-ID\" (ARM). " "Dies ist in einem Dokument beschrieben, dass der Urheber des ARM bei den " "Organisationen IPTC und NAA registriert hat." #: src/datasets.cpp:156 msgid "ARM Version" msgstr "ARM-Version" #: src/datasets.cpp:157 msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" "Dieses Feld enthält eine binäre Nummer die die genaue Version des ARM " "angibt, der mit dem Feld angegeben wurde." #: src/datasets.cpp:170 msgid "Record Version" msgstr "Datensatzversion" #: src/datasets.cpp:171 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Eine binäre Nummer, die vom Erzeuger angepasst wurde, die die Version des " "\"Information Interchange Model, Part II\" angibt. Die versionen werden " "durch die Organisationen IPTC und NAA zugewiesen." #: src/datasets.cpp:175 msgid "Object Type" msgstr "Motivtyp" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" "Der Objekttyp wird benutzt, um zwischen verschiedenen Typen innerhalb des " "IIM zu unterscheiden. Der erste Teil ist eine Nummer, die ein " "sprachunabhängige Referenz auf den Objekttyp gefolgt von einem Doppelpunkt " "bildet. Der zweite Teil, wenn er benutzt wird, ist eine Textrepräsentation " "der Nummer des Objekttyps, die aus graphischen Zeichen und Freistellen in " "Englisch oder in der Sprache besteht, die mit dem Feld " "angegeben wurde." #: src/datasets.cpp:184 msgid "Object Attribute" msgstr "Motivattribut" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" "Das Attribut Objekt definiert die Natur des Objektes unabhängig vom Motiv. " "Der erste Teil ist eine Nummer, gefolgt von einem Doppelpunkt, die " "sprachunabhängig die international Referenz auf das Objektattribut " "repräsentiert. Der zweite Teil enthält, wenn er benutzt wird, einen Text aus " "Zeichen und Freizeichen, in englisch oder der Sprache die durch das Feld " " angegeben wird. Dieser Text repräsentiert die " "Attributnummer." #: src/datasets.cpp:193 msgid "Object Name" msgstr "Motivname" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" "Wird als Kurzreferenz für das Motiv benutzt. Wird zu existierenden Daten wie " "z.B. aktualisierten Stories, neuen Zuschnitten der geänderten Fotos, " "aktualisiert. Sollte mit dem Feld identifiziert werden." #: src/datasets.cpp:198 msgid "Document Title" msgstr "Dokumententitel" #: src/datasets.cpp:199 src/olympusmn.cpp:827 msgid "Edit Status" msgstr "Bearbeitungsstatus" #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "Der Status der Motivdaten wie der Anbieter ihn benutzen will." #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "Redaktionelle Aktualisierung" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" "Gibt den Typ der Aktualisierung zwischen diesem und dem vorangegangenen " "Objekt an. Die Verknüpfung zu dem vorangegangenen Objekt wird über die " "Felder und hergestellt. Dies geschieht durch " "die Standards des Anbieters." #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "Dringlichkeit" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" "Gibt die redaktionelle Wichtigkeit des Inhalts an und nicht notwendigerweise " "die Wichtigkeit, mit der der Umschlag behandelt werden muss. Siehe Feld " ". \"1\" ist die höchste, \"5\" normal und \"8\" die " "niedrigste Wichtigkeit." #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 msgid "Subject" msgstr "Motiv" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "" "Die Referenz des Motivs ist eine strukturierte Definition des Motivs, um das " "es sich dreht." #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "Kategorie" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" "Identifiziert das Motiv der Objektdaten aus der Sicht des Anbieters. Eine " "Liste von Kategorien wird durch eine regionale Instanz, insofern vorhanden, " "verwaltet. Wenn nicht wird die Liste vom Anbieter bereitgestellt." #: src/datasets.cpp:222 msgid "Supplemental Category" msgstr "Zusätzliche Kategorie" #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" "Zusätzliche Kategorien verfeinern das Motiv der Objektdaten. Eine " "zusätzliche Kategorie kann jede bekannte Kategorie die im Feld " "enthalten ist. Falls nicht, so bleibt die Auswahl der zusätzlichen Kategorie " "beim Anbieter." #: src/datasets.cpp:228 src/properties.cpp:442 msgid "Supplemental Categories" msgstr "Zusätzliche Kategorien" #: src/datasets.cpp:229 msgid "Fixture Id" msgstr "Fix-ID" #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" "Identifiziert Objektdaten die häufiger und vorhersagbar wieder auftreten. " "Dadurch wird es dem Benutzer möglich ein solches Objekt schnell zu finden " "oder wieder aufzurufen." #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 msgid "Keywords" msgstr "Schlüsselbegriffe" #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" "Schlüsselbegriffe werden benutzt, um spezielle Abfrageworte zu hinterlegen. " "Dabei wird davon ausgegangen, dass verschiedenen Typen von Daten, die mit " "demselben Motiv in Verbindung stehen, dieselben Schlüsselbegriffe benutzen. " "Dies erlaubt es dem empfangenden System oder den Subsystemen über alle Typen " "von Daten zu suchen um zusammengehörendes Material zu finden." #: src/datasets.cpp:240 msgid "Location Code" msgstr "Ortscode" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" "Gibt den Code des Landes bzw. der geographischen Lage an, die den Inhalt des " "Motivs entspricht. Wenn ISO einen passenden Ländercode in der ISO 3166 " "eingeführt hat, dann wird dieser benutzt. Wenn kein Code für die Lokation " "existiert, z.B. für Schiffe auf See oder im Weltraum, dann wird IPTC einen " "entsprechenden Code gemäß der Vorschriften von ISO 3166 aus drei Zeichen " "einführen um Konflikte zu vermeiden." #: src/datasets.cpp:248 msgid "Location Name" msgstr "Ortsname" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" "Stellt einen kompletten, veröffentlichbaren Namen des Landes/des " "geographischen Ortes zur Verfügung der dem Inhalt des Motivs entspricht. " "Dies geschieht nach den Richtlinien des Anbieters." #: src/datasets.cpp:253 src/properties.cpp:376 msgid "Release Date" msgstr "Freigabedatum" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" "Gibt im Format JJJJMMTT das früheste Datum an, an dem der Anbieter eine " "Benutzung des Motivs vorgesehen hat. Es folgt dem ISO 8601 Standard." #: src/datasets.cpp:257 msgid "Release Time" msgstr "Freigabezeit" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" "Gibt im Format SSMMSS:HHMM die früheste Zeit an, an dem der Anbieter eine " "Benutzung des Motivs vorgesehen hat. Es folgt dem ISO 8601 Standard." #: src/datasets.cpp:261 msgid "Expiration Date" msgstr "Verfalldatum" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" "Gibt im Format JJJJMMTT das letzte Datum an, an dem der Anbieter eine " "Benutzung des Motivs vorgesehen hat. Es folgt dem ISO 8601 Standard." #: src/datasets.cpp:265 msgid "ExpirationTime" msgstr "Verfallzeit" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" "Gibt im Format SSMMSS:HHMM die letzte Zeit an, an dem der Anbieter eine " "Benutzung des Motivs vorgesehen hat. Es folgt dem ISO 8601 Standard." #: src/datasets.cpp:269 msgid "Special Instructions" msgstr "Besondere Anweisungen" #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" "Andere redaktionelle Anweisungen, wie z.B. Embargos und Warnungen, bezüglich " "der Benutzung der Objektdaten." #: src/datasets.cpp:273 src/properties.cpp:439 msgid "Instructions" msgstr "Anweisungen" #: src/datasets.cpp:274 msgid "Action Advised" msgstr "Empfohlene Aktion" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" "Gibt den Typ der Aktion an, die dieses Objekt für ein vorangegangenes Objekt " "zur Verfügung stellt. Die Verknüpfung zum vorangegangenen Objekt wird mit " "den Feldern und nach den Standards des " "Anbieters hergestellt." #: src/datasets.cpp:279 msgid "Reference Service" msgstr "Referenzdienst" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" "Gibt den Dienstidentifizierer eines vorangegangenen Umschlags an, auf den " "das aktuelle Objekt verweist." #: src/datasets.cpp:283 msgid "Reference Date" msgstr "Referenzdatum" #: src/datasets.cpp:284 msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "" "Gibt das Datum eines vorangegangenen Umschlags an, auf den das aktuelle " "Objekt verweist." #: src/datasets.cpp:286 msgid "Reference Number" msgstr "Referenznummer" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "" "Gibt die Umschlagsnummer eines vorangegangenen Umschlags an, auf den das " "aktuelle Objekt verweist." #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 msgid "Date Created" msgstr "Erstellungsdatum" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" "Gibt in der Form JJJJMMTT das Datum des intellektuellen Inhalts an dem die " "Objektdaten erstellt wurden an. Nicht jedoch das datum der Erstellung der " "phyiskalischen Repräsentation. Es wird der ISO 8601 Standard benutzt." #: src/datasets.cpp:295 msgid "Time Created" msgstr "Erstellungszeit" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" "Gibt in der Form SSMMSS:HHMM die Uhrzeit des intellektuellen Inhalts an dem " "die Objektdaten erstellt wurden an. Nicht jedoch das datum der Erstellung " "der phyiskalischen Repräsentation. Es wird der ISO 8601 Standard benutzt." #: src/datasets.cpp:301 msgid "Digitization Date" msgstr "Digitalisierungsdatum" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" "Gibt in der Form JJJJMMTT das Datum an, an dem die digitale Version der " "Objektdaten erstellt wurde. Es wird der ISO 8601 Standard benutzt." #: src/datasets.cpp:305 msgid "Digitization Time" msgstr "Digitalisierungszeit" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" "Gibt in der Form SSMMSS:HHMM die Uhrzeit an, an dem die digitale Version der " "Objektdaten erstellt wurde. Es wird der ISO 8601 Standard benutzt." #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 msgid "Program" msgstr "Programm" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "Gibt den benutzen Programmtyp zum Erzeugen der Objektdaten an." #: src/datasets.cpp:313 msgid "Program Version" msgstr "Programmversion" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "" "Gibt die Version des Programms an, dass mit dem Feld angegeben " "swurde." #: src/datasets.cpp:316 msgid "Object Cycle" msgstr "Objektzyklus" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "Gibt den redaktionellen Zyklus der Objektdaten an." #: src/datasets.cpp:319 msgid "By-line" msgstr "Verfasserzeile" #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "" "Enthält den Namen des Erstellers, wie z.B. Autor, Fotograph oder Graphiker, " "des Motivs." #: src/datasets.cpp:323 src/properties.cpp:2103 msgid "Author" msgstr "Autor" #: src/datasets.cpp:324 msgid "By-line Title" msgstr "Titel der Verfasserzeile" #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "" "Der Titel der Verfasserzeile ist der Titel des oder der Ersteller der " "Objektdaten." #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 msgid "City" msgstr "Stadt" #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" "Identifiziert die Stadt, nach dem Standard des Anbieters, in der das Motiv " "liegt." #: src/datasets.cpp:333 msgid "Sub Location" msgstr "Genauer Ort" #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" "Identifiziert den Ort innerhalb der Stadt, nach dem Standard des Anbieters, " "in der das Motiv liegt." #: src/datasets.cpp:337 msgid "Province State" msgstr "Provinz/Staat" #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "" "Identifiziert enthält die Provinz bzw. den Staat, nach dem Standard des " "Anbieters, in der das Motiv liegt." #: src/datasets.cpp:341 msgid "State/Province" msgstr "Staat/Provinz" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 msgid "Country Code" msgstr "Länderkode" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" "Gibt den Kode des Landes/des primären Ortes an, in dem das geistige Eigentum " "der Objektdaten erstellt wurde. Dies ist z.B. für ein Foto der Ort an dem es " "gemacht wurde oder ein Ereigniss geschah. Für die Orte die von dem " "entsprechenden ISO-Länderkode 3166 erfasst sind, wird diese Kode benutzt. " "Wenn ISO 3166 keine adäquate Möglichkeit zur Identifikation darstellt, z.B. " "bei Schiffen oder im Weltraum, dann wird IPTC einen passenden Kode aus drei " "Zeichen zur Verfügung stellen. Hierbei wird die ISO 3166 zur Vermeidung von " "Konflikten berücksichtigt." #: src/datasets.cpp:352 msgid "Country Name" msgstr "Ländername" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" "Stellt den vollen, veröffentlichbarern Namen des Landes bzw. der primären " "Lokation zur Verfügung, wo das intellektuelle Eigentum der Objektdaten " "erstellt wurde. Hierbei werden die Richtlinien des Anbieters beachtet." #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 msgid "Country" msgstr "Land" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 msgid "Transmission Reference" msgstr "Übertragungsreferenz" #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" "Ein Code nach den Standards des Anbieters, der den Ursprung der " "Originalübertragung angibt." #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 msgid "Headline" msgstr "Schlagzeile" #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "" "Ein veröffentlichbarer Eintrag, der eine Zusammenfassung des Inhalts der " "Objektdaten zur Verfügung stellt." #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 msgid "Credit" msgstr "Anbieter" #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "" "Identifiziert den Anbieter der Objektdaten. Dies ist nicht unbedingt der " "Besitzer oder der Ersteller." #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source" msgstr "Quelle" #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" "Identifiziert den Originalbesitzer des intellektuellen Inhalts der " "Objektdaten. Dies kan eine Agentur, ein Mitglied einer Agentur oder ein " "Individuum sein." #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "Enthält die Notwendigen Copyright-Notizen." #: src/datasets.cpp:379 msgid "Copyright Notice" msgstr "Copyright-Notiz" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 msgid "Contact" msgstr "Kontakt" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" "Identifiziert die Person oder Organisation, die weitere " "Hintergrundinformationen über die Objektdaten zur Verfügung stellen kann." #: src/datasets.cpp:384 src/properties.cpp:2101 msgid "Caption" msgstr "Abschnitt" #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "Eine textuelle Beschreibung der Objektdaten." #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 msgid "Description" msgstr "Beschreibung" #: src/datasets.cpp:388 msgid "Writer" msgstr "Schreiber" #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" "Identifiziert den Namen der Person, die beim Schreiben, Bearbeiten oder dem " "Korrigieren der Objektdaten, der Beschriftung oder der Zusammenfassung " "beteiligt war." #: src/datasets.cpp:392 msgid "Rasterized Caption" msgstr "Gerasterte Beschriftung" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" "Enthält die Beschreibung der Objektdaten gerastert und wird benutzt wenn " "nicht kodierte Zeichen für die Beschriftung benötigt werden." #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "Gibt die Farbkomponenten eines Bildes an." #: src/datasets.cpp:399 msgid "Image Orientation" msgstr "Bild-Orientierung" #: src/datasets.cpp:400 msgid "Indicates the layout of an image." msgstr "Gibt das Layout eines Bildes an." #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 msgid "Language" msgstr "Sprache" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" "Beschreibt die Hauptsprache eines Objektes. Dazu wird der zwei Zeichen-Kode " "nach ISO 639:1988 benutzt. Dadurch wird keine Zeichensatzkodierung definiert " "oder impliziert. Es kann aber für eine interen Weiterleitung benutzt werden, " "z:B. durch die richtigen redaktionellen Abteilungen." #: src/datasets.cpp:408 msgid "Audio Type" msgstr "Audiotyp" #: src/datasets.cpp:409 msgid "Indicates the type of an audio content." msgstr "Gibt den Typen eines Audioinhalts an." #: src/datasets.cpp:411 msgid "Audio Rate" msgstr "Audiorate" #: src/datasets.cpp:412 msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "Gibt die Sampling Rate eines Audioinhalts in Hertz an." #: src/datasets.cpp:414 msgid "Audio Resolution" msgstr "Audioauflösung" #: src/datasets.cpp:415 msgid "Indicates the sampling resolution of an audio content." msgstr "Gibt die Sampling-Auflösung eines Audioinhalts an." #: src/datasets.cpp:417 msgid "Audio Duration" msgstr "Audiodauer" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "Gibt der Dauer eines Audioinhalts an." #: src/datasets.cpp:420 msgid "Audio Outcue" msgstr "Audio-Outcue" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" "Identifiziert den Inhlat am Ende eines Audiodatenobjektes nach den " "Anbieterrichtlinen." #: src/datasets.cpp:424 msgid "Preview Format" msgstr "Vorschauformat" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" "Eine binäre Zahl die das Dateiformat der Vorschau der Objektdaten " "repräsentiert. Das Dateiformat muss bei den Organisationen IPTC oder NAA " "registriert sein und bekommt dort die eindeutige Zahl zugewiesen." #: src/datasets.cpp:429 src/properties.cpp:1276 msgid "Preview Version" msgstr "Vorschauversion" #: src/datasets.cpp:430 msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" "Eine binäre Zahl die die genaue Version eines der Vorschau eines " "Datenobjektes im Feld angibt." #: src/datasets.cpp:433 msgid "Preview Data" msgstr "Vorschaudaten" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "Vorschaudaten des binären Bildes." #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "(Ungültig)" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 msgid "Unknown dataset" msgstr "Unbekannter Datensatz" #: src/error.cpp:55 #, fuzzy msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "Fehler %0: arg1=%1, arg2=%2, arg3=%3." #: src/error.cpp:56 msgid "Success" msgstr "Erfolgreich" #: src/error.cpp:59 msgid "This does not look like a %1 image" msgstr "Dies scheint kein %1-Bild zu sein." #: src/error.cpp:60 msgid "Invalid dataset name `%1'" msgstr "Ungültiger Datensatzname \"%1\"" #: src/error.cpp:61 msgid "Invalid record name `%1'" msgstr "Ungültiger Datensatzname \"%1\"" #: src/error.cpp:62 msgid "Invalid key `%1'" msgstr "Ungültiger Schlüssel \"%1\"" #: src/error.cpp:63 msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "Ungültiger Feldname oder IFD-ID `%1', IFD-ID %2" #: src/error.cpp:64 msgid "Value not set" msgstr "Wert nicht gesetzt" #: src/error.cpp:65 msgid "%1: Failed to open the data source: %2" msgstr "%1: Die Datenquelle konnte nicht geöffnet werden: %2" #: src/error.cpp:66 msgid "%1: Failed to open file (%2): %3" msgstr "%1: Die Datei konnte nicht geöffnet werden (%2): %3" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "%1: Die Datei enthält Daten eines unbekannten Bildtyps." #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "Der Speicher enthält Daten eines unbekannten Bildtypes." #: src/error.cpp:69 msgid "Image type %1 is not supported" msgstr "Der Bildtyp %1 wird nicht unterstützt." #: src/error.cpp:70 msgid "Failed to read image data" msgstr "Die Bilddaten konnten nicht gelesen werden." #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "Dies scheint kein JPEG-Bild zu sein." #: src/error.cpp:72 msgid "%1: Failed to map file for reading and writing: %2" msgstr "" "%1: Die Datei konnte nicht für Lese- und Schreibzugriff gemappt werden: %2" #: src/error.cpp:73 msgid "%1: Failed to rename file to %2: %3" msgstr "%1: Datei konnte nicht umbenannt werden nach %2: %3" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "%1: Transfer fehlgeschlagen: %2" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "Speichertransfer fehlgeschlagen: %1" #: src/error.cpp:76 msgid "Failed to read input data" msgstr "Die Eingabedaten konnten nicht gelesen werden." #: src/error.cpp:77 msgid "Failed to write image" msgstr "Das Bild konnte nicht geschrieben werden." #: src/error.cpp:78 msgid "Input data does not contain a valid image" msgstr "Die Eingabedaten enthalten kein gültiges Bild." #: src/error.cpp:79 msgid "Invalid ifdId %1" msgstr "Ungültige IFD-ID %1" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "Entry::setValue: Wert zu groß (Feld=%1, Größe=%2, Angefragt=%3)" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "Entry::setDataArea: Wert zu groß (Feld=%1, Größe=%2, Angefragt=%3)" #: src/error.cpp:82 msgid "Offset out of range" msgstr "Offset ausserhalb des zulässigen Bereiches" #: src/error.cpp:83 msgid "Unsupported data area offset type" msgstr "Nicht unterstützter Datenbereich für den Offsettyp" #: src/error.cpp:84 msgid "Invalid charset: `%1'" msgstr "Ungültiger Zeichensatz: \"%1\"" #: src/error.cpp:85 msgid "Unsupported date format" msgstr "Nicht unterstütztes Datumsformat" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "Nicht unterstütztes Zeitformat" #: src/error.cpp:87 msgid "Writing to %1 images is not supported" msgstr "Das Schreiben von %2-Bildern wird nicht unterstützt." #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "Das Setzen von %1 in %2-Bildern wird nicht unterstützt." #: src/error.cpp:89 msgid "This does not look like a CRW image" msgstr "Dies scheint kein CRW Bild zu sein." #: src/error.cpp:90 msgid "%1: Not supported" msgstr "%1: Nicht unterstützt" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "Keine Namensrauminformation für den XMP-Präfix `%1' verfügbar" #: src/error.cpp:92 msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "" "Es ist kein Präfix registriert für den Namensraum `%2', dieser wird benötigt " "für den Eigenschaftspfad `%1'" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "Die Größe des %1 JPEG-Segments ist größer als 65535 Bytes." #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "Nicht verwaltbares XMP-Datum %1 vom Typ %2" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "Nicht verwaltbarer XMP-Knoten %1 mit opt=%2" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "Fehler des XMP-Werkzeugsatzes %1: %2" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "" "Fehler beim Dekodieren der alternativen Spracheigenschaft %1 mit opt=%2" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "Fehler beim Dekodieren der alternativen Sprachvermerks %1 mit opt=%2" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "Fehler beim Enkodieren der alternativen Spracheigenschaft %1" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "" "Fehler bei der Bestimmung des Eigenschaftsnamen aus dem Pfad %1, Namensraum " "%2" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "Namensraum des Schemas %1 ist nicht im XMP Werkzeugsatz registriert" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "Es ist kein Namensraum für den Präfix `%1' registriert" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" "Aliase werden nicht unterstützt. Bitte senden Sie dieses XMP-Packet an " "ahuggel@gmx.net `%1', `%2', `%3'" #: src/error.cpp:104 msgid "Invalid XmpText type `%1'" msgstr "Ungültiger Xmp-Texttyp `%1'" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "Der TIFF Ordner %1 hat zu viele Einträge" #: src/error.cpp:106 msgid "Multiple TIFF array element tags %1 in one directory" msgstr "Mehrfache TIFF-Feldelemente %1 in einem Ordner" #: src/error.cpp:107 msgid "TIFF array element tag %1 has wrong type" msgstr "Das TIFF-Feldelement %1 hat den falschen Typ" #: src/error.cpp:108 msgid "%1 has invalid XMP value type `%2'" msgstr "%1 hat ungültigen XMP-Wertetyp \"%1\"" #: src/exiv2.cpp:213 #, fuzzy msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "Copyright (C) 2004-2015 Andreas Huggel.\n" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" "Dieses Programm ist freie Software. Sie können es weitergeben und/oder\n" "verändern unter den Bedingungen der GNU General Public Lizenz, die von\n" "der Free Software Foundation veröffentlicht wurde. Gültig ist die Version 2\n" "der Lizenz oder, wenn Sie es wünschen, spätere Versionen.\n" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" "Dieses Programm wird Ihnen in der Hoffnung zur Verfügung gestellt,\n" "das Sie es brauchbar finden. Es gibt KEINE GARANTIE, noch nicht mal\n" "eine implizite Zusicherung allgemeiner Gebrauchstauglichkeit oder der\n" "Zusicherung der erforderlichen Gebrauchstauglichkeit. Weitere Details\n" "finden Sie in der GNU General Public Lizenz.\n" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" "Sie sollten mit diesem Programm eine Kopie der GNU General Public\n" "Lizenz bekommen haben. Falls nicht, so wenden Sie sich bitte an die\n" "Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "Benutzung:" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" "[ Optionen ] [ Aktionen ] Datei ...\n" "\n" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "Ändert die Exif-Metadaten von Bildern.\n" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" "\n" "Aktionen:\n" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" " ad | adjust ändert die Exif-Zeitstempel um eine gegebene Zeit. Diese\n" " Aktion benötigt mindestens eine der Optionen -a, -Y, -O oder " "-D.\n" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr " pr | print Druckt die Metadaten des Bildes.\n" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr " rm | delete Löscht die Bildmetadaten aus den Dateien.\n" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" " in | insert Fügt die Metadaten aus den zugehörigen *.exv Dateien ein.\n" " Benutzen Sie die Option -S um die Erweiterung der " "Eingabedateien zu ändern.\n" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" " ex | extract Extrahiert die Metadaten in *.exv, *.xmp und " "Bildvorschaudateien.\n" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" " mv | rename Benennt Dateien und/oder setzt die Dateizeitstempel passend " "zu den\n" " Exif-Erstellungszeitstempeln. Das Format der Dateinamen kann " "mit der Option\n" " -r format gesetzt werden. Die Optionen der Zeitstempel " "werden mit -t und -T kontrolliert.\n" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" " mo | modify Wendet Kommandos zum Ändern (Hinzufügen, Setzen, Löschen) " "der Exif- und\n" " IPTC-Metadaten von Bilddateien an oder setzt den JPEG-" "Kommentar.\n" " Benötigt zusätzlich eine Option von -c, -m oder -M.\n" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" " fi | fixiso Kopiert die ISO-Einstellungen aus der Nikon-" "Herstellerbemerkung in das reguläre\n" " Exif-Feld.\n" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" " fc | fixcom Konvertiert den UNICODE-Exif-Nutzerkommentar nach UCS-2. Die " "zugehörige\n" " Zeichenkodierung kann mit der Option -n angegeben werden.\n" #: src/exiv2.cpp:262 msgid "" "\n" "Options:\n" msgstr "" "\n" "Optionen:\n" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr " -h Gibt diese Hilfe aus und beendet sich.\n" #: src/exiv2.cpp:264 msgid " -V Show the program version and exit.\n" msgstr " -V Zeigt die Programmversion an und beendet sich.\n" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr " -v Ausführliche Meldungen während des Programmlaufs.\n" #: src/exiv2.cpp:266 msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr "" " -q Schaltet Warnungen und Fehlermeldungen während des Programmlaufs " "stumm (quiet).\n" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" " -Q lvl Setzt das Log-Level zu d(ebug), i(nfo), w(arning), e(rror) oder m" "(ute).\n" #: src/exiv2.cpp:268 msgid " -b Show large binary values.\n" msgstr " -b Zeigt große binäre Werte an.\n" #: src/exiv2.cpp:269 msgid " -u Show unknown tags.\n" msgstr " -u Zeigt unbekannte Felder an.\n" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr " -g key Ausgabe nur für diesen Schlüssel (grep).\n" #: src/exiv2.cpp:271 #, fuzzy msgid " -K key Only output info for this key (exact match).\n" msgstr " -g key Ausgabe nur für diesen Schlüssel (grep).\n" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" " -n enc Setzt den Zeichensatz, um UNICODE-Exif-Nutzerkommentare zu " "dekodieren.\n" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr " -k Bewahrt die Dateizeitstempel (keep).\n" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" " -t Setzt bei der Aktion 'Umbenennen' auch die Zeitstempel der Datei " "(überschreibt -k).\n" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" " -T Setzt bei der Aktion 'Umbenennen' nur die Dateizeitstempel und " "benennt die Datei nicht um (überschreibt -k).\n" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr "" " -f Keine Nachfrage beim Überschreiben existierender Dateien " "(force).\n" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr " -F Keine Nachfrage beim Umbenennen von Dateien (Force).\n" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" " -a time Zeitjustierung im Format [-]HH[:MM[:SS]]. Diese Option wird\n" " nur in Zusammenhang mit der Aktion 'adjust' benutzt.\n" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr " -Y yrs Justierung von Jahren in der Aktion 'adjust'.\n" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr " -O mon Justierung der Monate in der Aktion 'adjust'.\n" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr " -D day Justierung von Tagen in der Aktion 'adjust'.\n" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr " -p mode Druckmodus für die Aktion 'Drucken'. Mögliche Modi sind:\n" #: src/exiv2.cpp:285 msgid " s : print a summary of the Exif metadata (the default)\n" msgstr "" " s : druckt eine Zusammenfassung der Exif-Metadaten (Standard)\n" #: src/exiv2.cpp:286 msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr "" " a : druckt Exif-, IPTC- und XMP-Metadaten (Kurzform für -" "Pkyct)\n" #: src/exiv2.cpp:287 msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr " t : interpretierte (übersetzte) Exif-Daten (-PEkyct)\n" #: src/exiv2.cpp:288 msgid " v : plain Exif data values (-PExgnycv)\n" msgstr " v : blanke Exif-Datenwerte (-PExgnycv)\n" #: src/exiv2.cpp:289 msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr " h : Hexdump der Exif-Daten (-PExgnycsh)\n" #: src/exiv2.cpp:290 msgid " i : IPTC data values (-PIkyct)\n" msgstr " i : IPTC-Datenwerte (-PIkyct)\n" #: src/exiv2.cpp:291 msgid " x : XMP properties (-PXkyct)\n" msgstr " x : XMP-Eigenschaften (-PXkyct)\n" #: src/exiv2.cpp:292 src/exiv2.cpp:317 msgid " c : JPEG comment\n" msgstr " c : JPEG-Kommentar\n" #: src/exiv2.cpp:293 msgid " p : list available previews\n" msgstr " p : listet verfügbare Voransichten auf\n" #: src/exiv2.cpp:294 #, fuzzy msgid " S : print structure of image\n" msgstr " v : Blanker Datenwert\n" #: src/exiv2.cpp:295 #, fuzzy msgid " X : extract XMP from image\n" msgstr " X : XMP-Eigenschaften\n" #: src/exiv2.cpp:296 msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" " -P flgs Druckflags zur Feinsteuerung der Feldliste (Aktion 'Drucken'). " "Gültig sind:\n" #: src/exiv2.cpp:297 msgid " E : include Exif tags in the list\n" msgstr " E : berücksichtigt Exif-Felder in der List\n" #: src/exiv2.cpp:298 msgid " I : IPTC datasets\n" msgstr " I : IPTC-Datensätze\n" #: src/exiv2.cpp:299 msgid " X : XMP properties\n" msgstr " X : XMP-Eigenschaften\n" #: src/exiv2.cpp:300 msgid " x : print a column with the tag number\n" msgstr " x : druckt eine Spalte mit der Feldnummer\n" #: src/exiv2.cpp:301 msgid " g : group name\n" msgstr " g : Gruppenname\n" #: src/exiv2.cpp:302 msgid " k : key\n" msgstr " k : Schlüssel\n" #: src/exiv2.cpp:303 msgid " l : tag label\n" msgstr " l : Feldlabel\n" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr " n : Feldname\n" #: src/exiv2.cpp:305 msgid " y : type\n" msgstr " y : Typ\n" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr " c : Anzahl der Komponenten (Zähler)\n" #: src/exiv2.cpp:307 msgid " s : size in bytes\n" msgstr " s : Größe in Bytes\n" #: src/exiv2.cpp:308 msgid " v : plain data value\n" msgstr " v : Blanker Datenwert\n" #: src/exiv2.cpp:309 msgid " t : interpreted (translated) data\n" msgstr " t : interpretierte, übersetzte Daten\n" #: src/exiv2.cpp:310 msgid " h : hexdump of the data\n" msgstr " h : Hexdump der Daten\n" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr "" " -d tgt Löschziel(e) für die Aktion \"Löschen\". Mögliche Ziele sind:\n" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr " a : alle unterstützten Metadaten (Standard)\n" #: src/exiv2.cpp:313 msgid " e : Exif section\n" msgstr " e : Exif-Abschnitt\n" #: src/exiv2.cpp:314 msgid " t : Exif thumbnail only\n" msgstr " t : Nur die Exif-Vorschau\n" #: src/exiv2.cpp:315 msgid " i : IPTC data\n" msgstr " i : IPTC-Daten\n" #: src/exiv2.cpp:316 msgid " x : XMP packet\n" msgstr " x : XMP-Paket\n" #: src/exiv2.cpp:318 msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" " -i tgt Einfügeziel(e) für die Aktion \"Einfügen\". Mögliche Ziele sind\n" " die gleichen wie bei der Option -d und ein Modifizierer:\n" " X : Fügt die Metadaten aus der XMP-Zusatzdatei .xmp ein\n" " Nur JPEG-Bildvorschauen können eingefügt werden. Sie müssen den " "Namen\n" " -thumb.jpg haben.\n" #: src/exiv2.cpp:323 msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" " -e tgt Extraktionsziel(e) für die Aktion 'Extrahieren'. Mögliche Ziele " "sind\n" " die gleichen wie bei der Option -d sowie ein Ziel zum " "Extrahieren\n" " von Vorschaubildern und ein Modifizierer zum Erzeugen einer XMP-" "Zusatzdatei:\n" " p[[, ...]] : Extrahiert Vorschaubilder.\n" " X : Extrahiert die Metadaten in die XMP-Zusatzdatei .xmp\n" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" " -r fmt Dateinamensformat für die Aktion 'Umbenennen'. Die " "Formatierungszeichenkette\n" " entspricht strftime(3). Die folgenden Schlüsselwörter werden " "unterstützt:\n" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr " :basename: - Originaldateiname ohne Erweiterung\n" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr "" " :dirname: - Name des Ordners in dem die Originaldatei liegt\n" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr " :parentname: - Name des Elternordners\n" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr " Das Standardformat des Dateinamens ist " #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr " -c txt JPEG-Kommentar, der im Bild gesetzt wird.\n" #: src/exiv2.cpp:336 msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" " -m datei Befehlsdatei für die Aktion \"Modifizieren\". Das Format für die " "Befehle ist\n" " set|add|del [[] ].\n" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" " -M bef Befehlszeile für die Aktion \"Modifizieren\". Das Format für die\n" " Befehle ist das gleiche wie der Befehlsdatei.\n" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" " -l ord Ort (Ordner) für die Dateien, aus denen eingefügt bzw. extrahiert " "wird.\n" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" " -S .suf Benutzt den Suffix .suf für die Quelldateien beim Befehl " "Einfügen.\n" "\n" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 msgid "Option" msgstr "Option" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "benötigt ein Argument\n" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "Unbekannte Option" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "\"getopt\" gab einen unerwarteten Zeichencode zurück" #: src/exiv2.cpp:410 #, fuzzy msgid "Invalid argument" msgstr "Ungültiger Schlüssel" #: src/exiv2.cpp:434 #, fuzzy msgid "Invalid regexp" msgstr "Ungültiger Schlüssel" #: src/exiv2.cpp:473 src/exiv2.cpp:526 msgid "Ignoring surplus option" msgstr "Die überzählige Option wird ignoriert" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "kann nicht mit einer vorangegangenen Option zusammen benutzt werden\n" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "Die überflüssige Option \"-a\" wird ignoriert" #: src/exiv2.cpp:504 msgid "Error parsing -a option argument" msgstr "Fehler beim Verarbeiten des Arguments \"-a\"" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "" "Die Option \"-a\" kann nicht mit einer vorangegangenen Option zusammen " "benutzt werden\n" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "Fehler bei der Verarbeitung" #: src/exiv2.cpp:535 msgid "option argument" msgstr "Optionsargument" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "Unbekannter Druckmodus" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "Die überflüssige Option \"-p\" wird ignoriert" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "" "Die Option \"-p\" kann nicht mit einer vorangegangenen Option zusammen " "benutzt werden\n" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "Unbekannter Druckeintrag" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "Die überflüssige Option \"-P\" wird ignoriert" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "" "Die Option \"-P\" kann nicht mit einer vorangegangenen Option zusammen " "benutzt werden\n" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "" "Die Option \"-d\" kann nicht mit einer vorangegangenen Option zusammen " "benutzt werden\n" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "" "Die Option \"-e\" kann nicht mit einer vorangegangenen Option zusammen " "benutzt werden\n" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "" "Die Option \"-i\" kann nicht mit einer vorangegangenen Option zusammen " "benutzt werden\n" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "" "Die Aktion \"adjust\" kann nicht mit den anderen Optionen zusammen benutzt " "werden\n" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "" "Die Aktion \"print\" kann nicht mit den anderen Optionen zusammen benutzt " "werden\n" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "" "Die Aktion \"delete\" kann nicht mit den anderen Option zusammen benutzt " "werden\n" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "" "Die Aktion \"extract\" kann nicht mit den anderen Optionen zusammen benutzt " "werden\n" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "" "Die Aktion \"insert\" kann nicht mit den anderen Optionen zusammen benutzt " "werden\n" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "" "Die Aktion \"rename\" kann nicht mit den anderen Optionen zusammen benutzt " "werden\n" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "" "Die Aktion \"modify\" kann nicht mit den anderen Optionen zusammen benutzt " "werden\n" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "" "Die Aktion \"fixiso\" kann nicht mit den anderen Optionen zusammen benutzt " "werden \n" #: src/exiv2.cpp:824 #, fuzzy msgid "Action fixcom is not compatible with the given options\n" msgstr "" "Die Aktion \"fixiso\" kann nicht mit den anderen Optionen zusammen benutzt " "werden \n" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "Eine Aktion muss angegeben werden\n" #: src/exiv2.cpp:904 msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "" "Die Aktion \"justieren\" benötigt mindestens eine der Optionen \"-a\", \"-Y" "\", \"-O\" oder \"-D\"\n" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "" "Die Aktion \"modify\" benötigt mindestens eine der Optionen \"-c\", \"-m\" " "oder \"-M\"\n" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "Es muss mindestens eine Datei angegeben werden\n" #: src/exiv2.cpp:920 msgid "Error parsing -m option arguments\n" msgstr "Fehler beim Verarbeiten der Argumente der Option \"-m\"\n" #: src/exiv2.cpp:927 msgid "Error parsing -M option arguments\n" msgstr "Fehler beim Verarbeiten der Argumente der Option \"-M\"\n" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "" "-l Option kann nur bei den Aktionen \"extract\" und \"insert\" benutzt " "werden\n" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "-S Option kann nur bei der Aktion \"insert\" benutzt werden\n" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "-t Option kann nur bei der Aktion \"rename\" benutzt werden.\n" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "-T Option kann nur bei der Aktion \"rename\" benutzt werden.\n" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "Unbekannt" #: src/exiv2.cpp:1039 msgid "target" msgstr "Ziel" #: src/exiv2.cpp:1065 #, fuzzy msgid "Invalid preview number" msgstr "Intervallnummer" #: src/exiv2.cpp:1097 msgid "Failed to open command file for reading\n" msgstr "Die Kommandozeile konnte nicht gelesen werden\n" #: src/exiv2.cpp:1110 msgid "line" msgstr "Zeile" #: src/exiv2.cpp:1133 msgid "-M option" msgstr "Option \"-M\"" #: src/exiv2.cpp:1180 #, fuzzy msgid "Invalid command line:" msgstr "Ungültige Kommandozeile" #: src/exiv2.cpp:1187 msgid "Invalid command" msgstr "Ungültiges Kommando" #: src/exiv2.cpp:1219 msgid "Invalid key" msgstr "Ungültiger Schlüssel" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "Ungültige Kommandozeile" #: src/fujimn.cpp:62 msgid "Soft mode 1" msgstr "Softmodus 1" #: src/fujimn.cpp:63 msgid "Soft mode 2" msgstr "Softmodus 2" #: src/fujimn.cpp:65 msgid "Hard mode 1" msgstr "Hartmodus 1" #: src/fujimn.cpp:66 msgid "Hard mode 2" msgstr "Hartmodus 2" #: src/fujimn.cpp:74 msgid "Fluorescent (daylight)" msgstr "Fluoreszenz (Tageslicht)" #: src/fujimn.cpp:75 msgid "Fluorescent (warm white)" msgstr "Fluoreszenz (warmes Weiß)" #: src/fujimn.cpp:76 msgid "Fluorescent (cool white)" msgstr "Fluoreszenz (kaltes Weiß)" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 msgid "Incandescent" msgstr "Glühend" #: src/fujimn.cpp:87 src/fujimn.cpp:88 msgid "None (black & white)" msgstr "Nichts (Schwarz/Weiß)" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 msgid "Red-eye reduction" msgstr "Rote Augen reduzieren" #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 msgid "Night scene" msgstr "Nachtszene" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 msgid "Program AE" msgstr "Program \"automatische Belichtung\"" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "Natürliches Licht" #: src/fujimn.cpp:122 msgid "Anti-blur" msgstr "Anti-Unschärfe" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 msgid "Sunset" msgstr "Sonnenuntergang" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 msgid "Museum" msgstr "Museum" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 msgid "Party" msgstr "Feier" #: src/fujimn.cpp:126 msgid "Flower" msgstr "Blume" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "Text" #: src/fujimn.cpp:128 msgid "Natural light & flash" msgstr "Natürliches Licht & Blitz" #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 msgid "Aperture-priority AE" msgstr "Blendenpriorität AE" #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 #, fuzzy msgid "Shutter speed priority AE" msgstr "Verschlussgeschwindigkeit-Priorität" #: src/fujimn.cpp:142 msgid "No flash & flash" msgstr "Kein Blitz & Blitz" #: src/fujimn.cpp:148 msgid "Chrome" msgstr "Chrom" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 msgid "Wide" msgstr "Weit" #: src/fujimn.cpp:160 msgid "F0/Standard" msgstr "F0/Standard" #: src/fujimn.cpp:161 msgid "F1/Studio portrait" msgstr "F1/Studioportrait" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "F2/Fujichrome" #: src/fujimn.cpp:163 msgid "F3/Studio portrait Ex" msgstr "F3/Studioportrait Ex" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "F4/Velvia" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "Auto (100-400%)" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "Roh" #: src/fujimn.cpp:171 msgid "Standard (100%)" msgstr "Standard (100%)" #: src/fujimn.cpp:172 msgid "Wide mode 1 (230%)" msgstr "Weitenmodus 1 (230%)" #: src/fujimn.cpp:173 msgid "Wide mode 2 (400%)" msgstr "Weitenmodus 2 (400%)" #: src/fujimn.cpp:174 msgid "Film simulation mode" msgstr "Film-Simulationsmodus" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 msgid "Version" msgstr "Version" #: src/fujimn.cpp:180 msgid "Fujifilm Makernote version" msgstr "Version der Fujifilm Herstellerbemerkung" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" "Die Nummer ist eindeutig und enthält das Datum der Herstellung. Es handelt " "sich nicht, um die gleiche Nummer wie die auf dem Kameragehäuse." #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 msgid "Image quality setting" msgstr "Bildqualitätseinstellung" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 msgid "Color" msgstr "Farbe" #: src/fujimn.cpp:196 msgid "Chroma saturation setting" msgstr "Chroma-Sättigungseinstellungen" #: src/fujimn.cpp:198 msgid "Tone" msgstr "Ton" #: src/fujimn.cpp:202 msgid "Flash firing mode setting" msgstr "Blitzeinstellung" #: src/fujimn.cpp:204 msgid "Flash Strength" msgstr "Blitzstärke" #: src/fujimn.cpp:205 #, fuzzy msgid "Flash firing strength compensation setting" msgstr "Blitzkompensationseinstellung" #: src/fujimn.cpp:208 msgid "Macro mode setting" msgstr "Makromoduseinstellung" #: src/fujimn.cpp:211 msgid "Focusing mode setting" msgstr "Fokusmoduseinstellung" #: src/fujimn.cpp:216 msgid "Slow Sync" msgstr "Langsame Synchronisation" #: src/fujimn.cpp:217 msgid "Slow synchro mode setting" msgstr "Einstellungen des langsamen Synchronisationsmodus" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 msgid "Picture Mode" msgstr "Bildmodus" #: src/fujimn.cpp:220 msgid "Picture mode setting" msgstr "Bildmoduseinstellung" #: src/fujimn.cpp:226 msgid "Continuous shooting or auto bracketing setting" msgstr "Einstellungen für kontinuierliche Aufnahmen oder Belichtungsreihen" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 msgid "Sequence Number" msgstr "Sequenznummer" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 msgid "Sequence number" msgstr "Sequenznummer" #: src/fujimn.cpp:234 msgid "FinePix Color" msgstr "FinePix Farbe" #: src/fujimn.cpp:235 msgid "Fuji FinePix color setting" msgstr "Fuji FinePix Farbeinstellung" #: src/fujimn.cpp:237 msgid "Blur Warning" msgstr "Unschärfewarnung" #: src/fujimn.cpp:238 msgid "Blur warning status" msgstr "Unschärfewarnung-Status" #: src/fujimn.cpp:240 msgid "Focus Warning" msgstr "Fokuswarnung" #: src/fujimn.cpp:241 msgid "Auto Focus warning status" msgstr "Status der Auto-Fokuswarnung" #: src/fujimn.cpp:243 msgid "Exposure Warning" msgstr "Belichtungswarnung" #: src/fujimn.cpp:244 msgid "Auto exposure warning status" msgstr "Status der Auto-Belichtungswarnung" #: src/fujimn.cpp:246 msgid "Dynamic Range" msgstr "Dynamischer Bereich" #: src/fujimn.cpp:247 msgid "Dynamic range" msgstr "Dynamischer Bereich" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 msgid "Film Mode" msgstr "Filmmodus" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 msgid "Film mode" msgstr "Filmmodus" #: src/fujimn.cpp:252 msgid "Dynamic Range Setting" msgstr "Dynamische Bereichseinstellung" #: src/fujimn.cpp:253 msgid "Dynamic range settings" msgstr "Dynamische Bereichseinstellung" #: src/fujimn.cpp:255 msgid "Development Dynamic Range" msgstr "Entwicklungsdynamischer Bereich" #: src/fujimn.cpp:256 msgid "Development dynamic range" msgstr "Entwicklungsdynamischer Bereich" #: src/fujimn.cpp:258 msgid "Minimum Focal Length" msgstr "Minimale Fokuslänge" #: src/fujimn.cpp:259 msgid "Minimum focal length" msgstr "Minimale Fokuslänge" #: src/fujimn.cpp:261 msgid "Maximum Focal Length" msgstr "Maximale Fokuslänge" #: src/fujimn.cpp:262 msgid "Maximum focal length" msgstr "Maximale Fokuslänge" #: src/fujimn.cpp:264 #, fuzzy msgid "Maximum Aperture at Minimum Focal" msgstr "Maximale Blende bei minimalem Fokus" #: src/fujimn.cpp:265 #, fuzzy msgid "Maximum aperture at minimum focal" msgstr "Maximale Blende bei minimalem Fokus" #: src/fujimn.cpp:267 #, fuzzy msgid "Maximum Aperture at Maximum Focal" msgstr "Maximale Blende bei maximalem Fokus" #: src/fujimn.cpp:268 #, fuzzy msgid "Maximum aperture at maximum focal" msgstr "Maximale Blende bei maximalem Fokus" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 msgid "File Source" msgstr "Dateiquelle" #: src/fujimn.cpp:271 msgid "File source" msgstr "Dateiquelle" #: src/fujimn.cpp:273 msgid "Order Number" msgstr "Ablaufsnummer" #: src/fujimn.cpp:274 msgid "Order number" msgstr "Ablaufsnummer" #: src/fujimn.cpp:276 msgid "Frame Number" msgstr "Einzelbildnummer" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 msgid "Frame number" msgstr "Einzelbildnummer" #: src/fujimn.cpp:281 msgid "Unknown FujiMakerNote tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Fujii" #: src/minoltamn.cpp:56 msgid "Natural Color" msgstr "Natürliche Farbe" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 msgid "Vivid Color" msgstr "Vivid Farbe" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 msgid "Solarization" msgstr "Solarisation" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "AdobeRGB" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 msgid "Natural" msgstr "Natürlich" #: src/minoltamn.cpp:64 msgid "Natural sRGB" msgstr "Natürliches sRGB" #: src/minoltamn.cpp:65 msgid "Natural+ sRGB" msgstr "Natürlich + sRGB" #: src/minoltamn.cpp:67 msgid "Evening" msgstr "Abend" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 msgid "Night Portrait" msgstr "Nachtportrait" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 msgid "Super Fine" msgstr "Superfein" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 msgid "Extra Fine" msgstr "Extrafein" #: src/minoltamn.cpp:90 msgid "Makernote Version" msgstr "Version der Herstellerbemerkung" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "" #: src/minoltamn.cpp:93 msgid "Camera Settings (Std Old)" msgstr "Kameraeinstellungen(Alter Standard)" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "" "Standard-Kameraeinstellungen (für alte Kameras wie z.B. D5, D7, S304 und " "S404)" #: src/minoltamn.cpp:96 msgid "Camera Settings (Std New)" msgstr "Kameraeinstellungen(Neuer Standard)" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "" "Standard-Kameraeinstellungen (für neue Kameras wie z.B. D7u, D7i und D7hi)" #: src/minoltamn.cpp:99 msgid "Camera Settings (7D)" msgstr "Kameraeinstellungen (7D)" #: src/minoltamn.cpp:100 msgid "Camera Settings (for Dynax 7D model)" msgstr "Kameraeinstellungen (für das Modell Dynax 7D)" #: src/minoltamn.cpp:102 msgid "Image Stabilization Data" msgstr "Bildstabilisierungsdaten" #: src/minoltamn.cpp:103 msgid "Image stabilization data" msgstr "Bildstabilisierungsdaten" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "" #: src/minoltamn.cpp:111 msgid "Compressed Image Size" msgstr "Komprimierte Bildgröße" #: src/minoltamn.cpp:112 msgid "Compressed image size" msgstr "Komprimierte Bildgröße" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "Jpeg-Vorschau 640x480 Pixel" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 msgid "Thumbnail Offset" msgstr "Bildvorschauoffset" #: src/minoltamn.cpp:118 msgid "Offset of the thumbnail" msgstr "Offset der Bildvorschau" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 msgid "Thumbnail Length" msgstr "Bildvorschaulänge" #: src/minoltamn.cpp:121 msgid "Size of the thumbnail" msgstr "Größe der Bildvorschau" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 msgid "Scene Mode" msgstr "Szenenmodus" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 msgid "Color Mode" msgstr "Farbmodus" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 msgid "Color mode" msgstr "Farbmodus" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 msgid "Image Quality" msgstr "Bildqualität" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 msgid "Flash Exposure Compensation" msgstr "Blitzkompensation" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 msgid "Flash exposure compensation in EV" msgstr "Blitzkompensation in EV" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 #, fuzzy msgid "Teleconverter Model" msgstr "Modell der Erweiterung" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 msgid "Zone Matching" msgstr "Zonenabgleich" #: src/minoltamn.cpp:154 msgid "Zone matching" msgstr "Zonenabgleich" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 msgid "Color temperature" msgstr "Farbtemperatur" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 msgid "Lens ID" msgstr "Linsen-ID" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 msgid "Lens identifier" msgstr "Linsen-Identifizierung" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 #, fuzzy msgid "Color Compensation Filter" msgstr "Tonkompensation" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 #, fuzzy msgid "White Balance Fine Tune" msgstr "Weißabgleichstabelle" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 #, fuzzy msgid "White Balance Fine Tune Value" msgstr "Weißabgleichswert" #: src/minoltamn.cpp:168 #, fuzzy msgid "Image Stabilization A100" msgstr "Bildstabilisierung" #: src/minoltamn.cpp:169 #, fuzzy msgid "Image Stabilization for the Sony DSLR-A100" msgstr "Bildstabilisierungsdaten" #: src/minoltamn.cpp:173 msgid "Camera Settings (5D)" msgstr "Kameraeinstellungen (5D)" #: src/minoltamn.cpp:174 msgid "Camera Settings (for Dynax 5D model)" msgstr "Kameraeinstellungen (für Dynax 5D Modell)" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 #, fuzzy msgid "PrintIM information" msgstr "GPS-Informationen" #: src/minoltamn.cpp:183 msgid "Camera Settings (Z1)" msgstr "Kameraeinstellungen (Z1)" #: src/minoltamn.cpp:184 msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "Kameraeinstellungen (für Z1, DImage X und F100 Modelle)" #: src/minoltamn.cpp:188 msgid "Unknown Minolta MakerNote tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Minolta" #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 msgid "Aperture priority" msgstr "Blendenpriorität" #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "Verschlusspriorität" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 msgid "Fill flash" msgstr "Aufhellblitz" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 msgid "Rear flash sync" msgstr "Rear-Flash-Sync" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 msgid "Wireless" msgstr "Drahtlos" #: src/minoltamn.cpp:224 msgid "Fluorescent 2" msgstr "Fluroszierend 2" #: src/minoltamn.cpp:231 msgid "Full size" msgstr "Volle Größe" #: src/minoltamn.cpp:243 msgid "Super fine" msgstr "Superfein" #: src/minoltamn.cpp:247 msgid "Extra fine" msgstr "Extrafein" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 #, fuzzy msgid "Single Frame" msgstr "Einzelbild" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 msgid "Self-timer" msgstr "Selbstauslöser" #: src/minoltamn.cpp:255 msgid "Bracketing" msgstr "Automatische Erfassung" #: src/minoltamn.cpp:256 msgid "Interval" msgstr "Intervall" #: src/minoltamn.cpp:257 msgid "UHS continuous" msgstr "UHS fortlaufend" #: src/minoltamn.cpp:258 msgid "HS continuous" msgstr "HS fortlaufend" #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 msgid "Multi-segment" msgstr "Mehr-Segment" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 msgid "Center weighted average" msgstr "Mittelpunkt gewichteter Durchschnitt" #: src/minoltamn.cpp:271 msgid "Electronic magnification" msgstr "Elektronische Vergrößerung" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 msgid "Top" msgstr "Oben" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 msgid "Top-right" msgstr "Oben - rechts" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 msgid "Bottom-right" msgstr "Unten - rechts" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 msgid "Bottom" msgstr "Unten" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 msgid "Bottom-left" msgstr "Unten - links" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 msgid "Top-left" msgstr "Oben - links" #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 msgid "Hard" msgstr "Hart" #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 msgid "Soft" msgstr "Weich" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 msgid "Night portrait" msgstr "Nachtportrait" #: src/minoltamn.cpp:315 msgid "Sports action" msgstr "Sportaktion" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "Zeitrafferfilm" #: src/minoltamn.cpp:349 msgid "Standard form" msgstr "Standardformat" #: src/minoltamn.cpp:350 msgid "Data form" msgstr "Datenformat" #: src/minoltamn.cpp:355 msgid "Natural color" msgstr "Natürliche Farben" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 msgid "Black and white" msgstr "Schwarz/weiß" #: src/minoltamn.cpp:357 msgid "Vivid color" msgstr "Vivid Farbe" #: src/minoltamn.cpp:364 msgid "No zone" msgstr "Keine Zone" #: src/minoltamn.cpp:365 msgid "Center zone (horizontal orientation)" msgstr "Mittelzone (Horizontale Orientierung)" #: src/minoltamn.cpp:366 msgid "Center zone (vertical orientation)" msgstr "Mittelzone (Vertikale Orientierung)" #: src/minoltamn.cpp:367 msgid "Left zone" msgstr "Linke Zone" #: src/minoltamn.cpp:368 msgid "Right zone" msgstr "Rechte Zone" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 msgid "Auto focus" msgstr "Automatischer Fokus" #: src/minoltamn.cpp:379 msgid "Wide focus (normal)" msgstr "Weiter Fokus (Normal)" #: src/minoltamn.cpp:380 msgid "Spot focus" msgstr "Punktfokus" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 msgid "Exposure" msgstr "Belichtung" #: src/minoltamn.cpp:388 msgid "Filter" msgstr "Filter" #: src/minoltamn.cpp:393 msgid "Not embedded" msgstr "Nicht eingebettet" #: src/minoltamn.cpp:394 msgid "Embedded" msgstr "Eingebettet" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "Text + ID#" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "ADI (Advanced Distance Integration)" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "Pre-flash TTl" #: src/minoltamn.cpp:410 msgid "Manual flash control" msgstr "Manuelle Blitzkontrolle" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 msgid "Exposure Mode" msgstr "Belichtungsmodus" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 msgid "Flash mode" msgstr "Blitzmodus" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 msgid "Drive mode" msgstr "Antriebsmodus" #: src/minoltamn.cpp:512 #, fuzzy msgid "ISO Value" msgstr "ISO-Geschwindigkeitswert" #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 msgid "Exposure Time" msgstr "Belichtungszeit" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 msgid "FNumber" msgstr "F Nummer." #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 msgid "The F-Number" msgstr "Die F Nummer" #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 msgid "Macro Mode" msgstr "Makromodus" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 msgid "Exposure Compensation" msgstr "Belichtungskompensierung" #: src/minoltamn.cpp:529 msgid "Bracket Step" msgstr "Automatischer Erfassungsschritt" #: src/minoltamn.cpp:530 msgid "Bracket step" msgstr "Automatischer Erfassungsschritt" #: src/minoltamn.cpp:532 msgid "Interval Length" msgstr "Intervalllänge" #: src/minoltamn.cpp:533 msgid "Interval length" msgstr "Intervalllänge" #: src/minoltamn.cpp:535 msgid "Interval Number" msgstr "Intervallnummer" #: src/minoltamn.cpp:536 msgid "Interval number" msgstr "Intervallnummer" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 msgid "Focus Distance" msgstr "Fokusabstand" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 msgid "Focus distance" msgstr "Fokusabstand" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 #, fuzzy msgid "Flash Fired" msgstr "Blitzgerät" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 #, fuzzy msgid "Flash fired" msgstr "Blitz aus" #: src/minoltamn.cpp:547 msgid "Minolta Date" msgstr "Minolta Datum" #: src/minoltamn.cpp:548 msgid "Minolta date" msgstr "Minolta Datum" #: src/minoltamn.cpp:550 msgid "Minolta Time" msgstr "Minolta Zeit" #: src/minoltamn.cpp:551 msgid "Minolta time" msgstr "Minolta Zeit" #: src/minoltamn.cpp:556 msgid "File Number Memory" msgstr "Dateinummerspeicher" #: src/minoltamn.cpp:557 msgid "File number memory" msgstr "Dateinummerspeicher" #: src/minoltamn.cpp:559 #, fuzzy msgid "Last Image Number" msgstr "Bildnummer" #: src/minoltamn.cpp:560 #, fuzzy msgid "Last image number" msgstr "Bildnummer" #: src/minoltamn.cpp:562 msgid "Color Balance Red" msgstr "Roter Farbabgleich" #: src/minoltamn.cpp:563 msgid "Color balance red" msgstr "Roter Farbabgleich" #: src/minoltamn.cpp:565 msgid "Color Balance Green" msgstr "Grüner Farbabgleich" #: src/minoltamn.cpp:566 msgid "Color balance green" msgstr "Grüner Farbabgleich" #: src/minoltamn.cpp:568 msgid "Color Balance Blue" msgstr "Blauer Farbabgleich" #: src/minoltamn.cpp:569 msgid "Color balance blue" msgstr "Blauer Farbabgleich" #: src/minoltamn.cpp:580 msgid "Subject Program" msgstr "Motiv-Programm" #: src/minoltamn.cpp:581 msgid "Subject program" msgstr "Motiv-Programm" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 msgid "ISO Settings" msgstr "ISO-Einstellungen" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 msgid "ISO setting" msgstr "ISO-Einstellung" #: src/minoltamn.cpp:589 msgid "Minolta Model" msgstr "Minolta Modell" #: src/minoltamn.cpp:590 msgid "Minolta model" msgstr "Minolta Modell" #: src/minoltamn.cpp:592 msgid "Interval Mode" msgstr "Intervallmodus" #: src/minoltamn.cpp:593 msgid "Interval mode" msgstr "Intervallmodus" #: src/minoltamn.cpp:595 msgid "Folder Name" msgstr "Ordnername" #: src/minoltamn.cpp:596 msgid "Folder name" msgstr "Ordnername" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 msgid "ColorMode" msgstr "Farbmodus" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 msgid "Color Filter" msgstr "Farbfilter" #: src/minoltamn.cpp:602 msgid "Color filter" msgstr "Farbfilter" #: src/minoltamn.cpp:604 msgid "Black and White Filter" msgstr "Schwarz/Weiß-Filter" #: src/minoltamn.cpp:605 msgid "Black and white filter" msgstr "Schwarz/Weiß-Filter" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 msgid "Internal Flash" msgstr "Eingebauter Blitz" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 msgid "Brightness" msgstr "Helligkeit" #: src/minoltamn.cpp:613 msgid "Spot Focus Point X" msgstr "Punktschärfe X-Wert" #: src/minoltamn.cpp:614 msgid "Spot focus point X" msgstr "Punktschärfe X-Wert" #: src/minoltamn.cpp:616 msgid "Spot Focus Point Y" msgstr "Punktschärfe Y-Wert" #: src/minoltamn.cpp:617 msgid "Spot focus point Y" msgstr "Punktschärfe Y-Wert" #: src/minoltamn.cpp:619 msgid "Wide Focus Zone" msgstr "Weite Fokuszone" #: src/minoltamn.cpp:620 msgid "Wide focus zone" msgstr "Weite Fokuszone" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 msgid "Focus mode" msgstr "Fokusmodus" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 msgid "Focus area" msgstr "Fokusbereich" #: src/minoltamn.cpp:628 #, fuzzy msgid "DEC Switch Position" msgstr "Autofokus-Position" #: src/minoltamn.cpp:629 #, fuzzy msgid "DEC switch position" msgstr "Autofokus-Position" #: src/minoltamn.cpp:631 msgid "Color Profile" msgstr "Farbprofil" #: src/minoltamn.cpp:632 msgid "Color profile" msgstr "Farbprofil" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 #, fuzzy msgid "Data Imprint" msgstr "Datendump" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 msgid "Flash Metering" msgstr "Blitzdosierung" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 msgid "Flash metering" msgstr "Blitzdosierung" #: src/minoltamn.cpp:642 msgid "Unknown Minolta Camera Settings tag" msgstr "Unbekanntes Feld in den Minolta-Kameraeinstellungen" #: src/minoltamn.cpp:660 #, fuzzy msgid "Program-shift A" msgstr "Programmwechsel" #: src/minoltamn.cpp:661 #, fuzzy msgid "Program-shift S" msgstr "Programmwechsel" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 msgid "Raw+Jpeg" msgstr "Roh+Jpeg" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 msgid "Kelvin" msgstr "Kelvin" #: src/minoltamn.cpp:695 msgid "Single-shot AF" msgstr "Einzelaufnahme-Autofokus" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 msgid "Continuous AF" msgstr "Kontinuierlicher Autofokus" #: src/minoltamn.cpp:698 msgid "Automatic AF" msgstr "Automatischer Autofokus" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 msgid "sRGB (Natural)" msgstr "sRGB (Natürlich)" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 msgid "sRGB (Natural+)" msgstr "sRGB (Natürlich+)" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 msgid "Horizontal (normal)" msgstr "Horizontal (Normal)" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "90 Grad drehen (Im Uhrzeigersinn)" #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "270 Grad drehen (Im Uhrzeigersinn)" #: src/minoltamn.cpp:756 msgid "AF Points" msgstr "Autofokus-Punkte" #: src/minoltamn.cpp:757 msgid "AF points" msgstr "Autofokus-Punkte" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 msgid "Color Space" msgstr "Farbraum" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 msgid "Color space" msgstr "Farbraum" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 msgid "Free Memory Card Images" msgstr "Freie Bilder auf der Speicherkarte" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 msgid "Free memory card images" msgstr "Freie Bilder auf der Speicherkarte" #: src/minoltamn.cpp:789 msgid "Hue" msgstr "Sättigung" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 msgid "Rotation" msgstr "Drehung" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 msgid "Image Number" msgstr "Bildnummer" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 msgid "Noise reduction" msgstr "Rauschreduktion" #: src/minoltamn.cpp:817 msgid "Zone Matching On" msgstr "Zonenabgleich eingeschaltet" #: src/minoltamn.cpp:818 msgid "Zone matching on" msgstr "Zonenabgleich eingeschaltet" #: src/minoltamn.cpp:822 msgid "Unknown Minolta Camera Settings 7D tag" msgstr "Unbekanntes Feld in den Minolta-Kameraeinstellungen für 7D" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 #, fuzzy msgid "Program Shift A" msgstr "Programmwechsel" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 #, fuzzy msgid "Program Shift S" msgstr "Programmwechsel" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 #, fuzzy msgid "Night View/Portrait" msgstr "Nachtportrait" #: src/minoltamn.cpp:895 msgid "200 (Zone Matching High)" msgstr "200 (Zonenabgleich Hoch)" #: src/minoltamn.cpp:896 msgid "80 (Zone Matching Low)" msgstr "80 (Zonenabgleich Niedrig)" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 #, fuzzy msgid "Adobe RGB (ICC)" msgstr "Adobe RGB" #: src/minoltamn.cpp:918 msgid "Central" msgstr "Zentriert" #: src/minoltamn.cpp:919 msgid "Up" msgstr "Aufwärts" #: src/minoltamn.cpp:920 msgid "Up right" msgstr "Aufwärts - Rechts" #: src/minoltamn.cpp:922 msgid "Down right" msgstr "Abwärts - Rechts" #: src/minoltamn.cpp:923 msgid "Down" msgstr "Abwärts" #: src/minoltamn.cpp:924 msgid "Down left" msgstr "Abwärts - Links" #: src/minoltamn.cpp:926 msgid "Up left" msgstr "Aufwärts -. Links" #: src/minoltamn.cpp:932 msgid "Selection" msgstr "Auswahl" #: src/minoltamn.cpp:947 #, fuzzy msgid "Natural+" msgstr "Natürlich" #: src/minoltamn.cpp:949 #, fuzzy msgid "Wind Scene" msgstr "Nachtszene" #: src/minoltamn.cpp:950 #, fuzzy msgid "Evening Scene" msgstr "Abend" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus Position" msgstr "Fokusposition" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus position" msgstr "Fokusposition" #: src/minoltamn.cpp:1003 msgid "Focus Area" msgstr "Fokusbereich" #: src/minoltamn.cpp:1036 msgid "Exposure Revision" msgstr "Belichtungs-Revision" #: src/minoltamn.cpp:1037 msgid "Exposure revision" msgstr "Belichtungs-Revision" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 #, fuzzy msgid "Rotation2" msgstr "Drehung" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 #, fuzzy msgid "Picture Finish" msgstr "Bild-Info" #: src/minoltamn.cpp:1063 msgid "Exposure Manual Bias" msgstr "Manuelle Belichtungskontrolle" #: src/minoltamn.cpp:1064 msgid "Exposure manual bias" msgstr "Manuelle Belichtungskontrolle" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 msgid "AF Mode" msgstr "Autofokus-Modus" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 msgid "AF mode" msgstr "Autofokus-Modus" #: src/minoltamn.cpp:1087 msgid "Unknown Minolta Camera Settings 5D tag" msgstr "Unbekanntes Feld in den Minolta-Kameraeinstellungen für 5D" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 #, fuzzy msgid "Self-timer 10 sec" msgstr "Selbstauslöser (12 Sek.)" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 #, fuzzy msgid "Self-timer 2 sec" msgstr "Selbstauslöser (2 Sek.)" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 #, fuzzy msgid "White Balance Bracketing Low" msgstr "Weißabgleichsreihe" #: src/minoltamn.cpp:1105 #, fuzzy msgid "White Balance Bracketing High" msgstr "Weißabgleichsreihe" #: src/minoltamn.cpp:1106 #, fuzzy msgid "Single-frame Bracketing Low" msgstr "Einzelbild" #: src/minoltamn.cpp:1107 #, fuzzy msgid "Continuous Bracketing Low" msgstr "Automatischer Erfassung" #: src/minoltamn.cpp:1108 #, fuzzy msgid "Single-frame Bracketing High" msgstr "Einzelbild" #: src/minoltamn.cpp:1109 #, fuzzy msgid "Continuous Bracketing High" msgstr "Kontinuierlich, hoch" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 #, fuzzy msgid "Continuous Bracketing" msgstr "Kontinuierlich, hoch" #: src/minoltamn.cpp:1156 #, fuzzy msgid "Single-Frame Bracketing" msgstr "Einzelbild" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 #, fuzzy msgid "White Balance Bracketing" msgstr "Weißabgleichsreihe" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 msgid "Preset" msgstr "Voreinstellung" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 #, fuzzy msgid "Color Temperature/Color Filter" msgstr "Farbtemperatur" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 msgid "Temperature" msgstr "Temperatur" #: src/minoltamn.cpp:1213 #, fuzzy msgid "Setup" msgstr "Setzen" #: src/minoltamn.cpp:1214 #, fuzzy msgid "Recall" msgstr "Gelb" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "" #: src/minoltamn.cpp:1232 #, fuzzy msgid "Image and Information" msgstr "Bildkonfiguration" #: src/minoltamn.cpp:1233 #, fuzzy msgid "Image Only" msgstr "Bildtyp" #: src/minoltamn.cpp:1234 #, fuzzy msgid "Image and Histogram" msgstr "Bildhöhe" #: src/minoltamn.cpp:1240 #, fuzzy msgid "Fill Flash" msgstr "Aufhellblitz" #: src/minoltamn.cpp:1251 #, fuzzy msgid "Focus Hold" msgstr "Fokusmodus" #: src/minoltamn.cpp:1252 #, fuzzy msgid "DOF Preview" msgstr "Vorschaudaten" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "" #: src/minoltamn.cpp:1258 #, fuzzy msgid "Toggle" msgstr "Ton" #: src/minoltamn.cpp:1259 #, fuzzy msgid "Spot Hold" msgstr "Punktmodus" #: src/minoltamn.cpp:1260 #, fuzzy msgid "Spot Toggle" msgstr "Punktmodus" #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 msgid "Shutter Speed" msgstr "Verschlusszeit" #: src/minoltamn.cpp:1271 msgid "Ambient and Flash" msgstr "" #: src/minoltamn.cpp:1272 msgid "Ambient Only" msgstr "" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 #, fuzzy msgid "Automatic" msgstr "Automatischer Autofokus" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 #, fuzzy msgid "Auto-rotate" msgstr "Autokontrast" #: src/minoltamn.cpp:1291 #, fuzzy msgid "Horizontal" msgstr "Horizontal (Normal)" #: src/minoltamn.cpp:1297 #, fuzzy msgid "Manual Rotate" msgstr "Manuell ausgelöst" #: src/minoltamn.cpp:1302 #, fuzzy msgid "Within Range" msgstr "Linsenweite" #: src/minoltamn.cpp:1303 #, fuzzy msgid "Under/Over Range" msgstr "Transferbereich" #: src/minoltamn.cpp:1304 #, fuzzy msgid "Out of Range" msgstr "Offset ausserhalb des zulässigen Bereiches" #: src/minoltamn.cpp:1309 #, fuzzy msgid "Not Indicated" msgstr "Undefiniert" #: src/minoltamn.cpp:1310 #, fuzzy msgid "Under Scale" msgstr "Unterwasser" #: src/minoltamn.cpp:1311 #, fuzzy msgid "Bottom of Scale" msgstr "unten nach oben" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "" #: src/minoltamn.cpp:1330 #, fuzzy msgid "Over Scale" msgstr "Standard-Skalierung" #: src/minoltamn.cpp:1335 msgid "AM" msgstr "" #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "" #: src/minoltamn.cpp:1342 #, fuzzy msgid "Built-in" msgstr "Ausfüllen" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 msgid "Very Low" msgstr "Sehr niedrig" #: src/minoltamn.cpp:1350 #, fuzzy msgid "Half Full" msgstr "Vollbild" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "" #: src/minoltamn.cpp:1359 #, fuzzy msgid "Exposure Compensation Setting" msgstr "Belichtungskompensierung" #: src/minoltamn.cpp:1360 #, fuzzy msgid "Exposure compensation setting" msgstr "Belichtungskompensation" #: src/minoltamn.cpp:1362 #, fuzzy msgid "High Speed Sync" msgstr "Hohe Empfindlichkeit" #: src/minoltamn.cpp:1363 #, fuzzy msgid "High speed sync" msgstr "Hohe Empfindlichkeit" #: src/minoltamn.cpp:1365 #, fuzzy msgid "Manual Exposure Time" msgstr "Belichtungszeit" #: src/minoltamn.cpp:1366 #, fuzzy msgid "Manual exposure time" msgstr "Belichtungszeit" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 #, fuzzy msgid "Manual FNumber" msgstr "Intervallnummer" #: src/minoltamn.cpp:1377 #, fuzzy msgid "Drive Mode 2" msgstr "Antriebsmodus" #: src/minoltamn.cpp:1378 #, fuzzy msgid "Drive mode 2" msgstr "Antriebsmodus" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 #, fuzzy msgid "AF Area Mode" msgstr "Autofokus-Modus" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 #, fuzzy msgid "FlashMode" msgstr "Blitzmodus" #: src/minoltamn.cpp:1395 #, fuzzy msgid "Flash Exposure Comp Setting" msgstr "Blitzkompensation" #: src/minoltamn.cpp:1396 #, fuzzy msgid "Flash exposure compensation setting" msgstr "Blitzkompensation in EV" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 #, fuzzy msgid "ISO Setting" msgstr "ISO-Einstellungen" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 #, fuzzy msgid "Zone Matching Mode" msgstr "Zonenabgleich" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 #, fuzzy msgid "Dynamic Range Optimizer Mode" msgstr "Dynamische Bereichseinstellung" #: src/minoltamn.cpp:1408 #, fuzzy msgid "Dynamic range optimizer mode" msgstr "Dynamische Bereichserweiterung" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "" #: src/minoltamn.cpp:1434 #, fuzzy msgid "Self Timer Time" msgstr "Selbstauslöser" #: src/minoltamn.cpp:1435 #, fuzzy msgid "Self timer time" msgstr "Selbstauslöser" #: src/minoltamn.cpp:1438 #, fuzzy msgid "Continuous bracketing" msgstr "Kontinuierlich, hoch" #: src/minoltamn.cpp:1440 #, fuzzy msgid "Single Frame Bracketing" msgstr "Weißabgleichsauslöser" #: src/minoltamn.cpp:1441 #, fuzzy msgid "Single frame bracketing" msgstr "Weißabgleichsauslöser" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 msgid "White balance bracketing" msgstr "Weißabgleichsauslöser" #: src/minoltamn.cpp:1446 #, fuzzy msgid "White Balance Setting" msgstr "Weißabgleichseinstellung" #: src/minoltamn.cpp:1449 #, fuzzy msgid "Preset White Balance" msgstr "Weißabgleich" #: src/minoltamn.cpp:1450 #, fuzzy msgid "Preset white balance" msgstr "Weißabgleich" #: src/minoltamn.cpp:1452 #, fuzzy msgid "Color Temperature Setting" msgstr "Farbtemperatur" #: src/minoltamn.cpp:1453 #, fuzzy msgid "Color temperature setting" msgstr "Farbtemperatur" #: src/minoltamn.cpp:1455 #, fuzzy msgid "Custom WB Setting" msgstr "Benutzerdefiniert WB 1" #: src/minoltamn.cpp:1456 #, fuzzy msgid "Custom WB setting" msgstr "Benutzerdefiniert WB 1" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 #, fuzzy msgid "Dynamic Range Optimizer Settings" msgstr "Dynamische Bereichseinstellung" #: src/minoltamn.cpp:1464 #, fuzzy msgid "Custom WB Red Level" msgstr "WB_RGGBLevelsShade" #: src/minoltamn.cpp:1465 #, fuzzy msgid "Custom WB red level" msgstr "Schwarzlevel" #: src/minoltamn.cpp:1467 #, fuzzy msgid "Custom WB Green Level" msgstr "Schwarzlevel" #: src/minoltamn.cpp:1468 #, fuzzy msgid "Custom WB green level" msgstr "Schwarzlevel" #: src/minoltamn.cpp:1470 #, fuzzy msgid "Custom WB Blue Level" msgstr "WB_RGGBLevelsShade" #: src/minoltamn.cpp:1471 #, fuzzy msgid "CustomWB blue level" msgstr "Schwarzlevel" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 #, fuzzy msgid "Custom WB Error" msgstr "Benutzerdefiniert WB 1" #: src/minoltamn.cpp:1477 #, fuzzy msgid "White balance fine tune" msgstr "Weißabgleich-Anpassung" #: src/minoltamn.cpp:1483 #, fuzzy msgid "Color compensation filter" msgstr "Blitzkompensationswert" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 #, fuzzy msgid "Sony Image Size" msgstr "Bildgröße" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "" #: src/minoltamn.cpp:1500 msgid "Eye Start AF" msgstr "" #: src/minoltamn.cpp:1501 #, fuzzy msgid "Eye start AF" msgstr "Eine Aufnahme mit Autofokus" #: src/minoltamn.cpp:1503 #, fuzzy msgid "Red Eye Reduction" msgstr "Rote Augen reduzieren" #: src/minoltamn.cpp:1504 #, fuzzy msgid "Red eye reduction" msgstr "Rote Augen reduzieren" #: src/minoltamn.cpp:1506 #, fuzzy msgid "Flash Default" msgstr "Blitzdetails" #: src/minoltamn.cpp:1507 #, fuzzy msgid "Flash default" msgstr "Blitzdetails" #: src/minoltamn.cpp:1509 #, fuzzy msgid "Auto Bracket Order" msgstr "Automatische Erfassung" #: src/minoltamn.cpp:1510 #, fuzzy msgid "Auto bracket order" msgstr "Automatischer Erfassung" #: src/minoltamn.cpp:1512 #, fuzzy msgid "Focus Hold Button" msgstr "Fokusmodus-Einstellung" #: src/minoltamn.cpp:1513 #, fuzzy msgid "Focus hold button" msgstr "Fokusmodus-Einstellung" #: src/minoltamn.cpp:1515 #, fuzzy msgid "AEL Button" msgstr "Automatische Belichtung-Einstellungen" #: src/minoltamn.cpp:1516 #, fuzzy msgid "AEL button" msgstr "Automatische Belichtung-Einstellungen" #: src/minoltamn.cpp:1518 #, fuzzy msgid "Control Dial Set" msgstr "Kontrasteinstellung" #: src/minoltamn.cpp:1519 #, fuzzy msgid "Control dial set" msgstr "Kontrast" #: src/minoltamn.cpp:1521 #, fuzzy msgid "Exposure Compensation Mode" msgstr "Belichtungskompensierung" #: src/minoltamn.cpp:1522 #, fuzzy msgid "Exposure compensation mode" msgstr "Belichtungskompensation" #: src/minoltamn.cpp:1525 #, fuzzy msgid "AF assist" msgstr "Autofokus-Unterstützung" #: src/minoltamn.cpp:1527 #, fuzzy msgid "Card Shutter Lock" msgstr "Verschlusszähler" #: src/minoltamn.cpp:1528 #, fuzzy msgid "Card shutter lock" msgstr "Schneller Verschluss" #: src/minoltamn.cpp:1530 #, fuzzy msgid "Lens Shutter Lock" msgstr "Langsamer Verschluss" #: src/minoltamn.cpp:1531 #, fuzzy msgid "Lens shutter lock" msgstr "Langsamer Verschluss" #: src/minoltamn.cpp:1533 #, fuzzy msgid "AF Area Illumination" msgstr "GPS Bereichsinformation" #: src/minoltamn.cpp:1534 #, fuzzy msgid "AF area illumination" msgstr "Autofokus-Modus" #: src/minoltamn.cpp:1536 msgid "Monitor Display Off" msgstr "" #: src/minoltamn.cpp:1537 msgid "Monitor display off" msgstr "" #: src/minoltamn.cpp:1539 #, fuzzy msgid "Record Display" msgstr "Eingeblendetes Display" #: src/minoltamn.cpp:1540 #, fuzzy msgid "Record display" msgstr "Eingeblendetes Display" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "" #: src/minoltamn.cpp:1545 #, fuzzy msgid "Exposure Indicator" msgstr "Belichtungsindex" #: src/minoltamn.cpp:1546 #, fuzzy msgid "Exposure indicator" msgstr "Belichtungsindex" #: src/minoltamn.cpp:1548 #, fuzzy msgid "AEL Exposure Indicator" msgstr "Belichtungsindex" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "" #: src/minoltamn.cpp:1551 #, fuzzy msgid "Exposure Bracketing Indicator Last" msgstr "Belichtungserfassung" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "" #: src/minoltamn.cpp:1557 #, fuzzy msgid "Flash Exposure Indicator" msgstr "Blitzkompensation" #: src/minoltamn.cpp:1558 #, fuzzy msgid "Flash exposure indicator" msgstr "Blitzbelichtungskompensation" #: src/minoltamn.cpp:1560 #, fuzzy msgid "Flash Exposure Indicator Next" msgstr "Blitzkompensation" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1563 #, fuzzy msgid "Flash Exposure Indicator Last" msgstr "Blitzkompensation" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1569 #, fuzzy msgid "Focus Mode Switch" msgstr "Fokusmodus" #: src/minoltamn.cpp:1570 #, fuzzy msgid "Focus mode switch" msgstr "Fokusmodus-Einstellung" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 msgid "Flash Type" msgstr "Blitztyp" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 msgid "Flash type" msgstr "Blitztyp" #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 msgid "AE Lock" msgstr "Automatische Belichtungssperre" #: src/minoltamn.cpp:1585 msgid "Color compensation filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:1587 src/tags.cpp:766 msgid "Battery Level" msgstr "Batteriestatus" #: src/minoltamn.cpp:1588 #, fuzzy msgid "Battery level" msgstr "Batteriestatus" #: src/minoltamn.cpp:1592 #, fuzzy msgid "Unknown Sony Camera Settings A100 tag" msgstr "Unbekanntes Feld in den Canon-Kameraeinstellungen 1" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 #, fuzzy msgid "Clear" msgstr "Jahr" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 #, fuzzy msgid "Deep" msgstr "Denver" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 #, fuzzy msgid "Light" msgstr "Rechts" #: src/minoltamn.cpp:1950 #, fuzzy msgid "Night View" msgstr "Nachtszene" #: src/minoltamn.cpp:1951 msgid "Autumn Leaves" msgstr "" #: src/minoltamn.cpp:1990 #, fuzzy msgid "Local" msgstr "Ort" #: src/minoltamn.cpp:2005 #, fuzzy msgid "Top-Right" msgstr "Oben - rechts" #: src/minoltamn.cpp:2007 #, fuzzy msgid "Bottom-Right" msgstr "Unten - rechts" #: src/minoltamn.cpp:2009 #, fuzzy msgid "Bottom-Left" msgstr "Unten - links" #: src/minoltamn.cpp:2011 #, fuzzy msgid "Top-Left" msgstr "Oben - links" #: src/minoltamn.cpp:2012 #, fuzzy msgid "Far-Right" msgstr "Rechts zuschneiden" #: src/minoltamn.cpp:2013 #, fuzzy msgid "Far-Left" msgstr "Links zuschneiden" #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 #, fuzzy msgid "Advanced Auto" msgstr "Fortgeschrittene hohe Funktion" #: src/minoltamn.cpp:2028 #, fuzzy msgid "Advanced Level" msgstr "Fortgeschrittene hohe Empfindlichkeit" #: src/minoltamn.cpp:2041 #, fuzzy msgid "AF" msgstr "Autofokus-S" #: src/minoltamn.cpp:2042 #, fuzzy msgid "Release" msgstr "Freigabedatum" #: src/minoltamn.cpp:2054 #, fuzzy msgid "RAW " msgstr "Roh" #: src/minoltamn.cpp:2055 #, fuzzy msgid "CRAW " msgstr "Roh" #: src/minoltamn.cpp:2058 #, fuzzy msgid "RAW+JPEG" msgstr "JPEG" #: src/minoltamn.cpp:2059 #, fuzzy msgid "CRAW+JPEG" msgstr "JPEG" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "" #: src/minoltamn.cpp:2116 #, fuzzy msgid "Compressed Raw" msgstr "Kompressionsrate" #: src/minoltamn.cpp:2117 #, fuzzy msgid "Compressed Raw + JPEG" msgstr "Komprimierte Bildgröße" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "" #: src/minoltamn.cpp:2132 msgid "Minolta AF 1.4x APO (D)" msgstr "" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "" #: src/minoltamn.cpp:2163 msgid "ISO Setting Used" msgstr "Benutzte ISO-Einstellungen" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 msgid "High Key" msgstr "Hoher Schlüssel" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "Niedriger Schlüssel" #: src/nikonmn.cpp:80 #, fuzzy msgid "Extra High" msgstr "Extrafein" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 msgid "Single area" msgstr "Einzelbereich" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 msgid "Dynamic area" msgstr "Dynamischer Bereich" #: src/nikonmn.cpp:88 msgid "Dynamic area, closest subject" msgstr "Dynamischer Bereich, nächstes Motiv" #: src/nikonmn.cpp:89 msgid "Group dynamic" msgstr "Gruppendynamisch" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 msgid "Single area (wide)" msgstr "Einzelbereich (Weit)" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 msgid "Dynamic area (wide)" msgstr "Dynamischer Bereich (Weit)" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 msgid "Upper-left" msgstr "Aufwärts-Links" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 msgid "Upper-right" msgstr "Aufwärts-Rechts" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 msgid "Lower-left" msgstr "Abwärts-Links" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 msgid "Lower-right" msgstr "Abwärts-Rechts" #: src/nikonmn.cpp:108 msgid "Left-most" msgstr "Ganz Links" #: src/nikonmn.cpp:109 msgid "Right-most" msgstr "Ganz Rechts" #: src/nikonmn.cpp:143 msgid "Fire, manual" msgstr "Ausgelöst, manuell" #: src/nikonmn.cpp:144 msgid "Fire, external" msgstr "Ausgelöst, extern" #: src/nikonmn.cpp:145 msgid "Fire, commander mode" msgstr "Ausgelöst, Kommandomodus" #: src/nikonmn.cpp:146 msgid "Fire, TTL mode" msgstr "Ausgelöst, TTL-Modus" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 msgid "Delay" msgstr "Verzögerung" #: src/nikonmn.cpp:153 #, fuzzy msgid "PC Control" msgstr "PC Kontrolle" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 #, fuzzy msgid "Exposure Bracketing" msgstr "Belichtungserfassung" #: src/nikonmn.cpp:156 #, fuzzy msgid "Auto ISO" msgstr "Automatisch" #: src/nikonmn.cpp:157 #, fuzzy msgid "White-Balance Bracketing" msgstr "Weißabgleichsreihe" #: src/nikonmn.cpp:158 #, fuzzy msgid "IR Control" msgstr "IR Kontrolle" #: src/nikonmn.cpp:159 #, fuzzy msgid "D-Lighting Bracketing" msgstr "Kontinuierlich, hoch" #: src/nikonmn.cpp:166 msgid "PC control" msgstr "PC Kontrolle" #: src/nikonmn.cpp:167 msgid "Exposure bracketing" msgstr "Belichtungserfassung" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "" #: src/nikonmn.cpp:170 msgid "IR control" msgstr "IR Kontrolle" #: src/nikonmn.cpp:176 msgid "Auto release" msgstr "Automatisch ausgelöst" #: src/nikonmn.cpp:177 msgid "Manual release" msgstr "Manuell ausgelöst" #: src/nikonmn.cpp:182 #, fuzzy msgid "Lossy (type 1)" msgstr "Linsentyp" #: src/nikonmn.cpp:183 src/tags.cpp:251 msgid "Uncompressed" msgstr "Unkomprimiert" #: src/nikonmn.cpp:184 #, fuzzy msgid "Lossless" msgstr "Los Angeles" #: src/nikonmn.cpp:185 #, fuzzy msgid "Lossy (type 2)" msgstr "Linsentyp" #: src/nikonmn.cpp:191 #, fuzzy msgid "B & W" msgstr "S&W" #: src/nikonmn.cpp:193 #, fuzzy msgid "Trim" msgstr "Zeit" #: src/nikonmn.cpp:194 #, fuzzy msgid "Small picture" msgstr "Film" #: src/nikonmn.cpp:195 #, fuzzy msgid "D-Lighting" msgstr "Tageslicht" #: src/nikonmn.cpp:196 #, fuzzy msgid "Red eye" msgstr "Rote-Augen" #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 #, fuzzy msgid "Cyanotype" msgstr "Typ" #: src/nikonmn.cpp:198 #, fuzzy msgid "Sky light" msgstr "Tageslicht" #: src/nikonmn.cpp:199 #, fuzzy msgid "Warm tone" msgstr "Farbton" #: src/nikonmn.cpp:200 #, fuzzy msgid "Color custom" msgstr "Farbton" #: src/nikonmn.cpp:201 #, fuzzy msgid "Image overlay" msgstr "Bildton" #: src/nikonmn.cpp:207 #, fuzzy msgid "Minimal" msgstr "Manuell" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 msgid "Nikon Makernote version" msgstr "Version der Herstellerbemerkung von Nikon" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 msgid "ISO Speed" msgstr "ISO-Geschwindigkeit" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 msgid "Sharpening" msgstr "Schärfung" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 msgid "Image sharpening setting" msgstr "Bildschärfungseinstellung" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 msgid "Focus" msgstr "Fokus" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 msgid "Flash Setting" msgstr "Blitzeinstellung" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 msgid "Flash setting" msgstr "Blitzeinstellung" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 msgid "ISO Selection" msgstr "ISO-Auswahl" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 msgid "ISO selection" msgstr "ISO-Auswahl" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data Dump" msgstr "Datendump" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data dump" msgstr "Datendump" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 msgid "Image Adjustment" msgstr "Bildanpassung" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 msgid "Image adjustment setting" msgstr "Bildanpassung-Einstellung" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "Zusatzlinse" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 msgid "Auxiliary lens (adapter)" msgstr "Zusatzlinse (Adapter)" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 msgid "Manual focus distance" msgstr "Manueller Fokusabstand" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 msgid "Digital zoom setting" msgstr "Digitale Zoomeinstellung" #: src/nikonmn.cpp:260 msgid "AF Focus Position" msgstr "Autofokus-Position" #: src/nikonmn.cpp:261 msgid "AF focus position information" msgstr "Autofokus-Positioninformation" #: src/nikonmn.cpp:265 msgid "Unknown Nikon1MakerNote tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Nikon1" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 msgid "Continuous autofocus" msgstr "Kontinuierlicher Autofokus" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 msgid "Single autofocus" msgstr "Einzel Autofokus" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 msgid "Not used" msgstr "Nicht benutzt" #: src/nikonmn.cpp:371 msgid "guess" msgstr "Raten" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "VGA Basis" #: src/nikonmn.cpp:419 msgid "VGA Normal" msgstr "VGA Normal" #: src/nikonmn.cpp:420 msgid "VGA Fine" msgstr "VGA Fein" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "SXGA Basis" #: src/nikonmn.cpp:422 msgid "SXGA Normal" msgstr "SXGA Normal" #: src/nikonmn.cpp:423 msgid "SXGA Fine" msgstr "SXGA Fein" #: src/nikonmn.cpp:435 msgid "Bright+" msgstr "Helligkeit+" #: src/nikonmn.cpp:436 msgid "Bright-" msgstr "Helligkeit-" #: src/nikonmn.cpp:437 msgid "Contrast+" msgstr "Kontrast+" #: src/nikonmn.cpp:438 msgid "Contrast-" msgstr "Kontrast-" #: src/nikonmn.cpp:457 msgid "Speedlight" msgstr "Speedlight" #: src/nikonmn.cpp:497 msgid "Unknown Nikon2MakerNote tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Nikon2" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 msgid "Flash Device" msgstr "Blitzgerät" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 msgid "Flash device" msgstr "Blitzgerät" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 msgid "White Balance Bias" msgstr "Weißabgleichskontrolle" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 msgid "White balance bias" msgstr "Weißabgleichskontrolle" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 #, fuzzy msgid "WB RB Levels" msgstr "WB_RGGBLevelsShade" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 #, fuzzy msgid "WB RB levels" msgstr "Schwarzlevel" #: src/nikonmn.cpp:544 msgid "Program Shift" msgstr "Programmwechsel" #: src/nikonmn.cpp:544 msgid "Program shift" msgstr "Programmwechsel" #: src/nikonmn.cpp:545 msgid "Exposure Difference" msgstr "Belichtungsabstand" #: src/nikonmn.cpp:545 msgid "Exposure difference" msgstr "Belichtungsabstand" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 msgid "Pointer to a preview image" msgstr "Zeiger auf ein Vorschaubild" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 #, fuzzy msgid "Offset to an IFD containing a preview image" msgstr "Offset des Vorschaubildes" #: src/nikonmn.cpp:549 msgid "Flash Comp" msgstr "Blitzkompensation" #: src/nikonmn.cpp:549 msgid "Flash compensation setting" msgstr "Blitzkompensationseinstellung" #: src/nikonmn.cpp:551 msgid "Image Boundary" msgstr "Bildgrenzen" #: src/nikonmn.cpp:551 msgid "Image boundary" msgstr "Bildgrenzen" #: src/nikonmn.cpp:552 #, fuzzy msgid "Flash exposure comp" msgstr "Blitzbelichtungskompensation" #: src/nikonmn.cpp:553 #, fuzzy msgid "Flash Bracket Comp" msgstr "Blitzkompensation" #: src/nikonmn.cpp:553 #, fuzzy msgid "Flash bracket compensation applied" msgstr "Blitzbelichtungskompensation" #: src/nikonmn.cpp:554 #, fuzzy msgid "Exposure Bracket Comp" msgstr "Belichtungserfassung" #: src/nikonmn.cpp:554 #, fuzzy msgid "AE bracket compensation applied" msgstr "Blitzkompensationswert" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 msgid "Image Processing" msgstr "Bildverarbeitung" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 msgid "Image processing" msgstr "Bildverarbeitung" #: src/nikonmn.cpp:556 #, fuzzy msgid "Crop High Speed" msgstr "Hohe Empfindlichkeit" #: src/nikonmn.cpp:556 #, fuzzy msgid "Crop high speed" msgstr "Höhe des Zuschnitts" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure Tuning" msgstr "Belichtungswarnung" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure tuning" msgstr "Belichtungswarnung" #: src/nikonmn.cpp:560 #, fuzzy msgid "VR Info" msgstr "Rohinfo" #: src/nikonmn.cpp:560 #, fuzzy msgid "VR info" msgstr "Rohinfo" #: src/nikonmn.cpp:561 #, fuzzy msgid "Image Authentication" msgstr "Bild-Orientierung" #: src/nikonmn.cpp:561 #, fuzzy msgid "Image authentication" msgstr "Bild-Orientierung" #: src/nikonmn.cpp:562 msgid "ActiveD-Lighting" msgstr "" #: src/nikonmn.cpp:562 msgid "ActiveD-lighting" msgstr "" #: src/nikonmn.cpp:563 #, fuzzy msgid "Picture Control" msgstr "Bild-Info" #: src/nikonmn.cpp:563 #, fuzzy msgid " Picture control" msgstr "Bild-Info" #: src/nikonmn.cpp:564 src/properties.cpp:1387 #, fuzzy msgid "World Time" msgstr "Minolta Zeit" #: src/nikonmn.cpp:564 #, fuzzy msgid "World time" msgstr "Minolta Zeit" #: src/nikonmn.cpp:565 #, fuzzy msgid "ISO Info" msgstr "Aufnahmeinfo" #: src/nikonmn.cpp:565 #, fuzzy msgid "ISO info" msgstr "ISO-Einstellung" #: src/nikonmn.cpp:566 #, fuzzy msgid "Vignette Control" msgstr "Vignettierungsmenge" #: src/nikonmn.cpp:566 #, fuzzy msgid "Vignette control" msgstr "Vignettierungsmenge" #: src/nikonmn.cpp:568 msgid "Tone Compensation" msgstr "Tonkompensation" #: src/nikonmn.cpp:568 msgid "Tone compensation" msgstr "Tonkompensation" #: src/nikonmn.cpp:574 msgid "Mode of flash used" msgstr "Modus des benutzten Blitzes" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 msgid "Shooting Mode" msgstr "Aufnahmemodus" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 msgid "Shooting mode" msgstr "Aufnahmemodus" #: src/nikonmn.cpp:577 msgid "Auto Bracket Release" msgstr "Auslöser der Automatische Erfassung" #: src/nikonmn.cpp:577 msgid "Auto bracket release" msgstr "Auslöser der Automatische Erfassung" #: src/nikonmn.cpp:578 msgid "Lens FStops" msgstr "Blendeneinstellung der Linse" #: src/nikonmn.cpp:579 #, fuzzy msgid "Contrast Curve" msgstr "Kontrast-Wert" #: src/nikonmn.cpp:579 #, fuzzy msgid "Contrast curve" msgstr "Kontrast-Wert" #: src/nikonmn.cpp:580 #, fuzzy msgid "Color Hue" msgstr "Farbton" #: src/nikonmn.cpp:580 #, fuzzy msgid "Color hue" msgstr "Farbton" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 msgid "Scene mode" msgstr "Szenenmodus" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 msgid "Light Source" msgstr "Lichtquelle" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 msgid "Light source" msgstr "Lichtquelle" #: src/nikonmn.cpp:583 #, fuzzy msgid "Shot info" msgstr "Aufnahmeinfo" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 msgid "Hue Adjustment" msgstr "Sättigungsanpassung" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 msgid "Hue adjustment" msgstr "Sättigungsanpassung" #: src/nikonmn.cpp:585 #, fuzzy msgid "NEF Compression" msgstr "Kompression" #: src/nikonmn.cpp:585 #, fuzzy msgid "NEF compression" msgstr "Kompression" #: src/nikonmn.cpp:588 src/tags.cpp:905 msgid "Linearization Table" msgstr "Linearisierungstabelle" #: src/nikonmn.cpp:588 #, fuzzy msgid "Linearization table" msgstr "Linearisierungstabelle" #: src/nikonmn.cpp:589 #, fuzzy msgid "Color Balance" msgstr "Farbabgleich 1" #: src/nikonmn.cpp:589 #, fuzzy msgid "Color balance" msgstr "Roter Farbabgleich" #: src/nikonmn.cpp:590 msgid "Lens Data" msgstr "Linsendaten" #: src/nikonmn.cpp:590 msgid "Lens data settings" msgstr "Linsendaten-Einstellungen" #: src/nikonmn.cpp:591 msgid "Raw Image Center" msgstr "Rohbild-Center" #: src/nikonmn.cpp:591 msgid "Raw image center" msgstr "Rohbild-Center" #: src/nikonmn.cpp:592 msgid "Sensor Pixel Size" msgstr "Sensor-Pixelgröße" #: src/nikonmn.cpp:592 msgid "Sensor pixel size" msgstr "Sensor-Pixelgröße" #: src/nikonmn.cpp:594 #, fuzzy msgid "Scene Assist" msgstr "Autofokus-Unterstützung" #: src/nikonmn.cpp:594 #, fuzzy msgid "Scene assist" msgstr "Szenenbereich" #: src/nikonmn.cpp:595 #, fuzzy msgid "Retouch History" msgstr "Historie" #: src/nikonmn.cpp:595 #, fuzzy msgid "Retouch history" msgstr "Historie" #: src/nikonmn.cpp:597 msgid "Serial NO" msgstr "Seriennummer" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "" #: src/nikonmn.cpp:598 msgid "Image Data Size" msgstr "Bilddatengröße" #: src/nikonmn.cpp:598 msgid "Image data size" msgstr "Bilddatengröße" #: src/nikonmn.cpp:600 msgid "Image Count" msgstr "Bildanzahl" #: src/nikonmn.cpp:600 msgid "Image count" msgstr "Bildanzahl" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 #, fuzzy msgid "Deleted Image Count" msgstr "Bildanzahl löschen" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 #, fuzzy msgid "Deleted image count" msgstr "Bildanzahl löschen" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 msgid "Shutter Count" msgstr "Verschlusszähler" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "Anzahl der Fotos dieser Kamera" #: src/nikonmn.cpp:603 #, fuzzy msgid "Flash info" msgstr "Blitzinformation" #: src/nikonmn.cpp:604 msgid "Image Optimization" msgstr "Bildoptimierung" #: src/nikonmn.cpp:604 msgid "Image optimization" msgstr "Bildoptimierung" #: src/nikonmn.cpp:606 msgid "Program Variation" msgstr "Programmvariation" #: src/nikonmn.cpp:606 msgid "Program variation" msgstr "Programmvariation" #: src/nikonmn.cpp:608 msgid "AF Response" msgstr "Autofokus-Antwort" #: src/nikonmn.cpp:608 msgid "AF response" msgstr "Autofokus-Antwort" #: src/nikonmn.cpp:609 #, fuzzy msgid "Multi exposure" msgstr "Mehrfache Belichtung" #: src/nikonmn.cpp:610 msgid "High ISO Noise Reduction" msgstr "Hohe ISO-Rauschreduktion" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 #, fuzzy msgid "Toning effect" msgstr "Fotoeffekt" #: src/nikonmn.cpp:612 #, fuzzy msgid "AF info 2" msgstr "Autofokus-Information" #: src/nikonmn.cpp:613 #, fuzzy msgid "File info" msgstr "Dateiname" #: src/nikonmn.cpp:614 #, fuzzy msgid "AF tune" msgstr "Benutzter Autofokus-Punkt" #: src/nikonmn.cpp:617 msgid "Capture Data" msgstr "Eingelesene Daten" #: src/nikonmn.cpp:617 msgid "Capture data" msgstr "Eingelesene Daten" #: src/nikonmn.cpp:618 msgid "Capture Version" msgstr "Version der gelesenen Daten" #: src/nikonmn.cpp:618 msgid "Capture version" msgstr "Version der gelesenen Daten" #: src/nikonmn.cpp:620 msgid "Capture Offsets" msgstr "Erfassungsoffsets" #: src/nikonmn.cpp:620 msgid "Capture offsets" msgstr "Erfassungsoffsets" #: src/nikonmn.cpp:621 #, fuzzy msgid "Scan IFD" msgstr "Speicherungs-ID" #: src/nikonmn.cpp:622 #, fuzzy msgid "ICC profile" msgstr "Farbprofil" #: src/nikonmn.cpp:623 #, fuzzy msgid "Capture output" msgstr "Eingelesene Daten" #: src/nikonmn.cpp:625 msgid "Unknown Nikon3MakerNote tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Nikon3" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 msgid "No" msgstr "Nein" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "Ja" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 #, fuzzy msgid "Vibration Reduction" msgstr "Verzerrungskorrektur" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 #, fuzzy msgid "Vibration reduction" msgstr "Verzerrungskorrektur" #: src/nikonmn.cpp:657 #, fuzzy msgid "Unknown Nikon Vibration Reduction Tag" msgstr "Unbekanntes Feld in den benutzerdefinierten Funktionen von Canon" #: src/nikonmn.cpp:667 #, fuzzy msgid "Default Settings" msgstr "Besitzt Einstellungen" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 #, fuzzy msgid "Quick Adjust" msgstr "Sättigungsanpassung" #: src/nikonmn.cpp:669 #, fuzzy msgid "Full Control" msgstr "Farbkontrolle" #: src/nikonmn.cpp:690 msgid "Blue-green" msgstr "" #: src/nikonmn.cpp:692 #, fuzzy msgid "Purple-blue" msgstr "Lila" #: src/nikonmn.cpp:693 #, fuzzy msgid "Red-purple" msgstr "Lila" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 #, fuzzy msgid "Name" msgstr "Spitzname" #: src/nikonmn.cpp:701 #, fuzzy msgid "Base" msgstr "Basis-Adresse" #: src/nikonmn.cpp:702 #, fuzzy msgid "Adjust" msgstr "Justiere" #: src/nikonmn.cpp:703 #, fuzzy msgid "Quick adjust" msgstr "Sättigungsanpassung" #: src/nikonmn.cpp:709 #, fuzzy msgid "Filter effect" msgstr "Farbeffekt" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning Saturation" msgstr "Sättigung" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning saturation" msgstr "Sättigung" #: src/nikonmn.cpp:713 #, fuzzy msgid "Unknown Nikon Picture Control Tag" msgstr "Unbekanntes Feld in der Canon-Bildinfo" #: src/nikonmn.cpp:730 #, fuzzy msgid "AF Fine Tune" msgstr "Benutzter Autofokus-Punkt" #: src/nikonmn.cpp:730 #, fuzzy msgid "AF fine tune" msgstr "Benutzter Autofokus-Punkt" #: src/nikonmn.cpp:731 #, fuzzy msgid "AF Fine Tune Index" msgstr "Benutzter Autofokus-Punkt" #: src/nikonmn.cpp:731 #, fuzzy msgid "AF fine tune index" msgstr "Benutzter Autofokus-Punkt" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF Fine Tune Adjustment" msgstr "Benutzter Autofokus-Punkt" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF fine tune adjustment" msgstr "Benutzter Autofokus-Punkt" #: src/nikonmn.cpp:734 #, fuzzy msgid "Unknown Nikon AF Fine Tune Tag" msgstr "Unbekanntes Feld in der Canon-Bildinfo" #: src/nikonmn.cpp:744 #, fuzzy msgid "Timezone" msgstr "Ton" #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight Savings" msgstr "Tageslicht" #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight savings" msgstr "Tageslicht" #: src/nikonmn.cpp:746 #, fuzzy msgid "Date Display Format" msgstr "Dateiformat" #: src/nikonmn.cpp:746 #, fuzzy msgid "Date display format" msgstr "Datenformat" #: src/nikonmn.cpp:748 #, fuzzy msgid "Unknown Nikon World Time Tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Nikon1" #: src/nikonmn.cpp:759 #, fuzzy msgid "Hi 0.3" msgstr "HV10" #: src/nikonmn.cpp:760 #, fuzzy msgid "Hi 0.5" msgstr "HV10" #: src/nikonmn.cpp:761 #, fuzzy msgid "Hi 0.7" msgstr "HV10" #: src/nikonmn.cpp:762 #, fuzzy msgid "Hi 1.0" msgstr "HV10" #: src/nikonmn.cpp:763 #, fuzzy msgid "Hi 1.3" msgstr "HV10" #: src/nikonmn.cpp:764 #, fuzzy msgid "Hi 1.5" msgstr "HV10" #: src/nikonmn.cpp:765 #, fuzzy msgid "Hi 1.7" msgstr "HV10" #: src/nikonmn.cpp:766 #, fuzzy msgid "Hi 2.0" msgstr "HV10" #: src/nikonmn.cpp:767 #, fuzzy msgid "Hi 2.3" msgstr "HV10" #: src/nikonmn.cpp:768 #, fuzzy msgid "Hi 2.5" msgstr "HV10" #: src/nikonmn.cpp:769 #, fuzzy msgid "Hi 2.7" msgstr "HV10" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "" #: src/nikonmn.cpp:778 #, fuzzy msgid "Lo 1.0" msgstr "HV10" #: src/nikonmn.cpp:784 #, fuzzy msgid "ISO Expansion" msgstr "ISO-Auswahl" #: src/nikonmn.cpp:784 #, fuzzy msgid "ISO expansion" msgstr "ISO-Auswahl" #: src/nikonmn.cpp:785 #, fuzzy msgid "ISO 2" msgstr "Aufnahmeinfo" #: src/nikonmn.cpp:786 #, fuzzy msgid "ISO Expansion 2" msgstr "ISO-Auswahl" #: src/nikonmn.cpp:786 #, fuzzy msgid "ISO expansion 2" msgstr "ISO-Auswahl" #: src/nikonmn.cpp:788 #, fuzzy msgid "Unknown Nikon Iso Info Tag" msgstr "Unbekanntes Feld in der Canon-Bildinfo" #: src/nikonmn.cpp:798 #, fuzzy msgid "Single Area" msgstr "Einzelbereich" #: src/nikonmn.cpp:799 #, fuzzy msgid "Dynamic Area" msgstr "Dynamischer Bereich" #: src/nikonmn.cpp:800 #, fuzzy msgid "Dynamic Area, Closest Subject" msgstr "Dynamischer Bereich, nächstes Motiv" #: src/nikonmn.cpp:801 #, fuzzy msgid "Group Dynamic" msgstr "Gruppendynamisch" #: src/nikonmn.cpp:802 #, fuzzy msgid "Single Area (wide)" msgstr "Einzelbereich (Weit)" #: src/nikonmn.cpp:803 #, fuzzy msgid "Dynamic Area (wide)" msgstr "Dynamischer Bereich (Weit)" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 msgid "Mid-left" msgstr "Mitte - links" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 msgid "Mid-right" msgstr "Mitte - rechts" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 #, fuzzy msgid "Far Left" msgstr "Links zuschneiden" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 #, fuzzy msgid "Far Right" msgstr "Rechts zuschneiden" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 #, fuzzy msgid "AF area mode" msgstr "Autofokus-Modus" #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 msgid "AF point" msgstr "Autofokus-Punkt" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF Points In Focus" msgstr "Benutzte Autofokus-Punkte" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF points in focus" msgstr "Benutzte Autofokus-Punkte" #: src/nikonmn.cpp:842 #, fuzzy msgid "Unknown Nikon Auto Focus Tag" msgstr "Unbekanntes Feld in den benutzerdefinierten Funktionen von Canon" #: src/nikonmn.cpp:853 msgid "On (51-point)" msgstr "" #: src/nikonmn.cpp:854 msgid "On (11-point)" msgstr "" #: src/nikonmn.cpp:855 #, fuzzy msgid "On (39-point)" msgstr "An" #: src/nikonmn.cpp:856 #, fuzzy msgid "On (73-point)" msgstr "An" #: src/nikonmn.cpp:857 msgid "On (73-point, new)" msgstr "" #: src/nikonmn.cpp:858 #, fuzzy msgid "On (105-point)" msgstr "An" #: src/nikonmn.cpp:864 #, fuzzy msgid "Contrast Detect AF" msgstr "Kontrasteinstellungen" #: src/nikonmn.cpp:864 #, fuzzy msgid "Contrast detect AF" msgstr "Kontrasteinstellungen" #: src/nikonmn.cpp:866 #, fuzzy msgid "Phase Detect AF" msgstr "Fehler beim Lesen" #: src/nikonmn.cpp:866 #, fuzzy msgid "Phase detect AF" msgstr "Fehler beim Lesen" #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF Point" msgstr "Graupunkt" #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF point" msgstr "Graupunkt" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF Image Width" msgstr "Bildbreite" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF image width" msgstr "Bildbreite" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF Image Height" msgstr "Bildhöhe" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF image height" msgstr "Bildhöhe" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF Area X Position" msgstr "Autofokus-Position" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF area x position" msgstr "Autofokus-Position" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF Area Y Position" msgstr "Autofokus-Position" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF area y position" msgstr "Autofokus-Position" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF Area Width" msgstr "Autofokus-Modus" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF area width" msgstr "Autofokus-Modus" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF Area Height" msgstr "Autofokus-Modus" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF area height" msgstr "Rechts zuschneiden" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast Detect AF In Focus" msgstr "Kontrasteinstellungen" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast detect AF in focus" msgstr "Kontrasteinstellungen" #: src/nikonmn.cpp:877 #, fuzzy msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "Unbekanntes Feld in den benutzerdefinierten Funktionen von Canon" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory Number" msgstr "Ablaufsnummer" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory number" msgstr "Ablaufsnummer" #: src/nikonmn.cpp:891 #, fuzzy msgid "Unknown Nikon File Info Tag" msgstr "Unbekanntes Feld in der Canon-Bildinfo" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 msgid "Multiple Exposure" msgstr "Mehrfache Belichtung" #: src/nikonmn.cpp:903 #, fuzzy msgid "Image Overlay" msgstr "Bildton" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi Exposure Mode" msgstr "Belichtungsmodus" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi exposure mode" msgstr "Mehrfache Belichtung" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi Exposure Shots" msgstr "Mehrfache Belichtung" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi exposure shots" msgstr "Mehrfache Belichtung" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi Exposure Auto Gain" msgstr "Mehrfache Belichtung" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi exposure auto gain" msgstr "Mehrfache Belichtung" #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 #, fuzzy msgid "Unknown Nikon Multi Exposure Tag" msgstr "Unbekanntes Feld in den benutzerdefinierten Funktionen von Canon" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 msgid "Internal" msgstr "Intern" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "" #: src/nikonmn.cpp:991 #, fuzzy msgid "iTTL-BL" msgstr "TTL" #: src/nikonmn.cpp:992 #, fuzzy msgid "iTTL" msgstr "TTL" #: src/nikonmn.cpp:993 #, fuzzy msgid "Auto Aperture" msgstr "Blende" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 #, fuzzy msgid "Repeating Flash" msgstr "Wiedergabeklasse" #: src/nikonmn.cpp:1004 #, fuzzy msgid "Bounce Flash" msgstr "Kein Blitz" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "" #: src/nikonmn.cpp:1018 #, fuzzy msgid "Amber" msgstr "F Nummer." #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash Source" msgstr "Dateiquelle" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash source" msgstr "Dateiquelle" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 #, fuzzy msgid "0x0005" msgstr "1000" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External Flash Firmware" msgstr "Externer Blitzzoom" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External flash firmware" msgstr "Externer Blitzmodus" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External Flash Flags" msgstr "Externer Blitz" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External flash flags" msgstr "Externer Blitz" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash Focal Length" msgstr "Maximale Fokuslänge" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash focal length" msgstr "Maximale Fokuslänge" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 #, fuzzy msgid "Repeating flash rate" msgstr "Die Datei wird umbenannt nach" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 #, fuzzy msgid "Repeating flash count" msgstr "Manuelle Blitzkontrolle" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN Distance" msgstr "Fokusabstand" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN distance" msgstr "Fokusabstand" #: src/nikonmn.cpp:1032 msgid "Flash Group A Control Mode" msgstr "" #: src/nikonmn.cpp:1032 msgid "Flash group a control mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash Group B Control Mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash group b control mode" msgstr "" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash Color Filter" msgstr "Farbfilter" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash color filter" msgstr "Farbfilter" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 msgid "Shutter count" msgstr "Verschlusszähler" #: src/nikonmn.cpp:1088 #, fuzzy msgid "Unknown Nikon Shot Info D80 Tag" msgstr "Unbekanntes Feld in der Canon-Bildinfo" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 #, fuzzy msgid "Flash Level" msgstr "Blitzgerät" #: src/nikonmn.cpp:1100 #, fuzzy msgid "Flash level" msgstr "Blitzgerät" #: src/nikonmn.cpp:1102 #, fuzzy msgid "Unknown Nikon Shot Info D40 Tag" msgstr "Unbekanntes Feld in der Canon-Bildinfo" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 #, fuzzy msgid "AF Fine Tune Adj" msgstr "Benutzter Autofokus-Punkt" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 #, fuzzy msgid "AF fine tune adj" msgstr "Benutzter Autofokus-Punkt" #: src/nikonmn.cpp:1162 #, fuzzy msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "Unbekanntes Feld in der Canon-Bildinfo" #: src/nikonmn.cpp:1222 #, fuzzy msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "Unbekanntes Feld in der Canon-Bildinfo" #: src/nikonmn.cpp:1235 #, fuzzy msgid "On (3)" msgstr "An" #: src/nikonmn.cpp:1248 #, fuzzy msgid "Shutter Count 1" msgstr "Verschlusszähler" #: src/nikonmn.cpp:1248 #, fuzzy msgid "Shutter count 1" msgstr "Verschlusszähler" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration Reduction 1" msgstr "Verzerrungskorrektur" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration reduction 1" msgstr "Verzerrungskorrektur" #: src/nikonmn.cpp:1252 #, fuzzy msgid "Shutter Count 2" msgstr "Verschlusszähler" #: src/nikonmn.cpp:1252 #, fuzzy msgid "Shutter count 2" msgstr "Verschlusszähler" #: src/nikonmn.cpp:1253 #, fuzzy msgid "Vibration Reduction 2" msgstr "Verzerrungskorrektur" #: src/nikonmn.cpp:1253 #, fuzzy msgid "Vibration reduction 2" msgstr "Verzerrungskorrektur" #: src/nikonmn.cpp:1257 #, fuzzy msgid "Unknown Nikon Shot Info Tag" msgstr "Unbekanntes Feld in der Canon-Bildinfo" #: src/nikonmn.cpp:1268 #, fuzzy msgid "WB RBGG Levels" msgstr "WB_RGGBLevelsShade" #: src/nikonmn.cpp:1268 #, fuzzy msgid "WB RBGG levels" msgstr "Schwarzlevel" #: src/nikonmn.cpp:1270 #, fuzzy msgid "Unknown Nikon Color Balance 1 Tag" msgstr "Farbabgleich 1" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 #, fuzzy msgid "WB RGGB Levels" msgstr "WB_RGGBLevelsShade" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 #, fuzzy msgid "WB RGGB levels" msgstr "Schwarzlevel" #: src/nikonmn.cpp:1283 #, fuzzy msgid "Unknown Nikon Color Balance 2 Tag" msgstr "Farbabgleich 2" #: src/nikonmn.cpp:1296 #, fuzzy msgid "Unknown Nikon Color Balance 2a Tag" msgstr "Farbabgleich 2" #: src/nikonmn.cpp:1309 #, fuzzy msgid "Unknown Nikon Color Balance 2b Tag" msgstr "Farbabgleich 2" #: src/nikonmn.cpp:1320 #, fuzzy msgid "WB RGBG Levels" msgstr "WB_RGGBLevelsShade" #: src/nikonmn.cpp:1320 #, fuzzy msgid "WB RGBG levels" msgstr "Schwarzlevel" #: src/nikonmn.cpp:1322 #, fuzzy msgid "Unknown Nikon Color Balance 3 Tag" msgstr "Unbekanntes Canon-Panoramafeld" #: src/nikonmn.cpp:1333 #, fuzzy msgid "WB GRBG Levels" msgstr "WB_RGGBLevelsShade" #: src/nikonmn.cpp:1333 #, fuzzy msgid "WB GRBG levels" msgstr "Schwarzlevel" #: src/nikonmn.cpp:1335 #, fuzzy msgid "Unknown Nikon Color Balance 4 Tag" msgstr "Unbekanntes Canon-Panoramafeld" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID Number" msgstr "Linsen-Seriennummer" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID number" msgstr "Linsen-Seriennummer" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-Stops" msgstr "Blendeneinstellung der Linse" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-stops" msgstr "Blendeneinstellung der Linse" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min Focal Length" msgstr "Minimale Fokuslänge" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min focal length" msgstr "Minimale Fokuslänge" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max Focal Length" msgstr "Maximale Fokuslänge" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max focal length" msgstr "Maximale Fokuslänge" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 msgid "Max Aperture At Min Focal" msgstr "Maximale Blende bei minimalem Fokus" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 msgid "Max aperture at min focal" msgstr "Maximale Blende bei minimalem Fokus" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 msgid "Max Aperture At Max Focal" msgstr "Maximale Blende bei maximalem Fokus" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 msgid "Max aperture at max focal" msgstr "Maximale Blende bei maximalem Fokus" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU Version" msgstr "ARM-Version" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU version" msgstr "ARM-Version" #: src/nikonmn.cpp:1354 #, fuzzy msgid "Unknown Nikon Lens Data 1 Tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Nikon1" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit Pupil Position" msgstr "Autofokus-Position" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit pupil position" msgstr "Fokusposition" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF Aperture" msgstr "Blende" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF aperture" msgstr "Blende" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 #, fuzzy msgid "Effective Max Aperture" msgstr "Maximale Blende" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 #, fuzzy msgid "Effective max aperture" msgstr "Maximale Blende" #: src/nikonmn.cpp:1379 #, fuzzy msgid "Unknown Nikon Lens Data 2 Tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Nikon1" #: src/nikonmn.cpp:1399 #, fuzzy msgid "Max aperture at min focal length" msgstr "Maximale Blende bei minimalem Fokus" #: src/nikonmn.cpp:1400 #, fuzzy msgid "Max aperture at max focal length" msgstr "Maximale Blende bei maximalem Fokus" #: src/nikonmn.cpp:1404 #, fuzzy msgid "Unknown Nikon Lens Data 3 Tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Nikon1" #: src/nikonmn.cpp:1590 msgid "Closest subject" msgstr "Nächstes Motiv" #: src/nikonmn.cpp:1591 msgid "Group dynamic-AF" msgstr "Gruppen dynamischer Autofokus" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "Keine" #: src/nikonmn.cpp:1624 msgid "used" msgstr "benutzt" #: src/nikonmn.cpp:1650 #, fuzzy msgid "All 11 Points" msgstr "Autofokus-Punkte" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 msgid "Single-frame" msgstr "Einzelbild" #: src/olympusmn.cpp:71 msgid "Standard Quality (SQ)" msgstr "Standard Qualität (SQ)" #: src/olympusmn.cpp:72 msgid "High Quality (HQ)" msgstr "Hohe Qualität (HQ)" #: src/olympusmn.cpp:73 msgid "Super High Quality (SHQ)" msgstr "Super Hohe Qualität (SHQ)" #: src/olympusmn.cpp:88 msgid "On (preset)" msgstr "Ein (Standard)" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 msgid "Sport" msgstr "Sport" #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 msgid "Landscape+Portrait" msgstr "Landschaft und Portrait" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 msgid "Self Portrait" msgstr "Selbstportrait" #: src/olympusmn.cpp:102 msgid "2 in 1" msgstr "2 in 1" #: src/olympusmn.cpp:105 msgid "Night+Portrait" msgstr "Nacht und Portrait" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "Essen" #: src/olympusmn.cpp:112 msgid "Documents" msgstr "Dokumente" #: src/olympusmn.cpp:114 msgid "Shoot & Select" msgstr "Aufnehmen & Auswählen" #: src/olympusmn.cpp:115 msgid "Beach & Snow" msgstr "Strand & Schnee" #: src/olympusmn.cpp:116 msgid "Self Portrait+Timer" msgstr "Selbstportrait und -Auslöser" #: src/olympusmn.cpp:117 msgid "Candle" msgstr "Kerze" #: src/olympusmn.cpp:118 msgid "Available Light" msgstr "Verfügbares Licht" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "Hinter Glas" #: src/olympusmn.cpp:120 msgid "My Mode" msgstr "Eigener Modus" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 msgid "Pet" msgstr "Haustier" #: src/olympusmn.cpp:122 msgid "Underwater Wide1" msgstr "Unterwasser-Weite1" #: src/olympusmn.cpp:123 msgid "Underwater Macro" msgstr "Unterwasser-Makro" #: src/olympusmn.cpp:124 msgid "Shoot & Select1" msgstr "Aufnehmen & Auswählen1" #: src/olympusmn.cpp:125 msgid "Shoot & Select2" msgstr "Aufnehmen & Auswählen2" #: src/olympusmn.cpp:127 msgid "Digital Image Stabilization" msgstr "Digitale Bildstabilisierung" #: src/olympusmn.cpp:128 msgid "Auction" msgstr "Auktion" #: src/olympusmn.cpp:131 msgid "Underwater Wide2" msgstr "Unterwasser Weite2" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "Kinder" #: src/olympusmn.cpp:135 msgid "Nature Macro" msgstr "Natur-Makro" #: src/olympusmn.cpp:136 msgid "Underwater Snapshot" msgstr "Unterwasser-Aufnahme" #: src/olympusmn.cpp:137 msgid "Shooting Guide" msgstr "Aufnahmehilfe" #: src/olympusmn.cpp:145 msgid "Internal + External" msgstr "Intern + Extern" #: src/olympusmn.cpp:176 msgid "Interlaced" msgstr "Interlaced" #: src/olympusmn.cpp:177 msgid "Progressive" msgstr "Progressiv" #: src/olympusmn.cpp:188 msgid "Thumbnail Image" msgstr "Vorschaubild" #: src/olympusmn.cpp:189 msgid "Thumbnail image" msgstr "Vorschaubild" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 #, fuzzy msgid "Body Firmware Version" msgstr "Firmware Version" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 #, fuzzy msgid "Body firmware version" msgstr "Firmware Version" #: src/olympusmn.cpp:195 msgid "Special Mode" msgstr "Spezialmodus" #: src/olympusmn.cpp:196 msgid "Picture taking mode" msgstr "Bildaufnahmemodus" #: src/olympusmn.cpp:204 msgid "Black & White Mode" msgstr "Schwarz/Weiß-Modus" #: src/olympusmn.cpp:205 msgid "Black and white mode" msgstr "Schwarz/Weiß-Modus" #: src/olympusmn.cpp:208 msgid "Digital zoom ratio" msgstr "Digitale Zoomrate" #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 msgid "Focal Plane Diagonal" msgstr "Brennebene" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 msgid "Focal plane diagonal" msgstr "Brennebene" #: src/olympusmn.cpp:213 msgid "Lens Distortion Parameters" msgstr "Linsenverzerrungsparameter" #: src/olympusmn.cpp:214 msgid "Lens distortion parameters" msgstr "Linsenverzerrungsparameter" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 msgid "Camera Type" msgstr "Kameratyp" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 msgid "Camera type" msgstr "Kameratyp" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "ASCII-Formatdaten wie z.B. bei [BildInfo]" #: src/olympusmn.cpp:222 msgid "Camera ID" msgstr "Kamera ID" #: src/olympusmn.cpp:223 msgid "Camera ID data" msgstr "Kamera ID-Daten" #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "Software" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 #, fuzzy msgid "Preview Image" msgstr "Bildvorschau gültig" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 #, fuzzy msgid "Preview image" msgstr "Bildvorschau gültig" #: src/olympusmn.cpp:237 msgid "Pre Capture Frames" msgstr "Vorerfassungsbilder" #: src/olympusmn.cpp:238 msgid "Pre-capture frames" msgstr "Vorerfassungsbilder" #: src/olympusmn.cpp:240 #, fuzzy msgid "White Board" msgstr "Weißabgleich" #: src/olympusmn.cpp:241 #, fuzzy msgid "White board" msgstr "Weißabgleich" #: src/olympusmn.cpp:243 msgid "One Touch WB" msgstr "Ein-Tasten-Weißabgleich" #: src/olympusmn.cpp:244 msgid "One touch white balance" msgstr "Ein-Tasten-Weißabgleich" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 msgid "White Balance Bracket" msgstr "Weißabgleichsreihe" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 msgid "White balance bracket" msgstr "Weißabgleichsreihe" #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 msgid "Firmware" msgstr "Firmware" #: src/olympusmn.cpp:261 msgid "Data Dump 1" msgstr "Datendump 1" #: src/olympusmn.cpp:262 msgid "Various camera settings 1" msgstr "Verschiedene Kameraeinstellungen 1" #: src/olympusmn.cpp:264 msgid "Data Dump 2" msgstr "Datendump 2" #: src/olympusmn.cpp:265 msgid "Various camera settings 2" msgstr "Verschiedene Kameraeinstellungen 2" #: src/olympusmn.cpp:268 msgid "Shutter speed value" msgstr "Verschlusswert" #: src/olympusmn.cpp:271 msgid "ISO speed value" msgstr "ISO-Geschwindigkeitswert" #: src/olympusmn.cpp:274 msgid "Aperture value" msgstr "Blendenwert" #: src/olympusmn.cpp:277 msgid "Brightness value" msgstr "Helligkeitswert" #: src/olympusmn.cpp:285 msgid "Bracket" msgstr "Erfassung" #: src/olympusmn.cpp:286 msgid "Exposure compensation value" msgstr "Blitzkompensationswert" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 msgid "Sensor Temperature" msgstr "Sensortemperatur" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 msgid "Sensor temperature" msgstr "Sensortemperatur" #: src/olympusmn.cpp:291 msgid "Lens Temperature" msgstr "Linsentemperatur" #: src/olympusmn.cpp:292 msgid "Lens temperature" msgstr "Linsentemperatur" #: src/olympusmn.cpp:294 #, fuzzy msgid "Light Condition" msgstr "Hohe Funktionen" #: src/olympusmn.cpp:295 #, fuzzy msgid "Light condition" msgstr "Hohe Funktionen" #: src/olympusmn.cpp:297 #, fuzzy msgid "Focus Range" msgstr "Fokusbereich" #: src/olympusmn.cpp:298 #, fuzzy msgid "Focus range" msgstr "Fokusbereich" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "Zoom" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 msgid "Zoom step count" msgstr "Zoom-Schrittweite" #: src/olympusmn.cpp:309 msgid "Macro Focus" msgstr "Makro-Fokus" #: src/olympusmn.cpp:310 msgid "Macro focus step count" msgstr "Makro-Fokus-Schrittweite" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 msgid "Sharpness Factor" msgstr "Schärfefaktor" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 msgid "Sharpness factor" msgstr "Schärfefaktor" #: src/olympusmn.cpp:315 msgid "Flash Charge Level" msgstr "Batteriestatus des Blitzes" #: src/olympusmn.cpp:316 msgid "Flash charge level" msgstr "Batteriestatus des Blitzes" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 msgid "Color Matrix" msgstr "Farbmatrix" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 msgid "Color matrix" msgstr "Farbmatrix" #: src/olympusmn.cpp:321 msgid "BlackLevel" msgstr "Schwarzlevel" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 msgid "Black level" msgstr "Schwarzlevel" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 msgid "White balance mode" msgstr "Weißabgleichsmodus" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 msgid "Red Balance" msgstr "Rotabgleich" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 msgid "Red balance" msgstr "Rotabgleich" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 msgid "Blue Balance" msgstr "Blauabgleich" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 msgid "Blue balance" msgstr "Blauabgleich" #: src/olympusmn.cpp:342 #, fuzzy msgid "Color Matrix Number" msgstr "Farbmatrix 1" #: src/olympusmn.cpp:343 #, fuzzy msgid "Color matrix number" msgstr "Farbmatrix 2" #: src/olympusmn.cpp:345 msgid "Serial Number 2" msgstr "Seriennummer 2" #: src/olympusmn.cpp:346 msgid "Serial number 2" msgstr "Seriennummer 2" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 msgid "Flash exposure compensation" msgstr "Blitzbelichtungskompensation" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 #, fuzzy msgid "External Flash Bounce" msgstr "Externer Blitzmodus" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 #, fuzzy msgid "External flash bounce" msgstr "Externer Blitzmodus" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 msgid "External Flash Zoom" msgstr "Externer Blitzzoom" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 msgid "External flash zoom" msgstr "Externer Blitzzoom" #: src/olympusmn.cpp:387 msgid "External Flash Mode" msgstr "Externer Blitzmodus" #: src/olympusmn.cpp:388 msgid "External flash mode" msgstr "Externer Blitzmodus" #: src/olympusmn.cpp:396 msgid "Color Control" msgstr "Farbkontrolle" #: src/olympusmn.cpp:397 msgid "Color control" msgstr "Farbkontrolle" #: src/olympusmn.cpp:399 msgid "ValidBits" msgstr "Gültige Bits" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 msgid "Valid bits" msgstr "Gültige Bits" #: src/olympusmn.cpp:402 msgid "CoringFilter" msgstr "Kernfiilter" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 msgid "Coring filter" msgstr "Kernfilter" #: src/olympusmn.cpp:423 msgid "Compression Ratio" msgstr "Kompressionsrate" #: src/olympusmn.cpp:424 msgid "Compression ratio" msgstr "Kompressionsrate" #: src/olympusmn.cpp:427 msgid "Preview image embedded" msgstr "Eingebettetes Vorschaubild" #: src/olympusmn.cpp:430 msgid "Offset of the preview image" msgstr "Offset des Vorschaubildes" #: src/olympusmn.cpp:433 msgid "Size of the preview image" msgstr "Größe des Vorschaubildes" #: src/olympusmn.cpp:435 msgid "CCD Scan Mode" msgstr "CCD-Scanmodus" #: src/olympusmn.cpp:436 msgid "CCD scan mode" msgstr "CCD-Scanmodus" #: src/olympusmn.cpp:441 msgid "Infinity Lens Step" msgstr "Unendlicher Linsenschritt" #: src/olympusmn.cpp:442 msgid "Infinity lens step" msgstr "Unendlicher Linsenschritt" #: src/olympusmn.cpp:444 msgid "Near Lens Step" msgstr "Naher Linsenschritt" #: src/olympusmn.cpp:445 msgid "Near lens step" msgstr "Naher Linsenschritt" #: src/olympusmn.cpp:447 msgid "Equipment Info" msgstr "Ausrüstungsinfo" #: src/olympusmn.cpp:448 msgid "Camera equipment sub-IFD" msgstr "Kamerasausrüstung Unter-IFD" #: src/olympusmn.cpp:451 msgid "Camera Settings sub-IFD" msgstr "Kameraeinstellungen (Unter-IFD)" #: src/olympusmn.cpp:453 msgid "Raw Development" msgstr "Rohentwicklung" #: src/olympusmn.cpp:454 msgid "Raw development sub-IFD" msgstr "Rohentwicklung Unter-IFD" #: src/olympusmn.cpp:456 msgid "Raw Development 2" msgstr "Rohentwicklung 2" #: src/olympusmn.cpp:457 msgid "Raw development 2 sub-IFD" msgstr "Rohentwicklung 2 Unter-IFD" #: src/olympusmn.cpp:460 msgid "Image processing sub-IFD" msgstr "Bildverarbeitung Unter-IFD" #: src/olympusmn.cpp:462 msgid "Focus Info" msgstr "Fokus-Info" #: src/olympusmn.cpp:463 msgid "Focus sub-IFD" msgstr "Fokus Unter-IFD" #: src/olympusmn.cpp:465 msgid "Raw Info" msgstr "Rohinfo" #: src/olympusmn.cpp:466 #, fuzzy msgid "Raw sub-IFD" msgstr "Fokus Unter-IFD" #: src/olympusmn.cpp:470 msgid "Unknown OlympusMakerNote tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Olympus" #: src/olympusmn.cpp:486 msgid "Program-shift" msgstr "Programmwechsel" #: src/olympusmn.cpp:491 msgid "Center-weighted average" msgstr "Mittelpunkt gewichteter Durchschnitt" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "" #: src/olympusmn.cpp:494 msgid "Pattern+AF" msgstr "Muster und Autofokus" #: src/olympusmn.cpp:495 msgid "Spot+Highlight control" msgstr "" #: src/olympusmn.cpp:496 #, fuzzy msgid "Spot+Shadow control" msgstr "Farbkontrolle" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 msgid "Single AF" msgstr "Einzel-Autofokus" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "Serienaufnahmen-Autofokus" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 msgid "Multi AF" msgstr "Mehrfacher Autofokus" #: src/olympusmn.cpp:517 msgid "AF Not Used" msgstr "Autofokus wurde nicht benutzt" #: src/olympusmn.cpp:518 msgid "AF Used" msgstr "Autofokus wurde benutzt" #: src/olympusmn.cpp:523 msgid "Not Ready" msgstr "Nicht bereit" #: src/olympusmn.cpp:524 msgid "Ready" msgstr "Fertig" #: src/olympusmn.cpp:531 msgid "Fill-in" msgstr "Ausfüllen" #: src/olympusmn.cpp:533 msgid "Slow-sync" msgstr "Langsame Synchronisation" #: src/olympusmn.cpp:534 #, fuzzy msgid "Forced On" msgstr "Leuchtstoffröhre" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "" #: src/olympusmn.cpp:541 msgid "Channel 1, Low" msgstr "" #: src/olympusmn.cpp:542 msgid "Channel 2, Low" msgstr "" #: src/olympusmn.cpp:543 msgid "Channel 3, Low" msgstr "" #: src/olympusmn.cpp:544 msgid "Channel 4, Low" msgstr "" #: src/olympusmn.cpp:545 msgid "Channel 1, Mid" msgstr "" #: src/olympusmn.cpp:546 msgid "Channel 2, Mid" msgstr "" #: src/olympusmn.cpp:547 msgid "Channel 3, Mid" msgstr "" #: src/olympusmn.cpp:548 msgid "Channel 4, Mid" msgstr "" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "" #: src/olympusmn.cpp:567 #, fuzzy msgid "7500K (Fine Weather with Shade)" msgstr "5300K (Gutes Wetter)" #: src/olympusmn.cpp:568 msgid "6000K (Cloudy)" msgstr "6000K (Wolkig)" #: src/olympusmn.cpp:569 msgid "5300K (Fine Weather)" msgstr "5300K (Gutes Wetter)" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "3000K (Wolframlicht)" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 msgid "3600K (Tungsten light-like)" msgstr "3600K (Ähnlich Wolframlicht)" #: src/olympusmn.cpp:572 #, fuzzy msgid "Auto Setup" msgstr "Blende" #: src/olympusmn.cpp:573 #, fuzzy msgid "5500K (Flash)" msgstr "Automatisch (Blitz)" #: src/olympusmn.cpp:574 msgid "6600K (Daylight fluorescent)" msgstr "6600K (Tageslicht-Fluroszierend)" #: src/olympusmn.cpp:575 msgid "4500K (Neutral white fluorescent)" msgstr "4500K (Neutral-Weiß-Fluroszierend)" #: src/olympusmn.cpp:576 msgid "4000K (Cool white fluorescent)" msgstr "4000K (Kühl-Weiß-Fluroszierend)" #: src/olympusmn.cpp:577 #, fuzzy msgid "White Fluorescent" msgstr "Weiß fluoreszent" #: src/olympusmn.cpp:580 #, fuzzy msgid "One Touch WB 1" msgstr "Ein-Tasten-Weißabgleich" #: src/olympusmn.cpp:581 #, fuzzy msgid "One Touch WB 2" msgstr "Ein-Tasten-Weißabgleich" #: src/olympusmn.cpp:582 #, fuzzy msgid "One Touch WB 3" msgstr "Ein-Tasten-Weißabgleich" #: src/olympusmn.cpp:583 #, fuzzy msgid "One Touch WB 4" msgstr "Ein-Tasten-Weißabgleich" #: src/olympusmn.cpp:584 msgid "Custom WB 1" msgstr "Benutzerdefiniert WB 1" #: src/olympusmn.cpp:585 msgid "Custom WB 2" msgstr "Benutzerdefiniert WB 2" #: src/olympusmn.cpp:586 msgid "Custom WB 3" msgstr "Benutzerdefiniert WB 3" #: src/olympusmn.cpp:587 msgid "Custom WB 4" msgstr "Benutzerdefiniert WB 4" #: src/olympusmn.cpp:593 msgid "CM1 (Red Enhance)" msgstr "CM1 (Rotverbesserung)" #: src/olympusmn.cpp:594 msgid "CM2 (Green Enhance)" msgstr "CM2 (Grünverbesserung)" #: src/olympusmn.cpp:595 msgid "CM3 (Blue Enhance)" msgstr "CM3 (Blauverbesserung)" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "CM4 (Hauttöne)" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 msgid "Noise Filter" msgstr "Rauschfilter" #: src/olympusmn.cpp:610 msgid "Noise Filter (ISO Boost)" msgstr "Rauschfilter (ISO-Boost)" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 msgid "Muted" msgstr "Stumm" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 msgid "Monotone" msgstr "Monoton" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "" #: src/olympusmn.cpp:648 msgid "SHQ" msgstr "" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 msgid "On, Mode 1" msgstr "An, Modus 1" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 msgid "On, Mode 2" msgstr "An, Modus 2" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 #, fuzzy msgid "On, Mode 3" msgstr "An, Modus 1" #: src/olympusmn.cpp:661 msgid "Camera Settings Version" msgstr "Kameraeinstellungen-Version" #: src/olympusmn.cpp:661 msgid "Camera settings version" msgstr "Kameraeinstellungen-Version" #: src/olympusmn.cpp:662 msgid "PreviewImage Valid" msgstr "Bildvorschau gültig" #: src/olympusmn.cpp:662 msgid "Preview image valid" msgstr "Bildvorschau gültig" #: src/olympusmn.cpp:663 msgid "PreviewImage Start" msgstr "Start der Bildvorschau" #: src/olympusmn.cpp:663 msgid "Preview image start" msgstr "Start der Bildvorschau" #: src/olympusmn.cpp:664 msgid "PreviewImage Length" msgstr "Länge der Bildvorschau" #: src/olympusmn.cpp:664 msgid "Preview image length" msgstr "Länge der Bildvorschau" #: src/olympusmn.cpp:666 msgid "Auto exposure lock" msgstr "Automatische Belichtungssperre" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure Shift" msgstr "Belichtungszeit" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure shift" msgstr "Belichtungszeit" #: src/olympusmn.cpp:671 msgid "Focus Process" msgstr "Fokusverarbeitung" #: src/olympusmn.cpp:671 msgid "Focus process" msgstr "Fokusverarbeitung" #: src/olympusmn.cpp:672 msgid "AF Search" msgstr "Autofokus-Suche" #: src/olympusmn.cpp:672 msgid "AF search" msgstr "Autofokus-Suche" #: src/olympusmn.cpp:673 msgid "AF Areas" msgstr "Autofokus-Bereiche" #: src/olympusmn.cpp:673 msgid "AF areas" msgstr "Autofokus-Bereiche" #: src/olympusmn.cpp:674 #, fuzzy msgid "AFPointSelected" msgstr "Ausgewählter Autofokus-Punkt" #: src/olympusmn.cpp:675 #, fuzzy msgid "AF Fine Tune Adjust" msgstr "Benutzter Autofokus-Punkt" #: src/olympusmn.cpp:675 #, fuzzy msgid "AF fine tune adjust" msgstr "Benutzter Autofokus-Punkt" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash Remote Control" msgstr "Fernbedienung" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash remote control" msgstr "Fernbedienung" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash Control Mode" msgstr "Blitzmodus" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash control mode" msgstr "Blitzmodus" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash Intensity" msgstr "Blitzaktivität" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash intensity" msgstr "Blitzaktivität" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual Flash Strength" msgstr "Blitzstärke" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual flash strength" msgstr "Manuelle Blitzkontrolle" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 msgid "White Balance 2" msgstr "Weißabgleich 2" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 msgid "White balance 2" msgstr "Weißabgleich 2" #: src/olympusmn.cpp:683 msgid "White Balance Temperature" msgstr "Weißabgleichstemperatur" #: src/olympusmn.cpp:683 msgid "White balance temperature" msgstr "Weißabgleichstemperatur" #: src/olympusmn.cpp:685 msgid "Custom Saturation" msgstr "Benutzerdefinierte Sättigung" #: src/olympusmn.cpp:685 msgid "Custom saturation" msgstr "Benutzerdefinierte Sättigung" #: src/olympusmn.cpp:686 msgid "Modified Saturation" msgstr "Geänderte Sättigung" #: src/olympusmn.cpp:686 msgid "Modified saturation" msgstr "Geänderte Sättigung" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 msgid "Contrast Setting" msgstr "Kontrasteinstellung" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 msgid "Sharpness Setting" msgstr "Schärfeneinstellung" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion Correction" msgstr "Verzerrungskorrektur" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion correction" msgstr "Verzerrungskorrektur" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 msgid "Shading Compensation" msgstr "Abschattungskompensation" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 msgid "Shading compensation" msgstr "Abschattungskompensation" #: src/olympusmn.cpp:694 msgid "Compression Factor" msgstr "Kompressionsrate" #: src/olympusmn.cpp:694 msgid "Compression factor" msgstr "Kompressionsrate" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 msgid "Gradation" msgstr "Gradation" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 msgid "Picture mode" msgstr "Bildmodus" #: src/olympusmn.cpp:697 msgid "Picture Mode Saturation" msgstr "Bildmodus-Sättigung" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 msgid "Picture mode saturation" msgstr "Bildmodus-Sättigung" #: src/olympusmn.cpp:698 msgid "Picture Mode Hue" msgstr "Bildmodus-Farbton" #: src/olympusmn.cpp:698 msgid "Picture mode hue" msgstr "Bildmodus-Farbton" #: src/olympusmn.cpp:699 msgid "Picture Mode Contrast" msgstr "Bildmodus-Kontrast" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 msgid "Picture mode contrast" msgstr "Bildmodus-Kontrast" #: src/olympusmn.cpp:700 msgid "Picture Mode Sharpness" msgstr "Bildmodus-Schärfe" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 msgid "Picture mode sharpness" msgstr "Bildmodus-Schärfe" #: src/olympusmn.cpp:701 msgid "Picture Mode BW Filter" msgstr "Bildmodus-Monochromfilter" #: src/olympusmn.cpp:701 msgid "Picture mode BW filter" msgstr "Bildmodus-Monochromfilter" #: src/olympusmn.cpp:702 msgid "Picture Mode Tone" msgstr "Bildmodus-Ton" #: src/olympusmn.cpp:702 msgid "Picture mode tone" msgstr "Bildmodus-Ton" #: src/olympusmn.cpp:703 msgid "Noise filter" msgstr "Rauschfilter" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art Filter" msgstr "Filter" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art filter" msgstr "Farbfilter" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic Filter" msgstr "Digitaler Filter" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic filter" msgstr "Digitaler Filter" #: src/olympusmn.cpp:707 msgid "Panorama Mode" msgstr "Panorama-Modus" #: src/olympusmn.cpp:707 msgid "Panorama mode" msgstr "Panorama-Modus" #: src/olympusmn.cpp:708 msgid "Image Quality 2" msgstr "Bildqualität 2" #: src/olympusmn.cpp:708 msgid "Image quality 2" msgstr "Bildqualität 2" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 #, fuzzy msgid "Manometer Pressure" msgstr "Druckmesser-Druck" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer pressure" msgstr "Druckmesser-Druck" #: src/olympusmn.cpp:711 msgid "Manometer Reading" msgstr "Druckmesser-Lesen" #: src/olympusmn.cpp:711 msgid "Manometer reading" msgstr "Druckmesser-Lesen" #: src/olympusmn.cpp:712 #, fuzzy msgid "Extended WB Detect" msgstr "Szenenerkennung" #: src/olympusmn.cpp:712 #, fuzzy msgid "Extended WB detect" msgstr "Szenenerkennung" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "" #: src/olympusmn.cpp:716 #, fuzzy msgid "Unknown OlympusCs tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Olympus" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "" #: src/olympusmn.cpp:745 msgid "Equipment Version" msgstr "Ausrüstungsversion" #: src/olympusmn.cpp:745 msgid "Equipment version" msgstr "Ausrüstungsversion" #: src/olympusmn.cpp:747 msgid "Serial number" msgstr "Seriennummer" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 msgid "Lens Serial Number" msgstr "Linsen-Seriennummer" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 msgid "Lens serial number" msgstr "Linsen-Seriennummer" #: src/olympusmn.cpp:754 msgid "Lens Firmware Version" msgstr "Linsen-Firmware Version" #: src/olympusmn.cpp:754 msgid "Lens firmware version" msgstr "Linsen-Firmware Version" #: src/olympusmn.cpp:759 msgid "Max Aperture At Current Focal" msgstr "Maximale Blende bei aktuellem Fokus" #: src/olympusmn.cpp:759 msgid "Max aperture at current focal" msgstr "Maximale Blende bei aktuellem Fokus" #: src/olympusmn.cpp:760 msgid "Lens Properties" msgstr "Linseneigenschaften" #: src/olympusmn.cpp:760 msgid "Lens properties" msgstr "Linseneigenschaften" #: src/olympusmn.cpp:761 msgid "Extender" msgstr "Erweiterung" #: src/olympusmn.cpp:762 msgid "Extender Serial Number" msgstr "Seriennummer der Erweiterung" #: src/olympusmn.cpp:762 msgid "Extender serial number" msgstr "Seriennummer der Erweiterung" #: src/olympusmn.cpp:763 msgid "Extender Model" msgstr "Modell der Erweiterung" #: src/olympusmn.cpp:763 msgid "Extender model" msgstr "Modell der Erweiterung" #: src/olympusmn.cpp:764 msgid "Extender Firmware Version" msgstr "Firmware Version der Erweiterung" #: src/olympusmn.cpp:764 msgid "Extender firmwareversion" msgstr "Firmware Version der Erweiterung" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 #, fuzzy msgid "Conversion Lens" msgstr "Versionen" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 #, fuzzy msgid "Conversion lens" msgstr "Kernfilter" #: src/olympusmn.cpp:767 src/properties.cpp:402 msgid "Flash Model" msgstr "Blitzmodell" #: src/olympusmn.cpp:767 msgid "Flash model" msgstr "Blitzmodell" #: src/olympusmn.cpp:768 msgid "Flash Firmware Version" msgstr "Firmware Version des Blitzes" #: src/olympusmn.cpp:768 msgid "Flash firmware version" msgstr "Firmware Version des Blitzes" #: src/olympusmn.cpp:769 msgid "FlashSerialNumber" msgstr "Seriennummer des Blitzes" #: src/olympusmn.cpp:771 #, fuzzy msgid "Unknown OlympusEq tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Olympus" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 msgid "High Speed" msgstr "Hohe Empfindlichkeit" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 msgid "High Function" msgstr "Hohe Funktionen" #: src/olympusmn.cpp:790 msgid "Advanced High Speed" msgstr "Fortgeschrittene hohe Empfindlichkeit" #: src/olympusmn.cpp:791 msgid "Advanced High Function" msgstr "Fortgeschrittene hohe Funktion" #: src/olympusmn.cpp:796 msgid "Original" msgstr "Original" #: src/olympusmn.cpp:797 msgid "Edited (Landscape)" msgstr "Bearbeitet (Landschaft)" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 msgid "Edited (Portrait)" msgstr "Bearbeitet (Portrait)" #: src/olympusmn.cpp:804 msgid "WB Color Temp" msgstr "Weißabgleich-Farbtemperatur" #: src/olympusmn.cpp:805 msgid "WB Gray Point" msgstr "Weißabgleich-Graupunkt" #: src/olympusmn.cpp:815 msgid "Raw Development Version" msgstr "Version der Rohentwicklung" #: src/olympusmn.cpp:815 msgid "Raw development version" msgstr "Version der Rohentwicklung" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 msgid "Exposure Bias Value" msgstr "Belichtungsfehler" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 #, fuzzy msgid "Exposure bias value" msgstr "Belichtungsfehler" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White Balance Value" msgstr "Weißabgleichswert" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White balance value" msgstr "Weißabgleichswert" #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 #, fuzzy msgid "WB Fine Adjustment" msgstr "Sättigungsanpassung" #: src/olympusmn.cpp:818 #, fuzzy msgid "WB fine adjustment" msgstr "Sättigungsanpassung" #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 msgid "Gray Point" msgstr "Graupunkt" #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 msgid "Gray point" msgstr "Graupunkt" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 #, fuzzy msgid "Saturation Emphasis" msgstr "Sättigungseinstellung" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 #, fuzzy msgid "Saturation emphasis" msgstr "Sättigungseinstellung" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 #, fuzzy msgid "Memory Color Emphasis" msgstr "Meine Farben" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 #, fuzzy msgid "Memory color emphasis" msgstr "Meine Farben" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast Value" msgstr "Kontrast-Wert" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast value" msgstr "Kontrast-Wert" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness Value" msgstr "Schärfe-Wert" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness value" msgstr "Schärfe-Wert" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 #, fuzzy msgid "Engine" msgstr "Techniker" #: src/olympusmn.cpp:827 msgid "Edit status" msgstr "Bearbeitungsstatus" #: src/olympusmn.cpp:828 msgid "Settings" msgstr "Einstellungen" #: src/olympusmn.cpp:830 #, fuzzy msgid "Unknown OlympusRd tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Olympus" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw Development 2 Version" msgstr "Rohentwicklung" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw development 2 version" msgstr "Roh-Entwicklungsinformation" #: src/olympusmn.cpp:889 #, fuzzy msgid "White balance fine adjustment" msgstr "Weißabgleich-Anpassung" #: src/olympusmn.cpp:899 #, fuzzy msgid "PM Saturation" msgstr "Sättigung" #: src/olympusmn.cpp:900 #, fuzzy msgid "PM Contrast" msgstr "Kontrast" #: src/olympusmn.cpp:901 #, fuzzy msgid "PM Sharpness" msgstr "Schärfe" #: src/olympusmn.cpp:902 #, fuzzy msgid "PM BW Filter" msgstr "Filter" #: src/olympusmn.cpp:902 #, fuzzy msgid "PM BW filter" msgstr "Filter" #: src/olympusmn.cpp:903 #, fuzzy msgid "PM Picture Tone" msgstr "Bildmodus" #: src/olympusmn.cpp:903 #, fuzzy msgid "PM picture tone" msgstr "Bildmodus" #: src/olympusmn.cpp:906 #, fuzzy msgid "Auto Gradation" msgstr "Audiodauer" #: src/olympusmn.cpp:906 #, fuzzy msgid "Auto gradation" msgstr "Audiodauer" #: src/olympusmn.cpp:907 #, fuzzy msgid "PM Noise Filter" msgstr "Rauschfilter" #: src/olympusmn.cpp:907 #, fuzzy msgid "Picture mode noise filter" msgstr "Bildmoduseinstellung" #: src/olympusmn.cpp:909 #, fuzzy msgid "Unknown OlympusRd2 tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Olympus" #: src/olympusmn.cpp:920 #, fuzzy msgid "On (2 frames)" msgstr "Ein (Standard)" #: src/olympusmn.cpp:921 #, fuzzy msgid "On (3 frames)" msgstr "Ein (Standard)" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image Processing Version" msgstr "Bildverarbeitung" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image processing version" msgstr "Informationen zur Bildverarbeitung" #: src/olympusmn.cpp:940 #, fuzzy msgid "WB RB Levels 3000K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:940 #, fuzzy msgid "WB RB levels 3000K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:941 #, fuzzy msgid "WB RB Levels 3300K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:941 #, fuzzy msgid "WB RB levels 3300K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:942 #, fuzzy msgid "WB RB Levels 3600K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:942 #, fuzzy msgid "WB RB levels 3600K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:943 #, fuzzy msgid "WB RB Levels 3900K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:943 #, fuzzy msgid "WB RB levels 3900K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:944 #, fuzzy msgid "WB RB Levels 4000K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:944 #, fuzzy msgid "WB RB levels 4000K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:945 #, fuzzy msgid "WB RB Levels 4300K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:945 #, fuzzy msgid "WB RB levels 4300K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:946 #, fuzzy msgid "WB RB Levels 4500K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:946 #, fuzzy msgid "WB RB levels 4500K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:947 #, fuzzy msgid "WB RB Levels 4800K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:947 #, fuzzy msgid "WB RB levels 4800K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:948 #, fuzzy msgid "WB RB Levels 5300K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:948 #, fuzzy msgid "WB RB levels 5300K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:949 #, fuzzy msgid "WB RB Levels 6000K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:949 #, fuzzy msgid "WB RB levels 6000K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:950 #, fuzzy msgid "WB RB Levels 6600K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:950 #, fuzzy msgid "WB RB levels 6600K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:951 #, fuzzy msgid "WB RB Levels 7500K" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:951 #, fuzzy msgid "WB RB levels 7500K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:952 #, fuzzy msgid "WB RB Levels CWB1" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:952 #, fuzzy msgid "WB RB levels CWB1" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:953 #, fuzzy msgid "WB RB Levels CWB2" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:953 #, fuzzy msgid "WB RB levels CWB2" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:954 #, fuzzy msgid "WB RB Levels CWB3" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:954 #, fuzzy msgid "WB RB levels CWB3" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:955 #, fuzzy msgid "WB RB Levels CWB4" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:955 #, fuzzy msgid "WB RB levels CWB4" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:956 #, fuzzy msgid "WB G Level 3000K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:956 #, fuzzy msgid "WB G level 3000K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:957 #, fuzzy msgid "WB G Level 3300K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:957 #, fuzzy msgid "WB G level 3300K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:958 #, fuzzy msgid "WB G Level 3600K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:958 #, fuzzy msgid "WB G level 3600K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:959 #, fuzzy msgid "WB G Level 3900K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:959 #, fuzzy msgid "WB G level 3900K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:960 #, fuzzy msgid "WB G Level 4000K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:960 #, fuzzy msgid "WB G level 4000K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:961 #, fuzzy msgid "WB G Level 4300K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:961 #, fuzzy msgid "WB G level 4300K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:962 #, fuzzy msgid "WB G Level 4500K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:962 #, fuzzy msgid "WB G level 4500K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:963 #, fuzzy msgid "WB G Level 4800K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:963 #, fuzzy msgid "WB G level 4800K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:964 #, fuzzy msgid "WB G Level 5300K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:964 #, fuzzy msgid "WB G level 5300K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:965 #, fuzzy msgid "WB G Level 6000K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:965 #, fuzzy msgid "WB G level 6000K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:966 #, fuzzy msgid "WB G Level 6600K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:966 #, fuzzy msgid "WB G level 6600K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:967 #, fuzzy msgid "WB G Level 7500K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:967 #, fuzzy msgid "WB G level 7500K" msgstr "Schwarzlevel" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G Level" msgstr "Schwarzlevel" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G level" msgstr "Schwarzlevel" #: src/olympusmn.cpp:970 msgid "Enhancer" msgstr "Verbesserer" #: src/olympusmn.cpp:971 msgid "Enhancer Values" msgstr "Verbesserer-Werte" #: src/olympusmn.cpp:971 #, fuzzy msgid "Enhancer values" msgstr "Verbesserer-Werte" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring Filter" msgstr "Kernfiilter" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring Values" msgstr "Kernfilter" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring values" msgstr "Kernfilter" #: src/olympusmn.cpp:974 src/tags.cpp:915 msgid "Black Level" msgstr "Schwarzlevel" #: src/olympusmn.cpp:975 #, fuzzy msgid "Gain Base" msgstr "Basis-Adresse" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "" #: src/olympusmn.cpp:976 msgid "Valid Bits" msgstr "Gültige Bits" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 msgid "Crop Left" msgstr "Links zuschneiden" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 msgid "Crop left" msgstr "Links zuschneiden" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 msgid "Crop Top" msgstr "Oben zuschneiden" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 msgid "Crop top" msgstr "Oben zuschneiden" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 msgid "Crop Width" msgstr "Breite des Zuschnitts" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 msgid "Crop width" msgstr "Breite des Zuschnitts" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 msgid "Crop Height" msgstr "Höhe des Zuschnitts" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 msgid "Crop height" msgstr "Höhe des Zuschnitts" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple Exposure Mode" msgstr "Belichtungsmodus" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple exposure mode" msgstr "Mehrfache Belichtung" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 #, fuzzy msgid "Aspect Ratio" msgstr "Video-Pixelverhältnis" #: src/olympusmn.cpp:985 #, fuzzy msgid "Aspect ratio" msgstr "Video-Pixelverhältnis" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect Frame" msgstr "Video-Pixelverhältnis" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect frame" msgstr "Video-Pixelverhältnis" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 #, fuzzy msgid "Face Detect" msgstr "Fehler beim Lesen" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 #, fuzzy msgid "Face detect" msgstr "Fehler beim Lesen" #: src/olympusmn.cpp:988 #, fuzzy msgid "Face Detect Area" msgstr "Fehler beim Lesen" #: src/olympusmn.cpp:988 #, fuzzy msgid "Face detect area" msgstr "Fehler beim Lesen" #: src/olympusmn.cpp:990 #, fuzzy msgid "Unknown OlympusIp tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Olympus" #: src/olympusmn.cpp:1000 msgid "Bounce or Off" msgstr "" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "Direkt" #: src/olympusmn.cpp:1005 msgid "Focus Info Version" msgstr "Version der Fokus-Information" #: src/olympusmn.cpp:1005 msgid "Focus info version" msgstr "Version der Fokus-Information" #: src/olympusmn.cpp:1006 msgid "Auto Focus" msgstr "Automatischer Fokus" #: src/olympusmn.cpp:1007 msgid "Scene Detect" msgstr "Szenenerkennung" #: src/olympusmn.cpp:1007 msgid "Scene detect" msgstr "Szenenerkennung" #: src/olympusmn.cpp:1008 msgid "Scene Area" msgstr "Szenenbereich" #: src/olympusmn.cpp:1008 msgid "Scene area" msgstr "Szenenbereich" #: src/olympusmn.cpp:1009 msgid "Scene Detect Data" msgstr "Szenenerkennungsdaten" #: src/olympusmn.cpp:1009 msgid "Scene detect data" msgstr "Szenenerkennungsdaten" #: src/olympusmn.cpp:1010 msgid "Zoom Step Count" msgstr "Zoom-Schrittweite" #: src/olympusmn.cpp:1011 msgid "Focus Step Count" msgstr "Fokus-Schrittweite" #: src/olympusmn.cpp:1011 msgid "Focus step count" msgstr "Fokus-Schrittweite" #: src/olympusmn.cpp:1012 #, fuzzy msgid "Focus Step Infinity" msgstr "Fokuseinstellung" #: src/olympusmn.cpp:1012 #, fuzzy msgid "Focus step infinity" msgstr "Fokuseinstellung" #: src/olympusmn.cpp:1013 #, fuzzy msgid "Focus Step Near" msgstr "Fokustyp" #: src/olympusmn.cpp:1013 #, fuzzy msgid "Focus step near" msgstr "Fokusabstand" #: src/olympusmn.cpp:1016 msgid "External Flash" msgstr "Externer Blitz" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External Flash Guide Number" msgstr "Externer Blitzmodus" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External flash guide number" msgstr "Externer Blitzmodus" #: src/olympusmn.cpp:1021 msgid "Manual Flash" msgstr "Manuell ausgelöst" #: src/olympusmn.cpp:1021 msgid "Manual flash" msgstr "Manuell ausgelöst" #: src/olympusmn.cpp:1025 #, fuzzy msgid "Unknown OlympusFi tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Olympus" #: src/olympusmn.cpp:1036 #, fuzzy msgid "Unknown OlympusFe tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Olympus" #: src/olympusmn.cpp:1049 #, fuzzy msgid "Fine Weather" msgstr "Gutes Wetter" #: src/olympusmn.cpp:1050 #, fuzzy msgid "Tungsten (incandescent)" msgstr "weißglühendes Wolfram Licht" #: src/olympusmn.cpp:1051 #, fuzzy msgid "Evening Sunlight" msgstr "Abend" #: src/olympusmn.cpp:1052 #, fuzzy msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "Tageslicht Leuchtstoff (D 5700 - 7100K)" #: src/olympusmn.cpp:1053 #, fuzzy msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "Tageslichtweiß Leuchtstoff (N 4600 - 5400K)" #: src/olympusmn.cpp:1054 #, fuzzy msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "Kühles weißes Leuchtstofflicht (W 3900 - 4500K)" #: src/olympusmn.cpp:1055 #, fuzzy msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "Weißes Leuchtstofflicht (WW 3200 - 3700K)" #: src/olympusmn.cpp:1056 #, fuzzy msgid "One Touch White Balance" msgstr "Ein-Tasten-Weißabgleich" #: src/olympusmn.cpp:1057 #, fuzzy msgid "Custom 1-4" msgstr "Benutzerdefiniert 1" #: src/olympusmn.cpp:1061 #, fuzzy msgid "Raw Info Version" msgstr "Version der Fokus-Information" #: src/olympusmn.cpp:1061 #, fuzzy msgid "Raw info version" msgstr "Version der Fokus-Information" #: src/olympusmn.cpp:1062 #, fuzzy msgid "WB_RB Levels Used" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:1062 #, fuzzy msgid "WB_RB levels used" msgstr "Schwarzlevel" #: src/olympusmn.cpp:1063 #, fuzzy msgid "WB_RB Levels Auto" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:1063 #, fuzzy msgid "WB_RB levels auto" msgstr "Schwarzlevel" #: src/olympusmn.cpp:1064 #, fuzzy msgid "WB_RB Levels Shade" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:1064 #, fuzzy msgid "WB_RB levels shade" msgstr "WB_RGGBLevelsShade" #: src/olympusmn.cpp:1065 #, fuzzy msgid "WB_RB Levels Cloudy" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:1065 #, fuzzy msgid "WB_RB levels cloudy" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:1066 #, fuzzy msgid "WB_RB Levels Fine Weather" msgstr "WB_RGGBLevelsFlash" #: src/olympusmn.cpp:1066 #, fuzzy msgid "WB_RB levels fine weather" msgstr "WB_RGGBLevelsFlash" #: src/olympusmn.cpp:1067 #, fuzzy msgid "WB_RB Levels Tungsten" msgstr "WB_RGGBLevelsTungsten" #: src/olympusmn.cpp:1067 #, fuzzy msgid "WB_RB levels tungsten" msgstr "WB_RGGBLevelsTungsten" #: src/olympusmn.cpp:1068 #, fuzzy msgid "WB_RB Levels Evening Sunlight" msgstr "WB_RGGBLevelsDaylight" #: src/olympusmn.cpp:1068 #, fuzzy msgid "WB_RB levels evening sunlight" msgstr "WB_RGGBLevelsDaylight" #: src/olympusmn.cpp:1069 #, fuzzy msgid "WB_RB Levels Daylight Fluor" msgstr "WB_RGGBLevelsDaylight" #: src/olympusmn.cpp:1069 #, fuzzy msgid "WB_RB levels daylight fluor" msgstr "WB_RGGBLevelsDaylight" #: src/olympusmn.cpp:1070 #, fuzzy msgid "WB_RB Levels Day White Fluor" msgstr "WB_RGGBLevelsDaylight" #: src/olympusmn.cpp:1070 #, fuzzy msgid "WB_RB levels day white fluor" msgstr "WB_RGGBLevelsDaylight" #: src/olympusmn.cpp:1071 #, fuzzy msgid "WB_RB Levels Cool White Fluor" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:1071 #, fuzzy msgid "WB_RB levels cool white fluor" msgstr "WB_RGGBLevelsCloudy" #: src/olympusmn.cpp:1072 #, fuzzy msgid "WB_RB Levels White Fluorescent" msgstr "WB_RGGBLevelsFluorescentD" #: src/olympusmn.cpp:1072 #, fuzzy msgid "WB_RB levels white fluorescent" msgstr "WB_RGGBLevelsFluorescentD" #: src/olympusmn.cpp:1073 #, fuzzy msgid "Color Matrix2" msgstr "Farbmatrix 2" #: src/olympusmn.cpp:1073 #, fuzzy msgid "Color matrix 2" msgstr "Farbmatrix 2" #: src/olympusmn.cpp:1076 #, fuzzy msgid "Black Level 2" msgstr "Schwarzlevel" #: src/olympusmn.cpp:1076 #, fuzzy msgid "Black level 2" msgstr "Schwarzlevel" #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 msgid "YCbCr Coefficients" msgstr "YCbCr Koeffizienten" #: src/olympusmn.cpp:1077 #, fuzzy msgid "YCbCr coefficients" msgstr "YCbCr Koeffizienten" #: src/olympusmn.cpp:1078 #, fuzzy msgid "Valid Pixel Depth" msgstr "Video-Pixeltiefe" #: src/olympusmn.cpp:1078 #, fuzzy msgid "Valid pixel depth" msgstr "Video-Pixeltiefe" #: src/olympusmn.cpp:1084 #, fuzzy msgid "White Balance Comp" msgstr "Weißabgleich 2" #: src/olympusmn.cpp:1084 #, fuzzy msgid "White balance comp" msgstr "Weißabgleich 2" #: src/olympusmn.cpp:1085 #, fuzzy msgid "Saturation Setting" msgstr "Sättigungseinstellung" #: src/olympusmn.cpp:1086 #, fuzzy msgid "Hue Setting" msgstr "Besitzt Einstellungen" #: src/olympusmn.cpp:1086 #, fuzzy msgid "Hue setting" msgstr "Automatische Belichtung-Einstellungen" #: src/olympusmn.cpp:1089 #, fuzzy msgid "CM Exposure Compensation" msgstr "Belichtungskompensierung" #: src/olympusmn.cpp:1089 #, fuzzy msgid "CM exposure compensation" msgstr "Belichtungskompensation" #: src/olympusmn.cpp:1090 #, fuzzy msgid "CM White Balance" msgstr "Weißabgleich" #: src/olympusmn.cpp:1090 #, fuzzy msgid "CM white balance" msgstr "Weißabgleich" #: src/olympusmn.cpp:1091 #, fuzzy msgid "CM White Balance Comp" msgstr "Weißabgleich 2" #: src/olympusmn.cpp:1091 #, fuzzy msgid "CM white balance comp" msgstr "Weißabgleich 2" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM White Balance Gray Point" msgstr "Weißabgleichsreihe" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM white balance gray point" msgstr "Weißabgleichsauslöser" #: src/olympusmn.cpp:1093 #, fuzzy msgid "CM Saturation" msgstr "Sättigung" #: src/olympusmn.cpp:1093 #, fuzzy msgid "CM saturation" msgstr "Sättigung" #: src/olympusmn.cpp:1094 #, fuzzy msgid "CM Hue" msgstr "Sättigung" #: src/olympusmn.cpp:1094 #, fuzzy msgid "CM hue" msgstr "Sättigung" #: src/olympusmn.cpp:1095 #, fuzzy msgid "CM Contrast" msgstr "Kontrast" #: src/olympusmn.cpp:1095 #, fuzzy msgid "CM contrast" msgstr "Kontrast" #: src/olympusmn.cpp:1096 #, fuzzy msgid "CM Sharpness" msgstr "Schärfe" #: src/olympusmn.cpp:1096 #, fuzzy msgid "CM sharpness" msgstr "Schärfe" #: src/olympusmn.cpp:1098 #, fuzzy msgid "Unknown OlympusRi tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Olympus" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 msgid "User-Selected" msgstr "Vom Benutzer ausgewählt" #: src/olympusmn.cpp:1122 #, fuzzy msgid "Auto-Override" msgstr "Überschreiben" #: src/olympusmn.cpp:1158 msgid "Fast" msgstr "Schnell" #: src/olympusmn.cpp:1223 msgid "3000 Kelvin" msgstr "3000 Kelvin" #: src/olympusmn.cpp:1224 msgid "3700 Kelvin" msgstr "3700 Kelvin" #: src/olympusmn.cpp:1225 msgid "4000 Kelvin" msgstr "4000 Kelvin" #: src/olympusmn.cpp:1226 msgid "4500 Kelvin" msgstr "4500 Kelvin" #: src/olympusmn.cpp:1227 msgid "5500 Kelvin" msgstr "5500 Kelvin" #: src/olympusmn.cpp:1228 msgid "6500 Kelvin" msgstr "6500 Kelvin" #: src/olympusmn.cpp:1229 msgid "7500 Kelvin" msgstr "7500 Kelvin" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "Eine Berührung" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "" #: src/olympusmn.cpp:1456 #, fuzzy msgid "Imager AF" msgstr "Eindeutige Bildnummer" #: src/olympusmn.cpp:1457 #, fuzzy msgid "AF sensor" msgstr "Autofokus-Suche" #: src/olympusmn.cpp:1502 #, fuzzy msgid "Soft Focus" msgstr "Punktfokus" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "" #: src/olympusmn.cpp:1505 #, fuzzy msgid "Light Tone" msgstr "Rechte Zone" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "" #: src/olympusmn.cpp:1508 #, fuzzy msgid "Diorama" msgstr "Panorama" #: src/olympusmn.cpp:1509 #, fuzzy msgid "Cross Process" msgstr "Fokusverarbeitung" #: src/olympusmn.cpp:1510 #, fuzzy msgid "Fish Eye" msgstr "Energie des Blitzes" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "" #: src/olympusmn.cpp:1513 msgid "Pale & Light Color II" msgstr "" #: src/olympusmn.cpp:1514 msgid "Pop Art II" msgstr "" #: src/olympusmn.cpp:1515 msgid "Pin Hole II" msgstr "" #: src/olympusmn.cpp:1516 msgid "Pin Hole III" msgstr "" #: src/olympusmn.cpp:1517 msgid "Grainy Film II" msgstr "" #: src/olympusmn.cpp:1518 #, fuzzy msgid "Dramatic Tone" msgstr "Aufnahmeinformation" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "" #: src/olympusmn.cpp:1520 #, fuzzy msgid "Soft Focus 2" msgstr "Punktfokus" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "" #: src/olympusmn.cpp:1522 #, fuzzy msgid "Watercolor" msgstr "Natürliche Farben" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "" #: src/olympusmn.cpp:1525 #, fuzzy msgid "Miniature" msgstr "Minimale Blende" #: src/olympusmn.cpp:1526 #, fuzzy msgid "Reflection" msgstr "Auswahl" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "" #: src/olympusmn.cpp:1528 #, fuzzy msgid "Cross Process II" msgstr "Fokusverarbeitung" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "" #: src/olympusmn.cpp:1530 #, fuzzy msgid "Watercolor I" msgstr "Natürliche Farben" #: src/olympusmn.cpp:1531 #, fuzzy msgid "Watercolor II" msgstr "Natürliche Farben" #: src/olympusmn.cpp:1532 #, fuzzy msgid "Diorama II" msgstr "Panorama" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "" #: src/olympusmn.cpp:1534 #, fuzzy msgid "Vintage II" msgstr "Verwaltungs-UI" #: src/olympusmn.cpp:1535 #, fuzzy msgid "Vintage III" msgstr "Verwaltungs-UI" #: src/olympusmn.cpp:1536 #, fuzzy msgid "Partial Color" msgstr "Natürliche Farbe" #: src/olympusmn.cpp:1537 #, fuzzy msgid "Partial Color II" msgstr "Natürliche Farbe" #: src/olympusmn.cpp:1538 #, fuzzy msgid "Partial Color III" msgstr "Natürliche Farbe" #: src/olympusmn.cpp:1608 #, fuzzy msgid "Left (or n/a)" msgstr "Linke Zone" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 #, fuzzy msgid "Center (horizontal)" msgstr "Mittelzone (Horizontale Orientierung)" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 #, fuzzy msgid "Center (vertical)" msgstr "Mittelzone (Vertikale Orientierung)" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1623 #, fuzzy msgid "Top-center (horizontal)" msgstr "Mittelzone (Horizontale Orientierung)" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1625 #, fuzzy msgid "Left (horizontal)" msgstr "Horizontal (Normal)" #: src/olympusmn.cpp:1626 msgid "Mid-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1628 msgid "Mid-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1629 #, fuzzy msgid "Right (horizontal)" msgstr "Horizontal (Normal)" #: src/olympusmn.cpp:1630 #, fuzzy msgid "Bottom-left (horizontal)" msgstr "Unten - links" #: src/olympusmn.cpp:1631 #, fuzzy msgid "Bottom-center (horizontal)" msgstr "Unten - links" #: src/olympusmn.cpp:1632 #, fuzzy msgid "Bottom-right (horizontal)" msgstr "Unten - rechts" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "" #: src/olympusmn.cpp:1634 #, fuzzy msgid "Top-center (vertical)" msgstr "Zentriert" #: src/olympusmn.cpp:1635 #, fuzzy msgid "Top-right (vertical)" msgstr "Oben - rechts" #: src/olympusmn.cpp:1636 msgid "Left (vertical)" msgstr "" #: src/olympusmn.cpp:1637 msgid "Mid-left (vertical)" msgstr "" #: src/olympusmn.cpp:1639 #, fuzzy msgid "Mid-right (vertical)" msgstr "Mitte - rechts" #: src/olympusmn.cpp:1640 msgid "Right (vertical)" msgstr "" #: src/olympusmn.cpp:1641 #, fuzzy msgid "Bottom-left (vertical)" msgstr "Unten - links" #: src/olympusmn.cpp:1642 #, fuzzy msgid "Bottom-center (vertical)" msgstr "Unten - links" #: src/olympusmn.cpp:1643 #, fuzzy msgid "Bottom-right (vertical)" msgstr "Unten - rechts" #: src/olympusmn.cpp:1680 #, fuzzy msgid "Single Target" msgstr "Einzelbereich" #: src/olympusmn.cpp:1681 #, fuzzy msgid "All Target" msgstr "Ziel" #: src/olympusmn.cpp:1682 #, fuzzy msgid "Dynamic Single Target" msgstr "Dynamische Bereichseinstellung" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "TIFF" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 msgid "Very High" msgstr "Sehr hoch" #: src/panasonicmn.cpp:60 #, fuzzy msgid "Motion Picture" msgstr "Bildmodus" #: src/panasonicmn.cpp:61 #, fuzzy msgid "Full HD Movie" msgstr "Film" #: src/panasonicmn.cpp:62 #, fuzzy msgid "4k Movie" msgstr "Film" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "Halogen" #: src/panasonicmn.cpp:83 msgid "Auto, focus button" msgstr "Automatisch, Fokusknopf" #: src/panasonicmn.cpp:84 msgid "Auto, continuous" msgstr "Automatisch, dauerhaft" #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "Autofokus-S" #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "Autofokus-C" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 msgid "Panning" msgstr "Verschieben" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "Telemakro" #: src/panasonicmn.cpp:104 #, fuzzy msgid "Macro-zoom" msgstr "Macro" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 msgid "Scenery" msgstr "Szene" #: src/panasonicmn.cpp:117 msgid "Shutter-speed priority" msgstr "Verschlussgeschwindigkeit-Priorität" #: src/panasonicmn.cpp:121 #, fuzzy msgid "Movie preview" msgstr "Nahaufnahme" #: src/panasonicmn.cpp:123 #, fuzzy msgid "Simple" msgstr "Einzel" #: src/panasonicmn.cpp:124 #, fuzzy msgid "Color effects" msgstr "Farbeffekt" #: src/panasonicmn.cpp:130 msgid "Night scenery" msgstr "Nachtszene" #: src/panasonicmn.cpp:132 #, fuzzy msgid "Baby" msgstr "durch" #: src/panasonicmn.cpp:133 #, fuzzy msgid "Soft skin" msgstr "Weich" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 msgid "Candlelight" msgstr "Kerzenlicht" #: src/panasonicmn.cpp:135 #, fuzzy msgid "Starry night" msgstr "Standard Licht A" #: src/panasonicmn.cpp:136 #, fuzzy msgid "High sensitivity" msgstr "ISO-Empfindlichkeit" #: src/panasonicmn.cpp:137 #, fuzzy msgid "Panorama assist" msgstr "Panorama" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 #, fuzzy msgid "Intelligent ISO" msgstr "Intervalllänge" #: src/panasonicmn.cpp:144 #, fuzzy msgid "Clipboard" msgstr "Weißabgleich" #: src/panasonicmn.cpp:145 #, fuzzy msgid "High speed continuous shooting" msgstr "Einstellung des kontinuierlichen Fokus" #: src/panasonicmn.cpp:146 #, fuzzy msgid "Intelligent auto" msgstr "Intervalllänge" #: src/panasonicmn.cpp:147 #, fuzzy msgid "Multi-aspect" msgstr "Mehr-Punkt" #: src/panasonicmn.cpp:148 #, fuzzy msgid "Transform" msgstr "Transferbereich" #: src/panasonicmn.cpp:149 #, fuzzy msgid "Flash Burst" msgstr "Blitzkontrolle" #: src/panasonicmn.cpp:151 #, fuzzy msgid "Film Grain" msgstr "Filmscanner" #: src/panasonicmn.cpp:152 #, fuzzy msgid "My Color" msgstr "Meine Farben" #: src/panasonicmn.cpp:153 #, fuzzy msgid "Photo Frame" msgstr "Panoramaeinzelbild" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 #, fuzzy msgid "Handheld Night Shot" msgstr "Kerzenlicht" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 #, fuzzy msgid "Creative Control" msgstr "Fernbedienung" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 msgid "Digital Filter" msgstr "Digitaler Filter" #: src/panasonicmn.cpp:162 #, fuzzy msgid "Clear Portrait" msgstr "Selbstportrait" #: src/panasonicmn.cpp:163 #, fuzzy msgid "Silky Skin" msgstr "Weich" #: src/panasonicmn.cpp:164 msgid "Backlit Softness" msgstr "" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "" #: src/panasonicmn.cpp:166 #, fuzzy msgid "Relaxing Tone" msgstr "Beziehung" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "" #: src/panasonicmn.cpp:168 #, fuzzy msgid "Distinct Scenery" msgstr "Nachtszene" #: src/panasonicmn.cpp:169 #, fuzzy msgid "Bright Blue Sky" msgstr "Blau" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "" #: src/panasonicmn.cpp:177 #, fuzzy msgid "Glittering Illuminations" msgstr "GPS Bereichsinformation" #: src/panasonicmn.cpp:178 #, fuzzy msgid "Clear Night Portrait" msgstr "Nachtportrait" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "" #: src/panasonicmn.cpp:181 msgid "Cute Desert" msgstr "" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "" #: src/panasonicmn.cpp:183 msgid "Clear Sports Shot" msgstr "" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "" #: src/panasonicmn.cpp:198 msgid "Warm" msgstr "Warm" #: src/panasonicmn.cpp:199 msgid "Cool" msgstr "Kalt" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "" #: src/panasonicmn.cpp:208 msgid "Low/High quality" msgstr "Niedrige/Hohe Qualität" #: src/panasonicmn.cpp:209 msgid "Infinite" msgstr "Unendlich" #: src/panasonicmn.cpp:217 #, fuzzy msgid "Medium low" msgstr "Mittel 1" #: src/panasonicmn.cpp:218 #, fuzzy msgid "Medium high" msgstr "Mittel 1" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "" #: src/panasonicmn.cpp:229 #, fuzzy msgid "High (+1)" msgstr "Hoch" #: src/panasonicmn.cpp:230 msgid "Lowest (-2)" msgstr "" #: src/panasonicmn.cpp:231 #, fuzzy msgid "Highest (+2)" msgstr "Hoch" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 #, fuzzy msgid "Rotate 180" msgstr "90 Grad drehen (Im Uhrzeigersinn)" #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "" #: src/panasonicmn.cpp:254 #, fuzzy msgid "Disabled but Required" msgstr "Nicht benutzt" #: src/panasonicmn.cpp:255 #, fuzzy msgid "Disabled and Not Required" msgstr "Nicht benutzt" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "" #: src/panasonicmn.cpp:282 src/properties.cpp:915 #, fuzzy msgid "Home" msgstr "Rom" #: src/panasonicmn.cpp:294 #, fuzzy msgid "Standard (color)" msgstr "Standardformat" #: src/panasonicmn.cpp:295 #, fuzzy msgid "Dynamic (color)" msgstr "Dynamischer Bereich" #: src/panasonicmn.cpp:296 #, fuzzy msgid "Nature (color)" msgstr "Natürliche Farben" #: src/panasonicmn.cpp:297 #, fuzzy msgid "Smooth (color)" msgstr "Glatt" #: src/panasonicmn.cpp:298 #, fuzzy msgid "Standard (B&W)" msgstr "Standard (100%)" #: src/panasonicmn.cpp:299 #, fuzzy msgid "Dynamic (B&W)" msgstr "Dynamischer Bereich" #: src/panasonicmn.cpp:300 #, fuzzy msgid "Smooth (B&W)" msgstr "Glatt" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "Dynamisch" #: src/panasonicmn.cpp:307 #, fuzzy msgid "No Bracket" msgstr "Erfassung" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:319 #, fuzzy msgid "1st" msgstr "10s" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "" #: src/panasonicmn.cpp:349 #, fuzzy msgid "Extended" msgstr "Erweiterung" #: src/panasonicmn.cpp:368 #, fuzzy msgid "NoAuto" msgstr "Automatisch" #: src/panasonicmn.cpp:369 #, fuzzy msgid "Standard or Custom" msgstr "Standardformat" #: src/panasonicmn.cpp:386 #, fuzzy msgid "Rotate CW" msgstr "90 Grad drehen (Im Uhrzeigersinn)" #: src/panasonicmn.cpp:388 #, fuzzy msgid "Rotate CCW" msgstr "90 Grad drehen (Im Uhrzeigersinn)" #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "" #: src/panasonicmn.cpp:396 #, fuzzy msgid "Left to Right" msgstr "links nach rechts" #: src/panasonicmn.cpp:397 #, fuzzy msgid "Right to Left" msgstr "rechts nach links" #: src/panasonicmn.cpp:398 #, fuzzy msgid "Top to Bottom" msgstr "oben nach unten" #: src/panasonicmn.cpp:399 #, fuzzy msgid "Bottom to Top" msgstr "unten nach oben" #: src/panasonicmn.cpp:405 #, fuzzy msgid "Time Lapse" msgstr "Sendezeit" #: src/panasonicmn.cpp:406 #, fuzzy msgid "Stop-Motion Animation" msgstr "Aufnahmeinformation" #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "" #: src/panasonicmn.cpp:423 #, fuzzy msgid "Electronic" msgstr "Auswahl" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "Audio" #: src/panasonicmn.cpp:453 msgid "White balance adjustment" msgstr "Weißabgleich-Anpassung" #: src/panasonicmn.cpp:454 msgid "FlashBias" msgstr "Blitzkontrolle" #: src/panasonicmn.cpp:456 src/tags.cpp:194 msgid "Exif version" msgstr "Exif-Version" #: src/panasonicmn.cpp:458 msgid "Color Effect" msgstr "Farbeffekt" #: src/panasonicmn.cpp:458 msgid "Color effect" msgstr "Farbeffekt" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" #: src/panasonicmn.cpp:460 msgid "Burst Mode" msgstr "Burst Mode" #: src/panasonicmn.cpp:460 msgid "Burst mode" msgstr "Burst Mode" #: src/panasonicmn.cpp:463 msgid "NoiseReduction" msgstr "Rauschreduktion" #: src/panasonicmn.cpp:464 msgid "Self Timer" msgstr "Selbstauslöser" #: src/panasonicmn.cpp:467 #, fuzzy msgid "AF Assist Lamp" msgstr "Autofokus-Unterstützung" #: src/panasonicmn.cpp:469 #, fuzzy msgid "Baby Age 1" msgstr "durch" #: src/panasonicmn.cpp:469 msgid "Baby (or pet) age 1" msgstr "" #: src/panasonicmn.cpp:470 #, fuzzy msgid "Optical Zoom Mode" msgstr "Spezialmodus" #: src/panasonicmn.cpp:470 #, fuzzy msgid "Optical zoom mode" msgstr "Filmmodus" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "Reisetag" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "Reisetag" #: src/panasonicmn.cpp:474 #, fuzzy msgid "World Time Location" msgstr "Aufnahmeort" #: src/panasonicmn.cpp:474 #, fuzzy msgid "World time location" msgstr "Aufnahmeort" #: src/panasonicmn.cpp:475 #, fuzzy msgid "Text Stamp 1" msgstr "GPS-Zeitstempel" #: src/panasonicmn.cpp:476 #, fuzzy msgid "Program ISO" msgstr "Programm" #: src/panasonicmn.cpp:477 #, fuzzy msgid "Advanced Scene Type" msgstr "Szenentyp" #: src/panasonicmn.cpp:478 #, fuzzy msgid "Text Stamp 2" msgstr "GPS-Zeitstempel" #: src/panasonicmn.cpp:479 #, fuzzy msgid "Faces detected" msgstr "Fehler beim Lesen" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temp Kelvin" msgstr "Farbtemperatur" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temperatur in Kelvin" msgstr "Farbtemperatur" #: src/panasonicmn.cpp:484 #, fuzzy msgid "Bracket Settings" msgstr "Automatische Erfassung" #: src/panasonicmn.cpp:485 #, fuzzy msgid "WB Adjust AB" msgstr "Sättigungsanpassung" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "" #: src/panasonicmn.cpp:486 #, fuzzy msgid "WB Adjust GM" msgstr "Sättigungsanpassung" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "" #: src/panasonicmn.cpp:487 #, fuzzy msgid "Flash Curtain" msgstr "Blitzinformation" #: src/panasonicmn.cpp:488 #, fuzzy msgid "Long Shutter Noise Reduction" msgstr "Rauschreduktion einer langen Belichtung" #: src/panasonicmn.cpp:491 #, fuzzy msgid "AF Point Position" msgstr "Autofokus-Position" #: src/panasonicmn.cpp:492 #, fuzzy msgid "Face detection info" msgstr "Fehler beim Lesen" #: src/panasonicmn.cpp:495 #, fuzzy msgid "Accessory Type" msgstr "Linsentyp" #: src/panasonicmn.cpp:495 #, fuzzy msgid "Accessory type" msgstr "Linsentyp" #: src/panasonicmn.cpp:496 #, fuzzy msgid "Accessory Serial Number" msgstr "Seriennummer" #: src/panasonicmn.cpp:497 #, fuzzy msgid "Transform 1" msgstr "Transferbereich" #: src/panasonicmn.cpp:498 #, fuzzy msgid "Intelligent Exposure" msgstr "Intervalllänge" #: src/panasonicmn.cpp:499 #, fuzzy msgid "Firmware Version of the Lens" msgstr "Firmware Version" #: src/panasonicmn.cpp:500 #, fuzzy msgid "Face recognition info" msgstr "Information zu der Schüttelreduktion" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash Warning" msgstr "Fokuswarnung" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash warning" msgstr "Blitzdosierung" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 msgid "Title" msgstr "Titel" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby Name" msgstr "durch" #: src/panasonicmn.cpp:503 msgid "Baby name (or pet name)" msgstr "" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 msgid "Location" msgstr "Ort" #: src/panasonicmn.cpp:506 src/properties.cpp:441 msgid "State" msgstr "Staat" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "" #: src/panasonicmn.cpp:509 #, fuzzy msgid "Intelligent resolution" msgstr "Intervalllänge" #: src/panasonicmn.cpp:510 #, fuzzy msgid "Burst Speed" msgstr "Verschlusszeit" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "" #: src/panasonicmn.cpp:511 #, fuzzy msgid "Intelligent Dynamic Range" msgstr "Entwicklungsdynamischer Bereich" #: src/panasonicmn.cpp:512 #, fuzzy msgid "Clear Retouch" msgstr "Rauschunterdrückung" #: src/panasonicmn.cpp:513 #, fuzzy msgid "City2" msgstr "Stadt" #: src/panasonicmn.cpp:515 #, fuzzy msgid "Photo style" msgstr "Bildmodus" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "" #: src/panasonicmn.cpp:518 msgid "Accelerometer X" msgstr "" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "" #: src/panasonicmn.cpp:519 msgid "Accelerometer Y" msgstr "" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "" #: src/panasonicmn.cpp:520 #, fuzzy msgid "Camera Orientation" msgstr "Bild-Orientierung" #: src/panasonicmn.cpp:521 #, fuzzy msgid "Roll Angle" msgstr "Winkel zuschneiden" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "" #: src/panasonicmn.cpp:523 #, fuzzy msgid "Sweep Panorama Direction" msgstr "Pamoramarichtung" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "" #: src/panasonicmn.cpp:525 #, fuzzy msgid "Timer Recording" msgstr "Fotoeffekt" #: src/panasonicmn.cpp:526 #, fuzzy msgid "Internal ND Filter" msgstr "Intern + Extern" #: src/panasonicmn.cpp:528 #, fuzzy msgid "Shutter Type" msgstr "Verschlussgeschwindigkeit" #: src/panasonicmn.cpp:529 #, fuzzy msgid "Clear Retouch Value" msgstr "Messung wird durchgeführt" #: src/panasonicmn.cpp:530 #, fuzzy msgid "TouchAE" msgstr "Ein-Tasten-Weißabgleich" #: src/panasonicmn.cpp:533 #, fuzzy msgid "MakerNote Version" msgstr "Version der Herstellerbemerkung" #: src/panasonicmn.cpp:533 #, fuzzy msgid "MakerNote version" msgstr "Version der Herstellerbemerkung" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 #, fuzzy msgid "WB Red Level" msgstr "WB_RGGBLevelsShade" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 #, fuzzy msgid "WB red level" msgstr "Schwarzlevel" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 #, fuzzy msgid "WB Green Level" msgstr "Schwarzlevel" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 #, fuzzy msgid "WB green level" msgstr "Schwarzlevel" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 #, fuzzy msgid "WB Blue Level" msgstr "WB_RGGBLevelsShade" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 #, fuzzy msgid "WB blue level" msgstr "Schwarzlevel" #: src/panasonicmn.cpp:539 #, fuzzy msgid "Text Stamp 3" msgstr "GPS-Zeitstempel" #: src/panasonicmn.cpp:540 #, fuzzy msgid "Text Stamp 4" msgstr "GPS-Zeitstempel" #: src/panasonicmn.cpp:541 #, fuzzy msgid "Baby Age 2" msgstr "durch" #: src/panasonicmn.cpp:541 msgid "Baby (or pet) age 2" msgstr "" #: src/panasonicmn.cpp:542 #, fuzzy msgid "Transform 2" msgstr "Transferbereich" #: src/panasonicmn.cpp:544 msgid "Unknown PanasonicMakerNote tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Panasonic" #: src/panasonicmn.cpp:562 #, fuzzy msgid "Spot mode on or 9 area" msgstr "Punktmodus" #: src/panasonicmn.cpp:563 msgid "Spot mode off or 3-area (high speed)" msgstr "" #: src/panasonicmn.cpp:564 msgid "23-area" msgstr "" #: src/panasonicmn.cpp:565 #, fuzzy msgid "Spot focussing" msgstr "Punktfokus" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "" #: src/panasonicmn.cpp:568 msgid "1-area (high speed)" msgstr "" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "" #: src/panasonicmn.cpp:572 msgid "3-area (right)" msgstr "" #: src/panasonicmn.cpp:574 #, fuzzy msgid "Spot Focusing 2" msgstr "Punktfokus" #: src/panasonicmn.cpp:588 msgid " EV" msgstr " EV" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 #, fuzzy msgid "not set" msgstr "nicht gesetzt\n" #: src/panasonicmn.cpp:725 #, fuzzy msgid "Panasonic raw version" msgstr "Linsen-Firmware Version" #: src/panasonicmn.cpp:726 #, fuzzy msgid "Sensor Width" msgstr "Breite des Zuschnitts" #: src/panasonicmn.cpp:726 #, fuzzy msgid "Sensor width" msgstr "Breite des Zuschnitts" #: src/panasonicmn.cpp:727 #, fuzzy msgid "Sensor Height" msgstr "Sensorenreinigung" #: src/panasonicmn.cpp:727 #, fuzzy msgid "Sensor height" msgstr "Sensorenreinigung" #: src/panasonicmn.cpp:728 #, fuzzy msgid "Sensor Top Border" msgstr "Sensortemperatur" #: src/panasonicmn.cpp:728 #, fuzzy msgid "Sensor top border" msgstr "Sensortemperatur" #: src/panasonicmn.cpp:729 #, fuzzy msgid "Sensor Left Border" msgstr "Sensortemperatur" #: src/panasonicmn.cpp:729 #, fuzzy msgid "Sensor left border" msgstr "Sensortemperatur" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "" #: src/panasonicmn.cpp:739 src/tags.cpp:469 msgid "Manufacturer" msgstr "Hersteller" #: src/panasonicmn.cpp:739 #, fuzzy msgid "The manufacturer of the recording equipment" msgstr "TIFF-Feld 271, 0x10F. Hersteller der Aufnahmeausrüstung." #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 msgid "Model" msgstr "Modell" #: src/panasonicmn.cpp:740 #, fuzzy msgid "The model name or model number of the equipment" msgstr "TIFF-Feld 272, 0x110. Modellname oder -nummer der Ausrüstung." #: src/panasonicmn.cpp:741 src/tags.cpp:481 msgid "Strip Offsets" msgstr "Strip Offsets" #: src/panasonicmn.cpp:741 #, fuzzy msgid "Strip offsets" msgstr "Strip Offsets" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 msgid "Orientation" msgstr "Orientierung" #: src/panasonicmn.cpp:743 #, fuzzy msgid "Rows Per Strip" msgstr "Zeilen pro Strip" #: src/panasonicmn.cpp:743 #, fuzzy msgid "The number of rows per strip" msgstr "Die Anzahl der Takte." #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip Byte Counts" msgstr "Strip Byte Anzahl" #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip byte counts" msgstr "Strip Byte Anzahl" #: src/panasonicmn.cpp:745 #, fuzzy msgid "Raw Data Offset" msgstr "Eindeutige ID der Rohdaten" #: src/panasonicmn.cpp:745 #, fuzzy msgid "Raw data offset" msgstr "Header, offset" #: src/panasonicmn.cpp:746 src/tags.cpp:797 msgid "Exif IFD Pointer" msgstr "Exif IFD Zeiger" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "" #: src/panasonicmn.cpp:747 src/tags.cpp:808 msgid "GPS Info IFD Pointer" msgstr "GPS Info IFD Zeiger" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "" #: src/panasonicmn.cpp:749 #, fuzzy msgid "Unknown PanasonicRaw tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Panasonic" #: src/pentaxmn.cpp:57 msgid "Night-Scene" msgstr "Nachtszene" #: src/pentaxmn.cpp:199 msgid "Good" msgstr "Gut" #: src/pentaxmn.cpp:200 msgid "Better" msgstr "Besser" #: src/pentaxmn.cpp:201 msgid "Best" msgstr "Am Besten" #: src/pentaxmn.cpp:204 msgid "Premium" msgstr "Premium" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "2560x1920 oder 2304x1728" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "2304x1728 oder 2592x1944" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "2816x2212 oder 2816x2112" #: src/pentaxmn.cpp:247 msgid "Auto, Did not fire" msgstr "Blitz nicht ausgelöst, automatisch" #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 #, fuzzy msgid "Off, Did not fire" msgstr "Blitz löste nicht aus" #: src/pentaxmn.cpp:250 msgid "Auto, Did not fire, Red-eye reduction" msgstr "Blitz nicht ausgelöst, automatisch, Rote-Augen-Reduktion" #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:252 msgid "Auto, Fired" msgstr "Blitz ausgelöst, automatisch" #: src/pentaxmn.cpp:253 #, fuzzy msgid "On, Fired" msgstr "Blitz ausgelöst" #: src/pentaxmn.cpp:254 msgid "Auto, Fired, Red-eye reduction" msgstr "Blitz ausgelöst, automatisch, Rote-Augen-Reduktion" #: src/pentaxmn.cpp:255 msgid "On, Red-eye reduction" msgstr "Ein, Rote Augen reduzieren" #: src/pentaxmn.cpp:256 #, fuzzy msgid "On, Wireless (Master)" msgstr "Ein, Drahtlos" #: src/pentaxmn.cpp:257 #, fuzzy msgid "On, Wireless (Control)" msgstr "Ein, Drahtlos" #: src/pentaxmn.cpp:258 msgid "On, Soft" msgstr "Ein, weich" #: src/pentaxmn.cpp:259 msgid "On, Slow-sync" msgstr "Ein, langsame Synchronisation" #: src/pentaxmn.cpp:260 msgid "On, Slow-sync, Red-eye reduction" msgstr "Ein, langsame Synchronisation, Rote-Augen-Reduktion" #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "" #: src/pentaxmn.cpp:272 msgid "Pan Focus" msgstr "Schwenk-Fokus" #: src/pentaxmn.cpp:275 #, fuzzy msgid "AF-A" msgstr "Autofokus-S" #: src/pentaxmn.cpp:276 #, fuzzy msgid "Contrast-detect" msgstr "Kontrasteinstellungen" #: src/pentaxmn.cpp:277 #, fuzzy msgid "Tracking Contrast-detect" msgstr "Kontrasteinstellungen" #: src/pentaxmn.cpp:284 msgid "Fixed Center" msgstr "Fixierte Mitte" #: src/pentaxmn.cpp:285 #, fuzzy msgid "Automatic Tracking AF" msgstr "Automatischer Autofokus" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "" #: src/pentaxmn.cpp:287 #, fuzzy msgid "AF Select" msgstr "Auswahl" #: src/pentaxmn.cpp:305 #, fuzzy msgid "Fixed Center or multiple" msgstr "Fixierte Mitte" #: src/pentaxmn.cpp:307 #, fuzzy msgid "Top-center" msgstr "Zentriert" #: src/pentaxmn.cpp:313 #, fuzzy msgid "Bottom-center" msgstr "Unten - links" #: src/pentaxmn.cpp:402 msgid "Multi Segment" msgstr "Mehr-Segment" #: src/pentaxmn.cpp:403 msgid "Center Weighted" msgstr "Zentriert gewichtet" #: src/pentaxmn.cpp:415 msgid "DaylightFluorescent" msgstr "Tageslicht fluoreszent" #: src/pentaxmn.cpp:416 msgid "DaywhiteFluorescent" msgstr "Tagesweiß fluoreszent" #: src/pentaxmn.cpp:417 msgid "WhiteFluorescent" msgstr "Weiß fluoreszent" #: src/pentaxmn.cpp:420 #, fuzzy msgid "Color Temperature Enhancement" msgstr "Farbtemperatur" #: src/pentaxmn.cpp:423 msgid "User Selected" msgstr "Vom Benutzer ausgewählt" #: src/pentaxmn.cpp:428 msgid "Auto (Daylight)" msgstr "Automatisch (Tageslicht)" #: src/pentaxmn.cpp:429 msgid "Auto (Shade)" msgstr "Automatisch (Schatten)" #: src/pentaxmn.cpp:430 msgid "Auto (Flash)" msgstr "Automatisch (Blitz)" #: src/pentaxmn.cpp:431 msgid "Auto (Tungsten)" msgstr "Automatisch (Wolframlicht)" #: src/pentaxmn.cpp:432 #, fuzzy msgid "Auto (DaylightFluorescent)" msgstr "Automatisch (Tageslicht fluoreszent)" #: src/pentaxmn.cpp:433 msgid "Auto (DaywhiteFluorescent)" msgstr "Automatisch (Tageslicht fluoreszent)" #: src/pentaxmn.cpp:434 msgid "Auto (WhiteFluorescent)" msgstr "Automatisch (Leuchstoffröhre)" #: src/pentaxmn.cpp:435 msgid "Auto (Cloudy)" msgstr "Automatisch (Wolkiges Wetter)" #: src/pentaxmn.cpp:437 msgid "Preset (Fireworks?)" msgstr "Voreingestellt (Feuerwerk?)" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 msgid "Med Low" msgstr "Mitte bis niedrig" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 msgid "Med High" msgstr "Mitte bis hoch" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "" #: src/pentaxmn.cpp:473 msgid "Med Soft" msgstr "Mitte bis weich" #: src/pentaxmn.cpp:474 msgid "Med Hard" msgstr "Mitte bis hart" #: src/pentaxmn.cpp:475 msgid "Very Soft" msgstr "Sehr weich" #: src/pentaxmn.cpp:476 msgid "Very Hard" msgstr "Sehr hart" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 msgid "Home town" msgstr "Heimatstadt" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "Pago Pago" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "Honolulu" #: src/pentaxmn.cpp:491 msgid "Anchorage" msgstr "Anchorage" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "Vancouver" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "San Fransisco" #: src/pentaxmn.cpp:494 msgid "Los Angeles" msgstr "Los Angeles" #: src/pentaxmn.cpp:495 msgid "Calgary" msgstr "Calgary" #: src/pentaxmn.cpp:496 msgid "Denver" msgstr "Denver" #: src/pentaxmn.cpp:497 msgid "Mexico City" msgstr "Mexico Stadt" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "Chicago" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "Miami" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "Toronto" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "New York" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "Santiago" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "Caracas" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "Halifax" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "Buenos Aires" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "Sao Paulo" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "Rio de Janeiro" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "Madrid" #: src/pentaxmn.cpp:509 msgid "London" msgstr "London" #: src/pentaxmn.cpp:510 msgid "Paris" msgstr "Paris" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "Mailand" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "Rom" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "Berlin" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "Johannesburg" #: src/pentaxmn.cpp:515 msgid "Istanbul" msgstr "Istanbul" #: src/pentaxmn.cpp:516 msgid "Cairo" msgstr "Kairo" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "Jerusalem" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "Moskau" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "Dschidda" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "Teheran" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "Dubai" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "Karatschi" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "Kabul" #: src/pentaxmn.cpp:524 msgid "Male" msgstr "Male" #: src/pentaxmn.cpp:525 msgid "Delhi" msgstr "Delhi" #: src/pentaxmn.cpp:526 msgid "Colombo" msgstr "Colombo" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "Kathmandu" #: src/pentaxmn.cpp:528 msgid "Dacca" msgstr "Dhaka" #: src/pentaxmn.cpp:529 msgid "Yangon" msgstr "Rangun" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "Bangkok" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "Kuala Lumpur" #: src/pentaxmn.cpp:532 msgid "Vientiane" msgstr "Vientiane" #: src/pentaxmn.cpp:533 msgid "Singapore" msgstr "Singapur" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "Phnom Penh" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "Ho Chi Minh" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "Jakarta" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "Hongkong" #: src/pentaxmn.cpp:538 msgid "Perth" msgstr "Perth" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "Peking" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "Shanghai" #: src/pentaxmn.cpp:541 msgid "Manila" msgstr "Manila" #: src/pentaxmn.cpp:542 msgid "Taipei" msgstr "Taipei" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "Seoul" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "Adelaide" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "Tokio" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "Guam" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "Sydney" #: src/pentaxmn.cpp:548 msgid "Noumea" msgstr "Nouméa" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "Wellington" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "Auckland" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "Lima" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "Dakar" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "Algier" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "Helsinki" #: src/pentaxmn.cpp:555 msgid "Athens" msgstr "Athen" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "Nairobi" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "Amsterdam" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "Stockholm" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "Lissabon" #: src/pentaxmn.cpp:560 msgid "Copenhagen" msgstr "Kopenhagen" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "Warschau" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "Prag" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "Budapest" #: src/pentaxmn.cpp:568 msgid "Unprocessed" msgstr "Unverarbeitet" #: src/pentaxmn.cpp:570 #, fuzzy msgid "Resized" msgstr "größengeändert" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 msgid "Cropped" msgstr "Zugeschnitten" #: src/pentaxmn.cpp:573 #, fuzzy msgid "Digital Filter 6" msgstr "Digitaler Filter" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 msgid "Hi-speed Program" msgstr "Hi-Speed Programm" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 msgid "DOF Program" msgstr "DOF Programm" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 msgid "MTF Program" msgstr "MTF Programm" #: src/pentaxmn.cpp:588 msgid "Night Scene Portrait" msgstr "Nachtportrait" #: src/pentaxmn.cpp:589 msgid "No Flash" msgstr "Kein Blitz" #: src/pentaxmn.cpp:592 msgid "Surf & Snow" msgstr "Surfen & Schnee" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "Kinder" #: src/pentaxmn.cpp:600 #, fuzzy msgid "Stage Lighting" msgstr "Bildhöhe" #: src/pentaxmn.cpp:601 #, fuzzy msgid "Night Snap" msgstr "Nachtaufnahme" #: src/pentaxmn.cpp:602 #, fuzzy msgid "Blue Sky" msgstr "Blau" #: src/pentaxmn.cpp:604 #, fuzzy msgid "Night Scene HDR" msgstr "Nachtszene" #: src/pentaxmn.cpp:606 #, fuzzy msgid "Quick Macro" msgstr "Supermakro" #: src/pentaxmn.cpp:607 #, fuzzy msgid "Forest" msgstr "Leuchtstoffröhre" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "" #: src/pentaxmn.cpp:610 msgid "Auto PICT (Standard)" msgstr "Auto PICT (Standard)" #: src/pentaxmn.cpp:611 msgid "Auto PICT (Portrait)" msgstr "Auto PICT (Portrait)" #: src/pentaxmn.cpp:612 msgid "Auto PICT (Landscape)" msgstr "Auto PICT (Landschaft)" #: src/pentaxmn.cpp:613 msgid "Auto PICT (Macro)" msgstr "Auto PICT (Makro)" #: src/pentaxmn.cpp:614 msgid "Auto PICT (Sport)" msgstr "Auto PICT (Sport)" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 msgid "Green Mode" msgstr "Grüner Modus" #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 msgid "Shutter Speed Priority" msgstr "Verschlussgeschwindigkeit-Priorität" #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 msgid "Aperture Priority" msgstr "Blendenpriorität" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "Glühbirne" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "" #: src/pentaxmn.cpp:631 #, fuzzy msgid "Program Tv Shift" msgstr "Programmwechsel" #: src/pentaxmn.cpp:632 #, fuzzy msgid "Program Av Shift" msgstr "Programmwechsel" #: src/pentaxmn.cpp:635 #, fuzzy msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "Blendenpriorität (Av)" #: src/pentaxmn.cpp:636 msgid "Manual (Off-Auto-Aperture)" msgstr "" #: src/pentaxmn.cpp:637 msgid "Bulb (Off-Auto-Aperture)" msgstr "" #: src/pentaxmn.cpp:639 msgid "Shutter Priority" msgstr "Verschlusspriorität" #: src/pentaxmn.cpp:640 #, fuzzy msgid "Shutter & Aperture Priority AE" msgstr "Verschlussgeschwindigkeit-Priorität" #: src/pentaxmn.cpp:641 #, fuzzy msgid "Shutter & Aperture Priority AE (1)" msgstr "Verschlussgeschwindigkeit-Priorität" #: src/pentaxmn.cpp:642 #, fuzzy msgid "Sensitivity Priority AE" msgstr "Empfindlichkeit justieren" #: src/pentaxmn.cpp:643 msgid "Sensitivity Priority AE (1)" msgstr "" #: src/pentaxmn.cpp:644 msgid "Flash X-Sync Speed AE" msgstr "" #: src/pentaxmn.cpp:645 msgid "Flash X-Sync Speed AE (1)" msgstr "" #: src/pentaxmn.cpp:646 #, fuzzy msgid "Auto Program (Normal)" msgstr "Programm (P)" #: src/pentaxmn.cpp:647 msgid "Auto Program (Hi-Speed)" msgstr "" #: src/pentaxmn.cpp:648 #, fuzzy msgid "Auto Program (DOF)" msgstr "Programm (P)" #: src/pentaxmn.cpp:649 #, fuzzy msgid "Auto Program (MTF)" msgstr "Programm (P)" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "" #: src/pentaxmn.cpp:651 #, fuzzy msgid "Blur control" msgstr "Farbkontrolle" #: src/pentaxmn.cpp:654 msgid "Video (30 fps)" msgstr "" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "" #: src/pentaxmn.cpp:662 msgid "Continuous (Hi)" msgstr "Kontinuierlich (Hi)" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 msgid "Burst" msgstr "Bersten" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 #, fuzzy msgid "Video" msgstr "Weit" #: src/pentaxmn.cpp:666 msgid "Self-timer (12 sec)" msgstr "Selbstauslöser (12 Sek.)" #: src/pentaxmn.cpp:667 msgid "Self-timer (2 sec)" msgstr "Selbstauslöser (2 Sek.)" #: src/pentaxmn.cpp:669 #, fuzzy msgid "Mirror Lock-up" msgstr "Spiegelvorauslösung" #: src/pentaxmn.cpp:670 msgid "Remote Control (3 sec)" msgstr "Fernbedienung (3 Sec)" #: src/pentaxmn.cpp:671 msgid "Remote Control" msgstr "Fernbedienung" #: src/pentaxmn.cpp:672 #, fuzzy msgid "Remote Continuous Shooting" msgstr "Einstellung des kontinuierlichen Fokus" #: src/pentaxmn.cpp:675 #, fuzzy msgid "HDR Strong 1" msgstr "Stark" #: src/pentaxmn.cpp:676 #, fuzzy msgid "HDR Strong 2" msgstr "Stark" #: src/pentaxmn.cpp:677 #, fuzzy msgid "HDR Strong 3" msgstr "Stark" #: src/pentaxmn.cpp:678 #, fuzzy msgid "HDR Auto" msgstr "Automatisch" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "M-42 oder keine Linsen" #: src/pentaxmn.cpp:691 #, fuzzy msgid "K or M Lens" msgstr "K,M Linsen" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "A-Serien Linsen" #: src/pentaxmn.cpp:970 msgid "Bright" msgstr "Helligkeit" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "" #: src/pentaxmn.cpp:990 msgid "Weakest" msgstr "Schwächste" #: src/pentaxmn.cpp:991 msgid "Weak" msgstr "Schwach" #: src/pentaxmn.cpp:992 msgid "Strong" msgstr "Stark" #: src/pentaxmn.cpp:1112 msgid "No extended bracketing" msgstr "Keine erweiterte Erfassung" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "WB-BA" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "WB-GM" #: src/pentaxmn.cpp:1133 msgid "Unknown " msgstr "Unbekannt" #: src/pentaxmn.cpp:1146 msgid "Pentax Makernote version" msgstr "Version der Pentax-Herstellerbemerkung" #: src/pentaxmn.cpp:1149 msgid "Camera shooting mode" msgstr "Kamera-Aufnahmemodus" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 msgid "Resolution of a preview image" msgstr "Auflösung des Vorschaubildes" #: src/pentaxmn.cpp:1154 msgid "Length of a preview image" msgstr "Länge des Vorschaubildes" #: src/pentaxmn.cpp:1155 #, fuzzy msgid "Size of an IFD containing a preview image" msgstr "Größe des Vorschaubildes" #: src/pentaxmn.cpp:1160 msgid "Model identification" msgstr "Modellidentifikation" #: src/pentaxmn.cpp:1161 #, fuzzy msgid "Pentax model identification" msgstr "Pentax-Modellidentifikation" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 msgid "Date" msgstr "Datum" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 msgid "Time" msgstr "Zeit" #: src/pentaxmn.cpp:1170 msgid "Image quality settings" msgstr "Bildqualitätseinstellungen" #: src/pentaxmn.cpp:1173 msgid "Image size settings" msgstr "Bildgröße-Einstellungen" #: src/pentaxmn.cpp:1177 msgid "Flash mode settings" msgstr "Blitzmodus-Einstellungen" #: src/pentaxmn.cpp:1180 msgid "Focus mode settings" msgstr "Fokusmodus-Einstellungen" #: src/pentaxmn.cpp:1183 msgid "Selected AF point" msgstr "Ausgewählter Autofokus-Punkt" #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 #, fuzzy msgid "AF point in focus" msgstr "Benutzte Autofokus-Punkte" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 msgid "F-Number" msgstr "F-Nummer" #: src/pentaxmn.cpp:1195 msgid "ISO sensitivity" msgstr "ISO-Empfindlichkeit" #: src/pentaxmn.cpp:1196 msgid "ISO sensitivity settings" msgstr "ISO-Empfindlichkeitseinstellungen" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 msgid "MeteringMode" msgstr "Messmodus" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 msgid "AutoBracketing" msgstr "Automatischer Erfassung" #: src/pentaxmn.cpp:1216 #, fuzzy msgid "Blue color balance" msgstr "Blauabgleich" #: src/pentaxmn.cpp:1219 #, fuzzy msgid "Red color balance" msgstr "Roter Farbabgleich" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 msgid "FocalLength" msgstr "Brennweite" #: src/pentaxmn.cpp:1239 msgid "Hometown" msgstr "Heimatstadt" #: src/pentaxmn.cpp:1245 msgid "Hometown DST" msgstr "Heimatstadt (Sommerzeit)" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "Sommerzeit aktiv in der Heimatstadt" #: src/pentaxmn.cpp:1248 msgid "Destination DST" msgstr "Zielort (Sommerzeit)" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "Ist die Sommerzeit aktiv im Zielort" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 msgid "DSPFirmwareVersion" msgstr "DSP-Firmware Version" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 msgid "CPUFirmwareVersion" msgstr "CPU-Firmware Version" #: src/pentaxmn.cpp:1261 msgid "Light value" msgstr "Helligkeitswert" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "" "Der von der Kamera berechnete Helligkeitswert inklusive " "Belichtungskompensation" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 #, fuzzy msgid "Image area offset" msgstr "Bilddatengröße" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 #, fuzzy msgid "Raw image size" msgstr "Bildgröße" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 msgid "Preview image borders" msgstr "Vorschau der Bildränder" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 msgid "Sensitivity adjust" msgstr "Empfindlichkeit justieren" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 msgid "Digital filter" msgstr "Digitaler Filter" #: src/pentaxmn.cpp:1299 msgid "Camera temperature" msgstr "Kameratemperatur" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 msgid "Image tone" msgstr "Bildton" #: src/pentaxmn.cpp:1319 msgid "Shake reduction" msgstr "Schüttelreduktion" #: src/pentaxmn.cpp:1320 msgid "Shake reduction information" msgstr "Information zu der Schüttelreduktion" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 msgid "Dynamic range expansion" msgstr "Dynamische Bereichserweiterung" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 msgid "High ISO noise reduction" msgstr "Hohe ISO-Rauschreduktion" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 #, fuzzy msgid "AF Adjustment" msgstr "Sättigungsanpassung" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 msgid "Black point" msgstr "Schwarzpunkt" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 msgid "White point" msgstr "Weißpunkt" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 msgid "ShotInfo" msgstr "Aufnahmeinfo" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 #, fuzzy msgid "AEInfo" msgstr "Autofokus-Information" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 msgid "LensInfo" msgstr "Linseninformation" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 msgid "FlashInfo" msgstr "Blitzinformation" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 msgid "AEMeteringSegments" msgstr "AEMeteringSegments" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 msgid "FlashADump" msgstr "FlashADump" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 msgid "FlashBDump" msgstr "FlashBDump" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 msgid "WB_RGGBLevelsDaylight" msgstr "WB_RGGBLevelsDaylight" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 msgid "WB_RGGBLevelsShade" msgstr "WB_RGGBLevelsShade" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 msgid "WB_RGGBLevelsCloudy" msgstr "WB_RGGBLevelsCloudy" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 msgid "WB_RGGBLevelsTungsten" msgstr "WB_RGGBLevelsTungsten" #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 msgid "WB_RGGBLevelsFluorescentD" msgstr "WB_RGGBLevelsFluorescentD" #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 msgid "WB_RGGBLevelsFluorescentN" msgstr "WB_RGGBLevelsFluorescentN" #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 msgid "WB_RGGBLevelsFluorescentW" msgstr "WB_RGGBLevelsFluorescentW" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 msgid "WB_RGGBLevelsFlash" msgstr "WB_RGGBLevelsFlash" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 msgid "CameraInfo" msgstr "Kamerainformation" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 msgid "BatteryInfo" msgstr "Batterieinformation" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 msgid "AFInfo" msgstr "Autofokus-Information" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 msgid "ColorInfo" msgstr "Farbinfo" #: src/pentaxmn.cpp:1405 msgid "Unknown PentaxMakerNote tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Pentax" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "Dublin-Hauptschema" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "digiKam-Fotoverwaltungsschema" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "" #: src/properties.cpp:113 msgid "XMP Basic schema" msgstr "XMP-Basisschema" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "XMP-Rechteverwaltungsschema" #: src/properties.cpp:115 msgid "XMP Media Management schema" msgstr "XMP-Mediverwaltungsschema" #: src/properties.cpp:116 msgid "XMP Basic Job Ticket schema" msgstr "XMP-Basis-Job-Ticket-Schema" #: src/properties.cpp:117 msgid "XMP Paged-Text schema" msgstr "XMP eingelagertes Textschema" #: src/properties.cpp:118 msgid "XMP Dynamic Media schema" msgstr "XMP-Dynamisches Medienschema" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "Microsoft-Fotoschema" #: src/properties.cpp:120 #, fuzzy msgid "Adobe Lightroom schema" msgstr "Adobe Photoshop-Schema" #: src/properties.cpp:121 msgid "Adobe PDF schema" msgstr "Adobe PDF-Schema" #: src/properties.cpp:122 msgid "Adobe photoshop schema" msgstr "Adobe Photoshop-Schema" #: src/properties.cpp:123 msgid "Camera Raw schema" msgstr "Kamera-Rohschema" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "Exif-Schema für TIFF-Eigenschaften" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "Exif-Schema für Exif-spezifische Eigenschaften" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "Exif-Schema für zusätzliche Exif-Eigenschaften" #: src/properties.cpp:127 src/properties.cpp:128 msgid "IPTC Core schema" msgstr "IPTC-Hauptschema" #: src/properties.cpp:129 src/properties.cpp:130 #, fuzzy msgid "IPTC Extension schema" msgstr "IPTC-Hauptschema" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "" #: src/properties.cpp:132 #, fuzzy msgid "iView Media Pro schema" msgstr "XMP-Dynamisches Medienschema" #: src/properties.cpp:133 #, fuzzy msgid "Expression Media schema" msgstr "IPTC-Hauptschema" #: src/properties.cpp:134 #, fuzzy msgid "Microsoft Photo 1.2 schema" msgstr "Microsoft-Fotoschema" #: src/properties.cpp:135 #, fuzzy msgid "Microsoft Photo RegionInfo schema" msgstr "Microsoft-Fotoschema" #: src/properties.cpp:136 #, fuzzy msgid "Microsoft Photo Region schema" msgstr "Microsoft-Fotoschema" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "" #: src/properties.cpp:138 msgid "Metadata Working Group Keywords schema" msgstr "" #: src/properties.cpp:139 #, fuzzy msgid "XMP Extended Video schema" msgstr "IPTC-Hauptschema" #: src/properties.cpp:140 #, fuzzy msgid "XMP Extended Audio schema" msgstr "IPTC-Hauptschema" #: src/properties.cpp:141 #, fuzzy msgid "XMP Darwin Core schema" msgstr "Dublin-Hauptschema" #: src/properties.cpp:142 #, fuzzy msgid "Qualified Dublin Core schema" msgstr "Dublin-Hauptschema" #: src/properties.cpp:143 #, fuzzy msgid "ACDSee XMP schema" msgstr "Adobe PDF-Schema" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "" #: src/properties.cpp:148 msgid "Colorant structure" msgstr "Farbmittelstruktur" #: src/properties.cpp:149 msgid "Dimensions structure" msgstr "Dimensionsstruktur" #: src/properties.cpp:150 msgid "Font structure" msgstr "Schriftartstruktur" #: src/properties.cpp:151 msgid "Thumbnail structure" msgstr "Vorschaustruktur" #: src/properties.cpp:152 msgid "Resource Event structure" msgstr "Eventstruktur der Ressource" #: src/properties.cpp:153 msgid "ResourceRef structure" msgstr "RessourceRef-Struktur" #: src/properties.cpp:154 msgid "Version structure" msgstr "Versionsstruktur" #: src/properties.cpp:155 msgid "Basic Job/Workflow structure" msgstr "Basisaufgabe/Arbeitsablaufstruktur" #: src/properties.cpp:156 #, fuzzy msgid "Area structure" msgstr "Farbmittelstruktur" #: src/properties.cpp:159 msgid "Qualifier for xmp:Identifier" msgstr "Kennzeichnung für XMP:Identifikator" #: src/properties.cpp:163 msgid "Contributor" msgstr "Mitwirkende" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "Andere Mitwirkende als die Autoren bei den Ressourcen." #: src/properties.cpp:164 msgid "Coverage" msgstr "Abdeckung" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" #: src/properties.cpp:166 msgid "Creator" msgstr "Ersteller" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "Die Autoren der Ressource in der Ordnung Ihres Beitrags." #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "Daten an denen etwas Interessantes an der Ressource geschah." #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" "Eine textliche Beschreibung des Inhalts der Ressource. Mehrere Werte können " "für unterschiedliche Sprachen vorhanden sein." #: src/properties.cpp:170 src/properties.cpp:1160 msgid "Format" msgstr "Format" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" "Das zum Speichern der Ressource benutzte Dateiformat. Werkzeuge und " "Programme sollten diese Eignschaft setzen, um das Format der Daten zu " "speichern. Es kann auch It zugehörige Kennzeichnungen enthalten." #: src/properties.cpp:172 src/properties.cpp:228 msgid "Identifier" msgstr "Identifizierer" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" "Eindeutiger Identifikator der Ressource. Die praktische Empfehlung ist es, " "die Ressource über eine Zeichnkette zu identifizieren, die einem formellen " "Identifikationssystem entspricht." #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "" "Eine unsortierte Liste die die in der Ressource benutzten Sprachen aufzählt." #: src/properties.cpp:175 msgid "Publisher" msgstr "Herausgeber" #: src/properties.cpp:175 msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" "Eine Entität die benutzt wird, um die Ressource zur Verfügung zu stellen. " "Beispiele für den Herausgeber könnten eine Person, eine Organisation oder " "ein Dienst sein. Typischerweise sollte der Name eines Herausgebers benutzt " "werden, um die Entität zu kennzeichen" #: src/properties.cpp:178 msgid "Relation" msgstr "Beziehung" #: src/properties.cpp:178 msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" "Beziehungen zu anderen Dokumenten. Die Empfehlung aus der Praxis ist es, die " "betreffende Ressource durch eine Zeichenkette zu identifizieren, die einem " "formellen Identifizierungssystem entspricht." #: src/properties.cpp:180 msgid "Rights" msgstr "Rechte" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" "Informelle Rechtsaussage die durch die Sprache ausgewählt wird. " "Typischerweise enthalten Rechtsinformationen eine Aussage über verschiedene " "Eigenschaftsrechte, inklusive geistige Eigentumsrechte, die mit der " "Ressource assoziert sind." #: src/properties.cpp:183 msgid "Unique identifier of the work from which this resource was derived." msgstr "" "Eindeutige Identifikation der Arbeit von der diese Ressource abgeleitet " "wurde." #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" "Eine ungeordnete Liste von beschreibenden Begriffen oder Sitchwörtern, die " "das Thema des Inhalts der Ressource angeben." #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" "Der Titel des Dokuments oder der Name den die Ressource hat. Normalerweise " "ist dies der Name unter dem die Ressource allgemein bekannt ist." #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 msgid "Type" msgstr "Typ" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "En Dokumenttyp wie z.B. Roman, Gedicht oder Arbeitspapier." #: src/properties.cpp:194 msgid "Tags List" msgstr "Felderliste" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" "Die Liste des kompletten Stichwortpfads als Zeichenkette. Die Teile der " "Zeichenkette werden durch das Zeichen \"/\" getrennt, wie z.B. in \"Stadt/" "Paris/Monument/Eiffelturm\"." #: src/properties.cpp:195 #, fuzzy msgid "Captions Author Names" msgstr "Ländername" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" #: src/properties.cpp:196 #, fuzzy msgid "Captions Date Time Stamps" msgstr "aktualisiere Zeitstempel" #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" #: src/properties.cpp:197 src/tags.cpp:844 #, fuzzy msgid "Image History" msgstr "Bildhöhe" #: src/properties.cpp:197 msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" #: src/properties.cpp:198 #, fuzzy msgid "Lens Correction Settings" msgstr "Linsendaten-Einstellungen" #: src/properties.cpp:198 msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" #: src/properties.cpp:199 #, fuzzy msgid "Color Label" msgstr "Farbraum" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" #: src/properties.cpp:200 #, fuzzy msgid "Pick Label" msgstr "Name" #: src/properties.cpp:200 msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" #: src/properties.cpp:206 #, fuzzy msgid "Panorama Input Files" msgstr "Panoramaeinzelbild" #: src/properties.cpp:206 msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" #: src/properties.cpp:207 msgid "Enfuse Input Files" msgstr "" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" #: src/properties.cpp:208 #, fuzzy msgid "Enfuse Settings" msgstr "Besitzt Einstellungen" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "" #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "" #: src/properties.cpp:216 msgid "Advisory" msgstr "Hinweise" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" "Eine ungeordnete Liste, die Eigenschaften angibt, die ausserhalb der " "erstellenden Anwendung bearbeitet wurden. Jeder Eintrag sollte seinen " "Namensraum und XPath enthalten, die über ein ASCII-Leerzeichen (U+0020). " "getrennt sind." #: src/properties.cpp:219 src/properties.cpp:1066 msgid "Base URL" msgstr "Basis-Adresse" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" "Die Basis-URL für relative URL's im Dokument. Wenn dieses Dokument " "Verknüpfungen im Internet enthält und diese relativ sind, dann sind sie " "relativ zu dieser Basis-URL. Diese Eigenschaft stellt einen Standard für " "eingebettete URL's zur Verfügung, damit sie von Werkzeugen interpretiert " "werden können. Web-Autorenwerkzeuge sollten diesen Wert, basierend auf Ihrer " "Absicht wie URL's interpretiert werden, setzen." #: src/properties.cpp:224 msgid "Create Date" msgstr "Erstellungsdatum" #: src/properties.cpp:224 msgid "The date and time the resource was originally created." msgstr "" "Das Datum und die Uhrzeit, an dem die Ressource im Original erstellt wurde." #: src/properties.cpp:225 msgid "Creator Tool" msgstr "Erstellungswerkzeug" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" "Der Name des ersten bekannten Werkzeuges, mit dem die Ressource erstellt " "wurde. Wenn in den Metadaten eine Historie geführt wird, dann sollte dieser " "Wert gleich dem in der Eigenschaft xmpMM:History's softwareAgent sein." #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" "Eine ungeordnete Liste von Zeichenketten, die die Ressource in einem " "gegebenenen Kontext eindeutig identifizieren. Ein Listeneintrag kann mit dem " "xmpidq:Scheme qualifiziert werden, um das formale Identifikationssystem zu " "bezeichnen, dem der Identifikator folgt. Achtung: Die Eigenschaft dc:" "identifier wird nicht benutzt, da ihr ein definierter Schemavermerk fehlt " "und sie in der XMP-Spezifikation als als einfache, einwertige Eigenschaft " "definiert wurde." #: src/properties.cpp:233 msgid "Label" msgstr "Name" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" "Ein Wort oder eine kurze Umschreibung, die das Dokument als einen Teil einer " "benutzerdefinierten Sammlung identifiziert. Es wird benutzt, um die " "Dokumente in einem Dateimanager zu organisieren." #: src/properties.cpp:235 msgid "Metadata Date" msgstr "Metadaten-Datum" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" "Das Datum und die Zeit, an dem die Metadaten dieser Ressource das letzte Mal " "geändert wurden. Es sollte das gleiche oder ein aktuelleres Datum als xmp:" "ModifyDate sein." #: src/properties.cpp:237 msgid "Modify Date" msgstr "Änderungsdatum" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" "Das Datum und die Zeit, an dem die Ressource zuletzt geändert wurde. " "Achtung: Der Wert dieser Eigenschaft muss nicht der gleiche sein wie das " "Änderungsdatum des Dateisystems, da es gesetzt wird bevor die Datei " "gespeichert wird." #: src/properties.cpp:240 msgid "Nickname" msgstr "Spitzname" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "Ein kurzer informeller Name für die Ressource." #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 msgid "Rating" msgstr "Bewertung" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" "Eine Zahl, die den Dokumentenstatus relativ zu anderen Dokumenten " "beschreibt. Sie wird benutzt, um Dokumente in einem Dateimanager zu " "organisieren. Die Werte werden vom Benutzer innerhalb eines von der " "Anwendung vorgegebenen Bereichs gesetzt." #: src/properties.cpp:244 msgid "Thumbnails" msgstr "Vorschaubilder" #: src/properties.cpp:244 msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" "Eine alternative Liste von Vorschaubildern für eine Datei. Diese können sich " "in Eigenschaften wie z.B. Größe oder Bildkodierung unterscheiden." #: src/properties.cpp:251 msgid "Certificate" msgstr "Zertifikat" #: src/properties.cpp:251 msgid "Online rights management certificate." msgstr "Online-Rechteverwaltungszertifikat" #: src/properties.cpp:252 msgid "Marked" msgstr "Markiert" #: src/properties.cpp:252 msgid "Indicates that this is a rights-managed resource." msgstr "Zeigt an, dass dies eine Ressource ist, deren Rechte verwaltet sind." #: src/properties.cpp:253 msgid "Owner" msgstr "Besitzer" #: src/properties.cpp:253 msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "" "Eine ungeordnete Liste von einem oder mehreren rechtlichen Besitzer einer " "Ressource." #: src/properties.cpp:254 msgid "Usage Terms" msgstr "Benutzungsbedingungen" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "Textbeschreibung wie die Ressource legal benutzt werden kann." #: src/properties.cpp:255 msgid "Web Statement" msgstr "Web-Angaben" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" "Die Adresse einer Web-Seite, die den Besitzer und/oder die Rechteangaben für " "die Ressource beschreibt." #: src/properties.cpp:261 msgid "Derived From" msgstr "Abgeleitet von" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" "Eine Referenz auf das Originaldokument, von dem dieses hier abgeleitet " "wurde. Es handelt sich um eine minimale Referenz. Bei fehlenden Komponenten " "können Sie davon ausgehen, dass sie nicht geändert wurden. So müssen Sie für " "eine neue Version z.B. nur die Instanz-ID und die Versionsnummer der " "vorangegangenen Version angeben. Eine Wiedergabe braucht also nur die " "Instanz-ID und die Wiedergabeklasse des Originals angeben." #: src/properties.cpp:266 msgid "Document ID" msgstr "Dokumenten-ID" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" "Der allgemeine Identifikator für alle Versionen und Wiedergaben eines " "Dokuments. Er sollte daher auf der UUID basieren. Sehen Sie dazu die " "Dokumenten- und Instanz-ID's unten." #: src/properties.cpp:268 msgid "History" msgstr "Historie" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" "Eine sortierte Liste von groben umschriebenen Benutzeraktionen, die zu " "dieser Ressource führten. Dadurch sollen menschliche Leser eine Idee von den " "Schritten bekommen, die von der vorangegangenen Version zu dieser geführt " "haben. Diese Liste sollte auf einer abstrakten Ebene vorliegen. Es ist nicht " "gedacht als vollständige Zusammenstellung aller Tastenanschläge oder als " "detailierte Anleitung." #: src/properties.cpp:272 msgid "Instance ID" msgstr "Instanz-ID" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" "Eine Identikator für eine spezielle Version des Dokumentes, der jedes Mal " "aktualisiert wird, wenn die Datei gespeichert wird. Er sollte auf einer UUID " "basieren. Sehen Sie dazu unten die Dokumenten- und Instanz-ID's." #: src/properties.cpp:274 msgid "Managed From" msgstr "Verwaltet von" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" "Eine Referenz auf das vormals unverwaltete Dokument. Diese wird gesetzt, " "wenn ein verwaltetes Dokument in eine Bestandsverwaltung aufgenommen wird, " "die es nicht besitzt. Es kann oder auch nicht Referenzen auf verschiedene " "Verwaltungssysteme enthalten." #: src/properties.cpp:277 msgid "Manager" msgstr "Verwalter" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" "Der Name des Verwaltungssystems das diese Ressource verwaltet. Zusammen mit " "xmpMM: ManagerVariant, teilt es der Anwendung mit, welches " "Bestandsverwaltungssystem zu diesem Dokument kontaktiert werden muss." #: src/properties.cpp:280 msgid "Manage To" msgstr "Verwaltet für" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" "Eine URI die die verwaltete Ressource für das Bestandsverwaltungssystem " "identifiziert. Das Vorhandensein dieser Eigenschaft ist ein formaler " "Indikator, dass diese Ressource verwaltet ist. Form und Inhalt dieser URI " "ist nur für das Bestandsverwaltungssystem." #: src/properties.cpp:283 msgid "Manage UI" msgstr "Verwaltungs-UI" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" "Eine URI die benutzt werden kann, um Informationen über die verwaltete " "Ressource mittels eines Web-Browsers zu bekommen. Sie setzt unter Umständen " "ein Browsermodul voraus." #: src/properties.cpp:285 msgid "Manager Variant" msgstr "Verwaltungsvariante" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" "Gibt eine bestimmte Variante des Bestandsverwaltungssystems an. Das Format " "dieser Eigenschaft ist nur für die angegebene Bestandsverwaltungssystem." #: src/properties.cpp:287 msgid "Rendition Class" msgstr "Wiedergabeklasse" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" "Die Wiedergabeklasse für diese Ressource. Diese Eigenschaft sollte fehlen " "oder auf den Standard gesetzt sein für alle Dokumentenversionen die keine " "abgeleitete Umsetzungen sind." #: src/properties.cpp:289 msgid "Rendition Params" msgstr "Wiedergabeparameter" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" "Kann benutzt werden, um zusätzliche Wiedergabeparameter zur Verfügung zu " "stellen, die zu komplex oder zu umfangreich sind, um in der Wiedergabeklasse " "xmpMM: gespeichert zu werden." #: src/properties.cpp:291 msgid "Version ID" msgstr "Version-ID" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr "" "Der Identifikator für die Version des Dokumentes für diese Ressource. Jede " "Version eines Dokumentes bekommt einen neuen Identifikator, der " "normalerweise einfach durch das Hochzählen 1, 2, 3 . . . und so weiter " "gebildet. Medienverwaltungssystemw haben unter Umständen andere Konventionen " "oder unterstützen Abzweigungen die ein komplexeres Schema benötigen." #: src/properties.cpp:295 msgid "Versions" msgstr "Versionen" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" "Die Historie der Versionen die mit dieser Ressource assoziert ist. Der " "Eintrag [1] ist die älteste bekannte Version für dieses Dokument, der " "Eintrag [letzter()] ist die aktuellste Version. Typischerweise trägt ein " "Medienverwaltungssystem die Versionsinformationen in den Metadaten bei der " "Aufnahme ein. Es gibt aber keine Garantie, dass eine komplette Historie von " "dem ersten bis zu dem gerade präsentierten in der Eigenschaft xmpMM:Versions " "vorhanden ist. Interne Versionsinformationen können komprimiert oder " "gelöscht und die Versionshistorie kann an einem Punkt abgeschnitten werden." #: src/properties.cpp:301 msgid "Last URL" msgstr "Letzte Adresse" #: src/properties.cpp:301 msgid "Deprecated for privacy protection." msgstr "Veraltet wegen dem Schutz der Privatsphäre." #: src/properties.cpp:302 msgid "Rendition Of" msgstr "Wiedergabe von" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" "Veraltet und durch xmpMM:DerivedFrom ersetzt. Eine Referenz auf das Dokument " "von dem dieses eine Ableitung ist." #: src/properties.cpp:304 msgid "Save ID" msgstr "Speicherungs-ID" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "" "Veraltet. Wurde vorher benutzt, um die Eigenschaft xmpMM:LastURL zu " "unterstützen" #: src/properties.cpp:310 msgid "Job Reference" msgstr "Jobreferenz" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" "Referenzen auf ein externe Jobverwaltungsdatei für einen for einen Prozess " "in dem das Dokument benutzt wird. Die Benutzung der Jobnamen liegt unter dre " "Kontrolle des Benutzers. Eine typische Anwendung ist es alle Dokumente zu " "identifizieren, die Teil eines bestimmten Jobs oder Vertrags sind. Es können " "mehrere Werte eingegeben werden, da ein Dokument zu mehr als einen Job zur " "gleichen Zeit zugehören kann. Ebenfalls kann es sinnvoll sein historische " "Informationen zu speichern, in welchem Jobs das Dokument früher benutzt " "wurde." #: src/properties.cpp:319 msgid "Maximum Page Size" msgstr "Maximale Seitengröße" #: src/properties.cpp:319 msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "" "Die Größe der größten Seite, inklusive aller eingebetten Seiten, im Dokument." #: src/properties.cpp:320 msgid "Number of Pages" msgstr "Anzahl der Seiten" #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "" "Die Anzahl der Seiten, inklusive aller eingebetten Seiten, des Dokuments." #: src/properties.cpp:321 msgid "Fonts" msgstr "Schriftarten" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" "Eine ungeordnete Liste von Zeichensätzen die in diesem Dokument benutzt " "werden. Diese enthält auch die Zeichensätze von eingebetteten Dokumenten." #: src/properties.cpp:322 msgid "Colorants" msgstr "Farbmittel" #: src/properties.cpp:322 msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" "Eine ungeordnete Liste von Farbmitteln die in diesem Dokument benutzt " "werden. Diese enthält auch alle Farbmittel in eingebetteten Dokumenten." #: src/properties.cpp:323 msgid "Plate Names" msgstr "Druckstocknamen" #: src/properties.cpp:323 msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" "Eine geordnete Liste von Druckstocknamen, die benötigt werden um das " "Dokument zu drucken. Diese enthält auch die Druckstöcke aus allen " "eingebetteten Druckstöcken." #: src/properties.cpp:329 src/properties.cpp:1285 msgid "Project Reference" msgstr "Projektreferenz" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "Eine Referenz zu dem Projekt das diese Datei erstellt hat." #: src/properties.cpp:330 src/properties.cpp:1163 msgid "Video Frame Rate" msgstr "Video-Bildrate" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "Für die Video-Bildrate mögliche Werte sind: 24, NTSC, PAL." #: src/properties.cpp:331 src/properties.cpp:1164 msgid "Video Frame Size" msgstr "Video-Bildgröße" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "" "Die Größe des Video Bildes, z.B. Breite: 720, Höhe: 480, Einheit: Pixel" #: src/properties.cpp:332 msgid "Video Pixel Aspect Ratio" msgstr "Video-Pixelverhältnis" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "" "Das Verhältnis der Videopixel augedrückt als Höhe/Breite, z.B.: \"648/720\" " "= 0.9." #: src/properties.cpp:333 src/properties.cpp:1261 msgid "Video Pixel Depth" msgstr "Video-Pixeltiefe" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" "Die Größe in Bits für jede Farbkomponente eines Pixels. Standard Windows 32-" "Bit Pixel haben 8 Bit pro Farbe. Erlaubt sind : 8Int, 16Int, 32Int, 32Float." #: src/properties.cpp:335 src/properties.cpp:1081 msgid "Video Color Space" msgstr "Video-Farbraum" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" "Der benutzte Farbraum. Erlaubt sind: sRGB (von Photoshop), CCIR-601 (von " "NTSC), CCIR-709 (von HD)." #: src/properties.cpp:337 msgid "Video Alpha Mode" msgstr "Video-Alphamodus" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "Der benutzte Alphamodus. Erlaubt sind: straight, pre-multiplied." #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "" #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "" #: src/properties.cpp:341 msgid "Video Compressor" msgstr "Videokompression" #: src/properties.cpp:341 msgid "Video compression used. For example, jpeg." msgstr "Benutzte Videokompression, z.B. jpeg." #: src/properties.cpp:342 msgid "Video Field Order" msgstr "Video-Feldreihenfolge" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "" #: src/properties.cpp:343 msgid "Pull Down" msgstr "Nach unten ziehen" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "Audio Sample Rate" msgstr "Audio-Abtastrate" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" "Die Audio-Abtastrate kann ein beliebiger Wert sein. Empfohlen sind die Werte " "32000, 41100, oder 48000." #: src/properties.cpp:346 src/properties.cpp:1426 msgid "Audio Sample Type" msgstr "Audio-Abtasttyp" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "Der Audio-Abtasttyp, ein Wert aus: 8Int, 16Int, 32Int, 32Float." #: src/properties.cpp:347 src/properties.cpp:1400 msgid "Audio Channel Type" msgstr "Audio-Kanaltyp" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "Der Audio-Kanaltyp, ein Wert aus: Mono, Stereo, 5.1, 7.1." #: src/properties.cpp:348 src/properties.cpp:1407 msgid "Audio Compressor" msgstr "Audio-Kompression" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "Die benutzte Audio-Kompression, z.B. MP3." #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "Lautsprecheraufstellung" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "File Data Rate" msgstr "Dateidatenrate" #: src/properties.cpp:351 src/properties.cpp:1149 #, fuzzy msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "" "Das Verhältnis der Videopixel augedrückt als Höhe/Breite, z.B.: \"648/720\" " "= 0.9." #: src/properties.cpp:352 src/properties.cpp:1334 msgid "Tape Name" msgstr "Bandname" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "" #: src/properties.cpp:353 msgid "Alternative Tape Name" msgstr "Alternativer Bandname" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" #: src/properties.cpp:355 msgid "Start Time Code" msgstr "Startzeitstempel" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "" "Der Zeitstempel des ersten Bildes des Videos in der Datei. Er stammt von der " "Gerätekontrolle." #: src/properties.cpp:356 msgid "Alternative Time code" msgstr "Alternativer Zeitstempel" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" "Ein Zeitstempel der vom Benutzer. Wenn er gesetzt ist, dann wird er anstatt " "des Startzeitstempels benutzt." #: src/properties.cpp:357 src/properties.cpp:1124 msgid "Duration" msgstr "Dauer" #: src/properties.cpp:357 msgid "The duration of the media file." msgstr "Die Abspieldauer der Mediendatei." #: src/properties.cpp:358 msgid "Scene" msgstr "Szene" #: src/properties.cpp:358 msgid "The name of the scene." msgstr "Der Name der Szene." #: src/properties.cpp:359 msgid "Shot Name" msgstr "Aufnahmename" #: src/properties.cpp:359 msgid "The name of the shot or take." msgstr "Der Name der Aufnahme." #: src/properties.cpp:360 msgid "Shot Date" msgstr "Aufnahmedatum" #: src/properties.cpp:360 msgid "The date and time when the video was shot." msgstr "Das Datum und die Uhrzeit an dem das Video aufgenommen wurde." #: src/properties.cpp:361 msgid "Shot Location" msgstr "Aufnahmeort" #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" "Der Name des Ortes, z.B. \"Oktoberfest, München, Deutschland\", an dem das " "Video aufgenommen wurde. Für eine genauere Positionsbestimmung sollten Sie " "die Exif-GPS-Werte benutzen." #: src/properties.cpp:363 msgid "Log Comment" msgstr "Protokollkommentar" #: src/properties.cpp:363 msgid "User's log comments." msgstr "Protokollkommentar des Benutzers." #: src/properties.cpp:364 msgid "Markers" msgstr "Markierungen" #: src/properties.cpp:364 msgid "An ordered list of markers" msgstr "Eine geordnete Liste von Markierungen" #: src/properties.cpp:365 msgid "Contributed Media" msgstr "Mitwirkende Medien" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "" "Ein ungeordnete Liste aller Medien die benutzt wurdenum dieses Medium zu " "erstellen." #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:368 msgid "Video Modified Date" msgstr "Änderungsdatum des Videos" #: src/properties.cpp:368 msgid "The date and time when the video was last modified." msgstr "Das Datum und die Uhrzeit der letzten Änderung des Videos." #: src/properties.cpp:369 msgid "Audio Modified Date" msgstr "Änderungsdatum der Audiodaten" #: src/properties.cpp:369 msgid "The date and time when the audio was last modified." msgstr "Das Datum und die Uhrzeit der letzten Änderung der Audiodaten." #: src/properties.cpp:370 msgid "Metadata Modified Date" msgstr "Änderungsdatum der Metadaten" #: src/properties.cpp:370 msgid "The date and time when the metadata was last modified." msgstr "Das Datum und die Uhrzeit der letzten Änderung der Metadaten." #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "Künstler" #: src/properties.cpp:371 src/properties.cpp:1058 msgid "The name of the artist or artists." msgstr "Der Name des Künstlers bzw. der Künstler." #: src/properties.cpp:372 src/properties.cpp:1054 msgid "Album" msgstr "Album" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "The name of the album." msgstr "Der Name des Albums." #: src/properties.cpp:373 src/properties.cpp:1366 msgid "Track Number" msgstr "Stücknummer" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "" "Ein numerischer Wert, der die Reihenfolge der Audiodatei in der " "Originalaufnahme anzeigt." #: src/properties.cpp:374 src/properties.cpp:1166 msgid "Genre" msgstr "Genre" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "The name of the genre." msgstr "Der Name des Genres." #: src/properties.cpp:375 msgid "The copyright information." msgstr "Die urheberrechtliche Information." #: src/properties.cpp:376 msgid "The date the title was released." msgstr "Das Datum andem der Titel veröffentlicht wurde." #: src/properties.cpp:377 src/properties.cpp:1086 msgid "Composer" msgstr "Verfasser" #: src/properties.cpp:377 msgid "The composer's name." msgstr "Der Name des Verfassers." #: src/properties.cpp:378 src/properties.cpp:1143 msgid "Engineer" msgstr "Techniker" #: src/properties.cpp:378 msgid "The engineer's name." msgstr "Der Name des Technikers." #: src/properties.cpp:379 msgid "Tempo" msgstr "Geschwindigkeit" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "Die Geschwindigkeit des Audio." #: src/properties.cpp:380 msgid "Instrument" msgstr "Instrument" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "Das musikalische Instrument." #: src/properties.cpp:381 msgid "Intro Time" msgstr "Introzeit" #: src/properties.cpp:381 msgid "The duration of lead time for queuing music." msgstr "Die Dauer der Einführungszeit für Wartemusik." #: src/properties.cpp:382 msgid "Out Cue" msgstr "Out Cue" #: src/properties.cpp:382 msgid "The time at which to fade out." msgstr "Die Zeit zu der ausgeblendet werden sollte." #: src/properties.cpp:383 msgid "Relative Timestamp" msgstr "Relativer Zeitstempel" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "Die Startzeit des Mediums innerhalb des Audioprojektes." #: src/properties.cpp:384 msgid "Loop" msgstr "Schleife" #: src/properties.cpp:384 #, fuzzy msgid "When true, the clip can be looped seamlessly." msgstr "" "Wenn dieser gesetzt ist, dann kann der Clip nahtlos in einer Schleife laufen." #: src/properties.cpp:385 msgid "Number Of Beats" msgstr "Taktanzahl" #: src/properties.cpp:385 msgid "The number of beats." msgstr "Die Anzahl der Takte." #: src/properties.cpp:386 msgid "Key" msgstr "Schlüssel" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "" "Der musikalische Schlüssel des Audios. Dies ist einer aus : C, C#, D, D#, E, " "F, F#, G, G#, A, A#, B." #: src/properties.cpp:387 msgid "Stretch Mode" msgstr "Stretchmodus" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" "Der Audio-Stretchmodus ist einer aus: Feste Länge, Zeitskalieren, Resample, " "Taktverbund und Hybrid." #: src/properties.cpp:388 msgid "Time Scale Parameters" msgstr "Zeitskalierungsparameter" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "Zusätzliche Parameter für den Zeitskalierungs-Stretchmodus." #: src/properties.cpp:389 msgid "Resample Parameters" msgstr "Paramter des Resamples" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "Zusätzliche Parameter für den Stretchmodus des Resamples" #: src/properties.cpp:390 msgid "Beat Splice Parameters" msgstr "Parameter des Taktverbundes" #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "Zusätzliche Parameter für den Stretchmodus des Taktverbundes." #: src/properties.cpp:391 msgid "Time Signature" msgstr "Takt-Signatur" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" "Die Takt-Signatur der Musik ist eine von: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8 oder andere." #: src/properties.cpp:392 msgid "Scale Type" msgstr "Skalierungstyp" #: src/properties.cpp:392 msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "" #: src/properties.cpp:399 src/tags.cpp:1078 msgid "Camera Serial Number" msgstr "Kamera-Seriennummer" #: src/properties.cpp:399 msgid "Camera Serial Number." msgstr "Kamera-Seriennummer." #: src/properties.cpp:400 msgid "Date Acquired" msgstr "Erwerbungsdatum" #: src/properties.cpp:400 msgid "Date Acquired." msgstr "Erwerbungsdatum." #: src/properties.cpp:401 msgid "Flash Manufacturer" msgstr "Hersteller des Blitzes." #: src/properties.cpp:401 msgid "Flash Manufacturer." msgstr "Hersteller des Blitzes." #: src/properties.cpp:402 msgid "Flash Model." msgstr "Blitzmodell." #: src/properties.cpp:403 msgid "Last Keyword IPTC" msgstr "Letzter IPTC-Schlüsselbegriff" #: src/properties.cpp:403 msgid "Last Keyword IPTC." msgstr "Letzter IPTC-Schlüsselbegriff." #: src/properties.cpp:404 msgid "Last Keyword XMP" msgstr "Letzter XMP-Schlüsselbegriff" #: src/properties.cpp:404 msgid "Last Keyword XMP." msgstr "Letzter XMP-Schlüsselbegriff." #: src/properties.cpp:405 msgid "Lens Manufacturer" msgstr "Linsen-Hersteller" #: src/properties.cpp:405 msgid "Lens Manufacturer." msgstr "Linsen-Hersteller." #: src/properties.cpp:406 src/properties.cpp:1199 msgid "Lens Model." msgstr "Linsenmodell." #: src/properties.cpp:407 msgid "Rating Percent" msgstr "Bewertung in Prozent" #: src/properties.cpp:407 msgid "Rating Percent." msgstr "Bewertung in Prozent." #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "" #: src/properties.cpp:414 #, fuzzy msgid "Private RTK Info" msgstr "Bild-Info" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "" #: src/properties.cpp:420 msgid "Keywords." msgstr "Schlüsselbegriffe." #: src/properties.cpp:421 msgid "PDF Version" msgstr "PDF-Version" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "Die Version der PDF-Datei, z.B. 1.0, 1.3 usw." #: src/properties.cpp:422 src/properties.cpp:1278 msgid "Producer" msgstr "Hersteller" #: src/properties.cpp:422 msgid "The name of the tool that created the PDF document." msgstr "Der Name des Werkzeugs, dass das PDF-Dokument erstellt hat." #: src/properties.cpp:428 msgid "Authors Position" msgstr "Position des Autors." #: src/properties.cpp:428 msgid "By-line title." msgstr "Titel der Verfasserzeile." #: src/properties.cpp:429 msgid "Caption Writer" msgstr "Abschnittsautor" #: src/properties.cpp:429 msgid "Writer/editor." msgstr "Autor/Verfasser" #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "Diese Kategorie ist auf drei 7-Bit ASCII-Zeichen beschränkt." #: src/properties.cpp:431 msgid "City." msgstr "Stadt." #: src/properties.cpp:432 msgid "Country/primary location." msgstr "Land/Primäre Lokation." #: src/properties.cpp:433 msgid "Credit." msgstr "Danksagungen." #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" #: src/properties.cpp:438 msgid "Headline." msgstr "Schlagzeile." #: src/properties.cpp:439 msgid "Special instructions." msgstr "Besondere Anweisungen." #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source." msgstr "Quelle." #: src/properties.cpp:441 msgid "Province/state." msgstr "Provinz/Staat." #: src/properties.cpp:442 msgid "Supplemental category." msgstr "Zusätzliche Kategorie." #: src/properties.cpp:443 msgid "Original transmission reference." msgstr "Original-Übertragungsreferenz." #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "Dringlichkeit. Der gültige Bereich ist 1-8." #: src/properties.cpp:452 msgid "inches" msgstr "Zoll" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "cm" #: src/properties.cpp:457 msgid "Auto Brightness" msgstr "Automatische Helligkeit" #: src/properties.cpp:457 msgid "When true, \"Brightness\" is automatically adjusted." msgstr "" "Wenn diese Option gesetzt ist, dann wird die Helligkeit automatisch justiert." #: src/properties.cpp:458 msgid "Auto Contrast" msgstr "Autokontrast" #: src/properties.cpp:458 msgid "When true, \"Contrast\" is automatically adjusted." msgstr "" "Wenn diese Option gesetzt ist, dann wird der kontrast automatisch justiert." #: src/properties.cpp:459 msgid "Auto Exposure" msgstr "Automatische Belichtung" #: src/properties.cpp:459 msgid "When true, \"Exposure\" is automatically adjusted." msgstr "" "Wenn diese Option gesetzt ist, dann wird die Belichtung automatisch justiert." #: src/properties.cpp:460 msgid "Auto Shadows" msgstr "Automatisch (Schatten)" #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "" "Wenn diese Option gesetzt ist, dann werden die Schatten automatisch justiert." #: src/properties.cpp:461 msgid "Blue Hue" msgstr "Blauabgleich" #: src/properties.cpp:461 msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "Einstellungen des Blauabgleichs. Der Bereich geht von -100 bis 100." #: src/properties.cpp:462 msgid "Blue Saturation" msgstr "Blau-Sättigung" #: src/properties.cpp:462 msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "Einstellungen der Blausättigung. Der Bereich geht von -100 bis +100." #: src/properties.cpp:463 msgid "\"Brightness\" setting. Range 0 to +150." msgstr "Die Einstellung der Helligkeit. Der Bereich geht von 0 bis + 150." #: src/properties.cpp:464 msgid "Camera Profile" msgstr "Kameraprofil" #: src/properties.cpp:464 msgid "\"Camera Profile\" setting." msgstr "Einstellungen des Kameraprofils." #: src/properties.cpp:465 msgid "Chromatic Aberration Blue" msgstr "Chromatische Aberration Blau" #: src/properties.cpp:465 msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "" "Einstellung \"Chromatische Aberration, Blau/Gelb-Ränder korrigieren\". " "Bereich von -100 bis +100." #: src/properties.cpp:466 msgid "Chromatic Aberration Red" msgstr "Chromatische Aberration Rot" #: src/properties.cpp:466 msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "" "Einstellung \"Chromatische Aberration, Rot/Cyan-Ränder korrigieren\". " "Bereich von -100 bis +100." #: src/properties.cpp:467 src/properties.cpp:1080 msgid "Color Noise Reduction" msgstr "Farbrauschunterdrückung" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "" "Einstellung der \"Farbrauschunterdrückung\". Im Bereich von 0 bis +100." #: src/properties.cpp:468 msgid "\"Contrast\" setting. Range -50 to +100." msgstr "Einstellung des \"Kontrastes\". Im Bereich von -50 bis +100." #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "" "Wenn die Option \"Zuschneiden\" gesetzt ist, dann wird das Rechteck oben " "zugeschnitten" #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "" "Wenn die Option \"Zuschneiden\" gesetzt ist, dann wird das Rechteck links " "zugeschnitten" #: src/properties.cpp:471 msgid "Crop Bottom" msgstr "Unten zuschneiden" #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "" "Wenn die Option \"Zuschneiden\" gesetzt ist, dann wird das Rechteck unten " "zugeschnitten" #: src/properties.cpp:472 msgid "Crop Right" msgstr "Rechts zuschneiden" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "" "Wenn die Option \"Zuschneiden\" gesetzt ist, dann wird das Rechteck rechts " "zugeschnitten" #: src/properties.cpp:473 msgid "Crop Angle" msgstr "Winkel zuschneiden" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "" "Wenn die Option \"Zuschneiden\" gesetzt ist, dann werden die Winkel des " "Rechtecks zugeschnitten" #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "Breite des zugeschnittenen Bildes in zugeschnittenen Einheiten." #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "Höhe des zugeschnittenen Bildes in zugeschnittenen Einheiten." #: src/properties.cpp:476 msgid "Crop Units" msgstr "Zuschnittene Einheiten" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "" "Einheit für \"Breite des Zuschnitts\" und \"Höhe des Zuschnitts\": 0=Pixel, " "1=Zoll, 2=Zentimeter" #: src/properties.cpp:477 msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "Einstellung der \"Belichtung\". Im Bereich von -4.0 bis +4.0." #: src/properties.cpp:478 #, fuzzy msgid "Green Hue" msgstr "Grünabgleich" #: src/properties.cpp:478 msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "Einstellung des \"Grünabgleichs\". Im Bereich von -100 bis +100." #: src/properties.cpp:479 msgid "Green Saturation" msgstr "Grünsättigung" #: src/properties.cpp:479 msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "Einstellung der \"Grünsättigung\". Im Bereich von -100 bis +100." #: src/properties.cpp:480 msgid "Has Crop" msgstr "Wurde zugeschnitten" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "" "Wenn die Option gesetzt ist, dann hat das Bild ein zuschneidendes Rechteck." #: src/properties.cpp:481 msgid "Has Settings" msgstr "Besitzt Einstellungen" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "" "Wenn diese Option gesetzt ist, dann wurden nicht die Standardeinstellungen " "der Kamera genutzt." #: src/properties.cpp:482 msgid "Luminance Smoothing" msgstr "" #: src/properties.cpp:482 #, fuzzy msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "Einstellungen der Blausättigung. Der Bereich geht von -100 bis +100." #: src/properties.cpp:483 msgid "Raw File Name" msgstr "Rohdateiname" #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "Dateiname der Rohdatei (nicht der komplette Pfad)." #: src/properties.cpp:484 msgid "Red Hue" msgstr "Rotabgleich" #: src/properties.cpp:484 msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "Einstellung des \"Rotabgleichs\". Im Bereich von -100 bis +100." #: src/properties.cpp:485 msgid "Red Saturation" msgstr "Rotsättigung" #: src/properties.cpp:485 msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "Einstellungen der \"Rotsättigung\". Im Bereich von -100 bis +100." #: src/properties.cpp:486 msgid "\"Saturation\" setting. Range -100 to +100." msgstr "Einstellungen der\"Sättigung\". Im Bereich von -100 bis +100." #: src/properties.cpp:487 msgid "Shadows" msgstr "Schatten" #: src/properties.cpp:487 msgid "\"Shadows\" setting. Range 0 to +100." msgstr "Einstellungen der\"Schatten\". Im Bereich von 0 bis +100." #: src/properties.cpp:488 msgid "Shadow Tint" msgstr "Dunkle Tinte" #: src/properties.cpp:488 msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "Einstellungen der\"dunklen Tinte\". Im Bereich von -100 bis +100." #: src/properties.cpp:489 src/properties.cpp:1301 msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "Einstellungen der\"Schärfe\". Im Bereich von 0 bis +100." #: src/properties.cpp:490 msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "Einstellungen der\"Temperatur\". Im Bereich von 2000 bis 50000." #: src/properties.cpp:491 msgid "Tint" msgstr "Tinte" #: src/properties.cpp:491 msgid "\"Tint\" setting. Range -150 to +150." msgstr "Einstellungen der \"Tinte\". Im Bereich von -150 bis +150." #: src/properties.cpp:492 msgid "Tone Curve" msgstr "Farbtonkurve" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "" "Vektor von Punkten (Ganzzahlig, Ganzzahlig) der eine \"Farbtonkurve\" " "beschreibt." #: src/properties.cpp:493 msgid "Tone Curve Name" msgstr "Name der Farbtonkurve" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" "Der Name der Farbtonkurve ist einer der folgenden: Linear, Mittler Kontrast, " "Starker Kontrast, Anwendungsspezifisch oder ein benutzerdefinierter " "voreingestellter Name." #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "Version des Kamerarohmoduls." #: src/properties.cpp:496 msgid "Vignette Amount" msgstr "Vignettierungsmenge" #: src/properties.cpp:496 msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "" "Einstellungen der \"Vignettierungsmenge\". Im Bereich von -100 bis +100." #: src/properties.cpp:497 msgid "Vignette Midpoint" msgstr "Vignettierungsmittelpunkt" #: src/properties.cpp:497 msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "" "Einstellung des \"Vignettierungsmittelpunkt\". Im Bereich von -150 bis +150." #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "TIFF-Feld 256, 0x100: Bildbreite in Pixeln." #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 msgid "Image Length" msgstr "Bildlänge" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "TIFF-Feld 257, 0x101: Bildbreite in Pixeln." #: src/properties.cpp:507 msgid "Bits Per Sample" msgstr "Bits pro Abtastung" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "TIFF-Feld 258, 0x102: Anzahl der Bits pro Komponente in jedem Kanal." #: src/properties.cpp:508 src/tags.cpp:434 msgid "Compression" msgstr "Kompression" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "" "TIFF-Feld 259, 0x103: Kompressionsschema: 1 = keine Kompression; 6 = JPEG." #: src/properties.cpp:509 src/tags.cpp:440 msgid "Photometric Interpretation" msgstr "Fotometrische Interpretation" #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "TIFF-Feld 262, 0x106, Pixelzusammensetzung: 2 = RGB; 6 = YCbCr." #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" #: src/properties.cpp:519 msgid "Samples Per Pixel" msgstr "Abtastung pro Pixel" #: src/properties.cpp:519 msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "TIFF-Feld 277, 0x115: Anzahl der Komponenten pro Pixel." #: src/properties.cpp:520 src/tags.cpp:514 msgid "Planar Configuration" msgstr "Planar Konfiguration" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "TIFF-Feld 284, 0x11C. Datenlayout:1 = kompakt; 2 = flach." #: src/properties.cpp:521 msgid "YCbCr Sub Sampling" msgstr "YCbCr Sub Sampling" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" #: src/properties.cpp:523 src/tags.cpp:720 msgid "YCbCr Positioning" msgstr "YCbCr Positionierung" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" #: src/properties.cpp:525 src/properties.cpp:1390 msgid "X Resolution" msgstr "x-Auflösung" #: src/properties.cpp:525 msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "TIFF-Feld 282, 0x11A. Horizontale Auflösung in Pixeln pro Einheit." #: src/properties.cpp:526 src/properties.cpp:1392 msgid "Y Resolution" msgstr "y-Auflösung" #: src/properties.cpp:526 msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "TIFF-Feld 283, 0x11B. Vertikale Auflösung in Pixeln pro Einheit." #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 msgid "Resolution Unit" msgstr "Maßeinheit der Auflösung" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" "TIFF-Feld 296, 0x128. Die für die x- und y-Auflösung benutzten Einheiten. " "Der Wert ist: 2 = Zoll; 3 = Zentimeter." #: src/properties.cpp:529 src/tags.cpp:540 msgid "Transfer Function" msgstr "(Farb)transfer Funktion" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" #: src/properties.cpp:531 src/tags.cpp:572 msgid "White Point" msgstr "Weißpunkt" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "TIFF-Feld 318, 0x13E. Chromatizität des Weißpunktes." #: src/properties.cpp:532 src/tags.cpp:577 msgid "Primary Chromaticities" msgstr "Primäre Chromazität" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "TIFF-Feld 319, 0x13F. Chromatizität der drei Primärfarben." #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "" #: src/properties.cpp:534 msgid "Reference Black White" msgstr "Schwarz/Weiß-Referenz" #: src/properties.cpp:534 #, fuzzy msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "TIFF-Feld 318, 0x13E. Chromatizität des Weißpunktes." #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 msgid "Date and Time" msgstr "Datum und Uhrzeit" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" #: src/properties.cpp:541 src/tags.cpp:462 msgid "Image Description" msgstr "Bildbeschreibung" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" "TIFF-Feld 270, 0x10E. Beschreibung des Bildes. Achtung: Diese Eigenschaft " "wird in XMP unter dc:description gespeichert." #: src/properties.cpp:542 msgid "Make" msgstr "Hersteller" #: src/properties.cpp:542 msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "TIFF-Feld 271, 0x10F. Hersteller der Aufnahmeausrüstung." #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "TIFF-Feld 272, 0x110. Modellname oder -nummer der Ausrüstung." #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" "TIFF-Feld 305, 0x131. Software oder Firmware, die benutzt wurde um die " "Bilder zu erstellen. Achtung: Diese Eigenschaft wird in XMP unter xmp:" "CreatorTool gespeichert." #: src/properties.cpp:546 msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" "TIFF-Feld 315, 0x13B. Kamerabesitzer, Fotograph oder Bildersteller. Achtung: " "Diese Eigenschaft wird in XMP als erster Eintrag im Feld dc:creator " "gespeichert." #: src/properties.cpp:548 #, fuzzy msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" "TIFF-Feld 270, 0x10E. Beschreibung des Bildes. Achtung: Diese Eigenschaft " "wird in XMP unter dc:description gespeichert." #: src/properties.cpp:555 src/tags.cpp:1605 msgid "Exif Version" msgstr "Exif-Version" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "Exif-Feld 36864, 0x9000. Exif-Versionsnummer." #: src/properties.cpp:556 msgid "Flashpix Version" msgstr "FlashPix Version" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "Exif-Feld 40960, 0xA000. Version des FlashPix." #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "Exif-Feld 40961, 0xA001. Informationen über den Farbraum." #: src/properties.cpp:558 src/tags.cpp:1616 msgid "Components Configuration" msgstr "Komponentenkonfiguration" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" #: src/properties.cpp:560 src/tags.cpp:825 msgid "Compressed Bits Per Pixel" msgstr "Komprimierte Bits pro Pixel" #: src/properties.cpp:560 msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" "Exif-Feld 37122, 0x9102. Kompressionsmodus der benutzt wurde, um das Bild zu " "komprimieren in der Einheit Bits pro Pixel." #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "Pixel X-Dimension" #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "Exif-Feld 40962, 0xA002. Gültige Bildbreite in Pixeln." #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "Pixel Y-Dimension" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "Exif-Feld 40963, 0xA003. Gültige Bildhöhe in Pixeln." #: src/properties.cpp:564 src/tags.cpp:1674 msgid "User Comment" msgstr "Nutzerkommentar" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "Exif-Feld 37510, 0x9286. Kommentar des Benutzers." #: src/properties.cpp:565 src/tags.cpp:1716 msgid "Related Sound File" msgstr "Zugehörige Audiodatei" #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" "Exif-Feld 40964, 0xA004. Ein \"8.3\" Dateiname für die zugehörige Sounddatei." #: src/properties.cpp:566 src/properties.cpp:1110 msgid "Date and Time Original" msgstr "Datum und Uhrzeit (Original)" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" "Exif-Feld 36867, 0x9003 (primär) und 37521, 0x9291 (Sekundenbruchteile). " "Datum und Zeit, im ISO 8601-Format, an dem das Originalbild erstellt wurde. " "Enthält die Exif-SubSecTimeOriginal Daten." #: src/properties.cpp:569 src/properties.cpp:1111 msgid "Date and Time Digitized" msgstr "Datum und Uhrzeit (Digitalisiert)" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" "Exif-Feld 36868, 0x9004 (primär) und 37522, 0x9292 (Sekundenbruchteilen). " "Datum und Zeit zu dem das Bild als digitale Daten gespeichert wurde. Der " "Wert is identisch mit DateTimeOriginal, falls das Bild im original digital " "gespeichert wurde. Gespeichert wird im ISO 8601-Format und enthält die Exif-" "SubSecTimeDigitized-Daten." #: src/properties.cpp:573 msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "Exif-Feld 33434, 0x829A. Belichtungszeit in Sekunden." #: src/properties.cpp:574 src/properties.cpp:1157 msgid "F Number" msgstr "Blende" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "Exif-Feld 33437, 0x829D. Blende." #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "" "Exif-Feld 34850, 0x8822. Klasse des Programmes das für die Belichtung " "benutzt wurde." #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 msgid "Spectral Sensitivity" msgstr "Spektrale Empfindlichkeit" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "Exif-Feld 34852, 0x8824. Spektrale Empfindlichkeit jedes Kanals." #: src/properties.cpp:577 msgid "ISOSpeedRatings" msgstr "ISO Geschwindigkeitsangabe" #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" "Exif-Feld 34855, 0x8827. Gibt die ISO Geschwindigkeit und -breite der Kamera " "bzw. des Eingabegeräts an, wie in ISO 12232 spezifiziert." #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "OECF" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" "Exif-Feld 34856, 0x8828. Verfahren zur Messung optoelektronischer Kennlinien " "wie in ISO 14524 spezifiziert." #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" "Exif-Feld 37377, 0x9201. Verschlussgeschwindigkeit. Die Einheit ist APEX. " "Siehe auch Anhang C der Exif-Spezifikation." #: src/properties.cpp:581 msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "Exif-Feld 37378, 0x9202. Linsenblende, Einheit ist APEX." #: src/properties.cpp:582 src/tags.cpp:828 msgid "Brightness Value" msgstr "Helligkeitswert" #: src/properties.cpp:582 msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "Exif-Feld 37379, 0x9203. Helligkeit, Einheit ist APEX." #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "Exif-Feld 37380, 0x9204. Belichtungsfehler, Einheit ist APEX." #: src/properties.cpp:584 src/properties.cpp:1211 msgid "Maximum Aperture Value" msgstr "Maximale Blende" #: src/properties.cpp:584 msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "Exif-Feld 37381, 0x9205. Die kleineste Blende der Linse, in APEX." #: src/properties.cpp:585 msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "Exif-Feld 37382, 0x9206. Die Entfernung zum Motiv (in Metern)." #: src/properties.cpp:586 #, fuzzy msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "Exif-Feld 37382, 0x9206. Die Entfernung zum Motiv (in Metern)." #: src/properties.cpp:587 #, fuzzy msgid "EXIF tag 37384, 0x9208. Light source." msgstr "Exif-Feld 33437, 0x829D. Blende." #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "" #: src/properties.cpp:589 #, fuzzy msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "Exif-Feld 37382, 0x9206. Die Entfernung zum Motiv (in Metern)." #: src/properties.cpp:590 src/tags.cpp:1666 msgid "Subject Area" msgstr "Motivbereich" #: src/properties.cpp:590 msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" "Exif-Feld 37396, 0x9214. Dieses Feld gibt die Position und Größe des " "Hauptmotivs in der Szene an." #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 msgid "Flash Energy" msgstr "Energie des Blitzes" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "" #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "" #: src/properties.cpp:592 #, fuzzy msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" "Exif-Feld 34855, 0x8827. Gibt die ISO Geschwindigkeit und -breite der Kamera " "bzw. des Eingabegeräts an, wie in ISO 12232 spezifiziert." #: src/properties.cpp:594 src/tags.cpp:839 msgid "Focal Plane X Resolution" msgstr "Fokusebene x-Auflösung" #: src/properties.cpp:594 #, fuzzy msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "TIFF-Feld 282, 0x11A. Horizontale Auflösung in Pixeln pro Einheit." #: src/properties.cpp:595 src/tags.cpp:840 msgid "Focal Plane Y Resolution" msgstr "Fokusebene y-Auflösung" #: src/properties.cpp:595 #, fuzzy msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "TIFF-Feld 283, 0x11B. Vertikale Auflösung in Pixeln pro Einheit." #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 msgid "Focal Plane Resolution Unit" msgstr "Einheit der Angaben der Fokusebene" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 msgid "Subject Location" msgstr "Ort des Motivs" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" #: src/properties.cpp:600 src/tags.cpp:846 msgid "Exposure Index" msgstr "Belichtungsindex" #: src/properties.cpp:600 #, fuzzy msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "" "Exif-Feld 41495, 0xA217. Gibt den Sensortyp in der Kamera bzw. Eingabegerät " "an." #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 msgid "Sensing Method" msgstr "Bildsensor" #: src/properties.cpp:601 msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "" "Exif-Feld 41495, 0xA217. Gibt den Sensortyp in der Kamera bzw. Eingabegerät " "an." #: src/properties.cpp:602 #, fuzzy msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "Exif-Feld 41996, 0xA40C gibt den Abstand zum Motiv an." #: src/properties.cpp:603 src/tags.cpp:1771 msgid "Scene Type" msgstr "Szenentyp" #: src/properties.cpp:603 #, fuzzy msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "Exif-Feld 41996, 0xA40C gibt den Abstand zum Motiv an." #: src/properties.cpp:604 src/tags.cpp:761 msgid "CFA Pattern" msgstr "CFA Pattern" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" #: src/properties.cpp:605 src/tags.cpp:1781 msgid "Custom Rendered" msgstr "Besondere Verarbeitung" #: src/properties.cpp:605 #, fuzzy msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "" "Exif-Feld 41986, 0xA402. Dieses Feld enthält den Belichtungsmodus, der zur " "Aufnahme eingestellt war." #: src/properties.cpp:606 msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "" "Exif-Feld 41986, 0xA402. Dieses Feld enthält den Belichtungsmodus, der zur " "Aufnahme eingestellt war." #: src/properties.cpp:607 msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "" "Exif-Feld 41987, 0xA403 enthält den Weißabgleichsmodus, der zur Aufnahme " "eingestellt war." #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 msgid "Digital Zoom Ratio" msgstr "Digitale Zoomrate" #: src/properties.cpp:608 msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "" "EXIF-Feld 41988, 0xA404 gibt den Grad des digitalen Zooms an mit dem das " "Bild aufgenommen wurde." #: src/properties.cpp:609 src/tags.cpp:1800 msgid "Focal Length In 35mm Film" msgstr "Brennweite in 35mm Film" #: src/properties.cpp:609 msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" "Dieses Feld gibt die äquivalente Brennweite bei angenommener 35mm Filmkamera " "an. Der Wert 0 bedeutet das die Brennweite unbekannt ist. Es unterscheidet " "sich vom Feld." #: src/properties.cpp:612 src/tags.cpp:1806 msgid "Scene Capture Type" msgstr "Szenenmodus" #: src/properties.cpp:612 #, fuzzy msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "" "Exif-Feld 41986, 0xA402. Dieses Feld enthält den Belichtungsmodus, der zur " "Aufnahme eingestellt war." #: src/properties.cpp:613 src/tags.cpp:1811 msgid "Gain Control" msgstr "Körnungskontrolle" #: src/properties.cpp:613 #, fuzzy msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "" "Exif-Feld 41986, 0xA402. Dieses Feld enthält den Belichtungsmodus, der zur " "Aufnahme eingestellt war." #: src/properties.cpp:614 msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" "Exif-Feld 41992, 0xA408 gibt die Richtung der Kontrastbearbeitung an, die " "bei der Aufnahme des Bildes angewandt wurde." #: src/properties.cpp:615 msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" "Exif-Feld 41993, 0xA409 gibt die Richtung der Sättigungsbearbeitung an, die " "bei der Aufnahme des Bildes angewandt wurde." #: src/properties.cpp:616 msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" "Exif-Feld 41994, 0xA40A gibt die Richtung der Schärfebearbeitung bei der " "Aufnahme des Bildes an." #: src/properties.cpp:617 src/tags.cpp:1826 msgid "Device Setting Description" msgstr "Beschreibung der Geräteeinstellungen" #: src/properties.cpp:617 #, fuzzy msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" "Dieses Feld enthält Informationen über die Bildaufnahmebedingungen eines " "bestimmten Kameramodells. Es wird nur zur Angabe der Bedingungen im Leser " "benutzt." #: src/properties.cpp:618 src/tags.cpp:1831 msgid "Subject Distance Range" msgstr "Motivabstand" #: src/properties.cpp:618 msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "Exif-Feld 41996, 0xA40C gibt den Abstand zum Motiv an." #: src/properties.cpp:619 src/tags.cpp:1834 msgid "Image Unique ID" msgstr "Eindeutige Bildnummer" #: src/properties.cpp:619 msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" "Exif-Feld 42016, 0xA420. Dieses Feld gibt einen eindeutigen Bild-" "Identifikator an. Er wird als ASCII-Zeichenkette in mit einer Länge von 32 " "Zeichen aufgezeichnet und hat damit in hexadezimaler Notation eine 128 Bit " "Länge." #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 msgid "GPS Version ID" msgstr "GPS Version ID" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "GPS-Breitengrad" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "" #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "GPS-Längengrad" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "" #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 msgid "GPS Altitude Reference" msgstr "GPS-Höhenreferenz" #: src/properties.cpp:625 src/properties.cpp:1168 #, fuzzy msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "GPS-Feld 6, 0x06 gibt die Höhe in Metern an." #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "GPS-Höhe" #: src/properties.cpp:626 src/properties.cpp:1167 msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "GPS-Feld 6, 0x06 gibt die Höhe in Metern an." #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 msgid "GPS Time Stamp" msgstr "GPS-Zeitstempel" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 msgid "GPS Satellites" msgstr "GPS-Satelliten" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:634 src/tags.cpp:1989 msgid "GPS Status" msgstr "GPS-Status" #: src/properties.cpp:634 #, fuzzy msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "GPS-Feld 26, 0x1A. Die Entfernung zum Objekt (in Metern)." #: src/properties.cpp:635 src/tags.cpp:1994 msgid "GPS Measure Mode" msgstr "GPS-Messungsmodus" #: src/properties.cpp:635 msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "" #: src/properties.cpp:636 msgid "GPS DOP" msgstr "" #: src/properties.cpp:636 msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "GPS-Feld 11, 0x0B. Grad der Präzision der GPS-Daten" #: src/properties.cpp:637 src/tags.cpp:2002 msgid "GPS Speed Reference" msgstr "GPS-Geschwindigkeitsreferenz" #: src/properties.cpp:637 #, fuzzy msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "GPS-Feld 26, 0x1A. Die Entfernung zum Objekt (in Metern)." #: src/properties.cpp:638 src/tags.cpp:2006 msgid "GPS Speed" msgstr "GPS-Geschwindigkeit" #: src/properties.cpp:638 #, fuzzy msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "GPS-Feld 11, 0x0B. Grad der Präzision der GPS-Daten" #: src/properties.cpp:639 msgid "GPS Track Reference" msgstr "GPS-Spurreferenz" #: src/properties.cpp:639 #, fuzzy msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "GPS-Feld 26, 0x1A. Die Entfernung zum Objekt (in Metern)." #: src/properties.cpp:640 src/tags.cpp:2013 msgid "GPS Track" msgstr "GPS-Spur" #: src/properties.cpp:640 #, fuzzy msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" "GPS-Feld 17, 0x11. Gibt die Richtung an in der das Bild gemacht wurde. Der " "Wertebereich geht von 0,00 bis 359,99." #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 #, fuzzy msgid "GPS Image Direction Reference" msgstr "GPS-Bildrichtung" #: src/properties.cpp:641 #, fuzzy msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "GPS-Feld 26, 0x1A. Die Entfernung zum Objekt (in Metern)." #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 msgid "GPS Image Direction" msgstr "GPS-Bildrichtung" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" "GPS-Feld 17, 0x11. Gibt die Richtung an in der das Bild gemacht wurde. Der " "Wertebereich geht von 0,00 bis 359,99." #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 #, fuzzy msgid "GPS Map Datum" msgstr "GPS-Status" #: src/properties.cpp:643 #, fuzzy msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "GPS-Feld 11, 0x0B. Grad der Präzision der GPS-Daten" #: src/properties.cpp:644 src/tags.cpp:2033 msgid "GPS Destination Latitude" msgstr "GPS Breitengrad des Ziels" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" #: src/properties.cpp:645 src/tags.cpp:2045 msgid "GPS Destination Longitude" msgstr "GPS Längengrad des Ziels" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" #: src/properties.cpp:646 src/tags.cpp:2052 msgid "GPS Destination Bearing Reference" msgstr "GPS Referenz zur Richtung zum Ziel" #: src/properties.cpp:646 #, fuzzy msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "GPS-Feld 26, 0x1A. Die Entfernung zum Objekt (in Metern)." #: src/properties.cpp:647 src/tags.cpp:2056 msgid "GPS Destination Bearing" msgstr "GPS Richtung zum Ziel" #: src/properties.cpp:647 #, fuzzy msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "" "GPS-Feld 17, 0x11. Gibt die Richtung an in der das Bild gemacht wurde. Der " "Wertebereich geht von 0,00 bis 359,99." #: src/properties.cpp:648 src/tags.cpp:2060 #, fuzzy msgid "GPS Destination Distance Reference" msgstr "GPS Referenz zur Entfernung des Objektes" #: src/properties.cpp:648 #, fuzzy msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "GPS-Feld 26, 0x1A. Die Entfernung zum Objekt (in Metern)." #: src/properties.cpp:649 src/tags.cpp:2064 msgid "GPS Destination Distance" msgstr "GPS Entfernung des Objekts" #: src/properties.cpp:649 msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "GPS-Feld 26, 0x1A. Die Entfernung zum Objekt (in Metern)." #: src/properties.cpp:650 src/tags.cpp:2067 msgid "GPS Processing Method" msgstr "GPS Verarbeitungsmethode" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" #: src/properties.cpp:651 src/tags.cpp:2072 msgid "GPS Area Information" msgstr "GPS Bereichsinformation" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "" #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "" #: src/properties.cpp:652 #, fuzzy msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "GPS-Feld 6, 0x06 gibt die Höhe in Metern an." #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "" #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "" "Die Seriennummer der Kamera oder des Kamerakörpers mit dem das Foto gemacht " "wurde." #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "Kontaktinfo des Erstellers" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" #: src/properties.cpp:667 msgid "Contact Info-Address" msgstr "Kontaktinfo-Adresse" #: src/properties.cpp:667 #, fuzzy msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" "Der Teil der Kontaktinformation für die Adresse. Besteht aus einem " "optionalen Firmennamen und alle benötigten Informationen um das Gebäude oder " "das Postfach zu finden, um Briefe dort hin zusenden." #: src/properties.cpp:669 msgid "Contact Info-City" msgstr "Kontaktinfo-Stadt" #: src/properties.cpp:669 #, fuzzy msgid "sub-key Creator Contact Info: city." msgstr "Kontaktinfo des Erstellers" #: src/properties.cpp:670 msgid "Contact Info-State/Province" msgstr "Kontaktinfo-Staat/Provinz" #: src/properties.cpp:670 #, fuzzy msgid "sub-key Creator Contact Info: state or province." msgstr "Kontaktinfo-Staat/Provinz" #: src/properties.cpp:671 msgid "Contact Info-Postal Code" msgstr "Kontaktinfo-Postleitzahl" #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "" #: src/properties.cpp:672 msgid "Contact Info-Country" msgstr "Kontaktinfo-Land" #: src/properties.cpp:672 #, fuzzy msgid "sub-key Creator Contact Info: country." msgstr "Kontaktinfo des Erstellers" #: src/properties.cpp:673 msgid "Contact Info-Email" msgstr "Kontaktinfo-E-Mail" #: src/properties.cpp:673 #, fuzzy msgid "sub-key Creator Contact Info: email address." msgstr "Der Teil der Kontaktinformation der die E-Mail Adresse enthält." #: src/properties.cpp:674 msgid "Contact Info-Phone" msgstr "Kontaktinfo-Telefon" #: src/properties.cpp:674 #, fuzzy msgid "sub-key Creator Contact Info: phone number." msgstr "Kontaktinfo des Erstellers" #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "Kontaktinfo-Web URL" #: src/properties.cpp:675 #, fuzzy msgid "sub-key Creator Contact Info: web address." msgstr "Kontaktinfo des Erstellers" #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" #: src/properties.cpp:678 msgid "IPTC Scene" msgstr "IPTC-Szene" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" #: src/properties.cpp:680 msgid "IPTC Subject Code" msgstr "IPTC-Motivkode" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" #: src/properties.cpp:682 msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" #: src/properties.cpp:687 msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" #: src/properties.cpp:696 #, fuzzy msgid "Additional model info" msgstr "Autofokus-Positioninformation" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "" #: src/properties.cpp:697 msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "" #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" #: src/properties.cpp:699 #, fuzzy msgid "Model age" msgstr "Modell" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "" #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "" #: src/properties.cpp:701 #, fuzzy msgid "Person shown" msgstr "Versionen" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "" #: src/properties.cpp:702 #, fuzzy msgid "Digital Image Identifier" msgstr "Digitale Bildstabilisierung" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "" #: src/properties.cpp:703 #, fuzzy msgid "The type of the source digital file." msgstr "Die Abspieldauer der Mediendatei." #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 #, fuzzy msgid "Event" msgstr "Abend" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "" #: src/properties.cpp:705 #, fuzzy msgid "Maximum available height" msgstr "Verfügbares Licht" #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:706 #, fuzzy msgid "Maximum available width" msgstr "Maximale Fokuslänge" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:707 #, fuzzy msgid "Registry Entry" msgstr "Feldeintrag" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" #: src/properties.cpp:708 #, fuzzy msgid "Registry Entry-Item Identifier" msgstr "Feldeintrag" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "" #: src/properties.cpp:710 #, fuzzy msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "Das Datum und die Uhrzeit der letzten Änderung der Metadaten." #: src/properties.cpp:711 #, fuzzy msgid "Location shown" msgstr "Ortscode" #: src/properties.cpp:711 #, fuzzy msgid "A location shown in the image." msgstr "Offset des Vorschaubildes" #: src/properties.cpp:712 #, fuzzy msgid "Location Created" msgstr "Ortscode" #: src/properties.cpp:712 #, fuzzy msgid "The location the photo was taken." msgstr "Der Name der Aufnahme." #: src/properties.cpp:713 #, fuzzy msgid "Location-City" msgstr "Ort" #: src/properties.cpp:713 #, fuzzy msgid "Name of the city of a location." msgstr "Der Name des Künstlers bzw. der Künstler." #: src/properties.cpp:714 #, fuzzy msgid "Location-Country ISO-Code" msgstr "Ortscode" #: src/properties.cpp:714 #, fuzzy msgid "The ISO code of a country of a location." msgstr "Der Name der Aufnahme." #: src/properties.cpp:715 #, fuzzy msgid "Location-Country Name" msgstr "Ortsname" #: src/properties.cpp:715 #, fuzzy msgid "The name of a country of a location." msgstr "Der Name der Aufnahme." #: src/properties.cpp:716 #, fuzzy msgid "Location-Province/State" msgstr "Provinz/Staat" #: src/properties.cpp:716 #, fuzzy msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "Der Name der Aufnahme." #: src/properties.cpp:717 #, fuzzy msgid "Location-Sublocation" msgstr "Genauer Ort" #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" #: src/properties.cpp:718 #, fuzzy msgid "Location-World Region" msgstr "Ortscode" #: src/properties.cpp:718 #, fuzzy msgid "The name of a world region of a location." msgstr "Der Name der Aufnahme." #: src/properties.cpp:719 #, fuzzy msgid "Artwork or object in the image" msgstr "Eine Referenz zu dem Projekt das diese Datei erstellt hat." #: src/properties.cpp:719 #, fuzzy msgid "A set of metadata about artwork or an object in the image." msgstr "Eine Referenz zu dem Projekt das diese Datei erstellt hat." #: src/properties.cpp:720 #, fuzzy msgid "Artwork or object-Copyright notice" msgstr "Copyright-Notiz" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" #: src/properties.cpp:721 #, fuzzy msgid "Artwork or object-Creator" msgstr "Copyright-Notiz" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" #: src/properties.cpp:722 #, fuzzy msgid "Artwork or object-Date Created" msgstr "Copyright-Notiz" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" #: src/properties.cpp:723 #, fuzzy msgid "Artwork or object-Source" msgstr "Copyright-Notiz" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" #: src/properties.cpp:724 #, fuzzy msgid "Artwork or object-Source inventory number" msgstr "Copyright-Notiz" #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" #: src/properties.cpp:725 #, fuzzy msgid "Artwork or object-Title" msgstr "Copyright-Notiz" #: src/properties.cpp:725 #, fuzzy msgid "A reference for the artwork or object in the image." msgstr "Eine Referenz zu dem Projekt das diese Datei erstellt hat." #: src/properties.cpp:732 msgid "Scan from film" msgstr "" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "" #: src/properties.cpp:734 msgid "Scan from print" msgstr "" #: src/properties.cpp:735 #, fuzzy msgid "Camera RAW" msgstr "Kamera ID" #: src/properties.cpp:736 #, fuzzy msgid "Camera TIFF" msgstr "Kamera ID" #: src/properties.cpp:737 #, fuzzy msgid "Camera JPEG" msgstr "Kamera ID" #: src/properties.cpp:742 #, fuzzy msgid "PLUS Version" msgstr "PDF-Version" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "" #: src/properties.cpp:743 #, fuzzy msgid "Licensee" msgstr "Linse" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "" #: src/properties.cpp:744 #, fuzzy msgid "Licensee ID" msgstr "Linsen-ID" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "" #: src/properties.cpp:745 #, fuzzy msgid "Licensee Name" msgstr "Ortsname" #: src/properties.cpp:745 #, fuzzy msgid "Name of each Licensee." msgstr "Der Name der Szene." #: src/properties.cpp:746 #, fuzzy msgid "End User" msgstr "Erweiterung" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "" #: src/properties.cpp:747 #, fuzzy msgid "End User ID" msgstr "Erweiterung" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "" #: src/properties.cpp:748 #, fuzzy msgid "End User Name" msgstr "Besitzername" #: src/properties.cpp:748 #, fuzzy msgid "Name of each End User." msgstr "Der Name der Szene." #: src/properties.cpp:749 #, fuzzy msgid "Licensor" msgstr "Linse" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "" #: src/properties.cpp:750 #, fuzzy msgid "Licensor ID" msgstr "Linsen-ID" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "" #: src/properties.cpp:751 #, fuzzy msgid "Licensor Name" msgstr "Ortsname" #: src/properties.cpp:751 #, fuzzy msgid "Name of each Licensor." msgstr "Der Name der Szene." #: src/properties.cpp:752 #, fuzzy msgid "Licensor Address" msgstr "Linseneigenschaften" #: src/properties.cpp:752 #, fuzzy msgid "Licensor street address." msgstr "Ländername" #: src/properties.cpp:753 #, fuzzy msgid "Licensor Address Detail" msgstr "Kontaktinfo-Postleitzahl" #: src/properties.cpp:753 #, fuzzy msgid "Additional Licensor mailing address details." msgstr "Autofokus-Positioninformation" #: src/properties.cpp:754 #, fuzzy msgid "Licensor City" msgstr "Mexico Stadt" #: src/properties.cpp:754 #, fuzzy msgid "Licensor City name." msgstr "Ländername" #: src/properties.cpp:755 #, fuzzy msgid "Licensor State or Province" msgstr "Staat/Provinz" #: src/properties.cpp:755 #, fuzzy msgid "Licensor State or Province name." msgstr "Staat/Provinz" #: src/properties.cpp:756 #, fuzzy msgid "Licensor Postal Code" msgstr "Kontaktinfo-Postleitzahl" #: src/properties.cpp:756 #, fuzzy msgid "Licensor Postal Code or Zip Code." msgstr "Kontaktinfo-Postleitzahl" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country" msgstr "Land" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country name." msgstr "Ländername" #: src/properties.cpp:758 #, fuzzy msgid "Licensor Telephone Type 1" msgstr "Linsen-Seriennummer" #: src/properties.cpp:758 #, fuzzy msgid "Licensor Telephone Type 1." msgstr "Linsen-Seriennummer" #: src/properties.cpp:759 #, fuzzy msgid "Licensor Telephone 1" msgstr "Linsen-Seriennummer" #: src/properties.cpp:759 #, fuzzy msgid "Licensor Telephone number 1." msgstr "Linsen-Seriennummer" #: src/properties.cpp:760 #, fuzzy msgid "Licensor Telephone Type 2" msgstr "Linsen-Seriennummer" #: src/properties.cpp:760 #, fuzzy msgid "Licensor Telephone Type 2." msgstr "Linsen-Seriennummer" #: src/properties.cpp:761 #, fuzzy msgid "Licensor Telephone 2" msgstr "Linsen-Seriennummer" #: src/properties.cpp:761 #, fuzzy msgid "Licensor Telephone number 2." msgstr "Linsen-Seriennummer" #: src/properties.cpp:762 #, fuzzy msgid "Licensor Email" msgstr "Ortsname" #: src/properties.cpp:762 #, fuzzy msgid "Licensor Email address." msgstr "Kontaktinfo-Postleitzahl" #: src/properties.cpp:763 #, fuzzy msgid "Licensor URL" msgstr "Letzte Adresse" #: src/properties.cpp:763 msgid "Licensor world wide web address." msgstr "" #: src/properties.cpp:764 #, fuzzy msgid "Licensor Notes" msgstr "Linseneigenschaften" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" #: src/properties.cpp:765 #, fuzzy msgid "PLUS Media Summary Code" msgstr "GPS-Messungsmodus" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" #: src/properties.cpp:766 #, fuzzy msgid "License Start Date" msgstr "Szenenerkennungsdaten" #: src/properties.cpp:766 #, fuzzy msgid "The date on which the license takes effect." msgstr "Das Datum und die Uhrzeit an dem das Video aufgenommen wurde." #: src/properties.cpp:767 #, fuzzy msgid "License End Date" msgstr "Linsendaten" #: src/properties.cpp:767 #, fuzzy msgid "The date on which the license expires." msgstr "Der Name der Szene." #: src/properties.cpp:768 #, fuzzy msgid "Media Constraints" msgstr "Kontrast" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" #: src/properties.cpp:769 #, fuzzy msgid "Region Constraints" msgstr "Kontrast" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" #: src/properties.cpp:770 #, fuzzy msgid "Product or Service Constraints" msgstr "Autokontrast" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" #: src/properties.cpp:771 #, fuzzy msgid "Image File Constraints" msgstr "Bildgröße-Einstellungen" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "" #: src/properties.cpp:772 #, fuzzy msgid "Image Alteration Constraints" msgstr "Bildqualitätseinstellungen" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" #: src/properties.cpp:773 #, fuzzy msgid "Image Duplication Constraints" msgstr "Bildqualitätseinstellungen" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "" #: src/properties.cpp:774 #, fuzzy msgid "Model Release Status" msgstr "Freigabedatum" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" #: src/properties.cpp:775 #, fuzzy msgid "Model Release ID" msgstr "Modell-ID" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "" #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "" #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "" #: src/properties.cpp:777 #, fuzzy msgid "Property Release Status" msgstr "Freigabedatum" #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" #: src/properties.cpp:778 #, fuzzy msgid "Property Release ID" msgstr "Modell-ID" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "" #: src/properties.cpp:779 #, fuzzy msgid "Other Constraints" msgstr "Autokontrast" #: src/properties.cpp:779 #, fuzzy msgid "Additional constraints on the license." msgstr "Zusätzliche Parameter für den Stretchmodus des Taktverbundes." #: src/properties.cpp:780 #, fuzzy msgid "Credit Line Required" msgstr "Nicht benutzt" #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "" #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "" #: src/properties.cpp:782 #, fuzzy msgid "Other License Requirements" msgstr "Linseninformation" #: src/properties.cpp:782 #, fuzzy msgid "Additional license requirements." msgstr "Autofokus-Positioninformation" #: src/properties.cpp:783 #, fuzzy msgid "Terms and Conditions Text" msgstr "Aufnahmebedingungen" #: src/properties.cpp:783 #, fuzzy msgid "Terms and Conditions applying to the license." msgstr "Zusätzliche Parameter für den Stretchmodus des Taktverbundes." #: src/properties.cpp:784 #, fuzzy msgid "Terms and Conditions URL" msgstr "Aufnahmebedingungen" #: src/properties.cpp:784 msgid "URL for Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:785 #, fuzzy msgid "Other License Conditions" msgstr "Aufnahmebedingungen" #: src/properties.cpp:785 #, fuzzy msgid "Additional license conditions." msgstr "Autofokus-Positioninformation" #: src/properties.cpp:786 #, fuzzy msgid "Identifies the type of image delivered." msgstr "Identifiziert den Anbieter und das Produkt" #: src/properties.cpp:787 #, fuzzy msgid "Licensor Image ID" msgstr "Linsen-ID" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "" #: src/properties.cpp:788 #, fuzzy msgid "Image File Name As Delivered" msgstr "Zugehöriges Bilddateiformat" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "" #: src/properties.cpp:789 #, fuzzy msgid "Image File Format As Delivered" msgstr "Zugehöriges Bilddateiformat" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "" #: src/properties.cpp:790 #, fuzzy msgid "Image File Size As Delivered" msgstr "Zugehöriges Bilddateiformat" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "" #: src/properties.cpp:791 #, fuzzy msgid "Copyright Status" msgstr "Copyright" #: src/properties.cpp:791 #, fuzzy msgid "Copyright status of the image." msgstr "Copyright-Notiz" #: src/properties.cpp:792 #, fuzzy msgid "Copyright Registration Number" msgstr "Besitzername" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" #: src/properties.cpp:793 #, fuzzy msgid "First Publication Date" msgstr "Digitalisierungsdatum" #: src/properties.cpp:793 #, fuzzy msgid "The date on which the image was first published." msgstr "Das Datum andem der Titel veröffentlicht wurde." #: src/properties.cpp:794 #, fuzzy msgid "Copyright Owner" msgstr "Copyright" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "" #: src/properties.cpp:795 #, fuzzy msgid "Copyright Owner ID" msgstr "Copyright" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "" #: src/properties.cpp:796 #, fuzzy msgid "Copyright Owner Name" msgstr "Besitzername" #: src/properties.cpp:796 #, fuzzy msgid "Name of Copyright Owner." msgstr "Copyright" #: src/properties.cpp:797 #, fuzzy msgid "Copyright Owner Image ID" msgstr "Copyright" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "" #: src/properties.cpp:798 #, fuzzy msgid "Image Creator" msgstr "Bild-Orientierung" #: src/properties.cpp:798 #, fuzzy msgid "Creator/s of the image." msgstr "Offset des Vorschaubildes" #: src/properties.cpp:799 #, fuzzy msgid "Image Creator ID" msgstr "Bild-Orientierung" #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "" #: src/properties.cpp:800 #, fuzzy msgid "Image Creator Name" msgstr "Bildton" #: src/properties.cpp:800 #, fuzzy msgid "Name of Image Creator." msgstr "Rohbild-Center" #: src/properties.cpp:801 #, fuzzy msgid "Image Creator Image ID" msgstr "Bild-Orientierung" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "" #: src/properties.cpp:802 #, fuzzy msgid "Image Supplier ID" msgstr "Eindeutige Bildnummer" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "" #: src/properties.cpp:803 #, fuzzy msgid "Image Supplier Name" msgstr "Bildgröße" #: src/properties.cpp:803 #, fuzzy msgid "Name of Image Supplier." msgstr "Rohbild-Center" #: src/properties.cpp:804 #, fuzzy msgid "Image Supplier Image ID" msgstr "Eindeutige Bildnummer" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "" #: src/properties.cpp:805 #, fuzzy msgid "Licensee Image ID" msgstr "Bildanzahl löschen" #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "" #: src/properties.cpp:806 #, fuzzy msgid "Licensee Image Notes" msgstr "Bildanzahl löschen" #: src/properties.cpp:806 #, fuzzy msgid "Notes added by Licensee." msgstr "Der Name der Szene." #: src/properties.cpp:807 #, fuzzy msgid "Other Image Info" msgstr "Linseninformation" #: src/properties.cpp:807 #, fuzzy msgid "Additional image information." msgstr "Autofokus-Positioninformation" #: src/properties.cpp:808 #, fuzzy msgid "License ID" msgstr "Linsen-ID" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "" #: src/properties.cpp:809 #, fuzzy msgid "Licensor Transaction ID" msgstr "Verfalldatum" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "" #: src/properties.cpp:810 #, fuzzy msgid "Licensee Transaction ID" msgstr "Verfalldatum" #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" #: src/properties.cpp:811 #, fuzzy msgid "Licensee Project Reference" msgstr "Projektreferenz" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "" #: src/properties.cpp:812 #, fuzzy msgid "License Transaction Date" msgstr "Verfalldatum" #: src/properties.cpp:812 #, fuzzy msgid "The date of the License Transaction." msgstr "Der Name der Szene." #: src/properties.cpp:813 #, fuzzy msgid "Reuse" msgstr "benutzt" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" #: src/properties.cpp:814 #, fuzzy msgid "Other License Documents" msgstr "Aufnahmebedingungen" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "" #: src/properties.cpp:815 #, fuzzy msgid "Other License Info" msgstr "Linseninformation" #: src/properties.cpp:815 #, fuzzy msgid "Additional license information." msgstr "Autofokus-Positioninformation" #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "" #: src/properties.cpp:819 #, fuzzy msgid "Custom 4" msgstr "Benutzerdefiniert 1" #: src/properties.cpp:820 #, fuzzy msgid "Custom 5" msgstr "Benutzerdefiniert 1" #: src/properties.cpp:821 #, fuzzy msgid "Custom 6" msgstr "Benutzerdefiniert 1" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "" #: src/properties.cpp:822 #, fuzzy msgid "Custom 7" msgstr "Benutzerdefiniert 1" #: src/properties.cpp:823 #, fuzzy msgid "Custom 8" msgstr "Benutzerdefiniert 1" #: src/properties.cpp:824 #, fuzzy msgid "Custom 9" msgstr "Benutzerdefiniert 1" #: src/properties.cpp:825 #, fuzzy msgid "Custom 10" msgstr "Benutzerdefiniert 1" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "" #: src/properties.cpp:833 #, fuzzy msgid "Not Required" msgstr "Nicht benutzt" #: src/properties.cpp:839 #, fuzzy msgid "Protected" msgstr "Produkt-ID" #: src/properties.cpp:840 #, fuzzy msgid "Public Domain" msgstr "Nach unten ziehen" #: src/properties.cpp:846 #, fuzzy msgid "Credit Adjacent To Image" msgstr "Bildvorschau gültig" #: src/properties.cpp:847 msgid "Credit in Credits Area" msgstr "" #: src/properties.cpp:848 #, fuzzy msgid "Credit on Image" msgstr "Bildvorschau gültig" #: src/properties.cpp:849 #, fuzzy msgid "Not Require" msgstr "Undefiniert" #: src/properties.cpp:854 #, fuzzy msgid "No Colorization" msgstr "Solarisation" #: src/properties.cpp:855 msgid "No Cropping" msgstr "" #: src/properties.cpp:856 #, fuzzy msgid "No De-Colorization" msgstr "Solarisation" #: src/properties.cpp:857 msgid "No Flipping" msgstr "" #: src/properties.cpp:858 #, fuzzy msgid "No Merging" msgstr "Rauschunterdrückung" #: src/properties.cpp:859 #, fuzzy msgid "No Retouching" msgstr "Rauschunterdrückung" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "" #: src/properties.cpp:865 #, fuzzy msgid "No Duplication Constraints" msgstr "Bildqualitätseinstellungen" #: src/properties.cpp:866 #, fuzzy msgid "No Duplication" msgstr "Audiodauer" #: src/properties.cpp:871 #, fuzzy msgid "Maintain File Name" msgstr "Rohdateiname" #: src/properties.cpp:872 #, fuzzy msgid "Maintain File Type" msgstr "Rohdateiname" #: src/properties.cpp:873 #, fuzzy msgid "Maintain ID in File Name" msgstr "Originaler Rohdateiname" #: src/properties.cpp:874 #, fuzzy msgid "Maintain Metadata" msgstr "Minolta Datum" #: src/properties.cpp:879 #, fuzzy msgid "Windows Bitmap (BMP)" msgstr "Windows-Titel" #: src/properties.cpp:880 msgid "Digital Negative (DNG)" msgstr "" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "" #: src/properties.cpp:882 #, fuzzy msgid "Graphics Interchange Format (GIF)" msgstr "JPEG Interchange Format" #: src/properties.cpp:883 #, fuzzy msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "JPEG Interchange Format" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "" #: src/properties.cpp:889 #, fuzzy msgid "Tagged Image File Format (TIFF)" msgstr "Zugehöriges Bilddateiformat" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "" #: src/properties.cpp:896 #, fuzzy msgid "Up to 1 MB" msgstr "Optio A10" #: src/properties.cpp:897 #, fuzzy msgid "Up to 10 MB" msgstr "Optio A10" #: src/properties.cpp:898 #, fuzzy msgid "Up to 30 MB" msgstr "Optio 30" #: src/properties.cpp:899 #, fuzzy msgid "Up to 50 MB" msgstr "Optio S50" #: src/properties.cpp:904 #, fuzzy msgid "Illustrated Image" msgstr "Zugehörige Bildbreite" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "" #: src/properties.cpp:913 #, fuzzy msgid "Cell" msgstr "Gelb" #: src/properties.cpp:914 msgid "FAX" msgstr "" #: src/properties.cpp:916 #, fuzzy msgid "Pager" msgstr "Verwalter" #: src/properties.cpp:917 msgid "Work" msgstr "" #: src/properties.cpp:922 #, fuzzy msgid "Age Unknown" msgstr "Unbekannt" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "" #: src/properties.cpp:924 msgid "Age 24" msgstr "" #: src/properties.cpp:925 msgid "Age 23" msgstr "" #: src/properties.cpp:926 msgid "Age 22" msgstr "" #: src/properties.cpp:927 msgid "Age 21" msgstr "" #: src/properties.cpp:928 msgid "Age 20" msgstr "" #: src/properties.cpp:929 msgid "Age 19" msgstr "" #: src/properties.cpp:930 msgid "Age 18" msgstr "" #: src/properties.cpp:931 msgid "Age 17" msgstr "" #: src/properties.cpp:932 msgid "Age 16" msgstr "" #: src/properties.cpp:933 msgid "Age 15" msgstr "" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "" #: src/properties.cpp:941 #, fuzzy msgid "Unlimited Model Releases" msgstr "Modell-ID" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "" #: src/properties.cpp:949 msgid "Unlimited Property Releases" msgstr "" #: src/properties.cpp:950 msgid "Limited or Incomplete Property Releases" msgstr "" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "" #: src/properties.cpp:960 src/properties.cpp:969 #, fuzzy msgid "Fixture Identification" msgstr "Modellidentifikation" #: src/properties.cpp:961 src/properties.cpp:970 #, fuzzy msgid "Status" msgstr "GPS-Status" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "" #: src/properties.cpp:962 src/properties.cpp:971 #, fuzzy msgid "People" msgstr "Lila" #: src/properties.cpp:963 src/properties.cpp:972 #, fuzzy msgid "Catalog Sets" msgstr "Intervallnummer" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "" #: src/properties.cpp:978 #, fuzzy msgid "RegionInfo" msgstr "Linseninformation" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "" #: src/properties.cpp:984 src/properties.cpp:1000 #, fuzzy msgid "Regions" msgstr "Versionen" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "" #: src/properties.cpp:985 #, fuzzy msgid "Date Regions Valid" msgstr "Datum und Uhrzeit (Original)" #: src/properties.cpp:985 #, fuzzy msgid "Date the last region was created" msgstr "Das Datum andem der Titel veröffentlicht wurde." #: src/properties.cpp:991 #, fuzzy msgid "Person Display Name" msgstr "Druckstocknamen" #: src/properties.cpp:991 msgid "Name of the person (in the given rectangle)" msgstr "" #: src/properties.cpp:992 msgid "Rectangle" msgstr "" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "" #: src/properties.cpp:993 #, fuzzy msgid "Person Email Digest" msgstr "Originaler Rohdateiname" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "" #: src/properties.cpp:994 msgid "Person LiveId CID" msgstr "" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "" #: src/properties.cpp:1001 #, fuzzy msgid "Applied To Dimensions" msgstr "Pixel X-Dimension" #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "" #: src/properties.cpp:1002 #, fuzzy msgid "Region List" msgstr "Versionen" #: src/properties.cpp:1002 #, fuzzy msgid "List of Region structures" msgstr "Versionsstruktur" #: src/properties.cpp:1003 #, fuzzy msgid "Area" msgstr "Autofokus-Bereiche" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" #: src/properties.cpp:1007 #, fuzzy msgid "Focus Usage" msgstr "Fokusbereich" #: src/properties.cpp:1008 #, fuzzy msgid "Bar Code Value" msgstr "Automatischer Erfassungsschritt" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "" #: src/properties.cpp:1009 #, fuzzy msgid "Extensions" msgstr "Versionen" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "" #: src/properties.cpp:1015 msgid "Main structure containing keyword based information" msgstr "" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "" #: src/properties.cpp:1016 #, fuzzy msgid "List of root keyword structures" msgstr "Versionsstruktur" #: src/properties.cpp:1017 #, fuzzy msgid "Keyword" msgstr "Schlüsselbegriffe" #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "" #: src/properties.cpp:1018 msgid "Applied" msgstr "" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" #: src/properties.cpp:1019 #, fuzzy msgid "List of children keyword structures" msgstr "Versionsstruktur" #: src/properties.cpp:1026 #, fuzzy msgid "Use Panorama Viewer" msgstr "Panorama-Modus" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" #: src/properties.cpp:1027 #, fuzzy msgid "Capture Software" msgstr "Eingelesene Daten" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" #: src/properties.cpp:1028 #, fuzzy msgid "Stitching Software" msgstr "Verarbeitungssoftware" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" #: src/properties.cpp:1029 #, fuzzy msgid "Projection Type" msgstr "Motivtyp" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "" #: src/properties.cpp:1034 #, fuzzy msgid "The pitch angle of the initial view in degrees." msgstr "Die Entfernung zum Motiv (in Metern)." #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" #: src/properties.cpp:1037 #, fuzzy msgid "First Photo Date" msgstr "Digitalisierungsdatum" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "" #: src/properties.cpp:1038 #, fuzzy msgid "Last Photo Date" msgstr "Aufnahmedatum" #: src/properties.cpp:1038 #, fuzzy msgid "Date and time for the last image created in the panorama." msgstr "Das Datum und die Uhrzeit der letzten Änderung der Metadaten." #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "" #: src/properties.cpp:1040 #, fuzzy msgid "Exposure Lock Used" msgstr "Belichtungsmodus" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" #: src/properties.cpp:1041 #, fuzzy msgid "Cropped Area Image Width Pixels" msgstr "Bildbreite" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" #: src/properties.cpp:1042 #, fuzzy msgid "Cropped Area Image Height Pixels" msgstr "Bildhöhe" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" #: src/properties.cpp:1047 #, fuzzy msgid "Initial Camera Dolly" msgstr "Eindeutiges Kameramodell" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" #: src/properties.cpp:1055 #, fuzzy msgid "Archival Location" msgstr "Aufnahmeort" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "" #: src/properties.cpp:1056 #, fuzzy msgid "Arranger" msgstr "Orange" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "" #: src/properties.cpp:1057 #, fuzzy msgid "Arranger Keywords" msgstr "Schlüsselbegriffe" #: src/properties.cpp:1057 msgid "Information about the Arranger Keywords." msgstr "" #: src/properties.cpp:1059 #, fuzzy msgid "Video Aspect Ratio" msgstr "Video-Pixelverhältnis" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "" #: src/properties.cpp:1060 #, fuzzy msgid "Video Aspect Ratio Type" msgstr "Video-Pixelverhältnis" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "" #: src/properties.cpp:1062 #, fuzzy msgid "Attached File Description" msgstr "Bildbeschreibung" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "" #: src/properties.cpp:1064 #, fuzzy msgid "Attached File Name" msgstr "Rohdateiname" #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "" #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" #: src/properties.cpp:1068 #, fuzzy msgid "Brightness setting." msgstr "Schärfeneinstellung" #: src/properties.cpp:1069 #, fuzzy msgid "Camera Byte Order" msgstr "Füllreihenfolge" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "" #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "" #: src/properties.cpp:1070 #, fuzzy msgid "The video Cinematographer information." msgstr "Die urheberrechtliche Information." #: src/properties.cpp:1071 #, fuzzy msgid "Clean Aperture Width" msgstr "Minimale Blende" #: src/properties.cpp:1071 #, fuzzy msgid "Clean aperture width in pixels" msgstr "Maximale Blende bei minimalem Fokus" #: src/properties.cpp:1072 #, fuzzy msgid "Clean Aperture Height" msgstr "Autofokus-Modus" #: src/properties.cpp:1072 #, fuzzy msgid "Clean aperture height in pixels" msgstr "Maximale Blende bei minimalem Fokus" #: src/properties.cpp:1073 #, fuzzy msgid "Video Codec" msgstr "Videokompression" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" #: src/properties.cpp:1074 msgid "Video Codec Decode Info" msgstr "" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1075 #, fuzzy msgid "Video Codec Description" msgstr "Beschreibung der Geräteeinstellungen" #: src/properties.cpp:1075 src/properties.cpp:1403 #, fuzzy msgid "Contains description the codec." msgstr "Eine textuelle Beschreibung der Objektdaten." #: src/properties.cpp:1076 #, fuzzy msgid "Video Codec Information" msgstr "Bildkonfiguration" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL" msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL." msgstr "" #: src/properties.cpp:1078 #, fuzzy msgid "Video Codec Settings" msgstr "Antriebsmodus-Einstellungen" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1083 #, fuzzy msgid "Comment" msgstr "Protokollkommentar" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned" msgstr "Kompression" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned." msgstr "Kompression" #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1086 msgid "Information about the Composer." msgstr "" #: src/properties.cpp:1087 #, fuzzy msgid "Composer Keywords" msgstr "Windows-Schlüsselbegriffe" #: src/properties.cpp:1087 msgid "Information about the Composer Keywords." msgstr "" #: src/properties.cpp:1088 #, fuzzy msgid "Compressor" msgstr "Kompression" #: src/properties.cpp:1088 #, fuzzy msgid "Video Compression Library Used" msgstr "Videokompression" #: src/properties.cpp:1089 #, fuzzy msgid "Video Compressor ID" msgstr "Videokompression" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "" #: src/properties.cpp:1090 #, fuzzy msgid "Compressor Version" msgstr "Kompression" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "" #: src/properties.cpp:1091 #, fuzzy msgid "Container Type" msgstr "Kameratyp" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "" #: src/properties.cpp:1092 #, fuzzy msgid "Content Compression Algorithm" msgstr "Kompressionsrate" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "" #: src/properties.cpp:1097 #, fuzzy msgid "Indicates the direction of contrast processing applied by the camera." msgstr "" "Exif-Feld 41992, 0xA408 gibt die Richtung der Kontrastbearbeitung an, die " "bei der Aufnahme des Bildes angewandt wurde." #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "" #: src/properties.cpp:1100 #, fuzzy msgid "Name of the country where the video was created." msgstr "Der Name des Dokuments von dem das Bild eingelesen wurde." #: src/properties.cpp:1101 #, fuzzy msgid "Creation Date" msgstr "Erstellungsdatum" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" #: src/properties.cpp:1103 #, fuzzy msgid "Pixel Crop Bottom" msgstr "Unten zuschneiden" #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "" #: src/properties.cpp:1104 #, fuzzy msgid "Pixel Crop Left" msgstr "Links zuschneiden" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "" #: src/properties.cpp:1105 #, fuzzy msgid "Pixel Crop Right" msgstr "Rechts zuschneiden" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "" #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "" #: src/properties.cpp:1107 #, fuzzy msgid "Pixel Crop Top" msgstr "Oben zuschneiden" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "" #: src/properties.cpp:1108 #, fuzzy msgid "Current Time" msgstr "Aktuelles ICC-Profil" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "" #: src/properties.cpp:1109 #, fuzzy msgid "Data Packets" msgstr "Datenbereich" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "" #: src/properties.cpp:1110 #, fuzzy msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "Das Datum und die Uhrzeit der letzten Änderung der Metadaten." #: src/properties.cpp:1111 #, fuzzy msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" "Exif-Feld 36868, 0x9004 (primär) und 37522, 0x9292 (Sekundenbruchteilen). " "Datum und Zeit zu dem das Bild als digitale Daten gespeichert wurde. Der " "Wert is identisch mit DateTimeOriginal, falls das Bild im original digital " "gespeichert wurde. Gespeichert wird im ISO 8601-Format und enthält die Exif-" "SubSecTimeDigitized-Daten." #: src/properties.cpp:1113 #, fuzzy msgid "Date-Time Original" msgstr "Datum und Uhrzeit (Original)" #: src/properties.cpp:1113 #, fuzzy msgid "Contains the production date" msgstr "Farbrauschunterdrückung" #: src/properties.cpp:1114 msgid "Video Track Default On" msgstr "" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1115 #, fuzzy msgid "Indicates the digital zoom ratio when the video was shot." msgstr "" "EXIF-Feld 41988, 0xA404 gibt den Grad des digitalen Zooms an mit dem das " "Bild aufgenommen wurde." #: src/properties.cpp:1116 #, fuzzy msgid "Dimensions" msgstr "Versionen" #: src/properties.cpp:1116 msgid "Information about the Dimensions of the video frame." msgstr "" #: src/properties.cpp:1117 #, fuzzy msgid "Director" msgstr "Direkt" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "" #: src/properties.cpp:1118 #, fuzzy msgid "Video Display Unit" msgstr "Eingeblendetes Display" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1120 #, fuzzy msgid "Doc Type" msgstr "Fokustyp" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" #: src/properties.cpp:1121 #, fuzzy msgid "Doc Type Read Version" msgstr "Datensatzversion" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" #: src/properties.cpp:1122 #, fuzzy msgid "Doc Type Version" msgstr "Modellversion" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "" #: src/properties.cpp:1124 #, fuzzy msgid "The duration of the media file. Measured in milli-seconds." msgstr "Die Abspieldauer der Mediendatei." #: src/properties.cpp:1125 #, fuzzy msgid "EBML Read Version" msgstr "Datensatzversion" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "" #: src/properties.cpp:1126 #, fuzzy msgid "EBML Version" msgstr "ARM-Version" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "" #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "" #: src/properties.cpp:1136 msgid "Edited By" msgstr "" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1137 #, fuzzy msgid "Video Track Enabled" msgstr "Video-Bildrate" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels width in pixels" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "" #: src/properties.cpp:1141 msgid "Encoder" msgstr "" #: src/properties.cpp:1141 msgid "Information about the Encoder." msgstr "" #: src/properties.cpp:1142 #, fuzzy msgid "End Timecode" msgstr "Alternativer Zeitstempel" #: src/properties.cpp:1143 msgid "Engineer, in most cases name of person." msgstr "" #: src/properties.cpp:1144 #, fuzzy msgid "Equipment" msgstr "Ausrüstungsinfo" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "" #: src/properties.cpp:1145 #, fuzzy msgid "Exposure Compensation Information." msgstr "Belichtungskompensierung" #: src/properties.cpp:1146 #, fuzzy msgid "Exposure Program Information." msgstr "Belichtungsprogramm" #: src/properties.cpp:1147 #, fuzzy msgid "Exposure time in seconds." msgstr "Belichtungszeit in Sekunden." #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description" msgstr "Beschreibung der Geräteeinstellungen" #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description, usually found in ASF type files." msgstr "Beschreibung der Geräteeinstellungen" #: src/properties.cpp:1150 #, fuzzy msgid "File ID" msgstr "Datei" #: src/properties.cpp:1150 #, fuzzy msgid "File ID." msgstr "Datei" #: src/properties.cpp:1151 #, fuzzy msgid "File Length" msgstr "Kachellänge" #: src/properties.cpp:1151 #, fuzzy msgid "File length." msgstr "Kachellänge" #: src/properties.cpp:1152 #, fuzzy msgid "File Name" msgstr "Dateiname" #: src/properties.cpp:1152 msgid "File Name or Absolute File Path" msgstr "" #: src/properties.cpp:1153 #, fuzzy msgid "File Size" msgstr "Dateigröße" #: src/properties.cpp:1153 #, fuzzy msgid "File Size, in MB" msgstr "Dateigröße" #: src/properties.cpp:1154 #, fuzzy msgid "File Type" msgstr "Neuer Unterdateityp" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "" #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "" #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "" #: src/properties.cpp:1158 #, fuzzy msgid "Focal length of the lens, in millimeters." msgstr "Exif-Feld 37382, 0x9206. Die Entfernung zum Motiv (in Metern)." #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "" #: src/properties.cpp:1161 #, fuzzy msgid "Frame Count" msgstr "Bildanzahl" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "" #: src/properties.cpp:1162 #, fuzzy msgid "Frame Height" msgstr "Autofokus-Modus" #: src/properties.cpp:1162 msgid "Height of frames in a video" msgstr "" #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" #: src/properties.cpp:1165 #, fuzzy msgid "Frame Width" msgstr "Autofokus-Modus" #: src/properties.cpp:1165 msgid "Width of frames in a video" msgstr "" #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "" #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "" #: src/properties.cpp:1171 #, fuzzy msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "" "GPS-Feld 17, 0x11. Gibt die Richtung an in der das Bild gemacht wurde. Der " "Wertebereich geht von 0,00 bis 359,99." #: src/properties.cpp:1172 #, fuzzy msgid "Reference for image direction." msgstr "GPS-Feld 26, 0x1A. Die Entfernung zum Objekt (in Metern)." #: src/properties.cpp:1173 msgid "(North/South). Indicates latitude." msgstr "" #: src/properties.cpp:1174 msgid "(East/West). Indicates longitude." msgstr "" #: src/properties.cpp:1175 #, fuzzy msgid "Geodetic survey data." msgstr "GPS-Feld 11, 0x0B. Grad der Präzision der GPS-Daten" #: src/properties.cpp:1176 msgid "Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:1177 #, fuzzy msgid "Time stamp of GPS data, " msgstr "Zeitstempel des Metadatums mit Schlüssel" #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "" #: src/properties.cpp:1179 #, fuzzy msgid "Graphics Mode" msgstr "Einfacher Modus" #: src/properties.cpp:1179 msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" #: src/properties.cpp:1181 msgid "Grouping" msgstr "" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 #, fuzzy msgid "Handler Description" msgstr "Bildbeschreibung" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 #, fuzzy msgid "Handler Type" msgstr "Skalierungstyp" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Handler Vendor ID" msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 #, fuzzy msgid "Component manufacturer." msgstr "Linsen-Hersteller." #: src/properties.cpp:1186 #, fuzzy msgid "Video Height" msgstr "Sensorenreinigung" #: src/properties.cpp:1186 src/properties.cpp:1309 msgid "Video height in pixels" msgstr "" #: src/properties.cpp:1187 #, fuzzy msgid "Hue Adjustment Settings Information." msgstr "Bildanpassung-Einstellung" #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "" #: src/properties.cpp:1189 msgid "Information Banner Image." msgstr "" #: src/properties.cpp:1190 #, fuzzy msgid "Info Banner URL" msgstr "Basis-Adresse" #: src/properties.cpp:1190 msgid "Information Banner URL." msgstr "" #: src/properties.cpp:1191 #, fuzzy msgid "Information" msgstr "Aufnahmeinformation" #: src/properties.cpp:1191 #, fuzzy msgid "Additional Movie Information." msgstr "Autofokus-Positioninformation" #: src/properties.cpp:1192 #, fuzzy msgid "Info Text" msgstr "Text" #: src/properties.cpp:1192 #, fuzzy msgid "Information Text." msgstr "Aufnahmeinformation" #: src/properties.cpp:1193 #, fuzzy msgid "Info URL" msgstr "Letzte Adresse" #: src/properties.cpp:1193 #, fuzzy msgid "Information URL." msgstr "Aufnahmeinformation" #: src/properties.cpp:1194 msgid "Information about the ISO Setting." msgstr "" #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "" #: src/properties.cpp:1196 #, fuzzy msgid "Junk Data" msgstr "Linsendaten" #: src/properties.cpp:1196 msgid "Video Junk data" msgstr "" #: src/properties.cpp:1197 #, fuzzy msgid "Language." msgstr "Sprache" #: src/properties.cpp:1198 #, fuzzy msgid "Length" msgstr "Brennweite" #: src/properties.cpp:1198 #, fuzzy msgid "The length of the media file." msgstr "Die Abspieldauer der Mediendatei." #: src/properties.cpp:1200 #, fuzzy msgid "Lens Type." msgstr "Linsentyp" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness" msgstr "Helligkeit" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness." msgstr "Helligkeit" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information" msgstr "Aufnahmeinformation" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information." msgstr "Aufnahmeinformation" #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "" #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "" #: src/properties.cpp:1204 #, fuzzy msgid "Logo URL" msgstr "Letzte Adresse" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "" #: src/properties.cpp:1205 msgid "Lyrics" msgstr "" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "" #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "" #: src/properties.cpp:1207 #, fuzzy msgid "Equipment Make" msgstr "Ausrüstungsinfo" #: src/properties.cpp:1207 #, fuzzy msgid "Manufacturer of recording equipment" msgstr "TIFF-Feld 271, 0x10F. Hersteller der Aufnahmeausrüstung." #: src/properties.cpp:1208 #, fuzzy msgid "Camera Maker Note Type" msgstr "Kameratyp" #: src/properties.cpp:1208 msgid "Maker Note Type of the camera." msgstr "" #: src/properties.cpp:1209 #, fuzzy msgid "Camera Maker Note Version" msgstr "Version der Herstellerbemerkung" #: src/properties.cpp:1209 #, fuzzy msgid "Maker Note Version of the camera." msgstr "Version der Herstellerbemerkung" #: src/properties.cpp:1210 #, fuzzy msgid "Maker URL" msgstr "Basis-Adresse" #: src/properties.cpp:1210 #, fuzzy msgid "Camera Manufacturer's URL." msgstr "Linsen-Hersteller." #: src/properties.cpp:1211 #, fuzzy msgid "Smallest F number of lens, in APEX." msgstr "Exif-Feld 37381, 0x9205. Die kleineste Blende der Linse, in APEX." #: src/properties.cpp:1212 #, fuzzy msgid "Maximum Bit Rate" msgstr "Maximale Blende" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" #: src/properties.cpp:1213 #, fuzzy msgid "Maximum Data Rate" msgstr "Dateidatenrate" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 #, fuzzy msgid "Media Track Create Date" msgstr "Erstellungsdatum" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 #, fuzzy msgid "Media Track Duration" msgstr "Audiodauer" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 #, fuzzy msgid "Media Header Version" msgstr "Modellversion" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 #, fuzzy msgid "Media Language Code" msgstr "GPS-Messungsmodus" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 #, fuzzy msgid "Media Track Modify Date" msgstr "Änderungsdatum der Metadaten" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" #: src/properties.cpp:1220 #, fuzzy msgid "Medium." msgstr "Mittel" #: src/properties.cpp:1221 #, fuzzy msgid "Metadata" msgstr "Metadaten-Datum" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1222 #, fuzzy msgid "Metadata Library" msgstr "Metadaten-Datum" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "" #: src/properties.cpp:1223 #, fuzzy msgid "Metering mode." msgstr "Messmodus" #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "" #: src/properties.cpp:1225 #, fuzzy msgid "Mime Type" msgstr "Bildtyp" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "" #: src/properties.cpp:1226 #, fuzzy msgid "QTime Minor FileType Version" msgstr "Dateiversion" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "" #: src/properties.cpp:1227 #, fuzzy msgid "Equipment Model" msgstr "Ausrüstungsinfo" #: src/properties.cpp:1227 #, fuzzy msgid "Model name or number of equipment." msgstr "TIFF-Feld 272, 0x110. Modellname oder -nummer der Ausrüstung." #: src/properties.cpp:1228 #, fuzzy msgid "Modification Date-Time" msgstr "Ortsname" #: src/properties.cpp:1228 msgid "Contains the modification date of the video" msgstr "" #: src/properties.cpp:1229 #, fuzzy msgid "Movie Header Version" msgstr "Modellversion" #: src/properties.cpp:1230 msgid "Music By" msgstr "" #: src/properties.cpp:1230 msgid "Music By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1231 msgid "Muxing App" msgstr "" #: src/properties.cpp:1231 msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" #: src/properties.cpp:1232 msgid "Name of song or the event." msgstr "" #: src/properties.cpp:1233 #, fuzzy msgid "Next Track ID" msgstr "Text + ID#" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" #: src/properties.cpp:1234 #, fuzzy msgid "Number Of Colours" msgstr "Taktanzahl" #: src/properties.cpp:1234 #, fuzzy msgid "Total number of colours used" msgstr "Fortlaufende Nummer (wenn Sie im Burst-Modus fotografieren)" #: src/properties.cpp:1235 #, fuzzy msgid "Number Of Important Colours" msgstr "Taktanzahl" #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1236 #, fuzzy msgid "Number Of Parts" msgstr "Taktanzahl" #: src/properties.cpp:1236 msgid "Total number of parts in the video." msgstr "" #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" #: src/properties.cpp:1238 #, fuzzy msgid "Organization" msgstr "Orientierung" #: src/properties.cpp:1238 msgid "Name of organization associated with the video." msgstr "" #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" #: src/properties.cpp:1248 #, fuzzy msgid "Part" msgstr "Feier" #: src/properties.cpp:1248 #, fuzzy msgid "Part." msgstr "Feier" #: src/properties.cpp:1249 msgid "Performers" msgstr "" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords" msgstr "Schlüsselbegriffe" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords." msgstr "Schlüsselbegriffe." #: src/properties.cpp:1251 msgid "Performer URL" msgstr "" #: src/properties.cpp:1251 msgid "Performer's dedicated URL." msgstr "" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data" msgstr "Bild-Info" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data." msgstr "Bild-Info" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Version" msgstr "Bild-Info" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Data Version." msgstr "Bild-Info" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name" msgstr "Bild-Info" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name." msgstr "Bild-Info" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Base" msgstr "Bild-Info" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Data Base." msgstr "Bild-Info" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust" msgstr "Bild-Info" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust Information." msgstr "Bildmodus-Sättigung" #: src/properties.cpp:1257 #, fuzzy msgid "Picture Control Quick Adjust" msgstr "Bild-Info" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection" msgstr "Auswahl" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection." msgstr "Auswahl" #: src/properties.cpp:1259 #, fuzzy msgid "Play Mode" msgstr "Einfacher Modus" #: src/properties.cpp:1259 msgid "Information about the Play Mode." msgstr "" #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "" #: src/properties.cpp:1260 #, fuzzy msgid "Contains the information of External media." msgstr "Der Teil der Kontaktinformation für das Land." #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1265 msgid "Planes" msgstr "" #: src/properties.cpp:1265 msgid "The number of Image Planes in the video" msgstr "" #: src/properties.cpp:1266 #, fuzzy msgid "Poster Time" msgstr "Belichtungszeit" #: src/properties.cpp:1266 #, fuzzy msgid "The time value of the time of the movie poster." msgstr "Die Startzeit des Mediums innerhalb des Audioprojektes." #: src/properties.cpp:1267 #, fuzzy msgid "Preferred Rate" msgstr "Referenzdatum" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1269 msgid "Preroll" msgstr "" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" #: src/properties.cpp:1272 #, fuzzy msgid "Preview Atom Type" msgstr "Vorschaudaten" #: src/properties.cpp:1272 #, fuzzy msgid "Indicates the type of atom that contains the preview data" msgstr "Gibt den Typen eines Audioinhalts an." #: src/properties.cpp:1273 #, fuzzy msgid "Preview Date" msgstr "Vorschaudaten" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "" #: src/properties.cpp:1274 #, fuzzy msgid "Preview Duration" msgstr "Vorschaudaten" #: src/properties.cpp:1274 #, fuzzy msgid "The duration of the movie preview in movie time scale units" msgstr "Die Abspieldauer der Mediendatei." #: src/properties.cpp:1275 #, fuzzy msgid "Preview Time" msgstr "Bildvorschau gültig" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "" #: src/properties.cpp:1276 #, fuzzy msgid "The version of the movie preview " msgstr "Die Abspieldauer der Mediendatei." #: src/properties.cpp:1277 #, fuzzy msgid "Produced By" msgstr "Hersteller" #: src/properties.cpp:1277 msgid "Produced By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1278 msgid "Producer involved with the video." msgstr "" #: src/properties.cpp:1279 #, fuzzy msgid "Producer Keywords" msgstr "Schlüsselbegriffe" #: src/properties.cpp:1279 msgid "Information about the Producer Keywords." msgstr "" #: src/properties.cpp:1280 #, fuzzy msgid "Production Aperture Width" msgstr "Blende" #: src/properties.cpp:1280 msgid "Production aperture width in pixels" msgstr "" #: src/properties.cpp:1281 #, fuzzy msgid "Production Aperture Height" msgstr "Blende" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "" #: src/properties.cpp:1282 msgid "Production Designer" msgstr "" #: src/properties.cpp:1282 msgid "Information about the Production Designer." msgstr "" #: src/properties.cpp:1283 #, fuzzy msgid "Production Studio" msgstr "Produkt-ID" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "" #: src/properties.cpp:1284 #, fuzzy msgid "Product" msgstr "Produkt-ID" #: src/properties.cpp:1284 #, fuzzy msgid "Product." msgstr "Produkt-ID" #: src/properties.cpp:1286 msgid "Rate" msgstr "" #: src/properties.cpp:1286 msgid "Rate." msgstr "" #: src/properties.cpp:1287 msgid "Rated" msgstr "" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "" #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright" msgstr "Fotoeffekt" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright." msgstr "Fotoeffekt" #: src/properties.cpp:1292 #, fuzzy msgid "Requirements" msgstr "Elementen" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "" #: src/properties.cpp:1293 #, fuzzy msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" "TIFF-Feld 296, 0x128. Die für die x- und y-Auflösung benutzten Einheiten. " "Der Wert ist: 2 = Zoll; 3 = Zentimeter." #: src/properties.cpp:1294 msgid "Ripped By" msgstr "" #: src/properties.cpp:1294 msgid "Ripped By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1295 #, fuzzy msgid "Indicates the direction of saturation processing applied by the camera." msgstr "" "Exif-Feld 41993, 0xA409 gibt die Richtung der Sättigungsbearbeitung an, die " "bei der Aufnahme des Bildes angewandt wurde." #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "" #: src/properties.cpp:1296 #, fuzzy msgid "The name of the secondary genre.." msgstr "Der Name des Genres." #: src/properties.cpp:1297 #, fuzzy msgid "Selection Time" msgstr "Auswahl" #: src/properties.cpp:1297 msgid "The time value for the start time of the current selection." msgstr "" #: src/properties.cpp:1298 #, fuzzy msgid "Selection Duration" msgstr "Audiodauer" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "" #: src/properties.cpp:1299 #, fuzzy msgid "Send Duration" msgstr "Dauer" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "" #: src/properties.cpp:1303 #, fuzzy msgid "Software Version" msgstr "Firmware Version" #: src/properties.cpp:1303 #, fuzzy msgid "The Version of the software used." msgstr "Der Name der Aufnahme." #: src/properties.cpp:1304 #, fuzzy msgid "Song Writer" msgstr "Abschnittsautor" #: src/properties.cpp:1304 #, fuzzy msgid "The name of the song writer." msgstr "Der Name der Aufnahme." #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords" msgstr "Windows-Schlüsselbegriffe" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords." msgstr "Schlüsselbegriffe." #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits" msgstr "Anbieter" #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits." msgstr "Danksagungen." #: src/properties.cpp:1308 #, fuzzy msgid "Source Form" msgstr "Quelle" #: src/properties.cpp:1308 #, fuzzy msgid "Source Form." msgstr "Quelle." #: src/properties.cpp:1309 #, fuzzy msgid "Source Image Height" msgstr "Bildhöhe" #: src/properties.cpp:1310 #, fuzzy msgid "Source Image Width" msgstr "Bildbreite" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "" #: src/properties.cpp:1311 #, fuzzy msgid "Starring" msgstr "Standard Licht A" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "" #: src/properties.cpp:1312 #, fuzzy msgid "Start Timecode" msgstr "Startzeitstempel" #: src/properties.cpp:1313 #, fuzzy msgid "Statistics" msgstr "GPS-Status" #: src/properties.cpp:1313 msgid "Statistics." msgstr "" #: src/properties.cpp:1314 #, fuzzy msgid "Stream Count" msgstr "Verschlusszähler" #: src/properties.cpp:1314 #, fuzzy msgid "Total Number Of Streams" msgstr "Taktanzahl" #: src/properties.cpp:1315 #, fuzzy msgid "Stream Name" msgstr "Aufnahmename" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "" #: src/properties.cpp:1316 #, fuzzy msgid "Stream Quality" msgstr "Bildqualität" #: src/properties.cpp:1316 #, fuzzy msgid "General Stream Quality" msgstr "Bildqualität" #: src/properties.cpp:1317 #, fuzzy msgid "Stream Sample Rate" msgstr "Audio-Abtastrate" #: src/properties.cpp:1318 #, fuzzy msgid "Stream Sample Count" msgstr "Strip Byte Anzahl" #: src/properties.cpp:1319 #, fuzzy msgid "Stream Sample Size" msgstr "Bits pro Abtastung" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "" #: src/properties.cpp:1320 #, fuzzy msgid "Stream Type" msgstr "Skalierungstyp" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1321 #, fuzzy msgid "Subtitles Codec" msgstr "Startzeitstempel" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "" #: src/properties.cpp:1322 msgid "Subtitle Codec Decode Info" msgstr "" #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1323 #, fuzzy msgid "Subtitles Codec Information" msgstr "Aufnahmeinformation" #: src/properties.cpp:1323 msgid "Contains additional information about subtitles." msgstr "" #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "" #: src/properties.cpp:1325 #, fuzzy msgid "Subtitle Codec Settings" msgstr "Bildmoduseinstellung" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1327 msgid "Subtitle Track Enabled" msgstr "" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1328 #, fuzzy msgid "Subtitle" msgstr "Titel" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords" msgstr "Schlüsselbegriffe" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords." msgstr "Schlüsselbegriffe." #: src/properties.cpp:1330 #, fuzzy msgid "Subtitles Language" msgstr "Sprache" #: src/properties.cpp:1330 #, fuzzy msgid "The Language in which the subtitles is recorded in." msgstr "Der Name der Szene." #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1332 msgid "Subtitle Track Lacing" msgstr "" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1333 #, fuzzy msgid "Subject. " msgstr "Motiv" #: src/properties.cpp:1334 #, fuzzy msgid "TapeName." msgstr "Bandname" #: src/properties.cpp:1335 #, fuzzy msgid "Tag Default Setting" msgstr "Besitzt Einstellungen" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "" #: src/properties.cpp:1336 #, fuzzy msgid "Tag Language" msgstr "Sprache" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "" #: src/properties.cpp:1337 #, fuzzy msgid "Tag Name" msgstr "Bandname" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1338 msgid "Tag String" msgstr "" #: src/properties.cpp:1338 msgid "Information contained in a Tags" msgstr "" #: src/properties.cpp:1339 #, fuzzy msgid "Target Type" msgstr "Bildtyp" #: src/properties.cpp:1339 msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "" #: src/properties.cpp:1340 msgid "Technician" msgstr "" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "" #: src/properties.cpp:1341 #, fuzzy msgid "Thumbnail Height" msgstr "Bildvorschaulänge" #: src/properties.cpp:1341 #, fuzzy msgid "Preview Image Thumbnail Height." msgstr "Länge der Bildvorschau" #: src/properties.cpp:1342 #, fuzzy msgid "Preview Image Thumbnail Length." msgstr "Länge der Bildvorschau" #: src/properties.cpp:1343 #, fuzzy msgid "Thumbnail Width" msgstr "Bildvorschaulänge" #: src/properties.cpp:1343 #, fuzzy msgid "Preview Image Thumbnail Width." msgstr "Bildvorschau gültig" #: src/properties.cpp:1344 #, fuzzy msgid "Timecode Scale" msgstr "Unterwasser" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "" #: src/properties.cpp:1345 src/properties.cpp:1428 #, fuzzy msgid "Time Offset" msgstr "Kachel-Offsets" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" #: src/properties.cpp:1346 #, fuzzy msgid "Time Scale" msgstr "Sendezeit" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1350 msgid "Toning Effect Settings Applied." msgstr "" #: src/properties.cpp:1351 #, fuzzy msgid "Total Frame Count" msgstr "Kachel-Byte-Anzahl" #: src/properties.cpp:1352 #, fuzzy msgid "Number Of Streams" msgstr "Taktanzahl" #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1353 #, fuzzy msgid "Track" msgstr "GPS-Spur" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "" #: src/properties.cpp:1354 #, fuzzy msgid "Video Track Create Date" msgstr "Video-Bildrate" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" #: src/properties.cpp:1355 #, fuzzy msgid "Video Track Duration" msgstr "Audiodauer" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced" msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 #, fuzzy msgid "Track ID" msgstr "Stücknummer" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 #, fuzzy msgid "Track Header Version" msgstr "Version der Herstellerbemerkung" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 #, fuzzy msgid "Track Language" msgstr "Sprache" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "The Language in which a particular stream is recorded in." msgstr "" #: src/properties.cpp:1361 #, fuzzy msgid "Video Track Layer" msgstr "Video-Bildrate" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" #: src/properties.cpp:1364 #, fuzzy msgid "Video Track Modify Date" msgstr "Änderungsdatum des Videos" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" #: src/properties.cpp:1365 #, fuzzy msgid "Track Name" msgstr "Stücknummer" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "" #: src/properties.cpp:1366 #, fuzzy msgid "Track Number." msgstr "Stücknummer" #: src/properties.cpp:1367 src/properties.cpp:1440 #, fuzzy msgid "Track Volume" msgstr "Stücknummer" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "" #: src/properties.cpp:1368 msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" #: src/properties.cpp:1369 src/properties.cpp:1370 #, fuzzy msgid "Unknown Information" msgstr "Aufnahmeinformation" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1371 #, fuzzy msgid "Video URL" msgstr "Weit" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1372 #, fuzzy msgid "Video URN" msgstr "Weit" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1373 #, fuzzy msgid "Vari Program" msgstr "Programm" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "" #: src/properties.cpp:1376 msgid "Vendor" msgstr "" #: src/properties.cpp:1376 #, fuzzy msgid "The developer of the compressor that generated the compressed data." msgstr "" "Dieses Feld gibt einen Hinweis auf die Verarbeitung die benutzt wurde, um " "die komprimierten Daten zu erzeugen." #: src/properties.cpp:1377 src/properties.cpp:1443 #, fuzzy msgid "Vendor ID" msgstr "Linsen-ID" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" #: src/properties.cpp:1378 #, fuzzy msgid "Video Quality" msgstr "Qualität" #: src/properties.cpp:1378 #, fuzzy msgid "Video Stream Quality" msgstr "Video-Bildrate" #: src/properties.cpp:1379 #, fuzzy msgid "Video Sample Size" msgstr "Video-Bildgröße" #: src/properties.cpp:1379 #, fuzzy msgid "Video Stream Sample Size" msgstr "Video-Bildgröße" #: src/properties.cpp:1380 #, fuzzy msgid "Video Scan Type" msgstr "Skalierungstyp" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "" #: src/properties.cpp:1381 msgid "Watermark URL" msgstr "" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "" #: src/properties.cpp:1384 #, fuzzy msgid "White Balance Fine Tune." msgstr "Weißabgleichstabelle" #: src/properties.cpp:1385 #, fuzzy msgid "Video Width" msgstr "Kachelbreite" #: src/properties.cpp:1386 #, fuzzy msgid "Window Location" msgstr "Windows-Bewertung" #: src/properties.cpp:1386 msgid "Information about the Window Location." msgstr "" #: src/properties.cpp:1388 #, fuzzy msgid "Written By" msgstr "Schreiber" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1389 msgid "Writing App" msgstr "" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" #: src/properties.cpp:1390 #, fuzzy msgid "Horizontal resolution in pixels per unit." msgstr "TIFF-Feld 282, 0x11A. Horizontale Auflösung in Pixeln pro Einheit." #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "" #: src/properties.cpp:1391 #, fuzzy msgid "Year in which the video was made." msgstr "Das Datum und die Uhrzeit der letzten Änderung des Videos." #: src/properties.cpp:1392 #, fuzzy msgid "Vertical resolution in pixels per unit." msgstr "TIFF-Feld 283, 0x11B. Vertikale Auflösung in Pixeln pro Einheit." #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "" #: src/properties.cpp:1398 #, fuzzy msgid "Balance" msgstr "Rotabgleich" #: src/properties.cpp:1398 #, fuzzy msgid "Indicates the left-right balance of the audio" msgstr "Gibt den Abstand zum Zielpunkt an." #: src/properties.cpp:1399 #, fuzzy msgid "Bits Per Sample/ Bit Rate" msgstr "Bits pro Abtastung" #: src/properties.cpp:1399 #, fuzzy msgid "Bits per test sample" msgstr "Bits per Sample." #: src/properties.cpp:1401 #, fuzzy msgid "Audio Codec" msgstr "Audio-Kompression" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "" #: src/properties.cpp:1402 msgid "Audio Codec Decode Info" msgstr "" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1403 #, fuzzy msgid "Audio Codec Description" msgstr "Bildbeschreibung" #: src/properties.cpp:1404 msgid "Audio Codec Download URL" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL." msgstr "" #: src/properties.cpp:1405 #, fuzzy msgid "Audio Codec Information" msgstr "Aufnahmeinformation" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" #: src/properties.cpp:1406 #, fuzzy msgid "Audio Codec Settings" msgstr "Fokusmodus-Einstellungen" #: src/properties.cpp:1408 #, fuzzy msgid "Audio Default Duration" msgstr "Audiodauer" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "" #: src/properties.cpp:1409 #, fuzzy msgid "Audio Default Stream" msgstr "Standard-Skalierung" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "" #: src/properties.cpp:1410 #, fuzzy msgid "Audio Track Default On" msgstr "Automatische Erfassung" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "" #: src/properties.cpp:1411 msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1412 #, fuzzy msgid "Audio Format" msgstr "Audiorate" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "" #: src/properties.cpp:1423 #, fuzzy msgid "Output Audio Sample Rate" msgstr "Audio-Abtastrate" #: src/properties.cpp:1423 #, fuzzy msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" "Die Audio-Abtastrate kann ein beliebiger Wert sein. Empfohlen sind die Werte " "32000, 41100, oder 48000." #: src/properties.cpp:1424 #, fuzzy msgid "Audio Sample Count" msgstr "Audio-Abtastrate" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title" msgstr "wurde in der Datei gefunden" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title." msgstr "wurde in der Datei gefunden" #: src/properties.cpp:1429 #, fuzzy msgid "Audio Track Create Date" msgstr "Auslöser der Automatische Erfassung" #: src/properties.cpp:1430 #, fuzzy msgid "Audio Track Duration" msgstr "Audiodauer" #: src/properties.cpp:1431 #, fuzzy msgid "Audio Track Forced" msgstr "Automatischer Erfassung" #: src/properties.cpp:1431 msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1434 #, fuzzy msgid "Audio Track Lacing" msgstr "Audiodauer" #: src/properties.cpp:1434 msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1436 #, fuzzy msgid "Audio Track Layer" msgstr "Audiotyp" #: src/properties.cpp:1439 #, fuzzy msgid "Audio Track Modify Date" msgstr "Änderungsdatum der Audiodaten" #: src/properties.cpp:1441 #, fuzzy msgid "Audio URL" msgstr "Audiorate" #: src/properties.cpp:1442 #, fuzzy msgid "Audio URN" msgstr "Audiorate" #: src/properties.cpp:1449 #, fuzzy msgid "The nature or genre of the resource." msgstr "Der Name des Genres." #: src/properties.cpp:1450 #, fuzzy msgid "Date Modified" msgstr "Identifizierer" #: src/properties.cpp:1450 #, fuzzy msgid "Date on which the resource was changed." msgstr "Das Datum und die Uhrzeit der letzten Änderung des Videos." #: src/properties.cpp:1451 #, fuzzy msgid "A language of the resource." msgstr "Ein kurzer informeller Name für die Ressource." #: src/properties.cpp:1452 #, fuzzy msgid "License" msgstr "Linse" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" #: src/properties.cpp:1453 #, fuzzy msgid "Rights Holder" msgstr "Rechte Zone" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" #: src/properties.cpp:1454 #, fuzzy msgid "Access Rights" msgstr "Rechte" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "" #: src/properties.cpp:1455 #, fuzzy msgid "A bibliographic reference for the resource." msgstr "Ein kurzer informeller Name für die Ressource." #: src/properties.cpp:1456 #, fuzzy msgid "References" msgstr "Jobreferenz" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" #: src/properties.cpp:1459 msgid "*Main structure* containing Darwin Core location based information." msgstr "" #: src/properties.cpp:1468 #, fuzzy msgid "Record" msgstr "Eingeblendetes Display" #: src/properties.cpp:1469 msgid "*Main structure* containing record based information." msgstr "" #: src/properties.cpp:1472 #, fuzzy msgid "Institution ID" msgstr "Anweisungen" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" #: src/properties.cpp:1475 #, fuzzy msgid "Collection ID" msgstr "Auswahl" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" #: src/properties.cpp:1478 #, fuzzy msgid "Institution Code" msgstr "Auflösungsmodus" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1481 #, fuzzy msgid "Dataset ID" msgstr "Datendump" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "" #: src/properties.cpp:1484 #, fuzzy msgid "Collection Code" msgstr "Ortscode" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" #: src/properties.cpp:1487 #, fuzzy msgid "Dataset Name" msgstr "Druckstocknamen" #: src/properties.cpp:1488 #, fuzzy msgid "The name identifying the data set from which the record was derived." msgstr "" "Eindeutige Identifikation der Arbeit von der diese Ressource abgeleitet " "wurde." #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" #: src/properties.cpp:1496 #, fuzzy msgid "Information Withheld" msgstr "Aufnahmeinformation" #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" #: src/properties.cpp:1502 #, fuzzy msgid "Dynamic Properties" msgstr "Linseneigenschaften" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" #: src/properties.cpp:1507 #, fuzzy msgid "Occurrence" msgstr "Linsen-ID" #: src/properties.cpp:1508 msgid "*Main structure* containing occurrence based information." msgstr "" #: src/properties.cpp:1511 #, fuzzy msgid "Occurrence ID" msgstr "Linsen-ID" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" #: src/properties.cpp:1514 #, fuzzy msgid "Catalog Number" msgstr "Intervallnummer" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" #: src/properties.cpp:1517 #, fuzzy msgid "Occurrence Details" msgstr "Linsen-ID" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "" #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "" #: src/properties.cpp:1521 msgid "Comments or notes about the Occurrence." msgstr "" #: src/properties.cpp:1523 #, fuzzy msgid "Record Number" msgstr "Ablaufsnummer" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" #: src/properties.cpp:1526 #, fuzzy msgid "Recorded By" msgstr "Eingeblendetes Display" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" #: src/properties.cpp:1529 msgid "Individual ID" msgstr "" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" #: src/properties.cpp:1532 msgid "Individual Count" msgstr "" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "" #: src/properties.cpp:1535 #, fuzzy msgid "Organism Quantity" msgstr "Bildqualität" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "" #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "" #: src/properties.cpp:1541 #, fuzzy msgid "Sex" msgstr "Setzen" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1544 msgid "Life Stage" msgstr "" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1547 #, fuzzy msgid "Reproductive Condition" msgstr "Produkt-ID" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1550 msgid "Behavior" msgstr "" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1559 #, fuzzy msgid "Preparations" msgstr "Gradation" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" #: src/properties.cpp:1562 #, fuzzy msgid "Disposition" msgstr "Fokusposition" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" #: src/properties.cpp:1565 #, fuzzy msgid "Other Catalog Numbers" msgstr "Intervallnummer" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" #: src/properties.cpp:1568 src/properties.cpp:1607 #, fuzzy msgid "Previous Identifications" msgstr "Modellidentifikation" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" #: src/properties.cpp:1571 #, fuzzy msgid "Associated Media" msgstr "Mitwirkende Medien" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" #: src/properties.cpp:1574 #, fuzzy msgid "Associated References" msgstr "Projektreferenz" #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1580 #, fuzzy msgid "Associated Sequences" msgstr "AEB Sequenz" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" #: src/properties.cpp:1588 #, fuzzy msgid "Organism" msgstr "Orientierung" #: src/properties.cpp:1589 msgid "*Main structure* containing organism based information." msgstr "" #: src/properties.cpp:1592 msgid "Organism ID" msgstr "" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1595 #, fuzzy msgid "Organism Name" msgstr "Aufnahmename" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "" #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1601 #, fuzzy msgid "Organism Associated Occurrences" msgstr "AEB Sequenz" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1604 #, fuzzy msgid "Associated Organisms" msgstr "Projektreferenz" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" #: src/properties.cpp:1610 #, fuzzy msgid "Organism Remarks" msgstr "Messung wird durchgeführt" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "" #: src/properties.cpp:1615 #, fuzzy msgid "Material Sample" msgstr "Bits pro Abtastung" #: src/properties.cpp:1616 msgid "*Main structure* containing material sample based information." msgstr "" #: src/properties.cpp:1618 #, fuzzy msgid "Living Specimen" msgstr "Abend" #: src/properties.cpp:1619 msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "" #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "" #: src/properties.cpp:1622 msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "" #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "" #: src/properties.cpp:1625 msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "" #: src/properties.cpp:1628 #, fuzzy msgid "Material Sample ID" msgstr "Bits pro Abtastung" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" #: src/properties.cpp:1634 msgid "*Main structure* containing event based information." msgstr "" #: src/properties.cpp:1636 msgid "Human Observation" msgstr "" #: src/properties.cpp:1637 msgid "*Main structure* containing human observation based information." msgstr "" #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "" #: src/properties.cpp:1640 msgid "*Main structure* containing machine observation based information." msgstr "" #: src/properties.cpp:1643 #, fuzzy msgid "Event ID" msgstr "Abend" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1646 #, fuzzy msgid "Parent Event ID" msgstr "Abend" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" #: src/properties.cpp:1649 #, fuzzy msgid "Event Date" msgstr "Erstellungsdatum" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1652 #, fuzzy msgid "Event Earliest Date" msgstr "Erstellungsdatum" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1655 #, fuzzy msgid "Event Latest Date" msgstr "Erstellungsdatum" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1658 #, fuzzy msgid "Event Time" msgstr "Aktuelles ICC-Profil" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "" #: src/properties.cpp:1670 #, fuzzy msgid "Month" msgstr "Monat" #: src/properties.cpp:1671 #, fuzzy msgid "The ordinal month in which the Event occurred." msgstr "Der Name der Szene." #: src/properties.cpp:1673 #, fuzzy msgid "Day" msgstr "Verzögerung" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "" #: src/properties.cpp:1676 #, fuzzy msgid "Verbatim Event Date" msgstr "Erstellungsdatum" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" #: src/properties.cpp:1679 msgid "Habitat" msgstr "" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" #: src/properties.cpp:1685 #, fuzzy msgid "Sampling Effort" msgstr "Dateiformat" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "" #: src/properties.cpp:1688 #, fuzzy msgid "Sampling Size Value" msgstr "Audio-Abtastrate" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" #: src/properties.cpp:1691 #, fuzzy msgid "Sampling Size Unit" msgstr "Dateiformat" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" #: src/properties.cpp:1694 #, fuzzy msgid "Field Number" msgstr "Blende" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" #: src/properties.cpp:1697 #, fuzzy msgid "Field Notes" msgstr "Linseneigenschaften" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "" #: src/properties.cpp:1701 msgid "Comments or notes about the Event." msgstr "" #: src/properties.cpp:1705 #, fuzzy msgid "Location Class" msgstr "Ortscode" #: src/properties.cpp:1706 msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "" #: src/properties.cpp:1709 #, fuzzy msgid "Location ID" msgstr "Ort" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" #: src/properties.cpp:1718 #, fuzzy msgid "Continent" msgstr "Kontinuierlich" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "" #: src/properties.cpp:1721 msgid "Water Body" msgstr "" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1724 msgid "Island Group" msgstr "" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1727 msgid "Island" msgstr "" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "" #: src/properties.cpp:1736 #, fuzzy msgid "State Province" msgstr "Staat/Provinz" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1739 #, fuzzy msgid "County" msgstr "Land" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1742 #, fuzzy msgid "Municipality" msgstr "Qualität" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" #: src/properties.cpp:1745 #, fuzzy msgid "Locality" msgstr "Ort" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "" #: src/properties.cpp:1749 #, fuzzy msgid "The original textual description of the place." msgstr "Eine textuelle Beschreibung der Objektdaten." #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1760 msgid "Verbatim Depth" msgstr "" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "" #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1766 #, fuzzy msgid "Maximum Depth In Meters" msgstr "Dateidatenrate" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1775 #, fuzzy msgid "Location According To" msgstr "Ortscode" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" #: src/properties.cpp:1778 #, fuzzy msgid "Location Remarks" msgstr "Ortscode" #: src/properties.cpp:1779 msgid "Comments or notes about the Location." msgstr "" #: src/properties.cpp:1781 msgid "Verbatim Coordinates" msgstr "" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1784 #, fuzzy msgid "Verbatim Latitude" msgstr "GPS Breitengrad des Ziels" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1787 #, fuzzy msgid "Verbatim Longitude" msgstr "GPS Längengrad des Ziels" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1796 #, fuzzy msgid "Decimal Latitude" msgstr "GPS Breitengrad des Ziels" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" #: src/properties.cpp:1799 #, fuzzy msgid "Decimal Longitude" msgstr "GPS-Längengrad" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" #: src/properties.cpp:1802 #, fuzzy msgid "Geodetic Datum" msgstr "GPS-Feld 11, 0x0B. Grad der Präzision der GPS-Daten" #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" #: src/properties.cpp:1808 msgid "Coordinate Precision" msgstr "" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "" #: src/properties.cpp:1812 #, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "" #: src/properties.cpp:1821 #, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" #: src/properties.cpp:1823 #, fuzzy msgid "Georeferenced By" msgstr "Jobreferenz" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" #: src/properties.cpp:1826 #, fuzzy msgid "Georeferenced Date" msgstr "Referenzdatum" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" #: src/properties.cpp:1832 #, fuzzy msgid "Georeference Sources" msgstr "Referenzdienst" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1838 #, fuzzy msgid "Georeference Remarks" msgstr "Referenznummer" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" #: src/properties.cpp:1843 msgid "Geological Context" msgstr "" #: src/properties.cpp:1844 msgid "*Main structure* containing geological context based information." msgstr "" #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" #: src/properties.cpp:1889 msgid "Group" msgstr "" #: src/properties.cpp:1890 #, fuzzy msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "Der Name des Dokuments von dem das Bild eingelesen wurde." #: src/properties.cpp:1892 #, fuzzy msgid "Formation" msgstr "Aufnahmeinformation" #: src/properties.cpp:1893 #, fuzzy msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "Der Name des Dokuments von dem das Bild eingelesen wurde." #: src/properties.cpp:1895 #, fuzzy msgid "Member" msgstr "F Nummer." #: src/properties.cpp:1896 #, fuzzy msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "Der Name des Dokuments von dem das Bild eingelesen wurde." #: src/properties.cpp:1898 #, fuzzy msgid "Bed" msgstr "Rot" #: src/properties.cpp:1899 #, fuzzy msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "Der Name des Dokuments von dem das Bild eingelesen wurde." #: src/properties.cpp:1903 #, fuzzy msgid "Identification" msgstr "Modellidentifikation" #: src/properties.cpp:1904 msgid "*Main structure* containing identification based information." msgstr "" #: src/properties.cpp:1907 #, fuzzy msgid "Identification ID" msgstr "Modellidentifikation" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1910 #, fuzzy msgid "Identified By" msgstr "Identifizierer" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" #: src/properties.cpp:1913 #, fuzzy msgid "Date Identified" msgstr "Identifizierer" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" #: src/properties.cpp:1916 #, fuzzy msgid "Identification References" msgstr "GPS-Bildrichtung" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" #: src/properties.cpp:1922 #, fuzzy msgid "Identification Remarks" msgstr "Modellidentifikation" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "" #: src/properties.cpp:1925 #, fuzzy msgid "Identification Qualifier" msgstr "Modellidentifikation" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" #: src/properties.cpp:1928 #, fuzzy msgid "Type Status" msgstr "GPS-Status" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" #: src/properties.cpp:1933 msgid "Taxon" msgstr "" #: src/properties.cpp:1934 msgid "*Main structure* containing taxonomic based information." msgstr "" #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" #: src/properties.cpp:1949 #, fuzzy msgid "Original Name Usage ID" msgstr "Originaler Rohdateiname" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" #: src/properties.cpp:1961 #, fuzzy msgid "Scientific Name" msgstr "Dokumentenname" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" #: src/properties.cpp:1967 #, fuzzy msgid "Parent Name Usage" msgstr "Druckstocknamen" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" #: src/properties.cpp:1970 #, fuzzy msgid "Original Name Usage" msgstr "Originaler Rohdateiname" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" #: src/properties.cpp:1973 #, fuzzy msgid "Name According To" msgstr "Fotoeffekt" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" #: src/properties.cpp:1976 #, fuzzy msgid "Name Published In" msgstr "Herausgeber" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "" #: src/properties.cpp:1980 #, fuzzy msgid "The four-digit year in which the scientificName was published." msgstr "Das Datum andem der Titel veröffentlicht wurde." #: src/properties.cpp:1982 #, fuzzy msgid "Higher Classification" msgstr "Elektronische Vergrößerung" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" #: src/properties.cpp:1985 msgid "Kingdom" msgstr "" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "" #: src/properties.cpp:1988 msgid "Phylum" msgstr "" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" #: src/properties.cpp:1991 msgid "Class" msgstr "" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "" #: src/properties.cpp:1994 #, fuzzy msgid "Order" msgstr "Füllreihenfolge" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "" #: src/properties.cpp:1997 msgid "Family" msgstr "" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "" #: src/properties.cpp:2000 msgid "Genus" msgstr "" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "" #: src/properties.cpp:2003 msgid "Subgenus" msgstr "" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "" #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" #: src/properties.cpp:2021 #, fuzzy msgid "Vernacular Name" msgstr "Stücknummer" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "" #: src/properties.cpp:2024 #, fuzzy msgid "Nomenclatural Code" msgstr "Natürliche Farbe" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "" #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "" #: src/properties.cpp:2039 msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "" #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" #: src/properties.cpp:2045 #, fuzzy msgid "Resource ID" msgstr "Dateiquelle" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "" #: src/properties.cpp:2048 #, fuzzy msgid "Related Resource ID" msgstr "Bildressourcenblock" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" #: src/properties.cpp:2051 #, fuzzy msgid "Relationship Of Resource" msgstr "Dateiquelle" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "" #: src/properties.cpp:2065 #, fuzzy msgid "Measurement Or Fact" msgstr "Messungskompatibilität" #: src/properties.cpp:2066 msgid "*Main structure* containing measurement based information." msgstr "" #: src/properties.cpp:2069 #, fuzzy msgid "Measurement ID" msgstr "Messung wird durchgeführt" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:2072 #, fuzzy msgid "Measurement Type" msgstr "Messung wird durchgeführt" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2075 #, fuzzy msgid "Measurement Value" msgstr "Messung wird durchgeführt" #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2078 #, fuzzy msgid "Measurement Accuracy" msgstr "Messungskompatibilität" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "" #: src/properties.cpp:2081 #, fuzzy msgid "Measurement Unit" msgstr "Messungskompatibilität" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" #: src/properties.cpp:2084 #, fuzzy msgid "Measurement Determined Date" msgstr "Messungskompatibilität" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2087 #, fuzzy msgid "Measurement Determined By" msgstr "Messungskompatibilität" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" #: src/properties.cpp:2090 #, fuzzy msgid "Measurement Method" msgstr "GPS-Messungsmodus" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2093 #, fuzzy msgid "Measurement Remarks" msgstr "Messung wird durchgeführt" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "" #: src/properties.cpp:2101 #, fuzzy msgid "A brief description of the file" msgstr "Eine textuelle Beschreibung der Objektdaten." #: src/properties.cpp:2102 #, fuzzy msgid "Date Time" msgstr "Datum und Uhrzeit" #: src/properties.cpp:2103 #, fuzzy msgid "The name of the author or photographer" msgstr "Der Name der Aufnahme." #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "" #: src/properties.cpp:2105 #, fuzzy msgid "Notes" msgstr "Linseneigenschaften" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "" #: src/properties.cpp:2106 msgid "Tagged" msgstr "" #: src/properties.cpp:2106 msgid "True or False" msgstr "" #: src/properties.cpp:2107 #, fuzzy msgid "Categories" msgstr "Kategorie" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "" #: src/sigmamn.cpp:62 msgid "Resolution Mode" msgstr "Auflösungsmodus" #: src/sigmamn.cpp:63 msgid "Resolution mode" msgstr "Auflösungsmodus" #: src/sigmamn.cpp:65 msgid "Autofocus Mode" msgstr "Autofokusmodus" #: src/sigmamn.cpp:66 msgid "Autofocus mode" msgstr "Autofokusmodus" #: src/sigmamn.cpp:68 msgid "Focus Setting" msgstr "Fokuseinstellung" #: src/sigmamn.cpp:69 msgid "Focus setting" msgstr "Fokuseinstellung" #: src/sigmamn.cpp:80 msgid "Lens Range" msgstr "Linsenweite" #: src/sigmamn.cpp:81 msgid "Lens focal length range" msgstr "Linsenbrennweitenbereich" #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 msgid "Shadow" msgstr "Schatten" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 msgid "Highlight" msgstr "Spitzlichter" #: src/sigmamn.cpp:104 msgid "Fill Light" msgstr "Fülllicht" #: src/sigmamn.cpp:105 msgid "X3 Fill light" msgstr "X3 Fülllicht" #: src/sigmamn.cpp:107 msgid "Color Adjustment" msgstr "Farbanpassung" #: src/sigmamn.cpp:108 msgid "Color adjustment" msgstr "Farbanpassung" #: src/sigmamn.cpp:110 msgid "Adjustment Mode" msgstr "Anpassungsmodus" #: src/sigmamn.cpp:111 msgid "Adjustment mode" msgstr "Anpassungsmodus" #: src/sigmamn.cpp:122 msgid "Auto Bracket" msgstr "Automatische Erfassung" #: src/sigmamn.cpp:123 src/tags.cpp:1497 msgid "Auto bracket" msgstr "Automatischer Erfassung" #: src/sigmamn.cpp:127 msgid "Unknown SigmaMakerNote tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Sigma" #: src/sigmamn.cpp:170 msgid "8-Segment" msgstr "8-Segment" #: src/sonymn.cpp:131 msgid "Advanced Lv1" msgstr "" #: src/sonymn.cpp:132 msgid "Advanced Lv2" msgstr "" #: src/sonymn.cpp:133 msgid "Advanced Lv3" msgstr "" #: src/sonymn.cpp:134 msgid "Advanced Lv4" msgstr "" #: src/sonymn.cpp:135 msgid "Advanced Lv5" msgstr "" #: src/sonymn.cpp:154 #, fuzzy msgid "Night Scene / Twilight" msgstr "Nachtszene" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "" #: src/sonymn.cpp:156 #, fuzzy msgid "Twilight Portrait" msgstr "Nachtportrait" #: src/sonymn.cpp:157 #, fuzzy msgid "Soft Snap / Portrait" msgstr "Selbstportrait" #: src/sonymn.cpp:159 #, fuzzy msgid "Smile Shutter" msgstr "Langsamer Verschluss" #: src/sonymn.cpp:161 #, fuzzy msgid "High Sensitivity" msgstr "ISO-Empfindlichkeit" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "" #: src/sonymn.cpp:166 #, fuzzy msgid "Sweep Panorama" msgstr "Panorama" #: src/sonymn.cpp:168 #, fuzzy msgid "Anti Motion Blur" msgstr "Bildmodus" #: src/sonymn.cpp:170 #, fuzzy msgid "Backlight Correction HDR" msgstr "Ohne Korrektur" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "" #: src/sonymn.cpp:172 #, fuzzy msgid "Background Defocus" msgstr "Makro-Fokus" #: src/sonymn.cpp:173 #, fuzzy msgid "Soft Skin" msgstr "Weich" #: src/sonymn.cpp:174 #, fuzzy msgid "3D Image" msgstr "Eindeutige Bildnummer" #: src/sonymn.cpp:189 #, fuzzy msgid "On (Continuous)" msgstr "Kontinuierlich" #: src/sonymn.cpp:190 #, fuzzy msgid "On (Shooting)" msgstr "Aufnahmemodus" #: src/sonymn.cpp:198 msgid "Plus" msgstr "" #: src/sonymn.cpp:214 #, fuzzy msgid "White Flourescent" msgstr "Weiß fluoreszent" #: src/sonymn.cpp:215 #, fuzzy msgid "Cool White Flourescent" msgstr "Weiß fluoreszent" #: src/sonymn.cpp:216 #, fuzzy msgid "Day White Flourescent" msgstr "Tagesweiß fluoreszent" #: src/sonymn.cpp:217 #, fuzzy msgid "Incandescent2" msgstr "Glühend" #: src/sonymn.cpp:218 #, fuzzy msgid "Warm White Fluorescent" msgstr "Weiß fluoreszent" #: src/sonymn.cpp:221 #, fuzzy msgid "Underwater 1 (Blue Water)" msgstr "Unterwasser-Weite1" #: src/sonymn.cpp:222 #, fuzzy msgid "Underwater 2 (Green Water)" msgstr "Unterwasser-Aufnahme" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "" #: src/sonymn.cpp:237 #, fuzzy msgid "Center AF" msgstr "Zentriert" #: src/sonymn.cpp:238 #, fuzzy msgid "Spot AF" msgstr "Punkt" #: src/sonymn.cpp:239 msgid "Flexible Spot AF" msgstr "" #: src/sonymn.cpp:240 #, fuzzy msgid "Touch AF" msgstr "Ein-Tasten-Weißabgleich" #: src/sonymn.cpp:241 #, fuzzy msgid "Manual Focus" msgstr "Manueller Fokus" #: src/sonymn.cpp:242 #, fuzzy msgid "Face Detected" msgstr "Fehler beim Lesen" #: src/sonymn.cpp:257 #, fuzzy msgid "Close Focus" msgstr "Automatischer Fokus" #: src/sonymn.cpp:347 src/sonymn.cpp:348 #, fuzzy msgid "Multi Burst Mode" msgstr "Burst Mode" #: src/sonymn.cpp:350 src/sonymn.cpp:351 #, fuzzy msgid "Multi Burst Image Width" msgstr "Zugehörige Bildbreite" #: src/sonymn.cpp:353 src/sonymn.cpp:354 #, fuzzy msgid "Multi Burst Image Height" msgstr "Bildhöhe" #: src/sonymn.cpp:364 #, fuzzy msgid "JPEG preview image" msgstr "Bildvorschau gültig" #: src/sonymn.cpp:390 #, fuzzy msgid "Auto HDR" msgstr "Automatisch Hoch" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "" #: src/sonymn.cpp:395 #, fuzzy msgid "Shot Information" msgstr "Aufnahmeinformation" #: src/sonymn.cpp:400 src/sonymn.cpp:401 #, fuzzy msgid "Sony Model ID" msgstr "Modell-ID" #: src/sonymn.cpp:403 src/sonymn.cpp:404 #, fuzzy msgid "Color Reproduction" msgstr "Farbrauschunterdrückung" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 #, fuzzy msgid "Dynamic Range Optimizer" msgstr "Dynamische Bereichseinstellung" #: src/sonymn.cpp:427 src/sonymn.cpp:428 #, fuzzy msgid "Minolta MakerNote" msgstr "Minolta Datum" #: src/sonymn.cpp:433 src/sonymn.cpp:434 #, fuzzy msgid "Full Image Size" msgstr "Bildgröße" #: src/sonymn.cpp:436 #, fuzzy msgid "Preview Image Size" msgstr "Bildvorschau gültig" #: src/sonymn.cpp:437 #, fuzzy msgid "Preview image size" msgstr "Bildvorschau gültig" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 msgid "AF Illuminator" msgstr "" #: src/sonymn.cpp:454 src/sonymn.cpp:455 #, fuzzy msgid "JPEG Quality" msgstr "Qualität" #: src/sonymn.cpp:460 src/sonymn.cpp:461 #, fuzzy msgid "Release Mode" msgstr "Freigabedatum" #: src/sonymn.cpp:464 #, fuzzy msgid "Shot number in continuous burst mode" msgstr "Fortlaufende Nummer (wenn Sie im Burst-Modus fotografieren)" #: src/sonymn.cpp:466 src/sonymn.cpp:467 #, fuzzy msgid "Anti-Blur" msgstr "Anti-Unschärfe" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 #, fuzzy msgid "Long Exposure Noise Reduction" msgstr "Rauschreduktion einer langen Belichtung" #: src/sonymn.cpp:475 src/sonymn.cpp:476 #, fuzzy msgid "Intelligent Auto" msgstr "Intervalllänge" #: src/sonymn.cpp:483 #, fuzzy msgid "Unknown Sony1MakerNote tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Sony" #: src/sonymn.cpp:497 #, fuzzy msgid "Continuous High" msgstr "Kontinuierlich, hoch" #: src/sonymn.cpp:501 #, fuzzy msgid "Continuous Low" msgstr "Kontinuierlich, niedrig" #: src/sonymn.cpp:503 src/sonymn.cpp:504 #, fuzzy msgid "D-Range Optimizer Bracketing Low" msgstr "Bildoptimierung" #: src/sonymn.cpp:536 #, fuzzy msgid "Autumn" msgstr "Auktion" #: src/sonymn.cpp:542 msgid "ADI" msgstr "" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "" #: src/sonymn.cpp:578 #, fuzzy msgid "Auto No Flash" msgstr "Automatisch (Blitz)" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 #, fuzzy msgid "Dynamic Range Optimizer Level" msgstr "Dynamische Bereichseinstellung" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 #, fuzzy msgid "Creative Style" msgstr "Erstellungsdatum" #: src/sonymn.cpp:648 src/sonymn.cpp:649 #, fuzzy msgid "Zone Matching Value" msgstr "Zonenabgleich" #: src/sonymn.cpp:666 src/sonymn.cpp:667 #, fuzzy msgid "AF With Shutter" msgstr "Schneller Verschluss" #: src/sonymn.cpp:674 src/sonymn.cpp:675 #, fuzzy msgid "High ISO NoiseReduction" msgstr "Hohe ISO-Rauschreduktion" #: src/sonymn.cpp:678 src/sonymn.cpp:679 #, fuzzy msgid "Image Style" msgstr "Bildtyp" #: src/sonymn.cpp:704 #, fuzzy msgid "Unknown Sony1 Camera Settings tag" msgstr "Unbekanntes Feld in den Canon-Kameraeinstellungen 1" #: src/sonymn.cpp:768 #, fuzzy msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "Unbekanntes Feld in den Canon-Kameraeinstellungen 2" #: src/tags.cpp:188 msgid "Unknown section" msgstr "Unbekannter Abschnitt" #: src/tags.cpp:189 msgid "Image data structure" msgstr "Bilddatenstruktur" #: src/tags.cpp:190 #, fuzzy msgid "Recording offset" msgstr "Fotoeffekt" #: src/tags.cpp:191 msgid "Image data characteristics" msgstr "Bilddatencharakteristik" #: src/tags.cpp:192 msgid "Other data" msgstr "Andere Daten" #: src/tags.cpp:193 msgid "Exif data structure" msgstr "Exif-Datenstruktur" #: src/tags.cpp:195 msgid "Image configuration" msgstr "Bildkonfiguration" #: src/tags.cpp:196 msgid "User information" msgstr "Benutzerinformationen" #: src/tags.cpp:197 msgid "Related file" msgstr "Zugehörige Datei" #: src/tags.cpp:198 msgid "Date and time" msgstr "Datum und Uhrzeit" #: src/tags.cpp:199 msgid "Picture taking conditions" msgstr "Aufnahmebedingungen" #: src/tags.cpp:200 msgid "GPS information" msgstr "GPS-Informationen" #: src/tags.cpp:201 msgid "Interoperability information" msgstr "Interoperabelitätsinformationen." #: src/tags.cpp:202 msgid "Vendor specific information" msgstr "Herstellerspezifische Informationen" #: src/tags.cpp:203 msgid "Adobe DNG tags" msgstr "Adobe DNG -Felder" #: src/tags.cpp:204 #, fuzzy msgid "Panasonic RAW tags" msgstr "Unbekanntes Herstellerbemerkungsfeld von Panasonic" #: src/tags.cpp:205 #, fuzzy msgid "TIFF/EP tags" msgstr "TIFF/EP Standard ID" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "" #: src/tags.cpp:207 #, fuzzy msgid "Adobe OPI tags" msgstr "Adobe OPI -Felder" #: src/tags.cpp:208 msgid "Last section" msgstr "Letzter Abschnitt" #: src/tags.cpp:224 msgid "Primary image" msgstr "Anfangsbild" #: src/tags.cpp:225 msgid "Thumbnail/Preview image" msgstr "Bildvorschau" #: src/tags.cpp:226 msgid "Primary image, Multi page file" msgstr "Anfangsbild, Mehrseitendatei" #: src/tags.cpp:227 msgid "Thumbnail/Preview image, Multi page file" msgstr "Vorschaubild, Mehrseitendatei" #: src/tags.cpp:228 msgid "Primary image, Transparency mask" msgstr "Anfangsbild, Transparenzmaske" #: src/tags.cpp:229 msgid "Thumbnail/Preview image, Transparency mask" msgstr "Bildvorschau, Transparenzmaske" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "Anfangsbild, Mehrseitendatei, Transparenzmaske" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "Vorschaubild, Mehrseitendatei, Transparenzmaske" #: src/tags.cpp:237 msgid "Full-resolution image data" msgstr "Bilddaten in voller Auflösung" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "Bilddaten in reduzierter Auflösung" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "" #: src/tags.cpp:245 msgid "inch" msgstr "Zoll" #: src/tags.cpp:252 msgid "CCITT RLE" msgstr "CCITT RLE" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "T4/Fax-Gruppe 3" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "T6/Fax-Gruppe 4" #: src/tags.cpp:255 msgid "LZW" msgstr "LZW" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "JPEG (alter Stil)" #: src/tags.cpp:257 msgid "JPEG" msgstr "JPEG" #: src/tags.cpp:258 msgid "Adobe Deflate" msgstr "Adobe Deflate" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "JBIG B&W" #: src/tags.cpp:260 msgid "JBIG Color" msgstr "JBIG Farbe" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "Nächsten 2-Bits RLE" #: src/tags.cpp:262 msgid "Epson ERF Compressed" msgstr "Epson ERF komprimiert" #: src/tags.cpp:263 #, fuzzy msgid "Samsung SRW Compressed" msgstr "Epson ERF komprimiert" #: src/tags.cpp:264 msgid "CCITT RLE 1-word" msgstr "CCITT RLE 1-Wort" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "PackBits (Macintosh RLE)" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "Thunderscan RLE" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "IT8 CT Einlage" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "IT8 Zeilenarbeit RLE" #: src/tags.cpp:269 msgid "IT8 Monochrome Picture" msgstr "IT8 Monochrombild" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "IT8 binäre Zeilenkunst" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "Pixar Film (10-Bit LZW)" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "Pixar Log (11-Bit ZIP)" #: src/tags.cpp:273 msgid "Pixar Deflate" msgstr "Pixar Deflate" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "Kodak DCS Encoding" #: src/tags.cpp:275 msgid "ISO JBIG" msgstr "ISO JBIG" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "SGI Log beleuchtetes RLE" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "SGI Log 24-bits gepackt" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "" #: src/tags.cpp:279 msgid "Nikon NEF Compressed" msgstr "Nikon NEF komprimiert" #: src/tags.cpp:280 msgid "Kodak DCR Compressed" msgstr "Kodak DCR komprimiert" #: src/tags.cpp:281 msgid "Pentax PEF Compressed" msgstr "Pentax PEF komprimiert" #: src/tags.cpp:286 msgid "White Is Zero" msgstr "Null ist weiß" #: src/tags.cpp:287 msgid "Black Is Zero" msgstr "Null ist schwarz" #: src/tags.cpp:288 msgid "RGB" msgstr "RGB" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "RGB Palette" #: src/tags.cpp:290 msgid "Transparency Mask" msgstr "Transparenzmaske" #: src/tags.cpp:291 src/tags.cpp:330 msgid "CMYK" msgstr "CMYK" #: src/tags.cpp:292 msgid "YCbCr" msgstr "YCbCr" #: src/tags.cpp:293 msgid "CIELab" msgstr "CIELab" #: src/tags.cpp:294 msgid "ICCLab" msgstr "ICCLab" #: src/tags.cpp:295 msgid "ITULab" msgstr "ITULab" #: src/tags.cpp:296 msgid "Color Filter Array" msgstr "Farbfilterliste" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "Pixar LogL" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "Pixar LogLuv" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "Lineares Roh" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "" #: src/tags.cpp:306 #, fuzzy msgid "Randomized process" msgstr "Normale Verarbeitung" #: src/tags.cpp:311 msgid "top, left" msgstr "oben - links" #: src/tags.cpp:312 msgid "top, right" msgstr "oben - rechts" #: src/tags.cpp:313 msgid "bottom, right" msgstr "unten - rechts" #: src/tags.cpp:314 msgid "bottom, left" msgstr "unten - links" #: src/tags.cpp:315 msgid "left, top" msgstr "links - oben" #: src/tags.cpp:316 msgid "right, top" msgstr "rechts - oben" #: src/tags.cpp:317 msgid "right, bottom" msgstr "rechts - unten" #: src/tags.cpp:318 src/tags.cpp:319 msgid "left, bottom" msgstr "links - unten" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "" #: src/tags.cpp:325 msgid "Horizontal differencing" msgstr "" #: src/tags.cpp:331 #, fuzzy msgid "not CMYK" msgstr "CMYK" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "" #: src/tags.cpp:339 src/tags.cpp:340 #, fuzzy msgid "Undefined data format" msgstr "Nicht unterstütztes Datumsformat" #: src/tags.cpp:345 #, fuzzy msgid "Not indexed" msgstr "Undefiniert" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "" #: src/tags.cpp:351 msgid "A" msgstr "" #: src/tags.cpp:352 msgid "B" msgstr "" #: src/tags.cpp:353 msgid "C" msgstr "" #: src/tags.cpp:354 #, fuzzy msgid "A+B-C" msgstr "Autofokus-C" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "" #: src/tags.cpp:362 msgid "Centered" msgstr "zentriert" #: src/tags.cpp:363 msgid "Co-sited" msgstr "Co-sited" #: src/tags.cpp:368 msgid "No flash" msgstr "Kein Blitz" #: src/tags.cpp:370 #, fuzzy msgid "Fired, return light not detected" msgstr "Blitz ausgelöst, keine Reflektion erkannt" #: src/tags.cpp:371 #, fuzzy msgid "Fired, return light detected" msgstr "Blitz ausgelöst, Reflektion erkannt" #: src/tags.cpp:372 msgid "Yes, did not fire" msgstr "Blitz löste nicht aus" #: src/tags.cpp:373 msgid "Yes, compulsory" msgstr "Blitz ausgelöst, festgelegter Modus" #: src/tags.cpp:374 msgid "Yes, compulsory, return light not detected" msgstr "Blitz ausgelöst, festgelegter Modus, keine Reflektion erkannt" #: src/tags.cpp:375 msgid "Yes, compulsory, return light detected" msgstr "Blitz ausgelöst, festgelegter Modus, Reflektion erkannt" #: src/tags.cpp:376 msgid "No, compulsory" msgstr "Blitz nicht ausgelöst, festgelegter Modus" #: src/tags.cpp:377 #, fuzzy msgid "No, did not fire, return light not detected" msgstr "Blitz wurde nicht ausgelöst, keine Reflektion erkannt" #: src/tags.cpp:378 msgid "No, auto" msgstr "Blitz nicht ausgelöst, automatisch" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "Blitz ausgelöst, automatisch" #: src/tags.cpp:380 msgid "Yes, auto, return light not detected" msgstr "Blitz ausgelöst, automatisch, keine Reflektion erkannt" #: src/tags.cpp:381 msgid "Yes, auto, return light detected" msgstr "Blitz ausgelöst, automatisch, Reflektion erkannt" #: src/tags.cpp:382 msgid "No flash function" msgstr "Keine Blitzlichtfunktion." #: src/tags.cpp:383 msgid "No, no flash function" msgstr "Keine Blitzlichtfunktion." #: src/tags.cpp:384 msgid "Yes, red-eye reduction" msgstr "Blitz ausgelöst, Rote-Augen-Reduktion" #: src/tags.cpp:385 msgid "Yes, red-eye reduction, return light not detected" msgstr "Blitz ausgelöst, Rote-Augen-Reduktion, keine Reflektion erkannt" #: src/tags.cpp:386 msgid "Yes, red-eye reduction, return light detected" msgstr "Blitz ausgelöst, Rote-Augen-Reduktion, Reflektion erkannt" #: src/tags.cpp:387 msgid "Yes, compulsory, red-eye reduction" msgstr "Blitz ausgelöst, fester Modus, Rote-Augen-Reduktion" #: src/tags.cpp:388 msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "" "Blitz ausgelöst, fester Modus, Rote-Augen-Reduktion, keine Reflektion erkannt" #: src/tags.cpp:389 msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "" "Blitz ausgelöst, fester Modus, Rote-Augen-Reduktion, Reflektion erkannt" #: src/tags.cpp:390 msgid "No, red-eye reduction" msgstr "Blitz nicht ausgelöst, Rote-Augen-Reduktion" #: src/tags.cpp:391 msgid "No, auto, red-eye reduction" msgstr "Blitz nicht ausgelöst, automatisch, Rote-Augen-Reduktion" #: src/tags.cpp:392 msgid "Yes, auto, red-eye reduction" msgstr "Blitz ausgelöst, automatisch, Rote-Augen-Reduktion" #: src/tags.cpp:393 msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "Blitz ausgelöst, Rote-Augen-Reduktion, keine Reflektion erkannt" #: src/tags.cpp:394 msgid "Yes, auto, red-eye reduction, return light detected" msgstr "Blitz ausgelöst, automatisch, Rote-Augen-Reduktion, Reflektion erkannt" #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "" #: src/tags.cpp:408 msgid "Processing Software" msgstr "Verarbeitungssoftware" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "" "Der Name und die Version der Software, die benutzt wurde um das Bild nach zu " "bearbeiten." #: src/tags.cpp:412 msgid "New Subfile Type" msgstr "Neuer Unterdateityp" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "Genereller Hinweis auf die Art der Daten in dieser Unterdatei" #: src/tags.cpp:415 #, fuzzy msgid "Subfile Type" msgstr "Neuer Unterdateityp" #: src/tags.cpp:416 #, fuzzy msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "Genereller Hinweis auf die Art der Daten in dieser Unterdatei" #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Die Anzahl der Spalten der Bilddaten, gleich zu der Anzahl an Pixel per " "Zeile. Im JPEG Datenstrom wird ein JPEG Marker anstelle dieses Feldes " "verwendet." #: src/tags.cpp:425 msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" "Die Anzahl an Spalten in den Bilddaten. In einem JPEG Datenstrom wird ein " "JPEG Marker anstelle dieses Feldes verwendet." #: src/tags.cpp:428 msgid "Bits per Sample" msgstr "Bits per Sample." #: src/tags.cpp:429 msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" "Die Anzahl der Bits pro Image Komponente. In diesem Standard ist jede " "Komponente 8 Bit, und somit der Wert dieses Feldes 8. Siehe auch " ". Im JPEG Datenstrom wird ein JPEG Marker statt diesem " "Feld benutzt." #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" "Das Kompressionsschema, das für diese Bilddaten verwendet wird. Wenn ein " "Primärbild komprimiert wird, ist diese Spezifikation nicht notwendig und " "wird weggelassen. Wenn die Vorschaubilder JPEG Kompression verwenden, hat " "dieses Feld den Wert 6." #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" "Der Pixel Aufbau. Im JPEG Datenstrom wird ein JPEG Marker statt diesem Feld " "benutzt." #: src/tags.cpp:444 msgid "Thresholding" msgstr "" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" #: src/tags.cpp:448 #, fuzzy msgid "Cell Width" msgstr "Breite des Zuschnitts" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" #: src/tags.cpp:452 #, fuzzy msgid "Cell Length" msgstr "Kachellänge" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" #: src/tags.cpp:456 msgid "Fill Order" msgstr "Füllreihenfolge" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "Die logische Reihenfolge der Bits in einem Byte." #: src/tags.cpp:459 msgid "Document Name" msgstr "Dokumentenname" #: src/tags.cpp:460 msgid "The name of the document from which this image was scanned" msgstr "Der Name des Dokuments von dem das Bild eingelesen wurde." #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" "Eine ASCII Zeichenkette der den Titel des Bildes spezifiziert. Dieser kann " "ein Kommentar sein wie zb \"1988 Firmen Picknick\" oder ähnlich. 2 Byte " "Character Codes können nicht benutzt werden. Wenn ein 2 Byte Code notwendig " "ist, sollte das Exif Privatfeld benutzt werden." #: src/tags.cpp:470 msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" "Der Hersteller des Bildaufzeichnungsgerätes.Dies ist der Hersteller der " "Kamera, des Scanners, des Video Digitalisierers oder anderem Equipment " "welches dieses Bild erzeugte. Wenn das Feld leer ist, wird er als unbekannt " "behandelt." #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" "Der Name oder die Modellnummer des Equipments. Dies ist der Name oder die " "Modellnummer der Kamera, des Scanners, des Video Digitalisierers oder des " "Equipments, das das Bild generiert hat. Wenn das Feld leer ist, wird es als " "unbekannt behandelt." #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" "Für jeden Strip ist dies das Offset für diesen Strip in Bytes. Es wird " "empfohlen, diese so zu wählen, das die Anzahl an Byts pro Strip nicht 64 " "KBytes überschreitet. In einem JPEG Datenstrom diese Spezifikation nicht " "nötig und wird weggelassen. Siehe auch und ." #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "Die Bildausrichtung in Sicht von Spalten und Zeilen." #: src/tags.cpp:491 msgid "Samples per Pixel" msgstr "Samples pro Pixel" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" "Die Anzahl der Komponenten pro Pixel. Da sicher dieser Standard auf RGB und " "YCbCr Bilder bezieht, ist der Wert dieses Feldes immer 3. Im JPEG Datenstrom " "wird anstatt diesem Feld ein JPEG Marker benutzt." #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "Zeilen pro Strip" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" "Die Anzahl der Zeilen pro Strip. Dieses ist die Anzahl der Zeilen in einem " "Strip falls ein Bild in Strips unterteilt ist. In einem JPEG Datenstrom ist " "dieses Feld nicht nötig und wird weggelassen. Siehe auch und " "." #: src/tags.cpp:502 msgid "Strip Byte Count" msgstr "Strip Byte Anzahl" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" "Die Anzahl der Bytes pro Strip. In einem JPEG Datenstrom ist dieses Feld " "nicht nötig und wird weggelassen." #: src/tags.cpp:506 msgid "X-Resolution" msgstr "Auflösung in x-Richtung" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" "Die Anzahl an Pixel pro in der Richtung. Wenn " "keine bekannt ist, werden 72 [dpi] angenommen." #: src/tags.cpp:510 msgid "Y-Resolution" msgstr "Auflösung in y-Richtung" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" "Die Anzahl an Pixel pro in der Richtung. " "Derselbe Wert wie in wird spezifiziert." #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" "Zeigt an, ob Pixelkomponenten im planarer oder \"chunky\" Format vorliegen. " "In einem JPEG Bild wird ein JPEG Marker statt diesem Feld benutzt. Wenn " "dieses Feld nicht existiert wird das TIFF Default 1 (\"chunky\") angenommen." #: src/tags.cpp:520 #, fuzzy msgid "Gray Response Unit" msgstr "Graupunkt" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "" #: src/tags.cpp:523 #, fuzzy msgid "Gray Response Curve" msgstr "Farbtonkurve" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "" #: src/tags.cpp:526 #, fuzzy msgid "T4 Options" msgstr "Option" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "" #: src/tags.cpp:529 #, fuzzy msgid "T6 Options" msgstr "Option" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "" #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" "Die Einheit zur Messung von und . Die selbe " "Einheit wird für und verwendet. Wenn diese " "unbekannt ist, wird der Standard von 2 (Zoll) angenommen." #: src/tags.cpp:537 #, fuzzy msgid "Page Number" msgstr "Bildnummer" #: src/tags.cpp:538 #, fuzzy msgid "The page number of the page from which this image was scanned." msgstr "Der Name des Dokuments von dem das Bild eingelesen wurde." #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" "Eine Transferfunktion für das Bild, beschrieben in tabuliertem Stil. " "Normalerweise ist dieses Feld nicht nötig, da der Farbraum bereits im " "Farbraum Informationsfeld angegeben wurde ()." #: src/tags.cpp:546 msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" "Dieses Feld spezifiziert den Namen und die Version der Software oder " "Firmware des Kameras oder anderen Bildeingabegerätes, das dieses Bild " "erzeugt hat. Das detaillierte Format ist nicht spezifiziert, aber es ist " "empfohlen, das das untenstehende Beispiel nachgeahmt wird. Wenn das Feld " "leer ist, wird es als unbekannt angenommen." #: src/tags.cpp:553 msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" "Das Datum und die Uhrzeit der Erstellung des Bildes. In diesem Exif-Standard " "ist es das Datum und die Zeit der letzten Änderung." #: src/tags.cpp:557 msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" "Dieses Feld enthält den Namen des Besitzers der Kamera, des Fotographen oder " "Bilderschaffers. Das Format ist nicht festgelegt, aber es wird empfohlen die " "Informationen wie in unten stehendem Beispiel anzugeben für bessere " "Interoperabilität. Wenn das Feld leer ist, wird der Name als unbekannt " "angenommen." #: src/tags.cpp:564 #, fuzzy msgid "Host Computer" msgstr "Host-Rechner" #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" "Dieses Feld enthält Informationen über den Host-Rechner, der benutzt wurde " "um das Bild zu generieren." #: src/tags.cpp:568 #, fuzzy msgid "Predictor" msgstr "Anbieter" #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" #: src/tags.cpp:573 msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" "Die Chromazität des Weißpunktes des Bildes. Normalerweise ist dieses Feld " "nicht nötig, da der Farbraum im -Feld spezifiziert wird." #: src/tags.cpp:578 msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" "Die Chromazität der drei primären Farben des Bildes. Normalerweise ist " "dieses Feld nicht notwendig, da der Farbraum bereits im Farbraum " "Informationsfeld angeben wurde." #: src/tags.cpp:582 #, fuzzy msgid "Color Map" msgstr "Farbmatrix" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" #: src/tags.cpp:593 msgid "Tile Width" msgstr "Kachelbreite" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "" #: src/tags.cpp:596 msgid "Tile Length" msgstr "Kachellänge" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "" #: src/tags.cpp:599 msgid "Tile Offsets" msgstr "Kachel-Offsets" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" #: src/tags.cpp:605 msgid "Tile Byte Counts" msgstr "Kachel-Byte-Anzahl" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" #: src/tags.cpp:609 msgid "SubIFD Offsets" msgstr "SubIFD Offsets" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "" "Definiert von der Adobe Corporation um TIFF Bäume innerhalb von TIFF Dateien " "zu erlauben." #: src/tags.cpp:612 #, fuzzy msgid "Ink Set" msgstr "Setzen" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:615 #, fuzzy msgid "Ink Names" msgstr "Besitzername" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:618 #, fuzzy msgid "Number Of Inks" msgstr "Taktanzahl" #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" #: src/tags.cpp:621 #, fuzzy msgid "Dot Range" msgstr "Dynamischer Bereich" #: src/tags.cpp:622 #, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "" #: src/tags.cpp:624 #, fuzzy msgid "Target Printer" msgstr "Zielblende" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "" #: src/tags.cpp:627 #, fuzzy msgid "Extra Samples" msgstr "Bits pro Abtastung" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" #: src/tags.cpp:631 #, fuzzy msgid "Sample Format" msgstr "Dateiformat" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "" #: src/tags.cpp:634 #, fuzzy msgid "SMin Sample Value" msgstr "Audio-Abtastrate" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "" #: src/tags.cpp:637 #, fuzzy msgid "SMax Sample Value" msgstr "Maximale Blende" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "" #: src/tags.cpp:640 msgid "Transfer Range" msgstr "Transferbereich" #: src/tags.cpp:641 msgid "Expands the range of the TransferFunction" msgstr "Erweitert den Bereich der Transferfunktion" #: src/tags.cpp:643 msgid "Clip Path" msgstr "" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" #: src/tags.cpp:647 msgid "X Clip Path Units" msgstr "" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:651 msgid "Y Clip Path Units" msgstr "" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" #: src/tags.cpp:660 #, fuzzy msgid "JPEG tables" msgstr "JPEG-Verarbeitung" #: src/tags.cpp:661 msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" #: src/tags.cpp:668 msgid "JPEG Process" msgstr "JPEG-Verarbeitung" #: src/tags.cpp:669 msgid "This field indicates the process used to produce the compressed data" msgstr "" "Dieses Feld gibt einen Hinweis auf die Verarbeitung die benutzt wurde, um " "die komprimierten Daten zu erzeugen." #: src/tags.cpp:671 msgid "JPEG Interchange Format" msgstr "JPEG Interchange Format" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" "Der Abstand zum Startbyte (SOI) der JPEG Vorschaubilddaten. Dieses Feld wird " "nicht für die primären JPEG Daten benutzt." #: src/tags.cpp:675 msgid "JPEG Interchange Format Length" msgstr "JPEG Interchange Format Länge" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" "Die Anzahl an Bytes von JPEG Daten im Vorschaubild. Dieses Feld wird nicht " "für die primären Bilddaten benutzt. JPEG Vorschaudaten werden nicht " "aufgeteilt, sondern als kontinuierlicher Datenstrom zwischen den SOI und EOI " "Markern aufgezeichnet. JPEG komprimierte Vorschaubilder müssen inklusive " "aller anderen Daten in weniger als 64 KByte aufgezeichnet werden um in den " "APP1 JPEG Marker zu passen." #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "" #: src/tags.cpp:684 #, fuzzy msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "" "Dieses Feld gibt einen Hinweis auf die Verarbeitung die benutzt wurde, um " "die komprimierten Daten zu erzeugen." #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "" #: src/tags.cpp:694 #, fuzzy msgid "JPEG Q-Tables" msgstr "JPEG-Verarbeitung" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" #: src/tags.cpp:698 #, fuzzy msgid "JPEG DC-Tables" msgstr "JPEG-Verarbeitung" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" #: src/tags.cpp:702 #, fuzzy msgid "JPEG AC-Tables" msgstr "JPEG-Verarbeitung" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" #: src/tags.cpp:707 msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" "Die Matrix Koeffizienten für Transformationen von RGB in YCbCr Imagedaten. " "In TIFF ist kein Default angegeben, aber hier wird der Wert, der in Appendix " "E \"Color Space Guidelines\" angegeben ist, als Default verwendet. Der " "Farbraum ist im Farbraum Informationsfeld deklariert, mit dem Standardwert, " "welche die beste Bild Interoperabilität unter diesen Bedingungen ergibt." #: src/tags.cpp:715 msgid "YCbCr Sub-Sampling" msgstr "YCbCr Sub Sampling" #: src/tags.cpp:716 msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Die Samplingrate der Chrominanz Komponenten in Bezug zu den " "Helligkeitskomponenten. In JPEG Datenströmen wird ein JPEG Marker anstelle " "dieses Feldes verwendet." #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" #: src/tags.cpp:735 msgid "Reference Black/White" msgstr "Schwarz/Weiß Referenz" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" "Der Referenz Schwarzwert und der Referenzweißwert. Im TIFF Standard sind " "keine Standards angegeben, aber unten stehende Werte werden als Default hier " "verwendet. Der Farbraum ist in einem Farbraum Informationsfeld deklariert, " "mit dem Wert als Standard, der die besten Bildwerte für Interoperabilität " "garantiert." #: src/tags.cpp:743 msgid "XML Packet" msgstr "XML Paket" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "XMP-Metadaten (Adobe Technische Notiz 9-14-02)" #: src/tags.cpp:746 msgid "Windows Rating" msgstr "Windows-Bewertung" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "Bewertungsfeld das von Windows benutzt wird." #: src/tags.cpp:749 msgid "Windows Rating Percent" msgstr "Windows-Bewertung in Prozent" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "Bewertungsfeld das von Windows benutzt wird. Der Wert ist in Prozent." #: src/tags.cpp:752 #, fuzzy msgid "Image ID" msgstr "Eindeutige Bildnummer" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" "Gibt das geometrische Muster des Farbfilter Arrays (CFA - Color Filter " "Array) des Bildsensors an, wenn ein 1-Chip-Farbflächen-Sensor benutzt wird. " "Es bezieht sich nicht auf alle Sensormethoden." #: src/tags.cpp:770 #, fuzzy msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" "Copyright Information. In diesem Standard wird dieses Feld dafür benutzt, um " "sowohl das Copyright des Fotographen als auch des Editors anzugeben. Es " "beinhaltet die Copyright Notiz der Person oder der Organisation die Rechte " "an dem Bild einfordert. Die interoperable Copyrightnotiz sollte in dieses " "Feld geschrieben werden; z.B., \"Copyright Claudia Mustermann, 200x. All " "rights reserved.\" In diesem Standard enthält dieses Feld sowohl Copyright " "des Fotographen als auch des Editors in getrennten Feldern. Wenn das Feld " "leer ist, wird es als unbekannt gewertet." #: src/tags.cpp:789 #, fuzzy msgid "Exposure time, given in seconds." msgstr "Belichtungszeit in Sekunden." #: src/tags.cpp:790 src/tags.cpp:1553 msgid "The F number." msgstr "Die F Nummer." #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "IPTC/NAA" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "Enthält den IPTC/NAA Eintrag." #: src/tags.cpp:794 msgid "Image Resources Block" msgstr "Bildressourcenblock" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "" "Enthält die Informationen die von dem Programm Adobe Photoshop eingebettet " "wurden." #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" "Ein Zeiger auf die Exif IFD Interoperabilität, Exif IFD hat die gleiche " "Struktur wie die des im TIFF spezifizierte IFD, allerdings enthält es keine " "Bilddaten wie im Fall von TIFF." #: src/tags.cpp:803 msgid "Inter Color Profile" msgstr "Farbprofile" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" "Enthält eine Farbrofil zur Charakterisierung des Farbraums gemäß dem " "InterColor Consortium (ICC)" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" "Die Programmklasse, die die Kamera zum Setzen der Belichtungszeit bei der " "Aufnahme benutzte." #: src/tags.cpp:807 #, fuzzy msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "Exif-Feld 34852, 0x8824. Spektrale Empfindlichkeit jedes Kanals." #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" "Ein Zeiger auf das GPS Info IFD. Die Interoperabilitätsstruktur des GPS Info " "IFD hat, genau wie das Exif IFD, keine Bilddaten." #: src/tags.cpp:813 src/tags.cpp:1564 msgid "ISO Speed Ratings" msgstr "ISO Geschwindigkeitsangabe" #: src/tags.cpp:813 src/tags.cpp:1565 msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" "Gibt die ISO Geschwindigkeit und Breite der Kamera bzw. des Eingabegeräts " "an, wie in ISO 12232 spezifiziert." #: src/tags.cpp:814 #, fuzzy msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" "Exif-Feld 34856, 0x8828. Verfahren zur Messung optoelektronischer Kennlinien " "wie in ISO 14524 spezifiziert." #: src/tags.cpp:815 #, fuzzy msgid "Interlace" msgstr "Interlaced" #: src/tags.cpp:815 #, fuzzy msgid "Indicates the field number of multifield images." msgstr "Gibt das Layout eines Bildes an." #: src/tags.cpp:816 #, fuzzy msgid "Time Zone Offset" msgstr "Kachel-Offsets" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" #: src/tags.cpp:823 #, fuzzy msgid "Self Timer Mode" msgstr "Selbstauslöser" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "" #: src/tags.cpp:824 #, fuzzy msgid "Date Time Original" msgstr "Datum und Uhrzeit (Original)" #: src/tags.cpp:824 #, fuzzy msgid "The date and time when the original image data was generated." msgstr "Das Datum und die Uhrzeit der letzten Änderung der Metadaten." #: src/tags.cpp:825 #, fuzzy msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "" "Zu den komprimierten Daten gehörige Informationen. Der Kompressionsmodus der " "für ein komprimiertes Bild verwendet wird ist hier in Teilbits per Pixel " "angegeben." #: src/tags.cpp:826 #, fuzzy msgid "Shutter speed." msgstr "Verschlussgeschwindigkeit" #: src/tags.cpp:827 #, fuzzy msgid "The lens aperture." msgstr "Minimale Blende" #: src/tags.cpp:828 #, fuzzy msgid "The value of brightness." msgstr "Die Anzahl der Takte." #: src/tags.cpp:829 #, fuzzy msgid "The exposure bias." msgstr "Belichtungskontrolle" #: src/tags.cpp:830 src/tags.cpp:1645 msgid "Max Aperture Value" msgstr "Maximale Blende" #: src/tags.cpp:830 #, fuzzy msgid "The smallest F number of the lens." msgstr "Der Name der Szene." #: src/tags.cpp:831 src/tags.cpp:1651 msgid "The distance to the subject, given in meters." msgstr "Die Entfernung zum Motiv (in Metern)." #: src/tags.cpp:832 src/tags.cpp:1654 msgid "The metering mode." msgstr "Der Messmodus." #: src/tags.cpp:833 src/tags.cpp:1657 msgid "The kind of light source." msgstr "Die Art der Lichtquelle." #: src/tags.cpp:834 #, fuzzy msgid "Indicates the status of flash when the image was shot." msgstr "" "Dieses Feld enthält den Weißabgleichsmodus, der zur Aufnahme eingestellt war." #: src/tags.cpp:835 msgid "The actual focal length of the lens, in mm." msgstr "" #: src/tags.cpp:836 msgid "Amount of flash energy (BCPS)." msgstr "" #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "" #: src/tags.cpp:838 #, fuzzy msgid "Noise" msgstr "Keine" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "" #: src/tags.cpp:839 #, fuzzy msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" "Die Anzahl an Pixel pro in der Richtung. " "Derselbe Wert wie in wird spezifiziert." #: src/tags.cpp:840 #, fuzzy msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" "Die Anzahl an Pixel pro in der Richtung. " "Derselbe Wert wie in wird spezifiziert." #: src/tags.cpp:841 msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "" #: src/tags.cpp:843 #, fuzzy msgid "Security Classification" msgstr "Elektronische Vergrößerung" #: src/tags.cpp:843 #, fuzzy msgid "Security classification assigned to the image." msgstr "Elektronische Vergrößerung" #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "" #: src/tags.cpp:845 #, fuzzy msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "" "Dieses Feld gibt die Position und Größe des Hauptmotivs in der Szene an." #: src/tags.cpp:846 #, fuzzy msgid "Encodes the camera exposure index setting when image was captured." msgstr "" "Gibt den Belichtungsindex an, der in der Kamera oder im Eingabegerät während " "der Aufnahme selektiert ist." #: src/tags.cpp:847 msgid "TIFF/EP Standard ID" msgstr "TIFF/EP Standard ID" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" "Enthält vier ASCII Zeichen, wie z.B. \"1\",\"0\",\"0\",\"0\", die die TIFF/" "EP Standardversion der TIFF/EP Datei repräsentiert." #: src/tags.cpp:851 #, fuzzy msgid "Type of image sensor." msgstr "Rohbild-Center" #: src/tags.cpp:852 msgid "Windows Title" msgstr "Windows-Titel" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "Titelfeld, in UCS2 kodiert, das von Windows benutzt wird." #: src/tags.cpp:855 msgid "Windows Comment" msgstr "Windows-Kommentar" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "Kommentarfeld, in UCS2 kodiert, das von Windows benutzt wird." #: src/tags.cpp:858 msgid "Windows Author" msgstr "Windows-Autor" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "Autorfeld, in UCS2 kodiert, das von Windows benutzt wird." #: src/tags.cpp:861 msgid "Windows Keywords" msgstr "Windows-Schlüsselbegriffe" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "Schlüsselfelder, kodiert in UCS2, die von Windows benutzt werden." #: src/tags.cpp:864 msgid "Windows Subject" msgstr "Windows-Motiv" #: src/tags.cpp:865 msgid "Subject tag used by Windows, encoded in UCS2" msgstr "Motivfeld, kodiert in UCS2, das von Windows benutzt wird." #: src/tags.cpp:867 #, fuzzy msgid "Print Image Matching" msgstr "Zonenabgleich" #: src/tags.cpp:868 #, fuzzy msgid "Print Image Matching, description needed." msgstr "Zonenabgleich" #: src/tags.cpp:870 msgid "DNG version" msgstr "DNG-Version" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" #: src/tags.cpp:875 msgid "DNG backward version" msgstr "DNG-Rückversion" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" #: src/tags.cpp:884 msgid "Unique Camera Model" msgstr "Eindeutiges Kameramodell" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" #: src/tags.cpp:892 msgid "Localized Camera Model" msgstr "Lokalisiertes Kameramodell" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" #: src/tags.cpp:897 msgid "CFA Plane Color" msgstr "CFA Ebenenfarbe" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" #: src/tags.cpp:902 msgid "CFA Layout" msgstr "" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "" #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" #: src/tags.cpp:912 #, fuzzy msgid "Black Level Repeat Dim" msgstr "Schwarzlevel Delta H" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "" #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" #: src/tags.cpp:921 msgid "Black Level Delta H" msgstr "Schwarzlevel Delta H" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" #: src/tags.cpp:928 msgid "Black Level Delta V" msgstr "Schwarzlevel Delta V" #: src/tags.cpp:929 msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" #: src/tags.cpp:935 msgid "White Level" msgstr "Weißlevel" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" #: src/tags.cpp:941 msgid "Default Scale" msgstr "Standard-Skalierung" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" #: src/tags.cpp:957 #, fuzzy msgid "Default Crop Size" msgstr "Standard-Skalierung" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" #: src/tags.cpp:964 msgid "Color Matrix 1" msgstr "Farbmatrix 1" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" #: src/tags.cpp:971 msgid "Color Matrix 2" msgstr "Farbmatrix 2" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" #: src/tags.cpp:977 msgid "Camera Calibration 1" msgstr "Kamerakalibrierung 1" #: src/tags.cpp:978 msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:987 msgid "Camera Calibration 2" msgstr "Kamerakalibrierung 2" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:997 #, fuzzy msgid "Reduction Matrix 1" msgstr "Farbmatrix 1" #: src/tags.cpp:998 msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1004 #, fuzzy msgid "Reduction Matrix 2" msgstr "Farbmatrix 2" #: src/tags.cpp:1005 msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1011 msgid "Analog Balance" msgstr "Analogabgleich" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" #: src/tags.cpp:1021 msgid "As Shot Neutral" msgstr "Neutral wie aufgenommen" #: src/tags.cpp:1022 msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" #: src/tags.cpp:1027 msgid "As Shot White XY" msgstr "Weiß XY wie aufgenommen " #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" #: src/tags.cpp:1032 #, fuzzy msgid "Baseline Exposure" msgstr "Mehrfache Belichtung" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" #: src/tags.cpp:1047 msgid "Baseline Noise" msgstr "" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" #: src/tags.cpp:1054 #, fuzzy msgid "Baseline Sharpness" msgstr "Schärfe" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" #: src/tags.cpp:1061 msgid "Bayer Green Split" msgstr "" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" #: src/tags.cpp:1070 msgid "Linear Response Limit" msgstr "" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" #: src/tags.cpp:1079 msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" "CameraSerialNumber enthält die Seriennummer der Kamera oder des " "Kamerakörpers mit dem das Foto gemacht wurde." #: src/tags.cpp:1082 msgid "Lens Info" msgstr "Linseninformation" #: src/tags.cpp:1083 msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" #: src/tags.cpp:1095 #, fuzzy msgid "Anti Alias Strength" msgstr "Blitzstärke" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" #: src/tags.cpp:1102 msgid "Shadow Scale" msgstr "Schatten-Skalierung" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" #: src/tags.cpp:1106 msgid "DNG Private Data" msgstr "DNG-Privatdaten" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" #: src/tags.cpp:1111 #, fuzzy msgid "MakerNote Safety" msgstr "Anmerkungen des Herstellers" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" #: src/tags.cpp:1119 msgid "Calibration Illuminant 1" msgstr "" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" #: src/tags.cpp:1125 #, fuzzy msgid "Calibration Illuminant 2" msgstr "Verzerrungskorrektur" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" #: src/tags.cpp:1132 #, fuzzy msgid "Best Quality Scale" msgstr "Standard-Skalierung" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" #: src/tags.cpp:1140 msgid "Raw Data Unique ID" msgstr "Eindeutige ID der Rohdaten" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" #: src/tags.cpp:1149 msgid "Original Raw File Name" msgstr "Originaler Rohdateiname" #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" #: src/tags.cpp:1153 #, fuzzy msgid "Original Raw File Data" msgstr "Originaler Rohdateiname" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" #: src/tags.cpp:1164 msgid "Active Area" msgstr "Aktiver Bereich" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" #: src/tags.cpp:1168 msgid "Masked Areas" msgstr "Maskierte Bereiche" #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" #: src/tags.cpp:1176 #, fuzzy msgid "As-Shot ICC Profile" msgstr "Aktuelles ICC-Profil" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" #: src/tags.cpp:1188 msgid "As-Shot Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" #: src/tags.cpp:1198 msgid "Current ICC Profile" msgstr "Aktuelles ICC-Profil" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1205 #, fuzzy msgid "Current Pre-Profile Matrix" msgstr "Aktuelles ICC-Profil" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1212 #, fuzzy msgid "Colorimetric Reference" msgstr "Projektreferenz" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" #: src/tags.cpp:1220 #, fuzzy msgid "Camera Calibration Signature" msgstr "Kamerakalibrierung 1" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" #: src/tags.cpp:1227 #, fuzzy msgid "Profile Calibration Signature" msgstr "Verzerrungskorrektur" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" #: src/tags.cpp:1234 #, fuzzy msgid "As Shot Profile Name" msgstr "Aktuelles ICC-Profil" #: src/tags.cpp:1235 msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" #: src/tags.cpp:1238 #, fuzzy msgid "Noise Reduction Applied" msgstr "Rauschunterdrückung" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" #: src/tags.cpp:1246 #, fuzzy msgid "Profile Name" msgstr "Druckstocknamen" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1279 #, fuzzy msgid "Profile Tone Curve" msgstr "Farbtonkurve" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" #: src/tags.cpp:1288 msgid "Profile Embed Policy" msgstr "" #: src/tags.cpp:1289 #, fuzzy msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" "Dieses Feld enthält Informationen über den Host-Rechner, der benutzt wurde " "um das Bild zu generieren." #: src/tags.cpp:1292 #, fuzzy msgid "Profile Copyright" msgstr "Copyright" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" #: src/tags.cpp:1297 #, fuzzy msgid "Forward Matrix 1" msgstr "Farbmatrix 1" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" #: src/tags.cpp:1301 #, fuzzy msgid "Forward Matrix 2" msgstr "Farbmatrix 2" #: src/tags.cpp:1305 #, fuzzy msgid "Preview Application Name" msgstr "Vorschaudaten" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" #: src/tags.cpp:1309 #, fuzzy msgid "Preview Application Version" msgstr "Vorschauversion" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" #: src/tags.cpp:1313 #, fuzzy msgid "Preview Settings Name" msgstr "Bildvorschau gültig" #: src/tags.cpp:1314 msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" #: src/tags.cpp:1317 #, fuzzy msgid "Preview Settings Digest" msgstr "Beschreibung der Geräteeinstellungen" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" #: src/tags.cpp:1321 #, fuzzy msgid "Preview Color Space" msgstr "Video-Farbraum" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" #: src/tags.cpp:1326 #, fuzzy msgid "Preview Date Time" msgstr "Vorschaudaten" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" #: src/tags.cpp:1331 #, fuzzy msgid "Raw Image Digest" msgstr "Rohbild-Center" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" #: src/tags.cpp:1337 #, fuzzy msgid "Original Raw File Digest" msgstr "Originaler Rohdateiname" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" #: src/tags.cpp:1387 #, fuzzy msgid "Noise Profile" msgstr "Rauschfilter" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" #: src/tags.cpp:1396 src/tags.cpp:1397 msgid "Unknown IFD tag" msgstr "Unbekanntes IFD-Feld" #: src/tags.cpp:1408 src/tags.cpp:1466 msgid "Not defined" msgstr "Undefiniert" #: src/tags.cpp:1413 msgid "Creative program" msgstr "Kreativprogramm" #: src/tags.cpp:1414 msgid "Action program" msgstr "Aktionsprogramm" #: src/tags.cpp:1415 msgid "Portrait mode" msgstr "Portraitmodus" #: src/tags.cpp:1416 msgid "Landscape mode" msgstr "Landschaftsmodus" #: src/tags.cpp:1425 msgid "Multi-spot" msgstr "Mehr-Punkt" #: src/tags.cpp:1437 msgid "Tungsten (incandescent light)" msgstr "weißglühendes Wolfram Licht" #: src/tags.cpp:1439 msgid "Fine weather" msgstr "Gutes Wetter" #: src/tags.cpp:1440 msgid "Cloudy weather" msgstr "Wolkiges Wetter" #: src/tags.cpp:1442 msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "Tageslicht Leuchtstoff (D 5700 - 7100K)" #: src/tags.cpp:1443 msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "Tageslichtweiß Leuchtstoff (N 4600 - 5400K)" #: src/tags.cpp:1444 msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "Kühles weißes Leuchtstofflicht (W 3900 - 4500K)" #: src/tags.cpp:1445 msgid "White fluorescent (WW 3200 - 3700K)" msgstr "Weißes Leuchtstofflicht (WW 3200 - 3700K)" #: src/tags.cpp:1446 msgid "Standard light A" msgstr "Standard Licht A" #: src/tags.cpp:1447 msgid "Standard light B" msgstr "Standard Licht B" #: src/tags.cpp:1448 msgid "Standard light C" msgstr "Standard Licht C" #: src/tags.cpp:1449 msgid "D55" msgstr "D55" #: src/tags.cpp:1450 msgid "D65" msgstr "D65" #: src/tags.cpp:1451 msgid "D75" msgstr "D75" #: src/tags.cpp:1452 msgid "D50" msgstr "D50" #: src/tags.cpp:1453 msgid "ISO studio tungsten" msgstr "ISO Studio Wolfram" #: src/tags.cpp:1454 msgid "Other light source" msgstr "Andere Lichtquelle" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "Unkalibriert" #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "Einzel-Chip-Farbsensor" #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "Zwei-Chip-Farbsensor" #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "Drei-Chip-Farbsensor" #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "Farb-sequentieller Bereich" #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "Trilinearer Sensor" #: src/tags.cpp:1472 msgid "Color sequential linear" msgstr "Farb-sequentieller linear" #: src/tags.cpp:1477 msgid "Film scanner" msgstr "Filmscanner" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "Reflexiondruckscanner" #: src/tags.cpp:1479 msgid "Digital still camera" msgstr "Digitalkamera" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "Direkt fotographiert" #: src/tags.cpp:1489 msgid "Normal process" msgstr "Normale Verarbeitung" #: src/tags.cpp:1490 msgid "Custom process" msgstr "Gesonderte Verarbeitung" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "Langsamer Zugewinn" #: src/tags.cpp:1519 msgid "High gain up" msgstr "Schneller Zugewinn" #: src/tags.cpp:1520 msgid "Low gain down" msgstr "Langsame Abnahme" #: src/tags.cpp:1521 msgid "High gain down" msgstr "Schnelle Abnahme" #: src/tags.cpp:1542 msgid "Close view" msgstr "Nahaufnahme" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "Große Entfernung" #: src/tags.cpp:1550 msgid "Exposure time, given in seconds (sec)." msgstr "Belichtungszeit in Sekunden." #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" "Gibt die spektrale Empfindlichkeit jedes Kanals der Kamera an. Der Wert des " "Feldes ist eine ASCII-Zeichenkette kompatibel mit dem Standard der vom ASTM " "Technical Committee entwickelt wurde." #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "" #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" "Gibt die Opto Elektronische Konvertierungsfunktion (OECF) an, die in ISO " "14524 spezifiziert ist. ist der Zusammenhang zwischen dem optischen " "Input und den Bildwerten." #: src/tags.cpp:1573 #, fuzzy msgid "Sensitivity Type" msgstr "ISO-Empfindlichkeit" #: src/tags.cpp:1574 msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" #: src/tags.cpp:1580 #, fuzzy msgid "Standard Output Sensitivity" msgstr "Spektrale Empfindlichkeit" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1585 #, fuzzy msgid "Recommended Exposure Index" msgstr "Belichtungsindex" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1595 #, fuzzy msgid "ISO Speed Latitude yyy" msgstr "ISO Geschwindigkeitsangabe" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" #: src/tags.cpp:1600 #, fuzzy msgid "ISO Speed Latitude zzz" msgstr "ISO Geschwindigkeitsangabe" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" "Die Version des Exif Standards die unterstützt wird. Wenn dieses Feld nicht " "vorhanden ist wird angenommen, das der Standard nicht beachtet wird." #: src/tags.cpp:1609 msgid "Date and Time (original)" msgstr "Datum und Uhrzeit (original)" #: src/tags.cpp:1610 msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" "Das Datum und die Uhrzeit zu der das Bild generiert wurde. Für eine " "Digitalkamera ist das der Zeitpunkt an dem das Bild geschossen wurde." #: src/tags.cpp:1613 msgid "Date and Time (digitized)" msgstr "Datum und Uhrzeit (digitalisiert)" #: src/tags.cpp:1614 msgid "The date and time when the image was stored as digital data." msgstr "" "Das Datum und die Uhrzeit der Speicherung des Bildes als digitale Daten." #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" "Zu den komprimierten Daten gehörende Informationen. Die Kanäle jeder " "Komponente sind in der Reihenfolge erster bis vierter sortiert. Für " "unkomprimierte Daten ist das Datenlayout im -Feld " "spezifiziert. Da aber nur die Reihenfolge von Y, " "Cb und Cr angeben kann, wird dieses Feld dann benutzt, wenn die " "komprimierten Daten andere Komponenten als Y, Cb und Cr benutzen, oder um " "die Unterstützung anderer Sequenzen zu erlauben." #: src/tags.cpp:1626 msgid "Compressed Bits per Pixel" msgstr "Komprimierte Bits per Pixel" #: src/tags.cpp:1627 msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" "Zu den komprimierten Daten gehörige Informationen. Der Kompressionsmodus der " "für ein komprimiertes Bild verwendet wird ist hier in Teilbits per Pixel " "angegeben." #: src/tags.cpp:1631 msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" "Verschlussgeschwindigkeit. Die Einheit ist die APEX (Additive System of " "Photographic Exposure) Einstellung" #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "Die Linsenblende. Die Einheit ist der APEX Wert." #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" "Die Helligkeit. Die Einheit ist der APEX Wert. Normalerweise ist dieser Wert " "zwischen -99.99 und 99.99." #: src/tags.cpp:1641 msgid "Exposure Bias" msgstr "Belichtungskontrolle" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" "Die Belichtungskontrolle. Die Einheit ist der APEX Wert. Normalerweise wird " "diese innerhalb des Bereiches -99.99 bis 99.99 spezifiziert." #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" "Die kleinste F Nummer der Linse. Die Einheit ist der APEX Wert. " "Normalerweise wird es im Bereich von 00.00 bis 99.99 angegeben, ist aber " "nicht limitiert auf diesen Bereich." #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "" "Dieser Eintrag wird aufgezeichnet, wenn das Bild mit einem Blitz gemacht " "wurde." #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" "Die wirkliche Brennweite der Linse, in mm. Es wird nicht auf das 35mm " "Filmkamera Äquivalent konvertiert." #: src/tags.cpp:1667 msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "" "Dieses Feld gibt die Position und Größe des Hauptmotivs in der Szene an." #: src/tags.cpp:1670 msgid "Maker Note" msgstr "Anmerkungen des Herstellers" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" "Ein Feld für die Hersteller von Exif-Schreibern um variable Informationen " "abzuspeichern. Der Inhalt ist vom Hersteller abhängig." #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" #: src/tags.cpp:1679 msgid "Sub-seconds Time" msgstr "Sekundenbruchteile/Zeit" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "" "Das Feld wird benutzt um Sekundenbruchteile für das -Feld zu " "erfassen." #: src/tags.cpp:1682 msgid "Sub-seconds Time Original" msgstr "Sekundenbruchteile (original)" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "Das Feld wird benutzt um Sekundenbruchteile für des -Feld " "zu erfassen." #: src/tags.cpp:1685 msgid "Sub-seconds Time Digitized" msgstr "Sekundenbruchteile (digitalisiert)" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "Das Feld wird benutzt um Sekundenbruchteile für das -Feld " "zu erfassen." #: src/tags.cpp:1688 msgid "FlashPix Version" msgstr "FlashPix Version" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "Die FlashPix Formatversion die von einer FPXR Datei unterstützt wird." #: src/tags.cpp:1692 msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" "Das Farbrauminformationsfeld wird immer als Farbraumspezifikator " "gespeichert. Normalerweise wird sRGB benutzt, um den Farbraum an PC und " "Monitor anzupassen. Wenn ein anderer Farbraum als sRGB benutzt wird, wird " "\"unkalibriert\" gesetzt. Bilddaten, die als unkalibriert aufgezeichnet " "wurden, können als sRGB betrachtet werden, wenn sie in FlashPix konvertiert " "werden." #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" "Informationen spezifisch zu den komprimierten Daten. Wenn eine komprimierte " "Datei aufgezeichnet wird, muss die Breite des sinnvollen Bildausschnitts in " "diesem Feld aufgezeichnet werden, egal ob Padding Daten oder ein Restart " "Marker vorhanden sind. Dieser Feld sollte nicht in einer unkomprimierten " "Datei existieren." #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" "Informationen spezifisch zu den komprimierten Daten. Wenn eine komprimierte " "Datei aufgezeichnet wird, muss die Höhe des sinnvollen Bildausschnitts in " "diesem Feld aufgezeichnet werden, egal ob Padding Daten oder ein Restart " "Marker vorhanden sind. Dieses Feld sollte nicht in einer unkomprimierten " "Datei existieren. Da Padding in der Vertikalen nicht nötig ist, ist die " "Anzahl an Zeilen in diesem Feld die gleiche wie die im JPEG SOF Marker." #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" "Dieses Feld wird benutzt, um den Namen einer Audiodatei zu speichern, die zu " "den Bilddaten gehört. Die einzigen Informationen die hier gespeichert " "werden, sind der Dateiname und seinen Erweiterung. Also eine ASCII-" "Zeichenkette bestehend aus acht Zeichen, einem \".\" und drei weiteren " "Zeichen. Der Pfad wird nicht gespeichert." #: src/tags.cpp:1723 msgid "Interoperability IFD Pointer" msgstr "Interoperabilitäts IFD-Zeiger" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" "Das Interoperabilitäts IFD besteht aus Feldern, die Informationen enthalten, " "die die Interoperabilität sicherstellen. Die Interoperabilitätsstruktur des " "Interoperabilitäts IFD ist die gleiche wie in der TIFF IFD Struktur, enthält " "aber keine Bildcharakteristiken wie das normale TIFF IFD." #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" "Gibt die Energie des Blitzes zum Zeitpunkt der Aufnahme an, in Beam Candle " "Power Seconds (BCPS)." #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" #: src/tags.cpp:1740 msgid "Focal Plane X-Resolution" msgstr "Fokusebene x-Auflösung" #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" "Gibt die Anzahl an Pixeln in der Breite (X Ebene) pro " " in der Fokusebene an." #: src/tags.cpp:1744 msgid "Focal Plane Y-Resolution" msgstr "Fokusebene y-Auflösung" #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" "Gibt die Anzahl an Pixeln in der Höhe (Y Ebene) pro " " in der Fokusebene an." #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" "Gibt die Einheit für die Messung der und der " " an. Der Wert ist der gleiche wie ." #: src/tags.cpp:1753 msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" "Gibt den Ort des Hauptmotivs in der Szene an. Der Wert dieses Feldes " "repräsentiert den Pixel im Zentrum des Hauptmotivs relativ zur linken " "Bildkante, vor der Rotation (siehe -Feld). Der erste Wert gibt die " "X, der zweite die Y Koordinate an." #: src/tags.cpp:1759 msgid "Exposure index" msgstr "Belichtungsindex" #: src/tags.cpp:1760 msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" "Gibt den Belichtungsindex an, der in der Kamera oder im Eingabegerät während " "der Aufnahme selektiert ist." #: src/tags.cpp:1764 msgid "Indicates the image sensor type on the camera or input device." msgstr "Gibt den Sensortyp in der Kamera bzw. Eingabegerät an." #: src/tags.cpp:1767 msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" "Gibt die Quelle des Bildes an. Wenn das Bild durch eine Digitalkamera " "aufgenommen wurde, ist der Wert 3." #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" "Gibt den Typ der Szene an. Wenn eine Digitalkamera die Szene aufgenommen " "hat, muss diese Zahl immer auf 1 gesetzt werden, um anzugeben, das die Szene " "direkt fotographiert wurde." #: src/tags.cpp:1776 #, fuzzy msgid "Color Filter Array Pattern" msgstr "Farbfilterliste" #: src/tags.cpp:1777 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" "Gibt das geometrische Muster des Farbfilter Arrays (CFA - Color Filter " "Array) des Bildsensors an, wenn ein 1 Chip Farbflächen Sensor benutzt wird. " "Es bezieht sich nicht auf alle Sensormethoden." #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" "Dieses Feld gibt einen Hinweis auf eine besondere Verarbeitung der Bilddaten " "wie z:B. den Berechnungen zur Ausgabe. Wenn eine besondere Verarbeitung " "durchgeführt wurde, dann wird der Betrachter gebeten keine oder nur eine " "minimale weitere Verarbeitung durchzuführen." #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" "Dieses Feld gibt den Belichtungsmodus bei der Aufnahme des Bildes an. Bei " "der automatischen Erfassung nimmt die Kamera mehrere Bilder derselben Szene " "mit verschiedenen Belichtungseinstellungen auf." #: src/tags.cpp:1793 msgid "This tag indicates the white balance mode set when the image was shot." msgstr "" "Dieses Feld enthält den Weißabgleichsmodus, der zur Aufnahme eingestellt war." #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" "Dieses Feld gibt die digitale Zoomrate bei der Aufnahme des Bildes an. Wenn " "der Divisor 0 ist, wurde kein Digitalzoom benutzt." #: src/tags.cpp:1801 msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" "Dieses Feld gibt die äquivalente Brennweite bei angenommener 35mm Filmkamera " "an. Der Wert 0 bedeutet das die Brennweite unbekannt ist. Es unterscheidet " "sich vom -Feld." #: src/tags.cpp:1807 msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" "Dieses Feld gibt an welche Art von Szene aufgenommen wurde. Es kann auch zum " "Angeben des Aufnahmemodus verwendet werden. Beachten Sie, das es sich vom " "-Feld unterscheidet." #: src/tags.cpp:1812 #, fuzzy msgid "This tag indicates the degree of overall image gain adjustment." msgstr "Dieses Feld gibt den Motivabstand an." #: src/tags.cpp:1815 msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" "Dieses Feld gibt die Richtung der Kontrastbearbeitung an, die bei der " "Aufnahme des Bildes angewandt wurde." #: src/tags.cpp:1819 msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" "Dieses Feld gibt die Richtung der Sättigungsbearbeitung an, die bei der " "Aufnahme des Bildes angewandt wurde." #: src/tags.cpp:1823 msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" "Dieses Feld gibt die Richtung der Schärfebearbeitung bei der Aufnahme des " "Bildes an." #: src/tags.cpp:1827 msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" "Dieses Feld enthält Informationen über die Bildaufnahmebedingungen eines " "bestimmten Kameramodells. Es wird nur zur Angabe der Bedingungen im Leser " "benutzt." #: src/tags.cpp:1832 msgid "This tag indicates the distance to the subject." msgstr "Dieses Feld gibt den Motivabstand an." #: src/tags.cpp:1835 msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" "Dieses Feld gibt eine eindeutige Bild-Identifizierung an. Sie wird als ASCII-" "Zeichenkette in hexadezimaler Schreibweise aufgezeichnet und hat 128 Bit " "Länge." #: src/tags.cpp:1839 #, fuzzy msgid "Camera Owner Name" msgstr "Besitzername" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" #: src/tags.cpp:1843 #, fuzzy msgid "Body Serial Number" msgstr "Seriennummer" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1847 #, fuzzy msgid "Lens Specification" msgstr "Hersteller spezifische Informationen" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" #: src/tags.cpp:1854 #, fuzzy msgid "Lens Make" msgstr "Linsenmodell" #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "" #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1866 src/tags.cpp:1867 msgid "Unknown Exif tag" msgstr "Unbekanntes Exif-Feld" #: src/tags.cpp:1878 msgid "North" msgstr "Norden" #: src/tags.cpp:1879 msgid "South" msgstr "Süden" #: src/tags.cpp:1884 msgid "East" msgstr "Osten" #: src/tags.cpp:1885 msgid "West" msgstr "Westen" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "Über dem Meeresspiegel" #: src/tags.cpp:1891 msgid "Below sea level" msgstr "Unter dem Meeresspiegel" #: src/tags.cpp:1896 msgid "Measurement in progress" msgstr "Messung wird durchgeführt" #: src/tags.cpp:1897 msgid "Measurement Interoperability" msgstr "Messungskompatibilität" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "Zweidimensionale Messung" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "Dreidimensionale Messung" #: src/tags.cpp:1908 msgid "km/h" msgstr "km/h" #: src/tags.cpp:1909 msgid "mph" msgstr "mph" #: src/tags.cpp:1910 msgid "knots" msgstr "Knoten" #: src/tags.cpp:1915 msgid "True direction" msgstr "Echte Richtung" #: src/tags.cpp:1916 msgid "Magnetic direction" msgstr "Magnetische Richtung" #: src/tags.cpp:1921 msgid "Kilometers" msgstr "Kilometer" #: src/tags.cpp:1922 msgid "Miles" msgstr "Meilen" #: src/tags.cpp:1923 msgid "Knots" msgstr "Knoten" #: src/tags.cpp:1928 msgid "Without correction" msgstr "Ohne Korrektur" #: src/tags.cpp:1929 msgid "Correction applied" msgstr "Korrektur wurde angewendet" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" "Gibt die Version des Feldes an. Die Version ist 2.0.0.0. Es ist " "zwingend erforderlich wenn ein -Feld vorhanden ist. Beachten Sie " "bitte, :das -Feld ist in Bytes spezifiziert, im Unterschied " "zum -Feld. Für die Version 2.0.0.0 ist der Wert des Feldes " "02000000 H." #: src/tags.cpp:1941 msgid "GPS Latitude Reference" msgstr "GPS-Breitengradreferenz" #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" "Gibt an, ob die Breite in nördlicher oder südlicher Breite angegeben ist. " "Der ASCII Wert \"N\" gibt nördliche Breite an, der Wert \"S\" ist südliche " "Breite." #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" "Enthält den Breitengrad. Der Breitengrad wird durch drei RATIONAL Werte " "angegeben, den Grad, die Minuten und die Sekunden. Wenn Grad, Minuten und " "Sekunden angegeben werden, ist das Format dd/1, mm/1, ss/1. Wenn Grade und " "Minuten benutzt werden und, z.B., Minutenteil auf 2 Stellen Genauigkeit, " "dann ist das Format, dd/1, mmmm/100, 0/1." #: src/tags.cpp:1953 msgid "GPS Longitude Reference" msgstr "GPS-Längengradreferenz" #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" "Gibt an, ob die Länge östliche oder westliche Länge ist. ASCII 'E' steht für " "östliche Länge und 'W' für westliche." #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" "Enthält den Längengrad. Der Längengrad wird durch drei RATIONAL Werte " "angegeben, den Grad, die Minuten und die Sekunden. Wenn Grad, Minuten und " "Sekunden angegeben werden, ist das Format dd/1, mm/1, ss/1. Wenn Grade und " "Minuten benutzt werden und, z.B., Minutenteil auf 2 Stellen Genauigkeit, " "dann ist das Format, dd/1, mmmm/100, 0/1." #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" "Gibt die Referenzhöhe an. Wenn die Referenz der Meeresspiegel ist, und die " "Höhe ist über dem Meeresspiegel, dann ist dieser Wert 0. Wenn sie unter dem " "Meeresspiegel ist, dann ist hier ein Wert von 1 und die Höhe ist als " "absoluter Wert im -Feld angegeben. Die verwendete Einheit ist " "Meter. Beachten sie, das dieses Feld den Typ BYTE hat." #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" "Gibt die Höhe über der Referenz Höhe an in an. Höhe ist ein " "RATIONAL Wert. Die Referenzeinheit ist Meter." #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" "Gibt die Zeit in UTC (Universal Time Coordinated ) an. wird " "durch drei RATIONAL Werte ausgegeben, die die Stunde, die Minute und die " "Sekunden mit einer Atomuhr gemessen angeben." #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" "Gibt die GPS-Satelliten an, die für die Messung benutzt wurden. Dieses Feld " "kann dafür benutzt werden, um die Anzahl der Satelliten, ihre ID-Nummer, den " "Erhöhungswinkel, die Abweichung, SNR und andere Informationen mit ASCII-" "Zeichen zu speichern. Es ist kein Format vorgegeben. Wenn der GPS-Empfänger " "die Messung nicht durchführen kann, dann wird dieser Wert auf NULL gesetzt." #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" "Gibt den Status des GPS-Empfängers bei der Aufnahme des Bildes wieder. \"A\" " "bedeutet, dass die Messung in Arbeit war und \"V\" bedeutet, dass die " "Messung kompatibel ist." #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" "Gibt den GPS-Messungsmoduis an. \"2\" steht für eine zwei-dimensionale " "Messung und \"3\" für drei-dimensional." #: src/tags.cpp:1998 msgid "GPS Data Degree of Precision" msgstr "Grad der Präzision der GPS-Daten" #: src/tags.cpp:1999 #, fuzzy msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" "Gibt den GPS-Messungsmoduis an. \"2\" steht für eine zwei-dimensionale " "Messung und \"3\" für drei-dimensional." #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" #: src/tags.cpp:2007 #, fuzzy msgid "Indicates the speed of GPS receiver movement." msgstr "Gibt den Typen eines Audioinhalts an." #: src/tags.cpp:2009 msgid "GPS Track Ref" msgstr "GPS-Spurreferenz" #: src/tags.cpp:2010 #, fuzzy msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Gibt die Referenz für die Richtung des Zielbuildes während der Aufnahme an. " "\"T\" bezeichnet die wahre und \"M\" die magnetische Richtung." #: src/tags.cpp:2014 #, fuzzy msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" "Gibt die Richtung an in der das Bild gemacht wurde. Der Wertebereich geht " "von 0.00 bis 359.99." #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Gibt die Referenz für die Richtung des Zielbuildes während der Aufnahme an. " "\"T\" bezeichnet die wahre und \"M\" die magnetische Richtung." #: src/tags.cpp:2022 msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" "Gibt die Richtung an in der das Bild gemacht wurde. Der Wertebereich geht " "von 0.00 bis 359.99." #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" #: src/tags.cpp:2029 #, fuzzy msgid "GPS Destination Latitude Reference" msgstr "GPS Referenz zum Breitengrad des Ziels" #: src/tags.cpp:2030 msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" "Gibt an, ob die Breite in nördlicher oder südlicher Breite angegeben ist. " "Der ASCII Wert \"N\" gibt nördliche Breite an, der Wert \"S\" ist südliche " "Breite." #: src/tags.cpp:2034 msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" "Enthält den Breitengrad. Der Breitengrad wird durch drei RATIONAL Werte " "angegeben, den Grad, die Minuten und die Sekunden. Wenn Grad, Minuten und " "Sekunden angegeben werden, ist das Format dd/1, mm/1, ss/1. Wenn Grade und " "Minuten benutzt werden und, z.B., Minutenteil auf 2 Stellen Genauigkeit, " "dann ist das Format, dd/1, mmmm/100, 0/1." #: src/tags.cpp:2041 msgid "GPS Destination Longitude Reference" msgstr "GPS Referenz auf den Längengrad des Ziels" #: src/tags.cpp:2042 msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" "Gibt an, ob die Länge östliche oder westliche Länge ist. ASCII \"E\" steht " "für östliche Länge und \"W\" für westliche." #: src/tags.cpp:2046 msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" "Enthält den Längengrad. Der Längengrad wird durch drei RATIONAL Werte " "angegeben, den Grad, die Minuten und die Sekunden. Wenn Grad, Minuten und " "Sekunden angegeben werden, ist das Format dd/1, mm/1, ss/1. Wenn Grade und " "Minuten benutzt werden und, z.B., Minutenteil auf 2 Stellen Genauigkeit, " "dann ist das Format, dd/1, mmmm/100, 0/1." #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Gibt eine Referenz für die Richtung des Zielpunktes an. \"T\" bezeichnet die " "wahre und \"M\" die magnetische Richtung." #: src/tags.cpp:2057 #, fuzzy msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "" "Gibt die Richtung an in der das Bild gemacht wurde. Der Wertebereich geht " "von 0.00 bis 359.99." #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" #: src/tags.cpp:2065 msgid "Indicates the distance to the destination point." msgstr "Gibt den Abstand zum Zielpunkt an." #: src/tags.cpp:2068 #, fuzzy msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" "Eine Zeichenkette die den Namen des GPS Bereichs enthält. Das erste Byte " "weisst auf den verwendeten Zeichensatz hin und wird dann vom Namen des GPS " "Bereichs gefolgt." #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" "Eine Zeichenkette die den Namen des GPS Bereichs enthält. Das erste Byte " "weisst auf den verwendeten Zeichensatz hin und wird dann vom Namen des GPS " "Bereichs gefolgt." #: src/tags.cpp:2076 msgid "GPS Date Stamp" msgstr "GPS Datumsstempel" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" #: src/tags.cpp:2081 msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "" #: src/tags.cpp:2084 src/tags.cpp:2085 msgid "Unknown GPSInfo tag" msgstr "Unbekanntes GPSInfo-Feld" #: src/tags.cpp:2096 msgid "Interoperability Index" msgstr "Interoperabilitätsindex" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" "Spezifiziert die Identifikation der Interoperabilitätsregel. Benutzen Sie " "\"R98\" für ExifR98 Regeln. Vier Bytes werden benutzt inklusive des " "Endecodes (NULL). Sehen Sie dazu auch das separate Dokument der " "\"Recommended Exif Interoperability Rules\" (ExifR98) für andere Felder die " "für ExifR98 benutzt werden." #: src/tags.cpp:2103 msgid "Interoperability Version" msgstr "Interoperabilitätsversion" #: src/tags.cpp:2104 msgid "Interoperability version" msgstr "Interoperabilitätsversion" #: src/tags.cpp:2106 msgid "Related Image File Format" msgstr "Zugehöriges Bilddateiformat" #: src/tags.cpp:2107 msgid "File format of image file" msgstr "Dateiformat der Bilddatei" #: src/tags.cpp:2109 msgid "Related Image Width" msgstr "Zugehörige Bildbreite" #: src/tags.cpp:2112 msgid "Related Image Length" msgstr "Zugehörige Bildlänge" #: src/tags.cpp:2116 src/tags.cpp:2117 msgid "Unknown Exif Interoperability tag" msgstr "Unbekanntes Exif-Kompatibilitätsfeld" #: src/tags.cpp:2128 #, fuzzy msgid "Offset" msgstr "Offset" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "" #: src/tags.cpp:2131 #, fuzzy msgid "Byte Order" msgstr "Füllreihenfolge" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" #: src/tags.cpp:2135 src/tags.cpp:2136 #, fuzzy msgid "Unknown Exiv2 Makernote info tag" msgstr "Unbekanntes Herstellerbemerkungsfeld von Nikon2" #: src/tags.cpp:2146 src/tags.cpp:2147 msgid "Unknown tag" msgstr "Unbekanntes Feld" #: src/tags.cpp:2688 msgid "Digital zoom not used" msgstr "Digital Zoom wurde nicht benutzt" #: src/tiffimage.cpp:2308 msgid "TIFF header, offset" msgstr "TIFF-Header, offset" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "\"Little-Endian\" kodiert" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "\"Big Endian\" kodiert" #, fuzzy #~ msgid "ascii bytes" #~ msgstr "Bytes" exiv2-0.25/po/ru.po0000664000175000017500000253215412540520175013734 0ustar andreasandreas# translation of Exiv2 to Russian # This file is distributed under the same license as the PACKAGE package. # Copyright (C) 2007 Lutz Müller and others. # Alexandre Prokoudine , 2006. # msgid "" msgstr "" "Project-Id-Version: ru\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: 2008-05-26 04:03+0300\n" "Last-Translator: Alexandre Prokoudine \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.10.2\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 msgid "Failed to open the file\n" msgstr "Не удалось открыть файл\n" #: src/actions.cpp:282 msgid "File name" msgstr "Имя файла" #: src/actions.cpp:288 msgid "File size" msgstr "Размер файла" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "Байт" #: src/actions.cpp:293 msgid "MIME type" msgstr "Тип MIME" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 msgid "Image size" msgstr "Размер изображения" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 msgid "No Exif data found in the file\n" msgstr "В этом файле не найдено данных Exif\n" #: src/actions.cpp:307 msgid "Camera make" msgstr "" #: src/actions.cpp:310 msgid "Camera model" msgstr "Модель камеры" #: src/actions.cpp:313 msgid "Image timestamp" msgstr "Отметка времени снимка" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 msgid "Image number" msgstr "Номер снимка" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 msgid "Exposure time" msgstr "Время экспозиции" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 msgid "Aperture" msgstr "Диафрагма" #: src/actions.cpp:345 msgid "Exposure bias" msgstr "Смещение экспозиции" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 msgid "Flash" msgstr "Вспышка" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 #, fuzzy msgid "Flash bias" msgstr "Вспышка сработала" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 msgid "Focal length" msgstr "Фокусное расстояние" #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr " (35мм эквивалент)" #: src/actions.cpp:373 msgid "Subject distance" msgstr "Расстояние до объекта" #: src/actions.cpp:387 msgid "ISO speed" msgstr "Светочувствительность" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 msgid "Exposure mode" msgstr "Режим экспозиции" #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 msgid "Metering mode" msgstr "Режим замера" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 msgid "Macro mode" msgstr "Режим макросъёмки" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 msgid "Image quality" msgstr "Качество изображения" #: src/actions.cpp:403 msgid "Exif Resolution" msgstr "Разрешение Exif" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "Баланс белого" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 msgid "Thumbnail" msgstr "Эскиз" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "Ничего" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 msgid "Copyright" msgstr "Авторские права" #: src/actions.cpp:458 msgid "Exif comment" msgstr "Комментарий Exif" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "" #: src/actions.cpp:742 msgid "JPEG comment" msgstr "Комментарий JPEG" #: src/actions.cpp:767 #, fuzzy msgid "Preview" msgstr "Данные эскиза" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "" #: src/actions.cpp:773 src/actions.cpp:1113 msgid "bytes" msgstr "байт" #: src/actions.cpp:820 msgid "Neither tag" msgstr "Ни поле" #: src/actions.cpp:821 msgid "nor" msgstr "ни" #: src/actions.cpp:822 msgid "found in the file" msgstr "найдены в этом файле" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "Отметка времени создания снимка в файле отсутствует" #: src/actions.cpp:833 src/actions.cpp:1590 msgid "Failed to parse timestamp" msgstr "Не удалось произвести синтаксический разбор отметки времени" #: src/actions.cpp:834 msgid "in the file" msgstr "в файле" #: src/actions.cpp:845 msgid "Updating timestamp to" msgstr "Отметка времени обновляется до" #: src/actions.cpp:939 #, fuzzy msgid "Erasing thumbnail data" msgstr "Байт данных эскиза" #: src/actions.cpp:947 msgid "Erasing Exif data from the file" msgstr "Данные Exif удаляются из файла" #: src/actions.cpp:956 msgid "Erasing IPTC data from the file" msgstr "Данные IPTC удаляются из файла" #: src/actions.cpp:965 msgid "Erasing JPEG comment from the file" msgstr "Комментарий JPEG удаляется из файла" #: src/actions.cpp:974 msgid "Erasing XMP data from the file" msgstr "Данные XMP удаляются из файла" #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "В снимке нет Exif-эскиза\n" #: src/actions.cpp:1055 #, fuzzy msgid "Writing thumbnail" msgstr "эскиз" #: src/actions.cpp:1056 src/actions.cpp:1114 msgid "to file" msgstr "в файл" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "В данных Exif нет эскиза\n" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "" #: src/actions.cpp:1107 #, fuzzy msgid "Writing preview" msgstr "Выполняется запись" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "Вставляется комментарий JPEG" #: src/actions.cpp:1319 msgid "Add" msgstr "Добавить" #: src/actions.cpp:1341 src/actions.cpp:1415 msgid "Warning" msgstr "Предупреждение" #: src/actions.cpp:1342 src/actions.cpp:1416 msgid "Failed to read" msgstr "Не удалось прочитать" #: src/actions.cpp:1344 src/actions.cpp:1418 msgid "value" msgstr "значение" #: src/actions.cpp:1355 msgid "Set" msgstr "Установить" #: src/actions.cpp:1427 msgid "Del" msgstr "Удалить" #: src/actions.cpp:1459 msgid "Reg " msgstr "" #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "" #: src/actions.cpp:1544 msgid "not set\n" msgstr "не установлено\n" #: src/actions.cpp:1549 msgid "Adjusting" msgstr "Коррекция" #: src/actions.cpp:1549 msgid "by" msgstr "" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "лет" #: src/actions.cpp:1556 msgid "year" msgstr "" #: src/actions.cpp:1564 msgid "months" msgstr "месяцев" #: src/actions.cpp:1567 msgid "month" msgstr "месяц" #: src/actions.cpp:1575 msgid "days" msgstr "" #: src/actions.cpp:1578 msgid "day" msgstr "" #: src/actions.cpp:1584 msgid "s" msgstr "с" #: src/actions.cpp:1600 #, fuzzy msgid "Can't adjust timestamp by" msgstr "Не удалось произвести синтаксический разбор отметки времени" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 msgid "to" msgstr "в" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "" #: src/actions.cpp:1708 #, fuzzy msgid "No Exif user comment found" msgstr "Комментарий Exif" #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "" #: src/actions.cpp:1723 msgid "No Exif UNICODE user comment found" msgstr "" #: src/actions.cpp:1729 #, fuzzy msgid "Setting Exif UNICODE user comment to" msgstr "Вставляется комментарий JPEG" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "Запись данных Exif из" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "Запись данных IPTC из" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "Запись данных XMP из" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "Запись комментария JPEG из" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "Не удалось записать метаданные в файл" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "" #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "У этого файла уже правильное имя" #: src/actions.cpp:1975 src/exiv2.cpp:168 msgid "File" msgstr "Файл" #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr "существует. Перезаписать [O], переименовать [r] или пропустить [s]?" #: src/actions.cpp:2004 msgid "Renaming file to" msgstr "Файл переименовывается в" #: src/actions.cpp:2006 msgid "updating timestamp" msgstr "обновляется отметка времени" #: src/actions.cpp:2015 msgid "Failed to rename" msgstr "Не удалось переименовать" #: src/actions.cpp:2037 msgid "Overwrite" msgstr "Перезаписать" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "Выкл" #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "Вкл" #: src/canonmn.cpp:363 #, fuzzy msgid "Format 1" msgstr "Формат" #: src/canonmn.cpp:364 #, fuzzy msgid "Format 2" msgstr "Формат" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 #, fuzzy msgid "On (1)" msgstr "Вкл" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 #, fuzzy msgid "On (2)" msgstr "Вкл" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "sRGB" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 msgid "Adobe RGB" msgstr "Adobe RGB" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "Неизвестно" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 msgid "Camera Settings" msgstr "Настройки камеры" #: src/canonmn.cpp:383 msgid "Various camera settings" msgstr "Различные настройки камеры" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 msgid "Focal Length" msgstr "Фокусное расстояние" #: src/canonmn.cpp:386 src/sonymn.cpp:394 msgid "Shot Info" msgstr "О снимке" #: src/canonmn.cpp:386 #, fuzzy msgid "Shot information" msgstr "Способ фокусировки" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 msgid "Panorama" msgstr "Панорама" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 msgid "Image Type" msgstr "Тип изображения" #: src/canonmn.cpp:388 msgid "Image type" msgstr "Тип изображения" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 msgid "Firmware Version" msgstr "Версия прошивки" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 msgid "Firmware version" msgstr "Версия прошивки" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 #, fuzzy msgid "File Number" msgstr "Число F" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 #, fuzzy msgid "File number" msgstr "Имя файла" #: src/canonmn.cpp:391 msgid "Owner Name" msgstr "Имя владельца" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 msgid "Serial Number" msgstr "Серийный номер" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 msgid "Camera serial number" msgstr "Серийный номер камеры" #: src/canonmn.cpp:393 #, fuzzy msgid "Camera Info" msgstr "ID камеры" #: src/canonmn.cpp:393 #, fuzzy msgid "Camera info" msgstr "ID камеры" #: src/canonmn.cpp:394 src/canonmn.cpp:406 #, fuzzy msgid "Custom Functions" msgstr "Инструкции" #: src/canonmn.cpp:395 #, fuzzy msgid "ModelID" msgstr "Модель" #: src/canonmn.cpp:395 msgid "Model ID" msgstr "ID модели" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 #, fuzzy msgid "Picture Info" msgstr "Режим захвата" #: src/canonmn.cpp:396 #, fuzzy msgid "Picture info" msgstr "Режим захвата" #: src/canonmn.cpp:397 #, fuzzy msgid "Thumbnail Image Valid Area" msgstr "Эскиз" #: src/canonmn.cpp:397 #, fuzzy msgid "Thumbnail image valid area" msgstr "Эскиз" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial Number Format" msgstr "Серийный номер" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial number format" msgstr "Серийный номер" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 #, fuzzy msgid "Super Macro" msgstr "Супермакро" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "Супермакро" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 #, fuzzy msgid "AF Info" msgstr "Способ фокусировки" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 #, fuzzy msgid "AF info" msgstr "Способ фокусировки" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "" #: src/canonmn.cpp:402 msgid "White Balance Table" msgstr "Таблица баланса белого" #: src/canonmn.cpp:402 msgid "White balance table" msgstr "Таблица баланса белого" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 #, fuzzy msgid "Lens Model" msgstr "Тип сцены" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 #, fuzzy msgid "Lens model" msgstr "Тип сцены" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 #, fuzzy msgid "Internal Serial Number" msgstr "Серийный номер камеры" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 #, fuzzy msgid "Internal serial number" msgstr "Серийный номер камеры" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "" #: src/canonmn.cpp:406 #, fuzzy msgid "Custom functions" msgstr "Инструкции" #: src/canonmn.cpp:407 #, fuzzy msgid "Processing Info" msgstr "По обработки" #: src/canonmn.cpp:407 #, fuzzy msgid "Processing info" msgstr "По обработки" #: src/canonmn.cpp:408 #, fuzzy msgid "Measured Color" msgstr "Естественный цвет" #: src/canonmn.cpp:408 #, fuzzy msgid "Measured color" msgstr "Естественный цвет" #: src/canonmn.cpp:409 #, fuzzy msgid "ColorSpace" msgstr "Цветовое пространство" #: src/canonmn.cpp:413 #, fuzzy msgid "VRD Offset" msgstr "быстрый" #: src/canonmn.cpp:413 #, fuzzy msgid "VRD offset" msgstr "быстрый" #: src/canonmn.cpp:414 #, fuzzy msgid "Sensor Info" msgstr "Объектив" #: src/canonmn.cpp:414 #, fuzzy msgid "Sensor info" msgstr "О снимке" #: src/canonmn.cpp:415 #, fuzzy msgid "Color Data" msgstr "Цветовое пространство" #: src/canonmn.cpp:415 #, fuzzy msgid "Color data" msgstr "Цвет" #: src/canonmn.cpp:417 msgid "Unknown CanonMakerNote tag" msgstr "Неизвестный тэг CanonMakerNote" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "Экономичный" #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 msgid "Normal" msgstr "" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 #, fuzzy msgid "Fine" msgstr "in" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "RAW" #: src/canonmn.cpp:437 #, fuzzy msgid "Superfine" msgstr "SXGA Fine" #: src/canonmn.cpp:438 #, fuzzy msgid "Normal Movie" msgstr "Обычный процесс проявки" #: src/canonmn.cpp:439 #, fuzzy msgid "Movie (2)" msgstr "Кино" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 msgid "Auto" msgstr "Авто" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "" #: src/canonmn.cpp:448 #, fuzzy msgid "Slow sync" msgstr "медленная синхронизация" #: src/canonmn.cpp:449 #, fuzzy msgid "Auto + red-eye" msgstr "Автобрекетирование" #: src/canonmn.cpp:450 #, fuzzy msgid "On + red-eye" msgstr "Автобрекетирование" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 #, fuzzy msgid "External" msgstr "внешняя" #: src/canonmn.cpp:457 #, fuzzy msgid "Single / timer" msgstr "Серийный номер" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 #, fuzzy msgid "Continuous" msgstr "Продолжительный ведущий режим" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 #, fuzzy msgid "Movie" msgstr "Кино" #: src/canonmn.cpp:460 #, fuzzy msgid "Continuous, speed priority" msgstr "Приоритет выдержки" #: src/canonmn.cpp:461 #, fuzzy msgid "Continuous, low" msgstr "Продолжительный ведущий режим" #: src/canonmn.cpp:462 #, fuzzy msgid "Continuous, high" msgstr "Продолжительный ведущий режим" #: src/canonmn.cpp:467 #, fuzzy msgid "One shot AF" msgstr "One-Shot" #: src/canonmn.cpp:468 #, fuzzy msgid "AI servo AF" msgstr "AI Focus" #: src/canonmn.cpp:469 #, fuzzy msgid "AI focus AF" msgstr "AI Focus" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 #, fuzzy msgid "Manual focus" msgstr "Ручная фокусировка" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 #, fuzzy msgid "Single" msgstr "One-Shot" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 #, fuzzy msgid "Pan focus" msgstr "Ручная фокусировка" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 #, fuzzy msgid "Large" msgstr "Язык" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 #, fuzzy msgid "Medium" msgstr "Низкий" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 #, fuzzy msgid "Small" msgstr "Кино" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 #, fuzzy msgid "Medium 1" msgstr "Низкий" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 #, fuzzy msgid "Medium 2" msgstr "Низкий" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 #, fuzzy msgid "Medium 3" msgstr "Низкий" #: src/canonmn.cpp:490 #, fuzzy msgid "Full auto" msgstr "Режим захвата" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 msgid "Manual" msgstr "Ручная" #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 msgid "Landscape" msgstr "Альбом" #: src/canonmn.cpp:493 #, fuzzy msgid "Fast shutter" msgstr "Скорость срабатывания затвора" #: src/canonmn.cpp:494 msgid "Slow shutter" msgstr "" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 #, fuzzy msgid "Night Scene" msgstr "Ночная съёмка" #: src/canonmn.cpp:496 msgid "Gray scale" msgstr "" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "Сепия" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 msgid "Portrait" msgstr "Портрет" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "Спорт" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "Макросъёмка" #: src/canonmn.cpp:501 src/fujimn.cpp:149 #, fuzzy msgid "Black & white" msgstr "Чёрно-белый" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 #, fuzzy msgid "Vivid" msgstr "Цвет" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 #, fuzzy msgid "Neutral" msgstr "внешняя" #: src/canonmn.cpp:505 msgid "Flash off" msgstr "Без вспышки" #: src/canonmn.cpp:506 msgid "Long shutter" msgstr "" #: src/canonmn.cpp:508 #, fuzzy msgid "Foliage" msgstr "Модель" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 #, fuzzy msgid "Indoor" msgstr "ни" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 msgid "Fireworks" msgstr "Фейерверк" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "Пляж" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 msgid "Underwater" msgstr "Подводная съемка" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "Снег" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "Дети и домашние животные" #: src/canonmn.cpp:515 #, fuzzy msgid "Night SnapShot" msgstr "Ночная съёмка" #: src/canonmn.cpp:516 msgid "Digital macro" msgstr "Цифровой макрорежим" #: src/canonmn.cpp:517 #, fuzzy msgid "My Colors" msgstr "Цвет" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 #, fuzzy msgid "Still image" msgstr "Эскиз" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 #, fuzzy msgid "Other" msgstr "Север" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 msgid "Low" msgstr "Низкий" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 msgid "High" msgstr "Высокий" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "н/д" #: src/canonmn.cpp:540 #, fuzzy msgid "Auto High" msgstr "Авторские и смежные права" #: src/canonmn.cpp:558 src/sonymn.cpp:235 #, fuzzy msgid "Default" msgstr "По умолчанию" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 #, fuzzy msgid "Spot" msgstr "Спорт" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "Средний" #: src/canonmn.cpp:561 #, fuzzy msgid "Evaluative" msgstr "значение" #: src/canonmn.cpp:562 src/tags.cpp:1427 #, fuzzy msgid "Partial" msgstr "Вечеринка" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 #, fuzzy msgid "Center weighted" msgstr "Центровзвешенный" #: src/canonmn.cpp:570 #, fuzzy msgid "Not known" msgstr "Неизвестно" #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "Макро" #: src/canonmn.cpp:572 msgid "Very close" msgstr "" #: src/canonmn.cpp:573 #, fuzzy msgid "Close" msgstr "Крупный план" #: src/canonmn.cpp:574 #, fuzzy msgid "Middle range" msgstr "Модель" #: src/canonmn.cpp:575 #, fuzzy msgid "Far range" msgstr "Динамический диапазон" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 #, fuzzy msgid "Infinity" msgstr "Бесконечный" #: src/canonmn.cpp:583 msgid "Manual AF point selection" msgstr "Ручной выбор точки фокусировки" #: src/canonmn.cpp:584 #, fuzzy msgid "None (MF)" msgstr "Ничего" #: src/canonmn.cpp:585 #, fuzzy msgid "Auto-selected" msgstr "Автобрекетирование" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 #, fuzzy msgid "Right" msgstr "Ночной портрет" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 msgid "Center" msgstr "Центральный" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 #, fuzzy msgid "Left" msgstr "Левая" #: src/canonmn.cpp:589 #, fuzzy msgid "Auto AF point selection" msgstr "Ручной выбор точки фокусировки" #: src/canonmn.cpp:594 #, fuzzy msgid "Easy shooting (Auto)" msgstr "Режим замера" #: src/canonmn.cpp:595 msgid "Program (P)" msgstr "Программа (P)" #: src/canonmn.cpp:596 msgid "Shutter priority (Tv)" msgstr "Приоритет выдержки (Tv)" #: src/canonmn.cpp:597 msgid "Aperture priority (Av)" msgstr "Приоритет диафрагмы (Av)" #: src/canonmn.cpp:598 msgid "Manual (M)" msgstr "Ручной (M)" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "A-DEP" #: src/canonmn.cpp:600 msgid "M-DEP" msgstr "M-DEP" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 msgid "Did not fire" msgstr "Вспышка не сработала" #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 msgid "Fired" msgstr "Сработала" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 msgid "External flash" msgstr "Внешняя вспышка" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 msgid "Internal flash" msgstr "Встроенная вспышка" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "TTL" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "A-TTL" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "E-TTL" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "" #: src/canonmn.cpp:980 #, fuzzy msgid "FP sync used" msgstr "Использованная точка AF" #: src/canonmn.cpp:991 #, fuzzy msgid "Normal AE" msgstr "VGA Normal" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 msgid "Exposure compensation" msgstr "Компенсация экспозиции" #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "Фиксация экспозиции" #: src/canonmn.cpp:994 #, fuzzy msgid "AE lock + exposure compensation" msgstr "Фиксация + компенсация экспозиции" #: src/canonmn.cpp:995 #, fuzzy msgid "No AE" msgstr "VGA Normal" #: src/canonmn.cpp:1002 #, fuzzy msgid "On, shot only" msgstr "One-Shot" #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 #, fuzzy msgid "AF Point" msgstr "Использованная точка AF" #: src/canonmn.cpp:1016 #, fuzzy msgid "Smooth" msgstr "месяц" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "Ч/Б" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 msgid "Custom" msgstr "Свой" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 #, fuzzy msgid "My color data" msgstr "Цвет" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 #, fuzzy msgid "Full" msgstr "Полный" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "" #: src/canonmn.cpp:1043 #, fuzzy msgid "Selftimer" msgstr "Серийный номер" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 #, fuzzy msgid "Self timer" msgstr "Серийный номер" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 msgid "Quality" msgstr "Качество" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 msgid "Flash Mode" msgstr "Режим вспышки" #: src/canonmn.cpp:1045 #, fuzzy msgid "Flash mode setting" msgstr "Вспышка сработала" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 #, fuzzy msgid "Drive Mode" msgstr "Режим замера" #: src/canonmn.cpp:1046 #, fuzzy msgid "Drive mode setting" msgstr "Режим макросъёмки" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 msgid "Focus Mode" msgstr "Способ фокусировки" #: src/canonmn.cpp:1048 #, fuzzy msgid "Focus mode setting" msgstr "Способ фокусировки" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 msgid "Image Size" msgstr "Размер изображения" #: src/canonmn.cpp:1052 #, fuzzy msgid "Easy Mode" msgstr "Режим вспышки" #: src/canonmn.cpp:1052 #, fuzzy msgid "Easy shooting mode" msgstr "Режим замера" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 msgid "Digital Zoom" msgstr "Цифровой трансфокатор" #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 msgid "Digital zoom" msgstr "Цифровой трансфокатор" #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 msgid "Contrast" msgstr "Контраст" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 #, fuzzy msgid "Contrast setting" msgstr "Настройка контраста" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 msgid "Saturation" msgstr "Насыщенность" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 #, fuzzy msgid "Saturation setting" msgstr "Настройка контраста" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 msgid "Sharpness" msgstr "Резкость" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 #, fuzzy msgid "Sharpness setting" msgstr "Настройка резкости" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 #, fuzzy msgid "ISO Speed Mode" msgstr "Скорость ISO" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 #, fuzzy msgid "ISO speed setting" msgstr "Скорость ISO" #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 msgid "Metering Mode" msgstr "Режим замера" #: src/canonmn.cpp:1058 #, fuzzy msgid "Metering mode setting" msgstr "Режим макросъёмки" #: src/canonmn.cpp:1059 #, fuzzy msgid "Focus Type" msgstr "Способ фокусировки" #: src/canonmn.cpp:1059 #, fuzzy msgid "Focus type setting" msgstr "Способ фокусировки" #: src/canonmn.cpp:1060 #, fuzzy msgid "AF point selected" msgstr "Использованная точка AF" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 msgid "Exposure Program" msgstr "Программа экспозиции" #: src/canonmn.cpp:1061 #, fuzzy msgid "Exposure mode setting" msgstr "Режим экспозиции" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 msgid "Lens Type" msgstr "Тип объектива" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 msgid "Lens type" msgstr "Тип объектива" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 msgid "Lens" msgstr "Объектив" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "" #: src/canonmn.cpp:1065 #, fuzzy msgid "Short focal" msgstr "Ручная фокусировка" #: src/canonmn.cpp:1066 #, fuzzy msgid "Focal Units" msgstr "Фокусное расстояние" #: src/canonmn.cpp:1066 #, fuzzy msgid "Focal units" msgstr "Фокусное расстояние" #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 #, fuzzy msgid "Max Aperture" msgstr "Диафрагма" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 #, fuzzy msgid "Max aperture" msgstr "Максимально открытая диафрагма" #: src/canonmn.cpp:1068 #, fuzzy msgid "Min Aperture" msgstr "Диафрагма" #: src/canonmn.cpp:1068 #, fuzzy msgid "Min aperture" msgstr "Максимально открытая диафрагма" #: src/canonmn.cpp:1069 #, fuzzy msgid "Flash Activity" msgstr "Вспышка сработала" #: src/canonmn.cpp:1069 #, fuzzy msgid "Flash activity" msgstr "Вспышка сработала" #: src/canonmn.cpp:1070 #, fuzzy msgid "Flash Details" msgstr "Вспышка сработала" #: src/canonmn.cpp:1070 #, fuzzy msgid "Flash details" msgstr "Режим вспышки" #: src/canonmn.cpp:1073 #, fuzzy msgid "Focus Continuous" msgstr "Продолжительный ведущий режим" #: src/canonmn.cpp:1073 #, fuzzy msgid "Focus continuous setting" msgstr "Способ фокусировки" #: src/canonmn.cpp:1074 #, fuzzy msgid "AESetting" msgstr "Настройка резкости" #: src/canonmn.cpp:1074 #, fuzzy msgid "AE setting" msgstr "Способ фокусировки" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 msgid "Image Stabilization" msgstr "Стабилизация снимка" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 msgid "Image stabilization" msgstr "Стабилизация снимка" #: src/canonmn.cpp:1076 #, fuzzy msgid "Display Aperture" msgstr "Диафрагма" #: src/canonmn.cpp:1076 #, fuzzy msgid "Display aperture" msgstr "Максимально открытая диафрагма" #: src/canonmn.cpp:1077 #, fuzzy msgid "Zoom Source Width" msgstr "Ширина изображения" #: src/canonmn.cpp:1077 #, fuzzy msgid "Zoom source width" msgstr "Ширина изображения" #: src/canonmn.cpp:1078 #, fuzzy msgid "Zoom Target Width" msgstr "Ширина изображения" #: src/canonmn.cpp:1078 #, fuzzy msgid "Zoom target width" msgstr "Ширина изображения" #: src/canonmn.cpp:1080 #, fuzzy msgid "Spot Metering Mode" msgstr "Режим замера" #: src/canonmn.cpp:1080 #, fuzzy msgid "Spot metering mode" msgstr "Режим замера" #: src/canonmn.cpp:1081 #, fuzzy msgid "Photo Effect" msgstr "Цветовое пространство" #: src/canonmn.cpp:1081 #, fuzzy msgid "Photo effect" msgstr "Цветовое пространство" #: src/canonmn.cpp:1082 #, fuzzy msgid "Manual Flash Output" msgstr "Ручная экспозиция" #: src/canonmn.cpp:1082 #, fuzzy msgid "Manual flash output" msgstr "Ручная экспозиция" #: src/canonmn.cpp:1083 #, fuzzy msgid "Color Tone" msgstr "Цветовое пространство" #: src/canonmn.cpp:1083 #, fuzzy msgid "Color tone" msgstr "Цветовое пространство" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "" #: src/canonmn.cpp:1084 #, fuzzy msgid "SRAW quality" msgstr "Качество изображения" #: src/canonmn.cpp:1086 #, fuzzy msgid "Unknown Canon Camera Settings 1 tag" msgstr "Настройка контраста" #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 msgid "Daylight" msgstr "Дневной свет" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 msgid "Cloudy" msgstr "Облачно" #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 msgid "Tungsten" msgstr "Лампа накаливания" #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 msgid "Fluorescent" msgstr "Флуоресцентная лампа" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 msgid "Black & White" msgstr "Чёрно-белый" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "Тень" #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "" #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "" #: src/canonmn.cpp:1109 #, fuzzy msgid "Daylight Fluorescent" msgstr "Флуоресцентная лампа" #: src/canonmn.cpp:1110 src/properties.cpp:816 msgid "Custom 1" msgstr "Свой 1" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 msgid "Custom 2" msgstr "Свой 2" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 #, fuzzy msgid "Custom 3" msgstr "Свой" #: src/canonmn.cpp:1115 msgid "PC Set 4" msgstr "" #: src/canonmn.cpp:1116 msgid "PC Set 5" msgstr "" #: src/canonmn.cpp:1117 #, fuzzy msgid "Auto (ambience priority)" msgstr "Приоритет выдержки" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 #, fuzzy msgid "left" msgstr "Левая" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 #, fuzzy msgid "center" msgstr "Центральный" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 #, fuzzy msgid "right" msgstr "Яркость+" #: src/canonmn.cpp:1151 #, fuzzy msgid "ISO Speed Used" msgstr "Скорость ISO" #: src/canonmn.cpp:1151 #, fuzzy msgid "ISO speed used" msgstr "Скорость ISO" #: src/canonmn.cpp:1152 msgid "Measured EV" msgstr "" #: src/canonmn.cpp:1153 #, fuzzy msgid "Target Aperture" msgstr "Диафрагма" #: src/canonmn.cpp:1154 #, fuzzy msgid "Target Shutter Speed" msgstr "Скорость срабатывания затвора" #: src/canonmn.cpp:1154 #, fuzzy msgid "Target shutter speed" msgstr "Скорость срабатывания затвора" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 msgid "White Balance" msgstr "Баланс белого" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 #, fuzzy msgid "White balance setting" msgstr "Настройка баланса белого" #: src/canonmn.cpp:1158 #, fuzzy msgid "Sequence" msgstr "Номер последовательности" #: src/canonmn.cpp:1158 msgid "Sequence number (if in a continuous burst)" msgstr "" #: src/canonmn.cpp:1163 #, fuzzy msgid "AF Point Used" msgstr "Использованная точка AF" #: src/canonmn.cpp:1163 #, fuzzy msgid "AF point used" msgstr "Использованная точка AF" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 #, fuzzy msgid "Flash Bias" msgstr "Вспышка сработала" #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 msgid "Subject Distance" msgstr "Расстояние до объекта" #: src/canonmn.cpp:1168 msgid "Subject distance (units are not clear)" msgstr "" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 #, fuzzy msgid "Aperture Value" msgstr "Диафрагма" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 #, fuzzy msgid "Shutter Speed Value" msgstr "Скорость срабатывания затвора" #: src/canonmn.cpp:1171 src/tags.cpp:1630 msgid "Shutter speed" msgstr "Скорость срабатывания затвора" #: src/canonmn.cpp:1172 msgid "Measured EV 2" msgstr "" #: src/canonmn.cpp:1177 #, fuzzy msgid "Unknown Canon Camera Settings 2 tag" msgstr "Настройка контраста" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 #, fuzzy msgid "Left to right" msgstr "слева направо" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 #, fuzzy msgid "Right to left" msgstr "справа налево" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 #, fuzzy msgid "Bottom to top" msgstr "снизу вверх" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 #, fuzzy msgid "Top to bottom" msgstr "сверху вниз" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "" #: src/canonmn.cpp:1196 msgid "Panorama Frame" msgstr "Кадр панорамы" #: src/canonmn.cpp:1196 msgid "Panorama frame number" msgstr "Номер кадра панорамы" #: src/canonmn.cpp:1197 msgid "Panorama Direction" msgstr "направление панорамы" #: src/canonmn.cpp:1197 msgid "Panorama direction" msgstr "Направление съёмки панорамы" #: src/canonmn.cpp:1199 msgid "Unknown Canon Panorama tag" msgstr "Неизвестный панорамный тэг Canon" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 msgid "Noise Reduction" msgstr "Подавление шума" #: src/canonmn.cpp:1209 msgid "Long exposure noise reduction" msgstr "Подавление шума при длительной выдержке" #: src/canonmn.cpp:1210 #, fuzzy msgid "Shutter Ae Lock" msgstr "Скорость срабатывания затвора" #: src/canonmn.cpp:1210 #, fuzzy msgid "Shutter/AE lock buttons" msgstr "Выдержка" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 #, fuzzy msgid "Exposure Level Increments" msgstr "Режим экспозиции" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 #, fuzzy msgid "AF Assist" msgstr "Тип сцены" #: src/canonmn.cpp:1213 msgid "AF assist light" msgstr "" #: src/canonmn.cpp:1214 #, fuzzy msgid "Flash Sync Speed Av" msgstr "Режим вспышки" #: src/canonmn.cpp:1214 #, fuzzy msgid "Shutter speed in Av mode" msgstr "Скорость срабатывания затвора" #: src/canonmn.cpp:1215 #, fuzzy msgid "AEB Sequence" msgstr "Номер последовательности" #: src/canonmn.cpp:1215 msgid "AEB sequence/auto cancellation" msgstr "" #: src/canonmn.cpp:1216 #, fuzzy msgid "Shutter Curtain Sync" msgstr "Выдержка" #: src/canonmn.cpp:1216 #, fuzzy msgid "Shutter curtain sync" msgstr "Приоритет выдержки" #: src/canonmn.cpp:1217 #, fuzzy msgid "Lens AF Stop Button" msgstr "Тип объектива" #: src/canonmn.cpp:1217 #, fuzzy msgid "Lens AF stop button Fn. Switch" msgstr "Тип объектива" #: src/canonmn.cpp:1218 #, fuzzy msgid "Fill Flash Auto Reduction" msgstr "Подавление шума" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "" #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "" #: src/canonmn.cpp:1219 msgid "Menu button return position" msgstr "" #: src/canonmn.cpp:1220 #, fuzzy msgid "Set Button Function" msgstr "Инструкции" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "" #: src/canonmn.cpp:1221 msgid "Sensor Cleaning" msgstr "Очистка сенсора" #: src/canonmn.cpp:1221 msgid "Sensor cleaning" msgstr "Очистка сенсора" #: src/canonmn.cpp:1222 msgid "Superimposed Display" msgstr "" #: src/canonmn.cpp:1222 msgid "Superimposed display" msgstr "" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "" #: src/canonmn.cpp:1225 #, fuzzy msgid "Unknown Canon Custom Function tag" msgstr "Настройка контраста" #: src/canonmn.cpp:1236 #, fuzzy msgid "mid-right" msgstr "слева направо" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 #, fuzzy msgid "bottom" msgstr "снизу вверх" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 #, fuzzy msgid "top" msgstr "в" #: src/canonmn.cpp:1240 #, fuzzy msgid "mid-left" msgstr "Левая" #: src/canonmn.cpp:1247 #, fuzzy msgid "upper-left" msgstr "Правая" #: src/canonmn.cpp:1248 #, fuzzy msgid "upper-right" msgstr "Правая" #: src/canonmn.cpp:1252 #, fuzzy msgid "lower-left" msgstr "Правая" #: src/canonmn.cpp:1253 #, fuzzy msgid "lower-right" msgstr "Правая" #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 msgid "Image Width" msgstr "Ширина изображения" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 msgid "Image width" msgstr "Ширина изображения" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 #, fuzzy msgid "Image Height" msgstr "Длина изображения" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 msgid "Image height" msgstr "Высота изображения" #: src/canonmn.cpp:1261 #, fuzzy msgid "Image Width As Shot" msgstr "Ширина изображения" #: src/canonmn.cpp:1261 #, fuzzy msgid "Image width (as shot)" msgstr "Ширина изображения" #: src/canonmn.cpp:1262 #, fuzzy msgid "Image Height As Shot" msgstr "Длина изображения" #: src/canonmn.cpp:1262 #, fuzzy msgid "Image height (as shot)" msgstr "Высота изображения" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 #, fuzzy msgid "AF Points Used" msgstr "Использованная точка AF" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 #, fuzzy msgid "AF points used" msgstr "Использованная точка AF" #: src/canonmn.cpp:1264 #, fuzzy msgid "AF Points Used 20D" msgstr "Использованная точка AF" #: src/canonmn.cpp:1264 #, fuzzy msgid "AF points used (20D)" msgstr "Использованная точка AF" #: src/canonmn.cpp:1266 #, fuzzy msgid "Unknown Canon Picture Info tag" msgstr "Неизвестный тэг" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 #, fuzzy msgid "ISO" msgstr "О снимке" #: src/canonmn.cpp:1280 msgid "WB" msgstr "" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "" #: src/canonmn.cpp:1293 #, fuzzy msgid "Medium Movie" msgstr "Низкий" #: src/canonmn.cpp:1294 #, fuzzy msgid "Small Movie" msgstr "Кино" #: src/canonmn.cpp:1300 #, fuzzy msgid "On 1" msgstr "Вкл" #: src/canonmn.cpp:1301 #, fuzzy msgid "On 2" msgstr "Вкл" #: src/canonmn.cpp:1309 #, fuzzy msgid "On (shift AB)" msgstr "One-Shot" #: src/canonmn.cpp:1310 #, fuzzy msgid "On (shift GM)" msgstr "One-Shot" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 #, fuzzy msgid "Orange" msgstr "Динамический диапазон" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 msgid "Red" msgstr "" #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 #, fuzzy msgid "Green" msgstr "Режим замера" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 #, fuzzy msgid "Blue" msgstr "значение" #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "" #: src/canonmn.cpp:1334 #, fuzzy msgid "Bracket Mode" msgstr "Брекетинг" #: src/canonmn.cpp:1335 #, fuzzy msgid "Bracket Value" msgstr "Брекетинг" #: src/canonmn.cpp:1336 #, fuzzy msgid "Bracket Shot Number" msgstr "Брекетинг" #: src/canonmn.cpp:1337 #, fuzzy msgid "Raw Jpg Quality" msgstr "Качество" #: src/canonmn.cpp:1338 #, fuzzy msgid "Raw Jpg Size" msgstr "Размер изображения" #: src/canonmn.cpp:1340 #, fuzzy msgid "WB Bracket Mode" msgstr "Брекетинг" #: src/canonmn.cpp:1341 #, fuzzy msgid "WB Bracket Value AB" msgstr "Таблица баланса белого" #: src/canonmn.cpp:1342 #, fuzzy msgid "WB Bracket Value GM" msgstr "Таблица баланса белого" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 #, fuzzy msgid "Filter Effect" msgstr "Цветовой эффект" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 #, fuzzy msgid "Toning Effect" msgstr "Цветовое пространство" #: src/canonmn.cpp:1345 #, fuzzy msgid "Macro Magnification" msgstr "Версия модели" #: src/canonmn.cpp:1345 #, fuzzy msgid "Macro magnification" msgstr "Версия модели" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "" #: src/canonmn.cpp:1346 #, fuzzy msgid "Live view shooting" msgstr "Режим макросъёмки" #: src/canonmn.cpp:1347 #, fuzzy msgid "Focus Distance Upper" msgstr "Расстояние ручного фокуса" #: src/canonmn.cpp:1348 #, fuzzy msgid "Focus Distance Lower" msgstr "Расстояние ручного фокуса" #: src/canonmn.cpp:1349 #, fuzzy msgid "Flash Exposure Lock" msgstr "Компенсация вспышки ?" #: src/canonmn.cpp:1349 #, fuzzy msgid "Flash exposure lock" msgstr "Компенсация вспышки ?" #: src/canonmn.cpp:1351 #, fuzzy msgid "Unknown Canon File Info tag" msgstr "Неизвестный тэг" #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 msgid "Standard" msgstr "" #: src/canonmn.cpp:1369 #, fuzzy msgid "Lowest" msgstr "Правая" #: src/canonmn.cpp:1373 #, fuzzy msgid "Highest" msgstr "Высокий" #: src/canonmn.cpp:1381 #, fuzzy msgid "High Saturation" msgstr "Насыщенность" #: src/canonmn.cpp:1383 #, fuzzy msgid "Low Saturation" msgstr "Насыщенность" #: src/canonmn.cpp:1384 msgid "CM Set 1" msgstr "" #: src/canonmn.cpp:1385 msgid "CM Set 2" msgstr "" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 msgid "Monochrome" msgstr "Монохромный" #: src/canonmn.cpp:1399 #, fuzzy msgid "Fine Detail" msgstr "Вспышка сработала" #: src/canonmn.cpp:1404 #, fuzzy msgid "ToneCurve" msgstr "Кривая тонкоррекции" #: src/canonmn.cpp:1404 msgid "Tone curve" msgstr "Тональная кривая" #: src/canonmn.cpp:1406 #, fuzzy msgid "SharpnessFrequency" msgstr "Резкость" #: src/canonmn.cpp:1406 #, fuzzy msgid "Sharpness frequency" msgstr "Резкость" #: src/canonmn.cpp:1407 #, fuzzy msgid "SensorRedLevel" msgstr "Заряд батареи" #: src/canonmn.cpp:1407 #, fuzzy msgid "Sensor red level" msgstr "Под уровнем моря" #: src/canonmn.cpp:1408 #, fuzzy msgid "SensorBlueLevel" msgstr "Заряд батареи" #: src/canonmn.cpp:1408 #, fuzzy msgid "Sensor blue level" msgstr "Под уровнем моря" #: src/canonmn.cpp:1409 #, fuzzy msgid "WhiteBalanceRed" msgstr "Баланс белого" #: src/canonmn.cpp:1409 #, fuzzy msgid "White balance red" msgstr "Баланс белого" #: src/canonmn.cpp:1410 #, fuzzy msgid "WhiteBalanceBlue" msgstr "Таблица баланса белого" #: src/canonmn.cpp:1410 #, fuzzy msgid "White balance blue" msgstr "Таблица баланса белого" #: src/canonmn.cpp:1411 #, fuzzy msgid "WhiteBalance" msgstr "Баланс белого" #: src/canonmn.cpp:1412 #, fuzzy msgid "ColorTemperature" msgstr "Температура цвета" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 msgid "Color Temperature" msgstr "Температура цвета" #: src/canonmn.cpp:1413 #, fuzzy msgid "PictureStyle" msgstr "Портретный режим" #: src/canonmn.cpp:1413 #, fuzzy msgid "Picture style" msgstr "Портретный режим" #: src/canonmn.cpp:1414 #, fuzzy msgid "DigitalGain" msgstr "Цифровой макрорежим" #: src/canonmn.cpp:1414 #, fuzzy msgid "Digital gain" msgstr "Цифровой макрорежим" #: src/canonmn.cpp:1415 msgid "WBShiftAB" msgstr "" #: src/canonmn.cpp:1415 #, fuzzy msgid "WBShift AB" msgstr "One-Shot" #: src/canonmn.cpp:1416 msgid "WBShiftGM" msgstr "" #: src/canonmn.cpp:1416 #, fuzzy msgid "WB Shift GM" msgstr "One-Shot" #: src/canonmn.cpp:1417 #, fuzzy msgid "Unknown Canon Processing Info tag" msgstr "Неизвестный тэг" #: src/crwimage.cpp:656 msgid "Header, offset" msgstr "" #: src/crwimage.cpp:674 msgid "tag" msgstr "поле" #: src/crwimage.cpp:676 msgid "dir" msgstr "каталог" #: src/crwimage.cpp:678 msgid "type" msgstr "тип" #: src/crwimage.cpp:679 msgid "size" msgstr "размер" #: src/crwimage.cpp:680 msgid "offset" msgstr "быстрый" #: src/datasets.cpp:79 msgid "(invalid)" msgstr "" #: src/datasets.cpp:80 #, fuzzy msgid "IIM envelope record" msgstr "Приоритет выдержки (Tv)" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "" #: src/datasets.cpp:85 msgid "Model Version" msgstr "Версия модели" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 #, fuzzy msgid "Destination" msgstr "Ориентация" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 msgid "File Format" msgstr "Формат файла" #: src/datasets.cpp:95 msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" #: src/datasets.cpp:101 msgid "File Version" msgstr "Версия файла" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" #: src/datasets.cpp:105 msgid "Service Id" msgstr "" #: src/datasets.cpp:106 msgid "Identifies the provider and product" msgstr "" #: src/datasets.cpp:108 #, fuzzy msgid "Envelope Number" msgstr "Число F" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" #: src/datasets.cpp:117 msgid "Product Id" msgstr "" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" #: src/datasets.cpp:122 #, fuzzy msgid "Envelope Priority" msgstr "Приоритет выдержки (Tv)" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" #: src/datasets.cpp:129 #, fuzzy msgid "Date Sent" msgstr "Время отправки" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" #: src/datasets.cpp:133 msgid "Time Sent" msgstr "Время отправки" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" #: src/datasets.cpp:139 msgid "Character Set" msgstr "Кодировка" #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" #: src/datasets.cpp:145 #, fuzzy msgid "Unique Name Object" msgstr "Модель камеры" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "Идентификатор ARM" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:156 msgid "ARM Version" msgstr "Версия ARM" #: src/datasets.cpp:157 msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" #: src/datasets.cpp:170 msgid "Record Version" msgstr "Версия записи" #: src/datasets.cpp:171 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:175 msgid "Object Type" msgstr "Тип объекта" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" #: src/datasets.cpp:184 #, fuzzy msgid "Object Attribute" msgstr "Область объекта съёмки" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" #: src/datasets.cpp:193 msgid "Object Name" msgstr "Название/имя объекта съёмки" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" #: src/datasets.cpp:198 msgid "Document Title" msgstr "Имя документа" #: src/datasets.cpp:199 src/olympusmn.cpp:827 msgid "Edit Status" msgstr "Статус правки" #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "" #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "Срочность" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 msgid "Subject" msgstr "Предмет съёмки" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "" #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "Категория" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" #: src/datasets.cpp:222 msgid "Supplemental Category" msgstr "Дополнительная категория" #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" #: src/datasets.cpp:228 src/properties.cpp:442 msgid "Supplemental Categories" msgstr "Дополнительные категории" #: src/datasets.cpp:229 #, fuzzy msgid "Fixture Id" msgstr "Сработала" #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 msgid "Keywords" msgstr "Ключевые слова" #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" #: src/datasets.cpp:240 #, fuzzy msgid "Location Code" msgstr "Имя местоположения" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:248 msgid "Location Name" msgstr "Имя местоположения" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" #: src/datasets.cpp:253 src/properties.cpp:376 msgid "Release Date" msgstr "Дата пубикации" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:257 msgid "Release Time" msgstr "Время публикации" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:261 msgid "Expiration Date" msgstr "Истечение срока" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:265 #, fuzzy msgid "ExpirationTime" msgstr "Истечение срока" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:269 msgid "Special Instructions" msgstr "Особые инструкции" #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" #: src/datasets.cpp:273 src/properties.cpp:439 msgid "Instructions" msgstr "Инструкции" #: src/datasets.cpp:274 msgid "Action Advised" msgstr "Рекомендованное действие" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:279 #, fuzzy msgid "Reference Service" msgstr "Эталонный Чёрный/Белый" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:283 #, fuzzy msgid "Reference Date" msgstr "Эталонный Чёрный/Белый" #: src/datasets.cpp:284 msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "" #: src/datasets.cpp:286 #, fuzzy msgid "Reference Number" msgstr "Номер последовательности" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 msgid "Date Created" msgstr "Дата создания объекта съёмки" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:295 msgid "Time Created" msgstr "Время создания объекта съёмки" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:301 msgid "Digitization Date" msgstr "Дата оцифровки" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:305 msgid "Digitization Time" msgstr "Время оцифровки" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 msgid "Program" msgstr "Программа" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "" #: src/datasets.cpp:313 msgid "Program Version" msgstr "Версия программы" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "" #: src/datasets.cpp:316 #, fuzzy msgid "Object Cycle" msgstr "Тип объекта" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "" #: src/datasets.cpp:319 #, fuzzy msgid "By-line" msgstr "строка" #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "" #: src/datasets.cpp:323 src/properties.cpp:2103 msgid "Author" msgstr "Автор" #: src/datasets.cpp:324 #, fuzzy msgid "By-line Title" msgstr "Название (Windows)" #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "" #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 msgid "City" msgstr "Город" #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:333 #, fuzzy msgid "Sub Location" msgstr "Местоположение объекта съёмки" #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" #: src/datasets.cpp:337 #, fuzzy msgid "Province State" msgstr "Данные эскиза" #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:341 msgid "State/Province" msgstr "Штат/провинция" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 msgid "Country Code" msgstr "Код страны" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:352 msgid "Country Name" msgstr "Название страны" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 msgid "Country" msgstr "Страна" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 #, fuzzy msgid "Transmission Reference" msgstr "Эталонный Чёрный/Белый" #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 msgid "Headline" msgstr "Заголовок" #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "" #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 #, fuzzy msgid "Credit" msgstr "Монохромный" #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "" #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source" msgstr "Источник" #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "" #: src/datasets.cpp:379 msgid "Copyright Notice" msgstr "Уведомление об авторских правах" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 msgid "Contact" msgstr "Контакт" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" #: src/datasets.cpp:384 src/properties.cpp:2101 msgid "Caption" msgstr "Подпись" #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "Текстовое описание объекта снимка" #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 msgid "Description" msgstr "Описание" #: src/datasets.cpp:388 msgid "Writer" msgstr "Автор текста" #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" #: src/datasets.cpp:392 msgid "Rasterized Caption" msgstr "Растрированная подпись" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "Показывает цветовые компоненты изображения" #: src/datasets.cpp:399 msgid "Image Orientation" msgstr "Ориентация изображения" #: src/datasets.cpp:400 msgid "Indicates the layout of an image." msgstr "Показывает макет изображения" #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 msgid "Language" msgstr "Язык" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" #: src/datasets.cpp:408 msgid "Audio Type" msgstr "Тип звуковых данных" #: src/datasets.cpp:409 #, fuzzy msgid "Indicates the type of an audio content." msgstr "Показывает длительность звукозаписи" #: src/datasets.cpp:411 msgid "Audio Rate" msgstr "Частота сэмплирования звукозаписи" #: src/datasets.cpp:412 msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "Показывает частоту сэмплирования звукозаписи в Герцах" #: src/datasets.cpp:414 #, fuzzy msgid "Audio Resolution" msgstr "Разрешение по X" #: src/datasets.cpp:415 #, fuzzy msgid "Indicates the sampling resolution of an audio content." msgstr "Показывает частоту сэмплирования звукозаписи в Герцах" #: src/datasets.cpp:417 msgid "Audio Duration" msgstr "Длительность звукозаписи" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "Показывает длительность звукозаписи" #: src/datasets.cpp:420 #, fuzzy msgid "Audio Outcue" msgstr "Частота сэмплирования звукозаписи" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" #: src/datasets.cpp:424 msgid "Preview Format" msgstr "Формат эскиза" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" #: src/datasets.cpp:429 src/properties.cpp:1276 msgid "Preview Version" msgstr "Версия эскиза" #: src/datasets.cpp:430 msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" #: src/datasets.cpp:433 msgid "Preview Data" msgstr "Данные эскиза" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "Двоичные данные эскиза изображения." #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 msgid "Unknown dataset" msgstr "Неизвестный набор данных" #: src/error.cpp:55 msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "" #: src/error.cpp:56 #, fuzzy msgid "Success" msgstr "Источник" #: src/error.cpp:59 msgid "This does not look like a %1 image" msgstr "" #: src/error.cpp:60 msgid "Invalid dataset name `%1'" msgstr "" #: src/error.cpp:61 #, fuzzy msgid "Invalid record name `%1'" msgstr "Серийный номер" #: src/error.cpp:62 msgid "Invalid key `%1'" msgstr "" #: src/error.cpp:63 msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "" #: src/error.cpp:64 #, fuzzy msgid "Value not set" msgstr "не установлено\n" #: src/error.cpp:65 #, fuzzy msgid "%1: Failed to open the data source: %2" msgstr "Не удалось открыть файл\n" #: src/error.cpp:66 #, fuzzy msgid "%1: Failed to open file (%2): %3" msgstr "Не удалось открыть файл\n" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "" #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "" #: src/error.cpp:69 msgid "Image type %1 is not supported" msgstr "" #: src/error.cpp:70 #, fuzzy msgid "Failed to read image data" msgstr "Не удалось переименовать" #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "" #: src/error.cpp:72 msgid "%1: Failed to map file for reading and writing: %2" msgstr "" #: src/error.cpp:73 #, fuzzy msgid "%1: Failed to rename file to %2: %3" msgstr "Не удалось открыть файл\n" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "" #: src/error.cpp:76 #, fuzzy msgid "Failed to read input data" msgstr "Не удалось прочитать" #: src/error.cpp:77 #, fuzzy msgid "Failed to write image" msgstr "Не удалось переименовать" #: src/error.cpp:78 #, fuzzy msgid "Input data does not contain a valid image" msgstr "В снимке нет Exif-эскиза\n" #: src/error.cpp:79 msgid "Invalid ifdId %1" msgstr "" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" #: src/error.cpp:82 msgid "Offset out of range" msgstr "" #: src/error.cpp:83 #, fuzzy msgid "Unsupported data area offset type" msgstr "Неподдерживаемый формат даты" #: src/error.cpp:84 msgid "Invalid charset: `%1'" msgstr "" #: src/error.cpp:85 msgid "Unsupported date format" msgstr "Неподдерживаемый формат даты" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "Неподдерживаемый формат времени" #: src/error.cpp:87 msgid "Writing to %1 images is not supported" msgstr "" #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "" #: src/error.cpp:89 msgid "This does not look like a CRW image" msgstr "" #: src/error.cpp:90 msgid "%1: Not supported" msgstr "" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "" #: src/error.cpp:92 msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "" #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" #: src/error.cpp:104 msgid "Invalid XmpText type `%1'" msgstr "" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "" #: src/error.cpp:106 msgid "Multiple TIFF array element tags %1 in one directory" msgstr "" #: src/error.cpp:107 msgid "TIFF array element tag %1 has wrong type" msgstr "" #: src/error.cpp:108 msgid "%1 has invalid XMP value type `%2'" msgstr "" #: src/exiv2.cpp:213 #, fuzzy msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "Авторские права (C) 2004-2011 Andreas Huggel.\n" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "Использование:" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" "[ ключи ] [ действие ] файл ...\n" "\n" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "Работа с метаданными изображений.\n" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" "\n" "Действия:\n" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" " ad | adjust Заменить отметки времени Exif на заданное время.\n" " Этому действию нужен ключ -a time.\n" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr " pr | print Вывести на экран метаданные изображения.\n" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr " rm | delete Удалить метаданные изображений из их файлов.\n" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" " in | insert Вставить метаданные из соответствующих файлов *.exv.\n" " Используйте ключ -S для смены суффикса входящих файлов.\n" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" " ex | extract Извлечь метаданные в файлы *.exv, *.xmp и файлы эскизов.\n" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" " mv | rename переименовать файлы и/или установить отметки\n" " времени в соответствии с отметкой времени создания из данных " "Exif.\n" " Формат файла можно установить ключом -r, параметры отметки\n" " времени контролируются ключами -t и -T.\n" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" " mo | modify Применить команды изменения (добавить, установить, удалить)\n" " метаданных Exif и IPTC изображений или установить " "комментарий JPEG.\n" " Необходимо использовать в паре с ключом -c, -m или -M.\n" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" " fi | fixiso Скопировать значение ISO из Nikon Makernote \n" " в обычное поле Exif.\n" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" #: src/exiv2.cpp:262 msgid "" "\n" "Options:\n" msgstr "" "\n" "Параметры:\n" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr " -h Показать эту справку и выйти.\n" #: src/exiv2.cpp:264 msgid " -V Show the program version and exit.\n" msgstr " -V Показать версию программы и выйти.\n" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr " -v Выводить подробную информацию при выполнении действий.\n" #: src/exiv2.cpp:266 #, fuzzy msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr " -v Выводить подробную информацию при выполнении действий.\n" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" #: src/exiv2.cpp:268 msgid " -b Show large binary values.\n" msgstr " -b Показать большие двоичные значения.\n" #: src/exiv2.cpp:269 #, fuzzy msgid " -u Show unknown tags.\n" msgstr " -u Не показывать неизвестные тэги.\n" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr "" #: src/exiv2.cpp:271 msgid " -K key Only output info for this key (exact match).\n" msgstr "" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr " -k Сохранять временные отметки файлов (keep).\n" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr "" " -F Не запрашивать подтверждение на перезапись файлов (force).\n" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr "" " -F Не запрашивать подтверждение на переименование файлов (Force).\n" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" " -a время Новое значение времени в формате [-]ЧЧ[:ММ[:СС]]. Этот ключ\n" " используется только с действием 'adjust'.\n" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr " -Y год Новое значение года для действия 'adjust'.\n" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr " -O месяц Новое значение месяца для действия 'adjust'.\n" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr " -D день Новое значение дня для действия 'adjust'.\n" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr "" " -p режим Print -- режим для действия 'вывод' (print). Возможные режимы:\n" #: src/exiv2.cpp:285 msgid " s : print a summary of the Exif metadata (the default)\n" msgstr " s : вывести сводку метаданных Exif (по умолчанию)\n" #: src/exiv2.cpp:286 #, fuzzy msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr "" " v : обычные значения данных Exif (короткий вариант комбинации -" "Pxgnycv)\n" #: src/exiv2.cpp:287 #, fuzzy msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr "" " t : интерпретированные данные Exif (короткий вариант комбинации " "-Pkyct)\n" #: src/exiv2.cpp:288 #, fuzzy msgid " v : plain Exif data values (-PExgnycv)\n" msgstr "" " v : обычные значения данных Exif (короткий вариант комбинации -" "Pxgnycv)\n" #: src/exiv2.cpp:289 #, fuzzy msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr "" " h : шестнадцатеричный дамп данных Exif (краткий вариант для -" "Pxgnycsh)\n" #: src/exiv2.cpp:290 #, fuzzy msgid " i : IPTC data values (-PIkyct)\n" msgstr " i : значения данных IPTC\n" #: src/exiv2.cpp:291 #, fuzzy msgid " x : XMP properties (-PXkyct)\n" msgstr " x : свойства XMP\n" #: src/exiv2.cpp:292 src/exiv2.cpp:317 msgid " c : JPEG comment\n" msgstr " c : комментарий JPEG\n" #: src/exiv2.cpp:293 #, fuzzy msgid " p : list available previews\n" msgstr " l : метка тэга\n" #: src/exiv2.cpp:294 #, fuzzy msgid " S : print structure of image\n" msgstr " v : обычное значение данных\n" #: src/exiv2.cpp:295 #, fuzzy msgid " X : extract XMP from image\n" msgstr " x : свойства XMP\n" #: src/exiv2.cpp:296 #, fuzzy msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" " -P столбцы Вывести на экран список тегов Exif в виде таблицы (действие " "'print'). Допустимы столбцы:\n" #: src/exiv2.cpp:297 #, fuzzy msgid " E : include Exif tags in the list\n" msgstr " s : размер в байтах\n" #: src/exiv2.cpp:298 #, fuzzy msgid " I : IPTC datasets\n" msgstr " i : данные IPTC\n" #: src/exiv2.cpp:299 #, fuzzy msgid " X : XMP properties\n" msgstr " x : свойства XMP\n" #: src/exiv2.cpp:300 #, fuzzy msgid " x : print a column with the tag number\n" msgstr " x : вывести столбец со значениями тэгов\n" #: src/exiv2.cpp:301 msgid " g : group name\n" msgstr " g : имя группы\n" #: src/exiv2.cpp:302 msgid " k : key\n" msgstr " k : ключ\n" #: src/exiv2.cpp:303 msgid " l : tag label\n" msgstr " l : метка тэга\n" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr " n : имя тэга\n" #: src/exiv2.cpp:305 msgid " y : type\n" msgstr " y : тип\n" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr " c : количество компонентов (count)\n" #: src/exiv2.cpp:307 msgid " s : size in bytes\n" msgstr " s : размер в байтах\n" #: src/exiv2.cpp:308 msgid " v : plain data value\n" msgstr " v : обычное значение данных\n" #: src/exiv2.cpp:309 msgid " t : interpreted (translated) data\n" msgstr " t : интерпретированные (переведенные) данные\n" #: src/exiv2.cpp:310 msgid " h : hexdump of the data\n" msgstr " h : шестнадцатеричный дамп данных\n" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr " -d tgt Удаляемые цели для действия 'delete'. Возможные цели:\n" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr " a : все поддерживаемые метаданные (по умолчанию)\n" #: src/exiv2.cpp:313 msgid " e : Exif section\n" msgstr " e : раздел Exif\n" #: src/exiv2.cpp:314 msgid " t : Exif thumbnail only\n" msgstr " t : только Exif-эскиз\n" #: src/exiv2.cpp:315 msgid " i : IPTC data\n" msgstr " i : данные IPTC\n" #: src/exiv2.cpp:316 msgid " x : XMP packet\n" msgstr " x : пакет XMP\n" #: src/exiv2.cpp:318 msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" " -i tgt Вставляемые цели для действия 'insert'. Возможные цели\n" " те же что и и для ключа -d плюс модификатор:\n" " X : Вставить метаданные из сопутствующего файла XMP <файл>.xmp\n" " Можно вставлять только эскизы в формате JPEG, и их имя должно " "иметь вид\n" " -thumb.jpg\n" #: src/exiv2.cpp:323 #, fuzzy msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" " -e tgt Извлекаемые цели для действия 'extract'. Возможные цели\n" " те же, что и для ключа -d плюс модификатор:\n" " X : Извлечь метаданные из сопутствующего файла XMP <файл>.xmp\n" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" " -r fmt Формат имени файла для действия 'rename'. Строка формата\n" " следует правилам из strftime(3). Поддерживаются следующие " "ключевые слова:\n" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr " :basename: - оригинальное имя файла без расширения\n" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr "" " :dirname: - имя каталога, содержащего оригинальный файл\n" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr " :parentname: - имя родительского каталога\n" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr " Форматом файлов по умолчанию является " #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr "" #: src/exiv2.cpp:336 msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" " -l каталог Расположение (каталог) вставляемых или извлекаемых файлов.\n" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" " -S .suf Использовать суффикс .suf для оригинальных файлов с командой " "insert.\n" "\n" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 msgid "Option" msgstr "Параметр" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "требует аргумент\n" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "Неизвестный ключ" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "" #: src/exiv2.cpp:410 #, fuzzy msgid "Invalid argument" msgstr "Имя местоположения" #: src/exiv2.cpp:434 #, fuzzy msgid "Invalid regexp" msgstr "Имя местоположения" #: src/exiv2.cpp:473 src/exiv2.cpp:526 msgid "Ignoring surplus option" msgstr "" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "" #: src/exiv2.cpp:504 msgid "Error parsing -a option argument" msgstr "" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "Ошибка при синтаксическом разборе" #: src/exiv2.cpp:535 #, fuzzy msgid "option argument" msgstr "Имя местоположения" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:824 msgid "Action fixcom is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "должно быть указано действие\n" #: src/exiv2.cpp:904 msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "нужно указать хотя бы один файл\n" #: src/exiv2.cpp:920 msgid "Error parsing -m option arguments\n" msgstr "" #: src/exiv2.cpp:927 msgid "Error parsing -M option arguments\n" msgstr "" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "" #: src/exiv2.cpp:1039 msgid "target" msgstr "" #: src/exiv2.cpp:1065 #, fuzzy msgid "Invalid preview number" msgstr "Серийный номер" #: src/exiv2.cpp:1097 msgid "Failed to open command file for reading\n" msgstr "" #: src/exiv2.cpp:1110 msgid "line" msgstr "строка" #: src/exiv2.cpp:1133 msgid "-M option" msgstr "" #: src/exiv2.cpp:1180 #, fuzzy msgid "Invalid command line:" msgstr "Серийный номер" #: src/exiv2.cpp:1187 msgid "Invalid command" msgstr "" #: src/exiv2.cpp:1219 msgid "Invalid key" msgstr "" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "" #: src/fujimn.cpp:62 #, fuzzy msgid "Soft mode 1" msgstr "Режим замера" #: src/fujimn.cpp:63 #, fuzzy msgid "Soft mode 2" msgstr "Режим замера" #: src/fujimn.cpp:65 #, fuzzy msgid "Hard mode 1" msgstr "Режим макросъёмки" #: src/fujimn.cpp:66 #, fuzzy msgid "Hard mode 2" msgstr "Режим макросъёмки" #: src/fujimn.cpp:74 msgid "Fluorescent (daylight)" msgstr "Флуоресцентная лампа (дневной свет)" #: src/fujimn.cpp:75 msgid "Fluorescent (warm white)" msgstr "Флуоресцентная лампа (тёплый белый)" #: src/fujimn.cpp:76 msgid "Fluorescent (cool white)" msgstr "Флуоресцентная лампа (прохладный белый)" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 #, fuzzy msgid "Incandescent" msgstr "Яркая лампа накаливания" #: src/fujimn.cpp:87 src/fujimn.cpp:88 #, fuzzy msgid "None (black & white)" msgstr "Чёрно-белый" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 msgid "Red-eye reduction" msgstr "Подавление эффекта красных глаз" #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 msgid "Night scene" msgstr "Ночная съёмка" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 #, fuzzy msgid "Program AE" msgstr "Программа экспозиции" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "Естественный свет" #: src/fujimn.cpp:122 msgid "Anti-blur" msgstr "Антиразмывание" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 msgid "Sunset" msgstr "Закат" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 msgid "Museum" msgstr "Музей" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 msgid "Party" msgstr "Вечеринка" #: src/fujimn.cpp:126 msgid "Flower" msgstr "Цветок" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "Текст" #: src/fujimn.cpp:128 #, fuzzy msgid "Natural light & flash" msgstr "Естественный свет" #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 msgid "Aperture-priority AE" msgstr "Замер с приоритетом диафрагмы" #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 msgid "Shutter speed priority AE" msgstr "Замер с приоритетом выдержки" #: src/fujimn.cpp:142 #, fuzzy msgid "No flash & flash" msgstr "Без вспышки" #: src/fujimn.cpp:148 #, fuzzy msgid "Chrome" msgstr "Монохромный" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 #, fuzzy msgid "Wide" msgstr "Цвет" #: src/fujimn.cpp:160 #, fuzzy msgid "F0/Standard" msgstr "Стандартный свет A" #: src/fujimn.cpp:161 msgid "F1/Studio portrait" msgstr "F1/Студийный портрет" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "F2/Fujichrome" #: src/fujimn.cpp:163 #, fuzzy msgid "F3/Studio portrait Ex" msgstr "F1/Студийный портрет" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "F4/Velvia" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "Авто (100-400%)" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "Raw" #: src/fujimn.cpp:171 #, fuzzy msgid "Standard (100%)" msgstr "Стандартный свет A" #: src/fujimn.cpp:172 msgid "Wide mode 1 (230%)" msgstr "" #: src/fujimn.cpp:173 msgid "Wide mode 2 (400%)" msgstr "" #: src/fujimn.cpp:174 #, fuzzy msgid "Film simulation mode" msgstr "Разрешение по X" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 msgid "Version" msgstr "Версия" #: src/fujimn.cpp:180 msgid "Fujifilm Makernote version" msgstr "Версия Fujifilm Makernote" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 #, fuzzy msgid "Image quality setting" msgstr "Описание снимка" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 msgid "Color" msgstr "Цвет" #: src/fujimn.cpp:196 #, fuzzy msgid "Chroma saturation setting" msgstr "Настройка контраста" #: src/fujimn.cpp:198 #, fuzzy msgid "Tone" msgstr "Ничего" #: src/fujimn.cpp:202 #, fuzzy msgid "Flash firing mode setting" msgstr "Вспышка сработала" #: src/fujimn.cpp:204 #, fuzzy msgid "Flash Strength" msgstr "Фокусное расстояние" #: src/fujimn.cpp:205 #, fuzzy msgid "Flash firing strength compensation setting" msgstr "Компенсация вспышки ?" #: src/fujimn.cpp:208 #, fuzzy msgid "Macro mode setting" msgstr "Режим макросъёмки" #: src/fujimn.cpp:211 #, fuzzy msgid "Focusing mode setting" msgstr "Способ фокусировки" #: src/fujimn.cpp:216 msgid "Slow Sync" msgstr "Медленная синхронизация" #: src/fujimn.cpp:217 #, fuzzy msgid "Slow synchro mode setting" msgstr "медленная синхронизация" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 #, fuzzy msgid "Picture Mode" msgstr "Портретный режим" #: src/fujimn.cpp:220 #, fuzzy msgid "Picture mode setting" msgstr "Портретный режим" #: src/fujimn.cpp:226 msgid "Continuous shooting or auto bracketing setting" msgstr "" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 #, fuzzy msgid "Sequence Number" msgstr "Номер последовательности" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 msgid "Sequence number" msgstr "Номер последовательности" #: src/fujimn.cpp:234 #, fuzzy msgid "FinePix Color" msgstr "Цвет" #: src/fujimn.cpp:235 msgid "Fuji FinePix color setting" msgstr "" #: src/fujimn.cpp:237 #, fuzzy msgid "Blur Warning" msgstr "Предупреждение" #: src/fujimn.cpp:238 #, fuzzy msgid "Blur warning status" msgstr "Автоэкспозиция" #: src/fujimn.cpp:240 #, fuzzy msgid "Focus Warning" msgstr "Способ фокусировки" #: src/fujimn.cpp:241 #, fuzzy msgid "Auto Focus warning status" msgstr "Автоэкспозиция" #: src/fujimn.cpp:243 #, fuzzy msgid "Exposure Warning" msgstr "Время экспозиции" #: src/fujimn.cpp:244 #, fuzzy msgid "Auto exposure warning status" msgstr "Автоэкспозиция" #: src/fujimn.cpp:246 msgid "Dynamic Range" msgstr "Динамический диапазон" #: src/fujimn.cpp:247 msgid "Dynamic range" msgstr "Динамический диапазон" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 #, fuzzy msgid "Film Mode" msgstr "Режим вспышки" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 #, fuzzy msgid "Film mode" msgstr "Режим вспышки" #: src/fujimn.cpp:252 #, fuzzy msgid "Dynamic Range Setting" msgstr "Настройка баланса белого" #: src/fujimn.cpp:253 #, fuzzy msgid "Dynamic range settings" msgstr "Настройка баланса белого" #: src/fujimn.cpp:255 #, fuzzy msgid "Development Dynamic Range" msgstr "Динамический диапазон" #: src/fujimn.cpp:256 #, fuzzy msgid "Development dynamic range" msgstr "Динамический диапазон" #: src/fujimn.cpp:258 #, fuzzy msgid "Minimum Focal Length" msgstr "Фокусное расстояние" #: src/fujimn.cpp:259 #, fuzzy msgid "Minimum focal length" msgstr "Фокусное расстояние" #: src/fujimn.cpp:261 #, fuzzy msgid "Maximum Focal Length" msgstr "Фокусное расстояние" #: src/fujimn.cpp:262 msgid "Maximum focal length" msgstr "Максимальное фокусное расстояние" #: src/fujimn.cpp:264 #, fuzzy msgid "Maximum Aperture at Minimum Focal" msgstr "Максимально открытая диафрагма" #: src/fujimn.cpp:265 #, fuzzy msgid "Maximum aperture at minimum focal" msgstr "Максимально открытая диафрагма" #: src/fujimn.cpp:267 #, fuzzy msgid "Maximum Aperture at Maximum Focal" msgstr "Максимально открытая диафрагма" #: src/fujimn.cpp:268 #, fuzzy msgid "Maximum aperture at maximum focal" msgstr "Максимально открытая диафрагма" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 msgid "File Source" msgstr "Источник файла" #: src/fujimn.cpp:271 #, fuzzy msgid "File source" msgstr "Источник файла" #: src/fujimn.cpp:273 msgid "Order Number" msgstr "Номер заказа" #: src/fujimn.cpp:274 msgid "Order number" msgstr "Номер заказа" #: src/fujimn.cpp:276 #, fuzzy msgid "Frame Number" msgstr "Число F" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 #, fuzzy msgid "Frame number" msgstr "Номер изображения" #: src/fujimn.cpp:281 #, fuzzy msgid "Unknown FujiMakerNote tag" msgstr "Неизвестный тэг CanonMakerNote" #: src/minoltamn.cpp:56 msgid "Natural Color" msgstr "Естественный цвет" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 #, fuzzy msgid "Vivid Color" msgstr "Цвет" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 #, fuzzy msgid "Solarization" msgstr "Насыщенность" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "Adobe RGB" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 #, fuzzy msgid "Natural" msgstr "внешняя" #: src/minoltamn.cpp:64 #, fuzzy msgid "Natural sRGB" msgstr "внешняя" #: src/minoltamn.cpp:65 #, fuzzy msgid "Natural+ sRGB" msgstr "внешняя" #: src/minoltamn.cpp:67 msgid "Evening" msgstr "Вечер" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 msgid "Night Portrait" msgstr "Ночной портрет" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 #, fuzzy msgid "Super Fine" msgstr "SXGA Fine" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 #, fuzzy msgid "Extra Fine" msgstr "SXGA Fine" #: src/minoltamn.cpp:90 #, fuzzy msgid "Makernote Version" msgstr "Версия прошивки" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "" #: src/minoltamn.cpp:93 #, fuzzy msgid "Camera Settings (Std Old)" msgstr "Настройка контраста" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "" #: src/minoltamn.cpp:96 #, fuzzy msgid "Camera Settings (Std New)" msgstr "Настройка контраста" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "" #: src/minoltamn.cpp:99 #, fuzzy msgid "Camera Settings (7D)" msgstr "Настройка контраста" #: src/minoltamn.cpp:100 #, fuzzy msgid "Camera Settings (for Dynax 7D model)" msgstr "Настройка контраста" #: src/minoltamn.cpp:102 #, fuzzy msgid "Image Stabilization Data" msgstr "Описание снимка" #: src/minoltamn.cpp:103 #, fuzzy msgid "Image stabilization data" msgstr "Описание снимка" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "" #: src/minoltamn.cpp:111 #, fuzzy msgid "Compressed Image Size" msgstr "Сжатых битов на пиксел" #: src/minoltamn.cpp:112 #, fuzzy msgid "Compressed image size" msgstr "Сжатых битов на пиксел" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 #, fuzzy msgid "Thumbnail Offset" msgstr "Эскизы" #: src/minoltamn.cpp:118 msgid "Offset of the thumbnail" msgstr "" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 #, fuzzy msgid "Thumbnail Length" msgstr "Длина изображения" #: src/minoltamn.cpp:121 #, fuzzy msgid "Size of the thumbnail" msgstr "эскиз" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 #, fuzzy msgid "Scene Mode" msgstr "Тип сцены" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 #, fuzzy msgid "Color Mode" msgstr "Цветовое пространство" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #, fuzzy msgid "Color mode" msgstr "Цветовое пространство" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 #, fuzzy msgid "Image Quality" msgstr "Качество" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 #, fuzzy msgid "Flash Exposure Compensation" msgstr "Компенсация вспышки ?" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 #, fuzzy msgid "Flash exposure compensation in EV" msgstr "Компенсация вспышки ?" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 #, fuzzy msgid "Teleconverter Model" msgstr "Тип сцены" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 #, fuzzy msgid "Zone Matching" msgstr "Подавление шума" #: src/minoltamn.cpp:154 #, fuzzy msgid "Zone matching" msgstr "Подавление шума" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 msgid "Color temperature" msgstr "Температура цвета" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 msgid "Lens ID" msgstr "ID объектива" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 #, fuzzy msgid "Lens identifier" msgstr "Идентификатор ARM" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 #, fuzzy msgid "Color Compensation Filter" msgstr "Тонкомпенсация" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 #, fuzzy msgid "White Balance Fine Tune" msgstr "Таблица баланса белого" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 #, fuzzy msgid "White Balance Fine Tune Value" msgstr "Таблица баланса белого" #: src/minoltamn.cpp:168 #, fuzzy msgid "Image Stabilization A100" msgstr "Стабилизация снимка" #: src/minoltamn.cpp:169 #, fuzzy msgid "Image Stabilization for the Sony DSLR-A100" msgstr "Описание снимка" #: src/minoltamn.cpp:173 #, fuzzy msgid "Camera Settings (5D)" msgstr "Настройка контраста" #: src/minoltamn.cpp:174 #, fuzzy msgid "Camera Settings (for Dynax 5D model)" msgstr "Настройка контраста" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 #, fuzzy msgid "PrintIM information" msgstr "Ориентация" #: src/minoltamn.cpp:183 #, fuzzy msgid "Camera Settings (Z1)" msgstr "Настройка контраста" #: src/minoltamn.cpp:184 msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "" #: src/minoltamn.cpp:188 #, fuzzy msgid "Unknown Minolta MakerNote tag" msgstr "Неизвестный тег PentaxMakerNote" #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 msgid "Aperture priority" msgstr "Приоритет диафрагмы" #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "Приоритет выдержки" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 msgid "Fill flash" msgstr "Заполняющая вспышка" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 #, fuzzy msgid "Rear flash sync" msgstr "Встроенная вспышка" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 #, fuzzy msgid "Wireless" msgstr "Файл" #: src/minoltamn.cpp:224 #, fuzzy msgid "Fluorescent 2" msgstr "Флуоресцентная лампа" #: src/minoltamn.cpp:231 #, fuzzy msgid "Full size" msgstr "Полный" #: src/minoltamn.cpp:243 #, fuzzy msgid "Super fine" msgstr "SXGA Fine" #: src/minoltamn.cpp:247 msgid "Extra fine" msgstr "" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 #, fuzzy msgid "Single Frame" msgstr "Серийный номер" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 #, fuzzy msgid "Self-timer" msgstr "Серийный номер" #: src/minoltamn.cpp:255 msgid "Bracketing" msgstr "Брекетинг" #: src/minoltamn.cpp:256 msgid "Interval" msgstr "Интервал" #: src/minoltamn.cpp:257 #, fuzzy msgid "UHS continuous" msgstr "Продолжительный ведущий режим" #: src/minoltamn.cpp:258 #, fuzzy msgid "HS continuous" msgstr "Продолжительный ведущий режим" #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 msgid "Multi-segment" msgstr "" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 #, fuzzy msgid "Center weighted average" msgstr "Центрально-взвешенный средний" #: src/minoltamn.cpp:271 msgid "Electronic magnification" msgstr "" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 #, fuzzy msgid "Top" msgstr "в" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 #, fuzzy msgid "Top-right" msgstr "Авторские и смежные права" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 #, fuzzy msgid "Bottom-right" msgstr "слева направо" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 #, fuzzy msgid "Bottom" msgstr "снизу вверх" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 #, fuzzy msgid "Bottom-left" msgstr "справа налево" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 #, fuzzy msgid "Top-left" msgstr "справа налево" #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 #, fuzzy msgid "Hard" msgstr "Высокий" #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 #, fuzzy msgid "Soft" msgstr "Спорт" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 #, fuzzy msgid "Night portrait" msgstr "Ночная съёмка" #: src/minoltamn.cpp:315 #, fuzzy msgid "Sports action" msgstr "Спорт" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "" #: src/minoltamn.cpp:349 #, fuzzy msgid "Standard form" msgstr "Стандартный свет A" #: src/minoltamn.cpp:350 #, fuzzy msgid "Data form" msgstr "Стандартный свет A" #: src/minoltamn.cpp:355 #, fuzzy msgid "Natural color" msgstr "Естественный цвет" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 #, fuzzy msgid "Black and white" msgstr "Чёрно-белый" #: src/minoltamn.cpp:357 #, fuzzy msgid "Vivid color" msgstr "Цвет" #: src/minoltamn.cpp:364 #, fuzzy msgid "No zone" msgstr "Ничего" #: src/minoltamn.cpp:365 msgid "Center zone (horizontal orientation)" msgstr "" #: src/minoltamn.cpp:366 msgid "Center zone (vertical orientation)" msgstr "" #: src/minoltamn.cpp:367 #, fuzzy msgid "Left zone" msgstr "Левая" #: src/minoltamn.cpp:368 #, fuzzy msgid "Right zone" msgstr "справа налево" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 #, fuzzy msgid "Auto focus" msgstr "AI Focus" #: src/minoltamn.cpp:379 #, fuzzy msgid "Wide focus (normal)" msgstr "Способ фокусировки" #: src/minoltamn.cpp:380 #, fuzzy msgid "Spot focus" msgstr "Ручная фокусировка" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 #, fuzzy msgid "Exposure" msgstr "Режим экспозиции" #: src/minoltamn.cpp:388 #, fuzzy msgid "Filter" msgstr "Порядок заполнения" #: src/minoltamn.cpp:393 #, fuzzy msgid "Not embedded" msgstr "Не определено" #: src/minoltamn.cpp:394 #, fuzzy msgid "Embedded" msgstr "Не определено" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "" #: src/minoltamn.cpp:410 #, fuzzy msgid "Manual flash control" msgstr "Ручная экспозиция" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 msgid "Exposure Mode" msgstr "Режим экспозиции" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 msgid "Flash mode" msgstr "Режим вспышки" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 #, fuzzy msgid "Drive mode" msgstr "Режим замера" #: src/minoltamn.cpp:512 #, fuzzy msgid "ISO Value" msgstr "Чувствительность (ISO)" #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 msgid "Exposure Time" msgstr "Время экспозиции" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 msgid "FNumber" msgstr "Число F" #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 #, fuzzy msgid "The F-Number" msgstr "Число F" #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 #, fuzzy msgid "Macro Mode" msgstr "Режим макросъёмки" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 #, fuzzy msgid "Exposure Compensation" msgstr "Тонкомпенсация" #: src/minoltamn.cpp:529 #, fuzzy msgid "Bracket Step" msgstr "Брекетинг" #: src/minoltamn.cpp:530 #, fuzzy msgid "Bracket step" msgstr "Брекетинг" #: src/minoltamn.cpp:532 #, fuzzy msgid "Interval Length" msgstr "Длина изображения" #: src/minoltamn.cpp:533 #, fuzzy msgid "Interval length" msgstr "Фокусное расстояние" #: src/minoltamn.cpp:535 #, fuzzy msgid "Interval Number" msgstr "Серийный номер" #: src/minoltamn.cpp:536 #, fuzzy msgid "Interval number" msgstr "Серийный номер" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 #, fuzzy msgid "Focus Distance" msgstr "Расстояние ручного фокуса" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 #, fuzzy msgid "Focus distance" msgstr "Расстояние ручного фокуса" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 #, fuzzy msgid "Flash Fired" msgstr "Вспышка сработала" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 #, fuzzy msgid "Flash fired" msgstr "Без вспышки" #: src/minoltamn.cpp:547 #, fuzzy msgid "Minolta Date" msgstr "Режим замера" #: src/minoltamn.cpp:548 #, fuzzy msgid "Minolta date" msgstr "Режим замера" #: src/minoltamn.cpp:550 #, fuzzy msgid "Minolta Time" msgstr "Режим замера" #: src/minoltamn.cpp:551 #, fuzzy msgid "Minolta time" msgstr "Режим замера" #: src/minoltamn.cpp:556 #, fuzzy msgid "File Number Memory" msgstr "Число F" #: src/minoltamn.cpp:557 #, fuzzy msgid "File number memory" msgstr "Имя файла" #: src/minoltamn.cpp:559 #, fuzzy msgid "Last Image Number" msgstr "Номер изображения" #: src/minoltamn.cpp:560 #, fuzzy msgid "Last image number" msgstr "Номер снимка" #: src/minoltamn.cpp:562 #, fuzzy msgid "Color Balance Red" msgstr "Цветовое пространство" #: src/minoltamn.cpp:563 #, fuzzy msgid "Color balance red" msgstr "Цветовое пространство" #: src/minoltamn.cpp:565 #, fuzzy msgid "Color Balance Green" msgstr "Цветовое пространство" #: src/minoltamn.cpp:566 #, fuzzy msgid "Color balance green" msgstr "Цветовое пространство" #: src/minoltamn.cpp:568 #, fuzzy msgid "Color Balance Blue" msgstr "Цветовое пространство" #: src/minoltamn.cpp:569 #, fuzzy msgid "Color balance blue" msgstr "Цветовое пространство" #: src/minoltamn.cpp:580 #, fuzzy msgid "Subject Program" msgstr "Область объекта съёмки" #: src/minoltamn.cpp:581 #, fuzzy msgid "Subject program" msgstr "Область объекта съёмки" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 #, fuzzy msgid "ISO Settings" msgstr "Настройка резкости" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 #, fuzzy msgid "ISO setting" msgstr "Настройка резкости" #: src/minoltamn.cpp:589 #, fuzzy msgid "Minolta Model" msgstr "Режим замера" #: src/minoltamn.cpp:590 #, fuzzy msgid "Minolta model" msgstr "Режим замера" #: src/minoltamn.cpp:592 #, fuzzy msgid "Interval Mode" msgstr "Intel" #: src/minoltamn.cpp:593 #, fuzzy msgid "Interval mode" msgstr "Intel" #: src/minoltamn.cpp:595 #, fuzzy msgid "Folder Name" msgstr "Имя владельца" #: src/minoltamn.cpp:596 #, fuzzy msgid "Folder name" msgstr "Имя владельца" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 #, fuzzy msgid "ColorMode" msgstr "Цвет" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 #, fuzzy msgid "Color Filter" msgstr "Цветовое пространство" #: src/minoltamn.cpp:602 #, fuzzy msgid "Color filter" msgstr "Цветовое пространство" #: src/minoltamn.cpp:604 #, fuzzy msgid "Black and White Filter" msgstr "Чёрно-белый" #: src/minoltamn.cpp:605 #, fuzzy msgid "Black and white filter" msgstr "Чёрно-белый" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 #, fuzzy msgid "Internal Flash" msgstr "Встроенная вспышка" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 msgid "Brightness" msgstr "Яркость" #: src/minoltamn.cpp:613 #, fuzzy msgid "Spot Focus Point X" msgstr "Ручная фокусировка" #: src/minoltamn.cpp:614 #, fuzzy msgid "Spot focus point X" msgstr "Ручная фокусировка" #: src/minoltamn.cpp:616 #, fuzzy msgid "Spot Focus Point Y" msgstr "Ручная фокусировка" #: src/minoltamn.cpp:617 #, fuzzy msgid "Spot focus point Y" msgstr "Ручная фокусировка" #: src/minoltamn.cpp:619 #, fuzzy msgid "Wide Focus Zone" msgstr "Способ фокусировки" #: src/minoltamn.cpp:620 #, fuzzy msgid "Wide focus zone" msgstr "Способ фокусировки" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 msgid "Focus mode" msgstr "Способ фокусировки" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 #, fuzzy msgid "Focus area" msgstr "Способ фокусировки" #: src/minoltamn.cpp:628 msgid "DEC Switch Position" msgstr "" #: src/minoltamn.cpp:629 msgid "DEC switch position" msgstr "" #: src/minoltamn.cpp:631 #, fuzzy msgid "Color Profile" msgstr "Цветовое пространство" #: src/minoltamn.cpp:632 #, fuzzy msgid "Color profile" msgstr "Цветовое пространство" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 msgid "Data Imprint" msgstr "" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 #, fuzzy msgid "Flash Metering" msgstr "Внешняя вспышка" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 #, fuzzy msgid "Flash metering" msgstr "Внешняя вспышка" #: src/minoltamn.cpp:642 #, fuzzy msgid "Unknown Minolta Camera Settings tag" msgstr "Настройка контраста" #: src/minoltamn.cpp:660 #, fuzzy msgid "Program-shift A" msgstr "Программа" #: src/minoltamn.cpp:661 #, fuzzy msgid "Program-shift S" msgstr "Программа" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 #, fuzzy msgid "Raw+Jpeg" msgstr "Размер изображения" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 #, fuzzy msgid "Kelvin" msgstr "3000 K" #: src/minoltamn.cpp:695 #, fuzzy msgid "Single-shot AF" msgstr "One-Shot" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 #, fuzzy msgid "Continuous AF" msgstr "Продолжительный ведущий режим" #: src/minoltamn.cpp:698 #, fuzzy msgid "Automatic AF" msgstr "Автоматический" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 #, fuzzy msgid "sRGB (Natural)" msgstr "внешняя" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 #, fuzzy msgid "sRGB (Natural+)" msgstr "внешняя" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 msgid "Horizontal (normal)" msgstr "" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "" #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "" #: src/minoltamn.cpp:756 #, fuzzy msgid "AF Points" msgstr "Использованная точка AF" #: src/minoltamn.cpp:757 #, fuzzy msgid "AF points" msgstr "Использованная точка AF" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 msgid "Color Space" msgstr "Цветовое пространство" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 #, fuzzy msgid "Color space" msgstr "Цветовое пространство" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 msgid "Free Memory Card Images" msgstr "" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 msgid "Free memory card images" msgstr "" #: src/minoltamn.cpp:789 msgid "Hue" msgstr "" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 #, fuzzy msgid "Rotation" msgstr "Насыщенность" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 msgid "Image Number" msgstr "Номер изображения" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 #, fuzzy msgid "Noise reduction" msgstr "Подавление шума" #: src/minoltamn.cpp:817 msgid "Zone Matching On" msgstr "" #: src/minoltamn.cpp:818 #, fuzzy msgid "Zone matching on" msgstr "Тонкомпенсация" #: src/minoltamn.cpp:822 #, fuzzy msgid "Unknown Minolta Camera Settings 7D tag" msgstr "Настройка контраста" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 #, fuzzy msgid "Program Shift A" msgstr "Программа" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 #, fuzzy msgid "Program Shift S" msgstr "Программа" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 #, fuzzy msgid "Night View/Portrait" msgstr "Ночной портрет" #: src/minoltamn.cpp:895 msgid "200 (Zone Matching High)" msgstr "" #: src/minoltamn.cpp:896 msgid "80 (Zone Matching Low)" msgstr "" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 #, fuzzy msgid "Adobe RGB (ICC)" msgstr "Adobe RGB" #: src/minoltamn.cpp:918 #, fuzzy msgid "Central" msgstr "Центральная" #: src/minoltamn.cpp:919 msgid "Up" msgstr "" #: src/minoltamn.cpp:920 #, fuzzy msgid "Up right" msgstr "Правая" #: src/minoltamn.cpp:922 #, fuzzy msgid "Down right" msgstr "Правая" #: src/minoltamn.cpp:923 #, fuzzy msgid "Down" msgstr "вкл" #: src/minoltamn.cpp:924 #, fuzzy msgid "Down left" msgstr "справа налево" #: src/minoltamn.cpp:926 #, fuzzy msgid "Up left" msgstr "справа налево" #: src/minoltamn.cpp:932 #, fuzzy msgid "Selection" msgstr "Выбор ISO" #: src/minoltamn.cpp:947 #, fuzzy msgid "Natural+" msgstr "внешняя" #: src/minoltamn.cpp:949 #, fuzzy msgid "Wind Scene" msgstr "Ночная съёмка" #: src/minoltamn.cpp:950 #, fuzzy msgid "Evening Scene" msgstr "Вечер" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 #, fuzzy msgid "Focus Position" msgstr "Способ фокусировки" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 #, fuzzy msgid "Focus position" msgstr "Способ фокусировки" #: src/minoltamn.cpp:1003 #, fuzzy msgid "Focus Area" msgstr "Способ фокусировки" #: src/minoltamn.cpp:1036 #, fuzzy msgid "Exposure Revision" msgstr "Тонкомпенсация" #: src/minoltamn.cpp:1037 #, fuzzy msgid "Exposure revision" msgstr "Тонкомпенсация" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 #, fuzzy msgid "Rotation2" msgstr "Насыщенность" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 #, fuzzy msgid "Picture Finish" msgstr "Режим захвата" #: src/minoltamn.cpp:1063 #, fuzzy msgid "Exposure Manual Bias" msgstr "Смещение экспозиции" #: src/minoltamn.cpp:1064 #, fuzzy msgid "Exposure manual bias" msgstr "Смещение экспозиции" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 #, fuzzy msgid "AF Mode" msgstr "Способ фокусировки" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 #, fuzzy msgid "AF mode" msgstr "Режим вспышки" #: src/minoltamn.cpp:1087 #, fuzzy msgid "Unknown Minolta Camera Settings 5D tag" msgstr "Настройка контраста" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 #, fuzzy msgid "Self-timer 10 sec" msgstr "Серийный номер" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 #, fuzzy msgid "Self-timer 2 sec" msgstr "Серийный номер" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 #, fuzzy msgid "White Balance Bracketing Low" msgstr "Настройка баланса белого" #: src/minoltamn.cpp:1105 #, fuzzy msgid "White Balance Bracketing High" msgstr "Настройка баланса белого" #: src/minoltamn.cpp:1106 #, fuzzy msgid "Single-frame Bracketing Low" msgstr "Серийный номер" #: src/minoltamn.cpp:1107 #, fuzzy msgid "Continuous Bracketing Low" msgstr "Автобрекетирование" #: src/minoltamn.cpp:1108 #, fuzzy msgid "Single-frame Bracketing High" msgstr "Серийный номер" #: src/minoltamn.cpp:1109 #, fuzzy msgid "Continuous Bracketing High" msgstr "Продолжительный ведущий режим" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 #, fuzzy msgid "Continuous Bracketing" msgstr "Продолжительный ведущий режим" #: src/minoltamn.cpp:1156 #, fuzzy msgid "Single-Frame Bracketing" msgstr "Серийный номер" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 #, fuzzy msgid "White Balance Bracketing" msgstr "Настройка баланса белого" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 msgid "Preset" msgstr "Пресет" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 #, fuzzy msgid "Color Temperature/Color Filter" msgstr "Температура цвета" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 msgid "Temperature" msgstr "Температура" #: src/minoltamn.cpp:1213 #, fuzzy msgid "Setup" msgstr "Установить" #: src/minoltamn.cpp:1214 msgid "Recall" msgstr "" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "" #: src/minoltamn.cpp:1232 #, fuzzy msgid "Image and Information" msgstr "Планарная конфигурация" #: src/minoltamn.cpp:1233 #, fuzzy msgid "Image Only" msgstr "Тип изображения" #: src/minoltamn.cpp:1234 #, fuzzy msgid "Image and Histogram" msgstr "Длина изображения" #: src/minoltamn.cpp:1240 #, fuzzy msgid "Fill Flash" msgstr "Заполняющая вспышка" #: src/minoltamn.cpp:1251 #, fuzzy msgid "Focus Hold" msgstr "Способ фокусировки" #: src/minoltamn.cpp:1252 #, fuzzy msgid "DOF Preview" msgstr "Данные эскиза" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "" #: src/minoltamn.cpp:1258 #, fuzzy msgid "Toggle" msgstr "Ничего" #: src/minoltamn.cpp:1259 #, fuzzy msgid "Spot Hold" msgstr "Режим замера" #: src/minoltamn.cpp:1260 #, fuzzy msgid "Spot Toggle" msgstr "Режим замера" #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 msgid "Shutter Speed" msgstr "Скорость срабатывания затвора" #: src/minoltamn.cpp:1271 msgid "Ambient and Flash" msgstr "" #: src/minoltamn.cpp:1272 msgid "Ambient Only" msgstr "" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 #, fuzzy msgid "Automatic" msgstr "Автоматический" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 #, fuzzy msgid "Auto-rotate" msgstr "Автоматический контраст" #: src/minoltamn.cpp:1291 msgid "Horizontal" msgstr "" #: src/minoltamn.cpp:1297 #, fuzzy msgid "Manual Rotate" msgstr "Ручная экспозиция" #: src/minoltamn.cpp:1302 #, fuzzy msgid "Within Range" msgstr "Фокусный диапазон" #: src/minoltamn.cpp:1303 #, fuzzy msgid "Under/Over Range" msgstr "Область передачи" #: src/minoltamn.cpp:1304 msgid "Out of Range" msgstr "" #: src/minoltamn.cpp:1309 #, fuzzy msgid "Not Indicated" msgstr "Не определено" #: src/minoltamn.cpp:1310 #, fuzzy msgid "Under Scale" msgstr "Подводная съемка" #: src/minoltamn.cpp:1311 #, fuzzy msgid "Bottom of Scale" msgstr "снизу вверх" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "" #: src/minoltamn.cpp:1330 #, fuzzy msgid "Over Scale" msgstr "По умолчанию" #: src/minoltamn.cpp:1335 msgid "AM" msgstr "" #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "" #: src/minoltamn.cpp:1342 msgid "Built-in" msgstr "" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 #, fuzzy msgid "Very Low" msgstr "Низкий" #: src/minoltamn.cpp:1350 #, fuzzy msgid "Half Full" msgstr "Полный" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "" #: src/minoltamn.cpp:1359 #, fuzzy msgid "Exposure Compensation Setting" msgstr "Тонкомпенсация" #: src/minoltamn.cpp:1360 #, fuzzy msgid "Exposure compensation setting" msgstr "Компенсация экспозиции" #: src/minoltamn.cpp:1362 #, fuzzy msgid "High Speed Sync" msgstr "Ночная съёмка" #: src/minoltamn.cpp:1363 #, fuzzy msgid "High speed sync" msgstr "Ночная съёмка" #: src/minoltamn.cpp:1365 #, fuzzy msgid "Manual Exposure Time" msgstr "Ручная экспозиция" #: src/minoltamn.cpp:1366 #, fuzzy msgid "Manual exposure time" msgstr "Ручная экспозиция" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 #, fuzzy msgid "Manual FNumber" msgstr "Серийный номер" #: src/minoltamn.cpp:1377 #, fuzzy msgid "Drive Mode 2" msgstr "Режим замера" #: src/minoltamn.cpp:1378 #, fuzzy msgid "Drive mode 2" msgstr "Режим замера" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 #, fuzzy msgid "AF Area Mode" msgstr "Способ фокусировки" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 #, fuzzy msgid "FlashMode" msgstr "Режим вспышки" #: src/minoltamn.cpp:1395 #, fuzzy msgid "Flash Exposure Comp Setting" msgstr "Компенсация вспышки ?" #: src/minoltamn.cpp:1396 #, fuzzy msgid "Flash exposure compensation setting" msgstr "Компенсация вспышки ?" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 #, fuzzy msgid "ISO Setting" msgstr "Настройка резкости" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 #, fuzzy msgid "Zone Matching Mode" msgstr "Подавление шума" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 #, fuzzy msgid "Dynamic Range Optimizer Mode" msgstr "Настройка баланса белого" #: src/minoltamn.cpp:1408 #, fuzzy msgid "Dynamic range optimizer mode" msgstr "Настройка баланса белого" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "" #: src/minoltamn.cpp:1434 #, fuzzy msgid "Self Timer Time" msgstr "Серийный номер" #: src/minoltamn.cpp:1435 #, fuzzy msgid "Self timer time" msgstr "Серийный номер" #: src/minoltamn.cpp:1438 #, fuzzy msgid "Continuous bracketing" msgstr "Продолжительный ведущий режим" #: src/minoltamn.cpp:1440 #, fuzzy msgid "Single Frame Bracketing" msgstr "Настройка баланса белого" #: src/minoltamn.cpp:1441 #, fuzzy msgid "Single frame bracketing" msgstr "Настройка баланса белого" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 #, fuzzy msgid "White balance bracketing" msgstr "Настройка баланса белого" #: src/minoltamn.cpp:1446 #, fuzzy msgid "White Balance Setting" msgstr "Настройка баланса белого" #: src/minoltamn.cpp:1449 #, fuzzy msgid "Preset White Balance" msgstr "Баланс белого" #: src/minoltamn.cpp:1450 #, fuzzy msgid "Preset white balance" msgstr "Автомат. баланс белого" #: src/minoltamn.cpp:1452 #, fuzzy msgid "Color Temperature Setting" msgstr "Температура цвета" #: src/minoltamn.cpp:1453 #, fuzzy msgid "Color temperature setting" msgstr "Температура цвета" #: src/minoltamn.cpp:1455 #, fuzzy msgid "Custom WB Setting" msgstr "Свой 1" #: src/minoltamn.cpp:1456 #, fuzzy msgid "Custom WB setting" msgstr "Свой 1" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 #, fuzzy msgid "Dynamic Range Optimizer Settings" msgstr "Настройка баланса белого" #: src/minoltamn.cpp:1464 #, fuzzy msgid "Custom WB Red Level" msgstr "Заряд батареи" #: src/minoltamn.cpp:1465 #, fuzzy msgid "Custom WB red level" msgstr "Под уровнем моря" #: src/minoltamn.cpp:1467 #, fuzzy msgid "Custom WB Green Level" msgstr "Заряд батареи" #: src/minoltamn.cpp:1468 #, fuzzy msgid "Custom WB green level" msgstr "Под уровнем моря" #: src/minoltamn.cpp:1470 #, fuzzy msgid "Custom WB Blue Level" msgstr "Заряд батареи" #: src/minoltamn.cpp:1471 #, fuzzy msgid "CustomWB blue level" msgstr "Под уровнем моря" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 #, fuzzy msgid "Custom WB Error" msgstr "Свой 1" #: src/minoltamn.cpp:1477 #, fuzzy msgid "White balance fine tune" msgstr "Точная подстройка баланса белого" #: src/minoltamn.cpp:1483 #, fuzzy msgid "Color compensation filter" msgstr "Тонкомпенсация" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 #, fuzzy msgid "Sony Image Size" msgstr "Размер изображения" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "" #: src/minoltamn.cpp:1500 msgid "Eye Start AF" msgstr "" #: src/minoltamn.cpp:1501 #, fuzzy msgid "Eye start AF" msgstr "One-Shot" #: src/minoltamn.cpp:1503 #, fuzzy msgid "Red Eye Reduction" msgstr "Подавление эффекта красных глаз" #: src/minoltamn.cpp:1504 #, fuzzy msgid "Red eye reduction" msgstr "Подавление эффекта красных глаз" #: src/minoltamn.cpp:1506 #, fuzzy msgid "Flash Default" msgstr "Вспышка сработала" #: src/minoltamn.cpp:1507 #, fuzzy msgid "Flash default" msgstr "Режим вспышки" #: src/minoltamn.cpp:1509 #, fuzzy msgid "Auto Bracket Order" msgstr "Автобрекетирование" #: src/minoltamn.cpp:1510 #, fuzzy msgid "Auto bracket order" msgstr "Автобрекетирование" #: src/minoltamn.cpp:1512 #, fuzzy msgid "Focus Hold Button" msgstr "Способ фокусировки" #: src/minoltamn.cpp:1513 #, fuzzy msgid "Focus hold button" msgstr "Способ фокусировки" #: src/minoltamn.cpp:1515 #, fuzzy msgid "AEL Button" msgstr "Способ фокусировки" #: src/minoltamn.cpp:1516 #, fuzzy msgid "AEL button" msgstr "Способ фокусировки" #: src/minoltamn.cpp:1518 #, fuzzy msgid "Control Dial Set" msgstr "Настройка контраста" #: src/minoltamn.cpp:1519 #, fuzzy msgid "Control dial set" msgstr "Контраст" #: src/minoltamn.cpp:1521 #, fuzzy msgid "Exposure Compensation Mode" msgstr "Тонкомпенсация" #: src/minoltamn.cpp:1522 #, fuzzy msgid "Exposure compensation mode" msgstr "Компенсация экспозиции" #: src/minoltamn.cpp:1525 #, fuzzy msgid "AF assist" msgstr "Тип сцены" #: src/minoltamn.cpp:1527 #, fuzzy msgid "Card Shutter Lock" msgstr "Скорость срабатывания затвора" #: src/minoltamn.cpp:1528 #, fuzzy msgid "Card shutter lock" msgstr "Скорость срабатывания затвора" #: src/minoltamn.cpp:1530 #, fuzzy msgid "Lens Shutter Lock" msgstr "Скорость срабатывания затвора" #: src/minoltamn.cpp:1531 #, fuzzy msgid "Lens shutter lock" msgstr "Скорость срабатывания затвора" #: src/minoltamn.cpp:1533 msgid "AF Area Illumination" msgstr "" #: src/minoltamn.cpp:1534 #, fuzzy msgid "AF area illumination" msgstr "Режим вспышки" #: src/minoltamn.cpp:1536 msgid "Monitor Display Off" msgstr "" #: src/minoltamn.cpp:1537 msgid "Monitor display off" msgstr "" #: src/minoltamn.cpp:1539 msgid "Record Display" msgstr "" #: src/minoltamn.cpp:1540 msgid "Record display" msgstr "" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "" #: src/minoltamn.cpp:1545 #, fuzzy msgid "Exposure Indicator" msgstr "Режим экспозиции" #: src/minoltamn.cpp:1546 #, fuzzy msgid "Exposure indicator" msgstr "Смещение экспозиции" #: src/minoltamn.cpp:1548 #, fuzzy msgid "AEL Exposure Indicator" msgstr "Режим экспозиции" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "" #: src/minoltamn.cpp:1551 #, fuzzy msgid "Exposure Bracketing Indicator Last" msgstr "Брекетинг" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "" #: src/minoltamn.cpp:1557 #, fuzzy msgid "Flash Exposure Indicator" msgstr "Компенсация вспышки ?" #: src/minoltamn.cpp:1558 #, fuzzy msgid "Flash exposure indicator" msgstr "Компенсация вспышки ?" #: src/minoltamn.cpp:1560 #, fuzzy msgid "Flash Exposure Indicator Next" msgstr "Компенсация вспышки ?" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1563 #, fuzzy msgid "Flash Exposure Indicator Last" msgstr "Компенсация вспышки ?" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1569 #, fuzzy msgid "Focus Mode Switch" msgstr "Способ фокусировки" #: src/minoltamn.cpp:1570 #, fuzzy msgid "Focus mode switch" msgstr "Способ фокусировки" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 #, fuzzy msgid "Flash Type" msgstr "Режим вспышки" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 #, fuzzy msgid "Flash type" msgstr "Режим вспышки" #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 #, fuzzy msgid "AE Lock" msgstr "Фиксация экспозиции" #: src/minoltamn.cpp:1585 msgid "Color compensation filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:1587 src/tags.cpp:766 msgid "Battery Level" msgstr "Заряд батареи" #: src/minoltamn.cpp:1588 #, fuzzy msgid "Battery level" msgstr "Заряд батареи" #: src/minoltamn.cpp:1592 #, fuzzy msgid "Unknown Sony Camera Settings A100 tag" msgstr "Настройка контраста" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 #, fuzzy msgid "Clear" msgstr "Категория" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 #, fuzzy msgid "Deep" msgstr "Центральный" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 #, fuzzy msgid "Light" msgstr "Ночной портрет" #: src/minoltamn.cpp:1950 #, fuzzy msgid "Night View" msgstr "Ночная съёмка" #: src/minoltamn.cpp:1951 msgid "Autumn Leaves" msgstr "" #: src/minoltamn.cpp:1990 #, fuzzy msgid "Local" msgstr "Местоположение объекта съёмки" #: src/minoltamn.cpp:2005 #, fuzzy msgid "Top-Right" msgstr "Авторские и смежные права" #: src/minoltamn.cpp:2007 #, fuzzy msgid "Bottom-Right" msgstr "слева направо" #: src/minoltamn.cpp:2009 #, fuzzy msgid "Bottom-Left" msgstr "снизу вверх" #: src/minoltamn.cpp:2011 #, fuzzy msgid "Top-Left" msgstr "справа налево" #: src/minoltamn.cpp:2012 #, fuzzy msgid "Far-Right" msgstr "Авторские права" #: src/minoltamn.cpp:2013 #, fuzzy msgid "Far-Left" msgstr "справа налево" #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 #, fuzzy msgid "Advanced Auto" msgstr "Функция передачи" #: src/minoltamn.cpp:2028 #, fuzzy msgid "Advanced Level" msgstr "Заряд батареи" #: src/minoltamn.cpp:2041 msgid "AF" msgstr "" #: src/minoltamn.cpp:2042 #, fuzzy msgid "Release" msgstr "Дата пубикации" #: src/minoltamn.cpp:2054 #, fuzzy msgid "RAW " msgstr "RAW" #: src/minoltamn.cpp:2055 #, fuzzy msgid "CRAW " msgstr "RAW" #: src/minoltamn.cpp:2058 #, fuzzy msgid "RAW+JPEG" msgstr "JPEG" #: src/minoltamn.cpp:2059 #, fuzzy msgid "CRAW+JPEG" msgstr "JPEG" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "" #: src/minoltamn.cpp:2116 #, fuzzy msgid "Compressed Raw" msgstr "Уровень сжатия" #: src/minoltamn.cpp:2117 #, fuzzy msgid "Compressed Raw + JPEG" msgstr "Сжатых битов на пиксел" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "" #: src/minoltamn.cpp:2132 msgid "Minolta AF 1.4x APO (D)" msgstr "" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "" #: src/minoltamn.cpp:2163 #, fuzzy msgid "ISO Setting Used" msgstr "Настройка резкости" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 msgid "High Key" msgstr "Высокий ключ" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "Низкий ключ" #: src/nikonmn.cpp:80 #, fuzzy msgid "Extra High" msgstr "Авторские и смежные права" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 msgid "Single area" msgstr "" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 msgid "Dynamic area" msgstr "" #: src/nikonmn.cpp:88 msgid "Dynamic area, closest subject" msgstr "" #: src/nikonmn.cpp:89 msgid "Group dynamic" msgstr "" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 msgid "Single area (wide)" msgstr "" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 msgid "Dynamic area (wide)" msgstr "" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 #, fuzzy msgid "Upper-left" msgstr "Правая" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 #, fuzzy msgid "Upper-right" msgstr "Правая" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 #, fuzzy msgid "Lower-left" msgstr "Правая" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 #, fuzzy msgid "Lower-right" msgstr "Правая" #: src/nikonmn.cpp:108 #, fuzzy msgid "Left-most" msgstr "Левая" #: src/nikonmn.cpp:109 #, fuzzy msgid "Right-most" msgstr "Ночной портрет" #: src/nikonmn.cpp:143 #, fuzzy msgid "Fire, manual" msgstr "Ручная" #: src/nikonmn.cpp:144 #, fuzzy msgid "Fire, external" msgstr "Внешняя вспышка" #: src/nikonmn.cpp:145 msgid "Fire, commander mode" msgstr "" #: src/nikonmn.cpp:146 #, fuzzy msgid "Fire, TTL mode" msgstr "Режим вспышки" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 #, fuzzy msgid "Delay" msgstr "Удалить" #: src/nikonmn.cpp:153 #, fuzzy msgid "PC Control" msgstr "Режим захвата" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 #, fuzzy msgid "Exposure Bracketing" msgstr "Брекетинг" #: src/nikonmn.cpp:156 #, fuzzy msgid "Auto ISO" msgstr "Авто" #: src/nikonmn.cpp:157 #, fuzzy msgid "White-Balance Bracketing" msgstr "Настройка баланса белого" #: src/nikonmn.cpp:158 #, fuzzy msgid "IR Control" msgstr "Пульт Д/У?" #: src/nikonmn.cpp:159 #, fuzzy msgid "D-Lighting Bracketing" msgstr "Продолжительный ведущий режим" #: src/nikonmn.cpp:166 #, fuzzy msgid "PC control" msgstr "Режим захвата" #: src/nikonmn.cpp:167 #, fuzzy msgid "Exposure bracketing" msgstr "Брекетинг" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "" #: src/nikonmn.cpp:170 #, fuzzy msgid "IR control" msgstr "Пульт Д/У?" #: src/nikonmn.cpp:176 #, fuzzy msgid "Auto release" msgstr "Автобрекетирование" #: src/nikonmn.cpp:177 #, fuzzy msgid "Manual release" msgstr "Ручная экспозиция" #: src/nikonmn.cpp:182 #, fuzzy msgid "Lossy (type 1)" msgstr "Тип объектива" #: src/nikonmn.cpp:183 src/tags.cpp:251 msgid "Uncompressed" msgstr "Несжатый" #: src/nikonmn.cpp:184 msgid "Lossless" msgstr "" #: src/nikonmn.cpp:185 #, fuzzy msgid "Lossy (type 2)" msgstr "Тип объектива" #: src/nikonmn.cpp:191 #, fuzzy msgid "B & W" msgstr "Ч/Б" #: src/nikonmn.cpp:193 #, fuzzy msgid "Trim" msgstr "Время отправки" #: src/nikonmn.cpp:194 #, fuzzy msgid "Small picture" msgstr "Кино" #: src/nikonmn.cpp:195 #, fuzzy msgid "D-Lighting" msgstr "Дневной свет" #: src/nikonmn.cpp:196 #, fuzzy msgid "Red eye" msgstr "Заряд батареи" #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 #, fuzzy msgid "Cyanotype" msgstr "тип" #: src/nikonmn.cpp:198 #, fuzzy msgid "Sky light" msgstr "Дневной свет" #: src/nikonmn.cpp:199 #, fuzzy msgid "Warm tone" msgstr "Цветовое пространство" #: src/nikonmn.cpp:200 #, fuzzy msgid "Color custom" msgstr "Цветовое пространство" #: src/nikonmn.cpp:201 #, fuzzy msgid "Image overlay" msgstr "Тип изображения" #: src/nikonmn.cpp:207 #, fuzzy msgid "Minimal" msgstr "Ручная" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 #, fuzzy msgid "Nikon Makernote version" msgstr "Версия прошивки" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 #, fuzzy msgid "ISO Speed" msgstr "Скорость ISO" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 #, fuzzy msgid "Sharpening" msgstr "Резкость изображения" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 #, fuzzy msgid "Image sharpening setting" msgstr "Резкость изображения" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 msgid "Focus" msgstr "Фокус" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 #, fuzzy msgid "Flash Setting" msgstr "Вспышка сработала" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 #, fuzzy msgid "Flash setting" msgstr "Вспышка сработала" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 #, fuzzy msgid "ISO Selection" msgstr "Выбор ISO" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 #, fuzzy msgid "ISO selection" msgstr "Выбор ISO" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data Dump" msgstr "" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data dump" msgstr "" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 msgid "Image Adjustment" msgstr "Коррекция изображения" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 #, fuzzy msgid "Image adjustment setting" msgstr "Подстройка изображения" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 msgid "Auxiliary lens (adapter)" msgstr "" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 #, fuzzy msgid "Manual focus distance" msgstr "Расстояние ручного фокуса" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 #, fuzzy msgid "Digital zoom setting" msgstr "Цифровой трансфокатор" #: src/nikonmn.cpp:260 #, fuzzy msgid "AF Focus Position" msgstr "Способ фокусировки" #: src/nikonmn.cpp:261 #, fuzzy msgid "AF focus position information" msgstr "Способ фокусировки" #: src/nikonmn.cpp:265 #, fuzzy msgid "Unknown Nikon1MakerNote tag" msgstr "Неизвестный тэг CanonMakerNote" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 #, fuzzy msgid "Continuous autofocus" msgstr "Продолжительный ведущий режим" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 msgid "Single autofocus" msgstr "" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 #, fuzzy msgid "Not used" msgstr "Не определено" #: src/nikonmn.cpp:371 msgid "guess" msgstr "" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "VGA Basic" #: src/nikonmn.cpp:419 msgid "VGA Normal" msgstr "VGA Normal" #: src/nikonmn.cpp:420 msgid "VGA Fine" msgstr "VGA Fine" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "SXGA Basic" #: src/nikonmn.cpp:422 msgid "SXGA Normal" msgstr "SXGA Normal" #: src/nikonmn.cpp:423 msgid "SXGA Fine" msgstr "SXGA Fine" #: src/nikonmn.cpp:435 msgid "Bright+" msgstr "Яркость+" #: src/nikonmn.cpp:436 msgid "Bright-" msgstr "Яркость-" #: src/nikonmn.cpp:437 msgid "Contrast+" msgstr "Контраст+" #: src/nikonmn.cpp:438 msgid "Contrast-" msgstr "Контраст-" #: src/nikonmn.cpp:457 #, fuzzy msgid "Speedlight" msgstr "Дневной свет" #: src/nikonmn.cpp:497 #, fuzzy msgid "Unknown Nikon2MakerNote tag" msgstr "Неизвестный тэг CanonMakerNote" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 #, fuzzy msgid "Flash Device" msgstr "Вспышка сработала" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 #, fuzzy msgid "Flash device" msgstr "Режим вспышки" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 #, fuzzy msgid "White Balance Bias" msgstr "Баланс белого" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 #, fuzzy msgid "White balance bias" msgstr "Баланс белого" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 #, fuzzy msgid "WB RB Levels" msgstr "Заряд батареи" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 #, fuzzy msgid "WB RB levels" msgstr "Заряд батареи" #: src/nikonmn.cpp:544 #, fuzzy msgid "Program Shift" msgstr "Программа" #: src/nikonmn.cpp:544 #, fuzzy msgid "Program shift" msgstr "Программа" #: src/nikonmn.cpp:545 #, fuzzy msgid "Exposure Difference" msgstr "Время экспозиции" #: src/nikonmn.cpp:545 #, fuzzy msgid "Exposure difference" msgstr "Режим экспозиции" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 #, fuzzy msgid "Pointer to a preview image" msgstr "Версия эскиза" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 msgid "Offset to an IFD containing a preview image" msgstr "" #: src/nikonmn.cpp:549 #, fuzzy msgid "Flash Comp" msgstr "Режим вспышки" #: src/nikonmn.cpp:549 #, fuzzy msgid "Flash compensation setting" msgstr "Компенсация вспышки ?" #: src/nikonmn.cpp:551 #, fuzzy msgid "Image Boundary" msgstr "Номер изображения" #: src/nikonmn.cpp:551 #, fuzzy msgid "Image boundary" msgstr "Номер изображения" #: src/nikonmn.cpp:552 #, fuzzy msgid "Flash exposure comp" msgstr "Компенсация вспышки ?" #: src/nikonmn.cpp:553 #, fuzzy msgid "Flash Bracket Comp" msgstr "Время экспозиции" #: src/nikonmn.cpp:553 #, fuzzy msgid "Flash bracket compensation applied" msgstr "Компенсация вспышки ?" #: src/nikonmn.cpp:554 #, fuzzy msgid "Exposure Bracket Comp" msgstr "Время экспозиции" #: src/nikonmn.cpp:554 #, fuzzy msgid "AE bracket compensation applied" msgstr "Тонкомпенсация" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 #, fuzzy msgid "Image Processing" msgstr "Резкость изображения" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 #, fuzzy msgid "Image processing" msgstr "Резкость изображения" #: src/nikonmn.cpp:556 #, fuzzy msgid "Crop High Speed" msgstr "Ночная съёмка" #: src/nikonmn.cpp:556 #, fuzzy msgid "Crop high speed" msgstr "Авторские права" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure Tuning" msgstr "Время экспозиции" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure tuning" msgstr "Время экспозиции" #: src/nikonmn.cpp:560 #, fuzzy msgid "VR Info" msgstr "Инфо" #: src/nikonmn.cpp:560 #, fuzzy msgid "VR info" msgstr "Инфо" #: src/nikonmn.cpp:561 #, fuzzy msgid "Image Authentication" msgstr "Ориентация изображения" #: src/nikonmn.cpp:561 #, fuzzy msgid "Image authentication" msgstr "Ориентация изображения" #: src/nikonmn.cpp:562 msgid "ActiveD-Lighting" msgstr "" #: src/nikonmn.cpp:562 msgid "ActiveD-lighting" msgstr "" #: src/nikonmn.cpp:563 #, fuzzy msgid "Picture Control" msgstr "Режим захвата" #: src/nikonmn.cpp:563 #, fuzzy msgid " Picture control" msgstr "Режим захвата" #: src/nikonmn.cpp:564 src/properties.cpp:1387 #, fuzzy msgid "World Time" msgstr "Время экспозиции" #: src/nikonmn.cpp:564 #, fuzzy msgid "World time" msgstr "Время экспозиции" #: src/nikonmn.cpp:565 #, fuzzy msgid "ISO Info" msgstr "О снимке" #: src/nikonmn.cpp:565 #, fuzzy msgid "ISO info" msgstr "Настройка резкости" #: src/nikonmn.cpp:566 #, fuzzy msgid "Vignette Control" msgstr "Пульт Д/У?" #: src/nikonmn.cpp:566 #, fuzzy msgid "Vignette control" msgstr "Белая точка" #: src/nikonmn.cpp:568 msgid "Tone Compensation" msgstr "Тонкомпенсация" #: src/nikonmn.cpp:568 msgid "Tone compensation" msgstr "Тонкомпенсация" #: src/nikonmn.cpp:574 #, fuzzy msgid "Mode of flash used" msgstr "Вспышка сработала" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 msgid "Shooting Mode" msgstr "Режим съемки" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 msgid "Shooting mode" msgstr "Режим съемки" #: src/nikonmn.cpp:577 #, fuzzy msgid "Auto Bracket Release" msgstr "Автобрекетирование" #: src/nikonmn.cpp:577 #, fuzzy msgid "Auto bracket release" msgstr "Автобрекетирование" #: src/nikonmn.cpp:578 #, fuzzy msgid "Lens FStops" msgstr "Тип объектива" #: src/nikonmn.cpp:579 #, fuzzy msgid "Contrast Curve" msgstr "Контраст" #: src/nikonmn.cpp:579 #, fuzzy msgid "Contrast curve" msgstr "Контраст" #: src/nikonmn.cpp:580 #, fuzzy msgid "Color Hue" msgstr "Цветовое пространство" #: src/nikonmn.cpp:580 #, fuzzy msgid "Color hue" msgstr "Цветовое пространство" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 #, fuzzy msgid "Scene mode" msgstr "Тип сцены" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 msgid "Light Source" msgstr "Источник света" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 msgid "Light source" msgstr "Источник света" #: src/nikonmn.cpp:583 #, fuzzy msgid "Shot info" msgstr "О снимке" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 msgid "Hue Adjustment" msgstr "Подстройка оттенка" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 msgid "Hue adjustment" msgstr "Коррекция тона" #: src/nikonmn.cpp:585 #, fuzzy msgid "NEF Compression" msgstr "Сжатие" #: src/nikonmn.cpp:585 #, fuzzy msgid "NEF compression" msgstr "Сжатие" #: src/nikonmn.cpp:588 src/tags.cpp:905 #, fuzzy msgid "Linearization Table" msgstr "Дата оцифровки" #: src/nikonmn.cpp:588 #, fuzzy msgid "Linearization table" msgstr "Дата оцифровки" #: src/nikonmn.cpp:589 #, fuzzy msgid "Color Balance" msgstr "Цветовое пространство" #: src/nikonmn.cpp:589 #, fuzzy msgid "Color balance" msgstr "Цветовое пространство" #: src/nikonmn.cpp:590 msgid "Lens Data" msgstr "Данные объектива" #: src/nikonmn.cpp:590 msgid "Lens data settings" msgstr "Параметры объектива" #: src/nikonmn.cpp:591 #, fuzzy msgid "Raw Image Center" msgstr "Номер изображения" #: src/nikonmn.cpp:591 #, fuzzy msgid "Raw image center" msgstr "Версия эскиза" #: src/nikonmn.cpp:592 #, fuzzy msgid "Sensor Pixel Size" msgstr "Очистка сенсора" #: src/nikonmn.cpp:592 #, fuzzy msgid "Sensor pixel size" msgstr "Очистка сенсора" #: src/nikonmn.cpp:594 #, fuzzy msgid "Scene Assist" msgstr "Тип сцены" #: src/nikonmn.cpp:594 #, fuzzy msgid "Scene assist" msgstr "Тип сцены" #: src/nikonmn.cpp:595 #, fuzzy msgid "Retouch History" msgstr "Длина изображения" #: src/nikonmn.cpp:595 msgid "Retouch history" msgstr "" #: src/nikonmn.cpp:597 #, fuzzy msgid "Serial NO" msgstr "Серийный номер" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "" #: src/nikonmn.cpp:598 #, fuzzy msgid "Image Data Size" msgstr "Размер изображения" #: src/nikonmn.cpp:598 #, fuzzy msgid "Image data size" msgstr "Размер изображения" #: src/nikonmn.cpp:600 #, fuzzy msgid "Image Count" msgstr "Номер изображения" #: src/nikonmn.cpp:600 #, fuzzy msgid "Image count" msgstr "Номер изображения" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 #, fuzzy msgid "Deleted Image Count" msgstr "Номер изображения" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 #, fuzzy msgid "Deleted image count" msgstr "Номер изображения" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 #, fuzzy msgid "Shutter Count" msgstr "Выдержка" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "" #: src/nikonmn.cpp:603 #, fuzzy msgid "Flash info" msgstr "Вспышка" #: src/nikonmn.cpp:604 msgid "Image Optimization" msgstr "Оптимизация изображения" #: src/nikonmn.cpp:604 msgid "Image optimization" msgstr "Оптимизация изображения" #: src/nikonmn.cpp:606 #, fuzzy msgid "Program Variation" msgstr "Версия программы" #: src/nikonmn.cpp:606 #, fuzzy msgid "Program variation" msgstr "Версия программы" #: src/nikonmn.cpp:608 #, fuzzy msgid "AF Response" msgstr "Использованная точка AF" #: src/nikonmn.cpp:608 #, fuzzy msgid "AF response" msgstr "Использованная точка AF" #: src/nikonmn.cpp:609 #, fuzzy msgid "Multi exposure" msgstr "Режим экспозиции" #: src/nikonmn.cpp:610 #, fuzzy msgid "High ISO Noise Reduction" msgstr "Подавление шума" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 #, fuzzy msgid "Toning effect" msgstr "Цветовое пространство" #: src/nikonmn.cpp:612 #, fuzzy msgid "AF info 2" msgstr "Способ фокусировки" #: src/nikonmn.cpp:613 #, fuzzy msgid "File info" msgstr "Имя файла" #: src/nikonmn.cpp:614 #, fuzzy msgid "AF tune" msgstr "Использованная точка AF" #: src/nikonmn.cpp:617 #, fuzzy msgid "Capture Data" msgstr "Режим захвата" #: src/nikonmn.cpp:617 #, fuzzy msgid "Capture data" msgstr "Режим захвата" #: src/nikonmn.cpp:618 #, fuzzy msgid "Capture Version" msgstr "Режим захвата" #: src/nikonmn.cpp:618 #, fuzzy msgid "Capture version" msgstr "Версия прошивки" #: src/nikonmn.cpp:620 #, fuzzy msgid "Capture Offsets" msgstr "Режим захвата" #: src/nikonmn.cpp:620 #, fuzzy msgid "Capture offsets" msgstr "Режим захвата" #: src/nikonmn.cpp:621 #, fuzzy msgid "Scan IFD" msgstr "ID камеры" #: src/nikonmn.cpp:622 #, fuzzy msgid "ICC profile" msgstr "Цветовое пространство" #: src/nikonmn.cpp:623 #, fuzzy msgid "Capture output" msgstr "Режим захвата" #: src/nikonmn.cpp:625 #, fuzzy msgid "Unknown Nikon3MakerNote tag" msgstr "Неизвестный тэг CanonMakerNote" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 msgid "No" msgstr "Нет" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "Да" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 #, fuzzy msgid "Vibration Reduction" msgstr "Без коррекции" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 #, fuzzy msgid "Vibration reduction" msgstr "Без коррекции" #: src/nikonmn.cpp:657 #, fuzzy msgid "Unknown Nikon Vibration Reduction Tag" msgstr "Без коррекции" #: src/nikonmn.cpp:667 #, fuzzy msgid "Default Settings" msgstr "Настройка резкости" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 #, fuzzy msgid "Quick Adjust" msgstr "Подстройка оттенка" #: src/nikonmn.cpp:669 #, fuzzy msgid "Full Control" msgstr "Режим захвата" #: src/nikonmn.cpp:690 msgid "Blue-green" msgstr "" #: src/nikonmn.cpp:692 msgid "Purple-blue" msgstr "" #: src/nikonmn.cpp:693 msgid "Red-purple" msgstr "" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 #, fuzzy msgid "Name" msgstr "Имя владельца" #: src/nikonmn.cpp:701 msgid "Base" msgstr "" #: src/nikonmn.cpp:702 #, fuzzy msgid "Adjust" msgstr "Коррекция" #: src/nikonmn.cpp:703 #, fuzzy msgid "Quick adjust" msgstr "Коррекция тона" #: src/nikonmn.cpp:709 #, fuzzy msgid "Filter effect" msgstr "Цветовой эффект" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning Saturation" msgstr "Насыщенность" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning saturation" msgstr "Насыщенность" #: src/nikonmn.cpp:713 #, fuzzy msgid "Unknown Nikon Picture Control Tag" msgstr "Неизвестный тэг" #: src/nikonmn.cpp:730 #, fuzzy msgid "AF Fine Tune" msgstr "Использованная точка AF" #: src/nikonmn.cpp:730 #, fuzzy msgid "AF fine tune" msgstr "Использованная точка AF" #: src/nikonmn.cpp:731 #, fuzzy msgid "AF Fine Tune Index" msgstr "Использованная точка AF" #: src/nikonmn.cpp:731 #, fuzzy msgid "AF fine tune index" msgstr "Использованная точка AF" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF Fine Tune Adjustment" msgstr "Использованная точка AF" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF fine tune adjustment" msgstr "Использованная точка AF" #: src/nikonmn.cpp:734 #, fuzzy msgid "Unknown Nikon AF Fine Tune Tag" msgstr "Неизвестный тэг" #: src/nikonmn.cpp:744 #, fuzzy msgid "Timezone" msgstr "Ничего" #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight Savings" msgstr "Дневной свет" #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight savings" msgstr "Дневной свет" #: src/nikonmn.cpp:746 #, fuzzy msgid "Date Display Format" msgstr "Формат файла" #: src/nikonmn.cpp:746 #, fuzzy msgid "Date display format" msgstr "Формат файла" #: src/nikonmn.cpp:748 #, fuzzy msgid "Unknown Nikon World Time Tag" msgstr "Неизвестный панорамный тэг Canon" #: src/nikonmn.cpp:759 #, fuzzy msgid "Hi 0.3" msgstr "HV10" #: src/nikonmn.cpp:760 #, fuzzy msgid "Hi 0.5" msgstr "HV10" #: src/nikonmn.cpp:761 #, fuzzy msgid "Hi 0.7" msgstr "HV10" #: src/nikonmn.cpp:762 #, fuzzy msgid "Hi 1.0" msgstr "HV10" #: src/nikonmn.cpp:763 #, fuzzy msgid "Hi 1.3" msgstr "HV10" #: src/nikonmn.cpp:764 #, fuzzy msgid "Hi 1.5" msgstr "HV10" #: src/nikonmn.cpp:765 #, fuzzy msgid "Hi 1.7" msgstr "HV10" #: src/nikonmn.cpp:766 #, fuzzy msgid "Hi 2.0" msgstr "HV10" #: src/nikonmn.cpp:767 #, fuzzy msgid "Hi 2.3" msgstr "HV10" #: src/nikonmn.cpp:768 #, fuzzy msgid "Hi 2.5" msgstr "HV10" #: src/nikonmn.cpp:769 #, fuzzy msgid "Hi 2.7" msgstr "HV10" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "" #: src/nikonmn.cpp:778 #, fuzzy msgid "Lo 1.0" msgstr "HV10" #: src/nikonmn.cpp:784 #, fuzzy msgid "ISO Expansion" msgstr "Выбор ISO" #: src/nikonmn.cpp:784 #, fuzzy msgid "ISO expansion" msgstr "Выбор ISO" #: src/nikonmn.cpp:785 #, fuzzy msgid "ISO 2" msgstr "О снимке" #: src/nikonmn.cpp:786 #, fuzzy msgid "ISO Expansion 2" msgstr "Выбор ISO" #: src/nikonmn.cpp:786 #, fuzzy msgid "ISO expansion 2" msgstr "Выбор ISO" #: src/nikonmn.cpp:788 #, fuzzy msgid "Unknown Nikon Iso Info Tag" msgstr "Неизвестный тэг" #: src/nikonmn.cpp:798 #, fuzzy msgid "Single Area" msgstr "One-Shot" #: src/nikonmn.cpp:799 #, fuzzy msgid "Dynamic Area" msgstr "Динамический диапазон" #: src/nikonmn.cpp:800 msgid "Dynamic Area, Closest Subject" msgstr "" #: src/nikonmn.cpp:801 msgid "Group Dynamic" msgstr "" #: src/nikonmn.cpp:802 #, fuzzy msgid "Single Area (wide)" msgstr "Серийный номер" #: src/nikonmn.cpp:803 #, fuzzy msgid "Dynamic Area (wide)" msgstr "Динамический диапазон" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 #, fuzzy msgid "Mid-left" msgstr "Левая" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 #, fuzzy msgid "Mid-right" msgstr "слева направо" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 #, fuzzy msgid "Far Left" msgstr "справа налево" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 #, fuzzy msgid "Far Right" msgstr "Авторские права" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 #, fuzzy msgid "AF area mode" msgstr "Режим вспышки" #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 #, fuzzy msgid "AF point" msgstr "Использованная точка AF" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF Points In Focus" msgstr "Использованная точка AF" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF points in focus" msgstr "Использованная точка AF" #: src/nikonmn.cpp:842 #, fuzzy msgid "Unknown Nikon Auto Focus Tag" msgstr "Неизвестный тэг" #: src/nikonmn.cpp:853 msgid "On (51-point)" msgstr "" #: src/nikonmn.cpp:854 msgid "On (11-point)" msgstr "" #: src/nikonmn.cpp:855 #, fuzzy msgid "On (39-point)" msgstr "Вкл" #: src/nikonmn.cpp:856 #, fuzzy msgid "On (73-point)" msgstr "Вкл" #: src/nikonmn.cpp:857 msgid "On (73-point, new)" msgstr "" #: src/nikonmn.cpp:858 #, fuzzy msgid "On (105-point)" msgstr "Вкл" #: src/nikonmn.cpp:864 #, fuzzy msgid "Contrast Detect AF" msgstr "Настройка контраста" #: src/nikonmn.cpp:864 #, fuzzy msgid "Contrast detect AF" msgstr "Настройка контраста" #: src/nikonmn.cpp:866 #, fuzzy msgid "Phase Detect AF" msgstr "Не удалось прочитать" #: src/nikonmn.cpp:866 #, fuzzy msgid "Phase detect AF" msgstr "Не удалось прочитать" #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF Point" msgstr "Использованная точка AF" #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF point" msgstr "Использованная точка AF" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF Image Width" msgstr "Ширина изображения" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF image width" msgstr "Ширина изображения" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF Image Height" msgstr "Длина изображения" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF image height" msgstr "Высота изображения" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF Area X Position" msgstr "Способ фокусировки" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF area x position" msgstr "Способ фокусировки" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF Area Y Position" msgstr "Способ фокусировки" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF area y position" msgstr "Способ фокусировки" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF Area Width" msgstr "Способ фокусировки" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF area width" msgstr "Режим вспышки" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF Area Height" msgstr "Способ фокусировки" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF area height" msgstr "Авторские права" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast Detect AF In Focus" msgstr "Настройка контраста" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast detect AF in focus" msgstr "Настройка контраста" #: src/nikonmn.cpp:877 #, fuzzy msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "Неизвестный тэг" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory Number" msgstr "Номер заказа" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory number" msgstr "Номер заказа" #: src/nikonmn.cpp:891 #, fuzzy msgid "Unknown Nikon File Info Tag" msgstr "Неизвестный тэг" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 #, fuzzy msgid "Multiple Exposure" msgstr "Режим экспозиции" #: src/nikonmn.cpp:903 #, fuzzy msgid "Image Overlay" msgstr "Тип изображения" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi Exposure Mode" msgstr "Режим экспозиции" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi exposure mode" msgstr "Режим экспозиции" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi Exposure Shots" msgstr "Режим экспозиции" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi exposure shots" msgstr "Режим экспозиции" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi Exposure Auto Gain" msgstr "Режим экспозиции" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi exposure auto gain" msgstr "Режим экспозиции" #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 #, fuzzy msgid "Unknown Nikon Multi Exposure Tag" msgstr "Неизвестный тэг" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 #, fuzzy msgid "Internal" msgstr "Intel" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "" #: src/nikonmn.cpp:991 #, fuzzy msgid "iTTL-BL" msgstr "TTL" #: src/nikonmn.cpp:992 #, fuzzy msgid "iTTL" msgstr "TTL" #: src/nikonmn.cpp:993 #, fuzzy msgid "Auto Aperture" msgstr "Диафрагма" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 msgid "Repeating Flash" msgstr "" #: src/nikonmn.cpp:1004 #, fuzzy msgid "Bounce Flash" msgstr "Без вспышки" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "" #: src/nikonmn.cpp:1018 #, fuzzy msgid "Amber" msgstr "Число F" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash Source" msgstr "Источник файла" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash source" msgstr "Источник файла" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 msgid "0x0005" msgstr "" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External Flash Firmware" msgstr "Встроенная вспышка" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External flash firmware" msgstr "Встроенная вспышка" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External Flash Flags" msgstr "Внешняя вспышка" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External flash flags" msgstr "Внешняя вспышка" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash Focal Length" msgstr "Фокусное расстояние" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash focal length" msgstr "Максимальное фокусное расстояние" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 #, fuzzy msgid "Repeating flash rate" msgstr "Файл переименовывается в" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating flash count" msgstr "" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN Distance" msgstr "Расстояние ручного фокуса" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN distance" msgstr "Расстояние ручного фокуса" #: src/nikonmn.cpp:1032 msgid "Flash Group A Control Mode" msgstr "" #: src/nikonmn.cpp:1032 msgid "Flash group a control mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash Group B Control Mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash group b control mode" msgstr "" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash Color Filter" msgstr "Цветовое пространство" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash color filter" msgstr "Цветовое пространство" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 #, fuzzy msgid "Shutter count" msgstr "Выдержка" #: src/nikonmn.cpp:1088 #, fuzzy msgid "Unknown Nikon Shot Info D80 Tag" msgstr "Неизвестный тэг" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 #, fuzzy msgid "Flash Level" msgstr "Вспышка сработала" #: src/nikonmn.cpp:1100 #, fuzzy msgid "Flash level" msgstr "Вспышка сработала" #: src/nikonmn.cpp:1102 #, fuzzy msgid "Unknown Nikon Shot Info D40 Tag" msgstr "Неизвестный тэг" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 #, fuzzy msgid "AF Fine Tune Adj" msgstr "Использованная точка AF" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 #, fuzzy msgid "AF fine tune adj" msgstr "Использованная точка AF" #: src/nikonmn.cpp:1162 #, fuzzy msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "Неизвестный тэг" #: src/nikonmn.cpp:1222 #, fuzzy msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "Неизвестный тэг" #: src/nikonmn.cpp:1235 #, fuzzy msgid "On (3)" msgstr "Вкл" #: src/nikonmn.cpp:1248 #, fuzzy msgid "Shutter Count 1" msgstr "Выдержка" #: src/nikonmn.cpp:1248 #, fuzzy msgid "Shutter count 1" msgstr "Выдержка" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration Reduction 1" msgstr "Без коррекции" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration reduction 1" msgstr "Без коррекции" #: src/nikonmn.cpp:1252 #, fuzzy msgid "Shutter Count 2" msgstr "Выдержка" #: src/nikonmn.cpp:1252 #, fuzzy msgid "Shutter count 2" msgstr "Выдержка" #: src/nikonmn.cpp:1253 #, fuzzy msgid "Vibration Reduction 2" msgstr "Без коррекции" #: src/nikonmn.cpp:1253 #, fuzzy msgid "Vibration reduction 2" msgstr "Без коррекции" #: src/nikonmn.cpp:1257 #, fuzzy msgid "Unknown Nikon Shot Info Tag" msgstr "Неизвестный тэг" #: src/nikonmn.cpp:1268 #, fuzzy msgid "WB RBGG Levels" msgstr "Заряд батареи" #: src/nikonmn.cpp:1268 #, fuzzy msgid "WB RBGG levels" msgstr "Заряд батареи" #: src/nikonmn.cpp:1270 #, fuzzy msgid "Unknown Nikon Color Balance 1 Tag" msgstr "Цветовое пространство" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 #, fuzzy msgid "WB RGGB Levels" msgstr "Заряд батареи" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 #, fuzzy msgid "WB RGGB levels" msgstr "Заряд батареи" #: src/nikonmn.cpp:1283 #, fuzzy msgid "Unknown Nikon Color Balance 2 Tag" msgstr "Цветовое пространство" #: src/nikonmn.cpp:1296 #, fuzzy msgid "Unknown Nikon Color Balance 2a Tag" msgstr "Цветовое пространство" #: src/nikonmn.cpp:1309 #, fuzzy msgid "Unknown Nikon Color Balance 2b Tag" msgstr "Цветовое пространство" #: src/nikonmn.cpp:1320 #, fuzzy msgid "WB RGBG Levels" msgstr "Заряд батареи" #: src/nikonmn.cpp:1320 #, fuzzy msgid "WB RGBG levels" msgstr "Заряд батареи" #: src/nikonmn.cpp:1322 #, fuzzy msgid "Unknown Nikon Color Balance 3 Tag" msgstr "Неизвестный панорамный тэг Canon" #: src/nikonmn.cpp:1333 #, fuzzy msgid "WB GRBG Levels" msgstr "Заряд батареи" #: src/nikonmn.cpp:1333 #, fuzzy msgid "WB GRBG levels" msgstr "Заряд батареи" #: src/nikonmn.cpp:1335 #, fuzzy msgid "Unknown Nikon Color Balance 4 Tag" msgstr "Неизвестный панорамный тэг Canon" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID Number" msgstr "Серийный номер" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID number" msgstr "Серийный номер камеры" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-Stops" msgstr "Тип объектива" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-stops" msgstr "Тип объектива" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 #, fuzzy msgid "Min Focal Length" msgstr "Фокусное расстояние" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 #, fuzzy msgid "Min focal length" msgstr "Фокусное расстояние" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 #, fuzzy msgid "Max Focal Length" msgstr "Фокусное расстояние" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 #, fuzzy msgid "Max focal length" msgstr "Максимальное фокусное расстояние" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 #, fuzzy msgid "Max Aperture At Min Focal" msgstr "Максимально открытая диафрагма" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 #, fuzzy msgid "Max aperture at min focal" msgstr "Максимально открытая диафрагма" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 #, fuzzy msgid "Max Aperture At Max Focal" msgstr "Максимально открытая диафрагма" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 #, fuzzy msgid "Max aperture at max focal" msgstr "Максимально открытая диафрагма" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU Version" msgstr "Версия ARM" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU version" msgstr "Версия ARM" #: src/nikonmn.cpp:1354 #, fuzzy msgid "Unknown Nikon Lens Data 1 Tag" msgstr "Неизвестный панорамный тэг Canon" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit Pupil Position" msgstr "" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit pupil position" msgstr "" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF Aperture" msgstr "Диафрагма" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF aperture" msgstr "Диафрагма" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 #, fuzzy msgid "Effective Max Aperture" msgstr "Диафрагма" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 #, fuzzy msgid "Effective max aperture" msgstr "Максимально открытая диафрагма" #: src/nikonmn.cpp:1379 #, fuzzy msgid "Unknown Nikon Lens Data 2 Tag" msgstr "Неизвестный панорамный тэг Canon" #: src/nikonmn.cpp:1399 #, fuzzy msgid "Max aperture at min focal length" msgstr "Максимально открытая диафрагма" #: src/nikonmn.cpp:1400 #, fuzzy msgid "Max aperture at max focal length" msgstr "Максимально открытая диафрагма" #: src/nikonmn.cpp:1404 #, fuzzy msgid "Unknown Nikon Lens Data 3 Tag" msgstr "Неизвестный панорамный тэг Canon" #: src/nikonmn.cpp:1590 msgid "Closest subject" msgstr "" #: src/nikonmn.cpp:1591 msgid "Group dynamic-AF" msgstr "" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "ничего" #: src/nikonmn.cpp:1624 msgid "used" msgstr "" #: src/nikonmn.cpp:1650 #, fuzzy msgid "All 11 Points" msgstr "Использованная точка AF" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 #, fuzzy msgid "Single-frame" msgstr "Серийный номер" #: src/olympusmn.cpp:71 #, fuzzy msgid "Standard Quality (SQ)" msgstr "Стандартный свет A" #: src/olympusmn.cpp:72 #, fuzzy msgid "High Quality (HQ)" msgstr "Стандартный свет A" #: src/olympusmn.cpp:73 #, fuzzy msgid "Super High Quality (SHQ)" msgstr "Стандартный свет A" #: src/olympusmn.cpp:88 msgid "On (preset)" msgstr "" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 #, fuzzy msgid "Sport" msgstr "Спорт" #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 #, fuzzy msgid "Landscape+Portrait" msgstr "Альбом" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 #, fuzzy msgid "Self Portrait" msgstr "Портрет" #: src/olympusmn.cpp:102 #, fuzzy msgid "2 in 1" msgstr "Вкл" #: src/olympusmn.cpp:105 #, fuzzy msgid "Night+Portrait" msgstr "Ночной портрет" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "Пища" #: src/olympusmn.cpp:112 #, fuzzy msgid "Documents" msgstr "ID документа" #: src/olympusmn.cpp:114 #, fuzzy msgid "Shoot & Select" msgstr "Цветовое пространство" #: src/olympusmn.cpp:115 msgid "Beach & Snow" msgstr "" #: src/olympusmn.cpp:116 #, fuzzy msgid "Self Portrait+Timer" msgstr "Серийный номер" #: src/olympusmn.cpp:117 #, fuzzy msgid "Candle" msgstr "Дневной свет" #: src/olympusmn.cpp:118 #, fuzzy msgid "Available Light" msgstr "Заполняющий свет" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "" #: src/olympusmn.cpp:120 #, fuzzy msgid "My Mode" msgstr "Режим вспышки" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 #, fuzzy msgid "Pet" msgstr "Установить" #: src/olympusmn.cpp:122 #, fuzzy msgid "Underwater Wide1" msgstr "Подводная съемка" #: src/olympusmn.cpp:123 #, fuzzy msgid "Underwater Macro" msgstr "Подводная съемка" #: src/olympusmn.cpp:124 #, fuzzy msgid "Shoot & Select1" msgstr "Цветовое пространство" #: src/olympusmn.cpp:125 #, fuzzy msgid "Shoot & Select2" msgstr "Цветовое пространство" #: src/olympusmn.cpp:127 #, fuzzy msgid "Digital Image Stabilization" msgstr "Стабилизация снимка" #: src/olympusmn.cpp:128 #, fuzzy msgid "Auction" msgstr "Авто" #: src/olympusmn.cpp:131 #, fuzzy msgid "Underwater Wide2" msgstr "Подводная съемка" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "" #: src/olympusmn.cpp:135 #, fuzzy msgid "Nature Macro" msgstr "внешняя" #: src/olympusmn.cpp:136 #, fuzzy msgid "Underwater Snapshot" msgstr "Подводная съемка" #: src/olympusmn.cpp:137 #, fuzzy msgid "Shooting Guide" msgstr "Режим съемки" #: src/olympusmn.cpp:145 #, fuzzy msgid "Internal + External" msgstr "Встроенная вспышка" #: src/olympusmn.cpp:176 #, fuzzy msgid "Interlaced" msgstr "Intel" #: src/olympusmn.cpp:177 #, fuzzy msgid "Progressive" msgstr "Версия программы" #: src/olympusmn.cpp:188 #, fuzzy msgid "Thumbnail Image" msgstr "Эскиз" #: src/olympusmn.cpp:189 #, fuzzy msgid "Thumbnail image" msgstr "Эскиз" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 #, fuzzy msgid "Body Firmware Version" msgstr "Версия прошивки" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 #, fuzzy msgid "Body firmware version" msgstr "Версия прошивки" #: src/olympusmn.cpp:195 #, fuzzy msgid "Special Mode" msgstr "Режим вспышки" #: src/olympusmn.cpp:196 #, fuzzy msgid "Picture taking mode" msgstr "Режим замера" #: src/olympusmn.cpp:204 #, fuzzy msgid "Black & White Mode" msgstr "Чёрно-белый" #: src/olympusmn.cpp:205 #, fuzzy msgid "Black and white mode" msgstr "Чёрно-белый" #: src/olympusmn.cpp:208 #, fuzzy msgid "Digital zoom ratio" msgstr "Коэффициент цифрового трансфокатора" #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 #, fuzzy msgid "Focal Plane Diagonal" msgstr "Разрешение по X" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 #, fuzzy msgid "Focal plane diagonal" msgstr "Разрешение по X" #: src/olympusmn.cpp:213 msgid "Lens Distortion Parameters" msgstr "" #: src/olympusmn.cpp:214 msgid "Lens distortion parameters" msgstr "" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 #, fuzzy msgid "Camera Type" msgstr "ID камеры" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 #, fuzzy msgid "Camera type" msgstr "ID камеры" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "" #: src/olympusmn.cpp:222 msgid "Camera ID" msgstr "ID камеры" #: src/olympusmn.cpp:223 #, fuzzy msgid "Camera ID data" msgstr "ID камеры" #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "Программное обеспечение" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 #, fuzzy msgid "Preview Image" msgstr "Версия эскиза" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 #, fuzzy msgid "Preview image" msgstr "Версия эскиза" #: src/olympusmn.cpp:237 #, fuzzy msgid "Pre Capture Frames" msgstr "Режим захвата" #: src/olympusmn.cpp:238 #, fuzzy msgid "Pre-capture frames" msgstr "Режим захвата" #: src/olympusmn.cpp:240 #, fuzzy msgid "White Board" msgstr "Баланс белого" #: src/olympusmn.cpp:241 #, fuzzy msgid "White board" msgstr "Баланс белого" #: src/olympusmn.cpp:243 #, fuzzy msgid "One Touch WB" msgstr "One-touch" #: src/olympusmn.cpp:244 #, fuzzy msgid "One touch white balance" msgstr "Автомат. баланс белого" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 #, fuzzy msgid "White Balance Bracket" msgstr "Настройка баланса белого" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 #, fuzzy msgid "White balance bracket" msgstr "Настройка баланса белого" #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 msgid "Firmware" msgstr "Версия прошивки" #: src/olympusmn.cpp:261 msgid "Data Dump 1" msgstr "" #: src/olympusmn.cpp:262 #, fuzzy msgid "Various camera settings 1" msgstr "Различные настройки камеры" #: src/olympusmn.cpp:264 msgid "Data Dump 2" msgstr "" #: src/olympusmn.cpp:265 #, fuzzy msgid "Various camera settings 2" msgstr "Различные настройки камеры" #: src/olympusmn.cpp:268 msgid "Shutter speed value" msgstr "Скорость срабатывания затвора" #: src/olympusmn.cpp:271 msgid "ISO speed value" msgstr "Чувствительность (ISO)" #: src/olympusmn.cpp:274 #, fuzzy msgid "Aperture value" msgstr "Диафрагма" #: src/olympusmn.cpp:277 #, fuzzy msgid "Brightness value" msgstr "Яркость" #: src/olympusmn.cpp:285 #, fuzzy msgid "Bracket" msgstr "Брекетинг" #: src/olympusmn.cpp:286 #, fuzzy msgid "Exposure compensation value" msgstr "Тонкомпенсация" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 #, fuzzy msgid "Sensor Temperature" msgstr "Температура объектива" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 #, fuzzy msgid "Sensor temperature" msgstr "Температура объектива" #: src/olympusmn.cpp:291 #, fuzzy msgid "Lens Temperature" msgstr "Температура объектива" #: src/olympusmn.cpp:292 msgid "Lens temperature" msgstr "Температура объектива" #: src/olympusmn.cpp:294 #, fuzzy msgid "Light Condition" msgstr "Насыщенность" #: src/olympusmn.cpp:295 #, fuzzy msgid "Light condition" msgstr "Насыщенность" #: src/olympusmn.cpp:297 #, fuzzy msgid "Focus Range" msgstr "Способ фокусировки" #: src/olympusmn.cpp:298 #, fuzzy msgid "Focus range" msgstr "Способ фокусировки" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "Трансфокатор" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 #, fuzzy msgid "Zoom step count" msgstr "Выдержка" #: src/olympusmn.cpp:309 #, fuzzy msgid "Macro Focus" msgstr "Ручная фокусировка" #: src/olympusmn.cpp:310 #, fuzzy msgid "Macro focus step count" msgstr "Выдержка" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 #, fuzzy msgid "Sharpness Factor" msgstr "Резкость" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 #, fuzzy msgid "Sharpness factor" msgstr "Резкость" #: src/olympusmn.cpp:315 #, fuzzy msgid "Flash Charge Level" msgstr "Вспышка сработала" #: src/olympusmn.cpp:316 #, fuzzy msgid "Flash charge level" msgstr "Вспышка сработала" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 #, fuzzy msgid "Color Matrix" msgstr "Цветовое пространство" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 #, fuzzy msgid "Color matrix" msgstr "Цветовое пространство" #: src/olympusmn.cpp:321 #, fuzzy msgid "BlackLevel" msgstr "Заряд батареи" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 #, fuzzy msgid "Black level" msgstr "Заряд батареи" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 msgid "White balance mode" msgstr "Баланс белого" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 #, fuzzy msgid "Red Balance" msgstr "Баланс белого" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 #, fuzzy msgid "Red balance" msgstr "Баланс белого" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 #, fuzzy msgid "Blue Balance" msgstr "Баланс белого" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 #, fuzzy msgid "Blue balance" msgstr "Баланс белого" #: src/olympusmn.cpp:342 #, fuzzy msgid "Color Matrix Number" msgstr "Цветовое пространство" #: src/olympusmn.cpp:343 #, fuzzy msgid "Color matrix number" msgstr "Цветовое пространство" #: src/olympusmn.cpp:345 #, fuzzy msgid "Serial Number 2" msgstr "Серийный номер" #: src/olympusmn.cpp:346 #, fuzzy msgid "Serial number 2" msgstr "Серийный номер" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 #, fuzzy msgid "Flash exposure compensation" msgstr "Компенсация вспышки ?" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 #, fuzzy msgid "External Flash Bounce" msgstr "Встроенная вспышка" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 #, fuzzy msgid "External flash bounce" msgstr "Встроенная вспышка" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 #, fuzzy msgid "External Flash Zoom" msgstr "Встроенная вспышка" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 #, fuzzy msgid "External flash zoom" msgstr "Встроенная вспышка" #: src/olympusmn.cpp:387 #, fuzzy msgid "External Flash Mode" msgstr "Встроенная вспышка" #: src/olympusmn.cpp:388 #, fuzzy msgid "External flash mode" msgstr "Встроенная вспышка" #: src/olympusmn.cpp:396 #, fuzzy msgid "Color Control" msgstr "Режим захвата" #: src/olympusmn.cpp:397 #, fuzzy msgid "Color control" msgstr "Цветовое пространство" #: src/olympusmn.cpp:399 msgid "ValidBits" msgstr "" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 msgid "Valid bits" msgstr "" #: src/olympusmn.cpp:402 #, fuzzy msgid "CoringFilter" msgstr "Цветовое пространство" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring filter" msgstr "Цветовое пространство" #: src/olympusmn.cpp:423 msgid "Compression Ratio" msgstr "Уровень сжатия" #: src/olympusmn.cpp:424 msgid "Compression ratio" msgstr "Уровень сжатия" #: src/olympusmn.cpp:427 #, fuzzy msgid "Preview image embedded" msgstr "Версия эскиза" #: src/olympusmn.cpp:430 #, fuzzy msgid "Offset of the preview image" msgstr "Версия эскиза" #: src/olympusmn.cpp:433 #, fuzzy msgid "Size of the preview image" msgstr "Версия эскиза" #: src/olympusmn.cpp:435 #, fuzzy msgid "CCD Scan Mode" msgstr "Тип сцены" #: src/olympusmn.cpp:436 #, fuzzy msgid "CCD scan mode" msgstr "Тип сцены" #: src/olympusmn.cpp:441 #, fuzzy msgid "Infinity Lens Step" msgstr "Бесконечный" #: src/olympusmn.cpp:442 #, fuzzy msgid "Infinity lens step" msgstr "Бесконечный" #: src/olympusmn.cpp:444 #, fuzzy msgid "Near Lens Step" msgstr "Тип объектива" #: src/olympusmn.cpp:445 #, fuzzy msgid "Near lens step" msgstr "Тип объектива" #: src/olympusmn.cpp:447 #, fuzzy msgid "Equipment Info" msgstr "Версия файла" #: src/olympusmn.cpp:448 #, fuzzy msgid "Camera equipment sub-IFD" msgstr "Настройка контраста" #: src/olympusmn.cpp:451 #, fuzzy msgid "Camera Settings sub-IFD" msgstr "Настройка контраста" #: src/olympusmn.cpp:453 #, fuzzy msgid "Raw Development" msgstr "Версия прошивки" #: src/olympusmn.cpp:454 #, fuzzy msgid "Raw development sub-IFD" msgstr "Версия прошивки" #: src/olympusmn.cpp:456 #, fuzzy msgid "Raw Development 2" msgstr "Версия прошивки" #: src/olympusmn.cpp:457 #, fuzzy msgid "Raw development 2 sub-IFD" msgstr "Версия прошивки" #: src/olympusmn.cpp:460 #, fuzzy msgid "Image processing sub-IFD" msgstr "Резкость изображения" #: src/olympusmn.cpp:462 #, fuzzy msgid "Focus Info" msgstr "Способ фокусировки" #: src/olympusmn.cpp:463 #, fuzzy msgid "Focus sub-IFD" msgstr "Способ фокусировки" #: src/olympusmn.cpp:465 #, fuzzy msgid "Raw Info" msgstr "Инфо" #: src/olympusmn.cpp:466 #, fuzzy msgid "Raw sub-IFD" msgstr "Sub-IFD" #: src/olympusmn.cpp:470 #, fuzzy msgid "Unknown OlympusMakerNote tag" msgstr "Неизвестное поле IFD" #: src/olympusmn.cpp:486 #, fuzzy msgid "Program-shift" msgstr "Программа" #: src/olympusmn.cpp:491 #, fuzzy msgid "Center-weighted average" msgstr "Центрально-взвешенный средний" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "" #: src/olympusmn.cpp:494 #, fuzzy msgid "Pattern+AF" msgstr "Паттерн CFA" #: src/olympusmn.cpp:495 #, fuzzy msgid "Spot+Highlight control" msgstr "Тень" #: src/olympusmn.cpp:496 #, fuzzy msgid "Spot+Shadow control" msgstr "Тень" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 #, fuzzy msgid "Single AF" msgstr "One-Shot" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 #, fuzzy msgid "Multi AF" msgstr "Автоматический" #: src/olympusmn.cpp:517 #, fuzzy msgid "AF Not Used" msgstr "Использованная точка AF" #: src/olympusmn.cpp:518 #, fuzzy msgid "AF Used" msgstr "Использованная точка AF" #: src/olympusmn.cpp:523 #, fuzzy msgid "Not Ready" msgstr "Не определено" #: src/olympusmn.cpp:524 #, fuzzy msgid "Ready" msgstr "Не определено" #: src/olympusmn.cpp:531 #, fuzzy msgid "Fill-in" msgstr "Имя файла" #: src/olympusmn.cpp:533 #, fuzzy msgid "Slow-sync" msgstr "медленная синхронизация" #: src/olympusmn.cpp:534 #, fuzzy msgid "Forced On" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "" #: src/olympusmn.cpp:541 msgid "Channel 1, Low" msgstr "" #: src/olympusmn.cpp:542 msgid "Channel 2, Low" msgstr "" #: src/olympusmn.cpp:543 msgid "Channel 3, Low" msgstr "" #: src/olympusmn.cpp:544 msgid "Channel 4, Low" msgstr "" #: src/olympusmn.cpp:545 msgid "Channel 1, Mid" msgstr "" #: src/olympusmn.cpp:546 msgid "Channel 2, Mid" msgstr "" #: src/olympusmn.cpp:547 msgid "Channel 3, Mid" msgstr "" #: src/olympusmn.cpp:548 msgid "Channel 4, Mid" msgstr "" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "" #: src/olympusmn.cpp:567 #, fuzzy msgid "7500K (Fine Weather with Shade)" msgstr "Ясная погода" #: src/olympusmn.cpp:568 #, fuzzy msgid "6000K (Cloudy)" msgstr "Облачно" #: src/olympusmn.cpp:569 #, fuzzy msgid "5300K (Fine Weather)" msgstr "Ясная погода" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 msgid "3600K (Tungsten light-like)" msgstr "" #: src/olympusmn.cpp:572 #, fuzzy msgid "Auto Setup" msgstr "Диафрагма" #: src/olympusmn.cpp:573 #, fuzzy msgid "5500K (Flash)" msgstr "Автобрекетирование" #: src/olympusmn.cpp:574 #, fuzzy msgid "6600K (Daylight fluorescent)" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:575 #, fuzzy msgid "4500K (Neutral white fluorescent)" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:576 #, fuzzy msgid "4000K (Cool white fluorescent)" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:577 #, fuzzy msgid "White Fluorescent" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:580 #, fuzzy msgid "One Touch WB 1" msgstr "One-touch" #: src/olympusmn.cpp:581 #, fuzzy msgid "One Touch WB 2" msgstr "One-touch" #: src/olympusmn.cpp:582 #, fuzzy msgid "One Touch WB 3" msgstr "One-touch" #: src/olympusmn.cpp:583 #, fuzzy msgid "One Touch WB 4" msgstr "One-touch" #: src/olympusmn.cpp:584 #, fuzzy msgid "Custom WB 1" msgstr "Свой 1" #: src/olympusmn.cpp:585 #, fuzzy msgid "Custom WB 2" msgstr "Свой 2" #: src/olympusmn.cpp:586 #, fuzzy msgid "Custom WB 3" msgstr "Свой" #: src/olympusmn.cpp:587 #, fuzzy msgid "Custom WB 4" msgstr "Свой 1" #: src/olympusmn.cpp:593 #, fuzzy msgid "CM1 (Red Enhance)" msgstr "Баланс белого" #: src/olympusmn.cpp:594 #, fuzzy msgid "CM2 (Green Enhance)" msgstr "Баланс белого" #: src/olympusmn.cpp:595 #, fuzzy msgid "CM3 (Blue Enhance)" msgstr "Баланс белого" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 #, fuzzy msgid "Noise Filter" msgstr "Порядок заполнения" #: src/olympusmn.cpp:610 #, fuzzy msgid "Noise Filter (ISO Boost)" msgstr "Порядок заполнения" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 msgid "Muted" msgstr "" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 #, fuzzy msgid "Monotone" msgstr "Цветовое пространство" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "" #: src/olympusmn.cpp:648 msgid "SHQ" msgstr "" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 #, fuzzy msgid "On, Mode 1" msgstr "Тип сцены" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 #, fuzzy msgid "On, Mode 2" msgstr "Тип сцены" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 #, fuzzy msgid "On, Mode 3" msgstr "Тип сцены" #: src/olympusmn.cpp:661 #, fuzzy msgid "Camera Settings Version" msgstr "Настройки камеры" #: src/olympusmn.cpp:661 #, fuzzy msgid "Camera settings version" msgstr "Настройки камеры" #: src/olympusmn.cpp:662 #, fuzzy msgid "PreviewImage Valid" msgstr "Версия эскиза" #: src/olympusmn.cpp:662 #, fuzzy msgid "Preview image valid" msgstr "Версия эскиза" #: src/olympusmn.cpp:663 #, fuzzy msgid "PreviewImage Start" msgstr "Данные эскиза" #: src/olympusmn.cpp:663 #, fuzzy msgid "Preview image start" msgstr "Версия эскиза" #: src/olympusmn.cpp:664 #, fuzzy msgid "PreviewImage Length" msgstr "Длина изображения" #: src/olympusmn.cpp:664 #, fuzzy msgid "Preview image length" msgstr "Версия эскиза" #: src/olympusmn.cpp:666 #, fuzzy msgid "Auto exposure lock" msgstr "Режим экспозиции" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure Shift" msgstr "Время экспозиции" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure shift" msgstr "Время экспозиции" #: src/olympusmn.cpp:671 #, fuzzy msgid "Focus Process" msgstr "Способ фокусировки" #: src/olympusmn.cpp:671 #, fuzzy msgid "Focus process" msgstr "Другой процесс проявки" #: src/olympusmn.cpp:672 msgid "AF Search" msgstr "" #: src/olympusmn.cpp:672 #, fuzzy msgid "AF search" msgstr "Использованная точка AF" #: src/olympusmn.cpp:673 #, fuzzy msgid "AF Areas" msgstr "Способ фокусировки" #: src/olympusmn.cpp:673 #, fuzzy msgid "AF areas" msgstr "Способ фокусировки" #: src/olympusmn.cpp:674 #, fuzzy msgid "AFPointSelected" msgstr "Использованная точка AF" #: src/olympusmn.cpp:675 #, fuzzy msgid "AF Fine Tune Adjust" msgstr "Использованная точка AF" #: src/olympusmn.cpp:675 #, fuzzy msgid "AF fine tune adjust" msgstr "Использованная точка AF" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash Remote Control" msgstr "Пульт Д/У?" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash remote control" msgstr "Пульт Д/У?" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash Control Mode" msgstr "Режим вспышки" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash control mode" msgstr "Режим вспышки" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash Intensity" msgstr "Вспышка сработала" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash intensity" msgstr "Вспышка сработала" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual Flash Strength" msgstr "Фокусное расстояние" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual flash strength" msgstr "Ручная экспозиция" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 #, fuzzy msgid "White Balance 2" msgstr "Баланс белого" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 #, fuzzy msgid "White balance 2" msgstr "Баланс белого" #: src/olympusmn.cpp:683 #, fuzzy msgid "White Balance Temperature" msgstr "Таблица баланса белого" #: src/olympusmn.cpp:683 #, fuzzy msgid "White balance temperature" msgstr "Таблица баланса белого" #: src/olympusmn.cpp:685 #, fuzzy msgid "Custom Saturation" msgstr "Насыщенность" #: src/olympusmn.cpp:685 #, fuzzy msgid "Custom saturation" msgstr "Насыщенность" #: src/olympusmn.cpp:686 #, fuzzy msgid "Modified Saturation" msgstr "Насыщенность" #: src/olympusmn.cpp:686 #, fuzzy msgid "Modified saturation" msgstr "Насыщенность" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 #, fuzzy msgid "Contrast Setting" msgstr "Настройка контраста" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 #, fuzzy msgid "Sharpness Setting" msgstr "Настройка резкости" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 #, fuzzy msgid "Distortion Correction" msgstr "Без коррекции" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 #, fuzzy msgid "Distortion correction" msgstr "Без коррекции" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 #, fuzzy msgid "Shading Compensation" msgstr "Тонкомпенсация" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 #, fuzzy msgid "Shading compensation" msgstr "Тонкомпенсация" #: src/olympusmn.cpp:694 #, fuzzy msgid "Compression Factor" msgstr "Уровень сжатия" #: src/olympusmn.cpp:694 #, fuzzy msgid "Compression factor" msgstr "Уровень сжатия" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 #, fuzzy msgid "Gradation" msgstr "Длительность" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 #, fuzzy msgid "Picture mode" msgstr "Портретный режим" #: src/olympusmn.cpp:697 #, fuzzy msgid "Picture Mode Saturation" msgstr "Насыщенность" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 #, fuzzy msgid "Picture mode saturation" msgstr "Портретный режим" #: src/olympusmn.cpp:698 #, fuzzy msgid "Picture Mode Hue" msgstr "Портретный режим" #: src/olympusmn.cpp:698 #, fuzzy msgid "Picture mode hue" msgstr "Портретный режим" #: src/olympusmn.cpp:699 #, fuzzy msgid "Picture Mode Contrast" msgstr "Портретный режим" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 #, fuzzy msgid "Picture mode contrast" msgstr "Портретный режим" #: src/olympusmn.cpp:700 #, fuzzy msgid "Picture Mode Sharpness" msgstr "Портретный режим" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 #, fuzzy msgid "Picture mode sharpness" msgstr "Портретный режим" #: src/olympusmn.cpp:701 #, fuzzy msgid "Picture Mode BW Filter" msgstr "Портретный режим" #: src/olympusmn.cpp:701 #, fuzzy msgid "Picture mode BW filter" msgstr "Портретный режим" #: src/olympusmn.cpp:702 #, fuzzy msgid "Picture Mode Tone" msgstr "Портретный режим" #: src/olympusmn.cpp:702 #, fuzzy msgid "Picture mode tone" msgstr "Портретный режим" #: src/olympusmn.cpp:703 #, fuzzy msgid "Noise filter" msgstr "Цветовое пространство" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art Filter" msgstr "Порядок заполнения" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art filter" msgstr "Цветовое пространство" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic Filter" msgstr "Цифровой фильтр" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic filter" msgstr "Цифровой фильтр" #: src/olympusmn.cpp:707 #, fuzzy msgid "Panorama Mode" msgstr "Панорама" #: src/olympusmn.cpp:707 #, fuzzy msgid "Panorama mode" msgstr "Кадр панорамы" #: src/olympusmn.cpp:708 #, fuzzy msgid "Image Quality 2" msgstr "Качество" #: src/olympusmn.cpp:708 #, fuzzy msgid "Image quality 2" msgstr "Качество изображения" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 #, fuzzy msgid "Manometer Pressure" msgstr "Несжатый" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 #, fuzzy msgid "Manometer pressure" msgstr "Несжатый" #: src/olympusmn.cpp:711 #, fuzzy msgid "Manometer Reading" msgstr "Несжатый" #: src/olympusmn.cpp:711 #, fuzzy msgid "Manometer reading" msgstr "Несжатый" #: src/olympusmn.cpp:712 #, fuzzy msgid "Extended WB Detect" msgstr "Тип сцены" #: src/olympusmn.cpp:712 #, fuzzy msgid "Extended WB detect" msgstr "Тип сцены" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "" #: src/olympusmn.cpp:716 #, fuzzy msgid "Unknown OlympusCs tag" msgstr "Неизвестное поле" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "" #: src/olympusmn.cpp:745 #, fuzzy msgid "Equipment Version" msgstr "Версия файла" #: src/olympusmn.cpp:745 #, fuzzy msgid "Equipment version" msgstr "Версия Exif" #: src/olympusmn.cpp:747 msgid "Serial number" msgstr "Серийный номер" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 #, fuzzy msgid "Lens Serial Number" msgstr "Серийный номер" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 #, fuzzy msgid "Lens serial number" msgstr "Серийный номер камеры" #: src/olympusmn.cpp:754 #, fuzzy msgid "Lens Firmware Version" msgstr "Версия прошивки" #: src/olympusmn.cpp:754 #, fuzzy msgid "Lens firmware version" msgstr "Версия прошивки" #: src/olympusmn.cpp:759 #, fuzzy msgid "Max Aperture At Current Focal" msgstr "Максимально открытая диафрагма" #: src/olympusmn.cpp:759 #, fuzzy msgid "Max aperture at current focal" msgstr "Максимально открытая диафрагма" #: src/olympusmn.cpp:760 #, fuzzy msgid "Lens Properties" msgstr "Температура объектива" #: src/olympusmn.cpp:760 #, fuzzy msgid "Lens properties" msgstr "Температура объектива" #: src/olympusmn.cpp:761 #, fuzzy msgid "Extender" msgstr "внешняя" #: src/olympusmn.cpp:762 #, fuzzy msgid "Extender Serial Number" msgstr "Серийный номер камеры" #: src/olympusmn.cpp:762 #, fuzzy msgid "Extender serial number" msgstr "Серийный номер камеры" #: src/olympusmn.cpp:763 #, fuzzy msgid "Extender Model" msgstr "Тип сцены" #: src/olympusmn.cpp:763 #, fuzzy msgid "Extender model" msgstr "Тип сцены" #: src/olympusmn.cpp:764 #, fuzzy msgid "Extender Firmware Version" msgstr "Версия прошивки" #: src/olympusmn.cpp:764 #, fuzzy msgid "Extender firmwareversion" msgstr "Версия прошивки" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 #, fuzzy msgid "Conversion Lens" msgstr "Версии" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 #, fuzzy msgid "Conversion lens" msgstr "Яркость" #: src/olympusmn.cpp:767 src/properties.cpp:402 #, fuzzy msgid "Flash Model" msgstr "Режим вспышки" #: src/olympusmn.cpp:767 #, fuzzy msgid "Flash model" msgstr "Режим вспышки" #: src/olympusmn.cpp:768 #, fuzzy msgid "Flash Firmware Version" msgstr "Версия прошивки" #: src/olympusmn.cpp:768 #, fuzzy msgid "Flash firmware version" msgstr "Версия прошивки" #: src/olympusmn.cpp:769 #, fuzzy msgid "FlashSerialNumber" msgstr "Серийный номер" #: src/olympusmn.cpp:771 #, fuzzy msgid "Unknown OlympusEq tag" msgstr "Неизвестный тег Exif" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 #, fuzzy msgid "High Speed" msgstr "Ночная съёмка" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 #, fuzzy msgid "High Function" msgstr "Насыщенность" #: src/olympusmn.cpp:790 #, fuzzy msgid "Advanced High Speed" msgstr "Ночная съёмка" #: src/olympusmn.cpp:791 #, fuzzy msgid "Advanced High Function" msgstr "Функция передачи" #: src/olympusmn.cpp:796 #, fuzzy msgid "Original" msgstr "Исходная дата и время" #: src/olympusmn.cpp:797 #, fuzzy msgid "Edited (Landscape)" msgstr "Альбом" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 #, fuzzy msgid "Edited (Portrait)" msgstr "Ночной портрет" #: src/olympusmn.cpp:804 #, fuzzy msgid "WB Color Temp" msgstr "Цветовое пространство" #: src/olympusmn.cpp:805 #, fuzzy msgid "WB Gray Point" msgstr "Использованная точка AF" #: src/olympusmn.cpp:815 #, fuzzy msgid "Raw Development Version" msgstr "Версия прошивки" #: src/olympusmn.cpp:815 #, fuzzy msgid "Raw development version" msgstr "Версия прошивки" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 #, fuzzy msgid "Exposure Bias Value" msgstr "Смещение экспозиции" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 #, fuzzy msgid "Exposure bias value" msgstr "Смещение экспозиции" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 #, fuzzy msgid "White Balance Value" msgstr "Таблица баланса белого" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 #, fuzzy msgid "White balance value" msgstr "Таблица баланса белого" #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 #, fuzzy msgid "WB Fine Adjustment" msgstr "Подстройка оттенка" #: src/olympusmn.cpp:818 #, fuzzy msgid "WB fine adjustment" msgstr "Коррекция тона" #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 #, fuzzy msgid "Gray Point" msgstr "Использованная точка AF" #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 #, fuzzy msgid "Gray point" msgstr "Использованная точка AF" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 #, fuzzy msgid "Saturation Emphasis" msgstr "Настройка контраста" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 #, fuzzy msgid "Saturation emphasis" msgstr "Настройка контраста" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 #, fuzzy msgid "Memory Color Emphasis" msgstr "Цвет" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 #, fuzzy msgid "Memory color emphasis" msgstr "Цвет" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 #, fuzzy msgid "Contrast Value" msgstr "Контраст" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 #, fuzzy msgid "Contrast value" msgstr "Контраст" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 #, fuzzy msgid "Sharpness Value" msgstr "Резкость" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 #, fuzzy msgid "Sharpness value" msgstr "Резкость" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 #, fuzzy msgid "Engine" msgstr "Звукооператор" #: src/olympusmn.cpp:827 #, fuzzy msgid "Edit status" msgstr "Статус правки" #: src/olympusmn.cpp:828 #, fuzzy msgid "Settings" msgstr "Настройка резкости" #: src/olympusmn.cpp:830 #, fuzzy msgid "Unknown OlympusRd tag" msgstr "Неизвестное поле" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw Development 2 Version" msgstr "Версия прошивки" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw development 2 version" msgstr "Версия прошивки" #: src/olympusmn.cpp:889 #, fuzzy msgid "White balance fine adjustment" msgstr "Точная подстройка баланса белого" #: src/olympusmn.cpp:899 #, fuzzy msgid "PM Saturation" msgstr "Насыщенность" #: src/olympusmn.cpp:900 #, fuzzy msgid "PM Contrast" msgstr "Контраст" #: src/olympusmn.cpp:901 #, fuzzy msgid "PM Sharpness" msgstr "Резкость" #: src/olympusmn.cpp:902 #, fuzzy msgid "PM BW Filter" msgstr "Порядок заполнения" #: src/olympusmn.cpp:902 #, fuzzy msgid "PM BW filter" msgstr "Порядок заполнения" #: src/olympusmn.cpp:903 #, fuzzy msgid "PM Picture Tone" msgstr "Портретный режим" #: src/olympusmn.cpp:903 #, fuzzy msgid "PM picture tone" msgstr "Портретный режим" #: src/olympusmn.cpp:906 #, fuzzy msgid "Auto Gradation" msgstr "Длительность звукозаписи" #: src/olympusmn.cpp:906 #, fuzzy msgid "Auto gradation" msgstr "Длительность звукозаписи" #: src/olympusmn.cpp:907 #, fuzzy msgid "PM Noise Filter" msgstr "Порядок заполнения" #: src/olympusmn.cpp:907 #, fuzzy msgid "Picture mode noise filter" msgstr "Портретный режим" #: src/olympusmn.cpp:909 #, fuzzy msgid "Unknown OlympusRd2 tag" msgstr "Неизвестное поле" #: src/olympusmn.cpp:920 #, fuzzy msgid "On (2 frames)" msgstr "Вкл" #: src/olympusmn.cpp:921 #, fuzzy msgid "On (3 frames)" msgstr "Вкл" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image Processing Version" msgstr "Резкость изображения" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image processing version" msgstr "Резкость изображения" #: src/olympusmn.cpp:940 #, fuzzy msgid "WB RB Levels 3000K" msgstr "Заряд батареи" #: src/olympusmn.cpp:940 #, fuzzy msgid "WB RB levels 3000K" msgstr "Заряд батареи" #: src/olympusmn.cpp:941 #, fuzzy msgid "WB RB Levels 3300K" msgstr "Заряд батареи" #: src/olympusmn.cpp:941 #, fuzzy msgid "WB RB levels 3300K" msgstr "Заряд батареи" #: src/olympusmn.cpp:942 #, fuzzy msgid "WB RB Levels 3600K" msgstr "Заряд батареи" #: src/olympusmn.cpp:942 #, fuzzy msgid "WB RB levels 3600K" msgstr "Заряд батареи" #: src/olympusmn.cpp:943 #, fuzzy msgid "WB RB Levels 3900K" msgstr "Заряд батареи" #: src/olympusmn.cpp:943 #, fuzzy msgid "WB RB levels 3900K" msgstr "Заряд батареи" #: src/olympusmn.cpp:944 #, fuzzy msgid "WB RB Levels 4000K" msgstr "Заряд батареи" #: src/olympusmn.cpp:944 #, fuzzy msgid "WB RB levels 4000K" msgstr "Заряд батареи" #: src/olympusmn.cpp:945 #, fuzzy msgid "WB RB Levels 4300K" msgstr "Заряд батареи" #: src/olympusmn.cpp:945 #, fuzzy msgid "WB RB levels 4300K" msgstr "Заряд батареи" #: src/olympusmn.cpp:946 #, fuzzy msgid "WB RB Levels 4500K" msgstr "Заряд батареи" #: src/olympusmn.cpp:946 #, fuzzy msgid "WB RB levels 4500K" msgstr "Заряд батареи" #: src/olympusmn.cpp:947 #, fuzzy msgid "WB RB Levels 4800K" msgstr "Заряд батареи" #: src/olympusmn.cpp:947 #, fuzzy msgid "WB RB levels 4800K" msgstr "Заряд батареи" #: src/olympusmn.cpp:948 #, fuzzy msgid "WB RB Levels 5300K" msgstr "Заряд батареи" #: src/olympusmn.cpp:948 #, fuzzy msgid "WB RB levels 5300K" msgstr "Заряд батареи" #: src/olympusmn.cpp:949 #, fuzzy msgid "WB RB Levels 6000K" msgstr "Заряд батареи" #: src/olympusmn.cpp:949 #, fuzzy msgid "WB RB levels 6000K" msgstr "Заряд батареи" #: src/olympusmn.cpp:950 #, fuzzy msgid "WB RB Levels 6600K" msgstr "Заряд батареи" #: src/olympusmn.cpp:950 #, fuzzy msgid "WB RB levels 6600K" msgstr "Заряд батареи" #: src/olympusmn.cpp:951 #, fuzzy msgid "WB RB Levels 7500K" msgstr "Заряд батареи" #: src/olympusmn.cpp:951 #, fuzzy msgid "WB RB levels 7500K" msgstr "Заряд батареи" #: src/olympusmn.cpp:952 #, fuzzy msgid "WB RB Levels CWB1" msgstr "Заряд батареи" #: src/olympusmn.cpp:952 #, fuzzy msgid "WB RB levels CWB1" msgstr "Заряд батареи" #: src/olympusmn.cpp:953 #, fuzzy msgid "WB RB Levels CWB2" msgstr "Заряд батареи" #: src/olympusmn.cpp:953 #, fuzzy msgid "WB RB levels CWB2" msgstr "Заряд батареи" #: src/olympusmn.cpp:954 #, fuzzy msgid "WB RB Levels CWB3" msgstr "Заряд батареи" #: src/olympusmn.cpp:954 #, fuzzy msgid "WB RB levels CWB3" msgstr "Заряд батареи" #: src/olympusmn.cpp:955 #, fuzzy msgid "WB RB Levels CWB4" msgstr "Заряд батареи" #: src/olympusmn.cpp:955 #, fuzzy msgid "WB RB levels CWB4" msgstr "Заряд батареи" #: src/olympusmn.cpp:956 #, fuzzy msgid "WB G Level 3000K" msgstr "Заряд батареи" #: src/olympusmn.cpp:956 #, fuzzy msgid "WB G level 3000K" msgstr "Под уровнем моря" #: src/olympusmn.cpp:957 #, fuzzy msgid "WB G Level 3300K" msgstr "Заряд батареи" #: src/olympusmn.cpp:957 #, fuzzy msgid "WB G level 3300K" msgstr "Под уровнем моря" #: src/olympusmn.cpp:958 #, fuzzy msgid "WB G Level 3600K" msgstr "Заряд батареи" #: src/olympusmn.cpp:958 #, fuzzy msgid "WB G level 3600K" msgstr "Под уровнем моря" #: src/olympusmn.cpp:959 #, fuzzy msgid "WB G Level 3900K" msgstr "Заряд батареи" #: src/olympusmn.cpp:959 #, fuzzy msgid "WB G level 3900K" msgstr "Под уровнем моря" #: src/olympusmn.cpp:960 #, fuzzy msgid "WB G Level 4000K" msgstr "Заряд батареи" #: src/olympusmn.cpp:960 #, fuzzy msgid "WB G level 4000K" msgstr "Под уровнем моря" #: src/olympusmn.cpp:961 #, fuzzy msgid "WB G Level 4300K" msgstr "Заряд батареи" #: src/olympusmn.cpp:961 #, fuzzy msgid "WB G level 4300K" msgstr "Под уровнем моря" #: src/olympusmn.cpp:962 #, fuzzy msgid "WB G Level 4500K" msgstr "Заряд батареи" #: src/olympusmn.cpp:962 #, fuzzy msgid "WB G level 4500K" msgstr "Под уровнем моря" #: src/olympusmn.cpp:963 #, fuzzy msgid "WB G Level 4800K" msgstr "Заряд батареи" #: src/olympusmn.cpp:963 #, fuzzy msgid "WB G level 4800K" msgstr "Под уровнем моря" #: src/olympusmn.cpp:964 #, fuzzy msgid "WB G Level 5300K" msgstr "Заряд батареи" #: src/olympusmn.cpp:964 #, fuzzy msgid "WB G level 5300K" msgstr "Под уровнем моря" #: src/olympusmn.cpp:965 #, fuzzy msgid "WB G Level 6000K" msgstr "Заряд батареи" #: src/olympusmn.cpp:965 #, fuzzy msgid "WB G level 6000K" msgstr "Под уровнем моря" #: src/olympusmn.cpp:966 #, fuzzy msgid "WB G Level 6600K" msgstr "Заряд батареи" #: src/olympusmn.cpp:966 #, fuzzy msgid "WB G level 6600K" msgstr "Под уровнем моря" #: src/olympusmn.cpp:967 #, fuzzy msgid "WB G Level 7500K" msgstr "Заряд батареи" #: src/olympusmn.cpp:967 #, fuzzy msgid "WB G level 7500K" msgstr "Под уровнем моря" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G Level" msgstr "Заряд батареи" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G level" msgstr "Под уровнем моря" #: src/olympusmn.cpp:970 #, fuzzy msgid "Enhancer" msgstr "Звукооператор" #: src/olympusmn.cpp:971 #, fuzzy msgid "Enhancer Values" msgstr "Звукооператор" #: src/olympusmn.cpp:971 #, fuzzy msgid "Enhancer values" msgstr "Звукооператор" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring Filter" msgstr "Цветовое пространство" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring Values" msgstr "Яркость" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring values" msgstr "Яркость" #: src/olympusmn.cpp:974 src/tags.cpp:915 #, fuzzy msgid "Black Level" msgstr "Заряд батареи" #: src/olympusmn.cpp:975 msgid "Gain Base" msgstr "" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "" #: src/olympusmn.cpp:976 msgid "Valid Bits" msgstr "" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 #, fuzzy msgid "Crop Left" msgstr "справа налево" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 #, fuzzy msgid "Crop left" msgstr "справа налево" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 #, fuzzy msgid "Crop Top" msgstr "Монохромный" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 #, fuzzy msgid "Crop top" msgstr "Монохромный" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 #, fuzzy msgid "Crop Width" msgstr "Авторские права" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 #, fuzzy msgid "Crop width" msgstr "Авторские права" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 #, fuzzy msgid "Crop Height" msgstr "Авторские права" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 #, fuzzy msgid "Crop height" msgstr "Авторские права" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple Exposure Mode" msgstr "Режим экспозиции" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple exposure mode" msgstr "Режим экспозиции" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 msgid "Aspect Ratio" msgstr "" #: src/olympusmn.cpp:985 #, fuzzy msgid "Aspect ratio" msgstr "Длительность звукозаписи" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect Frame" msgstr "Название/имя объекта съёмки" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect frame" msgstr "Название/имя объекта съёмки" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 #, fuzzy msgid "Face Detect" msgstr "Не удалось прочитать" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 #, fuzzy msgid "Face detect" msgstr "Не удалось прочитать" #: src/olympusmn.cpp:988 #, fuzzy msgid "Face Detect Area" msgstr "Не удалось прочитать" #: src/olympusmn.cpp:988 #, fuzzy msgid "Face detect area" msgstr "Не удалось прочитать" #: src/olympusmn.cpp:990 #, fuzzy msgid "Unknown OlympusIp tag" msgstr "Неизвестное поле IFD" #: src/olympusmn.cpp:1000 msgid "Bounce or Off" msgstr "" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "" #: src/olympusmn.cpp:1005 #, fuzzy msgid "Focus Info Version" msgstr "Способ фокусировки" #: src/olympusmn.cpp:1005 #, fuzzy msgid "Focus info version" msgstr "Способ фокусировки" #: src/olympusmn.cpp:1006 #, fuzzy msgid "Auto Focus" msgstr "AI Focus" #: src/olympusmn.cpp:1007 #, fuzzy msgid "Scene Detect" msgstr "Тип сцены" #: src/olympusmn.cpp:1007 #, fuzzy msgid "Scene detect" msgstr "Тип сцены" #: src/olympusmn.cpp:1008 #, fuzzy msgid "Scene Area" msgstr "Тип сцены" #: src/olympusmn.cpp:1008 #, fuzzy msgid "Scene area" msgstr "Тип сцены" #: src/olympusmn.cpp:1009 #, fuzzy msgid "Scene Detect Data" msgstr "Тип сцены" #: src/olympusmn.cpp:1009 #, fuzzy msgid "Scene detect data" msgstr "Тип сцены" #: src/olympusmn.cpp:1010 #, fuzzy msgid "Zoom Step Count" msgstr "Выдержка" #: src/olympusmn.cpp:1011 #, fuzzy msgid "Focus Step Count" msgstr "Продолжительный ведущий режим" #: src/olympusmn.cpp:1011 #, fuzzy msgid "Focus step count" msgstr "Выдержка" #: src/olympusmn.cpp:1012 #, fuzzy msgid "Focus Step Infinity" msgstr "Настройка контраста" #: src/olympusmn.cpp:1012 #, fuzzy msgid "Focus step infinity" msgstr "Способ фокусировки" #: src/olympusmn.cpp:1013 #, fuzzy msgid "Focus Step Near" msgstr "Способ фокусировки" #: src/olympusmn.cpp:1013 #, fuzzy msgid "Focus step near" msgstr "Расстояние ручного фокуса" #: src/olympusmn.cpp:1016 #, fuzzy msgid "External Flash" msgstr "Внешняя вспышка" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External Flash Guide Number" msgstr "Встроенная вспышка" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External flash guide number" msgstr "Встроенная вспышка" #: src/olympusmn.cpp:1021 #, fuzzy msgid "Manual Flash" msgstr "Ручная экспозиция" #: src/olympusmn.cpp:1021 #, fuzzy msgid "Manual flash" msgstr "Ручная экспозиция" #: src/olympusmn.cpp:1025 #, fuzzy msgid "Unknown OlympusFi tag" msgstr "Неизвестное поле IFD" #: src/olympusmn.cpp:1036 #, fuzzy msgid "Unknown OlympusFe tag" msgstr "Неизвестное поле IFD" #: src/olympusmn.cpp:1049 #, fuzzy msgid "Fine Weather" msgstr "Ясная погода" #: src/olympusmn.cpp:1050 #, fuzzy msgid "Tungsten (incandescent)" msgstr "Яркая лампа накаливания" #: src/olympusmn.cpp:1051 #, fuzzy msgid "Evening Sunlight" msgstr "Вечер" #: src/olympusmn.cpp:1052 #, fuzzy msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "Флуоресцентная лампа дневного света (D 5700 - 7100K)" #: src/olympusmn.cpp:1053 #, fuzzy msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "Флуоресцентная лампа дневного света (D 5700 - 7100K)" #: src/olympusmn.cpp:1054 #, fuzzy msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "Флуоресцентная лампа дневного света (D 5700 - 7100K)" #: src/olympusmn.cpp:1055 #, fuzzy msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "Флуоресцентная лампа дневного света (D 5700 - 7100K)" #: src/olympusmn.cpp:1056 #, fuzzy msgid "One Touch White Balance" msgstr "Автомат. баланс белого" #: src/olympusmn.cpp:1057 #, fuzzy msgid "Custom 1-4" msgstr "Свой 1" #: src/olympusmn.cpp:1061 #, fuzzy msgid "Raw Info Version" msgstr "Способ фокусировки" #: src/olympusmn.cpp:1061 #, fuzzy msgid "Raw info version" msgstr "Способ фокусировки" #: src/olympusmn.cpp:1062 #, fuzzy msgid "WB_RB Levels Used" msgstr "Заряд батареи" #: src/olympusmn.cpp:1062 #, fuzzy msgid "WB_RB levels used" msgstr "Заряд батареи" #: src/olympusmn.cpp:1063 #, fuzzy msgid "WB_RB Levels Auto" msgstr "Заряд батареи" #: src/olympusmn.cpp:1063 #, fuzzy msgid "WB_RB levels auto" msgstr "Заряд батареи" #: src/olympusmn.cpp:1064 #, fuzzy msgid "WB_RB Levels Shade" msgstr "Заряд батареи" #: src/olympusmn.cpp:1064 #, fuzzy msgid "WB_RB levels shade" msgstr "Заряд батареи" #: src/olympusmn.cpp:1065 #, fuzzy msgid "WB_RB Levels Cloudy" msgstr "Заряд батареи" #: src/olympusmn.cpp:1065 #, fuzzy msgid "WB_RB levels cloudy" msgstr "Заряд батареи" #: src/olympusmn.cpp:1066 #, fuzzy msgid "WB_RB Levels Fine Weather" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:1066 #, fuzzy msgid "WB_RB levels fine weather" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:1067 #, fuzzy msgid "WB_RB Levels Tungsten" msgstr "Заряд батареи" #: src/olympusmn.cpp:1067 #, fuzzy msgid "WB_RB levels tungsten" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:1068 #, fuzzy msgid "WB_RB Levels Evening Sunlight" msgstr "Вечер" #: src/olympusmn.cpp:1068 #, fuzzy msgid "WB_RB levels evening sunlight" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:1069 #, fuzzy msgid "WB_RB Levels Daylight Fluor" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:1069 #, fuzzy msgid "WB_RB levels daylight fluor" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:1070 #, fuzzy msgid "WB_RB Levels Day White Fluor" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:1070 #, fuzzy msgid "WB_RB levels day white fluor" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:1071 #, fuzzy msgid "WB_RB Levels Cool White Fluor" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:1071 #, fuzzy msgid "WB_RB levels cool white fluor" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:1072 #, fuzzy msgid "WB_RB Levels White Fluorescent" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:1072 #, fuzzy msgid "WB_RB levels white fluorescent" msgstr "Флуоресцентная лампа" #: src/olympusmn.cpp:1073 #, fuzzy msgid "Color Matrix2" msgstr "Цветовое пространство" #: src/olympusmn.cpp:1073 #, fuzzy msgid "Color matrix 2" msgstr "Цветовое пространство" #: src/olympusmn.cpp:1076 #, fuzzy msgid "Black Level 2" msgstr "Заряд батареи" #: src/olympusmn.cpp:1076 #, fuzzy msgid "Black level 2" msgstr "Заряд батареи" #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 msgid "YCbCr Coefficients" msgstr "Коэффициенты YCbCr" #: src/olympusmn.cpp:1077 #, fuzzy msgid "YCbCr coefficients" msgstr "Коэффициенты YCbCr" #: src/olympusmn.cpp:1078 msgid "Valid Pixel Depth" msgstr "" #: src/olympusmn.cpp:1078 msgid "Valid pixel depth" msgstr "" #: src/olympusmn.cpp:1084 #, fuzzy msgid "White Balance Comp" msgstr "Баланс белого" #: src/olympusmn.cpp:1084 #, fuzzy msgid "White balance comp" msgstr "Баланс белого" #: src/olympusmn.cpp:1085 #, fuzzy msgid "Saturation Setting" msgstr "Настройка контраста" #: src/olympusmn.cpp:1086 #, fuzzy msgid "Hue Setting" msgstr "Настройка резкости" #: src/olympusmn.cpp:1086 #, fuzzy msgid "Hue setting" msgstr "Способ фокусировки" #: src/olympusmn.cpp:1089 #, fuzzy msgid "CM Exposure Compensation" msgstr "Тонкомпенсация" #: src/olympusmn.cpp:1089 #, fuzzy msgid "CM exposure compensation" msgstr "Компенсация экспозиции" #: src/olympusmn.cpp:1090 #, fuzzy msgid "CM White Balance" msgstr "Баланс белого" #: src/olympusmn.cpp:1090 #, fuzzy msgid "CM white balance" msgstr "Автомат. баланс белого" #: src/olympusmn.cpp:1091 #, fuzzy msgid "CM White Balance Comp" msgstr "Баланс белого" #: src/olympusmn.cpp:1091 #, fuzzy msgid "CM white balance comp" msgstr "Автомат. баланс белого" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM White Balance Gray Point" msgstr "Настройка баланса белого" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM white balance gray point" msgstr "Настройка баланса белого" #: src/olympusmn.cpp:1093 #, fuzzy msgid "CM Saturation" msgstr "Насыщенность" #: src/olympusmn.cpp:1093 #, fuzzy msgid "CM saturation" msgstr "Насыщенность" #: src/olympusmn.cpp:1094 #, fuzzy msgid "CM Hue" msgstr "Цветовое пространство" #: src/olympusmn.cpp:1094 #, fuzzy msgid "CM hue" msgstr "Цветовое пространство" #: src/olympusmn.cpp:1095 #, fuzzy msgid "CM Contrast" msgstr "Контраст" #: src/olympusmn.cpp:1095 #, fuzzy msgid "CM contrast" msgstr "Контраст" #: src/olympusmn.cpp:1096 #, fuzzy msgid "CM Sharpness" msgstr "Резкость" #: src/olympusmn.cpp:1096 #, fuzzy msgid "CM sharpness" msgstr "Резкость" #: src/olympusmn.cpp:1098 #, fuzzy msgid "Unknown OlympusRi tag" msgstr "Неизвестное поле" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 #, fuzzy msgid "User-Selected" msgstr "Автобрекетирование" #: src/olympusmn.cpp:1122 #, fuzzy msgid "Auto-Override" msgstr "Перезаписать" #: src/olympusmn.cpp:1158 #, fuzzy msgid "Fast" msgstr "быстрый" #: src/olympusmn.cpp:1223 msgid "3000 Kelvin" msgstr "3000 K" #: src/olympusmn.cpp:1224 msgid "3700 Kelvin" msgstr "3700 K" #: src/olympusmn.cpp:1225 msgid "4000 Kelvin" msgstr "4000 K" #: src/olympusmn.cpp:1226 msgid "4500 Kelvin" msgstr "4500 K" #: src/olympusmn.cpp:1227 msgid "5500 Kelvin" msgstr "5500 K" #: src/olympusmn.cpp:1228 msgid "6500 Kelvin" msgstr "6500 K" #: src/olympusmn.cpp:1229 msgid "7500 Kelvin" msgstr "7500 K" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "One-touch" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "" #: src/olympusmn.cpp:1456 #, fuzzy msgid "Imager AF" msgstr "Уникальный ID изображения" #: src/olympusmn.cpp:1457 #, fuzzy msgid "AF sensor" msgstr "Использованная точка AF" #: src/olympusmn.cpp:1502 #, fuzzy msgid "Soft Focus" msgstr "Ручная фокусировка" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "" #: src/olympusmn.cpp:1505 #, fuzzy msgid "Light Tone" msgstr "справа налево" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "" #: src/olympusmn.cpp:1508 #, fuzzy msgid "Diorama" msgstr "Панорама" #: src/olympusmn.cpp:1509 #, fuzzy msgid "Cross Process" msgstr "Способ фокусировки" #: src/olympusmn.cpp:1510 #, fuzzy msgid "Fish Eye" msgstr "Внешняя вспышка" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "" #: src/olympusmn.cpp:1513 msgid "Pale & Light Color II" msgstr "" #: src/olympusmn.cpp:1514 msgid "Pop Art II" msgstr "" #: src/olympusmn.cpp:1515 msgid "Pin Hole II" msgstr "" #: src/olympusmn.cpp:1516 msgid "Pin Hole III" msgstr "" #: src/olympusmn.cpp:1517 msgid "Grainy Film II" msgstr "" #: src/olympusmn.cpp:1518 #, fuzzy msgid "Dramatic Tone" msgstr "Способ фокусировки" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "" #: src/olympusmn.cpp:1520 #, fuzzy msgid "Soft Focus 2" msgstr "Ручная фокусировка" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "" #: src/olympusmn.cpp:1522 #, fuzzy msgid "Watercolor" msgstr "Естественный цвет" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "" #: src/olympusmn.cpp:1525 #, fuzzy msgid "Miniature" msgstr "Максимально открытая диафрагма" #: src/olympusmn.cpp:1526 #, fuzzy msgid "Reflection" msgstr "Выбор ISO" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "" #: src/olympusmn.cpp:1528 #, fuzzy msgid "Cross Process II" msgstr "Способ фокусировки" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "" #: src/olympusmn.cpp:1530 #, fuzzy msgid "Watercolor I" msgstr "Естественный цвет" #: src/olympusmn.cpp:1531 #, fuzzy msgid "Watercolor II" msgstr "Естественный цвет" #: src/olympusmn.cpp:1532 #, fuzzy msgid "Diorama II" msgstr "Панорама" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "" #: src/olympusmn.cpp:1534 #, fuzzy msgid "Vintage II" msgstr "Язык" #: src/olympusmn.cpp:1535 #, fuzzy msgid "Vintage III" msgstr "Язык" #: src/olympusmn.cpp:1536 #, fuzzy msgid "Partial Color" msgstr "Естественный цвет" #: src/olympusmn.cpp:1537 #, fuzzy msgid "Partial Color II" msgstr "Естественный цвет" #: src/olympusmn.cpp:1538 #, fuzzy msgid "Partial Color III" msgstr "Естественный цвет" #: src/olympusmn.cpp:1608 #, fuzzy msgid "Left (or n/a)" msgstr "Левая" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 msgid "Center (horizontal)" msgstr "" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 msgid "Center (vertical)" msgstr "" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1623 #, fuzzy msgid "Top-center (horizontal)" msgstr "Центральный" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1625 #, fuzzy msgid "Left (horizontal)" msgstr "Левая" #: src/olympusmn.cpp:1626 msgid "Mid-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1628 msgid "Mid-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1629 #, fuzzy msgid "Right (horizontal)" msgstr "справа налево" #: src/olympusmn.cpp:1630 #, fuzzy msgid "Bottom-left (horizontal)" msgstr "справа налево" #: src/olympusmn.cpp:1631 #, fuzzy msgid "Bottom-center (horizontal)" msgstr "слева направо" #: src/olympusmn.cpp:1632 #, fuzzy msgid "Bottom-right (horizontal)" msgstr "слева направо" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "" #: src/olympusmn.cpp:1634 #, fuzzy msgid "Top-center (vertical)" msgstr "Центральный" #: src/olympusmn.cpp:1635 #, fuzzy msgid "Top-right (vertical)" msgstr "Авторские и смежные права" #: src/olympusmn.cpp:1636 msgid "Left (vertical)" msgstr "" #: src/olympusmn.cpp:1637 msgid "Mid-left (vertical)" msgstr "" #: src/olympusmn.cpp:1639 #, fuzzy msgid "Mid-right (vertical)" msgstr "слева направо" #: src/olympusmn.cpp:1640 msgid "Right (vertical)" msgstr "" #: src/olympusmn.cpp:1641 #, fuzzy msgid "Bottom-left (vertical)" msgstr "справа налево" #: src/olympusmn.cpp:1642 #, fuzzy msgid "Bottom-center (vertical)" msgstr "слева направо" #: src/olympusmn.cpp:1643 #, fuzzy msgid "Bottom-right (vertical)" msgstr "слева направо" #: src/olympusmn.cpp:1680 #, fuzzy msgid "Single Target" msgstr "One-Shot" #: src/olympusmn.cpp:1681 msgid "All Target" msgstr "" #: src/olympusmn.cpp:1682 #, fuzzy msgid "Dynamic Single Target" msgstr "Настройка баланса белого" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 #, fuzzy msgid "Very High" msgstr "Высокий" #: src/panasonicmn.cpp:60 #, fuzzy msgid "Motion Picture" msgstr "Портретный режим" #: src/panasonicmn.cpp:61 #, fuzzy msgid "Full HD Movie" msgstr "Кино" #: src/panasonicmn.cpp:62 #, fuzzy msgid "4k Movie" msgstr "Кино" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "" #: src/panasonicmn.cpp:83 #, fuzzy msgid "Auto, focus button" msgstr "AI Focus" #: src/panasonicmn.cpp:84 #, fuzzy msgid "Auto, continuous" msgstr "Продолжительный ведущий режим" #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "" #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 #, fuzzy msgid "Panning" msgstr "Предупреждение" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "Теле-макро" #: src/panasonicmn.cpp:104 #, fuzzy msgid "Macro-zoom" msgstr "Макро" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 msgid "Scenery" msgstr "Тип сцены" #: src/panasonicmn.cpp:117 msgid "Shutter-speed priority" msgstr "Приоритет выдержки" #: src/panasonicmn.cpp:121 #, fuzzy msgid "Movie preview" msgstr "Выполняется запись" #: src/panasonicmn.cpp:123 #, fuzzy msgid "Simple" msgstr "Файл" #: src/panasonicmn.cpp:124 #, fuzzy msgid "Color effects" msgstr "Цветовой эффект" #: src/panasonicmn.cpp:130 msgid "Night scenery" msgstr "Ночная съёмка" #: src/panasonicmn.cpp:132 msgid "Baby" msgstr "" #: src/panasonicmn.cpp:133 #, fuzzy msgid "Soft skin" msgstr "О снимке" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 #, fuzzy msgid "Candlelight" msgstr "Дневной свет" #: src/panasonicmn.cpp:135 #, fuzzy msgid "Starry night" msgstr "Стандартный свет A" #: src/panasonicmn.cpp:136 #, fuzzy msgid "High sensitivity" msgstr "Спектральная чувствительность" #: src/panasonicmn.cpp:137 #, fuzzy msgid "Panorama assist" msgstr "Панорама" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 #, fuzzy msgid "Intelligent ISO" msgstr "Фокусное расстояние" #: src/panasonicmn.cpp:144 #, fuzzy msgid "Clipboard" msgstr "Баланс белого" #: src/panasonicmn.cpp:145 #, fuzzy msgid "High speed continuous shooting" msgstr "Способ фокусировки" #: src/panasonicmn.cpp:146 #, fuzzy msgid "Intelligent auto" msgstr "Фокусное расстояние" #: src/panasonicmn.cpp:147 msgid "Multi-aspect" msgstr "" #: src/panasonicmn.cpp:148 #, fuzzy msgid "Transform" msgstr "Область передачи" #: src/panasonicmn.cpp:149 #, fuzzy msgid "Flash Burst" msgstr "Вспышка сработала" #: src/panasonicmn.cpp:151 #, fuzzy msgid "Film Grain" msgstr "Сканер фотопленки" #: src/panasonicmn.cpp:152 #, fuzzy msgid "My Color" msgstr "Цвет" #: src/panasonicmn.cpp:153 #, fuzzy msgid "Photo Frame" msgstr "Кадр панорамы" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 #, fuzzy msgid "Handheld Night Shot" msgstr "Дневной свет" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 #, fuzzy msgid "Creative Control" msgstr "Пульт Д/У?" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 msgid "Digital Filter" msgstr "Цифровой фильтр" #: src/panasonicmn.cpp:162 #, fuzzy msgid "Clear Portrait" msgstr "Портрет" #: src/panasonicmn.cpp:163 #, fuzzy msgid "Silky Skin" msgstr "О снимке" #: src/panasonicmn.cpp:164 msgid "Backlit Softness" msgstr "" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "" #: src/panasonicmn.cpp:166 #, fuzzy msgid "Relaxing Tone" msgstr "Насыщенность" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "" #: src/panasonicmn.cpp:168 #, fuzzy msgid "Distinct Scenery" msgstr "Ночная съёмка" #: src/panasonicmn.cpp:169 #, fuzzy msgid "Bright Blue Sky" msgstr "значение" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "" #: src/panasonicmn.cpp:177 #, fuzzy msgid "Glittering Illuminations" msgstr "Без коррекции" #: src/panasonicmn.cpp:178 #, fuzzy msgid "Clear Night Portrait" msgstr "Ночной портрет" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "" #: src/panasonicmn.cpp:181 msgid "Cute Desert" msgstr "" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "" #: src/panasonicmn.cpp:183 msgid "Clear Sports Shot" msgstr "" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "" #: src/panasonicmn.cpp:198 msgid "Warm" msgstr "Тёплый" #: src/panasonicmn.cpp:199 #, fuzzy msgid "Cool" msgstr "Цвет" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "" #: src/panasonicmn.cpp:208 #, fuzzy msgid "Low/High quality" msgstr "Качество изображения" #: src/panasonicmn.cpp:209 msgid "Infinite" msgstr "Бесконечный" #: src/panasonicmn.cpp:217 #, fuzzy msgid "Medium low" msgstr "Низкий" #: src/panasonicmn.cpp:218 #, fuzzy msgid "Medium high" msgstr "Высокий" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "" #: src/panasonicmn.cpp:229 #, fuzzy msgid "High (+1)" msgstr "Высокий" #: src/panasonicmn.cpp:230 msgid "Lowest (-2)" msgstr "" #: src/panasonicmn.cpp:231 #, fuzzy msgid "Highest (+2)" msgstr "Высокий" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 msgid "Rotate 180" msgstr "" #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "" #: src/panasonicmn.cpp:254 #, fuzzy msgid "Disabled but Required" msgstr "Не определено" #: src/panasonicmn.cpp:255 #, fuzzy msgid "Disabled and Not Required" msgstr "Не определено" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "" #: src/panasonicmn.cpp:282 src/properties.cpp:915 #, fuzzy msgid "Home" msgstr "Рим" #: src/panasonicmn.cpp:294 #, fuzzy msgid "Standard (color)" msgstr "Стандартный свет A" #: src/panasonicmn.cpp:295 #, fuzzy msgid "Dynamic (color)" msgstr "Динамический диапазон" #: src/panasonicmn.cpp:296 #, fuzzy msgid "Nature (color)" msgstr "Естественный цвет" #: src/panasonicmn.cpp:297 #, fuzzy msgid "Smooth (color)" msgstr "Стандартный свет A" #: src/panasonicmn.cpp:298 #, fuzzy msgid "Standard (B&W)" msgstr "Стандартный свет A" #: src/panasonicmn.cpp:299 #, fuzzy msgid "Dynamic (B&W)" msgstr "Динамический диапазон" #: src/panasonicmn.cpp:300 #, fuzzy msgid "Smooth (B&W)" msgstr "Стандартный свет A" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "" #: src/panasonicmn.cpp:307 #, fuzzy msgid "No Bracket" msgstr "Брекетинг" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:319 #, fuzzy msgid "1st" msgstr "10с" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "" #: src/panasonicmn.cpp:349 #, fuzzy msgid "Extended" msgstr "внешняя" #: src/panasonicmn.cpp:368 #, fuzzy msgid "NoAuto" msgstr "Авто" #: src/panasonicmn.cpp:369 #, fuzzy msgid "Standard or Custom" msgstr "Стандартный свет A" #: src/panasonicmn.cpp:386 msgid "Rotate CW" msgstr "" #: src/panasonicmn.cpp:388 msgid "Rotate CCW" msgstr "" #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "" #: src/panasonicmn.cpp:396 #, fuzzy msgid "Left to Right" msgstr "слева направо" #: src/panasonicmn.cpp:397 #, fuzzy msgid "Right to Left" msgstr "справа налево" #: src/panasonicmn.cpp:398 #, fuzzy msgid "Top to Bottom" msgstr "сверху вниз" #: src/panasonicmn.cpp:399 #, fuzzy msgid "Bottom to Top" msgstr "снизу вверх" #: src/panasonicmn.cpp:405 #, fuzzy msgid "Time Lapse" msgstr "Время отправки" #: src/panasonicmn.cpp:406 #, fuzzy msgid "Stop-Motion Animation" msgstr "Способ фокусировки" #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "" #: src/panasonicmn.cpp:423 #, fuzzy msgid "Electronic" msgstr "Выбор ISO" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "Звук" #: src/panasonicmn.cpp:453 #, fuzzy msgid "White balance adjustment" msgstr "Точная подстройка баланса белого" #: src/panasonicmn.cpp:454 #, fuzzy msgid "FlashBias" msgstr "Вспышка" #: src/panasonicmn.cpp:456 src/tags.cpp:194 msgid "Exif version" msgstr "Версия Exif" #: src/panasonicmn.cpp:458 msgid "Color Effect" msgstr "Цветовой эффект" #: src/panasonicmn.cpp:458 msgid "Color effect" msgstr "Цветовой эффект" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" #: src/panasonicmn.cpp:460 #, fuzzy msgid "Burst Mode" msgstr "Способ фокусировки" #: src/panasonicmn.cpp:460 #, fuzzy msgid "Burst mode" msgstr "Способ фокусировки" #: src/panasonicmn.cpp:463 msgid "NoiseReduction" msgstr "Подавление шума" #: src/panasonicmn.cpp:464 #, fuzzy msgid "Self Timer" msgstr "Серийный номер" #: src/panasonicmn.cpp:467 #, fuzzy msgid "AF Assist Lamp" msgstr "Тип сцены" #: src/panasonicmn.cpp:469 msgid "Baby Age 1" msgstr "" #: src/panasonicmn.cpp:469 msgid "Baby (or pet) age 1" msgstr "" #: src/panasonicmn.cpp:470 #, fuzzy msgid "Optical Zoom Mode" msgstr "Режим вспышки" #: src/panasonicmn.cpp:470 #, fuzzy msgid "Optical zoom mode" msgstr "Режим вспышки" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "" #: src/panasonicmn.cpp:474 #, fuzzy msgid "World Time Location" msgstr "Местоположение объекта съёмки" #: src/panasonicmn.cpp:474 #, fuzzy msgid "World time location" msgstr "Местоположение объекта съёмки" #: src/panasonicmn.cpp:475 #, fuzzy msgid "Text Stamp 1" msgstr "Отметка времени по GPS" #: src/panasonicmn.cpp:476 #, fuzzy msgid "Program ISO" msgstr "Программа" #: src/panasonicmn.cpp:477 #, fuzzy msgid "Advanced Scene Type" msgstr "Тип сцены" #: src/panasonicmn.cpp:478 #, fuzzy msgid "Text Stamp 2" msgstr "Отметка времени по GPS" #: src/panasonicmn.cpp:479 #, fuzzy msgid "Faces detected" msgstr "Не удалось прочитать" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temp Kelvin" msgstr "Температура цвета" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temperatur in Kelvin" msgstr "Температура цвета" #: src/panasonicmn.cpp:484 #, fuzzy msgid "Bracket Settings" msgstr "Брекетинг" #: src/panasonicmn.cpp:485 #, fuzzy msgid "WB Adjust AB" msgstr "Подстройка оттенка" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "" #: src/panasonicmn.cpp:486 #, fuzzy msgid "WB Adjust GM" msgstr "Подстройка оттенка" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "" #: src/panasonicmn.cpp:487 #, fuzzy msgid "Flash Curtain" msgstr "Вспышка" #: src/panasonicmn.cpp:488 #, fuzzy msgid "Long Shutter Noise Reduction" msgstr "Подавление шума при длительной выдержке" #: src/panasonicmn.cpp:491 #, fuzzy msgid "AF Point Position" msgstr "Способ фокусировки" #: src/panasonicmn.cpp:492 #, fuzzy msgid "Face detection info" msgstr "Не удалось прочитать" #: src/panasonicmn.cpp:495 #, fuzzy msgid "Accessory Type" msgstr "Тип объектива" #: src/panasonicmn.cpp:495 #, fuzzy msgid "Accessory type" msgstr "Тип объектива" #: src/panasonicmn.cpp:496 #, fuzzy msgid "Accessory Serial Number" msgstr "Серийный номер" #: src/panasonicmn.cpp:497 #, fuzzy msgid "Transform 1" msgstr "Область передачи" #: src/panasonicmn.cpp:498 #, fuzzy msgid "Intelligent Exposure" msgstr "Фокусное расстояние" #: src/panasonicmn.cpp:499 #, fuzzy msgid "Firmware Version of the Lens" msgstr "Версия прошивки" #: src/panasonicmn.cpp:500 #, fuzzy msgid "Face recognition info" msgstr "Способ фокусировки" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash Warning" msgstr "Способ фокусировки" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash warning" msgstr "Внешняя вспышка" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 #, fuzzy msgid "Title" msgstr "Файл" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby Name" msgstr "Имя владельца" #: src/panasonicmn.cpp:503 msgid "Baby name (or pet name)" msgstr "" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 #, fuzzy msgid "Location" msgstr "Местоположение объекта съёмки" #: src/panasonicmn.cpp:506 src/properties.cpp:441 #, fuzzy msgid "State" msgstr "Программное обеспечение" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "" #: src/panasonicmn.cpp:509 #, fuzzy msgid "Intelligent resolution" msgstr "Фокусное расстояние" #: src/panasonicmn.cpp:510 #, fuzzy msgid "Burst Speed" msgstr "Скорость срабатывания затвора" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "" #: src/panasonicmn.cpp:511 #, fuzzy msgid "Intelligent Dynamic Range" msgstr "Динамический диапазон" #: src/panasonicmn.cpp:512 #, fuzzy msgid "Clear Retouch" msgstr "Подавление шума" #: src/panasonicmn.cpp:513 #, fuzzy msgid "City2" msgstr "Город" #: src/panasonicmn.cpp:515 #, fuzzy msgid "Photo style" msgstr "Портретный режим" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "" #: src/panasonicmn.cpp:518 msgid "Accelerometer X" msgstr "" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "" #: src/panasonicmn.cpp:519 msgid "Accelerometer Y" msgstr "" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "" #: src/panasonicmn.cpp:520 #, fuzzy msgid "Camera Orientation" msgstr "Ориентация изображения" #: src/panasonicmn.cpp:521 #, fuzzy msgid "Roll Angle" msgstr "справа налево" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "" #: src/panasonicmn.cpp:523 #, fuzzy msgid "Sweep Panorama Direction" msgstr "направление панорамы" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "" #: src/panasonicmn.cpp:525 #, fuzzy msgid "Timer Recording" msgstr "Цветовое пространство" #: src/panasonicmn.cpp:526 #, fuzzy msgid "Internal ND Filter" msgstr "Встроенная вспышка" #: src/panasonicmn.cpp:528 #, fuzzy msgid "Shutter Type" msgstr "Скорость срабатывания затвора" #: src/panasonicmn.cpp:529 #, fuzzy msgid "Clear Retouch Value" msgstr "Выполняется измерение" #: src/panasonicmn.cpp:530 #, fuzzy msgid "TouchAE" msgstr "One-touch" #: src/panasonicmn.cpp:533 #, fuzzy msgid "MakerNote Version" msgstr "Версия прошивки" #: src/panasonicmn.cpp:533 #, fuzzy msgid "MakerNote version" msgstr "Версия прошивки" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 #, fuzzy msgid "WB Red Level" msgstr "Заряд батареи" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 #, fuzzy msgid "WB red level" msgstr "Под уровнем моря" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 #, fuzzy msgid "WB Green Level" msgstr "Заряд батареи" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 #, fuzzy msgid "WB green level" msgstr "Под уровнем моря" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 #, fuzzy msgid "WB Blue Level" msgstr "Заряд батареи" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 #, fuzzy msgid "WB blue level" msgstr "Под уровнем моря" #: src/panasonicmn.cpp:539 #, fuzzy msgid "Text Stamp 3" msgstr "Отметка времени по GPS" #: src/panasonicmn.cpp:540 #, fuzzy msgid "Text Stamp 4" msgstr "Отметка времени по GPS" #: src/panasonicmn.cpp:541 msgid "Baby Age 2" msgstr "" #: src/panasonicmn.cpp:541 msgid "Baby (or pet) age 2" msgstr "" #: src/panasonicmn.cpp:542 #, fuzzy msgid "Transform 2" msgstr "Область передачи" #: src/panasonicmn.cpp:544 #, fuzzy msgid "Unknown PanasonicMakerNote tag" msgstr "Неизвестный тэг CanonMakerNote" #: src/panasonicmn.cpp:562 #, fuzzy msgid "Spot mode on or 9 area" msgstr "Режим замера" #: src/panasonicmn.cpp:563 msgid "Spot mode off or 3-area (high speed)" msgstr "" #: src/panasonicmn.cpp:564 msgid "23-area" msgstr "" #: src/panasonicmn.cpp:565 #, fuzzy msgid "Spot focussing" msgstr "Ручная фокусировка" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "" #: src/panasonicmn.cpp:568 msgid "1-area (high speed)" msgstr "" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "" #: src/panasonicmn.cpp:572 msgid "3-area (right)" msgstr "" #: src/panasonicmn.cpp:574 #, fuzzy msgid "Spot Focusing 2" msgstr "Ручная фокусировка" #: src/panasonicmn.cpp:588 msgid " EV" msgstr " EV" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 #, fuzzy msgid "not set" msgstr "не установлено\n" #: src/panasonicmn.cpp:725 #, fuzzy msgid "Panasonic raw version" msgstr "Версия прошивки" #: src/panasonicmn.cpp:726 #, fuzzy msgid "Sensor Width" msgstr "Ширина изображения" #: src/panasonicmn.cpp:726 #, fuzzy msgid "Sensor width" msgstr "Авторские права" #: src/panasonicmn.cpp:727 #, fuzzy msgid "Sensor Height" msgstr "Очистка сенсора" #: src/panasonicmn.cpp:727 #, fuzzy msgid "Sensor height" msgstr "Очистка сенсора" #: src/panasonicmn.cpp:728 msgid "Sensor Top Border" msgstr "" #: src/panasonicmn.cpp:728 msgid "Sensor top border" msgstr "" #: src/panasonicmn.cpp:729 msgid "Sensor Left Border" msgstr "" #: src/panasonicmn.cpp:729 msgid "Sensor left border" msgstr "" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "" #: src/panasonicmn.cpp:739 src/tags.cpp:469 msgid "Manufacturer" msgstr "Производитель" #: src/panasonicmn.cpp:739 msgid "The manufacturer of the recording equipment" msgstr "" #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 msgid "Model" msgstr "Модель" #: src/panasonicmn.cpp:740 #, fuzzy msgid "The model name or model number of the equipment" msgstr "Вид источника света" #: src/panasonicmn.cpp:741 src/tags.cpp:481 #, fuzzy msgid "Strip Offsets" msgstr "Режим захвата" #: src/panasonicmn.cpp:741 #, fuzzy msgid "Strip offsets" msgstr "Режим захвата" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 msgid "Orientation" msgstr "Ориентация" #: src/panasonicmn.cpp:743 msgid "Rows Per Strip" msgstr "" #: src/panasonicmn.cpp:743 #, fuzzy msgid "The number of rows per strip" msgstr "Число F" #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip Byte Counts" msgstr "Выдержка" #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip byte counts" msgstr "Выдержка" #: src/panasonicmn.cpp:745 #, fuzzy msgid "Raw Data Offset" msgstr "Уникальный ID изображения" #: src/panasonicmn.cpp:745 #, fuzzy msgid "Raw data offset" msgstr "Неизвестный набор данных" #: src/panasonicmn.cpp:746 src/tags.cpp:797 msgid "Exif IFD Pointer" msgstr "Указатель Exif IFD" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "" #: src/panasonicmn.cpp:747 src/tags.cpp:808 msgid "GPS Info IFD Pointer" msgstr "Указатель GPS Info IFD" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "" #: src/panasonicmn.cpp:749 #, fuzzy msgid "Unknown PanasonicRaw tag" msgstr "Неизвестный тэг" #: src/pentaxmn.cpp:57 #, fuzzy msgid "Night-Scene" msgstr "Ночная съёмка" #: src/pentaxmn.cpp:199 #, fuzzy msgid "Good" msgstr "Пища" #: src/pentaxmn.cpp:200 #, fuzzy msgid "Better" msgstr "Центральный" #: src/pentaxmn.cpp:201 #, fuzzy msgid "Best" msgstr "Запад" #: src/pentaxmn.cpp:204 msgid "Premium" msgstr "" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "" #: src/pentaxmn.cpp:247 #, fuzzy msgid "Auto, Did not fire" msgstr "Вспышка не сработала" #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 #, fuzzy msgid "Off, Did not fire" msgstr "Вспышка не сработала" #: src/pentaxmn.cpp:250 #, fuzzy msgid "Auto, Did not fire, Red-eye reduction" msgstr "авто + подавление эффекта красных глаз" #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:252 #, fuzzy msgid "Auto, Fired" msgstr "Автобрекетирование" #: src/pentaxmn.cpp:253 #, fuzzy msgid "On, Fired" msgstr "Сработала" #: src/pentaxmn.cpp:254 #, fuzzy msgid "Auto, Fired, Red-eye reduction" msgstr "авто + подавление эффекта красных глаз" #: src/pentaxmn.cpp:255 #, fuzzy msgid "On, Red-eye reduction" msgstr "Подавление эффекта красных глаз" #: src/pentaxmn.cpp:256 msgid "On, Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:257 msgid "On, Wireless (Control)" msgstr "" #: src/pentaxmn.cpp:258 msgid "On, Soft" msgstr "" #: src/pentaxmn.cpp:259 #, fuzzy msgid "On, Slow-sync" msgstr "медленная синхронизация" #: src/pentaxmn.cpp:260 #, fuzzy msgid "On, Slow-sync, Red-eye reduction" msgstr "Да, с подавлением эффекта красных глаз" #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "" #: src/pentaxmn.cpp:272 #, fuzzy msgid "Pan Focus" msgstr "Ручная фокусировка" #: src/pentaxmn.cpp:275 msgid "AF-A" msgstr "" #: src/pentaxmn.cpp:276 #, fuzzy msgid "Contrast-detect" msgstr "Настройка контраста" #: src/pentaxmn.cpp:277 #, fuzzy msgid "Tracking Contrast-detect" msgstr "Настройка контраста" #: src/pentaxmn.cpp:284 #, fuzzy msgid "Fixed Center" msgstr "Ясная погода" #: src/pentaxmn.cpp:285 #, fuzzy msgid "Automatic Tracking AF" msgstr "Автоматический" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "" #: src/pentaxmn.cpp:287 #, fuzzy msgid "AF Select" msgstr "Выбор ISO" #: src/pentaxmn.cpp:305 #, fuzzy msgid "Fixed Center or multiple" msgstr "Ясная погода" #: src/pentaxmn.cpp:307 #, fuzzy msgid "Top-center" msgstr "Центральный" #: src/pentaxmn.cpp:313 #, fuzzy msgid "Bottom-center" msgstr "слева направо" #: src/pentaxmn.cpp:402 #, fuzzy msgid "Multi Segment" msgstr "Режим замера" #: src/pentaxmn.cpp:403 #, fuzzy msgid "Center Weighted" msgstr "Центровзвешенный" #: src/pentaxmn.cpp:415 #, fuzzy msgid "DaylightFluorescent" msgstr "Флуоресцентная лампа" #: src/pentaxmn.cpp:416 #, fuzzy msgid "DaywhiteFluorescent" msgstr "Флуоресцентная лампа" #: src/pentaxmn.cpp:417 #, fuzzy msgid "WhiteFluorescent" msgstr "Флуоресцентная лампа" #: src/pentaxmn.cpp:420 #, fuzzy msgid "Color Temperature Enhancement" msgstr "Температура цвета" #: src/pentaxmn.cpp:423 #, fuzzy msgid "User Selected" msgstr "Автобрекетирование" #: src/pentaxmn.cpp:428 #, fuzzy msgid "Auto (Daylight)" msgstr "Дневной свет" #: src/pentaxmn.cpp:429 #, fuzzy msgid "Auto (Shade)" msgstr "Тень" #: src/pentaxmn.cpp:430 #, fuzzy msgid "Auto (Flash)" msgstr "Автобрекетирование" #: src/pentaxmn.cpp:431 #, fuzzy msgid "Auto (Tungsten)" msgstr "Лампа накаливания" #: src/pentaxmn.cpp:432 #, fuzzy msgid "Auto (DaylightFluorescent)" msgstr "Флуоресцентная лампа" #: src/pentaxmn.cpp:433 #, fuzzy msgid "Auto (DaywhiteFluorescent)" msgstr "Флуоресцентная лампа" #: src/pentaxmn.cpp:434 #, fuzzy msgid "Auto (WhiteFluorescent)" msgstr "Флуоресцентная лампа" #: src/pentaxmn.cpp:435 #, fuzzy msgid "Auto (Cloudy)" msgstr "Облачно" #: src/pentaxmn.cpp:437 #, fuzzy msgid "Preset (Fireworks?)" msgstr "Фейерверк" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 #, fuzzy msgid "Med Low" msgstr "Низкий" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 #, fuzzy msgid "Med High" msgstr "Высокий" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "" #: src/pentaxmn.cpp:473 #, fuzzy msgid "Med Soft" msgstr "Низкий" #: src/pentaxmn.cpp:474 #, fuzzy msgid "Med Hard" msgstr "Высокий" #: src/pentaxmn.cpp:475 msgid "Very Soft" msgstr "" #: src/pentaxmn.cpp:476 #, fuzzy msgid "Very Hard" msgstr "Высокий" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 #, fuzzy msgid "Home town" msgstr "Тип изображения" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "Гонолулу" #: src/pentaxmn.cpp:491 #, fuzzy msgid "Anchorage" msgstr "Средний" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "Ванкувер" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "" #: src/pentaxmn.cpp:494 msgid "Los Angeles" msgstr "" #: src/pentaxmn.cpp:495 #, fuzzy msgid "Calgary" msgstr "Категория" #: src/pentaxmn.cpp:496 #, fuzzy msgid "Denver" msgstr "Центральный" #: src/pentaxmn.cpp:497 msgid "Mexico City" msgstr "Мехико" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "Чикаго" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "Майами" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "Торонто" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "Нью-Йорк" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "Сантьяго" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "Галифакс" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "Буэнос-Айрэс" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "Мадрид" #: src/pentaxmn.cpp:509 msgid "London" msgstr "Лондон" #: src/pentaxmn.cpp:510 msgid "Paris" msgstr "Париж" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "Милан" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "Рим" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "Берлин" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "" #: src/pentaxmn.cpp:515 #, fuzzy msgid "Istanbul" msgstr "Кабул" #: src/pentaxmn.cpp:516 msgid "Cairo" msgstr "Каир" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "Иерусалим" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "Москва" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "Тегеран" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "Дубаи" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "Карачи" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "Кабул" #: src/pentaxmn.cpp:524 #, fuzzy msgid "Male" msgstr "Ручная" #: src/pentaxmn.cpp:525 msgid "Delhi" msgstr "Дели" #: src/pentaxmn.cpp:526 #, fuzzy msgid "Colombo" msgstr "Цветовое пространство" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "Катманду" #: src/pentaxmn.cpp:528 #, fuzzy msgid "Dacca" msgstr "Дакар" #: src/pentaxmn.cpp:529 #, fuzzy msgid "Yangon" msgstr "ничего" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "Бангкок" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "" #: src/pentaxmn.cpp:532 #, fuzzy msgid "Vientiane" msgstr "Ориентация" #: src/pentaxmn.cpp:533 msgid "Singapore" msgstr "Сингапур" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "Джакарта" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "Гонконг" #: src/pentaxmn.cpp:538 #, fuzzy msgid "Perth" msgstr "Север" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "Пекин" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "Шанхай" #: src/pentaxmn.cpp:541 #, fuzzy msgid "Manila" msgstr "Ручная" #: src/pentaxmn.cpp:542 #, fuzzy msgid "Taipei" msgstr "Время отправки" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "Сеул" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "Токио" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "Сидней" #: src/pentaxmn.cpp:548 #, fuzzy msgid "Noumea" msgstr "Число F" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "Лима" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "Дакар" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "Хельсинки" #: src/pentaxmn.cpp:555 #, fuzzy msgid "Athens" msgstr "Объектив" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "Найроби" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "Амстердам" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "Стокгольм" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "" #: src/pentaxmn.cpp:560 #, fuzzy msgid "Copenhagen" msgstr "Охват" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "" #: src/pentaxmn.cpp:568 #, fuzzy msgid "Unprocessed" msgstr "Несжатый" #: src/pentaxmn.cpp:570 #, fuzzy msgid "Resized" msgstr "размер" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 #, fuzzy msgid "Cropped" msgstr "Монохромный" #: src/pentaxmn.cpp:573 #, fuzzy msgid "Digital Filter 6" msgstr "Цифровой фильтр" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 #, fuzzy msgid "Hi-speed Program" msgstr "Программа экспозиции" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 #, fuzzy msgid "DOF Program" msgstr "Программа" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 #, fuzzy msgid "MTF Program" msgstr "Программа" #: src/pentaxmn.cpp:588 #, fuzzy msgid "Night Scene Portrait" msgstr "Ночной портрет" #: src/pentaxmn.cpp:589 #, fuzzy msgid "No Flash" msgstr "Без вспышки" #: src/pentaxmn.cpp:592 msgid "Surf & Snow" msgstr "" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "" #: src/pentaxmn.cpp:600 #, fuzzy msgid "Stage Lighting" msgstr "Длина изображения" #: src/pentaxmn.cpp:601 #, fuzzy msgid "Night Snap" msgstr "Ночная съёмка" #: src/pentaxmn.cpp:602 #, fuzzy msgid "Blue Sky" msgstr "значение" #: src/pentaxmn.cpp:604 #, fuzzy msgid "Night Scene HDR" msgstr "Ночная съёмка" #: src/pentaxmn.cpp:606 #, fuzzy msgid "Quick Macro" msgstr "Супермакро" #: src/pentaxmn.cpp:607 #, fuzzy msgid "Forest" msgstr "Флуоресцентная лампа" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "" #: src/pentaxmn.cpp:610 #, fuzzy msgid "Auto PICT (Standard)" msgstr "Альбом" #: src/pentaxmn.cpp:611 #, fuzzy msgid "Auto PICT (Portrait)" msgstr "Автоматический контраст" #: src/pentaxmn.cpp:612 #, fuzzy msgid "Auto PICT (Landscape)" msgstr "Альбом" #: src/pentaxmn.cpp:613 #, fuzzy msgid "Auto PICT (Macro)" msgstr "Альбом" #: src/pentaxmn.cpp:614 #, fuzzy msgid "Auto PICT (Sport)" msgstr "Альбом" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 #, fuzzy msgid "Green Mode" msgstr "Режим замера" #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 #, fuzzy msgid "Shutter Speed Priority" msgstr "Приоритет выдержки" #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 #, fuzzy msgid "Aperture Priority" msgstr "Приоритет диафрагмы" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "" #: src/pentaxmn.cpp:631 #, fuzzy msgid "Program Tv Shift" msgstr "Программа" #: src/pentaxmn.cpp:632 #, fuzzy msgid "Program Av Shift" msgstr "Программа" #: src/pentaxmn.cpp:635 #, fuzzy msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "Приоритет диафрагмы (Av)" #: src/pentaxmn.cpp:636 #, fuzzy msgid "Manual (Off-Auto-Aperture)" msgstr "Приоритет диафрагмы (Av)" #: src/pentaxmn.cpp:637 #, fuzzy msgid "Bulb (Off-Auto-Aperture)" msgstr "Приоритет диафрагмы (Av)" #: src/pentaxmn.cpp:639 #, fuzzy msgid "Shutter Priority" msgstr "Приоритет выдержки" #: src/pentaxmn.cpp:640 #, fuzzy msgid "Shutter & Aperture Priority AE" msgstr "Приоритет выдержки" #: src/pentaxmn.cpp:641 #, fuzzy msgid "Shutter & Aperture Priority AE (1)" msgstr "Приоритет выдержки" #: src/pentaxmn.cpp:642 #, fuzzy msgid "Sensitivity Priority AE" msgstr "Спектральная чувствительность" #: src/pentaxmn.cpp:643 #, fuzzy msgid "Sensitivity Priority AE (1)" msgstr "Приоритет выдержки" #: src/pentaxmn.cpp:644 msgid "Flash X-Sync Speed AE" msgstr "" #: src/pentaxmn.cpp:645 msgid "Flash X-Sync Speed AE (1)" msgstr "" #: src/pentaxmn.cpp:646 #, fuzzy msgid "Auto Program (Normal)" msgstr "Программа (P)" #: src/pentaxmn.cpp:647 msgid "Auto Program (Hi-Speed)" msgstr "" #: src/pentaxmn.cpp:648 #, fuzzy msgid "Auto Program (DOF)" msgstr "Программа (P)" #: src/pentaxmn.cpp:649 #, fuzzy msgid "Auto Program (MTF)" msgstr "Программа (P)" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "" #: src/pentaxmn.cpp:651 #, fuzzy msgid "Blur control" msgstr "Цветовое пространство" #: src/pentaxmn.cpp:654 msgid "Video (30 fps)" msgstr "" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "" #: src/pentaxmn.cpp:662 #, fuzzy msgid "Continuous (Hi)" msgstr "Продолжительный ведущий режим" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 #, fuzzy msgid "Burst" msgstr "Способ фокусировки" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 #, fuzzy msgid "Video" msgstr "Цвет" #: src/pentaxmn.cpp:666 #, fuzzy msgid "Self-timer (12 sec)" msgstr "Серийный номер" #: src/pentaxmn.cpp:667 #, fuzzy msgid "Self-timer (2 sec)" msgstr "Серийный номер" #: src/pentaxmn.cpp:669 msgid "Mirror Lock-up" msgstr "" #: src/pentaxmn.cpp:670 #, fuzzy msgid "Remote Control (3 sec)" msgstr "Пульт Д/У?" #: src/pentaxmn.cpp:671 #, fuzzy msgid "Remote Control" msgstr "Пульт Д/У?" #: src/pentaxmn.cpp:672 #, fuzzy msgid "Remote Continuous Shooting" msgstr "Способ фокусировки" #: src/pentaxmn.cpp:675 #, fuzzy msgid "HDR Strong 1" msgstr "Насыщенность" #: src/pentaxmn.cpp:676 #, fuzzy msgid "HDR Strong 2" msgstr "Насыщенность" #: src/pentaxmn.cpp:677 #, fuzzy msgid "HDR Strong 3" msgstr "Насыщенность" #: src/pentaxmn.cpp:678 #, fuzzy msgid "HDR Auto" msgstr "Авто" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "" #: src/pentaxmn.cpp:691 #, fuzzy msgid "K or M Lens" msgstr "Объектив" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "" #: src/pentaxmn.cpp:970 #, fuzzy msgid "Bright" msgstr "Яркость+" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "" #: src/pentaxmn.cpp:990 #, fuzzy msgid "Weakest" msgstr "Запад" #: src/pentaxmn.cpp:991 #, fuzzy msgid "Weak" msgstr "Запад" #: src/pentaxmn.cpp:992 #, fuzzy msgid "Strong" msgstr "Насыщенность" #: src/pentaxmn.cpp:1112 #, fuzzy msgid "No extended bracketing" msgstr "Настройка баланса белого" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "WB-BA" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "WB-GM" #: src/pentaxmn.cpp:1133 #, fuzzy msgid "Unknown " msgstr "Неизвестно" #: src/pentaxmn.cpp:1146 #, fuzzy msgid "Pentax Makernote version" msgstr "Версия прошивки" #: src/pentaxmn.cpp:1149 #, fuzzy msgid "Camera shooting mode" msgstr "Режим замера" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 msgid "Resolution of a preview image" msgstr "" #: src/pentaxmn.cpp:1154 #, fuzzy msgid "Length of a preview image" msgstr "Версия эскиза" #: src/pentaxmn.cpp:1155 msgid "Size of an IFD containing a preview image" msgstr "" #: src/pentaxmn.cpp:1160 #, fuzzy msgid "Model identification" msgstr "Версия модели" #: src/pentaxmn.cpp:1161 #, fuzzy msgid "Pentax model identification" msgstr "Версия модели" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 #, fuzzy msgid "Date" msgstr "Программное обеспечение" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 #, fuzzy msgid "Time" msgstr "Время отправки" #: src/pentaxmn.cpp:1170 #, fuzzy msgid "Image quality settings" msgstr "Описание снимка" #: src/pentaxmn.cpp:1173 #, fuzzy msgid "Image size settings" msgstr "Описание снимка" #: src/pentaxmn.cpp:1177 #, fuzzy msgid "Flash mode settings" msgstr "Вспышка сработала" #: src/pentaxmn.cpp:1180 #, fuzzy msgid "Focus mode settings" msgstr "Способ фокусировки" #: src/pentaxmn.cpp:1183 #, fuzzy msgid "Selected AF point" msgstr "Использованная точка AF" #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 #, fuzzy msgid "AF point in focus" msgstr "Использованная точка AF" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 #, fuzzy msgid "F-Number" msgstr "Число F" #: src/pentaxmn.cpp:1195 #, fuzzy msgid "ISO sensitivity" msgstr "Спектральная чувствительность" #: src/pentaxmn.cpp:1196 #, fuzzy msgid "ISO sensitivity settings" msgstr "Параметры объектива" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 #, fuzzy msgid "MeteringMode" msgstr "Режим замера" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 #, fuzzy msgid "AutoBracketing" msgstr "Автобрекетирование" #: src/pentaxmn.cpp:1216 #, fuzzy msgid "Blue color balance" msgstr "Баланс белого" #: src/pentaxmn.cpp:1219 #, fuzzy msgid "Red color balance" msgstr "Цветовое пространство" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 #, fuzzy msgid "FocalLength" msgstr "Фокусное расстояние" #: src/pentaxmn.cpp:1239 #, fuzzy msgid "Hometown" msgstr "Рим" #: src/pentaxmn.cpp:1245 msgid "Hometown DST" msgstr "" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "" #: src/pentaxmn.cpp:1248 #, fuzzy msgid "Destination DST" msgstr "Ориентация" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 #, fuzzy msgid "DSPFirmwareVersion" msgstr "Версия прошивки" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 #, fuzzy msgid "CPUFirmwareVersion" msgstr "Версия прошивки" #: src/pentaxmn.cpp:1261 #, fuzzy msgid "Light value" msgstr "Яркость" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 #, fuzzy msgid "Image area offset" msgstr "Размер изображения" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 #, fuzzy msgid "Raw image size" msgstr "Размер изображения" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 #, fuzzy msgid "Preview image borders" msgstr "Версия эскиза" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 #, fuzzy msgid "Sensitivity adjust" msgstr "Спектральная чувствительность" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 msgid "Digital filter" msgstr "Цифровой фильтр" #: src/pentaxmn.cpp:1299 #, fuzzy msgid "Camera temperature" msgstr "Температура цвета" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 #, fuzzy msgid "Image tone" msgstr "Тип изображения" #: src/pentaxmn.cpp:1319 #, fuzzy msgid "Shake reduction" msgstr "Подавление шума" #: src/pentaxmn.cpp:1320 #, fuzzy msgid "Shake reduction information" msgstr "Способ фокусировки" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 #, fuzzy msgid "Dynamic range expansion" msgstr "Настройка баланса белого" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 msgid "High ISO noise reduction" msgstr "Подавление шума на высоких ISO" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 #, fuzzy msgid "AF Adjustment" msgstr "Подстройка оттенка" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 msgid "Black point" msgstr "Точка черного" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 msgid "White point" msgstr "Точка белого" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 #, fuzzy msgid "ShotInfo" msgstr "Способ фокусировки" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 #, fuzzy msgid "AEInfo" msgstr "Способ фокусировки" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 #, fuzzy msgid "LensInfo" msgstr "Объектив" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 #, fuzzy msgid "FlashInfo" msgstr "Вспышка" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 #, fuzzy msgid "AEMeteringSegments" msgstr "Режим замера" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 #, fuzzy msgid "FlashADump" msgstr "Режим вспышки" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 #, fuzzy msgid "FlashBDump" msgstr "Режим вспышки" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 #, fuzzy msgid "WB_RGGBLevelsDaylight" msgstr "Флуоресцентная лампа" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 #, fuzzy msgid "WB_RGGBLevelsShade" msgstr "Заряд батареи" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 #, fuzzy msgid "WB_RGGBLevelsCloudy" msgstr "Заряд батареи" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 #, fuzzy msgid "WB_RGGBLevelsTungsten" msgstr "Заряд батареи" #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 #, fuzzy msgid "WB_RGGBLevelsFluorescentD" msgstr "Флуоресцентная лампа" #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 #, fuzzy msgid "WB_RGGBLevelsFluorescentN" msgstr "Флуоресцентная лампа" #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 #, fuzzy msgid "WB_RGGBLevelsFluorescentW" msgstr "Флуоресцентная лампа" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 #, fuzzy msgid "WB_RGGBLevelsFlash" msgstr "Заряд батареи" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 #, fuzzy msgid "CameraInfo" msgstr "ID камеры" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 #, fuzzy msgid "BatteryInfo" msgstr "ID камеры" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 #, fuzzy msgid "AFInfo" msgstr "Способ фокусировки" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 #, fuzzy msgid "ColorInfo" msgstr "Цвет" #: src/pentaxmn.cpp:1405 msgid "Unknown PentaxMakerNote tag" msgstr "Неизвестный тег PentaxMakerNote" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "" #: src/properties.cpp:113 msgid "XMP Basic schema" msgstr "" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "" #: src/properties.cpp:115 msgid "XMP Media Management schema" msgstr "" #: src/properties.cpp:116 msgid "XMP Basic Job Ticket schema" msgstr "" #: src/properties.cpp:117 msgid "XMP Paged-Text schema" msgstr "" #: src/properties.cpp:118 msgid "XMP Dynamic Media schema" msgstr "" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "" #: src/properties.cpp:120 #, fuzzy msgid "Adobe Lightroom schema" msgstr "Adobe RGB" #: src/properties.cpp:121 #, fuzzy msgid "Adobe PDF schema" msgstr "Adobe RGB" #: src/properties.cpp:122 msgid "Adobe photoshop schema" msgstr "" #: src/properties.cpp:123 #, fuzzy msgid "Camera Raw schema" msgstr "ID камеры" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "" #: src/properties.cpp:127 src/properties.cpp:128 msgid "IPTC Core schema" msgstr "" #: src/properties.cpp:129 src/properties.cpp:130 msgid "IPTC Extension schema" msgstr "" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "" #: src/properties.cpp:132 msgid "iView Media Pro schema" msgstr "" #: src/properties.cpp:133 msgid "Expression Media schema" msgstr "" #: src/properties.cpp:134 msgid "Microsoft Photo 1.2 schema" msgstr "" #: src/properties.cpp:135 msgid "Microsoft Photo RegionInfo schema" msgstr "" #: src/properties.cpp:136 msgid "Microsoft Photo Region schema" msgstr "" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "" #: src/properties.cpp:138 msgid "Metadata Working Group Keywords schema" msgstr "" #: src/properties.cpp:139 msgid "XMP Extended Video schema" msgstr "" #: src/properties.cpp:140 msgid "XMP Extended Audio schema" msgstr "" #: src/properties.cpp:141 msgid "XMP Darwin Core schema" msgstr "" #: src/properties.cpp:142 msgid "Qualified Dublin Core schema" msgstr "" #: src/properties.cpp:143 #, fuzzy msgid "ACDSee XMP schema" msgstr "Adobe RGB" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "" #: src/properties.cpp:148 msgid "Colorant structure" msgstr "Структура красителя" #: src/properties.cpp:149 #, fuzzy msgid "Dimensions structure" msgstr "Размер изображения" #: src/properties.cpp:150 #, fuzzy msgid "Font structure" msgstr "Структура красителя" #: src/properties.cpp:151 msgid "Thumbnail structure" msgstr "Структура эскиза" #: src/properties.cpp:152 #, fuzzy msgid "Resource Event structure" msgstr "Структура красителя" #: src/properties.cpp:153 #, fuzzy msgid "ResourceRef structure" msgstr "Размер изображения" #: src/properties.cpp:154 #, fuzzy msgid "Version structure" msgstr "Размер изображения" #: src/properties.cpp:155 msgid "Basic Job/Workflow structure" msgstr "" #: src/properties.cpp:156 #, fuzzy msgid "Area structure" msgstr "Структура красителя" #: src/properties.cpp:159 msgid "Qualifier for xmp:Identifier" msgstr "" #: src/properties.cpp:163 msgid "Contributor" msgstr "Участник" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "" #: src/properties.cpp:164 msgid "Coverage" msgstr "Охват" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" #: src/properties.cpp:166 msgid "Creator" msgstr "Создатель" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "" #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "" #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" #: src/properties.cpp:170 src/properties.cpp:1160 msgid "Format" msgstr "Формат" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" #: src/properties.cpp:172 src/properties.cpp:228 #, fuzzy msgid "Identifier" msgstr "Идентификатор ARM" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "" #: src/properties.cpp:175 msgid "Publisher" msgstr "" #: src/properties.cpp:175 msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" #: src/properties.cpp:178 #, fuzzy msgid "Relation" msgstr "Насыщенность" #: src/properties.cpp:178 msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" #: src/properties.cpp:180 msgid "Rights" msgstr "Права" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" #: src/properties.cpp:183 #, fuzzy msgid "Unique identifier of the work from which this resource was derived." msgstr "Название отсканированного документа" #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 #, fuzzy msgid "Type" msgstr "тип" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "" #: src/properties.cpp:194 msgid "Tags List" msgstr "" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" #: src/properties.cpp:195 #, fuzzy msgid "Captions Author Names" msgstr "Название страны" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" #: src/properties.cpp:196 #, fuzzy msgid "Captions Date Time Stamps" msgstr "обновляется отметка времени" #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" #: src/properties.cpp:197 src/tags.cpp:844 #, fuzzy msgid "Image History" msgstr "Длина изображения" #: src/properties.cpp:197 msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" #: src/properties.cpp:198 #, fuzzy msgid "Lens Correction Settings" msgstr "Параметры объектива" #: src/properties.cpp:198 msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" #: src/properties.cpp:199 #, fuzzy msgid "Color Label" msgstr "Цветовое пространство" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" #: src/properties.cpp:200 #, fuzzy msgid "Pick Label" msgstr "Кабул" #: src/properties.cpp:200 msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" #: src/properties.cpp:206 #, fuzzy msgid "Panorama Input Files" msgstr "Кадр панорамы" #: src/properties.cpp:206 msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" #: src/properties.cpp:207 msgid "Enfuse Input Files" msgstr "" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" #: src/properties.cpp:208 #, fuzzy msgid "Enfuse Settings" msgstr "Настройка резкости" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "" #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "" #: src/properties.cpp:216 #, fuzzy msgid "Advisory" msgstr "Звук" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" #: src/properties.cpp:219 src/properties.cpp:1066 msgid "Base URL" msgstr "" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" #: src/properties.cpp:224 msgid "Create Date" msgstr "Дата создания" #: src/properties.cpp:224 #, fuzzy msgid "The date and time the resource was originally created." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:225 #, fuzzy msgid "Creator Tool" msgstr "Создатель" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" #: src/properties.cpp:233 #, fuzzy msgid "Label" msgstr "Кабул" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" #: src/properties.cpp:235 #, fuzzy msgid "Metadata Date" msgstr "Дата создания" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" #: src/properties.cpp:237 #, fuzzy msgid "Modify Date" msgstr "Порядок заполнения" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" #: src/properties.cpp:240 #, fuzzy msgid "Nickname" msgstr "Имя владельца" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "" #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 msgid "Rating" msgstr "Оценка" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" #: src/properties.cpp:244 msgid "Thumbnails" msgstr "Эскизы" #: src/properties.cpp:244 msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" #: src/properties.cpp:251 msgid "Certificate" msgstr "" #: src/properties.cpp:251 msgid "Online rights management certificate." msgstr "" #: src/properties.cpp:252 #, fuzzy msgid "Marked" msgstr "Ручная" #: src/properties.cpp:252 msgid "Indicates that this is a rights-managed resource." msgstr "" #: src/properties.cpp:253 msgid "Owner" msgstr "Владелец" #: src/properties.cpp:253 msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "" #: src/properties.cpp:254 msgid "Usage Terms" msgstr "" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "" #: src/properties.cpp:255 msgid "Web Statement" msgstr "" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" #: src/properties.cpp:261 #, fuzzy msgid "Derived From" msgstr "Режим замера" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" #: src/properties.cpp:266 msgid "Document ID" msgstr "ID документа" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" #: src/properties.cpp:268 #, fuzzy msgid "History" msgstr "Длина изображения" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" #: src/properties.cpp:272 #, fuzzy msgid "Instance ID" msgstr "Intel" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" #: src/properties.cpp:274 #, fuzzy msgid "Managed From" msgstr "Язык" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" #: src/properties.cpp:277 #, fuzzy msgid "Manager" msgstr "Язык" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" #: src/properties.cpp:280 #, fuzzy msgid "Manage To" msgstr "Язык" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" #: src/properties.cpp:283 #, fuzzy msgid "Manage UI" msgstr "Язык" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" #: src/properties.cpp:285 #, fuzzy msgid "Manager Variant" msgstr "Язык" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" #: src/properties.cpp:287 msgid "Rendition Class" msgstr "" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" #: src/properties.cpp:289 msgid "Rendition Params" msgstr "" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" #: src/properties.cpp:291 msgid "Version ID" msgstr "ID версии" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr "" #: src/properties.cpp:295 msgid "Versions" msgstr "Версии" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" #: src/properties.cpp:301 msgid "Last URL" msgstr "" #: src/properties.cpp:301 msgid "Deprecated for privacy protection." msgstr "" #: src/properties.cpp:302 #, fuzzy msgid "Rendition Of" msgstr "Насыщенность" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" #: src/properties.cpp:304 #, fuzzy msgid "Save ID" msgstr "ID камеры" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "" #: src/properties.cpp:310 #, fuzzy msgid "Job Reference" msgstr "Эталонный Чёрный/Белый" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" #: src/properties.cpp:319 msgid "Maximum Page Size" msgstr "Максимальный размер страницы" #: src/properties.cpp:319 msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "" #: src/properties.cpp:320 msgid "Number of Pages" msgstr "Число страниц" #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "" #: src/properties.cpp:321 msgid "Fonts" msgstr "Шрифты" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" #: src/properties.cpp:322 #, fuzzy msgid "Colorants" msgstr "Цвет" #: src/properties.cpp:322 msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" #: src/properties.cpp:323 #, fuzzy msgid "Plate Names" msgstr "Имя владельца" #: src/properties.cpp:323 msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" #: src/properties.cpp:329 src/properties.cpp:1285 #, fuzzy msgid "Project Reference" msgstr "Эталонный Чёрный/Белый" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "" #: src/properties.cpp:330 src/properties.cpp:1163 #, fuzzy msgid "Video Frame Rate" msgstr "Частота сэмплирования звукозаписи" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "" #: src/properties.cpp:331 src/properties.cpp:1164 #, fuzzy msgid "Video Frame Size" msgstr "Цветовое пространство" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "" #: src/properties.cpp:332 msgid "Video Pixel Aspect Ratio" msgstr "" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "" #: src/properties.cpp:333 src/properties.cpp:1261 #, fuzzy msgid "Video Pixel Depth" msgstr "Порядок заполнения" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:335 src/properties.cpp:1081 #, fuzzy msgid "Video Color Space" msgstr "Цветовое пространство" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" #: src/properties.cpp:337 #, fuzzy msgid "Video Alpha Mode" msgstr "Режим замера" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "" #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "" #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "" #: src/properties.cpp:341 #, fuzzy msgid "Video Compressor" msgstr "Сжатие" #: src/properties.cpp:341 msgid "Video compression used. For example, jpeg." msgstr "" #: src/properties.cpp:342 #, fuzzy msgid "Video Field Order" msgstr "Порядок заполнения" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "" #: src/properties.cpp:343 #, fuzzy msgid "Pull Down" msgstr "вкл" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" #: src/properties.cpp:345 src/properties.cpp:1425 #, fuzzy msgid "Audio Sample Rate" msgstr "Частота сэмплирования звукозаписи" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" #: src/properties.cpp:346 src/properties.cpp:1426 #, fuzzy msgid "Audio Sample Type" msgstr "Тип звуковых данных" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:347 src/properties.cpp:1400 #, fuzzy msgid "Audio Channel Type" msgstr "Тип звуковых данных" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "" #: src/properties.cpp:348 src/properties.cpp:1407 #, fuzzy msgid "Audio Compressor" msgstr "Сжатие" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "" #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" #: src/properties.cpp:351 src/properties.cpp:1149 #, fuzzy msgid "File Data Rate" msgstr "Имя файла" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "" #: src/properties.cpp:352 src/properties.cpp:1334 #, fuzzy msgid "Tape Name" msgstr "Имя владельца" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "" #: src/properties.cpp:353 #, fuzzy msgid "Alternative Tape Name" msgstr "Имя владельца" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" #: src/properties.cpp:355 #, fuzzy msgid "Start Time Code" msgstr "Режим вспышки" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "" #: src/properties.cpp:356 #, fuzzy msgid "Alternative Time code" msgstr "Режим вспышки" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" #: src/properties.cpp:357 src/properties.cpp:1124 msgid "Duration" msgstr "Длительность" #: src/properties.cpp:357 #, fuzzy msgid "The duration of the media file." msgstr "Вид источника света" #: src/properties.cpp:358 #, fuzzy msgid "Scene" msgstr "Тип сцены" #: src/properties.cpp:358 #, fuzzy msgid "The name of the scene." msgstr "Вид источника света" #: src/properties.cpp:359 #, fuzzy msgid "Shot Name" msgstr "Название страны" #: src/properties.cpp:359 #, fuzzy msgid "The name of the shot or take." msgstr "Вид источника света" #: src/properties.cpp:360 #, fuzzy msgid "Shot Date" msgstr "Программное обеспечение" #: src/properties.cpp:360 #, fuzzy msgid "The date and time when the video was shot." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:361 #, fuzzy msgid "Shot Location" msgstr "Местоположение объекта съёмки" #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" #: src/properties.cpp:363 #, fuzzy msgid "Log Comment" msgstr "Комментарий (Windows)" #: src/properties.cpp:363 #, fuzzy msgid "User's log comments." msgstr "Пользовательский комментарий" #: src/properties.cpp:364 #, fuzzy msgid "Markers" msgstr "Ручная" #: src/properties.cpp:364 msgid "An ordered list of markers" msgstr "" #: src/properties.cpp:365 #, fuzzy msgid "Contributed Media" msgstr "Контраст" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "" #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:368 #, fuzzy msgid "Video Modified Date" msgstr "Порядок заполнения" #: src/properties.cpp:368 #, fuzzy msgid "The date and time when the video was last modified." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:369 #, fuzzy msgid "Audio Modified Date" msgstr "Частота сэмплирования звукозаписи" #: src/properties.cpp:369 #, fuzzy msgid "The date and time when the audio was last modified." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:370 #, fuzzy msgid "Metadata Modified Date" msgstr "Порядок заполнения" #: src/properties.cpp:370 #, fuzzy msgid "The date and time when the metadata was last modified." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "Исполнитель" #: src/properties.cpp:371 src/properties.cpp:1058 #, fuzzy msgid "The name of the artist or artists." msgstr "Вид источника света" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "Album" msgstr "Альбом" #: src/properties.cpp:372 src/properties.cpp:1054 #, fuzzy msgid "The name of the album." msgstr "Вид источника света" #: src/properties.cpp:373 src/properties.cpp:1366 msgid "Track Number" msgstr "Номер дорожки" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "Genre" msgstr "Жанр" #: src/properties.cpp:374 src/properties.cpp:1166 #, fuzzy msgid "The name of the genre." msgstr "Вид источника света" #: src/properties.cpp:375 msgid "The copyright information." msgstr "Данные об авторских правах" #: src/properties.cpp:376 #, fuzzy msgid "The date the title was released." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:377 src/properties.cpp:1086 msgid "Composer" msgstr "Композитор" #: src/properties.cpp:377 msgid "The composer's name." msgstr "" #: src/properties.cpp:378 src/properties.cpp:1143 msgid "Engineer" msgstr "Звукооператор" #: src/properties.cpp:378 msgid "The engineer's name." msgstr "" #: src/properties.cpp:379 msgid "Tempo" msgstr "" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "" #: src/properties.cpp:380 msgid "Instrument" msgstr "Инструмент" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "" #: src/properties.cpp:381 msgid "Intro Time" msgstr "Время вступления" #: src/properties.cpp:381 msgid "The duration of lead time for queuing music." msgstr "" #: src/properties.cpp:382 msgid "Out Cue" msgstr "" #: src/properties.cpp:382 msgid "The time at which to fade out." msgstr "" #: src/properties.cpp:383 #, fuzzy msgid "Relative Timestamp" msgstr "обновляется отметка времени" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "" #: src/properties.cpp:384 #, fuzzy msgid "Loop" msgstr "Лондон" #: src/properties.cpp:384 msgid "When true, the clip can be looped seamlessly." msgstr "" #: src/properties.cpp:385 #, fuzzy msgid "Number Of Beats" msgstr "Число F" #: src/properties.cpp:385 #, fuzzy msgid "The number of beats." msgstr "Число F" #: src/properties.cpp:386 #, fuzzy msgid "Key" msgstr "Низкий ключ" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "" #: src/properties.cpp:387 #, fuzzy msgid "Stretch Mode" msgstr "Режим коррекции" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" #: src/properties.cpp:388 msgid "Time Scale Parameters" msgstr "" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "" #: src/properties.cpp:389 msgid "Resample Parameters" msgstr "" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "" #: src/properties.cpp:390 msgid "Beat Splice Parameters" msgstr "" #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "" #: src/properties.cpp:391 #, fuzzy msgid "Time Signature" msgstr "Время отправки" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" #: src/properties.cpp:392 #, fuzzy msgid "Scale Type" msgstr "Тип изображения" #: src/properties.cpp:392 msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "" #: src/properties.cpp:399 src/tags.cpp:1078 #, fuzzy msgid "Camera Serial Number" msgstr "Серийный номер камеры" #: src/properties.cpp:399 #, fuzzy msgid "Camera Serial Number." msgstr "Серийный номер камеры" #: src/properties.cpp:400 #, fuzzy msgid "Date Acquired" msgstr "Дата создания объекта съёмки" #: src/properties.cpp:400 #, fuzzy msgid "Date Acquired." msgstr "Дата создания объекта съёмки" #: src/properties.cpp:401 #, fuzzy msgid "Flash Manufacturer" msgstr "Производитель" #: src/properties.cpp:401 #, fuzzy msgid "Flash Manufacturer." msgstr "Производитель" #: src/properties.cpp:402 #, fuzzy msgid "Flash Model." msgstr "Режим вспышки" #: src/properties.cpp:403 #, fuzzy msgid "Last Keyword IPTC" msgstr "Ключевые слова" #: src/properties.cpp:403 #, fuzzy msgid "Last Keyword IPTC." msgstr "Ключевые слова" #: src/properties.cpp:404 #, fuzzy msgid "Last Keyword XMP" msgstr "Ключевые слова" #: src/properties.cpp:404 #, fuzzy msgid "Last Keyword XMP." msgstr "Ключевые слова" #: src/properties.cpp:405 #, fuzzy msgid "Lens Manufacturer" msgstr "Производитель" #: src/properties.cpp:405 #, fuzzy msgid "Lens Manufacturer." msgstr "Производитель" #: src/properties.cpp:406 src/properties.cpp:1199 #, fuzzy msgid "Lens Model." msgstr "Тип сцены" #: src/properties.cpp:407 #, fuzzy msgid "Rating Percent" msgstr "Процентная оценка в Windows" #: src/properties.cpp:407 #, fuzzy msgid "Rating Percent." msgstr "Процентная оценка в Windows" #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "" #: src/properties.cpp:414 #, fuzzy msgid "Private RTK Info" msgstr "Режим захвата" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "" #: src/properties.cpp:420 msgid "Keywords." msgstr "Ключевые слова" #: src/properties.cpp:421 msgid "PDF Version" msgstr "Версия PDF" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "" #: src/properties.cpp:422 src/properties.cpp:1278 msgid "Producer" msgstr "" #: src/properties.cpp:422 msgid "The name of the tool that created the PDF document." msgstr "" #: src/properties.cpp:428 #, fuzzy msgid "Authors Position" msgstr "Позиционирование YCbCr" #: src/properties.cpp:428 msgid "By-line title." msgstr "" #: src/properties.cpp:429 #, fuzzy msgid "Caption Writer" msgstr "Подпись" #: src/properties.cpp:429 msgid "Writer/editor." msgstr "Автор/редактор." #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "" #: src/properties.cpp:431 msgid "City." msgstr "Город." #: src/properties.cpp:432 msgid "Country/primary location." msgstr "" #: src/properties.cpp:433 #, fuzzy msgid "Credit." msgstr "Город." #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" #: src/properties.cpp:438 #, fuzzy msgid "Headline." msgstr "Заголовок" #: src/properties.cpp:439 msgid "Special instructions." msgstr "Особые инструкции." #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source." msgstr "Источник." #: src/properties.cpp:441 msgid "Province/state." msgstr "" #: src/properties.cpp:442 #, fuzzy msgid "Supplemental category." msgstr "Дополнительная категория" #: src/properties.cpp:443 msgid "Original transmission reference." msgstr "" #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "" #: src/properties.cpp:452 msgid "inches" msgstr "дюймов" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "cm" #: src/properties.cpp:457 msgid "Auto Brightness" msgstr "Автоматическая яркость" #: src/properties.cpp:457 msgid "When true, \"Brightness\" is automatically adjusted." msgstr "" #: src/properties.cpp:458 msgid "Auto Contrast" msgstr "Автоматический контраст" #: src/properties.cpp:458 msgid "When true, \"Contrast\" is automatically adjusted." msgstr "" #: src/properties.cpp:459 msgid "Auto Exposure" msgstr "Автоматическая экспозиция" #: src/properties.cpp:459 msgid "When true, \"Exposure\" is automatically adjusted." msgstr "" #: src/properties.cpp:460 #, fuzzy msgid "Auto Shadows" msgstr "Тень" #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "" #: src/properties.cpp:461 #, fuzzy msgid "Blue Hue" msgstr "Баланс белого" #: src/properties.cpp:461 #, fuzzy msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "Настройка контраста" #: src/properties.cpp:462 #, fuzzy msgid "Blue Saturation" msgstr "Насыщенность" #: src/properties.cpp:462 #, fuzzy msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "Настройка контраста" #: src/properties.cpp:463 #, fuzzy msgid "\"Brightness\" setting. Range 0 to +150." msgstr "Настройка резкости" #: src/properties.cpp:464 msgid "Camera Profile" msgstr "Профиль камеры" #: src/properties.cpp:464 #, fuzzy msgid "\"Camera Profile\" setting." msgstr "Настройки камеры" #: src/properties.cpp:465 #, fuzzy msgid "Chromatic Aberration Blue" msgstr "Настройка контраста" #: src/properties.cpp:465 #, fuzzy msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "Настройка контраста" #: src/properties.cpp:466 #, fuzzy msgid "Chromatic Aberration Red" msgstr "Настройка контраста" #: src/properties.cpp:466 #, fuzzy msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "Настройка контраста" #: src/properties.cpp:467 src/properties.cpp:1080 msgid "Color Noise Reduction" msgstr "Подавление цветного шума" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "Настройка контраста" #: src/properties.cpp:468 #, fuzzy msgid "\"Contrast\" setting. Range -50 to +100." msgstr "Настройка контраста" #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "" #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "" #: src/properties.cpp:471 #, fuzzy msgid "Crop Bottom" msgstr "снизу вверх" #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "" #: src/properties.cpp:472 #, fuzzy msgid "Crop Right" msgstr "Авторские права" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "" #: src/properties.cpp:473 #, fuzzy msgid "Crop Angle" msgstr "справа налево" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "" #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:476 #, fuzzy msgid "Crop Units" msgstr "Авторские права" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "" #: src/properties.cpp:477 #, fuzzy msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "Настройка резкости" #: src/properties.cpp:478 #, fuzzy msgid "Green Hue" msgstr "Режим замера" #: src/properties.cpp:478 #, fuzzy msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "Настройка контраста" #: src/properties.cpp:479 #, fuzzy msgid "Green Saturation" msgstr "Насыщенность" #: src/properties.cpp:479 #, fuzzy msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "Настройка контраста" #: src/properties.cpp:480 #, fuzzy msgid "Has Crop" msgstr "Режим вспышки" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "" #: src/properties.cpp:481 #, fuzzy msgid "Has Settings" msgstr "Настройка резкости" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "" #: src/properties.cpp:482 msgid "Luminance Smoothing" msgstr "" #: src/properties.cpp:482 #, fuzzy msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "Настройка контраста" #: src/properties.cpp:483 #, fuzzy msgid "Raw File Name" msgstr "Имя файла" #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "" #: src/properties.cpp:484 #, fuzzy msgid "Red Hue" msgstr "Баланс белого" #: src/properties.cpp:484 #, fuzzy msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "Настройка контраста" #: src/properties.cpp:485 #, fuzzy msgid "Red Saturation" msgstr "Насыщенность" #: src/properties.cpp:485 #, fuzzy msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "Настройка контраста" #: src/properties.cpp:486 #, fuzzy msgid "\"Saturation\" setting. Range -100 to +100." msgstr "Настройка контраста" #: src/properties.cpp:487 #, fuzzy msgid "Shadows" msgstr "Тень" #: src/properties.cpp:487 #, fuzzy msgid "\"Shadows\" setting. Range 0 to +100." msgstr "Настройка резкости" #: src/properties.cpp:488 #, fuzzy msgid "Shadow Tint" msgstr "Тень" #: src/properties.cpp:488 #, fuzzy msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "Настройка контраста" #: src/properties.cpp:489 src/properties.cpp:1301 #, fuzzy msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "Настройка резкости" #: src/properties.cpp:490 #, fuzzy msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "Настройка контраста" #: src/properties.cpp:491 #, fuzzy msgid "Tint" msgstr "Файл" #: src/properties.cpp:491 #, fuzzy msgid "\"Tint\" setting. Range -150 to +150." msgstr "Настройка контраста" #: src/properties.cpp:492 msgid "Tone Curve" msgstr "Кривая тонкоррекции" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "" #: src/properties.cpp:493 #, fuzzy msgid "Tone Curve Name" msgstr "Кривая тонкоррекции" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "" #: src/properties.cpp:496 #, fuzzy msgid "Vignette Amount" msgstr "Пульт Д/У?" #: src/properties.cpp:496 #, fuzzy msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "Настройка контраста" #: src/properties.cpp:497 #, fuzzy msgid "Vignette Midpoint" msgstr "Белая точка" #: src/properties.cpp:497 #, fuzzy msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "Настройка контраста" #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "" #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 msgid "Image Length" msgstr "Длина изображения" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "" #: src/properties.cpp:507 #, fuzzy msgid "Bits Per Sample" msgstr "Битов на сэмпл" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "" #: src/properties.cpp:508 src/tags.cpp:434 msgid "Compression" msgstr "Сжатие" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "" #: src/properties.cpp:509 src/tags.cpp:440 msgid "Photometric Interpretation" msgstr "Фотометрическая интерпретация" #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "" #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" #: src/properties.cpp:519 #, fuzzy msgid "Samples Per Pixel" msgstr "Сэмплов на пиксел" #: src/properties.cpp:519 msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "" #: src/properties.cpp:520 src/tags.cpp:514 msgid "Planar Configuration" msgstr "Планарная конфигурация" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "" #: src/properties.cpp:521 #, fuzzy msgid "YCbCr Sub Sampling" msgstr "Субсэмплинг YCbCr" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" #: src/properties.cpp:523 src/tags.cpp:720 msgid "YCbCr Positioning" msgstr "Позиционирование YCbCr" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" #: src/properties.cpp:525 src/properties.cpp:1390 #, fuzzy msgid "X Resolution" msgstr "Разрешение по X" #: src/properties.cpp:525 msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "" #: src/properties.cpp:526 src/properties.cpp:1392 #, fuzzy msgid "Y Resolution" msgstr "Разрешение по Y" #: src/properties.cpp:526 msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "" #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 msgid "Resolution Unit" msgstr "Единица разрешения" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" #: src/properties.cpp:529 src/tags.cpp:540 msgid "Transfer Function" msgstr "Функция передачи" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" #: src/properties.cpp:531 src/tags.cpp:572 msgid "White Point" msgstr "Белая точка" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "" #: src/properties.cpp:532 src/tags.cpp:577 msgid "Primary Chromaticities" msgstr "" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "" #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "" #: src/properties.cpp:534 #, fuzzy msgid "Reference Black White" msgstr "Эталонный Чёрный/Белый" #: src/properties.cpp:534 msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "" #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 msgid "Date and Time" msgstr "Дата и время" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" #: src/properties.cpp:541 src/tags.cpp:462 msgid "Image Description" msgstr "Описание снимка" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" #: src/properties.cpp:542 #, fuzzy msgid "Make" msgstr "Ручная" #: src/properties.cpp:542 msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "" #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "" #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" #: src/properties.cpp:546 msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" #: src/properties.cpp:548 msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" #: src/properties.cpp:555 src/tags.cpp:1605 msgid "Exif Version" msgstr "Версия Exif" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "" #: src/properties.cpp:556 #, fuzzy msgid "Flashpix Version" msgstr "Версия FlashPix" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "" #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "" #: src/properties.cpp:558 src/tags.cpp:1616 #, fuzzy msgid "Components Configuration" msgstr "Планарная конфигурация" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" #: src/properties.cpp:560 src/tags.cpp:825 #, fuzzy msgid "Compressed Bits Per Pixel" msgstr "Сжатых битов на пиксел" #: src/properties.cpp:560 #, fuzzy msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" "Специфичная для сжатых данных информация. Использованный режим сжатия для " "сжатого изображения показывается в единице измерения \"битов на пиксел\"" #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "" #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "" #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "" #: src/properties.cpp:564 src/tags.cpp:1674 msgid "User Comment" msgstr "Пользовательский комментарий" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "" #: src/properties.cpp:565 src/tags.cpp:1716 msgid "Related Sound File" msgstr "Связанный звуковой файл" #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" #: src/properties.cpp:566 src/properties.cpp:1110 #, fuzzy msgid "Date and Time Original" msgstr "Исходная дата и время" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" #: src/properties.cpp:569 src/properties.cpp:1111 #, fuzzy msgid "Date and Time Digitized" msgstr "Дата и время оцифровки" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" #: src/properties.cpp:573 #, fuzzy msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "Время экспозиции в секундах" #: src/properties.cpp:574 src/properties.cpp:1157 #, fuzzy msgid "F Number" msgstr "Число F" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "" #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "" #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 msgid "Spectral Sensitivity" msgstr "Спектральная чувствительность" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "" #: src/properties.cpp:577 #, fuzzy msgid "ISOSpeedRatings" msgstr "Настройка резкости" #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" #: src/properties.cpp:581 #, fuzzy msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:582 src/tags.cpp:828 #, fuzzy msgid "Brightness Value" msgstr "Яркость" #: src/properties.cpp:582 #, fuzzy msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "" #: src/properties.cpp:584 src/properties.cpp:1211 #, fuzzy msgid "Maximum Aperture Value" msgstr "Максимально открытая диафрагма" #: src/properties.cpp:584 #, fuzzy msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:585 #, fuzzy msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:586 #, fuzzy msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:587 #, fuzzy msgid "EXIF tag 37384, 0x9208. Light source." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "" #: src/properties.cpp:589 #, fuzzy msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:590 src/tags.cpp:1666 msgid "Subject Area" msgstr "Область объекта съёмки" #: src/properties.cpp:590 #, fuzzy msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" "Это поле хранит информацию о местоположении и области объекта съёмки во всей " "сцене." #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 #, fuzzy msgid "Flash Energy" msgstr "Внешняя вспышка" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "" #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "" #: src/properties.cpp:592 msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" #: src/properties.cpp:594 src/tags.cpp:839 #, fuzzy msgid "Focal Plane X Resolution" msgstr "Разрешение по X" #: src/properties.cpp:594 msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "" #: src/properties.cpp:595 src/tags.cpp:840 #, fuzzy msgid "Focal Plane Y Resolution" msgstr "Разрешение по X" #: src/properties.cpp:595 msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "" #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 #, fuzzy msgid "Focal Plane Resolution Unit" msgstr "Разрешение по X" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 msgid "Subject Location" msgstr "Местоположение объекта съёмки" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" #: src/properties.cpp:600 src/tags.cpp:846 #, fuzzy msgid "Exposure Index" msgstr "Режим экспозиции" #: src/properties.cpp:600 msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "" #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 #, fuzzy msgid "Sensing Method" msgstr "Файл переименовывается в" #: src/properties.cpp:601 msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "" #: src/properties.cpp:602 #, fuzzy msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:603 src/tags.cpp:1771 msgid "Scene Type" msgstr "Тип сцены" #: src/properties.cpp:603 #, fuzzy msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:604 src/tags.cpp:761 msgid "CFA Pattern" msgstr "Паттерн CFA" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" #: src/properties.cpp:605 src/tags.cpp:1781 #, fuzzy msgid "Custom Rendered" msgstr "Другой процесс проявки" #: src/properties.cpp:605 #, fuzzy msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "Этот тэг отображает режим баланса белого при съёмке изображения." #: src/properties.cpp:606 #, fuzzy msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "Этот тэг отображает режим баланса белого при съёмке изображения." #: src/properties.cpp:607 #, fuzzy msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "Этот тэг отображает режим баланса белого при съёмке изображения." #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 msgid "Digital Zoom Ratio" msgstr "Коэффициент цифрового трансфокатора" #: src/properties.cpp:608 #, fuzzy msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "Этот тэг отображает режим баланса белого при съёмке изображения." #: src/properties.cpp:609 src/tags.cpp:1800 msgid "Focal Length In 35mm Film" msgstr "Фокусное расстояние в 35мм аналоге" #: src/properties.cpp:609 #, fuzzy msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" "Этот тэг отображает фокусное расстояние в 35мм плёночном эквиваленте, " "измеряемом миллиметрами. Если значение равно 0, то фокусное расстояние " "неизвестно. Обратите внимание на то, что этот тэг отличется от ." #: src/properties.cpp:612 src/tags.cpp:1806 #, fuzzy msgid "Scene Capture Type" msgstr "Тип сцены" #: src/properties.cpp:612 #, fuzzy msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "Этот тэг отображает режим баланса белого при съёмке изображения." #: src/properties.cpp:613 src/tags.cpp:1811 #, fuzzy msgid "Gain Control" msgstr "Пульт Д/У?" #: src/properties.cpp:613 #, fuzzy msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "Этот тэг отображает режим баланса белого при съёмке изображения." #: src/properties.cpp:614 #, fuzzy msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" "Этот тэг отображает направление обработки контраста при съёмке изображения" #: src/properties.cpp:615 #, fuzzy msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" "Этот тэг отображает направление обработки насыщенности при съёмке изображения" #: src/properties.cpp:616 #, fuzzy msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" "Этот тэг отображает направление обработки резкости при съёмке изображения" #: src/properties.cpp:617 src/tags.cpp:1826 #, fuzzy msgid "Device Setting Description" msgstr "Настройки камеры" #: src/properties.cpp:617 #, fuzzy msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" "Этот тэг отображает направление обработки резкости при съёмке изображения" #: src/properties.cpp:618 src/tags.cpp:1831 #, fuzzy msgid "Subject Distance Range" msgstr "Расстояние до объекта" #: src/properties.cpp:618 #, fuzzy msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:619 src/tags.cpp:1834 msgid "Image Unique ID" msgstr "Уникальный ID изображения" #: src/properties.cpp:619 msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 msgid "GPS Version ID" msgstr "ID версии GPS" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "Широта по GPS" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "" #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "Долгота по GPS" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "" #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 #, fuzzy msgid "GPS Altitude Reference" msgstr "Высота по GPS" #: src/properties.cpp:625 src/properties.cpp:1168 #, fuzzy msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "Высота по GPS" #: src/properties.cpp:626 src/properties.cpp:1167 #, fuzzy msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 msgid "GPS Time Stamp" msgstr "Отметка времени по GPS" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 #, fuzzy msgid "GPS Satellites" msgstr "Широта по GPS" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:634 src/tags.cpp:1989 msgid "GPS Status" msgstr "Статус приёмника GPS" #: src/properties.cpp:634 #, fuzzy msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "Скорость перемещения приёмника GPS" #: src/properties.cpp:635 src/tags.cpp:1994 msgid "GPS Measure Mode" msgstr "Режим захвата данных GPS" #: src/properties.cpp:635 #, fuzzy msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "Скорость перемещения приёмника GPS" #: src/properties.cpp:636 msgid "GPS DOP" msgstr "" #: src/properties.cpp:636 #, fuzzy msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "Версия тэга GPS" #: src/properties.cpp:637 src/tags.cpp:2002 #, fuzzy msgid "GPS Speed Reference" msgstr "Эталонный Чёрный/Белый" #: src/properties.cpp:637 #, fuzzy msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "Скорость перемещения приёмника GPS" #: src/properties.cpp:638 src/tags.cpp:2006 msgid "GPS Speed" msgstr "Скорость по GPS" #: src/properties.cpp:638 #, fuzzy msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "Скорость перемещения приёмника GPS" #: src/properties.cpp:639 #, fuzzy msgid "GPS Track Reference" msgstr "Эталонный Чёрный/Белый" #: src/properties.cpp:639 #, fuzzy msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:640 src/tags.cpp:2013 #, fuzzy msgid "GPS Track" msgstr "Эталонный Чёрный/Белый" #: src/properties.cpp:640 msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 #, fuzzy msgid "GPS Image Direction Reference" msgstr "Направление снимка GPS" #: src/properties.cpp:641 #, fuzzy msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 msgid "GPS Image Direction" msgstr "Направление снимка GPS" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 #, fuzzy msgid "GPS Map Datum" msgstr "Статус приёмника GPS" #: src/properties.cpp:643 #, fuzzy msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "Версия тэга GPS" #: src/properties.cpp:644 src/tags.cpp:2033 #, fuzzy msgid "GPS Destination Latitude" msgstr "Расстояние до объекта" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" #: src/properties.cpp:645 src/tags.cpp:2045 #, fuzzy msgid "GPS Destination Longitude" msgstr "Расстояние до объекта" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" #: src/properties.cpp:646 src/tags.cpp:2052 #, fuzzy msgid "GPS Destination Bearing Reference" msgstr "Расстояние до объекта" #: src/properties.cpp:646 #, fuzzy msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:647 src/tags.cpp:2056 #, fuzzy msgid "GPS Destination Bearing" msgstr "Расстояние до объекта" #: src/properties.cpp:647 msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "" #: src/properties.cpp:648 src/tags.cpp:2060 #, fuzzy msgid "GPS Destination Distance Reference" msgstr "Расстояние до объекта" #: src/properties.cpp:648 #, fuzzy msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:649 src/tags.cpp:2064 #, fuzzy msgid "GPS Destination Distance" msgstr "Расстояние до объекта" #: src/properties.cpp:649 #, fuzzy msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:650 src/tags.cpp:2067 #, fuzzy msgid "GPS Processing Method" msgstr "Резкость изображения" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" #: src/properties.cpp:651 src/tags.cpp:2072 #, fuzzy msgid "GPS Area Information" msgstr "Информация GPS" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "" #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "" #: src/properties.cpp:652 #, fuzzy msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "" "Этот тэг отображает направление обработки насыщенности при съёмке изображения" #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "" "Описание объектива, применявшегося для съемки. Например, \"70-200 mm " "f/2.8-4.0\"." #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "" "Серийный номер камеры или задника камеры, использовавшегося для съемки." #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" #: src/properties.cpp:667 #, fuzzy msgid "Contact Info-Address" msgstr "Штат/провинция" #: src/properties.cpp:667 msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" #: src/properties.cpp:669 #, fuzzy msgid "Contact Info-City" msgstr "Штат/провинция" #: src/properties.cpp:669 msgid "sub-key Creator Contact Info: city." msgstr "" #: src/properties.cpp:670 #, fuzzy msgid "Contact Info-State/Province" msgstr "Штат/провинция" #: src/properties.cpp:670 #, fuzzy msgid "sub-key Creator Contact Info: state or province." msgstr "Штат/провинция" #: src/properties.cpp:671 #, fuzzy msgid "Contact Info-Postal Code" msgstr "Штат/провинция" #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "" #: src/properties.cpp:672 #, fuzzy msgid "Contact Info-Country" msgstr "Штат/провинция" #: src/properties.cpp:672 #, fuzzy msgid "sub-key Creator Contact Info: country." msgstr "Штат/провинция" #: src/properties.cpp:673 #, fuzzy msgid "Contact Info-Email" msgstr "Штат/провинция" #: src/properties.cpp:673 #, fuzzy msgid "sub-key Creator Contact Info: email address." msgstr "Способ фокусировки" #: src/properties.cpp:674 #, fuzzy msgid "Contact Info-Phone" msgstr "Штат/провинция" #: src/properties.cpp:674 #, fuzzy msgid "sub-key Creator Contact Info: phone number." msgstr "Способ фокусировки" #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "" #: src/properties.cpp:675 #, fuzzy msgid "sub-key Creator Contact Info: web address." msgstr "Способ фокусировки" #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" #: src/properties.cpp:678 #, fuzzy msgid "IPTC Scene" msgstr "Тип сцены" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" #: src/properties.cpp:680 #, fuzzy msgid "IPTC Subject Code" msgstr "Область объекта съёмки" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" #: src/properties.cpp:682 msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" #: src/properties.cpp:687 msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" #: src/properties.cpp:696 #, fuzzy msgid "Additional model info" msgstr "Способ фокусировки" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "" #: src/properties.cpp:697 msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "" #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" #: src/properties.cpp:699 #, fuzzy msgid "Model age" msgstr "Модель" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "" #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "" #: src/properties.cpp:701 #, fuzzy msgid "Person shown" msgstr "Версии" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "" #: src/properties.cpp:702 #, fuzzy msgid "Digital Image Identifier" msgstr "Стабилизация снимка" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "" #: src/properties.cpp:703 #, fuzzy msgid "The type of the source digital file." msgstr "Вид источника света" #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 #, fuzzy msgid "Event" msgstr "Вечер" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "" #: src/properties.cpp:705 #, fuzzy msgid "Maximum available height" msgstr "Заполняющий свет" #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:706 #, fuzzy msgid "Maximum available width" msgstr "Максимальное фокусное расстояние" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:707 msgid "Registry Entry" msgstr "" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" #: src/properties.cpp:708 #, fuzzy msgid "Registry Entry-Item Identifier" msgstr "Стабилизация снимка" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "" #: src/properties.cpp:710 #, fuzzy msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:711 #, fuzzy msgid "Location shown" msgstr "Местоположение объекта съёмки" #: src/properties.cpp:711 msgid "A location shown in the image." msgstr "" #: src/properties.cpp:712 #, fuzzy msgid "Location Created" msgstr "Имя местоположения" #: src/properties.cpp:712 #, fuzzy msgid "The location the photo was taken." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:713 #, fuzzy msgid "Location-City" msgstr "Местоположение объекта съёмки" #: src/properties.cpp:713 msgid "Name of the city of a location." msgstr "" #: src/properties.cpp:714 #, fuzzy msgid "Location-Country ISO-Code" msgstr "Код страны" #: src/properties.cpp:714 msgid "The ISO code of a country of a location." msgstr "" #: src/properties.cpp:715 #, fuzzy msgid "Location-Country Name" msgstr "Имя местоположения" #: src/properties.cpp:715 msgid "The name of a country of a location." msgstr "" #: src/properties.cpp:716 #, fuzzy msgid "Location-Province/State" msgstr "Имя местоположения" #: src/properties.cpp:716 msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "" #: src/properties.cpp:717 #, fuzzy msgid "Location-Sublocation" msgstr "Местоположение объекта съёмки" #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" #: src/properties.cpp:718 #, fuzzy msgid "Location-World Region" msgstr "Местоположение объекта съёмки" #: src/properties.cpp:718 msgid "The name of a world region of a location." msgstr "" #: src/properties.cpp:719 #, fuzzy msgid "Artwork or object in the image" msgstr "Уведомление об авторских правах" #: src/properties.cpp:719 msgid "A set of metadata about artwork or an object in the image." msgstr "" #: src/properties.cpp:720 #, fuzzy msgid "Artwork or object-Copyright notice" msgstr "Уведомление об авторских правах" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" #: src/properties.cpp:721 #, fuzzy msgid "Artwork or object-Creator" msgstr "Уведомление об авторских правах" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" #: src/properties.cpp:722 #, fuzzy msgid "Artwork or object-Date Created" msgstr "Уведомление об авторских правах" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" #: src/properties.cpp:723 #, fuzzy msgid "Artwork or object-Source" msgstr "Уведомление об авторских правах" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" #: src/properties.cpp:724 #, fuzzy msgid "Artwork or object-Source inventory number" msgstr "Уведомление об авторских правах" #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" #: src/properties.cpp:725 #, fuzzy msgid "Artwork or object-Title" msgstr "Уведомление об авторских правах" #: src/properties.cpp:725 msgid "A reference for the artwork or object in the image." msgstr "" #: src/properties.cpp:732 msgid "Scan from film" msgstr "" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "" #: src/properties.cpp:734 msgid "Scan from print" msgstr "" #: src/properties.cpp:735 #, fuzzy msgid "Camera RAW" msgstr "ID камеры" #: src/properties.cpp:736 #, fuzzy msgid "Camera TIFF" msgstr "ID камеры" #: src/properties.cpp:737 #, fuzzy msgid "Camera JPEG" msgstr "ID камеры" #: src/properties.cpp:742 #, fuzzy msgid "PLUS Version" msgstr "Версия PDF" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "" #: src/properties.cpp:743 #, fuzzy msgid "Licensee" msgstr "Объектив" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "" #: src/properties.cpp:744 #, fuzzy msgid "Licensee ID" msgstr "ID объектива" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "" #: src/properties.cpp:745 #, fuzzy msgid "Licensee Name" msgstr "Имя местоположения" #: src/properties.cpp:745 #, fuzzy msgid "Name of each Licensee." msgstr "Вид источника света" #: src/properties.cpp:746 #, fuzzy msgid "End User" msgstr "внешняя" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "" #: src/properties.cpp:747 #, fuzzy msgid "End User ID" msgstr "внешняя" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "" #: src/properties.cpp:748 #, fuzzy msgid "End User Name" msgstr "Имя владельца" #: src/properties.cpp:748 #, fuzzy msgid "Name of each End User." msgstr "Вид источника света" #: src/properties.cpp:749 #, fuzzy msgid "Licensor" msgstr "Объектив" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "" #: src/properties.cpp:750 #, fuzzy msgid "Licensor ID" msgstr "ID объектива" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "" #: src/properties.cpp:751 #, fuzzy msgid "Licensor Name" msgstr "Имя местоположения" #: src/properties.cpp:751 #, fuzzy msgid "Name of each Licensor." msgstr "Вид источника света" #: src/properties.cpp:752 #, fuzzy msgid "Licensor Address" msgstr "Температура объектива" #: src/properties.cpp:752 #, fuzzy msgid "Licensor street address." msgstr "Название страны" #: src/properties.cpp:753 msgid "Licensor Address Detail" msgstr "" #: src/properties.cpp:753 msgid "Additional Licensor mailing address details." msgstr "" #: src/properties.cpp:754 #, fuzzy msgid "Licensor City" msgstr "Мехико" #: src/properties.cpp:754 #, fuzzy msgid "Licensor City name." msgstr "Название страны" #: src/properties.cpp:755 #, fuzzy msgid "Licensor State or Province" msgstr "Штат/провинция" #: src/properties.cpp:755 #, fuzzy msgid "Licensor State or Province name." msgstr "Штат/провинция" #: src/properties.cpp:756 #, fuzzy msgid "Licensor Postal Code" msgstr "Температура объектива" #: src/properties.cpp:756 #, fuzzy msgid "Licensor Postal Code or Zip Code." msgstr "Штат/провинция" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country" msgstr "Страна" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country name." msgstr "Название страны" #: src/properties.cpp:758 #, fuzzy msgid "Licensor Telephone Type 1" msgstr "Серийный номер камеры" #: src/properties.cpp:758 #, fuzzy msgid "Licensor Telephone Type 1." msgstr "Серийный номер камеры" #: src/properties.cpp:759 #, fuzzy msgid "Licensor Telephone 1" msgstr "Серийный номер камеры" #: src/properties.cpp:759 #, fuzzy msgid "Licensor Telephone number 1." msgstr "Серийный номер камеры" #: src/properties.cpp:760 #, fuzzy msgid "Licensor Telephone Type 2" msgstr "Серийный номер камеры" #: src/properties.cpp:760 #, fuzzy msgid "Licensor Telephone Type 2." msgstr "Серийный номер камеры" #: src/properties.cpp:761 #, fuzzy msgid "Licensor Telephone 2" msgstr "Серийный номер камеры" #: src/properties.cpp:761 #, fuzzy msgid "Licensor Telephone number 2." msgstr "Серийный номер камеры" #: src/properties.cpp:762 #, fuzzy msgid "Licensor Email" msgstr "Имя местоположения" #: src/properties.cpp:762 #, fuzzy msgid "Licensor Email address." msgstr "Имя местоположения" #: src/properties.cpp:763 #, fuzzy msgid "Licensor URL" msgstr "Объектив" #: src/properties.cpp:763 msgid "Licensor world wide web address." msgstr "" #: src/properties.cpp:764 #, fuzzy msgid "Licensor Notes" msgstr "Температура объектива" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" #: src/properties.cpp:765 #, fuzzy msgid "PLUS Media Summary Code" msgstr "Режим захвата данных GPS" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" #: src/properties.cpp:766 #, fuzzy msgid "License Start Date" msgstr "Данные объектива" #: src/properties.cpp:766 #, fuzzy msgid "The date on which the license takes effect." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:767 #, fuzzy msgid "License End Date" msgstr "Данные объектива" #: src/properties.cpp:767 #, fuzzy msgid "The date on which the license expires." msgstr "Вид источника света" #: src/properties.cpp:768 #, fuzzy msgid "Media Constraints" msgstr "Контраст" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" #: src/properties.cpp:769 #, fuzzy msgid "Region Constraints" msgstr "Контраст" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" #: src/properties.cpp:770 #, fuzzy msgid "Product or Service Constraints" msgstr "Автоматический контраст" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" #: src/properties.cpp:771 #, fuzzy msgid "Image File Constraints" msgstr "Описание снимка" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "" #: src/properties.cpp:772 #, fuzzy msgid "Image Alteration Constraints" msgstr "Описание снимка" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" #: src/properties.cpp:773 #, fuzzy msgid "Image Duplication Constraints" msgstr "Описание снимка" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "" #: src/properties.cpp:774 #, fuzzy msgid "Model Release Status" msgstr "Дата пубикации" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" #: src/properties.cpp:775 #, fuzzy msgid "Model Release ID" msgstr "ID модели" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "" #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "" #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "" #: src/properties.cpp:777 #, fuzzy msgid "Property Release Status" msgstr "Дата пубикации" #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" #: src/properties.cpp:778 #, fuzzy msgid "Property Release ID" msgstr "ID модели" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "" #: src/properties.cpp:779 #, fuzzy msgid "Other Constraints" msgstr "Автоматический контраст" #: src/properties.cpp:779 msgid "Additional constraints on the license." msgstr "" #: src/properties.cpp:780 #, fuzzy msgid "Credit Line Required" msgstr "Не определено" #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "" #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "" #: src/properties.cpp:782 #, fuzzy msgid "Other License Requirements" msgstr "Объектив" #: src/properties.cpp:782 #, fuzzy msgid "Additional license requirements." msgstr "Способ фокусировки" #: src/properties.cpp:783 #, fuzzy msgid "Terms and Conditions Text" msgstr "Условия съёмки кадра" #: src/properties.cpp:783 msgid "Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:784 #, fuzzy msgid "Terms and Conditions URL" msgstr "Условия съёмки кадра" #: src/properties.cpp:784 msgid "URL for Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:785 #, fuzzy msgid "Other License Conditions" msgstr "Условия съёмки кадра" #: src/properties.cpp:785 #, fuzzy msgid "Additional license conditions." msgstr "Способ фокусировки" #: src/properties.cpp:786 msgid "Identifies the type of image delivered." msgstr "" #: src/properties.cpp:787 #, fuzzy msgid "Licensor Image ID" msgstr "ID объектива" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "" #: src/properties.cpp:788 msgid "Image File Name As Delivered" msgstr "" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "" #: src/properties.cpp:789 #, fuzzy msgid "Image File Format As Delivered" msgstr "Описание снимка" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "" #: src/properties.cpp:790 msgid "Image File Size As Delivered" msgstr "" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "" #: src/properties.cpp:791 #, fuzzy msgid "Copyright Status" msgstr "Авторские права" #: src/properties.cpp:791 #, fuzzy msgid "Copyright status of the image." msgstr "Уведомление об авторских правах" #: src/properties.cpp:792 #, fuzzy msgid "Copyright Registration Number" msgstr "Имя владельца" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" #: src/properties.cpp:793 #, fuzzy msgid "First Publication Date" msgstr "Дата оцифровки" #: src/properties.cpp:793 #, fuzzy msgid "The date on which the image was first published." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:794 #, fuzzy msgid "Copyright Owner" msgstr "Авторские права" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "" #: src/properties.cpp:795 #, fuzzy msgid "Copyright Owner ID" msgstr "Авторские права" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "" #: src/properties.cpp:796 #, fuzzy msgid "Copyright Owner Name" msgstr "Имя владельца" #: src/properties.cpp:796 #, fuzzy msgid "Name of Copyright Owner." msgstr "Авторские права" #: src/properties.cpp:797 #, fuzzy msgid "Copyright Owner Image ID" msgstr "Авторские права" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "" #: src/properties.cpp:798 #, fuzzy msgid "Image Creator" msgstr "Ориентация изображения" #: src/properties.cpp:798 #, fuzzy msgid "Creator/s of the image." msgstr "Уведомление об авторских правах" #: src/properties.cpp:799 #, fuzzy msgid "Image Creator ID" msgstr "Ориентация изображения" #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "" #: src/properties.cpp:800 #, fuzzy msgid "Image Creator Name" msgstr "Тип изображения" #: src/properties.cpp:800 #, fuzzy msgid "Name of Image Creator." msgstr "Номер изображения" #: src/properties.cpp:801 #, fuzzy msgid "Image Creator Image ID" msgstr "Ориентация изображения" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "" #: src/properties.cpp:802 #, fuzzy msgid "Image Supplier ID" msgstr "Уникальный ID изображения" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "" #: src/properties.cpp:803 #, fuzzy msgid "Image Supplier Name" msgstr "Размер изображения" #: src/properties.cpp:803 #, fuzzy msgid "Name of Image Supplier." msgstr "Номер изображения" #: src/properties.cpp:804 #, fuzzy msgid "Image Supplier Image ID" msgstr "Уникальный ID изображения" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "" #: src/properties.cpp:805 #, fuzzy msgid "Licensee Image ID" msgstr "ID объектива" #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "" #: src/properties.cpp:806 #, fuzzy msgid "Licensee Image Notes" msgstr "Температура объектива" #: src/properties.cpp:806 #, fuzzy msgid "Notes added by Licensee." msgstr "Вид источника света" #: src/properties.cpp:807 #, fuzzy msgid "Other Image Info" msgstr "Объектив" #: src/properties.cpp:807 #, fuzzy msgid "Additional image information." msgstr "Способ фокусировки" #: src/properties.cpp:808 #, fuzzy msgid "License ID" msgstr "ID объектива" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "" #: src/properties.cpp:809 #, fuzzy msgid "Licensor Transaction ID" msgstr "Истечение срока" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "" #: src/properties.cpp:810 #, fuzzy msgid "Licensee Transaction ID" msgstr "Истечение срока" #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" #: src/properties.cpp:811 #, fuzzy msgid "Licensee Project Reference" msgstr "Эталонный Чёрный/Белый" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "" #: src/properties.cpp:812 #, fuzzy msgid "License Transaction Date" msgstr "Истечение срока" #: src/properties.cpp:812 #, fuzzy msgid "The date of the License Transaction." msgstr "Вид источника света" #: src/properties.cpp:813 msgid "Reuse" msgstr "" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" #: src/properties.cpp:814 #, fuzzy msgid "Other License Documents" msgstr "Условия съёмки кадра" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "" #: src/properties.cpp:815 #, fuzzy msgid "Other License Info" msgstr "Объектив" #: src/properties.cpp:815 #, fuzzy msgid "Additional license information." msgstr "Способ фокусировки" #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "" #: src/properties.cpp:819 #, fuzzy msgid "Custom 4" msgstr "Свой 1" #: src/properties.cpp:820 #, fuzzy msgid "Custom 5" msgstr "Свой 1" #: src/properties.cpp:821 #, fuzzy msgid "Custom 6" msgstr "Свой 1" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "" #: src/properties.cpp:822 #, fuzzy msgid "Custom 7" msgstr "Свой 1" #: src/properties.cpp:823 #, fuzzy msgid "Custom 8" msgstr "Свой 1" #: src/properties.cpp:824 #, fuzzy msgid "Custom 9" msgstr "Свой 1" #: src/properties.cpp:825 #, fuzzy msgid "Custom 10" msgstr "Свой 1" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "" #: src/properties.cpp:833 #, fuzzy msgid "Not Required" msgstr "Не определено" #: src/properties.cpp:839 msgid "Protected" msgstr "" #: src/properties.cpp:840 #, fuzzy msgid "Public Domain" msgstr "вкл" #: src/properties.cpp:846 #, fuzzy msgid "Credit Adjacent To Image" msgstr "Версия эскиза" #: src/properties.cpp:847 msgid "Credit in Credits Area" msgstr "" #: src/properties.cpp:848 #, fuzzy msgid "Credit on Image" msgstr "Версия эскиза" #: src/properties.cpp:849 #, fuzzy msgid "Not Require" msgstr "Не определено" #: src/properties.cpp:854 #, fuzzy msgid "No Colorization" msgstr "Насыщенность" #: src/properties.cpp:855 msgid "No Cropping" msgstr "" #: src/properties.cpp:856 #, fuzzy msgid "No De-Colorization" msgstr "Насыщенность" #: src/properties.cpp:857 msgid "No Flipping" msgstr "" #: src/properties.cpp:858 #, fuzzy msgid "No Merging" msgstr "Подавление шума" #: src/properties.cpp:859 #, fuzzy msgid "No Retouching" msgstr "Подавление шума" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "" #: src/properties.cpp:865 #, fuzzy msgid "No Duplication Constraints" msgstr "Описание снимка" #: src/properties.cpp:866 #, fuzzy msgid "No Duplication" msgstr "Длительность звукозаписи" #: src/properties.cpp:871 #, fuzzy msgid "Maintain File Name" msgstr "Имя файла" #: src/properties.cpp:872 #, fuzzy msgid "Maintain File Type" msgstr "Имя файла" #: src/properties.cpp:873 #, fuzzy msgid "Maintain ID in File Name" msgstr "Имя файла" #: src/properties.cpp:874 #, fuzzy msgid "Maintain Metadata" msgstr "Имя файла" #: src/properties.cpp:879 #, fuzzy msgid "Windows Bitmap (BMP)" msgstr "Название (Windows)" #: src/properties.cpp:880 msgid "Digital Negative (DNG)" msgstr "" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "" #: src/properties.cpp:882 #, fuzzy msgid "Graphics Interchange Format (GIF)" msgstr "Формат обмена данными JPEG" #: src/properties.cpp:883 #, fuzzy msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "Формат обмена данными JPEG" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "" #: src/properties.cpp:889 msgid "Tagged Image File Format (TIFF)" msgstr "" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "" #: src/properties.cpp:896 #, fuzzy msgid "Up to 1 MB" msgstr "Optio A10" #: src/properties.cpp:897 #, fuzzy msgid "Up to 10 MB" msgstr "Optio A10" #: src/properties.cpp:898 #, fuzzy msgid "Up to 30 MB" msgstr "Optio 30" #: src/properties.cpp:899 #, fuzzy msgid "Up to 50 MB" msgstr "Optio S50" #: src/properties.cpp:904 #, fuzzy msgid "Illustrated Image" msgstr "Ширина изображения" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "" #: src/properties.cpp:913 msgid "Cell" msgstr "" #: src/properties.cpp:914 msgid "FAX" msgstr "" #: src/properties.cpp:916 #, fuzzy msgid "Pager" msgstr "Язык" #: src/properties.cpp:917 msgid "Work" msgstr "" #: src/properties.cpp:922 #, fuzzy msgid "Age Unknown" msgstr "Неизвестно" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "" #: src/properties.cpp:924 msgid "Age 24" msgstr "" #: src/properties.cpp:925 msgid "Age 23" msgstr "" #: src/properties.cpp:926 msgid "Age 22" msgstr "" #: src/properties.cpp:927 msgid "Age 21" msgstr "" #: src/properties.cpp:928 msgid "Age 20" msgstr "" #: src/properties.cpp:929 msgid "Age 19" msgstr "" #: src/properties.cpp:930 msgid "Age 18" msgstr "" #: src/properties.cpp:931 msgid "Age 17" msgstr "" #: src/properties.cpp:932 msgid "Age 16" msgstr "" #: src/properties.cpp:933 msgid "Age 15" msgstr "" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "" #: src/properties.cpp:941 #, fuzzy msgid "Unlimited Model Releases" msgstr "ID модели" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "" #: src/properties.cpp:949 msgid "Unlimited Property Releases" msgstr "" #: src/properties.cpp:950 msgid "Limited or Incomplete Property Releases" msgstr "" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "" #: src/properties.cpp:960 src/properties.cpp:969 #, fuzzy msgid "Fixture Identification" msgstr "Версия модели" #: src/properties.cpp:961 src/properties.cpp:970 #, fuzzy msgid "Status" msgstr "Статус приёмника GPS" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "" #: src/properties.cpp:962 src/properties.cpp:971 msgid "People" msgstr "" #: src/properties.cpp:963 src/properties.cpp:972 #, fuzzy msgid "Catalog Sets" msgstr "Серийный номер" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "" #: src/properties.cpp:978 #, fuzzy msgid "RegionInfo" msgstr "Объектив" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "" #: src/properties.cpp:984 src/properties.cpp:1000 #, fuzzy msgid "Regions" msgstr "Версии" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "" #: src/properties.cpp:985 #, fuzzy msgid "Date Regions Valid" msgstr "Исходная дата и время" #: src/properties.cpp:985 #, fuzzy msgid "Date the last region was created" msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:991 #, fuzzy msgid "Person Display Name" msgstr "Имя владельца" #: src/properties.cpp:991 msgid "Name of the person (in the given rectangle)" msgstr "" #: src/properties.cpp:992 msgid "Rectangle" msgstr "" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "" #: src/properties.cpp:993 #, fuzzy msgid "Person Email Digest" msgstr "Имя файла" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "" #: src/properties.cpp:994 msgid "Person LiveId CID" msgstr "" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "" #: src/properties.cpp:1001 #, fuzzy msgid "Applied To Dimensions" msgstr "Версии" #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "" #: src/properties.cpp:1002 #, fuzzy msgid "Region List" msgstr "Версии" #: src/properties.cpp:1002 #, fuzzy msgid "List of Region structures" msgstr "Размер изображения" #: src/properties.cpp:1003 #, fuzzy msgid "Area" msgstr "Способ фокусировки" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" #: src/properties.cpp:1007 #, fuzzy msgid "Focus Usage" msgstr "Способ фокусировки" #: src/properties.cpp:1008 #, fuzzy msgid "Bar Code Value" msgstr "Брекетинг" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "" #: src/properties.cpp:1009 #, fuzzy msgid "Extensions" msgstr "Версии" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "" #: src/properties.cpp:1015 msgid "Main structure containing keyword based information" msgstr "" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "" #: src/properties.cpp:1016 #, fuzzy msgid "List of root keyword structures" msgstr "Размер изображения" #: src/properties.cpp:1017 #, fuzzy msgid "Keyword" msgstr "Ключевые слова" #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "" #: src/properties.cpp:1018 msgid "Applied" msgstr "" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" #: src/properties.cpp:1019 #, fuzzy msgid "List of children keyword structures" msgstr "Размер изображения" #: src/properties.cpp:1026 #, fuzzy msgid "Use Panorama Viewer" msgstr "Панорама" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" #: src/properties.cpp:1027 #, fuzzy msgid "Capture Software" msgstr "Режим захвата" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" #: src/properties.cpp:1028 #, fuzzy msgid "Stitching Software" msgstr "По обработки" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" #: src/properties.cpp:1029 #, fuzzy msgid "Projection Type" msgstr "Тип объекта" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "" #: src/properties.cpp:1034 #, fuzzy msgid "The pitch angle of the initial view in degrees." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" #: src/properties.cpp:1037 #, fuzzy msgid "First Photo Date" msgstr "Дата оцифровки" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "" #: src/properties.cpp:1038 #, fuzzy msgid "Last Photo Date" msgstr "Программное обеспечение" #: src/properties.cpp:1038 #, fuzzy msgid "Date and time for the last image created in the panorama." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "" #: src/properties.cpp:1040 #, fuzzy msgid "Exposure Lock Used" msgstr "Режим экспозиции" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" #: src/properties.cpp:1041 #, fuzzy msgid "Cropped Area Image Width Pixels" msgstr "Ширина изображения" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" #: src/properties.cpp:1042 #, fuzzy msgid "Cropped Area Image Height Pixels" msgstr "Длина изображения" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" #: src/properties.cpp:1047 #, fuzzy msgid "Initial Camera Dolly" msgstr "Модель камеры" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" #: src/properties.cpp:1055 #, fuzzy msgid "Archival Location" msgstr "Местоположение объекта съёмки" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "" #: src/properties.cpp:1056 #, fuzzy msgid "Arranger" msgstr "Динамический диапазон" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "" #: src/properties.cpp:1057 #, fuzzy msgid "Arranger Keywords" msgstr "Ключевые слова" #: src/properties.cpp:1057 msgid "Information about the Arranger Keywords." msgstr "" #: src/properties.cpp:1059 #, fuzzy msgid "Video Aspect Ratio" msgstr "Длительность звукозаписи" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "" #: src/properties.cpp:1060 #, fuzzy msgid "Video Aspect Ratio Type" msgstr "Длительность звукозаписи" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "" #: src/properties.cpp:1062 #, fuzzy msgid "Attached File Description" msgstr "Описание снимка" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "" #: src/properties.cpp:1064 #, fuzzy msgid "Attached File Name" msgstr "Имя файла" #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "" #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" #: src/properties.cpp:1068 #, fuzzy msgid "Brightness setting." msgstr "Настройка резкости" #: src/properties.cpp:1069 #, fuzzy msgid "Camera Byte Order" msgstr "Порядок заполнения" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "" #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "" #: src/properties.cpp:1070 #, fuzzy msgid "The video Cinematographer information." msgstr "Данные об авторских правах" #: src/properties.cpp:1071 #, fuzzy msgid "Clean Aperture Width" msgstr "Диафрагма" #: src/properties.cpp:1071 #, fuzzy msgid "Clean aperture width in pixels" msgstr "Максимально открытая диафрагма" #: src/properties.cpp:1072 #, fuzzy msgid "Clean Aperture Height" msgstr "Способ фокусировки" #: src/properties.cpp:1072 #, fuzzy msgid "Clean aperture height in pixels" msgstr "Максимально открытая диафрагма" #: src/properties.cpp:1073 #, fuzzy msgid "Video Codec" msgstr "Сжатие" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" #: src/properties.cpp:1074 msgid "Video Codec Decode Info" msgstr "" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1075 #, fuzzy msgid "Video Codec Description" msgstr "Настройки камеры" #: src/properties.cpp:1075 src/properties.cpp:1403 #, fuzzy msgid "Contains description the codec." msgstr "Текстовое описание объекта снимка" #: src/properties.cpp:1076 #, fuzzy msgid "Video Codec Information" msgstr "Планарная конфигурация" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL" msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL." msgstr "" #: src/properties.cpp:1078 #, fuzzy msgid "Video Codec Settings" msgstr "Режим макросъёмки" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1083 #, fuzzy msgid "Comment" msgstr "Комментарий (Windows)" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned" msgstr "Сжатие" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned." msgstr "Сжатие" #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1086 msgid "Information about the Composer." msgstr "" #: src/properties.cpp:1087 #, fuzzy msgid "Composer Keywords" msgstr "Ключевые слова (Windows)" #: src/properties.cpp:1087 msgid "Information about the Composer Keywords." msgstr "" #: src/properties.cpp:1088 #, fuzzy msgid "Compressor" msgstr "Сжатие" #: src/properties.cpp:1088 #, fuzzy msgid "Video Compression Library Used" msgstr "Сжатие" #: src/properties.cpp:1089 #, fuzzy msgid "Video Compressor ID" msgstr "Сжатие" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "" #: src/properties.cpp:1090 #, fuzzy msgid "Compressor Version" msgstr "Сжатие" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "" #: src/properties.cpp:1091 #, fuzzy msgid "Container Type" msgstr "ID камеры" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "" #: src/properties.cpp:1092 #, fuzzy msgid "Content Compression Algorithm" msgstr "Уровень сжатия" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "" #: src/properties.cpp:1097 #, fuzzy msgid "Indicates the direction of contrast processing applied by the camera." msgstr "" "Этот тэг отображает направление обработки контраста при съёмке изображения" #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "" #: src/properties.cpp:1100 #, fuzzy msgid "Name of the country where the video was created." msgstr "Название отсканированного документа" #: src/properties.cpp:1101 #, fuzzy msgid "Creation Date" msgstr "Дата создания" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" #: src/properties.cpp:1103 #, fuzzy msgid "Pixel Crop Bottom" msgstr "снизу вверх" #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "" #: src/properties.cpp:1104 #, fuzzy msgid "Pixel Crop Left" msgstr "справа налево" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "" #: src/properties.cpp:1105 #, fuzzy msgid "Pixel Crop Right" msgstr "Авторские права" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "" #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "" #: src/properties.cpp:1107 #, fuzzy msgid "Pixel Crop Top" msgstr "Монохромный" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "" #: src/properties.cpp:1108 #, fuzzy msgid "Current Time" msgstr "Профиль камеры" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "" #: src/properties.cpp:1109 #, fuzzy msgid "Data Packets" msgstr "XML-пакет" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "" #: src/properties.cpp:1110 #, fuzzy msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:1111 msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" #: src/properties.cpp:1113 #, fuzzy msgid "Date-Time Original" msgstr "Исходная дата и время" #: src/properties.cpp:1113 #, fuzzy msgid "Contains the production date" msgstr "Подавление цветного шума" #: src/properties.cpp:1114 msgid "Video Track Default On" msgstr "" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1115 #, fuzzy msgid "Indicates the digital zoom ratio when the video was shot." msgstr "Этот тэг отображает режим баланса белого при съёмке изображения." #: src/properties.cpp:1116 #, fuzzy msgid "Dimensions" msgstr "Версии" #: src/properties.cpp:1116 msgid "Information about the Dimensions of the video frame." msgstr "" #: src/properties.cpp:1117 #, fuzzy msgid "Director" msgstr "Создатель" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "" #: src/properties.cpp:1118 msgid "Video Display Unit" msgstr "" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1120 #, fuzzy msgid "Doc Type" msgstr "Способ фокусировки" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" #: src/properties.cpp:1121 #, fuzzy msgid "Doc Type Read Version" msgstr "Версия записи" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" #: src/properties.cpp:1122 #, fuzzy msgid "Doc Type Version" msgstr "Версия модели" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "" #: src/properties.cpp:1124 #, fuzzy msgid "The duration of the media file. Measured in milli-seconds." msgstr "Вид источника света" #: src/properties.cpp:1125 #, fuzzy msgid "EBML Read Version" msgstr "Версия записи" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "" #: src/properties.cpp:1126 #, fuzzy msgid "EBML Version" msgstr "Версия ARM" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "" #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "" #: src/properties.cpp:1136 msgid "Edited By" msgstr "" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1137 #, fuzzy msgid "Video Track Enabled" msgstr "Частота сэмплирования звукозаписи" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels width in pixels" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "" #: src/properties.cpp:1141 msgid "Encoder" msgstr "" #: src/properties.cpp:1141 msgid "Information about the Encoder." msgstr "" #: src/properties.cpp:1142 #, fuzzy msgid "End Timecode" msgstr "Режим вспышки" #: src/properties.cpp:1143 msgid "Engineer, in most cases name of person." msgstr "" #: src/properties.cpp:1144 #, fuzzy msgid "Equipment" msgstr "Версия файла" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "" #: src/properties.cpp:1145 #, fuzzy msgid "Exposure Compensation Information." msgstr "Тонкомпенсация" #: src/properties.cpp:1146 #, fuzzy msgid "Exposure Program Information." msgstr "Программа экспозиции" #: src/properties.cpp:1147 #, fuzzy msgid "Exposure time in seconds." msgstr "Время экспозиции в секундах" #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description" msgstr "Настройки камеры" #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description, usually found in ASF type files." msgstr "Настройки камеры" #: src/properties.cpp:1150 #, fuzzy msgid "File ID" msgstr "Файл" #: src/properties.cpp:1150 #, fuzzy msgid "File ID." msgstr "Файл" #: src/properties.cpp:1151 #, fuzzy msgid "File Length" msgstr "Длина изображения" #: src/properties.cpp:1151 #, fuzzy msgid "File length." msgstr "Длина изображения" #: src/properties.cpp:1152 #, fuzzy msgid "File Name" msgstr "Имя файла" #: src/properties.cpp:1152 msgid "File Name or Absolute File Path" msgstr "" #: src/properties.cpp:1153 #, fuzzy msgid "File Size" msgstr "Размер файла" #: src/properties.cpp:1153 #, fuzzy msgid "File Size, in MB" msgstr "Размер файла" #: src/properties.cpp:1154 #, fuzzy msgid "File Type" msgstr "Тип изображения" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "" #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "" #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "" #: src/properties.cpp:1158 #, fuzzy msgid "Focal length of the lens, in millimeters." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "" #: src/properties.cpp:1161 #, fuzzy msgid "Frame Count" msgstr "Номер изображения" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "" #: src/properties.cpp:1162 #, fuzzy msgid "Frame Height" msgstr "Способ фокусировки" #: src/properties.cpp:1162 msgid "Height of frames in a video" msgstr "" #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" #: src/properties.cpp:1165 #, fuzzy msgid "Frame Width" msgstr "Способ фокусировки" #: src/properties.cpp:1165 msgid "Width of frames in a video" msgstr "" #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "" #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "" #: src/properties.cpp:1171 msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:1172 #, fuzzy msgid "Reference for image direction." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:1173 msgid "(North/South). Indicates latitude." msgstr "" #: src/properties.cpp:1174 msgid "(East/West). Indicates longitude." msgstr "" #: src/properties.cpp:1175 #, fuzzy msgid "Geodetic survey data." msgstr "Версия тэга GPS" #: src/properties.cpp:1176 msgid "Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:1177 msgid "Time stamp of GPS data, " msgstr "" #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "" #: src/properties.cpp:1179 #, fuzzy msgid "Graphics Mode" msgstr "Режим вспышки" #: src/properties.cpp:1179 msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" #: src/properties.cpp:1181 msgid "Grouping" msgstr "" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 #, fuzzy msgid "Handler Description" msgstr "Описание снимка" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 #, fuzzy msgid "Handler Type" msgstr "Тип изображения" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Handler Vendor ID" msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 #, fuzzy msgid "Component manufacturer." msgstr "Производитель" #: src/properties.cpp:1186 #, fuzzy msgid "Video Height" msgstr "Очистка сенсора" #: src/properties.cpp:1186 src/properties.cpp:1309 msgid "Video height in pixels" msgstr "" #: src/properties.cpp:1187 #, fuzzy msgid "Hue Adjustment Settings Information." msgstr "Подстройка изображения" #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "" #: src/properties.cpp:1189 msgid "Information Banner Image." msgstr "" #: src/properties.cpp:1190 msgid "Info Banner URL" msgstr "" #: src/properties.cpp:1190 msgid "Information Banner URL." msgstr "" #: src/properties.cpp:1191 #, fuzzy msgid "Information" msgstr "Способ фокусировки" #: src/properties.cpp:1191 #, fuzzy msgid "Additional Movie Information." msgstr "Способ фокусировки" #: src/properties.cpp:1192 #, fuzzy msgid "Info Text" msgstr "Текст" #: src/properties.cpp:1192 #, fuzzy msgid "Information Text." msgstr "Способ фокусировки" #: src/properties.cpp:1193 #, fuzzy msgid "Info URL" msgstr "Объектив" #: src/properties.cpp:1193 #, fuzzy msgid "Information URL." msgstr "Способ фокусировки" #: src/properties.cpp:1194 msgid "Information about the ISO Setting." msgstr "" #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "" #: src/properties.cpp:1196 #, fuzzy msgid "Junk Data" msgstr "Данные объектива" #: src/properties.cpp:1196 msgid "Video Junk data" msgstr "" #: src/properties.cpp:1197 #, fuzzy msgid "Language." msgstr "Язык" #: src/properties.cpp:1198 #, fuzzy msgid "Length" msgstr "Фокусное расстояние" #: src/properties.cpp:1198 #, fuzzy msgid "The length of the media file." msgstr "Вид источника света" #: src/properties.cpp:1200 #, fuzzy msgid "Lens Type." msgstr "Тип объектива" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness" msgstr "Яркость" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness." msgstr "Яркость" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information" msgstr "Способ фокусировки" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information." msgstr "Способ фокусировки" #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "" #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "" #: src/properties.cpp:1204 #, fuzzy msgid "Logo URL" msgstr "Объектив" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "" #: src/properties.cpp:1205 msgid "Lyrics" msgstr "" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "" #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "" #: src/properties.cpp:1207 #, fuzzy msgid "Equipment Make" msgstr "Версия файла" #: src/properties.cpp:1207 msgid "Manufacturer of recording equipment" msgstr "" #: src/properties.cpp:1208 #, fuzzy msgid "Camera Maker Note Type" msgstr "ID камеры" #: src/properties.cpp:1208 msgid "Maker Note Type of the camera." msgstr "" #: src/properties.cpp:1209 #, fuzzy msgid "Camera Maker Note Version" msgstr "Версия прошивки" #: src/properties.cpp:1209 #, fuzzy msgid "Maker Note Version of the camera." msgstr "Версия прошивки" #: src/properties.cpp:1210 #, fuzzy msgid "Maker URL" msgstr "Данные производителя" #: src/properties.cpp:1210 #, fuzzy msgid "Camera Manufacturer's URL." msgstr "Производитель" #: src/properties.cpp:1211 #, fuzzy msgid "Smallest F number of lens, in APEX." msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:1212 #, fuzzy msgid "Maximum Bit Rate" msgstr "Максимально открытая диафрагма" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" #: src/properties.cpp:1213 #, fuzzy msgid "Maximum Data Rate" msgstr "Имя файла" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 #, fuzzy msgid "Media Track Create Date" msgstr "Дата создания" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 #, fuzzy msgid "Media Track Duration" msgstr "Длительность звукозаписи" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 #, fuzzy msgid "Media Header Version" msgstr "Версия модели" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 #, fuzzy msgid "Media Language Code" msgstr "Режим захвата данных GPS" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 #, fuzzy msgid "Media Track Modify Date" msgstr "Порядок заполнения" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" #: src/properties.cpp:1220 #, fuzzy msgid "Medium." msgstr "Низкий" #: src/properties.cpp:1221 #, fuzzy msgid "Metadata" msgstr "Дата создания" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1222 #, fuzzy msgid "Metadata Library" msgstr "Дата создания" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "" #: src/properties.cpp:1223 #, fuzzy msgid "Metering mode." msgstr "Режим замера" #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "" #: src/properties.cpp:1225 #, fuzzy msgid "Mime Type" msgstr "Тип изображения" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "" #: src/properties.cpp:1226 #, fuzzy msgid "QTime Minor FileType Version" msgstr "Версия файла" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "" #: src/properties.cpp:1227 #, fuzzy msgid "Equipment Model" msgstr "Версия файла" #: src/properties.cpp:1227 #, fuzzy msgid "Model name or number of equipment." msgstr "Вид источника света" #: src/properties.cpp:1228 #, fuzzy msgid "Modification Date-Time" msgstr "Имя местоположения" #: src/properties.cpp:1228 msgid "Contains the modification date of the video" msgstr "" #: src/properties.cpp:1229 #, fuzzy msgid "Movie Header Version" msgstr "Версия модели" #: src/properties.cpp:1230 msgid "Music By" msgstr "" #: src/properties.cpp:1230 msgid "Music By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1231 msgid "Muxing App" msgstr "" #: src/properties.cpp:1231 msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" #: src/properties.cpp:1232 msgid "Name of song or the event." msgstr "" #: src/properties.cpp:1233 msgid "Next Track ID" msgstr "" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" #: src/properties.cpp:1234 #, fuzzy msgid "Number Of Colours" msgstr "Число F" #: src/properties.cpp:1234 msgid "Total number of colours used" msgstr "" #: src/properties.cpp:1235 #, fuzzy msgid "Number Of Important Colours" msgstr "Число F" #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1236 #, fuzzy msgid "Number Of Parts" msgstr "Число F" #: src/properties.cpp:1236 msgid "Total number of parts in the video." msgstr "" #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" #: src/properties.cpp:1238 #, fuzzy msgid "Organization" msgstr "Ориентация" #: src/properties.cpp:1238 msgid "Name of organization associated with the video." msgstr "" #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" #: src/properties.cpp:1248 #, fuzzy msgid "Part" msgstr "Вечеринка" #: src/properties.cpp:1248 #, fuzzy msgid "Part." msgstr "Вечеринка" #: src/properties.cpp:1249 msgid "Performers" msgstr "" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords" msgstr "Ключевые слова" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords." msgstr "Ключевые слова" #: src/properties.cpp:1251 msgid "Performer URL" msgstr "" #: src/properties.cpp:1251 msgid "Performer's dedicated URL." msgstr "" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data" msgstr "Режим захвата" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data." msgstr "Режим захвата" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Version" msgstr "Режим захвата" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Data Version." msgstr "Режим захвата" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name" msgstr "Режим захвата" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name." msgstr "Режим захвата" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Base" msgstr "Режим захвата" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Data Base." msgstr "Режим захвата" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust" msgstr "Режим захвата" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust Information." msgstr "Портретный режим" #: src/properties.cpp:1257 #, fuzzy msgid "Picture Control Quick Adjust" msgstr "Режим захвата" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection" msgstr "Выбор ISO" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection." msgstr "Выбор ISO" #: src/properties.cpp:1259 #, fuzzy msgid "Play Mode" msgstr "Режим вспышки" #: src/properties.cpp:1259 msgid "Information about the Play Mode." msgstr "" #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "" #: src/properties.cpp:1260 #, fuzzy msgid "Contains the information of External media." msgstr "Способ фокусировки" #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1265 msgid "Planes" msgstr "" #: src/properties.cpp:1265 msgid "The number of Image Planes in the video" msgstr "" #: src/properties.cpp:1266 #, fuzzy msgid "Poster Time" msgstr "Дата и время" #: src/properties.cpp:1266 msgid "The time value of the time of the movie poster." msgstr "" #: src/properties.cpp:1267 #, fuzzy msgid "Preferred Rate" msgstr "Эталонный Чёрный/Белый" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1269 msgid "Preroll" msgstr "" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" #: src/properties.cpp:1272 #, fuzzy msgid "Preview Atom Type" msgstr "Данные эскиза" #: src/properties.cpp:1272 #, fuzzy msgid "Indicates the type of atom that contains the preview data" msgstr "Показывает длительность звукозаписи" #: src/properties.cpp:1273 #, fuzzy msgid "Preview Date" msgstr "Данные эскиза" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "" #: src/properties.cpp:1274 #, fuzzy msgid "Preview Duration" msgstr "Данные эскиза" #: src/properties.cpp:1274 #, fuzzy msgid "The duration of the movie preview in movie time scale units" msgstr "Вид источника света" #: src/properties.cpp:1275 #, fuzzy msgid "Preview Time" msgstr "Версия эскиза" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "" #: src/properties.cpp:1276 #, fuzzy msgid "The version of the movie preview " msgstr "Вид источника света" #: src/properties.cpp:1277 msgid "Produced By" msgstr "" #: src/properties.cpp:1277 msgid "Produced By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1278 msgid "Producer involved with the video." msgstr "" #: src/properties.cpp:1279 #, fuzzy msgid "Producer Keywords" msgstr "Ключевые слова" #: src/properties.cpp:1279 msgid "Information about the Producer Keywords." msgstr "" #: src/properties.cpp:1280 #, fuzzy msgid "Production Aperture Width" msgstr "Диафрагма" #: src/properties.cpp:1280 msgid "Production aperture width in pixels" msgstr "" #: src/properties.cpp:1281 #, fuzzy msgid "Production Aperture Height" msgstr "Диафрагма" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "" #: src/properties.cpp:1282 msgid "Production Designer" msgstr "" #: src/properties.cpp:1282 msgid "Information about the Production Designer." msgstr "" #: src/properties.cpp:1283 msgid "Production Studio" msgstr "" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "" #: src/properties.cpp:1284 msgid "Product" msgstr "" #: src/properties.cpp:1284 msgid "Product." msgstr "" #: src/properties.cpp:1286 msgid "Rate" msgstr "" #: src/properties.cpp:1286 msgid "Rate." msgstr "" #: src/properties.cpp:1287 msgid "Rated" msgstr "" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "" #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright" msgstr "Цветовое пространство" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright." msgstr "Цветовое пространство" #: src/properties.cpp:1292 #, fuzzy msgid "Requirements" msgstr "Объектив" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "" #: src/properties.cpp:1293 msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" #: src/properties.cpp:1294 msgid "Ripped By" msgstr "" #: src/properties.cpp:1294 msgid "Ripped By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1295 #, fuzzy msgid "Indicates the direction of saturation processing applied by the camera." msgstr "" "Этот тэг отображает направление обработки насыщенности при съёмке изображения" #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "" #: src/properties.cpp:1296 #, fuzzy msgid "The name of the secondary genre.." msgstr "Вид источника света" #: src/properties.cpp:1297 #, fuzzy msgid "Selection Time" msgstr "Выбор ISO" #: src/properties.cpp:1297 msgid "The time value for the start time of the current selection." msgstr "" #: src/properties.cpp:1298 #, fuzzy msgid "Selection Duration" msgstr "Длительность звукозаписи" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "" #: src/properties.cpp:1299 #, fuzzy msgid "Send Duration" msgstr "Длительность" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "" #: src/properties.cpp:1303 #, fuzzy msgid "Software Version" msgstr "Версия прошивки" #: src/properties.cpp:1303 #, fuzzy msgid "The Version of the software used." msgstr "Вид источника света" #: src/properties.cpp:1304 #, fuzzy msgid "Song Writer" msgstr "Подпись" #: src/properties.cpp:1304 #, fuzzy msgid "The name of the song writer." msgstr "Вид источника света" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords" msgstr "Ключевые слова (Windows)" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords." msgstr "Ключевые слова" #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits" msgstr "Монохромный" #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits." msgstr "Город." #: src/properties.cpp:1308 #, fuzzy msgid "Source Form" msgstr "Источник" #: src/properties.cpp:1308 #, fuzzy msgid "Source Form." msgstr "Источник." #: src/properties.cpp:1309 #, fuzzy msgid "Source Image Height" msgstr "Длина изображения" #: src/properties.cpp:1310 #, fuzzy msgid "Source Image Width" msgstr "Ширина изображения" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "" #: src/properties.cpp:1311 #, fuzzy msgid "Starring" msgstr "Стандартный свет A" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "" #: src/properties.cpp:1312 #, fuzzy msgid "Start Timecode" msgstr "Режим вспышки" #: src/properties.cpp:1313 #, fuzzy msgid "Statistics" msgstr "Статус приёмника GPS" #: src/properties.cpp:1313 msgid "Statistics." msgstr "" #: src/properties.cpp:1314 #, fuzzy msgid "Stream Count" msgstr "Выдержка" #: src/properties.cpp:1314 #, fuzzy msgid "Total Number Of Streams" msgstr "Число F" #: src/properties.cpp:1315 #, fuzzy msgid "Stream Name" msgstr "Название страны" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "" #: src/properties.cpp:1316 #, fuzzy msgid "Stream Quality" msgstr "Качество" #: src/properties.cpp:1316 #, fuzzy msgid "General Stream Quality" msgstr "Качество" #: src/properties.cpp:1317 #, fuzzy msgid "Stream Sample Rate" msgstr "Частота сэмплирования звукозаписи" #: src/properties.cpp:1318 #, fuzzy msgid "Stream Sample Count" msgstr "Выдержка" #: src/properties.cpp:1319 #, fuzzy msgid "Stream Sample Size" msgstr "Битов на сэмпл" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "" #: src/properties.cpp:1320 #, fuzzy msgid "Stream Type" msgstr "Тип изображения" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1321 #, fuzzy msgid "Subtitles Codec" msgstr "Режим вспышки" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "" #: src/properties.cpp:1322 msgid "Subtitle Codec Decode Info" msgstr "" #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1323 #, fuzzy msgid "Subtitles Codec Information" msgstr "Способ фокусировки" #: src/properties.cpp:1323 msgid "Contains additional information about subtitles." msgstr "" #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "" #: src/properties.cpp:1325 #, fuzzy msgid "Subtitle Codec Settings" msgstr "Портретный режим" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1327 msgid "Subtitle Track Enabled" msgstr "" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1328 #, fuzzy msgid "Subtitle" msgstr "Файл" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords" msgstr "Ключевые слова" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords." msgstr "Ключевые слова" #: src/properties.cpp:1330 #, fuzzy msgid "Subtitles Language" msgstr "Язык" #: src/properties.cpp:1330 #, fuzzy msgid "The Language in which the subtitles is recorded in." msgstr "Вид источника света" #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1332 msgid "Subtitle Track Lacing" msgstr "" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1333 #, fuzzy msgid "Subject. " msgstr "Предмет съёмки" #: src/properties.cpp:1334 #, fuzzy msgid "TapeName." msgstr "Имя владельца" #: src/properties.cpp:1335 #, fuzzy msgid "Tag Default Setting" msgstr "Настройка резкости" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "" #: src/properties.cpp:1336 #, fuzzy msgid "Tag Language" msgstr "Язык" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "" #: src/properties.cpp:1337 #, fuzzy msgid "Tag Name" msgstr "Имя владельца" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1338 msgid "Tag String" msgstr "" #: src/properties.cpp:1338 msgid "Information contained in a Tags" msgstr "" #: src/properties.cpp:1339 #, fuzzy msgid "Target Type" msgstr "Тип изображения" #: src/properties.cpp:1339 msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "" #: src/properties.cpp:1340 msgid "Technician" msgstr "" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "" #: src/properties.cpp:1341 #, fuzzy msgid "Thumbnail Height" msgstr "Длина изображения" #: src/properties.cpp:1341 #, fuzzy msgid "Preview Image Thumbnail Height." msgstr "Версия эскиза" #: src/properties.cpp:1342 #, fuzzy msgid "Preview Image Thumbnail Length." msgstr "Длина изображения" #: src/properties.cpp:1343 #, fuzzy msgid "Thumbnail Width" msgstr "Длина изображения" #: src/properties.cpp:1343 #, fuzzy msgid "Preview Image Thumbnail Width." msgstr "Версия эскиза" #: src/properties.cpp:1344 #, fuzzy msgid "Timecode Scale" msgstr "Подводная съемка" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "" #: src/properties.cpp:1345 src/properties.cpp:1428 #, fuzzy msgid "Time Offset" msgstr "Режим захвата" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" #: src/properties.cpp:1346 #, fuzzy msgid "Time Scale" msgstr "Время отправки" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1350 msgid "Toning Effect Settings Applied." msgstr "" #: src/properties.cpp:1351 #, fuzzy msgid "Total Frame Count" msgstr "Выдержка" #: src/properties.cpp:1352 #, fuzzy msgid "Number Of Streams" msgstr "Число F" #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1353 #, fuzzy msgid "Track" msgstr "Эталонный Чёрный/Белый" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "" #: src/properties.cpp:1354 #, fuzzy msgid "Video Track Create Date" msgstr "Частота сэмплирования звукозаписи" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" #: src/properties.cpp:1355 #, fuzzy msgid "Video Track Duration" msgstr "Длительность звукозаписи" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced" msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 #, fuzzy msgid "Track ID" msgstr "Номер дорожки" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 #, fuzzy msgid "Track Header Version" msgstr "Версия прошивки" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 #, fuzzy msgid "Track Language" msgstr "Язык" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "The Language in which a particular stream is recorded in." msgstr "" #: src/properties.cpp:1361 #, fuzzy msgid "Video Track Layer" msgstr "Частота сэмплирования звукозаписи" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" #: src/properties.cpp:1364 #, fuzzy msgid "Video Track Modify Date" msgstr "Порядок заполнения" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" #: src/properties.cpp:1365 #, fuzzy msgid "Track Name" msgstr "Номер дорожки" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "" #: src/properties.cpp:1366 #, fuzzy msgid "Track Number." msgstr "Номер дорожки" #: src/properties.cpp:1367 src/properties.cpp:1440 #, fuzzy msgid "Track Volume" msgstr "Номер дорожки" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "" #: src/properties.cpp:1368 msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" #: src/properties.cpp:1369 src/properties.cpp:1370 #, fuzzy msgid "Unknown Information" msgstr "Способ фокусировки" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1371 #, fuzzy msgid "Video URL" msgstr "Цвет" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1372 #, fuzzy msgid "Video URN" msgstr "Цвет" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1373 #, fuzzy msgid "Vari Program" msgstr "Программа" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "" #: src/properties.cpp:1376 msgid "Vendor" msgstr "" #: src/properties.cpp:1376 #, fuzzy msgid "The developer of the compressor that generated the compressed data." msgstr "" "Этот тэг отображает направление обработки резкости при съёмке изображения" #: src/properties.cpp:1377 src/properties.cpp:1443 #, fuzzy msgid "Vendor ID" msgstr "ID объектива" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" #: src/properties.cpp:1378 #, fuzzy msgid "Video Quality" msgstr "Качество" #: src/properties.cpp:1378 #, fuzzy msgid "Video Stream Quality" msgstr "Частота сэмплирования звукозаписи" #: src/properties.cpp:1379 #, fuzzy msgid "Video Sample Size" msgstr "Цветовое пространство" #: src/properties.cpp:1379 #, fuzzy msgid "Video Stream Sample Size" msgstr "Цветовое пространство" #: src/properties.cpp:1380 #, fuzzy msgid "Video Scan Type" msgstr "Тип изображения" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "" #: src/properties.cpp:1381 msgid "Watermark URL" msgstr "" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "" #: src/properties.cpp:1384 #, fuzzy msgid "White Balance Fine Tune." msgstr "Таблица баланса белого" #: src/properties.cpp:1385 #, fuzzy msgid "Video Width" msgstr "Ширина изображения" #: src/properties.cpp:1386 #, fuzzy msgid "Window Location" msgstr "Оценка в Windows" #: src/properties.cpp:1386 msgid "Information about the Window Location." msgstr "" #: src/properties.cpp:1388 #, fuzzy msgid "Written By" msgstr "Автор текста" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1389 #, fuzzy msgid "Writing App" msgstr "Выполняется запись" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" #: src/properties.cpp:1390 msgid "Horizontal resolution in pixels per unit." msgstr "" #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "" #: src/properties.cpp:1391 #, fuzzy msgid "Year in which the video was made." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:1392 msgid "Vertical resolution in pixels per unit." msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "" #: src/properties.cpp:1398 #, fuzzy msgid "Balance" msgstr "Баланс белого" #: src/properties.cpp:1398 #, fuzzy msgid "Indicates the left-right balance of the audio" msgstr "Расстояние до объекта в метрах" #: src/properties.cpp:1399 #, fuzzy msgid "Bits Per Sample/ Bit Rate" msgstr "Битов на сэмпл" #: src/properties.cpp:1399 #, fuzzy msgid "Bits per test sample" msgstr "Битов на сэмпл" #: src/properties.cpp:1401 #, fuzzy msgid "Audio Codec" msgstr "Сжатие" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "" #: src/properties.cpp:1402 msgid "Audio Codec Decode Info" msgstr "" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1403 #, fuzzy msgid "Audio Codec Description" msgstr "Описание снимка" #: src/properties.cpp:1404 msgid "Audio Codec Download URL" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL." msgstr "" #: src/properties.cpp:1405 #, fuzzy msgid "Audio Codec Information" msgstr "Способ фокусировки" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" #: src/properties.cpp:1406 #, fuzzy msgid "Audio Codec Settings" msgstr "Способ фокусировки" #: src/properties.cpp:1408 #, fuzzy msgid "Audio Default Duration" msgstr "Длительность звукозаписи" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "" #: src/properties.cpp:1409 #, fuzzy msgid "Audio Default Stream" msgstr "По умолчанию" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "" #: src/properties.cpp:1410 #, fuzzy msgid "Audio Track Default On" msgstr "Автобрекетирование" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "" #: src/properties.cpp:1411 msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1412 #, fuzzy msgid "Audio Format" msgstr "Частота сэмплирования звукозаписи" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "" #: src/properties.cpp:1423 #, fuzzy msgid "Output Audio Sample Rate" msgstr "Частота сэмплирования звукозаписи" #: src/properties.cpp:1423 msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" #: src/properties.cpp:1424 #, fuzzy msgid "Audio Sample Count" msgstr "Частота сэмплирования звукозаписи" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title" msgstr "найдены в этом файле" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title." msgstr "найдены в этом файле" #: src/properties.cpp:1429 #, fuzzy msgid "Audio Track Create Date" msgstr "Автобрекетирование" #: src/properties.cpp:1430 #, fuzzy msgid "Audio Track Duration" msgstr "Длительность звукозаписи" #: src/properties.cpp:1431 #, fuzzy msgid "Audio Track Forced" msgstr "Автобрекетирование" #: src/properties.cpp:1431 msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1434 #, fuzzy msgid "Audio Track Lacing" msgstr "Длительность звукозаписи" #: src/properties.cpp:1434 msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1436 #, fuzzy msgid "Audio Track Layer" msgstr "Тип звуковых данных" #: src/properties.cpp:1439 #, fuzzy msgid "Audio Track Modify Date" msgstr "Частота сэмплирования звукозаписи" #: src/properties.cpp:1441 #, fuzzy msgid "Audio URL" msgstr "Частота сэмплирования звукозаписи" #: src/properties.cpp:1442 #, fuzzy msgid "Audio URN" msgstr "Частота сэмплирования звукозаписи" #: src/properties.cpp:1449 #, fuzzy msgid "The nature or genre of the resource." msgstr "Вид источника света" #: src/properties.cpp:1450 #, fuzzy msgid "Date Modified" msgstr "Идентификатор ARM" #: src/properties.cpp:1450 #, fuzzy msgid "Date on which the resource was changed." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:1451 #, fuzzy msgid "A language of the resource." msgstr "Вид источника света" #: src/properties.cpp:1452 #, fuzzy msgid "License" msgstr "Объектив" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" #: src/properties.cpp:1453 #, fuzzy msgid "Rights Holder" msgstr "справа налево" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" #: src/properties.cpp:1454 #, fuzzy msgid "Access Rights" msgstr "Права" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "" #: src/properties.cpp:1455 msgid "A bibliographic reference for the resource." msgstr "" #: src/properties.cpp:1456 #, fuzzy msgid "References" msgstr "Эталонный Чёрный/Белый" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" #: src/properties.cpp:1459 msgid "*Main structure* containing Darwin Core location based information." msgstr "" #: src/properties.cpp:1468 #, fuzzy msgid "Record" msgstr "Номер заказа" #: src/properties.cpp:1469 msgid "*Main structure* containing record based information." msgstr "" #: src/properties.cpp:1472 #, fuzzy msgid "Institution ID" msgstr "Инструкции" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" #: src/properties.cpp:1475 #, fuzzy msgid "Collection ID" msgstr "Выбор ISO" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" #: src/properties.cpp:1478 #, fuzzy msgid "Institution Code" msgstr "Разрешение по X" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1481 msgid "Dataset ID" msgstr "" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "" #: src/properties.cpp:1484 #, fuzzy msgid "Collection Code" msgstr "Имя местоположения" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" #: src/properties.cpp:1487 #, fuzzy msgid "Dataset Name" msgstr "Имя владельца" #: src/properties.cpp:1488 #, fuzzy msgid "The name identifying the data set from which the record was derived." msgstr "Название отсканированного документа" #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" #: src/properties.cpp:1496 #, fuzzy msgid "Information Withheld" msgstr "Способ фокусировки" #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" #: src/properties.cpp:1502 #, fuzzy msgid "Dynamic Properties" msgstr "Температура объектива" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" #: src/properties.cpp:1507 #, fuzzy msgid "Occurrence" msgstr "ID объектива" #: src/properties.cpp:1508 msgid "*Main structure* containing occurrence based information." msgstr "" #: src/properties.cpp:1511 #, fuzzy msgid "Occurrence ID" msgstr "ID объектива" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" #: src/properties.cpp:1514 #, fuzzy msgid "Catalog Number" msgstr "Серийный номер" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" #: src/properties.cpp:1517 #, fuzzy msgid "Occurrence Details" msgstr "ID объектива" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "" #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "" #: src/properties.cpp:1521 msgid "Comments or notes about the Occurrence." msgstr "" #: src/properties.cpp:1523 #, fuzzy msgid "Record Number" msgstr "Номер заказа" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" #: src/properties.cpp:1526 msgid "Recorded By" msgstr "" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" #: src/properties.cpp:1529 msgid "Individual ID" msgstr "" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" #: src/properties.cpp:1532 msgid "Individual Count" msgstr "" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "" #: src/properties.cpp:1535 #, fuzzy msgid "Organism Quantity" msgstr "Качество" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "" #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "" #: src/properties.cpp:1541 #, fuzzy msgid "Sex" msgstr "Установить" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1544 msgid "Life Stage" msgstr "" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1547 #, fuzzy msgid "Reproductive Condition" msgstr "Пульт Д/У?" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1550 msgid "Behavior" msgstr "" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1559 #, fuzzy msgid "Preparations" msgstr "Длительность" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" #: src/properties.cpp:1562 #, fuzzy msgid "Disposition" msgstr "Способ фокусировки" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" #: src/properties.cpp:1565 #, fuzzy msgid "Other Catalog Numbers" msgstr "Серийный номер" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" #: src/properties.cpp:1568 src/properties.cpp:1607 #, fuzzy msgid "Previous Identifications" msgstr "Версия модели" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" #: src/properties.cpp:1571 #, fuzzy msgid "Associated Media" msgstr "Контраст" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" #: src/properties.cpp:1574 #, fuzzy msgid "Associated References" msgstr "Эталонный Чёрный/Белый" #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1580 #, fuzzy msgid "Associated Sequences" msgstr "Номер последовательности" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" #: src/properties.cpp:1588 #, fuzzy msgid "Organism" msgstr "Ориентация" #: src/properties.cpp:1589 msgid "*Main structure* containing organism based information." msgstr "" #: src/properties.cpp:1592 msgid "Organism ID" msgstr "" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1595 #, fuzzy msgid "Organism Name" msgstr "Название страны" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "" #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1601 #, fuzzy msgid "Organism Associated Occurrences" msgstr "Номер последовательности" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1604 #, fuzzy msgid "Associated Organisms" msgstr "Эталонный Чёрный/Белый" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" #: src/properties.cpp:1610 #, fuzzy msgid "Organism Remarks" msgstr "Выполняется измерение" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "" #: src/properties.cpp:1615 #, fuzzy msgid "Material Sample" msgstr "Битов на сэмпл" #: src/properties.cpp:1616 msgid "*Main structure* containing material sample based information." msgstr "" #: src/properties.cpp:1618 #, fuzzy msgid "Living Specimen" msgstr "Вечер" #: src/properties.cpp:1619 msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "" #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "" #: src/properties.cpp:1622 msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "" #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "" #: src/properties.cpp:1625 msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "" #: src/properties.cpp:1628 #, fuzzy msgid "Material Sample ID" msgstr "Битов на сэмпл" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" #: src/properties.cpp:1634 msgid "*Main structure* containing event based information." msgstr "" #: src/properties.cpp:1636 msgid "Human Observation" msgstr "" #: src/properties.cpp:1637 msgid "*Main structure* containing human observation based information." msgstr "" #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "" #: src/properties.cpp:1640 msgid "*Main structure* containing machine observation based information." msgstr "" #: src/properties.cpp:1643 #, fuzzy msgid "Event ID" msgstr "Вечер" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1646 #, fuzzy msgid "Parent Event ID" msgstr "Вечер" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" #: src/properties.cpp:1649 #, fuzzy msgid "Event Date" msgstr "Дата создания" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1652 #, fuzzy msgid "Event Earliest Date" msgstr "Дата создания" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1655 #, fuzzy msgid "Event Latest Date" msgstr "Дата создания" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1658 #, fuzzy msgid "Event Time" msgstr "Профиль камеры" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "" #: src/properties.cpp:1670 #, fuzzy msgid "Month" msgstr "месяц" #: src/properties.cpp:1671 #, fuzzy msgid "The ordinal month in which the Event occurred." msgstr "Вид источника света" #: src/properties.cpp:1673 #, fuzzy msgid "Day" msgstr "Удалить" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "" #: src/properties.cpp:1676 #, fuzzy msgid "Verbatim Event Date" msgstr "Дата создания" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" #: src/properties.cpp:1679 msgid "Habitat" msgstr "" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" #: src/properties.cpp:1685 #, fuzzy msgid "Sampling Effort" msgstr "Формат файла" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "" #: src/properties.cpp:1688 #, fuzzy msgid "Sampling Size Value" msgstr "Частота сэмплирования звукозаписи" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" #: src/properties.cpp:1691 #, fuzzy msgid "Sampling Size Unit" msgstr "Формат файла" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" #: src/properties.cpp:1694 #, fuzzy msgid "Field Number" msgstr "Число F" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" #: src/properties.cpp:1697 #, fuzzy msgid "Field Notes" msgstr "Температура объектива" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "" #: src/properties.cpp:1701 msgid "Comments or notes about the Event." msgstr "" #: src/properties.cpp:1705 #, fuzzy msgid "Location Class" msgstr "Имя местоположения" #: src/properties.cpp:1706 msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "" #: src/properties.cpp:1709 #, fuzzy msgid "Location ID" msgstr "Местоположение объекта съёмки" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" #: src/properties.cpp:1718 #, fuzzy msgid "Continent" msgstr "Продолжительный ведущий режим" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "" #: src/properties.cpp:1721 msgid "Water Body" msgstr "" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1724 msgid "Island Group" msgstr "" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1727 msgid "Island" msgstr "" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "" #: src/properties.cpp:1736 #, fuzzy msgid "State Province" msgstr "Штат/провинция" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1739 #, fuzzy msgid "County" msgstr "Страна" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1742 #, fuzzy msgid "Municipality" msgstr "Качество" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" #: src/properties.cpp:1745 #, fuzzy msgid "Locality" msgstr "Местоположение объекта съёмки" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "" #: src/properties.cpp:1749 #, fuzzy msgid "The original textual description of the place." msgstr "Текстовое описание объекта снимка" #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1760 msgid "Verbatim Depth" msgstr "" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "" #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1766 #, fuzzy msgid "Maximum Depth In Meters" msgstr "Имя файла" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1775 #, fuzzy msgid "Location According To" msgstr "Имя местоположения" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" #: src/properties.cpp:1778 #, fuzzy msgid "Location Remarks" msgstr "Имя местоположения" #: src/properties.cpp:1779 msgid "Comments or notes about the Location." msgstr "" #: src/properties.cpp:1781 msgid "Verbatim Coordinates" msgstr "" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1784 #, fuzzy msgid "Verbatim Latitude" msgstr "Расстояние до объекта" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1787 #, fuzzy msgid "Verbatim Longitude" msgstr "Расстояние до объекта" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1796 #, fuzzy msgid "Decimal Latitude" msgstr "Расстояние до объекта" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" #: src/properties.cpp:1799 #, fuzzy msgid "Decimal Longitude" msgstr "Долгота по GPS" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" #: src/properties.cpp:1802 #, fuzzy msgid "Geodetic Datum" msgstr "Версия тэга GPS" #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" #: src/properties.cpp:1808 msgid "Coordinate Precision" msgstr "" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "" #: src/properties.cpp:1812 #, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "" #: src/properties.cpp:1821 #, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" #: src/properties.cpp:1823 #, fuzzy msgid "Georeferenced By" msgstr "Эталонный Чёрный/Белый" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" #: src/properties.cpp:1826 #, fuzzy msgid "Georeferenced Date" msgstr "Эталонный Чёрный/Белый" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" #: src/properties.cpp:1832 #, fuzzy msgid "Georeference Sources" msgstr "Эталонный Чёрный/Белый" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1838 #, fuzzy msgid "Georeference Remarks" msgstr "Номер последовательности" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" #: src/properties.cpp:1843 msgid "Geological Context" msgstr "" #: src/properties.cpp:1844 msgid "*Main structure* containing geological context based information." msgstr "" #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" #: src/properties.cpp:1889 msgid "Group" msgstr "" #: src/properties.cpp:1890 #, fuzzy msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "Название отсканированного документа" #: src/properties.cpp:1892 #, fuzzy msgid "Formation" msgstr "Способ фокусировки" #: src/properties.cpp:1893 #, fuzzy msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "Название отсканированного документа" #: src/properties.cpp:1895 #, fuzzy msgid "Member" msgstr "Число F" #: src/properties.cpp:1896 #, fuzzy msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "Название отсканированного документа" #: src/properties.cpp:1898 msgid "Bed" msgstr "" #: src/properties.cpp:1899 #, fuzzy msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "Название отсканированного документа" #: src/properties.cpp:1903 #, fuzzy msgid "Identification" msgstr "Версия модели" #: src/properties.cpp:1904 msgid "*Main structure* containing identification based information." msgstr "" #: src/properties.cpp:1907 #, fuzzy msgid "Identification ID" msgstr "Версия модели" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1910 #, fuzzy msgid "Identified By" msgstr "Идентификатор ARM" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" #: src/properties.cpp:1913 #, fuzzy msgid "Date Identified" msgstr "Идентификатор ARM" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" #: src/properties.cpp:1916 #, fuzzy msgid "Identification References" msgstr "Направление снимка GPS" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" #: src/properties.cpp:1922 #, fuzzy msgid "Identification Remarks" msgstr "Версия модели" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "" #: src/properties.cpp:1925 #, fuzzy msgid "Identification Qualifier" msgstr "Версия модели" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" #: src/properties.cpp:1928 #, fuzzy msgid "Type Status" msgstr "Статус приёмника GPS" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" #: src/properties.cpp:1933 msgid "Taxon" msgstr "" #: src/properties.cpp:1934 msgid "*Main structure* containing taxonomic based information." msgstr "" #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" #: src/properties.cpp:1949 #, fuzzy msgid "Original Name Usage ID" msgstr "Имя файла" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" #: src/properties.cpp:1961 #, fuzzy msgid "Scientific Name" msgstr "Имя документа" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" #: src/properties.cpp:1967 #, fuzzy msgid "Parent Name Usage" msgstr "Имя владельца" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" #: src/properties.cpp:1970 #, fuzzy msgid "Original Name Usage" msgstr "Имя файла" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" #: src/properties.cpp:1973 #, fuzzy msgid "Name According To" msgstr "Цветовое пространство" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" #: src/properties.cpp:1976 msgid "Name Published In" msgstr "" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "" #: src/properties.cpp:1980 #, fuzzy msgid "The four-digit year in which the scientificName was published." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/properties.cpp:1982 #, fuzzy msgid "Higher Classification" msgstr "Насыщенность" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" #: src/properties.cpp:1985 msgid "Kingdom" msgstr "" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "" #: src/properties.cpp:1988 msgid "Phylum" msgstr "" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" #: src/properties.cpp:1991 msgid "Class" msgstr "" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "" #: src/properties.cpp:1994 #, fuzzy msgid "Order" msgstr "Порядок заполнения" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "" #: src/properties.cpp:1997 msgid "Family" msgstr "" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "" #: src/properties.cpp:2000 msgid "Genus" msgstr "" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "" #: src/properties.cpp:2003 msgid "Subgenus" msgstr "" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "" #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" #: src/properties.cpp:2021 #, fuzzy msgid "Vernacular Name" msgstr "Номер дорожки" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "" #: src/properties.cpp:2024 #, fuzzy msgid "Nomenclatural Code" msgstr "Естественный цвет" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "" #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "" #: src/properties.cpp:2039 msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "" #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" #: src/properties.cpp:2045 #, fuzzy msgid "Resource ID" msgstr "Источник файла" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "" #: src/properties.cpp:2048 #, fuzzy msgid "Related Resource ID" msgstr "Источник файла" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" #: src/properties.cpp:2051 #, fuzzy msgid "Relationship Of Resource" msgstr "Источник файла" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "" #: src/properties.cpp:2065 #, fuzzy msgid "Measurement Or Fact" msgstr "Выполняется измерение" #: src/properties.cpp:2066 msgid "*Main structure* containing measurement based information." msgstr "" #: src/properties.cpp:2069 #, fuzzy msgid "Measurement ID" msgstr "Выполняется измерение" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:2072 #, fuzzy msgid "Measurement Type" msgstr "Выполняется измерение" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2075 #, fuzzy msgid "Measurement Value" msgstr "Выполняется измерение" #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2078 #, fuzzy msgid "Measurement Accuracy" msgstr "Выполняется измерение" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "" #: src/properties.cpp:2081 #, fuzzy msgid "Measurement Unit" msgstr "Выполняется измерение" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" #: src/properties.cpp:2084 #, fuzzy msgid "Measurement Determined Date" msgstr "Выполняется измерение" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2087 #, fuzzy msgid "Measurement Determined By" msgstr "Выполняется измерение" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" #: src/properties.cpp:2090 #, fuzzy msgid "Measurement Method" msgstr "Режим захвата данных GPS" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2093 #, fuzzy msgid "Measurement Remarks" msgstr "Выполняется измерение" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "" #: src/properties.cpp:2101 #, fuzzy msgid "A brief description of the file" msgstr "Текстовое описание объекта снимка" #: src/properties.cpp:2102 #, fuzzy msgid "Date Time" msgstr "Дата и время" #: src/properties.cpp:2103 #, fuzzy msgid "The name of the author or photographer" msgstr "Вид источника света" #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "" #: src/properties.cpp:2105 #, fuzzy msgid "Notes" msgstr "Температура объектива" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "" #: src/properties.cpp:2106 msgid "Tagged" msgstr "" #: src/properties.cpp:2106 msgid "True or False" msgstr "" #: src/properties.cpp:2107 #, fuzzy msgid "Categories" msgstr "Категория" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "" #: src/sigmamn.cpp:62 #, fuzzy msgid "Resolution Mode" msgstr "Разрешение по X" #: src/sigmamn.cpp:63 #, fuzzy msgid "Resolution mode" msgstr "Разрешение по X" #: src/sigmamn.cpp:65 msgid "Autofocus Mode" msgstr "Режим автофокусировки" #: src/sigmamn.cpp:66 msgid "Autofocus mode" msgstr "Режим автофокусировки" #: src/sigmamn.cpp:68 #, fuzzy msgid "Focus Setting" msgstr "Настройка контраста" #: src/sigmamn.cpp:69 #, fuzzy msgid "Focus setting" msgstr "Способ фокусировки" #: src/sigmamn.cpp:80 msgid "Lens Range" msgstr "Фокусный диапазон" #: src/sigmamn.cpp:81 msgid "Lens focal length range" msgstr "Фокусный диапазон объектива" #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 msgid "Shadow" msgstr "Тень" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 msgid "Highlight" msgstr "Светлые области" #: src/sigmamn.cpp:104 msgid "Fill Light" msgstr "Заполняющий свет" #: src/sigmamn.cpp:105 #, fuzzy msgid "X3 Fill light" msgstr "Заполняющий свет" #: src/sigmamn.cpp:107 msgid "Color Adjustment" msgstr "Режим коррекции" #: src/sigmamn.cpp:108 msgid "Color adjustment" msgstr "Режим коррекции" #: src/sigmamn.cpp:110 msgid "Adjustment Mode" msgstr "Режим коррекции" #: src/sigmamn.cpp:111 msgid "Adjustment mode" msgstr "Режим коррекции" #: src/sigmamn.cpp:122 msgid "Auto Bracket" msgstr "Автобрекетирование" #: src/sigmamn.cpp:123 src/tags.cpp:1497 msgid "Auto bracket" msgstr "Автобрекетирование" #: src/sigmamn.cpp:127 #, fuzzy msgid "Unknown SigmaMakerNote tag" msgstr "Неизвестный тэг CanonMakerNote" #: src/sigmamn.cpp:170 msgid "8-Segment" msgstr "" #: src/sonymn.cpp:131 msgid "Advanced Lv1" msgstr "" #: src/sonymn.cpp:132 msgid "Advanced Lv2" msgstr "" #: src/sonymn.cpp:133 msgid "Advanced Lv3" msgstr "" #: src/sonymn.cpp:134 msgid "Advanced Lv4" msgstr "" #: src/sonymn.cpp:135 msgid "Advanced Lv5" msgstr "" #: src/sonymn.cpp:154 #, fuzzy msgid "Night Scene / Twilight" msgstr "Ночная съёмка" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "" #: src/sonymn.cpp:156 #, fuzzy msgid "Twilight Portrait" msgstr "Ночной портрет" #: src/sonymn.cpp:157 #, fuzzy msgid "Soft Snap / Portrait" msgstr "Портрет" #: src/sonymn.cpp:159 #, fuzzy msgid "Smile Shutter" msgstr "Скорость срабатывания затвора" #: src/sonymn.cpp:161 #, fuzzy msgid "High Sensitivity" msgstr "Спектральная чувствительность" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "" #: src/sonymn.cpp:166 #, fuzzy msgid "Sweep Panorama" msgstr "Панорама" #: src/sonymn.cpp:168 #, fuzzy msgid "Anti Motion Blur" msgstr "Портретный режим" #: src/sonymn.cpp:170 #, fuzzy msgid "Backlight Correction HDR" msgstr "Без коррекции" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "" #: src/sonymn.cpp:172 #, fuzzy msgid "Background Defocus" msgstr "Ручная фокусировка" #: src/sonymn.cpp:173 #, fuzzy msgid "Soft Skin" msgstr "О снимке" #: src/sonymn.cpp:174 #, fuzzy msgid "3D Image" msgstr "Уникальный ID изображения" #: src/sonymn.cpp:189 #, fuzzy msgid "On (Continuous)" msgstr "Продолжительный ведущий режим" #: src/sonymn.cpp:190 #, fuzzy msgid "On (Shooting)" msgstr "Режим съемки" #: src/sonymn.cpp:198 msgid "Plus" msgstr "" #: src/sonymn.cpp:214 #, fuzzy msgid "White Flourescent" msgstr "Флуоресцентная лампа" #: src/sonymn.cpp:215 #, fuzzy msgid "Cool White Flourescent" msgstr "Флуоресцентная лампа" #: src/sonymn.cpp:216 #, fuzzy msgid "Day White Flourescent" msgstr "Флуоресцентная лампа" #: src/sonymn.cpp:217 #, fuzzy msgid "Incandescent2" msgstr "Яркая лампа накаливания" #: src/sonymn.cpp:218 #, fuzzy msgid "Warm White Fluorescent" msgstr "Флуоресцентная лампа" #: src/sonymn.cpp:221 #, fuzzy msgid "Underwater 1 (Blue Water)" msgstr "Подводная съемка" #: src/sonymn.cpp:222 #, fuzzy msgid "Underwater 2 (Green Water)" msgstr "Подводная съемка" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "" #: src/sonymn.cpp:237 #, fuzzy msgid "Center AF" msgstr "Центральный" #: src/sonymn.cpp:238 #, fuzzy msgid "Spot AF" msgstr "Спорт" #: src/sonymn.cpp:239 msgid "Flexible Spot AF" msgstr "" #: src/sonymn.cpp:240 #, fuzzy msgid "Touch AF" msgstr "One-touch" #: src/sonymn.cpp:241 #, fuzzy msgid "Manual Focus" msgstr "Ручная фокусировка" #: src/sonymn.cpp:242 #, fuzzy msgid "Face Detected" msgstr "Не удалось прочитать" #: src/sonymn.cpp:257 #, fuzzy msgid "Close Focus" msgstr "AI Focus" #: src/sonymn.cpp:347 src/sonymn.cpp:348 #, fuzzy msgid "Multi Burst Mode" msgstr "Способ фокусировки" #: src/sonymn.cpp:350 src/sonymn.cpp:351 #, fuzzy msgid "Multi Burst Image Width" msgstr "Ширина изображения" #: src/sonymn.cpp:353 src/sonymn.cpp:354 #, fuzzy msgid "Multi Burst Image Height" msgstr "Длина изображения" #: src/sonymn.cpp:364 #, fuzzy msgid "JPEG preview image" msgstr "Версия эскиза" #: src/sonymn.cpp:390 #, fuzzy msgid "Auto HDR" msgstr "Авторские и смежные права" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "" #: src/sonymn.cpp:395 #, fuzzy msgid "Shot Information" msgstr "Способ фокусировки" #: src/sonymn.cpp:400 src/sonymn.cpp:401 #, fuzzy msgid "Sony Model ID" msgstr "ID модели" #: src/sonymn.cpp:403 src/sonymn.cpp:404 #, fuzzy msgid "Color Reproduction" msgstr "Подавление цветного шума" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 #, fuzzy msgid "Dynamic Range Optimizer" msgstr "Настройка баланса белого" #: src/sonymn.cpp:427 src/sonymn.cpp:428 #, fuzzy msgid "Minolta MakerNote" msgstr "Режим замера" #: src/sonymn.cpp:433 src/sonymn.cpp:434 #, fuzzy msgid "Full Image Size" msgstr "Размер изображения" #: src/sonymn.cpp:436 #, fuzzy msgid "Preview Image Size" msgstr "Версия эскиза" #: src/sonymn.cpp:437 #, fuzzy msgid "Preview image size" msgstr "Версия эскиза" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 msgid "AF Illuminator" msgstr "" #: src/sonymn.cpp:454 src/sonymn.cpp:455 #, fuzzy msgid "JPEG Quality" msgstr "Качество" #: src/sonymn.cpp:460 src/sonymn.cpp:461 #, fuzzy msgid "Release Mode" msgstr "Дата пубикации" #: src/sonymn.cpp:464 msgid "Shot number in continuous burst mode" msgstr "" #: src/sonymn.cpp:466 src/sonymn.cpp:467 #, fuzzy msgid "Anti-Blur" msgstr "Антиразмывание" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 #, fuzzy msgid "Long Exposure Noise Reduction" msgstr "Подавление шума при длительной выдержке" #: src/sonymn.cpp:475 src/sonymn.cpp:476 #, fuzzy msgid "Intelligent Auto" msgstr "Фокусное расстояние" #: src/sonymn.cpp:483 #, fuzzy msgid "Unknown Sony1MakerNote tag" msgstr "Неизвестный тэг CanonMakerNote" #: src/sonymn.cpp:497 #, fuzzy msgid "Continuous High" msgstr "Продолжительный ведущий режим" #: src/sonymn.cpp:501 #, fuzzy msgid "Continuous Low" msgstr "Продолжительный ведущий режим" #: src/sonymn.cpp:503 src/sonymn.cpp:504 #, fuzzy msgid "D-Range Optimizer Bracketing Low" msgstr "Оптимизация изображения" #: src/sonymn.cpp:536 #, fuzzy msgid "Autumn" msgstr "Авто" #: src/sonymn.cpp:542 msgid "ADI" msgstr "" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "" #: src/sonymn.cpp:578 #, fuzzy msgid "Auto No Flash" msgstr "Автобрекетирование" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 #, fuzzy msgid "Dynamic Range Optimizer Level" msgstr "Настройка баланса белого" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 #, fuzzy msgid "Creative Style" msgstr "Дата создания" #: src/sonymn.cpp:648 src/sonymn.cpp:649 #, fuzzy msgid "Zone Matching Value" msgstr "Яркость" #: src/sonymn.cpp:666 src/sonymn.cpp:667 msgid "AF With Shutter" msgstr "" #: src/sonymn.cpp:674 src/sonymn.cpp:675 #, fuzzy msgid "High ISO NoiseReduction" msgstr "Подавление шума" #: src/sonymn.cpp:678 src/sonymn.cpp:679 #, fuzzy msgid "Image Style" msgstr "Тип изображения" #: src/sonymn.cpp:704 #, fuzzy msgid "Unknown Sony1 Camera Settings tag" msgstr "Настройка контраста" #: src/sonymn.cpp:768 #, fuzzy msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "Настройка контраста" #: src/tags.cpp:188 msgid "Unknown section" msgstr "Неизвестный раздел" #: src/tags.cpp:189 #, fuzzy msgid "Image data structure" msgstr "Размер изображения" #: src/tags.cpp:190 #, fuzzy msgid "Recording offset" msgstr "Цветовое пространство" #: src/tags.cpp:191 #, fuzzy msgid "Image data characteristics" msgstr "Размер изображения" #: src/tags.cpp:192 msgid "Other data" msgstr "Прочие данные" #: src/tags.cpp:193 msgid "Exif data structure" msgstr "Структура данных Exif" #: src/tags.cpp:195 #, fuzzy msgid "Image configuration" msgstr "Планарная конфигурация" #: src/tags.cpp:196 msgid "User information" msgstr "О пользователе" #: src/tags.cpp:197 msgid "Related file" msgstr "Связанный файл" #: src/tags.cpp:198 msgid "Date and time" msgstr "Дата и время" #: src/tags.cpp:199 msgid "Picture taking conditions" msgstr "Условия съёмки кадра" #: src/tags.cpp:200 msgid "GPS information" msgstr "Информация GPS" #: src/tags.cpp:201 msgid "Interoperability information" msgstr "О совместимости" #: src/tags.cpp:202 msgid "Vendor specific information" msgstr "Специфичная для производителя информация" #: src/tags.cpp:203 #, fuzzy msgid "Adobe DNG tags" msgstr "Adobe RGB" #: src/tags.cpp:204 #, fuzzy msgid "Panasonic RAW tags" msgstr "Неизвестный тэг" #: src/tags.cpp:205 #, fuzzy msgid "TIFF/EP tags" msgstr "ID стандарта TIFF/EP" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "" #: src/tags.cpp:207 #, fuzzy msgid "Adobe OPI tags" msgstr "Adobe RGB" #: src/tags.cpp:208 msgid "Last section" msgstr "Последний раздел" #: src/tags.cpp:224 #, fuzzy msgid "Primary image" msgstr "Версия эскиза" #: src/tags.cpp:225 #, fuzzy msgid "Thumbnail/Preview image" msgstr "Эскиз" #: src/tags.cpp:226 msgid "Primary image, Multi page file" msgstr "" #: src/tags.cpp:227 msgid "Thumbnail/Preview image, Multi page file" msgstr "" #: src/tags.cpp:228 #, fuzzy msgid "Primary image, Transparency mask" msgstr "Прозрачная маска" #: src/tags.cpp:229 msgid "Thumbnail/Preview image, Transparency mask" msgstr "" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "" #: src/tags.cpp:237 msgid "Full-resolution image data" msgstr "" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "" #: src/tags.cpp:245 msgid "inch" msgstr "дюйм" #: src/tags.cpp:252 msgid "CCITT RLE" msgstr "CCITT RLE" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "T4/Group 3 Fax" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "T6/Group 4 Fax" #: src/tags.cpp:255 msgid "LZW" msgstr "LZW" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "" #: src/tags.cpp:257 msgid "JPEG" msgstr "JPEG" #: src/tags.cpp:258 #, fuzzy msgid "Adobe Deflate" msgstr "Pixar Deflate" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "JBIG Ч/Б" #: src/tags.cpp:260 #, fuzzy msgid "JBIG Color" msgstr "Цвет" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "" #: src/tags.cpp:262 #, fuzzy msgid "Epson ERF Compressed" msgstr "Cжатый Nikon NEF" #: src/tags.cpp:263 #, fuzzy msgid "Samsung SRW Compressed" msgstr "Cжатый Nikon NEF" #: src/tags.cpp:264 #, fuzzy msgid "CCITT RLE 1-word" msgstr "CCITT RLE" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "PackBits (Macintosh RLE)" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "Thunderscan RLE" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "IT8 CT Padding" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "IT8 Linework RLE" #: src/tags.cpp:269 msgid "IT8 Monochrome Picture" msgstr "Монохромное изображение IT8" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "IT8 Binary Lineart" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "Pixar Film (10-разрядный LZW)" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "Pixar Log (11-разрядный ZIP)" #: src/tags.cpp:273 msgid "Pixar Deflate" msgstr "Pixar Deflate" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "Kodak DCS Encoding" #: src/tags.cpp:275 msgid "ISO JBIG" msgstr "ISO JBIG" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "SGI Log Luminance RLE" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "SGI Log 24-bits packed" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "Leadtools JPEG 2000" #: src/tags.cpp:279 msgid "Nikon NEF Compressed" msgstr "Cжатый Nikon NEF" #: src/tags.cpp:280 #, fuzzy msgid "Kodak DCR Compressed" msgstr "Cжатый Nikon NEF" #: src/tags.cpp:281 #, fuzzy msgid "Pentax PEF Compressed" msgstr "Cжатый Nikon NEF" #: src/tags.cpp:286 #, fuzzy msgid "White Is Zero" msgstr "Чёрно-белый" #: src/tags.cpp:287 #, fuzzy msgid "Black Is Zero" msgstr "Чёрно-белый" #: src/tags.cpp:288 msgid "RGB" msgstr "RGB" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "Палитра RGB" #: src/tags.cpp:290 msgid "Transparency Mask" msgstr "Прозрачная маска" #: src/tags.cpp:291 src/tags.cpp:330 msgid "CMYK" msgstr "CMYK" #: src/tags.cpp:292 msgid "YCbCr" msgstr "YCbCr" #: src/tags.cpp:293 msgid "CIELab" msgstr "CIELab" #: src/tags.cpp:294 msgid "ICCLab" msgstr "ICCLab" #: src/tags.cpp:295 msgid "ITULab" msgstr "ITULab" #: src/tags.cpp:296 #, fuzzy msgid "Color Filter Array" msgstr "Цветовое пространство" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "Pixar LogL" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "Pixar LogLuv" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "Линейный Raw" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "" #: src/tags.cpp:306 #, fuzzy msgid "Randomized process" msgstr "Обычный процесс проявки" #: src/tags.cpp:311 #, fuzzy msgid "top, left" msgstr "справа налево" #: src/tags.cpp:312 #, fuzzy msgid "top, right" msgstr "Авторские и смежные права" #: src/tags.cpp:313 #, fuzzy msgid "bottom, right" msgstr "слева направо" #: src/tags.cpp:314 #, fuzzy msgid "bottom, left" msgstr "справа налево" #: src/tags.cpp:315 #, fuzzy msgid "left, top" msgstr "слева направо" #: src/tags.cpp:316 #, fuzzy msgid "right, top" msgstr "справа налево" #: src/tags.cpp:317 #, fuzzy msgid "right, bottom" msgstr "сверху вниз" #: src/tags.cpp:318 src/tags.cpp:319 #, fuzzy msgid "left, bottom" msgstr "сверху вниз" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "" #: src/tags.cpp:325 msgid "Horizontal differencing" msgstr "" #: src/tags.cpp:331 #, fuzzy msgid "not CMYK" msgstr "CMYK" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "" #: src/tags.cpp:339 src/tags.cpp:340 #, fuzzy msgid "Undefined data format" msgstr "Неподдерживаемый формат даты" #: src/tags.cpp:345 #, fuzzy msgid "Not indexed" msgstr "Не определено" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "" #: src/tags.cpp:351 msgid "A" msgstr "" #: src/tags.cpp:352 msgid "B" msgstr "" #: src/tags.cpp:353 msgid "C" msgstr "" #: src/tags.cpp:354 msgid "A+B-C" msgstr "" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "" #: src/tags.cpp:362 #, fuzzy msgid "Centered" msgstr "Центральная" #: src/tags.cpp:363 #, fuzzy msgid "Co-sited" msgstr "Крупный план" #: src/tags.cpp:368 msgid "No flash" msgstr "Без вспышки" #: src/tags.cpp:370 #, fuzzy msgid "Fired, return light not detected" msgstr "Вспышка сработала, автоматический режим, возвратный свет не найден" #: src/tags.cpp:371 #, fuzzy msgid "Fired, return light detected" msgstr "Вспышка сработала, автоматический режим, возвратный свет найден" #: src/tags.cpp:372 #, fuzzy msgid "Yes, did not fire" msgstr "Вспышка не сработала" #: src/tags.cpp:373 #, fuzzy msgid "Yes, compulsory" msgstr "авто + подавление эффекта красных глаз" #: src/tags.cpp:374 #, fuzzy msgid "Yes, compulsory, return light not detected" msgstr "Вспышка сработала, автоматический режим, возвратный свет не найден" #: src/tags.cpp:375 #, fuzzy msgid "Yes, compulsory, return light detected" msgstr "Вспышка сработала, автоматический режим, возвратный свет найден" #: src/tags.cpp:376 msgid "No, compulsory" msgstr "" #: src/tags.cpp:377 #, fuzzy msgid "No, did not fire, return light not detected" msgstr "Вспышка сработала, автоматический режим, возвратный свет не найден" #: src/tags.cpp:378 msgid "No, auto" msgstr "Нет, авто" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "Да, авто" #: src/tags.cpp:380 #, fuzzy msgid "Yes, auto, return light not detected" msgstr "Вспышка сработала, автоматический режим, возвратный свет не найден" #: src/tags.cpp:381 #, fuzzy msgid "Yes, auto, return light detected" msgstr "Вспышка сработала, автоматический режим, возвратный свет найден" #: src/tags.cpp:382 msgid "No flash function" msgstr "Нет функции вспышки" #: src/tags.cpp:383 #, fuzzy msgid "No, no flash function" msgstr "Нет функции вспышки" #: src/tags.cpp:384 msgid "Yes, red-eye reduction" msgstr "Да, с подавлением эффекта красных глаз" #: src/tags.cpp:385 #, fuzzy msgid "Yes, red-eye reduction, return light not detected" msgstr "Вспышка сработала, автоматический режим, возвратный свет не найден" #: src/tags.cpp:386 #, fuzzy msgid "Yes, red-eye reduction, return light detected" msgstr "Вспышка сработала, автоматический режим, возвратный свет найден" #: src/tags.cpp:387 #, fuzzy msgid "Yes, compulsory, red-eye reduction" msgstr "авто + подавление эффекта красных глаз" #: src/tags.cpp:388 #, fuzzy msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "Вспышка сработала, автоматический режим, возвратный свет не найден" #: src/tags.cpp:389 #, fuzzy msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "Вспышка сработала, автоматический режим, возвратный свет найден" #: src/tags.cpp:390 #, fuzzy msgid "No, red-eye reduction" msgstr "Да, с подавлением эффекта красных глаз" #: src/tags.cpp:391 #, fuzzy msgid "No, auto, red-eye reduction" msgstr "авто + подавление эффекта красных глаз" #: src/tags.cpp:392 #, fuzzy msgid "Yes, auto, red-eye reduction" msgstr "авто + подавление эффекта красных глаз" #: src/tags.cpp:393 #, fuzzy msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "Вспышка сработала, автоматический режим, возвратный свет не найден" #: src/tags.cpp:394 #, fuzzy msgid "Yes, auto, red-eye reduction, return light detected" msgstr "Вспышка сработала, автоматический режим, возвратный свет найден" #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "" #: src/tags.cpp:408 msgid "Processing Software" msgstr "По обработки" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "" #: src/tags.cpp:412 #, fuzzy msgid "New Subfile Type" msgstr "Тип изображения" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "" #: src/tags.cpp:415 #, fuzzy msgid "Subfile Type" msgstr "Тип изображения" #: src/tags.cpp:416 msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "" #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Количество столбцов данных изображения, равное количеству пикселов на ряд. В " "данных, сжатых по алгоритму JPEG, вместо этого тэга используется маркер." #: src/tags.cpp:425 msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" "Количество рядов данных изображения. В данных, сжатых по алгоритму JPEG, " "вместо этого тэга используется маркер." #: src/tags.cpp:428 msgid "Bits per Sample" msgstr "Битов на сэмпл" #: src/tags.cpp:429 #, fuzzy msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" "Количество битов на компонент изображения. В этом стандарте каждый компонент " "изображения описывается 8 битами, так что значение этого тэга равно 9. См. " "также . В данных, сжатых по алгоритму JPEG, вместо этого " "тэга используется маркер." #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" "Схема сжатия, использованная для данных этого изображения. Когда основное " "изображение сжато по алгоритму JPEG , это обозначение не является " "обязательным и опускается. Когда миниатюры используют JPEG-сжатие, значение " "этого тэга равно 6." #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" "Компоновка пикселов. Если данные сжаты по алгоритму JPEG, вместо этого тэга " "используется JPEG-маркер." #: src/tags.cpp:444 msgid "Thresholding" msgstr "" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" #: src/tags.cpp:448 #, fuzzy msgid "Cell Width" msgstr "Ширина изображения" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" #: src/tags.cpp:452 #, fuzzy msgid "Cell Length" msgstr "Длина изображения" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" #: src/tags.cpp:456 msgid "Fill Order" msgstr "Порядок заполнения" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "" #: src/tags.cpp:459 msgid "Document Name" msgstr "Имя документа" #: src/tags.cpp:460 msgid "The name of the document from which this image was scanned" msgstr "Название отсканированного документа" #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" "Текстовая строка, в которой дается название изображению. Это может быть " "комментарий вроде «Корпоративная тусовка 1988» или что-то наподобие. " "Двухбайтовая кодировка символов не может быть использована. Если она всё же " "необходима, должен быть использован частный тег Exif ." #: src/tags.cpp:470 msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" "Производитель записывающего оборудования. Это изготовитель цифровой " "фотокамеры, сканера, видеодигитайзера или любого другого оборудования, " "которое использовалось для получения этого изображения. Если поле не " "заполнено, производитель считается неизвестным." #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" "Имя или номер модели использованного оборудования. Это имя модели или номер " "цифровой камеры (DSC), сканера, видеодигитайзера или любого другого " "оборудования, которое использовалось для получения этого изображения. Если " "поле не заполнено, оборудование считается неизвестным." #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "Ориентация изображения, рассматриваемая в терминах строк и столбцов." #: src/tags.cpp:491 msgid "Samples per Pixel" msgstr "Сэмплов на пиксел" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" "Количество компонентов на один пиксел. Поскольку стандарт применяется к " "изображениям в цветовых пространствах RGB и YCbCr, значение этого тэга равно " "3. Если данные сжаты по алгоритму JPEG, вместо этого тэга используется JPEG-" "маркер." #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" #: src/tags.cpp:502 #, fuzzy msgid "Strip Byte Count" msgstr "Выдержка" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" #: src/tags.cpp:506 msgid "X-Resolution" msgstr "Разрешение по X" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" "Количество пикселов на в направлении . Если " "разрешение не указано, оно принимается за 72 точки на дюйм." #: src/tags.cpp:510 msgid "Y-Resolution" msgstr "Разрешение по Y" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" "Количество пикселов на в направлении . " "Остальное аналогично ." #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" #: src/tags.cpp:520 #, fuzzy msgid "Gray Response Unit" msgstr "Использованная точка AF" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "" #: src/tags.cpp:523 #, fuzzy msgid "Gray Response Curve" msgstr "Кривая тонкоррекции" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "" #: src/tags.cpp:526 #, fuzzy msgid "T4 Options" msgstr "Параметр" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "" #: src/tags.cpp:529 #, fuzzy msgid "T6 Options" msgstr "Параметр" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "" #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" "Единица измерения и . Та же самая единица " "используется как для , так и для . Если разрешение " "изображения неизвестно, оно принимается за 2 (дюйма)." #: src/tags.cpp:537 #, fuzzy msgid "Page Number" msgstr "Номер изображения" #: src/tags.cpp:538 #, fuzzy msgid "The page number of the page from which this image was scanned." msgstr "Название отсканированного документа" #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" "Функция передачи для изображения, описанная в виде таблицы. Обычно этот тэг " "не является необходимым, поскольку цветовое пространство уже указано в тэге " "." #: src/tags.cpp:546 msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" "В этом тэге записывается название и версия программного обеспечения или " "прошивки камеры либо устройства ввода изображения, использованного для " "создания этого изображения. Подробный стандарт не специфицирован, однако " "рекомендуется следовать приведённому ниже примеру. Когда поле оставлено " "пустым, значение принимается за неизвестное." #: src/tags.cpp:553 msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" "Дата и время создания изображения. В текущей версии стандарта Exif это дата " "и время изменения файла." #: src/tags.cpp:557 msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" "В этом теге записывается имя владельца камеры, фотографа или создателя " "изображения. Подробный стандарт не специфицирован, однако рекомендуется " "следовать приведённому ниже примеру. Когда поле оставлено пустым, значение " "принимается за неизвестное." #: src/tags.cpp:564 msgid "Host Computer" msgstr "" #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" #: src/tags.cpp:568 #, fuzzy msgid "Predictor" msgstr "Создатель" #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" #: src/tags.cpp:573 msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" "Хроматичность белой точки изображения. Обычно этот тег не является " "необходимым, поскольку цветовое пространство уже указано в теге ." #: src/tags.cpp:578 #, fuzzy msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" "Хроматичность белой точки изображения. Обычно этот тег не является " "необходимым, поскольку цветовое пространство уже указано в теге ." #: src/tags.cpp:582 #, fuzzy msgid "Color Map" msgstr "Цветовое пространство" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" #: src/tags.cpp:593 #, fuzzy msgid "Tile Width" msgstr "Ширина изображения" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "" #: src/tags.cpp:596 #, fuzzy msgid "Tile Length" msgstr "Длина изображения" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "" #: src/tags.cpp:599 #, fuzzy msgid "Tile Offsets" msgstr "Режим захвата" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" #: src/tags.cpp:605 #, fuzzy msgid "Tile Byte Counts" msgstr "Выдержка" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" #: src/tags.cpp:609 #, fuzzy msgid "SubIFD Offsets" msgstr "Режим захвата" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "Определено Adobe Corporation для включения TIFF Trees в файлах TIFF." #: src/tags.cpp:612 #, fuzzy msgid "Ink Set" msgstr "Установить" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:615 #, fuzzy msgid "Ink Names" msgstr "Имя владельца" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:618 #, fuzzy msgid "Number Of Inks" msgstr "Число F" #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" #: src/tags.cpp:621 #, fuzzy msgid "Dot Range" msgstr "Динамический диапазон" #: src/tags.cpp:622 #, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "" #: src/tags.cpp:624 #, fuzzy msgid "Target Printer" msgstr "Диафрагма" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "" #: src/tags.cpp:627 #, fuzzy msgid "Extra Samples" msgstr "Битов на сэмпл" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" #: src/tags.cpp:631 #, fuzzy msgid "Sample Format" msgstr "Формат файла" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "" #: src/tags.cpp:634 #, fuzzy msgid "SMin Sample Value" msgstr "Частота сэмплирования звукозаписи" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "" #: src/tags.cpp:637 #, fuzzy msgid "SMax Sample Value" msgstr "Максимально открытая диафрагма" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "" #: src/tags.cpp:640 msgid "Transfer Range" msgstr "Область передачи" #: src/tags.cpp:641 msgid "Expands the range of the TransferFunction" msgstr "" #: src/tags.cpp:643 msgid "Clip Path" msgstr "" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" #: src/tags.cpp:647 msgid "X Clip Path Units" msgstr "" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:651 msgid "Y Clip Path Units" msgstr "" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" #: src/tags.cpp:660 #, fuzzy msgid "JPEG tables" msgstr "Сжатие JPEG" #: src/tags.cpp:661 msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" #: src/tags.cpp:668 #, fuzzy msgid "JPEG Process" msgstr "Сжатие JPEG" #: src/tags.cpp:669 msgid "This field indicates the process used to produce the compressed data" msgstr "" #: src/tags.cpp:671 msgid "JPEG Interchange Format" msgstr "Формат обмена данными JPEG" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" #: src/tags.cpp:675 #, fuzzy msgid "JPEG Interchange Format Length" msgstr "Формат обмена данными JPEG" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "" #: src/tags.cpp:684 #, fuzzy msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "" "Этот тэг отображает направление обработки резкости при съёмке изображения" #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "" #: src/tags.cpp:694 #, fuzzy msgid "JPEG Q-Tables" msgstr "Сжатие JPEG" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" #: src/tags.cpp:698 #, fuzzy msgid "JPEG DC-Tables" msgstr "Сжатие JPEG" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" #: src/tags.cpp:702 #, fuzzy msgid "JPEG AC-Tables" msgstr "Сжатие JPEG" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" #: src/tags.cpp:707 msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" "Коэффициенты матрицы для преобразования данных ихображения из RGB в YCbCr. В " "TIFF нет значений по умолчанию, но указанные в Приложении E, \"Color Space " "Guidelines\" значения используются как таковые. Цветовое пространство " "объявленов тэге информации о цветовом пространстве, причём по умолчанию " "используется значение, которое обеспечивает оптимальные характеристики " "совместимости." #: src/tags.cpp:715 msgid "YCbCr Sub-Sampling" msgstr "Субсэмплинг YCbCr" #: src/tags.cpp:716 #, fuzzy msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Компоновка пикселов. Если данные сжаты по алгоритму JPEG, вместо этого тэга " "используется JPEG-маркер." #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" "Позиция компонентов цветности по отношению к компоненту яркости. Это поле " "предназначено только для данных, сжатых по алгоритму JPEG, а также для " "несжатых данных YCbCr data. Исходное значение для TIFF равно 1 (по центру); " "но когда Y:Cb:Cr = 4:2:2, для записи данных рекомендуется использовать 2 (по " "бокам), чтобы улучшить качество изображения при просмотре через ТВ. Если это " "поле отсутствует, считывающая программа использует исходное значение для " "TIFF. Когда Y:Cb:Cr = 4:2:0, рекомендуется исходное значение для TIFF (по " "центру). Если считывающая программа не поддерживает оба вида " ", она использует исходное значение для TIFF вне " "зависимости от того, какое значение записано в поле на самом деле. " "Предпочтительнее, когда считывающая программа поддерживает оба типа " "позиционирования." #: src/tags.cpp:735 msgid "Reference Black/White" msgstr "Эталонный Чёрный/Белый" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" "Эталонное значение чёрной и белой точек. В TIFF нет значений по умолчанию, " "но указанные ниже значения используются как таковые. Цветовое пространство " "объявлено в поле информации о цветовом пространстве, причём по умолчанию " "используется значение, которое обеспечивает оптимальные характеристики " "совместимости." #: src/tags.cpp:743 msgid "XML Packet" msgstr "XML-пакет" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "Метаданные XMP (Adobe technote 9-14-02)" #: src/tags.cpp:746 msgid "Windows Rating" msgstr "Оценка в Windows" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "Поле оценки, используемое Windows" #: src/tags.cpp:749 msgid "Windows Rating Percent" msgstr "Процентная оценка в Windows" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "Поле оценки, используемое Windows, процентное значение" #: src/tags.cpp:752 #, fuzzy msgid "Image ID" msgstr "Уникальный ID изображения" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" #: src/tags.cpp:770 msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" #: src/tags.cpp:789 #, fuzzy msgid "Exposure time, given in seconds." msgstr "Время экспозиции в секундах" #: src/tags.cpp:790 src/tags.cpp:1553 msgid "The F number." msgstr "Число F" #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "IPTC/NAA" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "Содержит запись IPTC/NAA" #: src/tags.cpp:794 msgid "Image Resources Block" msgstr "" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "" #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" #: src/tags.cpp:803 #, fuzzy msgid "Inter Color Profile" msgstr "Цветовое пространство" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" "Класс программы, использованной камерой для установки экспозиции при съёмке." #: src/tags.cpp:807 #, fuzzy msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "Этот тэг отображает режим баланса белого при съёмке изображения." #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" #: src/tags.cpp:813 src/tags.cpp:1564 #, fuzzy msgid "ISO Speed Ratings" msgstr "Настройка резкости" #: src/tags.cpp:813 src/tags.cpp:1565 msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" #: src/tags.cpp:814 msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" #: src/tags.cpp:815 #, fuzzy msgid "Interlace" msgstr "Intel" #: src/tags.cpp:815 #, fuzzy msgid "Indicates the field number of multifield images." msgstr "Показывает макет изображения" #: src/tags.cpp:816 #, fuzzy msgid "Time Zone Offset" msgstr "Режим захвата" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" #: src/tags.cpp:823 #, fuzzy msgid "Self Timer Mode" msgstr "Серийный номер" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "" #: src/tags.cpp:824 #, fuzzy msgid "Date Time Original" msgstr "Исходная дата и время" #: src/tags.cpp:824 #, fuzzy msgid "The date and time when the original image data was generated." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/tags.cpp:825 #, fuzzy msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "" "Специфичная для сжатых данных информация. Использованный режим сжатия для " "сжатого изображения показывается в единице измерения \"битов на пиксел\"" #: src/tags.cpp:826 #, fuzzy msgid "Shutter speed." msgstr "Скорость срабатывания затвора" #: src/tags.cpp:827 #, fuzzy msgid "The lens aperture." msgstr "Максимально открытая диафрагма" #: src/tags.cpp:828 #, fuzzy msgid "The value of brightness." msgstr "Число F" #: src/tags.cpp:829 #, fuzzy msgid "The exposure bias." msgstr "Смещение экспозиции" #: src/tags.cpp:830 src/tags.cpp:1645 #, fuzzy msgid "Max Aperture Value" msgstr "Максимально открытая диафрагма" #: src/tags.cpp:830 #, fuzzy msgid "The smallest F number of the lens." msgstr "Вид источника света" #: src/tags.cpp:831 src/tags.cpp:1651 msgid "The distance to the subject, given in meters." msgstr "Расстояние до объекта в метрах" #: src/tags.cpp:832 src/tags.cpp:1654 msgid "The metering mode." msgstr "Режим замера" #: src/tags.cpp:833 src/tags.cpp:1657 msgid "The kind of light source." msgstr "Вид источника света" #: src/tags.cpp:834 #, fuzzy msgid "Indicates the status of flash when the image was shot." msgstr "Этот тэг отображает режим баланса белого при съёмке изображения." #: src/tags.cpp:835 msgid "The actual focal length of the lens, in mm." msgstr "" #: src/tags.cpp:836 msgid "Amount of flash energy (BCPS)." msgstr "" #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "" #: src/tags.cpp:838 #, fuzzy msgid "Noise" msgstr "Ничего" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "" #: src/tags.cpp:839 #, fuzzy msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" "Количество пикселов на в направлении . " "Остальное аналогично ." #: src/tags.cpp:840 #, fuzzy msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" "Количество пикселов на в направлении . " "Остальное аналогично ." #: src/tags.cpp:841 msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "" #: src/tags.cpp:843 msgid "Security Classification" msgstr "" #: src/tags.cpp:843 msgid "Security classification assigned to the image." msgstr "" #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "" #: src/tags.cpp:845 #, fuzzy msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "" "Это поле хранит информацию о местоположении и области объекта съёмки во всей " "сцене." #: src/tags.cpp:846 msgid "Encodes the camera exposure index setting when image was captured." msgstr "" #: src/tags.cpp:847 msgid "TIFF/EP Standard ID" msgstr "ID стандарта TIFF/EP" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" #: src/tags.cpp:851 #, fuzzy msgid "Type of image sensor." msgstr "Номер изображения" #: src/tags.cpp:852 msgid "Windows Title" msgstr "Название (Windows)" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "Поле названия, используемое в Windows, кодированное в UCS2" #: src/tags.cpp:855 msgid "Windows Comment" msgstr "Комментарий (Windows)" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "Поле комментария, используемое в Windows, кодированное в UCS2" #: src/tags.cpp:858 msgid "Windows Author" msgstr "Автор (Windows)" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "Поле автора, используемое в Windows, кодированное в UCS2" #: src/tags.cpp:861 msgid "Windows Keywords" msgstr "Ключевые слова (Windows)" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "Поле ключевых слов, используемое в Windows, кодированное в UCS2" #: src/tags.cpp:864 #, fuzzy msgid "Windows Subject" msgstr "Пользовательский комментарий" #: src/tags.cpp:865 #, fuzzy msgid "Subject tag used by Windows, encoded in UCS2" msgstr "Поле автора, используемое в Windows, кодированное в UCS2" #: src/tags.cpp:867 msgid "Print Image Matching" msgstr "" #: src/tags.cpp:868 msgid "Print Image Matching, description needed." msgstr "" #: src/tags.cpp:870 #, fuzzy msgid "DNG version" msgstr "Версия PDF" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" #: src/tags.cpp:875 #, fuzzy msgid "DNG backward version" msgstr "Версия прошивки" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" #: src/tags.cpp:884 #, fuzzy msgid "Unique Camera Model" msgstr "Модель камеры" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" #: src/tags.cpp:892 #, fuzzy msgid "Localized Camera Model" msgstr "Модель камеры" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" #: src/tags.cpp:897 #, fuzzy msgid "CFA Plane Color" msgstr "Паттерн CFA" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" #: src/tags.cpp:902 msgid "CFA Layout" msgstr "" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "" #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" #: src/tags.cpp:912 #, fuzzy msgid "Black Level Repeat Dim" msgstr "Заряд батареи" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "" #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" #: src/tags.cpp:921 #, fuzzy msgid "Black Level Delta H" msgstr "Заряд батареи" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" #: src/tags.cpp:928 #, fuzzy msgid "Black Level Delta V" msgstr "Заряд батареи" #: src/tags.cpp:929 msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" #: src/tags.cpp:935 #, fuzzy msgid "White Level" msgstr "Заряд батареи" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" #: src/tags.cpp:941 #, fuzzy msgid "Default Scale" msgstr "По умолчанию" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" #: src/tags.cpp:957 #, fuzzy msgid "Default Crop Size" msgstr "По умолчанию" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" #: src/tags.cpp:964 #, fuzzy msgid "Color Matrix 1" msgstr "Цветовое пространство" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" #: src/tags.cpp:971 #, fuzzy msgid "Color Matrix 2" msgstr "Цветовое пространство" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" #: src/tags.cpp:977 #, fuzzy msgid "Camera Calibration 1" msgstr "Настройка контраста" #: src/tags.cpp:978 msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:987 #, fuzzy msgid "Camera Calibration 2" msgstr "Настройка контраста" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:997 #, fuzzy msgid "Reduction Matrix 1" msgstr "Цветовое пространство" #: src/tags.cpp:998 msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1004 #, fuzzy msgid "Reduction Matrix 2" msgstr "Цветовое пространство" #: src/tags.cpp:1005 msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1011 #, fuzzy msgid "Analog Balance" msgstr "Баланс белого" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" #: src/tags.cpp:1021 #, fuzzy msgid "As Shot Neutral" msgstr "внешняя" #: src/tags.cpp:1022 msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" #: src/tags.cpp:1027 msgid "As Shot White XY" msgstr "" #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" #: src/tags.cpp:1032 #, fuzzy msgid "Baseline Exposure" msgstr "Режим экспозиции" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" #: src/tags.cpp:1047 #, fuzzy msgid "Baseline Noise" msgstr "Режим экспозиции" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" #: src/tags.cpp:1054 #, fuzzy msgid "Baseline Sharpness" msgstr "Резкость" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" #: src/tags.cpp:1061 msgid "Bayer Green Split" msgstr "" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" #: src/tags.cpp:1070 msgid "Linear Response Limit" msgstr "" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" #: src/tags.cpp:1079 #, fuzzy msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" "Серийный номер камеры или задника камеры, использовавшегося для съемки." #: src/tags.cpp:1082 #, fuzzy msgid "Lens Info" msgstr "Объектив" #: src/tags.cpp:1083 msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" #: src/tags.cpp:1095 #, fuzzy msgid "Anti Alias Strength" msgstr "Фокусное расстояние" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" #: src/tags.cpp:1102 #, fuzzy msgid "Shadow Scale" msgstr "Тень" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" #: src/tags.cpp:1106 #, fuzzy msgid "DNG Private Data" msgstr "Данные эскиза" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" #: src/tags.cpp:1111 #, fuzzy msgid "MakerNote Safety" msgstr "Данные производителя" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" #: src/tags.cpp:1119 msgid "Calibration Illuminant 1" msgstr "" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" #: src/tags.cpp:1125 #, fuzzy msgid "Calibration Illuminant 2" msgstr "Без коррекции" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" #: src/tags.cpp:1132 #, fuzzy msgid "Best Quality Scale" msgstr "По умолчанию" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" #: src/tags.cpp:1140 #, fuzzy msgid "Raw Data Unique ID" msgstr "Уникальный ID изображения" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" #: src/tags.cpp:1149 #, fuzzy msgid "Original Raw File Name" msgstr "Имя файла" #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" #: src/tags.cpp:1153 #, fuzzy msgid "Original Raw File Data" msgstr "Имя файла" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" #: src/tags.cpp:1164 #, fuzzy msgid "Active Area" msgstr "Область объекта съёмки" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" #: src/tags.cpp:1168 #, fuzzy msgid "Masked Areas" msgstr "Ручная" #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" #: src/tags.cpp:1176 #, fuzzy msgid "As-Shot ICC Profile" msgstr "Профиль камеры" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" #: src/tags.cpp:1188 msgid "As-Shot Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" #: src/tags.cpp:1198 #, fuzzy msgid "Current ICC Profile" msgstr "Профиль камеры" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1205 #, fuzzy msgid "Current Pre-Profile Matrix" msgstr "Профиль камеры" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1212 #, fuzzy msgid "Colorimetric Reference" msgstr "Эталонный Чёрный/Белый" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" #: src/tags.cpp:1220 #, fuzzy msgid "Camera Calibration Signature" msgstr "Настройка контраста" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" #: src/tags.cpp:1227 #, fuzzy msgid "Profile Calibration Signature" msgstr "Без коррекции" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" #: src/tags.cpp:1234 #, fuzzy msgid "As Shot Profile Name" msgstr "Профиль камеры" #: src/tags.cpp:1235 msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" #: src/tags.cpp:1238 #, fuzzy msgid "Noise Reduction Applied" msgstr "Подавление шума" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" #: src/tags.cpp:1246 #, fuzzy msgid "Profile Name" msgstr "Имя владельца" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1279 #, fuzzy msgid "Profile Tone Curve" msgstr "Кривая тонкоррекции" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" #: src/tags.cpp:1288 msgid "Profile Embed Policy" msgstr "" #: src/tags.cpp:1289 msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" #: src/tags.cpp:1292 #, fuzzy msgid "Profile Copyright" msgstr "Авторские права" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" #: src/tags.cpp:1297 #, fuzzy msgid "Forward Matrix 1" msgstr "Цветовое пространство" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" #: src/tags.cpp:1301 #, fuzzy msgid "Forward Matrix 2" msgstr "Цветовое пространство" #: src/tags.cpp:1305 #, fuzzy msgid "Preview Application Name" msgstr "Данные эскиза" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" #: src/tags.cpp:1309 #, fuzzy msgid "Preview Application Version" msgstr "Версия эскиза" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" #: src/tags.cpp:1313 #, fuzzy msgid "Preview Settings Name" msgstr "Версия эскиза" #: src/tags.cpp:1314 msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" #: src/tags.cpp:1317 #, fuzzy msgid "Preview Settings Digest" msgstr "Настройки камеры" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" #: src/tags.cpp:1321 #, fuzzy msgid "Preview Color Space" msgstr "Цветовое пространство" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" #: src/tags.cpp:1326 #, fuzzy msgid "Preview Date Time" msgstr "Данные эскиза" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" #: src/tags.cpp:1331 #, fuzzy msgid "Raw Image Digest" msgstr "Номер изображения" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" #: src/tags.cpp:1337 #, fuzzy msgid "Original Raw File Digest" msgstr "Имя файла" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" #: src/tags.cpp:1387 #, fuzzy msgid "Noise Profile" msgstr "Цветовое пространство" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" #: src/tags.cpp:1396 src/tags.cpp:1397 msgid "Unknown IFD tag" msgstr "Неизвестное поле IFD" #: src/tags.cpp:1408 src/tags.cpp:1466 msgid "Not defined" msgstr "Не определено" #: src/tags.cpp:1413 msgid "Creative program" msgstr "Творческая программа" #: src/tags.cpp:1414 #, fuzzy msgid "Action program" msgstr "Нормальная программа" #: src/tags.cpp:1415 msgid "Portrait mode" msgstr "Портретный режим" #: src/tags.cpp:1416 msgid "Landscape mode" msgstr "Альбомный режим" #: src/tags.cpp:1425 msgid "Multi-spot" msgstr "" #: src/tags.cpp:1437 #, fuzzy msgid "Tungsten (incandescent light)" msgstr "Яркая лампа накаливания" #: src/tags.cpp:1439 msgid "Fine weather" msgstr "Ясная погода" #: src/tags.cpp:1440 msgid "Cloudy weather" msgstr "Облачность" #: src/tags.cpp:1442 msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "Флуоресцентная лампа дневного света (D 5700 - 7100K)" #: src/tags.cpp:1443 #, fuzzy msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "Флуоресцентная лампа дневного света (D 5700 - 7100K)" #: src/tags.cpp:1444 #, fuzzy msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "Флуоресцентная лампа дневного света (D 5700 - 7100K)" #: src/tags.cpp:1445 #, fuzzy msgid "White fluorescent (WW 3200 - 3700K)" msgstr "Флуоресцентная лампа дневного света (D 5700 - 7100K)" #: src/tags.cpp:1446 msgid "Standard light A" msgstr "Стандартный свет A" #: src/tags.cpp:1447 msgid "Standard light B" msgstr "Стандартный свет B" #: src/tags.cpp:1448 msgid "Standard light C" msgstr "Стандартный свет C" #: src/tags.cpp:1449 msgid "D55" msgstr "D55" #: src/tags.cpp:1450 msgid "D65" msgstr "D65" #: src/tags.cpp:1451 msgid "D75" msgstr "D75" #: src/tags.cpp:1452 msgid "D50" msgstr "D50" #: src/tags.cpp:1453 #, fuzzy msgid "ISO studio tungsten" msgstr "Скорость ISO" #: src/tags.cpp:1454 msgid "Other light source" msgstr "Другой источник света" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "Не откалибровано" #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "" #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "" #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "" #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "" #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "" #: src/tags.cpp:1472 msgid "Color sequential linear" msgstr "" #: src/tags.cpp:1477 msgid "Film scanner" msgstr "Сканер фотопленки" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "" #: src/tags.cpp:1479 msgid "Digital still camera" msgstr "Цифровая фотокамера" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "" #: src/tags.cpp:1489 msgid "Normal process" msgstr "Обычный процесс проявки" #: src/tags.cpp:1490 msgid "Custom process" msgstr "Другой процесс проявки" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "" #: src/tags.cpp:1519 msgid "High gain up" msgstr "" #: src/tags.cpp:1520 #, fuzzy msgid "Low gain down" msgstr "Местоположение объекта съёмки" #: src/tags.cpp:1521 msgid "High gain down" msgstr "" #: src/tags.cpp:1542 msgid "Close view" msgstr "Крупный план" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "" #: src/tags.cpp:1550 msgid "Exposure time, given in seconds (sec)." msgstr "Время экспозиции в секундах" #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "" #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" #: src/tags.cpp:1573 #, fuzzy msgid "Sensitivity Type" msgstr "Спектральная чувствительность" #: src/tags.cpp:1574 msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" #: src/tags.cpp:1580 #, fuzzy msgid "Standard Output Sensitivity" msgstr "Спектральная чувствительность" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1585 #, fuzzy msgid "Recommended Exposure Index" msgstr "Режим экспозиции" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1595 #, fuzzy msgid "ISO Speed Latitude yyy" msgstr "Скорость ISO" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" #: src/tags.cpp:1600 #, fuzzy msgid "ISO Speed Latitude zzz" msgstr "Скорость ISO" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" "Поддерживаемая версия стандарта Exif. Отсутствие этого поля принимается за " "свидетельство несоответствия стандарту." #: src/tags.cpp:1609 msgid "Date and Time (original)" msgstr "Исходная дата и время" #: src/tags.cpp:1610 msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" "Дата и время создания исходного изображения. Для цифровой фотокамеры это " "дата и время съёмки." #: src/tags.cpp:1613 msgid "Date and Time (digitized)" msgstr "Дата и время оцифровки" #: src/tags.cpp:1614 msgid "The date and time when the image was stored as digital data." msgstr "Дата и время сохранения изображения в цифровом виде" #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" "Специфичная для сжатых данных информация. Каналы каждого компонента " "расставлены в порядке от первого до четвёртого. Для несжатых данных порядок " "расстановки данных задаётся в тэге . Во всяком " "случае, поскольку может выражать лишь порядок Y, " "Cb и Cr, этот тэг записывается на тот случай, когда в сжатых данных " "используются компоненты, отличные от Y, Cb и Cr, а также для обеспечения " "поддержки обеих последовательностей." #: src/tags.cpp:1626 msgid "Compressed Bits per Pixel" msgstr "Сжатых битов на пиксел" #: src/tags.cpp:1627 msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" "Специфичная для сжатых данных информация. Использованный режим сжатия для " "сжатого изображения показывается в единице измерения \"битов на пиксел\"" #: src/tags.cpp:1631 #, fuzzy msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" "Скорость срабатывания затвора. Эта единица измерения является APEX(Additive " "System of Photographic Exposure)-настройкой (см. Приложение С)" #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "Диафрагма объектива. Эта единица измерения является APEX-значением" #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" "Значение яркости. Эта единица измерения является APEX-значением. Обычно оно " "находится в пределах от -99.99 до 99.99" #: src/tags.cpp:1641 msgid "Exposure Bias" msgstr "Смещение экспозиции" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" "Смещение экспозиции. Измеряется APEX-единицами. Обычно значение лежит в " "диапазоне между -99.99 и 99.99." #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" "Самое маленькое число F для объектива. Измеряется APEX-единицами. Обычно " "значение лежит в диапазоне между 00.00 и 99.99, но оно не ограничено этим " "диапазоном." #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "Это поле записывается при использовании эффекта стробоскопа во вспышке" #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" "Реальное фокусное расстояние объектива. Преобразование в 35мм плёночный " "аналог не производится." #: src/tags.cpp:1667 msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "" "Это поле хранит информацию о местоположении и области объекта съёмки во всей " "сцене." #: src/tags.cpp:1670 msgid "Maker Note" msgstr "Данные производителя" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" "Поле для разработчиков средства записи тегов Exif, в который можно " "записывать всё, что им хочется. Содержимое зависит от разработчиков." #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" #: src/tags.cpp:1679 #, fuzzy msgid "Sub-seconds Time" msgstr "Исходная дата и время" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "Поле, используемое для записи долей секунды из тега ." #: src/tags.cpp:1682 #, fuzzy msgid "Sub-seconds Time Original" msgstr "Исходная дата и время" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "Поле, используемое для записи долей секунды из тега ." #: src/tags.cpp:1685 #, fuzzy msgid "Sub-seconds Time Digitized" msgstr "Дата и время оцифровки" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "Поле, используемое для записи долей секунды из тега ." #: src/tags.cpp:1688 msgid "FlashPix Version" msgstr "Версия FlashPix" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "Версия формата FlashPix, поддерживаемого в формате файлов FPXR" #: src/tags.cpp:1692 #, fuzzy msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" "Обязательный тэг, в котором определяется цветовое пространство. Как правило, " "в качестве цветового пространства монитора и окружения используется sRGB " "(=1). Если же используется не sRGB, то значение устанавливается как " "Uncalibrated (=FFFF.H). Данные изображения, записанного как Uncalibrated, " "могут быть восприняты как sRGB при преобразовании во FlashPix. Подробнее " "sRGB рассматривается в приложении E." #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" #: src/tags.cpp:1723 #, fuzzy msgid "Interoperability IFD Pointer" msgstr "Версия совместимости" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" #: src/tags.cpp:1740 #, fuzzy msgid "Focal Plane X-Resolution" msgstr "Разрешение по X" #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1744 #, fuzzy msgid "Focal Plane Y-Resolution" msgstr "Разрешение по X" #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" #: src/tags.cpp:1753 #, fuzzy msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" "Этот тэг отображает местоположение главного объекта съёмки в сцене. Значение " "этого тэга представляет пиксел в центре главного объекта относительно левого " "края, до обработки поворота согласно тэгу . Первое значение " "отображает номер столбца по X, а второй - номер строки по Y." #: src/tags.cpp:1759 #, fuzzy msgid "Exposure index" msgstr "Режим экспозиции" #: src/tags.cpp:1760 msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" #: src/tags.cpp:1764 #, fuzzy msgid "Indicates the image sensor type on the camera or input device." msgstr "Расстояние до объекта в метрах" #: src/tags.cpp:1767 #, fuzzy msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" "Этот тэг отображает тип сцены. Если это снимок цифровой фотокамеры, то " "значение тэга всегда должно быть равно 1, что означает непосредственную " "съёмку." #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" "Этот тэг отображает тип сцены. Если это снимок цифровой фотокамеры, то " "значение тэга всегда должно быть равно 1, что означает непосредственную " "съёмку." #: src/tags.cpp:1776 #, fuzzy msgid "Color Filter Array Pattern" msgstr "Цветовое пространство" #: src/tags.cpp:1777 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" "Этот тэг отображает режим экспозиции при съёмке изображения. В режиме " "автоматического брекетинга камера делает серию кадров одной и той же сцены с " "разными настройками экспозиции." #: src/tags.cpp:1793 msgid "This tag indicates the white balance mode set when the image was shot." msgstr "Этот тэг отображает режим баланса белого при съёмке изображения." #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" "Этот тэг отображает коэффициент цифрового трансфокатора при съёмке " "изображения. Если значение равно 0, то цифровой трансфокатор не был " "использован." #: src/tags.cpp:1801 #, fuzzy msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" "Этот тэг отображает фокусное расстояние в 35мм плёночном эквиваленте, " "измеряемом миллиметрами. Если значение равно 0, то фокусное расстояние " "неизвестно. Обратите внимание на то, что этот тэг отличется от ." #: src/tags.cpp:1807 #, fuzzy msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" "Этот тэг отображает фокусное расстояние в 35мм плёночном эквиваленте, " "измеряемом миллиметрами. Если значение равно 0, то фокусное расстояние " "неизвестно. Обратите внимание на то, что этот тэг отличется от ." #: src/tags.cpp:1812 #, fuzzy msgid "This tag indicates the degree of overall image gain adjustment." msgstr "Этот тэг отображает режим баланса белого при съёмке изображения." #: src/tags.cpp:1815 msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" "Этот тэг отображает направление обработки контраста при съёмке изображения" #: src/tags.cpp:1819 msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" "Этот тэг отображает направление обработки насыщенности при съёмке изображения" #: src/tags.cpp:1823 msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" "Этот тэг отображает направление обработки резкости при съёмке изображения" #: src/tags.cpp:1827 msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" #: src/tags.cpp:1832 #, fuzzy msgid "This tag indicates the distance to the subject." msgstr "Расстояние до объекта в метрах" #: src/tags.cpp:1835 msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" #: src/tags.cpp:1839 #, fuzzy msgid "Camera Owner Name" msgstr "Имя владельца" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" #: src/tags.cpp:1843 #, fuzzy msgid "Body Serial Number" msgstr "Серийный номер" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1847 #, fuzzy msgid "Lens Specification" msgstr "Специфичная для производителя информация" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" #: src/tags.cpp:1854 #, fuzzy msgid "Lens Make" msgstr "Тип сцены" #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "" #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1866 src/tags.cpp:1867 msgid "Unknown Exif tag" msgstr "Неизвестный тег Exif" #: src/tags.cpp:1878 msgid "North" msgstr "Север" #: src/tags.cpp:1879 msgid "South" msgstr "Юг" #: src/tags.cpp:1884 msgid "East" msgstr "Восток" #: src/tags.cpp:1885 msgid "West" msgstr "Запад" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "Над уровнем моря" #: src/tags.cpp:1891 msgid "Below sea level" msgstr "Под уровнем моря" #: src/tags.cpp:1896 msgid "Measurement in progress" msgstr "Выполняется измерение" #: src/tags.cpp:1897 #, fuzzy msgid "Measurement Interoperability" msgstr "Выполняется измерение" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "" #: src/tags.cpp:1908 msgid "km/h" msgstr "км/ч" #: src/tags.cpp:1909 msgid "mph" msgstr "миль/ч" #: src/tags.cpp:1910 msgid "knots" msgstr "узлов" #: src/tags.cpp:1915 #, fuzzy msgid "True direction" msgstr "Направление съёмки панорамы" #: src/tags.cpp:1916 #, fuzzy msgid "Magnetic direction" msgstr "Направление снимка GPS" #: src/tags.cpp:1921 #, fuzzy msgid "Kilometers" msgstr "Порядок заполнения" #: src/tags.cpp:1922 #, fuzzy msgid "Miles" msgstr "Файл" #: src/tags.cpp:1923 #, fuzzy msgid "Knots" msgstr "узлов" #: src/tags.cpp:1928 msgid "Without correction" msgstr "Без коррекции" #: src/tags.cpp:1929 #, fuzzy msgid "Correction applied" msgstr "Тонкомпенсация" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" "Показывает версию . В качестве версии указывается 2.0.0.0. При " "наличии тега этот тег обязателен. (Примечание: в отличие от тега " " тег задаётся в байтах. Когда версия равна " "2.0.0.0, значение тега равно 02000000.H)." #: src/tags.cpp:1941 #, fuzzy msgid "GPS Latitude Reference" msgstr "Эталонный Чёрный/Белый" #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" "Показывает, северная широта или же южная. ASCII-значение 'N' обозначает " "северную широту, а 'S' - южную." #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" "Отображает широту, выражаемую тремя RATIONAL-значениями - градусами (dd), " "минутами (mm) и секундами (ss). При это формат таков: dd/1,mm/1,ss/1. Когда " "используются только градусы и минуты, формат таков: dd/1,mmmm/100,0/1." #: src/tags.cpp:1953 #, fuzzy msgid "GPS Longitude Reference" msgstr "Долгота по GPS" #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" "Показывает, восточная долгота или же западная. ASCII-значение 'E' обозначает " "восточную долготу, а 'W' - западную." #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" "Отображает долготу, выражаемую трёмя RATIONAL-значениями - градусами (dd), " "минутами (mm) и секундами (ss). При это формат таков: ddd/1,mm/1,ss/1. Когда " "используются только градусы и минуты, формат таков: ddd/1,mmmm/100,0/1." #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" "Отображает высоту, используемую в качестве эталона. Если эталоном является " "уровень моря, а высота выше его, то указывается 0. Если высота ниже уровня " "моря, то указывается 1, а высота отображается как абсолютное значение в тэге " ". Эталонной единицей измерения является метр. Помните, что этот " "тэг в отличие от других \"эталонных\" тэгов имеет тип BYTE." #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" "Отображает высоту, основываясь на эталоне из тэга . Высота " "выражается RATIONAL значением. Эталонной единицей измерения является метр." #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" #: src/tags.cpp:1998 #, fuzzy msgid "GPS Data Degree of Precision" msgstr "Версия тэга GPS" #: src/tags.cpp:1999 msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" #: src/tags.cpp:2007 msgid "Indicates the speed of GPS receiver movement." msgstr "Скорость перемещения приёмника GPS" #: src/tags.cpp:2009 #, fuzzy msgid "GPS Track Ref" msgstr "Эталонный Чёрный/Белый" #: src/tags.cpp:2010 msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2014 msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2022 msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" #: src/tags.cpp:2029 #, fuzzy msgid "GPS Destination Latitude Reference" msgstr "Расстояние до объекта" #: src/tags.cpp:2030 #, fuzzy msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" "Показывает, северная широта или же южная. ASCII-значение 'N' обозначает " "северную широту, а 'S' - южную." #: src/tags.cpp:2034 #, fuzzy msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" "Отображает широту, выражаемую трёмя RATIONAL-значениями - градусами (dd), " "минутами (mm) и секундами (ss). При это формат таков: dd/1,mm/1,ss/1. Когда " "используются только градусы и минуты, формат таков: dd/1,mmmm/100,0/1." #: src/tags.cpp:2041 #, fuzzy msgid "GPS Destination Longitude Reference" msgstr "Расстояние до объекта" #: src/tags.cpp:2042 #, fuzzy msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" "Показывает, восточная долгота или же западная. ASCII-значение 'E' обозначает " "восточную долготу, а 'W' - западную." #: src/tags.cpp:2046 #, fuzzy msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" "Отображает долготу, выражаемую трёмя RATIONAL-значениями - градусами (dd), " "минутами (mm) и секундами (ss). При это формат таков: ddd/1,mm/1,ss/1. Когда " "используются только градусы и минуты, формат таков: ddd/1,mmmm/100,0/1." #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2057 #, fuzzy msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "Расстояние до объекта в метрах" #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" #: src/tags.cpp:2065 #, fuzzy msgid "Indicates the distance to the destination point." msgstr "Расстояние до объекта в метрах" #: src/tags.cpp:2068 msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" #: src/tags.cpp:2076 #, fuzzy msgid "GPS Date Stamp" msgstr "Отметка времени по GPS" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" #: src/tags.cpp:2081 #, fuzzy msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "" "Этот тэг отображает направление обработки насыщенности при съёмке изображения" #: src/tags.cpp:2084 src/tags.cpp:2085 #, fuzzy msgid "Unknown GPSInfo tag" msgstr "Неизвестный тэг" #: src/tags.cpp:2096 #, fuzzy msgid "Interoperability Index" msgstr "Версия совместимости" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" #: src/tags.cpp:2103 msgid "Interoperability Version" msgstr "Версия совместимости" #: src/tags.cpp:2104 msgid "Interoperability version" msgstr "Версия совместимости" #: src/tags.cpp:2106 #, fuzzy msgid "Related Image File Format" msgstr "Ширина изображения" #: src/tags.cpp:2107 #, fuzzy msgid "File format of image file" msgstr "Не удалось открыть файл\n" #: src/tags.cpp:2109 #, fuzzy msgid "Related Image Width" msgstr "Ширина изображения" #: src/tags.cpp:2112 #, fuzzy msgid "Related Image Length" msgstr "Длина изображения" #: src/tags.cpp:2116 src/tags.cpp:2117 msgid "Unknown Exif Interoperability tag" msgstr "Неизвестный тег совместимости с Exif" #: src/tags.cpp:2128 #, fuzzy msgid "Offset" msgstr "быстрый" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "" #: src/tags.cpp:2131 #, fuzzy msgid "Byte Order" msgstr "Порядок заполнения" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" #: src/tags.cpp:2135 src/tags.cpp:2136 #, fuzzy msgid "Unknown Exiv2 Makernote info tag" msgstr "Неизвестный тег PentaxMakerNote" #: src/tags.cpp:2146 src/tags.cpp:2147 msgid "Unknown tag" msgstr "Неизвестное поле" #: src/tags.cpp:2688 msgid "Digital zoom not used" msgstr "Цифровой трансфокатор не использовался" #: src/tiffimage.cpp:2308 msgid "TIFF header, offset" msgstr "" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "" #, fuzzy #~ msgid "ascii bytes" #~ msgstr "байт" exiv2-0.25/po/en@quot.header0000664000175000017500000000226310521706435015524 0ustar andreasandreas# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # exiv2-0.25/po/ms.po0000664000175000017500000263131712540520175013726 0ustar andreasandreas# Malay translation for exiv2 # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 # This file is distributed under the same license as the exiv2 package. # Abuyop , 2012. msgid "" msgstr "" "Project-Id-Version: exiv2\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: 2014-07-30 18:51+0000\n" "Last-Translator: abuyop \n" "Language-Team: malay loco team\n" "Language: ms\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2015-05-09 22:58+0000\n" "X-Generator: Launchpad (build 17474)\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 msgid "Failed to open the file\n" msgstr "Gagal untuk membuka fail\n" #: src/actions.cpp:282 msgid "File name" msgstr "Nama fail" #: src/actions.cpp:288 msgid "File size" msgstr "Saiz fail" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "Bytes" #: src/actions.cpp:293 msgid "MIME type" msgstr "Jenis MIME" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 msgid "Image size" msgstr "Saiz imej" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 msgid "No Exif data found in the file\n" msgstr "Tiada data Exif ditemui dalam fail\n" #: src/actions.cpp:307 msgid "Camera make" msgstr "Pengeluar Kamera" #: src/actions.cpp:310 msgid "Camera model" msgstr "Model Kamera" #: src/actions.cpp:313 msgid "Image timestamp" msgstr "Setem masa imej" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 msgid "Image number" msgstr "Bilangan imej" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 msgid "Exposure time" msgstr "Masa dedahan" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 msgid "Aperture" msgstr "Bukaan" #: src/actions.cpp:345 msgid "Exposure bias" msgstr "Bias dedahan" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 msgid "Flash" msgstr "Denyar" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 msgid "Flash bias" msgstr "Bias denyar" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 msgid "Focal length" msgstr "Jarak fokus" #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr "Kesetaraan 35 mm" #: src/actions.cpp:373 msgid "Subject distance" msgstr "Jarak subjek" #: src/actions.cpp:387 msgid "ISO speed" msgstr "Kelajuan ISO" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 msgid "Exposure mode" msgstr "Mod dedahan" #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 msgid "Metering mode" msgstr "Mod pemeteran" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 msgid "Macro mode" msgstr "Mod makro" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 msgid "Image quality" msgstr "Kualiti imej" #: src/actions.cpp:403 msgid "Exif Resolution" msgstr "Resolusi Exif" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "Imbangan putih" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 msgid "Thumbnail" msgstr "Thumbnail" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "Tiada" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 msgid "Copyright" msgstr "Hakcipta" #: src/actions.cpp:458 msgid "Exif comment" msgstr "Ulasan Exif" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "Nilai dedua tertindas" #: src/actions.cpp:742 msgid "JPEG comment" msgstr "Ulasan JPEG" #: src/actions.cpp:767 msgid "Preview" msgstr "Pratonton" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "piksel" #: src/actions.cpp:773 src/actions.cpp:1113 msgid "bytes" msgstr "bait" #: src/actions.cpp:820 msgid "Neither tag" msgstr "Tiada tag" #: src/actions.cpp:821 msgid "nor" msgstr "bukan" #: src/actions.cpp:822 msgid "found in the file" msgstr "ditemui dalam fail" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "Setem masa penciptaan fail imej tidak ditetapkan dalam fail" #: src/actions.cpp:833 src/actions.cpp:1590 msgid "Failed to parse timestamp" msgstr "Gagal menghurai setem masa" #: src/actions.cpp:834 msgid "in the file" msgstr "di dalam fail ini" #: src/actions.cpp:845 msgid "Updating timestamp to" msgstr "Mengemaskini setem masa ke" #: src/actions.cpp:939 msgid "Erasing thumbnail data" msgstr "Memadam data thumbnail" #: src/actions.cpp:947 msgid "Erasing Exif data from the file" msgstr "Memadam data Exif dari fail" #: src/actions.cpp:956 msgid "Erasing IPTC data from the file" msgstr "Memadam data IPTC dari fail" #: src/actions.cpp:965 msgid "Erasing JPEG comment from the file" msgstr "Memadam ulasan JPEG dari fail" #: src/actions.cpp:974 msgid "Erasing XMP data from the file" msgstr "Memadam data XMP dari fail" #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "Imej tidak mengandungi thumbnail Exif\n" #: src/actions.cpp:1055 msgid "Writing thumbnail" msgstr "Menulis thumbnail" #: src/actions.cpp:1056 src/actions.cpp:1114 msgid "to file" msgstr "ke fail" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "Data Exif tidak mengandungi thumbnail\n" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "Imej tidak mempunyai pratonton" #: src/actions.cpp:1107 msgid "Writing preview" msgstr "Menulis pratonton" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "Menetap ulasan JPEG" #: src/actions.cpp:1319 msgid "Add" msgstr "Tambah" #: src/actions.cpp:1341 src/actions.cpp:1415 msgid "Warning" msgstr "Amaran" #: src/actions.cpp:1342 src/actions.cpp:1416 msgid "Failed to read" msgstr "Gagal dibaca" #: src/actions.cpp:1344 src/actions.cpp:1418 msgid "value" msgstr "nilai" #: src/actions.cpp:1355 msgid "Set" msgstr "Tetap" #: src/actions.cpp:1427 msgid "Del" msgstr "Del" #: src/actions.cpp:1459 msgid "Reg " msgstr "Reg " #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "Setem masa bagi metadatum dengan kunci" #: src/actions.cpp:1544 msgid "not set\n" msgstr "tidak ditetapkan\n" #: src/actions.cpp:1549 msgid "Adjusting" msgstr "Pelarasan" #: src/actions.cpp:1549 msgid "by" msgstr "oleh" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "tahun" #: src/actions.cpp:1556 msgid "year" msgstr "tahun" #: src/actions.cpp:1564 msgid "months" msgstr "bulan" #: src/actions.cpp:1567 msgid "month" msgstr "bulan" #: src/actions.cpp:1575 msgid "days" msgstr "hari" #: src/actions.cpp:1578 msgid "day" msgstr "hari" #: src/actions.cpp:1584 msgid "s" msgstr "s" #: src/actions.cpp:1600 msgid "Can't adjust timestamp by" msgstr "Tidak dapat laras setem masa mengikut" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 msgid "to" msgstr "ke" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "Tag ISO Exif piawai wujud; tidak diubahsuai\n" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "Menetapkan nilai ISO Exif ke" #: src/actions.cpp:1708 msgid "No Exif user comment found" msgstr "Tiada ulasan pengguna Exif ditemui" #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "Temui ulasan pengguna Exif dengan jenis nilai tidak dijangka" #: src/actions.cpp:1723 msgid "No Exif UNICODE user comment found" msgstr "Tiada ulasan pengguna UNICODE Exif ditemui" #: src/actions.cpp:1729 msgid "Setting Exif UNICODE user comment to" msgstr "Menetapkan ulasan pengguna UNICODE Exif ke" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "Menulis data Exif dari" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "Menulis data IPTC dari" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "Menulis data XMP dari" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "Menulis ulasan JPEG dari" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "Tidak dapat tulis data meta ke fail" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "Format nama fail menghasilkan nama fail kosong bagi fail" #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "Fail ini sudah mempunyai nama yang betul" #: src/actions.cpp:1975 src/exiv2.cpp:168 msgid "File" msgstr "Fail" #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr "wujud. [T]ulis-ganti, [n]ama semula atau [l]angkau?" #: src/actions.cpp:2004 msgid "Renaming file to" msgstr "Menamakan semula fail ke" #: src/actions.cpp:2006 msgid "updating timestamp" msgstr "mengemaskini setem masa" #: src/actions.cpp:2015 msgid "Failed to rename" msgstr "Gagal dinamakan semula" #: src/actions.cpp:2037 msgid "Overwrite" msgstr "Tulis-ganti" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "Hidup" #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "Mati" #: src/canonmn.cpp:363 msgid "Format 1" msgstr "Format 1" #: src/canonmn.cpp:364 msgid "Format 2" msgstr "Format 2" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 msgid "On (1)" msgstr "On (1)" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 msgid "On (2)" msgstr "On (2)" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "sRGB" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 msgid "Adobe RGB" msgstr "Adobe RGB" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "Tidak diketahui" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 msgid "Camera Settings" msgstr "Tetapan Kamera" #: src/canonmn.cpp:383 msgid "Various camera settings" msgstr "Pelbagai tetapan kamera" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 msgid "Focal Length" msgstr "Jarak Fokus" #: src/canonmn.cpp:386 src/sonymn.cpp:394 msgid "Shot Info" msgstr "Maklumat Syot" #: src/canonmn.cpp:386 msgid "Shot information" msgstr "Maklumat syot" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 msgid "Panorama" msgstr "Panorama" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 msgid "Image Type" msgstr "Jenis Imej" #: src/canonmn.cpp:388 msgid "Image type" msgstr "Jenis imej" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 msgid "Firmware Version" msgstr "Veris Perisian Tegar" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 msgid "Firmware version" msgstr "Veris perisian tegar" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 msgid "File Number" msgstr "Bilangan Fail" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 msgid "File number" msgstr "Bilangan fail" #: src/canonmn.cpp:391 msgid "Owner Name" msgstr "Nama Pemilik" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 msgid "Serial Number" msgstr "Nombor Siri" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 msgid "Camera serial number" msgstr "Nombor siri kamera" #: src/canonmn.cpp:393 msgid "Camera Info" msgstr "Maklumat Kamera" #: src/canonmn.cpp:393 msgid "Camera info" msgstr "Maklumat kamera" #: src/canonmn.cpp:394 src/canonmn.cpp:406 msgid "Custom Functions" msgstr "Fungsi Suai" #: src/canonmn.cpp:395 msgid "ModelID" msgstr "ID Model" #: src/canonmn.cpp:395 msgid "Model ID" msgstr "ID Model" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 msgid "Picture Info" msgstr "Maklumat Gambar" #: src/canonmn.cpp:396 msgid "Picture info" msgstr "Maklumat gambar" #: src/canonmn.cpp:397 msgid "Thumbnail Image Valid Area" msgstr "Kawasan Sah Imej Thumbnail" #: src/canonmn.cpp:397 msgid "Thumbnail image valid area" msgstr "Kawasan sah imej thumbnail" #: src/canonmn.cpp:398 msgid "Serial Number Format" msgstr "Format Nombor Siri" #: src/canonmn.cpp:398 msgid "Serial number format" msgstr "Format nombor siri" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 msgid "Super Macro" msgstr "Makro Super" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "Makro super" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF Info" msgstr "Maklumat AF" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF info" msgstr "Maklumat AF" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "Ofset Data Keputusan Asal" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "Ofset data keputusan asal" #: src/canonmn.cpp:402 msgid "White Balance Table" msgstr "Jadual Imbangan Putih" #: src/canonmn.cpp:402 msgid "White balance table" msgstr "Jadual imbangan putih" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 msgid "Lens Model" msgstr "Model Kanta" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 msgid "Lens model" msgstr "Model kanta" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 msgid "Internal Serial Number" msgstr "Nombor Siri Dalaman" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 msgid "Internal serial number" msgstr "Nombor siri dalaman" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "Data Pembuangan Debu" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "Data pembuangan debu" #: src/canonmn.cpp:406 msgid "Custom functions" msgstr "Fungsi suai" #: src/canonmn.cpp:407 msgid "Processing Info" msgstr "Maklumat Pemprosesan" #: src/canonmn.cpp:407 msgid "Processing info" msgstr "Maklumat pemprosesan" #: src/canonmn.cpp:408 msgid "Measured Color" msgstr "Warna Terukur" #: src/canonmn.cpp:408 msgid "Measured color" msgstr "Warna terukur" #: src/canonmn.cpp:409 msgid "ColorSpace" msgstr "Ruang Warna" #: src/canonmn.cpp:413 msgid "VRD Offset" msgstr "Ofset VRD" #: src/canonmn.cpp:413 msgid "VRD offset" msgstr "Ofset VRD" #: src/canonmn.cpp:414 msgid "Sensor Info" msgstr "Maklumat Penderia" #: src/canonmn.cpp:414 msgid "Sensor info" msgstr "Maklumat penderia" #: src/canonmn.cpp:415 msgid "Color Data" msgstr "Data Warna" #: src/canonmn.cpp:415 msgid "Color data" msgstr "Data warna" #: src/canonmn.cpp:417 msgid "Unknown CanonMakerNote tag" msgstr "Tag CanonMakerNote tidak diketahui" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "Ekonomi" #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 msgid "Normal" msgstr "Biasa" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 msgid "Fine" msgstr "Halus" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "RAW" #: src/canonmn.cpp:437 msgid "Superfine" msgstr "Super-halus" #: src/canonmn.cpp:438 msgid "Normal Movie" msgstr "Cereka Biasa" #: src/canonmn.cpp:439 #, fuzzy msgid "Movie (2)" msgstr "Cereka" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 msgid "Auto" msgstr "Auto" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "Mata-merah" #: src/canonmn.cpp:448 msgid "Slow sync" msgstr "Segerak perlahan" #: src/canonmn.cpp:449 msgid "Auto + red-eye" msgstr "Auto + mata-merah" #: src/canonmn.cpp:450 msgid "On + red-eye" msgstr "On + mata-merah" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 msgid "External" msgstr "Luaran" #: src/canonmn.cpp:457 msgid "Single / timer" msgstr "Pemasa / tunggal" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 msgid "Continuous" msgstr "Berterusan" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 msgid "Movie" msgstr "Cereka" #: src/canonmn.cpp:460 msgid "Continuous, speed priority" msgstr "Berterusan, keutamaan kelajuan" #: src/canonmn.cpp:461 msgid "Continuous, low" msgstr "Berterusan, rendah" #: src/canonmn.cpp:462 msgid "Continuous, high" msgstr "Berterusan, tinggi" #: src/canonmn.cpp:467 msgid "One shot AF" msgstr "Satu syot AF" #: src/canonmn.cpp:468 msgid "AI servo AF" msgstr "AI servo AF" #: src/canonmn.cpp:469 msgid "AI focus AF" msgstr "AI fokus AF" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 msgid "Manual focus" msgstr "Fokus manual" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 msgid "Single" msgstr "Tunggal" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 msgid "Pan focus" msgstr "Fokus pan" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 msgid "Large" msgstr "Besar" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 msgid "Medium" msgstr "Sederhana" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 msgid "Small" msgstr "Kecil" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 msgid "Medium 1" msgstr "Medium 1" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 msgid "Medium 2" msgstr "Medium 2" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 msgid "Medium 3" msgstr "Medium 3" #: src/canonmn.cpp:490 msgid "Full auto" msgstr "Auto penuh" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 msgid "Manual" msgstr "Manual" #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 msgid "Landscape" msgstr "Lanskap" #: src/canonmn.cpp:493 msgid "Fast shutter" msgstr "Pengatup pantas" #: src/canonmn.cpp:494 msgid "Slow shutter" msgstr "Pengatup perlahan" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 msgid "Night Scene" msgstr "Adegan Malam" #: src/canonmn.cpp:496 msgid "Gray scale" msgstr "Skala kelabu" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "Sepia" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 msgid "Portrait" msgstr "Potret" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "Sukan" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "Makro / syot dekat" #: src/canonmn.cpp:501 src/fujimn.cpp:149 msgid "Black & white" msgstr "Hitam & Putih" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 msgid "Vivid" msgstr "Terang" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 msgid "Neutral" msgstr "Neutral" #: src/canonmn.cpp:505 msgid "Flash off" msgstr "Denyar dimatikan" #: src/canonmn.cpp:506 msgid "Long shutter" msgstr "Pengatup panjang" #: src/canonmn.cpp:508 msgid "Foliage" msgstr "Dedaun" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 msgid "Indoor" msgstr "Dalam bangunan" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 msgid "Fireworks" msgstr "Bunga api" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "Pantai" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 msgid "Underwater" msgstr "Dalam air" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "Salji" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "Kanak-kanak & haiwan peliharaan" #: src/canonmn.cpp:515 msgid "Night SnapShot" msgstr "Tangkapan Malam" #: src/canonmn.cpp:516 msgid "Digital macro" msgstr "Makro digital" #: src/canonmn.cpp:517 msgid "My Colors" msgstr "Warna Saya" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 msgid "Still image" msgstr "Imej Kaku" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 msgid "Other" msgstr "Lain-lain" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 msgid "Low" msgstr "Rendah" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 msgid "High" msgstr "Tinggi" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "t/s" #: src/canonmn.cpp:540 msgid "Auto High" msgstr "Tinggi Auto" #: src/canonmn.cpp:558 src/sonymn.cpp:235 msgid "Default" msgstr "Lalai" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 msgid "Spot" msgstr "Titik" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "Purata" #: src/canonmn.cpp:561 msgid "Evaluative" msgstr "Penilaian" #: src/canonmn.cpp:562 src/tags.cpp:1427 msgid "Partial" msgstr "Separa" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 msgid "Center weighted" msgstr "Pemberatan tengah" #: src/canonmn.cpp:570 msgid "Not known" msgstr "Tidak diketahui" #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "Makro" #: src/canonmn.cpp:572 msgid "Very close" msgstr "Sangat dekat" #: src/canonmn.cpp:573 msgid "Close" msgstr "Dekat" #: src/canonmn.cpp:574 msgid "Middle range" msgstr "Julat sederhana" #: src/canonmn.cpp:575 msgid "Far range" msgstr "Julat jauh" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 msgid "Infinity" msgstr "Tanpa had" #: src/canonmn.cpp:583 msgid "Manual AF point selection" msgstr "Pemilihan titik AF manual" #: src/canonmn.cpp:584 msgid "None (MF)" msgstr "Tiada (MF)" #: src/canonmn.cpp:585 msgid "Auto-selected" msgstr "Dipilih-sendiri" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 msgid "Right" msgstr "Kanan" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 msgid "Center" msgstr "Tengah" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 msgid "Left" msgstr "Kiri" #: src/canonmn.cpp:589 msgid "Auto AF point selection" msgstr "Pemilihan titik AF sendiri" #: src/canonmn.cpp:594 msgid "Easy shooting (Auto)" msgstr "Tangkapan mudah (Auto)" #: src/canonmn.cpp:595 msgid "Program (P)" msgstr "Program (P)" #: src/canonmn.cpp:596 msgid "Shutter priority (Tv)" msgstr "Keutamaan pengatup (Tv)" #: src/canonmn.cpp:597 msgid "Aperture priority (Av)" msgstr "Keutamaan bukaan (Av)" #: src/canonmn.cpp:598 msgid "Manual (M)" msgstr "Manual (M)" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "A-DEP" #: src/canonmn.cpp:600 msgid "M-DEP" msgstr "M-DEP" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 msgid "Did not fire" msgstr "Tidak dinyala" #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 msgid "Fired" msgstr "Dinyala" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 msgid "External flash" msgstr "denyar luaran" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 msgid "Internal flash" msgstr "Denyar dalaman" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "TTL" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "A-TTL" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "E-TTL" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "Segerak FP dibenarkan" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "Segerak langsir-kedua digunakan" #: src/canonmn.cpp:980 msgid "FP sync used" msgstr "Segerak FP digunakan" #: src/canonmn.cpp:991 msgid "Normal AE" msgstr "AE Biasa" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 msgid "Exposure compensation" msgstr "Imbangan dedahan" #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "Kunci AE" #: src/canonmn.cpp:994 msgid "AE lock + exposure compensation" msgstr "Kunci AE + imbangan dedahan" #: src/canonmn.cpp:995 msgid "No AE" msgstr "Tiada AE" #: src/canonmn.cpp:1002 msgid "On, shot only" msgstr "On, syot sahaja" #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 msgid "AF Point" msgstr "Titik AF" #: src/canonmn.cpp:1016 msgid "Smooth" msgstr "Lancar" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "H&P" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 msgid "Custom" msgstr "Suai" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 msgid "My color data" msgstr "Data warna saya" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 msgid "Full" msgstr "Penuh" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "sRAW1 (mRAW)" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "sRAW2 (sRAW)" #: src/canonmn.cpp:1043 msgid "Selftimer" msgstr "Pemasa kendiri" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 msgid "Self timer" msgstr "Pemasa kendiri" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 msgid "Quality" msgstr "Kualiti" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 msgid "Flash Mode" msgstr "Mod Denyar" #: src/canonmn.cpp:1045 msgid "Flash mode setting" msgstr "Tetapan mod denyar" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 msgid "Drive Mode" msgstr "Mod Pacu" #: src/canonmn.cpp:1046 msgid "Drive mode setting" msgstr "Tetapan mod pacu" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 msgid "Focus Mode" msgstr "Mod Fokus" #: src/canonmn.cpp:1048 msgid "Focus mode setting" msgstr "Tetapan mod fokus" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 msgid "Image Size" msgstr "Saiz Imej" #: src/canonmn.cpp:1052 msgid "Easy Mode" msgstr "Mod Mudah" #: src/canonmn.cpp:1052 msgid "Easy shooting mode" msgstr "Mod penggambaran mudah" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 msgid "Digital Zoom" msgstr "Zum Digital" #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 msgid "Digital zoom" msgstr "Zum digital" #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 msgid "Contrast" msgstr "Beza jelas" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 msgid "Contrast setting" msgstr "Tetapan beza jelas" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 msgid "Saturation" msgstr "Ketepuan" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 msgid "Saturation setting" msgstr "Tetapan ketepuan" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 msgid "Sharpness" msgstr "Kejelasan" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 msgid "Sharpness setting" msgstr "Tetapan kejelasan" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 msgid "ISO Speed Mode" msgstr "Mod Kelajuan ISO" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 msgid "ISO speed setting" msgstr "Tetapan kelajuan ISO" #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 msgid "Metering Mode" msgstr "Mod Pemeteran" #: src/canonmn.cpp:1058 msgid "Metering mode setting" msgstr "Tetapan mod pemeteran" #: src/canonmn.cpp:1059 msgid "Focus Type" msgstr "Jenis Fokus" #: src/canonmn.cpp:1059 msgid "Focus type setting" msgstr "Tetapan jenis fokus" #: src/canonmn.cpp:1060 msgid "AF point selected" msgstr "Titik AF dipilih" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 msgid "Exposure Program" msgstr "Program Dedahan" #: src/canonmn.cpp:1061 msgid "Exposure mode setting" msgstr "Tetapan mod dedahan" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 msgid "Lens Type" msgstr "Jenis Kanta" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 msgid "Lens type" msgstr "Jenis kanta" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 msgid "Lens" msgstr "Kanta" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" "Jarak fokus kanta 'panjang' dan 'pendek' (dalam unit fokus) dan 'unit fokus' " "per mm" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "Fokus Pendek" #: src/canonmn.cpp:1065 msgid "Short focal" msgstr "Fokus pendek" #: src/canonmn.cpp:1066 msgid "Focal Units" msgstr "Unit Fokus" #: src/canonmn.cpp:1066 msgid "Focal units" msgstr "Unit fokus" #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 msgid "Max Aperture" msgstr "Bukaan Maksimum" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 msgid "Max aperture" msgstr "Bukaan maksimum" #: src/canonmn.cpp:1068 msgid "Min Aperture" msgstr "Bukaan Minimum" #: src/canonmn.cpp:1068 msgid "Min aperture" msgstr "Bukaan minimum" #: src/canonmn.cpp:1069 msgid "Flash Activity" msgstr "Aktiviti Denyar" #: src/canonmn.cpp:1069 msgid "Flash activity" msgstr "Aktiviti denyar" #: src/canonmn.cpp:1070 msgid "Flash Details" msgstr "Perincian Denyar" #: src/canonmn.cpp:1070 msgid "Flash details" msgstr "Perincian denyar" #: src/canonmn.cpp:1073 msgid "Focus Continuous" msgstr "Fokus Berterusan" #: src/canonmn.cpp:1073 msgid "Focus continuous setting" msgstr "Tetapan fokus berterusan" #: src/canonmn.cpp:1074 msgid "AESetting" msgstr "Tetapan AE" #: src/canonmn.cpp:1074 msgid "AE setting" msgstr "Tetapan AE" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 msgid "Image Stabilization" msgstr "Penstabilan Imej" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 msgid "Image stabilization" msgstr "Penstabilan imej" #: src/canonmn.cpp:1076 msgid "Display Aperture" msgstr "Bukaan Paparan" #: src/canonmn.cpp:1076 msgid "Display aperture" msgstr "Bukaan paparan" #: src/canonmn.cpp:1077 msgid "Zoom Source Width" msgstr "Lebar Sumber Zum" #: src/canonmn.cpp:1077 msgid "Zoom source width" msgstr "Lebar sumber zum" #: src/canonmn.cpp:1078 msgid "Zoom Target Width" msgstr "Lebar Sasaran Zum" #: src/canonmn.cpp:1078 msgid "Zoom target width" msgstr "Lebar sasaran zum" #: src/canonmn.cpp:1080 msgid "Spot Metering Mode" msgstr "Mod Pemeteran Bintik" #: src/canonmn.cpp:1080 msgid "Spot metering mode" msgstr "Mod pemeteran bintik" #: src/canonmn.cpp:1081 msgid "Photo Effect" msgstr "Kesan Foto" #: src/canonmn.cpp:1081 msgid "Photo effect" msgstr "Kesan foto" #: src/canonmn.cpp:1082 msgid "Manual Flash Output" msgstr "Output Denyar Manual" #: src/canonmn.cpp:1082 msgid "Manual flash output" msgstr "Output denyar manual" #: src/canonmn.cpp:1083 msgid "Color Tone" msgstr "Ton Warna" #: src/canonmn.cpp:1083 msgid "Color tone" msgstr "Ton warna" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "Ton Kualiti SRAW" #: src/canonmn.cpp:1084 msgid "SRAW quality" msgstr "Kualiti SRAW" #: src/canonmn.cpp:1086 msgid "Unknown Canon Camera Settings 1 tag" msgstr "Tetapan Kamera Canon tag 1 tidak diketahui" #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 msgid "Daylight" msgstr "Hari siang" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 msgid "Cloudy" msgstr "Mendung" #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 msgid "Tungsten" msgstr "Tungsten" #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 msgid "Fluorescent" msgstr "Pendarflour" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 msgid "Black & White" msgstr "Hitam & Putih" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "Bayang" #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "Suhu Manual (Kelvin)" #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "Set PC 1" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "Set PC 2" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "Set PC 3" #: src/canonmn.cpp:1109 msgid "Daylight Fluorescent" msgstr "Pendarflour Hari Siang" #: src/canonmn.cpp:1110 src/properties.cpp:816 msgid "Custom 1" msgstr "Suai 1" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 msgid "Custom 2" msgstr "Suai 2" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 msgid "Custom 3" msgstr "Suai 3" #: src/canonmn.cpp:1115 msgid "PC Set 4" msgstr "Set PC 4" #: src/canonmn.cpp:1116 msgid "PC Set 5" msgstr "Set PC 5" #: src/canonmn.cpp:1117 #, fuzzy msgid "Auto (ambience priority)" msgstr "GN ( Jarak Keutamaan )" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 msgid "left" msgstr "kiri" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 msgid "center" msgstr "tengah" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 msgid "right" msgstr "kanan" #: src/canonmn.cpp:1151 msgid "ISO Speed Used" msgstr "Kelajuan ISO Digunakan" #: src/canonmn.cpp:1151 msgid "ISO speed used" msgstr "Kelajuan ISO digunakan" #: src/canonmn.cpp:1152 msgid "Measured EV" msgstr "EV Terukur" #: src/canonmn.cpp:1153 msgid "Target Aperture" msgstr "Bukaan Sasaran" #: src/canonmn.cpp:1154 msgid "Target Shutter Speed" msgstr "Kelajuan Bukaan Sasaran" #: src/canonmn.cpp:1154 msgid "Target shutter speed" msgstr "Kelajuan bukaan sasaran" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 msgid "White Balance" msgstr "Imbangan Putih" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 msgid "White balance setting" msgstr "Tetapan imbangan putih" #: src/canonmn.cpp:1158 msgid "Sequence" msgstr "Jujukan" #: src/canonmn.cpp:1158 msgid "Sequence number (if in a continuous burst)" msgstr "Bilangan jujukan (jika dalam ledakan berterusan)" #: src/canonmn.cpp:1163 msgid "AF Point Used" msgstr "Titik AF Digunakan" #: src/canonmn.cpp:1163 msgid "AF point used" msgstr "Titik AF digunakan" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 msgid "Flash Bias" msgstr "Bias Denyar" #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 msgid "Subject Distance" msgstr "Jarak Subjek" #: src/canonmn.cpp:1168 msgid "Subject distance (units are not clear)" msgstr "Jarak subjek (unit tidak jelas)" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 msgid "Aperture Value" msgstr "Nilai Bukaan" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 msgid "Shutter Speed Value" msgstr "Nilai Kelajuan Bukaan" #: src/canonmn.cpp:1171 src/tags.cpp:1630 msgid "Shutter speed" msgstr "Kelajuan bukaan" #: src/canonmn.cpp:1172 msgid "Measured EV 2" msgstr "EV 2 Terukur" #: src/canonmn.cpp:1177 msgid "Unknown Canon Camera Settings 2 tag" msgstr "Tetapan Kamera Canon tag 2 tidak diketahui" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 msgid "Left to right" msgstr "Kiri ke kanan" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 msgid "Right to left" msgstr "Kanan ke kiri" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 msgid "Bottom to top" msgstr "Bawah ke atas" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 msgid "Top to bottom" msgstr "Atas ke bawah" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "Maktrik 2x2 (Ikut Jam)" #: src/canonmn.cpp:1196 msgid "Panorama Frame" msgstr "Bingkai Panorama" #: src/canonmn.cpp:1196 msgid "Panorama frame number" msgstr "Bilangan bingkai panorama" #: src/canonmn.cpp:1197 msgid "Panorama Direction" msgstr "Arah Panorama" #: src/canonmn.cpp:1197 msgid "Panorama direction" msgstr "Arah panorama" #: src/canonmn.cpp:1199 msgid "Unknown Canon Panorama tag" msgstr "Tag Panorama Canon tidak diketahui" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 msgid "Noise Reduction" msgstr "Pengurangan Hingar" #: src/canonmn.cpp:1209 msgid "Long exposure noise reduction" msgstr "Pengurangan hingar dedahan lama" #: src/canonmn.cpp:1210 msgid "Shutter Ae Lock" msgstr "Kunci Ae Bukaan" #: src/canonmn.cpp:1210 msgid "Shutter/AE lock buttons" msgstr "Butang kunci AE/Bukaan" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "Kuncian Cermin" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "Kuncian cermin" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 msgid "Exposure Level Increments" msgstr "Tokokan Aras Dedahan" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "Aras dedahan dan Tv/Av" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 msgid "AF Assist" msgstr "Bantuan AF" #: src/canonmn.cpp:1213 msgid "AF assist light" msgstr "Cahaya bantuan AF" #: src/canonmn.cpp:1214 msgid "Flash Sync Speed Av" msgstr "Av Berkelajuan Segerak Denyar" #: src/canonmn.cpp:1214 msgid "Shutter speed in Av mode" msgstr "Kelajuan pengatup dalam mod Av" #: src/canonmn.cpp:1215 msgid "AEB Sequence" msgstr "Jujukan AEB" #: src/canonmn.cpp:1215 msgid "AEB sequence/auto cancellation" msgstr "Pembatalan jujukan/auto AEB" #: src/canonmn.cpp:1216 msgid "Shutter Curtain Sync" msgstr "Segerak Langsir Pengatup" #: src/canonmn.cpp:1216 msgid "Shutter curtain sync" msgstr "Segerak langsir pengatup" #: src/canonmn.cpp:1217 msgid "Lens AF Stop Button" msgstr "Butang Henti AF Kanta" #: src/canonmn.cpp:1217 msgid "Lens AF stop button Fn. Switch" msgstr "Suis Fn. butang henti Kanta AF" #: src/canonmn.cpp:1218 msgid "Fill Flash Auto Reduction" msgstr "Pengurangan Auto Denyar Isi" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "Pengurangan auto bagi denyar isi" #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "Pengembalian Butang Menu" #: src/canonmn.cpp:1219 msgid "Menu button return position" msgstr "Kedudukan pengembalian butang menu" #: src/canonmn.cpp:1220 msgid "Set Button Function" msgstr "Tetapkan Fungsi Butang" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "Tetapkan fungsi butang bilang menangkap" #: src/canonmn.cpp:1221 msgid "Sensor Cleaning" msgstr "Pembersihan Penderia" #: src/canonmn.cpp:1221 msgid "Sensor cleaning" msgstr "Pembersihan penderia" #: src/canonmn.cpp:1222 msgid "Superimposed Display" msgstr "Lengahan Superimposed" #: src/canonmn.cpp:1222 msgid "Superimposed display" msgstr "Lengahan superimposed" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "Pelepasan Pengatup Tiada Kad CF" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "Pelepasan Pengatup Tanpa Kad CF" #: src/canonmn.cpp:1225 msgid "Unknown Canon Custom Function tag" msgstr "Tag Fungsi Suai Canon tidak diketahui" #: src/canonmn.cpp:1236 msgid "mid-right" msgstr "kanan-tengah" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 msgid "bottom" msgstr "bawah" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 msgid "top" msgstr "atas" #: src/canonmn.cpp:1240 msgid "mid-left" msgstr "kiri-tengah" #: src/canonmn.cpp:1247 msgid "upper-left" msgstr "kiri-atas" #: src/canonmn.cpp:1248 msgid "upper-right" msgstr "kanan-atas" #: src/canonmn.cpp:1252 msgid "lower-left" msgstr "kiri-bawah" #: src/canonmn.cpp:1253 msgid "lower-right" msgstr "kanan-bawah" #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 msgid "Image Width" msgstr "Lebar Imej" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 msgid "Image width" msgstr "Lebar imej" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 msgid "Image Height" msgstr "Tinggi Imej" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 msgid "Image height" msgstr "Tinggi imej" #: src/canonmn.cpp:1261 msgid "Image Width As Shot" msgstr "Lebar Imej Bila Menangkap" #: src/canonmn.cpp:1261 msgid "Image width (as shot)" msgstr "Lebar imej (bila menangkap)" #: src/canonmn.cpp:1262 msgid "Image Height As Shot" msgstr "Tinggi Imej Bila Menangkap" #: src/canonmn.cpp:1262 msgid "Image height (as shot)" msgstr "Tinggi imej (bila menangkap)" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF Points Used" msgstr "Titik AF Digunakan" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF points used" msgstr "Titik AF digunakan" #: src/canonmn.cpp:1264 msgid "AF Points Used 20D" msgstr "Titik AF Digunakan 20D" #: src/canonmn.cpp:1264 msgid "AF points used (20D)" msgstr "Titik AF digunakan (20D)" #: src/canonmn.cpp:1266 msgid "Unknown Canon Picture Info tag" msgstr "Tag Maklumat Gambar Canon Tidak Diketahui" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "AEB" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "FEB" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 msgid "ISO" msgstr "ISO" #: src/canonmn.cpp:1280 msgid "WB" msgstr "WB" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "Poskad" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "Skrin Lebar" #: src/canonmn.cpp:1293 msgid "Medium Movie" msgstr "Cereka Saiz Sederhana" #: src/canonmn.cpp:1294 msgid "Small Movie" msgstr "Cereka Saiz Kecil" #: src/canonmn.cpp:1300 msgid "On 1" msgstr "On 1" #: src/canonmn.cpp:1301 msgid "On 2" msgstr "On 2" #: src/canonmn.cpp:1309 msgid "On (shift AB)" msgstr "On (shift AB)" #: src/canonmn.cpp:1310 msgid "On (shift GM)" msgstr "On (shift GM)" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "Kuning" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 msgid "Orange" msgstr "Jingga" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 msgid "Red" msgstr "Merah" #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 msgid "Green" msgstr "Hijau" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 msgid "Blue" msgstr "Biru" #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "Ungu" #: src/canonmn.cpp:1334 msgid "Bracket Mode" msgstr "Mod Kurungan" #: src/canonmn.cpp:1335 msgid "Bracket Value" msgstr "Nilai Kurungan" #: src/canonmn.cpp:1336 msgid "Bracket Shot Number" msgstr "Bilangan Syot Braket" #: src/canonmn.cpp:1337 msgid "Raw Jpg Quality" msgstr "Kualiti Jpg Mentah" #: src/canonmn.cpp:1338 msgid "Raw Jpg Size" msgstr "Saiz Jpg mentah" #: src/canonmn.cpp:1340 msgid "WB Bracket Mode" msgstr "Mod Braket WB" #: src/canonmn.cpp:1341 msgid "WB Bracket Value AB" msgstr "AB Nilai Braket WB" #: src/canonmn.cpp:1342 msgid "WB Bracket Value GM" msgstr "GM Nilai Braket WB" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 msgid "Filter Effect" msgstr "Kesan Penapis" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 msgid "Toning Effect" msgstr "Kesan Pengetonan" #: src/canonmn.cpp:1345 msgid "Macro Magnification" msgstr "Pembesaran Makro" #: src/canonmn.cpp:1345 msgid "Macro magnification" msgstr "Pembesaran makro" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "Penggambaran Paparan Langsung" #: src/canonmn.cpp:1346 msgid "Live view shooting" msgstr "Penggambaran paparan langsung" #: src/canonmn.cpp:1347 #, fuzzy msgid "Focus Distance Upper" msgstr "Jarak Fokus" #: src/canonmn.cpp:1348 #, fuzzy msgid "Focus Distance Lower" msgstr "Jarak Fokus" #: src/canonmn.cpp:1349 msgid "Flash Exposure Lock" msgstr "Kunci Dedahan Denyar" #: src/canonmn.cpp:1349 msgid "Flash exposure lock" msgstr "Kunci dedahan denyar" #: src/canonmn.cpp:1351 msgid "Unknown Canon File Info tag" msgstr "Tag Maklumat Fail Canon Tidak Diketahui" #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 msgid "Standard" msgstr "Piawai" #: src/canonmn.cpp:1369 msgid "Lowest" msgstr "Terendah" #: src/canonmn.cpp:1373 msgid "Highest" msgstr "Tertinggi" #: src/canonmn.cpp:1381 msgid "High Saturation" msgstr "Ketepuan Tinggi" #: src/canonmn.cpp:1383 msgid "Low Saturation" msgstr "Ketepuan Rendah" #: src/canonmn.cpp:1384 msgid "CM Set 1" msgstr "Set CM 1" #: src/canonmn.cpp:1385 msgid "CM Set 2" msgstr "Set CM 2" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "Takrifan Pengguna 1" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "Takrifan Pengguna 2" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "Takrifan Pengguna 3" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "PC 1" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "PC 2" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "PC 3" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "Kepercayaan" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 msgid "Monochrome" msgstr "Monokrom" #: src/canonmn.cpp:1399 #, fuzzy msgid "Fine Detail" msgstr "Perincian Denyar" #: src/canonmn.cpp:1404 msgid "ToneCurve" msgstr "Lekuk Ton" #: src/canonmn.cpp:1404 msgid "Tone curve" msgstr "Lekuk ton" #: src/canonmn.cpp:1406 msgid "SharpnessFrequency" msgstr "Frekuensi Kejelasan" #: src/canonmn.cpp:1406 msgid "Sharpness frequency" msgstr "Frekuensi kejelasan" #: src/canonmn.cpp:1407 msgid "SensorRedLevel" msgstr "Aras Merah Penderia" #: src/canonmn.cpp:1407 msgid "Sensor red level" msgstr "Aras merah penderia" #: src/canonmn.cpp:1408 msgid "SensorBlueLevel" msgstr "Aras Biru Merah penderia" #: src/canonmn.cpp:1408 msgid "Sensor blue level" msgstr "Aras biru penderia" #: src/canonmn.cpp:1409 msgid "WhiteBalanceRed" msgstr "Merah imbangan putih" #: src/canonmn.cpp:1409 msgid "White balance red" msgstr "Merah imbangan putih" #: src/canonmn.cpp:1410 msgid "WhiteBalanceBlue" msgstr "Biru imbangan putih" #: src/canonmn.cpp:1410 msgid "White balance blue" msgstr "Biru imbangan putih" #: src/canonmn.cpp:1411 msgid "WhiteBalance" msgstr "Imbangan Putih" #: src/canonmn.cpp:1412 msgid "ColorTemperature" msgstr "Suhu Warna" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 msgid "Color Temperature" msgstr "Suhu Warna" #: src/canonmn.cpp:1413 msgid "PictureStyle" msgstr "Gaya Gambar" #: src/canonmn.cpp:1413 msgid "Picture style" msgstr "Gaya gambar" #: src/canonmn.cpp:1414 msgid "DigitalGain" msgstr "Gandaan Digital" #: src/canonmn.cpp:1414 msgid "Digital gain" msgstr "Gandaan digital" #: src/canonmn.cpp:1415 msgid "WBShiftAB" msgstr "WBShiftAB" #: src/canonmn.cpp:1415 msgid "WBShift AB" msgstr "WBShift AB" #: src/canonmn.cpp:1416 msgid "WBShiftGM" msgstr "WBShiftGM" #: src/canonmn.cpp:1416 msgid "WB Shift GM" msgstr "WB Shift GM" #: src/canonmn.cpp:1417 msgid "Unknown Canon Processing Info tag" msgstr "Tag Maklumat Pemprosesan Canon Tidak Diketahui" #: src/crwimage.cpp:656 msgid "Header, offset" msgstr "Pengepala, ofset" #: src/crwimage.cpp:674 msgid "tag" msgstr "tag" #: src/crwimage.cpp:676 msgid "dir" msgstr "dir" #: src/crwimage.cpp:678 msgid "type" msgstr "jenis" #: src/crwimage.cpp:679 msgid "size" msgstr "saiz" #: src/crwimage.cpp:680 msgid "offset" msgstr "ofset" #: src/datasets.cpp:79 msgid "(invalid)" msgstr "(tidak sah)" #: src/datasets.cpp:80 msgid "IIM envelope record" msgstr "Rekod sampul IIM" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "Rekod aplikasi IIM 2" #: src/datasets.cpp:85 msgid "Model Version" msgstr "Versi Model" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Nombor deduan mengenalpasti versi bagi Model Pertukaran Maklumat, Bahagian " "1, disediakan oleh penyedia. Nombor versi diumpuk oleh organisasi IPTC dan " "NAA." #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 msgid "Destination" msgstr "Destinasi" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" "Set Data adalah untuk memudahkan beberapa penyedia yang memerlukan maklumat " "penghalaan diatas lapisa OSI yang berkenaan." #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 msgid "File Format" msgstr "Format Fail" #: src/datasets.cpp:95 msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" "Nombor deduaan mewakili format fail. Format fail mesti didaftarkan melalui " "IPTC atau NAA dengan nombor unik yang diumpuk kepadanya. Maklumat digunakan " "untuk halakan data ke sistem yang berkenaan dan untuk benarkan penerimaan " "sistem bagi lakukan tindakan berkenaan disana." #: src/datasets.cpp:101 msgid "File Version" msgstr "Versi Fail" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" "Nombor deduaan mewakili versi berkenaan bagi Format Fail yang dinyatakan " "oleh tag ." #: src/datasets.cpp:105 msgid "Service Id" msgstr "Id Perkhidmatan" #: src/datasets.cpp:106 msgid "Identifies the provider and product" msgstr "Kenalpasti penyedia dan produk" #: src/datasets.cpp:108 msgid "Envelope Number" msgstr "Nombor Sampul" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" "Bentuk aksara dari nombor yang akan jadi unik bagi data dinyatakan dalam tag " " dan untuk Pengenalpasti Perkhidmatan yang dinyatakan oleh tag " ". Jika nombor sambul serupa muncul dengan tarikh yang " "sama dengan Pengenalpasti Perkhidmatan yang sama, rekod 2-9 mesti tidak " "berubah dari yang asal. Ini tidak diniatkan menjadi semakan penerima nombor " "siri berjujuk." #: src/datasets.cpp:117 msgid "Product Id" msgstr "Id Produk" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" "Benarkan penyedia mengenalpasti subset bagi keseluruhan perkhidmatannya. " "Digunakan untuk menyediakan data organisasi yang diterima untuk dipilih, " "dihalam atau jika tidak kendalikan data." #: src/datasets.cpp:122 msgid "Envelope Priority" msgstr "Keutamaan Sampul" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" "Nyatakan keutamaan pengendalian sampul dan bukannya keterdesakan editorial " "(rujuk tag . \"1\" adalah salinan paling terdesak, \"5\" " "keterdesakan biasa, dan \"8\" paling rendah terdesak. Angka \"9\" " "menunjukkan Keutamaan Ditakrif Pengguna. Angka \"0\" disimpan untuk kegunaan " "akan datang." #: src/datasets.cpp:129 msgid "Date Sent" msgstr "Tarikh dihantar" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" "Gunakan format AATTBBHH (abad, tahun, bulan, hari) sebagai takrifan dalam " "ISO 8601 untuk nyatakan tahun, bulan dan hari bagi perkhidmatan menghantar " "bahan." #: src/datasets.cpp:133 msgid "Time Sent" msgstr "Masa Dihantar" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" "Gunakan format JJMMSS:JJMM yang mana JJMSS merujuk pada jam, minit dn saat " "setempat dan JJMM merujuk pada jam dan minit dihadapan (+) atau dibelakang " "(-) Masa Terkoordinat Universal yang dinyatakan dalam ISO 8601. Ia merupakan " "masa bagi perkhidmatan menghantar bahan." #: src/datasets.cpp:139 msgid "Character Set" msgstr "Set Aksara" #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" "Tag ini mengandungi satu atau lebih kawalan fungsi yang digunakan untuk " "pengumuman, invokasi atau rekaan bagi set aksara terkod. Fungsi kawalan " "menurut piawaian ISO 2022 dan mungkin mengandungi aksara kawalan escape dan " "satu atau lebih aksara grafik." #: src/datasets.cpp:145 msgid "Unique Name Object" msgstr "Objek Nama Unik" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" "Tag ini menyediakan pengenalpastian unik secara sejagat bagi objek yang " "dinyatakan dalam II<, penyedia bebas dab untuk sebarang bentuk media. " "Penyedia mesti memastikan UNO adalah unik. Objek dengan UNO yang sama adalah " "serupa." #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "Pengecam ARM" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" "Set Data yang mengenalpasti Pengecam Kaedah Hubungan Abstrak (ARM) ang " "diterangkan dalam dokumen berdaftar dengan pemilik asal ARM dengan " "organisasi IPTC dan NAA." #: src/datasets.cpp:156 msgid "ARM Version" msgstr "Versi ARM" #: src/datasets.cpp:157 msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" "Tag ini mengandungi nombor binari yang mewakili versi tertentu bagi ARM yang " "dinyatakan oleh tag ." #: src/datasets.cpp:170 msgid "Record Version" msgstr "Versi Rekod" #: src/datasets.cpp:171 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Nombor deduan mengenalpasti versi bagi Model Pertukaran Maklumat, Bahagian " "II, disediakan oleh penyedia. Nombor versi diumpuk oleh organisasi IPTC dan " "NAA." #: src/datasets.cpp:175 msgid "Object Type" msgstr "Jenis Objek" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" "Jenis Objek digunakan untuk mengecam diantara perbezaan jenis objek didalam " "IIM. Bahagian pertama adalah bilangan yang mewakili rujukan antarabangsa " "bebsa bahasa kepada Jenis Objek yang dituruti dengan pemisah bertanda kolon. " "Bahagian kedua, jika digunakan, adalah perwakilan teks bagi Bilangan Jenis " "Objek yang mengandungi aksara grafik bersama ruang dalam Bahasa Inggeris " "atau dalam bahasa perkhidmatan yang dinyatakan dalam tag " #: src/datasets.cpp:184 msgid "Object Attribute" msgstr "Atribut Objek" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" "Jenis Objek digunakan untuk mengecam diantara perbezaan jenis objek didalam " "IIM. Bahagian pertama adalah bilangan yang mewakili rujukan antarabangsa " "bebas bahasa kepada Jenis Objek yang dituruti dengan pemisah bertanda kolon. " "Bahagian kedua, jika digunakan, adalah perwakilan teks bagi Bilangan Jenis " "Objek yang mengandungi aksara grafik bersama ruang dalam Bahasa Inggeris " "atau dalam bahasa perkhidmatan yang dinyatakan dalam tag " #: src/datasets.cpp:193 msgid "Object Name" msgstr "Nama Objek" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" "Digunakan sebagai rujukan singkatan untuk objek. Perubahan pada data sedia-" "ada, seperti cerita terkemaskini atau keratan baru pada foto, yang patut " "dikenalpasti dalam tag" #: src/datasets.cpp:198 msgid "Document Title" msgstr "Tajuk Dokumen" #: src/datasets.cpp:199 src/olympusmn.cpp:827 msgid "Edit Status" msgstr "Sunting status" #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "Status bagi data objek, berdasarkan pada amalan penyedia." #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "Kemaskini Editorial" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" "Menunjukkan jenis kemaskini yang mana objek ini sediakan ke objek terdahulu. " "Pautan ke objek terdahulu dibuat menggunakan tag dan " ", mengikut pada amalan penyedia." #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "Kesegeraan" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" "Menyatakan keutamaan editorial kandungan dan bukan keutamaan pengendalian " "sampul (lihat tag ). Nilai \"1\" adalah paling mustahak, " "nilai \"5\" biasa dan nilai \"8\" merupakan salinan paling-kurang mustahak." #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 msgid "Subject" msgstr "Subjek" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "Rujukan Subjek merupakan takrifan berstruktur bagi subjek." #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "Kategori" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" "Kenalpasti subjek bagi data objek dalam pandangan penyedia. Senarai kategori " "akan diselenggara oleh registry wilayah, bila tersedia, jika tidak oleh " "penyedia." #: src/datasets.cpp:222 msgid "Supplemental Category" msgstr "Kategori Tambahan" #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" "Kategori tambahan lanjut menghalusi subjek data objel. Kategori tambahan " "sertakan sebarang kategori yang dikenali sebagai digunakan dalam tag " ". Jika tidak, pemilihan kategori tambahan akan diberi pada " "penyedia." #: src/datasets.cpp:228 src/properties.cpp:442 msgid "Supplemental Categories" msgstr "Kategori Tambahan" #: src/datasets.cpp:229 msgid "Fixture Id" msgstr "Id Baiki" #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" "Kenalpasti data oebjek yang selalu berulang dan boleh dijangka. Benarkan " "pengguna mencari atau memanggil serta-merta objek tersebut." #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 msgid "Keywords" msgstr "Kata Kunci" #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" "Digunakan untuk perkataan pemerolehan maklumat khusus. Ia dijangkakan " "penyedia bagi pelbagai jenis data yang berkaitan dalam perkara subjek yang " "menggunakan kata kunci yang sama, membenarkan penerimaan sistem atau sub-" "sistem untuk menggelintar semua jenis data bagi bahan yang berkaitan." #: src/datasets.cpp:240 msgid "Location Code" msgstr "Kod Lokasi" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" "Menunjukkan kod bagi negara/lokasi bergeografi yang dirujuk dengan kandungan " "objek. Yang mana ISO telah tubuhkan kod negara yang berkenaan dibawah ISO " "3166, kod yang akan digunakan. Bila ISO 3166 disediakan dengan mencukupi " "untuk pengenalpastian lokasi atau negara, cth. kapal dilautan, angkasa, IPTC " "akan umpukkan kod tiga-aksara dibawah pembekalan ISO 3166 untuk menghindari " "konflik." #: src/datasets.cpp:248 msgid "Location Name" msgstr "Nama Lokasi" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" "Menyediakan nama penuh boleh disiarkan bagi lokasi negara/bergeografik yang " "dirujuk melalui kandungan objek, berdasarkan garis panduan penyedia." #: src/datasets.cpp:253 src/properties.cpp:376 msgid "Release Date" msgstr "Tarkih Pelepasan" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" "Direka dalam bentuk AATTBBHH bagi tarikh terawal penyedia mahu objek " "tersebut digunakan. Mengikuti piawaian ISO 8601." #: src/datasets.cpp:257 msgid "Release Time" msgstr "Masa Pelepasan" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" "Direka dalam bentuk AATTBBHH:JJMM bagi tarikh terawal penyedia mahu objek " "tersebut digunakan. Mengikuti piawaian ISO 8601." #: src/datasets.cpp:261 msgid "Expiration Date" msgstr "Tarikh Luput" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" "Direka dalam bentuk AATTBBHH bagi tarikh terkini penyedia atau pemilik mahu " "objek tersebut digunakan. Mengikuti piawaian ISO 8601." #: src/datasets.cpp:265 msgid "ExpirationTime" msgstr "Masa Luput" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" "Direka dalam bentuk AATTBBHH:JJMM bagi tarikh terkini penyedia atau pemilik " "mahu objek tersebut digunakan. Mengikuti piawaian ISO 8601." #: src/datasets.cpp:269 msgid "Special Instructions" msgstr "Arahan Khas" #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" "Arahan editorial lain yang merujuk pada penggunaan data objek, seperti " "embargo dan amaran." #: src/datasets.cpp:273 src/properties.cpp:439 msgid "Instructions" msgstr "Arahan" #: src/datasets.cpp:274 msgid "Action Advised" msgstr "Saranan Tindakan" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" "Menunjukkan jenis kemaskini yang mana objek ini sediakan ke objek terdahulu. " "Pautan ke objek terdahulu dibuat menggunakan tag dan " ", mengikut pada amalan penyedia." #: src/datasets.cpp:279 msgid "Reference Service" msgstr "Perkhidmatan Rujukan" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" "Mengenalpasti Pengenalpasti perkhidmatan bagi sampul yang mana objek semasa " "rujuk." #: src/datasets.cpp:283 msgid "Reference Date" msgstr "Tarikh Rujukan" #: src/datasets.cpp:284 msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "Mengenalpasti tarikh bagi sampul yang mana objek semasa rujuk." #: src/datasets.cpp:286 msgid "Reference Number" msgstr "Bilangan Rujukan" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "Mengenalpasti Bilangan Sampul yang mana objek semasa rujuk." #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 msgid "Date Created" msgstr "Tarikh Dicipta" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" "Diwakili dalam bentuk AATTBBHH untuk mereka tarikh bagi kandungan " "intelektual bagi objek data yang dicipta berbanding tarikh penciptaan " "perwakilan fizikal. Mengikuti piawaian ISO 8601." #: src/datasets.cpp:295 msgid "Time Created" msgstr "Masa Dicipta" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" "Diwakili dalam bentuk AATTBBHH:JJMM untuk mereka tarikh bagi kandungan " "intelektual bagi objek data yang dicipta berbanding tarikh penciptaan " "perwakilan fizikal. Mengikuti piawaian ISO 8601." #: src/datasets.cpp:301 msgid "Digitization Date" msgstr "Tarikh Didigitkan" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" "Diwakili dalam bentuk AATTBBHH untuk mereka tarikh digital perwakilan bagi " "obejk yang dicipta. Mengikuti piawaian ISO 8601." #: src/datasets.cpp:305 msgid "Digitization Time" msgstr "Masa Didigitkan" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" "Diwakili dalam bentuk AATTBBHH:JJMM untuk mereka tarikh digital perwakilan " "bagi obejk yang dicipta. Mengikuti piawaian ISO 8601." #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 msgid "Program" msgstr "Program" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "Kenalpasti jenis program yang digunakan untuk asalkan data objek." #: src/datasets.cpp:313 msgid "Program Version" msgstr "Versi Program" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "" "Digunakan untuk kenalpasti versi program yang dinyatakan dalam tag ." #: src/datasets.cpp:316 msgid "Object Cycle" msgstr "Kitar Objek" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "Digunakan untuk kenalpasti kitar editorial bagi data objek." #: src/datasets.cpp:319 msgid "By-line" msgstr "Mengikut-talian" #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "" "Mengandungi nama bagi pencipta bagi data objek, cth. penulis, juru gambar " "atau artis grafik." #: src/datasets.cpp:323 src/properties.cpp:2103 msgid "Author" msgstr "Pengarang" #: src/datasets.cpp:324 msgid "By-line Title" msgstr "Tajuk Mengikut-talian" #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "Tajuk dalam-garisan ialah tajuk pencipta bagi data objek." #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 msgid "City" msgstr "Bandar" #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" "Mengenalpasti bandar asalnya data objek berdasarkan garis panduan yang " "dibuat oleh penyedia." #: src/datasets.cpp:333 msgid "Sub Location" msgstr "Sub Lokasi" #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" "Mengenalpasti lokasi didalam bandar yang mana data objek berasal, " "berdasarkan garis panduan yang dibuat oleh penyedia." #: src/datasets.cpp:337 msgid "Province State" msgstr "Wilayah Negeri" #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "" "Mengenalpasti Wilayah/Negeri asalnya data objek berdasarkan garis panduan " "yang dibuat oleh penyedia." #: src/datasets.cpp:341 msgid "State/Province" msgstr "Negeri/Daerah" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 msgid "Country Code" msgstr "Kod Negara" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" "Menunjukkan kod bagi negara/lokasi bergeografi yang mana sifat objek data " "dicipta, cth. foto yang diambil, peristiwa yang berlaku. Yang mana ISO telah " "tubuhkan kod negara yang berkenaan dibawah ISO 3166, kod yang akan " "digunakan. Bila ISO 3166 disediakan dengan mencukupi untuk pengenalpastian " "lokasi atau negara, cth. kapal dilautan, angkasa, IPTC akan umpukkan kod " "tiga-aksara dibawah pembekalan ISO 3166 untuk menghindari konflik." #: src/datasets.cpp:352 msgid "Country Name" msgstr "Nama Negara" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" "Menyediakan nama bagi negara/lokasi utama yang boleh disiar dan sepenuhnya " "yang mana sifat data objek dicipta, berdasarkan garis panduan penyedia." #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 msgid "Country" msgstr "Negara" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 msgid "Transmission Reference" msgstr "Rujukan Transmisi" #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" "Merupakan kod yang mewakili lokasi penghantaran asal berdasarkan amalan " "penyedia." #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 msgid "Headline" msgstr "Tajuk Utama" #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "Masukan boleh disiar yang menyediakan sinopsis kandungan data objek." #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 msgid "Credit" msgstr "Penghargaan" #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "" "Kenalpasti penyedia bagi data objek, bukan semestinya pemilik/pencipta." #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source" msgstr "Sumber" #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" "Kenalpasti pemilik asal bagi kandungan intelektual bagi objek data. Ia " "mungkin agensi, ahli bagi agensi atau individual." #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "Mengandungi sebarang notis hakcipta." #: src/datasets.cpp:379 msgid "Copyright Notice" msgstr "Notis Hakcipta" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 msgid "Contact" msgstr "Hubungan" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" "Kenalpasti individu atau organisasi yang boleh menyediakan maklumat latar " "belakang lanjut bagi objek data." #: src/datasets.cpp:384 src/properties.cpp:2101 msgid "Caption" msgstr "Kapsyen" #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "Keterangan berteks bagi data objek." #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 msgid "Description" msgstr "Keterangan" #: src/datasets.cpp:388 msgid "Writer" msgstr "Penulis" #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" "Pengenalpastian nama bagi individu yang terlibat dalam penulisan, " "penyuntingan atau pembetulan data objek atau kapsyen/abstrak." #: src/datasets.cpp:392 msgid "Rasterized Caption" msgstr "Kapsyen Teraster" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" "Mengandungi keterangan data objekl teraster dan digunakan yang mana aksara " "tidak dikodkan diperlukan untuk kapsyen." #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "Menentukan warna komponen bagi imej." #: src/datasets.cpp:399 msgid "Image Orientation" msgstr "Orientasi Imej" #: src/datasets.cpp:400 msgid "Indicates the layout of an image." msgstr "Menentukan bentangan bagi imej." #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 msgid "Language" msgstr "Bahasa" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" "Menerangkan bahasa kebangsaan utama objek, berdasarkan kod 2-huruf ISO " "639;1988. Tidak takrif atau laksanakan sebarang set aksara terkod, tetapi " "menggunakan penghalaan dalaman, iaitu ke pelbagai meja editorial." #: src/datasets.cpp:408 msgid "Audio Type" msgstr "Jenis Audio" #: src/datasets.cpp:409 msgid "Indicates the type of an audio content." msgstr "Menentukan jenis kandungan audio." #: src/datasets.cpp:411 msgid "Audio Rate" msgstr "Kadat Audio" #: src/datasets.cpp:412 msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "Menentukan kadar persampelan dalam Hertz bagi sesuatu kandungan audio." #: src/datasets.cpp:414 msgid "Audio Resolution" msgstr "Resolusi Audio" #: src/datasets.cpp:415 msgid "Indicates the sampling resolution of an audio content." msgstr "Menentukan resolusi persampelan bagi sesuatu kandungan audio." #: src/datasets.cpp:417 msgid "Audio Duration" msgstr "Tempoh Audio" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "Menentukan tempoh bagi kandungan audio." #: src/datasets.cpp:420 msgid "Audio Outcue" msgstr "Outcue Audio" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" "Mengenalpasti kandungan penghujung data objek audio, berdasarkan pada garis " "panduan yang dibina oleh penyedia." #: src/datasets.cpp:424 msgid "Preview Format" msgstr "Format Pratonton" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" "Nombor deduan yang mewakili format fail bagi pratonton data objek. Format " "fail mestilah didaftar dengan organisasi IPTC atau NAA berserta nombor unik " "kepadanya." #: src/datasets.cpp:429 src/properties.cpp:1276 msgid "Preview Version" msgstr "Versi Pratonton" #: src/datasets.cpp:430 msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" "Nombor deduaan yang mewakili versi tertentu format fail pratonton data objek " "yang dinyatakan dalam tag ." #: src/datasets.cpp:433 msgid "Preview Data" msgstr "Data Pratonton" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "Data pratonton imej binari." #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "(Tidak Sah)" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 msgid "Unknown dataset" msgstr "Set data tidak diketahui" #: src/error.cpp:55 msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "Ralat %0: arg2=%2, arg3=%3, arg1=%1." #: src/error.cpp:56 msgid "Success" msgstr "Berjaya" #: src/error.cpp:59 msgid "This does not look like a %1 image" msgstr "Ia nampaknya bukan seperti imej %1" #: src/error.cpp:60 msgid "Invalid dataset name `%1'" msgstr "Nama set data '%1' tidak sah" #: src/error.cpp:61 msgid "Invalid record name `%1'" msgstr "Nama rekod '%1' tidak sah" #: src/error.cpp:62 msgid "Invalid key `%1'" msgstr "Kunci '%1' tidak sah" #: src/error.cpp:63 msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "Nama tag tidak sah atau ifdId `%1', ifdId %2" #: src/error.cpp:64 msgid "Value not set" msgstr "Nilai tidak ditetapkan" #: src/error.cpp:65 msgid "%1: Failed to open the data source: %2" msgstr "%1: Gagal membuka sumber data: %2" #: src/error.cpp:66 msgid "%1: Failed to open file (%2): %3" msgstr "%1: Gagal membuka fail (%2): %3" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "%1: Fail mengandungi data bagi jenis imej yang tidak diketahui" #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "Ingatan mengandungi data bagi jenis imej yang tidak diketahui" #: src/error.cpp:69 msgid "Image type %1 is not supported" msgstr "Jenis imej %1 tidak disokong" #: src/error.cpp:70 msgid "Failed to read image data" msgstr "Gagal membaca data imej" #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "Ia nampaknya bukan seperti imej JPEG" #: src/error.cpp:72 msgid "%1: Failed to map file for reading and writing: %2" msgstr "%1: Gagal memetakan fail bagi membaca dan menulis: %2" #: src/error.cpp:73 msgid "%1: Failed to rename file to %2: %3" msgstr "%1: Gagal menamakan semula fail ke %2: %3" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "%1: Pemindahan gagal: %2" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "Pemindahan ingatan gagal: %1" #: src/error.cpp:76 msgid "Failed to read input data" msgstr "Gagal membaca data input" #: src/error.cpp:77 msgid "Failed to write image" msgstr "Gagal menulis imej" #: src/error.cpp:78 msgid "Input data does not contain a valid image" msgstr "Data input tidak mengandungi imej yang sah" #: src/error.cpp:79 msgid "Invalid ifdId %1" msgstr "ifdId %1 tidak sah" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "Masukan::setValue: Nilai terlalu besar (tag=%1, saiz=%2, dipinta=%3)" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" "Masukan::setDataArea: Nilai terlalu besar (tag=%1, saiz=%2, dipinta=%3)" #: src/error.cpp:82 msgid "Offset out of range" msgstr "Ofset diluar julat" #: src/error.cpp:83 msgid "Unsupported data area offset type" msgstr "Jenis ofset kawasan data tidak disokong" #: src/error.cpp:84 msgid "Invalid charset: `%1'" msgstr "Set aksara tidak sah: '%1'" #: src/error.cpp:85 msgid "Unsupported date format" msgstr "Format tarikh tidak disokong" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "Format masa tidak disokong" #: src/error.cpp:87 msgid "Writing to %1 images is not supported" msgstr "Menulis ke imej %1 tidak disokong" #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "Penetapan %1 dalam %2 imej tidak disokong" #: src/error.cpp:89 msgid "This does not look like a CRW image" msgstr "Ia nampaknya bukan seperti imej CRW" #: src/error.cpp:90 msgid "%1: Not supported" msgstr "%1: Tidak disokong" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "Tiada maklumat ruang nama tersedia untuk awalan XMP '%1'" #: src/error.cpp:92 msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "" "Tiada awalan didaftar untuk ruang nama '%2', diperlukan untuk laluan sifat " "'%1'" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "Saiz bagi segmen JPEG %1 lebih besar dari 65535 bait" #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "Xmpdatum %1 tidak dikendali bagi jenis %2" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "Nod XMP %1 tidak dikendali dengan opt=%2" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "Ralat Kit Alat XMP %1: %2" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "Gagal nyahkodkan sifat Alt Lang %1 dengan opt=%2" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "Gagal nyahkodkan penilai Alt Lang %1 dengan opt=%2" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "Gagal enkodkan sifat Alt Lang %1" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "Gagal tentukan nama sifat bagi laluan %1, nama jarak %2" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "Nama jarak skema %1 tidak berdaftar dengan Kit Alat XMP" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "Tida nama jarak berdaftar untuk awalan '%1'" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" "Alias tidak disokong. Sila hantar paket XMP ini ke ahuggel@gmx.net `%1', `" "%2', `%3'" #: src/error.cpp:104 msgid "Invalid XmpText type `%1'" msgstr "Jenis XmpText '%1' tidak sah" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "Direktori TIFF %1 mempunyai terlalu banyak masukan" #: src/error.cpp:106 msgid "Multiple TIFF array element tags %1 in one directory" msgstr "Tag unsur jujukan TIFF berbilang %1 dalam saty direktori" #: src/error.cpp:107 msgid "TIFF array element tag %1 has wrong type" msgstr "Tag unsur jujukan TIFF %1 mempunyai jenis salah" #: src/error.cpp:108 msgid "%1 has invalid XMP value type `%2'" msgstr "%1 mempunyai jenis nilai XMP '%2' yang tidak sah" #: src/exiv2.cpp:213 #, fuzzy msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "Hakcipta (C) 2004-2013 Andreas Huggel.\n" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" "Program ini merupakan perisian percuma; and boleh mengedarkannya dan/atau " "mengubahnya dibawah terma GNU Genaral Public License sebagimana yang telah " "dikeluarkan oleh Free Software Foundation; samada versi ke-2 lesen, atau " "(mengikut pilihan anda) sebarang versi terkemudian.\n" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" "Program ini diedarkan dengan harapan ianya berguna tetapi TANPA SEBARANG " "JAMINAN; tanpa sebarang implakasi jaminan KEBOLEHDAGANGAN atau KESESUAIAN " "UNTUK SESUATU TUJUAN. Sila rujuk GNU General Public LIcense untuk keterangan " "lanjut.\n" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" "Anda seharusnya menerima salinan Lesen Awam Am GNU bersama-sama perisian " "ini; jika tiada, laporkan ke Free Software Foundation, Inc., 51 Franklin " "Street, Fifth Floor, Boston, MA 02110-1301, USA\n" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "Penggunaan:" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" "[ options ] [ action ] file ...\n" "\n" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "Manipulasikan data meta Exif imej.\n" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" "\n" "Tindakan:\n" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" " ad | adjust Laras Exif setem masa mengikut masa diberi. Tindakan ini\n" " memerlukan sekurang-kurangnya\tsalah satu pilihan -a, -Y, -O " "atau -D.\n" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr " pr | print Cetak data meta imej.\n" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr " rm | delete Padam data meta dari fail.\n" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" " in | insert Sisip data meta dari fail *.exv berkenaan.\n" " Guna pilihan -S untuk menukar awalan fail input.\n" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" " ex | extract Ekstrak data meta ke fail *.exv, *.xmp dan imej thumbnail.\n" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" " mv | rename Nama semua fail dan/atau tetap setem masa fail berdasarkan\n" " setem masa ciptaan Exif. Format nama fail boleh ditetapkan\n" " dengan format -r, pilihan setem masa dikawal dengan -t dan -" "T.\n" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" " mo | modify Laksana perintah untuk ubahsuai (tamba, tetap, padam) Exif " "dan\n" " data meta IPTC bagai fail imej atau tetapkan ulasan JPEG.\n" " Pilihan diperlukan ialah -c, -m atau -M.\n" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" " fi | fixiso Salin tetapan ISO dari Nikon Makernote ke tag Exif\n" " biasa.\n" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" " fc | fixcom Tukar ulasan pengguna Exif UNICODE kepada UCS-2. pengekodan\n" " aksara semasanya boleh dinyatakan dengan pilihan -n.\n" #: src/exiv2.cpp:262 msgid "" "\n" "Options:\n" msgstr "" "\n" "Pilihan:\n" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr " -h Papar bantuan ini dan keluar.\n" #: src/exiv2.cpp:264 msgid " -V Show the program version and exit.\n" msgstr " -V Papar versi program dan keluar.\n" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr " -v Jadi berjela semasa program berjalan.\n" #: src/exiv2.cpp:266 msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr " -q Amaran dan mesej senyap semasa program berjalan (quiet).\n" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" " -Q lvl Tetapkan log-level ke d(ebug), i(nfo), w(arning), e(rror) atau m" "(ute).\n" #: src/exiv2.cpp:268 msgid " -b Show large binary values.\n" msgstr " -b Papar nilai binari besar.\n" #: src/exiv2.cpp:269 msgid " -u Show unknown tags.\n" msgstr " -u Papar tag tidak diketahui.\n" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr " -g key Hanya maklumat output untuk kunci ini (grep).\n" #: src/exiv2.cpp:271 #, fuzzy msgid " -K key Only output info for this key (exact match).\n" msgstr " -g key Hanya maklumat output untuk kunci ini (grep).\n" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" " -n enc Set aksara digunakan untuk menyahkod ulasan pengguna Exif " "UNICODE.\n" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr " -k Kekalkan setem masa fail (keep).\n" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" " -t Juga tetapkan setem masa dalam tindakan 'rename' (overrides -k).\n" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" " -T Hanya tetapkan setem masa fail dalam tindakan 'rename', jangan\n" " namakan semula fail (overrides -k).\n" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr "" " -f Jangan maklum sebelum menulis-ganti fail sedia ada (force).\n" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr " -f Jangan maklum sebelum menamakan semula fail (force).\n" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" " -a time Pelarasan masa dalam format [-]HH[:MM[:SS]]. Pilihan ini\n" " hanya digunakan dengan tindakan 'adjust'.\n" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr " -Y yrs Pelarasan tahun dengan tindakan 'adjust'.\n" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr " -O mon Pelarasan bulan dengan tindakan 'adjust'.\n" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr " -D day Pelarasan hari dengan tindakan 'adjust'.\n" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr "" " -p mode Mod cetak untuk tindakan 'print'. Mod yang mungkin adalah:\n" #: src/exiv2.cpp:285 msgid " s : print a summary of the Exif metadata (the default)\n" msgstr " s : cetak ringkasan data meta Exif (lalai)\n" #: src/exiv2.cpp:286 msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr "" " a : cetak data meta Exif, IPTC dan XMP (pintasan untuk -Pkyct)\n" #: src/exiv2.cpp:287 msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr " t : data Exif tertafsir (diterjemah) (-PEkyct)\n" #: src/exiv2.cpp:288 msgid " v : plain Exif data values (-PExgnycv)\n" msgstr " v : nilai data Exif data biasa (-PExgnycv)\n" #: src/exiv2.cpp:289 msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr " h : hexdump bagi data Exif (-PExgnycsh)\n" #: src/exiv2.cpp:290 msgid " i : IPTC data values (-PIkyct)\n" msgstr " i : nilai data IPTC (-PIkyct)\n" #: src/exiv2.cpp:291 msgid " x : XMP properties (-PXkyct)\n" msgstr " x : sifat XMP (-PXkyct)\n" #: src/exiv2.cpp:292 src/exiv2.cpp:317 msgid " c : JPEG comment\n" msgstr " c : ulasan JPEG\n" #: src/exiv2.cpp:293 msgid " p : list available previews\n" msgstr " p : senarai pratonton tersedia\n" #: src/exiv2.cpp:294 #, fuzzy msgid " S : print structure of image\n" msgstr " v : nilai data biasa\n" #: src/exiv2.cpp:295 #, fuzzy msgid " X : extract XMP from image\n" msgstr " X : sifat XMP (-PXkyct)\n" #: src/exiv2.cpp:296 msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" " -P flgs Cetak bendera untuk kawalan halus bagi senarai tag ('print' " "action):\n" #: src/exiv2.cpp:297 msgid " E : include Exif tags in the list\n" msgstr " E : sertakan tag Exif dalam senarai\n" #: src/exiv2.cpp:298 msgid " I : IPTC datasets\n" msgstr " I : set data IPTC\n" #: src/exiv2.cpp:299 msgid " X : XMP properties\n" msgstr " X : sifat XMP (-PXkyct)\n" #: src/exiv2.cpp:300 msgid " x : print a column with the tag number\n" msgstr " x : cetak lajur dengan nombor tag\n" #: src/exiv2.cpp:301 msgid " g : group name\n" msgstr " g : nama kumpulan\n" #: src/exiv2.cpp:302 msgid " k : key\n" msgstr " k : kunci\n" #: src/exiv2.cpp:303 msgid " l : tag label\n" msgstr " l : label tag\n" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr " n : nama tag\n" #: src/exiv2.cpp:305 msgid " y : type\n" msgstr " y : jenis\n" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr " c : bilangan komponen (count)\n" #: src/exiv2.cpp:307 msgid " s : size in bytes\n" msgstr " s : saiz dalam bait\n" #: src/exiv2.cpp:308 msgid " v : plain data value\n" msgstr " v : nilai data biasa\n" #: src/exiv2.cpp:309 msgid " t : interpreted (translated) data\n" msgstr " t : data tertafsir (translated)\n" #: src/exiv2.cpp:310 msgid " h : hexdump of the data\n" msgstr " h : hexdump bagi data\n" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr "" " -d tgt Padam sasaran untuk tindakan 'delete'. Sasaran yang mungkin " "adalah:\n" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr " a : semu data meta tersokong (the default)\n" #: src/exiv2.cpp:313 msgid " e : Exif section\n" msgstr " e : bahagian Exif\n" #: src/exiv2.cpp:314 msgid " t : Exif thumbnail only\n" msgstr " t : thumbnail Exif sahaja\n" #: src/exiv2.cpp:315 msgid " i : IPTC data\n" msgstr " i : data IPTC\n" #: src/exiv2.cpp:316 msgid " x : XMP packet\n" msgstr " x : paket XMP\n" #: src/exiv2.cpp:318 msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" " -i tgt Sisip sasaran untuk tindakan 'sisip'. Sasaran yang mungkin adalah\n" " sama seperti pilihan -d, bersama dengan pengubahsuai:\n" " X : Sisi data meta dari fail sisi XMP .xmp\n" " Hanya thumbnails JPEG boleh disisipkan, ia perlu dinamakan " "kepada\n" " -thumb.jpg\n" #: src/exiv2.cpp:323 msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" " -e tgt Esktrak sasaran untuk tindakan 'ekstrak'. Sasaran yang mungkin\n" " adalah sama seperti pilihan -d, bersama sasaran ekstrak\n" " imej pratonton dan pengubahsuai untuk jana fail sisi XMP:\n" " p[[, ...]] : Ekstrak imej pratonton.\n" " X : Ekstrak data meta pada fail sisi XMP .xmp\n" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" " -r fmt Format nama fail untuk tindakan 'rename'. Rentetan format\n" " ikuti strftime(3). Kata kunci berikut disokong:\n" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr " :basename: - nama fail asal tanpa sambungan\n" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr " :dirname: - nama direktori yang mempunyai fail asal\n" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr " :parentname: - nama direktori induk\n" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr " Format nama fail lalai ialah " #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr " -c txt rentetan ulasan JPEG untuk ditetapkan dalam imej.\n" #: src/exiv2.cpp:336 msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" " -m file Fail perintah untuk tindakan ubahsuai. Format untuk perintah " "ialah\n" " set|add|del [[] ].\n" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" " -M cmd Baris perintah untuk tindakan ubahsuai. Format untuk\n" " perintah adalah sama dengan baris fail perintah.\n" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" " -l dir Lokasi (direktori) bagi fail yang disisip dari atau " "diekstrakkan.\n" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" " -S .suf Guna akhiran .suf untuk fail sumber bagi perintah sisip.\n" "\n" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 msgid "Option" msgstr "pilihan" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "memerlukan argumen\n" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "Pilihan tidak dikenali" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "getopt mengembalikan kod aksara tidak dijangka" #: src/exiv2.cpp:410 msgid "Invalid argument" msgstr "Argumen tidak sah" #: src/exiv2.cpp:434 #, fuzzy msgid "Invalid regexp" msgstr "Argumen tidak sah" #: src/exiv2.cpp:473 src/exiv2.cpp:526 msgid "Ignoring surplus option" msgstr "Mengabaikan pilihan lebihan" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "tidak serasi dengan pilihan terdahulu\n" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "Mengabaikan pilihan lebihan -a" #: src/exiv2.cpp:504 msgid "Error parsing -a option argument" msgstr "Ralat menghurai argumen pilihan -a" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "Option -a tidak serasi dengan pilihan terdahulu\n" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "Ralat menghurai" #: src/exiv2.cpp:535 msgid "option argument" msgstr "argumen pilihan" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "Mod cetak tidak dikenali" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "Mengabaikan pilihan lebihan -p" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "Option -p tidak serasi dengan pilihan terdahulu\n" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "Item cetak dikenali" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "Mengabaikan pilihan lebihan -P" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "Option -P tidak serasi dengan pilihan terdahulu\n" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "Option -d tidak serasi dengan pilihan terdahulu\n" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "Option -e tidak serasi dengan pilihan terdahulu\n" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "Option -i tidak serasi dengan pilihan terdahulu\n" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "Tindakan adjust tidak serasi dengan pilihan diberi\n" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "Tindakan print tidak serasi dengan pilihan diberi\n" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "Tindakan delete tidak serasi dengan pilihan diberi\n" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "Tindakan extract tidak serasi dengan pilihan diberi\n" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "Tindakan insert tidak serasi dengan pilihan diberi\n" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "Tindakan rename tidak serasi dengan pilihan diberi\n" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "Tindakan modify tidak serasi dengan pilihan diberi\n" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "Tindakan fixiso tidak serasi dengan pilihan diberi\n" #: src/exiv2.cpp:824 msgid "Action fixcom is not compatible with the given options\n" msgstr "Tindakan fixcom tidak serasi dengan pilihan diberi\n" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "Tindakan mesti dinyatakan\n" #: src/exiv2.cpp:904 msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "" "Laras tindakan memerlukan sekurang-kurangnya satu pilihan -a, -Y, -O atau -" "D\n" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "" "Ubahsuai tindakan memerlukan sekurang-kurangnya satu pilihan -c, -m, atau -" "M\n" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "Sekurang-kurangnya satu fail diperlukan\n" #: src/exiv2.cpp:920 msgid "Error parsing -m option arguments\n" msgstr "Ralat menghurai argumen pilihan -m\n" #: src/exiv2.cpp:927 msgid "Error parsing -M option arguments\n" msgstr "Ralat menghurai argumen pilihan -M\n" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "pilihan -l hanya boleh digunakan dengan tindakan ekstrak atau sisip\n" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "pilihan -S hanya boleh digunakan dengan tindakan sisip\n" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "pilihan -t hanya boleh digunakan dengan tindakan nama semula\n" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "pilihan -T hanya boleh digunakan dengan tindakan nama semula\n" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "Tidak dikenali " #: src/exiv2.cpp:1039 msgid "target" msgstr "sasaran" #: src/exiv2.cpp:1065 msgid "Invalid preview number" msgstr "Bilanga pratonton tidak sah" #: src/exiv2.cpp:1097 msgid "Failed to open command file for reading\n" msgstr "Gagal membuka fail perintah untuk pembacaan\n" #: src/exiv2.cpp:1110 msgid "line" msgstr "baris" #: src/exiv2.cpp:1133 msgid "-M option" msgstr "Pilihan -M" #: src/exiv2.cpp:1180 #, fuzzy msgid "Invalid command line:" msgstr "Baris perintah tidak sah" #: src/exiv2.cpp:1187 msgid "Invalid command" msgstr "Perintah tidak sah" #: src/exiv2.cpp:1219 msgid "Invalid key" msgstr "Kekunci tidak sah" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "Baris perintah tidak sah" #: src/fujimn.cpp:62 msgid "Soft mode 1" msgstr "Mod lembut 1" #: src/fujimn.cpp:63 msgid "Soft mode 2" msgstr "Mod lembut 2" #: src/fujimn.cpp:65 msgid "Hard mode 1" msgstr "Mod keras 1" #: src/fujimn.cpp:66 msgid "Hard mode 2" msgstr "Mod keras 2" #: src/fujimn.cpp:74 msgid "Fluorescent (daylight)" msgstr "Pendarflour (cahaya siang)" #: src/fujimn.cpp:75 msgid "Fluorescent (warm white)" msgstr "Pendarflour (putih panas)" #: src/fujimn.cpp:76 msgid "Fluorescent (cool white)" msgstr "Pendarflour (putih sejuk)" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 msgid "Incandescent" msgstr "Pijar" #: src/fujimn.cpp:87 src/fujimn.cpp:88 msgid "None (black & white)" msgstr "Tiada (hitam & putih)" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 msgid "Red-eye reduction" msgstr "Pengurangan mata-merah" #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 msgid "Night scene" msgstr "Adegan malam" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 msgid "Program AE" msgstr "AE program" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "Cahaya tabii" #: src/fujimn.cpp:122 msgid "Anti-blur" msgstr "Anti-kabur" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 msgid "Sunset" msgstr "Matahari Terbenam" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 msgid "Museum" msgstr "Muzium" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 msgid "Party" msgstr "Pesta" #: src/fujimn.cpp:126 msgid "Flower" msgstr "Bunga" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "Teks" #: src/fujimn.cpp:128 msgid "Natural light & flash" msgstr "Cahaya tabii & denyar" #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 msgid "Aperture-priority AE" msgstr "Keutamaan-bukaan AE" #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 msgid "Shutter speed priority AE" msgstr "AE keutamaan kelajuan pengatup" #: src/fujimn.cpp:142 msgid "No flash & flash" msgstr "Tanpa denyar & denyar" #: src/fujimn.cpp:148 msgid "Chrome" msgstr "Krom" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 msgid "Wide" msgstr "Lebar" #: src/fujimn.cpp:160 msgid "F0/Standard" msgstr "F0/Piawai" #: src/fujimn.cpp:161 msgid "F1/Studio portrait" msgstr "F1/Potret studio" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "F2/Fujichrome" #: src/fujimn.cpp:163 msgid "F3/Studio portrait Ex" msgstr "F3/Studio portrait Ex" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "F4/Velvia" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "Auto (100-400%)" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "Raw" #: src/fujimn.cpp:171 msgid "Standard (100%)" msgstr "Piawai (100%)" #: src/fujimn.cpp:172 msgid "Wide mode 1 (230%)" msgstr "Mod lebar 1 (230%)" #: src/fujimn.cpp:173 msgid "Wide mode 2 (400%)" msgstr "Mod lebar 2 (400%)" #: src/fujimn.cpp:174 msgid "Film simulation mode" msgstr "Mod simulasi filem" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 msgid "Version" msgstr "Versi" #: src/fujimn.cpp:180 msgid "Fujifilm Makernote version" msgstr "Veris Makernote Fujifilm" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" "Nombor ini adalah unik, dan mengandungi tarikh pengilangan, tetapi tidak " "sama dengan nombor dicetak pada badan kamera." #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 msgid "Image quality setting" msgstr "Tetapan kualiti imej" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 msgid "Color" msgstr "Warna" #: src/fujimn.cpp:196 msgid "Chroma saturation setting" msgstr "Tetapan ketepuan kroma" #: src/fujimn.cpp:198 msgid "Tone" msgstr "Ton" #: src/fujimn.cpp:202 msgid "Flash firing mode setting" msgstr "Tetapan mod penembakan denyar" #: src/fujimn.cpp:204 msgid "Flash Strength" msgstr "Kekuatan Denyar" #: src/fujimn.cpp:205 msgid "Flash firing strength compensation setting" msgstr "Tetapan pemampasan kekuatan penyalaan denyar" #: src/fujimn.cpp:208 msgid "Macro mode setting" msgstr "Tetapan mod makro" #: src/fujimn.cpp:211 msgid "Focusing mode setting" msgstr "Tetapan mod memfokus" #: src/fujimn.cpp:216 msgid "Slow Sync" msgstr "Segerak Perlahan" #: src/fujimn.cpp:217 msgid "Slow synchro mode setting" msgstr "Tetapan mod segerak perlahan" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 msgid "Picture Mode" msgstr "Mod Gambar" #: src/fujimn.cpp:220 msgid "Picture mode setting" msgstr "Tetapan mod gambar" #: src/fujimn.cpp:226 msgid "Continuous shooting or auto bracketing setting" msgstr "Penangkapan berterusan atau tetapan pengurungan automatik" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 msgid "Sequence Number" msgstr "Bilangan Jujukan" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 msgid "Sequence number" msgstr "Bilangan jujukan" #: src/fujimn.cpp:234 msgid "FinePix Color" msgstr "Warna FinePix" #: src/fujimn.cpp:235 msgid "Fuji FinePix color setting" msgstr "Tetapan warna FinePix Fuji" #: src/fujimn.cpp:237 msgid "Blur Warning" msgstr "Amaran Kabur" #: src/fujimn.cpp:238 msgid "Blur warning status" msgstr "Status amaran kabur" #: src/fujimn.cpp:240 msgid "Focus Warning" msgstr "Amaran Fokus" #: src/fujimn.cpp:241 msgid "Auto Focus warning status" msgstr "Status amaran Fokus Automatik" #: src/fujimn.cpp:243 msgid "Exposure Warning" msgstr "Amaran Dedahan" #: src/fujimn.cpp:244 msgid "Auto exposure warning status" msgstr "Status amaran dedahan automatik" #: src/fujimn.cpp:246 msgid "Dynamic Range" msgstr "Julat Dinamik" #: src/fujimn.cpp:247 msgid "Dynamic range" msgstr "Julat dinamik" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 msgid "Film Mode" msgstr "Mod Filem" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 msgid "Film mode" msgstr "Mod filem" #: src/fujimn.cpp:252 msgid "Dynamic Range Setting" msgstr "Tetapan Julat Dinamik" #: src/fujimn.cpp:253 msgid "Dynamic range settings" msgstr "Tetapan julat dinamik" #: src/fujimn.cpp:255 msgid "Development Dynamic Range" msgstr "Julat Dinamik Pembangunan" #: src/fujimn.cpp:256 msgid "Development dynamic range" msgstr "Julat dinamik pembangunan" #: src/fujimn.cpp:258 msgid "Minimum Focal Length" msgstr "Jarak Fokus Minimum" #: src/fujimn.cpp:259 msgid "Minimum focal length" msgstr "Jarak fokus minimum" #: src/fujimn.cpp:261 msgid "Maximum Focal Length" msgstr "Jarak Fokus Maksimum" #: src/fujimn.cpp:262 msgid "Maximum focal length" msgstr "Jarak fokus maksimum" #: src/fujimn.cpp:264 #, fuzzy msgid "Maximum Aperture at Minimum Focal" msgstr "Bukaan Maksimum pada Fokus Minimum" #: src/fujimn.cpp:265 #, fuzzy msgid "Maximum aperture at minimum focal" msgstr "Bukaan maksimum pada fokus minimum" #: src/fujimn.cpp:267 #, fuzzy msgid "Maximum Aperture at Maximum Focal" msgstr "Bukaan Maksimum pada Fokus Maksimum" #: src/fujimn.cpp:268 #, fuzzy msgid "Maximum aperture at maximum focal" msgstr "Bukaan maksimum pada fokus maksimum" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 msgid "File Source" msgstr "Sumber Fail" #: src/fujimn.cpp:271 msgid "File source" msgstr "Sumber fail" #: src/fujimn.cpp:273 msgid "Order Number" msgstr "Bilangan Tertib" #: src/fujimn.cpp:274 msgid "Order number" msgstr "Bilangan tertib" #: src/fujimn.cpp:276 msgid "Frame Number" msgstr "Bilangan Bingkai" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 msgid "Frame number" msgstr "Bilangan bingkai" #: src/fujimn.cpp:281 msgid "Unknown FujiMakerNote tag" msgstr "Tag FujiMakerNote tidak diketahui" #: src/minoltamn.cpp:56 msgid "Natural Color" msgstr "Warna Alamiah" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 msgid "Vivid Color" msgstr "Warna Terang" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 msgid "Solarization" msgstr "Penyuriaan" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "AdobeRGB" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 msgid "Natural" msgstr "Alamiah" #: src/minoltamn.cpp:64 msgid "Natural sRGB" msgstr "sRBG Alamiah" #: src/minoltamn.cpp:65 msgid "Natural+ sRGB" msgstr "Alamiah+ sRBG" #: src/minoltamn.cpp:67 msgid "Evening" msgstr "Petang" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 msgid "Night Portrait" msgstr "Potret Malam" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 msgid "Super Fine" msgstr "Super Halus" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 msgid "Extra Fine" msgstr "Tambahan Halus" #: src/minoltamn.cpp:90 msgid "Makernote Version" msgstr "Versi Makernote" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "Rentetan 'MLT0' (tidak dihentikan secara nol)" #: src/minoltamn.cpp:93 msgid "Camera Settings (Std Old)" msgstr "Tetapan Kamera (Std Lama)" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "" "Tetapan Kamera Piawai (Model Kamera Lama seperti D5, D7, S304, dan S404)" #: src/minoltamn.cpp:96 msgid "Camera Settings (Std New)" msgstr "Tetapan Kamera (Std Baru)" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "Tetapan Kamera Piawai (Model Kamera Baru seperti D7u, D7i, dan D7hi)" #: src/minoltamn.cpp:99 msgid "Camera Settings (7D)" msgstr "Tetapan Kamera (7D)" #: src/minoltamn.cpp:100 msgid "Camera Settings (for Dynax 7D model)" msgstr "Tetapan Kamera (untuk model Dynax 7D)" #: src/minoltamn.cpp:102 msgid "Image Stabilization Data" msgstr "Data Penstabilan Imej" #: src/minoltamn.cpp:103 msgid "Image stabilization data" msgstr "Data penstabilan imej" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "Maklumat WB A100" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "Maklumat imbangan putih untuk Sony DSLR-A100" #: src/minoltamn.cpp:111 msgid "Compressed Image Size" msgstr "Saiz Imej Termampat" #: src/minoltamn.cpp:112 msgid "Compressed image size" msgstr "Saiz imej termampat" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "Thumbnail Jpeg 640x480 piksel" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 msgid "Thumbnail Offset" msgstr "Ofset Thumbnail" #: src/minoltamn.cpp:118 msgid "Offset of the thumbnail" msgstr "Ofset bagi thumbnail" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 msgid "Thumbnail Length" msgstr "Panjang Thumbnail" #: src/minoltamn.cpp:121 msgid "Size of the thumbnail" msgstr "Saiz bagi thumbnail" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 msgid "Scene Mode" msgstr "Mode Adegan" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 msgid "Color Mode" msgstr "Mod Warna" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 msgid "Color mode" msgstr "Mod warna" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 msgid "Image Quality" msgstr "Kualiti Imej" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "0x0103" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 msgid "Flash Exposure Compensation" msgstr "Pemampasan Dedahan Denyar" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 msgid "Flash exposure compensation in EV" msgstr "Pemampasan Dedahan Denyar dalam EV" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 msgid "Teleconverter Model" msgstr "Model Teleconverter" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "Rakaman RAW+JPG" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "Perakaman fail RAW dan JPG" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 msgid "Zone Matching" msgstr "Pemadanan Zon" #: src/minoltamn.cpp:154 msgid "Zone matching" msgstr "Pemadanan zon" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 msgid "Color temperature" msgstr "Suhu warna" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 msgid "Lens ID" msgstr "ID Kanta" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 msgid "Lens identifier" msgstr "Pengenalpasti kanta" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 msgid "Color Compensation Filter" msgstr "Penapis Pemampasan Warna" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "Penapis Pemampasan Warna: negatif adalah hijau, positif adalah magenta" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 msgid "White Balance Fine Tune" msgstr "Nilai Talaan Imbangan Putih" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 msgid "White Balance Fine Tune Value" msgstr "Nilai Talaan Halus Imbangan Putih" #: src/minoltamn.cpp:168 msgid "Image Stabilization A100" msgstr "Penstabilan Imej A100" #: src/minoltamn.cpp:169 msgid "Image Stabilization for the Sony DSLR-A100" msgstr "Penstabilan Imej untuk Sony DSLR-A100" #: src/minoltamn.cpp:173 msgid "Camera Settings (5D)" msgstr "Tetapan Kamera (5D)" #: src/minoltamn.cpp:174 msgid "Camera Settings (for Dynax 5D model)" msgstr "Tetapan Kamera (untuk model Dynax 5D)" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "Print IM" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 msgid "PrintIM information" msgstr "Maklumat PrintIM" #: src/minoltamn.cpp:183 msgid "Camera Settings (Z1)" msgstr "Tetapan Kamera (Z1)" #: src/minoltamn.cpp:184 msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "Tetapan Kamera (untuk model Z1, SImage X, dan F100)" #: src/minoltamn.cpp:188 msgid "Unknown Minolta MakerNote tag" msgstr "Tag MakerNote Minolta tidak diketahui" #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 msgid "Aperture priority" msgstr "Keutamaan bukaan" #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "Keutamaan pengatup" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 msgid "Fill flash" msgstr "Denyar tokok" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 msgid "Rear flash sync" msgstr "Segerak denyar belakang" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 msgid "Wireless" msgstr "Tanpa wayar" #: src/minoltamn.cpp:224 msgid "Fluorescent 2" msgstr "Pendarflour 2" #: src/minoltamn.cpp:231 msgid "Full size" msgstr "Saiz penuh" #: src/minoltamn.cpp:243 msgid "Super fine" msgstr "Super halus" #: src/minoltamn.cpp:247 msgid "Extra fine" msgstr "Tambahan halus" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 msgid "Single Frame" msgstr "Bingkai Tunggal" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 msgid "Self-timer" msgstr "Pemasa-kendiri" #: src/minoltamn.cpp:255 msgid "Bracketing" msgstr "Pengurungan" #: src/minoltamn.cpp:256 msgid "Interval" msgstr "Sela" #: src/minoltamn.cpp:257 msgid "UHS continuous" msgstr "UHS berterusan" #: src/minoltamn.cpp:258 msgid "HS continuous" msgstr "HS berterusan" #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 msgid "Multi-segment" msgstr "Segmen-berbilang" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 msgid "Center weighted average" msgstr "Purata berpemberat pusat" #: src/minoltamn.cpp:271 msgid "Electronic magnification" msgstr "Pembesaran elektronik" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 msgid "Top" msgstr "Atas" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 msgid "Top-right" msgstr "Kanan-atas" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 msgid "Bottom-right" msgstr "Kanan-bawah" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 msgid "Bottom" msgstr "Bawah" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 msgid "Bottom-left" msgstr "Kiri-bawah" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 msgid "Top-left" msgstr "Kiri-atas" #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 msgid "Hard" msgstr "Keras" #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 msgid "Soft" msgstr "Lembut" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 msgid "Night portrait" msgstr "Potret malam" #: src/minoltamn.cpp:315 msgid "Sports action" msgstr "Aksi sukan" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "Cereka selang-masa" #: src/minoltamn.cpp:349 msgid "Standard form" msgstr "Bentuk piawai" #: src/minoltamn.cpp:350 msgid "Data form" msgstr "Bentuk data" #: src/minoltamn.cpp:355 msgid "Natural color" msgstr "Warna alamiah" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 msgid "Black and white" msgstr "Hitam dan Putih" #: src/minoltamn.cpp:357 msgid "Vivid color" msgstr "Warna terang" #: src/minoltamn.cpp:364 msgid "No zone" msgstr "Tiada zon" #: src/minoltamn.cpp:365 msgid "Center zone (horizontal orientation)" msgstr "Zon tengah (orientasi melintang)" #: src/minoltamn.cpp:366 msgid "Center zone (vertical orientation)" msgstr "Zon tengah (orientasi menegak)" #: src/minoltamn.cpp:367 msgid "Left zone" msgstr "Zon kiri" #: src/minoltamn.cpp:368 msgid "Right zone" msgstr "Zon kanan" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 msgid "Auto focus" msgstr "Fokus sendiri" #: src/minoltamn.cpp:379 msgid "Wide focus (normal)" msgstr "Fokus lebar (biasa)" #: src/minoltamn.cpp:380 msgid "Spot focus" msgstr "Fokus bintik" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 msgid "Exposure" msgstr "Dedahan" #: src/minoltamn.cpp:388 msgid "Filter" msgstr "Penapis" #: src/minoltamn.cpp:393 msgid "Not embedded" msgstr "Tidak Terbenam" #: src/minoltamn.cpp:394 msgid "Embedded" msgstr "Terbenam" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "Teks + ID#" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "ADI (Advanced Distance Integration)" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "Pra-denyar TTl" #: src/minoltamn.cpp:410 msgid "Manual flash control" msgstr "Kawalan denyar manual" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 msgid "Exposure Mode" msgstr "Mod Dedahan" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 msgid "Flash mode" msgstr "Mod Denyar" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 msgid "Drive mode" msgstr "Mod pacu" #: src/minoltamn.cpp:512 msgid "ISO Value" msgstr "Nilai ISO" #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 msgid "Exposure Time" msgstr "Masa Dedahan" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 msgid "FNumber" msgstr "Nombor F" #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 msgid "The F-Number" msgstr "Nombor-F" #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 msgid "Macro Mode" msgstr "Mod Makro" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 msgid "Exposure Compensation" msgstr "Pemampasan Dedahan" #: src/minoltamn.cpp:529 msgid "Bracket Step" msgstr "Langkah Pendakap" #: src/minoltamn.cpp:530 msgid "Bracket step" msgstr "Langkah pendakap" #: src/minoltamn.cpp:532 msgid "Interval Length" msgstr "Panjang Sela" #: src/minoltamn.cpp:533 msgid "Interval length" msgstr "Panjang sela" #: src/minoltamn.cpp:535 msgid "Interval Number" msgstr "Bilangan Sela" #: src/minoltamn.cpp:536 msgid "Interval number" msgstr "Bilangan sela" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 msgid "Focus Distance" msgstr "Jarak Fokus" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 msgid "Focus distance" msgstr "Jarak fokus" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 msgid "Flash Fired" msgstr "Denyar Dipancarkan" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 msgid "Flash fired" msgstr "Denyar dipancarkan" #: src/minoltamn.cpp:547 msgid "Minolta Date" msgstr "Tarikh Minolta" #: src/minoltamn.cpp:548 msgid "Minolta date" msgstr "Tarikh Minolta" #: src/minoltamn.cpp:550 msgid "Minolta Time" msgstr "Masa Minolt" #: src/minoltamn.cpp:551 msgid "Minolta time" msgstr "Tarikh Minolta" #: src/minoltamn.cpp:556 msgid "File Number Memory" msgstr "Ingatan Nombor Fail" #: src/minoltamn.cpp:557 msgid "File number memory" msgstr "Ingatan nombor fail" #: src/minoltamn.cpp:559 msgid "Last Image Number" msgstr "Nombor Imej Terakhir" #: src/minoltamn.cpp:560 msgid "Last image number" msgstr "Nombor imej terakhir" #: src/minoltamn.cpp:562 msgid "Color Balance Red" msgstr "Imbangan Warna Merah" #: src/minoltamn.cpp:563 msgid "Color balance red" msgstr "Imbangan warna merah" #: src/minoltamn.cpp:565 msgid "Color Balance Green" msgstr "Imbangan Warna Hijau" #: src/minoltamn.cpp:566 msgid "Color balance green" msgstr "Imbangan warna hijau" #: src/minoltamn.cpp:568 msgid "Color Balance Blue" msgstr "Imbangan Warna Biru" #: src/minoltamn.cpp:569 msgid "Color balance blue" msgstr "Imbangan warna biru" #: src/minoltamn.cpp:580 msgid "Subject Program" msgstr "Program Subjek" #: src/minoltamn.cpp:581 msgid "Subject program" msgstr "Program subjek" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 msgid "ISO Settings" msgstr "Tetapan ISO" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 msgid "ISO setting" msgstr "Tetapan ISO" #: src/minoltamn.cpp:589 msgid "Minolta Model" msgstr "Model Minolta" #: src/minoltamn.cpp:590 msgid "Minolta model" msgstr "Model Minolta" #: src/minoltamn.cpp:592 msgid "Interval Mode" msgstr "Mod Sela" #: src/minoltamn.cpp:593 msgid "Interval mode" msgstr "Mod sela" #: src/minoltamn.cpp:595 msgid "Folder Name" msgstr "Nama Folder" #: src/minoltamn.cpp:596 msgid "Folder name" msgstr "Nama folder" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 msgid "ColorMode" msgstr "Mod Warna" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 msgid "Color Filter" msgstr "Penapis Warna" #: src/minoltamn.cpp:602 msgid "Color filter" msgstr "Penapis warna" #: src/minoltamn.cpp:604 msgid "Black and White Filter" msgstr "Penapis Hitam dan Putih" #: src/minoltamn.cpp:605 msgid "Black and white filter" msgstr "Penapis hitam dan putih" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 msgid "Internal Flash" msgstr "Denyar Dalaman" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 msgid "Brightness" msgstr "Kecerahan" #: src/minoltamn.cpp:613 msgid "Spot Focus Point X" msgstr "Titik Fokus Bintik X" #: src/minoltamn.cpp:614 msgid "Spot focus point X" msgstr "Titik fokus bintik X" #: src/minoltamn.cpp:616 msgid "Spot Focus Point Y" msgstr "Titik Fokus Bintik Y" #: src/minoltamn.cpp:617 msgid "Spot focus point Y" msgstr "Titik fokus bintik Y" #: src/minoltamn.cpp:619 msgid "Wide Focus Zone" msgstr "Zon Fokus Lebar" #: src/minoltamn.cpp:620 msgid "Wide focus zone" msgstr "Zon fokus lebar" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 msgid "Focus mode" msgstr "Mod fokus" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 msgid "Focus area" msgstr "Kawasan fokus" #: src/minoltamn.cpp:628 msgid "DEC Switch Position" msgstr "Kedudukan Suis DEC" #: src/minoltamn.cpp:629 msgid "DEC switch position" msgstr "Kedudukan suis DEC" #: src/minoltamn.cpp:631 msgid "Color Profile" msgstr "Profil Warna" #: src/minoltamn.cpp:632 msgid "Color profile" msgstr "Profil warna" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 msgid "Data Imprint" msgstr "Data Imprint" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 msgid "Flash Metering" msgstr "Pemeteran Denyar" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 msgid "Flash metering" msgstr "Pemeteran denyar" #: src/minoltamn.cpp:642 msgid "Unknown Minolta Camera Settings tag" msgstr "Tag Tetapan Kamera Minolta tidak diketahui" #: src/minoltamn.cpp:660 msgid "Program-shift A" msgstr "Program-shift A" #: src/minoltamn.cpp:661 msgid "Program-shift S" msgstr "Program-shift S" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 msgid "Raw+Jpeg" msgstr "Raw+Jpeg" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 msgid "Kelvin" msgstr "Kelvin" #: src/minoltamn.cpp:695 msgid "Single-shot AF" msgstr "AF Syot-tunggal" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 msgid "Continuous AF" msgstr "AF Berterusan" #: src/minoltamn.cpp:698 msgid "Automatic AF" msgstr "AF Automatik" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 msgid "sRGB (Natural)" msgstr "sRGB (Alamiah)" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 msgid "sRGB (Natural+)" msgstr "sRGB (Alamiah+)" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 msgid "Horizontal (normal)" msgstr "Melintang (biasa)" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "Putar 90 IJ" #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "Putar 270 IJ" #: src/minoltamn.cpp:756 msgid "AF Points" msgstr "Titik AF" #: src/minoltamn.cpp:757 msgid "AF points" msgstr "Titik AF" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 msgid "Color Space" msgstr "Ruang Warna" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 msgid "Color space" msgstr "Ruang warna" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 msgid "Free Memory Card Images" msgstr "Imej Kad Memori Bebas" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 msgid "Free memory card images" msgstr "Imej kad memori bebas" #: src/minoltamn.cpp:789 msgid "Hue" msgstr "Rona" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 msgid "Rotation" msgstr "Putaran" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 msgid "Image Number" msgstr "Bilangan Imej" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 msgid "Noise reduction" msgstr "Pengurangan hingar" #: src/minoltamn.cpp:817 msgid "Zone Matching On" msgstr "Pemadanan Zon Dihidupkan" #: src/minoltamn.cpp:818 msgid "Zone matching on" msgstr "Pemadanan zon dihidupkan" #: src/minoltamn.cpp:822 msgid "Unknown Minolta Camera Settings 7D tag" msgstr "Tetapan Kamera Minolta tag 7D tidak diketahui" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 msgid "Program Shift A" msgstr "Program Shift A" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 msgid "Program Shift S" msgstr "Program Shift S" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 msgid "Night View/Portrait" msgstr "Potret/Paparan Malam" #: src/minoltamn.cpp:895 msgid "200 (Zone Matching High)" msgstr "200 (Pemadanan Zon Tinggi)" #: src/minoltamn.cpp:896 msgid "80 (Zone Matching Low)" msgstr "80 (Pemadanan Zon Rendah)" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 msgid "Adobe RGB (ICC)" msgstr "Adobe RGB (ICC)" #: src/minoltamn.cpp:918 msgid "Central" msgstr "Tengah" #: src/minoltamn.cpp:919 msgid "Up" msgstr "Atas" #: src/minoltamn.cpp:920 msgid "Up right" msgstr "Kanan atas" #: src/minoltamn.cpp:922 msgid "Down right" msgstr "Kanan bawah" #: src/minoltamn.cpp:923 msgid "Down" msgstr "Bawah" #: src/minoltamn.cpp:924 msgid "Down left" msgstr "Kiri bawah" #: src/minoltamn.cpp:926 msgid "Up left" msgstr "Kiri atas" #: src/minoltamn.cpp:932 msgid "Selection" msgstr "Pemilihan" #: src/minoltamn.cpp:947 msgid "Natural+" msgstr "Alamiah+" #: src/minoltamn.cpp:949 msgid "Wind Scene" msgstr "Adegan Berangin" #: src/minoltamn.cpp:950 msgid "Evening Scene" msgstr "Adegan Petang" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus Position" msgstr "Kedudukan Fokus" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus position" msgstr "Kedudukan fokus" #: src/minoltamn.cpp:1003 msgid "Focus Area" msgstr "Kawasan Fokus" #: src/minoltamn.cpp:1036 msgid "Exposure Revision" msgstr "Revisi Dedahan" #: src/minoltamn.cpp:1037 msgid "Exposure revision" msgstr "Revisi dedahan" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 msgid "Rotation2" msgstr "Putaran2" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 msgid "Picture Finish" msgstr "Kemasan Gambar" #: src/minoltamn.cpp:1063 msgid "Exposure Manual Bias" msgstr "Bias Manual Dedahan" #: src/minoltamn.cpp:1064 msgid "Exposure manual bias" msgstr "Bias manual dedahan" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 msgid "AF Mode" msgstr "Mod AF" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 msgid "AF mode" msgstr "Mod AF" #: src/minoltamn.cpp:1087 msgid "Unknown Minolta Camera Settings 5D tag" msgstr "Tetapan Kamera Minolta tag 5D tidak diketahui" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 msgid "Self-timer 10 sec" msgstr "Pemasa-kendiri 10 saat" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 msgid "Self-timer 2 sec" msgstr "Pemasa-kendiri 2 saat" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 msgid "White Balance Bracketing Low" msgstr "Pengurungan Imbangan Putih Rendah" #: src/minoltamn.cpp:1105 msgid "White Balance Bracketing High" msgstr "Pengurungan Imbangan Putih Tinggi" #: src/minoltamn.cpp:1106 msgid "Single-frame Bracketing Low" msgstr "Pengurungan Bingkai-tunggal Rendah" #: src/minoltamn.cpp:1107 msgid "Continuous Bracketing Low" msgstr "Pengurungan Berterusan Rendah" #: src/minoltamn.cpp:1108 msgid "Single-frame Bracketing High" msgstr "Pengurungan Bingkai-tunggal Tinggi" #: src/minoltamn.cpp:1109 msgid "Continuous Bracketing High" msgstr "Pengurungan Berterusan Tinggi" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "Lanjutan" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 msgid "Continuous Bracketing" msgstr "Bertahap Berterusan" #: src/minoltamn.cpp:1156 msgid "Single-Frame Bracketing" msgstr "Bertahap Bingkai-Tunggal" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 msgid "White Balance Bracketing" msgstr "Bertahap Imbangan Putih" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 msgid "Preset" msgstr "Praset" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 msgid "Color Temperature/Color Filter" msgstr "Suhu Warna/Penapis Warna" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 msgid "Temperature" msgstr "Suhu" #: src/minoltamn.cpp:1213 msgid "Setup" msgstr "Persediaan" #: src/minoltamn.cpp:1214 msgid "Recall" msgstr "Panggil Semula" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "Ok" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "Ralat" #: src/minoltamn.cpp:1232 msgid "Image and Information" msgstr "Imej dan Maklumat" #: src/minoltamn.cpp:1233 msgid "Image Only" msgstr "Imej Sahaja" #: src/minoltamn.cpp:1234 msgid "Image and Histogram" msgstr "Imej dan Histogram" #: src/minoltamn.cpp:1240 msgid "Fill Flash" msgstr "Masukkan Cahaya" #: src/minoltamn.cpp:1251 msgid "Focus Hold" msgstr "Fokus Tertahan" #: src/minoltamn.cpp:1252 msgid "DOF Preview" msgstr "Pratonton DOF" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "Pegang" #: src/minoltamn.cpp:1258 msgid "Toggle" msgstr "Togol" #: src/minoltamn.cpp:1259 msgid "Spot Hold" msgstr "Titik Tertahan" #: src/minoltamn.cpp:1260 msgid "Spot Toggle" msgstr "Togol Bintik" #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 msgid "Shutter Speed" msgstr "Kelajuan Bukaan" #: src/minoltamn.cpp:1271 msgid "Ambient and Flash" msgstr "Keadaan Sekitaran dan Denyar" #: src/minoltamn.cpp:1272 msgid "Ambient Only" msgstr "Keadaan Sekitaran Sahaja" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "0.3 saat" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "0.6 saat" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 msgid "Automatic" msgstr "Automatik" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 msgid "Auto-rotate" msgstr "Putar-sendiri" #: src/minoltamn.cpp:1291 msgid "Horizontal" msgstr "Melintang" #: src/minoltamn.cpp:1297 msgid "Manual Rotate" msgstr "Putar Manual" #: src/minoltamn.cpp:1302 msgid "Within Range" msgstr "Dalam Julat" #: src/minoltamn.cpp:1303 msgid "Under/Over Range" msgstr "Dibawah/Melebihi Julat" #: src/minoltamn.cpp:1304 msgid "Out of Range" msgstr "Diluar Julat" #: src/minoltamn.cpp:1309 msgid "Not Indicated" msgstr "Tidak Dinyatakan" #: src/minoltamn.cpp:1310 msgid "Under Scale" msgstr "Dibawah Skala" #: src/minoltamn.cpp:1311 msgid "Bottom of Scale" msgstr "Bahagian Bawah Skala" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "Bahagian Teratas Skala" #: src/minoltamn.cpp:1330 msgid "Over Scale" msgstr "Melebihi Skala" #: src/minoltamn.cpp:1335 msgid "AM" msgstr "AM" #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "MF" #: src/minoltamn.cpp:1342 msgid "Built-in" msgstr "Terbina-dalam" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 msgid "Very Low" msgstr "Sangat Rendah" #: src/minoltamn.cpp:1350 msgid "Half Full" msgstr "Separa Penuh" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "Kuasa Mencukupi Berbaki" #: src/minoltamn.cpp:1359 msgid "Exposure Compensation Setting" msgstr "Tetapan Pemampasan Dedahan" #: src/minoltamn.cpp:1360 msgid "Exposure compensation setting" msgstr "Tetapan pemampasan dedahan" #: src/minoltamn.cpp:1362 msgid "High Speed Sync" msgstr "Segerak Kelajuan Tinggi" #: src/minoltamn.cpp:1363 msgid "High speed sync" msgstr "Segerak kelajuan tinggi" #: src/minoltamn.cpp:1365 msgid "Manual Exposure Time" msgstr "Masa Dedahan Manual" #: src/minoltamn.cpp:1366 msgid "Manual exposure time" msgstr "Masa dedahan manual" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 msgid "Manual FNumber" msgstr "FNumber Manual" #: src/minoltamn.cpp:1377 msgid "Drive Mode 2" msgstr "Mod Pacu 2" #: src/minoltamn.cpp:1378 msgid "Drive mode 2" msgstr "Mod pacu 2" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "Titik Kawasan AF Setempat" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 msgid "AF Area Mode" msgstr "Mod Kawasan AF" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 msgid "FlashMode" msgstr "Mod Denyar" #: src/minoltamn.cpp:1395 msgid "Flash Exposure Comp Setting" msgstr "Tetapan Pemampasan Dedahan Denyar" #: src/minoltamn.cpp:1396 msgid "Flash exposure compensation setting" msgstr "Tetapan pemampasan dedahan denyar" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 msgid "ISO Setting" msgstr "Tetapan ISO" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 msgid "Zone Matching Mode" msgstr "Mod Pemadanan Zon" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 msgid "Dynamic Range Optimizer Mode" msgstr "Mod Pengoptimum Julat Dinamik" #: src/minoltamn.cpp:1408 msgid "Dynamic range optimizer mode" msgstr "Mod pengoptimum julat dinamik" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "Pelepasan Bukaan Persediaan Keutamaan" #: src/minoltamn.cpp:1434 msgid "Self Timer Time" msgstr "Masa Pemasa Kendiri" #: src/minoltamn.cpp:1435 msgid "Self timer time" msgstr "Masa pemasa kendiri" #: src/minoltamn.cpp:1438 msgid "Continuous bracketing" msgstr "Pendakapan berterusan" #: src/minoltamn.cpp:1440 msgid "Single Frame Bracketing" msgstr "Pendakapan Bingkai Tunggal" #: src/minoltamn.cpp:1441 msgid "Single frame bracketing" msgstr "Pendakapan bingkai tunggal" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 msgid "White balance bracketing" msgstr "Pendakapan imbangan putih" #: src/minoltamn.cpp:1446 msgid "White Balance Setting" msgstr "Tetapan Imbangan Putih" #: src/minoltamn.cpp:1449 msgid "Preset White Balance" msgstr "Praset Imbangan Putih" #: src/minoltamn.cpp:1450 msgid "Preset white balance" msgstr "Praset imbangan putih" #: src/minoltamn.cpp:1452 msgid "Color Temperature Setting" msgstr "Tetapan Suhu Warna" #: src/minoltamn.cpp:1453 msgid "Color temperature setting" msgstr "Tetapan suhu warna" #: src/minoltamn.cpp:1455 msgid "Custom WB Setting" msgstr "Tetapan WB Suai" #: src/minoltamn.cpp:1456 msgid "Custom WB setting" msgstr "Tetapan WB suai" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 msgid "Dynamic Range Optimizer Settings" msgstr "Tetapan Pengoptimum Julat Dinamik" #: src/minoltamn.cpp:1464 msgid "Custom WB Red Level" msgstr "Aras Merah WB Suai" #: src/minoltamn.cpp:1465 msgid "Custom WB red level" msgstr "Aras merah WB suai" #: src/minoltamn.cpp:1467 msgid "Custom WB Green Level" msgstr "Aras Hijau WB Suai" #: src/minoltamn.cpp:1468 msgid "Custom WB green level" msgstr "Aras hijau WB suai" #: src/minoltamn.cpp:1470 msgid "Custom WB Blue Level" msgstr "Aras Biru WB Suai" #: src/minoltamn.cpp:1471 msgid "CustomWB blue level" msgstr "Aras biru WB suai" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 msgid "Custom WB Error" msgstr "Ralat WB Suai" #: src/minoltamn.cpp:1477 msgid "White balance fine tune" msgstr "Talaan halus imbangan putih" #: src/minoltamn.cpp:1483 msgid "Color compensation filter" msgstr "Penapis pemampasan warna" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 msgid "Sony Image Size" msgstr "Saiz Imej Sony" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "Masa Main Balik Segera" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "Masa main balik segera" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "Persediaan Main Balik Segera" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "Persediaan main balik segera" #: src/minoltamn.cpp:1500 msgid "Eye Start AF" msgstr "AF Mata Mula" #: src/minoltamn.cpp:1501 msgid "Eye start AF" msgstr "AF mata mula" #: src/minoltamn.cpp:1503 msgid "Red Eye Reduction" msgstr "Pengurangan Mata Merah" #: src/minoltamn.cpp:1504 msgid "Red eye reduction" msgstr "Pengurangan mata merah" #: src/minoltamn.cpp:1506 msgid "Flash Default" msgstr "Lalai Denyar" #: src/minoltamn.cpp:1507 msgid "Flash default" msgstr "Lalai denyar" #: src/minoltamn.cpp:1509 msgid "Auto Bracket Order" msgstr "Tertib Dakap Sendiri" #: src/minoltamn.cpp:1510 msgid "Auto bracket order" msgstr "Tertib dakap sendiri" #: src/minoltamn.cpp:1512 msgid "Focus Hold Button" msgstr "Butang Tahan Fokus" #: src/minoltamn.cpp:1513 msgid "Focus hold button" msgstr "Butang tahan fokus" #: src/minoltamn.cpp:1515 msgid "AEL Button" msgstr "Butang AEL" #: src/minoltamn.cpp:1516 msgid "AEL button" msgstr "Butang AEL" #: src/minoltamn.cpp:1518 msgid "Control Dial Set" msgstr "Set Dail Kawalan" #: src/minoltamn.cpp:1519 msgid "Control dial set" msgstr "Set dail kawalan" #: src/minoltamn.cpp:1521 msgid "Exposure Compensation Mode" msgstr "Mod Pemampasan Dedahan" #: src/minoltamn.cpp:1522 msgid "Exposure compensation mode" msgstr "Mod pemampasan dedahan" #: src/minoltamn.cpp:1525 msgid "AF assist" msgstr "Bantuan AF" #: src/minoltamn.cpp:1527 msgid "Card Shutter Lock" msgstr "Kuncian Pengatup Kad" #: src/minoltamn.cpp:1528 msgid "Card shutter lock" msgstr "Kuncian pengatup kad" #: src/minoltamn.cpp:1530 msgid "Lens Shutter Lock" msgstr "Kuncian Pengatup Kanta" #: src/minoltamn.cpp:1531 msgid "Lens shutter lock" msgstr "Kuncian pengatup kanta" #: src/minoltamn.cpp:1533 msgid "AF Area Illumination" msgstr "Pencahayaan Kawasan AF" #: src/minoltamn.cpp:1534 msgid "AF area illumination" msgstr "Pencahayaan kawasan AF" #: src/minoltamn.cpp:1536 msgid "Monitor Display Off" msgstr "Paparan Monitor Dimatikan" #: src/minoltamn.cpp:1537 msgid "Monitor display off" msgstr "Paparan monitor dimatikan" #: src/minoltamn.cpp:1539 msgid "Record Display" msgstr "Paparan Rakam" #: src/minoltamn.cpp:1540 msgid "Record display" msgstr "Paparan rakam" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "Paparan Main" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "Paparan main" #: src/minoltamn.cpp:1545 msgid "Exposure Indicator" msgstr "Penunjuk Dedahan" #: src/minoltamn.cpp:1546 msgid "Exposure indicator" msgstr "Penunjuk dedahan" #: src/minoltamn.cpp:1548 msgid "AEL Exposure Indicator" msgstr "Penunjuk Dedahan AEL" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "" "Penunjuk dedahan AEL (juga tunjukkan dedahan untuk syot berikutnya bila " "bertahap)" #: src/minoltamn.cpp:1551 msgid "Exposure Bracketing Indicator Last" msgstr "Braket Dedahan Petunjuk Akhir" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" "Braket Dedahan Petunjuk Akhir(Braket apabila tembakan terakhir petunjuk)" #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "Petunjuk Lebihan Skala Meter" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "Petunjuk Lebihan Skala Meter (" #: src/minoltamn.cpp:1557 msgid "Flash Exposure Indicator" msgstr "Penunjuk Dedahan Denyar" #: src/minoltamn.cpp:1558 msgid "Flash exposure indicator" msgstr "Penunjuk dedahan denyar" #: src/minoltamn.cpp:1560 msgid "Flash Exposure Indicator Next" msgstr "Penunjuk Dedahan Denyar Berikutnya" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" "Penunjuk dedahan denyar berikutnya (penunjuk untuk syot berikutnya bila " "ditahapkan)" #: src/minoltamn.cpp:1563 msgid "Flash Exposure Indicator Last" msgstr "Penunjuk Dedahan Denyar Terakhir" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" "Penunjuk dedahan denyar terakhir (penunjuk untuk syot terakhir bila " "ditahapkan)" #: src/minoltamn.cpp:1569 msgid "Focus Mode Switch" msgstr "Suis Mod Fokus" #: src/minoltamn.cpp:1570 msgid "Focus mode switch" msgstr "Suis mod fokus" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 msgid "Flash Type" msgstr "Jenis Denyar" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 msgid "Flash type" msgstr "Jenis denyar" #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 msgid "AE Lock" msgstr "Kunci AE" #: src/minoltamn.cpp:1585 msgid "Color compensation filter: negative is green, positive is magenta" msgstr "Penapis pemampasan warna: negatif adalah hijau positif adalah magenta" #: src/minoltamn.cpp:1587 src/tags.cpp:766 msgid "Battery Level" msgstr "Aras Bateri" #: src/minoltamn.cpp:1588 msgid "Battery level" msgstr "Aras bateri" #: src/minoltamn.cpp:1592 msgid "Unknown Sony Camera Settings A100 tag" msgstr "Tag A100 bagi Tetapan Kamera Sony tidak diketahui" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 msgid "Clear" msgstr "Kosongkan" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 msgid "Deep" msgstr "Kedalaman" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 msgid "Light" msgstr "Cahaya" #: src/minoltamn.cpp:1950 msgid "Night View" msgstr "Paparan Malam" #: src/minoltamn.cpp:1951 msgid "Autumn Leaves" msgstr "Dedaun Musim Luruh" #: src/minoltamn.cpp:1990 msgid "Local" msgstr "Setempat" #: src/minoltamn.cpp:2005 msgid "Top-Right" msgstr "Atas-Kanan" #: src/minoltamn.cpp:2007 msgid "Bottom-Right" msgstr "Kanan-Bawah" #: src/minoltamn.cpp:2009 msgid "Bottom-Left" msgstr "Kiri-Bawah" #: src/minoltamn.cpp:2011 msgid "Top-Left" msgstr "Kiri-Atas" #: src/minoltamn.cpp:2012 msgid "Far-Right" msgstr "Kanan-Jauh" #: src/minoltamn.cpp:2013 msgid "Far-Left" msgstr "Kiri-Jauh" #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 msgid "Advanced Auto" msgstr "Automatik Lanjutan" #: src/minoltamn.cpp:2028 msgid "Advanced Level" msgstr "Aras Lanjutan" #: src/minoltamn.cpp:2041 msgid "AF" msgstr "AF" #: src/minoltamn.cpp:2042 msgid "Release" msgstr "Keluaran" #: src/minoltamn.cpp:2054 msgid "RAW " msgstr "RAW " #: src/minoltamn.cpp:2055 msgid "CRAW " msgstr "CRAW " #: src/minoltamn.cpp:2058 msgid "RAW+JPEG" msgstr "RAW+JPEG" #: src/minoltamn.cpp:2059 msgid "CRAW+JPEG" msgstr "CRAW+JPEG" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "Raw + JPEG" #: src/minoltamn.cpp:2116 msgid "Compressed Raw" msgstr "Raw Termampat" #: src/minoltamn.cpp:2117 msgid "Compressed Raw + JPEG" msgstr "Raw Termampat + JPEG" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "Minolta AF 2x APO (D)" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "Minolta AF 2x APO II" #: src/minoltamn.cpp:2132 msgid "Minolta AF 1.4x APO (D)" msgstr "Minolta AF 1.4x APO (D)" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "Minolta AF 1.4x APO II" #: src/minoltamn.cpp:2163 msgid "ISO Setting Used" msgstr "Tetapan ISO Digunakan" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 msgid "High Key" msgstr "Kunci Tinggi" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "Kunci Rendah" #: src/nikonmn.cpp:80 msgid "Extra High" msgstr "Tinggi Tambahan" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 msgid "Single area" msgstr "Kawasan tunggal" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 msgid "Dynamic area" msgstr "Kawasan dinamik" #: src/nikonmn.cpp:88 msgid "Dynamic area, closest subject" msgstr "Kawasan dinamik, subjek terhampir" #: src/nikonmn.cpp:89 msgid "Group dynamic" msgstr "Dinamik kumpulan" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 msgid "Single area (wide)" msgstr "Kawasan tunggal (lebar)" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 msgid "Dynamic area (wide)" msgstr "Kawasan dinamik (lebar)" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 msgid "Upper-left" msgstr "kiri-atas" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 msgid "Upper-right" msgstr "kanan-atas" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 msgid "Lower-left" msgstr "kiri-bawah" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 msgid "Lower-right" msgstr "kanan-bawah" #: src/nikonmn.cpp:108 msgid "Left-most" msgstr "Hampir-kiri" #: src/nikonmn.cpp:109 msgid "Right-most" msgstr "Hampir-kanan" #: src/nikonmn.cpp:143 msgid "Fire, manual" msgstr "Pancaran, Sendiri" #: src/nikonmn.cpp:144 msgid "Fire, external" msgstr "Pancaran, Luaran" #: src/nikonmn.cpp:145 msgid "Fire, commander mode" msgstr "Pancaran, Mod Komander" #: src/nikonmn.cpp:146 msgid "Fire, TTL mode" msgstr "Pancaran, Mod TTL" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 msgid "Delay" msgstr "Lengah" #: src/nikonmn.cpp:153 #, fuzzy msgid "PC Control" msgstr "Kawalan PC" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 msgid "Exposure Bracketing" msgstr "Pendakapan dedahan" #: src/nikonmn.cpp:156 msgid "Auto ISO" msgstr "ISO Automatik" #: src/nikonmn.cpp:157 #, fuzzy msgid "White-Balance Bracketing" msgstr "Bertahap Imbangan Putih" #: src/nikonmn.cpp:158 #, fuzzy msgid "IR Control" msgstr "Kawalan IR" #: src/nikonmn.cpp:159 #, fuzzy msgid "D-Lighting Bracketing" msgstr "Bertahap Berterusan" #: src/nikonmn.cpp:166 msgid "PC control" msgstr "Kawalan PC" #: src/nikonmn.cpp:167 msgid "Exposure bracketing" msgstr "Pendakapan dedahan" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "Perlahan LE-NR tidak digunakan" #: src/nikonmn.cpp:170 msgid "IR control" msgstr "Kawalan IR" #: src/nikonmn.cpp:176 msgid "Auto release" msgstr "Pelepasan automatik" #: src/nikonmn.cpp:177 msgid "Manual release" msgstr "Pelepasan manual" #: src/nikonmn.cpp:182 msgid "Lossy (type 1)" msgstr "Hilang (jenis 1)" #: src/nikonmn.cpp:183 src/tags.cpp:251 msgid "Uncompressed" msgstr "Tidak dimampat" #: src/nikonmn.cpp:184 msgid "Lossless" msgstr "Tidak Hilang" #: src/nikonmn.cpp:185 msgid "Lossy (type 2)" msgstr "Hilang (jenis 2)" #: src/nikonmn.cpp:191 msgid "B & W" msgstr "H & P" #: src/nikonmn.cpp:193 msgid "Trim" msgstr "Kerat" #: src/nikonmn.cpp:194 msgid "Small picture" msgstr "Gambar kecil" #: src/nikonmn.cpp:195 msgid "D-Lighting" msgstr "Pencahayaan-D" #: src/nikonmn.cpp:196 msgid "Red eye" msgstr "Mata merah" #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 msgid "Cyanotype" msgstr "Jenis cyano" #: src/nikonmn.cpp:198 msgid "Sky light" msgstr "Cahaya langit" #: src/nikonmn.cpp:199 msgid "Warm tone" msgstr "Ton panas" #: src/nikonmn.cpp:200 msgid "Color custom" msgstr "Suai warna" #: src/nikonmn.cpp:201 msgid "Image overlay" msgstr "Tindihan imej" #: src/nikonmn.cpp:207 msgid "Minimal" msgstr "Minimum" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 msgid "Nikon Makernote version" msgstr "Veris Makernote Nikon" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 msgid "ISO Speed" msgstr "Kelajuan ISO" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 msgid "Sharpening" msgstr "Penjelasan" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 msgid "Image sharpening setting" msgstr "Tetapan penjelasan imej" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 msgid "Focus" msgstr "Fokus" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 msgid "Flash Setting" msgstr "Tetapan Denyar" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 msgid "Flash setting" msgstr "Tetapan denyar" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 msgid "ISO Selection" msgstr "Pemilihan ISO" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 msgid "ISO selection" msgstr "Pemilihan ISO" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data Dump" msgstr "Longgokan Data" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data dump" msgstr "Longgokan data" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 msgid "Image Adjustment" msgstr "Pelarasan Imej" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 msgid "Image adjustment setting" msgstr "Tetapan pelarasan imej" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "Kanta Auksiliari" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 msgid "Auxiliary lens (adapter)" msgstr "Kanta auksiliari (penyesuai)" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 msgid "Manual focus distance" msgstr "Jarak fokus manual" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 msgid "Digital zoom setting" msgstr "Tetapan zum digital" #: src/nikonmn.cpp:260 msgid "AF Focus Position" msgstr "Kedudukan Fokus AF" #: src/nikonmn.cpp:261 msgid "AF focus position information" msgstr "Maklumat kedudukan fokus AF" #: src/nikonmn.cpp:265 msgid "Unknown Nikon1MakerNote tag" msgstr "Tag Nikon1MakerNote tidak diketahui" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 msgid "Continuous autofocus" msgstr "Fokus sendiri berterusan" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 msgid "Single autofocus" msgstr "Fokus sendiri tunggal" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 msgid "Not used" msgstr "Tidak digunakan" #: src/nikonmn.cpp:371 msgid "guess" msgstr "tekaan" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "VGA Asas" #: src/nikonmn.cpp:419 msgid "VGA Normal" msgstr "VGA Biasa" #: src/nikonmn.cpp:420 msgid "VGA Fine" msgstr "VGA Halus" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "SXGA Biasa" #: src/nikonmn.cpp:422 msgid "SXGA Normal" msgstr "SXGA Biasa" #: src/nikonmn.cpp:423 msgid "SXGA Fine" msgstr "SXGA Halus" #: src/nikonmn.cpp:435 msgid "Bright+" msgstr "Cerah+" #: src/nikonmn.cpp:436 msgid "Bright-" msgstr "Cerah-" #: src/nikonmn.cpp:437 msgid "Contrast+" msgstr "Beza jelas+" #: src/nikonmn.cpp:438 msgid "Contrast-" msgstr "Beza jelas-" #: src/nikonmn.cpp:457 msgid "Speedlight" msgstr "Kelajuan cahaya" #: src/nikonmn.cpp:497 msgid "Unknown Nikon2MakerNote tag" msgstr "Tag Nikon2MakerNote tidak diketahui" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 msgid "Flash Device" msgstr "Peranti Denyar" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 msgid "Flash device" msgstr "Peranti denyar" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 msgid "White Balance Bias" msgstr "Bias Imbangan Putih" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 msgid "White balance bias" msgstr "Bias imbangan putih" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB Levels" msgstr "Aras RB WB" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB levels" msgstr "Aras RB WB" #: src/nikonmn.cpp:544 msgid "Program Shift" msgstr "Anjak Program" #: src/nikonmn.cpp:544 msgid "Program shift" msgstr "Anjak program" #: src/nikonmn.cpp:545 msgid "Exposure Difference" msgstr "Perbezaan Dedahan" #: src/nikonmn.cpp:545 msgid "Exposure difference" msgstr "Perbezaan dedahan" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 msgid "Pointer to a preview image" msgstr "Penuding ke imej pratonton" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 msgid "Offset to an IFD containing a preview image" msgstr "Ofset ke IFD yang mengandungi imej pratonton" #: src/nikonmn.cpp:549 msgid "Flash Comp" msgstr "Pemampasan Denyar" #: src/nikonmn.cpp:549 msgid "Flash compensation setting" msgstr "Tetapan pemampasan denyar" #: src/nikonmn.cpp:551 msgid "Image Boundary" msgstr "Sempadan Imej" #: src/nikonmn.cpp:551 msgid "Image boundary" msgstr "Sempadan imej" #: src/nikonmn.cpp:552 msgid "Flash exposure comp" msgstr "Pemampasan dedahan denyar" #: src/nikonmn.cpp:553 msgid "Flash Bracket Comp" msgstr "Pemampasan Pendakap Denyar" #: src/nikonmn.cpp:553 msgid "Flash bracket compensation applied" msgstr "Pemampasan pendakap denyar dipasang" #: src/nikonmn.cpp:554 msgid "Exposure Bracket Comp" msgstr "Pemampasan Pendakap Dedahan" #: src/nikonmn.cpp:554 msgid "AE bracket compensation applied" msgstr "Pemampasan pendakap AE dipasang" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 msgid "Image Processing" msgstr "Pemprosesan Imej" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 msgid "Image processing" msgstr "Pemprosesan imej" #: src/nikonmn.cpp:556 msgid "Crop High Speed" msgstr "Pemotongan Kelajuan Tinggi" #: src/nikonmn.cpp:556 msgid "Crop high speed" msgstr "Pemotongan Kelajuan TInggi" #: src/nikonmn.cpp:557 msgid "Exposure Tuning" msgstr "Penalaan Dedahan" #: src/nikonmn.cpp:557 msgid "Exposure tuning" msgstr "Penalaan dedahan" #: src/nikonmn.cpp:560 msgid "VR Info" msgstr "Maklumat VR" #: src/nikonmn.cpp:560 msgid "VR info" msgstr "Maklumat VR" #: src/nikonmn.cpp:561 msgid "Image Authentication" msgstr "Pengesahihan Imej" #: src/nikonmn.cpp:561 msgid "Image authentication" msgstr "Pengesahihan imej" #: src/nikonmn.cpp:562 msgid "ActiveD-Lighting" msgstr "Pencahayaan-ActiveD" #: src/nikonmn.cpp:562 msgid "ActiveD-lighting" msgstr "Pencahayaan-ActiveD" #: src/nikonmn.cpp:563 msgid "Picture Control" msgstr "Kawalan Gambar" #: src/nikonmn.cpp:563 msgid " Picture control" msgstr " Kawalan gambar" #: src/nikonmn.cpp:564 src/properties.cpp:1387 msgid "World Time" msgstr "Waktu Dunia" #: src/nikonmn.cpp:564 msgid "World time" msgstr "Waktu dunia" #: src/nikonmn.cpp:565 msgid "ISO Info" msgstr "Maklumat ISO" #: src/nikonmn.cpp:565 msgid "ISO info" msgstr "Maklumat ISO" #: src/nikonmn.cpp:566 msgid "Vignette Control" msgstr "Kawalan Samar" #: src/nikonmn.cpp:566 msgid "Vignette control" msgstr "Kawalan samar" #: src/nikonmn.cpp:568 msgid "Tone Compensation" msgstr "Pemampasan Ton" #: src/nikonmn.cpp:568 msgid "Tone compensation" msgstr "Pemampasan ton" #: src/nikonmn.cpp:574 msgid "Mode of flash used" msgstr "Mod denyar yang digunakan" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 msgid "Shooting Mode" msgstr "Mod Menangkap" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 msgid "Shooting mode" msgstr "Mod menangkap" #: src/nikonmn.cpp:577 msgid "Auto Bracket Release" msgstr "Pelepasan Pendakap Automatik" #: src/nikonmn.cpp:577 msgid "Auto bracket release" msgstr "Pelepasan pendakap automatik" #: src/nikonmn.cpp:578 msgid "Lens FStops" msgstr "FStops Kanta" #: src/nikonmn.cpp:579 msgid "Contrast Curve" msgstr "Lengkung Beza Jelas" #: src/nikonmn.cpp:579 msgid "Contrast curve" msgstr "Lengkung beza jelas" #: src/nikonmn.cpp:580 msgid "Color Hue" msgstr "Rona Warna" #: src/nikonmn.cpp:580 msgid "Color hue" msgstr "Rona warna" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 msgid "Scene mode" msgstr "Mode Adegan" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 msgid "Light Source" msgstr "Sumber Cahaya" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 msgid "Light source" msgstr "Sumber cahaya" #: src/nikonmn.cpp:583 msgid "Shot info" msgstr "Maklumat syot" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 msgid "Hue Adjustment" msgstr "Pelarasan Rona" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 msgid "Hue adjustment" msgstr "Pelarasan rona" #: src/nikonmn.cpp:585 msgid "NEF Compression" msgstr "Pemampatan NEF" #: src/nikonmn.cpp:585 msgid "NEF compression" msgstr "Pemampatan NEF" #: src/nikonmn.cpp:588 src/tags.cpp:905 msgid "Linearization Table" msgstr "Jadual Pelelurusan" #: src/nikonmn.cpp:588 msgid "Linearization table" msgstr "Jadual pelelurusan" #: src/nikonmn.cpp:589 msgid "Color Balance" msgstr "Imbangan Warna" #: src/nikonmn.cpp:589 msgid "Color balance" msgstr "Imbangan warna" #: src/nikonmn.cpp:590 msgid "Lens Data" msgstr "Data Kanta" #: src/nikonmn.cpp:590 msgid "Lens data settings" msgstr "Tetapan data kanta" #: src/nikonmn.cpp:591 msgid "Raw Image Center" msgstr "Pusat Imej Raw" #: src/nikonmn.cpp:591 msgid "Raw image center" msgstr "Pusat imej Raw" #: src/nikonmn.cpp:592 msgid "Sensor Pixel Size" msgstr "Saiz Piksel Penderia" #: src/nikonmn.cpp:592 msgid "Sensor pixel size" msgstr "Saiz piksel penderia" #: src/nikonmn.cpp:594 msgid "Scene Assist" msgstr "Bantuan Adegan" #: src/nikonmn.cpp:594 msgid "Scene assist" msgstr "Bantuan adegan" #: src/nikonmn.cpp:595 msgid "Retouch History" msgstr "Sejarah Pengemasan" #: src/nikonmn.cpp:595 msgid "Retouch history" msgstr "Sejarah pengemasan" #: src/nikonmn.cpp:597 msgid "Serial NO" msgstr "NO Siri" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "Nombor siri kamera, biasanya bermula dengan \"NO= \"" #: src/nikonmn.cpp:598 msgid "Image Data Size" msgstr "Saiz Data Imej" #: src/nikonmn.cpp:598 msgid "Image data size" msgstr "Saiz data imej" #: src/nikonmn.cpp:600 msgid "Image Count" msgstr "Kiraan Imej" #: src/nikonmn.cpp:600 msgid "Image count" msgstr "Kiraan imej" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted Image Count" msgstr "Kiraan Imej Dipadam" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted image count" msgstr "Kiraan imej dipadam" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 msgid "Shutter Count" msgstr "Kiraan Pengatup" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "Bilangan syot diambil oleh kamera" #: src/nikonmn.cpp:603 msgid "Flash info" msgstr "Maklumat denyar" #: src/nikonmn.cpp:604 msgid "Image Optimization" msgstr "Pengoptimuman Imej" #: src/nikonmn.cpp:604 msgid "Image optimization" msgstr "Pengoptimuman imej" #: src/nikonmn.cpp:606 msgid "Program Variation" msgstr "Variasi Program" #: src/nikonmn.cpp:606 msgid "Program variation" msgstr "Variasi program" #: src/nikonmn.cpp:608 msgid "AF Response" msgstr "Balasan AF" #: src/nikonmn.cpp:608 msgid "AF response" msgstr "Balasan AF" #: src/nikonmn.cpp:609 msgid "Multi exposure" msgstr "Dedahan berbilang" #: src/nikonmn.cpp:610 msgid "High ISO Noise Reduction" msgstr "Pengurangan Hingar ISO Tinggi" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 msgid "Toning effect" msgstr "Kesan pengetonan" #: src/nikonmn.cpp:612 msgid "AF info 2" msgstr "Maklumat 2 AF" #: src/nikonmn.cpp:613 msgid "File info" msgstr "Maklumat fail" #: src/nikonmn.cpp:614 msgid "AF tune" msgstr "Tala AF" #: src/nikonmn.cpp:617 msgid "Capture Data" msgstr "Data Tangkapan" #: src/nikonmn.cpp:617 msgid "Capture data" msgstr "Data tangkapan" #: src/nikonmn.cpp:618 msgid "Capture Version" msgstr "Versi Tangkapan" #: src/nikonmn.cpp:618 msgid "Capture version" msgstr "Versi tangkapan" #: src/nikonmn.cpp:620 msgid "Capture Offsets" msgstr "Ofset Tangkapan" #: src/nikonmn.cpp:620 msgid "Capture offsets" msgstr "Ofset tangkapan" #: src/nikonmn.cpp:621 msgid "Scan IFD" msgstr "IFD Imbasan" #: src/nikonmn.cpp:622 msgid "ICC profile" msgstr "Profil ICC" #: src/nikonmn.cpp:623 msgid "Capture output" msgstr "Output tangkapan" #: src/nikonmn.cpp:625 msgid "Unknown Nikon3MakerNote tag" msgstr "Tag Nikon3MakerNote tidak diketahui" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 msgid "No" msgstr "Tidak" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "Ya" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "T/B/H" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "B/H/T" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "H/B/T" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration Reduction" msgstr "Pengurangan Gegaran" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration reduction" msgstr "Pengurangan gegaran" #: src/nikonmn.cpp:657 msgid "Unknown Nikon Vibration Reduction Tag" msgstr "Tag Pengurangan Gegaran Nikon Tidak Diketahui" #: src/nikonmn.cpp:667 msgid "Default Settings" msgstr "Tetapan Lalai" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 msgid "Quick Adjust" msgstr "Laras Pantas" #: src/nikonmn.cpp:669 msgid "Full Control" msgstr "Kawalan Penuh" #: src/nikonmn.cpp:690 msgid "Blue-green" msgstr "Biru-hijau" #: src/nikonmn.cpp:692 msgid "Purple-blue" msgstr "Ungu-biru" #: src/nikonmn.cpp:693 msgid "Red-purple" msgstr "Merah-ungu" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 msgid "Name" msgstr "Nama" #: src/nikonmn.cpp:701 msgid "Base" msgstr "Tapak" #: src/nikonmn.cpp:702 msgid "Adjust" msgstr "Laras" #: src/nikonmn.cpp:703 msgid "Quick adjust" msgstr "Laras pantas" #: src/nikonmn.cpp:709 msgid "Filter effect" msgstr "Kesan penapis" #: src/nikonmn.cpp:711 msgid "Toning Saturation" msgstr "Ketepuan Ton" #: src/nikonmn.cpp:711 msgid "Toning saturation" msgstr "Ketepuan ton" #: src/nikonmn.cpp:713 msgid "Unknown Nikon Picture Control Tag" msgstr "Tag Kawalan Gambar Nikon Tidak Diketahui" #: src/nikonmn.cpp:730 msgid "AF Fine Tune" msgstr "Tala Halus AF" #: src/nikonmn.cpp:730 msgid "AF fine tune" msgstr "Tala halus AF" #: src/nikonmn.cpp:731 msgid "AF Fine Tune Index" msgstr "Indeks Tala Halus AF" #: src/nikonmn.cpp:731 msgid "AF fine tune index" msgstr "Indeks tala halus AF" #: src/nikonmn.cpp:732 msgid "AF Fine Tune Adjustment" msgstr "Pelarasan Tala Halus AF" #: src/nikonmn.cpp:732 msgid "AF fine tune adjustment" msgstr "Pelarasan tala halus AF" #: src/nikonmn.cpp:734 msgid "Unknown Nikon AF Fine Tune Tag" msgstr "Tag Tala Halus AF Nikon Tidak Diketahui" #: src/nikonmn.cpp:744 msgid "Timezone" msgstr "Zon Waktu" #: src/nikonmn.cpp:745 msgid "Daylight Savings" msgstr "Jimat-Siang" #: src/nikonmn.cpp:745 msgid "Daylight savings" msgstr "Jimat-siang" #: src/nikonmn.cpp:746 msgid "Date Display Format" msgstr "Format Paparan Tarikh" #: src/nikonmn.cpp:746 msgid "Date display format" msgstr "Format paparan tarikh" #: src/nikonmn.cpp:748 msgid "Unknown Nikon World Time Tag" msgstr "Tag Masa Dunia Nikon Tidak Diketahui" #: src/nikonmn.cpp:759 msgid "Hi 0.3" msgstr "Hi 0.3" #: src/nikonmn.cpp:760 msgid "Hi 0.5" msgstr "Hi 0.5" #: src/nikonmn.cpp:761 msgid "Hi 0.7" msgstr "Hi 0.7" #: src/nikonmn.cpp:762 msgid "Hi 1.0" msgstr "Hi 1.0" #: src/nikonmn.cpp:763 msgid "Hi 1.3" msgstr "Hi 1.3" #: src/nikonmn.cpp:764 msgid "Hi 1.5" msgstr "Hi 1.5" #: src/nikonmn.cpp:765 msgid "Hi 1.7" msgstr "Hi 1.7" #: src/nikonmn.cpp:766 msgid "Hi 2.0" msgstr "Hi 2.0" #: src/nikonmn.cpp:767 #, fuzzy msgid "Hi 2.3" msgstr "Hi 2.0" #: src/nikonmn.cpp:768 #, fuzzy msgid "Hi 2.5" msgstr "Hi 2.0" #: src/nikonmn.cpp:769 #, fuzzy msgid "Hi 2.7" msgstr "Hi 2.0" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "Lo 0.3" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "Lo 0.5" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "Lo 0.7" #: src/nikonmn.cpp:778 msgid "Lo 1.0" msgstr "Lo 1.0" #: src/nikonmn.cpp:784 msgid "ISO Expansion" msgstr "Pengembangan ISO" #: src/nikonmn.cpp:784 msgid "ISO expansion" msgstr "Pengembangan ISO" #: src/nikonmn.cpp:785 msgid "ISO 2" msgstr "ISO 2" #: src/nikonmn.cpp:786 msgid "ISO Expansion 2" msgstr "Pengembangan ISO 2" #: src/nikonmn.cpp:786 msgid "ISO expansion 2" msgstr "Pengembangan ISO 2" #: src/nikonmn.cpp:788 msgid "Unknown Nikon Iso Info Tag" msgstr "Tag Maklumat Iso Nikon Tidak Diketahui" #: src/nikonmn.cpp:798 msgid "Single Area" msgstr "Kawasan Tunggal" #: src/nikonmn.cpp:799 msgid "Dynamic Area" msgstr "Kawasan Dinamik" #: src/nikonmn.cpp:800 msgid "Dynamic Area, Closest Subject" msgstr "Kawasan Dinamik, Subjek Terdekat" #: src/nikonmn.cpp:801 msgid "Group Dynamic" msgstr "Dinamik Kumpulan" #: src/nikonmn.cpp:802 msgid "Single Area (wide)" msgstr "Kawasan Tunggal (lebar)" #: src/nikonmn.cpp:803 msgid "Dynamic Area (wide)" msgstr "Kawasan Dinamik (lebar)" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 msgid "Mid-left" msgstr "Kiri-tengah" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 msgid "Mid-right" msgstr "Kanan-tengah" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 msgid "Far Left" msgstr "Kiri Jauh" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 msgid "Far Right" msgstr "Kanan Jauh" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 msgid "AF area mode" msgstr "Mod kawasan AF" #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 msgid "AF point" msgstr "Titik AF" #: src/nikonmn.cpp:840 msgid "AF Points In Focus" msgstr "Titik AF Dalam Fokus" #: src/nikonmn.cpp:840 msgid "AF points in focus" msgstr "Titik AF dalam fokus" #: src/nikonmn.cpp:842 msgid "Unknown Nikon Auto Focus Tag" msgstr "Tag Fokus Auto Nikon Tidak Diketahui" #: src/nikonmn.cpp:853 msgid "On (51-point)" msgstr "Pada (Titik-51)" #: src/nikonmn.cpp:854 msgid "On (11-point)" msgstr "Pada (Titik-11)" #: src/nikonmn.cpp:855 #, fuzzy msgid "On (39-point)" msgstr "Pada (Titik-51)" #: src/nikonmn.cpp:856 #, fuzzy msgid "On (73-point)" msgstr "Pada (Titik-51)" #: src/nikonmn.cpp:857 #, fuzzy msgid "On (73-point, new)" msgstr "Pada (Titik-51)" #: src/nikonmn.cpp:858 #, fuzzy msgid "On (105-point)" msgstr "Pada (Titik-11)" #: src/nikonmn.cpp:864 msgid "Contrast Detect AF" msgstr "Mengesan Kontra AF" #: src/nikonmn.cpp:864 msgid "Contrast detect AF" msgstr "Mengesan Kontra AF" #: src/nikonmn.cpp:866 msgid "Phase Detect AF" msgstr "Mengesan Fasa AF" #: src/nikonmn.cpp:866 msgid "Phase detect AF" msgstr "Mengesan Fasa AF" #: src/nikonmn.cpp:867 msgid "Primary AF Point" msgstr "Titik AF Utama" #: src/nikonmn.cpp:867 msgid "Primary AF point" msgstr "Titik AF utama" #: src/nikonmn.cpp:869 msgid "AF Image Width" msgstr "Lebar Imej AF" #: src/nikonmn.cpp:869 msgid "AF image width" msgstr "Lebar imej AF" #: src/nikonmn.cpp:870 msgid "AF Image Height" msgstr "Tinggi Imej AF" #: src/nikonmn.cpp:870 msgid "AF image height" msgstr "Ketinggian Imej AF" #: src/nikonmn.cpp:871 msgid "AF Area X Position" msgstr "Kedudukan X Kawasan AF" #: src/nikonmn.cpp:871 msgid "AF area x position" msgstr "Kedudukan X Kawasan AF" #: src/nikonmn.cpp:872 msgid "AF Area Y Position" msgstr "Kedudukan Y Kawasan AF" #: src/nikonmn.cpp:872 msgid "AF area y position" msgstr "Kedudukan Y Kawasan AF" #: src/nikonmn.cpp:873 msgid "AF Area Width" msgstr "Kelebaran Kawasan AF" #: src/nikonmn.cpp:873 msgid "AF area width" msgstr "Kelebaran Kawasan AF" #: src/nikonmn.cpp:874 msgid "AF Area Height" msgstr "Ketinggian Kawasan AF" #: src/nikonmn.cpp:874 msgid "AF area height" msgstr "Ketinggian Kawasan AF" #: src/nikonmn.cpp:875 msgid "Contrast Detect AF In Focus" msgstr "Fokus Mengesan Kontra AF" #: src/nikonmn.cpp:875 msgid "Contrast detect AF in focus" msgstr "Fokus Mengesan Kontra AF" #: src/nikonmn.cpp:877 msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "Nikon Fokus Automatik 2 Tanda Tidak Diketahui" #: src/nikonmn.cpp:888 msgid "Directory Number" msgstr "Bilangan direktori" #: src/nikonmn.cpp:888 msgid "Directory number" msgstr "Bilangan direktori" #: src/nikonmn.cpp:891 msgid "Unknown Nikon File Info Tag" msgstr "Maklumat Tanda fail Nikon tidak diketahui" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 msgid "Multiple Exposure" msgstr "Berbilang Dedahan" #: src/nikonmn.cpp:903 msgid "Image Overlay" msgstr "Imej Berlapis" #: src/nikonmn.cpp:909 msgid "Multi Exposure Mode" msgstr "Mod Dedahan Perlbagai" #: src/nikonmn.cpp:909 msgid "Multi exposure mode" msgstr "Mod Dedahan Perlbagai" #: src/nikonmn.cpp:910 msgid "Multi Exposure Shots" msgstr "Syot Dedahan Pelbagai" #: src/nikonmn.cpp:910 msgid "Multi exposure shots" msgstr "Tembakan Dedahan Pelbagai" #: src/nikonmn.cpp:911 msgid "Multi Exposure Auto Gain" msgstr "Gandaan Automatik Dedahan Pelbagai" #: src/nikonmn.cpp:911 msgid "Multi exposure auto gain" msgstr "Gandaan Automatik Dedahan Pelbagai" #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 msgid "Unknown Nikon Multi Exposure Tag" msgstr "Tanda Dedahan Nikon Tidak Diketahui" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 msgid "Internal" msgstr "Dalaman" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "1.01 (SB-800 or Metz 58 AF-1)" #: src/nikonmn.cpp:991 msgid "iTTL-BL" msgstr "iTTL-BL" #: src/nikonmn.cpp:992 msgid "iTTL" msgstr "iTTL" #: src/nikonmn.cpp:993 msgid "Auto Aperture" msgstr "Bukaan Automatik" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "GN ( Jarak Keutamaan )" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 msgid "Repeating Flash" msgstr "Cahaya Berulang" #: src/nikonmn.cpp:1004 msgid "Bounce Flash" msgstr "Cahaya Lantunan" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "Kesesuaian Luas Cahaya" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "FL-GL1" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "FL-GL2" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "TN-A1" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "TN-A2" #: src/nikonmn.cpp:1018 msgid "Amber" msgstr "Amber" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash Source" msgstr "Sumber Cahaya" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash source" msgstr "Sumber Cahaya" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 msgid "0x0005" msgstr "0x0005" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 msgid "External Flash Firmware" msgstr "Perisian Tegar Denyar Luaran" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 msgid "External flash firmware" msgstr "Perisian tegar denyar luaran" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 msgid "External Flash Flags" msgstr "Bendera Denyar Luaran" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 msgid "External flash flags" msgstr "Bendera denyar luaran" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 msgid "Flash Focal Length" msgstr "Panjang Fokus Denyar" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 msgid "Flash focal length" msgstr "Panjang fokus denyar" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "Kadar Denyar Berulang" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating flash rate" msgstr "Kadar denyar berulang" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "Kiraan Denyar Berulang" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating flash count" msgstr "Kiraan denyar berulang" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN Distance" msgstr "Jarak GN Denyar" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 msgid "Flash GN distance" msgstr "Jarak GN denyar" #: src/nikonmn.cpp:1032 msgid "Flash Group A Control Mode" msgstr "Mod Kawalan Kumpulan Denyar A" #: src/nikonmn.cpp:1032 msgid "Flash group a control mode" msgstr "Mod kawalan kumpulan denyar A" #: src/nikonmn.cpp:1033 msgid "Flash Group B Control Mode" msgstr "Mod Kawalan Kumpulan Denyar B" #: src/nikonmn.cpp:1033 msgid "Flash group b control mode" msgstr "Mod kawalan kumpulan denyar B" #: src/nikonmn.cpp:1073 msgid "Flash Color Filter" msgstr "Penapis Warna Denyar" #: src/nikonmn.cpp:1073 msgid "Flash color filter" msgstr "Penapis warna denyar" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 msgid "Shutter count" msgstr "Kiraan pengatup" #: src/nikonmn.cpp:1088 msgid "Unknown Nikon Shot Info D80 Tag" msgstr "Tag Maklumat Syot Nikon D80 Tidak Diketahui" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 msgid "Flash Level" msgstr "Aras Denyar" #: src/nikonmn.cpp:1100 msgid "Flash level" msgstr "Aras denyar" #: src/nikonmn.cpp:1102 msgid "Unknown Nikon Shot Info D40 Tag" msgstr "Tag Maklumat Syot Nikon D40 Tidak Diketahui" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF Fine Tune Adj" msgstr "Laras Tala Halus AF" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF fine tune adj" msgstr "Laras tala halus AF" #: src/nikonmn.cpp:1162 msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "Tag Maklumat Syot Nikon D300 (a) Tidak Diketahui" #: src/nikonmn.cpp:1222 msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "Tag Maklumat Syot Nikon D300 (b) Tidak Diketahui" #: src/nikonmn.cpp:1235 msgid "On (3)" msgstr "On (3)" #: src/nikonmn.cpp:1248 msgid "Shutter Count 1" msgstr "Kiraan Pengatup 1" #: src/nikonmn.cpp:1248 msgid "Shutter count 1" msgstr "Kiraan pengatup 1" #: src/nikonmn.cpp:1251 msgid "Vibration Reduction 1" msgstr "Pengurangan Getaran 1" #: src/nikonmn.cpp:1251 msgid "Vibration reduction 1" msgstr "Pengurangan getaran 1" #: src/nikonmn.cpp:1252 msgid "Shutter Count 2" msgstr "Kiraan Pengatup 2" #: src/nikonmn.cpp:1252 msgid "Shutter count 2" msgstr "Kiraan pengatup 2" #: src/nikonmn.cpp:1253 msgid "Vibration Reduction 2" msgstr "Pengurangan Gegaran 2" #: src/nikonmn.cpp:1253 msgid "Vibration reduction 2" msgstr "Pengurangan gegaran 2" #: src/nikonmn.cpp:1257 msgid "Unknown Nikon Shot Info Tag" msgstr "Tag Maklumat Syit Nikon Tidak Diketahui" #: src/nikonmn.cpp:1268 msgid "WB RBGG Levels" msgstr "Aras RBGG WB" #: src/nikonmn.cpp:1268 msgid "WB RBGG levels" msgstr "Aras RBGG WB" #: src/nikonmn.cpp:1270 msgid "Unknown Nikon Color Balance 1 Tag" msgstr "Tag Imbangan Warna Nikon 1 Tidak Diketahui" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB Levels" msgstr "Aras RGGB WB" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB levels" msgstr "Aras RGGB WB" #: src/nikonmn.cpp:1283 msgid "Unknown Nikon Color Balance 2 Tag" msgstr "Tag Imbangan Warna Nikon 2 Tidak Diketahui" #: src/nikonmn.cpp:1296 msgid "Unknown Nikon Color Balance 2a Tag" msgstr "Tag Imbangan Warna Nikon 2a Tidak Diketahui" #: src/nikonmn.cpp:1309 msgid "Unknown Nikon Color Balance 2b Tag" msgstr "Tag Imbangan Warna Nikon 2b Tidak Diketahui" #: src/nikonmn.cpp:1320 msgid "WB RGBG Levels" msgstr "Aras RGBG WB" #: src/nikonmn.cpp:1320 msgid "WB RGBG levels" msgstr "Aras RGBG WB" #: src/nikonmn.cpp:1322 msgid "Unknown Nikon Color Balance 3 Tag" msgstr "Tag Imbangan Warna Nikon 3 Tidak Diketahui" #: src/nikonmn.cpp:1333 msgid "WB GRBG Levels" msgstr "Aras GRBG WB" #: src/nikonmn.cpp:1333 msgid "WB GRBG levels" msgstr "Aras GRBG WB" #: src/nikonmn.cpp:1335 msgid "Unknown Nikon Color Balance 4 Tag" msgstr "Tag Imbangan Warna Nikon 4 Tidak Diketahui" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID Number" msgstr "Nombor ID Kanta" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID number" msgstr "Nombor ID kanta" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 msgid "Lens F-Stops" msgstr "F-Stop Kanta" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 msgid "Lens F-stops" msgstr "F-stop kanta" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min Focal Length" msgstr "Jarak Fokus Min" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min focal length" msgstr "Jarak fokus min" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max Focal Length" msgstr "Jarak Fokus Maks" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max focal length" msgstr "Jarak fokus maks" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 msgid "Max Aperture At Min Focal" msgstr "Bukaan Maks Pada Fokus Min" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 msgid "Max aperture at min focal" msgstr "Bukaan maks pada fokus min" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 msgid "Max Aperture At Max Focal" msgstr "Bukaan Maks Pada Fokus Maks" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 msgid "Max aperture at max focal" msgstr "Bukaan maks pada fokus maks" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU Version" msgstr "Versi MCU" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU version" msgstr "Versi MCU" #: src/nikonmn.cpp:1354 msgid "Unknown Nikon Lens Data 1 Tag" msgstr "Tag Data Kanta Nikon 1" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit Pupil Position" msgstr "Kedudukan Pupil Keluar" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 msgid "Exit pupil position" msgstr "Kedudukan pupil keluar" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 msgid "AF Aperture" msgstr "Bukaan AF" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 msgid "AF aperture" msgstr "Bukaan AF" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective Max Aperture" msgstr "Bukaan Maks Efektif" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective max aperture" msgstr "Bukaan maks efektif" #: src/nikonmn.cpp:1379 msgid "Unknown Nikon Lens Data 2 Tag" msgstr "Tag Data Kanta Nikon 2 Tidak Diketahui" #: src/nikonmn.cpp:1399 msgid "Max aperture at min focal length" msgstr "Bukaan maks pada jarak fokus min" #: src/nikonmn.cpp:1400 msgid "Max aperture at max focal length" msgstr "Bukaan maks pada jarak fokus maks" #: src/nikonmn.cpp:1404 msgid "Unknown Nikon Lens Data 3 Tag" msgstr "Tag Data Kanta Nikon 3 Tidak Diketahui" #: src/nikonmn.cpp:1590 msgid "Closest subject" msgstr "Subjek Terdekat" #: src/nikonmn.cpp:1591 msgid "Group dynamic-AF" msgstr "Kumpulan AF-dinamik" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "tiada" #: src/nikonmn.cpp:1624 msgid "used" msgstr "digunakan" #: src/nikonmn.cpp:1650 msgid "All 11 Points" msgstr "Semua 11 Titik" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 msgid "Single-frame" msgstr "Bingkai-tunggal" #: src/olympusmn.cpp:71 msgid "Standard Quality (SQ)" msgstr "Kualiti Piawai (SQ)" #: src/olympusmn.cpp:72 msgid "High Quality (HQ)" msgstr "Kualiti Tinggi (HQ)" #: src/olympusmn.cpp:73 msgid "Super High Quality (SHQ)" msgstr "Kualit Super Tinggi (SHQ)" #: src/olympusmn.cpp:88 msgid "On (preset)" msgstr "On (praset)" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 msgid "Sport" msgstr "Sukan" #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 msgid "Landscape+Portrait" msgstr "Lanskap+Potret" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 msgid "Self Portrait" msgstr "Potret Kendiri" #: src/olympusmn.cpp:102 msgid "2 in 1" msgstr "2 dalam 1" #: src/olympusmn.cpp:105 msgid "Night+Portrait" msgstr "Malam+Potret" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "Makanan" #: src/olympusmn.cpp:112 msgid "Documents" msgstr "Dokumen" #: src/olympusmn.cpp:114 msgid "Shoot & Select" msgstr "Tangkap & Pilih" #: src/olympusmn.cpp:115 msgid "Beach & Snow" msgstr "Pantai & Salji" #: src/olympusmn.cpp:116 msgid "Self Portrait+Timer" msgstr "Potret Kendiri+Pemasa" #: src/olympusmn.cpp:117 msgid "Candle" msgstr "Lilin" #: src/olympusmn.cpp:118 msgid "Available Light" msgstr "Cahaya Yang Ada" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "Disebalik Kaca" #: src/olympusmn.cpp:120 msgid "My Mode" msgstr "Mod Saya" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 msgid "Pet" msgstr "Peliharaan" #: src/olympusmn.cpp:122 msgid "Underwater Wide1" msgstr "Dalam Air Lebar1" #: src/olympusmn.cpp:123 msgid "Underwater Macro" msgstr "Dalam Air Makro" #: src/olympusmn.cpp:124 msgid "Shoot & Select1" msgstr "Tangkap & Pilih1" #: src/olympusmn.cpp:125 msgid "Shoot & Select2" msgstr "Tangkap & Pilih2" #: src/olympusmn.cpp:127 msgid "Digital Image Stabilization" msgstr "Penstabilan Imej Digital" #: src/olympusmn.cpp:128 msgid "Auction" msgstr "Lelong" #: src/olympusmn.cpp:131 msgid "Underwater Wide2" msgstr "Dalam air Lebar2" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "Kanak-Kanak" #: src/olympusmn.cpp:135 msgid "Nature Macro" msgstr "Makro Alam" #: src/olympusmn.cpp:136 msgid "Underwater Snapshot" msgstr "Tangkapan Dalam Air" #: src/olympusmn.cpp:137 msgid "Shooting Guide" msgstr "Panduan Menangkap" #: src/olympusmn.cpp:145 msgid "Internal + External" msgstr "Dalaman + Luaran" #: src/olympusmn.cpp:176 msgid "Interlaced" msgstr "Berselang seli" #: src/olympusmn.cpp:177 msgid "Progressive" msgstr "Progresif" #: src/olympusmn.cpp:188 msgid "Thumbnail Image" msgstr "Imej Thumbnail" #: src/olympusmn.cpp:189 msgid "Thumbnail image" msgstr "Imej thumbnail" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body Firmware Version" msgstr "Versi Perisian Tegar Badan" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 msgid "Body firmware version" msgstr "Versi perisian tegar badan" #: src/olympusmn.cpp:195 msgid "Special Mode" msgstr "Mod Khas" #: src/olympusmn.cpp:196 msgid "Picture taking mode" msgstr "Mof mengambil gambar" #: src/olympusmn.cpp:204 msgid "Black & White Mode" msgstr "Mod Hitam & Putih" #: src/olympusmn.cpp:205 msgid "Black and white mode" msgstr "Mod hitam & putih" #: src/olympusmn.cpp:208 msgid "Digital zoom ratio" msgstr "Nisbah zum digital" #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 msgid "Focal Plane Diagonal" msgstr "Pepenjuru Satah Fokus" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 msgid "Focal plane diagonal" msgstr "Pepenjuru satah fokus" #: src/olympusmn.cpp:213 msgid "Lens Distortion Parameters" msgstr "Parameter Herotan Kanta" #: src/olympusmn.cpp:214 msgid "Lens distortion parameters" msgstr "Parameter herotan kanta" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 msgid "Camera Type" msgstr "Jenis Kamera" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 msgid "Camera type" msgstr "Jenis kamera" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "Data format ASCII seperti [PictureInfo]" #: src/olympusmn.cpp:222 msgid "Camera ID" msgstr "ID Kamera" #: src/olympusmn.cpp:223 msgid "Camera ID data" msgstr "Data ID kamera" #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "Perisian" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 msgid "Preview Image" msgstr "Imej Pratonton" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 msgid "Preview image" msgstr "Imej pratonton" #: src/olympusmn.cpp:237 msgid "Pre Capture Frames" msgstr "Bingkai Pra Tangkap" #: src/olympusmn.cpp:238 msgid "Pre-capture frames" msgstr "Bingkai pra-tangkap" #: src/olympusmn.cpp:240 msgid "White Board" msgstr "Papan Putih" #: src/olympusmn.cpp:241 msgid "White board" msgstr "Papan putih" #: src/olympusmn.cpp:243 msgid "One Touch WB" msgstr "One Touch WB" #: src/olympusmn.cpp:244 msgid "One touch white balance" msgstr "Imbangan putih One touch" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 msgid "White Balance Bracket" msgstr "Pendakap Imbangan Putih" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 msgid "White balance bracket" msgstr "Pendakap imbangan putih" #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 msgid "Firmware" msgstr "Perisian Tegar" #: src/olympusmn.cpp:261 msgid "Data Dump 1" msgstr "Longgok Data 1" #: src/olympusmn.cpp:262 msgid "Various camera settings 1" msgstr "Pelbagai tetapan kamera 1" #: src/olympusmn.cpp:264 msgid "Data Dump 2" msgstr "Longgok Data 2" #: src/olympusmn.cpp:265 msgid "Various camera settings 2" msgstr "Pelbagai tetapan kamera 2" #: src/olympusmn.cpp:268 msgid "Shutter speed value" msgstr "Nilai Kelajuan Bukaan" #: src/olympusmn.cpp:271 msgid "ISO speed value" msgstr "Nilai kelajuan ISO" #: src/olympusmn.cpp:274 msgid "Aperture value" msgstr "Nilai bukaan" #: src/olympusmn.cpp:277 msgid "Brightness value" msgstr "Nilai kecerahan" #: src/olympusmn.cpp:285 msgid "Bracket" msgstr "Braket" #: src/olympusmn.cpp:286 msgid "Exposure compensation value" msgstr "Nilai pemampasan dedahan" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 msgid "Sensor Temperature" msgstr "Suhu Penderia" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 msgid "Sensor temperature" msgstr "Suhu penderia" #: src/olympusmn.cpp:291 msgid "Lens Temperature" msgstr "Suhu Kanta" #: src/olympusmn.cpp:292 msgid "Lens temperature" msgstr "Suhu kanta" #: src/olympusmn.cpp:294 msgid "Light Condition" msgstr "Keadaan Cahaya" #: src/olympusmn.cpp:295 msgid "Light condition" msgstr "Keadaan cahaya" #: src/olympusmn.cpp:297 msgid "Focus Range" msgstr "Julat Fokus" #: src/olympusmn.cpp:298 msgid "Focus range" msgstr "Julat fokus" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "Zum" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 msgid "Zoom step count" msgstr "Kiraan langkah zum" #: src/olympusmn.cpp:309 msgid "Macro Focus" msgstr "Fokus Makro" #: src/olympusmn.cpp:310 msgid "Macro focus step count" msgstr "Kiraan langkah fokus makro" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 msgid "Sharpness Factor" msgstr "Faktor Kejelasan" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 msgid "Sharpness factor" msgstr "Faktor kejelasan" #: src/olympusmn.cpp:315 msgid "Flash Charge Level" msgstr "Aras Cas Denyar" #: src/olympusmn.cpp:316 msgid "Flash charge level" msgstr "Aras cas denyar" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 msgid "Color Matrix" msgstr "Matrik Warna" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 msgid "Color matrix" msgstr "Matrik warna" #: src/olympusmn.cpp:321 msgid "BlackLevel" msgstr "ArasHitam" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 msgid "Black level" msgstr "Aras hitam" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 msgid "White balance mode" msgstr "Mod imbangan putih" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 msgid "Red Balance" msgstr "Imbangan Merah" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 msgid "Red balance" msgstr "Imbangan merah" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 msgid "Blue Balance" msgstr "Imbangan Biru" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 msgid "Blue balance" msgstr "Imbangan biru" #: src/olympusmn.cpp:342 msgid "Color Matrix Number" msgstr "Nombor Matrik Warna" #: src/olympusmn.cpp:343 #, fuzzy msgid "Color matrix number" msgstr "Nombor matrik warna" #: src/olympusmn.cpp:345 msgid "Serial Number 2" msgstr "Nombor Siri 2" #: src/olympusmn.cpp:346 msgid "Serial number 2" msgstr "Nombor siri 2" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 msgid "Flash exposure compensation" msgstr "Pemampasan dedahan denyar" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 msgid "External Flash Bounce" msgstr "Lantunan Denyar Luaran" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 msgid "External flash bounce" msgstr "Lantunan denyar luaran" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 msgid "External Flash Zoom" msgstr "Zum Denyar Luaran" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 msgid "External flash zoom" msgstr "Zum denyar luaran" #: src/olympusmn.cpp:387 msgid "External Flash Mode" msgstr "Mod Denyar Luaran" #: src/olympusmn.cpp:388 msgid "External flash mode" msgstr "Mod denyar luaran" #: src/olympusmn.cpp:396 msgid "Color Control" msgstr "Kawalan Warna" #: src/olympusmn.cpp:397 msgid "Color control" msgstr "Kawalan warna" #: src/olympusmn.cpp:399 msgid "ValidBits" msgstr "BitSah" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 msgid "Valid bits" msgstr "Bit sah" #: src/olympusmn.cpp:402 msgid "CoringFilter" msgstr "PenapisPenerasan" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 msgid "Coring filter" msgstr "Penapis penerasan" #: src/olympusmn.cpp:423 msgid "Compression Ratio" msgstr "Nisbah Pemampatan" #: src/olympusmn.cpp:424 msgid "Compression ratio" msgstr "Nisbah pemampatan" #: src/olympusmn.cpp:427 msgid "Preview image embedded" msgstr "Pratonton imej terbenam" #: src/olympusmn.cpp:430 msgid "Offset of the preview image" msgstr "Ofset bagi imej pratonton" #: src/olympusmn.cpp:433 msgid "Size of the preview image" msgstr "Saiz bagi imej pratonton" #: src/olympusmn.cpp:435 msgid "CCD Scan Mode" msgstr "Mod Imbas CCD" #: src/olympusmn.cpp:436 msgid "CCD scan mode" msgstr "Mod imbas CCD" #: src/olympusmn.cpp:441 msgid "Infinity Lens Step" msgstr "Langkah Kanta Ketakterhinggaan" #: src/olympusmn.cpp:442 msgid "Infinity lens step" msgstr "Langkah kanta ketakterhinggaan" #: src/olympusmn.cpp:444 msgid "Near Lens Step" msgstr "Langkah Kanta Dekat" #: src/olympusmn.cpp:445 msgid "Near lens step" msgstr "Langkah kanta dekat" #: src/olympusmn.cpp:447 msgid "Equipment Info" msgstr "Maklumat Peralatan" #: src/olympusmn.cpp:448 msgid "Camera equipment sub-IFD" msgstr "Sub-IFD peralatan kamera" #: src/olympusmn.cpp:451 msgid "Camera Settings sub-IFD" msgstr "Sub-IFD Tetapan Kamera" #: src/olympusmn.cpp:453 msgid "Raw Development" msgstr "Pembangunan Raw" #: src/olympusmn.cpp:454 msgid "Raw development sub-IFD" msgstr "Sub-IFD pembangunan Raw" #: src/olympusmn.cpp:456 msgid "Raw Development 2" msgstr "Pembangunan Raw 2" #: src/olympusmn.cpp:457 msgid "Raw development 2 sub-IFD" msgstr "Sub-IFD pembangunan raw 2" #: src/olympusmn.cpp:460 msgid "Image processing sub-IFD" msgstr "Sub-IFD pemprosesan imej" #: src/olympusmn.cpp:462 msgid "Focus Info" msgstr "Maklumat Fokus" #: src/olympusmn.cpp:463 msgid "Focus sub-IFD" msgstr "Sub-IFD Fokus" #: src/olympusmn.cpp:465 msgid "Raw Info" msgstr "info Raw" #: src/olympusmn.cpp:466 msgid "Raw sub-IFD" msgstr "Sub-IFD Raw" #: src/olympusmn.cpp:470 msgid "Unknown OlympusMakerNote tag" msgstr "Tag OlympusMakerNote tidak diketahui" #: src/olympusmn.cpp:486 msgid "Program-shift" msgstr "Program-shift" #: src/olympusmn.cpp:491 msgid "Center-weighted average" msgstr "Purata terberat-pusat" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "ESP" #: src/olympusmn.cpp:494 msgid "Pattern+AF" msgstr "Corak+AF" #: src/olympusmn.cpp:495 msgid "Spot+Highlight control" msgstr "Kawalan Bintik+Sorot" #: src/olympusmn.cpp:496 msgid "Spot+Shadow control" msgstr "Kawalan Bintik+Bayang" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 msgid "Single AF" msgstr "AF Tunggal" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "AF penggambaran berjujukan" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 msgid "Multi AF" msgstr "Berbilang AF" #: src/olympusmn.cpp:517 msgid "AF Not Used" msgstr "Tidak menggunakan AF" #: src/olympusmn.cpp:518 msgid "AF Used" msgstr "Menggunakan AF" #: src/olympusmn.cpp:523 msgid "Not Ready" msgstr "Tidak Sedia" #: src/olympusmn.cpp:524 msgid "Ready" msgstr "Sedia" #: src/olympusmn.cpp:531 msgid "Fill-in" msgstr "Tokok" #: src/olympusmn.cpp:533 msgid "Slow-sync" msgstr "sync-perlahan" #: src/olympusmn.cpp:534 msgid "Forced On" msgstr "Paksa Dihidupkan" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "layar ke dua" #: src/olympusmn.cpp:541 msgid "Channel 1, Low" msgstr "Saluran 1, Perlahan" #: src/olympusmn.cpp:542 msgid "Channel 2, Low" msgstr "Saluran 2, Perlahan" #: src/olympusmn.cpp:543 msgid "Channel 3, Low" msgstr "Saluran 3, Perlahan" #: src/olympusmn.cpp:544 msgid "Channel 4, Low" msgstr "Saluran 4, Perlahan" #: src/olympusmn.cpp:545 msgid "Channel 1, Mid" msgstr "Saluran 1, tengah" #: src/olympusmn.cpp:546 msgid "Channel 2, Mid" msgstr "Saluran 2, tengah" #: src/olympusmn.cpp:547 msgid "Channel 3, Mid" msgstr "Saluran 3, tengah" #: src/olympusmn.cpp:548 msgid "Channel 4, Mid" msgstr "Channel 4, Tengah" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "Saluran 1,Tinggi" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "Saluran 2,Tinggi" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "Saluran 3,Tinggi" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "Saluran 4,Tinggi" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "" #: src/olympusmn.cpp:567 msgid "7500K (Fine Weather with Shade)" msgstr "7500K (Cuaca Baik dengan Bayang)" #: src/olympusmn.cpp:568 msgid "6000K (Cloudy)" msgstr "6000K (Mendung)" #: src/olympusmn.cpp:569 msgid "5300K (Fine Weather)" msgstr "5300K (Cuaca Baik)" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "3000K (lampu tungsten)" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 msgid "3600K (Tungsten light-like)" msgstr "3600K (Cahaya-seakan Tungsten)" #: src/olympusmn.cpp:572 #, fuzzy msgid "Auto Setup" msgstr "Bukaan Automatik" #: src/olympusmn.cpp:573 #, fuzzy msgid "5500K (Flash)" msgstr "Auto (Denyar)" #: src/olympusmn.cpp:574 msgid "6600K (Daylight fluorescent)" msgstr "6600K (Fluorescent cahaya siang)" #: src/olympusmn.cpp:575 msgid "4500K (Neutral white fluorescent)" msgstr "4500K (Fluorescent putih neutral)" #: src/olympusmn.cpp:576 msgid "4000K (Cool white fluorescent)" msgstr "4000K (Fluorescent putih sejuk)" #: src/olympusmn.cpp:577 #, fuzzy msgid "White Fluorescent" msgstr "PendaflourPutih" #: src/olympusmn.cpp:580 #, fuzzy msgid "One Touch WB 1" msgstr "One Touch WB" #: src/olympusmn.cpp:581 #, fuzzy msgid "One Touch WB 2" msgstr "One Touch WB" #: src/olympusmn.cpp:582 #, fuzzy msgid "One Touch WB 3" msgstr "One Touch WB" #: src/olympusmn.cpp:583 #, fuzzy msgid "One Touch WB 4" msgstr "One Touch WB" #: src/olympusmn.cpp:584 msgid "Custom WB 1" msgstr "WB suai 1" #: src/olympusmn.cpp:585 msgid "Custom WB 2" msgstr "WB suai 2" #: src/olympusmn.cpp:586 msgid "Custom WB 3" msgstr "WB suai 3" #: src/olympusmn.cpp:587 msgid "Custom WB 4" msgstr "WB suai 4" #: src/olympusmn.cpp:593 msgid "CM1 (Red Enhance)" msgstr "CM1 (Merah Dipertingkat)" #: src/olympusmn.cpp:594 msgid "CM2 (Green Enhance)" msgstr "CM2 (Hijau Dipertingkat)" #: src/olympusmn.cpp:595 msgid "CM3 (Blue Enhance)" msgstr "CM3 (Biru Dipertingkat)" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "CM4 (Tona Kulit)" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "Pro Photo RGB" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 msgid "Noise Filter" msgstr "Penapis Hingar" #: src/olympusmn.cpp:610 msgid "Noise Filter (ISO Boost)" msgstr "Penapis Hingar (Galak ISO)" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 msgid "Muted" msgstr "Dibisukan" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 msgid "Monotone" msgstr "Monotone" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "SQ" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "HQ" #: src/olympusmn.cpp:648 msgid "SHQ" msgstr "SHQ" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 msgid "On, Mode 1" msgstr "On, Mod 1" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 msgid "On, Mode 2" msgstr "On, Mod 2" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 msgid "On, Mode 3" msgstr "On, Mod 3" #: src/olympusmn.cpp:661 msgid "Camera Settings Version" msgstr "Versi Tetapan Kamera" #: src/olympusmn.cpp:661 msgid "Camera settings version" msgstr "Versi tetapan kamera" #: src/olympusmn.cpp:662 msgid "PreviewImage Valid" msgstr "Imej Pratonton Sah" #: src/olympusmn.cpp:662 msgid "Preview image valid" msgstr "Imej pratonton sah" #: src/olympusmn.cpp:663 msgid "PreviewImage Start" msgstr "Imej Pratonton Mula" #: src/olympusmn.cpp:663 msgid "Preview image start" msgstr "Imej pratonton mula" #: src/olympusmn.cpp:664 msgid "PreviewImage Length" msgstr "Panjang Imej Pratonton" #: src/olympusmn.cpp:664 msgid "Preview image length" msgstr "Panjang imej pratonton" #: src/olympusmn.cpp:666 msgid "Auto exposure lock" msgstr "Kunci dedahan auto" #: src/olympusmn.cpp:668 msgid "Exposure Shift" msgstr "Anjak Dedahan" #: src/olympusmn.cpp:668 msgid "Exposure shift" msgstr "Anjak dedahan" #: src/olympusmn.cpp:671 msgid "Focus Process" msgstr "Proses Fokus" #: src/olympusmn.cpp:671 msgid "Focus process" msgstr "Proses fokus" #: src/olympusmn.cpp:672 msgid "AF Search" msgstr "Pencarian AF" #: src/olympusmn.cpp:672 msgid "AF search" msgstr "Pencarian AF" #: src/olympusmn.cpp:673 msgid "AF Areas" msgstr "Kawasan AF" #: src/olympusmn.cpp:673 msgid "AF areas" msgstr "Kawasan AF" #: src/olympusmn.cpp:674 msgid "AFPointSelected" msgstr "TitikAF Terpilih" #: src/olympusmn.cpp:675 msgid "AF Fine Tune Adjust" msgstr "Laras Tala Hala AF" #: src/olympusmn.cpp:675 msgid "AF fine tune adjust" msgstr "Laras tala halus AF" #: src/olympusmn.cpp:678 msgid "Flash Remote Control" msgstr "Kawalan Jauh Denyar" #: src/olympusmn.cpp:678 msgid "Flash remote control" msgstr "Kawalan jauh denyar" #: src/olympusmn.cpp:679 msgid "Flash Control Mode" msgstr "Mod Kawalan Denyar" #: src/olympusmn.cpp:679 msgid "Flash control mode" msgstr "Mod kawalan denyar" #: src/olympusmn.cpp:680 msgid "Flash Intensity" msgstr "Keamatan Denyar" #: src/olympusmn.cpp:680 msgid "Flash intensity" msgstr "Keamatan dengar" #: src/olympusmn.cpp:681 msgid "Manual Flash Strength" msgstr "Kekuatan Denyar Manual" #: src/olympusmn.cpp:681 msgid "Manual flash strength" msgstr "Kekuatan denyar manual" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 msgid "White Balance 2" msgstr "Imbangan Putih 2" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 msgid "White balance 2" msgstr "Imbangan putih 2" #: src/olympusmn.cpp:683 msgid "White Balance Temperature" msgstr "Suhu Imbangan Putih" #: src/olympusmn.cpp:683 msgid "White balance temperature" msgstr "Suhu imbangan putih" #: src/olympusmn.cpp:685 msgid "Custom Saturation" msgstr "Ketepuan Suai" #: src/olympusmn.cpp:685 msgid "Custom saturation" msgstr "Ketepuan suai" #: src/olympusmn.cpp:686 msgid "Modified Saturation" msgstr "Ketepuan Ubahsuai" #: src/olympusmn.cpp:686 msgid "Modified saturation" msgstr "Ketepuan diubahsuai" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 msgid "Contrast Setting" msgstr "Tetapan Beza Jelas" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 msgid "Sharpness Setting" msgstr "Tetapan Kejelasan" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion Correction" msgstr "Pembetulan Herotan" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 msgid "Distortion correction" msgstr "Pembetulan herotan" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 msgid "Shading Compensation" msgstr "Pemampasan Bayang" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 msgid "Shading compensation" msgstr "Pemampasan bayang" #: src/olympusmn.cpp:694 msgid "Compression Factor" msgstr "Faktor Pemampatan" #: src/olympusmn.cpp:694 msgid "Compression factor" msgstr "Faktor pemampatan" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 msgid "Gradation" msgstr "Pemeringkatan" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 msgid "Picture mode" msgstr "Mod gambar" #: src/olympusmn.cpp:697 msgid "Picture Mode Saturation" msgstr "Ketepuan Mod Gambar" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 msgid "Picture mode saturation" msgstr "Ketepuan mod gambar" #: src/olympusmn.cpp:698 msgid "Picture Mode Hue" msgstr "Rona Mod Gambar" #: src/olympusmn.cpp:698 msgid "Picture mode hue" msgstr "Rona mod gambar" #: src/olympusmn.cpp:699 msgid "Picture Mode Contrast" msgstr "Beza Jelas Mod Gambar" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 msgid "Picture mode contrast" msgstr "Beza jelas mod gambar" #: src/olympusmn.cpp:700 msgid "Picture Mode Sharpness" msgstr "Kejelasan Mod Gambar" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 msgid "Picture mode sharpness" msgstr "Kejelasan mod gambar" #: src/olympusmn.cpp:701 msgid "Picture Mode BW Filter" msgstr "Penapis BW Mod Gambar" #: src/olympusmn.cpp:701 msgid "Picture mode BW filter" msgstr "Penapis BW mod gambar" #: src/olympusmn.cpp:702 msgid "Picture Mode Tone" msgstr "Tona Mod Gambar" #: src/olympusmn.cpp:702 msgid "Picture mode tone" msgstr "Tona mod gambar" #: src/olympusmn.cpp:703 msgid "Noise filter" msgstr "Penapis hingar" #: src/olympusmn.cpp:704 msgid "Art Filter" msgstr "Penapis Seni" #: src/olympusmn.cpp:704 msgid "Art filter" msgstr "Penapis seni" #: src/olympusmn.cpp:705 msgid "Magic Filter" msgstr "Penapis Magik" #: src/olympusmn.cpp:705 msgid "Magic filter" msgstr "Penapis magik" #: src/olympusmn.cpp:707 msgid "Panorama Mode" msgstr "Mod Panorama" #: src/olympusmn.cpp:707 msgid "Panorama mode" msgstr "Mod panorama" #: src/olympusmn.cpp:708 msgid "Image Quality 2" msgstr "Kualiti Imej 2" #: src/olympusmn.cpp:708 msgid "Image quality 2" msgstr "Kualiti imej 2" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer Pressure" msgstr "Tekanan Manometer" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer pressure" msgstr "Tekanan manometer" #: src/olympusmn.cpp:711 msgid "Manometer Reading" msgstr "Bacaan Manometer" #: src/olympusmn.cpp:711 msgid "Manometer reading" msgstr "Bacaan manometer" #: src/olympusmn.cpp:712 msgid "Extended WB Detect" msgstr "Kesan WB Lanjutan" #: src/olympusmn.cpp:712 msgid "Extended WB detect" msgstr "Kesan WB lanjutan" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "Gulung Tolok Aras" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "Gulung tolok aras" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "Pic Tolok Aras" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "Pic aras aras" #: src/olympusmn.cpp:716 msgid "Unknown OlympusCs tag" msgstr "Tag OlympusCs tidak diketahui" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "E-System Ringkas" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "E-System" #: src/olympusmn.cpp:745 msgid "Equipment Version" msgstr "Versi Peralatan" #: src/olympusmn.cpp:745 msgid "Equipment version" msgstr "Versi peralatan" #: src/olympusmn.cpp:747 msgid "Serial number" msgstr "Nombor siri" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 msgid "Lens Serial Number" msgstr "Nombor Siri Kanta" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 msgid "Lens serial number" msgstr "Nombor siri kanta" #: src/olympusmn.cpp:754 msgid "Lens Firmware Version" msgstr "Versi Perisian Tegar Kanta" #: src/olympusmn.cpp:754 msgid "Lens firmware version" msgstr "Versi perisian tegar kanta" #: src/olympusmn.cpp:759 msgid "Max Aperture At Current Focal" msgstr "Bukaan Maks Pada Fokus Semasa" #: src/olympusmn.cpp:759 msgid "Max aperture at current focal" msgstr "Bukaan maks pada fokus semasa" #: src/olympusmn.cpp:760 msgid "Lens Properties" msgstr "Sifat Kanta" #: src/olympusmn.cpp:760 msgid "Lens properties" msgstr "Sifat kanta" #: src/olympusmn.cpp:761 msgid "Extender" msgstr "Penyambung" #: src/olympusmn.cpp:762 msgid "Extender Serial Number" msgstr "Nombor Siri Penjangkau" #: src/olympusmn.cpp:762 msgid "Extender serial number" msgstr "Nombor siri penjangkau" #: src/olympusmn.cpp:763 msgid "Extender Model" msgstr "Model" #: src/olympusmn.cpp:763 msgid "Extender model" msgstr "Model penjangkau" #: src/olympusmn.cpp:764 msgid "Extender Firmware Version" msgstr "Versi Perisian Tegar Penjangkau" #: src/olympusmn.cpp:764 msgid "Extender firmwareversion" msgstr "Versi perisian tegar penjangkau" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion Lens" msgstr "Kanta Penukaran" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion lens" msgstr "Kanta penukaran" #: src/olympusmn.cpp:767 src/properties.cpp:402 msgid "Flash Model" msgstr "Model Denyar" #: src/olympusmn.cpp:767 msgid "Flash model" msgstr "Model denyar" #: src/olympusmn.cpp:768 msgid "Flash Firmware Version" msgstr "Versi Perisian Tegar Denyar" #: src/olympusmn.cpp:768 msgid "Flash firmware version" msgstr "Versi perisian tegar denyar" #: src/olympusmn.cpp:769 msgid "FlashSerialNumber" msgstr "Nombor Siri Denyar" #: src/olympusmn.cpp:771 msgid "Unknown OlympusEq tag" msgstr "Tag OlympusEq tidak diketahui" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 msgid "High Speed" msgstr "Kelajuan Tinggi" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 msgid "High Function" msgstr "Fungsi Tinggi" #: src/olympusmn.cpp:790 msgid "Advanced High Speed" msgstr "Kelajuan Tinggi Lanjutan" #: src/olympusmn.cpp:791 msgid "Advanced High Function" msgstr "Fungsi Tinggi Lanjutan" #: src/olympusmn.cpp:796 msgid "Original" msgstr "Asal" #: src/olympusmn.cpp:797 msgid "Edited (Landscape)" msgstr "Disunting (Lanskap)" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 msgid "Edited (Portrait)" msgstr "Disunting (Potret)" #: src/olympusmn.cpp:804 msgid "WB Color Temp" msgstr "Suhu Warna WB" #: src/olympusmn.cpp:805 msgid "WB Gray Point" msgstr "Takat Kelabu WB" #: src/olympusmn.cpp:815 msgid "Raw Development Version" msgstr "Versi Pembangunan Raw" #: src/olympusmn.cpp:815 msgid "Raw development version" msgstr "Versi pembangunan Raw" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 msgid "Exposure Bias Value" msgstr "Nilai Bias Dedahan" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 msgid "Exposure bias value" msgstr "Nilai bias dedahan" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White Balance Value" msgstr "Nilai Imbangan Putih" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White balance value" msgstr "Nilai imbangan putih" #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 msgid "WB Fine Adjustment" msgstr "Pelarasan Halus WB" #: src/olympusmn.cpp:818 msgid "WB fine adjustment" msgstr "Pelarasan halus WB" #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 msgid "Gray Point" msgstr "Takat Kelabu" #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 msgid "Gray point" msgstr "Takat kelabu" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation Emphasis" msgstr "Paksaan Ketepuan" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation emphasis" msgstr "Paksaan ketepuan" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory Color Emphasis" msgstr "Paksaan Warna Ingatan" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory color emphasis" msgstr "Paksaan warna ingatan" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast Value" msgstr "Nilai Beza Jelas" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast value" msgstr "Nilai beza jelas" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness Value" msgstr "Nilai Kejelasan" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness value" msgstr "Nilai kejelasan" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 msgid "Engine" msgstr "Enjin" #: src/olympusmn.cpp:827 msgid "Edit status" msgstr "Status sunting" #: src/olympusmn.cpp:828 msgid "Settings" msgstr "Tetapan" #: src/olympusmn.cpp:830 msgid "Unknown OlympusRd tag" msgstr "Tag OlympusRd tidak diketahui" #: src/olympusmn.cpp:885 msgid "Raw Development 2 Version" msgstr "Versi Pembangunan 2 Raw" #: src/olympusmn.cpp:885 msgid "Raw development 2 version" msgstr "Versi pembangunan 2 Raw" #: src/olympusmn.cpp:889 msgid "White balance fine adjustment" msgstr "Pelarasan halus imbangan putih" #: src/olympusmn.cpp:899 msgid "PM Saturation" msgstr "Ketepuan PM" #: src/olympusmn.cpp:900 msgid "PM Contrast" msgstr "Beza jelas PM" #: src/olympusmn.cpp:901 msgid "PM Sharpness" msgstr "Kejelasan PM" #: src/olympusmn.cpp:902 msgid "PM BW Filter" msgstr "Penapis BW PM" #: src/olympusmn.cpp:902 msgid "PM BW filter" msgstr "Penapis BW PM" #: src/olympusmn.cpp:903 msgid "PM Picture Tone" msgstr "Ton Gambar PM" #: src/olympusmn.cpp:903 msgid "PM picture tone" msgstr "Ton gambar PM" #: src/olympusmn.cpp:906 msgid "Auto Gradation" msgstr "Pemeringkatan Sendiri" #: src/olympusmn.cpp:906 msgid "Auto gradation" msgstr "Pemeringkatan sendiri" #: src/olympusmn.cpp:907 msgid "PM Noise Filter" msgstr "Penapis Hingar PM" #: src/olympusmn.cpp:907 msgid "Picture mode noise filter" msgstr "Penapis hingar mod gambar" #: src/olympusmn.cpp:909 msgid "Unknown OlympusRd2 tag" msgstr "Tag OlympusRd2 tidak diketahui" #: src/olympusmn.cpp:920 msgid "On (2 frames)" msgstr "Hidup (2 bingkai)" #: src/olympusmn.cpp:921 msgid "On (3 frames)" msgstr "Hidup (3 bingkai)" #: src/olympusmn.cpp:938 msgid "Image Processing Version" msgstr "Versi Pemprosesan Imej" #: src/olympusmn.cpp:938 msgid "Image processing version" msgstr "Versi pemprosesan imej" #: src/olympusmn.cpp:940 msgid "WB RB Levels 3000K" msgstr "Aras RB WB 3000K" #: src/olympusmn.cpp:940 msgid "WB RB levels 3000K" msgstr "Aras RB WB 3000K" #: src/olympusmn.cpp:941 msgid "WB RB Levels 3300K" msgstr "Aras RB WB 3300K" #: src/olympusmn.cpp:941 msgid "WB RB levels 3300K" msgstr "Aras RB WB 3300K" #: src/olympusmn.cpp:942 msgid "WB RB Levels 3600K" msgstr "Aras RB WB 3600K" #: src/olympusmn.cpp:942 msgid "WB RB levels 3600K" msgstr "Aras RB WB 3600K" #: src/olympusmn.cpp:943 msgid "WB RB Levels 3900K" msgstr "Aras RB WB 3900K" #: src/olympusmn.cpp:943 msgid "WB RB levels 3900K" msgstr "Aras RB WB 3900K" #: src/olympusmn.cpp:944 msgid "WB RB Levels 4000K" msgstr "Aras RB WB 4000K" #: src/olympusmn.cpp:944 msgid "WB RB levels 4000K" msgstr "Aras RB WB 4000K" #: src/olympusmn.cpp:945 msgid "WB RB Levels 4300K" msgstr "Aras RB WB 4300K" #: src/olympusmn.cpp:945 msgid "WB RB levels 4300K" msgstr "Aras RB WB 4300K" #: src/olympusmn.cpp:946 msgid "WB RB Levels 4500K" msgstr "Aras RB WB 4500K" #: src/olympusmn.cpp:946 msgid "WB RB levels 4500K" msgstr "Aras RB WB 4500K" #: src/olympusmn.cpp:947 msgid "WB RB Levels 4800K" msgstr "Aras RB WB 4800K" #: src/olympusmn.cpp:947 msgid "WB RB levels 4800K" msgstr "Aras RB WB 4800K" #: src/olympusmn.cpp:948 msgid "WB RB Levels 5300K" msgstr "Aras RB WB 5300K" #: src/olympusmn.cpp:948 msgid "WB RB levels 5300K" msgstr "Aras RB WB 5300K" #: src/olympusmn.cpp:949 msgid "WB RB Levels 6000K" msgstr "Aras RB WB 6000K" #: src/olympusmn.cpp:949 msgid "WB RB levels 6000K" msgstr "Aras RB WB 6000K" #: src/olympusmn.cpp:950 msgid "WB RB Levels 6600K" msgstr "Aras RB WB 6600K" #: src/olympusmn.cpp:950 msgid "WB RB levels 6600K" msgstr "Aras RB WB 6600K" #: src/olympusmn.cpp:951 msgid "WB RB Levels 7500K" msgstr "Aras RB WB 7500K" #: src/olympusmn.cpp:951 msgid "WB RB levels 7500K" msgstr "Aras RB WB 7500K" #: src/olympusmn.cpp:952 msgid "WB RB Levels CWB1" msgstr "Aras WB RB CWB1" #: src/olympusmn.cpp:952 msgid "WB RB levels CWB1" msgstr "Aras WB RB CWB1" #: src/olympusmn.cpp:953 msgid "WB RB Levels CWB2" msgstr "Aras WB RB CWB2" #: src/olympusmn.cpp:953 msgid "WB RB levels CWB2" msgstr "Aras WB RB CWB2" #: src/olympusmn.cpp:954 msgid "WB RB Levels CWB3" msgstr "Aras WB RB CWB3" #: src/olympusmn.cpp:954 msgid "WB RB levels CWB3" msgstr "Aras WB RB CWB3" #: src/olympusmn.cpp:955 msgid "WB RB Levels CWB4" msgstr "Aras WB RB CWB4" #: src/olympusmn.cpp:955 msgid "WB RB levels CWB4" msgstr "Aras WB RB CWB4" #: src/olympusmn.cpp:956 msgid "WB G Level 3000K" msgstr "Aras G WB 3000K" #: src/olympusmn.cpp:956 msgid "WB G level 3000K" msgstr "Aras G WB 3000K" #: src/olympusmn.cpp:957 msgid "WB G Level 3300K" msgstr "Aras G WB 3300K" #: src/olympusmn.cpp:957 msgid "WB G level 3300K" msgstr "Aras G WB 3300K" #: src/olympusmn.cpp:958 msgid "WB G Level 3600K" msgstr "Aras G WB 3600K" #: src/olympusmn.cpp:958 msgid "WB G level 3600K" msgstr "Aras G WB 3600K" #: src/olympusmn.cpp:959 msgid "WB G Level 3900K" msgstr "Aras G WB 3900K" #: src/olympusmn.cpp:959 msgid "WB G level 3900K" msgstr "Aras G WB 3900K" #: src/olympusmn.cpp:960 msgid "WB G Level 4000K" msgstr "Aras G WB 4000K" #: src/olympusmn.cpp:960 msgid "WB G level 4000K" msgstr "Aras G WB 4000K" #: src/olympusmn.cpp:961 msgid "WB G Level 4300K" msgstr "Aras G WB 4300K" #: src/olympusmn.cpp:961 msgid "WB G level 4300K" msgstr "Aras G WB 4300K" #: src/olympusmn.cpp:962 msgid "WB G Level 4500K" msgstr "Aras G WB 4500K" #: src/olympusmn.cpp:962 msgid "WB G level 4500K" msgstr "Aras G WB 4500K" #: src/olympusmn.cpp:963 msgid "WB G Level 4800K" msgstr "Aras G WB 4800K" #: src/olympusmn.cpp:963 msgid "WB G level 4800K" msgstr "Aras G WB 4800K" #: src/olympusmn.cpp:964 msgid "WB G Level 5300K" msgstr "Aras G WB 5300K" #: src/olympusmn.cpp:964 msgid "WB G level 5300K" msgstr "Aras G WB 5300K" #: src/olympusmn.cpp:965 msgid "WB G Level 6000K" msgstr "Aras G WB 6000K" #: src/olympusmn.cpp:965 msgid "WB G level 6000K" msgstr "Aras G WB 6000K" #: src/olympusmn.cpp:966 msgid "WB G Level 6600K" msgstr "Aras G WB 6600K" #: src/olympusmn.cpp:966 msgid "WB G level 6600K" msgstr "Aras G WB 6600K" #: src/olympusmn.cpp:967 msgid "WB G Level 7500K" msgstr "Aras G WB 7500K" #: src/olympusmn.cpp:967 msgid "WB G level 7500K" msgstr "Aras G WB 7500K" #: src/olympusmn.cpp:968 msgid "WB G Level" msgstr "Aras G WB" #: src/olympusmn.cpp:968 msgid "WB G level" msgstr "Aras G WB" #: src/olympusmn.cpp:970 msgid "Enhancer" msgstr "Penggalak" #: src/olympusmn.cpp:971 msgid "Enhancer Values" msgstr "Nilai Penggalak" #: src/olympusmn.cpp:971 msgid "Enhancer values" msgstr "Enhancer values" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 msgid "Coring Filter" msgstr "Penapis Penerasan" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 msgid "Coring Values" msgstr "Nilai Penerasan" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 msgid "Coring values" msgstr "Nilai penerasan" #: src/olympusmn.cpp:974 src/tags.cpp:915 msgid "Black Level" msgstr "Aras Hitam" #: src/olympusmn.cpp:975 msgid "Gain Base" msgstr "Dasar Gandaan" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "Dasar gandaan" #: src/olympusmn.cpp:976 msgid "Valid Bits" msgstr "Bit Sah" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 msgid "Crop Left" msgstr "Kerat Kiri" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 msgid "Crop left" msgstr "Kerat kiri" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 msgid "Crop Top" msgstr "Kerat Atas" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 msgid "Crop top" msgstr "Kerat atas" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 msgid "Crop Width" msgstr "Kerat Lebar" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 msgid "Crop width" msgstr "Kerat lebar" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 msgid "Crop Height" msgstr "Kerat Tinggi" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 msgid "Crop height" msgstr "Kerat tinggi" #: src/olympusmn.cpp:984 msgid "Multiple Exposure Mode" msgstr "Mod Dedahan Berbilang" #: src/olympusmn.cpp:984 msgid "Multiple exposure mode" msgstr "Mod dedahan berbilang" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 msgid "Aspect Ratio" msgstr "Nisbah Bidang" #: src/olympusmn.cpp:985 msgid "Aspect ratio" msgstr "Nisbah bidang" #: src/olympusmn.cpp:986 msgid "Aspect Frame" msgstr "Bingkai Nisbah" #: src/olympusmn.cpp:986 msgid "Aspect frame" msgstr "Bingkai nisbah" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 msgid "Face Detect" msgstr "Kesan Wajah" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 msgid "Face detect" msgstr "Kesan wajah" #: src/olympusmn.cpp:988 msgid "Face Detect Area" msgstr "Kawasan Kesan Wajah" #: src/olympusmn.cpp:988 msgid "Face detect area" msgstr "Kawasan kesan wajah" #: src/olympusmn.cpp:990 msgid "Unknown OlympusIp tag" msgstr "Tag OlympusIp tidak diketahui" #: src/olympusmn.cpp:1000 msgid "Bounce or Off" msgstr "Lantun atau Dimatikan" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "Langsung" #: src/olympusmn.cpp:1005 msgid "Focus Info Version" msgstr "Varsi Maklumat Fokus" #: src/olympusmn.cpp:1005 msgid "Focus info version" msgstr "Varsi maklumat fokus" #: src/olympusmn.cpp:1006 msgid "Auto Focus" msgstr "Fokus Sendiri" #: src/olympusmn.cpp:1007 msgid "Scene Detect" msgstr "Kesan Adegan" #: src/olympusmn.cpp:1007 msgid "Scene detect" msgstr "Kesan adegan" #: src/olympusmn.cpp:1008 msgid "Scene Area" msgstr "Kawasan Adegan" #: src/olympusmn.cpp:1008 msgid "Scene area" msgstr "Kawasan adegan" #: src/olympusmn.cpp:1009 msgid "Scene Detect Data" msgstr "Data Kesan Adegan" #: src/olympusmn.cpp:1009 msgid "Scene detect data" msgstr "Data kesan adegan" #: src/olympusmn.cpp:1010 msgid "Zoom Step Count" msgstr "Kiraan Langkah Zum" #: src/olympusmn.cpp:1011 msgid "Focus Step Count" msgstr "Kiraan Langkah Fokus" #: src/olympusmn.cpp:1011 msgid "Focus step count" msgstr "Kiraan langkah fokus" #: src/olympusmn.cpp:1012 msgid "Focus Step Infinity" msgstr "Ketakhinggaan Langkah Fokus" #: src/olympusmn.cpp:1012 msgid "Focus step infinity" msgstr "Ketakhinggaan langkah fokus" #: src/olympusmn.cpp:1013 msgid "Focus Step Near" msgstr "Hampor Langkah Fokus" #: src/olympusmn.cpp:1013 msgid "Focus step near" msgstr "Hampor langkah fokus" #: src/olympusmn.cpp:1016 msgid "External Flash" msgstr "Denyar Luaran" #: src/olympusmn.cpp:1017 msgid "External Flash Guide Number" msgstr "Nombor Panduan Denyar Luaran" #: src/olympusmn.cpp:1017 msgid "External flash guide number" msgstr "Nombor panduan denyar luaran" #: src/olympusmn.cpp:1021 msgid "Manual Flash" msgstr "Denyar Manual" #: src/olympusmn.cpp:1021 msgid "Manual flash" msgstr "Denyar manual" #: src/olympusmn.cpp:1025 msgid "Unknown OlympusFi tag" msgstr "Tag OlympusFi Tidak Diketahui" #: src/olympusmn.cpp:1036 msgid "Unknown OlympusFe tag" msgstr "Tag OlympusFi tidak diketahui" #: src/olympusmn.cpp:1049 msgid "Fine Weather" msgstr "Cuaca Baik" #: src/olympusmn.cpp:1050 msgid "Tungsten (incandescent)" msgstr "Tungsten (pijar)" #: src/olympusmn.cpp:1051 msgid "Evening Sunlight" msgstr "Cahaya Matahari Petang" #: src/olympusmn.cpp:1052 msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "Fluoresent" #: src/olympusmn.cpp:1053 msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "Pendarfluor Putih Siang (N 4600 - 5400K)" #: src/olympusmn.cpp:1054 msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "Pendarfluor Putih Sejuk (W 3900 - 4500K)" #: src/olympusmn.cpp:1055 msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "Pendarfluor Putih (WW 3200 - 3700K)" #: src/olympusmn.cpp:1056 msgid "One Touch White Balance" msgstr "Imbangan Putih One Touch" #: src/olympusmn.cpp:1057 msgid "Custom 1-4" msgstr "Suai 1-4" #: src/olympusmn.cpp:1061 msgid "Raw Info Version" msgstr "Versi Maklumat Raw" #: src/olympusmn.cpp:1061 msgid "Raw info version" msgstr "Versi maklumat Raw" #: src/olympusmn.cpp:1062 msgid "WB_RB Levels Used" msgstr "Aras WB_RB yang Digunakan" #: src/olympusmn.cpp:1062 msgid "WB_RB levels used" msgstr "Aras WB_RB yang digunakan" #: src/olympusmn.cpp:1063 msgid "WB_RB Levels Auto" msgstr "Aras Automatik WB_RB" #: src/olympusmn.cpp:1063 msgid "WB_RB levels auto" msgstr "Aras automatik WB_RB" #: src/olympusmn.cpp:1064 msgid "WB_RB Levels Shade" msgstr "Bayang Aras WB_RB" #: src/olympusmn.cpp:1064 msgid "WB_RB levels shade" msgstr "Bayang aras WB_RB" #: src/olympusmn.cpp:1065 msgid "WB_RB Levels Cloudy" msgstr "Mendung Aras WB_RB" #: src/olympusmn.cpp:1065 msgid "WB_RB levels cloudy" msgstr "Mendung aras WB_RB" #: src/olympusmn.cpp:1066 msgid "WB_RB Levels Fine Weather" msgstr "Cuaca Baik Aras WB_RB" #: src/olympusmn.cpp:1066 msgid "WB_RB levels fine weather" msgstr "Cuaca baik aras WB_RB" #: src/olympusmn.cpp:1067 msgid "WB_RB Levels Tungsten" msgstr "Tungsten Aras WB_RB" #: src/olympusmn.cpp:1067 msgid "WB_RB levels tungsten" msgstr "Tungsten aras WB_RB" #: src/olympusmn.cpp:1068 msgid "WB_RB Levels Evening Sunlight" msgstr "Cahaya Matahari Petang Aras WB_RB" #: src/olympusmn.cpp:1068 msgid "WB_RB levels evening sunlight" msgstr "Cahaya matahari petang aras WB_RB" #: src/olympusmn.cpp:1069 msgid "WB_RB Levels Daylight Fluor" msgstr "Pendafluor Cahaya Siang Aras WB_RB" #: src/olympusmn.cpp:1069 msgid "WB_RB levels daylight fluor" msgstr "Pendafluor cahaya siang aras WB_RB" #: src/olympusmn.cpp:1070 msgid "WB_RB Levels Day White Fluor" msgstr "Pendafluor Putih Siang Aras WB_RB" #: src/olympusmn.cpp:1070 msgid "WB_RB levels day white fluor" msgstr "Pendafluor putih siang aras WB_RB" #: src/olympusmn.cpp:1071 msgid "WB_RB Levels Cool White Fluor" msgstr "Pendafluor Putih Sejuk Aras WB_RB" #: src/olympusmn.cpp:1071 msgid "WB_RB levels cool white fluor" msgstr "Pendafluor putih sejuk aras WB_RB" #: src/olympusmn.cpp:1072 msgid "WB_RB Levels White Fluorescent" msgstr "Pendafluor Putih Aras WB_RB" #: src/olympusmn.cpp:1072 msgid "WB_RB levels white fluorescent" msgstr "Pendafluor putih aras WB_RB" #: src/olympusmn.cpp:1073 msgid "Color Matrix2" msgstr "Warna Matrix2" #: src/olympusmn.cpp:1073 msgid "Color matrix 2" msgstr "Warna matrix 2" #: src/olympusmn.cpp:1076 msgid "Black Level 2" msgstr "Aras Hitam 2" #: src/olympusmn.cpp:1076 msgid "Black level 2" msgstr "Aras hitam 2" #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 msgid "YCbCr Coefficients" msgstr "Pekali YCbCr" #: src/olympusmn.cpp:1077 msgid "YCbCr coefficients" msgstr "Pekali YCbCr" #: src/olympusmn.cpp:1078 msgid "Valid Pixel Depth" msgstr "Kedalam Piksel Sah" #: src/olympusmn.cpp:1078 msgid "Valid pixel depth" msgstr "Kedalaman piksel sah" #: src/olympusmn.cpp:1084 msgid "White Balance Comp" msgstr "Komp Imbangan Putih" #: src/olympusmn.cpp:1084 msgid "White balance comp" msgstr "Komp imbangan putih" #: src/olympusmn.cpp:1085 msgid "Saturation Setting" msgstr "Tetapan Ketepuan" #: src/olympusmn.cpp:1086 msgid "Hue Setting" msgstr "Tetapan Rona" #: src/olympusmn.cpp:1086 msgid "Hue setting" msgstr "Tetapan rona" #: src/olympusmn.cpp:1089 msgid "CM Exposure Compensation" msgstr "Pemampasan Dedahan CM" #: src/olympusmn.cpp:1089 msgid "CM exposure compensation" msgstr "Pemampasan dedahan CM" #: src/olympusmn.cpp:1090 msgid "CM White Balance" msgstr "Imbangan Putih CM" #: src/olympusmn.cpp:1090 msgid "CM white balance" msgstr "Imbangan putih CM" #: src/olympusmn.cpp:1091 msgid "CM White Balance Comp" msgstr "Komp Imbangan Putih CM" #: src/olympusmn.cpp:1091 msgid "CM white balance comp" msgstr "Komp imbangan putih CM" #: src/olympusmn.cpp:1092 msgid "CM White Balance Gray Point" msgstr "Takat Kelabu Imbangan Putih CM" #: src/olympusmn.cpp:1092 msgid "CM white balance gray point" msgstr "takat kelabu imbangan putih CM" #: src/olympusmn.cpp:1093 msgid "CM Saturation" msgstr "Ketepuan CM" #: src/olympusmn.cpp:1093 msgid "CM saturation" msgstr "Ketepuan CM" #: src/olympusmn.cpp:1094 msgid "CM Hue" msgstr "Rona CM" #: src/olympusmn.cpp:1094 msgid "CM hue" msgstr "Rona CM" #: src/olympusmn.cpp:1095 msgid "CM Contrast" msgstr "Beza Jelas CM" #: src/olympusmn.cpp:1095 msgid "CM contrast" msgstr "Beza jelas CM" #: src/olympusmn.cpp:1096 msgid "CM Sharpness" msgstr "Kejelasan CM" #: src/olympusmn.cpp:1096 msgid "CM sharpness" msgstr "Kejelasan CM" #: src/olympusmn.cpp:1098 msgid "Unknown OlympusRi tag" msgstr "Tag OlympusRi Tidak Diketahui" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 msgid "User-Selected" msgstr "Dipilih-Pengguna" #: src/olympusmn.cpp:1122 msgid "Auto-Override" msgstr "Batal-Sendiri" #: src/olympusmn.cpp:1158 msgid "Fast" msgstr "Pantas" #: src/olympusmn.cpp:1223 msgid "3000 Kelvin" msgstr "3000 Kelvin" #: src/olympusmn.cpp:1224 msgid "3700 Kelvin" msgstr "3700 Kelvin" #: src/olympusmn.cpp:1225 msgid "4000 Kelvin" msgstr "4000 Kelvin" #: src/olympusmn.cpp:1226 msgid "4500 Kelvin" msgstr "4500 Kelvin" #: src/olympusmn.cpp:1227 msgid "5500 Kelvin" msgstr "5500 Kelvin" #: src/olympusmn.cpp:1228 msgid "6500 Kelvin" msgstr "6500 Kelvin" #: src/olympusmn.cpp:1229 msgid "7500 Kelvin" msgstr "7500 Kelvin" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "One-touch" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "S-AF" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "C-AF" #: src/olympusmn.cpp:1456 msgid "Imager AF" msgstr "AF Pengimej" #: src/olympusmn.cpp:1457 msgid "AF sensor" msgstr "Penderia AF" #: src/olympusmn.cpp:1502 msgid "Soft Focus" msgstr "Fokus Lembut" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "Seni Pop" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "Warna Pudar & Cerah" #: src/olympusmn.cpp:1505 msgid "Light Tone" msgstr "Ton Cerah" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "Lubang Pin" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "Filem Berbintik" #: src/olympusmn.cpp:1508 msgid "Diorama" msgstr "Diorama" #: src/olympusmn.cpp:1509 msgid "Cross Process" msgstr "Proses Silang" #: src/olympusmn.cpp:1510 msgid "Fish Eye" msgstr "Mata Ikan" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "Pelukisan" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "" #: src/olympusmn.cpp:1513 #, fuzzy msgid "Pale & Light Color II" msgstr "Warna Pudar & Cerah" #: src/olympusmn.cpp:1514 #, fuzzy msgid "Pop Art II" msgstr "Seni Pop" #: src/olympusmn.cpp:1515 #, fuzzy msgid "Pin Hole II" msgstr "Lubang Pin" #: src/olympusmn.cpp:1516 #, fuzzy msgid "Pin Hole III" msgstr "Lubang Pin" #: src/olympusmn.cpp:1517 #, fuzzy msgid "Grainy Film II" msgstr "Filem Berbintik" #: src/olympusmn.cpp:1518 msgid "Dramatic Tone" msgstr "" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "" #: src/olympusmn.cpp:1520 #, fuzzy msgid "Soft Focus 2" msgstr "Fokus Lembut" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "" #: src/olympusmn.cpp:1522 #, fuzzy msgid "Watercolor" msgstr "Warna alamiah" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "" #: src/olympusmn.cpp:1525 #, fuzzy msgid "Miniature" msgstr "Bukaan minimum" #: src/olympusmn.cpp:1526 #, fuzzy msgid "Reflection" msgstr "Pemilihan" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "" #: src/olympusmn.cpp:1528 #, fuzzy msgid "Cross Process II" msgstr "Proses Silang" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "" #: src/olympusmn.cpp:1530 #, fuzzy msgid "Watercolor I" msgstr "Warna alamiah" #: src/olympusmn.cpp:1531 #, fuzzy msgid "Watercolor II" msgstr "Warna alamiah" #: src/olympusmn.cpp:1532 #, fuzzy msgid "Diorama II" msgstr "Diorama" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "" #: src/olympusmn.cpp:1534 #, fuzzy msgid "Vintage II" msgstr "Urus UI" #: src/olympusmn.cpp:1535 #, fuzzy msgid "Vintage III" msgstr "Urus UI" #: src/olympusmn.cpp:1536 #, fuzzy msgid "Partial Color" msgstr "Warna Alamiah" #: src/olympusmn.cpp:1537 #, fuzzy msgid "Partial Color II" msgstr "Warna Alamiah" #: src/olympusmn.cpp:1538 #, fuzzy msgid "Partial Color III" msgstr "Warna Alamiah" #: src/olympusmn.cpp:1608 msgid "Left (or n/a)" msgstr "Kiri (atau t/b)" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 msgid "Center (horizontal)" msgstr "Tengah (mengufuk)" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 msgid "Center (vertical)" msgstr "Pusat(menegak)" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "Kiri-atas (mengufuk)" #: src/olympusmn.cpp:1623 msgid "Top-center (horizontal)" msgstr "Pusat-atas (mengufuk)" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "Kanan-atas (mengufuk)" #: src/olympusmn.cpp:1625 msgid "Left (horizontal)" msgstr "Kiri (mengufuk)" #: src/olympusmn.cpp:1626 msgid "Mid-left (horizontal)" msgstr "Kiri-tengah (mengufuk)" #: src/olympusmn.cpp:1628 msgid "Mid-right (horizontal)" msgstr "Kanan-tengah (mengufuk)" #: src/olympusmn.cpp:1629 msgid "Right (horizontal)" msgstr "Kanan (mengufuk)" #: src/olympusmn.cpp:1630 msgid "Bottom-left (horizontal)" msgstr "Kiri-bawah (mengufuk)" #: src/olympusmn.cpp:1631 msgid "Bottom-center (horizontal)" msgstr "Pusat-bawah (mengufuk)" #: src/olympusmn.cpp:1632 msgid "Bottom-right (horizontal)" msgstr "Kanan-bawah (mengufuk)" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "Kiri-atas (menegak)" #: src/olympusmn.cpp:1634 msgid "Top-center (vertical)" msgstr "Pusat-atas (menegak)" #: src/olympusmn.cpp:1635 msgid "Top-right (vertical)" msgstr "Kanan-atas (menegak)" #: src/olympusmn.cpp:1636 msgid "Left (vertical)" msgstr "Kiri (menegak)" #: src/olympusmn.cpp:1637 msgid "Mid-left (vertical)" msgstr "Kiri-tengah (menegak)" #: src/olympusmn.cpp:1639 msgid "Mid-right (vertical)" msgstr "Kanan-tengah (menegak)" #: src/olympusmn.cpp:1640 msgid "Right (vertical)" msgstr "Kanan (menegak)" #: src/olympusmn.cpp:1641 msgid "Bottom-left (vertical)" msgstr "Kiri-bawah (menegak)" #: src/olympusmn.cpp:1642 msgid "Bottom-center (vertical)" msgstr "Pusat-bawah (menegak)" #: src/olympusmn.cpp:1643 msgid "Bottom-right (vertical)" msgstr "Kanan-bawah (menegak)" #: src/olympusmn.cpp:1680 msgid "Single Target" msgstr "Sasaran Tunggal" #: src/olympusmn.cpp:1681 msgid "All Target" msgstr "Semua Sasaran" #: src/olympusmn.cpp:1682 msgid "Dynamic Single Target" msgstr "Sasaran Tunggal Dinamik" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "TIFF" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 msgid "Very High" msgstr "Sangat Tinggi" #: src/panasonicmn.cpp:60 msgid "Motion Picture" msgstr "Gambar Bergerak" #: src/panasonicmn.cpp:61 #, fuzzy msgid "Full HD Movie" msgstr "Cereka Saiz Kecil" #: src/panasonicmn.cpp:62 #, fuzzy msgid "4k Movie" msgstr "Cereka" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "Halogen" #: src/panasonicmn.cpp:83 msgid "Auto, focus button" msgstr "Auto, butang fokus" #: src/panasonicmn.cpp:84 msgid "Auto, continuous" msgstr "Auto, berterusan" #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "AF-S" #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "AF-C" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 msgid "Panning" msgstr "Pengerakan" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "Tele-makro" #: src/panasonicmn.cpp:104 #, fuzzy msgid "Macro-zoom" msgstr "Makro" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 msgid "Scenery" msgstr "Permandangan" #: src/panasonicmn.cpp:117 msgid "Shutter-speed priority" msgstr "Keutamaan kelajuan-pengatup" #: src/panasonicmn.cpp:121 msgid "Movie preview" msgstr "Pratonton cereka" #: src/panasonicmn.cpp:123 msgid "Simple" msgstr "Ringkas" #: src/panasonicmn.cpp:124 msgid "Color effects" msgstr "Kesan warna" #: src/panasonicmn.cpp:130 msgid "Night scenery" msgstr "Permandangan malam" #: src/panasonicmn.cpp:132 msgid "Baby" msgstr "Bayi" #: src/panasonicmn.cpp:133 msgid "Soft skin" msgstr "Kulit lembut" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 msgid "Candlelight" msgstr "Cahaya lilin" #: src/panasonicmn.cpp:135 msgid "Starry night" msgstr "Malam berbintang" #: src/panasonicmn.cpp:136 msgid "High sensitivity" msgstr "Kepekaan tinggi" #: src/panasonicmn.cpp:137 msgid "Panorama assist" msgstr "Bantuan panorama" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "Foto udara" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 msgid "Intelligent ISO" msgstr "ISO pintar" #: src/panasonicmn.cpp:144 #, fuzzy msgid "Clipboard" msgstr "Papan putih" #: src/panasonicmn.cpp:145 msgid "High speed continuous shooting" msgstr "Penggambaran berterusan kelajuan tinggi" #: src/panasonicmn.cpp:146 msgid "Intelligent auto" msgstr "Auto pintar" #: src/panasonicmn.cpp:147 #, fuzzy msgid "Multi-aspect" msgstr "Bintik-berbilang" #: src/panasonicmn.cpp:148 #, fuzzy msgid "Transform" msgstr "Julat Pemindahan" #: src/panasonicmn.cpp:149 #, fuzzy msgid "Flash Burst" msgstr "Bias Denyar" #: src/panasonicmn.cpp:151 #, fuzzy msgid "Film Grain" msgstr "Pengimbas filem" #: src/panasonicmn.cpp:152 #, fuzzy msgid "My Color" msgstr "Warna Saya" #: src/panasonicmn.cpp:153 #, fuzzy msgid "Photo Frame" msgstr "Bingkai Panorama" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "HDR" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 #, fuzzy msgid "Handheld Night Shot" msgstr "Senja Pegang Tangan" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 #, fuzzy msgid "Creative Control" msgstr "Kawalan Jauh" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 msgid "Digital Filter" msgstr "Penapis Digital" #: src/panasonicmn.cpp:162 #, fuzzy msgid "Clear Portrait" msgstr "Potret Kendiri" #: src/panasonicmn.cpp:163 msgid "Silky Skin" msgstr "" #: src/panasonicmn.cpp:164 #, fuzzy msgid "Backlit Softness" msgstr "Bebayang Cahaya Belakang" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "" #: src/panasonicmn.cpp:166 #, fuzzy msgid "Relaxing Tone" msgstr "Hubungan" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "" #: src/panasonicmn.cpp:168 #, fuzzy msgid "Distinct Scenery" msgstr "Permandangan malam" #: src/panasonicmn.cpp:169 #, fuzzy msgid "Bright Blue Sky" msgstr "Langit Biru" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "" #: src/panasonicmn.cpp:177 #, fuzzy msgid "Glittering Illuminations" msgstr "Pencahayaan Kawasan AF" #: src/panasonicmn.cpp:178 #, fuzzy msgid "Clear Night Portrait" msgstr "Potret Malam" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "" #: src/panasonicmn.cpp:181 #, fuzzy msgid "Cute Desert" msgstr "Pereka Kostum" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "" #: src/panasonicmn.cpp:183 #, fuzzy msgid "Clear Sports Shot" msgstr "Penggambaran Sukan Lanjutan" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "" #: src/panasonicmn.cpp:198 msgid "Warm" msgstr "Panas" #: src/panasonicmn.cpp:199 msgid "Cool" msgstr "Sejuk" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "" #: src/panasonicmn.cpp:208 msgid "Low/High quality" msgstr "Kualiti Tinggi/Rendah" #: src/panasonicmn.cpp:209 msgid "Infinite" msgstr "Tidak terhingga" #: src/panasonicmn.cpp:217 msgid "Medium low" msgstr "Sederhana rendah" #: src/panasonicmn.cpp:218 msgid "Medium high" msgstr "Sederhana tinggi" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "Rendah (-1)" #: src/panasonicmn.cpp:229 msgid "High (+1)" msgstr "Tinggi (+1)" #: src/panasonicmn.cpp:230 msgid "Lowest (-2)" msgstr "Paling Rendah (-2)" #: src/panasonicmn.cpp:231 msgid "Highest (+2)" msgstr "Paling Tinggi (+2)" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 #, fuzzy msgid "Rotate 180" msgstr "Putar 90 IJ" #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "" #: src/panasonicmn.cpp:254 #, fuzzy msgid "Disabled but Required" msgstr "Tidak Diperlukan" #: src/panasonicmn.cpp:255 #, fuzzy msgid "Disabled and Not Required" msgstr "Tidak Diperlukan" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "Optik EX" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "Telefoto" #: src/panasonicmn.cpp:282 src/properties.cpp:915 msgid "Home" msgstr "Rumah" #: src/panasonicmn.cpp:294 msgid "Standard (color)" msgstr "Piawai (warna)" #: src/panasonicmn.cpp:295 msgid "Dynamic (color)" msgstr "Dinamik (warna)" #: src/panasonicmn.cpp:296 msgid "Nature (color)" msgstr "Tabii (warna)" #: src/panasonicmn.cpp:297 msgid "Smooth (color)" msgstr "Lancar (warna)" #: src/panasonicmn.cpp:298 msgid "Standard (B&W)" msgstr "Piawai (H&P)" #: src/panasonicmn.cpp:299 msgid "Dynamic (B&W)" msgstr "Dinamik (H&P)" #: src/panasonicmn.cpp:300 msgid "Smooth (B&W)" msgstr "Lancar (H&P)" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "Getar" #: src/panasonicmn.cpp:307 #, fuzzy msgid "No Bracket" msgstr "Braket" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:319 #, fuzzy msgid "1st" msgstr "10s" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "" #: src/panasonicmn.cpp:349 #, fuzzy msgid "Extended" msgstr "Penyambung" #: src/panasonicmn.cpp:368 #, fuzzy msgid "NoAuto" msgstr "Auto" #: src/panasonicmn.cpp:369 #, fuzzy msgid "Standard or Custom" msgstr "Bentuk piawai" #: src/panasonicmn.cpp:386 #, fuzzy msgid "Rotate CW" msgstr "Putar 90 IJ" #: src/panasonicmn.cpp:388 #, fuzzy msgid "Rotate CCW" msgstr "Putar 90 IJ" #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "" #: src/panasonicmn.cpp:396 #, fuzzy msgid "Left to Right" msgstr "Kiri ke kanan" #: src/panasonicmn.cpp:397 #, fuzzy msgid "Right to Left" msgstr "Kanan ke kiri" #: src/panasonicmn.cpp:398 #, fuzzy msgid "Top to Bottom" msgstr "Atas ke bawah" #: src/panasonicmn.cpp:399 #, fuzzy msgid "Bottom to Top" msgstr "Bawah ke atas" #: src/panasonicmn.cpp:405 #, fuzzy msgid "Time Lapse" msgstr "Skala Masa" #: src/panasonicmn.cpp:406 #, fuzzy msgid "Stop-Motion Animation" msgstr "Maklumat Lokasi" #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "" #: src/panasonicmn.cpp:423 #, fuzzy msgid "Electronic" msgstr "Pemilihan" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "Audio" #: src/panasonicmn.cpp:453 msgid "White balance adjustment" msgstr "Pelarasan imbangan putih" #: src/panasonicmn.cpp:454 msgid "FlashBias" msgstr "Bias Denyar" #: src/panasonicmn.cpp:456 src/tags.cpp:194 msgid "Exif version" msgstr "Versi Exif" #: src/panasonicmn.cpp:458 msgid "Color Effect" msgstr "Kesan Warna" #: src/panasonicmn.cpp:458 msgid "Color effect" msgstr "Kesan warna" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" "Masa dalam 1/100 s bila kamera dihidupkan ketika imej ditulis ke kad ingatan" #: src/panasonicmn.cpp:460 msgid "Burst Mode" msgstr "Mod Ledakan" #: src/panasonicmn.cpp:460 msgid "Burst mode" msgstr "Mod ledakan" #: src/panasonicmn.cpp:463 msgid "NoiseReduction" msgstr "Pengurangan Hingar" #: src/panasonicmn.cpp:464 msgid "Self Timer" msgstr "Pemasa Kendiri" #: src/panasonicmn.cpp:467 #, fuzzy msgid "AF Assist Lamp" msgstr "Bantuan AF" #: src/panasonicmn.cpp:469 #, fuzzy msgid "Baby Age 1" msgstr "Usia Bayi" #: src/panasonicmn.cpp:469 #, fuzzy msgid "Baby (or pet) age 1" msgstr "Usia bayi (atau haiwan peliharaan)" #: src/panasonicmn.cpp:470 msgid "Optical Zoom Mode" msgstr "Mod Zum Optik" #: src/panasonicmn.cpp:470 msgid "Optical zoom mode" msgstr "Mod zum optik" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "Percutian" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "Percutian" #: src/panasonicmn.cpp:474 msgid "World Time Location" msgstr "Lokasi Waktu Dunia" #: src/panasonicmn.cpp:474 msgid "World time location" msgstr "Lokasi waktu dunia" #: src/panasonicmn.cpp:475 #, fuzzy msgid "Text Stamp 1" msgstr "Setem Masa GPS" #: src/panasonicmn.cpp:476 msgid "Program ISO" msgstr "ISO Program" #: src/panasonicmn.cpp:477 #, fuzzy msgid "Advanced Scene Type" msgstr "Jenis Adegan" #: src/panasonicmn.cpp:478 #, fuzzy msgid "Text Stamp 2" msgstr "Setem Masa GPS" #: src/panasonicmn.cpp:479 #, fuzzy msgid "Faces detected" msgstr "Kesan Wajah" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temp Kelvin" msgstr "Tetapan Suhu Warna" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temperatur in Kelvin" msgstr "Suhu Warna" #: src/panasonicmn.cpp:484 #, fuzzy msgid "Bracket Settings" msgstr "Pengurungan" #: src/panasonicmn.cpp:485 msgid "WB Adjust AB" msgstr "AB Laras WB" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "AB Laras WB. Positif adalah kearah biru." #: src/panasonicmn.cpp:486 msgid "WB Adjust GM" msgstr "GM Laras WB" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "GM Laras WB. Positif adalah kearah hijau." #: src/panasonicmn.cpp:487 #, fuzzy msgid "Flash Curtain" msgstr "Maklumat denyar" #: src/panasonicmn.cpp:488 #, fuzzy msgid "Long Shutter Noise Reduction" msgstr "Pengurangan Hingar Dedahan Panjang" #: src/panasonicmn.cpp:491 #, fuzzy msgid "AF Point Position" msgstr "Kedudukan Fokus AF" #: src/panasonicmn.cpp:492 #, fuzzy msgid "Face detection info" msgstr "Kesan wajah" #: src/panasonicmn.cpp:495 msgid "Accessory Type" msgstr "Jenis Aksesori" #: src/panasonicmn.cpp:495 msgid "Accessory type" msgstr "Jenis aksesori" #: src/panasonicmn.cpp:496 #, fuzzy msgid "Accessory Serial Number" msgstr "Nombor Siri Badan" #: src/panasonicmn.cpp:497 #, fuzzy msgid "Transform 1" msgstr "Julat Pemindahan" #: src/panasonicmn.cpp:498 #, fuzzy msgid "Intelligent Exposure" msgstr "Auto pintar" #: src/panasonicmn.cpp:499 #, fuzzy msgid "Firmware Version of the Lens" msgstr "Veris Perisian Tegar" #: src/panasonicmn.cpp:500 #, fuzzy msgid "Face recognition info" msgstr "AF Pengenalpastian Wajah" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash Warning" msgstr "Amaran Fokus" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash warning" msgstr "Pemeteran Denyar" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 msgid "Title" msgstr "Tajuk" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby Name" msgstr "Usia Bayi" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby name (or pet name)" msgstr "Usia bayi (atau haiwan peliharaan)" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 msgid "Location" msgstr "Lokasi" #: src/panasonicmn.cpp:506 src/properties.cpp:441 msgid "State" msgstr "Negeri" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "" #: src/panasonicmn.cpp:509 #, fuzzy msgid "Intelligent resolution" msgstr "Auto pintar" #: src/panasonicmn.cpp:510 #, fuzzy msgid "Burst Speed" msgstr "Kelajuan Bukaan" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "" #: src/panasonicmn.cpp:511 #, fuzzy msgid "Intelligent Dynamic Range" msgstr "Julat Dinamik Pembangunan" #: src/panasonicmn.cpp:512 #, fuzzy msgid "Clear Retouch" msgstr "Tiada Perapian" #: src/panasonicmn.cpp:513 #, fuzzy msgid "City2" msgstr "Bandar" #: src/panasonicmn.cpp:515 #, fuzzy msgid "Photo style" msgstr "Gaya gambar" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "" #: src/panasonicmn.cpp:518 #, fuzzy msgid "Accelerometer X" msgstr "Piksel Per Meter X" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "" #: src/panasonicmn.cpp:519 #, fuzzy msgid "Accelerometer Y" msgstr "Piksel Per Meter Y" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "" #: src/panasonicmn.cpp:520 #, fuzzy msgid "Camera Orientation" msgstr "Orientasi Imej" #: src/panasonicmn.cpp:521 #, fuzzy msgid "Roll Angle" msgstr "Kerat Sudut" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "" #: src/panasonicmn.cpp:523 #, fuzzy msgid "Sweep Panorama Direction" msgstr "Arah Panorama" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "" #: src/panasonicmn.cpp:525 #, fuzzy msgid "Timer Recording" msgstr "Rakaman RAW+JPG" #: src/panasonicmn.cpp:526 #, fuzzy msgid "Internal ND Filter" msgstr "Dalaman + Luaran" #: src/panasonicmn.cpp:528 #, fuzzy msgid "Shutter Type" msgstr "Kelajuan bukaan" #: src/panasonicmn.cpp:529 #, fuzzy msgid "Clear Retouch Value" msgstr "Nilai Bukaan" #: src/panasonicmn.cpp:530 #, fuzzy msgid "TouchAE" msgstr "AF Sentuh" #: src/panasonicmn.cpp:533 msgid "MakerNote Version" msgstr "Versi MakerNote" #: src/panasonicmn.cpp:533 msgid "MakerNote version" msgstr "Versi MakerNote" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB Red Level" msgstr "Aras Merah WB" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB red level" msgstr "Aras merah WB" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB Green Level" msgstr "Aras Hijau WB" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB green level" msgstr "Aras hiiaju WB" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB Blue Level" msgstr "Aras Biru WB" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB blue level" msgstr "Aras biru WB" #: src/panasonicmn.cpp:539 #, fuzzy msgid "Text Stamp 3" msgstr "Setem Masa GPS" #: src/panasonicmn.cpp:540 #, fuzzy msgid "Text Stamp 4" msgstr "Setem Masa GPS" #: src/panasonicmn.cpp:541 #, fuzzy msgid "Baby Age 2" msgstr "Usia Bayi" #: src/panasonicmn.cpp:541 #, fuzzy msgid "Baby (or pet) age 2" msgstr "Usia bayi (atau haiwan peliharaan)" #: src/panasonicmn.cpp:542 #, fuzzy msgid "Transform 2" msgstr "Julat Pemindahan" #: src/panasonicmn.cpp:544 msgid "Unknown PanasonicMakerNote tag" msgstr "Tag PanasonicMakerNote tidak diketahui" #: src/panasonicmn.cpp:562 #, fuzzy msgid "Spot mode on or 9 area" msgstr "Mod setempat hidup" #: src/panasonicmn.cpp:563 msgid "Spot mode off or 3-area (high speed)" msgstr "Mod setempat mati atau 3-kawasan (kelajuan tinggi)" #: src/panasonicmn.cpp:564 #, fuzzy msgid "23-area" msgstr "5-kawasan" #: src/panasonicmn.cpp:565 msgid "Spot focussing" msgstr "Pemfokusan setempat" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "5-kawasan" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "1-kawasan" #: src/panasonicmn.cpp:568 msgid "1-area (high speed)" msgstr "1-kawasan (kelajuan tinggi)" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "3-kawasan (auto)" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "3-kawasan (kiri)" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "3-kawasan (pusat)" #: src/panasonicmn.cpp:572 msgid "3-area (right)" msgstr "3-kawasan (kanan)" #: src/panasonicmn.cpp:574 #, fuzzy msgid "Spot Focusing 2" msgstr "Pemfokusan setempat" #: src/panasonicmn.cpp:588 msgid " EV" msgstr " EV" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 #, fuzzy msgid "not set" msgstr "tidak ditetapkan\n" #: src/panasonicmn.cpp:725 msgid "Panasonic raw version" msgstr "Versi raw Panasonic" #: src/panasonicmn.cpp:726 msgid "Sensor Width" msgstr "Lebar Penderia" #: src/panasonicmn.cpp:726 msgid "Sensor width" msgstr "Lebar penderia" #: src/panasonicmn.cpp:727 msgid "Sensor Height" msgstr "Tinggi Penderia" #: src/panasonicmn.cpp:727 msgid "Sensor height" msgstr "Tinggi penderia" #: src/panasonicmn.cpp:728 msgid "Sensor Top Border" msgstr "Sempadan Atas Penderia" #: src/panasonicmn.cpp:728 msgid "Sensor top border" msgstr "Sempadan atas penderia" #: src/panasonicmn.cpp:729 msgid "Sensor Left Border" msgstr "Sempadan Kiri Penderia" #: src/panasonicmn.cpp:729 msgid "Sensor left border" msgstr "Sempadan kiri penderia" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "Imbangan merah (ditemui dalam imej RAW Digilux 2)" #: src/panasonicmn.cpp:739 src/tags.cpp:469 msgid "Manufacturer" msgstr "Pengilang" #: src/panasonicmn.cpp:739 msgid "The manufacturer of the recording equipment" msgstr "Pengilang peralatan rakaman" #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 msgid "Model" msgstr "Model" #: src/panasonicmn.cpp:740 msgid "The model name or model number of the equipment" msgstr "Nama model atau nombor model peralatan" #: src/panasonicmn.cpp:741 src/tags.cpp:481 msgid "Strip Offsets" msgstr "Ofset Jalur" #: src/panasonicmn.cpp:741 msgid "Strip offsets" msgstr "Ofset jalur" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 msgid "Orientation" msgstr "Orientasi" #: src/panasonicmn.cpp:743 msgid "Rows Per Strip" msgstr "Baris Per Jalur" #: src/panasonicmn.cpp:743 msgid "The number of rows per strip" msgstr "Bilangan baris per jalur" #: src/panasonicmn.cpp:744 msgid "Strip Byte Counts" msgstr "Kiraan Bait Jalur" #: src/panasonicmn.cpp:744 msgid "Strip byte counts" msgstr "Kiraan bait jalur" #: src/panasonicmn.cpp:745 msgid "Raw Data Offset" msgstr "Ofset Data Raw" #: src/panasonicmn.cpp:745 msgid "Raw data offset" msgstr "Ofset data raw" #: src/panasonicmn.cpp:746 src/tags.cpp:797 msgid "Exif IFD Pointer" msgstr "Penuding IFD Exif" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "Merupakan penuding kepada IFD Exif" #: src/panasonicmn.cpp:747 src/tags.cpp:808 msgid "GPS Info IFD Pointer" msgstr "Penuding IFD Maklumat GPS" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "Merupakan penuding kepada IFD Maklumat GPS" #: src/panasonicmn.cpp:749 msgid "Unknown PanasonicRaw tag" msgstr "Tag PanasonicRaw tidak diketahui" #: src/pentaxmn.cpp:57 msgid "Night-Scene" msgstr "Adegan-Malam" #: src/pentaxmn.cpp:199 msgid "Good" msgstr "Baik" #: src/pentaxmn.cpp:200 msgid "Better" msgstr "Lebih Baik" #: src/pentaxmn.cpp:201 msgid "Best" msgstr "Terbaik" #: src/pentaxmn.cpp:204 msgid "Premium" msgstr "Premium" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "2560x1920 atau 2304x1728" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "2304x1728 or 2592x1944" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "2816x2212 or 2816x2112" #: src/pentaxmn.cpp:247 msgid "Auto, Did not fire" msgstr "Auto, Jangan tembak" #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 msgid "Off, Did not fire" msgstr "Mati, Tidak didenyar" #: src/pentaxmn.cpp:250 msgid "Auto, Did not fire, Red-eye reduction" msgstr "Auto, Jangan tembak, pengurangan mata-merah" #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "Hidup. Tidak didenyar. Tanpa Wayar (Master)" #: src/pentaxmn.cpp:252 msgid "Auto, Fired" msgstr "Auto, Ditembak" #: src/pentaxmn.cpp:253 msgid "On, Fired" msgstr "Hidup, Didenyar" #: src/pentaxmn.cpp:254 msgid "Auto, Fired, Red-eye reduction" msgstr "Auto, Ditembak, pengurangan mata-merah" #: src/pentaxmn.cpp:255 msgid "On, Red-eye reduction" msgstr "Hidup, pengurangan mata-merah" #: src/pentaxmn.cpp:256 msgid "On, Wireless (Master)" msgstr "Hidup, Tanpa Wayar (Master)" #: src/pentaxmn.cpp:257 msgid "On, Wireless (Control)" msgstr "Hidup, Tanpa wayar (Kawalan)" #: src/pentaxmn.cpp:258 msgid "On, Soft" msgstr "Hidup, Lembut" #: src/pentaxmn.cpp:259 msgid "On, Slow-sync" msgstr "Hidup, Segerak-perlahan" #: src/pentaxmn.cpp:260 msgid "On, Slow-sync, Red-eye reduction" msgstr "Hidup, Segerak-perlahan, pengurangan mata-merah" #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "Hidup, Segerak menuruti-tirai" #: src/pentaxmn.cpp:272 msgid "Pan Focus" msgstr "Fokus Lata" #: src/pentaxmn.cpp:275 msgid "AF-A" msgstr "AF-A" #: src/pentaxmn.cpp:276 msgid "Contrast-detect" msgstr "Kesan-Beza-Jelas" #: src/pentaxmn.cpp:277 msgid "Tracking Contrast-detect" msgstr "Menjejak kesan-beza-jelas" #: src/pentaxmn.cpp:284 msgid "Fixed Center" msgstr "Pusat Tetap" #: src/pentaxmn.cpp:285 msgid "Automatic Tracking AF" msgstr "AF Penjejakan Automatik" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "AF Pengenalpastian Wajah" #: src/pentaxmn.cpp:287 msgid "AF Select" msgstr "AF Select" #: src/pentaxmn.cpp:305 msgid "Fixed Center or multiple" msgstr "Pusat Tetap atau berbilang" #: src/pentaxmn.cpp:307 msgid "Top-center" msgstr "Pusat-atas" #: src/pentaxmn.cpp:313 msgid "Bottom-center" msgstr "Pusat-bawah" #: src/pentaxmn.cpp:402 msgid "Multi Segment" msgstr "Segmen Berbilang" #: src/pentaxmn.cpp:403 msgid "Center Weighted" msgstr "Pemberatan Pusat" #: src/pentaxmn.cpp:415 msgid "DaylightFluorescent" msgstr "PendaflourCahayaSiang" #: src/pentaxmn.cpp:416 msgid "DaywhiteFluorescent" msgstr "PendaflourPutihSiang" #: src/pentaxmn.cpp:417 msgid "WhiteFluorescent" msgstr "PendaflourPutih" #: src/pentaxmn.cpp:420 msgid "Color Temperature Enhancement" msgstr "Penambahbaikan Suhu Warna" #: src/pentaxmn.cpp:423 msgid "User Selected" msgstr "Dipilih Pengguna" #: src/pentaxmn.cpp:428 msgid "Auto (Daylight)" msgstr "Auto (Cahaya Siang)" #: src/pentaxmn.cpp:429 msgid "Auto (Shade)" msgstr "Auto (Bayang)" #: src/pentaxmn.cpp:430 msgid "Auto (Flash)" msgstr "Auto (Denyar)" #: src/pentaxmn.cpp:431 msgid "Auto (Tungsten)" msgstr "Auto (Tungsten)" #: src/pentaxmn.cpp:432 msgid "Auto (DaylightFluorescent)" msgstr "Auto (DaylightFluorescent)" #: src/pentaxmn.cpp:433 msgid "Auto (DaywhiteFluorescent)" msgstr "Auto (Pendaflour Putih Siang)" #: src/pentaxmn.cpp:434 msgid "Auto (WhiteFluorescent)" msgstr "Auto (Pendaflour Putih)" #: src/pentaxmn.cpp:435 msgid "Auto (Cloudy)" msgstr "Auto (Mendung)" #: src/pentaxmn.cpp:437 msgid "Preset (Fireworks?)" msgstr "Praset (Bunga Api?)" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 msgid "Med Low" msgstr "Sed Rendah" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 msgid "Med High" msgstr "Sed Tinggi" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "-4" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "+4" #: src/pentaxmn.cpp:473 msgid "Med Soft" msgstr "Sed Lembut" #: src/pentaxmn.cpp:474 msgid "Med Hard" msgstr "Sed Keras" #: src/pentaxmn.cpp:475 msgid "Very Soft" msgstr "Sangat Lembut" #: src/pentaxmn.cpp:476 msgid "Very Hard" msgstr "Sangat Keras" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 msgid "Home town" msgstr "Kampung Halaman" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "Pago Pago" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "Honolulu" #: src/pentaxmn.cpp:491 msgid "Anchorage" msgstr "Anchorage" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "Vancouver" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "San Fransisco" #: src/pentaxmn.cpp:494 msgid "Los Angeles" msgstr "Los Angeles" #: src/pentaxmn.cpp:495 msgid "Calgary" msgstr "Calgary" #: src/pentaxmn.cpp:496 msgid "Denver" msgstr "Denver" #: src/pentaxmn.cpp:497 msgid "Mexico City" msgstr "Mexico City" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "Chicago" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "Miami" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "Toronto" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "New York" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "Santiago" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "Caracus" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "Halifax" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "Buenos Aires" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "Sao Paulo" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "Rio de Janeiro" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "Madrid" #: src/pentaxmn.cpp:509 msgid "London" msgstr "London" #: src/pentaxmn.cpp:510 msgid "Paris" msgstr "Paris" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "Milan" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "Rom" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "Berlin" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "Johannesburg" #: src/pentaxmn.cpp:515 msgid "Istanbul" msgstr "Istanbul" #: src/pentaxmn.cpp:516 msgid "Cairo" msgstr "Kaherah" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "Jerusalem" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "Moscow" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "Jeddah" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "Tehran" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "Dubai" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "Karachi" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "Kabul" #: src/pentaxmn.cpp:524 msgid "Male" msgstr "Male" #: src/pentaxmn.cpp:525 msgid "Delhi" msgstr "Delhi" #: src/pentaxmn.cpp:526 msgid "Colombo" msgstr "Colombo" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "Kathmandu" #: src/pentaxmn.cpp:528 msgid "Dacca" msgstr "Dacca" #: src/pentaxmn.cpp:529 msgid "Yangon" msgstr "Yangon" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "Bangkok" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "Kuala Lumpur" #: src/pentaxmn.cpp:532 msgid "Vientiane" msgstr "Vientiane" #: src/pentaxmn.cpp:533 msgid "Singapore" msgstr "Singapore" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "Phnom Penh" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "Ho Chi Minh" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "Jakarta" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "Hong Kong" #: src/pentaxmn.cpp:538 msgid "Perth" msgstr "Perth" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "Beijing" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "Shanghai" #: src/pentaxmn.cpp:541 msgid "Manila" msgstr "Manila" #: src/pentaxmn.cpp:542 msgid "Taipei" msgstr "Taipei" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "Seoul" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "Adelaide" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "Tokyo" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "Guam" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "Sydney" #: src/pentaxmn.cpp:548 msgid "Noumea" msgstr "Noumea" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "Wellington" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "Auckland" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "Lima" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "Dakar" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "Algiers" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "Helsinki" #: src/pentaxmn.cpp:555 msgid "Athens" msgstr "Athens" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "Nairobi" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "Amsterdam" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "Stockholm" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "Lisbon" #: src/pentaxmn.cpp:560 msgid "Copenhagen" msgstr "Copenhagen" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "Warsaw" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "Prague" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "Budapest" #: src/pentaxmn.cpp:568 msgid "Unprocessed" msgstr "Tidak diproses" #: src/pentaxmn.cpp:570 msgid "Resized" msgstr "Disaiz Semula" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 msgid "Cropped" msgstr "Dikerat" #: src/pentaxmn.cpp:573 msgid "Digital Filter 6" msgstr "Digital Filter 6" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "Sintesis Bingkai?" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 msgid "Hi-speed Program" msgstr "Program Kelajuan-tinggi" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 msgid "DOF Program" msgstr "Program DOF" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 msgid "MTF Program" msgstr "Program MTF" #: src/pentaxmn.cpp:588 msgid "Night Scene Portrait" msgstr "Potret Adegan Malam" #: src/pentaxmn.cpp:589 msgid "No Flash" msgstr "Tanpa Denyar" #: src/pentaxmn.cpp:592 msgid "Surf & Snow" msgstr "Luncur & Salji" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "Kanak-Kanak" #: src/pentaxmn.cpp:600 msgid "Stage Lighting" msgstr "Pencahayaan Pentas" #: src/pentaxmn.cpp:601 msgid "Night Snap" msgstr "Tangkapan Malam" #: src/pentaxmn.cpp:602 msgid "Blue Sky" msgstr "Langit Biru" #: src/pentaxmn.cpp:604 msgid "Night Scene HDR" msgstr "Adegan Malam HDR" #: src/pentaxmn.cpp:606 msgid "Quick Macro" msgstr "Makro Pantas" #: src/pentaxmn.cpp:607 msgid "Forest" msgstr "Hutan" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "Bebayang Cahaya Belakang" #: src/pentaxmn.cpp:610 msgid "Auto PICT (Standard)" msgstr "PICT Auto (Piawai)" #: src/pentaxmn.cpp:611 msgid "Auto PICT (Portrait)" msgstr "PICT Auto (Potret)" #: src/pentaxmn.cpp:612 msgid "Auto PICT (Landscape)" msgstr "PICT Auto (Lanskap)" #: src/pentaxmn.cpp:613 msgid "Auto PICT (Macro)" msgstr "PICT Auto (Makro)" #: src/pentaxmn.cpp:614 msgid "Auto PICT (Sport)" msgstr "PICT Auto (Sukan)" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 msgid "Green Mode" msgstr "Mod Hijau" #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 msgid "Shutter Speed Priority" msgstr "Keutamaan Kelajuan Pengatup" #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 msgid "Aperture Priority" msgstr "Keutamaan Bukaan" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "Mentol" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "DOF Cetek" #: src/pentaxmn.cpp:631 msgid "Program Tv Shift" msgstr "Program Tv Shift" #: src/pentaxmn.cpp:632 msgid "Program Av Shift" msgstr "Program Av Shift" #: src/pentaxmn.cpp:635 msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "Keutamaan Bukaan (Bukaan-Auto-Mati)" #: src/pentaxmn.cpp:636 msgid "Manual (Off-Auto-Aperture)" msgstr "Manual (Bukaan-Auto-Mati)" #: src/pentaxmn.cpp:637 msgid "Bulb (Off-Auto-Aperture)" msgstr "Mentol (Bukaan-Auto-Mati)" #: src/pentaxmn.cpp:639 msgid "Shutter Priority" msgstr "Keutamaan Pengatup" #: src/pentaxmn.cpp:640 msgid "Shutter & Aperture Priority AE" msgstr "AE Keutamaan Pengatup & Bukaan" #: src/pentaxmn.cpp:641 msgid "Shutter & Aperture Priority AE (1)" msgstr "AE Keutamaan Pengatup & Bukaan (1)" #: src/pentaxmn.cpp:642 msgid "Sensitivity Priority AE" msgstr "AE Keutamaan Kepekaan" #: src/pentaxmn.cpp:643 msgid "Sensitivity Priority AE (1)" msgstr "AE Keutamaan Kepekaan (1)" #: src/pentaxmn.cpp:644 msgid "Flash X-Sync Speed AE" msgstr "AE Kelajuan Segerak-X Denyar" #: src/pentaxmn.cpp:645 msgid "Flash X-Sync Speed AE (1)" msgstr "AE Kelajuan Segerak-X Denyar (1)" #: src/pentaxmn.cpp:646 msgid "Auto Program (Normal)" msgstr "Program Auto (Biasa)" #: src/pentaxmn.cpp:647 msgid "Auto Program (Hi-Speed)" msgstr "Program Auto (Hi-Speed)" #: src/pentaxmn.cpp:648 msgid "Auto Program (DOF)" msgstr "Program Auto (DOF)" #: src/pentaxmn.cpp:649 msgid "Auto Program (MTF)" msgstr "Program Auto (MTF)" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "Program Auto (DOF Cetek)" #: src/pentaxmn.cpp:651 msgid "Blur control" msgstr "Kawalan kabur" #: src/pentaxmn.cpp:654 msgid "Video (30 fps)" msgstr "Video (30 fps)" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "Video (24 fps)" #: src/pentaxmn.cpp:662 msgid "Continuous (Hi)" msgstr "Berterusan (Hi)" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 msgid "Burst" msgstr "Ledak" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 msgid "Video" msgstr "Video" #: src/pentaxmn.cpp:666 msgid "Self-timer (12 sec)" msgstr "Pemasa-kendiri (12 saat)" #: src/pentaxmn.cpp:667 msgid "Self-timer (2 sec)" msgstr "Pemasa-kendiri (2 saat)" #: src/pentaxmn.cpp:669 msgid "Mirror Lock-up" msgstr "Kuncian cermin" #: src/pentaxmn.cpp:670 msgid "Remote Control (3 sec)" msgstr "Kawalan Jauh (3 saat)" #: src/pentaxmn.cpp:671 msgid "Remote Control" msgstr "Kawalan Jauh" #: src/pentaxmn.cpp:672 msgid "Remote Continuous Shooting" msgstr "Penangkapan Berterusan Jauh" #: src/pentaxmn.cpp:675 msgid "HDR Strong 1" msgstr "HDR Kuat 1" #: src/pentaxmn.cpp:676 msgid "HDR Strong 2" msgstr "HDR Kuat 2" #: src/pentaxmn.cpp:677 msgid "HDR Strong 3" msgstr "HDR Kuat 3" #: src/pentaxmn.cpp:678 msgid "HDR Auto" msgstr "HDR Auto" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "M-42 atau Tanpa Kanta" #: src/pentaxmn.cpp:691 msgid "K or M Lens" msgstr "Kanta K atau M" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "Kanta Siri A" #: src/pentaxmn.cpp:970 msgid "Bright" msgstr "Terang" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "FIlem berbalik" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "Pintas luntur" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "Sinaran" #: src/pentaxmn.cpp:990 msgid "Weakest" msgstr "Paling Lemah" #: src/pentaxmn.cpp:991 msgid "Weak" msgstr "Lemah" #: src/pentaxmn.cpp:992 msgid "Strong" msgstr "Kuat" #: src/pentaxmn.cpp:1112 msgid "No extended bracketing" msgstr "Tiada dedahan lanjutan" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "WB-BA" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "WB-GM" #: src/pentaxmn.cpp:1133 msgid "Unknown " msgstr "Tidak diketahui " #: src/pentaxmn.cpp:1146 msgid "Pentax Makernote version" msgstr "Versi Makernote Pentax" #: src/pentaxmn.cpp:1149 msgid "Camera shooting mode" msgstr "Mod penggambaran kamera" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 msgid "Resolution of a preview image" msgstr "Resolusi imej pratonton" #: src/pentaxmn.cpp:1154 msgid "Length of a preview image" msgstr "Panjang imej pratonton" #: src/pentaxmn.cpp:1155 msgid "Size of an IFD containing a preview image" msgstr "Saiz IFD yang mengandungi imej pratonton" #: src/pentaxmn.cpp:1160 msgid "Model identification" msgstr "Pengenalpastian Model" #: src/pentaxmn.cpp:1161 #, fuzzy msgid "Pentax model identification" msgstr "Pengenalpastian model Pentax" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 msgid "Date" msgstr "Tarikh" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 msgid "Time" msgstr "Masa" #: src/pentaxmn.cpp:1170 msgid "Image quality settings" msgstr "Tetapan kualiti imej" #: src/pentaxmn.cpp:1173 msgid "Image size settings" msgstr "Tetapan saiz imej" #: src/pentaxmn.cpp:1177 msgid "Flash mode settings" msgstr "Tetapan mod denyar" #: src/pentaxmn.cpp:1180 msgid "Focus mode settings" msgstr "Tetapan mod fokus" #: src/pentaxmn.cpp:1183 msgid "Selected AF point" msgstr "Titik AF terpilih" #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 msgid "AF point in focus" msgstr "Titik AF dalam fokus" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 msgid "F-Number" msgstr "Nombor-F" #: src/pentaxmn.cpp:1195 msgid "ISO sensitivity" msgstr "Kepekaan ISO" #: src/pentaxmn.cpp:1196 msgid "ISO sensitivity settings" msgstr "Tetapan kepekaan ISO" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 msgid "MeteringMode" msgstr "Mod Pemeteran" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 msgid "AutoBracketing" msgstr "Pengurungan-sendiri" #: src/pentaxmn.cpp:1216 msgid "Blue color balance" msgstr "Imbangan warna biru" #: src/pentaxmn.cpp:1219 msgid "Red color balance" msgstr "Imbangan warna merah" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 msgid "FocalLength" msgstr "Panjang Fokus" #: src/pentaxmn.cpp:1239 msgid "Hometown" msgstr "Kampung Halaman" #: src/pentaxmn.cpp:1245 msgid "Hometown DST" msgstr "DST Kampung Halaman" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "Sama ada masa penjimatan siang adalah aktif di kampung halaman" #: src/pentaxmn.cpp:1248 msgid "Destination DST" msgstr "DST Destinasi" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "Sama ada waktu penjimatan siang adalah aktfi di destinasi" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 msgid "DSPFirmwareVersion" msgstr "Versi Perisian Tegar DSP" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 msgid "CPUFirmwareVersion" msgstr "Versi Perisian Tegar CPU" #: src/pentaxmn.cpp:1261 msgid "Light value" msgstr "Nilai cahaya" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "Nilai cahaya terkira kamera, termasuklah pemampasan dedahan" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 msgid "Image area offset" msgstr "Ofset kawasan imej" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 msgid "Raw image size" msgstr "Saiz imej Mentah" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 msgid "Preview image borders" msgstr "sempadan imej pratonton" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 msgid "Sensitivity adjust" msgstr "Laras kepekaan" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 msgid "Digital filter" msgstr "Penapis digital" #: src/pentaxmn.cpp:1299 msgid "Camera temperature" msgstr "Suhu kamera" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 msgid "Image tone" msgstr "Ton imej" #: src/pentaxmn.cpp:1319 msgid "Shake reduction" msgstr "Pengurangan gegar" #: src/pentaxmn.cpp:1320 msgid "Shake reduction information" msgstr "Maklumat pengurangan goncang" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 msgid "Dynamic range expansion" msgstr "pengembangan julat dinamik" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 msgid "High ISO noise reduction" msgstr "Pengurangan hingar ISO tinggi" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 msgid "AF Adjustment" msgstr "Pelarasan AF" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 msgid "Black point" msgstr "Titik hitam" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 msgid "White point" msgstr "Titik putih" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 msgid "ShotInfo" msgstr "Maklumat Syot" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 msgid "AEInfo" msgstr "Maklumat AE" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 msgid "LensInfo" msgstr "Maklumat Kanta" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 msgid "FlashInfo" msgstr "Maklumat Denyar" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 msgid "AEMeteringSegments" msgstr "Segmen Pemeteran AE" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 msgid "FlashADump" msgstr "Longgok Denyar A" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 msgid "FlashBDump" msgstr "Longgok Denyar B" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 msgid "WB_RGGBLevelsDaylight" msgstr "CahayaSiangArasWB_RGGB" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 msgid "WB_RGGBLevelsShade" msgstr "BayangArasWB_RGGB" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 msgid "WB_RGGBLevelsCloudy" msgstr "MendungArasWB_RGGB" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 msgid "WB_RGGBLevelsTungsten" msgstr "TungstenArasWB_RGGB" #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 msgid "WB_RGGBLevelsFluorescentD" msgstr "PendaflourDArasWB_RGGB" #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 msgid "WB_RGGBLevelsFluorescentN" msgstr "PendaflourNArasWB_RGGB" #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 msgid "WB_RGGBLevelsFluorescentW" msgstr "PendaflourWArasWB_RGGB" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 msgid "WB_RGGBLevelsFlash" msgstr "DenyarArasWB_RGGB" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 msgid "CameraInfo" msgstr "Maklumat Kamera" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 msgid "BatteryInfo" msgstr "Maklumat Bateri" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 msgid "AFInfo" msgstr "Maklumat AF" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 msgid "ColorInfo" msgstr "Maklumat Warna" #: src/pentaxmn.cpp:1405 msgid "Unknown PentaxMakerNote tag" msgstr "Tag PentaxMakerNote tidak diketahui" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "Skema Teras Dublin" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "Skema Pengurusan Foto digiKam" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "Skema Antaramuka Program Imej KDE" #: src/properties.cpp:113 msgid "XMP Basic schema" msgstr "Skema Asas XMP" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "Pengurusan Hak XMP" #: src/properties.cpp:115 msgid "XMP Media Management schema" msgstr "Skema Pengurusan Media XMP" #: src/properties.cpp:116 msgid "XMP Basic Job Ticket schema" msgstr "Skema Tiket Kerja Asas XMP" #: src/properties.cpp:117 msgid "XMP Paged-Text schema" msgstr "Skema Teks-Berhalaman XMP" #: src/properties.cpp:118 msgid "XMP Dynamic Media schema" msgstr "Skema Media Dinamik XMP" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "Skema Foto Microsoft" #: src/properties.cpp:120 #, fuzzy msgid "Adobe Lightroom schema" msgstr "Skema photoshop Adobe" #: src/properties.cpp:121 msgid "Adobe PDF schema" msgstr "Skema PDF Adobe" #: src/properties.cpp:122 msgid "Adobe photoshop schema" msgstr "Skema photoshop Adobe" #: src/properties.cpp:123 msgid "Camera Raw schema" msgstr "Skema Mentah Kamera" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "Sifat TIFF untuk Skema Exif" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "Sifat khusus-Exif untuk skema Exif" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "Sifat Exif Tambahan untuk skema Exif" #: src/properties.cpp:127 src/properties.cpp:128 msgid "IPTC Core schema" msgstr "Skema Teras IPTC" #: src/properties.cpp:129 src/properties.cpp:130 msgid "IPTC Extension schema" msgstr "Skema Sambungan IPTC" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "Skema Format Data Lesen PLUS" #: src/properties.cpp:132 msgid "iView Media Pro schema" msgstr "Skema Pro Media iView" #: src/properties.cpp:133 msgid "Expression Media schema" msgstr "Skema Media Expression" #: src/properties.cpp:134 msgid "Microsoft Photo 1.2 schema" msgstr "Skema Microsoft Photo 1.2" #: src/properties.cpp:135 msgid "Microsoft Photo RegionInfo schema" msgstr "Skema RegionInfo Microsoft Photo" #: src/properties.cpp:136 msgid "Microsoft Photo Region schema" msgstr "Skema Kawasan Microsoft Photo" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "Skema Wilayah Kumpulan Kerja Data Meta" #: src/properties.cpp:138 #, fuzzy msgid "Metadata Working Group Keywords schema" msgstr "Skema Wilayah Kumpulan Kerja Data Meta" #: src/properties.cpp:139 msgid "XMP Extended Video schema" msgstr "Skema Video Lanjutan XMP" #: src/properties.cpp:140 msgid "XMP Extended Audio schema" msgstr "Skema Audio Lanjutan XMP" #: src/properties.cpp:141 #, fuzzy msgid "XMP Darwin Core schema" msgstr "Skema Teras Dublin" #: src/properties.cpp:142 #, fuzzy msgid "Qualified Dublin Core schema" msgstr "Skema Teras Dublin" #: src/properties.cpp:143 #, fuzzy msgid "ACDSee XMP schema" msgstr "Skema PDF Adobe" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "" #: src/properties.cpp:148 msgid "Colorant structure" msgstr "Struktur Pewarna" #: src/properties.cpp:149 msgid "Dimensions structure" msgstr "Struktur dimensi" #: src/properties.cpp:150 msgid "Font structure" msgstr "Struktur fon" #: src/properties.cpp:151 msgid "Thumbnail structure" msgstr "Struktur thumbnail" #: src/properties.cpp:152 msgid "Resource Event structure" msgstr "Struktur Peristiwa Sumber" #: src/properties.cpp:153 msgid "ResourceRef structure" msgstr "Struktur ResourceRef" #: src/properties.cpp:154 msgid "Version structure" msgstr "Struktur versi" #: src/properties.cpp:155 msgid "Basic Job/Workflow structure" msgstr "Struktur Kerja/Aliran Kerja Asas" #: src/properties.cpp:156 msgid "Area structure" msgstr "Struktur kawasan" #: src/properties.cpp:159 msgid "Qualifier for xmp:Identifier" msgstr "Penerang untuk xmp:Identifier" #: src/properties.cpp:163 msgid "Contributor" msgstr "Penyumbang" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "Penyumbang ke sumber (lain dari pengarang)." #: src/properties.cpp:164 msgid "Coverage" msgstr "Liputan" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" "Topik spatial atau sementara sumber, Kebolehgunaan spatial sumber, atau " "bidang kuasa yang mana sumber tersebut berkaitan." #: src/properties.cpp:166 msgid "Creator" msgstr "Pencipta" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "Pengarang sumber (disenarai mengikut tertib duluan, jika penting)." #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "Tarikh yang mana perkara menarik berlaku pada sumber." #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" "Keterangan tekstual bagi kandungan sumber. Nilai berbilang mungkin hadir " "untuk bahasa yang berlainan." #: src/properties.cpp:170 src/properties.cpp:1160 msgid "Format" msgstr "Format" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" "Format fail yang digunakan bila menyimpan sumber. Alatan dan aplikasi patut " "tetapkan sifat ini untuk simpan format data. Ia sertakan penerang yang " "bersesuaian." #: src/properties.cpp:172 src/properties.cpp:228 msgid "Identifier" msgstr "Pengenalpasti:" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" "Pengenalpasti unik sumber. Amalan terbaik disarankan untuk mengenalpasti " "sumber berdasarkan rentetan pada sistem pengenalpastian formal." #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "Tatasusunan tidak tertib menyatakan bahasa yang diguna dalam sumber." #: src/properties.cpp:175 msgid "Publisher" msgstr "Penerbit" #: src/properties.cpp:175 msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" "Entiti bertanggungjawab menyebabkan sumber tersedia. Contoh Penerbit " "termasuklah individu, organisasi, atau perkhidmatan. Biasanya, nama Penerbit " "patut digunakan untuk nyatakan entiti." #: src/properties.cpp:178 msgid "Relation" msgstr "Hubungan" #: src/properties.cpp:178 msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" "Hubungan dengan dokumen lain. Amalan terbaik disarankan adalah kenalpasti " "sumber berkaitan beerdasarkan rentetan pada sistem pengenalpastian formal." #: src/properties.cpp:180 msgid "Rights" msgstr "Hak" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" "Penyataan hak informal, dipilih mengikut bahasa. Biasanya maklumat hak " "termasuklah penyataan mengenai pelbagai hak harta berkaitan dengan sumber, " "termasuklah hak harta intelektual." #: src/properties.cpp:183 msgid "Unique identifier of the work from which this resource was derived." msgstr "Pengenalpasti unik bagi kerja yang mana sumber ini diperoleh." #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" "Tatasusunan tidak tertib bagi frasa deskriptif atau kata kunci yang " "menyatakan topik kandungan sumber." #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" "Tajuk dokumen, atau nama yang diberi kepada sumber. Biasanya, ia boleh jadi " "nama yang mana sumber tersebut dikenali." #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 msgid "Type" msgstr "Jenis" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "Jenis dokumen; contohnya, novel, sajak, atau kertas kerja." #: src/properties.cpp:194 msgid "Tags List" msgstr "Senarai Tag" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" "Senarai laluan tag lengkap sebagai rentetan, Hieraki laluan dipisah dengan " "aksara '/' (cth: \"City/Paris/Monument/Eiffel Tower\"." #: src/properties.cpp:195 msgid "Captions Author Names" msgstr "Kapsyen Nama Pengarang" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" "Senarai semua kapsyen nama pengarang untuk setiap set kapsyen gantian bahasa " "dalam tag XMP piawai." #: src/properties.cpp:196 msgid "Captions Date Time Stamps" msgstr "Kapsyen Setem Masa Tarikh" #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" "Senarai semua kapsyen setem masa tarikh untuk setiap set kapsyen gantian " "bahasa dalam tag XMP piawai." #: src/properties.cpp:197 src/tags.cpp:844 msgid "Image History" msgstr "Sejarah Imej" #: src/properties.cpp:197 #, fuzzy msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" "Kandungan berasaskan XML pada senarai semua tindakan yang diproses pada imej " "ini dengan penyunting imej (seperti kerat, putar, pembetulan warna, " "pelarasan, dll)." #: src/properties.cpp:198 msgid "Lens Correction Settings" msgstr "Tetapan Pembetulan Kanta" #: src/properties.cpp:198 #, fuzzy msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" "Senarai tetapan alatan Pembetulan Kanta yang diguna untuk baiki herotan " "kanta. Ia termasuklah Pengurus Baris Gilir Kelompok dan alatan penyunting " "Imej berasaskan pustaka LensFun." #: src/properties.cpp:199 msgid "Color Label" msgstr "Label Warna" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" "Label warna yang diumpuk pada item ini. Nilai yang mungkin adalah \"0\": " "tiada label; \"1\": Merah; \"2\": Jingga; \"3\": Kuning; \"4\": Hijau; " "\"5\": Biru; \"6\": Magenta; \"7\": Kelabu; \"8\": Hitam; \"9\": Putih." #: src/properties.cpp:200 msgid "Pick Label" msgstr "Label Ambil" #: src/properties.cpp:200 msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" "Label ambil diumpuk ke item ini. Nilai yang mungkin adalah \"0\": tiada " "label; \"1\": item ditolak; \"2\": item dalam pengesahan tertangguh; \"3\": " "item diterima." #: src/properties.cpp:206 #, fuzzy msgid "Panorama Input Files" msgstr "Fail Input Enfuse" #: src/properties.cpp:206 #, fuzzy msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" "Senarai fail yang diproses dengan program Enfuse melalui alat ExpoBlending." #: src/properties.cpp:207 msgid "Enfuse Input Files" msgstr "Fail Input Enfuse" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" "Senarai fail yang diproses dengan program Enfuse melalui alat ExpoBlending." #: src/properties.cpp:208 msgid "Enfuse Settings" msgstr "Tetapan Enfuse" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" "Senarai tetapan Enfuse digunakan untuk adun tindanan imej dengan alat " "ExpoBlending." #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "ID Item PicasaWeb" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "ID item dari perkhidmatan Sesawang PicasaWeb." #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "ID Item Yandex Fotki" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "ID item dari perkhidmatan sesawang Yandex Fotki." #: src/properties.cpp:216 msgid "Advisory" msgstr "Nasihat" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" "Tatasusunan tidak tertib menyatakan sifat yang disunting luar dari aplikasi " "pengarangan. Setiap item patut mengandungi ruang nama tunggal dan XPath yang " "dipisah dengan satu ruang ASCII (U+0020)." #: src/properties.cpp:219 src/properties.cpp:1066 msgid "Base URL" msgstr "URL Asas" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" "URL asas untuk URL relatif dalam kandungan dokumen. Jika dokumen ini " "mengandungi pautan Internet, dan pautan tersebut adalah relatif, ia adalah " "relatif pada URL asas ini. Sifat ini menyediakan cara piawai untuk URL " "relatif terbenam yang akan ditakrif oleh alatan. Alatan pengarangan sesawang " "patut tetapkan nilai berasaskan pada tanggapan yang mana URL akan " "ditafsirkan." #: src/properties.cpp:224 msgid "Create Date" msgstr "Tarikh Dicipta" #: src/properties.cpp:224 msgid "The date and time the resource was originally created." msgstr "Tarikh dan masa sumber asalnya dicipta." #: src/properties.cpp:225 msgid "Creator Tool" msgstr "Alat Pencipta" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" "Nama bagi alat yang pertama digunakan untuk cipta sumber. Jika sejarah hadir " "dalam data meta, nilai ini patut menyamai dengan xmpMM:Sejarah difat Ejen " "perisian." #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" "Merupakan tatasusunan tidak tertib bagi rentetan teks yang mana kenalpasti " "sumber secara tidak samar dengan konteks yang diberi. Item tatasusunan " "mungkin sesuai dengan xmpidq:Scheme untuk tandakan sistem pengenalpastian " "formal yang mana pengenalpasti turuti. Perhatian: sifat dc:identifier tidak " "digunakan kerana ia kurang penerang skema tertakrif dan telah ditakrif dalam " "Spesifikasai XMP sebagai sifat ringkas (nilai-tunggal)." #: src/properties.cpp:233 msgid "Label" msgstr "Label" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" "Merupakan perkataan atau frasa pendek yang mengenalpasti dokumen sebagai " "ahli bagi koleksi ditakrif-pengguna. Digunakan untuk mengurus dokumen dalam " "pelayar fail." #: src/properties.cpp:235 msgid "Metadata Date" msgstr "Tarkih Data Meta" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" "Tarikh dan masa yang mana sebarang data meta untuk sumber ini terakhir " "berubah. Ia sepatutnya sama seperti yang terkini berbanding xmp:ModifyDate." #: src/properties.cpp:237 msgid "Modify Date" msgstr "Tarikh Ubahsuai" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" "Tarikh dan masa sumber yang kali terakhir diubahsuai. Nilai bagi sifat ini " "tidak perlu sama dengan tarikh pengubahsuaian sistem fail kerana ia " "ditetapkan sebelum fail disimpankan." #: src/properties.cpp:240 msgid "Nickname" msgstr "Gelaran" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "Nama tidak formal pendek untuk sumber." #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 msgid "Rating" msgstr "Penarafan" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" "Bilangan yang menunjukkan status dokumen berkaitan dengan dokumen lain, " "digunakan untuk mengurus dokumen dalam pelayar fail. Nilai adalah ditakrif-" "pengguna dalam julat takrifan-aplikasi." #: src/properties.cpp:244 msgid "Thumbnails" msgstr "Thumbnail" #: src/properties.cpp:244 msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" "Tatasusunan alternatif imej thumbnail bagi fail, yang mana boleh berbeza " "dalam karakter seperti saiz atau pengekodan imej." #: src/properties.cpp:251 msgid "Certificate" msgstr "Sijil" #: src/properties.cpp:251 msgid "Online rights management certificate." msgstr "Sijil pengurusan hak diatas talian." #: src/properties.cpp:252 msgid "Marked" msgstr "Ditanda" #: src/properties.cpp:252 msgid "Indicates that this is a rights-managed resource." msgstr "Menunjukkan ini merupakan sumber yang diurus-haknya." #: src/properties.cpp:253 msgid "Owner" msgstr "Pemilik" #: src/properties.cpp:253 msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "Tatasusunan tidak tertin menyatakan pemilik sah sesebuah sumber." #: src/properties.cpp:254 msgid "Usage Terms" msgstr "Terma penggunaan" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "Arahan teks bagaimana sumber boleh digunakan secara sah." #: src/properties.cpp:255 msgid "Web Statement" msgstr "Penyataan Sesawang" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" "Lokasi bagi halaman sesawang yang menerangkan pemilik dan/atau penyataan " "haknya untuk sumber ini." #: src/properties.cpp:261 msgid "Derived From" msgstr "Dirujuk Dari" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" "Rujukan ke dokumen asal yang mana salah satu diperolehi. Ini adalah rujukan " "minimum; komponen hilang boleh dianggap tidak berubah. Contohnya, versi baru " "perlu nyatakan ID kejadian dan nombor versi bagi versi terdahulu, atau " "tafsiran perlu nyatakan ID kejadian dan kelas tafsiran yang asal." #: src/properties.cpp:266 msgid "Document ID" msgstr "ID Dokumen" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" "Pengenalpasti umum bagi semua versi dan tafsiran dokumen. Ia patut " "berasaskan pada UUID; rujuk Dokumen dan ID kejadian dibawah." #: src/properties.cpp:268 msgid "History" msgstr "Sejarah" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" "Tatasusunan bertertib bagi tindakan pengguna mahir yang dihasilkan dalam " "sumber ini. Ia bertujuan untuk memberitahu pembaca manusia satu tanda am " "bagi langkah yang diambil untuk membuat perubahan dari versi terdahulu " "kepada yang sedia ada. Senarai patutnya pada aras abstrak; ia tidak " "bertujuan menjadi ketukan kekunci yang memenatkan atau sejarah terperinci " "yang lain." #: src/properties.cpp:272 msgid "Instance ID" msgstr "ID Tika" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" "Pengenalpasti bagi inkarnasi spesifik dokumen, dikemaskini setiap kali fail " "disimpan. Ia patut melepasi UUID; rujuk Dokumen dan ID kejadian dibawah." #: src/properties.cpp:274 msgid "Managed From" msgstr "Diurus Dari" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" "Merupakan rujukan kepada dokumen kerana ia telah terdahulu diurus. Ia " "ditetapkan bila dokumen terurus diperkenalkan pada sistem pengurusan aset " "yang mana kini tidak memilikinya. Ia mungkin atau tidak sertakan rujukan " "kepada sistem pengurusan yang berlainan." #: src/properties.cpp:277 msgid "Manager" msgstr "Pengurus" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" "Nama bagi sistem pengurusan aset yang mengurus sumber ini. Bersama-sama " "dengan with xmpMM: ManagerVariant, ia memberitahu aplikasi sistem pengurusan " "aset yang manakah hendak dihubungi berkenaan dokumen ini." #: src/properties.cpp:280 msgid "Manage To" msgstr "Urus kepada" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" "Merupakan URi yang mengenalpasti sumber terurus kepada sistem pengurusan " "aset; kehadiran sifat ini adalah tanda formal yang mana sumber ini diurus. " "Bentuk dan kandungan URI ini adalah sulit pada sistem pengurusan aset." #: src/properties.cpp:283 msgid "Manage UI" msgstr "Urus UI" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" "URI yang digunakan untuk mencapai maklumat mengenai sumber terurus melalui " "pelayar sesawang. Ia mungkin memerlukan pemalam pelayar suai." #: src/properties.cpp:285 msgid "Manager Variant" msgstr "Variasi Pengurus" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" "Nyatakan variasi tertentu sistem pengurusan aset. Format bagi sifat ini " "adalah sulit pada sistem pengurusan aset yang khusus." #: src/properties.cpp:287 msgid "Rendition Class" msgstr "Kelas Tafsiran" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" "Nama kelas tafsiaran bagi sumber ini. Sifat patut tidak hadir atua " "ditetapkan kepasa lalai untuk versi dokumen yang mana buka tafsiran yang " "diterbitkan." #: src/properties.cpp:289 msgid "Rendition Params" msgstr "Param Tafsiran" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" "Boleh diguna untuk sediakan parameter tafsiran tambahan yang mana terlalu " "kompleks atau berjela untuk dikodkan dalam xmpMM: RenditionClass." #: src/properties.cpp:291 msgid "Version ID" msgstr "ID Versi" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr "" "Pengenalpasti versi dokumen untuk sumber ini. Setiap versi dokumen akan " "dapat pengenalpasti baru, biasanya dengan menokok integer 1, 2, 3 ... dan " "seterusnya. Sistem pengurusan media boleh mempunyai resam lain atau cabang " "sokongan yang memerlukan skema lebih kompleks." #: src/properties.cpp:295 msgid "Versions" msgstr "Versi" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" "Sejarah versi berkaitan dengan sumber ini. Masukan [1] adalah versi " "diketahui paling lama untuk dokumen ini, masukan [last()] adalah versi " "terkini. Biasanya, sistem pengurusan media akan diisi dalam maklumat versi " "dalam data meta semasa semak-masuk. Tiada jaminan versi sejarah lengkap " "daripada pertama berbanding akan hadir dalam sifat xmpMM:Versions. Maklumat " "versi dalaman boleh dimampatkan atau dimusnahkan dan sejarah versi boleh " "dipangkas." #: src/properties.cpp:301 msgid "Last URL" msgstr "URL Terakhir" #: src/properties.cpp:301 msgid "Deprecated for privacy protection." msgstr "Lapuk untuk perlindungan kerahsiaan." #: src/properties.cpp:302 msgid "Rendition Of" msgstr "Tafsiran Bagi" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" "Lapuk bagi pihak xmpMM:DerivedFrom. Merupakan rujukan ke dokummen yang mana " "adalah tafsiran." #: src/properties.cpp:304 msgid "Save ID" msgstr "ID Simpan" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "" "Lapuk. Sebelum ini hanya digunakan untuk menyokong sifat xmpMM:LastURL." #: src/properties.cpp:310 msgid "Job Reference" msgstr "Rujukan Kerja" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" "Rujukan pada fail pengurusan kerja luaran untuk proses kerja yang mana " "dokumen telah digunakan. Penggunaan nama kerja adalah dibawah kawalan " "pengguna. Biasanya digunakan untuk kenalpasti semua dokumen yang merupakan " "bahagian daripada kerja atau kontrak tertentu. Terdapat nilai berbilang " "kerana lebih dari satu kerja menggunakan dokumen tertentu pada sebarang " "masa, dan ia juga berguna untuk kekalkan maklumat bersejarah mengenai apakah " "kerja dokumen merupakan sebahagian dari dokumen terdahulu." #: src/properties.cpp:319 msgid "Maximum Page Size" msgstr "Saiz Halaman Maksimum" #: src/properties.cpp:319 msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "" "Saiz bagi halaman terbesar dalam dokumen (termasuklah apa-apa yang ada dalam " "dokumen terkandung)." #: src/properties.cpp:320 msgid "Number of Pages" msgstr "Bilangan Halaman" #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "" "Bilangan halaman dalam dokumen (termasuklah apa-apa yang ada dalam dokumen " "terkandung)." #: src/properties.cpp:321 msgid "Fonts" msgstr "Fon" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" "Merupakan fon tatasusunan tidak tertib yang digunakan dalam dokumen " "(termasuklah apa-apa yang ada dalam dokumen terkandung)." #: src/properties.cpp:322 msgid "Colorants" msgstr "Pewarna" #: src/properties.cpp:322 msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" "Merupakan tatasusunan tidak tertib pewarna yang digunakan dalam dokumen " "(termasuklah apa-apa yang ada dalam dokumen terkandung)." #: src/properties.cpp:323 msgid "Plate Names" msgstr "Nama Plat" #: src/properties.cpp:323 msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" "Merupakan tatasusunan tidak tertib nama plat yang digunakan dalam dokumen " "(termasuklah apa-apa yang ada dalam dokumen terkandung)." #: src/properties.cpp:329 src/properties.cpp:1285 msgid "Project Reference" msgstr "Rujukan Projek" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "Rujukan pada projek yang cipta fail ini." #: src/properties.cpp:330 src/properties.cpp:1163 msgid "Video Frame Rate" msgstr "Kadar Bingkai Video" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "Kadar bingkai video. Salah satu dari: 24, NTSC, PAL." #: src/properties.cpp:331 src/properties.cpp:1164 msgid "Video Frame Size" msgstr "Kadar Bingkai Video" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "Saiz bingkai. Contohnya: w:720, h: 480, unit:piksel" #: src/properties.cpp:332 msgid "Video Pixel Aspect Ratio" msgstr "Nisbah Bidang Piksel Video" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "Nisbah bidang, diungkap sebagai ht/wd. Contohnya: \"648/720\" = 0.9" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "Video Pixel Depth" msgstr "Kedalaman Piksel Video" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" "Saiz dalam bit bagi setiap komponen warna piksel. Tetingkap Piawai 32-bit " "piksel mempunyai 8 bit per komponen. Salah satu dari: 8Int, 16Int, 32Int, " "32Float." #: src/properties.cpp:335 src/properties.cpp:1081 msgid "Video Color Space" msgstr "Ruang Warna Video" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" "Ruang warna. Salah satu dari sRGB (diguna oleh Photoshop), CCIR-601 (diguna " "untuk NTSC), CCIR-709 (diguna untuk HD)." #: src/properties.cpp:337 msgid "Video Alpha Mode" msgstr "Mod Alfa Video" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "Mod alfa. Salah satu dari: menegak, pra-berbilang." #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "Warna Pra-berbilang Alfa Video" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" "Warna dalam CMYK atau RGB yang diguna sebagai warna pra-berbilang bila mod " "alfa adalah pra-berganda." #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "Unity Alfa Video Adalah Lutsinar" #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "Bila benar, unity jelas, bila palsu, ia menjadi legap." #: src/properties.cpp:341 msgid "Video Compressor" msgstr "Pemampat Video" #: src/properties.cpp:341 msgid "Video compression used. For example, jpeg." msgstr "Pemampat video yang digunakan. Contoh, jpeg." #: src/properties.cpp:342 msgid "Video Field Order" msgstr "Tertib Medan Video" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "Tertib medan untuk video. Salah satu dari: Atas, Bawah, Progresif." #: src/properties.cpp:343 msgid "Pull Down" msgstr "Tarik Bawah" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" "Fasa persampelan bagi filem yang ditukar ke video (tarik-bawah). Salah satu " "daru: WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." #: src/properties.cpp:345 src/properties.cpp:1425 msgid "Audio Sample Rate" msgstr "Kadar Persampelan Audio:" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" "Kadar persampelan audio. Bolah jadi sebarang nilai, tetapi umumnya 32000, " "41100, atau 48000." #: src/properties.cpp:346 src/properties.cpp:1426 msgid "Audio Sample Type" msgstr "Jenis Persampelan Audio" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "Jenis persampelan audio. Salah satu dari: 8Int, 16Int, 32Int, 32Float." #: src/properties.cpp:347 src/properties.cpp:1400 msgid "Audio Channel Type" msgstr "Jenis Saluran Audio" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "Jenis saluran audio. Salah satu dari: Mono, Stereo, 5.1, 7.1." #: src/properties.cpp:348 src/properties.cpp:1407 msgid "Audio Compressor" msgstr "Pemampat Audio" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "Pemampat audio yang digunakan. Contoh, MP3." #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "Penggantian Pembesar Suara" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" "Keterangan bagi sudut pembesar suara dari hadapan dalam darjah. Contoh: " "\"Kiri = -30, Kanan = 30, Temgah = 0, LFE = 45, Keliling Kiri = -110, " "Keliling Kanan = 110\"" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "File Data Rate" msgstr "Kadar Data Fail" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "Kadar data fail dalam megabait sesaat. Contoh: \"36/10\" = 3.6 MB/saat" #: src/properties.cpp:352 src/properties.cpp:1334 msgid "Tape Name" msgstr "Nama Pita" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "Nama pita yang mana klip ditangkap, semasa proses penangkapan." #: src/properties.cpp:353 msgid "Alternative Tape Name" msgstr "Nama Pita Alternatif" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" "Nama pita alternatif, ditetapkan melalui tetingkap projek atau dialog kod " "masa dalam Premiere. Jika nama ganti telah ditetapkan dan tidak " "dikembalikan, nama tersebut akan dipaparkan." #: src/properties.cpp:355 msgid "Start Time Code" msgstr "Kod Masa Mula" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "" "Kod masa bagi bingkai pertama video dalam fail, sebagaimana yang diperoleh " "dari kawalan peranti." #: src/properties.cpp:356 msgid "Alternative Time code" msgstr "Kod Masa Alternatif" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" "Kod masa yang ditetapkan oleh pengguna. Bila dinyatakan, ia diguna selain " "dari startTimecode." #: src/properties.cpp:357 src/properties.cpp:1124 msgid "Duration" msgstr "Tempoh" #: src/properties.cpp:357 msgid "The duration of the media file." msgstr "Jangkamasa fail media." #: src/properties.cpp:358 msgid "Scene" msgstr "Adegan" #: src/properties.cpp:358 msgid "The name of the scene." msgstr "Nama adegan." #: src/properties.cpp:359 msgid "Shot Name" msgstr "Nama Syot" #: src/properties.cpp:359 msgid "The name of the shot or take." msgstr "Nama bagi syot atau tangkapan." #: src/properties.cpp:360 msgid "Shot Date" msgstr "Tarikh Syot" #: src/properties.cpp:360 msgid "The date and time when the video was shot." msgstr "Tarikh dan masa bila video ditangkap." #: src/properties.cpp:361 msgid "Shot Location" msgstr "Lokasi Syot" #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" "Nama lokasi yang mana video telah ditangkap. Contoh: \"Oktoberfest, Munich " "Germany\" Untuk kedudukan yang lebih tepat, guna nilai GPS EXIF." #: src/properties.cpp:363 msgid "Log Comment" msgstr "Ulasan Log" #: src/properties.cpp:363 msgid "User's log comments." msgstr "Ulasan log pengguna." #: src/properties.cpp:364 msgid "Markers" msgstr "Penanda" #: src/properties.cpp:364 msgid "An ordered list of markers" msgstr "Senarai tertib penanda" #: src/properties.cpp:365 msgid "Contributed Media" msgstr "Media Disumbang" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "" "Merupakan senarai tidak tertib semua media yang digunakan untuk cipta media" #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "Laluan Fail Audio Puncak Mutlak" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" "Laluan mutlak ke fail audio puncak. Jika kosong, tiada fail puncak wujud." #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "Laluan Fail Audio Puncak Relatif" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" "Laluan relatif ke fail audio puncak. Jika kosong, tiada fail puncak wujud." #: src/properties.cpp:368 msgid "Video Modified Date" msgstr "Tarikh Ubahsuai Video" #: src/properties.cpp:368 msgid "The date and time when the video was last modified." msgstr "Tarikh dan masa bila video kali terakhir diubahsuai." #: src/properties.cpp:369 msgid "Audio Modified Date" msgstr "Tarikh Ubahsuai Audio" #: src/properties.cpp:369 msgid "The date and time when the audio was last modified." msgstr "Tarikh dan masa bila audio terakhir diubahsuai." #: src/properties.cpp:370 msgid "Metadata Modified Date" msgstr "Tarikh Ubahsuai Data Meta" #: src/properties.cpp:370 msgid "The date and time when the metadata was last modified." msgstr "Tarikh dan masa bila data meta terakhir diubahsuai." #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "Artis" #: src/properties.cpp:371 src/properties.cpp:1058 msgid "The name of the artist or artists." msgstr "Nama artis." #: src/properties.cpp:372 src/properties.cpp:1054 msgid "Album" msgstr "Album" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "The name of the album." msgstr "Nama album." #: src/properties.cpp:373 src/properties.cpp:1366 msgid "Track Number" msgstr "Nombor Trek" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "Nilai berangka menunjukkan tertib fail audio didalam rakaman asalnya." #: src/properties.cpp:374 src/properties.cpp:1166 msgid "Genre" msgstr "Genre" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "The name of the genre." msgstr "Nama genre." #: src/properties.cpp:375 msgid "The copyright information." msgstr "Maklumat hakcipta." #: src/properties.cpp:376 msgid "The date the title was released." msgstr "Tarikh tajuk dikeluarkan." #: src/properties.cpp:377 src/properties.cpp:1086 msgid "Composer" msgstr "Penggubah" #: src/properties.cpp:377 msgid "The composer's name." msgstr "Nama penggubah." #: src/properties.cpp:378 src/properties.cpp:1143 msgid "Engineer" msgstr "Jurutera" #: src/properties.cpp:378 msgid "The engineer's name." msgstr "Nama jurutera." #: src/properties.cpp:379 msgid "Tempo" msgstr "Tempo" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "Tempo audio." #: src/properties.cpp:380 msgid "Instrument" msgstr "Peralatan" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "Peralatan muzik." #: src/properties.cpp:381 msgid "Intro Time" msgstr "Masa Pengenalan" #: src/properties.cpp:381 msgid "The duration of lead time for queuing music." msgstr "Tempoh bagi masa awal untuk muzik dibaris gilir." #: src/properties.cpp:382 msgid "Out Cue" msgstr "Isyarat Keluar" #: src/properties.cpp:382 msgid "The time at which to fade out." msgstr "Masa yang mana resap keluar." #: src/properties.cpp:383 msgid "Relative Timestamp" msgstr "Setem Masa Relatif" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "Masa mula bagi media didalam projek audio." #: src/properties.cpp:384 msgid "Loop" msgstr "Gelung" #: src/properties.cpp:384 #, fuzzy msgid "When true, the clip can be looped seamlessly." msgstr "Bila benar, klip boleh digelung tanpa berkelim." #: src/properties.cpp:385 msgid "Number Of Beats" msgstr "Bilangan Bit" #: src/properties.cpp:385 msgid "The number of beats." msgstr "Bilangan bit" #: src/properties.cpp:386 msgid "Key" msgstr "Kunci" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "" "Kunci audio muzik. Salah satu dari: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." #: src/properties.cpp:387 msgid "Stretch Mode" msgstr "Mod Regang" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" "Mod regang audio. Salah satu: Panjang tetap, Skala-Masa, Sampel Semula, " "Sambat Beat, Hibrid." #: src/properties.cpp:388 msgid "Time Scale Parameters" msgstr "Parameter Skala Masa" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "Parameter tambahan untuk mod regang Skala-Masa." #: src/properties.cpp:389 msgid "Resample Parameters" msgstr "Parameter Sampel Semula" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "Parameter tambahan untuk mod regang Sampel Semula." #: src/properties.cpp:390 msgid "Beat Splice Parameters" msgstr "Parameter Sambat Beat" #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "Parameter tambahan untuk mod regang Sambat Beat." #: src/properties.cpp:391 msgid "Time Signature" msgstr "Tandatangan Masa" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" "Tandatangan masa muzik. Salah satu: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, 12/8, " "lain-lain." #: src/properties.cpp:392 msgid "Scale Type" msgstr "Jenis Skala" #: src/properties.cpp:392 msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "" "Skala muzik yang digunakan dalam muzik. Salah satu: Major, Minor, Kedua-" "duanya, Tiada. Tiada paling kerap digunakan untuk peralatan yang tiada " "berkatian dengan skala, seperti dram." #: src/properties.cpp:399 src/tags.cpp:1078 msgid "Camera Serial Number" msgstr "Nombor Siri Kamera" #: src/properties.cpp:399 msgid "Camera Serial Number." msgstr "Nombor Siri Kamera." #: src/properties.cpp:400 msgid "Date Acquired" msgstr "Tarikh DIperoleh." #: src/properties.cpp:400 msgid "Date Acquired." msgstr "Tarikh Diperoleh." #: src/properties.cpp:401 msgid "Flash Manufacturer" msgstr "Pengilang Denyar" #: src/properties.cpp:401 msgid "Flash Manufacturer." msgstr "Pengilang Denyar." #: src/properties.cpp:402 msgid "Flash Model." msgstr "Model Denyar." #: src/properties.cpp:403 msgid "Last Keyword IPTC" msgstr "Kata Kunci Terakhir IPTC" #: src/properties.cpp:403 msgid "Last Keyword IPTC." msgstr "Kata Kunci IPTC." #: src/properties.cpp:404 msgid "Last Keyword XMP" msgstr "Kata Kunci XMP" #: src/properties.cpp:404 msgid "Last Keyword XMP." msgstr "Kata Kunci XMP." #: src/properties.cpp:405 msgid "Lens Manufacturer" msgstr "Pengilang Kanta" #: src/properties.cpp:405 msgid "Lens Manufacturer." msgstr "Pengilang Kanta." #: src/properties.cpp:406 src/properties.cpp:1199 msgid "Lens Model." msgstr "Model Kanta." #: src/properties.cpp:407 msgid "Rating Percent" msgstr "Peratus Penarafan" #: src/properties.cpp:407 msgid "Rating Percent." msgstr "Peratus Penarafan." #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "" #: src/properties.cpp:414 #, fuzzy msgid "Private RTK Info" msgstr "Maklumat Gambar" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "" #: src/properties.cpp:420 msgid "Keywords." msgstr "Kata Kunci." #: src/properties.cpp:421 msgid "PDF Version" msgstr "Versi PDF" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "Veris fail PDF (contoh: 1.0, 1.3, dan seterusnya)." #: src/properties.cpp:422 src/properties.cpp:1278 msgid "Producer" msgstr "Pengeluar" #: src/properties.cpp:422 msgid "The name of the tool that created the PDF document." msgstr "Nama alat yang cipta dokumen PDF." #: src/properties.cpp:428 msgid "Authors Position" msgstr "Kedudukan Pengarang" #: src/properties.cpp:428 msgid "By-line title." msgstr "Tajuk mengikut-baris." #: src/properties.cpp:429 msgid "Caption Writer" msgstr "Kapsyen Penulis" #: src/properties.cpp:429 msgid "Writer/editor." msgstr "Penulis/penyunting." #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "Kategori. Terhad pada 3-7-bit aksara ASCII." #: src/properties.cpp:431 msgid "City." msgstr "Bandar." #: src/properties.cpp:432 msgid "Country/primary location." msgstr "Negara/lokasi utama." #: src/properties.cpp:433 msgid "Credit." msgstr "Penghargaan." #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" "Tarikh kandungan intelek dokumen yang dicipta (berbanding tarikh penciptaan " "persembahan fizikal), diikuti terbitan IIM. Contohnya foto yang diambil " "semasa Perang Saudara Amerika yang mempunyai tarikh ciptaan semasa epok " "(1861-1865) berbanding foto yang telah didigitalkan untuk pengarkiban." #: src/properties.cpp:438 msgid "Headline." msgstr "Tajuk Utama." #: src/properties.cpp:439 msgid "Special instructions." msgstr "Arahan Khas." #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source." msgstr "Sumber." #: src/properties.cpp:441 msgid "Province/state." msgstr "Negeri/wilayah." #: src/properties.cpp:442 msgid "Supplemental category." msgstr "Kategori tambahan." #: src/properties.cpp:443 msgid "Original transmission reference." msgstr "Rujukan transmisi asal." #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "Tindakan Segera. Julat sah ialah 1-8." #: src/properties.cpp:452 msgid "inches" msgstr "inci" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "sm" #: src/properties.cpp:457 msgid "Auto Brightness" msgstr "Kecerahan Sendiri" #: src/properties.cpp:457 msgid "When true, \"Brightness\" is automatically adjusted." msgstr "Bila benar. \"Kecerahan\" dilaras secara automatik." #: src/properties.cpp:458 msgid "Auto Contrast" msgstr "Bezza Jelas Sendiri" #: src/properties.cpp:458 msgid "When true, \"Contrast\" is automatically adjusted." msgstr "Bila benar, \"Beza Jelas\" dilaras secara automatik." #: src/properties.cpp:459 msgid "Auto Exposure" msgstr "Dedahan Sendiri" #: src/properties.cpp:459 msgid "When true, \"Exposure\" is automatically adjusted." msgstr "Bila benar, \"Dedahan\" dilaras secara automatik." #: src/properties.cpp:460 msgid "Auto Shadows" msgstr "Bayang Sendiri" #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "Bila benar, \"Bayang\" dilaras secara automatik." #: src/properties.cpp:461 msgid "Blue Hue" msgstr "Rona Biru" #: src/properties.cpp:461 msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "Tetapan \"Rona Biru\". Julat -100 hingga 100." #: src/properties.cpp:462 msgid "Blue Saturation" msgstr "Ketepuan Biru" #: src/properties.cpp:462 msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "Tetapan \"Ketepuan Biru\". Julat -100 hingga +100." #: src/properties.cpp:463 msgid "\"Brightness\" setting. Range 0 to +150." msgstr "Tetapan \"Kecerahan\". Julat 0 hingga +150." #: src/properties.cpp:464 msgid "Camera Profile" msgstr "Profil Kamera" #: src/properties.cpp:464 msgid "\"Camera Profile\" setting." msgstr "Tetapan \"Profil Kamera\"." #: src/properties.cpp:465 msgid "Chromatic Aberration Blue" msgstr "Biru Aberasi Kromatik" #: src/properties.cpp:465 msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "" "Tetapan \"Aberasi Kromatik, Baiki Pinggir Biru/Kuning\". Julat -100 hingga " "+100." #: src/properties.cpp:466 msgid "Chromatic Aberration Red" msgstr "Merah Aberasi Kromatik" #: src/properties.cpp:466 msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "" "Tetapan \"Aberasi Kromatik, Baiki Pinggir Merah/Sian\". Julat -100 hingga " "+100." #: src/properties.cpp:467 src/properties.cpp:1080 msgid "Color Noise Reduction" msgstr "Pengurangan Hingar Warna" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "Tetapan \"Pengurangan Hingar Warna\". Julat -100 hingga +100." #: src/properties.cpp:468 msgid "\"Contrast\" setting. Range -50 to +100." msgstr "Tetapan \"Beza Jelas\". Julat -50 hingga +100." #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "Bila \"Telah Dikerat\" adalah benar, bahagian atas segiempat keratan" #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "Bila \"Telah Dikerat\" adalah benar, bahagian kiri segiempat keratan" #: src/properties.cpp:471 msgid "Crop Bottom" msgstr "Kerat Bawah" #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "Bila \"Telah Dikerat\" adalah benar, bahagian bawah segiempat keratan" #: src/properties.cpp:472 msgid "Crop Right" msgstr "Kerat Kanan" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "Bila \"Telah Dikerat\" adalah benar, bahagian kanan segiempat keratan" #: src/properties.cpp:473 msgid "Crop Angle" msgstr "Kerat Sudut" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "Bila \"Telah Dikerat\" adalah benar, sudut segiempat keratan" #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "Lebar imej terkerat yang dihasilkan dalam unit CropUnit." #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "Tinggi imej terkerat yang dihasilkan dalam unit CropUnit." #: src/properties.cpp:476 msgid "Crop Units" msgstr "Unit Kerat" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "Unit untuk CropWidth dan CropHeight. 0=piksel, 1=inci, 2=sm" #: src/properties.cpp:477 msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "Tetapan \"Dedahan\". Julat -4.0 hingga +4.0." #: src/properties.cpp:478 #, fuzzy msgid "Green Hue" msgstr "RonaHijau" #: src/properties.cpp:478 msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "Tetapan \"Rona Hijau\". Julat -100 hingga +100." #: src/properties.cpp:479 msgid "Green Saturation" msgstr "Ketepuan Hijau" #: src/properties.cpp:479 msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "Tetapan \"Ketepuan Hijau\". Julat -100 hingga +100." #: src/properties.cpp:480 msgid "Has Crop" msgstr "Telah Dikerat" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "Bila benar, imej telah dikerat berbentuk segiempat." #: src/properties.cpp:481 msgid "Has Settings" msgstr "Mempunyai Tetapan" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "Bila benar, tetapan raw kamera bukan-lalai." #: src/properties.cpp:482 msgid "Luminance Smoothing" msgstr "Pelicinan Luminans" #: src/properties.cpp:482 msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "Tetapan \"Pelicinan Luminans\". Julat 0 hingga +100." #: src/properties.cpp:483 msgid "Raw File Name" msgstr "Nama Fail Raw" #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "Nama fail bagi fail raw (bukan laluan lengkap)." #: src/properties.cpp:484 msgid "Red Hue" msgstr "Rona Merah" #: src/properties.cpp:484 msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "Tetapan \"Rona Merah\". Julat -100 hingga +100." #: src/properties.cpp:485 msgid "Red Saturation" msgstr "Ketepuan Merah" #: src/properties.cpp:485 msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "Tetapan \"Ketepuan Merah\". Julat -100 hingga +100." #: src/properties.cpp:486 msgid "\"Saturation\" setting. Range -100 to +100." msgstr "Tetapan \"Ketepuan\". Julat -100 hingga +100." #: src/properties.cpp:487 msgid "Shadows" msgstr "Bayang" #: src/properties.cpp:487 msgid "\"Shadows\" setting. Range 0 to +100." msgstr "Tetapan \"Bayang\". Julat 0 hingga +100." #: src/properties.cpp:488 msgid "Shadow Tint" msgstr "Seri Warna Bayang" #: src/properties.cpp:488 msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "Tetapan \"Seri Warna Bayang\". Julat -100 hingga +100." #: src/properties.cpp:489 src/properties.cpp:1301 msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "Tetapan \"Kejelasan\". Julat 0 hingga +100." #: src/properties.cpp:490 msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "Tetapan \"Suhu\". Julat 2000 hingga 50000." #: src/properties.cpp:491 msgid "Tint" msgstr "Seri Warna" #: src/properties.cpp:491 msgid "\"Tint\" setting. Range -150 to +150." msgstr "Tetapan \"Seri Warna\". Julat -150 hingga +150." #: src/properties.cpp:492 msgid "Tone Curve" msgstr "Lengkuk Tona" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "Tatasusunan titik (Integer, Integer) mentakrifkan \"Lengkuk Tona\"." #: src/properties.cpp:493 msgid "Tone Curve Name" msgstr "Nama Lengkuk Tona" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" "Nama Lengkuk Tona yang diterangkan oleh LengkukTona. Salah satu: Linear, " "Beza Jelas Sederhana, Beza Jelas Kuat, Suai atau nama praset ditakrif-" "pengguna." #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "Versi bagi pemalam Raw Kamera." #: src/properties.cpp:496 msgid "Vignette Amount" msgstr "Jumlah Vignette" #: src/properties.cpp:496 msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "Tetapan \"Jumlah Vignet\". Julat -100 hingga +100." #: src/properties.cpp:497 msgid "Vignette Midpoint" msgstr "Titik Tengah Vignette" #: src/properties.cpp:497 msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "Tetapan \"Takat Tengah Vignet\". Julat 0 hingga +100." #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" "Tetapan \"Imbangan Putih\". Salah satu: Mengikut Syot, Auto, Cahaya Siang, " "Mendung, Bayang, Tungsten, Pendaflour, Denyar, Suai" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "TIFF tag 256, 0x100. Lebar imej dalam piksel." #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 msgid "Image Length" msgstr "Panjang Imej" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "TIFF tag 257, 0x101. Tinggi imej dalam piksel." #: src/properties.cpp:507 msgid "Bits Per Sample" msgstr "Bita Per Sampel" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "TIFF tag 258, 0x102. Bilangan bit per komponen dalam setiap saluran." #: src/properties.cpp:508 src/tags.cpp:434 msgid "Compression" msgstr "Pemampatan" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "TIFF tag 259, 0x103. Skema pemampatan: 1 = tidak dimampat; 6 = JPEG." #: src/properties.cpp:509 src/tags.cpp:440 msgid "Photometric Interpretation" msgstr "Interpretasi Fotometrik" #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "TIFF tag 262, 0x106. Komposisi Piksel: 2 = RGB; 6 = YCbCr." #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" "Tag TIFF 274, 0x112. Orientasi:1 = 0 baris pada atas, 0 lajur pada kiri 2 = " "0 baris pada atas, 0 baris pada kiri 3 = 0 baris pada bawah, 0 lajur pada " "kanan 4 = 0 baris pada bawah, 0 lajur pada kiri 5 = 0 baris pada kiri, 0 " "lajur pada atas 6 = 0 baris pada kanan, 0 lajur pada atas 7 = 0 baris pada " "kanan, 0 lajur pada bawah 8 = 0 baris pada kiri, 0 lajur pada bawah" #: src/properties.cpp:519 msgid "Samples Per Pixel" msgstr "Sampel Per Piksel" #: src/properties.cpp:519 msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "TIFF tag 277, 0x115. Bilangan komponen per piksel." #: src/properties.cpp:520 src/tags.cpp:514 msgid "Planar Configuration" msgstr "Konfigurasi Satah" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "TIFF tag 284, 0x11C. Bentangan data:1 = berketul; 2 = bersatah." #: src/properties.cpp:521 msgid "YCbCr Sub Sampling" msgstr "Sub Persampelan YCbCr" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" "TIFF tag 530, 0x212. Nisbah persampelan bagi kompinen krominans: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" #: src/properties.cpp:523 src/tags.cpp:720 msgid "YCbCr Positioning" msgstr "Kedudukan YCbCr" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" "TIFF tag 531, 0x213. Kedudukan krominans lwn. komponen luminans: 1 = " "ditengahkan; 2 = co-sited." #: src/properties.cpp:525 src/properties.cpp:1390 msgid "X Resolution" msgstr "Resolusi X" #: src/properties.cpp:525 msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "TIFF tag 282, 0x11A. Resolusi melintang dalam piksel per unit." #: src/properties.cpp:526 src/properties.cpp:1392 msgid "Y Resolution" msgstr "Resolusi Y" #: src/properties.cpp:526 msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "TIFF tag 283, 0x11B. Resolusi menegak dalam piksel per unit." #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 msgid "Resolution Unit" msgstr "Unit Resolusi" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" "TIFF tag 296, 0x128. Unit digunakan untuk XResolution dan YResolution. Nilai " "ialah salah satu dari: 2 = inci; 3 = sentimeter." #: src/properties.cpp:529 src/tags.cpp:540 msgid "Transfer Function" msgstr "Fungsi Pemindahan" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" "TIFF tag 301, 0x12D. Fungsi pemindahan bagi imej diterangkan dalam gaya " "tabular style dengan masukan 3 * 256." #: src/properties.cpp:531 src/tags.cpp:572 msgid "White Point" msgstr "Titik Putih" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "Tag TIFF 318, 0x13E. Kekromatan takat putih." #: src/properties.cpp:532 src/tags.cpp:577 msgid "Primary Chromaticities" msgstr "Kekromatan Utama" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "Tag TIFF 319, 0x13F. Kekromatan tiga warna utama." #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "Tag TIFF 529, Pekali Matriks 0x211. untuk penjelmaan RGB ke YCbCr." #: src/properties.cpp:534 msgid "Reference Black White" msgstr "Rujukan Hitam Putih" #: src/properties.cpp:534 msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "TIFF tag 532, 0x214. Rujukan nilai titik hitam dan putih." #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 msgid "Date and Time" msgstr "Tarikh dan Masa" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" "Tag TIFF 306, 0x132 (utama) dan Tag EXIF 37520, 0x9290 (subsaat). Tarikh dan " "masa penciptaan imej (tiada waktu zon dalam EXIF), disimpan dalam format ISO " "8601, bukan format EXIF yang asal. Sifat ini termasuklah nilai untuk atribut " "SubSecTime EXIF. PERHATIAN: Sifat ini disimpan dalam XMP sebagai xmp:" "ModifyDate." #: src/properties.cpp:541 src/tags.cpp:462 msgid "Image Description" msgstr "Keterangan Imej" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" "Tag TIFF 270, 0x10E. Keterangan imej. Perhatian: Sifat ini disimpan dalam " "XMP sebagai dc:description." #: src/properties.cpp:542 msgid "Make" msgstr "Buatan" #: src/properties.cpp:542 msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "Tag TIFF 271, 0x10F. Pengilang peralatan rakaman." #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "Tag TIFF 272, 0x110. Nama model atau nombor peralatan." #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" "Tag TIFF 305, 0x131. Perisian atau perisian tegar yang diguna untuk jana " "imej. Perhatian: Sifat ini disimpan dalam XMP sebagai xmp:CreatorTool. " #: src/properties.cpp:546 msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" "Tag TIFF 315, 0x13B. Pemilik kamera, jurufoto atau pencipta imej. Perhatian: " "Sifat ini disimpan dalam XMP sebagai item pertama dalam tatasusunan dc:" "creator." #: src/properties.cpp:548 msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" "Tag TIFF 33432, 0x8298. Maklumat Hakcipta. Perhatian: Sifat ini disimpan " "dalam XMP sebagai dc:rights." #: src/properties.cpp:555 src/tags.cpp:1605 msgid "Exif Version" msgstr "Versi Exif" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "EXIF tag 36864, 0x9000. Nombor versi EXIF." #: src/properties.cpp:556 msgid "Flashpix Version" msgstr "Versi Flashpix" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "EXIF tag 40960, 0xA000. Versi bagi FlashPix." #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "EXIF tag 40961, 0xA001. Maklumat ruang warna" #: src/properties.cpp:558 src/tags.cpp:1616 msgid "Components Configuration" msgstr "Konfigurasi Komponen" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" "Tag EXIF 37121, 0x9101. Konfigurasi bagi komponen dalam data: 4 5 6 0 (jika " "data termampat RGB), 1 2 3 0 (kes lain)." #: src/properties.cpp:560 src/tags.cpp:825 msgid "Compressed Bits Per Pixel" msgstr "Bit Termampat Per Piksel" #: src/properties.cpp:560 msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" "Tag EXIF 37122, 0x9102. Mod pemampatan yang diguna untuk imej termampat yang " "dinyatakan dalam unit bit per piksel." #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "Dimensi Piksel X" #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "EXIF tag 40962, 0xA002. Lebar imej sah, dalam piksel." #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "DImensi Piksel Y" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "EXIF tag 40963, 0xA003. Tinggi imej sah, dalam piksel." #: src/properties.cpp:564 src/tags.cpp:1674 msgid "User Comment" msgstr "Ulasan Pengguna" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "EXIF tag 37510, 0x9286. Ulasan dari pengguna." #: src/properties.cpp:565 src/tags.cpp:1716 msgid "Related Sound File" msgstr "Fail Bunyi Berkaitan" #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" "EXIF tag 40964, 0xA004. An \"8.3\" nama fail bagi fail bunyi berkaitan." #: src/properties.cpp:566 src/properties.cpp:1110 msgid "Date and Time Original" msgstr "Tarikh dan Masa Asal" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" "Tag EXIF 36867, 0x9003 (utama) dan 37521, 0x9291 (subsaat). Tarikh dan masa " "bila imej asal dijana, dalam format ISO 8601. Termasuklah data " "SubSecTimeOriginal EXIF." #: src/properties.cpp:569 src/properties.cpp:1111 msgid "Date and Time Digitized" msgstr "Tarikh dan Masa Terdigit" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" "Tag EXIF 36868, 0x9004 (utama) dan 37522, 0x9292 (subsaat). Tarikh dan masa " "bila imej disimpan sebagai data digital, boleh jadi sama seperti " "DateTimeOriginal jika yang asal disimpan dalam bentuk digital. Disimpan " "dalam format ISO 8601. Termasuklah data SubSecTimeDigitized EXIF." #: src/properties.cpp:573 msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "EXIF tag 33434, 0x829A. Masa dedahan dalam saat." #: src/properties.cpp:574 src/properties.cpp:1157 msgid "F Number" msgstr "Nombor F" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "EXIF tag 33437, 0x829D. Nombor F." #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "Tag EXIF 34850, 0x8822. Kelas program yang diguna untuk dedahan." #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 msgid "Spectral Sensitivity" msgstr "Kepekaan Spektral" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "Tag EXIF 34852, 0x8824. Kepekaan spektral bagi setiap saluran." #: src/properties.cpp:577 msgid "ISOSpeedRatings" msgstr "PenarafanKelajuanISO" #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" "Tag EXIF 34855, 0x8827. Kelajuan ISO dan Latitud ISO bagi peranti input " "sepertimana yang dinyatakan dalam ISO 12232." #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "OECF" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" "Tag EXIF 34856, 0x8828. Fungsi Penukaran Opto-Elektorik sepertimana yang " "dinyatakan dalam ISO 14524." #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" "Tag EXIF 37377, 0x9201. Kelajuan pengatup, unit alah APEX. Rujuk Aneks C " "bagi spesifikasi EXIF." #: src/properties.cpp:581 msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "EXIF tag 37378, 0x9202. Bukaan kanta, unit ialah APEX." #: src/properties.cpp:582 src/tags.cpp:828 msgid "Brightness Value" msgstr "Nilai Kecerahan" #: src/properties.cpp:582 msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "EXIF tag 37379, 0x9203. Kecerahan, unit ialah APEX." #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "EXIF tag 37380, 0x9204. Bias dedahan, unit ialah APEX." #: src/properties.cpp:584 src/properties.cpp:1211 msgid "Maximum Aperture Value" msgstr "Nilai Bukaan Maksimum" #: src/properties.cpp:584 msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "Tag EXIF 37381, 0x9205. Nombor F terkecil kanta, dalam APEX." #: src/properties.cpp:585 msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "EXIF tag 37382, 0x9206. Jarak dari subjek, dalam meter." #: src/properties.cpp:586 msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "EXIF tag 37383, 0x9207. Mod Pemeteran." #: src/properties.cpp:587 msgid "EXIF tag 37384, 0x9208. Light source." msgstr "EXIF tag 37384, 0x9208. SUmber cahaya." #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "EXIF tag 37385, 0x9209. Data sumber (denyar) cahaya Strobe." #: src/properties.cpp:589 msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "EXIF tag 37386, 0x920A. Jarak fokus kanta, dalam millimeter." #: src/properties.cpp:590 src/tags.cpp:1666 msgid "Subject Area" msgstr "Kawasan Subjek" #: src/properties.cpp:590 msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" "Tag EXIF 37396, 0x9214. Lokasi dan kawasan subjek utama dalam keseluruhan " "adegan." #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 msgid "Flash Energy" msgstr "Tenaga Denyar" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "EXIF tag 41483, 0xA20B. Tenaga Strobe semasa menangkap imej." #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "Sambutan Frekuensi Spatial" #: src/properties.cpp:592 msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" "Tag EXIF 41484, 0xA20C. Jadual frekuensi spatial peranti dan nilai SFR " "sebagaimana yang dinyatakan dalam ISO 12233." #: src/properties.cpp:594 src/tags.cpp:839 msgid "Focal Plane X Resolution" msgstr "Resolusi Satah Fokus X" #: src/properties.cpp:594 msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "" "Tag EXIF 41486, 0xA20E. Resolusi fokus mengufuk, diukur dalam piksel per " "unit." #: src/properties.cpp:595 src/tags.cpp:840 msgid "Focal Plane Y Resolution" msgstr "Resolusi Satah Fokus Y" #: src/properties.cpp:595 msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "" "Tag EXIF 41487, 0xA20F. Resolusi fokus menegak, diukur dalam piksel per unit." #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 msgid "Focal Plane Resolution Unit" msgstr "Unit Resolusi Satah Fokus" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" "Tag EXIF 41488, 0xA210. Unit digunakan untukr FocalPlaneXResolution dan " "FocalPlaneYResolution." #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 msgid "Subject Location" msgstr "Lokasi Subjek" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" "Tag EXIF 41492, 0xA214. Lokasi subjek utama adegan. Nilai pertama ialah " "piksel mengufuk dan nilai kedua adalah piksel menegak yang mana subjek utama " "muncul." #: src/properties.cpp:600 src/tags.cpp:846 msgid "Exposure Index" msgstr "Indeks Dedahan" #: src/properties.cpp:600 msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "Tag EXIF 41493, 0xA215. Indeks dedahan peranti input." #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 msgid "Sensing Method" msgstr "Kaedah Penderiaan" #: src/properties.cpp:601 msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "Tag EXIF 41495, 0xA217. Jenis penderia imej pada peranti input." #: src/properties.cpp:602 msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "EXIF tag 41728, 0xA300.Menyatakan sumber imej." #: src/properties.cpp:603 src/tags.cpp:1771 msgid "Scene Type" msgstr "Jenis Adegan" #: src/properties.cpp:603 msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "EXIF tag 41729, 0xA301. Menyatakan jenis adegan." #: src/properties.cpp:604 src/tags.cpp:761 msgid "CFA Pattern" msgstr "Corak CFA" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" "Tag EXIF 41730, 0xA302. Corak geometrik tatasusunan penapis bagi deria imej." #: src/properties.cpp:605 src/tags.cpp:1781 msgid "Custom Rendered" msgstr "Terterap Suai" #: src/properties.cpp:605 msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "" "Tag EXIF 41985, 0xA401. Menunjukkan kegunaan pemprosesan khas pada data imej." #: src/properties.cpp:606 msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "" "Tag EXIF 41986, 0xA402. Menunjukkan set mod dedahan bila imej ditangkap." #: src/properties.cpp:607 msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "" "Tag EXIF 41987, 0xA403. Menunjukkan set mod imbangan putih bila imej " "ditangkap." #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 msgid "Digital Zoom Ratio" msgstr "Nisbah Zum Digital" #: src/properties.cpp:608 msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "" "Tag EXIF 41988, 0xA404. Menunjukkan nisbah zum digital bila imej ditangkap." #: src/properties.cpp:609 src/tags.cpp:1800 msgid "Focal Length In 35mm Film" msgstr "Jarak Fokus Dalam Filem 35mm" #: src/properties.cpp:609 msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" "Tag EXIF 41989, 0xA405. Menunjukkan panjang fokus yang menyamai kamera filem " "35mm, dalam mm. Nilai 0 bermaksud panjang fokus tidak diketahui. Perhatian " "tag ini berbeza dengan tag FocalLength." #: src/properties.cpp:612 src/tags.cpp:1806 msgid "Scene Capture Type" msgstr "Jenis Tangkapan Adegan" #: src/properties.cpp:612 msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "EXIF tag 41990, 0xA406. Menyatakan jenis adegan yang ditangkap." #: src/properties.cpp:613 src/tags.cpp:1811 msgid "Gain Control" msgstr "Kawalan Gandaan" #: src/properties.cpp:613 msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "" "Tag EXIF 41991, 0xA407. Menunjukkan keseluruhan darjah pelarasan gandaan " "imej." #: src/properties.cpp:614 msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" "Tag EXIF 41992, 0xA408. Menunjukkan arah pemprosesan beza jelas yang " "dilaksana oleh kamera." #: src/properties.cpp:615 msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" "Tag EXIF 41993, 0xA409. Menunjukkan aras pemprosesan ketepuan yang dilaksana " "oleh kamera." #: src/properties.cpp:616 msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" "Tag EXIF 41994, 0xA40A. Menunjukkan aras pemprosesan kejelasan yang " "dilaksana oleh kamera." #: src/properties.cpp:617 src/tags.cpp:1826 msgid "Device Setting Description" msgstr "Keterangan Tetapan Peranti" #: src/properties.cpp:617 msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" "Tag EXIF 41995, 0xA40B. Menunjukkan maklumat pada keadaan pengambilan-gambar " "bagi model kamera tertentu." #: src/properties.cpp:618 src/tags.cpp:1831 msgid "Subject Distance Range" msgstr "Julat Jarak Subjek" #: src/properties.cpp:618 msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "EXIF tag 41996, 0xA40C. Menyatakan jarak subjek." #: src/properties.cpp:619 src/tags.cpp:1834 msgid "Image Unique ID" msgstr "ID Unik Imej" #: src/properties.cpp:619 msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" "Tag EXIF 42016, 0xA420. Merupakan pengenalpasti yang diumpuk secara unik " "pada setiap imej. Ia dirakam sebagai rentetan ASCII aksara 32, menyamai " "dengan catatan heksadesimal dan panjang tetap 128-bit fixed." #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 msgid "GPS Version ID" msgstr "ID Versi GPS" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" "Tag GPS 0, 0x00. Merupakan pengekodan desimal bagi setiap empat bait EXIF " "dengan pemisah tanda titik bertindih. Nilai semasa ialah \"2.0.0.0\"." #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "Latitud GPS" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "" "Tag GPS 2, 0x02 (kedudukan) dan 1, 0x01 (Utara/Selatan). Menunjukkan latitud." #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "Longitud GPS" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "" "Tag GPS 4, 0x04 (kedudukan) dan 3, 0x03 (Timur/Barat). Menunjukkan longitud." #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 msgid "GPS Altitude Reference" msgstr "Rujukan Altitud GPS" #: src/properties.cpp:625 src/properties.cpp:1168 msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "" "Tag GPS 5, 0x05. Menunjukkan sama ada altitud berada diatas atau dibawah " "aras laut." #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "Altitud GPS" #: src/properties.cpp:626 src/properties.cpp:1167 msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "Tag GPS 6, 0x06. Menunjukkan altitud dalam meter." #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 msgid "GPS Time Stamp" msgstr "Setem Masa GPS" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" "Tag GPS 29 (tarikh), 0x1D, dan, dan tag GPS 7 (masa), 0x07. Setem masa data " "GPS, dalam Masa Universal Selaras. Perhatian: Tag GPSDateStamp adalah baru " "didalam EXIF 2.2. Setem masa GPS dalam EXIF 2.1 tidak sertakan tarikh. Jika " "tidak hadir, komponen tarikh untuk XMP boleh diambil dari exif:" "DateTimeOriginal, atau jika ia ketiadaan dari exif:DateTimeDigitized. Jika " "tiada tarikh tersedia, jangan tulis exif:GPSTimeStamp ke XMP." #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 msgid "GPS Satellites" msgstr "Satelit GPS" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "GPS tag 8, 0x08. Maklumat satelit, format tidak dinyatakan." #: src/properties.cpp:634 src/tags.cpp:1989 msgid "GPS Status" msgstr "Status GPS" #: src/properties.cpp:634 msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "GPS tag 9, 0x09. Status bagi penerima GPS pada masa penciptaan imej." #: src/properties.cpp:635 src/tags.cpp:1994 msgid "GPS Measure Mode" msgstr "Mod Ukuran GPS" #: src/properties.cpp:635 msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "GPS tag 10, 0x0A. mod pengukuran GPS, Jenis teks." #: src/properties.cpp:636 msgid "GPS DOP" msgstr "DOP GPS" #: src/properties.cpp:636 msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "GPS tag 11, 0x0B. Darjah ketepatan bagi data GPS." #: src/properties.cpp:637 src/tags.cpp:2002 msgid "GPS Speed Reference" msgstr "Rujukan Kelajuan GPS" #: src/properties.cpp:637 msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "GPS tag 12, 0x0C. Unit digunakan untuk pengukuran kelajuan." #: src/properties.cpp:638 src/tags.cpp:2006 msgid "GPS Speed" msgstr "Kelajuan GPS" #: src/properties.cpp:638 msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "GPS tag 13, 0x0D. Kelajuan bagi pergerakan penerima GPS." #: src/properties.cpp:639 msgid "GPS Track Reference" msgstr "Rujukan Trek GPS" #: src/properties.cpp:639 msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "GPS tag 14, 0x0E. Rujukan bagi arah pergerakan." #: src/properties.cpp:640 src/tags.cpp:2013 msgid "GPS Track" msgstr "Trek GPS" #: src/properties.cpp:640 msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" "GPS tag 15, 0x0F. Arah pergerakan GPS, julat nilai dari 0 hingga 359.99." #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 msgid "GPS Image Direction Reference" msgstr "Rujukan Arah Imej GPS" #: src/properties.cpp:641 msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "GPS tag 16, 0x10. Rujukan bagi arah imej." #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 msgid "GPS Image Direction" msgstr "Arah Imej GPS" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" "GPS tag 17, 0x11. Arah bagi imej bila ditangkap, julat nilai dari 0 hingga " "359.99." #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 msgid "GPS Map Datum" msgstr "Datum Peta GPS" #: src/properties.cpp:643 msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "GPS tag 18, 0x12. Data tinjauan geodetik." #: src/properties.cpp:644 src/tags.cpp:2033 msgid "GPS Destination Latitude" msgstr "Latitud Destinasi GPS" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" "Tag GPS 20, 0x14 (kedudukan) dan 19, 0x13 (Utara/Selatan). Menunjukkan " "latitud destinasi." #: src/properties.cpp:645 src/tags.cpp:2045 msgid "GPS Destination Longitude" msgstr "Longitud Destinasi GPS" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" "Tag GPS 22, 0x16 (kedudukan) dan 21, 0x15 (Timur/Barat). Menunjukkan " "longitud destinasi." #: src/properties.cpp:646 src/tags.cpp:2052 msgid "GPS Destination Bearing Reference" msgstr "Rujukan Bering Destinasi GPS" #: src/properties.cpp:646 msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "Tag GPS 23, 0x17. Rujukan untuk arah pergerakan." #: src/properties.cpp:647 src/tags.cpp:2056 msgid "GPS Destination Bearing" msgstr "Bering Destinasi GPS" #: src/properties.cpp:647 msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "Tag GPS 24, 0x18. Bering destinasi, nilai dari 0 hingga 359.99." #: src/properties.cpp:648 src/tags.cpp:2060 msgid "GPS Destination Distance Reference" msgstr "Rujukan Jarak Destinasi GPS" #: src/properties.cpp:648 msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "Tag GPS 25, 0x19. Unit yang digunakan untuk pengukuran kelajuan." #: src/properties.cpp:649 src/tags.cpp:2064 msgid "GPS Destination Distance" msgstr "Jarak Destinaso GPS" #: src/properties.cpp:649 msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "Tag GPS 26, 0x1A. Jarak ke destinasi." #: src/properties.cpp:650 src/tags.cpp:2067 msgid "GPS Processing Method" msgstr "Kaedah Pemprosesan GPS" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" "Tag GPS 27, 0x1B. Rentetan aksara merakam nama kaedah yang digunakan untuk " "mencari lokasi." #: src/properties.cpp:651 src/tags.cpp:2072 msgid "GPS Area Information" msgstr "Maklumat Kawasan GPS" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "Tag GPS 28, 0x1C. Rentetan aksara merakam nama kawasan GPS." #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "Perbezaan GPS" #: src/properties.cpp:652 msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "" "Tag GPS 30, 0x1E. Menunjukkan sama ada pembetulan perbezaan dilaksana pada " "penerima GPS." #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "" "Keterangan kanta yang digunakan untuk mengambil foto. Contohnya, \"70-200 mm " "f/2.8-4.0\"." #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "" "Nombor siri kamera atau badan kamera yang digunakan untuk mengambil foto." #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "Maklumat Hubungan Pencipta" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" "Maklumat hubungan pencipta sediakan semua maklumat yang diperlukan untuk " "berhubung dengan pencipta objek berita ini dan sediakan satu set sub-sifat " "bagi pengalamatan yang betul." #: src/properties.cpp:667 msgid "Contact Info-Address" msgstr "Maklumat Hubungan-Alamat" #: src/properties.cpp:667 #, fuzzy msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" "Maklumat hubungan bahagian alamat. Melibatkan nama syarikat dan semua " "maklumat pilihan yang diperlukan untuk mencari bangunan atau poskod yang " "mana mel akan dihantar." #: src/properties.cpp:669 msgid "Contact Info-City" msgstr "Maklumat Hubungan-Bandar" #: src/properties.cpp:669 #, fuzzy msgid "sub-key Creator Contact Info: city." msgstr "Maklumat Hubungan Pencipta" #: src/properties.cpp:670 msgid "Contact Info-State/Province" msgstr "Maklumat Hubungan-Negeri/Daerah" #: src/properties.cpp:670 #, fuzzy msgid "sub-key Creator Contact Info: state or province." msgstr "Maklumat Hubungan-Negeri/Daerah" #: src/properties.cpp:671 msgid "Contact Info-Postal Code" msgstr "Maklumat Hubungan-Poskod" #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "" #: src/properties.cpp:672 msgid "Contact Info-Country" msgstr "Maklumat Hubungan-Negara" #: src/properties.cpp:672 #, fuzzy msgid "sub-key Creator Contact Info: country." msgstr "Maklumat Hubungan Pencipta" #: src/properties.cpp:673 msgid "Contact Info-Email" msgstr "Maklumat hHubungan-Emel" #: src/properties.cpp:673 #, fuzzy msgid "sub-key Creator Contact Info: email address." msgstr "Maklumat hubungan bahagian alamat e-mel." #: src/properties.cpp:674 msgid "Contact Info-Phone" msgstr "Maklumat Hubungan-Telefon" #: src/properties.cpp:674 #, fuzzy msgid "sub-key Creator Contact Info: phone number." msgstr "Maklumat Hubungan Pencipta" #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "Maklumat Hubungan-URL Sesawang" #: src/properties.cpp:675 #, fuzzy msgid "sub-key Creator Contact Info: web address." msgstr "Maklumat Hubungan Pencipta" #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "Genre Intelek" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" "Terangkan karakter tabii, intelek atau jurnalistik bagi sesebuah objek " "berita, bukan khusus pada kandungannya." #: src/properties.cpp:678 msgid "IPTC Scene" msgstr "Adegan IPTC" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" "Terangkan adegan kandungan foto. Nyatakan satu atau lebih terma dari PTC " "\"Scene-NewsCodes\". Setiap adegan diwakilo sebagai rentetan 6 digit dalam " "senarai tidak bertertib." #: src/properties.cpp:680 msgid "IPTC Subject Code" msgstr "Kod Subjek IPTC" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" "Nyatakan satu atau lebih Subjek dari taksonomi IPTC \"Subject-NewsCodes\" " "untuk ketegorikan kandungan. Setiap subjek diwakili sebagai rentetan 8 digit " "dalam senarai tidak bertertib." #: src/properties.cpp:682 #, fuzzy msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" "Nama loksi kandungan yang difokuskan -- sama ada lokasi dipaparkan dalam " "media visual atau rujukan oleh media teks atau audio. Nama lokasi ini patut " "nama sublokasi bandar atau nama lokasi terkenal atau monumen diluar bandar. " "Mengikut hieraki, sublokasi bandar pada unsur ini adalah berada diaras " "keempat hieraki bergeografi." #: src/properties.cpp:687 #, fuzzy msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" "Kod kandungan negara memfokuskan pada -- sama ada negara dipaparkan dalam " "media visual atau rujukan dalam media teks atau audio. Unsur ini adalah aras " "tertinggi/pertama dalam hieraki bergeografi. Kod patut diambil dari dua atau " "tiga kod huruf ISO 3166. Nama penuh negara patut pergi ke unsur \"Negara\"." #: src/properties.cpp:696 msgid "Additional model info" msgstr "Maklumat model tambahan" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" "Maklumat mengenai keetnikan dan lain-lain fakta model dan imej keluaran-" "model." #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "Kod bagi Organisasi terfitur" #: src/properties.cpp:697 #, fuzzy msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "" "Kod dari tatabahasa terkawal untuk mengenalpasti organisasi atua syarikat " "yang difitur dalam imej." #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "Terma Tatabahasa Terkawal" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" "Terma untuk terangkan kandungan imej oleh nilai dari Tatabahasa Terkawal." #: src/properties.cpp:699 msgid "Model age" msgstr "Usia Model" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "Usia model manusia bila imej ini ditangkap dalam imej keluaran model." #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "Nama bagi Organisas terfitur" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "Nama organisasi atau syarikat yang difitur dalam imej." #: src/properties.cpp:701 msgid "Person shown" msgstr "Individu yang dipaparkan" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "Nama individu yang dipaparkan dalam imej" #: src/properties.cpp:702 msgid "Digital Image Identifier" msgstr "Pengenalpasti Imej Digital" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" "Pengenalpasti unik secara sejagat untuk imej digital ini. Ia dicipta dan " "dilaksana oleh pencipta imej digital pada masa penciptaannya. Nilai ini " "tidak akan berubah selepas itu." #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "Jenis fizikal bagi foto asal" #: src/properties.cpp:703 msgid "The type of the source digital file." msgstr "Jenis bagi fail digital sumber." #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 msgid "Event" msgstr "Peristiwa" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "Nama atau keterangan bagi peristiwa tertentu bila foto diambil." #: src/properties.cpp:705 msgid "Maximum available height" msgstr "Tinggi maksimum yang tersedia" #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" "Tinggi maksimum yang tersedia dalam piksel untuk foto asal yang mana foto " "ini telah diterbitkan secara pengurangan saiz." #: src/properties.cpp:706 msgid "Maximum available width" msgstr "Lebar maksimum yang tersedia" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" "Lebar maksimum yang tersedia dalam piksel untuk foto asal yang mana foto ini " "telah diterbitkan secara pengurangan saiz." #: src/properties.cpp:707 msgid "Registry Entry" msgstr "Masukan Registry" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" "Kedua-dua Id Item Registry dan Id Organisasi Registry untuk rekodkan mana-" "mana pendaftara imej digital dengan registry." #: src/properties.cpp:708 msgid "Registry Entry-Item Identifier" msgstr "Pengenalpasti Item-Masukan Registry" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" "Pengenalpasti unik yang dicipta oleh registry dan dilaksana oleh pencipta " "imej digital. Nilai tidak akan berubah selepas ini. Pengenalpasti ini " "dipautkan pada Pengenalpasti Organisasi Registry." #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "Pengenalpasti OOrganisasi-Masukan Registry" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" "Merupakan pengenalpasti untuk registry yang keluarkan Id Imej Registry " "berkaitan." #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "Medan IPTC Terakhir Disunting" #: src/properties.cpp:710 msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "" "Tarikh dan masa secara pilihan bila mana-mana medan data meta foto IPTC " "disunting kali terakhir." #: src/properties.cpp:711 msgid "Location shown" msgstr "Lokasi dipaparkan" #: src/properties.cpp:711 msgid "A location shown in the image." msgstr "Lokasi yang dipaparkan dalam imej." #: src/properties.cpp:712 msgid "Location Created" msgstr "Lokasi Dicipta" #: src/properties.cpp:712 msgid "The location the photo was taken." msgstr "Lokasi foto ditangkap." #: src/properties.cpp:713 msgid "Location-City" msgstr "Lokasi-Bandar" #: src/properties.cpp:713 msgid "Name of the city of a location." msgstr "Nama bandar lokasi tersebut." #: src/properties.cpp:714 msgid "Location-Country ISO-Code" msgstr "Lokasi-Kod-ISO Negara" #: src/properties.cpp:714 msgid "The ISO code of a country of a location." msgstr "Kod ISO bagi negara lokasi tersebut." #: src/properties.cpp:715 msgid "Location-Country Name" msgstr "Lokasi-Nama Negara" #: src/properties.cpp:715 msgid "The name of a country of a location." msgstr "Nama negara bagi lokasi tersebut." #: src/properties.cpp:716 msgid "Location-Province/State" msgstr "Lokasi-Daerah/Negeri" #: src/properties.cpp:716 msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "" "Nama bagi subwilayah negara - daerah atau negeri - bagi lokasi tersebut." #: src/properties.cpp:717 msgid "Location-Sublocation" msgstr "Lokasi-Sublokasi" #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" "Nama sublokasi. Nama sublokas ini sama ada nama sublokasi bandar atau nama " "lokasi terkenal atau monumen diluar bandar." #: src/properties.cpp:718 msgid "Location-World Region" msgstr "Lokasi-Rantau Dunia" #: src/properties.cpp:718 msgid "The name of a world region of a location." msgstr "Nama rantau dunia lokasi tersebut." #: src/properties.cpp:719 msgid "Artwork or object in the image" msgstr "Kerja seni atau objek dalam imej" #: src/properties.cpp:719 msgid "A set of metadata about artwork or an object in the image." msgstr "Merupakan set data meta mengenai kerja seni atau objek dalam imej." #: src/properties.cpp:720 msgid "Artwork or object-Copyright notice" msgstr "Kerja seni atau objek-Makluman hakcipta" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" "Mengandungi makluman hakcipta berkenaan untuk menuntut hak intelek untuk " "kerja seni atau objek dalam imej dan patut kenalpasti pemilik hakcipta kerja " "ini yang berkenaan dengan hak harta intelek." #: src/properties.cpp:721 msgid "Artwork or object-Creator" msgstr "Kerja seni atau objek-Pencipta" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" "Mengandungi nama artis yang mencipta kerja seni atau objek dalam imej. Jika " "artis tidak dikenali, nama syarikat atau organisasi juga memadai." #: src/properties.cpp:722 msgid "Artwork or object-Date Created" msgstr "Kerja seni atau objek-Tarikh Dicipta" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" "Reka tarikh dan masa secara pilihan pada kerja seni atau objek dalam imej " "yang dicipta. Ia berkaitan dengan kerja seni atau objek dengan hak harta " "intelek yang berkaitan." #: src/properties.cpp:723 msgid "Artwork or object-Source" msgstr "Kerja seni atau objek-Sumber" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" "Organisasi atau badan yang memegang dan mendaftar kerja seni atau objek " "dalam imej untuk tujuan inventori." #: src/properties.cpp:724 msgid "Artwork or object-Source inventory number" msgstr "Kerja seni atau objek-Nombor inventori sumber" #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" "Nombor inventori yang diisu oleh organisasi atau badan yang memegang dan " "mendaftar kerja seni atau objek dalam imej." #: src/properties.cpp:725 msgid "Artwork or object-Title" msgstr "Kerja seni atau objek-Tajuk" #: src/properties.cpp:725 msgid "A reference for the artwork or object in the image." msgstr "Rujukan untuk kerja seni atau objek dalam imej." #: src/properties.cpp:732 msgid "Scan from film" msgstr "Imbas dari filem" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "Imbas dari transparensi (termasuk slaid)" #: src/properties.cpp:734 msgid "Scan from print" msgstr "Imbas dari cetakan" #: src/properties.cpp:735 msgid "Camera RAW" msgstr "RAW Kamera" #: src/properties.cpp:736 msgid "Camera TIFF" msgstr "TIFF Kamera" #: src/properties.cpp:737 msgid "Camera JPEG" msgstr "JPEG Kamera" #: src/properties.cpp:742 msgid "PLUS Version" msgstr "Versi PLUS" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "Nombor versi piawaian PLUS pada masa transaksi." #: src/properties.cpp:743 msgid "Licensee" msgstr "Lesen" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "Kumpulan yang mana lesen diberi oleh Pelesen dibawah transaksi lesen." #: src/properties.cpp:744 msgid "Licensee ID" msgstr "ID Lesen" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "ID-PLUS tambahan mengenalpasti setiap Lesen." #: src/properties.cpp:745 msgid "Licensee Name" msgstr "Nama Lesen" #: src/properties.cpp:745 msgid "Name of each Licensee." msgstr "Nama bagi setiap Lesen." #: src/properties.cpp:746 msgid "End User" msgstr "Pengguna Akhir" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "Kumpulan yang menggunakan imej dibawah terma lesen." #: src/properties.cpp:747 msgid "End User ID" msgstr "ID Pengguna Akhir" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "ID-PLUS pilihan yang mengenalpsti setiap Pengguna Akhir." #: src/properties.cpp:748 msgid "End User Name" msgstr "Nama Pengguna Akhir" #: src/properties.cpp:748 msgid "Name of each End User." msgstr "Nama bagi setiap Pengguna Akhir." #: src/properties.cpp:749 msgid "Licensor" msgstr "Pemberi Lesen" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "Kumpulan memberi lesen kepada Pemegang Lesen." #: src/properties.cpp:750 msgid "Licensor ID" msgstr "ID Pemberi Lesen" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "ID-PLUS pilihan mengenalpasti setiap Pemberi Lesen." #: src/properties.cpp:751 msgid "Licensor Name" msgstr "Nama Pemberi Lesen" #: src/properties.cpp:751 msgid "Name of each Licensor." msgstr "Nama bagi setiap Pemberi Lesen." #: src/properties.cpp:752 msgid "Licensor Address" msgstr "Alamat Pemberi Lesen" #: src/properties.cpp:752 msgid "Licensor street address." msgstr "Alamat jalan Pemberi Lesen." #: src/properties.cpp:753 msgid "Licensor Address Detail" msgstr "Perincian Alamat Pemberi Lesen" #: src/properties.cpp:753 msgid "Additional Licensor mailing address details." msgstr "Perincian tambahan alamat mel Pemberi Lesen." #: src/properties.cpp:754 msgid "Licensor City" msgstr "Bandar Pemberi Lesen" #: src/properties.cpp:754 msgid "Licensor City name." msgstr "Nama Bandar Pemberi Lesen." #: src/properties.cpp:755 msgid "Licensor State or Province" msgstr "Negeri atau Wilayah Pemberi Lesen." #: src/properties.cpp:755 msgid "Licensor State or Province name." msgstr "Nama Negeri atau Wilayah Pemberi Lesen." #: src/properties.cpp:756 msgid "Licensor Postal Code" msgstr "Poskod Pemberi Lesen" #: src/properties.cpp:756 msgid "Licensor Postal Code or Zip Code." msgstr "Poskod atau Kod Zip Pemberi Lesen." #: src/properties.cpp:757 msgid "Licensor Country" msgstr "Negara Pemberi Lesen" #: src/properties.cpp:757 msgid "Licensor Country name." msgstr "Nama Negara Pemberi Lesen." #: src/properties.cpp:758 msgid "Licensor Telephone Type 1" msgstr "Telefon Pemberi Lesen Jenis 1" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1." msgstr "Telefon Pemberi Lesen Jenis 1." #: src/properties.cpp:759 msgid "Licensor Telephone 1" msgstr "Telefon Pemberi Lesen 1" #: src/properties.cpp:759 msgid "Licensor Telephone number 1." msgstr "Nombor Telefon Pemberi Lesen 1." #: src/properties.cpp:760 msgid "Licensor Telephone Type 2" msgstr "Telefon Pemberi Lesen Jenis 2" #: src/properties.cpp:760 msgid "Licensor Telephone Type 2." msgstr "Telefon Pemberi Lesen Jenis 2." #: src/properties.cpp:761 msgid "Licensor Telephone 2" msgstr "Telefon Pemberi Lesen 2" #: src/properties.cpp:761 msgid "Licensor Telephone number 2." msgstr "Nombor Telefon Pemberi Lesen 2." #: src/properties.cpp:762 msgid "Licensor Email" msgstr "E-mel Pemberi Lesen" #: src/properties.cpp:762 msgid "Licensor Email address." msgstr "Alamat E-mel Pemberi Lesen." #: src/properties.cpp:763 msgid "Licensor URL" msgstr "URL Pemberi Lesen" #: src/properties.cpp:763 msgid "Licensor world wide web address." msgstr "Alamat sesawang Pemberi Lesen." #: src/properties.cpp:764 msgid "Licensor Notes" msgstr "Nota Pemberi Lesen" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" "Maklumat tambahan yang digunakan untuk kenalpasti dan menghubungi Pemberi " "Lesen." #: src/properties.cpp:765 msgid "PLUS Media Summary Code" msgstr "Kod Ringkasan Media PLUS" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" "Rentetan kod alfanumerik PLUS-terpiawai yang meringkaskan penggunaan media " "yang disertakan dalam lesen." #: src/properties.cpp:766 msgid "License Start Date" msgstr "Tarikh Mula Lesen" #: src/properties.cpp:766 msgid "The date on which the license takes effect." msgstr "Tarikh yang mana lesen digunapakai." #: src/properties.cpp:767 msgid "License End Date" msgstr "Tarikh Akhir Lesen" #: src/properties.cpp:767 msgid "The date on which the license expires." msgstr "Tarikh yang mana lesen luput." #: src/properties.cpp:768 msgid "Media Constraints" msgstr "Kekangan Media" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" "Kekangan menghadkan skop Penggunaan Media PLUS termasuklah dalam lesen yang " "mana media bernama atau media yang belum dinyatakan ditakrif dalam Matriks " "Media PLUS." #: src/properties.cpp:769 msgid "Region Constraints" msgstr "Kekangan Kawasan" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" "Kekangan menghadkan skop distribusi ke bandar, negeri, daerah atau kawasan " "lain yang dinyatakan untuk disertakan atau diasingkan dari Wilayah PLUS yang " "dinyatakan dalam Penggunaan Media sepertimana ditakrif dalam lesen." #: src/properties.cpp:770 msgid "Product or Service Constraints" msgstr "Kekangan Produk atau Perkhidmatan" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" "Kekangan menghadkan penggunaan imej untuk promosi yang berkaitan dengan " "produk atau perkhidmatan yang dinamakan." #: src/properties.cpp:771 msgid "Image File Constraints" msgstr "Kekangan Fail Imej" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "Kekangan bila menukar nama fail, data meta atau jenis fail imej." #: src/properties.cpp:772 msgid "Image Alteration Constraints" msgstr "Kekangan Pengubahan Imej" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" "Kekangan pada pengubahan imej dengan cara mengerat, mengalih, merapi, " "mewarna, menyahwarna atau menggabung." #: src/properties.cpp:773 msgid "Image Duplication Constraints" msgstr "Kekangan Duplikasikan Imej" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "Kekangan pada penciptaan pendua imej." #: src/properties.cpp:774 msgid "Model Release Status" msgstr "Status Keluaran Model" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" "Ringkaskan ketersediaan dan skop penggunaan keizinan keluaran model bagi " "persamaan individu yang kelihatan dalam foto." #: src/properties.cpp:775 msgid "Model Release ID" msgstr "ID Keluaran Model" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "Pengenalpasti pilihan yang berkaitan dengan setiap Keluaran Model." #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "Pendedahan Usia Model Cilik" #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "Usia moodel termuda yang kelihatan dalam imej, pada masa imej diambil." #: src/properties.cpp:777 msgid "Property Release Status" msgstr "Status Keluaran Harta" #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" "Ringkaskan ketersediaan dan skop penggunaan keizinan keluaran harta bagi " "harta yang kelihatan dalam foto." #: src/properties.cpp:778 msgid "Property Release ID" msgstr "ID Keluaran Harta" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "Pengenalpasti pilihan yang berkaitan dengan setiap Keluaran Harta." #: src/properties.cpp:779 msgid "Other Constraints" msgstr "Kekangan Lain" #: src/properties.cpp:779 msgid "Additional constraints on the license." msgstr "Kekangan tambahan lesen." #: src/properties.cpp:780 msgid "Credit Line Required" msgstr "Barisan Penghargaan Diperlukan." #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "Keperluan atribusi, jika ada." #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "Amaran Kandungan Dewasa" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "" "Amaran yang menunjukkan kehadiran kandungan yang tidak sesuai untuk kanak-" "kanak." #: src/properties.cpp:782 msgid "Other License Requirements" msgstr "Keperluan Lain Lesen" #: src/properties.cpp:782 msgid "Additional license requirements." msgstr "Keperluan tambahan lesen." #: src/properties.cpp:783 msgid "Terms and Conditions Text" msgstr "Teks Terma dan Syarat" #: src/properties.cpp:783 msgid "Terms and Conditions applying to the license." msgstr "Terma dan Syarat yang dilaksana terhadap lesen." #: src/properties.cpp:784 msgid "Terms and Conditions URL" msgstr "URL Terma dan Syarat" #: src/properties.cpp:784 msgid "URL for Terms and Conditions applying to the license." msgstr "URL untuk Terma dan Syarat yang dilaksana kepada lesen." #: src/properties.cpp:785 msgid "Other License Conditions" msgstr "Syarat Lain Lesen" #: src/properties.cpp:785 msgid "Additional license conditions." msgstr "Syarat tambahan lesen." #: src/properties.cpp:786 msgid "Identifies the type of image delivered." msgstr "Kenalpasti jenis imej yang diserah." #: src/properties.cpp:787 msgid "Licensor Image ID" msgstr "ID Imej Pemberi Lesen" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "Pengenalpasti pilihan yang diumpuk oleh Pemberi Lesen ke imej." #: src/properties.cpp:788 msgid "Image File Name As Delivered" msgstr "Nama Fail Imej Sebagaimana Diserah" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "" "Nama bagi fail imej yang diserah kepada pemegang lesen untuk diguna mengikut " "lesen." #: src/properties.cpp:789 msgid "Image File Format As Delivered" msgstr "Format Fail Imej Sebagaimana Diserah" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "" "Format fail bagi fail imej yang diserah kepada Pemegang lesen untuk diguna " "mengikut lesen." #: src/properties.cpp:790 msgid "Image File Size As Delivered" msgstr "Saiz Fail Imej Sepertimana Yang Diserah" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "Saiz fail imej yang diserah ke Pemegang Lesen." #: src/properties.cpp:791 msgid "Copyright Status" msgstr "Status Hakcipta" #: src/properties.cpp:791 msgid "Copyright status of the image." msgstr "Status hakcipta imej." #: src/properties.cpp:792 msgid "Copyright Registration Number" msgstr "Nombor Pendaftaran Hakcipta" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" "Nombot Pendaftaran Hakcipta, jika ada, dilaksana kepada imej yang dilesenkan." #: src/properties.cpp:793 msgid "First Publication Date" msgstr "Tarkih Penerbitan Pertama" #: src/properties.cpp:793 msgid "The date on which the image was first published." msgstr "Tarikh yang mana imej kali pertama diterbitkan." #: src/properties.cpp:794 msgid "Copyright Owner" msgstr "Pemilik Hakcipta" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "Pemilik hakcipta dalam imej yang dilesenkan." #: src/properties.cpp:795 msgid "Copyright Owner ID" msgstr "ID Pemilik Hakcipta" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "ID-PLUS pilihan yang mengenalpasti setiap Pemilik Hakcipta." #: src/properties.cpp:796 msgid "Copyright Owner Name" msgstr "Nama Pemilik Hakcipta" #: src/properties.cpp:796 msgid "Name of Copyright Owner." msgstr "Nama bagi Pemilik Hakcipta." #: src/properties.cpp:797 msgid "Copyright Owner Image ID" msgstr "ID Imej Pemilik Hakcipta" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "Pengenalpasti pilihan yang diumpuk oleh Pemilik Hakcipta kepada imej." #: src/properties.cpp:798 msgid "Image Creator" msgstr "Pencipta Imej" #: src/properties.cpp:798 msgid "Creator/s of the image." msgstr "Pencipta imej." #: src/properties.cpp:799 msgid "Image Creator ID" msgstr "ID Pencipta Imej" #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "ID-PLUS pilihan yang mengenalpasti setiap Pencipta Imej." #: src/properties.cpp:800 msgid "Image Creator Name" msgstr "Nama Pencipta Imej" #: src/properties.cpp:800 msgid "Name of Image Creator." msgstr "Nama bagi Pencipta Imej." #: src/properties.cpp:801 msgid "Image Creator Image ID" msgstr "ID Imej Pencipta Imej" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "Pengenalpasti pilihan yang diumpuk oleh Pencipta Imej terhadap imej." #: src/properties.cpp:802 msgid "Image Supplier ID" msgstr "ID Pembekal Imej" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "ID-PLUS pilihan yang mengenalpasti Pembekal Imej." #: src/properties.cpp:803 msgid "Image Supplier Name" msgstr "Nama Pembekal Imej" #: src/properties.cpp:803 msgid "Name of Image Supplier." msgstr "Nama bagi Pembekal Imej." #: src/properties.cpp:804 msgid "Image Supplier Image ID" msgstr "ID Imej Pembekal Imej" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "Pengenalpasti pilihan yang diumpuk oleh Pembekal Imej terhadap imej." #: src/properties.cpp:805 msgid "Licensee Image ID" msgstr "ID Imej Pemegang Lesen" #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "Pengenalpasti pilihan yang diumpuk oleh Pemegang Lesen terhadap imej." #: src/properties.cpp:806 msgid "Licensee Image Notes" msgstr "Nota Imej Pemegang Lesen" #: src/properties.cpp:806 msgid "Notes added by Licensee." msgstr "Nota ditambah oleh Pemegang Lesen." #: src/properties.cpp:807 msgid "Other Image Info" msgstr "Maklumat Imej Lain" #: src/properties.cpp:807 msgid "Additional image information." msgstr "Maklumat tambahan imej." #: src/properties.cpp:808 msgid "License ID" msgstr "ID Lesen" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "ID-PLUS pilihan yang diumpuk oleh Pemberi Lesen terhadap Lesen." #: src/properties.cpp:809 msgid "Licensor Transaction ID" msgstr "ID Transaksi Pemberi Lesen" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "" "Pengenalpasti yang diumpuk oleh Pemberi Lesen untuk rujukan dan kegunaan " "dalaman Pemberi Lesen." #: src/properties.cpp:810 msgid "Licensee Transaction ID" msgstr "ID Transaksi Pemegang Lesen" #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" "Pengenalpasti yang diumpuk oleh Pemegang Lesen untuk rujukan dan kegunaan " "dalaman Pemegang Lesen." #: src/properties.cpp:811 msgid "Licensee Project Reference" msgstr "Rujukan Projek Pemegang Lesen" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "Nama rujukan atau keterangan projek yang diumpuk oleh Pemegang Lesen." #: src/properties.cpp:812 msgid "License Transaction Date" msgstr "Tarikh Transaksi Lesen" #: src/properties.cpp:812 msgid "The date of the License Transaction." msgstr "Tarikh Transaksi Lesen" #: src/properties.cpp:813 msgid "Reuse" msgstr "Guna Semula" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" "Menunjukkan sama ada lesen adalah lesen ulangan atau lesen awalan. Guna " "semula perlukan lesen yang disimpan dakam fail yang diserah sebelum ini " "kepada pengguna yang mana akan dikemaskinikan." #: src/properties.cpp:814 msgid "Other License Documents" msgstr "Dokumen Lesen Lain" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "Maklumat rujukan untuk dokumen tambahan yang berkaitan dengan lesen." #: src/properties.cpp:815 msgid "Other License Info" msgstr "Maklumat Lesen Lain" #: src/properties.cpp:815 msgid "Additional license information." msgstr "Maklumat lesen tambahan." #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "Medan pilihan untuk diguna mengikut budi bicara Pemberi Lesen." #: src/properties.cpp:819 msgid "Custom 4" msgstr "Suai 4" #: src/properties.cpp:820 msgid "Custom 5" msgstr "Suai 5" #: src/properties.cpp:821 msgid "Custom 6" msgstr "Suai 6" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "Medan pilihan yang diguna mengikut budi bicara Pemegang Lesen." #: src/properties.cpp:822 msgid "Custom 7" msgstr "Suai 7" #: src/properties.cpp:823 msgid "Custom 8" msgstr "Suai 8" #: src/properties.cpp:824 msgid "Custom 9" msgstr "Suai 9" #: src/properties.cpp:825 msgid "Custom 10" msgstr "Suai 10" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "Amaran Kandungan Dewasa Diperlukan" #: src/properties.cpp:833 msgid "Not Required" msgstr "Tidak Diperlukan" #: src/properties.cpp:839 msgid "Protected" msgstr "Dilindungi" #: src/properties.cpp:840 msgid "Public Domain" msgstr "Domain Awam" #: src/properties.cpp:846 msgid "Credit Adjacent To Image" msgstr "Penghargaan Bersebelahan Imej" #: src/properties.cpp:847 msgid "Credit in Credits Area" msgstr "Penghargaan dalam Kawasan Penghargaan" #: src/properties.cpp:848 msgid "Credit on Image" msgstr "Penghargaan dalam Imej" #: src/properties.cpp:849 msgid "Not Require" msgstr "Tidak Diperlukan" #: src/properties.cpp:854 msgid "No Colorization" msgstr "Tiada Pewarnaan" #: src/properties.cpp:855 msgid "No Cropping" msgstr "Tiada Pengeratan" #: src/properties.cpp:856 msgid "No De-Colorization" msgstr "Tiada Nyah-Pewarnaan" #: src/properties.cpp:857 msgid "No Flipping" msgstr "Tiada Pengalihan" #: src/properties.cpp:858 msgid "No Merging" msgstr "Tiada Penggabungan" #: src/properties.cpp:859 msgid "No Retouching" msgstr "Tiada Perapian" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "Penduaan Sahaja sebagaimana Perlu Dibawah Lesen" #: src/properties.cpp:865 msgid "No Duplication Constraints" msgstr "Tiada Kekangan Duplikasi" #: src/properties.cpp:866 msgid "No Duplication" msgstr "Tiada Duplikasi" #: src/properties.cpp:871 msgid "Maintain File Name" msgstr "Kekal Nama Fail" #: src/properties.cpp:872 msgid "Maintain File Type" msgstr "Kekal Jenis Fail" #: src/properties.cpp:873 msgid "Maintain ID in File Name" msgstr "Kekal ID dalam Nama Fail" #: src/properties.cpp:874 msgid "Maintain Metadata" msgstr "Kekal Data Meta" #: src/properties.cpp:879 msgid "Windows Bitmap (BMP)" msgstr "Peta Bit Windows (BMP)" #: src/properties.cpp:880 msgid "Digital Negative (DNG)" msgstr "Negatif Digital (DNG)" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "PostSkrip Terkurung (EPS)" #: src/properties.cpp:882 msgid "Graphics Interchange Format (GIF)" msgstr "Format Pertukaran Grafik (GIF)" #: src/properties.cpp:883 msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "Format Pertukaran JPEG (JPG, JIF, JFIF)" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "Macintosh Picture (PICT)" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "Grafik Rangkaian Mudah Alih (PNG)" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "Dokumen Photoshop (PSD)" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "Format Imej RAW Proprietari" #: src/properties.cpp:889 msgid "Tagged Image File Format (TIFF)" msgstr "Format Fail Imej Bertag (TIFF)" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "Foto Media Windows (HD Photo)" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "Lebih besar dari 50 MB" #: src/properties.cpp:896 msgid "Up to 1 MB" msgstr "Sehingga 1 MB" #: src/properties.cpp:897 msgid "Up to 10 MB" msgstr "Sehingga 10 MB" #: src/properties.cpp:898 msgid "Up to 30 MB" msgstr "Sehingga 30 MB" #: src/properties.cpp:899 msgid "Up to 50 MB" msgstr "Sehingga 50 MB" #: src/properties.cpp:904 msgid "Illustrated Image" msgstr "Imej Berilustrasi" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "Imej Berkomposit atau Multimedia" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "Imej Fotografik" #: src/properties.cpp:913 msgid "Cell" msgstr "Telefon Bimbit" #: src/properties.cpp:914 msgid "FAX" msgstr "FAKS" #: src/properties.cpp:916 msgid "Pager" msgstr "Alat Kelui" #: src/properties.cpp:917 msgid "Work" msgstr "Tempat Kerja" #: src/properties.cpp:922 msgid "Age Unknown" msgstr "Usia Tidak Diketahui" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "Usia 25 dan Keatas" #: src/properties.cpp:924 msgid "Age 24" msgstr "Usia 24" #: src/properties.cpp:925 msgid "Age 23" msgstr "Usia 23" #: src/properties.cpp:926 msgid "Age 22" msgstr "Usia 22" #: src/properties.cpp:927 msgid "Age 21" msgstr "Usia 21" #: src/properties.cpp:928 msgid "Age 20" msgstr "Usia 20" #: src/properties.cpp:929 msgid "Age 19" msgstr "Usia 19" #: src/properties.cpp:930 msgid "Age 18" msgstr "Usia 18" #: src/properties.cpp:931 msgid "Age 17" msgstr "Usia 17" #: src/properties.cpp:932 msgid "Age 16" msgstr "Usia 16" #: src/properties.cpp:933 msgid "Age 15" msgstr "Usia 15" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "Usia 14 dan Kebawah" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "Tidak Dilaksana" #: src/properties.cpp:941 msgid "Unlimited Model Releases" msgstr "Keluaran Model Tidak Terhad" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "Keluaran Model Tidak Lengkap atau Terhad" #: src/properties.cpp:949 msgid "Unlimited Property Releases" msgstr "Keluaran Harta Tidak Terhad" #: src/properties.cpp:950 msgid "Limited or Incomplete Property Releases" msgstr "Keluaran Harta Tidak Lengkap atau Terhad" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "Guna Berulang" #: src/properties.cpp:960 src/properties.cpp:969 msgid "Fixture Identification" msgstr "Pengenalpastian Lengkapan" #: src/properties.cpp:961 src/properties.cpp:970 msgid "Status" msgstr "Status" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "Notasi yang menjadikan imej unik" #: src/properties.cpp:962 src/properties.cpp:971 msgid "People" msgstr "Orang" #: src/properties.cpp:963 src/properties.cpp:972 #, fuzzy msgid "Catalog Sets" msgstr "Set Katalog" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "Penanda perihalan bagi item katalog mengikut kandungan" #: src/properties.cpp:978 msgid "RegionInfo" msgstr "RegionInfo" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "Root data meta pengetagan-individu Microsoft Photo" #: src/properties.cpp:984 src/properties.cpp:1000 msgid "Regions" msgstr "Kawasan" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "Tag Kawasan/individu terkandungi" #: src/properties.cpp:985 #, fuzzy msgid "Date Regions Valid" msgstr "DateRegionsValid" #: src/properties.cpp:985 msgid "Date the last region was created" msgstr "Tarikh kawasan terakhir telah dicipta" #: src/properties.cpp:991 #, fuzzy msgid "Person Display Name" msgstr "PersonDisplayName" #: src/properties.cpp:991 msgid "Name of the person (in the given rectangle)" msgstr "Nama individu (dalam segiempat yang diberi)" #: src/properties.cpp:992 msgid "Rectangle" msgstr "Segiempat" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "Segiempat yang mengenalpasti individu di dalam foto" #: src/properties.cpp:993 #, fuzzy msgid "Person Email Digest" msgstr "PersonEmailDigest" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "SHA-1 cincangan mesej tersulit bagi alamat e-mel Windows Live individu" #: src/properties.cpp:994 #, fuzzy msgid "Person LiveId CID" msgstr "PersonLiveCID" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "Perwakilang desimal bertandatangan bagi CID Windows Live individu" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1001 #, fuzzy msgid "Applied To Dimensions" msgstr "AppliedToDimensions" #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "Lebar dan tinggi imej bila menyimpan data kawasan" #: src/properties.cpp:1002 #, fuzzy msgid "Region List" msgstr "RegionList" #: src/properties.cpp:1002 msgid "List of Region structures" msgstr "Senarai struktur Kawasan" #: src/properties.cpp:1003 msgid "Area" msgstr "Kawasan" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "Tujuan jenis kawasan (Face|Pet|Focus|BarCode)" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "Nama/ keterangan pendek kandungan dalam kawasan imej" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" "Senario penggunaan bagi kawasan fokus yang diberi (EvaluatedUsed|" "EvaluatedNotUsed|NotEvaluatedNotUsed)" #: src/properties.cpp:1007 #, fuzzy msgid "Focus Usage" msgstr "FocusUsage" #: src/properties.cpp:1008 #, fuzzy msgid "Bar Code Value" msgstr "BarCodeValue" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "Rentetan nilai Barkod Ternyahkod" #: src/properties.cpp:1009 msgid "Extensions" msgstr "Sambungan" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "Sebarang sifat XMP aras tertinggi untuk terangkan kandungan kawasan" #: src/properties.cpp:1015 #, fuzzy msgid "Main structure containing keyword based information" msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "" #: src/properties.cpp:1016 #, fuzzy msgid "List of root keyword structures" msgstr "Senarai struktur Kawasan" #: src/properties.cpp:1017 #, fuzzy msgid "Keyword" msgstr "Kata Kunci" #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "" #: src/properties.cpp:1018 msgid "Applied" msgstr "" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" #: src/properties.cpp:1019 #, fuzzy msgid "List of children keyword structures" msgstr "Senarai struktur Kawasan" #: src/properties.cpp:1026 #, fuzzy msgid "Use Panorama Viewer" msgstr "Mod Panorama" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" #: src/properties.cpp:1027 #, fuzzy msgid "Capture Software" msgstr "Data Tangkapan" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" #: src/properties.cpp:1028 #, fuzzy msgid "Stitching Software" msgstr "Perisian Pemprosesan" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" #: src/properties.cpp:1029 #, fuzzy msgid "Projection Type" msgstr "Jenis Objek" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "" #: src/properties.cpp:1034 #, fuzzy msgid "The pitch angle of the initial view in degrees." msgstr "Jarak subjek, diberikan dalam meter." #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" #: src/properties.cpp:1037 #, fuzzy msgid "First Photo Date" msgstr "Tarkih Penerbitan Pertama" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "" #: src/properties.cpp:1038 #, fuzzy msgid "Last Photo Date" msgstr "Tarikh Syot" #: src/properties.cpp:1038 #, fuzzy msgid "Date and time for the last image created in the panorama." msgstr "Tarikh dan masa bila video asal dijana, dalam format ISO 8601. " #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "" #: src/properties.cpp:1040 #, fuzzy msgid "Exposure Lock Used" msgstr "Mod dedahan" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" #: src/properties.cpp:1041 #, fuzzy msgid "Cropped Area Image Width Pixels" msgstr "Lebar Imej Sumber" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" #: src/properties.cpp:1042 #, fuzzy msgid "Cropped Area Image Height Pixels" msgstr "Tinggi Imej Sumber" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" #: src/properties.cpp:1047 #, fuzzy msgid "Initial Camera Dolly" msgstr "Model Kamera Unik" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" #: src/properties.cpp:1055 msgid "Archival Location" msgstr "Lokasi Arkib" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "Maklumat mengenai Lokasi Arkib" #: src/properties.cpp:1056 msgid "Arranger" msgstr "Arranger" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "Maklumat mengenai Arranger." #: src/properties.cpp:1057 msgid "Arranger Keywords" msgstr "Kata Kunci Arranger" #: src/properties.cpp:1057 msgid "Information about the Arranger Keywords." msgstr "Maklumat mengenai Kata Kunci Arranger." #: src/properties.cpp:1059 msgid "Video Aspect Ratio" msgstr "Nisbah Bidang Video" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "Nisbah Lebar:Tinggi, bantu tentukan bagaimana video dipapar pada skrin" #: src/properties.cpp:1060 msgid "Video Aspect Ratio Type" msgstr "Jenis Nisbah Bidang Video" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "Jenis Nisbah Bidang, Cth - Saiz Semula Bebas atau Tetap" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "Data Fail Dilampir" #: src/properties.cpp:1062 msgid "Attached File Description" msgstr "Keterangan Fail Dilampir" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "Jenis MIME Fail Dilampir" #: src/properties.cpp:1064 msgid "Attached File Name" msgstr "Nama Fail Dilampir" #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "UID Fail Dilampir" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "ID Universal Fail Dilampir" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "Rentetan C yang tentukan URL Dasar." #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "Kedalaman Bit" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" "Integer 16-bit yang menyatakan kedalaman piksel imej termampat. Nilai 1, 2, " "4, 8, 16, 24, dan 32 menentukan kedalaman imej warna" #: src/properties.cpp:1068 msgid "Brightness setting." msgstr "Tetapan kecerahan." #: src/properties.cpp:1069 msgid "Camera Byte Order" msgstr "Tertib Bait Kamera" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "Tertib Bait yang diguna oleh peranti Penangkapan Video." #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "Cinematographer Video" #: src/properties.cpp:1070 msgid "The video Cinematographer information." msgstr "Maklumat Cinematographer video" #: src/properties.cpp:1071 msgid "Clean Aperture Width" msgstr "Kedalaman Bukaan Bersih" #: src/properties.cpp:1071 msgid "Clean aperture width in pixels" msgstr "Lebar bukaan bersih dalam piksel" #: src/properties.cpp:1072 msgid "Clean Aperture Height" msgstr "Tinggi Bukaan Bersih" #: src/properties.cpp:1072 msgid "Clean aperture height in pixels" msgstr "Tinggi bukaan bersih dalam piksel" #: src/properties.cpp:1073 msgid "Video Codec" msgstr "Kodeks Video" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" "Maklumat kodeks video. Maklumat mengenai algoritma pengekodan video. " "Maklumat Kodeks diperlukan untuk main balik video." #: src/properties.cpp:1074 msgid "Video Codec Decode Info" msgstr "Maklumat Nyahkod Kodeks Video" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" "Mengandungi maklumat Nyahkod Kodeks video, iaitu Dibenarkan/Dilumpuhkan" #: src/properties.cpp:1075 msgid "Video Codec Description" msgstr "Keterangan Kodeks Video" #: src/properties.cpp:1075 src/properties.cpp:1403 msgid "Contains description the codec." msgstr "Mengandungi keterangan kodeks." #: src/properties.cpp:1076 msgid "Video Codec Information" msgstr "Maklumat Kodeks Video" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "" "Mengandungi maklumat kodeks yang diperlukan sebelum menyahkod boleh bermula." #: src/properties.cpp:1077 msgid "Video Codec Download URL" msgstr "URL Muat Turun Kodeks Video" #: src/properties.cpp:1077 msgid "Video Codec Download URL." msgstr "URL Muat Turun Kodeks Video." #: src/properties.cpp:1078 msgid "Video Codec Settings" msgstr "Tetapan Kodeks Video" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "Mengandungi kodeks yang diperlukan sebelum menyahkod boleh bermula." #: src/properties.cpp:1083 msgid "Comment" msgstr "Ulasan" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "Maklumat mengenai Ulasan." #: src/properties.cpp:1084 msgid "Commissioned" msgstr "Ditauliah" #: src/properties.cpp:1084 msgid "Commissioned." msgstr "Ditauliah." #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "Jenama Jenis Fail Serasi QTime" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "Jenama Jenis Fail Serasi QuickTime Lain" #: src/properties.cpp:1086 msgid "Information about the Composer." msgstr "Maklumat mengenai Penggubah." #: src/properties.cpp:1087 msgid "Composer Keywords" msgstr "Kata Kunci Penggubah" #: src/properties.cpp:1087 msgid "Information about the Composer Keywords." msgstr "Maklumat mengenai Kata Kunci Penggubah." #: src/properties.cpp:1088 msgid "Compressor" msgstr "Pemampat" #: src/properties.cpp:1088 msgid "Video Compression Library Used" msgstr "Pustaka Pemampatan Video yang Digunakan" #: src/properties.cpp:1089 msgid "Video Compressor ID" msgstr "ID Pemampat Video" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "ID Pemampatan Video bagi Teknologi/Kodeks yang Digunakan" #: src/properties.cpp:1090 msgid "Compressor Version" msgstr "Versi Pemampat" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "Maklumat mengenai Versi Pemampat." #: src/properties.cpp:1091 msgid "Container Type" msgstr "Jenis Bekas" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "Bekas Data Meta Utama" #: src/properties.cpp:1092 msgid "Content Compression Algorithm" msgstr "Algoritma Pemampatan Kandungan" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "Algoritma Pemampatan Kandungan. Cth: zlib" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "Jenis Pengekodan Kandungan" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "Jenis Pengekodan Kandungan. Cth: Penyulitan atau Pemampatan" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "Algoritma Penyulitan Kandungan" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "Algoritma Penyulitan Kandungan. Cth: Blowfish" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "Algoritma Tandatangan Kandungan" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "Algoritma Tandatangan Kandungan. Cth: RSA" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "Algoritma Cincangan Tanda Kandungan" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "Algoritma Cincangan Tanda Kandungan. Cth. SHA1-160 atau MD5" #: src/properties.cpp:1097 msgid "Indicates the direction of contrast processing applied by the camera." msgstr "Menunjukkan arah pemprosesan beza jelas yang dilaksana oleh kamera." #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "Hakcipta, boleh jadi nama organisasi atau individu." #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "Pereka Kostum" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "Pereka Kostum yang berkaitan dengan video." #: src/properties.cpp:1100 msgid "Name of the country where the video was created." msgstr "Nama negara dimana video dihasilkan." #: src/properties.cpp:1101 msgid "Creation Date" msgstr "Tarikh Ciptaan" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" "Nyatakan tarikh dan waktu bagi penciptaan awal fail. Nilai diberi sebagai " "nombor sela 100-nanosaat semenjak 1 Januarim 1601, berdasarkan pada Waktu " "Universal Terkoordinat (Waktu Min Greenwich)." #: src/properties.cpp:1103 msgid "Pixel Crop Bottom" msgstr "Kerat Piksel Bawah" #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "Bilangan Piksel yang dikerat dari bawah." #: src/properties.cpp:1104 msgid "Pixel Crop Left" msgstr "Kerat Piksel Kiri" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "Bilangan Piksel yang dikerat dari kiri." #: src/properties.cpp:1105 msgid "Pixel Crop Right" msgstr "Kerat Piksel Kanan" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "Bilangan Piksel yang dikerat dari kanan." #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "Medan yang menunjukkan jika video telah dikerat." #: src/properties.cpp:1107 msgid "Pixel Crop Top" msgstr "Kerat Piksel Atas" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "Bilangan Piksel yang dikerat dari atas." #: src/properties.cpp:1108 msgid "Current Time" msgstr "Masa Semasa" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "Nilai masa bagi kedudukan masa semasa di dalam cereka." #: src/properties.cpp:1109 msgid "Data Packets" msgstr "Paket Data" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "Nyatakan bilangan masukan Paket Data yang wujud di dalam Objek Data." #: src/properties.cpp:1110 msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "Tarikh dan masa bila video asal dijana, dalam format ISO 8601. " #: src/properties.cpp:1111 msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" "Tarikh dan masa bila video disimpan sebagai data digital, boleh sama dengan " "Tarikh Masa Asal jika asalnya disimpan dalam bentuk digital. Disimpan dalam " "format ISO 8601." #: src/properties.cpp:1113 msgid "Date-Time Original" msgstr "Tarikh-Masa Asal" #: src/properties.cpp:1113 msgid "Contains the production date" msgstr "Mengandungi tarikh penghasilan" #: src/properties.cpp:1114 msgid "Video Track Default On" msgstr "Lalai Trek Video Hidup" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "Lalai Trek Video Hidup, iaitu Dibenarkan/Dilumpuhkan" #: src/properties.cpp:1115 msgid "Indicates the digital zoom ratio when the video was shot." msgstr "Menunjukkan nisbah zum digital bila video ditangkap." #: src/properties.cpp:1116 msgid "Dimensions" msgstr "Dimensi" #: src/properties.cpp:1116 msgid "Information about the Dimensions of the video frame." msgstr "Maklumat mengenai Dimensi bingkai video." #: src/properties.cpp:1117 msgid "Director" msgstr "Pengarah" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "Maklumat mengenai Pengarah." #: src/properties.cpp:1118 msgid "Video Display Unit" msgstr "Unit Paparan Video" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "Unit paparan video. Cth - cm, piksel, inci" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "Diedar Oleh" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "Diedar Oleh, iaitu nama individu atau organisasi." #: src/properties.cpp:1120 msgid "Doc Type" msgstr "Jensi Doc" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" "Jelaskan kandungan fail. Jika fail adalah MATROSKA, nilainya ialah 'matroska'" #: src/properties.cpp:1121 msgid "Doc Type Read Version" msgstr "Versi Baca Jenis Doc" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" "Sifat khusus video Matroska, membantu tentukan keserasian fail dengan versi " "tertentu pemain video" #: src/properties.cpp:1122 msgid "Doc Type Version" msgstr "Veris Jenis Doc" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" "Sifat khusus video Matroska, menentukan versi jenis fail, membantu tentukan " "keserasian" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "Titik Per Inci" #: src/properties.cpp:1124 msgid "The duration of the media file. Measured in milli-seconds." msgstr "Jangkama fail media. Diukur dalam tempoh milisaat." #: src/properties.cpp:1125 msgid "EBML Read Version" msgstr "Versi Baca EBML" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "Versi Baca Bahasa Meta Binari Lanjutan" #: src/properties.cpp:1126 msgid "EBML Version" msgstr "Versi EBML" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "Veris Bahasa Meta Binari Boleh Lanjut" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "Sunting Blok 1 / Bahasa" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "Maklumat mengenai Sunting / Bahasa." #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "Sunting Blok 2 / Bahasa" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "Sunting Blok 3 / Bahasa" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "Sunting Blok 4 / Bahasa" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "Sunting Blok 5 / Bahasa" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "Sunting Blok 6 / Bahasa" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "Sunting Blok 7 / Bahasa" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "Sunting Blok 8 / Bahasa" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "Sunting Blok 9 / Bahasa" #: src/properties.cpp:1136 msgid "Edited By" msgstr "Disunting Oleh" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "Disunting Oleh, iaitu nama individu atau organisasi." #: src/properties.cpp:1137 msgid "Video Track Enabled" msgstr "Trek Video Dibenarkan" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "Status Trek Video Track, iaitu Dibenarkan/Dilumpuhkan" #: src/properties.cpp:1138 msgid "Encoded By" msgstr "Dienkod Oleh" #: src/properties.cpp:1138 msgid "Encoded By, i.e. name of person or organization." msgstr "Dienkod Oleh, iaitu nama individu atau organisasi" #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "Lebar Piksel Dienkod" #: src/properties.cpp:1139 msgid "Encoded Pixels width in pixels" msgstr "Lebar Piksel Dienkod dalam piksel" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "Tinggi Piksel Dienkod" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "Tinggi Piksel Dienkod dalam piksel" #: src/properties.cpp:1141 msgid "Encoder" msgstr "Pengekod" #: src/properties.cpp:1141 msgid "Information about the Encoder." msgstr "Maklumat mengenai Pengekod." #: src/properties.cpp:1142 msgid "End Timecode" msgstr "Kod Masa Tamat" #: src/properties.cpp:1143 msgid "Engineer, in most cases name of person." msgstr "Jurutera, dalam kebanyakan kes adalah nama individu." #: src/properties.cpp:1144 msgid "Equipment" msgstr "Peralatan" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "Maklumat mengenai Peralatan yang digunakan untuk merakam Video." #: src/properties.cpp:1145 msgid "Exposure Compensation Information." msgstr "Maklumat Pemampasan Dedahan." #: src/properties.cpp:1146 msgid "Exposure Program Information." msgstr "Maklumat Program Dedahan." #: src/properties.cpp:1147 msgid "Exposure time in seconds." msgstr "Masa dedahan dalam saat." #: src/properties.cpp:1148 msgid "Extended Content Description" msgstr "Keterangan Kandungan Lanjutan" #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description, usually found in ASF type files." msgstr "Keterangan Kandungan Lanjutan, biasanya di temui dalam fail jenis ASF." #: src/properties.cpp:1150 msgid "File ID" msgstr "ID Fail" #: src/properties.cpp:1150 msgid "File ID." msgstr "ID Fail." #: src/properties.cpp:1151 msgid "File Length" msgstr "Panjang Fail" #: src/properties.cpp:1151 msgid "File length." msgstr "Panjang fail." #: src/properties.cpp:1152 msgid "File Name" msgstr "Nama Fail" #: src/properties.cpp:1152 msgid "File Name or Absolute File Path" msgstr "Nama Fail atau Laluan Fail Mutlak" #: src/properties.cpp:1153 msgid "File Size" msgstr "Saiz Fail" #: src/properties.cpp:1153 msgid "File Size, in MB" msgstr "Saiz Fail, dalam MB" #: src/properties.cpp:1154 msgid "File Type" msgstr "Jenis Fail" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "Sambungan Fail atau Jenis Fail" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "Tetapan Kesan Penapis Dilaksana." #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "Versi Perisian Tegar peranti Kamera/Video." #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "Nombor F, data khusus Kanta Kamera." #: src/properties.cpp:1158 msgid "Focal length of the lens, in millimeters." msgstr "Panjang fokus kanta, dalam milimeter." #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "Mod Fokus Kanta. Contoh - AF untuk Auto Fokus" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "Penunjuk format cereka (dijana-komputer, digital, dan selanjutnya)." #: src/properties.cpp:1161 msgid "Frame Count" msgstr "Kiraan Bingkai" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "Jumlah bilangan bingkai dalam video" #: src/properties.cpp:1162 msgid "Frame Height" msgstr "Tinggi Bingkai" #: src/properties.cpp:1162 msgid "Height of frames in a video" msgstr "Tinggi bingkai dalam video" #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" "Kadar yang mana bingkai dipersembah dalam video (Diungkap dalam fps (Bingkai " "se Saat)" #: src/properties.cpp:1165 msgid "Frame Width" msgstr "Lebar Bingkai" #: src/properties.cpp:1165 msgid "Width of frames in a video" msgstr "Lebar bingkai dalam video" #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "Koordinat GPS" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "Maklumat mengenai Koordinat GPS." #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "Setem tarikh data GPS, " #: src/properties.cpp:1171 msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "Arah imej bila ditangkap, julat nilai dari 0 hingga 359.99." #: src/properties.cpp:1172 msgid "Reference for image direction." msgstr "Rujukan arah imej." #: src/properties.cpp:1173 msgid "(North/South). Indicates latitude." msgstr "(Utara/Selatan). Menunjukkan latitud." #: src/properties.cpp:1174 msgid "(East/West). Indicates longitude." msgstr "(Timur/Barat). Menunjukkan longitud." #: src/properties.cpp:1175 msgid "Geodetic survey data." msgstr "Data tinjauan geodetik." #: src/properties.cpp:1176 msgid "Satellite information, format is unspecified." msgstr "Maklumat satelit, format tidak dinyatakan." #: src/properties.cpp:1177 msgid "Time stamp of GPS data, " msgstr "Setem masa data GPS, " #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "Pengekodan desimal dengan pemisah titik. " #: src/properties.cpp:1179 #, fuzzy msgid "Graphics Mode" msgstr "Mod Grafik" #: src/properties.cpp:1179 #, fuzzy msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" "Integer 26-bit yang menentukan mod pemindahan. Mod pemindahan menentukan " "operasi Boolean QuickDraw yang manakah patut dilakukan bila melukis atau " "memindahkan imej dari satu lokasi ke lokasi yang lain." #: src/properties.cpp:1181 msgid "Grouping" msgstr "Pengelumpulan" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "Maklumat mengenai Pengelumpulan." #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "Kelas Pengendali" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" "Kod empat-aksara yang mengenalpasti jenis pengendali. Hanya dua nilai adalah " "sah untuk medan ini: 'mhlr' untuk pengendali media dan 'dhlr' untuk " "pengendali data." #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "Handler Description" msgstr "Keterangan Pengendali" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" "Rentetan (dikira_ yang menentukan nama komponen, pengendali media digunakan " "bila media ini dicipta.." #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "Handler Type" msgstr "Jenis Pengendali" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" "Kod empat-aksara yang mengenalpasti jensi pengendali media atau pengendali " "data." #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Handler Vendor ID" msgstr "ID Vendor Pengendali" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Component manufacturer." msgstr "Pengilang komponen." #: src/properties.cpp:1186 msgid "Video Height" msgstr "Tinggi Video" #: src/properties.cpp:1186 src/properties.cpp:1309 msgid "Video height in pixels" msgstr "Tinggi video dalam piksel" #: src/properties.cpp:1187 msgid "Hue Adjustment Settings Information." msgstr "Maklumat Tetapan Pelarasan Rona." #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "Panjang Imej, sifat diwarisi dari format PetaBit" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "Imej Sepanduk Maklumat" #: src/properties.cpp:1189 msgid "Information Banner Image." msgstr "Imej Sepanduk Maklumat." #: src/properties.cpp:1190 msgid "Info Banner URL" msgstr "URL Sepanduk Maklumat" #: src/properties.cpp:1190 msgid "Information Banner URL." msgstr "URL Sepanduk Maklumat." #: src/properties.cpp:1191 msgid "Information" msgstr "Maklumat" #: src/properties.cpp:1191 msgid "Additional Movie Information." msgstr "Maklumat Cereka Tambahan." #: src/properties.cpp:1192 msgid "Info Text" msgstr "Teks Maklumat" #: src/properties.cpp:1192 msgid "Information Text." msgstr "Teks Maklumat." #: src/properties.cpp:1193 msgid "Info URL" msgstr "URL Maklumat" #: src/properties.cpp:1193 msgid "Information URL." msgstr "URL Maklumat." #: src/properties.cpp:1194 msgid "Information about the ISO Setting." msgstr "Maklumat mengenai Tetapan ISO." #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "Kod ISRC" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "Maklumat mengenai Kod ISRC." #: src/properties.cpp:1196 msgid "Junk Data" msgstr "Data Sarap" #: src/properties.cpp:1196 msgid "Video Junk data" msgstr "Data Sarap Video" #: src/properties.cpp:1197 msgid "Language." msgstr "Bahasa." #: src/properties.cpp:1198 msgid "Length" msgstr "Jangka masa" #: src/properties.cpp:1198 msgid "The length of the media file." msgstr "Jangka masa fail media." #: src/properties.cpp:1200 msgid "Lens Type." msgstr "Jenis Kanta." #: src/properties.cpp:1201 msgid "Lightness" msgstr "Kecerahan" #: src/properties.cpp:1201 msgid "Lightness." msgstr "Kecerahan." #: src/properties.cpp:1202 msgid "Location Information" msgstr "Maklumat Lokasi" #: src/properties.cpp:1202 msgid "Location Information." msgstr "Maklumat Lokasi." #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "URL Ikon Logo." #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "Rentetan C yang menyatakan URL Ikon Logo." #: src/properties.cpp:1204 msgid "Logo URL" msgstr "URL Logo" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "Rentetan C yang menyatakan URL Logo." #: src/properties.cpp:1205 msgid "Lyrics" msgstr "Lirik" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "Lirik Lagu/Video." #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "Jenama Jenis Fail QTime Major" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "Jenama Jenis Fail QuickTime Major" #: src/properties.cpp:1207 msgid "Equipment Make" msgstr "Buat Peralatan" #: src/properties.cpp:1207 msgid "Manufacturer of recording equipment" msgstr "Pengilang peralatan rakaman" #: src/properties.cpp:1208 msgid "Camera Maker Note Type" msgstr "Jenis Nota Pembuat Kamera" #: src/properties.cpp:1208 msgid "Maker Note Type of the camera." msgstr "Jenis Nota Pembuat kamera." #: src/properties.cpp:1209 msgid "Camera Maker Note Version" msgstr "Versi Nota Pembuat Kamera" #: src/properties.cpp:1209 msgid "Maker Note Version of the camera." msgstr "Versi Nota Pembuat kamera." #: src/properties.cpp:1210 msgid "Maker URL" msgstr "URL Pembuat" #: src/properties.cpp:1210 msgid "Camera Manufacturer's URL." msgstr "URL Pengilang Kamera." #: src/properties.cpp:1211 msgid "Smallest F number of lens, in APEX." msgstr "Nombor F terkecil kanta, dalam APEX." #: src/properties.cpp:1212 msgid "Maximum Bit Rate" msgstr "Kadar Bit Maksimum" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" "Tentukan kadar bit segera maksimum dalam bit sesaat untuk keseluruhan fail. " "Ia menyamai hasil tambah kadar bit bagi strim media digital individu." #: src/properties.cpp:1213 msgid "Maximum Data Rate" msgstr "Kadar Data Maksimum" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" "Kadar puncak yang mana data dipersembah dalam video (Diungkap dalam kB/s" "(Kilobait se Saat))" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "Media Track Create Date" msgstr "Tarikh Cipta Trek Media" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" "Integer 32-bit yang ditentukan (dalam saat semenjak tengah malam, 1 Januari, " "1904) bila pengepala media dicipta." #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "Media Track Duration" msgstr "Jangkamasa Trek Media" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" "Nilai masa yang menunjukkan jangkamasa bagi media ini (dalam sistem " "koordinasi masa cereka)." #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "Media Header Version" msgstr "Versi Pengepala Media" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "Spesifikasi 1-bait bagi versi pengepala media ini" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "Media Language Code" msgstr "Kod Bahasa Media" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "Integer 16-bit yang menentukan kod bahasa untuk media ini." #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "Media Track Modify Date" msgstr "Tarikh Ubahsuai Trek Media" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" "Integer 32-bit yang ditentukan (dalam saat semenjak tengah malam, 1 Januari, " "1904) bila pengepala media telah diubahsuai." #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "Skala Masa Media" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" "Nilai masa yang menentukan skala masa untuk media ini, bilangan unit masa " "yang dilepasi per saat dalam sistem koordinat masanya." #: src/properties.cpp:1220 msgid "Medium." msgstr "Medium." #: src/properties.cpp:1221 msgid "Metadata" msgstr "Data Meta" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "" "Satu jujukan Tag Data Meta Tidak Diketahui // Tidak Berdaftar dan nilainya." #: src/properties.cpp:1222 msgid "Metadata Library" msgstr "Pustaka Data Meta" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "Satu jujukan Tag Pustaka Data Meta Tidak Berdaftar dan nilainya." #: src/properties.cpp:1223 msgid "Metering mode." msgstr "Mod pemeteran." #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "Mikro Saat Per Bingkai" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "Bilangan mikro saat per bingkai, atau kadar bingkai" #: src/properties.cpp:1225 msgid "Mime Type" msgstr "Jenis Mime" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "Beritahu mengenai format video" #: src/properties.cpp:1226 msgid "QTime Minor FileType Version" msgstr "Versi Jenis Fail QTime Minor" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "Versi Jenis Fail QuickTime Minor" #: src/properties.cpp:1227 msgid "Equipment Model" msgstr "Model Peralatan" #: src/properties.cpp:1227 msgid "Model name or number of equipment." msgstr "Nama atau nombor model peralatan." #: src/properties.cpp:1228 msgid "Modification Date-Time" msgstr "Tarikh-Masa Pengubahsuaian" #: src/properties.cpp:1228 msgid "Contains the modification date of the video" msgstr "Mengandungi tarikh pengubahsuaian video" #: src/properties.cpp:1229 msgid "Movie Header Version" msgstr "Versi Pengepala Cereka" #: src/properties.cpp:1230 msgid "Music By" msgstr "Muzik Oleh" #: src/properties.cpp:1230 msgid "Music By, i.e. name of person or organization." msgstr "Muzik Oleh, iaitu nama individu atau organisasi." #: src/properties.cpp:1231 msgid "Muxing App" msgstr "Apl Muxing" #: src/properties.cpp:1231 msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" "Mengandungi nama pustaka yang telah diguna untuk cipta fail (seperti " "\"libmatroska 0.7.0\")" #: src/properties.cpp:1232 msgid "Name of song or the event." msgstr "Nama lagu persitiwa." #: src/properties.cpp:1233 msgid "Next Track ID" msgstr "ID Trek Berikutnya" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" "Integer 32-bit yang menunjukkan nilai yang digunakan untuk jejak nombor ID " "bagi trek berikutnya yang ditambah pada cereka ini. Perhatian nilai 0 " "bukanlah nilai ID trek yang sah." #: src/properties.cpp:1234 msgid "Number Of Colours" msgstr "Bilangan Warna" #: src/properties.cpp:1234 msgid "Total number of colours used" msgstr "Jumlah warna yang digunakan" #: src/properties.cpp:1235 msgid "Number Of Important Colours" msgstr "Bilangan Warna Penting" #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "Bilangan Warna Penting, sifat yang diwarisi dari format PetaBit" #: src/properties.cpp:1236 msgid "Number Of Parts" msgstr "Bilangan Bahagian" #: src/properties.cpp:1236 msgid "Total number of parts in the video." msgstr "Jumlah bahagian dalam video." #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "Warna Operasi" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" "Tiga nilai 16-bit yang menyatakan warna merah, hijau, dan biru untuk operasi " "mod pemindahan yang ditunjukkan dalam medan mod bergrafik." #: src/properties.cpp:1238 msgid "Organization" msgstr "Organisasi" #: src/properties.cpp:1238 msgid "Name of organization associated with the video." msgstr "Nama organisasi berkaitan dengan video." #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" "Orientasi Video:1 = Mengufuk (biasa) 2 = Mengufuk Lawan 3 = Putar 180 4 = " "Menegak Lawan 5 = Mengufuk lawan dan putar 270 arah jam 6 = Putar 90 arah " "jam 7 = Mengufuk lawan dan putar 90 ikut jam 8 = Putar 270 CW" #: src/properties.cpp:1248 msgid "Part" msgstr "Bahagian" #: src/properties.cpp:1248 msgid "Part." msgstr "Bahagian." #: src/properties.cpp:1249 msgid "Performers" msgstr "Pelaku" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "Pelaku yang terlibat dalam pembikinan video." #: src/properties.cpp:1250 msgid "Performer Keywords" msgstr "Kata Kunci Pelaku" #: src/properties.cpp:1250 msgid "Performer Keywords." msgstr "Kata Kunci Pelaku." #: src/properties.cpp:1251 msgid "Performer URL" msgstr "URL Pelaku" #: src/properties.cpp:1251 msgid "Performer's dedicated URL." msgstr "URL khas Pelaku." #: src/properties.cpp:1252 msgid "Picture Control Data" msgstr "Data Kawalan Gambar" #: src/properties.cpp:1252 msgid "Picture Control Data." msgstr "Data Kawalan Gambar." #: src/properties.cpp:1253 msgid "Picture Control Version" msgstr "Versi Kawalan Gambar" #: src/properties.cpp:1253 msgid "Picture Control Data Version." msgstr "Versi Data Kawalan Gambar." #: src/properties.cpp:1254 msgid "Picture Control Name" msgstr "Nama Kawalan Gambar" #: src/properties.cpp:1254 msgid "Picture Control Name." msgstr "Nama Kawalan Gambar." #: src/properties.cpp:1255 msgid "Picture Control Base" msgstr "Pangkalan Kawalan Gambar" #: src/properties.cpp:1255 msgid "Picture Control Data Base." msgstr "Pangkalan Data Kawalan Gambar." #: src/properties.cpp:1256 msgid "Picture Control Adjust" msgstr "Pelarasan Kawalan Gambar" #: src/properties.cpp:1256 msgid "Picture Control Adjust Information." msgstr "Maklumat Pelarasan Kawalan Gambar." #: src/properties.cpp:1257 msgid "Picture Control Quick Adjust" msgstr "Pelarasan Pantas Kawalan Gambar" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "Tetapan Pelarasan Pantas Kawalan Gambar." #: src/properties.cpp:1258 msgid "Play Selection" msgstr "Pemilihan Main" #: src/properties.cpp:1258 msgid "Play Selection." msgstr "Pemilihan Main." #: src/properties.cpp:1259 #, fuzzy msgid "Play Mode" msgstr "ModMain" #: src/properties.cpp:1259 msgid "Information about the Play Mode." msgstr "Maklumat mengenai Mod Main." #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "Kesetaraan Fizikal Bab" #: src/properties.cpp:1260 msgid "Contains the information of External media." msgstr "Mengandungi maklumat media Luaran." #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "Piksel Per Meter X" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "Piksel Per Meter X, sifat yang diwarisi dari format PetaBit" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "Piksel Per Meter Y" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "Piksel Per Meter Y, sifat yang diwarisi dari format PetaBit" #: src/properties.cpp:1265 msgid "Planes" msgstr "Satah" #: src/properties.cpp:1265 msgid "The number of Image Planes in the video" msgstr "Bilangan Satah Imej dalam video" #: src/properties.cpp:1266 msgid "Poster Time" msgstr "Masa Poster" #: src/properties.cpp:1266 msgid "The time value of the time of the movie poster." msgstr "Nilai masa bagi masa poster cereka." #: src/properties.cpp:1267 msgid "Preferred Rate" msgstr "Kadar Dikehendaki" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" "Bilangan takat-tetap 32-bit yang menunjukkan kadar yang memainkan cereka " "ini. Nilai 1.0 menunjukkan kadar biasa." #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "Volum Dikehendaki" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" "Bilangan takat-tetap 16-bit yang menunjukkan berapa lantangkah bunyi cereka " "dimainkan. Nilai 1.0 menunjukkan volum penuh." #: src/properties.cpp:1269 msgid "Preroll" msgstr "Pragulung" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" "Nyatakan amaun masa untuk menimbal data sebelum mula memainkan fail, dalam " "unit milisaat. Jika nilai ini bukan sifat, medan Jangkamasa Main dan semua " "medan Masa Persembahan muatan telah diofset berdasarkan amaun ini. Maka, " "perisian pemain mesti menolak nilai dalam medan pra-gulung dari jangkamasa " "main dan masa persembahan untuk mengira nilai sebenarnya." #: src/properties.cpp:1272 msgid "Preview Atom Type" msgstr "Jenis Atom Pratonton" #: src/properties.cpp:1272 msgid "Indicates the type of atom that contains the preview data" msgstr "Menunjukkan jenis atom yang mengandungi data pratonton" #: src/properties.cpp:1273 msgid "Preview Date" msgstr "Tarikh Pratonton" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "Tarikh pratonton cereka dalam masa setempat yang ditukar dari UTC" #: src/properties.cpp:1274 msgid "Preview Duration" msgstr "Jangkamasa Pratonton" #: src/properties.cpp:1274 msgid "The duration of the movie preview in movie time scale units" msgstr "Jangkamasa pratonton cereka dalam unit skala masa cereka" #: src/properties.cpp:1275 msgid "Preview Time" msgstr "Masa Pratonton" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "Nilai masa dalam cereka yang mana pratonton bermula." #: src/properties.cpp:1276 msgid "The version of the movie preview " msgstr "Versi pratonton cereka " #: src/properties.cpp:1277 msgid "Produced By" msgstr "Dihasilkan Oleh" #: src/properties.cpp:1277 msgid "Produced By, i.e. name of person or organization." msgstr "Dihasilkan Oleh, iaitu nama individu atau organisasi." #: src/properties.cpp:1278 msgid "Producer involved with the video." msgstr "Penerbit yang terlibat dengan pembikinan video." #: src/properties.cpp:1279 msgid "Producer Keywords" msgstr "Kata Kunci Penerbit" #: src/properties.cpp:1279 msgid "Information about the Producer Keywords." msgstr "Maklumat mengenai Kata Kunci Penerbit." #: src/properties.cpp:1280 msgid "Production Aperture Width" msgstr "Lebar Bukaan Penerbitan" #: src/properties.cpp:1280 msgid "Production aperture width in pixels" msgstr "Lebar bukaan penerbitan dalam piksel" #: src/properties.cpp:1281 msgid "Production Aperture Height" msgstr "Tinggi Bukaan Penerbitan" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "Tinggi bukaan penerbitan dalam piksel" #: src/properties.cpp:1282 msgid "Production Designer" msgstr "Pereka Penerbitan" #: src/properties.cpp:1282 msgid "Information about the Production Designer." msgstr "Maklumat mengenai Pereka Penerbitan" #: src/properties.cpp:1283 msgid "Production Studio" msgstr "Studio Penerbitan" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "Maklumat mengenai Studio Penerbitan." #: src/properties.cpp:1284 msgid "Product" msgstr "Produk" #: src/properties.cpp:1284 msgid "Product." msgstr "Produk." #: src/properties.cpp:1286 msgid "Rate" msgstr "Kadar" #: src/properties.cpp:1286 msgid "Rate." msgstr "Kadar." #: src/properties.cpp:1287 msgid "Rated" msgstr "Ditaraf" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "Gelang usia yang diperlukan untuk menonton video." #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "Penarafan, iaitu. 7 atau 8 (umumnya per 10)." #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "Nama Label Rakaman" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "Nama Label Rakaman, atau nama organisasi yang merakaman video." #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "URL Label Rakaman" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "URL Label Rakaman." #: src/properties.cpp:1291 msgid "Recording Copyright" msgstr "Hakcipta Rakaman" #: src/properties.cpp:1291 msgid "Recording Copyright." msgstr "Hakcipta Rakaman." #: src/properties.cpp:1292 msgid "Requirements" msgstr "Keperluan" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "Maklumat mengenai Keperluan." #: src/properties.cpp:1293 msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" "Unit digunakan untuk XResolution atau YResolution. Nilainya adalah salah " "satu dari: 2 = inci; 3 = sentimeter." #: src/properties.cpp:1294 msgid "Ripped By" msgstr "Diretas Oleh" #: src/properties.cpp:1294 msgid "Ripped By, i.e. name of person or organization." msgstr "Diretas Oleh, iaitu nama individu atau organisasi." #: src/properties.cpp:1295 msgid "Indicates the direction of saturation processing applied by the camera." msgstr "Menunjukkan arah proses penepuan yang dilaksana oleh kamera." #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "Genre Kedua" #: src/properties.cpp:1296 msgid "The name of the secondary genre.." msgstr "Nama bagi genre kedua.." #: src/properties.cpp:1297 msgid "Selection Time" msgstr "Masa Pemilihan" #: src/properties.cpp:1297 msgid "The time value for the start time of the current selection." msgstr "Nilai masa untuk masa mula bagi pemilihan semasa." #: src/properties.cpp:1298 msgid "Selection Duration" msgstr "Jangkamasa Pemilihan" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "Jangkamasa pemilihan semasa dalam unit skala masa cereka." #: src/properties.cpp:1299 msgid "Send Duration" msgstr "Jangkamasa Hantar" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" "Nyatakan masa yang diperlukan untuk hantar fail dalam unit 100--nanosaat. " "Nilai ini seharusnya disertakan jangkamasa paket terakhir di dalam kandungan." #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "Perisian yang digunakan untuk jana / cipta data Video." #: src/properties.cpp:1303 msgid "Software Version" msgstr "Veris Perisian" #: src/properties.cpp:1303 msgid "The Version of the software used." msgstr "Versi perisian yang digunakan." #: src/properties.cpp:1304 msgid "Song Writer" msgstr "Penulis Lagu" #: src/properties.cpp:1304 msgid "The name of the song writer." msgstr "Nama penulis lagu." #: src/properties.cpp:1305 msgid "Song Writer Keywords" msgstr "Kata Kunci Penulis Lagu" #: src/properties.cpp:1305 msgid "Song Writer Keywords." msgstr "Kata Kunci Penulis Lagu." #: src/properties.cpp:1307 msgid "Source Credits" msgstr "Penghargaan Sumber" #: src/properties.cpp:1307 msgid "Source Credits." msgstr "Penghargaan Sumber." #: src/properties.cpp:1308 msgid "Source Form" msgstr "Bentuk Sumber" #: src/properties.cpp:1308 msgid "Source Form." msgstr "Bentuk Sumber." #: src/properties.cpp:1309 msgid "Source Image Height" msgstr "Tinggi Imej Sumber" #: src/properties.cpp:1310 msgid "Source Image Width" msgstr "Lebar Imej Sumber" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "Lebar video dalam piksel" #: src/properties.cpp:1311 msgid "Starring" msgstr "Dibintangi" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "Dibintangi, nama individu terkenal yang muncul di dalam video." #: src/properties.cpp:1312 msgid "Start Timecode" msgstr "Kod Masa Mula" #: src/properties.cpp:1313 msgid "Statistics" msgstr "Statistik" #: src/properties.cpp:1313 msgid "Statistics." msgstr "Statistik." #: src/properties.cpp:1314 msgid "Stream Count" msgstr "Kiraan Strim" #: src/properties.cpp:1314 msgid "Total Number Of Streams" msgstr "Jumlah Strim" #: src/properties.cpp:1315 msgid "Stream Name" msgstr "Nama Strim" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "Jelaskan Nama Strim. Contohnya - FUJIFILM AVI STREAM 0100" #: src/properties.cpp:1316 msgid "Stream Quality" msgstr "Kualiti Strim" #: src/properties.cpp:1316 #, fuzzy msgid "General Stream Quality" msgstr "Kualiti Strim Am" #: src/properties.cpp:1317 msgid "Stream Sample Rate" msgstr "Kadar Sampel Strim" #: src/properties.cpp:1318 msgid "Stream Sample Count" msgstr "Kiraan Sampel Strim" #: src/properties.cpp:1319 msgid "Stream Sample Size" msgstr "Saiz Sampel Strim" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "Saiz Sampel Strim Am" #: src/properties.cpp:1320 msgid "Stream Type" msgstr "Jenis Strim" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "Jelaskan Jenis Strim. Contohnya Video, Audio atau Sarikata" #: src/properties.cpp:1321 msgid "Subtitles Codec" msgstr "Kodeks Sarikata" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "Kodeks strim sarikata, untuk kegunaan umum" #: src/properties.cpp:1322 msgid "Subtitle Codec Decode Info" msgstr "Maklumat Nyahkod Kodeks Sarikata" #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" "Mengandungi maklumat semua nyahkod kodeks sarikata, iaitu Dibenarkan/" "Dilumpuhkan" #: src/properties.cpp:1323 msgid "Subtitles Codec Information" msgstr "Maklumat Kodeks Sarikata" #: src/properties.cpp:1323 msgid "Contains additional information about subtitles." msgstr "Mengandungi maklumat tambahan mengenai sarikata." #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "URL Muat Turun Kodeks Sarikata" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "URL Muat Turun Kodeks Sarikata Video." #: src/properties.cpp:1325 msgid "Subtitle Codec Settings" msgstr "Tetapan Kodeks Sarikata" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "Lalai Trek Sarikata Hidup" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "Lalai Trek Sarikata Hidup , iaitu Dibenarkan/Dilumpuhkan" #: src/properties.cpp:1327 msgid "Subtitle Track Enabled" msgstr "Trek Sarikata Dibenarkan" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "Status Trek Sarikata, iaitu Dibenarkan/Dilumpuhkan" #: src/properties.cpp:1328 msgid "Subtitle" msgstr "Sarikata" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "Sarikata video." #: src/properties.cpp:1329 msgid "Subtitle Keywords" msgstr "Kata Kunci Sarikata" #: src/properties.cpp:1329 msgid "Subtitle Keywords." msgstr "Kata Kunci Sarikata." #: src/properties.cpp:1330 msgid "Subtitles Language" msgstr "Bahasa Sarikata" #: src/properties.cpp:1330 msgid "The Language in which the subtitles is recorded in." msgstr "Bahasa yang mana sarikata direkodkan." #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "Trek Sarikata Dipaksa" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "Trek Sarikata Dipaksa , iaitu Dibenarkan/Dilumpuhkan" #: src/properties.cpp:1332 msgid "Subtitle Track Lacing" msgstr "Penyusunikatan Trek Sarikata" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "Penyusunikatan Trek Sarikata , iaitu Dibenarkan/Dilumpuhkan" #: src/properties.cpp:1333 msgid "Subject. " msgstr "Subjek. " #: src/properties.cpp:1334 msgid "TapeName." msgstr "NamaPita." #: src/properties.cpp:1335 msgid "Tag Default Setting" msgstr "Tetapan Lalai Tag" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "" "Jika Tag adalah Lalai dibenarkan, nilai ini adalah Ya, sebaliknya Tidak " #: src/properties.cpp:1336 msgid "Tag Language" msgstr "Bahasa Tag" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "Bahasa yang digunakan untuk takrifkan tag" #: src/properties.cpp:1337 msgid "Tag Name" msgstr "Nama Tag" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "Tag seharusnya digunakan untuk takrif beberapa tajuk untuk segmen." #: src/properties.cpp:1338 msgid "Tag String" msgstr "Rentetan Tag" #: src/properties.cpp:1338 msgid "Information contained in a Tags" msgstr "Maklumat terkandung dalam Tag" #: src/properties.cpp:1339 msgid "Target Type" msgstr "Jenis Tag" #: src/properties.cpp:1339 #, fuzzy msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "Rentetan yang menjelaskan aras logikal objek yang mana Tag dirujuk." #: src/properties.cpp:1340 msgid "Technician" msgstr "Juruteknik" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "Juruteknik, biasanya nama individu." #: src/properties.cpp:1341 msgid "Thumbnail Height" msgstr "Tinggi Lakaran Kenit" #: src/properties.cpp:1341 msgid "Preview Image Thumbnail Height." msgstr "Tinggi Lakar Kenit Imej Pratonton." #: src/properties.cpp:1342 msgid "Preview Image Thumbnail Length." msgstr "Panjang Lakaran Kenit Imej Pratonton." #: src/properties.cpp:1343 msgid "Thumbnail Width" msgstr "Lebar Lakaran Kenit" #: src/properties.cpp:1343 msgid "Preview Image Thumbnail Width." msgstr "Lebar Lakaran Kenit Imej Pratonton." #: src/properties.cpp:1344 msgid "Timecode Scale" msgstr "Skala Kod Masa" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "Faktor gandaan yang berguna dalam pengiraan kod masa tertentu" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "Time Offset" msgstr "Ofset Masa" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" "Nyatakan ofset masa persembahan strim dalam unit 100-nanosaat. Nilai ini " "akan sama untuk menghantar masa paket terjalin pertama dalam seksyen data." #: src/properties.cpp:1346 msgid "Time Scale" msgstr "Skala Masa" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" "Nilai masa yang menunjukkan skala masa untuk cereka ini, bilangan unit masa " "yang dilalui per saat di dalam sistem koordinat masanya. Sistem koordinat " "masa yang mengukur masa dalam tempoh perenambelas sesaat, contohnya skala " "masa 60." #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" "Mengandungi nama umum SEGMENT, seperti 'Lord of the Rings = The Two Towers', " "walaubagaimanapun, Tag perlu diguna untuk takrifkan beberapa tajuk untuk " "segmen." #: src/properties.cpp:1350 msgid "Toning Effect Settings Applied." msgstr "Tetapan Kesan Pengetonan Dilaksana." #: src/properties.cpp:1351 msgid "Total Frame Count" msgstr "Jumlah Kiraan Bingkai" #: src/properties.cpp:1352 msgid "Number Of Streams" msgstr "Bilangan Strim" #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "" "Jumlah bilangan strim yang hadir dalam video. Cth - Video, Audio atau " "Sarikata" #: src/properties.cpp:1353 msgid "Track" msgstr "Trek" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "Maklumat mengenai Trek." #: src/properties.cpp:1354 msgid "Video Track Create Date" msgstr "Tarikh Cipta Trek Video" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" "Integer 32-bit yang menunjukan (dalam saat semenjak tengah malam, 1 Januari, " "1904) bila pengepala trek dicipta." #: src/properties.cpp:1355 msgid "Video Track Duration" msgstr "Jangkamasa Trek Video" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" "Nilai masa yang menunjukkan jangkamasa trek ini (dalam sistem koordinat masa " "cereka)." #: src/properties.cpp:1356 msgid "Video Track Forced" msgstr "Trek Video Dipaksa" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "Trek Video Dipaksa , iaitu Dibenarkan/Dilumpuhkan" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "Track ID" msgstr "ID Trek" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" "Integer 32-bit yang mengenalpasti trek secara unik. Nilai 0 tidak boleh " "digunakan." #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "Track Header Version" msgstr "Versi Pengepala Trek" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "Spesifikasi 1-bait bagi versi pengepala trek ini" #: src/properties.cpp:1359 msgid "Video Track Lacing" msgstr "Penyusunikatan Trek Video" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "Penyusunikatan Trek Video , iaitu Dibenarkan/Dilumpuhkan" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "Track Language" msgstr "Bahasa Trek" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "The Language in which a particular stream is recorded in." msgstr "Bahasa yang mana strim tersebut dirakam." #: src/properties.cpp:1361 msgid "Video Track Layer" msgstr "Lapisan Trek Video" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" "Integer 16-bit yang menunjukkan keutamaan spatial trek ini di dalam " "cerekanya. Kotak Alat Cereka QuickTime gunakan nilai ini untuk tentukan " "bagaimana trek bertindihan diantara satu sama yang lain. Trek dengan nilai " "lapisan lebih rendah dipapar di hadapan trek dengan nilai lapisan lebih " "tinggi." #: src/properties.cpp:1364 msgid "Video Track Modify Date" msgstr "Tarikh Ubahsuai Trek Video" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" "Integer 32-bit yang menunjukkan (dalam saat semenjak tengah malam, 1 Januari " "1904) bila pengepala trek terakhir diubahsuai." #: src/properties.cpp:1365 msgid "Track Name" msgstr "Nama Trek" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "Nama Trek yang digunakan untuk takrif tajuk segmen." #: src/properties.cpp:1366 msgid "Track Number." msgstr "Nombor Trek." #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "Track Volume" msgstr "Volum Trek" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" "Nombor takat-tetap 16-bit yang menentukan berapa lantangkah untuk memainkan " "bunyi trek ini. Nilai 1.0 menunjukkan volum penuh." #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "Kodeks Terjemah Bab" #: src/properties.cpp:1368 #, fuzzy msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" "Maklumat Kodeks Terjemah Bab. Biasanya digunakan dalam jenis penapis " "Matroska." #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown Information" msgstr "Maklumat Tidak Diketahui" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "Tag Data Meta Tidak Diketahui / Tidak Berdaftar dan nilainya." #: src/properties.cpp:1371 msgid "Video URL" msgstr "URL Video" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" "Rentetan C yang menyatakan URL. Terdapat data tambahan selepas rentetan C." #: src/properties.cpp:1372 msgid "Video URN" msgstr "URN Video" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" "Rentetan C yang menyatakan URN. Terdapat data tambahan selepas rentetan C." #: src/properties.cpp:1373 msgid "Vari Program" msgstr "Program Vari" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "Tetapan perisian yang digunakan untuk jana / cipta data Video." #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "Vegas Versi Major" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "Vegas Versi Major." #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "Vegas Versi Minor" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "Vegas Versi Minor." #: src/properties.cpp:1376 msgid "Vendor" msgstr "Pembekal" #: src/properties.cpp:1376 msgid "The developer of the compressor that generated the compressed data." msgstr "Pembangun pemampat yang menjana data termampat." #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "Vendor ID" msgstr "ID Pembekal" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" "Integer-32 bit yang menyatakan pembangun pemampat yang menjana data " "termampat. Biasanya medan ini mengandungi 'appl' yang menunjukkan Apple " "Computer, Inc." #: src/properties.cpp:1378 msgid "Video Quality" msgstr "Kualiti Video" #: src/properties.cpp:1378 msgid "Video Stream Quality" msgstr "Kualiti Strim Video" #: src/properties.cpp:1379 msgid "Video Sample Size" msgstr "Saiz Sampel Video" #: src/properties.cpp:1379 msgid "Video Stream Sample Size" msgstr "Saiz Sampel Strim Video" #: src/properties.cpp:1380 msgid "Video Scan Type" msgstr "Jenis Imbasan Video" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "Jenis Imbasan Video, ia boleh jadi Progresif atau Berselang-seli" #: src/properties.cpp:1381 msgid "Watermark URL" msgstr "URL Tera Air" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "Rentetan C yang menyatakan URL Tera Air." #: src/properties.cpp:1384 msgid "White Balance Fine Tune." msgstr "Talaan Halus Imbangan Putih." #: src/properties.cpp:1385 msgid "Video Width" msgstr "Lebar Video" #: src/properties.cpp:1386 msgid "Window Location" msgstr "Lokasi Tetingkap" #: src/properties.cpp:1386 msgid "Information about the Window Location." msgstr "Maklumat mengenai Lokasi Tetingkap." #: src/properties.cpp:1388 msgid "Written By" msgstr "Ditulis Oleh" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "Ditulis Oleh, iaitu nama individu atau organisasi." #: src/properties.cpp:1389 msgid "Writing App" msgstr "Apl Menulis" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" "Mengandungi nama aplikasi yang diguna untuk cipta fail (seperti \"mkvmerge " "0.8.1\")" #: src/properties.cpp:1390 msgid "Horizontal resolution in pixels per unit." msgstr "Resolusi mengufuk dalam piksel per unit." #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "Tahun" #: src/properties.cpp:1391 msgid "Year in which the video was made." msgstr "Tahun yang mana video dihasilkan." #: src/properties.cpp:1392 msgid "Vertical resolution in pixels per unit." msgstr "Resolusi menegak dalam piksel per unit." #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "Bait Purata Per Saat" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "Bait Purata Per Saat yang ditemui dalam strim audio" #: src/properties.cpp:1398 msgid "Balance" msgstr "Imbangan" #: src/properties.cpp:1398 msgid "Indicates the left-right balance of the audio" msgstr "Menunjukkan imbangan kiri-kanan audio" #: src/properties.cpp:1399 msgid "Bits Per Sample/ Bit Rate" msgstr "Bit Per Sampel/ Kadar Bit" #: src/properties.cpp:1399 msgid "Bits per test sample" msgstr "Sampel bit per uji" #: src/properties.cpp:1401 msgid "Audio Codec" msgstr "Kodeks Audio" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "Kodeks yang digunakan untuk Pengekodan/Penyahkodan Audio" #: src/properties.cpp:1402 msgid "Audio Codec Decode Info" msgstr "Maklumat Nyahkod Kodeks Audio" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "" "Mengandungi semua maklumat nyahkod kodeks audio, iaitu Dibenarkan/Dilumpuhkan" #: src/properties.cpp:1403 msgid "Audio Codec Description" msgstr "Keterangan Kodeks AUdio" #: src/properties.cpp:1404 msgid "Audio Codec Download URL" msgstr "URL Muat Turun Kodeks Audio" #: src/properties.cpp:1404 msgid "Audio Codec Download URL." msgstr "URL Muat Turun Kodeks Audio." #: src/properties.cpp:1405 msgid "Audio Codec Information" msgstr "Maklumat Kodeks Audio" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" "Mengandungi maklumat kodeks yang diperlukan sebelum penyahkodan bermula. " "Contohnya paket pengawalan Vorbis untuk audio Vorbis." #: src/properties.cpp:1406 msgid "Audio Codec Settings" msgstr "Tetapan Kodeks Audio" #: src/properties.cpp:1408 #, fuzzy msgid "Audio Default Duration" msgstr "Tempoh Audio" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "Bilangan mikrosaat cebisan audio dimainkan." #: src/properties.cpp:1409 #, fuzzy msgid "Audio Default Stream" msgstr "Strim Lalai" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "Strim Audio yang dimain secara lalai." #: src/properties.cpp:1410 msgid "Audio Track Default On" msgstr "Trek Audio Lalai Hidup" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "Trek Audio Lalai Hidup , Dibenarkan/Dilumpuhkan" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "Trek Audio Dibenarkan" #: src/properties.cpp:1411 msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "Status Trek Audio, iaitu Dibenarkan/Dilumpuhkan" #: src/properties.cpp:1412 msgid "Audio Format" msgstr "Format Audio" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "Kod empat-aksara yang mengenalpasti format audio." #: src/properties.cpp:1423 msgid "Output Audio Sample Rate" msgstr "Kadar Sampel Audio Output" #: src/properties.cpp:1423 #, fuzzy msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" "Kadar sampel audio output. Boleh jadi sebarang nilai, tetapi umumnya 32000, " "41100, atau 48000." #: src/properties.cpp:1424 msgid "Audio Sample Count" msgstr "Kiraan Sampel Audio" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "Sampel diambil untuk Menganalisis Strim Audio" #: src/properties.cpp:1427 msgid "Sound Scheme Title" msgstr "Tajuk Skema Bunyi" #: src/properties.cpp:1427 msgid "Sound Scheme Title." msgstr "Tajuk Skema Bunyi." #: src/properties.cpp:1429 msgid "Audio Track Create Date" msgstr "Tarikh Cipta Trek Audio" #: src/properties.cpp:1430 msgid "Audio Track Duration" msgstr "Tempoh Trek Audio" #: src/properties.cpp:1431 msgid "Audio Track Forced" msgstr "Trek Audio Dipaksa" #: src/properties.cpp:1431 msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "Trek Audio Dipaksa , iaitu Dibenarkan/Dilumpuhkan" #: src/properties.cpp:1434 msgid "Audio Track Lacing" msgstr "Penyusunikatan Trek Audio" #: src/properties.cpp:1434 msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "Penyusunikatan Trek Audio , iaitu Dibenarkan/Dilumpuhkan" #: src/properties.cpp:1436 msgid "Audio Track Layer" msgstr "Lapisan Trek Audio" #: src/properties.cpp:1439 msgid "Audio Track Modify Date" msgstr "Tarikh Ubahsuai Trek Audio" #: src/properties.cpp:1441 msgid "Audio URL" msgstr "URL Audio" #: src/properties.cpp:1442 msgid "Audio URN" msgstr "URN Audio" #: src/properties.cpp:1449 #, fuzzy msgid "The nature or genre of the resource." msgstr "Nama genre." #: src/properties.cpp:1450 #, fuzzy msgid "Date Modified" msgstr "Tarikh Ubahsuai Data Meta" #: src/properties.cpp:1450 #, fuzzy msgid "Date on which the resource was changed." msgstr "Tahun yang mana video dihasilkan." #: src/properties.cpp:1451 #, fuzzy msgid "A language of the resource." msgstr "Nama tidak formal pendek untuk sumber." #: src/properties.cpp:1452 #, fuzzy msgid "License" msgstr "Lesen" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" #: src/properties.cpp:1453 #, fuzzy msgid "Rights Holder" msgstr "Zon kanan" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" #: src/properties.cpp:1454 #, fuzzy msgid "Access Rights" msgstr "Hak" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "" #: src/properties.cpp:1455 #, fuzzy msgid "A bibliographic reference for the resource." msgstr "Nama tidak formal pendek untuk sumber." #: src/properties.cpp:1456 #, fuzzy msgid "References" msgstr "Rujukan Kerja" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" #: src/properties.cpp:1459 #, fuzzy msgid "*Main structure* containing Darwin Core location based information." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1468 #, fuzzy msgid "Record" msgstr "Versi Rekod" #: src/properties.cpp:1469 #, fuzzy msgid "*Main structure* containing record based information." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1472 #, fuzzy msgid "Institution ID" msgstr "Arahan" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" #: src/properties.cpp:1475 #, fuzzy msgid "Collection ID" msgstr "Pemilihan" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" #: src/properties.cpp:1478 #, fuzzy msgid "Institution Code" msgstr "Mod Resolusi" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1481 #, fuzzy msgid "Dataset ID" msgstr "Longgokan Data" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "" #: src/properties.cpp:1484 #, fuzzy msgid "Collection Code" msgstr "Kod Lokasi" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" #: src/properties.cpp:1487 #, fuzzy msgid "Dataset Name" msgstr "Nama Plat" #: src/properties.cpp:1488 #, fuzzy msgid "The name identifying the data set from which the record was derived." msgstr "Pengenalpasti unik bagi kerja yang mana sumber ini diperoleh." #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" #: src/properties.cpp:1496 #, fuzzy msgid "Information Withheld" msgstr "Maklumat" #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" #: src/properties.cpp:1502 #, fuzzy msgid "Dynamic Properties" msgstr "Sifat Kanta" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" #: src/properties.cpp:1507 msgid "Occurrence" msgstr "" #: src/properties.cpp:1508 #, fuzzy msgid "*Main structure* containing occurrence based information." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1511 #, fuzzy msgid "Occurrence ID" msgstr "ID Lesen" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" #: src/properties.cpp:1514 #, fuzzy msgid "Catalog Number" msgstr "FNumber Manual" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" #: src/properties.cpp:1517 msgid "Occurrence Details" msgstr "" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "" #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "" #: src/properties.cpp:1521 #, fuzzy msgid "Comments or notes about the Occurrence." msgstr "Maklumat mengenai Arranger." #: src/properties.cpp:1523 #, fuzzy msgid "Record Number" msgstr "Bilangan direktori" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" #: src/properties.cpp:1526 #, fuzzy msgid "Recorded By" msgstr "Dienkod Oleh" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" #: src/properties.cpp:1529 msgid "Individual ID" msgstr "" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" #: src/properties.cpp:1532 msgid "Individual Count" msgstr "" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "" #: src/properties.cpp:1535 #, fuzzy msgid "Organism Quantity" msgstr "Kualiti Strim" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "" #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "" #: src/properties.cpp:1541 #, fuzzy msgid "Sex" msgstr "Tetap" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1544 msgid "Life Stage" msgstr "" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1547 #, fuzzy msgid "Reproductive Condition" msgstr "Studio Penerbitan" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1550 msgid "Behavior" msgstr "" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1559 #, fuzzy msgid "Preparations" msgstr "Pemeringkatan" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" #: src/properties.cpp:1562 #, fuzzy msgid "Disposition" msgstr "Kedudukan fokus" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" #: src/properties.cpp:1565 #, fuzzy msgid "Other Catalog Numbers" msgstr "Bilangan Sela" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" #: src/properties.cpp:1568 src/properties.cpp:1607 #, fuzzy msgid "Previous Identifications" msgstr "Pengenalpastian Lengkapan" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" #: src/properties.cpp:1571 #, fuzzy msgid "Associated Media" msgstr "Media Disumbang" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" #: src/properties.cpp:1574 #, fuzzy msgid "Associated References" msgstr "Rujukan Projek" #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1580 #, fuzzy msgid "Associated Sequences" msgstr "Jujukan AEB" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" #: src/properties.cpp:1588 #, fuzzy msgid "Organism" msgstr "Organisasi" #: src/properties.cpp:1589 #, fuzzy msgid "*Main structure* containing organism based information." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1592 msgid "Organism ID" msgstr "" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1595 #, fuzzy msgid "Organism Name" msgstr "Nama Strim" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "" #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1601 msgid "Organism Associated Occurrences" msgstr "" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1604 msgid "Associated Organisms" msgstr "" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" #: src/properties.cpp:1610 msgid "Organism Remarks" msgstr "" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "" #: src/properties.cpp:1615 #, fuzzy msgid "Material Sample" msgstr "Sampel Tambahan" #: src/properties.cpp:1616 #, fuzzy msgid "*Main structure* containing material sample based information." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1618 #, fuzzy msgid "Living Specimen" msgstr "Adegan Petang" #: src/properties.cpp:1619 #, fuzzy msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "" #: src/properties.cpp:1622 #, fuzzy msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "" #: src/properties.cpp:1625 #, fuzzy msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1628 #, fuzzy msgid "Material Sample ID" msgstr "Sampel Tambahan" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" #: src/properties.cpp:1634 #, fuzzy msgid "*Main structure* containing event based information." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1636 msgid "Human Observation" msgstr "" #: src/properties.cpp:1637 #, fuzzy msgid "*Main structure* containing human observation based information." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "" #: src/properties.cpp:1640 #, fuzzy msgid "*Main structure* containing machine observation based information." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1643 #, fuzzy msgid "Event ID" msgstr "Peristiwa" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1646 msgid "Parent Event ID" msgstr "" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" #: src/properties.cpp:1649 #, fuzzy msgid "Event Date" msgstr "Tarikh Dicipta" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1652 msgid "Event Earliest Date" msgstr "" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1655 #, fuzzy msgid "Event Latest Date" msgstr "Tarikh Dicipta" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1658 #, fuzzy msgid "Event Time" msgstr "Masa Semasa" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "" #: src/properties.cpp:1670 #, fuzzy msgid "Month" msgstr "bulan" #: src/properties.cpp:1671 #, fuzzy msgid "The ordinal month in which the Event occurred." msgstr "Tarikh yang mana lesen luput." #: src/properties.cpp:1673 #, fuzzy msgid "Day" msgstr "Lengah" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "" #: src/properties.cpp:1676 #, fuzzy msgid "Verbatim Event Date" msgstr "Tarikh Ciptaan" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" #: src/properties.cpp:1679 msgid "Habitat" msgstr "" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" #: src/properties.cpp:1685 #, fuzzy msgid "Sampling Effort" msgstr "Format Sampel" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "" #: src/properties.cpp:1688 #, fuzzy msgid "Sampling Size Value" msgstr "Nilai Sampel SMin" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" #: src/properties.cpp:1691 msgid "Sampling Size Unit" msgstr "" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" #: src/properties.cpp:1694 #, fuzzy msgid "Field Number" msgstr "Bilangan Fail" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" #: src/properties.cpp:1697 #, fuzzy msgid "Field Notes" msgstr "Nota Pemberi Lesen" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "" #: src/properties.cpp:1701 #, fuzzy msgid "Comments or notes about the Event." msgstr "Maklumat mengenai Ulasan." #: src/properties.cpp:1705 #, fuzzy msgid "Location Class" msgstr "Kod Lokasi" #: src/properties.cpp:1706 #, fuzzy msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1709 #, fuzzy msgid "Location ID" msgstr "Lokasi" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" #: src/properties.cpp:1718 #, fuzzy msgid "Continent" msgstr "Berterusan" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "" #: src/properties.cpp:1721 msgid "Water Body" msgstr "" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1724 msgid "Island Group" msgstr "" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1727 msgid "Island" msgstr "" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "" #: src/properties.cpp:1736 #, fuzzy msgid "State Province" msgstr "Negeri/Daerah" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1739 #, fuzzy msgid "County" msgstr "Negara" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1742 #, fuzzy msgid "Municipality" msgstr "Kualiti" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" #: src/properties.cpp:1745 #, fuzzy msgid "Locality" msgstr "Setempat" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "" #: src/properties.cpp:1749 #, fuzzy msgid "The original textual description of the place." msgstr "Keterangan berteks bagi data objek." #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1760 #, fuzzy msgid "Verbatim Depth" msgstr "Kedalaman Bit" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "" #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1766 #, fuzzy msgid "Maximum Depth In Meters" msgstr "Kadar Data Maksimum" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1775 #, fuzzy msgid "Location According To" msgstr "Kod Lokasi" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" #: src/properties.cpp:1778 #, fuzzy msgid "Location Remarks" msgstr "Kod Lokasi" #: src/properties.cpp:1779 #, fuzzy msgid "Comments or notes about the Location." msgstr "Maklumat mengenai Lokasi Tetingkap." #: src/properties.cpp:1781 #, fuzzy msgid "Verbatim Coordinates" msgstr "Koordinat GPS" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1784 #, fuzzy msgid "Verbatim Latitude" msgstr "Latitud Destinasi GPS" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1787 #, fuzzy msgid "Verbatim Longitude" msgstr "Longitud Destinasi GPS" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1796 #, fuzzy msgid "Decimal Latitude" msgstr "Latitud Destinasi GPS" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" #: src/properties.cpp:1799 #, fuzzy msgid "Decimal Longitude" msgstr "Longitud GPS" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" #: src/properties.cpp:1802 #, fuzzy msgid "Geodetic Datum" msgstr "Data tinjauan geodetik." #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" #: src/properties.cpp:1808 #, fuzzy msgid "Coordinate Precision" msgstr "Koordinat GPS" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "" #: src/properties.cpp:1812 #, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "" #: src/properties.cpp:1821 #, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" #: src/properties.cpp:1823 #, fuzzy msgid "Georeferenced By" msgstr "Rujukan Kerja" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" #: src/properties.cpp:1826 #, fuzzy msgid "Georeferenced Date" msgstr "Tarikh Rujukan" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" #: src/properties.cpp:1832 #, fuzzy msgid "Georeference Sources" msgstr "Perkhidmatan Rujukan" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1838 #, fuzzy msgid "Georeference Remarks" msgstr "Bilangan Rujukan" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" #: src/properties.cpp:1843 msgid "Geological Context" msgstr "" #: src/properties.cpp:1844 #, fuzzy msgid "*Main structure* containing geological context based information." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" #: src/properties.cpp:1889 #, fuzzy msgid "Group" msgstr "Pengelumpulan" #: src/properties.cpp:1890 #, fuzzy msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "Nama dokumen yang mana imej diimbas" #: src/properties.cpp:1892 #, fuzzy msgid "Formation" msgstr "Maklumat" #: src/properties.cpp:1893 #, fuzzy msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "Nama dokumen yang mana imej diimbas" #: src/properties.cpp:1895 #, fuzzy msgid "Member" msgstr "Amber" #: src/properties.cpp:1896 #, fuzzy msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "Nama dokumen yang mana imej diimbas" #: src/properties.cpp:1898 #, fuzzy msgid "Bed" msgstr "Merah" #: src/properties.cpp:1899 #, fuzzy msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "Nama dokumen yang mana imej diimbas" #: src/properties.cpp:1903 #, fuzzy msgid "Identification" msgstr "Pengenalpastian Lengkapan" #: src/properties.cpp:1904 #, fuzzy msgid "*Main structure* containing identification based information." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1907 #, fuzzy msgid "Identification ID" msgstr "Pengenalpastian Lengkapan" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1910 #, fuzzy msgid "Identified By" msgstr "Pengenalpasti:" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" #: src/properties.cpp:1913 #, fuzzy msgid "Date Identified" msgstr "Pengenalpasti:" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" #: src/properties.cpp:1916 #, fuzzy msgid "Identification References" msgstr "Rujukan Arah Imej GPS" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" #: src/properties.cpp:1922 #, fuzzy msgid "Identification Remarks" msgstr "Pengenalpastian Lengkapan" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "" #: src/properties.cpp:1925 #, fuzzy msgid "Identification Qualifier" msgstr "Pengenalpastian Lengkapan" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" #: src/properties.cpp:1928 #, fuzzy msgid "Type Status" msgstr "Status" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" #: src/properties.cpp:1933 msgid "Taxon" msgstr "" #: src/properties.cpp:1934 #, fuzzy msgid "*Main structure* containing taxonomic based information." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" #: src/properties.cpp:1949 #, fuzzy msgid "Original Name Usage ID" msgstr "Nama Fail Raw Asal" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" #: src/properties.cpp:1961 #, fuzzy msgid "Scientific Name" msgstr "Nama Dokumen" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" #: src/properties.cpp:1967 #, fuzzy msgid "Parent Name Usage" msgstr "Nama Plat" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" #: src/properties.cpp:1970 #, fuzzy msgid "Original Name Usage" msgstr "Nama Fail Raw Asal" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" #: src/properties.cpp:1973 #, fuzzy msgid "Name According To" msgstr "Ofset rakaman" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" #: src/properties.cpp:1976 #, fuzzy msgid "Name Published In" msgstr "Penerbit" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "" #: src/properties.cpp:1980 #, fuzzy msgid "The four-digit year in which the scientificName was published." msgstr "Tarikh yang mana imej kali pertama diterbitkan." #: src/properties.cpp:1982 #, fuzzy msgid "Higher Classification" msgstr "Pengelasan Keselamatan" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" #: src/properties.cpp:1985 msgid "Kingdom" msgstr "" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "" #: src/properties.cpp:1988 msgid "Phylum" msgstr "" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" #: src/properties.cpp:1991 msgid "Class" msgstr "" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "" #: src/properties.cpp:1994 #, fuzzy msgid "Order" msgstr "Tertib Fail" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "" #: src/properties.cpp:1997 msgid "Family" msgstr "" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "" #: src/properties.cpp:2000 msgid "Genus" msgstr "" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "" #: src/properties.cpp:2003 msgid "Subgenus" msgstr "" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "" #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" #: src/properties.cpp:2021 #, fuzzy msgid "Vernacular Name" msgstr "Nama Trek" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "" #: src/properties.cpp:2024 #, fuzzy msgid "Nomenclatural Code" msgstr "Warna Alamiah" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "" #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "" #: src/properties.cpp:2039 #, fuzzy msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" #: src/properties.cpp:2045 #, fuzzy msgid "Resource ID" msgstr "Sumber fail" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "" #: src/properties.cpp:2048 #, fuzzy msgid "Related Resource ID" msgstr "Blok Sumber Imej" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" #: src/properties.cpp:2051 #, fuzzy msgid "Relationship Of Resource" msgstr "Sumber Cahaya" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "" #: src/properties.cpp:2065 #, fuzzy msgid "Measurement Or Fact" msgstr "Pengukuran Saling Kendali" #: src/properties.cpp:2066 #, fuzzy msgid "*Main structure* containing measurement based information." msgstr "Struktur utama yang mengandungi maklumat berasaskan kawasan" #: src/properties.cpp:2069 #, fuzzy msgid "Measurement ID" msgstr "Pengukuran dalam proses" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:2072 #, fuzzy msgid "Measurement Type" msgstr "Pengukuran dalam proses" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2075 #, fuzzy msgid "Measurement Value" msgstr "Nilai pengukuran hingar." #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2078 #, fuzzy msgid "Measurement Accuracy" msgstr "Pengukuran Saling Kendali" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "" #: src/properties.cpp:2081 #, fuzzy msgid "Measurement Unit" msgstr "Pengukuran Saling Kendali" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" #: src/properties.cpp:2084 #, fuzzy msgid "Measurement Determined Date" msgstr "Pengukuran Saling Kendali" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2087 #, fuzzy msgid "Measurement Determined By" msgstr "Pengukuran Saling Kendali" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" #: src/properties.cpp:2090 #, fuzzy msgid "Measurement Method" msgstr "Mod Ukuran GPS" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2093 #, fuzzy msgid "Measurement Remarks" msgstr "Pengukuran dalam proses" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "" #: src/properties.cpp:2101 #, fuzzy msgid "A brief description of the file" msgstr "Keterangan berteks bagi data objek." #: src/properties.cpp:2102 #, fuzzy msgid "Date Time" msgstr "Tarikh dan Masa" #: src/properties.cpp:2103 #, fuzzy msgid "The name of the author or photographer" msgstr "Nama bagi syot atau tangkapan." #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "" #: src/properties.cpp:2105 msgid "Notes" msgstr "" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "" #: src/properties.cpp:2106 msgid "Tagged" msgstr "" #: src/properties.cpp:2106 msgid "True or False" msgstr "" #: src/properties.cpp:2107 #, fuzzy msgid "Categories" msgstr "Kategori" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "" #: src/sigmamn.cpp:62 msgid "Resolution Mode" msgstr "Mod Resolusi" #: src/sigmamn.cpp:63 msgid "Resolution mode" msgstr "Mod resolusi" #: src/sigmamn.cpp:65 msgid "Autofocus Mode" msgstr "Mod Fokus-sendiri" #: src/sigmamn.cpp:66 msgid "Autofocus mode" msgstr "Mod fokus-sendiri" #: src/sigmamn.cpp:68 msgid "Focus Setting" msgstr "Tetapan FOkus" #: src/sigmamn.cpp:69 msgid "Focus setting" msgstr "Tetapan fokus" #: src/sigmamn.cpp:80 msgid "Lens Range" msgstr "Julat Kanta" #: src/sigmamn.cpp:81 msgid "Lens focal length range" msgstr "Julat panjang fokus kanta" #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 msgid "Shadow" msgstr "Bayang" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 msgid "Highlight" msgstr "Sorot" #: src/sigmamn.cpp:104 msgid "Fill Light" msgstr "Cahaya Isian" #: src/sigmamn.cpp:105 msgid "X3 Fill light" msgstr "Cahaya Isian X3" #: src/sigmamn.cpp:107 msgid "Color Adjustment" msgstr "Pelarasan Warna" #: src/sigmamn.cpp:108 msgid "Color adjustment" msgstr "Pelarasan warna" #: src/sigmamn.cpp:110 msgid "Adjustment Mode" msgstr "Mod Pelarasan" #: src/sigmamn.cpp:111 msgid "Adjustment mode" msgstr "Mod pelarasan" #: src/sigmamn.cpp:122 msgid "Auto Bracket" msgstr "Pendakap Automatik" #: src/sigmamn.cpp:123 src/tags.cpp:1497 msgid "Auto bracket" msgstr "Pendakap automatik" #: src/sigmamn.cpp:127 msgid "Unknown SigmaMakerNote tag" msgstr "Tag SigmaMakerNote tidak diketahui" #: src/sigmamn.cpp:170 msgid "8-Segment" msgstr "8-Segmen" #: src/sonymn.cpp:131 msgid "Advanced Lv1" msgstr "Lv1 Lanjutan" #: src/sonymn.cpp:132 msgid "Advanced Lv2" msgstr "Lv2 Lanjutan" #: src/sonymn.cpp:133 msgid "Advanced Lv3" msgstr "Lv3 Lanjutan" #: src/sonymn.cpp:134 msgid "Advanced Lv4" msgstr "Lv4 Lanjutan" #: src/sonymn.cpp:135 msgid "Advanced Lv5" msgstr "Lv5 Lanjutan" #: src/sonymn.cpp:154 msgid "Night Scene / Twilight" msgstr "Penggambaran Malam / Senja" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "Pengatup Kelajuan-Tinggi" #: src/sonymn.cpp:156 msgid "Twilight Portrait" msgstr "Potret Senja" #: src/sonymn.cpp:157 #, fuzzy msgid "Soft Snap / Portrait" msgstr "Potret Kendiri" #: src/sonymn.cpp:159 msgid "Smile Shutter" msgstr "Pengatup Senyum" #: src/sonymn.cpp:161 msgid "High Sensitivity" msgstr "Kepekaan Tinggi" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "Penggambaran Sukan Lanjutan" #: src/sonymn.cpp:166 #, fuzzy msgid "Sweep Panorama" msgstr "Panorama" #: src/sonymn.cpp:168 msgid "Anti Motion Blur" msgstr "Anti Kabur Gerakan" #: src/sonymn.cpp:170 msgid "Backlight Correction HDR" msgstr "Pembetulan Cahaya Belakang HDR" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "" #: src/sonymn.cpp:172 #, fuzzy msgid "Background Defocus" msgstr "Fokus Makro" #: src/sonymn.cpp:173 #, fuzzy msgid "Soft Skin" msgstr "Kulit lembut" #: src/sonymn.cpp:174 #, fuzzy msgid "3D Image" msgstr "ID Imej" #: src/sonymn.cpp:189 msgid "On (Continuous)" msgstr "Hidup (Berterusan)" #: src/sonymn.cpp:190 msgid "On (Shooting)" msgstr "Hidup (Pensyutan)" #: src/sonymn.cpp:198 msgid "Plus" msgstr "Tambah" #: src/sonymn.cpp:214 msgid "White Flourescent" msgstr "Pendaflour Putih" #: src/sonymn.cpp:215 msgid "Cool White Flourescent" msgstr "Pendaflour Putih sejuk" #: src/sonymn.cpp:216 msgid "Day White Flourescent" msgstr "Pendaflour Putih Siang" #: src/sonymn.cpp:217 #, fuzzy msgid "Incandescent2" msgstr "Pijar" #: src/sonymn.cpp:218 #, fuzzy msgid "Warm White Fluorescent" msgstr "PendaflourPutih" #: src/sonymn.cpp:221 msgid "Underwater 1 (Blue Water)" msgstr "Bawah Air 1 (Air Biru)" #: src/sonymn.cpp:222 msgid "Underwater 2 (Green Water)" msgstr "Bawah Air 2 (Air Hijau)" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "AF-Kekal" #: src/sonymn.cpp:237 msgid "Center AF" msgstr "AF Pusat" #: src/sonymn.cpp:238 msgid "Spot AF" msgstr "AF Bintik" #: src/sonymn.cpp:239 msgid "Flexible Spot AF" msgstr "AF Bintik Lentur" #: src/sonymn.cpp:240 msgid "Touch AF" msgstr "AF Sentuh" #: src/sonymn.cpp:241 msgid "Manual Focus" msgstr "Fokus Manual" #: src/sonymn.cpp:242 msgid "Face Detected" msgstr "Kesan Wajah" #: src/sonymn.cpp:257 msgid "Close Focus" msgstr "Fokus Dekat" #: src/sonymn.cpp:347 src/sonymn.cpp:348 msgid "Multi Burst Mode" msgstr "Mod Ledakan Berbilang" #: src/sonymn.cpp:350 src/sonymn.cpp:351 msgid "Multi Burst Image Width" msgstr "Lebar Imej Ledakan Berbilang" #: src/sonymn.cpp:353 src/sonymn.cpp:354 msgid "Multi Burst Image Height" msgstr "Tinggi Imej Ledakan Berbilang" #: src/sonymn.cpp:364 msgid "JPEG preview image" msgstr "Imej pratonton JPEG" #: src/sonymn.cpp:390 msgid "Auto HDR" msgstr "HDR Auto" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "Mod Julat Definasi Tinggi" #: src/sonymn.cpp:395 msgid "Shot Information" msgstr "Maklumat Syot" #: src/sonymn.cpp:400 src/sonymn.cpp:401 msgid "Sony Model ID" msgstr "ID Model Sony" #: src/sonymn.cpp:403 src/sonymn.cpp:404 msgid "Color Reproduction" msgstr "Pengeluaran Semula Warna" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 msgid "Dynamic Range Optimizer" msgstr "Pengoptimum Julat Dinamik" #: src/sonymn.cpp:427 src/sonymn.cpp:428 msgid "Minolta MakerNote" msgstr "MakerNote Minolta" #: src/sonymn.cpp:433 src/sonymn.cpp:434 msgid "Full Image Size" msgstr "Saiz Imej Penuh" #: src/sonymn.cpp:436 msgid "Preview Image Size" msgstr "Saiz Imej Pratonton" #: src/sonymn.cpp:437 msgid "Preview image size" msgstr "Saiz imej pratonton" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 msgid "AF Illuminator" msgstr "Pengiluminasi AF" #: src/sonymn.cpp:454 src/sonymn.cpp:455 msgid "JPEG Quality" msgstr "Kualiti JPEG" #: src/sonymn.cpp:460 src/sonymn.cpp:461 msgid "Release Mode" msgstr "Mod Keluaran" #: src/sonymn.cpp:464 #, fuzzy msgid "Shot number in continuous burst mode" msgstr "Bilangan syot dalam mod ledakan berterusan" #: src/sonymn.cpp:466 src/sonymn.cpp:467 msgid "Anti-Blur" msgstr "Anti-Kabur" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 msgid "Long Exposure Noise Reduction" msgstr "Pengurangan Hingar Dedahan Panjang" #: src/sonymn.cpp:475 src/sonymn.cpp:476 msgid "Intelligent Auto" msgstr "Automatik Pintar" #: src/sonymn.cpp:483 msgid "Unknown Sony1MakerNote tag" msgstr "Tag Sony1MakerNote tidak diketahui" #: src/sonymn.cpp:497 msgid "Continuous High" msgstr "Berterusan Tinggi" #: src/sonymn.cpp:501 msgid "Continuous Low" msgstr "Berterusan REndah" #: src/sonymn.cpp:503 src/sonymn.cpp:504 msgid "D-Range Optimizer Bracketing Low" msgstr "Pendakapan Rendah bagi Pengoptimum Julat-D" #: src/sonymn.cpp:536 msgid "Autumn" msgstr "Musin luruh" #: src/sonymn.cpp:542 msgid "ADI" msgstr "ADI" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "KotakGaya 1" #: src/sonymn.cpp:578 msgid "Auto No Flash" msgstr "Tanpa Denyar Automatik" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 msgid "Dynamic Range Optimizer Level" msgstr "Aras Pengoptimum Julat Dinamik" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 msgid "Creative Style" msgstr "Gaya Kreatif" #: src/sonymn.cpp:648 src/sonymn.cpp:649 msgid "Zone Matching Value" msgstr "Nilai Pemadanan Zon" #: src/sonymn.cpp:666 src/sonymn.cpp:667 msgid "AF With Shutter" msgstr "AF Dengan Pengatup" #: src/sonymn.cpp:674 src/sonymn.cpp:675 msgid "High ISO NoiseReduction" msgstr "Pengurangan Hingar ISO Tinggi" #: src/sonymn.cpp:678 src/sonymn.cpp:679 msgid "Image Style" msgstr "Gaya Imej" #: src/sonymn.cpp:704 msgid "Unknown Sony1 Camera Settings tag" msgstr "Tag Tetapan Kamera Sony1 tidak diketahui" #: src/sonymn.cpp:768 msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "Tag Tetapan 2 Kamera Sony1 tidak diketahui" #: src/tags.cpp:188 msgid "Unknown section" msgstr "Bahagian tidak diketahui" #: src/tags.cpp:189 msgid "Image data structure" msgstr "Struktur data imej" #: src/tags.cpp:190 msgid "Recording offset" msgstr "Ofset rakaman" #: src/tags.cpp:191 msgid "Image data characteristics" msgstr "Karaktersitik data imej" #: src/tags.cpp:192 msgid "Other data" msgstr "Data lain" #: src/tags.cpp:193 msgid "Exif data structure" msgstr "Struktur data Exif" #: src/tags.cpp:195 msgid "Image configuration" msgstr "Konfigurasi imej" #: src/tags.cpp:196 msgid "User information" msgstr "Maklumat pengguna" #: src/tags.cpp:197 msgid "Related file" msgstr "Fail berkaitan" #: src/tags.cpp:198 msgid "Date and time" msgstr "Tarikh dan masa" #: src/tags.cpp:199 msgid "Picture taking conditions" msgstr "Syarat pengambilan gambar" #: src/tags.cpp:200 msgid "GPS information" msgstr "Maklumat GPS" #: src/tags.cpp:201 msgid "Interoperability information" msgstr "Maklumat saliing kendalian" #: src/tags.cpp:202 msgid "Vendor specific information" msgstr "Maklumat khusus pembekal" #: src/tags.cpp:203 msgid "Adobe DNG tags" msgstr "Tag DNG Adobe" #: src/tags.cpp:204 msgid "Panasonic RAW tags" msgstr "Tag RAW Panasonic" #: src/tags.cpp:205 msgid "TIFF/EP tags" msgstr "Tag TIFF/EP" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "Tag TIFF PageMaker 6.0" #: src/tags.cpp:207 msgid "Adobe OPI tags" msgstr "Tag OPI Adobe" #: src/tags.cpp:208 msgid "Last section" msgstr "Bahagian terakhir" #: src/tags.cpp:224 msgid "Primary image" msgstr "Imej utama" #: src/tags.cpp:225 msgid "Thumbnail/Preview image" msgstr "Imej Thumbnail/Pratonton" #: src/tags.cpp:226 msgid "Primary image, Multi page file" msgstr "Imej utama, Fail halaman berbilang" #: src/tags.cpp:227 msgid "Thumbnail/Preview image, Multi page file" msgstr "Imej Thumbnail/Pratonton, Fail halaman berbilang" #: src/tags.cpp:228 msgid "Primary image, Transparency mask" msgstr "Imej utama, topeng lutsinar" #: src/tags.cpp:229 msgid "Thumbnail/Preview image, Transparency mask" msgstr "Imej Thumbnail/Pratonton, Topeng lutsinar" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "Imej utama, Fail halaman berbilang, topeng lutsinar" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "Imej Thumbnail/Pratonton, Fail halaman berbilang, Topeng lutsinar" #: src/tags.cpp:237 msgid "Full-resolution image data" msgstr "Data imej resolusi-penuh" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "Data imej resolusi-terkurang" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "Merupakan halaman tunggal bagi imej halaman-berbilang" #: src/tags.cpp:245 msgid "inch" msgstr "inci" #: src/tags.cpp:252 msgid "CCITT RLE" msgstr "CCITT RLE" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "Faks T4/Group 3" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "Faks T6/Group 4" #: src/tags.cpp:255 msgid "LZW" msgstr "LZW" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "JPEG (gaya-lama)" #: src/tags.cpp:257 msgid "JPEG" msgstr "JPEG" #: src/tags.cpp:258 msgid "Adobe Deflate" msgstr "Adobe Deflate" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "JBIG H&P" #: src/tags.cpp:260 msgid "JBIG Color" msgstr "JBIG Warna" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "RLE Next 2-bit" #: src/tags.cpp:262 msgid "Epson ERF Compressed" msgstr "ERF Epson Termampat" #: src/tags.cpp:263 msgid "Samsung SRW Compressed" msgstr "SRW Samsung Termampat" #: src/tags.cpp:264 msgid "CCITT RLE 1-word" msgstr "CCITT RLE 1-word" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "PackBits (Macintosh RLE)" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "Thunderscan RLE" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "Pemadatan CT IT8" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "RLE Linework IT8" #: src/tags.cpp:269 msgid "IT8 Monochrome Picture" msgstr "Gambar Monokrom IT8" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "Seni Garis Binari IT8" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "Filem Pixar (LZW 10-bit)" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "Log Pixar (ZIP 11-bit)" #: src/tags.cpp:273 msgid "Pixar Deflate" msgstr "Pixar Deflate" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "Pengekodan DCS Kodak" #: src/tags.cpp:275 msgid "ISO JBIG" msgstr "ISO JBIG" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "RLE Luminans Log SGI" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "Log SGI 24-bit berpek" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "Leadtools JPEG 2000" #: src/tags.cpp:279 msgid "Nikon NEF Compressed" msgstr "NEF Nikon Termampat" #: src/tags.cpp:280 msgid "Kodak DCR Compressed" msgstr "DCR Kodak Termampat" #: src/tags.cpp:281 msgid "Pentax PEF Compressed" msgstr "PEF Pentax Termampat" #: src/tags.cpp:286 msgid "White Is Zero" msgstr "Putih Adalah Sifar" #: src/tags.cpp:287 msgid "Black Is Zero" msgstr "Hitam Adalah Sifar" #: src/tags.cpp:288 msgid "RGB" msgstr "RGB" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "Palet RGB" #: src/tags.cpp:290 msgid "Transparency Mask" msgstr "Topen Lutsinar" #: src/tags.cpp:291 src/tags.cpp:330 msgid "CMYK" msgstr "CMYK" #: src/tags.cpp:292 msgid "YCbCr" msgstr "YCbCr" #: src/tags.cpp:293 msgid "CIELab" msgstr "CIELab" #: src/tags.cpp:294 msgid "ICCLab" msgstr "ICCLab" #: src/tags.cpp:295 msgid "ITULab" msgstr "ITULab" #: src/tags.cpp:296 msgid "Color Filter Array" msgstr "Tatasusunan Penapis Warna" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "LogL Pixar" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "LogLuv Pixar" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "Raw Linear" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "Tanpa penditeran dan separa ton" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "Teknik diter bertertib atau separa ton" #: src/tags.cpp:306 msgid "Randomized process" msgstr "Proses rawak" #: src/tags.cpp:311 msgid "top, left" msgstr "atas, kiri" #: src/tags.cpp:312 msgid "top, right" msgstr "atas, kanan" #: src/tags.cpp:313 msgid "bottom, right" msgstr "bawah, kanan" #: src/tags.cpp:314 msgid "bottom, left" msgstr "bawah, kiri" #: src/tags.cpp:315 msgid "left, top" msgstr "kiri, atas" #: src/tags.cpp:316 msgid "right, top" msgstr "kanan, atas" #: src/tags.cpp:317 msgid "right, bottom" msgstr "kanan, bawah" #: src/tags.cpp:318 src/tags.cpp:319 msgid "left, bottom" msgstr "kiri, bawah" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "Tiada skema ramalan digunakan" #: src/tags.cpp:325 msgid "Horizontal differencing" msgstr "Pembezaan mengufuk" #: src/tags.cpp:331 msgid "not CMYK" msgstr "bukan CMYK" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "Data integer tanpa ditandatangan" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "Dua integer ditandatangan secara lengkapan" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "Data titik apung IEEE" #: src/tags.cpp:339 src/tags.cpp:340 msgid "Undefined data format" msgstr "Format data tidak ditakrif" #: src/tags.cpp:345 msgid "Not indexed" msgstr "Tidak berindeks" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "Berindeks" #: src/tags.cpp:351 msgid "A" msgstr "A" #: src/tags.cpp:352 msgid "B" msgstr "B" #: src/tags.cpp:353 msgid "C" msgstr "C" #: src/tags.cpp:354 msgid "A+B-C" msgstr "A+B-C" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "A+((B-C)/2)" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "B+((A-C)/2)" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "(A+B)/2" #: src/tags.cpp:362 msgid "Centered" msgstr "Tengah" #: src/tags.cpp:363 msgid "Co-sited" msgstr "Laman-bersama" #: src/tags.cpp:368 msgid "No flash" msgstr "Tanpa denyar" #: src/tags.cpp:370 msgid "Fired, return light not detected" msgstr "Ditembak, cahaya kembali tidak dikesan" #: src/tags.cpp:371 msgid "Fired, return light detected" msgstr "Ditembak, cahaya kembali dikesan" #: src/tags.cpp:372 msgid "Yes, did not fire" msgstr "Ya, tidak ditembak" #: src/tags.cpp:373 msgid "Yes, compulsory" msgstr "compulsory" #: src/tags.cpp:374 msgid "Yes, compulsory, return light not detected" msgstr "Ya, wajib, cahaya kembali tidak dikesan" #: src/tags.cpp:375 msgid "Yes, compulsory, return light detected" msgstr "Ya, wajib, cahaya kembali dikesan" #: src/tags.cpp:376 msgid "No, compulsory" msgstr "Tidak, wajib" #: src/tags.cpp:377 msgid "No, did not fire, return light not detected" msgstr "Tidak, tidak ditembak, cahaya kembali tidak dikesan" #: src/tags.cpp:378 msgid "No, auto" msgstr "Tidak, automatik" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "Ya, automatik" #: src/tags.cpp:380 msgid "Yes, auto, return light not detected" msgstr "Ya, automatik, cahaya kembali tidak dikesan" #: src/tags.cpp:381 msgid "Yes, auto, return light detected" msgstr "Ya, automatik, cahaya kembali dikesan" #: src/tags.cpp:382 msgid "No flash function" msgstr "Tiada fingsi denyar" #: src/tags.cpp:383 msgid "No, no flash function" msgstr "Tidak, tiada fungsi denyar" #: src/tags.cpp:384 msgid "Yes, red-eye reduction" msgstr "Ya, pengurangan mata-merah" #: src/tags.cpp:385 msgid "Yes, red-eye reduction, return light not detected" msgstr "Ya, pengurangan mata-merah, cahaya kembali tidak dikesan" #: src/tags.cpp:386 msgid "Yes, red-eye reduction, return light detected" msgstr "Ya, pengurangan mata-merah, cahaya kembali dikesan" #: src/tags.cpp:387 msgid "Yes, compulsory, red-eye reduction" msgstr "Ya, wajib, pengurangan mata merah" #: src/tags.cpp:388 msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "Ya, wajib, pengurangan mata merah, cahaya kembali tidak dikesan" #: src/tags.cpp:389 msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "Ya, wajib, pengurangan mata merah, cahaya kembali dikesan" #: src/tags.cpp:390 msgid "No, red-eye reduction" msgstr "Tidak, pengurangan mata-merah" #: src/tags.cpp:391 msgid "No, auto, red-eye reduction" msgstr "Tidak, automatik, pengurangan mata-merah" #: src/tags.cpp:392 msgid "Yes, auto, red-eye reduction" msgstr "Ya, automatik, pengurangan mata-merah" #: src/tags.cpp:393 msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "Ya, automatik, pengurangan mata merah, cahaya kembali tidak dikesan" #: src/tags.cpp:394 msgid "Yes, auto, red-eye reduction, return light detected" msgstr "Ya, automatik, pengurangan mata merah, cahaya kembali dikesan" #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "Bentangan segiempat tepat (atau segiempat sama)" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "Bentangan berperingkat A: lajur genap diofset kebawah dengan 1/2 baris" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "Bentangan berperingkat B: lajur genap diofset keatas dengan 1/2 baris" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "Bentangan berperingkat C: lajur genap diofset kekanan dengan 1/2 lajur" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "Bentangan berperingkat D: lajur genap diofset kekiri dengan 1/2 lajur." #: src/tags.cpp:408 msgid "Processing Software" msgstr "Perisian Pemprosesan" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "Nama dan versi perisian yang digunakan untuk pra-proses gambar ini." #: src/tags.cpp:412 msgid "New Subfile Type" msgstr "Jenis Subfail Baru" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "Petunjuk am bagi jenis data terkandung dalam subfail ini." #: src/tags.cpp:415 msgid "Subfile Type" msgstr "Jenis Subfail" #: src/tags.cpp:416 msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "" "Petunjuk am bagi jenis data terkandung dalam subfail ini. Medan ini sudah " "lapok. Medan Jenis Subfail Baru sepatutnya digunakan." #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Bilangan lajur data imej, menyamai bilangan piksel per baris. Dalam data " "termampat JPEG satu penanda JPEG digunakan selain dari tag ini." #: src/tags.cpp:425 msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" "Bilangan baris data imej. Dalam data termampat JPEG satu penanda JPEG " "digunakan selain dari tag ini." #: src/tags.cpp:428 msgid "Bits per Sample" msgstr "Bit per Sampel" #: src/tags.cpp:429 msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" "Bilangan bit per komponen imej. dalam piawaian ini setiap komponen imej " "adalah 8 bit, jadi nilai untuk tag ini ialah 8. Lihat juga " ". Dalam data termampat JPEG penanda JPEG digunakan selain " "dari tag ini." #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" "Skema pemampatan digunakan untuk data imej. Bila imej utama adalah JPEG " "termampat, penentuan ini tidak perlu dan disingkir. Bila thumbnail guna " "pemampatan JPEG, nilai tag ini ditetapkan kepada 6." #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" "Komposisi piksel. Dalam data termampat JPEG penanda JPEG digunakan selain " "dari tag ini." #: src/tags.cpp:444 #, fuzzy msgid "Thresholding" msgstr "Pengambangan" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" "Untuk fail TIFF hitam dan putih yang mewakili lorekan kelabu, teknik " "digunakan untuk menukar dari kelabu kepada piksel hitam dan putih." #: src/tags.cpp:448 msgid "Cell Width" msgstr "Lebar Sel" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" "Lebar matriks penditeran atau separa ton yang digunakan untuk cipta fail dwi-" "aras berditer atau bersepara ton." #: src/tags.cpp:452 msgid "Cell Length" msgstr "Panjang Sel" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" "Panjang matriks penditeran atau separa ton yang digunakan untuk cipta fail " "dwi-aras berditer atau bersepara ton." #: src/tags.cpp:456 msgid "Fill Order" msgstr "Tertib Fail" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "Tertib logik bagi bit didalam bait" #: src/tags.cpp:459 msgid "Document Name" msgstr "Nama Dokumen" #: src/tags.cpp:460 msgid "The name of the document from which this image was scanned" msgstr "Nama dokumen yang mana imej diimbas" #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" "Rentetan aksara yang memberikan tajuk imej. Ia mungkin ulasan seperti " "\"perkelahan syarikat 1988\" atau yang seangkatan dengannya. Kod aksara dua-" "bait tidak dapat digunakan. Bila kod 2-bait diperlukan maka " "tag Persendirian Exif akan digunakan." #: src/tags.cpp:470 msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" "Pengilang bagi peralatan rakaman. Ia merupakan pengilang DSC, pengimbas, " "pendigit video atau lain-lain peralatan yang menjana imej. Bila medan ini " "dibiarkan kosong. ia dianggap sebagai tidak diketahui." #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" "Nama model atau nombor model peralatan. Ia merupakan nama atau nombor model " "bagi, pengimbas, pendigit video atau lain-lain peralatan yang menjana imej. " "Bila medan ini dibiarkan kosong. ia dianggap sebagai tidak diketahui." #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" "Bagi setiap jalur, ofset bait bagi jalur tersebut. Ia disarakan memilih ini " "supaya bilangan bait jalur tidak melebihi 64 Kbait. Dengan data termampat " "JPEG penentuan ini tidak diperlukan dan disingkirkan. Lihat juga " " dan ." #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "Orientasi imej yang dilihat dalam baris dan lajur." #: src/tags.cpp:491 msgid "Samples per Pixel" msgstr "Sampel per Piksel" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" "Bilangan komponen per piksel. Oleh kerana piawaian ini dilaksana kepada imej " "RGB dan YCbCr, nilai ditetapkan untuk tag ini adalah 3. Dalam data termampat " "JPEG penanda JPEG digunakan selain dari tag ini." #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "Baris per Jalur" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" "Bilangan bari per jalur. Ini merupakan bilangan baris dalam imej bagi satu " "jalur bila imej dibahagi kepada jalur. Dengan data termampat JPEG penentuan " "ini tidak diperlukan dan disingkirkan. Lihat juga dan " "." #: src/tags.cpp:502 msgid "Strip Byte Count" msgstr "Kiraan Bait Jalur" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" "Sejumlah bait dalam setiap jalur. Dengan data termampat penentuan ini tidak " "diperlukan dan disingkirkan." #: src/tags.cpp:506 msgid "X-Resolution" msgstr "Resolusi-X" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" "Bilangan piksel per dalam arah . Bila resolusi " "imej tidak diketahui, 72 [dpi] ditentukan." #: src/tags.cpp:510 msgid "Y-Resolution" msgstr "Resolusi-Y" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" "Bilangan piksel per dalam arah . Nilai sama " "seperti yang ditentukan." #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" "Menunjukkan sama ada komponen piksel dirakam dalam ketulan atau format " "satah. Dalam fail termampat JPEG penanda JPEG digunakan selain dari tag ini. " "Jika medan ini tidak wujud, lalai TIFF bagi 1 (ketulan) dianggapkan." #: src/tags.cpp:520 msgid "Gray Response Unit" msgstr "Unit Sambutan Kelabu" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "Ketepatan maklumat yang dikandungi dalam GrayResponseCurve." #: src/tags.cpp:523 msgid "Gray Response Curve" msgstr "Lengkung Sambutang Kelabu" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "" "Bagi data skala kelabu, ketumpatan optik bagi setiap nilai piksel yang " "mungkin." #: src/tags.cpp:526 msgid "T4 Options" msgstr "Pilihan T4" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "Pilihan pengekodan-T.4" #: src/tags.cpp:529 msgid "T6 Options" msgstr "Piliha T6" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "Pilihan pengekodan-T.6" #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" "Unit untuk mengukur dan . Unit yang sama " "digunakan untuk kedua-dua dan . Jika resolusi " "imej tidak diketahui, 2 (inchi) ditentukan." #: src/tags.cpp:537 #, fuzzy msgid "Page Number" msgstr "Bilangan Imej" #: src/tags.cpp:538 #, fuzzy msgid "The page number of the page from which this image was scanned." msgstr "Nama dokumen yang mana imej diimbas" #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" "Fungsi pemindahan untuk imej, diterangkan dalam gaya berjadual. Umumnya tag " "ini tidak diperlukan, kerana ruang warna dinyatakan dalam tag maklumat ruang " "warna ()." #: src/tags.cpp:546 msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" "Tag ini merakam nama dan versi perisian atau perisian tegar kamera atau " "peranti input imej yang digunakan untuk menjana imej. Format terperinci " "tidak dinyatakan, tetapi ia disarankan mengikut contoh dibawah. Bila medan " "dibiarkan kosong, ia dianggap tidak diketahui" #: src/tags.cpp:553 msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" "Tarikh dan masa penciptaan imej. Dalam piawaian Exif, masa dan tarikh fail " "yang berubah." #: src/tags.cpp:557 msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" "Tag ini merakam nama pemilik kamera, jurufoto atau pencipta imej. Format " "terperinci tidak dinyatakan, tetapi adalah disarankan maklumat ditulis " "sebagaimana contoh dibawah untuk saling kendalian yang mudah. Bila medan ini " "dibiarkan kosong, ia dianggap sebagai tidak diketahui. \"Pemilik kamera, " "John Smith; Jurufoto, Michael Brown; Pencipta imej, Ken James\"" #: src/tags.cpp:564 msgid "Host Computer" msgstr "Komputer Hos" #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" "Tag ini merekod maklumat mengenai komputer hos yang digunakan untuk menjana " "imej." #: src/tags.cpp:568 msgid "Predictor" msgstr "Peramal" #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" "Peramal adalah operator bermatematik yang dilaksana kepada data imej sebelum " "skema pengekodan dilaksana." #: src/tags.cpp:573 msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" "Kekromatan bagi titik putih imej. Umumnya, tag ini tidak diperlukan, kerana " "ruang warna dinyatakan dalam tag maklumat ruang warna ()." #: src/tags.cpp:578 msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" "Kekromatan bagi tiga warna utama imej. Umumnya, tag ini tidak diperlukan, " "kerana ruang warna dinyatakan dalam tag maklumat ruang warna ()." #: src/tags.cpp:582 msgid "Color Map" msgstr "Peta Waran" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" "Merupakan peta warna bagi imej warna palet. Medan ini mentakrifkan peta " "warna Merah-Hijau-Biru (biasanya dikenali sebagai jadual carian) untuk imej " "warna-palet. Dalam imej warna palet, nilai piksel digunakan untuk " "diindekskan kedalam jadual carian RGB." #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "Pembayang Separa Ton" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" "Tujuan medan Pembayang Separa Ton adalah untuk menyampaikan fungsi separa " "ton bagi julat aras kelabu didalam imej dinyatakan-secara-kolorimeteer yang " "mana patut kekalkan perincian tonnya." #: src/tags.cpp:593 msgid "Tile Width" msgstr "Lebar Jubin" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "" "Lebar jubin dalam piksel. Ini merupakan bianga lajur dalam setiap jubin." #: src/tags.cpp:596 msgid "Tile Length" msgstr "Panjang Jubin" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "" "Panjang jubin (tinggi) dalam piksel. Ini merupakan bilangan baris bagi " "setiap jubin." #: src/tags.cpp:599 msgid "Tile Offsets" msgstr "Ofset Jubin" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" "Untuk setiap jubin, ofset bait bagi jubin tersebut, dimampatkan dan disimpan " "dalam cakera. Ofset dinyatakan pada permulaan fail TIFF. Perhatian, ini " "laksanakan pada setiap jubin yang mempunyai lokasi yang bebas daripada " "lokasi fail lain." #: src/tags.cpp:605 msgid "Tile Byte Counts" msgstr "Kiraan Bait Jubin" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" "Untuk setiap jubin, bilangan (termampat) bait didalam jubin tersebut. Rujuk " "TOfset Jubin untuk keterangan bagaimana kiraan bait ditertibkan." #: src/tags.cpp:609 msgid "SubIFD Offsets" msgstr "Ofset SubIFD" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "" "Ditakrif oleh Adobe Corporation untuk membenarkan Pepohon TIFF didalam fail " "TIFF." #: src/tags.cpp:612 msgid "Ink Set" msgstr "Set Dakwat" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "Set dakwat yang digunakan dalam imej yang berasingan." #: src/tags.cpp:615 msgid "Ink Names" msgstr "Nama Dakwat" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "Nama setiap dakwat yang digunakan dalam imj yang berasingan." #: src/tags.cpp:618 msgid "Number Of Inks" msgstr "Bilangan Dakwat" #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" "Bilangan dakwat. Biasanya menyamai SamplesPerPixel, jika tiada sampel " "tambahan." #: src/tags.cpp:621 msgid "Dot Range" msgstr "Julat Bintik" #: src/tags.cpp:622 #, fuzzy, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "Nilai komponen yang berkaitan dengan 0% dot dan 100% dot." #: src/tags.cpp:624 msgid "Target Printer" msgstr "Pencetak Sasaran" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "Keterangan persekitaran cetakan yang mana pemisahan dicadangkan." #: src/tags.cpp:627 msgid "Extra Samples" msgstr "Sampel Tambahan" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" "Nyatakan setiap piksel mempunyai komponen tambahan m yang mana interpretasi " "ditakrif oleh salah satu nilai yang tersenarai dibawah." #: src/tags.cpp:631 msgid "Sample Format" msgstr "Format Sampel" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "" "Medan ini menyatakan bagaimana hendak tafsir setiap sampel data didalam " "piksel." #: src/tags.cpp:634 msgid "SMin Sample Value" msgstr "Nilai Sampel SMin" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "Medan ini nyatakan nilai sampel minimum." #: src/tags.cpp:637 msgid "SMax Sample Value" msgstr "Nilai Sampel SMax" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "Medan ini nyatakan nilai sampel maksimum." #: src/tags.cpp:640 msgid "Transfer Range" msgstr "Julat Pemindahan" #: src/tags.cpp:641 msgid "Expands the range of the TransferFunction" msgstr "Kembangkan julat bagi TransferFunction" #: src/tags.cpp:643 msgid "Clip Path" msgstr "Laluan Klip" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" "ClipPath TIFF yang dituju untuk cerminkan keseteraan kefungsian penciptaan " "laluan PostScript." #: src/tags.cpp:647 msgid "X Clip Path Units" msgstr "Unit Laluan Klip X" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" "Bilangan unit yang regangkan lebar imej, dalam bentuk koordinata integer " "ClipPath." #: src/tags.cpp:651 msgid "Y Clip Path Units" msgstr "Unit Laluan Klip Y" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "yang regangkan tinggi imej, dalam bentuk koordinata integer ClipPath." #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" "Imej terindeks adalah imej yang mana 'piksel' tidak mewakili nilai warna, " "tetapi mempunyai indeks (biasanya 8-bit) dalam jadual warna yang berasingan, " "PetaWarna." #: src/tags.cpp:660 msgid "JPEG tables" msgstr "Jadual JPEG" #: src/tags.cpp:661 #, fuzzy msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" "Tag pilihan ini mungkin digunakan untuk mengekod jadual Huffman dan " "pengkuantitian JPEG untuk kegunaan kemudian prosese menyahmampat JPEG." #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "Proksi OPI" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" "OPIProxy memberikan maklumat sama ada imej ini adalah proksi resolusi-rendah " "bagi imej beresolusi-tinggi (Adobe OPI)." #: src/tags.cpp:668 msgid "JPEG Process" msgstr "Proses JPEG" #: src/tags.cpp:669 msgid "This field indicates the process used to produce the compressed data" msgstr "" "Medan ini menyatakan proses yang digunakan untuk menghasilkan data termampat" #: src/tags.cpp:671 msgid "JPEG Interchange Format" msgstr "Format Pertukaran JPEG" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" "Ofset pada bait mula (SOI) bagi data thumbnail termampat JPEG. Ia tidak " "digunakan untuk data JPEG imej utama." #: src/tags.cpp:675 msgid "JPEG Interchange Format Length" msgstr "Panjang Format Pertukaran JPEG" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" "Bilangan bait bagi data thumbnail termampat JPEG. Ia tidak digunakan untuk " "data JPEG imej utama. Thumbnail JPEG tidak dibahagi tetapi dirakam sebagai " "strim bit JPEG berterusan dari SOI ke EOI. Penanda Appn dan COM tidak " "direkodkan. Thumbnail termampat mesti direkod tidak lebih dari 64 Kbait, " "termasuklah semua data lain yang direkod dalam APP1." #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "Sela Mula Semula JPEG" #: src/tags.cpp:684 msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "" "Medan ini menunjukkan panjang sela mula semula yang digunakan dalam data " "imej termampat." #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "Peramal Tak Hilang JPEG" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" "Medan ini menuju ke senarai nilai pemilihan-peramal tak hilang, satu per " "komponen." #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "Jelma Titik JPEG" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "Medan ini menuju ke senarai nilai jelma titik, satu per komponen." #: src/tags.cpp:694 msgid "JPEG Q-Tables" msgstr "Jadual-Q JPEG" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" "Medan ini menuju ke senarai ofset kepada jadual pengkuantitian, satu per " "komponen." #: src/tags.cpp:698 msgid "JPEG DC-Tables" msgstr "Jadual-DC JPEG" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" "Medan ini menuju ke senarai ofset ke jadual Huffman DC atau jadual Huffman " "tak hilang, satu per komponen." #: src/tags.cpp:702 msgid "JPEG AC-Tables" msgstr "Jadual-AC JPEG" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" "Medan ini menuju ke senarai ofset ke jadual Huffman AC, satu per komponen." #: src/tags.cpp:707 msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" "Pekali matriks untuk penjelmaan dari data imej RGB kepada YCbCr. Tiada lalai " "diberikan dalam TIFF; tetapi disini nilai diberikan dalam Apendiks E, " "\"Garis Panduan Ruang Warna\", digunakan sebagai lalai. Ruang warna " "diisytihar dalam tag maklumat ruang warna, dengan lalai memberikan " "karakteristik imej optimum saling kendalikan syarat ini." #: src/tags.cpp:715 msgid "YCbCr Sub-Sampling" msgstr "Sub-Persampelan YCbCr" #: src/tags.cpp:716 msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Nisbah persampelan bagi komponen kekrominaan yang berkaitan dengan komponen " "luminans. Dalam data termampat JPEG penanda JPEG digunakan selain dari tag " "ini." #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" "Kedudukan komponen kekrominaan yang berkaitan dengan komponen luminans. " "Medan ini direka hanya untuk data termampat JPEG atau data YCbCr tidak " "termampat. Lalai TIFF adalah 1 (ditengahkan); tetapi bila Y:Cb:Cr = 4:2:2 ia " "disarankan dalam piawaian ini supaya 2 digunakan untuk merekod data, untuk " "pertingkatkan kualiti imej bila dilihat dalam sistem TV. Bila medan ini " "tidak wujud, pembaca akan anggap lalai TIFF. Dalam kes Y:Cb:Cr = 4:2:0, " "lalai TIFF (ditengahkan) adalah disarankan. Jika pembaca tidak mempunyai " "keupayaan untuk menyokong kedua-dua jenis , ia akan " "menuruti lalai TIFF tanpa melihat nilai dalam medan ini. Adalah baik pembaca " "boleh menyokong kedua-dua kedudukan tersebut." #: src/tags.cpp:735 msgid "Reference Black/White" msgstr "Hitam/Putih Rujukan" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" "Nilai titik hitam rujukan dan nilai titik putih rujukan. Tiada lalai " "diberikan dalam TIFF, tetapi nilai dibawah diberikan sebagai lalai disini. " "Ruang warna diisytiharkan dalam tag maklumat ruang warna, dengan lalai " "menjadi nilai yang memberikan karakteristik imej optimum saling kendalikan " "syarat ini." #: src/tags.cpp:743 msgid "XML Packet" msgstr "Paket XML" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "Data Meta XMP (Adobe technote 9-14-02)" #: src/tags.cpp:746 msgid "Windows Rating" msgstr "Penarafan Windows" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "Tag penarafan yang digunakan oleh Windows" #: src/tags.cpp:749 msgid "Windows Rating Percent" msgstr "Peratus Penarafan Windows" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "Tag penarafan yang digunakan oleh Windows, nilai dalam peratus" #: src/tags.cpp:752 msgid "Image ID" msgstr "ID Imej" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" "ImageID adalah nama laluan penuh bagi imej asal yang beresolusi-tinggi, atau " "lain-lain rentetan dikenalpasti yang mana kenalpasti secara unik imej " "asalnya (Adobe OPI)." #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "Dimensi Corak Ulang CFA" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" "Mengandungi dua nilai yang mewakili baris dan lajur minimum untuk takrifkan " "corak berulang bagi tatasusunan penapis warna" #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" "Menunjukkan corak geometrik tatasusunan penapis warna (CFA) bagi penderia " "imej bila penderia kawasan warna satu-cip digunkan. Ia tidak laksanakan pada " "semua kaedah penderiaan." #: src/tags.cpp:770 #, fuzzy msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" "Maklumat hakcipta. Dalam piawaian ini, tag digunakan untuk menunjukkan kedua-" "dua hakcipta jurufoto dan penyunting. Adalah makluman hakcipta individu atau " "organisasi yang menuntut hak sesebuah imej. Saling kendalian pernyataan " "hakcipta termasuklah tarikh dan hak yang patut ditulis dalam medan ini; " "iaitu, \"Hakcipta, John Smith, 19xx. Hak cipta terpelihara.\". Dalam piawain " "ini, medan merekod kedua-dua hakcipta jurufoto dan penyunting, dengan " "setiapnya direkod dalam bahagian penyataan yang berasingan. Bila terdapat " "perbezaan yang jelas diantara hakcipta jurufoto dengan penyunting, ia akan " "ditulis dalam tertib hakcipta jurufoto dan diikut penyunting, yang dipisah " "dengan tanda NOL (dalam kes ini oleh kerana penyataan juga berakhir dengan " "tanda NOL, jadi akan ada dua kod NOL). Hanya bila hakcipta jurufoto diberi, " "ia ditamatkan oleh satu kod NOL. Hanya bila hakcipta penyunting diberi, " "bahagian hakcipta jurufoto mengandungi satu ruang yang diikuti dengan kod " "NOL yang ditamatkan, maka hakcipta penyunting diberikan. Bila medan " "dibiarkan kosong, ia dianggap tidak diketahui." #: src/tags.cpp:789 msgid "Exposure time, given in seconds." msgstr "Masa dedahan, diberi dalam saat." #: src/tags.cpp:790 src/tags.cpp:1553 msgid "The F number." msgstr "Nombor F." #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "IPTC/NAA" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "Mengandungi rekod IPTC/NAA" #: src/tags.cpp:794 msgid "Image Resources Block" msgstr "Blok Sumber Imej" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "Mengandungi maklumat terbenam oleh aplikasi Adobe Photoshop" #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" "Merupakan penuding pada IFD Exif, IFD Exif mempunyai struktur yang sama " "sepertimana IFD yang dinyatakan dalam TIFF. Namun, ia tidak mengandungi data " "imej sebagaimana dalam kes TIFF." #: src/tags.cpp:803 msgid "Inter Color Profile" msgstr "Profil InterColor" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" "Mengandungi profil/pencirian ruang warna format InterColor Consortium (ICC)" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" "Kelas program yang digunakan oleh kamera untuk tetapkan dedahan bila gambar " "diambil." #: src/tags.cpp:807 msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "" "Menunjukkan kepekaan spektral bagi setiap saluran kamera yang digunakan." #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" "Menunjukkan IFD Maklumat GPS. Struktur Saling Kendali bagi IFD Maklumat GPS, " "seperti IFD Exif, tidak mempunyai data imej." #: src/tags.cpp:813 src/tags.cpp:1564 msgid "ISO Speed Ratings" msgstr "Kadaran Kelajuan ISO" #: src/tags.cpp:813 src/tags.cpp:1565 msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" "Menunjukkan Kelajuan ISO dan Latitud ISO kamera atau peranti input " "sepertimana yang dinyatakan dalam ISO 12232." #: src/tags.cpp:814 msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" "Menunjukkan Fungsi Penukara Opto-Elektrik yang dinyatakan dalam ISO 14524." #: src/tags.cpp:815 msgid "Interlace" msgstr "Berselang seli" #: src/tags.cpp:815 msgid "Indicates the field number of multifield images." msgstr "Menunjukkan bilangan medan bagi imej medan-berbilang." #: src/tags.cpp:816 msgid "Time Zone Offset" msgstr "Ofset Zon Waktu" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" "Tag pilihan ini mengekod zon waktu untuk jam kamera (relatif dengan Waktu " "Min Greenwich) digunakan untuk mencipta nilai-tag DataTimeOriginal bilamana " "gambar diambil. Ia juga mengandungi ofset zon waktu bagi jam yang digunakan " "untuk mencipta nilai-tag DateTime bila imej diubahsuai." #: src/tags.cpp:823 msgid "Self Timer Mode" msgstr "Mod Pemasa Kendiri" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "Bilangan saat tangkapan imej dilengahkan dari penekanan butang." #: src/tags.cpp:824 msgid "Date Time Original" msgstr "Waktu Tarikh Asal" #: src/tags.cpp:824 msgid "The date and time when the original image data was generated." msgstr "Tarikh dan waktu bila data imej asal dijana." #: src/tags.cpp:825 msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "Khusus pada data termampat; nyatakan bit termampat per piksel." #: src/tags.cpp:826 msgid "Shutter speed." msgstr "Kelajuan pengatup." #: src/tags.cpp:827 msgid "The lens aperture." msgstr "Bukaan kanta" #: src/tags.cpp:828 msgid "The value of brightness." msgstr "Nilai kecerahan." #: src/tags.cpp:829 msgid "The exposure bias." msgstr "Bias dedahan." #: src/tags.cpp:830 src/tags.cpp:1645 msgid "Max Aperture Value" msgstr "Nilai Bukaan Maksimum" #: src/tags.cpp:830 msgid "The smallest F number of the lens." msgstr "Nombor F terkecil kanta." #: src/tags.cpp:831 src/tags.cpp:1651 msgid "The distance to the subject, given in meters." msgstr "Jarak subjek, diberikan dalam meter." #: src/tags.cpp:832 src/tags.cpp:1654 msgid "The metering mode." msgstr "Merupakan mod pemeteran." #: src/tags.cpp:833 src/tags.cpp:1657 msgid "The kind of light source." msgstr "Sejenis sumber cahaya." #: src/tags.cpp:834 msgid "Indicates the status of flash when the image was shot." msgstr "Menunjukkan status denyar bila imej ditangkap." #: src/tags.cpp:835 msgid "The actual focal length of the lens, in mm." msgstr "Panjang fokus sebenar kanta, dalam mm." #: src/tags.cpp:836 msgid "Amount of flash energy (BCPS)." msgstr "Jumlah tenaga percikan (BCPS)" #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "SFR bagi kamera." #: src/tags.cpp:838 msgid "Noise" msgstr "Hingar" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "Nilai pengukuran hingar." #: src/tags.cpp:839 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" "Bilangan piksel per FocalPlaneResolutionUnit (37392) dalam arah ImageWidth " "untuk imej utama." #: src/tags.cpp:840 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" "Bilangan piksel per FocalPlaneResolutionUnit (37392) dalam arah ImageLength " "untuk imej utama." #: src/tags.cpp:841 msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" "Unit pengukuran untuk FocalPlaneXResolution(37390) dan FocalPlaneYResolution" "(37391)." #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "Bilangan yang diumpuk ke imej, iaitu, dalam ledakan imej berantai." #: src/tags.cpp:843 msgid "Security Classification" msgstr "Pengelasan Keselamatan" #: src/tags.cpp:843 msgid "Security classification assigned to the image." msgstr "Pengelasan keselamatan yang diumpuk ke imej." #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "Rekod yang telah dibuat kepada imej." #: src/tags.cpp:845 msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "" "Menunjukkan lokasi dan kawasan subjek utama dalam keseluruhan penggambaran." #: src/tags.cpp:846 msgid "Encodes the camera exposure index setting when image was captured." msgstr "Kodkan tetapan indeks dedahan kamera bila imej ditangkap." #: src/tags.cpp:847 msgid "TIFF/EP Standard ID" msgstr "ID Piawai TIFF/EP" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" "Mengandungi empat aksara ASCII yang mewakili versi piawai TIFF/EP bagi fail " "TIFF/EP, iaitu '1', '0', '0', '0'" #: src/tags.cpp:851 msgid "Type of image sensor." msgstr "Jenis penderia imej." #: src/tags.cpp:852 msgid "Windows Title" msgstr "Tajuk Windows" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "Tag tajuk yang digunakan oleh Windows, dikodkan dalam UCS2" #: src/tags.cpp:855 msgid "Windows Comment" msgstr "Ulasan Windows" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "Tag ulasan yang digunakan oleh Windows, dikodkan dalam UCS2" #: src/tags.cpp:858 msgid "Windows Author" msgstr "Pengarang Windows" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "Tag pengarang yang digunakan oleh Windows, dikodkan dalam UCS2" #: src/tags.cpp:861 msgid "Windows Keywords" msgstr "Kata Kunci Windows" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "Tag kata kunci yang digunakan oleh Windows, dikodkan dalam UCS2" #: src/tags.cpp:864 msgid "Windows Subject" msgstr "Subjek Windows" #: src/tags.cpp:865 msgid "Subject tag used by Windows, encoded in UCS2" msgstr "Tag subjek yang digunakan oleh Windows, dikodkan dalam UCS2" #: src/tags.cpp:867 msgid "Print Image Matching" msgstr "Pemadanan Imej Cetak" #: src/tags.cpp:868 msgid "Print Image Matching, description needed." msgstr "Pemadanan Imej Cetak, keterangan diperlukan." #: src/tags.cpp:870 msgid "DNG version" msgstr "Versi DNG" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" "Tag ini kodkan nombor versi empat-peringkat DNG. Untuk fail yang menuruti " "versi 1.1.0.0 bagi spesifikasi DNG, tag ini patut mengandungi bait: 1, 1, 0, " "0." #: src/tags.cpp:875 msgid "DNG backward version" msgstr "Versi terbelakang DNG" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" "Tag ini menyatakan versi terlama spesifikasi Negatif Digital yang mana fail " "tidak serasi. Pembaca tidak akan cuba membaca fail jika tag ini nyatakan " "nombor versi yang lebih tinggi dari nombor versi spesifikasi pembaca " "gunakan. Selain dari memeriksa tag versi, pembaca patut lakukan, untuk semua " "tag, semak jenisnya, kiraannya, dan nilainya, dan juga mengesahkannya supaya " "dapat membaca fail dengan betul." #: src/tags.cpp:884 msgid "Unique Camera Model" msgstr "Model Kamera Unik" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" "Takrifkan nama bukan-setempat yang unik untuk model kamera yang cipta imej " "dalam fail raw. Nama ini patut sertakan nama pengilang untuk menghindari " "konflik, dan tidak perlu disetempatkan, walaupun nama kamera tersebut telah " "disetempatkan untuk pasaran yang berlainan (rujuk LocalizedCameraModel). " "Rentetan ini mungkin digunakan oleh perisian pembaca untuk indekskan " "keutamaan per-model dan profil penggantian." #: src/tags.cpp:892 msgid "Localized Camera Model" msgstr "Model Kamera Setempat" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" "Serupa dengan medan Model Kamera Unik, kecuali nama boleh disetempatkan " "untuk pasaran yang berlainan untuk memadani penyetempatan nama kamera." #: src/tags.cpp:897 msgid "CFA Plane Color" msgstr "warna Satah CFA" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" "Menyediakan pemetaan diantara nilai dalam tag CFAPattern dan bilangan satah " "dalam ruang LinearRaw. Ia merupakan tag yang diperlukan untuk imej CFA bukan-" "RGB." #: src/tags.cpp:902 msgid "CFA Layout" msgstr "Bentangan CFA" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "Terangkan bentangan spatial CFA." #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" "Terangkan jadual carian yang petakan nilai tersimpan kepada nilai linear. " "Tag ini digunakan untuk meningkatkan nisbah pemampatan dengan menyimpan data " "raw dalam bukan-linear, lebih ruang seragam yang lebih visual dengan " "sejumlah aras pengekodan yang lebih sedikit. Jika SamplesPerPixel tidak " "menyamai kepada satu, jadual tunggal ini dilaksana kepada semua sampel untuk " "setiap piksel." #: src/tags.cpp:912 msgid "Black Level Repeat Dim" msgstr "Malap Ulangan Aras Hitam" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "Nyatakan saiz corak ulangan untuk tag Aras Hitam." #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" "Nyatakan aras pengekodan cahaya sifar (iaitu hitam termal), sebagai corak " "pengulangan. Asal corak ini adalah bucu kiri-atas bagi segiempat tepat " "Kawasan Aktif. Nilai disimpan dalam tertib imbasan sampel-lajur-baris." #: src/tags.cpp:921 msgid "Black Level Delta H" msgstr "Delta H Aras Hitam" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" "Jika aras pengekodan cahaya sifar adalah fungsi bagi lajur imej, " "BlackLevelDeltaH nyatakan perbezaan diantara aras pengekodan cahaya sifar " "untuk setiap lajur dan aras pengekodan cahaya sifar dasar. Jika " "SamplesPerPixel tidak menyamai satu, jadual tunggal ini dilaksana pada semua " "sampel untuk setiap piksel." #: src/tags.cpp:928 msgid "Black Level Delta V" msgstr "Delta V Aras Hitam" #: src/tags.cpp:929 msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" "Jika aras pengekodan cahaya sifar adalah fungsi bagi baris imej, " "BlackLevelDeltaH nyatakan perbezaan diantara aras pengekodan cahaya sifar " "untuk setiap baris dan aras pengekodan cahaya sifar dasar. Jika " "SamplesPerPixel tidak menyamai satu, jadual tunggal ini dilaksana pada semua " "sampel untuk setiap piksel." #: src/tags.cpp:935 msgid "White Level" msgstr "Aras Putih" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" "Tag ini menyatakan aras pengekodan sepenuhnya tepu untuk nilai sampel raw. " "Ketepuan disebabkan sama ada oleh penderia itu sendiri yang menjadi bukan-" "linear yang sangat tinggi bila membalas, atau oleh analog kamera terhadap " "pengetipan penukaran digital." #: src/tags.cpp:941 msgid "Default Scale" msgstr "Skala Lalai" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" "Skala Lalai diperlukan untuk kamera dengan piksel tanpa-petak. Ia nyatakan " "faktor skala lalai untuk setiap arah untuk menukar imej kepada piksel petak. " "Umumnya faktor ini adalah dipilih untuk kekalkan kiraan jumlah piksel. Bagi " "imej CFA yang menggunakan Bentangan CFA menyamai dengan 2, 3, 4, atau 5 " "seperti SuperCCD Fujifilm, kedua-dua nilai ini sepatutnya berbeza dengan " "faktor sebanyak 2.0." #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "Asalan Keratan Lalai" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" "Imej raw biasanya menyimpan piksel tambahan disekitar pinggir imej akhir. " "Piksel tambahan ini bantu menghindari interpolasi artifaks yang berhampiran " "pinggir imej akhir. DefaultCropOrigin nyatakan asal kawasan imej akhir, " "dalam koordinat imej raw (iaitu sebelum Skala Lalai dilaksanakan), ia " "relatif pada bucu kiri-atas bagi segiempat tepat Kawasan Aktif." #: src/tags.cpp:957 msgid "Default Crop Size" msgstr "Saiz Kerat Lalai" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" "Imej raw biasanya menyimpan piksel tambahan disekitar pinggir imej akhir. " "Piksel tambahan ini bantu menghindari interpolasi artifaks yang berhampiran " "pinggir imej akhir. DefaultCropSize nyatakan saiz kawasanawasan imej akhir, " "dalam koordinat imej raw (iaitu sebelum Skala Lalai dilaksanakan)." #: src/tags.cpp:964 msgid "Color Matrix 1" msgstr "Matriks Warna 1" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" "ColorMatrix1takrifkan penjelmaan matriks yang menukar nilai XYZ kepada nilai " "ruang warna tabii kamera rujukan, dibawah iluminasi penentukuran pertama. " "Nilai matriks disimpan dalam tertib imbas baris. Tag ColorMatrix1 diperlukan " "untuk semua fail DNG bukan-monokrom." #: src/tags.cpp:971 msgid "Color Matrix 2" msgstr "Matrik Warna 2" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" "ColorMatrix2takrifkan penjelmaan matriks yang menukar nilai XYZ kepada nilai " "ruang warna tabii kamera rujukan, dibawah iluminasi penentukuran kedua. " "Nilai matriks disimpan dalam tertib imbas baris." #: src/tags.cpp:977 msgid "Camera Calibration 1" msgstr "Penentukuran Kamera 1" #: src/tags.cpp:978 #, fuzzy msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" "Penentukuran Kamera 1 takrifkan matriks penentukuran yang jelmakan nilai " "ruang tabii kamera rujukan kepada nilai ruang tabii kamera individu dibawah " "iluminasi penentukuran pertama. Matriks disimpan dalam tertib imbas baris. " "Matriks ini disimpan secara berasingan dari matriks yang dinyatakan oleh tag " "Matriks Warna 1 untuk membenarkan penukar raw menyilih pengganti matriks " "warna yang berasaskan tag UniqueCameraModel, dan masih mengambil kelebihan " "penentukuran kamera per-individu yang dibuat oleh pengilang kamera." #: src/tags.cpp:987 msgid "Camera Calibration 2" msgstr "Penentukuran Kamera 2" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" "Penentukuran Kamera 2 takrifkan matriks penentukuran yang jelmakan nilai " "ruang tabii kamera rujukan kepada nilai ruang tabii kamera individu dibawah " "iluminasi penentukuran kedua. Matriks disimpan dalam tertib imbas baris. " "Matriks ini disimpan secara berasingan dari matriks yang dinyatakan oleh tag " "Matriks Warna 2 untuk membenarkan penukar raw menyilih pengganti matriks " "warna yang berasaskan tag UniqueCameraModel, dan masih mengambil kelebihan " "penentukuran kamera per-individu yang dibuat oleh pengilang kamera." #: src/tags.cpp:997 msgid "Reduction Matrix 1" msgstr "Matriks Pengurangan 1" #: src/tags.cpp:998 msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" "Matriks Pengurangan 1 takrifkan matriks pengurangan secara dimensi untuk " "digunakan sebagai tahap pertama semasa menukar nilai ruang tabii kamera " "warna kepada nilai XYZ, dibawah iluminasi penentukuran pertama. Tag ini " "hanya boleh digunakan jika Satah Warna lebih besar daripada 3. Matriks " "disimpan dalam tertib imbas baris." #: src/tags.cpp:1004 msgid "Reduction Matrix 2" msgstr "Matriks Pengurangan 2" #: src/tags.cpp:1005 msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" "Matriks Pengurangan 2 takrifkan matriks pengurangan secara dimensi untuk " "digunakan sebagai tahap pertama semasa menukar nilai ruang tabii kamera " "warna kepada nilai XYZ, dibawah iluminasi penentukuran kedua. Tag ini hanya " "boleh digunakan jika Satah Warna lebih besar daripada 3. Matriks disimpan " "dalam tertib imbas baris." #: src/tags.cpp:1011 msgid "Analog Balance" msgstr "Imbangan Analog" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" "Biasanya, niali raw tersimpan bukanlah terimbang putih, kerana sebarang " "pengimbangan putih digital akan kurangkan julat dinamik bagi imej akhir jika " "pengguna bercadang untuk melaras imbangan putih kemudian; namun, jika " "perkakasan kamera berupaya mengimbangkan putih saluran warna sebelum isyarat " "didigitkan, ia boleh pertingkatkan julat dinamik bagi imej akhir. Imbangan " "Analog takrifkan gandaan, sama ada analog (disarankan) atau digital (tidak " "disarankan) yang telah dilaksana pada nilai raw tersimpan." #: src/tags.cpp:1021 msgid "As Shot Neutral" msgstr "Sebagai Neutral Syot" #: src/tags.cpp:1022 msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" "Nyatakan imbangan putih terpilih pada masa tangkapan, dikodkan sebagai " "koordinat bag warna neutral yang sempurna dalam nilai ruang rujukan linear. " "Pemasukan tag ini menghalang pemasukan tag AsShotWhiteXY." #: src/tags.cpp:1027 msgid "As Shot White XY" msgstr "Sebagai Syot Putih XY" #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" "Nyatakan imbangan putih terpilih pada masa tangkapan, dikodkan sebagai " "koordinat kekromatan x-y. Pemasukan tag ini menghalang pemasukan tag " "AsShotNeutral." #: src/tags.cpp:1032 msgid "Baseline Exposure" msgstr "Dedahan Garis Dasar" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" "Model kamera berbeza keseimbangan yang dihasilkan diantara ruang atas " "sorotan dan hingar bayang. Sesetengahnya meninggalkan sejumlah ruang atas " "sorotan yang jelas semasa dedahan biasa. Ia membenarkan pemampasan dedahan " "negatif yang jelas dilaksanakan semasa penukaran raw, tetapi dedahan biasa " "akan mengandungi lebih hingar bayang. Model lain meninggalkan ruang atas " "lebih sedikit semasa dedahan biasa. Ia membenarkan pemampasan dedahan " "negatif yang lebih sedikit, tetapi hasilnya hingar bayang lebih rendah pada " "dedahan biasa. Oleh kerana terdapat perbezaan ini, penukar raw perlu berbeza " "takat sifarnya untuk kawalan pemampasan dedahan mengikut model. " "BaselineExposure juga menyatakan berapa banyak ( dalam unit EV) untuk gerak " "takat sifar. Nilai positif menghasilkan hasil lalai yang lebih cerah, " "manakala nilai negatif menghasilkan hasil lalai yang lebih gelap." #: src/tags.cpp:1047 msgid "Baseline Noise" msgstr "Hingar Garis Dasar" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" "Nyatakan aras hingar relatif bagi model kamera pada nilai ISO asas 100, " "dibandingkan pada model kamera rujukan. Oleh kerana aras hingar berbeza kira-" "kira punca kuasa dua dari nilai ISO, penukar raw boleh gunakan nilai ini, " "digabungkan dengan ISO semasa, untuk mengganggarkan aras hingar relatif bagi " "imej semasa." #: src/tags.cpp:1054 msgid "Baseline Sharpness" msgstr "Kejelasan Garis Dasar" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" "Nyatakan aras sejumlah relatif penjelasan yang diperlukan untuk model kamera " "ini, dibandingkan pada model kamera rujukan. Model kamera berbeza kekuatan " "penapis anti-alias mereka. Kamera dengan penapis lemah atau tanpa penapis " "kurang perlukan penjelasan berbanding kamera yang mempunyai penapis anti-" "alias yang kuat." #: src/tags.cpp:1061 msgid "Bayer Green Split" msgstr "Pisah Hijau Bayer" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" "Hanya dilaksana pada imej CFA menggunakan tatasusunan penapis corak Bayer. " "Tag ini dinyatakan, dalam unit arbitari, berapa hampir nilai piksel hijau " "dalam trek baris biru/hijau bagi piksel hijau dalam baris merah/hijau. Nilai " "sifar bermaksud terdapat dua jenis trek piksel hijau yang berhampiran, " "manakala nilai bukan-sifar bermaksud ia kadangkala mencapah. Julat berguna " "untuk tag ini adalah bermula dari 0 (tanpa capah) sehinggalah 5000 (capahan " "yang agak besar)." #: src/tags.cpp:1070 msgid "Linear Response Limit" msgstr "Had Balas Linear" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" "Sesetengah penderia mempunyai tidak-linear dalam balasan mereka bilamana ia " "menghampiri had atas julat pengekodan mereka. Keputusan tidak-linear ini " "menghasilkan anjakan-warna dalam kawasan sorotan imej yang terhasil " "melainkan penukar raw mengimbangi kesan ini. LinearResponseLimit nyatakan " "pecahan julat pengekodan diatas yang mana balasan mungkin menjadi tidak-" "linear yang jelas." #: src/tags.cpp:1079 msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" "Nombor Siri Kamera mengandungi nombor siri kamera atua badan kamera yang " "menangkap imej." #: src/tags.cpp:1082 msgid "Lens Info" msgstr "Maklumat Kanta" #: src/tags.cpp:1083 msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" "Mengandungi maklumat mengenai kanta yang menangkap imej. Jika hentian-f " "minimum tidak diketahui, ia sepatutnya dikodkan sebagai 0/0." #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "Jejari Kabur Kroma" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" "ChromaBlurRadius menyediakan pembayang kepada pembaca DNG mengenai berapa " "banyak kabur kroma patut dilaksana kepada imej. Jika tag ini disingkirkan, " "pembaca akan guna jumlah lalai pengaburan kroma. Umumnya tag ini hanya " "disertakan pada imej bukan-CFA, kerana jumlah kabur kroma diperlukan untuk " "imej mozek yang sangat bergantung dalam algoritma nyah-mozek, yang mana " "nilai lalai pembaca DNG akan dioptimumkan bagi algortima nyah-mozek " "tertentunya." #: src/tags.cpp:1095 msgid "Anti Alias Strength" msgstr "kekuatan Anti Alias" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" "Sediakan pembayan kepada pembaca DNG mengenai berapakah kekuatan penapis " "anti-alias kamera. Nilai 0.0 bermaksud tiada penapis anti-alias (iaitu " "kamera akan anti-aliaskan artifaks dengan sesetengah subjek), manakala nilai " "1.0 bermaksud penapis anti-alias yang kuat (iaitu kamera hampir tidak " "mengaliaskan artifak)." #: src/tags.cpp:1102 msgid "Shadow Scale" msgstr "Skala Bayang" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" "Tag ini digunakan oleh Raw Kamera Adobe untuk mengawal kepekaan pelungsur " "'Bayang'." #: src/tags.cpp:1106 msgid "DNG Private Data" msgstr "Data Peribadi DNG" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" "Sediakan cara untuk pengilang kamera menyimpan data peribadi dalam fail DNG " "untuk diguna oleh penukar raw mereka sendiri, dan mempunyai data yang " "disimpan oleh program yang menyunting fail DNG." #: src/tags.cpp:1111 msgid "MakerNote Safety" msgstr "Keselamatan MakerNote" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" "MakerNoteSafety membolehkan pembaca DNG tahu sama ada tag MakerNote EXIF " "adalah selamt disimpan bersama-sama data EXIF yang lain. Pelayar fail dan " "lain-lain perisian pengurusan imej memproses imej yang ada MakerNote " "tersimpan mengetahui bahawa sebarang imej thumbnail yang terbenam dalam " "MakerNote mungkin sudah lapok, dan tidak merujuk pada keadaan semasa imej " "bersaiz penuh tersebut." #: src/tags.cpp:1119 msgid "Calibration Illuminant 1" msgstr "Iluminan Penentukuran 1" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" "Iluminan digunakan untuk tetap kali pertama tag penentukuran warna " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). Nilai sah bagi tag ini " "adalah sama dengan nilai sah bagi tag EXIF LightSource." #: src/tags.cpp:1125 msgid "Calibration Illuminant 2" msgstr "Iluminan Penentukuran 2" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" "Iluminan yang digunakan untuk set kedua pilihan bagi tag penentukuran warna " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). Nilai sah bagi tag ini " "adalah sama dengan nilai sah bagi tag CalibrationIlluminant1; namun, jika " "kedua-duanya disertakan, ia tidak boleh mempunyai nilai 0 (tidak diketahui)." #: src/tags.cpp:1132 msgid "Best Quality Scale" msgstr "Skala Kualiti Terbaik" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" "Bagi sesetengah kamera, kualiti imej yang terbaik tidak dicapai dengan " "mengekalkan kiraan jumlah piksel semasa penukaran. Contohnya, imej SuperCCD " "Fujifilm mempunyai perincian maksimum bila kiraan jumlah pikselnya " "digandakan. Tag ini menyatakan jumlah nilai tag DefaultScale perlu untuk " "digandakan untuk mencapai saiz imej berkualiti terbaik." #: src/tags.cpp:1140 msgid "Raw Data Unique ID" msgstr "ID Unik Data Raw" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" "Tag ini mengandungi pengenalpasti unik 16-bait untuk data imej raw dalam " "fail DNG. Pembaca DNG boleh gunakan tag ini untuk mengenalpasti imej raw " "tertentu, walaupun jika nama fail atau data meta terkandung dalam fail telah " "berubah. Jika penulis DNG mencipta pengenalpasti sebegitu, ia patut dibuat " "menggunakan algortima yang akan pastikan ia dua imej yang berbeza tidak " "mempunyai pengenalpasti yang sama." #: src/tags.cpp:1149 msgid "Original Raw File Name" msgstr "Nama Fail Raw Asal" #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" "Jika fail DNG telah ditukar dari fail raw bukan-DNG, maka tag ini " "mengandungi nama fail bagi fail raw asal tersebut." #: src/tags.cpp:1153 msgid "Original Raw File Data" msgstr "Data Fail Raw Asal" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" "Jika fail DNG telah ditukar dari fail raw bukan-DNG, maka tag ini " "mengandungi nama fail bagi fail raw asal tersebut. Kandungan tag ini " "sentiasa menggunakan tertib bait endian-besar. Tag mengandungi satu jujukan " "blok data. Versi akan datang bagi spesifikasi DNG akan takrifkan blok data " "tambahan, jadi pembaca DNG patut abaikan bait tambahan bila menghurai tag " "ini. Pembaca DNG juga dapat mengesan blok data yang hilang dari penghujung " "jujukan, dan boleh anggap nilai lalai untuk semua blok yang hilang. Tiada " "bait pemadatan atau jajaran diantara blok data." #: src/tags.cpp:1164 msgid "Active Area" msgstr "Kawasan Aktif" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" "Segiempat tepat ini takrifkan piksel aktif (tanpa-topeng) penderia. Tertib " "bagi koordinat segiempat tepat ialah: atas, kiri, bawah, kanan." #: src/tags.cpp:1168 msgid "Masked Areas" msgstr "Kawasan Bertopeng." #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" "Tag ini mengandungi senarai koordinat segiempat tepat tidak-bertindih bagi " "piksel bertopeng penuh, yang mana secara pilihan diguna oleh pembaca DNG " "untuk mengukur aras pengekodan hitam. Tertib bagi setiap koordinat segiempat " "tepat ialah: atas, kiri, bawah, kanan. Jika data imej raw sudah membuang " "aras pengekodan hitamnya, maka tag ini tidak perlu digunakan, kerana piksel " "bertopeng tidak lagi diperlukan." #: src/tags.cpp:1176 msgid "As-Shot ICC Profile" msgstr "Profil ICC As-Shot" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" "Tag ini mengandungi profil ICC yang mana berhubung dengan tag " "AsShotPreProfileMatrix, disediakan oleh pengilang kamera sebagai cara " "nyatakan penerapan warna dari koordinat ruang warna kamera (nilai rujukan " "linear) kedalam ruang sambungan profil ICC. Ruang sambungan profil ICC " "adalah ruang kolorimetrik rujukan output, yang mana tag penentukuran warna " "lain dalam DNG nyatakan penukaran kepada ruang kolorimetrik rujukan adegan. " "Ia bermakna penerapan profil ini patut sertakan sebarang pemetaan ton dan " "gamut yang dikehendaki untuk tukar diantara nilai rujukan adegan denga nilai " "rujukan output." #: src/tags.cpp:1188 msgid "As-Shot Pre-Profile Matrix" msgstr "Martrik Pra-Profil As-Shot" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" "Tag ini digunakan untuk hubung dengan tag AsShotICCProfile. ia nyatakan " "matrik yang patut dilaksana kepada koordinat ruang warna kamera sebelum " "memproses nilai menerusi profil ICC yang dinyatakan dalam tag " "AsShotICCProfile. Matrik disimpan dalam tertib imbas baris. Jika satah Warna " "lebih besar dari tiga, maka matrik ini boleh (tetapi tidak diperlukan) " "mengurangkan kedimensian data warna sehingga kepada tiga komponen, yang mana " "AsShotICCProfile patut mempunyai tiga sahaja berbanding komponen input Satah " "Warna." #: src/tags.cpp:1198 msgid "Current ICC Profile" msgstr "Profil ICC Semasa" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" "Tag ini digunakan untuk berhubung dengan tag CurrentPreProfileMatrix. Tag " "CurrentICCProfile dan CurrentPreProfileMatrix mempunyai tujuan dan kegunaan " "yang sama seperti pasangan tag AsShotICCProfile dan AsShotPreProfileMatrix, " "kecuali ia digunakan untuk penyunting fail raw berbanding pengilang kamera." #: src/tags.cpp:1205 msgid "Current Pre-Profile Matrix" msgstr "Matrik Pra-Profil Semasa" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" "Tag ini digunakan untuk berhubung dengan tag CurrentICCProfile. Tag " "CurrentICCProfile dan CurrentPreProfileMatrix mempunyai tujuan dan kegunaan " "yang sama seperti pasangan tag AsShotICCProfile dan AsShotPreProfileMatrix, " "kecuali ia digunakan oleh penyunting fail raw berbanding pengilang kamera." #: src/tags.cpp:1212 msgid "Colorimetric Reference" msgstr "Rujukan Kolorimetrik" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" "Dokumen model warna DNG adalah penjelmaan diantara warna kamera denga nilai " "CIE XYZ. Tag ini menerangkan rujukan kolorimetrik untuk nilai CIE XYZ. 0 = " "Nilai XYZ dirujuk-adegan. 1 = NIlai XYZ dirujuk-output, menggunakan julat " "dinamik perseptual profil ICC. Tag ini membolehkan data dirujuk-output " "disimpan dalam fail DNG dan masih diproses dengan baik oleh pembaca DNG." #: src/tags.cpp:1220 msgid "Camera Calibration Signature" msgstr "Tandatangan Tentukur Kamera" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" "Rentetan terenkod UTF-8 berkaitan dengan tag CameraCalibration1 dan " "CameraCalibration2. Tag CameraCalibration1 dan CameraCalibration2 seharusnya " "digunakan dalam penjelmaan warna DNG jika rentetan disimpan dalam tag " "CameraCalibrationSignature adalah sepadan dengan rentetan yang disimpan " "dalam tag ProfileCalibrationSignature untuk profil kamera terpilih." #: src/tags.cpp:1227 msgid "Profile Calibration Signature" msgstr "Tandatangan Tentukur Profil" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" "Rentetan terenkod UTF-8 berkaitan dengan tag profil kamera. Tag " "CameraCalibration1 dan CameraCalibration2 seharusnya digunakan dalam " "penjelmaan warna DNG jika rentetan disimpan dalam tag " "CameraCalibrationSignature adalah sepadan dengan rentetan yang disimpan " "dalam tag ProfileCalibrationSignature untuk profil kamera terpilih." #: src/tags.cpp:1234 msgid "As Shot Profile Name" msgstr "Sebagai Nama Profil Syot" #: src/tags.cpp:1235 msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" "Rentetan terenkod UTF-8 yang mengandngi nama profil kamera \"bila syot\", " "jika ada." #: src/tags.cpp:1238 msgid "Noise Reduction Applied" msgstr "Pengurangan Hingar Dilaksana" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" "Tag ini menunjukkan berapa banyakkah pengurangan hingar telah dilaksana ke " "data raw pada skala 0.0 hingga 1.0. Nilai 0.0 menunjukkan tiada pengurangan " "hingar dilaksanakan. Nilai 1.0 menunjukkan sejumlah \"ideal\" pengurangan " "hingar telah dilaksanakan, iaitu pembaca DNG seharusnya tidak laksanakan " "lagi pengurangan hingar secara lalai. Satu nilai 0/0 menunjukkan parameter " "ini tidak diketahui." #: src/tags.cpp:1246 msgid "Profile Name" msgstr "Nama Profil" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" "Rentetan terenkod UTF-8 yang mengandungi nama profil kamera. Tag ini adalah " "pilihan jika hanya terdapat satu profil kamera tersimpan di dalam fail " "tetapi diperlukan untuk semua profil kamera jika tidak ada lebih dari satu " "profil kamera tersimpan di dalam fail." #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "Dim Peta Rona Ketep Profil" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" "Tag ini menyatakan bilangan sampel input bagi setiap dimensi jadual pemetaan " "rona/ketepuan/nilai. Data bagi jadual ini disimpan di dalam tag " "ProfileHueSatMapData1 dan ProfileHueSatMapData2. Dalam kebanyakan kes " "ValueDivisions menyamai 1, jadi hanya rona dan ketepuan digunakan sebagai " "input ke dalam jadual pemetaan." #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "Data Rona Ketep Peta Data Profil 1" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" "Tag ini mengandungi data untuk jadual pemetaan rona/ketepuan/nilai pertama. " "Setiap masukan jadual mengandungi tiga nilai titik-apung IEEE 32-bit. " "Masukan pertama adalah anjak rona dalam darjah; masukan kedua ialah faktor " "skala ketepuan; dan ketiga adalah faktor skala nilai. Masukan jadual " "disimpan dalam tag di dalam tertib gelung tersarang, dengan pembahagian " "nilai di dalam gelung luaran, pembahagian rona di dalam gelung pertengahan, " "dan pembahagian ketepuan di dalam gelung dalaman. Semua masukan ketepuan " "input sifar diperlukan untuk mempunyai faktor skala nilai 1.0." #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "Profil Rona Ketep Peta Data 2" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" "Tag ini mengandungi data untuk jadual pemetaan rona/ketepuan/nilai kedua. " "Setiap masukan jadual mengandungi tiga nilai titik-apung IEEE 32-bit. " "Masukan pertama adalah anjak rona dalam darjah; masukan kedua ialah faktor " "skala ketepuan; dan ketiga adalah faktor skala nilai. Masukan jadual " "disimpan dalam tag di dalam tertib gelung tersarang, dengan pembahagian " "nilai di dalam gelung luaran, pembahagian rona di dalam gelung pertengahan, " "dan pembahagian ketepuan di dalam gelung dalaman. Semua masukan ketepuan " "input sifar diperlukan untuk mempunyai faktor skala nilai 1.0." #: src/tags.cpp:1279 msgid "Profile Tone Curve" msgstr "Lengkung Tona Profil" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" "Tag ini mengandungi lekung tona lalai yang boleh dilaksana semasa memproses " "imej sebagai titik permulaan untuk pelarasan pengguna. Lekung dinyatakan " "sebagai senarai pasangan nilai titik-apung IEEE 32-bit dalam gamma linear. " "Setiap sampel mempunyai nilai input dalam julat 0.0 hingga 1.0, dan nilai " "output dari 0.0 hingga 1.0. Sampel pertama diperlukan menjadi (0.0, 0.0), " "dan sampel terakhir yang diperlukan menjadi (1.0, 1.0). Interpolasikan " "lekung menggunakan spline lekung." #: src/tags.cpp:1288 msgid "Profile Embed Policy" msgstr "Polisi Terbenam Profil" #: src/tags.cpp:1289 msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" "Tag ini mengandungi maklumat mengenai peraturan penggunaan untuk profil " "kamera berkaitan." #: src/tags.cpp:1292 msgid "Profile Copyright" msgstr "Hakcipta Profil" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" "Rentetan terenkod UTF-8 mengandungi maklumat hakcipta bagi profil kamera. " "Rentetan ini sentiasa dikekalkan bersama-sama tag profil kamera yang lain." #: src/tags.cpp:1297 msgid "Forward Matrix 1" msgstr "Matriks Maju 1" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" "Tag ini mentakrifkan matriks yang petakan warna kamera terimbang ke warna " "XYZ D50." #: src/tags.cpp:1301 msgid "Forward Matrix 2" msgstr "Matriks Maju 2" #: src/tags.cpp:1305 msgid "Preview Application Name" msgstr "Nama Aplikasi Pratonton" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" "Rentetan terenkod UTF-8 mengandungi nama aplikasi yang mencipta pratonton " "tersimpan dalam IFD." #: src/tags.cpp:1309 msgid "Preview Application Version" msgstr "Versi Aplikasi Pratonton" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" "Rentetan terenkod UTF-8 mengandungi nombor versi aplikasi yang mencipta " "pratonton tersimpan dalam IFD." #: src/tags.cpp:1313 msgid "Preview Settings Name" msgstr "Nama Tetapan Pratonton" #: src/tags.cpp:1314 msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" "Rentetan terenkod UTF-8 yang mengandungi tetapan penukaran (contohnya, nama " "tangkapan) digunakan untuk pratonton tersimpan dalam IFD." #: src/tags.cpp:1317 msgid "Preview Settings Digest" msgstr "Cernaan Tetapan Pratonton" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" "Satu ID unik tetapan penukaran (contohnya, cernaan MD5) digunakan untuk " "terapkan pratonton tersimpan dalam IFD." #: src/tags.cpp:1321 msgid "Preview Color Space" msgstr "Ruang Warna Pratonton" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" "Tag ini menyatakan ruang warna yang mana pratonton terterap dalam IFD ini " "disimpan. Nilai lalai bagi tag ini adalah sRGB untuk pratonton warna dan " "Gray Gamma 2.2 untuk pratonton monokrom." #: src/tags.cpp:1326 msgid "Preview Date Time" msgstr "Tarikh Masa Pratonton" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" "Tag ini merupakan rentetan ASCII yang mengandungi nama tarikh/masa yang mana " "pratonton disimpan dalam IFD diterap. Masa/tarikh dienkod menggunakan format " "ISO 8601." #: src/tags.cpp:1331 msgid "Raw Image Digest" msgstr "Cernaan Imej Raw" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" "Tag ini merupakan cernaan MD5 bagi data imej raw. Semua piksel dalam imej " "diproses dalam tertib imbas-baris. Setiap piksel dipadat sifar ke kedalaman " "16 atau 32 bit (16-bit untuk data kurang atau menyamai kedalaman 16-bit), 32-" "bit sebaliknya). Data bagi setiap piksel diproses dalam tertib bait endian-" "kecil." #: src/tags.cpp:1337 msgid "Original Raw File Digest" msgstr "Cernaan Fail Raw Asal" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" "Tag ini adalah cernaan MD5 bagi data tersimpan dalam tag OriginalRawFileData." #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "Saiz Blok Sub Jubin" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" "Biasanya piksel di dalam jubin disimpan dalam tertib imbas-baris mudah. Tag " "ini menyatakan piksel di dalam jubin seharusnya dikumpulkan dahulu ke dalam " "bentuk blok segiempat bagi saiz tertentu. Blok ini disimpan dalam tertib " "imbas-baris. Di dalam setiap blok, piksel disimpam dalam tertib imbas-baris. " "Penggunaan nilai bukan-lalai bagi tag ini memerlukan penetapan tag " "DNGBackwardVersion sekurang-kurangnya 1.2.0.0." #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "Faktor Antara Lembar Baris" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" "Tag ini menyatakan baris imej yang disimpan dalam tertib antara lembar. " "Nilai tag menyatakan bilangan medan diantara lembar. Penggunaan nilai bukan-" "lalai bagi tag ini memerlukan penetapan tag DNGBackwardVersion sekurang-" "kurangnya 1.2.0.0." #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "Dim Jadual Lihat Profil" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" "Tag ini menyatakan bilangan sampel input dalam setiap dimensi jadual \"lihat" "\" lalai. Data bagi jadual ini disimpan dalam tag ProfileLookTableData." #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "Data Jadual Lihat Profil" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" "Tag ini mengandungi jadual \"lihat\" lalai yang boleh dilaksana bila " "memproses imej sebagai titik permulaan bagi pelarasan pengguna. Jadual ini " "menggunakan format yang sama sebagai jadual yang disimpan di dalam tag " "ProfileHueSatMapData1 dan ProfileHueSatMapData2, dan laksanakan ruang warna " "yang serupa. Namun, ia seharusnya dilaksana kemudian di dalam talian " "pemprosesan, selepas mana-mana pemampasan dedahan dan/atau isian tahap " "cahaya, tetapi sebelum mana-mana tahap lekung ton. Setiap masukan jadual " "mengandungi tiga nilai titik-apung IEEE 32-bit. Masukan pertama adalah " "anjakan rona dalam darjah. masukan kedua adalah faktor skala ketepuan, dan " "masukan ketiga adalah faktor skala nilai. Masukan jadual disimpan dalam tag " "di dalam tertib gelung tersarang, dengan nilai pembahagian dalam gelung " "luaran, pembahagian rona dalam gelung pertengahan, dan pembahagian ketepuan " "dalam gelung dalam. Semua masukan input sifar diperlukan mempunyai faktor " "nilai skala 1.0." #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "Senarai Opcode 1" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" "Nyatakan senarai opcode yang seharusnya dilaksana ke imej raw, bila dibaca " "secara terus dari fail." #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "Senarai Opcode 2" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" "Nyatakan senarai opcode yang seharusnya dilaksana ke imej raw, selepas ia " "dipetakan ke nilai rujukan linear." #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "Senarai Opcode 3" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" "Nyatakan senarai opcode yang seharusnya dilaksana ke imej raw, selepas ia " "dinyahmozek." #: src/tags.cpp:1387 msgid "Noise Profile" msgstr "Profil Hingar" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" "NoiseProfile menerangkan sejumlah hingar dalam imej raw. Secara spesifik, " "tag ini modelkan sejumlah hingar foton bebas-isyarat (tangkapan) dan hingar " "bacaan penderia bebas-isyarat, dua sumber umum bagi hingar di dalam imej " "raw. Model menganggap hingar adalah putih dan bebas secara spatial, " "mengabaikan kesan corak tetap dan lan-lain sumber hingar (cth. piksel yang " "bertindakbalas terhadap ketidak-seragaman, kesan haba bebas-spatial, dan " "lain-lain)." #: src/tags.cpp:1396 src/tags.cpp:1397 msgid "Unknown IFD tag" msgstr "Tag IFD tidak diketahui" #: src/tags.cpp:1408 src/tags.cpp:1466 msgid "Not defined" msgstr "Tidak ditakrif" #: src/tags.cpp:1413 msgid "Creative program" msgstr "Program kreatif" #: src/tags.cpp:1414 msgid "Action program" msgstr "Program tindakan" #: src/tags.cpp:1415 msgid "Portrait mode" msgstr "Mod potret" #: src/tags.cpp:1416 msgid "Landscape mode" msgstr "Mod lanskap" #: src/tags.cpp:1425 msgid "Multi-spot" msgstr "Bintik-berbilang" #: src/tags.cpp:1437 msgid "Tungsten (incandescent light)" msgstr "Tungsten (cahaya berpijar)" #: src/tags.cpp:1439 msgid "Fine weather" msgstr "Cuaca baik" #: src/tags.cpp:1440 msgid "Cloudy weather" msgstr "Cuaca mendung" #: src/tags.cpp:1442 msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "Pendaflour cahaya siang (D 5700 - 7100K)" #: src/tags.cpp:1443 msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "Pendaflour putih siang (N 4600 - 5400K)" #: src/tags.cpp:1444 msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "Pendaflour putih sejuk (W 3900 - 4500K)" #: src/tags.cpp:1445 msgid "White fluorescent (WW 3200 - 3700K)" msgstr "Pendaflour putih (WW 3200 - 3700K)" #: src/tags.cpp:1446 msgid "Standard light A" msgstr "Cahaya piawai A" #: src/tags.cpp:1447 msgid "Standard light B" msgstr "Cahaya piawai B" #: src/tags.cpp:1448 msgid "Standard light C" msgstr "Cahaya piawai C" #: src/tags.cpp:1449 msgid "D55" msgstr "D55" #: src/tags.cpp:1450 msgid "D65" msgstr "D65" #: src/tags.cpp:1451 msgid "D75" msgstr "D75" #: src/tags.cpp:1452 msgid "D50" msgstr "D50" #: src/tags.cpp:1453 msgid "ISO studio tungsten" msgstr "ISO studio tungsten" #: src/tags.cpp:1454 msgid "Other light source" msgstr "Sumber cahaya lain" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "Tidak ditentukur" #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "Kawasan warna satu-cip" #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "Kawasan warna dua-cip" #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "Kawasan warna tiga-cip" #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "Kawasan berjujukan warna" #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "Penderia trilinear" #: src/tags.cpp:1472 msgid "Color sequential linear" msgstr "Linear berjujukan warna" #: src/tags.cpp:1477 msgid "Film scanner" msgstr "Pengimbas filem" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "Pengimbas cetak pantulan" #: src/tags.cpp:1479 msgid "Digital still camera" msgstr "Kamera kaku digital" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "Difoto secara langsung" #: src/tags.cpp:1489 msgid "Normal process" msgstr "Proses biasa" #: src/tags.cpp:1490 msgid "Custom process" msgstr "Proses suai" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "Gandaan rendah naik" #: src/tags.cpp:1519 msgid "High gain up" msgstr "Gandaan tinggi naik" #: src/tags.cpp:1520 msgid "Low gain down" msgstr "Gandaan rendah turun" #: src/tags.cpp:1521 msgid "High gain down" msgstr "Gandaan tinggi turun" #: src/tags.cpp:1542 msgid "Close view" msgstr "Paparan dekat" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "Paparan jauh" #: src/tags.cpp:1550 msgid "Exposure time, given in seconds (sec)." msgstr "Masa dedahan, diberikan dalam saat (s)." #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" "Menunjukkan kepekaan spektral bagi setiap saluran kamera gunakan. Nilai tag " "adalah rentetan ASCII yang serasi dengan piawaian yang dibangunkan oleh " "Jawatankuasa Teknikal ASTM." #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "Fungsi Penukaran Opto-Elektorik" #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" "Menunjukkan Fungsi Penukaran Opto-Elektorik (OECF) yang dinyatakan dalam ISO " "14524. adalah hubungan diantara input optik kamera dengan nilai imej." #: src/tags.cpp:1573 msgid "Sensitivity Type" msgstr "Jenis Kepekaan" #: src/tags.cpp:1574 #, fuzzy msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" "Tag SensitivityType menunjukkan tag PhotographicSensitivity, yang mana salah " "satu parameter bagi ISO12232 walaupun ia adalah tag pilihan, ia seharusnya " "dirakam bila tag PhotographicSensitivity dirakam. Nilai = 4, 5, 6, atau 7 " "boleh digunakan jika nilai parameter jamak adalah sama." #: src/tags.cpp:1580 msgid "Standard Output Sensitivity" msgstr "Kepekaan Output Piawai" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" "Tag ini menunjukkan tag kepekaan output piawai bagi kamera atau peranti " "input yang ditakrif dalam ISO12232. Bila merakam tag ini, tag " "PhotographicSensitivity dan SensitivityType juga dirakam." #: src/tags.cpp:1585 msgid "Recommended Exposure Index" msgstr "Indeks Dedahan Disaran" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" "Tag ini menunjukkan nilai indeks dedahan yang disaran bagi kamera atau " "peranti input yang ditakrif dalam ISO12232. Bila merakam tag ini, tag " "PhotographicSensitivity dan SensitivityType juga dirakam." #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" "Tag ini menunjukkan nilai kelajuan ISO bagi kamera atau peranti input yang " "ditakrif dalam ISO12232. Bila merakam tag ini, tag PhotographicSensitivity " "dan SensitivityType juga dirakam." #: src/tags.cpp:1595 msgid "ISO Speed Latitude yyy" msgstr "Latitud Kelajuan ISO yyy" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" "Tag ini menunjukkan nilai latitud kelajuan ISO yyy bagi kamera atau peranti " "input yang ditakrif dalam ISO 12232. Walaubagaimanapun, tag ini tidak " "dirakam tanpa ISOSpeed atau ISOSpeedLatitudezzz." #: src/tags.cpp:1600 msgid "ISO Speed Latitude zzz" msgstr "Latitud Kelajuan ISO zzz" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" "Tag ini menunjukkan nilai latitud kelajuan ISO zzz bagi kamera atau peranti " "input yang ditakrif dalam ISO 12232. Walaubagaimanapun, tag ini tidak " "dirakam tanpa ISOSpeed atau ISOSpeedLatitudeyyy." #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" "Versi bagi piawaian ini disokong. Ketidakwujudan medan ini dianggap sebagai " "tidak menuruti piawaian." #: src/tags.cpp:1609 msgid "Date and Time (original)" msgstr "Tarikh dan Masa (asal)" #: src/tags.cpp:1610 msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" "Tarikh dan masa bila data imej asal dijana. bagi kamera digital, tarikh dan " "masa gambar yang diambil telah direkodkan" #: src/tags.cpp:1613 msgid "Date and Time (digitized)" msgstr "Tarikh dan Masa (berdigit)" #: src/tags.cpp:1614 msgid "The date and time when the image was stored as digital data." msgstr "Tarikh dan masa bila imej disimpan sebagai data digital." #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" "Maklumat khusus pada data termampat. Saluran bagi setiap komponen disusun " "dalam tertib dari komponen pertama sehingga ke-4. Untuk data tak mampat, " "susunan data diberikan dalam tag . Akan tetapi, " "semenjak hanya booeh mengungkap tertib Y, Cb dan " "Cr, tag ini disediakan untuk kes bila data termampat menggunakan komponen " "selain dari Y, Cb, dan Cr dan untuk membenarkan sokongan bagi jujukan yang " "lain." #: src/tags.cpp:1626 msgid "Compressed Bits per Pixel" msgstr "Bit Termampat per Piksel" #: src/tags.cpp:1627 msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" "Maklumat khusus pada data termampat. Mod pemampatan digunakan untuk imej " "termampat dinyatakan dalam unit bit per piksel." #: src/tags.cpp:1631 msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" "Kelajuan pengatup. Unit adalah tetapan APEX (Additive System of Photographic " "Exposure)" #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "Pengatup kanta. Unitnya adalah nilai APEX." #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" "Nilai kecerahan. Unitnya adalah nilai APEX. Umumnya ia diberikan dalam julat " "-99.99 hingga 99.99." #: src/tags.cpp:1641 msgid "Exposure Bias" msgstr "Bias Dedahan" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" "Bias dedahan. Unitnya adalah nilai APEX. Umumnya ia diberikan dalam julat " "-99.99 hingga 99.99." #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" "Nombor F terkecil kanta. Unitnya adalah nilai APEX. Umumnya ia diberikan " "dalam julat 00.00 hingga 99.99. tetapi ia tidak terhad pada julat ini." #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "Tag ini direkod bila imej diambil menggunakan cahaya strob (denyar)." #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" "Panjang fokus sebenar kanta, dalam mm. Penukaran tidak dibuat terhadap " "panjang fokus bagi kamera filem 35 mm." #: src/tags.cpp:1667 msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "" "Tag ini menunjukkan lokasi dan kawasan subjek utama dalam keseluruhan adegan." #: src/tags.cpp:1670 msgid "Maker Note" msgstr "Maker Note" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" "Tag untuk pengilang penulis Exif bagi merekod sebarang maklumat yang " "dikehendaki. Kandungannya mengikut kehendak pengilang." #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" "Tag untuk pengguna Exif untuk menulis kata kunci atau ulasan pada imej " "disamping yang ada didalam , dan tanpa sekatan kod aksara " "bagi tag ." #: src/tags.cpp:1679 msgid "Sub-seconds Time" msgstr "Masa Sub-saat" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "Tag yang digunakan untuk merekod pecahan saat bagi tag ." #: src/tags.cpp:1682 msgid "Sub-seconds Time Original" msgstr "Masa Asal Sub-saat" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "Tag yang digunakan untuk merekod pecahan saat untuk tag ." #: src/tags.cpp:1685 msgid "Sub-seconds Time Digitized" msgstr "Masa Terdigit Sub-saat" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "Tag yang digunakan untuk merekod pecahan saat untuk tag ." #: src/tags.cpp:1688 msgid "FlashPix Version" msgstr "Versi FlashPix" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "Versi format FlashPix yang disokong oleh fail FPXR." #: src/tags.cpp:1692 msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" "Tag maklumat ruang warna sentiasa direkod sebagai specifier ruang warna. " "Biasanya sRGB digunakan untuk takrif ruang warna berasaskan syarat dan " "persekitaran monitor PC. Jika ruang warna lain dari sRGB digunakan, Tak " "Tentukur ditetapkan. Data imej direkod sebagai Tak Tentukur boleh dianggap " "sebagai sRGB bila ia ditukarkan kepada FlashPix." #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" "Maklumat khusus pada data termampat. Bila fail termampat direkodkan, lebar " "sah bagi imej yang bermakna mesti direkod dalam tag ini, sama ada ia atau " "tiada data pemadatan atau penanda mula semula. Tag ini tidak patut wujud " "dalam fail tak mampat." #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" "Maklumat khusus pada data termampat. Bila fail termampat direkodkan, tinggi " "sah bagi imej yang bermakna mesti direkod dalam tag ini, sama ada ia atau " "tiada data pemadatan atau penanda mula semula. Tag ini tidak patut wujud " "dalam fail tak mampat. Semenjak pemadatan data tidak diperlukan dalam arah " "menegak, bilangan baris yang direkod dalam tag tinggi imej sah ini akan sama " "seperti yang direkodkan dalam SOF." #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" "Tag ini digunakan untuk merakam nama fail audio yang berkaitan dengan data " "imej. Hanya maklumat berkaitan direkod disini adalah nama fail audio dan " "sambungan Exif (rentetan ASCII bagi 8 aksara + '.' + 3 aksara). Laluan " "tidak direkodkan." #: src/tags.cpp:1723 msgid "Interoperability IFD Pointer" msgstr "Saling Kendalian Penuding IFD" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" "Saling Kendalian IFD adalah gubahan tag yang menyimpan maklumat untuk " "memastikan saling kendalian dan dituju oleh tag berikut yang berada dalam " "IFD Exif. Struktur saling kendali adalah sama seperti struktur IFD tertakrif " "TIFF tetapi tidak mengandungi karakter data imej yang dibandingkan dengan " "IFD TIFF biasa." #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" "Menunjukkan tenaga strobe pada masa imej ditangkap, yang diukur dalam Saat " "Kuasa Sinaran Lilin (BCPS)." #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" "Tag ini merekod jadual frekuensi dan nilai SFR kamera atau peranti input " "dalam arah lebar imej, tinggi imej, dan pepenjuru, sepertimana yang " "dinyatakan dalam ISO 12233." #: src/tags.cpp:1740 msgid "Focal Plane X-Resolution" msgstr "Resolusi-X Satah Fokus" #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" "Menunjukkan bilangan piksel dalam arah lebar imej (X) per " " dalam satah fokus kamera." #: src/tags.cpp:1744 msgid "Focal Plane Y-Resolution" msgstr "Resolusi-Y Satah Fokus" #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" "Menunjukkan bilangan piksel dalam arah tinggi imej (V) per " " dalam satah fokus kamera." #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" "Menunjukkan unit untuk mengukur dan " ". Nilai ini adalah sama dengan ." #: src/tags.cpp:1753 msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" "Menunjukkan lokasi subjek utama dalam adegan. Nilai tag ini mewakili piksel " "pada pusat subjek utama yang relatif pada pinggir kiri, mendahulu " "pemprosesan putaran sepertimana tag . Nilai pertama menunjukkan " "bilangan lajur X dan kedua menunjukkan bilangan baris Y." #: src/tags.cpp:1759 msgid "Exposure index" msgstr "Indeks dedahan" #: src/tags.cpp:1760 msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" "Menunjukkan indeks dedahan terpilih pada kamera atau peranti input pada masa " "imej ditangkap." #: src/tags.cpp:1764 msgid "Indicates the image sensor type on the camera or input device." msgstr "Menunjukkan jenis penderia imej pada kamera atau peranti input." #: src/tags.cpp:1767 msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" "Menunjukkan sumber imej. Jika DSC rakamkan imen, nilai tag ini bag tag ini " "sentiasa ditetapkan kepada 3, menunjukkan imej telah direkod pada DSC." #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" "Menunjukkan jenis adegan. Jika DSC rakamkan imej, nilai tag ini mesti " "ditetapkan kepada 1, menunjukkan imej telah difotograf secara langsung." #: src/tags.cpp:1776 msgid "Color Filter Array Pattern" msgstr "Corak Jujukan Penapis Warna" #: src/tags.cpp:1777 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" "Menunjukkan corak geometri (CFA) tatasusunan penapis warna bag penderia imej " "bila penderia kawasan warna satu-cip digunakan. Ia tidak dilaksana pada " "semua kaedah penderiaan." #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" "Tag ini menunjukkan kegunaan pemprosesan khas pada data imej, seperti " "penerapan yang bergear pada output. Bila pemprosesan khas dibuat, pembaca " "menjangka untuk lumpuh atau minimumkan sebarang pemprosesan lanjutan." #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" "Tag ini menunjukkan set mod dedahan bila imej diambil. Dalam mod pendakapan-" "sendiri, kamera mengambil beberapa siri bingkai bagi adegan yang sama pada " "tetapan dedahan yang berbeza." #: src/tags.cpp:1793 msgid "This tag indicates the white balance mode set when the image was shot." msgstr "" "Tag ini menunjukkan mod imbangan putih ditetapkan bila imej telah diambil." #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" "Tag ini menunjukkan nisbah zum digital bila imej telah diambil. Jika " "pengangka bagi nilai direkod adalah 0, ini menunjukkan zum digital tidak " "digunakan." #: src/tags.cpp:1801 msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" "Tag ini menunjukkan panjang fokus yang sama menganggap kamera filem 35mm, " "dalam mm. Nilai 0 bermaksud jarak fokus tidak diketahui. Perhatian tag ini " "berbeza dengan tag ." #: src/tags.cpp:1807 msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" "Tag ini menunjukkan jenis adegan yang diambil. Ia juga digunakan untuk " "merakam mod yang mana imej telah diambil. Perhatian ia berbeza dari tag " "." #: src/tags.cpp:1812 msgid "This tag indicates the degree of overall image gain adjustment." msgstr "Tag ini menunjukkan darjah pelarasan gandaan imej secara keseluruhan." #: src/tags.cpp:1815 msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" "Tag ini menunjukkan arah pemporsesan beza jelas yang dilaksana oleh kamera " "bila imej diambil." #: src/tags.cpp:1819 msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" "Tag ini menunjukkan arah pemprosesan ketepuan yang dilaksana oleh kamera " "bila imej telah diambil." #: src/tags.cpp:1823 msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" "Tag ini menunjukkan arah pemprosesan kejelasan yang dilaksana oleh kamera " "bila imej telah diambil." #: src/tags.cpp:1827 msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" "Tag ini menunjukkan maklumat pada syarat pengambilan-gambar bagi model " "kamera tertentu. Tag yang diguna hanya untuk menunjukkan syarat pengambilan-" "gambar dalam pembaca." #: src/tags.cpp:1832 msgid "This tag indicates the distance to the subject." msgstr "Tag ini menunjukkan jarah subjek." #: src/tags.cpp:1835 msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" "Tag ini menunjukkan pengenalpasti yang diumpuk secara unik kepada setiap " "imej. Ia dirakam sebagai rentetan ASCII yang menyamai notasi heksadesimal " "dan panjang tetap 128-bit." #: src/tags.cpp:1839 msgid "Camera Owner Name" msgstr "Nama Pemilik Kamera" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" "Tag ini merakam pemilik kamera yang digunakan dalam fotografi sebagai " "rentetan ASCII." #: src/tags.cpp:1843 msgid "Body Serial Number" msgstr "Nombor Siri Badan" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" "Tag ini merakam nombor siri badan kamera yang digunakan dalam fotografi " "sebagai rentetan ASCII." #: src/tags.cpp:1847 msgid "Lens Specification" msgstr "Spesifikasi Kanta" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" "Tag ini menyatakan panjang fokus minimum, panjang fokus maksimum, nombor F " "minimum dalam panjang fokus minimum, dan nombor F minimum dalam panjang " "fokus maksimum, yang mana maklumat spesifikasi bagi kanta yang digunakan " "dalam fotografi. Bila nombor F minimum tidak diketahui, catatan adalah 0/0" #: src/tags.cpp:1854 msgid "Lens Make" msgstr "Buatan Kanta" #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "Tag ini merakam pembuat kanta sebagai rentetan ASCII." #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" "Tag ini merakam nama model dan nombor model kanta sebagai rentetan ACII." #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" "Tag ini merakam nombor siri bagi kenata boleh ubah yang digunakan dalam " "fotografi sebagai rentetan ASCII." #: src/tags.cpp:1866 src/tags.cpp:1867 msgid "Unknown Exif tag" msgstr "Tag Exif tidak diketahui" #: src/tags.cpp:1878 msgid "North" msgstr "Utara" #: src/tags.cpp:1879 msgid "South" msgstr "Selatan" #: src/tags.cpp:1884 msgid "East" msgstr "Timur" #: src/tags.cpp:1885 msgid "West" msgstr "Barat" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "Atas aras laut" #: src/tags.cpp:1891 msgid "Below sea level" msgstr "Bawah aras laut" #: src/tags.cpp:1896 msgid "Measurement in progress" msgstr "Pengukuran dalam proses" #: src/tags.cpp:1897 msgid "Measurement Interoperability" msgstr "Pengukuran Saling Kendali" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "Pengukuran dua-dimensi" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "Pengukuran tiga-dimensi" #: src/tags.cpp:1908 msgid "km/h" msgstr "km/h" #: src/tags.cpp:1909 msgid "mph" msgstr "bsj" #: src/tags.cpp:1910 msgid "knots" msgstr "knot" #: src/tags.cpp:1915 msgid "True direction" msgstr "Arah sebenar" #: src/tags.cpp:1916 msgid "Magnetic direction" msgstr "Arah magnetik" #: src/tags.cpp:1921 msgid "Kilometers" msgstr "Kilometer" #: src/tags.cpp:1922 msgid "Miles" msgstr "Batu" #: src/tags.cpp:1923 msgid "Knots" msgstr "Knot" #: src/tags.cpp:1928 msgid "Without correction" msgstr "Tanpa pembetulan" #: src/tags.cpp:1929 msgid "Correction applied" msgstr "Pembetulan dilaksanakan" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" "Menunjukkan versi . Versi diberi sebagai 2.0.0.0. Tag adalah " "mandatori bila tag adalah hadir. (Perhatian: Tag " "diberi dalam bait, tidak seperti tag . Bia versi adalah " "2.0.0.0, nilai tag ialah 02000000.H)." #: src/tags.cpp:1941 msgid "GPS Latitude Reference" msgstr "Rujukan Latitud GPS" #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" "Menunjukkan sama ada latitud adalah utara atau latitud selatan. Nilai ASCII " "'N' menunjukkan latitud utara, dan 'S' adalah latitud selatan." #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" "Menunjukkan latitud. Latitud diungkap sebagai tiga nilai RATIONAL yang " "memberikan darjah, minit, dan saat. Bila darjah, minit dan saat diungkap, " "formatnya ialah dd/1.mm/1,ss/1. Bila darjah dan minit digunakan, sebagai " "contoh, pecahan minit diberikan sehingga dua tempat perpuluhan, formatnya " "ialah dd/1,mmmm,100,0/1." #: src/tags.cpp:1953 msgid "GPS Longitude Reference" msgstr "Rujukan Longitud GPS" #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" "Menunjukkan sama ada latitud adalah timur atau latitud barat. Nilai ASCII " "'E' menunjukkan latitud timur, dan 'W' adalah latitud barat." #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" "Menunjukkan longitud. Longitud diungkap sebagai tiga nilai RATIONAL yang " "memberikan darjah, minit, dan saat. Bila darjah, minit dan saat diungkap, " "formatnya ialah dd/1.mm/1,ss/1. Bila darjah dan minit digunakan, sebagai " "contoh, pecahan minit diberikan sehingga dua tempat perpuluhan, formatnya " "ialah dd/1,mmmm,100,0/1." #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" "Menunjukkan altitud digunakan sebagai altitud rujukan. Jika rujukan adalah " "aras laut dan altitud berada diatas aras laut, 0 diberikan. Jika altitud " "berada dibawah aras laut, nilai 1 diberikan dan altitud menunjukkan sebagai " "nilai mutlak dalam tag GSPAltitude. Unit rujukan adalah meter. Perhatian, " "tag ini adalah jenis BYTE, tidak seperti tag rujukan yang lain." #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" "Menunjukkan altitud berasaskan pada rujukan dalam GPSAltitudeRef. Altitud " "diungkap sebagai satu nilai RATIONAL. Unit rujukan adalah meter." #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" "Menunjukkan masa sebagai UTC (Masa Universal Terselaras). " "diungkap sebagai tiga nilai RATIONAL yang memberikan jam, minit, dan saat " "(jam atom)." #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" "Menunjukkan satelit GPS digunakan untuk pengukuran. Tag ini boleh digunakan " "untk menerangkan bilangan satelit, nombor ID merreka, sudut penaikan, " "azimut, SNR dan lain-lain maklumat dalam notasi ASCII. Format tidak " "dinyatakan.. Jika penerima GPS tidak berupaya mengambil pengukuran. nilai " "tag ditetapkan kepada NOL." #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" "Menunjukkan status penerima GPS bila imej direkod. \"A\" bermaksud " "pengukuran masih didalam proses, dan \"V\" bermaksud pengukuran adalah " "saling kendali." #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" "Menunjukkan mod pengukuran GPS. \"2\" bermaksud pengukuran dua-dimensi dan " "\"3\" bermaksud pengukuran tiga-dimensi didalam proses." #: src/tags.cpp:1998 msgid "GPS Data Degree of Precision" msgstr "Darjah Ketepatan Data GPS" #: src/tags.cpp:1999 msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" "Menunjukkan DOP GPS (darjah ketepatan data). Nilai HDOP ditulis semasa " "pengukuran dua-dimensi, dan PDOP semasa pengukuran tiga-dimensi." #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" "Menunjukkan unit yang digunakan untuk mengungkap kelajuan pergerakan " "penerima GPS. \"K\" \"M\" dan \"N\" mewakili kilometer per jam, batu per " "jam, dan knot." #: src/tags.cpp:2007 msgid "Indicates the speed of GPS receiver movement." msgstr "Menunjukkan kelajuan pergerakan penerima GPS." #: src/tags.cpp:2009 msgid "GPS Track Ref" msgstr "Rujukan Jejak GPS" #: src/tags.cpp:2010 msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Menunjukkan rujukan untuk memberikan arah pergerakan penerima GPS. \"T\" " "menunjukkan arah benar dan \"M\" adalah arah magnetik." #: src/tags.cpp:2014 msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" "Menunjukkan arah pergerakan penerima GPS. Julat nilai adalah dari 0.00 " "hingga 359.99." #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Menunjukkan rujukan untuk memberi arahan imej bila ia ditangkap. \"T\" " "menunjukkan arah benar dan \"M\" adalah arah magnetik." #: src/tags.cpp:2022 msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" "Menunjukkan rujukan untuk memberi arahan imej bila ia ditangkap. Julat nilai " "adalah dari 0.00 hingga 359.99." #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" "Menunjukkan data tinjauan geodetik yang digunakan oleh penerima GPS. Jika " "data tinjauan disekat bagi Jepun, nilai bagi tag ini ialah \"TOKYO\" atau " "\"WGS-84\"." #: src/tags.cpp:2029 #, fuzzy msgid "GPS Destination Latitude Reference" msgstr "Rujukan Latitud Destinasi GPS" #: src/tags.cpp:2030 msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" "Menunjukkan sama ada latitud titik destinasi adalah latitud utara atau " "selatan. Nilai ASCII \"N\" menunjukkan latitud utara, dan \"S\" adalah " "latitud selatan." #: src/tags.cpp:2034 msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" "Menunjukkan latitud bagi titik destinasi. Latitud diungkap sebagi tiga nilai " "RATIONAL yang memberikan darjah, minit dan saat. Jika latitud diungkap " "sebagai darjah, minit dan saat, satu format tipikal adalah dd/1,mm/1.ss/1. " "Bila darjah dan minit digunakan, sebagai contoh, pecahan minit juga diberi " "sehingga dua tempat perpulihan, format adalah dd/1,mmmm/100,0/1." #: src/tags.cpp:2041 msgid "GPS Destination Longitude Reference" msgstr "Rujukan Longitud Destinasi GPS" #: src/tags.cpp:2042 msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" "Menunjukkan sama ada longitud titik destinasi adalah longitud timur atau " "barat. ASCII \"E\" menunjukkan longitud timur, dan \"W\" adalah longitud " "barat." #: src/tags.cpp:2046 msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" "Menunjukkan longitud bagi titik destinasi. Longitud diungkap sebagi tiga " "nilai RATIONAL yang memberikan darjah, minit dan saat. Jika longitud " "diungkap sebagai darjah, minit dan saat, satu format tipikal adalah dd/1," "mm/1.ss/1. Bila darjah dan minit digunakan, sebagai contoh, pecahan minit " "juga diberi sehingga dua tempat perpulihan, format adalah dd/1,mmmm/100,0/1." #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" "Menunjukkan rujukan yang digunakan untuk memberi bering pada titik " "destinasi. \"T\" menunjukkan arah benar dan \"M\" adalah arah magnetik." #: src/tags.cpp:2057 msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "" "Menunjukkan rujukan yang digunakan untuk memberi bering pada titik " "destinasi. Julat nilai adalah dari 0.00 hingga 359.99." #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" "Menunjukkan unit yang digunakan untuk mengungkap jarak titik destinasi. \"K" "\", \"M\" dan \"N\" mewakili kilometer, batu dan knot." #: src/tags.cpp:2065 msgid "Indicates the distance to the destination point." msgstr "Menunjukkan jarak pada titik destinasi." #: src/tags.cpp:2068 msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" "Rentetan aksara merekod nama kaedah yang digunakan untuk mencari lokasi. " "Bait pertama menunjukkan kod aksara yang digunakan, dan diikuti oleh nama " "kaedah." #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" "Rentetan aksara merakam nama kawasan GPS. Bait pertama menunjukkan kod " "aksara yang digunakan, dan ini diikuti dengan nama kawasan GPS." #: src/tags.cpp:2076 msgid "GPS Date Stamp" msgstr "Setem Tarikh GPS" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" "Rentetan aksara merakam maklumat tarikh dan masa relatif kepada UTC (Masa " "Universal Terkoordinat). Formatnya adalah \"TTTT:BB:HH.\"." #: src/tags.cpp:2081 msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "" "Menunjukkan sama ada perbezaan pembetulan dilaksanakan pada penerima GPS." #: src/tags.cpp:2084 src/tags.cpp:2085 msgid "Unknown GPSInfo tag" msgstr "Tag GPSInfo tidak diketahui" #: src/tags.cpp:2096 msgid "Interoperability Index" msgstr "Indeks Saling Kendali" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" "Menunjukkan pengenalpastian bagi peraturan saling kendali. Guna \"R98\" " "untuk menyatakan Peraturan ExifR98. Empat bait digunakan termasuklah kod " "penamatan (NOL). rujuk volum berasingan bagi Peraturan Saling Kendali " "(ExifR98) untuk tag lain digunakan untuk ExifR98." #: src/tags.cpp:2103 msgid "Interoperability Version" msgstr "Versi Saling Kendali" #: src/tags.cpp:2104 msgid "Interoperability version" msgstr "Versi saling kendali" #: src/tags.cpp:2106 msgid "Related Image File Format" msgstr "Formati Fail Imej Berkaitan" #: src/tags.cpp:2107 msgid "File format of image file" msgstr "Format fail bagi fail imej" #: src/tags.cpp:2109 msgid "Related Image Width" msgstr "Lebar Imej Berkaitan" #: src/tags.cpp:2112 msgid "Related Image Length" msgstr "Panjang Imej Berkaitan" #: src/tags.cpp:2116 src/tags.cpp:2117 msgid "Unknown Exif Interoperability tag" msgstr "Tag saling kendali Exif tidak diketahui" #: src/tags.cpp:2128 msgid "Offset" msgstr "Ofset" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "Ofset bagi makernote dari permulaan pengepala TIFF." #: src/tags.cpp:2131 msgid "Byte Order" msgstr "Tertib Bait" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" "Tertib bait yang digunakan untuk mengekod tag MakerNote, 'MM' (big-endian) " "atau 'II' (little-endian)." #: src/tags.cpp:2135 src/tags.cpp:2136 msgid "Unknown Exiv2 Makernote info tag" msgstr "Tag maklumat Makernote Exiv2 tidak diketahui" #: src/tags.cpp:2146 src/tags.cpp:2147 msgid "Unknown tag" msgstr "Tag tidak diketahui" #: src/tags.cpp:2688 msgid "Digital zoom not used" msgstr "Zum digital tidak digunakan" #: src/tiffimage.cpp:2308 msgid "TIFF header, offset" msgstr "Pengepala TIFF, ofset" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "little endian terenkod" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "big endian terenkod" #, fuzzy #~ msgid "ascii bytes" #~ msgstr "bait" exiv2-0.25/po/CMakeLists.txt0000664000175000017500000000260712040156607015477 0ustar andreasandreas# CMake build system for exiv2 library and executables # Copyright 2008 by Patrick Spendrin # Copyright 2010-2012 by Gilles Caulier # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # automatically include all po files in the directory FILE(GLOB PO_FILES *.po) if ( NOT MSVC ) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) endif() UPDATE_TRANSLATIONS(exiv2 ${PO_FILES}) ADD_TRANSLATIONS(exiv2 ${PO_FILES}) ADD_CUSTOM_TARGET( pot-update COMMAND xgettext -d ${PACKAGE_NAME} -s -D ${CMAKE_CURRENT_SOURCE_DIR}/.. -o ${PACKAGE_NAME}.pot -p ${CMAKE_CURRENT_SOURCE_DIR}/ --from-code=UTF-8 --files-from=POTFILES.in -j --keyword=_ --package-name=${PACKAGE_NAME} --package-version=${PACKAGE_VERSION} --copyright-holder=${PACKAGE_COPYRIGHT} --msgid-bugs-address=${PACKAGE_BUGREPORT} ) exiv2-0.25/po/ug.po0000664000175000017500000240242612540520175013717 0ustar andreasandreas# Uyghur translation for exiv2 # Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 # This file is distributed under the same license as the exiv2 package. # Gheyret Kenji , 2010. # msgid "" msgstr "" "Project-Id-Version: exiv2\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: 2014-04-16 21:24+0000\n" "Last-Translator: Gheyret T.Kenji \n" "Language-Team: Uyghur Computer Science Association \n" "Language: ug\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Launchpad-Export-Date: 2015-05-09 22:59+0000\n" "X-Generator: Launchpad (build 17474)\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 msgid "Failed to open the file\n" msgstr "ھۆججەت ئېچىش مەغلۇپ بولدى\n" #: src/actions.cpp:282 msgid "File name" msgstr "ھۆججەت ئاتى" #: src/actions.cpp:288 msgid "File size" msgstr "ھۆججەت چوڭلۇقى" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "بايت" #: src/actions.cpp:293 msgid "MIME type" msgstr "MIME تىپى" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 msgid "Image size" msgstr "سۈرەت چوڭلۇقى" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 msgid "No Exif data found in the file\n" msgstr "ھۆججەتتىن EXIF سانلىق مەلۇماتى تېپىلمىدى\n" #: src/actions.cpp:307 msgid "Camera make" msgstr "كامېرانى ياسىغۇچى" #: src/actions.cpp:310 msgid "Camera model" msgstr "كامېرانىڭ تىپى" #: src/actions.cpp:313 msgid "Image timestamp" msgstr "سۈرەت ۋاقتى" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 msgid "Image number" msgstr "سۈرەت نومۇرى" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 msgid "Exposure time" msgstr "نۇرلاندۇرۇش ۋاقتى" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 msgid "Aperture" msgstr "نۇر گەردىشى" #: src/actions.cpp:345 msgid "Exposure bias" msgstr "نۇرلاندۇرۇش پەرقى" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 msgid "Flash" msgstr "چاقماق لامپا" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 msgid "Flash bias" msgstr "چاقناش پەرقى" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 msgid "Focal length" msgstr "فوكۇس ئارىلىقى" #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr "35mm غا تەڭداش" #: src/actions.cpp:373 msgid "Subject distance" msgstr "جىسىم ئارىلىقى" #: src/actions.cpp:387 msgid "ISO speed" msgstr "ISO سۈرئىتى" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 msgid "Exposure mode" msgstr "يورۇتۇش ھالىتى" #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 msgid "Metering mode" msgstr "ئۆلچەش ھالىتى" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 msgid "Macro mode" msgstr "ماكرو ھالىتى" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 msgid "Image quality" msgstr "سۈرەت سۈپىتى" #: src/actions.cpp:403 msgid "Exif Resolution" msgstr "Exifئېنىقلىقى" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "ئاق تەڭپۇڭلۇق" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 msgid "Thumbnail" msgstr "كىچىك سۈرەت" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "يوق" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 msgid "Copyright" msgstr "نەشر ھوقۇقى" #: src/actions.cpp:458 msgid "Exif comment" msgstr "Exifئىزاھاتى" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "(ئىككىلىق قىممىتى چەكلەنگەن)" #: src/actions.cpp:742 msgid "JPEG comment" msgstr "JPEGئىزاھاتى" #: src/actions.cpp:767 msgid "Preview" msgstr "ئالدىن كۆزەت" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "پېكسىللار" #: src/actions.cpp:773 src/actions.cpp:1113 msgid "bytes" msgstr "بايت" #: src/actions.cpp:820 msgid "Neither tag" msgstr "ھىچبىر بەلگە" #: src/actions.cpp:821 msgid "nor" msgstr "ئەمەس" #: src/actions.cpp:822 msgid "found in the file" msgstr "ھۆججەتتىن ئىزدە" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "" #: src/actions.cpp:833 src/actions.cpp:1590 msgid "Failed to parse timestamp" msgstr "ۋاقىت تامغىلىق ئىمزا مەغلۇپ بولدى" #: src/actions.cpp:834 msgid "in the file" msgstr "ھۆججەتتە" #: src/actions.cpp:845 msgid "Updating timestamp to" msgstr "ۋاقىت تامغىنى يېڭىلاۋاتىدۇ" #: src/actions.cpp:939 msgid "Erasing thumbnail data" msgstr "كىچىك سۈرەت سانلىق مەلۇماتىنى ئۆچۈرۈۋاتىدۇ" #: src/actions.cpp:947 msgid "Erasing Exif data from the file" msgstr "ھۆججەتتىن Exifسانلىق مەلۇماتىنى ئۆچۈرۈۋاتىدۇ" #: src/actions.cpp:956 msgid "Erasing IPTC data from the file" msgstr "ھۆججەتتىن IPTCسانلىق مەلۇماتىنى ئۆچۈرۈۋاتىدۇ" #: src/actions.cpp:965 msgid "Erasing JPEG comment from the file" msgstr "ھۆججەتتىن JPEGئىزاھاتىنى ئۆچۈرۈۋاتىدۇ" #: src/actions.cpp:974 msgid "Erasing XMP data from the file" msgstr "ھۆججەتتىن XMPسانلىق مەلۇماتىنى ئۆچۈرۈۋاتىدۇ" #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "سۈرەت Exifكىچىك سۈرەتنى ئۆز ئىچىگە ئالمايدۇ\n" #: src/actions.cpp:1055 msgid "Writing thumbnail" msgstr "كىچىك سۈرەتنى يېزىۋاتىدۇ" #: src/actions.cpp:1056 src/actions.cpp:1114 msgid "to file" msgstr "ھۆججەتكە(_F)" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "Exifسانلىق مەلۇماتى كىچىك سۈرەتنى ئۆز ئىچىگە ئالمايدۇ\n" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "سۈرەتنى ئالدىن كۈزەتمەيدۇ" #: src/actions.cpp:1107 msgid "Writing preview" msgstr "يازغاننى ئالدىن كۈزىتىش" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "JPEGئىزاھاتىنى تەڭشەۋاتىدۇ" #: src/actions.cpp:1319 msgid "Add" msgstr "قوش" #: src/actions.cpp:1341 src/actions.cpp:1415 msgid "Warning" msgstr "ئاگاھلاندۇرۇش" #: src/actions.cpp:1342 src/actions.cpp:1416 msgid "Failed to read" msgstr "ئوقۇش مەغلۇپ بولدى" #: src/actions.cpp:1344 src/actions.cpp:1418 msgid "value" msgstr "قىممىتى" #: src/actions.cpp:1355 msgid "Set" msgstr "بەلگىلەش" #: src/actions.cpp:1427 msgid "Del" msgstr "Del" #: src/actions.cpp:1459 msgid "Reg " msgstr "نومۇر تاختىسى " #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "" #: src/actions.cpp:1544 msgid "not set\n" msgstr "تەڭشەلمىگەن\n" #: src/actions.cpp:1549 msgid "Adjusting" msgstr "تەڭشەۋاتىدۇ" #: src/actions.cpp:1549 msgid "by" msgstr "ئارىلىق" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "يىل" #: src/actions.cpp:1556 msgid "year" msgstr "يىل" #: src/actions.cpp:1564 msgid "months" msgstr "ئاي" #: src/actions.cpp:1567 msgid "month" msgstr "ئاي" #: src/actions.cpp:1575 msgid "days" msgstr "كۈن" #: src/actions.cpp:1578 msgid "day" msgstr "كۈن" #: src/actions.cpp:1584 msgid "s" msgstr "s" #: src/actions.cpp:1600 msgid "Can't adjust timestamp by" msgstr "ۋاقىت تامغىسىنى تەڭشىيەلمەيدۇ" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 msgid "to" msgstr "غا" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "ئۆلچەملىك Exif ISO خەتكۈچ مەۋجۇد؛ئۆزگەرتىلمىگەن\n" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "Exif ISOنىڭ قىممىتىنى تەڭشەۋاتىدۇ" #: src/actions.cpp:1708 msgid "No Exif user comment found" msgstr "Exifئىشلەتكۈچى ئىزاھاتى تېپىلمىدى" #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "Foundئىشلەتكۈچى ئىزاھاتى ۋە تاساددىپى قىممەت تىپىنى تاپ" #: src/actions.cpp:1723 msgid "No Exif UNICODE user comment found" msgstr "يۇنىكودلۇقExif ئىشلەتكۈچى ئىزاھاتى تېپىلمىدى" #: src/actions.cpp:1729 msgid "Setting Exif UNICODE user comment to" msgstr "يۇنىكودلۇق Exifئىشلەتكۈچى ئىزاھاتىنى تەڭشەۋاتىدۇ" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "Exifسانلىق مەلۇماتىدىن يېزىۋاتىدۇ" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "IPTCسانلىق مەلۇماتىدىن يېزىۋاتىدۇ" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "XMPسانلىق مەلۇماتىدىن يېزىۋاتىدۇ" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "JPEGئىزاھاتىدىن يېزىۋاتىدۇ" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "ھۆججەتكە مېتا سانلىق مەلۇماتىنى يازالمىدى" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "" #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "" #: src/actions.cpp:1975 src/exiv2.cpp:168 msgid "File" msgstr "ھۆججەت" #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr "" #: src/actions.cpp:2004 msgid "Renaming file to" msgstr "ھۆججەت ئاتىنى ئۆزگەرتىۋاتدۇ" #: src/actions.cpp:2006 msgid "updating timestamp" msgstr "ۋاقىت يېڭىلاۋاتىدۇ" #: src/actions.cpp:2015 msgid "Failed to rename" msgstr "ئاتىنى ئۆزگەرتەلمىدى" #: src/actions.cpp:2037 msgid "Overwrite" msgstr "قاپلا" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "تاقا" #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "ئوچۇق" #: src/canonmn.cpp:363 msgid "Format 1" msgstr "فورمات 1" #: src/canonmn.cpp:364 msgid "Format 2" msgstr "فورمات 2" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 msgid "On (1)" msgstr "(1 )دا" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 msgid "On (2)" msgstr "(2 )دا" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "sRGB" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 msgid "Adobe RGB" msgstr "Adobe RGB" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "نامەلۇم" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 msgid "Camera Settings" msgstr "كامېرا تەڭشىكى" #: src/canonmn.cpp:383 msgid "Various camera settings" msgstr "ھەر خىل كامېرا تەڭشىكى" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 msgid "Focal Length" msgstr "فوكۇس ئارىلىقى" #: src/canonmn.cpp:386 src/sonymn.cpp:394 msgid "Shot Info" msgstr "رەسىمگە تارتىش ئۇچۇرى" #: src/canonmn.cpp:386 msgid "Shot information" msgstr "رەسىمگە تارتىش ئۇچۇرلىرى" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 msgid "Panorama" msgstr "Panorama" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 msgid "Image Type" msgstr "سۈرەت تىپى" #: src/canonmn.cpp:388 msgid "Image type" msgstr "سۈرەت تىپى" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 msgid "Firmware Version" msgstr "Firmware نەشرى:" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 msgid "Firmware version" msgstr "Firmware نەشرى:" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 msgid "File Number" msgstr "ھۆججەت سانى" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 msgid "File number" msgstr "ھۆججەت سانى" #: src/canonmn.cpp:391 msgid "Owner Name" msgstr "ئىگىدار ئاتى" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 msgid "Serial Number" msgstr "تەرتىپ نومۇرى" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 msgid "Camera serial number" msgstr "كامېرانىڭ تەرتىپ نومۇرى" #: src/canonmn.cpp:393 msgid "Camera Info" msgstr "كامېرا ئۇچۇرى" #: src/canonmn.cpp:393 msgid "Camera info" msgstr "كامېرا ئۇچۇرى" #: src/canonmn.cpp:394 src/canonmn.cpp:406 msgid "Custom Functions" msgstr "ئىختىيارى فونكىسيە" #: src/canonmn.cpp:395 msgid "ModelID" msgstr "كىملىك مودىلى" #: src/canonmn.cpp:395 msgid "Model ID" msgstr "كىملىك مودىلى" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 msgid "Picture Info" msgstr "رەسىم ئۇچۇرى" #: src/canonmn.cpp:396 msgid "Picture info" msgstr "رەسىم ئۇچۇرى" #: src/canonmn.cpp:397 msgid "Thumbnail Image Valid Area" msgstr "سۈرەت ئاددى ئۈنۈملۈك كۆلىمى" #: src/canonmn.cpp:397 msgid "Thumbnail image valid area" msgstr "سۈرەت ئاددى ئۈنۈملۈك كۆلىمى" #: src/canonmn.cpp:398 msgid "Serial Number Format" msgstr "تەرتىپ نومۇر فورماتى" #: src/canonmn.cpp:398 msgid "Serial number format" msgstr "تەرتىپ نومۇر فورماتى" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 msgid "Super Macro" msgstr "ئالىي ماكرو" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "ئالىي ماكرو" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF Info" msgstr "ئاپتوماتىك فۇكۇس ئۇچۇرى" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 msgid "AF info" msgstr "ئاپتوماتىك فۇكۇسئۇچۇرى" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "سانلىق مەلۇمات ئېغىشى دەسلەپكى ھۆكۈمى" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "سانلىق مەلۇمات ئېغىشى دەسلەپكى ھۆكۈمى" #: src/canonmn.cpp:402 msgid "White Balance Table" msgstr "ئاق تەڭپۇڭلۇق جەدۋىلى" #: src/canonmn.cpp:402 msgid "White balance table" msgstr "ئاق تەڭپۇڭلۇق جەدۋىلى" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 msgid "Lens Model" msgstr "لىنزا ھالىتى" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 msgid "Lens model" msgstr "لىنزا ھالىتى" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 msgid "Internal Serial Number" msgstr "ئىچكى تەرتىپ نومۇرى" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 msgid "Internal serial number" msgstr "ئىچكى تەرتىپ نومۇرى" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "تازىلانغان سانلىق مەلۇمات" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "تازىلانغان سانلىق مەلۇمات" #: src/canonmn.cpp:406 msgid "Custom functions" msgstr "ئىختىيارى فونكىسيە" #: src/canonmn.cpp:407 msgid "Processing Info" msgstr "ئۇچۇرنى بىر تەرەپ قىلىۋاتىدۇ" #: src/canonmn.cpp:407 msgid "Processing info" msgstr "ئۇچۇرنى بىر تەرەپ قىلىۋاتىدۇ" #: src/canonmn.cpp:408 msgid "Measured Color" msgstr "رەڭ ئۆلچەش" #: src/canonmn.cpp:408 msgid "Measured color" msgstr "رەڭ ئۆلچەش" #: src/canonmn.cpp:409 msgid "ColorSpace" msgstr "رەڭ بوشلۇقى" #: src/canonmn.cpp:413 msgid "VRD Offset" msgstr "VRDئېغىشى" #: src/canonmn.cpp:413 msgid "VRD offset" msgstr "VRDئېغىشى" #: src/canonmn.cpp:414 msgid "Sensor Info" msgstr "سەزگۈچ ئۇچۇرى" #: src/canonmn.cpp:414 msgid "Sensor info" msgstr "سەزگۈچ ئۇچۇرى" #: src/canonmn.cpp:415 msgid "Color Data" msgstr "رەڭ سانلىق مەلۇماتى" #: src/canonmn.cpp:415 msgid "Color data" msgstr "رەڭ سانلىق مەلۇماتى" #: src/canonmn.cpp:417 msgid "Unknown CanonMakerNote tag" msgstr "نامەلۇم Canonياسىغۇچى ئىزاھاتى بەلگىسى" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "ئىقتىساد" #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 msgid "Normal" msgstr "نورمال" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 msgid "Fine" msgstr "سىپتا" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "تەبىئىي" #: src/canonmn.cpp:437 msgid "Superfine" msgstr "ئالاھىدە ئىنچىكە" #: src/canonmn.cpp:438 msgid "Normal Movie" msgstr "نورمال فىلىم" #: src/canonmn.cpp:439 #, fuzzy msgid "Movie (2)" msgstr "كىنو" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 msgid "Auto" msgstr "ئاپتوماتىك" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "قىزىل-كۆز" #: src/canonmn.cpp:448 msgid "Slow sync" msgstr "ئاستا قەدەمداشلاش" #: src/canonmn.cpp:449 msgid "Auto + red-eye" msgstr "ئاپتوماتىك+قىزىل كۆز" #: src/canonmn.cpp:450 msgid "On + red-eye" msgstr "قىزىل كۆز+دا" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 msgid "External" msgstr "سىرتقى" #: src/canonmn.cpp:457 msgid "Single / timer" msgstr "يەككە/timer" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 msgid "Continuous" msgstr "ئۈزلۈكسىز" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 msgid "Movie" msgstr "كىنو" #: src/canonmn.cpp:460 msgid "Continuous, speed priority" msgstr "ئۆزلۈكسىز، سۈرەت ئالدىنلىقى" #: src/canonmn.cpp:461 msgid "Continuous, low" msgstr "ئۆزلۈكسىز، ئاز" #: src/canonmn.cpp:462 msgid "Continuous, high" msgstr "ئۆزلۈكسىز، يۇقۇرى" #: src/canonmn.cpp:467 msgid "One shot AF" msgstr "يەككە قېتىملىق AF" #: src/canonmn.cpp:468 msgid "AI servo AF" msgstr "AI servo AF" #: src/canonmn.cpp:469 msgid "AI focus AF" msgstr "AI فوكۇس AF" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 msgid "Manual focus" msgstr "قوللانما فوكۇس" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 msgid "Single" msgstr "يەككە" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 msgid "Pan focus" msgstr "فوكۇس يۆنۈلۈشى" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 msgid "Large" msgstr "چوڭ" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 msgid "Medium" msgstr "ئوتتۇراھال" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 msgid "Small" msgstr "كىچىك" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 msgid "Medium 1" msgstr "ئوتتۇرا1" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 msgid "Medium 2" msgstr "ئوتتۇرا2" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 msgid "Medium 3" msgstr "ئوتتۇرا3" #: src/canonmn.cpp:490 msgid "Full auto" msgstr "تولۇق ئاپتوماتىك" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 msgid "Manual" msgstr "قولدا" #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 msgid "Landscape" msgstr "توغرا يۆنىلىش" #: src/canonmn.cpp:493 msgid "Fast shutter" msgstr "تىز ئىشىك" #: src/canonmn.cpp:494 msgid "Slow shutter" msgstr "ئاستا ئىشىك" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 msgid "Night Scene" msgstr "كەچلىك مەنزىرە" #: src/canonmn.cpp:496 msgid "Gray scale" msgstr "كۈلرەڭ" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "رەڭ ئال" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 msgid "Portrait" msgstr "بوي يۆنىلىش" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "تەنتەربىيە" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "ماكرو/ئالاھىدە" #: src/canonmn.cpp:501 src/fujimn.cpp:149 msgid "Black & white" msgstr "ئاق&قارا" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 msgid "Vivid" msgstr "تەسىرلىك" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 msgid "Neutral" msgstr "بىتەرەپ" #: src/canonmn.cpp:505 msgid "Flash off" msgstr "چاقناش چىرىقى ئېتىك" #: src/canonmn.cpp:506 msgid "Long shutter" msgstr "ئۇزۇن ئىشىك" #: src/canonmn.cpp:508 msgid "Foliage" msgstr "يوپۇرماق" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 msgid "Indoor" msgstr "ئۆي ئىچى" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 msgid "Fireworks" msgstr "Fireworks" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "ساھىل" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 msgid "Underwater" msgstr "سۇ ئاستى" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "قار" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "بالىلار&ئەرمەك ھايۋان" #: src/canonmn.cpp:515 #, fuzzy msgid "Night SnapShot" msgstr "كېچە رەسىمى" #: src/canonmn.cpp:516 msgid "Digital macro" msgstr "ماكرو رەقەملىك" #: src/canonmn.cpp:517 msgid "My Colors" msgstr "رەڭلىرىم" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 msgid "Still image" msgstr "ھەركەتسىز سۈرەت" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 msgid "Other" msgstr "باشقا" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 msgid "Low" msgstr "تۆۋەن" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 msgid "High" msgstr "يۇقىرى" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "n/a" #: src/canonmn.cpp:540 msgid "Auto High" msgstr "ئاپتوماتىك يۇقۇرى" #: src/canonmn.cpp:558 src/sonymn.cpp:235 msgid "Default" msgstr "كۆڭۈلدىكى" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 msgid "Spot" msgstr "نۇقتا" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "ئوتتۇرىچە" #: src/canonmn.cpp:561 msgid "Evaluative" msgstr "باھا" #: src/canonmn.cpp:562 src/tags.cpp:1427 msgid "Partial" msgstr "قىسمەن" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 msgid "Center weighted" msgstr "مەركەزگە پايدىلىق" #: src/canonmn.cpp:570 msgid "Not known" msgstr "نامەلۇم" #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "ماكرو" #: src/canonmn.cpp:572 msgid "Very close" msgstr "يېپىش" #: src/canonmn.cpp:573 msgid "Close" msgstr "ياپ" #: src/canonmn.cpp:574 msgid "Middle range" msgstr "ئوتتۇرا دائىرە" #: src/canonmn.cpp:575 msgid "Far range" msgstr "يىراق دائىرە" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 msgid "Infinity" msgstr "چەكسىز" #: src/canonmn.cpp:583 msgid "Manual AF point selection" msgstr "فوكۇسنى قولدا تاللاش" #: src/canonmn.cpp:584 msgid "None (MF)" msgstr "يوق(MF)" #: src/canonmn.cpp:585 msgid "Auto-selected" msgstr "ئاپتوماتىك تاللاش" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 msgid "Right" msgstr "ئوڭ" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 msgid "Center" msgstr "مەركەز" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 msgid "Left" msgstr "سول" #: src/canonmn.cpp:589 msgid "Auto AF point selection" msgstr "فوكۇسنى ئاپتوماتىك تاللاش" #: src/canonmn.cpp:594 msgid "Easy shooting (Auto)" msgstr "ئەركىن رەسىم تارتىش(ئاپتوماتىك)" #: src/canonmn.cpp:595 msgid "Program (P)" msgstr "پروگرامما (P)" #: src/canonmn.cpp:596 msgid "Shutter priority (Tv)" msgstr "قاپقاق ئالدىنقىلىقى (Tv)" #: src/canonmn.cpp:597 msgid "Aperture priority (Av)" msgstr "نور چەمبىكىرىنىڭ ئالدىنقىلىقى" #: src/canonmn.cpp:598 msgid "Manual (M)" msgstr "قوللانما(M)" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "A-DEP" #: src/canonmn.cpp:600 msgid "M-DEP" msgstr "M-DEP" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 msgid "Did not fire" msgstr "ئوت يوق" #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 msgid "Fired" msgstr "لامپا" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 msgid "External flash" msgstr "سىرىتقى چاقماق" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 msgid "Internal flash" msgstr "ئىچكى چاقماق" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "TTL" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "A-TTL" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "E-TTL" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "FPقەدەدەمداشلاش ئىناۋەتلىك" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "كىيىنكى پەردە قەدەمداشلاش ئىلشلتىلدى" #: src/canonmn.cpp:980 msgid "FP sync used" msgstr "FPقەدەمداشلاش ئىشلىتىلدى" #: src/canonmn.cpp:991 msgid "Normal AE" msgstr "نورمال AE" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 msgid "Exposure compensation" msgstr "يورۇتۇشنى تولۇقلاش" #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "AEنى قولۇپى" #: src/canonmn.cpp:994 msgid "AE lock + exposure compensation" msgstr "AEنى قولۇپى+يورۇتۇشنى تولۇقلاش" #: src/canonmn.cpp:995 msgid "No AE" msgstr "AEيوق" #: src/canonmn.cpp:1002 #, fuzzy msgid "On, shot only" msgstr "يەككە قېتىملىق AF" #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 msgid "AF Point" msgstr "AFنوقتا" #: src/canonmn.cpp:1016 msgid "Smooth" msgstr "سىلىق" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "B&W" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 msgid "Custom" msgstr "ئىختىيارى" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 msgid "My color data" msgstr "رەڭ سانلىق مەلۇماتىم" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 msgid "Full" msgstr "تامامەن" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "sRAW1 (mRAW)" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "sRAW2 (sRAW)" #: src/canonmn.cpp:1043 msgid "Selftimer" msgstr "ئۆزى تارتىش ۋاقىت بەلگىلىگۈچى" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 msgid "Self timer" msgstr "ئۆزىدىكى ۋاقىت" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 msgid "Quality" msgstr "سۈپەت" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 msgid "Flash Mode" msgstr "چاقناش ھالىتى" #: src/canonmn.cpp:1045 msgid "Flash mode setting" msgstr "چاقناش ھالەت تەڭشىكى" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 msgid "Drive Mode" msgstr "ئۈسكۈنە ھالىتى" #: src/canonmn.cpp:1046 msgid "Drive mode setting" msgstr "ئۈسكۈنە ھالىتى تەكشىكى" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 msgid "Focus Mode" msgstr "فوكۇس ھالىتى" #: src/canonmn.cpp:1048 msgid "Focus mode setting" msgstr "فوكۇس ھالىتى تەڭشىكى" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 msgid "Image Size" msgstr "سۈرەت چوڭلۇقى" #: src/canonmn.cpp:1052 msgid "Easy Mode" msgstr "قۇلاي ھالەت" #: src/canonmn.cpp:1052 msgid "Easy shooting mode" msgstr "ئەركىن رەسىم تارتىش ھالىتى" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 msgid "Digital Zoom" msgstr "رەقەملىك كېڭەيت تارايىت" #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 msgid "Digital zoom" msgstr "رەقەملىك كېڭەيت تارايىت" #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 msgid "Contrast" msgstr "ئاق-قارىلىقى" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 msgid "Contrast setting" msgstr "ئاق قارىلىق تەڭشىكى" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 msgid "Saturation" msgstr "تويۇنۇش" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 msgid "Saturation setting" msgstr "تويۇنۇش تەڭشىكى" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 msgid "Sharpness" msgstr "ئۆتكۈرلۈك" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 msgid "Sharpness setting" msgstr "ئۆتكۈرلۈك تەڭشىكى" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 msgid "ISO Speed Mode" msgstr "ISOسۈرئەت ھالىتى" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 msgid "ISO speed setting" msgstr "ISOسۈرئەت ھالىتى تەڭشىكى" #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 msgid "Metering Mode" msgstr "مۆلچەر شەكلى" #: src/canonmn.cpp:1058 msgid "Metering mode setting" msgstr "مۆلچەر شەكلى تەڭشىكى" #: src/canonmn.cpp:1059 msgid "Focus Type" msgstr "فوكۇس تىپى" #: src/canonmn.cpp:1059 msgid "Focus type setting" msgstr "فوكۇس تىپى تەڭشىكى" #: src/canonmn.cpp:1060 msgid "AF point selected" msgstr "ئاپتوماتىك نوقتا تاللاش" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 msgid "Exposure Program" msgstr "يورۇتۇش پروگراممىسى" #: src/canonmn.cpp:1061 msgid "Exposure mode setting" msgstr "نۇر ئۆتكۈزۈش ھالىتى تەڭشىكى" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 msgid "Lens Type" msgstr "لىنزا تىپى" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 msgid "Lens type" msgstr "لىنزا تىپى" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 msgid "Lens" msgstr "لېنزىلار" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "قىسقا فوكۇس" #: src/canonmn.cpp:1065 msgid "Short focal" msgstr "قىسقا فوكۇس" #: src/canonmn.cpp:1066 msgid "Focal Units" msgstr "فوكۇس بىرلىكلىرى" #: src/canonmn.cpp:1066 msgid "Focal units" msgstr "فوكۇس بىرلىكلىرى" #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 msgid "Max Aperture" msgstr "ئەڭ چوڭ نۇر گەردىشى" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 msgid "Max aperture" msgstr "ئەڭ چوڭ نۇر گەردىشى" #: src/canonmn.cpp:1068 msgid "Min Aperture" msgstr "ئەڭ كىچىك نۇر گەردىشى" #: src/canonmn.cpp:1068 msgid "Min aperture" msgstr "ئەڭ كىچىك نۇر گەردىشى" #: src/canonmn.cpp:1069 msgid "Flash Activity" msgstr "چاقناش پائالىيىتى" #: src/canonmn.cpp:1069 msgid "Flash activity" msgstr "چاقناش پائالىيىتى" #: src/canonmn.cpp:1070 msgid "Flash Details" msgstr "چاقناش تەپسىلاتى" #: src/canonmn.cpp:1070 msgid "Flash details" msgstr "چاقناش تەپسىلاتى" #: src/canonmn.cpp:1073 msgid "Focus Continuous" msgstr "ئۆزلۈكسىز فوكۇس" #: src/canonmn.cpp:1073 msgid "Focus continuous setting" msgstr "ۆزلۈكسىز فوكۇس تەڭشىكى" #: src/canonmn.cpp:1074 msgid "AESetting" msgstr "AEتەڭشىكى" #: src/canonmn.cpp:1074 msgid "AE setting" msgstr "AEتەڭشىكى" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 msgid "Image Stabilization" msgstr "سۈرەت مۇقىملىقى" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 msgid "Image stabilization" msgstr "سۈرەت مۇقىملىقى" #: src/canonmn.cpp:1076 msgid "Display Aperture" msgstr "نۇر گەردىشىنى كۆرسەت" #: src/canonmn.cpp:1076 msgid "Display aperture" msgstr "نۇر گەردىشىنى كۆرسەت" #: src/canonmn.cpp:1077 msgid "Zoom Source Width" msgstr "ئەسلى كەڭلىكىنى كېڭەيت تارايت" #: src/canonmn.cpp:1077 msgid "Zoom source width" msgstr "ئەسلى كەڭلىكىنى كېڭەيت تارايت" #: src/canonmn.cpp:1078 msgid "Zoom Target Width" msgstr "نىشان كەڭلىكنى كېڭەيت تارايت" #: src/canonmn.cpp:1078 msgid "Zoom target width" msgstr "نىشان كەڭلىكنى كېڭەيت تارايت" #: src/canonmn.cpp:1080 msgid "Spot Metering Mode" msgstr "مۆلچەر نوقتا شەكلى" #: src/canonmn.cpp:1080 msgid "Spot metering mode" msgstr "مۆلچەر نوقتا شەكلى" #: src/canonmn.cpp:1081 msgid "Photo Effect" msgstr "سۈرەت ئۈنۈمى" #: src/canonmn.cpp:1081 msgid "Photo effect" msgstr "سۈرەت ئۈنۈمى" #: src/canonmn.cpp:1082 msgid "Manual Flash Output" msgstr "چاقناشنى قولىدا چىقىرىش" #: src/canonmn.cpp:1082 msgid "Manual flash output" msgstr "چاقناشنى قولىدا چىقىرىش" #: src/canonmn.cpp:1083 msgid "Color Tone" msgstr "رەڭ تۈسى" #: src/canonmn.cpp:1083 msgid "Color tone" msgstr "رەڭ تۈسى" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "SRAWسۈپەت تۈسى" #: src/canonmn.cpp:1084 msgid "SRAW quality" msgstr "SRAWسۈپىتى" #: src/canonmn.cpp:1086 msgid "Unknown Canon Camera Settings 1 tag" msgstr "نامەلۇم Canon كامىراسى 1گە تەڭشەلگەن" #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 msgid "Daylight" msgstr "كۈن نۇرى" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 msgid "Cloudy" msgstr "بۇلۇتلۇق" #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 msgid "Tungsten" msgstr "تۇڭىستېن" #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 msgid "Fluorescent" msgstr "يالتىراق لامپا" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 msgid "Black & White" msgstr "ئاق&قارا" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "تۈرۈش" #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "تېمپراتۇرا قوللانمىسى(كېلىۋىن)" #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "PC Set 1" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "PC Set 2" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "PC Set 3" #: src/canonmn.cpp:1109 msgid "Daylight Fluorescent" msgstr "كۈن نۇرلۇق يالتىراق لامپا" #: src/canonmn.cpp:1110 src/properties.cpp:816 msgid "Custom 1" msgstr "ئىختىيارىچە 1" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 msgid "Custom 2" msgstr "ئىختىيارىچە 2" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 msgid "Custom 3" msgstr "ئىختىيارىچە 3" #: src/canonmn.cpp:1115 msgid "PC Set 4" msgstr "PC Set 4" #: src/canonmn.cpp:1116 msgid "PC Set 5" msgstr "PC Set 5" #: src/canonmn.cpp:1117 #, fuzzy msgid "Auto (ambience priority)" msgstr "تېز قاپقاقنىڭ ئالدىنلىقى" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 msgid "left" msgstr "سول" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 msgid "center" msgstr "ئوتتۇرا" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 msgid "right" msgstr "ئوڭ" #: src/canonmn.cpp:1151 msgid "ISO Speed Used" msgstr "ISOسۈرئەت ئىشلىتىلدى" #: src/canonmn.cpp:1151 msgid "ISO speed used" msgstr "ISOسۈرئەت ئىشلىتىلدى" #: src/canonmn.cpp:1152 msgid "Measured EV" msgstr "EV ئۆلچەش" #: src/canonmn.cpp:1153 msgid "Target Aperture" msgstr "نىشان نۇر گەردىشى" #: src/canonmn.cpp:1154 msgid "Target Shutter Speed" msgstr "نىشان قاپقاق تېزلىكى" #: src/canonmn.cpp:1154 msgid "Target shutter speed" msgstr "نىشان قاپقاق تېزلىكى" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 msgid "White Balance" msgstr "ئاق تەڭپۇڭلۇق" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 msgid "White balance setting" msgstr "ئاق تەڭپۇڭلۇق تەڭشىكى" #: src/canonmn.cpp:1158 msgid "Sequence" msgstr "تەرتىپ" #: src/canonmn.cpp:1158 msgid "Sequence number (if in a continuous burst)" msgstr "تەرتىپ نومۇر(ئەگەر ئۆزلۈكسىزلىك تويۇقسىز پەيدا بولسا)" #: src/canonmn.cpp:1163 msgid "AF Point Used" msgstr "AFنوقتا ئىشلىتىلدى" #: src/canonmn.cpp:1163 msgid "AF point used" msgstr "AFنوقتا ئىشلىتىلدى" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 msgid "Flash Bias" msgstr "چاقناش پەرقى" #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 msgid "Subject Distance" msgstr "جىسىم ئارىلىقى" #: src/canonmn.cpp:1168 msgid "Subject distance (units are not clear)" msgstr "جىسىم ئارىلىقى(بىرلىكى ئېنىق ئەمەس)" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 msgid "Aperture Value" msgstr "نۇر چەمبەر قىممىتى" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 msgid "Shutter Speed Value" msgstr "قاپقاق تېزلىكى قىممىتى" #: src/canonmn.cpp:1171 src/tags.cpp:1630 msgid "Shutter speed" msgstr "قاپقاق تېزلىكى" #: src/canonmn.cpp:1172 msgid "Measured EV 2" msgstr "EV2 ئۆلچەش" #: src/canonmn.cpp:1177 msgid "Unknown Canon Camera Settings 2 tag" msgstr "نامەلۇم Canon كامىراسى 2گە تەڭشەلگەن" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 msgid "Left to right" msgstr "سولدىن ئوڭغا" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 msgid "Right to left" msgstr "ئوڭدىن سولغا" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 msgid "Bottom to top" msgstr "ئاستىدىن ئۈستىگە" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 msgid "Top to bottom" msgstr "ئۈستىدىن ئاستىغا" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "2x2ماترىتسا(سائەت ئىسترېلكىسىنىڭ يۆنىلىشى بويىچە)" #: src/canonmn.cpp:1196 msgid "Panorama Frame" msgstr "كاندۇك تولۇق مەنزىرە" #: src/canonmn.cpp:1196 msgid "Panorama frame number" msgstr "كاندۇك تولۇق مەنزىرە نومۇرى" #: src/canonmn.cpp:1197 msgid "Panorama Direction" msgstr "تولۇق مەنزىرە يۆنىلىشى" #: src/canonmn.cpp:1197 msgid "Panorama direction" msgstr "تولۇق مەنزىرە يۆنىلىشى" #: src/canonmn.cpp:1199 msgid "Unknown Canon Panorama tag" msgstr "نامەلۇم Canon تولۇق مەنزىرە بەلگىسى" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 msgid "Noise Reduction" msgstr "شاۋقۇننى ئاجىزلىتىش" #: src/canonmn.cpp:1209 msgid "Long exposure noise reduction" msgstr "ئۇزۇن ۋاقىت نور ئۆتكۈزۈش شاۋقۇنىنى ئاجىزلىتىش" #: src/canonmn.cpp:1210 msgid "Shutter Ae Lock" msgstr "Aeقۇلۇپى قاپقىقى" #: src/canonmn.cpp:1210 msgid "Shutter/AE lock buttons" msgstr "قاپقاق/AEقۇلۇپى كونۇپكىسى" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 msgid "Exposure Level Increments" msgstr "نۇر ئۆتكۈزۈش دەرىجىسىنى تەدرىجى ئاشۇرۇش" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "TV/ Avۋە نۇر ئۆتكۈۈش دەرىجىسىنى ئاشۇرۇش" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 msgid "AF Assist" msgstr "AF ياردەمچى" #: src/canonmn.cpp:1213 msgid "AF assist light" msgstr "AFياردەمچى نۇر" #: src/canonmn.cpp:1214 msgid "Flash Sync Speed Av" msgstr "Avچاقناشنى قەدەمدەشلاش تىزلىكى" #: src/canonmn.cpp:1214 msgid "Shutter speed in Av mode" msgstr "Avھالىتىدىكى قاپقاق تىزلىكى" #: src/canonmn.cpp:1215 msgid "AEB Sequence" msgstr "AEBتەرتىپ" #: src/canonmn.cpp:1215 msgid "AEB sequence/auto cancellation" msgstr "AEBتەرتىپ/ئاپتوماتىك ئەمەلدىن قالدۇرۇش" #: src/canonmn.cpp:1216 msgid "Shutter Curtain Sync" msgstr "قاپقاپ پەردىسىنى قەدەمداشلاش" #: src/canonmn.cpp:1216 msgid "Shutter curtain sync" msgstr "ئېچىش-يېپىش ئېغىزى پەردىسىنى قەدەمداشلاش" #: src/canonmn.cpp:1217 msgid "Lens AF Stop Button" msgstr "لىنزىنىڭ ئاپتوماتىك توغرىلاشنى توختىتىش كونۇپكىسى" #: src/canonmn.cpp:1217 msgid "Lens AF stop button Fn. Switch" msgstr "ئالماشتۇر" #: src/canonmn.cpp:1218 msgid "Fill Flash Auto Reduction" msgstr "چاقناشنى تولدۇرۇشنى ئاپتوماتىك كىچىكلەت" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "تولۇق چاقناشنى ئاپتوماتىك كىچىكلەت" #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "تىزىملىك توپچىسىغا قايتىش" #: src/canonmn.cpp:1219 msgid "Menu button return position" msgstr "تىزىملىك توپچىسىغا قايتىش ئورنى" #: src/canonmn.cpp:1220 msgid "Set Button Function" msgstr "فونكىسيە توپچىسىنى تەڭشەش" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "سۈرەتكە ئالغاندىكى ئىقتىدار كونۇپكىسىنى تەڭشەش" #: src/canonmn.cpp:1221 msgid "Sensor Cleaning" msgstr "سەزگۈچنى تازىلاۋاتىدۇ" #: src/canonmn.cpp:1221 msgid "Sensor cleaning" msgstr "سەزگۈچنى تازىلاۋاتىدۇ" #: src/canonmn.cpp:1222 msgid "Superimposed Display" msgstr "قاتلىنىشنى كۆرسىتىش" #: src/canonmn.cpp:1222 msgid "Superimposed display" msgstr "قاتلىنىشنى كۆرسىتىش" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "زاتۇر نەشىرىدە CFكارتا يوق" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "زاتۇر نەشىرى CF W/Oكارتا" #: src/canonmn.cpp:1225 msgid "Unknown Canon Custom Function tag" msgstr "نامەلۇم Canonئىختىيارى فونكىسيە بەلگىسى" #: src/canonmn.cpp:1236 msgid "mid-right" msgstr "ئوتتۇرا-ئوڭ" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 msgid "bottom" msgstr "ئاستى" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 msgid "top" msgstr "چوققا" #: src/canonmn.cpp:1240 msgid "mid-left" msgstr "ئوتتۇرا- سول" #: src/canonmn.cpp:1247 msgid "upper-left" msgstr "ئۈستۈنكى - سول" #: src/canonmn.cpp:1248 msgid "upper-right" msgstr "ئۈستۈنكى - ئوڭ" #: src/canonmn.cpp:1252 msgid "lower-left" msgstr "تۆۋەنكى - سول" #: src/canonmn.cpp:1253 msgid "lower-right" msgstr "تۆۋەنكى - ئوڭ" #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 msgid "Image Width" msgstr "سۈرەت كەڭلىكى" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 msgid "Image width" msgstr "سۈرەت كەڭلىكى" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 msgid "Image Height" msgstr "سۈرەت ئېگىزلىكى:" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 msgid "Image height" msgstr "سۈرەت ئېگىزلىكى:" #: src/canonmn.cpp:1261 #, fuzzy msgid "Image Width As Shot" msgstr "سۈرەت كەڭلىكى" #: src/canonmn.cpp:1261 #, fuzzy msgid "Image width (as shot)" msgstr "سۈرەت كەڭلىكى" #: src/canonmn.cpp:1262 #, fuzzy msgid "Image Height As Shot" msgstr "سۈرەت ئېگىزلىكى:" #: src/canonmn.cpp:1262 #, fuzzy msgid "Image height (as shot)" msgstr "سۈرەت ئېگىزلىكى:" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF Points Used" msgstr "ئاتپوماتىك فوكۇس نوقتا ئىشلىتىلدى" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF points used" msgstr "ئاتپوماتىك فوكۇس نوقتا ئىشلىتىلدى" #: src/canonmn.cpp:1264 msgid "AF Points Used 20D" msgstr "ئاتپوماتىك فوكۇس نوقتا 20Dئىشلىتىلدى" #: src/canonmn.cpp:1264 msgid "AF points used (20D)" msgstr "ئاتپوماتىك فوكۇس نوقتا ئىشلىتىلدى(20D)" #: src/canonmn.cpp:1266 msgid "Unknown Canon Picture Info tag" msgstr "نامەلۇم Canonرەسىن ئۇچۇرى بەلگىسى" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "AEB" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "FEB" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 msgid "ISO" msgstr "ISO" #: src/canonmn.cpp:1280 msgid "WB" msgstr "WB" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "پوچتا كارتىسى" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "كەڭ ئېكرانلىق" #: src/canonmn.cpp:1293 msgid "Medium Movie" msgstr "ئوتتۇراھال فىلىم" #: src/canonmn.cpp:1294 msgid "Small Movie" msgstr "كىچىك فىلىم" #: src/canonmn.cpp:1300 msgid "On 1" msgstr "1 دا" #: src/canonmn.cpp:1301 msgid "On 2" msgstr "2 دا" #: src/canonmn.cpp:1309 msgid "On (shift AB)" msgstr "دا(shift AB)" #: src/canonmn.cpp:1310 msgid "On (shift GM)" msgstr "دا (shift GM)" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "سېرىق" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 msgid "Orange" msgstr "قىزغۇچ سېرىق" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 msgid "Red" msgstr "قىزىل" #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 msgid "Green" msgstr "يېشىل" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 msgid "Blue" msgstr "كۆك" #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "بىنەپشە" #: src/canonmn.cpp:1334 msgid "Bracket Mode" msgstr "تەگلىك ھالىتى" #: src/canonmn.cpp:1335 msgid "Bracket Value" msgstr "تەگلىك قىممىتى" #: src/canonmn.cpp:1336 #, fuzzy msgid "Bracket Shot Number" msgstr "تەگلىك قەدىمى" #: src/canonmn.cpp:1337 msgid "Raw Jpg Quality" msgstr "Jpg تەبىئىي سۈپىتى" #: src/canonmn.cpp:1338 msgid "Raw Jpg Size" msgstr "Jpg تەبىئىي چوڭلۇقى" #: src/canonmn.cpp:1340 msgid "WB Bracket Mode" msgstr "ئاق تەڭپۇڭلۇق تەگلىك ھالىتى" #: src/canonmn.cpp:1341 #, fuzzy msgid "WB Bracket Value AB" msgstr "تەگلىك قىممىتى" #: src/canonmn.cpp:1342 #, fuzzy msgid "WB Bracket Value GM" msgstr "تەگلىك قىممىتى" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 msgid "Filter Effect" msgstr "سۈزگۈچ ئۈنۈمى" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 msgid "Toning Effect" msgstr "رەڭ تەڭشەش ئۈنۈمى" #: src/canonmn.cpp:1345 msgid "Macro Magnification" msgstr "ماكرو چوڭايت" #: src/canonmn.cpp:1345 msgid "Macro magnification" msgstr "ماكرو چوڭايت" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "تارتقاننى شۇئان كۆرسىتىش" #: src/canonmn.cpp:1346 msgid "Live view shooting" msgstr "تارتقاننى شۇئان كۆرسىتىش" #: src/canonmn.cpp:1347 #, fuzzy msgid "Focus Distance Upper" msgstr "فوكۇس ئارلىقى" #: src/canonmn.cpp:1348 #, fuzzy msgid "Focus Distance Lower" msgstr "فوكۇس ئارلىقى" #: src/canonmn.cpp:1349 msgid "Flash Exposure Lock" msgstr "چاقناپ نۇر ئۆتكۈزۈش قۇلۇپى" #: src/canonmn.cpp:1349 msgid "Flash exposure lock" msgstr "چاقناپ نۇر ئۆتكۈزۈش قۇلۇپى" #: src/canonmn.cpp:1351 msgid "Unknown Canon File Info tag" msgstr "نامەلۇم Canonھۆججەت ئۇچۇر بەلگىسى" #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 msgid "Standard" msgstr "ئۆلچەملىك" #: src/canonmn.cpp:1369 msgid "Lowest" msgstr "ئەڭ تۆۋەن" #: src/canonmn.cpp:1373 msgid "Highest" msgstr "ئەڭ يۇقىرى" #: src/canonmn.cpp:1381 msgid "High Saturation" msgstr "يۇقۇرى تويۇنۇش دەرىجىسى" #: src/canonmn.cpp:1383 msgid "Low Saturation" msgstr "تۆۋەن تويۇنۇش دەرىجىسى" #: src/canonmn.cpp:1384 msgid "CM Set 1" msgstr "CMتوپلىمى 1" #: src/canonmn.cpp:1385 msgid "CM Set 2" msgstr "CMتوپلىمى 2" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "ئىشلەتكۈچى ئېنىقلىمىسى.1" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "ئىشلەتكۈچى ئېنىقلىمىسى.2" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "ئىشلەتكۈچى ئېنىقلىمىسى.3" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "PC1" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "PC2" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "PC3" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "ئىشەنچلىك" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 msgid "Monochrome" msgstr "رەڭسىز" #: src/canonmn.cpp:1399 #, fuzzy msgid "Fine Detail" msgstr "چاقناش تەپسىلاتى" #: src/canonmn.cpp:1404 #, fuzzy msgid "ToneCurve" msgstr "تون" #: src/canonmn.cpp:1404 #, fuzzy msgid "Tone curve" msgstr "ئەگرىلىكىنى سېلىشتۇر" #: src/canonmn.cpp:1406 msgid "SharpnessFrequency" msgstr "ئۆتكۈرلۈك چاستوتىسى" #: src/canonmn.cpp:1406 msgid "Sharpness frequency" msgstr "ئۆتكۈرلۈك چاستوتىسى" #: src/canonmn.cpp:1407 msgid "SensorRedLevel" msgstr "سەزگۈچ قىزىللىق دەرىجىسى" #: src/canonmn.cpp:1407 msgid "Sensor red level" msgstr "سەزگۈچ قىزىل رەڭ دەرىجىسى" #: src/canonmn.cpp:1408 msgid "SensorBlueLevel" msgstr "سەزگۈچ كۆك رەڭ دەرىجىسى" #: src/canonmn.cpp:1408 msgid "Sensor blue level" msgstr "سەزگۈچ كۆك رەڭ دەرىجىسى" #: src/canonmn.cpp:1409 msgid "WhiteBalanceRed" msgstr "ئاق تەڭپۇڭلۇق قىزىل" #: src/canonmn.cpp:1409 msgid "White balance red" msgstr "ئاق تەڭپۇڭلۇق قىزىل" #: src/canonmn.cpp:1410 msgid "WhiteBalanceBlue" msgstr "ئاق تەڭپۇڭلۇق كۆك" #: src/canonmn.cpp:1410 msgid "White balance blue" msgstr "ئاق تەڭپۇڭلۇق كۆك" #: src/canonmn.cpp:1411 msgid "WhiteBalance" msgstr "ئاق تەڭپۇڭلۇق" #: src/canonmn.cpp:1412 msgid "ColorTemperature" msgstr "رەڭلىك تېمپېراتۇرا" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 msgid "Color Temperature" msgstr "رەڭلىك تېمپېراتۇرا" #: src/canonmn.cpp:1413 msgid "PictureStyle" msgstr "رەسىم ئۇسلۇبى" #: src/canonmn.cpp:1413 msgid "Picture style" msgstr "رەسىم ئۇسلۇبى" #: src/canonmn.cpp:1414 #, fuzzy msgid "DigitalGain" msgstr "رەقەملىك پاي چېكى" #: src/canonmn.cpp:1414 msgid "Digital gain" msgstr "رەقەملىك پاي چېكى" #: src/canonmn.cpp:1415 msgid "WBShiftAB" msgstr "" #: src/canonmn.cpp:1415 #, fuzzy msgid "WBShift AB" msgstr "دا(shift AB)" #: src/canonmn.cpp:1416 msgid "WBShiftGM" msgstr "" #: src/canonmn.cpp:1416 #, fuzzy msgid "WB Shift GM" msgstr "دا (shift GM)" #: src/canonmn.cpp:1417 msgid "Unknown Canon Processing Info tag" msgstr "نامەلۇم Canon بىر تەرەپ قىلىش ئۇچۇرى بەلگىسى" #: src/crwimage.cpp:656 msgid "Header, offset" msgstr "بەت قېشى، ئېغىش" #: src/crwimage.cpp:674 msgid "tag" msgstr "خەتكۈش" #: src/crwimage.cpp:676 msgid "dir" msgstr "dir" #: src/crwimage.cpp:678 msgid "type" msgstr "تىپى" #: src/crwimage.cpp:679 msgid "size" msgstr "چوڭلۇقى" #: src/crwimage.cpp:680 msgid "offset" msgstr "ئېغىش" #: src/datasets.cpp:79 msgid "(invalid)" msgstr "(ئىناۋەتسىز)" #: src/datasets.cpp:80 msgid "IIM envelope record" msgstr "IIMلېپاپ خاتىرە" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "IIMلېپاپ خاتىرە 2" #: src/datasets.cpp:85 msgid "Model Version" msgstr "ئۈلگە نەشىرى" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 msgid "Destination" msgstr "نىشان" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 msgid "File Format" msgstr "ھۆججەت فورماتى" #: src/datasets.cpp:95 msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" #: src/datasets.cpp:101 msgid "File Version" msgstr "ھۆججەت نەشىرى" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" #: src/datasets.cpp:105 msgid "Service Id" msgstr "مۇلازىمەت Idسى" #: src/datasets.cpp:106 msgid "Identifies the provider and product" msgstr "" #: src/datasets.cpp:108 msgid "Envelope Number" msgstr "لېپاپ نومۇرى" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" #: src/datasets.cpp:117 msgid "Product Id" msgstr "مەھسۇلات كىملىكى" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" #: src/datasets.cpp:122 msgid "Envelope Priority" msgstr "لېپاپ ئالدىنقىلىقى" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" #: src/datasets.cpp:129 msgid "Date Sent" msgstr "يوللىغان چىسلا" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" #: src/datasets.cpp:133 msgid "Time Sent" msgstr "يوللىغان ۋاقىت" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" #: src/datasets.cpp:139 msgid "Character Set" msgstr "ھەرپ توپى" #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" #: src/datasets.cpp:145 msgid "Unique Name Object" msgstr "ئوبىكىتنىڭ ئۆزگىچە ئاتى" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "ARMكىملىكى" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:156 msgid "ARM Version" msgstr "ARMنەشىرى" #: src/datasets.cpp:157 msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" #: src/datasets.cpp:170 msgid "Record Version" msgstr "خاتىرە نەشىرى" #: src/datasets.cpp:171 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:175 msgid "Object Type" msgstr "ئوبيېكت تىپى" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" #: src/datasets.cpp:184 msgid "Object Attribute" msgstr "ئوبىكىت خاسلىقى" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" #: src/datasets.cpp:193 msgid "Object Name" msgstr "ئوبيېكت ئاتى" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" #: src/datasets.cpp:198 msgid "Document Title" msgstr "پۈتۈك ماۋزۇسى" #: src/datasets.cpp:199 src/olympusmn.cpp:827 msgid "Edit Status" msgstr "تەھرىرلەش ھالىتى" #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "" #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "يېڭىلاشنى تەھرىرلەش" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "جىددى" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 msgid "Subject" msgstr "تېما" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "" #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "كاتېگورىيە" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" #: src/datasets.cpp:222 msgid "Supplemental Category" msgstr "تولۇقلىما كاتېگورىيە" #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" #: src/datasets.cpp:228 src/properties.cpp:442 #, fuzzy msgid "Supplemental Categories" msgstr "تولۇقلىما كاتېگورىيە" #: src/datasets.cpp:229 #, fuzzy msgid "Fixture Id" msgstr "رەسىم ئۇچۇرى" #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 msgid "Keywords" msgstr "ھالقىلىق سۆزلەر" #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" #: src/datasets.cpp:240 msgid "Location Code" msgstr "ئورۇن كودى" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:248 msgid "Location Name" msgstr "ئورۇن ئاتى" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" #: src/datasets.cpp:253 src/properties.cpp:376 msgid "Release Date" msgstr "تارقاتقان چېسلا" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:257 msgid "Release Time" msgstr "تارقاتقان ۋاقتى" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:261 msgid "Expiration Date" msgstr "ئىناۋەتلىك چېسلاسى" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:265 msgid "ExpirationTime" msgstr "ئىناۋەتلىك ۋاقتى" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:269 msgid "Special Instructions" msgstr "ئالاھىدە چۈشەندۈرۈش" #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" #: src/datasets.cpp:273 src/properties.cpp:439 msgid "Instructions" msgstr "پەرمانلار" #: src/datasets.cpp:274 msgid "Action Advised" msgstr "مەشغۇلات ئەسكەرتمىسى" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:279 msgid "Reference Service" msgstr "پايدىلىنىش مۇلازىمىتى" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:283 msgid "Reference Date" msgstr "پايدىلىنىش چىسلاسى" #: src/datasets.cpp:284 msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "" #: src/datasets.cpp:286 msgid "Reference Number" msgstr "پايدىلىنىش نومۇرى" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 msgid "Date Created" msgstr "قۇرۇلغان چېسلا" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:295 #, fuzzy msgid "Time Created" msgstr "قۇرۇلغان چېسلا" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:301 #, fuzzy msgid "Digitization Date" msgstr "رەقەملىك ۋاقىت" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:305 msgid "Digitization Time" msgstr "رەقەملىك ۋاقىت" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 msgid "Program" msgstr "پروگرامما" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "" #: src/datasets.cpp:313 msgid "Program Version" msgstr "پروگرامما نەشرى" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "" #: src/datasets.cpp:316 msgid "Object Cycle" msgstr "ئوبىكىت دەۋرى" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "" #: src/datasets.cpp:319 #, fuzzy msgid "By-line" msgstr "قۇر" #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "" #: src/datasets.cpp:323 src/properties.cpp:2103 msgid "Author" msgstr "ئاپتور" #: src/datasets.cpp:324 msgid "By-line Title" msgstr "" #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "" #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 msgid "City" msgstr "شەھەر" #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:333 #, fuzzy msgid "Sub Location" msgstr "يەرلىك تېما" #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" #: src/datasets.cpp:337 #, fuzzy msgid "Province State" msgstr "دائىرە/ھالەت." #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:341 msgid "State/Province" msgstr "ئىشتات/ئۆلكە" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 msgid "Country Code" msgstr "دۆلەت كودى:" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:352 msgid "Country Name" msgstr "دۆلەت ئاتى" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 msgid "Country" msgstr "دۆلەت" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 #, fuzzy msgid "Transmission Reference" msgstr "ۋەزىپە نەقىلى" #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 #, fuzzy msgid "Headline" msgstr "قۇر" #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "" #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 #, fuzzy msgid "Credit" msgstr "كرېدىت." #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "" #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source" msgstr "مەنبە" #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "" #: src/datasets.cpp:379 msgid "Copyright Notice" msgstr "نەشر باياناتى:" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 msgid "Contact" msgstr "ئالاقەداش" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" #: src/datasets.cpp:384 src/properties.cpp:2101 msgid "Caption" msgstr "ماۋزۇ" #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "" #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 msgid "Description" msgstr "چۈشەندۈرۈش" #: src/datasets.cpp:388 msgid "Writer" msgstr "ئاپتور" #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" #: src/datasets.cpp:392 #, fuzzy msgid "Rasterized Caption" msgstr "نۇرئۆتۈش" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "" #: src/datasets.cpp:399 msgid "Image Orientation" msgstr "سۈرەت يۇنىلىشى" #: src/datasets.cpp:400 msgid "Indicates the layout of an image." msgstr "" #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 msgid "Language" msgstr "تىل" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" #: src/datasets.cpp:408 msgid "Audio Type" msgstr "ئۈن تىپى" #: src/datasets.cpp:409 msgid "Indicates the type of an audio content." msgstr "" #: src/datasets.cpp:411 msgid "Audio Rate" msgstr "ئاۋاز نىسبىتى" #: src/datasets.cpp:412 msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "" #: src/datasets.cpp:414 msgid "Audio Resolution" msgstr "ئۈن ئېنىقلىقى" #: src/datasets.cpp:415 msgid "Indicates the sampling resolution of an audio content." msgstr "" #: src/datasets.cpp:417 msgid "Audio Duration" msgstr "ئۈن داۋاملىشىش ۋاقتى" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "" #: src/datasets.cpp:420 #, fuzzy msgid "Audio Outcue" msgstr "ئاۋاز نىسبىتى" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" #: src/datasets.cpp:424 msgid "Preview Format" msgstr "پىچىمنى ئالدىن كۈزەت" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" #: src/datasets.cpp:429 src/properties.cpp:1276 msgid "Preview Version" msgstr "كۆرۈپ بېقىش نەشىرى" #: src/datasets.cpp:430 msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" #: src/datasets.cpp:433 msgid "Preview Data" msgstr "سانلىق مەلۇماتنى ئالدىن كۈزەت" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "" #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "(ئىناۋەتسىز)" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 msgid "Unknown dataset" msgstr "نامەلۇم سانلىق مەلۇمات تەڭشىكى" #: src/error.cpp:55 msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "" #: src/error.cpp:56 msgid "Success" msgstr "مۇۋەپپەقىيەتلىك بولدى" #: src/error.cpp:59 #, fuzzy msgid "This does not look like a %1 image" msgstr "قارىماققا JPEGسۈرىتى ئەمەستەك قىلىدۇ" #: src/error.cpp:60 msgid "Invalid dataset name `%1'" msgstr "ئىناۋەتسىز سانلىق مەلۇمات تەڭشەك ئاتى `%1'" #: src/error.cpp:61 msgid "Invalid record name `%1'" msgstr "ئىناۋەتسىز خاتىرە ئاتى `%1'" #: src/error.cpp:62 msgid "Invalid key `%1'" msgstr "ئىناۋەتسىز كونۇپكا `%1'" #: src/error.cpp:63 #, fuzzy msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "ئىناۋەتسىز سانلىق مەلۇمات تەڭشەك ئاتى `%1'" #: src/error.cpp:64 msgid "Value not set" msgstr "قىممىتىنى تەڭشىيەلمىدى" #: src/error.cpp:65 msgid "%1: Failed to open the data source: %2" msgstr "1%:سانلىق مەلۇمات مەنبەسىنى ئېچىش مەغلۇب بولدى:%2" #: src/error.cpp:66 msgid "%1: Failed to open file (%2): %3" msgstr "1%:ھۆججەت ئېچىش مەغلۇپ بولدى(%2)%3" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "" #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "" #: src/error.cpp:69 #, fuzzy msgid "Image type %1 is not supported" msgstr "%1: قوللىمايدۇ" #: src/error.cpp:70 msgid "Failed to read image data" msgstr "سۈرەت سانلىق مەلۇماتىنى ئوقۇش مەغلۇب بولدى" #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "قارىماققا JPEGسۈرىتى ئەمەستەك قىلىدۇ" #: src/error.cpp:72 #, fuzzy msgid "%1: Failed to map file for reading and writing: %2" msgstr "ئاچقان بۇيرۇق ھۆججىتىنى ئوقۇش مەغلۇب بولدى\n" #: src/error.cpp:73 #, fuzzy msgid "%1: Failed to rename file to %2: %3" msgstr "1%:ھۆججەت ئېچىش مەغلۇپ بولدى(%2)%3" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "1%:يوللاش مەغلۇب بولدى: %2" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "ئىچكى ساقلىغۇچقا يوللاش مەغلۇب بولدى: %1" #: src/error.cpp:76 msgid "Failed to read input data" msgstr "كىرگۈزۈش سانلىق مەلۇماتىنى ئوقۇش مەغلۇب بولدى" #: src/error.cpp:77 msgid "Failed to write image" msgstr "سۈرەت يېزىش مەغلۇب بولدى" #: src/error.cpp:78 msgid "Input data does not contain a valid image" msgstr "كىرگۈزگەن سانلىق مەلۇمات ئۈنۈملۈك سۈرەتنى ئۆز ئىچىگە ئالمايدۇ" #: src/error.cpp:79 msgid "Invalid ifdId %1" msgstr "ئەگەر راستنلا ئىناۋەتسىز بولسا% 1" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" #: src/error.cpp:82 #, fuzzy msgid "Offset out of range" msgstr "دائىرە سىرتىدا" #: src/error.cpp:83 #, fuzzy msgid "Unsupported data area offset type" msgstr "قوللىمايدىغان چېسلا پىچىمى" #: src/error.cpp:84 msgid "Invalid charset: `%1'" msgstr "ئىناۋەتسىز ھەرىپلەر توپلىمى : `%1'" #: src/error.cpp:85 msgid "Unsupported date format" msgstr "قوللىمايدىغان چېسلا پىچىمى" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "قوللىمايدىغان ۋاقىت پىچىمى" #: src/error.cpp:87 msgid "Writing to %1 images is not supported" msgstr "" #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "" #: src/error.cpp:89 #, fuzzy msgid "This does not look like a CRW image" msgstr "قارىماققا JPEGسۈرىتى ئەمەستەك قىلىدۇ" #: src/error.cpp:90 msgid "%1: Not supported" msgstr "%1: قوللىمايدۇ" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "" #: src/error.cpp:92 msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "" #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" #: src/error.cpp:104 #, fuzzy msgid "Invalid XmpText type `%1'" msgstr "ئىناۋەتسىز كونۇپكا `%1'" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "" #: src/error.cpp:106 msgid "Multiple TIFF array element tags %1 in one directory" msgstr "" #: src/error.cpp:107 msgid "TIFF array element tag %1 has wrong type" msgstr "" #: src/error.cpp:108 msgid "%1 has invalid XMP value type `%2'" msgstr "" #: src/exiv2.cpp:213 msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" "بۇ پروگرامما ئەركىن يۇمشاق دېتال؛ سىز ئەركىن يۇمشاق دېتال ۋەخپىسى تارقاتقان " "GNU ئادەتتىكى ئاممىۋى ئىجازەتنامە بويىچە ئۇنى قايتا تارقىتىپ ياكى " "ئۆزگەرتەلەيسىز؛ سىز شۇ ئىجازەت كېلىشىمىنىڭ ئىككىنچى نەشرى ياكى يۇقىرى " "نەشرىنى ئىشلەتسىڭىز بولىدۇ.\n" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" "بۇ پروگراممىنى تارقىتىشتىكى مەقسەت سىزگە قۇلايلىق ئېلىپ كېلىش، ئەمما سودا " "ياكى باشقا ئالاھىدە قوللىنىشقا نىسبەتەن ھېچقانداق كاپالەت يوق. GNU " "ئادەتتىكى ئاممىۋى ئىجازەت كېلىشىمىنى كۆرۈپ تېخىمۇ كۆپ تەپسىلاتقا ئېرىشىڭ.\n" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" "مەزكۇر پروگرامما بىلەن بىرگە GNU ئادەتتىكى ئاممىۋى ئىجازەت كېلىشىمىدىن بىر " "نۇسخا تاپشۇرۇۋالىسىز؛ ئۇنداق بولمىسا Free Software Foundation, Inc., 51 " "Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA بىلەن ئالاقە " "قىلىڭ.\n" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "ئىشلىتىش ئۇسۇلى:" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" "[تاللانما][مەشغۇلات]ھۆججەت...\n" "\n" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" "\n" "مەشغۇلاتلار:\n" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr "" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr "" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" #: src/exiv2.cpp:262 msgid "" "\n" "Options:\n" msgstr "" "\n" "تاللانمىلار:\n" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr "" #: src/exiv2.cpp:264 msgid " -V Show the program version and exit.\n" msgstr "" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr "" #: src/exiv2.cpp:266 msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr "" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" #: src/exiv2.cpp:268 msgid " -b Show large binary values.\n" msgstr "" #: src/exiv2.cpp:269 msgid " -u Show unknown tags.\n" msgstr "" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr "" #: src/exiv2.cpp:271 msgid " -K key Only output info for this key (exact match).\n" msgstr "" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr "" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr "" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr "" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr "" #: src/exiv2.cpp:285 msgid " s : print a summary of the Exif metadata (the default)\n" msgstr "" #: src/exiv2.cpp:286 msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr "" #: src/exiv2.cpp:287 msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr "" #: src/exiv2.cpp:288 msgid " v : plain Exif data values (-PExgnycv)\n" msgstr "" #: src/exiv2.cpp:289 msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr "" #: src/exiv2.cpp:290 msgid " i : IPTC data values (-PIkyct)\n" msgstr "" #: src/exiv2.cpp:291 msgid " x : XMP properties (-PXkyct)\n" msgstr "" #: src/exiv2.cpp:292 src/exiv2.cpp:317 msgid " c : JPEG comment\n" msgstr "" #: src/exiv2.cpp:293 msgid " p : list available previews\n" msgstr "" #: src/exiv2.cpp:294 msgid " S : print structure of image\n" msgstr "" #: src/exiv2.cpp:295 msgid " X : extract XMP from image\n" msgstr "" #: src/exiv2.cpp:296 msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" #: src/exiv2.cpp:297 msgid " E : include Exif tags in the list\n" msgstr "" #: src/exiv2.cpp:298 msgid " I : IPTC datasets\n" msgstr "" #: src/exiv2.cpp:299 msgid " X : XMP properties\n" msgstr "" #: src/exiv2.cpp:300 msgid " x : print a column with the tag number\n" msgstr "" #: src/exiv2.cpp:301 msgid " g : group name\n" msgstr "" #: src/exiv2.cpp:302 msgid " k : key\n" msgstr "" #: src/exiv2.cpp:303 msgid " l : tag label\n" msgstr "" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr "" #: src/exiv2.cpp:305 msgid " y : type\n" msgstr "" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr "" #: src/exiv2.cpp:307 msgid " s : size in bytes\n" msgstr "" #: src/exiv2.cpp:308 msgid " v : plain data value\n" msgstr "" #: src/exiv2.cpp:309 msgid " t : interpreted (translated) data\n" msgstr "" #: src/exiv2.cpp:310 msgid " h : hexdump of the data\n" msgstr "" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr "" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr "" #: src/exiv2.cpp:313 msgid " e : Exif section\n" msgstr "" #: src/exiv2.cpp:314 msgid " t : Exif thumbnail only\n" msgstr "" #: src/exiv2.cpp:315 msgid " i : IPTC data\n" msgstr "" #: src/exiv2.cpp:316 msgid " x : XMP packet\n" msgstr "" #: src/exiv2.cpp:318 msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" #: src/exiv2.cpp:323 msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr "" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr "" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr "" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr "" #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr "" #: src/exiv2.cpp:336 msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 msgid "Option" msgstr "تاللانما" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "ئۆزگەرگۈچى مىقدار ۋە ئېھتىياج\n" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "قوللىمايدىغان تاللانما" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "" #: src/exiv2.cpp:410 msgid "Invalid argument" msgstr "ئىناۋەتسىز ئەركىن ئۆزگەرگۈچى" #: src/exiv2.cpp:434 #, fuzzy msgid "Invalid regexp" msgstr "ئىناۋەتسىز ئەركىن ئۆزگەرگۈچى" #: src/exiv2.cpp:473 src/exiv2.cpp:526 #, fuzzy msgid "Ignoring surplus option" msgstr "تويۇنۇش دەرىجىسىنى تەڭشەش" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "" #: src/exiv2.cpp:504 #, fuzzy msgid "Error parsing -a option argument" msgstr "تاللانما ئەركىن ئۆزگەرگۈچى" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "تەھلىل قىلىش خاتالىقى" #: src/exiv2.cpp:535 msgid "option argument" msgstr "تاللانما ئەركىن ئۆزگەرگۈچى" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "قوللىمايدىغان بېسىش تىپى" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "قوللىمايدىغان بېسىش تۈرى" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:824 msgid "Action fixcom is not compatible with the given options\n" msgstr "" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "" #: src/exiv2.cpp:904 msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "" #: src/exiv2.cpp:920 #, fuzzy msgid "Error parsing -m option arguments\n" msgstr "تاللانما ئەركىن ئۆزگەرگۈچى" #: src/exiv2.cpp:927 #, fuzzy msgid "Error parsing -M option arguments\n" msgstr "تاللانما ئەركىن ئۆزگەرگۈچى" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "نامەلۇم " #: src/exiv2.cpp:1039 msgid "target" msgstr "نىشان" #: src/exiv2.cpp:1065 msgid "Invalid preview number" msgstr "نومۇرنى ئالدىن كۈزىتىش مەغلۇب بولدى" #: src/exiv2.cpp:1097 msgid "Failed to open command file for reading\n" msgstr "ئاچقان بۇيرۇق ھۆججىتىنى ئوقۇش مەغلۇب بولدى\n" #: src/exiv2.cpp:1110 msgid "line" msgstr "قۇر" #: src/exiv2.cpp:1133 #, fuzzy msgid "-M option" msgstr "تاللانما" #: src/exiv2.cpp:1180 #, fuzzy msgid "Invalid command line:" msgstr "بۇيرۇق قۇرى ئىناۋەتسىز" #: src/exiv2.cpp:1187 msgid "Invalid command" msgstr "خاتا بۇيرۇق" #: src/exiv2.cpp:1219 msgid "Invalid key" msgstr "ئىناۋەتسىز كونۇپكا" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "بۇيرۇق قۇرى ئىناۋەتسىز" #: src/fujimn.cpp:62 msgid "Soft mode 1" msgstr "يۇمشاق ھالەت 1" #: src/fujimn.cpp:63 msgid "Soft mode 2" msgstr "يۇمشاق ھالەت 2" #: src/fujimn.cpp:65 msgid "Hard mode 1" msgstr "قاتتىق ھالەت 1" #: src/fujimn.cpp:66 msgid "Hard mode 2" msgstr "قاتتىق ھالەت 2" #: src/fujimn.cpp:74 msgid "Fluorescent (daylight)" msgstr "نەي لامپا(كۈن نۇرى)" #: src/fujimn.cpp:75 msgid "Fluorescent (warm white)" msgstr "نەي لامپا (ئىللىق ئاق)" #: src/fujimn.cpp:76 msgid "Fluorescent (cool white)" msgstr "نەي لامپا (سوغۇق ئاق)" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 msgid "Incandescent" msgstr "چوغلانما لامپا" #: src/fujimn.cpp:87 src/fujimn.cpp:88 msgid "None (black & white)" msgstr "يوق(ئاق &قارا)" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 msgid "Red-eye reduction" msgstr "قىزىل كۆز شاۋقۇن" #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 msgid "Night scene" msgstr "كەچلىك مەنزىرە" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 msgid "Program AE" msgstr "پرۇگرامما AE" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "تەبىئىي يوقۇرۇق" #: src/fujimn.cpp:122 msgid "Anti-blur" msgstr "Anti-blur" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 msgid "Sunset" msgstr "كۈن ئولتۇرۇش(Sunset)" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 msgid "Museum" msgstr "مۇزېي" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 msgid "Party" msgstr "يىغىلىش" #: src/fujimn.cpp:126 msgid "Flower" msgstr "گۈل" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "تېكىست" #: src/fujimn.cpp:128 msgid "Natural light & flash" msgstr "تەبىئىي يورۇق&چاقماق لامپا" #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 #, fuzzy msgid "Aperture-priority AE" msgstr "نۇر چەمبىرىنىڭ ئالدىنلىقى" #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 #, fuzzy msgid "Shutter speed priority AE" msgstr "تېز قاپقاقنىڭ ئالدىنلىقى" #: src/fujimn.cpp:142 #, fuzzy msgid "No flash & flash" msgstr "تەبىئىي يورۇق&چاقماق لامپا" #: src/fujimn.cpp:148 msgid "Chrome" msgstr "Chrome" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 msgid "Wide" msgstr "كەڭرى" #: src/fujimn.cpp:160 msgid "F0/Standard" msgstr "F0/ئۆلچىمى" #: src/fujimn.cpp:161 msgid "F1/Studio portrait" msgstr "F1/سۈرەت خىزمەتخانىسى" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "F2/Fujichrome" #: src/fujimn.cpp:163 #, fuzzy msgid "F3/Studio portrait Ex" msgstr "F1/سۈرەت خىزمەتخانىسى" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "F4/Velvia" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "ئاپتوماتىك ( %400-100)" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "خام" #: src/fujimn.cpp:171 msgid "Standard (100%)" msgstr "ئۆلچەملىك(%100)" #: src/fujimn.cpp:172 msgid "Wide mode 1 (230%)" msgstr "كەڭرى ھالەت 1(%230)" #: src/fujimn.cpp:173 msgid "Wide mode 2 (400%)" msgstr "كەڭرى ھالەت 2(%400)" #: src/fujimn.cpp:174 msgid "Film simulation mode" msgstr "كىنو تەقلىد ھالىتى" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 msgid "Version" msgstr "نەشرى" #: src/fujimn.cpp:180 #, fuzzy msgid "Fujifilm Makernote version" msgstr "Nikon زاۋۇت ئىزاھاتى نەشىرى" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 msgid "Image quality setting" msgstr "سۈرەت سۈپەت تەڭشىكى" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 msgid "Color" msgstr "رەڭ" #: src/fujimn.cpp:196 msgid "Chroma saturation setting" msgstr "Chromaتويۇنۇش تەڭشىكى" #: src/fujimn.cpp:198 msgid "Tone" msgstr "تون" #: src/fujimn.cpp:202 #, fuzzy msgid "Flash firing mode setting" msgstr "چاقناش ھالەت تەڭشىكى" #: src/fujimn.cpp:204 #, fuzzy msgid "Flash Strength" msgstr "چاقناش تەڭشىكى" #: src/fujimn.cpp:205 #, fuzzy msgid "Flash firing strength compensation setting" msgstr "چاقناشنى تولۇقلاش تەڭشىكى" #: src/fujimn.cpp:208 msgid "Macro mode setting" msgstr "ماكرو ھالەت تەڭشىكى" #: src/fujimn.cpp:211 msgid "Focusing mode setting" msgstr "فوكۇس ھالىتى تەڭشىكى" #: src/fujimn.cpp:216 msgid "Slow Sync" msgstr "ئاستا قەدەمداشلاش" #: src/fujimn.cpp:217 #, fuzzy msgid "Slow synchro mode setting" msgstr "ماكرو ھالەت تەڭشىكى" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 msgid "Picture Mode" msgstr "رەسىم ھالىتى" #: src/fujimn.cpp:220 msgid "Picture mode setting" msgstr "رەسىم ھالىتى تەڭشىكى" #: src/fujimn.cpp:226 #, fuzzy msgid "Continuous shooting or auto bracketing setting" msgstr "ئۆزلۈكسىز قورشىشى يۇقۇرى" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 msgid "Sequence Number" msgstr "تەرتىپ نومۇرى" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 msgid "Sequence number" msgstr "تەرتىپ نومۇرى" #: src/fujimn.cpp:234 msgid "FinePix Color" msgstr "FinePix رەڭ" #: src/fujimn.cpp:235 #, fuzzy msgid "Fuji FinePix color setting" msgstr "FinePix رەڭ" #: src/fujimn.cpp:237 msgid "Blur Warning" msgstr "غۇۋالىق ئاگاھلاندۇرۇشى" #: src/fujimn.cpp:238 msgid "Blur warning status" msgstr "غۇۋالىق ئاگاھلاندۇرۇش ھالىتى" #: src/fujimn.cpp:240 msgid "Focus Warning" msgstr "فۇكۇس ئاگاھلاندۇرۇشى" #: src/fujimn.cpp:241 msgid "Auto Focus warning status" msgstr "ئاپتوماتىك فوكۇس ئاگاھلاندۇرۇش ھالىتى" #: src/fujimn.cpp:243 msgid "Exposure Warning" msgstr "نۇرلاندۇرۇش ئاگاھلاندۇرۇشى" #: src/fujimn.cpp:244 msgid "Auto exposure warning status" msgstr "ئاپتوماتىك نۇرلاندۇرۇش ئاگاھلاندۇرۇش ھالىتى" #: src/fujimn.cpp:246 msgid "Dynamic Range" msgstr "ھەرىكەتچان دائىرە" #: src/fujimn.cpp:247 msgid "Dynamic range" msgstr "ھەرىكەتچان دائىرە" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 msgid "Film Mode" msgstr "كىنو ھالىتى" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 msgid "Film mode" msgstr "كىنو ھالىتى" #: src/fujimn.cpp:252 msgid "Dynamic Range Setting" msgstr "ھەركەتجان دائىرە تەڭشىكى" #: src/fujimn.cpp:253 msgid "Dynamic range settings" msgstr "ھەركەتجان دائىرە تەڭشىكى" #: src/fujimn.cpp:255 msgid "Development Dynamic Range" msgstr "ھەركەتچان دائىرىنى ئېچىش" #: src/fujimn.cpp:256 msgid "Development dynamic range" msgstr "ھەركەتچان دائىرىنى ئېچىش" #: src/fujimn.cpp:258 msgid "Minimum Focal Length" msgstr "ئەڭ چوڭ فوكۇس ئارلىقى" #: src/fujimn.cpp:259 msgid "Minimum focal length" msgstr "ئەڭ چوڭ فوكۇس ئارلىقى" #: src/fujimn.cpp:261 msgid "Maximum Focal Length" msgstr "ئەڭ چوڭ فوكۇس ئارلىقى" #: src/fujimn.cpp:262 msgid "Maximum focal length" msgstr "ئەڭ چوڭ فوكۇس ئارلىقى" #: src/fujimn.cpp:264 #, fuzzy msgid "Maximum Aperture at Minimum Focal" msgstr "ئەڭ چوڭ نۇر نۇر گەردىشى ئەڭ چوڭ فۇكۇسدا" #: src/fujimn.cpp:265 #, fuzzy msgid "Maximum aperture at minimum focal" msgstr "ئەڭ چوڭ نۇر نۇر گەردىشى ئەڭ چوڭ فۇكۇسدا" #: src/fujimn.cpp:267 #, fuzzy msgid "Maximum Aperture at Maximum Focal" msgstr "ئەڭ چوڭ نۇر نۇر گەردىشى ئەڭ چوڭ فۇكۇسد" #: src/fujimn.cpp:268 #, fuzzy msgid "Maximum aperture at maximum focal" msgstr "ئەڭ چوڭ نۇر نۇر گەردىشى ئەڭ چوڭ فۇكۇسد" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 msgid "File Source" msgstr "ھۆججەت مەنبەسى" #: src/fujimn.cpp:271 msgid "File source" msgstr "ھۆججەت مەنبەسى" #: src/fujimn.cpp:273 msgid "Order Number" msgstr "نومۇر تەرتىپى" #: src/fujimn.cpp:274 msgid "Order number" msgstr "نومۇر تەرتىپى" #: src/fujimn.cpp:276 msgid "Frame Number" msgstr "كاندۇك نومۇرى" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 msgid "Frame number" msgstr "كاندۇك نومۇرى" #: src/fujimn.cpp:281 #, fuzzy msgid "Unknown FujiMakerNote tag" msgstr "نامەلۇم Nikon1 زاۋۇت ئىزاھاتى بەلگىسى" #: src/minoltamn.cpp:56 msgid "Natural Color" msgstr "تەبىئىي رەڭ" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 msgid "Vivid Color" msgstr "يورۇق رەڭ" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 msgid "Solarization" msgstr "نۇرئۆتۈش" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "AdobeRGB" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 msgid "Natural" msgstr "تەبىئىي" #: src/minoltamn.cpp:64 msgid "Natural sRGB" msgstr "تەبىئىي sRGB" #: src/minoltamn.cpp:65 msgid "Natural+ sRGB" msgstr "تەبىئىي+ sRGB" #: src/minoltamn.cpp:67 msgid "Evening" msgstr "كەچ" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 msgid "Night Portrait" msgstr "كېچە رەسىمى" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 msgid "Super Fine" msgstr "ئالاھىدە ئىنچىكە" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 msgid "Extra Fine" msgstr "ئارتۇقچە ئىنچىكە" #: src/minoltamn.cpp:90 msgid "Makernote Version" msgstr "زاۋۇت ئىزاھات نەشىرى" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "" #: src/minoltamn.cpp:93 msgid "Camera Settings (Std Old)" msgstr "كامىرا تەڭشىكى(Std كونا)" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "" #: src/minoltamn.cpp:96 msgid "Camera Settings (Std New)" msgstr "كامىرا تەڭشىكى(Std يېڭى)" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "" #: src/minoltamn.cpp:99 msgid "Camera Settings (7D)" msgstr "كامىرا تەڭشىكى(7D)" #: src/minoltamn.cpp:100 msgid "Camera Settings (for Dynax 7D model)" msgstr "كامىرا تەڭشىكى( Dynax 7D مودىلى ئۈچۈن)" #: src/minoltamn.cpp:102 msgid "Image Stabilization Data" msgstr "سۈرەت مۇقىلىقى سانلىق مەلۇماتى" #: src/minoltamn.cpp:103 msgid "Image stabilization data" msgstr "سۈرەت مۇقىلىقى سانلىق مەلۇماتى" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "ئاق تەڭپۇڭلۇق ئۇچۇرىA100" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "" #: src/minoltamn.cpp:111 msgid "Compressed Image Size" msgstr "پرىسلانغان سۈرەت چوڭلۇقى" #: src/minoltamn.cpp:112 msgid "Compressed image size" msgstr "پرىسلانغان سۈرەت چوڭلۇقى" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 msgid "Thumbnail Offset" msgstr "قىسقا ئېغىش" #: src/minoltamn.cpp:118 msgid "Offset of the thumbnail" msgstr "ئېغىشى قىسقا" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 msgid "Thumbnail Length" msgstr "قىسقا ئارلىق" #: src/minoltamn.cpp:121 msgid "Size of the thumbnail" msgstr "چوڭلۇقى كىچىن" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 msgid "Scene Mode" msgstr "كۆرۈنۈش ھالىتى" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 msgid "Color Mode" msgstr "رەڭلىك" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 msgid "Color mode" msgstr "رەڭلىك" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 msgid "Image Quality" msgstr "سۈرەت سۈپىتى" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "0x0103" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 msgid "Flash Exposure Compensation" msgstr "تولۇقلاپ چاقناپ نۇر ئۆتكۈزۈش" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 #, fuzzy msgid "Flash exposure compensation in EV" msgstr "تولۇقلاپ چاقناپ نۇر ئۆتكۈزۈش" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 #, fuzzy msgid "Teleconverter Model" msgstr "قوشۇمچە تىپ" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 msgid "Zone Matching" msgstr "ماس رايۇن" #: src/minoltamn.cpp:154 msgid "Zone matching" msgstr "ماس رايۇن" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 msgid "Color temperature" msgstr "رەڭ تېمپېراتۇرىسى" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 msgid "Lens ID" msgstr "لىنزا كىملىكى" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 msgid "Lens identifier" msgstr "لىنزا كىملىكى" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 msgid "Color Compensation Filter" msgstr "رەڭ تولدۇرۇش سۈزگۈچى" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "رەڭ تولدۇرۇش سۈزگۈچى:نېگاتىپ يېشىل، ئۇدۇلدىن ئاچ ھالرەڭ" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 msgid "White Balance Fine Tune" msgstr "ئاق تەڭپۇڭلۇقنى مىكرو تەڭشەش" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 msgid "White Balance Fine Tune Value" msgstr "ئاق تەڭپۇڭلۇقنى مىكرو تەڭشەش قىممىتى" #: src/minoltamn.cpp:168 msgid "Image Stabilization A100" msgstr "سۈرەت مۇقىملىقى A100" #: src/minoltamn.cpp:169 #, fuzzy msgid "Image Stabilization for the Sony DSLR-A100" msgstr "سۈرەت مۇقىملىقى A100" #: src/minoltamn.cpp:173 msgid "Camera Settings (5D)" msgstr "كامىرا تەڭشىكى(5D)" #: src/minoltamn.cpp:174 msgid "Camera Settings (for Dynax 5D model)" msgstr "كامىرا تەڭشىكى ( Dynax 5D مودىلى ئۈچۈن)" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "IM باس" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 msgid "PrintIM information" msgstr "IMنى بېسىش ئۇچۇرى" #: src/minoltamn.cpp:183 msgid "Camera Settings (Z1)" msgstr "كامىرا تەڭشىكى (Z1)" #: src/minoltamn.cpp:184 msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "كامىرا تەڭشىكى ( Z1, DImage X ۋە F100مودىلى ئۈچۈن)" #: src/minoltamn.cpp:188 msgid "Unknown Minolta MakerNote tag" msgstr "نامەلۇم Minoltaياسىغۇچى ئىزاھات بەلگىسى" #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 msgid "Aperture priority" msgstr "نۇر چەمبىرىنىڭ ئالدىنلىقى" #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "تېز قاپقاقنىڭ ئالدىنلىقى" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 msgid "Fill flash" msgstr "نۇر تولۇقلاش" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 msgid "Rear flash sync" msgstr "ئارقا نۇرنى قەدەملەشلاش" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 msgid "Wireless" msgstr "سىمسىز" #: src/minoltamn.cpp:224 msgid "Fluorescent 2" msgstr "يالتىراق لامپا 2" #: src/minoltamn.cpp:231 msgid "Full size" msgstr "ئەسلى چوڭ- كىچىكلىكى" #: src/minoltamn.cpp:243 msgid "Super fine" msgstr "ئالاھىدە ئىنچىكە" #: src/minoltamn.cpp:247 msgid "Extra fine" msgstr "ئارتۇقچە ئىنچىكە" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 msgid "Single Frame" msgstr "يالغۇز كاندۇك" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 #, fuzzy msgid "Self-timer" msgstr "ئۆزى تارتىش ۋاقىت بەلگىلىگۈچى" #: src/minoltamn.cpp:255 msgid "Bracketing" msgstr "تىرناق" #: src/minoltamn.cpp:256 msgid "Interval" msgstr "ئىنتېرۋال" #: src/minoltamn.cpp:257 msgid "UHS continuous" msgstr "UHSئۆزلۈكسىزلىكى" #: src/minoltamn.cpp:258 msgid "HS continuous" msgstr "UHSئۆزلۈكسىزلىكى" #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 msgid "Multi-segment" msgstr "كۆپ سېگمىت" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 #, fuzzy msgid "Center weighted average" msgstr "مەركەزگە پايدىلىق" #: src/minoltamn.cpp:271 msgid "Electronic magnification" msgstr "ئېلېكترونلۇق چوڭايت" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 msgid "Top" msgstr "ئۈستى" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 msgid "Top-right" msgstr "ئوڭ ئۈستى" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 msgid "Bottom-right" msgstr "ئوڭ ئاستى" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 msgid "Bottom" msgstr "ئاستى" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 msgid "Bottom-left" msgstr "سول ئاستى" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 msgid "Top-left" msgstr "سول ئۈستى" #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 msgid "Hard" msgstr "تەس" #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 msgid "Soft" msgstr "يۇمشاق" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 msgid "Night portrait" msgstr "كېچە رەسىمى" #: src/minoltamn.cpp:315 msgid "Sports action" msgstr "ھەركەت مەشغۇلاتى" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "" #: src/minoltamn.cpp:349 msgid "Standard form" msgstr "ئۆلچەملىك تىپ" #: src/minoltamn.cpp:350 msgid "Data form" msgstr "سانلىق مەلۇمات تىپى" #: src/minoltamn.cpp:355 msgid "Natural color" msgstr "تەبىئىي رەڭ" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 msgid "Black and white" msgstr "رەڭسىز" #: src/minoltamn.cpp:357 msgid "Vivid color" msgstr "يورۇق رەڭ" #: src/minoltamn.cpp:364 msgid "No zone" msgstr "رايۇن يوق" #: src/minoltamn.cpp:365 msgid "Center zone (horizontal orientation)" msgstr "مەركىزىي رايۇن(بوي يۆنىلىش)" #: src/minoltamn.cpp:366 msgid "Center zone (vertical orientation)" msgstr "مەركىزىي رايۇن( تىك يۆنىلىش)" #: src/minoltamn.cpp:367 msgid "Left zone" msgstr "سول رايۇن" #: src/minoltamn.cpp:368 msgid "Right zone" msgstr "ئوڭ رايۇن" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 msgid "Auto focus" msgstr "ئاپتوماتىك فوكۇس" #: src/minoltamn.cpp:379 msgid "Wide focus (normal)" msgstr "كەڭ فوكۇس(نورمال)" #: src/minoltamn.cpp:380 msgid "Spot focus" msgstr "فوكۇس نوقتا" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 msgid "Exposure" msgstr "نۇر ئۆتۈش" #: src/minoltamn.cpp:388 msgid "Filter" msgstr "سۈزگۈچ" #: src/minoltamn.cpp:393 msgid "Not embedded" msgstr "سىڭدۈرۈلمىگەن" #: src/minoltamn.cpp:394 msgid "Embedded" msgstr "سىڭدۈرۈلگەن" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "تېكىست+ID#" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "ADI(ئالىي ئارلىق توپلاشتۇرۇش)" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "" #: src/minoltamn.cpp:410 msgid "Manual flash control" msgstr "چاقناشنى قولىدا باشقۇرۇش" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 msgid "Exposure Mode" msgstr "يورۇتۇش ھالىتى" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 msgid "Flash mode" msgstr "چاقناش ھالىتى" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 msgid "Drive mode" msgstr "ئۈسكۈنە ھالىتى" #: src/minoltamn.cpp:512 msgid "ISO Value" msgstr "ISOقىممىتى" #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 msgid "Exposure Time" msgstr "نۇر ئۆتۈش ۋاقتى" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 #, fuzzy msgid "FNumber" msgstr "F قىممىتى" #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 #, fuzzy msgid "The F-Number" msgstr "F قىممىتى" #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 msgid "Macro Mode" msgstr "ماكرو ھالەت" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 msgid "Exposure Compensation" msgstr "يورۇتۇشنى تولۇقلاش" #: src/minoltamn.cpp:529 msgid "Bracket Step" msgstr "تەگلىك قەدىمى" #: src/minoltamn.cpp:530 msgid "Bracket step" msgstr "تەگلىك قەدىمى" #: src/minoltamn.cpp:532 msgid "Interval Length" msgstr "ئىنتېرۋال ئۇزۇنلۇقى" #: src/minoltamn.cpp:533 msgid "Interval length" msgstr "ئىنتېرۋال ئۇزۇنلۇقى" #: src/minoltamn.cpp:535 msgid "Interval Number" msgstr "ئىنتېرۋال نومۇرى" #: src/minoltamn.cpp:536 msgid "Interval number" msgstr "ئىنتېرۋال نومۇرى" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 msgid "Focus Distance" msgstr "فوكۇس ئارلىقى" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 msgid "Focus distance" msgstr "فوكۇس ئارلىقى" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 msgid "Flash Fired" msgstr "چاقماق لامپا" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 msgid "Flash fired" msgstr "چاقماق لامپا" #: src/minoltamn.cpp:547 msgid "Minolta Date" msgstr "Minoltaسانلىق مەلۇماتى" #: src/minoltamn.cpp:548 msgid "Minolta date" msgstr "Minoltaسانلىق مەلۇماتى" #: src/minoltamn.cpp:550 msgid "Minolta Time" msgstr "Minolta ۋاقتى" #: src/minoltamn.cpp:551 msgid "Minolta time" msgstr "Minolta ۋاقتى" #: src/minoltamn.cpp:556 msgid "File Number Memory" msgstr "ئەسلەڭ ھۆججەت نومۇرى" #: src/minoltamn.cpp:557 msgid "File number memory" msgstr "ئەسلەڭ ھۆججەت نومۇرى" #: src/minoltamn.cpp:559 msgid "Last Image Number" msgstr "كىيىنكى سۈرەت نومۇرى" #: src/minoltamn.cpp:560 msgid "Last image number" msgstr "كىيىنكى سۈرەت نومۇرى" #: src/minoltamn.cpp:562 msgid "Color Balance Red" msgstr "قىزىل رەڭ تەڭپۇڭلۇقى" #: src/minoltamn.cpp:563 msgid "Color balance red" msgstr "قىزىل رەڭ تەڭپۇڭلۇقى" #: src/minoltamn.cpp:565 msgid "Color Balance Green" msgstr "يېشىل رەڭ تەڭپۇڭلۇقى" #: src/minoltamn.cpp:566 msgid "Color balance green" msgstr "يېشىل رەڭ تەڭپۇڭلۇقى" #: src/minoltamn.cpp:568 msgid "Color Balance Blue" msgstr "كۆڭ رەڭ تەڭپۇڭلۇقى" #: src/minoltamn.cpp:569 msgid "Color balance blue" msgstr "كۆڭ رەڭ تەڭپۇڭلۇقى" #: src/minoltamn.cpp:580 msgid "Subject Program" msgstr "پرۇگرامما باش تېمىسى" #: src/minoltamn.cpp:581 msgid "Subject program" msgstr "پرۇگرامما باش تېمىسى" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 msgid "ISO Settings" msgstr "ISOتەڭشىكى" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 msgid "ISO setting" msgstr "ISOتەڭشىكى" #: src/minoltamn.cpp:589 msgid "Minolta Model" msgstr "Minoltaمودىلى" #: src/minoltamn.cpp:590 msgid "Minolta model" msgstr "Minoltaمودىلى" #: src/minoltamn.cpp:592 msgid "Interval Mode" msgstr "ئىنتېرۋال شەكلى" #: src/minoltamn.cpp:593 msgid "Interval mode" msgstr "ئىنتېرۋال شەكلى" #: src/minoltamn.cpp:595 msgid "Folder Name" msgstr "قىسقۇچ ئاتى" #: src/minoltamn.cpp:596 msgid "Folder name" msgstr "قىسقۇچ ئاتى" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 msgid "ColorMode" msgstr "رەڭ ھالىتى" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 msgid "Color Filter" msgstr "رەڭ سۈزگۈچ" #: src/minoltamn.cpp:602 msgid "Color filter" msgstr "رەڭ سۈزگۈچ" #: src/minoltamn.cpp:604 msgid "Black and White Filter" msgstr "رەڭسىز سۈزگۈچ" #: src/minoltamn.cpp:605 msgid "Black and white filter" msgstr "رەڭسىز سۈزگۈچ" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 msgid "Internal Flash" msgstr "ئىچكى چاقماق" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 msgid "Brightness" msgstr "يورۇقلۇق" #: src/minoltamn.cpp:613 #, fuzzy msgid "Spot Focus Point X" msgstr "فوكۇس نوقتا" #: src/minoltamn.cpp:614 #, fuzzy msgid "Spot focus point X" msgstr "فوكۇس نوقتا" #: src/minoltamn.cpp:616 #, fuzzy msgid "Spot Focus Point Y" msgstr "فوكۇس نوقتا" #: src/minoltamn.cpp:617 #, fuzzy msgid "Spot focus point Y" msgstr "فوكۇس نوقتا" #: src/minoltamn.cpp:619 msgid "Wide Focus Zone" msgstr "كەڭ فوكۇس رايۇنى" #: src/minoltamn.cpp:620 msgid "Wide focus zone" msgstr "كەڭ فوكۇس رايۇنى" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 msgid "Focus mode" msgstr "فوكۇس ھالىتى" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 msgid "Focus area" msgstr "فوكۇس دائىرىسى" #: src/minoltamn.cpp:628 #, fuzzy msgid "DEC Switch Position" msgstr "ئاپتوماتىك فوكۇس ئورنى" #: src/minoltamn.cpp:629 #, fuzzy msgid "DEC switch position" msgstr "فوكۇس ئورنى" #: src/minoltamn.cpp:631 msgid "Color Profile" msgstr "رەڭ سەپلىمە ھۆججىتى" #: src/minoltamn.cpp:632 msgid "Color profile" msgstr "رەڭ سەپلىمە ھۆججىتى" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 msgid "Data Imprint" msgstr "سانلىق مەلۇمات نەشىر ئىزاھاتى" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 msgid "Flash Metering" msgstr "مۆلچەر چاقنىشى" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 msgid "Flash metering" msgstr "مۆلچەر چاقنىشى" #: src/minoltamn.cpp:642 msgid "Unknown Minolta Camera Settings tag" msgstr "نامەلۇم Minoltaكامىرا تەڭشەك بەلگىسى" #: src/minoltamn.cpp:660 msgid "Program-shift A" msgstr "پروگرامما-shift A" #: src/minoltamn.cpp:661 msgid "Program-shift S" msgstr "پروگرامما-shift S" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 msgid "Raw+Jpeg" msgstr "RAW+JPEG" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 msgid "Kelvin" msgstr "كېلۋىن" #: src/minoltamn.cpp:695 #, fuzzy msgid "Single-shot AF" msgstr "يەككە قېتىملىق AF" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 msgid "Continuous AF" msgstr "ئۆزلۈكسىز ئاپتوماتىك فۇكۇس" #: src/minoltamn.cpp:698 msgid "Automatic AF" msgstr "ئاپتوماتىك AF" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 msgid "sRGB (Natural)" msgstr "sRGB (نورمال)" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 msgid "sRGB (Natural+)" msgstr "sRGB (نورمال+)" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 msgid "Horizontal (normal)" msgstr "توغرا يۆنىلىش(نورمال)" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "°90تەتۈر ئايلاندۇر" #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "°270تەتۈر ئايلاندۇر" #: src/minoltamn.cpp:756 msgid "AF Points" msgstr "ئاپتوماتىك فوكۇس نوقتا" #: src/minoltamn.cpp:757 msgid "AF points" msgstr "ئاپتوماتىك فوكۇس نوقتا" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 msgid "Color Space" msgstr "رەڭ بوشلۇقى" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 msgid "Color space" msgstr "رەڭ بوشلۇقى" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 msgid "Free Memory Card Images" msgstr "" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 msgid "Free memory card images" msgstr "" #: src/minoltamn.cpp:789 msgid "Hue" msgstr "رەڭگى" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 msgid "Rotation" msgstr "ئايلاندۇر" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 msgid "Image Number" msgstr "سۈرەت نومۇرى" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 msgid "Noise reduction" msgstr "شاۋقۇننى ئاجىزلىتىش" #: src/minoltamn.cpp:817 msgid "Zone Matching On" msgstr "ماس رايۇندا" #: src/minoltamn.cpp:818 msgid "Zone matching on" msgstr "ماس رايۇندا" #: src/minoltamn.cpp:822 msgid "Unknown Minolta Camera Settings 7D tag" msgstr "نامەلۇم Minolta كامىرا تەڭشىكى 7Dبەلگىسى" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 msgid "Program Shift A" msgstr "پروگرامما Shift A" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 msgid "Program Shift S" msgstr "پروگرامما Shift S" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 msgid "Night View/Portrait" msgstr "كېچىلىك /سۈرەت" #: src/minoltamn.cpp:895 msgid "200 (Zone Matching High)" msgstr "200 (يۇقۇرى ماس رايۇن)" #: src/minoltamn.cpp:896 msgid "80 (Zone Matching Low)" msgstr "80(تۆۋەن ماس رايۇن)" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 msgid "Adobe RGB (ICC)" msgstr "Adobe RGB (ICC)" #: src/minoltamn.cpp:918 msgid "Central" msgstr "ئوتتۇرا" #: src/minoltamn.cpp:919 msgid "Up" msgstr "ئۈستى" #: src/minoltamn.cpp:920 msgid "Up right" msgstr "ئوڭ ئۈستى" #: src/minoltamn.cpp:922 msgid "Down right" msgstr "ئوڭ ئاستى" #: src/minoltamn.cpp:923 msgid "Down" msgstr "ئاستى" #: src/minoltamn.cpp:924 msgid "Down left" msgstr "سول ئاستى" #: src/minoltamn.cpp:926 msgid "Up left" msgstr "سول ئۈستى" #: src/minoltamn.cpp:932 msgid "Selection" msgstr "تاللاش" #: src/minoltamn.cpp:947 msgid "Natural+" msgstr "تەبىئىي+" #: src/minoltamn.cpp:949 msgid "Wind Scene" msgstr "شامال مەنزىرىسى" #: src/minoltamn.cpp:950 msgid "Evening Scene" msgstr "كىچە مەنزىرىسى" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus Position" msgstr "فوكۇس ئورنى" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus position" msgstr "فوكۇس ئورنى" #: src/minoltamn.cpp:1003 msgid "Focus Area" msgstr "فوكۇس دائىرىسى" #: src/minoltamn.cpp:1036 msgid "Exposure Revision" msgstr "نورلاندۇرۇشنى تۈزىتىش" #: src/minoltamn.cpp:1037 msgid "Exposure revision" msgstr "نورلاندۇرۇشنى تۈزىتىش" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 msgid "Rotation2" msgstr "ئايلاندۇرۇش 2" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 msgid "Picture Finish" msgstr "رەسىم تاماملاش" #: src/minoltamn.cpp:1063 msgid "Exposure Manual Bias" msgstr "نۇر ئۆتۈش ئېغىشى قوللانچىسى" #: src/minoltamn.cpp:1064 msgid "Exposure manual bias" msgstr "نۇر ئۆتۈش ئېغىشى قوللانچىسى" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 msgid "AF Mode" msgstr "فوكۇسنى ئاپتوماتىك تەكشەش ھالىتى" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 msgid "AF mode" msgstr "فوكۇسنى ئاپتوماتىك تەكشەش ھالىتى" #: src/minoltamn.cpp:1087 msgid "Unknown Minolta Camera Settings 5D tag" msgstr "نامەلۇم Minoltaكامىرا تەڭشىكى 5Dبەلگىسى" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 #, fuzzy msgid "Self-timer 10 sec" msgstr "ئۆزى تارتىش ۋاقىت بەلگىلىگۈچى" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 #, fuzzy msgid "Self-timer 2 sec" msgstr "ئۆزى تارتىش ۋاقىت بەلگىلىگۈچى" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 msgid "White Balance Bracketing Low" msgstr "ئاق تەڭپۇڭلۇق قورشىشى تۆۋەن" #: src/minoltamn.cpp:1105 msgid "White Balance Bracketing High" msgstr "ئاق تەڭپۇڭلۇق قورشىشى يۇقۇرى" #: src/minoltamn.cpp:1106 msgid "Single-frame Bracketing Low" msgstr "يەككە كاندۇك قورشىشى تۆۋەن" #: src/minoltamn.cpp:1107 msgid "Continuous Bracketing Low" msgstr "ئۆزلۈكسىز قورشىشى تۆۋەن" #: src/minoltamn.cpp:1108 msgid "Single-frame Bracketing High" msgstr "يەككە كاندۇك قورشىشى يۇقۇرى" #: src/minoltamn.cpp:1109 msgid "Continuous Bracketing High" msgstr "ئۆزلۈكسىز قورشىشى يۇقۇرى" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "ئالىي" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 msgid "Continuous Bracketing" msgstr "ئۆزلۈكسىز قورشىشى" #: src/minoltamn.cpp:1156 msgid "Single-Frame Bracketing" msgstr "يەككە كاندۇك قورشىشى" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 msgid "White Balance Bracketing" msgstr "ئاق تەڭپۇڭلۇق قورشىشى" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 msgid "Preset" msgstr "تەڭشە:" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 msgid "Color Temperature/Color Filter" msgstr "رەڭلىك تېمپېراتۇرا/رەڭ سۈزگۈچ" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 msgid "Temperature" msgstr "تېمپېراتۇرا" #: src/minoltamn.cpp:1213 msgid "Setup" msgstr "ئورنات" #: src/minoltamn.cpp:1214 msgid "Recall" msgstr "" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "تامام" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "خاتالىق" #: src/minoltamn.cpp:1232 msgid "Image and Information" msgstr "سۈرەت ۋە ئۇچۇر" #: src/minoltamn.cpp:1233 msgid "Image Only" msgstr "سۈرەتلا" #: src/minoltamn.cpp:1234 msgid "Image and Histogram" msgstr "سۈرەت ۋە (كاتەكسىمان)" #: src/minoltamn.cpp:1240 msgid "Fill Flash" msgstr "نۇر تولۇقلاش" #: src/minoltamn.cpp:1251 msgid "Focus Hold" msgstr "فوكۇسنى ساقلاپ قېلىش" #: src/minoltamn.cpp:1252 msgid "DOF Preview" msgstr "DOFئالدىن كۈزىتىش" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "كۈتۈش" #: src/minoltamn.cpp:1258 msgid "Toggle" msgstr "ئالماشتۇر" #: src/minoltamn.cpp:1259 msgid "Spot Hold" msgstr "ساقلاپ قېلىنغان نوقتا" #: src/minoltamn.cpp:1260 msgid "Spot Toggle" msgstr "نوقتا تۈگۈنى" #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 msgid "Shutter Speed" msgstr "قاپقاق تېزلىكى" #: src/minoltamn.cpp:1271 msgid "Ambient and Flash" msgstr "ئەتراپ ۋە چاقناش" #: src/minoltamn.cpp:1272 msgid "Ambient Only" msgstr "ئەتراپلا" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "0.3 سېكۇنت" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "0.6سېكۇنت" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 msgid "Automatic" msgstr "ئاپتوماتىك" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 msgid "Auto-rotate" msgstr "ئاپتوماتىك ئايلاندۇرۇش" #: src/minoltamn.cpp:1291 msgid "Horizontal" msgstr "توغرا يۆنىلىش" #: src/minoltamn.cpp:1297 msgid "Manual Rotate" msgstr "قولىدا ئايلاندۇرۇش" #: src/minoltamn.cpp:1302 msgid "Within Range" msgstr "دائىرە ئىچىدە" #: src/minoltamn.cpp:1303 msgid "Under/Over Range" msgstr "ئاستى/دائىرە ئۈستىدە" #: src/minoltamn.cpp:1304 msgid "Out of Range" msgstr "دائىرە سىرتىدا" #: src/minoltamn.cpp:1309 msgid "Not Indicated" msgstr "ئەسكەرتىلمىگەن" #: src/minoltamn.cpp:1310 msgid "Under Scale" msgstr "ئۈستۈنكى نىسبەت" #: src/minoltamn.cpp:1311 msgid "Bottom of Scale" msgstr "نىسبەت ئاخىرى" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "نىسبەت ئۈستى" #: src/minoltamn.cpp:1330 msgid "Over Scale" msgstr "نىسبەت ئۈستىدە" #: src/minoltamn.cpp:1335 msgid "AM" msgstr "چ ب" #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "MF" #: src/minoltamn.cpp:1342 msgid "Built-in" msgstr "ئىچكى" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 msgid "Very Low" msgstr "بەك تۆۋەن" #: src/minoltamn.cpp:1350 msgid "Half Full" msgstr "يېرىمى توشتى" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "قالغان توك يېتەرلىك" #: src/minoltamn.cpp:1359 msgid "Exposure Compensation Setting" msgstr "يورۇتۇشنى تولۇقلاش تەڭشىكى" #: src/minoltamn.cpp:1360 msgid "Exposure compensation setting" msgstr "يورۇتۇشنى تولۇقلاش تەڭشىكى" #: src/minoltamn.cpp:1362 msgid "High Speed Sync" msgstr "يۇقۇرى سۈرئەتنى قەدەمداشلاش" #: src/minoltamn.cpp:1363 msgid "High speed sync" msgstr "يۇقۇرى سۈرئەتنى قەدەمداشلاش" #: src/minoltamn.cpp:1365 msgid "Manual Exposure Time" msgstr "قولىدا نۇر ئۆتكۈزۈش ۋاقتى" #: src/minoltamn.cpp:1366 msgid "Manual exposure time" msgstr "قولىدا نۇر ئۆتكۈزۈش ۋاقتى" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 #, fuzzy msgid "Manual FNumber" msgstr "ئىنتېرۋال نومۇرى" #: src/minoltamn.cpp:1377 msgid "Drive Mode 2" msgstr "ئۈسكۈنە ھالىتى2" #: src/minoltamn.cpp:1378 msgid "Drive mode 2" msgstr "ئۈسكۈنە ھالىتى2" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "يەرلىك AF دائىرە نوقتا" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 msgid "AF Area Mode" msgstr "AFدائىرە ھالىتى" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 msgid "FlashMode" msgstr "چاقناش ھالىتى" #: src/minoltamn.cpp:1395 #, fuzzy msgid "Flash Exposure Comp Setting" msgstr "تولۇقلاپ چاقناپ نۇر ئۆتكۈزۈش" #: src/minoltamn.cpp:1396 #, fuzzy msgid "Flash exposure compensation setting" msgstr "يورۇتۇشنى تولۇقلاش تەڭشىكى" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 msgid "ISO Setting" msgstr "ISOتەڭشىكى" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 msgid "Zone Matching Mode" msgstr "ماس رايۇن ھالىتى" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 msgid "Dynamic Range Optimizer Mode" msgstr "ھەركەتچان دائىرەنى ئەلالاشتۇرۇش مودىلى" #: src/minoltamn.cpp:1408 msgid "Dynamic range optimizer mode" msgstr "ھەركەتچان دائىرەنى ئەلالاشتۇرۇش مودىلى" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "" #: src/minoltamn.cpp:1434 #, fuzzy msgid "Self Timer Time" msgstr "ئۆزىدىكى ۋاقىت" #: src/minoltamn.cpp:1435 #, fuzzy msgid "Self timer time" msgstr "ئۆزىدىكى ۋاقىت" #: src/minoltamn.cpp:1438 msgid "Continuous bracketing" msgstr "ئۆزلۈكسىز قورشىشى" #: src/minoltamn.cpp:1440 msgid "Single Frame Bracketing" msgstr "يەككە كاندۇك قورشىشى" #: src/minoltamn.cpp:1441 msgid "Single frame bracketing" msgstr "يەككە كاندۇك قورشىشى" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 msgid "White balance bracketing" msgstr "ئاق تەڭپۇڭلۇق قورشىشى" #: src/minoltamn.cpp:1446 msgid "White Balance Setting" msgstr "ئاق تەڭپۇڭلۇق تەڭشىكى" #: src/minoltamn.cpp:1449 msgid "Preset White Balance" msgstr "ئاق تەڭپۇڭلۇقنى ئالدىن تەڭشەش" #: src/minoltamn.cpp:1450 msgid "Preset white balance" msgstr "ئاق تەڭپۇڭلۇقنى ئالدىن تەڭشەش" #: src/minoltamn.cpp:1452 msgid "Color Temperature Setting" msgstr "رەڭلىك تېمپېراتۇرا تەڭشىكى" #: src/minoltamn.cpp:1453 msgid "Color temperature setting" msgstr "رەڭلىك تېمپېراتۇرا تەڭشىكى" #: src/minoltamn.cpp:1455 msgid "Custom WB Setting" msgstr "ئىختىيارى ئاق تەڭپۇڭلۇق تەڭشەكى" #: src/minoltamn.cpp:1456 msgid "Custom WB setting" msgstr "ئىختىيارى ئاق تەڭپۇڭلۇق تەڭشەكى" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 msgid "Dynamic Range Optimizer Settings" msgstr "ھەركەتچان دائىرەنى ئەلالاشتۇرۇش تەڭشىكى" #: src/minoltamn.cpp:1464 msgid "Custom WB Red Level" msgstr "ئىختىيارى ئاق تەڭپۇڭلۇق قىزىل رەڭ دەرىجىسى" #: src/minoltamn.cpp:1465 msgid "Custom WB red level" msgstr "ئىختىيارى ئاق تەڭپۇڭلۇق قىزىل رەڭ دەرىجىسى" #: src/minoltamn.cpp:1467 msgid "Custom WB Green Level" msgstr "ئىختىيارى ئاق تەڭپۇڭلۇق يېشىل رەڭ دەرىجىسى" #: src/minoltamn.cpp:1468 msgid "Custom WB green level" msgstr "ئىختىيارى ئاق تەڭپۇڭلۇق يېشىل رەڭ دەرىجىسى" #: src/minoltamn.cpp:1470 msgid "Custom WB Blue Level" msgstr "ئىختىيارى ئاق تەڭپۇڭلۇق كۆك رەڭ دەرىجىسى" #: src/minoltamn.cpp:1471 msgid "CustomWB blue level" msgstr "ئىختىيارى ئاق تەڭپۇڭلۇق كۆك رەڭ دەرىجىسى" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 msgid "Custom WB Error" msgstr "ئىختىيارى ئاق تەڭپۇڭلۇق خاتالىقى" #: src/minoltamn.cpp:1477 msgid "White balance fine tune" msgstr "ئاق تەڭپۇڭلۇقنى مىكرو تەڭشەش" #: src/minoltamn.cpp:1483 msgid "Color compensation filter" msgstr "رەڭ تولدۇرۇش سۈزگۈچى" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 msgid "Sony Image Size" msgstr "Sony سۈرەت چوڭلۇقى" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "ھازىر قويۇش ۋاقتى" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "قۇلاي قويۇش ۋاقتى" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "قۇلاي قويۇشنى ئورنىتىش" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "قۇلاي قويۇشنى ئورنىتىش" #: src/minoltamn.cpp:1500 msgid "Eye Start AF" msgstr "" #: src/minoltamn.cpp:1501 #, fuzzy msgid "Eye start AF" msgstr "يەككە قېتىملىق AF" #: src/minoltamn.cpp:1503 msgid "Red Eye Reduction" msgstr "قىزىل كۆزنى تۆۋەنلىتىش" #: src/minoltamn.cpp:1504 msgid "Red eye reduction" msgstr "قىزىل كۆزنى تۆۋەنلىتىش" #: src/minoltamn.cpp:1506 msgid "Flash Default" msgstr "كۆڭۈلدىكى چاقناش" #: src/minoltamn.cpp:1507 msgid "Flash default" msgstr "كۆڭۈلدىكى چاقناش" #: src/minoltamn.cpp:1509 msgid "Auto Bracket Order" msgstr "تەگلىك تەرتىپى ئاپتوماتىك" #: src/minoltamn.cpp:1510 msgid "Auto bracket order" msgstr "تەگلىك تەرتىپى ئاپتوماتىك" #: src/minoltamn.cpp:1512 msgid "Focus Hold Button" msgstr "فوكۇسنى ساقلاپ قېلىش توپچىسى" #: src/minoltamn.cpp:1513 msgid "Focus hold button" msgstr "فوكۇسنى ساقلاپ قېلىش توپچىسى" #: src/minoltamn.cpp:1515 msgid "AEL Button" msgstr "AELتوپچىسى" #: src/minoltamn.cpp:1516 msgid "AEL button" msgstr "AELتوپچىسى" #: src/minoltamn.cpp:1518 #, fuzzy msgid "Control Dial Set" msgstr "باشقۇرۇش يۈزىنى تەڭشەش" #: src/minoltamn.cpp:1519 msgid "Control dial set" msgstr "باشقۇرۇش يۈزىنى تەڭشەش" #: src/minoltamn.cpp:1521 msgid "Exposure Compensation Mode" msgstr "يورۇتۇشنى تولۇقلاش مودىلى" #: src/minoltamn.cpp:1522 msgid "Exposure compensation mode" msgstr "يورۇتۇشنى تولۇقلاش مودىلى" #: src/minoltamn.cpp:1525 msgid "AF assist" msgstr "ياردەمچى ئاپتوماتىك فۇكۇس" #: src/minoltamn.cpp:1527 msgid "Card Shutter Lock" msgstr "كارتا زاتۇر قۇلۇپى" #: src/minoltamn.cpp:1528 msgid "Card shutter lock" msgstr "كارتا زاتۇر قۇلۇپى" #: src/minoltamn.cpp:1530 msgid "Lens Shutter Lock" msgstr "لىنزا زاتۇر قۇلۇپى" #: src/minoltamn.cpp:1531 msgid "Lens shutter lock" msgstr "لىنزا زاتۇر قۇلۇپى" #: src/minoltamn.cpp:1533 msgid "AF Area Illumination" msgstr "ئاپتوماتىك فوكۇس يورۇتۇش دائىرىسى" #: src/minoltamn.cpp:1534 msgid "AF area illumination" msgstr "ئاپتوماتىك فوكۇس يورۇتۇش دائىرىسى" #: src/minoltamn.cpp:1536 msgid "Monitor Display Off" msgstr "كۈزەتكۈچ كۆرسىتىش ئېتىك" #: src/minoltamn.cpp:1537 msgid "Monitor display off" msgstr "كۈزەتكۈچ كۆرسىتىش ئېتىك" #: src/minoltamn.cpp:1539 msgid "Record Display" msgstr "خاتىرىنى كۆرسىتىش" #: src/minoltamn.cpp:1540 msgid "Record display" msgstr "خاتىرىنى كۆرسىتىش" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "قويۇشنى كۆرسىتىش" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "قويۇشنى كۆرسىتىش" #: src/minoltamn.cpp:1545 msgid "Exposure Indicator" msgstr "نۇرلاندۇرۇش كۆرسەتكۈچى" #: src/minoltamn.cpp:1546 msgid "Exposure indicator" msgstr "نۇرلاندۇرۇش كۆرسەتكۈچى" #: src/minoltamn.cpp:1548 msgid "AEL Exposure Indicator" msgstr "AELنۇرلاندۇرۇش كۆرسەتكۈچى" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "" #: src/minoltamn.cpp:1551 #, fuzzy msgid "Exposure Bracketing Indicator Last" msgstr "نۇرلاندۇرۇش كۆرسەتكۈچى" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "" #: src/minoltamn.cpp:1557 #, fuzzy msgid "Flash Exposure Indicator" msgstr "نۇرلاندۇرۇش كۆرسەتكۈچى" #: src/minoltamn.cpp:1558 #, fuzzy msgid "Flash exposure indicator" msgstr "نۇرلاندۇرۇش كۆرسەتكۈچى" #: src/minoltamn.cpp:1560 #, fuzzy msgid "Flash Exposure Indicator Next" msgstr "نۇرلاندۇرۇش كۆرسەتكۈچى" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1563 #, fuzzy msgid "Flash Exposure Indicator Last" msgstr "نۇرلاندۇرۇش كۆرسەتكۈچى" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1569 #, fuzzy msgid "Focus Mode Switch" msgstr "فوكۇس ھالىتى" #: src/minoltamn.cpp:1570 #, fuzzy msgid "Focus mode switch" msgstr "فوكۇس ھالىتى تەڭشىكى" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 #, fuzzy msgid "Flash Type" msgstr "چاقناش ھالىتى" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 #, fuzzy msgid "Flash type" msgstr "چاقناش ھالىتى" #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 msgid "AE Lock" msgstr "AE قولۇپى" #: src/minoltamn.cpp:1585 #, fuzzy msgid "Color compensation filter: negative is green, positive is magenta" msgstr "رەڭ تولدۇرۇش سۈزگۈچى:نېگاتىپ يېشىل، ئۇدۇلدىن ئاچ ھالرەڭ" #: src/minoltamn.cpp:1587 src/tags.cpp:766 msgid "Battery Level" msgstr "توكدان دەرىجىسى" #: src/minoltamn.cpp:1588 msgid "Battery level" msgstr "توكداننىڭ توكى" #: src/minoltamn.cpp:1592 #, fuzzy msgid "Unknown Sony Camera Settings A100 tag" msgstr "نامەلۇم Canon كامىراسى 1گە تەڭشەلگەن" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 msgid "Clear" msgstr "تازىلا" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 msgid "Deep" msgstr "چوڭقۇرلۇقى" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 msgid "Light" msgstr "ئاق" #: src/minoltamn.cpp:1950 msgid "Night View" msgstr "كېچىلىك كۆرۈنۈش" #: src/minoltamn.cpp:1951 msgid "Autumn Leaves" msgstr "كۈز ياپرىقى" #: src/minoltamn.cpp:1990 msgid "Local" msgstr "يەرلىك" #: src/minoltamn.cpp:2005 msgid "Top-Right" msgstr "ئوڭ ئۇستى" #: src/minoltamn.cpp:2007 msgid "Bottom-Right" msgstr "تۆۋەن ئوڭ" #: src/minoltamn.cpp:2009 msgid "Bottom-Left" msgstr "سول ئاستى" #: src/minoltamn.cpp:2011 msgid "Top-Left" msgstr "سول ئۇستى" #: src/minoltamn.cpp:2012 msgid "Far-Right" msgstr "ئوڭ-يىراق" #: src/minoltamn.cpp:2013 msgid "Far-Left" msgstr "سول - يىراق" #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 msgid "Advanced Auto" msgstr "ئالىي ئاپتوماتىك" #: src/minoltamn.cpp:2028 msgid "Advanced Level" msgstr "ئالىي دەرىجە" #: src/minoltamn.cpp:2041 msgid "AF" msgstr "فوكۇس ئاپتوماتىك" #: src/minoltamn.cpp:2042 msgid "Release" msgstr "تارقاتقۇچى" #: src/minoltamn.cpp:2054 msgid "RAW " msgstr "تەبىئىي " #: src/minoltamn.cpp:2055 msgid "CRAW " msgstr "CRAW " #: src/minoltamn.cpp:2058 msgid "RAW+JPEG" msgstr "RAW+JPEG" #: src/minoltamn.cpp:2059 msgid "CRAW+JPEG" msgstr "CRAW+JPEG" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "JPEGتەبىئىي+Raw" #: src/minoltamn.cpp:2116 msgid "Compressed Raw" msgstr "تەبىئىي پىرىسلانغان" #: src/minoltamn.cpp:2117 msgid "Compressed Raw + JPEG" msgstr "تەبىئىي پىرىسلانغان+JPEG" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "D) AF 2x APO" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "Minolta AF 2x APO II" #: src/minoltamn.cpp:2132 #, fuzzy msgid "Minolta AF 1.4x APO (D)" msgstr "D) AF 2x APO" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "Minolta AF 1.4x APO (D)" #: src/minoltamn.cpp:2163 msgid "ISO Setting Used" msgstr "ISOتەڭشىكى ئىشلىتىدى" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 msgid "High Key" msgstr "يۇقۇرىقى كونۇپكا" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "تۆۋەنكى كونۇپكا" #: src/nikonmn.cpp:80 msgid "Extra High" msgstr "ئارتۇقچە يۇقۇرى" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 msgid "Single area" msgstr "يەككە رايۇن" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 msgid "Dynamic area" msgstr "ھەركەتچان رايۇن" #: src/nikonmn.cpp:88 msgid "Dynamic area, closest subject" msgstr "ھەركەتچان رايۇن، يېقىنقى تارتىلغان ئوبىكىت" #: src/nikonmn.cpp:89 msgid "Group dynamic" msgstr "ھەركەتچان گورۇپپا" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 msgid "Single area (wide)" msgstr "يەككە رايۇن(كەڭ)" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 msgid "Dynamic area (wide)" msgstr "ھەركەتچان رايۇن (كەڭ)" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 msgid "Upper-left" msgstr "ئۈستۈنكى - سول" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 msgid "Upper-right" msgstr "ئۈستۈنكى - ئوڭ" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 msgid "Lower-left" msgstr "تۆۋەنكى - سول" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 msgid "Lower-right" msgstr "تۆۋەنكى - ئوڭ" #: src/nikonmn.cpp:108 msgid "Left-most" msgstr "ئەڭ- سول" #: src/nikonmn.cpp:109 msgid "Right-most" msgstr "ئەڭ ئوڭ" #: src/nikonmn.cpp:143 msgid "Fire, manual" msgstr "ئوت، قولىدا" #: src/nikonmn.cpp:144 msgid "Fire, external" msgstr "ئوت، سىرىتقى" #: src/nikonmn.cpp:145 msgid "Fire, commander mode" msgstr "ئوت، قۇماندا ھالىتى" #: src/nikonmn.cpp:146 msgid "Fire, TTL mode" msgstr "ئوت، TTLھالىتى" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 msgid "Delay" msgstr "كېچىكتۈر" #: src/nikonmn.cpp:153 #, fuzzy msgid "PC Control" msgstr "كومپيۇتىر نى باشقۇرۇش" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 #, fuzzy msgid "Exposure Bracketing" msgstr "نۇرلاندۇرۇش قورشىشى" #: src/nikonmn.cpp:156 msgid "Auto ISO" msgstr "ئاپتوماتىك ISO" #: src/nikonmn.cpp:157 #, fuzzy msgid "White-Balance Bracketing" msgstr "ئاق تەڭپۇڭلۇق قورشىشى" #: src/nikonmn.cpp:158 #, fuzzy msgid "IR Control" msgstr "IRكونترولى" #: src/nikonmn.cpp:159 #, fuzzy msgid "D-Lighting Bracketing" msgstr "ئۆزلۈكسىز قورشىشى" #: src/nikonmn.cpp:166 msgid "PC control" msgstr "كومپيۇتىر نى باشقۇرۇش" #: src/nikonmn.cpp:167 msgid "Exposure bracketing" msgstr "نۇرلاندۇرۇش قورشىشى" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "LE-NRنى ئاستىلىتىش ئىشلىتىلمىگەن" #: src/nikonmn.cpp:170 msgid "IR control" msgstr "IRكونترولى" #: src/nikonmn.cpp:176 msgid "Auto release" msgstr "ئۆزلۈكىدىن قويۇپ بېرىش" #: src/nikonmn.cpp:177 msgid "Manual release" msgstr "قولىدا قويۇپ بېرىش" #: src/nikonmn.cpp:182 msgid "Lossy (type 1)" msgstr "خورايدىغان(تىپ 1)" #: src/nikonmn.cpp:183 src/tags.cpp:251 msgid "Uncompressed" msgstr "پرېسلانمىغان" #: src/nikonmn.cpp:184 msgid "Lossless" msgstr "خورىماس" #: src/nikonmn.cpp:185 msgid "Lossy (type 2)" msgstr "خورايدىغان(تىپ 2)" #: src/nikonmn.cpp:191 msgid "B & W" msgstr "B & W" #: src/nikonmn.cpp:193 msgid "Trim" msgstr "كەس" #: src/nikonmn.cpp:194 msgid "Small picture" msgstr "كىچىك رەسىم" #: src/nikonmn.cpp:195 msgid "D-Lighting" msgstr "يورۇت-D" #: src/nikonmn.cpp:196 msgid "Red eye" msgstr "قىزىل كۆز" #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 #, fuzzy msgid "Cyanotype" msgstr "تىپى" #: src/nikonmn.cpp:198 msgid "Sky light" msgstr "يورۇق ئاسمان" #: src/nikonmn.cpp:199 msgid "Warm tone" msgstr "ئىللىق تۈس" #: src/nikonmn.cpp:200 msgid "Color custom" msgstr "ئىختىيارى رەڭ" #: src/nikonmn.cpp:201 msgid "Image overlay" msgstr "سۈرەت دەستىلەش" #: src/nikonmn.cpp:207 msgid "Minimal" msgstr "ئەڭ كىچىك" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 msgid "Nikon Makernote version" msgstr "Nikon زاۋۇت ئىزاھاتى نەشىرى" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 msgid "ISO Speed" msgstr "ISO تېزلىكى" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 msgid "Sharpening" msgstr "رۇشەنلەشتۈرۈش" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 msgid "Image sharpening setting" msgstr "سۈرەتنى رۈشەنلەشتۈرۈش تەڭشىكى" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 msgid "Focus" msgstr "فوكۇس" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 msgid "Flash Setting" msgstr "چاقناش تەڭشىكى" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 msgid "Flash setting" msgstr "چاقناش تەڭشىكى" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 msgid "ISO Selection" msgstr "تاللىغان ISO" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 msgid "ISO selection" msgstr "تاللىغان ISO" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data Dump" msgstr "سانلىق مەلۇمات تۆكمىسى" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 msgid "Data dump" msgstr "سانلىق مەلۇمات تۆكمىسى" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 msgid "Image Adjustment" msgstr "سۈرەت تەڭشىلىشى" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 msgid "Image adjustment setting" msgstr "سۈرەت تەڭشىلىش تەڭشىكى" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "قوشۇمچە لىنزا" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 msgid "Auxiliary lens (adapter)" msgstr "قوشۇمچە لىنزا (ماسلاشتۇرغۇچ)" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 msgid "Manual focus distance" msgstr "فوكۇسنى قولىدا تەڭشەش ئارلىقى" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 msgid "Digital zoom setting" msgstr "رەقەملىك كېڭەيتىش تارايتىش تەڭشىكى" #: src/nikonmn.cpp:260 msgid "AF Focus Position" msgstr "ئاپتوماتىك فوكۇس ئورنى" #: src/nikonmn.cpp:261 msgid "AF focus position information" msgstr "ئاپتوماتىك فوكۇس ئورنى ئۇچۇرى" #: src/nikonmn.cpp:265 msgid "Unknown Nikon1MakerNote tag" msgstr "نامەلۇم Nikon1 زاۋۇت ئىزاھاتى بەلگىسى" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 msgid "Continuous autofocus" msgstr "ئۆزلۈكسىز ئاپتوماتىك فوكۇس" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 msgid "Single autofocus" msgstr "يەككە ئاپتوماتىك فوكۇس" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 msgid "Not used" msgstr "ئىشلىتىلمىگەن" #: src/nikonmn.cpp:371 msgid "guess" msgstr "مۆلچەر" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "ئاساسى VGA" #: src/nikonmn.cpp:419 msgid "VGA Normal" msgstr "نورمال VGA" #: src/nikonmn.cpp:420 msgid "VGA Fine" msgstr "ئالاھىدە VGA" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "ئاساسىي SXGA" #: src/nikonmn.cpp:422 msgid "SXGA Normal" msgstr "نورمال SXGA" #: src/nikonmn.cpp:423 msgid "SXGA Fine" msgstr "ئالاھىدە SXGA" #: src/nikonmn.cpp:435 msgid "Bright+" msgstr "ئوچۇق+" #: src/nikonmn.cpp:436 msgid "Bright-" msgstr "ئوچۇق-" #: src/nikonmn.cpp:437 msgid "Contrast+" msgstr "سېلىشتۇرما دەرىجە+" #: src/nikonmn.cpp:438 msgid "Contrast-" msgstr "سېلىشتۇرما دەرىجە-" #: src/nikonmn.cpp:457 msgid "Speedlight" msgstr "يالتىراق لامپا" #: src/nikonmn.cpp:497 msgid "Unknown Nikon2MakerNote tag" msgstr "نامەلۇم Nikon2زاۋۇت ئىزاھاتى بەلگىسى" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 msgid "Flash Device" msgstr "Flashئۈسكۈنىسى" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 msgid "Flash device" msgstr "Flashئۈسكۈنىسى" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 msgid "White Balance Bias" msgstr "ئاق تەڭپۇڭلۇق ئېغىشى" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 msgid "White balance bias" msgstr "ئاق تەڭپۇڭلۇق ئېغىشى" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB Levels" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 msgid "WB RB levels" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/nikonmn.cpp:544 msgid "Program Shift" msgstr "پرۇگرامما Shift" #: src/nikonmn.cpp:544 msgid "Program shift" msgstr "پرۇگرامما Shift" #: src/nikonmn.cpp:545 msgid "Exposure Difference" msgstr "يورۇتۇش پەرقى" #: src/nikonmn.cpp:545 msgid "Exposure difference" msgstr "يورۇتۇش پەرقى" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 msgid "Pointer to a preview image" msgstr "نۇر بەلگە ئارقىلىق سۈرەتنى ئالدىن كۈزىتىش" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 msgid "Offset to an IFD containing a preview image" msgstr "" #: src/nikonmn.cpp:549 #, fuzzy msgid "Flash Comp" msgstr "چاقناش چىرىقى ئېتىك" #: src/nikonmn.cpp:549 msgid "Flash compensation setting" msgstr "چاقناشنى تولۇقلاش تەڭشىكى" #: src/nikonmn.cpp:551 msgid "Image Boundary" msgstr "سۈرەت چىگرىسى" #: src/nikonmn.cpp:551 msgid "Image boundary" msgstr "سۈرەت چىگرىسى" #: src/nikonmn.cpp:552 #, fuzzy msgid "Flash exposure comp" msgstr "چاقناپ نۇر ئۆتكۈزۈش قۇلۇپى" #: src/nikonmn.cpp:553 #, fuzzy msgid "Flash Bracket Comp" msgstr "ئاق تەڭپۇڭلۇق سېلىشتۇرمىسى" #: src/nikonmn.cpp:553 #, fuzzy msgid "Flash bracket compensation applied" msgstr "چاقناشنى تولۇقلاش تەڭشىكى" #: src/nikonmn.cpp:554 #, fuzzy msgid "Exposure Bracket Comp" msgstr "نۇرلاندۇرۇش قورشىشى" #: src/nikonmn.cpp:554 #, fuzzy msgid "AE bracket compensation applied" msgstr "يورۇتۇشنى تولۇقلاش قىممىتى" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 msgid "Image Processing" msgstr "سۈرەتچىلىك" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 msgid "Image processing" msgstr "سۈرەتچىلىك" #: src/nikonmn.cpp:556 msgid "Crop High Speed" msgstr "تىز سۈرئەتتە كەس" #: src/nikonmn.cpp:556 msgid "Crop high speed" msgstr "تىز سۈرئەتتە كەس" #: src/nikonmn.cpp:557 msgid "Exposure Tuning" msgstr "نۇرلەندۈرۈشنى تەڭشەش" #: src/nikonmn.cpp:557 msgid "Exposure tuning" msgstr "نۇرلەندۈرۈشنى تەڭشەش" #: src/nikonmn.cpp:560 msgid "VR Info" msgstr "VRئۇچۇرى" #: src/nikonmn.cpp:560 msgid "VR info" msgstr "VRئۇچۇرى" #: src/nikonmn.cpp:561 msgid "Image Authentication" msgstr "سۈرەت دەلىللەش" #: src/nikonmn.cpp:561 msgid "Image authentication" msgstr "سۈرەت دەلىللەش" #: src/nikonmn.cpp:562 #, fuzzy msgid "ActiveD-Lighting" msgstr "يورۇت-D" #: src/nikonmn.cpp:562 #, fuzzy msgid "ActiveD-lighting" msgstr "يورۇت-D" #: src/nikonmn.cpp:563 msgid "Picture Control" msgstr "رەسىم تىزگىنى" #: src/nikonmn.cpp:563 msgid " Picture control" msgstr " رەسىم تىزگىنى" #: src/nikonmn.cpp:564 src/properties.cpp:1387 msgid "World Time" msgstr "دۇنيا ۋاقتى" #: src/nikonmn.cpp:564 msgid "World time" msgstr "دۇنيا ۋاقتى" #: src/nikonmn.cpp:565 msgid "ISO Info" msgstr "ISOئۇچۇرى" #: src/nikonmn.cpp:565 msgid "ISO info" msgstr "ISOئۇچۇرى" #: src/nikonmn.cpp:566 msgid "Vignette Control" msgstr "قىستۇرما سۈرەت تىزگىنى" #: src/nikonmn.cpp:566 msgid "Vignette control" msgstr "قىستۇرما سۈرەت تىزگىنى" #: src/nikonmn.cpp:568 msgid "Tone Compensation" msgstr "تولۇقلاش تۈسى" #: src/nikonmn.cpp:568 msgid "Tone compensation" msgstr "تولۇقلاش تۈسى" #: src/nikonmn.cpp:574 msgid "Mode of flash used" msgstr "چاقناشنى ئىشلىتىش ھالىتى" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 #, fuzzy msgid "Shooting Mode" msgstr "رەسىمگە تارتىش يىتەكچىسى" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 #, fuzzy msgid "Shooting mode" msgstr "رەسىمگە تارتىش يىتەكچىسى" #: src/nikonmn.cpp:577 msgid "Auto Bracket Release" msgstr "تەگلىكنى ئۆزلۈكىدىن نۇرلاندۇرۇش" #: src/nikonmn.cpp:577 msgid "Auto bracket release" msgstr "تەگلىكنى ئۆزلۈكىدىن نۇرلاندۇرۇش" #: src/nikonmn.cpp:578 #, fuzzy msgid "Lens FStops" msgstr "لىنزا تىپى" #: src/nikonmn.cpp:579 msgid "Contrast Curve" msgstr "ئەگرىلىكىنى سېلىشتۇر" #: src/nikonmn.cpp:579 msgid "Contrast curve" msgstr "ئەگرىلىكىنى سېلىشتۇر" #: src/nikonmn.cpp:580 msgid "Color Hue" msgstr "رەڭ فازىسى" #: src/nikonmn.cpp:580 msgid "Color hue" msgstr "رەڭ فازىسى" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 msgid "Scene mode" msgstr "نەخ مەيدان ھالىتى" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 msgid "Light Source" msgstr "يورۇقلۇق مەنبەسى" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 msgid "Light source" msgstr "يورۇقلۇق مەنبەسى" #: src/nikonmn.cpp:583 msgid "Shot info" msgstr "رەسىمگە تارتىش ئۇچۇرى" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 msgid "Hue Adjustment" msgstr "رەڭ فازىزسىنى تەڭشەش" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 msgid "Hue adjustment" msgstr "رەڭ فازىسىنى تەڭشەش" #: src/nikonmn.cpp:585 msgid "NEF Compression" msgstr "NEFپرىسلاش" #: src/nikonmn.cpp:585 msgid "NEF compression" msgstr "NEFپرىسلاش" #: src/nikonmn.cpp:588 src/tags.cpp:905 msgid "Linearization Table" msgstr "سىزىقلىق جەدۋەل" #: src/nikonmn.cpp:588 msgid "Linearization table" msgstr "سىزىقلىق جەدۋەل" #: src/nikonmn.cpp:589 msgid "Color Balance" msgstr "رەڭ تەڭپۇڭى" #: src/nikonmn.cpp:589 msgid "Color balance" msgstr "رەڭ تەڭپۇڭى" #: src/nikonmn.cpp:590 msgid "Lens Data" msgstr "لىنزا سانلىق مەلۇماتى" #: src/nikonmn.cpp:590 msgid "Lens data settings" msgstr "لىنزا سانلىق مەلۇمات تەڭشىكى" #: src/nikonmn.cpp:591 msgid "Raw Image Center" msgstr "ئەسلى سۈرەت مەركىزى" #: src/nikonmn.cpp:591 msgid "Raw image center" msgstr "ئەسلى سۈرەت مەركىزى" #: src/nikonmn.cpp:592 msgid "Sensor Pixel Size" msgstr "سەزگۈچ پىكسېل چوڭلۇقى" #: src/nikonmn.cpp:592 msgid "Sensor pixel size" msgstr "سەزگۈچ پىكسېل چوڭلۇقى" #: src/nikonmn.cpp:594 msgid "Scene Assist" msgstr "كۆرۈنۈش ياردەمچى" #: src/nikonmn.cpp:594 msgid "Scene assist" msgstr "كۆرۈنۈش ياردەمچى" #: src/nikonmn.cpp:595 msgid "Retouch History" msgstr "ئىزلارنى تۈزەت" #: src/nikonmn.cpp:595 msgid "Retouch history" msgstr "ئىزلارنى تۈزەت" #: src/nikonmn.cpp:597 msgid "Serial NO" msgstr "تەرتىپ يوق" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "كامىرا تەرتىپ نومۇرى، باشلانغاندا دائىم \"NO= \"" #: src/nikonmn.cpp:598 msgid "Image Data Size" msgstr "سۈرەت سانلىق مەلۇمات چوڭلۇقى" #: src/nikonmn.cpp:598 msgid "Image data size" msgstr "سۈرەت سانلىق مەلۇمات چوڭلۇقى" #: src/nikonmn.cpp:600 msgid "Image Count" msgstr "سۈرەت سانى" #: src/nikonmn.cpp:600 msgid "Image count" msgstr "سۈرەت سانى" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted Image Count" msgstr "سۈرەت سانىنى ئۆچۈر" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 msgid "Deleted image count" msgstr "سۈرەت سانىنى ئۆچۈر" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 msgid "Shutter Count" msgstr "قاپقاق سانى" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "كامىرادىكى تارتىلغان سۈرەت سانى" #: src/nikonmn.cpp:603 msgid "Flash info" msgstr "چاقناش ئۇچۇرى" #: src/nikonmn.cpp:604 msgid "Image Optimization" msgstr "سۈرەتنى ئەلالاشتۇرۇش" #: src/nikonmn.cpp:604 msgid "Image optimization" msgstr "سۈرەتنى ئەلالاشتۇرۇش" #: src/nikonmn.cpp:606 msgid "Program Variation" msgstr "پرۇگرامما پەرقى" #: src/nikonmn.cpp:606 msgid "Program variation" msgstr "پرۇگرامما پەرقى" #: src/nikonmn.cpp:608 msgid "AF Response" msgstr "" #: src/nikonmn.cpp:608 msgid "AF response" msgstr "" #: src/nikonmn.cpp:609 msgid "Multi exposure" msgstr "نۇر ئۆتۈش كۆپ" #: src/nikonmn.cpp:610 #, fuzzy msgid "High ISO Noise Reduction" msgstr "شاۋقۇننى ئاجىزلىتىش" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 msgid "Toning effect" msgstr "رەڭ تەڭشەش ئۈنۈمى" #: src/nikonmn.cpp:612 msgid "AF info 2" msgstr "AFئۇچۇرى2" #: src/nikonmn.cpp:613 msgid "File info" msgstr "ھۆججەت ئۇچۇرى" #: src/nikonmn.cpp:614 msgid "AF tune" msgstr "فوكۇسنى ئاپتوماتىك مىكرو تەكشەش" #: src/nikonmn.cpp:617 msgid "Capture Data" msgstr "سانلىق مەلۇماتقا ئېرىشىش" #: src/nikonmn.cpp:617 msgid "Capture data" msgstr "سانلىق مەلۇماتقا ئېرىشىش" #: src/nikonmn.cpp:618 msgid "Capture Version" msgstr "نەشىرگە ئېرىشىش" #: src/nikonmn.cpp:618 msgid "Capture version" msgstr "نەشىرگە ئېرىشىش" #: src/nikonmn.cpp:620 #, fuzzy msgid "Capture Offsets" msgstr "سانلىق مەلۇماتقا ئېرىشىش" #: src/nikonmn.cpp:620 #, fuzzy msgid "Capture offsets" msgstr "ئېرىشكەننى چىقىرىش" #: src/nikonmn.cpp:621 msgid "Scan IFD" msgstr "IFDتەكشۈر" #: src/nikonmn.cpp:622 msgid "ICC profile" msgstr "ICCسەپلىمە ھۆججىتى" #: src/nikonmn.cpp:623 msgid "Capture output" msgstr "ئېرىشكەننى چىقىرىش" #: src/nikonmn.cpp:625 msgid "Unknown Nikon3MakerNote tag" msgstr "نامەلۇم Nikon3 زاۋۇت ئىزاھاتى بەلگىسى" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 msgid "No" msgstr "ياق" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "ھەئە" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "يىل- ئاي -كۈن" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "يىل-كۈن -ئاي" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "يىل- ئاي -كۈن" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration Reduction" msgstr "تىترەشنى ئازلىتىش" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 msgid "Vibration reduction" msgstr "تىترەشنى ئازلىتىش" #: src/nikonmn.cpp:657 msgid "Unknown Nikon Vibration Reduction Tag" msgstr "نامەلۇم Nikon تىترەشنى ئازلىتىش بەلگىسى" #: src/nikonmn.cpp:667 msgid "Default Settings" msgstr "كۆڭۈلدىكى تەڭشەكلەر" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 msgid "Quick Adjust" msgstr "تىز تەڭشەش" #: src/nikonmn.cpp:669 msgid "Full Control" msgstr "تولۇق كونترول قىلىش" #: src/nikonmn.cpp:690 msgid "Blue-green" msgstr "كۆك-يېشىل" #: src/nikonmn.cpp:692 msgid "Purple-blue" msgstr "بىنەپشە- كۆك" #: src/nikonmn.cpp:693 msgid "Red-purple" msgstr "قىزىل-بىنەپشە" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 msgid "Name" msgstr "ئاتى" #: src/nikonmn.cpp:701 msgid "Base" msgstr "ئاساسى" #: src/nikonmn.cpp:702 msgid "Adjust" msgstr "تەڭشە" #: src/nikonmn.cpp:703 msgid "Quick adjust" msgstr "تىز تەڭشەش" #: src/nikonmn.cpp:709 msgid "Filter effect" msgstr "سۈزگۈچ ئۈنۈمى" #: src/nikonmn.cpp:711 msgid "Toning Saturation" msgstr "تويۇنۇش دەرىجىسىنى تەڭشەش" #: src/nikonmn.cpp:711 msgid "Toning saturation" msgstr "تويۇنۇش دەرىجىسىنى تەڭشەش" #: src/nikonmn.cpp:713 msgid "Unknown Nikon Picture Control Tag" msgstr "نامەلۇم Nikonرەسىم باشقۇرۇش بەلگىسى" #: src/nikonmn.cpp:730 #, fuzzy msgid "AF Fine Tune" msgstr "ئالاھىدە VGA" #: src/nikonmn.cpp:730 #, fuzzy msgid "AF fine tune" msgstr "فوكۇسنى ئاپتوماتىك مىكرو تەكشەش" #: src/nikonmn.cpp:731 msgid "AF Fine Tune Index" msgstr "" #: src/nikonmn.cpp:731 msgid "AF fine tune index" msgstr "" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF Fine Tune Adjustment" msgstr "ئاپتوماتىك فوكۇس تەڭشەش" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF fine tune adjustment" msgstr "رەڭ فازىسىنى تەڭشەش" #: src/nikonmn.cpp:734 #, fuzzy msgid "Unknown Nikon AF Fine Tune Tag" msgstr "نامەلۇم Nikon دۇنيا ۋاقتى بەلگىسى" #: src/nikonmn.cpp:744 msgid "Timezone" msgstr "ۋاقىت رايونى" #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight Savings" msgstr "كۈن نۇرى" #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight savings" msgstr "كۈن نۇرى" #: src/nikonmn.cpp:746 msgid "Date Display Format" msgstr "چىسلا كۆرسىتىش پىچىمى" #: src/nikonmn.cpp:746 msgid "Date display format" msgstr "چىسلا كۆرسىتىش پىچىمى" #: src/nikonmn.cpp:748 msgid "Unknown Nikon World Time Tag" msgstr "نامەلۇم Nikon دۇنيا ۋاقتى بەلگىسى" #: src/nikonmn.cpp:759 msgid "Hi 0.3" msgstr "Hi 0.3" #: src/nikonmn.cpp:760 msgid "Hi 0.5" msgstr "Hi 0.5" #: src/nikonmn.cpp:761 msgid "Hi 0.7" msgstr "Hi 0.7" #: src/nikonmn.cpp:762 msgid "Hi 1.0" msgstr "Hi 1.0" #: src/nikonmn.cpp:763 msgid "Hi 1.3" msgstr "Hi 1.3" #: src/nikonmn.cpp:764 msgid "Hi 1.5" msgstr "Hi 1.5" #: src/nikonmn.cpp:765 msgid "Hi 1.7" msgstr "Hi 1.7" #: src/nikonmn.cpp:766 msgid "Hi 2.0" msgstr "Hi 2.0" #: src/nikonmn.cpp:767 #, fuzzy msgid "Hi 2.3" msgstr "Hi 2.0" #: src/nikonmn.cpp:768 #, fuzzy msgid "Hi 2.5" msgstr "Hi 2.0" #: src/nikonmn.cpp:769 #, fuzzy msgid "Hi 2.7" msgstr "Hi 2.0" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "Lo 0.3" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "Lo 0.5" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "Lo 0.7" #: src/nikonmn.cpp:778 msgid "Lo 1.0" msgstr "Lo 1.0" #: src/nikonmn.cpp:784 msgid "ISO Expansion" msgstr "ISOكېڭەيتىلگەن" #: src/nikonmn.cpp:784 msgid "ISO expansion" msgstr "ISOكېڭەيتىلگەن" #: src/nikonmn.cpp:785 msgid "ISO 2" msgstr "ISO 2" #: src/nikonmn.cpp:786 msgid "ISO Expansion 2" msgstr "ISOكېڭەيتىلگەن 2" #: src/nikonmn.cpp:786 msgid "ISO expansion 2" msgstr "ISOكېڭەيتىلگەن 2" #: src/nikonmn.cpp:788 msgid "Unknown Nikon Iso Info Tag" msgstr "نامەلۇم Nikon Isoئۇچۇرى بەلگىسى" #: src/nikonmn.cpp:798 msgid "Single Area" msgstr "يەككە رايۇن" #: src/nikonmn.cpp:799 msgid "Dynamic Area" msgstr "ھەركەتچان رايۇن" #: src/nikonmn.cpp:800 msgid "Dynamic Area, Closest Subject" msgstr "ھەركەتچان رايۇن، يېقىنقى تارتىلغان ئوبىكىت" #: src/nikonmn.cpp:801 msgid "Group Dynamic" msgstr "ھەركەتچان گورۇپپا" #: src/nikonmn.cpp:802 msgid "Single Area (wide)" msgstr "يەككە رايۇن(كەڭ)" #: src/nikonmn.cpp:803 msgid "Dynamic Area (wide)" msgstr "ھەركەتچان رايۇن (كەڭ)" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 msgid "Mid-left" msgstr "ئوتتۇرا- سول" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 msgid "Mid-right" msgstr "ئوتتۇرا-ئوڭ" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 msgid "Far Left" msgstr "يىراق سول" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 msgid "Far Right" msgstr "يىراق ئوڭ" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 msgid "AF area mode" msgstr "ئاپتوماتىك فوكۇس دائىرە ھالىتى" #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 msgid "AF point" msgstr "ئاپتوماتىك فوكۇس نوقتا" #: src/nikonmn.cpp:840 msgid "AF Points In Focus" msgstr "ئاپتوماتىك فوكۇس نوقتا فوكۇس ئىچىدە" #: src/nikonmn.cpp:840 msgid "AF points in focus" msgstr "ئاپتوماتىك فوكۇس نوقتا فوكۇس ئىچىدە" #: src/nikonmn.cpp:842 #, fuzzy msgid "Unknown Nikon Auto Focus Tag" msgstr "نامەلۇم Nikon Isoئۇچۇرى بەلگىسى" #: src/nikonmn.cpp:853 #, fuzzy msgid "On (51-point)" msgstr "(1 )دا" #: src/nikonmn.cpp:854 #, fuzzy msgid "On (11-point)" msgstr "(1 )دا" #: src/nikonmn.cpp:855 msgid "On (39-point)" msgstr "" #: src/nikonmn.cpp:856 msgid "On (73-point)" msgstr "" #: src/nikonmn.cpp:857 msgid "On (73-point, new)" msgstr "" #: src/nikonmn.cpp:858 #, fuzzy msgid "On (105-point)" msgstr "(1 )دا" #: src/nikonmn.cpp:864 msgid "Contrast Detect AF" msgstr "ئاپتوماتىك فۇكۇسدا ئاق قارىلىقنى بايقاش" #: src/nikonmn.cpp:864 msgid "Contrast detect AF" msgstr "ئاپتوماتىك فۇكۇسدا ئاق قارىلىقنى بايقاش" #: src/nikonmn.cpp:866 #, fuzzy msgid "Phase Detect AF" msgstr "ئاپتوماتىك فۇكۇسدا ئاق قارىلىقنى بايقاش" #: src/nikonmn.cpp:866 #, fuzzy msgid "Phase detect AF" msgstr "ئاپتوماتىك فۇكۇسدا ئاق قارىلىقنى بايقاش" #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF Point" msgstr "AFنوقتا" #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF point" msgstr "ئاپتوماتىك فوكۇس نوقتا" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF Image Width" msgstr "سۈرەت كەڭلىكى" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF image width" msgstr "سۈرەت كەڭلىكى" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF Image Height" msgstr "سۈرەت ئېگىزلىكى:" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF image height" msgstr "سۈرەت ئېگىزلىكى:" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF Area X Position" msgstr "ئاپتوماتىك فوكۇس ئورنى" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF area x position" msgstr "ئاپتوماتىك فوكۇس يورۇتۇش دائىرىسى" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF Area Y Position" msgstr "ئاپتوماتىك فوكۇس ئورنى" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF area y position" msgstr "ئاپتوماتىك فوكۇس يورۇتۇش دائىرىسى" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF Area Width" msgstr "AFدائىرە ھالىتى" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF area width" msgstr "ئاپتوماتىك فوكۇس دائىرە ھالىتى" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF Area Height" msgstr "AFدائىرە ھالىتى" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF area height" msgstr "يىراق ئوڭ" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast Detect AF In Focus" msgstr "ئاپتوماتىك فۇكۇسدا ئاق قارىلىقنى بايقاش" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast detect AF in focus" msgstr "ئاپتوماتىك فۇكۇسدا ئاق قارىلىقنى بايقاش" #: src/nikonmn.cpp:877 #, fuzzy msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "نامەلۇم Nikon Isoئۇچۇرى بەلگىسى" #: src/nikonmn.cpp:888 msgid "Directory Number" msgstr "مۇندەرىجە نومۇرى" #: src/nikonmn.cpp:888 msgid "Directory number" msgstr "مۇندەرىجە نومۇرى" #: src/nikonmn.cpp:891 #, fuzzy msgid "Unknown Nikon File Info Tag" msgstr "نامەلۇم Nikon Isoئۇچۇرى بەلگىسى" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 #, fuzzy msgid "Multiple Exposure" msgstr "كۆپ خىل نۇر ئۆتكۈزۈش ھالىتى" #: src/nikonmn.cpp:903 msgid "Image Overlay" msgstr "سۈرەت دەستىلەش" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi Exposure Mode" msgstr "كۆپ خىل نۇر ئۆتكۈزۈش ھالىتى" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi exposure mode" msgstr "كۆپ خىل نۇر ئۆتكۈزۈش ھالىتى" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi Exposure Shots" msgstr "نۇر ئۆتۈش كۆپ" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi exposure shots" msgstr "نۇر ئۆتۈش كۆپ" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi Exposure Auto Gain" msgstr "كۆپ خىل نۇر ئۆتكۈزۈش ھالىتى" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi exposure auto gain" msgstr "نۇر ئۆتۈش كۆپ" #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 #, fuzzy msgid "Unknown Nikon Multi Exposure Tag" msgstr "نامەلۇم Nikon دۇنيا ۋاقتى بەلگىسى" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 msgid "Internal" msgstr "ئىچكى" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "" #: src/nikonmn.cpp:991 msgid "iTTL-BL" msgstr "iTTL-BL" #: src/nikonmn.cpp:992 msgid "iTTL" msgstr "iTTL" #: src/nikonmn.cpp:993 msgid "Auto Aperture" msgstr "نۇر گەردىشى ئاپتوماتىك" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 msgid "Repeating Flash" msgstr "" #: src/nikonmn.cpp:1004 #, fuzzy msgid "Bounce Flash" msgstr "ئىچكى چاقماق" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "FL-GL1" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "FL-GL2" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "TN-A1" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "TN-A2" #: src/nikonmn.cpp:1018 msgid "Amber" msgstr "ساغۇچ رەڭلىك" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash Source" msgstr "نۇر مەنبەسى" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 msgid "Flash source" msgstr "نۇر مەنبەسى" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 msgid "0x0005" msgstr "0x0005" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External Flash Firmware" msgstr "سىرىتقى چاقماق" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External flash firmware" msgstr "سىرىتقى چاقماق" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External Flash Flags" msgstr "سىرىتقى چاقماق" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External flash flags" msgstr "سىرىتقى چاقماق" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash Focal Length" msgstr "ئەڭ چوڭ فوكۇس ئارلىقى" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash focal length" msgstr "ئەڭ چوڭ فوكۇس ئارلىقى" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 #, fuzzy msgid "Repeating flash rate" msgstr "ھۆججەت ئاتىنى ئۆزگەرتىۋاتدۇ" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 #, fuzzy msgid "Repeating flash count" msgstr "چاقناشنى قولىدا باشقۇرۇش" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN Distance" msgstr "فوكۇس ئارلىقى" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN distance" msgstr "فوكۇس ئارلىقى" #: src/nikonmn.cpp:1032 msgid "Flash Group A Control Mode" msgstr "" #: src/nikonmn.cpp:1032 msgid "Flash group a control mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash Group B Control Mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash group b control mode" msgstr "" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash Color Filter" msgstr "رەڭ سۈزگۈچ" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash color filter" msgstr "رەڭ سۈزگۈچ" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 #, fuzzy msgid "Shutter count" msgstr "قاپقاق سانى1" #: src/nikonmn.cpp:1088 #, fuzzy msgid "Unknown Nikon Shot Info D80 Tag" msgstr "نامەلۇم Nikon Isoئۇچۇرى بەلگىسى" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 msgid "Flash Level" msgstr "چاقناش دەرىجىسى" #: src/nikonmn.cpp:1100 msgid "Flash level" msgstr "چاقناش دەرىجىسى" #: src/nikonmn.cpp:1102 #, fuzzy msgid "Unknown Nikon Shot Info D40 Tag" msgstr "نامەلۇم Nikon Isoئۇچۇرى بەلگىسى" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 msgid "AF Fine Tune Adj" msgstr "" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 #, fuzzy msgid "AF fine tune adj" msgstr "فوكۇسنى ئاپتوماتىك مىكرو تەكشەش" #: src/nikonmn.cpp:1162 #, fuzzy msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "نامەلۇم Nikon Isoئۇچۇرى بەلگىسى" #: src/nikonmn.cpp:1222 #, fuzzy msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "نامەلۇم Nikon Isoئۇچۇرى بەلگىسى" #: src/nikonmn.cpp:1235 #, fuzzy msgid "On (3)" msgstr "(1 )دا" #: src/nikonmn.cpp:1248 msgid "Shutter Count 1" msgstr "قاپقاق سانى1" #: src/nikonmn.cpp:1248 msgid "Shutter count 1" msgstr "قاپقاق سانى1" #: src/nikonmn.cpp:1251 msgid "Vibration Reduction 1" msgstr "تىترەشنى ئازلىتىش1" #: src/nikonmn.cpp:1251 msgid "Vibration reduction 1" msgstr "تىترەشنى ئازلىتىش1" #: src/nikonmn.cpp:1252 msgid "Shutter Count 2" msgstr "قاپقاق سانى2" #: src/nikonmn.cpp:1252 msgid "Shutter count 2" msgstr "قاپقاق سانى2" #: src/nikonmn.cpp:1253 msgid "Vibration Reduction 2" msgstr "تىترەشنى ئازلىتىش2" #: src/nikonmn.cpp:1253 msgid "Vibration reduction 2" msgstr "تىترەشنى ئازلىتىش2" #: src/nikonmn.cpp:1257 #, fuzzy msgid "Unknown Nikon Shot Info Tag" msgstr "نامەلۇم Nikon Isoئۇچۇرى بەلگىسى" #: src/nikonmn.cpp:1268 msgid "WB RBGG Levels" msgstr "RBGGدەرىجىسىنىڭ ئاق تەڭپۇڭلۇقى" #: src/nikonmn.cpp:1268 msgid "WB RBGG levels" msgstr "RBGGدەرىجىسىنىڭ ئاق تەڭپۇڭلۇقى" #: src/nikonmn.cpp:1270 #, fuzzy msgid "Unknown Nikon Color Balance 1 Tag" msgstr "نامەلۇم Nikon دۇنيا ۋاقتى بەلگىسى" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB Levels" msgstr "RGGBدەرىجىسىنىڭ ئاق تەڭپۇڭلۇقى" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 msgid "WB RGGB levels" msgstr "RGGBدەرىجىسىنىڭ ئاق تەڭپۇڭلۇقى" #: src/nikonmn.cpp:1283 #, fuzzy msgid "Unknown Nikon Color Balance 2 Tag" msgstr "نامەلۇم Nikon دۇنيا ۋاقتى بەلگىسى" #: src/nikonmn.cpp:1296 #, fuzzy msgid "Unknown Nikon Color Balance 2a Tag" msgstr "نامەلۇم Nikon دۇنيا ۋاقتى بەلگىسى" #: src/nikonmn.cpp:1309 #, fuzzy msgid "Unknown Nikon Color Balance 2b Tag" msgstr "نامەلۇم Nikon دۇنيا ۋاقتى بەلگىسى" #: src/nikonmn.cpp:1320 msgid "WB RGBG Levels" msgstr "RGBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/nikonmn.cpp:1320 msgid "WB RGBG levels" msgstr "RGBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/nikonmn.cpp:1322 #, fuzzy msgid "Unknown Nikon Color Balance 3 Tag" msgstr "نامەلۇم Nikon دۇنيا ۋاقتى بەلگىسى" #: src/nikonmn.cpp:1333 msgid "WB GRBG Levels" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/nikonmn.cpp:1333 msgid "WB GRBG levels" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/nikonmn.cpp:1335 #, fuzzy msgid "Unknown Nikon Color Balance 4 Tag" msgstr "نامەلۇم Nikon دۇنيا ۋاقتى بەلگىسى" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID Number" msgstr "لىنزا كىملىك نومۇرى" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 msgid "Lens ID number" msgstr "لىنزا كىملىك نومۇرى" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-Stops" msgstr "لىنزا تىپى" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-stops" msgstr "لىنزا تىپى" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min Focal Length" msgstr "ئەڭ كىچىك فوكۇس ئارلىقى" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 msgid "Min focal length" msgstr "ئەڭ كىچىك فوكۇس ئارلىقى" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max Focal Length" msgstr "ئەڭ چوڭ فوكۇس ئارلىقى" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 msgid "Max focal length" msgstr "ئەڭ چوڭ فوكۇس ئارلىقى" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 msgid "Max Aperture At Min Focal" msgstr "ئەڭ چوڭ نۇر گەردىشى ئەڭ كىچىك فۇكۇسدا" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 msgid "Max aperture at min focal" msgstr "ئەڭ چوڭ نۇر گەردىشى ئەڭ كىچىك فۇكۇسدا" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 msgid "Max Aperture At Max Focal" msgstr "ئەڭ چوڭ نۇر گەردىشى ئەڭ چوك فۇكۇسدا" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 msgid "Max aperture at max focal" msgstr "ئەڭ چوڭ نۇر گەردىشى ئەڭ چوك فۇكۇسدا" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU Version" msgstr "MCUنەشىرى" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 msgid "MCU version" msgstr "MCUنەشىرى" #: src/nikonmn.cpp:1354 #, fuzzy msgid "Unknown Nikon Lens Data 1 Tag" msgstr "نامەلۇم Nikon Isoئۇچۇرى بەلگىسى" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit Pupil Position" msgstr "ئاپتوماتىك فوكۇس ئورنى" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit pupil position" msgstr "فوكۇس ئورنى" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 msgid "AF Aperture" msgstr "ئاپتوماتىك فۇكۇس نۇر گەردىشى" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 msgid "AF aperture" msgstr "ئاپتوماتىك فۇكۇس نۇر گەردىشى" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective Max Aperture" msgstr "ئۈنۈملۈك ئەڭ چوڭ نۇر گەردىشى" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 msgid "Effective max aperture" msgstr "ئۈنۈملۈك ئەڭ چوڭ نۇر گەردىشى" #: src/nikonmn.cpp:1379 #, fuzzy msgid "Unknown Nikon Lens Data 2 Tag" msgstr "نامەلۇم Nikon Isoئۇچۇرى بەلگىسى" #: src/nikonmn.cpp:1399 msgid "Max aperture at min focal length" msgstr "ئەڭ چوڭ نۇر گەردىشى ئەڭ كىچىك فوكۇس ئارلىقىدا" #: src/nikonmn.cpp:1400 msgid "Max aperture at max focal length" msgstr "ئەڭ چوڭ نۇر گەردىشىئەڭ چوڭ فۇكۇس ئارلىقىدا" #: src/nikonmn.cpp:1404 #, fuzzy msgid "Unknown Nikon Lens Data 3 Tag" msgstr "نامەلۇم Nikon Isoئۇچۇرى بەلگىسى" #: src/nikonmn.cpp:1590 msgid "Closest subject" msgstr "يېقىنقى ئوبىكىت" #: src/nikonmn.cpp:1591 #, fuzzy msgid "Group dynamic-AF" msgstr "ھەركەتچان گورۇپپا" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "يوق" #: src/nikonmn.cpp:1624 msgid "used" msgstr "ئىشلىتىلگىنى" #: src/nikonmn.cpp:1650 #, fuzzy msgid "All 11 Points" msgstr "ئاپتوماتىك فوكۇس نوقتا" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 msgid "Single-frame" msgstr "يەككە كاندۇك" #: src/olympusmn.cpp:71 msgid "Standard Quality (SQ)" msgstr "سۈپەت ئۆلچىمى(SQ)" #: src/olympusmn.cpp:72 msgid "High Quality (HQ)" msgstr "يۇقۇرى سۈپەت (HQ)" #: src/olympusmn.cpp:73 msgid "Super High Quality (SHQ)" msgstr "ئالاھىدە يۇقۇرى سۈپەت (SHQ)" #: src/olympusmn.cpp:88 msgid "On (preset)" msgstr "" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 msgid "Sport" msgstr "تەنتەربىيە" #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 msgid "Landscape+Portrait" msgstr "توغرىسىغا+بويىغا" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 #, fuzzy msgid "Self Portrait" msgstr "بوي يۆنىلىش" #: src/olympusmn.cpp:102 msgid "2 in 1" msgstr "" #: src/olympusmn.cpp:105 msgid "Night+Portrait" msgstr "كېچە +رەسىم" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "يېمەكلىك" #: src/olympusmn.cpp:112 msgid "Documents" msgstr "پۈتۈكلەر" #: src/olympusmn.cpp:114 msgid "Shoot & Select" msgstr "سۈرەتكە ئېلىش +تاللاش" #: src/olympusmn.cpp:115 msgid "Beach & Snow" msgstr "دېڭىز ساھىلى+قار" #: src/olympusmn.cpp:116 #, fuzzy msgid "Self Portrait+Timer" msgstr "ئۆزىدىكى ۋاقىت" #: src/olympusmn.cpp:117 msgid "Candle" msgstr "شام" #: src/olympusmn.cpp:118 msgid "Available Light" msgstr "ئىشلەتكىلى بولىدىغان يورۇقلۇق" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "ئارقا ئەينەك" #: src/olympusmn.cpp:120 msgid "My Mode" msgstr "مىنىڭ ھالىتىم" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 #, fuzzy msgid "Pet" msgstr "پېرت" #: src/olympusmn.cpp:122 msgid "Underwater Wide1" msgstr "سۇ ئاستى كەڭرى 1" #: src/olympusmn.cpp:123 msgid "Underwater Macro" msgstr "سۇ ئاستى ماكرو" #: src/olympusmn.cpp:124 msgid "Shoot & Select1" msgstr "سۈرەت تارتىش +تاللاش1" #: src/olympusmn.cpp:125 msgid "Shoot & Select2" msgstr "سۈرەت تارتىش+تاللاش 2" #: src/olympusmn.cpp:127 msgid "Digital Image Stabilization" msgstr "رەقەملىك سۈرەت مۇقىملىقى" #: src/olympusmn.cpp:128 #, fuzzy msgid "Auction" msgstr "" "\n" "مەشغۇلاتلار:\n" #: src/olympusmn.cpp:131 msgid "Underwater Wide2" msgstr "سۇ ئاستى كەڭرى2" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "بالا" #: src/olympusmn.cpp:135 #, fuzzy msgid "Nature Macro" msgstr "ئالىي ماكرو" #: src/olympusmn.cpp:136 msgid "Underwater Snapshot" msgstr "سۇ ئاستى ئىكران كۆرۈنۈشى" #: src/olympusmn.cpp:137 msgid "Shooting Guide" msgstr "رەسىمگە تارتىش يىتەكچىسى" #: src/olympusmn.cpp:145 msgid "Internal + External" msgstr "ئىچكى+سىرىتقى" #: src/olympusmn.cpp:176 msgid "Interlaced" msgstr "گىرەلەشتۈرۈلگەن" #: src/olympusmn.cpp:177 msgid "Progressive" msgstr "قەدەممۇ-قەدەم" #: src/olympusmn.cpp:188 msgid "Thumbnail Image" msgstr "ئاددى سۈرەت" #: src/olympusmn.cpp:189 msgid "Thumbnail image" msgstr "ئاددى سۈرەت" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 #, fuzzy msgid "Body Firmware Version" msgstr "Firmware نەشرى:" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 #, fuzzy msgid "Body firmware version" msgstr "Firmware نەشرى:" #: src/olympusmn.cpp:195 msgid "Special Mode" msgstr "ئالاھىدە ھالەت" #: src/olympusmn.cpp:196 #, fuzzy msgid "Picture taking mode" msgstr "رەسىم ھالىتى" #: src/olympusmn.cpp:204 msgid "Black & White Mode" msgstr "رەڭسىز ھالەت" #: src/olympusmn.cpp:205 msgid "Black and white mode" msgstr "رەڭسىز ھالەت" #: src/olympusmn.cpp:208 msgid "Digital zoom ratio" msgstr "رەقەملىك كېڭەيت تاراىتىش نىسبىتى" #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 msgid "Focal Plane Diagonal" msgstr "فوكۇس تەكشىلىكى دىئاگۇنالى" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 msgid "Focal plane diagonal" msgstr "فوكۇس تەكشىلىكى دىئاگۇنالى" #: src/olympusmn.cpp:213 msgid "Lens Distortion Parameters" msgstr "" #: src/olympusmn.cpp:214 msgid "Lens distortion parameters" msgstr "" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 msgid "Camera Type" msgstr "كامىرا تىپى" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 msgid "Camera type" msgstr "كامىرا تىپى" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "" #: src/olympusmn.cpp:222 msgid "Camera ID" msgstr "كامىرا كىملىكى" #: src/olympusmn.cpp:223 msgid "Camera ID data" msgstr "كامىرانىڭ كىملىك سانلىق مەلۇماتى" #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "يۇمشاق دېتال" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 msgid "Preview Image" msgstr "سۈرەتنى ئالدىن كۆزەت" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 msgid "Preview image" msgstr "سۈرەتنى ئالدىن كۆزەت" #: src/olympusmn.cpp:237 #, fuzzy msgid "Pre Capture Frames" msgstr "نەشىرگە ئېرىشىش" #: src/olympusmn.cpp:238 #, fuzzy msgid "Pre-capture frames" msgstr "قىياپەت كاندۇك" #: src/olympusmn.cpp:240 msgid "White Board" msgstr "ئاق تاختاي" #: src/olympusmn.cpp:241 msgid "White board" msgstr "ئاق تاختاي" #: src/olympusmn.cpp:243 #, fuzzy msgid "One Touch WB" msgstr "چەكمە" #: src/olympusmn.cpp:244 msgid "One touch white balance" msgstr "چەكمە ئاق تەڭپۇقلۇق" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 msgid "White Balance Bracket" msgstr "ئاق تەڭپۇڭلۇق تەگلىكى" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 msgid "White balance bracket" msgstr "ئاق تەڭپۇڭلۇق تەگلىكى" #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 msgid "Firmware" msgstr "Firmware" #: src/olympusmn.cpp:261 msgid "Data Dump 1" msgstr "سانلىق مەلۇمات تۆكمىسى1" #: src/olympusmn.cpp:262 msgid "Various camera settings 1" msgstr "ھەر خىل كامېرا تەڭشىكى1" #: src/olympusmn.cpp:264 msgid "Data Dump 2" msgstr "سانلىق مەلۇمات تۆكمىسى2" #: src/olympusmn.cpp:265 msgid "Various camera settings 2" msgstr "ھەر خىل كامېرا تەڭشىكى2" #: src/olympusmn.cpp:268 msgid "Shutter speed value" msgstr "قاپقاق تېزلىكى قىممىتى" #: src/olympusmn.cpp:271 msgid "ISO speed value" msgstr "ISOسۈرئەت قىممىتى" #: src/olympusmn.cpp:274 msgid "Aperture value" msgstr "نۇر چەمبەر قىممىتى" #: src/olympusmn.cpp:277 msgid "Brightness value" msgstr "يورۇقلۇق دەرىجىسى قىممىتى" #: src/olympusmn.cpp:285 msgid "Bracket" msgstr "تىرناق" #: src/olympusmn.cpp:286 msgid "Exposure compensation value" msgstr "يورۇتۇشنى تولۇقلاش قىممىتى" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 msgid "Sensor Temperature" msgstr "سەزگۈچ تېمپېراتۇرىسى" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 msgid "Sensor temperature" msgstr "سەزگۈچ تېمپېراتۇرىسى" #: src/olympusmn.cpp:291 msgid "Lens Temperature" msgstr "لىنزا تېمپېراتۇرىسى" #: src/olympusmn.cpp:292 msgid "Lens temperature" msgstr "لىنزا تېمپېراتۇرىسى" #: src/olympusmn.cpp:294 msgid "Light Condition" msgstr "يورۇتۇش شارائىتى" #: src/olympusmn.cpp:295 msgid "Light condition" msgstr "يورۇتۇش شارائىتى" #: src/olympusmn.cpp:297 msgid "Focus Range" msgstr "فوكۇس دائىرىسى" #: src/olympusmn.cpp:298 msgid "Focus range" msgstr "فوكۇس دائىرىسى" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "كېڭەيت-تارايت" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 msgid "Zoom step count" msgstr "قەدەم سانىنى كېڭەت تارايت" #: src/olympusmn.cpp:309 msgid "Macro Focus" msgstr "ماكرو فوكۇس" #: src/olympusmn.cpp:310 msgid "Macro focus step count" msgstr "ماكرو فوكۇس قەدەم سانى" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 msgid "Sharpness Factor" msgstr "ئۆتكۈرلۈك نىسبىتى" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 msgid "Sharpness factor" msgstr "ئۆتكۈرلۈك نىسبىتى" #: src/olympusmn.cpp:315 #, fuzzy msgid "Flash Charge Level" msgstr "چاقناش دەرىجىسى" #: src/olympusmn.cpp:316 #, fuzzy msgid "Flash charge level" msgstr "چاقناش دەرىجىسى" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 msgid "Color Matrix" msgstr "رەك ماترىتساسى" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 msgid "Color matrix" msgstr "رەڭ ماترىتساسى" #: src/olympusmn.cpp:321 msgid "BlackLevel" msgstr "قارىلىق دەرىجىسى" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 msgid "Black level" msgstr "قارىلىق دەرىجىسى" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 msgid "White balance mode" msgstr "ئاق تەڭپۇڭلۇق ھالىتى" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 msgid "Red Balance" msgstr "قىزىل تەڭپۇڭلۇق" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 msgid "Red balance" msgstr "قىزىل تەڭپۇڭلۇق" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 msgid "Blue Balance" msgstr "كۆك تەڭپۇڭلۇق" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 msgid "Blue balance" msgstr "كۆك تەڭپۇڭلۇق" #: src/olympusmn.cpp:342 msgid "Color Matrix Number" msgstr "رەڭ ماترىسا نومۇرى" #: src/olympusmn.cpp:343 #, fuzzy msgid "Color matrix number" msgstr "رەڭ ماترىسا نومۇرى" #: src/olympusmn.cpp:345 msgid "Serial Number 2" msgstr "تەرتىپ نومۇرى2" #: src/olympusmn.cpp:346 msgid "Serial number 2" msgstr "تەرتىپ نومۇرى2" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 #, fuzzy msgid "Flash exposure compensation" msgstr "تولۇقلاپ چاقناپ نۇر ئۆتكۈزۈش" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 #, fuzzy msgid "External Flash Bounce" msgstr "سىرىتقى چاقماق" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 #, fuzzy msgid "External flash bounce" msgstr "سىرىتقى چاقماق" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 #, fuzzy msgid "External Flash Zoom" msgstr "سىرىتقى چاقماق" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 #, fuzzy msgid "External flash zoom" msgstr "سىرىتقى چاقماق" #: src/olympusmn.cpp:387 #, fuzzy msgid "External Flash Mode" msgstr "سىرىتقى چاقماق" #: src/olympusmn.cpp:388 #, fuzzy msgid "External flash mode" msgstr "سىرىتقى چاقماق" #: src/olympusmn.cpp:396 msgid "Color Control" msgstr "رەڭ تىزگىنى" #: src/olympusmn.cpp:397 msgid "Color control" msgstr "رەڭ تىزگىنى" #: src/olympusmn.cpp:399 #, fuzzy msgid "ValidBits" msgstr "ئىناۋەتلىك بىت" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 msgid "Valid bits" msgstr "ئىناۋەتلىك بىت" #: src/olympusmn.cpp:402 #, fuzzy msgid "CoringFilter" msgstr "رەڭ سۈزگۈچ" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring filter" msgstr "رەڭ سۈزگۈچ" #: src/olympusmn.cpp:423 msgid "Compression Ratio" msgstr "پرېس نىسبىتى:" #: src/olympusmn.cpp:424 msgid "Compression ratio" msgstr "پرېس نىسبىتى:" #: src/olympusmn.cpp:427 msgid "Preview image embedded" msgstr "سۈرەت سىڭدۇرمىسىنى ئالدىن كۈزەت" #: src/olympusmn.cpp:430 #, fuzzy msgid "Offset of the preview image" msgstr "سۈرەتنى ئالدىن كۈزىتىش چوڭلۇقى" #: src/olympusmn.cpp:433 msgid "Size of the preview image" msgstr "سۈرەتنى ئالدىن كۈزىتىش چوڭلۇقى" #: src/olympusmn.cpp:435 #, fuzzy msgid "CCD Scan Mode" msgstr "كۆرۈنۈش ھالىتى" #: src/olympusmn.cpp:436 #, fuzzy msgid "CCD scan mode" msgstr "نەخ مەيدان ھالىتى" #: src/olympusmn.cpp:441 #, fuzzy msgid "Infinity Lens Step" msgstr "چەكسىز" #: src/olympusmn.cpp:442 #, fuzzy msgid "Infinity lens step" msgstr "چەكسىز" #: src/olympusmn.cpp:444 #, fuzzy msgid "Near Lens Step" msgstr "لىنزا تىپى" #: src/olympusmn.cpp:445 msgid "Near lens step" msgstr "" #: src/olympusmn.cpp:447 #, fuzzy msgid "Equipment Info" msgstr "ئۈسكۈنەنەشىرى" #: src/olympusmn.cpp:448 msgid "Camera equipment sub-IFD" msgstr "" #: src/olympusmn.cpp:451 #, fuzzy msgid "Camera Settings sub-IFD" msgstr "كامىرا تەڭشىكى(7D)" #: src/olympusmn.cpp:453 msgid "Raw Development" msgstr "" #: src/olympusmn.cpp:454 msgid "Raw development sub-IFD" msgstr "" #: src/olympusmn.cpp:456 msgid "Raw Development 2" msgstr "" #: src/olympusmn.cpp:457 msgid "Raw development 2 sub-IFD" msgstr "" #: src/olympusmn.cpp:460 #, fuzzy msgid "Image processing sub-IFD" msgstr "سۈرەتچىلىك" #: src/olympusmn.cpp:462 msgid "Focus Info" msgstr "فوكۇس ئۇچۇرى" #: src/olympusmn.cpp:463 #, fuzzy msgid "Focus sub-IFD" msgstr "فوكۇس ئۇچۇرى" #: src/olympusmn.cpp:465 #, fuzzy msgid "Raw Info" msgstr "VRئۇچۇرى" #: src/olympusmn.cpp:466 msgid "Raw sub-IFD" msgstr "" #: src/olympusmn.cpp:470 #, fuzzy msgid "Unknown OlympusMakerNote tag" msgstr "نامەلۇم Canonياسىغۇچى ئىزاھاتى بەلگىسى" #: src/olympusmn.cpp:486 msgid "Program-shift" msgstr "پروگرامما-shift A" #: src/olympusmn.cpp:491 #, fuzzy msgid "Center-weighted average" msgstr "مەركەزگە پايدىلىق" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "ESP" #: src/olympusmn.cpp:494 msgid "Pattern+AF" msgstr "ئەندىزە+ئاپتوماتىك فوكۇس" #: src/olympusmn.cpp:495 msgid "Spot+Highlight control" msgstr "" #: src/olympusmn.cpp:496 #, fuzzy msgid "Spot+Shadow control" msgstr "رەڭ تىزگىنى" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 #, fuzzy msgid "Single AF" msgstr "يەككە رايۇن" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 msgid "Multi AF" msgstr "" #: src/olympusmn.cpp:517 #, fuzzy msgid "AF Not Used" msgstr "AFنوقتا ئىشلىتىلدى" #: src/olympusmn.cpp:518 msgid "AF Used" msgstr "ئاپتوماتىك فوكۇس ئىشلىتىلدى" #: src/olympusmn.cpp:523 msgid "Not Ready" msgstr "تەييار ئەمەس" #: src/olympusmn.cpp:524 msgid "Ready" msgstr "تەييار" #: src/olympusmn.cpp:531 msgid "Fill-in" msgstr "" #: src/olympusmn.cpp:533 #, fuzzy msgid "Slow-sync" msgstr "ئاستا قەدەمداشلاش" #: src/olympusmn.cpp:534 msgid "Forced On" msgstr "" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "" #: src/olympusmn.cpp:541 msgid "Channel 1, Low" msgstr "قانال 1، تۆۋەن" #: src/olympusmn.cpp:542 msgid "Channel 2, Low" msgstr "قانال 2، تۆۋەن" #: src/olympusmn.cpp:543 msgid "Channel 3, Low" msgstr "قانال 3، تۆۋەن" #: src/olympusmn.cpp:544 msgid "Channel 4, Low" msgstr "قانال 4، تۆۋەن" #: src/olympusmn.cpp:545 msgid "Channel 1, Mid" msgstr "قانال 1 ،ئوتتۇرا" #: src/olympusmn.cpp:546 msgid "Channel 2, Mid" msgstr "قانال 2، ئوتتۇرا" #: src/olympusmn.cpp:547 msgid "Channel 3, Mid" msgstr "قانال 3 ،ئوتتۇرا" #: src/olympusmn.cpp:548 msgid "Channel 4, Mid" msgstr "قانال 4 ،ئوتتۇرا" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "قانال 1، يۇقۇرى" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "قانال 2، يۇقۇرى" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "قانال 3، يۇقۇرى" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "قانال 4، يۇقۇرى" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "" #: src/olympusmn.cpp:567 #, fuzzy msgid "7500K (Fine Weather with Shade)" msgstr "5300K( ئوچۇق)" #: src/olympusmn.cpp:568 msgid "6000K (Cloudy)" msgstr "6000K (بۇلۇتلۇق)" #: src/olympusmn.cpp:569 msgid "5300K (Fine Weather)" msgstr "5300K( ئوچۇق)" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "3000K(ۋولفرام لامپا)" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 #, fuzzy msgid "3600K (Tungsten light-like)" msgstr "3000K(ۋولفرام لامپا)" #: src/olympusmn.cpp:572 #, fuzzy msgid "Auto Setup" msgstr "نۇر گەردىشى ئاپتوماتىك" #: src/olympusmn.cpp:573 #, fuzzy msgid "5500K (Flash)" msgstr "5300K( ئوچۇق)" #: src/olympusmn.cpp:574 #, fuzzy msgid "6600K (Daylight fluorescent)" msgstr "كۈن نۇرلۇق يالتىراق لامپا" #: src/olympusmn.cpp:575 msgid "4500K (Neutral white fluorescent)" msgstr "" #: src/olympusmn.cpp:576 msgid "4000K (Cool white fluorescent)" msgstr "" #: src/olympusmn.cpp:577 #, fuzzy msgid "White Fluorescent" msgstr "يالتىراق لامپا" #: src/olympusmn.cpp:580 #, fuzzy msgid "One Touch WB 1" msgstr "چەكمە" #: src/olympusmn.cpp:581 #, fuzzy msgid "One Touch WB 2" msgstr "چەكمە" #: src/olympusmn.cpp:582 #, fuzzy msgid "One Touch WB 3" msgstr "چەكمە" #: src/olympusmn.cpp:583 #, fuzzy msgid "One Touch WB 4" msgstr "چەكمە" #: src/olympusmn.cpp:584 msgid "Custom WB 1" msgstr "ئىختىيارى ئاق تەڭپۇڭلۇق1" #: src/olympusmn.cpp:585 msgid "Custom WB 2" msgstr "ئىختىيارى ئاق تەڭپۇڭلۇق2" #: src/olympusmn.cpp:586 msgid "Custom WB 3" msgstr "ئىختىيارى ئاق تەڭپۇڭلۇق3" #: src/olympusmn.cpp:587 msgid "Custom WB 4" msgstr "ئىختىيارى ئاق تەڭپۇڭلۇق4" #: src/olympusmn.cpp:593 msgid "CM1 (Red Enhance)" msgstr "" #: src/olympusmn.cpp:594 msgid "CM2 (Green Enhance)" msgstr "" #: src/olympusmn.cpp:595 #, fuzzy msgid "CM3 (Blue Enhance)" msgstr "كۆك تەڭپۇڭلۇق" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "RGBسەپلىمە سۈرەت" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 #, fuzzy msgid "Noise Filter" msgstr "شاۋقۇن سۈزگۈچ" #: src/olympusmn.cpp:610 #, fuzzy msgid "Noise Filter (ISO Boost)" msgstr "چ ك شاۋقۇن سۈزگۈچ" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 msgid "Muted" msgstr "ئۈنسىز" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 #, fuzzy msgid "Monotone" msgstr "رەڭ تۈسى" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "SQ" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "SQ" #: src/olympusmn.cpp:648 msgid "SHQ" msgstr "SQ" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 #, fuzzy msgid "On, Mode 1" msgstr "لىنزا ھالىتى" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 #, fuzzy msgid "On, Mode 2" msgstr "ئۈسكۈنە ھالىتى2" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 #, fuzzy msgid "On, Mode 3" msgstr "لىنزا ھالىتى" #: src/olympusmn.cpp:661 msgid "Camera Settings Version" msgstr "كامىرا تەڭشەك نەشىرى" #: src/olympusmn.cpp:661 msgid "Camera settings version" msgstr "كامىرا تەڭشەك نەشىرى" #: src/olympusmn.cpp:662 msgid "PreviewImage Valid" msgstr "سۈرەت ئالدىن كۈزىتىش ئىناۋەتسىز" #: src/olympusmn.cpp:662 #, fuzzy msgid "Preview image valid" msgstr "سۈرەت ئالدىن كۈزىتىش ئىناۋەتسىز" #: src/olympusmn.cpp:663 msgid "PreviewImage Start" msgstr "سۈرەت ئالدىن كۈزىتىشنى باشلا" #: src/olympusmn.cpp:663 #, fuzzy msgid "Preview image start" msgstr "سۈرەت ئالدىن كۈزىتىشنى باشلا" #: src/olympusmn.cpp:664 msgid "PreviewImage Length" msgstr "سۈرەت ئارلىقىنى ئالدىن كۈزەت" #: src/olympusmn.cpp:664 msgid "Preview image length" msgstr "سۈرەت ئارلىقىنى ئالدىن كۈزەت" #: src/olympusmn.cpp:666 msgid "Auto exposure lock" msgstr "ئاپتوماتىك نۇر ئۆتكۈزۈش قۇلۇپى" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure Shift" msgstr "نۇرلاندۇرۇش ۋاقتى" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure shift" msgstr "نۇرلاندۇرۇش ۋاقتى" #: src/olympusmn.cpp:671 msgid "Focus Process" msgstr "فوكۇسنى توغرىلاش" #: src/olympusmn.cpp:671 msgid "Focus process" msgstr "فوكۇسنى توغرىلاش" #: src/olympusmn.cpp:672 msgid "AF Search" msgstr "ئاپتوماتىك فۇكۇس ئىزدەش" #: src/olympusmn.cpp:672 msgid "AF search" msgstr "ئاپتوماتىك فۇكۇس ئىزدەش" #: src/olympusmn.cpp:673 msgid "AF Areas" msgstr "ئاپتوماتىك فۇكۇس دائىرىسى" #: src/olympusmn.cpp:673 msgid "AF areas" msgstr "ئاپتوماتىك فۇكۇس دائىرىسى" #: src/olympusmn.cpp:674 #, fuzzy msgid "AFPointSelected" msgstr "ئاپتوماتىك نوقتا تاللاش" #: src/olympusmn.cpp:675 msgid "AF Fine Tune Adjust" msgstr "" #: src/olympusmn.cpp:675 msgid "AF fine tune adjust" msgstr "" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash Remote Control" msgstr "يىراقتا تىزگىنلەش" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash remote control" msgstr "يىراقتا تىزگىنلەش" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash Control Mode" msgstr "چاقناش ھالىتى" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash control mode" msgstr "چاقناش ھالىتى" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash Intensity" msgstr "چاقناش پائالىيىتى" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash intensity" msgstr "چاقناش پائالىيىتى" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual Flash Strength" msgstr "چاقناشنى قولىدا چىقىرىش" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual flash strength" msgstr "چاقناشنى قولىدا چىقىرىش" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 msgid "White Balance 2" msgstr "ئاق تەڭپۇڭلۇق2" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 msgid "White balance 2" msgstr "ئاق تەڭپۇڭلۇق2" #: src/olympusmn.cpp:683 msgid "White Balance Temperature" msgstr "ئاق تەڭپۇڭلۇق تېمپېراتۇرىسى" #: src/olympusmn.cpp:683 msgid "White balance temperature" msgstr "ئاق تەڭپۇڭلۇق تېمپېراتۇرىسى" #: src/olympusmn.cpp:685 msgid "Custom Saturation" msgstr "ئىختىيارى تويۇنۇش دەرىجىسى" #: src/olympusmn.cpp:685 msgid "Custom saturation" msgstr "ئىختىيارى تويۇنۇش دەرىجىسى" #: src/olympusmn.cpp:686 msgid "Modified Saturation" msgstr "تويۇنۇش دەرىجىسىنى ئۆزگەرت" #: src/olympusmn.cpp:686 msgid "Modified saturation" msgstr "تويۇنۇش دەرىجىسىنى ئۆزگەرت" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 msgid "Contrast Setting" msgstr "ئاق قارىلىق تەڭشىكى" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 msgid "Sharpness Setting" msgstr "ئۆتكۈرلۈك تەڭشىكى" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 #, fuzzy msgid "Distortion Correction" msgstr "تىترەشنى ئازلىتىش" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 #, fuzzy msgid "Distortion correction" msgstr "تىترەشنى ئازلىتىش" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 msgid "Shading Compensation" msgstr "دالدىلاپ تولۇقلاش" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 msgid "Shading compensation" msgstr "دالدىلاپ تولۇقلاش" #: src/olympusmn.cpp:694 msgid "Compression Factor" msgstr "تولۇقلاش نىسبىتى" #: src/olympusmn.cpp:694 msgid "Compression factor" msgstr "تولۇقلاش نىسبىتى" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 msgid "Gradation" msgstr "قاتلام" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 msgid "Picture mode" msgstr "رەسىم ھالىتى" #: src/olympusmn.cpp:697 msgid "Picture Mode Saturation" msgstr "رەسىم تويۇنۇش ھالىتى" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 msgid "Picture mode saturation" msgstr "رەسىم تويۇنۇش ھالىتى" #: src/olympusmn.cpp:698 msgid "Picture Mode Hue" msgstr "رەسىم رەڭ فازىسى ھالىتى" #: src/olympusmn.cpp:698 msgid "Picture mode hue" msgstr "رەسىم رەڭ فازىسى ھالىتى" #: src/olympusmn.cpp:699 msgid "Picture Mode Contrast" msgstr "رەسىم ئاق قارىلىق ھالىتى" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 msgid "Picture mode contrast" msgstr "رەسىم ئاق قارىلىق ھالىتى" #: src/olympusmn.cpp:700 msgid "Picture Mode Sharpness" msgstr "رەسىم ئۆتكۈرلۈك ھالىتى" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 msgid "Picture mode sharpness" msgstr "رەسىم ئۆتكۈرلۈك ھالىتى" #: src/olympusmn.cpp:701 msgid "Picture Mode BW Filter" msgstr "رەسىم BWسۈزگۈچ ھالىتى" #: src/olympusmn.cpp:701 msgid "Picture mode BW filter" msgstr "رەسىم BWسۈزگۈچ ھالىتى" #: src/olympusmn.cpp:702 msgid "Picture Mode Tone" msgstr "رەسىم تۈسى ھالىتى" #: src/olympusmn.cpp:702 msgid "Picture mode tone" msgstr "رەسىم تۈسى ھالىتى" #: src/olympusmn.cpp:703 msgid "Noise filter" msgstr "شاۋقۇن سۈزگۈچ" #: src/olympusmn.cpp:704 msgid "Art Filter" msgstr "سەنئەتلىك سۈزگۈچ" #: src/olympusmn.cpp:704 msgid "Art filter" msgstr "سەنئەتلىك سۈزگۈچ" #: src/olympusmn.cpp:705 msgid "Magic Filter" msgstr "سېھىرلىك سۈزگۈچ" #: src/olympusmn.cpp:705 msgid "Magic filter" msgstr "سېھىرلىك سۈزگۈچ" #: src/olympusmn.cpp:707 msgid "Panorama Mode" msgstr "تولۇق مەنزىرە مودىلى" #: src/olympusmn.cpp:707 msgid "Panorama mode" msgstr "تولۇق مەنزىرە مودىلى" #: src/olympusmn.cpp:708 msgid "Image Quality 2" msgstr "سۈرەت سۈپىتى2" #: src/olympusmn.cpp:708 msgid "Image quality 2" msgstr "سۈرەت سۈپىتى2" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer Pressure" msgstr "ئاتمۇسفېرا بىسىمىنى ئۆلچەش سائىتى" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 msgid "Manometer pressure" msgstr "ئاتمۇسفېرا بىسىمىنى ئۆلچەش سائىتى" #: src/olympusmn.cpp:711 msgid "Manometer Reading" msgstr "ئۆلچەش سائىتىنى ئۆقۇۋاتىدۇ" #: src/olympusmn.cpp:711 msgid "Manometer reading" msgstr "ئۆلچەش سائىتىنى ئۆقۇۋاتىدۇ" #: src/olympusmn.cpp:712 msgid "Extended WB Detect" msgstr "كېڭەيتىلمە ئاق تەڭپۇڭلۇقنى بايقاش" #: src/olympusmn.cpp:712 msgid "Extended WB detect" msgstr "كېڭەيتىلمە ئاق تەڭپۇڭلۇقنى بايقاش" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "" #: src/olympusmn.cpp:716 #, fuzzy msgid "Unknown OlympusCs tag" msgstr "نامەلۇم خەتكۈش" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "" #: src/olympusmn.cpp:745 msgid "Equipment Version" msgstr "ئۈسكۈنەنەشىرى" #: src/olympusmn.cpp:745 msgid "Equipment version" msgstr "ئۈسكۈنەنەشىرى" #: src/olympusmn.cpp:747 msgid "Serial number" msgstr "تەرتىپ نومۇرى" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 msgid "Lens Serial Number" msgstr "لىنزا تەرتىپ نومۇرى" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 #, fuzzy msgid "Lens serial number" msgstr "لىنزا تەرتىپ نومۇرى" #: src/olympusmn.cpp:754 msgid "Lens Firmware Version" msgstr "لىنزا قاتتىق دىتال نەشىرى" #: src/olympusmn.cpp:754 msgid "Lens firmware version" msgstr "لىنزا قاتتىق دىتال نەشىرى" #: src/olympusmn.cpp:759 msgid "Max Aperture At Current Focal" msgstr "ئەڭ چوڭ نۇر گەردىشى نۆۋەتتىكى فۇكۇستا" #: src/olympusmn.cpp:759 msgid "Max aperture at current focal" msgstr "ئەڭ چوڭ نۇر گەردىشى نۆۋەتتىكى فۇكۇستا" #: src/olympusmn.cpp:760 msgid "Lens Properties" msgstr "لىنزا خاسلىقى" #: src/olympusmn.cpp:760 msgid "Lens properties" msgstr "لىنزا خاسلىقى" #: src/olympusmn.cpp:761 msgid "Extender" msgstr "قوشۇمچە" #: src/olympusmn.cpp:762 msgid "Extender Serial Number" msgstr "لىنزا قوشۇمچە تەرتىپ نومۇرى" #: src/olympusmn.cpp:762 msgid "Extender serial number" msgstr "لىنزا قوشۇمچە تەرتىپ نومۇرى" #: src/olympusmn.cpp:763 msgid "Extender Model" msgstr "قوشۇمچە تىپ" #: src/olympusmn.cpp:763 msgid "Extender model" msgstr "قوشۇمچە تىپ" #: src/olympusmn.cpp:764 msgid "Extender Firmware Version" msgstr "قوشۇمچە قاتتىق دىتال نەشىرى" #: src/olympusmn.cpp:764 #, fuzzy msgid "Extender firmwareversion" msgstr "قوشۇمچە قاتتىق دىتال نەشىرى" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion Lens" msgstr "لېنزا ئايلاندۇرۇش" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 msgid "Conversion lens" msgstr "لېنزا ئايلاندۇرۇش" #: src/olympusmn.cpp:767 src/properties.cpp:402 #, fuzzy msgid "Flash Model" msgstr "چاقناش ھالىتى" #: src/olympusmn.cpp:767 #, fuzzy msgid "Flash model" msgstr "چاقناش ھالىتى" #: src/olympusmn.cpp:768 #, fuzzy msgid "Flash Firmware Version" msgstr "Firmware نەشرى:" #: src/olympusmn.cpp:768 #, fuzzy msgid "Flash firmware version" msgstr "Firmware نەشرى:" #: src/olympusmn.cpp:769 #, fuzzy msgid "FlashSerialNumber" msgstr "تەرتىپ نومۇرى" #: src/olympusmn.cpp:771 #, fuzzy msgid "Unknown OlympusEq tag" msgstr "نامەلۇم خەتكۈش" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 msgid "High Speed" msgstr "يۇقۇرى سۈرئەت" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 msgid "High Function" msgstr "يۇقۇرى ئىقتىدار" #: src/olympusmn.cpp:790 msgid "Advanced High Speed" msgstr "ئالىي يۇقۇرى سۈرئەت" #: src/olympusmn.cpp:791 #, fuzzy msgid "Advanced High Function" msgstr "يۇقۇرى ئىقتىدار" #: src/olympusmn.cpp:796 msgid "Original" msgstr "ئەسلى" #: src/olympusmn.cpp:797 msgid "Edited (Landscape)" msgstr "تەھرىرلەندى(توغرىسىغا)" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 msgid "Edited (Portrait)" msgstr "تەھرىرلەندى(سۈرەت)" #: src/olympusmn.cpp:804 #, fuzzy msgid "WB Color Temp" msgstr "رەڭ تۈسى" #: src/olympusmn.cpp:805 msgid "WB Gray Point" msgstr "" #: src/olympusmn.cpp:815 #, fuzzy msgid "Raw Development Version" msgstr "ئۈسكۈنەنەشىرى" #: src/olympusmn.cpp:815 #, fuzzy msgid "Raw development version" msgstr "ئۈسكۈنەنەشىرى" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 msgid "Exposure Bias Value" msgstr "يورۇتۇش تولۇقلاش قىممىتى" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 msgid "Exposure bias value" msgstr "يورۇتۇش تولۇقلاش قىممىتى" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White Balance Value" msgstr "ئاق تەڭپۇڭلۇق قىممىتى" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 msgid "White balance value" msgstr "ئاق تەڭپۇڭلۇق قىممىتى" #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 #, fuzzy msgid "WB Fine Adjustment" msgstr "ئاپتوماتىك فوكۇس تەڭشەش" #: src/olympusmn.cpp:818 #, fuzzy msgid "WB fine adjustment" msgstr "رەڭ فازىسىنى تەڭشەش" #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 #, fuzzy msgid "Gray Point" msgstr "AFنوقتا" #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 #, fuzzy msgid "Gray point" msgstr "ئاپتوماتىك فوكۇس نوقتا" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation Emphasis" msgstr "تويۇنۇش دەرىجىسىنى تەكىتلەش" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 msgid "Saturation emphasis" msgstr "تويۇنۇش دەرىجىسىنى تەكىتلەش" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory Color Emphasis" msgstr "رەڭ ئەسلىكىنى تەكىتلەش" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 msgid "Memory color emphasis" msgstr "رەڭ ئەسلىكىنى تەكىتلەش" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast Value" msgstr "سىلىشتۇرما قىممەت" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 msgid "Contrast value" msgstr "سىلىشتۇرما قىممەت" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness Value" msgstr "رۇشەنلەشتۈرۈش قىممىتى" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 msgid "Sharpness value" msgstr "رۇشەنلەشتۈرۈش قىممىتى" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 msgid "Engine" msgstr "ماتور" #: src/olympusmn.cpp:827 msgid "Edit status" msgstr "تەھرىرلەش ھالىتى" #: src/olympusmn.cpp:828 msgid "Settings" msgstr "تەڭشەكلەر" #: src/olympusmn.cpp:830 #, fuzzy msgid "Unknown OlympusRd tag" msgstr "نامەلۇم خەتكۈش" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw Development 2 Version" msgstr "ئۈسكۈنەنەشىرى" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw development 2 version" msgstr "ئۈسكۈنەنەشىرى" #: src/olympusmn.cpp:889 msgid "White balance fine adjustment" msgstr "ئاق تەڭپۇڭلۇقنى ئىنچىكە تەڭشەش" #: src/olympusmn.cpp:899 msgid "PM Saturation" msgstr "چۈشتىن كىيىنكى تويۇنۇش دەرىجىسى" #: src/olympusmn.cpp:900 msgid "PM Contrast" msgstr "چ ك ئاق قارىلىق" #: src/olympusmn.cpp:901 msgid "PM Sharpness" msgstr "چ ك رۇشەنلەشتۈرۈش" #: src/olympusmn.cpp:902 msgid "PM BW Filter" msgstr "چ ك BWسۈزگۈچ" #: src/olympusmn.cpp:902 msgid "PM BW filter" msgstr "چ ك BWسۈزگۈچ" #: src/olympusmn.cpp:903 msgid "PM Picture Tone" msgstr "رەڭ تۈسۈم" #: src/olympusmn.cpp:903 msgid "PM picture tone" msgstr "رەڭ تۈسۈم" #: src/olympusmn.cpp:906 msgid "Auto Gradation" msgstr "ئاپتوماتىك قاتلام" #: src/olympusmn.cpp:906 msgid "Auto gradation" msgstr "ئاپتوماتىك قاتلام" #: src/olympusmn.cpp:907 msgid "PM Noise Filter" msgstr "چ ك شاۋقۇن سۈزگۈچ" #: src/olympusmn.cpp:907 msgid "Picture mode noise filter" msgstr "رەسىم شاۋقۇن سۈزگۈچ ھالىتى" #: src/olympusmn.cpp:909 #, fuzzy msgid "Unknown OlympusRd2 tag" msgstr "نامەلۇم خەتكۈش" #: src/olympusmn.cpp:920 #, fuzzy msgid "On (2 frames)" msgstr "(2 )دا" #: src/olympusmn.cpp:921 msgid "On (3 frames)" msgstr "" #: src/olympusmn.cpp:938 msgid "Image Processing Version" msgstr "سۈرەتچىلىك نەشىرى" #: src/olympusmn.cpp:938 msgid "Image processing version" msgstr "سۈرەتچىلىك نەشىرى" #: src/olympusmn.cpp:940 #, fuzzy msgid "WB RB Levels 3000K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:940 #, fuzzy msgid "WB RB levels 3000K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:941 #, fuzzy msgid "WB RB Levels 3300K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:941 #, fuzzy msgid "WB RB levels 3300K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:942 #, fuzzy msgid "WB RB Levels 3600K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:942 #, fuzzy msgid "WB RB levels 3600K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:943 #, fuzzy msgid "WB RB Levels 3900K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:943 #, fuzzy msgid "WB RB levels 3900K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:944 #, fuzzy msgid "WB RB Levels 4000K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:944 #, fuzzy msgid "WB RB levels 4000K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:945 #, fuzzy msgid "WB RB Levels 4300K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:945 #, fuzzy msgid "WB RB levels 4300K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:946 #, fuzzy msgid "WB RB Levels 4500K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:946 #, fuzzy msgid "WB RB levels 4500K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:947 #, fuzzy msgid "WB RB Levels 4800K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:947 #, fuzzy msgid "WB RB levels 4800K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:948 #, fuzzy msgid "WB RB Levels 5300K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:948 #, fuzzy msgid "WB RB levels 5300K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:949 #, fuzzy msgid "WB RB Levels 6000K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:949 #, fuzzy msgid "WB RB levels 6000K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:950 #, fuzzy msgid "WB RB Levels 6600K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:950 #, fuzzy msgid "WB RB levels 6600K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:951 #, fuzzy msgid "WB RB Levels 7500K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:951 #, fuzzy msgid "WB RB levels 7500K" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:952 #, fuzzy msgid "WB RB Levels CWB1" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:952 #, fuzzy msgid "WB RB levels CWB1" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:953 #, fuzzy msgid "WB RB Levels CWB2" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:953 #, fuzzy msgid "WB RB levels CWB2" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:954 #, fuzzy msgid "WB RB Levels CWB3" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:954 #, fuzzy msgid "WB RB levels CWB3" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:955 #, fuzzy msgid "WB RB Levels CWB4" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:955 #, fuzzy msgid "WB RB levels CWB4" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:956 #, fuzzy msgid "WB G Level 3000K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:956 #, fuzzy msgid "WB G level 3000K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:957 #, fuzzy msgid "WB G Level 3300K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:957 #, fuzzy msgid "WB G level 3300K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:958 #, fuzzy msgid "WB G Level 3600K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:958 #, fuzzy msgid "WB G level 3600K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:959 #, fuzzy msgid "WB G Level 3900K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:959 #, fuzzy msgid "WB G level 3900K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:960 #, fuzzy msgid "WB G Level 4000K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:960 #, fuzzy msgid "WB G level 4000K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:961 #, fuzzy msgid "WB G Level 4300K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:961 #, fuzzy msgid "WB G level 4300K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:962 #, fuzzy msgid "WB G Level 4500K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:962 #, fuzzy msgid "WB G level 4500K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:963 #, fuzzy msgid "WB G Level 4800K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:963 #, fuzzy msgid "WB G level 4800K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:964 #, fuzzy msgid "WB G Level 5300K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:964 #, fuzzy msgid "WB G level 5300K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:965 #, fuzzy msgid "WB G Level 6000K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:965 #, fuzzy msgid "WB G level 6000K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:966 #, fuzzy msgid "WB G Level 6600K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:966 #, fuzzy msgid "WB G level 6600K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:967 #, fuzzy msgid "WB G Level 7500K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:967 #, fuzzy msgid "WB G level 7500K" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G Level" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G level" msgstr "GRBGدەرىجىسى ئاق تەڭپۇڭلۇقى" #: src/olympusmn.cpp:970 msgid "Enhancer" msgstr "كۈچەيتكۈچى" #: src/olympusmn.cpp:971 msgid "Enhancer Values" msgstr "كۈچەيتكۈچى قىممەت" #: src/olympusmn.cpp:971 msgid "Enhancer values" msgstr "كۈچەيتكۈچى قىممەت" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring Filter" msgstr "رەڭ سۈزگۈچ" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring Values" msgstr "سىلىشتۇرما قىممەت" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring values" msgstr "سىلىشتۇرما قىممەت" #: src/olympusmn.cpp:974 src/tags.cpp:915 msgid "Black Level" msgstr "قارىلىق دەرىجىسى" #: src/olympusmn.cpp:975 msgid "Gain Base" msgstr "ئاساسى پايدا" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "ئاساسى پايدا" #: src/olympusmn.cpp:976 msgid "Valid Bits" msgstr "ئىناۋەتلىك بىت" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 msgid "Crop Left" msgstr "سولغا قىسقارتىش" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 msgid "Crop left" msgstr "سولغا قىسقارتىش" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 msgid "Crop Top" msgstr "ئۈستىگە قىسقارتىش" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 msgid "Crop top" msgstr "ئۈستىگە قىسقارتىش" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 msgid "Crop Width" msgstr "كەڭلىكىنى قىسقارتىش" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 msgid "Crop width" msgstr "كەڭلىكىنى قىسقارتىش" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 msgid "Crop Height" msgstr "ئېگىزلىكىنى قىسقارتىش" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 msgid "Crop height" msgstr "ئېگىزلىكىنى قىسقارتىش" #: src/olympusmn.cpp:984 msgid "Multiple Exposure Mode" msgstr "كۆپ خىل نۇر ئۆتكۈزۈش ھالىتى" #: src/olympusmn.cpp:984 msgid "Multiple exposure mode" msgstr "كۆپ خىل نۇر ئۆتكۈزۈش ھالىتى" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 msgid "Aspect Ratio" msgstr "ئۇزۇنلۇق كەڭلىك نىسبىتى" #: src/olympusmn.cpp:985 msgid "Aspect ratio" msgstr "ئۇزۇنلۇق كەڭلىك نىسبىتى" #: src/olympusmn.cpp:986 msgid "Aspect Frame" msgstr "قىياپەت كاندۇك" #: src/olympusmn.cpp:986 msgid "Aspect frame" msgstr "قىياپەت كاندۇك" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 msgid "Face Detect" msgstr "چىراي بايقاش" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 #, fuzzy msgid "Face detect" msgstr "چىراي بايقاش" #: src/olympusmn.cpp:988 msgid "Face Detect Area" msgstr "چىراي بايقاش رايۇنى" #: src/olympusmn.cpp:988 msgid "Face detect area" msgstr "چىراي بايقاش رايۇنى" #: src/olympusmn.cpp:990 #, fuzzy msgid "Unknown OlympusIp tag" msgstr "نامەلۇم خەتكۈش" #: src/olympusmn.cpp:1000 msgid "Bounce or Off" msgstr "" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "بىۋاستە" #: src/olympusmn.cpp:1005 msgid "Focus Info Version" msgstr "فوكۇس ئۇچۇرى نەشىرى" #: src/olympusmn.cpp:1005 msgid "Focus info version" msgstr "فوكۇس ئۇچۇرى نەشىرى" #: src/olympusmn.cpp:1006 msgid "Auto Focus" msgstr "ئاپتوماتىك فوكۇس" #: src/olympusmn.cpp:1007 msgid "Scene Detect" msgstr "كۆرۈنۈش بايقاش" #: src/olympusmn.cpp:1007 msgid "Scene detect" msgstr "كۆرۈنۈش بايقاش" #: src/olympusmn.cpp:1008 msgid "Scene Area" msgstr "كۆرۈنۈش رايۇنى" #: src/olympusmn.cpp:1008 msgid "Scene area" msgstr "كۆرۈنۈش رايۇنى" #: src/olympusmn.cpp:1009 msgid "Scene Detect Data" msgstr "كۆرۈنۈش بايقاش سانلىق مەلۇماتى" #: src/olympusmn.cpp:1009 msgid "Scene detect data" msgstr "كۆرۈنۈش بايقاش سانلىق مەلۇماتى" #: src/olympusmn.cpp:1010 msgid "Zoom Step Count" msgstr "قەدەم سانىنى كېڭەت تارايت" #: src/olympusmn.cpp:1011 msgid "Focus Step Count" msgstr "فوكۇس قەدەم سانىنى كېڭەيت تارايت" #: src/olympusmn.cpp:1011 msgid "Focus step count" msgstr "فوكۇس قەدەم سانىنى كېڭەيت تارايت" #: src/olympusmn.cpp:1012 msgid "Focus Step Infinity" msgstr "فوكۇس قەدىمى چەكسىز" #: src/olympusmn.cpp:1012 msgid "Focus step infinity" msgstr "فوكۇس قەدىمى چەكسىز" #: src/olympusmn.cpp:1013 msgid "Focus Step Near" msgstr "فوكۇس قەدەم سانى يېقىن" #: src/olympusmn.cpp:1013 msgid "Focus step near" msgstr "فوكۇس قەدەم سانى يېقىن" #: src/olympusmn.cpp:1016 #, fuzzy msgid "External Flash" msgstr "سىرىتقى چاقماق" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External Flash Guide Number" msgstr "سىرىتقى چاقماق" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External flash guide number" msgstr "سىرىتقى چاقماق" #: src/olympusmn.cpp:1021 #, fuzzy msgid "Manual Flash" msgstr "چاقناشنى قولىدا چىقىرىش" #: src/olympusmn.cpp:1021 #, fuzzy msgid "Manual flash" msgstr "چاقناشنى قولىدا چىقىرىش" #: src/olympusmn.cpp:1025 #, fuzzy msgid "Unknown OlympusFi tag" msgstr "نامەلۇم خەتكۈش" #: src/olympusmn.cpp:1036 #, fuzzy msgid "Unknown OlympusFe tag" msgstr "نامەلۇم خەتكۈش" #: src/olympusmn.cpp:1049 #, fuzzy msgid "Fine Weather" msgstr "ئوچۇق" #: src/olympusmn.cpp:1050 #, fuzzy msgid "Tungsten (incandescent)" msgstr "ۋولفرام لامپا (چوغلانما لامپا)" #: src/olympusmn.cpp:1051 #, fuzzy msgid "Evening Sunlight" msgstr "كىچە مەنزىرىسى" #: src/olympusmn.cpp:1052 #, fuzzy msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "كۈن نۇرلۇق يالتىراق لامپا" #: src/olympusmn.cpp:1053 msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "" #: src/olympusmn.cpp:1054 msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "" #: src/olympusmn.cpp:1055 msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "" #: src/olympusmn.cpp:1056 #, fuzzy msgid "One Touch White Balance" msgstr "چەكمە ئاق تەڭپۇقلۇق" #: src/olympusmn.cpp:1057 msgid "Custom 1-4" msgstr "ئىختىيارىچە1-4" #: src/olympusmn.cpp:1061 #, fuzzy msgid "Raw Info Version" msgstr "فوكۇس ئۇچۇرى نەشىرى" #: src/olympusmn.cpp:1061 #, fuzzy msgid "Raw info version" msgstr "فوكۇس ئۇچۇرى نەشىرى" #: src/olympusmn.cpp:1062 #, fuzzy msgid "WB_RB Levels Used" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:1062 #, fuzzy msgid "WB_RB levels used" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:1063 #, fuzzy msgid "WB_RB Levels Auto" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:1063 #, fuzzy msgid "WB_RB levels auto" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:1064 #, fuzzy msgid "WB_RB Levels Shade" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:1064 #, fuzzy msgid "WB_RB levels shade" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:1065 #, fuzzy msgid "WB_RB Levels Cloudy" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:1065 #, fuzzy msgid "WB_RB levels cloudy" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:1066 msgid "WB_RB Levels Fine Weather" msgstr "" #: src/olympusmn.cpp:1066 msgid "WB_RB levels fine weather" msgstr "" #: src/olympusmn.cpp:1067 #, fuzzy msgid "WB_RB Levels Tungsten" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:1067 #, fuzzy msgid "WB_RB levels tungsten" msgstr "RB ئاق تەڭپۇڭلۇق دەرىجىسى" #: src/olympusmn.cpp:1068 msgid "WB_RB Levels Evening Sunlight" msgstr "" #: src/olympusmn.cpp:1068 msgid "WB_RB levels evening sunlight" msgstr "" #: src/olympusmn.cpp:1069 msgid "WB_RB Levels Daylight Fluor" msgstr "" #: src/olympusmn.cpp:1069 msgid "WB_RB levels daylight fluor" msgstr "" #: src/olympusmn.cpp:1070 msgid "WB_RB Levels Day White Fluor" msgstr "" #: src/olympusmn.cpp:1070 msgid "WB_RB levels day white fluor" msgstr "" #: src/olympusmn.cpp:1071 msgid "WB_RB Levels Cool White Fluor" msgstr "" #: src/olympusmn.cpp:1071 msgid "WB_RB levels cool white fluor" msgstr "" #: src/olympusmn.cpp:1072 #, fuzzy msgid "WB_RB Levels White Fluorescent" msgstr "كۈن نۇرلۇق يالتىراق لامپا" #: src/olympusmn.cpp:1072 msgid "WB_RB levels white fluorescent" msgstr "" #: src/olympusmn.cpp:1073 msgid "Color Matrix2" msgstr "رەڭ ماترىتسا2" #: src/olympusmn.cpp:1073 msgid "Color matrix 2" msgstr "رەك ماترىتساسى2" #: src/olympusmn.cpp:1076 msgid "Black Level 2" msgstr "قارىلىق دەرىجىسى2" #: src/olympusmn.cpp:1076 msgid "Black level 2" msgstr "قارىلىق دەرىجىسى2" #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 msgid "YCbCr Coefficients" msgstr "YCbCrكوئېففىتسېنتى" #: src/olympusmn.cpp:1077 msgid "YCbCr coefficients" msgstr "YCbCrكوئېففىتسېنتى" #: src/olympusmn.cpp:1078 msgid "Valid Pixel Depth" msgstr "پىكسىل چوڭقۇرلۇقى ئىناۋەتسىز" #: src/olympusmn.cpp:1078 msgid "Valid pixel depth" msgstr "پىكسىل چوڭقۇرلۇقى ئىناۋەتسىز" #: src/olympusmn.cpp:1084 msgid "White Balance Comp" msgstr "ئاق تەڭپۇڭلۇق سېلىشتۇرمىسى" #: src/olympusmn.cpp:1084 msgid "White balance comp" msgstr "ئاق تەڭپۇڭلۇق سېلىشتۇرمىسى" #: src/olympusmn.cpp:1085 msgid "Saturation Setting" msgstr "تويۇنۇش تەڭشىكى" #: src/olympusmn.cpp:1086 msgid "Hue Setting" msgstr "رەڭ فازىسى تەڭشىكى" #: src/olympusmn.cpp:1086 msgid "Hue setting" msgstr "رەڭ فازىسى تەڭشىكى" #: src/olympusmn.cpp:1089 msgid "CM Exposure Compensation" msgstr "CMنۇر ئۆتكۈزۈشنى تولۇقلاش" #: src/olympusmn.cpp:1089 msgid "CM exposure compensation" msgstr "CMنۇر ئۆتكۈزۈشنى تولۇقلاش" #: src/olympusmn.cpp:1090 msgid "CM White Balance" msgstr "CMئاق تەڭپۇڭلۇق" #: src/olympusmn.cpp:1090 msgid "CM white balance" msgstr "CMئاق تەڭپۇڭلۇق" #: src/olympusmn.cpp:1091 msgid "CM White Balance Comp" msgstr "CMئاق تەڭپۇڭلۇقنى سېلىشتۇرۇش" #: src/olympusmn.cpp:1091 msgid "CM white balance comp" msgstr "CMئاق تەڭپۇڭلۇقنى سېلىشتۇرۇش" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM White Balance Gray Point" msgstr "CMئاق تەڭپۇڭلۇقنى سېلىشتۇرۇش" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM white balance gray point" msgstr "CMئاق تەڭپۇڭلۇقنى سېلىشتۇرۇش" #: src/olympusmn.cpp:1093 msgid "CM Saturation" msgstr "CMتويۇنۇش دەرىجىسى" #: src/olympusmn.cpp:1093 msgid "CM saturation" msgstr "CMتويۇنۇش دەرىجىسى" #: src/olympusmn.cpp:1094 msgid "CM Hue" msgstr "CMرەڭ فازىسى" #: src/olympusmn.cpp:1094 msgid "CM hue" msgstr "CMرەڭ فازىسى" #: src/olympusmn.cpp:1095 msgid "CM Contrast" msgstr "CMئاق قارىلىق" #: src/olympusmn.cpp:1095 msgid "CM contrast" msgstr "CMئاق قارىلىق" #: src/olympusmn.cpp:1096 msgid "CM Sharpness" msgstr "CMرۇشەنلەشتۈرۈش" #: src/olympusmn.cpp:1096 msgid "CM sharpness" msgstr "CMرۇشەنلەشتۈرۈش" #: src/olympusmn.cpp:1098 #, fuzzy msgid "Unknown OlympusRi tag" msgstr "نامەلۇم خەتكۈش" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 msgid "User-Selected" msgstr "ئىشلەتكۈچى تاللاندى" #: src/olympusmn.cpp:1122 msgid "Auto-Override" msgstr "ئاپتوماتىك قاپلاش" #: src/olympusmn.cpp:1158 msgid "Fast" msgstr "تېز" #: src/olympusmn.cpp:1223 msgid "3000 Kelvin" msgstr "3000 كېلۋىن‏" #: src/olympusmn.cpp:1224 msgid "3700 Kelvin" msgstr "3700 كېلۋىن‏" #: src/olympusmn.cpp:1225 msgid "4000 Kelvin" msgstr "4000 كېلۋىن‏" #: src/olympusmn.cpp:1226 msgid "4500 Kelvin" msgstr "4500 كېلۋىن‏" #: src/olympusmn.cpp:1227 msgid "5500 Kelvin" msgstr "5500 كېلۋىن‏" #: src/olympusmn.cpp:1228 msgid "6500 Kelvin" msgstr "6500 كېلۋىن‏" #: src/olympusmn.cpp:1229 msgid "7500 Kelvin" msgstr "7500 كېلۋىن‏" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "چەكمە" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "" #: src/olympusmn.cpp:1456 #, fuzzy msgid "Imager AF" msgstr "سۈرەت چوڭلۇقى" #: src/olympusmn.cpp:1457 #, fuzzy msgid "AF sensor" msgstr "ئاپتوماتىك فۇكۇس ئىزدەش" #: src/olympusmn.cpp:1502 #, fuzzy msgid "Soft Focus" msgstr "فوكۇس نوقتا" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "" #: src/olympusmn.cpp:1505 #, fuzzy msgid "Light Tone" msgstr "ئوڭ رايۇن" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "" #: src/olympusmn.cpp:1508 #, fuzzy msgid "Diorama" msgstr "Panorama" #: src/olympusmn.cpp:1509 #, fuzzy msgid "Cross Process" msgstr "فوكۇسنى توغرىلاش" #: src/olympusmn.cpp:1510 msgid "Fish Eye" msgstr "بېلىق كۆز" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "سىزمىچىلىق" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "" #: src/olympusmn.cpp:1513 msgid "Pale & Light Color II" msgstr "" #: src/olympusmn.cpp:1514 msgid "Pop Art II" msgstr "" #: src/olympusmn.cpp:1515 msgid "Pin Hole II" msgstr "" #: src/olympusmn.cpp:1516 msgid "Pin Hole III" msgstr "" #: src/olympusmn.cpp:1517 msgid "Grainy Film II" msgstr "" #: src/olympusmn.cpp:1518 msgid "Dramatic Tone" msgstr "" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "" #: src/olympusmn.cpp:1520 #, fuzzy msgid "Soft Focus 2" msgstr "فوكۇس نوقتا" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "" #: src/olympusmn.cpp:1522 #, fuzzy msgid "Watercolor" msgstr "تەبىئىي رەڭ" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "" #: src/olympusmn.cpp:1525 #, fuzzy msgid "Miniature" msgstr "ئەڭ كىچىك نۇر گەردىشى" #: src/olympusmn.cpp:1526 #, fuzzy msgid "Reflection" msgstr "تاللاش" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "" #: src/olympusmn.cpp:1528 #, fuzzy msgid "Cross Process II" msgstr "فوكۇسنى توغرىلاش" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "" #: src/olympusmn.cpp:1530 #, fuzzy msgid "Watercolor I" msgstr "تەبىئىي رەڭ" #: src/olympusmn.cpp:1531 #, fuzzy msgid "Watercolor II" msgstr "تەبىئىي رەڭ" #: src/olympusmn.cpp:1532 msgid "Diorama II" msgstr "" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "" #: src/olympusmn.cpp:1534 msgid "Vintage II" msgstr "" #: src/olympusmn.cpp:1535 msgid "Vintage III" msgstr "" #: src/olympusmn.cpp:1536 #, fuzzy msgid "Partial Color" msgstr "تەبىئىي رەڭ" #: src/olympusmn.cpp:1537 #, fuzzy msgid "Partial Color II" msgstr "تەبىئىي رەڭ" #: src/olympusmn.cpp:1538 #, fuzzy msgid "Partial Color III" msgstr "تەبىئىي رەڭ" #: src/olympusmn.cpp:1608 #, fuzzy msgid "Left (or n/a)" msgstr "سول(توغرىسى)" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 msgid "Center (horizontal)" msgstr "مەركەز( توغرىسى)" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 msgid "Center (vertical)" msgstr "مەركەز(تىك)" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "ئۈستى سول(توغرىسى)" #: src/olympusmn.cpp:1623 msgid "Top-center (horizontal)" msgstr "ئۈستى مەركەز(توغرىسى" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "ئۈستى ئوڭ(توغرىسى)" #: src/olympusmn.cpp:1625 msgid "Left (horizontal)" msgstr "سول(توغرىسى)" #: src/olympusmn.cpp:1626 msgid "Mid-left (horizontal)" msgstr "ئوتتۇرا سول(توغرىسى)" #: src/olympusmn.cpp:1628 msgid "Mid-right (horizontal)" msgstr "ئوتتۇرا ئوڭ(توغرىسى)" #: src/olympusmn.cpp:1629 msgid "Right (horizontal)" msgstr "ئوڭ(توغرىسى)" #: src/olympusmn.cpp:1630 msgid "Bottom-left (horizontal)" msgstr "تۆۋەنكى سول(توغرىسى)" #: src/olympusmn.cpp:1631 msgid "Bottom-center (horizontal)" msgstr "تۆۋەنكى مەركەز(توغرىسى)" #: src/olympusmn.cpp:1632 msgid "Bottom-right (horizontal)" msgstr "تۆۋەنكى ئوڭ(توغرىسى)" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "ئۈستى سول(تىك)" #: src/olympusmn.cpp:1634 msgid "Top-center (vertical)" msgstr "ئۈستى مەركەز" #: src/olympusmn.cpp:1635 msgid "Top-right (vertical)" msgstr "ئۈستى ئوڭ(تىك)" #: src/olympusmn.cpp:1636 msgid "Left (vertical)" msgstr "سول(تىك)" #: src/olympusmn.cpp:1637 msgid "Mid-left (vertical)" msgstr "ئوتتۇرا سول(تىك)" #: src/olympusmn.cpp:1639 msgid "Mid-right (vertical)" msgstr "ئوتتۇرا ئوڭ( تىك)" #: src/olympusmn.cpp:1640 msgid "Right (vertical)" msgstr "ئوڭ(تىك)" #: src/olympusmn.cpp:1641 msgid "Bottom-left (vertical)" msgstr "تۆۋەنكى سول(تىك)" #: src/olympusmn.cpp:1642 msgid "Bottom-center (vertical)" msgstr "تۆۋەنكى مەركەز(تىك)" #: src/olympusmn.cpp:1643 msgid "Bottom-right (vertical)" msgstr "تۆۋەنكى ئوڭ(تىك)" #: src/olympusmn.cpp:1680 msgid "Single Target" msgstr "يەككە نىشان" #: src/olympusmn.cpp:1681 msgid "All Target" msgstr "بارلىق نىشان" #: src/olympusmn.cpp:1682 msgid "Dynamic Single Target" msgstr "ھەركەتچان يەككە نىشان" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "TIFF" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 msgid "Very High" msgstr "ناھايىتى يۇقىرى" #: src/panasonicmn.cpp:60 msgid "Motion Picture" msgstr "ھەركەت رەسىمى" #: src/panasonicmn.cpp:61 #, fuzzy msgid "Full HD Movie" msgstr "كىچىك فىلىم" #: src/panasonicmn.cpp:62 #, fuzzy msgid "4k Movie" msgstr "كىنو" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "" #: src/panasonicmn.cpp:83 #, fuzzy msgid "Auto, focus button" msgstr "ئاپتوماتىك فوكۇس" #: src/panasonicmn.cpp:84 #, fuzzy msgid "Auto, continuous" msgstr "UHSئۆزلۈكسىزلىكى" #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "" #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 #, fuzzy msgid "Panning" msgstr "ئاگاھلاندۇرۇش" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "" #: src/panasonicmn.cpp:104 #, fuzzy msgid "Macro-zoom" msgstr "ماكرو" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 #, fuzzy msgid "Scenery" msgstr "كۆرۈنۈش رايۇنى" #: src/panasonicmn.cpp:117 #, fuzzy msgid "Shutter-speed priority" msgstr "تېز قاپقاقنىڭ ئالدىنلىقى" #: src/panasonicmn.cpp:121 msgid "Movie preview" msgstr "كىنونى ئالدىن كۈزىتىش" #: src/panasonicmn.cpp:123 msgid "Simple" msgstr "ئاددىي" #: src/panasonicmn.cpp:124 msgid "Color effects" msgstr "رەڭ ئۈنۈملىرى" #: src/panasonicmn.cpp:130 #, fuzzy msgid "Night scenery" msgstr "كەچلىك مەنزىرە" #: src/panasonicmn.cpp:132 msgid "Baby" msgstr "" #: src/panasonicmn.cpp:133 #, fuzzy msgid "Soft skin" msgstr "يۇمشاق" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 #, fuzzy msgid "Candlelight" msgstr "شام" #: src/panasonicmn.cpp:135 #, fuzzy msgid "Starry night" msgstr "يورۇق ئاسمان" #: src/panasonicmn.cpp:136 #, fuzzy msgid "High sensitivity" msgstr "ئەڭ يۇقىرى" #: src/panasonicmn.cpp:137 #, fuzzy msgid "Panorama assist" msgstr "Panorama" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 #, fuzzy msgid "Intelligent ISO" msgstr "ئىنتېرۋال ئۇزۇنلۇقى" #: src/panasonicmn.cpp:144 #, fuzzy msgid "Clipboard" msgstr "ئاق تاختاي" #: src/panasonicmn.cpp:145 #, fuzzy msgid "High speed continuous shooting" msgstr "ۆزلۈكسىز فوكۇس تەڭشىكى" #: src/panasonicmn.cpp:146 msgid "Intelligent auto" msgstr "" #: src/panasonicmn.cpp:147 #, fuzzy msgid "Multi-aspect" msgstr "كۆپ سېگمىت" #: src/panasonicmn.cpp:148 msgid "Transform" msgstr "" #: src/panasonicmn.cpp:149 #, fuzzy msgid "Flash Burst" msgstr "چاقناش پەرقى" #: src/panasonicmn.cpp:151 msgid "Film Grain" msgstr "" #: src/panasonicmn.cpp:152 #, fuzzy msgid "My Color" msgstr "رەڭلىرىم" #: src/panasonicmn.cpp:153 #, fuzzy msgid "Photo Frame" msgstr "كاندۇك تولۇق مەنزىرە" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 msgid "Handheld Night Shot" msgstr "" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 #, fuzzy msgid "Creative Control" msgstr "يىراقتا تىزگىنلەش" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 msgid "Digital Filter" msgstr "رەقەملىك سۈزگۈچ" #: src/panasonicmn.cpp:162 #, fuzzy msgid "Clear Portrait" msgstr "بوي يۆنىلىش" #: src/panasonicmn.cpp:163 msgid "Silky Skin" msgstr "" #: src/panasonicmn.cpp:164 msgid "Backlit Softness" msgstr "" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "" #: src/panasonicmn.cpp:166 #, fuzzy msgid "Relaxing Tone" msgstr "مۇناسىۋەت" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "" #: src/panasonicmn.cpp:168 #, fuzzy msgid "Distinct Scenery" msgstr "شامال مەنزىرىسى" #: src/panasonicmn.cpp:169 #, fuzzy msgid "Bright Blue Sky" msgstr "يورۇقلۇق دەرىجىسى قىممىتى" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "" #: src/panasonicmn.cpp:177 #, fuzzy msgid "Glittering Illuminations" msgstr "ئاپتوماتىك فوكۇس يورۇتۇش دائىرىسى" #: src/panasonicmn.cpp:178 #, fuzzy msgid "Clear Night Portrait" msgstr "كېچە رەسىمى" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "" #: src/panasonicmn.cpp:181 msgid "Cute Desert" msgstr "" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "" #: src/panasonicmn.cpp:183 msgid "Clear Sports Shot" msgstr "" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "" #: src/panasonicmn.cpp:198 msgid "Warm" msgstr "ئىللىق" #: src/panasonicmn.cpp:199 msgid "Cool" msgstr "سوغۇق" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "" #: src/panasonicmn.cpp:208 #, fuzzy msgid "Low/High quality" msgstr "يۇقۇرى سۈپەت (HQ)" #: src/panasonicmn.cpp:209 msgid "Infinite" msgstr "چەكسىز" #: src/panasonicmn.cpp:217 #, fuzzy msgid "Medium low" msgstr "ئوتتۇرا1" #: src/panasonicmn.cpp:218 #, fuzzy msgid "Medium high" msgstr "ئوتتۇرا1" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "تۆۋەن(-1(" #: src/panasonicmn.cpp:229 msgid "High (+1)" msgstr "يۇقىرى(+1)" #: src/panasonicmn.cpp:230 msgid "Lowest (-2)" msgstr "ئەڭ تۆۋەن(-2)" #: src/panasonicmn.cpp:231 msgid "Highest (+2)" msgstr "ئەڭ يۇقىرى(+2)" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 #, fuzzy msgid "Rotate 180" msgstr "°90تەتۈر ئايلاندۇر" #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "" #: src/panasonicmn.cpp:254 #, fuzzy msgid "Disabled but Required" msgstr "زۆرۈر ئەمەس" #: src/panasonicmn.cpp:255 #, fuzzy msgid "Disabled and Not Required" msgstr "زۆرۈر ئەمەس" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "" #: src/panasonicmn.cpp:282 src/properties.cpp:915 msgid "Home" msgstr "ماكان" #: src/panasonicmn.cpp:294 msgid "Standard (color)" msgstr "ئۆلچەم(رەڭ)" #: src/panasonicmn.cpp:295 msgid "Dynamic (color)" msgstr "ھەرىكەتچان(رەڭ)" #: src/panasonicmn.cpp:296 msgid "Nature (color)" msgstr "سۈپەت(رەڭ)" #: src/panasonicmn.cpp:297 msgid "Smooth (color)" msgstr "پارقىراق" #: src/panasonicmn.cpp:298 msgid "Standard (B&W)" msgstr "ئۆلچەم(B&W)" #: src/panasonicmn.cpp:299 msgid "Dynamic (B&W)" msgstr "ھەرىكەتچان (B&W)" #: src/panasonicmn.cpp:300 msgid "Smooth (B&W)" msgstr "پارقىراق (B&W)" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "" #: src/panasonicmn.cpp:307 #, fuzzy msgid "No Bracket" msgstr "تىرناق" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:319 #, fuzzy msgid "1st" msgstr "10s" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "" #: src/panasonicmn.cpp:349 #, fuzzy msgid "Extended" msgstr "قوشۇمچە" #: src/panasonicmn.cpp:368 #, fuzzy msgid "NoAuto" msgstr "ئاپتوماتىك" #: src/panasonicmn.cpp:369 #, fuzzy msgid "Standard or Custom" msgstr "ئۆلچەملىك تىپ" #: src/panasonicmn.cpp:386 #, fuzzy msgid "Rotate CW" msgstr "°90تەتۈر ئايلاندۇر" #: src/panasonicmn.cpp:388 #, fuzzy msgid "Rotate CCW" msgstr "°90تەتۈر ئايلاندۇر" #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "" #: src/panasonicmn.cpp:396 #, fuzzy msgid "Left to Right" msgstr "سولدىن ئوڭغا" #: src/panasonicmn.cpp:397 #, fuzzy msgid "Right to Left" msgstr "ئوڭدىن سولغا" #: src/panasonicmn.cpp:398 #, fuzzy msgid "Top to Bottom" msgstr "ئۈستىدىن ئاستىغا" #: src/panasonicmn.cpp:399 #, fuzzy msgid "Bottom to Top" msgstr "ئاستىدىن ئۈستىگە" #: src/panasonicmn.cpp:405 #, fuzzy msgid "Time Lapse" msgstr "يوللىغان ۋاقىت" #: src/panasonicmn.cpp:406 #, fuzzy msgid "Stop-Motion Animation" msgstr "ئاپتوماتىك فوكۇس ئورنى ئۇچۇرى" #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "" #: src/panasonicmn.cpp:423 #, fuzzy msgid "Electronic" msgstr "تاللاش" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "ئۈن" #: src/panasonicmn.cpp:453 msgid "White balance adjustment" msgstr "ئاق تەڭپۇڭلۇقنى تەڭشەش" #: src/panasonicmn.cpp:454 #, fuzzy msgid "FlashBias" msgstr "چاقناش پەرقى" #: src/panasonicmn.cpp:456 src/tags.cpp:194 msgid "Exif version" msgstr "Exifنەشرى" #: src/panasonicmn.cpp:458 msgid "Color Effect" msgstr "رەڭ ئۈنۈمى" #: src/panasonicmn.cpp:458 msgid "Color effect" msgstr "رەڭ ئۈنۈمى" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" #: src/panasonicmn.cpp:460 #, fuzzy msgid "Burst Mode" msgstr "ئارقىمۇ-ئارقا تارتىش" #: src/panasonicmn.cpp:460 msgid "Burst mode" msgstr "ئارقىمۇ-ئارقا تارتىش" #: src/panasonicmn.cpp:463 msgid "NoiseReduction" msgstr "شاۋقۇننى ئاجىزلىتىش" #: src/panasonicmn.cpp:464 #, fuzzy msgid "Self Timer" msgstr "ئۆزىدىكى ۋاقىت" #: src/panasonicmn.cpp:467 #, fuzzy msgid "AF Assist Lamp" msgstr "AF ياردەمچى" #: src/panasonicmn.cpp:469 msgid "Baby Age 1" msgstr "" #: src/panasonicmn.cpp:469 msgid "Baby (or pet) age 1" msgstr "" #: src/panasonicmn.cpp:470 msgid "Optical Zoom Mode" msgstr "ئوپتىكىلىق كېڭەيت تارايت ھالىتى" #: src/panasonicmn.cpp:470 msgid "Optical zoom mode" msgstr "ئوپتىكىلىق كېڭەيت تارايت ھالىتى" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "" #: src/panasonicmn.cpp:474 msgid "World Time Location" msgstr "دۇنيا ۋاقتى ئورنى" #: src/panasonicmn.cpp:474 msgid "World time location" msgstr "دۇنيا ۋاقتى ئورنى" #: src/panasonicmn.cpp:475 msgid "Text Stamp 1" msgstr "" #: src/panasonicmn.cpp:476 msgid "Program ISO" msgstr "ISOپروگراممىسى" #: src/panasonicmn.cpp:477 #, fuzzy msgid "Advanced Scene Type" msgstr "ئالىي دەرىجە" #: src/panasonicmn.cpp:478 msgid "Text Stamp 2" msgstr "" #: src/panasonicmn.cpp:479 #, fuzzy msgid "Faces detected" msgstr "چىراي بايقاش رايۇنى" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temp Kelvin" msgstr "رەڭلىك تېمپېراتۇرا تەڭشىكى" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temperatur in Kelvin" msgstr "رەڭلىك تېمپېراتۇرا" #: src/panasonicmn.cpp:484 #, fuzzy msgid "Bracket Settings" msgstr "تىرناق" #: src/panasonicmn.cpp:485 #, fuzzy msgid "WB Adjust AB" msgstr "تەڭشە" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "" #: src/panasonicmn.cpp:486 #, fuzzy msgid "WB Adjust GM" msgstr "تەڭشە" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "" #: src/panasonicmn.cpp:487 #, fuzzy msgid "Flash Curtain" msgstr "چاقناش ئۇچۇرى" #: src/panasonicmn.cpp:488 #, fuzzy msgid "Long Shutter Noise Reduction" msgstr "ئۇزۇن ۋاقىت نور ئۆتكۈزۈش شاۋقۇنىنى ئاجىزلىتىش" #: src/panasonicmn.cpp:491 #, fuzzy msgid "AF Point Position" msgstr "ئاپتوماتىك فوكۇس ئورنى" #: src/panasonicmn.cpp:492 #, fuzzy msgid "Face detection info" msgstr "چىراي بايقاش رايۇنى" #: src/panasonicmn.cpp:495 msgid "Accessory Type" msgstr "قوشۇمچە زاپچاسلار تىپى" #: src/panasonicmn.cpp:495 msgid "Accessory type" msgstr "قوشۇمچە زاپچاسلار تىپى" #: src/panasonicmn.cpp:496 #, fuzzy msgid "Accessory Serial Number" msgstr "لىنزا تەرتىپ نومۇرى" #: src/panasonicmn.cpp:497 msgid "Transform 1" msgstr "" #: src/panasonicmn.cpp:498 #, fuzzy msgid "Intelligent Exposure" msgstr "ئاپتوماتىك نۇر ئۆتكۈزۈش" #: src/panasonicmn.cpp:499 #, fuzzy msgid "Firmware Version of the Lens" msgstr "Firmware نەشرى:" #: src/panasonicmn.cpp:500 #, fuzzy msgid "Face recognition info" msgstr "تەۋرىنىشنى ئاجىزلىتىش ئۇچۇرلىرى" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash Warning" msgstr "فۇكۇس ئاگاھلاندۇرۇشى" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash warning" msgstr "مۆلچەر چاقنىشى" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 msgid "Title" msgstr "ماۋزۇ" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby Name" msgstr "تىپ ئاتى" #: src/panasonicmn.cpp:503 msgid "Baby name (or pet name)" msgstr "" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 msgid "Location" msgstr "ئورنى" #: src/panasonicmn.cpp:506 src/properties.cpp:441 msgid "State" msgstr "ھالەت" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "" #: src/panasonicmn.cpp:509 msgid "Intelligent resolution" msgstr "" #: src/panasonicmn.cpp:510 #, fuzzy msgid "Burst Speed" msgstr "قاپقاق تېزلىكى" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "" #: src/panasonicmn.cpp:511 #, fuzzy msgid "Intelligent Dynamic Range" msgstr "ھەركەتچان دائىرىنى ئېچىش" #: src/panasonicmn.cpp:512 msgid "Clear Retouch" msgstr "" #: src/panasonicmn.cpp:513 #, fuzzy msgid "City2" msgstr "شەھەر" #: src/panasonicmn.cpp:515 #, fuzzy msgid "Photo style" msgstr "رەسىم ئۇسلۇبى" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "" #: src/panasonicmn.cpp:518 msgid "Accelerometer X" msgstr "" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "" #: src/panasonicmn.cpp:519 msgid "Accelerometer Y" msgstr "" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "" #: src/panasonicmn.cpp:520 #, fuzzy msgid "Camera Orientation" msgstr "سۈرەت يۇنىلىشى" #: src/panasonicmn.cpp:521 #, fuzzy msgid "Roll Angle" msgstr "بۇلۇڭغا قىسقارتىش" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "" #: src/panasonicmn.cpp:523 #, fuzzy msgid "Sweep Panorama Direction" msgstr "تولۇق مەنزىرە يۆنىلىشى" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "" #: src/panasonicmn.cpp:525 #, fuzzy msgid "Timer Recording" msgstr "ئۆلچەش سائىتىنى ئۆقۇۋاتىدۇ" #: src/panasonicmn.cpp:526 #, fuzzy msgid "Internal ND Filter" msgstr "ئىچكى+سىرىتقى" #: src/panasonicmn.cpp:528 #, fuzzy msgid "Shutter Type" msgstr "قاپقاق تېزلىكى" #: src/panasonicmn.cpp:529 #, fuzzy msgid "Clear Retouch Value" msgstr "نۇر چەمبەر قىممىتى" #: src/panasonicmn.cpp:530 msgid "TouchAE" msgstr "" #: src/panasonicmn.cpp:533 msgid "MakerNote Version" msgstr "زاۋۇت ئىزاھات نەشرى" #: src/panasonicmn.cpp:533 msgid "MakerNote version" msgstr "زاۋۇت ئىزاھات نەشرى" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB Red Level" msgstr "ئاق تەڭپۇڭلۇق قىزىللىق دەرىجىسى" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 msgid "WB red level" msgstr "ئاق تەڭپۇڭلۇق قىزىللىق دەرىجىسى" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB Green Level" msgstr "ئاق تەڭپۇڭلۇق يېشىللىق دەرىجىسى" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 msgid "WB green level" msgstr "ئاق تەڭپۇڭلۇق يېشىللىق دەرىجىسى" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB Blue Level" msgstr "ئاق تەڭپۇڭلۇق كۆك رەڭ دەرىجىسى" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 msgid "WB blue level" msgstr "ئاق تەڭپۇڭلۇق كۆك رەڭ دەرىجىسى" #: src/panasonicmn.cpp:539 msgid "Text Stamp 3" msgstr "" #: src/panasonicmn.cpp:540 msgid "Text Stamp 4" msgstr "" #: src/panasonicmn.cpp:541 msgid "Baby Age 2" msgstr "" #: src/panasonicmn.cpp:541 msgid "Baby (or pet) age 2" msgstr "" #: src/panasonicmn.cpp:542 msgid "Transform 2" msgstr "" #: src/panasonicmn.cpp:544 #, fuzzy msgid "Unknown PanasonicMakerNote tag" msgstr "نامەلۇم Canonياسىغۇچى ئىزاھاتى بەلگىسى" #: src/panasonicmn.cpp:562 msgid "Spot mode on or 9 area" msgstr "" #: src/panasonicmn.cpp:563 #, fuzzy msgid "Spot mode off or 3-area (high speed)" msgstr "1-دائىرە(يۇقىرى سۈرئەت)" #: src/panasonicmn.cpp:564 #, fuzzy msgid "23-area" msgstr "5-دائىرە" #: src/panasonicmn.cpp:565 #, fuzzy msgid "Spot focussing" msgstr "فوكۇس نوقتا" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "5-دائىرە" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "1-دائىرە" #: src/panasonicmn.cpp:568 msgid "1-area (high speed)" msgstr "1-دائىرە(يۇقىرى سۈرئەت)" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "3-دائىرە(ئاپتوماتىك)" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "3-دائىرە(سول)" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "3-دائىرە(مەركەز)" #: src/panasonicmn.cpp:572 msgid "3-area (right)" msgstr "3-دائىرە (ئوڭ)" #: src/panasonicmn.cpp:574 #, fuzzy msgid "Spot Focusing 2" msgstr "فوكۇس نوقتا" #: src/panasonicmn.cpp:588 msgid " EV" msgstr " eV" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 #, fuzzy msgid "not set" msgstr "تەڭشەلمىگەن\n" #: src/panasonicmn.cpp:725 #, fuzzy msgid "Panasonic raw version" msgstr "لىنزا قاتتىق دىتال نەشىرى" #: src/panasonicmn.cpp:726 msgid "Sensor Width" msgstr "كەڭ سەزگۈچ" #: src/panasonicmn.cpp:726 msgid "Sensor width" msgstr "كەڭ سەزگۈچ" #: src/panasonicmn.cpp:727 msgid "Sensor Height" msgstr "ئەڭ يۇقىرى سەزگۈچ" #: src/panasonicmn.cpp:727 msgid "Sensor height" msgstr "ئەڭ يۇقىرى سەزگۈچ" #: src/panasonicmn.cpp:728 msgid "Sensor Top Border" msgstr "سەزگۈچ يۇقىرى گىرۋىكى" #: src/panasonicmn.cpp:728 msgid "Sensor top border" msgstr "سەزگۈچ يۇقىرى گىرۋىكى" #: src/panasonicmn.cpp:729 msgid "Sensor Left Border" msgstr "سەزگۈچ سول گىرۋىكى" #: src/panasonicmn.cpp:729 msgid "Sensor left border" msgstr "سەزگۈچ سول گىرۋىكى" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "" #: src/panasonicmn.cpp:739 src/tags.cpp:469 msgid "Manufacturer" msgstr "ياسىغۇچى سودىگەر" #: src/panasonicmn.cpp:739 msgid "The manufacturer of the recording equipment" msgstr "" #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 msgid "Model" msgstr "ئەندىزە" #: src/panasonicmn.cpp:740 msgid "The model name or model number of the equipment" msgstr "" #: src/panasonicmn.cpp:741 src/tags.cpp:481 #, fuzzy msgid "Strip Offsets" msgstr "ئېغىش" #: src/panasonicmn.cpp:741 #, fuzzy msgid "Strip offsets" msgstr "ئېغىش" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 msgid "Orientation" msgstr "يۆنىلىش" #: src/panasonicmn.cpp:743 msgid "Rows Per Strip" msgstr "" #: src/panasonicmn.cpp:743 msgid "The number of rows per strip" msgstr "" #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip Byte Counts" msgstr "قاپقاق سانى" #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip byte counts" msgstr "قاپقاق سانى1" #: src/panasonicmn.cpp:745 #, fuzzy msgid "Raw Data Offset" msgstr "VRDئېغىشى" #: src/panasonicmn.cpp:745 #, fuzzy msgid "Raw data offset" msgstr "VRDئېغىشى" #: src/panasonicmn.cpp:746 src/tags.cpp:797 msgid "Exif IFD Pointer" msgstr "" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "" #: src/panasonicmn.cpp:747 src/tags.cpp:808 msgid "GPS Info IFD Pointer" msgstr "" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "" #: src/panasonicmn.cpp:749 #, fuzzy msgid "Unknown PanasonicRaw tag" msgstr "نامەلۇم Canon تولۇق مەنزىرە بەلگىسى" #: src/pentaxmn.cpp:57 #, fuzzy msgid "Night-Scene" msgstr "كەچلىك مەنزىرە" #: src/pentaxmn.cpp:199 msgid "Good" msgstr "ياخشى" #: src/pentaxmn.cpp:200 msgid "Better" msgstr "تېخىمۇ ياخشى" #: src/pentaxmn.cpp:201 msgid "Best" msgstr "ئەڭ ياخشى" #: src/pentaxmn.cpp:204 msgid "Premium" msgstr "سۇغۇرتا خىراجىتى" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "2560x1920 ياكى 2304x1728" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "2304x1728 ياكى 2592x1944" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "2816x2212 ياكى 2816x2112" #: src/pentaxmn.cpp:247 #, fuzzy msgid "Auto, Did not fire" msgstr "ئوت يوق" #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 #, fuzzy msgid "Off, Did not fire" msgstr "ئوت يوق" #: src/pentaxmn.cpp:250 #, fuzzy msgid "Auto, Did not fire, Red-eye reduction" msgstr "قىزىل كۆز شاۋقۇن" #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:252 #, fuzzy msgid "Auto, Fired" msgstr "ئاپتوماتىك+قىزىل كۆز" #: src/pentaxmn.cpp:253 #, fuzzy msgid "On, Fired" msgstr "لامپا" #: src/pentaxmn.cpp:254 #, fuzzy msgid "Auto, Fired, Red-eye reduction" msgstr "قىزىل كۆز شاۋقۇن" #: src/pentaxmn.cpp:255 #, fuzzy msgid "On, Red-eye reduction" msgstr "قىزىل كۆز شاۋقۇن" #: src/pentaxmn.cpp:256 msgid "On, Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:257 msgid "On, Wireless (Control)" msgstr "" #: src/pentaxmn.cpp:258 #, fuzzy msgid "On, Soft" msgstr "يۇمشاق" #: src/pentaxmn.cpp:259 #, fuzzy msgid "On, Slow-sync" msgstr "ئاستا قەدەمداشلاش" #: src/pentaxmn.cpp:260 #, fuzzy msgid "On, Slow-sync, Red-eye reduction" msgstr "قىزىل كۆز شاۋقۇن" #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "" #: src/pentaxmn.cpp:272 #, fuzzy msgid "Pan Focus" msgstr "فوكۇس يۆنۈلۈشى" #: src/pentaxmn.cpp:275 msgid "AF-A" msgstr "" #: src/pentaxmn.cpp:276 #, fuzzy msgid "Contrast-detect" msgstr "ئاپتوماتىك فۇكۇسدا ئاق قارىلىقنى بايقاش" #: src/pentaxmn.cpp:277 #, fuzzy msgid "Tracking Contrast-detect" msgstr "ئاپتوماتىك فۇكۇسدا ئاق قارىلىقنى بايقاش" #: src/pentaxmn.cpp:284 #, fuzzy msgid "Fixed Center" msgstr "مەركەز" #: src/pentaxmn.cpp:285 #, fuzzy msgid "Automatic Tracking AF" msgstr "ئاپتوماتىك AF" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "" #: src/pentaxmn.cpp:287 #, fuzzy msgid "AF Select" msgstr "تاللاش" #: src/pentaxmn.cpp:305 msgid "Fixed Center or multiple" msgstr "" #: src/pentaxmn.cpp:307 #, fuzzy msgid "Top-center" msgstr "ئوتتۇرا" #: src/pentaxmn.cpp:313 #, fuzzy msgid "Bottom-center" msgstr "سول ئاستى" #: src/pentaxmn.cpp:402 msgid "Multi Segment" msgstr "كۆپ سېگمېنت" #: src/pentaxmn.cpp:403 msgid "Center Weighted" msgstr "مەركەزگە پايدىلىق" #: src/pentaxmn.cpp:415 #, fuzzy msgid "DaylightFluorescent" msgstr "كۈن نۇرلۇق يالتىراق لامپا" #: src/pentaxmn.cpp:416 #, fuzzy msgid "DaywhiteFluorescent" msgstr "كۈن نۇرلۇق يالتىراق لامپا" #: src/pentaxmn.cpp:417 #, fuzzy msgid "WhiteFluorescent" msgstr "يالتىراق لامپا" #: src/pentaxmn.cpp:420 #, fuzzy msgid "Color Temperature Enhancement" msgstr "رەڭلىك تېمپېراتۇرا تەڭشىكى" #: src/pentaxmn.cpp:423 msgid "User Selected" msgstr "ئىشلەتكۈچى تاللاندى" #: src/pentaxmn.cpp:428 #, fuzzy msgid "Auto (Daylight)" msgstr "كۈن نۇرى" #: src/pentaxmn.cpp:429 #, fuzzy msgid "Auto (Shade)" msgstr "ئاپتوماتىك سايە" #: src/pentaxmn.cpp:430 #, fuzzy msgid "Auto (Flash)" msgstr "ئۆزلۈكىدىن قويۇپ بېرىش" #: src/pentaxmn.cpp:431 #, fuzzy msgid "Auto (Tungsten)" msgstr "تۇڭىستېن" #: src/pentaxmn.cpp:432 #, fuzzy msgid "Auto (DaylightFluorescent)" msgstr "كۈن نۇرلۇق يالتىراق لامپا" #: src/pentaxmn.cpp:433 #, fuzzy msgid "Auto (DaywhiteFluorescent)" msgstr "كۈن نۇرلۇق يالتىراق لامپا" #: src/pentaxmn.cpp:434 #, fuzzy msgid "Auto (WhiteFluorescent)" msgstr "يالتىراق لامپا" #: src/pentaxmn.cpp:435 #, fuzzy msgid "Auto (Cloudy)" msgstr "6000K (بۇلۇتلۇق)" #: src/pentaxmn.cpp:437 #, fuzzy msgid "Preset (Fireworks?)" msgstr "Fireworks" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 #, fuzzy msgid "Med Low" msgstr "بەك تۆۋەن" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 #, fuzzy msgid "Med High" msgstr "ناھايىتى يۇقىرى" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "-4" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "+4" #: src/pentaxmn.cpp:473 #, fuzzy msgid "Med Soft" msgstr "يۇمشاق" #: src/pentaxmn.cpp:474 #, fuzzy msgid "Med Hard" msgstr "بەك تەس" #: src/pentaxmn.cpp:475 #, fuzzy msgid "Very Soft" msgstr "بەك تۆۋەن" #: src/pentaxmn.cpp:476 msgid "Very Hard" msgstr "بەك تەس" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 msgid "Home town" msgstr "يۇرت" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "پاگو-پاگو" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "ھونولۇلۇ" #: src/pentaxmn.cpp:491 msgid "Anchorage" msgstr "ئانكورېج" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "ۋانكۇۋېر" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "سان فىرانسىسكو" #: src/pentaxmn.cpp:494 msgid "Los Angeles" msgstr "لوس-ئانجېلېس" #: src/pentaxmn.cpp:495 msgid "Calgary" msgstr "كالگارى" #: src/pentaxmn.cpp:496 msgid "Denver" msgstr "دېنۋېر" #: src/pentaxmn.cpp:497 msgid "Mexico City" msgstr "مېكسىكا شەھىرى" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "چىكاگو" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "مئامى" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "تورونتو" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "نيۇ-يورك" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "سانتىياگو" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "كىراكوس" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "خالىفاكس" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "بۇئېنۇس-ئايرېس" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "سان-پاۋلو" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "رىئو-دې-جانېيرو" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "مادرىد" #: src/pentaxmn.cpp:509 msgid "London" msgstr "لوندون" #: src/pentaxmn.cpp:510 msgid "Paris" msgstr "پارىژ" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "مىلان" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "رىم" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "بېرلىن" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "يوھاننېسبۇرگ" #: src/pentaxmn.cpp:515 msgid "Istanbul" msgstr "ئىستانبۇل" #: src/pentaxmn.cpp:516 msgid "Cairo" msgstr "قاھىرە" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "يېرۇسالېم" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "موسكۋا" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "تېھران" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "دۇبەي" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "كاراچى" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "كابۇل" #: src/pentaxmn.cpp:524 msgid "Male" msgstr "مالې" #: src/pentaxmn.cpp:525 msgid "Delhi" msgstr "دېھلى" #: src/pentaxmn.cpp:526 msgid "Colombo" msgstr "كولومبو" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "كاتماندۇ" #: src/pentaxmn.cpp:528 msgid "Dacca" msgstr "داككا" #: src/pentaxmn.cpp:529 msgid "Yangon" msgstr "يانگون" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "باڭكوك" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "كۇئالالۇمپۇر" #: src/pentaxmn.cpp:532 msgid "Vientiane" msgstr "ۋىيېنتيان" #: src/pentaxmn.cpp:533 msgid "Singapore" msgstr "سىنگاپور" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "فىنوم-پېن" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "خو چى مىنخ" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "جاكارتا" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "شياڭگاڭ" #: src/pentaxmn.cpp:538 msgid "Perth" msgstr "پېرت" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "بېيجىڭ" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "شاڭخەي" #: src/pentaxmn.cpp:541 msgid "Manila" msgstr "مانىلا" #: src/pentaxmn.cpp:542 msgid "Taipei" msgstr "تەيبېي" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "سېئۇل" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "ئادېلايدې" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "توكيو" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "گۇئام ئارىلى" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "سىدنېي" #: src/pentaxmn.cpp:548 msgid "Noumea" msgstr "نۇمېئا" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "ۋېللىڭتون" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "ئاۋكلاند" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "لىما" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "داكار" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "ئالجىر" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "خېلسىنكى" #: src/pentaxmn.cpp:555 msgid "Athens" msgstr "ئافېنا" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "نايروبى" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "ئامستېردام" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "سىتوكھولم" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "لىسبون" #: src/pentaxmn.cpp:560 msgid "Copenhagen" msgstr "كوپېنھاگېن" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "" #: src/pentaxmn.cpp:568 #, fuzzy msgid "Unprocessed" msgstr "پرېسلانمىغان" #: src/pentaxmn.cpp:570 #, fuzzy msgid "Resized" msgstr "چوڭلۇقى" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 msgid "Cropped" msgstr "كەس" #: src/pentaxmn.cpp:573 #, fuzzy msgid "Digital Filter 6" msgstr "رەقەملىك سۈزگۈچ" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "كاندۇك بىرىكمىسى؟" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 #, fuzzy msgid "Hi-speed Program" msgstr "يورۇتۇش پروگراممىسى" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 #, fuzzy msgid "DOF Program" msgstr "پروگرامما" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 #, fuzzy msgid "MTF Program" msgstr "پروگرامما" #: src/pentaxmn.cpp:588 #, fuzzy msgid "Night Scene Portrait" msgstr "كېچە رەسىمى" #: src/pentaxmn.cpp:589 #, fuzzy msgid "No Flash" msgstr "چاقماق لامپا" #: src/pentaxmn.cpp:592 #, fuzzy msgid "Surf & Snow" msgstr "دېڭىز ساھىلى+قار" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "بالىلار" #: src/pentaxmn.cpp:600 #, fuzzy msgid "Stage Lighting" msgstr "يورۇت-D" #: src/pentaxmn.cpp:601 #, fuzzy msgid "Night Snap" msgstr "كەچلىك مەنزىرە" #: src/pentaxmn.cpp:602 #, fuzzy msgid "Blue Sky" msgstr "كۆك" #: src/pentaxmn.cpp:604 #, fuzzy msgid "Night Scene HDR" msgstr "كەچلىك مەنزىرە" #: src/pentaxmn.cpp:606 #, fuzzy msgid "Quick Macro" msgstr "ئالىي ماكرو" #: src/pentaxmn.cpp:607 #, fuzzy msgid "Forest" msgstr "يالتىراق لامپا" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "" #: src/pentaxmn.cpp:610 msgid "Auto PICT (Standard)" msgstr "" #: src/pentaxmn.cpp:611 #, fuzzy msgid "Auto PICT (Portrait)" msgstr "ئاپتوماتىك ئاق-قارىلىقى" #: src/pentaxmn.cpp:612 #, fuzzy msgid "Auto PICT (Landscape)" msgstr "تەھرىرلەندى(توغرىسىغا)" #: src/pentaxmn.cpp:613 msgid "Auto PICT (Macro)" msgstr "" #: src/pentaxmn.cpp:614 #, fuzzy msgid "Auto PICT (Sport)" msgstr "ئاپتوماتىك ئاق-قارىلىقى" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 #, fuzzy msgid "Green Mode" msgstr "لىنزا ھالىتى" #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 #, fuzzy msgid "Shutter Speed Priority" msgstr "تېز قاپقاقنىڭ ئالدىنلىقى" #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 #, fuzzy msgid "Aperture Priority" msgstr "نۇر چەمبىرىنىڭ ئالدىنلىقى" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "" #: src/pentaxmn.cpp:631 #, fuzzy msgid "Program Tv Shift" msgstr "پرۇگرامما Shift" #: src/pentaxmn.cpp:632 #, fuzzy msgid "Program Av Shift" msgstr "پرۇگرامما Shift" #: src/pentaxmn.cpp:635 #, fuzzy msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "نور چەمبىكىرىنىڭ ئالدىنقىلىقى" #: src/pentaxmn.cpp:636 #, fuzzy msgid "Manual (Off-Auto-Aperture)" msgstr "نۇر گەردىشى ئاپتوماتىك" #: src/pentaxmn.cpp:637 #, fuzzy msgid "Bulb (Off-Auto-Aperture)" msgstr "نۇر گەردىشى ئاپتوماتىك" #: src/pentaxmn.cpp:639 #, fuzzy msgid "Shutter Priority" msgstr "تېز قاپقاقنىڭ ئالدىنلىقى" #: src/pentaxmn.cpp:640 #, fuzzy msgid "Shutter & Aperture Priority AE" msgstr "تېز قاپقاقنىڭ ئالدىنلىقى" #: src/pentaxmn.cpp:641 #, fuzzy msgid "Shutter & Aperture Priority AE (1)" msgstr "قاپقاق ئالدىنقىلىقى (Tv)" #: src/pentaxmn.cpp:642 msgid "Sensitivity Priority AE" msgstr "" #: src/pentaxmn.cpp:643 msgid "Sensitivity Priority AE (1)" msgstr "" #: src/pentaxmn.cpp:644 #, fuzzy msgid "Flash X-Sync Speed AE" msgstr "Avچاقناشنى قەدەمدەشلاش تىزلىكى" #: src/pentaxmn.cpp:645 #, fuzzy msgid "Flash X-Sync Speed AE (1)" msgstr "Avچاقناشنى قەدەمدەشلاش تىزلىكى" #: src/pentaxmn.cpp:646 #, fuzzy msgid "Auto Program (Normal)" msgstr "پروگرامما (P)" #: src/pentaxmn.cpp:647 msgid "Auto Program (Hi-Speed)" msgstr "" #: src/pentaxmn.cpp:648 #, fuzzy msgid "Auto Program (DOF)" msgstr "پروگرامما (P)" #: src/pentaxmn.cpp:649 #, fuzzy msgid "Auto Program (MTF)" msgstr "پروگرامما (P)" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "" #: src/pentaxmn.cpp:651 #, fuzzy msgid "Blur control" msgstr "رەڭ تىزگىنى" #: src/pentaxmn.cpp:654 #, fuzzy msgid "Video (30 fps)" msgstr "سىن(24 fps)" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "سىن(24 fps)" #: src/pentaxmn.cpp:662 msgid "Continuous (Hi)" msgstr "ئۈزلۈكسىز" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 msgid "Burst" msgstr "ئارقىمۇ-ئارقا تارتىش" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 msgid "Video" msgstr "سىن" #: src/pentaxmn.cpp:666 #, fuzzy msgid "Self-timer (12 sec)" msgstr "ئۆزى تارتىش ۋاقىت بەلگىلىگۈچى" #: src/pentaxmn.cpp:667 #, fuzzy msgid "Self-timer (2 sec)" msgstr "ئۆزى تارتىش ۋاقىت بەلگىلىگۈچى" #: src/pentaxmn.cpp:669 msgid "Mirror Lock-up" msgstr "" #: src/pentaxmn.cpp:670 msgid "Remote Control (3 sec)" msgstr "يىراقتا تىزگىنلەش (3سېكۇنت" #: src/pentaxmn.cpp:671 msgid "Remote Control" msgstr "يىراقتا تىزگىنلەش" #: src/pentaxmn.cpp:672 #, fuzzy msgid "Remote Continuous Shooting" msgstr "ئۆزلۈكسىز، يۇقۇرى" #: src/pentaxmn.cpp:675 #, fuzzy msgid "HDR Strong 1" msgstr "كۈچلۈك" #: src/pentaxmn.cpp:676 #, fuzzy msgid "HDR Strong 2" msgstr "كۈچلۈك" #: src/pentaxmn.cpp:677 #, fuzzy msgid "HDR Strong 3" msgstr "كۈچلۈك" #: src/pentaxmn.cpp:678 #, fuzzy msgid "HDR Auto" msgstr "ئاپتوماتىك" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "" #: src/pentaxmn.cpp:691 msgid "K or M Lens" msgstr "" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "" #: src/pentaxmn.cpp:970 #, fuzzy msgid "Bright" msgstr "ئوچۇق+" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "" #: src/pentaxmn.cpp:990 msgid "Weakest" msgstr "ئەڭ ئاجىز" #: src/pentaxmn.cpp:991 msgid "Weak" msgstr "ئاجىز" #: src/pentaxmn.cpp:992 msgid "Strong" msgstr "كۈچلۈك" #: src/pentaxmn.cpp:1112 #, fuzzy msgid "No extended bracketing" msgstr "ئاق تەڭپۇڭلۇق قورشىشى" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "" #: src/pentaxmn.cpp:1133 msgid "Unknown " msgstr "نامەلۇم " #: src/pentaxmn.cpp:1146 #, fuzzy msgid "Pentax Makernote version" msgstr "Nikon زاۋۇت ئىزاھاتى نەشىرى" #: src/pentaxmn.cpp:1149 #, fuzzy msgid "Camera shooting mode" msgstr "ئەركىن رەسىم تارتىش ھالىتى" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 #, fuzzy msgid "Resolution of a preview image" msgstr "نۇر بەلگە ئارقىلىق سۈرەتنى ئالدىن كۈزىتىش" #: src/pentaxmn.cpp:1154 #, fuzzy msgid "Length of a preview image" msgstr "نۇر بەلگە ئارقىلىق سۈرەتنى ئالدىن كۈزىتىش" #: src/pentaxmn.cpp:1155 #, fuzzy msgid "Size of an IFD containing a preview image" msgstr "سۈرەتنى ئالدىن كۈزىتىش چوڭلۇقى" #: src/pentaxmn.cpp:1160 #, fuzzy msgid "Model identification" msgstr "ماكرو چوڭايت" #: src/pentaxmn.cpp:1161 #, fuzzy msgid "Pentax model identification" msgstr "ماكرو چوڭايت" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 msgid "Date" msgstr "چېسلا" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 msgid "Time" msgstr "ۋاقىت" #: src/pentaxmn.cpp:1170 msgid "Image quality settings" msgstr "سۈرەت سۈپەت تەڭشەكلىرى" #: src/pentaxmn.cpp:1173 msgid "Image size settings" msgstr "سۈرەت چوڭلۇقى تەڭشەكلىرى" #: src/pentaxmn.cpp:1177 #, fuzzy msgid "Flash mode settings" msgstr "چاقناش ھالەت تەڭشىكى" #: src/pentaxmn.cpp:1180 msgid "Focus mode settings" msgstr "فوكۇس ھالىتى تەڭشەكلىرى" #: src/pentaxmn.cpp:1183 msgid "Selected AF point" msgstr "ئاپتوماتىك فوكۇس نۇقتا تاللاندى" #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 #, fuzzy msgid "AF point in focus" msgstr "ئاپتوماتىك فوكۇس نوقتا فوكۇس ئىچىدە" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 #, fuzzy msgid "F-Number" msgstr "F قىممىتى" #: src/pentaxmn.cpp:1195 #, fuzzy msgid "ISO sensitivity" msgstr "ISOتەڭشىكى" #: src/pentaxmn.cpp:1196 #, fuzzy msgid "ISO sensitivity settings" msgstr "ISOسۈرئەت ھالىتى تەڭشىكى" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 msgid "MeteringMode" msgstr "مۆلچەر شەكلى" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 #, fuzzy msgid "AutoBracketing" msgstr "تىرناق" #: src/pentaxmn.cpp:1216 msgid "Blue color balance" msgstr "كۆك رەڭ تەڭپۇڭلۇقى" #: src/pentaxmn.cpp:1219 msgid "Red color balance" msgstr "قىزىل رەڭ تەڭپۇڭلۇقى" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 #, fuzzy msgid "FocalLength" msgstr "فوكۇس ئارىلىقى" #: src/pentaxmn.cpp:1239 msgid "Hometown" msgstr "يۇرت" #: src/pentaxmn.cpp:1245 #, fuzzy msgid "Hometown DST" msgstr "يۇرت" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "" #: src/pentaxmn.cpp:1248 #, fuzzy msgid "Destination DST" msgstr "نىشان" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 #, fuzzy msgid "DSPFirmwareVersion" msgstr "Firmware نەشرى:" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 #, fuzzy msgid "CPUFirmwareVersion" msgstr "Firmware نەشرى:" #: src/pentaxmn.cpp:1261 #, fuzzy msgid "Light value" msgstr "يورۇقلۇق دەرىجىسى قىممىتى" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 #, fuzzy msgid "Image area offset" msgstr "سۈرەت سانلىق مەلۇمات چوڭلۇقى" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 #, fuzzy msgid "Raw image size" msgstr "سۈرەت چوڭلۇقى" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 #, fuzzy msgid "Preview image borders" msgstr "سۈرەت سىڭدۇرمىسىنى ئالدىن كۈزەت" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 msgid "Sensitivity adjust" msgstr "" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 msgid "Digital filter" msgstr "رەقەملىك سۈزگۈچ" #: src/pentaxmn.cpp:1299 #, fuzzy msgid "Camera temperature" msgstr "رەڭ تېمپېراتۇرىسى" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 msgid "Image tone" msgstr "سۈرەت تۈسى" #: src/pentaxmn.cpp:1319 msgid "Shake reduction" msgstr "تەۋرىنىشنى ئاجىزلىتىش" #: src/pentaxmn.cpp:1320 msgid "Shake reduction information" msgstr "تەۋرىنىشنى ئاجىزلىتىش ئۇچۇرلىرى" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 msgid "Dynamic range expansion" msgstr "ھەرىكەتچان دائىرە كېڭىيىشى" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 #, fuzzy msgid "High ISO noise reduction" msgstr "شاۋقۇننى ئاجىزلىتىش" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 msgid "AF Adjustment" msgstr "ئاپتوماتىك فوكۇس تەڭشەش" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 msgid "Black point" msgstr "قارا نۇقتا" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 msgid "White point" msgstr "ئاق نۇقتا" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 #, fuzzy msgid "ShotInfo" msgstr "رەسىمگە تارتىش ئۇچۇرى" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 #, fuzzy msgid "AEInfo" msgstr "ئاپتوماتىك فۇكۇس ئۇچۇرى" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 msgid "LensInfo" msgstr "لېنزا ئۇچۇرى" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 #, fuzzy msgid "FlashInfo" msgstr "چاقناش ئۇچۇرى" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 #, fuzzy msgid "AEMeteringSegments" msgstr "ئۆلچەش ھالىتى" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 #, fuzzy msgid "FlashADump" msgstr "چاقماق لامپا" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 #, fuzzy msgid "FlashBDump" msgstr "چاقماق لامپا" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 #, fuzzy msgid "WB_RGGBLevelsDaylight" msgstr "RGGBدەرىجىسىنىڭ ئاق تەڭپۇڭلۇقى" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 #, fuzzy msgid "WB_RGGBLevelsShade" msgstr "RGGBدەرىجىسىنىڭ ئاق تەڭپۇڭلۇقى" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 #, fuzzy msgid "WB_RGGBLevelsCloudy" msgstr "RGGBدەرىجىسىنىڭ ئاق تەڭپۇڭلۇقى" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 #, fuzzy msgid "WB_RGGBLevelsTungsten" msgstr "RGGBدەرىجىسىنىڭ ئاق تەڭپۇڭلۇقى" #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 #, fuzzy msgid "WB_RGGBLevelsFluorescentD" msgstr "RGGBدەرىجىسىنىڭ ئاق تەڭپۇڭلۇقى" #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 #, fuzzy msgid "WB_RGGBLevelsFluorescentN" msgstr "RGGBدەرىجىسىنىڭ ئاق تەڭپۇڭلۇقى" #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 #, fuzzy msgid "WB_RGGBLevelsFluorescentW" msgstr "RGGBدەرىجىسىنىڭ ئاق تەڭپۇڭلۇقى" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 #, fuzzy msgid "WB_RGGBLevelsFlash" msgstr "RGGBدەرىجىسىنىڭ ئاق تەڭپۇڭلۇقى" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 msgid "CameraInfo" msgstr "كامېرا ئۇچۇرى" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 msgid "BatteryInfo" msgstr "توكدان ئۇچۇرى" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 #, fuzzy msgid "AFInfo" msgstr "ئاپتوماتىك فۇكۇس ئۇچۇرى" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 msgid "ColorInfo" msgstr "رەڭ ئۇچۇرى" #: src/pentaxmn.cpp:1405 #, fuzzy msgid "Unknown PentaxMakerNote tag" msgstr "نامەلۇم Minoltaياسىغۇچى ئىزاھات بەلگىسى" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "" #: src/properties.cpp:113 msgid "XMP Basic schema" msgstr "" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "" #: src/properties.cpp:115 msgid "XMP Media Management schema" msgstr "" #: src/properties.cpp:116 msgid "XMP Basic Job Ticket schema" msgstr "" #: src/properties.cpp:117 msgid "XMP Paged-Text schema" msgstr "" #: src/properties.cpp:118 #, fuzzy msgid "XMP Dynamic Media schema" msgstr "ھەركەتچان رايۇن" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "" #: src/properties.cpp:120 msgid "Adobe Lightroom schema" msgstr "" #: src/properties.cpp:121 msgid "Adobe PDF schema" msgstr "" #: src/properties.cpp:122 msgid "Adobe photoshop schema" msgstr "" #: src/properties.cpp:123 #, fuzzy msgid "Camera Raw schema" msgstr "كامېرانى ياسىغۇچى" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "" #: src/properties.cpp:127 src/properties.cpp:128 msgid "IPTC Core schema" msgstr "" #: src/properties.cpp:129 src/properties.cpp:130 #, fuzzy msgid "IPTC Extension schema" msgstr "كېڭەيتمىلەر" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "" #: src/properties.cpp:132 msgid "iView Media Pro schema" msgstr "" #: src/properties.cpp:133 msgid "Expression Media schema" msgstr "" #: src/properties.cpp:134 msgid "Microsoft Photo 1.2 schema" msgstr "" #: src/properties.cpp:135 msgid "Microsoft Photo RegionInfo schema" msgstr "" #: src/properties.cpp:136 msgid "Microsoft Photo Region schema" msgstr "" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "" #: src/properties.cpp:138 msgid "Metadata Working Group Keywords schema" msgstr "" #: src/properties.cpp:139 msgid "XMP Extended Video schema" msgstr "" #: src/properties.cpp:140 msgid "XMP Extended Audio schema" msgstr "" #: src/properties.cpp:141 msgid "XMP Darwin Core schema" msgstr "" #: src/properties.cpp:142 msgid "Qualified Dublin Core schema" msgstr "" #: src/properties.cpp:143 msgid "ACDSee XMP schema" msgstr "" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "" #: src/properties.cpp:148 #, fuzzy msgid "Colorant structure" msgstr "دائىرە قۇرۇلمىسى" #: src/properties.cpp:149 #, fuzzy msgid "Dimensions structure" msgstr "دائىرە قۇرۇلمىسى" #: src/properties.cpp:150 #, fuzzy msgid "Font structure" msgstr "دائىرە قۇرۇلمىسى" #: src/properties.cpp:151 #, fuzzy msgid "Thumbnail structure" msgstr "كىچىك سۈرەت" #: src/properties.cpp:152 #, fuzzy msgid "Resource Event structure" msgstr "دائىرە قۇرۇلمىسى" #: src/properties.cpp:153 #, fuzzy msgid "ResourceRef structure" msgstr "دائىرە قۇرۇلمىسى" #: src/properties.cpp:154 #, fuzzy msgid "Version structure" msgstr "دائىرە قۇرۇلمىسى" #: src/properties.cpp:155 msgid "Basic Job/Workflow structure" msgstr "" #: src/properties.cpp:156 msgid "Area structure" msgstr "دائىرە قۇرۇلمىسى" #: src/properties.cpp:159 msgid "Qualifier for xmp:Identifier" msgstr "" #: src/properties.cpp:163 msgid "Contributor" msgstr "تۆھپىكار" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "" #: src/properties.cpp:164 #, fuzzy msgid "Coverage" msgstr "ئوتتۇرىچە" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" #: src/properties.cpp:166 msgid "Creator" msgstr "تۈزگۈچى" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "" #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "" #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" #: src/properties.cpp:170 src/properties.cpp:1160 msgid "Format" msgstr "پىچىمى" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" #: src/properties.cpp:172 src/properties.cpp:228 msgid "Identifier" msgstr "بەلگە" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "" #: src/properties.cpp:175 msgid "Publisher" msgstr "تارقاتقۇچى" #: src/properties.cpp:175 msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" #: src/properties.cpp:178 msgid "Relation" msgstr "مۇناسىۋەت" #: src/properties.cpp:178 msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" #: src/properties.cpp:180 msgid "Rights" msgstr "ھوقۇق" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" #: src/properties.cpp:183 msgid "Unique identifier of the work from which this resource was derived." msgstr "" #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 msgid "Type" msgstr "تىپى" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "" #: src/properties.cpp:194 msgid "Tags List" msgstr "بەلگە تىزىمى" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" #: src/properties.cpp:195 msgid "Captions Author Names" msgstr "ئاپتور ئاتى تېمىسى" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" #: src/properties.cpp:196 #, fuzzy msgid "Captions Date Time Stamps" msgstr "ئاپتور ئاتى تېمىسى" #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" #: src/properties.cpp:197 src/tags.cpp:844 msgid "Image History" msgstr "تارىخىي سۈرەت" #: src/properties.cpp:197 msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" #: src/properties.cpp:198 #, fuzzy msgid "Lens Correction Settings" msgstr "لىنزا سانلىق مەلۇمات تەڭشىكى" #: src/properties.cpp:198 msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" #: src/properties.cpp:199 msgid "Color Label" msgstr "رەڭ ئەنى" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" #: src/properties.cpp:200 msgid "Pick Label" msgstr "ئەن ئىلغاش" #: src/properties.cpp:200 msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" #: src/properties.cpp:206 #, fuzzy msgid "Panorama Input Files" msgstr "كاندۇك تولۇق مەنزىرە" #: src/properties.cpp:206 msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" #: src/properties.cpp:207 msgid "Enfuse Input Files" msgstr "" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" #: src/properties.cpp:208 #, fuzzy msgid "Enfuse Settings" msgstr "رەڭ فازىسى تەڭشىكى" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "" #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "" #: src/properties.cpp:216 msgid "Advisory" msgstr "مەسلىھەت بېرىش" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" #: src/properties.cpp:219 src/properties.cpp:1066 msgid "Base URL" msgstr "ئاساسىي URL" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" #: src/properties.cpp:224 msgid "Create Date" msgstr "چېسلا قۇر" #: src/properties.cpp:224 msgid "The date and time the resource was originally created." msgstr "" #: src/properties.cpp:225 msgid "Creator Tool" msgstr "ياسىغۇچى قورالى" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" #: src/properties.cpp:233 msgid "Label" msgstr "ئەن" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" #: src/properties.cpp:235 msgid "Metadata Date" msgstr "مىتا سانلىق مەلۇماتى" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" #: src/properties.cpp:237 msgid "Modify Date" msgstr "چېسلا ئۆزگەرت" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" #: src/properties.cpp:240 msgid "Nickname" msgstr "تەخەللۇس" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "" #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 msgid "Rating" msgstr "باھالاش" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" #: src/properties.cpp:244 msgid "Thumbnails" msgstr "كىچىك سۈرەت" #: src/properties.cpp:244 msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" #: src/properties.cpp:251 msgid "Certificate" msgstr "گۇۋاھنامە" #: src/properties.cpp:251 msgid "Online rights management certificate." msgstr "" #: src/properties.cpp:252 msgid "Marked" msgstr "كۆرۈنەرلىك" #: src/properties.cpp:252 msgid "Indicates that this is a rights-managed resource." msgstr "" #: src/properties.cpp:253 msgid "Owner" msgstr "ئىگىسى" #: src/properties.cpp:253 msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "" #: src/properties.cpp:254 msgid "Usage Terms" msgstr "" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "" #: src/properties.cpp:255 msgid "Web Statement" msgstr "" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" #: src/properties.cpp:261 #, fuzzy msgid "Derived From" msgstr "ئۈسكۈنە ھالىتى" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" #: src/properties.cpp:266 #, fuzzy msgid "Document ID" msgstr "پۈتۈكلەر" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" #: src/properties.cpp:268 msgid "History" msgstr "ئىز" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" #: src/properties.cpp:272 msgid "Instance ID" msgstr "" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" #: src/properties.cpp:274 #, fuzzy msgid "Managed From" msgstr "باشقۇرغۇ" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" #: src/properties.cpp:277 msgid "Manager" msgstr "باشقۇرغۇ" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" #: src/properties.cpp:280 #, fuzzy msgid "Manage To" msgstr "باشقۇرغۇ" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" #: src/properties.cpp:283 #, fuzzy msgid "Manage UI" msgstr "باشقۇرغۇ" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" #: src/properties.cpp:285 #, fuzzy msgid "Manager Variant" msgstr "باشقۇرغۇ" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" #: src/properties.cpp:287 msgid "Rendition Class" msgstr "" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" #: src/properties.cpp:289 msgid "Rendition Params" msgstr "" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" #: src/properties.cpp:291 msgid "Version ID" msgstr "نەشر كىملىكى" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr ". ." #: src/properties.cpp:295 msgid "Versions" msgstr "نەشرى" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" #: src/properties.cpp:301 msgid "Last URL" msgstr "ئاخىرقىURL" #: src/properties.cpp:301 msgid "Deprecated for privacy protection." msgstr "" #: src/properties.cpp:302 #, fuzzy msgid "Rendition Of" msgstr "مۇناسىۋەت" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" #: src/properties.cpp:304 msgid "Save ID" msgstr "ساقلاش كىملىكى" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "" #: src/properties.cpp:310 msgid "Job Reference" msgstr "ۋەزىپە نەقىلى" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" #: src/properties.cpp:319 msgid "Maximum Page Size" msgstr "ئەڭ چوڭ بەت چوڭلۇقى" #: src/properties.cpp:319 msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "" #: src/properties.cpp:320 msgid "Number of Pages" msgstr "بەت سانى" #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "" #: src/properties.cpp:321 msgid "Fonts" msgstr "خەت نۇسخىلىرى" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" #: src/properties.cpp:322 #, fuzzy msgid "Colorants" msgstr "رەڭ سانلىق مەلۇماتى" #: src/properties.cpp:322 msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" #: src/properties.cpp:323 #, fuzzy msgid "Plate Names" msgstr "تىپ ئاتى" #: src/properties.cpp:323 msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "Project Reference" msgstr "پايدىلىنىش تۈرى" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "" #: src/properties.cpp:330 src/properties.cpp:1163 msgid "Video Frame Rate" msgstr "سىن كاندۇك تېزلىكى" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "Video Frame Size" msgstr "سىن كاندۇك چوڭلۇقى" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "" #: src/properties.cpp:332 #, fuzzy msgid "Video Pixel Aspect Ratio" msgstr "ئۇزۇنلۇق كەڭلىك نىسبىتى" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "" #: src/properties.cpp:333 src/properties.cpp:1261 #, fuzzy msgid "Video Pixel Depth" msgstr "پىكسىل چوڭقۇرلۇقى ئىناۋەتسىز" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "Video Color Space" msgstr "سىن رەڭ بوشلۇقى" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" #: src/properties.cpp:337 msgid "Video Alpha Mode" msgstr "سىن Alphaمودېلى" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "" #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "" #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "" #: src/properties.cpp:341 msgid "Video Compressor" msgstr "سىن پرېسلاش" #: src/properties.cpp:341 msgid "Video compression used. For example, jpeg." msgstr "" #: src/properties.cpp:342 msgid "Video Field Order" msgstr "سىن سۆز بۆلىكى تەرتىپى" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "" #: src/properties.cpp:343 #, fuzzy msgid "Pull Down" msgstr "ئاستى" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "Audio Sample Rate" msgstr "ئۈننىڭ ئەۋرىشكىلەش تېزلىكى:" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" #: src/properties.cpp:346 src/properties.cpp:1426 #, fuzzy msgid "Audio Sample Type" msgstr "ئۈننىڭ ئەۋرىشكىلەش تېزلىكى:" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "Audio Channel Type" msgstr "ئۈن قانىلى تىپى" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "Audio Compressor" msgstr "ئۈن پرېسلاش" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "" #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "File Data Rate" msgstr "ھۆججەت سانلىق مەلۇمات نىسبىتى" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "" #: src/properties.cpp:352 src/properties.cpp:1334 msgid "Tape Name" msgstr "تىپ ئاتى" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "" #: src/properties.cpp:353 msgid "Alternative Tape Name" msgstr "باشقىچە تاللاش تىپى ئاتى" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" #: src/properties.cpp:355 msgid "Start Time Code" msgstr "باشلىنىش ۋاقتى كودى" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "" #: src/properties.cpp:356 msgid "Alternative Time code" msgstr "ۋاقىتنى باشقىچە تاللاش كودى" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" #: src/properties.cpp:357 src/properties.cpp:1124 msgid "Duration" msgstr "ۋاقتى" #: src/properties.cpp:357 msgid "The duration of the media file." msgstr "" #: src/properties.cpp:358 #, fuzzy msgid "Scene" msgstr "كۆرۈنۈش ھالىتى" #: src/properties.cpp:358 msgid "The name of the scene." msgstr "" #: src/properties.cpp:359 msgid "Shot Name" msgstr "تارتىلغان سۈرەت ئاتى" #: src/properties.cpp:359 msgid "The name of the shot or take." msgstr "" #: src/properties.cpp:360 msgid "Shot Date" msgstr "تارتىلغان ۋاقتى" #: src/properties.cpp:360 msgid "The date and time when the video was shot." msgstr "" #: src/properties.cpp:361 msgid "Shot Location" msgstr "يەرلىكتە تارت" #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" #: src/properties.cpp:363 msgid "Log Comment" msgstr "ئىزاھات خاتىرىسى" #: src/properties.cpp:363 #, fuzzy msgid "User's log comments." msgstr "ئىشلەتكۈچى ئىزاھاتى" #: src/properties.cpp:364 #, fuzzy msgid "Markers" msgstr "كۆرۈنەرلىك" #: src/properties.cpp:364 msgid "An ordered list of markers" msgstr "" #: src/properties.cpp:365 #, fuzzy msgid "Contributed Media" msgstr "تۆھپىكار" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "" #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:368 msgid "Video Modified Date" msgstr "سىننىڭ ئۆزگەرتىلگەن ۋاقتى" #: src/properties.cpp:368 msgid "The date and time when the video was last modified." msgstr "" #: src/properties.cpp:369 msgid "Audio Modified Date" msgstr "ئۈننىڭ ئۆزگەرتىلگەن ۋاقتى" #: src/properties.cpp:369 msgid "The date and time when the audio was last modified." msgstr "" #: src/properties.cpp:370 msgid "Metadata Modified Date" msgstr "مېتال سانلىق مەلۇماتىنىڭ ئۆزگەرتىلگەن ۋاقتى" #: src/properties.cpp:370 msgid "The date and time when the metadata was last modified." msgstr "" #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "ئورۇنلىغۇچى" #: src/properties.cpp:371 src/properties.cpp:1058 msgid "The name of the artist or artists." msgstr "" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "Album" msgstr "ئالبوم" #: src/properties.cpp:372 src/properties.cpp:1054 msgid "The name of the album." msgstr "" #: src/properties.cpp:373 src/properties.cpp:1366 msgid "Track Number" msgstr "نەغمە نومۇرى" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "Genre" msgstr "ئېقىم" #: src/properties.cpp:374 src/properties.cpp:1166 msgid "The name of the genre." msgstr "" #: src/properties.cpp:375 #, fuzzy msgid "The copyright information." msgstr "رەسىمگە تارتىش ئۇچۇرلىرى" #: src/properties.cpp:376 msgid "The date the title was released." msgstr "" #: src/properties.cpp:377 src/properties.cpp:1086 msgid "Composer" msgstr "مۇزىكىسىنى ئىشلىگۈچى" #: src/properties.cpp:377 #, fuzzy msgid "The composer's name." msgstr "ئىنژېنېر ئاتى" #: src/properties.cpp:378 src/properties.cpp:1143 msgid "Engineer" msgstr "ئىنژېنېر" #: src/properties.cpp:378 msgid "The engineer's name." msgstr "ئىنژېنېر ئاتى" #: src/properties.cpp:379 msgid "Tempo" msgstr "ئۇدار" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "ئۈن ئۇدارى" #: src/properties.cpp:380 msgid "Instrument" msgstr "ئۆلچىگۈچ" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "نەغمە-ناۋا ئۆلچىگۈچ" #: src/properties.cpp:381 #, fuzzy msgid "Intro Time" msgstr "Minolta ۋاقتى" #: src/properties.cpp:381 msgid "The duration of lead time for queuing music." msgstr "" #: src/properties.cpp:382 msgid "Out Cue" msgstr "" #: src/properties.cpp:382 msgid "The time at which to fade out." msgstr "" #: src/properties.cpp:383 #, fuzzy msgid "Relative Timestamp" msgstr "سۈرەت ۋاقتى" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "" #: src/properties.cpp:384 msgid "Loop" msgstr "دەۋرىي" #: src/properties.cpp:384 msgid "When true, the clip can be looped seamlessly." msgstr "" #: src/properties.cpp:385 #, fuzzy msgid "Number Of Beats" msgstr "بەت سانى" #: src/properties.cpp:385 #, fuzzy msgid "The number of beats." msgstr "بەت سانى" #: src/properties.cpp:386 msgid "Key" msgstr "ئاچقۇچ" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "" #: src/properties.cpp:387 msgid "Stretch Mode" msgstr "كېرىلىش ھالىتى" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" #: src/properties.cpp:388 msgid "Time Scale Parameters" msgstr "ۋاقىت پارامېتىرلىرى" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "" #: src/properties.cpp:389 #, fuzzy msgid "Resample Parameters" msgstr "ۋاقىت پارامېتىرلىرى" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "" #: src/properties.cpp:390 #, fuzzy msgid "Beat Splice Parameters" msgstr "ۋاقىت پارامېتىرلىرى" #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "" #: src/properties.cpp:391 #, fuzzy msgid "Time Signature" msgstr "يوللىغان ۋاقىت" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" #: src/properties.cpp:392 #, fuzzy msgid "Scale Type" msgstr "سۈرەت تىپى" #: src/properties.cpp:392 msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "" #: src/properties.cpp:399 src/tags.cpp:1078 msgid "Camera Serial Number" msgstr "كامېرانىڭ تەرتىپ نومۇرى." #: src/properties.cpp:399 msgid "Camera Serial Number." msgstr "كامېرانىڭ تەرتىپ نومۇرى." #: src/properties.cpp:400 msgid "Date Acquired" msgstr "زىيارەت قىلغان چېسلا" #: src/properties.cpp:400 #, fuzzy msgid "Date Acquired." msgstr "زىيارەت قىلغان چېسلا" #: src/properties.cpp:401 #, fuzzy msgid "Flash Manufacturer" msgstr "ياسىغۇچى سودىگەر" #: src/properties.cpp:401 #, fuzzy msgid "Flash Manufacturer." msgstr "ياسىغۇچى سودىگەر" #: src/properties.cpp:402 #, fuzzy msgid "Flash Model." msgstr "چاقناش ھالىتى" #: src/properties.cpp:403 msgid "Last Keyword IPTC" msgstr "" #: src/properties.cpp:403 msgid "Last Keyword IPTC." msgstr "" #: src/properties.cpp:404 msgid "Last Keyword XMP" msgstr "" #: src/properties.cpp:404 #, fuzzy msgid "Last Keyword XMP." msgstr "ھالقىلىق سۆزلەر" #: src/properties.cpp:405 #, fuzzy msgid "Lens Manufacturer" msgstr "ياسىغۇچى سودىگەر" #: src/properties.cpp:405 #, fuzzy msgid "Lens Manufacturer." msgstr "ياسىغۇچى سودىگەر" #: src/properties.cpp:406 src/properties.cpp:1199 msgid "Lens Model." msgstr "لېنزا مودېلى" #: src/properties.cpp:407 #, fuzzy msgid "Rating Percent" msgstr "باھالاش" #: src/properties.cpp:407 msgid "Rating Percent." msgstr "" #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "" #: src/properties.cpp:414 #, fuzzy msgid "Private RTK Info" msgstr "رەسىم ئۇچۇرى" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "" #: src/properties.cpp:420 msgid "Keywords." msgstr "ھالقىلىق سۆزلەر" #: src/properties.cpp:421 #, fuzzy msgid "PDF Version" msgstr "ھۆججەت نەشىرى" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "" #: src/properties.cpp:422 src/properties.cpp:1278 msgid "Producer" msgstr "فىلىم ئىشلىگۈچى" #: src/properties.cpp:422 msgid "The name of the tool that created the PDF document." msgstr "" #: src/properties.cpp:428 #, fuzzy msgid "Authors Position" msgstr "فوكۇس ئورنى" #: src/properties.cpp:428 msgid "By-line title." msgstr "" #: src/properties.cpp:429 msgid "Caption Writer" msgstr "ماۋزۇ يازغۇچ" #: src/properties.cpp:429 msgid "Writer/editor." msgstr "يازغۇچ/تەھرىرلىگۈچى" #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "" #: src/properties.cpp:431 msgid "City." msgstr "شەھەر :" #: src/properties.cpp:432 msgid "Country/primary location." msgstr "" #: src/properties.cpp:433 msgid "Credit." msgstr "كرېدىت." #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" #: src/properties.cpp:438 #, fuzzy msgid "Headline." msgstr "قۇر" #: src/properties.cpp:439 #, fuzzy msgid "Special instructions." msgstr "ئالاھىدە چۈشەندۈرۈش" #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source." msgstr "مەنبە" #: src/properties.cpp:441 msgid "Province/state." msgstr "دائىرە/ھالەت." #: src/properties.cpp:442 #, fuzzy msgid "Supplemental category." msgstr "تولۇقلىما كاتېگورىيە" #: src/properties.cpp:443 msgid "Original transmission reference." msgstr "" #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "" #: src/properties.cpp:452 msgid "inches" msgstr "دىيۇيم" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "سانتىمېتىر" #: src/properties.cpp:457 msgid "Auto Brightness" msgstr "ئاپتوماتىك يورۇقلۇقى" #: src/properties.cpp:457 msgid "When true, \"Brightness\" is automatically adjusted." msgstr "" #: src/properties.cpp:458 msgid "Auto Contrast" msgstr "ئاپتوماتىك ئاق-قارىلىقى" #: src/properties.cpp:458 msgid "When true, \"Contrast\" is automatically adjusted." msgstr "" #: src/properties.cpp:459 msgid "Auto Exposure" msgstr "ئاپتوماتىك نۇر ئۆتكۈزۈش" #: src/properties.cpp:459 msgid "When true, \"Exposure\" is automatically adjusted." msgstr "" #: src/properties.cpp:460 msgid "Auto Shadows" msgstr "ئاپتوماتىك سايە" #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "" #: src/properties.cpp:461 msgid "Blue Hue" msgstr "كۆك رەڭ فازىسى" #: src/properties.cpp:461 msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "" #: src/properties.cpp:462 msgid "Blue Saturation" msgstr "كۆك رەڭ تويۇنۇش دەرىجىسى" #: src/properties.cpp:462 msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:463 msgid "\"Brightness\" setting. Range 0 to +150." msgstr "" #: src/properties.cpp:464 msgid "Camera Profile" msgstr "كامېرا سەپلىمە ھۆججىتى" #: src/properties.cpp:464 msgid "\"Camera Profile\" setting." msgstr "\"كامېرا سەپلىمە ھۆججىتى\"تەڭشىكى." #: src/properties.cpp:465 #, fuzzy msgid "Chromatic Aberration Blue" msgstr "Chromaتويۇنۇش تەڭشىكى" #: src/properties.cpp:465 msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:466 #, fuzzy msgid "Chromatic Aberration Red" msgstr "Chromaتويۇنۇش تەڭشىكى" #: src/properties.cpp:466 msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "Color Noise Reduction" msgstr "شاۋقۇننى ئاجىزلىتىش" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "تويۇنۇش تەڭشىكى" #: src/properties.cpp:468 msgid "\"Contrast\" setting. Range -50 to +100." msgstr "" #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "" #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "" #: src/properties.cpp:471 msgid "Crop Bottom" msgstr "ئاستىغا قىسقارتىش" #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "" #: src/properties.cpp:472 msgid "Crop Right" msgstr "ئوڭغا قىسقارتىش" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "" #: src/properties.cpp:473 msgid "Crop Angle" msgstr "بۇلۇڭغا قىسقارتىش" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "" #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:476 #, fuzzy msgid "Crop Units" msgstr "كەڭلىكىنى قىسقارتىش" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "" #: src/properties.cpp:477 msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "" #: src/properties.cpp:478 #, fuzzy msgid "Green Hue" msgstr "يېشىل رەڭ فازىسى" #: src/properties.cpp:478 msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:479 msgid "Green Saturation" msgstr "يېشىل تويۇنۇش دەرىجىسى" #: src/properties.cpp:479 msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:480 msgid "Has Crop" msgstr "قىسقارتقۇچ بار" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "" #: src/properties.cpp:481 msgid "Has Settings" msgstr "تەڭشەكلەر بار" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "" #: src/properties.cpp:482 msgid "Luminance Smoothing" msgstr "" #: src/properties.cpp:482 msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:483 #, fuzzy msgid "Raw File Name" msgstr "ھۆججەت ئاتى" #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "" #: src/properties.cpp:484 msgid "Red Hue" msgstr "قىزىل رەڭ فازىسى" #: src/properties.cpp:484 msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:485 msgid "Red Saturation" msgstr "قىزىل تويۇنۇش دەرىجىسى" #: src/properties.cpp:485 msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:486 #, fuzzy msgid "\"Saturation\" setting. Range -100 to +100." msgstr "تويۇنۇش تەڭشىكى" #: src/properties.cpp:487 msgid "Shadows" msgstr "سايە" #: src/properties.cpp:487 msgid "\"Shadows\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:488 #, fuzzy msgid "Shadow Tint" msgstr "سايە" #: src/properties.cpp:488 msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:489 src/properties.cpp:1301 #, fuzzy msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "ئۆتكۈرلۈك تەڭشىكى" #: src/properties.cpp:490 msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "" #: src/properties.cpp:491 msgid "Tint" msgstr "رەڭلە" #: src/properties.cpp:491 msgid "\"Tint\" setting. Range -150 to +150." msgstr "" #: src/properties.cpp:492 #, fuzzy msgid "Tone Curve" msgstr "ئەگرىلىكىنى سېلىشتۇر" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "" #: src/properties.cpp:493 #, fuzzy msgid "Tone Curve Name" msgstr "ئىگىدار ئاتى" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "" #: src/properties.cpp:496 #, fuzzy msgid "Vignette Amount" msgstr "قىستۇرما سۈرەت تىزگىنى" #: src/properties.cpp:496 msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "" #: src/properties.cpp:497 #, fuzzy msgid "Vignette Midpoint" msgstr "قىستۇرما سۈرەت تىزگىنى" #: src/properties.cpp:497 msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "" #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "" #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 msgid "Image Length" msgstr "سۈرەت ئارىلىقى" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "" #: src/properties.cpp:507 msgid "Bits Per Sample" msgstr "ھەر بىر ئەۋرىشكىدىكى بىت سانى" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "" #: src/properties.cpp:508 src/tags.cpp:434 msgid "Compression" msgstr "پرېسلاش" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "" #: src/properties.cpp:509 src/tags.cpp:440 msgid "Photometric Interpretation" msgstr "" #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "" #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" #: src/properties.cpp:519 msgid "Samples Per Pixel" msgstr "" #: src/properties.cpp:519 msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "" #: src/properties.cpp:520 src/tags.cpp:514 msgid "Planar Configuration" msgstr "" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "" #: src/properties.cpp:521 msgid "YCbCr Sub Sampling" msgstr "" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" #: src/properties.cpp:523 src/tags.cpp:720 msgid "YCbCr Positioning" msgstr "" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" #: src/properties.cpp:525 src/properties.cpp:1390 #, fuzzy msgid "X Resolution" msgstr "Exifئېنىقلىقى" #: src/properties.cpp:525 msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "" #: src/properties.cpp:526 src/properties.cpp:1392 #, fuzzy msgid "Y Resolution" msgstr "Exifئېنىقلىقى" #: src/properties.cpp:526 msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "" #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 #, fuzzy msgid "Resolution Unit" msgstr "Exifئېنىقلىقى" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" #: src/properties.cpp:529 src/tags.cpp:540 #, fuzzy msgid "Transfer Function" msgstr "پەرمانلار" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" #: src/properties.cpp:531 src/tags.cpp:572 msgid "White Point" msgstr "ئاق نۇقتا" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "" #: src/properties.cpp:532 src/tags.cpp:577 msgid "Primary Chromaticities" msgstr "" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "" #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "" #: src/properties.cpp:534 msgid "Reference Black White" msgstr "پايدىلىنىش ئاق قارىلىقى" #: src/properties.cpp:534 msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "" #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 msgid "Date and Time" msgstr "چېسلا ۋە ۋاقىت" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" #: src/properties.cpp:541 src/tags.cpp:462 msgid "Image Description" msgstr "سۈرەت چۈشەندۈرۈشى" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" #: src/properties.cpp:542 msgid "Make" msgstr "ياسا" #: src/properties.cpp:542 msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "" #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "" #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" #: src/properties.cpp:546 msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" #: src/properties.cpp:548 msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" #: src/properties.cpp:555 src/tags.cpp:1605 msgid "Exif Version" msgstr "Exifنەشرى" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "" #: src/properties.cpp:556 #, fuzzy msgid "Flashpix Version" msgstr "ھۆججەت نەشىرى" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "" #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "" #: src/properties.cpp:558 src/tags.cpp:1616 #, fuzzy msgid "Components Configuration" msgstr "پرېس نىسبىتى:" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" #: src/properties.cpp:560 src/tags.cpp:825 #, fuzzy msgid "Compressed Bits Per Pixel" msgstr "پرىسلانغان سۈرەت چوڭلۇقى" #: src/properties.cpp:560 msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "" #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "" #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "" #: src/properties.cpp:564 src/tags.cpp:1674 msgid "User Comment" msgstr "ئىشلەتكۈچى ئىزاھاتى" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "" #: src/properties.cpp:565 src/tags.cpp:1716 msgid "Related Sound File" msgstr "مۇناسىۋەتلىك ئۈن ھۆججىتى" #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" #: src/properties.cpp:566 src/properties.cpp:1110 msgid "Date and Time Original" msgstr "ۋاقىت ۋە چېسلا ئورىگىنالى" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" #: src/properties.cpp:569 src/properties.cpp:1111 msgid "Date and Time Digitized" msgstr "ۋاقىت ۋە چېسلانى رەقەملەشتۈرۈش" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" #: src/properties.cpp:573 msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "" #: src/properties.cpp:574 src/properties.cpp:1157 msgid "F Number" msgstr "F قىممىتى" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "" #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "" #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 msgid "Spectral Sensitivity" msgstr "" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "" #: src/properties.cpp:577 #, fuzzy msgid "ISOSpeedRatings" msgstr "ISO سۈرئەت نىسبىتى" #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "OECF" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" #: src/properties.cpp:581 msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "" #: src/properties.cpp:582 src/tags.cpp:828 msgid "Brightness Value" msgstr "يورۇقلۇق دەرىجىسى قىممىتى" #: src/properties.cpp:582 msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "" #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "" #: src/properties.cpp:584 src/properties.cpp:1211 msgid "Maximum Aperture Value" msgstr "ئەڭ چوڭ نۇر چەمبىرى قىممىتى" #: src/properties.cpp:584 msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "" #: src/properties.cpp:585 msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "" #: src/properties.cpp:586 msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "" #: src/properties.cpp:587 msgid "EXIF tag 37384, 0x9208. Light source." msgstr "" #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "" #: src/properties.cpp:589 msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "" #: src/properties.cpp:590 src/tags.cpp:1666 msgid "Subject Area" msgstr "تېما رايون" #: src/properties.cpp:590 msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 #, fuzzy msgid "Flash Energy" msgstr "مۆلچەر چاقنىشى" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "" #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "" #: src/properties.cpp:592 msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" #: src/properties.cpp:594 src/tags.cpp:839 #, fuzzy msgid "Focal Plane X Resolution" msgstr "فوكۇس تەكشىلىكى دىئاگۇنالى" #: src/properties.cpp:594 msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "" #: src/properties.cpp:595 src/tags.cpp:840 #, fuzzy msgid "Focal Plane Y Resolution" msgstr "فوكۇس تەكشىلىكى دىئاگۇنالى" #: src/properties.cpp:595 msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "" #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 #, fuzzy msgid "Focal Plane Resolution Unit" msgstr "فوكۇس تەكشىلىكى دىئاگۇنالى" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 msgid "Subject Location" msgstr "يەرلىك تېما" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" #: src/properties.cpp:600 src/tags.cpp:846 msgid "Exposure Index" msgstr "نۇر ئۆتكۈزۈش ئىندېكسى" #: src/properties.cpp:600 msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "" #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 #, fuzzy msgid "Sensing Method" msgstr "ھۆججەت ئاتىنى ئۆزگەرتىۋاتدۇ" #: src/properties.cpp:601 msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "" #: src/properties.cpp:602 msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "" #: src/properties.cpp:603 src/tags.cpp:1771 #, fuzzy msgid "Scene Type" msgstr "لىنزا تىپى" #: src/properties.cpp:603 msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "" #: src/properties.cpp:604 src/tags.cpp:761 #, fuzzy msgid "CFA Pattern" msgstr "ئەندىزە+ئاپتوماتىك فوكۇس" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" #: src/properties.cpp:605 src/tags.cpp:1781 #, fuzzy msgid "Custom Rendered" msgstr "ئىختىيارى ئاق تەڭپۇڭلۇق قىزىل رەڭ دەرىجىسى" #: src/properties.cpp:605 msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "" #: src/properties.cpp:606 msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "" #: src/properties.cpp:607 msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "" #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 #, fuzzy msgid "Digital Zoom Ratio" msgstr "رەقەملىك كېڭەيت تاراىتىش نىسبىتى" #: src/properties.cpp:608 msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "" #: src/properties.cpp:609 src/tags.cpp:1800 #, fuzzy msgid "Focal Length In 35mm Film" msgstr "فوكۇس ئارىلىقى" #: src/properties.cpp:609 msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" #: src/properties.cpp:612 src/tags.cpp:1806 #, fuzzy msgid "Scene Capture Type" msgstr "كۆرۈنۈش رايۇنى" #: src/properties.cpp:612 msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "" #: src/properties.cpp:613 src/tags.cpp:1811 #, fuzzy msgid "Gain Control" msgstr "قىستۇرما سۈرەت تىزگىنى" #: src/properties.cpp:613 msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "" #: src/properties.cpp:614 msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" #: src/properties.cpp:615 msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" #: src/properties.cpp:616 msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" #: src/properties.cpp:617 src/tags.cpp:1826 #, fuzzy msgid "Device Setting Description" msgstr "كامىرا تەڭشەك نەشىرى" #: src/properties.cpp:617 msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" #: src/properties.cpp:618 src/tags.cpp:1831 #, fuzzy msgid "Subject Distance Range" msgstr "جىسىم ئارىلىقى" #: src/properties.cpp:618 msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "" #: src/properties.cpp:619 src/tags.cpp:1834 #, fuzzy msgid "Image Unique ID" msgstr "سۈرەت نومۇرى" #: src/properties.cpp:619 msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 msgid "GPS Version ID" msgstr "GPSنەشر كىملىكى" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "GPS كەڭلىك:" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "" #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "GPS ئۇزۇنلۇق:" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "" #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 #, fuzzy msgid "GPS Altitude Reference" msgstr "GPSئېگىزلىك" #: src/properties.cpp:625 src/properties.cpp:1168 msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "" #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "GPSئېگىزلىك" #: src/properties.cpp:626 src/properties.cpp:1167 msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "" #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 #, fuzzy msgid "GPS Time Stamp" msgstr "يوللىغان ۋاقىت" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 msgid "GPS Satellites" msgstr "GPS سۈنئىي ھەمراھ" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:634 src/tags.cpp:1989 msgid "GPS Status" msgstr "GPSھالىتى" #: src/properties.cpp:634 msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "" #: src/properties.cpp:635 src/tags.cpp:1994 msgid "GPS Measure Mode" msgstr "GPS ئۆلچەم ھالىتى" #: src/properties.cpp:635 msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "" #: src/properties.cpp:636 msgid "GPS DOP" msgstr "GPS DOP" #: src/properties.cpp:636 msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "" #: src/properties.cpp:637 src/tags.cpp:2002 #, fuzzy msgid "GPS Speed Reference" msgstr "پايدىلىنىش تۈرى" #: src/properties.cpp:637 msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "" #: src/properties.cpp:638 src/tags.cpp:2006 msgid "GPS Speed" msgstr "GPSتېزلىكى" #: src/properties.cpp:638 msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "" #: src/properties.cpp:639 #, fuzzy msgid "GPS Track Reference" msgstr "پايدىلىنىش تۈرى" #: src/properties.cpp:639 msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "" #: src/properties.cpp:640 src/tags.cpp:2013 msgid "GPS Track" msgstr "" #: src/properties.cpp:640 msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 #, fuzzy msgid "GPS Image Direction Reference" msgstr "پايدىلىنىش تۈرى" #: src/properties.cpp:641 msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "" #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 #, fuzzy msgid "GPS Image Direction" msgstr "سۈرەت چۈشەندۈرۈشى" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 #, fuzzy msgid "GPS Map Datum" msgstr "GPSھالىتى" #: src/properties.cpp:643 msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "" #: src/properties.cpp:644 src/tags.cpp:2033 #, fuzzy msgid "GPS Destination Latitude" msgstr "GPS كەڭلىك:" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" #: src/properties.cpp:645 src/tags.cpp:2045 #, fuzzy msgid "GPS Destination Longitude" msgstr "GPS ئۇزۇنلۇق:" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" #: src/properties.cpp:646 src/tags.cpp:2052 msgid "GPS Destination Bearing Reference" msgstr "" #: src/properties.cpp:646 msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "" #: src/properties.cpp:647 src/tags.cpp:2056 #, fuzzy msgid "GPS Destination Bearing" msgstr "نىشان" #: src/properties.cpp:647 msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "" #: src/properties.cpp:648 src/tags.cpp:2060 msgid "GPS Destination Distance Reference" msgstr "" #: src/properties.cpp:648 msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "" #: src/properties.cpp:649 src/tags.cpp:2064 #, fuzzy msgid "GPS Destination Distance" msgstr "نىشان" #: src/properties.cpp:649 msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "" #: src/properties.cpp:650 src/tags.cpp:2067 #, fuzzy msgid "GPS Processing Method" msgstr "ئۇچۇرنى بىر تەرەپ قىلىۋاتىدۇ" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" #: src/properties.cpp:651 src/tags.cpp:2072 msgid "GPS Area Information" msgstr "GPSدائىرە ئۇچۇرى" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "" #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "" #: src/properties.cpp:652 msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "" #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "" #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "" #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" #: src/properties.cpp:667 msgid "Contact Info-Address" msgstr "" #: src/properties.cpp:667 msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" #: src/properties.cpp:669 #, fuzzy msgid "Contact Info-City" msgstr "ئورۇن -شەھەر" #: src/properties.cpp:669 msgid "sub-key Creator Contact Info: city." msgstr "" #: src/properties.cpp:670 #, fuzzy msgid "Contact Info-State/Province" msgstr "ئىشتات/ئۆلكە" #: src/properties.cpp:670 msgid "sub-key Creator Contact Info: state or province." msgstr "" #: src/properties.cpp:671 msgid "Contact Info-Postal Code" msgstr "" #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "" #: src/properties.cpp:672 msgid "Contact Info-Country" msgstr "" #: src/properties.cpp:672 msgid "sub-key Creator Contact Info: country." msgstr "" #: src/properties.cpp:673 msgid "Contact Info-Email" msgstr "" #: src/properties.cpp:673 msgid "sub-key Creator Contact Info: email address." msgstr "" #: src/properties.cpp:674 msgid "Contact Info-Phone" msgstr "" #: src/properties.cpp:674 msgid "sub-key Creator Contact Info: phone number." msgstr "" #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "" #: src/properties.cpp:675 msgid "sub-key Creator Contact Info: web address." msgstr "" #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" #: src/properties.cpp:678 #, fuzzy msgid "IPTC Scene" msgstr "شامال مەنزىرىسى" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" #: src/properties.cpp:680 #, fuzzy msgid "IPTC Subject Code" msgstr "تېما رايون" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" #: src/properties.cpp:682 msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" #: src/properties.cpp:687 msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" #: src/properties.cpp:696 msgid "Additional model info" msgstr "" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "" #: src/properties.cpp:697 msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "" #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" #: src/properties.cpp:699 #, fuzzy msgid "Model age" msgstr "ئەندىزە" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "" #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "" #: src/properties.cpp:701 msgid "Person shown" msgstr "" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "" #: src/properties.cpp:702 #, fuzzy msgid "Digital Image Identifier" msgstr "رەقەملىك سۈرەت مۇقىملىقى" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "" #: src/properties.cpp:703 msgid "The type of the source digital file." msgstr "" #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 msgid "Event" msgstr "ھادىسە" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "" #: src/properties.cpp:705 #, fuzzy msgid "Maximum available height" msgstr "ئىشلەتكىلى بولىدىغان يورۇقلۇق" #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:706 #, fuzzy msgid "Maximum available width" msgstr "ئەڭ چوڭ فوكۇس ئارلىقى" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:707 msgid "Registry Entry" msgstr "" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" #: src/properties.cpp:708 msgid "Registry Entry-Item Identifier" msgstr "" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "" #: src/properties.cpp:710 msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "" #: src/properties.cpp:711 #, fuzzy msgid "Location shown" msgstr "ئورۇن كودى" #: src/properties.cpp:711 msgid "A location shown in the image." msgstr "" #: src/properties.cpp:712 msgid "Location Created" msgstr "ئورۇن قۇرۇلدى" #: src/properties.cpp:712 msgid "The location the photo was taken." msgstr "" #: src/properties.cpp:713 msgid "Location-City" msgstr "ئورۇن -شەھەر" #: src/properties.cpp:713 msgid "Name of the city of a location." msgstr "" #: src/properties.cpp:714 #, fuzzy msgid "Location-Country ISO-Code" msgstr "ئورۇن كودى" #: src/properties.cpp:714 msgid "The ISO code of a country of a location." msgstr "" #: src/properties.cpp:715 #, fuzzy msgid "Location-Country Name" msgstr "ئورۇن ئاتى" #: src/properties.cpp:715 msgid "The name of a country of a location." msgstr "" #: src/properties.cpp:716 #, fuzzy msgid "Location-Province/State" msgstr "دائىرە/ھالەت." #: src/properties.cpp:716 msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "" #: src/properties.cpp:717 #, fuzzy msgid "Location-Sublocation" msgstr "ئورۇن -شەھەر" #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" #: src/properties.cpp:718 #, fuzzy msgid "Location-World Region" msgstr "ئورۇن كودى" #: src/properties.cpp:718 msgid "The name of a world region of a location." msgstr "" #: src/properties.cpp:719 msgid "Artwork or object in the image" msgstr "" #: src/properties.cpp:719 msgid "A set of metadata about artwork or an object in the image." msgstr "" #: src/properties.cpp:720 #, fuzzy msgid "Artwork or object-Copyright notice" msgstr "نەشر باياناتى:" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" #: src/properties.cpp:721 msgid "Artwork or object-Creator" msgstr "" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" #: src/properties.cpp:722 msgid "Artwork or object-Date Created" msgstr "" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" #: src/properties.cpp:723 msgid "Artwork or object-Source" msgstr "" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" #: src/properties.cpp:724 msgid "Artwork or object-Source inventory number" msgstr "" #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" #: src/properties.cpp:725 msgid "Artwork or object-Title" msgstr "" #: src/properties.cpp:725 msgid "A reference for the artwork or object in the image." msgstr "" #: src/properties.cpp:732 msgid "Scan from film" msgstr "" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "" #: src/properties.cpp:734 msgid "Scan from print" msgstr "" #: src/properties.cpp:735 #, fuzzy msgid "Camera RAW" msgstr "كامىرا كىملىكى" #: src/properties.cpp:736 #, fuzzy msgid "Camera TIFF" msgstr "كامىرا كىملىكى" #: src/properties.cpp:737 msgid "Camera JPEG" msgstr "كامېرا JPEG" #: src/properties.cpp:742 msgid "PLUS Version" msgstr "PLUSنەشرى" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "" #: src/properties.cpp:743 msgid "Licensee" msgstr "رۇخسەت قىلىنغۇچى" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "" #: src/properties.cpp:744 msgid "Licensee ID" msgstr "رۇخسەت قىلىنغۇچى كىملىكى" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "" #: src/properties.cpp:745 msgid "Licensee Name" msgstr "رۇخسەت قىلىنغۇچى ئاتى" #: src/properties.cpp:745 msgid "Name of each Licensee." msgstr "" #: src/properties.cpp:746 msgid "End User" msgstr "ئاخىرقى ئىشلەتكۈچى" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "" #: src/properties.cpp:747 msgid "End User ID" msgstr "ئاخىرقى ئىشلەتكۈچى كىملىكى" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "" #: src/properties.cpp:748 msgid "End User Name" msgstr "ئاخىرقى ئىشلەتكۈچى ئاتى" #: src/properties.cpp:748 msgid "Name of each End User." msgstr "" #: src/properties.cpp:749 msgid "Licensor" msgstr "رۇخسەت قىلغۇچى" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "" #: src/properties.cpp:750 msgid "Licensor ID" msgstr "رۇخسەت قىلغۇچى كىملىكى" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "" #: src/properties.cpp:751 msgid "Licensor Name" msgstr "رۇخسەت قىلغۇچى ئاتى" #: src/properties.cpp:751 msgid "Name of each Licensor." msgstr "" #: src/properties.cpp:752 msgid "Licensor Address" msgstr "رۇخسەت قىلغۇچى ئادرېسى" #: src/properties.cpp:752 msgid "Licensor street address." msgstr "رۇخسەت قىلغۇچى كوچا ئادرېسى" #: src/properties.cpp:753 #, fuzzy msgid "Licensor Address Detail" msgstr "رۇخسەت قىلغۇچى ئادرېسى" #: src/properties.cpp:753 msgid "Additional Licensor mailing address details." msgstr "" #: src/properties.cpp:754 msgid "Licensor City" msgstr "رۇخسەت قىلغۇچى شەھىرى" #: src/properties.cpp:754 msgid "Licensor City name." msgstr "رۇخسەت قىلغۇچى شەھىرى ئاتى" #: src/properties.cpp:755 #, fuzzy msgid "Licensor State or Province" msgstr "ئىشتات/ئۆلكە" #: src/properties.cpp:755 #, fuzzy msgid "Licensor State or Province name." msgstr "رۇخسەت قىلغۇچى دۆلىتى ئاتى" #: src/properties.cpp:756 #, fuzzy msgid "Licensor Postal Code" msgstr "رۇخسەت قىلغۇچى ئاتى" #: src/properties.cpp:756 msgid "Licensor Postal Code or Zip Code." msgstr "" #: src/properties.cpp:757 msgid "Licensor Country" msgstr "رۇخسەت قىلغۇچى دۆلىتى" #: src/properties.cpp:757 msgid "Licensor Country name." msgstr "رۇخسەت قىلغۇچى دۆلىتى ئاتى" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1" msgstr "رۇخسەت قىلغۇچى تېلېفون تىپى 1" #: src/properties.cpp:758 msgid "Licensor Telephone Type 1." msgstr "رۇخسەت قىلغۇچى تېلېفون تىپى 1" #: src/properties.cpp:759 msgid "Licensor Telephone 1" msgstr "رۇخسەت قىلغۇچى تېلېفونى 1" #: src/properties.cpp:759 msgid "Licensor Telephone number 1." msgstr "رۇخسەت قىلغۇچى تېلېفون نومۇرى1." #: src/properties.cpp:760 #, fuzzy msgid "Licensor Telephone Type 2" msgstr "رۇخسەت قىلغۇچى تېلېفون تىپى 1" #: src/properties.cpp:760 #, fuzzy msgid "Licensor Telephone Type 2." msgstr "رۇخسەت قىلغۇچى تېلېفون تىپى 1" #: src/properties.cpp:761 #, fuzzy msgid "Licensor Telephone 2" msgstr "رۇخسەت قىلغۇچى تېلېفونى 1" #: src/properties.cpp:761 #, fuzzy msgid "Licensor Telephone number 2." msgstr "رۇخسەت قىلغۇچى تېلېفون نومۇرى1." #: src/properties.cpp:762 #, fuzzy msgid "Licensor Email" msgstr "رۇخسەت قىلغۇچى ئاتى" #: src/properties.cpp:762 #, fuzzy msgid "Licensor Email address." msgstr "رۇخسەت قىلغۇچى ئادرېسى" #: src/properties.cpp:763 #, fuzzy msgid "Licensor URL" msgstr "رۇخسەت قىلغۇچى" #: src/properties.cpp:763 #, fuzzy msgid "Licensor world wide web address." msgstr "رۇخسەت قىلغۇچى كوچا ئادرېسى" #: src/properties.cpp:764 #, fuzzy msgid "Licensor Notes" msgstr "رۇخسەت قىلغۇچى ئاتى" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" #: src/properties.cpp:765 #, fuzzy msgid "PLUS Media Summary Code" msgstr "GPS ئۆلچەم ھالىتى" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" #: src/properties.cpp:766 #, fuzzy msgid "License Start Date" msgstr "رۇخسەت قىلىنغۇچى ئاتى" #: src/properties.cpp:766 msgid "The date on which the license takes effect." msgstr "" #: src/properties.cpp:767 #, fuzzy msgid "License End Date" msgstr "رۇخسەت قىلىنغۇچى ئاتى" #: src/properties.cpp:767 msgid "The date on which the license expires." msgstr "" #: src/properties.cpp:768 #, fuzzy msgid "Media Constraints" msgstr "چ ك ئاق قارىلىق" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" #: src/properties.cpp:769 msgid "Region Constraints" msgstr "" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" #: src/properties.cpp:770 msgid "Product or Service Constraints" msgstr "" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" #: src/properties.cpp:771 #, fuzzy msgid "Image File Constraints" msgstr "سۈرەت چوڭلۇقى تەڭشەكلىرى" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "" #: src/properties.cpp:772 msgid "Image Alteration Constraints" msgstr "" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" #: src/properties.cpp:773 #, fuzzy msgid "Image Duplication Constraints" msgstr "سۈرەت سۈپەت تەڭشەكلىرى" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "" #: src/properties.cpp:774 #, fuzzy msgid "Model Release Status" msgstr "تارقاتقان چېسلا" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" #: src/properties.cpp:775 #, fuzzy msgid "Model Release ID" msgstr "كىملىك مودىلى" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "" #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "" #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "" #: src/properties.cpp:777 msgid "Property Release Status" msgstr "" #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" #: src/properties.cpp:778 msgid "Property Release ID" msgstr "" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "" #: src/properties.cpp:779 #, fuzzy msgid "Other Constraints" msgstr "ئاپتوماتىك ئاق-قارىلىقى" #: src/properties.cpp:779 msgid "Additional constraints on the license." msgstr "" #: src/properties.cpp:780 #, fuzzy msgid "Credit Line Required" msgstr "زۆرۈر ئەمەس" #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "" #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "" #: src/properties.cpp:782 msgid "Other License Requirements" msgstr "" #: src/properties.cpp:782 msgid "Additional license requirements." msgstr "" #: src/properties.cpp:783 msgid "Terms and Conditions Text" msgstr "" #: src/properties.cpp:783 msgid "Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:784 msgid "Terms and Conditions URL" msgstr "" #: src/properties.cpp:784 msgid "URL for Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:785 #, fuzzy msgid "Other License Conditions" msgstr "يورۇتۇش شارائىتى" #: src/properties.cpp:785 msgid "Additional license conditions." msgstr "" #: src/properties.cpp:786 msgid "Identifies the type of image delivered." msgstr "" #: src/properties.cpp:787 #, fuzzy msgid "Licensor Image ID" msgstr "رۇخسەت قىلغۇچى كىملىكى" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "" #: src/properties.cpp:788 msgid "Image File Name As Delivered" msgstr "" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "" #: src/properties.cpp:789 msgid "Image File Format As Delivered" msgstr "" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "" #: src/properties.cpp:790 msgid "Image File Size As Delivered" msgstr "" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "" #: src/properties.cpp:791 #, fuzzy msgid "Copyright Status" msgstr "نەشر ھوقۇقى" #: src/properties.cpp:791 #, fuzzy msgid "Copyright status of the image." msgstr "نەشر باياناتى:" #: src/properties.cpp:792 msgid "Copyright Registration Number" msgstr "" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" #: src/properties.cpp:793 #, fuzzy msgid "First Publication Date" msgstr "ئىناۋەتلىك چېسلاسى" #: src/properties.cpp:793 msgid "The date on which the image was first published." msgstr "" #: src/properties.cpp:794 #, fuzzy msgid "Copyright Owner" msgstr "نەشر ھوقۇقى" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "" #: src/properties.cpp:795 #, fuzzy msgid "Copyright Owner ID" msgstr "نەشر ھوقۇقى" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "" #: src/properties.cpp:796 #, fuzzy msgid "Copyright Owner Name" msgstr "ئىگىدار ئاتى" #: src/properties.cpp:796 msgid "Name of Copyright Owner." msgstr "" #: src/properties.cpp:797 msgid "Copyright Owner Image ID" msgstr "" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "" #: src/properties.cpp:798 #, fuzzy msgid "Image Creator" msgstr "سۈرەت يۇنىلىشى" #: src/properties.cpp:798 msgid "Creator/s of the image." msgstr "" #: src/properties.cpp:799 #, fuzzy msgid "Image Creator ID" msgstr "سۈرەت يۇنىلىشى" #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "" #: src/properties.cpp:800 #, fuzzy msgid "Image Creator Name" msgstr "سۈرەت ۋە (كاتەكسىمان)" #: src/properties.cpp:800 #, fuzzy msgid "Name of Image Creator." msgstr "ئەسلى سۈرەت مەركىزى" #: src/properties.cpp:801 msgid "Image Creator Image ID" msgstr "" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "" #: src/properties.cpp:802 #, fuzzy msgid "Image Supplier ID" msgstr "سۈرەت چوڭلۇقى" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "" #: src/properties.cpp:803 #, fuzzy msgid "Image Supplier Name" msgstr "سۈرەت چوڭلۇقى" #: src/properties.cpp:803 msgid "Name of Image Supplier." msgstr "" #: src/properties.cpp:804 msgid "Image Supplier Image ID" msgstr "" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "" #: src/properties.cpp:805 #, fuzzy msgid "Licensee Image ID" msgstr "رۇخسەت قىلىنغۇچى كىملىكى" #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "" #: src/properties.cpp:806 #, fuzzy msgid "Licensee Image Notes" msgstr "رۇخسەت قىلىنغۇچى ئاتى" #: src/properties.cpp:806 msgid "Notes added by Licensee." msgstr "" #: src/properties.cpp:807 msgid "Other Image Info" msgstr "" #: src/properties.cpp:807 #, fuzzy msgid "Additional image information." msgstr "ئاپتوماتىك فوكۇس ئورنى ئۇچۇرى" #: src/properties.cpp:808 #, fuzzy msgid "License ID" msgstr "رۇخسەت قىلىنغۇچى كىملىكى" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "" #: src/properties.cpp:809 #, fuzzy msgid "Licensor Transaction ID" msgstr "رۇخسەت قىلغۇچى كىملىكى" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "" #: src/properties.cpp:810 #, fuzzy msgid "Licensee Transaction ID" msgstr "رۇخسەت قىلىنغۇچى كىملىكى" #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" #: src/properties.cpp:811 #, fuzzy msgid "Licensee Project Reference" msgstr "پايدىلىنىش تۈرى" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "" #: src/properties.cpp:812 #, fuzzy msgid "License Transaction Date" msgstr "ئىناۋەتلىك چېسلاسى" #: src/properties.cpp:812 msgid "The date of the License Transaction." msgstr "" #: src/properties.cpp:813 msgid "Reuse" msgstr "" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" #: src/properties.cpp:814 msgid "Other License Documents" msgstr "" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "" #: src/properties.cpp:815 #, fuzzy msgid "Other License Info" msgstr "رۇخسەت قىلىنغۇچى كىملىكى" #: src/properties.cpp:815 #, fuzzy msgid "Additional license information." msgstr "ئاپتوماتىك فوكۇس ئورنى ئۇچۇرى" #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "" #: src/properties.cpp:819 msgid "Custom 4" msgstr "ئىختىيارىچە 4" #: src/properties.cpp:820 msgid "Custom 5" msgstr "ئىختىيارى 5" #: src/properties.cpp:821 msgid "Custom 6" msgstr "ئىختىيارى 6" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "" #: src/properties.cpp:822 msgid "Custom 7" msgstr "ئىختىيارى 7" #: src/properties.cpp:823 msgid "Custom 8" msgstr "ئىختىيارى 8" #: src/properties.cpp:824 #, fuzzy msgid "Custom 9" msgstr "ئىختىيارىچە 1" #: src/properties.cpp:825 #, fuzzy msgid "Custom 10" msgstr "ئىختىيارىچە 1" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "" #: src/properties.cpp:833 msgid "Not Required" msgstr "زۆرۈر ئەمەس" #: src/properties.cpp:839 msgid "Protected" msgstr "قوغدالغان" #: src/properties.cpp:840 msgid "Public Domain" msgstr "" #: src/properties.cpp:846 msgid "Credit Adjacent To Image" msgstr "" #: src/properties.cpp:847 msgid "Credit in Credits Area" msgstr "" #: src/properties.cpp:848 #, fuzzy msgid "Credit on Image" msgstr "سۈرەتنى ئالدىن كۆزەت" #: src/properties.cpp:849 #, fuzzy msgid "Not Require" msgstr "زۆرۈر ئەمەس" #: src/properties.cpp:854 #, fuzzy msgid "No Colorization" msgstr "نۇرئۆتۈش" #: src/properties.cpp:855 msgid "No Cropping" msgstr "" #: src/properties.cpp:856 #, fuzzy msgid "No De-Colorization" msgstr "نۇرئۆتۈش" #: src/properties.cpp:857 msgid "No Flipping" msgstr "" #: src/properties.cpp:858 msgid "No Merging" msgstr "" #: src/properties.cpp:859 #, fuzzy msgid "No Retouching" msgstr "ماس رايۇن" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "" #: src/properties.cpp:865 msgid "No Duplication Constraints" msgstr "" #: src/properties.cpp:866 #, fuzzy msgid "No Duplication" msgstr "ئۈن داۋاملىشىش ۋاقتى" #: src/properties.cpp:871 msgid "Maintain File Name" msgstr "" #: src/properties.cpp:872 msgid "Maintain File Type" msgstr "" #: src/properties.cpp:873 msgid "Maintain ID in File Name" msgstr "" #: src/properties.cpp:874 msgid "Maintain Metadata" msgstr "" #: src/properties.cpp:879 msgid "Windows Bitmap (BMP)" msgstr "" #: src/properties.cpp:880 #, fuzzy msgid "Digital Negative (DNG)" msgstr "رەقەملىك پاي چېكى" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "" #: src/properties.cpp:882 msgid "Graphics Interchange Format (GIF)" msgstr "" #: src/properties.cpp:883 msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "" #: src/properties.cpp:889 msgid "Tagged Image File Format (TIFF)" msgstr "" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "" #: src/properties.cpp:896 msgid "Up to 1 MB" msgstr "" #: src/properties.cpp:897 msgid "Up to 10 MB" msgstr "" #: src/properties.cpp:898 msgid "Up to 30 MB" msgstr "" #: src/properties.cpp:899 msgid "Up to 50 MB" msgstr "" #: src/properties.cpp:904 msgid "Illustrated Image" msgstr "" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "" #: src/properties.cpp:913 msgid "Cell" msgstr "كاتەكچە" #: src/properties.cpp:914 msgid "FAX" msgstr "" #: src/properties.cpp:916 msgid "Pager" msgstr "چاقىرغۇ" #: src/properties.cpp:917 msgid "Work" msgstr "ئىش" #: src/properties.cpp:922 #, fuzzy msgid "Age Unknown" msgstr "نامەلۇم" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "" #: src/properties.cpp:924 msgid "Age 24" msgstr "" #: src/properties.cpp:925 msgid "Age 23" msgstr "" #: src/properties.cpp:926 msgid "Age 22" msgstr "" #: src/properties.cpp:927 msgid "Age 21" msgstr "" #: src/properties.cpp:928 msgid "Age 20" msgstr "" #: src/properties.cpp:929 msgid "Age 19" msgstr "" #: src/properties.cpp:930 msgid "Age 18" msgstr "" #: src/properties.cpp:931 msgid "Age 17" msgstr "" #: src/properties.cpp:932 msgid "Age 16" msgstr "" #: src/properties.cpp:933 msgid "Age 15" msgstr "" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "ماس كەلمەيدۇ" #: src/properties.cpp:941 msgid "Unlimited Model Releases" msgstr "" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "" #: src/properties.cpp:949 msgid "Unlimited Property Releases" msgstr "" #: src/properties.cpp:950 msgid "Limited or Incomplete Property Releases" msgstr "" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "" #: src/properties.cpp:960 src/properties.cpp:969 #, fuzzy msgid "Fixture Identification" msgstr "رەسىم تويۇنۇش ھالىتى" #: src/properties.cpp:961 src/properties.cpp:970 msgid "Status" msgstr "ھالىتى" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "" #: src/properties.cpp:962 src/properties.cpp:971 msgid "People" msgstr "كىشىلەر" #: src/properties.cpp:963 src/properties.cpp:972 msgid "Catalog Sets" msgstr "" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "" #: src/properties.cpp:978 #, fuzzy msgid "RegionInfo" msgstr "رايونلار" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "" #: src/properties.cpp:984 src/properties.cpp:1000 msgid "Regions" msgstr "رايونلار" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "" #: src/properties.cpp:985 msgid "Date Regions Valid" msgstr "" #: src/properties.cpp:985 msgid "Date the last region was created" msgstr "" #: src/properties.cpp:991 #, fuzzy msgid "Person Display Name" msgstr "سەپلەك(Profile) ھۆججەت ئاتى" #: src/properties.cpp:991 msgid "Name of the person (in the given rectangle)" msgstr "" #: src/properties.cpp:992 msgid "Rectangle" msgstr "تىك تۆت بۇلۇڭ" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "" #: src/properties.cpp:993 msgid "Person Email Digest" msgstr "" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "" #: src/properties.cpp:994 msgid "Person LiveId CID" msgstr "" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "" #: src/properties.cpp:1001 msgid "Applied To Dimensions" msgstr "" #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "" #: src/properties.cpp:1002 #, fuzzy msgid "Region List" msgstr "رايونلار" #: src/properties.cpp:1002 msgid "List of Region structures" msgstr "" #: src/properties.cpp:1003 msgid "Area" msgstr "دائىرە" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" #: src/properties.cpp:1007 #, fuzzy msgid "Focus Usage" msgstr "فوكۇس دائىرىسى" #: src/properties.cpp:1008 #, fuzzy msgid "Bar Code Value" msgstr "تەگلىك قىممىتى" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "" #: src/properties.cpp:1009 msgid "Extensions" msgstr "كېڭەيتمىلەر" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "" #: src/properties.cpp:1015 msgid "Main structure containing keyword based information" msgstr "" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "" #: src/properties.cpp:1016 msgid "List of root keyword structures" msgstr "" #: src/properties.cpp:1017 #, fuzzy msgid "Keyword" msgstr "ھالقىلىق سۆزلەر" #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "" #: src/properties.cpp:1018 msgid "Applied" msgstr "" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" #: src/properties.cpp:1019 msgid "List of children keyword structures" msgstr "" #: src/properties.cpp:1026 #, fuzzy msgid "Use Panorama Viewer" msgstr "تولۇق مەنزىرە مودىلى" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" #: src/properties.cpp:1027 #, fuzzy msgid "Capture Software" msgstr "سانلىق مەلۇماتقا ئېرىشىش" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" #: src/properties.cpp:1028 #, fuzzy msgid "Stitching Software" msgstr "يۇمشاق دېتال" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" #: src/properties.cpp:1029 #, fuzzy msgid "Projection Type" msgstr "ئوبيېكت تىپى" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "" #: src/properties.cpp:1034 msgid "The pitch angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" #: src/properties.cpp:1037 #, fuzzy msgid "First Photo Date" msgstr "تارتىلغان ۋاقتى" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "" #: src/properties.cpp:1038 #, fuzzy msgid "Last Photo Date" msgstr "تارتىلغان ۋاقتى" #: src/properties.cpp:1038 msgid "Date and time for the last image created in the panorama." msgstr "" #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "" #: src/properties.cpp:1040 #, fuzzy msgid "Exposure Lock Used" msgstr "يورۇتۇش ھالىتى" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" #: src/properties.cpp:1041 msgid "Cropped Area Image Width Pixels" msgstr "" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" #: src/properties.cpp:1042 msgid "Cropped Area Image Height Pixels" msgstr "" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" #: src/properties.cpp:1047 msgid "Initial Camera Dolly" msgstr "" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" #: src/properties.cpp:1055 #, fuzzy msgid "Archival Location" msgstr "يەرلىكتە تارت" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "" #: src/properties.cpp:1056 #, fuzzy msgid "Arranger" msgstr "قىزغۇچ سېرىق" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "" #: src/properties.cpp:1057 #, fuzzy msgid "Arranger Keywords" msgstr "ھالقىلىق سۆزلەر" #: src/properties.cpp:1057 msgid "Information about the Arranger Keywords." msgstr "" #: src/properties.cpp:1059 #, fuzzy msgid "Video Aspect Ratio" msgstr "ئۇزۇنلۇق كەڭلىك نىسبىتى" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "" #: src/properties.cpp:1060 #, fuzzy msgid "Video Aspect Ratio Type" msgstr "ئۇزۇنلۇق كەڭلىك نىسبىتى" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "" #: src/properties.cpp:1062 #, fuzzy msgid "Attached File Description" msgstr "سۈرەت چۈشەندۈرۈشى" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "" #: src/properties.cpp:1064 msgid "Attached File Name" msgstr "" #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "" #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" #: src/properties.cpp:1068 #, fuzzy msgid "Brightness setting." msgstr "ئۆتكۈرلۈك تەڭشىكى" #: src/properties.cpp:1069 #, fuzzy msgid "Camera Byte Order" msgstr "بايت تەرتىپى" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "" #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "" #: src/properties.cpp:1070 msgid "The video Cinematographer information." msgstr "" #: src/properties.cpp:1071 #, fuzzy msgid "Clean Aperture Width" msgstr "ئەڭ كىچىك نۇر گەردىشى" #: src/properties.cpp:1071 #, fuzzy msgid "Clean aperture width in pixels" msgstr "ئەڭ چوڭ نۇر گەردىشى ئەڭ كىچىك فۇكۇسدا" #: src/properties.cpp:1072 #, fuzzy msgid "Clean Aperture Height" msgstr "مەركەزگە پايدىلىق" #: src/properties.cpp:1072 #, fuzzy msgid "Clean aperture height in pixels" msgstr "ئەڭ چوڭ نۇر گەردىشى ئەڭ كىچىك فۇكۇسدا" #: src/properties.cpp:1073 #, fuzzy msgid "Video Codec" msgstr "سىن پرېسلاش" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" #: src/properties.cpp:1074 msgid "Video Codec Decode Info" msgstr "" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1075 #, fuzzy msgid "Video Codec Description" msgstr "سۈرەت چۈشەندۈرۈشى" #: src/properties.cpp:1075 src/properties.cpp:1403 msgid "Contains description the codec." msgstr "" #: src/properties.cpp:1076 #, fuzzy msgid "Video Codec Information" msgstr "سۈرەت ۋە ئۇچۇر" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL" msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL." msgstr "" #: src/properties.cpp:1078 #, fuzzy msgid "Video Codec Settings" msgstr "ئۈسكۈنە ھالىتى تەكشىكى" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1083 #, fuzzy msgid "Comment" msgstr "ئىزاھات خاتىرىسى" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned" msgstr "پرېسلاش" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned." msgstr "پرېسلاش" #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1086 msgid "Information about the Composer." msgstr "" #: src/properties.cpp:1087 #, fuzzy msgid "Composer Keywords" msgstr "ھالقىلىق سۆزلەر" #: src/properties.cpp:1087 msgid "Information about the Composer Keywords." msgstr "" #: src/properties.cpp:1088 #, fuzzy msgid "Compressor" msgstr "پرېسلاش" #: src/properties.cpp:1088 #, fuzzy msgid "Video Compression Library Used" msgstr "سىن پرېسلاش" #: src/properties.cpp:1089 #, fuzzy msgid "Video Compressor ID" msgstr "سىن پرېسلاش" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "" #: src/properties.cpp:1090 #, fuzzy msgid "Compressor Version" msgstr "پرېسلاش" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "" #: src/properties.cpp:1091 #, fuzzy msgid "Container Type" msgstr "كامىرا تىپى" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "" #: src/properties.cpp:1092 #, fuzzy msgid "Content Compression Algorithm" msgstr "پرېس نىسبىتى:" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "" #: src/properties.cpp:1097 msgid "Indicates the direction of contrast processing applied by the camera." msgstr "" #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "" #: src/properties.cpp:1100 msgid "Name of the country where the video was created." msgstr "" #: src/properties.cpp:1101 #, fuzzy msgid "Creation Date" msgstr "چېسلا قۇر" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" #: src/properties.cpp:1103 #, fuzzy msgid "Pixel Crop Bottom" msgstr "ئاستىغا قىسقارتىش" #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "" #: src/properties.cpp:1104 #, fuzzy msgid "Pixel Crop Left" msgstr "سولغا قىسقارتىش" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "" #: src/properties.cpp:1105 #, fuzzy msgid "Pixel Crop Right" msgstr "ئوڭغا قىسقارتىش" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "" #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "" #: src/properties.cpp:1107 #, fuzzy msgid "Pixel Crop Top" msgstr "ئۈستىگە قىسقارتىش" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "" #: src/properties.cpp:1108 #, fuzzy msgid "Current Time" msgstr "نۇر ئۆتۈش ۋاقتى" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "" #: src/properties.cpp:1109 msgid "Data Packets" msgstr "" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "" #: src/properties.cpp:1110 msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "" #: src/properties.cpp:1111 msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" #: src/properties.cpp:1113 #, fuzzy msgid "Date-Time Original" msgstr "ۋاقىت ۋە چېسلا ئورىگىنالى" #: src/properties.cpp:1113 #, fuzzy msgid "Contains the production date" msgstr "شاۋقۇننى ئاجىزلىتىش" #: src/properties.cpp:1114 msgid "Video Track Default On" msgstr "" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1115 msgid "Indicates the digital zoom ratio when the video was shot." msgstr "" #: src/properties.cpp:1116 #, fuzzy msgid "Dimensions" msgstr "كېڭەيتمىلەر" #: src/properties.cpp:1116 msgid "Information about the Dimensions of the video frame." msgstr "" #: src/properties.cpp:1117 #, fuzzy msgid "Director" msgstr "بىۋاستە" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "" #: src/properties.cpp:1118 #, fuzzy msgid "Video Display Unit" msgstr "خاتىرىنى كۆرسىتىش" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1120 #, fuzzy msgid "Doc Type" msgstr "فوكۇس تىپى" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" #: src/properties.cpp:1121 #, fuzzy msgid "Doc Type Read Version" msgstr "خاتىرە نەشىرى" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" #: src/properties.cpp:1122 #, fuzzy msgid "Doc Type Version" msgstr "ئۈلگە نەشىرى" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "" #: src/properties.cpp:1124 msgid "The duration of the media file. Measured in milli-seconds." msgstr "" #: src/properties.cpp:1125 #, fuzzy msgid "EBML Read Version" msgstr "خاتىرە نەشىرى" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "" #: src/properties.cpp:1126 #, fuzzy msgid "EBML Version" msgstr "ARMنەشىرى" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "" #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "" #: src/properties.cpp:1136 msgid "Edited By" msgstr "" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1137 #, fuzzy msgid "Video Track Enabled" msgstr "سىن كاندۇك تېزلىكى" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels width in pixels" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "" #: src/properties.cpp:1141 msgid "Encoder" msgstr "" #: src/properties.cpp:1141 msgid "Information about the Encoder." msgstr "" #: src/properties.cpp:1142 #, fuzzy msgid "End Timecode" msgstr "ۋاقىتنى باشقىچە تاللاش كودى" #: src/properties.cpp:1143 msgid "Engineer, in most cases name of person." msgstr "" #: src/properties.cpp:1144 #, fuzzy msgid "Equipment" msgstr "ئۈسكۈنەنەشىرى" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "" #: src/properties.cpp:1145 #, fuzzy msgid "Exposure Compensation Information." msgstr "يورۇتۇشنى تولۇقلاش تەڭشىكى" #: src/properties.cpp:1146 #, fuzzy msgid "Exposure Program Information." msgstr "يورۇتۇش پروگراممىسى" #: src/properties.cpp:1147 #, fuzzy msgid "Exposure time in seconds." msgstr "نۇرلاندۇرۇش ۋاقتى" #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description" msgstr "كېڭەيتىلمە ئاق تەڭپۇڭلۇقنى بايقاش" #: src/properties.cpp:1148 msgid "Extended Content Description, usually found in ASF type files." msgstr "" #: src/properties.cpp:1150 #, fuzzy msgid "File ID" msgstr "ھۆججەت" #: src/properties.cpp:1150 #, fuzzy msgid "File ID." msgstr "ھۆججەت" #: src/properties.cpp:1151 #, fuzzy msgid "File Length" msgstr "فوكۇس ئارىلىقى" #: src/properties.cpp:1151 #, fuzzy msgid "File length." msgstr "فوكۇس ئارىلىقى" #: src/properties.cpp:1152 #, fuzzy msgid "File Name" msgstr "ھۆججەت ئاتى" #: src/properties.cpp:1152 msgid "File Name or Absolute File Path" msgstr "" #: src/properties.cpp:1153 #, fuzzy msgid "File Size" msgstr "ھۆججەت چوڭلۇقى" #: src/properties.cpp:1153 #, fuzzy msgid "File Size, in MB" msgstr "ھۆججەت چوڭلۇقى" #: src/properties.cpp:1154 #, fuzzy msgid "File Type" msgstr "ھۆججەت ئاتى" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "" #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "" #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "" #: src/properties.cpp:1158 msgid "Focal length of the lens, in millimeters." msgstr "" #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "" #: src/properties.cpp:1161 #, fuzzy msgid "Frame Count" msgstr "سۈرەت سانى" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "" #: src/properties.cpp:1162 #, fuzzy msgid "Frame Height" msgstr "سۈرەت ئېگىزلىكى:" #: src/properties.cpp:1162 msgid "Height of frames in a video" msgstr "" #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" #: src/properties.cpp:1165 #, fuzzy msgid "Frame Width" msgstr "سۈرەت كەڭلىكى" #: src/properties.cpp:1165 msgid "Width of frames in a video" msgstr "" #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "" #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "" #: src/properties.cpp:1171 msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:1172 #, fuzzy msgid "Reference for image direction." msgstr "تولۇق مەنزىرە يۆنىلىشى" #: src/properties.cpp:1173 msgid "(North/South). Indicates latitude." msgstr "" #: src/properties.cpp:1174 msgid "(East/West). Indicates longitude." msgstr "" #: src/properties.cpp:1175 msgid "Geodetic survey data." msgstr "" #: src/properties.cpp:1176 msgid "Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:1177 msgid "Time stamp of GPS data, " msgstr "" #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "" #: src/properties.cpp:1179 #, fuzzy msgid "Graphics Mode" msgstr "تەگلىك ھالىتى" #: src/properties.cpp:1179 msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" #: src/properties.cpp:1181 msgid "Grouping" msgstr "" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 #, fuzzy msgid "Handler Description" msgstr "سۈرەت چۈشەندۈرۈشى" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 #, fuzzy msgid "Handler Type" msgstr "كامىرا تىپى" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Handler Vendor ID" msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 #, fuzzy msgid "Component manufacturer." msgstr "ياسىغۇچى سودىگەر" #: src/properties.cpp:1186 #, fuzzy msgid "Video Height" msgstr "ئەڭ يۇقىرى سەزگۈچ" #: src/properties.cpp:1186 src/properties.cpp:1309 msgid "Video height in pixels" msgstr "" #: src/properties.cpp:1187 #, fuzzy msgid "Hue Adjustment Settings Information." msgstr "سۈرەت تەڭشىلىش تەڭشىكى" #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "" #: src/properties.cpp:1189 msgid "Information Banner Image." msgstr "" #: src/properties.cpp:1190 #, fuzzy msgid "Info Banner URL" msgstr "ئاساسىي URL" #: src/properties.cpp:1190 msgid "Information Banner URL." msgstr "" #: src/properties.cpp:1191 #, fuzzy msgid "Information" msgstr "رەسىمگە تارتىش ئۇچۇرلىرى" #: src/properties.cpp:1191 #, fuzzy msgid "Additional Movie Information." msgstr "ئاپتوماتىك فوكۇس ئورنى ئۇچۇرى" #: src/properties.cpp:1192 #, fuzzy msgid "Info Text" msgstr "تېكىست" #: src/properties.cpp:1192 #, fuzzy msgid "Information Text." msgstr "IMنى بېسىش ئۇچۇرى" #: src/properties.cpp:1193 msgid "Info URL" msgstr "" #: src/properties.cpp:1193 #, fuzzy msgid "Information URL." msgstr "IMنى بېسىش ئۇچۇرى" #: src/properties.cpp:1194 msgid "Information about the ISO Setting." msgstr "" #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "" #: src/properties.cpp:1196 #, fuzzy msgid "Junk Data" msgstr "لىنزا سانلىق مەلۇماتى" #: src/properties.cpp:1196 msgid "Video Junk data" msgstr "" #: src/properties.cpp:1197 #, fuzzy msgid "Language." msgstr "تىل" #: src/properties.cpp:1198 #, fuzzy msgid "Length" msgstr "فوكۇس ئارىلىقى" #: src/properties.cpp:1198 msgid "The length of the media file." msgstr "" #: src/properties.cpp:1200 #, fuzzy msgid "Lens Type." msgstr "لىنزا تىپى" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness" msgstr "يورۇقلۇق" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness." msgstr "يورۇقلۇق" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information" msgstr "رەسىمگە تارتىش ئۇچۇرلىرى" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information." msgstr "رەسىمگە تارتىش ئۇچۇرلىرى" #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "" #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "" #: src/properties.cpp:1204 #, fuzzy msgid "Logo URL" msgstr "ئاخىرقىURL" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "" #: src/properties.cpp:1205 msgid "Lyrics" msgstr "" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "" #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "" #: src/properties.cpp:1207 #, fuzzy msgid "Equipment Make" msgstr "ئۈسكۈنەنەشىرى" #: src/properties.cpp:1207 msgid "Manufacturer of recording equipment" msgstr "" #: src/properties.cpp:1208 #, fuzzy msgid "Camera Maker Note Type" msgstr "كامىرا تىپى" #: src/properties.cpp:1208 msgid "Maker Note Type of the camera." msgstr "" #: src/properties.cpp:1209 #, fuzzy msgid "Camera Maker Note Version" msgstr "زاۋۇت ئىزاھات نەشرى" #: src/properties.cpp:1209 #, fuzzy msgid "Maker Note Version of the camera." msgstr "زاۋۇت ئىزاھات نەشرى" #: src/properties.cpp:1210 #, fuzzy msgid "Maker URL" msgstr "ئاساسىي URL" #: src/properties.cpp:1210 #, fuzzy msgid "Camera Manufacturer's URL." msgstr "ياسىغۇچى سودىگەر" #: src/properties.cpp:1211 msgid "Smallest F number of lens, in APEX." msgstr "" #: src/properties.cpp:1212 #, fuzzy msgid "Maximum Bit Rate" msgstr "ئەڭ چوڭ نۇر چەمبىرى قىممىتى" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" #: src/properties.cpp:1213 #, fuzzy msgid "Maximum Data Rate" msgstr "ھۆججەت سانلىق مەلۇمات نىسبىتى" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 #, fuzzy msgid "Media Track Create Date" msgstr "چېسلا قۇر" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 #, fuzzy msgid "Media Track Duration" msgstr "ئۈن داۋاملىشىش ۋاقتى" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 #, fuzzy msgid "Media Header Version" msgstr "ئۈلگە نەشىرى" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "Media Language Code" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 #, fuzzy msgid "Media Track Modify Date" msgstr "مېتال سانلىق مەلۇماتىنىڭ ئۆزگەرتىلگەن ۋاقتى" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" #: src/properties.cpp:1220 #, fuzzy msgid "Medium." msgstr "ئوتتۇراھال" #: src/properties.cpp:1221 #, fuzzy msgid "Metadata" msgstr "مىتا سانلىق مەلۇماتى" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1222 #, fuzzy msgid "Metadata Library" msgstr "مىتا سانلىق مەلۇماتى" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "" #: src/properties.cpp:1223 #, fuzzy msgid "Metering mode." msgstr "ئۆلچەش ھالىتى" #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "" #: src/properties.cpp:1225 #, fuzzy msgid "Mime Type" msgstr "سۈرەت تىپى" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "" #: src/properties.cpp:1226 #, fuzzy msgid "QTime Minor FileType Version" msgstr "ھۆججەت نەشىرى" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "" #: src/properties.cpp:1227 #, fuzzy msgid "Equipment Model" msgstr "ئۈسكۈنەنەشىرى" #: src/properties.cpp:1227 msgid "Model name or number of equipment." msgstr "" #: src/properties.cpp:1228 #, fuzzy msgid "Modification Date-Time" msgstr "ئورۇن ئاتى" #: src/properties.cpp:1228 msgid "Contains the modification date of the video" msgstr "" #: src/properties.cpp:1229 #, fuzzy msgid "Movie Header Version" msgstr "ئۈلگە نەشىرى" #: src/properties.cpp:1230 msgid "Music By" msgstr "" #: src/properties.cpp:1230 msgid "Music By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1231 msgid "Muxing App" msgstr "" #: src/properties.cpp:1231 msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" #: src/properties.cpp:1232 msgid "Name of song or the event." msgstr "" #: src/properties.cpp:1233 #, fuzzy msgid "Next Track ID" msgstr "تېكىست+ID#" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" #: src/properties.cpp:1234 #, fuzzy msgid "Number Of Colours" msgstr "بەت سانى" #: src/properties.cpp:1234 msgid "Total number of colours used" msgstr "" #: src/properties.cpp:1235 msgid "Number Of Important Colours" msgstr "" #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1236 #, fuzzy msgid "Number Of Parts" msgstr "بەت سانى" #: src/properties.cpp:1236 msgid "Total number of parts in the video." msgstr "" #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" #: src/properties.cpp:1238 #, fuzzy msgid "Organization" msgstr "يۆنىلىش" #: src/properties.cpp:1238 msgid "Name of organization associated with the video." msgstr "" #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" #: src/properties.cpp:1248 #, fuzzy msgid "Part" msgstr "يىغىلىش" #: src/properties.cpp:1248 #, fuzzy msgid "Part." msgstr "يىغىلىش" #: src/properties.cpp:1249 msgid "Performers" msgstr "" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords" msgstr "ھالقىلىق سۆزلەر" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords." msgstr "ھالقىلىق سۆزلەر" #: src/properties.cpp:1251 msgid "Performer URL" msgstr "" #: src/properties.cpp:1251 msgid "Performer's dedicated URL." msgstr "" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data" msgstr "رەسىم تىزگىنى" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data." msgstr "رەسىم تىزگىنى" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Version" msgstr "رەسىم تىزگىنى" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Data Version." msgstr "رەسىم تىزگىنى" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name" msgstr "رەسىم تىزگىنى" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name." msgstr "رەسىم تىزگىنى" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Base" msgstr "رەسىم تىزگىنى" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Data Base." msgstr "رەسىم تىزگىنى" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust" msgstr "رەسىم تىزگىنى" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust Information." msgstr "رەسىم تويۇنۇش ھالىتى" #: src/properties.cpp:1257 #, fuzzy msgid "Picture Control Quick Adjust" msgstr "رەسىم تىزگىنى" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection" msgstr "تاللاش" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection." msgstr "تاللاش" #: src/properties.cpp:1259 #, fuzzy msgid "Play Mode" msgstr "قۇلاي ھالەت" #: src/properties.cpp:1259 msgid "Information about the Play Mode." msgstr "" #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "" #: src/properties.cpp:1260 msgid "Contains the information of External media." msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1265 msgid "Planes" msgstr "" #: src/properties.cpp:1265 msgid "The number of Image Planes in the video" msgstr "" #: src/properties.cpp:1266 #, fuzzy msgid "Poster Time" msgstr "نۇر ئۆتۈش ۋاقتى" #: src/properties.cpp:1266 msgid "The time value of the time of the movie poster." msgstr "" #: src/properties.cpp:1267 #, fuzzy msgid "Preferred Rate" msgstr "پايدىلىنىش چىسلاسى" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1269 msgid "Preroll" msgstr "" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" #: src/properties.cpp:1272 #, fuzzy msgid "Preview Atom Type" msgstr "سۈرەتنى ئالدىن كۆزەت" #: src/properties.cpp:1272 msgid "Indicates the type of atom that contains the preview data" msgstr "" #: src/properties.cpp:1273 #, fuzzy msgid "Preview Date" msgstr "سانلىق مەلۇماتنى ئالدىن كۈزەت" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "" #: src/properties.cpp:1274 #, fuzzy msgid "Preview Duration" msgstr "سانلىق مەلۇماتنى ئالدىن كۈزەت" #: src/properties.cpp:1274 msgid "The duration of the movie preview in movie time scale units" msgstr "" #: src/properties.cpp:1275 #, fuzzy msgid "Preview Time" msgstr "سۈرەتنى ئالدىن كۆزەت" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "" #: src/properties.cpp:1276 #, fuzzy msgid "The version of the movie preview " msgstr "سۈرەتنى ئالدىن كۈزەتمەيدۇ" #: src/properties.cpp:1277 #, fuzzy msgid "Produced By" msgstr "فىلىم ئىشلىگۈچى" #: src/properties.cpp:1277 msgid "Produced By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1278 msgid "Producer involved with the video." msgstr "" #: src/properties.cpp:1279 #, fuzzy msgid "Producer Keywords" msgstr "ھالقىلىق سۆزلەر" #: src/properties.cpp:1279 msgid "Information about the Producer Keywords." msgstr "" #: src/properties.cpp:1280 #, fuzzy msgid "Production Aperture Width" msgstr "نۇر گەردىشى ئاپتوماتىك" #: src/properties.cpp:1280 msgid "Production aperture width in pixels" msgstr "" #: src/properties.cpp:1281 #, fuzzy msgid "Production Aperture Height" msgstr "نۇر گەردىشى ئاپتوماتىك" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "" #: src/properties.cpp:1282 msgid "Production Designer" msgstr "" #: src/properties.cpp:1282 msgid "Information about the Production Designer." msgstr "" #: src/properties.cpp:1283 #, fuzzy msgid "Production Studio" msgstr "مەھسۇلات كىملىكى" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "" #: src/properties.cpp:1284 #, fuzzy msgid "Product" msgstr "مەھسۇلات كىملىكى" #: src/properties.cpp:1284 #, fuzzy msgid "Product." msgstr "مەھسۇلات كىملىكى" #: src/properties.cpp:1286 msgid "Rate" msgstr "" #: src/properties.cpp:1286 msgid "Rate." msgstr "" #: src/properties.cpp:1287 msgid "Rated" msgstr "" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "" #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright" msgstr "نەشر ھوقۇقى" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright." msgstr "نەشر ھوقۇقى" #: src/properties.cpp:1292 #, fuzzy msgid "Requirements" msgstr "ئۆزگەرگۈچى مىقدار ۋە ئېھتىياج\n" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "" #: src/properties.cpp:1293 msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" #: src/properties.cpp:1294 msgid "Ripped By" msgstr "" #: src/properties.cpp:1294 msgid "Ripped By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1295 msgid "Indicates the direction of saturation processing applied by the camera." msgstr "" #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "" #: src/properties.cpp:1296 msgid "The name of the secondary genre.." msgstr "" #: src/properties.cpp:1297 #, fuzzy msgid "Selection Time" msgstr "تاللاش" #: src/properties.cpp:1297 msgid "The time value for the start time of the current selection." msgstr "" #: src/properties.cpp:1298 #, fuzzy msgid "Selection Duration" msgstr "ئۈن داۋاملىشىش ۋاقتى" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "" #: src/properties.cpp:1299 #, fuzzy msgid "Send Duration" msgstr "ۋاقتى" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "" #: src/properties.cpp:1303 #, fuzzy msgid "Software Version" msgstr "Firmware نەشرى:" #: src/properties.cpp:1303 msgid "The Version of the software used." msgstr "" #: src/properties.cpp:1304 #, fuzzy msgid "Song Writer" msgstr "ماۋزۇ يازغۇچ" #: src/properties.cpp:1304 msgid "The name of the song writer." msgstr "" #: src/properties.cpp:1305 msgid "Song Writer Keywords" msgstr "" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords." msgstr "ھالقىلىق سۆزلەر" #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits" msgstr "مەنبە" #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits." msgstr "كرېدىت." #: src/properties.cpp:1308 #, fuzzy msgid "Source Form" msgstr "مەنبە" #: src/properties.cpp:1308 #, fuzzy msgid "Source Form." msgstr "مەنبە" #: src/properties.cpp:1309 #, fuzzy msgid "Source Image Height" msgstr "سۈرەت ئېگىزلىكى:" #: src/properties.cpp:1310 #, fuzzy msgid "Source Image Width" msgstr "سۈرەت كەڭلىكى" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "" #: src/properties.cpp:1311 msgid "Starring" msgstr "" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "" #: src/properties.cpp:1312 #, fuzzy msgid "Start Timecode" msgstr "باشلىنىش ۋاقتى كودى" #: src/properties.cpp:1313 #, fuzzy msgid "Statistics" msgstr "ھالىتى" #: src/properties.cpp:1313 msgid "Statistics." msgstr "" #: src/properties.cpp:1314 #, fuzzy msgid "Stream Count" msgstr "قاپقاق سانى" #: src/properties.cpp:1314 msgid "Total Number Of Streams" msgstr "" #: src/properties.cpp:1315 #, fuzzy msgid "Stream Name" msgstr "تارتىلغان سۈرەت ئاتى" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "" #: src/properties.cpp:1316 #, fuzzy msgid "Stream Quality" msgstr "سۈرەت سۈپىتى" #: src/properties.cpp:1316 msgid "General Stream Quality" msgstr "" #: src/properties.cpp:1317 #, fuzzy msgid "Stream Sample Rate" msgstr "ئۈننىڭ ئەۋرىشكىلەش تېزلىكى:" #: src/properties.cpp:1318 #, fuzzy msgid "Stream Sample Count" msgstr "سۈرەت سانى" #: src/properties.cpp:1319 msgid "Stream Sample Size" msgstr "" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "" #: src/properties.cpp:1320 #, fuzzy msgid "Stream Type" msgstr "كامىرا تىپى" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1321 #, fuzzy msgid "Subtitles Codec" msgstr "باشلىنىش ۋاقتى كودى" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "" #: src/properties.cpp:1322 msgid "Subtitle Codec Decode Info" msgstr "" #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1323 #, fuzzy msgid "Subtitles Codec Information" msgstr "GPSدائىرە ئۇچۇرى" #: src/properties.cpp:1323 msgid "Contains additional information about subtitles." msgstr "" #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "" #: src/properties.cpp:1325 #, fuzzy msgid "Subtitle Codec Settings" msgstr "رەسىم ھالىتى تەڭشىكى" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1327 msgid "Subtitle Track Enabled" msgstr "" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1328 #, fuzzy msgid "Subtitle" msgstr "ماۋزۇ" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords" msgstr "ھالقىلىق سۆزلەر" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords." msgstr "ھالقىلىق سۆزلەر" #: src/properties.cpp:1330 #, fuzzy msgid "Subtitles Language" msgstr "تىل" #: src/properties.cpp:1330 msgid "The Language in which the subtitles is recorded in." msgstr "" #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1332 msgid "Subtitle Track Lacing" msgstr "" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1333 #, fuzzy msgid "Subject. " msgstr "تېما" #: src/properties.cpp:1334 #, fuzzy msgid "TapeName." msgstr "تىپ ئاتى" #: src/properties.cpp:1335 #, fuzzy msgid "Tag Default Setting" msgstr "كۆڭۈلدىكى تەڭشەكلەر" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "" #: src/properties.cpp:1336 #, fuzzy msgid "Tag Language" msgstr "تىل" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "" #: src/properties.cpp:1337 #, fuzzy msgid "Tag Name" msgstr "تىپ ئاتى" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1338 msgid "Tag String" msgstr "" #: src/properties.cpp:1338 msgid "Information contained in a Tags" msgstr "" #: src/properties.cpp:1339 #, fuzzy msgid "Target Type" msgstr "سۈرەت تىپى" #: src/properties.cpp:1339 msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "" #: src/properties.cpp:1340 msgid "Technician" msgstr "" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "" #: src/properties.cpp:1341 #, fuzzy msgid "Thumbnail Height" msgstr "قىسقا ئارلىق" #: src/properties.cpp:1341 #, fuzzy msgid "Preview Image Thumbnail Height." msgstr "سۈرەت ئارلىقىنى ئالدىن كۈزەت" #: src/properties.cpp:1342 #, fuzzy msgid "Preview Image Thumbnail Length." msgstr "سۈرەت ئارلىقىنى ئالدىن كۈزەت" #: src/properties.cpp:1343 #, fuzzy msgid "Thumbnail Width" msgstr "قىسقا ئارلىق" #: src/properties.cpp:1343 #, fuzzy msgid "Preview Image Thumbnail Width." msgstr "سۈرەت ئالدىن كۈزىتىش ئىناۋەتسىز" #: src/properties.cpp:1344 #, fuzzy msgid "Timecode Scale" msgstr "ئۈستۈنكى نىسبەت" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "" #: src/properties.cpp:1345 src/properties.cpp:1428 #, fuzzy msgid "Time Offset" msgstr "ئېغىش" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" #: src/properties.cpp:1346 #, fuzzy msgid "Time Scale" msgstr "يوللىغان ۋاقىت" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1350 msgid "Toning Effect Settings Applied." msgstr "" #: src/properties.cpp:1351 msgid "Total Frame Count" msgstr "" #: src/properties.cpp:1352 #, fuzzy msgid "Number Of Streams" msgstr "بەت سانى" #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1353 #, fuzzy msgid "Track" msgstr "تىرناق" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "" #: src/properties.cpp:1354 #, fuzzy msgid "Video Track Create Date" msgstr "سىن كاندۇك تېزلىكى" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" #: src/properties.cpp:1355 #, fuzzy msgid "Video Track Duration" msgstr "ئۈن داۋاملىشىش ۋاقتى" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced" msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 #, fuzzy msgid "Track ID" msgstr "نەغمە نومۇرى" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 #, fuzzy msgid "Track Header Version" msgstr "زاۋۇت ئىزاھات نەشىرى" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 #, fuzzy msgid "Track Language" msgstr "تىل" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "The Language in which a particular stream is recorded in." msgstr "" #: src/properties.cpp:1361 #, fuzzy msgid "Video Track Layer" msgstr "سىن كاندۇك تېزلىكى" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" #: src/properties.cpp:1364 #, fuzzy msgid "Video Track Modify Date" msgstr "سىننىڭ ئۆزگەرتىلگەن ۋاقتى" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" #: src/properties.cpp:1365 #, fuzzy msgid "Track Name" msgstr "نەغمە نومۇرى" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "" #: src/properties.cpp:1366 #, fuzzy msgid "Track Number." msgstr "نەغمە نومۇرى" #: src/properties.cpp:1367 src/properties.cpp:1440 #, fuzzy msgid "Track Volume" msgstr "نەغمە نومۇرى" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "" #: src/properties.cpp:1368 msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" #: src/properties.cpp:1369 src/properties.cpp:1370 #, fuzzy msgid "Unknown Information" msgstr "رەسىمگە تارتىش ئۇچۇرلىرى" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1371 #, fuzzy msgid "Video URL" msgstr "سىن" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1372 #, fuzzy msgid "Video URN" msgstr "سىن" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1373 #, fuzzy msgid "Vari Program" msgstr "پروگرامما" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "" #: src/properties.cpp:1376 msgid "Vendor" msgstr "" #: src/properties.cpp:1376 msgid "The developer of the compressor that generated the compressed data." msgstr "" #: src/properties.cpp:1377 src/properties.cpp:1443 #, fuzzy msgid "Vendor ID" msgstr "رۇخسەت قىلغۇچى كىملىكى" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" #: src/properties.cpp:1378 #, fuzzy msgid "Video Quality" msgstr "سۈپەت" #: src/properties.cpp:1378 #, fuzzy msgid "Video Stream Quality" msgstr "سىن كاندۇك تېزلىكى" #: src/properties.cpp:1379 #, fuzzy msgid "Video Sample Size" msgstr "سىن كاندۇك چوڭلۇقى" #: src/properties.cpp:1379 #, fuzzy msgid "Video Stream Sample Size" msgstr "سىن كاندۇك چوڭلۇقى" #: src/properties.cpp:1380 #, fuzzy msgid "Video Scan Type" msgstr "ئۈن قانىلى تىپى" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "" #: src/properties.cpp:1381 msgid "Watermark URL" msgstr "" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "" #: src/properties.cpp:1384 #, fuzzy msgid "White Balance Fine Tune." msgstr "ئاق تەڭپۇڭلۇقنى مىكرو تەڭشەش" #: src/properties.cpp:1385 #, fuzzy msgid "Video Width" msgstr "كەڭ سەزگۈچ" #: src/properties.cpp:1386 #, fuzzy msgid "Window Location" msgstr "يەرلىكتە تارت" #: src/properties.cpp:1386 msgid "Information about the Window Location." msgstr "" #: src/properties.cpp:1388 #, fuzzy msgid "Written By" msgstr "ئاپتور" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1389 #, fuzzy msgid "Writing App" msgstr "يازغاننى ئالدىن كۈزىتىش" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" #: src/properties.cpp:1390 msgid "Horizontal resolution in pixels per unit." msgstr "" #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "" #: src/properties.cpp:1391 msgid "Year in which the video was made." msgstr "" #: src/properties.cpp:1392 msgid "Vertical resolution in pixels per unit." msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "" #: src/properties.cpp:1398 #, fuzzy msgid "Balance" msgstr "قىزىل تەڭپۇڭلۇق" #: src/properties.cpp:1398 msgid "Indicates the left-right balance of the audio" msgstr "" #: src/properties.cpp:1399 #, fuzzy msgid "Bits Per Sample/ Bit Rate" msgstr "ھەر بىر ئەۋرىشكىدىكى بىت سانى" #: src/properties.cpp:1399 #, fuzzy msgid "Bits per test sample" msgstr "ھەر بىر ئەۋرىشكىدىكى بىت سانى" #: src/properties.cpp:1401 #, fuzzy msgid "Audio Codec" msgstr "ئۈن پرېسلاش" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "" #: src/properties.cpp:1402 msgid "Audio Codec Decode Info" msgstr "" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1403 #, fuzzy msgid "Audio Codec Description" msgstr "سۈرەت چۈشەندۈرۈشى" #: src/properties.cpp:1404 msgid "Audio Codec Download URL" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL." msgstr "" #: src/properties.cpp:1405 #, fuzzy msgid "Audio Codec Information" msgstr "GPSدائىرە ئۇچۇرى" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" #: src/properties.cpp:1406 #, fuzzy msgid "Audio Codec Settings" msgstr "فوكۇس ھالىتى تەڭشەكلىرى" #: src/properties.cpp:1408 #, fuzzy msgid "Audio Default Duration" msgstr "ئۈن داۋاملىشىش ۋاقتى" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "" #: src/properties.cpp:1409 #, fuzzy msgid "Audio Default Stream" msgstr "ئاۋاز نىسبىتى" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "" #: src/properties.cpp:1410 #, fuzzy msgid "Audio Track Default On" msgstr "تەگلىك تەرتىپى ئاپتوماتىك" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "" #: src/properties.cpp:1411 msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1412 #, fuzzy msgid "Audio Format" msgstr "ئاۋاز نىسبىتى" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "" #: src/properties.cpp:1423 #, fuzzy msgid "Output Audio Sample Rate" msgstr "ئۈننىڭ ئەۋرىشكىلەش تېزلىكى:" #: src/properties.cpp:1423 msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" #: src/properties.cpp:1424 #, fuzzy msgid "Audio Sample Count" msgstr "ئۈننىڭ ئەۋرىشكىلەش تېزلىكى:" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title" msgstr "ھۆججەتتىن ئىزدە" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title." msgstr "ھۆججەتتىن ئىزدە" #: src/properties.cpp:1429 #, fuzzy msgid "Audio Track Create Date" msgstr "تەگلىكنى ئۆزلۈكىدىن نۇرلاندۇرۇش" #: src/properties.cpp:1430 #, fuzzy msgid "Audio Track Duration" msgstr "ئۈن داۋاملىشىش ۋاقتى" #: src/properties.cpp:1431 #, fuzzy msgid "Audio Track Forced" msgstr "تەگلىك تەرتىپى ئاپتوماتىك" #: src/properties.cpp:1431 msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1434 #, fuzzy msgid "Audio Track Lacing" msgstr "ئۈن داۋاملىشىش ۋاقتى" #: src/properties.cpp:1434 msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1436 #, fuzzy msgid "Audio Track Layer" msgstr "ئۈن تىپى" #: src/properties.cpp:1439 #, fuzzy msgid "Audio Track Modify Date" msgstr "ئۈننىڭ ئۆزگەرتىلگەن ۋاقتى" #: src/properties.cpp:1441 #, fuzzy msgid "Audio URL" msgstr "ئاۋاز نىسبىتى" #: src/properties.cpp:1442 #, fuzzy msgid "Audio URN" msgstr "ئاۋاز نىسبىتى" #: src/properties.cpp:1449 msgid "The nature or genre of the resource." msgstr "" #: src/properties.cpp:1450 #, fuzzy msgid "Date Modified" msgstr "مېتال سانلىق مەلۇماتىنىڭ ئۆزگەرتىلگەن ۋاقتى" #: src/properties.cpp:1450 msgid "Date on which the resource was changed." msgstr "" #: src/properties.cpp:1451 msgid "A language of the resource." msgstr "" #: src/properties.cpp:1452 #, fuzzy msgid "License" msgstr "رۇخسەت قىلىنغۇچى" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" #: src/properties.cpp:1453 #, fuzzy msgid "Rights Holder" msgstr "ئوڭ رايۇن" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" #: src/properties.cpp:1454 #, fuzzy msgid "Access Rights" msgstr "ھوقۇق" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "" #: src/properties.cpp:1455 msgid "A bibliographic reference for the resource." msgstr "" #: src/properties.cpp:1456 #, fuzzy msgid "References" msgstr "ۋەزىپە نەقىلى" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" #: src/properties.cpp:1459 msgid "*Main structure* containing Darwin Core location based information." msgstr "" #: src/properties.cpp:1468 #, fuzzy msgid "Record" msgstr "خاتىرە نەشىرى" #: src/properties.cpp:1469 msgid "*Main structure* containing record based information." msgstr "" #: src/properties.cpp:1472 #, fuzzy msgid "Institution ID" msgstr "پەرمانلار" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" #: src/properties.cpp:1475 #, fuzzy msgid "Collection ID" msgstr "تاللاش" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" #: src/properties.cpp:1478 #, fuzzy msgid "Institution Code" msgstr "پەرمانلار" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1481 #, fuzzy msgid "Dataset ID" msgstr "سانلىق مەلۇمات تۆكمىسى" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "" #: src/properties.cpp:1484 #, fuzzy msgid "Collection Code" msgstr "ئورۇن كودى" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" #: src/properties.cpp:1487 #, fuzzy msgid "Dataset Name" msgstr "تىپ ئاتى" #: src/properties.cpp:1488 msgid "The name identifying the data set from which the record was derived." msgstr "" #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" #: src/properties.cpp:1496 msgid "Information Withheld" msgstr "" #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" #: src/properties.cpp:1502 #, fuzzy msgid "Dynamic Properties" msgstr "لىنزا خاسلىقى" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" #: src/properties.cpp:1507 msgid "Occurrence" msgstr "" #: src/properties.cpp:1508 msgid "*Main structure* containing occurrence based information." msgstr "" #: src/properties.cpp:1511 msgid "Occurrence ID" msgstr "" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" #: src/properties.cpp:1514 #, fuzzy msgid "Catalog Number" msgstr "كىيىنكى سۈرەت نومۇرى" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" #: src/properties.cpp:1517 msgid "Occurrence Details" msgstr "" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "" #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "" #: src/properties.cpp:1521 msgid "Comments or notes about the Occurrence." msgstr "" #: src/properties.cpp:1523 #, fuzzy msgid "Record Number" msgstr "مۇندەرىجە نومۇرى" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" #: src/properties.cpp:1526 #, fuzzy msgid "Recorded By" msgstr "خاتىرىنى كۆرسىتىش" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" #: src/properties.cpp:1529 msgid "Individual ID" msgstr "" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" #: src/properties.cpp:1532 msgid "Individual Count" msgstr "" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "" #: src/properties.cpp:1535 msgid "Organism Quantity" msgstr "" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "" #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "" #: src/properties.cpp:1541 #, fuzzy msgid "Sex" msgstr "بەلگىلەش" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1544 msgid "Life Stage" msgstr "" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1547 #, fuzzy msgid "Reproductive Condition" msgstr "يىراقتا تىزگىنلەش" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1550 msgid "Behavior" msgstr "" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1559 #, fuzzy msgid "Preparations" msgstr "قاتلام" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" #: src/properties.cpp:1562 #, fuzzy msgid "Disposition" msgstr "فوكۇس ئورنى" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" #: src/properties.cpp:1565 #, fuzzy msgid "Other Catalog Numbers" msgstr "ئىنتېرۋال نومۇرى" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" #: src/properties.cpp:1568 src/properties.cpp:1607 #, fuzzy msgid "Previous Identifications" msgstr "ماكرو چوڭايت" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" #: src/properties.cpp:1571 msgid "Associated Media" msgstr "" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" #: src/properties.cpp:1574 #, fuzzy msgid "Associated References" msgstr "پايدىلىنىش تۈرى" #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1580 #, fuzzy msgid "Associated Sequences" msgstr "AEBتەرتىپ" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" #: src/properties.cpp:1588 msgid "Organism" msgstr "" #: src/properties.cpp:1589 msgid "*Main structure* containing organism based information." msgstr "" #: src/properties.cpp:1592 msgid "Organism ID" msgstr "" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1595 #, fuzzy msgid "Organism Name" msgstr "ئىگىدار ئاتى" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "" #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1601 msgid "Organism Associated Occurrences" msgstr "" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1604 msgid "Associated Organisms" msgstr "" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" #: src/properties.cpp:1610 msgid "Organism Remarks" msgstr "" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "" #: src/properties.cpp:1615 #, fuzzy msgid "Material Sample" msgstr "ھەر بىر ئەۋرىشكىدىكى بىت سانى" #: src/properties.cpp:1616 msgid "*Main structure* containing material sample based information." msgstr "" #: src/properties.cpp:1618 #, fuzzy msgid "Living Specimen" msgstr "كىچە مەنزىرىسى" #: src/properties.cpp:1619 msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "" #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "" #: src/properties.cpp:1622 msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "" #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "" #: src/properties.cpp:1625 msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "" #: src/properties.cpp:1628 #, fuzzy msgid "Material Sample ID" msgstr "ھەر بىر ئەۋرىشكىدىكى بىت سانى" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" #: src/properties.cpp:1634 msgid "*Main structure* containing event based information." msgstr "" #: src/properties.cpp:1636 msgid "Human Observation" msgstr "" #: src/properties.cpp:1637 msgid "*Main structure* containing human observation based information." msgstr "" #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "" #: src/properties.cpp:1640 msgid "*Main structure* containing machine observation based information." msgstr "" #: src/properties.cpp:1643 #, fuzzy msgid "Event ID" msgstr "ھادىسە" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1646 msgid "Parent Event ID" msgstr "" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" #: src/properties.cpp:1649 #, fuzzy msgid "Event Date" msgstr "چېسلا قۇر" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1652 msgid "Event Earliest Date" msgstr "" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1655 #, fuzzy msgid "Event Latest Date" msgstr "چېسلا قۇر" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1658 #, fuzzy msgid "Event Time" msgstr "ھادىسە" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "" #: src/properties.cpp:1670 #, fuzzy msgid "Month" msgstr "ئاي" #: src/properties.cpp:1671 msgid "The ordinal month in which the Event occurred." msgstr "" #: src/properties.cpp:1673 #, fuzzy msgid "Day" msgstr "كېچىكتۈر" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "" #: src/properties.cpp:1676 #, fuzzy msgid "Verbatim Event Date" msgstr "چېسلا قۇر" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" #: src/properties.cpp:1679 msgid "Habitat" msgstr "" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" #: src/properties.cpp:1685 msgid "Sampling Effort" msgstr "" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "" #: src/properties.cpp:1688 #, fuzzy msgid "Sampling Size Value" msgstr "رۇشەنلەشتۈرۈش قىممىتى" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" #: src/properties.cpp:1691 msgid "Sampling Size Unit" msgstr "" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" #: src/properties.cpp:1694 #, fuzzy msgid "Field Number" msgstr "ھۆججەت سانى" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" #: src/properties.cpp:1697 msgid "Field Notes" msgstr "" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "" #: src/properties.cpp:1701 msgid "Comments or notes about the Event." msgstr "" #: src/properties.cpp:1705 #, fuzzy msgid "Location Class" msgstr "ئورۇن كودى" #: src/properties.cpp:1706 msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "" #: src/properties.cpp:1709 #, fuzzy msgid "Location ID" msgstr "ئورنى" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" #: src/properties.cpp:1718 #, fuzzy msgid "Continent" msgstr "ئۈزلۈكسىز" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "" #: src/properties.cpp:1721 msgid "Water Body" msgstr "" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1724 msgid "Island Group" msgstr "" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1727 msgid "Island" msgstr "" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "" #: src/properties.cpp:1736 #, fuzzy msgid "State Province" msgstr "ئىشتات/ئۆلكە" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1739 #, fuzzy msgid "County" msgstr "دۆلەت" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1742 #, fuzzy msgid "Municipality" msgstr "سۈپەت" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" #: src/properties.cpp:1745 #, fuzzy msgid "Locality" msgstr "يەرلىك" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "" #: src/properties.cpp:1749 msgid "The original textual description of the place." msgstr "" #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1760 msgid "Verbatim Depth" msgstr "" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "" #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1766 msgid "Maximum Depth In Meters" msgstr "" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1775 #, fuzzy msgid "Location According To" msgstr "ئورۇن كودى" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" #: src/properties.cpp:1778 #, fuzzy msgid "Location Remarks" msgstr "ئورۇن كودى" #: src/properties.cpp:1779 msgid "Comments or notes about the Location." msgstr "" #: src/properties.cpp:1781 msgid "Verbatim Coordinates" msgstr "" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1784 #, fuzzy msgid "Verbatim Latitude" msgstr "GPS كەڭلىك:" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1787 #, fuzzy msgid "Verbatim Longitude" msgstr "GPS ئۇزۇنلۇق:" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1796 #, fuzzy msgid "Decimal Latitude" msgstr "GPS كەڭلىك:" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" #: src/properties.cpp:1799 #, fuzzy msgid "Decimal Longitude" msgstr "GPS ئۇزۇنلۇق:" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" #: src/properties.cpp:1802 msgid "Geodetic Datum" msgstr "" #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" #: src/properties.cpp:1808 msgid "Coordinate Precision" msgstr "" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "" #: src/properties.cpp:1812 #, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "" #: src/properties.cpp:1821 #, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" #: src/properties.cpp:1823 #, fuzzy msgid "Georeferenced By" msgstr "ۋەزىپە نەقىلى" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" #: src/properties.cpp:1826 #, fuzzy msgid "Georeferenced Date" msgstr "پايدىلىنىش چىسلاسى" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" #: src/properties.cpp:1832 #, fuzzy msgid "Georeference Sources" msgstr "پايدىلىنىش مۇلازىمىتى" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1838 #, fuzzy msgid "Georeference Remarks" msgstr "پايدىلىنىش نومۇرى" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" #: src/properties.cpp:1843 msgid "Geological Context" msgstr "" #: src/properties.cpp:1844 msgid "*Main structure* containing geological context based information." msgstr "" #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" #: src/properties.cpp:1889 msgid "Group" msgstr "" #: src/properties.cpp:1890 msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "" #: src/properties.cpp:1892 #, fuzzy msgid "Formation" msgstr "پىچىمى" #: src/properties.cpp:1893 msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "" #: src/properties.cpp:1895 #, fuzzy msgid "Member" msgstr "ساغۇچ رەڭلىك" #: src/properties.cpp:1896 msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "" #: src/properties.cpp:1898 #, fuzzy msgid "Bed" msgstr "قىزىل" #: src/properties.cpp:1899 msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "" #: src/properties.cpp:1903 #, fuzzy msgid "Identification" msgstr "بەلگە" #: src/properties.cpp:1904 msgid "*Main structure* containing identification based information." msgstr "" #: src/properties.cpp:1907 msgid "Identification ID" msgstr "" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1910 #, fuzzy msgid "Identified By" msgstr "بەلگە" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" #: src/properties.cpp:1913 #, fuzzy msgid "Date Identified" msgstr "بەلگە" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" #: src/properties.cpp:1916 #, fuzzy msgid "Identification References" msgstr "پايدىلىنىش تۈرى" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" #: src/properties.cpp:1922 #, fuzzy msgid "Identification Remarks" msgstr "بەلگە" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "" #: src/properties.cpp:1925 msgid "Identification Qualifier" msgstr "" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" #: src/properties.cpp:1928 #, fuzzy msgid "Type Status" msgstr "ھالىتى" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" #: src/properties.cpp:1933 msgid "Taxon" msgstr "" #: src/properties.cpp:1934 msgid "*Main structure* containing taxonomic based information." msgstr "" #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" #: src/properties.cpp:1949 msgid "Original Name Usage ID" msgstr "" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" #: src/properties.cpp:1961 #, fuzzy msgid "Scientific Name" msgstr "پۈتۈك ئاتى" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" #: src/properties.cpp:1967 msgid "Parent Name Usage" msgstr "" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" #: src/properties.cpp:1970 msgid "Original Name Usage" msgstr "" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" #: src/properties.cpp:1973 msgid "Name According To" msgstr "" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" #: src/properties.cpp:1976 #, fuzzy msgid "Name Published In" msgstr "تارقاتقۇچى" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "" #: src/properties.cpp:1980 msgid "The four-digit year in which the scientificName was published." msgstr "" #: src/properties.cpp:1982 #, fuzzy msgid "Higher Classification" msgstr "يۇقۇرى تويۇنۇش دەرىجىسى" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" #: src/properties.cpp:1985 msgid "Kingdom" msgstr "" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "" #: src/properties.cpp:1988 msgid "Phylum" msgstr "" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" #: src/properties.cpp:1991 msgid "Class" msgstr "" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "" #: src/properties.cpp:1994 #, fuzzy msgid "Order" msgstr "بايت تەرتىپى" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "" #: src/properties.cpp:1997 msgid "Family" msgstr "" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "" #: src/properties.cpp:2000 msgid "Genus" msgstr "" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "" #: src/properties.cpp:2003 msgid "Subgenus" msgstr "" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "" #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" #: src/properties.cpp:2021 msgid "Vernacular Name" msgstr "" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "" #: src/properties.cpp:2024 #, fuzzy msgid "Nomenclatural Code" msgstr "تەبىئىي رەڭ" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "" #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "" #: src/properties.cpp:2039 msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "" #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" #: src/properties.cpp:2045 #, fuzzy msgid "Resource ID" msgstr "ھۆججەت مەنبەسى" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "" #: src/properties.cpp:2048 #, fuzzy msgid "Related Resource ID" msgstr "ھۆججەت مەنبەسى" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" #: src/properties.cpp:2051 #, fuzzy msgid "Relationship Of Resource" msgstr "نۇر مەنبەسى" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "" #: src/properties.cpp:2065 msgid "Measurement Or Fact" msgstr "" #: src/properties.cpp:2066 msgid "*Main structure* containing measurement based information." msgstr "" #: src/properties.cpp:2069 #, fuzzy msgid "Measurement ID" msgstr "EV ئۆلچەش" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:2072 msgid "Measurement Type" msgstr "" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2075 #, fuzzy msgid "Measurement Value" msgstr "نۇر چەمبەر قىممىتى" #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2078 msgid "Measurement Accuracy" msgstr "" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "" #: src/properties.cpp:2081 msgid "Measurement Unit" msgstr "" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" #: src/properties.cpp:2084 msgid "Measurement Determined Date" msgstr "" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2087 msgid "Measurement Determined By" msgstr "" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" #: src/properties.cpp:2090 #, fuzzy msgid "Measurement Method" msgstr "GPS ئۆلچەم ھالىتى" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2093 msgid "Measurement Remarks" msgstr "" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "" #: src/properties.cpp:2101 msgid "A brief description of the file" msgstr "" #: src/properties.cpp:2102 #, fuzzy msgid "Date Time" msgstr "چېسلا ۋە ۋاقىت" #: src/properties.cpp:2103 msgid "The name of the author or photographer" msgstr "" #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "" #: src/properties.cpp:2105 msgid "Notes" msgstr "" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "" #: src/properties.cpp:2106 msgid "Tagged" msgstr "" #: src/properties.cpp:2106 msgid "True or False" msgstr "" #: src/properties.cpp:2107 #, fuzzy msgid "Categories" msgstr "كاتېگورىيە" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "" #: src/sigmamn.cpp:62 #, fuzzy msgid "Resolution Mode" msgstr "Exifئېنىقلىقى" #: src/sigmamn.cpp:63 #, fuzzy msgid "Resolution mode" msgstr "Exifئېنىقلىقى" #: src/sigmamn.cpp:65 #, fuzzy msgid "Autofocus Mode" msgstr "فوكۇس ھالىتى" #: src/sigmamn.cpp:66 #, fuzzy msgid "Autofocus mode" msgstr "فوكۇس ھالىتى" #: src/sigmamn.cpp:68 #, fuzzy msgid "Focus Setting" msgstr "فوكۇس ھالىتى تەڭشىكى" #: src/sigmamn.cpp:69 #, fuzzy msgid "Focus setting" msgstr "فوكۇس ھالىتى تەڭشىكى" #: src/sigmamn.cpp:80 #, fuzzy msgid "Lens Range" msgstr "فوكۇس دائىرىسى" #: src/sigmamn.cpp:81 #, fuzzy msgid "Lens focal length range" msgstr "ئەڭ كىچىك فوكۇس ئارلىقى" #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 msgid "Shadow" msgstr "سايە" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 msgid "Highlight" msgstr "يورۇت" #: src/sigmamn.cpp:104 #, fuzzy msgid "Fill Light" msgstr "ئىشلەتكىلى بولىدىغان يورۇقلۇق" #: src/sigmamn.cpp:105 #, fuzzy msgid "X3 Fill light" msgstr "نۇر تولۇقلاش" #: src/sigmamn.cpp:107 #, fuzzy msgid "Color Adjustment" msgstr "ئاپتوماتىك فوكۇس تەڭشەش" #: src/sigmamn.cpp:108 #, fuzzy msgid "Color adjustment" msgstr "رەڭ فازىسىنى تەڭشەش" #: src/sigmamn.cpp:110 #, fuzzy msgid "Adjustment Mode" msgstr "ئاپتوماتىك فوكۇس تەڭشەش" #: src/sigmamn.cpp:111 #, fuzzy msgid "Adjustment mode" msgstr "ئاپتوماتىك فوكۇس تەڭشەش" #: src/sigmamn.cpp:122 #, fuzzy msgid "Auto Bracket" msgstr "ئۆزلۈكىدىن نۇرلاندۇرۇش تەڭشەش" #: src/sigmamn.cpp:123 src/tags.cpp:1497 msgid "Auto bracket" msgstr "ئۆزلۈكىدىن نۇرلاندۇرۇش تەڭشەش" #: src/sigmamn.cpp:127 #, fuzzy msgid "Unknown SigmaMakerNote tag" msgstr "نامەلۇم Canonياسىغۇچى ئىزاھاتى بەلگىسى" #: src/sigmamn.cpp:170 #, fuzzy msgid "8-Segment" msgstr "كۆپ سېگمېنت" #: src/sonymn.cpp:131 #, fuzzy msgid "Advanced Lv1" msgstr "ئالىي دەرىجە" #: src/sonymn.cpp:132 #, fuzzy msgid "Advanced Lv2" msgstr "ئالىي دەرىجە" #: src/sonymn.cpp:133 #, fuzzy msgid "Advanced Lv3" msgstr "ئالىي دەرىجە" #: src/sonymn.cpp:134 #, fuzzy msgid "Advanced Lv4" msgstr "ئالىي دەرىجە" #: src/sonymn.cpp:135 #, fuzzy msgid "Advanced Lv5" msgstr "ئالىي دەرىجە" #: src/sonymn.cpp:154 #, fuzzy msgid "Night Scene / Twilight" msgstr "كەچلىك مەنزىرە" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "" #: src/sonymn.cpp:156 #, fuzzy msgid "Twilight Portrait" msgstr "كېچە رەسىمى" #: src/sonymn.cpp:157 msgid "Soft Snap / Portrait" msgstr "" #: src/sonymn.cpp:159 #, fuzzy msgid "Smile Shutter" msgstr "ئاستا ئىشىك" #: src/sonymn.cpp:161 #, fuzzy msgid "High Sensitivity" msgstr "ئەڭ يۇقىرى" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "" #: src/sonymn.cpp:166 #, fuzzy msgid "Sweep Panorama" msgstr "Panorama" #: src/sonymn.cpp:168 #, fuzzy msgid "Anti Motion Blur" msgstr "ھەركەت رەسىمى" #: src/sonymn.cpp:170 msgid "Backlight Correction HDR" msgstr "" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "" #: src/sonymn.cpp:172 #, fuzzy msgid "Background Defocus" msgstr "ماكرو فوكۇس" #: src/sonymn.cpp:173 #, fuzzy msgid "Soft Skin" msgstr "يۇمشاق" #: src/sonymn.cpp:174 msgid "3D Image" msgstr "" #: src/sonymn.cpp:189 #, fuzzy msgid "On (Continuous)" msgstr "ئۈزلۈكسىز" #: src/sonymn.cpp:190 msgid "On (Shooting)" msgstr "" #: src/sonymn.cpp:198 msgid "Plus" msgstr "پىلۇس" #: src/sonymn.cpp:214 #, fuzzy msgid "White Flourescent" msgstr "يالتىراق لامپا" #: src/sonymn.cpp:215 #, fuzzy msgid "Cool White Flourescent" msgstr "كۈن نۇرلۇق يالتىراق لامپا" #: src/sonymn.cpp:216 #, fuzzy msgid "Day White Flourescent" msgstr "كۈن نۇرلۇق يالتىراق لامپا" #: src/sonymn.cpp:217 #, fuzzy msgid "Incandescent2" msgstr "چوغلانما لامپا" #: src/sonymn.cpp:218 #, fuzzy msgid "Warm White Fluorescent" msgstr "كۈن نۇرلۇق يالتىراق لامپا" #: src/sonymn.cpp:221 #, fuzzy msgid "Underwater 1 (Blue Water)" msgstr "سۇ ئاستى كەڭرى 1" #: src/sonymn.cpp:222 #, fuzzy msgid "Underwater 2 (Green Water)" msgstr "سۇ ئاستى ئىكران كۆرۈنۈشى" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "" #: src/sonymn.cpp:237 #, fuzzy msgid "Center AF" msgstr "مەركەز" #: src/sonymn.cpp:238 #, fuzzy msgid "Spot AF" msgstr "نۇقتا" #: src/sonymn.cpp:239 msgid "Flexible Spot AF" msgstr "" #: src/sonymn.cpp:240 msgid "Touch AF" msgstr "" #: src/sonymn.cpp:241 #, fuzzy msgid "Manual Focus" msgstr "قوللانما فوكۇس" #: src/sonymn.cpp:242 #, fuzzy msgid "Face Detected" msgstr "چىراي بايقاش" #: src/sonymn.cpp:257 #, fuzzy msgid "Close Focus" msgstr "ئاپتوماتىك فوكۇس" #: src/sonymn.cpp:347 src/sonymn.cpp:348 #, fuzzy msgid "Multi Burst Mode" msgstr "ئارقىمۇ-ئارقا تارتىش" #: src/sonymn.cpp:350 src/sonymn.cpp:351 #, fuzzy msgid "Multi Burst Image Width" msgstr "سۈرەت كەڭلىكى" #: src/sonymn.cpp:353 src/sonymn.cpp:354 #, fuzzy msgid "Multi Burst Image Height" msgstr "سۈرەت ئېگىزلىكى:" #: src/sonymn.cpp:364 #, fuzzy msgid "JPEG preview image" msgstr "سۈرەتنى ئالدىن كۆزەت" #: src/sonymn.cpp:390 #, fuzzy msgid "Auto HDR" msgstr "ئاپتوماتىك يۇقۇرى" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "" #: src/sonymn.cpp:395 #, fuzzy msgid "Shot Information" msgstr "رەسىمگە تارتىش ئۇچۇرلىرى" #: src/sonymn.cpp:400 src/sonymn.cpp:401 #, fuzzy msgid "Sony Model ID" msgstr "كىملىك مودىلى" #: src/sonymn.cpp:403 src/sonymn.cpp:404 #, fuzzy msgid "Color Reproduction" msgstr "شاۋقۇننى ئاجىزلىتىش" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 #, fuzzy msgid "Dynamic Range Optimizer" msgstr "ھەركەتچان دائىرەنى ئەلالاشتۇرۇش مودىلى" #: src/sonymn.cpp:427 src/sonymn.cpp:428 #, fuzzy msgid "Minolta MakerNote" msgstr "Minoltaسانلىق مەلۇماتى" #: src/sonymn.cpp:433 src/sonymn.cpp:434 #, fuzzy msgid "Full Image Size" msgstr "سۈرەت چوڭلۇقى" #: src/sonymn.cpp:436 #, fuzzy msgid "Preview Image Size" msgstr "سۈرەتنى ئالدىن كۆزەت" #: src/sonymn.cpp:437 #, fuzzy msgid "Preview image size" msgstr "سۈرەتنى ئالدىن كۆزەت" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 #, fuzzy msgid "AF Illuminator" msgstr "ئاپتوماتىك فوكۇس يورۇتۇش دائىرىسى" #: src/sonymn.cpp:454 src/sonymn.cpp:455 msgid "JPEG Quality" msgstr "JPEG سۈپىتى" #: src/sonymn.cpp:460 src/sonymn.cpp:461 #, fuzzy msgid "Release Mode" msgstr "تارقاتقان چېسلا" #: src/sonymn.cpp:464 #, fuzzy msgid "Shot number in continuous burst mode" msgstr "تەرتىپ نومۇر(ئەگەر ئۆزلۈكسىزلىك تويۇقسىز پەيدا بولسا)" #: src/sonymn.cpp:466 src/sonymn.cpp:467 #, fuzzy msgid "Anti-Blur" msgstr "Anti-blur" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 #, fuzzy msgid "Long Exposure Noise Reduction" msgstr "ئۇزۇن ۋاقىت نور ئۆتكۈزۈش شاۋقۇنىنى ئاجىزلىتىش" #: src/sonymn.cpp:475 src/sonymn.cpp:476 msgid "Intelligent Auto" msgstr "" #: src/sonymn.cpp:483 #, fuzzy msgid "Unknown Sony1MakerNote tag" msgstr "نامەلۇم Nikon1 زاۋۇت ئىزاھاتى بەلگىسى" #: src/sonymn.cpp:497 #, fuzzy msgid "Continuous High" msgstr "ئۆزلۈكسىز، يۇقۇرى" #: src/sonymn.cpp:501 #, fuzzy msgid "Continuous Low" msgstr "ئۆزلۈكسىز، ئاز" #: src/sonymn.cpp:503 src/sonymn.cpp:504 #, fuzzy msgid "D-Range Optimizer Bracketing Low" msgstr "ھەركەتچان دائىرەنى ئەلالاشتۇرۇش تەڭشىكى" #: src/sonymn.cpp:536 msgid "Autumn" msgstr "كۈز" #: src/sonymn.cpp:542 msgid "ADI" msgstr "" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "" #: src/sonymn.cpp:578 #, fuzzy msgid "Auto No Flash" msgstr "ئۆزلۈكىدىن قويۇپ بېرىش" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 #, fuzzy msgid "Dynamic Range Optimizer Level" msgstr "ھەركەتچان دائىرەنى ئەلالاشتۇرۇش مودىلى" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 #, fuzzy msgid "Creative Style" msgstr "چېسلا قۇر" #: src/sonymn.cpp:648 src/sonymn.cpp:649 #, fuzzy msgid "Zone Matching Value" msgstr "ماس رايۇن" #: src/sonymn.cpp:666 src/sonymn.cpp:667 #, fuzzy msgid "AF With Shutter" msgstr "تىز ئىشىك" #: src/sonymn.cpp:674 src/sonymn.cpp:675 #, fuzzy msgid "High ISO NoiseReduction" msgstr "شاۋقۇننى ئاجىزلىتىش" #: src/sonymn.cpp:678 src/sonymn.cpp:679 #, fuzzy msgid "Image Style" msgstr "سۈرەت تىپى" #: src/sonymn.cpp:704 #, fuzzy msgid "Unknown Sony1 Camera Settings tag" msgstr "نامەلۇم Canon كامىراسى 1گە تەڭشەلگەن" #: src/sonymn.cpp:768 #, fuzzy msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "نامەلۇم Canon كامىراسى 2گە تەڭشەلگەن" #: src/tags.cpp:188 #, fuzzy msgid "Unknown section" msgstr "نامەلۇم سانلىق مەلۇمات تەڭشىكى" #: src/tags.cpp:189 #, fuzzy msgid "Image data structure" msgstr "سۈرەت سانلىق مەلۇمات چوڭلۇقى" #: src/tags.cpp:190 #, fuzzy msgid "Recording offset" msgstr "رەڭ تەڭشەش ئۈنۈمى" #: src/tags.cpp:191 #, fuzzy msgid "Image data characteristics" msgstr "سۈرەت سانلىق مەلۇمات چوڭلۇقى" #: src/tags.cpp:192 msgid "Other data" msgstr "باشقا سانلىق-مەلۇمات" #: src/tags.cpp:193 #, fuzzy msgid "Exif data structure" msgstr "دائىرە قۇرۇلمىسى" #: src/tags.cpp:195 #, fuzzy msgid "Image configuration" msgstr "سۈرەتنى ئەلالاشتۇرۇش" #: src/tags.cpp:196 msgid "User information" msgstr "ئىشلەتكۈچى ئۇچۇرى" #: src/tags.cpp:197 #, fuzzy msgid "Related file" msgstr "مۇناسىۋەتلىك ئۈن ھۆججىتى" #: src/tags.cpp:198 msgid "Date and time" msgstr "چېسلا ۋە ۋاقىت" #: src/tags.cpp:199 #, fuzzy msgid "Picture taking conditions" msgstr " رەسىم تىزگىنى" #: src/tags.cpp:200 #, fuzzy msgid "GPS information" msgstr "رەسىمگە تارتىش ئۇچۇرلىرى" #: src/tags.cpp:201 #, fuzzy msgid "Interoperability information" msgstr "IMنى بېسىش ئۇچۇرى" #: src/tags.cpp:202 #, fuzzy msgid "Vendor specific information" msgstr "ئىشلەتكۈچى ئۇچۇرى" #: src/tags.cpp:203 #, fuzzy msgid "Adobe DNG tags" msgstr "Adobe RGB" #: src/tags.cpp:204 msgid "Panasonic RAW tags" msgstr "" #: src/tags.cpp:205 msgid "TIFF/EP tags" msgstr "" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "" #: src/tags.cpp:207 msgid "Adobe OPI tags" msgstr "" #: src/tags.cpp:208 #, fuzzy msgid "Last section" msgstr "ئاق قارىلىق تەڭشىكى" #: src/tags.cpp:224 #, fuzzy msgid "Primary image" msgstr "سۈرەتنى ئالدىن كۆزەت" #: src/tags.cpp:225 #, fuzzy msgid "Thumbnail/Preview image" msgstr "ئاددى سۈرەت" #: src/tags.cpp:226 msgid "Primary image, Multi page file" msgstr "" #: src/tags.cpp:227 #, fuzzy msgid "Thumbnail/Preview image, Multi page file" msgstr "سۈرەت ئاددى ئۈنۈملۈك كۆلىمى" #: src/tags.cpp:228 msgid "Primary image, Transparency mask" msgstr "" #: src/tags.cpp:229 #, fuzzy msgid "Thumbnail/Preview image, Transparency mask" msgstr "سۈرەت ئاددى ئۈنۈملۈك كۆلىمى" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "" #: src/tags.cpp:237 #, fuzzy msgid "Full-resolution image data" msgstr "سۈرەت سانلىق مەلۇماتىنى ئوقۇش مەغلۇب بولدى" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "" #: src/tags.cpp:245 msgid "inch" msgstr "دىيۇيم" #: src/tags.cpp:252 msgid "CCITT RLE" msgstr "" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "" #: src/tags.cpp:255 msgid "LZW" msgstr "" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "" #: src/tags.cpp:257 msgid "JPEG" msgstr "JPEG" #: src/tags.cpp:258 msgid "Adobe Deflate" msgstr "" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "" #: src/tags.cpp:260 #, fuzzy msgid "JBIG Color" msgstr "رەڭ" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "" #: src/tags.cpp:262 #, fuzzy msgid "Epson ERF Compressed" msgstr "NEFپرىسلاش" #: src/tags.cpp:263 msgid "Samsung SRW Compressed" msgstr "" #: src/tags.cpp:264 msgid "CCITT RLE 1-word" msgstr "" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "" #: src/tags.cpp:269 #, fuzzy msgid "IT8 Monochrome Picture" msgstr "رەڭسىز" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "" #: src/tags.cpp:273 msgid "Pixar Deflate" msgstr "" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "" #: src/tags.cpp:275 #, fuzzy msgid "ISO JBIG" msgstr "ISOئۇچۇرى" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "" #: src/tags.cpp:279 #, fuzzy msgid "Nikon NEF Compressed" msgstr "NEFپرىسلاش" #: src/tags.cpp:280 msgid "Kodak DCR Compressed" msgstr "" #: src/tags.cpp:281 #, fuzzy msgid "Pentax PEF Compressed" msgstr "NEFپرىسلاش" #: src/tags.cpp:286 msgid "White Is Zero" msgstr "" #: src/tags.cpp:287 #, fuzzy msgid "Black Is Zero" msgstr "ئاق&قارا" #: src/tags.cpp:288 msgid "RGB" msgstr "RGB" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "" #: src/tags.cpp:290 msgid "Transparency Mask" msgstr "" #: src/tags.cpp:291 src/tags.cpp:330 msgid "CMYK" msgstr "CMYK" #: src/tags.cpp:292 msgid "YCbCr" msgstr "YCbCr" #: src/tags.cpp:293 msgid "CIELab" msgstr "" #: src/tags.cpp:294 msgid "ICCLab" msgstr "" #: src/tags.cpp:295 msgid "ITULab" msgstr "" #: src/tags.cpp:296 #, fuzzy msgid "Color Filter Array" msgstr "رەڭ سۈزگۈچ" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "" #: src/tags.cpp:306 #, fuzzy msgid "Randomized process" msgstr "نورمال بىر تەرەپ قىلىش" #: src/tags.cpp:311 #, fuzzy msgid "top, left" msgstr "سولغا قىسقارتىش" #: src/tags.cpp:312 #, fuzzy msgid "top, right" msgstr "ئوڭ ئۈستى" #: src/tags.cpp:313 #, fuzzy msgid "bottom, right" msgstr "ئوڭ ئاستى" #: src/tags.cpp:314 #, fuzzy msgid "bottom, left" msgstr "سول ئاستى" #: src/tags.cpp:315 #, fuzzy msgid "left, top" msgstr "سول" #: src/tags.cpp:316 #, fuzzy msgid "right, top" msgstr "ئوڭ" #: src/tags.cpp:317 #, fuzzy msgid "right, bottom" msgstr "ئاستى" #: src/tags.cpp:318 src/tags.cpp:319 #, fuzzy msgid "left, bottom" msgstr "ئاستى" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "" #: src/tags.cpp:325 #, fuzzy msgid "Horizontal differencing" msgstr "توغرا يۆنىلىش" #: src/tags.cpp:331 #, fuzzy msgid "not CMYK" msgstr "CMYK" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "" #: src/tags.cpp:339 src/tags.cpp:340 #, fuzzy msgid "Undefined data format" msgstr "قوللىمايدىغان چېسلا پىچىمى" #: src/tags.cpp:345 #, fuzzy msgid "Not indexed" msgstr "ئېنىقلىما بېرىلمىگەن" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "ئىندېكسلانغان" #: src/tags.cpp:351 msgid "A" msgstr "A" #: src/tags.cpp:352 msgid "B" msgstr "B" #: src/tags.cpp:353 msgid "C" msgstr "C" #: src/tags.cpp:354 msgid "A+B-C" msgstr "" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "" #: src/tags.cpp:362 msgid "Centered" msgstr "مەركەز" #: src/tags.cpp:363 msgid "Co-sited" msgstr "" #: src/tags.cpp:368 #, fuzzy msgid "No flash" msgstr "نۇر تولۇقلاش" #: src/tags.cpp:370 msgid "Fired, return light not detected" msgstr "" #: src/tags.cpp:371 msgid "Fired, return light detected" msgstr "" #: src/tags.cpp:372 #, fuzzy msgid "Yes, did not fire" msgstr "ئوت يوق" #: src/tags.cpp:373 msgid "Yes, compulsory" msgstr "" #: src/tags.cpp:374 msgid "Yes, compulsory, return light not detected" msgstr "" #: src/tags.cpp:375 msgid "Yes, compulsory, return light detected" msgstr "" #: src/tags.cpp:376 msgid "No, compulsory" msgstr "" #: src/tags.cpp:377 msgid "No, did not fire, return light not detected" msgstr "" #: src/tags.cpp:378 msgid "No, auto" msgstr "" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "" #: src/tags.cpp:380 msgid "Yes, auto, return light not detected" msgstr "" #: src/tags.cpp:381 msgid "Yes, auto, return light detected" msgstr "" #: src/tags.cpp:382 msgid "No flash function" msgstr "چاقماق لامپا ئىقتىدارى يوق" #: src/tags.cpp:383 #, fuzzy msgid "No, no flash function" msgstr "چاقماق لامپا ئىقتىدارى يوق" #: src/tags.cpp:384 #, fuzzy msgid "Yes, red-eye reduction" msgstr "قىزىل كۆز شاۋقۇن" #: src/tags.cpp:385 msgid "Yes, red-eye reduction, return light not detected" msgstr "" #: src/tags.cpp:386 msgid "Yes, red-eye reduction, return light detected" msgstr "" #: src/tags.cpp:387 #, fuzzy msgid "Yes, compulsory, red-eye reduction" msgstr "قىزىل كۆز شاۋقۇن" #: src/tags.cpp:388 msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "" #: src/tags.cpp:389 msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "" #: src/tags.cpp:390 #, fuzzy msgid "No, red-eye reduction" msgstr "قىزىل كۆز شاۋقۇن" #: src/tags.cpp:391 #, fuzzy msgid "No, auto, red-eye reduction" msgstr "قىزىل كۆز شاۋقۇن" #: src/tags.cpp:392 #, fuzzy msgid "Yes, auto, red-eye reduction" msgstr "قىزىل كۆز شاۋقۇن" #: src/tags.cpp:393 msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "" #: src/tags.cpp:394 msgid "Yes, auto, red-eye reduction, return light detected" msgstr "" #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "" #: src/tags.cpp:408 #, fuzzy msgid "Processing Software" msgstr "ئۇچۇرنى بىر تەرەپ قىلىۋاتىدۇ" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "" #: src/tags.cpp:412 msgid "New Subfile Type" msgstr "" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "" #: src/tags.cpp:415 #, fuzzy msgid "Subfile Type" msgstr "ئۈن تىپى" #: src/tags.cpp:416 msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "" #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" #: src/tags.cpp:425 msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" #: src/tags.cpp:428 #, fuzzy msgid "Bits per Sample" msgstr "ھەر بىر ئەۋرىشكىدىكى بىت سانى" #: src/tags.cpp:429 msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" #: src/tags.cpp:444 msgid "Thresholding" msgstr "" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" #: src/tags.cpp:448 #, fuzzy msgid "Cell Width" msgstr "كەڭلىكىنى قىسقارتىش" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" #: src/tags.cpp:452 #, fuzzy msgid "Cell Length" msgstr "فوكۇس ئارىلىقى" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" #: src/tags.cpp:456 #, fuzzy msgid "Fill Order" msgstr "سىن سۆز بۆلىكى تەرتىپى" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "" #: src/tags.cpp:459 msgid "Document Name" msgstr "پۈتۈك ئاتى" #: src/tags.cpp:460 msgid "The name of the document from which this image was scanned" msgstr "" #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" #: src/tags.cpp:470 msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "" #: src/tags.cpp:491 msgid "Samples per Pixel" msgstr "" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" #: src/tags.cpp:502 #, fuzzy msgid "Strip Byte Count" msgstr "قاپقاق سانى" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" #: src/tags.cpp:506 #, fuzzy msgid "X-Resolution" msgstr "Exifئېنىقلىقى" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" #: src/tags.cpp:510 #, fuzzy msgid "Y-Resolution" msgstr "Exifئېنىقلىقى" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" #: src/tags.cpp:520 msgid "Gray Response Unit" msgstr "" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "" #: src/tags.cpp:523 msgid "Gray Response Curve" msgstr "" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "" #: src/tags.cpp:526 #, fuzzy msgid "T4 Options" msgstr "تاللانما" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "" #: src/tags.cpp:529 #, fuzzy msgid "T6 Options" msgstr "تاللانما" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "" #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" #: src/tags.cpp:537 #, fuzzy msgid "Page Number" msgstr "سۈرەت نومۇرى" #: src/tags.cpp:538 msgid "The page number of the page from which this image was scanned." msgstr "" #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" #: src/tags.cpp:546 msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" #: src/tags.cpp:553 msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" #: src/tags.cpp:557 msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" #: src/tags.cpp:564 msgid "Host Computer" msgstr "" #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" #: src/tags.cpp:568 #, fuzzy msgid "Predictor" msgstr "كرېدىت." #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" #: src/tags.cpp:573 msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" #: src/tags.cpp:578 msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" #: src/tags.cpp:582 #, fuzzy msgid "Color Map" msgstr "رەك ماترىتساسى" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" #: src/tags.cpp:593 #, fuzzy msgid "Tile Width" msgstr "سۈرەت كەڭلىكى" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "" #: src/tags.cpp:596 #, fuzzy msgid "Tile Length" msgstr "قىسقا ئارلىق" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "" #: src/tags.cpp:599 #, fuzzy msgid "Tile Offsets" msgstr "قىسقا ئېغىش" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" #: src/tags.cpp:605 msgid "Tile Byte Counts" msgstr "" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" #: src/tags.cpp:609 #, fuzzy msgid "SubIFD Offsets" msgstr "VRDئېغىشى" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "" #: src/tags.cpp:612 msgid "Ink Set" msgstr "رەڭ تەڭشىكى" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:615 #, fuzzy msgid "Ink Names" msgstr "ئىگىدار ئاتى" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:618 #, fuzzy msgid "Number Of Inks" msgstr "بەت سانى" #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" #: src/tags.cpp:621 #, fuzzy msgid "Dot Range" msgstr "فوكۇس دائىرىسى" #: src/tags.cpp:622 #, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "" #: src/tags.cpp:624 #, fuzzy msgid "Target Printer" msgstr "نىشان نۇر گەردىشى" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "" #: src/tags.cpp:627 #, fuzzy msgid "Extra Samples" msgstr "ھەر بىر ئەۋرىشكىدىكى بىت سانى" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" #: src/tags.cpp:631 #, fuzzy msgid "Sample Format" msgstr "ھۆججەت فورماتى" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "" #: src/tags.cpp:634 #, fuzzy msgid "SMin Sample Value" msgstr "ئۈننىڭ ئەۋرىشكىلەش تېزلىكى:" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "" #: src/tags.cpp:637 #, fuzzy msgid "SMax Sample Value" msgstr "رۇشەنلەشتۈرۈش قىممىتى" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "" #: src/tags.cpp:640 #, fuzzy msgid "Transfer Range" msgstr "يىراق دائىرە" #: src/tags.cpp:641 msgid "Expands the range of the TransferFunction" msgstr "" #: src/tags.cpp:643 msgid "Clip Path" msgstr "" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" #: src/tags.cpp:647 msgid "X Clip Path Units" msgstr "" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:651 msgid "Y Clip Path Units" msgstr "" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" #: src/tags.cpp:660 #, fuzzy msgid "JPEG tables" msgstr "JPEG سۈپىتى" #: src/tags.cpp:661 msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" #: src/tags.cpp:668 #, fuzzy msgid "JPEG Process" msgstr "فوكۇسنى توغرىلاش" #: src/tags.cpp:669 msgid "This field indicates the process used to produce the compressed data" msgstr "" #: src/tags.cpp:671 msgid "JPEG Interchange Format" msgstr "" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" #: src/tags.cpp:675 msgid "JPEG Interchange Format Length" msgstr "" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "" #: src/tags.cpp:684 msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "" #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "" #: src/tags.cpp:694 #, fuzzy msgid "JPEG Q-Tables" msgstr "JPEG سۈپىتى" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" #: src/tags.cpp:698 msgid "JPEG DC-Tables" msgstr "" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" #: src/tags.cpp:702 msgid "JPEG AC-Tables" msgstr "" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" #: src/tags.cpp:707 msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" #: src/tags.cpp:715 msgid "YCbCr Sub-Sampling" msgstr "" #: src/tags.cpp:716 msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" #: src/tags.cpp:735 #, fuzzy msgid "Reference Black/White" msgstr "پايدىلىنىش ئاق قارىلىقى" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" #: src/tags.cpp:743 msgid "XML Packet" msgstr "" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "" #: src/tags.cpp:746 #, fuzzy msgid "Windows Rating" msgstr "باھالاش" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "" #: src/tags.cpp:749 msgid "Windows Rating Percent" msgstr "" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "" #: src/tags.cpp:752 #, fuzzy msgid "Image ID" msgstr "سۈرەت چوڭلۇقى" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" #: src/tags.cpp:770 msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" #: src/tags.cpp:789 #, fuzzy msgid "Exposure time, given in seconds." msgstr "نورلاندۇرۇشنى تۈزىتىش" #: src/tags.cpp:790 src/tags.cpp:1553 #, fuzzy msgid "The F number." msgstr "ھۆججەت سانى" #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "" #: src/tags.cpp:794 #, fuzzy msgid "Image Resources Block" msgstr "چاقناپ نۇر ئۆتكۈزۈش قۇلۇپى" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "" #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" #: src/tags.cpp:803 #, fuzzy msgid "Inter Color Profile" msgstr "رەڭ سەپلىمە ھۆججىتى" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" #: src/tags.cpp:807 msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "" #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" #: src/tags.cpp:813 src/tags.cpp:1564 msgid "ISO Speed Ratings" msgstr "ISO سۈرئەت نىسبىتى" #: src/tags.cpp:813 src/tags.cpp:1565 msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" #: src/tags.cpp:814 msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" #: src/tags.cpp:815 #, fuzzy msgid "Interlace" msgstr "گىرەلەشتۈرۈلگەن" #: src/tags.cpp:815 msgid "Indicates the field number of multifield images." msgstr "" #: src/tags.cpp:816 #, fuzzy msgid "Time Zone Offset" msgstr "قىسقا ئېغىش" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" #: src/tags.cpp:823 #, fuzzy msgid "Self Timer Mode" msgstr "ئۆزىدىكى ۋاقىت" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "" #: src/tags.cpp:824 #, fuzzy msgid "Date Time Original" msgstr "ۋاقىت ۋە چېسلا ئورىگىنالى" #: src/tags.cpp:824 msgid "The date and time when the original image data was generated." msgstr "" #: src/tags.cpp:825 msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "" #: src/tags.cpp:826 #, fuzzy msgid "Shutter speed." msgstr "قاپقاق تېزلىكى" #: src/tags.cpp:827 #, fuzzy msgid "The lens aperture." msgstr "ئەڭ كىچىك نۇر گەردىشى" #: src/tags.cpp:828 #, fuzzy msgid "The value of brightness." msgstr "ئاپتوماتىك يورۇقلۇقى" #: src/tags.cpp:829 #, fuzzy msgid "The exposure bias." msgstr "نۇرلاندۇرۇش پەرقى" #: src/tags.cpp:830 src/tags.cpp:1645 #, fuzzy msgid "Max Aperture Value" msgstr "ئەڭ چوڭ نۇر چەمبىرى قىممىتى" #: src/tags.cpp:830 msgid "The smallest F number of the lens." msgstr "" #: src/tags.cpp:831 src/tags.cpp:1651 msgid "The distance to the subject, given in meters." msgstr "" #: src/tags.cpp:832 src/tags.cpp:1654 #, fuzzy msgid "The metering mode." msgstr "مۆلچەر نوقتا شەكلى" #: src/tags.cpp:833 src/tags.cpp:1657 #, fuzzy msgid "The kind of light source." msgstr "باشقا نۇر مەنبەسى" #: src/tags.cpp:834 msgid "Indicates the status of flash when the image was shot." msgstr "" #: src/tags.cpp:835 msgid "The actual focal length of the lens, in mm." msgstr "" #: src/tags.cpp:836 msgid "Amount of flash energy (BCPS)." msgstr "" #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "" #: src/tags.cpp:838 msgid "Noise" msgstr "شاۋقۇن" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "" #: src/tags.cpp:839 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" #: src/tags.cpp:840 msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" #: src/tags.cpp:841 msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "" #: src/tags.cpp:843 #, fuzzy msgid "Security Classification" msgstr "ئېلېكترونلۇق چوڭايت" #: src/tags.cpp:843 msgid "Security classification assigned to the image." msgstr "" #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "" #: src/tags.cpp:845 msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "" #: src/tags.cpp:846 msgid "Encodes the camera exposure index setting when image was captured." msgstr "" #: src/tags.cpp:847 #, fuzzy msgid "TIFF/EP Standard ID" msgstr "F0/ئۆلچىمى" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" #: src/tags.cpp:851 msgid "Type of image sensor." msgstr "" #: src/tags.cpp:852 msgid "Windows Title" msgstr "" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:855 #, fuzzy msgid "Windows Comment" msgstr "ئىزاھات خاتىرىسى" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:858 #, fuzzy msgid "Windows Author" msgstr "ئاپتور" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:861 #, fuzzy msgid "Windows Keywords" msgstr "ھالقىلىق سۆزلەر" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:864 #, fuzzy msgid "Windows Subject" msgstr "تېما" #: src/tags.cpp:865 msgid "Subject tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:867 #, fuzzy msgid "Print Image Matching" msgstr "ماس رايۇن" #: src/tags.cpp:868 msgid "Print Image Matching, description needed." msgstr "" #: src/tags.cpp:870 #, fuzzy msgid "DNG version" msgstr "MCUنەشىرى" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" #: src/tags.cpp:875 #, fuzzy msgid "DNG backward version" msgstr "Firmware نەشرى:" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" #: src/tags.cpp:884 #, fuzzy msgid "Unique Camera Model" msgstr "كامېرانىڭ تىپى" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" #: src/tags.cpp:892 #, fuzzy msgid "Localized Camera Model" msgstr "كامېرانىڭ تىپى" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" #: src/tags.cpp:897 #, fuzzy msgid "CFA Plane Color" msgstr "FinePix رەڭ" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" #: src/tags.cpp:902 msgid "CFA Layout" msgstr "" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "" #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" #: src/tags.cpp:912 #, fuzzy msgid "Black Level Repeat Dim" msgstr "قارىلىق دەرىجىسى2" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "" #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" #: src/tags.cpp:921 #, fuzzy msgid "Black Level Delta H" msgstr "قارىلىق دەرىجىسى2" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" #: src/tags.cpp:928 #, fuzzy msgid "Black Level Delta V" msgstr "قارىلىق دەرىجىسى2" #: src/tags.cpp:929 msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" #: src/tags.cpp:935 #, fuzzy msgid "White Level" msgstr "ئاق تەڭپۇڭلۇق قىزىللىق دەرىجىسى" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" #: src/tags.cpp:941 #, fuzzy msgid "Default Scale" msgstr "كۆڭۈلدىكى" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" #: src/tags.cpp:957 #, fuzzy msgid "Default Crop Size" msgstr "كۆڭۈلدىكى تەڭشەكلەر" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" #: src/tags.cpp:964 #, fuzzy msgid "Color Matrix 1" msgstr "رەك ماترىتساسى" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" #: src/tags.cpp:971 #, fuzzy msgid "Color Matrix 2" msgstr "رەڭ ماترىتسا2" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" #: src/tags.cpp:977 #, fuzzy msgid "Camera Calibration 1" msgstr "كامىرا تەڭشىكى (Z1)" #: src/tags.cpp:978 msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:987 msgid "Camera Calibration 2" msgstr "" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:997 msgid "Reduction Matrix 1" msgstr "" #: src/tags.cpp:998 msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1004 msgid "Reduction Matrix 2" msgstr "" #: src/tags.cpp:1005 msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1011 #, fuzzy msgid "Analog Balance" msgstr "رەڭ تەڭپۇڭى" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" #: src/tags.cpp:1021 #, fuzzy msgid "As Shot Neutral" msgstr "بىتەرەپ" #: src/tags.cpp:1022 msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" #: src/tags.cpp:1027 msgid "As Shot White XY" msgstr "" #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" #: src/tags.cpp:1032 #, fuzzy msgid "Baseline Exposure" msgstr "نۇر ئۆتۈش كۆپ" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" #: src/tags.cpp:1047 msgid "Baseline Noise" msgstr "" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" #: src/tags.cpp:1054 #, fuzzy msgid "Baseline Sharpness" msgstr "چ ك رۇشەنلەشتۈرۈش" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" #: src/tags.cpp:1061 msgid "Bayer Green Split" msgstr "" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" #: src/tags.cpp:1070 msgid "Linear Response Limit" msgstr "" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" #: src/tags.cpp:1079 msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" #: src/tags.cpp:1082 #, fuzzy msgid "Lens Info" msgstr "لېنزا ئۇچۇرى" #: src/tags.cpp:1083 msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" #: src/tags.cpp:1095 msgid "Anti Alias Strength" msgstr "" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" #: src/tags.cpp:1102 #, fuzzy msgid "Shadow Scale" msgstr "سايە" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" #: src/tags.cpp:1106 #, fuzzy msgid "DNG Private Data" msgstr "سانلىق مەلۇماتنى ئالدىن كۈزەت" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" #: src/tags.cpp:1111 #, fuzzy msgid "MakerNote Safety" msgstr "ياسىغۇچىنىڭ ئىلاۋىسى" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" #: src/tags.cpp:1119 #, fuzzy msgid "Calibration Illuminant 1" msgstr "تىترەشنى ئازلىتىش1" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" #: src/tags.cpp:1125 #, fuzzy msgid "Calibration Illuminant 2" msgstr "تىترەشنى ئازلىتىش2" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" #: src/tags.cpp:1132 #, fuzzy msgid "Best Quality Scale" msgstr "سۈرەت سۈپىتى2" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" #: src/tags.cpp:1140 msgid "Raw Data Unique ID" msgstr "" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" #: src/tags.cpp:1149 msgid "Original Raw File Name" msgstr "" #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" #: src/tags.cpp:1153 msgid "Original Raw File Data" msgstr "" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" #: src/tags.cpp:1164 #, fuzzy msgid "Active Area" msgstr "كۆرۈنۈش رايۇنى" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" #: src/tags.cpp:1168 #, fuzzy msgid "Masked Areas" msgstr "ئاپتوماتىك فۇكۇس دائىرىسى" #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" #: src/tags.cpp:1176 #, fuzzy msgid "As-Shot ICC Profile" msgstr "ICCسەپلىمە ھۆججىتى" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" #: src/tags.cpp:1188 msgid "As-Shot Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" #: src/tags.cpp:1198 #, fuzzy msgid "Current ICC Profile" msgstr "ICCسەپلىمە ھۆججىتى" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1205 msgid "Current Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1212 #, fuzzy msgid "Colorimetric Reference" msgstr "پايدىلىنىش تۈرى" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" #: src/tags.cpp:1220 msgid "Camera Calibration Signature" msgstr "" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" #: src/tags.cpp:1227 msgid "Profile Calibration Signature" msgstr "" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" #: src/tags.cpp:1234 #, fuzzy msgid "As Shot Profile Name" msgstr "سەپلەك(Profile) ھۆججەت ئاتى" #: src/tags.cpp:1235 msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" #: src/tags.cpp:1238 #, fuzzy msgid "Noise Reduction Applied" msgstr "شاۋقۇننى ئاجىزلىتىش" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" #: src/tags.cpp:1246 msgid "Profile Name" msgstr "سەپلەك(Profile) ھۆججەت ئاتى" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1279 #, fuzzy msgid "Profile Tone Curve" msgstr "سەپلەك(Profile) ھۆججەت ئاتى" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" #: src/tags.cpp:1288 #, fuzzy msgid "Profile Embed Policy" msgstr "سەپلەك(Profile) ھۆججەت ئاتى" #: src/tags.cpp:1289 msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" #: src/tags.cpp:1292 #, fuzzy msgid "Profile Copyright" msgstr "نەشر ھوقۇقى" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" #: src/tags.cpp:1297 #, fuzzy msgid "Forward Matrix 1" msgstr "رەك ماترىتساسى" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" #: src/tags.cpp:1301 #, fuzzy msgid "Forward Matrix 2" msgstr "رەڭ ماترىتسا2" #: src/tags.cpp:1305 #, fuzzy msgid "Preview Application Name" msgstr "سانلىق مەلۇماتنى ئالدىن كۈزەت" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" #: src/tags.cpp:1309 #, fuzzy msgid "Preview Application Version" msgstr "كۆرۈپ بېقىش نەشىرى" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" #: src/tags.cpp:1313 #, fuzzy msgid "Preview Settings Name" msgstr "سۈرەتنى ئالدىن كۆزەت" #: src/tags.cpp:1314 msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" #: src/tags.cpp:1317 #, fuzzy msgid "Preview Settings Digest" msgstr "سۈرەتنى ئالدىن كۆزەت" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" #: src/tags.cpp:1321 #, fuzzy msgid "Preview Color Space" msgstr "سىن رەڭ بوشلۇقى" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" #: src/tags.cpp:1326 #, fuzzy msgid "Preview Date Time" msgstr "سانلىق مەلۇماتنى ئالدىن كۈزەت" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" #: src/tags.cpp:1331 #, fuzzy msgid "Raw Image Digest" msgstr "ئەسلى سۈرەت مەركىزى" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" #: src/tags.cpp:1337 msgid "Original Raw File Digest" msgstr "" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" #: src/tags.cpp:1387 #, fuzzy msgid "Noise Profile" msgstr "شاۋقۇن سۈزگۈچ" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" #: src/tags.cpp:1396 src/tags.cpp:1397 #, fuzzy msgid "Unknown IFD tag" msgstr "نامەلۇم خەتكۈش" #: src/tags.cpp:1408 src/tags.cpp:1466 msgid "Not defined" msgstr "ئېنىقلىما بېرىلمىگەن" #: src/tags.cpp:1413 #, fuzzy msgid "Creative program" msgstr "پرۇگرامما باش تېمىسى" #: src/tags.cpp:1414 #, fuzzy msgid "Action program" msgstr "پرۇگرامما باش تېمىسى" #: src/tags.cpp:1415 #, fuzzy msgid "Portrait mode" msgstr "بوي يۆنىلىش" #: src/tags.cpp:1416 #, fuzzy msgid "Landscape mode" msgstr "توغرا يۆنىلىش " #: src/tags.cpp:1425 #, fuzzy msgid "Multi-spot" msgstr "كۆپ سېگمىت" #: src/tags.cpp:1437 msgid "Tungsten (incandescent light)" msgstr "ۋولفرام لامپا (چوغلانما لامپا)" #: src/tags.cpp:1439 msgid "Fine weather" msgstr "ئوچۇق" #: src/tags.cpp:1440 msgid "Cloudy weather" msgstr "بۇلۇتلۇق" #: src/tags.cpp:1442 #, fuzzy msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "كۈن نۇرلۇق يالتىراق لامپا" #: src/tags.cpp:1443 msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "" #: src/tags.cpp:1444 msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "" #: src/tags.cpp:1445 msgid "White fluorescent (WW 3200 - 3700K)" msgstr "" #: src/tags.cpp:1446 msgid "Standard light A" msgstr "ئۆلچەملىك چىراغ A" #: src/tags.cpp:1447 msgid "Standard light B" msgstr "ئۆلچەملىك چىراغ B" #: src/tags.cpp:1448 msgid "Standard light C" msgstr "ئۆلچەملىك چىراغ C" #: src/tags.cpp:1449 msgid "D55" msgstr "D55" #: src/tags.cpp:1450 msgid "D65" msgstr "D65" #: src/tags.cpp:1451 msgid "D75" msgstr "D75" #: src/tags.cpp:1452 msgid "D50" msgstr "D50" #: src/tags.cpp:1453 msgid "ISO studio tungsten" msgstr "ISO سۈرەتكە ئېلىش چىرىغى" #: src/tags.cpp:1454 msgid "Other light source" msgstr "باشقا نۇر مەنبەسى" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "توغرىلانمىغان" #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "" #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "" #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "" #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "" #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "ئۈچ سىزىقلىق سەزگۈچ" #: src/tags.cpp:1472 msgid "Color sequential linear" msgstr "" #: src/tags.cpp:1477 msgid "Film scanner" msgstr "" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "" #: src/tags.cpp:1479 #, fuzzy msgid "Digital still camera" msgstr "رەقەملىك سۈزگۈچ" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "" #: src/tags.cpp:1489 msgid "Normal process" msgstr "نورمال بىر تەرەپ قىلىش" #: src/tags.cpp:1490 msgid "Custom process" msgstr "ئىختىيارىچە بىر تەرەپ قىلىش" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "تۆۋەن ئارتىش" #: src/tags.cpp:1519 msgid "High gain up" msgstr "يۇقىرى ئارتىش" #: src/tags.cpp:1520 msgid "Low gain down" msgstr "ئاستا تۆۋەنلەش" #: src/tags.cpp:1521 msgid "High gain down" msgstr "تېز تۆۋەنلەش" #: src/tags.cpp:1542 msgid "Close view" msgstr "يېقىن مەنزىرە" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "يىراق مەنزىرە" #: src/tags.cpp:1550 msgid "Exposure time, given in seconds (sec)." msgstr "" #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "" #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" #: src/tags.cpp:1573 #, fuzzy msgid "Sensitivity Type" msgstr "لىنزا تىپى" #: src/tags.cpp:1574 msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" #: src/tags.cpp:1580 msgid "Standard Output Sensitivity" msgstr "" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1585 #, fuzzy msgid "Recommended Exposure Index" msgstr "نۇر ئۆتكۈزۈش ئىندېكسى" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1595 #, fuzzy msgid "ISO Speed Latitude yyy" msgstr "ISOسۈرئەت ھالىتى" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" #: src/tags.cpp:1600 #, fuzzy msgid "ISO Speed Latitude zzz" msgstr "ISOسۈرئەت ھالىتى" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" #: src/tags.cpp:1609 #, fuzzy msgid "Date and Time (original)" msgstr "ۋاقىت ۋە چېسلا ئورىگىنالى" #: src/tags.cpp:1610 msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" #: src/tags.cpp:1613 #, fuzzy msgid "Date and Time (digitized)" msgstr "ۋاقىت ۋە چېسلانى رەقەملەشتۈرۈش" #: src/tags.cpp:1614 msgid "The date and time when the image was stored as digital data." msgstr "" #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" #: src/tags.cpp:1626 #, fuzzy msgid "Compressed Bits per Pixel" msgstr "پرىسلانغان سۈرەت چوڭلۇقى" #: src/tags.cpp:1627 msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" #: src/tags.cpp:1631 msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "" #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1641 #, fuzzy msgid "Exposure Bias" msgstr "نۇرلاندۇرۇش پەرقى" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "" #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" #: src/tags.cpp:1667 msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "" #: src/tags.cpp:1670 msgid "Maker Note" msgstr "ياسىغۇچىنىڭ ئىلاۋىسى" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" #: src/tags.cpp:1679 msgid "Sub-seconds Time" msgstr "" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1682 #, fuzzy msgid "Sub-seconds Time Original" msgstr "ۋاقىت ۋە چېسلا ئورىگىنالى" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1685 #, fuzzy msgid "Sub-seconds Time Digitized" msgstr "ۋاقىت ۋە چېسلانى رەقەملەشتۈرۈش" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" #: src/tags.cpp:1688 #, fuzzy msgid "FlashPix Version" msgstr "ھۆججەت نەشىرى" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "" #: src/tags.cpp:1692 msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" #: src/tags.cpp:1723 msgid "Interoperability IFD Pointer" msgstr "" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" #: src/tags.cpp:1740 #, fuzzy msgid "Focal Plane X-Resolution" msgstr "فوكۇس تەكشىلىكى دىئاگۇنالى" #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1744 #, fuzzy msgid "Focal Plane Y-Resolution" msgstr "فوكۇس تەكشىلىكى دىئاگۇنالى" #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" #: src/tags.cpp:1753 msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" #: src/tags.cpp:1759 #, fuzzy msgid "Exposure index" msgstr "نۇر ئۆتكۈزۈش ئىندېكسى" #: src/tags.cpp:1760 msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" #: src/tags.cpp:1764 msgid "Indicates the image sensor type on the camera or input device." msgstr "" #: src/tags.cpp:1767 msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" #: src/tags.cpp:1776 #, fuzzy msgid "Color Filter Array Pattern" msgstr "رەڭ سۈزگۈچ" #: src/tags.cpp:1777 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" #: src/tags.cpp:1793 msgid "This tag indicates the white balance mode set when the image was shot." msgstr "" #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" #: src/tags.cpp:1801 msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" #: src/tags.cpp:1807 msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" #: src/tags.cpp:1812 msgid "This tag indicates the degree of overall image gain adjustment." msgstr "" #: src/tags.cpp:1815 msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" #: src/tags.cpp:1819 msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" #: src/tags.cpp:1823 msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" #: src/tags.cpp:1827 msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" #: src/tags.cpp:1832 msgid "This tag indicates the distance to the subject." msgstr "" #: src/tags.cpp:1835 msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" #: src/tags.cpp:1839 #, fuzzy msgid "Camera Owner Name" msgstr "ئىگىدار ئاتى" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" #: src/tags.cpp:1843 #, fuzzy msgid "Body Serial Number" msgstr "تەرتىپ نومۇرى" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1847 msgid "Lens Specification" msgstr "" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" #: src/tags.cpp:1854 #, fuzzy msgid "Lens Make" msgstr "لىنزا ھالىتى" #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "" #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1866 src/tags.cpp:1867 #, fuzzy msgid "Unknown Exif tag" msgstr "نامەلۇم خەتكۈش" #: src/tags.cpp:1878 msgid "North" msgstr "شىمال" #: src/tags.cpp:1879 msgid "South" msgstr "جەنۇب" #: src/tags.cpp:1884 msgid "East" msgstr "شەرق" #: src/tags.cpp:1885 msgid "West" msgstr "غەرب" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "" #: src/tags.cpp:1891 #, fuzzy msgid "Below sea level" msgstr "قارىلىق دەرىجىسى" #: src/tags.cpp:1896 msgid "Measurement in progress" msgstr "" #: src/tags.cpp:1897 msgid "Measurement Interoperability" msgstr "" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "" #: src/tags.cpp:1908 msgid "km/h" msgstr "km/h" #: src/tags.cpp:1909 msgid "mph" msgstr "mph" #: src/tags.cpp:1910 msgid "knots" msgstr "دېڭىز مىلى" #: src/tags.cpp:1915 #, fuzzy msgid "True direction" msgstr "تولۇق مەنزىرە يۆنىلىشى" #: src/tags.cpp:1916 #, fuzzy msgid "Magnetic direction" msgstr "تولۇق مەنزىرە يۆنىلىشى" #: src/tags.cpp:1921 msgid "Kilometers" msgstr "كىلومېتىر" #: src/tags.cpp:1922 msgid "Miles" msgstr "ئىنگلىز مىلى" #: src/tags.cpp:1923 msgid "Knots" msgstr "دېڭىز مىلى" #: src/tags.cpp:1928 #, fuzzy msgid "Without correction" msgstr "يەرلىكتە تارت" #: src/tags.cpp:1929 msgid "Correction applied" msgstr "" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" #: src/tags.cpp:1941 #, fuzzy msgid "GPS Latitude Reference" msgstr "GPS كەڭلىك:" #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1953 #, fuzzy msgid "GPS Longitude Reference" msgstr "GPS ئۇزۇنلۇق:" #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" #: src/tags.cpp:1998 msgid "GPS Data Degree of Precision" msgstr "" #: src/tags.cpp:1999 msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" #: src/tags.cpp:2007 msgid "Indicates the speed of GPS receiver movement." msgstr "" #: src/tags.cpp:2009 msgid "GPS Track Ref" msgstr "" #: src/tags.cpp:2010 msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2014 msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2022 msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" #: src/tags.cpp:2029 #, fuzzy msgid "GPS Destination Latitude Reference" msgstr "GPS كەڭلىك:" #: src/tags.cpp:2030 msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" #: src/tags.cpp:2034 msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2041 msgid "GPS Destination Longitude Reference" msgstr "" #: src/tags.cpp:2042 msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" #: src/tags.cpp:2046 msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2057 msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "" #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" #: src/tags.cpp:2065 msgid "Indicates the distance to the destination point." msgstr "" #: src/tags.cpp:2068 msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" #: src/tags.cpp:2076 #, fuzzy msgid "GPS Date Stamp" msgstr "يوللىغان چىسلا" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" #: src/tags.cpp:2081 msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "" #: src/tags.cpp:2084 src/tags.cpp:2085 #, fuzzy msgid "Unknown GPSInfo tag" msgstr "نامەلۇم خەتكۈش" #: src/tags.cpp:2096 msgid "Interoperability Index" msgstr "" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" #: src/tags.cpp:2103 #, fuzzy msgid "Interoperability Version" msgstr "پروگرامما نەشرى" #: src/tags.cpp:2104 msgid "Interoperability version" msgstr "" #: src/tags.cpp:2106 #, fuzzy msgid "Related Image File Format" msgstr "سۈرەت سانىنى ئۆچۈر" #: src/tags.cpp:2107 #, fuzzy msgid "File format of image file" msgstr "ھۆججەت ئېچىش مەغلۇپ بولدى\n" #: src/tags.cpp:2109 #, fuzzy msgid "Related Image Width" msgstr "سۈرەت كەڭلىكى" #: src/tags.cpp:2112 #, fuzzy msgid "Related Image Length" msgstr "سۈرەت ئارىلىقى" #: src/tags.cpp:2116 src/tags.cpp:2117 #, fuzzy msgid "Unknown Exif Interoperability tag" msgstr "نامەلۇم Minoltaياسىغۇچى ئىزاھات بەلگىسى" #: src/tags.cpp:2128 msgid "Offset" msgstr "ئېغىش" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "" #: src/tags.cpp:2131 msgid "Byte Order" msgstr "بايت تەرتىپى" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" #: src/tags.cpp:2135 src/tags.cpp:2136 #, fuzzy msgid "Unknown Exiv2 Makernote info tag" msgstr "نامەلۇم Nikon2زاۋۇت ئىزاھاتى بەلگىسى" #: src/tags.cpp:2146 src/tags.cpp:2147 msgid "Unknown tag" msgstr "نامەلۇم خەتكۈش" #: src/tags.cpp:2688 #, fuzzy msgid "Digital zoom not used" msgstr "رەقەملىك كېڭەيتىش تارايتىش تەڭشىكى" #: src/tiffimage.cpp:2308 #, fuzzy msgid "TIFF header, offset" msgstr "بەت قېشى، ئېغىش" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "" #, fuzzy #~ msgid "ascii bytes" #~ msgstr "بايت" exiv2-0.25/po/fr.po0000664000175000017500000236413712540520175013721 0ustar andreasandreas# translation of fr.po to français # translation of fr.po to # French translations of Exiv2. # Copyright: # This file is distributed under the same license as the Exiv2 package. # # Free Software Foundation, Inc., 2002. # Caulier Gilles , 2006. # Arnaud Launay , 2002. # Olivier Tilloy , 2007. # Stéphane Pontier , 2007. # Fabien , 2008. msgid "" msgstr "" "Project-Id-Version: fr\n" "Report-Msgid-Bugs-To: ahuggel@gmx.net\n" "POT-Creation-Date: 2015-06-18 18:40+0800\n" "PO-Revision-Date: 2008-05-28 15:49+0200\n" "Last-Translator: Fabien \n" "Language-Team: français \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.2\n" #: src/actions.cpp:259 src/actions.cpp:272 src/actions.cpp:513 #: src/actions.cpp:735 src/actions.cpp:752 src/actions.cpp:797 #: src/actions.cpp:887 src/actions.cpp:1030 src/actions.cpp:1072 #: src/actions.cpp:1141 src/actions.cpp:1183 src/actions.cpp:1188 #: src/actions.cpp:1208 src/actions.cpp:1213 src/actions.cpp:1245 #: src/actions.cpp:1488 src/actions.cpp:1624 src/actions.cpp:1689 #: src/actions.cpp:1857 msgid "Failed to open the file\n" msgstr "Échec de l'ouverture du fichier\n" #: src/actions.cpp:282 msgid "File name" msgstr "Nom du fichier" #: src/actions.cpp:288 msgid "File size" msgstr "Taille du fichier" #: src/actions.cpp:289 src/actions.cpp:449 src/actions.cpp:1056 msgid "Bytes" msgstr "Octets" #: src/actions.cpp:293 msgid "MIME type" msgstr "Type MIME" #: src/actions.cpp:297 src/canonmn.cpp:1051 src/minoltamn.cpp:500 #: src/minoltamn.cpp:745 src/minoltamn.cpp:992 src/pentaxmn.cpp:1172 msgid "Image size" msgstr "Taille de l'image" #: src/actions.cpp:302 src/actions.cpp:810 src/actions.cpp:1039 #: src/actions.cpp:1501 src/actions.cpp:1637 src/actions.cpp:1702 msgid "No Exif data found in the file\n" msgstr "Pas de données Exif trouvées dans le fichier\n" #: src/actions.cpp:307 msgid "Camera make" msgstr "Marque de l'appareil" #: src/actions.cpp:310 msgid "Camera model" msgstr "Modèle de l'appareil" #: src/actions.cpp:313 msgid "Image timestamp" msgstr "Horodatage de l'image" #: src/actions.cpp:317 src/minoltamn.cpp:805 src/minoltamn.cpp:812 #: src/minoltamn.cpp:1070 msgid "Image number" msgstr "Numéro de l'image" #: src/actions.cpp:322 src/minoltamn.cpp:515 src/minoltamn.cpp:798 #: src/minoltamn.cpp:1028 src/minoltamn.cpp:1372 src/pentaxmn.cpp:1189 #: src/pentaxmn.cpp:1190 msgid "Exposure time" msgstr "Temps d'exposition" #: src/actions.cpp:334 src/canonmn.cpp:1170 src/minoltamn.cpp:1266 #: src/tags.cpp:1634 msgid "Aperture" msgstr "Ouverture" #: src/actions.cpp:345 msgid "Exposure bias" msgstr "Correction d'exposition" #: src/actions.cpp:348 src/canonmn.cpp:1101 src/minoltamn.cpp:874 #: src/minoltamn.cpp:1202 src/minoltamn.cpp:2151 src/panasonicmn.cpp:72 #: src/pentaxmn.cpp:418 src/properties.cpp:588 src/sonymn.cpp:220 #: src/tags.cpp:834 src/tags.cpp:1438 src/tags.cpp:1659 msgid "Flash" msgstr "Flash" #: src/actions.cpp:351 src/canonmn.cpp:1164 src/panasonicmn.cpp:454 msgid "Flash bias" msgstr "Biais flash" #: src/actions.cpp:356 src/canonmn.cpp:384 src/minoltamn.cpp:539 #: src/nikonmn.cpp:1369 src/nikonmn.cpp:1394 msgid "Focal length" msgstr "Distance focale" #: src/actions.cpp:361 msgid "35 mm equivalent" msgstr "Équivalent à 35 mm" #: src/actions.cpp:373 msgid "Subject distance" msgstr "Distance du sujet" #: src/actions.cpp:387 msgid "ISO speed" msgstr "Sensibilité ISO" #: src/actions.cpp:390 src/minoltamn.cpp:491 src/minoltamn.cpp:742 #: src/minoltamn.cpp:989 src/minoltamn.cpp:1357 src/olympusmn.cpp:665 #: src/sigmamn.cpp:75 msgid "Exposure mode" msgstr "Mode d'exposition" #: src/actions.cpp:393 src/minoltamn.cpp:509 src/minoltamn.cpp:1010 #: src/minoltamn.cpp:1399 src/olympusmn.cpp:667 src/sigmamn.cpp:78 msgid "Metering mode" msgstr "Mode de mesure" #: src/actions.cpp:396 src/canonmn.cpp:1042 src/minoltamn.cpp:521 #: src/olympusmn.cpp:202 src/olympusmn.cpp:669 src/panasonicmn.cpp:448 msgid "Macro mode" msgstr "Mode macro" #: src/actions.cpp:399 src/minoltamn.cpp:133 src/minoltamn.cpp:503 #: src/minoltamn.cpp:748 src/minoltamn.cpp:995 src/pentaxmn.cpp:1169 #: src/sonymn.cpp:324 msgid "Image quality" msgstr "Qualité de l'image" #: src/actions.cpp:403 msgid "Exif Resolution" msgstr "Résolution Exif" #: src/actions.cpp:433 src/canonmn.cpp:1411 src/minoltamn.cpp:178 #: src/minoltamn.cpp:497 src/minoltamn.cpp:751 src/minoltamn.cpp:998 #: src/minoltamn.cpp:1381 src/nikonmn.cpp:228 src/nikonmn.cpp:478 #: src/nikonmn.cpp:536 src/olympusmn.cpp:887 src/pentaxmn.cpp:1209 #: src/pentaxmn.cpp:1210 src/sigmamn.cpp:72 src/sonymn.cpp:339 msgid "White balance" msgstr "Balance des blancs" #: src/actions.cpp:436 src/minoltamn.cpp:114 src/olympusmn.cpp:426 msgid "Thumbnail" msgstr "Miniature" #: src/actions.cpp:440 src/actions.cpp:445 src/canonmn.cpp:523 #: src/canonmn.cpp:1315 src/canonmn.cpp:1324 src/canonmn.cpp:1378 #: src/minoltamn.cpp:310 src/minoltamn.cpp:399 src/minoltamn.cpp:2129 #: src/nikonmn.cpp:175 src/nikonmn.cpp:190 src/nikonmn.cpp:923 #: src/nikonmn.cpp:948 src/nikonmn.cpp:1010 src/olympusmn.cpp:142 #: src/olympusmn.cpp:726 src/olympusmn.cpp:733 src/olympusmn.cpp:1189 #: src/olympusmn.cpp:1258 src/olympusmn.cpp:1407 src/olympusmn.cpp:1612 #: src/olympusmn.cpp:1621 src/pentaxmn.cpp:288 src/pentaxmn.cpp:304 #: src/pentaxmn.cpp:451 src/pentaxmn.cpp:452 src/properties.cpp:939 #: src/properties.cpp:947 src/tags.cpp:1517 msgid "None" msgstr "Aucun" #: src/actions.cpp:455 src/datasets.cpp:376 src/properties.cpp:375 #: src/properties.cpp:548 src/properties.cpp:1098 src/tags.cpp:769 msgid "Copyright" msgstr "Droit d'auteur" #: src/actions.cpp:458 msgid "Exif comment" msgstr "Commentaire Exif" #: src/actions.cpp:675 src/actions.cpp:700 src/actions.cpp:721 msgid "(Binary value suppressed)" msgstr "(Valeur binaire supprimée)" #: src/actions.cpp:742 msgid "JPEG comment" msgstr "Commentaire JPEG" #: src/actions.cpp:767 #, fuzzy msgid "Preview" msgstr "Données de prévisualisation" #: src/actions.cpp:771 src/actions.cpp:1111 src/properties.cpp:451 msgid "pixels" msgstr "" #: src/actions.cpp:773 src/actions.cpp:1113 msgid "bytes" msgstr "octets" #: src/actions.cpp:820 msgid "Neither tag" msgstr "Aucun des marqueurs" #: src/actions.cpp:821 msgid "nor" msgstr "ou" #: src/actions.cpp:822 msgid "found in the file" msgstr "n'a été trouvé dans le fichier" #: src/actions.cpp:827 msgid "Image file creation timestamp not set in the file" msgstr "Horodatage de création du fichier image non défini dans le fichier" #: src/actions.cpp:833 src/actions.cpp:1590 msgid "Failed to parse timestamp" msgstr "Échec de l'analyse de l'horodatage" #: src/actions.cpp:834 msgid "in the file" msgstr "dans le fichier" #: src/actions.cpp:845 msgid "Updating timestamp to" msgstr "Mise à jour de l'horodatage à" #: src/actions.cpp:939 #, fuzzy msgid "Erasing thumbnail data" msgstr "octets de données de la miniature" #: src/actions.cpp:947 msgid "Erasing Exif data from the file" msgstr "Effacement des données Exif du fichier" #: src/actions.cpp:956 msgid "Erasing IPTC data from the file" msgstr "Effacement des données IPTC du fichier" #: src/actions.cpp:965 msgid "Erasing JPEG comment from the file" msgstr "Effacement du commentaire JPEG du fichier" #: src/actions.cpp:974 msgid "Erasing XMP data from the file" msgstr "Effacement des données XMP du fichier" #: src/actions.cpp:1046 msgid "Image does not contain an Exif thumbnail\n" msgstr "L'image ne contient pas de miniature Exif\n" #: src/actions.cpp:1055 #, fuzzy msgid "Writing thumbnail" msgstr "de la miniature" #: src/actions.cpp:1056 src/actions.cpp:1114 msgid "to file" msgstr "dans le fichier" #: src/actions.cpp:1062 msgid "Exif data doesn't contain a thumbnail\n" msgstr "Les données Exif ne contiennent pas de miniature\n" #: src/actions.cpp:1092 src/actions.cpp:1118 msgid "Image does not have preview" msgstr "" #: src/actions.cpp:1107 #, fuzzy msgid "Writing preview" msgstr "Écriture au format" #: src/actions.cpp:1278 msgid "Setting JPEG comment" msgstr "Définition du commentaire JPEG" #: src/actions.cpp:1319 msgid "Add" msgstr "Ajout de" #: src/actions.cpp:1341 src/actions.cpp:1415 msgid "Warning" msgstr "Avertissement" #: src/actions.cpp:1342 src/actions.cpp:1416 msgid "Failed to read" msgstr "Échec lors de la lecture" #: src/actions.cpp:1344 src/actions.cpp:1418 msgid "value" msgstr "valeur" #: src/actions.cpp:1355 msgid "Set" msgstr "Définition de" #: src/actions.cpp:1427 msgid "Del" msgstr "Effacement de" #: src/actions.cpp:1459 msgid "Reg " msgstr "Reg " #: src/actions.cpp:1543 msgid "Timestamp of metadatum with key" msgstr "Horodatage de la donnée de clé" #: src/actions.cpp:1544 msgid "not set\n" msgstr "non défini\n" #: src/actions.cpp:1549 msgid "Adjusting" msgstr "Ajustement de" #: src/actions.cpp:1549 msgid "by" msgstr "de" #: src/actions.cpp:1553 src/actions.cpp:1602 msgid "years" msgstr "années" #: src/actions.cpp:1556 msgid "year" msgstr "année" #: src/actions.cpp:1564 msgid "months" msgstr "mois" #: src/actions.cpp:1567 msgid "month" msgstr "mois" #: src/actions.cpp:1575 msgid "days" msgstr "jours" #: src/actions.cpp:1578 msgid "day" msgstr "jour" #: src/actions.cpp:1584 msgid "s" msgstr "s" #: src/actions.cpp:1600 msgid "Can't adjust timestamp by" msgstr "Échec de l'ajustement de l'horodatage" #: src/actions.cpp:1609 src/actions.cpp:1881 src/actions.cpp:1889 #: src/actions.cpp:1897 src/actions.cpp:1906 src/actions.cpp:2016 msgid "to" msgstr "vers" #: src/actions.cpp:1644 msgid "Standard Exif ISO tag exists; not modified\n" msgstr "Tag EXIF standard (ISO), non modifié\n" #: src/actions.cpp:1652 msgid "Setting Exif ISO value to" msgstr "Définition de la valeur Exif de l'ISO à" #: src/actions.cpp:1708 #, fuzzy msgid "No Exif user comment found" msgstr "Commentaire Exif" #: src/actions.cpp:1716 msgid "Found Exif user comment with unexpected value type" msgstr "" #: src/actions.cpp:1723 msgid "No Exif UNICODE user comment found" msgstr "" #: src/actions.cpp:1729 #, fuzzy msgid "Setting Exif UNICODE user comment to" msgstr "Définition de la valeur Exif de l'ISO à" #: src/actions.cpp:1880 msgid "Writing Exif data from" msgstr "Écriture des données Exif de" #: src/actions.cpp:1888 msgid "Writing IPTC data from" msgstr "Écriture des données IPTC de" #: src/actions.cpp:1896 msgid "Writing XMP data from" msgstr "Écriture des données Exif de" #: src/actions.cpp:1905 msgid "Writing JPEG comment from" msgstr "Écriture du commentaire JPEG de" #: src/actions.cpp:1915 msgid "Could not write metadata to file" msgstr "Impossible d'écrire les métadonnées dans le fichier" #: src/actions.cpp:1942 msgid "Filename format yields empty filename for the file" msgstr "" "Le format spécifié pour le nom du fichier produit un nom de fichier vide" #: src/actions.cpp:1951 msgid "This file already has the correct name" msgstr "Le nom de ce fichier est déjà correct" #: src/actions.cpp:1975 src/exiv2.cpp:168 msgid "File" msgstr "Le fichier" #: src/actions.cpp:1976 msgid "exists. [O]verwrite, [r]ename or [s]kip?" msgstr " existe. Écraser [O], [r]enommer ou passer au [s]uivant?" #: src/actions.cpp:2004 msgid "Renaming file to" msgstr "Renommage du fichier en" #: src/actions.cpp:2006 msgid "updating timestamp" msgstr "mise à jour de l'horodatage" #: src/actions.cpp:2015 msgid "Failed to rename" msgstr "Échec du renommage de" #: src/actions.cpp:2037 msgid "Overwrite" msgstr "Écraser" #: src/canonmn.cpp:58 src/canonmn.cpp:369 src/canonmn.cpp:428 #: src/canonmn.cpp:444 src/canonmn.cpp:1000 src/canonmn.cpp:1013 #: src/canonmn.cpp:1276 src/canonmn.cpp:1299 src/canonmn.cpp:1308 #: src/fujimn.cpp:56 src/fujimn.cpp:102 src/fujimn.cpp:140 #: src/minoltamn.cpp:84 src/minoltamn.cpp:213 src/minoltamn.cpp:270 #: src/minoltamn.cpp:1138 src/minoltamn.cpp:1279 src/minoltamn.cpp:1341 #: src/minoltamn.cpp:1963 src/minoltamn.cpp:1977 src/minoltamn.cpp:2025 #: src/nikonmn.cpp:62 src/nikonmn.cpp:68 src/nikonmn.cpp:76 #: src/nikonmn.cpp:206 src/nikonmn.cpp:649 src/nikonmn.cpp:674 #: src/nikonmn.cpp:723 src/nikonmn.cpp:758 src/nikonmn.cpp:852 #: src/nikonmn.cpp:901 src/nikonmn.cpp:990 src/nikonmn.cpp:1232 #: src/nikonmn.cpp:1241 src/olympusmn.cpp:59 src/olympusmn.cpp:79 #: src/olympusmn.cpp:86 src/olympusmn.cpp:501 src/olympusmn.cpp:529 #: src/olympusmn.cpp:540 src/olympusmn.cpp:557 src/olympusmn.cpp:592 #: src/olympusmn.cpp:654 src/olympusmn.cpp:919 src/olympusmn.cpp:1140 #: src/olympusmn.cpp:1500 src/olympusmn.cpp:1501 src/olympusmn.cpp:1567 #: src/panasonicmn.cpp:93 src/panasonicmn.cpp:102 src/panasonicmn.cpp:109 #: src/panasonicmn.cpp:197 src/panasonicmn.cpp:207 src/panasonicmn.cpp:236 #: src/panasonicmn.cpp:273 src/panasonicmn.cpp:288 src/panasonicmn.cpp:325 #: src/panasonicmn.cpp:331 src/panasonicmn.cpp:345 src/panasonicmn.cpp:354 #: src/panasonicmn.cpp:362 src/panasonicmn.cpp:379 src/panasonicmn.cpp:395 #: src/panasonicmn.cpp:404 src/panasonicmn.cpp:411 src/panasonicmn.cpp:429 #: src/pentaxmn.cpp:390 src/pentaxmn.cpp:983 src/pentaxmn.cpp:989 #: src/sonymn.cpp:56 src/sonymn.cpp:127 src/sonymn.cpp:188 src/sonymn.cpp:196 #: src/sonymn.cpp:203 src/sonymn.cpp:248 src/sonymn.cpp:255 src/sonymn.cpp:286 #: src/sonymn.cpp:549 msgid "Off" msgstr "Désactivé" #: src/canonmn.cpp:59 src/canonmn.cpp:427 src/canonmn.cpp:446 #: src/canonmn.cpp:1001 src/canonmn.cpp:1302 src/fujimn.cpp:57 #: src/fujimn.cpp:101 src/fujimn.cpp:141 src/minoltamn.cpp:85 #: src/minoltamn.cpp:1964 src/minoltamn.cpp:1976 src/nikonmn.cpp:63 #: src/nikonmn.cpp:648 src/nikonmn.cpp:724 src/nikonmn.cpp:725 #: src/nikonmn.cpp:1242 src/olympusmn.cpp:60 src/olympusmn.cpp:80 #: src/olympusmn.cpp:87 src/olympusmn.cpp:502 src/olympusmn.cpp:530 #: src/olympusmn.cpp:1568 src/panasonicmn.cpp:101 src/panasonicmn.cpp:289 #: src/panasonicmn.cpp:326 src/panasonicmn.cpp:363 src/panasonicmn.cpp:380 #: src/panasonicmn.cpp:430 src/pentaxmn.cpp:391 src/pentaxmn.cpp:984 #: src/sonymn.cpp:204 src/sonymn.cpp:256 src/sonymn.cpp:287 msgid "On" msgstr "Activé" #: src/canonmn.cpp:363 #, fuzzy msgid "Format 1" msgstr "Format du fichier" #: src/canonmn.cpp:364 #, fuzzy msgid "Format 2" msgstr "Format du fichier" #: src/canonmn.cpp:370 src/nikonmn.cpp:1233 #, fuzzy msgid "On (1)" msgstr "Activé" #: src/canonmn.cpp:371 src/nikonmn.cpp:1234 #, fuzzy msgid "On (2)" msgstr "Activé" #: src/canonmn.cpp:376 src/minoltamn.cpp:1146 src/nikonmn.cpp:136 #: src/olympusmn.cpp:601 src/olympusmn.cpp:781 src/olympusmn.cpp:846 #: src/pentaxmn.cpp:684 src/tags.cpp:1459 msgid "sRGB" msgstr "sRGB" #: src/canonmn.cpp:377 src/canonmn.cpp:1382 src/minoltamn.cpp:359 #: src/minoltamn.cpp:729 src/minoltamn.cpp:905 src/minoltamn.cpp:954 #: src/minoltamn.cpp:1147 src/nikonmn.cpp:137 src/olympusmn.cpp:602 #: src/olympusmn.cpp:782 src/olympusmn.cpp:847 src/pentaxmn.cpp:685 #: src/sonymn.cpp:531 src/sonymn.cpp:556 src/tags.cpp:1460 msgid "Adobe RGB" msgstr "Adobe RGB" #: src/canonmn.cpp:382 src/canonmn.cpp:385 src/canonmn.cpp:410 #: src/canonmn.cpp:411 src/canonmn.cpp:412 src/canonmn.cpp:1047 #: src/canonmn.cpp:1049 src/canonmn.cpp:1050 src/canonmn.cpp:1062 #: src/canonmn.cpp:1071 src/canonmn.cpp:1072 src/canonmn.cpp:1079 #: src/canonmn.cpp:1150 src/canonmn.cpp:1155 src/canonmn.cpp:1157 #: src/canonmn.cpp:1159 src/canonmn.cpp:1160 src/canonmn.cpp:1161 #: src/canonmn.cpp:1162 src/canonmn.cpp:1165 src/canonmn.cpp:1166 #: src/canonmn.cpp:1167 src/canonmn.cpp:1169 src/canonmn.cpp:1173 #: src/canonmn.cpp:1174 src/canonmn.cpp:1175 src/fujimn.cpp:214 #: src/fujimn.cpp:223 src/fujimn.cpp:232 src/nikonmn.cpp:240 #: src/nikonmn.cpp:306 src/nikonmn.cpp:463 src/nikonmn.cpp:484 #: src/nikonmn.cpp:493 src/nikonmn.cpp:541 src/nikonmn.cpp:593 #: src/nikonmn.cpp:596 src/nikonmn.cpp:599 src/nikonmn.cpp:1025 #: src/nikonmn.cpp:1047 src/nikonmn.cpp:1520 src/nikonmn.cpp:2676 #: src/olympusmn.cpp:186 src/olympusmn.cpp:325 src/olympusmn.cpp:328 #: src/olympusmn.cpp:334 src/olympusmn.cpp:349 src/olympusmn.cpp:352 #: src/olympusmn.cpp:355 src/olympusmn.cpp:358 src/olympusmn.cpp:361 #: src/olympusmn.cpp:364 src/olympusmn.cpp:367 src/olympusmn.cpp:370 #: src/olympusmn.cpp:376 src/olympusmn.cpp:379 src/olympusmn.cpp:412 #: src/olympusmn.cpp:415 src/olympusmn.cpp:418 src/olympusmn.cpp:421 #: src/olympusmn.cpp:1046 src/panasonicmn.cpp:444 src/panasonicmn.cpp:452 #: src/panasonicmn.cpp:457 src/panasonicmn.cpp:465 src/panasonicmn.cpp:532 #: src/pentaxmn.cpp:422 src/properties.cpp:834 src/properties.cpp:841 #: src/sonymn.cpp:342 src/sonymn.cpp:361 src/sonymn.cpp:367 src/sonymn.cpp:370 #: src/sonymn.cpp:379 src/sonymn.cpp:382 src/sonymn.cpp:385 src/sonymn.cpp:388 #: src/tags.cpp:1421 src/tags.cpp:1434 src/tags.cpp:1540 src/tags.cpp:2587 #: src/tags.cpp:2705 msgid "Unknown" msgstr "Inconnu" #: src/canonmn.cpp:383 src/olympusmn.cpp:450 src/sonymn.cpp:335 #: src/sonymn.cpp:336 msgid "Camera Settings" msgstr "Réglage appareil photo" #: src/canonmn.cpp:383 msgid "Various camera settings" msgstr "Divers réglages de l'appareil photo" #: src/canonmn.cpp:384 src/minoltamn.cpp:538 src/nikonmn.cpp:1369 #: src/nikonmn.cpp:1394 src/properties.cpp:589 src/properties.cpp:1158 #: src/tags.cpp:835 src/tags.cpp:1662 msgid "Focal Length" msgstr "Longueur focale" #: src/canonmn.cpp:386 src/sonymn.cpp:394 msgid "Shot Info" msgstr "Infos prise de vue" #: src/canonmn.cpp:386 msgid "Shot information" msgstr "Informations prise de vue" #: src/canonmn.cpp:387 src/olympusmn.cpp:101 src/olympusmn.cpp:1159 #: src/panasonicmn.cpp:158 src/sonymn.cpp:357 src/sonymn.cpp:358 msgid "Panorama" msgstr "Panorama" #: src/canonmn.cpp:388 src/datasets.cpp:396 src/properties.cpp:786 msgid "Image Type" msgstr "Type d'image" #: src/canonmn.cpp:388 msgid "Image type" msgstr "Type d'image" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 src/properties.cpp:1156 msgid "Firmware Version" msgstr "Version du microcode" #: src/canonmn.cpp:389 src/panasonicmn.cpp:442 msgid "Firmware version" msgstr "Version de microcode" #: src/canonmn.cpp:390 src/canonmn.cpp:1333 src/nikonmn.cpp:889 #, fuzzy msgid "File Number" msgstr "Nombre F" #: src/canonmn.cpp:390 src/nikonmn.cpp:889 #, fuzzy msgid "File number" msgstr "Nom du fichier" #: src/canonmn.cpp:391 msgid "Owner Name" msgstr "Nom du propriétaire" #: src/canonmn.cpp:392 src/fujimn.cpp:182 src/nikonmn.cpp:558 #: src/olympusmn.cpp:747 src/pentaxmn.cpp:1400 src/pentaxmn.cpp:1401 #: src/properties.cpp:659 src/sigmamn.cpp:56 msgid "Serial Number" msgstr "Numéro de série" #: src/canonmn.cpp:392 src/sigmamn.cpp:57 msgid "Camera serial number" msgstr "Numéro de série de l'appareil photo" #: src/canonmn.cpp:393 #, fuzzy msgid "Camera Info" msgstr "Identifiant appareil photo" #: src/canonmn.cpp:393 #, fuzzy msgid "Camera info" msgstr "Identifiant appareil photo" #: src/canonmn.cpp:394 src/canonmn.cpp:406 msgid "Custom Functions" msgstr "Fonctions personnalisées" #: src/canonmn.cpp:395 msgid "ModelID" msgstr "Modèle" #: src/canonmn.cpp:395 msgid "Model ID" msgstr "Numéro modèle" #: src/canonmn.cpp:396 src/olympusmn.cpp:219 msgid "Picture Info" msgstr "Infos image" #: src/canonmn.cpp:396 msgid "Picture info" msgstr "Infos image" #: src/canonmn.cpp:397 #, fuzzy msgid "Thumbnail Image Valid Area" msgstr "Miniature" #: src/canonmn.cpp:397 #, fuzzy msgid "Thumbnail image valid area" msgstr "Miniature" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial Number Format" msgstr "Numéro de série 2" #: src/canonmn.cpp:398 #, fuzzy msgid "Serial number format" msgstr "Numéro de série 2" #: src/canonmn.cpp:399 src/minoltamn.cpp:2095 src/olympusmn.cpp:110 #: src/olympusmn.cpp:503 src/pentaxmn.cpp:271 #, fuzzy msgid "Super Macro" msgstr "Super macro" #: src/canonmn.cpp:399 src/canonmn.cpp:507 src/canonmn.cpp:577 #: src/olympusmn.cpp:81 msgid "Super macro" msgstr "Super macro" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 #, fuzzy msgid "AF Info" msgstr "Informations mise au point" #: src/canonmn.cpp:400 src/nikonmn.cpp:575 #, fuzzy msgid "AF info" msgstr "Informations mise au point" #: src/canonmn.cpp:401 msgid "Original Decision Data Offset" msgstr "" #: src/canonmn.cpp:401 msgid "Original decision data offset" msgstr "" #: src/canonmn.cpp:402 msgid "White Balance Table" msgstr "Table de balance des blancs" #: src/canonmn.cpp:402 msgid "White balance table" msgstr "Table de balance des blancs" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 src/properties.cpp:406 #: src/properties.cpp:1199 src/tags.cpp:1857 #, fuzzy msgid "Lens Model" msgstr "Mode scène" #: src/canonmn.cpp:403 src/olympusmn.cpp:753 #, fuzzy msgid "Lens model" msgstr "Mode scène" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 src/panasonicmn.cpp:455 #, fuzzy msgid "Internal Serial Number" msgstr "Numéro de série de l'appareil photo" #: src/canonmn.cpp:404 src/olympusmn.cpp:748 #, fuzzy msgid "Internal serial number" msgstr "Numéro de série de l'appareil photo" #: src/canonmn.cpp:405 msgid "Dust Removal Data" msgstr "" #: src/canonmn.cpp:405 msgid "Dust removal data" msgstr "" #: src/canonmn.cpp:406 #, fuzzy msgid "Custom functions" msgstr "Fonctions personnalisées" #: src/canonmn.cpp:407 #, fuzzy msgid "Processing Info" msgstr "Logiciel de traitement" #: src/canonmn.cpp:407 #, fuzzy msgid "Processing info" msgstr "Logiciel de traitement" #: src/canonmn.cpp:408 #, fuzzy msgid "Measured Color" msgstr "Couleur naturelle" #: src/canonmn.cpp:408 #, fuzzy msgid "Measured color" msgstr "Couleur naturelle" #: src/canonmn.cpp:409 #, fuzzy msgid "ColorSpace" msgstr "Espace des couleurs" #: src/canonmn.cpp:413 #, fuzzy msgid "VRD Offset" msgstr "décalage" #: src/canonmn.cpp:413 #, fuzzy msgid "VRD offset" msgstr "décalage" #: src/canonmn.cpp:414 #, fuzzy msgid "Sensor Info" msgstr "Objectif" #: src/canonmn.cpp:414 #, fuzzy msgid "Sensor info" msgstr "Infos prise de vue" #: src/canonmn.cpp:415 #, fuzzy msgid "Color Data" msgstr "Matrice des couleurs" #: src/canonmn.cpp:415 #, fuzzy msgid "Color data" msgstr "Données de mes couleurs" #: src/canonmn.cpp:417 msgid "Unknown CanonMakerNote tag" msgstr "Marqueur de note du fabriquant Canon inconnu" #: src/canonmn.cpp:433 src/minoltamn.cpp:78 src/minoltamn.cpp:246 #: src/minoltamn.cpp:677 src/minoltamn.cpp:863 src/minoltamn.cpp:2113 #: src/panasonicmn.cpp:126 msgid "Economy" msgstr "Économie" #: src/canonmn.cpp:434 src/canonmn.cpp:533 src/fujimn.cpp:64 src/fujimn.cpp:84 #: src/fujimn.cpp:93 src/minoltamn.cpp:304 src/minoltamn.cpp:675 #: src/minoltamn.cpp:861 src/nikonmn.cpp:70 src/nikonmn.cpp:78 #: src/nikonmn.cpp:209 src/nikonmn.cpp:434 src/olympusmn.cpp:150 #: src/olympusmn.cpp:162 src/olympusmn.cpp:170 src/olympusmn.cpp:1115 #: src/olympusmn.cpp:1157 src/panasonicmn.cpp:57 src/panasonicmn.cpp:110 #: src/panasonicmn.cpp:214 src/panasonicmn.cpp:260 src/panasonicmn.cpp:385 #: src/pentaxmn.cpp:267 src/pentaxmn.cpp:443 src/pentaxmn.cpp:458 #: src/pentaxmn.cpp:471 src/sonymn.cpp:180 src/sonymn.cpp:265 #: src/sonymn.cpp:271 src/tags.cpp:1526 src/tags.cpp:1533 msgid "Normal" msgstr "Normal" #: src/canonmn.cpp:435 src/minoltamn.cpp:76 src/minoltamn.cpp:244 #: src/minoltamn.cpp:674 src/minoltamn.cpp:860 src/minoltamn.cpp:2057 #: src/minoltamn.cpp:2111 src/sonymn.cpp:181 msgid "Fine" msgstr "Fin" #: src/canonmn.cpp:436 src/olympusmn.cpp:649 src/pentaxmn.cpp:203 msgid "RAW" msgstr "BRUT" #: src/canonmn.cpp:437 msgid "Superfine" msgstr "Super fin" #: src/canonmn.cpp:438 #, fuzzy msgid "Normal Movie" msgstr "Processus normal" #: src/canonmn.cpp:439 #, fuzzy msgid "Movie (2)" msgstr "Film" #: src/canonmn.cpp:445 src/canonmn.cpp:541 src/canonmn.cpp:569 #: src/canonmn.cpp:1096 src/canonmn.cpp:1303 src/canonmn.cpp:1398 #: src/fujimn.cpp:71 src/fujimn.cpp:100 src/fujimn.cpp:109 src/fujimn.cpp:115 #: src/minoltamn.cpp:218 src/minoltamn.cpp:324 src/minoltamn.cpp:659 #: src/minoltamn.cpp:682 src/minoltamn.cpp:716 src/minoltamn.cpp:839 #: src/minoltamn.cpp:868 src/minoltamn.cpp:888 src/minoltamn.cpp:1123 #: src/minoltamn.cpp:1186 src/minoltamn.cpp:1239 src/minoltamn.cpp:2029 #: src/minoltamn.cpp:2096 src/minoltamn.cpp:2145 src/nikonmn.cpp:81 #: src/nikonmn.cpp:451 src/olympusmn.cpp:94 src/olympusmn.cpp:156 #: src/olympusmn.cpp:559 src/olympusmn.cpp:565 src/olympusmn.cpp:611 #: src/olympusmn.cpp:1206 src/olympusmn.cpp:1217 src/olympusmn.cpp:1218 #: src/panasonicmn.cpp:67 src/panasonicmn.cpp:81 src/pentaxmn.cpp:56 #: src/pentaxmn.cpp:283 src/pentaxmn.cpp:409 src/sonymn.cpp:57 #: src/sonymn.cpp:130 src/sonymn.cpp:145 src/sonymn.cpp:210 src/sonymn.cpp:249 #: src/sonymn.cpp:548 src/sonymn.cpp:565 src/tags.cpp:1410 src/tags.cpp:1495 #: src/tags.cpp:1502 msgid "Auto" msgstr "Automatique" #: src/canonmn.cpp:447 src/olympusmn.cpp:532 msgid "Red-eye" msgstr "Réduction yeux rouges" #: src/canonmn.cpp:448 msgid "Slow sync" msgstr "Synchro lente" #: src/canonmn.cpp:449 msgid "Auto + red-eye" msgstr "Flash automatique + réduction yeux rouges" #: src/canonmn.cpp:450 msgid "On + red-eye" msgstr "Flash + réduction yeux rouges" #: src/canonmn.cpp:451 src/canonmn.cpp:452 src/minoltamn.cpp:1343 #: src/nikonmn.cpp:924 src/olympusmn.cpp:144 msgid "External" msgstr "Externe" #: src/canonmn.cpp:457 msgid "Single / timer" msgstr "Temporisateur" #: src/canonmn.cpp:458 src/canonmn.cpp:472 src/canonmn.cpp:986 #: src/fujimn.cpp:225 src/minoltamn.cpp:253 src/minoltamn.cpp:1101 #: src/minoltamn.cpp:1153 src/nikonmn.cpp:151 src/nikonmn.cpp:164 #: src/pentaxmn.cpp:661 msgid "Continuous" msgstr "Continue" #: src/canonmn.cpp:459 src/olympusmn.cpp:103 msgid "Movie" msgstr "Film" #: src/canonmn.cpp:460 msgid "Continuous, speed priority" msgstr "Continue, Priorité vitesse obturation" #: src/canonmn.cpp:461 msgid "Continuous, low" msgstr "Continue, basse" #: src/canonmn.cpp:462 msgid "Continuous, high" msgstr "Continue, Haute" #: src/canonmn.cpp:467 msgid "One shot AF" msgstr "AF One Shot" #: src/canonmn.cpp:468 msgid "AI servo AF" msgstr "AF AI Servo" #: src/canonmn.cpp:469 msgid "AI focus AF" msgstr "AF AI Focus" #: src/canonmn.cpp:470 src/canonmn.cpp:473 src/minoltamn.cpp:374 msgid "Manual focus" msgstr "Mise au point manuel" #: src/canonmn.cpp:471 src/canonmn.cpp:985 src/sonymn.cpp:280 msgid "Single" msgstr "Simple" #: src/canonmn.cpp:474 src/canonmn.cpp:475 src/canonmn.cpp:502 #: src/canonmn.cpp:576 msgid "Pan focus" msgstr "Continue" #: src/canonmn.cpp:480 src/canonmn.cpp:1285 src/minoltamn.cpp:666 #: src/minoltamn.cpp:852 src/sonymn.cpp:583 msgid "Large" msgstr "Grande" #: src/canonmn.cpp:481 src/canonmn.cpp:1028 src/canonmn.cpp:1286 #: src/minoltamn.cpp:667 src/minoltamn.cpp:853 src/minoltamn.cpp:1226 #: src/properties.cpp:1220 src/sonymn.cpp:584 msgid "Medium" msgstr "Moyenne" #: src/canonmn.cpp:482 src/canonmn.cpp:1287 src/minoltamn.cpp:668 #: src/minoltamn.cpp:854 src/minoltamn.cpp:1227 src/sonymn.cpp:585 msgid "Small" msgstr "Petite" #: src/canonmn.cpp:483 src/canonmn.cpp:1288 msgid "Medium 1" msgstr "Moyenne 1" #: src/canonmn.cpp:484 src/canonmn.cpp:1289 msgid "Medium 2" msgstr "Moyenne 2" #: src/canonmn.cpp:485 src/canonmn.cpp:1290 msgid "Medium 3" msgstr "Moyenne 3" #: src/canonmn.cpp:490 msgid "Full auto" msgstr "Complètement automatique" #: src/canonmn.cpp:491 src/canonmn.cpp:568 src/canonmn.cpp:974 #: src/canonmn.cpp:1362 src/fujimn.cpp:110 src/fujimn.cpp:135 #: src/minoltamn.cpp:204 src/minoltamn.cpp:658 src/minoltamn.cpp:689 #: src/minoltamn.cpp:690 src/minoltamn.cpp:697 src/minoltamn.cpp:838 #: src/minoltamn.cpp:876 src/minoltamn.cpp:1285 src/nikonmn.cpp:996 #: src/olympusmn.cpp:157 src/olympusmn.cpp:482 src/olympusmn.cpp:560 #: src/panasonicmn.cpp:71 src/panasonicmn.cpp:74 src/panasonicmn.cpp:82 #: src/panasonicmn.cpp:120 src/pentaxmn.cpp:58 src/pentaxmn.cpp:270 #: src/pentaxmn.cpp:414 src/pentaxmn.cpp:620 src/pentaxmn.cpp:633 #: src/sigmamn.cpp:157 src/sonymn.cpp:160 src/sonymn.cpp:211 #: src/sonymn.cpp:509 src/sonymn.cpp:566 src/tags.cpp:1409 src/tags.cpp:1496 #: src/tags.cpp:1503 msgid "Manual" msgstr "Manuel" #: src/canonmn.cpp:492 src/canonmn.cpp:1394 src/fujimn.cpp:117 #: src/minoltamn.cpp:66 src/minoltamn.cpp:846 src/minoltamn.cpp:1940 #: src/minoltamn.cpp:2092 src/olympusmn.cpp:98 src/pentaxmn.cpp:585 #: src/pentaxmn.cpp:972 src/sonymn.cpp:150 src/sonymn.cpp:527 #: src/sonymn.cpp:576 src/tags.cpp:1509 msgid "Landscape" msgstr "Paysage" #: src/canonmn.cpp:493 msgid "Fast shutter" msgstr "Obturation rapide" #: src/canonmn.cpp:494 msgid "Slow shutter" msgstr "Obturation lente" #: src/canonmn.cpp:495 src/minoltamn.cpp:68 src/minoltamn.cpp:951 #: src/minoltamn.cpp:2089 src/olympusmn.cpp:99 src/pentaxmn.cpp:591 msgid "Night Scene" msgstr "Scène de nuit" #: src/canonmn.cpp:496 msgid "Gray scale" msgstr "Niveaux de gris" #: src/canonmn.cpp:497 src/canonmn.cpp:1017 src/canonmn.cpp:1325 #: src/minoltamn.cpp:61 src/nikonmn.cpp:192 src/nikonmn.cpp:685 #: src/olympusmn.cpp:621 src/olympusmn.cpp:638 src/olympusmn.cpp:863 #: src/olympusmn.cpp:878 src/panasonicmn.cpp:201 src/sonymn.cpp:537 msgid "Sepia" msgstr "Sépia" #: src/canonmn.cpp:498 src/canonmn.cpp:1380 src/canonmn.cpp:1393 #: src/fujimn.cpp:116 src/minoltamn.cpp:63 src/minoltamn.cpp:311 #: src/minoltamn.cpp:842 src/minoltamn.cpp:948 src/minoltamn.cpp:1939 #: src/minoltamn.cpp:2087 src/olympusmn.cpp:96 src/olympusmn.cpp:619 #: src/panasonicmn.cpp:111 src/panasonicmn.cpp:374 src/pentaxmn.cpp:584 #: src/pentaxmn.cpp:971 src/sonymn.cpp:146 src/sonymn.cpp:526 #: src/sonymn.cpp:572 src/tags.cpp:1510 msgid "Portrait" msgstr "Portrait" #: src/canonmn.cpp:499 src/fujimn.cpp:118 src/minoltamn.cpp:843 #: src/minoltamn.cpp:2091 src/panasonicmn.cpp:113 src/sonymn.cpp:148 #: src/sonymn.cpp:573 msgid "Sports" msgstr "Sports" #: src/canonmn.cpp:500 msgid "Macro / close-up" msgstr "Macro / gros plan" #: src/canonmn.cpp:501 src/fujimn.cpp:149 msgid "Black & white" msgstr "Noir & Blanc" #: src/canonmn.cpp:503 src/canonmn.cpp:1014 src/olympusmn.cpp:134 #: src/olympusmn.cpp:616 src/olympusmn.cpp:859 src/panasonicmn.cpp:262 #: src/panasonicmn.cpp:370 src/sonymn.cpp:525 src/sonymn.cpp:555 msgid "Vivid" msgstr "Vif" #: src/canonmn.cpp:504 src/canonmn.cpp:1015 src/canonmn.cpp:1395 #: src/minoltamn.cpp:1945 src/minoltamn.cpp:1946 src/olympusmn.cpp:627 #: src/olympusmn.cpp:637 src/olympusmn.cpp:868 src/olympusmn.cpp:877 #: src/sonymn.cpp:532 src/sonymn.cpp:557 msgid "Neutral" msgstr "Neutre" #: src/canonmn.cpp:505 msgid "Flash off" msgstr "Flash désactivé" #: src/canonmn.cpp:506 msgid "Long shutter" msgstr "Temps de pose lent" #: src/canonmn.cpp:508 msgid "Foliage" msgstr "Feuillage" #: src/canonmn.cpp:509 src/olympusmn.cpp:106 msgid "Indoor" msgstr "Intérieur" #: src/canonmn.cpp:510 src/fujimn.cpp:131 src/olympusmn.cpp:107 #: src/panasonicmn.cpp:127 src/sonymn.cpp:158 msgid "Fireworks" msgstr "Feux d'artifices" #: src/canonmn.cpp:511 src/fujimn.cpp:129 src/olympusmn.cpp:129 #: src/panasonicmn.cpp:139 src/sonymn.cpp:147 msgid "Beach" msgstr "Plage" #: src/canonmn.cpp:512 src/canonmn.cpp:1112 src/fujimn.cpp:132 #: src/olympusmn.cpp:579 src/panasonicmn.cpp:138 src/sonymn.cpp:164 msgid "Underwater" msgstr "Sous marin" #: src/canonmn.cpp:513 src/fujimn.cpp:130 src/olympusmn.cpp:130 #: src/panasonicmn.cpp:129 src/sonymn.cpp:149 msgid "Snow" msgstr "Neige" #: src/canonmn.cpp:514 msgid "Kids & pets" msgstr "Enfants & animaux" #: src/canonmn.cpp:515 msgid "Night SnapShot" msgstr "Instantané de nuit" #: src/canonmn.cpp:516 msgid "Digital macro" msgstr "Zoom numérique" #: src/canonmn.cpp:517 msgid "My Colors" msgstr "Mes couleurs" #: src/canonmn.cpp:518 src/minoltamn.cpp:343 msgid "Still image" msgstr "Image fixe" #: src/canonmn.cpp:526 src/canonmn.cpp:527 src/properties.cpp:884 #: src/properties.cpp:906 src/tags.cpp:1428 src/tags.cpp:1429 msgid "Other" msgstr "Autre" #: src/canonmn.cpp:532 src/canonmn.cpp:1029 src/canonmn.cpp:1370 #: src/fujimn.cpp:86 src/fujimn.cpp:95 src/minoltamn.cpp:1168 #: src/minoltamn.cpp:1174 src/minoltamn.cpp:1180 src/minoltamn.cpp:1349 #: src/nikonmn.cpp:69 src/nikonmn.cpp:77 src/nikonmn.cpp:208 #: src/olympusmn.cpp:171 src/olympusmn.cpp:1141 src/panasonicmn.cpp:215 #: src/panasonicmn.cpp:219 src/panasonicmn.cpp:332 src/panasonicmn.cpp:346 #: src/panasonicmn.cpp:355 src/pentaxmn.cpp:442 src/pentaxmn.cpp:457 #: src/sonymn.cpp:263 src/tags.cpp:1534 msgid "Low" msgstr "Faible" #: src/canonmn.cpp:534 src/canonmn.cpp:1372 src/fujimn.cpp:85 #: src/fujimn.cpp:94 src/minoltamn.cpp:1169 src/minoltamn.cpp:1175 #: src/minoltamn.cpp:1181 src/nikonmn.cpp:71 src/nikonmn.cpp:79 #: src/nikonmn.cpp:210 src/olympusmn.cpp:169 src/olympusmn.cpp:1143 #: src/panasonicmn.cpp:56 src/panasonicmn.cpp:216 src/panasonicmn.cpp:221 #: src/panasonicmn.cpp:222 src/panasonicmn.cpp:334 src/panasonicmn.cpp:348 #: src/panasonicmn.cpp:357 src/pentaxmn.cpp:444 src/pentaxmn.cpp:459 #: src/sonymn.cpp:266 src/tags.cpp:1535 msgid "High" msgstr "Élevée" #: src/canonmn.cpp:539 src/canonmn.cpp:1026 src/canonmn.cpp:1030 #: src/canonmn.cpp:1035 src/canonmn.cpp:1368 src/nikonmn.cpp:679 #: src/nikonmn.cpp:694 src/nikonmn.cpp:930 src/nikonmn.cpp:985 #: src/nikonmn.cpp:1240 src/olympusmn.cpp:626 src/olympusmn.cpp:636 #: src/panasonicmn.cpp:318 src/panasonicmn.cpp:657 src/pentaxmn.cpp:205 #: src/sonymn.cpp:175 src/sonymn.cpp:183 src/sonymn.cpp:191 src/sonymn.cpp:230 #: src/sonymn.cpp:243 src/sonymn.cpp:250 src/sonymn.cpp:258 src/sonymn.cpp:264 #: src/sonymn.cpp:275 src/sonymn.cpp:281 src/sonymn.cpp:288 msgid "n/a" msgstr "n/a" #: src/canonmn.cpp:540 #, fuzzy msgid "Auto High" msgstr "Auto (lumière du jour)" #: src/canonmn.cpp:558 src/sonymn.cpp:235 msgid "Default" msgstr "Défaut" #: src/canonmn.cpp:559 src/minoltamn.cpp:265 src/minoltamn.cpp:883 #: src/minoltamn.cpp:933 src/minoltamn.cpp:1133 src/minoltamn.cpp:1991 #: src/olympusmn.cpp:492 src/panasonicmn.cpp:119 src/pentaxmn.cpp:404 #: src/sonymn.cpp:519 src/tags.cpp:1424 msgid "Spot" msgstr "Spot" #: src/canonmn.cpp:560 src/sigmamn.cpp:168 src/tags.cpp:1422 msgid "Average" msgstr "Moyenne" #: src/canonmn.cpp:561 msgid "Evaluative" msgstr "Évaluatif" #: src/canonmn.cpp:562 src/tags.cpp:1427 msgid "Partial" msgstr "Partielle" #: src/canonmn.cpp:563 src/minoltamn.cpp:882 msgid "Center weighted" msgstr "Centre pondéré" #: src/canonmn.cpp:570 msgid "Not known" msgstr "Non connu" #: src/canonmn.cpp:571 src/canonmn.cpp:1042 src/fujimn.cpp:207 #: src/minoltamn.cpp:847 src/minoltamn.cpp:2094 src/olympusmn.cpp:109 #: src/olympusmn.cpp:151 src/olympusmn.cpp:201 src/panasonicmn.cpp:118 #: src/panasonicmn.cpp:276 src/panasonicmn.cpp:277 src/panasonicmn.cpp:448 #: src/pentaxmn.cpp:268 src/pentaxmn.cpp:586 src/sonymn.cpp:162 #: src/sonymn.cpp:439 src/sonymn.cpp:440 src/sonymn.cpp:577 src/tags.cpp:1541 msgid "Macro" msgstr "Macro" #: src/canonmn.cpp:572 msgid "Very close" msgstr "Très près" #: src/canonmn.cpp:573 msgid "Close" msgstr "Près" #: src/canonmn.cpp:574 #, fuzzy msgid "Middle range" msgstr "Modèle" #: src/canonmn.cpp:575 msgid "Far range" msgstr "Loin" #: src/canonmn.cpp:578 src/olympusmn.cpp:1587 src/pentaxmn.cpp:269 #: src/tags.cpp:2590 msgid "Infinity" msgstr "Infinie" #: src/canonmn.cpp:583 msgid "Manual AF point selection" msgstr "Sélection point AF manuelle" #: src/canonmn.cpp:584 msgid "None (MF)" msgstr "Aucun (MF)" #: src/canonmn.cpp:585 msgid "Auto-selected" msgstr "Sélection automatique" #: src/canonmn.cpp:586 src/minoltamn.cpp:287 src/minoltamn.cpp:706 #: src/minoltamn.cpp:921 src/minoltamn.cpp:2006 src/nikonmn.cpp:103 #: src/olympusmn.cpp:1610 src/pentaxmn.cpp:296 src/pentaxmn.cpp:311 msgid "Right" msgstr "Droit" #: src/canonmn.cpp:587 src/canonmn.cpp:1007 src/minoltamn.cpp:284 #: src/minoltamn.cpp:703 src/minoltamn.cpp:2003 src/nikonmn.cpp:99 #: src/nikonmn.cpp:808 src/nikonmn.cpp:823 src/pentaxmn.cpp:294 #: src/pentaxmn.cpp:310 src/sigmamn.cpp:169 msgid "Center" msgstr "Centre" #: src/canonmn.cpp:588 src/minoltamn.cpp:291 src/minoltamn.cpp:710 #: src/minoltamn.cpp:925 src/minoltamn.cpp:2010 src/nikonmn.cpp:102 #: src/pentaxmn.cpp:292 src/pentaxmn.cpp:309 msgid "Left" msgstr "Gauche" #: src/canonmn.cpp:589 msgid "Auto AF point selection" msgstr "Sélection point AF automatique" #: src/canonmn.cpp:594 msgid "Easy shooting (Auto)" msgstr "Prise de vue facile (Auto)" #: src/canonmn.cpp:595 msgid "Program (P)" msgstr "Programme (P)" #: src/canonmn.cpp:596 msgid "Shutter priority (Tv)" msgstr "Priorité obturation (Tv)" #: src/canonmn.cpp:597 msgid "Aperture priority (Av)" msgstr "Priorité ouverture (Av)" #: src/canonmn.cpp:598 msgid "Manual (M)" msgstr "Manuel (M)" #: src/canonmn.cpp:599 msgid "A-DEP" msgstr "A-DEP" #: src/canonmn.cpp:600 msgid "M-DEP" msgstr "M-DEP" #: src/canonmn.cpp:966 src/minoltamn.cpp:297 src/nikonmn.cpp:142 msgid "Did not fire" msgstr "Le flash ne s'est pas déclenché." #: src/canonmn.cpp:967 src/minoltamn.cpp:298 src/nikonmn.cpp:1003 #: src/panasonicmn.cpp:252 src/tags.cpp:369 msgid "Fired" msgstr "Déclenché" #: src/canonmn.cpp:972 src/olympusmn.cpp:1016 msgid "External flash" msgstr "Flash externe" #: src/canonmn.cpp:973 src/olympusmn.cpp:1020 msgid "Internal flash" msgstr "Flash interne" #: src/canonmn.cpp:975 src/olympusmn.cpp:558 src/sonymn.cpp:543 msgid "TTL" msgstr "TTL" #: src/canonmn.cpp:976 msgid "A-TTL" msgstr "A-TTL" #: src/canonmn.cpp:977 msgid "E-TTL" msgstr "E-TTL" #: src/canonmn.cpp:978 msgid "FP sync enabled" msgstr "Synchronisation grande vitesse activée" #: src/canonmn.cpp:979 msgid "2nd-curtain sync used" msgstr "Synchronisation 2ème rideau activé" #: src/canonmn.cpp:980 msgid "FP sync used" msgstr "Synchronisation grande vitesse utilisé" #: src/canonmn.cpp:991 msgid "Normal AE" msgstr "AE Normal" #: src/canonmn.cpp:992 src/minoltamn.cpp:527 src/minoltamn.cpp:769 #: src/minoltamn.cpp:1049 src/pentaxmn.cpp:1199 src/pentaxmn.cpp:1200 msgid "Exposure compensation" msgstr "Compensation d'exposition" #: src/canonmn.cpp:993 src/minoltamn.cpp:1579 src/pentaxmn.cpp:1301 #: src/pentaxmn.cpp:1302 msgid "AE lock" msgstr "AE verrouillé" #: src/canonmn.cpp:994 msgid "AE lock + exposure compensation" msgstr "AE verrouillé + compensation d'exposition" #: src/canonmn.cpp:995 msgid "No AE" msgstr "Pas d'AE" #: src/canonmn.cpp:1002 #, fuzzy msgid "On, shot only" msgstr "AF One Shot" #: src/canonmn.cpp:1008 src/canonmn.cpp:1060 src/nikonmn.cpp:839 #: src/olympusmn.cpp:1015 msgid "AF Point" msgstr "Point AF" #: src/canonmn.cpp:1016 #, fuzzy msgid "Smooth" msgstr "mois" #: src/canonmn.cpp:1018 src/nikonmn.cpp:684 msgid "B&W" msgstr "N&B" #: src/canonmn.cpp:1019 src/canonmn.cpp:1102 src/canonmn.cpp:1363 #: src/fujimn.cpp:78 src/fujimn.cpp:79 src/minoltamn.cpp:222 #: src/minoltamn.cpp:1188 src/minoltamn.cpp:1191 src/minoltamn.cpp:2153 #: src/pentaxmn.cpp:993 msgid "Custom" msgstr "Personnel" #: src/canonmn.cpp:1020 src/canonmn.cpp:1021 msgid "My color data" msgstr "Données de mes couleurs" #: src/canonmn.cpp:1027 src/pentaxmn.cpp:211 msgid "Full" msgstr "Plein" #: src/canonmn.cpp:1036 msgid "sRAW1 (mRAW)" msgstr "" #: src/canonmn.cpp:1037 msgid "sRAW2 (sRAW)" msgstr "" #: src/canonmn.cpp:1043 msgid "Selftimer" msgstr "Retardateur" #: src/canonmn.cpp:1043 src/panasonicmn.cpp:464 msgid "Self timer" msgstr "Retardateur" #: src/canonmn.cpp:1044 src/fujimn.cpp:186 src/minoltamn.cpp:1488 #: src/minoltamn.cpp:1489 src/nikonmn.cpp:224 src/nikonmn.cpp:465 #: src/nikonmn.cpp:535 src/olympusmn.cpp:198 src/panasonicmn.cpp:441 #: src/sigmamn.cpp:113 src/sigmamn.cpp:114 src/sonymn.cpp:696 #: src/sonymn.cpp:697 msgid "Quality" msgstr "Qualité" #: src/canonmn.cpp:1045 src/fujimn.cpp:201 src/minoltamn.cpp:493 #: src/minoltamn.cpp:762 src/nikonmn.cpp:574 src/olympusmn.cpp:279 #: src/olympusmn.cpp:676 msgid "Flash Mode" msgstr "Mode flash" #: src/canonmn.cpp:1045 msgid "Flash mode setting" msgstr "Réglage mode flash" #: src/canonmn.cpp:1046 src/minoltamn.cpp:505 src/minoltamn.cpp:1431 #: src/olympusmn.cpp:706 src/sigmamn.cpp:59 src/sonymn.cpp:608 #: src/sonymn.cpp:609 msgid "Drive Mode" msgstr "Mode contrôle" #: src/canonmn.cpp:1046 msgid "Drive mode setting" msgstr "Réglage mode contrôle" #: src/canonmn.cpp:1048 src/fujimn.cpp:210 src/minoltamn.cpp:622 #: src/minoltamn.cpp:753 src/minoltamn.cpp:1039 src/minoltamn.cpp:1383 #: src/nikonmn.cpp:480 src/olympusmn.cpp:300 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/properties.cpp:1159 src/sonymn.cpp:445 #: src/sonymn.cpp:446 src/sonymn.cpp:615 src/sonymn.cpp:616 src/sonymn.cpp:721 #: src/sonymn.cpp:722 msgid "Focus Mode" msgstr "Mode mise au point" #: src/canonmn.cpp:1048 msgid "Focus mode setting" msgstr "Réglage mode de mise au point" #: src/canonmn.cpp:1051 src/minoltamn.cpp:499 src/minoltamn.cpp:744 #: src/minoltamn.cpp:991 msgid "Image Size" msgstr "Taille de l'image" #: src/canonmn.cpp:1052 msgid "Easy Mode" msgstr "Mode prise de vue" #: src/canonmn.cpp:1052 msgid "Easy shooting mode" msgstr "Mode de prise de vue" #: src/canonmn.cpp:1053 src/minoltamn.cpp:523 src/nikonmn.cpp:257 #: src/nikonmn.cpp:486 src/nikonmn.cpp:573 src/olympusmn.cpp:207 msgid "Digital Zoom" msgstr "Zoom numérique" #: src/canonmn.cpp:1053 src/minoltamn.cpp:524 src/pentaxmn.cpp:1224 #: src/pentaxmn.cpp:1225 msgid "Digital zoom" msgstr "Zoom numérique" #: src/canonmn.cpp:1054 src/minoltamn.cpp:386 src/minoltamn.cpp:574 #: src/minoltamn.cpp:575 src/minoltamn.cpp:777 src/minoltamn.cpp:778 #: src/minoltamn.cpp:1021 src/minoltamn.cpp:1022 src/minoltamn.cpp:1419 #: src/minoltamn.cpp:1420 src/nikonmn.cpp:705 src/olympusmn.cpp:390 #: src/olympusmn.cpp:807 src/panasonicmn.cpp:462 src/panasonicmn.cpp:473 #: src/pentaxmn.cpp:1130 src/pentaxmn.cpp:1230 src/pentaxmn.cpp:1231 #: src/properties.cpp:468 src/properties.cpp:614 src/properties.cpp:1097 #: src/sigmamn.cpp:89 src/sigmamn.cpp:90 src/sonymn.cpp:373 src/sonymn.cpp:642 #: src/sonymn.cpp:643 src/sonymn.cpp:748 src/sonymn.cpp:749 src/tags.cpp:1814 msgid "Contrast" msgstr "Contraste" #: src/canonmn.cpp:1054 src/fujimn.cpp:199 src/olympusmn.cpp:391 #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 src/panasonicmn.cpp:462 msgid "Contrast setting" msgstr "Réglage de contraste" #: src/canonmn.cpp:1055 src/minoltamn.cpp:387 src/minoltamn.cpp:571 #: src/minoltamn.cpp:572 src/minoltamn.cpp:780 src/minoltamn.cpp:781 #: src/minoltamn.cpp:1024 src/minoltamn.cpp:1025 src/minoltamn.cpp:1422 #: src/minoltamn.cpp:1423 src/nikonmn.cpp:586 src/nikonmn.cpp:605 #: src/nikonmn.cpp:707 src/olympusmn.cpp:806 src/olympusmn.cpp:905 #: src/panasonicmn.cpp:480 src/pentaxmn.cpp:1124 src/pentaxmn.cpp:1227 #: src/pentaxmn.cpp:1228 src/properties.cpp:486 src/properties.cpp:615 #: src/properties.cpp:1295 src/sigmamn.cpp:98 src/sigmamn.cpp:99 #: src/sonymn.cpp:376 src/sonymn.cpp:645 src/sonymn.cpp:646 src/sonymn.cpp:751 #: src/sonymn.cpp:752 src/tags.cpp:1818 msgid "Saturation" msgstr "Saturation" #: src/canonmn.cpp:1055 src/olympusmn.cpp:1085 msgid "Saturation setting" msgstr "Réglage de saturation" #: src/canonmn.cpp:1056 src/canonmn.cpp:1405 src/fujimn.cpp:189 #: src/minoltamn.cpp:577 src/minoltamn.cpp:578 src/minoltamn.cpp:774 #: src/minoltamn.cpp:775 src/minoltamn.cpp:1018 src/minoltamn.cpp:1019 #: src/minoltamn.cpp:1416 src/minoltamn.cpp:1417 src/nikonmn.cpp:704 #: src/olympusmn.cpp:808 src/panasonicmn.cpp:481 src/pentaxmn.cpp:1127 #: src/pentaxmn.cpp:1233 src/pentaxmn.cpp:1234 src/properties.cpp:489 #: src/properties.cpp:616 src/properties.cpp:1301 src/sigmamn.cpp:101 #: src/sigmamn.cpp:102 src/sonymn.cpp:639 src/sonymn.cpp:640 #: src/sonymn.cpp:745 src/sonymn.cpp:746 src/tags.cpp:1822 msgid "Sharpness" msgstr "Netteté" #: src/canonmn.cpp:1056 src/fujimn.cpp:190 src/olympusmn.cpp:688 #: src/olympusmn.cpp:1088 msgid "Sharpness setting" msgstr "Réglage de Netteté" #: src/canonmn.cpp:1057 src/minoltamn.cpp:765 src/minoltamn.cpp:1012 msgid "ISO Speed Mode" msgstr "Mode vitesse ISO" #: src/canonmn.cpp:1057 src/minoltamn.cpp:766 src/minoltamn.cpp:1013 #: src/nikonmn.cpp:219 src/nikonmn.cpp:475 src/nikonmn.cpp:533 #: src/panasonicmn.cpp:734 msgid "ISO speed setting" msgstr "Réglage vitesse ISO" #: src/canonmn.cpp:1058 src/minoltamn.cpp:508 src/minoltamn.cpp:1009 #: src/minoltamn.cpp:1398 src/olympusmn.cpp:667 src/properties.cpp:586 #: src/properties.cpp:1223 src/sigmamn.cpp:77 src/sonymn.cpp:624 #: src/sonymn.cpp:625 src/sonymn.cpp:730 src/sonymn.cpp:731 src/tags.cpp:832 #: src/tags.cpp:1653 msgid "Metering Mode" msgstr "Mode de mesure" #: src/canonmn.cpp:1058 msgid "Metering mode setting" msgstr "Réglages mode mesure" #: src/canonmn.cpp:1059 msgid "Focus Type" msgstr "Type de mise au point" #: src/canonmn.cpp:1059 msgid "Focus type setting" msgstr "Réglage mise au point" #: src/canonmn.cpp:1060 msgid "AF point selected" msgstr "Point AF sélectionné" #: src/canonmn.cpp:1061 src/properties.cpp:575 src/properties.cpp:1146 #: src/sonymn.cpp:681 src/sonymn.cpp:682 src/sonymn.cpp:757 src/sonymn.cpp:758 #: src/tags.cpp:806 src/tags.cpp:1555 msgid "Exposure Program" msgstr "Programme d'exposition" #: src/canonmn.cpp:1061 msgid "Exposure mode setting" msgstr "Réglage mode exposition" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/properties.cpp:1200 msgid "Lens Type" msgstr "Type d'objectif" #: src/canonmn.cpp:1063 src/nikonmn.cpp:570 src/olympusmn.cpp:751 #: src/panasonicmn.cpp:493 src/pentaxmn.cpp:1288 src/pentaxmn.cpp:1289 msgid "Lens type" msgstr "Type d'objectif" #: src/canonmn.cpp:1064 src/nikonmn.cpp:571 src/properties.cpp:658 msgid "Lens" msgstr "Objectif" #: src/canonmn.cpp:1064 msgid "" "'long' and 'short' focal length of lens (in 'focal units') and 'focal units' " "per mm" msgstr "" "longueur de focale 'courte' ou 'longue' de l'objectif (en 'unité de focale') " "et 'unité de focale' par mm" #: src/canonmn.cpp:1065 msgid "Short Focal" msgstr "" #: src/canonmn.cpp:1065 #, fuzzy msgid "Short focal" msgstr "Mise au point Spot" #: src/canonmn.cpp:1066 #, fuzzy msgid "Focal Units" msgstr "Distance focale" #: src/canonmn.cpp:1066 #, fuzzy msgid "Focal units" msgstr "Distance focale" #: src/canonmn.cpp:1067 src/minoltamn.cpp:553 msgid "Max Aperture" msgstr "Ouverture maximale" #: src/canonmn.cpp:1067 src/minoltamn.cpp:554 msgid "Max aperture" msgstr "Ouverture maximale" #: src/canonmn.cpp:1068 #, fuzzy msgid "Min Aperture" msgstr "Ouverture maximale" #: src/canonmn.cpp:1068 #, fuzzy msgid "Min aperture" msgstr "Ouverture maximale" #: src/canonmn.cpp:1069 msgid "Flash Activity" msgstr "Activité flash" #: src/canonmn.cpp:1069 msgid "Flash activity" msgstr "Activité flash" #: src/canonmn.cpp:1070 msgid "Flash Details" msgstr "Détails flash" #: src/canonmn.cpp:1070 msgid "Flash details" msgstr "Détails flash" #: src/canonmn.cpp:1073 msgid "Focus Continuous" msgstr "Mise au point continue" #: src/canonmn.cpp:1073 msgid "Focus continuous setting" msgstr "Paramètre de la mise au point continue" #: src/canonmn.cpp:1074 msgid "AESetting" msgstr "Réglage AE" #: src/canonmn.cpp:1074 msgid "AE setting" msgstr "Réglage AE" #: src/canonmn.cpp:1075 src/minoltamn.cpp:147 src/minoltamn.cpp:814 #: src/minoltamn.cpp:1075 src/minoltamn.cpp:1566 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:421 src/sonymn.cpp:684 src/sonymn.cpp:685 msgid "Image Stabilization" msgstr "Stabilisation de l'image" #: src/canonmn.cpp:1075 src/minoltamn.cpp:148 src/minoltamn.cpp:815 #: src/minoltamn.cpp:1076 src/minoltamn.cpp:1567 src/nikonmn.cpp:607 #: src/olympusmn.cpp:709 src/olympusmn.cpp:1023 src/panasonicmn.cpp:447 #: src/sonymn.cpp:422 msgid "Image stabilization" msgstr "Stabilisation de l'image" #: src/canonmn.cpp:1076 msgid "Display Aperture" msgstr "Affichage de l'ouverture" #: src/canonmn.cpp:1076 msgid "Display aperture" msgstr "Affichage de l'ouverture" #: src/canonmn.cpp:1077 #, fuzzy msgid "Zoom Source Width" msgstr "Droit d'auteur" #: src/canonmn.cpp:1077 #, fuzzy msgid "Zoom source width" msgstr "Droit d'auteur" #: src/canonmn.cpp:1078 #, fuzzy msgid "Zoom Target Width" msgstr "Largeur de l'image" #: src/canonmn.cpp:1078 #, fuzzy msgid "Zoom target width" msgstr "Largeur de l'image" #: src/canonmn.cpp:1080 #, fuzzy msgid "Spot Metering Mode" msgstr "Mode de mesure" #: src/canonmn.cpp:1080 #, fuzzy msgid "Spot metering mode" msgstr "Le mode de mesure." #: src/canonmn.cpp:1081 msgid "Photo Effect" msgstr "Effet photo" #: src/canonmn.cpp:1081 msgid "Photo effect" msgstr "Effet photo" #: src/canonmn.cpp:1082 #, fuzzy msgid "Manual Flash Output" msgstr "Déclenchement manuel" #: src/canonmn.cpp:1082 #, fuzzy msgid "Manual flash output" msgstr "Déclenchement manuel" #: src/canonmn.cpp:1083 msgid "Color Tone" msgstr "Tonalité couleur" #: src/canonmn.cpp:1083 msgid "Color tone" msgstr "Tonalité couleur" #: src/canonmn.cpp:1084 msgid "SRAW Quality Tone" msgstr "" #: src/canonmn.cpp:1084 #, fuzzy msgid "SRAW quality" msgstr "Qualité de l'image" #: src/canonmn.cpp:1086 msgid "Unknown Canon Camera Settings 1 tag" msgstr "Marqueur 1 réglage appareil photo Canon inconnu" #: src/canonmn.cpp:1097 src/fujimn.cpp:72 src/minoltamn.cpp:219 #: src/minoltamn.cpp:683 src/minoltamn.cpp:869 src/minoltamn.cpp:1197 #: src/minoltamn.cpp:2147 src/nikonmn.cpp:453 src/panasonicmn.cpp:68 #: src/pentaxmn.cpp:410 src/sonymn.cpp:212 src/tags.cpp:1435 msgid "Daylight" msgstr "Lumière du jour" #: src/canonmn.cpp:1098 src/fujimn.cpp:73 src/minoltamn.cpp:220 #: src/minoltamn.cpp:685 src/minoltamn.cpp:870 src/minoltamn.cpp:1198 #: src/minoltamn.cpp:2148 src/nikonmn.cpp:456 src/olympusmn.cpp:1048 #: src/panasonicmn.cpp:69 src/pentaxmn.cpp:419 src/sonymn.cpp:213 msgid "Cloudy" msgstr "Nuageux" #: src/canonmn.cpp:1099 src/minoltamn.cpp:221 src/minoltamn.cpp:686 #: src/minoltamn.cpp:872 src/minoltamn.cpp:1200 src/minoltamn.cpp:2150 #: src/pentaxmn.cpp:413 msgid "Tungsten" msgstr "Tungstène" #: src/canonmn.cpp:1100 src/minoltamn.cpp:223 src/minoltamn.cpp:687 #: src/minoltamn.cpp:873 src/minoltamn.cpp:1201 src/minoltamn.cpp:2152 #: src/nikonmn.cpp:455 src/pentaxmn.cpp:412 src/tags.cpp:1436 msgid "Fluorescent" msgstr "Fluorescent" #: src/canonmn.cpp:1103 src/minoltamn.cpp:57 src/minoltamn.cpp:1943 #: src/sonymn.cpp:530 msgid "Black & White" msgstr "Noir & Blanc" #: src/canonmn.cpp:1104 src/minoltamn.cpp:684 src/minoltamn.cpp:871 #: src/minoltamn.cpp:1199 src/minoltamn.cpp:2149 src/olympusmn.cpp:1047 #: src/panasonicmn.cpp:75 src/pentaxmn.cpp:411 src/tags.cpp:1441 msgid "Shade" msgstr "Ombragé" #: src/canonmn.cpp:1105 msgid "Manual Temperature (Kelvin)" msgstr "Température manuelle (Kelvin)" #: src/canonmn.cpp:1106 msgid "PC Set 1" msgstr "Réglage PC 1" #: src/canonmn.cpp:1107 msgid "PC Set 2" msgstr "Réglage PC 3" #: src/canonmn.cpp:1108 msgid "PC Set 3" msgstr "Réglage PC 3" #: src/canonmn.cpp:1109 msgid "Daylight Fluorescent" msgstr "Lumière du jour fluorescent" #: src/canonmn.cpp:1110 src/properties.cpp:816 msgid "Custom 1" msgstr "Personnel 1" #: src/canonmn.cpp:1111 src/minoltamn.cpp:225 src/properties.cpp:817 msgid "Custom 2" msgstr "Personnel 2" #: src/canonmn.cpp:1113 src/canonmn.cpp:1114 src/minoltamn.cpp:226 #: src/properties.cpp:818 msgid "Custom 3" msgstr "Processus personnel 2" #: src/canonmn.cpp:1115 #, fuzzy msgid "PC Set 4" msgstr "Réglage PC 1" #: src/canonmn.cpp:1116 #, fuzzy msgid "PC Set 5" msgstr "Réglage PC 1" #: src/canonmn.cpp:1117 #, fuzzy msgid "Auto (ambience priority)" msgstr "Priorité obturation" #: src/canonmn.cpp:1122 src/canonmn.cpp:1241 src/canonmn.cpp:1249 msgid "left" msgstr "gauche" #: src/canonmn.cpp:1123 src/canonmn.cpp:1238 src/canonmn.cpp:1250 msgid "center" msgstr "centre" #: src/canonmn.cpp:1124 src/canonmn.cpp:1235 src/canonmn.cpp:1251 msgid "right" msgstr "droite" #: src/canonmn.cpp:1151 msgid "ISO Speed Used" msgstr "Vitesse ISO utilisée" #: src/canonmn.cpp:1151 msgid "ISO speed used" msgstr "Vitesse ISO utilisée" #: src/canonmn.cpp:1152 msgid "Measured EV" msgstr "" #: src/canonmn.cpp:1153 msgid "Target Aperture" msgstr "Ouverture cible" #: src/canonmn.cpp:1154 msgid "Target Shutter Speed" msgstr "Vitesse d'obturation cible" #: src/canonmn.cpp:1154 msgid "Target shutter speed" msgstr "Vitesse d'obturation cible" #: src/canonmn.cpp:1156 src/fujimn.cpp:192 src/minoltamn.cpp:177 #: src/minoltamn.cpp:496 src/minoltamn.cpp:750 src/minoltamn.cpp:997 #: src/minoltamn.cpp:1380 src/nikonmn.cpp:227 src/nikonmn.cpp:477 #: src/nikonmn.cpp:536 src/olympusmn.cpp:330 src/olympusmn.cpp:887 #: src/panasonicmn.cpp:443 src/properties.cpp:498 src/properties.cpp:607 #: src/properties.cpp:1382 src/sigmamn.cpp:71 src/sonymn.cpp:338 #: src/tags.cpp:1792 msgid "White Balance" msgstr "Balance des blancs" #: src/canonmn.cpp:1156 src/fujimn.cpp:193 src/minoltamn.cpp:1447 #: src/panasonicmn.cpp:443 msgid "White balance setting" msgstr "Réglage balance des blancs" #: src/canonmn.cpp:1158 msgid "Sequence" msgstr "Séquence" #: src/canonmn.cpp:1158 msgid "Sequence number (if in a continuous burst)" msgstr "Numéro séquence (si en mode rafale)" #: src/canonmn.cpp:1163 msgid "AF Point Used" msgstr "Point AF utilisé" #: src/canonmn.cpp:1163 msgid "AF point used" msgstr "Point AF utilisé" #: src/canonmn.cpp:1164 src/olympusmn.cpp:372 msgid "Flash Bias" msgstr "Biais du flash" #: src/canonmn.cpp:1168 src/properties.cpp:585 src/tags.cpp:831 #: src/tags.cpp:1650 msgid "Subject Distance" msgstr "Distance au sujet" #: src/canonmn.cpp:1168 msgid "Subject distance (units are not clear)" msgstr "Distance au sujet (les unités ne sont pas clair)" #: src/canonmn.cpp:1170 src/olympusmn.cpp:273 src/properties.cpp:581 #: src/tags.cpp:827 msgid "Aperture Value" msgstr "Valeur d'ouverture" #: src/canonmn.cpp:1171 src/properties.cpp:580 src/tags.cpp:826 msgid "Shutter Speed Value" msgstr "Valeur de vitesse d'obturation" #: src/canonmn.cpp:1171 src/tags.cpp:1630 msgid "Shutter speed" msgstr "Vitesse d'obturation" #: src/canonmn.cpp:1172 msgid "Measured EV 2" msgstr "" #: src/canonmn.cpp:1177 msgid "Unknown Canon Camera Settings 2 tag" msgstr "Marqueur 2 réglage appareil photo Canon inconnu" #: src/canonmn.cpp:1187 src/olympusmn.cpp:1171 msgid "Left to right" msgstr "De gauche à droite" #: src/canonmn.cpp:1188 src/olympusmn.cpp:1172 msgid "Right to left" msgstr "De droite à gauche" #: src/canonmn.cpp:1189 src/olympusmn.cpp:1173 msgid "Bottom to top" msgstr "Du bas vers le haut" #: src/canonmn.cpp:1190 src/olympusmn.cpp:1174 msgid "Top to bottom" msgstr "Du haut vers le bas" #: src/canonmn.cpp:1191 msgid "2x2 matrix (Clockwise)" msgstr "Matrice 2x2 (Sens horaire)" #: src/canonmn.cpp:1196 msgid "Panorama Frame" msgstr "Frame panorama" #: src/canonmn.cpp:1196 msgid "Panorama frame number" msgstr "Numéro frame panorama" #: src/canonmn.cpp:1197 msgid "Panorama Direction" msgstr "Direction panorama" #: src/canonmn.cpp:1197 msgid "Panorama direction" msgstr "Direction panorama" #: src/canonmn.cpp:1199 msgid "Unknown Canon Panorama tag" msgstr "Marqueur panorama Canon inconnu" #: src/canonmn.cpp:1209 src/canonmn.cpp:1339 src/minoltamn.cpp:807 #: src/minoltamn.cpp:1072 src/minoltamn.cpp:1497 src/nikonmn.cpp:587 #: src/olympusmn.cpp:438 src/olympusmn.cpp:608 src/olympusmn.cpp:691 #: src/olympusmn.cpp:811 src/olympusmn.cpp:826 src/olympusmn.cpp:896 #: src/olympusmn.cpp:981 msgid "Noise Reduction" msgstr "Réduction du bruit" #: src/canonmn.cpp:1209 msgid "Long exposure noise reduction" msgstr "Réduction du bruit lors d'expositions longues" #: src/canonmn.cpp:1210 #, fuzzy msgid "Shutter Ae Lock" msgstr "Vitesse d'obturation" #: src/canonmn.cpp:1210 #, fuzzy msgid "Shutter/AE lock buttons" msgstr "Priorité obturation" #: src/canonmn.cpp:1211 msgid "Mirror Lockup" msgstr "Verrouillage du miroir" #: src/canonmn.cpp:1211 msgid "Mirror lockup" msgstr "Verrouillage du miroir" #: src/canonmn.cpp:1212 src/sonymn.cpp:699 src/sonymn.cpp:700 msgid "Exposure Level Increments" msgstr "Incrément de niveau d'exposition" #: src/canonmn.cpp:1212 msgid "Tv/Av and exposure level" msgstr "Niveaux d'exposition et Tv/Av" #: src/canonmn.cpp:1213 src/minoltamn.cpp:1524 msgid "AF Assist" msgstr "Faisceau AF" #: src/canonmn.cpp:1213 msgid "AF assist light" msgstr "Faisceau AF" #: src/canonmn.cpp:1214 msgid "Flash Sync Speed Av" msgstr "Vitesse de synchro flash en mode Av" #: src/canonmn.cpp:1214 msgid "Shutter speed in Av mode" msgstr "Vitesse d'obturation en mode Av" #: src/canonmn.cpp:1215 #, fuzzy msgid "AEB Sequence" msgstr "Séquence" #: src/canonmn.cpp:1215 msgid "AEB sequence/auto cancellation" msgstr "" #: src/canonmn.cpp:1216 #, fuzzy msgid "Shutter Curtain Sync" msgstr "Priorité obturation" #: src/canonmn.cpp:1216 #, fuzzy msgid "Shutter curtain sync" msgstr "Priorité obturation" #: src/canonmn.cpp:1217 #, fuzzy msgid "Lens AF Stop Button" msgstr "Type d'objectif" #: src/canonmn.cpp:1217 msgid "Lens AF stop button Fn. Switch" msgstr "" #: src/canonmn.cpp:1218 #, fuzzy msgid "Fill Flash Auto Reduction" msgstr "Réduction du bruit" #: src/canonmn.cpp:1218 msgid "Auto reduction of fill flash" msgstr "" #: src/canonmn.cpp:1219 msgid "Menu Button Return" msgstr "" #: src/canonmn.cpp:1219 msgid "Menu button return position" msgstr "" #: src/canonmn.cpp:1220 #, fuzzy msgid "Set Button Function" msgstr "Fonctions personnalisées" #: src/canonmn.cpp:1220 msgid "SET button func. when shooting" msgstr "" #: src/canonmn.cpp:1221 msgid "Sensor Cleaning" msgstr "Nettoyage capteur" #: src/canonmn.cpp:1221 msgid "Sensor cleaning" msgstr "Nettoyage capteur" #: src/canonmn.cpp:1222 msgid "Superimposed Display" msgstr "" #: src/canonmn.cpp:1222 msgid "Superimposed display" msgstr "" #: src/canonmn.cpp:1223 msgid "Shutter Release No CF Card" msgstr "" #: src/canonmn.cpp:1223 msgid "Shutter Release W/O CF Card" msgstr "" #: src/canonmn.cpp:1225 #, fuzzy msgid "Unknown Canon Custom Function tag" msgstr "Marqueur réglage appareil photo Canon inconnu" #: src/canonmn.cpp:1236 msgid "mid-right" msgstr "milieu-droit" #: src/canonmn.cpp:1237 src/canonmn.cpp:1254 msgid "bottom" msgstr "bas" #: src/canonmn.cpp:1239 src/canonmn.cpp:1246 msgid "top" msgstr "haut" #: src/canonmn.cpp:1240 msgid "mid-left" msgstr "milieu-gauche" #: src/canonmn.cpp:1247 msgid "upper-left" msgstr "haut-gauche" #: src/canonmn.cpp:1248 msgid "upper-right" msgstr "haut-droit" #: src/canonmn.cpp:1252 msgid "lower-left" msgstr "bas-gauche" #: src/canonmn.cpp:1253 msgid "lower-right" msgstr "bas-droit" #: src/canonmn.cpp:1259 src/olympusmn.cpp:225 src/olympusmn.cpp:405 #: src/panasonicmn.cpp:731 src/properties.cpp:505 src/tags.cpp:419 msgid "Image Width" msgstr "Largeur de l'image" #: src/canonmn.cpp:1259 src/olympusmn.cpp:226 src/olympusmn.cpp:406 #: src/panasonicmn.cpp:489 src/panasonicmn.cpp:731 src/tags.cpp:2110 msgid "Image width" msgstr "Largeur de l'image" #: src/canonmn.cpp:1260 src/olympusmn.cpp:228 src/olympusmn.cpp:408 #: src/panasonicmn.cpp:730 msgid "Image Height" msgstr "Hauteur de l'image" #: src/canonmn.cpp:1260 src/olympusmn.cpp:229 src/olympusmn.cpp:409 #: src/panasonicmn.cpp:490 src/panasonicmn.cpp:730 src/tags.cpp:2113 msgid "Image height" msgstr "Hauteur de l'image" #: src/canonmn.cpp:1261 msgid "Image Width As Shot" msgstr "Largeur de l'image" #: src/canonmn.cpp:1261 msgid "Image width (as shot)" msgstr "Largeur de l'image" #: src/canonmn.cpp:1262 msgid "Image Height As Shot" msgstr "Hauteur de l'image" #: src/canonmn.cpp:1262 msgid "Image height (as shot)" msgstr "Hauteur de l'image" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF Points Used" msgstr "Points AF utilisés" #: src/canonmn.cpp:1263 src/nikonmn.cpp:868 msgid "AF points used" msgstr "Points AF utilisés" #: src/canonmn.cpp:1264 msgid "AF Points Used 20D" msgstr "Points AF utilisés 20D" #: src/canonmn.cpp:1264 msgid "AF points used (20D)" msgstr "Points AF utilisés (20D)" #: src/canonmn.cpp:1266 msgid "Unknown Canon Picture Info tag" msgstr "Marqueur info image Canon inconnu" #: src/canonmn.cpp:1277 msgid "AEB" msgstr "" #: src/canonmn.cpp:1278 msgid "FEB" msgstr "" #: src/canonmn.cpp:1279 src/minoltamn.cpp:511 src/nikonmn.cpp:783 #: src/nikonmn.cpp:1158 src/nikonmn.cpp:1218 src/nikonmn.cpp:1254 #, fuzzy msgid "ISO" msgstr "Infos prise de vue" #: src/canonmn.cpp:1280 msgid "WB" msgstr "" #: src/canonmn.cpp:1291 msgid "Postcard" msgstr "" #: src/canonmn.cpp:1292 msgid "Widescreen" msgstr "" #: src/canonmn.cpp:1293 #, fuzzy msgid "Medium Movie" msgstr "Moyenne 1" #: src/canonmn.cpp:1294 #, fuzzy msgid "Small Movie" msgstr "Film" #: src/canonmn.cpp:1300 #, fuzzy msgid "On 1" msgstr "Activé" #: src/canonmn.cpp:1301 #, fuzzy msgid "On 2" msgstr "Activé" #: src/canonmn.cpp:1309 #, fuzzy msgid "On (shift AB)" msgstr "AF One Shot" #: src/canonmn.cpp:1310 #, fuzzy msgid "On (shift GM)" msgstr "AF One Shot" #: src/canonmn.cpp:1316 src/nikonmn.cpp:675 src/nikonmn.cpp:688 #: src/nikonmn.cpp:1017 src/olympusmn.cpp:628 src/olympusmn.cpp:869 msgid "Yellow" msgstr "" #: src/canonmn.cpp:1317 src/nikonmn.cpp:676 src/olympusmn.cpp:629 #: src/olympusmn.cpp:870 #, fuzzy msgid "Orange" msgstr "Loin" #: src/canonmn.cpp:1318 src/nikonmn.cpp:677 src/nikonmn.cpp:687 #: src/nikonmn.cpp:1015 src/olympusmn.cpp:630 src/olympusmn.cpp:871 #, fuzzy msgid "Red" msgstr "Réduction yeux rouges" #: src/canonmn.cpp:1319 src/canonmn.cpp:1328 src/nikonmn.cpp:678 #: src/nikonmn.cpp:689 src/olympusmn.cpp:631 src/olympusmn.cpp:641 #: src/olympusmn.cpp:872 src/olympusmn.cpp:881 #, fuzzy msgid "Green" msgstr "Mode contrôle" #: src/canonmn.cpp:1326 src/nikonmn.cpp:691 src/nikonmn.cpp:1016 #: src/olympusmn.cpp:639 src/olympusmn.cpp:879 #, fuzzy msgid "Blue" msgstr "valeur" #: src/canonmn.cpp:1327 src/olympusmn.cpp:640 src/olympusmn.cpp:880 msgid "Purple" msgstr "" #: src/canonmn.cpp:1334 #, fuzzy msgid "Bracket Mode" msgstr "Pas du bracket" #: src/canonmn.cpp:1335 #, fuzzy msgid "Bracket Value" msgstr "Pas du bracket" #: src/canonmn.cpp:1336 #, fuzzy msgid "Bracket Shot Number" msgstr "Pas du bracket" #: src/canonmn.cpp:1337 #, fuzzy msgid "Raw Jpg Quality" msgstr "Qualité de l'image" #: src/canonmn.cpp:1338 #, fuzzy msgid "Raw Jpg Size" msgstr "Taille de l'image" #: src/canonmn.cpp:1340 #, fuzzy msgid "WB Bracket Mode" msgstr "Pas du bracket" #: src/canonmn.cpp:1341 #, fuzzy msgid "WB Bracket Value AB" msgstr "Table de balance des blancs" #: src/canonmn.cpp:1342 #, fuzzy msgid "WB Bracket Value GM" msgstr "Table de balance des blancs" #: src/canonmn.cpp:1343 src/nikonmn.cpp:709 src/properties.cpp:1155 #, fuzzy msgid "Filter Effect" msgstr "Effet de couleurs" #: src/canonmn.cpp:1344 src/nikonmn.cpp:710 src/properties.cpp:1350 #, fuzzy msgid "Toning Effect" msgstr "Effet photo" #: src/canonmn.cpp:1345 #, fuzzy msgid "Macro Magnification" msgstr "Augmentation électronique" #: src/canonmn.cpp:1345 #, fuzzy msgid "Macro magnification" msgstr "Augmentation électronique" #: src/canonmn.cpp:1346 msgid "Live View Shooting" msgstr "" #: src/canonmn.cpp:1346 #, fuzzy msgid "Live view shooting" msgstr "Réglage mode contrôle" #: src/canonmn.cpp:1347 #, fuzzy msgid "Focus Distance Upper" msgstr "Distance de mise au point" #: src/canonmn.cpp:1348 #, fuzzy msgid "Focus Distance Lower" msgstr "Distance de mise au point" #: src/canonmn.cpp:1349 #, fuzzy msgid "Flash Exposure Lock" msgstr "Compensation d'exposition du flash" #: src/canonmn.cpp:1349 #, fuzzy msgid "Flash exposure lock" msgstr "Compensation d'exposition du flash" #: src/canonmn.cpp:1351 #, fuzzy msgid "Unknown Canon File Info tag" msgstr "Marqueur info image Canon inconnu" #: src/canonmn.cpp:1361 src/canonmn.cpp:1371 src/canonmn.cpp:1379 #: src/canonmn.cpp:1392 src/fujimn.cpp:147 src/fujimn.cpp:154 #: src/minoltamn.cpp:77 src/minoltamn.cpp:245 src/minoltamn.cpp:1139 #: src/minoltamn.cpp:1225 src/minoltamn.cpp:1937 src/minoltamn.cpp:2026 #: src/minoltamn.cpp:2060 src/minoltamn.cpp:2086 src/minoltamn.cpp:2112 #: src/olympusmn.cpp:93 src/olympusmn.cpp:1142 src/panasonicmn.cpp:220 #: src/panasonicmn.cpp:227 src/panasonicmn.cpp:267 src/panasonicmn.cpp:333 #: src/panasonicmn.cpp:347 src/panasonicmn.cpp:356 src/pentaxmn.cpp:583 #: src/sonymn.cpp:128 src/sonymn.cpp:197 src/sonymn.cpp:524 src/sonymn.cpp:554 #: src/tags.cpp:1508 msgid "Standard" msgstr "Standard" #: src/canonmn.cpp:1369 #, fuzzy msgid "Lowest" msgstr "Bas-gauche" #: src/canonmn.cpp:1373 #, fuzzy msgid "Highest" msgstr "Élevée" #: src/canonmn.cpp:1381 #, fuzzy msgid "High Saturation" msgstr "Saturation" #: src/canonmn.cpp:1383 #, fuzzy msgid "Low Saturation" msgstr "Saturation" #: src/canonmn.cpp:1384 #, fuzzy msgid "CM Set 1" msgstr "Réglage PC 1" #: src/canonmn.cpp:1385 #, fuzzy msgid "CM Set 2" msgstr "Réglage PC 3" #: src/canonmn.cpp:1386 msgid "User Def. 1" msgstr "" #: src/canonmn.cpp:1387 msgid "User Def. 2" msgstr "" #: src/canonmn.cpp:1388 msgid "User Def. 3" msgstr "" #: src/canonmn.cpp:1389 msgid "PC 1" msgstr "" #: src/canonmn.cpp:1390 msgid "PC 2" msgstr "" #: src/canonmn.cpp:1391 msgid "PC 3" msgstr "" #: src/canonmn.cpp:1396 msgid "Faithful" msgstr "" #: src/canonmn.cpp:1397 src/minoltamn.cpp:903 src/minoltamn.cpp:953 #: src/nikonmn.cpp:429 src/panasonicmn.cpp:184 src/panasonicmn.cpp:372 #: src/pentaxmn.cpp:974 msgid "Monochrome" msgstr "Monochrome" #: src/canonmn.cpp:1399 #, fuzzy msgid "Fine Detail" msgstr "Détails flash" #: src/canonmn.cpp:1404 #, fuzzy msgid "ToneCurve" msgstr "Courbe de tonalité" #: src/canonmn.cpp:1404 msgid "Tone curve" msgstr "Courbe de tonalité" #: src/canonmn.cpp:1406 #, fuzzy msgid "SharpnessFrequency" msgstr "Netteté" #: src/canonmn.cpp:1406 #, fuzzy msgid "Sharpness frequency" msgstr "Netteté" #: src/canonmn.cpp:1407 #, fuzzy msgid "SensorRedLevel" msgstr "Niveau de noir" #: src/canonmn.cpp:1407 #, fuzzy msgid "Sensor red level" msgstr "Niveau de noir" #: src/canonmn.cpp:1408 #, fuzzy msgid "SensorBlueLevel" msgstr "Niveau de noir" #: src/canonmn.cpp:1408 #, fuzzy msgid "Sensor blue level" msgstr "Niveau de noir" #: src/canonmn.cpp:1409 #, fuzzy msgid "WhiteBalanceRed" msgstr "Balance des blancs" #: src/canonmn.cpp:1409 #, fuzzy msgid "White balance red" msgstr "Balance des blancs" #: src/canonmn.cpp:1410 #, fuzzy msgid "WhiteBalanceBlue" msgstr "Table de balance des blancs" #: src/canonmn.cpp:1410 #, fuzzy msgid "White balance blue" msgstr "Table de balance des blancs" #: src/canonmn.cpp:1411 #, fuzzy msgid "WhiteBalance" msgstr "Balance des blancs" #: src/canonmn.cpp:1412 #, fuzzy msgid "ColorTemperature" msgstr "Température des couleurs" #: src/canonmn.cpp:1412 src/minoltamn.cpp:156 src/minoltamn.cpp:786 #: src/minoltamn.cpp:1042 src/minoltamn.cpp:1057 src/minoltamn.cpp:1058 #: src/minoltamn.cpp:1479 src/minoltamn.cpp:1581 src/olympusmn.cpp:840 #: src/sonymn.cpp:406 src/sonymn.cpp:407 msgid "Color Temperature" msgstr "Température des couleurs" #: src/canonmn.cpp:1413 #, fuzzy msgid "PictureStyle" msgstr "Mode d'image" #: src/canonmn.cpp:1413 #, fuzzy msgid "Picture style" msgstr "Mode d'image" #: src/canonmn.cpp:1414 #, fuzzy msgid "DigitalGain" msgstr "Zoom numérique" #: src/canonmn.cpp:1414 #, fuzzy msgid "Digital gain" msgstr "Zoom numérique" #: src/canonmn.cpp:1415 msgid "WBShiftAB" msgstr "" #: src/canonmn.cpp:1415 #, fuzzy msgid "WBShift AB" msgstr "AF One Shot" #: src/canonmn.cpp:1416 msgid "WBShiftGM" msgstr "" #: src/canonmn.cpp:1416 #, fuzzy msgid "WB Shift GM" msgstr "AF One Shot" #: src/canonmn.cpp:1417 #, fuzzy msgid "Unknown Canon Processing Info tag" msgstr "Marqueur info image Canon inconnu" #: src/crwimage.cpp:656 msgid "Header, offset" msgstr "En-tête, décalage" #: src/crwimage.cpp:674 msgid "tag" msgstr "marqueur" #: src/crwimage.cpp:676 msgid "dir" msgstr "section" #: src/crwimage.cpp:678 msgid "type" msgstr "type" #: src/crwimage.cpp:679 msgid "size" msgstr "taille" #: src/crwimage.cpp:680 msgid "offset" msgstr "décalage" #: src/datasets.cpp:79 msgid "(invalid)" msgstr "(invalide)" #: src/datasets.cpp:80 msgid "IIM envelope record" msgstr "Enregistrement IIM enveloppe" #: src/datasets.cpp:81 msgid "IIM application record 2" msgstr "Enregistrement IIM application 2" #: src/datasets.cpp:85 msgid "Model Version" msgstr "Version du Modèle" #: src/datasets.cpp:86 msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part I, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Un champ binaire identifiant la version de l'Information Interchange Model, " "Part I, utilisé par le fournisseur. Les numéros de version sont assignés par " "l'IPTC et la NAA." #: src/datasets.cpp:90 src/panasonicmn.cpp:283 src/pentaxmn.cpp:484 #: src/pentaxmn.cpp:1242 src/pentaxmn.cpp:1243 msgid "Destination" msgstr "Destination" #: src/datasets.cpp:91 msgid "" "This DataSet is to accommodate some providers who require routing " "information above the appropriate OSI layers." msgstr "" "Ce jeu de données est présent pour satisfaire certains fournisseurs qui " "attendent des informations de routage en sus des couches OSI appropriées." #: src/datasets.cpp:94 src/sonymn.cpp:397 src/sonymn.cpp:398 msgid "File Format" msgstr "Format du fichier" #: src/datasets.cpp:95 msgid "" "A binary number representing the file format. The file format must be " "registered with IPTC or NAA with a unique number assigned to it. The " "information is used to route the data to the appropriate system and to allow " "the receiving system to perform the appropriate actions there to." msgstr "" "Un champ binaire représentant le format du fichier. Le format du fichier " "doit être enregistré auprès de l'IPTC ou de la NAA au moyen d'un identifiant " "unique. L'information est utilisée pour router les données vers le système " "approprié et permettre au système cible de leur appliquer les actions " "appropriées." #: src/datasets.cpp:101 msgid "File Version" msgstr "Version du fichier" #: src/datasets.cpp:102 msgid "" "A binary number representing the particular version of the File Format " "specified by tag." msgstr "" "Un champ binaire représentant la version courante du format du fichier " "spécifié par le marqueur ." #: src/datasets.cpp:105 msgid "Service Id" msgstr "Identifiant de service" #: src/datasets.cpp:106 msgid "Identifies the provider and product" msgstr "Identifie le fournisseur et le produit" #: src/datasets.cpp:108 msgid "Envelope Number" msgstr "Numéro d'enveloppe" #: src/datasets.cpp:109 msgid "" "The characters form a number that will be unique for the date specified in " " tag and for the Service Identifier specified by " " tag. If identical envelope numbers appear with the same " "date and with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial number " "reception check." msgstr "" "Les caractères forment un numéro qui est unique pour la date spécifiée dans " "le marqueur et pour l'identifiant de service spécifié dans le " "marqueur . Si des numéros d'enveloppe identiques " "apparaissent avec les mêmes dates et identifiants de service, les " "enregistrements 2 à 9 doivent rester identiques à l'original. Ce numéro ne " "permet pas de tester l'ordre de réception en séquence." #: src/datasets.cpp:117 msgid "Product Id" msgstr "Identifiant du produit" #: src/datasets.cpp:118 msgid "" "Allows a provider to identify subsets of its overall service. Used to " "provide receiving organisation data on which to select, route, or otherwise " "handle data." msgstr "" "Permet à un fournisseur d'identifier des sous-sections de son service " "global. Utilisé pour fournir à l'organisation cible des informations sur la " "manière dont les données doivent être sélectionnées, routées et manipulées." #: src/datasets.cpp:122 msgid "Envelope Priority" msgstr "Priorité de l'enveloppe" #: src/datasets.cpp:123 msgid "" "Specifies the envelope handling priority and not the editorial urgency (see " " tag). \"1\" indicates the most urgent, \"5\" the normal urgency, " "and \"8\" the least urgent copy. The numeral \"9\" indicates a User Defined " "Priority. The numeral \"0\" is reserved for future use." msgstr "" "Spécifie la priorité de traitement de l'enveloppe et non pas la priorité " "d'édition (voir le marqueur ). \"1\" désigne la plus grande " "priorité, \"5\" une priorité normale, et \"8\" la copie la moins " "prioritaire. Le chiffre \"9\" indique une priorité définie par " "l'utilisateur. Le chiffre \"0\" est réservé pour un usage ultérieur." #: src/datasets.cpp:129 msgid "Date Sent" msgstr "Date d'envoi" #: src/datasets.cpp:130 msgid "" "Uses the format CCYYMMDD (century, year, month, day) as de-fined in ISO 8601 " "to indicate year, month and day the service sent the material." msgstr "" "Utilise le format CCYYMMDD (siècle, année, mois, jour) tel que défini par la " "norme ISO 8601 pour indiquer l'année, le mois et le jour où le service a " "envoyé les données." #: src/datasets.cpp:133 msgid "Time Sent" msgstr "Heure d'envoi" #: src/datasets.cpp:134 msgid "" "Uses the format HHMMSS:HHMM where HHMMSS refers to local hour, minute and " "seconds and HHMM refers to hours and minutes ahead (+) or behind (-) " "Universal Coordinated Time as described in ISO 8601. This is the time the " "service sent the material." msgstr "" "Utilise le format HHMMSS:HHMM où HHMMSS désigne dans le référentiel local " "les heures, les minutes et les secondes, et où HHMM indique les heures et " "les minutes à soustraire (+) ou à ajouter (-) pour obtenir l'heure UTC comme " "décrit dans la norme ISO 8601. Ceci est l'heure à laquelle le service a " "envoyé les données." #: src/datasets.cpp:139 msgid "Character Set" msgstr "Jeu de caractères" #: src/datasets.cpp:140 msgid "" "This tag consisting of one or more control functions used for the " "announcement, invocation or designation of coded character sets. The control " "functions follow the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters." msgstr "" #: src/datasets.cpp:145 msgid "Unique Name Object" msgstr "Nom d'objet unique" #: src/datasets.cpp:146 msgid "" "This tag provide a globally unique identification for objects as specified " "in the IIM, independent of provider and for any media form. The provider " "must ensure the UNO is unique. Objects with the same UNO are identical." msgstr "" #: src/datasets.cpp:151 msgid "ARM Identifier" msgstr "Identifiant ARM" #: src/datasets.cpp:152 msgid "" "The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of the ARM " "with the IPTC and NAA organizations." msgstr "" #: src/datasets.cpp:156 msgid "ARM Version" msgstr "Version d'ARM" #: src/datasets.cpp:157 #, fuzzy msgid "" "This tag consisting of a binary number representing the particular version " "of the ARM specified by tag ." msgstr "" "Un champ binaire représentant la version courante du format du fichier " "spécifié par le marqueur ." #: src/datasets.cpp:170 msgid "Record Version" msgstr "Version d'enregistrement" #: src/datasets.cpp:171 #, fuzzy msgid "" "A binary number identifying the version of the Information Interchange " "Model, Part II, utilised by the provider. Version numbers are assigned by " "IPTC and NAA organizations." msgstr "" "Un champ binaire identifiant la version de l'Information Interchange Model, " "Part I, utilisé par le fournisseur. Les numéros de version sont assignés par " "l'IPTC et la NAA." #: src/datasets.cpp:175 msgid "Object Type" msgstr "type d'objet" #: src/datasets.cpp:176 msgid "" "The Object Type is used to distinguish between different types of objects " "within the IIM. The first part is a number representing a language " "independent international reference to an Object Type followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Type Number consisting of graphic characters plus spaces either in English " "or in the language of the service as indicated in tag " msgstr "" #: src/datasets.cpp:184 msgid "Object Attribute" msgstr "Attributs de l'objet" #: src/datasets.cpp:185 msgid "" "The Object Attribute defines the nature of the object independent of the " "Subject. The first part is a number representing a language independent " "international reference to an Object Attribute followed by a colon " "separator. The second part, if used, is a text representation of the Object " "Attribute Number consisting of graphic characters plus spaces either in " "English, or in the language of the service as indicated in tag " "" msgstr "" #: src/datasets.cpp:193 msgid "Object Name" msgstr "Nom de l'objet" #: src/datasets.cpp:194 msgid "" "Used as a shorthand reference for the object. Changes to exist-ing data, " "such as updated stories or new crops on photos, should be identified in tag " "." msgstr "" #: src/datasets.cpp:198 msgid "Document Title" msgstr "Nom du document" #: src/datasets.cpp:199 src/olympusmn.cpp:827 msgid "Edit Status" msgstr "Statut des modifications" #: src/datasets.cpp:200 msgid "Status of the object data, according to the practice of the provider." msgstr "" #: src/datasets.cpp:202 msgid "Editorial Update" msgstr "Mise à jour éditorial" #: src/datasets.cpp:203 msgid "" "Indicates the type of update that this object provides to a previous object. " "The link to the previous object is made using the tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:207 src/datasets.cpp:212 src/properties.cpp:444 msgid "Urgency" msgstr "Priorité" #: src/datasets.cpp:208 msgid "" "Specifies the editorial urgency of content and not necessarily the envelope " "handling priority (see tag ). The \"1\" is most urgent, " "\"5\" normal and \"8\" denotes the least-urgent copy." msgstr "" #: src/datasets.cpp:213 src/properties.cpp:184 src/properties.cpp:1333 msgid "Subject" msgstr "Sujet" #: src/datasets.cpp:214 msgid "The Subject Reference is a structured definition of the subject matter." msgstr "" #: src/datasets.cpp:216 src/datasets.cpp:221 src/properties.cpp:430 msgid "Category" msgstr "Catégorie" #: src/datasets.cpp:217 msgid "" "Identifies the subject of the object data in the opinion of the provider. A " "list of categories will be maintained by a regional registry, where " "available, otherwise by the provider." msgstr "" #: src/datasets.cpp:222 msgid "Supplemental Category" msgstr "Catégorie Supplémentaire" #: src/datasets.cpp:223 msgid "" "Supplemental categories further refine the subject of an object data. A " "supplemental category may include any of the recognised categories as used " "in tag . Otherwise, selection of supplemental categories are left " "to the provider." msgstr "" #: src/datasets.cpp:228 src/properties.cpp:442 msgid "Supplemental Categories" msgstr "Catégories Supplémentaires" #: src/datasets.cpp:229 msgid "Fixture Id" msgstr "Identificateur" #: src/datasets.cpp:230 msgid "" "Identifies object data that recurs often and predictably. Enables users to " "immediately find or recall such an object." msgstr "" #: src/datasets.cpp:233 src/datasets.cpp:239 src/properties.cpp:420 #: src/properties.cpp:1015 msgid "Keywords" msgstr "Mots-clés" #: src/datasets.cpp:234 msgid "" "Used to indicate specific information retrieval words. It is expected that a " "provider of various types of data that are related in subject matter uses " "the same keyword, enabling the receiving system or subsystems to search " "across all types of data for related material." msgstr "" #: src/datasets.cpp:240 msgid "Location Code" msgstr "Code du pays" #: src/datasets.cpp:241 msgid "" "Indicates the code of a country/geographical location referenced by the " "content of the object. Where ISO has established an appropriate country code " "under ISO 3166, that code will be used. When ISO 3166 does not adequately " "provide for identification of a location or a country, e.g. ships at sea, " "space, IPTC will assign an appropriate three-character code under the " "provisions of ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:248 msgid "Location Name" msgstr "Nom du pays" #: src/datasets.cpp:249 msgid "" "Provides a full, publishable name of a country/geographical location " "referenced by the content of the object, according to guidelines of the " "provider." msgstr "" #: src/datasets.cpp:253 src/properties.cpp:376 msgid "Release Date" msgstr "Date de publication" #: src/datasets.cpp:254 msgid "" "Designates in the form CCYYMMDD the earliest date the provider intends the " "object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:257 msgid "Release Time" msgstr "Heure de publication" #: src/datasets.cpp:258 msgid "" "Designates in the form HHMMSS:HHMM the earliest time the provider intends " "the object to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:261 msgid "Expiration Date" msgstr "Date d'expiration" #: src/datasets.cpp:262 msgid "" "Designates in the form CCYYMMDD the latest date the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:265 msgid "ExpirationTime" msgstr "Heure d'expiration" #: src/datasets.cpp:266 msgid "" "Designates in the form HHMMSS:HHMM the latest time the provider or owner " "intends the object data to be used. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:269 msgid "Special Instructions" msgstr "Instructions particulières" #: src/datasets.cpp:270 msgid "" "Other editorial instructions concerning the use of the object data, such as " "embargoes and warnings." msgstr "" #: src/datasets.cpp:273 src/properties.cpp:439 msgid "Instructions" msgstr "Instructions" #: src/datasets.cpp:274 msgid "Action Advised" msgstr "Action conseillée" #: src/datasets.cpp:275 msgid "" "Indicates the type of action that this object provides to a previous object. " "The link to the previous object is made using tags and " ", according to the practices of the provider." msgstr "" #: src/datasets.cpp:279 msgid "Reference Service" msgstr " Service de référence" #: src/datasets.cpp:280 msgid "" "Identifies the Service Identifier of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:283 msgid "Reference Date" msgstr "Date de référence" #: src/datasets.cpp:284 msgid "" "Identifies the date of a prior envelope to which the current object refers." msgstr "" #: src/datasets.cpp:286 msgid "Reference Number" msgstr "Numéro de référence" #: src/datasets.cpp:287 msgid "" "Identifies the Envelope Number of a prior envelope to which the current " "object refers." msgstr "" #: src/datasets.cpp:289 src/datasets.cpp:294 src/properties.cpp:434 msgid "Date Created" msgstr "Date de création" #: src/datasets.cpp:290 msgid "" "Represented in the form CCYYMMDD to designate the date the intellectual " "content of the object data was created rather than the date of the creation " "of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:295 msgid "Time Created" msgstr "Heure de création" #: src/datasets.cpp:296 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the intellectual " "content of the object data current source material was created rather than " "the creation of the physical representation. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:301 msgid "Digitization Date" msgstr "Date de numérisation" #: src/datasets.cpp:302 msgid "" "Represented in the form CCYYMMDD to designate the date the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:305 msgid "Digitization Time" msgstr "Heure de numérisation" #: src/datasets.cpp:306 msgid "" "Represented in the form HHMMSS:HHMM to designate the time the digital " "representation of the object data was created. Follows ISO 8601 standard." msgstr "" #: src/datasets.cpp:310 src/minoltamn.cpp:201 src/minoltamn.cpp:655 #: src/minoltamn.cpp:835 src/olympusmn.cpp:483 src/panasonicmn.cpp:115 #: src/pentaxmn.cpp:579 src/pentaxmn.cpp:653 src/sigmamn.cpp:154 #: src/sonymn.cpp:151 msgid "Program" msgstr "Logiciel" #: src/datasets.cpp:311 msgid "Identifies the type of program used to originate the object data." msgstr "" #: src/datasets.cpp:313 msgid "Program Version" msgstr "Version du logiciel" #: src/datasets.cpp:314 msgid "Used to identify the version of the program mentioned in tag ." msgstr "" #: src/datasets.cpp:316 msgid "Object Cycle" msgstr "Cycle de l'objet" #: src/datasets.cpp:317 msgid "Used to identify the editorial cycle of object data." msgstr "" #: src/datasets.cpp:319 msgid "By-line" msgstr "Créateur" #: src/datasets.cpp:320 msgid "" "Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist." msgstr "" #: src/datasets.cpp:323 src/properties.cpp:2103 msgid "Author" msgstr "Auteur" #: src/datasets.cpp:324 msgid "By-line Title" msgstr "Titre du créateur" #: src/datasets.cpp:325 msgid "" "A by-line title is the title of the creator or creators of an object data. " "Where used, a by-line title should follow the by-line it modifies." msgstr "" #: src/datasets.cpp:328 src/datasets.cpp:332 src/panasonicmn.cpp:507 #: src/properties.cpp:431 msgid "City" msgstr "Ville" #: src/datasets.cpp:329 msgid "" "Identifies city of object data origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:333 msgid "Sub Location" msgstr "Lieu précis" #: src/datasets.cpp:334 msgid "" "Identifies the location within a city from which the object data originates, " "according to guidelines established by the provider." msgstr "" #: src/datasets.cpp:337 msgid "Province State" msgstr "État Région" #: src/datasets.cpp:338 msgid "" "Identifies Province/State of origin according to guidelines established by " "the provider." msgstr "" #: src/datasets.cpp:341 msgid "State/Province" msgstr "État/Région" #: src/datasets.cpp:342 src/properties.cpp:687 src/properties.cpp:1733 msgid "Country Code" msgstr "Code du pays" #: src/datasets.cpp:343 msgid "" "Indicates the code of the country/primary location where the intellectual " "property of the object data was created, e.g. a photo was taken, an event " "occurred. Where ISO has established an appropriate country code under ISO " "3166, that code will be used. When ISO 3166 does not adequately provide for " "identification of a location or a new country, e.g. ships at sea, space, " "IPTC will assign an appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts." msgstr "" #: src/datasets.cpp:352 msgid "Country Name" msgstr "Libellé du pays" #: src/datasets.cpp:353 msgid "" "Provides full, publishable, name of the country/primary location where the " "intellectual property of the object data was created, according to " "guidelines of the provider." msgstr "" #: src/datasets.cpp:357 src/panasonicmn.cpp:505 src/properties.cpp:432 #: src/properties.cpp:1100 src/properties.cpp:1730 msgid "Country" msgstr "Pays" #: src/datasets.cpp:358 src/datasets.cpp:362 src/properties.cpp:443 msgid "Transmission Reference" msgstr "Référence de la transmission" #: src/datasets.cpp:359 msgid "" "A code representing the location of original transmission according to " "practices of the provider." msgstr "" #: src/datasets.cpp:363 src/datasets.cpp:366 src/properties.cpp:438 msgid "Headline" msgstr "Chapô" #: src/datasets.cpp:364 msgid "" "A publishable entry providing a synopsis of the contents of the object data." msgstr "" #: src/datasets.cpp:367 src/datasets.cpp:370 src/properties.cpp:433 msgid "Credit" msgstr "Crédit" #: src/datasets.cpp:368 msgid "" "Identifies the provider of the object data, not necessarily the owner/" "creator." msgstr "" #: src/datasets.cpp:371 src/datasets.cpp:375 src/properties.cpp:183 #: src/properties.cpp:440 src/properties.cpp:1306 msgid "Source" msgstr "Source" #: src/datasets.cpp:372 msgid "" "Identifies the original owner of the intellectual content of the object " "data. This could be an agency, a member of an agency or an individual." msgstr "" #: src/datasets.cpp:377 msgid "Contains any necessary copyright notice." msgstr "" #: src/datasets.cpp:379 msgid "Copyright Notice" msgstr "Notice Droit d'auteur" #: src/datasets.cpp:380 src/properties.cpp:962 src/properties.cpp:971 msgid "Contact" msgstr "Contact" #: src/datasets.cpp:381 msgid "" "Identifies the person or organisation which can provide further background " "information on the object data." msgstr "" #: src/datasets.cpp:384 src/properties.cpp:2101 msgid "Caption" msgstr "Légende" #: src/datasets.cpp:385 msgid "A textual description of the object data." msgstr "" #: src/datasets.cpp:387 src/properties.cpp:168 src/properties.cpp:1006 msgid "Description" msgstr "Description" #: src/datasets.cpp:388 msgid "Writer" msgstr "Auteur de la Description" #: src/datasets.cpp:389 msgid "" "Identification of the name of the person involved in the writing, editing or " "correcting the object data or caption/abstract." msgstr "" #: src/datasets.cpp:392 #, fuzzy msgid "Rasterized Caption" msgstr "Solarisation" #: src/datasets.cpp:393 msgid "" "Contains the rasterized object data description and is used where characters " "that have not been coded are required for the caption." msgstr "" #: src/datasets.cpp:397 msgid "Indicates the color components of an image." msgstr "" #: src/datasets.cpp:399 msgid "Image Orientation" msgstr "Orientation" #: src/datasets.cpp:400 #, fuzzy msgid "Indicates the layout of an image." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/datasets.cpp:402 src/properties.cpp:174 src/properties.cpp:1197 #: src/properties.cpp:1451 msgid "Language" msgstr "Langue" #: src/datasets.cpp:403 msgid "" "Describes the major national language of the object, according to the 2-" "letter codes of ISO 639:1988. Does not define or imply any coded character " "set, but is used for internal routing, e.g. to various editorial desks." msgstr "" #: src/datasets.cpp:408 msgid "Audio Type" msgstr "Type audio" #: src/datasets.cpp:409 #, fuzzy msgid "Indicates the type of an audio content." msgstr "Identifie le fournisseur et le produit" #: src/datasets.cpp:411 msgid "Audio Rate" msgstr "Débit audio" #: src/datasets.cpp:412 msgid "Indicates the sampling rate in Hertz of an audio content." msgstr "" #: src/datasets.cpp:414 msgid "Audio Resolution" msgstr "Résolution audio" #: src/datasets.cpp:415 msgid "Indicates the sampling resolution of an audio content." msgstr "" #: src/datasets.cpp:417 msgid "Audio Duration" msgstr "Durée audio" #: src/datasets.cpp:418 msgid "Indicates the duration of an audio content." msgstr "" #: src/datasets.cpp:420 #, fuzzy msgid "Audio Outcue" msgstr "Débit audio" #: src/datasets.cpp:421 msgid "" "Identifies the content of the end of an audio object data, according to " "guidelines established by the provider." msgstr "" #: src/datasets.cpp:424 msgid "Preview Format" msgstr "Format de prévisualisation" #: src/datasets.cpp:425 msgid "" "A binary number representing the file format of the object data preview. The " "file format must be registered with IPTC or NAA organizations with a unique " "number assigned to it." msgstr "" #: src/datasets.cpp:429 src/properties.cpp:1276 msgid "Preview Version" msgstr "Version de prévisualisation" #: src/datasets.cpp:430 #, fuzzy msgid "" "A binary number representing the particular version of the object data " "preview file format specified in tag ." msgstr "" "Un champ binaire représentant la version courante du format du fichier " "spécifié par le marqueur ." #: src/datasets.cpp:433 msgid "Preview Data" msgstr "Données de prévisualisation" #: src/datasets.cpp:434 msgid "Binary image preview data." msgstr "" #: src/datasets.cpp:436 src/datasets.cpp:437 msgid "(Invalid)" msgstr "(Invalide)" #: src/datasets.cpp:446 src/datasets.cpp:447 src/datasets.cpp:450 msgid "Unknown dataset" msgstr "Données inconnues" #: src/error.cpp:55 #, fuzzy msgid "Error %0: arg2=%2, arg3=%3, arg1=%1." msgstr "Erreur %0 : arg1=%1, arg2=%2, arg3=%3." #: src/error.cpp:56 msgid "Success" msgstr "Réussite" #: src/error.cpp:59 msgid "This does not look like a %1 image" msgstr "Cela ne ressemble pas a une image %1" #: src/error.cpp:60 msgid "Invalid dataset name `%1'" msgstr "Nom de donnés `%1' invalide" #: src/error.cpp:61 msgid "Invalid record name `%1'" msgstr "Nom d'enregistrement `%1' invalide" #: src/error.cpp:62 msgid "Invalid key `%1'" msgstr "Clef `%1' invalide" #: src/error.cpp:63 #, fuzzy msgid "Invalid tag name or ifdId `%1', ifdId %2" msgstr "Nom de donnés `%1' invalide" #: src/error.cpp:64 msgid "Value not set" msgstr "Valeur non réglée" #: src/error.cpp:65 msgid "%1: Failed to open the data source: %2" msgstr "%1 : Impossible d'ouvrir la source de données : %2" #: src/error.cpp:66 msgid "%1: Failed to open file (%2): %3" msgstr "%1 : Impossible d'ouvrir le fichier (%2) : %3" #: src/error.cpp:67 msgid "%1: The file contains data of an unknown image type" msgstr "%1 : Le fichier contient des données de type inconnu" #: src/error.cpp:68 msgid "The memory contains data of an unknown image type" msgstr "La mémoire contient des données de type inconnu" #: src/error.cpp:69 msgid "Image type %1 is not supported" msgstr "Le type d'image %1 n'est pas supporté" #: src/error.cpp:70 msgid "Failed to read image data" msgstr "Impossible de lire les données de l'image" #: src/error.cpp:71 msgid "This does not look like a JPEG image" msgstr "Cela ne semble pas être une image JPEG" #: src/error.cpp:72 #, fuzzy msgid "%1: Failed to map file for reading and writing: %2" msgstr "Impossible d'ouvrir le fichier à lire\n" #: src/error.cpp:73 msgid "%1: Failed to rename file to %2: %3" msgstr "%1 : Impossible de renommer le fichier en %2 : %3" #: src/error.cpp:74 msgid "%1: Transfer failed: %2" msgstr "%1 : Transfert échoué : %2" #: src/error.cpp:75 msgid "Memory transfer failed: %1" msgstr "Transfert de mémoire échoué : %1" #: src/error.cpp:76 msgid "Failed to read input data" msgstr "Impossible de lire les données d'entrée" #: src/error.cpp:77 msgid "Failed to write image" msgstr "Impossible d'écrire l'image" #: src/error.cpp:78 msgid "Input data does not contain a valid image" msgstr "Les données d'entrée ne contiennent pas d'image valide" #: src/error.cpp:79 #, fuzzy msgid "Invalid ifdId %1" msgstr "Clef `%1' invalide" #: src/error.cpp:80 msgid "Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" "Entry::setValue : valeur trop grande (marqueur=%1, taille=%2, demandé=%3)" #: src/error.cpp:81 msgid "Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)" msgstr "" "Entry::setDataArea : valeur trop grande (marqueur=%1, taille=%2, demandé=%3)" #: src/error.cpp:82 msgid "Offset out of range" msgstr "Décalage hors de porté" #: src/error.cpp:83 #, fuzzy msgid "Unsupported data area offset type" msgstr "Format de date non supporté" #: src/error.cpp:84 #, fuzzy msgid "Invalid charset: `%1'" msgstr "Clef `%1' invalide" #: src/error.cpp:85 msgid "Unsupported date format" msgstr "Format de date non supporté" #: src/error.cpp:86 msgid "Unsupported time format" msgstr "Format d'heure non supporté" #: src/error.cpp:87 #, fuzzy msgid "Writing to %1 images is not supported" msgstr "Écrire dans des images %2 n'est pas supporté" #: src/error.cpp:88 msgid "Setting %1 in %2 images is not supported" msgstr "Régler %1 dans des image %2 n'est pas supporté" #: src/error.cpp:89 msgid "This does not look like a CRW image" msgstr "Cela ne semble pas être une image CRW" #: src/error.cpp:90 msgid "%1: Not supported" msgstr "%1 : non supporté" #: src/error.cpp:91 msgid "No namespace info available for XMP prefix `%1'" msgstr "" #: src/error.cpp:92 msgid "No prefix registered for namespace `%2', needed for property path `%1'" msgstr "" #: src/error.cpp:93 msgid "Size of %1 JPEG segment is larger than 65535 bytes" msgstr "Taille du segment JPEG %1 est plus grand que 65535 octets" #: src/error.cpp:94 msgid "Unhandled Xmpdatum %1 of type %2" msgstr "" #: src/error.cpp:95 msgid "Unhandled XMP node %1 with opt=%2" msgstr "" #: src/error.cpp:96 msgid "XMP Toolkit error %1: %2" msgstr "" #: src/error.cpp:97 msgid "Failed to decode Lang Alt property %1 with opt=%2" msgstr "" #: src/error.cpp:98 msgid "Failed to decode Lang Alt qualifier %1 with opt=%2" msgstr "" #: src/error.cpp:99 msgid "Failed to encode Lang Alt property %1" msgstr "" #: src/error.cpp:100 msgid "Failed to determine property name from path %1, namespace %2" msgstr "" #: src/error.cpp:101 msgid "Schema namespace %1 is not registered with the XMP Toolkit" msgstr "" #: src/error.cpp:102 msgid "No namespace registered for prefix `%1'" msgstr "" #: src/error.cpp:103 msgid "" "Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `" "%1', `%2', `%3'" msgstr "" #: src/error.cpp:104 #, fuzzy msgid "Invalid XmpText type `%1'" msgstr "Clef `%1' invalide" #: src/error.cpp:105 msgid "TIFF directory %1 has too many entries" msgstr "" #: src/error.cpp:106 msgid "Multiple TIFF array element tags %1 in one directory" msgstr "" #: src/error.cpp:107 msgid "TIFF array element tag %1 has wrong type" msgstr "" #: src/error.cpp:108 #, fuzzy msgid "%1 has invalid XMP value type `%2'" msgstr "Clef `%1' invalide" #: src/exiv2.cpp:213 #, fuzzy msgid "Copyright (C) 2004-2015 Andreas Huggel.\n" msgstr "Copyright (C) 2004-2015 Andreas Huggel.\n" #: src/exiv2.cpp:215 msgid "" "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" msgstr "" #: src/exiv2.cpp:220 msgid "" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" msgstr "" #: src/exiv2.cpp:225 msgid "" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n" msgstr "" #: src/exiv2.cpp:236 msgid "Usage:" msgstr "Utilisation :" #: src/exiv2.cpp:237 msgid "" "[ options ] [ action ] file ...\n" "\n" msgstr "" " [ options ] [ action ] fichier ...\n" "\n" #: src/exiv2.cpp:238 msgid "Manipulate the Exif metadata of images.\n" msgstr "Manipulation des métadonnées EXIF issues des images.\n" #: src/exiv2.cpp:244 msgid "" "\n" "Actions:\n" msgstr "" "\n" "Actions :\n" #: src/exiv2.cpp:245 msgid "" " ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n" msgstr "" " ad | adjust Ajuste l'horodatage Exif par la date donnée. Cette\n" " action nécessite l'option -a date.\n" #: src/exiv2.cpp:247 msgid " pr | print Print image metadata.\n" msgstr " pr | print Affiche les métadonnées de l'image.\n" #: src/exiv2.cpp:248 msgid " rm | delete Delete image metadata from the files.\n" msgstr " rm | delete Supprime les métadonnées de l'image.\n" #: src/exiv2.cpp:249 msgid "" " in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n" msgstr "" " in | insert Insert les métadonnées des fichiers *.exv correspondants.\n" " Utilisez l'option -S pour changer le suffixe des fichiers " "d'entrées.\n" #: src/exiv2.cpp:251 msgid "" " ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n" msgstr "" " ex | extract Extrait les métadonnées dans un ficher *.exv et l'aperçu de " "l'image.\n" #: src/exiv2.cpp:252 msgid "" " mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n" msgstr "" " mv | rename Renomme les fichier et/ou change l'horodatage en " "concordance\n" " avec l'horodatage Exif. Le format de nom du fichier peut " "être définit avec\n" " -r format, les options d'horodatage sont contrôlées par -t " "et -T.\n" #: src/exiv2.cpp:255 msgid "" " mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n" msgstr "" " mo | modify Commande pour modifier (add, set, delete) les métadonnées\n" " Exif et Iptc ou le commentaire JPEG de l'image.\n" " Nécessite l'option -c, -m ou -M.\n" #: src/exiv2.cpp:258 msgid "" " fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n" msgstr "" " fi | fixiso Copie le paramètre ISO du marqueur Nikon dans le marqueur\n" " Exif standard.\n" #: src/exiv2.cpp:260 msgid "" " fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n" msgstr "" #: src/exiv2.cpp:262 msgid "" "\n" "Options:\n" msgstr "" "\n" "Options :\n" #: src/exiv2.cpp:263 msgid " -h Display this help and exit.\n" msgstr " -h Affiche cette aide et sort.\n" #: src/exiv2.cpp:264 msgid " -V Show the program version and exit.\n" msgstr " -V Affiche la version du logiciel et sort.\n" #: src/exiv2.cpp:265 msgid " -v Be verbose during the program run.\n" msgstr " -v Bavard lors de l'exécution du programme.\n" #: src/exiv2.cpp:266 #, fuzzy msgid "" " -q Silence warnings and error messages during the program run " "(quiet).\n" msgstr " -v Bavard lors de l'exécution du programme.\n" #: src/exiv2.cpp:267 msgid "" " -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n" msgstr "" #: src/exiv2.cpp:268 msgid " -b Show large binary values.\n" msgstr " -b Affiche les grandes données binaires.\n" #: src/exiv2.cpp:269 #, fuzzy msgid " -u Show unknown tags.\n" msgstr " -u N'affiche pas les marqueurs inconnus.\n" #: src/exiv2.cpp:270 msgid " -g key Only output info for this key (grep).\n" msgstr "" #: src/exiv2.cpp:271 msgid " -K key Only output info for this key (exact match).\n" msgstr "" #: src/exiv2.cpp:272 msgid " -n enc Charset to use to decode UNICODE Exif user comments.\n" msgstr "" #: src/exiv2.cpp:273 msgid " -k Preserve file timestamps (keep).\n" msgstr " -k Préserve l'horodatage des fichiers.\n" #: src/exiv2.cpp:274 msgid "" " -t Also set the file timestamp in 'rename' action (overrides -k).\n" msgstr "" " -t Change aussi l'horodatage du fichier lors de l'action " "'rename' (redéfini -k).\n" #: src/exiv2.cpp:275 msgid "" " -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n" msgstr "" " -T Change seulement l'horodatage du fichier lors de l'action " "'rename'\n" " ne ne renomme pas le fichier (redéfini -k).\n" #: src/exiv2.cpp:277 msgid " -f Do not prompt before overwriting existing files (force).\n" msgstr "" " -f Ne demande pas avant de réécrire un fichier existant (force).\n" #: src/exiv2.cpp:278 msgid " -F Do not prompt before renaming files (Force).\n" msgstr " -F Ne demande pas avant de renommer un fichier (Force).\n" #: src/exiv2.cpp:279 msgid "" " -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n" msgstr "" " -a time Ajustement temporel au format [-]HH[:MM[:SS]]. Cette option\n" " est seulement utilisée avec l'action 'adjust'.\n" #: src/exiv2.cpp:281 msgid " -Y yrs Year adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:282 msgid " -O mon Month adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:283 msgid " -D day Day adjustment with the 'adjust' action.\n" msgstr "" #: src/exiv2.cpp:284 msgid " -p mode Print mode for the 'print' action. Possible modes are:\n" msgstr "" " -p mode Mode d'affichage pour l'action 'print'. Les modes possible " "sont :\n" #: src/exiv2.cpp:285 msgid " s : print a summary of the Exif metadata (the default)\n" msgstr " s : Affiche un résumé des métadonnées Exif (par défaut)\n" #: src/exiv2.cpp:286 #, fuzzy msgid "" " a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n" msgstr "" " v : Valeurs brutes des métadonnées Exif (raccourci -Pxgnycv)\n" #: src/exiv2.cpp:287 #, fuzzy msgid " t : interpreted (translated) Exif data (-PEkyct)\n" msgstr "" " t : Interprète les métadonnées Exif data (raccourci pour -" "Pkyct)\n" #: src/exiv2.cpp:288 #, fuzzy msgid " v : plain Exif data values (-PExgnycv)\n" msgstr "" " v : Valeurs brutes des métadonnées Exif (raccourci -Pxgnycv)\n" #: src/exiv2.cpp:289 #, fuzzy msgid " h : hexdump of the Exif data (-PExgnycsh)\n" msgstr "" " h : hexdump des métadonnées Exif data (raccourci pour -" "Pxgnycsh)\n" #: src/exiv2.cpp:290 #, fuzzy msgid " i : IPTC data values (-PIkyct)\n" msgstr " i : Données Iptc\n" #: src/exiv2.cpp:291 #, fuzzy msgid " x : XMP properties (-PXkyct)\n" msgstr " x : propriétés XMP \n" #: src/exiv2.cpp:292 src/exiv2.cpp:317 msgid " c : JPEG comment\n" msgstr " c : Commentaire JPEG\n" #: src/exiv2.cpp:293 #, fuzzy msgid " p : list available previews\n" msgstr " l : intitulé du marqueur\n" #: src/exiv2.cpp:294 #, fuzzy msgid " S : print structure of image\n" msgstr " v : valeur brute\n" #: src/exiv2.cpp:295 #, fuzzy msgid " X : extract XMP from image\n" msgstr " x : propriétés XMP \n" #: src/exiv2.cpp:296 #, fuzzy msgid "" " -P flgs Print flags for fine control of tag lists ('print' action):\n" msgstr "" " -P cols Affiche les colonnes pour la liste de marqueurs Exif (action " "'print'). Colonnes Valides :\n" #: src/exiv2.cpp:297 #, fuzzy msgid " E : include Exif tags in the list\n" msgstr " s : taille en octets\n" #: src/exiv2.cpp:298 #, fuzzy msgid " I : IPTC datasets\n" msgstr " i : données IPTC\n" #: src/exiv2.cpp:299 #, fuzzy msgid " X : XMP properties\n" msgstr " x : propriétés XMP \n" #: src/exiv2.cpp:300 #, fuzzy msgid " x : print a column with the tag number\n" msgstr " x : affiche une colonne avec la valeur du marqueur\n" #: src/exiv2.cpp:301 msgid " g : group name\n" msgstr " g : nom du group\n" #: src/exiv2.cpp:302 msgid " k : key\n" msgstr " k : clef\n" #: src/exiv2.cpp:303 msgid " l : tag label\n" msgstr " l : intitulé du marqueur\n" #: src/exiv2.cpp:304 msgid " n : tag name\n" msgstr " n : nom du marqueur\n" #: src/exiv2.cpp:305 msgid " y : type\n" msgstr " y : type\n" #: src/exiv2.cpp:306 msgid " c : number of components (count)\n" msgstr " c : nombre de composant\n" #: src/exiv2.cpp:307 msgid " s : size in bytes\n" msgstr " s : taille en octets\n" #: src/exiv2.cpp:308 msgid " v : plain data value\n" msgstr " v : valeur brute\n" #: src/exiv2.cpp:309 msgid " t : interpreted (translated) data\n" msgstr " t : valeur interprété\n" #: src/exiv2.cpp:310 msgid " h : hexdump of the data\n" msgstr " h : hexdump de la donnée\n" #: src/exiv2.cpp:311 msgid "" " -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n" msgstr "" " -d tgt Efface la(les) cible(s) de l'action 'delete'. Les cibles " "possibles sont :\n" #: src/exiv2.cpp:312 msgid " a : all supported metadata (the default)\n" msgstr " a : toutes les métadonnées (par défaut)\n" #: src/exiv2.cpp:313 msgid " e : Exif section\n" msgstr " e : section Exif\n" #: src/exiv2.cpp:314 msgid " t : Exif thumbnail only\n" msgstr " t : aperçu Exif seulement\n" #: src/exiv2.cpp:315 msgid " i : IPTC data\n" msgstr " i : données IPTC\n" #: src/exiv2.cpp:316 msgid " x : XMP packet\n" msgstr " x : paquet XMP\n" #: src/exiv2.cpp:318 #, fuzzy msgid "" " -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n" msgstr "" " -i tgt Insert la(les) cible(s) pour l'action 'insert'. Les cibles " "possible sont\n" " les même que pour l'option -d. Seul les aperçus JPEG peuvent\n" " inséré, ils doivent être nommés -thumb.jpg\n" #: src/exiv2.cpp:323 #, fuzzy msgid "" " -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to " "extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n" msgstr "" " -e tgt Extrait la(les) cible(s) pour l'action 'extract'. Les cibles " "possible sont\n" " les même que pour l'option -d.\n" #: src/exiv2.cpp:328 msgid "" " -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n" msgstr "" " -r fmt Format de nom de fichier pour l'action 'rename'. la chaîne de " "format\n" " suit strftime(3). Les mots-clés suivant sont supportés :\n" #: src/exiv2.cpp:330 msgid " :basename: - original filename without extension\n" msgstr " :basename: - nom de fichier original sans extensions\n" #: src/exiv2.cpp:331 msgid "" " :dirname: - name of the directory holding the original file\n" msgstr "" " :dirname: - nom du répertoire contenant le fichier original\n" #: src/exiv2.cpp:332 msgid " :parentname: - name of parent directory\n" msgstr " :parentname: - nom du répertoire parent\n" #: src/exiv2.cpp:333 msgid " Default filename format is " msgstr " Le format du nom par défaut est " #: src/exiv2.cpp:335 msgid " -c txt JPEG comment string to set in the image.\n" msgstr " -c txt Commentaire JPEG a appliquer à l'image.\n" #: src/exiv2.cpp:336 msgid "" " -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n" msgstr "" " -m file Fichier de commandes pour l'action modifier . Le format des " "commande est\n" " set|add|del [[] ].\n" #: src/exiv2.cpp:338 msgid "" " -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n" msgstr "" " -M file Ligne de commandes pour l'action modifier . Le format des " "commande est\n" " le meme que celui utilisé dans le fichier de commande.\n" #: src/exiv2.cpp:340 msgid "" " -l dir Location (directory) for files to be inserted from or extracted " "to.\n" msgstr "" " -l dir Emplacement (répertoire) pour les fichiers qui seront insérés de " "ou extraits dans.\n" #: src/exiv2.cpp:341 msgid "" " -S .suf Use suffix .suf for source files for insert command.\n" "\n" msgstr "" " -S .suf Utilise le suffixe suf comme source du ficher pour la commande " "insertion.\n" "\n" #: src/exiv2.cpp:379 src/exiv2.cpp:409 src/exiv2.cpp:433 src/exiv2.cpp:482 #: src/exiv2.cpp:541 src/exiv2.cpp:730 msgid "Option" msgstr "Оption" #: src/exiv2.cpp:380 msgid "requires an argument\n" msgstr "nécessite un argument\n" #: src/exiv2.cpp:384 msgid "Unrecognized option" msgstr "Option non reconnue" #: src/exiv2.cpp:390 msgid "getopt returned unexpected character code" msgstr "getopt a retourné un caractère non attendu" #: src/exiv2.cpp:410 #, fuzzy msgid "Invalid argument" msgstr "clef invalide" #: src/exiv2.cpp:434 #, fuzzy msgid "Invalid regexp" msgstr "clef invalide" #: src/exiv2.cpp:473 src/exiv2.cpp:526 msgid "Ignoring surplus option" msgstr "Ignore l'option supplémentaire" #: src/exiv2.cpp:483 src/exiv2.cpp:543 src/exiv2.cpp:731 msgid "is not compatible with a previous option\n" msgstr "n'est pas compatible avec une option précédente\n" #: src/exiv2.cpp:498 msgid "Ignoring surplus option -a" msgstr "Ignore l'option supplémentaire -a" #: src/exiv2.cpp:504 msgid "Error parsing -a option argument" msgstr "Erreur en traitant l'argument de l'option -a" #: src/exiv2.cpp:511 msgid "Option -a is not compatible with a previous option\n" msgstr "L'option -a n'est pas compatible avec une option précédente\n" #: src/exiv2.cpp:533 msgid "Error parsing" msgstr "Erreur lors de l'analyse" #: src/exiv2.cpp:535 #, fuzzy msgid "option argument" msgstr "Nom du pays" #: src/exiv2.cpp:568 msgid "Unrecognized print mode" msgstr "Mode d'affichage non reconnu" #: src/exiv2.cpp:576 msgid "Ignoring surplus option -p" msgstr "Ignore l'option supplémentaire -p" #: src/exiv2.cpp:580 msgid "Option -p is not compatible with a previous option\n" msgstr "L'option -p n'est pas compatible avec une option précédente\n" #: src/exiv2.cpp:611 msgid "Unrecognized print item" msgstr "Élément d'affichage non reconnu" #: src/exiv2.cpp:620 msgid "Ignoring surplus option -P" msgstr "Ignore l'option supplémentaire -P" #: src/exiv2.cpp:624 msgid "Option -P is not compatible with a previous option\n" msgstr "L'option -P n'est pas compatible avec une option précédente\n" #: src/exiv2.cpp:651 msgid "Option -d is not compatible with a previous option\n" msgstr "L'option -d n'est pas compatible avec une option précédente\n" #: src/exiv2.cpp:679 msgid "Option -e is not compatible with a previous option\n" msgstr "L'option -e n'est pas compatible avec une option précédente\n" #: src/exiv2.cpp:707 msgid "Option -i is not compatible with a previous option\n" msgstr "L'option -i n'est pas compatible avec une option précédente\n" #: src/exiv2.cpp:748 msgid "Action adjust is not compatible with the given options\n" msgstr "L'action ajuster n'est pas compatible avec les options données\n" #: src/exiv2.cpp:757 msgid "Action print is not compatible with the given options\n" msgstr "L'action afficher n'est pas compatible avec les options données\n" #: src/exiv2.cpp:766 msgid "Action delete is not compatible with the given options\n" msgstr "L'action effacer n'est pas compatible avec les options données\n" #: src/exiv2.cpp:777 msgid "Action extract is not compatible with the given options\n" msgstr "L'action extraire n'est pas compatible avec les options données\n" #: src/exiv2.cpp:788 msgid "Action insert is not compatible with the given options\n" msgstr "L'action insérer n'est pas compatible avec les options données\n" #: src/exiv2.cpp:797 msgid "Action rename is not compatible with the given options\n" msgstr "L'action renommer n'est pas compatible avec les options données\n" #: src/exiv2.cpp:806 msgid "Action modify is not compatible with the given options\n" msgstr "L'action modifier n'est pas compatible avec les options données\n" #: src/exiv2.cpp:815 msgid "Action fixiso is not compatible with the given options\n" msgstr "L'action fixiso n'est pas compatible avec les options données\n" #: src/exiv2.cpp:824 #, fuzzy msgid "Action fixcom is not compatible with the given options\n" msgstr "L'action fixiso n'est pas compatible avec les options données\n" #: src/exiv2.cpp:895 msgid "An action must be specified\n" msgstr "Une action doit être spécifié\n" #: src/exiv2.cpp:904 #, fuzzy msgid "Adjust action requires at least one -a, -Y, -O or -D option\n" msgstr "L'action modifier nécessite au moins une option -c, -m ou -M\n" #: src/exiv2.cpp:910 msgid "Modify action requires at least one -c, -m or -M option\n" msgstr "L'action modifier nécessite au moins une option -c, -m ou -M\n" #: src/exiv2.cpp:914 msgid "At least one file is required\n" msgstr "Au moins un fichier est nécessaire\n" #: src/exiv2.cpp:920 msgid "Error parsing -m option arguments\n" msgstr "Erreur en traitant les arguments de l'option -m\n" #: src/exiv2.cpp:927 msgid "Error parsing -M option arguments\n" msgstr "Erreur en traitant les arguments de l'option -M\n" #: src/exiv2.cpp:938 msgid "-l option can only be used with extract or insert actions\n" msgstr "" "L'option -I ne peut être utilisé qu'avec des actions d'insertion ou " "d'extraction\n" #: src/exiv2.cpp:943 msgid "-S option can only be used with insert action\n" msgstr "L'option -S ne peut être utilisé qu'avec l'action d'insertion\n" #: src/exiv2.cpp:948 msgid "-t option can only be used with rename action\n" msgstr "L'option -t ne peut être utilisé qu'avec l'actions de renommage\n" #: src/exiv2.cpp:953 msgid "-T option can only be used with rename action\n" msgstr "L'option -T ne peut être utilisé qu'avec l'actions de renommage\n" #: src/exiv2.cpp:1038 msgid "Unrecognized " msgstr "Non reconnu" #: src/exiv2.cpp:1039 msgid "target" msgstr "cible" #: src/exiv2.cpp:1065 #, fuzzy msgid "Invalid preview number" msgstr "Nombre d'intervalle" #: src/exiv2.cpp:1097 msgid "Failed to open command file for reading\n" msgstr "Impossible d'ouvrir le fichier à lire\n" #: src/exiv2.cpp:1110 msgid "line" msgstr "ligne" #: src/exiv2.cpp:1133 msgid "-M option" msgstr "option -M" #: src/exiv2.cpp:1180 #, fuzzy msgid "Invalid command line:" msgstr "ligne de commande invalide" #: src/exiv2.cpp:1187 msgid "Invalid command" msgstr "commande invalide" #: src/exiv2.cpp:1219 msgid "Invalid key" msgstr "clef invalide" #: src/exiv2.cpp:1239 src/exiv2.cpp:1251 msgid "Invalid command line" msgstr "ligne de commande invalide" #: src/fujimn.cpp:62 msgid "Soft mode 1" msgstr "Mode doux 1" #: src/fujimn.cpp:63 msgid "Soft mode 2" msgstr "Mode doux 2" #: src/fujimn.cpp:65 msgid "Hard mode 1" msgstr "Mode dur 1" #: src/fujimn.cpp:66 msgid "Hard mode 2" msgstr "Mode dur 2" #: src/fujimn.cpp:74 msgid "Fluorescent (daylight)" msgstr "Fluorescent (lumière du jour)" #: src/fujimn.cpp:75 msgid "Fluorescent (warm white)" msgstr "Fluorescent (blanc chaud)" #: src/fujimn.cpp:76 msgid "Fluorescent (cool white)" msgstr "Fluorescent (blanc froid)" #: src/fujimn.cpp:77 src/nikonmn.cpp:454 src/sonymn.cpp:219 msgid "Incandescent" msgstr "Incandescent" #: src/fujimn.cpp:87 src/fujimn.cpp:88 msgid "None (black & white)" msgstr "Aucun (Noir & Blanc)" #: src/fujimn.cpp:103 src/fujimn.cpp:104 src/minoltamn.cpp:210 msgid "Red-eye reduction" msgstr "Mode anti-yeux rouges." #: src/fujimn.cpp:119 src/tags.cpp:1511 src/tags.cpp:1512 msgid "Night scene" msgstr "Scène de nuit" #: src/fujimn.cpp:120 src/pentaxmn.cpp:616 src/pentaxmn.cpp:623 #: src/sonymn.cpp:567 msgid "Program AE" msgstr "Programme exposition automatique" #: src/fujimn.cpp:121 msgid "Natural light" msgstr "Lumière naturelle" #: src/fujimn.cpp:122 msgid "Anti-blur" msgstr "Anti flou" #: src/fujimn.cpp:123 src/minoltamn.cpp:314 src/minoltamn.cpp:844 #: src/minoltamn.cpp:1941 src/minoltamn.cpp:2090 src/olympusmn.cpp:108 #: src/panasonicmn.cpp:141 src/pentaxmn.cpp:594 src/pentaxmn.cpp:603 #: src/sonymn.cpp:528 src/sonymn.cpp:574 msgid "Sunset" msgstr "Ensoleillé" #: src/fujimn.cpp:124 src/olympusmn.cpp:113 src/pentaxmn.cpp:598 msgid "Museum" msgstr "Musée" #: src/fujimn.cpp:125 src/panasonicmn.cpp:128 msgid "Party" msgstr "Fête" #: src/fujimn.cpp:126 msgid "Flower" msgstr "Fleur" #: src/fujimn.cpp:127 src/minoltamn.cpp:312 src/minoltamn.cpp:402 #: src/minoltamn.cpp:2088 src/pentaxmn.cpp:593 msgid "Text" msgstr "Texte" #: src/fujimn.cpp:128 msgid "Natural light & flash" msgstr "Lumière naturelle et flash" #: src/fujimn.cpp:133 src/olympusmn.cpp:484 src/sonymn.cpp:568 msgid "Aperture-priority AE" msgstr "Priorité ouverture AE" #: src/fujimn.cpp:134 src/olympusmn.cpp:485 src/sonymn.cpp:569 msgid "Shutter speed priority AE" msgstr "Priorité vitesse obturation AE" #: src/fujimn.cpp:142 msgid "No flash & flash" msgstr "Pas de flash & flash" #: src/fujimn.cpp:148 msgid "Chrome" msgstr "Chrome" #: src/fujimn.cpp:155 src/minoltamn.cpp:917 src/minoltamn.cpp:931 #: src/minoltamn.cpp:1989 src/panasonicmn.cpp:274 msgid "Wide" msgstr "Large" #: src/fujimn.cpp:160 msgid "F0/Standard" msgstr "F0/Standard" #: src/fujimn.cpp:161 msgid "F1/Studio portrait" msgstr "F1/Portrait studio" #: src/fujimn.cpp:162 msgid "F2/Fujichrome" msgstr "F2/Fujichrome" #: src/fujimn.cpp:163 msgid "F3/Studio portrait Ex" msgstr "F3/Portrait Studio Ex" #: src/fujimn.cpp:164 msgid "F4/Velvia" msgstr "F4/Velvia" #: src/fujimn.cpp:169 msgid "Auto (100-400%)" msgstr "Auto (100-400%)" #: src/fujimn.cpp:170 src/minoltamn.cpp:74 src/minoltamn.cpp:242 #: src/minoltamn.cpp:673 src/minoltamn.cpp:859 src/minoltamn.cpp:2109 #: src/olympusmn.cpp:74 src/panasonicmn.cpp:59 msgid "Raw" msgstr "Brut" #: src/fujimn.cpp:171 msgid "Standard (100%)" msgstr "Standard (100%)" #: src/fujimn.cpp:172 msgid "Wide mode 1 (230%)" msgstr "Mode large 1 (230%)" #: src/fujimn.cpp:173 msgid "Wide mode 2 (400%)" msgstr "Mode large 2 (400%)" #: src/fujimn.cpp:174 msgid "Film simulation mode" msgstr "Mode simulation de film" #: src/fujimn.cpp:179 src/nikonmn.cpp:215 src/nikonmn.cpp:532 #: src/nikonmn.cpp:654 src/nikonmn.cpp:699 src/nikonmn.cpp:863 #: src/nikonmn.cpp:887 src/nikonmn.cpp:908 src/nikonmn.cpp:1023 #: src/nikonmn.cpp:1045 src/nikonmn.cpp:1065 src/nikonmn.cpp:1085 #: src/nikonmn.cpp:1098 src/nikonmn.cpp:1157 src/nikonmn.cpp:1217 #: src/nikonmn.cpp:1247 src/nikonmn.cpp:1267 src/nikonmn.cpp:1280 #: src/nikonmn.cpp:1293 src/nikonmn.cpp:1306 src/nikonmn.cpp:1319 #: src/nikonmn.cpp:1332 src/nikonmn.cpp:1345 src/nikonmn.cpp:1364 #: src/nikonmn.cpp:1389 src/panasonicmn.cpp:725 src/pentaxmn.cpp:1145 #: src/properties.cpp:495 msgid "Version" msgstr "Version" #: src/fujimn.cpp:180 msgid "Fujifilm Makernote version" msgstr "Version des notes de fabriquant Fujifilm" #: src/fujimn.cpp:183 src/panasonicmn.cpp:455 msgid "" "This number is unique, and contains the date of manufacture, but is not the " "same as the number printed on the camera body." msgstr "" #: src/fujimn.cpp:187 src/nikonmn.cpp:225 src/nikonmn.cpp:466 #: src/nikonmn.cpp:535 src/olympusmn.cpp:199 msgid "Image quality setting" msgstr "Réglage de qualité de l'image" #: src/fujimn.cpp:195 src/nikonmn.cpp:428 msgid "Color" msgstr "Couleur" #: src/fujimn.cpp:196 msgid "Chroma saturation setting" msgstr "Réglage de saturation chromatique" #: src/fujimn.cpp:198 msgid "Tone" msgstr "Ton" #: src/fujimn.cpp:202 msgid "Flash firing mode setting" msgstr "Mode de déclenchement du flash" #: src/fujimn.cpp:204 msgid "Flash Strength" msgstr "Puissance Flash" #: src/fujimn.cpp:205 #, fuzzy msgid "Flash firing strength compensation setting" msgstr "Réglage compensation Flash" #: src/fujimn.cpp:208 msgid "Macro mode setting" msgstr "Réglages du mode macro" #: src/fujimn.cpp:211 msgid "Focusing mode setting" msgstr "Réglage de mode de mise au point" #: src/fujimn.cpp:216 msgid "Slow Sync" msgstr "Synchro lente" #: src/fujimn.cpp:217 msgid "Slow synchro mode setting" msgstr "Réglage de mode de synchro lente" #: src/fujimn.cpp:219 src/olympusmn.cpp:696 src/olympusmn.cpp:898 msgid "Picture Mode" msgstr "Mode d'image" #: src/fujimn.cpp:220 msgid "Picture mode setting" msgstr "Réglage de mode d'image" #: src/fujimn.cpp:226 msgid "Continuous shooting or auto bracketing setting" msgstr "Réglage prise de vue continue ou auto-bracketing" #: src/fujimn.cpp:228 src/panasonicmn.cpp:461 src/sonymn.cpp:463 msgid "Sequence Number" msgstr "Numéro Séquence" #: src/fujimn.cpp:229 src/olympusmn.cpp:1165 src/panasonicmn.cpp:461 msgid "Sequence number" msgstr "Numéro Séquence" #: src/fujimn.cpp:234 msgid "FinePix Color" msgstr "Couleur FinePix" #: src/fujimn.cpp:235 msgid "Fuji FinePix color setting" msgstr "Réglage couleur FinePix" #: src/fujimn.cpp:237 msgid "Blur Warning" msgstr "Avertissement Flou" #: src/fujimn.cpp:238 msgid "Blur warning status" msgstr "Statut avertissement Flou" #: src/fujimn.cpp:240 msgid "Focus Warning" msgstr "Avertissement mise au point" #: src/fujimn.cpp:241 msgid "Auto Focus warning status" msgstr "Statut avertissement mise au point auto" #: src/fujimn.cpp:243 msgid "Exposure Warning" msgstr "Avertissement exposition" #: src/fujimn.cpp:244 msgid "Auto exposure warning status" msgstr "Statut avertissement auto exposition" #: src/fujimn.cpp:246 msgid "Dynamic Range" msgstr "Gamme dynamique" #: src/fujimn.cpp:247 msgid "Dynamic range" msgstr "Gamme dynamique" #: src/fujimn.cpp:249 src/panasonicmn.cpp:482 msgid "Film Mode" msgstr "Mode Pellicule" #: src/fujimn.cpp:250 src/panasonicmn.cpp:482 msgid "Film mode" msgstr "Mode Pellicule" #: src/fujimn.cpp:252 msgid "Dynamic Range Setting" msgstr "Réglage gamme dynamique" #: src/fujimn.cpp:253 msgid "Dynamic range settings" msgstr "Réglage gamme dynamique" #: src/fujimn.cpp:255 #, fuzzy msgid "Development Dynamic Range" msgstr "Gamme dynamique" #: src/fujimn.cpp:256 #, fuzzy msgid "Development dynamic range" msgstr "Gamme dynamique" #: src/fujimn.cpp:258 msgid "Minimum Focal Length" msgstr "Longueur focale minimale" #: src/fujimn.cpp:259 msgid "Minimum focal length" msgstr "Longueur focale minimale" #: src/fujimn.cpp:261 msgid "Maximum Focal Length" msgstr "Longueur focale maximum" #: src/fujimn.cpp:262 msgid "Maximum focal length" msgstr "Longueur focale maximum" #: src/fujimn.cpp:264 #, fuzzy msgid "Maximum Aperture at Minimum Focal" msgstr "Ouverture maximum à focal minimum" #: src/fujimn.cpp:265 #, fuzzy msgid "Maximum aperture at minimum focal" msgstr "Ouverture maximum à focal minimum" #: src/fujimn.cpp:267 #, fuzzy msgid "Maximum Aperture at Maximum Focal" msgstr "Ouverture maximum à focal maximum" #: src/fujimn.cpp:268 #, fuzzy msgid "Maximum aperture at maximum focal" msgstr "Ouverture maximum à focal maximum" #: src/fujimn.cpp:270 src/properties.cpp:602 src/tags.cpp:1766 msgid "File Source" msgstr "Source du fichier" #: src/fujimn.cpp:271 msgid "File source" msgstr "Source du fichier" #: src/fujimn.cpp:273 msgid "Order Number" msgstr "Numéro ordre" #: src/fujimn.cpp:274 msgid "Order number" msgstr "Numéro ordre" #: src/fujimn.cpp:276 msgid "Frame Number" msgstr "Numéro frame" #: src/fujimn.cpp:277 src/pentaxmn.cpp:1257 src/pentaxmn.cpp:1258 msgid "Frame number" msgstr "Numéro frame" #: src/fujimn.cpp:281 msgid "Unknown FujiMakerNote tag" msgstr "Marqueur FujiMakerNote inconnu" #: src/minoltamn.cpp:56 msgid "Natural Color" msgstr "Couleur naturelle" #: src/minoltamn.cpp:58 src/minoltamn.cpp:1938 msgid "Vivid Color" msgstr "Couleurs vives" #: src/minoltamn.cpp:59 src/minoltamn.cpp:358 msgid "Solarization" msgstr "Solarisation" #: src/minoltamn.cpp:60 src/minoltamn.cpp:1944 msgid "AdobeRGB" msgstr "AdobeRGB" #: src/minoltamn.cpp:62 src/minoltamn.cpp:946 src/olympusmn.cpp:617 #: src/olympusmn.cpp:860 src/panasonicmn.cpp:261 src/panasonicmn.cpp:371 #: src/pentaxmn.cpp:969 msgid "Natural" msgstr "Naturel" #: src/minoltamn.cpp:64 msgid "Natural sRGB" msgstr "sRGB naturel" #: src/minoltamn.cpp:65 msgid "Natural+ sRGB" msgstr "sRGB naturel+" #: src/minoltamn.cpp:67 msgid "Evening" msgstr "Soirée" #: src/minoltamn.cpp:69 src/minoltamn.cpp:952 src/minoltamn.cpp:2093 #: src/sonymn.cpp:575 msgid "Night Portrait" msgstr "Portrait de nuit" #: src/minoltamn.cpp:75 src/minoltamn.cpp:2110 msgid "Super Fine" msgstr "Super fin" #: src/minoltamn.cpp:79 src/minoltamn.cpp:2056 src/minoltamn.cpp:2114 #: src/sonymn.cpp:182 msgid "Extra Fine" msgstr "Extra fin" #: src/minoltamn.cpp:90 msgid "Makernote Version" msgstr "Version des Notes du fabriquant" #: src/minoltamn.cpp:91 msgid "String 'MLT0' (not null terminated)" msgstr "Chaîne 'MLT0' (non terminée par null)" #: src/minoltamn.cpp:93 msgid "Camera Settings (Std Old)" msgstr "Réglage appareil photo (ancien standard)" #: src/minoltamn.cpp:94 msgid "" "Standard Camera settings (Old Camera models like D5, D7, S304, and S404)" msgstr "" "Réglage appareil photo standard (Anciens modèles comme les D5, D7, S304, et " "S404)" #: src/minoltamn.cpp:96 msgid "Camera Settings (Std New)" msgstr "Réglage appareil photo (Nouveau standard)" #: src/minoltamn.cpp:97 msgid "Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)" msgstr "" "Réglage appareil photo standard (Nouveaux modèles comme les D7u, D7i, et " "D7hi)" #: src/minoltamn.cpp:99 msgid "Camera Settings (7D)" msgstr "Réglage appareil photo (7D)" #: src/minoltamn.cpp:100 msgid "Camera Settings (for Dynax 7D model)" msgstr "Réglage appareil photo (pour modèle Dymax 7D)" #: src/minoltamn.cpp:102 msgid "Image Stabilization Data" msgstr "Données stabilisation image" #: src/minoltamn.cpp:103 msgid "Image stabilization data" msgstr "Données stabilisation image" #: src/minoltamn.cpp:107 msgid "WB Info A100" msgstr "" #: src/minoltamn.cpp:108 msgid "White balance information for the Sony DSLR-A100" msgstr "" #: src/minoltamn.cpp:111 msgid "Compressed Image Size" msgstr "Taille image compressée" #: src/minoltamn.cpp:112 msgid "Compressed image size" msgstr "Taille image compressée" #: src/minoltamn.cpp:115 msgid "Jpeg thumbnail 640x480 pixels" msgstr "Aperçu Jpeg 640x480 pixels" #: src/minoltamn.cpp:117 src/olympusmn.cpp:429 msgid "Thumbnail Offset" msgstr "Décalage aperçu" #: src/minoltamn.cpp:118 msgid "Offset of the thumbnail" msgstr "Décalage de l'aperçu" #: src/minoltamn.cpp:120 src/olympusmn.cpp:432 src/properties.cpp:1342 msgid "Thumbnail Length" msgstr "Longueur de l'aperçu" #: src/minoltamn.cpp:121 msgid "Size of the thumbnail" msgstr "Taille de l'aperçu" #: src/minoltamn.cpp:123 src/minoltamn.cpp:124 src/nikonmn.cpp:581 #: src/olympusmn.cpp:252 src/olympusmn.cpp:690 src/panasonicmn.cpp:534 #: src/sonymn.cpp:412 src/sonymn.cpp:413 msgid "Scene Mode" msgstr "Mode scène" #: src/minoltamn.cpp:128 src/minoltamn.cpp:1410 src/nikonmn.cpp:221 #: src/nikonmn.cpp:468 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 #: src/properties.cpp:1079 src/sonymn.cpp:430 src/sonymn.cpp:431 msgid "Color Mode" msgstr "Mode couleur" #: src/minoltamn.cpp:129 src/minoltamn.cpp:1411 src/nikonmn.cpp:222 #: src/nikonmn.cpp:469 src/nikonmn.cpp:534 src/panasonicmn.cpp:468 msgid "Color mode" msgstr "Mode couleur" #: src/minoltamn.cpp:132 src/minoltamn.cpp:502 src/minoltamn.cpp:747 #: src/minoltamn.cpp:994 src/panasonicmn.cpp:441 src/sonymn.cpp:323 msgid "Image Quality" msgstr "Qualité de l'image" #: src/minoltamn.cpp:137 src/minoltamn.cpp:138 msgid "0x0103" msgstr "" #: src/minoltamn.cpp:141 src/minoltamn.cpp:583 src/olympusmn.cpp:677 #: src/sonymn.cpp:326 msgid "Flash Exposure Compensation" msgstr "Compensation exposition flash" #: src/minoltamn.cpp:142 src/minoltamn.cpp:584 src/sonymn.cpp:327 msgid "Flash exposure compensation in EV" msgstr "Compensation exposition flash en EV" #: src/minoltamn.cpp:144 src/minoltamn.cpp:145 src/sonymn.cpp:329 #: src/sonymn.cpp:330 #, fuzzy msgid "Teleconverter Model" msgstr "Mode scène" #: src/minoltamn.cpp:150 msgid "RAW+JPG Recording" msgstr "" #: src/minoltamn.cpp:151 msgid "RAW and JPG files recording" msgstr "" #: src/minoltamn.cpp:153 src/sonymn.cpp:415 src/sonymn.cpp:416 #, fuzzy msgid "Zone Matching" msgstr "Réduction du bruit" #: src/minoltamn.cpp:154 #, fuzzy msgid "Zone matching" msgstr "Réduction du bruit" #: src/minoltamn.cpp:157 src/minoltamn.cpp:787 src/minoltamn.cpp:1043 #: src/minoltamn.cpp:1480 src/minoltamn.cpp:1582 src/pentaxmn.cpp:1315 #: src/pentaxmn.cpp:1316 msgid "Color temperature" msgstr "Température des couleurs" #: src/minoltamn.cpp:159 src/sonymn.cpp:424 msgid "Lens ID" msgstr "ID Objectif" #: src/minoltamn.cpp:160 src/sonymn.cpp:425 msgid "Lens identifier" msgstr "Identifiant objectif" #: src/minoltamn.cpp:162 src/minoltamn.cpp:1482 src/minoltamn.cpp:1584 #: src/sonymn.cpp:409 #, fuzzy msgid "Color Compensation Filter" msgstr "Compensation de tonalité" #: src/minoltamn.cpp:163 src/sonymn.cpp:410 msgid "Color Compensation Filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:165 src/minoltamn.cpp:1476 src/properties.cpp:1384 #: src/sonymn.cpp:332 src/sonymn.cpp:612 src/sonymn.cpp:613 #, fuzzy msgid "White Balance Fine Tune" msgstr "Table de balance des blancs" #: src/minoltamn.cpp:166 src/sonymn.cpp:333 #, fuzzy msgid "White Balance Fine Tune Value" msgstr "Table de balance des blancs" #: src/minoltamn.cpp:168 #, fuzzy msgid "Image Stabilization A100" msgstr "Stabilisation de l'image" #: src/minoltamn.cpp:169 #, fuzzy msgid "Image Stabilization for the Sony DSLR-A100" msgstr "Données stabilisation image" #: src/minoltamn.cpp:173 msgid "Camera Settings (5D)" msgstr "Réglage appareil photo (5D)" #: src/minoltamn.cpp:174 msgid "Camera Settings (for Dynax 5D model)" msgstr "Réglage appareil photo (pour modèles Dymax 5D)" #: src/minoltamn.cpp:180 src/nikonmn.cpp:615 src/olympusmn.cpp:258 #: src/panasonicmn.cpp:531 src/sonymn.cpp:344 msgid "Print IM" msgstr "Print IM" #: src/minoltamn.cpp:181 src/nikonmn.cpp:615 src/olympusmn.cpp:259 #: src/panasonicmn.cpp:531 src/sonymn.cpp:345 msgid "PrintIM information" msgstr "Information PrintIM" #: src/minoltamn.cpp:183 msgid "Camera Settings (Z1)" msgstr "Réglage appareil photo (Z1)" #: src/minoltamn.cpp:184 msgid "Camera Settings (for Z1, DImage X, and F100 models)" msgstr "Réglage appareil photo (pour modèles Z1, DImage X, et F100)" #: src/minoltamn.cpp:188 msgid "Unknown Minolta MakerNote tag" msgstr "Marqueur de note du fabriquant Minolta inconnu" #: src/minoltamn.cpp:202 src/minoltamn.cpp:656 src/minoltamn.cpp:836 #: src/panasonicmn.cpp:116 src/sigmamn.cpp:155 src/sonymn.cpp:152 #: src/tags.cpp:1411 msgid "Aperture priority" msgstr "Priorité ouverture" #: src/minoltamn.cpp:203 src/minoltamn.cpp:657 src/minoltamn.cpp:837 #: src/sigmamn.cpp:156 src/sonymn.cpp:153 src/tags.cpp:1412 msgid "Shutter priority" msgstr "Priorité obturation" #: src/minoltamn.cpp:209 src/minoltamn.cpp:1126 #, fuzzy msgid "Fill flash" msgstr "Flash" #: src/minoltamn.cpp:211 src/minoltamn.cpp:1124 msgid "Rear flash sync" msgstr "Synchro flash arrière" #: src/minoltamn.cpp:212 src/minoltamn.cpp:1125 msgid "Wireless" msgstr "Sans fil" #: src/minoltamn.cpp:224 msgid "Fluorescent 2" msgstr "Fluorescent 2" #: src/minoltamn.cpp:231 msgid "Full size" msgstr "Pleine taille" #: src/minoltamn.cpp:243 msgid "Super fine" msgstr "Super fin" #: src/minoltamn.cpp:247 msgid "Extra fine" msgstr "Extra fin" #: src/minoltamn.cpp:252 src/minoltamn.cpp:1103 src/minoltamn.cpp:1152 #: src/sonymn.cpp:496 #, fuzzy msgid "Single Frame" msgstr "Zone unique" #: src/minoltamn.cpp:254 src/minoltamn.cpp:1154 src/nikonmn.cpp:154 msgid "Self-timer" msgstr "retardateur" #: src/minoltamn.cpp:255 msgid "Bracketing" msgstr "bracketing" #: src/minoltamn.cpp:256 msgid "Interval" msgstr "Interval" #: src/minoltamn.cpp:257 #, fuzzy msgid "UHS continuous" msgstr "Continue" #: src/minoltamn.cpp:258 #, fuzzy msgid "HS continuous" msgstr "Continue" #: src/minoltamn.cpp:263 src/minoltamn.cpp:881 src/minoltamn.cpp:1131 #: src/sonymn.cpp:517 src/tags.cpp:1426 msgid "Multi-segment" msgstr "Multi-segments" #: src/minoltamn.cpp:264 src/minoltamn.cpp:1132 src/sonymn.cpp:518 #: src/tags.cpp:1423 msgid "Center weighted average" msgstr "Moyenne pondérée au centre" #: src/minoltamn.cpp:271 msgid "Electronic magnification" msgstr "Augmentation électronique" #: src/minoltamn.cpp:285 src/minoltamn.cpp:704 src/minoltamn.cpp:2004 #: src/nikonmn.cpp:100 src/nikonmn.cpp:809 src/nikonmn.cpp:824 #: src/pentaxmn.cpp:290 msgid "Top" msgstr "Haut" #: src/minoltamn.cpp:286 src/minoltamn.cpp:705 src/pentaxmn.cpp:308 msgid "Top-right" msgstr "Haut-droit" #: src/minoltamn.cpp:288 src/minoltamn.cpp:707 src/pentaxmn.cpp:314 msgid "Bottom-right" msgstr "Bas-droit" #: src/minoltamn.cpp:289 src/minoltamn.cpp:708 src/minoltamn.cpp:2008 #: src/nikonmn.cpp:101 src/nikonmn.cpp:810 src/nikonmn.cpp:825 #: src/pentaxmn.cpp:298 msgid "Bottom" msgstr "Bas" #: src/minoltamn.cpp:290 src/minoltamn.cpp:709 src/pentaxmn.cpp:312 msgid "Bottom-left" msgstr "Bas-gauche" #: src/minoltamn.cpp:292 src/minoltamn.cpp:711 src/pentaxmn.cpp:306 msgid "Top-left" msgstr "Haut-gauche" #: src/minoltamn.cpp:303 src/olympusmn.cpp:163 src/pentaxmn.cpp:472 #: src/tags.cpp:1528 msgid "Hard" msgstr "Dur" #: src/minoltamn.cpp:305 src/olympusmn.cpp:164 src/pentaxmn.cpp:470 #: src/tags.cpp:1527 msgid "Soft" msgstr "Doux" #: src/minoltamn.cpp:313 src/panasonicmn.cpp:114 msgid "Night portrait" msgstr "Portrait de nuit" #: src/minoltamn.cpp:315 msgid "Sports action" msgstr "Action sports" #: src/minoltamn.cpp:344 msgid "Time-lapse movie" msgstr "" #: src/minoltamn.cpp:349 msgid "Standard form" msgstr "Formulaire standard" #: src/minoltamn.cpp:350 msgid "Data form" msgstr "Formulaire de donné" #: src/minoltamn.cpp:355 msgid "Natural color" msgstr "Couleur naturelle" #: src/minoltamn.cpp:356 src/panasonicmn.cpp:73 src/panasonicmn.cpp:200 msgid "Black and white" msgstr "Noir et Blanc" #: src/minoltamn.cpp:357 msgid "Vivid color" msgstr "Couleur vive" #: src/minoltamn.cpp:364 msgid "No zone" msgstr "Pas de zone" #: src/minoltamn.cpp:365 msgid "Center zone (horizontal orientation)" msgstr "Zone centrale (orientation horizontale)" #: src/minoltamn.cpp:366 msgid "Center zone (vertical orientation)" msgstr "Zone centrale (orientation verticale)" #: src/minoltamn.cpp:367 msgid "Left zone" msgstr "Zone gauche" #: src/minoltamn.cpp:368 msgid "Right zone" msgstr "Zone droite" #: src/minoltamn.cpp:373 src/olympusmn.cpp:1006 msgid "Auto focus" msgstr "Mise au point auto" #: src/minoltamn.cpp:379 msgid "Wide focus (normal)" msgstr "Mise au point large (normale)" #: src/minoltamn.cpp:380 msgid "Spot focus" msgstr "Mise au point Spot" #: src/minoltamn.cpp:385 src/properties.cpp:477 src/sigmamn.cpp:86 #: src/sigmamn.cpp:87 msgid "Exposure" msgstr "Exposition" #: src/minoltamn.cpp:388 msgid "Filter" msgstr "Filtre" #: src/minoltamn.cpp:393 msgid "Not embedded" msgstr "Non embarqué" #: src/minoltamn.cpp:394 msgid "Embedded" msgstr "Embarqué" #: src/minoltamn.cpp:403 msgid "Text + ID#" msgstr "Texte + N° ID" #: src/minoltamn.cpp:408 msgid "ADI (Advanced Distance Integration)" msgstr "" #: src/minoltamn.cpp:409 msgid "Pre-flash TTl" msgstr "Pré-flash TTl" #: src/minoltamn.cpp:410 msgid "Manual flash control" msgstr "Contrôle de flash manuel" #: src/minoltamn.cpp:490 src/minoltamn.cpp:741 src/minoltamn.cpp:988 #: src/minoltamn.cpp:1356 src/olympusmn.cpp:665 src/properties.cpp:606 #: src/sigmamn.cpp:74 src/sonymn.cpp:442 src/sonymn.cpp:443 src/tags.cpp:1787 msgid "Exposure Mode" msgstr "Mode d'exposition" #: src/minoltamn.cpp:494 src/minoltamn.cpp:763 src/olympusmn.cpp:280 #: src/olympusmn.cpp:676 src/pentaxmn.cpp:1176 msgid "Flash mode" msgstr "Mode flash" #: src/minoltamn.cpp:506 src/minoltamn.cpp:1432 src/olympusmn.cpp:706 #: src/pentaxmn.cpp:1271 src/pentaxmn.cpp:1272 src/sigmamn.cpp:60 msgid "Drive mode" msgstr "Mode contrôle" #: src/minoltamn.cpp:512 #, fuzzy msgid "ISO Value" msgstr "Valeur de vitesse ISO" #: src/minoltamn.cpp:514 src/minoltamn.cpp:797 src/minoltamn.cpp:1027 #: src/minoltamn.cpp:1371 src/properties.cpp:573 src/properties.cpp:1147 #: src/tags.cpp:789 src/tags.cpp:1549 msgid "Exposure Time" msgstr "Temps d'exposition" #: src/minoltamn.cpp:517 src/minoltamn.cpp:794 src/minoltamn.cpp:1030 #: src/minoltamn.cpp:1374 src/minoltamn.cpp:1375 src/tags.cpp:790 #: src/tags.cpp:1552 msgid "FNumber" msgstr "Nombre F" #: src/minoltamn.cpp:518 src/minoltamn.cpp:795 src/minoltamn.cpp:1031 msgid "The F-Number" msgstr "Le F-nombre" #: src/minoltamn.cpp:520 src/olympusmn.cpp:669 msgid "Macro Mode" msgstr "Mode macro" #: src/minoltamn.cpp:526 src/minoltamn.cpp:768 src/minoltamn.cpp:1048 #: src/properties.cpp:1145 msgid "Exposure Compensation" msgstr "Compensation d'exposition" #: src/minoltamn.cpp:529 msgid "Bracket Step" msgstr "Pas du bracket" #: src/minoltamn.cpp:530 msgid "Bracket step" msgstr "Pas du bracket" #: src/minoltamn.cpp:532 msgid "Interval Length" msgstr "Longueur intervalle" #: src/minoltamn.cpp:533 msgid "Interval length" msgstr "Longueur intervalle" #: src/minoltamn.cpp:535 msgid "Interval Number" msgstr "Nombre d'intervalle" #: src/minoltamn.cpp:536 msgid "Interval number" msgstr "Nombre d'intervalle" #: src/minoltamn.cpp:541 src/nikonmn.cpp:254 src/nikonmn.cpp:572 #: src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 src/olympusmn.cpp:303 #: src/olympusmn.cpp:1014 msgid "Focus Distance" msgstr "Distance de mise au point" #: src/minoltamn.cpp:542 src/nikonmn.cpp:1368 src/nikonmn.cpp:1393 #: src/olympusmn.cpp:1014 msgid "Focus distance" msgstr "Distance de mise au point" #: src/minoltamn.cpp:544 src/minoltamn.cpp:759 src/minoltamn.cpp:1006 #: src/panasonicmn.cpp:538 #, fuzzy msgid "Flash Fired" msgstr "Matériel du flash" #: src/minoltamn.cpp:545 src/minoltamn.cpp:760 src/minoltamn.cpp:1007 #, fuzzy msgid "Flash fired" msgstr "Flash désactivé" #: src/minoltamn.cpp:547 msgid "Minolta Date" msgstr "Date Minolta" #: src/minoltamn.cpp:548 msgid "Minolta date" msgstr "Date Minolta" #: src/minoltamn.cpp:550 msgid "Minolta Time" msgstr "Heure Minolta" #: src/minoltamn.cpp:551 msgid "Minolta time" msgstr "Heure Minolta" #: src/minoltamn.cpp:556 #, fuzzy msgid "File Number Memory" msgstr "Nombre F" #: src/minoltamn.cpp:557 #, fuzzy msgid "File number memory" msgstr "Nom du fichier" #: src/minoltamn.cpp:559 #, fuzzy msgid "Last Image Number" msgstr "Numéro d'image" #: src/minoltamn.cpp:560 #, fuzzy msgid "Last image number" msgstr "Numéro de l'image" #: src/minoltamn.cpp:562 msgid "Color Balance Red" msgstr "Balance des rouges" #: src/minoltamn.cpp:563 msgid "Color balance red" msgstr "Balance des rouges" #: src/minoltamn.cpp:565 msgid "Color Balance Green" msgstr "Balance des verts" #: src/minoltamn.cpp:566 msgid "Color balance green" msgstr "Balance des verts" #: src/minoltamn.cpp:568 msgid "Color Balance Blue" msgstr "Balance des bleus" #: src/minoltamn.cpp:569 msgid "Color balance blue" msgstr "Balance des bleus" #: src/minoltamn.cpp:580 #, fuzzy msgid "Subject Program" msgstr "Aire du sujet" #: src/minoltamn.cpp:581 #, fuzzy msgid "Subject program" msgstr "Aire du sujet" #: src/minoltamn.cpp:586 src/nikonmn.cpp:550 msgid "ISO Settings" msgstr "Réglage ISO" #: src/minoltamn.cpp:587 src/minoltamn.cpp:1402 src/nikonmn.cpp:550 msgid "ISO setting" msgstr "Réglage ISO" #: src/minoltamn.cpp:589 msgid "Minolta Model" msgstr "Modèle Minolta" #: src/minoltamn.cpp:590 msgid "Minolta model" msgstr "Modèle Minolta" #: src/minoltamn.cpp:592 msgid "Interval Mode" msgstr "Mode interval" #: src/minoltamn.cpp:593 msgid "Interval mode" msgstr "Mode interval" #: src/minoltamn.cpp:595 msgid "Folder Name" msgstr "Nom répertoire" #: src/minoltamn.cpp:596 msgid "Folder name" msgstr "Nom répertoire" #: src/minoltamn.cpp:598 src/minoltamn.cpp:599 msgid "ColorMode" msgstr "Mode couleur" #: src/minoltamn.cpp:601 src/minoltamn.cpp:1208 src/pentaxmn.cpp:572 msgid "Color Filter" msgstr "Filtre couleur" #: src/minoltamn.cpp:602 msgid "Color filter" msgstr "Filtre couleur" #: src/minoltamn.cpp:604 msgid "Black and White Filter" msgstr "Filtre Noir et Blanc" #: src/minoltamn.cpp:605 msgid "Black and white filter" msgstr "Filtre Noir et Blanc" #: src/minoltamn.cpp:607 src/minoltamn.cpp:608 src/olympusmn.cpp:1020 msgid "Internal Flash" msgstr "Flash interne" #: src/minoltamn.cpp:610 src/minoltamn.cpp:611 src/nikonmn.cpp:706 #: src/olympusmn.cpp:276 src/properties.cpp:463 src/properties.cpp:1068 #: src/sonymn.cpp:651 src/sonymn.cpp:652 src/tags.cpp:1637 msgid "Brightness" msgstr "Luminosité" #: src/minoltamn.cpp:613 #, fuzzy msgid "Spot Focus Point X" msgstr "Mise au point Spot" #: src/minoltamn.cpp:614 #, fuzzy msgid "Spot focus point X" msgstr "Mise au point Spot" #: src/minoltamn.cpp:616 #, fuzzy msgid "Spot Focus Point Y" msgstr "Mise au point Spot" #: src/minoltamn.cpp:617 #, fuzzy msgid "Spot focus point Y" msgstr "Mise au point Spot" #: src/minoltamn.cpp:619 msgid "Wide Focus Zone" msgstr "Zone mise au point large" #: src/minoltamn.cpp:620 msgid "Wide focus zone" msgstr "Zone mise au point large" #: src/minoltamn.cpp:623 src/minoltamn.cpp:754 src/minoltamn.cpp:1040 #: src/minoltamn.cpp:1384 src/nikonmn.cpp:234 src/nikonmn.cpp:481 #: src/nikonmn.cpp:538 src/olympusmn.cpp:301 src/olympusmn.cpp:670 #: src/panasonicmn.cpp:445 src/pentaxmn.cpp:1179 msgid "Focus mode" msgstr "Mode mise au point" #: src/minoltamn.cpp:625 src/minoltamn.cpp:626 src/minoltamn.cpp:1004 msgid "Focus area" msgstr "Zone mise au point" #: src/minoltamn.cpp:628 #, fuzzy msgid "DEC Switch Position" msgstr "Position mise au point" #: src/minoltamn.cpp:629 #, fuzzy msgid "DEC switch position" msgstr "Position mise au point" #: src/minoltamn.cpp:631 msgid "Color Profile" msgstr "Profil couleur" #: src/minoltamn.cpp:632 msgid "Color profile" msgstr "Profil couleur" #: src/minoltamn.cpp:634 src/minoltamn.cpp:635 msgid "Data Imprint" msgstr "" #: src/minoltamn.cpp:637 src/minoltamn.cpp:1425 #, fuzzy msgid "Flash Metering" msgstr "Réglage flash" #: src/minoltamn.cpp:638 src/minoltamn.cpp:1426 #, fuzzy msgid "Flash metering" msgstr "Réglage flash" #: src/minoltamn.cpp:642 msgid "Unknown Minolta Camera Settings tag" msgstr "Marqueur réglage appareil photo Minolta inconnu" #: src/minoltamn.cpp:660 #, fuzzy msgid "Program-shift A" msgstr "Logiciel" #: src/minoltamn.cpp:661 #, fuzzy msgid "Program-shift S" msgstr "Logiciel" #: src/minoltamn.cpp:676 src/minoltamn.cpp:862 msgid "Raw+Jpeg" msgstr "Brut+Jpeg" #: src/minoltamn.cpp:688 src/minoltamn.cpp:875 src/panasonicmn.cpp:76 #: src/pentaxmn.cpp:421 msgid "Kelvin" msgstr "Kelvin" #: src/minoltamn.cpp:695 #, fuzzy msgid "Single-shot AF" msgstr "Simple" #: src/minoltamn.cpp:696 src/olympusmn.cpp:510 src/olympusmn.cpp:1441 #, fuzzy msgid "Continuous AF" msgstr "Continue" #: src/minoltamn.cpp:698 msgid "Automatic AF" msgstr "AF automatique" #: src/minoltamn.cpp:727 src/minoltamn.cpp:901 msgid "sRGB (Natural)" msgstr "sRGB (naturel)" #: src/minoltamn.cpp:728 src/minoltamn.cpp:902 msgid "sRGB (Natural+)" msgstr "sRGB (naturel+)" #: src/minoltamn.cpp:734 src/minoltamn.cpp:910 src/minoltamn.cpp:2072 #: src/panasonicmn.cpp:244 msgid "Horizontal (normal)" msgstr "Horizontale (normale)" #: src/minoltamn.cpp:735 src/minoltamn.cpp:911 src/minoltamn.cpp:2073 #: src/panasonicmn.cpp:246 msgid "Rotate 90 CW" msgstr "Rotation 90° Horaire" #: src/minoltamn.cpp:736 src/minoltamn.cpp:912 src/minoltamn.cpp:2074 #: src/panasonicmn.cpp:247 msgid "Rotate 270 CW" msgstr "Rotation 270° Horaire" #: src/minoltamn.cpp:756 msgid "AF Points" msgstr "Points AF" #: src/minoltamn.cpp:757 msgid "AF points" msgstr "AF Points" #: src/minoltamn.cpp:771 src/minoltamn.cpp:1015 src/minoltamn.cpp:1413 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:809 #: src/olympusmn.cpp:824 src/olympusmn.cpp:895 src/properties.cpp:557 #: src/sigmamn.cpp:83 src/tags.cpp:1691 msgid "Color Space" msgstr "Espace des couleurs" #: src/minoltamn.cpp:772 src/minoltamn.cpp:1016 src/minoltamn.cpp:1414 #: src/nikonmn.cpp:559 src/olympusmn.cpp:689 src/olympusmn.cpp:824 #: src/olympusmn.cpp:895 src/pentaxmn.cpp:1275 src/pentaxmn.cpp:1276 #: src/sigmamn.cpp:84 msgid "Color space" msgstr "Espace des couleurs" #: src/minoltamn.cpp:783 src/minoltamn.cpp:801 src/minoltamn.cpp:1033 #: src/minoltamn.cpp:1051 src/minoltamn.cpp:1461 msgid "Free Memory Card Images" msgstr "" #: src/minoltamn.cpp:784 src/minoltamn.cpp:802 src/minoltamn.cpp:1034 #: src/minoltamn.cpp:1052 src/minoltamn.cpp:1462 msgid "Free memory card images" msgstr "" #: src/minoltamn.cpp:789 msgid "Hue" msgstr "tonalité" #: src/minoltamn.cpp:791 src/minoltamn.cpp:792 src/minoltamn.cpp:1045 #: src/minoltamn.cpp:1046 src/minoltamn.cpp:1575 src/minoltamn.cpp:1576 #: src/panasonicmn.cpp:466 src/sonymn.cpp:687 src/sonymn.cpp:688 #: src/sonymn.cpp:760 src/sonymn.cpp:761 msgid "Rotation" msgstr "Rotation" #: src/minoltamn.cpp:804 src/minoltamn.cpp:811 src/minoltamn.cpp:1069 #: src/tags.cpp:842 msgid "Image Number" msgstr "Numéro d'image" #: src/minoltamn.cpp:808 src/minoltamn.cpp:1073 src/minoltamn.cpp:1498 #: src/nikonmn.cpp:587 src/olympusmn.cpp:439 src/olympusmn.cpp:691 #: src/olympusmn.cpp:826 src/olympusmn.cpp:896 src/olympusmn.cpp:981 #: src/panasonicmn.cpp:463 src/pentaxmn.cpp:1304 src/pentaxmn.cpp:1305 msgid "Noise reduction" msgstr "Réduction du bruit" #: src/minoltamn.cpp:817 msgid "Zone Matching On" msgstr "" #: src/minoltamn.cpp:818 #, fuzzy msgid "Zone matching on" msgstr "Compensation de tonalité" #: src/minoltamn.cpp:822 msgid "Unknown Minolta Camera Settings 7D tag" msgstr "Marqueur 7D réglage appareil photo Minolta inconnu" #: src/minoltamn.cpp:840 src/sonymn.cpp:570 #, fuzzy msgid "Program Shift A" msgstr "Logiciel" #: src/minoltamn.cpp:841 src/sonymn.cpp:571 #, fuzzy msgid "Program Shift S" msgstr "Logiciel" #: src/minoltamn.cpp:845 src/minoltamn.cpp:1942 src/minoltamn.cpp:2097 #: src/sonymn.cpp:529 #, fuzzy msgid "Night View/Portrait" msgstr "Portrait de nuit" #: src/minoltamn.cpp:895 msgid "200 (Zone Matching High)" msgstr "" #: src/minoltamn.cpp:896 msgid "80 (Zone Matching Low)" msgstr "" #: src/minoltamn.cpp:904 src/minoltamn.cpp:955 #, fuzzy msgid "Adobe RGB (ICC)" msgstr "Adobe RGB" #: src/minoltamn.cpp:918 msgid "Central" msgstr "Central" #: src/minoltamn.cpp:919 msgid "Up" msgstr "Haut" #: src/minoltamn.cpp:920 msgid "Up right" msgstr "Haut droit" #: src/minoltamn.cpp:922 msgid "Down right" msgstr "Bas droit" #: src/minoltamn.cpp:923 msgid "Down" msgstr "Bas" #: src/minoltamn.cpp:924 msgid "Down left" msgstr "Bas gauche" #: src/minoltamn.cpp:926 msgid "Up left" msgstr "Haut gauche" #: src/minoltamn.cpp:932 msgid "Selection" msgstr "Sélection" #: src/minoltamn.cpp:947 #, fuzzy msgid "Natural+" msgstr "Naturel" #: src/minoltamn.cpp:949 #, fuzzy msgid "Wind Scene" msgstr "Scène de nuit" #: src/minoltamn.cpp:950 #, fuzzy msgid "Evening Scene" msgstr "Soirée" #: src/minoltamn.cpp:1000 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus Position" msgstr "Position mise au point" #: src/minoltamn.cpp:1001 src/nikonmn.cpp:1367 src/nikonmn.cpp:1392 msgid "Focus position" msgstr "Position mise au point" #: src/minoltamn.cpp:1003 msgid "Focus Area" msgstr "Zone mise au point" #: src/minoltamn.cpp:1036 #, fuzzy msgid "Exposure Revision" msgstr "Compensation d'exposition" #: src/minoltamn.cpp:1037 #, fuzzy msgid "Exposure revision" msgstr "Compensation d'exposition" #: src/minoltamn.cpp:1054 src/minoltamn.cpp:1055 #, fuzzy msgid "Rotation2" msgstr "Rotation" #: src/minoltamn.cpp:1060 src/minoltamn.cpp:1061 #, fuzzy msgid "Picture Finish" msgstr "Infos image" #: src/minoltamn.cpp:1063 msgid "Exposure Manual Bias" msgstr "Biais manuel d'exposition" #: src/minoltamn.cpp:1064 msgid "Exposure manual bias" msgstr "Biais manuel d'exposition" #: src/minoltamn.cpp:1066 src/panasonicmn.cpp:446 src/sonymn.cpp:448 #: src/sonymn.cpp:449 msgid "AF Mode" msgstr "Mode mise au point automatique" #: src/minoltamn.cpp:1067 src/panasonicmn.cpp:446 msgid "AF mode" msgstr "Mode mise au point automatique" #: src/minoltamn.cpp:1087 msgid "Unknown Minolta Camera Settings 5D tag" msgstr "Marqueur 5D réglage appareil photo Minolta inconnu" #: src/minoltamn.cpp:1100 src/sonymn.cpp:498 #, fuzzy msgid "Self-timer 10 sec" msgstr "retardateur" #: src/minoltamn.cpp:1102 src/sonymn.cpp:499 #, fuzzy msgid "Self-timer 2 sec" msgstr "retardateur" #: src/minoltamn.cpp:1104 src/sonymn.cpp:502 #, fuzzy msgid "White Balance Bracketing Low" msgstr "Biais de balance des blancs" #: src/minoltamn.cpp:1105 #, fuzzy msgid "White Balance Bracketing High" msgstr "Biais de balance des blancs" #: src/minoltamn.cpp:1106 #, fuzzy msgid "Single-frame Bracketing Low" msgstr "Zone unique" #: src/minoltamn.cpp:1107 #, fuzzy msgid "Continuous Bracketing Low" msgstr "Bracketing automatique" #: src/minoltamn.cpp:1108 #, fuzzy msgid "Single-frame Bracketing High" msgstr "Zone unique" #: src/minoltamn.cpp:1109 #, fuzzy msgid "Continuous Bracketing High" msgstr "Continue, Haute" #: src/minoltamn.cpp:1140 src/sonymn.cpp:205 msgid "Advanced" msgstr "" #: src/minoltamn.cpp:1155 src/minoltamn.cpp:1437 src/sonymn.cpp:500 #, fuzzy msgid "Continuous Bracketing" msgstr "Continue, Haute" #: src/minoltamn.cpp:1156 #, fuzzy msgid "Single-Frame Bracketing" msgstr "Zone unique" #: src/minoltamn.cpp:1157 src/minoltamn.cpp:1443 src/sonymn.cpp:274 #, fuzzy msgid "White Balance Bracketing" msgstr "Biais de balance des blancs" #: src/minoltamn.cpp:1187 src/minoltamn.cpp:1190 src/nikonmn.cpp:452 msgid "Preset" msgstr "Présélection" #: src/minoltamn.cpp:1189 src/minoltamn.cpp:1192 src/minoltamn.cpp:2146 #, fuzzy msgid "Color Temperature/Color Filter" msgstr "Température des couleurs" #: src/minoltamn.cpp:1207 src/pentaxmn.cpp:1298 src/properties.cpp:490 #, fuzzy msgid "Temperature" msgstr "Température de l'objectif" #: src/minoltamn.cpp:1213 #, fuzzy msgid "Setup" msgstr "Définition de" #: src/minoltamn.cpp:1214 msgid "Recall" msgstr "" #: src/minoltamn.cpp:1219 msgid "Ok" msgstr "" #: src/minoltamn.cpp:1220 msgid "Error" msgstr "" #: src/minoltamn.cpp:1232 #, fuzzy msgid "Image and Information" msgstr "Configuration image" #: src/minoltamn.cpp:1233 #, fuzzy msgid "Image Only" msgstr "Type d'image" #: src/minoltamn.cpp:1234 #, fuzzy msgid "Image and Histogram" msgstr "Hauteur de l'image" #: src/minoltamn.cpp:1240 #, fuzzy msgid "Fill Flash" msgstr "Flash" #: src/minoltamn.cpp:1251 #, fuzzy msgid "Focus Hold" msgstr "Mode mise au point" #: src/minoltamn.cpp:1252 #, fuzzy msgid "DOF Preview" msgstr "Données de prévisualisation" #: src/minoltamn.cpp:1257 msgid "Hold" msgstr "" #: src/minoltamn.cpp:1258 #, fuzzy msgid "Toggle" msgstr "Ton" #: src/minoltamn.cpp:1259 #, fuzzy msgid "Spot Hold" msgstr "Mode doux 1" #: src/minoltamn.cpp:1260 #, fuzzy msgid "Spot Toggle" msgstr "Mode doux 1" #: src/minoltamn.cpp:1265 src/olympusmn.cpp:267 msgid "Shutter Speed" msgstr "Vitesse d'obturation" #: src/minoltamn.cpp:1271 msgid "Ambient and Flash" msgstr "" #: src/minoltamn.cpp:1272 msgid "Ambient Only" msgstr "" #: src/minoltamn.cpp:1277 msgid "0.3 seconds" msgstr "" #: src/minoltamn.cpp:1278 msgid "0.6 seconds" msgstr "" #: src/minoltamn.cpp:1284 src/nikonmn.cpp:294 src/nikonmn.cpp:994 #: src/nikonmn.cpp:1440 #, fuzzy msgid "Automatic" msgstr "AF automatique" #: src/minoltamn.cpp:1290 src/minoltamn.cpp:1296 #, fuzzy msgid "Auto-rotate" msgstr "Contraste" #: src/minoltamn.cpp:1291 #, fuzzy msgid "Horizontal" msgstr "Horizontale (normale)" #: src/minoltamn.cpp:1297 #, fuzzy msgid "Manual Rotate" msgstr "Déclenchement manuel" #: src/minoltamn.cpp:1302 #, fuzzy msgid "Within Range" msgstr "Classement Windows" #: src/minoltamn.cpp:1303 #, fuzzy msgid "Under/Over Range" msgstr "Échelle de transfert" #: src/minoltamn.cpp:1304 #, fuzzy msgid "Out of Range" msgstr "Décalage hors de porté" #: src/minoltamn.cpp:1309 #, fuzzy msgid "Not Indicated" msgstr "Non défini" #: src/minoltamn.cpp:1310 #, fuzzy msgid "Under Scale" msgstr "Sous marin" #: src/minoltamn.cpp:1311 #, fuzzy msgid "Bottom of Scale" msgstr "Du bas vers le haut" #: src/minoltamn.cpp:1329 msgid "Top of Scale" msgstr "" #: src/minoltamn.cpp:1330 #, fuzzy msgid "Over Scale" msgstr "Défaut" #: src/minoltamn.cpp:1335 msgid "AM" msgstr "" #: src/minoltamn.cpp:1336 src/olympusmn.cpp:512 src/olympusmn.cpp:1444 #: src/olympusmn.cpp:1454 msgid "MF" msgstr "" #: src/minoltamn.cpp:1342 msgid "Built-in" msgstr "" #: src/minoltamn.cpp:1348 src/pentaxmn.cpp:447 src/pentaxmn.cpp:462 msgid "Very Low" msgstr "Très faible" #: src/minoltamn.cpp:1350 #, fuzzy msgid "Half Full" msgstr "Plein" #: src/minoltamn.cpp:1351 msgid "Sufficient Power Remaining" msgstr "" #: src/minoltamn.cpp:1359 #, fuzzy msgid "Exposure Compensation Setting" msgstr "Compensation d'exposition" #: src/minoltamn.cpp:1360 #, fuzzy msgid "Exposure compensation setting" msgstr "Compensation d'exposition" #: src/minoltamn.cpp:1362 #, fuzzy msgid "High Speed Sync" msgstr "Scène de nuit" #: src/minoltamn.cpp:1363 #, fuzzy msgid "High speed sync" msgstr "Scène de nuit" #: src/minoltamn.cpp:1365 #, fuzzy msgid "Manual Exposure Time" msgstr "Temps d'exposition" #: src/minoltamn.cpp:1366 #, fuzzy msgid "Manual exposure time" msgstr "Temps d'exposition" #: src/minoltamn.cpp:1368 src/minoltamn.cpp:1369 #, fuzzy msgid "Manual FNumber" msgstr "Nombre d'intervalle" #: src/minoltamn.cpp:1377 #, fuzzy msgid "Drive Mode 2" msgstr "Mode contrôle" #: src/minoltamn.cpp:1378 #, fuzzy msgid "Drive mode 2" msgstr "Mode contrôle" #: src/minoltamn.cpp:1386 src/minoltamn.cpp:1387 src/sonymn.cpp:621 #: src/sonymn.cpp:622 src/sonymn.cpp:727 src/sonymn.cpp:728 msgid "Local AF Area Point" msgstr "" #: src/minoltamn.cpp:1389 src/minoltamn.cpp:1390 src/nikonmn.cpp:838 #: src/nikonmn.cpp:865 src/sonymn.cpp:618 src/sonymn.cpp:619 #: src/sonymn.cpp:724 src/sonymn.cpp:725 #, fuzzy msgid "AF Area Mode" msgstr "Mode mise au point automatique" #: src/minoltamn.cpp:1392 src/minoltamn.cpp:1393 src/sonymn.cpp:654 #: src/sonymn.cpp:655 src/sonymn.cpp:754 src/sonymn.cpp:755 #, fuzzy msgid "FlashMode" msgstr "Mode flash" #: src/minoltamn.cpp:1395 #, fuzzy msgid "Flash Exposure Comp Setting" msgstr "Compensation exposition flash" #: src/minoltamn.cpp:1396 #, fuzzy msgid "Flash exposure compensation setting" msgstr "Compensation exposition flash en EV" #: src/minoltamn.cpp:1401 src/properties.cpp:1194 src/sonymn.cpp:627 #: src/sonymn.cpp:628 src/sonymn.cpp:733 src/sonymn.cpp:734 #, fuzzy msgid "ISO Setting" msgstr "Réglage ISO" #: src/minoltamn.cpp:1404 src/minoltamn.cpp:1405 #, fuzzy msgid "Zone Matching Mode" msgstr "Réduction du bruit" #: src/minoltamn.cpp:1407 src/sonymn.cpp:630 src/sonymn.cpp:631 #: src/sonymn.cpp:736 src/sonymn.cpp:737 #, fuzzy msgid "Dynamic Range Optimizer Mode" msgstr "Réglage gamme dynamique" #: src/minoltamn.cpp:1408 #, fuzzy msgid "Dynamic range optimizer mode" msgstr "Réglage gamme dynamique" #: src/minoltamn.cpp:1428 src/minoltamn.cpp:1429 src/sonymn.cpp:658 #: src/sonymn.cpp:659 msgid "Priority Setup Shutter Release" msgstr "" #: src/minoltamn.cpp:1434 #, fuzzy msgid "Self Timer Time" msgstr "Retardateur" #: src/minoltamn.cpp:1435 #, fuzzy msgid "Self timer time" msgstr "Retardateur" #: src/minoltamn.cpp:1438 #, fuzzy msgid "Continuous bracketing" msgstr "Continue, Haute" #: src/minoltamn.cpp:1440 #, fuzzy msgid "Single Frame Bracketing" msgstr "bracketing" #: src/minoltamn.cpp:1441 #, fuzzy msgid "Single frame bracketing" msgstr "Zone unique" #: src/minoltamn.cpp:1444 src/nikonmn.cpp:169 #, fuzzy msgid "White balance bracketing" msgstr "Biais de balance des blancs" #: src/minoltamn.cpp:1446 #, fuzzy msgid "White Balance Setting" msgstr "Réglage balance des blancs" #: src/minoltamn.cpp:1449 #, fuzzy msgid "Preset White Balance" msgstr "Balance des blancs" #: src/minoltamn.cpp:1450 #, fuzzy msgid "Preset white balance" msgstr "Balance des blancs" #: src/minoltamn.cpp:1452 #, fuzzy msgid "Color Temperature Setting" msgstr "Température des couleurs" #: src/minoltamn.cpp:1453 #, fuzzy msgid "Color temperature setting" msgstr "Température des couleurs" #: src/minoltamn.cpp:1455 #, fuzzy msgid "Custom WB Setting" msgstr "Personnel 1" #: src/minoltamn.cpp:1456 #, fuzzy msgid "Custom WB setting" msgstr "Personnel 1" #: src/minoltamn.cpp:1458 src/minoltamn.cpp:1459 #, fuzzy msgid "Dynamic Range Optimizer Settings" msgstr "Réglage gamme dynamique" #: src/minoltamn.cpp:1464 #, fuzzy msgid "Custom WB Red Level" msgstr "Niveau de noir" #: src/minoltamn.cpp:1465 #, fuzzy msgid "Custom WB red level" msgstr "Niveau de noir" #: src/minoltamn.cpp:1467 #, fuzzy msgid "Custom WB Green Level" msgstr "Niveau de noir" #: src/minoltamn.cpp:1468 #, fuzzy msgid "Custom WB green level" msgstr "Niveau de noir" #: src/minoltamn.cpp:1470 #, fuzzy msgid "Custom WB Blue Level" msgstr "Niveau de noir" #: src/minoltamn.cpp:1471 #, fuzzy msgid "CustomWB blue level" msgstr "Niveau de noir" #: src/minoltamn.cpp:1473 src/minoltamn.cpp:1474 #, fuzzy msgid "Custom WB Error" msgstr "Personnel 1" #: src/minoltamn.cpp:1477 #, fuzzy msgid "White balance fine tune" msgstr "Ajustement de la balance des blancs" #: src/minoltamn.cpp:1483 #, fuzzy msgid "Color compensation filter" msgstr "Valeur de compensation d'exposition" #: src/minoltamn.cpp:1485 src/minoltamn.cpp:1486 src/sonymn.cpp:690 #: src/sonymn.cpp:691 src/sonymn.cpp:763 src/sonymn.cpp:764 #, fuzzy msgid "Sony Image Size" msgstr "Taille de l'image" #: src/minoltamn.cpp:1491 msgid "Instant Playback Time" msgstr "" #: src/minoltamn.cpp:1492 msgid "Instant playback time" msgstr "" #: src/minoltamn.cpp:1494 msgid "Instant Playback Setup" msgstr "" #: src/minoltamn.cpp:1495 msgid "Instant playback setup" msgstr "" #: src/minoltamn.cpp:1500 msgid "Eye Start AF" msgstr "" #: src/minoltamn.cpp:1501 #, fuzzy msgid "Eye start AF" msgstr "AF One Shot" #: src/minoltamn.cpp:1503 #, fuzzy msgid "Red Eye Reduction" msgstr "Mode anti-yeux rouges." #: src/minoltamn.cpp:1504 #, fuzzy msgid "Red eye reduction" msgstr "Mode anti-yeux rouges." #: src/minoltamn.cpp:1506 #, fuzzy msgid "Flash Default" msgstr "Détails flash" #: src/minoltamn.cpp:1507 #, fuzzy msgid "Flash default" msgstr "Détails flash" #: src/minoltamn.cpp:1509 #, fuzzy msgid "Auto Bracket Order" msgstr "Bracketing automatique" #: src/minoltamn.cpp:1510 #, fuzzy msgid "Auto bracket order" msgstr "Bracketing automatique" #: src/minoltamn.cpp:1512 #, fuzzy msgid "Focus Hold Button" msgstr "Réglage mode de mise au point" #: src/minoltamn.cpp:1513 #, fuzzy msgid "Focus hold button" msgstr "Réglage mode de mise au point" #: src/minoltamn.cpp:1515 #, fuzzy msgid "AEL Button" msgstr "Réglage AE" #: src/minoltamn.cpp:1516 #, fuzzy msgid "AEL button" msgstr "Réglage AE" #: src/minoltamn.cpp:1518 #, fuzzy msgid "Control Dial Set" msgstr "Réglage de contraste" #: src/minoltamn.cpp:1519 #, fuzzy msgid "Control dial set" msgstr "Contraste" #: src/minoltamn.cpp:1521 #, fuzzy msgid "Exposure Compensation Mode" msgstr "Compensation d'exposition" #: src/minoltamn.cpp:1522 #, fuzzy msgid "Exposure compensation mode" msgstr "Compensation d'exposition" #: src/minoltamn.cpp:1525 #, fuzzy msgid "AF assist" msgstr "Faisceau AF" #: src/minoltamn.cpp:1527 #, fuzzy msgid "Card Shutter Lock" msgstr "Priorité obturation" #: src/minoltamn.cpp:1528 #, fuzzy msgid "Card shutter lock" msgstr "Obturation rapide" #: src/minoltamn.cpp:1530 #, fuzzy msgid "Lens Shutter Lock" msgstr "Temps de pose lent" #: src/minoltamn.cpp:1531 #, fuzzy msgid "Lens shutter lock" msgstr "Temps de pose lent" #: src/minoltamn.cpp:1533 msgid "AF Area Illumination" msgstr "" #: src/minoltamn.cpp:1534 #, fuzzy msgid "AF area illumination" msgstr "Mode mise au point automatique" #: src/minoltamn.cpp:1536 msgid "Monitor Display Off" msgstr "" #: src/minoltamn.cpp:1537 msgid "Monitor display off" msgstr "" #: src/minoltamn.cpp:1539 msgid "Record Display" msgstr "" #: src/minoltamn.cpp:1540 msgid "Record display" msgstr "" #: src/minoltamn.cpp:1542 msgid "Play Display" msgstr "" #: src/minoltamn.cpp:1543 msgid "Play display" msgstr "" #: src/minoltamn.cpp:1545 #, fuzzy msgid "Exposure Indicator" msgstr "Index d'exposition" #: src/minoltamn.cpp:1546 #, fuzzy msgid "Exposure indicator" msgstr "Index d'exposition" #: src/minoltamn.cpp:1548 #, fuzzy msgid "AEL Exposure Indicator" msgstr "Index d'exposition" #: src/minoltamn.cpp:1549 msgid "" "AEL exposure indicator (also indicates exposure for next shot when " "bracketing)" msgstr "" #: src/minoltamn.cpp:1551 msgid "Exposure Bracketing Indicator Last" msgstr "" #: src/minoltamn.cpp:1552 msgid "" "Exposure bracketing indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1554 msgid "Metering Off Scale Indicator" msgstr "" #: src/minoltamn.cpp:1555 msgid "" "Metering off scale indicator (two flashing triangles when under or over " "metering scale)" msgstr "" #: src/minoltamn.cpp:1557 #, fuzzy msgid "Flash Exposure Indicator" msgstr "Compensation exposition flash" #: src/minoltamn.cpp:1558 #, fuzzy msgid "Flash exposure indicator" msgstr "Compensation d'exposition du flash" #: src/minoltamn.cpp:1560 #, fuzzy msgid "Flash Exposure Indicator Next" msgstr "Compensation exposition flash" #: src/minoltamn.cpp:1561 msgid "Flash exposure indicator next (indicator for next shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1563 #, fuzzy msgid "Flash Exposure Indicator Last" msgstr "Compensation exposition flash" #: src/minoltamn.cpp:1564 msgid "Flash exposure indicator last (indicator for last shot when bracketing)" msgstr "" #: src/minoltamn.cpp:1569 #, fuzzy msgid "Focus Mode Switch" msgstr "Mode mise au point" #: src/minoltamn.cpp:1570 #, fuzzy msgid "Focus mode switch" msgstr "Réglage mode de mise au point" #: src/minoltamn.cpp:1572 src/olympusmn.cpp:766 #, fuzzy msgid "Flash Type" msgstr "Mode flash" #: src/minoltamn.cpp:1573 src/olympusmn.cpp:766 #, fuzzy msgid "Flash type" msgstr "Mode flash" #: src/minoltamn.cpp:1578 src/olympusmn.cpp:666 #, fuzzy msgid "AE Lock" msgstr "AE verrouillé" #: src/minoltamn.cpp:1585 msgid "Color compensation filter: negative is green, positive is magenta" msgstr "" #: src/minoltamn.cpp:1587 src/tags.cpp:766 msgid "Battery Level" msgstr "Niveau de charge" #: src/minoltamn.cpp:1588 #, fuzzy msgid "Battery level" msgstr "Niveau de charge" #: src/minoltamn.cpp:1592 #, fuzzy msgid "Unknown Sony Camera Settings A100 tag" msgstr "Marqueur 1 réglage appareil photo Canon inconnu" #: src/minoltamn.cpp:1947 src/sonymn.cpp:533 #, fuzzy msgid "Clear" msgstr "année" #: src/minoltamn.cpp:1948 src/sonymn.cpp:534 #, fuzzy msgid "Deep" msgstr "Denver" #: src/minoltamn.cpp:1949 src/sonymn.cpp:535 #, fuzzy msgid "Light" msgstr "Droit" #: src/minoltamn.cpp:1950 #, fuzzy msgid "Night View" msgstr "Scène de nuit" #: src/minoltamn.cpp:1951 msgid "Autumn Leaves" msgstr "" #: src/minoltamn.cpp:1990 #, fuzzy msgid "Local" msgstr "Lieu précis" #: src/minoltamn.cpp:2005 #, fuzzy msgid "Top-Right" msgstr "Haut-droit" #: src/minoltamn.cpp:2007 #, fuzzy msgid "Bottom-Right" msgstr "Bas-droit" #: src/minoltamn.cpp:2009 #, fuzzy msgid "Bottom-Left" msgstr "Bas-gauche" #: src/minoltamn.cpp:2011 #, fuzzy msgid "Top-Left" msgstr "Haut-gauche" #: src/minoltamn.cpp:2012 #, fuzzy msgid "Far-Right" msgstr "Droit d'auteur" #: src/minoltamn.cpp:2013 #, fuzzy msgid "Far-Left" msgstr "haut, gauche" #: src/minoltamn.cpp:2027 src/sonymn.cpp:129 #, fuzzy msgid "Advanced Auto" msgstr "Fonction de transfert" #: src/minoltamn.cpp:2028 #, fuzzy msgid "Advanced Level" msgstr "Niveau de noir" #: src/minoltamn.cpp:2041 msgid "AF" msgstr "" #: src/minoltamn.cpp:2042 #, fuzzy msgid "Release" msgstr "Date de publication" #: src/minoltamn.cpp:2054 #, fuzzy msgid "RAW " msgstr "BRUT" #: src/minoltamn.cpp:2055 #, fuzzy msgid "CRAW " msgstr "BRUT" #: src/minoltamn.cpp:2058 #, fuzzy msgid "RAW+JPEG" msgstr "JPEG" #: src/minoltamn.cpp:2059 #, fuzzy msgid "CRAW+JPEG" msgstr "JPEG" #: src/minoltamn.cpp:2115 msgid "Raw + JPEG" msgstr "" #: src/minoltamn.cpp:2116 #, fuzzy msgid "Compressed Raw" msgstr "Rapport de compression" #: src/minoltamn.cpp:2117 #, fuzzy msgid "Compressed Raw + JPEG" msgstr "Taille image compressée" #: src/minoltamn.cpp:2130 msgid "Minolta AF 2x APO (D)" msgstr "" #: src/minoltamn.cpp:2131 msgid "Minolta AF 2x APO II" msgstr "" #: src/minoltamn.cpp:2132 msgid "Minolta AF 1.4x APO (D)" msgstr "" #: src/minoltamn.cpp:2133 msgid "Minolta AF 1.4x APO II" msgstr "" #: src/minoltamn.cpp:2163 msgid "ISO Setting Used" msgstr "Réglage ISO utilisé" #: src/minoltamn.cpp:2164 src/olympusmn.cpp:126 src/olympusmn.cpp:1116 msgid "High Key" msgstr "Clef haute" #: src/minoltamn.cpp:2165 src/olympusmn.cpp:132 src/olympusmn.cpp:1114 msgid "Low Key" msgstr "Clef basse" #: src/nikonmn.cpp:80 #, fuzzy msgid "Extra High" msgstr "Extra fin" #: src/nikonmn.cpp:86 src/nikonmn.cpp:1588 msgid "Single area" msgstr "Zone unique" #: src/nikonmn.cpp:87 src/nikonmn.cpp:1589 msgid "Dynamic area" msgstr "Zone dynamique" #: src/nikonmn.cpp:88 msgid "Dynamic area, closest subject" msgstr "Zone dynamique, sujet proche" #: src/nikonmn.cpp:89 msgid "Group dynamic" msgstr "" #: src/nikonmn.cpp:90 src/nikonmn.cpp:1592 msgid "Single area (wide)" msgstr "Zone unique (large)" #: src/nikonmn.cpp:91 src/nikonmn.cpp:1593 msgid "Dynamic area (wide)" msgstr "Zone dynamique (large)" #: src/nikonmn.cpp:104 src/nikonmn.cpp:813 src/nikonmn.cpp:828 #: src/pentaxmn.cpp:289 msgid "Upper-left" msgstr "Haut-gauche" #: src/nikonmn.cpp:105 src/nikonmn.cpp:814 src/nikonmn.cpp:829 #: src/pentaxmn.cpp:291 msgid "Upper-right" msgstr "Haut-droit" #: src/nikonmn.cpp:106 src/nikonmn.cpp:815 src/nikonmn.cpp:830 #: src/pentaxmn.cpp:297 msgid "Lower-left" msgstr "Bas-gauche" #: src/nikonmn.cpp:107 src/nikonmn.cpp:816 src/nikonmn.cpp:831 #: src/pentaxmn.cpp:299 msgid "Lower-right" msgstr "Bas-droit" #: src/nikonmn.cpp:108 msgid "Left-most" msgstr "Plus à gauche" #: src/nikonmn.cpp:109 msgid "Right-most" msgstr "Plus à droite" #: src/nikonmn.cpp:143 msgid "Fire, manual" msgstr "Flash déclenché, manuel" #: src/nikonmn.cpp:144 msgid "Fire, external" msgstr "Flash déclenché, externe" #: src/nikonmn.cpp:145 msgid "Fire, commander mode" msgstr "Flash déclenché, mode maître" #: src/nikonmn.cpp:146 msgid "Fire, TTL mode" msgstr "Flash déclenché, mode TTL" #: src/nikonmn.cpp:152 src/nikonmn.cpp:165 msgid "Delay" msgstr "Délai" #: src/nikonmn.cpp:153 #, fuzzy msgid "PC Control" msgstr "Contrôle PC" #: src/nikonmn.cpp:155 src/sonymn.cpp:273 #, fuzzy msgid "Exposure Bracketing" msgstr "Avertissement exposition" #: src/nikonmn.cpp:156 #, fuzzy msgid "Auto ISO" msgstr "Automatique" #: src/nikonmn.cpp:157 #, fuzzy msgid "White-Balance Bracketing" msgstr "Biais de balance des blancs" #: src/nikonmn.cpp:158 #, fuzzy msgid "IR Control" msgstr "Contrôle infrarouge" #: src/nikonmn.cpp:159 #, fuzzy msgid "D-Lighting Bracketing" msgstr "Continue, Haute" #: src/nikonmn.cpp:166 msgid "PC control" msgstr "Contrôle PC" #: src/nikonmn.cpp:167 #, fuzzy msgid "Exposure bracketing" msgstr "Avertissement exposition" #: src/nikonmn.cpp:168 msgid "Unused LE-NR slowdown" msgstr "" #: src/nikonmn.cpp:170 msgid "IR control" msgstr "Contrôle infrarouge" #: src/nikonmn.cpp:176 msgid "Auto release" msgstr "Déclenchement automatique" #: src/nikonmn.cpp:177 msgid "Manual release" msgstr "Déclenchement manuel" #: src/nikonmn.cpp:182 #, fuzzy msgid "Lossy (type 1)" msgstr "Type d'objectif" #: src/nikonmn.cpp:183 src/tags.cpp:251 msgid "Uncompressed" msgstr "Non compressé" #: src/nikonmn.cpp:184 #, fuzzy msgid "Lossless" msgstr "Los Angeles" #: src/nikonmn.cpp:185 #, fuzzy msgid "Lossy (type 2)" msgstr "Type d'objectif" #: src/nikonmn.cpp:191 #, fuzzy msgid "B & W" msgstr "N&B" #: src/nikonmn.cpp:193 #, fuzzy msgid "Trim" msgstr "Heure d'envoi" #: src/nikonmn.cpp:194 #, fuzzy msgid "Small picture" msgstr "Film" #: src/nikonmn.cpp:195 #, fuzzy msgid "D-Lighting" msgstr "Lumière du jour" #: src/nikonmn.cpp:196 #, fuzzy msgid "Red eye" msgstr "Réduction yeux rouges" #: src/nikonmn.cpp:197 src/nikonmn.cpp:686 #, fuzzy msgid "Cyanotype" msgstr "type" #: src/nikonmn.cpp:198 #, fuzzy msgid "Sky light" msgstr "Lumière du jour" #: src/nikonmn.cpp:199 #, fuzzy msgid "Warm tone" msgstr "Tonalité couleur" #: src/nikonmn.cpp:200 #, fuzzy msgid "Color custom" msgstr "Tonalité couleur" #: src/nikonmn.cpp:201 #, fuzzy msgid "Image overlay" msgstr "Type d'image" #: src/nikonmn.cpp:207 #, fuzzy msgid "Minimal" msgstr "Manuel" #: src/nikonmn.cpp:216 src/nikonmn.cpp:532 msgid "Nikon Makernote version" msgstr "Version des note du fabriquant Nikon" #: src/nikonmn.cpp:218 src/nikonmn.cpp:474 src/nikonmn.cpp:533 #: src/olympusmn.cpp:270 src/panasonicmn.cpp:734 src/tags.cpp:1590 msgid "ISO Speed" msgstr "Vitesse ISO" #: src/nikonmn.cpp:230 src/nikonmn.cpp:537 msgid "Sharpening" msgstr "Netteté" #: src/nikonmn.cpp:231 src/nikonmn.cpp:537 msgid "Image sharpening setting" msgstr "Réglage netteté image" #: src/nikonmn.cpp:233 src/nikonmn.cpp:538 msgid "Focus" msgstr "Mise au point" #: src/nikonmn.cpp:236 src/nikonmn.cpp:539 msgid "Flash Setting" msgstr "Réglage flash" #: src/nikonmn.cpp:237 src/nikonmn.cpp:539 msgid "Flash setting" msgstr "Réglage flash" #: src/nikonmn.cpp:242 src/nikonmn.cpp:546 msgid "ISO Selection" msgstr "Sélection ISO" #: src/nikonmn.cpp:243 src/nikonmn.cpp:546 msgid "ISO selection" msgstr "Sélection ISO" #: src/nikonmn.cpp:245 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 #, fuzzy msgid "Data Dump" msgstr "Formulaire de donné" #: src/nikonmn.cpp:246 src/nikonmn.cpp:547 src/panasonicmn.cpp:451 #, fuzzy msgid "Data dump" msgstr "Formulaire de donné" #: src/nikonmn.cpp:248 src/nikonmn.cpp:471 src/nikonmn.cpp:567 msgid "Image Adjustment" msgstr "Ajustement image" #: src/nikonmn.cpp:249 src/nikonmn.cpp:472 src/nikonmn.cpp:567 msgid "Image adjustment setting" msgstr "Réglage ajustement image" #: src/nikonmn.cpp:251 src/nikonmn.cpp:489 src/nikonmn.cpp:569 msgid "Auxiliary Lens" msgstr "Objectif auxiliaire" #: src/nikonmn.cpp:252 src/nikonmn.cpp:490 src/nikonmn.cpp:569 msgid "Auxiliary lens (adapter)" msgstr "Objectif auxiliaire (adaptateur)" #: src/nikonmn.cpp:255 src/nikonmn.cpp:572 src/olympusmn.cpp:304 msgid "Manual focus distance" msgstr "Distance mise au point manuelle" #: src/nikonmn.cpp:258 src/nikonmn.cpp:487 src/nikonmn.cpp:573 msgid "Digital zoom setting" msgstr "Réglage du zoom numérique" #: src/nikonmn.cpp:260 #, fuzzy msgid "AF Focus Position" msgstr "Position mise au point" #: src/nikonmn.cpp:261 #, fuzzy msgid "AF focus position information" msgstr "Position mise au point" #: src/nikonmn.cpp:265 msgid "Unknown Nikon1MakerNote tag" msgstr "Marqueur 1 de note du fabriquant Nikon inconnu" #: src/nikonmn.cpp:292 src/nikonmn.cpp:1438 msgid "Continuous autofocus" msgstr "" #: src/nikonmn.cpp:293 src/nikonmn.cpp:1439 msgid "Single autofocus" msgstr "" #: src/nikonmn.cpp:330 src/nikonmn.cpp:513 src/nikonmn.cpp:1544 msgid "Not used" msgstr "Non utilisé" #: src/nikonmn.cpp:371 msgid "guess" msgstr "deviné" #: src/nikonmn.cpp:418 msgid "VGA Basic" msgstr "VGA grossier" #: src/nikonmn.cpp:419 msgid "VGA Normal" msgstr "VGA normal" #: src/nikonmn.cpp:420 msgid "VGA Fine" msgstr "VGA fin" #: src/nikonmn.cpp:421 msgid "SXGA Basic" msgstr "SXGA grossier" #: src/nikonmn.cpp:422 msgid "SXGA Normal" msgstr "SXGA normal" #: src/nikonmn.cpp:423 msgid "SXGA Fine" msgstr "SXGA fin" #: src/nikonmn.cpp:435 msgid "Bright+" msgstr "Luminosité+" #: src/nikonmn.cpp:436 msgid "Bright-" msgstr "Luminosité-" #: src/nikonmn.cpp:437 msgid "Contrast+" msgstr "Contraste+" #: src/nikonmn.cpp:438 msgid "Contrast-" msgstr "Contraste-" #: src/nikonmn.cpp:457 msgid "Speedlight" msgstr "Vitesse lumière" #: src/nikonmn.cpp:497 msgid "Unknown Nikon2MakerNote tag" msgstr "Marqueur 2 de note du fabriquant Nikon inconnu" #: src/nikonmn.cpp:540 src/olympusmn.cpp:282 msgid "Flash Device" msgstr "Matériel du flash" #: src/nikonmn.cpp:540 src/olympusmn.cpp:283 msgid "Flash device" msgstr "Matériel du flash" #: src/nikonmn.cpp:542 src/olympusmn.cpp:249 src/panasonicmn.cpp:453 msgid "White Balance Bias" msgstr "Biais de balance des blancs" #: src/nikonmn.cpp:542 src/olympusmn.cpp:250 msgid "White balance bias" msgstr "Biais de balance des blancs" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 #, fuzzy msgid "WB RB Levels" msgstr "Niveau de noir" #: src/nikonmn.cpp:543 src/olympusmn.cpp:939 #, fuzzy msgid "WB RB levels" msgstr "Niveau de noir" #: src/nikonmn.cpp:544 #, fuzzy msgid "Program Shift" msgstr "Logiciel" #: src/nikonmn.cpp:544 #, fuzzy msgid "Program shift" msgstr "Logiciel" #: src/nikonmn.cpp:545 msgid "Exposure Difference" msgstr "Différence d'exposition" #: src/nikonmn.cpp:545 msgid "Exposure difference" msgstr "Différence d'exposition" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1157 msgid "Pointer to a preview image" msgstr "Pointeur vers l'image d'aperçu" #: src/nikonmn.cpp:548 src/pentaxmn.cpp:1158 msgid "Offset to an IFD containing a preview image" msgstr "Décalage vers l'IFD contenant l'aperçu" #: src/nikonmn.cpp:549 msgid "Flash Comp" msgstr "Compensation Flash" #: src/nikonmn.cpp:549 msgid "Flash compensation setting" msgstr "Réglage compensation Flash" #: src/nikonmn.cpp:551 msgid "Image Boundary" msgstr "Limite de l'image" #: src/nikonmn.cpp:551 msgid "Image boundary" msgstr "Limite de l'image" #: src/nikonmn.cpp:552 #, fuzzy msgid "Flash exposure comp" msgstr "Compensation d'exposition du flash" #: src/nikonmn.cpp:553 #, fuzzy msgid "Flash Bracket Comp" msgstr "Compensation Flash" #: src/nikonmn.cpp:553 #, fuzzy msgid "Flash bracket compensation applied" msgstr "Compensation d'exposition du flash" #: src/nikonmn.cpp:554 #, fuzzy msgid "Exposure Bracket Comp" msgstr "Programme d'exposition" #: src/nikonmn.cpp:554 #, fuzzy msgid "AE bracket compensation applied" msgstr "Valeur de compensation d'exposition" #: src/nikonmn.cpp:555 src/olympusmn.cpp:459 msgid "Image Processing" msgstr " Traitement d'image" #: src/nikonmn.cpp:555 src/pentaxmn.cpp:1265 src/pentaxmn.cpp:1266 msgid "Image processing" msgstr " Traitement d'image" #: src/nikonmn.cpp:556 #, fuzzy msgid "Crop High Speed" msgstr "Scène de nuit" #: src/nikonmn.cpp:556 #, fuzzy msgid "Crop high speed" msgstr "Droit d'auteur" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure Tuning" msgstr "Avertissement exposition" #: src/nikonmn.cpp:557 #, fuzzy msgid "Exposure tuning" msgstr "Avertissement exposition" #: src/nikonmn.cpp:560 #, fuzzy msgid "VR Info" msgstr "Informations brutes" #: src/nikonmn.cpp:560 #, fuzzy msgid "VR info" msgstr "Informations brutes" #: src/nikonmn.cpp:561 #, fuzzy msgid "Image Authentication" msgstr "Orientation" #: src/nikonmn.cpp:561 #, fuzzy msgid "Image authentication" msgstr "Orientation" #: src/nikonmn.cpp:562 msgid "ActiveD-Lighting" msgstr "" #: src/nikonmn.cpp:562 msgid "ActiveD-lighting" msgstr "" #: src/nikonmn.cpp:563 #, fuzzy msgid "Picture Control" msgstr "Infos image" #: src/nikonmn.cpp:563 #, fuzzy msgid " Picture control" msgstr "Infos image" #: src/nikonmn.cpp:564 src/properties.cpp:1387 #, fuzzy msgid "World Time" msgstr "Heure Minolta" #: src/nikonmn.cpp:564 #, fuzzy msgid "World time" msgstr "Heure Minolta" #: src/nikonmn.cpp:565 #, fuzzy msgid "ISO Info" msgstr "Infos prise de vue" #: src/nikonmn.cpp:565 #, fuzzy msgid "ISO info" msgstr "Réglage ISO" #: src/nikonmn.cpp:566 #, fuzzy msgid "Vignette Control" msgstr "Point blanc" #: src/nikonmn.cpp:566 #, fuzzy msgid "Vignette control" msgstr "Point blanc" #: src/nikonmn.cpp:568 msgid "Tone Compensation" msgstr "Compensation de tonalité" #: src/nikonmn.cpp:568 msgid "Tone compensation" msgstr "Compensation de tonalité" #: src/nikonmn.cpp:574 msgid "Mode of flash used" msgstr "Mode de flash utilisé" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 msgid "Shooting Mode" msgstr "Mode de prise de vue" #: src/nikonmn.cpp:576 src/panasonicmn.cpp:449 src/pentaxmn.cpp:1148 msgid "Shooting mode" msgstr "Mode de prise de vue" #: src/nikonmn.cpp:577 #, fuzzy msgid "Auto Bracket Release" msgstr "Bracketing automatique" #: src/nikonmn.cpp:577 #, fuzzy msgid "Auto bracket release" msgstr "Bracketing automatique" #: src/nikonmn.cpp:578 #, fuzzy msgid "Lens FStops" msgstr "Type d'objectif" #: src/nikonmn.cpp:579 #, fuzzy msgid "Contrast Curve" msgstr "Contraste" #: src/nikonmn.cpp:579 #, fuzzy msgid "Contrast curve" msgstr "Contraste" #: src/nikonmn.cpp:580 #, fuzzy msgid "Color Hue" msgstr "Tonalité couleur" #: src/nikonmn.cpp:580 #, fuzzy msgid "Color hue" msgstr "Tonalité couleur" #: src/nikonmn.cpp:581 src/olympusmn.cpp:253 src/olympusmn.cpp:690 #: src/panasonicmn.cpp:534 msgid "Scene mode" msgstr "Mode scène" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 src/properties.cpp:587 #: src/tags.cpp:833 src/tags.cpp:1656 msgid "Light Source" msgstr "Source lumineuse" #: src/nikonmn.cpp:582 src/olympusmn.cpp:1083 msgid "Light source" msgstr "Source lumineuse" #: src/nikonmn.cpp:583 #, fuzzy msgid "Shot info" msgstr "Infos prise de vue" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 src/properties.cpp:1187 msgid "Hue Adjustment" msgstr "Ajustement de teinte" #: src/nikonmn.cpp:584 src/nikonmn.cpp:708 msgid "Hue adjustment" msgstr "Ajustement de teinte" #: src/nikonmn.cpp:585 #, fuzzy msgid "NEF Compression" msgstr "Compression" #: src/nikonmn.cpp:585 #, fuzzy msgid "NEF compression" msgstr "Compression" #: src/nikonmn.cpp:588 src/tags.cpp:905 #, fuzzy msgid "Linearization Table" msgstr "Date de numérisation" #: src/nikonmn.cpp:588 #, fuzzy msgid "Linearization table" msgstr "Date de numérisation" #: src/nikonmn.cpp:589 #, fuzzy msgid "Color Balance" msgstr "Balance des couleurs 1" #: src/nikonmn.cpp:589 #, fuzzy msgid "Color balance" msgstr "Balance des rouges" #: src/nikonmn.cpp:590 msgid "Lens Data" msgstr "Données de l'objectif" #: src/nikonmn.cpp:590 msgid "Lens data settings" msgstr "Réglage des données de l'objectif" #: src/nikonmn.cpp:591 #, fuzzy msgid "Raw Image Center" msgstr "Comptage d'image" #: src/nikonmn.cpp:591 #, fuzzy msgid "Raw image center" msgstr "Aperçu embarqué" #: src/nikonmn.cpp:592 msgid "Sensor Pixel Size" msgstr "Taille pixel du capteur" #: src/nikonmn.cpp:592 msgid "Sensor pixel size" msgstr "Taille pixel du capteur" #: src/nikonmn.cpp:594 #, fuzzy msgid "Scene Assist" msgstr "Faisceau AF" #: src/nikonmn.cpp:594 #, fuzzy msgid "Scene assist" msgstr "Mode scène" #: src/nikonmn.cpp:595 #, fuzzy msgid "Retouch History" msgstr "Hauteur de l'image" #: src/nikonmn.cpp:595 msgid "Retouch history" msgstr "" #: src/nikonmn.cpp:597 #, fuzzy msgid "Serial NO" msgstr "Numéro de série" #: src/nikonmn.cpp:597 msgid "Camera serial number, usually starts with \"NO= \"" msgstr "" #: src/nikonmn.cpp:598 msgid "Image Data Size" msgstr "Taille des données de l'image" #: src/nikonmn.cpp:598 msgid "Image data size" msgstr "Taille des données de l'image" #: src/nikonmn.cpp:600 msgid "Image Count" msgstr "Comptage d'image" #: src/nikonmn.cpp:600 msgid "Image count" msgstr "Comptage d'image" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 #, fuzzy msgid "Deleted Image Count" msgstr "Effacer le comptage d'image" #: src/nikonmn.cpp:601 src/nikonmn.cpp:1249 #, fuzzy msgid "Deleted image count" msgstr "Effacer le comptage d'image" #: src/nikonmn.cpp:602 src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 #: src/nikonmn.cpp:1159 src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 #, fuzzy msgid "Shutter Count" msgstr "Priorité obturation" #: src/nikonmn.cpp:602 msgid "Number of shots taken by camera" msgstr "Nombre de photo pris par l'appareil" #: src/nikonmn.cpp:603 #, fuzzy msgid "Flash info" msgstr "Flash" #: src/nikonmn.cpp:604 msgid "Image Optimization" msgstr "Optimisation d'image" #: src/nikonmn.cpp:604 msgid "Image optimization" msgstr "Optimisation d'image" #: src/nikonmn.cpp:606 #, fuzzy msgid "Program Variation" msgstr "Version du logiciel" #: src/nikonmn.cpp:606 #, fuzzy msgid "Program variation" msgstr "Version du logiciel" #: src/nikonmn.cpp:608 msgid "AF Response" msgstr "Réponse mise au point automatique" #: src/nikonmn.cpp:608 msgid "AF response" msgstr "Réponse mise au point automatique" #: src/nikonmn.cpp:609 #, fuzzy msgid "Multi exposure" msgstr "Exposition" #: src/nikonmn.cpp:610 msgid "High ISO Noise Reduction" msgstr "Réduction de bruit Iso élevé" #: src/nikonmn.cpp:611 src/nikonmn.cpp:710 #, fuzzy msgid "Toning effect" msgstr "Effet photo" #: src/nikonmn.cpp:612 #, fuzzy msgid "AF info 2" msgstr "Informations mise au point" #: src/nikonmn.cpp:613 #, fuzzy msgid "File info" msgstr "Nom du fichier" #: src/nikonmn.cpp:614 #, fuzzy msgid "AF tune" msgstr "Point AF utilisé" #: src/nikonmn.cpp:617 #, fuzzy msgid "Capture Data" msgstr "Date de publication" #: src/nikonmn.cpp:617 #, fuzzy msgid "Capture data" msgstr "Autre données" #: src/nikonmn.cpp:618 #, fuzzy msgid "Capture Version" msgstr "Version du microcode" #: src/nikonmn.cpp:618 #, fuzzy msgid "Capture version" msgstr "Version de microcode" #: src/nikonmn.cpp:620 #, fuzzy msgid "Capture Offsets" msgstr "Décalage aperçu" #: src/nikonmn.cpp:620 #, fuzzy msgid "Capture offsets" msgstr "Décalage aperçu" #: src/nikonmn.cpp:621 #, fuzzy msgid "Scan IFD" msgstr "Identifiant appareil photo" #: src/nikonmn.cpp:622 #, fuzzy msgid "ICC profile" msgstr "Profil couleur" #: src/nikonmn.cpp:623 msgid "Capture output" msgstr "" #: src/nikonmn.cpp:625 msgid "Unknown Nikon3MakerNote tag" msgstr "Marqueur 3 de note du fabriquant Nikon inconnu" #: src/nikonmn.cpp:635 src/olympusmn.cpp:65 src/panasonicmn.cpp:191 #: src/panasonicmn.cpp:339 src/panasonicmn.cpp:435 src/pentaxmn.cpp:396 msgid "No" msgstr "Non" #: src/nikonmn.cpp:636 src/olympusmn.cpp:66 src/panasonicmn.cpp:190 #: src/panasonicmn.cpp:436 src/pentaxmn.cpp:397 msgid "Yes" msgstr "Oui" #: src/nikonmn.cpp:641 msgid "Y/M/D" msgstr "" #: src/nikonmn.cpp:642 msgid "M/D/Y" msgstr "" #: src/nikonmn.cpp:643 msgid "D/M/Y" msgstr "" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 #, fuzzy msgid "Vibration Reduction" msgstr "Réduction du bruit" #: src/nikonmn.cpp:655 src/nikonmn.cpp:1250 #, fuzzy msgid "Vibration reduction" msgstr "Réduction du bruit" #: src/nikonmn.cpp:657 #, fuzzy msgid "Unknown Nikon Vibration Reduction Tag" msgstr "Marqueur réglage appareil photo Canon inconnu" #: src/nikonmn.cpp:667 #, fuzzy msgid "Default Settings" msgstr "Réglage flash" #: src/nikonmn.cpp:668 src/nikonmn.cpp:703 #, fuzzy msgid "Quick Adjust" msgstr "Ajustement de teinte" #: src/nikonmn.cpp:669 #, fuzzy msgid "Full Control" msgstr "Contrôle des couleurs" #: src/nikonmn.cpp:690 msgid "Blue-green" msgstr "" #: src/nikonmn.cpp:692 msgid "Purple-blue" msgstr "" #: src/nikonmn.cpp:693 msgid "Red-purple" msgstr "" #: src/nikonmn.cpp:700 src/properties.cpp:1005 src/properties.cpp:1232 #, fuzzy msgid "Name" msgstr "Nom du propriétaire" #: src/nikonmn.cpp:701 msgid "Base" msgstr "" #: src/nikonmn.cpp:702 #, fuzzy msgid "Adjust" msgstr "Ajustement de" #: src/nikonmn.cpp:703 #, fuzzy msgid "Quick adjust" msgstr "Ajustement de teinte" #: src/nikonmn.cpp:709 #, fuzzy msgid "Filter effect" msgstr "Effet de couleurs" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning Saturation" msgstr "Saturation" #: src/nikonmn.cpp:711 #, fuzzy msgid "Toning saturation" msgstr "Saturation" #: src/nikonmn.cpp:713 #, fuzzy msgid "Unknown Nikon Picture Control Tag" msgstr "Marqueur info image Canon inconnu" #: src/nikonmn.cpp:730 #, fuzzy msgid "AF Fine Tune" msgstr "Point AF utilisé" #: src/nikonmn.cpp:730 #, fuzzy msgid "AF fine tune" msgstr "Point AF utilisé" #: src/nikonmn.cpp:731 #, fuzzy msgid "AF Fine Tune Index" msgstr "Point AF utilisé" #: src/nikonmn.cpp:731 #, fuzzy msgid "AF fine tune index" msgstr "Point AF utilisé" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF Fine Tune Adjustment" msgstr "Point AF utilisé" #: src/nikonmn.cpp:732 #, fuzzy msgid "AF fine tune adjustment" msgstr "Point AF utilisé" #: src/nikonmn.cpp:734 #, fuzzy msgid "Unknown Nikon AF Fine Tune Tag" msgstr "Marqueur info image Canon inconnu" #: src/nikonmn.cpp:744 #, fuzzy msgid "Timezone" msgstr "Ton" #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight Savings" msgstr "Lumière du jour" #: src/nikonmn.cpp:745 #, fuzzy msgid "Daylight savings" msgstr "Lumière du jour" #: src/nikonmn.cpp:746 #, fuzzy msgid "Date Display Format" msgstr "Format du fichier" #: src/nikonmn.cpp:746 #, fuzzy msgid "Date display format" msgstr "Formulaire de donné" #: src/nikonmn.cpp:748 #, fuzzy msgid "Unknown Nikon World Time Tag" msgstr "Marqueur 1 de note du fabriquant Nikon inconnu" #: src/nikonmn.cpp:759 msgid "Hi 0.3" msgstr "" #: src/nikonmn.cpp:760 msgid "Hi 0.5" msgstr "" #: src/nikonmn.cpp:761 msgid "Hi 0.7" msgstr "" #: src/nikonmn.cpp:762 msgid "Hi 1.0" msgstr "" #: src/nikonmn.cpp:763 msgid "Hi 1.3" msgstr "" #: src/nikonmn.cpp:764 msgid "Hi 1.5" msgstr "" #: src/nikonmn.cpp:765 msgid "Hi 1.7" msgstr "" #: src/nikonmn.cpp:766 msgid "Hi 2.0" msgstr "" #: src/nikonmn.cpp:767 msgid "Hi 2.3" msgstr "" #: src/nikonmn.cpp:768 msgid "Hi 2.5" msgstr "" #: src/nikonmn.cpp:769 msgid "Hi 2.7" msgstr "" #: src/nikonmn.cpp:770 msgid "Hi 3.0" msgstr "" #: src/nikonmn.cpp:771 msgid "Hi 3.3" msgstr "" #: src/nikonmn.cpp:772 msgid "Hi 3.5" msgstr "" #: src/nikonmn.cpp:773 msgid "Hi 3.7" msgstr "" #: src/nikonmn.cpp:774 msgid "Hi 4.0" msgstr "" #: src/nikonmn.cpp:775 msgid "Lo 0.3" msgstr "" #: src/nikonmn.cpp:776 msgid "Lo 0.5" msgstr "" #: src/nikonmn.cpp:777 msgid "Lo 0.7" msgstr "" #: src/nikonmn.cpp:778 msgid "Lo 1.0" msgstr "" #: src/nikonmn.cpp:784 #, fuzzy msgid "ISO Expansion" msgstr "Sélection ISO" #: src/nikonmn.cpp:784 #, fuzzy msgid "ISO expansion" msgstr "Sélection ISO" #: src/nikonmn.cpp:785 #, fuzzy msgid "ISO 2" msgstr "Infos prise de vue" #: src/nikonmn.cpp:786 #, fuzzy msgid "ISO Expansion 2" msgstr "Sélection ISO" #: src/nikonmn.cpp:786 #, fuzzy msgid "ISO expansion 2" msgstr "Sélection ISO" #: src/nikonmn.cpp:788 #, fuzzy msgid "Unknown Nikon Iso Info Tag" msgstr "Marqueur info image Canon inconnu" #: src/nikonmn.cpp:798 #, fuzzy msgid "Single Area" msgstr "Zone unique" #: src/nikonmn.cpp:799 #, fuzzy msgid "Dynamic Area" msgstr "Zone dynamique" #: src/nikonmn.cpp:800 #, fuzzy msgid "Dynamic Area, Closest Subject" msgstr "Zone dynamique, sujet proche" #: src/nikonmn.cpp:801 msgid "Group Dynamic" msgstr "" #: src/nikonmn.cpp:802 #, fuzzy msgid "Single Area (wide)" msgstr "Zone unique (large)" #: src/nikonmn.cpp:803 #, fuzzy msgid "Dynamic Area (wide)" msgstr "Zone dynamique (large)" #: src/nikonmn.cpp:811 src/nikonmn.cpp:826 src/pentaxmn.cpp:293 msgid "Mid-left" msgstr "milieu-gauche" #: src/nikonmn.cpp:812 src/nikonmn.cpp:827 src/pentaxmn.cpp:295 msgid "Mid-right" msgstr "milieu-droit" #: src/nikonmn.cpp:817 src/nikonmn.cpp:832 #, fuzzy msgid "Far Left" msgstr "haut, gauche" #: src/nikonmn.cpp:818 src/nikonmn.cpp:833 #, fuzzy msgid "Far Right" msgstr "Droit d'auteur" #: src/nikonmn.cpp:838 src/nikonmn.cpp:865 #, fuzzy msgid "AF area mode" msgstr "Mode mise au point automatique" #: src/nikonmn.cpp:839 src/olympusmn.cpp:1015 src/pentaxmn.cpp:1182 #, fuzzy msgid "AF point" msgstr "AF Points" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF Points In Focus" msgstr "Points AF utilisés" #: src/nikonmn.cpp:840 #, fuzzy msgid "AF points in focus" msgstr "Points AF utilisés" #: src/nikonmn.cpp:842 #, fuzzy msgid "Unknown Nikon Auto Focus Tag" msgstr "Marqueur réglage appareil photo Canon inconnu" #: src/nikonmn.cpp:853 msgid "On (51-point)" msgstr "" #: src/nikonmn.cpp:854 msgid "On (11-point)" msgstr "" #: src/nikonmn.cpp:855 #, fuzzy msgid "On (39-point)" msgstr "Activé" #: src/nikonmn.cpp:856 #, fuzzy msgid "On (73-point)" msgstr "Activé" #: src/nikonmn.cpp:857 msgid "On (73-point, new)" msgstr "" #: src/nikonmn.cpp:858 #, fuzzy msgid "On (105-point)" msgstr "Activé" #: src/nikonmn.cpp:864 #, fuzzy msgid "Contrast Detect AF" msgstr "Réglage de contraste" #: src/nikonmn.cpp:864 #, fuzzy msgid "Contrast detect AF" msgstr "Réglage de contraste" #: src/nikonmn.cpp:866 #, fuzzy msgid "Phase Detect AF" msgstr "Échec lors de la lecture" #: src/nikonmn.cpp:866 #, fuzzy msgid "Phase detect AF" msgstr "Échec lors de la lecture" #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF Point" msgstr "Point AF" #: src/nikonmn.cpp:867 #, fuzzy msgid "Primary AF point" msgstr "AF Points" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF Image Width" msgstr "Largeur de l'image" #: src/nikonmn.cpp:869 #, fuzzy msgid "AF image width" msgstr "Largeur de l'image" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF Image Height" msgstr "Hauteur de l'image" #: src/nikonmn.cpp:870 #, fuzzy msgid "AF image height" msgstr "Hauteur de l'image" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF Area X Position" msgstr "Position mise au point" #: src/nikonmn.cpp:871 #, fuzzy msgid "AF area x position" msgstr "Position mise au point" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF Area Y Position" msgstr "Position mise au point" #: src/nikonmn.cpp:872 #, fuzzy msgid "AF area y position" msgstr "Position mise au point" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF Area Width" msgstr "Mode mise au point automatique" #: src/nikonmn.cpp:873 #, fuzzy msgid "AF area width" msgstr "Mode mise au point automatique" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF Area Height" msgstr "Mode mise au point automatique" #: src/nikonmn.cpp:874 #, fuzzy msgid "AF area height" msgstr "Droit d'auteur" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast Detect AF In Focus" msgstr "Réglage de contraste" #: src/nikonmn.cpp:875 #, fuzzy msgid "Contrast detect AF in focus" msgstr "Réglage de contraste" #: src/nikonmn.cpp:877 #, fuzzy msgid "Unknown Nikon Auto Focus 2 Tag" msgstr "Marqueur réglage appareil photo Canon inconnu" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory Number" msgstr "Numéro ordre" #: src/nikonmn.cpp:888 #, fuzzy msgid "Directory number" msgstr "Numéro ordre" #: src/nikonmn.cpp:891 #, fuzzy msgid "Unknown Nikon File Info Tag" msgstr "Marqueur info image Canon inconnu" #: src/nikonmn.cpp:902 src/pentaxmn.cpp:673 #, fuzzy msgid "Multiple Exposure" msgstr "Exposition" #: src/nikonmn.cpp:903 #, fuzzy msgid "Image Overlay" msgstr "Type d'image" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi Exposure Mode" msgstr "Mode d'exposition" #: src/nikonmn.cpp:909 #, fuzzy msgid "Multi exposure mode" msgstr "Exposition" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi Exposure Shots" msgstr "Exposition" #: src/nikonmn.cpp:910 #, fuzzy msgid "Multi exposure shots" msgstr "Exposition" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi Exposure Auto Gain" msgstr "Exposition" #: src/nikonmn.cpp:911 #, fuzzy msgid "Multi exposure auto gain" msgstr "Exposition" #: src/nikonmn.cpp:913 src/nikonmn.cpp:1035 src/nikonmn.cpp:1055 #: src/nikonmn.cpp:1075 #, fuzzy msgid "Unknown Nikon Multi Exposure Tag" msgstr "Marqueur réglage appareil photo Canon inconnu" #: src/nikonmn.cpp:925 src/olympusmn.cpp:143 msgid "Internal" msgstr "Interne" #: src/nikonmn.cpp:931 msgid "1.01 (SB-800 or Metz 58 AF-1)" msgstr "" #: src/nikonmn.cpp:991 #, fuzzy msgid "iTTL-BL" msgstr "TTL" #: src/nikonmn.cpp:992 #, fuzzy msgid "iTTL" msgstr "TTL" #: src/nikonmn.cpp:993 #, fuzzy msgid "Auto Aperture" msgstr "Ouverture" #: src/nikonmn.cpp:995 msgid "GN (distance priority)" msgstr "" #: src/nikonmn.cpp:997 src/nikonmn.cpp:998 msgid "Repeating Flash" msgstr "" #: src/nikonmn.cpp:1004 #, fuzzy msgid "Bounce Flash" msgstr "Pas de flash" #: src/nikonmn.cpp:1005 msgid "Wide Flash Adapter" msgstr "" #: src/nikonmn.cpp:1011 msgid "FL-GL1" msgstr "" #: src/nikonmn.cpp:1012 msgid "FL-GL2" msgstr "" #: src/nikonmn.cpp:1013 msgid "TN-A1" msgstr "" #: src/nikonmn.cpp:1014 msgid "TN-A2" msgstr "" #: src/nikonmn.cpp:1018 #, fuzzy msgid "Amber" msgstr "Nombre F" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash Source" msgstr "Source du fichier" #: src/nikonmn.cpp:1024 src/nikonmn.cpp:1046 src/nikonmn.cpp:1066 #, fuzzy msgid "Flash source" msgstr "Source du fichier" #: src/nikonmn.cpp:1025 src/nikonmn.cpp:1047 msgid "0x0005" msgstr "" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External Flash Firmware" msgstr "Zoom flash externe" #: src/nikonmn.cpp:1026 src/nikonmn.cpp:1048 src/nikonmn.cpp:1067 #, fuzzy msgid "External flash firmware" msgstr "Mode flash externe" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External Flash Flags" msgstr "Flash externe" #: src/nikonmn.cpp:1027 src/nikonmn.cpp:1049 src/nikonmn.cpp:1068 #, fuzzy msgid "External flash flags" msgstr "Flash externe" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash Focal Length" msgstr "Longueur focale maximum" #: src/nikonmn.cpp:1028 src/nikonmn.cpp:1050 src/nikonmn.cpp:1069 #, fuzzy msgid "Flash focal length" msgstr "Longueur focale maximum" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 msgid "Repeating Flash Rate" msgstr "" #: src/nikonmn.cpp:1029 src/nikonmn.cpp:1051 src/nikonmn.cpp:1070 #, fuzzy msgid "Repeating flash rate" msgstr "Renommage du fichier en" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 msgid "Repeating Flash Count" msgstr "" #: src/nikonmn.cpp:1030 src/nikonmn.cpp:1052 src/nikonmn.cpp:1071 #, fuzzy msgid "Repeating flash count" msgstr "Contrôle de flash manuel" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN Distance" msgstr "Distance de mise au point" #: src/nikonmn.cpp:1031 src/nikonmn.cpp:1053 src/nikonmn.cpp:1072 #, fuzzy msgid "Flash GN distance" msgstr "Distance de mise au point" #: src/nikonmn.cpp:1032 msgid "Flash Group A Control Mode" msgstr "" #: src/nikonmn.cpp:1032 msgid "Flash group a control mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash Group B Control Mode" msgstr "" #: src/nikonmn.cpp:1033 msgid "Flash group b control mode" msgstr "" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash Color Filter" msgstr "Filtre couleur" #: src/nikonmn.cpp:1073 #, fuzzy msgid "Flash color filter" msgstr "Filtre couleur" #: src/nikonmn.cpp:1086 src/nikonmn.cpp:1099 src/nikonmn.cpp:1159 #: src/nikonmn.cpp:1219 src/nikonmn.cpp:1255 src/pentaxmn.cpp:1322 #: src/pentaxmn.cpp:1323 #, fuzzy msgid "Shutter count" msgstr "Priorité obturation" #: src/nikonmn.cpp:1088 #, fuzzy msgid "Unknown Nikon Shot Info D80 Tag" msgstr "Marqueur info image Canon inconnu" #: src/nikonmn.cpp:1100 src/sonymn.cpp:457 src/sonymn.cpp:458 #, fuzzy msgid "Flash Level" msgstr "Matériel du flash" #: src/nikonmn.cpp:1100 #, fuzzy msgid "Flash level" msgstr "Matériel du flash" #: src/nikonmn.cpp:1102 #, fuzzy msgid "Unknown Nikon Shot Info D40 Tag" msgstr "Marqueur info image Canon inconnu" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 #, fuzzy msgid "AF Fine Tune Adj" msgstr "Point AF utilisé" #: src/nikonmn.cpp:1160 src/nikonmn.cpp:1220 #, fuzzy msgid "AF fine tune adj" msgstr "Point AF utilisé" #: src/nikonmn.cpp:1162 #, fuzzy msgid "Unknown Nikon Shot Info D300 (a) Tag" msgstr "Marqueur info image Canon inconnu" #: src/nikonmn.cpp:1222 #, fuzzy msgid "Unknown Nikon Shot Info D300 (b) Tag" msgstr "Marqueur info image Canon inconnu" #: src/nikonmn.cpp:1235 #, fuzzy msgid "On (3)" msgstr "Activé" #: src/nikonmn.cpp:1248 #, fuzzy msgid "Shutter Count 1" msgstr "Priorité obturation" #: src/nikonmn.cpp:1248 #, fuzzy msgid "Shutter count 1" msgstr "Priorité obturation" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration Reduction 1" msgstr "Réduction du bruit" #: src/nikonmn.cpp:1251 #, fuzzy msgid "Vibration reduction 1" msgstr "Réduction du bruit" #: src/nikonmn.cpp:1252 #, fuzzy msgid "Shutter Count 2" msgstr "Priorité obturation" #: src/nikonmn.cpp:1252 #, fuzzy msgid "Shutter count 2" msgstr "Priorité obturation" #: src/nikonmn.cpp:1253 #, fuzzy msgid "Vibration Reduction 2" msgstr "Réduction du bruit" #: src/nikonmn.cpp:1253 #, fuzzy msgid "Vibration reduction 2" msgstr "Réduction du bruit" #: src/nikonmn.cpp:1257 #, fuzzy msgid "Unknown Nikon Shot Info Tag" msgstr "Marqueur info image Canon inconnu" #: src/nikonmn.cpp:1268 #, fuzzy msgid "WB RBGG Levels" msgstr "Niveau de noir" #: src/nikonmn.cpp:1268 #, fuzzy msgid "WB RBGG levels" msgstr "Niveau de noir" #: src/nikonmn.cpp:1270 #, fuzzy msgid "Unknown Nikon Color Balance 1 Tag" msgstr "Balance des couleurs 1" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 #, fuzzy msgid "WB RGGB Levels" msgstr "Niveau de noir" #: src/nikonmn.cpp:1281 src/nikonmn.cpp:1294 src/nikonmn.cpp:1307 #, fuzzy msgid "WB RGGB levels" msgstr "Niveau de noir" #: src/nikonmn.cpp:1283 #, fuzzy msgid "Unknown Nikon Color Balance 2 Tag" msgstr "Balance des couleurs 1" #: src/nikonmn.cpp:1296 #, fuzzy msgid "Unknown Nikon Color Balance 2a Tag" msgstr "Balance des couleurs 1" #: src/nikonmn.cpp:1309 #, fuzzy msgid "Unknown Nikon Color Balance 2b Tag" msgstr "Balance des couleurs 1" #: src/nikonmn.cpp:1320 #, fuzzy msgid "WB RGBG Levels" msgstr "Niveau de noir" #: src/nikonmn.cpp:1320 #, fuzzy msgid "WB RGBG levels" msgstr "Niveau de noir" #: src/nikonmn.cpp:1322 #, fuzzy msgid "Unknown Nikon Color Balance 3 Tag" msgstr "Marqueur panorama Canon inconnu" #: src/nikonmn.cpp:1333 #, fuzzy msgid "WB GRBG Levels" msgstr "Niveau de noir" #: src/nikonmn.cpp:1333 #, fuzzy msgid "WB GRBG levels" msgstr "Niveau de noir" #: src/nikonmn.cpp:1335 #, fuzzy msgid "Unknown Nikon Color Balance 4 Tag" msgstr "Marqueur panorama Canon inconnu" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID Number" msgstr "Numéro de série" #: src/nikonmn.cpp:1346 src/nikonmn.cpp:1370 src/nikonmn.cpp:1395 #, fuzzy msgid "Lens ID number" msgstr "Numéro de série de l'appareil photo" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-Stops" msgstr "Type d'objectif" #: src/nikonmn.cpp:1347 src/nikonmn.cpp:1371 src/nikonmn.cpp:1396 #, fuzzy msgid "Lens F-stops" msgstr "Type d'objectif" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 #, fuzzy msgid "Min Focal Length" msgstr "Longueur focale minimale" #: src/nikonmn.cpp:1348 src/nikonmn.cpp:1372 src/nikonmn.cpp:1397 #: src/olympusmn.cpp:757 #, fuzzy msgid "Min focal length" msgstr "Longueur focale minimale" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 #, fuzzy msgid "Max Focal Length" msgstr "Longueur focale maximum" #: src/nikonmn.cpp:1349 src/nikonmn.cpp:1373 src/nikonmn.cpp:1398 #: src/olympusmn.cpp:758 #, fuzzy msgid "Max focal length" msgstr "Longueur focale maximum" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/nikonmn.cpp:1399 #: src/olympusmn.cpp:755 #, fuzzy msgid "Max Aperture At Min Focal" msgstr "Ouverture maximum à focal minimum" #: src/nikonmn.cpp:1350 src/nikonmn.cpp:1374 src/olympusmn.cpp:755 #, fuzzy msgid "Max aperture at min focal" msgstr "Ouverture maximum à focal minimum" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/nikonmn.cpp:1400 #: src/olympusmn.cpp:756 #, fuzzy msgid "Max Aperture At Max Focal" msgstr "Ouverture maximum à focal maximum" #: src/nikonmn.cpp:1351 src/nikonmn.cpp:1375 src/olympusmn.cpp:756 #, fuzzy msgid "Max aperture at max focal" msgstr "Ouverture maximum à focal maximum" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU Version" msgstr "Version d'ARM" #: src/nikonmn.cpp:1352 src/nikonmn.cpp:1376 src/nikonmn.cpp:1401 #, fuzzy msgid "MCU version" msgstr "Version d'ARM" #: src/nikonmn.cpp:1354 #, fuzzy msgid "Unknown Nikon Lens Data 1 Tag" msgstr "Marqueur 1 de note du fabriquant Nikon inconnu" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit Pupil Position" msgstr "Position mise au point" #: src/nikonmn.cpp:1365 src/nikonmn.cpp:1390 #, fuzzy msgid "Exit pupil position" msgstr "Position mise au point" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF Aperture" msgstr "Ouverture" #: src/nikonmn.cpp:1366 src/nikonmn.cpp:1391 #, fuzzy msgid "AF aperture" msgstr "Ouverture" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 #, fuzzy msgid "Effective Max Aperture" msgstr "Ouverture maximale" #: src/nikonmn.cpp:1377 src/nikonmn.cpp:1402 #, fuzzy msgid "Effective max aperture" msgstr "Ouverture maximale" #: src/nikonmn.cpp:1379 #, fuzzy msgid "Unknown Nikon Lens Data 2 Tag" msgstr "Marqueur 1 de note du fabriquant Nikon inconnu" #: src/nikonmn.cpp:1399 #, fuzzy msgid "Max aperture at min focal length" msgstr "Ouverture maximum à focal minimum" #: src/nikonmn.cpp:1400 #, fuzzy msgid "Max aperture at max focal length" msgstr "Ouverture maximum à focal maximum" #: src/nikonmn.cpp:1404 #, fuzzy msgid "Unknown Nikon Lens Data 3 Tag" msgstr "Marqueur 1 de note du fabriquant Nikon inconnu" #: src/nikonmn.cpp:1590 msgid "Closest subject" msgstr "Sujet proche" #: src/nikonmn.cpp:1591 msgid "Group dynamic-AF" msgstr "" #: src/nikonmn.cpp:1614 src/tags.cpp:244 msgid "none" msgstr "Aucun" #: src/nikonmn.cpp:1624 msgid "used" msgstr "utilisé" #: src/nikonmn.cpp:1650 #, fuzzy msgid "All 11 Points" msgstr "Points AF" #: src/nikonmn.cpp:1665 src/nikonmn.cpp:1666 src/pentaxmn.cpp:660 #: src/pentaxmn.cpp:665 #, fuzzy msgid "Single-frame" msgstr "Zone unique" #: src/olympusmn.cpp:71 msgid "Standard Quality (SQ)" msgstr "Qualité standard (SQ)" #: src/olympusmn.cpp:72 msgid "High Quality (HQ)" msgstr "Qualité haute (HQ)" #: src/olympusmn.cpp:73 msgid "Super High Quality (SHQ)" msgstr "Qualité très haute (HQ)" #: src/olympusmn.cpp:88 msgid "On (preset)" msgstr "" #: src/olympusmn.cpp:95 src/pentaxmn.cpp:587 msgid "Sport" msgstr "Sport" #: src/olympusmn.cpp:97 src/olympusmn.cpp:104 #, fuzzy msgid "Landscape+Portrait" msgstr "Paysage" #: src/olympusmn.cpp:100 src/panasonicmn.cpp:125 #, fuzzy msgid "Self Portrait" msgstr "Portrait" #: src/olympusmn.cpp:102 #, fuzzy msgid "2 in 1" msgstr "Activé" #: src/olympusmn.cpp:105 #, fuzzy msgid "Night+Portrait" msgstr "Portrait de nuit" #: src/olympusmn.cpp:111 src/panasonicmn.cpp:131 src/pentaxmn.cpp:599 #: src/sonymn.cpp:165 msgid "Food" msgstr "Nourriture" #: src/olympusmn.cpp:112 #, fuzzy msgid "Documents" msgstr "Nom du document" #: src/olympusmn.cpp:114 #, fuzzy msgid "Shoot & Select" msgstr "Effet photo" #: src/olympusmn.cpp:115 #, fuzzy msgid "Beach & Snow" msgstr "Surf et Neige" #: src/olympusmn.cpp:116 #, fuzzy msgid "Self Portrait+Timer" msgstr "Retardateur" #: src/olympusmn.cpp:117 #, fuzzy msgid "Candle" msgstr "Lumière de bougie" #: src/olympusmn.cpp:118 #, fuzzy msgid "Available Light" msgstr "Longueur focale maximum" #: src/olympusmn.cpp:119 msgid "Behind Glass" msgstr "" #: src/olympusmn.cpp:120 #, fuzzy msgid "My Mode" msgstr "Mode prise de vue" #: src/olympusmn.cpp:121 src/panasonicmn.cpp:142 src/pentaxmn.cpp:596 #: src/sonymn.cpp:169 msgid "Pet" msgstr "Animaux" #: src/olympusmn.cpp:122 #, fuzzy msgid "Underwater Wide1" msgstr "Sous marin" #: src/olympusmn.cpp:123 #, fuzzy msgid "Underwater Macro" msgstr "Sous marin" #: src/olympusmn.cpp:124 #, fuzzy msgid "Shoot & Select1" msgstr "Effet photo" #: src/olympusmn.cpp:125 #, fuzzy msgid "Shoot & Select2" msgstr "Effet photo" #: src/olympusmn.cpp:127 #, fuzzy msgid "Digital Image Stabilization" msgstr "Stabilisation de l'image" #: src/olympusmn.cpp:128 #, fuzzy msgid "Auction" msgstr "Automatique" #: src/olympusmn.cpp:131 #, fuzzy msgid "Underwater Wide2" msgstr "Sous marin" #: src/olympusmn.cpp:133 src/properties.cpp:1019 msgid "Children" msgstr "" #: src/olympusmn.cpp:135 #, fuzzy msgid "Nature Macro" msgstr "Couleur naturelle" #: src/olympusmn.cpp:136 #, fuzzy msgid "Underwater Snapshot" msgstr "Sous marin" #: src/olympusmn.cpp:137 #, fuzzy msgid "Shooting Guide" msgstr "Mode de prise de vue" #: src/olympusmn.cpp:145 msgid "Internal + External" msgstr "Interne + Externe" #: src/olympusmn.cpp:176 msgid "Interlaced" msgstr "Entrelacé" #: src/olympusmn.cpp:177 msgid "Progressive" msgstr "Progressif" #: src/olympusmn.cpp:188 #, fuzzy msgid "Thumbnail Image" msgstr "Miniature" #: src/olympusmn.cpp:189 #, fuzzy msgid "Thumbnail image" msgstr "Miniature" #: src/olympusmn.cpp:192 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 #, fuzzy msgid "Body Firmware Version" msgstr "Version du microcode" #: src/olympusmn.cpp:193 src/olympusmn.cpp:750 src/olympusmn.cpp:1034 #, fuzzy msgid "Body firmware version" msgstr "Version de microcode" #: src/olympusmn.cpp:195 msgid "Special Mode" msgstr "Mode spécial" #: src/olympusmn.cpp:196 msgid "Picture taking mode" msgstr "Mode de prise de vue" #: src/olympusmn.cpp:204 msgid "Black & White Mode" msgstr "Mode noir & blanc" #: src/olympusmn.cpp:205 msgid "Black and white mode" msgstr "Mode noir et blanc" #: src/olympusmn.cpp:208 msgid "Digital zoom ratio" msgstr "Rapport de zoom numérique" #: src/olympusmn.cpp:210 src/olympusmn.cpp:749 msgid "Focal Plane Diagonal" msgstr "Diagonal du plan focal" #: src/olympusmn.cpp:211 src/olympusmn.cpp:749 msgid "Focal plane diagonal" msgstr "Diagonal du plan focal" #: src/olympusmn.cpp:213 msgid "Lens Distortion Parameters" msgstr "Paramètre de distorsion de l'objectif" #: src/olympusmn.cpp:214 msgid "Lens distortion parameters" msgstr "Paramètre de distorsion de l'objectif" #: src/olympusmn.cpp:216 src/olympusmn.cpp:746 #, fuzzy msgid "Camera Type" msgstr "Marque de l'appareil" #: src/olympusmn.cpp:217 src/olympusmn.cpp:746 #, fuzzy msgid "Camera type" msgstr "Marque de l'appareil" #: src/olympusmn.cpp:220 msgid "ASCII format data such as [PictureInfo]" msgstr "Format de données ASCII comme [PictureInfo]" #: src/olympusmn.cpp:222 msgid "Camera ID" msgstr "Identifiant appareil photo" #: src/olympusmn.cpp:223 msgid "Camera ID data" msgstr "Données de l'identifiant appareil photo" #: src/olympusmn.cpp:231 src/olympusmn.cpp:232 src/properties.cpp:544 #: src/properties.cpp:1302 src/sigmamn.cpp:119 src/sigmamn.cpp:120 #: src/tags.cpp:545 msgid "Software" msgstr "Logiciel" #: src/olympusmn.cpp:234 src/panasonicmn.cpp:738 src/sonymn.cpp:363 #, fuzzy msgid "Preview Image" msgstr "Aperçu embarqué" #: src/olympusmn.cpp:235 src/panasonicmn.cpp:738 #, fuzzy msgid "Preview image" msgstr "Aperçu embarqué" #: src/olympusmn.cpp:237 #, fuzzy msgid "Pre Capture Frames" msgstr "Nom du propriétaire" #: src/olympusmn.cpp:238 #, fuzzy msgid "Pre-capture frames" msgstr "Nom du propriétaire" #: src/olympusmn.cpp:240 #, fuzzy msgid "White Board" msgstr "Balance des blancs" #: src/olympusmn.cpp:241 #, fuzzy msgid "White board" msgstr "Balance des blancs" #: src/olympusmn.cpp:243 msgid "One Touch WB" msgstr "Balance des blancs en une touche" #: src/olympusmn.cpp:244 msgid "One touch white balance" msgstr "Balance des blancs en une touche" #: src/olympusmn.cpp:246 src/olympusmn.cpp:684 #, fuzzy msgid "White Balance Bracket" msgstr "Biais de balance des blancs" #: src/olympusmn.cpp:247 src/olympusmn.cpp:684 #, fuzzy msgid "White balance bracket" msgstr "Biais de balance des blancs" #: src/olympusmn.cpp:255 src/olympusmn.cpp:256 src/sigmamn.cpp:116 #: src/sigmamn.cpp:117 msgid "Firmware" msgstr "Microcode" #: src/olympusmn.cpp:261 #, fuzzy msgid "Data Dump 1" msgstr "Formulaire de donné" #: src/olympusmn.cpp:262 msgid "Various camera settings 1" msgstr "Divers réglages de l'appareil photo 1" #: src/olympusmn.cpp:264 #, fuzzy msgid "Data Dump 2" msgstr "Formulaire de donné" #: src/olympusmn.cpp:265 msgid "Various camera settings 2" msgstr "Divers réglages de l'appareil photo 1" #: src/olympusmn.cpp:268 msgid "Shutter speed value" msgstr "Valeur de vitesse d'obturation" #: src/olympusmn.cpp:271 msgid "ISO speed value" msgstr "Valeur de vitesse ISO" #: src/olympusmn.cpp:274 msgid "Aperture value" msgstr "Valeur d'ouverture" #: src/olympusmn.cpp:277 msgid "Brightness value" msgstr "Valeur de luminosité" #: src/olympusmn.cpp:285 msgid "Bracket" msgstr "Bracket" #: src/olympusmn.cpp:286 msgid "Exposure compensation value" msgstr "Valeur de compensation d'exposition" #: src/olympusmn.cpp:288 src/olympusmn.cpp:1022 msgid "Sensor Temperature" msgstr "Température de la sonde" #: src/olympusmn.cpp:289 src/olympusmn.cpp:1022 msgid "Sensor temperature" msgstr "Température de la sonde" #: src/olympusmn.cpp:291 msgid "Lens Temperature" msgstr "Température de l'objectif" #: src/olympusmn.cpp:292 msgid "Lens temperature" msgstr "Température de l'objectif" #: src/olympusmn.cpp:294 #, fuzzy msgid "Light Condition" msgstr "Fonctions personnalisées" #: src/olympusmn.cpp:295 #, fuzzy msgid "Light condition" msgstr "Fonctions personnalisées" #: src/olympusmn.cpp:297 #, fuzzy msgid "Focus Range" msgstr "Zone mise au point" #: src/olympusmn.cpp:298 #, fuzzy msgid "Focus range" msgstr "Zone mise au point" #: src/olympusmn.cpp:306 msgid "Zoom" msgstr "Zoom" #: src/olympusmn.cpp:307 src/olympusmn.cpp:1010 #, fuzzy msgid "Zoom step count" msgstr "Comptage d'image" #: src/olympusmn.cpp:309 msgid "Macro Focus" msgstr "Mise au point macro" #: src/olympusmn.cpp:310 #, fuzzy msgid "Macro focus step count" msgstr "Position mise au point" #: src/olympusmn.cpp:312 src/olympusmn.cpp:393 msgid "Sharpness Factor" msgstr "Facteur de netteté" #: src/olympusmn.cpp:313 src/olympusmn.cpp:394 msgid "Sharpness factor" msgstr "Facteur de netteté" #: src/olympusmn.cpp:315 #, fuzzy msgid "Flash Charge Level" msgstr "Matériel du flash" #: src/olympusmn.cpp:316 #, fuzzy msgid "Flash charge level" msgstr "Matériel du flash" #: src/olympusmn.cpp:318 src/olympusmn.cpp:969 msgid "Color Matrix" msgstr "Matrice des couleurs" #: src/olympusmn.cpp:319 src/olympusmn.cpp:969 msgid "Color matrix" msgstr "Matrice des couleurs" #: src/olympusmn.cpp:321 msgid "BlackLevel" msgstr "Niveau de noir" #: src/olympusmn.cpp:322 src/olympusmn.cpp:974 msgid "Black level" msgstr "Niveau de noir" #: src/olympusmn.cpp:331 src/pentaxmn.cpp:1212 src/pentaxmn.cpp:1213 msgid "White balance mode" msgstr "Mode balance des blancs" #: src/olympusmn.cpp:336 src/panasonicmn.cpp:732 msgid "Red Balance" msgstr "Balance des rouges" #: src/olympusmn.cpp:337 src/pentaxmn.cpp:1218 msgid "Red balance" msgstr "Balance des rouges" #: src/olympusmn.cpp:339 src/panasonicmn.cpp:733 msgid "Blue Balance" msgstr "Balance des bleus" #: src/olympusmn.cpp:340 src/panasonicmn.cpp:733 src/pentaxmn.cpp:1215 msgid "Blue balance" msgstr "Balance des bleus" #: src/olympusmn.cpp:342 #, fuzzy msgid "Color Matrix Number" msgstr "Matrice des couleurs" #: src/olympusmn.cpp:343 #, fuzzy msgid "Color matrix number" msgstr "Matrice des couleurs" #: src/olympusmn.cpp:345 msgid "Serial Number 2" msgstr "Numéro de série 2" #: src/olympusmn.cpp:346 msgid "Serial number 2" msgstr "Numéro de série 2" #: src/olympusmn.cpp:373 src/olympusmn.cpp:677 src/pentaxmn.cpp:1308 #: src/pentaxmn.cpp:1309 msgid "Flash exposure compensation" msgstr "Compensation d'exposition du flash" #: src/olympusmn.cpp:381 src/olympusmn.cpp:1018 #, fuzzy msgid "External Flash Bounce" msgstr "Mode flash externe" #: src/olympusmn.cpp:382 src/olympusmn.cpp:1018 #, fuzzy msgid "External flash bounce" msgstr "Mode flash externe" #: src/olympusmn.cpp:384 src/olympusmn.cpp:1019 msgid "External Flash Zoom" msgstr "Zoom flash externe" #: src/olympusmn.cpp:385 src/olympusmn.cpp:1019 msgid "External flash zoom" msgstr "Zoom flash externe" #: src/olympusmn.cpp:387 msgid "External Flash Mode" msgstr "Mode flash externe" #: src/olympusmn.cpp:388 msgid "External flash mode" msgstr "Mode flash externe" #: src/olympusmn.cpp:396 msgid "Color Control" msgstr "Contrôle des couleurs" #: src/olympusmn.cpp:397 msgid "Color control" msgstr "Contrôle des couleurs" #: src/olympusmn.cpp:399 msgid "ValidBits" msgstr "" #: src/olympusmn.cpp:400 src/olympusmn.cpp:976 msgid "Valid bits" msgstr "" #: src/olympusmn.cpp:402 #, fuzzy msgid "CoringFilter" msgstr "Filtre couleur" #: src/olympusmn.cpp:403 src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring filter" msgstr "Filtre couleur" #: src/olympusmn.cpp:423 msgid "Compression Ratio" msgstr "Rapport de compression" #: src/olympusmn.cpp:424 msgid "Compression ratio" msgstr "Rapport de compression" #: src/olympusmn.cpp:427 msgid "Preview image embedded" msgstr "Aperçu embarqué" #: src/olympusmn.cpp:430 msgid "Offset of the preview image" msgstr "Décalage de l'aperçu" #: src/olympusmn.cpp:433 msgid "Size of the preview image" msgstr "Taille de l'aperçu" #: src/olympusmn.cpp:435 #, fuzzy msgid "CCD Scan Mode" msgstr "Mode scène" #: src/olympusmn.cpp:436 #, fuzzy msgid "CCD scan mode" msgstr "Mode scène" #: src/olympusmn.cpp:441 #, fuzzy msgid "Infinity Lens Step" msgstr "Infinie" #: src/olympusmn.cpp:442 #, fuzzy msgid "Infinity lens step" msgstr "Infinie" #: src/olympusmn.cpp:444 #, fuzzy msgid "Near Lens Step" msgstr "Type d'objectif" #: src/olympusmn.cpp:445 msgid "Near lens step" msgstr "" #: src/olympusmn.cpp:447 msgid "Equipment Info" msgstr "Informations équipement" #: src/olympusmn.cpp:448 #, fuzzy msgid "Camera equipment sub-IFD" msgstr "Informations équipement de l'appareil" #: src/olympusmn.cpp:451 #, fuzzy msgid "Camera Settings sub-IFD" msgstr "Réglage appareil photo (7D)" #: src/olympusmn.cpp:453 #, fuzzy msgid "Raw Development" msgstr "Version des Notes du fabriquant" #: src/olympusmn.cpp:454 #, fuzzy msgid "Raw development sub-IFD" msgstr "Version des Notes du fabriquant" #: src/olympusmn.cpp:456 #, fuzzy msgid "Raw Development 2" msgstr "Version des Notes du fabriquant" #: src/olympusmn.cpp:457 #, fuzzy msgid "Raw development 2 sub-IFD" msgstr "Version des Notes du fabriquant" #: src/olympusmn.cpp:460 #, fuzzy msgid "Image processing sub-IFD" msgstr " Traitement d'image" #: src/olympusmn.cpp:462 msgid "Focus Info" msgstr "Informations mise au point" #: src/olympusmn.cpp:463 #, fuzzy msgid "Focus sub-IFD" msgstr "Informations mise au point" #: src/olympusmn.cpp:465 msgid "Raw Info" msgstr "Informations brutes" #: src/olympusmn.cpp:466 #, fuzzy msgid "Raw sub-IFD" msgstr "Sous-IFD" #: src/olympusmn.cpp:470 msgid "Unknown OlympusMakerNote tag" msgstr "Marqueur de note du fabriquant Olympus inconnu" #: src/olympusmn.cpp:486 #, fuzzy msgid "Program-shift" msgstr "Logiciel" #: src/olympusmn.cpp:491 #, fuzzy msgid "Center-weighted average" msgstr "Moyenne pondérée au centre" #: src/olympusmn.cpp:493 msgid "ESP" msgstr "" #: src/olympusmn.cpp:494 #, fuzzy msgid "Pattern+AF" msgstr "Motif CFA" #: src/olympusmn.cpp:495 #, fuzzy msgid "Spot+Highlight control" msgstr "Contrôle des couleurs" #: src/olympusmn.cpp:496 #, fuzzy msgid "Spot+Shadow control" msgstr "Contrôle des couleurs" #: src/olympusmn.cpp:508 src/olympusmn.cpp:1439 #, fuzzy msgid "Single AF" msgstr "Simple" #: src/olympusmn.cpp:509 src/olympusmn.cpp:1440 msgid "Sequential shooting AF" msgstr "" #: src/olympusmn.cpp:511 src/olympusmn.cpp:1442 src/sonymn.cpp:236 #, fuzzy msgid "Multi AF" msgstr "AF automatique" #: src/olympusmn.cpp:517 #, fuzzy msgid "AF Not Used" msgstr "Point AF utilisé" #: src/olympusmn.cpp:518 #, fuzzy msgid "AF Used" msgstr "Point AF utilisé" #: src/olympusmn.cpp:523 #, fuzzy msgid "Not Ready" msgstr "Non utilisé" #: src/olympusmn.cpp:524 #, fuzzy msgid "Ready" msgstr "Réduction yeux rouges" #: src/olympusmn.cpp:531 #, fuzzy msgid "Fill-in" msgstr "Nom du fichier" #: src/olympusmn.cpp:533 #, fuzzy msgid "Slow-sync" msgstr "Synchro lente" #: src/olympusmn.cpp:534 #, fuzzy msgid "Forced On" msgstr "Fluorescent" #: src/olympusmn.cpp:535 msgid "2nd Curtain" msgstr "" #: src/olympusmn.cpp:541 msgid "Channel 1, Low" msgstr "" #: src/olympusmn.cpp:542 msgid "Channel 2, Low" msgstr "" #: src/olympusmn.cpp:543 msgid "Channel 3, Low" msgstr "" #: src/olympusmn.cpp:544 msgid "Channel 4, Low" msgstr "" #: src/olympusmn.cpp:545 msgid "Channel 1, Mid" msgstr "" #: src/olympusmn.cpp:546 msgid "Channel 2, Mid" msgstr "" #: src/olympusmn.cpp:547 msgid "Channel 3, Mid" msgstr "" #: src/olympusmn.cpp:548 msgid "Channel 4, Mid" msgstr "" #: src/olympusmn.cpp:549 msgid "Channel 1, High" msgstr "" #: src/olympusmn.cpp:550 msgid "Channel 2, High" msgstr "" #: src/olympusmn.cpp:551 msgid "Channel 3, High" msgstr "" #: src/olympusmn.cpp:552 msgid "Channel 4, High" msgstr "" #: src/olympusmn.cpp:566 msgid "Auto (Keep Warm Color Off" msgstr "" #: src/olympusmn.cpp:567 #, fuzzy msgid "7500K (Fine Weather with Shade)" msgstr "Ensoleillé" #: src/olympusmn.cpp:568 #, fuzzy msgid "6000K (Cloudy)" msgstr "Auto (Nuageux)" #: src/olympusmn.cpp:569 #, fuzzy msgid "5300K (Fine Weather)" msgstr "Ensoleillé" #: src/olympusmn.cpp:570 msgid "3000K (Tungsten light)" msgstr "" #: src/olympusmn.cpp:571 src/olympusmn.cpp:578 msgid "3600K (Tungsten light-like)" msgstr "" #: src/olympusmn.cpp:572 #, fuzzy msgid "Auto Setup" msgstr "Ouverture" #: src/olympusmn.cpp:573 #, fuzzy msgid "5500K (Flash)" msgstr "Auto (Flash)" #: src/olympusmn.cpp:574 #, fuzzy msgid "6600K (Daylight fluorescent)" msgstr "Lumière du jour fluorescent" #: src/olympusmn.cpp:575 #, fuzzy msgid "4500K (Neutral white fluorescent)" msgstr "Auto (lumière du jour fluorescent)" #: src/olympusmn.cpp:576 #, fuzzy msgid "4000K (Cool white fluorescent)" msgstr "Blanc froid fluorescent (W 3900 - 4500K)" #: src/olympusmn.cpp:577 #, fuzzy msgid "White Fluorescent" msgstr "Fluorescent" #: src/olympusmn.cpp:580 #, fuzzy msgid "One Touch WB 1" msgstr "Balance des blancs en une touche" #: src/olympusmn.cpp:581 #, fuzzy msgid "One Touch WB 2" msgstr "Balance des blancs en une touche" #: src/olympusmn.cpp:582 #, fuzzy msgid "One Touch WB 3" msgstr "Balance des blancs en une touche" #: src/olympusmn.cpp:583 #, fuzzy msgid "One Touch WB 4" msgstr "Balance des blancs en une touche" #: src/olympusmn.cpp:584 #, fuzzy msgid "Custom WB 1" msgstr "Personnel 1" #: src/olympusmn.cpp:585 #, fuzzy msgid "Custom WB 2" msgstr "Personnel 2" #: src/olympusmn.cpp:586 #, fuzzy msgid "Custom WB 3" msgstr "Processus personnel 2" #: src/olympusmn.cpp:587 #, fuzzy msgid "Custom WB 4" msgstr "Personnel 1" #: src/olympusmn.cpp:593 #, fuzzy msgid "CM1 (Red Enhance)" msgstr "Balance des bleus" #: src/olympusmn.cpp:594 #, fuzzy msgid "CM2 (Green Enhance)" msgstr "Balance des bleus" #: src/olympusmn.cpp:595 #, fuzzy msgid "CM3 (Blue Enhance)" msgstr "Balance des bleus" #: src/olympusmn.cpp:596 msgid "CM4 (Skin Tones)" msgstr "" #: src/olympusmn.cpp:603 src/olympusmn.cpp:783 src/olympusmn.cpp:848 msgid "Pro Photo RGB" msgstr "" #: src/olympusmn.cpp:609 src/olympusmn.cpp:703 #, fuzzy msgid "Noise Filter" msgstr "Filtre" #: src/olympusmn.cpp:610 #, fuzzy msgid "Noise Filter (ISO Boost)" msgstr "Filtre" #: src/olympusmn.cpp:618 src/olympusmn.cpp:861 src/pentaxmn.cpp:975 #, fuzzy msgid "Muted" msgstr "utilisé" #: src/olympusmn.cpp:620 src/olympusmn.cpp:862 #, fuzzy msgid "Monotone" msgstr "Tonalité couleur" #: src/olympusmn.cpp:646 msgid "SQ" msgstr "" #: src/olympusmn.cpp:647 msgid "HQ" msgstr "" #: src/olympusmn.cpp:648 msgid "SHQ" msgstr "" #: src/olympusmn.cpp:655 src/panasonicmn.cpp:92 #, fuzzy msgid "On, Mode 1" msgstr "Mode scène" #: src/olympusmn.cpp:656 src/panasonicmn.cpp:94 #, fuzzy msgid "On, Mode 2" msgstr "Mode scène" #: src/olympusmn.cpp:657 src/panasonicmn.cpp:96 #, fuzzy msgid "On, Mode 3" msgstr "Mode scène" #: src/olympusmn.cpp:661 #, fuzzy msgid "Camera Settings Version" msgstr "informations de réglage appareil photo" #: src/olympusmn.cpp:661 #, fuzzy msgid "Camera settings version" msgstr "informations de réglage appareil photo" #: src/olympusmn.cpp:662 #, fuzzy msgid "PreviewImage Valid" msgstr "Aperçu embarqué" #: src/olympusmn.cpp:662 #, fuzzy msgid "Preview image valid" msgstr "Aperçu embarqué" #: src/olympusmn.cpp:663 #, fuzzy msgid "PreviewImage Start" msgstr "Données de prévisualisation" #: src/olympusmn.cpp:663 #, fuzzy msgid "Preview image start" msgstr "Aperçu embarqué" #: src/olympusmn.cpp:664 #, fuzzy msgid "PreviewImage Length" msgstr "Hauteur de l'image" #: src/olympusmn.cpp:664 #, fuzzy msgid "Preview image length" msgstr "Aperçu embarqué" #: src/olympusmn.cpp:666 #, fuzzy msgid "Auto exposure lock" msgstr "Exposition" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure Shift" msgstr "Temps d'exposition" #: src/olympusmn.cpp:668 #, fuzzy msgid "Exposure shift" msgstr "Temps d'exposition" #: src/olympusmn.cpp:671 #, fuzzy msgid "Focus Process" msgstr "Mode mise au point" #: src/olympusmn.cpp:671 #, fuzzy msgid "Focus process" msgstr "Processus personnel" #: src/olympusmn.cpp:672 msgid "AF Search" msgstr "" #: src/olympusmn.cpp:672 #, fuzzy msgid "AF search" msgstr "Point AF utilisé" #: src/olympusmn.cpp:673 #, fuzzy msgid "AF Areas" msgstr "Zone mise au point" #: src/olympusmn.cpp:673 #, fuzzy msgid "AF areas" msgstr "Zone mise au point" #: src/olympusmn.cpp:674 #, fuzzy msgid "AFPointSelected" msgstr "Point AF sélectionné" #: src/olympusmn.cpp:675 #, fuzzy msgid "AF Fine Tune Adjust" msgstr "Point AF utilisé" #: src/olympusmn.cpp:675 #, fuzzy msgid "AF fine tune adjust" msgstr "Point AF utilisé" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash Remote Control" msgstr "Contrôle des couleurs" #: src/olympusmn.cpp:678 #, fuzzy msgid "Flash remote control" msgstr "Contrôle des couleurs" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash Control Mode" msgstr "Mode flash" #: src/olympusmn.cpp:679 #, fuzzy msgid "Flash control mode" msgstr "Mode flash" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash Intensity" msgstr "Activité flash" #: src/olympusmn.cpp:680 #, fuzzy msgid "Flash intensity" msgstr "Activité flash" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual Flash Strength" msgstr "Puissance Flash" #: src/olympusmn.cpp:681 #, fuzzy msgid "Manual flash strength" msgstr "Contrôle de flash manuel" #: src/olympusmn.cpp:682 src/sonymn.cpp:478 #, fuzzy msgid "White Balance 2" msgstr "Balance des blancs" #: src/olympusmn.cpp:682 src/sonymn.cpp:479 #, fuzzy msgid "White balance 2" msgstr "Balance des blancs" #: src/olympusmn.cpp:683 #, fuzzy msgid "White Balance Temperature" msgstr "Table de balance des blancs" #: src/olympusmn.cpp:683 #, fuzzy msgid "White balance temperature" msgstr "Table de balance des blancs" #: src/olympusmn.cpp:685 #, fuzzy msgid "Custom Saturation" msgstr "Saturation" #: src/olympusmn.cpp:685 #, fuzzy msgid "Custom saturation" msgstr "Fonctions personnalisées" #: src/olympusmn.cpp:686 #, fuzzy msgid "Modified Saturation" msgstr "Saturation" #: src/olympusmn.cpp:686 #, fuzzy msgid "Modified saturation" msgstr "Saturation" #: src/olympusmn.cpp:687 src/olympusmn.cpp:1087 #, fuzzy msgid "Contrast Setting" msgstr "Réglage de contraste" #: src/olympusmn.cpp:688 src/olympusmn.cpp:1088 #, fuzzy msgid "Sharpness Setting" msgstr "Réglage de Netteté" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 #, fuzzy msgid "Distortion Correction" msgstr "Réduction du bruit" #: src/olympusmn.cpp:692 src/olympusmn.cpp:982 #, fuzzy msgid "Distortion correction" msgstr "Réduction du bruit" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 src/panasonicmn.cpp:516 #, fuzzy msgid "Shading Compensation" msgstr "Compensation de tonalité" #: src/olympusmn.cpp:693 src/olympusmn.cpp:983 #, fuzzy msgid "Shading compensation" msgstr "Compensation de tonalité" #: src/olympusmn.cpp:694 #, fuzzy msgid "Compression Factor" msgstr "Rapport de compression" #: src/olympusmn.cpp:694 #, fuzzy msgid "Compression factor" msgstr "Rapport de compression" #: src/olympusmn.cpp:695 src/olympusmn.cpp:904 #, fuzzy msgid "Gradation" msgstr "Saturation" #: src/olympusmn.cpp:696 src/olympusmn.cpp:898 src/pentaxmn.cpp:1268 #: src/pentaxmn.cpp:1269 #, fuzzy msgid "Picture mode" msgstr "Mode d'image" #: src/olympusmn.cpp:697 #, fuzzy msgid "Picture Mode Saturation" msgstr "Réglage de mode d'image" #: src/olympusmn.cpp:697 src/olympusmn.cpp:899 #, fuzzy msgid "Picture mode saturation" msgstr "Réglage de mode d'image" #: src/olympusmn.cpp:698 #, fuzzy msgid "Picture Mode Hue" msgstr "Mode d'image" #: src/olympusmn.cpp:698 #, fuzzy msgid "Picture mode hue" msgstr "Mode d'image" #: src/olympusmn.cpp:699 #, fuzzy msgid "Picture Mode Contrast" msgstr "Mode d'image" #: src/olympusmn.cpp:699 src/olympusmn.cpp:900 #, fuzzy msgid "Picture mode contrast" msgstr "Réglage de mode d'image" #: src/olympusmn.cpp:700 #, fuzzy msgid "Picture Mode Sharpness" msgstr "Mode d'image" #: src/olympusmn.cpp:700 src/olympusmn.cpp:901 #, fuzzy msgid "Picture mode sharpness" msgstr "Réglage de mode d'image" #: src/olympusmn.cpp:701 #, fuzzy msgid "Picture Mode BW Filter" msgstr "Mode d'image" #: src/olympusmn.cpp:701 #, fuzzy msgid "Picture mode BW filter" msgstr "Mode d'image" #: src/olympusmn.cpp:702 #, fuzzy msgid "Picture Mode Tone" msgstr "Mode d'image" #: src/olympusmn.cpp:702 #, fuzzy msgid "Picture mode tone" msgstr "Mode d'image" #: src/olympusmn.cpp:703 #, fuzzy msgid "Noise filter" msgstr "Filtre couleur" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art Filter" msgstr "Filtre" #: src/olympusmn.cpp:704 #, fuzzy msgid "Art filter" msgstr "Filtre couleur" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic Filter" msgstr "Filtre digital" #: src/olympusmn.cpp:705 #, fuzzy msgid "Magic filter" msgstr "Appareil photo numérique" #: src/olympusmn.cpp:707 #, fuzzy msgid "Panorama Mode" msgstr "Panorama" #: src/olympusmn.cpp:707 #, fuzzy msgid "Panorama mode" msgstr "Frame panorama" #: src/olympusmn.cpp:708 #, fuzzy msgid "Image Quality 2" msgstr "Qualité de l'image" #: src/olympusmn.cpp:708 #, fuzzy msgid "Image quality 2" msgstr "Qualité de l'image" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 #, fuzzy msgid "Manometer Pressure" msgstr "Non compressé" #: src/olympusmn.cpp:710 src/panasonicmn.cpp:514 #, fuzzy msgid "Manometer pressure" msgstr "Non compressé" #: src/olympusmn.cpp:711 #, fuzzy msgid "Manometer Reading" msgstr "Non compressé" #: src/olympusmn.cpp:711 #, fuzzy msgid "Manometer reading" msgstr "Non compressé" #: src/olympusmn.cpp:712 #, fuzzy msgid "Extended WB Detect" msgstr "Mode scène" #: src/olympusmn.cpp:712 #, fuzzy msgid "Extended WB detect" msgstr "Mode scène" #: src/olympusmn.cpp:713 msgid "Level Gauge Roll" msgstr "" #: src/olympusmn.cpp:713 msgid "Level gauge roll" msgstr "" #: src/olympusmn.cpp:714 msgid "Level Gauge Pitch" msgstr "" #: src/olympusmn.cpp:714 msgid "Level gauge pitch" msgstr "" #: src/olympusmn.cpp:716 #, fuzzy msgid "Unknown OlympusCs tag" msgstr "Marqueur de note du fabriquant Olympus inconnu" #: src/olympusmn.cpp:727 msgid "Simple E-System" msgstr "" #: src/olympusmn.cpp:728 msgid "E-System" msgstr "" #: src/olympusmn.cpp:745 #, fuzzy msgid "Equipment Version" msgstr "Informations équipement" #: src/olympusmn.cpp:745 #, fuzzy msgid "Equipment version" msgstr "Informations équipement" #: src/olympusmn.cpp:747 msgid "Serial number" msgstr "Numéro de série" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 src/tags.cpp:1861 #, fuzzy msgid "Lens Serial Number" msgstr "Numéro de série" #: src/olympusmn.cpp:752 src/panasonicmn.cpp:494 #, fuzzy msgid "Lens serial number" msgstr "Numéro de série de l'appareil photo" #: src/olympusmn.cpp:754 #, fuzzy msgid "Lens Firmware Version" msgstr "Version du microcode" #: src/olympusmn.cpp:754 #, fuzzy msgid "Lens firmware version" msgstr "Version de microcode" #: src/olympusmn.cpp:759 #, fuzzy msgid "Max Aperture At Current Focal" msgstr "Ouverture maximum à focal minimum" #: src/olympusmn.cpp:759 #, fuzzy msgid "Max aperture at current focal" msgstr "Ouverture maximum à focal minimum" #: src/olympusmn.cpp:760 #, fuzzy msgid "Lens Properties" msgstr "Température de l'objectif" #: src/olympusmn.cpp:760 #, fuzzy msgid "Lens properties" msgstr "Température de l'objectif" #: src/olympusmn.cpp:761 #, fuzzy msgid "Extender" msgstr "Externe" #: src/olympusmn.cpp:762 #, fuzzy msgid "Extender Serial Number" msgstr "Numéro de série de l'appareil photo" #: src/olympusmn.cpp:762 #, fuzzy msgid "Extender serial number" msgstr "Numéro de série de l'appareil photo" #: src/olympusmn.cpp:763 #, fuzzy msgid "Extender Model" msgstr "Mode scène" #: src/olympusmn.cpp:763 #, fuzzy msgid "Extender model" msgstr "Mode scène" #: src/olympusmn.cpp:764 #, fuzzy msgid "Extender Firmware Version" msgstr "Version du microcode" #: src/olympusmn.cpp:764 #, fuzzy msgid "Extender firmwareversion" msgstr "Version du microcode" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 #, fuzzy msgid "Conversion Lens" msgstr "Version" #: src/olympusmn.cpp:765 src/panasonicmn.cpp:471 #, fuzzy msgid "Conversion lens" msgstr "Valeur de luminosité" #: src/olympusmn.cpp:767 src/properties.cpp:402 #, fuzzy msgid "Flash Model" msgstr "Mode flash" #: src/olympusmn.cpp:767 #, fuzzy msgid "Flash model" msgstr "Mode flash" #: src/olympusmn.cpp:768 #, fuzzy msgid "Flash Firmware Version" msgstr "Version du microcode" #: src/olympusmn.cpp:768 #, fuzzy msgid "Flash firmware version" msgstr "Version de microcode" #: src/olympusmn.cpp:769 #, fuzzy msgid "FlashSerialNumber" msgstr "Numéro de série" #: src/olympusmn.cpp:771 #, fuzzy msgid "Unknown OlympusEq tag" msgstr "Marqueur de note du fabriquant Olympus inconnu" #: src/olympusmn.cpp:788 src/olympusmn.cpp:853 #, fuzzy msgid "High Speed" msgstr "Scène de nuit" #: src/olympusmn.cpp:789 src/olympusmn.cpp:810 src/olympusmn.cpp:854 #, fuzzy msgid "High Function" msgstr "Fonctions personnalisées" #: src/olympusmn.cpp:790 #, fuzzy msgid "Advanced High Speed" msgstr "Scène de nuit" #: src/olympusmn.cpp:791 #, fuzzy msgid "Advanced High Function" msgstr "Fonction de transfert" #: src/olympusmn.cpp:796 #, fuzzy msgid "Original" msgstr "Date et heure (originel)" #: src/olympusmn.cpp:797 #, fuzzy msgid "Edited (Landscape)" msgstr "Paysage" #: src/olympusmn.cpp:798 src/olympusmn.cpp:799 #, fuzzy msgid "Edited (Portrait)" msgstr "Portrait de nuit" #: src/olympusmn.cpp:804 #, fuzzy msgid "WB Color Temp" msgstr "Tonalité couleur" #: src/olympusmn.cpp:805 #, fuzzy msgid "WB Gray Point" msgstr "Point AF" #: src/olympusmn.cpp:815 #, fuzzy msgid "Raw Development Version" msgstr "Version des Notes du fabriquant" #: src/olympusmn.cpp:815 #, fuzzy msgid "Raw development version" msgstr "Version des Notes du fabriquant" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 src/properties.cpp:583 #: src/tags.cpp:829 #, fuzzy msgid "Exposure Bias Value" msgstr "Correction d'exposition" #: src/olympusmn.cpp:816 src/olympusmn.cpp:886 #, fuzzy msgid "Exposure bias value" msgstr "Correction d'exposition" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 #, fuzzy msgid "White Balance Value" msgstr "Table de balance des blancs" #: src/olympusmn.cpp:817 src/olympusmn.cpp:888 #, fuzzy msgid "White balance value" msgstr "Table de balance des blancs" #: src/olympusmn.cpp:818 src/olympusmn.cpp:889 #, fuzzy msgid "WB Fine Adjustment" msgstr "Ajustement de teinte" #: src/olympusmn.cpp:818 #, fuzzy msgid "WB fine adjustment" msgstr "Ajustement de teinte" #: src/olympusmn.cpp:819 src/olympusmn.cpp:841 src/olympusmn.cpp:890 #, fuzzy msgid "Gray Point" msgstr "Point AF" #: src/olympusmn.cpp:819 src/olympusmn.cpp:890 #, fuzzy msgid "Gray point" msgstr "AF Points" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 #, fuzzy msgid "Saturation Emphasis" msgstr "Réglage de saturation" #: src/olympusmn.cpp:820 src/olympusmn.cpp:893 #, fuzzy msgid "Saturation emphasis" msgstr "Réglage de saturation" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 #, fuzzy msgid "Memory Color Emphasis" msgstr "Mes couleurs" #: src/olympusmn.cpp:821 src/olympusmn.cpp:894 #, fuzzy msgid "Memory color emphasis" msgstr "Mes couleurs" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 #, fuzzy msgid "Contrast Value" msgstr "Contraste" #: src/olympusmn.cpp:822 src/olympusmn.cpp:891 #, fuzzy msgid "Contrast value" msgstr "Contraste" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 #, fuzzy msgid "Sharpness Value" msgstr "Netteté" #: src/olympusmn.cpp:823 src/olympusmn.cpp:892 #, fuzzy msgid "Sharpness value" msgstr "Netteté" #: src/olympusmn.cpp:825 src/olympusmn.cpp:897 #, fuzzy msgid "Engine" msgstr "centre" #: src/olympusmn.cpp:827 #, fuzzy msgid "Edit status" msgstr "Statut des modifications" #: src/olympusmn.cpp:828 #, fuzzy msgid "Settings" msgstr "Réglage AE" #: src/olympusmn.cpp:830 #, fuzzy msgid "Unknown OlympusRd tag" msgstr "Marqueur de note du fabriquant Olympus inconnu" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw Development 2 Version" msgstr "Version des Notes du fabriquant" #: src/olympusmn.cpp:885 #, fuzzy msgid "Raw development 2 version" msgstr "Version des Notes du fabriquant" #: src/olympusmn.cpp:889 #, fuzzy msgid "White balance fine adjustment" msgstr "Ajustement de la balance des blancs" #: src/olympusmn.cpp:899 #, fuzzy msgid "PM Saturation" msgstr "Saturation" #: src/olympusmn.cpp:900 #, fuzzy msgid "PM Contrast" msgstr "Contraste" #: src/olympusmn.cpp:901 #, fuzzy msgid "PM Sharpness" msgstr "Netteté" #: src/olympusmn.cpp:902 #, fuzzy msgid "PM BW Filter" msgstr "Filtre" #: src/olympusmn.cpp:902 #, fuzzy msgid "PM BW filter" msgstr "Filtre" #: src/olympusmn.cpp:903 #, fuzzy msgid "PM Picture Tone" msgstr "Mode d'image" #: src/olympusmn.cpp:903 #, fuzzy msgid "PM picture tone" msgstr "Mode d'image" #: src/olympusmn.cpp:906 #, fuzzy msgid "Auto Gradation" msgstr "Durée audio" #: src/olympusmn.cpp:906 #, fuzzy msgid "Auto gradation" msgstr "Durée audio" #: src/olympusmn.cpp:907 #, fuzzy msgid "PM Noise Filter" msgstr "Filtre" #: src/olympusmn.cpp:907 #, fuzzy msgid "Picture mode noise filter" msgstr "Réglage de mode d'image" #: src/olympusmn.cpp:909 #, fuzzy msgid "Unknown OlympusRd2 tag" msgstr "Marqueur de note du fabriquant Olympus inconnu" #: src/olympusmn.cpp:920 #, fuzzy msgid "On (2 frames)" msgstr "Activé" #: src/olympusmn.cpp:921 #, fuzzy msgid "On (3 frames)" msgstr "Activé" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image Processing Version" msgstr " Traitement d'image" #: src/olympusmn.cpp:938 #, fuzzy msgid "Image processing version" msgstr "Informations du traitement d'image" #: src/olympusmn.cpp:940 #, fuzzy msgid "WB RB Levels 3000K" msgstr "Niveau de noir" #: src/olympusmn.cpp:940 #, fuzzy msgid "WB RB levels 3000K" msgstr "Niveau de noir" #: src/olympusmn.cpp:941 #, fuzzy msgid "WB RB Levels 3300K" msgstr "Niveau de noir" #: src/olympusmn.cpp:941 #, fuzzy msgid "WB RB levels 3300K" msgstr "Niveau de noir" #: src/olympusmn.cpp:942 #, fuzzy msgid "WB RB Levels 3600K" msgstr "Niveau de noir" #: src/olympusmn.cpp:942 #, fuzzy msgid "WB RB levels 3600K" msgstr "Niveau de noir" #: src/olympusmn.cpp:943 #, fuzzy msgid "WB RB Levels 3900K" msgstr "Niveau de noir" #: src/olympusmn.cpp:943 #, fuzzy msgid "WB RB levels 3900K" msgstr "Niveau de noir" #: src/olympusmn.cpp:944 #, fuzzy msgid "WB RB Levels 4000K" msgstr "Niveau de noir" #: src/olympusmn.cpp:944 #, fuzzy msgid "WB RB levels 4000K" msgstr "Niveau de noir" #: src/olympusmn.cpp:945 #, fuzzy msgid "WB RB Levels 4300K" msgstr "Niveau de noir" #: src/olympusmn.cpp:945 #, fuzzy msgid "WB RB levels 4300K" msgstr "Niveau de noir" #: src/olympusmn.cpp:946 #, fuzzy msgid "WB RB Levels 4500K" msgstr "Niveau de noir" #: src/olympusmn.cpp:946 #, fuzzy msgid "WB RB levels 4500K" msgstr "Niveau de noir" #: src/olympusmn.cpp:947 #, fuzzy msgid "WB RB Levels 4800K" msgstr "Niveau de noir" #: src/olympusmn.cpp:947 #, fuzzy msgid "WB RB levels 4800K" msgstr "Niveau de noir" #: src/olympusmn.cpp:948 #, fuzzy msgid "WB RB Levels 5300K" msgstr "Niveau de noir" #: src/olympusmn.cpp:948 #, fuzzy msgid "WB RB levels 5300K" msgstr "Niveau de noir" #: src/olympusmn.cpp:949 #, fuzzy msgid "WB RB Levels 6000K" msgstr "Niveau de noir" #: src/olympusmn.cpp:949 #, fuzzy msgid "WB RB levels 6000K" msgstr "Niveau de noir" #: src/olympusmn.cpp:950 #, fuzzy msgid "WB RB Levels 6600K" msgstr "Niveau de noir" #: src/olympusmn.cpp:950 #, fuzzy msgid "WB RB levels 6600K" msgstr "Niveau de noir" #: src/olympusmn.cpp:951 #, fuzzy msgid "WB RB Levels 7500K" msgstr "Niveau de noir" #: src/olympusmn.cpp:951 #, fuzzy msgid "WB RB levels 7500K" msgstr "Niveau de noir" #: src/olympusmn.cpp:952 #, fuzzy msgid "WB RB Levels CWB1" msgstr "Niveau de noir" #: src/olympusmn.cpp:952 #, fuzzy msgid "WB RB levels CWB1" msgstr "Niveau de noir" #: src/olympusmn.cpp:953 #, fuzzy msgid "WB RB Levels CWB2" msgstr "Niveau de noir" #: src/olympusmn.cpp:953 #, fuzzy msgid "WB RB levels CWB2" msgstr "Niveau de noir" #: src/olympusmn.cpp:954 #, fuzzy msgid "WB RB Levels CWB3" msgstr "Niveau de noir" #: src/olympusmn.cpp:954 #, fuzzy msgid "WB RB levels CWB3" msgstr "Niveau de noir" #: src/olympusmn.cpp:955 #, fuzzy msgid "WB RB Levels CWB4" msgstr "Niveau de noir" #: src/olympusmn.cpp:955 #, fuzzy msgid "WB RB levels CWB4" msgstr "Niveau de noir" #: src/olympusmn.cpp:956 #, fuzzy msgid "WB G Level 3000K" msgstr "Niveau de noir" #: src/olympusmn.cpp:956 #, fuzzy msgid "WB G level 3000K" msgstr "Niveau de noir" #: src/olympusmn.cpp:957 #, fuzzy msgid "WB G Level 3300K" msgstr "Niveau de noir" #: src/olympusmn.cpp:957 #, fuzzy msgid "WB G level 3300K" msgstr "Niveau de noir" #: src/olympusmn.cpp:958 #, fuzzy msgid "WB G Level 3600K" msgstr "Niveau de noir" #: src/olympusmn.cpp:958 #, fuzzy msgid "WB G level 3600K" msgstr "Niveau de noir" #: src/olympusmn.cpp:959 #, fuzzy msgid "WB G Level 3900K" msgstr "Niveau de noir" #: src/olympusmn.cpp:959 #, fuzzy msgid "WB G level 3900K" msgstr "Niveau de noir" #: src/olympusmn.cpp:960 #, fuzzy msgid "WB G Level 4000K" msgstr "Niveau de noir" #: src/olympusmn.cpp:960 #, fuzzy msgid "WB G level 4000K" msgstr "Niveau de noir" #: src/olympusmn.cpp:961 #, fuzzy msgid "WB G Level 4300K" msgstr "Niveau de noir" #: src/olympusmn.cpp:961 #, fuzzy msgid "WB G level 4300K" msgstr "Niveau de noir" #: src/olympusmn.cpp:962 #, fuzzy msgid "WB G Level 4500K" msgstr "Niveau de noir" #: src/olympusmn.cpp:962 #, fuzzy msgid "WB G level 4500K" msgstr "Niveau de noir" #: src/olympusmn.cpp:963 #, fuzzy msgid "WB G Level 4800K" msgstr "Niveau de noir" #: src/olympusmn.cpp:963 #, fuzzy msgid "WB G level 4800K" msgstr "Niveau de noir" #: src/olympusmn.cpp:964 #, fuzzy msgid "WB G Level 5300K" msgstr "Niveau de noir" #: src/olympusmn.cpp:964 #, fuzzy msgid "WB G level 5300K" msgstr "Niveau de noir" #: src/olympusmn.cpp:965 #, fuzzy msgid "WB G Level 6000K" msgstr "Niveau de noir" #: src/olympusmn.cpp:965 #, fuzzy msgid "WB G level 6000K" msgstr "Niveau de noir" #: src/olympusmn.cpp:966 #, fuzzy msgid "WB G Level 6600K" msgstr "Niveau de noir" #: src/olympusmn.cpp:966 #, fuzzy msgid "WB G level 6600K" msgstr "Niveau de noir" #: src/olympusmn.cpp:967 #, fuzzy msgid "WB G Level 7500K" msgstr "Niveau de noir" #: src/olympusmn.cpp:967 #, fuzzy msgid "WB G level 7500K" msgstr "Niveau de noir" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G Level" msgstr "Niveau de noir" #: src/olympusmn.cpp:968 #, fuzzy msgid "WB G level" msgstr "Niveau de noir" #: src/olympusmn.cpp:970 #, fuzzy msgid "Enhancer" msgstr "centre" #: src/olympusmn.cpp:971 #, fuzzy msgid "Enhancer Values" msgstr "centre" #: src/olympusmn.cpp:971 #, fuzzy msgid "Enhancer values" msgstr "centre" #: src/olympusmn.cpp:972 src/olympusmn.cpp:1074 #, fuzzy msgid "Coring Filter" msgstr "Filtre couleur" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring Values" msgstr "Valeur de luminosité" #: src/olympusmn.cpp:973 src/olympusmn.cpp:1075 #, fuzzy msgid "Coring values" msgstr "Valeur de luminosité" #: src/olympusmn.cpp:974 src/tags.cpp:915 #, fuzzy msgid "Black Level" msgstr "Niveau de noir" #: src/olympusmn.cpp:975 msgid "Gain Base" msgstr "" #: src/olympusmn.cpp:975 msgid "Gain base" msgstr "" #: src/olympusmn.cpp:976 msgid "Valid Bits" msgstr "" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 src/properties.cpp:470 #, fuzzy msgid "Crop Left" msgstr "haut, gauche" #: src/olympusmn.cpp:977 src/olympusmn.cpp:1079 #, fuzzy msgid "Crop left" msgstr "haut, gauche" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 src/properties.cpp:469 #, fuzzy msgid "Crop Top" msgstr "Crédit" #: src/olympusmn.cpp:978 src/olympusmn.cpp:1080 #, fuzzy msgid "Crop top" msgstr "Crédit" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 src/properties.cpp:474 #, fuzzy msgid "Crop Width" msgstr "Droit d'auteur" #: src/olympusmn.cpp:979 src/olympusmn.cpp:1081 #, fuzzy msgid "Crop width" msgstr "Droit d'auteur" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 src/properties.cpp:475 #, fuzzy msgid "Crop Height" msgstr "Droit d'auteur" #: src/olympusmn.cpp:980 src/olympusmn.cpp:1082 #, fuzzy msgid "Crop height" msgstr "Droit d'auteur" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple Exposure Mode" msgstr "Mode d'exposition" #: src/olympusmn.cpp:984 #, fuzzy msgid "Multiple exposure mode" msgstr "Exposition" #: src/olympusmn.cpp:985 src/sonymn.cpp:693 src/sonymn.cpp:694 msgid "Aspect Ratio" msgstr "" #: src/olympusmn.cpp:985 #, fuzzy msgid "Aspect ratio" msgstr "Durée audio" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect Frame" msgstr "Nom de l'objet" #: src/olympusmn.cpp:986 #, fuzzy msgid "Aspect frame" msgstr "Nom de l'objet" #: src/olympusmn.cpp:987 src/panasonicmn.cpp:573 src/pentaxmn.cpp:278 #, fuzzy msgid "Face Detect" msgstr "Échec lors de la lecture" #: src/olympusmn.cpp:987 src/olympusmn.cpp:1443 src/olympusmn.cpp:1455 #, fuzzy msgid "Face detect" msgstr "Échec lors de la lecture" #: src/olympusmn.cpp:988 #, fuzzy msgid "Face Detect Area" msgstr "Échec lors de la lecture" #: src/olympusmn.cpp:988 #, fuzzy msgid "Face detect area" msgstr "Échec lors de la lecture" #: src/olympusmn.cpp:990 #, fuzzy msgid "Unknown OlympusIp tag" msgstr "Marqueur de note du fabriquant Olympus inconnu" #: src/olympusmn.cpp:1000 msgid "Bounce or Off" msgstr "" #: src/olympusmn.cpp:1001 msgid "Direct" msgstr "" #: src/olympusmn.cpp:1005 #, fuzzy msgid "Focus Info Version" msgstr "Informations mise au point" #: src/olympusmn.cpp:1005 #, fuzzy msgid "Focus info version" msgstr "Informations mise au point" #: src/olympusmn.cpp:1006 #, fuzzy msgid "Auto Focus" msgstr "Mise au point auto" #: src/olympusmn.cpp:1007 #, fuzzy msgid "Scene Detect" msgstr "Mode scène" #: src/olympusmn.cpp:1007 #, fuzzy msgid "Scene detect" msgstr "Mode scène" #: src/olympusmn.cpp:1008 #, fuzzy msgid "Scene Area" msgstr "Mode scène" #: src/olympusmn.cpp:1008 #, fuzzy msgid "Scene area" msgstr "Zone unique" #: src/olympusmn.cpp:1009 #, fuzzy msgid "Scene Detect Data" msgstr "Mode scène" #: src/olympusmn.cpp:1009 #, fuzzy msgid "Scene detect data" msgstr "Mode scène" #: src/olympusmn.cpp:1010 #, fuzzy msgid "Zoom Step Count" msgstr "Comptage d'image" #: src/olympusmn.cpp:1011 #, fuzzy msgid "Focus Step Count" msgstr "Mise au point continue" #: src/olympusmn.cpp:1011 #, fuzzy msgid "Focus step count" msgstr "Position mise au point" #: src/olympusmn.cpp:1012 #, fuzzy msgid "Focus Step Infinity" msgstr "Réglage mise au point" #: src/olympusmn.cpp:1012 #, fuzzy msgid "Focus step infinity" msgstr "Réglage mise au point" #: src/olympusmn.cpp:1013 #, fuzzy msgid "Focus Step Near" msgstr "Type de mise au point" #: src/olympusmn.cpp:1013 #, fuzzy msgid "Focus step near" msgstr "Distance de mise au point" #: src/olympusmn.cpp:1016 #, fuzzy msgid "External Flash" msgstr "Flash externe" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External Flash Guide Number" msgstr "Mode flash externe" #: src/olympusmn.cpp:1017 #, fuzzy msgid "External flash guide number" msgstr "Mode flash externe" #: src/olympusmn.cpp:1021 #, fuzzy msgid "Manual Flash" msgstr "Déclenchement manuel" #: src/olympusmn.cpp:1021 #, fuzzy msgid "Manual flash" msgstr "Déclenchement manuel" #: src/olympusmn.cpp:1025 #, fuzzy msgid "Unknown OlympusFi tag" msgstr "Marqueur de note du fabriquant Olympus inconnu" #: src/olympusmn.cpp:1036 #, fuzzy msgid "Unknown OlympusFe tag" msgstr "Marqueur de note du fabriquant Olympus inconnu" #: src/olympusmn.cpp:1049 #, fuzzy msgid "Fine Weather" msgstr "Ensoleillé" #: src/olympusmn.cpp:1050 #, fuzzy msgid "Tungsten (incandescent)" msgstr "Tungstène (lampe à incandescence)" #: src/olympusmn.cpp:1051 #, fuzzy msgid "Evening Sunlight" msgstr "Soirée" #: src/olympusmn.cpp:1052 #, fuzzy msgid "Daylight Fluorescent (D 5700 - 7100K)" msgstr "Lumière du jour fluorescent (D 5700 - 7100K)" #: src/olympusmn.cpp:1053 #, fuzzy msgid "Day White Fluorescent (N 4600 - 5400K)" msgstr "Blanc chaud fluorescent (N 4600 - 5400K)" #: src/olympusmn.cpp:1054 #, fuzzy msgid "Cool White Fluorescent (W 3900 - 4500K)" msgstr "Blanc froid fluorescent (W 3900 - 4500K)" #: src/olympusmn.cpp:1055 #, fuzzy msgid "White Fluorescent (WW 3200 - 3700K)" msgstr "Blanc fluorescent (WW 3200 - 3700K)" #: src/olympusmn.cpp:1056 #, fuzzy msgid "One Touch White Balance" msgstr "Balance des blancs en une touche" #: src/olympusmn.cpp:1057 #, fuzzy msgid "Custom 1-4" msgstr "Personnel 1" #: src/olympusmn.cpp:1061 #, fuzzy msgid "Raw Info Version" msgstr "Informations mise au point" #: src/olympusmn.cpp:1061 #, fuzzy msgid "Raw info version" msgstr "Informations brutes" #: src/olympusmn.cpp:1062 #, fuzzy msgid "WB_RB Levels Used" msgstr "Niveau de noir" #: src/olympusmn.cpp:1062 #, fuzzy msgid "WB_RB levels used" msgstr "Niveau de noir" #: src/olympusmn.cpp:1063 #, fuzzy msgid "WB_RB Levels Auto" msgstr "Niveau de noir" #: src/olympusmn.cpp:1063 #, fuzzy msgid "WB_RB levels auto" msgstr "Niveau de noir" #: src/olympusmn.cpp:1064 #, fuzzy msgid "WB_RB Levels Shade" msgstr "Niveau de noir" #: src/olympusmn.cpp:1064 #, fuzzy msgid "WB_RB levels shade" msgstr "Niveau de noir" #: src/olympusmn.cpp:1065 #, fuzzy msgid "WB_RB Levels Cloudy" msgstr "Niveau de noir" #: src/olympusmn.cpp:1065 #, fuzzy msgid "WB_RB levels cloudy" msgstr "Niveau de noir" #: src/olympusmn.cpp:1066 #, fuzzy msgid "WB_RB Levels Fine Weather" msgstr "Fluorescent" #: src/olympusmn.cpp:1066 #, fuzzy msgid "WB_RB levels fine weather" msgstr "Fluorescent" #: src/olympusmn.cpp:1067 #, fuzzy msgid "WB_RB Levels Tungsten" msgstr "Niveau de noir" #: src/olympusmn.cpp:1067 #, fuzzy msgid "WB_RB levels tungsten" msgstr "Niveau de noir" #: src/olympusmn.cpp:1068 #, fuzzy msgid "WB_RB Levels Evening Sunlight" msgstr "Soirée" #: src/olympusmn.cpp:1068 #, fuzzy msgid "WB_RB levels evening sunlight" msgstr "Niveau de noir" #: src/olympusmn.cpp:1069 #, fuzzy msgid "WB_RB Levels Daylight Fluor" msgstr "Fluorescent" #: src/olympusmn.cpp:1069 #, fuzzy msgid "WB_RB levels daylight fluor" msgstr "Fluorescent" #: src/olympusmn.cpp:1070 #, fuzzy msgid "WB_RB Levels Day White Fluor" msgstr "Fluorescent" #: src/olympusmn.cpp:1070 #, fuzzy msgid "WB_RB levels day white fluor" msgstr "Fluorescent" #: src/olympusmn.cpp:1071 #, fuzzy msgid "WB_RB Levels Cool White Fluor" msgstr "Fluorescent" #: src/olympusmn.cpp:1071 #, fuzzy msgid "WB_RB levels cool white fluor" msgstr "Fluorescent" #: src/olympusmn.cpp:1072 #, fuzzy msgid "WB_RB Levels White Fluorescent" msgstr "Fluorescent" #: src/olympusmn.cpp:1072 #, fuzzy msgid "WB_RB levels white fluorescent" msgstr "Fluorescent" #: src/olympusmn.cpp:1073 #, fuzzy msgid "Color Matrix2" msgstr "Matrice des couleurs" #: src/olympusmn.cpp:1073 #, fuzzy msgid "Color matrix 2" msgstr "Matrice des couleurs" #: src/olympusmn.cpp:1076 #, fuzzy msgid "Black Level 2" msgstr "Niveau de noir" #: src/olympusmn.cpp:1076 #, fuzzy msgid "Black level 2" msgstr "Niveau de noir" #: src/olympusmn.cpp:1077 src/properties.cpp:533 src/tags.cpp:706 msgid "YCbCr Coefficients" msgstr "Coefficients YCbCr" #: src/olympusmn.cpp:1077 #, fuzzy msgid "YCbCr coefficients" msgstr "Coefficients YCbCr" #: src/olympusmn.cpp:1078 msgid "Valid Pixel Depth" msgstr "" #: src/olympusmn.cpp:1078 msgid "Valid pixel depth" msgstr "" #: src/olympusmn.cpp:1084 #, fuzzy msgid "White Balance Comp" msgstr "Balance des blancs" #: src/olympusmn.cpp:1084 #, fuzzy msgid "White balance comp" msgstr "Balance des blancs" #: src/olympusmn.cpp:1085 #, fuzzy msgid "Saturation Setting" msgstr "Réglage de saturation" #: src/olympusmn.cpp:1086 #, fuzzy msgid "Hue Setting" msgstr "Réglage flash" #: src/olympusmn.cpp:1086 #, fuzzy msgid "Hue setting" msgstr "Réglage AE" #: src/olympusmn.cpp:1089 #, fuzzy msgid "CM Exposure Compensation" msgstr "Compensation d'exposition" #: src/olympusmn.cpp:1089 #, fuzzy msgid "CM exposure compensation" msgstr "Compensation d'exposition" #: src/olympusmn.cpp:1090 #, fuzzy msgid "CM White Balance" msgstr "Balance des blancs" #: src/olympusmn.cpp:1090 #, fuzzy msgid "CM white balance" msgstr "Balance des blancs" #: src/olympusmn.cpp:1091 #, fuzzy msgid "CM White Balance Comp" msgstr "Balance des blancs" #: src/olympusmn.cpp:1091 #, fuzzy msgid "CM white balance comp" msgstr "Balance des blancs" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM White Balance Gray Point" msgstr "Biais de balance des blancs" #: src/olympusmn.cpp:1092 #, fuzzy msgid "CM white balance gray point" msgstr "Biais de balance des blancs" #: src/olympusmn.cpp:1093 #, fuzzy msgid "CM Saturation" msgstr "Saturation" #: src/olympusmn.cpp:1093 #, fuzzy msgid "CM saturation" msgstr "Saturation" #: src/olympusmn.cpp:1094 #, fuzzy msgid "CM Hue" msgstr "tonalité" #: src/olympusmn.cpp:1094 #, fuzzy msgid "CM hue" msgstr "tonalité" #: src/olympusmn.cpp:1095 #, fuzzy msgid "CM Contrast" msgstr "Contraste" #: src/olympusmn.cpp:1095 #, fuzzy msgid "CM contrast" msgstr "Contraste" #: src/olympusmn.cpp:1096 #, fuzzy msgid "CM Sharpness" msgstr "Netteté" #: src/olympusmn.cpp:1096 #, fuzzy msgid "CM sharpness" msgstr "Netteté" #: src/olympusmn.cpp:1098 #, fuzzy msgid "Unknown OlympusRi tag" msgstr "Marqueur de note du fabriquant Olympus inconnu" #: src/olympusmn.cpp:1121 src/pentaxmn.cpp:436 msgid "User-Selected" msgstr "Sélection utilisateur" #: src/olympusmn.cpp:1122 #, fuzzy msgid "Auto-Override" msgstr "Écraser" #: src/olympusmn.cpp:1158 msgid "Fast" msgstr "Rapide" #: src/olympusmn.cpp:1223 msgid "3000 Kelvin" msgstr "3000 Kelvin" #: src/olympusmn.cpp:1224 msgid "3700 Kelvin" msgstr "3700 Kelvin" #: src/olympusmn.cpp:1225 msgid "4000 Kelvin" msgstr "4000 Kelvin" #: src/olympusmn.cpp:1226 msgid "4500 Kelvin" msgstr "4500 Kelvin" #: src/olympusmn.cpp:1227 msgid "5500 Kelvin" msgstr "5500 Kelvin" #: src/olympusmn.cpp:1228 msgid "6500 Kelvin" msgstr "6500 Kelvin" #: src/olympusmn.cpp:1229 msgid "7500 Kelvin" msgstr "7500 Kelvin" #: src/olympusmn.cpp:1235 msgid "One-touch" msgstr "" #: src/olympusmn.cpp:1452 msgid "S-AF" msgstr "" #: src/olympusmn.cpp:1453 msgid "C-AF" msgstr "" #: src/olympusmn.cpp:1456 #, fuzzy msgid "Imager AF" msgstr "ID unique de l'image" #: src/olympusmn.cpp:1457 #, fuzzy msgid "AF sensor" msgstr "Point AF utilisé" #: src/olympusmn.cpp:1502 #, fuzzy msgid "Soft Focus" msgstr "Mise au point Spot" #: src/olympusmn.cpp:1503 msgid "Pop Art" msgstr "" #: src/olympusmn.cpp:1504 msgid "Pale & Light Color" msgstr "" #: src/olympusmn.cpp:1505 #, fuzzy msgid "Light Tone" msgstr "Zone droite" #: src/olympusmn.cpp:1506 src/panasonicmn.cpp:150 msgid "Pin Hole" msgstr "" #: src/olympusmn.cpp:1507 msgid "Grainy Film" msgstr "" #: src/olympusmn.cpp:1508 #, fuzzy msgid "Diorama" msgstr "Panorama" #: src/olympusmn.cpp:1509 #, fuzzy msgid "Cross Process" msgstr "Mode mise au point" #: src/olympusmn.cpp:1510 #, fuzzy msgid "Fish Eye" msgstr "Puissance flash" #: src/olympusmn.cpp:1511 msgid "Drawing" msgstr "" #: src/olympusmn.cpp:1512 msgid "Gentle Sepia" msgstr "" #: src/olympusmn.cpp:1513 msgid "Pale & Light Color II" msgstr "" #: src/olympusmn.cpp:1514 msgid "Pop Art II" msgstr "" #: src/olympusmn.cpp:1515 msgid "Pin Hole II" msgstr "" #: src/olympusmn.cpp:1516 msgid "Pin Hole III" msgstr "" #: src/olympusmn.cpp:1517 msgid "Grainy Film II" msgstr "" #: src/olympusmn.cpp:1518 #, fuzzy msgid "Dramatic Tone" msgstr "Informations prise de vue" #: src/olympusmn.cpp:1519 msgid "Punk" msgstr "" #: src/olympusmn.cpp:1520 #, fuzzy msgid "Soft Focus 2" msgstr "Mise au point Spot" #: src/olympusmn.cpp:1521 msgid "Sparkle" msgstr "" #: src/olympusmn.cpp:1522 #, fuzzy msgid "Watercolor" msgstr "Couleur naturelle" #: src/olympusmn.cpp:1523 msgid "Key Line" msgstr "" #: src/olympusmn.cpp:1524 msgid "Key Line II" msgstr "" #: src/olympusmn.cpp:1525 #, fuzzy msgid "Miniature" msgstr "Ouverture maximale" #: src/olympusmn.cpp:1526 #, fuzzy msgid "Reflection" msgstr "Sélection" #: src/olympusmn.cpp:1527 msgid "Fragmented" msgstr "" #: src/olympusmn.cpp:1528 #, fuzzy msgid "Cross Process II" msgstr "Mode mise au point" #: src/olympusmn.cpp:1529 msgid "Dramatic Tone II" msgstr "" #: src/olympusmn.cpp:1530 #, fuzzy msgid "Watercolor I" msgstr "Couleur naturelle" #: src/olympusmn.cpp:1531 #, fuzzy msgid "Watercolor II" msgstr "Couleur naturelle" #: src/olympusmn.cpp:1532 #, fuzzy msgid "Diorama II" msgstr "Panorama" #: src/olympusmn.cpp:1533 msgid "Vintage" msgstr "" #: src/olympusmn.cpp:1534 #, fuzzy msgid "Vintage II" msgstr "Langue" #: src/olympusmn.cpp:1535 #, fuzzy msgid "Vintage III" msgstr "Langue" #: src/olympusmn.cpp:1536 #, fuzzy msgid "Partial Color" msgstr "Couleur naturelle" #: src/olympusmn.cpp:1537 #, fuzzy msgid "Partial Color II" msgstr "Couleur naturelle" #: src/olympusmn.cpp:1538 #, fuzzy msgid "Partial Color III" msgstr "Couleur naturelle" #: src/olympusmn.cpp:1608 #, fuzzy msgid "Left (or n/a)" msgstr "Zone gauche" #: src/olympusmn.cpp:1609 src/olympusmn.cpp:1627 #, fuzzy msgid "Center (horizontal)" msgstr "Zone centrale (orientation horizontale)" #: src/olympusmn.cpp:1611 src/olympusmn.cpp:1638 #, fuzzy msgid "Center (vertical)" msgstr "Zone centrale (orientation verticale)" #: src/olympusmn.cpp:1622 msgid "Top-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1623 #, fuzzy msgid "Top-center (horizontal)" msgstr "Zone centrale (orientation horizontale)" #: src/olympusmn.cpp:1624 msgid "Top-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1625 #, fuzzy msgid "Left (horizontal)" msgstr "Horizontale (normale)" #: src/olympusmn.cpp:1626 msgid "Mid-left (horizontal)" msgstr "" #: src/olympusmn.cpp:1628 msgid "Mid-right (horizontal)" msgstr "" #: src/olympusmn.cpp:1629 #, fuzzy msgid "Right (horizontal)" msgstr "Horizontale (normale)" #: src/olympusmn.cpp:1630 #, fuzzy msgid "Bottom-left (horizontal)" msgstr "Bas-gauche" #: src/olympusmn.cpp:1631 #, fuzzy msgid "Bottom-center (horizontal)" msgstr "Bas-gauche" #: src/olympusmn.cpp:1632 #, fuzzy msgid "Bottom-right (horizontal)" msgstr "Bas-droit" #: src/olympusmn.cpp:1633 msgid "Top-left (vertical)" msgstr "" #: src/olympusmn.cpp:1634 #, fuzzy msgid "Top-center (vertical)" msgstr "centre" #: src/olympusmn.cpp:1635 #, fuzzy msgid "Top-right (vertical)" msgstr "Haut-droit" #: src/olympusmn.cpp:1636 msgid "Left (vertical)" msgstr "" #: src/olympusmn.cpp:1637 msgid "Mid-left (vertical)" msgstr "" #: src/olympusmn.cpp:1639 #, fuzzy msgid "Mid-right (vertical)" msgstr "milieu-droit" #: src/olympusmn.cpp:1640 msgid "Right (vertical)" msgstr "" #: src/olympusmn.cpp:1641 #, fuzzy msgid "Bottom-left (vertical)" msgstr "Bas-gauche" #: src/olympusmn.cpp:1642 #, fuzzy msgid "Bottom-center (vertical)" msgstr "Bas-gauche" #: src/olympusmn.cpp:1643 #, fuzzy msgid "Bottom-right (vertical)" msgstr "Bas-droit" #: src/olympusmn.cpp:1680 #, fuzzy msgid "Single Target" msgstr "Zone unique" #: src/olympusmn.cpp:1681 #, fuzzy msgid "All Target" msgstr "cible" #: src/olympusmn.cpp:1682 #, fuzzy msgid "Dynamic Single Target" msgstr "Réglage gamme dynamique" #: src/panasonicmn.cpp:55 src/pentaxmn.cpp:202 msgid "TIFF" msgstr "TIFF" #: src/panasonicmn.cpp:58 src/pentaxmn.cpp:448 src/pentaxmn.cpp:463 msgid "Very High" msgstr "Très haute" #: src/panasonicmn.cpp:60 #, fuzzy msgid "Motion Picture" msgstr "Mode d'image" #: src/panasonicmn.cpp:61 #, fuzzy msgid "Full HD Movie" msgstr "Film" #: src/panasonicmn.cpp:62 #, fuzzy msgid "4k Movie" msgstr "Film" #: src/panasonicmn.cpp:70 msgid "Halogen" msgstr "Halogène" #: src/panasonicmn.cpp:83 #, fuzzy msgid "Auto, focus button" msgstr "Mise au point auto" #: src/panasonicmn.cpp:84 #, fuzzy msgid "Auto, continuous" msgstr "Continue" #: src/panasonicmn.cpp:85 src/pentaxmn.cpp:273 msgid "AF-S" msgstr "" #: src/panasonicmn.cpp:86 src/pentaxmn.cpp:274 msgid "AF-C" msgstr "" #: src/panasonicmn.cpp:87 msgid "AF-F" msgstr "" #: src/panasonicmn.cpp:95 src/panasonicmn.cpp:122 #, fuzzy msgid "Panning" msgstr "Avertissement" #: src/panasonicmn.cpp:103 msgid "Tele-macro" msgstr "" #: src/panasonicmn.cpp:104 #, fuzzy msgid "Macro-zoom" msgstr "Macro" #: src/panasonicmn.cpp:112 src/panasonicmn.cpp:373 #, fuzzy msgid "Scenery" msgstr "centre" #: src/panasonicmn.cpp:117 msgid "Shutter-speed priority" msgstr "Priorité vitesse obturation" #: src/panasonicmn.cpp:121 #, fuzzy msgid "Movie preview" msgstr "Écriture au format" #: src/panasonicmn.cpp:123 #, fuzzy msgid "Simple" msgstr "Simple" #: src/panasonicmn.cpp:124 #, fuzzy msgid "Color effects" msgstr "Effet de couleurs" #: src/panasonicmn.cpp:130 msgid "Night scenery" msgstr "Scène de nuit" #: src/panasonicmn.cpp:132 #, fuzzy msgid "Baby" msgstr "de" #: src/panasonicmn.cpp:133 #, fuzzy msgid "Soft skin" msgstr "Doux" #: src/panasonicmn.cpp:134 src/pentaxmn.cpp:597 msgid "Candlelight" msgstr "Lumière de bougie" #: src/panasonicmn.cpp:135 #, fuzzy msgid "Starry night" msgstr "Lumière standard A" #: src/panasonicmn.cpp:136 #, fuzzy msgid "High sensitivity" msgstr "Sensibilité spectrale" #: src/panasonicmn.cpp:137 #, fuzzy msgid "Panorama assist" msgstr "Panorama" #: src/panasonicmn.cpp:140 msgid "Aerial photo" msgstr "" #: src/panasonicmn.cpp:143 src/panasonicmn.cpp:654 #, fuzzy msgid "Intelligent ISO" msgstr "Longueur intervalle" #: src/panasonicmn.cpp:144 #, fuzzy msgid "Clipboard" msgstr "Balance des blancs" #: src/panasonicmn.cpp:145 #, fuzzy msgid "High speed continuous shooting" msgstr "Paramètre de la mise au point continue" #: src/panasonicmn.cpp:146 #, fuzzy msgid "Intelligent auto" msgstr "Longueur intervalle" #: src/panasonicmn.cpp:147 #, fuzzy msgid "Multi-aspect" msgstr "Multi-spots" #: src/panasonicmn.cpp:148 #, fuzzy msgid "Transform" msgstr "Échelle de transfert" #: src/panasonicmn.cpp:149 #, fuzzy msgid "Flash Burst" msgstr "Biais du flash" #: src/panasonicmn.cpp:151 #, fuzzy msgid "Film Grain" msgstr "Numériseur de film" #: src/panasonicmn.cpp:152 #, fuzzy msgid "My Color" msgstr "Mes couleurs" #: src/panasonicmn.cpp:153 #, fuzzy msgid "Photo Frame" msgstr "Frame panorama" #: src/panasonicmn.cpp:154 src/panasonicmn.cpp:160 src/panasonicmn.cpp:527 #: src/pentaxmn.cpp:605 src/pentaxmn.cpp:674 msgid "HDR" msgstr "" #: src/panasonicmn.cpp:155 src/sonymn.cpp:167 #, fuzzy msgid "Handheld Night Shot" msgstr "Lumière de bougie" #: src/panasonicmn.cpp:156 msgid "3D" msgstr "" #: src/panasonicmn.cpp:157 src/panasonicmn.cpp:185 #, fuzzy msgid "Creative Control" msgstr "Contrôle des couleurs" #: src/panasonicmn.cpp:159 msgid "Glass Through" msgstr "" #: src/panasonicmn.cpp:161 src/pentaxmn.cpp:569 msgid "Digital Filter" msgstr "Filtre digital" #: src/panasonicmn.cpp:162 #, fuzzy msgid "Clear Portrait" msgstr "Portrait" #: src/panasonicmn.cpp:163 #, fuzzy msgid "Silky Skin" msgstr "Doux" #: src/panasonicmn.cpp:164 msgid "Backlit Softness" msgstr "" #: src/panasonicmn.cpp:165 msgid "Clear in Backlight" msgstr "" #: src/panasonicmn.cpp:166 #, fuzzy msgid "Relaxing Tone" msgstr "Rotation" #: src/panasonicmn.cpp:167 msgid "Sweet Child's Face" msgstr "" #: src/panasonicmn.cpp:168 #, fuzzy msgid "Distinct Scenery" msgstr "Scène de nuit" #: src/panasonicmn.cpp:169 #, fuzzy msgid "Bright Blue Sky" msgstr "valeur" #: src/panasonicmn.cpp:170 msgid "Romantic Sunset Glow" msgstr "" #: src/panasonicmn.cpp:171 msgid "Vivid Sunset Glow" msgstr "" #: src/panasonicmn.cpp:172 msgid "Glistening Water" msgstr "" #: src/panasonicmn.cpp:173 msgid "Clear Nightscape" msgstr "" #: src/panasonicmn.cpp:174 msgid "Cool Night Sky" msgstr "" #: src/panasonicmn.cpp:175 msgid "Warm Glowing Nightscape" msgstr "" #: src/panasonicmn.cpp:176 msgid "Artistic Nightscape" msgstr "" #: src/panasonicmn.cpp:177 #, fuzzy msgid "Glittering Illuminations" msgstr "Réduction du bruit" #: src/panasonicmn.cpp:178 #, fuzzy msgid "Clear Night Portrait" msgstr "Portrait de nuit" #: src/panasonicmn.cpp:179 msgid "Soft Image of a Flower" msgstr "" #: src/panasonicmn.cpp:180 msgid "Appetizing Food" msgstr "" #: src/panasonicmn.cpp:181 msgid "Cute Desert" msgstr "" #: src/panasonicmn.cpp:182 msgid "Freeze Animal Motion" msgstr "" #: src/panasonicmn.cpp:183 msgid "Clear Sports Shot" msgstr "" #: src/panasonicmn.cpp:192 msgid "Stereo" msgstr "" #: src/panasonicmn.cpp:198 msgid "Warm" msgstr "Chaud" #: src/panasonicmn.cpp:199 msgid "Cool" msgstr "Froid" #: src/panasonicmn.cpp:202 msgid "Happy" msgstr "" #: src/panasonicmn.cpp:208 msgid "Low/High quality" msgstr "Qualité basse/haute" #: src/panasonicmn.cpp:209 msgid "Infinite" msgstr "Infini" #: src/panasonicmn.cpp:217 #, fuzzy msgid "Medium low" msgstr "Moyenne 1" #: src/panasonicmn.cpp:218 #, fuzzy msgid "Medium high" msgstr "Moyenne 1" #: src/panasonicmn.cpp:228 msgid "Low (-1)" msgstr "" #: src/panasonicmn.cpp:229 #, fuzzy msgid "High (+1)" msgstr "Élevée" #: src/panasonicmn.cpp:230 msgid "Lowest (-2)" msgstr "" #: src/panasonicmn.cpp:231 #, fuzzy msgid "Highest (+2)" msgstr "Élevée" #: src/panasonicmn.cpp:245 src/panasonicmn.cpp:387 #, fuzzy msgid "Rotate 180" msgstr "Rotation 90° Horaire" #: src/panasonicmn.cpp:253 msgid "Enabled but Not Used" msgstr "" #: src/panasonicmn.cpp:254 #, fuzzy msgid "Disabled but Required" msgstr "Non utilisé" #: src/panasonicmn.cpp:255 #, fuzzy msgid "Disabled and Not Required" msgstr "Non utilisé" #: src/panasonicmn.cpp:268 msgid "EX optics" msgstr "" #: src/panasonicmn.cpp:275 msgid "Telephoto" msgstr "" #: src/panasonicmn.cpp:282 src/properties.cpp:915 #, fuzzy msgid "Home" msgstr "Rome" #: src/panasonicmn.cpp:294 #, fuzzy msgid "Standard (color)" msgstr "Formulaire standard" #: src/panasonicmn.cpp:295 #, fuzzy msgid "Dynamic (color)" msgstr "Zone dynamique" #: src/panasonicmn.cpp:296 #, fuzzy msgid "Nature (color)" msgstr "Couleur naturelle" #: src/panasonicmn.cpp:297 #, fuzzy msgid "Smooth (color)" msgstr "Formulaire standard" #: src/panasonicmn.cpp:298 #, fuzzy msgid "Standard (B&W)" msgstr "Standard (100%)" #: src/panasonicmn.cpp:299 #, fuzzy msgid "Dynamic (B&W)" msgstr "Zone dynamique" #: src/panasonicmn.cpp:300 #, fuzzy msgid "Smooth (B&W)" msgstr "Standard (100%)" #: src/panasonicmn.cpp:301 msgid "Nostalgic" msgstr "" #: src/panasonicmn.cpp:302 src/pentaxmn.cpp:973 msgid "Vibrant" msgstr "" #: src/panasonicmn.cpp:307 #, fuzzy msgid "No Bracket" msgstr "Bracket" #: src/panasonicmn.cpp:308 msgid "3 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:309 msgid "3 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:310 msgid "5 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:311 msgid "5 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:312 msgid "7 images, Sequence 0/-/+" msgstr "" #: src/panasonicmn.cpp:313 msgid "7 images, Sequence -/0/+" msgstr "" #: src/panasonicmn.cpp:319 #, fuzzy msgid "1st" msgstr "10s" #: src/panasonicmn.cpp:320 msgid "2nd" msgstr "" #: src/panasonicmn.cpp:340 msgid "Yes (flash required but disabled" msgstr "" #: src/panasonicmn.cpp:349 #, fuzzy msgid "Extended" msgstr "Externe" #: src/panasonicmn.cpp:368 #, fuzzy msgid "NoAuto" msgstr "Automatique" #: src/panasonicmn.cpp:369 #, fuzzy msgid "Standard or Custom" msgstr "Formulaire standard" #: src/panasonicmn.cpp:386 #, fuzzy msgid "Rotate CW" msgstr "Rotation 90° Horaire" #: src/panasonicmn.cpp:388 #, fuzzy msgid "Rotate CCW" msgstr "Rotation 90° Horaire" #: src/panasonicmn.cpp:389 msgid "Tilt upwards" msgstr "" #: src/panasonicmn.cpp:390 msgid "Tilt downwards" msgstr "" #: src/panasonicmn.cpp:396 #, fuzzy msgid "Left to Right" msgstr "De gauche à droite" #: src/panasonicmn.cpp:397 #, fuzzy msgid "Right to Left" msgstr "De droite à gauche" #: src/panasonicmn.cpp:398 #, fuzzy msgid "Top to Bottom" msgstr "Du haut vers le bas" #: src/panasonicmn.cpp:399 #, fuzzy msgid "Bottom to Top" msgstr "Du bas vers le haut" #: src/panasonicmn.cpp:405 #, fuzzy msgid "Time Lapse" msgstr "Heure d'envoi" #: src/panasonicmn.cpp:406 #, fuzzy msgid "Stop-Motion Animation" msgstr "Informations prise de vue" #: src/panasonicmn.cpp:412 msgid "1 EV" msgstr "" #: src/panasonicmn.cpp:413 msgid "2 EV" msgstr "" #: src/panasonicmn.cpp:414 msgid "3 EV" msgstr "" #: src/panasonicmn.cpp:415 msgid "1 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:416 msgid "2 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:417 msgid "3 EV (Auto)" msgstr "" #: src/panasonicmn.cpp:422 msgid "Mechanical" msgstr "" #: src/panasonicmn.cpp:423 #, fuzzy msgid "Electronic" msgstr "Sélection" #: src/panasonicmn.cpp:424 msgid "Hybrid" msgstr "" #: src/panasonicmn.cpp:450 msgid "Audio" msgstr "Audio" #: src/panasonicmn.cpp:453 msgid "White balance adjustment" msgstr "Ajustement de la balance des blancs" #: src/panasonicmn.cpp:454 msgid "FlashBias" msgstr "Biais du flash" #: src/panasonicmn.cpp:456 src/tags.cpp:194 msgid "Exif version" msgstr "Version d'exif" #: src/panasonicmn.cpp:458 msgid "Color Effect" msgstr "Effet de couleurs" #: src/panasonicmn.cpp:458 msgid "Color effect" msgstr "Effet de couleurs" #: src/panasonicmn.cpp:459 msgid "" "Time in 1/100 s from when the camera was powered on to when the image is " "written to memory card" msgstr "" #: src/panasonicmn.cpp:460 msgid "Burst Mode" msgstr "Mode rafale" #: src/panasonicmn.cpp:460 msgid "Burst mode" msgstr "Mode rafale" #: src/panasonicmn.cpp:463 msgid "NoiseReduction" msgstr "Réduction de bruit" #: src/panasonicmn.cpp:464 msgid "Self Timer" msgstr "Retardateur" #: src/panasonicmn.cpp:467 #, fuzzy msgid "AF Assist Lamp" msgstr "Faisceau AF" #: src/panasonicmn.cpp:469 #, fuzzy msgid "Baby Age 1" msgstr "de" #: src/panasonicmn.cpp:469 msgid "Baby (or pet) age 1" msgstr "" #: src/panasonicmn.cpp:470 #, fuzzy msgid "Optical Zoom Mode" msgstr "Mode spécial" #: src/panasonicmn.cpp:470 #, fuzzy msgid "Optical zoom mode" msgstr "Mode Pellicule" #: src/panasonicmn.cpp:472 msgid "Travel Day" msgstr "" #: src/panasonicmn.cpp:472 msgid "Travel day" msgstr "" #: src/panasonicmn.cpp:474 #, fuzzy msgid "World Time Location" msgstr "Lieu précis" #: src/panasonicmn.cpp:474 #, fuzzy msgid "World time location" msgstr "Lieu précis" #: src/panasonicmn.cpp:475 #, fuzzy msgid "Text Stamp 1" msgstr "Horodateur GPS" #: src/panasonicmn.cpp:476 #, fuzzy msgid "Program ISO" msgstr "Logiciel" #: src/panasonicmn.cpp:477 #, fuzzy msgid "Advanced Scene Type" msgstr "Type de scène" #: src/panasonicmn.cpp:478 #, fuzzy msgid "Text Stamp 2" msgstr "Horodateur GPS" #: src/panasonicmn.cpp:479 #, fuzzy msgid "Faces detected" msgstr "Échec lors de la lecture" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temp Kelvin" msgstr "Température des couleurs" #: src/panasonicmn.cpp:483 #, fuzzy msgid "Color Temperatur in Kelvin" msgstr "Température des couleurs" #: src/panasonicmn.cpp:484 #, fuzzy msgid "Bracket Settings" msgstr "bracketing" #: src/panasonicmn.cpp:485 #, fuzzy msgid "WB Adjust AB" msgstr "Ajustement de teinte" #: src/panasonicmn.cpp:485 msgid "WB adjust AB. Positive is a shift toward blue." msgstr "" #: src/panasonicmn.cpp:486 #, fuzzy msgid "WB Adjust GM" msgstr "Ajustement de teinte" #: src/panasonicmn.cpp:486 msgid "WBAdjustGM. Positive is a shift toward green." msgstr "" #: src/panasonicmn.cpp:487 #, fuzzy msgid "Flash Curtain" msgstr "Flash" #: src/panasonicmn.cpp:488 #, fuzzy msgid "Long Shutter Noise Reduction" msgstr "Réduction du bruit lors d'expositions longues" #: src/panasonicmn.cpp:491 #, fuzzy msgid "AF Point Position" msgstr "Position mise au point" #: src/panasonicmn.cpp:492 #, fuzzy msgid "Face detection info" msgstr "Échec lors de la lecture" #: src/panasonicmn.cpp:495 #, fuzzy msgid "Accessory Type" msgstr "Type d'objectif" #: src/panasonicmn.cpp:495 #, fuzzy msgid "Accessory type" msgstr "Type d'objectif" #: src/panasonicmn.cpp:496 #, fuzzy msgid "Accessory Serial Number" msgstr "Numéro de série" #: src/panasonicmn.cpp:497 #, fuzzy msgid "Transform 1" msgstr "Échelle de transfert" #: src/panasonicmn.cpp:498 #, fuzzy msgid "Intelligent Exposure" msgstr "Longueur intervalle" #: src/panasonicmn.cpp:499 #, fuzzy msgid "Firmware Version of the Lens" msgstr "Version du microcode" #: src/panasonicmn.cpp:500 #, fuzzy msgid "Face recognition info" msgstr "informations de réglage appareil photo" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash Warning" msgstr "Avertissement mise au point" #: src/panasonicmn.cpp:501 #, fuzzy msgid "Flash warning" msgstr "Réglage flash" #: src/panasonicmn.cpp:502 src/properties.cpp:186 src/properties.cpp:1349 #, fuzzy msgid "Title" msgstr "Le fichier" #: src/panasonicmn.cpp:503 #, fuzzy msgid "Baby Name" msgstr "de" #: src/panasonicmn.cpp:503 msgid "Baby name (or pet name)" msgstr "" #: src/panasonicmn.cpp:504 src/pentaxmn.cpp:1236 src/pentaxmn.cpp:1237 #: src/properties.cpp:682 src/properties.cpp:1458 #, fuzzy msgid "Location" msgstr "Lieu précis" #: src/panasonicmn.cpp:506 src/properties.cpp:441 #, fuzzy msgid "State" msgstr "Date d'envoi" #: src/panasonicmn.cpp:508 msgid "Landmark" msgstr "" #: src/panasonicmn.cpp:509 #, fuzzy msgid "Intelligent resolution" msgstr "Longueur intervalle" #: src/panasonicmn.cpp:510 #, fuzzy msgid "Burst Speed" msgstr "Vitesse d'obturation" #: src/panasonicmn.cpp:510 msgid "Burst Speed in pictures per second" msgstr "" #: src/panasonicmn.cpp:511 #, fuzzy msgid "Intelligent Dynamic Range" msgstr "Gamme dynamique" #: src/panasonicmn.cpp:512 #, fuzzy msgid "Clear Retouch" msgstr "Réduction du bruit" #: src/panasonicmn.cpp:513 #, fuzzy msgid "City2" msgstr "Ville" #: src/panasonicmn.cpp:515 #, fuzzy msgid "Photo style" msgstr "Mode d'image" #: src/panasonicmn.cpp:517 msgid "Accelerometer Z" msgstr "" #: src/panasonicmn.cpp:517 msgid "positive is acceleration upwards" msgstr "" #: src/panasonicmn.cpp:518 msgid "Accelerometer X" msgstr "" #: src/panasonicmn.cpp:518 msgid "positive is acceleration to the left" msgstr "" #: src/panasonicmn.cpp:519 msgid "Accelerometer Y" msgstr "" #: src/panasonicmn.cpp:519 msgid "positive is acceleration backwards" msgstr "" #: src/panasonicmn.cpp:520 #, fuzzy msgid "Camera Orientation" msgstr "Orientation" #: src/panasonicmn.cpp:521 #, fuzzy msgid "Roll Angle" msgstr "haut, gauche" #: src/panasonicmn.cpp:521 msgid "degress of clockwise camera rotation" msgstr "" #: src/panasonicmn.cpp:522 msgid "Pitch Angle" msgstr "" #: src/panasonicmn.cpp:522 msgid "degress of upwards camera tilt" msgstr "" #: src/panasonicmn.cpp:523 #, fuzzy msgid "Sweep Panorama Direction" msgstr "Direction panorama" #: src/panasonicmn.cpp:524 msgid "Field of View of Panorama" msgstr "" #: src/panasonicmn.cpp:525 #, fuzzy msgid "Timer Recording" msgstr "Décalage d'enregistrement" #: src/panasonicmn.cpp:526 #, fuzzy msgid "Internal ND Filter" msgstr "Interne + Externe" #: src/panasonicmn.cpp:528 #, fuzzy msgid "Shutter Type" msgstr "Vitesse d'obturation" #: src/panasonicmn.cpp:529 #, fuzzy msgid "Clear Retouch Value" msgstr "Index interopérabilité" #: src/panasonicmn.cpp:530 #, fuzzy msgid "TouchAE" msgstr "Balance des blancs en une touche" #: src/panasonicmn.cpp:533 #, fuzzy msgid "MakerNote Version" msgstr "Version des Notes du fabriquant" #: src/panasonicmn.cpp:533 #, fuzzy msgid "MakerNote version" msgstr "Version des Notes du fabriquant" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 #, fuzzy msgid "WB Red Level" msgstr "Niveau de noir" #: src/panasonicmn.cpp:535 src/panasonicmn.cpp:735 #, fuzzy msgid "WB red level" msgstr "Niveau de noir" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 #, fuzzy msgid "WB Green Level" msgstr "Niveau de noir" #: src/panasonicmn.cpp:536 src/panasonicmn.cpp:736 #, fuzzy msgid "WB green level" msgstr "Niveau de noir" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 #, fuzzy msgid "WB Blue Level" msgstr "Niveau de noir" #: src/panasonicmn.cpp:537 src/panasonicmn.cpp:737 #, fuzzy msgid "WB blue level" msgstr "Niveau de noir" #: src/panasonicmn.cpp:539 #, fuzzy msgid "Text Stamp 3" msgstr "Horodateur GPS" #: src/panasonicmn.cpp:540 #, fuzzy msgid "Text Stamp 4" msgstr "Horodateur GPS" #: src/panasonicmn.cpp:541 #, fuzzy msgid "Baby Age 2" msgstr "de" #: src/panasonicmn.cpp:541 msgid "Baby (or pet) age 2" msgstr "" #: src/panasonicmn.cpp:542 #, fuzzy msgid "Transform 2" msgstr "Échelle de transfert" #: src/panasonicmn.cpp:544 msgid "Unknown PanasonicMakerNote tag" msgstr "Marqueur de note du fabriquant Panasonic inconnu" #: src/panasonicmn.cpp:562 #, fuzzy msgid "Spot mode on or 9 area" msgstr "Mode doux 1" #: src/panasonicmn.cpp:563 msgid "Spot mode off or 3-area (high speed)" msgstr "" #: src/panasonicmn.cpp:564 msgid "23-area" msgstr "" #: src/panasonicmn.cpp:565 #, fuzzy msgid "Spot focussing" msgstr "Mise au point Spot" #: src/panasonicmn.cpp:566 msgid "5-area" msgstr "" #: src/panasonicmn.cpp:567 msgid "1-area" msgstr "" #: src/panasonicmn.cpp:568 msgid "1-area (high speed)" msgstr "" #: src/panasonicmn.cpp:569 msgid "3-area (auto)" msgstr "" #: src/panasonicmn.cpp:570 msgid "3-area (left)" msgstr "" #: src/panasonicmn.cpp:571 msgid "3-area (center)" msgstr "" #: src/panasonicmn.cpp:572 msgid "3-area (right)" msgstr "" #: src/panasonicmn.cpp:574 #, fuzzy msgid "Spot Focusing 2" msgstr "Mise au point Spot" #: src/panasonicmn.cpp:588 msgid " EV" msgstr " EV" #: src/panasonicmn.cpp:621 src/panasonicmn.cpp:637 #, fuzzy msgid "not set" msgstr "non défini\n" #: src/panasonicmn.cpp:725 #, fuzzy msgid "Panasonic raw version" msgstr "Version de microcode" #: src/panasonicmn.cpp:726 #, fuzzy msgid "Sensor Width" msgstr "Droit d'auteur" #: src/panasonicmn.cpp:726 #, fuzzy msgid "Sensor width" msgstr "Droit d'auteur" #: src/panasonicmn.cpp:727 #, fuzzy msgid "Sensor Height" msgstr "Nettoyage capteur" #: src/panasonicmn.cpp:727 #, fuzzy msgid "Sensor height" msgstr "Nettoyage capteur" #: src/panasonicmn.cpp:728 #, fuzzy msgid "Sensor Top Border" msgstr "Température de la sonde" #: src/panasonicmn.cpp:728 #, fuzzy msgid "Sensor top border" msgstr "Température de la sonde" #: src/panasonicmn.cpp:729 #, fuzzy msgid "Sensor Left Border" msgstr "Température de la sonde" #: src/panasonicmn.cpp:729 #, fuzzy msgid "Sensor left border" msgstr "Température de la sonde" #: src/panasonicmn.cpp:732 msgid "Red balance (found in Digilux 2 RAW images)" msgstr "" #: src/panasonicmn.cpp:739 src/tags.cpp:469 msgid "Manufacturer" msgstr "Constructeur" #: src/panasonicmn.cpp:739 msgid "The manufacturer of the recording equipment" msgstr "" #: src/panasonicmn.cpp:740 src/properties.cpp:543 src/tags.cpp:475 msgid "Model" msgstr "Modèle" #: src/panasonicmn.cpp:740 #, fuzzy msgid "The model name or model number of the equipment" msgstr "Le type de source lumineuse." #: src/panasonicmn.cpp:741 src/tags.cpp:481 #, fuzzy msgid "Strip Offsets" msgstr "Décalage aperçu" #: src/panasonicmn.cpp:741 #, fuzzy msgid "Strip offsets" msgstr "Décalage aperçu" #: src/panasonicmn.cpp:742 src/properties.cpp:510 src/properties.cpp:1239 #: src/tags.cpp:488 msgid "Orientation" msgstr "Orientation" #: src/panasonicmn.cpp:743 msgid "Rows Per Strip" msgstr "" #: src/panasonicmn.cpp:743 #, fuzzy msgid "The number of rows per strip" msgstr "Le nombre F." #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip Byte Counts" msgstr "Priorité obturation" #: src/panasonicmn.cpp:744 #, fuzzy msgid "Strip byte counts" msgstr "Priorité obturation" #: src/panasonicmn.cpp:745 #, fuzzy msgid "Raw Data Offset" msgstr "Décalage IFD" #: src/panasonicmn.cpp:745 #, fuzzy msgid "Raw data offset" msgstr "En-tête, décalage" #: src/panasonicmn.cpp:746 src/tags.cpp:797 msgid "Exif IFD Pointer" msgstr "Pointeur IFD Exif" #: src/panasonicmn.cpp:746 msgid "A pointer to the Exif IFD" msgstr "" #: src/panasonicmn.cpp:747 src/tags.cpp:808 msgid "GPS Info IFD Pointer" msgstr "Pointeur IFD information GPS" #: src/panasonicmn.cpp:747 msgid "A pointer to the GPS Info IFD" msgstr "" #: src/panasonicmn.cpp:749 #, fuzzy msgid "Unknown PanasonicRaw tag" msgstr "Marqueur de note du fabriquant Panasonic inconnu" #: src/pentaxmn.cpp:57 msgid "Night-Scene" msgstr "Scène de nuit" #: src/pentaxmn.cpp:199 msgid "Good" msgstr "Bien" #: src/pentaxmn.cpp:200 msgid "Better" msgstr "Mieux" #: src/pentaxmn.cpp:201 msgid "Best" msgstr "Meilleur" #: src/pentaxmn.cpp:204 msgid "Premium" msgstr "Premium" #: src/pentaxmn.cpp:216 msgid "2560x1920 or 2304x1728" msgstr "2560x1920 ou 2304x1728" #: src/pentaxmn.cpp:222 msgid "2304x1728 or 2592x1944" msgstr "2304x1728 ou 2592x1944" #: src/pentaxmn.cpp:224 msgid "2816x2212 or 2816x2112" msgstr "2816x2212 ou 2816x2112" #: src/pentaxmn.cpp:247 msgid "Auto, Did not fire" msgstr "Flash auto, non déclenché" #: src/pentaxmn.cpp:248 src/pentaxmn.cpp:249 #, fuzzy msgid "Off, Did not fire" msgstr "Le flash ne s'est pas déclenché." #: src/pentaxmn.cpp:250 msgid "Auto, Did not fire, Red-eye reduction" msgstr "Flash auto non déclenché, mode anti-yeux rouges" #: src/pentaxmn.cpp:251 msgid "On. Did not fire. Wireless (Master)" msgstr "" #: src/pentaxmn.cpp:252 msgid "Auto, Fired" msgstr "Flash automatique, déclenché" #: src/pentaxmn.cpp:253 #, fuzzy msgid "On, Fired" msgstr "Déclenché" #: src/pentaxmn.cpp:254 msgid "Auto, Fired, Red-eye reduction" msgstr "Flash auto déclenché, mode anti-yeux rouges" #: src/pentaxmn.cpp:255 msgid "On, Red-eye reduction" msgstr "Activé, Mode anti-yeux rouges" #: src/pentaxmn.cpp:256 #, fuzzy msgid "On, Wireless (Master)" msgstr "Activé, Sans fil" #: src/pentaxmn.cpp:257 #, fuzzy msgid "On, Wireless (Control)" msgstr "Activé, Sans fil" #: src/pentaxmn.cpp:258 msgid "On, Soft" msgstr "Activé, Doux" #: src/pentaxmn.cpp:259 msgid "On, Slow-sync" msgstr "Activé, Synchro lente" #: src/pentaxmn.cpp:260 msgid "On, Slow-sync, Red-eye reduction" msgstr "Flash déclenché, synchro lente, mode anti-yeux rouges" #: src/pentaxmn.cpp:261 msgid "On, Trailing-curtain Sync" msgstr "" #: src/pentaxmn.cpp:272 #, fuzzy msgid "Pan Focus" msgstr "Continue" #: src/pentaxmn.cpp:275 msgid "AF-A" msgstr "" #: src/pentaxmn.cpp:276 #, fuzzy msgid "Contrast-detect" msgstr "Réglage de contraste" #: src/pentaxmn.cpp:277 #, fuzzy msgid "Tracking Contrast-detect" msgstr "Réglage de contraste" #: src/pentaxmn.cpp:284 #, fuzzy msgid "Fixed Center" msgstr "Centre" #: src/pentaxmn.cpp:285 #, fuzzy msgid "Automatic Tracking AF" msgstr "AF automatique" #: src/pentaxmn.cpp:286 msgid "Face Recognition AF" msgstr "" #: src/pentaxmn.cpp:287 #, fuzzy msgid "AF Select" msgstr "Sélection" #: src/pentaxmn.cpp:305 msgid "Fixed Center or multiple" msgstr "" #: src/pentaxmn.cpp:307 #, fuzzy msgid "Top-center" msgstr "centre" #: src/pentaxmn.cpp:313 #, fuzzy msgid "Bottom-center" msgstr "Bas-gauche" #: src/pentaxmn.cpp:402 msgid "Multi Segment" msgstr "Multi-segments" #: src/pentaxmn.cpp:403 msgid "Center Weighted" msgstr "Centre pondéré" #: src/pentaxmn.cpp:415 msgid "DaylightFluorescent" msgstr "Lumière du jour fluorescent" #: src/pentaxmn.cpp:416 msgid "DaywhiteFluorescent" msgstr "Lumière du jour fluorescent" #: src/pentaxmn.cpp:417 #, fuzzy msgid "WhiteFluorescent" msgstr "Fluorescent" #: src/pentaxmn.cpp:420 #, fuzzy msgid "Color Temperature Enhancement" msgstr "Température des couleurs" #: src/pentaxmn.cpp:423 msgid "User Selected" msgstr "Sélection utilisateur" #: src/pentaxmn.cpp:428 msgid "Auto (Daylight)" msgstr "Auto (lumière du jour)" #: src/pentaxmn.cpp:429 #, fuzzy msgid "Auto (Shade)" msgstr "Ombragé" #: src/pentaxmn.cpp:430 msgid "Auto (Flash)" msgstr "Auto (Flash)" #: src/pentaxmn.cpp:431 msgid "Auto (Tungsten)" msgstr "Auto (Tungstène)" #: src/pentaxmn.cpp:432 #, fuzzy msgid "Auto (DaylightFluorescent)" msgstr "Auto (lumière du jour fluorescent)" #: src/pentaxmn.cpp:433 msgid "Auto (DaywhiteFluorescent)" msgstr "Auto (lumière du jour fluorescent)" #: src/pentaxmn.cpp:434 msgid "Auto (WhiteFluorescent)" msgstr "Auto (lumière fluorescente)" #: src/pentaxmn.cpp:435 msgid "Auto (Cloudy)" msgstr "Auto (Nuageux)" #: src/pentaxmn.cpp:437 msgid "Preset (Fireworks?)" msgstr "Programme (Feux d'artifices)" #: src/pentaxmn.cpp:445 src/pentaxmn.cpp:460 msgid "Med Low" msgstr "Plutôt faible" #: src/pentaxmn.cpp:446 src/pentaxmn.cpp:461 msgid "Med High" msgstr "Plutôt élevé" #: src/pentaxmn.cpp:449 src/pentaxmn.cpp:464 src/pentaxmn.cpp:477 msgid "-4" msgstr "" #: src/pentaxmn.cpp:450 src/pentaxmn.cpp:465 src/pentaxmn.cpp:478 msgid "+4" msgstr "" #: src/pentaxmn.cpp:473 msgid "Med Soft" msgstr "Plutôt doux" #: src/pentaxmn.cpp:474 msgid "Med Hard" msgstr "Plutôt dur" #: src/pentaxmn.cpp:475 msgid "Very Soft" msgstr "Très doux" #: src/pentaxmn.cpp:476 msgid "Very Hard" msgstr "Très dur" #: src/pentaxmn.cpp:483 src/pentaxmn.cpp:1240 msgid "Home town" msgstr "Maison" #: src/pentaxmn.cpp:489 msgid "Pago Pago" msgstr "Pago Pago" #: src/pentaxmn.cpp:490 msgid "Honolulu" msgstr "Honolulu" #: src/pentaxmn.cpp:491 msgid "Anchorage" msgstr "Anchorage" #: src/pentaxmn.cpp:492 msgid "Vancouver" msgstr "Vancouver" #: src/pentaxmn.cpp:493 msgid "San Fransisco" msgstr "San Fransisco" #: src/pentaxmn.cpp:494 msgid "Los Angeles" msgstr "Los Angeles" #: src/pentaxmn.cpp:495 msgid "Calgary" msgstr "Calgary" #: src/pentaxmn.cpp:496 msgid "Denver" msgstr "Denver" #: src/pentaxmn.cpp:497 msgid "Mexico City" msgstr "Mexico Ville" #: src/pentaxmn.cpp:498 msgid "Chicago" msgstr "Chicago" #: src/pentaxmn.cpp:499 msgid "Miami" msgstr "Miami" #: src/pentaxmn.cpp:500 msgid "Toronto" msgstr "Toronto" #: src/pentaxmn.cpp:501 msgid "New York" msgstr "New York" #: src/pentaxmn.cpp:502 msgid "Santiago" msgstr "Santiago" #: src/pentaxmn.cpp:503 msgid "Caracus" msgstr "Caracas" #: src/pentaxmn.cpp:504 msgid "Halifax" msgstr "Halifax" #: src/pentaxmn.cpp:505 msgid "Buenos Aires" msgstr "Buenos Aires" #: src/pentaxmn.cpp:506 msgid "Sao Paulo" msgstr "Sao Paulo" #: src/pentaxmn.cpp:507 msgid "Rio de Janeiro" msgstr "Rio de Janeiro" #: src/pentaxmn.cpp:508 msgid "Madrid" msgstr "Madrid" #: src/pentaxmn.cpp:509 msgid "London" msgstr "Londres" #: src/pentaxmn.cpp:510 msgid "Paris" msgstr "Paris" #: src/pentaxmn.cpp:511 msgid "Milan" msgstr "Milan" #: src/pentaxmn.cpp:512 msgid "Rome" msgstr "Rome" #: src/pentaxmn.cpp:513 msgid "Berlin" msgstr "Berlin" #: src/pentaxmn.cpp:514 msgid "Johannesburg" msgstr "Johannesburg" #: src/pentaxmn.cpp:515 msgid "Istanbul" msgstr "Istanbul" #: src/pentaxmn.cpp:516 msgid "Cairo" msgstr "Le Caire" #: src/pentaxmn.cpp:517 msgid "Jerusalem" msgstr "Jérusalem" #: src/pentaxmn.cpp:518 msgid "Moscow" msgstr "Moscou" #: src/pentaxmn.cpp:519 msgid "Jeddah" msgstr "Jeddah" #: src/pentaxmn.cpp:520 msgid "Tehran" msgstr "Téhéran" #: src/pentaxmn.cpp:521 msgid "Dubai" msgstr "Dubaï" #: src/pentaxmn.cpp:522 msgid "Karachi" msgstr "Karachi" #: src/pentaxmn.cpp:523 msgid "Kabul" msgstr "Kaboul" #: src/pentaxmn.cpp:524 msgid "Male" msgstr "Male" #: src/pentaxmn.cpp:525 msgid "Delhi" msgstr "Delhi" #: src/pentaxmn.cpp:526 msgid "Colombo" msgstr "Colombo" #: src/pentaxmn.cpp:527 msgid "Kathmandu" msgstr "Kathmandu" #: src/pentaxmn.cpp:528 #, fuzzy msgid "Dacca" msgstr "Dackar" #: src/pentaxmn.cpp:529 #, fuzzy msgid "Yangon" msgstr "Bangkok" #: src/pentaxmn.cpp:530 msgid "Bangkok" msgstr "Bangkok" #: src/pentaxmn.cpp:531 msgid "Kuala Lumpur" msgstr "Kuala Lumpur" #: src/pentaxmn.cpp:532 #, fuzzy msgid "Vientiane" msgstr "Orientation" #: src/pentaxmn.cpp:533 msgid "Singapore" msgstr "Singapour" #: src/pentaxmn.cpp:534 msgid "Phnom Penh" msgstr "Phnom Penh" #: src/pentaxmn.cpp:535 msgid "Ho Chi Minh" msgstr "Ho Chi Minh" #: src/pentaxmn.cpp:536 msgid "Jakarta" msgstr "Jakarta" #: src/pentaxmn.cpp:537 msgid "Hong Kong" msgstr "Hong Kong" #: src/pentaxmn.cpp:538 #, fuzzy msgid "Perth" msgstr "Animaux" #: src/pentaxmn.cpp:539 msgid "Beijing" msgstr "Pékin" #: src/pentaxmn.cpp:540 msgid "Shanghai" msgstr "Shanghai" #: src/pentaxmn.cpp:541 msgid "Manila" msgstr "Manille" #: src/pentaxmn.cpp:542 msgid "Taipei" msgstr "Taipei" #: src/pentaxmn.cpp:543 msgid "Seoul" msgstr "Séoul" #: src/pentaxmn.cpp:544 msgid "Adelaide" msgstr "Adélaïde" #: src/pentaxmn.cpp:545 msgid "Tokyo" msgstr "Tokyo" #: src/pentaxmn.cpp:546 msgid "Guam" msgstr "" #: src/pentaxmn.cpp:547 msgid "Sydney" msgstr "Sydney" #: src/pentaxmn.cpp:548 msgid "Noumea" msgstr "Nouméa" #: src/pentaxmn.cpp:549 msgid "Wellington" msgstr "Wellington" #: src/pentaxmn.cpp:550 msgid "Auckland" msgstr "Auckland" #: src/pentaxmn.cpp:551 msgid "Lima" msgstr "Lima" #: src/pentaxmn.cpp:552 msgid "Dakar" msgstr "Dackar" #: src/pentaxmn.cpp:553 msgid "Algiers" msgstr "Alger" #: src/pentaxmn.cpp:554 msgid "Helsinki" msgstr "Helsinki" #: src/pentaxmn.cpp:555 msgid "Athens" msgstr "Athène" #: src/pentaxmn.cpp:556 msgid "Nairobi" msgstr "Nairobi" #: src/pentaxmn.cpp:557 msgid "Amsterdam" msgstr "Amsterdam" #: src/pentaxmn.cpp:558 msgid "Stockholm" msgstr "Stockholm" #: src/pentaxmn.cpp:559 msgid "Lisbon" msgstr "Lisbonne" #: src/pentaxmn.cpp:560 #, fuzzy msgid "Copenhagen" msgstr "Moyenne" #: src/pentaxmn.cpp:561 msgid "Warsaw" msgstr "" #: src/pentaxmn.cpp:562 msgid "Prague" msgstr "" #: src/pentaxmn.cpp:563 msgid "Budapest" msgstr "" #: src/pentaxmn.cpp:568 msgid "Unprocessed" msgstr "Non traité" #: src/pentaxmn.cpp:570 #, fuzzy msgid "Resized" msgstr "taille" #: src/pentaxmn.cpp:571 src/properties.cpp:1106 msgid "Cropped" msgstr "Rogné" #: src/pentaxmn.cpp:573 #, fuzzy msgid "Digital Filter 6" msgstr "Filtre digital" #: src/pentaxmn.cpp:574 msgid "Frame Synthesis?" msgstr "" #: src/pentaxmn.cpp:580 src/pentaxmn.cpp:624 #, fuzzy msgid "Hi-speed Program" msgstr "Programme d'exposition" #: src/pentaxmn.cpp:581 src/pentaxmn.cpp:625 #, fuzzy msgid "DOF Program" msgstr "Logiciel" #: src/pentaxmn.cpp:582 src/pentaxmn.cpp:626 #, fuzzy msgid "MTF Program" msgstr "Logiciel" #: src/pentaxmn.cpp:588 msgid "Night Scene Portrait" msgstr "Portrait de nuit" #: src/pentaxmn.cpp:589 msgid "No Flash" msgstr "Pas de flash" #: src/pentaxmn.cpp:592 msgid "Surf & Snow" msgstr "Surf et Neige" #: src/pentaxmn.cpp:595 msgid "Kids" msgstr "Enfants" #: src/pentaxmn.cpp:600 #, fuzzy msgid "Stage Lighting" msgstr "Hauteur de l'image" #: src/pentaxmn.cpp:601 #, fuzzy msgid "Night Snap" msgstr "Instantané de nuit" #: src/pentaxmn.cpp:602 #, fuzzy msgid "Blue Sky" msgstr "valeur" #: src/pentaxmn.cpp:604 #, fuzzy msgid "Night Scene HDR" msgstr "Scène de nuit" #: src/pentaxmn.cpp:606 #, fuzzy msgid "Quick Macro" msgstr "Super macro" #: src/pentaxmn.cpp:607 #, fuzzy msgid "Forest" msgstr "Fluorescent" #: src/pentaxmn.cpp:608 msgid "Backlight Silhouette" msgstr "" #: src/pentaxmn.cpp:610 #, fuzzy msgid "Auto PICT (Standard)" msgstr "Auto (Paysage)" #: src/pentaxmn.cpp:611 #, fuzzy msgid "Auto PICT (Portrait)" msgstr "Contraste" #: src/pentaxmn.cpp:612 msgid "Auto PICT (Landscape)" msgstr "Auto (Paysage)" #: src/pentaxmn.cpp:613 #, fuzzy msgid "Auto PICT (Macro)" msgstr "Auto (Paysage)" #: src/pentaxmn.cpp:614 #, fuzzy msgid "Auto PICT (Sport)" msgstr "Auto (Paysage)" #: src/pentaxmn.cpp:617 src/pentaxmn.cpp:628 #, fuzzy msgid "Green Mode" msgstr "Mode contrôle" #: src/pentaxmn.cpp:618 src/pentaxmn.cpp:629 msgid "Shutter Speed Priority" msgstr "Priorité vitesse obturation" #: src/pentaxmn.cpp:619 src/pentaxmn.cpp:630 msgid "Aperture Priority" msgstr "Priorité ouverture" #: src/pentaxmn.cpp:621 src/pentaxmn.cpp:634 msgid "Bulb" msgstr "Bulb" #: src/pentaxmn.cpp:627 msgid "Shallow DOF" msgstr "" #: src/pentaxmn.cpp:631 #, fuzzy msgid "Program Tv Shift" msgstr "Logiciel" #: src/pentaxmn.cpp:632 #, fuzzy msgid "Program Av Shift" msgstr "Logiciel" #: src/pentaxmn.cpp:635 msgid "Aperture Priority (Off-Auto-Aperture)" msgstr "Priorité ouverture (Av)" #: src/pentaxmn.cpp:636 msgid "Manual (Off-Auto-Aperture)" msgstr "Manuel" #: src/pentaxmn.cpp:637 msgid "Bulb (Off-Auto-Aperture)" msgstr "Bulb" #: src/pentaxmn.cpp:639 msgid "Shutter Priority" msgstr "Priorité obturation" #: src/pentaxmn.cpp:640 msgid "Shutter & Aperture Priority AE" msgstr "Priorité vitesse obturation et ouverture AE" #: src/pentaxmn.cpp:641 msgid "Shutter & Aperture Priority AE (1)" msgstr "Priorité vitesse obturation et ouverture AE (1)" #: src/pentaxmn.cpp:642 #, fuzzy msgid "Sensitivity Priority AE" msgstr "Sensibilité spectrale" #: src/pentaxmn.cpp:643 #, fuzzy msgid "Sensitivity Priority AE (1)" msgstr "Priorité vitesse obturation et ouverture AE (1)" #: src/pentaxmn.cpp:644 #, fuzzy msgid "Flash X-Sync Speed AE" msgstr "Vitesse de synchro flash en mode Av" #: src/pentaxmn.cpp:645 #, fuzzy msgid "Flash X-Sync Speed AE (1)" msgstr "Vitesse de synchro flash en mode Av" #: src/pentaxmn.cpp:646 #, fuzzy msgid "Auto Program (Normal)" msgstr "Programme (P)" #: src/pentaxmn.cpp:647 msgid "Auto Program (Hi-Speed)" msgstr "" #: src/pentaxmn.cpp:648 #, fuzzy msgid "Auto Program (DOF)" msgstr "Programme (P)" #: src/pentaxmn.cpp:649 #, fuzzy msgid "Auto Program (MTF)" msgstr "Programme (P)" #: src/pentaxmn.cpp:650 msgid "Auto Program (Shallow DOF)" msgstr "" #: src/pentaxmn.cpp:651 #, fuzzy msgid "Blur control" msgstr "Contrôle des couleurs" #: src/pentaxmn.cpp:654 msgid "Video (30 fps)" msgstr "" #: src/pentaxmn.cpp:655 msgid "Video (24 fps)" msgstr "" #: src/pentaxmn.cpp:662 #, fuzzy msgid "Continuous (Hi)" msgstr "Continue" #: src/pentaxmn.cpp:663 src/sonymn.cpp:272 #, fuzzy msgid "Burst" msgstr "Mode rafale" #: src/pentaxmn.cpp:664 src/pentaxmn.cpp:668 src/pentaxmn.cpp:679 #: src/properties.cpp:908 #, fuzzy msgid "Video" msgstr "Large" #: src/pentaxmn.cpp:666 #, fuzzy msgid "Self-timer (12 sec)" msgstr "retardateur" #: src/pentaxmn.cpp:667 #, fuzzy msgid "Self-timer (2 sec)" msgstr "retardateur" #: src/pentaxmn.cpp:669 #, fuzzy msgid "Mirror Lock-up" msgstr "Verrouillage du miroir" #: src/pentaxmn.cpp:670 #, fuzzy msgid "Remote Control (3 sec)" msgstr "Contrôle des couleurs" #: src/pentaxmn.cpp:671 #, fuzzy msgid "Remote Control" msgstr "Contrôle des couleurs" #: src/pentaxmn.cpp:672 #, fuzzy msgid "Remote Continuous Shooting" msgstr "Paramètre de la mise au point continue" #: src/pentaxmn.cpp:675 #, fuzzy msgid "HDR Strong 1" msgstr "Fort" #: src/pentaxmn.cpp:676 #, fuzzy msgid "HDR Strong 2" msgstr "Fort" #: src/pentaxmn.cpp:677 #, fuzzy msgid "HDR Strong 3" msgstr "Fort" #: src/pentaxmn.cpp:678 #, fuzzy msgid "HDR Auto" msgstr "Automatique" #: src/pentaxmn.cpp:690 msgid "M-42 or No Lens" msgstr "" #: src/pentaxmn.cpp:691 #, fuzzy msgid "K or M Lens" msgstr "Objectif" #: src/pentaxmn.cpp:692 msgid "A Series Lens" msgstr "" #: src/pentaxmn.cpp:970 #, fuzzy msgid "Bright" msgstr "Luminosité+" #: src/pentaxmn.cpp:976 msgid "Reversal film" msgstr "" #: src/pentaxmn.cpp:977 msgid "Bleach bypass" msgstr "" #: src/pentaxmn.cpp:978 msgid "Radiant" msgstr "" #: src/pentaxmn.cpp:990 #, fuzzy msgid "Weakest" msgstr "Ouest" #: src/pentaxmn.cpp:991 msgid "Weak" msgstr "Faible" #: src/pentaxmn.cpp:992 msgid "Strong" msgstr "Fort" #: src/pentaxmn.cpp:1112 msgid "No extended bracketing" msgstr "" #: src/pentaxmn.cpp:1118 msgid "WB-BA" msgstr "" #: src/pentaxmn.cpp:1121 msgid "WB-GM" msgstr "" #: src/pentaxmn.cpp:1133 #, fuzzy msgid "Unknown " msgstr "Inconnu" #: src/pentaxmn.cpp:1146 #, fuzzy msgid "Pentax Makernote version" msgstr "Version des note du fabriquant Nikon" #: src/pentaxmn.cpp:1149 #, fuzzy msgid "Camera shooting mode" msgstr "Mode de prise de vue" #: src/pentaxmn.cpp:1151 src/pentaxmn.cpp:1152 #, fuzzy msgid "Resolution of a preview image" msgstr "Pointeur vers l'image d'aperçu" #: src/pentaxmn.cpp:1154 #, fuzzy msgid "Length of a preview image" msgstr "Pointeur vers l'image d'aperçu" #: src/pentaxmn.cpp:1155 #, fuzzy msgid "Size of an IFD containing a preview image" msgstr "Décalage vers l'IFD contenant l'aperçu" #: src/pentaxmn.cpp:1160 #, fuzzy msgid "Model identification" msgstr "Version du Modèle" #: src/pentaxmn.cpp:1161 #, fuzzy msgid "Pentax model identification" msgstr "Version du Modèle" #: src/pentaxmn.cpp:1163 src/pentaxmn.cpp:1164 src/properties.cpp:167 #, fuzzy msgid "Date" msgstr "Date d'envoi" #: src/pentaxmn.cpp:1166 src/pentaxmn.cpp:1167 #, fuzzy msgid "Time" msgstr "Heure d'envoi" #: src/pentaxmn.cpp:1170 #, fuzzy msgid "Image quality settings" msgstr "Réglage de qualité de l'image" #: src/pentaxmn.cpp:1173 #, fuzzy msgid "Image size settings" msgstr "Réglage de qualité de l'image" #: src/pentaxmn.cpp:1177 #, fuzzy msgid "Flash mode settings" msgstr "Réglage mode flash" #: src/pentaxmn.cpp:1180 #, fuzzy msgid "Focus mode settings" msgstr "Réglage mode de mise au point" #: src/pentaxmn.cpp:1183 #, fuzzy msgid "Selected AF point" msgstr "AF Points" #: src/pentaxmn.cpp:1185 src/pentaxmn.cpp:1186 #, fuzzy msgid "AF point in focus" msgstr "Points AF utilisés" #: src/pentaxmn.cpp:1192 src/pentaxmn.cpp:1193 #, fuzzy msgid "F-Number" msgstr "Nombre F" #: src/pentaxmn.cpp:1195 #, fuzzy msgid "ISO sensitivity" msgstr "Sensibilité spectrale" #: src/pentaxmn.cpp:1196 #, fuzzy msgid "ISO sensitivity settings" msgstr "Réglage vitesse ISO" #: src/pentaxmn.cpp:1203 src/pentaxmn.cpp:1204 #, fuzzy msgid "MeteringMode" msgstr "Mode de mesure" #: src/pentaxmn.cpp:1206 src/pentaxmn.cpp:1207 #, fuzzy msgid "AutoBracketing" msgstr "Bracketing automatique" #: src/pentaxmn.cpp:1216 #, fuzzy msgid "Blue color balance" msgstr "Balance des bleus" #: src/pentaxmn.cpp:1219 #, fuzzy msgid "Red color balance" msgstr "Balance des rouges" #: src/pentaxmn.cpp:1221 src/pentaxmn.cpp:1222 #, fuzzy msgid "FocalLength" msgstr "Longueur focale" #: src/pentaxmn.cpp:1239 #, fuzzy msgid "Hometown" msgstr "Maison" #: src/pentaxmn.cpp:1245 #, fuzzy msgid "Hometown DST" msgstr "Maison" #: src/pentaxmn.cpp:1246 msgid "Whether day saving time is active in home town" msgstr "" #: src/pentaxmn.cpp:1248 #, fuzzy msgid "Destination DST" msgstr "Destination" #: src/pentaxmn.cpp:1249 msgid "Whether day saving time is active in destination" msgstr "" #: src/pentaxmn.cpp:1251 src/pentaxmn.cpp:1252 #, fuzzy msgid "DSPFirmwareVersion" msgstr "Version du microcode" #: src/pentaxmn.cpp:1254 src/pentaxmn.cpp:1255 #, fuzzy msgid "CPUFirmwareVersion" msgstr "Version du microcode" #: src/pentaxmn.cpp:1261 #, fuzzy msgid "Light value" msgstr "Valeur de luminosité" #: src/pentaxmn.cpp:1262 msgid "Camera calculated light value, includes exposure compensation" msgstr "" #: src/pentaxmn.cpp:1278 src/pentaxmn.cpp:1279 #, fuzzy msgid "Image area offset" msgstr "Taille des données de l'image" #: src/pentaxmn.cpp:1281 src/pentaxmn.cpp:1282 #, fuzzy msgid "Raw image size" msgstr "Taille de l'image" #: src/pentaxmn.cpp:1285 src/pentaxmn.cpp:1286 #, fuzzy msgid "Preview image borders" msgstr "Aperçu embarqué" #: src/pentaxmn.cpp:1291 src/pentaxmn.cpp:1292 #, fuzzy msgid "Sensitivity adjust" msgstr "Sensibilité spectrale" #: src/pentaxmn.cpp:1294 src/pentaxmn.cpp:1295 #, fuzzy msgid "Digital filter" msgstr "Appareil photo numérique" #: src/pentaxmn.cpp:1299 #, fuzzy msgid "Camera temperature" msgstr "Température des couleurs" #: src/pentaxmn.cpp:1312 src/pentaxmn.cpp:1313 #, fuzzy msgid "Image tone" msgstr "Type d'image" #: src/pentaxmn.cpp:1319 #, fuzzy msgid "Shake reduction" msgstr "Réduction du bruit" #: src/pentaxmn.cpp:1320 #, fuzzy msgid "Shake reduction information" msgstr "informations de réglage appareil photo" #: src/pentaxmn.cpp:1325 src/pentaxmn.cpp:1326 #, fuzzy msgid "Dynamic range expansion" msgstr "Réglage gamme dynamique" #: src/pentaxmn.cpp:1328 src/pentaxmn.cpp:1329 #, fuzzy msgid "High ISO noise reduction" msgstr "Réduction de bruit Iso élevé" #: src/pentaxmn.cpp:1331 src/pentaxmn.cpp:1332 #, fuzzy msgid "AF Adjustment" msgstr "Ajustement de teinte" #: src/pentaxmn.cpp:1335 src/pentaxmn.cpp:1336 #, fuzzy msgid "Black point" msgstr "Noir & Blanc" #: src/pentaxmn.cpp:1338 src/pentaxmn.cpp:1339 #, fuzzy msgid "White point" msgstr "Point blanc" #: src/pentaxmn.cpp:1342 src/pentaxmn.cpp:1343 #, fuzzy msgid "ShotInfo" msgstr "Infos prise de vue" #: src/pentaxmn.cpp:1345 src/pentaxmn.cpp:1346 #, fuzzy msgid "AEInfo" msgstr "Informations mise au point" #: src/pentaxmn.cpp:1348 src/pentaxmn.cpp:1349 #, fuzzy msgid "LensInfo" msgstr "Objectif" #: src/pentaxmn.cpp:1351 src/pentaxmn.cpp:1352 #, fuzzy msgid "FlashInfo" msgstr "Flash" #: src/pentaxmn.cpp:1354 src/pentaxmn.cpp:1355 #, fuzzy msgid "AEMeteringSegments" msgstr "Mode de mesure" #: src/pentaxmn.cpp:1357 src/pentaxmn.cpp:1358 #, fuzzy msgid "FlashADump" msgstr "Compensation Flash" #: src/pentaxmn.cpp:1360 src/pentaxmn.cpp:1361 #, fuzzy msgid "FlashBDump" msgstr "Compensation Flash" #: src/pentaxmn.cpp:1364 src/pentaxmn.cpp:1365 #, fuzzy msgid "WB_RGGBLevelsDaylight" msgstr "Fluorescent" #: src/pentaxmn.cpp:1367 src/pentaxmn.cpp:1368 #, fuzzy msgid "WB_RGGBLevelsShade" msgstr "Niveau de noir" #: src/pentaxmn.cpp:1370 src/pentaxmn.cpp:1371 #, fuzzy msgid "WB_RGGBLevelsCloudy" msgstr "Niveau de noir" #: src/pentaxmn.cpp:1373 src/pentaxmn.cpp:1374 #, fuzzy msgid "WB_RGGBLevelsTungsten" msgstr "Niveau de noir" #: src/pentaxmn.cpp:1376 src/pentaxmn.cpp:1377 #, fuzzy msgid "WB_RGGBLevelsFluorescentD" msgstr "Fluorescent" #: src/pentaxmn.cpp:1379 src/pentaxmn.cpp:1380 #, fuzzy msgid "WB_RGGBLevelsFluorescentN" msgstr "Fluorescent" #: src/pentaxmn.cpp:1382 src/pentaxmn.cpp:1383 #, fuzzy msgid "WB_RGGBLevelsFluorescentW" msgstr "Fluorescent" #: src/pentaxmn.cpp:1385 src/pentaxmn.cpp:1386 #, fuzzy msgid "WB_RGGBLevelsFlash" msgstr "Niveau de noir" #: src/pentaxmn.cpp:1388 src/pentaxmn.cpp:1389 #, fuzzy msgid "CameraInfo" msgstr "Identifiant appareil photo" #: src/pentaxmn.cpp:1391 src/pentaxmn.cpp:1392 #, fuzzy msgid "BatteryInfo" msgstr "Identifiant appareil photo" #: src/pentaxmn.cpp:1394 src/pentaxmn.cpp:1395 #, fuzzy msgid "AFInfo" msgstr "Informations mise au point" #: src/pentaxmn.cpp:1397 src/pentaxmn.cpp:1398 #, fuzzy msgid "ColorInfo" msgstr "Couleur" #: src/pentaxmn.cpp:1405 #, fuzzy msgid "Unknown PentaxMakerNote tag" msgstr "Marqueur de note du fabriquant Minolta inconnu" #: src/properties.cpp:110 msgid "Dublin Core schema" msgstr "" #: src/properties.cpp:111 msgid "digiKam Photo Management schema" msgstr "" #: src/properties.cpp:112 msgid "KDE Image Program Interface schema" msgstr "" #: src/properties.cpp:113 #, fuzzy msgid "XMP Basic schema" msgstr "Zone dynamique" #: src/properties.cpp:114 msgid "XMP Rights Management schema" msgstr "" #: src/properties.cpp:115 #, fuzzy msgid "XMP Media Management schema" msgstr "Zone dynamique" #: src/properties.cpp:116 #, fuzzy msgid "XMP Basic Job Ticket schema" msgstr "Zone dynamique" #: src/properties.cpp:117 #, fuzzy msgid "XMP Paged-Text schema" msgstr "Zone dynamique" #: src/properties.cpp:118 #, fuzzy msgid "XMP Dynamic Media schema" msgstr "Zone dynamique" #: src/properties.cpp:119 msgid "Microsoft Photo schema" msgstr "" #: src/properties.cpp:120 #, fuzzy msgid "Adobe Lightroom schema" msgstr "Décompression Adobe" #: src/properties.cpp:121 #, fuzzy msgid "Adobe PDF schema" msgstr "Décompression Adobe" #: src/properties.cpp:122 #, fuzzy msgid "Adobe photoshop schema" msgstr "Décompression Adobe" #: src/properties.cpp:123 #, fuzzy msgid "Camera Raw schema" msgstr "Marque de l'appareil" #: src/properties.cpp:124 msgid "Exif Schema for TIFF Properties" msgstr "" #: src/properties.cpp:125 msgid "Exif schema for Exif-specific Properties" msgstr "" #: src/properties.cpp:126 msgid "Exif schema for Additional Exif Properties" msgstr "" #: src/properties.cpp:127 src/properties.cpp:128 msgid "IPTC Core schema" msgstr "" #: src/properties.cpp:129 src/properties.cpp:130 msgid "IPTC Extension schema" msgstr "" #: src/properties.cpp:131 msgid "PLUS License Data Format schema" msgstr "" #: src/properties.cpp:132 #, fuzzy msgid "iView Media Pro schema" msgstr "Zone dynamique" #: src/properties.cpp:133 msgid "Expression Media schema" msgstr "" #: src/properties.cpp:134 msgid "Microsoft Photo 1.2 schema" msgstr "" #: src/properties.cpp:135 msgid "Microsoft Photo RegionInfo schema" msgstr "" #: src/properties.cpp:136 msgid "Microsoft Photo Region schema" msgstr "" #: src/properties.cpp:137 msgid "Metadata Working Group Regions schema" msgstr "" #: src/properties.cpp:138 msgid "Metadata Working Group Keywords schema" msgstr "" #: src/properties.cpp:139 #, fuzzy msgid "XMP Extended Video schema" msgstr "Zone dynamique" #: src/properties.cpp:140 #, fuzzy msgid "XMP Extended Audio schema" msgstr "Zone dynamique" #: src/properties.cpp:141 #, fuzzy msgid "XMP Darwin Core schema" msgstr "Zone dynamique" #: src/properties.cpp:142 #, fuzzy msgid "Qualified Dublin Core schema" msgstr "Zone dynamique" #: src/properties.cpp:143 #, fuzzy msgid "ACDSee XMP schema" msgstr "Décompression Adobe" #: src/properties.cpp:144 msgid "Google Photo Sphere XMP schema" msgstr "" #: src/properties.cpp:148 #, fuzzy msgid "Colorant structure" msgstr "Température des couleurs" #: src/properties.cpp:149 #, fuzzy msgid "Dimensions structure" msgstr "Structure des données de l'image" #: src/properties.cpp:150 #, fuzzy msgid "Font structure" msgstr "Structure des donnée Exif" #: src/properties.cpp:151 #, fuzzy msgid "Thumbnail structure" msgstr "Décalage aperçu" #: src/properties.cpp:152 #, fuzzy msgid "Resource Event structure" msgstr "Structure des donnée Exif" #: src/properties.cpp:153 #, fuzzy msgid "ResourceRef structure" msgstr "Structure des donnée Exif" #: src/properties.cpp:154 #, fuzzy msgid "Version structure" msgstr "Structure des donnée Exif" #: src/properties.cpp:155 msgid "Basic Job/Workflow structure" msgstr "" #: src/properties.cpp:156 #, fuzzy msgid "Area structure" msgstr "Température des couleurs" #: src/properties.cpp:159 msgid "Qualifier for xmp:Identifier" msgstr "" #: src/properties.cpp:163 #, fuzzy msgid "Contributor" msgstr "Continue" #: src/properties.cpp:163 msgid "Contributors to the resource (other than the authors)." msgstr "" #: src/properties.cpp:164 #, fuzzy msgid "Coverage" msgstr "Moyenne" #: src/properties.cpp:164 msgid "" "The spatial or temporal topic of the resource, the spatial applicability of " "the resource, or the jurisdiction under which the resource is relevant." msgstr "" #: src/properties.cpp:166 #, fuzzy msgid "Creator" msgstr "Catégorie" #: src/properties.cpp:166 msgid "" "The authors of the resource (listed in order of precedence, if significant)." msgstr "" #: src/properties.cpp:167 msgid "Date(s) that something interesting happened to the resource." msgstr "" #: src/properties.cpp:168 msgid "" "A textual description of the content of the resource. Multiple values may be " "present for different languages." msgstr "" #: src/properties.cpp:170 src/properties.cpp:1160 #, fuzzy msgid "Format" msgstr "Format du fichier" #: src/properties.cpp:170 msgid "" "The file format used when saving the resource. Tools and applications should " "set this property to the save format of the data. It may include appropriate " "qualifiers." msgstr "" #: src/properties.cpp:172 src/properties.cpp:228 #, fuzzy msgid "Identifier" msgstr "Identifiant ARM" #: src/properties.cpp:172 msgid "" "Unique identifier of the resource. Recommended best practice is to identify " "the resource by means of a string conforming to a formal identification " "system." msgstr "" #: src/properties.cpp:174 msgid "An unordered array specifying the languages used in the resource." msgstr "" #: src/properties.cpp:175 msgid "Publisher" msgstr "" #: src/properties.cpp:175 msgid "" "An entity responsible for making the resource available. Examples of a " "Publisher include a person, an organization, or a service. Typically, the " "name of a Publisher should be used to indicate the entity." msgstr "" #: src/properties.cpp:178 #, fuzzy msgid "Relation" msgstr "Rotation" #: src/properties.cpp:178 msgid "" "Relationships to other documents. Recommended best practice is to identify " "the related resource by means of a string conforming to a formal " "identification system." msgstr "" #: src/properties.cpp:180 #, fuzzy msgid "Rights" msgstr "Droit" #: src/properties.cpp:180 msgid "" "Informal rights statement, selected by language. Typically, rights " "information includes a statement about various property rights associated " "with the resource, including intellectual property rights." msgstr "" #: src/properties.cpp:183 msgid "Unique identifier of the work from which this resource was derived." msgstr "" #: src/properties.cpp:184 msgid "" "An unordered array of descriptive phrases or keywords that specify the topic " "of the content of the resource." msgstr "" #: src/properties.cpp:186 msgid "" "The title of the document, or the name given to the resource. Typically, it " "will be a name by which the resource is formally known." msgstr "" #: src/properties.cpp:188 src/properties.cpp:1004 src/properties.cpp:1449 #, fuzzy msgid "Type" msgstr "type" #: src/properties.cpp:188 msgid "A document type; for example, novel, poem, or working paper." msgstr "" #: src/properties.cpp:194 msgid "Tags List" msgstr "" #: src/properties.cpp:194 msgid "" "The list of complete tags path as string. The path hierarchy is separated by " "'/' character (ex.: \"City/Paris/Monument/Eiffel Tower\"." msgstr "" #: src/properties.cpp:195 #, fuzzy msgid "Captions Author Names" msgstr "Libellé du pays" #: src/properties.cpp:195 msgid "" "The list of all captions author names for each language alternative captions " "set in standard XMP tags." msgstr "" #: src/properties.cpp:196 #, fuzzy msgid "Captions Date Time Stamps" msgstr "mise à jour de l'horodatage" #: src/properties.cpp:196 msgid "" "The list of all captions date time stamps for each language alternative " "captions set in standard XMP tags." msgstr "" #: src/properties.cpp:197 src/tags.cpp:844 #, fuzzy msgid "Image History" msgstr "Hauteur de l'image" #: src/properties.cpp:197 msgid "" "An XML based content to list all action processed on this image with image " "editor (as crop, rotate, color corrections, adjustments, etc.)." msgstr "" #: src/properties.cpp:198 #, fuzzy msgid "Lens Correction Settings" msgstr "Réglage des données de l'objectif" #: src/properties.cpp:198 msgid "" "The list of Lens Correction tools settings used to fix lens distortion. This " "include Batch Queue Manager and Image editor tools based on LensFun library." msgstr "" #: src/properties.cpp:199 #, fuzzy msgid "Color Label" msgstr "Espace des couleurs" #: src/properties.cpp:199 msgid "" "The color label assigned to this item. Possible values are \"0\": no label; " "\"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": " "Magenta; \"7\": Gray; \"8\": Black; \"9\": White." msgstr "" #: src/properties.cpp:200 #, fuzzy msgid "Pick Label" msgstr "Grande" #: src/properties.cpp:200 msgid "" "The pick label assigned to this item. Possible values are \"0\": no label; " "\"1\": item rejected; \"2\": item in pending validation; \"3\": item " "accepted." msgstr "" #: src/properties.cpp:206 #, fuzzy msgid "Panorama Input Files" msgstr "Frame panorama" #: src/properties.cpp:206 msgid "The list of files processed with Hugin program through Panorama tool." msgstr "" #: src/properties.cpp:207 msgid "Enfuse Input Files" msgstr "" #: src/properties.cpp:207 msgid "" "The list of files processed with Enfuse program through ExpoBlending tool." msgstr "" #: src/properties.cpp:208 #, fuzzy msgid "Enfuse Settings" msgstr "Réglage flash" #: src/properties.cpp:208 msgid "" "The list of Enfuse settings used to blend image stack with ExpoBlending tool." msgstr "" #: src/properties.cpp:209 msgid "PicasaWeb Item ID" msgstr "" #: src/properties.cpp:209 msgid "Item ID from PicasaWeb web service." msgstr "" #: src/properties.cpp:210 msgid "Yandex Fotki Item ID" msgstr "" #: src/properties.cpp:210 msgid "Item ID from Yandex Fotki web service." msgstr "" #: src/properties.cpp:216 #, fuzzy msgid "Advisory" msgstr "Audio" #: src/properties.cpp:216 msgid "" "An unordered array specifying properties that were edited outside the " "authoring application. Each item should contain a single namespace and XPath " "separated by one ASCII space (U+0020)." msgstr "" #: src/properties.cpp:219 src/properties.cpp:1066 msgid "Base URL" msgstr "" #: src/properties.cpp:219 msgid "" "The base URL for relative URLs in the document content. If this document " "contains Internet links, and those links are relative, they are relative to " "this base URL. This property provides a standard way for embedded relative " "URLs to be interpreted by tools. Web authoring tools should set the value " "based on their notion of where URLs will be interpreted." msgstr "" #: src/properties.cpp:224 #, fuzzy msgid "Create Date" msgstr "Date de publication" #: src/properties.cpp:224 #, fuzzy msgid "The date and time the resource was originally created." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:225 #, fuzzy msgid "Creator Tool" msgstr "Catégorie" #: src/properties.cpp:225 msgid "" "The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of xmpMM:" "History's softwareAgent property." msgstr "" #: src/properties.cpp:228 msgid "" "An unordered array of text strings that unambiguously identify the resource " "within a given context. An array item may be qualified with xmpidq:Scheme to " "denote the formal identification system to which that identifier conforms. " "Note: The dc:identifier property is not used because it lacks a defined " "scheme qualifier and has been defined in the XMP Specification as a simple " "(single-valued) property." msgstr "" #: src/properties.cpp:233 #, fuzzy msgid "Label" msgstr "Grande" #: src/properties.cpp:233 msgid "" "A word or short phrase that identifies a document as a member of a user-" "defined collection. Used to organize documents in a file browser." msgstr "" #: src/properties.cpp:235 #, fuzzy msgid "Metadata Date" msgstr "Date Minolta" #: src/properties.cpp:235 msgid "" "The date and time that any metadata for this resource was last changed. It " "should be the same as or more recent than xmp:ModifyDate." msgstr "" #: src/properties.cpp:237 #, fuzzy msgid "Modify Date" msgstr "Date Minolta" #: src/properties.cpp:237 msgid "" "The date and time the resource was last modified. Note: The value of this " "property is not necessarily the same as the file's system modification date " "because it is set before the file is saved." msgstr "" #: src/properties.cpp:240 #, fuzzy msgid "Nickname" msgstr "Nom du propriétaire" #: src/properties.cpp:240 msgid "A short informal name for the resource." msgstr "" #: src/properties.cpp:241 src/properties.cpp:1288 src/properties.cpp:2104 #, fuzzy msgid "Rating" msgstr "Rotation" #: src/properties.cpp:241 msgid "" "A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within " "an application-defined range." msgstr "" #: src/properties.cpp:244 #, fuzzy msgid "Thumbnails" msgstr "Miniature" #: src/properties.cpp:244 msgid "" "An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding." msgstr "" #: src/properties.cpp:251 msgid "Certificate" msgstr "" #: src/properties.cpp:251 msgid "Online rights management certificate." msgstr "" #: src/properties.cpp:252 #, fuzzy msgid "Marked" msgstr "Dur" #: src/properties.cpp:252 msgid "Indicates that this is a rights-managed resource." msgstr "" #: src/properties.cpp:253 #, fuzzy msgid "Owner" msgstr "Nom du propriétaire" #: src/properties.cpp:253 msgid "An unordered array specifying the legal owner(s) of a resource." msgstr "" #: src/properties.cpp:254 msgid "Usage Terms" msgstr "" #: src/properties.cpp:254 msgid "Text instructions on how a resource can be legally used." msgstr "" #: src/properties.cpp:255 #, fuzzy msgid "Web Statement" msgstr "8-segments" #: src/properties.cpp:255 msgid "" "The location of a web page describing the owner and/or rights statement for " "this resource." msgstr "" #: src/properties.cpp:261 msgid "Derived From" msgstr "Mode contrôle" #: src/properties.cpp:261 msgid "" "A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For " "example, a new version might only need to specify the instance ID and " "version number of the previous version, or a rendition might only need to " "specify the instance ID and rendition class of the original." msgstr "" #: src/properties.cpp:266 #, fuzzy msgid "Document ID" msgstr "Nom du document" #: src/properties.cpp:266 msgid "" "The common identifier for all versions and renditions of a document. It " "should be based on a UUID; see Document and Instance IDs below." msgstr "" #: src/properties.cpp:268 #, fuzzy msgid "History" msgstr "Hauteur de l'image" #: src/properties.cpp:268 msgid "" "An ordered array of high-level user actions that resulted in this resource. " "It is intended to give human readers a general indication of the steps taken " "to make the changes from the previous version to this one. The list should " "be at an abstract level; it is not intended to be an exhaustive keystroke or " "other detailed history." msgstr "" #: src/properties.cpp:272 #, fuzzy msgid "Instance ID" msgstr "Entrelacé" #: src/properties.cpp:272 msgid "" "An identifier for a specific incarnation of a document, updated each time a " "file is saved. It should be based on a UUID; see Document and Instance IDs " "below." msgstr "" #: src/properties.cpp:274 #, fuzzy msgid "Managed From" msgstr "Langue" #: src/properties.cpp:274 msgid "" "A reference to the document as it was prior to becoming managed. It is set " "when a managed document is introduced to an asset management system that " "does not currently own it. It may or may not include references to different " "management systems." msgstr "" #: src/properties.cpp:277 #, fuzzy msgid "Manager" msgstr "Langue" #: src/properties.cpp:277 msgid "" "The name of the asset management system that manages this resource. Along " "with xmpMM: ManagerVariant, it tells applications which asset management " "system to contact concerning this document." msgstr "" #: src/properties.cpp:280 #, fuzzy msgid "Manage To" msgstr "Langue" #: src/properties.cpp:280 msgid "" "A URI identifying the managed resource to the asset management system; the " "presence of this property is the formal indication that this resource is " "managed. The form and content of this URI is private to the asset management " "system." msgstr "" #: src/properties.cpp:283 #, fuzzy msgid "Manage UI" msgstr "Langue" #: src/properties.cpp:283 msgid "" "A URI that can be used to access information about the managed resource " "through a web browser. It might require a custom browser plug-in." msgstr "" #: src/properties.cpp:285 #, fuzzy msgid "Manager Variant" msgstr "Langue" #: src/properties.cpp:285 msgid "" "Specifies a particular variant of the asset management system. The format of " "this property is private to the specific asset management system." msgstr "" #: src/properties.cpp:287 #, fuzzy msgid "Rendition Class" msgstr "Paramètre de distorsion de l'objectif" #: src/properties.cpp:287 msgid "" "The rendition class name for this resource. This property should be absent " "or set to default for a document version that is not a derived rendition." msgstr "" #: src/properties.cpp:289 #, fuzzy msgid "Rendition Params" msgstr "Paramètre de distorsion de l'objectif" #: src/properties.cpp:289 msgid "" "Can be used to provide additional rendition parameters that are too complex " "or verbose to encode in xmpMM: RenditionClass." msgstr "" #: src/properties.cpp:291 #, fuzzy msgid "Version ID" msgstr "ID version GPS" #: src/properties.cpp:291 msgid "" "The document version identifier for this resource. Each version of a " "document gets a new identifier, usually simply by incrementing integers 1, " "2, 3 . . . and so on. Media management systems can have other conventions or " "support branching which requires a more complex scheme." msgstr "" #: src/properties.cpp:295 #, fuzzy msgid "Versions" msgstr "Version" #: src/properties.cpp:295 msgid "" "The version history associated with this resource. Entry [1] is the oldest " "known version for this document, entry [last()] is the most recent version. " "Typically, a media management system would fill in the version information " "in the metadata on check-in. It is not guaranteed that a complete history " "versions from the first to this one will be present in the xmpMM:Versions " "property. Interior version information can be compressed or eliminated and " "the version history can be truncated at some point." msgstr "" #: src/properties.cpp:301 msgid "Last URL" msgstr "" #: src/properties.cpp:301 msgid "Deprecated for privacy protection." msgstr "" #: src/properties.cpp:302 #, fuzzy msgid "Rendition Of" msgstr "Paramètre de distorsion de l'objectif" #: src/properties.cpp:302 msgid "" "Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of " "which this is a rendition." msgstr "" #: src/properties.cpp:304 #, fuzzy msgid "Save ID" msgstr "Identifiant appareil photo" #: src/properties.cpp:304 msgid "Deprecated. Previously used only to support the xmpMM:LastURL property." msgstr "" #: src/properties.cpp:310 #, fuzzy msgid "Job Reference" msgstr "Date de référence" #: src/properties.cpp:310 msgid "" "References an external job management file for a job process in which the " "document is being used. Use of job names is under user control. Typical use " "would be to identify all documents that are part of a particular job or " "contract. There are multiple values because there can be more than one job " "using a particular document at any time, and it can also be useful to keep " "historical information about what jobs a document was part of previously." msgstr "" #: src/properties.cpp:319 #, fuzzy msgid "Maximum Page Size" msgstr "Taille de l'image" #: src/properties.cpp:319 msgid "" "The size of the largest page in the document (including any in contained " "documents)." msgstr "" #: src/properties.cpp:320 #, fuzzy msgid "Number of Pages" msgstr "Le nombre F." #: src/properties.cpp:320 msgid "" "The number of pages in the document (including any in contained documents)." msgstr "" #: src/properties.cpp:321 #, fuzzy msgid "Fonts" msgstr "Points AF" #: src/properties.cpp:321 msgid "" "An unordered array of fonts that are used in the document (including any in " "contained documents)." msgstr "" #: src/properties.cpp:322 #, fuzzy msgid "Colorants" msgstr "Couleur" #: src/properties.cpp:322 msgid "" "An ordered array of colorants (swatches) that are used in the document " "(including any in contained documents)." msgstr "" #: src/properties.cpp:323 #, fuzzy msgid "Plate Names" msgstr "Nom du propriétaire" #: src/properties.cpp:323 msgid "" "An ordered array of plate names that are needed to print the document " "(including any in contained documents)." msgstr "" #: src/properties.cpp:329 src/properties.cpp:1285 #, fuzzy msgid "Project Reference" msgstr "Date de référence" #: src/properties.cpp:329 src/properties.cpp:1285 msgid "A reference to the project that created this file." msgstr "" #: src/properties.cpp:330 src/properties.cpp:1163 #, fuzzy msgid "Video Frame Rate" msgstr "Débit audio" #: src/properties.cpp:330 msgid "The video frame rate. One of: 24, NTSC, PAL." msgstr "" #: src/properties.cpp:331 src/properties.cpp:1164 #, fuzzy msgid "Video Frame Size" msgstr "Espace des couleurs" #: src/properties.cpp:331 src/properties.cpp:1164 msgid "The frame size. For example: w:720, h: 480, unit:pixels" msgstr "" #: src/properties.cpp:332 msgid "Video Pixel Aspect Ratio" msgstr "" #: src/properties.cpp:332 msgid "The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9" msgstr "" #: src/properties.cpp:333 src/properties.cpp:1261 #, fuzzy msgid "Video Pixel Depth" msgstr "Ordre de remplissage" #: src/properties.cpp:333 src/properties.cpp:1261 msgid "" "The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:335 src/properties.cpp:1081 #, fuzzy msgid "Video Color Space" msgstr "Espace des couleurs" #: src/properties.cpp:335 src/properties.cpp:1081 msgid "" "The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD)." msgstr "" #: src/properties.cpp:337 #, fuzzy msgid "Video Alpha Mode" msgstr "Modèle Minolta" #: src/properties.cpp:337 msgid "The alpha mode. One of: straight, pre-multiplied." msgstr "" #: src/properties.cpp:338 msgid "Video Alpha Premultiple Color" msgstr "" #: src/properties.cpp:338 msgid "" "A color in CMYK or RGB to be used as the pre-multiple color when alpha mode " "is pre-multiplied." msgstr "" #: src/properties.cpp:340 msgid "Video Alpha Unity Is Transparent" msgstr "" #: src/properties.cpp:340 msgid "When true, unity is clear, when false, it is opaque." msgstr "" #: src/properties.cpp:341 #, fuzzy msgid "Video Compressor" msgstr "Compression" #: src/properties.cpp:341 msgid "Video compression used. For example, jpeg." msgstr "" #: src/properties.cpp:342 #, fuzzy msgid "Video Field Order" msgstr "Ordre de remplissage" #: src/properties.cpp:342 msgid "The field order for video. One of: Upper, Lower, Progressive." msgstr "" #: src/properties.cpp:343 #, fuzzy msgid "Pull Down" msgstr "Bas" #: src/properties.cpp:343 msgid "" "The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, " "WWWSS_24p, WWSSW_24p." msgstr "" #: src/properties.cpp:345 src/properties.cpp:1425 #, fuzzy msgid "Audio Sample Rate" msgstr "Débit audio" #: src/properties.cpp:345 src/properties.cpp:1425 msgid "" "The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000." msgstr "" #: src/properties.cpp:346 src/properties.cpp:1426 #, fuzzy msgid "Audio Sample Type" msgstr "Type audio" #: src/properties.cpp:346 src/properties.cpp:1426 msgid "The audio sample type. One of: 8Int, 16Int, 32Int, 32Float." msgstr "" #: src/properties.cpp:347 src/properties.cpp:1400 #, fuzzy msgid "Audio Channel Type" msgstr "Type audio" #: src/properties.cpp:347 src/properties.cpp:1400 msgid "The audio channel type. One of: Mono, Stereo, 5.1, 7.1." msgstr "" #: src/properties.cpp:348 src/properties.cpp:1407 #, fuzzy msgid "Audio Compressor" msgstr "Compression" #: src/properties.cpp:348 src/properties.cpp:1407 msgid "The audio compression used. For example, MP3." msgstr "" #: src/properties.cpp:349 msgid "Speaker Placement" msgstr "" #: src/properties.cpp:349 msgid "" "A description of the speaker angles from center front in degrees. For " "example: \"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = " "-110, Right Surround = 110\"" msgstr "" #: src/properties.cpp:351 src/properties.cpp:1149 #, fuzzy msgid "File Data Rate" msgstr "Date Minolta" #: src/properties.cpp:351 src/properties.cpp:1149 msgid "" "The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/" "sec" msgstr "" #: src/properties.cpp:352 src/properties.cpp:1334 #, fuzzy msgid "Tape Name" msgstr "Nom du propriétaire" #: src/properties.cpp:352 msgid "" "The name of the tape from which the clip was captured, as set during the " "capture process." msgstr "" #: src/properties.cpp:353 #, fuzzy msgid "Alternative Tape Name" msgstr "Nom du propriétaire" #: src/properties.cpp:353 msgid "" "An alternative tape name, set via the project window or timecode dialog in " "Premiere. If an alternative name has been set and has not been reverted, " "that name is displayed." msgstr "" #: src/properties.cpp:355 #, fuzzy msgid "Start Time Code" msgstr "Mode mise au point automatique" #: src/properties.cpp:355 msgid "" "The timecode of the first frame of video in the file, as obtained from the " "device control." msgstr "" #: src/properties.cpp:356 #, fuzzy msgid "Alternative Time code" msgstr "Mode mise au point automatique" #: src/properties.cpp:356 msgid "" "A timecode set by the user. When specified, it is used instead of the " "startTimecode." msgstr "" #: src/properties.cpp:357 src/properties.cpp:1124 #, fuzzy msgid "Duration" msgstr "Saturation" #: src/properties.cpp:357 #, fuzzy msgid "The duration of the media file." msgstr "Le type de source lumineuse." #: src/properties.cpp:358 #, fuzzy msgid "Scene" msgstr "centre" #: src/properties.cpp:358 #, fuzzy msgid "The name of the scene." msgstr "Le type de source lumineuse." #: src/properties.cpp:359 #, fuzzy msgid "Shot Name" msgstr "Libellé du pays" #: src/properties.cpp:359 #, fuzzy msgid "The name of the shot or take." msgstr "Le type de source lumineuse." #: src/properties.cpp:360 #, fuzzy msgid "Shot Date" msgstr "Date d'envoi" #: src/properties.cpp:360 #, fuzzy msgid "The date and time when the video was shot." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:361 #, fuzzy msgid "Shot Location" msgstr "Lieu précis" #: src/properties.cpp:361 msgid "" "The name of the location where the video was shot. For example: " "\"Oktoberfest, Munich Germany\" For more accurate positioning, use the EXIF " "GPS values." msgstr "" #: src/properties.cpp:363 #, fuzzy msgid "Log Comment" msgstr "Commentaire Windows" #: src/properties.cpp:363 #, fuzzy msgid "User's log comments." msgstr "Commentaire de l'utilisateur" #: src/properties.cpp:364 #, fuzzy msgid "Markers" msgstr "Dur" #: src/properties.cpp:364 msgid "An ordered list of markers" msgstr "" #: src/properties.cpp:365 #, fuzzy msgid "Contributed Media" msgstr "Continue" #: src/properties.cpp:365 msgid "An unordered list of all media used to create this media." msgstr "" #: src/properties.cpp:366 msgid "Absolute Peak Audio File Path" msgstr "" #: src/properties.cpp:366 msgid "" "The absolute path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:367 msgid "Relative Peak Audio File Path" msgstr "" #: src/properties.cpp:367 msgid "" "The relative path to the file's peak audio file. If empty, no peak file " "exists." msgstr "" #: src/properties.cpp:368 #, fuzzy msgid "Video Modified Date" msgstr "Date Minolta" #: src/properties.cpp:368 #, fuzzy msgid "The date and time when the video was last modified." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:369 #, fuzzy msgid "Audio Modified Date" msgstr "Débit audio" #: src/properties.cpp:369 #, fuzzy msgid "The date and time when the audio was last modified." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:370 #, fuzzy msgid "Metadata Modified Date" msgstr "Date Minolta" #: src/properties.cpp:370 #, fuzzy msgid "The date and time when the metadata was last modified." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:371 src/properties.cpp:546 src/properties.cpp:1058 #: src/tags.cpp:556 msgid "Artist" msgstr "Artiste" #: src/properties.cpp:371 src/properties.cpp:1058 #, fuzzy msgid "The name of the artist or artists." msgstr "Le type de source lumineuse." #: src/properties.cpp:372 src/properties.cpp:1054 #, fuzzy msgid "Album" msgstr "Évaluatif" #: src/properties.cpp:372 src/properties.cpp:1054 #, fuzzy msgid "The name of the album." msgstr "Le type de source lumineuse." #: src/properties.cpp:373 src/properties.cpp:1366 #, fuzzy msgid "Track Number" msgstr "Numéro frame" #: src/properties.cpp:373 msgid "" "A numeric value indicating the order of the audio file within its original " "recording." msgstr "" #: src/properties.cpp:374 src/properties.cpp:1166 #, fuzzy msgid "Genre" msgstr "Centré" #: src/properties.cpp:374 src/properties.cpp:1166 #, fuzzy msgid "The name of the genre." msgstr "Le type de source lumineuse." #: src/properties.cpp:375 #, fuzzy msgid "The copyright information." msgstr "Informations prise de vue" #: src/properties.cpp:376 #, fuzzy msgid "The date the title was released." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:377 src/properties.cpp:1086 #, fuzzy msgid "Composer" msgstr "composant" #: src/properties.cpp:377 msgid "The composer's name." msgstr "" #: src/properties.cpp:378 src/properties.cpp:1143 #, fuzzy msgid "Engineer" msgstr "centre" #: src/properties.cpp:378 msgid "The engineer's name." msgstr "" #: src/properties.cpp:379 msgid "Tempo" msgstr "" #: src/properties.cpp:379 msgid "The audio's tempo." msgstr "" #: src/properties.cpp:380 #, fuzzy msgid "Instrument" msgstr "Heure Minolta" #: src/properties.cpp:380 msgid "The musical instrument." msgstr "" #: src/properties.cpp:381 #, fuzzy msgid "Intro Time" msgstr "Heure Minolta" #: src/properties.cpp:381 #, fuzzy msgid "The duration of lead time for queuing music." msgstr "Le type de source lumineuse." #: src/properties.cpp:382 msgid "Out Cue" msgstr "" #: src/properties.cpp:382 msgid "The time at which to fade out." msgstr "" #: src/properties.cpp:383 #, fuzzy msgid "Relative Timestamp" msgstr "mise à jour de l'horodatage" #: src/properties.cpp:383 msgid "The start time of the media inside the audio project." msgstr "" #: src/properties.cpp:384 #, fuzzy msgid "Loop" msgstr "Faible réduction du gain" #: src/properties.cpp:384 msgid "When true, the clip can be looped seamlessly." msgstr "" #: src/properties.cpp:385 #, fuzzy msgid "Number Of Beats" msgstr "Le nombre F." #: src/properties.cpp:385 #, fuzzy msgid "The number of beats." msgstr "Le nombre F." #: src/properties.cpp:386 #, fuzzy msgid "Key" msgstr "Clef basse" #: src/properties.cpp:386 msgid "" "The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B." msgstr "" #: src/properties.cpp:387 #, fuzzy msgid "Stretch Mode" msgstr "Mode ajustement" #: src/properties.cpp:387 msgid "" "The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat " "Splice, Hybrid." msgstr "" #: src/properties.cpp:388 msgid "Time Scale Parameters" msgstr "" #: src/properties.cpp:388 msgid "Additional parameters for Time-Scale stretch mode." msgstr "" #: src/properties.cpp:389 msgid "Resample Parameters" msgstr "" #: src/properties.cpp:389 msgid "Additional parameters for Resample stretch mode." msgstr "" #: src/properties.cpp:390 msgid "Beat Splice Parameters" msgstr "" #: src/properties.cpp:390 msgid "Additional parameters for Beat Splice stretch mode." msgstr "" #: src/properties.cpp:391 #, fuzzy msgid "Time Signature" msgstr "Heure d'envoi" #: src/properties.cpp:391 msgid "" "The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, " "12/8, other." msgstr "" #: src/properties.cpp:392 #, fuzzy msgid "Scale Type" msgstr "Type d'image" #: src/properties.cpp:392 msgid "" "The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as " "drums." msgstr "" #: src/properties.cpp:399 src/tags.cpp:1078 #, fuzzy msgid "Camera Serial Number" msgstr "Numéro de série de l'appareil photo" #: src/properties.cpp:399 #, fuzzy msgid "Camera Serial Number." msgstr "Numéro de série de l'appareil photo" #: src/properties.cpp:400 #, fuzzy msgid "Date Acquired" msgstr "Date de création" #: src/properties.cpp:400 #, fuzzy msgid "Date Acquired." msgstr "Date de création" #: src/properties.cpp:401 #, fuzzy msgid "Flash Manufacturer" msgstr "Constructeur" #: src/properties.cpp:401 #, fuzzy msgid "Flash Manufacturer." msgstr "Constructeur" #: src/properties.cpp:402 #, fuzzy msgid "Flash Model." msgstr "Mode flash" #: src/properties.cpp:403 #, fuzzy msgid "Last Keyword IPTC" msgstr "Mots-clés" #: src/properties.cpp:403 #, fuzzy msgid "Last Keyword IPTC." msgstr "Mots-clés" #: src/properties.cpp:404 #, fuzzy msgid "Last Keyword XMP" msgstr "Mots-clés" #: src/properties.cpp:404 #, fuzzy msgid "Last Keyword XMP." msgstr "Mots-clés" #: src/properties.cpp:405 #, fuzzy msgid "Lens Manufacturer" msgstr "Constructeur" #: src/properties.cpp:405 #, fuzzy msgid "Lens Manufacturer." msgstr "Constructeur" #: src/properties.cpp:406 src/properties.cpp:1199 #, fuzzy msgid "Lens Model." msgstr "Mode scène" #: src/properties.cpp:407 #, fuzzy msgid "Rating Percent" msgstr "Classement Windows (pourcentage)" #: src/properties.cpp:407 #, fuzzy msgid "Rating Percent." msgstr "Classement Windows (pourcentage)" #: src/properties.cpp:413 msgid "Hierarchical Subject" msgstr "" #: src/properties.cpp:413 msgid "Adobe Lightroom hierarchical keywords." msgstr "" #: src/properties.cpp:414 #, fuzzy msgid "Private RTK Info" msgstr "Infos image" #: src/properties.cpp:414 msgid "Adobe Lightroom private RTK info." msgstr "" #: src/properties.cpp:420 msgid "Keywords." msgstr "Mots-clés" #: src/properties.cpp:421 #, fuzzy msgid "PDF Version" msgstr "Version du fichier" #: src/properties.cpp:421 msgid "The PDF file version (for example: 1.0, 1.3, and so on)." msgstr "" #: src/properties.cpp:422 src/properties.cpp:1278 #, fuzzy msgid "Producer" msgstr "Identifiant du produit" #: src/properties.cpp:422 #, fuzzy msgid "The name of the tool that created the PDF document." msgstr "Le type de source lumineuse." #: src/properties.cpp:428 #, fuzzy msgid "Authors Position" msgstr "Position mise au point" #: src/properties.cpp:428 #, fuzzy msgid "By-line title." msgstr "Titre du créateur" #: src/properties.cpp:429 #, fuzzy msgid "Caption Writer" msgstr "Légende" #: src/properties.cpp:429 #, fuzzy msgid "Writer/editor." msgstr "Auteur de la Description" #: src/properties.cpp:430 msgid "Category. Limited to 3 7-bit ASCII characters." msgstr "" #: src/properties.cpp:431 #, fuzzy msgid "City." msgstr "Ville" #: src/properties.cpp:432 msgid "Country/primary location." msgstr "" #: src/properties.cpp:433 #, fuzzy msgid "Credit." msgstr "Crédit" #: src/properties.cpp:434 msgid "" "The date the intellectual content of the document was created (rather than " "the creation date of the physical representation), following IIM " "conventions. For example, a photo taken during the American Civil War would " "have a creation date during that epoch (1861-1865) rather than the date the " "photo was digitized for archiving." msgstr "" #: src/properties.cpp:438 #, fuzzy msgid "Headline." msgstr "Chapô" #: src/properties.cpp:439 #, fuzzy msgid "Special instructions." msgstr "Instructions particulières" #: src/properties.cpp:440 src/properties.cpp:1306 #, fuzzy msgid "Source." msgstr "Source" #: src/properties.cpp:441 #, fuzzy msgid "Province/state." msgstr "État Région" #: src/properties.cpp:442 #, fuzzy msgid "Supplemental category." msgstr "Catégorie Supplémentaire" #: src/properties.cpp:443 #, fuzzy msgid "Original transmission reference." msgstr "Référence de la transmission" #: src/properties.cpp:444 msgid "Urgency. Valid range is 1-8." msgstr "" #: src/properties.cpp:452 #, fuzzy msgid "inches" msgstr "Pouce" #: src/properties.cpp:453 src/tags.cpp:246 msgid "cm" msgstr "cm" #: src/properties.cpp:457 #, fuzzy msgid "Auto Brightness" msgstr "Luminosité" #: src/properties.cpp:457 msgid "When true, \"Brightness\" is automatically adjusted." msgstr "" #: src/properties.cpp:458 #, fuzzy msgid "Auto Contrast" msgstr "Contraste" #: src/properties.cpp:458 msgid "When true, \"Contrast\" is automatically adjusted." msgstr "" #: src/properties.cpp:459 #, fuzzy msgid "Auto Exposure" msgstr "Exposition" #: src/properties.cpp:459 msgid "When true, \"Exposure\" is automatically adjusted." msgstr "" #: src/properties.cpp:460 #, fuzzy msgid "Auto Shadows" msgstr "Ombragé" #: src/properties.cpp:460 msgid "When true,\"Shadows\" is automatically adjusted." msgstr "" #: src/properties.cpp:461 #, fuzzy msgid "Blue Hue" msgstr "Balance des bleus" #: src/properties.cpp:461 #, fuzzy msgid "\"Blue Hue\" setting. Range -100 to 100." msgstr "Réglage de saturation" #: src/properties.cpp:462 #, fuzzy msgid "Blue Saturation" msgstr "Saturation" #: src/properties.cpp:462 #, fuzzy msgid "\"Blue Saturation\" setting. Range -100 to +100." msgstr "Réglage de saturation" #: src/properties.cpp:463 #, fuzzy msgid "\"Brightness\" setting. Range 0 to +150." msgstr "Réglage de Netteté" #: src/properties.cpp:464 #, fuzzy msgid "Camera Profile" msgstr "Profil couleur" #: src/properties.cpp:464 #, fuzzy msgid "\"Camera Profile\" setting." msgstr "Réglage appareil photo" #: src/properties.cpp:465 #, fuzzy msgid "Chromatic Aberration Blue" msgstr "Réglage de saturation chromatique" #: src/properties.cpp:465 #, fuzzy msgid "" "\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100." msgstr "Réglage de saturation" #: src/properties.cpp:466 #, fuzzy msgid "Chromatic Aberration Red" msgstr "Réglage de saturation chromatique" #: src/properties.cpp:466 #, fuzzy msgid "" "\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100." msgstr "Réglage de saturation" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "Color Noise Reduction" msgstr "Réduction du bruit" #: src/properties.cpp:467 src/properties.cpp:1080 #, fuzzy msgid "\"Color Noise Reduction\" setting. Range 0 to +100." msgstr "Réglage de saturation" #: src/properties.cpp:468 #, fuzzy msgid "\"Contrast\" setting. Range -50 to +100." msgstr "Réglage de saturation" #: src/properties.cpp:469 msgid "When \"Has Crop\" is true, top of crop rectangle" msgstr "" #: src/properties.cpp:470 msgid "When \"Has Crop\" is true, left of crop rectangle." msgstr "" #: src/properties.cpp:471 #, fuzzy msgid "Crop Bottom" msgstr "Bas" #: src/properties.cpp:471 msgid "When \"Has Crop\" is true, bottom of crop rectangle." msgstr "" #: src/properties.cpp:472 #, fuzzy msgid "Crop Right" msgstr "Droit d'auteur" #: src/properties.cpp:472 msgid "When \"Has Crop\" is true, right of crop rectangle." msgstr "" #: src/properties.cpp:473 #, fuzzy msgid "Crop Angle" msgstr "haut, gauche" #: src/properties.cpp:473 msgid "When \"Has Crop\" is true, angle of crop rectangle." msgstr "" #: src/properties.cpp:474 msgid "Width of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:475 msgid "Height of resulting cropped image in CropUnits units." msgstr "" #: src/properties.cpp:476 #, fuzzy msgid "Crop Units" msgstr "Droit d'auteur" #: src/properties.cpp:476 msgid "Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm" msgstr "" #: src/properties.cpp:477 #, fuzzy msgid "\"Exposure\" setting. Range -4.0 to +4.0." msgstr "Réglage de Netteté" #: src/properties.cpp:478 #, fuzzy msgid "Green Hue" msgstr "Mode contrôle" #: src/properties.cpp:478 #, fuzzy msgid "\"Green Hue\" setting. Range -100 to +100." msgstr "Réglage de saturation" #: src/properties.cpp:479 #, fuzzy msgid "Green Saturation" msgstr "Saturation" #: src/properties.cpp:479 #, fuzzy msgid "\"Green Saturation\" setting. Range -100 to +100." msgstr "Réglage de saturation" #: src/properties.cpp:480 #, fuzzy msgid "Has Crop" msgstr "Compensation Flash" #: src/properties.cpp:480 msgid "When true, image has a cropping rectangle." msgstr "" #: src/properties.cpp:481 #, fuzzy msgid "Has Settings" msgstr "Réglage flash" #: src/properties.cpp:481 msgid "When true, non-default camera raw settings." msgstr "" #: src/properties.cpp:482 msgid "Luminance Smoothing" msgstr "" #: src/properties.cpp:482 #, fuzzy msgid "\"Luminance Smoothing\" setting. Range 0 to +100." msgstr "Réglage de saturation" #: src/properties.cpp:483 #, fuzzy msgid "Raw File Name" msgstr "Nom du fichier" #: src/properties.cpp:483 msgid "File name of raw file (not a complete path)." msgstr "" #: src/properties.cpp:484 #, fuzzy msgid "Red Hue" msgstr "tonalité" #: src/properties.cpp:484 #, fuzzy msgid "\"Red Hue\" setting. Range -100 to +100." msgstr "Réglage de saturation" #: src/properties.cpp:485 #, fuzzy msgid "Red Saturation" msgstr "Saturation" #: src/properties.cpp:485 #, fuzzy msgid "\"Red Saturation\" setting. Range -100 to +100." msgstr "Réglage de saturation" #: src/properties.cpp:486 #, fuzzy msgid "\"Saturation\" setting. Range -100 to +100." msgstr "Réglage de saturation" #: src/properties.cpp:487 #, fuzzy msgid "Shadows" msgstr "Ombragé" #: src/properties.cpp:487 #, fuzzy msgid "\"Shadows\" setting. Range 0 to +100." msgstr "Réglage de Netteté" #: src/properties.cpp:488 #, fuzzy msgid "Shadow Tint" msgstr "Ombragé" #: src/properties.cpp:488 #, fuzzy msgid "\"Shadow Tint\" setting. Range -100 to +100." msgstr "Réglage de saturation" #: src/properties.cpp:489 src/properties.cpp:1301 #, fuzzy msgid "\"Sharpness\" setting. Range 0 to +100." msgstr "Réglage de Netteté" #: src/properties.cpp:490 #, fuzzy msgid "\"Temperature\" setting. Range 2000 to 50000." msgstr "Réglage de saturation" #: src/properties.cpp:491 #, fuzzy msgid "Tint" msgstr "Le fichier" #: src/properties.cpp:491 #, fuzzy msgid "\"Tint\" setting. Range -150 to +150." msgstr "Réglage de saturation" #: src/properties.cpp:492 msgid "Tone Curve" msgstr "Courbe de tonalité" #: src/properties.cpp:492 msgid "Array of points (Integer, Integer) defining a \"Tone Curve\"." msgstr "" #: src/properties.cpp:493 #, fuzzy msgid "Tone Curve Name" msgstr "Courbe de tonalité" #: src/properties.cpp:493 msgid "" "The name of the Tone Curve described by ToneCurve. One of: Linear, Medium " "Contrast, Strong Contrast, Custom or a user-defined preset name." msgstr "" #: src/properties.cpp:495 msgid "Version of Camera Raw plugin." msgstr "" #: src/properties.cpp:496 #, fuzzy msgid "Vignette Amount" msgstr "Point blanc" #: src/properties.cpp:496 #, fuzzy msgid "\"Vignetting Amount\" setting. Range -100 to +100." msgstr "Réglage de saturation" #: src/properties.cpp:497 #, fuzzy msgid "Vignette Midpoint" msgstr "Point blanc" #: src/properties.cpp:497 #, fuzzy msgid "\"Vignetting Midpoint\" setting. Range 0 to +100." msgstr "Réglage de saturation" #: src/properties.cpp:498 src/properties.cpp:1382 msgid "" "\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, " "Tungsten, Fluorescent, Flash, Custom" msgstr "" #: src/properties.cpp:505 msgid "TIFF tag 256, 0x100. Image width in pixels." msgstr "" #: src/properties.cpp:506 src/properties.cpp:1188 src/tags.cpp:424 msgid "Image Length" msgstr "Hauteur de l'image" #: src/properties.cpp:506 msgid "TIFF tag 257, 0x101. Image height in pixels." msgstr "" #: src/properties.cpp:507 #, fuzzy msgid "Bits Per Sample" msgstr "Bits des échantillons" #: src/properties.cpp:507 msgid "TIFF tag 258, 0x102. Number of bits per component in each channel." msgstr "" #: src/properties.cpp:508 src/tags.cpp:434 msgid "Compression" msgstr "Compression" #: src/properties.cpp:508 msgid "TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG." msgstr "" #: src/properties.cpp:509 src/tags.cpp:440 msgid "Photometric Interpretation" msgstr "Interprétation photométrique" #: src/properties.cpp:509 msgid "TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr." msgstr "" #: src/properties.cpp:510 msgid "" "TIFF tag 274, 0x112. Orientation:1 = 0th row at top, 0th column at left 2 = " "0th row at top, 0th column at right 3 = 0th row at bottom, 0th column at " "right 4 = 0th row at bottom, 0th column at left 5 = 0th row at left, 0th " "column at top 6 = 0th row at right, 0th column at top 7 = 0th row at right, " "0th column at bottom 8 = 0th row at left, 0th column at bottom" msgstr "" #: src/properties.cpp:519 #, fuzzy msgid "Samples Per Pixel" msgstr "Échantillons par pixel" #: src/properties.cpp:519 msgid "TIFF tag 277, 0x115. Number of components per pixel." msgstr "" #: src/properties.cpp:520 src/tags.cpp:514 msgid "Planar Configuration" msgstr "Configuration planaire" #: src/properties.cpp:520 msgid "TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar." msgstr "" #: src/properties.cpp:521 #, fuzzy msgid "YCbCr Sub Sampling" msgstr "Sous échantillonage YCbCr" #: src/properties.cpp:521 msgid "" "TIFF tag 530, 0x212. Sampling ratio of chrominance components: [2, 1] = " "YCbCr4:2:2; [2, 2] = YCbCr4:2:0" msgstr "" #: src/properties.cpp:523 src/tags.cpp:720 msgid "YCbCr Positioning" msgstr "Positionnement YCbCr" #: src/properties.cpp:523 msgid "" "TIFF tag 531, 0x213. Position of chrominance vs. luminance components: 1 = " "centered; 2 = co-sited." msgstr "" #: src/properties.cpp:525 src/properties.cpp:1390 #, fuzzy msgid "X Resolution" msgstr "Résolution X" #: src/properties.cpp:525 msgid "TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit." msgstr "" #: src/properties.cpp:526 src/properties.cpp:1392 #, fuzzy msgid "Y Resolution" msgstr "Résolution Y" #: src/properties.cpp:526 msgid "TIFF tag 283, 0x11B. Vertical resolution in pixels per unit." msgstr "" #: src/properties.cpp:527 src/properties.cpp:1293 src/tags.cpp:532 msgid "Resolution Unit" msgstr "Unité de résolution" #: src/properties.cpp:527 msgid "" "TIFF tag 296, 0x128. Unit used for XResolution and YResolution. Value is one " "of: 2 = inches; 3 = centimeters." msgstr "" #: src/properties.cpp:529 src/tags.cpp:540 msgid "Transfer Function" msgstr "Fonction de transfert" #: src/properties.cpp:529 msgid "" "TIFF tag 301, 0x12D. Transfer function for image described in tabular style " "with 3 * 256 entries." msgstr "" #: src/properties.cpp:531 src/tags.cpp:572 msgid "White Point" msgstr "Point blanc" #: src/properties.cpp:531 msgid "TIFF tag 318, 0x13E. Chromaticity of white point." msgstr "" #: src/properties.cpp:532 src/tags.cpp:577 msgid "Primary Chromaticities" msgstr "Chromaticitées Primaire" #: src/properties.cpp:532 msgid "TIFF tag 319, 0x13F. Chromaticity of the three primary colors." msgstr "" #: src/properties.cpp:533 msgid "" "TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation." msgstr "" #: src/properties.cpp:534 #, fuzzy msgid "Reference Black White" msgstr "Noir/Blanc de Référence" #: src/properties.cpp:534 msgid "TIFF tag 532, 0x214. Reference black and white point values." msgstr "" #: src/properties.cpp:535 src/properties.cpp:2102 src/tags.cpp:552 msgid "Date and Time" msgstr "Date et heure" #: src/properties.cpp:535 msgid "" "TIFF tag 306, 0x132 (primary) and EXIF tag 37520, 0x9290 (subseconds). Date " "and time of image creation (no time zone in EXIF), stored in ISO 8601 " "format, not the original EXIF format. This property includes the value for " "the EXIF SubSecTime attribute. NOTE: This property is stored in XMP as xmp:" "ModifyDate." msgstr "" #: src/properties.cpp:541 src/tags.cpp:462 msgid "Image Description" msgstr "Description de l'image" #: src/properties.cpp:541 msgid "" "TIFF tag 270, 0x10E. Description of the image. Note: This property is stored " "in XMP as dc:description." msgstr "" #: src/properties.cpp:542 #, fuzzy msgid "Make" msgstr "Dur" #: src/properties.cpp:542 msgid "TIFF tag 271, 0x10F. Manufacturer of recording equipment." msgstr "" #: src/properties.cpp:543 msgid "TIFF tag 272, 0x110. Model name or number of equipment." msgstr "" #: src/properties.cpp:544 msgid "" "TIFF tag 305, 0x131. Software or firmware used to generate image. Note: This " "property is stored in XMP as xmp:CreatorTool. " msgstr "" #: src/properties.cpp:546 msgid "" "TIFF tag 315, 0x13B. Camera owner, photographer or image creator. Note: This " "property is stored in XMP as the first item in the dc:creator array." msgstr "" #: src/properties.cpp:548 msgid "" "TIFF tag 33432, 0x8298. Copyright information. Note: This property is stored " "in XMP as dc:rights." msgstr "" #: src/properties.cpp:555 src/tags.cpp:1605 msgid "Exif Version" msgstr "Version d'exif" #: src/properties.cpp:555 msgid "EXIF tag 36864, 0x9000. EXIF version number." msgstr "" #: src/properties.cpp:556 #, fuzzy msgid "Flashpix Version" msgstr "Version FlashPix" #: src/properties.cpp:556 msgid "EXIF tag 40960, 0xA000. Version of FlashPix." msgstr "" #: src/properties.cpp:557 msgid "EXIF tag 40961, 0xA001. Color space information" msgstr "" #: src/properties.cpp:558 src/tags.cpp:1616 #, fuzzy msgid "Components Configuration" msgstr "Configuration image" #: src/properties.cpp:558 msgid "" "EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB " "compressed data), 1 2 3 0 (other cases)." msgstr "" #: src/properties.cpp:560 src/tags.cpp:825 #, fuzzy msgid "Compressed Bits Per Pixel" msgstr "Bits compressés par pixel" #: src/properties.cpp:560 msgid "" "EXIF tag 37122, 0x9102. Compression mode used for a compressed image is " "indicated in unit bits per pixel." msgstr "" #: src/properties.cpp:562 src/tags.cpp:1700 msgid "Pixel X Dimension" msgstr "" #: src/properties.cpp:562 msgid "EXIF tag 40962, 0xA002. Valid image width, in pixels." msgstr "" #: src/properties.cpp:563 src/tags.cpp:1707 msgid "Pixel Y Dimension" msgstr "" #: src/properties.cpp:563 msgid "EXIF tag 40963, 0xA003. Valid image height, in pixels." msgstr "" #: src/properties.cpp:564 src/tags.cpp:1674 msgid "User Comment" msgstr "Commentaire de l'utilisateur" #: src/properties.cpp:564 msgid "EXIF tag 37510, 0x9286. Comments from user." msgstr "" #: src/properties.cpp:565 src/tags.cpp:1716 msgid "Related Sound File" msgstr "" #: src/properties.cpp:565 msgid "" "EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file." msgstr "" #: src/properties.cpp:566 src/properties.cpp:1110 #, fuzzy msgid "Date and Time Original" msgstr "Date et heure (originel)" #: src/properties.cpp:566 msgid "" "EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). Date and " "time when original image was generated, in ISO 8601 format. Includes the " "EXIF SubSecTimeOriginal data." msgstr "" #: src/properties.cpp:569 src/properties.cpp:1111 #, fuzzy msgid "Date and Time Digitized" msgstr "Date et heure (numérisé)" #: src/properties.cpp:569 msgid "" "EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and " "time when image was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format. Includes the EXIF SubSecTimeDigitized data." msgstr "" #: src/properties.cpp:573 #, fuzzy msgid "EXIF tag 33434, 0x829A. Exposure time in seconds." msgstr "Temps d'exposition, en secondes (sec)." #: src/properties.cpp:574 src/properties.cpp:1157 #, fuzzy msgid "F Number" msgstr "Nombre F" #: src/properties.cpp:574 msgid "EXIF tag 33437, 0x829D. F number." msgstr "" #: src/properties.cpp:575 msgid "EXIF tag 34850, 0x8822. Class of program used for exposure." msgstr "" #: src/properties.cpp:576 src/tags.cpp:807 src/tags.cpp:1559 msgid "Spectral Sensitivity" msgstr "Sensibilité spectrale" #: src/properties.cpp:576 msgid "EXIF tag 34852, 0x8824. Spectral sensitivity of each channel." msgstr "" #: src/properties.cpp:577 #, fuzzy msgid "ISOSpeedRatings" msgstr "Vitesse en ISO" #: src/properties.cpp:577 msgid "" "EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232." msgstr "" #: src/properties.cpp:579 src/tags.cpp:814 msgid "OECF" msgstr "" #: src/properties.cpp:579 msgid "" "EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in " "ISO 14524." msgstr "" #: src/properties.cpp:580 msgid "" "EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF " "specification." msgstr "" #: src/properties.cpp:581 #, fuzzy msgid "EXIF tag 37378, 0x9202. Lens aperture, unit is APEX." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:582 src/tags.cpp:828 #, fuzzy msgid "Brightness Value" msgstr "Valeur de luminosité" #: src/properties.cpp:582 #, fuzzy msgid "EXIF tag 37379, 0x9203. Brightness, unit is APEX." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:583 msgid "EXIF tag 37380, 0x9204. Exposure bias, unit is APEX." msgstr "" #: src/properties.cpp:584 src/properties.cpp:1211 #, fuzzy msgid "Maximum Aperture Value" msgstr "Valeur maximal d'ouverture" #: src/properties.cpp:584 #, fuzzy msgid "EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:585 #, fuzzy msgid "EXIF tag 37382, 0x9206. Distance to subject, in meters." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:586 #, fuzzy msgid "EXIF tag 37383, 0x9207. Metering mode." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:587 #, fuzzy msgid "EXIF tag 37384, 0x9208. Light source." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:588 msgid "EXIF tag 37385, 0x9209. Strobe light (flash) source data." msgstr "" #: src/properties.cpp:589 #, fuzzy msgid "EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:590 src/tags.cpp:1666 msgid "Subject Area" msgstr "Aire du sujet" #: src/properties.cpp:590 #, fuzzy msgid "" "EXIF tag 37396, 0x9214. The location and area of the main subject in the " "overall scene." msgstr "" "Ce marqueur indique l'emplacement et l'aire du sujet principal dans la scène " "générale." #: src/properties.cpp:591 src/tags.cpp:836 src/tags.cpp:1731 msgid "Flash Energy" msgstr "Puissance flash" #: src/properties.cpp:591 msgid "EXIF tag 41483, 0xA20B. Strobe energy during image capture." msgstr "" #: src/properties.cpp:592 src/tags.cpp:837 src/tags.cpp:1735 msgid "Spatial Frequency Response" msgstr "" #: src/properties.cpp:592 msgid "" "EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values " "as specified in ISO 12233." msgstr "" #: src/properties.cpp:594 src/tags.cpp:839 #, fuzzy msgid "Focal Plane X Resolution" msgstr "x-Résolution du plan focal" #: src/properties.cpp:594 msgid "" "EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per " "unit." msgstr "" #: src/properties.cpp:595 src/tags.cpp:840 #, fuzzy msgid "Focal Plane Y Resolution" msgstr "x-Résolution du plan focal" #: src/properties.cpp:595 msgid "" "EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per " "unit." msgstr "" #: src/properties.cpp:596 src/tags.cpp:841 src/tags.cpp:1748 msgid "Focal Plane Resolution Unit" msgstr "Unité de résolution du plan focal" #: src/properties.cpp:596 msgid "" "EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and " "FocalPlaneYResolution." msgstr "" #: src/properties.cpp:597 src/tags.cpp:845 src/tags.cpp:1752 msgid "Subject Location" msgstr "Emplacement du sujet" #: src/properties.cpp:597 msgid "" "EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first " "value is the horizontal pixel and the second value is the vertical pixel at " "which the main subject appears." msgstr "" #: src/properties.cpp:600 src/tags.cpp:846 #, fuzzy msgid "Exposure Index" msgstr "Index d'exposition" #: src/properties.cpp:600 msgid "EXIF tag 41493, 0xA215. Exposure index of input device." msgstr "" #: src/properties.cpp:601 src/tags.cpp:851 src/tags.cpp:1763 msgid "Sensing Method" msgstr "Méthode de capture numérique" #: src/properties.cpp:601 msgid "EXIF tag 41495, 0xA217. Image sensor type on input device." msgstr "" #: src/properties.cpp:602 #, fuzzy msgid "EXIF tag 41728, 0xA300. Indicates image source." msgstr "Ce marqueur indique la distance au sujet." #: src/properties.cpp:603 src/tags.cpp:1771 msgid "Scene Type" msgstr "Type de scène" #: src/properties.cpp:603 #, fuzzy msgid "EXIF tag 41729, 0xA301. Indicates the type of scene." msgstr "Ce marqueur indique la distance au sujet." #: src/properties.cpp:604 src/tags.cpp:761 msgid "CFA Pattern" msgstr "Motif CFA" #: src/properties.cpp:604 msgid "" "EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image " "sense." msgstr "" #: src/properties.cpp:605 src/tags.cpp:1781 msgid "Custom Rendered" msgstr "Rendu personnalisé" #: src/properties.cpp:605 #, fuzzy msgid "" "EXIF tag 41985, 0xA401. Indicates the use of special processing on image " "data." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/properties.cpp:606 #, fuzzy msgid "" "EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was " "shot." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/properties.cpp:607 #, fuzzy msgid "" "EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image " "was shot." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/properties.cpp:608 src/properties.cpp:1115 src/tags.cpp:1795 msgid "Digital Zoom Ratio" msgstr "Rapport de zoom numérique" #: src/properties.cpp:608 #, fuzzy msgid "" "EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was " "shot." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/properties.cpp:609 src/tags.cpp:1800 msgid "Focal Length In 35mm Film" msgstr "Longueur focale dans un film de 35mm" #: src/properties.cpp:609 #, fuzzy msgid "" "EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal length is unknown. " "Note that this tag differs from the FocalLength tag." msgstr "" "Ce marqueur indique la longueur focale équivalente en assumant un appareil " "avec un film de 35mm, en mm. Une valeur de 0 indique que la longueur focale " "est inconnue. Notez que ce marqueur est différent du marqueur ." #: src/properties.cpp:612 src/tags.cpp:1806 msgid "Scene Capture Type" msgstr "Type de scène photographiée" #: src/properties.cpp:612 #, fuzzy msgid "EXIF tag 41990, 0xA406. Indicates the type of scene that was shot." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/properties.cpp:613 src/tags.cpp:1811 msgid "Gain Control" msgstr "Contrôle du gain" #: src/properties.cpp:613 #, fuzzy msgid "" "EXIF tag 41991, 0xA407. Indicates the degree of overall image gain " "adjustment." msgstr "Ce marqueur indique le degré général d'ajustement du gain de l'image." #: src/properties.cpp:614 #, fuzzy msgid "" "EXIF tag 41992, 0xA408. Indicates the direction of contrast processing " "applied by the camera." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/properties.cpp:615 #, fuzzy msgid "" "EXIF tag 41993, 0xA409. Indicates the direction of saturation processing " "applied by the camera." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/properties.cpp:616 #, fuzzy msgid "" "EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing " "applied by the camera." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/properties.cpp:617 src/tags.cpp:1826 msgid "Device Setting Description" msgstr "Description des paramètres du matériel" #: src/properties.cpp:617 #, fuzzy msgid "" "EXIF tag 41995, 0xA40B. Indicates information on the picture-taking " "conditions of a particular camera model." msgstr "" "Ce marqueur indique les informations sur les conditions lors de la prise de " "vue pour un modèle particulier d'appareil. Ce marqueur n'est utilisé que " "pour indiquer les paramètres de prise de vue au lecteur." #: src/properties.cpp:618 src/tags.cpp:1831 msgid "Subject Distance Range" msgstr "Échelle de distance au sujet" #: src/properties.cpp:618 #, fuzzy msgid "EXIF tag 41996, 0xA40C. Indicates the distance to the subject." msgstr "Ce marqueur indique la distance au sujet." #: src/properties.cpp:619 src/tags.cpp:1834 msgid "Image Unique ID" msgstr "ID unique de l'image" #: src/properties.cpp:619 #, fuzzy msgid "" "EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is " "recorded as a 32 character ASCII string, equivalent to hexadecimal notation " "and 128-bit fixed length." msgstr "" "Ce marqueur indique un identificateur unique assigné à chaque image. Il est " "enregistré sous la forme d'une chaîne ASCII équivalente à la notation " "hexadécimale et d'une longueur fixe de 128 bits." #: src/properties.cpp:621 src/properties.cpp:1178 src/tags.cpp:1934 msgid "GPS Version ID" msgstr "ID version GPS" #: src/properties.cpp:621 msgid "" "GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with " "period separators. The current value is \"2.0.0.0\"." msgstr "" #: src/properties.cpp:623 src/properties.cpp:1173 src/tags.cpp:1945 msgid "GPS Latitude" msgstr "Latitude GPS" #: src/properties.cpp:623 msgid "" "GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude." msgstr "" #: src/properties.cpp:624 src/properties.cpp:1174 src/tags.cpp:1957 msgid "GPS Longitude" msgstr "Longitude GPS" #: src/properties.cpp:624 msgid "" "GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude." msgstr "" #: src/properties.cpp:625 src/properties.cpp:1168 src/tags.cpp:1965 msgid "GPS Altitude Reference" msgstr "Référence d'altitude GPS" #: src/properties.cpp:625 src/properties.cpp:1168 #, fuzzy msgid "" "GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:626 src/properties.cpp:1167 src/tags.cpp:1973 msgid "GPS Altitude" msgstr "Altitude GPS" #: src/properties.cpp:626 src/properties.cpp:1167 #, fuzzy msgid "GPS tag 6, 0x06. Indicates altitude in meters." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:627 src/properties.cpp:1170 src/properties.cpp:1177 #: src/tags.cpp:1977 msgid "GPS Time Stamp" msgstr "Horodateur GPS" #: src/properties.cpp:627 msgid "" "GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS " "data, in Coordinated Universal Time. Note: The GPSDateStamp tag is new in " "EXIF 2.2. The GPS timestamp in EXIF 2.1 does not include a date. If not " "present, the date component for the XMP should be taken from exif:" "DateTimeOriginal, or if that is also lacking from exif:DateTimeDigitized. If " "no date is available, do not write exif:GPSTimeStamp to XMP." msgstr "" #: src/properties.cpp:633 src/properties.cpp:1176 src/tags.cpp:1982 msgid "GPS Satellites" msgstr "Satellites GPS" #: src/properties.cpp:633 msgid "GPS tag 8, 0x08. Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:634 src/tags.cpp:1989 msgid "GPS Status" msgstr "Statut GPS" #: src/properties.cpp:634 #, fuzzy msgid "GPS tag 9, 0x09. Status of GPS receiver at image creation time." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:635 src/tags.cpp:1994 msgid "GPS Measure Mode" msgstr "Mode de mesure GPS" #: src/properties.cpp:635 msgid "GPS tag 10, 0x0A. GPS measurement mode, Text type." msgstr "" #: src/properties.cpp:636 msgid "GPS DOP" msgstr "" #: src/properties.cpp:636 #, fuzzy msgid "GPS tag 11, 0x0B. Degree of precision for GPS data." msgstr "Degrés de précision des données GPS" #: src/properties.cpp:637 src/tags.cpp:2002 msgid "GPS Speed Reference" msgstr "Référence de vitesse de GPS" #: src/properties.cpp:637 #, fuzzy msgid "GPS tag 12, 0x0C. Units used to speed measurement." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:638 src/tags.cpp:2006 msgid "GPS Speed" msgstr "Vitesse GPS" #: src/properties.cpp:638 #, fuzzy msgid "GPS tag 13, 0x0D. Speed of GPS receiver movement." msgstr "Degrés de précision des données GPS" #: src/properties.cpp:639 #, fuzzy msgid "GPS Track Reference" msgstr "Référence de vitesse de GPS" #: src/properties.cpp:639 #, fuzzy msgid "GPS tag 14, 0x0E. Reference for movement direction." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:640 src/tags.cpp:2013 #, fuzzy msgid "GPS Track" msgstr "Référence de vitesse de GPS" #: src/properties.cpp:640 msgid "" "GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:641 src/properties.cpp:1172 src/tags.cpp:2017 msgid "GPS Image Direction Reference" msgstr "Référence de direction de l'image GPS" #: src/properties.cpp:641 #, fuzzy msgid "GPS tag 16, 0x10. Reference for image direction." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:642 src/properties.cpp:1171 src/tags.cpp:2021 msgid "GPS Image Direction" msgstr "Direction de l'image GPS" #: src/properties.cpp:642 msgid "" "GPS tag 17, 0x11. Direction of image when captured, values range from 0 to " "359.99." msgstr "" #: src/properties.cpp:643 src/properties.cpp:1175 src/tags.cpp:2025 #, fuzzy msgid "GPS Map Datum" msgstr "Statut GPS" #: src/properties.cpp:643 #, fuzzy msgid "GPS tag 18, 0x12. Geodetic survey data." msgstr "Degrés de précision des données GPS" #: src/properties.cpp:644 src/tags.cpp:2033 msgid "GPS Destination Latitude" msgstr "Latitude de destination GPS" #: src/properties.cpp:644 msgid "" "GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates " "destination latitude." msgstr "" #: src/properties.cpp:645 src/tags.cpp:2045 msgid "GPS Destination Longitude" msgstr "Longitude de destination GPS" #: src/properties.cpp:645 msgid "" "GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination " "longitude." msgstr "" #: src/properties.cpp:646 src/tags.cpp:2052 #, fuzzy msgid "GPS Destination Bearing Reference" msgstr "Référence de latitude de destination GPS" #: src/properties.cpp:646 #, fuzzy msgid "GPS tag 23, 0x17. Reference for movement direction." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:647 src/tags.cpp:2056 #, fuzzy msgid "GPS Destination Bearing" msgstr "Latitude de destination GPS" #: src/properties.cpp:647 msgid "GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99." msgstr "" #: src/properties.cpp:648 src/tags.cpp:2060 #, fuzzy msgid "GPS Destination Distance Reference" msgstr "Référence de latitude de destination GPS" #: src/properties.cpp:648 #, fuzzy msgid "GPS tag 25, 0x19. Units used for speed measurement." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:649 src/tags.cpp:2064 msgid "GPS Destination Distance" msgstr "Distance à la destination GPS" #: src/properties.cpp:649 #, fuzzy msgid "GPS tag 26, 0x1A. Distance to destination." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:650 src/tags.cpp:2067 #, fuzzy msgid "GPS Processing Method" msgstr "Méthode de capture numérique" #: src/properties.cpp:650 msgid "" "GPS tag 27, 0x1B. A character string recording the name of the method used " "for location finding." msgstr "" #: src/properties.cpp:651 src/tags.cpp:2072 #, fuzzy msgid "GPS Area Information" msgstr "Information GPS" #: src/properties.cpp:651 msgid "" "GPS tag 28, 0x1C. A character string recording the name of the GPS area." msgstr "" #: src/properties.cpp:652 src/tags.cpp:2080 msgid "GPS Differential" msgstr "" #: src/properties.cpp:652 #, fuzzy msgid "" "GPS tag 30, 0x1E. Indicates whether differential correction is applied to " "the GPS receiver." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/properties.cpp:658 msgid "" "A description of the lens used to take the photograph. For example, \"70-200 " "mm f/2.8-4.0\"." msgstr "" #: src/properties.cpp:659 msgid "" "The serial number of the camera or camera body used to take the photograph." msgstr "" #: src/properties.cpp:665 msgid "Creator's Contact Info" msgstr "" #: src/properties.cpp:665 msgid "" "The creator's contact information provides all necessary information to get " "in contact with the creator of this news object and comprises a set of sub-" "properties for proper addressing." msgstr "" #: src/properties.cpp:667 #, fuzzy msgid "Contact Info-Address" msgstr "État/Région" #: src/properties.cpp:667 msgid "" "sub-key Creator Contact Info: address. Comprises an optional company name " "and all required information to locate the building or postbox to which mail " "should be sent." msgstr "" #: src/properties.cpp:669 #, fuzzy msgid "Contact Info-City" msgstr "État/Région" #: src/properties.cpp:669 msgid "sub-key Creator Contact Info: city." msgstr "" #: src/properties.cpp:670 #, fuzzy msgid "Contact Info-State/Province" msgstr "État/Région" #: src/properties.cpp:670 #, fuzzy msgid "sub-key Creator Contact Info: state or province." msgstr "État/Région" #: src/properties.cpp:671 #, fuzzy msgid "Contact Info-Postal Code" msgstr "État/Région" #: src/properties.cpp:671 msgid "sub-key Creator Contact Info: local postal code." msgstr "" #: src/properties.cpp:672 #, fuzzy msgid "Contact Info-Country" msgstr "État/Région" #: src/properties.cpp:672 #, fuzzy msgid "sub-key Creator Contact Info: country." msgstr "État/Région" #: src/properties.cpp:673 #, fuzzy msgid "Contact Info-Email" msgstr "État/Région" #: src/properties.cpp:673 #, fuzzy msgid "sub-key Creator Contact Info: email address." msgstr "Informations prise de vue" #: src/properties.cpp:674 #, fuzzy msgid "Contact Info-Phone" msgstr "État/Région" #: src/properties.cpp:674 #, fuzzy msgid "sub-key Creator Contact Info: phone number." msgstr "Informations prise de vue" #: src/properties.cpp:675 msgid "Contact Info-Web URL" msgstr "" #: src/properties.cpp:675 #, fuzzy msgid "sub-key Creator Contact Info: web address." msgstr "Informations prise de vue" #: src/properties.cpp:676 msgid "Intellectual Genre" msgstr "" #: src/properties.cpp:676 msgid "" "Describes the nature, intellectual or journalistic characteristic of a news " "object, not specifically its content." msgstr "" #: src/properties.cpp:678 #, fuzzy msgid "IPTC Scene" msgstr "centre" #: src/properties.cpp:678 msgid "" "Describes the scene of a photo content. Specifies one or more terms from the " "IPTC \"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits " "in an unordered list." msgstr "" #: src/properties.cpp:680 #, fuzzy msgid "IPTC Subject Code" msgstr "Aire du sujet" #: src/properties.cpp:680 msgid "" "Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy " "to categorize the content. Each Subject is represented as a string of 8 " "digits in an unordered list." msgstr "" #: src/properties.cpp:682 msgid "" "(legacy) Name of a location the content is focussing on -- either the " "location shown in visual media or referenced by text or audio media. This " "location name could either be the name of a sublocation to a city or the " "name of a well known location or (natural) monument outside a city. In the " "sense of a sublocation to a city this element is at the fourth level of a " "top-down geographical hierarchy." msgstr "" #: src/properties.cpp:687 msgid "" "(legacy) Code of the country the content is focussing on -- either the " "country shown in visual media or referenced in text or audio media. This " "element is at the top/first level of a top-down geographical hierarchy. The " "code should be taken from ISO 3166 two or three letter code. The full name " "of a country should go to the \"Country\" element." msgstr "" #: src/properties.cpp:696 #, fuzzy msgid "Additional model info" msgstr "informations de réglage appareil photo" #: src/properties.cpp:696 msgid "" "Information about the ethnicity and other facts of the model(s) in a model-" "released image." msgstr "" #: src/properties.cpp:697 msgid "Code of featured Organisation" msgstr "" #: src/properties.cpp:697 msgid "" "Code from controlled vocabulary for identifying the organisation or company " "which is featured in the image." msgstr "" #: src/properties.cpp:698 msgid "Controlled Vocabulary Term" msgstr "" #: src/properties.cpp:698 msgid "" "A term to describe the content of the image by a value from a Controlled " "Vocabulary." msgstr "" #: src/properties.cpp:699 #, fuzzy msgid "Model age" msgstr "Modèle" #: src/properties.cpp:699 msgid "" "Age of the human model(s) at the time this image was taken in a model " "released image." msgstr "" #: src/properties.cpp:700 msgid "Name of featured Organisation" msgstr "" #: src/properties.cpp:700 msgid "Name of the organisation or company which is featured in the image." msgstr "" #: src/properties.cpp:701 #, fuzzy msgid "Person shown" msgstr "Version" #: src/properties.cpp:701 msgid "Name of a person shown in the image." msgstr "" #: src/properties.cpp:702 #, fuzzy msgid "Digital Image Identifier" msgstr "Stabilisation de l'image" #: src/properties.cpp:702 msgid "" "Globally unique identifier for this digital image. It is created and applied " "by the creator of the digital image at the time of its creation. this value " "shall not be changed after that time." msgstr "" #: src/properties.cpp:703 msgid "Physical type of original photo" msgstr "" #: src/properties.cpp:703 #, fuzzy msgid "The type of the source digital file." msgstr "Le type de source lumineuse." #: src/properties.cpp:704 src/properties.cpp:960 src/properties.cpp:969 #: src/properties.cpp:1633 #, fuzzy msgid "Event" msgstr "Soirée" #: src/properties.cpp:704 msgid "Names or describes the specific event at which the photo was taken." msgstr "" #: src/properties.cpp:705 #, fuzzy msgid "Maximum available height" msgstr "Longueur focale maximum" #: src/properties.cpp:705 msgid "" "The maximum available height in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:706 #, fuzzy msgid "Maximum available width" msgstr "Longueur focale maximum" #: src/properties.cpp:706 msgid "" "The maximum available width in pixels of the original photo from which this " "photo has been derived by downsizing." msgstr "" #: src/properties.cpp:707 msgid "Registry Entry" msgstr "" #: src/properties.cpp:707 msgid "" "Both a Registry Item Id and a Registry Organisation Id to record any " "registration of this digital image with a registry." msgstr "" #: src/properties.cpp:708 #, fuzzy msgid "Registry Entry-Item Identifier" msgstr "Stabilisation de l'image" #: src/properties.cpp:708 msgid "" "A unique identifier created by a registry and applied by the creator of the " "digital image. This value shall not be changed after being applied. This " "identifier is linked to a corresponding Registry Organisation Identifier." msgstr "" #: src/properties.cpp:709 msgid "Registry Entry-Organisation Identifier" msgstr "" #: src/properties.cpp:709 msgid "" "An identifier for the registry which issued the corresponding Registry Image " "Id." msgstr "" #: src/properties.cpp:710 msgid "IPTC Fields Last Edited" msgstr "" #: src/properties.cpp:710 #, fuzzy msgid "" "The date and optionally time when any of the IPTC photo metadata fields has " "been last edited." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:711 #, fuzzy msgid "Location shown" msgstr "Code du pays" #: src/properties.cpp:711 #, fuzzy msgid "A location shown in the image." msgstr "Décalage de l'aperçu" #: src/properties.cpp:712 #, fuzzy msgid "Location Created" msgstr "Code du pays" #: src/properties.cpp:712 #, fuzzy msgid "The location the photo was taken." msgstr "Le type de source lumineuse." #: src/properties.cpp:713 #, fuzzy msgid "Location-City" msgstr "Lieu précis" #: src/properties.cpp:713 #, fuzzy msgid "Name of the city of a location." msgstr "Le type de source lumineuse." #: src/properties.cpp:714 #, fuzzy msgid "Location-Country ISO-Code" msgstr "Code du pays" #: src/properties.cpp:714 #, fuzzy msgid "The ISO code of a country of a location." msgstr "Le type de source lumineuse." #: src/properties.cpp:715 #, fuzzy msgid "Location-Country Name" msgstr "Nom du pays" #: src/properties.cpp:715 #, fuzzy msgid "The name of a country of a location." msgstr "Le type de source lumineuse." #: src/properties.cpp:716 #, fuzzy msgid "Location-Province/State" msgstr "État Région" #: src/properties.cpp:716 #, fuzzy msgid "" "The name of a subregion of a country - a province or state - of a location." msgstr "Le type de source lumineuse." #: src/properties.cpp:717 #, fuzzy msgid "Location-Sublocation" msgstr "Lieu précis" #: src/properties.cpp:717 msgid "" "Name of a sublocation. This sublocation name could either be the name of a " "sublocation to a city or the name of a well known location or (natural) " "monument outside a city." msgstr "" #: src/properties.cpp:718 #, fuzzy msgid "Location-World Region" msgstr "Code du pays" #: src/properties.cpp:718 #, fuzzy msgid "The name of a world region of a location." msgstr "Le type de source lumineuse." #: src/properties.cpp:719 #, fuzzy msgid "Artwork or object in the image" msgstr "Notice Droit d'auteur" #: src/properties.cpp:719 msgid "A set of metadata about artwork or an object in the image." msgstr "" #: src/properties.cpp:720 #, fuzzy msgid "Artwork or object-Copyright notice" msgstr "Notice Droit d'auteur" #: src/properties.cpp:720 msgid "" "Contains any necessary copyright notice for claiming the intellectual " "property for artwork or an object in the image and should identify the " "current owner of the copyright of this work with associated intellectual " "property rights." msgstr "" #: src/properties.cpp:721 #, fuzzy msgid "Artwork or object-Creator" msgstr "Notice Droit d'auteur" #: src/properties.cpp:721 msgid "" "Contains the name of the artist who has created artwork or an object in the " "image. In cases where the artist could or should not be identified the name " "of a company or organisation may be appropriate." msgstr "" #: src/properties.cpp:722 #, fuzzy msgid "Artwork or object-Date Created" msgstr "Notice Droit d'auteur" #: src/properties.cpp:722 msgid "" "Designates the date and optionally the time the artwork or object in the " "image was created. This relates to artwork or objects with associated " "intellectual property rights." msgstr "" #: src/properties.cpp:723 #, fuzzy msgid "Artwork or object-Source" msgstr "Notice Droit d'auteur" #: src/properties.cpp:723 msgid "" "The organisation or body holding and registering the artwork or object in " "the image for inventory purposes." msgstr "" #: src/properties.cpp:724 #, fuzzy msgid "Artwork or object-Source inventory number" msgstr "Notice Droit d'auteur" #: src/properties.cpp:724 msgid "" "The inventory number issued by the organisation or body holding and " "registering the artwork or object in the image." msgstr "" #: src/properties.cpp:725 #, fuzzy msgid "Artwork or object-Title" msgstr "Notice Droit d'auteur" #: src/properties.cpp:725 msgid "A reference for the artwork or object in the image." msgstr "" #: src/properties.cpp:732 msgid "Scan from film" msgstr "" #: src/properties.cpp:733 msgid "Scan from transparency (including slide)" msgstr "" #: src/properties.cpp:734 msgid "Scan from print" msgstr "" #: src/properties.cpp:735 #, fuzzy msgid "Camera RAW" msgstr "Identifiant appareil photo" #: src/properties.cpp:736 #, fuzzy msgid "Camera TIFF" msgstr "Identifiant appareil photo" #: src/properties.cpp:737 #, fuzzy msgid "Camera JPEG" msgstr "Identifiant appareil photo" #: src/properties.cpp:742 #, fuzzy msgid "PLUS Version" msgstr "Version du fichier" #: src/properties.cpp:742 msgid "" "The version number of the PLUS standards in place at the time of the " "transaction." msgstr "" #: src/properties.cpp:743 #, fuzzy msgid "Licensee" msgstr "Objectif" #: src/properties.cpp:743 msgid "" "Party or parties to whom the license is granted by the Licensor/s under the " "license transaction." msgstr "" #: src/properties.cpp:744 #, fuzzy msgid "Licensee ID" msgstr "ID Objectif" #: src/properties.cpp:744 msgid "Optional PLUS-ID identifying each Licensee." msgstr "" #: src/properties.cpp:745 #, fuzzy msgid "Licensee Name" msgstr "Nom du pays" #: src/properties.cpp:745 #, fuzzy msgid "Name of each Licensee." msgstr "Le type de source lumineuse." #: src/properties.cpp:746 #, fuzzy msgid "End User" msgstr "Externe" #: src/properties.cpp:746 msgid "Party or parties ultimately making use of the image under the license." msgstr "" #: src/properties.cpp:747 #, fuzzy msgid "End User ID" msgstr "Externe" #: src/properties.cpp:747 msgid "Optional PLUS-ID identifying each End User." msgstr "" #: src/properties.cpp:748 #, fuzzy msgid "End User Name" msgstr "Nom du propriétaire" #: src/properties.cpp:748 #, fuzzy msgid "Name of each End User." msgstr "Le type de source lumineuse." #: src/properties.cpp:749 #, fuzzy msgid "Licensor" msgstr "Objectif" #: src/properties.cpp:749 msgid "Party or parties granting the license to the Licensee." msgstr "" #: src/properties.cpp:750 #, fuzzy msgid "Licensor ID" msgstr "ID Objectif" #: src/properties.cpp:750 msgid "Optional PLUS-ID identifying each Licensor." msgstr "" #: src/properties.cpp:751 #, fuzzy msgid "Licensor Name" msgstr "Nom du pays" #: src/properties.cpp:751 #, fuzzy msgid "Name of each Licensor." msgstr "Le type de source lumineuse." #: src/properties.cpp:752 #, fuzzy msgid "Licensor Address" msgstr "Température de l'objectif" #: src/properties.cpp:752 #, fuzzy msgid "Licensor street address." msgstr "Libellé du pays" #: src/properties.cpp:753 msgid "Licensor Address Detail" msgstr "" #: src/properties.cpp:753 msgid "Additional Licensor mailing address details." msgstr "" #: src/properties.cpp:754 #, fuzzy msgid "Licensor City" msgstr "Mexico Ville" #: src/properties.cpp:754 #, fuzzy msgid "Licensor City name." msgstr "Libellé du pays" #: src/properties.cpp:755 #, fuzzy msgid "Licensor State or Province" msgstr "État/Région" #: src/properties.cpp:755 #, fuzzy msgid "Licensor State or Province name." msgstr "État/Région" #: src/properties.cpp:756 #, fuzzy msgid "Licensor Postal Code" msgstr "Température de l'objectif" #: src/properties.cpp:756 #, fuzzy msgid "Licensor Postal Code or Zip Code." msgstr "État/Région" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country" msgstr "Pays" #: src/properties.cpp:757 #, fuzzy msgid "Licensor Country name." msgstr "Libellé du pays" #: src/properties.cpp:758 #, fuzzy msgid "Licensor Telephone Type 1" msgstr "Numéro de série de l'appareil photo" #: src/properties.cpp:758 #, fuzzy msgid "Licensor Telephone Type 1." msgstr "Numéro de série de l'appareil photo" #: src/properties.cpp:759 #, fuzzy msgid "Licensor Telephone 1" msgstr "Numéro de série de l'appareil photo" #: src/properties.cpp:759 #, fuzzy msgid "Licensor Telephone number 1." msgstr "Numéro de série de l'appareil photo" #: src/properties.cpp:760 #, fuzzy msgid "Licensor Telephone Type 2" msgstr "Numéro de série de l'appareil photo" #: src/properties.cpp:760 #, fuzzy msgid "Licensor Telephone Type 2." msgstr "Numéro de série de l'appareil photo" #: src/properties.cpp:761 #, fuzzy msgid "Licensor Telephone 2" msgstr "Numéro de série de l'appareil photo" #: src/properties.cpp:761 #, fuzzy msgid "Licensor Telephone number 2." msgstr "Numéro de série de l'appareil photo" #: src/properties.cpp:762 #, fuzzy msgid "Licensor Email" msgstr "Nom du pays" #: src/properties.cpp:762 #, fuzzy msgid "Licensor Email address." msgstr "Nom du pays" #: src/properties.cpp:763 #, fuzzy msgid "Licensor URL" msgstr "Objectif" #: src/properties.cpp:763 msgid "Licensor world wide web address." msgstr "" #: src/properties.cpp:764 #, fuzzy msgid "Licensor Notes" msgstr "Température de l'objectif" #: src/properties.cpp:764 msgid "" "Supplemental information for use in identifying and contacting the Licensor/" "s." msgstr "" #: src/properties.cpp:765 #, fuzzy msgid "PLUS Media Summary Code" msgstr "Mode de mesure GPS" #: src/properties.cpp:765 msgid "" "A PLUS-standardized alphanumeric code string summarizing the media usages " "included in the license." msgstr "" #: src/properties.cpp:766 #, fuzzy msgid "License Start Date" msgstr "Date Minolta" #: src/properties.cpp:766 #, fuzzy msgid "The date on which the license takes effect." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:767 #, fuzzy msgid "License End Date" msgstr "Données de l'objectif" #: src/properties.cpp:767 #, fuzzy msgid "The date on which the license expires." msgstr "Le type de source lumineuse." #: src/properties.cpp:768 #, fuzzy msgid "Media Constraints" msgstr "Contraste" #: src/properties.cpp:768 msgid "" "Constraints limiting the scope of PLUS Media Usage/s included in the license " "to particular named media or to media not yet specifically defined in the " "PLUS Media Matrix." msgstr "" #: src/properties.cpp:769 #, fuzzy msgid "Region Constraints" msgstr "Contraste" #: src/properties.cpp:769 msgid "" "Constraints limiting the scope of geographic distribution to specific " "cities, states, provinces or other areas to be included in or excluded from " "the PLUS Regions specified in the Media Usages specified in the license." msgstr "" #: src/properties.cpp:770 #, fuzzy msgid "Product or Service Constraints" msgstr "Contraste" #: src/properties.cpp:770 msgid "" "Constraints limiting usage of the image to promotion of/association with a " "named product or service." msgstr "" #: src/properties.cpp:771 #, fuzzy msgid "Image File Constraints" msgstr "Réglage de qualité de l'image" #: src/properties.cpp:771 msgid "" "Constraints on the changing of the image file name, metadata or file type." msgstr "" #: src/properties.cpp:772 #, fuzzy msgid "Image Alteration Constraints" msgstr "Réglage de qualité de l'image" #: src/properties.cpp:772 msgid "" "Constraints on alteration of the image by cropping, flipping, retouching, " "colorization, de-colorization or merging." msgstr "" #: src/properties.cpp:773 #, fuzzy msgid "Image Duplication Constraints" msgstr "Réglage de qualité de l'image" #: src/properties.cpp:773 msgid "Constraints on the creation of duplicates of the image." msgstr "" #: src/properties.cpp:774 #, fuzzy msgid "Model Release Status" msgstr "Date de publication" #: src/properties.cpp:774 msgid "" "Summarizes the availability and scope of model releases authorizing usage of " "the likenesses of persons appearing in the photograph." msgstr "" #: src/properties.cpp:775 #, fuzzy msgid "Model Release ID" msgstr "Numéro modèle" #: src/properties.cpp:775 msgid "Optional identifier associated with each Model Release." msgstr "" #: src/properties.cpp:776 msgid "Minor Model Age Disclosure" msgstr "" #: src/properties.cpp:776 msgid "" "Age of the youngest model pictured in the image, at the time that the image " "was made." msgstr "" #: src/properties.cpp:777 #, fuzzy msgid "Property Release Status" msgstr "Date de publication" #: src/properties.cpp:777 msgid "" "Summarizes the availability and scope of property releases authorizing usage " "of the properties appearing in the photograph." msgstr "" #: src/properties.cpp:778 #, fuzzy msgid "Property Release ID" msgstr "Numéro modèle" #: src/properties.cpp:778 msgid "Optional identifier associated with each Property Release." msgstr "" #: src/properties.cpp:779 #, fuzzy msgid "Other Constraints" msgstr "Contraste" #: src/properties.cpp:779 msgid "Additional constraints on the license." msgstr "" #: src/properties.cpp:780 #, fuzzy msgid "Credit Line Required" msgstr "Non utilisé" #: src/properties.cpp:780 msgid "Attribution requirements, if any." msgstr "" #: src/properties.cpp:781 msgid "Adult Content Warning" msgstr "" #: src/properties.cpp:781 msgid "Warning indicating the presence of content not suitable for minors." msgstr "" #: src/properties.cpp:782 #, fuzzy msgid "Other License Requirements" msgstr "Objectif" #: src/properties.cpp:782 #, fuzzy msgid "Additional license requirements." msgstr "informations de réglage appareil photo" #: src/properties.cpp:783 #, fuzzy msgid "Terms and Conditions Text" msgstr "Condition de prise de vue" #: src/properties.cpp:783 msgid "Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:784 #, fuzzy msgid "Terms and Conditions URL" msgstr "Condition de prise de vue" #: src/properties.cpp:784 msgid "URL for Terms and Conditions applying to the license." msgstr "" #: src/properties.cpp:785 #, fuzzy msgid "Other License Conditions" msgstr "Condition de prise de vue" #: src/properties.cpp:785 #, fuzzy msgid "Additional license conditions." msgstr "informations de réglage appareil photo" #: src/properties.cpp:786 #, fuzzy msgid "Identifies the type of image delivered." msgstr "Identifie le fournisseur et le produit" #: src/properties.cpp:787 #, fuzzy msgid "Licensor Image ID" msgstr "ID Objectif" #: src/properties.cpp:787 msgid "Optional identifier assigned by the Licensor to the image." msgstr "" #: src/properties.cpp:788 msgid "Image File Name As Delivered" msgstr "" #: src/properties.cpp:788 msgid "" "Name of the image file delivered to the Licensee for use under the license." msgstr "" #: src/properties.cpp:789 #, fuzzy msgid "Image File Format As Delivered" msgstr "Réglage de qualité de l'image" #: src/properties.cpp:789 msgid "" "File format of the image file delivered to the Licensee for use under the " "license." msgstr "" #: src/properties.cpp:790 msgid "Image File Size As Delivered" msgstr "" #: src/properties.cpp:790 msgid "Size of the image file delivered to the Licensee." msgstr "" #: src/properties.cpp:791 #, fuzzy msgid "Copyright Status" msgstr "Droit d'auteur" #: src/properties.cpp:791 #, fuzzy msgid "Copyright status of the image." msgstr "Notice Droit d'auteur" #: src/properties.cpp:792 #, fuzzy msgid "Copyright Registration Number" msgstr "Nom du propriétaire" #: src/properties.cpp:792 msgid "Copyright Registration Number, if any, applying to the licensed image." msgstr "" #: src/properties.cpp:793 #, fuzzy msgid "First Publication Date" msgstr "Date de numérisation" #: src/properties.cpp:793 #, fuzzy msgid "The date on which the image was first published." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:794 #, fuzzy msgid "Copyright Owner" msgstr "Droit d'auteur" #: src/properties.cpp:794 msgid "Owner or owners of the copyright in the licensed image." msgstr "" #: src/properties.cpp:795 #, fuzzy msgid "Copyright Owner ID" msgstr "Droit d'auteur" #: src/properties.cpp:795 msgid "Optional PLUS-ID identifying each Copyright Owner." msgstr "" #: src/properties.cpp:796 #, fuzzy msgid "Copyright Owner Name" msgstr "Nom du propriétaire" #: src/properties.cpp:796 #, fuzzy msgid "Name of Copyright Owner." msgstr "Droit d'auteur" #: src/properties.cpp:797 #, fuzzy msgid "Copyright Owner Image ID" msgstr "Droit d'auteur" #: src/properties.cpp:797 msgid "Optional identifier assigned by the Copyright Owner to the image." msgstr "" #: src/properties.cpp:798 #, fuzzy msgid "Image Creator" msgstr "Orientation" #: src/properties.cpp:798 #, fuzzy msgid "Creator/s of the image." msgstr "Décalage de l'aperçu" #: src/properties.cpp:799 #, fuzzy msgid "Image Creator ID" msgstr "Orientation" #: src/properties.cpp:799 msgid "Optional PLUS-ID identifying each Image Creator." msgstr "" #: src/properties.cpp:800 #, fuzzy msgid "Image Creator Name" msgstr "Type d'image" #: src/properties.cpp:800 #, fuzzy msgid "Name of Image Creator." msgstr "Comptage d'image" #: src/properties.cpp:801 #, fuzzy msgid "Image Creator Image ID" msgstr "Orientation" #: src/properties.cpp:801 msgid "Optional identifier assigned by the Image Creator to the image." msgstr "" #: src/properties.cpp:802 #, fuzzy msgid "Image Supplier ID" msgstr "ID unique de l'image" #: src/properties.cpp:802 msgid "Optional PLUS-ID identifying the Image Supplier." msgstr "" #: src/properties.cpp:803 #, fuzzy msgid "Image Supplier Name" msgstr "Taille de l'image" #: src/properties.cpp:803 #, fuzzy msgid "Name of Image Supplier." msgstr "Comptage d'image" #: src/properties.cpp:804 #, fuzzy msgid "Image Supplier Image ID" msgstr "ID unique de l'image" #: src/properties.cpp:804 msgid "Optional identifier assigned by the Image Supplier to the image." msgstr "" #: src/properties.cpp:805 #, fuzzy msgid "Licensee Image ID" msgstr "Effacer le comptage d'image" #: src/properties.cpp:805 msgid "Optional identifier assigned by the Licensee to the image." msgstr "" #: src/properties.cpp:806 #, fuzzy msgid "Licensee Image Notes" msgstr "Effacer le comptage d'image" #: src/properties.cpp:806 #, fuzzy msgid "Notes added by Licensee." msgstr "Le type de source lumineuse." #: src/properties.cpp:807 #, fuzzy msgid "Other Image Info" msgstr "Objectif" #: src/properties.cpp:807 #, fuzzy msgid "Additional image information." msgstr "informations de réglage appareil photo" #: src/properties.cpp:808 #, fuzzy msgid "License ID" msgstr "ID Objectif" #: src/properties.cpp:808 msgid "Optional PLUS-ID assigned by the Licensor to the License." msgstr "" #: src/properties.cpp:809 #, fuzzy msgid "Licensor Transaction ID" msgstr "Date d'expiration" #: src/properties.cpp:809 msgid "" "Identifier assigned by Licensor for Licensor's reference and internal use." msgstr "" #: src/properties.cpp:810 #, fuzzy msgid "Licensee Transaction ID" msgstr "Date d'expiration" #: src/properties.cpp:810 msgid "" "Identifier assigned by Licensee for Licensee's reference and internal use." msgstr "" #: src/properties.cpp:811 #, fuzzy msgid "Licensee Project Reference" msgstr "Date de référence" #: src/properties.cpp:811 msgid "Project reference name or description assigned by Licensee." msgstr "" #: src/properties.cpp:812 #, fuzzy msgid "License Transaction Date" msgstr "Date d'expiration" #: src/properties.cpp:812 #, fuzzy msgid "The date of the License Transaction." msgstr "Le type de source lumineuse." #: src/properties.cpp:813 #, fuzzy msgid "Reuse" msgstr "utilisé" #: src/properties.cpp:813 msgid "" "Indicates whether a license is a repeat or an initial license. Reuse may " "require that licenses stored in files previously delivered to the customer " "be updated." msgstr "" #: src/properties.cpp:814 #, fuzzy msgid "Other License Documents" msgstr "Condition de prise de vue" #: src/properties.cpp:814 msgid "" "Reference information for additional documents associated with the license." msgstr "" #: src/properties.cpp:815 #, fuzzy msgid "Other License Info" msgstr "Objectif" #: src/properties.cpp:815 #, fuzzy msgid "Additional license information." msgstr "informations de réglage appareil photo" #: src/properties.cpp:816 src/properties.cpp:817 src/properties.cpp:818 #: src/properties.cpp:819 src/properties.cpp:820 msgid "Optional field for use at Licensor's discretion." msgstr "" #: src/properties.cpp:819 #, fuzzy msgid "Custom 4" msgstr "Personnel 1" #: src/properties.cpp:820 #, fuzzy msgid "Custom 5" msgstr "Personnel 1" #: src/properties.cpp:821 #, fuzzy msgid "Custom 6" msgstr "Personnel 1" #: src/properties.cpp:821 src/properties.cpp:822 src/properties.cpp:823 #: src/properties.cpp:824 src/properties.cpp:825 msgid "Optional field for use at Licensee's discretion." msgstr "" #: src/properties.cpp:822 #, fuzzy msgid "Custom 7" msgstr "Personnel 1" #: src/properties.cpp:823 #, fuzzy msgid "Custom 8" msgstr "Personnel 1" #: src/properties.cpp:824 #, fuzzy msgid "Custom 9" msgstr "Personnel 1" #: src/properties.cpp:825 #, fuzzy msgid "Custom 10" msgstr "Personnel 1" #: src/properties.cpp:832 msgid "Adult Content Warning Required" msgstr "" #: src/properties.cpp:833 #, fuzzy msgid "Not Required" msgstr "Non utilisé" #: src/properties.cpp:839 #, fuzzy msgid "Protected" msgstr "Identifiant du produit" #: src/properties.cpp:840 #, fuzzy msgid "Public Domain" msgstr "Bas" #: src/properties.cpp:846 #, fuzzy msgid "Credit Adjacent To Image" msgstr "Aperçu embarqué" #: src/properties.cpp:847 msgid "Credit in Credits Area" msgstr "" #: src/properties.cpp:848 #, fuzzy msgid "Credit on Image" msgstr "Aperçu embarqué" #: src/properties.cpp:849 #, fuzzy msgid "Not Require" msgstr "Non défini" #: src/properties.cpp:854 #, fuzzy msgid "No Colorization" msgstr "Solarisation" #: src/properties.cpp:855 msgid "No Cropping" msgstr "" #: src/properties.cpp:856 #, fuzzy msgid "No De-Colorization" msgstr "Solarisation" #: src/properties.cpp:857 msgid "No Flipping" msgstr "" #: src/properties.cpp:858 #, fuzzy msgid "No Merging" msgstr "Réduction du bruit" #: src/properties.cpp:859 #, fuzzy msgid "No Retouching" msgstr "Réduction du bruit" #: src/properties.cpp:864 msgid "Duplication Only as Necessary Under License" msgstr "" #: src/properties.cpp:865 #, fuzzy msgid "No Duplication Constraints" msgstr "Réglage de qualité de l'image" #: src/properties.cpp:866 #, fuzzy msgid "No Duplication" msgstr "Durée audio" #: src/properties.cpp:871 #, fuzzy msgid "Maintain File Name" msgstr "Nom du fichier" #: src/properties.cpp:872 #, fuzzy msgid "Maintain File Type" msgstr "Nom du fichier" #: src/properties.cpp:873 #, fuzzy msgid "Maintain ID in File Name" msgstr "Nom du fichier" #: src/properties.cpp:874 #, fuzzy msgid "Maintain Metadata" msgstr "Date Minolta" #: src/properties.cpp:879 #, fuzzy msgid "Windows Bitmap (BMP)" msgstr "Titre Windows" #: src/properties.cpp:880 msgid "Digital Negative (DNG)" msgstr "" #: src/properties.cpp:881 msgid "Encapsulated PostScript (EPS)" msgstr "" #: src/properties.cpp:882 #, fuzzy msgid "Graphics Interchange Format (GIF)" msgstr "Format d'échange JPEG" #: src/properties.cpp:883 #, fuzzy msgid "JPEG Interchange Formats (JPG, JIF, JFIF)" msgstr "Format d'échange JPEG" #: src/properties.cpp:885 msgid "Macintosh Picture (PICT)" msgstr "" #: src/properties.cpp:886 msgid "Portable Network Graphics (PNG)" msgstr "" #: src/properties.cpp:887 msgid "Photoshop Document (PSD)" msgstr "" #: src/properties.cpp:888 msgid "Proprietary RAW Image Format" msgstr "" #: src/properties.cpp:889 msgid "Tagged Image File Format (TIFF)" msgstr "" #: src/properties.cpp:890 msgid "Windows Media Photo (HD Photo)" msgstr "" #: src/properties.cpp:895 msgid "Greater than 50 MB" msgstr "" #: src/properties.cpp:896 msgid "Up to 1 MB" msgstr "" #: src/properties.cpp:897 msgid "Up to 10 MB" msgstr "" #: src/properties.cpp:898 msgid "Up to 30 MB" msgstr "" #: src/properties.cpp:899 msgid "Up to 50 MB" msgstr "" #: src/properties.cpp:904 #, fuzzy msgid "Illustrated Image" msgstr "Hauteur de l'image" #: src/properties.cpp:905 msgid "Multimedia or Composited Image" msgstr "" #: src/properties.cpp:907 msgid "Photographic Image" msgstr "" #: src/properties.cpp:913 msgid "Cell" msgstr "" #: src/properties.cpp:914 msgid "FAX" msgstr "" #: src/properties.cpp:916 #, fuzzy msgid "Pager" msgstr "Langue" #: src/properties.cpp:917 msgid "Work" msgstr "" #: src/properties.cpp:922 #, fuzzy msgid "Age Unknown" msgstr "Inconnu" #: src/properties.cpp:923 msgid "Age 25 or Over" msgstr "" #: src/properties.cpp:924 msgid "Age 24" msgstr "" #: src/properties.cpp:925 msgid "Age 23" msgstr "" #: src/properties.cpp:926 msgid "Age 22" msgstr "" #: src/properties.cpp:927 msgid "Age 21" msgstr "" #: src/properties.cpp:928 msgid "Age 20" msgstr "" #: src/properties.cpp:929 msgid "Age 19" msgstr "" #: src/properties.cpp:930 msgid "Age 18" msgstr "" #: src/properties.cpp:931 msgid "Age 17" msgstr "" #: src/properties.cpp:932 msgid "Age 16" msgstr "" #: src/properties.cpp:933 msgid "Age 15" msgstr "" #: src/properties.cpp:934 msgid "Age 14 or Under" msgstr "" #: src/properties.cpp:940 src/properties.cpp:948 src/properties.cpp:955 msgid "Not Applicable" msgstr "" #: src/properties.cpp:941 #, fuzzy msgid "Unlimited Model Releases" msgstr "Numéro modèle" #: src/properties.cpp:942 msgid "Limited or Incomplete Model Releases" msgstr "" #: src/properties.cpp:949 msgid "Unlimited Property Releases" msgstr "" #: src/properties.cpp:950 msgid "Limited or Incomplete Property Releases" msgstr "" #: src/properties.cpp:956 msgid "Repeat Use" msgstr "" #: src/properties.cpp:960 src/properties.cpp:969 #, fuzzy msgid "Fixture Identification" msgstr "Version du Modèle" #: src/properties.cpp:961 src/properties.cpp:970 #, fuzzy msgid "Status" msgstr "Statut GPS" #: src/properties.cpp:961 src/properties.cpp:970 msgid "A notation making the image unique" msgstr "" #: src/properties.cpp:962 src/properties.cpp:971 msgid "People" msgstr "" #: src/properties.cpp:963 src/properties.cpp:972 #, fuzzy msgid "Catalog Sets" msgstr "Nombre d'intervalle" #: src/properties.cpp:963 src/properties.cpp:972 src/properties.cpp:1003 #: src/properties.cpp:1007 msgid "Descriptive markers of catalog items by content" msgstr "" #: src/properties.cpp:978 #, fuzzy msgid "RegionInfo" msgstr "Objectif" #: src/properties.cpp:978 msgid "Microsoft Photo people-tagging metadata root" msgstr "" #: src/properties.cpp:984 src/properties.cpp:1000 #, fuzzy msgid "Regions" msgstr "Version" #: src/properties.cpp:984 msgid "Contains Regions/person tags" msgstr "" #: src/properties.cpp:985 #, fuzzy msgid "Date Regions Valid" msgstr "Date et heure (originel)" #: src/properties.cpp:985 #, fuzzy msgid "Date the last region was created" msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:991 #, fuzzy msgid "Person Display Name" msgstr "Nom du propriétaire" #: src/properties.cpp:991 msgid "Name of the person (in the given rectangle)" msgstr "" #: src/properties.cpp:992 msgid "Rectangle" msgstr "" #: src/properties.cpp:992 msgid "Rectangle that identifies the person within the photo" msgstr "" #: src/properties.cpp:993 #, fuzzy msgid "Person Email Digest" msgstr "Nom du fichier" #: src/properties.cpp:993 msgid "" "SHA-1 encrypted message hash of the person's Windows Live e-mail address" msgstr "" #: src/properties.cpp:994 msgid "Person LiveId CID" msgstr "" #: src/properties.cpp:994 msgid "Signed decimal representation of the person's Windows Live CID" msgstr "" #: src/properties.cpp:1000 msgid "Main structure containing region based information" msgstr "" #: src/properties.cpp:1001 #, fuzzy msgid "Applied To Dimensions" msgstr "Version" #: src/properties.cpp:1001 msgid "Width and height of image when storing region data" msgstr "" #: src/properties.cpp:1002 #, fuzzy msgid "Region List" msgstr "Version" #: src/properties.cpp:1002 #, fuzzy msgid "List of Region structures" msgstr "Structure des donnée Exif" #: src/properties.cpp:1003 #, fuzzy msgid "Area" msgstr "Zone mise au point" #: src/properties.cpp:1004 msgid "Type purpose of region (Face|Pet|Focus|BarCode)" msgstr "" #: src/properties.cpp:1005 msgid "Name/ short description of content in image region" msgstr "" #: src/properties.cpp:1006 msgid "" "Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|" "NotEvaluatedNotUsed)" msgstr "" #: src/properties.cpp:1007 #, fuzzy msgid "Focus Usage" msgstr "Zone mise au point" #: src/properties.cpp:1008 #, fuzzy msgid "Bar Code Value" msgstr "Pas du bracket" #: src/properties.cpp:1008 msgid "Decoded BarCode value string" msgstr "" #: src/properties.cpp:1009 #, fuzzy msgid "Extensions" msgstr "Version" #: src/properties.cpp:1009 msgid "Any top level XMP property to describe the region content" msgstr "" #: src/properties.cpp:1015 msgid "Main structure containing keyword based information" msgstr "" #: src/properties.cpp:1016 msgid "Hierarchy" msgstr "" #: src/properties.cpp:1016 #, fuzzy msgid "List of root keyword structures" msgstr "Structure des donnée Exif" #: src/properties.cpp:1017 #, fuzzy msgid "Keyword" msgstr "Mots-clés" #: src/properties.cpp:1017 msgid "Name of keyword (-node)" msgstr "" #: src/properties.cpp:1018 msgid "Applied" msgstr "" #: src/properties.cpp:1018 msgid "" "True if this keyword has been applied, False otherwise. If missing, mwg-kw:" "Applied is presumed True for leaf nodes and False for ancestor nodes" msgstr "" #: src/properties.cpp:1019 #, fuzzy msgid "List of children keyword structures" msgstr "Structure des donnée Exif" #: src/properties.cpp:1026 #, fuzzy msgid "Use Panorama Viewer" msgstr "Panorama" #: src/properties.cpp:1026 msgid "" "Whether to show this image in a panorama viewer rather than as a normal flat " "image. This may be specified based on user preferences or by the stitching " "software. The application displaying or ingesting the image may choose to " "ignore this." msgstr "" #: src/properties.cpp:1027 #, fuzzy msgid "Capture Software" msgstr "Date de publication" #: src/properties.cpp:1027 msgid "" "If capture was done using an application on a mobile device, such as an " "Android phone, the name of the application that was used (such as \"Photo " "Sphere\"). This should be left blank if source images were captured " "manually, such as by using a DSLR on a tripod." msgstr "" #: src/properties.cpp:1028 #, fuzzy msgid "Stitching Software" msgstr "Logiciel de traitement" #: src/properties.cpp:1028 msgid "" "The software that was used to create the final panorama. This may sometimes " "be the same value as that of GPano:CaptureSoftware." msgstr "" #: src/properties.cpp:1029 #, fuzzy msgid "Projection Type" msgstr "type d'objet" #: src/properties.cpp:1029 msgid "" "Projection type used in the image file. Google products currently support " "the value equirectangular." msgstr "" #: src/properties.cpp:1030 msgid "Pose Heading Degrees" msgstr "" #: src/properties.cpp:1030 msgid "" "Compass heading, measured in degrees, for the center the image. Value must " "be >= 0 and < 360." msgstr "" #: src/properties.cpp:1031 msgid "Pose Pitch Degrees" msgstr "" #: src/properties.cpp:1031 msgid "" "Pitch, measured in degrees, for the center in the image. Value must be >= " "-90 and <= 90." msgstr "" #: src/properties.cpp:1032 msgid "Pose Roll Degrees" msgstr "" #: src/properties.cpp:1032 msgid "" "Roll, measured in degrees, of the image where level with the horizon is 0. " "Value must be > -180 and <= 180." msgstr "" #: src/properties.cpp:1033 msgid "Initial View Heading Degrees" msgstr "" #: src/properties.cpp:1033 msgid "The heading angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1034 msgid "Initial View Pitch Degrees" msgstr "" #: src/properties.cpp:1034 #, fuzzy msgid "The pitch angle of the initial view in degrees." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:1035 msgid "Initial View Roll Degrees" msgstr "" #: src/properties.cpp:1035 msgid "The roll angle of the initial view in degrees." msgstr "" #: src/properties.cpp:1036 msgid "Initial Horizontal FOV Degrees" msgstr "" #: src/properties.cpp:1036 msgid "" "The initial horizontal field of view that the viewer should display (in " "degrees). This is similar to a zoom level." msgstr "" #: src/properties.cpp:1037 #, fuzzy msgid "First Photo Date" msgstr "Date de numérisation" #: src/properties.cpp:1037 msgid "Date and time for the first image created in the panorama." msgstr "" #: src/properties.cpp:1038 #, fuzzy msgid "Last Photo Date" msgstr "Date d'envoi" #: src/properties.cpp:1038 #, fuzzy msgid "Date and time for the last image created in the panorama." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:1039 msgid "Source Photos Count" msgstr "" #: src/properties.cpp:1039 msgid "Number of source images used to create the panorama" msgstr "" #: src/properties.cpp:1040 #, fuzzy msgid "Exposure Lock Used" msgstr "Mode d'exposition" #: src/properties.cpp:1040 msgid "" "When individual source photographs were captured, whether or not the " "camera's exposure setting was locked. " msgstr "" #: src/properties.cpp:1041 #, fuzzy msgid "Cropped Area Image Width Pixels" msgstr "Largeur de l'image" #: src/properties.cpp:1041 msgid "" "Original width in pixels of the image (equal to the actual image's width for " "unedited images)." msgstr "" #: src/properties.cpp:1042 #, fuzzy msgid "Cropped Area Image Height Pixels" msgstr "Hauteur de l'image" #: src/properties.cpp:1042 msgid "" "Original height in pixels of the image (equal to the actual image's height " "for unedited images)." msgstr "" #: src/properties.cpp:1043 msgid "Full Pano Width Pixels" msgstr "" #: src/properties.cpp:1043 msgid "" "Original full panorama width from which the image was cropped. Or, if only a " "partial panorama was captured, this specifies the width of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1044 msgid "Full Pano Height Pixels" msgstr "" #: src/properties.cpp:1044 msgid "" "Original full panorama height from which the image was cropped. Or, if only " "a partial panorama was captured, this specifies the height of what the full " "panorama would have been." msgstr "" #: src/properties.cpp:1045 msgid "Cropped Area Left Pixels" msgstr "" #: src/properties.cpp:1045 msgid "" "Column where the left edge of the image was cropped from the full sized " "panorama." msgstr "" #: src/properties.cpp:1046 msgid "Cropped Area Top Pixels" msgstr "" #: src/properties.cpp:1046 msgid "" "Row where the top edge of the image was cropped from the full sized panorama." msgstr "" #: src/properties.cpp:1047 #, fuzzy msgid "Initial Camera Dolly" msgstr "Modèle de l'appareil" #: src/properties.cpp:1047 msgid "" "This optional parameter moves the virtual camera position along the line of " "sight, away from the center of the photo sphere. A rear surface position is " "represented by the value -1.0, while a front surface position is represented " "by 1.0. For normal viewing, this parameter should be set to 0." msgstr "" #: src/properties.cpp:1055 #, fuzzy msgid "Archival Location" msgstr "Lieu précis" #: src/properties.cpp:1055 msgid "Information about the Archival Location." msgstr "" #: src/properties.cpp:1056 #, fuzzy msgid "Arranger" msgstr "Loin" #: src/properties.cpp:1056 msgid "Information about the Arranger." msgstr "" #: src/properties.cpp:1057 #, fuzzy msgid "Arranger Keywords" msgstr "Mots-clés" #: src/properties.cpp:1057 msgid "Information about the Arranger Keywords." msgstr "" #: src/properties.cpp:1059 #, fuzzy msgid "Video Aspect Ratio" msgstr "Durée audio" #: src/properties.cpp:1059 msgid "" "Ratio of Width:Height, helps to determine how a video would be displayed on " "a screen" msgstr "" #: src/properties.cpp:1060 #, fuzzy msgid "Video Aspect Ratio Type" msgstr "Durée audio" #: src/properties.cpp:1060 msgid "Aspect Ratio Type. Eg - Free-Resizing or Fixed" msgstr "" #: src/properties.cpp:1061 msgid "Attached File Data" msgstr "" #: src/properties.cpp:1062 #, fuzzy msgid "Attached File Description" msgstr "Description de l'image" #: src/properties.cpp:1063 msgid "Attached File MIME Type" msgstr "" #: src/properties.cpp:1064 #, fuzzy msgid "Attached File Name" msgstr "Nom du fichier" #: src/properties.cpp:1065 msgid "Attached File UID" msgstr "" #: src/properties.cpp:1065 msgid "Attached File Universal ID" msgstr "" #: src/properties.cpp:1066 msgid "A C string that specifies a Base URL." msgstr "" #: src/properties.cpp:1067 msgid "Bit Depth" msgstr "" #: src/properties.cpp:1067 msgid "" "A 16-bit integer that indicates the pixel depth of the compressed image. " "Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images" msgstr "" #: src/properties.cpp:1068 #, fuzzy msgid "Brightness setting." msgstr "Réglage de Netteté" #: src/properties.cpp:1069 #, fuzzy msgid "Camera Byte Order" msgstr "Ordre de remplissage" #: src/properties.cpp:1069 msgid "Byte Order used by the Video Capturing device." msgstr "" #: src/properties.cpp:1070 msgid "Video Cinematographer" msgstr "" #: src/properties.cpp:1070 #, fuzzy msgid "The video Cinematographer information." msgstr "Informations prise de vue" #: src/properties.cpp:1071 #, fuzzy msgid "Clean Aperture Width" msgstr "Ouverture maximale" #: src/properties.cpp:1071 #, fuzzy msgid "Clean aperture width in pixels" msgstr "Ouverture maximum à focal minimum" #: src/properties.cpp:1072 #, fuzzy msgid "Clean Aperture Height" msgstr "Mode mise au point automatique" #: src/properties.cpp:1072 #, fuzzy msgid "Clean aperture height in pixels" msgstr "Ouverture maximum à focal minimum" #: src/properties.cpp:1073 #, fuzzy msgid "Video Codec" msgstr "Compression" #: src/properties.cpp:1073 msgid "" "The video codec information. Informs about the encoding algorithm of video. " "Codec Info is required for video playback." msgstr "" #: src/properties.cpp:1074 msgid "Video Codec Decode Info" msgstr "" #: src/properties.cpp:1074 msgid "Contains information the video Codec Decode All, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1075 #, fuzzy msgid "Video Codec Description" msgstr "Description des paramètres du matériel" #: src/properties.cpp:1075 src/properties.cpp:1403 msgid "Contains description the codec." msgstr "" #: src/properties.cpp:1076 #, fuzzy msgid "Video Codec Information" msgstr "Configuration image" #: src/properties.cpp:1076 msgid "Contains information the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL" msgstr "" #: src/properties.cpp:1077 msgid "Video Codec Download URL." msgstr "" #: src/properties.cpp:1078 #, fuzzy msgid "Video Codec Settings" msgstr "Réglage mode contrôle" #: src/properties.cpp:1078 src/properties.cpp:1325 src/properties.cpp:1406 msgid "Contains settings the codec needs before decoding can be started." msgstr "" #: src/properties.cpp:1083 #, fuzzy msgid "Comment" msgstr "Commentaire Windows" #: src/properties.cpp:1083 msgid "Information about the Comment." msgstr "" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned" msgstr "Compression" #: src/properties.cpp:1084 #, fuzzy msgid "Commissioned." msgstr "Compression" #: src/properties.cpp:1085 msgid "QTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1085 msgid "Other QuickTime Compatible FileType Brand" msgstr "" #: src/properties.cpp:1086 msgid "Information about the Composer." msgstr "" #: src/properties.cpp:1087 #, fuzzy msgid "Composer Keywords" msgstr "mots-clés Windows" #: src/properties.cpp:1087 msgid "Information about the Composer Keywords." msgstr "" #: src/properties.cpp:1088 #, fuzzy msgid "Compressor" msgstr "Compression" #: src/properties.cpp:1088 #, fuzzy msgid "Video Compression Library Used" msgstr "Compression" #: src/properties.cpp:1089 #, fuzzy msgid "Video Compressor ID" msgstr "Compression" #: src/properties.cpp:1089 msgid "Video Compression ID of Technology/Codec Used" msgstr "" #: src/properties.cpp:1090 #, fuzzy msgid "Compressor Version" msgstr "Compression" #: src/properties.cpp:1090 msgid "Information about the Compressor Version." msgstr "" #: src/properties.cpp:1091 #, fuzzy msgid "Container Type" msgstr "Marque de l'appareil" #: src/properties.cpp:1091 msgid "Primary Metadata Container" msgstr "" #: src/properties.cpp:1092 #, fuzzy msgid "Content Compression Algorithm" msgstr "Rapport de compression" #: src/properties.cpp:1092 msgid "Content Compression Algorithm. Eg: zlib" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type" msgstr "" #: src/properties.cpp:1093 msgid "Content Encoding Type. Eg: Encryption or Compression" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm" msgstr "" #: src/properties.cpp:1094 msgid "Content Encryption Algorithm. Eg: Blowfish" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm" msgstr "" #: src/properties.cpp:1095 msgid "Content Signature Algorithm. Eg: RSA" msgstr "" #: src/properties.cpp:1096 msgid "Content Sign Hash Algorithm" msgstr "" #: src/properties.cpp:1096 msgid "Content Signature Hash Algorithm. Eg: SHA1-160 or MD5" msgstr "" #: src/properties.cpp:1097 #, fuzzy msgid "Indicates the direction of contrast processing applied by the camera." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/properties.cpp:1098 msgid "Copyright, can be name of an organization or an individual." msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer" msgstr "" #: src/properties.cpp:1099 msgid "Costume Designer associated with the video." msgstr "" #: src/properties.cpp:1100 #, fuzzy msgid "Name of the country where the video was created." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:1101 #, fuzzy msgid "Creation Date" msgstr "Date de publication" #: src/properties.cpp:1101 msgid "" "Specifies the date and time of the initial creation of the file. The value " "is given as the number of 100-nanosecond intervals since January 1, 1601, " "according to Coordinated Universal Time (Greenwich Mean Time)." msgstr "" #: src/properties.cpp:1103 #, fuzzy msgid "Pixel Crop Bottom" msgstr "Bas" #: src/properties.cpp:1103 msgid "Number of Pixels to be cropped from the bottom." msgstr "" #: src/properties.cpp:1104 #, fuzzy msgid "Pixel Crop Left" msgstr "haut, gauche" #: src/properties.cpp:1104 msgid "Number of Pixels to be cropped from the left." msgstr "" #: src/properties.cpp:1105 #, fuzzy msgid "Pixel Crop Right" msgstr "Droit d'auteur" #: src/properties.cpp:1105 msgid "Number of Pixels to be cropped from the right." msgstr "" #: src/properties.cpp:1106 msgid "Field that indicates if a video is cropped." msgstr "" #: src/properties.cpp:1107 #, fuzzy msgid "Pixel Crop Top" msgstr "Crédit" #: src/properties.cpp:1107 msgid "Number of Pixels to be cropped from the top." msgstr "" #: src/properties.cpp:1108 #, fuzzy msgid "Current Time" msgstr "Profil couleur" #: src/properties.cpp:1108 msgid "The time value for current time position within the movie." msgstr "" #: src/properties.cpp:1109 #, fuzzy msgid "Data Packets" msgstr "Zone de données" #: src/properties.cpp:1109 msgid "" "Specifies the number of Data Packet entries that exist within the Data " "Object." msgstr "" #: src/properties.cpp:1110 #, fuzzy msgid "Date and time when original video was generated, in ISO 8601 format. " msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:1111 msgid "" "Date and time when video was stored as digital data, can be the same as " "DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 " "format." msgstr "" #: src/properties.cpp:1113 #, fuzzy msgid "Date-Time Original" msgstr "Date et heure (originel)" #: src/properties.cpp:1113 #, fuzzy msgid "Contains the production date" msgstr "Réduction du bruit" #: src/properties.cpp:1114 msgid "Video Track Default On" msgstr "" #: src/properties.cpp:1114 msgid "Video Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1115 #, fuzzy msgid "Indicates the digital zoom ratio when the video was shot." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/properties.cpp:1116 #, fuzzy msgid "Dimensions" msgstr "Version" #: src/properties.cpp:1116 msgid "Information about the Dimensions of the video frame." msgstr "" #: src/properties.cpp:1117 #, fuzzy msgid "Director" msgstr "Crédit" #: src/properties.cpp:1117 msgid "Information about the Director." msgstr "" #: src/properties.cpp:1118 msgid "Video Display Unit" msgstr "" #: src/properties.cpp:1118 msgid "Video display unit. Eg - cm, pixels, inch" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By" msgstr "" #: src/properties.cpp:1119 msgid "Distributed By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1120 #, fuzzy msgid "Doc Type" msgstr "Type de mise au point" #: src/properties.cpp:1120 msgid "" "Describes the contents of the file. In the case of a MATROSKA file, its " "value is 'matroska'" msgstr "" #: src/properties.cpp:1121 #, fuzzy msgid "Doc Type Read Version" msgstr "Version d'enregistrement" #: src/properties.cpp:1121 msgid "" "A Matroska video specific property, helps in determining the compatibility " "of file with a particular version of a video player" msgstr "" #: src/properties.cpp:1122 #, fuzzy msgid "Doc Type Version" msgstr "Version du Modèle" #: src/properties.cpp:1122 msgid "" "A Matroska video specific property, indicated the version of filetype, helps " "in determining the compatibility" msgstr "" #: src/properties.cpp:1123 msgid "Dots Per Inch" msgstr "" #: src/properties.cpp:1124 #, fuzzy msgid "The duration of the media file. Measured in milli-seconds." msgstr "Le type de source lumineuse." #: src/properties.cpp:1125 #, fuzzy msgid "EBML Read Version" msgstr "Version d'enregistrement" #: src/properties.cpp:1125 msgid "Extensible Binary Meta Language Read Version" msgstr "" #: src/properties.cpp:1126 #, fuzzy msgid "EBML Version" msgstr "Version d'ARM" #: src/properties.cpp:1126 msgid "Extensible Binary Meta Language Version" msgstr "" #: src/properties.cpp:1127 msgid "Edit Block 1 / Language" msgstr "" #: src/properties.cpp:1127 src/properties.cpp:1128 src/properties.cpp:1129 #: src/properties.cpp:1130 src/properties.cpp:1131 src/properties.cpp:1132 #: src/properties.cpp:1133 src/properties.cpp:1134 src/properties.cpp:1135 msgid "Information about the Edit / Language." msgstr "" #: src/properties.cpp:1128 msgid "Edit Block 2 / Language" msgstr "" #: src/properties.cpp:1129 msgid "Edit Block 3 / Language" msgstr "" #: src/properties.cpp:1130 msgid "Edit Block 4 / Language" msgstr "" #: src/properties.cpp:1131 msgid "Edit Block 5 / Language" msgstr "" #: src/properties.cpp:1132 msgid "Edit Block 6 / Language" msgstr "" #: src/properties.cpp:1133 msgid "Edit Block 7 / Language" msgstr "" #: src/properties.cpp:1134 msgid "Edit Block 8 / Language" msgstr "" #: src/properties.cpp:1135 msgid "Edit Block 9 / Language" msgstr "" #: src/properties.cpp:1136 msgid "Edited By" msgstr "" #: src/properties.cpp:1136 msgid "Edited By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1137 #, fuzzy msgid "Video Track Enabled" msgstr "Débit audio" #: src/properties.cpp:1137 msgid "Status of Video Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By" msgstr "" #: src/properties.cpp:1138 msgid "Encoded By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels Width" msgstr "" #: src/properties.cpp:1139 msgid "Encoded Pixels width in pixels" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels Height" msgstr "" #: src/properties.cpp:1140 msgid "Encoded Pixels height in pixels" msgstr "" #: src/properties.cpp:1141 msgid "Encoder" msgstr "" #: src/properties.cpp:1141 msgid "Information about the Encoder." msgstr "" #: src/properties.cpp:1142 #, fuzzy msgid "End Timecode" msgstr "Mode mise au point automatique" #: src/properties.cpp:1143 msgid "Engineer, in most cases name of person." msgstr "" #: src/properties.cpp:1144 #, fuzzy msgid "Equipment" msgstr "Informations équipement" #: src/properties.cpp:1144 msgid "Information about the Equipment used for recording Video." msgstr "" #: src/properties.cpp:1145 #, fuzzy msgid "Exposure Compensation Information." msgstr "Compensation d'exposition" #: src/properties.cpp:1146 #, fuzzy msgid "Exposure Program Information." msgstr "Programme d'exposition" #: src/properties.cpp:1147 #, fuzzy msgid "Exposure time in seconds." msgstr "Temps d'exposition, en secondes (sec)." #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description" msgstr "Description des paramètres du matériel" #: src/properties.cpp:1148 #, fuzzy msgid "Extended Content Description, usually found in ASF type files." msgstr "Description des paramètres du matériel" #: src/properties.cpp:1150 #, fuzzy msgid "File ID" msgstr "Le fichier" #: src/properties.cpp:1150 #, fuzzy msgid "File ID." msgstr "Le fichier" #: src/properties.cpp:1151 #, fuzzy msgid "File Length" msgstr "Longueur de l'aperçu" #: src/properties.cpp:1151 #, fuzzy msgid "File length." msgstr "Longueur de l'aperçu" #: src/properties.cpp:1152 #, fuzzy msgid "File Name" msgstr "Nom du fichier" #: src/properties.cpp:1152 msgid "File Name or Absolute File Path" msgstr "" #: src/properties.cpp:1153 #, fuzzy msgid "File Size" msgstr "Taille du fichier" #: src/properties.cpp:1153 #, fuzzy msgid "File Size, in MB" msgstr "Taille du fichier" #: src/properties.cpp:1154 #, fuzzy msgid "File Type" msgstr "Nouveau type de sous fichier" #: src/properties.cpp:1154 msgid "Extension of File or Type of File" msgstr "" #: src/properties.cpp:1155 msgid "Filter Effect Settings Applied." msgstr "" #: src/properties.cpp:1156 msgid "Firmware Version of the Camera/Video device." msgstr "" #: src/properties.cpp:1157 msgid "F number. Camera Lens specific data." msgstr "" #: src/properties.cpp:1158 #, fuzzy msgid "Focal length of the lens, in millimeters." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:1159 msgid "Focus Mode of the Lens. Eg - AF for Auto Focus" msgstr "" #: src/properties.cpp:1160 msgid "Indication of movie format (computer-generated, digitized, and so on)." msgstr "" #: src/properties.cpp:1161 #, fuzzy msgid "Frame Count" msgstr "Comptage d'image" #: src/properties.cpp:1161 src/properties.cpp:1351 msgid "Total number of frames in a video" msgstr "" #: src/properties.cpp:1162 #, fuzzy msgid "Frame Height" msgstr "Mode mise au point automatique" #: src/properties.cpp:1162 msgid "Height of frames in a video" msgstr "" #: src/properties.cpp:1163 msgid "" "Rate at which frames are presented in a video (Expressed in fps(Frames per " "Second))" msgstr "" #: src/properties.cpp:1165 #, fuzzy msgid "Frame Width" msgstr "Mode mise au point automatique" #: src/properties.cpp:1165 msgid "Width of frames in a video" msgstr "" #: src/properties.cpp:1169 msgid "GPS Coordinates" msgstr "" #: src/properties.cpp:1169 msgid "Information about the GPS Coordinates." msgstr "" #: src/properties.cpp:1170 msgid "Date stamp of GPS data, " msgstr "" #: src/properties.cpp:1171 msgid "Direction of image when captured, values range from 0 to 359.99." msgstr "" #: src/properties.cpp:1172 #, fuzzy msgid "Reference for image direction." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:1173 msgid "(North/South). Indicates latitude." msgstr "" #: src/properties.cpp:1174 msgid "(East/West). Indicates longitude." msgstr "" #: src/properties.cpp:1175 #, fuzzy msgid "Geodetic survey data." msgstr "Degrés de précision des données GPS" #: src/properties.cpp:1176 msgid "Satellite information, format is unspecified." msgstr "" #: src/properties.cpp:1177 #, fuzzy msgid "Time stamp of GPS data, " msgstr "Horodatage de la donnée de clé" #: src/properties.cpp:1178 msgid "A decimal encoding with period separators. " msgstr "" #: src/properties.cpp:1179 #, fuzzy msgid "Graphics Mode" msgstr "Mode prise de vue" #: src/properties.cpp:1179 msgid "" "A 16-bit integer that specifies the transfer mode. The transfer mode " "specifies which Booleanoperation QuickDraw should perform when drawing or " "transferring an image from one location to another." msgstr "" #: src/properties.cpp:1181 msgid "Grouping" msgstr "" #: src/properties.cpp:1181 msgid "Information about the Grouping." msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "Handler Class" msgstr "" #: src/properties.cpp:1182 src/properties.cpp:1413 msgid "" "A four-character code that identifies the type of the handler. Only two " "values are valid for this field: 'mhlr' for media handlers and 'dhlr' for " "data handlers." msgstr "" #: src/properties.cpp:1183 src/properties.cpp:1414 #, fuzzy msgid "Handler Description" msgstr "Description de l'image" #: src/properties.cpp:1183 src/properties.cpp:1414 msgid "" "A (counted) string that specifies the name of the component-that is, the " "media handler used when this media was created.." msgstr "" #: src/properties.cpp:1184 src/properties.cpp:1415 #, fuzzy msgid "Handler Type" msgstr "Type d'image" #: src/properties.cpp:1184 src/properties.cpp:1415 msgid "" "A four-character code that identifies the type of the media handler or data " "handler." msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 msgid "Handler Vendor ID" msgstr "" #: src/properties.cpp:1185 src/properties.cpp:1416 #, fuzzy msgid "Component manufacturer." msgstr "Constructeur" #: src/properties.cpp:1186 #, fuzzy msgid "Video Height" msgstr "Nettoyage capteur" #: src/properties.cpp:1186 src/properties.cpp:1309 msgid "Video height in pixels" msgstr "" #: src/properties.cpp:1187 #, fuzzy msgid "Hue Adjustment Settings Information." msgstr "Réglage ajustement image" #: src/properties.cpp:1188 msgid "Image Length, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1189 msgid "Info Banner Image" msgstr "" #: src/properties.cpp:1189 msgid "Information Banner Image." msgstr "" #: src/properties.cpp:1190 msgid "Info Banner URL" msgstr "" #: src/properties.cpp:1190 msgid "Information Banner URL." msgstr "" #: src/properties.cpp:1191 #, fuzzy msgid "Information" msgstr "Informations prise de vue" #: src/properties.cpp:1191 #, fuzzy msgid "Additional Movie Information." msgstr "informations de réglage appareil photo" #: src/properties.cpp:1192 #, fuzzy msgid "Info Text" msgstr "Texte" #: src/properties.cpp:1192 #, fuzzy msgid "Information Text." msgstr "Informations prise de vue" #: src/properties.cpp:1193 #, fuzzy msgid "Info URL" msgstr "Objectif" #: src/properties.cpp:1193 #, fuzzy msgid "Information URL." msgstr "Informations prise de vue" #: src/properties.cpp:1194 msgid "Information about the ISO Setting." msgstr "" #: src/properties.cpp:1195 msgid "ISRC Code" msgstr "" #: src/properties.cpp:1195 msgid "Information about the ISRC Code." msgstr "" #: src/properties.cpp:1196 #, fuzzy msgid "Junk Data" msgstr "Données de l'objectif" #: src/properties.cpp:1196 msgid "Video Junk data" msgstr "" #: src/properties.cpp:1197 #, fuzzy msgid "Language." msgstr "Langue" #: src/properties.cpp:1198 #, fuzzy msgid "Length" msgstr "Longueur focale" #: src/properties.cpp:1198 #, fuzzy msgid "The length of the media file." msgstr "Le type de source lumineuse." #: src/properties.cpp:1200 #, fuzzy msgid "Lens Type." msgstr "Type d'objectif" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness" msgstr "Luminosité" #: src/properties.cpp:1201 #, fuzzy msgid "Lightness." msgstr "Luminosité" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information" msgstr "Informations prise de vue" #: src/properties.cpp:1202 #, fuzzy msgid "Location Information." msgstr "Informations prise de vue" #: src/properties.cpp:1203 msgid "Logo Icon URL" msgstr "" #: src/properties.cpp:1203 msgid "A C string that specifies Logo Icon URL." msgstr "" #: src/properties.cpp:1204 #, fuzzy msgid "Logo URL" msgstr "Objectif" #: src/properties.cpp:1204 msgid "A C string that specifies a Logo URL." msgstr "" #: src/properties.cpp:1205 msgid "Lyrics" msgstr "" #: src/properties.cpp:1205 msgid "Lyrics of a Song/Video." msgstr "" #: src/properties.cpp:1206 msgid "QTime Major FileType Brand" msgstr "" #: src/properties.cpp:1206 msgid "QuickTime Major File Type Brand" msgstr "" #: src/properties.cpp:1207 #, fuzzy msgid "Equipment Make" msgstr "Informations équipement" #: src/properties.cpp:1207 msgid "Manufacturer of recording equipment" msgstr "" #: src/properties.cpp:1208 #, fuzzy msgid "Camera Maker Note Type" msgstr "Marque de l'appareil" #: src/properties.cpp:1208 msgid "Maker Note Type of the camera." msgstr "" #: src/properties.cpp:1209 #, fuzzy msgid "Camera Maker Note Version" msgstr "Version des Notes du fabriquant" #: src/properties.cpp:1209 #, fuzzy msgid "Maker Note Version of the camera." msgstr "Version des Notes du fabriquant" #: src/properties.cpp:1210 #, fuzzy msgid "Maker URL" msgstr "Note du fabriquant" #: src/properties.cpp:1210 #, fuzzy msgid "Camera Manufacturer's URL." msgstr "Constructeur" #: src/properties.cpp:1211 #, fuzzy msgid "Smallest F number of lens, in APEX." msgstr "La distance au sujet, donnée en mètres." #: src/properties.cpp:1212 #, fuzzy msgid "Maximum Bit Rate" msgstr "Valeur maximal d'ouverture" #: src/properties.cpp:1212 msgid "" "Specifies the maximum instantaneous bit rate in bits per second for the " "entire file. This shall equal the sum of the bit rates of the individual " "digital media streams." msgstr "" #: src/properties.cpp:1213 #, fuzzy msgid "Maximum Data Rate" msgstr "Date Minolta" #: src/properties.cpp:1213 msgid "" "Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes " "per Second))" msgstr "" #: src/properties.cpp:1214 src/properties.cpp:1417 #, fuzzy msgid "Media Track Create Date" msgstr "Date de publication" #: src/properties.cpp:1214 src/properties.cpp:1417 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was created." msgstr "" #: src/properties.cpp:1215 src/properties.cpp:1418 #, fuzzy msgid "Media Track Duration" msgstr "Durée audio" #: src/properties.cpp:1215 src/properties.cpp:1418 msgid "" "A time value that indicates the duration of this media (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1216 src/properties.cpp:1419 #, fuzzy msgid "Media Header Version" msgstr "Version du Modèle" #: src/properties.cpp:1216 src/properties.cpp:1419 msgid "A 1-byte specification of the version of this media header" msgstr "" #: src/properties.cpp:1217 src/properties.cpp:1420 #, fuzzy msgid "Media Language Code" msgstr "Mode de mesure GPS" #: src/properties.cpp:1217 src/properties.cpp:1420 msgid "A 16-bit integer that specifies the language code for this media." msgstr "" #: src/properties.cpp:1218 src/properties.cpp:1421 #, fuzzy msgid "Media Track Modify Date" msgstr "Date Minolta" #: src/properties.cpp:1218 src/properties.cpp:1421 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the media header was last modified." msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "Media Time Scale" msgstr "" #: src/properties.cpp:1219 src/properties.cpp:1422 msgid "" "A time value that indicates the time scale for this media-that is, the " "number of time units that pass per second in its time coordinate system." msgstr "" #: src/properties.cpp:1220 #, fuzzy msgid "Medium." msgstr "Moyenne" #: src/properties.cpp:1221 #, fuzzy msgid "Metadata" msgstr "Date Minolta" #: src/properties.cpp:1221 msgid "An array of Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1222 #, fuzzy msgid "Metadata Library" msgstr "Date Minolta" #: src/properties.cpp:1222 msgid "An array of Unregistered Metadata Library Tags and their values." msgstr "" #: src/properties.cpp:1223 #, fuzzy msgid "Metering mode." msgstr "Mode de mesure" #: src/properties.cpp:1224 msgid "Micro Seconds Per Frame" msgstr "" #: src/properties.cpp:1224 msgid "Number of micro seconds per frame, or frame rate" msgstr "" #: src/properties.cpp:1225 #, fuzzy msgid "Mime Type" msgstr "Type d'image" #: src/properties.cpp:1225 msgid "Tells about the video format" msgstr "" #: src/properties.cpp:1226 #, fuzzy msgid "QTime Minor FileType Version" msgstr "Version du fichier" #: src/properties.cpp:1226 msgid "QuickTime Minor File Type Version" msgstr "" #: src/properties.cpp:1227 #, fuzzy msgid "Equipment Model" msgstr "Informations équipement" #: src/properties.cpp:1227 #, fuzzy msgid "Model name or number of equipment." msgstr "Le type de source lumineuse." #: src/properties.cpp:1228 #, fuzzy msgid "Modification Date-Time" msgstr "Nom du pays" #: src/properties.cpp:1228 msgid "Contains the modification date of the video" msgstr "" #: src/properties.cpp:1229 #, fuzzy msgid "Movie Header Version" msgstr "Version du Modèle" #: src/properties.cpp:1230 msgid "Music By" msgstr "" #: src/properties.cpp:1230 msgid "Music By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1231 msgid "Muxing App" msgstr "" #: src/properties.cpp:1231 msgid "" "Contains the name of the library that has been used to create the file (like " "\"libmatroska 0.7.0\")" msgstr "" #: src/properties.cpp:1232 msgid "Name of song or the event." msgstr "" #: src/properties.cpp:1233 #, fuzzy msgid "Next Track ID" msgstr "IFD suivant" #: src/properties.cpp:1233 msgid "" "A 32-bit integer that indicates a value to use for the track ID number of " "the next track added to this movie. Note that 0 is not a valid track ID " "value." msgstr "" #: src/properties.cpp:1234 #, fuzzy msgid "Number Of Colours" msgstr "Le nombre F." #: src/properties.cpp:1234 #, fuzzy msgid "Total number of colours used" msgstr "Numéro séquence (si en mode rafale)" #: src/properties.cpp:1235 #, fuzzy msgid "Number Of Important Colours" msgstr "Le nombre F." #: src/properties.cpp:1235 msgid "Number Of Important Colours, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1236 #, fuzzy msgid "Number Of Parts" msgstr "Le nombre F." #: src/properties.cpp:1236 msgid "Total number of parts in the video." msgstr "" #: src/properties.cpp:1237 msgid "Operation Colours" msgstr "" #: src/properties.cpp:1237 msgid "" "Three 16-bit values that specify the red, green, and blue colors for the " "transfer mode operation indicated in the graphics mode field." msgstr "" #: src/properties.cpp:1238 #, fuzzy msgid "Organization" msgstr "Orientation" #: src/properties.cpp:1238 msgid "Name of organization associated with the video." msgstr "" #: src/properties.cpp:1239 msgid "" "Video Orientation:1 = Horizontal (normal) 2 = Mirror horizontal 3 = Rotate " "180 4 = Mirror vertical 5 = Mirror horizontal and rotate 270 CW 6 = Rotate " "90 CW 7 = Mirror horizontal and rotate 90 CW 8 = Rotate 270 CW" msgstr "" #: src/properties.cpp:1248 #, fuzzy msgid "Part" msgstr "Fête" #: src/properties.cpp:1248 #, fuzzy msgid "Part." msgstr "Fête" #: src/properties.cpp:1249 msgid "Performers" msgstr "" #: src/properties.cpp:1249 msgid "Performers involved in the video." msgstr "" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords" msgstr "Mots-clés" #: src/properties.cpp:1250 #, fuzzy msgid "Performer Keywords." msgstr "Mots-clés" #: src/properties.cpp:1251 msgid "Performer URL" msgstr "" #: src/properties.cpp:1251 msgid "Performer's dedicated URL." msgstr "" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data" msgstr "Infos image" #: src/properties.cpp:1252 #, fuzzy msgid "Picture Control Data." msgstr "Infos image" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Version" msgstr "Infos image" #: src/properties.cpp:1253 #, fuzzy msgid "Picture Control Data Version." msgstr "Infos image" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name" msgstr "Infos image" #: src/properties.cpp:1254 #, fuzzy msgid "Picture Control Name." msgstr "Infos image" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Base" msgstr "Infos image" #: src/properties.cpp:1255 #, fuzzy msgid "Picture Control Data Base." msgstr "Infos image" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust" msgstr "Infos image" #: src/properties.cpp:1256 #, fuzzy msgid "Picture Control Adjust Information." msgstr "Réglage de mode d'image" #: src/properties.cpp:1257 #, fuzzy msgid "Picture Control Quick Adjust" msgstr "Infos image" #: src/properties.cpp:1257 msgid "Picture Control Quick Adjustment Settings." msgstr "" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection" msgstr "Sélection" #: src/properties.cpp:1258 #, fuzzy msgid "Play Selection." msgstr "Sélection" #: src/properties.cpp:1259 #, fuzzy msgid "Play Mode" msgstr "Mode prise de vue" #: src/properties.cpp:1259 msgid "Information about the Play Mode." msgstr "" #: src/properties.cpp:1260 msgid "Chapter Physical Equivalent" msgstr "" #: src/properties.cpp:1260 #, fuzzy msgid "Contains the information of External media." msgstr "Informations prise de vue" #: src/properties.cpp:1263 msgid "Pixels Per Meter X" msgstr "" #: src/properties.cpp:1263 msgid "Pixels Per Meter X, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y" msgstr "" #: src/properties.cpp:1264 msgid "Pixels Per Meter Y, a property inherited from BitMap format" msgstr "" #: src/properties.cpp:1265 msgid "Planes" msgstr "" #: src/properties.cpp:1265 msgid "The number of Image Planes in the video" msgstr "" #: src/properties.cpp:1266 #, fuzzy msgid "Poster Time" msgstr "Temps d'exposition" #: src/properties.cpp:1266 msgid "The time value of the time of the movie poster." msgstr "" #: src/properties.cpp:1267 #, fuzzy msgid "Preferred Rate" msgstr "Date de référence" #: src/properties.cpp:1267 msgid "" "A 32-bit fixed-point number that specifies the rate at which to play this " "movie. A value of 1.0 indicates normal rate." msgstr "" #: src/properties.cpp:1268 msgid "Preferred Volume" msgstr "" #: src/properties.cpp:1268 msgid "" "A 16-bit fixed-point number that specifies how loud to play this movie's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1269 msgid "Preroll" msgstr "" #: src/properties.cpp:1269 msgid "" "Specifies the amount of time to buffer data before starting to play the " "file, in millisecond units. If this value is nonzero,the Play Duration field " "and all of the payload Presentation Time fields have been offset by this " "amount. Therefore, player software must subtract the value in the preroll " "field from the play duration and presentation times to calculate their " "actual values." msgstr "" #: src/properties.cpp:1272 #, fuzzy msgid "Preview Atom Type" msgstr "Données de prévisualisation" #: src/properties.cpp:1272 #, fuzzy msgid "Indicates the type of atom that contains the preview data" msgstr "Identifie le fournisseur et le produit" #: src/properties.cpp:1273 #, fuzzy msgid "Preview Date" msgstr "Données de prévisualisation" #: src/properties.cpp:1273 msgid "The date of the movie preview in local time converted from UTC" msgstr "" #: src/properties.cpp:1274 #, fuzzy msgid "Preview Duration" msgstr "Données de prévisualisation" #: src/properties.cpp:1274 #, fuzzy msgid "The duration of the movie preview in movie time scale units" msgstr "Le type de source lumineuse." #: src/properties.cpp:1275 #, fuzzy msgid "Preview Time" msgstr "Aperçu embarqué" #: src/properties.cpp:1275 msgid "The time value in the movie at which the preview begins." msgstr "" #: src/properties.cpp:1276 #, fuzzy msgid "The version of the movie preview " msgstr "Le type de source lumineuse." #: src/properties.cpp:1277 #, fuzzy msgid "Produced By" msgstr "Identifiant du produit" #: src/properties.cpp:1277 msgid "Produced By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1278 msgid "Producer involved with the video." msgstr "" #: src/properties.cpp:1279 #, fuzzy msgid "Producer Keywords" msgstr "Mots-clés" #: src/properties.cpp:1279 msgid "Information about the Producer Keywords." msgstr "" #: src/properties.cpp:1280 #, fuzzy msgid "Production Aperture Width" msgstr "Ouverture" #: src/properties.cpp:1280 msgid "Production aperture width in pixels" msgstr "" #: src/properties.cpp:1281 #, fuzzy msgid "Production Aperture Height" msgstr "Ouverture" #: src/properties.cpp:1281 msgid "Production aperture height in pixels" msgstr "" #: src/properties.cpp:1282 msgid "Production Designer" msgstr "" #: src/properties.cpp:1282 msgid "Information about the Production Designer." msgstr "" #: src/properties.cpp:1283 #, fuzzy msgid "Production Studio" msgstr "Identifiant du produit" #: src/properties.cpp:1283 msgid "Information about the Production Studio." msgstr "" #: src/properties.cpp:1284 #, fuzzy msgid "Product" msgstr "Identifiant du produit" #: src/properties.cpp:1284 #, fuzzy msgid "Product." msgstr "Identifiant du produit" #: src/properties.cpp:1286 msgid "Rate" msgstr "" #: src/properties.cpp:1286 msgid "Rate." msgstr "" #: src/properties.cpp:1287 msgid "Rated" msgstr "" #: src/properties.cpp:1287 msgid "The age circle required for viewing the video." msgstr "" #: src/properties.cpp:1288 msgid "Rating, eg. 7 or 8 (generally out of 10)." msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name" msgstr "" #: src/properties.cpp:1289 msgid "Record Label Name, or the name of the organization recording the video." msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL" msgstr "" #: src/properties.cpp:1290 msgid "Record Label URL." msgstr "" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright" msgstr "Décalage d'enregistrement" #: src/properties.cpp:1291 #, fuzzy msgid "Recording Copyright." msgstr "Décalage d'enregistrement" #: src/properties.cpp:1292 #, fuzzy msgid "Requirements" msgstr "Objectif" #: src/properties.cpp:1292 msgid "Information about the Requirements." msgstr "" #: src/properties.cpp:1293 msgid "" "Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = " "centimeters." msgstr "" #: src/properties.cpp:1294 msgid "Ripped By" msgstr "" #: src/properties.cpp:1294 msgid "Ripped By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1295 #, fuzzy msgid "Indicates the direction of saturation processing applied by the camera." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/properties.cpp:1296 msgid "Secondary Genre" msgstr "" #: src/properties.cpp:1296 #, fuzzy msgid "The name of the secondary genre.." msgstr "Le type de source lumineuse." #: src/properties.cpp:1297 #, fuzzy msgid "Selection Time" msgstr "Sélection" #: src/properties.cpp:1297 msgid "The time value for the start time of the current selection." msgstr "" #: src/properties.cpp:1298 #, fuzzy msgid "Selection Duration" msgstr "Durée audio" #: src/properties.cpp:1298 msgid "The duration of the current selection in movie time scale units." msgstr "" #: src/properties.cpp:1299 #, fuzzy msgid "Send Duration" msgstr "Saturation" #: src/properties.cpp:1299 msgid "" "Specifies the time needed to send the file in 100-nanosecond units. This " "value should include the duration of the last packet in the content." msgstr "" #: src/properties.cpp:1302 msgid "Software used to generate / create Video data." msgstr "" #: src/properties.cpp:1303 #, fuzzy msgid "Software Version" msgstr "Version du microcode" #: src/properties.cpp:1303 #, fuzzy msgid "The Version of the software used." msgstr "Le type de source lumineuse." #: src/properties.cpp:1304 #, fuzzy msgid "Song Writer" msgstr "Légende" #: src/properties.cpp:1304 #, fuzzy msgid "The name of the song writer." msgstr "Le type de source lumineuse." #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords" msgstr "mots-clés Windows" #: src/properties.cpp:1305 #, fuzzy msgid "Song Writer Keywords." msgstr "Mots-clés" #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits" msgstr "Crédit" #: src/properties.cpp:1307 #, fuzzy msgid "Source Credits." msgstr "Crédit" #: src/properties.cpp:1308 #, fuzzy msgid "Source Form" msgstr "Source" #: src/properties.cpp:1308 #, fuzzy msgid "Source Form." msgstr "Source" #: src/properties.cpp:1309 #, fuzzy msgid "Source Image Height" msgstr "Hauteur de l'image" #: src/properties.cpp:1310 #, fuzzy msgid "Source Image Width" msgstr "Largeur de l'image" #: src/properties.cpp:1310 src/properties.cpp:1385 msgid "Video width in pixels" msgstr "" #: src/properties.cpp:1311 #, fuzzy msgid "Starring" msgstr "Lumière standard A" #: src/properties.cpp:1311 msgid "Starring, name of famous people appearing in the video." msgstr "" #: src/properties.cpp:1312 #, fuzzy msgid "Start Timecode" msgstr "Mode mise au point automatique" #: src/properties.cpp:1313 #, fuzzy msgid "Statistics" msgstr "Statut GPS" #: src/properties.cpp:1313 msgid "Statistics." msgstr "" #: src/properties.cpp:1314 #, fuzzy msgid "Stream Count" msgstr "Priorité obturation" #: src/properties.cpp:1314 #, fuzzy msgid "Total Number Of Streams" msgstr "Le nombre F." #: src/properties.cpp:1315 #, fuzzy msgid "Stream Name" msgstr "Libellé du pays" #: src/properties.cpp:1315 msgid "Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100" msgstr "" #: src/properties.cpp:1316 #, fuzzy msgid "Stream Quality" msgstr "Qualité de l'image" #: src/properties.cpp:1316 #, fuzzy msgid "General Stream Quality" msgstr "Qualité de l'image" #: src/properties.cpp:1317 #, fuzzy msgid "Stream Sample Rate" msgstr "Débit audio" #: src/properties.cpp:1318 #, fuzzy msgid "Stream Sample Count" msgstr "Priorité obturation" #: src/properties.cpp:1319 #, fuzzy msgid "Stream Sample Size" msgstr "Bits des échantillons" #: src/properties.cpp:1319 msgid "General Stream Sample Size" msgstr "" #: src/properties.cpp:1320 #, fuzzy msgid "Stream Type" msgstr "Type d'image" #: src/properties.cpp:1320 msgid "Describes the Stream Type. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1321 #, fuzzy msgid "Subtitles Codec" msgstr "Mode mise au point automatique" #: src/properties.cpp:1321 msgid "Subtitles stream codec, for general purpose" msgstr "" #: src/properties.cpp:1322 msgid "Subtitle Codec Decode Info" msgstr "" #: src/properties.cpp:1322 msgid "" "Contains information the Subtitles codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1323 #, fuzzy msgid "Subtitles Codec Information" msgstr "Informations prise de vue" #: src/properties.cpp:1323 msgid "Contains additional information about subtitles." msgstr "" #: src/properties.cpp:1324 msgid "Subtitle Codec Download URL" msgstr "" #: src/properties.cpp:1324 msgid "Video Subtitle Codec Download URL." msgstr "" #: src/properties.cpp:1325 #, fuzzy msgid "Subtitle Codec Settings" msgstr "Réglage de mode d'image" #: src/properties.cpp:1326 msgid "Subtitle Track Default On" msgstr "" #: src/properties.cpp:1326 msgid "Subtitles Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1327 msgid "Subtitle Track Enabled" msgstr "" #: src/properties.cpp:1327 msgid "Status of Subtitles Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1328 #, fuzzy msgid "Subtitle" msgstr "Le fichier" #: src/properties.cpp:1328 msgid "Subtitle of the video." msgstr "" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords" msgstr "Mots-clés" #: src/properties.cpp:1329 #, fuzzy msgid "Subtitle Keywords." msgstr "Mots-clés" #: src/properties.cpp:1330 #, fuzzy msgid "Subtitles Language" msgstr "Langue" #: src/properties.cpp:1330 #, fuzzy msgid "The Language in which the subtitles is recorded in." msgstr "Le type de source lumineuse." #: src/properties.cpp:1331 msgid "Subtitle Track Forced" msgstr "" #: src/properties.cpp:1331 msgid "Subtitles Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1332 msgid "Subtitle Track Lacing" msgstr "" #: src/properties.cpp:1332 msgid "Subtitles Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1333 #, fuzzy msgid "Subject. " msgstr "Sujet" #: src/properties.cpp:1334 #, fuzzy msgid "TapeName." msgstr "Nom du propriétaire" #: src/properties.cpp:1335 #, fuzzy msgid "Tag Default Setting" msgstr "Réglage flash" #: src/properties.cpp:1335 msgid "If Tag is Default enabled, this value is Yes, else No " msgstr "" #: src/properties.cpp:1336 #, fuzzy msgid "Tag Language" msgstr "Langue" #: src/properties.cpp:1336 msgid "Language that has been used to define tags" msgstr "" #: src/properties.cpp:1337 #, fuzzy msgid "Tag Name" msgstr "Nom du propriétaire" #: src/properties.cpp:1337 msgid "Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1338 msgid "Tag String" msgstr "" #: src/properties.cpp:1338 msgid "Information contained in a Tags" msgstr "" #: src/properties.cpp:1339 #, fuzzy msgid "Target Type" msgstr "Type d'image" #: src/properties.cpp:1339 msgid "" "A string describing the logical level of the object the Tag is referring to." msgstr "" #: src/properties.cpp:1340 msgid "Technician" msgstr "" #: src/properties.cpp:1340 msgid "Technician, in most cases name of person." msgstr "" #: src/properties.cpp:1341 #, fuzzy msgid "Thumbnail Height" msgstr "Longueur de l'aperçu" #: src/properties.cpp:1341 #, fuzzy msgid "Preview Image Thumbnail Height." msgstr "Aperçu embarqué" #: src/properties.cpp:1342 #, fuzzy msgid "Preview Image Thumbnail Length." msgstr "Hauteur de l'image" #: src/properties.cpp:1343 #, fuzzy msgid "Thumbnail Width" msgstr "Longueur de l'aperçu" #: src/properties.cpp:1343 #, fuzzy msgid "Preview Image Thumbnail Width." msgstr "Aperçu embarqué" #: src/properties.cpp:1344 #, fuzzy msgid "Timecode Scale" msgstr "Sous marin" #: src/properties.cpp:1344 msgid "" "Multiplying factor which is helpful in calculation of a particular timecode" msgstr "" #: src/properties.cpp:1345 src/properties.cpp:1428 #, fuzzy msgid "Time Offset" msgstr "Décalage aperçu" #: src/properties.cpp:1345 src/properties.cpp:1428 msgid "" "Specifies the presentation time offset of the stream in 100-nanosecond " "units. This value shall be equal to the send time of the first interleaved " "packet in the data section." msgstr "" #: src/properties.cpp:1346 #, fuzzy msgid "Time Scale" msgstr "Heure d'envoi" #: src/properties.cpp:1346 msgid "" "A time value that indicates the time scale for this movie-that is, the " "number of time units thatpass per second in its time coordinate system. A " "time coordinate system that measures timein sixtieths of a second, for " "example, has a time scale of 60." msgstr "" #: src/properties.cpp:1349 msgid "" "Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two " "Towers', however, Tags could be used to define several titles for a segment." msgstr "" #: src/properties.cpp:1350 msgid "Toning Effect Settings Applied." msgstr "" #: src/properties.cpp:1351 #, fuzzy msgid "Total Frame Count" msgstr "Priorité obturation" #: src/properties.cpp:1352 #, fuzzy msgid "Number Of Streams" msgstr "Le nombre F." #: src/properties.cpp:1352 msgid "" "Total number of streams present in a video. Eg - Video, Audio or Subtitles" msgstr "" #: src/properties.cpp:1353 #, fuzzy msgid "Track" msgstr "Référence de vitesse de GPS" #: src/properties.cpp:1353 msgid "Information about the Track." msgstr "" #: src/properties.cpp:1354 #, fuzzy msgid "Video Track Create Date" msgstr "Débit audio" #: src/properties.cpp:1354 src/properties.cpp:1429 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was created." msgstr "" #: src/properties.cpp:1355 #, fuzzy msgid "Video Track Duration" msgstr "Durée audio" #: src/properties.cpp:1355 src/properties.cpp:1430 msgid "" "A time value that indicates the duration of this track (in the movie's time " "coordinate system)." msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced" msgstr "" #: src/properties.cpp:1356 msgid "Video Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1357 src/properties.cpp:1432 #, fuzzy msgid "Track ID" msgstr "Numéro frame" #: src/properties.cpp:1357 src/properties.cpp:1432 msgid "" "A 32-bit integer that uniquely identifies the track. The value 0 cannot be " "used." msgstr "" #: src/properties.cpp:1358 src/properties.cpp:1433 #, fuzzy msgid "Track Header Version" msgstr "Version des Notes du fabriquant" #: src/properties.cpp:1358 src/properties.cpp:1433 msgid "A 1-byte specification of the version of this track header" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing" msgstr "" #: src/properties.cpp:1359 msgid "Video Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1360 src/properties.cpp:1435 #, fuzzy msgid "Track Language" msgstr "Langue" #: src/properties.cpp:1360 src/properties.cpp:1435 msgid "The Language in which a particular stream is recorded in." msgstr "" #: src/properties.cpp:1361 #, fuzzy msgid "Video Track Layer" msgstr "Débit audio" #: src/properties.cpp:1361 src/properties.cpp:1436 msgid "" "A 16-bit integer that indicates this track's spatial priority in its movie. " "The QuickTime MovieToolbox uses this value to determine how tracks overlay " "one another. Tracks with lower layervalues are displayed in front of tracks " "with higher layer values." msgstr "" #: src/properties.cpp:1364 #, fuzzy msgid "Video Track Modify Date" msgstr "Date Minolta" #: src/properties.cpp:1364 src/properties.cpp:1439 msgid "" "A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) " "when the track header was last modified." msgstr "" #: src/properties.cpp:1365 #, fuzzy msgid "Track Name" msgstr "Numéro frame" #: src/properties.cpp:1365 msgid "Track Name could be used to define titles for a segment." msgstr "" #: src/properties.cpp:1366 #, fuzzy msgid "Track Number." msgstr "Numéro frame" #: src/properties.cpp:1367 src/properties.cpp:1440 #, fuzzy msgid "Track Volume" msgstr "Numéro frame" #: src/properties.cpp:1367 src/properties.cpp:1440 msgid "" "A 16-bit fixed-point number that specifies how loud to play this track's " "sound. A value of 1.0 indicates full volume." msgstr "" #: src/properties.cpp:1368 msgid "Chapter Translate Codec" msgstr "" #: src/properties.cpp:1368 msgid "" "Chapter Translate Codec information. Usually used in Matroska file type." msgstr "" #: src/properties.cpp:1369 src/properties.cpp:1370 #, fuzzy msgid "Unknown Information" msgstr "Informations prise de vue" #: src/properties.cpp:1369 src/properties.cpp:1370 msgid "Unknown / Unregistered Metadata Tags and their values." msgstr "" #: src/properties.cpp:1371 #, fuzzy msgid "Video URL" msgstr "Large" #: src/properties.cpp:1371 src/properties.cpp:1441 msgid "" "A C string that specifies a URL. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1372 #, fuzzy msgid "Video URN" msgstr "Large" #: src/properties.cpp:1372 src/properties.cpp:1442 msgid "" "A C string that specifies a URN. There may be additional data after the C " "string." msgstr "" #: src/properties.cpp:1373 #, fuzzy msgid "Vari Program" msgstr "Logiciel" #: src/properties.cpp:1373 msgid "Software settings used to generate / create Video data." msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major" msgstr "" #: src/properties.cpp:1374 msgid "Vegas Version Major." msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor" msgstr "" #: src/properties.cpp:1375 msgid "Vegas Version Minor." msgstr "" #: src/properties.cpp:1376 msgid "Vendor" msgstr "" #: src/properties.cpp:1376 #, fuzzy msgid "The developer of the compressor that generated the compressed data." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/properties.cpp:1377 src/properties.cpp:1443 #, fuzzy msgid "Vendor ID" msgstr "ID Objectif" #: src/properties.cpp:1377 src/properties.cpp:1443 msgid "" "A 32-bit integer that specifies the developer of the compressor that " "generated the compressed data. Often this field contains 'appl' to indicate " "Apple Computer, Inc." msgstr "" #: src/properties.cpp:1378 #, fuzzy msgid "Video Quality" msgstr "Qualité" #: src/properties.cpp:1378 #, fuzzy msgid "Video Stream Quality" msgstr "Débit audio" #: src/properties.cpp:1379 #, fuzzy msgid "Video Sample Size" msgstr "Espace des couleurs" #: src/properties.cpp:1379 #, fuzzy msgid "Video Stream Sample Size" msgstr "Espace des couleurs" #: src/properties.cpp:1380 #, fuzzy msgid "Video Scan Type" msgstr "Type d'image" #: src/properties.cpp:1380 msgid "Video Scan Type, it can be Progressive or Interlaced" msgstr "" #: src/properties.cpp:1381 msgid "Watermark URL" msgstr "" #: src/properties.cpp:1381 msgid "A C string that specifies a Watermark URL." msgstr "" #: src/properties.cpp:1384 #, fuzzy msgid "White Balance Fine Tune." msgstr "Table de balance des blancs" #: src/properties.cpp:1385 #, fuzzy msgid "Video Width" msgstr "Largeur de l'image" #: src/properties.cpp:1386 #, fuzzy msgid "Window Location" msgstr "Classement Windows" #: src/properties.cpp:1386 msgid "Information about the Window Location." msgstr "" #: src/properties.cpp:1388 #, fuzzy msgid "Written By" msgstr "Auteur de la Description" #: src/properties.cpp:1388 msgid "Written By, i.e. name of person or organization." msgstr "" #: src/properties.cpp:1389 #, fuzzy msgid "Writing App" msgstr "Écriture au format" #: src/properties.cpp:1389 msgid "" "Contains the name of the application used to create the file (like " "\"mkvmerge 0.8.1\")" msgstr "" #: src/properties.cpp:1390 msgid "Horizontal resolution in pixels per unit." msgstr "" #: src/properties.cpp:1391 src/properties.cpp:1667 msgid "Year" msgstr "" #: src/properties.cpp:1391 #, fuzzy msgid "Year in which the video was made." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:1392 msgid "Vertical resolution in pixels per unit." msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second" msgstr "" #: src/properties.cpp:1397 msgid "Average Bytes Per Second found in audio stream" msgstr "" #: src/properties.cpp:1398 #, fuzzy msgid "Balance" msgstr "Balance des rouges" #: src/properties.cpp:1398 #, fuzzy msgid "Indicates the left-right balance of the audio" msgstr "Ce marqueur indique la distance au sujet." #: src/properties.cpp:1399 #, fuzzy msgid "Bits Per Sample/ Bit Rate" msgstr "Bits des échantillons" #: src/properties.cpp:1399 #, fuzzy msgid "Bits per test sample" msgstr "Bits des échantillons" #: src/properties.cpp:1401 #, fuzzy msgid "Audio Codec" msgstr "Compression" #: src/properties.cpp:1401 msgid "Codec used for Audio Encoding/Decoding" msgstr "" #: src/properties.cpp:1402 msgid "Audio Codec Decode Info" msgstr "" #: src/properties.cpp:1402 msgid "Contains information the audio codec decode all, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1403 #, fuzzy msgid "Audio Codec Description" msgstr "Description de l'image" #: src/properties.cpp:1404 msgid "Audio Codec Download URL" msgstr "" #: src/properties.cpp:1404 msgid "Audio Codec Download URL." msgstr "" #: src/properties.cpp:1405 #, fuzzy msgid "Audio Codec Information" msgstr "Informations prise de vue" #: src/properties.cpp:1405 msgid "" "Contains information the codec needs before decoding can be started. An " "example is the Vorbis initialization packets for Vorbis audio." msgstr "" #: src/properties.cpp:1406 #, fuzzy msgid "Audio Codec Settings" msgstr "Réglage mode de mise au point" #: src/properties.cpp:1408 #, fuzzy msgid "Audio Default Duration" msgstr "Durée audio" #: src/properties.cpp:1408 msgid "The number of micro seconds an audio chunk plays." msgstr "" #: src/properties.cpp:1409 #, fuzzy msgid "Audio Default Stream" msgstr "Défaut" #: src/properties.cpp:1409 msgid "Audio Stream that would be played by default." msgstr "" #: src/properties.cpp:1410 #, fuzzy msgid "Audio Track Default On" msgstr "Bracketing automatique" #: src/properties.cpp:1410 msgid "Audio Track Default On , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1411 msgid "Audio Track Enabled" msgstr "" #: src/properties.cpp:1411 msgid "Status of Audio Track, i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1412 #, fuzzy msgid "Audio Format" msgstr "Débit audio" #: src/properties.cpp:1412 msgid "A four-character code that identifies the format of the audio." msgstr "" #: src/properties.cpp:1423 #, fuzzy msgid "Output Audio Sample Rate" msgstr "Débit audio" #: src/properties.cpp:1423 msgid "" "The output audio sample rate. Can be any value, but commonly 32000, 41100, " "or 48000." msgstr "" #: src/properties.cpp:1424 #, fuzzy msgid "Audio Sample Count" msgstr "Débit audio" #: src/properties.cpp:1424 msgid "Sample taken for Analyzing Audio Stream" msgstr "" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title" msgstr "n'a été trouvé dans le fichier" #: src/properties.cpp:1427 #, fuzzy msgid "Sound Scheme Title." msgstr "n'a été trouvé dans le fichier" #: src/properties.cpp:1429 #, fuzzy msgid "Audio Track Create Date" msgstr "Bracketing automatique" #: src/properties.cpp:1430 #, fuzzy msgid "Audio Track Duration" msgstr "Durée audio" #: src/properties.cpp:1431 #, fuzzy msgid "Audio Track Forced" msgstr "Bracketing automatique" #: src/properties.cpp:1431 msgid "Audio Track Forced , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1434 #, fuzzy msgid "Audio Track Lacing" msgstr "Durée audio" #: src/properties.cpp:1434 msgid "Audio Track Lacing , i.e. Enabled/Disabled" msgstr "" #: src/properties.cpp:1436 #, fuzzy msgid "Audio Track Layer" msgstr "Type audio" #: src/properties.cpp:1439 #, fuzzy msgid "Audio Track Modify Date" msgstr "Débit audio" #: src/properties.cpp:1441 #, fuzzy msgid "Audio URL" msgstr "Débit audio" #: src/properties.cpp:1442 #, fuzzy msgid "Audio URN" msgstr "Débit audio" #: src/properties.cpp:1449 #, fuzzy msgid "The nature or genre of the resource." msgstr "Le type de source lumineuse." #: src/properties.cpp:1450 #, fuzzy msgid "Date Modified" msgstr "Identifiant ARM" #: src/properties.cpp:1450 #, fuzzy msgid "Date on which the resource was changed." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:1451 #, fuzzy msgid "A language of the resource." msgstr "Le type de source lumineuse." #: src/properties.cpp:1452 #, fuzzy msgid "License" msgstr "Objectif" #: src/properties.cpp:1452 msgid "" "A legal document giving official permission to do something with the " "resource." msgstr "" #: src/properties.cpp:1453 #, fuzzy msgid "Rights Holder" msgstr "Zone droite" #: src/properties.cpp:1453 msgid "A person or organization owning or managing rights over the resource." msgstr "" #: src/properties.cpp:1454 #, fuzzy msgid "Access Rights" msgstr "Droit" #: src/properties.cpp:1454 msgid "" "Information about who can access the resource or an indication of its " "security status." msgstr "" #: src/properties.cpp:1455 msgid "Bibliographic Citation" msgstr "" #: src/properties.cpp:1455 msgid "A bibliographic reference for the resource." msgstr "" #: src/properties.cpp:1456 #, fuzzy msgid "References" msgstr "Date de référence" #: src/properties.cpp:1456 msgid "" "A related resource that is referenced, cited, or otherwise pointed to by the " "described resource." msgstr "" #: src/properties.cpp:1459 msgid "*Main structure* containing Darwin Core location based information." msgstr "" #: src/properties.cpp:1468 #, fuzzy msgid "Record" msgstr "Identifiant du produit" #: src/properties.cpp:1469 msgid "*Main structure* containing record based information." msgstr "" #: src/properties.cpp:1472 #, fuzzy msgid "Institution ID" msgstr "Instructions" #: src/properties.cpp:1473 msgid "" "An identifier for the institution having custody of the object(s) or " "information referred to in the record." msgstr "" #: src/properties.cpp:1475 #, fuzzy msgid "Collection ID" msgstr "Sélection" #: src/properties.cpp:1476 msgid "" "An identifier for the collection or dataset from which the record was " "derived. For physical specimens, the recommended best practice is to use the " "identifier in a collections registry such as the Biodiversity Collections " "Index (http://www.biodiversitycollectionsindex.org/)." msgstr "" #: src/properties.cpp:1478 #, fuzzy msgid "Institution Code" msgstr "Mode résolution" #: src/properties.cpp:1479 msgid "" "The name (or acronym) in use by the institution having custody of the object" "(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1481 #, fuzzy msgid "Dataset ID" msgstr "Formulaire de donné" #: src/properties.cpp:1482 msgid "" "An identifier for the set of data. May be a global unique identifier or an " "identifier specific to a collection or institution." msgstr "" #: src/properties.cpp:1484 #, fuzzy msgid "Collection Code" msgstr "Code du pays" #: src/properties.cpp:1485 msgid "" "The name, acronym, coden, or initialism identifying the collection or data " "set from which the record was derived." msgstr "" #: src/properties.cpp:1487 #, fuzzy msgid "Dataset Name" msgstr "Nom du propriétaire" #: src/properties.cpp:1488 #, fuzzy msgid "The name identifying the data set from which the record was derived." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:1490 msgid "Owner Institution Code" msgstr "" #: src/properties.cpp:1491 msgid "" "The name (or acronym) in use by the institution having ownership of the " "object(s) or information referred to in the record." msgstr "" #: src/properties.cpp:1493 msgid "Basis Of Record" msgstr "" #: src/properties.cpp:1494 msgid "" "The specific nature of the data record - a subtype of the type. Recommended " "best practice is to use a controlled vocabulary such as the Darwin Core Type " "Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm)." msgstr "" #: src/properties.cpp:1496 #, fuzzy msgid "Information Withheld" msgstr "Informations prise de vue" #: src/properties.cpp:1497 msgid "" "Additional information that exists, but that has not been shared in the " "given record." msgstr "" #: src/properties.cpp:1499 msgid "Data Generalizations" msgstr "" #: src/properties.cpp:1500 msgid "" "Actions taken to make the shared data less specific or complete than in its " "original form. Suggests that alternative data of higher quality may be " "available on request." msgstr "" #: src/properties.cpp:1502 #, fuzzy msgid "Dynamic Properties" msgstr "Température de l'objectif" #: src/properties.cpp:1503 msgid "" "A list (concatenated and separated) of additional measurements, facts, " "characteristics, or assertions about the record. Meant to provide a " "mechanism for structured content such as key-value pairs." msgstr "" #: src/properties.cpp:1507 #, fuzzy msgid "Occurrence" msgstr "ID Objectif" #: src/properties.cpp:1508 msgid "*Main structure* containing occurrence based information." msgstr "" #: src/properties.cpp:1511 #, fuzzy msgid "Occurrence ID" msgstr "ID Objectif" #: src/properties.cpp:1512 msgid "" "An identifier for the Occurrence (as opposed to a particular digital record " "of the occurrence). In the absence of a persistent global unique identifier, " "construct one from a combination of identifiers in the record that will most " "closely make the occurrenceID globally unique." msgstr "" #: src/properties.cpp:1514 #, fuzzy msgid "Catalog Number" msgstr "Nombre d'intervalle" #: src/properties.cpp:1515 msgid "" "An identifier (preferably unique) for the record within the data set or " "collection." msgstr "" #: src/properties.cpp:1517 #, fuzzy msgid "Occurrence Details" msgstr "ID Objectif" #: src/properties.cpp:1518 msgid "Depreciated. Details about the Occurrence." msgstr "" #: src/properties.cpp:1520 msgid "Occurrence Remarks" msgstr "" #: src/properties.cpp:1521 msgid "Comments or notes about the Occurrence." msgstr "" #: src/properties.cpp:1523 #, fuzzy msgid "Record Number" msgstr "Numéro ordre" #: src/properties.cpp:1524 msgid "" "An identifier given to the Occurrence at the time it was recorded. Often " "serves as a link between field notes and an Occurrence record, such as a " "specimen collector's number." msgstr "" #: src/properties.cpp:1526 #, fuzzy msgid "Recorded By" msgstr "Identifiant du produit" #: src/properties.cpp:1527 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations responsible for recording the original Occurrence. The primary " "collector or observer, especially one who applies a personal identifier " "(recordNumber), should be listed first." msgstr "" #: src/properties.cpp:1529 msgid "Individual ID" msgstr "" #: src/properties.cpp:1530 msgid "" "Depreciated. An identifier for an individual or named group of individual " "organisms represented in the Occurrence. Meant to accommodate resampling of " "the same individual or group for monitoring purposes. May be a global unique " "identifier or an identifier specific to a data set." msgstr "" #: src/properties.cpp:1532 msgid "Individual Count" msgstr "" #: src/properties.cpp:1533 msgid "" "The number of individuals represented present at the time of the Occurrence." msgstr "" #: src/properties.cpp:1535 #, fuzzy msgid "Organism Quantity" msgstr "Qualité de l'image" #: src/properties.cpp:1536 msgid "A number or enumeration value for the quantity of organisms." msgstr "" #: src/properties.cpp:1538 msgid "Organism Quantity Type" msgstr "" #: src/properties.cpp:1539 msgid "The type of quantification system used for the quantity of organisms." msgstr "" #: src/properties.cpp:1541 #, fuzzy msgid "Sex" msgstr "Définition de" #: src/properties.cpp:1542 msgid "" "The sex of the biological individual(s) represented in the Occurrence. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1544 msgid "Life Stage" msgstr "" #: src/properties.cpp:1545 msgid "" "The age class or life stage of the biological individual(s) at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1547 #, fuzzy msgid "Reproductive Condition" msgstr "Identifiant du produit" #: src/properties.cpp:1548 msgid "" "The reproductive condition of the biological individual(s) represented in " "the Occurrence. Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1550 msgid "Behavior" msgstr "" #: src/properties.cpp:1551 msgid "" "A description of the behavior shown by the subject at the time the " "Occurrence was recorded. Recommended best practice is to use a controlled " "vocabulary." msgstr "" #: src/properties.cpp:1553 msgid "Establishment Means" msgstr "" #: src/properties.cpp:1554 msgid "" "The process by which the biological individual(s) represented in the " "Occurrence became established at the location. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1556 msgid "Occurrence Status" msgstr "" #: src/properties.cpp:1557 msgid "" "A statement about the presence or absence of a Taxon at a Location. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1559 #, fuzzy msgid "Preparations" msgstr "Saturation" #: src/properties.cpp:1560 msgid "" "A list (concatenated and separated) of preparations and preservation methods " "for a specimen." msgstr "" #: src/properties.cpp:1562 #, fuzzy msgid "Disposition" msgstr "Position mise au point" #: src/properties.cpp:1563 msgid "" "The current state of a specimen with respect to the collection identified in " "collectionCode or collectionID. Recommended best practice is to use a " "controlled vocabulary." msgstr "" #: src/properties.cpp:1565 #, fuzzy msgid "Other Catalog Numbers" msgstr "Nombre d'intervalle" #: src/properties.cpp:1566 msgid "" "A list (concatenated and separated) of previous or alternate fully qualified " "catalog numbers or other human-used identifiers for the same Occurrence, " "whether in the current or any other data set or collection." msgstr "" #: src/properties.cpp:1568 src/properties.cpp:1607 #, fuzzy msgid "Previous Identifications" msgstr "Version du Modèle" #: src/properties.cpp:1569 msgid "" "Depreciated. A list (concatenated and separated) of previous assignments of " "names to the Occurrence." msgstr "" #: src/properties.cpp:1571 #, fuzzy msgid "Associated Media" msgstr "Continue" #: src/properties.cpp:1572 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of media associated with the Occurrence." msgstr "" #: src/properties.cpp:1574 #, fuzzy msgid "Associated References" msgstr "Date de référence" #: src/properties.cpp:1575 msgid "" "A list (concatenated and separated) of identifiers (publication, " "bibliographic reference, global unique identifier, URI) of literature " "associated with the Occurrence." msgstr "" #: src/properties.cpp:1577 msgid "Associated Occurrences" msgstr "" #: src/properties.cpp:1578 msgid "" "Depreciated. A list (concatenated and separated) of identifiers of other " "Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1580 #, fuzzy msgid "Associated Sequences" msgstr "Séquence" #: src/properties.cpp:1581 msgid "" "A list (concatenated and separated) of identifiers (publication, global " "unique identifier, URI) of genetic sequence information associated with the " "Occurrence." msgstr "" #: src/properties.cpp:1583 msgid "Associated Taxa" msgstr "" #: src/properties.cpp:1584 msgid "" "A list (concatenated and separated) of identifiers or names of taxa and " "their associations with the Occurrence." msgstr "" #: src/properties.cpp:1588 #, fuzzy msgid "Organism" msgstr "Orientation" #: src/properties.cpp:1589 msgid "*Main structure* containing organism based information." msgstr "" #: src/properties.cpp:1592 msgid "Organism ID" msgstr "" #: src/properties.cpp:1593 msgid "" "An identifier for the Organism instance (as opposed to a particular digital " "record of the Organism). May be a globally unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1595 #, fuzzy msgid "Organism Name" msgstr "Libellé du pays" #: src/properties.cpp:1596 msgid "A textual name or label assigned to an Organism instance." msgstr "" #: src/properties.cpp:1598 msgid "Organism Scope" msgstr "" #: src/properties.cpp:1599 msgid "" "A description of the kind of Organism instance. Can be used to indicate " "whether the Organism instance represents a discrete organism or if it " "represents a particular type of aggregation. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1601 #, fuzzy msgid "Organism Associated Occurrences" msgstr "Séquence" #: src/properties.cpp:1602 msgid "" "A list (concatenated and separated with a vertical bar ' | ') of identifiers " "of other Occurrence records and their associations to this Occurrence." msgstr "" #: src/properties.cpp:1604 #, fuzzy msgid "Associated Organisms" msgstr "Date de référence" #: src/properties.cpp:1605 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of " "identifiers of other Organisms and their associations to this Organism." msgstr "" #: src/properties.cpp:1608 msgid "" "A list (concatenated and separated with a vertical bar ' | ' ) of previous " "assignments of names to the Organism." msgstr "" #: src/properties.cpp:1610 #, fuzzy msgid "Organism Remarks" msgstr "Index interopérabilité" #: src/properties.cpp:1611 msgid "Comments or notes about the Organism instance." msgstr "" #: src/properties.cpp:1615 #, fuzzy msgid "Material Sample" msgstr "Bits des échantillons" #: src/properties.cpp:1616 msgid "*Main structure* containing material sample based information." msgstr "" #: src/properties.cpp:1618 #, fuzzy msgid "Living Specimen" msgstr "Soirée" #: src/properties.cpp:1619 msgid "" "*Main structure* containing living specimen based information. A specimen " "that is alive." msgstr "" #: src/properties.cpp:1621 msgid "Preserved Specimen" msgstr "" #: src/properties.cpp:1622 msgid "" "*Main structure* containing preserved specimen based information. A specimen " "that has been preserved." msgstr "" #: src/properties.cpp:1624 msgid "Fossil Specimen" msgstr "" #: src/properties.cpp:1625 msgid "" "*Main structure* containing fossil specimen based information. A preserved " "specimen that is a fossil." msgstr "" #: src/properties.cpp:1628 #, fuzzy msgid "Material Sample ID" msgstr "Bits des échantillons" #: src/properties.cpp:1629 msgid "" "An identifier for the MaterialSample (as opposed to a particular digital " "record of the material sample). In the absence of a persistent global unique " "identifier, construct one from a combination of identifiers in the record " "that will most closely make the materialSampleID globally unique." msgstr "" #: src/properties.cpp:1634 msgid "*Main structure* containing event based information." msgstr "" #: src/properties.cpp:1636 msgid "Human Observation" msgstr "" #: src/properties.cpp:1637 msgid "*Main structure* containing human observation based information." msgstr "" #: src/properties.cpp:1639 msgid "Machine Observation" msgstr "" #: src/properties.cpp:1640 msgid "*Main structure* containing machine observation based information." msgstr "" #: src/properties.cpp:1643 #, fuzzy msgid "Event ID" msgstr "Soirée" #: src/properties.cpp:1644 msgid "" "An identifier for the set of information associated with an Event (something " "that occurs at a place and time). May be a global unique identifier or an " "identifier specific to the data set." msgstr "" #: src/properties.cpp:1646 #, fuzzy msgid "Parent Event ID" msgstr "Soirée" #: src/properties.cpp:1647 msgid "" "An identifier for the broader Event that groups this and potentially other " "Events." msgstr "" #: src/properties.cpp:1649 #, fuzzy msgid "Event Date" msgstr "Date de publication" #: src/properties.cpp:1650 msgid "" "The date-time or interval during which an Event occurred. For occurrences, " "this is the date-time when the event was recorded. Not suitable for a time " "in a geological context. Recommended best practice is to use an encoding " "scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1652 #, fuzzy msgid "Event Earliest Date" msgstr "Date de publication" #: src/properties.cpp:1653 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event started. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1655 #, fuzzy msgid "Event Latest Date" msgstr "Date de publication" #: src/properties.cpp:1656 msgid "" "Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which " "an Event ended. For occurrences, this is the date-time when the event was " "recorded. Not suitable for a time in a geological context. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1658 #, fuzzy msgid "Event Time" msgstr "Profil couleur" #: src/properties.cpp:1659 msgid "" "The time or interval during which an Event occurred. Recommended best " "practice is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1661 msgid "Start Day Of Year" msgstr "" #: src/properties.cpp:1662 msgid "" "The earliest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1664 msgid "End Day Of Year" msgstr "" #: src/properties.cpp:1665 msgid "" "The latest ordinal day of the year on which the Event occurred (1 for " "January 1, 365 for December 31, except in a leap year, in which case it is " "366)." msgstr "" #: src/properties.cpp:1668 msgid "" "The four-digit year in which the Event occurred, according to the Common Era " "Calendar." msgstr "" #: src/properties.cpp:1670 #, fuzzy msgid "Month" msgstr "mois" #: src/properties.cpp:1671 #, fuzzy msgid "The ordinal month in which the Event occurred." msgstr "Le type de source lumineuse." #: src/properties.cpp:1673 #, fuzzy msgid "Day" msgstr "Délai" #: src/properties.cpp:1674 msgid "The integer day of the month on which the Event occurred." msgstr "" #: src/properties.cpp:1676 #, fuzzy msgid "Verbatim Event Date" msgstr "Date de publication" #: src/properties.cpp:1677 msgid "" "The verbatim original representation of the date and time information for an " "Event." msgstr "" #: src/properties.cpp:1679 msgid "Habitat" msgstr "" #: src/properties.cpp:1680 msgid "A category or description of the habitat in which the Event occurred." msgstr "" #: src/properties.cpp:1682 msgid "Sampling Protocol" msgstr "" #: src/properties.cpp:1683 msgid "" "The name of, reference to, or description of the method or protocol used " "during an Event." msgstr "" #: src/properties.cpp:1685 #, fuzzy msgid "Sampling Effort" msgstr "Format du fichier" #: src/properties.cpp:1686 msgid "The amount of effort expended during an Event." msgstr "" #: src/properties.cpp:1688 #, fuzzy msgid "Sampling Size Value" msgstr "Débit audio" #: src/properties.cpp:1689 msgid "" "A numeric value for a measurement of the size (time duration, length, area, " "or volume) of a sample in a sampling event." msgstr "" #: src/properties.cpp:1691 #, fuzzy msgid "Sampling Size Unit" msgstr "Format du fichier" #: src/properties.cpp:1692 msgid "" "The unit of measurement of the size (time duration, length, area, or volume) " "of a sample in a sampling event." msgstr "" #: src/properties.cpp:1694 #, fuzzy msgid "Field Number" msgstr "Nombre F" #: src/properties.cpp:1695 msgid "" "An identifier given to the event in the field. Often serves as a link " "between field notes and the Event." msgstr "" #: src/properties.cpp:1697 #, fuzzy msgid "Field Notes" msgstr "Température de l'objectif" #: src/properties.cpp:1698 msgid "" "One of (a) an indicator of the existence of, (b) a reference to " "(publication, URI), or (c) the text of notes taken in the field about the " "Event." msgstr "" #: src/properties.cpp:1700 msgid "Event Remarks" msgstr "" #: src/properties.cpp:1701 msgid "Comments or notes about the Event." msgstr "" #: src/properties.cpp:1705 #, fuzzy msgid "Location Class" msgstr "Code du pays" #: src/properties.cpp:1706 msgid "" "Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing " "location based information." msgstr "" #: src/properties.cpp:1709 #, fuzzy msgid "Location ID" msgstr "Lieu précis" #: src/properties.cpp:1710 msgid "" "An identifier for the set of location information (data associated with " "Location). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1712 msgid "Higher Geography ID" msgstr "" #: src/properties.cpp:1713 msgid "" "An identifier for the geographic region within which the Location occurred. " "Recommended best practice is to use an persistent identifier from a " "controlled vocabulary such as the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1715 msgid "Higher Geography" msgstr "" #: src/properties.cpp:1716 msgid "" "A list (concatenated and separated) of geographic names less specific than " "the information captured in the locality term." msgstr "" #: src/properties.cpp:1718 #, fuzzy msgid "Continent" msgstr "Continue" #: src/properties.cpp:1719 msgid "" "The name of the continent in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names or the ISO 3166 Continent code." msgstr "" #: src/properties.cpp:1721 msgid "Water Body" msgstr "" #: src/properties.cpp:1722 msgid "" "The name of the water body in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1724 msgid "Island Group" msgstr "" #: src/properties.cpp:1725 msgid "" "The name of the island group in which the Location occurs. Recommended best " "practice is to use a controlled vocabulary such as the Getty Thesaurus of " "Geographic Names." msgstr "" #: src/properties.cpp:1727 msgid "Island" msgstr "" #: src/properties.cpp:1728 msgid "" "The name of the island on or near which the Location occurs. Recommended " "best practice is to use a controlled vocabulary such as the Getty Thesaurus " "of Geographic Names." msgstr "" #: src/properties.cpp:1731 msgid "" "The name of the country or major administrative unit in which the Location " "occurs. Recommended best practice is to use a controlled vocabulary such as " "the Getty Thesaurus of Geographic Names." msgstr "" #: src/properties.cpp:1734 msgid "" "The standard code for the country in which the Location occurs. Recommended " "best practice is to use ISO 3166-1-alpha-2 country codes." msgstr "" #: src/properties.cpp:1736 #, fuzzy msgid "State Province" msgstr "État/Région" #: src/properties.cpp:1737 msgid "" "The name of the next smaller administrative region than country (state, " "province, canton, department, region, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1739 #, fuzzy msgid "County" msgstr "Pays" #: src/properties.cpp:1740 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "stateProvince (county, shire, department, etc.) in which the Location occurs." msgstr "" #: src/properties.cpp:1742 #, fuzzy msgid "Municipality" msgstr "Qualité" #: src/properties.cpp:1743 msgid "" "The full, unabbreviated name of the next smaller administrative region than " "county (city, municipality, etc.) in which the Location occurs. Do not use " "this term for a nearby named place that does not contain the actual location." msgstr "" #: src/properties.cpp:1745 #, fuzzy msgid "Locality" msgstr "Lieu précis" #: src/properties.cpp:1746 msgid "" "The specific description of the place. Less specific geographic information " "can be provided in other geographic terms (higherGeography, continent, " "country, stateProvince, county, municipality, waterBody, island, " "islandGroup). This term may contain information modified from the original " "to correct perceived errors or standardize the description." msgstr "" #: src/properties.cpp:1748 msgid "Verbatim Locality" msgstr "" #: src/properties.cpp:1749 msgid "The original textual description of the place." msgstr "" #: src/properties.cpp:1751 msgid "Verbatim Elevation" msgstr "" #: src/properties.cpp:1752 msgid "" "The original description of the elevation (altitude, usually above sea " "level) of the Location." msgstr "" #: src/properties.cpp:1754 msgid "Minimum Elevation In Meters" msgstr "" #: src/properties.cpp:1755 msgid "" "The lower limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1757 msgid "Maximum Elevation In Meters" msgstr "" #: src/properties.cpp:1758 msgid "" "The upper limit of the range of elevation (altitude, usually above sea " "level), in meters." msgstr "" #: src/properties.cpp:1760 msgid "Verbatim Depth" msgstr "" #: src/properties.cpp:1761 msgid "The original description of the depth below the local surface." msgstr "" #: src/properties.cpp:1763 msgid "Minimum Depth In Meters" msgstr "" #: src/properties.cpp:1764 msgid "" "The lesser depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1766 #, fuzzy msgid "Maximum Depth In Meters" msgstr "Date Minolta" #: src/properties.cpp:1767 msgid "" "The greater depth of a range of depth below the local surface, in meters." msgstr "" #: src/properties.cpp:1769 msgid "Minimum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1770 msgid "" "The lesser distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1772 msgid "Maximum Distance Above Surface In Meters" msgstr "" #: src/properties.cpp:1773 msgid "" "The greater distance in a range of distance from a reference surface in the " "vertical direction, in meters. Use positive values for locations above the " "surface, negative values for locations below. If depth measures are given, " "the reference surface is the location given by the depth, otherwise the " "reference surface is the location given by the elevation." msgstr "" #: src/properties.cpp:1775 #, fuzzy msgid "Location According To" msgstr "Code du pays" #: src/properties.cpp:1776 msgid "" "Information about the source of this Location information. Could be a " "publication (gazetteer), institution, or team of individuals." msgstr "" #: src/properties.cpp:1778 #, fuzzy msgid "Location Remarks" msgstr "Code du pays" #: src/properties.cpp:1779 msgid "Comments or notes about the Location." msgstr "" #: src/properties.cpp:1781 msgid "Verbatim Coordinates" msgstr "" #: src/properties.cpp:1782 msgid "" "The verbatim original spatial coordinates of the Location. The coordinate " "ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these " "coordinates should be stored in verbatimSRS and the coordinate system should " "be stored in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1784 #, fuzzy msgid "Verbatim Latitude" msgstr "Latitude de destination GPS" #: src/properties.cpp:1785 msgid "" "The verbatim original latitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1787 #, fuzzy msgid "Verbatim Longitude" msgstr "Longitude de destination GPS" #: src/properties.cpp:1788 msgid "" "The verbatim original longitude of the Location. The coordinate ellipsoid, " "geodeticDatum, or full Spatial Reference System (SRS) for these coordinates " "should be stored in verbatimSRS and the coordinate system should be stored " "in verbatimCoordinateSystem." msgstr "" #: src/properties.cpp:1790 msgid "Verbatim Coordinate System" msgstr "" #: src/properties.cpp:1791 msgid "" "The spatial coordinate system for the verbatimLatitude and verbatimLongitude " "or the verbatimCoordinates of the Location. Recommended best practice is to " "use a controlled vocabulary." msgstr "" #: src/properties.cpp:1793 msgid "Verbatim SRS" msgstr "" #: src/properties.cpp:1794 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "coordinates given in verbatimLatitude and verbatimLongitude, or " "verbatimCoordinates are based. Recommended best practice is use the EPSG " "code as a controlled vocabulary to provide an SRS, if known. Otherwise use a " "controlled vocabulary for the name or code of the geodetic datum, if known. " "Otherwise use a controlled vocabulary for the name or code of the ellipsoid, " "if known. If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1796 #, fuzzy msgid "Decimal Latitude" msgstr "Latitude de destination GPS" #: src/properties.cpp:1797 msgid "" "The geographic latitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are north of the Equator, negative values are south of it. " "Legal values lie between -90 and 90, inclusive." msgstr "" #: src/properties.cpp:1799 #, fuzzy msgid "Decimal Longitude" msgstr "Longitude GPS" #: src/properties.cpp:1800 msgid "" "The geographic longitude (in decimal degrees, using the spatial reference " "system given in geodeticDatum) of the geographic center of a Location. " "Positive values are east of the Greenwich Meridian, negative values are west " "of it. Legal values lie between -180 and 180, inclusive." msgstr "" #: src/properties.cpp:1802 #, fuzzy msgid "Geodetic Datum" msgstr "Degrés de précision des données GPS" #: src/properties.cpp:1803 msgid "" "The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which " "the geographic coordinates given in decimalLatitude and decimalLongitude as " "based. Recommended best practice is use the EPSG code as a controlled " "vocabulary to provide an SRS, if known. Otherwise use a controlled " "vocabulary for the name or code of the geodetic datum, if known. Otherwise " "use a controlled vocabulary for the name or code of the ellipsoid, if known. " "If none of these is known, use the value \"unknown\"." msgstr "" #: src/properties.cpp:1805 msgid "Coordinate Uncertainty In Meters" msgstr "" #: src/properties.cpp:1806 msgid "" "The horizontal distance (in meters) from the given decimalLatitude and " "decimalLongitude describing the smallest circle containing the whole of the " "Location. Leave the value empty if the uncertainty is unknown, cannot be " "estimated, or is not applicable (because there are no coordinates). Zero is " "not a valid value for this term." msgstr "" #: src/properties.cpp:1808 msgid "Coordinate Precision" msgstr "" #: src/properties.cpp:1809 msgid "" "A decimal representation of the precision of the coordinates given in the " "decimalLatitude and decimalLongitude." msgstr "" #: src/properties.cpp:1811 msgid "Point Radius Spatial Fit" msgstr "" #: src/properties.cpp:1812 #, c-format msgid "" "The ratio of the area of the point-radius (decimalLatitude, " "decimalLongitude, coordinateUncertaintyInMeters) to the area of the true " "(original, or most specific) spatial representation of the Location. Legal " "values are 0, greater than or equal to 1, or undefined. A value of 1 is an " "exact match or 100% overlap. A value of 0 should be used if the given point-" "radius does not completely contain the original representation. The " "pointRadiusSpatialFit is undefined (and should be left blank) if the " "original representation is a point without uncertainty and the given " "georeference is not that same point (without uncertainty). If both the " "original and the given georeference are the same point, the " "pointRadiusSpatialFit is 1." msgstr "" #: src/properties.cpp:1814 msgid "Footprint WKT" msgstr "" #: src/properties.cpp:1815 msgid "" "A Well-Known Text (WKT) representation of the shape (footprint, geometry) " "that defines the Location. A Location may have both a point-radius " "representation (see decimalLatitude) and a footprint representation, and " "they may differ from each other." msgstr "" #: src/properties.cpp:1817 msgid "Footprint SRS" msgstr "" #: src/properties.cpp:1818 msgid "" "A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) " "for the footprintWKT of the Location. Do not use this term to describe the " "SRS of the decimalLatitude and decimalLongitude, even if it is the same as " "for the footprintWKT - use the geodeticDatum instead." msgstr "" #: src/properties.cpp:1820 msgid "Footprint Spatial Fit" msgstr "" #: src/properties.cpp:1821 #, c-format msgid "" "The ratio of the area of the footprint (footprintWKT) to the area of the " "true (original, or most specific) spatial representation of the Location. " "Legal values are 0, greater than or equal to 1, or undefined. A value of 1 " "is an exact match or 100% overlap. A value of 0 should be used if the given " "footprint does not completely contain the original representation. The " "footprintSpatialFit is undefined (and should be left blank) if the original " "representation is a point and the given georeference is not that same point. " "If both the original and the given georeference are the same point, the " "footprintSpatialFit is 1." msgstr "" #: src/properties.cpp:1823 #, fuzzy msgid "Georeferenced By" msgstr "Date de référence" #: src/properties.cpp:1824 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the georeference (spatial representation) for " "the Location." msgstr "" #: src/properties.cpp:1826 #, fuzzy msgid "Georeferenced Date" msgstr "Date de référence" #: src/properties.cpp:1827 msgid "" "The date on which the Location was georeferenced. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:1829 msgid "Georeference Protocol" msgstr "" #: src/properties.cpp:1830 msgid "" "A description or reference to the methods used to determine the spatial " "footprint, coordinates, and uncertainties." msgstr "" #: src/properties.cpp:1832 #, fuzzy msgid "Georeference Sources" msgstr " Service de référence" #: src/properties.cpp:1833 msgid "" "A list (concatenated and separated) of maps, gazetteers, or other resources " "used to georeference the Location, described specifically enough to allow " "anyone in the future to use the same resources." msgstr "" #: src/properties.cpp:1835 msgid "Georeference Verification Status" msgstr "" #: src/properties.cpp:1836 msgid "" "A categorical description of the extent to which the georeference has been " "verified to represent the best possible spatial description. Recommended " "best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:1838 #, fuzzy msgid "Georeference Remarks" msgstr "Numéro de référence" #: src/properties.cpp:1839 msgid "" "Notes or comments about the spatial description determination, explaining " "assumptions made in addition or opposition to the those formalized in the " "method referred to in georeferenceProtocol." msgstr "" #: src/properties.cpp:1843 msgid "Geological Context" msgstr "" #: src/properties.cpp:1844 msgid "*Main structure* containing geological context based information." msgstr "" #: src/properties.cpp:1847 msgid "Geological Context ID" msgstr "" #: src/properties.cpp:1848 msgid "" "An identifier for the set of information associated with a GeologicalContext " "(the location within a geological context, such as stratigraphy). May be a " "global unique identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1850 msgid "Earliest Eon Or Lowest Eonothem" msgstr "" #: src/properties.cpp:1851 msgid "" "The full name of the earliest possible geochronologic eon or lowest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1853 msgid "Latest Eon Or Highest Eonothem" msgstr "" #: src/properties.cpp:1854 msgid "" "The full name of the latest possible geochronologic eon or highest chrono-" "stratigraphic eonothem or the informal name (\"Precambrian\") attributable " "to the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1856 msgid "Earliest Era Or Lowest Erathem" msgstr "" #: src/properties.cpp:1857 msgid "" "The full name of the earliest possible geochronologic era or lowest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1859 msgid "Latest Era Or Highest Erathem" msgstr "" #: src/properties.cpp:1860 msgid "" "The full name of the latest possible geochronologic era or highest " "chronostratigraphic erathem attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1862 msgid "Earliest Period Or Lowest System" msgstr "" #: src/properties.cpp:1863 msgid "" "The full name of the earliest possible geochronologic period or lowest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1865 msgid "Latest Period Or Highest System" msgstr "" #: src/properties.cpp:1866 msgid "" "The full name of the latest possible geochronologic period or highest " "chronostratigraphic system attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1868 msgid "Earliest Epoch Or Lowest Series" msgstr "" #: src/properties.cpp:1869 msgid "" "The full name of the earliest possible geochronologic epoch or lowest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1871 msgid "Latest Epoch Or Highest Series" msgstr "" #: src/properties.cpp:1872 msgid "" "The full name of the latest possible geochronologic epoch or highest " "chronostratigraphic series attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1874 msgid "Earliest Age Or Lowest Stage" msgstr "" #: src/properties.cpp:1875 msgid "" "The full name of the earliest possible geochronologic age or lowest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1877 msgid "Latest Age Or Highest Stage" msgstr "" #: src/properties.cpp:1878 msgid "" "The full name of the latest possible geochronologic age or highest " "chronostratigraphic stage attributable to the stratigraphic horizon from " "which the cataloged item was collected." msgstr "" #: src/properties.cpp:1880 msgid "Lowest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1881 msgid "" "The full name of the lowest possible geological biostratigraphic zone of the " "stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1883 msgid "Highest Biostratigraphic Zone" msgstr "" #: src/properties.cpp:1884 msgid "" "The full name of the highest possible geological biostratigraphic zone of " "the stratigraphic horizon from which the cataloged item was collected." msgstr "" #: src/properties.cpp:1886 msgid "Lithostratigraphic Terms" msgstr "" #: src/properties.cpp:1887 msgid "" "The combination of all litho-stratigraphic names for the rock from which the " "cataloged item was collected." msgstr "" #: src/properties.cpp:1889 msgid "Group" msgstr "" #: src/properties.cpp:1890 #, fuzzy msgid "" "The full name of the lithostratigraphic group from which the cataloged item " "was collected." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:1892 #, fuzzy msgid "Formation" msgstr "Informations prise de vue" #: src/properties.cpp:1893 #, fuzzy msgid "" "The full name of the lithostratigraphic formation from which the cataloged " "item was collected." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:1895 #, fuzzy msgid "Member" msgstr "Nombre F" #: src/properties.cpp:1896 #, fuzzy msgid "" "The full name of the lithostratigraphic member from which the cataloged item " "was collected." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:1898 #, fuzzy msgid "Bed" msgstr "Réduction yeux rouges" #: src/properties.cpp:1899 #, fuzzy msgid "" "The full name of the lithostratigraphic bed from which the cataloged item " "was collected." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:1903 #, fuzzy msgid "Identification" msgstr "Version du Modèle" #: src/properties.cpp:1904 msgid "*Main structure* containing identification based information." msgstr "" #: src/properties.cpp:1907 #, fuzzy msgid "Identification ID" msgstr "Version du Modèle" #: src/properties.cpp:1908 msgid "" "An identifier for the Identification (the body of information associated " "with the assignment of a scientific name). May be a global unique identifier " "or an identifier specific to the data set." msgstr "" #: src/properties.cpp:1910 #, fuzzy msgid "Identified By" msgstr "Identifiant ARM" #: src/properties.cpp:1911 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who assigned the Taxon to the subject." msgstr "" #: src/properties.cpp:1913 #, fuzzy msgid "Date Identified" msgstr "Identifiant ARM" #: src/properties.cpp:1914 msgid "" "The date on which the subject was identified as representing the Taxon. " "Recommended best practice is to use an encoding scheme, such as ISO 8601:2004" "(E)." msgstr "" #: src/properties.cpp:1916 #, fuzzy msgid "Identification References" msgstr "Référence de direction de l'image GPS" #: src/properties.cpp:1917 msgid "" "A list (concatenated and separated) of references (publication, global " "unique identifier, URI) used in the Identification." msgstr "" #: src/properties.cpp:1919 msgid "Identification Verification Status" msgstr "" #: src/properties.cpp:1920 msgid "" "A categorical indicator of the extent to which the taxonomic identification " "has been verified to be correct. Recommended best practice is to use a " "controlled vocabulary such as that used in HISPID/ABCD." msgstr "" #: src/properties.cpp:1922 #, fuzzy msgid "Identification Remarks" msgstr "Version du Modèle" #: src/properties.cpp:1923 msgid "Comments or notes about the Identification." msgstr "" #: src/properties.cpp:1925 #, fuzzy msgid "Identification Qualifier" msgstr "Version du Modèle" #: src/properties.cpp:1926 msgid "" "A brief phrase or a standard term (\"cf.\" \"aff.\") to express the " "determiner's doubts about the Identification." msgstr "" #: src/properties.cpp:1928 #, fuzzy msgid "Type Status" msgstr "Statut GPS" #: src/properties.cpp:1929 msgid "" "A list (concatenated and separated) of nomenclatural types (type status, " "typified scientific name, publication) applied to the subject." msgstr "" #: src/properties.cpp:1933 msgid "Taxon" msgstr "" #: src/properties.cpp:1934 msgid "*Main structure* containing taxonomic based information." msgstr "" #: src/properties.cpp:1937 msgid "Taxon ID" msgstr "" #: src/properties.cpp:1938 msgid "" "An identifier for the set of taxon information (data associated with the " "Taxon class). May be a global unique identifier or an identifier specific to " "the data set." msgstr "" #: src/properties.cpp:1940 msgid "Scientific Name ID" msgstr "" #: src/properties.cpp:1941 msgid "" "An identifier for the nomenclatural (not taxonomic) details of a scientific " "name." msgstr "" #: src/properties.cpp:1943 msgid "Accepted Name Usage ID" msgstr "" #: src/properties.cpp:1944 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the currently valid (zoological) or accepted (botanical) " "taxon." msgstr "" #: src/properties.cpp:1946 msgid "Parent Name Usage ID" msgstr "" #: src/properties.cpp:1947 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) of the direct, most proximate higher-rank parent taxon (in a " "classification) of the most specific element of the scientificName." msgstr "" #: src/properties.cpp:1949 #, fuzzy msgid "Original Name Usage ID" msgstr "Nom du fichier" #: src/properties.cpp:1950 msgid "" "An identifier for the name usage (documented meaning of the name according " "to a source) in which the terminal element of the scientificName was " "originally established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1952 msgid "Name According To ID" msgstr "" #: src/properties.cpp:1953 msgid "" "An identifier for the source in which the specific taxon concept " "circumscription is defined or implied. See nameAccordingTo." msgstr "" #: src/properties.cpp:1955 msgid "Name Published In ID" msgstr "" #: src/properties.cpp:1956 msgid "" "An identifier for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1958 msgid "Taxon Concept ID" msgstr "" #: src/properties.cpp:1959 msgid "" "An identifier for the taxonomic concept to which the record refers - not for " "the nomenclatural details of a taxon." msgstr "" #: src/properties.cpp:1961 #, fuzzy msgid "Scientific Name" msgstr "Nom du document" #: src/properties.cpp:1962 msgid "" "The full scientific name, with authorship and date information if known. " "When forming part of an Identification, this should be the name in lowest " "level taxonomic rank that can be determined. This term should not contain " "identification qualifications, which should instead be supplied in the " "IdentificationQualifier term." msgstr "" #: src/properties.cpp:1964 msgid "Accepted Name Usage" msgstr "" #: src/properties.cpp:1965 msgid "" "The full name, with authorship and date information if known, of the " "currently valid (zoological) or accepted (botanical) taxon." msgstr "" #: src/properties.cpp:1967 #, fuzzy msgid "Parent Name Usage" msgstr "Nom du propriétaire" #: src/properties.cpp:1968 msgid "" "The full name, with authorship and date information if known, of the direct, " "most proximate higher-rank parent taxon (in a classification) of the most " "specific element of the scientificName." msgstr "" #: src/properties.cpp:1970 #, fuzzy msgid "Original Name Usage" msgstr "Nom du fichier" #: src/properties.cpp:1971 msgid "" "The taxon name, with authorship and date information if known, as it " "originally appeared when first established under the rules of the associated " "nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the " "scientificName or the senior/earlier homonym for replaced names." msgstr "" #: src/properties.cpp:1973 #, fuzzy msgid "Name According To" msgstr "Décalage d'enregistrement" #: src/properties.cpp:1974 msgid "" "The reference to the source in which the specific taxon concept " "circumscription is defined or implied - traditionally signified by the Latin " "\"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa " "that result from identifications, a reference to the keys, monographs, " "experts and other sources should be given." msgstr "" #: src/properties.cpp:1976 msgid "Name Published In" msgstr "" #: src/properties.cpp:1977 msgid "" "A reference for the publication in which the scientificName was originally " "established under the rules of the associated nomenclaturalCode." msgstr "" #: src/properties.cpp:1979 msgid "Name Published In Year" msgstr "" #: src/properties.cpp:1980 #, fuzzy msgid "The four-digit year in which the scientificName was published." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/properties.cpp:1982 #, fuzzy msgid "Higher Classification" msgstr "Augmentation électronique" #: src/properties.cpp:1983 msgid "" "A list (concatenated and separated) of taxa names terminating at the rank " "immediately superior to the taxon referenced in the taxon record. " "Recommended best practice is to order the list starting with the highest " "rank and separating the names for each rank with a semi-colon ;" msgstr "" #: src/properties.cpp:1985 msgid "Kingdom" msgstr "" #: src/properties.cpp:1986 msgid "" "The full scientific name of the kingdom in which the taxon is classified." msgstr "" #: src/properties.cpp:1988 msgid "Phylum" msgstr "" #: src/properties.cpp:1989 msgid "" "The full scientific name of the phylum or division in which the taxon is " "classified." msgstr "" #: src/properties.cpp:1991 msgid "Class" msgstr "" #: src/properties.cpp:1992 msgid "The full scientific name of the class in which the taxon is classified." msgstr "" #: src/properties.cpp:1994 #, fuzzy msgid "Order" msgstr "Ordre de remplissage" #: src/properties.cpp:1995 msgid "The full scientific name of the order in which the taxon is classified." msgstr "" #: src/properties.cpp:1997 msgid "Family" msgstr "" #: src/properties.cpp:1998 msgid "" "The full scientific name of the family in which the taxon is classified." msgstr "" #: src/properties.cpp:2000 msgid "Genus" msgstr "" #: src/properties.cpp:2001 msgid "The full scientific name of the genus in which the taxon is classified." msgstr "" #: src/properties.cpp:2003 msgid "Subgenus" msgstr "" #: src/properties.cpp:2004 msgid "" "The full scientific name of the subgenus in which the taxon is classified. " "Values should include the genus to avoid homonym confusion." msgstr "" #: src/properties.cpp:2006 msgid "Specific Epithet" msgstr "" #: src/properties.cpp:2007 msgid "The name of the first or species epithet of the scientificName." msgstr "" #: src/properties.cpp:2009 msgid "Infraspecific Epithet" msgstr "" #: src/properties.cpp:2010 msgid "" "The name of the lowest or terminal infraspecific epithet of the " "scientificName, excluding any rank designation." msgstr "" #: src/properties.cpp:2012 msgid "Taxon Rank" msgstr "" #: src/properties.cpp:2013 msgid "" "The taxonomic rank of the most specific name in the scientificName. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2015 msgid "Verbatim Taxon Rank" msgstr "" #: src/properties.cpp:2016 msgid "" "The taxonomic rank of the most specific name in the scientificName as it " "appears in the original record." msgstr "" #: src/properties.cpp:2018 msgid "Scientific Name Authorship" msgstr "" #: src/properties.cpp:2019 msgid "" "The authorship information for the scientificName formatted according to the " "conventions of the applicable nomenclaturalCode." msgstr "" #: src/properties.cpp:2021 #, fuzzy msgid "Vernacular Name" msgstr "Numéro frame" #: src/properties.cpp:2022 msgid "A common or vernacular name." msgstr "" #: src/properties.cpp:2024 #, fuzzy msgid "Nomenclatural Code" msgstr "Couleur naturelle" #: src/properties.cpp:2025 msgid "" "The nomenclatural code (or codes in the case of an ambiregnal name) under " "which the scientificName is constructed. Recommended best practice is to use " "a controlled vocabulary." msgstr "" #: src/properties.cpp:2027 msgid "Taxonomic Status" msgstr "" #: src/properties.cpp:2028 msgid "" "The status of the use of the scientificName as a label for a taxon. Requires " "taxonomic opinion to define the scope of a taxon. Rules of priority then are " "used to define the taxonomic status of the nomenclature contained in that " "scope, combined with the experts opinion. It must be linked to a specific " "taxonomic reference that defines the concept. Recommended best practice is " "to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2030 msgid "Nomenclatural Status" msgstr "" #: src/properties.cpp:2031 msgid "" "The status related to the original publication of the name and its " "conformance to the relevant rules of nomenclature. It is based essentially " "on an algorithm according to the business rules of the code. It requires no " "taxonomic opinion." msgstr "" #: src/properties.cpp:2033 msgid "Taxon Remarks" msgstr "" #: src/properties.cpp:2034 msgid "Comments or notes about the taxon or name." msgstr "" #: src/properties.cpp:2038 msgid "Resource Relationship" msgstr "" #: src/properties.cpp:2039 msgid "" "*Main structure* containing relationships between resources based " "information." msgstr "" #: src/properties.cpp:2042 msgid "Resource Relationship ID" msgstr "" #: src/properties.cpp:2043 msgid "" "An identifier for an instance of relationship between one resource (the " "subject) and another (relatedResource, the object)." msgstr "" #: src/properties.cpp:2045 #, fuzzy msgid "Resource ID" msgstr "Source du fichier" #: src/properties.cpp:2046 msgid "An identifier for the resource that is the subject of the relationship." msgstr "" #: src/properties.cpp:2048 #, fuzzy msgid "Related Resource ID" msgstr "Source du fichier" #: src/properties.cpp:2049 msgid "" "An identifier for a related resource (the object, rather than the subject of " "the relationship)." msgstr "" #: src/properties.cpp:2051 #, fuzzy msgid "Relationship Of Resource" msgstr "Source du fichier" #: src/properties.cpp:2052 msgid "" "The relationship of the resource identified by relatedResourceID to the " "subject (optionally identified by the resourceID). Recommended best practice " "is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2054 msgid "Relationship According To" msgstr "" #: src/properties.cpp:2055 msgid "" "The source (person, organization, publication, reference) establishing the " "relationship between the two resources." msgstr "" #: src/properties.cpp:2057 msgid "Relationship Established Date" msgstr "" #: src/properties.cpp:2058 msgid "" "The date-time on which the relationship between the two resources was " "established. Recommended best practice is to use an encoding scheme, such as " "ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2060 msgid "Relationship Remarks" msgstr "" #: src/properties.cpp:2061 msgid "Comments or notes about the relationship between the two resources." msgstr "" #: src/properties.cpp:2065 #, fuzzy msgid "Measurement Or Fact" msgstr "Index interopérabilité" #: src/properties.cpp:2066 msgid "*Main structure* containing measurement based information." msgstr "" #: src/properties.cpp:2069 #, fuzzy msgid "Measurement ID" msgstr "Index interopérabilité" #: src/properties.cpp:2070 msgid "" "An identifier for the MeasurementOrFact (information pertaining to " "measurements, facts, characteristics, or assertions). May be a global unique " "identifier or an identifier specific to the data set." msgstr "" #: src/properties.cpp:2072 #, fuzzy msgid "Measurement Type" msgstr "Index interopérabilité" #: src/properties.cpp:2073 msgid "" "The nature of the measurement, fact, characteristic, or assertion. " "Recommended best practice is to use a controlled vocabulary." msgstr "" #: src/properties.cpp:2075 #, fuzzy msgid "Measurement Value" msgstr "Index interopérabilité" #: src/properties.cpp:2076 msgid "The value of the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2078 #, fuzzy msgid "Measurement Accuracy" msgstr "Index interopérabilité" #: src/properties.cpp:2079 msgid "" "The description of the potential error associated with the measurementValue." msgstr "" #: src/properties.cpp:2081 #, fuzzy msgid "Measurement Unit" msgstr "Index interopérabilité" #: src/properties.cpp:2082 msgid "" "The units associated with the measurementValue. Recommended best practice is " "to use the International System of Units (SI)." msgstr "" #: src/properties.cpp:2084 #, fuzzy msgid "Measurement Determined Date" msgstr "Index interopérabilité" #: src/properties.cpp:2085 msgid "" "The date on which the MeasurementOrFact was made. Recommended best practice " "is to use an encoding scheme, such as ISO 8601:2004(E)." msgstr "" #: src/properties.cpp:2087 #, fuzzy msgid "Measurement Determined By" msgstr "Index interopérabilité" #: src/properties.cpp:2088 msgid "" "A list (concatenated and separated) of names of people, groups, or " "organizations who determined the value of the MeasurementOrFact." msgstr "" #: src/properties.cpp:2090 #, fuzzy msgid "Measurement Method" msgstr "Mode de mesure GPS" #: src/properties.cpp:2091 msgid "" "A description of or reference to (publication, URI) the method or protocol " "used to determine the measurement, fact, characteristic, or assertion." msgstr "" #: src/properties.cpp:2093 #, fuzzy msgid "Measurement Remarks" msgstr "Index interopérabilité" #: src/properties.cpp:2094 msgid "Comments or notes accompanying the MeasurementOrFact." msgstr "" #: src/properties.cpp:2101 #, fuzzy msgid "A brief description of the file" msgstr "Le type de source lumineuse." #: src/properties.cpp:2102 #, fuzzy msgid "Date Time" msgstr "Date et heure" #: src/properties.cpp:2103 #, fuzzy msgid "The name of the author or photographer" msgstr "Le type de source lumineuse." #: src/properties.cpp:2104 msgid "Numerical rating from 1 to 5" msgstr "" #: src/properties.cpp:2105 #, fuzzy msgid "Notes" msgstr "Température de l'objectif" #: src/properties.cpp:2105 msgid "Any descriptive or additional free-form text up to 4,095 characters" msgstr "" #: src/properties.cpp:2106 msgid "Tagged" msgstr "" #: src/properties.cpp:2106 msgid "True or False" msgstr "" #: src/properties.cpp:2107 #, fuzzy msgid "Categories" msgstr "Catégorie" #: src/properties.cpp:2107 msgid "Catalog of hierarchical keywords and groups" msgstr "" #: src/sigmamn.cpp:62 msgid "Resolution Mode" msgstr "Mode résolution" #: src/sigmamn.cpp:63 msgid "Resolution mode" msgstr "Mode résolution" #: src/sigmamn.cpp:65 msgid "Autofocus Mode" msgstr "Mode autofocus" #: src/sigmamn.cpp:66 msgid "Autofocus mode" msgstr "Mode autofocus" #: src/sigmamn.cpp:68 msgid "Focus Setting" msgstr "Réglage mise au point" #: src/sigmamn.cpp:69 msgid "Focus setting" msgstr "Réglage mise au point" #: src/sigmamn.cpp:80 #, fuzzy msgid "Lens Range" msgstr "Échelle de transfert" #: src/sigmamn.cpp:81 #, fuzzy msgid "Lens focal length range" msgstr "Longueur focale minimale" #: src/sigmamn.cpp:92 src/sigmamn.cpp:93 msgid "Shadow" msgstr "Ombragé" #: src/sigmamn.cpp:95 src/sigmamn.cpp:96 msgid "Highlight" msgstr "Ensoleillé" #: src/sigmamn.cpp:104 #, fuzzy msgid "Fill Light" msgstr "Droit d'auteur" #: src/sigmamn.cpp:105 msgid "X3 Fill light" msgstr "" #: src/sigmamn.cpp:107 msgid "Color Adjustment" msgstr "justement couleurs" #: src/sigmamn.cpp:108 msgid "Color adjustment" msgstr "Ajustement couleurs" #: src/sigmamn.cpp:110 msgid "Adjustment Mode" msgstr "Mode ajustement" #: src/sigmamn.cpp:111 msgid "Adjustment mode" msgstr "Mode ajustement" #: src/sigmamn.cpp:122 #, fuzzy msgid "Auto Bracket" msgstr "Bracketing automatique" #: src/sigmamn.cpp:123 src/tags.cpp:1497 msgid "Auto bracket" msgstr "Bracketing automatique" #: src/sigmamn.cpp:127 msgid "Unknown SigmaMakerNote tag" msgstr "Marqueur de note du fabriquant Sigma inconnu" #: src/sigmamn.cpp:170 msgid "8-Segment" msgstr "8-segments" #: src/sonymn.cpp:131 msgid "Advanced Lv1" msgstr "" #: src/sonymn.cpp:132 msgid "Advanced Lv2" msgstr "" #: src/sonymn.cpp:133 msgid "Advanced Lv3" msgstr "" #: src/sonymn.cpp:134 msgid "Advanced Lv4" msgstr "" #: src/sonymn.cpp:135 msgid "Advanced Lv5" msgstr "" #: src/sonymn.cpp:154 #, fuzzy msgid "Night Scene / Twilight" msgstr "Scène de nuit" #: src/sonymn.cpp:155 msgid "Hi-Speed Shutter" msgstr "" #: src/sonymn.cpp:156 #, fuzzy msgid "Twilight Portrait" msgstr "Portrait de nuit" #: src/sonymn.cpp:157 #, fuzzy msgid "Soft Snap / Portrait" msgstr "Portrait" #: src/sonymn.cpp:159 #, fuzzy msgid "Smile Shutter" msgstr "Obturation lente" #: src/sonymn.cpp:161 #, fuzzy msgid "High Sensitivity" msgstr "Sensibilité spectrale" #: src/sonymn.cpp:163 msgid "Advanced Sports Shooting" msgstr "" #: src/sonymn.cpp:166 #, fuzzy msgid "Sweep Panorama" msgstr "Panorama" #: src/sonymn.cpp:168 #, fuzzy msgid "Anti Motion Blur" msgstr "Mode d'image" #: src/sonymn.cpp:170 msgid "Backlight Correction HDR" msgstr "" #: src/sonymn.cpp:171 msgid "Superior Auto" msgstr "" #: src/sonymn.cpp:172 #, fuzzy msgid "Background Defocus" msgstr "Mise au point macro" #: src/sonymn.cpp:173 #, fuzzy msgid "Soft Skin" msgstr "Doux" #: src/sonymn.cpp:174 #, fuzzy msgid "3D Image" msgstr "ID unique de l'image" #: src/sonymn.cpp:189 #, fuzzy msgid "On (Continuous)" msgstr "Continue" #: src/sonymn.cpp:190 #, fuzzy msgid "On (Shooting)" msgstr "Mode de prise de vue" #: src/sonymn.cpp:198 msgid "Plus" msgstr "" #: src/sonymn.cpp:214 #, fuzzy msgid "White Flourescent" msgstr "Fluorescent" #: src/sonymn.cpp:215 #, fuzzy msgid "Cool White Flourescent" msgstr "Fluorescent" #: src/sonymn.cpp:216 #, fuzzy msgid "Day White Flourescent" msgstr "Lumière du jour fluorescent" #: src/sonymn.cpp:217 #, fuzzy msgid "Incandescent2" msgstr "Incandescent" #: src/sonymn.cpp:218 #, fuzzy msgid "Warm White Fluorescent" msgstr "Fluorescent" #: src/sonymn.cpp:221 #, fuzzy msgid "Underwater 1 (Blue Water)" msgstr "Sous marin" #: src/sonymn.cpp:222 #, fuzzy msgid "Underwater 2 (Green Water)" msgstr "Sous marin" #: src/sonymn.cpp:229 msgid "Permanent-AF" msgstr "" #: src/sonymn.cpp:237 #, fuzzy msgid "Center AF" msgstr "Centre" #: src/sonymn.cpp:238 #, fuzzy msgid "Spot AF" msgstr "Spot" #: src/sonymn.cpp:239 msgid "Flexible Spot AF" msgstr "" #: src/sonymn.cpp:240 #, fuzzy msgid "Touch AF" msgstr "Balance des blancs en une touche" #: src/sonymn.cpp:241 #, fuzzy msgid "Manual Focus" msgstr "Mise au point manuel" #: src/sonymn.cpp:242 #, fuzzy msgid "Face Detected" msgstr "Échec lors de la lecture" #: src/sonymn.cpp:257 #, fuzzy msgid "Close Focus" msgstr "Mise au point auto" #: src/sonymn.cpp:347 src/sonymn.cpp:348 #, fuzzy msgid "Multi Burst Mode" msgstr "Mode rafale" #: src/sonymn.cpp:350 src/sonymn.cpp:351 #, fuzzy msgid "Multi Burst Image Width" msgstr "Hauteur de l'image" #: src/sonymn.cpp:353 src/sonymn.cpp:354 #, fuzzy msgid "Multi Burst Image Height" msgstr "Hauteur de l'image" #: src/sonymn.cpp:364 #, fuzzy msgid "JPEG preview image" msgstr "Aperçu embarqué" #: src/sonymn.cpp:390 #, fuzzy msgid "Auto HDR" msgstr "Automatique" #: src/sonymn.cpp:391 msgid "High Definition Range Mode" msgstr "" #: src/sonymn.cpp:395 #, fuzzy msgid "Shot Information" msgstr "Informations prise de vue" #: src/sonymn.cpp:400 src/sonymn.cpp:401 #, fuzzy msgid "Sony Model ID" msgstr "Numéro modèle" #: src/sonymn.cpp:403 src/sonymn.cpp:404 #, fuzzy msgid "Color Reproduction" msgstr "Réduction du bruit" #: src/sonymn.cpp:418 src/sonymn.cpp:419 src/sonymn.cpp:472 src/sonymn.cpp:473 #, fuzzy msgid "Dynamic Range Optimizer" msgstr "Réglage gamme dynamique" #: src/sonymn.cpp:427 src/sonymn.cpp:428 #, fuzzy msgid "Minolta MakerNote" msgstr "Date Minolta" #: src/sonymn.cpp:433 src/sonymn.cpp:434 #, fuzzy msgid "Full Image Size" msgstr "Taille de l'image" #: src/sonymn.cpp:436 #, fuzzy msgid "Preview Image Size" msgstr "Aperçu embarqué" #: src/sonymn.cpp:437 #, fuzzy msgid "Preview image size" msgstr "Aperçu embarqué" #: src/sonymn.cpp:451 src/sonymn.cpp:452 src/sonymn.cpp:662 src/sonymn.cpp:663 msgid "AF Illuminator" msgstr "" #: src/sonymn.cpp:454 src/sonymn.cpp:455 #, fuzzy msgid "JPEG Quality" msgstr "Qualité" #: src/sonymn.cpp:460 src/sonymn.cpp:461 #, fuzzy msgid "Release Mode" msgstr "Date de publication" #: src/sonymn.cpp:464 #, fuzzy msgid "Shot number in continuous burst mode" msgstr "Numéro séquence (si en mode rafale)" #: src/sonymn.cpp:466 src/sonymn.cpp:467 #, fuzzy msgid "Anti-Blur" msgstr "Anti flou" #: src/sonymn.cpp:469 src/sonymn.cpp:470 src/sonymn.cpp:670 src/sonymn.cpp:671 #, fuzzy msgid "Long Exposure Noise Reduction" msgstr "Réduction du bruit lors d'expositions longues" #: src/sonymn.cpp:475 src/sonymn.cpp:476 #, fuzzy msgid "Intelligent Auto" msgstr "Longueur intervalle" #: src/sonymn.cpp:483 #, fuzzy msgid "Unknown Sony1MakerNote tag" msgstr "Marqueur de note du fabriquant Sony inconnu" #: src/sonymn.cpp:497 #, fuzzy msgid "Continuous High" msgstr "Continue, Haute" #: src/sonymn.cpp:501 #, fuzzy msgid "Continuous Low" msgstr "Continue, basse" #: src/sonymn.cpp:503 src/sonymn.cpp:504 #, fuzzy msgid "D-Range Optimizer Bracketing Low" msgstr "Optimisation d'image" #: src/sonymn.cpp:536 #, fuzzy msgid "Autumn" msgstr "Automatique" #: src/sonymn.cpp:542 msgid "ADI" msgstr "" #: src/sonymn.cpp:558 src/sonymn.cpp:559 src/sonymn.cpp:560 msgid "StyleBox1" msgstr "" #: src/sonymn.cpp:578 #, fuzzy msgid "Auto No Flash" msgstr "Auto (Flash)" #: src/sonymn.cpp:633 src/sonymn.cpp:634 src/sonymn.cpp:739 src/sonymn.cpp:740 #, fuzzy msgid "Dynamic Range Optimizer Level" msgstr "Réglage gamme dynamique" #: src/sonymn.cpp:636 src/sonymn.cpp:637 src/sonymn.cpp:742 src/sonymn.cpp:743 #, fuzzy msgid "Creative Style" msgstr "Date de publication" #: src/sonymn.cpp:648 src/sonymn.cpp:649 #, fuzzy msgid "Zone Matching Value" msgstr "Valeur de luminosité" #: src/sonymn.cpp:666 src/sonymn.cpp:667 #, fuzzy msgid "AF With Shutter" msgstr "Obturation rapide" #: src/sonymn.cpp:674 src/sonymn.cpp:675 #, fuzzy msgid "High ISO NoiseReduction" msgstr "Réduction de bruit Iso élevé" #: src/sonymn.cpp:678 src/sonymn.cpp:679 #, fuzzy msgid "Image Style" msgstr "Type d'image" #: src/sonymn.cpp:704 #, fuzzy msgid "Unknown Sony1 Camera Settings tag" msgstr "Marqueur 1 réglage appareil photo Canon inconnu" #: src/sonymn.cpp:768 #, fuzzy msgid "Unknown Sony1 Camera Settings 2 tag" msgstr "Marqueur 2 réglage appareil photo Canon inconnu" #: src/tags.cpp:188 msgid "Unknown section" msgstr "Section inconnue" #: src/tags.cpp:189 msgid "Image data structure" msgstr "Structure des données de l'image" #: src/tags.cpp:190 msgid "Recording offset" msgstr "Décalage d'enregistrement" #: src/tags.cpp:191 msgid "Image data characteristics" msgstr "Caractéristique des données de l'image" #: src/tags.cpp:192 msgid "Other data" msgstr "Autre données" #: src/tags.cpp:193 msgid "Exif data structure" msgstr "Structure des donnée Exif" #: src/tags.cpp:195 msgid "Image configuration" msgstr "Configuration image" #: src/tags.cpp:196 msgid "User information" msgstr "Information utilisateur" #: src/tags.cpp:197 #, fuzzy msgid "Related file" msgstr "Heure de publication" #: src/tags.cpp:198 msgid "Date and time" msgstr "Date et heure" #: src/tags.cpp:199 msgid "Picture taking conditions" msgstr "Condition de prise de vue" #: src/tags.cpp:200 msgid "GPS information" msgstr "Information GPS" #: src/tags.cpp:201 msgid "Interoperability information" msgstr "Information d'interopérabilité" #: src/tags.cpp:202 msgid "Vendor specific information" msgstr "Information Spécifique au vendeur" #: src/tags.cpp:203 #, fuzzy msgid "Adobe DNG tags" msgstr "Adobe RGB" #: src/tags.cpp:204 #, fuzzy msgid "Panasonic RAW tags" msgstr "Marqueur de note du fabriquant Panasonic inconnu" #: src/tags.cpp:205 msgid "TIFF/EP tags" msgstr "" #: src/tags.cpp:206 msgid "TIFF PageMaker 6.0 tags" msgstr "" #: src/tags.cpp:207 #, fuzzy msgid "Adobe OPI tags" msgstr "Adobe RGB" #: src/tags.cpp:208 msgid "Last section" msgstr "Dernière section" #: src/tags.cpp:224 #, fuzzy msgid "Primary image" msgstr "Aperçu embarqué" #: src/tags.cpp:225 #, fuzzy msgid "Thumbnail/Preview image" msgstr "Miniature" #: src/tags.cpp:226 msgid "Primary image, Multi page file" msgstr "" #: src/tags.cpp:227 msgid "Thumbnail/Preview image, Multi page file" msgstr "" #: src/tags.cpp:228 #, fuzzy msgid "Primary image, Transparency mask" msgstr "Masque de transparence" #: src/tags.cpp:229 msgid "Thumbnail/Preview image, Transparency mask" msgstr "" #: src/tags.cpp:230 msgid "Primary image, Multi page file, Transparency mask" msgstr "" #: src/tags.cpp:231 src/tags.cpp:232 msgid "Thumbnail/Preview image, Multi page file, Transparency mask" msgstr "" #: src/tags.cpp:237 #, fuzzy msgid "Full-resolution image data" msgstr "Impossible de lire les données de l'image" #: src/tags.cpp:238 msgid "Reduced-resolution image data" msgstr "" #: src/tags.cpp:239 msgid "A single page of a multi-page image" msgstr "" #: src/tags.cpp:245 msgid "inch" msgstr "Pouce" #: src/tags.cpp:252 msgid "CCITT RLE" msgstr "" #: src/tags.cpp:253 msgid "T4/Group 3 Fax" msgstr "" #: src/tags.cpp:254 msgid "T6/Group 4 Fax" msgstr "" #: src/tags.cpp:255 msgid "LZW" msgstr "LZW" #: src/tags.cpp:256 msgid "JPEG (old-style)" msgstr "JPEG (ancienne version)" #: src/tags.cpp:257 msgid "JPEG" msgstr "JPEG" #: src/tags.cpp:258 msgid "Adobe Deflate" msgstr "Décompression Adobe" #: src/tags.cpp:259 msgid "JBIG B&W" msgstr "JBIG Noir & Blanc" #: src/tags.cpp:260 msgid "JBIG Color" msgstr "JBIG Couleur" #: src/tags.cpp:261 msgid "Next 2-bits RLE" msgstr "" #: src/tags.cpp:262 #, fuzzy msgid "Epson ERF Compressed" msgstr "compression NEF Nikon" #: src/tags.cpp:263 #, fuzzy msgid "Samsung SRW Compressed" msgstr "compression NEF Nikon" #: src/tags.cpp:264 msgid "CCITT RLE 1-word" msgstr "" #: src/tags.cpp:265 msgid "PackBits (Macintosh RLE)" msgstr "" #: src/tags.cpp:266 msgid "Thunderscan RLE" msgstr "" #: src/tags.cpp:267 msgid "IT8 CT Padding" msgstr "" #: src/tags.cpp:268 msgid "IT8 Linework RLE" msgstr "" #: src/tags.cpp:269 #, fuzzy msgid "IT8 Monochrome Picture" msgstr "Monochrome" #: src/tags.cpp:270 msgid "IT8 Binary Lineart" msgstr "" #: src/tags.cpp:271 msgid "Pixar Film (10-bits LZW)" msgstr "" #: src/tags.cpp:272 msgid "Pixar Log (11-bits ZIP)" msgstr "" #: src/tags.cpp:273 #, fuzzy msgid "Pixar Deflate" msgstr "Décompression Adobe" #: src/tags.cpp:274 msgid "Kodak DCS Encoding" msgstr "" #: src/tags.cpp:275 msgid "ISO JBIG" msgstr "ISO JBIG" #: src/tags.cpp:276 msgid "SGI Log Luminance RLE" msgstr "" #: src/tags.cpp:277 msgid "SGI Log 24-bits packed" msgstr "" #: src/tags.cpp:278 msgid "Leadtools JPEG 2000" msgstr "" #: src/tags.cpp:279 msgid "Nikon NEF Compressed" msgstr "compression NEF Nikon" #: src/tags.cpp:280 #, fuzzy msgid "Kodak DCR Compressed" msgstr "compression NEF Nikon" #: src/tags.cpp:281 #, fuzzy msgid "Pentax PEF Compressed" msgstr "compression NEF Nikon" #: src/tags.cpp:286 msgid "White Is Zero" msgstr "Blanc est zéro" #: src/tags.cpp:287 msgid "Black Is Zero" msgstr "Noir est zéro" #: src/tags.cpp:288 msgid "RGB" msgstr "RGB" #: src/tags.cpp:289 msgid "RGB Palette" msgstr "Palette RGB" #: src/tags.cpp:290 msgid "Transparency Mask" msgstr "Masque de transparence" #: src/tags.cpp:291 src/tags.cpp:330 msgid "CMYK" msgstr "CMJN" #: src/tags.cpp:292 msgid "YCbCr" msgstr "YCbCr" #: src/tags.cpp:293 msgid "CIELab" msgstr "CIELab" #: src/tags.cpp:294 msgid "ICCLab" msgstr "ICCLab" #: src/tags.cpp:295 msgid "ITULab" msgstr "ITULab" #: src/tags.cpp:296 msgid "Color Filter Array" msgstr "Matrice de filtre de couleur" #: src/tags.cpp:297 msgid "Pixar LogL" msgstr "" #: src/tags.cpp:298 msgid "Pixar LogLuv" msgstr "" #: src/tags.cpp:299 msgid "Linear Raw" msgstr "" #: src/tags.cpp:304 msgid "No dithering or halftoning" msgstr "" #: src/tags.cpp:305 msgid "Ordered dither or halftone technique" msgstr "" #: src/tags.cpp:306 #, fuzzy msgid "Randomized process" msgstr "Processus normal" #: src/tags.cpp:311 msgid "top, left" msgstr "haut, gauche" #: src/tags.cpp:312 msgid "top, right" msgstr "haut, droit" #: src/tags.cpp:313 msgid "bottom, right" msgstr "bas, droit" #: src/tags.cpp:314 msgid "bottom, left" msgstr "bas, gauche" #: src/tags.cpp:315 msgid "left, top" msgstr "gauche, haut" #: src/tags.cpp:316 msgid "right, top" msgstr "droit, haut" #: src/tags.cpp:317 msgid "right, bottom" msgstr "droit, bas" #: src/tags.cpp:318 src/tags.cpp:319 msgid "left, bottom" msgstr "gauche, bas" #: src/tags.cpp:324 msgid "No prediction scheme used" msgstr "" #: src/tags.cpp:325 msgid "Horizontal differencing" msgstr "" #: src/tags.cpp:331 #, fuzzy msgid "not CMYK" msgstr "CMJN" #: src/tags.cpp:336 msgid "Unsigned integer data" msgstr "" #: src/tags.cpp:337 msgid "Two's complement signed integer data" msgstr "" #: src/tags.cpp:338 msgid "IEEE floating point data" msgstr "" #: src/tags.cpp:339 src/tags.cpp:340 #, fuzzy msgid "Undefined data format" msgstr "Format de date non supporté" #: src/tags.cpp:345 #, fuzzy msgid "Not indexed" msgstr "Non défini" #: src/tags.cpp:346 src/tags.cpp:655 msgid "Indexed" msgstr "" #: src/tags.cpp:351 msgid "A" msgstr "" #: src/tags.cpp:352 msgid "B" msgstr "" #: src/tags.cpp:353 msgid "C" msgstr "" #: src/tags.cpp:354 msgid "A+B-C" msgstr "" #: src/tags.cpp:355 msgid "A+((B-C)/2)" msgstr "" #: src/tags.cpp:356 msgid "B+((A-C)/2)" msgstr "" #: src/tags.cpp:357 msgid "(A+B)/2" msgstr "" #: src/tags.cpp:362 msgid "Centered" msgstr "Centré" #: src/tags.cpp:363 #, fuzzy msgid "Co-sited" msgstr "Près" #: src/tags.cpp:368 msgid "No flash" msgstr "Pas de flash" #: src/tags.cpp:370 #, fuzzy msgid "Fired, return light not detected" msgstr "Flash déclenché, mode auto, lumière de retour non détectée" #: src/tags.cpp:371 #, fuzzy msgid "Fired, return light detected" msgstr "Flash déclenché, mode auto, lumière de retour détectée" #: src/tags.cpp:372 #, fuzzy msgid "Yes, did not fire" msgstr "Le flash ne s'est pas déclenché." #: src/tags.cpp:373 msgid "Yes, compulsory" msgstr "Flash déclenché, mode de flash obligatoire" #: src/tags.cpp:374 msgid "Yes, compulsory, return light not detected" msgstr "" "Flash déclenché, mode de flash obligatoire, lumière de retour non détectée" #: src/tags.cpp:375 msgid "Yes, compulsory, return light detected" msgstr "Flash déclenché, mode de flash obligatoire, lumière de retour détectée" #: src/tags.cpp:376 msgid "No, compulsory" msgstr "Non, inhibé" #: src/tags.cpp:377 #, fuzzy msgid "No, did not fire, return light not detected" msgstr "Flash déclenché, mode auto, lumière de retour non détectée" #: src/tags.cpp:378 msgid "No, auto" msgstr "Non, mode auto" #: src/tags.cpp:379 msgid "Yes, auto" msgstr "Flash déclenché, mode auto" #: src/tags.cpp:380 msgid "Yes, auto, return light not detected" msgstr "Flash déclenché, mode auto, lumière de retour non détectée" #: src/tags.cpp:381 msgid "Yes, auto, return light detected" msgstr "Flash déclenché, mode auto, lumière de retour détectée" #: src/tags.cpp:382 msgid "No flash function" msgstr "Pas de fonction flash" #: src/tags.cpp:383 #, fuzzy msgid "No, no flash function" msgstr "Pas de fonction flash" #: src/tags.cpp:384 msgid "Yes, red-eye reduction" msgstr "Flash déclenché, mode anti-yeux rouges" #: src/tags.cpp:385 msgid "Yes, red-eye reduction, return light not detected" msgstr "Flash déclenché, mode anti-yeux rouges, lumière de retour non détectée" #: src/tags.cpp:386 msgid "Yes, red-eye reduction, return light detected" msgstr "Flash déclenché, mode anti-yeux rouges, lumière de retour détectée" #: src/tags.cpp:387 msgid "Yes, compulsory, red-eye reduction" msgstr "Flash déclenché, mode de flash obligatoire, mode anti-yeux rouges" #: src/tags.cpp:388 msgid "Yes, compulsory, red-eye reduction, return light not detected" msgstr "" "Flash déclenché, mode de flash obligatoire, mode anti-yeux rouges, lumière " "de retour non détectée" #: src/tags.cpp:389 msgid "Yes, compulsory, red-eye reduction, return light detected" msgstr "" "Flash déclenché, mode de flash obligatoire, mode anti-yeux rouges, lumière " "de retour détectée" #: src/tags.cpp:390 #, fuzzy msgid "No, red-eye reduction" msgstr "Flash déclenché, mode anti-yeux rouges" #: src/tags.cpp:391 #, fuzzy msgid "No, auto, red-eye reduction" msgstr "Flash déclenché, mode anti-yeux rouges" #: src/tags.cpp:392 msgid "Yes, auto, red-eye reduction" msgstr "Flash déclenché, mode anti-yeux rouges" #: src/tags.cpp:393 msgid "Yes, auto, red-eye reduction, return light not detected" msgstr "Flash déclenché, mode anti-yeux rouges, lumière de retour non détectée" #: src/tags.cpp:394 msgid "Yes, auto, red-eye reduction, return light detected" msgstr "Flash déclenché, mode anti-yeux rouges, lumière de retour détectée" #: src/tags.cpp:399 msgid "Rectangular (or square) layout" msgstr "" #: src/tags.cpp:400 msgid "Staggered layout A: even columns are offset down by 1/2 row" msgstr "" #: src/tags.cpp:401 msgid "Staggered layout B: even columns are offset up by 1/2 row" msgstr "" #: src/tags.cpp:402 msgid "Staggered layout C: even rows are offset right by 1/2 column" msgstr "" #: src/tags.cpp:403 msgid "Staggered layout D: even rows are offset left by 1/2 column" msgstr "" #: src/tags.cpp:408 msgid "Processing Software" msgstr "Logiciel de traitement" #: src/tags.cpp:409 msgid "The name and version of the software used to post-process the picture." msgstr "" #: src/tags.cpp:412 msgid "New Subfile Type" msgstr "Nouveau type de sous fichier" #: src/tags.cpp:413 msgid "A general indication of the kind of data contained in this subfile." msgstr "" #: src/tags.cpp:415 #, fuzzy msgid "Subfile Type" msgstr "Nouveau type de sous fichier" #: src/tags.cpp:416 msgid "" "A general indication of the kind of data contained in this subfile. This " "field is deprecated. The NewSubfileType field should be used instead." msgstr "" #: src/tags.cpp:420 msgid "" "The number of columns of image data, equal to the number of pixels per row. " "In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "Le nombre de colonnes des données de l'image, égal au nombre de pixels par " "ligne. Dans des données compressées en JPEG un marqueur JPEG est utilisé à " "la place de ce marqueur." #: src/tags.cpp:425 msgid "" "The number of rows of image data. In JPEG compressed data a JPEG marker is " "used instead of this tag." msgstr "" "Le nombre de lignes des données de l'image. Dans des données compressées en " "JPEG un marqueur JPEG est utilisé à la place de ce marqueur." #: src/tags.cpp:428 msgid "Bits per Sample" msgstr "Bits des échantillons" #: src/tags.cpp:429 msgid "" "The number of bits per image component. In this standard each component of " "the image is 8 bits, so the value for this tag is 8. See also " ". In JPEG compressed data a JPEG marker is used instead of " "this tag." msgstr "" "Le nombre de bits par composant d'image. Dans ce standard chaque composant " "de l'image fait 8 bits, donc la valeur de ce tag est 9. Voyez aussi " ". Dans des données compressées en JPEG un marqueur JPEG est " "utilisé à la place de ce marqueur." #: src/tags.cpp:435 msgid "" "The compression scheme used for the image data. When a primary image is JPEG " "compressed, this designation is not necessary and is omitted. When " "thumbnails use JPEG compression, this tag value is set to 6." msgstr "" "Le schéma de compression utilisé par les données de l'image. Quand une image " "primaire est compressée en JPEG, cette désignation n'est pas nécessaire et " "est omise. Lorsque les vignettes utilisent la compression JPEG, la valeur de " "ce marqueur est de 6." #: src/tags.cpp:441 msgid "" "The pixel composition. In JPEG compressed data a JPEG marker is used instead " "of this tag." msgstr "" "La composition des pixels. Dans des données compressées en JPEG un marqueur " "JPEG est utilisé à la place de ce marqueur." #: src/tags.cpp:444 msgid "Thresholding" msgstr "" #: src/tags.cpp:445 msgid "" "For black and white TIFF files that represent shades of gray, the technique " "used to convert from gray to black and white pixels." msgstr "" #: src/tags.cpp:448 #, fuzzy msgid "Cell Width" msgstr "Droit d'auteur" #: src/tags.cpp:449 msgid "" "The width of the dithering or halftoning matrix used to create a dithered or " "halftoned bilevel file." msgstr "" #: src/tags.cpp:452 #, fuzzy msgid "Cell Length" msgstr "Longueur de l'aperçu" #: src/tags.cpp:453 msgid "" "The length of the dithering or halftoning matrix used to create a dithered " "or halftoned bilevel file." msgstr "" #: src/tags.cpp:456 msgid "Fill Order" msgstr "Ordre de remplissage" #: src/tags.cpp:457 msgid "The logical order of bits within a byte" msgstr "" #: src/tags.cpp:459 msgid "Document Name" msgstr "Nom du document" #: src/tags.cpp:460 #, fuzzy msgid "The name of the document from which this image was scanned" msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/tags.cpp:463 msgid "" "A character string giving the title of the image. It may be a comment such " "as \"1988 company picnic\" or the like. Two-bytes character codes cannot be " "used. When a 2-bytes code is necessary, the Exif Private tag " "is to be used." msgstr "" "Une chaîne de caractères donnant le titre de l'image. Ce peut être un " "commentaire comme \"pique-nique société 1988\" ou approchant. Les codes de " "caractères sur deux octets ne peuvent être utilisés. Lorsqu'un code deux " "octets est nécessaire, le marqueur privé exif doit être " "utilisé." #: src/tags.cpp:470 msgid "" "The manufacturer of the recording equipment. This is the manufacturer of the " "DSC, scanner, video digitizer or other equipment that generated the image. " "When the field is left blank, it is treated as unknown." msgstr "" "Le constructeur de l'équipement d'enregistrement. C'est le constructeur du " "DSC, scanner, enregistreur vidéo ou tout autre équipement ayant généré " "l'image. Quand ce champ est vide, il est traité en tant qu'inconnu." #: src/tags.cpp:476 msgid "" "The model name or model number of the equipment. This is the model name or " "number of the DSC, scanner, video digitizer or other equipment that " "generated the image. When the field is left blank, it is treated as unknown." msgstr "" "Le nom du modèle ou le numéro du modèle de l'équipement. C'est le nom du " "modèle ou le numéro du DSC, scanner, enregistreur vidéo ou tout autre " "équipement ayant généré l'image. Quand ce champ est vide, il est traité en " "tant qu'inconnu." #: src/tags.cpp:482 msgid "" "For each strip, the byte offset of that strip. It is recommended that this " "be selected so the number of strip bytes does not exceed 64 Kbytes. With " "JPEG compressed data this designation is not needed and is omitted. See also " " and ." msgstr "" #: src/tags.cpp:489 msgid "The image orientation viewed in terms of rows and columns." msgstr "L'orientation de l'image vue en terme de lignes et colonnes." #: src/tags.cpp:491 msgid "Samples per Pixel" msgstr "Échantillons par pixel" #: src/tags.cpp:492 msgid "" "The number of components per pixel. Since this standard applies to RGB and " "YCbCr images, the value set for this tag is 3. In JPEG compressed data a " "JPEG marker is used instead of this tag." msgstr "" "Le nombre de composants par pixel. Puisque le standard s'applique aux images " "RGB et YCbCr, la valeur de ce marqueur est 3. Dans des données compressées " "en JPEG un marqueur JPEG est utilisé à la place de ce marqueur." #: src/tags.cpp:496 msgid "Rows per Strip" msgstr "" #: src/tags.cpp:497 msgid "" "The number of rows per strip. This is the number of rows in the image of one " "strip when an image is divided into strips. With JPEG compressed data this " "designation is not needed and is omitted. See also and " "." msgstr "" #: src/tags.cpp:502 #, fuzzy msgid "Strip Byte Count" msgstr "Priorité obturation" #: src/tags.cpp:503 msgid "" "The total number of bytes in each strip. With JPEG compressed data this " "designation is not needed and is omitted." msgstr "" #: src/tags.cpp:506 msgid "X-Resolution" msgstr "Résolution X" #: src/tags.cpp:507 msgid "" "The number of pixels per in the direction. " "When the image resolution is unknown, 72 [dpi] is designated." msgstr "" "Le nombre de pixels par dans la direction ." "Lorsque la résolution de l'image est inconnu, 72 [dpi] sont utilisés." #: src/tags.cpp:510 msgid "Y-Resolution" msgstr "Résolution Y" #: src/tags.cpp:511 msgid "" "The number of pixels per in the direction. " "The same value as is designated." msgstr "" "Le nombre de pixels par dans la direction .La " "même valeur que pour est utilisée." #: src/tags.cpp:515 msgid "" "Indicates whether pixel components are recorded in a chunky or planar " "format. In JPEG compressed files a JPEG marker is used instead of this tag. " "If this field does not exist, the TIFF default of 1 (chunky) is assumed." msgstr "" #: src/tags.cpp:520 #, fuzzy msgid "Gray Response Unit" msgstr "AF Points" #: src/tags.cpp:521 msgid "The precision of the information contained in the GrayResponseCurve." msgstr "" #: src/tags.cpp:523 #, fuzzy msgid "Gray Response Curve" msgstr "Courbe de tonalité" #: src/tags.cpp:524 msgid "For grayscale data, the optical density of each possible pixel value." msgstr "" #: src/tags.cpp:526 #, fuzzy msgid "T4 Options" msgstr "Оption" #: src/tags.cpp:527 msgid "T.4-encoding options." msgstr "" #: src/tags.cpp:529 #, fuzzy msgid "T6 Options" msgstr "Оption" #: src/tags.cpp:530 msgid "T.6-encoding options." msgstr "" #: src/tags.cpp:533 msgid "" "The unit for measuring and . The same unit is " "used for both and . If the image resolution is " "unknown, 2 (inches) is designated." msgstr "" "L'unité de mesure pour et . La même unité est " "utilisée pour et . Si la résolution de l'image " "est inconnue, 2 (pouces) sont utilisées." #: src/tags.cpp:537 #, fuzzy msgid "Page Number" msgstr "Numéro d'image" #: src/tags.cpp:538 #, fuzzy msgid "The page number of the page from which this image was scanned." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/tags.cpp:541 msgid "" "A transfer function for the image, described in tabular style. Normally this " "tag is not necessary, since color space is specified in the color space " "information tag ()." msgstr "" "Une fonction de transfert pour l'image, décrite en style tableau. " "Normalement, ce marqueur n'est pas nécessaire, puisque l'espace des couleurs " "est spécifié dans le marqueur d'information sur l'espace des couleurs " "()." #: src/tags.cpp:546 msgid "" "This tag records the name and version of the software or firmware of the " "camera or image input device used to generate the image. The detailed format " "is not specified, but it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown." msgstr "" "Ce marqueur enregistre le nom et la version du logiciel ou du matériel de " "l'appareil ou du périphérique d'entrée utilisé pour générer l'image. Le " "format détaillé n'est pas spécifié, mais il est recommandé que l'exemple ci-" "dessous soit suivi. Lorsque le champ est vide, il est traité comme inconnu." #: src/tags.cpp:553 msgid "" "The date and time of image creation. In Exif standard, it is the date and " "time the file was changed." msgstr "" "La date et l'heure de création de l'image. Dans ce standard, il s'agit de la " "date et de l'heure de modification du fichier." #: src/tags.cpp:557 #, fuzzy msgid "" "This tag records the name of the camera owner, photographer or image " "creator. The detailed format is not specified, but it is recommended that " "the information be written as in the example below for ease of " "Interoperability. When the field is left blank, it is treated as unknown. " "Ex.) \"Camera owner, John Smith; Photographer, Michael Brown; Image creator, " "Ken James\"" msgstr "" "Ce marqueur enregistre le nom du propriétaire de l'appareil, du photographe " "ou du créateur de l'image. Le format détaillé n'est pas spécifié, mais il " "est recommandé que cette information soit écrite comme dans l'exemple ci-" "dessous pour faciliter l'interopérabilité. Lorsque le champ est laissé " "blanc, il est considéré comme inconnu." #: src/tags.cpp:564 msgid "Host Computer" msgstr "" #: src/tags.cpp:565 msgid "" "This tag records information about the host computer used to generate the " "image." msgstr "" #: src/tags.cpp:568 #, fuzzy msgid "Predictor" msgstr "Crédit" #: src/tags.cpp:569 msgid "" "A predictor is a mathematical operator that is applied to the image data " "before an encoding scheme is applied." msgstr "" #: src/tags.cpp:573 msgid "" "The chromaticity of the white point of the image. Normally this tag is not " "necessary, since color space is specified in the colorspace information tag " "()." msgstr "" "La chromaticité du point blanc de l'image. Normalement, ce marqueur n'est " "pas nécessaire, puisque l'espace des couleurs est spécifié dans le marqueur " "d'information sur l'espace des couleurs ()." #: src/tags.cpp:578 #, fuzzy msgid "" "The chromaticity of the three primary colors of the image. Normally this tag " "is not necessary, since colorspace is specified in the colorspace " "information tag ()." msgstr "" "La chromaticité du point blanc de l'image. Normalement, ce marqueur n'est " "pas nécessaire, puisque l'espace des couleurs est spécifié dans le marqueur " "d'information sur l'espace des couleurs ()." #: src/tags.cpp:582 #, fuzzy msgid "Color Map" msgstr "Matrice des couleurs" #: src/tags.cpp:583 msgid "" "A color map for palette color images. This field defines a Red-Green-Blue " "color map (often called a lookup table) for palette-color images. In a " "palette-color image, a pixel value is used to index into an RGB lookup table." msgstr "" #: src/tags.cpp:588 msgid "Halftone Hints" msgstr "" #: src/tags.cpp:589 msgid "" "The purpose of the HalftoneHints field is to convey to the halftone function " "the range of gray levels within a colorimetrically-specified image that " "should retain tonal detail." msgstr "" #: src/tags.cpp:593 #, fuzzy msgid "Tile Width" msgstr "Largeur de l'image" #: src/tags.cpp:594 msgid "The tile width in pixels. This is the number of columns in each tile." msgstr "" #: src/tags.cpp:596 #, fuzzy msgid "Tile Length" msgstr "Longueur de l'aperçu" #: src/tags.cpp:597 msgid "" "The tile length (height) in pixels. This is the number of rows in each tile." msgstr "" #: src/tags.cpp:599 #, fuzzy msgid "Tile Offsets" msgstr "Décalage aperçu" #: src/tags.cpp:600 msgid "" "For each tile, the byte offset of that tile, as compressed and stored on " "disk. The offset is specified with respect to the beginning of the TIFF " "file. Note that this implies that each tile has a location independent of " "the locations of other tiles." msgstr "" #: src/tags.cpp:605 #, fuzzy msgid "Tile Byte Counts" msgstr "Priorité obturation" #: src/tags.cpp:606 msgid "" "For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered." msgstr "" #: src/tags.cpp:609 #, fuzzy msgid "SubIFD Offsets" msgstr "Décalage aperçu" #: src/tags.cpp:610 msgid "Defined by Adobe Corporation to enable TIFF Trees within a TIFF file." msgstr "" #: src/tags.cpp:612 #, fuzzy msgid "Ink Set" msgstr "Définition de" #: src/tags.cpp:613 msgid "" "The set of inks used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:615 #, fuzzy msgid "Ink Names" msgstr "Nom du propriétaire" #: src/tags.cpp:616 msgid "" "The name of each ink used in a separated (PhotometricInterpretation=5) image." msgstr "" #: src/tags.cpp:618 #, fuzzy msgid "Number Of Inks" msgstr "Le nombre F." #: src/tags.cpp:619 msgid "" "The number of inks. Usually equal to SamplesPerPixel, unless there are extra " "samples." msgstr "" #: src/tags.cpp:621 #, fuzzy msgid "Dot Range" msgstr "Gamme dynamique" #: src/tags.cpp:622 #, c-format msgid "The component values that correspond to a 0% dot and 100% dot." msgstr "" #: src/tags.cpp:624 #, fuzzy msgid "Target Printer" msgstr "Ouverture cible" #: src/tags.cpp:625 msgid "" "A description of the printing environment for which this separation is " "intended." msgstr "" #: src/tags.cpp:627 #, fuzzy msgid "Extra Samples" msgstr "Bits des échantillons" #: src/tags.cpp:628 msgid "" "Specifies that each pixel has m extra components whose interpretation is " "defined by one of the values listed below." msgstr "" #: src/tags.cpp:631 #, fuzzy msgid "Sample Format" msgstr "Format du fichier" #: src/tags.cpp:632 msgid "This field specifies how to interpret each data sample in a pixel." msgstr "" #: src/tags.cpp:634 #, fuzzy msgid "SMin Sample Value" msgstr "Débit audio" #: src/tags.cpp:635 msgid "This field specifies the minimum sample value." msgstr "" #: src/tags.cpp:637 #, fuzzy msgid "SMax Sample Value" msgstr "Valeur maximal d'ouverture" #: src/tags.cpp:638 msgid "This field specifies the maximum sample value." msgstr "" #: src/tags.cpp:640 msgid "Transfer Range" msgstr "Échelle de transfert" #: src/tags.cpp:641 msgid "Expands the range of the TransferFunction" msgstr "" #: src/tags.cpp:643 msgid "Clip Path" msgstr "" #: src/tags.cpp:644 msgid "" "A TIFF ClipPath is intended to mirror the essentials of PostScript's path " "creation functionality." msgstr "" #: src/tags.cpp:647 msgid "X Clip Path Units" msgstr "" #: src/tags.cpp:648 msgid "" "The number of units that span the width of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:651 msgid "Y Clip Path Units" msgstr "" #: src/tags.cpp:652 msgid "" "The number of units that span the height of the image, in terms of integer " "ClipPath coordinates." msgstr "" #: src/tags.cpp:656 msgid "" "Indexed images are images where the 'pixels' do not represent color values, " "but rather an index (usually 8-bit) into a separate color table, the " "ColorMap." msgstr "" #: src/tags.cpp:660 #, fuzzy msgid "JPEG tables" msgstr "Processus JPEG" #: src/tags.cpp:661 msgid "" "This optional tag may be used to encode the JPEG quantization and Huffman " "tables for subsequent use by the JPEG decompression process." msgstr "" #: src/tags.cpp:664 msgid "OPI Proxy" msgstr "" #: src/tags.cpp:665 msgid "" "OPIProxy gives information concerning whether this image is a low-resolution " "proxy of a high-resolution image (Adobe OPI)." msgstr "" #: src/tags.cpp:668 msgid "JPEG Process" msgstr "Processus JPEG" #: src/tags.cpp:669 msgid "This field indicates the process used to produce the compressed data" msgstr "" #: src/tags.cpp:671 msgid "JPEG Interchange Format" msgstr "Format d'échange JPEG" #: src/tags.cpp:672 msgid "" "The offset to the start byte (SOI) of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data." msgstr "" #: src/tags.cpp:675 msgid "JPEG Interchange Format Length" msgstr "Longueur du format d'échange JPEG" #: src/tags.cpp:676 msgid "" "The number of bytes of JPEG compressed thumbnail data. This is not used for " "primary image JPEG data. JPEG thumbnails are not divided but are recorded as " "a continuous JPEG bitstream from SOI to EOI. Appn and COM markers should not " "be recorded. Compressed thumbnails must be recorded in no more than 64 " "Kbytes, including all other data to be recorded in APP1." msgstr "" "Le nombre d'octets de données des vignettes compressées JPEG. Ce n'est pas " "utilisé pour les données des images JPEG primaires. Les vignettes JPEG ne " "sont pas divisées mais sont enregistrées sous la forme d'un flux continu " "JPEG de SOI à EOI. Les marqueurs Appn et COM ne doivent pas être " "enregistrés. Les vignettes compressées doivent être enregistrées dans moins " "de 64 kilo-octets, incluant toutes les autres données devant être " "enregistrées dans APP1." #: src/tags.cpp:683 msgid "JPEG Restart Interval" msgstr "" #: src/tags.cpp:684 #, fuzzy msgid "" "This Field indicates the length of the restart interval used in the " "compressed image data." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/tags.cpp:687 msgid "JPEG Lossless Predictors" msgstr "" #: src/tags.cpp:688 msgid "" "This Field points to a list of lossless predictor-selection values, one per " "component." msgstr "" #: src/tags.cpp:691 msgid "JPEG Point Transforms" msgstr "" #: src/tags.cpp:692 msgid "" "This Field points to a list of point transform values, one per component." msgstr "" #: src/tags.cpp:694 #, fuzzy msgid "JPEG Q-Tables" msgstr "Processus JPEG" #: src/tags.cpp:695 msgid "" "This Field points to a list of offsets to the quantization tables, one per " "component." msgstr "" #: src/tags.cpp:698 #, fuzzy msgid "JPEG DC-Tables" msgstr "Processus JPEG" #: src/tags.cpp:699 msgid "" "This Field points to a list of offsets to the DC Huffman tables or the " "lossless Huffman tables, one per component." msgstr "" #: src/tags.cpp:702 #, fuzzy msgid "JPEG AC-Tables" msgstr "Processus JPEG" #: src/tags.cpp:703 msgid "" "This Field points to a list of offsets to the Huffman AC tables, one per " "component." msgstr "" #: src/tags.cpp:707 #, fuzzy msgid "" "The matrix coefficients for transformation from RGB to YCbCr image data. No " "default is given in TIFF; but here the value given in Appendix E, \"Color " "Space Guidelines\", is used as the default. The color space is declared in a " "color space information tag, with the default being the value that gives the " "optimal image characteristics Interoperability this condition." msgstr "" "La valeur de référence des points noir et blanc. Nul défaut n'est donné en " "TIFF, mais les valeurs ci-dessous sont données comme défauts ici. L'espace " "des couleurs est déclaré dans le marqueur d'informations de l'espace des " "couleurs, avec la valeur par défaut étant celle donnant les caractéristiques " "optimales de l'image dans ces conditions." #: src/tags.cpp:715 msgid "YCbCr Sub-Sampling" msgstr "Sous échantillonage YCbCr" #: src/tags.cpp:716 #, fuzzy msgid "" "The sampling ratio of chrominance components in relation to the luminance " "component. In JPEG compressed data a JPEG marker is used instead of this tag." msgstr "" "La composition des pixels. Dans des données compressées en JPEG un marqueur " "JPEG est utilisé à la place de ce marqueur." #: src/tags.cpp:721 msgid "" "The position of chrominance components in relation to the luminance " "component. This field is designated only for JPEG compressed data or " "uncompressed YCbCr data. The TIFF default is 1 (centered); but when Y:Cb:Cr " "= 4:2:2 it is recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed on TV " "systems. When this field does not exist, the reader shall assume the TIFF " "default. In the case of Y:Cb:Cr = 4:2:0, the TIFF default (centered) is " "recommended. If the reader does not have the capability of supporting both " "kinds of , it shall follow the TIFF default regardless of " "the value in this field. It is preferable that readers be able to support " "both centered and co-sited positioning." msgstr "" #: src/tags.cpp:735 msgid "Reference Black/White" msgstr "Noir/Blanc de Référence" #: src/tags.cpp:736 msgid "" "The reference black point value and reference white point value. No defaults " "are given in TIFF, but the values below are given as defaults here. The " "color space is declared in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions." msgstr "" "La valeur de référence des points noir et blanc. Nul défaut n'est donné en " "TIFF, mais les valeurs ci-dessous sont données comme défauts ici. L'espace " "des couleurs est déclaré dans le marqueur d'informations de l'espace des " "couleurs, avec la valeur par défaut étant celle donnant les caractéristiques " "optimales de l'image dans ces conditions." #: src/tags.cpp:743 msgid "XML Packet" msgstr "Paquets XML" #: src/tags.cpp:744 msgid "XMP Metadata (Adobe technote 9-14-02)" msgstr "Métadonnées XMP (Adobe technote 9-14-02)" #: src/tags.cpp:746 msgid "Windows Rating" msgstr "Classement Windows" #: src/tags.cpp:747 msgid "Rating tag used by Windows" msgstr "" #: src/tags.cpp:749 msgid "Windows Rating Percent" msgstr "Classement Windows (pourcentage)" #: src/tags.cpp:750 msgid "Rating tag used by Windows, value in percent" msgstr "" #: src/tags.cpp:752 #, fuzzy msgid "Image ID" msgstr "ID unique de l'image" #: src/tags.cpp:753 msgid "" "ImageID is the full pathname of the original, high-resolution image, or any " "other identifying string that uniquely identifies the original image (Adobe " "OPI)." msgstr "" #: src/tags.cpp:757 msgid "CFA Repeat Pattern Dimension" msgstr "Dimension motif CFA" #: src/tags.cpp:758 msgid "" "Contains two values representing the minimum rows and columns to define the " "repeating patterns of the color filter array" msgstr "" #: src/tags.cpp:762 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods" msgstr "" #: src/tags.cpp:770 msgid "" "Copyright information. In this standard the tag is used to indicate both the " "photographer and editor copyrights. It is the copyright notice of the person " "or organization claiming rights to the image. The Interoperability copyright " "statement including date and rights should be written in this field; e.g., " "\"Copyright, John Smith, 19xx. All rights reserved.\". In this standard the " "field records both the photographer and editor copyrights, with each " "recorded in a separate part of the statement. When there is a clear " "distinction between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, separated " "by NULL (in this case since the statement also ends with a NULL, there are " "two NULL codes). When only the photographer copyright is given, it is " "terminated by one NULL code. When only the editor copyright is given, the " "photographer copyright part consists of one space followed by a terminating " "NULL code, then the editor copyright is given. When the field is left blank, " "it is treated as unknown." msgstr "" #: src/tags.cpp:789 #, fuzzy msgid "Exposure time, given in seconds." msgstr "Temps d'exposition, en secondes (sec)." #: src/tags.cpp:790 src/tags.cpp:1553 msgid "The F number." msgstr "Le nombre F." #: src/tags.cpp:791 msgid "IPTC/NAA" msgstr "IPTC/NAA" #: src/tags.cpp:792 msgid "Contains an IPTC/NAA record" msgstr "" #: src/tags.cpp:794 msgid "Image Resources Block" msgstr "" #: src/tags.cpp:795 msgid "Contains information embedded by the Adobe Photoshop application" msgstr "" #: src/tags.cpp:798 msgid "" "A pointer to the Exif IFD. Interoperability, Exif IFD has the same structure " "as that of the IFD specified in TIFF. ordinarily, however, it does not " "contain image data as in the case of TIFF." msgstr "" #: src/tags.cpp:803 #, fuzzy msgid "Inter Color Profile" msgstr "Profil couleur" #: src/tags.cpp:804 msgid "" "Contains an InterColor Consortium (ICC) format color space characterization/" "profile" msgstr "" #: src/tags.cpp:806 src/tags.cpp:1556 msgid "" "The class of the program used by the camera to set exposure when the picture " "is taken." msgstr "" "La classe du programme utilisé par l'appareil pour configurer l'exposition " "lorsque la photo a été prise." #: src/tags.cpp:807 #, fuzzy msgid "Indicates the spectral sensitivity of each channel of the camera used." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/tags.cpp:809 msgid "" "A pointer to the GPS Info IFD. The Interoperability structure of the GPS " "Info IFD, like that of Exif IFD, has no image data." msgstr "" #: src/tags.cpp:813 src/tags.cpp:1564 msgid "ISO Speed Ratings" msgstr "Vitesse en ISO" #: src/tags.cpp:813 src/tags.cpp:1565 msgid "" "Indicates the ISO Speed and ISO Latitude of the camera or input device as " "specified in ISO 12232." msgstr "" #: src/tags.cpp:814 msgid "" "Indicates the Opto-Electric Conversion Function (OECF) specified in ISO " "14524." msgstr "" #: src/tags.cpp:815 #, fuzzy msgid "Interlace" msgstr "Entrelacé" #: src/tags.cpp:815 msgid "Indicates the field number of multifield images." msgstr "" #: src/tags.cpp:816 #, fuzzy msgid "Time Zone Offset" msgstr "Décalage aperçu" #: src/tags.cpp:817 msgid "" "This optional tag encodes the time zone of the camera clock (relativeto " "Greenwich Mean Time) used to create the DataTimeOriginal tag-valuewhen the " "picture was taken. It may also contain the time zone offsetof the clock used " "to create the DateTime tag-value when the image wasmodified." msgstr "" #: src/tags.cpp:823 #, fuzzy msgid "Self Timer Mode" msgstr "Retardateur" #: src/tags.cpp:823 msgid "Number of seconds image capture was delayed from button press." msgstr "" #: src/tags.cpp:824 #, fuzzy msgid "Date Time Original" msgstr "Date et heure (originel)" #: src/tags.cpp:824 #, fuzzy msgid "The date and time when the original image data was generated." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/tags.cpp:825 msgid "Specific to compressed data; states the compressed bits per pixel." msgstr "" #: src/tags.cpp:826 #, fuzzy msgid "Shutter speed." msgstr "Vitesse d'obturation" #: src/tags.cpp:827 #, fuzzy msgid "The lens aperture." msgstr "Ouverture maximale" #: src/tags.cpp:828 #, fuzzy msgid "The value of brightness." msgstr "Le nombre F." #: src/tags.cpp:829 #, fuzzy msgid "The exposure bias." msgstr "Correction d'exposition" #: src/tags.cpp:830 src/tags.cpp:1645 msgid "Max Aperture Value" msgstr "Valeur maximal d'ouverture" #: src/tags.cpp:830 #, fuzzy msgid "The smallest F number of the lens." msgstr "Le type de source lumineuse." #: src/tags.cpp:831 src/tags.cpp:1651 msgid "The distance to the subject, given in meters." msgstr "La distance au sujet, donnée en mètres." #: src/tags.cpp:832 src/tags.cpp:1654 msgid "The metering mode." msgstr "Le mode de mesure." #: src/tags.cpp:833 src/tags.cpp:1657 msgid "The kind of light source." msgstr "Le type de source lumineuse." #: src/tags.cpp:834 #, fuzzy msgid "Indicates the status of flash when the image was shot." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/tags.cpp:835 msgid "The actual focal length of the lens, in mm." msgstr "" #: src/tags.cpp:836 msgid "Amount of flash energy (BCPS)." msgstr "" #: src/tags.cpp:837 msgid "SFR of the camera." msgstr "" #: src/tags.cpp:838 #, fuzzy msgid "Noise" msgstr "Aucun" #: src/tags.cpp:838 msgid "Noise measurement values." msgstr "" #: src/tags.cpp:839 #, fuzzy msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth " "direction for main image." msgstr "" "Le nombre de pixels par dans la direction .La " "même valeur que pour est utilisée." #: src/tags.cpp:840 #, fuzzy msgid "" "Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength " "direction for main image." msgstr "" "Le nombre de pixels par dans la direction .La " "même valeur que pour est utilisée." #: src/tags.cpp:841 msgid "" "Unit of measurement for FocalPlaneXResolution(37390) and " "FocalPlaneYResolution(37391)." msgstr "" #: src/tags.cpp:842 msgid "Number assigned to an image, e.g., in a chained image burst." msgstr "" #: src/tags.cpp:843 #, fuzzy msgid "Security Classification" msgstr "Augmentation électronique" #: src/tags.cpp:843 #, fuzzy msgid "Security classification assigned to the image." msgstr "Augmentation électronique" #: src/tags.cpp:844 msgid "Record of what has been done to the image." msgstr "" #: src/tags.cpp:845 #, fuzzy msgid "" "Indicates the location and area of the main subject in the overall scene." msgstr "" "Ce marqueur indique l'emplacement et l'aire du sujet principal dans la scène " "générale." #: src/tags.cpp:846 msgid "Encodes the camera exposure index setting when image was captured." msgstr "" #: src/tags.cpp:847 #, fuzzy msgid "TIFF/EP Standard ID" msgstr "F0/Standard" #: src/tags.cpp:848 msgid "" "Contains four ASCII characters representing the TIFF/EP standard version of " "a TIFF/EP file, eg '1', '0', '0', '0'" msgstr "" #: src/tags.cpp:851 #, fuzzy msgid "Type of image sensor." msgstr "Comptage d'image" #: src/tags.cpp:852 msgid "Windows Title" msgstr "Titre Windows" #: src/tags.cpp:853 msgid "Title tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:855 msgid "Windows Comment" msgstr "Commentaire Windows" #: src/tags.cpp:856 msgid "Comment tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:858 msgid "Windows Author" msgstr "Auteur Windows" #: src/tags.cpp:859 msgid "Author tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:861 msgid "Windows Keywords" msgstr "mots-clés Windows" #: src/tags.cpp:862 msgid "Keywords tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:864 msgid "Windows Subject" msgstr "Sujet Windows" #: src/tags.cpp:865 msgid "Subject tag used by Windows, encoded in UCS2" msgstr "" #: src/tags.cpp:867 msgid "Print Image Matching" msgstr "" #: src/tags.cpp:868 msgid "Print Image Matching, description needed." msgstr "" #: src/tags.cpp:870 #, fuzzy msgid "DNG version" msgstr "Version du fichier" #: src/tags.cpp:871 msgid "" "This tag encodes the DNG four-tier version number. For files compliant with " "version 1.1.0.0 of the DNG specification, this tag should contain the bytes: " "1, 1, 0, 0." msgstr "" #: src/tags.cpp:875 #, fuzzy msgid "DNG backward version" msgstr "Version de microcode" #: src/tags.cpp:876 msgid "" "This tag specifies the oldest version of the Digital Negative specification " "for which a file is compatible. Readers shouldnot attempt to read a file if " "this tag specifies a version number that is higher than the version number " "of the specification the reader was based on. In addition to checking the " "version tags, readers should, for all tags, check the types, counts, and " "values, to verify it is able to correctly read the file." msgstr "" #: src/tags.cpp:884 #, fuzzy msgid "Unique Camera Model" msgstr "Modèle de l'appareil" #: src/tags.cpp:885 msgid "" "Defines a unique, non-localized name for the camera model that created the " "image in the raw file. This name should include the manufacturer's name to " "avoid conflicts, and should not be localized, even if the camera name itself " "is localized for different markets (see LocalizedCameraModel). This string " "may be used by reader software to index into per-model preferences and " "replacement profiles." msgstr "" #: src/tags.cpp:892 #, fuzzy msgid "Localized Camera Model" msgstr "Modèle de l'appareil" #: src/tags.cpp:893 msgid "" "Similar to the UniqueCameraModel field, except the name can be localized for " "different markets to match the localization of the camera name." msgstr "" #: src/tags.cpp:897 #, fuzzy msgid "CFA Plane Color" msgstr "Couleur FinePix" #: src/tags.cpp:898 msgid "" "Provides a mapping between the values in the CFAPattern tag and the plane " "numbers in LinearRaw space. This is a required tag for non-RGB CFA images." msgstr "" #: src/tags.cpp:902 msgid "CFA Layout" msgstr "" #: src/tags.cpp:903 msgid "Describes the spatial layout of the CFA." msgstr "" #: src/tags.cpp:906 msgid "" "Describes a lookup table that maps stored values into linear values. This " "tag is typically used to increase compression ratios by storing the raw data " "in a non-linear, more visually uniform space with fewer total encoding " "levels. If SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel." msgstr "" #: src/tags.cpp:912 #, fuzzy msgid "Black Level Repeat Dim" msgstr "Niveau de noir" #: src/tags.cpp:913 msgid "Specifies repeat pattern size for the BlackLevel tag." msgstr "" #: src/tags.cpp:916 msgid "" "Specifies the zero light (a.k.a. thermal black or black current) encoding " "level, as a repeating pattern. The origin of this pattern is the top-left " "corner of the ActiveArea rectangle. The values are stored in row-column-" "sample scan order." msgstr "" #: src/tags.cpp:921 #, fuzzy msgid "Black Level Delta H" msgstr "Niveau de noir" #: src/tags.cpp:922 msgid "" "If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light encoding " "level for each column and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to all the " "samples for each pixel." msgstr "" #: src/tags.cpp:928 #, fuzzy msgid "Black Level Delta V" msgstr "Niveau de noir" #: src/tags.cpp:929 msgid "" "If the zero light encoding level is a function of the image row, this tag " "specifies the difference between the zero light encoding level for each row " "and the baseline zero light encoding level. If SamplesPerPixel is not equal " "to one, this single table applies to all the samples for each pixel." msgstr "" #: src/tags.cpp:935 #, fuzzy msgid "White Level" msgstr "Niveau de charge" #: src/tags.cpp:936 msgid "" "This tag specifies the fully saturated encoding level for the raw sample " "values. Saturation is caused either by the sensor itself becoming highly non-" "linear in response, or by the camera's analog to digital converter clipping." msgstr "" #: src/tags.cpp:941 #, fuzzy msgid "Default Scale" msgstr "Défaut" #: src/tags.cpp:942 msgid "" "DefaultScale is required for cameras with non-square pixels. It specifies " "the default scale factors for each direction to convert the image to square " "pixels. Typically these factors are selected to approximately preserve total " "pixel count. For CFA images that use CFALayout equal to 2, 3, 4, or 5, such " "as the Fujifilm SuperCCD, these two values should usually differ by a factor " "of 2.0." msgstr "" #: src/tags.cpp:949 msgid "Default Crop Origin" msgstr "" #: src/tags.cpp:950 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropOrigin specifies the origin of the final image " "area, in raw image coordinates (i.e., before the DefaultScale has been " "applied), relative to the top-left corner of the ActiveArea rectangle." msgstr "" #: src/tags.cpp:957 #, fuzzy msgid "Default Crop Size" msgstr "Défaut" #: src/tags.cpp:958 msgid "" "Raw images often store extra pixels around the edges of the final image. " "These extra pixels help prevent interpolation artifacts near the edges of " "the final image. DefaultCropSize specifies the size of the final image area, " "in raw image coordinates (i.e., before the DefaultScale has been applied)." msgstr "" #: src/tags.cpp:964 #, fuzzy msgid "Color Matrix 1" msgstr "Matrice des couleurs" #: src/tags.cpp:965 msgid "" "ColorMatrix1 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the first calibration " "illuminant. The matrix values are stored in row scan order. The ColorMatrix1 " "tag is required for all non-monochrome DNG files." msgstr "" #: src/tags.cpp:971 #, fuzzy msgid "Color Matrix 2" msgstr "Matrice des couleurs" #: src/tags.cpp:972 msgid "" "ColorMatrix2 defines a transformation matrix that converts XYZ values to " "reference camera native color space values, under the second calibration " "illuminant. The matrix values are stored in row scan order." msgstr "" #: src/tags.cpp:977 #, fuzzy msgid "Camera Calibration 1" msgstr "Réglage appareil photo (Z1)" #: src/tags.cpp:978 msgid "" "CameraCalibration1 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the first calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix1 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:987 #, fuzzy msgid "Camera Calibration 2" msgstr "Réglage appareil photo (Z1)" #: src/tags.cpp:988 msgid "" "CameraCalibration2 defines a calibration matrix that transforms reference " "camera native space values to individual camera native space values under " "the second calibration illuminant. The matrix is stored in row scan order. " "This matrix is stored separately from the matrix specified by the " "ColorMatrix2 tag to allow raw converters to swap in replacement color " "matrices based on UniqueCameraModel tag, while still taking advantage of any " "per-individual camera calibration performed by the camera manufacturer." msgstr "" #: src/tags.cpp:997 #, fuzzy msgid "Reduction Matrix 1" msgstr "Matrice des couleurs" #: src/tags.cpp:998 msgid "" "ReductionMatrix1 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the first calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1004 #, fuzzy msgid "Reduction Matrix 2" msgstr "Matrice des couleurs" #: src/tags.cpp:1005 msgid "" "ReductionMatrix2 defines a dimensionality reduction matrix for use as the " "first stage in converting color camera native space values to XYZ values, " "under the second calibration illuminant. This tag may only be used if " "ColorPlanes is greater than 3. The matrix is stored in row scan order." msgstr "" #: src/tags.cpp:1011 #, fuzzy msgid "Analog Balance" msgstr "Balance des bleus" #: src/tags.cpp:1012 msgid "" "Normally the stored raw values are not white balanced, since any digital " "white balancing will reduce the dynamic range of the final image if the user " "decides to later adjust the white balance; however, if camera hardware is " "capable of white balancing the color channels before the signal is " "digitized, it can improve the dynamic range of the final image. " "AnalogBalance defines the gain, either analog (recommended) or digital (not " "recommended) that has been applied the stored raw values." msgstr "" #: src/tags.cpp:1021 #, fuzzy msgid "As Shot Neutral" msgstr "Neutre" #: src/tags.cpp:1022 msgid "" "Specifies the selected white balance at time of capture, encoded as the " "coordinates of a perfectly neutral color in linear reference space values. " "The inclusion of this tag precludes the inclusion of the AsShotWhiteXY tag." msgstr "" #: src/tags.cpp:1027 msgid "As Shot White XY" msgstr "" #: src/tags.cpp:1028 msgid "" "Specifies the selected white balance at time of capture, encoded as x-y " "chromaticity coordinates. The inclusion of this tag precludes the inclusion " "of the AsShotNeutral tag." msgstr "" #: src/tags.cpp:1032 #, fuzzy msgid "Baseline Exposure" msgstr "Exposition" #: src/tags.cpp:1033 msgid "" "Camera models vary in the trade-off they make between highlight headroom and " "shadow noise. Some leave a significant amount of highlight headroom during a " "normal exposure. This allows significant negative exposure compensation to " "be applied during raw conversion, but also means normal exposures will " "contain more shadow noise. Other models leave less headroom during normal " "exposures. This allows for less negative exposure compensation, but results " "in lower shadow noise for normal exposures. Because of these differences, a " "raw converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much (in EV " "units) to move the zero point. Positive values result in brighter default " "results, while negative values result in darker default results." msgstr "" #: src/tags.cpp:1047 #, fuzzy msgid "Baseline Noise" msgstr "Exposition" #: src/tags.cpp:1048 msgid "" "Specifies the relative noise level of the camera model at a baseline ISO " "value of 100, compared to a reference camera model. Since noise levels tend " "to vary approximately with the square root of the ISO value, a raw converter " "can use this value, combined with the current ISO, to estimate the relative " "noise level of the current image." msgstr "" #: src/tags.cpp:1054 #, fuzzy msgid "Baseline Sharpness" msgstr "Netteté" #: src/tags.cpp:1055 msgid "" "Specifies the relative amount of sharpening required for this camera model, " "compared to a reference camera model. Camera models vary in the strengths of " "their anti-aliasing filters. Cameras with weak or no filters require less " "sharpening than cameras with strong anti-aliasing filters." msgstr "" #: src/tags.cpp:1061 msgid "Bayer Green Split" msgstr "" #: src/tags.cpp:1062 msgid "" "Only applies to CFA images using a Bayer pattern filter array. This tag " "specifies, in arbitrary units, how closely the values of the green pixels in " "the blue/green rows track the values of the green pixels in the red/green " "rows. A value of zero means the two kinds of green pixels track closely, " "while a non-zero value means they sometimes diverge. The useful range for " "this tag is from 0 (no divergence) to about 5000 (quite large divergence)." msgstr "" #: src/tags.cpp:1070 msgid "Linear Response Limit" msgstr "" #: src/tags.cpp:1071 msgid "" "Some sensors have an unpredictable non-linearity in their response as they " "near the upper limit of their encoding range. This non-linearity results in " "color shifts in the highlight areas of the resulting image unless the raw " "converter compensates for this effect. LinearResponseLimit specifies the " "fraction of the encoding range above which the response may become " "significantly non-linear." msgstr "" #: src/tags.cpp:1079 msgid "" "CameraSerialNumber contains the serial number of the camera or camera body " "that captured the image." msgstr "" #: src/tags.cpp:1082 #, fuzzy msgid "Lens Info" msgstr "Objectif" #: src/tags.cpp:1083 msgid "" "Contains information about the lens that captured the image. If the minimum " "f-stops are unknown, they should be encoded as 0/0." msgstr "" #: src/tags.cpp:1086 msgid "Chroma Blur Radius" msgstr "" #: src/tags.cpp:1087 msgid "" "ChromaBlurRadius provides a hint to the DNG reader about how much chroma " "blur should be applied to the image. If this tag is omitted, the reader will " "use its default amount of chroma blurring. Normally this tag is only " "included for non-CFA images, since the amount of chroma blur required for " "mosaic images is highly dependent on the de-mosaic algorithm, in which case " "the DNG reader's default value is likely optimized for its particular de-" "mosaic algorithm." msgstr "" #: src/tags.cpp:1095 #, fuzzy msgid "Anti Alias Strength" msgstr "Puissance Flash" #: src/tags.cpp:1096 msgid "" "Provides a hint to the DNG reader about how strong the camera's anti-alias " "filter is. A value of 0.0 means no anti-alias filter (i.e., the camera is " "prone to aliasing artifacts with some subjects), while a value of 1.0 means " "a strong anti-alias filter (i.e., the camera almost never has aliasing " "artifacts)." msgstr "" #: src/tags.cpp:1102 #, fuzzy msgid "Shadow Scale" msgstr "Ombragé" #: src/tags.cpp:1103 msgid "" "This tag is used by Adobe Camera Raw to control the sensitivity of its " "'Shadows' slider." msgstr "" #: src/tags.cpp:1106 #, fuzzy msgid "DNG Private Data" msgstr "Données de prévisualisation" #: src/tags.cpp:1107 msgid "" "Provides a way for camera manufacturers to store private data in the DNG " "file for use by their own raw converters, and to have that data preserved by " "programs that edit DNG files." msgstr "" #: src/tags.cpp:1111 #, fuzzy msgid "MakerNote Safety" msgstr "Note du fabriquant" #: src/tags.cpp:1112 msgid "" "MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote tag is " "safe to preserve along with the rest of the EXIF data. File browsers and " "other image management software processing an image with a preserved " "MakerNote should be aware that any thumbnail image embedded in the MakerNote " "may be stale, and may not reflect the current state of the full size image." msgstr "" #: src/tags.cpp:1119 msgid "Calibration Illuminant 1" msgstr "" #: src/tags.cpp:1120 msgid "" "The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal values for " "this tag are the same as the legal values for the LightSource EXIF tag." msgstr "" #: src/tags.cpp:1125 #, fuzzy msgid "Calibration Illuminant 2" msgstr "Réduction du bruit" #: src/tags.cpp:1126 msgid "" "The illuminant used for an optional second set of color calibration tags " "(ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal values for " "this tag are the same as the legal values for the CalibrationIlluminant1 " "tag; however, if both are included, neither is allowed to have a value of 0 " "(unknown)." msgstr "" #: src/tags.cpp:1132 #, fuzzy msgid "Best Quality Scale" msgstr "Défaut" #: src/tags.cpp:1133 msgid "" "For some cameras, the best possible image quality is not achieved by " "preserving the total pixel count during conversion. For example, Fujifilm " "SuperCCD images have maximum detail when their total pixel count is doubled. " "This tag specifies the amount by which the values of the DefaultScale tag " "need to be multiplied to achieve the best quality image size." msgstr "" #: src/tags.cpp:1140 #, fuzzy msgid "Raw Data Unique ID" msgstr "ID unique de l'image" #: src/tags.cpp:1141 msgid "" "This tag contains a 16-byte unique identifier for the raw image data in the " "DNG file. DNG readers can use this tag to recognize a particular raw image, " "even if the file's name or the metadata contained in the file has been " "changed. If a DNG writer creates such an identifier, it should do so using " "an algorithm that will ensure that it is very unlikely two different images " "will end up having the same identifier." msgstr "" #: src/tags.cpp:1149 #, fuzzy msgid "Original Raw File Name" msgstr "Nom du fichier" #: src/tags.cpp:1150 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file." msgstr "" #: src/tags.cpp:1153 #, fuzzy msgid "Original Raw File Data" msgstr "Nom du fichier" #: src/tags.cpp:1154 msgid "" "If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The contents of " "this tag always use the big-endian byte order. The tag contains a sequence " "of data blocks. Future versions of the DNG specification may define " "additional data blocks, so DNG readers should ignore extra bytes when " "parsing this tag. DNG readers should also detect the case where data blocks " "are missing from the end of the sequence, and should assume a default value " "for all the missing blocks. There are no padding or alignment bytes between " "data blocks." msgstr "" #: src/tags.cpp:1164 #, fuzzy msgid "Active Area" msgstr "Aire du sujet" #: src/tags.cpp:1165 msgid "" "This rectangle defines the active (non-masked) pixels of the sensor. The " "order of the rectangle coordinates is: top, left, bottom, right." msgstr "" #: src/tags.cpp:1168 #, fuzzy msgid "Masked Areas" msgstr "Dur" #: src/tags.cpp:1169 msgid "" "This tag contains a list of non-overlapping rectangle coordinates of fully " "masked pixels, which can be optionally used by DNG readers to measure the " "black encoding level. The order of each rectangle's coordinates is: top, " "left, bottom, right. If the raw image data has already had its black " "encoding level subtracted, then this tag should not be used, since the " "masked pixels are no longer useful." msgstr "" #: src/tags.cpp:1176 #, fuzzy msgid "As-Shot ICC Profile" msgstr "Profil couleur" #: src/tags.cpp:1177 msgid "" "This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a way to " "specify a default color rendering from camera color space coordinates " "(linear reference values) into the ICC profile connection space. The ICC " "profile connection space is an output referred colorimetric space, whereas " "the other color calibration tags in DNG specify a conversion into a scene " "referred colorimetric space. This means that the rendering in this profile " "should include any desired tone and gamut mapping needed to convert between " "scene referred values and output referred values." msgstr "" #: src/tags.cpp:1188 msgid "As-Shot Pre-Profile Matrix" msgstr "" #: src/tags.cpp:1189 msgid "" "This tag is used in conjunction with the AsShotICCProfile tag. It specifies " "a matrix that should be applied to the camera color space coordinates before " "processing the values through the ICC profile specified in the " "AsShotICCProfile tag. The matrix is stored in the row scan order. If " "ColorPlanes is greater than three, then this matrix can (but is not required " "to) reduce the dimensionality of the color data down to three components, in " "which case the AsShotICCProfile should have three rather than ColorPlanes " "input components." msgstr "" #: src/tags.cpp:1198 #, fuzzy msgid "Current ICC Profile" msgstr "Profil couleur" #: src/tags.cpp:1199 msgid "" "This tag is used in conjunction with the CurrentPreProfileMatrix tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1205 #, fuzzy msgid "Current Pre-Profile Matrix" msgstr "Profil couleur" #: src/tags.cpp:1206 msgid "" "This tag is used in conjunction with the CurrentICCProfile tag. The " "CurrentICCProfile and CurrentPreProfileMatrix tags have the same purpose and " "usage as the AsShotICCProfile and AsShotPreProfileMatrix tag pair, except " "they are for use by raw file editors rather than camera manufacturers." msgstr "" #: src/tags.cpp:1212 #, fuzzy msgid "Colorimetric Reference" msgstr "Date de référence" #: src/tags.cpp:1213 msgid "" "The DNG color model documents a transform between camera colors and CIE XYZ " "values. This tag describes the colorimetric reference for the CIE XYZ " "values. 0 = The XYZ values are scene-referred. 1 = The XYZ values are output-" "referred, using the ICC profile perceptual dynamic range. This tag allows " "output-referred data to be stored in DNG files and still processed correctly " "by DNG readers." msgstr "" #: src/tags.cpp:1220 #, fuzzy msgid "Camera Calibration Signature" msgstr "Réglage appareil photo (Z1)" #: src/tags.cpp:1221 msgid "" "A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile." msgstr "" #: src/tags.cpp:1227 #, fuzzy msgid "Profile Calibration Signature" msgstr "Réduction du bruit" #: src/tags.cpp:1228 msgid "" "A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile." msgstr "" #: src/tags.cpp:1234 #, fuzzy msgid "As Shot Profile Name" msgstr "Profil couleur" #: src/tags.cpp:1235 msgid "" "A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any." msgstr "" #: src/tags.cpp:1238 #, fuzzy msgid "Noise Reduction Applied" msgstr "Réduction du bruit" #: src/tags.cpp:1239 msgid "" "This tag indicates how much noise reduction has been applied to the raw data " "on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction has " "been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown." msgstr "" #: src/tags.cpp:1246 #, fuzzy msgid "Profile Name" msgstr "Nom du propriétaire" #: src/tags.cpp:1247 msgid "" "A UTF-8 encoded string containing the name of the camera profile. This tag " "is optional if there is only a single camera profile stored in the file but " "is required for all camera profiles if there is more than one camera profile " "stored in the file." msgstr "" #: src/tags.cpp:1252 msgid "Profile Hue Sat Map Dims" msgstr "" #: src/tags.cpp:1253 msgid "" "This tag specifies the number of input samples in each dimension of the hue/" "saturation/value mapping tables. The data for these tables are stored in " "ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common case " "has ValueDivisions equal to 1, so only hue and saturation are used as inputs " "to the mapping table." msgstr "" #: src/tags.cpp:1259 msgid "Profile Hue Sat Map Data 1" msgstr "" #: src/tags.cpp:1260 msgid "" "This tag contains the data for the first hue/saturation/value mapping table. " "Each entry of the table contains three 32-bit IEEE floating-point values. " "The first entry is hue shift in degrees; the second entry is saturation " "scale factor; and the third entry is a value scale factor. The table entries " "are stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1269 msgid "Profile Hue Sat Map Data 2" msgstr "" #: src/tags.cpp:1270 msgid "" "This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1279 #, fuzzy msgid "Profile Tone Curve" msgstr "Courbe de tonalité" #: src/tags.cpp:1280 msgid "" "This tag contains a default tone curve that can be applied while processing " "the image as a starting point for user adjustments. The curve is specified " "as a list of 32-bit IEEE floating-point value pairs in linear gamma. Each " "sample has an input value in the range of 0.0 to 1.0, and an output value in " "the range of 0.0 to 1.0. The first sample is required to be (0.0, 0.0), and " "the last sample is required to be (1.0, 1.0). Interpolated the curve using a " "cubic spline." msgstr "" #: src/tags.cpp:1288 msgid "Profile Embed Policy" msgstr "" #: src/tags.cpp:1289 msgid "" "This tag contains information about the usage rules for the associated " "camera profile." msgstr "" #: src/tags.cpp:1292 #, fuzzy msgid "Profile Copyright" msgstr "Droit d'auteur" #: src/tags.cpp:1293 msgid "" "A UTF-8 encoded string containing the copyright information for the camera " "profile. This string always should be preserved along with the other camera " "profile tags." msgstr "" #: src/tags.cpp:1297 #, fuzzy msgid "Forward Matrix 1" msgstr "Matrice des couleurs" #: src/tags.cpp:1298 src/tags.cpp:1302 msgid "" "This tag defines a matrix that maps white balanced camera colors to XYZ D50 " "colors." msgstr "" #: src/tags.cpp:1301 #, fuzzy msgid "Forward Matrix 2" msgstr "Matrice des couleurs" #: src/tags.cpp:1305 #, fuzzy msgid "Preview Application Name" msgstr "Données de prévisualisation" #: src/tags.cpp:1306 msgid "" "A UTF-8 encoded string containing the name of the application that created " "the preview stored in the IFD." msgstr "" #: src/tags.cpp:1309 #, fuzzy msgid "Preview Application Version" msgstr "Version de prévisualisation" #: src/tags.cpp:1310 msgid "" "A UTF-8 encoded string containing the version number of the application that " "created the preview stored in the IFD." msgstr "" #: src/tags.cpp:1313 #, fuzzy msgid "Preview Settings Name" msgstr "Aperçu embarqué" #: src/tags.cpp:1314 msgid "" "A UTF-8 encoded string containing the name of the conversion settings (for " "example, snapshot name) used for the preview stored in the IFD." msgstr "" #: src/tags.cpp:1317 #, fuzzy msgid "Preview Settings Digest" msgstr "Description des paramètres du matériel" #: src/tags.cpp:1318 msgid "" "A unique ID of the conversion settings (for example, MD5 digest) used to " "render the preview stored in the IFD." msgstr "" #: src/tags.cpp:1321 #, fuzzy msgid "Preview Color Space" msgstr "Espace des couleurs" #: src/tags.cpp:1322 msgid "" "This tag specifies the color space in which the rendered preview in this IFD " "is stored. The default value for this tag is sRGB for color previews and " "Gray Gamma 2.2 for monochrome previews." msgstr "" #: src/tags.cpp:1326 #, fuzzy msgid "Preview Date Time" msgstr "Données de prévisualisation" #: src/tags.cpp:1327 msgid "" "This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format." msgstr "" #: src/tags.cpp:1331 #, fuzzy msgid "Raw Image Digest" msgstr "Comptage d'image" #: src/tags.cpp:1332 msgid "" "This tag is an MD5 digest of the raw image data. All pixels in the image are " "processed in row-scan order. Each pixel is zero padded to 16 or 32 bits deep " "(16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). The " "data for each pixel is processed in little-endian byte order." msgstr "" #: src/tags.cpp:1337 #, fuzzy msgid "Original Raw File Digest" msgstr "Nom du fichier" #: src/tags.cpp:1338 msgid "" "This tag is an MD5 digest of the data stored in the OriginalRawFileData tag." msgstr "" #: src/tags.cpp:1341 msgid "Sub Tile Block Size" msgstr "" #: src/tags.cpp:1342 msgid "" "Normally, the pixels within a tile are stored in simple row-scan order. This " "tag specifies that the pixels within a tile should be grouped first into " "rectangular blocks of the specified size. These blocks are stored in row-" "scan order. Within each block, the pixels are stored in row-scan order. The " "use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1349 msgid "Row Interleave Factor" msgstr "" #: src/tags.cpp:1350 msgid "" "This tag specifies that rows of the image are stored in interleaved order. " "The value of the tag specifies the number of interleaved fields. The use of " "a non-default value for this tag requires setting the DNGBackwardVersion tag " "to at least 1.2.0.0." msgstr "" #: src/tags.cpp:1355 msgid "Profile Look Table Dims" msgstr "" #: src/tags.cpp:1356 msgid "" "This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag." msgstr "" #: src/tags.cpp:1360 msgid "Profile Look Table Data" msgstr "" #: src/tags.cpp:1361 msgid "" "This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 and " "ProfileHueSatMapData2 tags, and is applied in the same color space. However, " "it should be applied later in the processing pipe, after any exposure " "compensation and/or fill light stages, but before any tone curve stage. Each " "entry of the table contains three 32-bit IEEE floating-point values. The " "first entry is hue shift in degrees, the second entry is a saturation scale " "factor, and the third entry is a value scale factor. The table entries are " "stored in the tag in nested loop order, with the value divisions in the " "outer loop, the hue divisions in the middle loop, and the saturation " "divisions in the inner loop. All zero input saturation entries are required " "to have a value scale factor of 1.0." msgstr "" #: src/tags.cpp:1375 msgid "Opcode List 1" msgstr "" #: src/tags.cpp:1376 msgid "" "Specifies the list of opcodes that should be applied to the raw image, as " "read directly from the file." msgstr "" #: src/tags.cpp:1379 msgid "Opcode List 2" msgstr "" #: src/tags.cpp:1380 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been mapped to linear reference values." msgstr "" #: src/tags.cpp:1383 msgid "Opcode List 3" msgstr "" #: src/tags.cpp:1384 msgid "" "Specifies the list of opcodes that should be applied to the raw image, just " "after it has been demosaiced." msgstr "" #: src/tags.cpp:1387 #, fuzzy msgid "Noise Profile" msgstr "Filtre couleur" #: src/tags.cpp:1388 msgid "" "NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in raw " "images. The model assumes that the noise is white and spatially independent, " "ignoring fixed pattern effects and other sources of noise (e.g., pixel " "response non-uniformity, spatially-dependent thermal effects, etc.)." msgstr "" #: src/tags.cpp:1396 src/tags.cpp:1397 msgid "Unknown IFD tag" msgstr "Marqueur IFD inconnu" #: src/tags.cpp:1408 src/tags.cpp:1466 msgid "Not defined" msgstr "Non défini" #: src/tags.cpp:1413 msgid "Creative program" msgstr "Programme Créatif" #: src/tags.cpp:1414 msgid "Action program" msgstr "Programme Action" #: src/tags.cpp:1415 msgid "Portrait mode" msgstr "Mode portrait" #: src/tags.cpp:1416 msgid "Landscape mode" msgstr "Mode paysage" #: src/tags.cpp:1425 msgid "Multi-spot" msgstr "Multi-spots" #: src/tags.cpp:1437 msgid "Tungsten (incandescent light)" msgstr "Tungstène (lampe à incandescence)" #: src/tags.cpp:1439 msgid "Fine weather" msgstr "Ensoleillé" #: src/tags.cpp:1440 msgid "Cloudy weather" msgstr "Nuageux" #: src/tags.cpp:1442 msgid "Daylight fluorescent (D 5700 - 7100K)" msgstr "Lumière du jour fluorescent (D 5700 - 7100K)" #: src/tags.cpp:1443 msgid "Day white fluorescent (N 4600 - 5400K)" msgstr "Blanc chaud fluorescent (N 4600 - 5400K)" #: src/tags.cpp:1444 msgid "Cool white fluorescent (W 3900 - 4500K)" msgstr "Blanc froid fluorescent (W 3900 - 4500K)" #: src/tags.cpp:1445 msgid "White fluorescent (WW 3200 - 3700K)" msgstr "Blanc fluorescent (WW 3200 - 3700K)" #: src/tags.cpp:1446 msgid "Standard light A" msgstr "Lumière standard A" #: src/tags.cpp:1447 msgid "Standard light B" msgstr "Lumière standard B" #: src/tags.cpp:1448 msgid "Standard light C" msgstr "Lumière standard C" #: src/tags.cpp:1449 msgid "D55" msgstr "D55" #: src/tags.cpp:1450 msgid "D65" msgstr "D65" #: src/tags.cpp:1451 msgid "D75" msgstr "D75" #: src/tags.cpp:1452 msgid "D50" msgstr "D55" #: src/tags.cpp:1453 msgid "ISO studio tungsten" msgstr "Lampe de studio tungstène ISO" #: src/tags.cpp:1454 msgid "Other light source" msgstr "Autre source lumineuse" #: src/tags.cpp:1461 msgid "Uncalibrated" msgstr "Non calibré" #: src/tags.cpp:1467 msgid "One-chip color area" msgstr "Mono-CCD" #: src/tags.cpp:1468 msgid "Two-chip color area" msgstr "Bi-CCD" #: src/tags.cpp:1469 msgid "Three-chip color area" msgstr "Tri-CCD" #: src/tags.cpp:1470 msgid "Color sequential area" msgstr "CCD séquentiel" #: src/tags.cpp:1471 msgid "Trilinear sensor" msgstr "Capteur trilinéaire" #: src/tags.cpp:1472 msgid "Color sequential linear" msgstr "Capteur séquentiel linéaire" #: src/tags.cpp:1477 msgid "Film scanner" msgstr "Numériseur de film" #: src/tags.cpp:1478 msgid "Reflexion print scanner" msgstr "Numériseur de documents imprimés" #: src/tags.cpp:1479 msgid "Digital still camera" msgstr "Appareil photo numérique" #: src/tags.cpp:1484 msgid "Directly photographed" msgstr "Photographié directement" #: src/tags.cpp:1489 msgid "Normal process" msgstr "Processus normal" #: src/tags.cpp:1490 msgid "Custom process" msgstr "Processus personnel" #: src/tags.cpp:1518 msgid "Low gain up" msgstr "Faible augmentation du gain" #: src/tags.cpp:1519 msgid "High gain up" msgstr "Forte augmentation du gain" #: src/tags.cpp:1520 msgid "Low gain down" msgstr "Faible réduction du gain" #: src/tags.cpp:1521 msgid "High gain down" msgstr "Forte réduction du gain" #: src/tags.cpp:1542 msgid "Close view" msgstr "Gros plan" #: src/tags.cpp:1543 src/tags.cpp:1544 msgid "Distant view" msgstr "Plan large" #: src/tags.cpp:1550 msgid "Exposure time, given in seconds (sec)." msgstr "Temps d'exposition, en secondes (sec)." #: src/tags.cpp:1560 msgid "" "Indicates the spectral sensitivity of each channel of the camera used. The " "tag value is an ASCII string compatible with the standard developed by the " "ASTM Technical Committee." msgstr "" #: src/tags.cpp:1568 msgid "Opto-Electoric Conversion Function" msgstr "Fonction de conversion opto-electrique" #: src/tags.cpp:1569 msgid "" "Indicates the Opto-Electoric Conversion Function (OECF) specified in ISO " "14524. is the relationship between the camera optical input and the " "image values." msgstr "" #: src/tags.cpp:1573 #, fuzzy msgid "Sensitivity Type" msgstr "Sensibilité spectrale" #: src/tags.cpp:1574 msgid "" "The SensitivityType tag indicates which one of the parameters of ISO12232 is " "the PhotographicSensitivity tag. Although it is an optional tag, it should " "be recorded when a PhotographicSensitivity tag is recorded. Value = 4, 5, 6, " "or 7 may be used in case that the values of plural parameters are the same." msgstr "" #: src/tags.cpp:1580 #, fuzzy msgid "Standard Output Sensitivity" msgstr "Sensibilité spectrale" #: src/tags.cpp:1581 msgid "" "This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1585 #, fuzzy msgid "Recommended Exposure Index" msgstr "Index d'exposition" #: src/tags.cpp:1586 msgid "" "This tag indicates the recommended exposure index value of a camera or input " "device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1591 msgid "" "This tag indicates the ISO speed value of a camera or input device that is " "defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded." msgstr "" #: src/tags.cpp:1595 #, fuzzy msgid "ISO Speed Latitude yyy" msgstr "Mode vitesse ISO" #: src/tags.cpp:1596 msgid "" "This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz." msgstr "" #: src/tags.cpp:1600 #, fuzzy msgid "ISO Speed Latitude zzz" msgstr "Mode vitesse ISO" #: src/tags.cpp:1601 msgid "" "This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy." msgstr "" #: src/tags.cpp:1606 msgid "" "The version of this standard supported. Nonexistence of this field is taken " "to mean nonconformance to the standard." msgstr "" #: src/tags.cpp:1609 msgid "Date and Time (original)" msgstr "Date et heure (originel)" #: src/tags.cpp:1610 msgid "" "The date and time when the original image data was generated. For a digital " "still camera the date and time the picture was taken are recorded." msgstr "" "La date et l'heure de création de l'image originale. Pour un appareil photo " "numérique il s'agit de la date et heure à laquelle la photo a été prise." #: src/tags.cpp:1613 msgid "Date and Time (digitized)" msgstr "Date et heure (numérisé)" #: src/tags.cpp:1614 msgid "The date and time when the image was stored as digital data." msgstr "La date et l'heure où l'image a été sauvée sous forme digitale." #: src/tags.cpp:1617 msgid "" "Information specific to compressed data. The channels of each component are " "arranged in order from the 1st component to the 4th. For uncompressed data " "the data arrangement is given in the tag. " "However, since can only express the order of Y, " "Cb and Cr, this tag is provided for cases when compressed data uses " "components other than Y, Cb, and Cr and to enable support of other sequences." msgstr "" #: src/tags.cpp:1626 msgid "Compressed Bits per Pixel" msgstr "Bits compressés par pixel" #: src/tags.cpp:1627 msgid "" "Information specific to compressed data. The compression mode used for a " "compressed image is indicated in unit bits per pixel." msgstr "" #: src/tags.cpp:1631 msgid "" "Shutter speed. The unit is the APEX (Additive System of Photographic " "Exposure) setting." msgstr "" #: src/tags.cpp:1635 msgid "The lens aperture. The unit is the APEX value." msgstr "Ouverture de l'objectif. L'unité est la valeur APEX." #: src/tags.cpp:1638 msgid "" "The value of brightness. The unit is the APEX value. Ordinarily it is given " "in the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1641 msgid "Exposure Bias" msgstr "Correction d'exposition" #: src/tags.cpp:1642 msgid "" "The exposure bias. The units is the APEX value. Ordinarily it is given in " "the range of -99.99 to 99.99." msgstr "" #: src/tags.cpp:1646 msgid "" "The smallest F number of the lens. The unit is the APEX value. Ordinarily it " "is given in the range of 00.00 to 99.99, but it is not limited to this range." msgstr "" #: src/tags.cpp:1660 msgid "" "This tag is recorded when an image is taken using a strobe light (flash)." msgstr "" #: src/tags.cpp:1663 msgid "" "The actual focal length of the lens, in mm. Conversion is not made to the " "focal length of a 35 mm film camera." msgstr "" #: src/tags.cpp:1667 msgid "" "This tag indicates the location and area of the main subject in the overall " "scene." msgstr "" "Ce marqueur indique l'emplacement et l'aire du sujet principal dans la scène " "générale." #: src/tags.cpp:1670 msgid "Maker Note" msgstr "Note du fabriquant" #: src/tags.cpp:1671 msgid "" "A tag for manufacturers of Exif writers to record any desired information. " "The contents are up to the manufacturer." msgstr "" "Un marqueur pour les constructeurs des logiciels d'écriture Exif pour noter " "une information désirée. Le contenu dépend du constructeur." #: src/tags.cpp:1675 msgid "" "A tag for Exif users to write keywords or comments on the image besides " "those in , and without the character code limitations of " "the tag." msgstr "" #: src/tags.cpp:1679 #, fuzzy msgid "Sub-seconds Time" msgstr "Date et heure (originel)" #: src/tags.cpp:1680 msgid "A tag used to record fractions of seconds for the tag." msgstr "" "Marqueur utilisé pour enregistrer des fractions de secondes pour le marqueur " "." #: src/tags.cpp:1682 #, fuzzy msgid "Sub-seconds Time Original" msgstr "Date et heure (originel)" #: src/tags.cpp:1683 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "Marqueur utilisé pour enregistrer des fractions de secondes pour le marqueur " "." #: src/tags.cpp:1685 #, fuzzy msgid "Sub-seconds Time Digitized" msgstr "Date et heure (numérique)" #: src/tags.cpp:1686 msgid "" "A tag used to record fractions of seconds for the tag." msgstr "" "Marqueur utilisé pour enregistrer des fractions de secondes pour le marqueur " "." #: src/tags.cpp:1688 msgid "FlashPix Version" msgstr "Version FlashPix" #: src/tags.cpp:1689 msgid "The FlashPix format version supported by a FPXR file." msgstr "" #: src/tags.cpp:1692 msgid "" "The color space information tag is always recorded as the color space " "specifier. Normally sRGB is used to define the color space based on the PC " "monitor conditions and environment. If a color space other than sRGB is " "used, Uncalibrated is set. Image data recorded as Uncalibrated can be " "treated as sRGB when it is converted to FlashPix." msgstr "" #: src/tags.cpp:1701 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid width of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file." msgstr "" #: src/tags.cpp:1708 msgid "" "Information specific to compressed data. When a compressed file is recorded, " "the valid height of the meaningful image must be recorded in this tag, " "whether or not there is padding data or a restart marker. This tag should " "not exist in an uncompressed file. Since data padding is unnecessary in the " "vertical direction, the number of lines recorded in this valid image height " "tag will in fact be the same as that recorded in the SOF." msgstr "" #: src/tags.cpp:1717 msgid "" "This tag is used to record the name of an audio file related to the image " "data. The only relational information recorded here is the Exif audio file " "name and extension (an ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded." msgstr "" #: src/tags.cpp:1723 msgid "Interoperability IFD Pointer" msgstr "Pointeur IDF interopérabilité" #: src/tags.cpp:1724 msgid "" "Interoperability IFD is composed of tags which stores the information to " "ensure the Interoperability and pointed by the following tag located in Exif " "IFD. The Interoperability structure of Interoperability IFD is the same as " "TIFF defined IFD structure but does not contain the image data " "characteristically compared with normal TIFF IFD." msgstr "" #: src/tags.cpp:1732 msgid "" "Indicates the strobe energy at the time the image is captured, as measured " "in Beam Candle Power Seconds (BCPS)." msgstr "" #: src/tags.cpp:1736 msgid "" "This tag records the camera or input device spatial frequency table and SFR " "values in the direction of image width, image height, and diagonal " "direction, as specified in ISO 12233." msgstr "" #: src/tags.cpp:1740 msgid "Focal Plane X-Resolution" msgstr "x-Résolution du plan focal" #: src/tags.cpp:1741 msgid "" "Indicates the number of pixels in the image width (X) direction per " " on the camera focal plane." msgstr "" "Indique le nombre de pixels de largeur (X) de l'image par " " sur le plan focal de l'appareil." #: src/tags.cpp:1744 msgid "Focal Plane Y-Resolution" msgstr "x-Résolution du plan focal" #: src/tags.cpp:1745 msgid "" "Indicates the number of pixels in the image height (V) direction per " " on the camera focal plane." msgstr "" "Indique le nombre de pixels de hauteur (Y) de l'image par " " sur le plan focal de l'appareil." #: src/tags.cpp:1749 msgid "" "Indicates the unit for measuring and " ". This value is the same as the ." msgstr "" "Indique l'unité de mesure de et de " ". Cette valeur est la même que ." #: src/tags.cpp:1753 msgid "" "Indicates the location of the main subject in the scene. The value of this " "tag represents the pixel at the center of the main subject relative to the " "left edge, prior to rotation processing as per the tag. The first " "value indicates the X column number and second indicates the Y row number." msgstr "" #: src/tags.cpp:1759 msgid "Exposure index" msgstr "Index d'exposition" #: src/tags.cpp:1760 msgid "" "Indicates the exposure index selected on the camera or input device at the " "time the image is captured." msgstr "" #: src/tags.cpp:1764 msgid "Indicates the image sensor type on the camera or input device." msgstr "" #: src/tags.cpp:1767 msgid "" "Indicates the image source. If a DSC recorded the image, this tag value of " "this tag always be set to 3, indicating that the image was recorded on a DSC." msgstr "" "Indique la source de l'image. Si un DSC a enregistré l'image, la valeur de " "ce marqueur doit toujours être de 3, indiquant que l'image a été directement " "photographiée." #: src/tags.cpp:1772 msgid "" "Indicates the type of scene. If a DSC recorded the image, this tag value " "must always be set to 1, indicating that the image was directly photographed." msgstr "" "Indique le type de scène. Si un DSC a enregistré l'image, la valeur de ce " "marqueur doit toujours être de 1, indiquant que l'image a été directement " "photographiée." #: src/tags.cpp:1776 #, fuzzy msgid "Color Filter Array Pattern" msgstr "Matrice de filtre de couleur" #: src/tags.cpp:1777 msgid "" "Indicates the color filter array (CFA) geometric pattern of the image sensor " "when a one-chip color area sensor is used. It does not apply to all sensing " "methods." msgstr "" #: src/tags.cpp:1782 msgid "" "This tag indicates the use of special processing on image data, such as " "rendering geared to output. When special processing is performed, the reader " "is expected to disable or minimize any further processing." msgstr "" #: src/tags.cpp:1788 msgid "" "This tag indicates the exposure mode set when the image was shot. In auto-" "bracketing mode, the camera shoots a series of frames of the same scene at " "different exposure settings." msgstr "" #: src/tags.cpp:1793 msgid "This tag indicates the white balance mode set when the image was shot." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/tags.cpp:1796 msgid "" "This tag indicates the digital zoom ratio when the image was shot. If the " "numerator of the recorded value is 0, this indicates that digital zoom was " "not used." msgstr "" "Ce marqueur indique la valeur du zoom numérique lorsque l'image a été prise." "Si le numérateur de la valeur enregistrée est 0, cela signifie que le zoom " "numérique n'a pas été utilisé." #: src/tags.cpp:1801 msgid "" "This tag indicates the equivalent focal length assuming a 35mm film camera, " "in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the tag." msgstr "" "Ce marqueur indique la longueur focale équivalente en assumant un appareil " "avec un film de 35mm, en mm. Une valeur de 0 indique que la longueur focale " "est inconnue. Notez que ce marqueur est différent du marqueur ." #: src/tags.cpp:1807 #, fuzzy msgid "" "This tag indicates the type of scene that was shot. It can also be used to " "record the mode in which the image was shot. Note that this differs from the " " tag." msgstr "" "Ce marqueur indique la longueur focale équivalente en assumant un appareil " "avec un film de 35mm, en mm. Une valeur de 0 indique que la longueur focale " "est inconnue. Notez que ce marqueur est différent du marqueur ." #: src/tags.cpp:1812 msgid "This tag indicates the degree of overall image gain adjustment." msgstr "Ce marqueur indique le degré général d'ajustement du gain de l'image." #: src/tags.cpp:1815 #, fuzzy msgid "" "This tag indicates the direction of contrast processing applied by the " "camera when the image was shot." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/tags.cpp:1819 #, fuzzy msgid "" "This tag indicates the direction of saturation processing applied by the " "camera when the image was shot." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/tags.cpp:1823 #, fuzzy msgid "" "This tag indicates the direction of sharpness processing applied by the " "camera when the image was shot." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/tags.cpp:1827 msgid "" "This tag indicates information on the picture-taking conditions of a " "particular camera model. The tag is used only to indicate the picture-taking " "conditions in the reader." msgstr "" "Ce marqueur indique les informations sur les conditions lors de la prise de " "vue pour un modèle particulier d'appareil. Ce marqueur n'est utilisé que " "pour indiquer les paramètres de prise de vue au lecteur." #: src/tags.cpp:1832 msgid "This tag indicates the distance to the subject." msgstr "Ce marqueur indique la distance au sujet." #: src/tags.cpp:1835 msgid "" "This tag indicates an identifier assigned uniquely to each image. It is " "recorded as an ASCII string equivalent to hexadecimal notation and 128-bit " "fixed length." msgstr "" "Ce marqueur indique un identificateur unique assigné à chaque image. Il est " "enregistré sous la forme d'une chaîne ASCII équivalente à la notation " "hexadécimale et d'une longueur fixe de 128 bits." #: src/tags.cpp:1839 #, fuzzy msgid "Camera Owner Name" msgstr "Nom du propriétaire" #: src/tags.cpp:1840 msgid "" "This tag records the owner of a camera used in photography as an ASCII " "string." msgstr "" #: src/tags.cpp:1843 #, fuzzy msgid "Body Serial Number" msgstr "Numéro de série" #: src/tags.cpp:1844 msgid "" "This tag records the serial number of the body of the camera that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1847 #, fuzzy msgid "Lens Specification" msgstr "Information Spécifique au vendeur" #: src/tags.cpp:1848 msgid "" "This tag notes minimum focal length, maximum focal length, minimum F number " "in the minimum focal length, and minimum F number in the maximum focal " "length, which are specification information for the lens that was used in " "photography. When the minimum F number is unknown, the notation is 0/0" msgstr "" #: src/tags.cpp:1854 #, fuzzy msgid "Lens Make" msgstr "Mode scène" #: src/tags.cpp:1855 msgid "This tag records the lens manufactor as an ASCII string." msgstr "" #: src/tags.cpp:1858 msgid "" "This tag records the lens's model name and model number as an ASCII string." msgstr "" #: src/tags.cpp:1862 msgid "" "This tag records the serial number of the interchangeable lens that was used " "in photography as an ASCII string." msgstr "" #: src/tags.cpp:1866 src/tags.cpp:1867 msgid "Unknown Exif tag" msgstr "Marqueur Exif inconnue" #: src/tags.cpp:1878 msgid "North" msgstr "Nord" #: src/tags.cpp:1879 msgid "South" msgstr "Sud" #: src/tags.cpp:1884 msgid "East" msgstr "Est" #: src/tags.cpp:1885 msgid "West" msgstr "Ouest" #: src/tags.cpp:1890 msgid "Above sea level" msgstr "Au dessus du niveau de la mer" #: src/tags.cpp:1891 msgid "Below sea level" msgstr "En dessous du niveau de la mer" #: src/tags.cpp:1896 #, fuzzy msgid "Measurement in progress" msgstr "Index interopérabilité" #: src/tags.cpp:1897 #, fuzzy msgid "Measurement Interoperability" msgstr "Index interopérabilité" #: src/tags.cpp:1902 msgid "Two-dimensional measurement" msgstr "" #: src/tags.cpp:1903 msgid "Three-dimensional measurement" msgstr "" #: src/tags.cpp:1908 msgid "km/h" msgstr "Km/h" #: src/tags.cpp:1909 msgid "mph" msgstr "mph" #: src/tags.cpp:1910 msgid "knots" msgstr "Noeuds" #: src/tags.cpp:1915 #, fuzzy msgid "True direction" msgstr "Direction panorama" #: src/tags.cpp:1916 #, fuzzy msgid "Magnetic direction" msgstr "Direction de l'image GPS" #: src/tags.cpp:1921 #, fuzzy msgid "Kilometers" msgstr "Filtre" #: src/tags.cpp:1922 #, fuzzy msgid "Miles" msgstr "Le fichier" #: src/tags.cpp:1923 #, fuzzy msgid "Knots" msgstr "Noeuds" #: src/tags.cpp:1928 #, fuzzy msgid "Without correction" msgstr "Lieu précis" #: src/tags.cpp:1929 msgid "Correction applied" msgstr "" #: src/tags.cpp:1935 msgid "" "Indicates the version of . The version is given as 2.0.0.0. This " "tag is mandatory when tag is present. (Note: The " "tag is given in bytes, unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)." msgstr "" #: src/tags.cpp:1941 msgid "GPS Latitude Reference" msgstr "Référence de latitude GPS" #: src/tags.cpp:1942 msgid "" "Indicates whether the latitude is north or south latitude. The ASCII value " "'N' indicates north latitude, and 'S' is south latitude." msgstr "" #: src/tags.cpp:1946 msgid "" "Indicates the latitude. The latitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is dd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1953 msgid "GPS Longitude Reference" msgstr "Référence de longitude GPS" #: src/tags.cpp:1954 msgid "" "Indicates whether the longitude is east or west longitude. ASCII 'E' " "indicates east longitude, and 'W' is west longitude." msgstr "" #: src/tags.cpp:1958 msgid "" "Indicates the longitude. The longitude is expressed as three RATIONAL values " "giving the degrees, minutes, and seconds, respectively. When degrees, " "minutes and seconds are expressed, the format is ddd/1,mm/1,ss/1. When " "degrees and minutes are used and, for example, fractions of minutes are " "given up to two decimal places, the format is ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:1966 msgid "" "Indicates the altitude used as the reference altitude. If the reference is " "sea level and the altitude is above sea level, 0 is given. If the altitude " "is below sea level, a value of 1 is given and the altitude is indicated as " "an absolute value in the GSPAltitude tag. The reference unit is meters. Note " "that this tag is BYTE type, unlike other reference tags." msgstr "" #: src/tags.cpp:1974 msgid "" "Indicates the altitude based on the reference in GPSAltitudeRef. Altitude is " "expressed as one RATIONAL value. The reference unit is meters." msgstr "" #: src/tags.cpp:1978 msgid "" "Indicates the time as UTC (Coordinated Universal Time). is " "expressed as three RATIONAL values giving the hour, minute, and second " "(atomic clock)." msgstr "" #: src/tags.cpp:1983 msgid "" "Indicates the GPS satellites used for measurements. This tag can be used to " "describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value of " "the tag is set to NULL." msgstr "" #: src/tags.cpp:1990 msgid "" "Indicates the status of the GPS receiver when the image is recorded. \"A\" " "means measurement is in progress, and \"V\" means the measurement is " "Interoperability." msgstr "" #: src/tags.cpp:1995 msgid "" "Indicates the GPS measurement mode. \"2\" means two-dimensional measurement " "and \"3\" means three-dimensional measurement is in progress." msgstr "" #: src/tags.cpp:1998 msgid "GPS Data Degree of Precision" msgstr "Degrés de précision des données GPS" #: src/tags.cpp:1999 msgid "" "Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional " "measurement." msgstr "" #: src/tags.cpp:2003 msgid "" "Indicates the unit used to express the GPS receiver speed of movement. \"K\" " "\"M\" and \"N\" represents kilometers per hour, miles per hour, and knots." msgstr "" #: src/tags.cpp:2007 msgid "Indicates the speed of GPS receiver movement." msgstr "" #: src/tags.cpp:2009 #, fuzzy msgid "GPS Track Ref" msgstr "Référence de vitesse de GPS" #: src/tags.cpp:2010 msgid "" "Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2014 msgid "" "Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2018 msgid "" "Indicates the reference for giving the direction of the image when it is " "captured. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2022 msgid "" "Indicates the direction of the image when it was captured. The range of " "values is from 0.00 to 359.99." msgstr "" #: src/tags.cpp:2026 msgid "" "Indicates the geodetic survey data used by the GPS receiver. If the survey " "data is restricted to Japan, the value of this tag is \"TOKYO\" or " "\"WGS-84\"." msgstr "" #: src/tags.cpp:2029 #, fuzzy msgid "GPS Destination Latitude Reference" msgstr "Référence de latitude de destination GPS" #: src/tags.cpp:2030 msgid "" "Indicates whether the latitude of the destination point is north or south " "latitude. The ASCII value \"N\" indicates north latitude, and \"S\" is south " "latitude." msgstr "" #: src/tags.cpp:2034 msgid "" "Indicates the latitude of the destination point. The latitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If latitude is expressed as degrees, minutes and seconds, a " "typical format would be dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be dd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2041 msgid "GPS Destination Longitude Reference" msgstr "Référence de longitude de destination GPS" #: src/tags.cpp:2042 msgid "" "Indicates whether the longitude of the destination point is east or west " "longitude. ASCII \"E\" indicates east longitude, and \"W\" is west longitude." msgstr "" #: src/tags.cpp:2046 msgid "" "Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, " "respectively. If longitude is expressed as degrees, minutes and seconds, a " "typical format would be ddd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two decimal places, " "the format would be ddd/1,mmmm/100,0/1." msgstr "" #: src/tags.cpp:2053 msgid "" "Indicates the reference used for giving the bearing to the destination " "point. \"T\" denotes true direction and \"M\" is magnetic direction." msgstr "" #: src/tags.cpp:2057 msgid "" "Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99." msgstr "" #: src/tags.cpp:2061 msgid "" "Indicates the unit used to express the distance to the destination point. \"K" "\", \"M\" and \"N\" represent kilometers, miles and knots." msgstr "" #: src/tags.cpp:2065 #, fuzzy msgid "Indicates the distance to the destination point." msgstr "Ce marqueur indique la distance au sujet." #: src/tags.cpp:2068 msgid "" "A character string recording the name of the method used for location " "finding. The first byte indicates the character code used, and this is " "followed by the name of the method." msgstr "" #: src/tags.cpp:2073 msgid "" "A character string recording the name of the GPS area. The first byte " "indicates the character code used, and this is followed by the name of the " "GPS area." msgstr "" #: src/tags.cpp:2076 msgid "GPS Date Stamp" msgstr "Horodatage GPS" #: src/tags.cpp:2077 msgid "" "A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"." msgstr "" #: src/tags.cpp:2081 #, fuzzy msgid "" "Indicates whether differential correction is applied to the GPS receiver." msgstr "" "Ce marqueur indique le mode de balance des blancs positionné lorsque l'image " "a été enregistrée." #: src/tags.cpp:2084 src/tags.cpp:2085 msgid "Unknown GPSInfo tag" msgstr "Marqueur GPSInfo inconnu" #: src/tags.cpp:2096 msgid "Interoperability Index" msgstr "Index interopérabilité" #: src/tags.cpp:2097 msgid "" "Indicates the identification of the Interoperability rule. Use \"R98\" for " "stating ExifR98 Rules. Four bytes used including the termination code " "(NULL). see the separate volume of Recommended Exif Interoperability Rules " "(ExifR98) for other tags used for ExifR98." msgstr "" "Indique l'identification de la règle d'interopérabilité. Utilisez \"R98\" " "pour préciser des règles ExifR98. Quatre octets sont utilisés, incluant le " "code de terminaison (NULL). Voyez le volume séparé des règles " "d'interopérabilité recommandées pour exif (ExifR98) pour les autres " "marqueurs utilisés pour ExifR98." #: src/tags.cpp:2103 msgid "Interoperability Version" msgstr "Version interopérabilité" #: src/tags.cpp:2104 msgid "Interoperability version" msgstr "Version interopérabilité" #: src/tags.cpp:2106 #, fuzzy msgid "Related Image File Format" msgstr "Hauteur de l'image" #: src/tags.cpp:2107 msgid "File format of image file" msgstr "Format du fichier image" #: src/tags.cpp:2109 #, fuzzy msgid "Related Image Width" msgstr "Hauteur de l'image" #: src/tags.cpp:2112 msgid "Related Image Length" msgstr "Longueur de l'image" #: src/tags.cpp:2116 src/tags.cpp:2117 msgid "Unknown Exif Interoperability tag" msgstr "Marqueur Interopérabilité Exif inconnu" #: src/tags.cpp:2128 #, fuzzy msgid "Offset" msgstr "décalage" #: src/tags.cpp:2129 msgid "Offset of the makernote from the start of the TIFF header." msgstr "" #: src/tags.cpp:2131 #, fuzzy msgid "Byte Order" msgstr "Ordre de remplissage" #: src/tags.cpp:2132 msgid "" "Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-" "endian)." msgstr "" #: src/tags.cpp:2135 src/tags.cpp:2136 #, fuzzy msgid "Unknown Exiv2 Makernote info tag" msgstr "Marqueur 2 de note du fabriquant Nikon inconnu" #: src/tags.cpp:2146 src/tags.cpp:2147 msgid "Unknown tag" msgstr "Marqueur inconnu" #: src/tags.cpp:2688 msgid "Digital zoom not used" msgstr "Zoom numérique non utilisé" #: src/tiffimage.cpp:2308 #, fuzzy msgid "TIFF header, offset" msgstr "En-tête, décalage" #: src/tiffimage.cpp:2313 msgid "little endian encoded" msgstr "encodage petit-boutiste" #: src/tiffimage.cpp:2314 msgid "big endian encoded" msgstr "encodage gros-boutiste" #, fuzzy #~ msgid "ascii bytes" #~ msgstr "octets" exiv2-0.25/msvc2003/0000775000175000017500000000000012541547672013605 5ustar andreasandreasexiv2-0.25/msvc2003/write2-test/0000775000175000017500000000000012541547672015776 5ustar andreasandreasexiv2-0.25/msvc2003/write2-test/write2-test.vcproj0000664000175000017500000002152112447013555021406 0ustar andreasandreas exiv2-0.25/msvc2003/libiconv2.dll0000775000175000017500000356700011746154427016205 0ustar andreasandreasMZ@ !L!This program cannot be run in DOS mode. $PELSmA" 8h@ l 0 .text``.data@@.bss.edatal.idata@.rsrc @.reloc 0Uuu ]t\t$UT$U$ t,u hu1ۉ؋]u] Y덴&uGɐt&$$hth;Ƽu 1똉U]ht)h9r u*9s$1h$x]]ÐЋh̍UD$hUD$h$/‰]HÉUD$hUD$h$]ÐU]G&&?A=Z`^dy}{B>[a_ez~|T9 CGPXnpbU: DHQYoqc㡱&$0^4{'%1_5|  l\  !m]8V(;`"f}W)<a#gJ~K. *EL6rhj/ +FM7sik     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO!QRSTUVWXYZ[\^_ !"#$%&'()*+,-./0123456789:@ABCDEFGHIJKLMNOPQR      &ߐ0^1_"*(6;`f}jJ#+)7<ag~ kK. ELhr/ FMis8  V W. y"6*;`CELrAZj{}/ z#7+<aDFMsB[k|~ ůר    x !@AVW`atjvukw `a}~RSxA  `ayz{ B} ~ RSx|CPZpDQ[q㡢%% %%%%%$%,%4%<%%%%%%%%% #%""H"d"e"!#P%Q%R%QS%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%N01F45D3E89:;<=>?O@ABC62LK7HMIGJ.&$%/ !"#,+(-)'*&&&%% %%%%%$%,%4%<%%%%%%%%% #%""H"d"e"!#P%Q%R%QTT%VWW%X%Y%Z%[%]%^%_%`%a%c%f%g%h%i%j%l%N01F45D3E89:;<=>?O@ABC62LK7HMIGJ.&$%/ !"#,+(-)'*&&&%% %%%%%$%,%4%<%%%%%%%%% #%""H"d"e"!#P%Q%R%QTT%VWW%X%Y%Z%[%^^%_%`%a%c%f%g%h%i%j%N01F45D3E89:;<=>?O@ABC62LK7HMIGJ.&$%/ !"#,+(-)'*&&&   & ! 0 `9 Zd}y    "   "!a: [e~zA^{B_=>|T9 CGPXnpbU: DHQYoqc㥹 S & ! 0 9   R    "   "!Y: Z\[_^VQ!TXUW !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO&   & ! 0 `9 R}    "   "!a: S~x   & ! 0 9     "   "!:     & ! 0 `9 R    "   "!a: Sx0^1_./K012345689:;<>@ACDFGHIJ*,+-LMN*I,+I- "*+,-./012345689:;<>@ACDFGHIJKLMNҐ&   & ! 0 9     "   "!:   && ~  & ! 0 y9 R    "   "!: S  !"#$%&'()*+,-./0123456789:@ABCDEFGHIJKLMNOPQR  &   & ! 0 9     "   "!: VW. y"6*;`CELrAZj{}/ z#7+<aDFMsB[k|~ůרAEINOUWYaeinouwyACEGIK0L9M>NCOPTRTSZUWYZyacegik1l:m?nDopUrUs[uwyzz. /AEI(NOUhV|Yaei)nouiv}yLNxMOyAEIOUYaeiouyABD EH$IK2L6MBNFORZSbTlUV~WYZabd eh%ik3l7mCnGor[sctmuvwyzt&<"[}2 AAA EEIIN OOO UUYaaa eeiin ooo uuyCc(I )i 9L:lCNDnTRUrZS[shU iu yZzzGgNn B@b@  D@ d@$H@%h@./0K1k2K@3k@6L@7l@>M?mBM@Cm@FN@Gn@L M N O TPUpZR@[r@bS@cs@lT@mt@x y |V }v ~V@v@WwWwW@w@Z@z@A@a@A0a000  @@11!!AAE@e@E0e0E e 00  @@I0i0I@i@O@o@O0o000  @@11!!AAU@u@U0u011!!AAYyY@y@Y0y0Y y 򐐐   & ! 0 9 R    "   "!: Sx # &%%%%$%c%Q%W%]%%%4%,%%%<%Z%T%i%f%`%P%l%1% %%%% %Ͼ󨷵ǎԐѥ噞ᅠƄФͺ #%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%")"a"e"d" #!#H""" %&ͺɸȾ̵ް%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%@ABCDEFGHIJKLMNOQTW^""!%&ͺɸȾ̵ް " "!`""d"e""""+"&!"H""& RS      %xD 9 : !   0 1۴ֿ̀ͅ  yz " "!`"#./*d"e"+6""B;<=>9:EFC"DG"& HPQL      %MTUX9 : YVW`  aZ[de}~jknopqrs7{A|"ͅĿ" "!`""d"e""""+"&!"H""& RS      %xD   0 1۴̀܄ͅާݖֿ " `"!`"}"d"e"""""a+"&!~"H" & RS     %D 9 :    0  1ٻ̀ނֿͅ& " "!`"^"d"e""""+"&!_"H""& RS      %xD 9 : bc!   0 1۴̀ͅ& !"#$%&'()*+,-./ " "!R`"S"d"e"V"TW Y ZX"H""& [ \U       ^_!QO0123456789:;<=>?@ABCDEFGHIJKLMNݫڀެϴ !"#$%&'()*+,-./ " "!R`"S"d"e"VTW Y ZX"H""& [ \U       ^_!QO0123456789:;<=>?@ABCDEFGHIJKLMNݫڀެϴ"!" 0 `"d"e"H"& S      œͯæ˼̾ " "!`""d"e""""+"&!"H""& RS      %x01^_!   0 ֿ̀ͅ  K5&       *+&&& j `abcdefghim!"#$%&'()*+,-./0123456789:@ABCDEFGHIJKLMNOPQR~y&   "         !"#$%&'()*+,-./0123456789:   ?@ABCDEFGHIJKLM"!OPQRSTUVWXY `ax %Ӵܤ妧ҭ۱׵ϲ&D   9 :  ! "    & 0  AR1BSȠ㫾Կᇈ闘)( .],-& \[^1a2b3c4d5e6f7g8h9i:j;k<l=m>n?o@pAqBrCsDtEuFvGwHxIyJzK{L|M}N~OPQRSTUVZ*+/&  & ! 0 `9 R    "   "!a: Sx  & ! 0 `9 R    "   "!a: Sx  & ! 0 9     "   "!: Q!N01F45D3E89:;<=>?O@ABC62LK7HMIGJ.&$%/ !"#,+(-)'*  &     "         !"#$%&'()*+,-./0123456789:?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[& h()iԠ&䄤燧ǃ눨ޔѻ׼ (h #)iЪ&ɆƋшΉԌ֎ؑޖ000 000@>?00000N0000  <0 \& %      00;=[]0 0 0 0 0 00000 "`"f"g""4"B&@&2 3 ! &&%%%%%%%%%%%; 0!!!!0" """""*")"'"("!!"" ""#""a"R"j"k""=""5"+","+!0 o&m&j& ! %!"#$%&'()*+,-./0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZA0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO%% %%%%%,%$%4%<%%%%%%%#%3%+%;%K% %/%(%7%?%%0%%%8%B%NUZ?Ta(cY"uPz`c%nefh'Weqb[Y{b}}b|[^ cfHhǕOgN OMOOIPV7YYZ \`apafipOupuy}}ÀcUz;SNNWxNXn82z(/AQpSTTVY_m-bp TS[poS\zNx&nVUk;YSfmtBVNKO SU0[q_ ffh8ll)m[tvNz4[`풲muvř`iSQW0XDY[^(`cclopqYqq?s~vт`[iXeZl%uQ.YeY__be*j'kksV,Ğ\l{QK\aƁvharYNOxSi`)nOz NSNUO=OOsORS VYZ[[yfggLklkpsyykSkWl"ooEotuv wz{!|}6f̊Qeӗ(8N+T\]sLvT/Z__`hjZtxw^NɛN|OOPPIQlQRRRSSTTUQWW}YT[][[]]]x^^^^_R`Labbc;efCffmg!hhi_l*mim/nn2uvlx?z|}}^}}T*RLaʐuq?xMؚ;[RRSTXboj_KQ;RJTV@zw`ҞDs opu_`rdkNVdWXZZh`aff9hhmu:}nBNPOSUo]]]glstxP߈PW^+cPPQgT^XY[i_Mbc=hskn}pǑrx&xmye0}܃ dR(WPgjQBW*:XiT]Wx\OJRT>d(fggzV{"}/\h9{SQ7R[bdd-gkіv֛LcvRf NPSq\`dce_hqs#u{~یxefkNN:OO:RSSUVXYYYP[M\^+^_`c/e\[eeegbk{klEsIyy|}+}󁖉^ifnj܌̖okNrtux:y 3ꁔPl_X+z[NSW1YZ[`nouꌟ[{rPga\J~Q\hcfenq>y}ʎndžPR:\Sg|p5rLȑ+[1_`;NS[Kb1gkrs.zkRQSjT[c9j}VShT[1\]Oab2myyB}M~Frt/1KlƖNOOEQAS_bgAl ncs&~͑SY[m]y.~|~XqQSO\%fwzQ_eoikmndov}]uQR@bffn^}rfRSsY^_U`dPQR SGSSTFU1UVhYY~ d_xRbcBdb-z{v} INHQCS`S[\\]&bGbdh4hlEmmg\oNq}qez{}J~z9nΌxwMRU8o6qhQyU~|LVQX\cffZiruuyVyy| }D}4;a PuRSS PUXOY=r[d\S``\cc?ccdef]iioqNuvz|}}aIXlňpmPXaӁ5 OtPGRsSo`Ic_g,nO^\ʌe}RSvQcX[k[ \ dQg\NY*YplQ>UXY`Sbg5Ui@ę(SOX[\/^_ `Ka4bfln΀Ԃ.۞ۛNS'Y,{Ln'pSSDU[Xbbblo"t8o8QSSFOTjY1]zh7rH=j9NXSVfWbceNkm[npwz{}=ƀˆ[VX>_efjk7uNJ$Pw0W_e`zf`luznE{\uzQ{Ąyz6Z@w-NN[_bm6t4xFZuO^bcWeogvLr̀)M PWZhsidqrXjyw)/OeRZSbgl}v{|6f or~Q{rx{H{ja^Qu`ukQbnzvOpbO{zVYX䆼4O$RJSSS^,deg>lNlHrrsTuA~,酩{Ƒiq=cifjuvxC*SQS&TY^|_`Ibybbekluvxy}w^ۘ j8|P>\_gk5t w;gz9Suf_񃘀<__buF{ee gllp2x+~ހ *JҒlONNPVRJWY=^__?bfgghQ!}~2 T,SP\SXd4ggrfwFzRlkXL^TY,gQvidxTWY'fgkTiU^ggR]hNOSb+glďOm~Nban+osT*gE]{\[JnфzY|l wR"Y!q_rw'a iZZQ T}TfvY]rnMQh}}bxd!jY_[ksv}2Q(gٞvbgR$\;b~|OU` }S_NQY:r6Α%_wSy_}3VgS aalRv8/UQO*QRS[}^`ac gggnm6s7s1uPyՈJĖYNYON?P|^Y[^ccdfJii mnq(uzIɄ! e} ~ab2kltmmeg<ma}=jqNuSP]koͅ-)RTe\Nghttuψ̑x_szNceuRAmn tYukx|zOnae\NNP!NQ[ehmsBvwz|oҊ|ϑuR}+PSgmq3t*W`tAXm/}^N6OOQR]`s|}o#,BTojpŒ2RAZ^_g|iijmobrr{~KΐmQy2֊-PTqjkČ`gNNkhi~nxU _NN*N1N6NYzUYPYNYZYXYbY`YgYlYiYxYYY^OOYYYYYYYY%ZZZZ ZZ@ZlZIZ5Z6ZbZjZZZZZZZZZZZZZZ [ [[2[Z*[6[>[C[E[@[Q[U[Z[[[e[i[p[s[u[x[ez[[[[[[[[[[[[[[[[[[[\\\ \\ \"\(\8\9\A\F\N\S\P\O\q[l\n\bNv\y\\\\Y\\\\\\\\\\\\\]\ ]]]\]]]]]"]]]]L]R]N]K]l]s]v]]]]]]]]]]]]]]]]]]]]] ^^^^^6^7^D^C^@^N^W^T^_^b^d^G^u^v^z^^^^^^^^^^^^^^^^^^^^^^^^_ _]_\_ ___)_-_8_A_H_L_N_/_Q_V_W_Y_a_m_s_w_____________________`_!`````)``1```+`&``:`Z`A`j`w`_`J`F`M`c`C`d`B`l`k`Y``````````````````_````Maaa``a``a!a`` aaGa>a(a'aJa?acMcdOcccccvcccccckciccccccccccd4ddd&d6ded(ddgdodvdNd*eddddddddddddddd ddbdd,eddddedeee$e#e+e4e5e7e6e8eKuHeVeUeMeXe^e]erexeeeeeeeeeeeeeeeeeerg ffesg5f6f4ffOfDfIfAf^f]fdfgfhf_fbfpffffffffffffffffff?ffffffggg&g'g8.g?g6gAg8g7gFg^g`gYgcgdggpgg|gjggggggggggggggggggggggjhFh)h@hMh2hNhh+hYhchwhhhhhhhhhjhthhhhih~hihih"i&ih ihhhh6iiihh%ihhh(i*ii#i!ihyiwi\ixikiTi~ini9iti=iYi0iai^i]iijiiiiiiiii[iiiii.jiiiiiiijji kiiijijiji jjj#jjDj jrj6jxjGjbjYjfjHj8j"jjjjjjjjjjjjjjjjjjjjjkjkk1k8k7kv9kGkCkIkPkYkTk[k_kakxkykkkkkkkkkkkkkkkkkkkkkkkkkkllll$l#l^lUlbljllllll~lhlsllllllllllllllllllmM6m+m=m8mm5m3mm mcmmdmZmymYmmmommn nmmmmmmmmmmmmmmmmm-nnn.nnrn_n>n#nkn+nvnMnnCn:nNn$nnn8nnnnnnnnnnnnnnnnnAooLpnnn?on1on2on>oonozoxooooo[oomoo|oXoooofoooooooooooooooo p popppopptoppp0p>p2pQpcppppppppppppp qpqqeqUqqfqbqLqVqlqqqqqqqqqqqqqqqqqqqqq rrr(r-r,r0r2r;rsNsOs؞Wsjshspsxsus{szsssssssssttot%ts2t:tUt?t_tYtAt\titptctjtvt~tttttttsttttttttttuuu uu uuuu&u,uz7zCzWzIzazbzizpzyz}zzzzzzzzzzzzzzzzzzzzzzzzzzz{{ {{3{{{{5{({6{P{z{{M{ {L{E{u{e{t{g{p{q{l{n{{{{{{{{{{]{{{{{{{{{{||{{`||||{{| |{#|'|*||7|+|=|L|C|T|O|@|P|X|_|d|V|e|l|u||||||||||||||||||||||;|||||}}}} }E}K}.}2}?}5}F}s}V}N}r}h}n}O}c}}}[}}}}}}}}}}}}=~}}}}}}}}}}}}}~ ~#~!~~1~~ ~ ~"~F~f~;~5~9~C~7~2~:~g~]~V~^~Y~Z~y~j~i~|~{~~}}~~~~~~~~~~~~~8:ELMNPQUTX_`higxqܘ !(?;JFRXZ_bhsrpvy}Qۀـ݀Āڀր )#/KF>SQqneft_Ɂ́сف؁ȁځ߁ )+83@YX]Z_dbhjk.qwx~߂҂ނ܂ ق5421@9PE/+#|su΃؃  " 8m*(ALONIV[Zk_lot}:A?HLNPUblxz|bȌڌ  N͌gmqsύڍ֍̍ۍˍߍ B504JGILPHYd`*cUvr|ƎŎȎˎێ  &3;9EB>LIFNW\bcdڏ!  '659OPQRI>VX^hovr}Hbې20JVXceisrɑˑБ֑ߑۑ,^WEIdH?KPZϒD."#:5;\`|nV֓דؓÓݓГȓ6+5!:ARD[`b^j)puw}Z|~ʕoÕ͕̕Օԕ֕ܕ!(./BLOKw\^]_frlΖ˖ɖ͖Mܖ Ֆ$*09=>DFHBI\`dfhRkqy|z×Ɨȗ˗ܗOz 8$!7=FOKkopqtsĘØƘ !$ ,.=>BIEPKQRLUߙۙݙؙљ+7EB@C>UM[W_bedikjϚњӚԚޚߚ"#%'()*./2DCOMNQXtʛƛϛћқԛ:   .%$!0G2F>Z`gvx *&#DA?>FH]^dQPYrozĝƝϝٝӝuy}a̞ΞϞОԞܞޞݞv!,>JRTc_`afgljwrv/XiYdtQqt&q!r!x!/!L"k!^!-!y"_!`!!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&''!'"'#'$'%'&'(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'Q'R'S'T'U'V'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'W'>!=!B!F!G!H!I!w"x"E!D!s"l!m!("n!r"+","*"-"M"N"O"_"P"`":";"]!e"g"g!\"J"K"A"@"i"j"h!h"f"b"b!a"e!f!c"d">"?"<"="]"^"!(,("(-(#(.($(/(&(1(%(0('(<(7(2()(>(9(4(((8(=(3(*(:(?(5(+(;(@(6(#"""%"$"'"&"!"~!{!}!|!~"z!y!j!i!v"u"t"!!"!#!7!9!:!;!R!S!T!U!V!W!X!Y!Z![!)"."L!M!A!!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$+!,!5!6!!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%&!0;e><2TI?M"P/1n3#P$@BRV5:Jg>>NBJ$PfC%Pz6&P]40Cg<'P(P)P5GW57GcFC83KIi*Ph>+P52e6p8iL&VpM}F%455,P-P;N=MhA/Pv;sF2P>1_8^8f0KOJO3:!03P4P5P4K6Pr8g0rK|5}5~5bDPB?PUIg@8!@PBPeBaNJ0AP>2D6gCo7CP$Gk4DPK0`8l4zI2HY5q2gPAElGFPMEPGPn:HP$UPPSPQPB2;JKPOPs8H;&4TPLPcNx;MPRPUPNP!6M0"6A2%UyKnIt8/?7NXJ87%Bd2S=YP^P\PWP/BZP]P[P]JXP.?sK_P`P$=mPPG6IhPpJ62lPfPoPRAD8\GG`nP]EcPv8u8aPZQ~F4A@QAQ,Hx8;OBQ&6L<'4OQMQ=LNQZIPQQQRQ_EVQTQUQSQc:WQjLdNXQ(@YQZ=ZQ|C?N`EER[Q%tE6\Q^Kh=|B^QdF_Q`Q.3aQ'6LFz1P=!HbQaEO?cQ,JZ@"4)4dQfQ:7eQsNi==HLJgQxMhQiQ~EjQ)@~:t7kQI;o9fDmQ'Bo:nQoQ0AlQqQ6Kd9pQu7^:mGtQrQ{Ij>{Qd3uQsQOAwQvQD3`7|Q-NxQ}QzQyQONy8C2tNu=XEe9"R#ReN+O%Rz8$R/3&RVK)RgJ-R*@*RP6+R+4.7.R/R0R1R[<{8^LhLwFqJ2R3R5R7R6R8R=2LK|:9RYA">)6:R[H;RR$Ih6e0?F?R==i@AR@R#>a8CR>HDR\H4BnB(6nF1CnGNKFRj@57GRHR,1u0m4(BQ5qMKR72JR*6LRqLMRRN|868NRPROR_?91^1QRRR78SRn52;TRtK5:Z5'MPA?H}\RZRD2fB8L!9yMGE~8/7gRc6JK]HfR^4aRbRdReR[5a?-JcR_Rc8`R$OrJhDb8p9hR]FlR~Si:13yR%Sv0$S%0JI"S|RwR}RH:&Sw0/S'S(S%>iK-S,S/E.S+S416:0?)SbE*S"04S#M'>:S9S0SCB1SoB6S&>3SdL<77S8S5S;S2SASFSBS=SGS1AIS"9?S}CCS31WS^2bS|>^S\S]S_S=19AYSZSz3aSo4dS`ScS.JUF8HfSeSE3gSjSiShS9GkSlSnSmSpSsSqSoSrStSuSvSwSxSEQ|?T@T>TBT8Gh0VICT}>9<]Gp4k:YK2Fx7OBATDTDBETFTHTiD.4!ta1sJl>HEf:NT=J]Nt2JT:AMTcEIEdE9HMDI:ITv16EKTGTP?OTN=-6PThJ}AFDRTOKSTXT/JWTQTTTVT&:IJYTECu2m>[TZTh9\T^T]T`TUTbTaT_TN;Q?TAcT<@m0dG[DeTdTfTgThTiTQJjTF2kT~T%C}T3Jw=[E!U%9"U!G^HQL%G+U85EM/L,V#U&UEB8KJE'UeKJ:*>(UP;O;90H8+@Q0,U-U*U81/4)UEL1I(0y0Q;R0#02U0U4U,OLG6U':9UXI:U5U;L^G;U2IUy7LUEUBUdCAUCUDUFUGUr4IUHUJUn>MU\DE1KUNUOURUPUQUR;SU&9TUz;8BUUVUZ;'9RL(5I8WUX3XU9BYU#VZU[U\U^U_U`UpB'1iH2bUFMI=drUsUS0:BR?tU3F.>/>uUm@0>vUwU`LxUF6"=yUzU\<,?tFT?xH"GI6{Uo5|U~6OF02S;}U"V!V}6~U8E0BKEHVGVFVEVAV@VDVxJKVHVJVrMIV?Vs?LV7:MVNVQVPVOVhE:VWVSVRVTVUVXVfNYVVVZV`4[V]V\V^V_Vn@#=d=cA)98:*9p5`V9:J8aV&LCGbV+9,4'CR6T;[IAHcVu4fV!DeVdVgVkDc?U;J@SB"5"DhViVo>9KlVkVjV}IsVZKmVoVkKnVpV(HqV>JrV34?J/GtVuV,944vV88DM)Mv4xV#D-91>_H2>x=lDyJ9E.9\IyVYEB:K8mDC0n=/9GMzV{VQG|VwN-O~V}VG3!W$W%W#W@I3>'W&W"W(W)W*W-W+W,W.Wd1nD/Wz7v26G0W{F[J1W.O2W@J5W!P1P0W@WvEAWBWCW4W3WDWA7'IL:7I&DKIEW4>F1FWGWrL`HJW}1,@IWHWB7TBNWLWKW'Ne8y=MWLE>=@FQWPWOWRWf8SW|I[=TWyHAF'D0EUW+54?,Iw4&GVWV;:K;K~1[WiCXWw2-XZW0GYWWWz9]WcWiWaW\EfW]I`WeWgNW;UB^W^5hW-@e1bWx2gW16dWjWlWvWtWqWpWxNrW2619z=yWkWoW_Wz2sWuWQC(:82mWxWwW36)Bf3C7nWzW}W!X=<'XpD{W%Xy2#X$X~W"Xg8*M54Y1&X:G-0aH\W,X0XeL)XiE.Xp>/XWFGO+X1X{9K@T0*X(XZA|W4;FB=X[A8X5X6Xf<9XX?XU03Xr6&064;XCXBXGXHXFXIXAXEXJXKX@X|;DXVB292X5?XXiJNXOXPXWXVX}K74TXE743QX8NSXV0UXLXRXYXD7MX]M+M\X`X~AyNaX^X[XZX_X0J4FF7bX]XcX{712kX84iXjX):hXfXeXlXdXnX{2pXoX(DsXqXgX|7rXvXuXwXtXxXyXzXjJ|X{X?=.@f2|2}X?0L@~XCl!Ya7"Yo@#Y$Y:5%Y&Y'YWBM8aL;50Y7Y6>1YDG^M3Y4Y8YjE5Y39^@FY4HrBdH-ZzJqDuK;Y!2jCDY4C>YEY@YGYCYBYoGAYRGr5H3g3!?IYNYJY}7OY";i9&==Y};LYX;MYD0HY)Ds546KY'0C:6?rDTHQY^A*B+;RYTYPYaJ=D\A{JN<`Y_Yx?~7YY9>hF1GWY]Ax<\Y8>VY[YSGUY!7]3]Y+NN:5CZY\@59d?f15Z9Z7Z8ZpY;Z:ZxYZ@Z?ZAZ~269|J/@N8CZFZRI_5EZDZTGGZ56IZHZ:46;XFI7t?JZ0@(E_IKZLZMZ8J]UF@LIX:eHCHMEANOZP_Z;>@L*:W0N@fZ1@G1U=fKr:<>'@eZcZdZkC&[jZ~;89hZiZ8?gZ/;lZkZpZqZmZ"3nZoZUHaIJ7rZ2@=>RCG6sZwZK2tZvZuZk=HCE0xZyZ*DqNC;kJ=K"[{Z~Z}ZzZ![^F|Z#[l=$[KMxG%['[([)[J6H199*[+[q=bAXR>A=AXBG:rPn7-M~J~I,[s:?D-[/O>K+D.[|4/[0[ZL$LvK\K%;2[k;[NE9[+B:[r>]L<[=[hMB[:9UG?[lE^ZbZO5GGA[>>DHG[zH>[D[C[O@mKSNgKL2^;HOF[u?E[@[O8L[J[M2H[N[T[HBAJV["IU[pG?K;4w@@=SD.MQ[P[R[O[W[M[K[S[I[lCxLFmTh8|Mh[tD#3-:`[p[a3n[r[nE~42\ILw[}4~[@K!\#\'\y[*CoE+\|[(\"\9?,\3@*\=4POv[&\X0x[:L}["?GDs[%\z?/\q3!81\z[0\)\{[-\.\?\NF$\;\=\XDLMvI8\JB>\?A5\B\A\oF@\jFD\7\H6:\]=`G<\K64\6\3\0OZ39\C\53g:]1T\1OW\:?V\U\R\F\c\E\X\P\K\H\I\Q\"tN\=9HDdAL\G\J\MMjKO\Y\a\Z\g\e\`\_\PDeA]\[\b\h\uHn\i\l\f\tC8I\\d\@>OLx\k\"8#2_3S\A>p\w\y4=]<]>]N27C?]?4A]@]B]C]D]_;5@!:pIbJDOu;P:rNE]F]`;G]H]J]I]XK^=l9SCi]q]j]ABb5r]h7%5p]n]k]`M@DYFl]t]s]#7-2;:m]o]WKtBwK|]}]O2(J}L!^#x]~]h176u]z]t@qGgHw]!Ky]$^"^{]"KHGc5%EmC%^#^YBv]K1NM0^/^v@,^lM6F&^EDL1?9)^'=.^-^(^+^h3*^IG.Nt>u@6^4^MI1^3^:1@92O=3bIaM$3;?5^:^C>0M7^2^8^^NsEBF63U1>^A^CNdMH^B^?^TNE^J=G^L^qEJ^D^8CK^@^F^M^|0C^N^=^B=L7<^R^m=:8a^[^t5OEV^_^/02192X^,BO^Q^A9b^]^U^\^+LZ^^^P8E>9CT^/MW^P^rES^Y^QO><~Kc^.Ho^;8`=e^/NB9r^n0p^d^j^l^OMg^.Ei^q^k^GLf^"<~^j3h^m^n^lBZBv^|^z^)E#_w^x^`^y5:I?_<_?_B_;_j9(G9^tM=_A_uB@_+_ioE_I_G_C_D_H_F_NIN_K_J_M_TFO_uCmB%@P_R_Q_u^S_gFT_P2tE%3d5^3AF>{Nj_y@f_k_l1i_aGe_h_H>QHl_Q59`:`$8HH<`u>;`86=`?`>`@`Q8A`i6@A}9C`D`B`m7IHc`~`i`=8e5f`}M0NvBh`j`VNW6|HJGk`m`p`l`o`j8M1q`p?n`\Nt`$tr`u`g`s`<:v`w`~Mx`y`e`z`D4%<{`|`}`;1!a;I"a$4#a$a%a'a(a&aSI*a)a,a+a-a.a0a/ay92a1aE4S?aVHAaBa[0v>GaDamFCa&5JaEaFaIaHa%IBAAA?5KaLaMaOaNaV1WahHQaSaUa>?VaTa@YaXaZa&DjA=bb=J>@b?b>b}HG4)8FbCb??2LBbDbEbAbGbHb/Dc4eCIbJbMbg?DFNbSKKbLbQbPbObSbRbTbVbUbMJV=FNWb7FXbYb]b[b\bZb^b_b`bab7LbbpLcbNCjGk6;Cdb:6P@eb=:fbgb&8U:ibVEV:N5$KKGWE\9kbK>2NE9'8#Hmbobk8nbvDqb73lbjH01l:ROpbrbKJY@tbubsbN3{bzb'<|bwb}bxbXHvbyb"c!caK~bk0$c#cL>%cCA'c&c(chbjb*c)c(ckHEAAcBciGA??caC@cN>\0)5CcxDDcG@-L#IEcFcUCGNHcGcoScO3Ucj7f5Vcu6Wc|@MF`@u:XcbCkAZc\cYc[c"7]c&7g5RM_c`c.1ccv3bcacec^cfc)NgchctTjcickclc5NmcopO>ncocW=8Fpc(Cqcxcyc+Ezc^3Z?dI|chBwc{c}c{:&d.I&HyEZ6%d#d5H~c^C{EzEv:8d(d*d-d.d+d,d)d'd!dOJU25d2d7d6dsG'L;;0d9d4d3d/d1dI4=C}@"H>d$Ha@;dOH?dSJ[C:djdhdfdndmdldkdodpd:@qdsdrdR88Aud|Etdvd5JlAG9wdHNydzd{d|de;}dO7j5*5!esLH9~d$efL0:)e*=>8HA%e+e&eP7.e2ek7-e6eJ9mM<03ek50e1e}E/e,e(3d@(88e5e7e4eQ73B9enAFeBeC?e=0JL>e[6lHmAPNo=neHe~@DeIeKeyDNeJeTJK4KL^0Me}NLeo1lFOeVePeWeSe{GJf;fO)HkfS>*IlfjfN4T8h;nH*8CKofmfN9O9i0h:YG_0tf@CXG[Bvfrfufpfsf&KU8}0qfxfyf9F;6&g=Gi;<6H@FO.LwfT@S5zf|f{f}f&C>G1D#g"g~fU?eI%g$gP9SO5g)g*gp<(gx9'g+g2D"J#A\B/g0g,g-g.gQ96g2gfIlK(I1g4g3gDK7g8g7A9g;g?gg22Eg@gAgBg!BDgCgFgGgHgC?i2IgWN+<-=j;WCJgKg11LgMgNgOgPg=6*ZQge@RgKh0h|GiM9hOhGh{?F5]6Bh[2T>EhZ:QEJhnJAhZ2V8)IKh?hHhRhChDh:FIhFh(KLh`0@hNhMhkGTh_h~3bhPhUhnM^hUM*NxCk3rIdh!F10]hYhrASh[h`h,G*0XhahxI\hWhU>/=,ehjhsAfhmh_CnhVMch83ihlh,Lohhhkh)K!OshzhrhCI<#i>6$iyI}hVh|hOO"FsI+i1i2i%ivG/i'i)i3i(i,ir1eF-i0i&i&A*i';E?07tLyLr=7i5iNO4iuM6i8i9ii@i?i1]"]EiDivMj@j?jBjAjZiFjCjDjEjGjl7IjHj0=T9'^JjQ=93KjR1W>LjU9Mja0=INjj?UjRjoCSjPj^6OjVj67^B\jXj5BWjZjQj[j]joHYj^j`jS8TjA0_j[:vNajbjuA"Ncj5MdjejdJfj@:#NkjljX>jjgMgjij=@~?hjmj#Jojnjl3+Kpj|jrjsjtjujyjzjxjvjqjwj{j7p(2~j_6}j"k!k$k#k%k1=&k'k(k>@WM)k$JFG*k+k+8,5,kk;AG-kP3.k0kwM/kF?1k2k3kQ44k5k6k7kQ38k9k:kr2(?;kkW7V?Ak$F@k17?kwB-5BkCkY>m7Dk,K_@v5uLJAEkG?pCZ>FkIkJk>:BBHk[>>IGkl;S1NkX7n;m;MOMkLk'AM5CO:3\>KkPkQkOkX8@Mo;'GTk@@BC6MWkl8?@SkXkm8UkVkRkb@IF/C]2pHC54D[kYkLCA@R4Zk[?JN@O\kgk5Dfkckkkdk`k|D_k]k!Mp;ak^kekt=A8zBEKZ1b0%FikhkfFmkbklknk,8jkV9U$ln8%l&l>;NZ'l(l2=)l*l+l,l-l+C.l0l/l&F1l-K2l3l4l5lZF]>6lk9.P7l8l?I9lAl:ll?l@lBl-3gDiIb:W9OI_2NHElS4U@DlIlyCcLGlHl.5JlcG_BqH=EFlGKl2Ll(OBDEOq;Kl1B\l(AxFPIOl?;r;^>eG-8NlMljIAm?m@m=mAmVEDmGm4n47;nRnPnQnTnSnz>UnVnWnPHS:a[9HKd6F="o$oS6EIb<#O~nx:?O&o%o'o}niFUEWD,oCC(o)o-7+o08*oa>y30o?:yAJD;3.o/oCD-o1o7o:o9o-E2o3o6o8o@6;o5o4o?o@oAo>o=ob>*F#1YN+p.n*p.p,p-p/p0plN1p2pI@;H}?g4:Mm28=[85p4ps;6p3p(;:p-jVRw?8p%NqF+1c@6<7J@1mNkM;pEE{<pnN9p@pBpAp?pCpDpzAb2Ep8LFpGp*O1[HpIpJpNpKpLpMpOpD@wLE@PpsHQpSsLLRpSpTpW3VpY?Wp$7Xp\pZp[ps3Yp]p^pH0_p`pd>apG5dpcpbpqk\JepfpgphpipjpZ4kplp#Gnp;2qppp$1A6GJ:D":`9g=\?sprpBMh4RH\F|?NN[7vpupKK,FP1wptpQIjMxpyp{pjB[3\3zpi428j4?E`N\8|p}p~p!q#q"qwI$q%q&q'q)q(q*qtHLf)?25+q,q,R;]SH{0;0t;0K~>-q_L.q\MB1A;/qn20q1q3q4q6q2q5q[47q8q9q:q;q=qq@qAqCqB6s3OGGqHqZCkFIq}GLBX1n6o6sCNqp6o2MqKqLqJqXqOqPqQqRqTqSqY=UqWq35Vq{A38YqMBZq-F[q`q^q]q_q\qbqaqdqC6cqeqfqhqgqiqkqjq|9lqmq<3nqoqq?pqqqrqsqb9tquqvqwqxq1Hzq&I{qyq}q|q~q!r"r#r$r%r&r'r(r)r*r+r,r-r.r5]/rxd45!32:1r0r%L3r4r2r5rbK6r{5%O7r9r>0:r+J8r;rr?rnK-;z:/A@rCrArDrq8BrErFrGrKr*;dBLrIrHrJr_7PrOrNr30ZrVrWrSrYrUrb3LOXrTrRrQr\r_r^r]rII[rs0`rbro3Mr71drcrar-CpKZNerfrgrhrir;Djr7Horkrlr1KDLPFprqr>Fnrmr*2yrxru1vrursr{3rr2<)2c9|r{rzrwr}r~r%s$s&s-1!s"st99L#s2K+s's,s)s(s\7-s.s/s*str0saD4s5s3s2s8s1s6s7s:s9ssIO;skBm:?s@sAsBsCs48DsEs/2R",ǧf&  'UA@acI Њ>"'Az.@{5EG<>@8IQPR4Y q_fgfco$rЀvQy{ Cq0X_Ab@ VP%@PAM @ L! R   "IH'\- /4e : "=A3$G KGS V%B[(]aIdOjox0~>a~AçW!$H*(J@ ` @ !`CD pJ  @E@)&x ,+2<E|@KyS[cKmiuJ!c+@3ЪBYA,HXH P42LhIhLB. !$P+/3|@FK(PT[Ibiu~ࢎQU2F>Cg2(03#e:N,%=:Ԍ"(|103 9>GKP TX]}f(mu@}DSZDD?HwWBĽk(I ABY":;     # ' + / K4 9 @ DE P 4HU Y[ E ` Bd Pg @j n @1r PDv @x y | @  ,D 0j   ϐ Vd ! 1  ˽ c L  S 2 z 3      p % ) 1 Q5 C< !A DHE SJ N @6S AV b i q }y ҥ B† KҎ ? Р  4 G  RĽ e :  @  3 Oa  *  š k P. # ) , 36 ; nB QH I 8vQ Y sb Df 2k @n t || c )  $ ʘ N `' F  `  T    0 D g R  ^  Y. `A   ah  # $ & + - A1 @5 < @ dF 1L MS HW a 2g *m .t w y   li 2  XV  Q ( $  &C R]   ( { E d @ D  A $ $ 4 :`   F :! & + "- 2 P7 < W@B D H K OP 0U \ JDa e "m p @s t v y 1} F   "   B @ R ` R  0  B C p @  5 e    b D D\@ 23 %*0./2% 8 <@=> AeG@H!dMAPhTT$V|]^ ekI@oq@rt vxzB8p*ՕhP>.ف$(.s$4K *D E}I"I'@(/L%5<DCIHORqW[] _j ehHj@l!0pIx z~4  p Tb  @@T%!3 D  & i@M') .Q59@DAHQ,YobAhToKtayh}`W P3$Ӛ q"   Q1(@*ib%DD TMu,#*-1|:AH>NADn"KMS Z7ei&uqx{2ȅNHnJ,pf& ӳ]@ p3OUdD#b4C  { H@D *1H-7&?CXPH@nN2R1W^ `c Bg@Hj;p`Ht{ (4)E# %\wٿ^TA(` + |Bv!#&&+F0H5 :" ="TBHGK(RxYZ_"1d@BgiNsx{ R.CPAB0  O'@P!00N `1 ( A jK#M'+0 26Z:?IEEPI KLO,SXZ\Jb fbimB qU0wj~ )BH>0s ` @ 0@Qʍ– 4 Uɩ ($ZB7HMz(-24*E:{1CHOD\Uh^EdPk.sCyB|ҁ@@  TMBU!$vaݹe \]$<Y(" D @ ( $()1,3!7:T>,EIN@Q`=X[ ^yc(hC0GRCZ^`b`d2@hjm0 rLwTz@|)j & @M٤$ (PP Pp!2`LZ!Z 4p&&,|3%<`DKPZzebk p vJRcTDRW+rI)H `ln09@0IBXp( aQ`$ %%%%) q.1r6'>`AF"J M O@R- W\4bbbb!dgjpLx|@}lj>@΀mAV'P7=2N@YC$HRr  V "@%'**L------ 26=`&BIN{W![:bAe(gjHlps{~  0zߏ?(t&^"!!    RSTUVWXYZ[\^_&&2A?JRf'138B@IKSg  " $0*.(469=;CGEPLTXVZ\`^dblpjrnhtxvy}{   !%+/)57:><DHFQMUYW[]a_ecmqksoiuwz~|NNN NNN#N$N(N+N.N/N0N5N@NANDNGNQNZN\NcNhNiNtNuNyNNNNNNNNNNNNNNNNNNNNNNNOOOO O OOOOOO.O1O`O3O5O7O9O;O>O@OBOHOIOKOLOROTOVOXO_OcOjOlOnOqOwOxOyOzO}O~OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPP P PPPPPPPPPP"P'P.P0P2P3P5P@PAPBPEPFPJPLPNPQPRPSPWPYP_P`PbPcPfPgPjPmPpPqP;PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQ Q Q QQPQQQQQQQ#Q'Q(Q,Q-Q/Q1Q3Q4Q5Q8Q9QBQJQOQSQUQWQXQ_QdQfQ~QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRR"R(R1R2R5RSBSLSKSYS[SaScSeSlSmSrSyS~SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTT!T'T(T*T/T1T4T5TCTDTGTMTOT^TbTdTfTgTiTkTmTnTtTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUU U U UUU*U+U2U5U6U;UW?WEWFWLWMWRWbWeWgWhWkWmWnWoWpWqWsWtWuWwWyWzW{W|W~WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXX XW X XXXX X&X'X-X2X9X?XIXLXMXOXPXUX_XaXdXgXhXxX|XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYY Y YYYYAY!Y#Y$Y(Y/Y0Y3Y5Y6Y?YCYFYRYSYYY[Y]Y^Y_YaYcYkYmYoYrYuYvYyY{Y|YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZ Z ZZZZZ#Z$Z'Z(Z*Z-Z0ZDZEZGZHZLZPZUZ^ZcZeZgZmZwZzZ{Z~ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[4[[[[![%[-[8[A[K[L[R[V[^[h[n[o[|[}[~[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ \\\\#\&\)\+\,\.\0\2\5\6\Y\Z\\\b\c\g\h\i\m\p\t\u\z\{\|\}\\\\\\\\\\\\\\\\\\\\\\\\\\]] ]]+]#]$]&]']1]4]9]=]?]B]C]F]H]U]Q]Y]J]_]`]a]b]d]j]m]p]y]z]~]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^ ^^^^^^ ^.^(^2^5^>^K^P^I^Q^V^X^[^\^^^h^j^k^l^m^n^p^^^^^^^^^^^^^^^^^^^^^^^^^^^________!_"_#_$_(_+_,_._0_4_6_;_=_?_@_D_E_G_M_P_T_X_[_`_c_d_g_o_r_t_u_x_z_}_~_________________________________________` ` ```````$`-`3`5`@`G`H`I`L`Q`T`V`W`]`a`g`q`~```````````````````````````````````````````aa a aaaaaaaaaaa"a*a+a0a1a5a6a7a9aAaEaFaIa^a`alaraxa{a|aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbb b"b#b'b)b+b9b=bBbCbDbFbLbPbQbRbTbVbZb\bdbmbobsbzb}bbbbbbbbbbbbbbbbbbbbbbbcc c c ccccc)c*c-c5c6c9cgEgGgHgLgTgUg]gfglgngtgvg{gggggggggggggggggggggggggggggggggggRhhhhh(h'h,h-h/h0h1h3h;h?hDhEhJhLhUhWhXh[hkhnhohphqhrhuhyhzh{h|hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhi i iiiiii1i3i5i8i;iBiEiIiNiWi[icidieifihiiilipiqirizi{iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjj j$j(j0j2j4j7j;j>j?jEjFjIjJjNjPjQjRjUjVj[jdjgjjjqjsj~jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkk kkkkkkk$k(k+k,k/k5k6k;k?kFkJkMkRkVkXk]k`kgkkknkpkuk}k~kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklll l llllll&l'l(l,l.l3l5l6l:l;l?lJlKlMlOlRlTlYl[l\lklmloltlvlxlyl{lllllllllllllllllllllllllllllllllmm mmmmmm&m'm(mgl.m/m1m9mu?u@uCuGuHuNuPuRuWu^u_uauouquyuzu{u|u}u~uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvv v vvvvvvvvvvv#v%v&v)v-v2v3v5v8v9v:vwBwEwFwJwMwNwOwRwVwWw\w^w_w`wbwdwgwjwlwpwrwswtwzw}wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxx x xxxx!x"x#x-x.x0x5x7xCxDxGxHxLxNxRx\x^x`xaxcxdxhxjxnxzx~xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxy yyyyyy y%y'y)y-y1y4y5y;y=y?yDyEyFyJyKyOyQyTyXy[y\ygyiykyryyy{y|y~yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzz z z zzzzz!z'z+z-z/z0z4z5z8z9z:zDzEzGzHzLzUzVzYz\z]z_z`zezgzjzmzuzxz~zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{#{'{){*{+{-{.{/{0{1{4{={?{@{A{G{N{U{`{d{f{i{j{m{o{r{s{w{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||| | | ||||| |%|&|(|,|1|3|4|6|9|:|F|J|U|Q|R|S|Y|Z|[|\|]|^|a|c|g|i|m|n|p|r|y|||}||||||||||||||||||||||||||||||||}}} }}}}}}}}#}&}*}-}1}<}=}>}@}A}G}H}M}Q}S}W}Y}Z}\}]}e}g}j}p}x}z}{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~~~~~~~ ~'~(~,~-~/~3~6~?~D~E~G~N~P~R~X~_~a~b~e~k~n~o~s~x~~~~~~~~~~~~~~<;=>?CDGORS[\]acdefmq}~  $&,.04579:<>@D`dfmquȀ̀πҀԀՀ׀؀  $',05:@CEMX]adeoqr{ȇɇʇ·Շևهڇ܇߇ (-.025:@BEFIORWZ[\abcknpsuz{|}ԉՉ։׉؉ "$&+,/57=>@CEGIMNSVWX\]aeguvwyz{~ÊƊȊɊʊъӊԊՊ׊݊ߊ  -07EGIKOQSTWX[]Ycdfhimsuv{~ŌƌɌˌό֌Ռٌ݌ eilnōƍǍȍʍ΍эԍՍ׍ٍ  !"#&'136789=@AKMNOT[\]^abilmopqyz{ÎĎǎώюԎ܎ !#%'(,-.4567:@ACGOQRSTUX]^eƏʏˏ͏ЏҏӏՏ ()/*,-347?CDL[]bfglpty̐ÐĐŐǐȐՐאِؐܐݐߐҐ  %"#')./14679:<=CGHOSWYZ[adgmtyz{‘Ñőӑԑבّڑޑ #$%&(./035689:<>@BCFGJMNOQXY\]`aeghinopuvwxy{|}’ÒŒƒǒȒ˒̒͒ΒВӒՒגْؒܒݒߒ !$%')*3467GHIPQRUWXZ^degijmopqstvz}ēœƓǓɓʓ˓͓̓ӓٓܓޓߓ ./1234;?=CEHJLUY\_achkmnoqrxy~ƕȕɕ˕Еѕҕӕٕڕݕޕߕ"$%&,13789:<=ARTVWXant{|~ʖҖ]ؖږݖޖߖ !"#(13ACJNOUWXZ[cgjnsvwx{}ėŗǗɗʗ̗͗ΗЗїԗחؗٗݗޗۗ   #&+./0235%>DGJQRSVWYZbcefjl˜ŘȘ̘"&'+123459:;<@AFGHMNTXY[\^_`Ùəәԙٙڙܙޙ  "#$'-.3568GADJKLNQTV]ÚƚȚΚКҚ՚֚ךۚܚ  &+-34579:=HKLUVW[^acefhjklmnsuwxyǛțΛЛכ؛ݛߛ "#&'()*1567=ACDEIJNOPSTVX[]^_cij\khnpruw{ /0234:*>+$)D)G*G+E*E+F*F+D*E)&)F)H*H+I*I+G)J*J+L*L+K*K+))I)()H)M*M+O*O+N*N+J)+)K)W*W+V*V+-)M)Y*Y+[*[+Z*Z+\*\+]*]+_*_+^*^+a*a+`*`+/)O)l*l+i*i+f*f+k*k+h*h+j*j+q*q+t*t+s*u*u+w*w+v*v+&*&+C*C+U*U+g*g+p*p+m*m+o*o+n*n+9+0"/"2"6"5"3"8"9"a&b&c&d&g&i&l&v&e&j&q&r&s&t&{&x&u&z&w&y&|&B'C'D'E'F'G'H'I'J'K'L'M'N'r's't'u'v'w'x'y'z'{'|'}'~'q"o"!0"0#0$0%0&0'0(0)0*0+0,0-0.0/000102030405060708090:0;0<0=0>0?0@0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0_0q0r0s0t0u0v0w0x0y0z0{0|0}0~0!1"1#1$1%1&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1v1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1w1x1y1z1{1|1}1~1!2"2#2$2%2&2'2(2)2*2+2,2-2.2/202122232425262728292:2;2<2=2>2?2@2A2B2C2D2E2Q2F2G2H2I2J2K2L2M2N2O2P2R2S2T2U2V2W2X2Y2Z2[2\2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~2!3"3#3$3%3&3'3(3)3*3+3,3-3.3/303132333435363738393:3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~3!4"4#4$4%4&4'4(4)4*4+4,4-4.4/404142434445464847494:4;4<4=4>4?4@4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4\4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}4~4!5"5#5$5%5&5'5(5)5*5+5,5-5.5/505152535455565758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5\5]5^5_5`5a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5{5|5}5~5!6"6#6$6%6&6'6(6)6*6+6,6-6.6/606162636465666768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6p6q6n6o6r6s6t6u6v6w6x6y6z6{6}6~6|6!7"7#7$7%7&7'7(7)7*7+7,7-7.7/707172737475767778797:7;7<7=7>7?7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7`7X7Y7Z7[7\7]7^7_7a7b7c7d7e7f7g7h7i7j7k7l7m7~7n7o7p7q7r7s7t7u7v7w7x7y7z7{7|7}7!8"8#8$8%8&8'8(8)8*8+8,8-8.8/808182838485868788898:8;8<8=8>8?8@8A8B8C8D8E8F8G8H8I8J8K8L8M8N8P8Q8O8R8S8T8U8V8W8X8Y8Z8[8\8]8^8_8`8a8b8c8d8e8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~8!9"9#9$9%9&9'9(9)9*9+9,9-9.9/909192939495969798999:9;9<9=9>9?9@9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9\9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}9~9!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:3:4:5:6:7:8:2:9:::;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:}:~:!;";#;$;%;&;';(;);*;+;,;-;.;/;0;1;2;3;4;5;6;7;8;9;:;;;=;<;>;?;@;A;B;C;D;E;G;H;I;J;F;K;L;M;N;O;P;Q;R;S;W;U;T;V;X;Y;Z;[;\;];^;_;`;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;tfs;t;u;v;w;x;z;y;{;|;};~;!<"<#<$<%<&<'<(<)<*<+<,<.<-=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~=!>">#>$>%>&>'>(>)>*>+>,>->.>/>0>1>2>3>4>5>6>7>8>9>:>;><>=>>>?>@>A>B>C>D>E>F>G>H>I>J>K>L>M>N>O>P>Q>R>S>T>U>V>W>X>Y>Z>[>\>]>^>_>`>a>b>c>d>e>f>g>h>i>j>k>l>m>n>o>p>q>r>s>t>u>v>w>x>y>z>{>~>|>}>!?"?#?$?%?&?'?(?)?*?+?,?-?.?/?0?1?2?3?4?5?6?7?8?9?:?;????@?A?B?C?D?E?F?G?H?I?J?K?L?M?N?O?P?Q?R?S?T?U?V?W?X?Y?Z?[?\?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}?~?!@"@#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@[@\@]@^@_@`@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@{@|@}@~@!A"A#A$A%A&A'A(A)A*A+A,A-A.A/A0A1A2A3A4A5A6A7A8A9A:A;AA?A@AAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~A!B"B#B$B%B&B'B(B)B*B+B,B-B.B0B/B1B2B3B4B5B7B6B8B9B:B;BB@BABBBDBEBGBHBIBJBLBCBFBKBMBNBOBPBQBRBSBTBUBVBWBXBYBZB[B\B]B^B_B`BaBbBcBdBeBfBgBhBiBjBkBlBmB?BnBoBpBqBrBsBtBuBvBwBxByBzB{B|B}B~B!C"C#C$C%C&C'C(C)C*C+C,C-C.C/C0C1C2C3C4C5C6C7C9C:C;CC?C@CACBCCCDCECFCGCHC8CJCKCLCMCOCNCPCQCRCSCTCUCVCWCXCYCZC[CIC\C]C^C_C`CaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzC{C|C}C~C!D"D#D$D%D&D'D(D)D*D+D,D-D.D/D0D1D2D3D4D5D6D7D8D9D:D;DD?D@DADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD[D\D]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzD{D|D}D~D!E"E#E$E%E&E'E(E)E*E+E,E-E.E/E0E1E2E3E4E5E6E7E8E9E:E;EE?E@EAEBECEDEEEFEGEHEIEJEKEMELENEOEPEQERESETEUEVEWEXEYEZE[E\E]E^E_E`EaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzE{E|E}E~E!F"F#F$F%F&F'F(F)F*F+F,F-F.F/F0F1F2F3F4F5F6F7F8F9F:F;FF?F@FAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF[F\F]F^F_F`F6GaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzF{F|F}F~F!G"G#G$G%G&G'G(G)G*G+G,G-G.G/G0G1G2G3G4G5G7G8G9G:G;GG?G@GAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG[G\G]G^G_G`GaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzG{G|G}G~G!H"H#H$H%H&H'H(H)H*H+H,H-H.H/H0H1H2H3H4H5H6H7H8H9H:H;HH?H@HAHBHCHDHEHFHGHHHIHJHKHLHSHMHNHOHPHQHRHTHUHVHWHXHYHZH[H\H]H^H_H`HaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzH{H|H}H~H!I"I#I$I%I&I'I(I)I*I+I,I-I.I/I0I1I2I3I4I5I6I7I8I9I:I;II?I@IBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI[I\I]I^I_I`IaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzI{I|I}I~I!J"J#J$J%J&J'J(J)J*J+J,J-J.J/J0J1J2J3J4J5J6J7J8J9J:J;JJ?J@JAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ[J\J]J^J_J`JaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJ{J|J}J~J!K"K#K$K%K&K'K(K)K*K+K,K-K.K/K0K1K2K3K4K5K6K7K8K9K:K;KK?K@KAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK[K\K]K^K_K`KaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKyKzK{K|K}K~K!L"L#L$L%L&L'L(L)L*L+L,L-L.L/L0L1L2L3L4L5L6L7L8L9L:L;LL?L@LALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLTLULVLWLXLYLZL[L\L]L^L_L`LaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzL{L|L}L~L!M"M#M$M%M&M'M(M)M*M+M,M-M.M/M0M1M2M3M4M5M6M7M8M9M:M;MM?M@MAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM[M\M]M^M_M`MaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzM{M|M}M~M!N"N$N%N&N'N(N)N#N*N+N,N-N.N/N0N1N2N3N4N5N6N7N8N9N:N;NN?N@NANBNCNDNENFNGNHNINJNKNLNMNNNONPNQNRNSNTNUNVNWNXNYNZN[N\N]N^N_N`NaNbNcNdNeNfNgNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzN{N|N}N~N!O"O#O$O%O&O'O(O)O*O+O,O-O.O/O0O1O2O3O4O5O6O7O8O9O:O;OO?O@OAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOYOZO[O\O]O^O_O`OaObOcOdOeOfOgOhOiOjOkOlOmOnOoOpOqOrOtOuOvOsOwOxOyOzO{O|O}O~O!P"P#P$P%P&P'P(P)P*P+P,P.P/P0P1P-P2P3P4P5P7P8P9P:P;P6PP?P@PAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPRPSPTPUPVPWPXPYPZP[P\P]P^P_P`PaPbPcPdPePfPgPhPiPjPkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzP{P|P}P~P!Q"Q#Q$Q%Q&Q'Q(Q)Q*Q+Q,Q-Q.Q/Q0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q:Q;QQ?Q@QAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQRQSQTQUQVQWQXQYQZQ[Q\Q]Q^Q_Q`QaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQ{Q|Q}Q~Q!R"R#R$R%R&R'R(R)R*R+R,R-R.R/R0R1R2R3R4R5R6R7R8R9R:R;RR?R@RARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRWRXRYRZR[R\R]R^R_R`RaRbRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtRvRwRxRuRyRzR{R|R}R~R!S"S#S$S%S&S'S(S)S*S+S,S-S.S/S0S1S2S3S4S5S6S7S8S9S:S;SS?S@SASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS[S\S]S^S_S`SaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzS{S|S}S~S!T"T#T$T%T&T'T(T)T*T+T,T-T.T/T0T1T2T4T5T6T7T8T9T:T;TT3T?T@TATBTCTDTETFTGTHTITJTKTLTMTNTOTPTQTRTSTTTUTVTWTXTYTZT[T\T]T^T_T`TaTbTcTdTeTfTgThTiTjTlTkTmTnToTpTqTrTsTtTuTvTwTxTyTzT{T|T}T~T!U"U#U$U%U&U'U(U)U*U+U,U-U.U/U0U1U2U3U4U5U6U7U8U9U:U;UU?U@UAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU[U\U]U^U_U`UaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzU{U|U}U~U!V"V#V$V%V&V'V(V)V*V+V,V-V.V/V0V1V2V3V4V5V6V7V8V9V:V;VV?V@VAVBVCVDVEVGVHVIVJVKVFVLVMVNVOVPVQVRVSVTVVVWVXVUVYVZV[V\V]V^V_V`VaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzV{V|V}V~V!W"W#W$W%W&W'W(W)W*W+W,W-W.W/W0W1W2W3W4W5W6W7W8W9W:W;WW?W@WAWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWVWWWXWYWZW[W\W]W^W_W`WaWbWdWeWfWgWhWiWjWkWlWmWnWoWpWqWrWsWtWuWvWwWxWyW>XcWzW{W|W}W~W!X"X#X$X%X&X'X(X)X*X+X,X-X.X/X0X1X2X3XLX4X5X6X7X8X9X:X;XY?Y@YAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXYYYZY[Y\Y]Y^Y_Y`YaYbYcYdYeYfYtYgYhYiYjYkYlYmYnYoYpYqYrYsYuYvYwYxYyYzY{Y|Y}Y~Y!Z"Z#Z$Z%Z&Z'Z(Z)Z*Z+Z,Z-Z.Z/Z0Z1Z2Z3Z4Z5Z6Zf87Z8Z9Z:Z;ZZ?Z@ZAZBZCZDZEZFZGZHZIZJZKZmZLZMZNZOZPZQZRZSZTZUZVZWZXZYZZZ[Z\Z]Z^Z_Z`ZaZbZcZdZeZfZgZhZiZjZkZlZnZoZpZqZrZsZtZuZvZwZxZyZzZ{Z|Z}Z~Z!["[#[$[%[&['[([)[*[+[,[-[.[/[0[1[2[3[4[5[6[7[8[9[:[;[<[=[>[?[@[A[B[C[D[E[F[G[H[I[J[K[L[M[N[O[P[Q[R[S[T[U[V[W[X[Y[Z[[[\[][^[_[`[a[b[c[d[e[f[g[h[i[j[k[l[m[n[p[q[r[s[o[t[u[v[w[x[y[z[{[|[}[~[!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\0\1\2\3\4\5\6\7\8\9\:\;\<\=\>\?\@\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z\[\\\]\^\_\`\a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z\{\|\}\~\!]"]#]$]%]&]'](])]*]+],]-].]/]0]1]2]3]4]5]6]7]8]9]:];]<]=]>]?]@]A]B]C]D]E]F]G]H]I]J]K]L]M]N]O]P]Q]R]S]T]U]V]W]X]Y]Z][]\]]]^]_]`]a]b]c]d]e]f]g]h]i]j]k]l]m]n]o]p]q]r]s]t]u]v]w]x]y]z]{]|]}]~]!^"^#^$^%^&^'^(^)^*^+^,^-^.^/^0^1^2^3^4^5^6^7^8^9^?^:^;^<^=^>^@^A^B^C^D^E^F^G^H^I^N^J^K^L^M^O^P^Q^R^S^T^U^V^W^X^Y^Z^[^\^]^^^_^`^a^b^c^d^e^f^g^h^i^j^k^l^m^n^o^r^p^q^s^t^u^v^w^x^y^z^{^|^}^~^!_"_#_$_%_&_'_(_)_*_+_,_-_._/_0_2_1_3_4_5_6_7_8_9_:_;_<_=_>_?_@_A_B_C_D_E_F_G_H_I_J_K_L_M_N_O_P_Q_R_S_T_U_V_W_X_Y_Z_[_\_]_o_^___`_a_b_c_d_e_f_g_h_i_j_k_l_m_n_p_q_r_s_t_u_v_w_x_y_z_{_|_}_~_!`"`#`$`%`&`'`(`)`*`+`,`-`.`/`0`1`2`3`4`5`6`7`8`9`:`;`<`=`>`?`@`A`B`C`D`E`F`G`H`I`J`K`L`M`N`O`P`Q`R`S`T`U`V`W`X`Y`Z`[`\`]`d`^`_```a`b`c`e`f`g`h`i`j`k`l`m`n`o`p`q`r`s`t`u`v`w`x`y`z`{`|`}`~`!a"a#a$a%a&a'a(a)a*a+a,a-a.a/a0a1a2a3a4a5a6a7a8a9a:a;aa?a@aAaBaCaDaEaFaGaHaIaJaKaLaMaNaOaPaQaRaTaUaVaSaWaXaYaZa[a\a]a^a_a`aaabacadaeafagahaiajakalamanaoapaqarasatauavawaxayaza{a}a~a!b"b#b$b|a-b%b&b'b(b)b*b+b,b/b0b1b2b.b3b4b5b6b7b8b9b:b;bb?b@bAbBbCbEbFbDbGbHbIbJbKbLbMbNbObPbQbRbSbTbUbVbWbXbYbZb[b\b]b^b_b`babbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzb{b|b}b~b!c"c#c$c%c&c'c(c)c*c+c,c-c.c/c0c1c2c3c4c5c6c7c8c9c:c;cc?c@cAcBcCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcRcScTcUcVcWcXcYcZc[c\c]c^c_c`cacbcccdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczc{c|c}c~c!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~d!e"e#e$e%e&e'e(e)e*e+e,e-e.e/e0e1e2e3e4e5e;e6e7e8e9e:ee?e@eAeBeCeDeEeFeGeHeIeJeKeLeMeOePeNeQeReSeTeUeVeWeXeYeZe[e\e]e^e_e`eaebecedeeefehegeiejekelemeneoepeqereseteuevewexeyeze|e{e}e~e!f"f#f$f%f&f'f(f)f*f+f,f-f.f/f0f1f2f3f4f5f6f7f8f9f:f;ff?f@fAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf[f\f]f^f_f`fafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsfufvfwfxfyfzf{f|f}f~f!g"g#g$g%g&g'g(g)g*g+g,g-g.g/g0g1g2g3g4g5g6g7g8g9g:g;gg?g@gAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg[g\g]g^g_g`gagbgcgdgegfgjggghgigkglgmgngogpgqgrgsgtgvgwgxgygugzg{g|g}g(h~g!h"h#h$h%h&h'h)h*h+h,h-h.h/h0h1h2h3h4h5h6h7h8h9h:h;hh?h@hAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh[h\h]h^h_h`hahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzh{h|h}h~h!i"i#i$i%i&i'i(i)i*i+i,i-i.i/i0i1i2i3i4i5i6i7i8i9i:i;ii?i@iAiBiCiDiEiFiGiHiIiJiLiMiKiNiOiPiQiRiSiTiUiViWiXiYiZi[i\i]i^i_i`iaibicidieifigihiiijikiliminioipiqirisitiuiviwixiyizi{i|i}i~i!j"j#j$j%j&j'j(j)j*j+j,j-j.j/j0j1j2j3j4j5j6j7j8j9j:j;jj?j@jAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj[j\j]j^j_j`jajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzj{j|j}j~j!k"k#k$k%k&k'k(k)k*k+k,k-k.k/k0k1k2k3k4k5k6k7k8k9k:k;kk?k@kAkBkCkDkEkFkGkHkIkPkJkKkLkMkRkNkOkQkSkTkUkVkWkXkYkZk[k\k^k]k_k`kakbkckdkekfkgkhkikjkkkmknkoklkpkqkrksktkvkukwkxkykzk{k|k}k~k!l"l#l$l%l&l'l(l)l*l+l,l-l.l/l0l1l2l3l4l5l6l7l8l9l:l;ll?l@lAlBlClDlElFlGlHlIlJlKlLlNlOlMlPlQlRlSlTlUlVlWlXlYlZl[l\l]l^l_l`lalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl{l|l}l~l!m"m#m$m%m&m'm(m)m*m+m,m-m.m/m0m1m2m3m4m5m6m7m8m9m:m;mm?m@mAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm[m\m]m^m_m`mambmcm7"R ~(8GWer? /p|@ 4 !!0% & )*+, /4*: @E@FJMSTX T]gd6Vluuz|cTy@-gT$Z]&PTFDyz:  P@H! "%.A+$@.2&5l:<&@ BHC@LO%T[`-gQmRr"x}  ى;%p *0BA"%!,d 2@j*#bf@d@#s   d8&MS#$F*/ 24JZ;IBD@F LPQZ[c@eOm&p0u {;@ )",=ֱ`0^ ! `"a3  ! Q G%(a-U$367`; ?DiIHK R Wd]X`din%tx}p @%!@ LIҨ.P!D` *" D@RD[ HZe   #1<!M&4* , /@03B 67<ALF"J$PU Y<`chHlort w4|A$@ CY}H4 @X6P A2YQ  4e@0 @L$ (  DE *a&4*H/70j=$?$1DHRR U[b_@`bg(mt!%y| ( "\W$@Ļ@`0,I&`^L `021FP "A:! ,A5!!#, 0(47>JCG^MQ0&V[aXhDBl4pswz$|"$!I@CQ5›#f`^^aT8 & Y @@0 @PP  J '8- $B&++/4 90= BE'MTQ@U*F[] aK2h =nc8u@x}}* $Bx Db $*@ "$`Fg @  @q00̂ H  ` @$ D! H !` $ # s+ c0 4 @6 @; ? 4bE I QN hT X ] a P f j p p s Dw W~ Z  ċ      Ŵ @ % Q  @ D 0 p  (  ` h * 5 @  @ I f  ` 9! ]( / a3 7 D9 ; !2@ E F I M OT 0`X 0P\ `@_ bb h j n o zv w x @   T       H A    . iT b  a @  ` L ( C  &,  E   k@% - e,4 : `@ L"E J R W  Z Pd g (n r iy { も  Kϔ &  ͤ   @ @ A  ~ " -   S  lz h" , ;  0 ! "0% * %4 5 "Z; = AA CF ADJ Q V pb\ dc i o $u 0y p~ ă "@  &Ž Q  `b  ` Q P E D  1  S l S ̌ A  " 2 p   Z  z    " Pd' %,- 0 6 "H: ? 1E J `P $U AX e ^ @b e (j @Rn p t hy z |  @ Q B CH ! e< $   4W ^ a Z @ .~ b 2 @ A & @  N`H$p !%6,/4n9=`BEI|pQSd,Yb^`0flHo@sw&}A$"e 8z F$ (ZQPVQ "AP`MFQ ! !rH'AI,@.1(7h<@gI L&QTWx^Ba eiFqR wGԈ@!` p4`U 4;2 @B"FY1",@@ d,"P'P*2\7@9OCINbUY ^fLknA!rHv1`{K@5G#!B!+4 v) !2Cp"G `, J!,a/%4*O<bCF IJORdU|[H`bfBk`qu'F|eH)<"1! *J6@U`b1IłHHq`   |!B @S$2*0//////////c38+@X#FhHKN TUW`\`"`dk nqqqqq Ruv!z#AE rR#x %lb( aAq >a  s`AC,$-(A-bH26 8>BE(GKN YS Y']]`djr uQzq!U6 jD:ABqO,F0*M1xiW3 g $+D3y?HQPT!X2_eilEt{[$IZ p>Ҫ/(  CqBP@ Q`t7@"B'p-/068:,>,AE G L QDUȩ\^ePhfrv{kdPRiȝ-@lh$H>a@'V1b C@`h!\(R ,,,,,0t8JA=DJ,Q?{]EcA(g&nqHvj}d٢ABW :YO@q4, XXdT#"(,3J9@=DAg2IIIIIILT@IX]9a@ d fpk'q u׎De+$@.@000000 ^ &     000 0 0 0 0 00000006"'"("""*")""7"""%" "#"+"."a"L"H"=""`"n"o"d"e""5"4"B&@&2 3 !0 !&&%%%%%%%%%; !!!!0$$$$$$$$$$$$$$$$$$$$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$`$a$b$c$d$e$f$g$h$i$ 2!2"2#2$2%2&2'2(2)2`!a!b!c!d!e!f!g!h!i!j!k!  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO+Mk1111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%JU?W(cT UTvLve^aUޘ*S T^l9Z)TlR~_Wq~l|KYN_$a|0N\g\ Θup"QIYQ[O&T+Yweu[vbbE^l&{OO gnmmy_+ubOܑe/Q^PtoRK YPN6ry[DYTvVV9eivnr^uFggzvaybecQR8~\/n`g{vؚ|dP?zJTTLkdb=urRi[sn;uRS݋i_`mOW"ksSh؏bc`$Uubqm[{^RLaĞxW'|vQ`LqCfL^M`pp%c_b`ԆVk`gaIS`ff?yOpGl~dfZZBQmmA;mOkpb` 'xyQ>WW:gxu=zy{eo!Y~  TghM|ƖS%`urlsSZ~$cQ ]߄bQc[OmyBR`Nm[[e_EY~~ Vg9YsO[RZ>2uGPNlZbnc]wQݍ/OS`pgRPcCZ&P7wwS~d+ebcP5rɉQ~GW̃QT\OzZmᐏUTaST_cwiQha R*XRNW x w^wa|[bbNpbp`wWۂghxyXTS4nKQ;R[CUWs`QW-TzzP`T[cbScb[gTzw^8YWcWWw{O_[>k!SP{rFhw6weQNv\zuNYAP'andWfFcVbib^WbU!JfUegV݄jZhb{pQo0cȉapntir^ΐgjm^cRbrlOYjpmRPNm~x/}!QWd{|lh^iQShrΞ{ryotNg̑xS)RPOOuz|lRtTOTޏp^`m^[e8K`p~|Qh|o$Nϑ~fNdJPuq[foNdc^eRˆpRs3tgx4NޜmQATbsÔ6OQupu\SNn tikxYuR$vAmgmQKT<{zWbG|iZd{oKbS^pcdSOx2B^oyU_F.btTݔOee\a\Q/l_sn~\cj[nuSqNceubn&ONl~W;#{=m~YsxlVTWpNVSȏ wnfba+o)+vl_+skwƔoSQ=^8HNsghv dql wZAk'f[YZN jv0sh_[/wa|%_s|yʼnl[B^h w~QMQR)ZbׂcwЅy:n^YmplbvOe`f# T}T,xdyd!jxidTb+gX؞l o[L _rgbarNYkXfU^RUa(gvfwgrFzbTPTZ~lCNvYHYWS7uV c|`mbTQZY*Pl<\b`O?S{n+bt^xd{c_Z?\OcB}[nUJMm`grQ[bl[rmb~SmQ_tYR`sYfPu*ca|T'k%kՅUTvPljU,r^`6tbcLr_Cn>meXovxvTu$RSSN^e*րbT(RpэlxTڀWTjMiOlUv0xbpom_h|x{ gOgcxoWx9ybbR5tkdU>uv9SuPA\l{OPGrؘothydwb+TXRNjW s^QtċO\aWlFZ4xD돕|VRQbNa郲W4gWnffm1fpg:khbYNQoglvQhGYgkfu]PeHyAyw\^NO/TQY xhVlď_}llcp`=murfbŔCS~{N&~NԞMR\ocEm4XL] kIkg[TTX7:_bGj9re`ehwTNO]d\OzRN/`zONy4tRdy[lR{"l>PSndtf0l`w^y7x3u{T8Om Z~^yl[vZuNanXu%urrGS~wviR܀#W^1Yren׋8\qASwbeNߘ[ƋSwON\vY_:yXNgNbR/fUlVNOʑpl^C`[ƉՋ6eKb[[c.US&v}Q,ghkbSmufNNp[qffr͞ ^\/gh_g bzX^pe1oU`7R Tdp)u^hbS=r4lawz.TwzUxgped6V`ySN{k[UV:OUcTن\~*gsTOuÀUOMO-n \pakSv)ne~;T3z }UtcmzbegScl]\TLNalK\eh>T4TkfkNBcHS OO^W bdfirRR`fqgRxwpf;V8T!zrzo` ^`Y`qpnPlrj-^`NZUm|b~w~#Sf\Or NSYTc(HQN~T$T7m&_Z>fis.sSz[wP~vSv{DXnaNey`TNy]ajPTa']xJRTVm[mSf\][!hxU{HeTiNGkNOSc:deQhxSall"Q\ #ke__OEfe)s`tQRWb_Lx^Og'`YDQQSylĖqOO=gUy~X bZV{_ĄWSe^\ud`n}Z~~iU[`es cv)w~tf[tz@Rq_e[o]k[l ŏSb&-@T+NYr]YmŖTN qT pmv%Nx\^plDYcopYvtGd'\ez#YTo0iNV67rΑQ_NucNSfKYmNX;ScO Oc7YWyNul[Y]_iP]YNwNzbfy\Ny_Ɓ8uNԈak_INvn㋮ ы_~5kVk4YTm[n9\_pS1jtZp^($%gGΏbvq_lx fTbcOÁu^͖ Tlm8l`R(u}^O`_$\1url8nI gSSQOɑS|^mNvi^aYOO>| annN1ZN\y[틽sWTGU\_a2krtm[Ոkm3 nQCQWScVXTW?sn܏т?a(`bf~Í\|g`NShAQЏt]UfU[S8xBg=hT~p[}Q(WTef^Clm|QgeojV vvpq#bRl<`Xaf`NbU#n-gg(whiTMNpȋXde[z:P[wky|lve-]U\8h`Sbz[n~jzp_3o _cmVgN^&N4vb-f~blugqiFQSnbTُYmsewu'xOguʋ/cG5#cAw_rN`tebck?e'^uѐg/e1TwAlKN~Lv ikgbS\fScSRRR-R3R?R@RLR^RaR\R}RRRRRQTNNNNNNNNON"OdON%O'O O+O^OgO8eZO]O_OWO2O=OvOtOOOOO~O{OO|OOOOOOOOOOOOO)PLPO,PP.P-POP P%P(P~PCPUPHPNPlP{PPPPPPQPPPPQ QN=lXOeOOFlt|nQ]ɞQYR SSQYUQNVQNnN҈y4[QQQQQQQQ‹Ëˋϋ΋ҋӋԋ֋؋ً܋ߋ  !%'*+./2356iSzS"!1*=]4]=]l][]o]]]k]K]J]i]t]]]]s]]s_w____________ba_rrrrrrrrrrrrrrrrsrsrrss!s ssss"s9s%s,s8s1sPsMsWs`slsos~s%Y$YYcghijkltw}^^^^^^^^^^S^^^^^____`_`___``___`5`&``` `)`+` `?`!`x`y`{`z`B`j`}````````````````` a&aa#a`aa+aJauaaaaaaa_ ,N?rb5lTl\lJllllllhliltlvllllllllllllllllllll9m'm mCmHmmmmm+mMm.m5mmOmRmTm3mmommm^mmm\m`m|mcmnmmmnmmnmmmnm nm+nnnNnknn_nnSnTn2n%nDnnnnn-onnnnnnnnnnnnboFoGo$oon/o6oKoto*o o)ooooxoro|ozoooooooooooop#pp9p5pOp^p[[[[[[/u4d[[0[GӏՏ & !56-/DQRPhXb[ft}P_W_V_X_;\TP\Y\q[c\f\*_)_-_t<_;n\YYYYYYYYYYYYYYYYZZYZYYY Z Z2Z4ZZ#ZZ@ZgZJZUZusssssssssssssss| tssssst*t[t&t%t(t0t.t,tttAt\tWtUtYtwtmt~ttttttttttttttLgSg^gHgigggjgsgggugggggwg|gg hg hgg hggggghggghgg2h3h`hahNhbhDhdhhhUhfhAhgh@h>hJhIh)hhhthwhhkhhnihi ih$ih iiWihiqi9i`iBi]iikiiixi4iiiiiificiyiiiiiiiiiiiiiii/jijjejiDj>jjPj[j5jjyj=j(jXj|jjjjjj7sRskkkkkkkkkkkkmqrsuvxwyz|~Ύ bbbb"b!b%b$b,btttuuu4eeee ffrgfffpff4f1f6f5f_fTfAfOfVfafWfwffffffffff236;=@EFHIGMUYljʉˉ̉ΉωЉщnrr]rfror~rrrrrrrc2cc?ddkkkkklll lllll!l)l$l*l2l5eUekeMrRrVr0rbR gۀ€Āـ̀׀g݀ gZ6,2HLStYZq`i|}mgMXZń&gʁ$k7k9kCkFkYkјҘӘ՘٘ژk@_keQeeeeeeeeepppppppppppqqq/q1qsq\qhqEqrqJqxqzqqqqqqqqqqr(rlpqfqq>b=bCbHbIb;y@yFyIy[y\ySyZybyWy`yoygyzyyyyyy__<`]`Z`g`A`Y`c``a a]aaaaabllmwwx xxxxe-xxx9x:x;xx?B5DEFILNORSTVWXY[^_]abdefghijkloqrs:wwɖyyyyzG]zzzz9z7zQzϞpzvvvvvtt,u "()*+,216879:>ABDFGHIKLNQUWZ[\^cfghijklqmsuuuuuuuuuuuuuuuuuuuuuuuvuuuvvv vv v%vvvvvv3vMv^vTv\vVvkvovzxzyzzzzzzzzzzzdir}ƈɈΈ! 4+6Af{u倲vvw "%&')(1 5CFMRiqxMTlnz|{ĆΆɆφІކ߆؆ц #;%.>H41)7?"}~{`pLnSc|dYe҇Ƈ凬ˇӇчʇۇ !9<6BDEzz{{{{ {+{{G{8{*{{.{1{ {%{${3{>{{X{Z{E{u{L{]{`{n{{{b{r{q{{{{{{{{{{{{{{{{{{{{{{ |{{|| ||*|&|8|A|@|D!"#-/(+8;34>DIKOZ_h~؈߈^||Ie||||||||||||||||nf|w}}}G~~sgmGIJPNOdbapio}~rtyU~Yič֍׍ڍލ΍ύۍƍ ,.#/:@95=1IABQRJpv|otxe։މډ܉>&S*-0> ΖҖwȒ>jʓ>k#zĜŜƜǜʜ˜̜͜ΜϜМӜԜ՜ל؜ٜܜݜߜ|Xښ˚̚њECGIHMQ .UTߚ#;~֓۞ܞݞߞ",/97=>Dh!l!'!c!@!A!$("(((&(:(,(*(0(.(B!4(2(9(!(%('()(-(1(#(+(/(3(5(6(7(8(&!%!!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&''!'"'#'$'%'&'(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'Q'R'S'T'U'V'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'W'*!,!.!/!0!1!-!k!d!e!y!f!m!q"r"s"t"u"v"w"x"y"z"{"|"{!|!z!}!J!G!F!L!X!^!O!N!D!E!I!H!R!S!`!_!C!K!W!V!U!Y!T!\!]!Z![!Q!M!P!Y"Z"["\"]"^"_"`"a"b"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"$)%)&)')()))*)+),)-).)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[)\)])^)_)`)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)v!u!x!w!t!s!p!r!q!o!n!b!a!!!"!#!(!)!4!5!6!7!8!9!:!;!>!?!~!2!3!$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%$!E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(`(a(b(c(d(e(f(g(h(i(e"f"g"h"i"j"k"l"m"n";R!6_FrMIU}HOIBO"X;2kS$Xs3(WRG'X@JpG{15RT4+6?K)X*6=AOQ%I-Xv8>Q\cPVa7.4YA/XKDC>1X4CeR.VZN'Uu:&7V@9FREGGT9K3RR?XE>rF2R0OgOiJ@XrBRBiH,GKAhSyUBJ~6!XZSw?FT%;AXeN.>(XGQ)P=XoYvM:?;=%:`Rz2`:6DmO)>$MAAWGqYtYKHiXZR2JJHlXjXFXv=MFp3kXq=i=THS4XBV2PWKJ{KLU68IOZYpX*GnXz4nATRmXGRoXGCvQYVrXuX~<[=Y:Y30BYDY61?Y95s>HLr:PRCYh=+3EYk>FY;Y_D>YAY@Y.U5VcGHYYkH+HK0+9yAbY<@29X9KPx1dF_>d5HWxQf<^J=)EZ9#Z)T$Z{Y,6k7y1|Ye3v>v?1Rd@36~Y}Y;>`FF-?K;J5I[WP9M<0v3w;J[/:dT65s5VXPHV7PGWX/?;[XXLP.;>kPAuArTU844u3>IPEYE{@p1YXN9=5ZXFV"K/H2IL4L?t9[X\Xg6A#Jt<18n8bXK=dXcX|EeXfX&A0Hl0&9S[?[x@">M@@[FJ*2BScC+QB[U@C[1?6PaZdG'3r6|Lz@w@9QaQGX^2e@q:HX-TaOIXJXCOx3G>KXL[%HXO~HN2VSf20mA6_5_;VP=YUH0#6I?(L3_7JRSOX6RE:>K>L7_p54_uST3w8:_O:*_ALMwRM7A_D_q7I0V6T7,:}LT?1KtF(VE_bN33|N54GNp:aN=Q@_t4J3f8;_ED<_=_>_;E?_B_1TC_:GXNXDJ_O_\VI_Z_6NG:N_H_^EkIt:|CW>F_M_XE&UM:L>=S@8dVG_>9'?|AK_L_P_[_e_W_V_IWc_d_ke'RR_)?[TH?T_LO]_JQ^_'07FS_e:_6[M~9UT__lO%0g_Q_FQU_X_Y_\_);`_a_b_f_h_4Sg86Ej_ZI(ADD^?xO\Un_82_:l_A[dQtK=4&0q_FLr_m_i_k_o_p_=;s_t_#;[J(N'`*3&`!`~_YM|_z_P?DWLIx_!0}_{_"`(`H7!F6I2@u_>EDXy_vD#`$`%`%P4`dL1`&?/`9N+`FI.@.`m:0:)`v_3`8`-49`2OH:0`zP,`{Tw_gE-`wS6`7`D`aP<`I`J`>`*`$IA`2`HJC`5`KNCKM`F`B`K`:`?`@`E`G`H`L`;`TKU`V`R`P`N;7P[.L2?5;xWS?i?a<3L^[S0kNX79WBF$@9Lg[a[:Fc[h[wEj[i[@?f[e[94,@"Bb[d[MPm[]@r[b6s[R[89+Tl[Q?p[Q[f5k[e?n[q[y[!9#0qBG3o[x[RFt[u[w[v[~[rS:2}[$\{[z[|[`Ey;#\%\CLQ6@]!\"\5Gi6'\&\)\$1L50?_QB6(\zKsk\K~KAL{H*\nL+\S[/\,\3>{J-\JI9D=G.\vTfP+DU6T[Z1U[V[>:@H?JIH3WyIG?x:8hBQH{eJ6K<}Q!fnC$f~e%fWMA7|e}e#f]D(f'fCC^F*f7D"foI7fp6dCiS4f5f"H=f9fEFqM;ff:f7@$S?ftICfDfvP=CDCBfAfGf1OtkJfEf^<)I5eg4T6BK0Q<5YJb7dI+=>NpW!PYI{6Xfb<>3PIYf"3L^HSM^"RN^M>O^,J|R_3jeaD!>2NrDV>(Fc2S>|GkLl=]N:JAFlea@aAaGag3iF^4BQHaFaEaCaBa@18UDaKaLaJazoSaRa6GIaNaPaTaQaMaOaUaVaWaXaZa[a!N]g(4]V2Q23$9sWIG^>.9WNn2O[:}4_a\:`a2;IBaalP=MbaC5GEcadaySea-Qfa"NgaB5haU;DP`bX1dRabIV|M&CCcRVgbhbGSlbl?mbeb@3nDnbCPv:ib^73;,LKKdbfbjbkbwbtbuTsb-EzUBE@2obrb/AoMs;hL/c1c'O.c)N];k5e>R2M391+cQ2,5_9h6kO7cL;GHJP8cn3)mzSdS*m9cbR5c^SP83c6c_74c"@:c8TH4;cE;wIeI=D+m}B[;.??Nc-m?c):,m=c@c6:.68PC0.m/mA@Ac3EBc2\0mj8lN'jgPyJVH7OI3RNd=^cr;(j=U]F)j*j,j+j.j-jX=/j>BA4w4';flel?7yKb1glHIhlilVJP^E2zTKFG0r4SHPM8?[?$G4V)@Q^(IoQ$Eg063EHb0v7zEs6RUP3<<-3q>Q0VRcJ%W6M669?[U'8WER^Y?UB@G$;(1jE{E'L'1V5(DS^:Qi3rCw7tV#5p24DiD-@T^h0DE`AU9\>XMN0OMV^P>>WU^PU]0bD#Bp<5S9@!E&2qT(@CJW^|U09-H)KY^=?4F'W0JCDV3R98V|j40f?tLZM?VNBNN"L.PSD25X^uU762L@pKq<;;75uEf^c^]>_^74]=`^mDFO`5^6ZJt5e^FUa^ML~FEE4Rr>SB=L83S=X?FMZQk4d^]^g^~j0Bb^@V'5t2h^r^m^q^`HaWo^hCaLe2>Rn^k^UN'4+?>>R=i^.T^^j^?@l^s2i8'BA=u^x^+2$4j4&Iv^QKc8w^z^y^BLa0n4:e/Pk2!kt^cIs^Z0!Rw1/Lp^$K*U{^]4&D}^~C!D!_LA|^o>2FE3vH:K~^$_2W73CAKG%2i4+WlD"_#_%_3:&_^@CIY2fG'_\G(_"kSK*_)_A2JE+_\TAH,_p>-_'V7j6kUJ|XD8%9E7~UJ9'PMtP5tCH>7k=0L=2AV1(3R8"IX68k4>}JCG{Us7DN+Us13l_05l76OAzu1PeUSNo=b3+86U=mO69KBP=76l)JTE9l8lCB7l}P:l;leWj%@;j}2wCh;WRtN?jzNgG'>PjGV@A]TQj>ORjnJ/E50TjSj_t:D)1_eUjoJVjWjXFXjYj;TzG7R|8Bj\2|BxTfLnWBTPSCksE~7Tk7K^kJ@{M/3ZF|k>D4N)D>1}TuJlVSFd6z;`P1IST(HK8>hHaHOhThVhq9XhuW{D\hi2Qhmi?iAiqA6H=iBiCi3i6i1;@iw69XH1O1Q1~EP1+C1U$kA::L%k'k(k&k)k+k*k,kOJ5XqC%CxF-kJD.k/k0kU7z71kbG3k$:uQ102k4k*5HBhG5k.K_c@S[Y!M-VsG`Yc;::bc+O`cGI9:4QacjH/9-=X3[N@LhcictM-L3{cucS:P7MSNVSUA94UXQ9PvG*H42ZCnc|coc(7wctc:7"Evc]E(2|F`D"Wa@yczc}c)Lsc>SC14mqcrcxc:PCFsT~c`='d&dsQ#d)dwH4O(d.deB46r="di:*d,d}6^V2d-d!dn;]M"GIEwA$d3G,===%dGWb2+dC4l;MQmL5meG(TKdUWBd%=EdfSIdxI>deS~GI6|T32WdBNMdFWVTS2>lAj/B64WQ432H;?@lKV?lAlElf>?LZE<>Fl~1Dl(Uc5Bl6Ac3Cl8KC@~LRAHlf:S@rVLQ>?37UIGlb;LL}=HH)OiMkEi7IQ8:IlJl@;Klbl:1Y79=LlfQMl;HQlSlM;e0WlXldl88/RV0y53X,K]c,Ff0FE9k:k;k@Q#Erj2D5DN@sjADoNpjtj|I#GXL~Nujvj,Og@wj?6xjyjzj{jqj.Hka87lama4WnaoaLSqaq?paR571sara|:ta79Q>|D]:F=uawa@6AO(JvaxU|Sxa|ayazaj@~a!bG@{a}a%bTA#b(b~2"bMCB2'b&b$b)b+bIPmV(C,bWO.bo:`i-b*b+;3T0b/bai1b2b3b!L4b5b~PJBqSuM`gagA>jBdgcgfM5Cbg7;VOaAighgtg#2jgfglgkg:IdUeg)7ggngsgiVmgrgqg`0ugrGE@m@pApgvgvK"h!hAWzgyg{gwg~g}g|gUAYG}ECEmG#h&h%h'hw:xg$hpH*I)he9~Q(h*h-h.h'A/h0h,h4h+h1h5h2h3h7h6hO9,p-p0Fj0?H_MMN1j2j?FI43jgUy]4j5j6jJ80_uIpLzI{ICS&K&8.pB18eoLISW^p1E]pqQ`pL0j=_R_p/4h7fpep#FapbpC4cpnU[LR>2,HjpwQLV[:ip;64M&F!Akpnpmppplp>;op5LrpU3T1sptpvpa4qpwpzpxpup}pyp|p~p!qAN$q#qvA{p]Jq4q11L&q'q,qNU)q3H"q+q(q%q*q)0-q/q1q0q.q"Q2q3qo9G5W0Y0mTD5T=J;'p^8(p(0)pnM*p+p$FeVdqeqsC[SQVhE/SfRAn;05UNQ`xmwL[QEWvU|m{mymzm}m&>/K!n=6"n@D~m^=G2C6%n:X#n&niCr3'n$n9O(nwB)n*n+^3FFGuVI52K+n+M,n0U-nDvG[#4,Cfq8JSR*VroX>C=soL6+0/J6m7myN/7s?8mkB0I9mvF3?miEFFiIRTAmBmCmEmy@!4h9PmQmJmOmxN6KLmMmuORmrA2SKm7HoJjlq@gIklnFllmFmlplfWslqlnlol#WqInKtlrliOvl1F@5Z<|;e8BD#pkK&p(Q?>nG6q7qU?)48q;MTG-U9q:qOG$ROV;qQ=04=>\4QN_?=qz?q@qAq~A"AzJ>U:>9>BU"?/M5q_=K6qVCsDsM8FsGsJ0EsIsqKKs&PJ1HsOsQ5WsRsTsSs{7?1NsJsZ5PsQsUsMsc<}AVsZsLsH5n=\s$7p?~V2Mp4_2XsYs8I]s^sas_scsbs[sj?o3`s)Gr2&t%t.b4TtUt+>Vt[tWtZt}:XtYtb8GL\tZ2SCcT7?]t4Eit5OINXKwKt=OW[@uPjtktltcw17mtkWntyf@>zfl:{fKO|f*gs0^Ha=+gFH,gf;x8$Q-ggBx>J=3M.g/gn>ePgKPLL<0g(g?g)<@gAg6gP6BgCgDg:;^5FB`1Eg5TFg?8HgGgl7Igx2JgKgLgMgNgOgPg'SuKQgRgSgTgIIUgVgWgXgYgI=Zg>sW81H?s@sAs^9xMhX1:^B7n#79n8nU0;nVUoWCV=npJn@n?nrQyqO4zq2m1m`K^RAKXUbH_@!7FkGk90O?Ek}SHkIkN7BkDkvIWVMU2POk8NPk(531Rk%LVESkQk_ENk$JUk{0z:7XcqJkKkLkMkVk@fYkh?HRWk\kl8Xk:=XP70]k\D,V`4vB9't(R(t)t*tK>_S`IaIBsfJrL6b4KhN[V-t.t/t2t=:3tc00t1t"=U26t7tf602OO4t,45t8t9t'M:t;tt?t^t\R7E0G\>PA\(;<7L\F\?\[G?Q@\J\P\-NB\C\H\I\T2Q\UK7T[\_\&Lf\gC\\A?Y\z069e\S\D\V\tH`?;I=1"SZ\U\;F^\BW/C67QG)Cb\X\k\T\]\%>W\`\c\d\x\a\"]g\kt\]2s\vz>J:J]E]?]K2C]K]$2U]>]PFP]T]bAF7N]O]D]=]M]QLI]B]HCGz]|]~]"^*0N1,^&^6=oH!^%^)^(^'^-^LT3^*^.^Y@!16^1^2^&Q5^/^0^=P4^mJ9^8^7^;^e=X2jC:^:E<^YL*7eT=^?^"DA^>^@^:UB^.r";2B0EGB/riP]S=kf30r1r-Jg:3r5r4rdK:O2r4JORlBCN8rv07r>rO2AQ:rijjjkjljmjnjojG={u}u~u|ub=!v%4"v#v2lTQjY$v:n2U~S\LDJ@e%v/>)F%ZF<)6<8OH%<&Z'ZVLCH(Z}F5QiR6QG<2=d;)Z*ZHQ+ZmPo6[BOKm7hIC7w>$V,Z-Z@FgW6J)U_KoU.Z_VJ40Z/ZkR1Z2Z3ZTJ4Z+J5Z6ZO3oV7Z0;.58Z9Zn9/QhR:ZC8jOo2;ZZUSe;?Z5KPK@ZkGnVAZ5EA6BZL7N?CZDZ-KEZw5FZBA;WGZ8LjR1DHZ}5Q;IZ3PJZKZ=NLZMZNZw2QZOZhQPZUCRZSZTZUZ;P%Ry0VZ+GWZw=!CXZYZ}C7LZZ[Z>@WF\Z]Z4G^Z_ZH9m;96xtytcM9u`ksO?;@:%TYatu*1r2uuwuQ:vu2Cyuxu41jU:819F2pTMO\0KUu;JV770L6Fa1:9|Va9!7zTDuLuO0x5IuJu\EEuFuGuKu`>Huz8PuSug?r9Xu_L[uH2YWYuZu\ubu`u_u]uau^udueucL?e85cuhu#Lfugu>uD1?uE5d2luiuW6mujukuZ4jTnuy3ouqupurusumI*9{Gc6IL&j53~Tl9yPmi*WniVBmHd:oipiqiaVrisiuitiviwiaGxiXTyiN=zi{iO=|i(8>A}i21T;u9~i!j"j#jx7-MQe:6(Md9EJQ3YKlTRej7NeUe~4VeSeTe]R_BF1bS]6lKWevSi1t6ZeXeYe@5ER\e^e]e2G#R[ebTZU`eqWae\1{QbedeceeeXRK5_guZxZvZwZzZOPGDn00PyZJS*:"[qG|Z{Z[I}Z![^W~ZZA%[tS'[$[([<=I@#[&[#V)[-[.[,[B:$?+[*[GT?2/[y90[;3&5<61[u62[I14[3[5[7[6[8[9[:[OSztuGCWdE|t}t{tF>oPS7MT*L"u!u(:~tVK$uR@j3*M%u#u4=(u)uM=8Ca?aK*u&u'upD,u<4mWW4+u.u-u/uQPQC)H0u1u2u3u4u5u7u6u8uI2TSMJo@XV0R?Ap=*8xYN39VnUnXnWn%EYnZn.G[n/G\n'2]n^n_n`nanjWbncnXo?o}N@o`B846Wu=GOCoAoBoDo'6|LCEoFoGoOoHoIoJoBGqoM6KoLoMoF6>CNoPoQoRorUSowDToxDUoVod8w0WoXoYoZo[o\o]o^o5>ao_o`obocoMAdoeofogohoiojokoloX@mo-AnooopobO$3ECEcAIFcU1JN34rHGcPOHcd2>e5G7??RCfCLXo8y=%QP00w1w,P002w3w4wJGO>7w6w^15w8w9w$NMH+:8h9h:hB>tROTXI3R%6jG|qnO3KkPoggMK9Y6}qd0LK~q$T-BlADF1>!rU<"r#r$rCR5FGM%r1SE?bL&r'rUQn6(r)r_5*r+r|2,r-r'Hg7)l*l+l,l.F-l.lI73J8bOwPwM2QwSwRw;b"<b?b@bAb97{R$=NJ%1GKBb|6DHCbH=}1Dbv6EbYDFbZO]9Gb!@Hbv2IbsAJbKbxBLbMbNbWJ8XeYcO%p0\mB&TTM1Q[3}G52?B`f;JafbfT>cf$WUMef]=hffB':ifjfR3iQ%?kfoFlfmfnf-Fof'Ipfqfrf9esftfbBufvfhVwfxfG9;w:w>wuvvvwvxvzHyvzv{v|v}v~v!w"w#w$w%w&w'w(wn1)w*w+w,w-w[A.w/wqD/p&<0pyC8E;Q1p2p3p4p5pp?pi>@pl6ApBpCpDp5HEpFpGptEHpIpJp=wKpLpMpNpOpW:PpQpRpSpTpUpVpXp%SWpYp:u9Bdwewfwgwhw4BjwkwsBptotiBawbwF;dYrJh@$pZ:-G,Dlwmwnwpwowqwtwswrwuwvwimjmkmv&6>XD9;X1\sJwwxwyw{wzwG1|w}w~wkF4l]33v4vdA5v6v7v8v9v:v#H;vzA(9hmj9_Y!#"###g!%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#+!i!j!~#$#7  @U!!!!!!!!!!!!!!!#############2;JSSSSTdt&`3@ @dO 3 "2BNNNNNNP RWWWW`YYYY[/hooo~$4>>>>>>>>>>>>>>>>HS{`=iUt~]C @@>{,n:U5HY '(,7 98?HJQ EVY`bwiTlr u w|!! @p({+r$y;'358њ(ie/ kɯ4$SP*036 <?FK OETUZa`&gKDmr{ԅʐt: lC@?ҋy;Z6[I T9#U+u.4ؿ?FR_gg m‚rvІZatYj02^z`0VpB`   (3"X(*2 N8@ISSX|_ bjmp u4}'("B!0A @+ Ƭ""XIp%X#%B8J @ 5( ) .)2V7A; =@FF IJ,AOSTXK ^_`bbefs|{+$ y 2ARr5'#Bk1 : r% "@'PH+b1`48);?@A"CCD FhIS`Znbs?m`q9w4{0H\ь֞ CNĹ!V6e 0 x # l "' 2 t:: D H (M %&S ^ Ih 2m Tt I|  ` " Y C  U "  H   @   @ @ 6T {  I   7& "- w8 ݟD O X C^ Be ?o &s l} ! b ז E w U P E@ & T ' X C4   A "  fB r  %` A T    p " bj) L. 2 5 = E 2I zR U ` e Mm 8s y rP R D  A B : @ ҵ / @ 2$ M K # u    w % % / 4 7 s? WK ;P [ ^ jc e ġk )n *s $w @z # "h     d IH  # 0 )  T      "`  "  @  F     . L   & " & ("* / {: D 5!J Q Z ` Ubg np v n  0 H /͢ } X N L .z V I  $S : $ BcSX t#$*;37`;XAHCEhJNS,[`hwprDv8yJ@(QD`sH@  @aѾ!Ft2;л"i@C TPA % (@0@ !@" #&014D:A$GNPSYa`Bemw D{x&^Ò @JBʩ B"h dUy @HPP]Ѐ  M!!&`).H2֦;;D?sO'XtI_ gm+szu.9ы 0PPiIJ@d׉ S+E n1p)  zH2 ֵ*21_:P? E|JLrQY]Bd"i1mos"u@wx\}C3nK*&ت)MhD @ч[!a1@iX2Jq] U#W-,@/J6! 90??ILP &UbDZP^b@dgi lll8qr{4Dr5 @@@.74:BGHBMTQVZa"Tf0jcBp u{8~꩘L<H7_p~_5D_EFA@ ;b$)9.H2 5O<<4AXFw0NU^Kinqt}rcٷ{ zɂ9 `B  Y7$+P1#6#<ZE1IN1R@SY :_je[loqx&}Ki?@BNŵ) BDX<(0sb C'U$.B*0S589@=QxD,)JMR($VA Z^!DbBdfhjlo10tw>[6)D(fB4<S " Q@JGTh@@@ +:JYhx  $y(2 :X /  #"&(14@9U?CPGJL@MMMMMMMMMMVft߂ CbA;to#G`Y ,a0 *N{O 8Ʃa#%B' *,H5d;>EQ:W \ b0elnnnnnnnnnno@pp@qqrrrrrrr@sssttuuuuv@wwwwww@xxxyy ~%2@NOTTTTTTT[jyD~;1`Ir$BHP$CLJ'X (    >h"0=DD@E.NPP QR@SSS0U`kv ' B i7k=*t&++,o9ES][?e j n r@six}Zhj+t&p+Mk?DHGSN>OPPlll]nnnoea^HXS|_b}dZrtUU@VV]rYY^Z~~~qEbJb|ys+ttttggjqk_6rR8kИU wڔZ`$@P]`\{D~E6b\xF+A&u&N)PPRԉWUǔϔӔԔ3 '=CntҜۜpzdfxy{~eRlDmngnoo`^WU`\ ^]]]YZepQuqijhffsf%lRvwv-{P|ueSyO!O;OOPP SQQ WWWW]XZXqXX0\ _ __r\\_h___ZeZZZsss7ttTtglhhirgfRÉ͉'dwdl?Tk֘zpp qSalmnnoo=yNyxYxxxyz^zuzvv{0|]||xу!ST 2222222222223333333333333333333333333333333X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p370^BXX>l)mn4Ƅ+-+1+++/+3+5+6+7+8+?+"+;+<+$+#+!+e/!/"/#/$/%/&/'/(/)/*/+/,/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/-/.///0/1/2/3/4/5/6/7/8/9/:/;//?/@/A/B/C/D/E/F/G/H/I/J/K/!zv,#z|/8z",.z,z#.$.-z%.#,/z1z0z&.>z2z3z6z$,5z4z7zy,(.'.%,z,+z)z*z+.9z*..A,?.9{7{@.8{:{;{g-A.<{={>{Y~?{3{2{a-_z5.4{9.nzozqzpzrz:.sztzuz.|vzxzwzp/zzc-d-yz<,{z|z}z!{~z"{#{e-b-jzkzlzmz/,*{[-+{4,6.7.8.5{=.2|<.;.%{e|Z-h|f|g|i|j|Z..,G,d|H,H|G|I|5,K|J|L|M|o/N|F|O|Q|P|Q.R.6,R|6|7|i-c|N-'{~-9|:|p-;|<|>|=|M.?|r-A|@|q-S|T|"zc{O,e{H.d{f{g{j{k{h{l{I.o{i{p{m{o-q{y~t{v{y{r{w{J.n{u{s{m-x{"||{#|~{!|{{}{R}Z|$|z{%|&|'|)|K.(|n-*|+|,|P,Z,U.1|R,;zS.s-j/k|l|o|m|[.T-',n|p|r|),q|(,u|w|k/y|t|v|U-s|x|z|~|{|!}}|||\."}V-$}*,W-%}].'}(}#}&}+,^.*})},}l/-},,8|+}.}0}/}X-_.`.-,1}2}Y-5}4}3}6}W.[|j-\|b|X.]|^|_|Y.t/Q,`|F,l-a|({){7,D|E|s/W,=,-|L.z~/|0|B.G{H{J,I{K{L{J{M{P{C.D.N{T{U{O{S{R{F.Q{K,W{V{E.Y{X{G.\{Z{[{]{L,`{^{_{M,a{N,4|5|W}u,$zk-P}w/Q}k}j.x/l}m}n}t-l.Z}[}T}U}v-V}J}_,K}L}M}u-N}O}u}@}?}c.B}A}C}d.D}E}e.F}f.G}g.H}a.7}8}9}b.:};}I,<}=}>}".X}h.Y}i.p}q}r}s}t}o}k.%~&~i,'~z-(~)~+~n.-~*~,~.~o.{-p.{/r.3,l,T~U~B,V~W~C,r/D,X~q/w.$~S}6~v.j,S~k,v}#~3|x,T.Y,U|V|v/u//~s.7~9~8~;~<~:~@~?~>~=~B~A~t.E~C~D~F~G~2,`-_-J~H~K~n/I~u.L~m/M~O~N~Q~R~'z{}|}h,}}x-X,~}!~"~y-${0~\,1~],2~3~4~^,5~z/O.P.|,q~.{I}w,r~s~t~u~v~w~\~^~]~p~,.B|N.C|U,Z~_~x.`~a~n,m,b~y.p,o,|-S,T,n~\-c~d~f/e~g~f~h~o~i~k~&,j~P-l~m~~/}~~~!-"-~,#-$-%-`,&-|.(-)-*-'-+-,-a,b,--.-}-,{-{/{0{0,1{g/P~x~z.>-q,?-@-B-A-b{w}x}m.w-y}z}W|[,X|V.Y|C-D-E-F-G-H-I-J->,K-@{A{B{C{D{h-E{E,F{L-M-y/V,r,/-0-1-2-3-4-5-6-q.7-8-9-:-;-<-=-c,\}]}^}_}d,`}e,a}b}c}d}e}f,g,f}g}h}i}j}O-Q-&z{.R-s,t,{~|~@+&7    !U ,,,,,,,,,4DEEEEEEEUdee@ffgggg hhh@jjjjjl m oHqqqstttuvvvw`yy@z{||||}} A  @ @ @  ij@ R0l$ @ @@ @ @@`@  @1@  @           p@    !!!!" ##############`&&(()***++,,,-@.///////01111@22355555 7777777 88888889::; <>>??? ACCC DD@EHIhLLLLLLLLLNNO PPQRRTTTUU@VVVXXXYY\\\\]`a dg ii lm noqttu@vvPx y{ |@}~@@0    @ H!2 0@A  @@  0A0@ @0a@DA$@ @    B @  @!!!! "@%&'())))))@++(---@..0@1133466 7788@99:;;<<< >DBCCEEFHIIII@JJ@KKKL@MMM @OOPARRTTTTTTTDVWWXYZZZZZ[]_ `abb ddddd@fffff ggggghhhhhh@ill@mopq@sss ttt uuvvvwyzzzzz{{{{{{{{{{||@}}}~@@ 0 @PD @ @@ @ @a@@@     @@B@ @0           @AH$ !!"&&&&&&&&&P(K, P0000000000000001b508@9999999; <@=@>>>>>>>>>>>>>>>>>>>>A#GGHJL t&NNN@QS U]"\'abcdddddeefghhiiiikkkkk&NNNNNNNN N!N#N&N)N.N/N1N3N5N7NO?O@OAOBODOEOGOHOIOJOKOLOROTOVOaObOfOhOjOkOmOnOqOrOuOwOxOyOzO}OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPP P P PPPPPPPPPPP P"P#P$P'P+P/P0P1P2P3P4P5P6P7P8P9P;P=P?P@PAPBPDPEPFPIPJPKPMPPPQPRPSPTPVPWPXPYP[P]P^P_P`PaPbPcPdPfPgPhPiPjPkPmPnPoPpPqPrPsPtPuPxPyPzP|P}PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQ Q Q Q QQQQQQQQQQQQQQQQQQ Q"Q#Q$Q%Q&Q'Q(Q)Q*Q+Q,Q-Q.Q/Q0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q:Q;QQBQGQJQLQNQOQPQRQSQWQXQYQ[Q]Q^Q_Q`QaQcQdQfQgQiQjQoQrQzQ~QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRR R R RRRRRRRRR!R"R#R%R&R'R*R,R/R1R2R4R5RRDRERFRGRHRIRKRNRORRRSRURWRXRYRZR[R]R_R`RbRcRdRfRhRkRlRmRnRpRqRsRtRuRvRwRxRyRzR{R|R~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSS S S S SSSSSSSSSSS"S$S%S'S(S)S+S,S-S/S0S1S2S3S4S5S6S7S8SV@VAVBVCVDVEVFVGVHVIVJVKVOVPVQVRVSVUVVVZV[V]V^V_V`VaVcVeVfVgVmVnVoVpVrVsVtVuVwVxVyVzV}V~VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWW W W WWWWWWWWWWWWWWWWW W!W"W$W%W&W'W+W1W2W4W5W6W7W8WX?X@XAXBXCXEXFXGXHXIXJXKXNXOXPXRXSXUXVXWXYXZX[X\X]X_X`XaXbXcXdXfXgXhXiXjXmXnXoXpXqXrXsXtXuXvXwXxXyXzX{X|X}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYY Y Y Y YYYYYYYYYYY Y!Y"Y#Y&Y(Y,Y0Y2Y3Y5Y6Y;Y=Y>Y?Y@YCYEYFYJYLYMYPYRYSYYY[Y\Y]Y^Y_YaYcYdYfYgYhYiYjYkYlYmYnYoYpYqYrYuYwYzY{Y|Y~YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZ Z Z ZZZZZZZZZZZZZZ!Z"Z$Z&Z'Z(Z*Z+Z,Z-Z.Z/Z0Z3Z5Z7Z8Z9Z:Z;Z=Z>Z?ZAZBZCZDZEZGZHZKZLZMZNZOZPZQZRZSZTZVZWZXZYZ[Z\Z]Z^Z_Z`ZaZcZdZeZfZhZiZkZlZmZnZoZpZqZrZsZxZyZ{Z|Z}Z~ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[ [ [ [ [[[[[[[[[[[[[[[[[ [!["[#[$[%[&['[([)[*[+[,[-[.[/[0[1[3[5[6[8[9[:[;[<[=[>[?[A[B[C[D[E[F[G[H[I[J[K[L[M[N[O[R[V[^[`[a[g[h[k[m[n[o[r[t[v[w[x[y[{[|[~[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\ \ \ \\\\\\\\\\ \!\#\&\(\)\*\+\-\.\/\0\2\3\5\6\7\C\D\F\G\L\M\R\S\T\V\W\X\Z\[\\\]\_\b\d\g\h\i\j\k\l\m\p\r\s\t\u\v\w\x\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]] ] ] ] ] ]]]]]]]]]]]]]] ]!]"]#]%](]*]+],]/]0]1]2]3]5]6]7]8]9]:];]<]?]@]A]B]C]D]E]F]H]I]M]N]O]P]Q]R]S]T]U]V]W]Y]Z]\]^]_]`]a]b]c]d]e]f]g]h]j]m]n]p]q]r]s]u]v]w]x]y]z]{]|]}]~]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^ ^ ^ ^ ^^^^^^^ ^!^"^#^$^%^(^)^*^+^,^/^0^2^3^4^5^6^9^:^>^?^@^A^C^F^G^H^I^J^K^M^N^O^P^Q^R^S^V^W^X^Y^Z^\^]^_^`^c^d^e^f^g^h^i^j^k^l^m^n^o^p^q^u^w^y^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^___ _ _ ___________!_"_#_$_(_+_,_._0_2_3_4_5_6_7_8_;_=_>_?_A_B_C_D_E_F_G_H_I_J_K_L_M_N_O_Q_T_Y_Z_[_\_^___`_c_e_g_h_k_n_o_r_t_u_v_x_z_}_~________________________________________________________________________`` ` ` `````````"`#`$`,`-`.`0`1`2`3`4`6`7`8`9`:`=`>`@`D`E`F`G`H`I`J`L`N`O`Q`S`T`V`W`X`[`\`^`_```a`e`f`n`q`r`t`u`w`~````````````````````````````````````````````````````````````````````````````aaaaa a a aaaaaaaaaaaaaa!a"a%a(a)a*a,a-a.a/a0a1a2a3a4a5a6a7a8a9a:a;aa@aAaBaCaDaEaFaGaIaKaMaOaPaRaSaTaVaWaXaYaZa[a\a^a_a`aaacadaeafaiajakalamanaoaqarasatavaxayaza{a|a}a~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbb bbbbbbb b#b&b'b(b)b+b-b/b0b1b2b5b6b8b9b:b;bc?c@cAcDcGcHcJcQcRcScTcVcWcXcYcZc[c\c]c`cdcecfchcjckclcocpcrcsctcucxcyc|c}c~ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddd d d dddddddddddd"d#d$d%d'd(d)d+d.d/d0d1d2d3d5d6d7d8d9d;dd@dBdCdIdKdLdMdNdOdPdQdSdUdVdWdYdZd[d\d]d_d`dadbdcdddedfdhdjdkdldndodpdqdrdsdtdudvdwd{d|d}d~ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeee e e e eeeeeeeeeeeeeeeee e!e"e#e$e&e'e(e)e*e,e-e0e1e2e3e7e:eg?gAgDgEgGgJgKgMgRgTgUgWgXgYgZg[g]gbgcgdgfgggkglgngqgtgvgxgygzg{g}gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhh hhhhhhhhhhhh h"h#h$h%h&h'h(h+h,h-h.h/h0h1h4h5h6h:h;h?hGhKhMhOhRhVhWhXhYhZh[h\h]h^h_hjhlhmhnhohphqhrhshuhxhyhzh{h|h}h~hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiii i i iiiiiiiiiiiiiii!i"i#i%i&i'i(i)i*i+i,i.i/i1i2i3i5i6i7i8i:i;ii@iAiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiUiViXiYi[i\i_iaibidieigihiiijilimioipirisitiuivizi{i}i~iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjj j j j jjjjjjjjjjjjjjjj j"j#j$j%j&j'j)j+j,j-j.j0j2j3j4j6j7j8j9j:j;jl?lClDlElHlKlLlMlNlOlQlRlSlVlXlYlZlblclelflglklllmlnlolqlslulwlxlzl{l|lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmm m m mmmmmmmmmmmm m!m"m#m$m&m(m)m,m-m/m0m4m6m7m8m:m?m@mBmDmImLmPmUmVmWmXm[m]m_mambmdmemgmhmkmlmmmpmqmrmsmumvmymzm{m}m~mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnn n nnnnnnnnnnn"n&n'n(n*n,n.n0n1n3n5n6n7n9n;nn?n@nAnBnEnFnGnHnInJnKnLnOnPnQnRnUnWnYnZn\n]n^n`nanbncndnenfngnhninjnlnmnonpnqnrnsntnunvnwnxnynzn{n|n}nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooo o o o ooooooooooooooo!o"o#o%o&o'o(o,o.o0o2o4o5o7o8o9o:o;op?p@pApBpCpDpEpFpGpHpIpJpKpMpNpPpQpRpSpTpUpVpWpXpYpZp[p\p]p_p`papbpcpdpepfpgphpipjpnpqprpsptpwpypzp{p}ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqq q q qqqqqqqqqqqq q!q"q#q$q%q'q(q)q*q+q,q-q.q2q3q4q5q7q8q9q:q;qq?q@qAqBqCqDqFqGqHqIqKqMqOqPqQqRqSqTqUqVqWqXqYqZq[q]q_q`qaqbqcqeqiqjqkqlqmqoqpqqqtquqvqwqyq{q|q~qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrr r r r r rrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r)r+r-r.r/r2r3r4r:rr@rArBrCrDrErFrIrJrKrNrOrPrQrSrTrUrWrXrZr\r^r`rcrdrerhrjrkrlrmrprqrsrtrvrwrxr{r|r}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr  % 5 ! !!!!!""#"R"f"g""P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%%%%%%%%%%%%%%%%%%%%%%%%% &"000!0"0#0$0%0&0'0(0)02333333333330!!12 00000000IJKLMNOPQRTUVWYZ[\]^_`abcdefhijk0rrrrrrrrrrrrrrrrrsssssss s s s ssssssssss s#s$s&s's(s-s/s0s2s3s5s6s:s;st?t@tBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtStTtVtXt]t`tatbtctdtetftgthtitjtktltntotqtrtstttutxtytzt{t|t}tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuu u u u uuuuuuuuuuu u!u"u#u$u&u'u*u.u4u6u9uw?wBwDwEwFwHwIwJwKwLwMwNwOwRwSwTwUwVwWwXwYw\w]w^w_w`wdwgwiwjwmwnwowpwqwrwswtwuwvwwwxwzw{w|wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxx x xxxxxxxxx x!x"x$x(x*x+x.x/x1x2x3x5x6x=x?xAxBxCxDxFxHxIxJxKxMxOxQxSxTxXxYxZx[x\x^x_x`xaxbxcxdxexfxgxhxixoxpxqxrxsxtxuxvxxxyxzx{x}x~xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyy y y y y yyyyyyyyyyyyyyyyy y!y"y#y%y&y'y(y)y*y+y,y-y.y/y0y1y2y3y5y6y7y8y9y=y?yByCyDyEyGyJyKyLyMyNyOyPyQyRyTyUyXyYyaycydyfyiyjykylynypyqyrysytyuyvyyy{y|y}y~yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzz z z zzzzzzzzzzzzzz!z"z$z%z&z'z(z)z*z+z,z-z.z/z0z1z2z4z5z6z8z:z>z@zAzBzCzDzEzGzHzIzJzKzLzMzNzOzPzRzSzTzUzVzXzYzZz[z\z]z^z_z`zazbzczdzezfzgzhzizjzkzlzmznzozqzrzszuz{z|z}z~zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{ { { {{{{{{{{{{{{!{"{#{'{){-{/{0{2{4{5{6{7{9{;{={?{@{A{B{C{D{F{H{J{M{N{S{U{W{Y{\{^{_{a{c{d{e{f{g{h{i{j{k{l{m{o{p{s{t{v{x{z{|{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|||||||| | | |||||||||||||||| |!|"|#|$|%|(|)|+|,|-|.|/|0|1|2|3|4|5|6|7|9|:|;|<|=|>|B|C|D|E|F|G|H|I|J|K|L|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|[|\|]|^|_|`|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|u|v|w|x|y|z|~||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}}}}}}}} } } } }}}}}}}}}}}}}}}}}}}!}#}$}%}&}(})}*},}-}.}0}1}2}3}4}5}6}7}8}9}:};}<}=}>}?}@}A}B}C}D}E}F}G}H}I}J}K}L}M}N}O}P}Q}R}S}T}U}V}W}X}Y}Z}[}\}]}^}_}`}a}b}c}d}e}f}g}h}i}j}k}l}m}o}p}q}r}s}t}u}v}x}y}z}{}|}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~ ~ ~ ~ ~ ~~~~~~~~~~~~~~~~~~~ ~!~"~#~$~%~&~'~(~)~*~+~,~-~.~/~0~1~2~3~4~5~6~7~8~9~:~<~=~>~?~@~B~C~D~E~F~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~Z~[~\~]~^~_~`~a~b~c~d~e~f~g~h~i~j~k~l~m~n~o~p~q~r~s~t~u~v~w~x~y~z~{~|~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79;<=>?@ACFGHIJKLMNORSVY[\]^`cdefgklmopsuvwxz{|} !#$+,-./0249:<>@ADEGHINOPQSUVWY[\]^_`abcdefghklmnoprstuvwxyz{|}~ŀǀȀɀʀˀπЀрҀӀԀՀ؀߀  !"#$%&'()*+-.034579:;<=?@ABCDEGIMNORVWX[\]^_abcdfhjklorsuvwxāŁǁȁɁˁ́΁ρЁсҁӁԁՁցׁ؁فځہ܁݁ށ߁  $%&').2:<=?@ABCEFHJLMNPQRSTUVWY[\]^`abcdefgijklmquvwx{|‚ÂłƂɂЂւقڂ݂  !"#$%&)*.027;=>?ABDEHJKLMNSUVWXY]bpqrstuvyz~ƒÃăƃȃɃ˃̓΃Ѓу҃ӃՃ׃كڃۃރ  !"#)*+,-./02345679:;>?@ABCDEGHIJKLMNOPRSTUVX]^_`bdefghjnoprtwy{|}~„ÄńƄDŽȄ˄̄΄τ҄ԄՄׄ؄لڄۄ܄ބ  "#$%&'()*-./0123456>?@ABDEFGKLMNOPQRSTUWXZ[\]_`abcefgijklmnopqsuvwx|}…ÅąŅƅDžȅʅ˅̅ͅ΅х҅ԅօׅ؅مڅۅ݅ޅ߅  !"#$%&(*+,-./012345679:;=>?@ABCDEFGHIJKLRSUVWXY[\]_`acdefghijmoprstuvwx†ÆņȆ̆͆҆ӆՆֆ׆چ܆݆  $&'(*+,-/0235689:<=@ABCDEFJKMOPQRTUVXZ[\]^_abfghijklmoqrsuwxyz‡ÇćŇLJȇɇ͇̇·χЇԇՇևׇ؇هڇ܇݇އ߇  #$%&'()*+,-./01345678:;=>?ABCFGHIJKNOPQRSUVXZ[\]^_`fgjmoqstuvxyz{|ÈĈLjȈʈˈ͈̈ψЈшӈֈ׈ڈۈ܈݈ވ  "#$&'(),-./1235789:;<=>?@BCEFGHIJKLMNOPQRSTUVWXYZ[\]`abcdeghijklmnopqrstuvwxyz|}~É͉ӉԉՉ׉؉ىۉ݉߉  !"#$%&'()*+,-./0123456789:;<=?@ABCDEFGIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxz{|}~ŠÊĊŊƊNJȊɊʊˊ̊͊ΊϊЊъҊӊԊՊ֊׊؊يڊۊ܊݊ފߊ  !"#$%'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeghijkmnopqrstuvwxyz{|}~NjЋ 89:;<=>?@BCDEHJKMNOPQRSTVWXY[\]^_`cdefghilmnopqrtuvw{|}~ŒÌČŌƌnjȌɌʌˌ̌͌ΌόЌьҌӌԌՌ֌׌،ٌڌی܌݌ތߌ  QRW_ehijlnoqrxyz{|}~ōǍȍɍʍ͍ЍҍӍԍՍ؍ٍ܍  !$%&'(+-0234678;<>?CEFLMNOPSTUVWXZ[\]^_`abcdeghjknqsuwxyz{}~ŽÎĎŎƎǎȎɎʎˎ͎̎ώЎюҎӎԎՎ֎׎؎َڎێ܎ݎގߎ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdejÏƏɏʏˏ̏͏Ϗҏ֏׏ڏ #$%'()*+,0123479:=?@CEFHIJKLNTUVYZ\]^_`adfgijklopqrsvwxyz{|~ÐƐȐɐː̐͐ҐԐՐ֐ِؐڐސߐ  !$%&'()*+,-.02345678:;<=>?@ABDEGHQSTUVXY[\_`fghkmsz{|‘ÑđőƑȑˑБґӑԑՑ֑בّؑڑۑݑޑߑ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsuvwxyz{|}~’ÒĒŒƒǒɒʒ˒̒͒ΒϒВђҒӒԒՒ֒גْؒڒےܒݒޒߒ  !"#$%&'()*+,-./0123456789:;<=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghiklmnopqrstuvwxyz{|}~“ÓēœƓǓȓɓ˓͓̓ΓϓГѓғӓԓՓדؓٓړۓܓݓޓߓ  !"#$%&'()*+,-./0123456789:;<=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijlmnopqrstuvwxyz{|}~ǔϔӔԔڔ '3=CHKUZ`ntuwxyz{|}~•ÕĕŕƕǕȕɕʕ˕͕̕ΕϕЕѕҕӕԕՕ֕וٕؕڕەܕݕޕߕ #$%&'()+,-/0789:>ACJNOQRSVWXYZ\]^`cefkmnopqsxyz{|}~–ÖȖʖ˖ЖіӖԖ֖זٖؖږۖܖݖޖߖ  !"#$%&'()+,./134567:;<=?@ABCDEFGHIJKLMNOPQTUWXZ\]_cdfghjklmnopqruwxyz{}~—×ėŗƗǗȗɗʗ˗̗͗ΗϗЗїҗӗԗ՗֗חؗٗڗۗܗݗޗߗ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst˜ØĘŘƘǘȘɘʘ˘̘͘ϘИԘ֘טۘܘݘ  !"#$%&'()*+,-/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSVWXYZ[\]^_`abdfsxy{~™ÙęřƙǙșəʙ˙̙͙ΙϙЙљҙәԙՙ֙יؙٙڙۙܙݙޙߙ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkrÚĚƚǚȚɚʚ͚ΚϚКҚԚ՚֚ךٚښۚܚݚޚ  !"$%&'()*+,-.013456789:=>?@FJKLNPRSUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~›ÛěśƛǛțɛʛ˛̛͛ΛϛЛћқӛԛ՛֛כ؛ٛڛۛܛݛޛߛ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}~œȜɜќҜڜۜ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÝĝŝƝǝȝɝʝ˝̝͝ΝϝНѝҝӝԝ՝֝ם؝ٝڝ۝ܝݝޝߝ $'.04;<@MPRSTVY]_`abenortuvwxyz{|}žÞŞƞǞȞʞ˞̞ОҞӞ՞֞מٞڞޞ !#$%&'()*+-.01234568: ! ) {6 &@ O [ h {u ^ ߞ     r ɫ g t  7% -. : r@ H EQ V "`Z  _ %f yp y r ً  ? q = z( R f  ^ g[$ -9FSK_it^~ڟz74lj te!MU)5'<;I N.k=߾b- NWB%0,7/@XHR/Pm[^cSRjtm_^ 5ߪs/w;^'4>ݗIVc]n}o}*ܦֽmw_ ~z$ݟ0o>JXer|`{7*3@!FQ_GjWt|sݔ_p)8޴8Nlu2 m{$_/х6;C9LoX۬bj$0n~zuߋ,۴Uv?}n[{)#yw.E;6>L}XeQnz?׆}?$1@No\kGw.޹͔uħt/D߫/(3{@|LYft^߻TU9=9SO.%.z9 A`GS[١cmZtdq~?/_hDP&|w)Y#'*/C6?#GmQ[^tdk.sw+(v?my\!t-9AMΏWdZmWw߆Sͮ)Jͽn^ubU%1?kKYgv7Z^{~'U o&wE/>}L\.xdmNt~=_Yr͵_eYN9%2=>IT}`glz?~ߢY˻]m ~%4DzwO_o  + ; K Z }h x w @  @    @ Lz !m!L!ݫ(!~4!>!I!P! W!_!Vf!o!{!!!&!B!!i !!?!M@!!!!o!!" "^""z%"0"<"I"R"b"wm"x"π"'"B""ou"z">"""yL""d"m"A&"w"m","M#F##6}"##)#*#5#A#K#V# Z#\kc#Nm#x#܂##Ε##ά##}###{###X$$_$&$o3$B$u{M$Z$c$o$|$$뱔$O$$:$~$}$$$w$ %%&%4%A%L%X%`%i%u%gh}%%.1%4%%༪%rز%S%ѽ%m7%%w%ƿ%%&w&F&(&4&@&޻L&Z&h&t&&&Ϛ&o&&z&&&&}&&|&' ''%'1'>'L'?Z'i'ww''''' ''w''~''((&(6(F(U(c(r((((((((()) )0)>)N)^)n)o)q)r)s)t)t)u)@v)v)~)=)))))))))**(*8*E*F*F*F*J* Q*[*f*s****'*=*b*WЫ*i**)**h**M*o*] ++g$+2+A+Q+a+q+++++++?+++ +++I++,v,Q,(,!,+,i_5,p>,ӞH,_T,_,Uh,+p,u,M;~,tLJ,9V,,,,,,,z,),,_,- -- "-0-@-P-`-p---------- ..,.<.L.\.l.|......... //'/7/G/W/g/w///////B/////@///// / / /@/// 00*0:0J0S0T0U0IY0e0Gk0 p0w{0i0 0V0n000 00x070,00111(131?1L1X1Wc1q111?1111111222H2$!2*2:2I28P2^2n2}222222W2K2 R2222 33,3<3L3\3l3|33333b303@3<33~3W33~3 44&4A\,4:4J4Z4j4z444444444 55*5:5J5oX5_5#e5h5k5p5 t55555555566#636C6S6c6s66666@66 6]6'6?6{6_6677F7Zy#7/7<7vH7oT7_7n7|7777q7>7777777777 7777777777777777777777777777777777777777t&569:?@=>ABCD;<78134QDHa&0 0000& % PQRTUVW1 2  56[]78009:00;< 0 0=>0 0?@ 0 0AB00CDYZ[\]^    002 5  ; 0%%%%%&&%%%%%%2!> ?IJMNKL_`a "f"g"`""R"a"bcdfe<")"*"" """33+"."5"4"@&B&A& &!!!!!!!! \<"h0 ! !ijk333333333YQ[Q^Q]QaQcQUt|%%%%%%%%%%%%%%%<%4%,%$%%%%%% %%%%m%n%p%o%P%^%j%a%%%%%q%r%s%`!a!b!c!d!e!f!g!h!i!!0"0#0$0%0&0'0(0)0DS!"#$%&'()*+,-./0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ1111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1`$a$b$c$d$e$f$g$h$i$t$u$v$w$x$y$z${$|$}$p!q!r!s!t!u!v!w!x!y!$$$$$$$$$ $ $ $ $ $$$$$$$$$$$$$$$$$$$!$NYNNNCN]NNNN?QeQkQQRRRSAS\SS N NN N+N8NQENHN_N^NNN@QRRCSSSWXY'YsYP[Q[S[[\"\8\q\]]]]]]r^^ __MbNN N-N0N9NKN9\NNNNNNNNNNNNNNNCQAQgQmQnQlQQQRRRRRRS9SHSGSES^SSSSSX)Y+Y*Y-YT[\$\:\o\]{^^___b6bKbNb/eeeeeefg(g kbkykkkkl4lkp*r6r;rGrYr[rrsNNNNN;NMNONNNNNNNNNNNNNEQDQQQQQQQ RRRSSSSNJSISaS`SoSnSSSSSSSSSSSSSSSSSSSSSVVY.Y1YtYvYU[[<\]]]^^s^|^____ bSbTbRbQbee.g,g*g+g-gckkll8lAl@l>lrssttuu(u)u0u1u2u3uu}vvvvwww:yytzzNNRNSNiNNNNNN OO OO OOOONNNNNNO OIQGQFQHQhQqQQQRRRRRRS!S SpSqS TT T TTT TTT TTTTTTVVV3W0W(W-W,W/W)WYY7Y8YYxYY}YyYYYW[X[[[[[[\y\]^v^t^____b b bbcb[bXb6eeeeeff g=g4g1g5g!kdk{kl]lWlYl_l`lPlUlal[lMlNlpp_r]r~vzs||6 3 nr~k@Lc!2NNMOOOGOWO^O4O[OUO0OPOQO=O:O8OCOTOT&TNT'TFTCT3THTBTT)TJT9T;T8T.T5T6T TWPWOW;WX>YYYYYYYYYYYYY][\[Z[[[[[[,\@\A\?\>\\\\\] ^^^^^__d_b_w_y_________bbbbbbvbbmbb|b~bybsbbobbnbbbbb9e;e8eef_gNgOgPgQg\gVg^gIgFg`gSgWgekkBl^llllllljlzllpllhlll}llrl~ltllvlllllvp|p}pxpbrar`rrrs,u+u7u8uvvwyyyvz|Uo҉7FUdpʎƏŏď]IƑ̑2.1*,&NVNsNNNNNNoOOOsOOlOOOOOpOuOOiO{OO~OOOzOTQRQUQiQwQvQxQQQ;R8R7R:R0R.R6RARRRRSTSSSQSfSwSxSySSSSsTuTTxTTT{TwTTTT|TTqTvTTTbThTT}TTVWwWjWiWaWfWdW|WYIYGYHYDYTYYYYYYYYYYYYYYYYY_[d[c[[[[[[[\H\E\F\\\\\\\\^^^^^^x^^^^^^^&_'_)____|______``/`5``*``!`'`)`+``bb?b>b@bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb>eeeeff fffffff ff g gmgggqggsgwggggogpggg~gguggg|gjgrg#kfkgkkllllllllllllllllllllllllllllllllllppppp,r-r8rHrgrirrrrrrsssss=uuuuvvvvww>y@yAyyyzzyzz|T NqRhˎΏԏяǑёw@?;DBR^NNNOOOOOOOOOOOOOOOOOOOOOOWQQQQNRCRJRMRLRKRGRRRRR SWS{SSSTTTTTTTTTTTTTTTTTTTTTTVWWWWWWWWUYQYOYNYPYYYYYYZYYYYZYi[[[[[[\N\O\M\K\\\]^%^^}^^^^_-_e________`` `%``(`M`p`h`b`F`C`l`k`j`d`Abbc cbbcbbcbbbbbbcc?eEeeee%f-f f'f/ff(f1f$ffgggggggggggggggggggggggggjkkkkkkll m2m*mAm%m m1mmm;m=m>m6mml9m'm8m)m.m5mm+mppppppppp0rrrortrrrrsssssssu-uOuLuNuKuuuuuuxvvvvvvvvwvv w wvvwwxx x xFyIyHyGyyyyyyzzzz}|}}} }}}}8 6րڀÀĀ̀ۀ΀ހ݀"ۂ ҂ׂ܂Ԃтނӂ߂Py{zMkԉts͎̎ʐΐÐKJ͑PKLMbi˗ۘߘXNN P P#PO&P%PO)PPPc/cUcBcFcOcIc:cPc=c*c+c(cMcLcHeIeeeeBfIfOfCfRfLfEfAffggg!h8hHhFhSh9hBhTh)hhhLhQh=hgPh@hSSfFUjUfUDU^UaUCUJU1UVUOUUU/UdU8U.U\U,UcU3UAUWUW W WWX XXWWWX5XWW YbY6ZAZIZfZjZ@ZwUUUUUU~UUUU W/X*X4X$X0X1X!XX XXX`YwZZZZZZs[q[[[[[ \ \1\L]P]4]G]]E^=^@^C^~^^^^^<_m____`````a#a`a```ha`a` aaabIbcccccccccccccccvccccRdcc^efebeceeeenfpftfvfoffzf~fwfffgghhhhhihhhhhhhhhh iiihhnih>k:k=kkkkk.l/l,l/n8nTn!n2ngnJn n%n#nn[nXn$nVnnn-n&non4nMn:n,nCnn>nnnnNncnDnrnin_nqq&q0q!q6qnqqLrrr6s%s4s)s:t*t3t"t%t5t6t4t/tt&t(t%u&ukujuuuuuuuu{v|vvvvvOww]xlxox zz zzzzzzzzI{V{F{P{R{T{M{K{O{Q{||^}P}h}U}+}n}r}a}f}b}p}s}U RUTKQN9F>LSt Ń W ̃ʃ8܃ԃ߃[߆نԆۆІކWˆ;`U^a4a'a aa7a!b"bd>dd*d-d=d,dddd d6ddddleeeffffffffgimiZiwi`iTiui0iiJihiki^iSiyii]ici[iGkrkkkkknnnnnnnnnnnnnnnnnnnnnnNqYqiqdqIqgq\qlqfqLqeq^qFqhqVq:rRr7sEs?s>sotZtUt_t^tAt?tYt[t\tvuxuvuvuuuuuuvv[wkwfw^wcwywjwlw\wewhwbwwxxxxxx|xxxxzyyy,yzz zzzzzzw{{`{n{g{|||}y}}}}[}nijrVXqpxenskyzfGw=1ufkIl[<5acimF^\_ Y߈Ԉو܈؈݈ʈՈ҈krsfip|cqmbnly{>hbʌnjȌČ̌Ōߍ捲 KJSBTAljiɑ7W8=@>[KdQ4IME9?Z͖˖ɖʖVtv  霂 PPPPPPPPPPPPbQQRR1SSUVVVUVV V VVUVVVVUWWuX~XXXXyXX}XX%Y"Y$YjYiYZZZZZZZu[[[[[[[[[[ \b\]][^c^U^W^T^^^ _F_p__Ga?aKawabaca_aZaXaua*bdXdTddxd_dzdQdgd4dmd{dreeeefffiiiiiiiiiiiiiiiiiiiIkLk3l3oonon)o>o o,ooo"onno1o8o2o#oo+o/oo*ononnnqq}qqqq>rrrDsPsdtctjtptmtuu'v v v vvvvw}wwawxxxxxxyyy.z1zzzzz{{{u{{{{{{{{|||}}}}}}}}}}}}}}}}}}}p^ZPKɄƄĄ˄ӄфʄ?;"%4U7)jӌьҌk`X\cY^b][uxwtx{|̖Җ| AB󜼞;JQQPPPQQ QQQRRRRRRS.V;V9V2V?V4V)VSVNVWVtV6V/V0VXXXXXXXXmY [Z [Z [[[[[[d\e\]]b^_^a^^^^^^^H_q___vagana]aUaa|apaka~aaaaaaaaaa.bidodyddddddddddddddddddduewexeffff#jjijjji!jj jijjijPkNkkkk?o|ooQofoToomo[oxonoozopodooXonoo`o_oqqqqVrrNsWsittt~ttu v)vv$v&v!v"vvvvwwwwwxxxxxxxx?z~F~7~2~C~+~=~1~E~A~4~9~H~5~?~/~DqrposƁÁɁ q~gч҇Ƈȇˇ;6D8= A?sIKHJD>BE?}9M(uJeK~l[pZTʕ˕̕ȕƕ֖ӗF5;?Ϟޞܞݞ۞>KSVVXX8[^_a3bdddedddef&gjjjjjjjj_kxkk p popoppqqqqwsusttuVvXvRvwwwwyyazbz`zzz+|'|*||#|!||T~U~^~Z~a~R~Y~Hwv́ρ υͅЅɅ(9,+PYcfd_UIMБԕ֕ЕՕܖٖۖޖ$MOLNS>?=.ONMʛɛțQ]`,3QVVXXX[^aaaaeeffjjjjpp(pppppr rXrrxszstttuu_vavwyykziz>|?|8|=|7|@|k~m~y~i~j~s~؁݅Յ `_V^A\XIZNOFY |rvlztTNѓߓÓȓܓݓ͓֓ؓדܕ*'aܗ^X[EI ֛ۛarjlRVVVVX@[C[}[[]aaeeef'gj>p0p2pr{stbvev&y*y,y+yzzL|C|M|||}~|~~Lځf  dplfo_k ˑ0ĘRQ+075 y/_ca7Q8QVVVYl\]aaeeefjkjkLprrttivwP|~~-#"!jltw}_.35:82+892geWEC@>ϚTQ-%\fg×kUUMҚI1>;ӝם4ljV]b#e+e*efktzd|c|e|~~~8?1c`dho\Z[WӚԚњTWV坟VX,e^pqvrvwP69bwjBHDƗp_"X_|}wr^kcpl|n|;rpq^֚#̞dpwwɗbe~ő}~|wxT(rj1r|&'BN\NQSSN NGNNVn\s_NQN.NNNNNQRlSS WY,Y\]ekkl?r1Ng9g8g;g:g?gOgORO_OAOXO-O3O?OaOQQRR!RRR ScSrSSS0T7T*TTTETTT%TT=TOTAT(T$TGTVVVAWEWLWIWKWRWY@YYYYYYYYYYY[[(\*\\\\\\\\\\\] ^^^^^^^__x_v_______________`_:bbbbbbbqb{bzbpbbbwb}brbtbeeeeeEgGgYgUgLgHg]gMgZgKgkllxlglkllllqlolillmllllflslel{lltpzpcrrrrrrrrsssss:u9uuuv=y4xɏ0(/-3NO|OO}OOOvOtOOOwOLOOjOOyOOxOOOOOOOOkOnOQQQ5R2R3RFR1RR S SuuuvvvvvwwwwwwBy?yyxz{zzu||5 ‚ÂpomnVҏˏӏ͏֏Տ׏9=<:COOOOOOOOOOOOOOOOOOODRIRRR=S|SSSSSTTTTTT TTTTTTTpTTTTrTTTWWWWWWWWWWWWWWWX YSYYYYZYYYYYYYYYYYYYYYYY[L\\\\\\\\\\\\\\\\\\\\\]!^"^#^ ^$^^^^^^^_._V__7`9`T`r`^`E`S`G`I`[`L`@`B`_`$`D`X`f`n`BbCbb c cbccbbc cbbcccbcbbAeCeee6f!f2f5ff&f"f3f+f:ff4f9f.fgggggggggggggggggggggggggggggggggggggggggg(kkkkkkk l!l(m4m-mm9/%3-DQ%V?A&"BN*ZMZ9ZLZpZiZGZQZVZBZ\Zr[n[[[Y\] ]]] ] ](] ]&]%]]0]]#]].]>^4^^^^^^6_8____`````````````````````2ceccc}ccccccccocccnccuccmcc|cc;ccxcccccpcSeeefaf[fYf\fbfgyhhhhmhnhhhViohhhhuhthhhwhh|hkhrhhhqh~hhhhhhhxh{hhhh}h6k3k7k8kkkkkk*lmmmmtnmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmp qpqp qpqpqppqqqpp qqq~r{r|rrsssss ssrssssssttsttsss t tstducuuuuuuuuvvv9w/w-w1w2w4w3w=w%w;w5wHxRxIxMxJxLx&xExPxdygyiyjycykyayyyyyyzzz5{;{4{%{0{"{${3{{*{{1{+{-{/{2{8{{#{||||5}=}8}6}:}E},})}A}G}>}?}J};}(}cGCH%-,!'"83:42tzstu}~vYV†ņȆ̆ÆR։ىՉ0',9;\]}}{y؎ގݎ܎׎$  !ԐVXZSUz|mkqoj嘗PPPPPPPPPPhPPPPP_QQSSSSUUUUwUEVUUUUUUUUU}UUUUUUU W)X7XXX'X#X(XWHX%XXX3X?X6X.X9X8X-X,X;XaYZZZzZZZxZZ|ZZZZZ7ZZZZZZZ{Z}ZZZZZZ[[[[[[[ \0\7]C]k]A]K]?]5]Q]N]U]3]:]R]=]1]Y]B]9]I]8]<]2]6]@]E]D^A^X____``````a` aaa`a````aaaa`a aJbccccccccdcccccccadccccccccccccccc2egejede\eheeeeeeeee|flf{ffqfyfjfrfg ihih*ihhhihhhhhiihhihipihihhihhhhh i iihhhhhhhihhi%ih9k;k?k?efQOPԀCJROG=M:<=?u;σ#ƃȃヿ݃؃˃΃փɃ ރƒՃǃуÃă׃ۃ؆ӆچ݆܆׆цHVU׈Ɉ݉ډۉNM9Y@WXDERHQJLO_؍Ӎ͍Ǎ֍܍ύՍٍȍ׍ō-4/,ad_b` %& '${~–ȖÖlpnNNNPPPPPPPPPPPPPPPPPQzRxR{R|RUUUUUUUUUUUUUUUUUUUUUUUWSXhXdXOXMXIXoXUXNX]XYXeX[X=XcXqXXZZZZZZZZZZZZZZZZZZZZ[[[\3\q]c]J]e]r]l]^]h]g]b]]O^N^J^M^K^^^^^^@___`IaJa+aEa6a2a.aFa/aOa)a@a bh#b%b$bcccdd d d$d3dCdddd9d7d"d#d d&d0d(dAd5d/d dd@d%d'd dcd.d!ddoeeeffffffffxf gfi_i8iNibiqi?iEiji9iBiWiYiziHiIi5ili3i=ieihxi4iii@ioiDiviXiAitiLi;iKi7i\iOiQi2iRi/i{iF 2*-<:15B&'8$0눝艫=hiՌό׌   # "$!zrysvzy}~-X}z~{Η͗ٙǙ>?`a_PQ0QPQQPP Q QP QRRRRHVBVLV5VAVJVIVFVXVZV@V3V=V,V>V8V*V:VWXXXXXXXXXXZZZZZ[Z[Z[[[[g\]]]]]]]]]]]]i^]^`^\^}^^^I__aayaaaaaaaaaaaaaafaa-bndpddddddddddddhdddvezeye{eeefffffffjjjiijii jiiijji'jiijii@jjii jii jjj%jji&jjijQkkkkkllklAo&o~oooooooboOooZoovolooUoroRoPoWooo]ooaoko}ogooSooiooocowojo{oqqqqqqqqqqqqqqqqqrrXsRs^s_s`s]s[sasZsYsbsttttt}ttt|tytuu~u%vvvvv#vv(vvvvvvwwwwxxxxxxxxxxxyyyyyyvk9zzzz{{{{{{{{{||||}}}}}}~}}}}}}}vdgOSRPNQ$;)  '+ *(.1& 0 /bVcdwsXT[RaZQ^mjPN_]olzn\eO{ubgiZ   ϊƊӊъԊՊ׊Ŋ؊Êي>Mߌٌڌ݌猠 #%$.&',$ #spogk/+)*2&.ВÒĒْϒߒؒגݒ̒’ʒȒΒ͒ՒɒޒђӒ%ƒ|ӖZЗϗ&)( 'ܙ͙ϙәԙΙəؙ֙˙י̙FCgtqfvuphdlӞQQQQQQ4SSpV`VnVsVfVcVmVrV^VwVWWXXXXXXXX[[[![[[[[([[ [[[]]]]]]]]]]]]]g^h^f^o^^^^^^K___aaaaaaaaaaaaddddddddddd3ee|eeffffffffff#g4jfjIjgj2jhj>j]jmjvj[jQj(jZj;j?jAjjjdjPjOjTjojij`j[qNnuUg`f]Telcedy&0-.'1")#/,݊ߊȊފln3>8@E6<=A0?6.52974vy{356'z8<#F- ˒4$)95* ͕Ԗ 5/2$')癹3|~{z}% )"՞֞=&Q%Q"Q$Q Q)QRVVVVVV~VVVVXXXX-[%[2[#[,['[&[/[.[{[[[]l^j^_aaaaaaaaaddddddeeeefjjjjjjjjjjjjjjjjjjjjjjj[kk looooooooooooooqqqqqqqssnsostttttttttuuuuuCvHvIvGvvvwwwwwwwwwxxyxxxxyxxyyy\z[zVzXzTzZzzzz||{|{{|{ |{| |||{{|{{| ||-~<~B~3~H8~*~I~@~G~)~L~0~;~6~D~:~E~},ā́ʁŁǁ[Z\{w|zxWyvhŇɇLJ̇ćʇއ53<>AR7B " OprqooNMSPLGC@~8dVG|X\vIPQ`mLjyWUROqw{a^cgNYǕɕÕŕ ՗ԗADJIEC%+,*32/-10H3Ag6./180EBC>7@=-Ȟڞ$#"T1Q-Q.QVVVVVVpY<[i\j\]m^n^aaaaaaaaaadeddeedeefffjjjjjjjjjjj^kk lp p pppppopo&poo prqqrqvsttttttttuu\vdvYvPvSvWvZvvvvww yyy yyyyyy_z|)|| ||-||&|(|"|%|0|\~P~V~c~X~b~_~Q~`~W~S~uсҁЁ_^ƅŅDžą˅΅ȅŅ҅$iۇ߇ԇ܇Ӈ؇ׇه݇SKOLFPQI*'#305G/<>1%7&6.$;=:Bu\b`WV^eg[Za]iTFGHK(:;>ҕӕѕזږ]ߖؖݖ#"%חٗ֗ؗPQRA<:  ܚ)5JLKǛƛÛӛě\SOJ[KYVLWRT_XZߞ%+*)(LU4Q5QRRSVVVVVVXXXY=[>[?[]p^_aee e e eeeeefjjjjjjjjjjjjj`kk lp'p pp+p!p"p#p)pp$pp r rrrrrrrrrttttu`vwwwwyy!yyyyygzhz3|<|9|,|;|||v~u~x~p~w~o~z~r~t~h~KJxׁՁ dacمڅׅ؅߅܅хޅ  bZ[Wa\X]YPHJ@SVTKUQBRWCwv mxsjo{ŽRQOPS@?ޓǓϓ“ړГ̓ٓʓԓՓēΓғ}ڕە)+,(&ݗޗߗ\Y]WHGC%$" '#š  7ޛԛכܛٛ՛ڛwqx}ktupis{oyh-@AMVWX7SVVVXE[]]^^__aeeeeefffjjjjjjjj02.3vtsEdcbU]W^ėŗVY RXPJMKUYLNžО876COqpnoVVN[m\-effk_pap]p`p#rttw8yyyj|~mC875K‘khiFCGǗ^՚Ycgfb^` FtuvV.eekkkkbp&rrww9yi|k||~~~~FGHyz|{nmoqsIr_hnm  Gx{zyWfpo|<Ñtxvu`.tsqu hpep|j>=?ɎKst̘adfg$Hbk'rLihKyuvkzipjp)r~I(6?8i*IFfD% %')z***P+Q+a+b mcb:9F]U[!#* +7.8.41511& ?2n341"P *_med&$#%%2%0%4%u%J''(/2** +R+++9.O.1/3z79878D8E8?AvB\\! "h;<9(Jr+,KO;PDB\ g f   ;"5#6#1#2#$%T6%z%%=L'S+(=(x(Fw()*6qpo*++++.]._.g.W.Pk11073A2363"77X8Q8w8<8Z8|S8o> ? ) >>>>>>` ^ ? W AB BBB CC' FFHLLLLNNNlR[[[[\\\'b&b+b3b4b)b=(MIm orQV/q<49U=vzH x_ y j i m z j w"""!""e##c#g#1n#x##34$K%L%%%%%%%%%%%`'@'''''R((I(J((((((()**w*y*{****)+!+%+U+++0,, 6,+=,,...............111122213 3Hk3333G3K33J33&7'7h7i7Z77788l88888888 <<<< <<<< <  @>  e>f>h>e f >>>d >??? ? ?? BADA;AAA?xAAu EEE+ , E- E. FvHtHHHPYKLLLLLLLLgNN>ONNNNN[[[[[\\\7bAb>bbQcccWy]ZWjEHOR'X}J      "##########;###:896$ %%TR%%%%%% &&%&%%%%j'TU'V(/(<2(((((z((())*D*}~**/+f+\,(N,Q,#,1,|,R,,`,J,a,.//.!///11D1@1B11)22#2,2202;2272823QU33R33R4333cO3߅34443 *7k7R^`_7#989999!99889E9&9D9$9< < <<<< <<<< <.> <>0 m>3 1 >>n >>> ?????? ?@@ @IAPAFAJAY MAAz x { A BB BC D D DD DD EEEE|F }FFF FFFFFFFwH|H{HjS3RQKLLL MLLLc$NNNNNNNNNON ONyvRxRuR}RBTfTUVVX[[[[\\\\\\\ah2.$6.e89V`dYegWcSKMV ! ! !!! A!###?##CBD##E#######!&*&& &"&$&&1&/&&&&&.vC'''((R(S(((((((**0*.*,*/****2++++O,,3~,7t,K,s,u,*V,,,,9,,,,E../R/0/[///1/]/7/5/S/\/?/K1i11P2F2N2@2K2H2`2D2M2474$4b\464`,44V4G4>444"4'4Y4X4U404#4.7+707l7a7777k9s9W9]9V99[999999q9r9\99<<<<<< <<< ' 5 6 z>q >? ?????? ??@   M VAUAXAWA^AA A} A BB*C CC" $ ?C+CC$C! !CCC $D6D XEYE bEEE7 EEEE8 EE FF FF G GGHH{HHH|$I%IbKKKK~KK L@L$&$U:$dt"$Q$c%d%&&&&&&&&&&&&&&&&y&&&&&&~&D'bw (_(^(D)>)H))[)M)W)S)O);)F)-UF*G*SH****+>+;+:++K,H-"- -UQ,,,N,,,k^-,`g- -!-./////////_1`1a11}2k22s22m2i2834y5|4455 5455544{.544544o7Un7h77-89u:: : H: O: B:j:p:9  m: {:~:Y: W: :P: ):v:*:L:*= 5=,=7== 8= 4=+=3='=$= -=2>>>>?$?8?*?,?+? /?(?@ @8@ @@<@?@@@9@@$A4R _ nAmAqAA A BB B/ HCICCC1 3 BCC cDvD _DfDfEqE  vEEuEEFN F FP R FFUG CGWGlGBGSG AGHHHHtIYI`IWIlI~IdIZI]IvIMIuIKK`LNLEM;MHMBMIM@MMAMMMNjOOPOPPPFOPOPPPPOO]RRRRGTFT-,T+TT)TUCVZV5V8VBVIV]VKV=V-5`X^XX~XXlXYYYYYYYYYYZ62PZZZZOZR[+\*\(\)\,\:\0\7\;\ ]] ^ ^^"^^^ ^^a݃b{bbbb`bb b_cocQmc'$%d*tff.{|}~~y#!!!#[l$\\$P$a$j$i$V$`$f$_$#%f%h% & && & t'v'''''g (m)f)d)n)~`)B+Z+n+dl0-:-*-C--1-m=-zu 02080100*0")00%')<0$F0G0(&:00#k1p1m112 2 22F515>5|5C5s5U55M5P5G5g565d5a5}5D7@7q7s77jm771828 & ::3 ::8 :0 ( :' * :l::1 ::::4 . ; ::::) o= H= J=k= O=W=t= E=Q=m=Q>P>N>G A? .?F? '@ H@S@=@ ]@V@ @G@C@X@I@ L@E@>@/ AAb c zAABBB  C ]CdCSCXCDDD zD}D DxD NDDDD~EE   E  U FY [ FW FF FF bGkG ^G yG oGhGHHIIIIIIxIIII[\KKWLcMjMlM]MuM_M}MmMSANOPPPHP*P{PrPdP.P\PSPAPPbPP>PPqPJPUPXPRRSSRXTTTUjVVoVeVxV}VVdV~VgVcXXqXrXYۆ879ZUS[[[C\F\H\E\@\L\ ]]]k]g]]^U^5^!Y^/^<^^\^j^b^_^k^n^;^D^A^aabbbbUcCycVScc dd10ddd2dd).evf=g]ghhhhjk"2Qa!" ""!(""""Q""#$e$cx$$s$$$$w$r$$$%l%&& !&&"&{))))x)R*m**++vyr{-o--<-B-8-3-`-i-}--,.(.8L00W0|04:U0b0q0j0V0;005O0~0d0?@216q1z2222 2555555555555{5555?t77< ::B @ ; ;;4;(;;> D;B;;;:J;== ====~=|== =  > U?S?O?T?l@e@f@a@k@h@v@ `@~t@AB B B BB tCwCvCuCO xCqCT zC[={CDDD DD EE a )Ff *Fd -F,F` 2Fc FFGGG GGGGGHHIIlIIIIIIILAKoKqK^_vtr#L[LaL_LM&%MNtJNLNPP PP PPPPPPPP PPPP6S=S+SGS9SESSATT3T:UTUT@BUVVVVVVVVVV9gX\uXXXYYY ZZZZZ[[[Z\a\_\%]{]v]|]$^^^^^^^&^^^aabbbbbYcEdc\]dddd569e-dezeeeeexe{|~e}effffff&g@g.j^ 3G"-"T"K"R"1"D"V"P"+"M"7"O"$$i$k$$$l$$$h&%&('&&%' '& '''k) ))))))))Z*`b^*+W-\------d-Y-x------/.000000D00<00000N00022222666 65 65"6565*66)655,6$65R7O7S7C;e;u;Q J M V ;S \;=;q;Y ; ;y;;;N Y;t; = == === W>U>>K?z@ @@ @@{@ AP f  CW C^ DDDDDD EEEp AFn 8F:FBFr v >FFGGGGG$%HHHHHHHIIIIJJIIIJIIIIIIxKKKeLjLfLhLkLMMMMMyQPPQ!#QQ3Q4QP%+5QQ"}SqS\TTUUQUUUVVVVVVVVVVVV/^]XvwXX~XYYY*Z(Z ZZZZ"[+['[[[[q\j\]]^^^^^.-^^0^^^^+^^^aaabb ccccc*d"dd<ekeeeeefffkgigrgcg9 ii ihhij"jj+rg"{"_"a"stpvur$$$$$%'''')''*"'y')))*[+-----------1.V00YXUR000W0222223?$3c6B6R6C636l6W6L6n676q6J666S6E6p6\6X7W7X j ;b a ;i l e ;;;f ;;= = = = == =@ @@@ AA< A,B7B6B;B Bb c Cg Cf DD D EE4dSFEFy OF} FFF,7GG0HHJ  'J&JynLM87M!MN^=7@oQLQBQ3\QpQ_Q5ZQKQ?QSSSSS^T_T$UUVVVVVV=;?_XXY;ZCZ2Z1[0[`-[<[[[7]]]]E_ _34^___1_2_,_0___aaabbcc ccgcc6d1d3die=[A[f_x_]_i_t_}_n_r_s_b_H_S___h_8_k_abbbcc" lcchmn@dGdd NKrpefe7efgg4gIggKgggg9iDi5i5j /k """"""|;'01:')M+]+-ha00001e0fj6666666666666X<<;<<< =>@@ [BQBOBBCy CCCC E E EE EEEE ! FMY.HXHсH$HHH]JOJfJ[JGKKK.L߂MCENRWQQUQQVXSSSSTSHUJUNUMUUUU8W2W-W 4W)WtXabYYXZ%ZZJ[[\=]<]]_=_>_____FE_aa&']cccTdUdKd?dd!8e6e@eL;e9eef ffg%gOggggVTMiciNiPiUi^i&jjj8jk'k&k"$$49'5j|''pk() 11 1lm1)*2266666666 <,<%<;>>> @@@@BCCEE E" fFdFjF a]bO`5H4H"lJ!nJqJFMMNbNeNvNQQbQ`dQSSTTSUUU ?WCWLWe YkZhZpZuZwZ?ZK_____H__R_JQ____PLa-./{xwcccccVdWDe&fff!ff g(gg`gfggghfiziniiivi~imijjiwkkk66B'68D'F'~')))*p122+ 6 6 z=< 6< > >>>> > @@@@@ A oFKHDHUH$&'JqW/LzL{L|L_jqQRRloQRh RRRRTThgUeUUiWbWnWaWdWMWQXZZ`T````V_````'``Zb3c14c1ccccdZMe[/ffff*g8gPg* hghggroshghghhgh hkiijjZkd"$I''q&)+1s6667 K >Fn]HXH,JNKx'TWW DXSzyB`M`T`N`kC`gm oB7EEbH^HH{|=R-TUWWWYZAr_`shV`a`[`Z`\`e`5Acndldmdue\fXffOhQhShi9k>T"O'7 rFsF2pnWֆ|]ul`twbEc7cc]e!g,gWg]hahehj *+DyEkH.277%>$>mHBRIR xUUWTXY0Z 86flhoh jskkk;<`+7 lHWZ]xz`safcffvhkg< >JR}UWSXe[{`9dd0gj 1bjj|k% J`j qHcj {hk:Pc;lllllllllllllllllllllllllllllllllllllllfh?l>$e s!q!k!!"" """""Y##$$$G$$%M%&&g'W(w((u)))))e***+++%-P-.`/d//001%F!(233344^4Z4,5)5-6w6z6666 777778c89::::|:L;H;I;;;;.<-<\%>G?H??@;@@@@sBwBBDD=DSDTDXDDDD"EMEEEEEF7GYGG/H2HBHNHhHHHIJIdJ@KlALcLL3%3HNObOO!PPPPPsQQQ7RERrRJSSSS4TPTTTUUWRXX YYYZZ[\l\]+^!^s^^^?_B________"`#`$`g`f`aaa;cMcdBegglIiI0q**-eLDll(!r!!!!"""SL^456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  #%05<@JQY\eZ@AZu)['`>'<_u`(BjR%r s&ss&|v=>twzvxuw;y{{{ ||*)|~~z/.W0և0n00ԇ"!$3`΋ϋ\}3ы}4ʎ44 77 o/ #k9. , \ l92^b g )C T* V)'(Ay~FFҹFYMGGH` #HHHݶ߶iQYlîRÔÑ×08V1\^Y\6\_X__aaaaa_bbc(y <8=H М >  =   >  > _` * ) M1 . 0 2 lY/ g 94Y z#BTU Fzҟtkqvba89:H7> I*:+(*%BCüUVDRV5X[\4c\ fj\e\k\^_;a2aX5a1a>aCa6ambb1+cLidkdfffffff@jAj!jl4m+mY#'$($$$BWppp%p%%ptqxercrssss& t&&ss'?vGvHvv xOy,)zzzzzzzzzzA|H|E|146*||#;|N|:**||6?C14F/Â|{6G.L.!ъ.s0J1?Y^kZ?1aX[0q_*-#+,~ѓa_()f 7 `w! 8 7 t s u v x :8:  M[ ^\  < ~  dg <=Y=ڜ Q U;4# 7>1> ?Y>a XbP Q F - 6 HQJOPIc f` B  #Dw&CUWhEE  ҫ:F>FS|D|?BO|RJ*|Z*I|,~,---̀}OJP.K=R.DI.X/其ш1omin/0c 33r y w4~z 6 8)&* ~; 9 [a`< ::Õ} ͕ z | :~ : : TY  & $ % # ! ) ie | e ߜ` ^. - .>( ) , aZA> g >D?   J > < ; B A C E f rv )B 'B AFCKC~ƧǧΧɧ˧ŧIGXkljiERQSۭ&GG׭(Gޭܭ#Xl[u\vs]_aaaaaaacaa!')bPc8Nddeegggggggggg!"hkNkkD"P+"jkE"fkwkknkVъWme#VmnnncBp%Fp>p3qqrrrV'st|ttT'PvvVROTQvxdxhxZy=){%{)|||b,}].}^}3}ae\-}F}_|:}~-  --rst_`4u/ 0}Ɉzňx׈̈1p3ˊ26ȊzVy~gedf3      76YJ}66 y lb  ȓד A pB C qߕ䕂 畁  " L' * ;( O` }~|r< < oǞ6 7 ? < Ğ4 9 ; 5 0 2 8 > : ŞkΟ g? w@>L S M Q O Aw { ~. / 7 2 695\{a *DeDJ0ZdEng|po$) F G kl6- g6 + r7 a6% / , nd2 f6k_te C9ړF 9镌  ! - ^b. , + 0 [N d a u<9p ěǛÛ ț < ʛ śϛܛ|= ӞܞD E F ԞW>̞G H B ֞۞A ՞ٟ ݟܟ̠ Ҡ Ӡ {@ ] !AZ X V آT A A S jBY VW _Bs!DD&6Yq:UFb456789:;<=>?@ABCDEFGHIJKNOPQRSTUVWXYZ[\]^_`abcefghiklmnpqrstuvwxyz{|}      !"#$%&')*+,./01234589:;<=>ABEFGHIJKLMOPQSTVWYZ[^_`bcdefghijklqruvwxy{|}~[jhh?F@C@pѺAкٺ ںݺȺ˺|A̺jA޺AQ+DD=D;E/ċă76A?ʇIʾʿIpc̥TWҡ#"0ӵ8?MmNpNXOBOhOiOhgCOeGOuڔۓڝRSBkTlUTbc U_d[YU,/+34U;WWW+MO\XL]_y_q__,_w_/accccdddYefhhhhh $nbma`donplppBq"q'q%qqq=q qijslz uuuuvvvvvvv#_V$^]\"xQ$yy{S|%V|U|wo}}}|~]}x3~ ~Y3-āǁƁ7Z'c'ځ.=́)Z))C**>t**Ap,EHr,oqDϏˏ͏P-$-ؑC Бё= E {ґD ԑߑޑE-ّϑ y/] z/ 8T0" J I D K >F0   l2 4 7 3 6 5 e |3{3ɞ4      44 N U K );M s5R r5L p5P S Q xy}  2 6" \ g i e b '858Y 9  9 9:IPFN;;Ud8K=su%>Y>'?$ #)"?(߸qsrMoiAkxgaD򻆻AͿĿ s /D0>9Ĩ<?4=Ĥ8ĺŠF?ƃƛȗG.78POʋIb˔BXZYLKcuO'O*%(ۦRSܻݧޣWTGFY[y^ZTwvzU7:owyV{!bXV4VW,-____ cdRfYo~iCvi<ij n!n#n)nwpQq$Vq#qYqUq'rrm!noss5"  w =w w .=x9xyyyG% {n|m|j|2~9~}m&~5~=~;HH(FG'2,L.JPC#1IɄ(;*'$1&?"+A+e+B u,tsN䏊-V-R _]RP tK FL m -JYKO h- P40E0M L ИO N P ̘\1 V1de \   8 : 9 yh g ŝ, 751 / + -* >` GEY \ Z X R[ pPXQ=] A < 6 6- 6 ťUm o 48u l t Cs 7E68 娦۪ڪ檺999#9999"&窽99!ժ9ӭǭѭí=@?B-,W48WW! !7>sX=nXcy`eXb<a8jXpmXj; Zv[ !0[/ _`\____c   eiii iiuiii*lnanqcnbno W^qq+s?wAwRxc^xnypz'{q{{B~C~&&W~~ȂTބȅ(()1{ڊ~DEUvu`,W -` ] k Вc g Œ^ Ғ-/ 0Q S R 222EK; > = ɝi ȝʝd ]c94 .4 :944  d h v5e 5{i H 6X QUS   ܥ{ z | \x w eZ  865."9 4-(&<*83-/1+2*50:֯įǯٯ<߯Ma xv m>9 :;56<?JX|};?2-ż/9.: 61>8RB4A0¼CʼPB࿘忠DDDD`ER(FN FOPdhƨFji Ǣǡgyrf|hȅvtqd><MlNʁˀ-.()1͹/*:Kηο c<bcgѾ՜qro֔NP7P65CPId۠HS,!IHTbad`cTf'%U  AECD&V4VGqW?61;5:7"62"EAX@XXB Z $1324Ra[z<\# ` `!`,bdd#%HjUjIjLjOj=jzwnnp.q/qx\wuwfaxep|~&&I~~ւS҂ς (")+GFx, h v t y $z w q %r  2T t1r tD ? @ B Q ֝͜@4 A4 " 4l n p m k q r v {y6 7  ~ Y8U8  8 ?:EA:BC;8{w:9ƫ<|>}D  bzԴմ?@CB?AANJ9G*KFN}B+BPHnE;S_/08L :FTX\#U*ǠȘȜȦȵȰ0@Aʆ˿PNKRM;QK=jfprgwhӪ ֘N  2;:PPzoPڠpۯnf۱e۬#$JejiBU   FH7VI7KIWRGHXJXNXXXX㴈BpDS[Y̽BͽTB˽ԽɽWRPEMSDOXbCcR`a_ISMōƎ2 1O{fI` !Z"' mlkop Ԧ֦N֩BضPD@؉?ثPO%( !T6urovqT >U x]QPSTR^`gm Y`hj>'&$LXPUSXRWXXXP\bZ[76K[fv~}fejjj3l q2!ssuw wpxnxA{&&#%$&3/V+Jَ 0TWzY y12 I H m ֟؟ڟޟ 5  7ק٧e8ާڧ *8::16:+,).^'([_0$::9@uv|x~Zd,=GHG'J^a'BB.&–EŽtdŒF<=ǩ:BF$DH  QPc{zqK$&nKyKXKtsrѫ6JұMIPOMUۢ*/D@,+y zT5&ZUVFVnTU%WzX%_XX\ ^XYd]beX[Xf'[:<=9Qb۲H}|߁߂bLETPO9:`^]NnqM9Xx*Y{&Yxu'YrZZu?>@NWYXignfoq[#h\mk:t u'wwj'6L= יJ : & pqذ*-}2>1>O оy,ŸŶŞƜMFn`!db2юMU234<VTE|badKWXXY,+ #*~BY/Z2C?90Zrx*"qj` t#|wv7)⎛  [ ՛L o  KAtrԬج٬sڬlm.bN+ ͷù?<>=:8DE HPlHxyɋ>-TqXQo_އrueZvZZZCsO [pywzD\2'*,m\()8/d{k t#wwL K 5 v0/f?~]rb:EfuFo/ϲv߮OH~R]Wa`3/0dY    [}Pq{|s\@9<dk<@ci S 543oëƭDU۷ߵߊZg-X' [ F\tr\JNIQMr`6tmAqt p:w|V}yQJT[hutwx5<q~`Vi9k@d\雐îƣD$[:\}\p  !ʹs \1456789:;<=>?@ABCDEFGHIJKLMPQRSVXY[\]^_adefijkopqrstuvwxyz{|}~   !"#$%'()*,-./012356789:;<>?@ACDEFHIJKLMNOPRSUVWXYZ[\]^_`abcdefghijlmnopqrstuvwxyz{|}~;;; <;; <<^;<~;ERPW`Bt ;;??@s@vAAA3CC E,EFZFF>M-X/X^ntv;;;@J@D@1AzAAAA8C7C}D~D-E2E#F&F:FQ?TTV;X[[\^_`%efekeCttuvwPПiɤ;;<<<{@AAAAAA9C;CACCCC.DnDDD5EC:E;E8E9E.F,FFFFFFLLQQZVV+WXQXKXZZ6[b[V[U[d[X[\\^^__`````dseletereqeepe?lnnt#!+&"%3*2)[\(omkn";8=On_q{ywso~21,-چ.,*3KB;?ACN)!3."' f80+*,-ƺź1\a]Yw˄A;;======??@@`B^B{CCCE8WFXF9HH5H`HQHbHBH]=]Z]A]8]E]3]&^^^^^_```` ``aaaabaiaaEaaaBbddffffffffWjGjwj:jPjBjCjjwkllltnoolooooooC;ssst u u uuuuuwv{vzvtvyvxxxxxxxxxx xxxxx y]}'}_}m^bd: ʂтy ǂ΂ #ł6WwUD>BRhg] 7~y}{ fي>__^h' jlfg`*>hotzsyx}|hNF @ ? Œhega` { 1?MHEBIJGL͚՚ĚʚÚF)mfjӟU֡ءQڡӡ;f,!&ԥե٥զŦ'𦹦隸ߦڦɦ즤^abcikdmLIGHBE[]Fóy|u//tA[_0:[ٺպݺں׺սÿ¿Ϳʿǿ "B\Z]u{ɉMωђьшgh!>= >======= >?@@@@AhBBBBB=BBCCCCCEfFHH;IHHHHHHH3IHHHHHHHHHH2I-IH1IH.IHL MLrNNNN{NvNNN!PEPPPPQXQRRRRRRRRRRRRRRRRRRRRyTvTCU=UGUDU?U[UVWWXYjYvYrYpY~YlYoYuYwYxYYyYY[\[[[\?[\[[\m]i]f]b]F]e]]]^]_]^____b_'`!` `$`)`1`#`"`aMbaaaaV6b@b?c=bDb[_b)bIbb*bbLb1bHb+b;bAba4bSb5bGb8bddQeUeReSeffGg ggfgffff gf gfggggfifjjjujvjjmjijgjhj]jkkkll!mlll mzn-p.po/po~ooooooooo+ppo,pp5ssssss{t|t#uuuu"u$u uu!uvvvvvvvdw yyyyxyyyyyGyyZyy yj}f}z}e}}̀πр΀_wturƂ݂ڂ~} لMTQP ׈1nƌomjlqnߎ ǏƏlpK }~vxZ4,*@-3+K?(*+om~lack^>d} ѳճʴ98;KQLi`+).3׽۽ٽؽֽѽнܽ/0 )(efǦɧɿɨɟɡɢɭɣɠɃ˅˂˄]͒USQRPϝЇїћѝiz2Dm;@>.>h>->4>2>i>1>j>>>o>u>? @(@g@@@@@@@BBBBBBBCCC*CVD"EEEFFH7IKIII9IdIIFIfIVICIJIXIeIZI[IUIPILIIQIGISIbIIIMI M MMNNNNNNNNNNNNnPPPPhQiQjQRRSRRRRRSRSTTcUeUVWWWWYYYYYYYYY\\\\ \\\\\]]]]]]+^c^ _f_4`3`M`bWbJbc9b?bbbbbbbbbbbbbbpbbb>dddVeng~gtgwggzgkg_gvggcgjjjjjjjWkkk ll%mQm>nn?pBp8p:pNpEp9p7pDpp=pApsssssstt2u3uuu vv^yjy5 yiyyyuyqyvyoy}~}~}}ۀ܀؀rѵނ +$5 ׄ\_džƈ̈ֈ͈و؈ шΈՈ Ԉzy yߌьڌό͌ތ،uusr؎Џ֏׏ʏ͏ӒڒΒҒ^ ԒגՒ͒֒ `U\oQa^bTnRXm_lP]rxuv|~}#Wȝ]ɝŝ9@>8֟wx}ݡ^wԢf_srZ]eput\`4mA<>oI ԧǧۧ_ ϧ ߧק,ͧ-PħЭ֭έխϭӭ,ԭn-)+*0մĴɴߴ˴ݴԴEI@FDJɷķ·h0kglmq׹ҹٹݹֹع 'P,)+$(91\[Z&C3:76<4J;5=@>&$6%"fzɡʕ˔˗˖˓ˡ geba͗\glϵfan]ZϢЩХЦвУЬѪѯѫѱѭѹpu ׁ׃~Qؙڔڕ>?ABBBBBBBBCCCCCCD5E%EEFIIIJIIIIIJII]Jw;JJMONNNNNOPPmQvQLSSHSSJSIS&STU~UU}UBVV W WWWYYYYYYYYYYYY#\1\3\ \&\$\2\'\!\0\\\]]]]k^__Z`T`Q`^`X`Y`bbb cbbbbbb.cbbbbddddXelgg>g9ggggggijjjjjjjjlllRmjmTmUmSmWm[mXmYm;pppppppppppppppppptsssssWpuvvvvvvyy zyyyyyyyyyyyT ~~~~9~ ~~ ~#Z–ɁGb@D?C=`_:B^] itg1 '$  >);  J  8{|z + (*) &‘& jW  =Քǔ ˙VHYJ\OM]:ޝHJLNOKMGQڟ~բBsݤ\LvKg~w qmԨ}cut٨f`+ɬ,4 ' "#56=EH<> SR`cηͷз̷sc.ECQLsGKODMNJARTYKH fbgbONgSMLhQX[Pj98ÂĄĆĀdž%ș ɴʾʦ˥ˢˤzx}~́̓̀͂͛ΙΜΚΡϊysu|x`σp϶τ{~tϹизе5ћ5~zwӌ  ׎׍׊׋׌׏W5U[جڧڠڞڪޔޒށ<>>>> ?>>>?? A A AABBBBBBCCCC\D]D^DDEPFFF\JpJJ{JfJyJcJJkJmJrJiJuJJJJ>jJJZO\OYO$O%O0OXO1OvPPQ}QeSSRSTSSPSSOShSTUUUUV{WWWZ ZZ:ZZZZZHOK\7\6\8\:\I\<\J\]]]]]___k`o`bb,cbOcRcPc:c7cGcdc@chF)4?D5Z*37C90]2'a\X]ڷٷݷܷ޷}! x71ywFzU6+'F,E3-4"dtuŽmpŒOQXLNľijĮćNJLjNjnjD-*1,E0)F 4˿˽˼˺˻˾˹͖͚͑ͭ͟͜͝Υή& #$!(%ϔϓϏϚϭлӔӖӞӕӡӎӛӒӗәӓ2/.3 ֬׹׳צעשקlmi؀feqkؽڶڬڷڸڼڿXݐݕݗ ޗޕKV<>>>?>>??m@CCCC&bDEFJJJJJJ:KJJJJJJJJZEZBZ[ZDZ["{U\W\Q\N\Z\]]]]q^&__z``{`tccQcHccccccNccccc3hhhhh hijjjjjjjlmmmnnnqqqqqqqqqqqqqq|qt_ubuauuvvvzzzzzd n {zzzzzz_ 7{~~~~~~~1[fitBDiCh ̇^gheJ%tiabl]z}Ks xw~y|tuNfaMO T|ڑޑؑݑߑfb_dc`jg?ln픹'62BM!1.G;A9'#(כ؛ԛʛқ˛ӛIH |xzry~ ͠8; :79Kux|tvܩݩީ:"é!1ެ߬ܬݬi®ʮĮȰưǰ ncbakoflnlcܵpjhi˸ CиmlEF4,5DvbdVQOhLPaHJ!š›˜’“sktxm.6,ʼnǕǓMJOPK*+/.|"!$%&#ͪͯͰͫͯηεβγ+ϯϼϸϾϷϴϿϳϱϻϽ  ҟ5ӶӿӉӌӸӽӑӻӾ>=8=933׻ר׾׽ׂ؞؁؄؍6؎؈؇ \w9]ݜޝޞޛ޵޹޶&'% :< ? ???A̐ABCC CCCC DAKKFKSKK?K|JKKNKKGKOθOOOPPQSSSUUIZcZ]ZgZZ`ZZ_\`\]]]``l`ccccccccce`ehhhhik kkkklmmmOnnq rrrqqq$rq9r:r"t!jumutuwz+{z&{*{#{5{J{~~񁕃nmj ߇ՇӇ؇K%É%urxp~}m 9xz=DvuyFɗ  ՛PNРѠҠנ֠FkE?>>jhL#"ND7uTv4k2WREIKG3@/2')@<;>!F<68516-3/.5ѬҩҦҨLCAOBQԩ@PEJKԃՂՁ՘֛֖֚֮֟֙֞ NJM@>HBbEQ۷ۼ۶ۺ۽ 5qnoLOTSTVWRSmV\Ud]^Y?@*CCAL7L5L3L9L2LOPOTTVZZZ}\F_G_`!ebeir/k1krrrrrrsrsss7t5t4t1tzu{u7w+|{|| |||8|  Ӄу؃І.0/1ҐӐ@B;Εo;C@FݐߐJƘȘŘǘĘegלۜԜ֜   #7%$*'3(4p.L\j]ec^?32,ǼļƼżԼʼS!nƒDʘ̛̑̒̕̚SWΆ\]dBCda`}҇ԙԌԊԏԳԂԛS!)$(C7ٲٵٯٸEG4nB1.V87K-368HBfmcdAg ~ߋ&,)okmn$o?@.CCFLQ+T ^6k:/.nJs7ssIsM{uuu?wR|N|J|K|؅ ًI J՘טޘܘpٜמˣǣ;9KC@FMCGKUR_"|{޼׼ݼּؼûY2pǤ̫MegjfisЀoqҠԤԢէդX\/.uٕy܀|u{܂t}z܆ܨrܑܳ܁܂vtru ߔߒߓߑߏߕv&%-?EyLzLPZ\pd{diinn9s@sNs>tuuf|a|߃9:02LtsB>A,ңXWVZ}ahe_d^[gòS} c]ʭurwQҹԡԶԮ12ؑ ڐ  ܿܲܯܴܷܻܱܰܶxzyޟߝߘߙ0:>HL6TV"WZ`}dynes`sgsNv4Ryxv-֣Dpbnn|txpyq̲!ȸ̶̽s΂·VY;:&(4-܆ެߩߪ߫3OYLVZiss|r| }gz{Ѳ㝶̿TΊЌ\eԸf@Ar7ܴ߼^[_]:TZ^^x|y|"ۣȥض##rsʇI]NMPU   ݉ݻ6figZ(d[nvs}|ZܣŠ*E\[a]݃߿sPdTYξGjihg%(7 "ٲ8rHlp10y#ts4݇޲}Zwu8:݃|JJ<a?ݓ޲ΎᘬŤv'456789:;<=>?@ABCDEFGHIJKLMRY^_acdkrsuvyz{|      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~b333344 4<,8)9w9x99994;8{<=/9=>>>6>>>CCGGKMUMNQ*RRRSS-U{UUUUUUVWlbbtmju)kj3333333334447C8A8H8u829{9y99>999);;+<<<0=3/=1==='>(>!>%>>>>>9ɪ>>>d3?DDDGSGGGG`>K@KMM&NO1O)>->/>>>>>>>>CCCCQRDJDVGUG_G^GG]GGGGGHHHEKCKKKlɾKKtYM)N,N/N-N.NOOO@OJO?OOOAONOQQ3[RcRZRYRSSSSS 3UUUUQVRVPVVVWWWW[&\)\n\@c>cAc^eeeeɀiOEjjjVmUmumwmmɃmmmqqqmuv(wx{|}=>LM"smnN8-R'3POMqrD=!3g333)34"4%3(444444444E54}77~7778 8 8Q8R8P88=9>9<999999L;B;;<<<<3<5<7q<0<<<71>>>>>>>>>>=>>CCCCCCCCCCCC`D]DvDlDuD[DqDsDaDZDbDrD_DXDGXGGGGGHHHHHFKGK>MQKKKKr`M_M]MM:N8Nw8wCwFw6wxxxV |@+})}*}.}?性PSVUo:876T8ݕ3 ʓ CRX^h{X,3.3 H-3i333334O4555555'5(5 5)55"55777778X8Z8 :88G9I9J9K9S99:: 9999:9999S;U;;;,8<<<<<<<<<<<<2<>9>;>??5? ???8?|N????CCCCCCDDDDDDDDDDDDDDGcGGGG HGGHHGHHHHHQKPKWKKKKK MMiMM@NANCN O OOOOOOOOOOQ7RRRRSSSSSSSTUUUUUUUUUUUVɌVVVVVWWWWWWWX&XX'X*XXX(XXX[[[[[[[2\4\\\\\\ɶ\\ɺ\\`a```]u`Cbbbocsc\c[cfctcccgc`cbcqcrc^c#e&edeefeeeeeeeeiiiIjTjRjNjXjQjUjSjWjPjOjMjjjjjkɱ3ll.l-lEm[mZmYmmmmmmmmmmmmmmmmʱqqtttPuQuqupuuuuu%v,v"v3v4v+ :w@whwa dw\wWwSwOwQwTwfw# yy+xz*{{{{O33|(|"|!|VV#|C0}4}=DA@M$ ) b0+* -ڊ(w|PN򐲑Αϑf51+,E`AXG[P_JVCDQ45TU 5$i%!ʖʘ ޟ ]X Dfum~gwW2,3n33333804T4S4R5=5<54535T5/5XU5?575V5a5X5;525.5>5;377888[8888P9Q9O9999!(::%::: :::::::%`;f;;;;;<<<<@>B>A>?>W?i?o??q??V??m?l?p?f?g?CCCCCCDDDD7DDDyDDDG%G!I I)I-IIIIIIII I I*I#II\KfK[KOK^K]KKKKKKKK(M,MkM*MjMoMMMMMMMNUNTNSNRNNN`NSOOOOOOOOOOOO{OOOOQQQQ R;R9RRRRRRRRRRCRRRRSSST T TJUFU4UEUCUDUɇUUUUU844UUTVYVZVWVVVVXXXXX#XXJX6X@XVXCXKXFX>XIX[[[[[[[8\7\9\A\>\\\\\\]\\\]\\\]\I]` a&a aaa aqbbbbbxcyc|c}ccccɉc,e)ele! ff f ff&iiiijjjjjjjjkkkFPEl8l>lBl@lGm\m^mmmnmnnmmmmmnmmqqqqqqqqqutu uurutuuuuuuLvBv@vIv-|+|5|/|1|4|50|:}9}7}K}T}M}Q}G}'PMNTKIC )% ' B]A:<+I S1Jm<|mjck{dzio75<6=>-+kʑ{xTR>=;ΓwysmpujDYǖ˗B=*@DbC?EM>O>J>L>B?????????CCCCDEEDDEDRDEEEDEDDDEE&G$GZG`GGGH=)H HbcLI0I8I=IQIOIJI4I6I0jKhKLLLY LLLLLLLLsvyMMMMMhNdNgNrNbNtNyNOOOOOOOOOOOOOQW9!RRRRɽRRRRRRRRSS,T-T%TTT#TPUNUMURUUUUXV\V[VVrjVWVVVVVVpXbXDX MXLX?XfX5X)4XXX8XXXXuXyXXX[[[F\G\E\\\h]9]=];]M]0]J]>]@]L]G]8]R]:]S]``aa*aa/a"a.a%aJbKbvbbbbbcccccccccc-eneDf=f:fhff~f7fiiiiifjijmjgjkjjjjkkjj7jjkl l lmlblAl^l\lm&n9nln+n.n;n^nn'n$nin0nbn8n5n*n,nhn1n/n-n:n6n!nnqrqq"rqqrrzuvuu u vvWvwwwwwwrwuwwwwNy9y;y5yI@FGdeHJriZL,0KIBDJOWʗS^R[Nmn3=7>53'VWX^]\[g M?GKJ=8(AL(bia 9:6[_^gab]ʖ̖Ζ '&Pʒ}~ҘPUB?<LIWXO\Gʫ0&/(+- *,5!#$67顺mjhikaܥۥ-,+2ʔɩĩéͩ T[aĭ˭ίޯկ߯ٯ#@>ϳT>[Xb_gc^`qˆ<3a>3394a4`455555555555555555555578b8888Z9X9Y999a:g:q:e:}:~:};;|;~;;;;;Z>\>Y>U>c>V>_>`>[>J@e@@,@w@=@R@a@*@>@4@)@@@@@S@D?@A@r@CCCCC'ETEUE.ETS,E8E9E1EOEsE0E+EQE,G[G\GhGlGkGiGG8H \v]vjv$v|vww wwwwwww{ xyZy[y\yVyXyqyԖ@{3?{C{A{{{{f|s|l|q|j|m|n|k|}w}:}}z}}x}}},g[aijemc\bHyipv]nq|s[kɃƒv{ud=: Xʝcbdi usqt   NUP}ҍӍэ܍ȍ̍Ѝύߍ+.-n_Zmehr"ZPXTWVrߓՓX)ԓ5P /MhekiіӖ'(hg$חʘǘؘƘØ˘Ę٘˜ޘ혜ݘۘ阿јܘΘ̘ʢʣʡʫu`lsntvhwQPXMON\RDJK͢ĢТ΢¢Ϣɢo~s$-wp}{/4.2GW867G395Dߩө֩.ةީ۩ܩ !Nƫǫb٭׭ح֭έݭҭŭɭۭ  %CDdb^[ֳr33w|}v~|yzL5VTt3334_4j4i4k4 655)6556555656 6w5g6677%8'88e8c8888_9b9`9"Ɍ:::::::;;;#>>h>n>g>u>E@FH3@@GHɺ@I@@5A@@@A@0A@@CCDuoEiEpEgEEEElEEqERtEmEE/GƩGNH_ZHHHUHLHIHOHJHIIIgɝIIIIII}KwKzKALILYLELHL@LMMMMMMMNNNwɣNNNNNNNNN!OOOmP|ɚPPzP}PPPPkPnP}ERRRRRRRSRSSSkkTlTtTgT[T`TvTcTaT(U[U^U`U]U\UUVVVVVdVcVVVVV&W-W(WWXXXYXXX$YXAXXXXXPXKY`Y}Y>YRYNY8^d]mOb_r1/̏Ǐ{}xF-%&,7132'*./qabfœÓē“:;6 *WP ,! 5U9 镋u?nu֖Ֆז>m10:kHK7{le64hZXrjӘ<3;MO|[UdkSW^m5iYfPQ\]xINsϘʱʱI+hujbg`w_y#!,֢Ӣ٢עԢܢآ£,6=:aVHs>q>r>x>_AjAgAkAiAAIAADAAEALOAcA6AHA\AAaA`ANA^A?AAhA DD DDEWɰEEEeEEEEEEEEE[5G0G]Gv>oGG^ɴG\H]HJI JIIIJhJKKKzLlL`LgLfLjL_LmLhLdL:M;M9MNNNNNNNNNNNNN$OPPPPPPPPPPPPPPSSSSSɂTTTjTTTTTbUU VVVVVV5W8W6WCWGW7WCYYQYrYmY/YTYnYUY7YOYPY9YɳYYqYYɶYYY[[w(^@^q^^^e^x^^`^|^^j^y^s^r^{^p^``aaaaaaaaaaYbbbbc c6c7c6d)dJd&d(d$d*dHdDeeeffgSgg1gQgKgRggggCg4g6g2gHgIgggPggiiiiiiiiiijj&kk;k/k9k4k5k1k8k>kkkkkkkllllllllllllOmfmoooo~o`ooobooowo|oo]omocooo}ozoo hooxoo" A rrr rrrrʴrrrrrrMsrrrrrr u uXueuduuuuuvvvvvvvE www=$xxxx,xx%xxxxyyyyyyyyyy`{f{a{N{]{c{{{{|||||||||}}}}}}}}}}}{ w|x{zҁˁɁ΁ʁЁaI ف݁ރڃ΄OτڄфԄ˄Մ񄜆AЇχчۇއ܇ه [pdgcwhejxftzy"C'$%^654яďʏƏˏ͏⏉;<=yuv|~{zHWcln goivqaxkvut?D=GHۗܗݗ™.řƙR/ҙܙÙəؙ01ՙ֙  ʙ2Ι3әؚܝݝɝȝߝٝ۝̝󝮝򟑠1ʕʊ-R5(.أУۣΣڣףȣ٣ޣѣϣGBCæǦdjfPneiʚiro}p`¨ѨԨܨۨ7%!"*-#&6:@B8;~>|>AAABAA#BAAABAAAAABAAAAFDDDDDMDKE FFEEEFEFEE9G;G6GFrGtGGGGrHkHJ7J"JCJMJ8J[JyJJIK{LLoɖLLLL|LLLLLLLL2=MAMMM N NNNNN%OPPPPPPPPPPPR%SSS SSTTThUfUgUUVVVVVkVhVjVmViVVWWRWPW_WgWOW[W\W]WZYYYYYYYYYYYYYY!ZYYYYYYYYY[[[[o^Lk^^_^/^^^^^^^^^^^^`aaaaaaaaaaabbbbbc'didpdVdkdzdldmdeeghhgghghgɯgggghiiijjjiii@7kIkKkFkGkkkkkllllllllllllllloso!pop;p"p#poo? pooF oopoosss|||||||}~~~ ~~~~"~~~ ~$~ ~~   7* ~vwdžÆȆCh "! ʉ\ʻ ʼnkaʫT[pTqeQaZtLK^XSR;9֏׏؏ُڏۏ܏ݏ񏘐PI'bב}ʌ(=?Y>X0>wyz}x~]NYuOJޗtabvzy`dߚyޚlᚥ|rejӚnv{ʔךp՚zh sݚښۚbœǜȜŜÜƜޝ(!-Q+$5;)* ?& ğ;@F $#MNVWQUT˦ԦѦϦҦʦ֦Lt H\U^Ic`Sb@IJLM /!  `h^]c_dxaieگۯܯ9WUeaTEA>7,ʜʟ Gɵöɶʽƶȶ |{qr˽Ƚ;ӽнʽͽ?@D|xyˉ}#$&"'ɿÿ  .-Tßãäå7G456789:;<=>?@ABCDEFGHIJKQSUZ[]^aehnrsxz      !"#$%&'()*+,-./012345689:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ[^_`bcdefghijklmnqrsuvwxyz{|}~U+,,,---------p----...l/ 0011111112344445,6z66h6q666l6o6b6e666d6s6n6g6t6}6x66666NÊ66U$9"9#92:[:O:g&:>:B:G:":0J::I:+:3:X*:(:=;<;;y<<|E4EBE5E1EEEFFFFFFlGG!H$H_HHHHpIvIqIwIJKJJKJK;KJKÒ}KVKDKKKLLLLLLLM]MNNNNMO O6O5OO%O!O&OE?O;O$OCONOOODO@OAO9O+OPPQQQQQQQQQQQ^R]RRSTTTT}T|TT~TTT{TTHUUVBWrWW0WCW[WWsW-W!WW)WW3WZZ ZZZZ ZZZZZZZZP[R[M[W[S[V[[\\\\\\\\\\\ ]k]j]y^^^^^l_g_b_X_i__W__T__v_I_E_O_P_}_D_f_H__Q_S_`_G_^___m_u__U C_N_\_V_n_c_j_Vbb\bXbUb~bbbYbZbgbTb[bb)d,d*d'dgdhddddddddeeem 0mOm7nnno ooopUpVpbpWpBppMpZpfpFp~KOpqqqqqqEsPIs5sr0sCsFs 3stVt؍t6Du-Tv>v5v:vq 4v9vFvZv[v;y;z;<<>>>>?????L@J@@AAAAAA'BCCHCCPCXCGCTCSC@CUCZCpH[EMEVEOEYETESEPEFnGoGG)H%H(HoHTóHyI~I|IIK4KeK6KKYKXK1KbK8KsK>KUKTKKåKKKKKKSKM M M M MM MM8O:O7O=O-OOOOOOOOOOOOO4OOOOOQQTQQQQQQQQQcRRRRRRSTTTTTTTTTWWWWWWWWWWW}WÛWWWWWWWWWWZZZZZZ][^[s[c[[[[[[[\\\\]\Q] `_______`_________`___``__`_`bbbbbbbbbbbbbbbbbbbbbbbbbbbbb.d0ddddeeeeugig gggggiiIiGiHiRi@iciFi_ijjjjjjkA l_m`mjmvmsmqmfm kmym{mzFzOzDziz3z/zNz:z+zzPzEz7z%z,z?z4z)zz=z|f|||~~~~~~~~~~~~~~~~~~~~~~ptqu}sĂÂނ݂Ãʃ#$%  ( MIbwzy}{ĊȊߊ̊ኼƊ ͊㊫ˊĩ$g Ɋ ҍf$ϏяÏɏꏴ܏ȏ쏲ӏՏŏˏЏҏ͏ԏIݏΏɑʑْ me "}ou{mksbwixzje~—qkmonəʙǙęo32+06BAĥҜeGcM_K`IS:&WNRT "סաġСˡءԡ¡١̡/#jiulnwvsp='z:LWQbR\Są->0}ެجݬ۬Ӭޭ(ǮѮ,ѰӰ԰հŰðưֱ۱ױݱ   $&%HҴմĴ̴ʹôȴŴд´δCB@1϶ζ042C<5471¸ɸ ܻa^_% JS($*+ ,".....oÝ0222223 3c33(X55C7M7m7B7R7Q7i7P7V7l7D7E7k7h7W7.919-9:::::::::{;<<========_=====>????M@N@AAlC_CfCdCxCeCmCaCzCDfEhEbEFFFFsGrG-H,H/HrHHIKKKKFKKWKKKKKKMOOOOOOOOOOOOOOOOOPPPQQRRRRSTTTTTTUUW&XW'XWWWWXWX#XX%XXPX%Z Z#Z!ZZi[l[h[k[[[] ] ]]]R](`.`,`M`I`1`0`3`-`6`>`/`'`4`L`bcccbcb }CbbKcdd# eeegggggdiiuipiikiilijjjkkkmmmmmmmmmmmmmmnooooopppppppppppppqrrqswstsszsQČssstttttttvvvvxxxxxxxzzzzzzzz~zzzz} }}g}}~21  Osu(ÁӃڃكi@XlM!h_[\w,XdaHY)b.h:=^Fie>IVxyfJ5z`6QB]?{]j򍻏3 -#5.64/ 17Z8+.!0)1,"wg}{~!&'),+Ж˖ϖƗwxv̙ԙיՙ֙ә]UHۜ֜ݜpfoninmlqsjo{j|}2Ċ k9u1875i;=ly<>homruwyꪫCAB     +1ۮŮӮήkɮˮЮԮïɯ-"4/9AMRJNsBQUPl*jShUV"#́ˁ́ȁɁ"!),vxledY|py,RQLZX\ڶx^gd#A?@ԹѹܹimWfJ`VYLjbcp_ d]h;-8/2AOI, ,,.8/9//#2"2!23557778777777 8Y:::::~::L;M;|;;;=>>k>??????Q@CCCCCCCCC D/DqEmErEFF;H9H{P{%{S{#{7}8}G}=}>}I}J}}!w{}yY$-.+vځ؁ց(%+[H#\m* cqQT*DU9?>OM5@1Ջ+3AVLF?@A " !# ˗ΗЗ̗ԗ:  d   yxYau#U[_Rbr]hqefgvL`tP59á0*+-.,#!"lУͣգԣѤˤΤФզЦӦئѦ٦֦(_W`Y,%'0$&-.)1EGRJPFONS! q ϯүЯԯӯѯ5 '%)0$(/$!%&'vfui~t+*X"+,-3'*(;~qyxpm}uv޶f{|CE <" wy~gi˾ȾѾ@KIF>C?NMIYQ_JWX¿¾ ,R.N.ç/&2'22 3j3x3888888 879:;=>>?R@CCCxEEGFGFG@HCHBHHIL5LALLS.PLNLSLSPPPWP_PUPP&R0*R(R,R-RRUXUYUXXXXK2Z[2]4``` a```tcc|cuccccc}cccvccEd0fgggiijkkkmmmmmmnn2ooooo*q!qqsss suvvvvv0x7x1x6xxm{i{}{a{p{q{s{v{u{x{y{d{n{Q}O}"}12347<ف݁ށ߁(҈ыGɌȌ}B|"{Ό ̐ܐސҐېِאԐɐڐѐʐבgD/5+2-6134@?Aӗ%Hşǟ<?97ޣۣߣܣ֤ܤݤSDG©1;6BP@48=>5:F79Ew]jvkledq_r>+6-9?;3B:կدٯ 9:=E:7>Bk2Zd\M?>RXW^STVe  ţ$JIHKb CG?FPmKpR׼ؼ缸ռԼּmpsrԾξվZXRPUNM˿̿ͿѿXc^T[gZ\[a•³µ±§M.$0+2346818T8:8889989::::::<>>??@S@+BCC{EGIHHIRLML_L^LaL#MPoPuPtPqPpPlP&SUXXXY YXX|[[8]o]aaaa5aaa&a(a)a*aaGccccccHdeeZ fgiijjjjkkkklnn<4o6q2qBq-q5qs#u uwwwDEA8BCzijƳ˳azsrtG)液η&%LPNQR}y{*  N wvؾپa\^`ֿؿ kest$%j ™«½¸¨d.Z.r/z35_8a8^8Z8\8]8n8W8X8; ;;Q;%>(>#>!>$>)>@ @CCCCE|EE G GvG}HI[L\L]LeLmPPPPPPR(S U.Y-Y!YY;ZJ|zenijolphkE޿ݿܿc+'(l" !œžŸk.2x8v8p8q8 ;,>G~HWLfLiLgLhLqLoLPP5R:RkRUCYFY?Y;Y=YZZ[@]]aQaMaLa[accccccIddfffgggi!jjllnnnnLqJqss*u,u/u1uwwKx{{{{{{{{n}q}cꁽƆ̆ȆcɆʆφІĈIS6JANMELGHO7BJF IOQL Qz~j! =@F.ڝٝޟߟAY\Zħҧԧabcd`\]^LhnqkonG|ztvnxmlN׳d߷(][VW_b޺ٺ⺍po~sqwx|ῖ.u~}{x460.7455|8~8}88;<1>.>/>2>,BCCCDEEGrL|L~LPPPP*SUMYXY[Yw[daha`abacKdg"jlnnnooOqssswPx{{{{{{|{r}1fe@wцӆY`[]^i\aj_N\`cۑʓɓȓGIH@`_ߧèaqkhigQtST7cKH8647! Ľ~{忧/1FAC=B;Gk338@qÉLH+SOY^YcYkY?Z[makaja*cccccMdfgiinKuNxx{|{| |{z}w}C큼cƈňtsrxsznvuwϓΓ͓dly~xWȵõεde5),1+.%ڽԽݽX?RKSPVW1202388888rGHPpac#j$jlln n!noTqWqUqs8u7uSx~}{}qF2Ljqo~}|~}ԓГғUN^f    Ĩjk­ĭghi??;5@CEwGxGPjYtY[{adg ll l9u|||}}Gד֓E  $pV^ֵյlABOSX ecnjll3@MHUwYxYD]|acccdf#nt t|HچؓՓWX .)/ŨrȭZY۵ٵڵomp`^cZ_" utr4@DyGcj$nntJ‡Z%A23˭ʭ̭qk+)&'*=ov;zYayܑړ Bgq/.{wx||Yٗ u75´Puliۓѭv9‚4cl}t;2†\Uqu;@l¥qwxߓҭ;ӭćdv'456789:;<=>?@ABCDEFGHIJKLMVXadgqv|    !"#$%'()*,-./012356789:;<>?@ACDEFGHIJKLMNOPRSTUVWXYZ[\]^_`abcdefghijmnopqrstuvwxyz{|}~&SSSTSSSST+Y,Y-Y0Y.YY-\m\4]R^dhVnnsRSSSSRT6SFXOvXwXX:Y}Yn^RAeBehhiiBlAlPnR5p6p7pMRtvwI-r\EhRSDTET)>TTTTTTTT}XrXXYYYR<[=[>[?[$[GTN=]]^^^^^^dLeMeRiiiilllllRn0oGpHp"\sR_svv~v$xu}h%v}ABRB(@(b-xRR2 ;OR./EER#SS*TITJTKTTTTTXTTTXTTRTTTTTXXXXXXX?Y@YYF[RG[H[6\r\\G]]4^5^6^7^^^^^u^^^RRdd[cedeReeRfe|egeZYhhhhhhhhiiiiiiiiiiiiJlRlan7oRdpfp"gphpip"spjpkpb(Rrs<tv6vvvvvwxxxxxxxx,}-}%}}}}}}}}R}}}BQRRDS"ƆdžɆʆf(Ȇ$%&R'(RX-yR R0NORA*@6Rح&tRuƼ EYZ׃لمRJ !"#$)SRhQTUU[UUUSUUUUU U!UWW-"XXLYMYYYYYRRV[W[X[Y[[[s\\\\\\\Q]R]=^"_#_$_%_&_'_(_)_*_+_R@_,_-_._/_0_deeeeeeeeReeeeedhRiiRRiiiiiiiiiiiiiiiiRlSlTlUlXlVlRlllll"n#nhnnDoppppppypppppprrssttRtttuuyRxxxxxxxxxy||}}}}}}}}}}%nۃ܃hijklmn'$%RI톡((R񆔋[\]/0123̏͏ΏϏЏяҏӏRԏ R-.P/0e R$%2 !"#6%$RZ[\]^1R)RW=Vѷ23RSTURR)*+,-./0123>4#$R%'ɠoEpqErstל٪ٝٞٙ ٟ585S6SS2TUTDUEUFUGUHUIURJUKULUMUNUOUPUQUXRXXXX!Z"Z#Zh[i[j[[E\\\\\Rb]c]]oSD^E^y_z_{_|_}_~___R__________eeeeeeeeeeeeeeeeeeee h!hiiiiiiiiaRjjjjjjjjalblcll!lll)n]oWoXoYoZo[opppp߻pppppppplssst uuuuuuw/yRWy0yhy+y1yXy2yYyRZy3y[y\y]yy||;}<}=}~~ ~ ~ ~ ~ ~~~~"~~~~~~~~~RFGHჁu_R*+kR !"#)$%&'()*IJKLMNOPQRSTZU_Տ֏ ׏ Ȕɔʔ˔͔̔ΔϔДєҔQ4ӔԔՔ֔הؔRCD/  !",#$%+, RÞ؞ٞ89:;S4<=>?@HL(QRL#E$1237456@7R8=89:;jd?jWj@jAjXjBjCjDjEjFjGjklllmm!unnjokoRlomonopppppppppqp"sss(u| v%v"v#vvwwyyycyR^y_y`yyayyT~U~V~W~X~Y~Z~~j~[~\~]~f~R^~_~~`~a~Rb~~c~L/0123OQR}STUVWXYZ[\W)]^_o`abcrdRnefghijklCRDEFGHIJKLMNOPQRSTUVWXYZ[\]R  ayCDEFGHIdJKLM -9WXY_Zj+]^_R`aXYJKLMNWn[\R]^Rl=T>UV?WXYZ[\RXYZRghijRkl9:;RRRV4'< R>ϣ01ЗјљњћѲիլ?mnopqrsKx:gT'dTeTVUUUUUUUUURUUUUUWWWXXXXXX[Y\Y]YmZnZRoZ[[O\\ ~]i^T`U`V`W`X`Y`Z`[`\`]`RR^`_`;f6ff?f@fAfBfKCfDfEf7fRRFfGfHfIf-hh=i?inljujvjwjxjyjzj{j|jj}j~jr jjjjjjjjjjjjjjolplqlrl*m+m,m-m.m/m0m1mnoooRoooooo6q8q9q:q;qq?qR@qAqBqssssJuKuLuMuNuOuPu'vvvvwwwRxyyyyyyyyyyyyyyyyyzyzzz||R|N}~~~~~~~R~~~~~~~~~~~~~~~QRSTUZPQxƄ˄̄̈́΄τЄф҄ӄԄՄR78s)R‹ËċŋƋuC~Lc:ÐĐŐƐ.ǐRȐsɐʐː̐͐ RRΐϐАѐҐӐԐՐ;<=>R?@ABC DEYFGHRIfge3f utgmvhijkOlE3F䞅op-hiwdjRcdef=:gh5Rr}iRyz]{RH 8jklmnxRy|!"#$9:%&QRVRK?@AB\ѯѩѪѫѬѵѭѮ$ծDR׆RI_ߊ}~KRR[RFSGSTmTnToT VVVVVVVVWWWW!X"X|XXaYgYZZZZ[[[$\\\]^j^k^l^m^` a`` aR````````a`aa````eeef|ff}f~ffff@BffffffhMijjjjjjjjjjjjRjjjjjjjjjjjjjjj~l{lNmOmPmQmRmSmTmUmnnooo#pqRqqqqqX$sFsGsHsssRnu|uoupuquru)v*v_vw0x+xazzzzzzzRz zbz z z z zzcz'zzRzdzzzzzezz|)~*R+,-./01234R56~789:;M<=>RЁсUR5R;3RR+**KS*'* ׋؋),Re֐ 234.567אRؐ89:;<=>?@ِAB! CDz.|}~RRRRR)1VWz{󚓜{ RyꞏstRѦצ|TǪRR^mABCDEFJGHIkfRg;h;R3µеt56ghijrklmno"RR#A$%&'()RRRڼϽڽ^R?RRRĵĶĹźŻőżȖɗsɘə˰̴̵̶̱̲̳ιU~VWXYZR /012R !-RSTUVdYWRXk߉RߖJ߱RRtRm}LStTuTvTIVJVKVLVMVNVOVPVQVRVSVTVUVVVWW*X+XZZ[[[\] ^RaRaaaaaaaaaaaaaaefffffffffffffqhMSbikjjkRkkkkkkRllnmompmqmnrmsmtmnoooqqqqqqquuudvA$ ww;xx?x@xfzzzzzzgzzhzizjzzR|RցX 789:;<=>@ABRCY[\]^*_`abcdefghijklmno*pqrstuvwxy*z*{|닊=RڐRR[ ˕R ̕O͕ΕϕNЕѕҕRӕԕՕ֕וٕؕڕەܕRRݕޕߕ 畎R R&'ߜ ޜœÜĜŜƜǜ Ȝɜʜ˜̜͜ΜϜМќҜӜ/ԜeݠޠꤦRۧܧݧާߧ槜7称骭Ϭy{:z{|}~,-./01234567ҵDz{|}~RC4I56789:;<=>?@ABCDEFGHIJRKLMNȚ123Rtuvwxyza1=>?RABCDEFGHIJKFD*mtG~nopqvyߠJRnWkRR.SvST~TVVVVVVVVVVVVVVVVVVVVVVWWXY YhYiYjYYZZZ[\(\w\\\`b]]^^aabbbbbbbbbb"b b b b bb)bna bbbbbbbeeegfggggg ggggg:hshoipiqiRSRm`ki+k$k,k-k.k/k0k1k2k3k4k5kEk6kllmmmm?nRoqqqq+tRttRuuuuuuuuuw`xaxbxcxdxzz {zzR {z {{^{{{z{Rz||JRcdefgh ԈՈֈ׈؈وڈۈ܈݈ވ߈R֎׎؎َ? RR R5R !R"#1$%&'()*+,-. R/0H1213R456Y瘸șMP(x3 ;"#$%&'(7#RKR ʩu˩̩ͩΩRϩ39ƬЮƮ®`;;fghijklmnoR>?@RSTURRRDXSTཱRR67Ɵ89:DAɿCDͭCRRRИАБВЗГdZ[NOPRR׆nodFpqrstuv:;12345S BCDEFcdeRJR67,89R:GRHIJKLR s RbRٱڱ۱RܱRmRRDEkla"=GнNOPrQR&STUVWwXYZ[\n]'R^(_RĉƊRƌƍƎƼRƐƑƒƓRWIJKLRMYNOeϦЧШ"#ҋӌӍӎXRY;<=>Hהؘؕؖؗ}~R[\RG56G7 {zRBF&'()sR|tRuyLRRpYSVVVVVVWWWW4X5XXYYnYoY[[ ]]]^bzbcccccccRcc c c c c cccRRR,ekgRlggmgxhikkkkkkkkkkkkR,kkllmmmmmmmmooLrMrNrsRuuuu\$xx3Xj{k{{l{m{{{{{Rn{{o{ɀ`&LRr+߉‰Éĉx+RʼnƉljȉɉʉ<ˉ͉̉ΉωЉщZ,deōƍǍ\]P–ÖĖŖƖǖȖɖʖ˖ז̖͖Ζ"ϖЖRіҖӖԖՖ8;c}oXST U?@Aqrsˈ͉͍͎͊͋͌͏͐͑͒RϾпn7W89:;<=>'?RRӾDgRhXeYZ$؟"}~%;H(Q @H ):H RRݍTUV3456' *RRG?@A BLRR`VSWWWWW WWWWXYYqY[^^_c`ccRRacbcccdcecRggggggggkkkkkkmmmmmnRnrorprctRuuuu0w{{{{{{R{{} dԅՅօ؅[SR/?,$QT^!?@ABCD ERFGWZH1OP 345 {|}~ڟRRRȥɥʥR  P9; 5"#$R%&'()*+,-.RS#$ظNOUPQRST$ѽ|}~€Ÿ‚ƒ„…†‡ˆ›‰Š‹ŒRŽ$%&'()*R+ɍxpʀˁRuXYZ[\rsՂփ*+,-Rەۖ܆LM݃RNOPQ݁݇HRSTURVW݅HX[\]^_`a|b<RcdsEFGLR9 0EFIUVWL0123R456GN7&8R.WR/W0W*W+WW7X YrY[e\\]]]cccccRRccccgggcggggJhkkkkklmmrruuu5wx{{R{{|{{{keRŠijklmnopqrstuv$*R9;:<=>?p@ARȝ ꥢ«ëīū l# R&'(]^_`abcdeW϶ж~RR%R\îņyRz{|DŽ}~džʇˈˉˊR%Їl!"#$%&{|Ց֒֓ٳ6ݡݢݹHݤݥݦݧRݩݪRݬݭݿHݯݰ݌RSTU)R qrRmynR:LklNdN4O@WAWdddddggillllmmrrrvtuuuR;|%|:|<|=|>|789:;<=>?KR@"gӃRRRR.˓͓̓ΓϓRГѓғӓԓRR]^_`  2ģţFRGHIJKLMNRFKR[)YZR[\]^_`aêbcdefghijklmnoRdzǴǶǷǸǹǺǻLjʸB R҄҅҃ՄհR&'6()RRSR ݣR\RKR,-"#R.01RR-LRiRROWW]dddggggloorxJ| }`aAbيڊۊ܊݊RފߊR1rRBCRÝĝˣ"RRèĨŨƨ%R8HʭO;z{UVRR÷øùúûüýþÿRʡʕ;<=> !"#$іҗҘҔԕԖԗԘԏՐռ;=R#$I%&'(%I)*./N0123456R7P8R9:;<=>޸bcAmRR7?4[FZ[+VWX^YZ[\RhR,Va\WWqXsY,[^R?d@dggggllmnoRwT|wyz{i 5R9 !R"#$,Нףңۨ֨]WCϭ]^ɴʴ˴̴RŻw wB˙<-.RԼx=GHIJ 8bghijkmnopqrޏstuvwJQRREYZ[@^{0R/M# fWhWgWWcdhi&l*ll|d|4%&'R( ,R)*+,>BC3—×֝ם+ѭ̰Ͱΰϰ޴ߴ,RT-.ABʠˡpqrR456ѦRۛޞޟޠޡޢޣޤޥަާިYFeIR&GMQRSTURmWWrdtvk|m|n|x|D\EXYZRٗ֗ڝߝ۝683ҭodPQRVWXR΂CѪRRR޼NwRRnWWdi0lny|z|PQR,hSTܝO̷fgRhĤˋΌRRRRRRdd4lnrw||bnRnRRvwĕΖ1m=23RsW7lRqRBCDHil=rY:ĄR"RR)QfRddv||R,0(_R~ 6mn{2 Ջ|;R=<=ߐ456789:;<=>?@ACDEFGHIJLOQRSTUVWXZ[\^_befghijklnopqstuvwxyz{|}      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~!p"x"4!1"2"3%o%m%n%p%l$u$v$w$x$y$z${$|$}$~%!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F!9!7"]!d!e!f!g!-!,!j!k!o"#"j"""k$+$,$-$.$/$0$1$2$3$4&5&6&7&8&9&:&;&<&=&>"X"U"W"V"Y"Z"\"["a"5"<"I"H"E"F"M"N"P"O"D"=";">"9":"G"JB!B"B#B$B%B&B'B(B)B*B+B,B-B.B/B0B1B2B3B4B5B6B7B8B9B:B;B<B=B>B?B@BA&!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4#9#:#<#=#>#?#7#6#5#4#3#D#E#G#F#@#A#C#B#L#M#N#$#%#&#'#(#)#*#+#2#1#0#/#.#-#,#8#;!|!{!u!t!~!}!z!y!r!v!s#H#I#K#J!x!w"T"Q"S"R!!!#!$!q!R!S!N!O!V!W!Z![!J!K"e!F!G!h!i$5$6$7$8$9$:$;$<$=!&%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k"!"u"v"p"q"r"t"w"s"L"K"o","$!0!#!l!W#6(54;9m'A(l###7%4@4!Y!u!n!q!s!D#N"q"1"i"j!r#4$J$G$M%q'F%%%9%<'E%+%;%8'P%J+1.Z(9+0(!(:+*(7(<+l4I/R+e580E4>4H0J689s6267FUI{9t@5@8@;<,<-<(<*DWB7B3B.ExZsB/EsOYErEoEwB2H{K&K%H}K$K(K*P2O]SYO[T?WSZgZh_Ic/\3\1RtWLjAa<"3&Z+iWT!v"y$U#7%{%}$V+8M=*L0L1&6=<2jB+:9xI"!P#!$X%.'W'V'X(C+</]/\0M9{9|<4Ey1)!a"A!~"<"0#>#?%J%L%H%G+A+E+B+|0S/g/i0W0X0R1,0T0Y:$Pl6B6E:"=p@BBABCBBB<E}E{B?B>E|I#ObOaOca;Ul>}_Jc0!d"@#D$d%O)o/'+u/k0Z6KF"UoTCUpScZn0\6M=x)r4Spx#K&8+w:%Pv<>DlmS&66P!X#q#,Pz'd!+!;(d%V#0"<#.$j$i$h'h**+L/p+z/q6QQ"L1F$I'`p!]/r=a4VI)!A!_#2%Z(W?xF'GV!k"0",#8#6$l#Q$k$q#T#Y$r#S$o$n$z#I%%'z'm%]'v%B*9+R+`+_+b+Z(Y(\+V)\,%/}+~/u/|,!+}5}0$,C4]4e0j6p4c4\0p4Z0s0q0m0l3C8S0o6v:26g:5:,6^6Y:9:>:-6`:=6_:7G96y6z:06X6e6c:A6n:?::>9=B4z:U<\P>!t#L#J"V"Y"U#I%R%W%P%O%M%T(1(;%{(B(2(:(C(G(4&!(D(>(6(<%](9(0(m(i+~,"**(g0?0B0=0I0G,;0C0P0L0D,?,:09,<0Q0F0A0:.k.x1)5&5-5!561(5,5#5%:q:g:t:d:v:l:j:e7N:n7F6~:o:_6}:p:]:<:m:i:h<_@b1.>Z5@;!7"dBxLc"]#t&(&'(t(u,M1u131s127(7)k5E7+7fB}IJZ7!b#w"B"C"A"D#V"a"Q#{"P#W#X#x#y%`#p#t%d%e#v([*{&1&2&.(V*v(Y(Z%n,:({,[,S,Q0`,_,U0\,Z,^,W0]6|-.0e,T5V5I175L1=>u5M19>x5P4?5S;/;2;)7274;5m=!R4@{(t)2)4,R)/)3,S1%-G/>1T5f5g7I;J7H=3EiC=\gP`P4V/!~#e#h$1"g"p({(}%y$.(|$0$3%s$/$2&$(y)5)7&M,Y)$&H)#&N&L&F*>,X)A,b)<&I)90}7T)=)5-()H):);)@,U7Z0|,^1[-Z5s-"5i0u-#5p-$0w7^1$-+1Z1\1b5kHo1c5u1`2[1]5l;N1l1g;L5m5w;W1dHu;S1f1^-W;R8B1j8H7V7P;\7Y;_7T7N?2A%7U=>;`=72X;[A&A-=;CC?BRiFg=:=<A0FeCBCPFfA/CHCGCIK}CMIeL"FiK{CJCLCFL'KxCKP8L*IgIiIhIk"|ImPiIlL&P9[L[#[)V6[%Wg[$Z)WfP:gxcC_dgsG,^0cBc@_Ghlax#j&&&T+R-/-0-]5z;e=BCTM7L+Tb'n&U&V)M,d!{!z"O"t"s"u$:$6&,&-&0&+&X)-&:),)8)U-3&Y)+'.)N)T,f)',g,i-<,q)V,h)R-2-1,j,e141*5{111:-;1-1+1|2!1{6,@22%6/601y5~1q6%1~1z;k6*7n7b6!=EA17d;j7k7h7e;l;i7p7a;n=P=OA7=L=JA5A;=H=NA<AJACA?AGA@AFAAA9CXCa]2FyG.G-CVF|G'G/C\FwF%F}IuL6CdF#G+G,J$L3#:IyIzIvJ(J"M:I~M>L<J#PtV9PEPsPnPxPrPqTeTjThTcTf[-Wi[2[0[.WoWq[1Wh[/Wr^sZ=Z>cG\@cFp$^2f@`1jIjHy*&[-@-?2'=T$@&:&^&_)],u1>-B8+632(652,7y7u7x7w7v8|;w=\=Y=[ALCfF0F.CiJ+J*J)PIPLWs[:cLfC&;8,AO):)a1A9+;xJ.V>jK)b-I80Ia]QMK#q+p846;6>=eJ0J1"x"y$C&<&?&>&@)?)=&c)O)c,{)d)e,x-&1g-L2;-K1G871J/n-M@Q262:276C@O<"7~;z;{8%<'8"Isp'^6\J_Phn`5`3`4$H(0&m&V&p&l-`)p)q1x)t)s..-]-a-b-^6a2H2I@n8;89!=|={=}=~>"GR]wD*JLLhPfPgVOVNU*U,_wN"hquwy/%%->+{#>$B$D2F`D3D0JPJOPkPjVQcU\Nux$N&x-d1k2O8I8J8KB%D5QGQHPnVSX%){#{&y)[&z'[-C-f2R2T2S2U6g-g2Q9[)B'>(>'D?D8D9D:FhD<PoPqPrQI[P[OZPmW-j)\6hLiQJ!O"V"U$"!t#"&T&O$O&](I&Z$Q&K(J(D&X)a)_)^)b)`&~)h)f'f-D*$'"-T){)|)~-V-L0I8r1p1q-k931t-l6i2$2#1~1u2W6q2c2d6n2^7"6m7B,B7B5BHB8>0>9>-BB>8B4B<><B/BA@'>/>2B2BCGUDIG`^;GYTPGXDFDMDJ^@LnJ_JaLoL|JhJ]LmJYLrFx$aLpPtQKLvPwP}U6PvQOQNPzU-QSQWP{VVQQQLPxQRJbU.U2U8V^V`U4VXU.VWV\U;VYV[U3[V[T[Z[W[`_{_}[[_yZQ\PcZc^c[\RfIp>fJfLhs^9^8_QjN`8kmknaf$*$R&a$n)n'')x'n)s-g-Y-f-a-`-[*'2.-s227+7*742q2v2p2w6HKBJBU>H>F>ITTBKBPBxC<DYGsGiTgDVDZD\GqIXM&M#M+M!M'JjQ%Q]Q[Q+Q_QaQ$QdQeU=VbU?UD9&WQX,Vd\ZZY\T\[c_fNsWjP`:az',)z7XGt-j-v768k){*,8l)})~.S9@-zD_9-[dfP!j23#&&e$U,q'3&w'2'/-l-o*.-n2425-}-|2z3M2y2~78Af778p8r8sDcTx>NB^DbD`DdJoJnJrJqJsQ.Q0Q/VgUFUG[f[e`$SkjQ'4$Y&m$V&l,u'9'.*)*$*%':*2*4*5-r2g27.\.!-~.".&Am.'3Q3(Au3)3%3+3'3.8y8w=,8{KCDe>TDf>SB`>RDj^nDiDhDgGv8zJ{JvJzJ|/tQ2Q4UHVjVk[gh;cecfcgccko$.#)$0$1&q&o&p*.-v-!*0';*1-}2:*7*8,23/2C2D2;302E1'2B7?7B7A337>7C=48}:-Bc=1=0Bl6Y=;>YBeBi@NBrCICVH$%7K"K!M7M<M3M8M4M2QhU]Q7QiUJVoUzV"UN[iUL[-X1`*bxb{\a*9*:.b.+35348~DpDqDoK#K$[lmZ$^'2*4.#*=2J2K.-2I.,3;9!3:3839379#9&3<9$>b>a>]>`Bv>cGHDsDvDtDxDwDuK%K'K&Q?QoQBQAVrVsUQVuUPVq[o[n`,`+hukpjS2L>eM?Vx=@PN$c(b&r*A.)*C./.13d7H=A9(>iByBz>hDyM@K*K)QD\/[r[s`.cijT>m$a$b'7*<*F.-*I.,..2V.7.;.5.62T.3.?.99k2S.8.:3m3B7L3@.<3?3E7K3C9293=F=KKZ=I96@`9/90=H=J:;9598>t@d>o>x>n>v>s>zE$E(_-H*H,E#E!%XK8MBK7K5K3K/%\K.GYK;06QHQIQuQNQJQPW&W"[{[w@kW%@g`2`/`0fXfY^@s\jUkrkqb-&u.02X7NC"H-G[NYQV`7f[ls'F*N.1.F.E3G3H9:URE0E2H/MCK=QW[~cl'H*Q*P.G.I2Y3K7O=NC#@oH2QZE6W,`8_8nH&y$e'N'O'M'L'J*S*V*W*T*X*m*Z38.4.R2]2f2`.M2a3v3P3Q7V7T3R3N3M=P9I=T9J=U9E9H9?9A9K9F9M9G9C?"9L9B?0?-C$?%?&?'?+?,UaGaE9EAE<E7H7ECEFE?EDH:E8MEKEKBKDKGKCKMMGN`K?QwQxQ\Q`Q|QzQ]QdW2W.W1W/UZW0W3W4V"bi\'\)\*\%X7\&cpcncqcof]^AhxjWhzlunM'Q*_3WEJU]W8ctku.W.X3Z3YL+?3EL$2&z'S(z*d.8*b.<-;._.\.b/47[2j2k.^.a3^3a7\3_7Z3`7^=[:YL39X=X9S?@?9??C/?<C2?=C,?>?8?:?;?BENHCEQHAEMEUEOGvK\KXKVKUK^&$K[R#Q}QlQ~0YV3QpQmW;WAHBW9U^U_W?XA\-X=\1\/\.`?N\\ccvcuf_f`fah|h{`uag.?*g*f3H2n.d2q7d3c3b=a=`9Y?E?DC:C;C>?GC<C?HFH$HINvMNQvR%QtQuWBXFXGZdfcb4$n&}'F-I'V*@*A*C*j*o*k*i*l,m.e2u2zBf3g3f7m3e4;493j3i3k7h3m487n7;3d:e9^9b=g9d=j9c=k9a?OC@?MCE?LCB?KCCEW?IA1HQHJE[HSHNEZHLEX_kEYKeKaMTKbMR&2MXKhKfKdMYQ}Q|R+QyQxQzR-WEUcWGXHA.\7\5\6^FcyfeXLfdh~i!b9$i-N.F.E*q*r3!2~2}3o3p7o4E3r3qBo=l9g=mLS=nA9?S?RV'E`_xKlO#T$R%R"R$0oUeUfWLWMWKWOUg\9\:`H`Ic|i"$4*F*v.J3%.m3"4F=o9jCH?T?U?ZEcWR\;Zh+!.u.p3(.w3).s.r3v3}7t4H3w3{7uBv3x9m9t9q=t?[9r=z9u=s9oL[LVCP?f?b?aCRCS?]CN?`CK?cHF9vEeH[EjEiH_EnEhHYEmEfH6K{KuKpMaM^L"MgK~MbL.O;MdL0L%L-KyO2M_OEL,L'KwMfMhL(O6R4R:R1R7R+R8R5R9R;R6R/R=R)R2W[\mW^WZWb\}WeWSUlWVWXWY\~WU]0\D\O\K\P\CXJ\JZl\B\LA?\F\I\@c4\HXMXKcA`VhnZj`ShfZmZiZk\Qc~fiflfn^Jfj^Mfhfm_Vpai&i(j]jaj\`_kvm\mve]*w3/33C"4%4Y7|L`9{9|=}=|9}CZCVCWCYC[HcErHdHe`,HfMkMlMiMjL7&WL5R6WmUsUrWiWjMtWkcN\VXR\U\TcTXSZp`[`]d#\hT:ppjev9lzaE'\3d.W.U.X.x.~3534.|39/!38.}363:4.4&8#8*4'408,4-4+4)8(8-8%>6;,>->2>'>0>%Lq>1?jCeCk?n?s?oCaC]HlEuE~EyF!HgC_HrHuF#HTHoN*OSL>L<L@M{N!N-MvMyL:L=L?MzLDOTN&N#R:RIR<RGR=R>WsUx]?Uv]FUwWnU|U{:9\b\`WrXWXVY)`f`c`h`bGJZsZqm"\id$\j\k^O^Ni*XX_Yi+jfkykx_3`xl|l{mw*y/)8/824`448043:(F%HvRNjk!G*M.\.[.Y*{/*:k/-45?u:*ClCmAeHzH{ROWu\e`mf{k{:t/.1?484647C<:-:1:0?vH~F'H}F(H|LIRSRAWw\j\ki,3@3A4:834;4>4<8584:4:5;::3Cp?xCq?wCoI!F*F)F+RURVX^X`X_\nf}>9>:+'+(/8+)88?zF.F-F/F2F0LOW}WzW{\pg!$m3F3E8:4A:9ApCtF6F4F5F7I$N3LRRZRBR[X!X$X#X"Xdd(_\Vm#-%I$o$n*Q;(*U*P'f(R'b'g'c'e'X*Z*S+3+/+*+,.b._3}+93Q/A/F/G/?;1/m8F4L4H8D4K4R4Q4J4SCX8@8?8C:I::>?:E;M:J:A:@:B:=>F:?:D:KI~MTVv@'Cx@*@#@&Cz?}@(D!@,C}Cy4j@%FEF>F<F=F?RHFBF@F;I)I(F8FGFAL]LXL^LUL\`oLTL[L_B(RcRdRFRER^RaRbRfQU][X+X(X,\tXf\vXgZv`t`sm,d*g"g$g#g%i0CdB$+DD$/J4XLcRk3S3T8JLda!RK^T'o+3+2.g3V/P8KCqCp>J:N:OMcB-@/FOFQFPI,a$I,N>LhLeRlRmX0X4X3V%V&]g\MX2\|d-/S4\RoRnX5\}i3%O$7$9''$v$}',*c*g*d*j'r*b(!'s*e*i'c*a.m+6.p.q.l.s.u4:/U3a/a3d3[3^;V3]/^3\3e0!/Y/d3`4^4l4q8Z4i4e8V4f4b4]4cD,8LD(5*8Y8\5$:l:`:_:d:Y;V:[:V>S:^>T>Q:\:a>UN'>L>k@0@2:eD7Fi@G@I@:D+D)D4@HD=@LFeI/FWaDFdI1FSI<FaI0FmF`F\I4I;aXI7I@NCLrN?LpM$LkNALqNSLmLsNGNENVL}RQLlNJLnNHNUNIPFNPQeQsQvM!LoNQLwRwR{RyS,S!RvRSS%RWR~RMS#RzR|Rrd-RLS"RsRNS'S1FgXDX<X8XB]yX6X;V.V'X=V*V/Xi\~]+XmXpXjXq]#B8]!`N;2`w\s[#`x[![$ISd/d4\}d3\tTh\yd2d8\zd0\ud6g'^Yg(h9_]i7Xr`A`Bx%k}m^l}ajmym{lln7n6|>*m+>/g3g3f3h558b;p>`DABTBSDBDCM&S6]2d;d:d:'..}/!/"/i/k;i8h8g4|8e4{4y<&DH:r>g:t>e;t:p:m>d>f@V@WDKDG@[:n@]DJFxIFFrFsFqFuIGFpFvaiIHF{NZN\(BNWNXM0N[FyM6M/IMS>R\2sS=XMR`2uRa^2XWXRV7XXXOXVV8XNV2XTX_V5V<V1];^5]9Xra$iA[*a!a%cnmKd;d<d@d>dA]&^^g0d=i>_^_``DY%\^jx\caHn9/%;s8iDLG#M7/o:xN^SJ[.*n/(+F0=/r095*:z5-5.5,2Q:y>q50>n>l>k/J@bG%X+ISG-IlIm@fG1G'IU@`G*G.G&G+IZIPI[M<M?M:M9MBM@MGSRSUSVNcSOXcXgVEVCXdV>;YVDXeVAdV]J]H]I]D]Fa*C"dCP%]'dD^_j{Y2`zl&`ym}+G/s51;!3y3x5355;#<5;">sDPDQG6G8MJMHSZS[X2S\^CXhXi]N]Pa-a.[0a,a0^`b<5:DS@gDRG:MQMLMNMSMOSdSaSbXkXjdca1a4dFdGm"/++I/-/~3}5A8|8x5W5D5^9$9(9!5?8}9'5C5]Dm9&5V;3>y>z;6;5>v>{>w;4;*;);+?&Nk?%DWXAD^@n@m@lDZD_DbG=G@GJG<IjGFGBIaGCIiIgI]MYMVM\M^NhMaMXM[NmM_MZNkM`(yMUNqSjRlRm3MSkVGXpVKVL^U]ZJ%]W][Y"Y%]TY'a@iR[3a;a=aEiQdN]-P1dL]/dH]1g=g?U2g>g@g9Y8_ciHvL+I0#Nz?'GLNwXu]aiL5J?(@tGNGOIlMdRpSsRoSrRqXvXwVNgDm$0%5KE"5LDtMgMeMhSuSw]daHaFgE_eaLm%5PE$9/;>InNyNxRrVPY,Y-aJJA[7]h5Q5TG^GaG_GbGeIxGdO(DoMwN"O*)NO.O)M~N!M}MyMxMvO-N#T.R}RzT/T-XbT0Ry^{Y+Y,Y&\xY*Y(VSY3]t]x]r]uJWaPY4aQ]wd[dZgPgLtKk$\wl)aOb.?Bd_`L+M+N-S4"9C9D9H5a5b9E9F9BEE?H?C;T?JDuA*DtY$A,GfGiGgI~N(N'N*N)S#XrT3T4QaVXY2Y5Y7VWY1]|]{]ze5]}]~aYaXaWd`dagRhS_h_g`}man!b=N.]9GkLgO8dcPV'2%"(r*o'i+S+P4#0-004$0.9I5i9M?S;W?NOH?RA/J%GlJ#O:N1N5O=S*S(S)Y8Y9CwY9a^l,"_#2'6'7'8*v()/6+VE"/=+T+X/9/:4m08044(03Gq5l5n5s5k9P5p;^?XA4A6E!Y<A8GmGnJ)J(J`GpO>N=N<X~_<`Mk&/?4+4,5x5t9S665u;`?Z?[?\;dYLE&A=A<A?A>GsGtN?NAN>N@T=T<T:S.T@T;4TS0Y=YBS3S4THTF<{Vi${)5(1(2*z+d+Z/A+Y0@0=450>470<9c9]5}9`9b9d9_?o;m?tE?E>AUATE=EAJAJ@JCJBOYOX*TSGTSTQYU[Tdsgg486$?z?v?y?wAVEDECEEJHO]O\SKSJR8YXVrYL[U]J[V]KiVaQb@9f?}P1EHH-H1H.JJH4JKH3c{O^OaO_TYSOSNY`VsVwTXVvY]Y_^5YMYN^6DXD`atas[W[X[Ydu]MiXiZi[`XaSa'aRb$bDbFi\6(6*;tNLd{AZEJJMH8H7T]T\Ybd|gnqcl3;y@#;vEMA]A_ELF2Z(H:H@H;JOJPH=NOTcTaT`TdTbYcThSRV|YhYd=VVyV}V~^>e~^B^<ese{^;^A[\[[awa{[Ze#d~nIV'V%grgpqiV&_ttbk,`Zl4m-aTmeapn"AaHCHAHBHDSTYkDw^EYRa}a~gsi``[ENW![c[b]Rguk-@%@&@'EQTjTiYSb"b#_u;{@-AeAdD4K>HMJQHNJSHLHKK?HGOhNYN\R`TmToSVN]S`SWS^5QW%Ys=iW"YwW#W$W'W)^NYT^I^G^KYWYU^M^LYZb'b)b-b&b,[db%b/b(b+e/e1e0]Tgwgygvg|g{V2ic_vibl9xHaU6+;~ESAmArAnHQHVHYHPHTJWN`NaTvTwTsTtTuY}Z"Z!Y|YzY~^QD~^P^RY]Y^Y_b2[g[fe6]Ug~k0l:W+Y`4:6,@)@*<$@(<%E]@,AwAtJ\E^AuEVEUEZAyAzJXJYH[+8JZH\d@OjNeNdNgNfTxNiT|T}TzZ'U"Z(Z*`1W-Yd`,W,^X^W^[^Y^Ze9b6[he<e;]W]Yh$h#^}h"igie_wihk1aVm0mgn%OlSg^_b<H]W/U&W.aq@-DJE`H^JeH_J_JgJhJkJiNoOqOpNnOoNmNpSoSnSmZ,SiU-Z.6(Z.W2W5Z-W1^gjn^bYh^hYi^c^eYlbAb?[jbFb@bDbEeAe@]]][eGnfnm]\h)h*h+h-_#r-h(Z>tvikii_zk3k4k2a+`.`-aWmhb'n?b7nW9i@.HbJmOuNuNsNvOxSrSsU0U2U/U.W9Z1Z5Z0W8Z3fQ^n[pbHbGeI]_h0ink5l>m3@0B"bJtzdu@1=Rd^HjHiHgJtKYN{OzU5U6Z8W=Z;^p^sYn^t^v^u^wbN[rbLeMeOeNQyr?_&irlClAa-xRm5ajminIQ}rAJwJvM>SvZKaXJyO$O%U?Sw^~Yp^}^|[sfh]eiwivZOlHlInX=THmKdO(O4P!+jO9O2O+O)T'UDUBUHS~T(UAT&T$T"S{Z@WA_!>IZBYr_#fn_'_%Yx_$Yw_)_+b]k5bgbWbabYbT[vk1bbk+b`bd[x[{[|dr]weUR1e[]lR3eS]k]mh=_-_0h<_._+h:_)_/i}_}j!i|_|i~`$i{`!j?k<k=k@k;^#`g`dx[xVa0lMlNw$aZm9a1n,n-n[EeJzJ{J|J~KkJ}S8O?P#ODO;+mO@P(P)P&LcOAUNT/UMT0UOT+UT6JUJT.UWWKUKT1UUT4UP6QV3WLZQWGWIWFZRWNZP_/_5_,Z!Y|_2_1g&_8bj\!blea\(bok<_6du]xel]}]{ejed]|RBebek]~_4h@hBhArc_3j'j,`(j&`&`'kE`kw,kDw4kG`j`ikHlPlRlQa6lTm=a\c7b*b>nYbCOG_9W)kMysKmOIOJP-T8UX6\Z#br_9a7a8HsHtK!OMOKUYU\UZU]WO_<_;Z'bybvb}bwb|hIhHhJuMuHkNa9Z}mA,1eqer6e_=c!evhKkRlZ,3U^6goReyoThLhNhMj1kUmBB,K#OROSU_Z_a#g@g=_?gAc#\+e|f!e}oXhR_;kVl[mDa^mCmo_@\,j7a:Ualalb_C_B_Dc&hYUbZc_Ec'hZ`*kXk[Z,_F^#Rgoah\n1{zZfa-_Hc)c+f'f%f&_=haj=j<`nwMlilfljmLmKmpavb+b2nKnLnZuakilDhbhcmQb,D!D#!&D$!&!%!&D7D5D8D6!'Db!/!-DaD`!9EbEaE`!UEcE_G"G#"b"a"c#5$?Kd!!!'!,D9Dc!0!:Dd!CHk%1+^!"D:DeEd!D'@!#!"!#!!D%D<!0!(D=!.DfEeEgEf"'G$G%#EKe+"S}D"!$!"D&D?D>!F!E"dG&"($@Kf%1%0+#Xq3N9l9nc*AVAW!$D'!-Dh"eKgD(!)D@!1DiDk!1DlDj!;!l"fG'Kh$B'BKiOg'(DADm!GG(G*G)HlKjKkOhOi+&+%+'+$S~6.AX@3mDD)!2!3DoDn!2DpDv!IDqDr!4!3DtDu!LDs!K!J!<EjEkElEmEiEp!J![!F!IEqF#!m!H!ZEnEoEh!r!p!E!G"o"hG7!oG4G8!y!mG5!q"k"g"vG6"nG9"-G+!pG:!t"m!x!u"l"t!rG,G.G;"*G0!jG3G1G2!z!w!nG/"p"w!kG-"u"."s!s!v"r!q!l#(#9I$Hu$P$H#)Hr$OI&$FHz$EHy"{H}Hx#"#*$N#&$IH{$K$CH~HoI)"}$D$L%=HmI%HnHvHw#$"~H|Ht"zHp#'I'I*HsI"I(Hq#%I##+"|I!#!dH##dIKy%?%KKq'G%LKlKv%>'OKo%9Kw%8%<%C%AL!Kz%3%5K|Kp%6%B%IKu%;%4Kt%7Kx%:'DKs'QKn'HK}%DK~%H'C%F%JK{%>%2%6%@Kr%EKm%G'L'I'K'J'M%DOxOl+-+.)")*+6OkOsP!+,)0).))(8(>++Om)/)%O{OrOz(~+2),+/)#Ov)$+3(}O}OpOyOo+()!)&+))-OwOt)(O|)+)'OqO~OuOnOj(?+5)-+4dJ(=)1T:T$/HT4/MT9-q-p-u-vT'/DT0/X/L/VT=/FT1+b/K/I/G-jT*-k/OT?+dT6T!T"-~Y$/ST/T.-lT23^T)-wT8T7T--o-x/E-iT,-yT5-mT#/NT&T%-zT3T(T<T>-tT;/Q-|-n-}/C-r+a-{/P-s/T/UT+dK3f3Z4<Xv4?3_3eXu3XXy3\3UXw3YX|Y#4D3j4A3T4BX}/W3i4G4=Xx3[Xt3V3R3`3S3Q3]3c3dXz4@0G:?3a3P3b4KY&3gY%3O4C3W3hY!X~X{Y"4L4JXr4E4FXs^.9u:B:;64^+63:C9q9r66:9:<^*:=9o61^-:A6<:7:6^/9p^0^,^1:5:@:>:869606:^)::dM@9@<c1c+A\c4AbAec-c.A_c,Ahc2Ai@:Adc3@7AYc0AZ<)AcAa@=A]c/A[c5A`AgA^Af@6@>g|gyEkgzB-I!HwgxguHxEnElgwH{EmH}EvB5I&EpEuI%H~gtHvgrHyg}H|EqI"gvgsI$I#g{HzEtl#OTK)OQl$Hyl"K+OXOUONl!K-l%OOk~l(OROSl&l'OYOVOWK,K'dNp3VCp0V@p2p4P1VAp1OZVBP5V?P0P4sA\IsB\GUe\H\F\ETAT@\Js@P3UiaDaEWROPaCsCx+e7e8\2zbzckOkN{X{Wn}`oD*DBDx!=DwEsErG>G=G?G<"xI,I+I-$T#;$S$QL#%?L"L$'RP"(@"y.!"zY'"|"{:D9v"}g~"~^%D+!4DyG@L%+7D,D|DzD{GA"z"4I.L'L&L(.{T@@?dSp5!'!>!M!H!N!.!REtEu!x!yGB"6#,'UP$P#.#."Y(!(D}!5!z$W%M+9P%/[TC/YTATB/Z4MF\p6'/Ev!^GC!{"~"}"|$YI/I0$Z#-#=%NL)%O%@%C+;+=+>.%.&TF/^.'/_.$TGTETD.(4O3k4N9}9z:E6?9~AjI'K/K.K0l)p7VDTBD-D;!/!5!Q!{#""Y$['Y%EY)^3Feh!Ez!#D~!`EyEwExL*'ZD.D/!*DC!6!RE!E"E#!LEz!}!KGG#%!}GEGF!|#$#&GHGD#'#.OO#/$_$a#0#@$\I2I1$^$]I5I3I4$`L0'[L/%T%Q%R'^%PL1L-L,'_L.L+']%NdOL2P')2+?%SP,+@)3P(P+P*P)P&+C.+/hTJ..TH/e+n/b.*TKTITL.,.-/`.).//f/a/c.-/d4P^7Y*3l3n3m3oY+:#^4:!^5^64Qc7Al@AAkAmAnc8@@c6I(I)h#h"LaI%K1l*l+l,l.OZO[l-K2P6p8Odp9P7Ume9kQkPn~`,D0!7!T!SE|E{GI"B"?!~"A#(I7I8I6I9#1#2#F#G#H$c$b'a%:%7%8'`%;L4%U%PL3'b)4P0)5P/+H+F(IP-(KP.+G/o.0/l/j/m/nY,3q4RY/3p[+Y.Y-^:6j^9^8c9@E@Dc<c=c;<<c:@FDgI*F!I+DcE~K3O]l/O\M,p:\KsDSbe:ya'4DDE$!6!UE%E&!V!0"#""E}E~"$GJ#3%V%W%QP1.1Y1Y0:G:FPtP8D1E'F!0^Y2!$!e!MF""&""GLGK"!I:dP$e+I(N(PTM+x0_3rc>I,h$F#K4VETD\4hj!)E(!W$f%X)6Y5Y3Y4D2!0DE$?E+!YE*E)F%F$#*!N"#",#+#-L8L5L7L6'cP2+J0`^;f0D3!ZE,"'F'F&#4#MdQL9*\0d!*!1!7"(F)F(GMGN#5I;$gI<'eL:L;L<'fP3)7+K0eTN@G!%!DE-![!g!f")"$#/#6#7%Y'g%Z)9)8);):P4dR3sTP.2TO4T0h:H^<:(:I:'@J@I@HI-h%F%<@F&K5l0TEe;m.!+!\!E!8"*F*"H#1%Y'i'jY64U:)D4DFE/E.!^E0!`!i"+#3#OL>'kL=L?+P+OP5+N+M5xTQ@KVFv;DGF,F;F6!lF1F0F7F5F.F<F/F+F:F9F8F-"1F4"-".F3"/!PF=F2!j#5#7GT"LGZGV#9G\"%GYGOGRGUGQGXG[GPGSGWG]#:#;#4#@#=$vII#>I=I?IWIR$y$~$u#E#?IAIC#DIJ#:IVIXI>IO%$#8IU$wIF${IPIQ#9INIL$pIMIS#AI@%!IT#CIHIE$s#<ID#FIG$|IK$x$t$mIB#B$}%"#;%#%d%c'n%k%jLQ%m%o%d%g%nLR't'x%a%e'u%_%i)JLM)NL@%fLALNLGLC'q%bLFLKLT%c%\LE%]%_%`LH'lLJ%[%`'p'yLSLO%hLU'sLL%^LI'o'wLDLB%lLP%q+\+])I)=)L+W+Y)?P<PJP8PIPAPFP6)>)DPE)PPG+[P=+T+^)F)CP;+Q)<PH)KP@)MPKP7PBP?)APC)G)HP>PDP:+UdT+c+aP9)@+S)E+X)O.FT^.4,-.9TWTb.7TRT\Ta.>,&T]T`/w0!.ATX.8/t/x0".D.E/yTZ.CTVTe,).;/{TT/z.H.<.@TYTd.=T_.B.I4$/s.GTfTS.?.6/vT[,(,..5/~0%.:)T.B.J.3Tcg!4_3z4hYI4*YGYD4!Y@4%YK3y3~3}TUYF4(4f4+3v0w^N4g4,YL0rY>Y;4#Y80t4)4[Y?4-4X3w4'YB3x3{4"4b4aYCYAYM4W:64d0kYH4^Y<Zv0zY=3|YJYE4&Y:4YY9dWdVg"dU3t3u:N:<^=^@:Y^T:\^>:U^D^JaC:1:8^H:R^U^A^I:ZA|:_:S6\:J:W:Q^G:]:.:*^C^W^P:3^E^B:@^M:4:^:P:V:X:L:[^?:K:B^F^V^R:M^L:;9q^S^O^K:/:TG)g#^QAzAv@QB'AoAxcLcMcEB#cOAtAsAqB%cCA}ArcFA{cAAwA~B"@NK=l4Oil6Oal<KDOml3Ool2I1OjOll5OhObO_I.K>:OOeK7O^OdOcK;O`KCl9KEK@F5K<l8K9!cK?l:Ofp;OgVOP?VHP@pGVLp?pCVKP;pBp>pAp<pFVMVIpEVGpDVNVJl;OqpHVPp@p=S]P=TH\R\TsF\U\S\Q\PsH\OsIUtTITGUx\M\NsEsJsGd]d[\LW[v<WZaHaFaKaIWXaGaJWYWWW\x,e>e?x-_Me@e<eAe=v=Z-d^c1hkhmydhlycybg&g'd\^&yekSkTf4zezdzfkRg(mFmE_@{Y{[{ZmG|4p4jDjC|]`qp3p|!*!w!oF?F>!mG`G_"'G^"&#>I[#I%,#H#P%&IYI\%+%*#G%)IZ%H%'%(("%p'}%qLV'|(!'{PL+e.J.KTgTh0'4/YNYP4.YO:`^X:D:C6hIc%0I_#J%@%6%/#K%<Ia%-#MI]#N#LI`IbIeIdI^#O%2%A%B%3%8%7d_#R%5L[%~(%L](#L\(&&!LZLY%u%i%t((%r%w%v%s%|%}%z%xLX()%f%h%{L^&"%e(*%y($PMLW%n&3d`PN)U+i+h)[+l+g+jPT)Y)_+q)V)Z)\)^)X+p)W)R)SPO+kPQPP)T)]+m+r+n(`)j)q+fPS(^)Q.U0*.T.Y.P00.S.R0/.V08.ZTiTl0405.Q.W030(07Tk.L0+PR4=.X06.O,3Tj.N.\02444n4qYQYU4D424@YV4B4r4H4t4L4i0{4C474?4k4M4K4A4<45:h43YZ4:Y[YW404F484o4u464IYX4v4OYRYT4>49TmYS4;4J4N4Eda4Gdbdc416i:J:c:E:l:k^`:d:G^a^_:P:f^\:j:L:e:g:a^Z6o:t:s:p^Y^]^^.M:m^[YY:o:b:r:q:N:u:IB6:K:n9}9~IDh8IJFBF<h=IFIMI>h?h9ICl?IBIKh:F=h>IAIGILI=h<IEF:FEIIIOI?IHF8h;INFAFDF@I@BYdelCOrlAl@OtOyKFOuKPOxlFKQp.lEKKOqOwF?lDOvKMOsKIlBKOKLKGVWPJVYVTpJVVPKpIVXPHPLpLVZpKVSVUPITKsN\XTLsM\YsL\WsK\Vv?v>eBeDZ/eCx.x/Z.FEx0hnyf^(o"o!|^DIE1#CIg%E%C%D(-)`+w4w^b^c:RB9h@IPOzdfPM!9!:"5#D#P+z+y!:%F&#)a.[TnFFe`eE_RzgDJF@!Q"6GhGi"RL_%p4yY\7=hB@_hChAKSDK!IE2E4E3!;E5FA!R"8FB"7!r"9"S#GGjGk"+%IIh#b#Q%uLc&$%rLaLbL`.\(.(/dgPXPWPYPV+|)bLdPUToTp,8Tq4{4P4|4}1&^d:vY]:S:T6y@`c_@ahEhDIQFHlGpMO{aLmHo#DLFC";FD"1GmGp#K"/"-Go"0"2",GrGqGnGl".#M%UIs#g%LIp#V#Y#X#iIjIr%K#jIo#U#SIn%V%S%NIiIl%Q#T#[#WImIqIt#R#ZIk(A(3LiLq(8&0&)Lr&4&%&,(E(@Lh&&Lf&-&1Le(=&2&+(7&.(5LtLk&5&3(?LpLn&*Lm&(&'LlLjLsLoLg,&&/(FP[,-Pb)pPZ)h)d,!)t)c,,P])mP`Pc,.P^)qPa,#Tx)w)e,$,%)g)n)r)v)s)l)o,+,))iPe)k)j)uP\)fPd,*P_,(T~.d0@T},',@.b,>Tr0OTw0J.a.^.cTs.]0NTvTt0>.eTuTy0;0ETz0HT|0R,9,=T{0<5"58._.`0M6W0K.f4WY^;&4V4i5(5$Yd514g53YcY_4p4`4c5.Yg4m4eY`Yh5*4j4h5/5;4Y4n4b4]5:4S4o4_4R59Yf4d4q4a4U4Z4Q5'Ye5<4^4[Ya4T504lYb5+4\4X5)544k523s5755^e:}:u:z;-;!;.:|^g:c:a:X;*;':[:w:r:Y:`;(;+;/:{4f;1BM:f^h;2:x;$:b;):\:^^f^i;0;3:|:y:s:Z:{:W:z;":~^j:V;,:y:x;#;%:wBAB?chcfBIB@BJBFB>BLB=BDcecdccBBBGc`cg@gB;@fBEB:BCcaBHB<cbBK@d:k@jdhdiIUhJhIhKIaIWI]IRI`I_IcI\hFI[hLFLIThGFJIbhHIVIYI^IXISFOFSIZO|lKP!O~P#P%K\lIKXO}KTO{K^P&P$P"KVP(KZP'lMlHK[lJlLK]K_P)VaPPPSV`V_PQVbV[POV\VdV]PTpNVfPNVeV^PV\]sQ\[\`\_VcTPsPTN\^\Z\b\asOTR\\TOpOTQTSv@Z1WaW^aMeFeGeHygc4\6yh\9ho\:kVkU^)_BmImJo$p5`sDMDN!2DOE6FE"3GsGtIwIxIvIuLu(H&"&6LwLv&7&#dj(nPf,/U!.g4s1,Yi^l4r^k@qhM@rIdpPPWsR\cZ4yi\;{\!;!S"=FF!TGw#PGuGvGx#oIzIy%Z#\I{&%#]&8(L&9(JLxLzL|LyL}L{(N(K(MPjPgPiPkPh.h)x*9,2.j.iU',FU#,I6fU$U&U(U%0WU*U),H0V0U.~Yn4u4tYm5AYlYkYoYj5?;9;6^n;5;:7$^p;8^m^o;7:~BN@tBOBP@u@v@sGy%^%\%](PPl.kU+0X0YYrYqYp^q^r;;hWpRDQ!<E7!U!s"?"4Gz"\#R(QL~,4;$BQ@xe%DR!KE8"5#^&)#_%_I|%T,5;<^sBRIITTsSDSDgE9!VFG#TJ"J!I}I~&:M"M#&;M!(T(UPp)yPoPmPnU.U,0Z0[.mU-.ldkU"4v155CYtYu;&;%Ys5DhXIglRlSP*sTaNaOZ8zhp6!+E:"_DT!X!W!vdl#UG{"7"8"6"`"9#Z"G%a%f#g#z#b#d#f#cJ&#`%b#aJ#J$#e#hJ%#i#|#x%c&I(]&C&>M%&F&D&=&J&M&H&AM'&GM(&B&E&<&@&LM)&/M*(^&?&KM$M&(\(_(W&4(X*,*%*+*$*&)~)|,?*-**)z,;Pr*(*)dm*')}){Pq*#*!,<,B*"*.,>,A,C,=U30cU20_.nU/.p0dU4.q,`0aU70bU5.r*/.t0^U1,\U0,a.o.sU6YwYv5K5H5G4x4|4~Yx5#5QY|5%5RY~5OYzZ$5UZ!4zYy;+4y4w5'4{5FY{5&Z"5"5!Z#4}Y}5N>v5J5(5T5$;K;R;G^v;C;S;=;P;N;H;6;Q;J;(;B;T;@;M;>;';U;7^w;*;OBU;A^t;.;E;4^u;D;I;375;F7/;1;L;-BYeIZ9hphq\=yk\<kW\>zif;kX^-mL{^_C{]mK|5`0o%khjF!<!,DUG|":#jKVZ%5WKlDVFJFIFH"cJ'U8B]DWDXDYE;%g(`Ps,d*0,E,D^xDZ!=!c!LFKFL!YG}"\#\%h#k%kJ($##lM0(b(a&OM.M-&NM+&PM,M/Pt,FPv*4*1*2*3*5Pu.v.u0fU:0iU90h0j0g5[Z(5*5YZ'Z)Z&5X5Z^z5)7|^{;W9y^|;V^y;:;;;=B`BbckBaB_B^=*C5F]Iyh_h]C0h^IwIxKmh[P:P8KplWP9lXlVh\N^dsVwVuVvP7\hsY\gaQaRVxeJfwD[FMH!";G~(cM1cl!=E<FNPw^}!>!Z"G!["H"<fxJ*#p#nJ+#m#o#q$(J)%n%mM5M6M3(e(gM2*9M4(hPx,H*8*:*7*;PyU=.w0l.yU;.zU<.x0k*65+5.5/5,Z-Z,Z*Z+5-5a5`;?Z.;@;>_!_"HE_#BcBeBgcncm^~BfBddtI}FaF`I{J#h`J$J!haI|IzJ"lZP<I~l\P=l[l^P>lYl]V}V{VzV|VyP\[!x3duhrhs\?kYmM}"!?#aM7J,(i(kPz,L,K0nD\E=!MFO"=%oJ-#r(m*<P{hbD]!d"I#bH""N;BcoD^E>E?FQFP"k">H#"l#s%qJ.(n&R&S&T(pM8M9&QM:),,pP|*=,M.|U>0o.{5bZ/50Z0515c;G;E_$7E;D=0BhA?A"J&J%hcI^l_P?pSV~sZWc{_o'!@!A"J#Q&U(q*>Z1;XcpA#P^TCWdvAad!BJ0%rJ/P},P.}Z3])Z4Z2_%A$J'hdl`_E!,"?"m#uJ1#tJ2$,M>&X&WM=M;M<&V(v(uQ!*?Q$P~Q&Q"Q#Q%)10p0rUAU@U?0qdv53Z5Z8Z6dw52Z;1SZ754Z:Z91R1W7J;Z;Y;K_(_&_';[cqBjcrBi=4C?P@FcFdlbJ(laKrhedxW"W!s[\ieKhthu^/E@!6FR"M"q!\"L"fJ4J6%x"B#x#w#v#f"A"@H%J5J3H$#g#i%wM?&Y%{M@#}&P$!#~&Z%v%t#z(~J:J8%|#y#{$#&"J7&!#|$'MB%}$$J9&#$"$%%zMA%uMC$&(x)"&n&a&_&m&hQ+MD&i&lQ'&kMEMJMH&b)6&]&dMO&oQ(&e&OQ)MK&g,Z*NQ*&\MLQ,MMMIMN&f&[&jMF(w,[&^&c&`MG(z*@)E*A)!*K/#*LQ2*O*EQ1*G)?*H,`0y*JQ-,V0sUE,W,]*F*BUF0~)>*PUB/!*I,T.~*D*M,_,aQ0UCQ6UD*Q/"Q/UHQ5Q4Q3UG*RUIQ.)K*C0z0x0{,\0vZ</&/(-%/*UJUP57/./%Z>551"UOUM/0--56-,/'1%UN/+UQ/-5h0tUL/,///)1'UKZ?5q/$Z=5r1k1#1(Z@1!5o1&595B_+;TZBZG_,5DZN;]5:ZFZIZD585F5I;l1h5G;aZEZLZP5A;\5EZA;^5H;`5=5j_);V5;5<ZK;U5nZJ5?ZO5CZH5@5yZM_-_*;_;X5>;YZC5v5x;Z;M5t_2_6;ccw_4;g_8Bk;icy_0_3;j;^;k;q_:cz==;m;r;fd&;Oc{_9;d;s;Qd%_7ct;p;]_;;h;b_1;e?0;nA+cscx_.;o;acv;b;c;P_/dyd$J*BvA)BnJ)=9BrBtA'A,BqFod#=8Bpd'FnRdA(J9FlA.d"hgBwJ+FmA*c~BoBshfcuBlBmhhc}d!c|BudzJ/J0J5lgJ<KshnK~hmJ7KtlfJ,hlFqJ;hjhkK|J8PQld_5FrJ:lkJ2IoleFjljJ-J1J.J4holchiL!PCJ6FhliFsll"qJ3FklhPBM*L#FtL$KwPGpWPAW.PPlpKzlnpUPMPIltKvW%PhL(PglrPHL)W#L%PLP;POPFKylsP7KulmW$pVPNlolqPKluPJPEPDpTPRW'\kpYPaW-PcW+Pj\lPdpZW,PfW)s]\jPlW&W(s^p\s\p[s`W*pXPbPePkfy[+a[V3aSTaT_T\T^T]\raT\nV2T[vB\p\os_\m\qa\aXaZ_`aUaV_aaYaWx4Wex7x6x5ylhvymeLzjkZzk{`|6o(_Fo)o*a>r*EA!]FSH'H(H&#kH)J<J;&%&pMQMP,c/1ZQZR1n1p;d_<Bxd(d)BzB|B{=CJ>FvJ=hpJ?FuPSlvL,p]PmsavCsb_HEB!e!f"N$(&(&)&qMSMRMTQ7*S*T1)/2URZS_=;tEC!7D_ED"P!^FWFVFTFU#oH,"I"KH+"C#l"D#m"J"F"HH*"E"L"G#n"QJCJLJJ$2$/$7JH$8&9JA$5&.JG$1$0JE$6JFMUJ@$3&*$)J=&7JP$.$4JBJD&/$*&6$+$,$9JOJIJN$-JMJ?J>JK&5$<&3&4&8&1d{$9&2)1)*Mc&}&vM^Mq&r&y&{&~Ml)&&z&sMj&w)('!M[)%&|MeMd&uMY)4)2MZ'0MX)3MpMhMbMV&xMaMWMiMr*UMf&tM\M_M`).MnMoMmMgMkM]Q8)0)7)5)6)/)),m*[QDQ<Q>QC*gQA/3USQF*X*`QB*_*\*d*fQ;Q?QEUU*aQ=QH*Z,o,p)EQ@UTQ:)Y*W*^*V*Y*]/4QG)Q*b*c*eQ9,l1213,k,n)[Uc/@UaUb/6/F1,UX1/155J/H/B18/917/K/<U^5a/?U`UW1</M/AUZ/:/7/8U[/G/NU]/>/=UeUdUVU\U_/J1.19/DUY/5/L/C/E/I101;16d|d}5K61Z[ZoZn6'Zc6)5]5Y5V5hZ^ZV6&625[_MZZ5c6"ZpZm5_5N5|6+Zl5e5MZaZe5d6#5WZfZ`5L5}_?5g5UZk5X5fZj6$;u1wZW5SZ\Zg1xZb5\5R5P5bZTZhZX_>5`ZY2#ZUZdZ_Z]5TZi5Q5^5Z;w;v6-d~6.5O<);q_A;pd2A>d,C)C%C@C.C/C&C:C1C;C3A=d-J@d0d.C?C6C2A6A3C'hzC5d5C-A4C,AHG%ABd/d+JUC9C4C(ADAEfvJPFxJAJLG(JShx_QJQhsF~G$FzhrJXC]JBJOJCJNhvJR<'G!C^G*JYJJhyPalwG#JWJVh{PTlxPUG"JFJGJDJIJEJZhulyhwh|F{JHG)JTL-G&JML5PXL8hql|W5P]P\P^L0L/P[l}L;m%m"L1m#PVPYPcm+m)L.PZ;}lzP`PWL>m,P_htm!JKL?L4m$L=m(m*m'm&L:l~Pbl{m-L9e"L7papbW4pkphPpp_pfW6pdp^L2pePwW3sdp`T^pgscW2W1PvpiPopjPyW0W/seW9pcW7PuTdsfTgsk\u\wWkshWm\x\tWl\vsislTi\ssgsjvEW8vD?bWjvJa`WpvHvIaca_vFa]x8aa[6aba^WnvGeMZ;ePZ<Z:eQeOeRx9eN^1hzyohyhxhwynype#k[zmzl_J_KmOmNmQ|7{ao,mP_I`2o+|9|8|_p7p}EE#l,r<7W:!g!hH-"MJSJQ$?JR$>'"MsQI,t*h,v*i,sQJ/P-CUfUg/O1=-D6766Zw2+Zs2/5iZzZyZrZuZxZt64<;Zq_T;t;u;v_V_W<:<=_U<8<<<9AKd9AN=]CBAMG0h}J[plm.Pdm/m0PfPePgW<W;\z\ysmsneS\AEF%X)9-G1@<>6869_Y_XCCadzno-EG$AUh1BZ|Z{QM6AAPEJFY"QH/H.#s#rH0H1"O"N$9JT$<$;$:$=&=&bMv'*'&'/)C)>M})BM{'+'''.MzN#')'%N"',My'-M|M~'1'0'(MxMwN!&a)@)A'>,~,z*p*v-#QSQP*m*r,|QVQN*qQQQT,y)g*t,}QO*yQR-!QU*n*s*w*o*l-$-%*x*u-",71FUrUkUn1LUq1D/W1IUl/U1HUp1M1EUm1C/XUo6B295n[%5m5o[$[)/V1K5l5p6D[&5k[(6E['<&d?d=CJCICFdCA[AVCH_`AYAQCLCGd@d<dBCKG4CkG5i%CoJ_J^J]i#CmG9G3G7i$PlPom2LDLFm1PpPkm4PmLAm3PjL@PnprpoWFWELCWDW?P}W@Q#PPPzppP~pmpqW>pnWAWBWGQ"TqWCToTp\}VATlTmspTrahsoafagvLx;eVZCx:ZBe&h}h~\Byq\Ch|zojLo.|:p8p9a?EK!|H2H3JU&A'2QWUs[*2sY7_d_e^2J_$?$CJ^&I$G$B$EJWJXJYJZ&EJa&D$AJ\Jb&G$@$F&BJ[$DJ]JVJ`&J$"$F$SN:)G'5N&&iN0N1N)N;N+'=N6'8N,'G'H'@'9N9'EN4N2)R'F)I'D'<'4';N-&eN3)JN''?'>'6)ON5'B'7N8'IN()HN/':'CN7&gN*N.&j'A'N)N)Le('Pe)+=Q_Ql-6+8+.Qe+,Q^+'Qh+4+!+#-.-Y)n-0+&*|+3+CQc+(+:--*~+A+B+E+<+-+5QiQ\QdQpQYQ[-1-+-:+%QmQf+?+"QoQj++)m-NQn+2+*Qg+>+6-*Qa+D+)Q]+;+1Qb+7QZ*}QkV'Q`+0+/+$)Q+@-4+9-2QX-9-71r-8e+e*+H/nV./o1]/cV#V/1W/\1S/e/m1[/[/vUw1^1d1P/u/p1_/qV!V,/g1V/h/r/i1c/d/^/_/l/f1T1OUxU|/t/`V*V&1Z-UV)V0U}V+/kV-Uz1YUy/]-O/aV$/s/j/bV(V%-/U{U~1b1X0$1a1`e-e,6(6U5v5w5{6`6,6)6N6"6![36%645r6[656'696-[26+[-[B[86W[<[;5s2?626860676Q6$5t666&[0[=6Z6/[66M6\6P6.5u[>6K[@61[A[/5|636T4x[5[?5~6*5y5}[:5x[.[7[46#V"J}i1K(Jdi.CwJyCyi/JkJvJrJtGCi)K'i7JuG;K*D'G<JeJzi,i5i3JgJ|i2GEGHi+JxGMGDD(LTK$GLP|GBPxPtQ*Q'm7LdL`Q.P{mBQ$LOLQPwQ#m?Q7J=Q4Q&PuL_LWQ+Q-m;Q!PzPqm8m@JHQ0mAPrQ6Q)Q/m>LMLPQ,LGQ3L[mCLVm=Q%PvQ8PsQ1m:LJP}LIP~m9m6Pym<LRm5LbQ2Q5Q"WUL^LYOBLae0WMQ,WIq!Q<Q8ptpypuWWWbpsWOWXQ(WYQ(Q+pzQ@Whp~q#WKQ;p}Q1WfWgW]W\WTQ)Q>W^WeWdQ/pxpvWVWSQDWPWcq"Wap|p{Q'W[JKWJWLWNW`WZpwQ.WQQ2W_QAQ:T{WRe1U)e2Tusx]1sq]"T{]-ss]4U!])T|]$TvVE]5\~]+U'sz]0]6]*sr],]!syU#Tz]3]&suU$](]%s{]'stsw]/]#]2Tx].U)WtvOasvTvUWwX!WvvNarWxaoapvRajanvQW~akWyX#W}WzvSvPX"aiamaqW{e3e\eYebZDeae_eZZOx?ZEZN_qZGZMe[x>sve^x=ece]eXalZHZFx<e4eWi$\Ii#e`ysWui'i(i"i&cPi!\Ge5cNk_i%zrzpk]^5^4^3k`^7k\k^zq_O_NmSmT{bmRiLe6e7o1|;o/o0p:`tkQ}#q#q!q"q$a@aeaAr+ENH9#yN<&q'J)S)T+F)r-<1f/w/y1e/x1g/z[C6;/{6b6:6<6=<}`"<~="`#`!=!A}D"C~C}A|C|C{dXD!i9K+K-i:K,mELfmDQ9LeLgWjWiWkQFQEq$U9]7s|U+atvVed{cEOF_H:JcN=N>)U)VQq-=1h/|=#=&`%=$`$=%D#B"D1K.K/K0GTQ<Q;mFQ:Q=WlPm[rWmWnVR]8s}vXeezs!?)YQt+IV32N2P[D6e`&='QAWrWqq&Wst!]9U-avefmUETFbFa#!N@!A!_H<"X$I$JNA)]'Ne;Qw+M+NV4V80'V7V5V66C[G`*#|H?$#HE"[H=JfH@HAHD"]e<$[$Y$LJr$SJm$M)d$U&P$RJp$QJw$ZJy&SJ{#~$K&WJn$\&QJuJx&L'eJhK!Jv$NJkJz$VJiJj'c$OJqJ|$]$PJo&MJt'OJ}$WJs)cJ~Jg$TJl$X'd&N&R&\&Y&V$h&[NMN]'VNT-N'kNE)kNH'b'&'T'XNPNR'[NYNKNINJNX'gNS'Z'\NQNV']'j)mQxN\&}NF'i)l'm'Y'o'`NO'UNNN`NU)j'S+WN[N_'a'f)eNaNZNLNB)iNG&{'WNC'n)g'Q'P'^'RN^V9NW'_ND-OR)'l-F+^+a-P+d+Y-H-J+g+j+l+VQyQ~0,R0+e+m+]+U-I-G-M0GR#+b+Z+\R(1z+_R"+R+h-K+k-E-WQ}-SR++OR-Q{R1+i+QR.0A'hR!Qz+X+PR/R'+cR,R*+[R$+SR%R&+T+fQ|+`*!-U-Q1w1s0/VAVF1y2&1v080>0:0-000)0*VMV>090BVHV:1oVC01VE020<2"2%1rVG0K0+V@V?VK0(0I0=0J0D060E2!0?0H0FVL07V=V<VDVJ0CVI04[H1x0L030.VBVNV;2'0;0@1}1{1|e=[j6E6I6o[W[U6z7![L6G6F[`7)6)7'=Y=Z8[`,=L`@=@=2=3`D=7=>=8?dmDNdhDDB3D)dnddD8D.D1DId^DPDHdgD=drB.B6dqdkB@>6DOd_D;D2D?DKdsB9daD:B-D3djB1diD6D@DJD-D7dbDAdodfD4deD+D9DM`EiWD<K4D>DLdlD5d`dpmZD*TNDCBDB>BGDBB=BEB?B;BFKPiTKEKJiIGVK6iVGWi@K5KViXK9KIGeK;KYKUi>iHQ[iUiFK7GcKTiJKQK^K=KFLxG[K\KRiELjGdKDi?i=iODCG_KBK?K@GZKXG\K]K[iCK_iGiNDDK8QCKAG^iAiSiPiDKKK<iQKMiKiMi<G]KOKGK:iLKWKZKCKNLtiBmIKLQBGbKSGaDROyeDeEGfeCK>QLQVmLQUQamNQSJXQWmYL}QNmQLsQZW{m]m\Q\QKQfmWLkmMQ_JiQcQhQ]QQmPmSm[mVLuQTKHL~LlQPQgmRLymUQimJQ^QDQdt*LzQRPumKQMmOQEiRQIJWQbQJQHmTL{Q`LwQGQYQXQeQOmXJdeGO}eFW~QVq3q)X,Wvq+X$q2q-X"];X(X.X'WtX%X0X2q(X1q.q4QTq1QXX+q0X&QMWxW}QPX*q/q,q'q*W|Q"QFWwWzX-X!Wu]:X/WyX)LqQU]=t.U0U/t"U5U6t&]?]E]Ct$t%t,]F]>t'U1]B]A]Gt-U7t(t+]@t/t)t0t#]DZU]<QYU9b%eHv]b"b$X(v[a~b!azX*X'X#a{v\awX&vYb&vZaxaya}v_X)v^[^X+a|xEejepxFegxCx@erxDZRxAeielemeneqZTb#ehxBeoi4ekZSeJeIi+yui.yvi7i-i*\Qi,i0i3i2i6i)\Oyti1i5i8i/kakbkfkg^<kdkekc^:zt^;{dmY`6_RmVmWmX{e`7o4o3eKp=|`p;p>p<q%}$}2qqq[ayqpr>r?EV!P$($&HH"a$'$+$^&bK"&_K%&^$_&cK#K$&`$q)w'x'z'u'r't)t)p)uNe)o)y)vNc)r)q'vNd's'pNb'w')'qNf'y'++o-^+s-\-ZR:-X*&-e-b+v-_R2R5R7R9R6+r+q-dR4+t+u-c+nR8-hR3-]+peM*(2(0Z0[0\VS-uVO0Q2*0Y0^VT2+0O0U0N0X212/0TVPVR0]2)0M0P0V2-0W0_0S2,VQeOeN20[r6q70726s6o7/6{6m6z[n6k=_6u[q756v6y7.6}7,6r2r6w7-71[o[p6|6p6l6~736tePeQ6x6n`N`O=i`Uq7Q^q8QfX;q:X7/OX@q=XCXDq>e]e^t2t9]H]NU<]Lt5t4t1]JU>UCU@t7t6t3UA]M]I]KUBt8Zsvcb)X-v`vab+vbb(X.b'evb*ZVewxGeuZW_~et\YesxHe_\Vyw\X\Ui9i:ZX\S\Weakjkizu_SkhmZm[_T`9o5p?aCaBq&r,}Fr@EW!QNgNh-i**R;="Jlt:EXNiVUe%EY-k[si_!B)|+w0`>LKkJmt;EZNj+x+y=j`VB]DhB\B[e&KlD^M.mbM-xIE[=kE\HJ"bHIK(K'K&$`&d*!*"Nk*#Nl'{'1+z-m+}R=+{*/R<+|R>0c0b0aVV267"7#[t7!7$`X[u=$=#`W=o=n=%=l=m=pDjDiDm>ODlDki`KoGuKniaKmQ{M/Q|mcQ-XEXFN7e|xJe{ezexeyzvi;m\q'a{E]!8!dFg!e$,$-#'"c"d&k&i$f&f&g$b&j$aNm$eK*$cK)$g$d&h(!+~'}(&*&Nn**Nq('(#*'($'6'|Np'~No(%*((",~,$R@RA-u,',!-t,&-p,"R?,%,#-s-q0i0f280hV[VZVX0e0jVWVY0g7,0d0k293#3*=&7'7+3T7*=r=}3-7;7-7:7(=q[y3"3,[x7&7)[z79[w[v7%7.=t={='`Z=z=w=.`\=)=+=*=yBa=-=s=u=x=v`[=|`Ye'=(DqDpDnT|e*e)DrB_DoKpibe(BbebecDtDsM0KsKqmdGyicKrQ~GxGzGwJwmeQ}R(R'R%JuR$R!R"R#R&R)XKXHXIqAXGXMXLXJ]P]Qt<UIt=]OVlveb,vdxK`%xLyxi=i<kkm]{fo7o6o8Fh,(V\[{7/Fi!fE^"Z!k"e$/#*"f$l$j$k$hK+$i&n*3(/*-Nt(-()(,*,((Nv(+*+NsNr*2Nu(.(**/RERH,0,/,.RB,7,-.*RD0p-x,4,2RG-{,*,5-w,,,6,3,+-zRC,8,)RF-~-y-|0u0l0w2>0o0z0{0m0y0v0t0xVb2@V`2G2<0r2F0n2A0q0|0sVa,12=V]V_ed7=7=7270=8712?787@7975\"7:77747<[~73[|\!767>V^[}7<7;\#ee6W=6=:>$=/=;=2>%`f=9>+Bm=5>->&``>*>)`a`gBd`h>,`^>#>!>'=~`e>">(>.`_`d`b`c=3=<`]ef=7BhBue1D{e0E!BoDuBtE"BnBfBqDvDwBsE#D~D|D}DyDxBgE$e-BkDzBpe2e,e3e4Bje/e.H%G~KtieidG|G}KyH"mfifH!G{ihKze+igKvKxKuH'KwH#IvR3M1M;R2R/miXNmjR.M9mhM6R0R-R*R1R+R,mgM5ehQ9]UQ:XRM:XQXSQj]RqDQ8XOQgqBQlqFqEXPXTQkqCeg]Yt@vftAt>]V]TUO]WUK]Zt?]X]SUMeib/b2f!b-X/i>b3X0xMb1vgb.b0b4f"ZZe~`'Z\Z]Z[xNe}\^\\\_yy\]\`^=zxm_zwmam^m`|<p@Fj(00}0~\$E%qGxO{gpAFk(1#"*<.",9.!,:.$2H1!1"\%\&6g==9%>/E(E'E&K{BwK|K}iiH(R5R4M=QmXUqHqIQn]^][]\]]b6b5vhf#klFlRI7D\'E)BxFm*@1#\(7E=>`i`jGIFnFo"fK-K,RJ,;>0FpFqFrFs#+K.K/$n$m*7Nw(4(2(3*8*5'@*6.',<,=.%.(RNRL.*RMRK.&+z,JVc2N2M2P2OVgVf1$VeVd2Q1%7F\+7@7?\)\*7I7G`l`k>2=C=B>1\,=D9,>ke5E+e6E*B{D|D{K~R6mkXVQpUR]_[txQxPch\b{hFt(5=E\-L!ij"[&s$o$p(6NyNz*:'CNx*;RRRSRPRQ.+,>./*J,?RO1&2WVkVl2U\01,.@VqVo1-1(VnVmVh1+1*1'Vp2R1)Vi.4Vj\17D7E\27A7C7G7F7B7J\.\/>:`q`p>4`n94>7`r>8`s>5`m`o>9=G>6>3>wE8B|E-e8e;e:e?e>E9E7E0E4E3e<E6E2E:E1e=e7e9B}E/H+L#inL'imL$ilH)E.E5L&D~ioL(L%L"R9R=R?R;R:R8mnmlmqmrR<moR7mpikR>mmQqXXQOXWX_XYX^X[qJX]QsQrqKQMqLQtX\XZW!W$tC]`UUUStB]c]a]bUi\6tDUTX4b:X3vkb;[u[yvib<vjb9b=X2b7xRf$xSyzb8y{^?^>zykm{jmb{i`;o9|a|bejdRr:"\ekRT,@`t`uFuHK"g&t$qK0&vN{*LRURVRW7I1.Vr.A.C\37H7M><`w=L>;`vB~C!E;msRCR@RARBQTQUQv\CUV]dUWb>[|[}Z^i@i?fZmcFv(7Vs=M`xE<E4H0L)H.mtX`elb?iAFw&w&xN|RZ,AR[RY.2RX1/Vt2Z2[VuVv\57J\47P7R7Q7#=O>=\6`yE=e@eAE5ipH1iqmuqNXaqMW-]etEX5b@iBFxK1(:(9N}(8N~(;*U,GR^R],I,HRb.5Ra.3*YR\*],C,D,E*RRc,BR_,FR`2d2_12161413.U172^.O2h181911.Q107YVxVy2g1:152e7S7U1;VzVw2\2c7M3O7L7S7N7O7Q7P7U\:\7\;7K\<7T\97R\82b7W3V=V=S>@>B>>>?=Q=R>C>E>F>A>D`zEAC'EFE>EB?)C(EGECeBeJC%eEE?E@iueMeFC&eKeDEEeLEDeHeCeIEHL.L0EBH9E@E=H3H6H5H4H8eGH;H=L+isL1itL/L*L-L2irL,mwRGRFMDmzmxRDmvREMFmyQ_XiQ{XkQyXjXbXfXeXcqPqQqOXdXgXhUYqRUXtJ]mU[tG]gtItKQaU\tH]l]htF]k]f]j]iX6X8bBvnvovlX;vmX:X9bA`9f'Z`Z_xTf%f&iCiFiDiEkn^Bf^zzo:pBkt|cq(q)}3FyRd2i>G=WEIlvFzK2'RO!.6,J,KV{3[>H`{eNtL]nf(iGF{&{&|%#(A(<(>(@(?(=O"(4Re,T.9,O,L.;.>,S.7.:RgRh,R,Q,P,M,N,URf.=,\emenW!f|W'W&1D1>1<2lW$7\V}1A1E1G1C1=W%1B1@V|1HW(1FW"1?2mW#V~eo7b\>3]7]7c7]7V7X7Z7_7[7Y\?7a7^7`7Wepeqer>L`|>T=\>IL/>U=Y>J>K=]9T>S>R>O\=`}>M>P`~>Q>N=ZC1ETC-EXeUC.L8eXEVC7C)ESENEPEQEJC5eTC+C0eSC4eOEMC*eVC6eWELEOEWeQeREUEKD%ESL:iwL<ERL>i{L?L;H>ixL7izL4L9L=L6H?HEePHDL3iyL5esH@J?m}RIn#KYn!KWMJivMMRPRQm|MHMLRORRm~m{RKRHRMRJn$RLMKMIRNn"R!etqTXrR$XlXpXvXwXsXtXqK]XnQnqVqSXmXoR"qUXueutPU`Ub]u]otOW>tMUa]wtN]r]s]p]x]tW@tQ]q]y]vXCX>X@bFX?X<bCXBvp\2bGbIbHbDbEXDf-ZaxUZbf*f,f)f.`BZcf+eviIiLiHy|iJiKiMy}z!y~ko^Ekq^Ckp^Dmdjf`<pCq*F|$3$rO#(CO$O%(B,Z,YRiRlRkRj,V,X,Wew1KW*1O1N1M1IW)W-W02o2pW11J1LW/W.W,W+7e2r7c7_\@=^7`\A7a7b7d7f\B7e>Y=_>X>W>V=d=b9ZE\eY?FEYE[C8eZC=e[EZC9=cexHHLHHGLALBG~i~i|i}LJH"LILFLELDLCLGL@eyRSRXRVMPMQMORURTRWezXxR&qWtR]{R'tS]zbKbJvqXEf/xViN{kme`=pEpD!gRmRn7fe{e]F}K5K4K3$h*>*=(D*?*BO'O&*DRqeL,\,_,].BRoRp.@.A,[,^.CW82t2s2y1V1X1WW51R2v2{W3W22wW6W42xW71U1P1Q1T1S2|7i7g7k7j7i7j7h7l7g\C7?=ea%LH>Z>\>^a$LC=fa"=i>[a#>]a!=hCAEfE]E`EdeaEb?PEaE^E_e_Eee^CDecebe`?JEce$LPE]LOHKHMLKHPHOj!LNLMj"HRJdKcE^Kkn)MURZMVn*n&n(MZn%n'MSMWXyR*qZX{XzUdLLq\q[qXqYR,[YR)^"WI]~tT^!WH^#]}]|bLvtvrvsZf`EZef0f1xXZgxWiPiQiO\dmfmg`v`wF~"hK6(EO)O((F.D.G,aRr,`Rs.I.HW91[1Y1_W:1Z1^1\1]7k7m7r\D7q7l\Ea(a'a&>_7p9eEiedeeCFEhEgCGe|LQj$j#LRLSn,n+M[Y!R[R]R\X~X|Y"X}VRq]R/R'R.^$tU^%^&Uhvuvv`Kz"^I^H|=G!&~'!'[*G.N,b.O.M.K.L,v1`W;3#3&3'3$]~]}7s=qa*>aa)>`=p?WCICJEjHTj%LTj&HUR0UiUjWPXIz#iR_UHLO*(G.QRu.PRt,c,d1b1dW<1f1i1g3+.q3*1h1e1aW=1j1c3,7x7y7v\K8!\H7w7x\L7{\F7v7s8"7t7q\J3|\G3z7w7z\I7{\M7|7r7y7}7u7p7n7ze}7~7M7o6~;$>h={=x=u>d>ja->c>ea+>ba2>fa1>ga3a.a4a/=ya0=ra,=v>ie~CO?gehEuCLExElEqEkejCUEo?^CM=wEmeiCTEtEsEpErEnj*EwefEvCQDEHVLdHXj1L_H`j0LUEkLWj)L\L[L^j.LYLXHZH^j-j(LZj+L`LbL]LVj,HWH]n4j'EdH\LcEpRan-M\RcL+n.MeM]n0RfKzR^j/RdKsL1KtL*R`M`egn3L!Kxn/L&n1n2Kvq`ReR_n5McRbf!Y,Y'R-ViY1q^Y)qbY/Y&Y#Y2t[qcY.Y$qaY(qeY%Y*qdY-Y0R3R4^8^9^)^0^.W_UmtY^5Y+Uk^,Un^6tX^+^*^4^1^3WT^'^7tVUp^2^;^/tZtW^-^(^:q_Uq[_WWUobOXPXNbMbSvzbQbPv|bVv{XQbWbTvxbUbNvyvwf5bRXLf"bXf#f2ZoZn`Nx]x[f4`Lf6f3x\xYxZx^f$z%\fiWlyiViTiSiU\ez$z&f%egz{^Lfokskr\g^Kmh_Xmjmlmkmi_W`?{m{l`>|?|>|@o<o;f&q+pFq,}%aD}&q\m[b:}KHM*I(H*H.R,f,g,e.T.SRv-!,h,i,j311k1q3.301oW>1m321n1p3-1l\N7}8#\P8%\O8$7~8!8>8"4">la5>!>n>k8&>#a6>"=~>mf'>!>#CXE{C\ekEyelEzemEtHbHaj2LhLeLgj3j4LfK'K+MoMqMmRgMpMsRhMrn6RjRiMn##RDY6Y7Y3R7Y4qfqgY5taUuUtt]tbt^t`t\R9t_XU\Z\[XTv}^<HWf8`Zf7f(iXz'z(mnktaimm`@q-qrHN'"K7*K(IO+*JRy,mRw,kR|RxR}R{,lRzWBWA1|WJ1u1{WF1t1z1xWEWG1wW@1vWKWHWLWI1s1r1yWCW?WD/%373;858.:&a;8-8)\T\[\X\^\]\Y8&8'8*8'8)\U8+84\V8(8182\W8/\\\R\Z8,\Q808.8$837T8+>4?!>va8>}>z>r>{a:>s>)>o>&>.es>x>/a7>~>(a>a@>q>,:'a?>ta9>|>u>y>*>wa<>paA\Sa=aB>$>5>3CgeoF$F&F(F,>+F"E~eq?qF'F+F#E}CfE|CiC`CbF)F!F%erC^epF-enF*CdLyChCjCcj7LqnCL{j:M!j@LlHtE{L|LiHmL~LmHnjGjDL}Lwj6j>j=Hpj<jBHiLjjCLxj?j5Lzj8j9jALoLnLkE|LsLpLtjFHhM"j;LuLvHqLrHsf)HkjEf+N"Ron;nDn@RlM|n=nARxn7RpMxn?N$N/RsRnn>nBRmN.n<MwRwn9RvRunEP;n8N+RtRkMunFRrn:N(N)N%N,N'M~M}RqLEf*qjqoqhYDY;YGY?YEqpqiY8Y>YHYAYFY:RLR;YBqkY@qnqmY<Y=Y9YCqlYJYIR@R?^G^CtiUy^=tcts^Itktg^@tntq^Ktf^Bto^M^J^>tjtdtr^Etm^?th^Ltlte^Ftp^D^HUz\_XYbZb`w%bcv~w!b[bbb]w&w#X[bYXXw"b_baw$b^b\f,\^XZfBxbxcx_Zrx`Ztf>f<Zuf@xdfAf:f9f=f;xaf?iYz+z*iZ\li\i[z,^S^Pkykvkw^Qkukxz}kz^Rz|mo_Z|A|Co=|BpGq/q1q.q0}9mxb5HO%WR~0RWM811x\_?"?#f-HwYKtt^NU}X\w'fDfCz-k{_[mp|d"i"!O,K8(J,n*N2$1}2#2!WN2"1~3<86:+?$?%F0F1euevF/F2F.etHxjHHyewM#nGRynHN0qqYNYLYM^Q^P^OAa\hfE`oxefFmq|epHHPO.O-,pS!.]/0,o2&3=WO872%3?//3>\a8:8889\`?'?(?&CnezF4F3F5eyexF&RzR|N1nIR{YOqrbeX]bdxffGxhxgi]k|z~HQ,qS"2)WQ2(2'3BWP3C8@4=8B8;8<\b8=\c8A8>8?\d>7aDaE>8?)F6F7CrM'jKjIjJM$M%`XM&S#N2S$nJS!R~S"R}quYPqsqt^Stu^Ra4U~bfbgw(Xaw)tvfHfIi^z.HRf{HSWSO/WR,r86+%3DaFHTS$,s,tS#S%HU'a,uWU2*WWWTWV878E\e898D8C:8F8I"M(F,nKqvYRYQV!^T\qXb\ok}i.i-HV$s(JS&,v;!2,/:3I3HWX2+WY3Gf/8G8=8<\g8F8H8;\f><?+?,?*aGg)?|e{Cse|F3jMI#M*M)jLI&>;I%f0S%N4N6S&N7N5N8YSR\RCtztytwtxt{V"bhw+w*fJi_\p\q\r{o{nHW;$/}e~aHe}jN``HX!hHYHZ$5$6(K$v'$$wK:'&$tK9'%K<$uK>K=$xK;$p'#O4O2(M*VO1*[*X*OO6O8O5*Y(P(LO9*RO3K?*TO7(O*W'd(N'iO0f1,|S*S+,~.f,x,{-&-$.`S,-*S/-',},z.a.^?.-%S'-(,w-"S)S.-#S2S0.e,yS-.d-!S1S(-)W^3LWgW\WZ2.WbW_203J3RWa2/2-22WfWd?-3K2321W[3N3MW]W`3OWc.cWe>D8R\i8I8I8K8G8L4M8T8P8N:;8Q8U\j\n8J4G8S4P\l8A\k8O8M8B\h\m8E8HaN?6>>:>?4aP:G>C>E>A?/FF>=aO?3>@>B?0aKaQ?5aM?2jOaL?1aRaJaICZF>F<C{FBC~F:FGF?CuF9f$f*FD@)F=Cvf'CwD#f%FEf"f!F@f&aSC|FCF;f#f(f)D"jTjPI'jUM-I*F9M,M.jRM+jSM1M0M/FFjQRgN;N=N9S*N<S-nQS,nPnLnMnNS)S(nON:S+S'YUY_qyqxRIYYY[RGYVRDYZYTY]qwY\YXY^V#YWt~^U^[u$u&u#u"X'u!t}^V^Yt|^ZV$u%^XH|^Ww,Xew-bkbibjZwfLZxfKxiiaz/i`k~mr{pq2q3|DH['lO:?7jVu'^\H\$sWiWh?8>G:LLbY`H]S3:M>H?9?:?;jWqzH^'mO;-+Wj24\o>I?<f+jXq{u(w.fMH_O<*]'nWk8VaTI+jYM2S.RJXhZyH`aUFHjZHa(Q-,S4.h26/O3WWn3XWlWmWo3U258[8X8Z\p\r\q8W\s8Y?=?>??FKD&FL@.FJFM@-f,f4FII-j[I.S3S/S2S4S1S0YaYbYcq|q}^^^]^_bmblfOZzfPfNZ{z0d,ibic^Umso>pIHbK@u)Hc228\?@Z||l"j!S$8"k"mHd"n"l#/%"%#${'(${$u%!KB')KC$|$z$y$}KA$~--'+$y(VO?(U(W*`O>(\OB(R(`(fOI(cOF*k(Y(_(a*f(TOEO@(ZOGOJOD*lO=(^(X(eOLOHOC(]Wp([OAOK'z(S'~(b(d*^(c*h'{.vSES?SGSD-4-7S@.j-.+:S9SC.kSFSH-C-:.xS8-BS<S:S5-2.r-A-6-9-F.tSI-@SA-;-E-8-<-?.i.n-0-D->.o.z-/4<-3SBS=S6S;S7SJ-12GS>+=.y-=)B.wf5f72JW~3b2:/]2E2A8M2T3Y2L3_2B8[2K2<2@2WX#2O2FWq2U28/Z2N/cX"W{27WyWxW}2MWuW|-5?A2H/_*_2>X!2?2CX$292Q>W2P2XWwWt2V2R2I2DWzWv2;Wr2SWs/\2=3Z3cf6-34g8N8Q8b8d8i8}]#\w8T8a]$]%8l8s8y8P8f4m8m8O8]]&8{8v]!\}8r8n8`\t8e8]8U\|\~8j8g\y8w\v8h?j8p8^8o\u8W]"8R\x8^8c8t8z]'8_8k8q\{4o8X8|8u8x8_7x\z:h?Q?Ea]?b?k?na[?M?f?N?\ah?Xae>^?Y?B;o?g>O>Yan?d?Z?p?UFm>M?sal?S?_aoaZ?W?q?P?I?T>_?H?FaV?h?O?l>K?ma^aca_ag?ca`?[?K>faX?C?e?o?Jaf?t?V>R?R>\aWak>Z?aam>P?]aba\adaYaj?^?L?`?G?i>X:g>]>V>N?rf9>[f8?DFlD-G$e\FqD1FoFZf0FjF~Fff8F}FdaiFtFeF{f7f/D:FOFWD5FpFhG#Fkf=F|D,f4D>FnFvF[FuD'G(FVFwD3G&D?FPaaD@F^F]f6D2FaFcFrG%f9D8f:D0FUf2FYG!f;@Df3f5f<G'FxFsD<D/F`F_f1FQf.FiFRFgD.@AF\G"D*D9@6f-D;D(FX@FFTFzFSjhMZI5IDMII3I8M3MQj`MBMLjcMEjaM6MTM5MHI<M4I9FlMFMOMMMAM<M:IBM;MNMYMCjbI;M>I:MRIAjeM=M7MGjiI2FXj]jfM?M9I6j_Fyj^MJD6j\jkjdMKM@M8MSMDjjMWjgMVI?MPMUI>ICMXf;f<f:I=S\S]SPSOSKn]NOnUS_S^FNSHSLSFNDSYSJNBS`SCSASMSWSRn_S8N@SVNLNFNTn`FbSDS;S>SdSES<S:S7LznYSNnXn\SISQnRSaSenTNKS@STSXS=Sbn[LjnZS5n^S[S?SSS9SGSBnVnWSUSfScSZLxNMNNNRLtS6nSYtRZYkYnRRr%YpYeYlYrr"r&q~RYRPYgYwM%S3YqS$YhZ"YzYd^rYjr!RXYuRTZ!r)RVY|YiYoYsYmZ#Y~Y{r#r$r(YfZ$r'YxRORUYvf=Yy_!^l^q^~^p^h^mX>u,V+^a^y^{^`u+^}^uu2^|^nu4^fY}^v^s^b_#u.V(V)u/^d^tV-_"^w^ju1u-^x^k_$^e^o^z^g^iX@u5^cu3w0u*V,V0u0w4b}Xlbsbnbtb~c$c#w6w5Xn],buc%bxbpXobrbqbwb|bobvb{w3](byXkw1bzw/w2f`c!f>xmZ~fXf\fTfWZ}f_xkfdf]`zfUfef^xnxofb["fVxjxlfQfYfS\{fcfafRfZ`{[%f?ijxpf[z2z4z1\vioigieiiif\x\|ikimz5z7]"ilz8z6in\~d7]#\wz3]!^[^Z{!l!l'{#ihl&^\l-l$l+l*idl%c"l.l#l(^Xl,l"^Vmw{"l)^WoCmxmvmtmumyf@|EoAo?oDoB`CoE|Fo@`/aFpJfAq4q5q6aGa|r5r-"oOMSK/h2Z2YX%](9!8c8`8~8aapf?>af>f@INM[SgZ%Z'Z&2au6_%c&qsHe'-(i(j(h(gONfB-J-H/#.|-G.~SLSNSM-I/$->3i2f2c2a/m3lX&2dX+2^2m3o2o2_3nX(2p2k2]2b2l2h2e3kX-2n2`3j3p2i2[X,X)2g3m2j2\X*X'4z8f]29(]18d9+9.].],9#9,9*9'9/9092939"]+9%9$91]-9&]/]*9)]35&]09-8:aw@%:q?xat>bG.@#?uar?zau?~?|axaq:v>c?v?yav:o?w;{@$@"?{?}@!as>hG/G5G+G1fAG-fGDDDEfFDIfEG4fHfIG*G7fJfDfCG3fKG)G,G6G2@Y@RM{MpfBB]DFDHjrMdMyMejmIOMb@UMkMcjoM]MxjpMuMvM^juMmIJMgMnMaF~MzMrMlM\jqMsIEjtMwILMqjnMoIIMijlM`MhMtMfL3INMjIKfCnjG0SyT$SxStSqnkSojsShniSnnhSsSpT"S{SuSzndSrT'SiSjT#neT(ngT)SwM_S}SvT!S|PUN]M(SmnbT&ncSknfZ2S~T%M1NYZ/nar*Z9Z5S<Z3Z.Z=R[R]SDr.R_Z*Z6Z7Z-Z,Z:SAZ0Z+Z1RbZ<Z)Z;Z8r,r+S9R^r-Z4Z(fEfD_'u<_+_(_/_5_*V:_>u9_8_-_9_4_;_,u>u=_._<_&_:u7V9_2_1_6_)u;V;u?_0_7u@_3V6V4u8u:c3c1[(Xvc7c5c8Xxc*c2c<_=c.w:Slc)c6c0c-c(c'c;Xsc,c+w8c4Xtw7XudHw9c/c:fFfifj[,xtfgxqfo['xufqffc9fsfhiCxrfn[)fpfkfrfmflxsXw[+iqir]%itz9z:iuis]$ip^]l1l4l0a&{'l2{&{%{$l3m~m|__m{l/m}l5mz`EoHo&oF|GoGoIfGpM|fpLpK|gl#}'q]quqtqvHf-K/&2q2r8j>j>i@&NOl6pNHgSO-L3qfH5'94]4@(@'ayDMfLT*nlN_nmRcRdSKr/|hHh/'-MOP-O-NSP2s3t2zX.2x2v3w2}2t2uX/3rX33s3u2~X22|2y2wX0X12{3vfI]6958r];9E]:9G8n8t9;]89F8l96]99B9>9@9:9A8k5/]59=8s9<988m9C8o8q9?978p99]79Da|@3:{>p>r@/@1@,@+@)>m@0@2@.>o@-aza{@5fTG9G?G:G;DNG@BlfV@afNfUG8@*fQfOG>G=fPfRG<fMDOfSN`M}j|IYIRN*N)IWN$j~N(M~N!jvjxITN&M|jzjyN"N'N%j{N#IQIV@4jwIXT+T2noMFT6nsT.T,M>T5NannT4npnqT-nrT3T/T0T1j}NbZ>ZJSSr4ZEZGRer2Z?ZCSPZFr0r3ZIZAZBZHZ@ZDr1_@_?uB_EuDV@XbuA_AuE_BV?V=_C_FVBuCcAXycDXzc>c@X|X{c?cBcC_Dc=fJxxfwfzf|fufvfyf{xyxwxvfxftivz;])iw](l8{(l:{)l7l9{rt8n!{qoLoKl%oJhJaIq7q8q:q9a}"pHiSQ9Ha}fKGAw;[/f}`FaJKD/)/v/u]=548v8u]<8w@6a~@8@7N`>tGBfWN+N.N-G5N,T7T9T8Ner6RfSYNdr5VFuF_G_I_HX~X}w<Y!a/[1g!f~cwixz<]*^a{*n#n"}(KE-PSR9K9I59589J@:@;GI@9GCGGGFGHfXGEGDGJDTN1N/I\N0T<T:NfT;ZK_J_Kw=[2g"iyz=a7l;n${siEoMq;KFSTSU-Q/*/,-RSS/|X93{X73zX6X=X5X>3!X;/}X8X<X:X43|]E8~]?9O]D9#9)]F]@Dp]A8y9M8{9%]>9"9N]C5=5[9L]B8zb+>|b-;/>}@>b,b!b%?$fkGO@@b&>~>u@C@Db*;0@F?!@H?#@I@=@<@Jb)@G@E;,b'b#b.@A@B@?>xb(;1?"b$b"GNfffaD`DYf\Dcflf]DUfYfhfefgDXf^fcfZf[GVGSGKGPD[fiGWfjf`D\DaGMDVGUGQGTGRfdGLf_D]N4k"k%I_N6Idk-N5k'IcnxN7GEk,N3k.I^IbIkk#Ihfbk&I`k$k(k*k!k/k+Iek)N2IfLANto!Ngn{NrNpNno$NlT?o%TKTDntTLTFn~TGNsn}TJnwTHT>nvZVn|NunyNio#NjT=NvTAnuT@TBTCo"TETITMo&r<ZQZWZTZLZXZMRjZSRkr7r=ZYNoRgr9RnrCr>Z[ZUr:ZNrDZOZPrErBnzRir8Z\rFRhr?ZZr;r@rAfLuN_P_Y_V_XVIuK_QVJ_WuG_SuO_O_T_[ZR_U_NuH_MuI_\uJ_ZuM_LVHuL_RcGcUcPcRcFw>Y*cEwAw@Y&cTcLcIcOY$cHY(cJcScQY#w?cXcVcMcWcN[4g&xzg-[5a:l>y#cKg$x}g%g*[6]3y!y"g#g,g.g'g)g+g(g/x|y$x~x{i|dMzBiz]0],i~]2j!z@j"i}]+i{zCz?j#].zAz>\mg;{+^bgA{,l=l<l?l@^c{-n%n*{t_an'_bn&n)n(`HoQj||HoPoN`GoO`I`{|j|ipOpP|kaKq<q=}4ak}:a~qwr6KG0F9P9*9QGXN8TNuQVMuPcYg0_doRKH3"X?]GGZGYo'TOo(_]wB]4fMb!}CKI(k3#9-5M]H9,9R9S?*@K?)b/fmDdG\G[G]ImN9N:k0rGo)rH_a_^_`__uRY+cZg2g1%$XAX@3$9.9T?,?+@M@Lb0?-G_G`G^@xDefofnGTk2k1NzTPZ_Z]Z^rI_c_bVOc]c\c[g3aMqxKJSV/.SWXBXC3&3%9U90]N]L]I]M]K]J9291b1@P?/ftb3b8@Rb:b9b<@Q@Nb6b2b4@Ob;b7b5fvfufsfw@~fqfrDifpC-GaDgN<Ipk4k5k3IrN;IqN=fNTSTUN~o2TVo+TRo*o4o0o1o-TQo,TWTTN}o3O"o.o/ZaRuZcZbRsZdrJZ`VQVRuV_duSuWuUuTc^]icaCRc`Y.c_wCg4g5y%g6y&[8fOzEdOzDlA^e^f{.lBn+{u{vfPoS`J|maNKK93]P]OGbGck6Zeo5Zf_eKL$:-SSYSX3'XD3(9X999W979V9598@Tb??9?4@Sb>?7?0?3@Ub=?8GeGhGfGgGkGdGlGiGjk8N>IuIsk7ItT[TYO&Muo6TXTZO%o7O#ZgRwZhuXY1g8g:g7g9j$lCfQq^KMSZ3)3+3*9[]R9>9Y9:]Q9\9=9]9ZE8@abG@Y@_???:bBbE@Xb@@\GrbD?;@W?>@]@Z@`@V@^bCbF@[bAfyGnfxGuGtg!g"GvfzGsf~GxGoDkGqf{GmGpGwf|Gyf}k9NCNINANJI{N@NENKNHNGNFIzN?NDIyNBo<o9TdTiTkThTaTcTmTjTeTnTbTlo:o@o>T\o?o;T]T_T^TfTgO,o=O+o8T`ZrrLR~ZirMrPZnQHZkrOT)R{ZoZpZjZsZlZqrNR|rKZmVT_ku[uYu\uZ_j_g_fVU_iY-_hcowIcfceY2wDckcjcbcmcgwHcdclccwEwGchwFci[:cng>[9y+g;aRg?[;aOy(g=y-[<y*[=g<aTy,g@y'zGzI]7j'zHj%y)j&zF{/{1lE{0lDn0{wn/{xn-n,n1n2oT`Kn.pTpQpRpS})aPq@q?q>q_alr.qy};KNXE9?8l9@?@Dsg#I}I|O0O2O/O1oAfRZtX3Y5wJY6gA[?aV]8gQqzKOOQS\S[0UXH4!3,XF3-XGfS9A9b9^9G5c]S9a9`9_]T9c9d?E@h@f@j@k@q?G@m@oCP@g@b;U@n?D?F@p@i@l@cbI@e@dbHbJ?Ig&G{G}G|H#g$DvG~GzH!H"g%g'H$NONNGjNLNMk;k=k:k<TuTvTqO6TroCoHoBoIoDTsN-O3TtTpoJoFO5N+oEoGO4ToS$ZvrRS"S!ZxrTZ{ZwZuZzrSZy42rQS%VYu^ua_mVZu__lu]u`cpcqcrwKY7cswLy/gDgEgCgBgFy.j+j)j*j,j(j-lG^glHlF{2n3{yn4oVoUb"KPbK?KDwg(DxJ!J"k>O7S'rVS&rUfTY8y0z){3KQXIg)O9gG'/!T!j#0$;"q"r'0%&%!'3KR%#KUKTKS'1%2%%*r(m*p(oOR*t(&OT(l(nOS(q(p(r*s*q(q(n-W-US_-TSdSaS^/1Se/2S`Sc4`Sb-V/3S]/0XO3/35XLXS4%XN3234XQ3.31XMXJ30XP33XRXK0/4'4&9f9i]V9K]`]\9g9J9N]d]]]b]X5h]U]W]c9h][]^]Z]_9j]a]Y9e9L?O?P?M?L?Q@rbL@t?UbNbP5f@sbMbQ?VbO?T?Wg/H)g7H&D}g8g-DyH'D|Dzg2D{H(g+g*D~g5g4g3g1g6H%g,g.g0k@kCJ$kGkAkFkDJ'k?J&kEkBLkN2TzoMoKO<T{N3oNoLTyTxO;rZTwrXrWZ|oOrYZ}r\Z~r[uc_oubugueufwNud_n[!wMwOY:y1y2a_j.iR|J|IKW"^"]"uXT$<"r"s"q$="tfU%*%'%,%(KXK['5%)KZ%+'9'4KY9Q*w(+(u(wOW(s(v(tOUOX*uOV*x/5-Y-]-Z/8Sh/4Si/>-\/7-^-`/<Sf-_A9/;SgEm9q-[363?3=38393>3@XV4)3;37XUXW3:3A3<]e9t9l9r9s]f9O9k9m-X9o9p9nbSN;9R@{["@|@y]gbU@x@~@}bRA#@wA"@uA!@zbT?YH0E#H+H1H,H*H-g9E$H/E%H.g:kIkHNVNYNQNUkJNTNRNXNSNPNWJ*U#oRctT~U!T}@voQU$T|oPoSU"[#r][$[%S+_puhcucvY<Y;cwgIgHj0j/lJlKlIn5{zK\SkSjXZXY3C3D3B4*XX9x9U9y9u]h9v9T9wfWA&A(A$A'bVA%bWE(Byg=g<E'g;A:H2H3A;N[N]kNkKJ,kMkLN\NZJ+J-U+U(U)oWU*U%U&oTO?oUU'oVO@[)S-[*['[(r^[&TBS,S/Y?_t_q_suk_wuj_u_x_v_ruicy^$czcxY=c|wPwQgKy4c{gJy3j3j4zJj2dej1lL{4^hoWpVpU`~|n}*pWq`am}<K]OYg>zKK^Sl]ibXwROZ-b-a3E40X]X[X_3G4-X^X\4/4.413F]l:!9X]k]m:&]o:#:$9z]n:'5{9W9|9V9}9{]j9Y:%9~:"A4?]A3A1A)A8A,A6A=A5b`?fb\A*?`A0b^?hA/b_baA2?ibYbZA>A<?bA;A-?eA9;fb]Oo?^fY?cb[A:A+A.A7fXO"H=E.H6HIHRH9gIE+HFg?gAgMH7E7E/gBgDgNgCE9AAAFE8gLH?AHH4gJH>gFHPgKHNHBHLgHH5HOHJE*HQg@A@E-gOgEE1E)H;E4HCHGE3HKgGH:H8HDABACE2E5HAH@E6HEHHHMfZErGuN`M"kONjNbkUkYNsN{NlkQJ4NpH<J5kRNwN|NtJ/NvO!NxNfNoE0J8kZJ3kVNdNqkTNkkSNyNhNakWN~J9GwNcNuNrNmN_N^NgNzkXN}NeNikPJ2J7M'g*J1oco^UMUIU1oZOBOPNEoYo_NGOCOAU/o]U;U-U.oXULoaU>UCU=[<U9UAU?U2U,UGo`UHOHUBOIU7U5U0OKONODU8UEU4UDUJOQNFo\OEU@UFU<U6o[ORNDOLNnU:obU3RkOMf[f\J0[Ara[@[>[PreS5[M[E[O[7[CS=rgS>[/S8[-[NS2[L[K[;[:[0riTC[6[?[Jrl[QS6usrnrh[4S7[=[,[.r_rkrd[5[DUKrj[+un[F[IrfS;[9rmrcS<S9S:rb[B[Hr`TE[2[GXYXH[34cf]XUf^TIS1[8_~Ve`%upur`+ul`9`1`&`'`0Vfuy`/_}`.`"`:uxuv`#V]`6Vg`(`5Vd`7_|uqV[`8VhV^`,Vkuu`)VaYIuw`2VbVcV_uo`$`3V\`-[1`4`!V`utVjd/YGum_zYF]Af_]9d,d%wTYCc~d0d'`*Y@d2d!YBwSd+wUw]w[d-w\d#YId$d)d.Y>_ywVd7d4gad*d&d5gVd(^1wYYDwX_{wZd1d3wWd6c}^)d"YFa3YEfafbf`aCg_[PgOy8g][D[EgMy9aggX[CgTy>g^gNgQy6g`[HgYg\y<yAy?gUgP[My:y;gLy7[Oy5y=g[y@[JgWgbyB[A[B[NgS[GgZfefcfd]A^jjAjPjCjJgRjHj7jNzNj;jMjBdg]CzM]<]?jRjD]>jIjLj5jOj@jEj9j=jQjGj6j:j<jF]=zLj?]D]E]Gdk]B]:j8fffgfhfW]Fj>lPlT{;lV^m{5dolRlX{:{6g\{7lOlU{9lS{8lNjKlQgblMlW_i_n{{n<n?n;n=n>n8n9n6_j_ln:n7{|{}_koY`Ro[k)v]`U`T`VoZo\`O|L`SoX|K|M`WfjfipYpZ|opXa"qBqAqC},qD}+qEqaqdqc}5qbmbaob#}?}=}>}Dr0r1r/r7b6O[%+0::(A?UNgcqVO\/@SmX`0;42:)9\:*]pbdAAA@bhbcABbebgbfbb?l?~fkgPE<E:HVHTASHUHSE{k[J=k^k`k_H"J>k\k]UPUOodUQOSURoeOUOVNJ[Y[W`@SB[U[Vro[R[Z[T[X`<SDS@`>Vm`?u~`;u}`=uzu{u|[Sflw`d:d8d9w^waw_YKYJK@gdgeyC[SjSjUjTzO{<l[lZlYhrfm%9O]!C!i"xHj"v"y"w%.';':%.'?Kb'<Kc%0K`%/%-KaK_'='>*y(3(x({O`(z(y*|O_O^*{Ob(|Oa-gSoSpSq-h-dSn-e+]-f-c+[460?Xg449^Xd3HXeXh3I43XcXaXbXf]q:-]y:,9a:/]u:.bp]s]v]r]w]x]t9e?q:+blAD?rAH?s?uAGbqbmbnACAEAFbibk?pbobjE@HYHWHXgRgSEBHZgQkaH$kckbJEO#JFJDO$UTOZUSO[TRrprq[[rrSH`CVp`AVo`Bv!Vqd;yD]I*}SIv"Oc0AXi3J492o:0]zbrAIAKbtbsbubvAJgVgWgUkdgTH[AWJGJIkeUU[\rsv#d<d@wdd=wewcdAwfd?gfwbyE^pp[a%b/Od]|]{9*?~?|?{bwAMALbxEFH_g[gXH^gZH\gYEGH]O%kfUXR;ofUVogohUWoiO`[]SPrwrtry[_ru[^rxSMSLrvSQ`F`HVtVuv$`Gv%`E`D^8dCdBwgdDgkyGgjggyFghgijVjWzP]O{?]L]Nl\^r^q{={>l]fn_q{~|!n@_r`Y|pp]|ra&p\p^|qqFmdq{fobE*~OeEIg\H5O&JLUYrzr{YOOf@!ojyHSr+!JNr|^s|NSs:1;wAN@$AP@"AOHcH`g]Z$g^HaHbEKO(O-kgO'O)O0O+O/O,O*O.khObU\OcUZolOdokU[omSS[bT_Tg[ar}[``IVz`K`M`LV{v&`JdKwhdIdLwi^CdGYPdJdHdEwjdFa|[_[]gl[^[`gngm]PjX]QjYgq^u^tl^_s|#i^|"o]o^|sp_a(}6b;StbyO2O1U^U]NWSUv'`O`NdOdMdPdNYQe)yIgogpgqe'l_^vnAa)p`SuEOOe[c`P[aSvAcEPkiHF[dwkdQyJ]SjZj[{@o_Sw^!^":2bzb{AQb|AhgbERgdHeHfHdg_g`gcgaJTJUO3kjkkJRJVUeopU`U_OiUdonOgNZs&TpUaUfUcUbOfoos$S\[fr~SY[gSZR([eSXs#s!s%S]s"S[S_^OY[W&`QYp`V`R`Uv(W(^A`T`SYYwnwlwowmdRdSdTwpYVYX[eguyLgsb0yMgrgtyKj_j\e,j]j^l`{B^x{A^wnCnB|$`]`^`\|O|t}-qGq|q}SxARAqHgO4O5klHWkmUgoqSav)W*dUY\wqgxyNgwgygvlcj`ja]VzQlb^{^yla^znDq~b%Sy^|b&Sz9gXj3Kfp:39hb}c"b~ASE[c$c!@+E\c#ETgfEYHhEWJ]HiUiA{geggghEXO7J^O6knKLkoJ[O8UhkqorNckpfzs'UjotosUkUnUlUmouOks,s*SeSfs)[iSds+SbSc[h`WT~[js([k`Z`X`Y`^wu`]```_`\`[U!v*YbZ)YaYfdXYedWwtwrwsYcdVfqg|[iyOb8g{gzyPe:jfje]Xjc^~jbzSzRjgnE|%le{Cldjd_xnF|Pa*}.qHn$r!S{:4`aS|E_KNO:O9[lZ&Sh`cW0`bYgwvg}g~zT_!``r"Xkc&c%HjHlgjHkgigkHmJcJbJfO<O>O=JaO@J`JlJdkrO?O;JjH`OAOsUuOmUxUzUpUtUqowozo|UrUso{UvUyUwo}OnoyUoovOroxOtSps.[r[p[oSq[uSk[t[sSl[ns-[mSj[qs/W4`fW7`j`g`i`h`e`k`n`l`mv,W3v+`d`od]d`dbdaYjd[d_dZYkd\wwdYYmd^h-h"yQ[o[myRh!h&h,h$h+[lh([nh'h*h%h#[kh)jnjlzUjkjqjo]ZzVjjjheFjizXjmzWjplfll_$_"lg{Glm{Flklj{Eli{DlhVQnLnNnMijnJ|'nGnKnP_ynOnHnI|&o`|S`boa|Q|R`al=pa|uqear}7asr#}8r$r%r3r2}Gr;Xl@/B!HoA}HnA~ksktOBNtU{[xOwOvo~s0[vU1[ys1W:`p[wdcwxh.bI]ajtjr]`]^jsln_%{HnQ|V|(|T|Upb}/atXm6-JnNydd_{`c3L@2glEaOCJoJskuODJqJpJrU}U|s3p!p"O!V"V!U~OySu[z[}St[|[{s2`t`r`qZ7W;`sW<wydfdgwzYode[qh0h/h2ySh1bOjujwjv_'lolrlplqnR|)itiqfrobocoda,|v}0r&XnJup#s4dh]bnSa.m7qf3Mb(}HXo[~W>dih3]ch6lsnTXpEbOEOFJxkvkwV$p%p$V#`uW?djdldkw}w|w{]d{Jlt_({InVnUa/|wpc^#HpB)EcOIOGOHHkO~V-O0V(V%V,O|O5O{V.O7O,p'V+V'O}O*V&V*V)p&S>\+\&\$\-\%UG\!UC\'SxSz\"`~\#\.T#UES|T!ZJT%S}\*s5\)\(Sy\,Y8fsWD`v`yZIWE`xW@a"`{a!WB`}`|`zZA`wZ?v/v.ZDv0v-a#ZE]vZCdrdu_&dsdwfyYt_"dx_*dpx$dqYsdodv[tdndmx#x!w~YvYuWCarYqdth<hByVh=k3h@hDyWh?b\h7[uh6hCh:[wh8hAh9yUyT[yh4h5h>bf[zbhh;dkbU]ojzj}]qbV]g]ix"]j]t]ueZ]neY]hj{k#k!jyk&]fjx]vzZk"eT]seWj|zYk%]re]k$]plwlvrQ_,rKl}rNlyl|{Lh;h>lzl{h9lulx{K_*i*|+nan\n``%ncn__~n[`#|-n^nb|,nYj~n]j#u-nZ`"nWj>nX|*ohojomoion`eog`foe`h|Wok|Y|Xofola2ph|xpia3pgpdlJa4pfpeqIaYqKqJa[qizSqhqgqjau}@}Ar8r<bA^$ATHsEdgmHqEf/BHrEhEgOJOKkzkxOLkyV3P'V6V0V7V/V1P*V2V5P$P+p*V:V9p(V4V8p)T-OBP%P"T*\8URs:T,\3s6T6\0\6\9T3s;ZN\5\2\:\1T7\7s7T)\/s8T5s9\4T2a5a(a)a,a*ZUa$ZVWMa'a1a+WHZOv1ZMa3a0v2a2a%a.a/WJa-^$fud|d~e#YyY{d{Y}x%e%dze&Y~e"e$e(e!e)d}dyx&Z"e'x'yY_4Yzaw[}a&h^hUy[hQy\\'\"hZhThJyZhWhRhS\%hEhLh[[~hXk?hP\&h\hKhFhY\$hHhVhMh]hIyXhGhNhOk-\#k+eik0]yk<k3k,k(k5k.k1k*k8k'k/k4k6k9k)]zk=k>k7k;k2m/m2_5{M_1m1m6m4{Nm+m!l~{Pm-m.m*m"_2m'k:hCm#{Om)_6m(m$m0hDm%nhm3m5m,m&ninkne|.j%nrnp|/nonnngndnjnsnfnluEowo|orou|ZoykFp"nmkJoso}p#oxoqo{kKozp!o~nqovopot|y|zoo`lptpkpspppqpjpmpupopnpla5prlVqLm:qMa]qOqNqQqPqlqkr'b)r(b0r4}E}Ib8r=}J^%OHZ[z[m7_7|{||^&HtEignV;P,T9\<\=\;a7a6v3e+a8e*_:Z$h`y]y_h_\)buy^^!k?kAk@m8{Q_:|[pvqRb1b?rA^'%GOMOLp+P/P.T:\?\>WPa9Z&Z%b~y`z\ntr9^(k{K"p,a|ha^"p$c'9jT<T;Z]a:Z(_>}1c(p-v4p%c)9kV<s=\@\AT=s<U`a;v8v6v7v5e,x(c$\*kCkBkEkDz]m9hVm;m:{Rnu`)p&p'|\qSqm}BnCAU\Ba<hbHu'ra=e.e-Z)\-\._<p(|}a_qTqngoV=V>OV\CgpEjx)e/\0m={Sm>m<p)a`pwmHgqa@a?a>e0Z+Z*e4e3e2e1x*hckGz^kFm?nxnw|0nvp,p+p*`mnDk|Uc\Dv9Zdhdhenyp-k\a;pxqUr)rCk}v:e5hfm@p.#pp/T>aAe6hghhhikL^$kH{TkKkJz_kIzaz`mBmA{U{Vh`_>|2nz|1kap1p2p0p/}!ldpypzp{|~qVqYqXqWb3nErBs>WUc-x2kMmC`+|3n{nUbBrD!Ys?^Gn3aB_?n|aaqoawXL!+!6!8!@!A!D!E!H!I!L!M!P!Q!T!U!X!Y!\!]"'"("+",")"*!.!/!0!2!3!4!5!^!_!`!a!b!c"-"."/"?"@"A"C"B"b"l"m"n!*!l"c"h!m!>!?!n"0!""1!%"_$!$"$#$$$%$&$'$($)$*!(!'"6"8"7!)"i$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z"`"%$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t!B"^!C"f"g"d!%!!!/!-!.!B!C!3!D!>!?"+!M#@#>#?$g%_#/"t%g%c)7):)8)")#.f0r3#9293G-;s@5@uGBMV!!YGO|Z?!,!""_!V#A%`);%!'z.J)P5%5&E}F?F@D~!2!-"-#B-aPPSD!!!&!$!"!3!D!%!&!N"0!E"N"/!@!A!E"1"."&"%"$"%#C)>$]%V%a%b,C)<:e)%--)=.K+g5*5'9d5)<{E~F@FA=V!#!"!&!%!!!+!#!F!4!'!("3"2"*!O#F#D!n#E"u)?-,&$.M.N%@.L5+-`<~0s<}94PQDUFAZcZb6sF'M:!$!'!(!(!,!G!H!I#G#0%d)@0tFB,<!'!(!)!J%e#H#I%h"v%3%"%2.P'{)'0|5-5,-b=!Mn#J!o!p"+#1"w"x"y%#)A%C.R.Q)(5/,f+_50-c51FC=#="0D0u2t2u2rFEFDFF6/959697L-@6@7@8FBPRKq!"MWMXMY&y!$!#!F,?SS,>,=F#F(!4!5!$!L!)!K!o!C"5"4"6!X","+")#O"0#P"'#M#L"/#K!s!t!u!v!w!x!y"(#Q"&!z#2%j#:%k%t%p%l"z"{"|"}#!#"###%#(#)#*#+#,#8%m%o#&%n%i#3%s)C)E%:%()F%)'N%*%7%5)J)D)L)G)N%&)B%E%F%H%I%K%L%M%N%O%P%Q)M)H)I)K%$%''|.d.Y+r(6.c.W.V(#(;.]'~'}(".b.U.T.e.\)))*)+),).)/)1)2)3)4)5)6)7)8.S.X.[.^.`%G._($+c+p+g56+k55+t+f+h+o52+i-d-n57+n-f-g-j-k-l-m-o-q-r-s-t-u-v-x-y-z-{-|5!5:5;5354+h59-w-p+j+m+u+q+s+`=+=-=,0I0H=0=(1!=30w=.='1"0v0F=*=1=7=2=)0K=4-i2w2x2y2z2{2|2~3!3#3$3%3&3'F7=8>e=9=/0zCc0}1#=$=&2}0y0~0x=%=60|FIFO6V6QFL6N6R6c6SFH6U6PFV656TFRFPFKFNFS2vFX6O6WFG98999:9;9<9=9>9?FM6;FQFT6MFJ4!PZB8=Z=XPS0{=^=\PX=[P_P]<.P\PbPU@?@@@A@B@C@D@E@FPaVNPYPVFW=Y=]=_<+P`Zq=a!.B4DVZdZi=bZkB9ZtB1ZuZhZgZvFCFDFEFFFGFIFJFKFLFMFNFOFQFRFSFTFVFWFXSE&-DXZw^WZmZoZeFPFHFUB0ZfZjZnZpB6?FH~HzZl!/!1!)!&!%KwH|!+!,Ks!*KyKx!'MZM[M\M]M^M`Ma!(Kr!-MbI!Ku!0KtLESTSZ,@OXO_SXO\O^SUSVSFSGSHSISJS[SW6xKvZoZpUgUf6vYHYJYKYLYN6u6wYIUh6t>vZkZiZj>x>w^0^1^,^.^/>ua1Zla/a0a2gJgNc.gMgOa~b!GogLgKi|RuM<dzkkM;Mhf/f.ohWNklg?g~f-WMi8i:i9s1j@[EjKkAubmRlI!M!\"2#S#T%u%w%x#5%v)Q)P)O)S%S)R%R.g.h+v-}-~.!5<3(1$1%3)3*FY9@9A9B6X9C@GPc@HFYFZDY!4!2K{McMdKz!3S\,ASKSLSMSNZqYOYPYQ>ya3^2F)gPd{gQkmgAi;jLwSkB!6!6!5"7#V#U#6%y#8(%(&+j5=.".#=:FZPd=c<1ZxZr!7!N!7!A!Y!P#;"5#W%|%~#9#-%z)T.k.i('.j.O0{5@5?5A5>=;F]=d9D9EF[F\=ePe@I@JB:ZyTFSOSPa4^3F*F+!-!O!Q"9!]"8!R!F":!Q#Z#X%G&#&!&"#:(z%,)U)V.l5B5C+w+x==F_9wF^<3=fZ{Zz!5S],BUvZmgBWO!8";!H!I#["7")!{#.#/%-%U.m=>.%.&.'.(.)1'F`9G9HFa:]PfZ|F[Nw,CYRSQ>zF,M?oiuc!J#\!}!~"8#;&$#<#0#1#2#3#$"~%A%B)X)Y%/%W()(A(B(,(((*.o):)<)=)>)?.n+z+k+y(+5E+{.*.+5F1(=?=@0N3+3,3-3/30Fb6\6Z6[6Y6>3.=l=g=i=j=h=kPgZ}L!DZ!7F]F^K~K}K|!6MgSS,EMfSRUj,FZsYSYTa6a5a7^4>{gRgSRvs2!)!R!*!+!,!.!\!-!S"=!_#^#]#_#`!K&'&%&&#4#5%F)Z%D)[)\)]%X%Y.r.p.q5G.,7'=B=C=A313233FcFf9IFd9JF_F`FaMh,GSTSUSCYU^5gC!.!9!S!T"?!T">!L#e#a#b#c"!"*&(#6)`)_.s.t4z5H=D=E6]Z~Fb!p6{ZvgTN>!9!@!U!:!;!V!A!/!W!U!V!b"D!W"C"@"E":#j".","+";"9#h#g"/#k#i"-"="""#">#f#A&+#C#=#B#F#E#C#@&)#?#B#A&*&,#>#D)i%3%5%I%K'\)f%M)d)e)l.u)j%0%6)k%2)g%4%Z%[%\%])h)b)a%1)W(G(-(E/$.{/"(H/!(D(F.x.~/#.z.}.|)@)A)B.y(..w5I+p+m,%,#+o+s5N5R,"5S+l,&5Q+q5P5O5L5K+r,$5M.35T.../.0.2.15J,'+},!+~0P1+0Q1*=F0V6I0U=I=G6^0O,(343537=H=J=K6C6_FmFi6F6G6`6d6J6D6A6@FkFhFl6a6bFj9K9L9M9N6HLFFn6e<9Po=sPm<5=tPn=m<7<6=n<:=oPk@KPjPhPpPi=r=q@LD[B;[$Da["[!<8B@DbD\D_B=BD[+[)[(D^L"[&D][*D`[%FcFdFe[#['L#L'I$L$L&!<!=!:!>!;L%!8"Z!9O`,IZw,J,N,M,LS_SaS`S^,H,K!?SVXQZzUkZyZx6|YVUn>|a8a96}^6a:F/F.F-M@MAojRwgDudkeb-b,!:!<!X!c!Y!X"1"2"%"&"'"("3&.#E#G#8#:#;&-#I%=%9)m%<)n%`%a%b%c(0(J/&(1(//()C)D)E5U5Y+t,-,),+,,,*.4.55V5W1-=N=L=O=P=Q3839=M6i6f6h6k6g9O9PFoFpFq=v=u<;PrPq@M=wBFDfDdDeDiBEDh[.Ff[,[-L+L(I&L)L*,OZ|SWZ{Z}6~7"7!a<>~?!gVgUMBok[Fuelkf;!="G"H"5"4"6"*&/#H#I%R)q)p%d%e/*(L/+/,)F/)+v5\5[5^5_5Z5],/0]=R,.1.1/=S6N9QPs0[=y@N@O[/BGDjDkFgMiOe,P,Q7#7$Z~MC!*!B"J&0&3#J&1&2(M///1/-/./0=T5`.6.75$Fr9R<=Fh?"m2!+!1"7#n"C#m&4#J&5#<)s%>%?(O/4(3/3(2/2/7/5)G,05b5a,1=U3:6OPuFs5c=zBH[1[0L,L-L.MjSd7%^7_K?#MD`idC!2"8#o#L&7#=%f/6(45dFiMEWP!Z!Z!["K#p"D"E#s#r":"9#t&9#M&:#u&;#>%@)t)w)x)v%g%i%j%k%h)u5e5f.8.90c0a0b3;9S9TPxPwPyP{@PFjFkL/MkMl!@7&^8F0Rx`jb."L#w#v#x#L#O#N&<%U%T)|){)})z)~)y%l*"(R(Q(7)H)I)J)K/95h+y,25g5j!C!4!["F*$#z#y#N/;(8/:(S5l/<Fx,3={P}Dn?$!?!\#{"O"M"P!]"G";#|#}"?"@"=">"-&>#P&=#Q%^#?*'*&*)*(%A%X%m%n*%(9(T/F/A/D/E/@/>/B/C)M)N(U/?5s5t+{,4+|5o5m5p5r5q5n,5.:.;=`=[0g=_=\=]3=10=^0f6RF|Fz6SF{FyF}9UF~=|=}Q$Q#P~@QQ!!Q%=~@R[<Fo`r!ESfYWKj!`!@!^!B!b!_"U!h!^"V!_"S"T$%"K$$"B$&"A$'&D&B#R#A#B#C#D#P*1*/*2*0%o/M/J/L/K/I)Q)R2r(65{,65|5y5w5z.<.=.>.?9W9X9Y9ZG&[=DpS{MUL3L4FpL2,US[P9T.,T7)7(YXZoF2F1f1gEWQuf^Q^R!C!d!G!F!6!c!a"Y"X"^"Z"]"W"B!N"\"G$-"E$."M"F"P$,"O"N"D$("/"0"2"4$*"1"3"C$)$+#V&O&F&M&L#V#Z#]#[#T&H#W#R#X#X&I#Y#U#U&G#\#E#F#G#J#K#L#H&K&J&P&E#S#W#Z%\%^*6%L%D%[*4%M%E%G%a%P*3%R(G*;%H%K%J%Q%I%N*=%O%p%r%s%t%u%v%w%x%y%z%}%~&!&"&#%F*5%C*8*7%|*:,8(F(R(M(<(Q/T/N(?([(Z(O(E(K(J(N(H(I(=(A(L%b/Y/Z(S/O(:/W/V(P/P/X/R(@(B+3)S)U)V)W)X)Y)Z)[)^)_)`)a)b)c)d)f)g(C(D(])e/U/S(X(;(>/Q6),$,+,,,'6",N,A,?,L,=,F,V,I,*,M,T,R,"6#6$,Q,#,@6'6(,W6&,S,X,G,Y,D,U.@.A.C.D.H.I.K.L.M.N.O.P.Q.R.S.T9^6!,B,E,H6%,P,K,9,:,;.E,J,O,>,<,Z1F0i=w=t0x=o0u1Q1I1L0n0y1D=v161J1E1N141M1B1;=q=u=}=z=~1:1<=l18=r={3?3@3A3B3D3E3F3G3H3I3L3M17=s19=m1A1H>!1R=p1@151G1>1C1=1P=y4`1S1O=x=n1?1K6U6aG27$G7G>6wG56|6V7(6o6q6Z6x6W7)6~6b6[7#7'6f706]7,7.G.G<>"G+G/G87"G4G?G:6d7&6s9[9]9^9a9b9c9d9e9f9g9h9j9m9n9o9p6t6u6{7%7!G;9k9\9_9i9l7+7/G=7-7*6}G6Q9>#'-Q3Q5>*>8Q:Q0>.>$>5>?Q?Q7>4>7:3>,/1>2Q;Q@Q*Q>Q=>;Q8>(>0>+Q,QDQ.Q+Q-G&>>Q1@V@W@X@Y@Z@[@\@]@^@_@`@a@cQ/Q4Q<@TQB><>6>%>)>&@d[F[@[KBM[O[E[Q[PBN[LDsDwDuD|[C[GBLBTD{BPDv[ADqDrDy[R[?[I[JDx[MFqFrFsFtFvFwFxFyFzF{F|F~G!G"G#G'G(G)G*G+G,G-G$[HFuDtDz[NE!F}[DG%L5D}Fl!QL;!U!RL9!X!JL@LFL=!OL>!W!PL6!KL?!V!YLAI/![L:!HL8['!ZI+!TE#!S!I!G!b!\Mz!^LB!a,aL7I2LGMoMpMqMrMsMtMuMvMxMyLD!_&+!]!M!LL<LC,jOnSt,\Sr,hOrSjSx,`OhOsOfSqOpSoSh,k,[,dSn,_SlSgSuSpSs,YSkSi,g,X,WMwOiOtSw,fS\S^S_S`SaSbScSdSeSgShSiSjSkSlSmSnSo,^,],b,iSmUtSvUz[&[!7-7*7475[#[+UqUv[(Uw7+[)Uy717/7.[$Uu7279YYYZY^Y_Y`YaYb787076737,[*["Zt?)?/Zsa>?+ZqZvaFZwgXa=aDaCZx?*ZuZyZr?.aA?'?-?(?&?,aBY[?%^<^=^>^?^@^C^D^Ea?^JF4_N[%F;F9F7gZg[_PgWF<F:F3F5F8_O^Fg\b"b#b$b%b&F6GnF=ktkukokqkpMGMIMKMHMFMJd}d~e!MLkrR{oqoof5onRzomR~opR}f3gGgHolR|WYWZs3WUWVWWWTWRWSi<hdWX[I[JjM[H[GwUwVkf^S^U^T^VkCugy#lml"l#`kb2b1b4b0b3lylz!e!f!7!n$2$0"I"5$1$/"H&T/\*>&X&V#O#Q&W&Y&\&Z&Q&U&R&S&[%U*C*@*A*B-4*?&$%T(T(V/`/_(U/[/^/],\6-6*6,,[6+,]1V>%1W>$>#>"1T>&73G@GA711U9r9s9tGB72>@QE>AQGQH>BQF@e[T[XE$[U[Z[VG.G/G0[W!e!f!dM{OuSs7<7:7;_QMMS"S!!H!D"`!Q!R"a$5"6"7$4&j#`&f&b&^&i&]&e&g#S#T#V#X#Z&`&c&h&d&a&_#^#Y#]#_#`#a%j*O*G*L*F%g*J%l*H%V*Q&A*I&&&'&(&)&*&0&1&,&+%k&/&.*P*K*M*N&2&%*E*D%W([/b(W/d/a(X(_/k/c)z)h)i)k)l)m)n)o)p)r)s)u)v)w)x)y){)|)}/j/l41/g/h/f)t(](Z(^(\(Y,^,264,0,4626<666=6>616.6:6/6@.U.V.W.X.Y.Z.[.^._.`606?676869,`6;.].a63,_,b0}>'0|1]>4>-1[>*,a>3>01Z1"1#3O3[>.>/3N3P3Q3R3S3T3U3V3X3Y3Z3^3_3`3a1\>1>50~>(>)1X1Y:OQN6rGG6jGE6p6lGKGP6uGDGFGM74>2GOFQVQKQU>MLQQ>D>K>CQTQP>I>JGQIQL9wQSQM@f@g@h@j@k@l@m@n@o@p@q@r@sQO>N>H>EE)E(E'[\B\[d[f[aE*[`E&[gG2G3G4G5G6G7G9G:G;G<[]G8[k[c[SG1BZ[e[^E%E+!rI4I5!oI6LKLL!k!xI7!w!tN!LMLO!g!uM|M}N&N'N(N)N*N+N-!l!m!nLq!s!q!iM~N$N#LNLJLH!hLI,o,q,lOwOzOy,m,pN,StSvSxSz,rS{Sy4o,s,nSwOv7CU}7=[.7?7D7B7E[,,tYdYeYfYgYhYiYjYk>l7@7AU~[/?4aG7>aI?3^G^H^I^K^M^N?1?2[0aHb(aJFBF?g]FGFA^Lb'FCFFJ;F@?5c3e"e#e$e%MNkwS(f6S$S#S'S%otgIgJgLS&gKorosW[i=s4W]s5[KW\^WwW{_eZfBfO"b/m&k*R)~*!,d6B/n6A.b,c>63bGRQYQX[jdz[hG=[i!z!y,u?6C?^O?7FHFIH;W^!/"c$7$6&l#\6C>7>8QZ$9$8#d#c%o*S&4.c1^>9><,e>;>:>OQ\@t[lG>[mLPN/Sy,v,w7FFJ?:?8?9FKMO"d"e$:&n&m*T%B(_,h,5,g6F6E.d.e6G,i1$1a>=1_1`1b3cGT7>7B7@7A:'>PQ]>R>QQ_Ba[o[p[nE,E.!{LQ?;[1[2FL!g!h!8"f!S!T!v$<"T$?$@$>$=!k#c#d#f#]#^#_#`#a#b#c&p&o%v%Z%t*U*V(c*\*X*Y&6&7*Z*[*]%y*W)9(d(b(a(b(`*#*$*%*&*(*)*'*",l6H6K,j,m.g.h.i6J,7,k1d.f,6>A>D4~>>>C>@>E>?3d3e1'1c<^GXG[G]GZ:(GUG\7CGY6z6x7DGWQ`Qa<]@v>S>T>U[rBcE/BbG?G@GA[qE0I8""!|"!,|!~LSN1N2!}BdLR,}S|,x,yV!Sz,z7H7G[3V.Z{b)kxS)i>uhkD^Xl_!b!U!V$A"X$B"9":";"<"W"K$C"J&t#h#k#d#f#h#i#k#l#m#n#o#e&r&s&u&q#j#g#f#g#e%|*a*`%`%z%^%}%[%\%~&:&;&>&?&@&A&B&C&E&F&G&H&I*_*^&D&<&=%b%_%c%a(h(d/v/x/y(e(k(f(f(c/p/{/t(k/~*-*.*/*0*1*2*3*4/s/w(l/u/z/o/}(i(j(j(g/q/|(e(h/r0S,p6O,r,u,o6U,n6V6P6Q.l.n.p.q.s.t.u.v.w.y6T6N,q6S6R.o.r,w,t,s,v,x>L>R>F>G1j>H>I>O1i1m>M1+>N1k>S3h3i3j3k3l3m3n3o3q3r3t3u3v3w3x3y3z3{3|3}3~4!4"4#3p>Q1*>K>J1f1g1h1e6{Gb6|7ZG_7!7H7YGdGf7OGeG`7P7I7W7T7G7K:):+:,:-:.:/:0:2:3:4:6:7:8:9:::>:?:A:B:C:D:E:;7VGc7XG^:=:@:1:*7E>V7S7L7R7Q7J7M7UGg3g>_>Z>]>WYQc\>[Qf@x@y@z@|@}@~A"A#QbQd@wQh>X>^>`QjA!BpE2Bj[{Bq[sE4")Bs[uGHBoE7BnGGGIGJGKGLGMGNGOGPGQGRGT[t[xBrBe[vGSE3E6E5"&E1[wL[LYI9LV"/LWI?I;",I>"%[y"$N:7QGELTL\N3N4N5N6N7N8N9N;N=N>N?N@NANBND[z"'"."-"("#NENCN<LZLUI="*LX"+T%T(T#-%,~T)T&-!O~-(T"-+S}-*-,S{S|S}S~T"T#T$T&T'T+T,S~-&-'-#-"-$T!T(T'T!T%-)7K7T7OO}7MV#7S7J[6[47L7N7P[5V%YlYmYnYoYpYq7R7U7IaKZ|??aLaM?>?@^P^Q^R^T?=?A^S?<g__SFMFRFP^Ub*b+FNgag`_sMQkye&kzk{S*ovS+ougMgNWbs6WaWcW_i?W`Wdi@ui[L^Z^[kE^Y^\l$y$lJcMze!3"h!c"i!X!W$E$D&v&w#j#l#p#i(o0$*c*b&J&K&L&M&O*d&N0#0!0&0%*5*6*70"6Y,y6X.z.{,z3f4$4%4&4'7\Gi7[Gj:GGh:FbA%A&QkQl>a"?"@"A$G&~&}#n&{&|#r%e%d*f%f*g*h&Q&R&T&U*e&S(l0(0*(m(q(r(s0+0'0)*8*:*;*<0,0-,J6a,E,D,C,G6d6e6_6^,}-"6[6b.|.}6`6c6Z6\-!,~1-1o>W>Y>X>V>[1p4(4)4*4+4,4-4.4/1/>\1n>U7^7&7aGpGk7#7]7`Gn7%7_GoGl:H:I:J:K:L:M:N:OGm7b=lQtQpcQw>dQrQqQv^>]7'>_QzQxQy\0D&G[\1E=NQ":"9-9SR-87[7\aOFYMTS/!k!9$L"L'$#r'#'"#s%g&X*k020003(p,K/!6i>a1q7c>c>`>b40Gq:PGsGr>eA/E>\3\2Lb";T/-:YwaPow!J!:!e!M!Z"k"j"M"C#l#s%h'%#k#n#m04%i*l%k&Y05%j(q0708(r09-#6l6j-$6k6m/">f1r141tGvGtGu7*Gw:QQ{Q}Q|H&Bz\4E@E?\5EA-=">"="<-;T0-<->T87]f9hgy&!>!u!t"l$M"^"N$N$P$Q$O"D')#t'''&'(#o&,&+*m*n%l*o&[%m(w0:0?(z(v(u0>0=0<0;*@*A*B*C*D*?0@(t6r,P6o,O>g6p6n/#/$/&/'/(-&-'6q6s-%6t>m>i1x1z1w1y1v1{>p>j414245464748494:>h>l>o>n43H#H$H"7,G~Gz7d7-7eGyGxH%H!H&G|:R:S:TG}7.R#>i>gR&>hR%R)R!Q~R'R$A0A1A2R"R(>fB|B~B{\8\6\7G]\9EB"@LfNRNSNTNUNVLeLd-@-?"?T90-7^?C_Xgbe'e(k}gQs:!0!l"m$T$S$R"O#u'*&-*q*p(w0B0C(v0D6w6x6v5(6u>q>rH(7gH)H':UR*\:"A-A"B"CS0^]!E!F"p"n"r"q!\!]!^"s!f"o$W$U$Y#Y"E"F$V"S$Z$X"R'.#q#x#y'0#v#u#w#r#s'1','2#v#w#y#z#{#~$!'-'/#}#}'4'3#|'+#z&0%u*u&3*r%s%t*z%q*w*|%o*y%r%p*t'5&\&]&^&_&`&a&c&d&e&f&g&h*x-+*s%v0P0J(x0K(y(~(z0F0I0R*E*G*H*K*L*M*N*O*P*Q0M0E0G0Q0O0L*J*F0H({(|-,-),R,Y-*7!,X-4-0-+6}-1---/7$6~,b6y,c,V7%7"7#6{/)/*/+/,/-/.///1/3-(/0/2-3,]-5-6-2;N1:?+?$?&1<1>1~>y?">{2(18?'?,?)>t?*1@1;1|2&>s161}2$?(?#4;4<4=4>4@4A4B4C4D4F4G4H>w2*>}>|>~?!?%1?2)2!2'2#2"2%2*7iH37nH*H47o7l7k707p7j7q7r7tH.>z71H/7m737h7s:V:X:Y:Z:[H-7uH2H,H1H0:\>pR->lqR.\;<}R5>j>sR+>oR,R9R0R8>nR6\@A7>rA3A4A6A8A9R:R2R7>kA5R/ECEKEI\A\<C+C&C%EDEHEGEJEN\>\GEMEEEF\BC)\FC'C#EL\E\C\?C(G^G_G`GaR1IN"IIR"ELi"P"JLnLg"G"QLo"O"L"MLpLjLm-D"FNWNXNYN[N\"D"K"NLk"HIQT3P#-JP$T5-BT8T4T1-G-C[9T2T:T;T<-E-I-H-K-F-MT7V)[;aU7`[?7f[:7b7d7a[=7_7eYyYzY{V*7c7g9'[@FZaT?GZ~aQaR?I^YaS?F^X?E?HaVaWF\_[F^ge_YF]F_F`b0b1b2FaFbF[c8MUc7k~MWe)MV[>oxozoyS2S1s;hihjWgWiWhWjs<^^kjki^`wX^_y'l&z(zf{<cO|4!m!%"b"T$[$\"U#~#~#{*}&j&i0U0T0V0S7&2+1A?-7v\H"RT9N]T=7h?JFcgf^ae5!o!q!p!;!h!g#|'7&k0W7(/4?.:^"SFd"t"V*~0Y0X,e?/5_2-?02,H6:_:`:a"T?K!w"u"v"Y"X"d"[$a$`$^"H"J"W$_"Z'A';$"'8#~#}$#'@$$'<'?$!$$'9':'=$%'>%{&5%y%}%z%|&!+#%~&"+"&l&#+!%w%x(~0b(})"(|)#0_)%)$0[)!0Z0e0g*S*T*U)&0a0`0\0]0f0d0^-872-77.-92.7*,i,j7/-:7-7170,g7374/6/57)7+?5251F1C1D232/?:2024?<2126?6?;?222?44I4J4K4L?9?1?=?7?3H97>H>7y7z787xH:778!8"?8H@H=H;7}H8:b:cH?7{7wHA7~@+>x="ER=%>u>t=$>w>zR>R;R=\K>{R<>v>y\L\MEXC4EOEU\JETEWGbEYEPEVEQ"W"YLtLsLuIWLvLxIV"V"U"XLwLyLr-PT>-R-XT=P(-W-VT;-QT<-TT?-OP*[A[BV,7kY|7i7jaZaYaXFf_]gg_\FeFgghb3MXl!S3Wlo{s=Wk^b^cwYcPcu!x'B$&$&+$&m&n0i0h*V7527HB8#R?EZGdMYjN!r!s"x!i"w!b"g$'$'$&)^+%&$&%0j0A/'761JHC>|E["[Ge\NN_"\"]V&Wm"h"^$d"]$c$b$f"i$e'E$*$,$+$($)'D'H+('C'F$-&,&(&'&+&*&9+&+)+'&>+*&p&q&r&s&t&)&-++)()*)'0l))0m*W*Y*X*Z*[*\0k-=-@->-A-;7:7;,n-B-?7<-<79/77778,{2D2;291M?C2B?H?>2=2<2?2>???@2A281P?D2C8(?A4M4N4O4P4Q4R4S?GF=2:?B2@HJ1K8+8,8-HKHN8'HM7B8*8&HI7C8%RDHFHG8$:e:g:h:i:jHHHL:f=+?%=,RARB?"?#RG>}REA:A;A<RCRH?$>~RFC8E\C7E^\PE`E_\OGgGhGiGjGkGlGmGnGo\Q`1JT"^IZ7?IXLzIY-Y"bL|L~N`NbNc"_"a"c"`L{TAL}TCT@P-TDT?T@TATB7n[D7l7mY~Z!Z"Z#[C7o[E?Q?Na[^Z^\?M?O?L^[?PFhFia\gib4b5b6gjl$l#M]M[l"MZM\M^f<S4Sas>WnWoujjO[M^db6zhzgl{!c"K"L+,$'+-+./9/;/</:2E4THO:k:l?&!?!u"y'I$*0p'M$('K'N&?+0&.+1*9'A5#0r0s0q0o0n7?7>,o7=7@?I?J?K?L?M?N7DHPHTHSHQ:mHRRI?'A=\S\T\REa"d-Z-\P/TE7q7pWpcQcRe6!@!v"M$+'P'O$.+20v0u0w.h?O8.RJ\U"e-]!*!G!x!|!w!z!{#!#""|"z##"{"}"~!j"`"_$h$i$j$k$/'Q$1'S$0$)$*$+$,'R$2&/+6+3+4+7+50~),0})00y)+0x-D-C-E7C7A-F/=7B2J2H2I?V?P)/HU?R?S2G?Q4U4V4W?T?W?UHVHY8/8281HZ80HXHW?(=1RKA@RLEb\VEc\W\YGp\Z\XM!M"I`"fNdNe"g-_TFP0-`-^7s7r7tZ$["a^?R^]a]FmFkFoFjFlgkl%M___MaM`l&o|o}f=S5s?`<`odF$n$l$m$31!+8-21$7D1"1#7F7E?XO!83H\H[?*\\\_\]\[\^-a-NP27u?U?T?SFrFpFqWq[Nb7#%#$!d$q$o$-'T&0+;+:7G,t,s5`?]?Y?Z4X4Y4Z?\?[2KH]H`H^H_:nRQRNRPROAAC<\`"k"l"i"jM#P3TG-d7v?VgTMbS6sAl'!}!k!y"a"n"b$4'X$5'W'Y'['V$6'U'Z&3+=&1+<&2)-+?)31&)0).1()2)1*^1'7M,y,w,|,u-K-I,x,z,v,{-J7I7O7L/?/@7K7P7N7J1V2O?h?a2L2Q2N?`2P1X?g?e?b1Y?f2M?d?_?cHd4\7F86858;8:877GHa84Hc881U:pHb:o89?,?+RRRTRWRSABACADAEAFAGRURVVl?-=2\f\cEf\bC>EeCAC@\aEhEjEd\h\i\jEg\dGqGrGsGtGu\eIdM$[HIcIbM%"m"oNfNg"n"p-eTHTJ-g-fTDTE-hTI[G7wV0\_[Fa`?Wa_?X^^aaFsFuFvM"Ftl'c>c=e*McS7o~WrjGy(!1"!"o!l#&"O$u"c'`"i']"d$s$t"e'\'^'a$r"h$7$9&E'f'd+F'g+@'b'c+D'e'h%~'i$:$.$/$1$2$4$5$6&w&x&y&z&{&}&~'!&|+E+A+B$-$0&D&4+C&G+L)G1/&K+M1)&51,+O&J&7)8&6)C+I&8&Q)D1*1++P+G1-&u'"*p)F1.+H+J+N+K*d*_*b*e*h*l7[7Y12)I)7)B-)-N)6197W13,}-L157S-!18)4,~1:11177V7U-*14*a*f*i*k*m*n*o/F/G/H/J7R/D7X*c-M7Q-R-X-[?m7c?o?k?p7d-U?i-.?s-V-&2]-Q-\7b7]2T7_7a?l7`?q-'-P7\2S?r?t2R-O/A/B/C/I/K4]4_4`4d4e4f4g4h?j7e7f-T-Y7ZHq7M2Y?|7KHsHi8U?~Hr@"1e-S1m?wHn1a8?2W2Z7L?y2\?v?n1i8<Hp2^1_?}?{?zHfHl8>8AHt2UHkHvHgHe?u8@4a4^4b4c4i4j4k4l4m4o4p4r:r:s:t:u:v:w:y:z:|:}:~;!;";%;);*;,;.Hh2V?x;'4nI$Hm@!;$=?8J8M8R7O7W7QR]I#8PI"7S8V8X8CRa8Z?37[8SI!8FH{?48D8T2_RX8G=67X8Y8Q8K?1Hw8O8=H~RbRcRZH}8WR^R`?/=@7R8IHy:q:{;#;(;-AHANAPAQARR\R_R[Hz;+8N?.8L4qG}?<?6?5RkM&?E\o?9???D\tRoEk?;\lRe?8?=?:RYIn\v\y?CRh\rCO\x\w?AEm?>\q\n\m?7RgRmAJAKALAMAOASGvGwGyGzH%H(\p\u?@AI\sRn]#]'CECDM'\|EwEvEs=5\{"r"uM)EpEoElEqErEy]%\}\~Rj]""t]!"wEtEx-jCSGxG|G~H!H#H$H&NiNjNkNlNmNnNoNsNu"s"x\kEn\zM(Eu-qIfCR-kIq-mM/-sIjM."yM3Ir-u8EM2M5P5P6#!M47|M0TNV4"z#"TTM+M-TMM,."-w-v"~P<-p-oH"Np-rM1-lNqNrNtNvTGTHTJTKTQTS-tTK0P"}%qIpTLTONhTOTPTR-{-xTUTVTQ-~-|-}TWP=[I.!7{7}7z8![K-z7y-nTMTS8"TITNTRZ%Z&Z.Z'[JTXZ*TL7x[QV5V1[*[Nadab?[8&[&[M[O8#8%[Pac?Zae?Y"vZ+Z-^_^`^b^c^e^f^g?\8$Z(['[RFy?]ahMd_c_bF|aiMg[(ajG%G!FxagF~gmFzgpFwG"?^F}gn^dgoF{glb9G*cDG'gtG$l*G)G&?_guc?gql(G+G#Megwb:b8b;b<b=Mfafgre+gvl)S9MjcAMicES8MkgU[Of>l+WsWtWuS;S:S<iBWv[P[R[S[QjPiAjQjR[UwZ[T^ejSkGkHw[^fy)^gl(l)mrl|l}{>{`m4"j"r$v'k$;'j'm'l&R+Q+X+T+V&S+U+S+W'$'#1=1;1>1@)L1A1?*q*r1<7g-_7i-^7h2a1o@%4s4t@$2`I(I'I%I&7\I);/8[8\4v=DRq?G?IAU=ARp?H])]*EzE|E{#$E}H)H*](M6IsIt#(#'#%]+##N{#)#&NwNxNz#*.*.%.$.'.&.).(,c1p.#8'[SZ/?`G-_eG.l,e,p!S=#'!m$w$x$4$7$8&9+Y+Z1C1B1D)9*s*t*u1F1E)87l7j7k-a-`@&4w8]8_8`8^?JE~CU#+[Tp"#(!n#)#*!o"l"v$y"r"p"o"k"m"P"R"q$7's'v'u&W$='o$8$5'w$>$;'r+]'q+e+['p$<+\'t$;$<$=$>$?$@$A$C$D$E$:+^+_+a&;):+d1H&=1J&<1I1G+b'&'''(')'*'+','-'/'%&>1R1T)X)O)P1S7m)?)B)A1M)G-4)\)>)=-c)S7n)H)Z1P)@)D1N1V1K)C)<1U1Q*v*w*x*y*z*{*|*}*~+!+#+$+%+&+'+(+)+*/S/\/a1L+");-b-d-=7u-8-m-k-9)W-5-j7{7p7}7s-i7r7w-67x-l-e-7-g-h-:7z-f1W7v@'7y7t)F7|7~/L/M/N/O/P/Q/R/U/V/W/Z/[/]/^/`/b@(/X7o/T1r1s7^2i@1-n@72c1t2"1v2b1}8a2d@42g@5@,@)2$I/I*@*2eI-7]@/I,I+2h@-I.@3@01u@.4x4y4z4{4|4~5"5#5$5%5&5'5(5)5*5+5,5.5-5/50;14}2f2&;A8kI47iI;I68mIA8tI1=Q7g8b8j7_8h7c8i7j8f7m8o7fIBICI:8qI3IFI78p7lIGI28l8nID8dI<IEI@ILI?IMIHI98rI=8s8gI8IK8eRs;0;2;4;5;6;7;8;9;:;;;<;=;?;@;B;C;D;E;F;H;I;JRtI>III58c;G?RR{=K=I?U=FRx=M=S=G=RR~?QF!?K],S%RuS#S"?M?S?NRyS!?PS$R|?LRz?OAVAWAXAYAZA[A\A]A^A`AaAcAdAeAfAgAiH0RwR}RvAh?T]6M9F'F*CbC_]<]=].CW]?F&CcM8F)]5CY#/C[CZ#.#1F$Ce]9]>]:F(]7F+#,];]3]1F"C`]/]4H+H,H-H.H/H3H4H5H7H8H:H;H9H<H=H>H?H@HAHBHCHDHEHGHHHIHF]0H6#3#8M<J%#=#7#9I{IxM=M;#EI}./J!MAJ&I|TY.<#5#4.-.+#D.,#<M@..M?#;#B#C#>#AIwH1#2#?#@N|N}N~O!O"O#O&O'O(O)O*O+O-O.O/O0T_O$V8PA.5.0TZT[.>.:.2#6P>PCP@T]P?.=PF.;PHPBPG.9.1.@8).8T_T\.78(.3.?TUTVTWTXTYTZT[T\T]T^T`.4.6PDTT[V81[W86V;8/85V:848,[XV7[U8*87808.82888+8-Z0Z1Z2Z3Z4Z583[3[8anakalam?h?g[5[7gzl-?i?f[4?c?eG/?a?d^h^i^j^m^n^o^q^r^t^l^k_f_h_g_il/G2G4G6g{G0l.G8_kG5G3G1_jgyb>b?b@bAbBbCbDbEbFbIe/?jG7bGl2f?MmcHMlcIMpcJMnl3l0l1Moe-e.e0SDWwfAS?SCSBfBsESAS@gVgWgXgYWxWysDsGp#WzsBsFW|[WS>iCiDsCW{[XjTjUjV^jw]^ikk^kw\^hkIkJkKkLb8l*l+mscSlaf&"w$=&Z'1'2'31X8"/\->8!6D@9@8IOIN;L;M8uS&AjS'F-]@#F#GT`Ta8;8:[Y8<Mq$?'y$@'z$A'x+h&`&B&@&]+l+f+j+i+g&?&A&\)`1Y)L)K1\1^1])I)J)^)_1[8#8$8&-r1_-E8(-p8*-o-t8%-s-q8)8'-A2m@@2.@:@;@=2o2p20@>@<2k@A212*2-2)2n51525354552j@?IX9"IU7z7{IYITIZ8v8~9!8}8wIV8{IQIPIS7r7s7t8x8y2lIRS/8z?W?Z?\=W=_S+S.S)?[S0S-S(=`?VS1?Y=^=U=V=X?XS*AkS,2q=ZU`F4]IF2]AChF1]BF/]FF7F5]G]E]D]H]C]JF3CgF6]KH%MBMGJ,#N#I#HMF#R#O#MME#PMCMDO1#K#L#JPK.B.F.HTbTa.K.G.I.A.E.LTc.JPJTdTeTfTc.DTb#QTg8>8=[Z[^[]V<V=[[Z7Z88?[\ap?lao[;?m?n[9?kh!g~g|g}bJl4cMl5MrcKMuMtl6MvMwfDp%p&sHiE[YukjJ[Zlolb"S$F+m+-+.+/8-8./e@B@D5758@C;N?]AlS256MH#T#SMIO3O4MJ.MZ9^ubKgZ[[""'41`-H-v-u8/2r59@F@EI]@2I[I\=a]L?^AmCjJ-#U8@_l"#$G+o+n1a/f22@H@GI`IdIc9#IfI_I^Ib7|L>Ie=bS6S4S7?_]O]N]PG1J/]MMLMM.Q.P.O.R.NPM8A8B?o[<?p?qG9bLMxW}$B'{'5'6)M1d1c+01b-J-w818385/g/h/i/j822325@J5:5;@IIi9%9$IhIjIg;O;PS8?`S9AnAoF8F:]RF9#VO5.STh8C[_?saq[=?t?rG:SEhmW~^l`p$B)N-y-x7}IkS:S;=fO6#,#+${"s$z$|"T$K'|'}(%$C("'~($(#(!$H$J$L$D&H+t+s&I+}&D+y&G+z+w&F&E+u+x'7'8'9':';'<'=+q+{+|+r+v)Q1e1f)P)f1h1i)h+1+21j+5+61n1l1k-~8:.!."-{.#-|-z8>888<-}898=/k/m8;/l8A8?2s288!@S2=@N@K@L@P@M@U2u8@@T@V5<5=5>5?5@5A5B5C5D5E5F5G@R2tIqIt2<?a9*Io9'Ip9)9&IlIm8#Iv9+8'InIuIw;Q;S;T;V;W;Y;Z;\;];R;X8&8(Ir9,9(SC?cSA]SSBS?SDF9;[S>ApAqAsAtAuAvAwAxAyAzA{A}=USES@?dF;F?F=F>]VF@FCFDClFBMNHJHKHLHMHNHO]TF<]W]Y]Z]U]X#a#\#[#^MRMU#Z#W#X#bO7O9O:MT#`N0#]#_#YMQTiTk.WPU.U.[.Y.]PT.\.TTeTfTgTiTj.XMO-bTh.CTj.VO88G[`[a8H[b8E8F8IZ:Z;Z<8DZ=[>aras?u^v^w^x^y^{?xh#G=G<h"h$G;G>bMl7e1e2knMySFX!iFs9sI[\w^^mkMy+dG$M+~'?'@,!)S)R1p+7+91o8B/o/p/q/r/s5I5J;_IzIy?eCpSFMWMV#cTk[c?zat?y?w_mMzM{{?f>#-$}$D()('(((&,")T)i)j+:1q8C5K2v@Y@[I}I|@Z9-9F;a;bSG?g;`A~B!SH]]]^#dJ4MYJ3O;O<TnTl[dTmTmTn8K8JZ>au^|?{l8uow_!H!N!}!e"u%""t$~%!"V"{"z(,$I(*(+$N$O$T$P$R$F(-$E$E&k&L&f&K,+&P&R,(,',&&M&S&O&N'C'E'F'G'I'J'K'M'O'Q'T'U,$,)&T,,'D,-,*'H'B,%&U-\1t1s)k)V1u1v)U)Y1w.&)Z)X'S+;+<+=+?+@+A+B+C+D+E+F+G+I+J+K+L+M+N+O)[@\8O8S8K8M8F.'8H8E8Q-P@])W.).*8D/t/u/v/x/y/z/{/|/}/~0!0"0#0%0&0'0)0*0+0,0.8L8G8I-S8N000(-Z0-.,.(/w8R@h@i@_2w3!962E2@2}@gJ.@c5L5M5O5P5Q5R5S5T5U5V5X5Y5Z5[5\5]5^5_5`5a5b5c5e5f@d@f@e2G@b@`@a2D3"2x2{2z2|@j5N@^86J495SI8.98J"928+909481J-J/9:J$J!97J39<9;J&80J'J*J19@SJ9=J8J#J%J58388J6J7;d;e;g;h;i;k;l;m;o;q;r;t;u;v;w;x;y;z;{;|;};~<"<#<$<%<&<'<(<*<+<,<-<.9A9.9/91SNSX=wSV=tSW?o?j?n?k=jS[?sSa?h=z?t?iSU?p?mS`=sSYSZS]SP=pS\?lScSOSQSLB#B$B%B&B'B)B*B+B,B-B.B0B1B2B3B4B5B6B8B9B:B;B=B>B?B@BABBBCBDBEBFBHBJBLSMSRST=ySbSKS_B"B/B79??rSSCtFNBKFPC{CrFMFO]iFUFR#eSdFG]_FTFFFX]bFJFS]cCvFHFI]eFLFQHWHXHYHZH[H\H]H^H_H`HaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHqHrHsHuGK]j]g]k]lFVFWHt]d]fHPHQHSHT]`]m]aHV#hMgM^J;JGM[J@#q#l#tMkMe#pJFM_J?MdJCJ>J5#sM\JJMi#nMcMj#iJAM]#uJ<JEJI#f#jO=O>O?OCODOFOGOHOIOJOKOLOMONOOOPOQOROSO@#kMlMhMf#g#mM`MZMbP[T}.iPePX[e8L.`.cT{.h.rTz.o.bPbVLPW._P_Ty.g.dTqTwP\.n.tTxP].f.kPcTp.aa{TuTvTrJD.s.l.e.^T|ToTsToTpTqTrTsTuTvTwTxTyTzT|T}T~U!U"U$U%U&U'U(U+U,U-U.U/U0U2U3U4U5U6U7U8.p.qPaU#TtHpOA.mVC8P8NVG8R8V[j[kVJVF[n8S[l8Q8Wa|[gVMVD8YVB[i8[[f8TZ@ZAZCZDZEZFZGZHZIZJZKZLZNZOZQZRZT8X[m8Z8M8O7'ZSZM[o[pU1ZP[Gax@'@#[B@+b$a}b&@)[Eazb"b'a~8\b+ay[C[L[F@-@(b#GFb)@&[Kb(b%av?|?}^~_"_#_$_%_&_'_(_*_+_,_._/_0@!@%@,@*b!_!b*aw@"@$_-h%GCh(h+h)GBG@h-GA_tGHGIh'h&GEh/GG?~bRbVbXbYbZb[b\b]b_b`bah.GDG?bTh,bWbOb^^}cSM|l?M~lBh0l:l9l=M}l<lAl;h*l@l>e3e4e5e6e7e9e:e;e<e=e?N!cRSISHp+p-fFp)SMp(p*p,SJfEp/SNp2g[g\g]g^g_g`gagbgcgdSLp1p0SKp.X&sNsOsLsJhosKsMX%iGiHiIiKiNiOiPiQX$X"geuqusw`ut[`ur[auu[_wa[]jWjY[^uvupkl^nwb`qkNkOkPkSkT^o^pjX`ry-l,`sy,y.kRz)cT`tmUl-lLlccLcU{@dHdIe[m/et%$$K(/,.(2$G(1$J&\&[&X,/&o,0&]&n&Y&Z&W'V)_1z8T1|)b)u)a)^1y)\)`1{)],w8W8X8U.3.-8V@k.2-_./.4.1.0013%@l@m5g5h5i5j5k5l5m5n8=9G?w8:9EJ<3$9HJ=9D9IJ>9FJ;<0<1J:Sn?v?u?zSk?ySgSfShSiSjSm?xBNXZSlSeBMF\D+F^]o]nD,F]D)]u]pFZ]v]tF[]r]q]sSoHvHxFYMn#}MpMqJM#y#w#~#v#z#{MoOT#|T~.vPh.uU:U;8^8`[q8_ZU8]b,h2h1bbp6N#p5p4hpp3sPX)X'X(wc`ulpmV!2!p#.%&$J(4,1$I$K(3,<,4,;,:,6,3,8,2,7&^,9,5&_'W'X'Y&r)v)c(58Y8\.58Z8^8]8[7H3&@p5o@o8@8>9J9KJC8AJBJDJ@JEJFJA?|Sp?{BOZa$"$%$#$&$!$$OU.z.y.w.x8aVPZVZWb-b.@.sQ[b[c!q!I"v(5"}%'$L$M%((6(;(7$L(<$M(9(8(:,?&`&f&a&d&s&t&c&w,=,>,@1}&e)h)x)y2&)w1~)d)e)k)f)g2%)z2"2#)j2$8_+P2!)l.6-c8b.;8e.<.8.98c8f.=.7.:.>8`8a3+@t3*@s3'3(3)@q2K3,JI@u@r5qSrJJ9S8HJK8C9N9M9O8G9R9T9P9L9QJLSqJH<2StSy?}?~SvSx>%]xSzSuSsBP5pD4D.]{]|D/]y]z]-$)JQMr$'Mu$($+MtPi$,$*OVMs.{.|U!PlU#U".~U<U=8d8b[s8e8c[tb0b/[M@0.}[u@/h3p7p8SOX*uzuy&h&g2'2(.?2L2M@x@y@v@w5s5u5v5w@{@z3-JOJN<35rT!T"S}S~T$BQBRT#S|@!@{FaD6^!D7]~]}HzMv^"$-JR/%/#/&/!/$U$/"U>U?U@8f8g[N@3b2b1@1@2_xGLN%GMSPjMu{[dsR^swewd`vcV!r(=,A2)8g<4@"JSOWOXZYUAbcjZ$O(>,E,D&i8h8j8i@|@}@#>&FbFc^#$./'/(U%GNlCy0!J"~"Z"[(@(?$N$U$V$W$Y$Z&m&j&l&k,G,F'Z'\']'^'_&C2,)n)o)m)p)q2-)s2/8m2.)t2+)r+Q+R+S+T+U+V+W+X+Y+Z+[+\+^+]8o.A8n-i.C-h8l.B02030405060708098k.@A&2VA!31A"A#3.A%32303/@~A$5x5y5z5{5|9U8M9V8PJQJS9Y9X9ZJVJPJU9WJR<:<5<7<8<9<;<=+T'T+>*T(T%T)T&T-T*T/@$BSBUBVBWT0^)FfFe^*^+^-D=^$D>FgD;^.^/^&^'H|H}H~I!^(Fi^0^%^,JV$3$7$5JUJTMy$4MwMx$1$2$0$/$6$8/)U'/*PpU&Ps/,UBUCUDUE/+$98jVUVT8i[v8hZZZ[Z\8l8kb5b4b6@7GO@5b7@4@6_1b3_2GRh4GPGQeAN&fGp9SQggX+sSiRu|[edJ,H20)u)v3LA'5}A(T1D@/-8m[QZ]%*%)$\,K,J,I2122+_)w.D5~9])y*"-q*!)~2:2@)z2A)}8p2=2<*#)}2?+`+a+b+c+e+f+h+i+j+k+m+n0:0=0D28*$2527*#0W-n.I909..H.G8|.J8q8{-m-o9%8v9&9*8w9)8~9(A*A)2f9$9,.E9#8s9+8x9/92AF0;0>0?0@0A0B0C0E0F0G0H0J0K0L0M0N0O0P0Q0R0S0T0U0V0X0Y0Z8y9"91-r9'8}8u.F6-2]3@2[2kA4A8A<2jAC2aA62eA5AE2i33A12`2gJd3?AB3>A?2Y2_A,%/A;A0Jf383AJXJYA>AD362bA@3;A/A23:352l2n37A=6!6"6#6%6&6'6(6*6,6.6/606162666768696:6;6<6=,9_9f9e9dJj9aT3Jr9mJaAT8>4T;TC>;>C>>>.TJ@)@&>@^1TB>:@/@->1^2>B@,@.T>TL$<TGDKT?TFT7T6@+@(>=T<T=T@TEBXBYBZB[B\B]B^B`BaBbBeBfBgBhBiBjBlBmBnBoBpBqBrBuI"I>@*TD>5TMT:TKI/BkOlT9$=DTDGDHDLFkDNFjFtFvDEDS^DFo^A^:DQDPFuFrFm$@$?Fw^EDO^9^BFpFqDA^=Mz$>^4Fn^?FsI#I$I%I&I'I(I)I+I,I-I.I0I1I4I6I7I8I9I:I<I=IAIBICOm"hDB^<^C^5Fl^3^7^8I;^6I*$b$R$MJ`$Z$T$LJeJgN%$c$N$P$VJ\$W$IN!$e$G$DJfM{N$$dJ[$[JZ$YM~$C$gN#M}$S$B:i$E$hN"$A$^$fN&N(M|J^$_$K$QN'$\OYOZO[O\O]O^O_ObOcOdOeOfOgOhOjOkOoOpOqOrOsOtOuOvOwOxO{O|UQ$U$`/0Jc$F$]$H$JUJO~I@P|U5U4U(U)U+/3U0/G/@/:Py/9P~U3/=/1/7/F/;/8/C/6/2U1U*[w/</IU,[yU2///4/>/AUFUHUIUKULUOUPURUSUTUUUWZmU//?/E/H/J/./DQ!OaZfZ_T:[|VZV_[z8z8n[R[{[x8p8v8o8y8t8sb88u8{[}8wU7U:8xZ`ZaZbZcZdZeZgZiZkZp8r[~8|8qUNZlZoUGUMZ^/5b?bFbE[]b=b9bB@@@F[YbKbD@<bAbJ[XbC@Gb;@Ab@@H@:[_[U@E@D@>b:[Sb<b>bIbLbG@?[\@BG_bM_3_5_6_7_9_:_;_<_=_>_?_@_A_B_CbdbeblG^@=@9@C@;_4ZjZnbHGeG\Gb_|_zGSh6GVGTG[GZGUh5GYG]lEGabfbgbhbibjbmbnbobpbqGWG`GfGdGcGXlGlJlKN+cYc]N*N)lHc\N.cWcXcVN-p;lIlLN/eBeCeDN,fHp@SVp?p=fKSTp<SYSSfMS_pASUSZghgigjgkgmgngoS[S\S]S^p:gpiUX.SWX/sTpBX-sUX1hrX2iSiTX3X0X,v!v"[i[hu~[gu}j[j\j][j[f^vwg^wlq^twf^ulr`y`x`wl/b9mXz+z*mYmtzizjcWdK{Am&e\|<#/%3#$#%%2"_"`"a%4$S$T$T(L$U$W$k$l$m$p$r(K&t'(&u'o'p'q's't'u'v'w,_'r,^'*$V*%2L*&2D*'2K2F+o+p+q+r+s+t+u+v+w+x+y+{+|+}+~,!,#*)2E2C2G9:*(2J,"2I.O.N96990j2o97-t94.K0]0^0_0`0a0b0c0d0e0f0h0i0k0l0n0o0p0q0r.L959;9<0g0m98.MAK2t3DAO2s2uANATAQAMALJsARAPAS6$6>6?6@6A6C6D6E6F6G6I6J6L6M6N6PAIAH6K3C3EAU8iJxAJ9q9oJ~K!9nJu8fJzJtJ}8c9pJw<^<_<`GTW>DT[T^>E@2TSTcT_Td@5T\TbBvByB{B|B}C!C"C#C%C&C'C(C)C*C+C-C.C0C3C4C5C6C7C8C9C:C;C=C>TQTRTUTf>JTaTeZTC,@3@1IT^Q^PF~^JG"DUF|F{Fz$p$j^FG!^G^HFy^K^OIDIEIFIGIIIJILIMINIOIPIQIRISIUIVIWIZI[I]I^I`IbIcIdD]F}^L^R^I^MI\T`B~BzJkN,$t$m$iN*$l$q$r$u$kN)N"N+$sP#P$P&P'P(P)P*P+P.P/P1P2P3P4P5P7P8P9P:P;P<$nP,*qP-P0P%P"N.N-^NQ*/R/f/P/`/^U;Q'/a/c/U$oQ(/V/d/eQ&/X/TQ)/gU:U</b/Y/]/Z/K/S/\UYUZU[U\U]U^U_U`UaUbUcUfUgUhUjUkUmUnUpUqUrUeU8/M/N/[/_1z/Q,{UoU=U9/L$v/W9#Va9%U>9)9(Vc/h\!8}\$\"ZqZrZvZwZxZyZzZ{Z|Z}Z~[!["[#8~9$9"\#9!Ui@O[b@NbN@K@S@Q@L[cbObP[a@T@J@R_D_F_E_G_H_I_J_L_M@PB"@U@M@I9*avZtZuGlh7`!Gm`"GjbtbubvbwGiGgGk_KGheElON0N3N;lNlMlQ`#N2N8cbc`N<N1N5N7eHN4eFeGeJeKeLeMeNN9N6N:lPSdcaSfpCfOSgSbScSegqgrgsgtguX6sVjOX7X8X4iViWiXX5[$[n[p[m\D[o[l[kv#j`^xj_wha!`|`~a8`{`}b:zkldledMdLdNe7f4!K#0(M(N$X,b,a,c'x'y2N*+*)2O**2Q,$,%,&2M2P.Q.P0sAWAVAX6Q8jK"GCM]ThTi^SG#^V^U^T$zN/$w$y$x/i/jU?Ve[$[%[&Us@Vh8eOePN=Sh[q^ya"$s$t,d,eAYAZ="=#TjIeG$U@!h+k*,*+-w0t1lK#TlTkUA${$|UB"%#1%5(O'-,g,f2R*-2S2T9>-x0u9=A[A^A]2xA\6R6SK(K$K&K'K)K%MXTmTnC?^X^YIf$}P>$~UCbQQ,/k%!UD9+9,\%GplRX9[rcX{BdO!i(Q$Y(P'.,k,j,i,h2V2U*-2W*..R-y-{9A9?3F3GA_AbA`K+8mK.K*K,K-9s9v9t9u8n@8To>M@6@7Tp=$G%^[^\^ZIgN2%%N1N0N3%$%"N4%#UFUGUH/mUE/l\&Vf['[(bSbRlSSi#h9C9B8oK/=%=&Tq^]!u"c%6"b(S$u(R(T&y'"&x&{&v&},n'0'!,l&~'#&|,m'{'|'~(!&z,o,p*2*0*/2_2\*3*1*02Z2Y,(,)2[2^2X2]*4'}.X.T.V.W.U9D.Y2{AgAh3I9w2}2|3K3L6T6UAeAiAd3H8q8t9}K49y9{9xK2K5='=(K3K0K19z9|3J=)K6G+@>@<>P^dTsG&TrTuTtC@CA@=Tw@;DaG-G(G.G,^_^cG'G*^g^b^a@:^fIhIiIjIkG/G)^`Tv^eIlG0N6%&JtN9N:N8JpN5P?%(%'/pUIUN/qUKUMUJUL/o909.\'VhVi/n9/@W@Xh:SjGrGsGqh9N?lTlUpESlpDpFX:sY[tsX[u[swia#l1dP!=#2!w!x"x"{"w#("z%7"y$^$_$['7(X$Z$Z(^$[(['/,r$W$]$\(Z(Y,s$w(W(\(](V$X,z'(,{',,y,|'''*,x'-'%')'$,w'8*6(U2`'+,v(",},t'5*5*>2h*99K*=2a9LAl*<*1*;2d*:2f*3*@2c'&*7*8,*,,,-2e,+*?9N.^3!9I9M.%.[.`.].#9E9J0w0x9H.Z.$9G9O._9F3N0v3$An3U9~3RApAs3OAoK;3&3SK8K73PK9AqArAtK::(T{:&@?8u:"KD@@:'8v:%:$8xK?>Q:!K<K>>W=*=+TyRrTzK@KAKEK=:#CC>V@HU"@G>UU'@KU$T~T}U&@F@D@CU!@BU(@J@A>X@IU%CECFIpP@@EU#@L^mG:^i%)G7DkG5G3^lG;G6G4^pDlG1Im%*Io^k^h^j^oJ}G=G<G9G8^qG2%1JxJy%0N<%4/sNA%/%+N>NEN;NDNCN=UO/rN?N@NF%,%-UuUP%.%3InQ3NBUWQ5UUUQUR/yQ1/x/w\(Q6USUV/u92Vm91/v%2Uw%5UT\*93\)Gw9594[)[*[+[,@]bUbT@Z@Y@\[h@[_N_ObVcdGxN@GvGtNAlVNBpHSmpGhtpIX;[v[x[wwj^zkUa$cY(#KF^r!L%8#3(_$a$]$\(a(`$y$`'0-%'<*A(%(&('((()-#,@($-",<2i*E*B*62k/i,/,0,1,3,4,5,6,7,8,:,;,=2j2l,>,?,.*D*C9S3V.a.)9Q.(9R9T0y0z0{0|0}0~1!1#1$1%1&9P6c319UAz3WA{32AwAxAy1"6V6X6\6_6`6a6b6d6]A|6[6Z6^3XAv=>=4KK:+:*:,U)>Z@M=88|KIKL=,=-=.=/=0=2=5=6=7=9=:=?CPKNU2KM=@KHKJU*=3===1:)U+U0>[U1U/U.G>CGCJCLCMCNCOCQCRCSCTCUCWCXCZC[C\C]C^C_C`CaCbCcCeU,@O:.CKCHG?U-CYIzI{J&%8^tGA%6DmG@^u^w^v^sIqIrIsItIuIwIxIyI|I}I~J!J"J$J%J'J(J)GBH&%9J#%@J~NG/{%:/z%<%?%A%BPAPBPCPDPEPFPHPIPJPKPL%=NH%;NIU|V.PG0"%>UXU[UYQ;0$/}/~/|Q<0!UxUyU{U}V#V$V%V&V'V)V-V/0%0#96V0V!V(U\UZV,9;9=\-\+@^99[jVnVp98[.[/[0[1[2[3[4[5\,9:9<97@_h<[kbW`&@``(_Q_S_T_U_W_Y_Z_[_\__@a@b_P_R_Xc#G|G{h>GzNCh=Gyb|b~c!c"`)bybzb}SolWfReReSeTeUNDSn_^fQU|fSX<gv[yjRiYiZv$jajckVjby1a&a%l2z,n4-&*G*F2m,A2n9V.c.d9W9X363Y3Z6e:/:0KO=AKP>\@P@QCf%E^xGCJ*GD%D0&Q=NJPM%CQ>9>bX_`[mfTSppJv%[z^{b;b<$b'1'=-'*H*I2o*;*>.e.g9\.f1)9[9Y9Z3]B"A~B$3^B#3\6f6h9":1U69':4:33_KR:23[KQKS>d@RU7>^@SU3U5>_U8CgU4GG^|GE^zDr^y^{GFK(%JNLNMNN%F%G%I0'Vt0(U_UaQ@U`U^Vv\.Vw9@9?NK[pb[bZ@dbY@eh?NESqSrfVpKfUSshvX=sZv(v'[{v&\kzle8#4-('3'>(+2p,C@T^}0+0)0*Vy@fpL#5%9-)'4-*,D,E*J*?2q4y.iB&3`B%B'6iU9KT=C=BU;ChU:^~%KJ+Vz[6c&Fnc%St%:$z'5-.9]3aJ,_aG}l3s[$_$|${(c'B%S'?'6-1-0-3(,(--/*B*M2t*L2s*K2v2z2w9e*N2x2u.n,F,G,H,I,K,L,M,N,O*O.j...k9a9`9b9_9c1*1+1,1..01-.m.l3>B(3c3b3=B,B/B*B-B.6k6lB+B)Ak9+9)9*KWKY6j=F=G=HKX9-KU=D=EU@>j>gU>U?>f@VU<UB@UUCUDUACiCj@WU=_#DzGJ_"_%_(J-_&_$_'%PK,%L%N%M%ONO%QPOK+QEQCQF0,UbV2,;9A\39C\1V{9B\4[7hwSx[}jd[|^|b>b=cZc\c[f)f5fF#6%;(..2*P9.UFUE_)Uc0.%RX?"|$d$e$`(f(g(e(h'E-5'D(/'8-62}*K2|2{*R*V*G*H*S*E*T*Q*U3$,P2~,Q3"3#3!9i.o.s9o.q9p9j.v.r.u9m9q9f.=.t9h.>.p9n1/9g9lB1B73hB53k3A3j3fB33D3i6m6n6oB6B9B4B86pB03g3l:6:?Ka:5Ke:9:::<:7KcK_:@KbK[Kf:>K^99K]K`Kd=I=J97K\91:8UL>r>p>{@Y>q>uD}>yUI@Z@\@b>|UG@aUM@e@c@[:=@_@^UKUJ>}CkClUHUN@X@f@]GXGPE%E+GKGOE&_/_*E.E*_+_4GMGNGSE,_7_5GZ_.E'E"GQGR_3GLGV_1_0J._8_,E-_2_6GUK:K6K-K9NSK4%]K2NUNWNTK1%UK0NQNR%SGWNX%T%[%YPPPQPRPSPT%V%Z%^NVNPQKUe0/00UlUmQLQGUh05UfUgUk0107UnV4V50403Uj020809Ud%WV|\9Up9PQQE)V~9G\59H\<\:\=9O@jUo\7V}\8W#9I9M9Q9K9F9L[89D9E9N\;b\\>9J[x\@b`@hbe@ibabd[v\?b]bbb^b_[z@mbcH+`3H'`4hD`5H&hChB`6c'`1H(H)H%H*@lcjckNINMNLlXlYNNNKNJpQpPpNfWSzpOSygxs_s^s]\"[~jV\!v)wk^}^~aBa'b?b@bAzmdQe9$c3%,R9s9r10B:6qKiKg:AKh%_QSQR0:%<%=$f':';'9'<*M*Y*X*W3'3(3&,S,T3)*Z9t.B9uB<11121315166u3F3nB;6r6s6vKkKlKj6t@h@gUP>~UO@iCmE/_9_:J0J1J3J4J2K<%`%aUr0<Uq0;W'W(\B\D@n\A9Rbf@o@phEhFhGhHH,NPNObgX@XAgy\#ks_!e:$g$h-9-7-8'=3+*[*O063*.w.x9v9z3o.D9w9x9y3I3pB>6yB=9<Km:BKo9;=KKn6x@j@m@k@l@nUSCnUQ?!E1E3_>J5_=G\_?_;_<%cNZN[N\%bUvUxUtQXUwUuV6Us0=0>9S0?W)bh@r@s@t@qhJhIH-cml[lZNQS|f\XBwlwmcDeX(i$}'I'>'G-;'?*^*\*]3-3,,U.y:!:#.H.z9~9{.J:"1718:$9|9}3L3r3JB?6z6{6|6}7!7"B@BA:%KtKp:C9=KrKs=L=MKqUTUV@pUXUWUUCoCp_A_@_KJ6N]%d%ePUPVPWPXPYPZQY0DQ[0@0EUzUyV7V8V9V:V;0C0AW+\#W*9T\G@u\F[;[<9U9V6y\E0B9W\"\!@v@x@w_b@yH.hKH/c(c)l]NSl\NUeVNRNTg{XDs`XCXEgz_"v*_#bB"}"g(j$d$j$f$k$i$~'P-<'A'K-@-B->'B'C-A-?'@-C-D39353.32*^36*\3<*e33*i*[3/3;*`*g*k*a*j*h*c*l30*_*f*b*d,V,X373:34.P/$.Z.L.{:&.N/".|:(.K:)/#:*.S:,.~/%:+191:1;1<1=:'/!.}.T3UBSBFBM3t3s3}3TBGBDBB3z3{3uBJ3xBT3yBCBOBKBP7%BRBLBIBQ7&3~BEBN3w3|:I:LKyL#3SKx:KK}L!:FL&Kw9O:J:H:D9N@qL%@~9@K~:MK{:NL(:E:G=O=P=QK|L'KvL$L"9D9P:O9>U[U^UZ?*@xU\@wU_@uUY?#?(?1?.@zUb@v?/?$Ud@y@r@|UfU]CqCrCsKuUcS5@s@}@tUeG`EE_DE>Gc_HGeGf_IKO_N_F_O%l_GGgGd_C_J_EGb_BG_G^G]%fJ7J8J9J:J;J<J=E:_M_LGiE;KPKLK>NbNgKN%kNlNeKA%pK@Qe0MNdV!Nf%mNj%rKIKKKFN_Nk%g%h%jKJNc%nN^NaU{NiNh%iP[P\P]%oKHV*V+Q^V%V#V'U}QcV)U~V&V$Qb0F0N0O0K0GNmQgU|0IV=0Q0LV,QfGhV(\+\H\KW5W60R9^9Y\J9Z\L9d\IA"9_9`9]W79c\O0H\N9a9\9[[>[?[@9b9X\(A#@~bn\,bk@{@|bp\$blbobqbj_c_dA$A%@}bm@zA!hOhLhQ`>hP`;hThNH2`:H4`<`=H0hMH1hShRc*K]H5H3l`lbl^NXlalcNWeWcrl_csNVT"pRpTpSpUS~T#S}hyscXFsasbXGsejYT!sdY3sfv+\&jX\%_$ltbCbEbDlf{C'D*`*a.V/(/':/:03X4"7':R9Q:S:Q:U:PL):TA#A"A!_Q_REGEHGlGjGkEI_PEKM?NnKR%uNoKQ%tKSQiQhQjV-bu9eZu\PbtbsbrhWhVhUhXH6H7jZf?fI&?(k(l3A3?3@*n/*/+:31?1@:1:2/)4#4$3\BYBW4%BUB[BVBZBX9RL,=RL*=SA$?2Ui?5?4Ug:V?6CuUhGmGn_SGoGpJ>%xKT%v%wPa%y0TQkV?0S\Q\R9f9gsgv,"~%>$g(m$m$l%!%"'E'T(0(1(2(3-G(5*e*c3E*p,Y,Z,[,],^,_,a,c3C3D,d,`3B*o*q.`/3:43F:5//:9/,/1/0.[.]/6/2/51>.Y/7:81B1C1E1F.Z/-:71H1A4&/.:64,4(BaB_41404*B`4442/84.4'4)4-7(7)7*7+7.7/717273B^B\L.704+7,Bb4/43B]:X:^:W:[9VL59W9U:\:]L1:Z:_=T=U=V=WL4L0L2:a:`A(Uq?7A)UjUlA%Un?A?CUoUrA&A'UmCwCxCyCzC{C|C}C~D!D"D#D$D&UpUs_[Gx_T%~Gz_VERGsGr_WG{_Y_ZGu_UGqG}_XJAJCJDJEJFJGJHJIJKJLJMJOJPJQJRETJ@GwG|GyGtPdKZNrNs&!NpEP&%Nu%}PbPcPePfPh&"%z&#NqNt%|JJ0XV1V.V20UQqQsV4Qr0V0ZQo0WVAVBVCV0VDV/VEVFVGVIVKVLVM\V9h\T9o9j\SW:9i\UW=9lW<V5\X\W\Y[A[B[C[D[E[F[G[H[I9k9nVJA)bvbxA&A(bw\0bzA'byA*_e_f_g_h_i`@hZhYc+c,c-c.H:H8H9c/lelfNYNZldlg`AN[eZe[e\e]N]pVpWg}T$fbg|shXHsii[i\XIsjv.j[v-v/je\(\'_&_%_'bFz-znmudSe;|C"'%@(n"h-H%$3G3I(6(8(9(:(;(=(71Z/9::.c/::;3K,e,f,g,h,i1I1K1N:>:?:=:@:<,j*h46:A1J1L1M1O1P1Q1R1S1T77Bc45L8:bL9L:L<:cL=L;L6L7747678=[75UuA+A*A,L??H=X=Y=Z=\=]=^=_=b=c=dD(D*=aUtH#___`EV_c_aD'D)D+D,D-D.D/D0D1D2_]_bH!_^K_&&_\_dJSJUJVJWJXJZ&(V80\V60]QwV9V7V:&*0[PjPiVQWC\Z9sWD9v9t0^PkVNVOVPVR9q9u9r9p[M[O\4b{A,[K[L[N[P[Q[RA+\3h[H<H=_j_klhcwe^N^T&T%e_h}XJXK\)i]\*\+wn\,wojgy2bIbGc]lg"i3MBd9[L@Uv_e&,0_0`A-ska(!~%A"j(o%%(p'U'H'W'G(>(?(@(A(B-J3Q3T*t*r*p*u3V3P3R*m3O*s3W,k,l,n,o,p3U3S3N/</;:E/=:F/>*v4<:G1U1V:B:D4:Bi4?3h4=Bh477:7<7=7>3lBeBj9_:d9`9\LALBLELG9]LD?Q=e=g=i4>=fA6A/UyUwUzA0A-A2A4A8A3?NV!A.U{U~U|D3D4D5D6D7D8D9D:UxU}A7A5H(_iE-H-_h_f_jE\H.H)_n_oH+H'H,_pH*_gJ`J[J\J]J^J_JaJbJcJe_m_lN{NxNz&3&0NyKi&4&1&8H/&/VEN|N}KgKj&5PlPnPoPpPqPr&.&6&7Q{0mV=V@0iV<V?V>Q~V;VC0c0dVB0bVF\[VG0k0j0l0aVTVU0e0g0hVDVA\^\a\b\_\\\]WJ9w\dWF\`9z[T[U[V[W[X[Z9x[SVH9y\cVSb}c&c$c!c"c%A0b~A/c#_l_m_n_o_p_q_rb|h^`Ch\`D`GH?`Fh]NbHAH>c0H@lkczcxljN`\8lillN_Nae`eaecNclmT(T'pXT)XMslXNv0v1XOwp\-\._(^qkWkXlwy3l4lxz.{a{b#7$o$p'Y'Z'X-M-L-O*E-K(C*t3Y3[3X*w*s*y*x3Z3\3]*z,q,r,s/?.f.k.h/C/B/A:L.i.j.g:J:H/@/D1X1Y1Z:K:I4D4CBlBkBm4A3n4B4@Bn7@7A7B7C7D:r9f:tLNLJ9iLR:i:o:qLP:gLQ:hLK:j9h:sLL:pLI:f:mLO:n:kLM=kA:V)A<A;A>V"V$:lA=A?V(V+A@V&V%D;D=D>D?D@V#V*W&Ea_wH2_v_r_t_sH1_yJfH3_qD<&;O!O'O*H0&:O+O&O"O,O%&9N~O(O$O)'.KmVOVQR#VPR&VIR(0pVJVLVKVSVMVT0nVN\eVUVVVWVXVYVZ0q\j\g:!WN\i9|9}9{\f9~0r\h[[c(c'_t`JHDHCh_HBNdNfh`c{lnT-NgNeedp[T+fgffpYT,pZh!eev2\/wqa*kY_)y4bJ{c(r(q'I'J*u,t,x.o/G/H.l/F/E.n1\1]1^1_1a1b:M:NBr3sBqBsBp3t7E7G4G7H9kLU:u:w:v:xLT=m=n=o=p?V?XAB?YV,AAV-V.DADBDCACH4_zH5EbJgJhJjJi&?KnO-PsPtPu&=V\V[WQ0tVV[\\l]c:"\kc*:#_uA1c)NhT.efHEp\h"XPi^jha+%&'K-P'M'L*|*}*{3_3^*~,y,z,{,|,})$/N/I.t/J/L/M:P/Q/O/K:O:Q/P/R1c1d1e1f1g1h1i1j.vBtBz4J3y4MBw4LB|3u4NBu/S4IByB{4P4QBx7I7J7K7L7N7O:|;":{:~9l9nLZ4K9s;!:z9y9w9pL]9xLW;%LYL\4O:}=q=r=s=t=u=v=x=y=z=w;#ATAHAO?\AMAE?d?eAP?_:yV0AFAUAKARADAIALV4V2V7V:V3V6V8_{ASAQANAGV1LXV5V9DDDFDGDHDIDJDKDLDMDNDODPV/A>HEAVElHC`'Eg_|_}H<H;HBEo`(H@`&H8H9`%`!H:HAH7H=`"AJHG_~H>`$H?EqHDJkJlJmJnJoJpJsJtJuJvJwJxJyJzJrJqO:&I&KODL/O3&Q&JO>KqKoOAO/O4OC&BO@O1R@O9OBKrL)L#K}O8O7O<&NHHO5&P&G&DO?&@&SL$&OK|&LO=&E&CO.&H&FOFPx&RPwPzP{P|P}P~Q"Q$Q)Q%Q&Q'Q*VdRAR>VXV^Vf1*V\R.V]R,Vh&A1%R2VgR11)R<0~1&R0V`0{R?V_VY0z1(R*VW1$R5Ve0}VbR31+0u1'O0VcVZ0x1#0vVaVrV[0|0w1"V]V^V`VaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVs0yPy]$]!W]\u]-\yW\WcWg:,]+W`]"\p]#\r]1\{]*\w]4:$\v\|]&Wd]':)cB],\z:/:(\o]2])\s:+].\q\n](Wf\<]3\x]/]%1!\t:':&:%:-[][^[`[a[b[c[d[f[g[h[i:*:.Wh[eWacKcG]5\RcEc8c3\GcJc@XOc.\N\EcCc9cL\=A;cFc0c7\>\?cHA9c5c2c?A5c,A6\AA3\Sc>A8c=A:A>A4c1\Mc6c:cDcIc<c-ABAAc;c+c/A2A7_v_w_x_y_z_{_|_}_~`!`#`$`%A@A=[jc6c7`"hjhoHN`YHLhc`T`U`Qhi`O`PHH`Rhb`X`MHGhmhhhphlhkhehdhgHFHJhahqHIc1c3c4c5c8c9c:c;c<HKHMl|l{lv`WltNllzc}Ntd"lxlsfpNjlolulqNiNulwNmNnlrNoT8NqNpNrNseheiNkpdphpifqfkpfpkT/p^pcp`d!pgp_lpT5pjp]T1pei'plT6T0T4h#h$h%h&h'h(h)T3T9T2XUi$i#spsnpbsqXRpmXQsti%smXTT7svsssosusrXVi_i`iaibXSY4j^v3\1v4j_j`jb\0v6\2v5\6\5ji\3\7\4wr_+_.wtwu_-v7_,_*ws_1kwkZk[k\_/y5a,a.a1lya/_0a-z1z/z0a0lOlMc^c_lhc`{D{dm'dTnN{||+$q%''N-Q(E3a+"3`+#,~-":R/T:V/U:T/V1k1l1m1n:S:U3~4U4$4T4!4X4S4V4W4#4Z4RB}LcC!7P7QB~7R;&9zLaL^Le;(:!LdL_=|=~>"={LbAW?hV=AYAZ;'AXV?V>9~A[A]A\VADRDSDUDVV;DTV@DQ`-HJ`+`.HLEsV<`3`2HK`0HIHMJ|J}J~K!K"K#K%K&K(K)K*K-`/K,`)`*K$&X&TL6OK&U&YL3OJOLOPHNOOOM&[&VOIL4ONL2&ZOHOGQ+Q,Q-Q/VnVl]<RCVkRB1/10Vo1,VjVmVpVtVu1.]6]8:0]9]7]:];:2:4:5:1[k[l[m[o[p[q[rWlcRAE\WcScOHVcQ]=AFcPNxcMAC`'`(`)[nhtHOHP`^`\hspnHRHSAH`_\XhuAGhrc>HQHTHUc?Nwl~NvejekfsfrpoT=T<h*h+T;swXWsxjcjd\8jjv8\9_2wwwvy8a3y7y6a2bLm]z2bKz3cbca{}f6'O-R'P(G(H'Q+&3b3e+$+%3g3c+'-#3h:[:W.y:c.{:]:\:_/Z.z/$:d:Y/#:^/":`:X/Y:a/X/W:Z1q1r1s1t1u1v1w/&:b4_4]424(4*C(4/4^41C)4[4,C+C*C%C#C$4\7X7Y7Z7[C'C,7U;1;0;.;2Lm:#LfLl:":$LnC&LgLpLh;-LjLiLo;*;);+>%>&>'>(>)>*>+>,>->.Lk;/VKVBA_A^?lVD?mVHVE?iAaA`VCVI:%?kVFAbVLVM?rVJDWDXDYDZD[D\D]D^D_D`DaDbVG?pExHPEvHR`?`>HVEzHUEw`9`C`B`6E}HOAc`AHQ`<`4HSHW`@`;F"`8K.K/K0K1K2K3K4K5K6K7`5`7`=L8LC&`LBL;O[OYRHOXO]OULFOZ&l&^&dO\OR&a&fOWLAL9&]&e&\&g`:&m&kOQOVO^Q0Q1Q2Q3Q4Q5Q8Q9Q:Q=Q>Q?&b&h&_&c1FRF1C1DRJ1@1=VtVv111B12:61316VuVwVs]EREVqVrRK1:17181ARM15Vy141E1;Vx1?1>191<VvVwVxVyVzV{V|V}V~:D:C]C]@Wq:7]A:BWo::]D]>:>:;:<:@]B:A:=]G[s[t[u[w[x[y[z[{[|[}[~\!\":?:8\d\\AN\c\]AMAT\aWpAIcUcXcWAKAQcVAJAOARALAWAUAPA[cZAV`*`+`,`-`.`/`0`1`2cYA\AZAXAS`d`eH_`iHghvHd`gHf`khy``hzHaGK`aH]hwHcH[HbhxHYHZH`H^c@cAcCcDcEJsH\He`jN}N|m#m!d%N~O#N{TBHXm$O$O&NzfyO"NyO%elemenepeqO!prfuTCpsfxfvfwX^O'T?T>TAh,h-h.h/ftT@pqTDs{XYs|syi)v:X]szX[icidieifXZX\iKjgX_\:\;jhjikzwx_7_5k]_6_8y:_4y9a4bObNcclicecddU{em0eu%B*x+(/(:f/[4aC-;4C/C.Lt:)Ls;3>/VPVO?tF$`EHX`D&nK9K:K;&pLGQ@QA&oV{VzW"W!]I:E]HZX\#\$A]A^`3Hh`lcFptd'fzTEjj\<jk_:_9z4f*")"($j%D%E(s!|%C%(%*-S3j']3i-T'^(t$k3k*z*|%V+)(I'R:g:h:i/_:l:j/,/+3n3l3oC5)9/]C0C1C2C4C61y3m6z+**}C3LwC7:mLvC8/^4b7\Lu;6;5:,Lx>0VRAgVTLzAdAfVSVULyVV>1VQDc`F`H`I`J`K`L`M`PH[&u`NHZVWHY`O`GK<&q&r&s&tObO_`R&vO`Oa`QQBQC%s1G1H1L1IV|1KRQ:N1J1MOcV}RP&w&x:G:H:K]J1NWtc[:L:M\%W#A_A`AbAd\g\fc\AcHi:Jc^h{Hl`nHjHkO(O)O*O+m%m'O,m&m(TFO-wzk|_;w{wya5bPcfdVe<$l#,!`-V'S-U-$3q3p*~(K:n:oC;:s:r:q:pC:1z1{C=4d:.C>494e7]4cC97^7_C?;9;7L}:/M!;8L~L|M"G!VZAhV[VXAiVYV\Aj>3>4H\`S`UH]`TOdLJ&{&|LK1O&zLHW!V~RRW%1PWxWv]K:P:O:R\&RT:Qc]\ic_AiAj\mAgAhAfW$`4`5\lh|Hpv;HoO.Hnm)O/O0O1O2AepuTGTHs}X`\>\=a6cge^-W3u3r3v+++"+!+$3t+#-%-&3s/3:v/a/c/`/1/6/5:u/b/4/2:w/c/d/71|4fCAC@CBCCCDCFCG4?CE;;:2M&M'M-;=:6M.M(M%M/M0;<M*M,M+>5>6M)AnAk?yV]V^V_AmAlDdM$HeH^`WH_HcH`HdHaHb`VHfK=K>K?K@OjOk&~OhLLOlOe&}OgQF`YOf'$'%'!LN'"LM'#QDQE1Q1SW%1V1R1TRWW#W&W$OiW"1UW'W&Wy:T]L:UHq]M:S\'\(c`\nAq]N\oAmAoAlApAn`6`7Ak`ph~h}HrO5O6erO3f|TITKO4TJXbXcXa%F-X(u'_'`:x4@+,7`7aCHM1'&1X1Wk^-Y-Z!y(L/94g;>Ao`Z''')Hg1Z1Y:V#!-[(M3w-'3x1~4h7bCI:7;A;@?{V``\HlHhHmHjHiHkF1De`[OoOpOqOmOn'*W)W(RXRY1\1]1[QG]OW|:Z:W:XW)caW~Ar:YHucbAtAs\)\*Hti!Hsf~TLjlw|y;'U'T-^(N(O-]+/+-+./<:~/;:z/d;"2!2$2&2':{2":}:|;#:y2%/eCK4C4B4DCM4iCOCNCLCJ7c7d7e7f;BM3M4;CM5>7>8>9>:><>=>>>?>@M2>;VbVfAqArVaVkViVgAsVhVdVjVcDfDgVeHpHqHnLP`^HrHoHsKAKBKCKDKEKFKGKHKJKKKL`_Or',Ou'/OtOsLQOw'+'0OvQHQIQJQKQLQMQNQO'-W,W/W+W-W.1a1_1^W*W+W,W-W.W/1`W*]P]Q]R:[X%X&]T]S\,:]:\XcAwcfcc\rAy]UAxcdceAu`8`9`:Av\+cGHvi"i#HxHwcHcIO9eseteuO8O7pvh0h1TMTNs~Xdjmjlk_l6lP!z-_+0CPM6HjVn`b`a'1QP1bO:#%##-`-a%H"l"m#$#"$s$r(y(x(w(v3{3z3y'Z'^-d/C-m-n-b']-f'Y'W-k'['k-h-o(P(Q(S(T-l&d-e-g'\-j-c;';%/='V;&4-+-+44(+1+84)+.CT4'++4++04%+64&+7+2/H+53|4!4"4$-*-/7g7h3~4/4,4*404.CSCR-+CUCV;0CQ--/g/>4E/E;2/l/D;./n;*/p;D/o;)/f;+/@M;/i-)2(2)2->L/h.$;/;-;,;3M:M8M9M74#/k/q/j4tC[CY4k4N4l/B4q4F4UAt4TCW4nC_4I4u4vC`C^4O4rCaCb7i7kC\C]VoVpVq4s4o4pMC;HM=;EMKMB:<;JMOM<`e;GMPVu:H;LMUMNMLMS;FHuM>MGMJ>A>D>F>G>H>I>J>KMDMI;cMMMAMRM?M@`c`g`d>E;IMF4m;K;N;OMQ;QME`h`fA}@!B&B!AuAyB'V}?~Vr:FB"AxVw@$Vy@"W!VsB)VtVxB#V|A{AzB%B$VzAvV~DiDjDkDlDmDoDq@+W#W"Dp'2'3V{A~A|FDH{FLFCI#`jHzFJI$I!FIHwH}F:FKHx`q`lHv`nHy`mH|1cI"FH`kKMKNKOKQKRKUKS`p]\AwH~LSO{'4LW';OzLY:`'7O|'5LZ:^Ox'8QQQRQSQT'6'9'::_`iOy\51lW7W2RhR]W1R_1g1nW5W6ReO}W41e1mW91ji$R`1oW1W3W2'<1h1i1d1f1kAzHyA{W:W0W;W8W3B!]Z]Y:bX.X*X)]X]V`qH{]^:e\.\/\1\2\3\4\6\07~:cHzH}]]:a]\]W:dH~\ucjcgciclA|cnA~ckB#chm*co`;`<`=`@`AA}Bm\s`rI#I)i%i&cmI$cJI(I*cLcMI"I&I%I'I!cKI+O=m.m-d+d)m+evO<O;g&TOpw\@U:\?i1i/Xeh3\Av=\C\E\Fv<\Bjn\G\H_=w}_>y<dWzo{E(|$q*I;42/MVMWKXKYQV`s\7B%`Bpyh4ige=|,%J(~$r(}-p+:42-0/r;6/I20;7;5CfCe7m7nMYMZW$I%KZL`LaO~QW'=RiW<:f]`]_\8`Ci'`um1cNI,m/m0bQ)!-q-r;:-1;8;94w4VM[B*I&K[P!'>QXP"1qRjW=W4X/cpcq$t%K#d-s-t-2/K43;;;A;=;</L;?;@Ci4x;>ChCkCj;RM\;SI'W(W'W%`t`z`u`vP#'?`w`{`x'@'A'B`yI(P$P%'C'D1r'E'FW51t1s]b1w1v1u]a]d:gB(B']e\wB&`D`EI-cscrI.O?i(m3m4m5O>I/cOi)O@OApzexh5h7Xfh6Xg\Iw~a7y=y?y>lje>e?fS|P%+44/N/M;B;C;D/s/tClCmA}M`M_Ma>PI)FMESFNW)K\`|`~`}'GQY'I'H1xW>1y:h`FctB*B)m6p{\Jv>P&P'`GOB\K_?a9zp$t'q'p-w-v-u'_+1+5+4454746;J/u;I;E/v/R/Q;F;G;H4z4Y4[Cr4{CnCo7q4y7p7r;TMeMd4Z:R:P:Q:SMfB+W,B,W*DrW+W-W.B.a'I-I+FRa"a&K^K_K]a#I*P/LgLfP.P+P,P0P('O'MP1'J'L'N'KP-P)P*WBW?WC1|W@2!1}2#WA2"W61~1{:jX1]l]f]i]h]j]k\yc{B,cuczc}cy\z\{cvcwc|\xB-B+cxI0i-i,i+i*I1cPI2m7OCp}p|TRt!t"i2XhTPTQjo\La;a:bRzqnO487s;?>QQZ\9OD4|4}Cs4~>RW/W0W1a)K`a*a('Q'P'RQ[Q\Q]WDWE2%2$m9m8OEl7!{#8#.%P%Q-x%N#&%M"o"p"n%L$w$x$|)"$z)%)#)$)&%,%-%.%/%0%1-{'|'w'y'b'}'x'u'`-|'a't;K'L.!'d'v-z-~;M;L(W(X(Y(Z([(](^(_(`(a(b(d-y+;+7+8+9+?4C4;+<4A4=+=494@4>4B4E4F+;+>+<-3-5-7-8-9-:-;-<-63>4?-4-}Mh*R/|/V/W/b/x/z/~/T/w0#/[0'/X/e0$/`;^;_0%;a0"/f;Y;XMgD";U/};T;Q;O;Z;\/{;W0&/y;S;[;];b2325262728292;2<2=2?2@2B2C2D2E2G2H2I2J2K;P2F2L2>5+5.5'4p5,4a4n4hD24r4uD&C{D#5#CyCu4`52CtD!D84dD6N:D4;`Mx4_5!4kCwD$50D/D5D.D)5/D3CxD'51B/W2W3D0D1C~5"53D*5)5-5&N7D9D:C|Cz7t7u7v7w7y7{7|7}7~8!8"8$8%8&8'8(8)8*8+8,8-8.8/808182838485;]C}5(D%7zD-D78#5%;U:U;i;j;b;l;m;c:]MzMrN+MpMk;_;g;hM{My;^;n;k4j:W:Z:X:b;Z:TMiN5:cMj;dM|N6M}N/N0:kN&:iN#;\N(MuN-MtN"N1N);ea2a-a.;WN$MoN.I.MsN,MwN%MmN*:j;`;[MvN8a+;fa/;aN4a1a0MlM~L{;XMnMqN3N9>S>U>V>X>Z>[>\>]>^>_>`>a>c>d>e>h>i>j>m>o>p>q>r>t>u>v>w>x>y>z>{>|>}>~a,;YN!>b>T>n>s@CW4WFBNW:W;B4@=WIWZ@@@BBEW^B:@7@4WAWcB3WQWUBCWJ@8@;B6WC@<@EBA@MBO@>BFW]B?@3@1We@?WBBHBBB8B>W8WSWOW@WgB=W9WdW7BPWNWEW<BIBMB;BGWRW`W\WHWVB9@9WWB0B@B2BJW?@5@KWLB5B1WGWX'SWaB<WDWTW6WbWfWY@NBDBKW5W>WKWMW[W_DsDuDvDwDxDyDzD{D|D}D~E!E"E#E$E%E&E'E(E)E*E+E,E.E/E0E1BL@JW=N2>WB7Ffa`IEa3aCIKFcaVFVaEFYa<IAaJFUaRI=a@aYIIIFaLI:FZa9aUaMa?IDI9I0FbaAF^a6F]FkF[I?'Xa7I2I7I1IHP;F_ICa8FhaPI8aWaFa;I@I62'I/I4aGaIaKaNaZa]a^KaKbKcKfKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKxKyKzK|K}K~L!L"L#L%L&L'L(L)L*aHIBaSaQWhIJa\a_a[a:a5aBa=WPKdKgaTFjFTI5IM2&I3aaIGILWFK{I>'lL~P2LiL|(!P5($'w'\P9'i'x'y'j'sP:'oLuP=PB'`("P@P?WGPAPK'k'v'Y'r'ePHP7L{'T'['d'c'gP3'f'}'^P>'VP4PJ'|'b']'nLvPIPE'tWXM"PC'U'Z'_'p'q(#Q^Q_Q`QbQcQfQgQhQiQjQlQmQnQoQpQrQuQwM#'zPD'~'u'hQqQaQkP6'WPGP<a4B.L$2QS-22S*S42SWIS+W]2CWTRqS0WQW[2<RuWZWKW_23WaS/2(WMWO2LWUWb2=2;PLRpWHW^2E2K2AWdW`(%'{2R]zS&2.S)26WSS(RtP82/WR28WVWL2-2W2NS.W\2*Rx29B/2+2US22B252?W>W?W@WAWJWPWW2,24272>2@2G2I2M2O2T2Y2ZW7W8W9W:W;W<W=WBWCWDWIWLWMWNWOWPWQWRWSWTWVWWWXWYWZW[W\21WER}2:2X2PWeWN202)2HWJ2VWcWY2F:vX:X?:nB;:xXHXIWf]u]}]s;+;/]oXJX7:{XE^!:|;#;3]~^%;1^"]n]x:~]|:s;$;*]{XK]m^#XA;0]wXF]q^$;%]v:p:uB9:k:l;5:}XG;.:r:wI4:q;";)2J:y;!;7]tPMXCI5]p]r:m;';(;,;4\:\;\<\=\>\@\A\B\C\D\E\F\G\I\J\K\L\O\PX9:z;-;6:t\H\?\NWUc[d,BK]$BLd"]%^&d/BHd%c~B0d!d)d6d9B6d3BF]"^'d8d&d0B=d$d.BM]0d1].]&]*d4d2B>OFB:B7]/IDd+B3BEBI]-;&B2B4B5B?BBBDBJBNBO`H`I`J`K`L`O`P`Q`R`S`T`U`V`W`X`Y`Z`[`\`^`_]'B@d'BAI3d5d*])BGd#d(d7BCB1i>i/O]i0i:i6`}`yi?i7I8IEi;i5`|i.mBICi8IFi9IAITIQI<i3i=IKINI>I=IBIGOTIMI9ILIJOGi4i2`vi<III@I?I6I7I:IHIPIRcQcRcTcUcVcWcXcYcZc\c]c^c_c`cacbcccdcecfcgchciIOO^OUONm@mGOamAmDd9OXmFd5m?p~O_m;OQOPOLm>mEOMd1Ogm<OKOSObO[I;OemCd.OYm=OfOZi1TgXiOIm:mHOROVOWO\OcOdeyeze{e|e}e~f!f"f#f$f%f&f'f(f)f*f+f,OJOHO`Tci5q(TfT_q$g,g*TYg.q"Tdq%Teg)mIq'T[TSq&TbTWTUT`g-q#q)q*TTT\OOTZXvq!TVT]Tah8h:h;h<h=h>h?hAhBhChDh@TXt$i6t%t't(Xpt)i;i:XwXuXm\St#t&Xoi8i9Xni4XsXkXxXjXlXqXtihikil\O\Zjuv@jtv?jqjsjrjpvC\Q\[vBy@\UvD\W\X\M\PvA\V\T\R\Yjmjnjo\Nijx#x"x!_@x$_B_F_C_D_I_A_GyBk`kakc_E_HyCbUyAbSa>a=a<l8l9a?z5z6bYbWbVbXbTlQbHmzchzrm_m|lklm{Fn5dXdY|Ie@{fe`ev|O|=e_(e+?4I4H2N56544w4vDA4xDBD@D?;cN<;qN=?"?#?$BUBQBRWkWjWiIOabafFoaeagacadIPL+L,Fn()('2_PN(&((Qy&)WjWkWhWiS5Wg2`2\2]S8S7Wm2^W]W^W_Wl2[XL;9\Q\R\SBQd=]3BP]1BRd<``IVIU`~IWOimJOjL&q,Ohq+pMTjTit*\$n8$u))(".%(f(g(i(j+C4K+@+B4J+@4M4L4N-=-?-B-C-D-A+A00;h0,03;g0-02;f/l/j/n0.;p0);k010(;j0/04;n;d0+;e2O;l;m0*;o574}DE58595:5@5"8=5#DL5<5!5=DF5ADI5$4~DGDJDDDKDM868788898;8<8>8?8@5>DN5%DC5?5;;sN@?(:sNH<(;x;u;w;z<#;}NIN>NC;v<'NBNKNJ;|N?;yWnM,M)P\PZPPPYPX(*P[FzPRP^P]M5(F(0(-(D(9(E(<(/aw(6(=PTM'POQzQ{Q~R!R"R#R%R(R)R*R+(3(A(:R'(2L/WpSEWvWuS:WtWq2n2}WwSHW{SIS@SBW|2mS;2gS?2|WyWoX!Wr;:Wx2iSFWz2p3"Ws2dW~2tSGP`2k2eW}2vSC2{3$2b2w2c2x2o2~2r2h3#W`WaWcWdWeWf2y2j2z2q2f2lXY^)^,XU;R;DX`X\;H;B;UX^;F(GXP^1;P;?X];O^+^/;SXZ;G;A^3XS;@XQ;>;T^*;<;;;IX[^-^.;E\T\U\V\W\X\Y\Z\\;C;K;N;Q;=^(;J;L^0]=]7BUBaBXBhdCdD^4]8dPBY]6dE]5]:d?dBdM]4dJBVd>dAdKBWB\B[d@BoBkdOBndIdLBidFBldGBeBbB]BcBTBZBSB^BjBf`b`d`e`f`h`i`jBd]<Bg`g`adNa(IjIYI`IlIZIiIma#iBi@IbIgIeiDI]IhIdIfOkIaInIoIciEI\I_IXckclcmcocpcqcrcsctcuI[a"a'I^BpOuOzmMOldBmLmQOxOpmPOtmRmSOsmNOrOwOqOmmOOoTwOnO{f-f.f/f0f1Ovg/g4TkTpq/TuTnTqq.Tsq-q0Tlg3Tog5g1Trq2TxOyTtg2Tyq1q3TvhEhFhGhHhITmt.i<t,t+Y#X|t-t1t0Xzt3t5t2Xyi=Y&Y(Y'X~Y!t4t6Y$Y)t/X}X{iminvFjvjw\]vGjy\_\\vH\bvE_J\`jz\avJY"vIjpjqjrx,_Kk~x+x)_Lx&l"_Mx*x(l$x-x'yDl~yHyJl!a@yFaDaCaEyGyIaAyEb]b[b^b\b_cnclzsckcobZcicqcjcpcmd\n:d]{G{HdZd[{geAeB{hnPebeam1f+'e.'.&+D;r05;u;t8ANNNPB_W|WzW}W{IeIcIdb&b$(HPa(I(Jb%X#X$X"3%3&^7^6\]]>]?BqBs]@BriFmTO|TzY+Y*_Nec(#.(($4O4P+A-E06;w;v07DO<)NSNR?*?+NQX#X!@_X"W~E:G$Pbb'b(Xa;V\^]ABtIpT{\d'f.).*.++C4Q+E+G+E4S+D(k4R+B+F;}0</qG0G,b-b3G)IfIiG(Ih<4b4Ijb+b)b*b2b1Igb/Ikb0b,G3b5b.L4L6L7G/E<E?Pf(TMAPi(WG2(VPeM8(U3(Pg(Z(KMEM;M=(SMDMCPc(X(R(LPd(OPh(Q(P(ML5R-(N(YX,X+3+X'X*3'SQ3)ST;bX)X(3*SN3,3/SMX%30X&3.R,3-^>^?;W^;;];dXf^8^9^=^<;_;[;cB{;\([;^;`^@;X;Z^:WgWhWiWjBu]EB|B~d[dWB}]KdTdUd_]M]BBzdS]G]Ld]ByBwdQ]C^BdRBxC#BvdYdZ^Ad\d^dX\`IviIiJa)I{I|iGiHIrIsIuIyIzItIxa+IwC!`k`lcvO}mXP&m[q4mUdEP#mVP"T|O~mYIqmZm\P$f4P!m]U"U$q6g6U&U%q5T~U!g7U#Y1T}f3iAY.i@i?t7Y,Y-Y0Y/x.io_Q_P_OyKaHaGaFbaz7bbb`d_cscrd^{~edf,|KfM$v.,+H0A/t<*D[8F?1?2X2G4b6b7b8L8L9(\L:R03132R/;e`m`niKP'U''g.-/w0B2S5M5ND\D]5P5K8G8I8K52565L5ON_;%NbNa<6N^;$N]X6BmBoBnX3X7BpE@EAEBX5b9IqInIrG7b:L;L<Iob;IpMI(_PlMKPk(cPmX4(bPjPnR1(`(^(](aX0X/X.SW34X4;gSXS^S]X1X533X-X3WkWlWm;fd`^E^D;j;i;k;h\a\bdb]Q]OC$da`o`p`qC%I}I~m_P)P(f5m^hKhLU(iCt9iBipiqx/_Skd_RyMyLaIm!ztn;|DfT.../4T+H/x<,/y<+Dg5;5S5RD_Dc57Dd5QD`8M8N8O5<DfD^DbDeDa<7;&NdNg<8NcNfNiNe;';(Nh?3BsBqBrX8b>IuG9b@IsItb=bAb<b?(fPu(gPtPpPoMPMRMM(iMTPr(h(jPq(d(ePs3837S_X6ScX9X;S`3635X7X8X:39^F;m;s;l^J^I;n3:^H;o;p;qXl;t;r^GC'C(]RC&C)a5iLa2a3J!J"J#J$a6P*q7U)t:iD\ex0bcm`d`da{ieC#'#(.0<30!/{/z0"0C<0<1Do5\5YDq5B5T5FDy5UDwDkDx5XDtDuDnDz8P8Q8S8T8U8VDrDiDhDvDl5ZNt;2;.<;NoNnNqNj;-Nx;8;9<<NmNvNpNw;7<9<:?4?5?6?7?8?9?:?<NrNuNlNyNsBu@h@jXFBv<=By@q@pX@XKX=XI@i@kB|Bt@sXCX<XGXBX?@rBzXHBxBwXDECEEEFXJB{X9X;@oX:XEX>bNG?IzG;IxI{G>GHbBbLGAbSGDbOGGbFIybQbEGIbPbDIvIwL=L>L?L@LBLCLDLEbHGKbJB}bKbMbCbRbI)!Q*(kPzQ"(q(t)"(|(pQ'MWQ)Q#P{P~(xQ$M]Q&Mb)$(w(oPxP|(}(mQ%P}PwPyPvR2R3R4R5R7R9R:(v(u(l(rR8Q!({(nQ()#(~(z(s3FX@Sq3RShSeSl3I3Q3CX=3BX<3<SpSg3ESo3=Sn3G3NSf3P3>Si3;3S3@3?3H3JX?3LSm3DX>WnWoWpWqWrWsWtWuWvWwWx3T3A3KXn^R^Q;}Xo^TXq;yXm^M^S^N;v<%XrC*^OJ,J.aCa9iPaAJ4aBiNa?J&J)C=J(J5P3J3a<m`J'cxcyczaDJ+P5J0J1J-J2a8`tdJdKmbmaP-mcP/dIP+iSP2P.P4P6P,P0f6f7f8f9P8P7P9U*gBU4U-U3g8U.q=U,U/g<q:q9gCY;Y5g:q<q;U1U+U0q8U5t;t=t@vKiGY9iJt?iIt>Y7Y@U6t<Y6Y:Y?iFY>irisitY<Y=j}j~\fvNvMx1\h\i\jjtju\gYB_W_X_Ul'_V_Zkekf_T_Y_[m#aKyNaLl:l;aJzubebdz9m~ctdbn<dDeDfP$w0$0D0E5H5I5GD{;:B~C!XLGMQ,McQ-Q+XB3V3U<*^WC>J6J9iTJ7iUJ8P:J:q>zvew4U<5<48W;;<>N{?=C"@u[_GPbTGQ)()')%Q/Q.)&R;XCSt3WXD,V^Z<-^X<,^Y<+di]cC@]b^[J<iWJ=CACBiVmfmemgf:mdc{q?tAjvjwx2yOzweE%T#)+J0H0G<7<6D~D|5aE!D};<N|;=<@aImkmhP;mjmigFq@U7U8YC\lYDYE\m\ntB_\aM_]yPz:eFfC(l+K<82V5d5c5O5b5NE%E#O%@|@}@zXRC+XQC*@y@{XSEGC)bab\J%J#J"b_J$b^b`LHb]bbLIQ5Q4MiQ7Q6Q8Mj)/)0Mk)13dXK3^3`3aSxXJ3bXL3_Wz3]3cXy^c<1^bXx^`^d^a\lCF]gCG]fdlJ?dmi[J@iZJCP=JBiYmmmlP<qBmnqAU9YF\p\ozx+L+J4V-J0&<90I0J2W2X<:E*E,E'E(E&E+5e8Y8Z8[8\8]8^8_8`E-5SE)5RO+;@R?)7LK3jXN3g3fXO3k3nS|3hXMbhT2W{W|W}W~X!X"3m3l3e3iXP<2^e[-^gXR^fX{<8<4<6<7<5\n\p\oCKdsCNdoCICJCQdqdndrCMCL`v`w`x`y`{`|CHCPdpJGJKi]dtJJCOi\aKJHi^JMJLi`JDJIJFc|c}c~d!JNJEi_dQmpdPmoP>P@f;f<f=f>f?P?qCgGqDqEhNhOU;YGtEtDiviwixYJYHYIhM\qk"tC\rjx\s_^_`__bf.14W4X5f8aO0;DXcEOJ*LR):XTXSX#3o^i^j^h\qduCSJPJOqF\t.2.34Y-K-M-N-O-P+K0M<><=0N<<0)2Y2Z2[2\2]5mE05g5W5j5o5n5XE.E/5k5h8c8d8e8f8h8i8b5l5i8gQ=Q@)?QFQC)AQA)<)@)>bt)B3rQEQDR@RA)C);X-T#T$T(3tXYT!T"T'3uT%3q3pXXXZ3vX$X&X'X(X)X*X+X,X.3x3wX[XVXW^o^qY"^pY$Y!^rX~^lY#^n^k<:^sX%\r\s\t\u\v<9dyd|]kCWCVdvdzdxdwd}d~C[CZd{`}CXCUCYCTX]ibifihaNaLicigieiaJRiiidd#d$d%JQJSdRdTdXdWmqPAPCmrPBf@fAfBgIqHqIU?U=U<U>qGtFtIiMtHtGiyvOvPjyYK\u\vx3x4x5m&aNzy{I.5.44[+M-Q4ZXoXrXvCJXlXwCCCLCHXsCICFXuJ5EYXxXkc"JCG`J7J?J6QNJ;bwb{JBJ<J9J@JAJ=CDJ8JDb~JFbyJGLZL[bxbzb}c!b|J:)FMzQLQGQJQO)E)IM|)MM{QKQMN$QQQRGc)OQI)KRBRCRDRE)H)L)G)JQPQTQUJE4!X`JHXiT*3zXc3~4#3|X_3{4%QS4&XgXhX^Xa3}XeXd4$T+XfT,X1X24"^z^}^u<@^v^|^xY)<>CgEAE@EBE?ECED5`8kz?bhzzddbicw{kef)+.6+O+V+R4_+Q4b+U+S+O+Q+P4d4c-U-V-W-X-Y+R4e4aJG+W+TEbEcEdEeEfEgEhEiEjEkElY2Y6Y<Y9Y8Y:Y/CXCWCVc5c4c7c2c:JTc6c8c<JSJVc3c;4GT64B4D494JJw4<4@4LX<X=X>4=X?,Z4H4;4:4C4KXxX}Xz4?Xv_/Y:<`_3<]_4<[PW4IJZJ^JdN8K#Qr*!N7QsN9Y(QoQp)~*"N:RSRURVK&K$*#*%*&*$)|)}Qt4PQqK%n*Y%Y&P\T84OY!Y$4RY"Y#T94QX@P]P[n+T?4^Y*4W4]4\Y+XBXC4Y4[4S4`_A_?_@_CY@blz{czcydfdeexey4n='6;cKcLQz*4*3Y-4a_E]-D7fOh\tT6<a@aAaBaDaEaFD;D<D>D=a0a9a5_]akK3K7j2K4j4K2K:K6K9K;d1d2d3d5d6d8d9d:d;d<d=d?d@dAdBdCdDdEK<K5K8ajK1eVd>dhPmPnn8Prn3djn6n2PpPhPin7dnPqn4fPfQfSfTfUfVfXfYfZf[f]f_f`fafbfcfdfffhfjfkflfmfnfoPlPofRf\fgPjUbg^UgUaU\g`g]U`UcUiU^h^h_h`hahbhchdhehfhghhhihkhlhmhnhoU_UdUeUfU]hjtWYkYj]0YfYdi~j!j"j#j$j%j&j'j(j)j*j+YcYetVv^k(v\k/]/]-Yi],j|j}k#k$k%k&k)k*k+k,k-k.].]1k!j~k'x@_p_q_r_o_skhkikjkkklmcaWaXkml<l=aVbrbmbnbtbpboz@bsbqbulRlSlTlUlVlWlXl@zAz|c}c{loc|m#dhm!dgdim"l>eHeIm)|!m5m8m9.D)4+`6?E{6>6@Ez8yEyEx=*=+;hOzO{?uYYYXAJYVYWEzCpCoJjG|cVcWJkR!R#Y9R"R$R%XeY;4nY:=&4m4p4l=)YJ_PYK=*=(='DCeXDBeWj8j6j5j7n9PsPtgdUjYmYnYlvav`xA_tbvdj+a0j0k0i2gY?4u4w4yXfXgXh4t4x4vTNYSYQ_T=+_Q_S_U_R=-YP=,YL=.]P=/=0=1e_e^eZ^3DDe[eae`DFe]eYe\aGaHaIaLaKDEDGj9K>K?amj:K=andFdGdHdIdJdpn?n:n=n<n>n@drPxj;PufpfqPvn;PwqZnAgeqYqWhphqhshthuq\qXtXUkj/Yoj,j-j.j0j1k0k1k2]2xBknko_v_uyTm)m*aYbwbxz}m*.E""!~"#"#"""!#.#4%]$}%,%-$~$|%:%;%<%=%>%?'u.G'v'x'y(0'w.F.H(}(~+b4p4s+\+e4qc]4u4v4w4r+c4x-[-\-]4t4oP{=I=:=B=9=8=?_X=G=A=@=C=H56]U]W=D=FDPDVDRDSDOecDWDUedDQDTKJKGKKKHj?KNaoj@KFKLKMapKIKOQ#Q'P}Q*Q$Q+Q(P|nBQ%Q&nCQ"ftP~Q,Q)UtghUrUoUvUpUuUsUwQ!hvUqYqYriWYuYvYtj2Ys]8]9]:k+]7]3]4]5]6_|_z_{_yaZlAc~dkf@-^0p2pF2F36%F19(9)=@=>=A=?;sP3;rP2@%@'@&AXD%D"D!D$D#Y|F+F,F-D&K"H0K#K!J~H,H/c}H2c|c~M7M8czcy*j*iRER@RAR?R>RCR=TWR<*k*lF*R{R|R}R~S!*hRDRB_Y5;T[YNYKTZ58YMYJ5:YI5957YH5<XnXoXqXrXsXtXuXpUdYLY\YZY[_ZYa_\Y^=Jeh=K=M_[]Y=L=N]Z_]eleoD_DceiD^efDeDb^7eeegDaDZD]enD[aQDdDYD\ekem]XejjGjAjEjBjCarjFjDjIaqKPKUKQjHKSdNKWKVKTKRKXQ.dtQ6dvnDgmdxQ4Q3nEdzdwdyQ/Q1Q2fuQ5Q7Q0Q-gjgiUxq^q_gkglUzq`qaU}UyU~U{t\t_iYYxt]YyYztZt^t[Ywvb];]<k3vcxDl2l1_}_~`!kpm,yVm+yUa[yWzDb{zCb|lYc#zBdln>eKeJeL{lf-fNfQn\6&P4F.F/F0Y}H6,D5=ZtDfdOqbkqQ8Q9P9P:P8AYA[D(D'Z#Z"d"K%H9d!K$M<d#NNRFRHRG*p*oXwYPYOYTYQYRYSXv5?=O___`_b_a][=QerDgepeq^9jKjJnGnFMPQ:lFqdV"qfqehyV!V$V#Y{Y|]=vdk4`"zEd!dndm9.=C;xP;D,D+Z&Z)D*Z'D)Z%Z+Z*A\A^F1K'H<K&d'd%K(K)H>K,K*K-K+d)H?d(d$d&*sRI*w*vNQ*yRJNR*uNSRMNPRLRN*tRK*x*r5DYUYXTfT^TeYVYW5C5G5@5A5E5F=X=Z_c_iYf_e=SYg5B_m=WYe=Y_g_j=U_k=[5H_h=T=\]\=R_l_f^De|et^:evf"DjDh^?ew^@DmDpf!Do^=f#DqDrDnaSaT_dDlDkexf$Dieuezeye}azjQjTjOayjMKZjUKcjNaxKaavK^auKbjPK`dPdRdSK[K\jSjRKYjLe$nNd}nOnJQ;nHQ=e!nLe"e%nMQAQ<fxQ>QCQ@nKQ?nPe&QBqmV(goV*V+qjqkqlqgqhV)fwt`Z&Y}i]taZ%Z#Y~Z$tctdZ!Z"tevevhvf]>vivg]A]?]B]@xFyX`#xExGa^a\a]zFb~c"yYc!b}{"dpdo{Lei|5f.f9f8|L=DA`AbZ,D-d+K/K1K.K0d*M=K2NURPNTNV*{*z*|*}*~RORQYY5I5JY\Y]Y[5KYZYi=^_n=_YlYj_o_p]]=]=`DvDs^FDt=af%DxDuKdKfKiKeKhKgQDjVjWQEQFe(fynRnQqnqpqrgtV,qoqqZ'i_tfZ(Z)tg]C]F]E]Dl5a_zGd$d"d#{M{m|"D.Z-RR5LYm=bKlQHe+qsQGV-Z*]H]Ga`@,D0D/K3HEK4RZ+!RTRW+"RURVRYRSTkRXXyY^5M=c_q_rf&f'f(b!jXjYQIQJnTnSnUV.qtf)thtiiaj3]Jl6{#|?4{F56F=J=H=I=F;}=E;|P<;zAlD:AkD1D9Z/AiK;D7AfAgAjZ2D6D2Z0Z1Z.F3D3D8K=d1d2K7KDK8HIHHK:K6HOKBK9++KCd5d3d.K<KAM>d-K@d,d6K5d/d4R]N[+%+0R\R[NX+$+*HJ+.R^N^+-+)5O+,S#S$+'+(+/+1+#+&R_TlYaTnYi5XYhYf5Y5WYeYc5[5PYjYbYkYdYgTq5NY`5ZTr5V5\M@XzX|X}Y!Y"Y#5R5S5T5UYlY_X~YmYuYqYn=e_wYy_xYt_v_s_uYo_{=jYr=l_t=gYx=k]^]_]`]a]b]c=d=f_y_z=h=mf*^Jf0f.b$f-f+D{f,^Hf1f/D|aUaVaWaXDyDzKvj]KpKmj^b.Krj\nVj[jZKtKob*KnKuKqdTdUKwKse.e-n[nYQNnZe2QMe3nXQKQOfze4QPQLnWPLquqvV/qxV8Z1gzgxV3V1V6qwqyqzV0V4hzh{h|V7V5Z0tltkZ-Z/tjj4Z+Z.Z,]R]Q]Ovlvmk.vj]Mk/]Nk5]P]L]Kl8`$vkl7kr`%m.yZzHc$zIc%c&n#d%eMF6P?D;D@AoD=D>Z4Z6D<ApZ5S3D?Z7HXKHHUKGKFKEHSd7HRd;d9d8N_RbNb+4+3+2Ra+5S%S&YoYwYp5]5`YnYsYv5_5aYtYu5^Y%YrYq=qZ%`%`&Y{_|=pZ$f2`"Z#_~`!`$_}`#=n]d]e=r=o^SE"E$f7E&f4f8^Tf:b1f5E%f6f9f3aYE(E#E!E'D}j_b3b4b5j`KydVdWKxKzK{K|n^nan`e5n\e7n_f{nbn]e8V@g}h!q{V9q|V<V:h}V?VAVBV=V>V;Z2j5Z3]SxIl;`&`'y[aay\m/mfzJ{$d&m$|GfUZ>DHZARcF7Z@Z?d<AxDFd?+7dDKMKIdEKJHZdBKK+9dAF6S(+:Nk+@NjRiRdYyNhRfRkRhNlRj+<Re+;=sRg+>+=S'Yx+?Z#Z&Z$T{5f5j`'Y{5iY~5gY|5oTy5k5pZ%5h5cYz5e5d5l`)5n=u5bZ"5mY}Y&Y'Y(Y)Z!=t`(`4=w`-`/`3`+=v`2`5Z+`6=x=}E*=z`*E+>!`.=y=~]f]g={`0=|E/f?f;^V^\`8^]f=`7f<E.E-K~^^f>L"QTE,E)E1aZa[L%L!^UE2E0jdL#jbb;e=QSjijfjhjjQQb7jg`9jcQRb9QXL$QWb:dXdYjeQVjke>QUQYQ_VDq}Q`nee?q~ndQ^QbncL'QaQ[Q\Q]VEQcQZr(r"VFh%r$r!VGr+VHr*r#r'r%VIr&r)h~iftntoZ7]TZ6tpZ5j7Z4vn]VvovpxJ]UxKxLl<`(`*`)y]d'{%">#5q5s5rL)L(E3MsQd`+n&2qA|ZCGTdIdJMAS)dK+BS*Y*5t]h>$E6fAf@fBE5E4jlb=b>L*Qef|r,i!VJ]WzK6K6L=PPH@1PGDIZEZDZGZFKQdMdNKPHadLdRKO+CMBMCMDME+FdOdQKR+JRr+N+GZ2RtRwRmRpRnRu+DRv+HRs+K+IRo+E+LRqS+S,S-+M5zU,5yZ/U*U'U+U(5uZ)U)Z0Z-6$Z3Z'Z1Z4Z+5|5{6&6!5x6#Z*6"Y,Z(5}5~6'6%Y+5v5w`:>,`;>&Z/>'>%`<Z,>*>+KS>(`>`=]i]jE<fLfKfG^dfIfH^afEfN^m^i^j^ffOfC^lE;E:E7fJa]a^a`^ka\E8fDE9fMjmjsjobCL1fPL,fFjqjpjtL+jrjvbBjwL2L4juL3L-L.L/d[d\d]L0W6L5eEQjQinnninknheBnpf}eCeDeHnqnrngQhh&njnonlQkQoQpQqQmQlf~g!QgQnR'Qfr/r.r1h'r2r0h,VMVLVNVKi"VOVPtxZ=r4ZAZ8tqZ;r3tttwtsZ@iltuZ9Z:Z<j8j9j:trtyZ?]_]]vqxN]\]Yvr]Z]^][]`k8k9]XxO`1`4xM`3`6`5`/`0`,`2ybacycy_m1y`aby^yam2adzLzMn'd)d(n@drdsdqeN|#ejeze{fD=Q<'ZIZJZHZKHcHeKUdXKTHddVdSdTdUdWNrNqRzRy+R6,RxR{Nw+P+T+QNx+SZ6Z5U36++O6*6)>.Z4>2Z2>3`?>1>->/>0fYE>^oE=fWE?fRjxfUfSfVfX>4fTL;jzjyL:L7j|j}j{L=L>L9L8L<L6eJnuntnsQsQtQuh/r6VWh.r5r7VSVTr8VUi#VVVRimZBipZCioZD]e]fvsk6vuk7]bvt]g]a]c]dl?xPm4aek:c'zNc(d*dt{nB#HfFdKVdZMFMGMHdY+VS.S/6.6-Y-Y.Z6`@]k]lE@aaabL?d_nvg"g#g$g%h1VXZE]h]i]j`7ksafagc)d+n(e|PIPJZMZLF:@iHhKXd`d_d]dad[d\KWKZR~+W+ZN~+XS$O"+[S#N|N}R|NzR}S"S!+\+YS0S1S2S36/U761Z:60U9U4U;Z7Z9U:U863Z8Y/Y0Y1Y362Z:Z<>:`A`D`B>8`E`F`C>5Z9>6]m]n]o>7>9>;EBf^^qf\f`f_EDfaL@EC^rfZ^xf[acaef]EAadbMLCLGj~k!k#bPLHLFLAk$k"LELBbKLDd`dadcn|Qvnwn{nznyePeLn~nxeKQwQxQ{Q|g&g'g(n}r;r>r:VYh2h4r9h3r=VZr<V^i$V[V\u!t|ZFu"t~t{u%u$u#t}u&V]isZGZHj;j<vwk8k9vv]l]m]kk;l@`8xQlDlByeahydm6lBlCaizOc*c+d,n){&lrdwdv{NnT#=#<DKK[K\db+]64><EE^yQ~V_r@ZI`:`9xS{O+^O#U<EFR!VaV`ZJ]nls{PB$ZNdddc+_68U>Z;6665U=67`G>=^zEHEIEGLIk%LJeQR$R#R"R%Vbh5VdrBVcVeVfu'ZL]q]rvxiuk:]pvy]o]slFlE]t`;akalzPc,c-c.n*d-dydxdzeO|$nQ|-e}fJfKPK=SZRDNZQB&DLZPDMB%ZO909/ZSK_K`KaK^K]KbdhdediMIMJMKdkdfdndldmdjdgO'S)+a+`S(S+ZAS*O&+cS%S4S5S6S'+bS&Z<6:ZEZC69U@ZD6;Y4Z>Z=Z?ZB6<Z@Z=`I`L`PZ>>>`H`J`O`M>@>A>C]p]q]r`N>?>B`KfcEK^{fiENfgfeEOELagEJEQfbEMEPffk&k)LKk'LLLMdddedfdgfdk(R+eRR*o!R)R(o"R&g)rDrFrHh7VgVhi%rErCVirGu*bQZPixu(ZNiyu+j=u,u)izg*ZMv{vzi&xTxUlG`?`>`@`=ygyflDc/n+d.d/nA{Q{o|%|@0CB*B'ZUB(ZVDOF;doKeHlKcMLMMKfO/O3O1O-+hS1S0+e+dS.O8S3S,S-+l+fO6S2S7S:S=+k+g+iO.S9S/ZHZF6=ZIUFZFZNZMUI6C6>6A6@ZL6DY6Y7Y9Y:ZK6BY5ZG6?`VZH`W`T`RZG>K`U>F>M>EZK>L`Z`X>DZJF<]s]t]u]w]y>H`[`S>J`Q`YfwftfpfkES_(fmERfjfqfufrfoflETahaiajakalamanaoaqasEU>GfvfsL[LXb^LRk-bRk/LOLQb_fxbck2b[LNbZbeLZLSLYbXLUk6k.LPk4dndhdjdldodpdqk0LTLWbSk7k*dik,apLVo'R.o&k8o)R,eXo+R/R-o(eVo$R2e^o%o#e`R0o,R4g+g,g-g/g0g1g2g.o*g4rJh?rOrSw#rIrRh8VqrLVrrWVmrTrMVsVuVjVtrVVnVoi(i)i+i,i-i.i/i0i1i2VkVlrUVprPZTZRu2j"u.u/ZZZWu0Z\ZYu4ZVZ[ZSZUZQZ^jAjBjCj@Z_u3ZXZ]u1v~]xw"k>k?v|]we\`F]u^"]vv}^!]|w!]yk=k?]z]}]~]{k<`Cx\x`xZ`AlOlLxYxalKx_x^xW`K`GxXkukx`H`B`D`Ex]`J`Iasyhm8yian`zaqaoykaraplElFyjamc5c0c2c3c4zQzRlZl[l\l]c1{({'d0{)ltd1{*d2d~{S{R{Ud|e!d{{Td}lu{s{r{q{peP|&m+m,|'ek|.|7f/|6S<]xk>PL@3PMB+ZWDQDRZ\ZXZYDPZZZ[dpKjdqKiHnHodrdsdtHpKhMOMPMQKgOE+r+}+o+s+yS7S;S=S9+v+|S?S4O=SAS>S5O>SB+zO<+uOCO:SCOF+p+{S@+n+w+xS6S:S@+q+tS<6KZTZVZQZOULZSZYZR6W6RZWUV6TZX6PZU6S6L6E6NY=Y>Y?Y@6M6O6X6V6G6H6UUSUQPN6IZP6FV3>QZL`^`i>TZS`g>U`]`a>N`d`k```bZT>W`\`cZX>OZ[`l>X>S`h`j]z]{]|]}^!^"^#^%>P`_ZZ>V`e`f>RZWE[`mE_f}g%g'_.g*fzg!f~f{E]EX_-E^f|g+_0Egg"EdE\g(EaEbEfg$EYg#EhEVE`atauEWg)Eck9L]k:Lbk>kJk@LjLdk;LhLkLckLk=kKbkkBkEL`L^kHkDL\LfLlkAbmLikFdtdvdwLakGLokIEiLeLgLmkCLnL_bio8o0R:eeo>RCo2oBbpR6o/eco1eneho3o-o7oDo9emefo:o<o@ego.o;o6o?R?R;R@R5R7o=o5o4oCR8g7R>R=R9RDRAR<g8oAEZr^VyrfV~r]r`r[rerdW!V}VzrhW'W&W$r\raoErZrbW"V|rirji4r_W#VwW(VvV{i3rXVxrYg6uBu=j$j-u<j(uCu9oFuDu@u?j+ZbZlZjZpj*ZkZnu;j)Ziu7Zhu8uFrgZquAZoZgW%jDjEjFjGjHu>ZfZdZaZcu:^+^'^1w3^/w.w)kC^2^6w%w0w*w(w/^,w'w&w8w+kIkB^5w1^0^3w-Zew5Zm^4w6^-k@^$^&^.^)^(w2^*^%kAkz^7`Mxgxixmxew7xh`Nxjxk`O`P`Txl`S`L`Qxcxfxbky`RlUxdlSyqymypavm;ynylm<atyoaxauawm>zXc9zVmkzZzYzUzWmjc8zTc;z[c=l^c:c6c<{.d4d6{/{,{+{1{0{-d7lvn.d3d5{Ve"eSe$e&e#e'{We%nB{teTeU{ueReVeQemel|)|(m2|/f!e~|8f0|9f:|Am7|HfEHqHrSD,",!+~ZZZ\6Z6[YA6Yg,>YbqLpkMLqRFoHoIRGoGRIRHhEW+W*rkZsZrkL^8^9w9`UlWyrm?c>{2Z]F=KlMR,(SE,',&,$SF,%SG,),#6]Z]YBYCYD`o`r`pZ\`s`q>[>Z>^>]^&`nEng1g.g-EkEmEjg0Elaxayazg/kOkNkQbsLskPLrh@RKbteoLtg9RJRLoJhGW,W-hFi5uGj.jIw:w<w;^:^;`VlX`Wk{yuytxnm@mllGe(eW|FfGZ_Z^DSF?HuduMSSKSJOOSISH,+,/,*ON,,SL,.,-6a6_6^6cU[6bGSYEZ^6``t`u>`>a^(>b>_Epg2Erg3g5Esg4a{EqEobzbxLyL{LukTkRLzkUkSLxb{LwLvoKRSRRoLRPepROoNoMRQg:RNRMrlW/roW0rnW1W.rmuKuLZtuIuNZ{ZvZwZ|ZyuJZuZxZzw?kOw>w@w=xoxqxp`Y^<lY`Xmmc?d9d8{Xe)nR|0)!F>SB^'KpKnKoSNOPSM,0Za6dZ_Z`YF`x`v^)`wg6L|kVL}esW2rpZ~kP[V^=kQ|1MT,2ZbZdZc`zg8`yg9g7kWc"dyeuetoPoOewRTRURVg;RWrsrrrqW3W4uOj/j0[#["[!^>xr`Zxsayyvf'HvSOOQ6h6fZfZeZg`~>d`|>c`{Z^`}>e>fg;g:exoQoSrtW6W5i6uPkTwBwAkSc@azmn{Ze*{YdvDTdxdw,4OUOTSP,5,66jZjZhZi6i6k6lZ`>ha!^*>gg>g<EtkXa"g?kZkYk[k]k\M!L~oVoWR[o[oYoURXe~e{R\oZezRZg<RYW8hShQrxhPr{W7ruryrwhTrvhUj4W9W:rzuQj3j5[*['[&j2[)[(uR[%wG^AwFwDwEwCwH^?xvxw`]l\l`xu`\xtl_l^l]^@`[yxyyyzywmEa{a|mFz\d:e+n0d;{3n/{[{\e,nJ{ven|JfREuf"r|hWwIdy,8,7a$6mZa>i>jExgBEyEwEv_AM$M%>kM#R^R_R]r}W;j6[,[1[2[.[0[-[+[/wJ^Bxxy{z]mGcA{4cBe-PO6n6oZkFOe.Zla%>mgCEzgDa}M'k`M&k^k_c%f#R`j9hXW<W=uS[4[5uUj8[3uT^C`^xy`_y|cC{5{w,9Zm>nZna(a*a+a)a'>pa&>oa,ZbE|M,gGgHgFgEE{M*kakckbM-M.M)RbRdRco]o^M+Reo\Ras!r~W>uW[6uXuYuVj:^DwKkY^HkWkZ^G^F^Ex}lcx{xz``a~a}mIy}{6{y{xeof"OW6p6q>r>qgIE~F!E}kdkeRfo_o`Rhh[s"W?W@s#s$[7wL^Ix|k~`ay~z!cFz^cEd<nS|2@4UdZeF"c(M/mWf$j;i7z#z"b!e/a.>sF%_GF$M0kfc*M1M4M2M3M5M6kgRkocobf(Rif*Rmf)RnRjHxRlWFs*s'WCWBh^s(h_h]WDs%s+WEWGs)WAs&[8j>u\u[u^[@[?u_[:u`j?[9uZ[;[=[>[<u]wOwNk^kbkck_k`wP^N^Lk]^J^K^Okdlgx~`glh`ey!b#le`c`f`d`b`hy"mNmJb%z&mPmMz$b'mOb$b&b(b)b"z%cHz`cGzbz_zad>n2d={7{9{8d@dAd?nFe2{]e1e0eYeqer|*epes|3f$f#|;f2|:f1f=f<|EfAfH|N|MkhM7c,RpRoN$odWHg=[B[A[C[DwQ|Q6r>tF&WIoef+ogoff,RsRqg>Rrs,s.WKs/kjs-T*WJM9M8{^a){:wRdBm-|B)&s0b+b*zdzccJcI{;nGf%nVfL)6!1!!%f%r%=.a-h=5P[<0ZrYM#R$R'Sg@'T=<M>!P"{#Y!O5D!?"<$A6z!)!8#7)c.vFg@C")/%5X6L!/"F"%"I#)/8Ft*#/==Y=Z:&!3$)!a&C11"[!`#<#\&N#[*<0#5~0v=|G*G,G0G1G3,>+4p6vQJ!vF>#[QW#b$;Q^GV"g*+6L6M.m>T>PGaQiGFZ3FQ$H10A+\"Z6`m'!6g$K!4(sG{!5&b,@0NH+H5@~R3\='6\I!_H77,H<-S-U`n)'?F?E5_R@E]!t'J+/0t*]+9-cs@,Q?^-H5e'_$3$81610*g)JH|HxFpRlRf]&]$CQ-i-y"{T`[,G(&'@#"n+c+`1O++7q6(@6@+IJI0A_#0]8F,#-O%J'89^p-FIWZ66@86ArS<FA+81m@WIx][,#&J2>@X?f$G(.$Q&h-58J1\-\8P2~<:S^?qAn]h#rTt.j_vX#%#J?#x^rHySw-e5tJM,BH{%.$],[,Q-R292B*%-p9-8t9!0[6uJeJc>3TITOBt^>$O$XOi/BUVV]N(S`SX,`,]2H8hC/TYP=UX{{UEAaAcAj^^2bKBGu"&$x-$,91(KGCdDn@cc$B!=?2y*D3eKV>lB2J/S{-:3qV<-E-=3=31/&,W:-:.BHKzP_0J%?-FC3Uk%{9m(<3J=`K`&':CBgE_R!0f_u&>&<0sJ{`#Q#&MA<l}1-:3\YAD.V3fHjQ7&j&id&bMLr:F>2:IHm_<M#W'+&'(W(`]Ht\-({'h-i3P;PMHDhKWKVLVX-4WM^D%a%'*%R)'(\)(.".#4D.$;R2:4sD+4tCvD;:fD>D<D=N;a>aOQdLy'a'm2DWG:o`]B<T^g+4G@O;8[&;q:uNFF|M3R$(.Q}B`B_[-d?SL%S0>X.X,E=;a8Jz8<-5E?;bG3OYA)*XPX\`|<;3y3s?SDm)D4]0,41T7)+UY2QzZ`ZYEe_7bnREu6u5lw>\F>hOZ`(4\/SQM(Hw^M'  #2;;X3B`D$HHHHHHHHHHHHHH(KKKKKKU__gggggggg kNp0sstxxxx yz?@0 0<`7`#------------------------..............0p344@6&999s?@A{I__U>amtw (8FUaku???{ߏ/~ _(6CRb>l{ (6ESbn}?}}'6C}MYhwׅϓ G#2AQ`n~n??,9GS]>ju /?KYhx   * : I T a p ={  ۰ ?   ' 5 D R ^ k w    ' 7 B Q _ n ~ ߜ   $ 3 ? M ~[ j y ?  ?  ' 7 G T d t  *:JYiy?%5DTcs??-=M]l{#1AP\kz$-<LZjy /?O_my,;KT]l{>>~կ ,<L[jz '7GWgw,;GRaq(8F;KKKKKZe_ro~ :¤V"?07GWgvȭ(4DTd?rO ,<L[fu??ug+;JYiw .>JWeos?o#3?O_oADs !1;K[hv  ) 8 F U Ͽb q  _! !!(!8!H!X!e!u!!!!!!!!!! ""'"5"D"S"c"p"~"""""""""##(#4#D#T#b#r########## $$+$;$K$Z$j$x$߇$$$$$$$$%%%,%?9%G%U%e%t%%%%%%%%f%%% &&*&:&F&V&e&u&&&&&&K&&&&? ''%'5'E'U'd'?o'''''''''' (('(6(E(U(d(t(((((((((#())()?1)A)Q)G])m)}))G)))))))**&*6*F*V*f*v**********++(+7+D+T+d+t+}++++ +++?+++ ,,-,G5,E,U,e,Gq,|,,,,,,,,,--_"-2-@-P-`-p----------..&.5.E.S.c.s.......... //)/9/G/W/g/v////g////^//00&050s:0J0Z0j0z0G000ߪ000#00011#1Y/171G1W1g1w11m11111111 22?'252E2U2e2o2222222222 33)393I3Y3h3w33333}33333 44$444C4S4c4s4}44444?44445? 55%555E5Q5 X5h5x55555555566 6U+6;6K6[6k6?y6H66666666677-7=7M7]7k7{777777?77788"828@8M8]8?f8v8888888888 99-9=9M9]9?k9{999u9߷99999::!:0:?:?M:Z:i:x:::::::::: ;;+;;;H;?V;d;t;;;;;;;;;<< </<;>&>5>E>U>c>s>>>>>>>>>> ???&?!0?>?H?X?Cc?s?????????? @@&@6@E@T@c@s@@@@@@@@@@ AA(A7AFATAbAoAAAAAAsAAAABB!B ,B;BJB?TBdBsBB?BBB7BBBBBCC&C5CCCSCcCrCCCCC?CCCCCDD,DINI^InI~IɊI IIIIII_II JJ-JM9JEJUJeJuJJ?JJJJJJJJ KK+K;KKK[KiKyKKKKKKKKKK LL,L7LGLVLfLvLLLL?LLL?LLL MM+M;MKM[MkM{MMMMMMMMMMNN&N4NDNSN_aNpNNNNNNNNNNN OO)O8OHOWOgOwOOOOOOOOOPP"P2PBPQPaPpPPPPPPPPPPPPPPPPPPPQQ&Q6QFQVQfQsQsQsQsQsQ~QQQQQQQQQRR RO-R=RMR\RlRyRRRRRRRRRRSS.S=SMS?SSSSSSXSfStSSSSSSS?SSS?TT'T7TFTUTcTrTT?TTTTTTTTUU#U2UAUPU^UmU|UUUUUUUUUVV$V4VDVTVdVtVVVVVVVVVWW!W1W@WPW`WpWWWWWWWWWWXXXXXXXXXXXXXXXXX'X6XFXUXeXmX nXnXpqXXXXXXXXXXYY#Y2Y@YOY_YnY~Y/YYYYYYYYZZ?Z+Z;ZKZZZjZzZZZZZZZZ?ZZZZ_Z[[![1[A[C[C[C[M[][m[|[[[[[[[[[\\\\\\,\9\I\Y\i\y\\\\\\\\\]]!]0]>]N][]k]x]]]]]]]]]]]]]]]]^^#^1^A^P^`^m^}^^^^^^^^^^^^^^__#_3_@_O___l_|_lj_________s`? ` ` `& ` ` ` ``~%`3`>`>`>`>`>`>`>`>`>`>`zK`[`k`x``?`````````#t&```/r```9`````_`=`a\ awa$a_y'a4aAauKaSa^aiawaq@|a։a0aaaaaaaaaaa bw b!b.b:bV@?bMbOZbib(rbbbbbb޷bbbbbbObccc#c0c 7cA@cHcTco`c7ictc~cc{=cϟc/cc\ccc!cccds d^md_#d0d.;d3CdPdJYd?ddsddddddddddddeee)e4e@eLeZe_eneouee??eeeee1eeeeef+ ff f+f9f1BfMfGYf7efrfzffߟfffϼffff?f{f? gO~gn gm-g16g~Dgj`@jLj\jkjOxjyjjjjjjjjCjjUj jjj0jjjjkkkk*k@3k9kIk LkLkRk`khk?;skskvkkkkkkkk|kk kkkk `kGkhkk#lll 'l-l:lFlRlmCmKmZmhmomummGm;m/m_mm߾m_9mmmMmm?m6mn nn"n+n6n~@n`|GnnTnbnpnSynny/yyy_y&y zdzɍz*z9zCzOAJzZzjztz|z zzzzzzόzzzz{g{ {{,{<{J{ Q{0S{a{q{x{׆{P{{ϧ{C{{{{{@{{{| ||#|,|8||D|M|Z|f|q|z|y|ߔ|||~||||?|{||i|n#}e{}}#}/}6}A}L}M}Z}j}v}O}}}}}_}}}}}}_}}~~#~0~8~G~ M~N~]~k~{~g~~~~~~_~~~~~~~ ?)#,4?B/KUajwcǽwGln3@"/;HQ^ivwo˗;㮀G޸we€р4ڀ倧Zw:(f3O>[JV`kuMی_Ozǁԁ ہA?OG#-4@?KR^Xscm_%v0(ᡂȓyؑƂ^҂X݂6>;r~*6Ok@LYdpv?푃㘃ƒʃڃꃃ~ />HXfl)ox{ 蹄Ȅ؄ބ "-=MCSXVeqZDžׅ }&/;EyPYYodn}?㽆ʆچ醷w?r ;'/2<>HS[gvć+χۇ?m %30:ODQZiv/?Lj҈መ>'G~1_<}GQ\j{t{ˇ?7/ÉЉ؉w_+T1IYg `mw ƍҍ  ?'+?7BQ4U\lv♎ĿĎюoێ厅GP X}?&2>yIU^Wj?r-|~Ïҏ|ݏ돂 9%2>GT-^itC~#_Ɛ>ѐ^ِO{ w"*/28GS?a|-jo~ `(ȑw֑χ+o |"-?8BOX?bn+rw±ƒՒ?? 7#0:}GR7^hxt}?_ޱ𼓿ɓԓޓY?/? { ,r4e>G?UdjtKp钔?ﶔ!ɔӔLܔY9"//8CP??\^n|!~㢕|ĕɕו[ ޕ?#.$.89ǷDRv[wfWr} {=\y϶Ö_Ζז~w#2۟>JXscoo|?{̗~՗ߗO2i)8O@0DR_ho|G!Ƙ'Ϙט? g_!)8GU`jyx?5ϙܙ }׿TP >"0 9@KZ ep{ņ?š͚՚Lޚ皖zc`~Px?$+4=IOYgpw̛鞥}}ʛ؛x뛄 _$+;DFS^dtyz~`󿡜?װ@Ĝ\ϜܜoO $3 ;HgUZi%p䇝|ݰʝ~֝?oG%4?M~Yht?ŞОGԞd ,*~7ϯkٯ毹*5@P_ßiq ?а~%5??_IQ`p|z^±ѱܱ #?-;$ETal{˲ٲO|)4CJZgu -&ijҳڳ $0?=GT_lxo/y)˴ش|w _.%2>LXb5j?u~ǿLv͵ݵ ~-;CFVeuȶeѶ&5BQ_,i=uG9>cȷַ?-vJZiu?逺s"]ǺֺIں ?^ #1 8HRTbQmo|?`ݝvͻ׻?g<8;%07= H OXa[j+uЖwü@ʼڼy߇ ߋ?%o.?JøT_\]h?tï?7!íDC>%ļ0 9ďAB}P[/ao+{ď2C A{&3]?~LY?ftGſƟ;'72+/=JYbуlz?хѻ*$=ՆH#2ҟY< ETc~lo?$^5~ ҷ #1[=HWbpӮ{ӝ=}}}n!.z:DSԝ`n w}ԟ?ԏ1[Զ w9$1>_L՞YՒdo| Ǔx73wV&3_{?LVe_r&y'7FVfv%4DScs?0 00" 0& % PdRTUVW\ 1 34O 56[]78009:00;< 0 0=>0 0?@ 0 0AB00CDYZ[\]^    005 2  ; 0%%%%%&&%%%%%%2!> ?IJMNKL_`a "f"g"`""R"a"bcdef<")"*"" """33+"."5"4"@&B&A& &!!!!!!!!%"#"<0 ! !ijk333333333YQ[Q^Q]QaQcQUt|%%%%%%%%%%%%%%%<%4%,%$%%%%%% %%%%m%n%p%o%P%^%j%a%%%%%q%r%s%`!a!b!c!d!e!f!g!h!i!!0"0#0$0%0&0'0(0)0DS!"#$%&'()*+,-./0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZ1111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1NYNNNCN]NNNN?QeQkQQRRRSAS\SS N NN N+N8NQENHN_N^NNN@QRRCSSSWXY'YsYP[Q[S[[\"\8\q\]]]]]]r^^ __MbNN N-N0N9NKN9\NNNNNNNNNNNNNNNCQAQgQmQnQlQQQRRRRRRS9SHSGSES^SSSSSX)Y+Y*Y-YT[\$\:\o\]{^^___b6bKbNb/eeeeeefg(g kbkykkkkl4lkp*r6r;rGrYr[rrsNNNNN;NMNONNNNNNNNNNNNNEQDQQQQQQQ RRRSSSSNJSISaS`SoSnSSSSSSSSSSSSSSSSSSSSSVVY.Y1YtYvYU[[<\]]]^^s^|^____ bSbTbRbQbee.g,g*g+g-gckkll8lAl@l>lrssttuu(u)u0u1u2u3uu}vvvvwww:yytzzNNRNSNiNNNNNN OO OO OOOONNNNNNO OIQGQFQHQhQqQQQRRRRRRS!S SpSqS TT T TTT TTT TTTTTTVVV3W0W(W-W,W/W)WYY7Y8YYxYY}YyYYYW[X[[[[[[\y\]^v^t^____b b bbcb[bXb6eeeeeff g=g4g1g5g!kdk{kl]lWlYl_l`lPlUlal[lMlNlpp_r]r~vzs||6 3 nr~k@Lc!2NNMOOOGOWO^O4O[OUO0OPOQO=O:O8OCOTOT&TNT'TFTCT3THTBTT)TJT9T;T8T.T5T6T TWPWOW;WX>YYYYYYYYYYYYY][\[Z[[[[[[,\@\A\?\>\\\\\] ^^^^^__d_b_w_y_________bbbbbbvbbmbb|b~bybsbbobbnbbbbb9e;e8eef_gNgOgPgQg\gVg^gIgFg`gSgWgekkBl^llllllljlzllpllhlll}llrl~ltllvlllllvp|p}pxpbrar`rrrs,u+u7u8uvvwyyyvz|Uo҉7FUdpʎƏŏď]IƑ̑2.1*,&NVNsNNNNNNoOOOsOOlOOOOOpOuOOiO{OO~OOOzOTQRQUQiQwQvQxQQQ;R8R7R:R0R.R6RARRRRSTSSSQSfSwSxSySSSSsTuTTxTTT{TwTTTT|TTqTvTTTbThTT}TTVWwWjWiWaWfWdW|WYIYGYHYDYTYYYYYYYYYYYYYYYYY_[d[c[[[[[[[\H\E\F\\\\\\\\^^^^^^x^^^^^^^&_'_)____|______``/`5``*``!`'`)`+``bb?b>b@bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb>eeeeff fffffff ff g gmgggqggsgwggggogpggg~gguggg|gjgrg#kfkgkkllllllllllllllllllllllllllllllllllppppp,r-r8rHrgrirrrrrrsssss=uuuuvvvvww>y@yAyyyzzyzz|T NqRhˎΏԏяǑёw@?;DBR^NNNOOOOOOOOOOOOOOOOOOOOOOWQQQQNRCRJRMRLRKRGRRRRR SWS{SSSTTTTTTTTTTTTTTTTTTTTTTVWWWWWWWWUYQYOYNYPYYYYYYZYYYYZYi[[[[[[\N\O\M\K\\\]^%^^}^^^^_-_e________`` `%``(`M`p`h`b`F`C`l`k`j`d`Abbc cbbcbbcbbbbbbcc?eEeeee%f-f f'f/ff(f1f$ffgggggggggggggggggggggggggjkkkkkkll m2m*mAm%m m1mmm;m=m>m6mml9m'm8m)m.m5mm+mppppppppp0rrrortrrrrsssssssu-uOuLuNuKuuuuuuxvvvvvvvvwvv w wvvwwxx x xFyIyHyGyyyyyyzzzz}|}}} }}}}8 6րڀÀĀ̀ۀ΀ހ݀"ۂ ҂ׂ܂Ԃтނӂ߂Py{zMkԉts͎̎ʐΐÐKJ͑PKLMbi˗ۘߘXNN P P#PO&P%PO)PPPc/cUcBcFcOcIc:cPc=c*c+c(cMcLcHeIeeeeBfIfOfCfRfLfEfAffggg!h8hHhFhSh9hBhTh)hhhLhQh=hgPh@hSSfFUjUfUDU^UaUCUJU1UVUOUUU/UdU8U.U\U,UcU3UAUWUW W WWX XXWWWX5XWW YbY6ZAZIZfZjZ@ZwUUUUUU~UUUU W/X*X4X$X0X1X!XX XXX`YwZZZZZZs[q[[[[[ \ \1\L]P]4]G]]E^=^@^C^~^^^^^<_m____`````a#a`a```ha`a` aaabIbcccccccccccccccvccccRdcc^efebeceeeenfpftfvfoffzf~fwfffgghhhhhihhhhhhhhhh iiihhnih>k:k=kkkkk.l/l,l/n8nTn!n2ngnJn n%n#nn[nXn$nVnnn-n&non4nMn:n,nCnn>nnnnNncnDnrnin_nqq&q0q!q6qnqqLrrr6s%s4s)s:t*t3t"t%t5t6t4t/tt&t(t%u&ukujuuuuuuuu{v|vvvvvOww]xlxox zz zzzzzzzzI{V{F{P{R{T{M{K{O{Q{||^}P}h}U}+}n}r}a}f}b}p}s}U RUTKQN9F>LSt Ń W ̃ʃ8܃ԃ߃[߆نԆۆІކWˆ;`U^a4a'a aa7a!b"bd>dd*d-d=d,dddd d6ddddleeeffffffffgimiZiwi`iTiui0iiJihiki^iSiyii]ici[iGkrkkkkknnnnnnnnnnnnnnnnnnnnnnNqYqiqdqIqgq\qlqfqLqeq^qFqhqVq:rRr7sEs?s>sotZtUt_t^tAt?tYt[t\tvuxuvuvuuuuuuvv[wkwfw^wcwywjwlw\wewhwbwwxxxxxx|xxxxzyyy,yzz zzzzzzw{{`{n{g{|||}y}}}}[}nijrVXqpxenskyzfGw=1ufkIl[<5acimF^\_ Y߈Ԉو܈؈݈ʈՈ҈krsfip|cqmbnly{>hbʌnjȌČ̌Ōߍ捲 KJSBTAljiɑ7W8=@>[KdQ4IME9?Z͖˖ɖʖVtv  霂 PPPPPPPPPPPPbQQRR1SSUVVVUVV V VVUVVVVUWWuX~XXXXyXX}XX%Y"Y$YjYiYZZZZZZZu[[[[[[[[[[ \b\]][^c^U^W^T^^^ _F_p__Ga?aKawabaca_aZaXaua*bdXdTddxd_dzdQdgd4dmd{dreeeefffiiiiiiiiiiiiiiiiiiiIkLk3l3oonon)o>o o,ooo"onno1o8o2o#oo+o/oo*ononnnqq}qqqq>rrrDsPsdtctjtptmtuu'v v v vvvvw}wwawxxxxxxyyy.z1zzzzz{{{u{{{{{{{{|||}}}}}}}}}}}}}}}}}}}p^ZPKɄƄĄ˄ӄфʄ?;"%4U7)jӌьҌk`X\cY^b][uxwtx{|̖Җ| AB󜼞;JQQPPPQQ QQQRRRRRRS.V;V9V2V?V4V)VSVNVWVtV6V/V0VXXXXXXXXmY [Z [Z [[[[[[d\e\]]b^_^a^^^^^^^H_q___vagana]aUaa|apaka~aaaaaaaaaa.bidodyddddddddddddddddddduewexeffff#jjijjji!jj jijjijPkNkkkk?o|ooQofoToomo[oxonoozopodooXonoo`o_oqqqqVrrNsWsittt~ttu v)vv$v&v!v"vvvvwwwwwxxxxxxxx?z~F~7~2~C~+~=~1~E~A~4~9~H~5~?~/~DqrposƁÁɁ q~gч҇Ƈȇˇ;6D8= A?sIKHJD>BE?}9M(uJeK~l[pZTʕ˕̕ȕƕ֖ӗF5;?Ϟޞܞݞ۞>KSVVXX8[]_a3bdddedddef&gjjjjjjjj_kxkk p popoppqqqqwsusttuVvXvRvwwwwyyazbz`zzz+|'|*||#|!||T~U~^~Z~a~R~Y~Hwv́ρ υͅЅɅ(9,+PYcfd_UIMБԕ֕ЕՕܖٖۖޖ$MOLNS>?=.ONMʛɛțQ]`,3QVXXX[^aaaaeeffjjjjpp(pppppr rXrrxszstttuu_vavwyykziz>|?|8|=|7|@|k~m~y~i~j~s~؁݅Յ `_V^A\XIZNOFY |rvlztTNѓߓÓȓܓݓ͓֓ؓדܕ*'aܗ^X[EI ֛ۛarjlRVVVVVX@[C[}[[]aaeeef'gj>p0p2pr{stbvev&y*y,y+yzzL|C|M|||}~|~~Lځf  dplfo_k ˑ0ĘRQ+075 y/_ca7Q8QVVVYl\]aaeeefjkjkLprrttivwP|~~-#"!jltw}_.35:82+892geWEC@>ϚTQ-%\fg×kUUMҚI1>;ӝם4ljV]b#e+e*efktzd|c|e|~~~8?1c`dho\Z[WӚԚњTWV坟VX,e^pqvrvwP69bwjBHDƗp_"X_|}wr^kcpl|n|;rpq^֚#̞dpwwɗbe~ő}~|wxT(rj1r|0000A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO`$a$b$c$d$e$f$g$h$i$t$u$v$w$x$y$z${$|$}$&'BN\NQSSN NGNNV n\s_NQN.NNNNNQRlSS WY,Y\]ekkl?r1Ng9g8g;g:g?gOgORO_OAOXO-O3O?OaOQQRR!RRR ScSrSSS0T7T*TTTETTT%TT=TOTAT(T$TGTVVVAWEWLWIWKWRWY@YYYYYYYYYYY[[(\*\\\\\\\\\\\] ^^^^^^^__x_v_______________`_:bbbbbbbqb{bzbpbbbwb}brbtb7eeeeeeEgGgYgUgLgHg]gMgZgKgkllxlglkllllqlolillmllllflslel{lltpzpcrrrrrrrrsssss:u9uuuv=y4xɏ0(/-3NO|OO}OOOvOtOOOwOLOOjOOyOOxOOOOOOOOkOnOQQQ5R2R3RFR1RR S SuuuvvvvvwwwwwwBy?yyxz{zzu||5 ‚ÂpomnVҏˏӏ͏֏Տ׏9=<:COOOOOOOOOOOOOOOOOOODRIRRR=S|SSSSSTTTTTT TTTTTTTpTTTTrTTTWWWWWWWWWWWWWWWX YSYYYYZYYYYYYYYYYYYYYYYY[L\\\\\\\\\\\\\\\\\\\\\]!^"^#^ ^$^^^^^^^_._V__7`9`T`r`^`E`S`G`I`[`L`@`B`_`$`D`X`f`n`BbCbb c cbccbbc cbbcccbcbbAeCeee6f!f2f5ff&f"f3f+f:ff4f9f.fgggggggggggggggggggggggggggggggggggggggggg(kkkkkkk l!l(m4m-mm9/%3-DQ%V?A&"BN*ZMZ9ZLZpZiZGZQZVZBZ\Zr[n[[[Y\] ]]] ] ](] ]&]%]]0]]#]].]>^4^^^^^^6_8____`````````````````````2ceccc}ccccccccocccnccuccmcc|cc;ccxcccccpcSeeefaf[fYf\fbfgyhhhhmhnhhhViohhhhuhthhhwhh|hkhrhhhqh~hhhhhhhxh{hhhh}h6k3k7k8kkkkkk*lmmmmtnmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmp qpqp qpqpqppqqqpp qqq~r{r|rrsssss ssrssssssttsttsss t tstducuuuuuuuuvvv9w/w-w1w2w4w3w=w%w;w5wHxRxIxMxJxLx&xExPxdygyiyjycykyayyyyyyzzz5{G{4{%{0{"{${3{{*{{1{+{-{/{2{8{{#{||||5}=}8}6}:}E},})}A}G}>}?}J};}(}cGCH%-,!'"83:42tzstu}~vYV†ņȆ̆ÆR։ىՉ0',9;\]}}{y؎ގݎ܎׎$  !ԐVXZSUz|mkqoj嘗PPPPPPPPPPhPPPPP_QQSSSSUUUUwUEVUUUUUUUUU}UUUUUUU W)X7XXX'X#X(XWHX%XXX3X?X6X.X9X8X-X,X;XaYZZZzZZZxZZ|ZZZZZ7ZZZZZZZ{Z}ZZZZZZ[[[[[[[ \0\7]C]k]A]K]?]5]Q]N]U]3]:]R]=]1]Y]B]9]I]8]<]2]6]@]E]D^A^X____``````a` aaa`a````aaaa`a aJbccccccccdcccccccadccccccccccccccc2egejede\eheeeeeeeee|flf{ffqfyfjfrfg ihih*ihhhihhhhhiihhihipihihhihhhhh i iihhhhhhhihhi%ih9k;k?k?efQOPԀCJROG=M:<=?u;σ#ƃȃヿ݃؃˃΃փɃ ރƒՃǃуÃă׃ۃ؆ӆچ݆܆׆цHVU׈Ɉ݉ډۉNM9Y@WXDERHQJLO_؍Ӎ͍Ǎ֍܍ύՍٍȍ׍ō-4/,ad_b` %& '${~–ȖÖlpnNNNPPPPPPPPPPPPPPPPPQzRxR{R|RUUUUUUUUUUUUUUUUUUUUUUUWSXhXdXOXMXIXoXUXNX]XYXeX[X=XcXqXXZZZZZZZZZZZZZZZZZZZZ[[[\3\q]c]J]e]r]l]^]h]g]b]]O^N^J^M^K^^^^^^@___`IaJa+aEa6a2a.aFa/aOa)a@a bh#b%b$bcccdd d d$d3dCdddd9d7d"d#d d&d0d(dAd5d/d dd@d%d'd dcd.d!ddoeeeffffffffxf gfi_i8iNibiqi?iEiji9iBiWiYiziHiIi5ili3i=ieihxi4iii@ioiDiviXiAitiLi;iKi7i\iOiQi2iRi/i{iF 2*-<:15B&'8$0눝艫=hiՌό׌   # "$!zrysvzy}~-X}z~{Η͗ٙǙ>?`a_PQ0QPQQPP Q QP QRRRRHVBVLV5VAVJVIVFVXVZV@V3V=V,V>V8V*V:VWXXXXXXXXXXZZZZZ[Z[Z[[[[g\]]]]]]]]]]]]i^]^`^\^}^^^I__aayaaaaaaaaaaaaaafaa-bndpddddddddddddhdddvezeye{eeefffffffjjjiijii jiiijji'jiijii@jjii jii jjj%jji&jjijQkkkkkllklAo&o~oooooooboOooZoovolooUoroRoPoWooo]ooaoko}ogooSooiooocowojo{oqqqqqqqqqqqqqqqqqrrXsRs^s_s`s]s[sasZsYsbsttttt}ttt|tytuu~u%vvvvv#vv(vvvvvvwwwwxxxxxxxxxxxyyyyyyvk9zzzz{{{{{{{{{||||}}}}}}~}}}}}}}vdgOSRPNQ$;)  '+ *(.1& 0 /bVcdwsXT[RaZQ^mjPN_]olzn\eO{ubgiZ   ϊƊӊъԊՊ׊Ŋ؊Êي>Mߌٌڌ݌猠 #%$.&',$ #spogk/+)*2&.ВÒĒْϒߒؒגݒ̒’ʒȒΒ͒ՒɒޒђӒƒ|ӖZЗϗ&)( 'ܙ͙ϙәԙΙəؙ֙˙י̙FCgtqfvuphdlӞQQQQQQ4SSpV`VnVsVfVcVmVrV^VwVWWXXXXXXXX[[[![[[[[([[ [[[]]]]]]]]]]]]]g^h^f^o^^^^^^K__aaaaaaaaaaaaddddddddddd3ee|eeffffffffff#g4jfjIjgj2jhj>j]jmjvj[jQj(jZj;j?jAjjjdjPjOjTjojij`j[qNnuUg`f]Telcedy&0-.'1")#/,݊ߊȊފln3>8@E6<=A0?6.52974vy{356'z8<#F- ˒%4$)95* ͕Ԗ 5/2$')癹3|~{z}% )"՞֞=&Q%Q"Q$Q Q)QRVVVVVV~VVVVXXXX-[%[2[#[,['[&[/[.[{[[[]l^j^__aaaaaaaaaddddddeeeefjjjjjjjjjjjjjjjjjjjjjjj[kk looooooooooooooqqqqqqqssnsostttttttttuuuuuCvHvIvGvvvwwwwwwwwwxxyxxxyxxyyy\z[zVzXzTzZzzzz||{|{{|{ |{| |||{{|{{| ||-~<~B~3~H8~*~I~@~G~)~L~0~;~6~D~:~E~},ā́ʁŁǁ[Z\{w|zxWyvhŇɇLJ̇ćʇއ53<>AR7B " OprqooNMSPLGC@~8dVG|X\vIPQ`mLjyWUROqw{a^cgNYǕɕÕŕ ՗ԗADJIEC%+,*32/-10H3Ag6./180EBC>7@=-Ȟڞ$#"T1Q-Q.QVVVVVVpY<[i\j\]m^n^aaaaaaaaaadeddeedeefffjjjjjjjjjjj^kk lp p pppppopo&poo prqqrqvsttttttttuu\vdvYvPvSvWvZvvvvwwx yyy yyyyyy_z|)|| ||-||&|(|"|%|0|\~P~V~c~X~b~_~Q~`~W~S~uсҁЁ_^ƅŅDžą˅΅ȅŅ҅$iۇ߇ԇ܇Ӈ؇㇤ׇه݇SKOLFPQI*'#305G/<>1%7&6.$;=:Bu\b`WV^eg[Za]iTFGHK(:;>ҕӕѕזږ]ߖؖݖ#"%חٗ֗ؗPQRA<:  ܚ)5JLKǛƛÛӛě\SOJ[KYVLWRT_XZߞ%+*)(LU4Q5QRRSVVVVVVXXXY=[>[?[]p^_aee e e eeeeefjjjjjjjjjjjjj`kk lp'p pp+p!p"p#p)pp$pp*p r rrrrrrrrrttttu`vwwwwyy!yyyyygzhz3|<|9|,|;|||v~u~x~p~w~o~z~r~t~h~KJxׁՁdacمڅׅ؅߅܅хޅ  bZ[Wa\X]YPHJ@SVTKUQBRWCwv mxsjo{ŽRQOPS@?ޓǓϓ“ړГ̓ٓʓԓՓēΓғ}ڕە)+,(&ݗޗߗ\Y]WHGC%$" '#š  7ޛԛכܛٛ՛ڛwqx}ktupis{oyh-@AMVWX7SVVVXE[]]^^__aeeeeefffjjjjjjjj02.3vtsEdcbU]W^ėŗVY RXPJMKUYLNžО876COqpnoVVN[m\-effk_pap]p`p#rttw8yyyj|~mC875K‘khiFCGǗ^՚Ycgfb^` FtuvV.eekkkkbp&rrww9yi|k||~~~~FGHyz|{nmoqsIr_hnm  Gx{zyWfpo|<Ñtxvu`tsqu hpep|j>=?ɎKst̘adfg$Hbk'rLih.)rKyuvkzipjp~IFGDXӡPѡҡDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsDZDzǴǵǶǷǸǹǺǻǼǽǾǿVXELK¡JK¢ԡۡܡڡݡء١wxz{|}utsrq~bcdefghiponmlkjvy@BCqrmnuvyzijEefâĢŢƢǢȢɢʢˢƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿƢƣ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰǡtuvwxyz{|}~UVPQRTWSO@BCEVTWUFɣOMɢBA@CèXPɥcꦱYDd@D[G\EGFĨAAE^]ŨKöܲFƨGH_QɭǨȨE`ɨʨFGHRɱTSɵJKLMIPjfiQahNOHegɮ饱ɹɶɳɸɯ르ɷɭfBgD[`hdG]ʽCb^ZeEH@FcAi\_aبШ˨ըΨ֨˼ި٨˵ۨϨԨ˴ӨרҨͨܨݨڨ˲Ѩ̨VJIQ]KYPXT[NWMURZO\SLH׭ѭ֭ĭͭڭέǭܭӭп̭˭ϭ[ƭխԭʭɭҭí­Эŭ٭ۭحȭcWԳ\bԲUԶYRԴVԹgQԺfԵXԱSO]PNZ`aԷ[^M_dLTeԼȳ^Wų_UXijYdz]SRɳʳƳ˳Q\ZTóVʶĶͶƶǶŶ˶̶ܿɶܾܼܸȶζܹܶಹ౹ஹହ෹హ൹䪾觾詾訾vwux_lkIaSRJIKߨ^YZ°\[`]^JK@LݭNTUAj`_ðUaޭ߭VBMNkha@LZİͳBɿYWXMNb¤ZkFDEGClmnPOSQRchdgfebѳŰikjlưγϳгжѶ϶ABỹZ@ABDCO\[HUVTWoplkijǰnʰmɰȰԳӳҳҶնֶԶӶCDE䱾yUcäVĤŤ]^Iqm̰˰cbPƤ_ͰCl`KJXo׶EἹǤаΰϰQd͢ʤɤȤcbmnճRˤedrWgfLMsYZoD̤tuppdֳeFόFXhѰSeΤͤϤqOfjytonuslzmixwvkrq{pSYU[XNQTPWZORV\~{g|[]up}_ahxtv\mvsdnowljkq^rfczbei`yOPIKMLEADIRCFHQMSJGB@NHKxt}rCΣOΥyEBwͦJ|LΩs~{@ΡFGzvuDND@BCACFB@GѡEDAw䰧߰|۰v{zᰥԨs賩ְٰ~ӰڰtԤݰux}ްܰװұذyణհ԰qrj׳ڳuxسq޳䳽n۳v{ofsmyݳ߳ܳzlrthwٳgip޶ܶ߶ڶݶض۶_ٶ͹ȹUQK¹TΌNPSĹ˹ŹIƹǹL̹JOùHɹMRʹGMGDGSTJBLRFIHHCEKAkONP䲾@E达B鶾A鹾C輾軾D@QF鷾{}~z|P¼`VQAY@XWZmonŦťI}|_^]yʨwzxTHIEF밫|ϹιIHGkgYnobfdcea`ɦ}ʫʡ{ʬ~|Y[Z@XWV\A˫UTZβX^UY[]WVQRέS\αPSRWNQPTXGJOUIJѰVMHLѱԯԽԴԼԾԹԲԦذԵԳﰻԶKԮԡتةأإ}رخKѫ~ذدسܬا]йcչ_fW׹ѹ\U[dҹֹZ`eVԹ^bhXaӹgYYKWVMRNQ\[JPZOLXMOJLNþP¾IKSRabcB[hФ_عiSZɰB`YLi~pgh]ڹ۹ٹjѤӤҤ[ԤqɢijɨaC_`^ZѶabMNOݹܹj]ľklonqpmkɳʹʸʪʳʮʻʷʭʺʫgoOHpSDKfEdLPcQJMriTRnlIkGFjhqmeN̹oθgcsbλlξpοVvdfmqurknhëjitκe«\b[`PU_\aQ[TRcSWXZY]^d@CDBA@ظؽBGCضADغطعؾؼEؿصB@CD@FAABEnzpvkyx|u޹tm߹{orwqlsUaXWZ\_VT][Y_^c^`b`WVUXQRZSž\[TYƾT\]ClmnդrssUutVī]eEGF}Ǿ^prɦsvtuwʻWXvxzw{yȫūǫɫƫfwhgc_`bdafeJIHGKFIKHJHIJ~칡fged]Ⱦd_oxʫigNMLLMɾp\֤ty|KqפɾʿʼNLݪrؤuɧY~Z}Ϋxͫ˫̫jhkij^PQOhiaĨK٤swvzħ§çhb]̣ec\ilg`̥f̦ad[_ķ^j̢ΤΪΣΥ}{άΩyЫΨΦ|zϫ~ΡέonlknposqpѮrmlmqrSRTXAZV^[UCWB\]YD@QROOPSVNPUTCRDMQݩegkhcbljjmdikfaf`e^hdic_gjbrDE`rqt{ʵ_uŧtWvwxڤѫSy]ɫx|Ƨʮn̬m̩o̪ҫԫΰαβδӫtsvubFac`UEVWTZ\E[YXݴqompnlmklnnz~}FۤիXyzȧɧǧβ֫ιζκ׫yuwwxxvѵGJKHgfdeIhZ[\]_aHGY`^ݸpsrtqtuossqprofFGUƵʧث{ܤ˧ʻ٫|I}ݤޤɢ̧qrs̶p̸ګzzyiLjM]bݿuvʾtst̽kJUΧͧ۫{mCnl^vLϧЧwv̻uݫܫޫ߫}|{OorpNuqPtsa_`KdLcwxwu@HIߤ{ҧԧɤӧѧx̾yا֧էקʿʯ̢~̮̩©̭㫬éȩƩ|̥ͩ䫦ɩ{ʩ˩ǩ̩z̫ĩ}̡̤ũΡ髣Τ~}|쫡򫢮~뫦﫥ΧvѦѨѨSլѣxQխRեѬѯѪѭѧѩywzU^d|e`ժVբ~TbeIcء]a{dYbWXէ[ի_դ\թfcZ}ko@QmDqeFSilGHNsTJOC^UrAP]pNMtEjBKMRgLPh\phlnk[j_Z@qXimOfgAWYVo}GF|ECDzn᣼{HyBz᡼~y~ξx娼̾嬼x骼v}嫼w;姼孼|{˾zо~Ѿ|y{ӾҾ}ϾVgjihaJbAt|ɳڧ٧ϩΩѭur`atvuI宼ԾW¹ʲѩЩҩΰѰvQ~}ɷɪɩߧөާۧݧܧ᩾̷ܩ侀̺̼̿ꩻ̴詸٩⩶שة֩ԩߩթ䩵کݩީ۩A@ѱCBEβDѿѶfѷѺѼ}սѾѿѸѵѶѹѻѻî®ѷgշ˱ʱyurզպwը̱ɱ{jȱiսs±hxqDZtդƱRٳoոñxnl~հıw|յpűmzvTSkdzjYgw}kn|\ml~Uyi_٥phq٭fec]٤VٷW{yݦXox`[٩a^ٮp|ݱݶݪliz{bknoݲݸjd}ݺݨݩ~ݴݫݵݭehfݰݬݡSmݦgcݮݢQLKObR导T尼NPUJ嵼Zٲ¼MẼ峼üؾپ߾־ݾ۾վܾ׾޾ᾥھY­X^\]Zk[BEFDGlCNdMLKceuũrٯ鬦FGĮŮӱϱֱձαѱԱбvͱuxٰswtqVļżƼHyٴƮرױz{rW礸Hٱ|ٵs_IǮȮ۱ܱݱڱ}~پYXJIO^J餹@PMSKNQLORЮɮ̮Ϯʮήˮͮ߱խޱѪծ౩ᱧ٢ٶ٨ٸݦټ١ٽyvwu{ݻxtz\Z[ȼǼʼɼ澻辳徶`nKmQRfPŪꤱTѮҰ̳|뤳BAҮӮԮ´zag줼ɵɴCGBE@AA@FDWCMNFXHSIVQOJPDRUELTGK[\iVLbJ[EeRADQa`FX_`cZKSfYamVXCjc]@lgIkPHd\T^bGZYO_UWh]NMB^WU߮ծݮ֮ڮۮخ׮ٮܮմյչվսհղճ鱺շջޮִѴҴδĴǴƴ״ɴŴд̴ٰٵٯ˴ݱϴʴٴʹôٴ٬ȴټپ٪ӴմٹԴٮݦݨݬݡݯݣݰݩݪ~شݿݥݢݭݧޮJH^FX}_B]GUd][@ZoQamI^KYgDkaMCWh`eSfEPLN`_nObTcljAVibR\ͼؼռѼμּ׼ԼټӼмϼ̼Ҽ˼EAHIDJ@GCFBchibfegdQNWVTOrPqSpXRMoLVUUhYZTXSWvVYd۴ܴڴݲpceqdۼڼKjYwBZ[nѳk鷺\eofp޴ݴfghܼLlZ_qgߴٵijݼ޼`CHrhsijBAC@@AAB@ݷkM[¥]a~ɻIJ^tklDBråƥťĥD@ŦƦ¦ĦɼEæ[YLQSLMUROQVZXZKM\TWEG^UNJYVHICOP[]PNS\WR]FTKXDjzqKbeBmovhfguGpnsJuycIMO@lk}rux|AF~wi_d`N{taL|ϡϤwϧϪϬtv{Iҭϭ{sd~xzϥ}}pϨϫzmϪxoϫ^H|wvnϬϩyϡqϢrϦy~LCU[WJMFGJV_E@NBOYDhHHEfZgaSb\ecITAG`FQCiPKKX]eRPG[UGDgdXcNOIE@QYBD^F\SHFJhb_]faR`AEWVTLKCMAZIMDJCUVHDBSKQWAGEBCOLT@FGFEPNR@a`F޽_IJǷh·^CȷRHKc޸jbW̷˷ŷi޹ULYeͷTMķ÷PZdGQ޼[ɷN޿ESgVlXfƷO޺ʷD]\ު⭺}⢺n⯺wmⱺqsuS殺}o⣺u~||vtzwxz~pyx{t⪺⤺sr⥺{y߼vDNMYKOFRTC^W[`UILH_aV\JE嫺AZB@XQP]GI@AHCOBDFEDJGFEB@ANCQSYWZRVU[TXPqopmnsrx_ey\vsgwt^abcf]udh`]j`kh_\^bedg[icfiaxyŭWeƣlǦA^_b_`aXZURTͤVͣSP͡WQͥYͯϳϷϯϱϱϵϮϵwxyPLnv{QlrkuqMOzjmst|pNmNPLXJWiH[RlSVZOTjkYMI[QUKHIeOYbXL`^_Jc\ZK]aMdpwyޡڷkҷz׷η}m~lܷxϷԷqٷ|ovrnѷطַӷ۷зuշN{stⴺⶺ⵺ⷺ⳺gdpjlfnmkqhocebriJQUSKILMHUVGVQOLPNRRMNOPKTSWXT\b`^a]_wtuvlmzkji{ljkyRݷnbɷ}ϹfP޷|gɦBȦedc`˪[ͺϽϺϹϻҡ~S]^o\_RpQkjhilڦޥީިާ޹⺺stYZr}qpnolǥCDfbaˬegcfgd_;]dͭeab\ͯ^ͮc`ϽϿϼϨҥҧXWUҩTVg֣Ҫbfenyhcmtsadurq`ipwTvsVuoqtrUxS߷ެުᷮޫ⻺෰ޯvu~}{zwxy|_\]W[a`^decyx~ámnmzȥYvjɥEljkhhimͳkgjf͵iͲlh¬ŬϿĬìҫҶҮҹҺҬҸҵҳҷ_]ҭҰһҲ^Z\xmklstp{uroynwzqy[xwv|~ڡ`کڢZڥ[abX}{ڣz_|ڤڪY^\]W鷷跻ޱ޼޲޳޽޺޸޹޵޴޾巶⾺@bAifegfZcX\[dhYmzjhknlgBEu@oFD{ACGvtsnŲʥnͼҽ}]{ų˥o`Ͼҿ~ºi^_ropqIH|w̥ƬͥңcdΥϥFjiǬϬХѥҥӥklnm˶rpqˬɬʬȬ`dcbaҦ{z֤feڭڧBjså|ԥsͨúopt͸ϬЬͬά̬hinlkjemfg֢֭|~֤֣}֩kjhlmgiڲگǺƺźȺECHIFGĺDlksmro`qabpntwuvMN}O~LPJxoKp~}ѬnoեʦGqmҬӬԬoָqpJxQqp֥uprKtRrץ׬ج֬լqrs֯ڱsɺʺLducySsإnxwͼvͽy۬ڬ߬ެ٬ܬݬuvҰwtֲֳִֵַ֭֮֩֫֬ھںڻڿڽtCκFDEAB@̺ͺ˺NQOMP}~vzywfgex{|h@{A|z~}U¥¢£T{yztwuvf٥ڥoxuGB|xۥz|~}{Ϳ|ҡzҢyҥ}~{ֳִֵֶַָֺvڸwxNQMLHOPJKкԺѺӺIҺTXVϺSURYWjlikFECDVGZW[]\XY~}z}yq{|~rtsܥrªҧҦҬֻּּֽֿRSTA׺պֺCB@mHI_^¥áVݥrqpĪêϵҲҰ־}|z{yAZX@W\[YIHDغGFٺ^_[]Z\pErqnoJ`¨©¦ìãޥHsƪŪ@𬶯ҷֿ~D]^CBJۺںKLa`sK¬uߥAҸڣEܺMݺvĥ˦ǪBC@BӹDGEFCҺHAƲòDzŲ²IJȲڧڥڬګڭaPSGLFcJHbONKMIR_Q]XNPUTWRQߺSY[VOi޺\bce`hdfgvjtxQyw{zONLPMucagedjkhib­«flðêîïóxĪwyŢXYm~̦EFDGHIIOMӻKLNJɲ˲ʲگְVdTeUfa^`_ka|}WSXTVRUz{A@ͦtȪLJKZǯSYïRXV¯įUӽTȯůɯƯQPWֵϲֲӲٲزԲвѲҲײͲղ̲ڲڴlڱڸڹڳڶڻβh]_ae[Yj`d\XWbZ^kifgcrjxtxeubwfvpcqshgdlimynokpyurvltswqnzrm{o梿~꨿ꣿꦿꤿ_Yia]dg\e`Zhc^b[fntwµovq·msurpøôõô÷õ~}ĭBŹ@BAlΦoʯڲjºCIɪuM`[_]˯^\@ijnohkgm@pz|}üDźϦ˪ʪONb̯aܲ۲BCAsmlnrq~꪿yxýüðЦPeίdcͯݲ޲߲Dop~CAB{|}桽歿꫿kz{½lѦҦ̪ϯQӦARS@BԦTѯfӯЯүA@qߡ㢽զs˪CUhԯgկCBDFGEtuEDpomnq|¾Ť֦wµvFצئ٦vwwtvyu{zxxѪϪΪӪժҪ֪ͬЪ|Ԫͮͪ[GH]WZcaIgLd\YIbDeV_FK`OMXJ^NEfگد֯jޯۯlݯkinHomׯٯܯ߯NEGHPLJMQFOKIȵQOʵJۡɵNKŵ˵PǵMGƵL̵ĵõwu{sߢxr{}v~|~yxy}͵|tzLHMJKIAD稽C秽@榽B걿꯿txzwvusry¡}~ôijECDڦתRN{ۦSܦPTUVOݦتhpWۤP|µަ٪RεQEߦϵR঱iQrqWTVSUXYZۦߧߥߨߥSJFIKHG괿ĶF}}X[AJKMNLʢˣ{ˡˡ|zy}~~jжܪͷ۪ߪ㪹Ϳʹݪڪ͸ઽ쯻ު誳b\daqt]kV`cewUYWRo~svХf}^xФuy|mУ{lp_ZSXTgnХ[zAΨvӣ}ӲӪ~өx|ӵӤtӬsr\ۦz{ӡuӯӮӶӰӧӢwy^`ey]houbi@wrnj\aYfcsdzlkZ_pvA[gmxqtl`׵}۪ۧյhۣiwsߵt]ۤ赡u۬p߯nzԵrۭkdocaеjۨ۩صݵٵ~ڵvfҵ^ۢ۫e൰qmѵ|xֵܵ޵ӵyg{bۦۮ_Uߵߩ߱߿߲߰߶߭߶߱߫۵߸߯߾߲߫ߴ߻ߺߪߧ߭߷ߦ߯߮`X[YZ]aU^WVTc\b_stgfb紽vu_c]pawZXdni綽Om緽[RU{\SQN簽e篽`h穽x|竽WkoTy粽L絽rVjP^Y筽l}zqM窽I@C뻿EAG븿LFUOF귿JT뿿QDHBVSP빿W뽿MKNS@ERDAMOQIPBRJGUHTKLVCN~³«¯°ĩĦĬīļJKIGHLEFGOhӷ@B|{굸~XZYW목ЧЦikjӿAFӽCӻHӾӹGDӺEBLK׫HF~שקפ׬׭ׯװ}Eס׮GIDMJ۴߽۱쵶ﵺ۸뵲۵۾ۼ۷۹ۻߺ¸øĸ㻸jeghmilfd߲½k翽绽缽羽繽纽罽da븽kge`oĿ\hi_^lb]cn[mj¿ÿfY]Zag\pj_kfm^`nXldch[bieo¥įBEACDQON@PFMžZn妪GlбNŸýĽſ禬ЭmIJNMKLPUT׸R׳S׻׽׷׾O׹׵׼״׶Q͸ϸǸθʸȸɸ˸Ƹ̸tBAv@nprqsoƽʽŽǽȽɽup|ʿwyȿquxƿɿ{stzrvǿrqwstuxvIKHJRHIKJPnWVиCFED̿˿y{zTS[ƤoCA@BѸDIGH}|}LULqrбpTRQXPYVSWUO_Y^`Z[X]\DFEICB@GAH߸ڸոָҸ޸׸ܸӸԸPMEJQٸGOKNLݸFظLx{N䥻M}ϽO䤻K䦻y۸|z~wJֽҽٽڽ˽սԽνͽӽнؽ̽׽۽ҿ~ͿӿϿٿԿпڿۿؿѽοܿտѿֿ׿~AO@BCĴij@NMPQAV[XWZYCB@A@MNgmƩRPDDZaTSܽݽvƨbHVUWQR䨻ݿ޽޿FE\[IYZX縪߿Gst]^hfcgedJLQSRUOKMTPN[T䬻SU߽併࿴HIJúĹRBS\ŬEBƪji\]஻꽺vu_XWV_b`ae^fcd఻V䯻콻LNKMTowlk`[^Yl]\_Zhonpmrikgjqs[aYbX]c`_^W\ZAC@EBFD⿽EA@CBDROSQPTüľCEVDUa`^]bcF_\QPOpnƭ`UyxcabmnCAEFLHJBIKDGb@acuwv{xtyz|gfde䳻MNIJKLH@GFGHIXYWVZXYWFdeHGd@|GŰdA[˱Ͷд|У~{}zjgnilhekmfpzv~w|roq}uxty{sMeOgiNfjhGO~PEJCBMLKIN}DFHRCASDBQPOEŶUoRSQTʪ˧ˬ˨˷˹˸мйЧнпХЦ׺qprӡע׷lVWTܣnSYXk\R[PZUmQRnqim»ljpkhoYHJVWUQGZTFIXKLM]\[\ZfŻut@Asפ_a]`o^psUTSsuƻûŻĻtra^_M`[\JK]LOPNR_Q^]HIC]qoƼVĽqBxvzDywCԨקBث@תCצAmljbqeovnyuciwhxzkrswutfrvtsdgpܺaWYeZ\f[db^c`Xg]_xǻz̻лȻɻ~ѻͻ|˻ʻyλ{wvϻ}RZUgPOVeTqcdNXtysowuhb}W~xmkfn{jzSv|rlQpYiDACB@@CEEBAD`YTc[eU_aWX]bjgk^Zhj\dfiSVscqalhrbetmpid`okugnBf@DACafOhIdjNJK`gMeL_cb^implnoijgkhųKMLNJDSRT_U^VruthsrpqwDxܥv{EFج}zyܣ|{~{hһջ׻ֻӻԻ[\MKIJFFNHLGnlmwxEGFPmlkXVYWʮ¨˿˭@ЮЭФEԢF~|}IصHKرJثGا}ܣܢܬ|~ܡܤjkiػڻٻGHOIoAGLضܦܯnomۻlܻPJptqusyBܧܳsprqݻ]^_`QNKPSLROMwvx~}z{|HISnQRoŵqEGFWCtQRDañSŲMةܫܪuv޻߻cbdVUTTA@}{~|y@zJKpŶOPHiƳCBäqrWDﵭXAçLMTQNصܷz|wx{y⻼ge[fYZU[YXVZWEJFIHGDBECèFê@ĨAħQNOPrVUtsI`X仾hGíBĬuRStsuHOظܽ~}i\kjla_^]`\K^]_NLMRKQTSPOJHIìCİDXWUTYvwWvVwaYPUﻭ`WVLòIJहࣹnqsrtpmocfdcihgbbaedZ^[]\Y_b`a@XcMïEFĴ`^]ca\Z[_bx~y[šZ}|Y{Xz}~{x|yzRSJvjƳkƴzluejmfdkNfde\ŤżbƪIԦhvwnqpoghfegOüPûGgihTUVKcƶxiJ{ƬrzyiSRQ^Ũ]ũL|{}xvwsytru|j{z~jmltosqpnkCBDAuXWUTJKIHloVmsqkvjrnut`Ů_ſŴűŬpZ\_[`YW]X^MZ\[yxwzst৹衾}~okplmnz{~|vy}E§F¦wYZ[MxOPNL}{|x~zwyabŽdſcŻindgkreosjcmlqphbfNOa]^`_ba|{x|}ƿPQਹGQSRıec䢾T³򻣾tdHu¶rqLJKI\õfvwd}uưܶxRe~쪹]gy^ĸ|{zM}fN~hŽĻijţTSgjihseÿtJJWY[_`cdghklopstwx{|ơǡʡˡȡɡ\MOQRST}~̡͡ΡޡߡLMNICH]^ϡAСDAGFաס֡HIϢТѢҢӢԢբ֢עآ٢ڢۢܢݢޢߢBġ@ABCaUbN  &5>>>>?HUeu&vv3|d$H(ě)N0 ?@0 0<`/ 7`(8HXh`n}@p@&&s @h L)*-\y6>?vyIHM/Yd:ju7?#Y޿} E%3AGU_?l$ux~v Ϫ,kwf;{"(A056r>p}GqNPk'YWcpl2Gs }~t?ʋI~X"\`7T!K(38C0H L/RЈW~e/mz{ŧyg@@o !'.[;{GP~W_m>x}.W}gWG} 7!}*p3o??HLPU?`\j tHyV8 =@`5r?zo&<.r9FOkZ aj~wHQǯn?c~~ _} {w + 2 = )bC SK 7W e 6o w ~ Ғ ? o n  y  LwWwanm]vo_ױ{{ \/8@=KYfu`y@ݿ h }z$-9B]MZe;p~jsͻ~f?<?)~1:CvM_Y?cmvoџDY{Ӫ;}:z '6CP\\ܵfcq>?|߸?{? 7)7mDNL`S^_n{^y4sׯ@r/& 0: BKGU+]kxsڂ$˔]˪Mݙ{YO%0;_mFV}?bxft~/ "/?N>[)^drn~˧<)7 <IWc{o@w_0ߏ S5|D%~/7E@IwTYٿeU~oxoGz]W)/uq47#a-֟8LBLYs{dmp}1^ח[{"=vOw;%1=<HoRp[?h@,l{Wޚ//S f#.5<|EMќU3'] dmq}ߠ {?5͗7v'l~ P1|g%.:_GP/Zcq{tޅ=_?l(w"p'53:DO?\\d:p3y6Rz"/}#f%~0 5==?MET\}fНn{xsσÙ ߣŮ yso}? Wb#;.4C;^E0O[gu|?7ޱ,37.> ]i  ! * o8 C O [ e {p ^y ^ ׳   ?  !!!!ǽ,!7!7!7!7!7!7!7!7!7!7!@>!8G!3Q!^!k!v!v|!!!!ز!o!!!!R!!ȅ!Gu" ""!"m?,".6"6<"H"U"{]"?j"gq"`y""f""?X"ʧ"߇"Ϳ""[""""w##?#w'#'0#<#E#S#Z^#h#9q#}### #ڨ##N#3#Z####_$$ $$o&$3$6$E$Q$_$n$z$$$$z$$$g$D$$$W$$% %%$%2%A%hF%gR%k]%l%_v%%s%߇%%%%~%%%%v%~ &y&}&+&4&|<&wI&S&b&n&|&\?&O&&_&w&&O&&&&& ''#'}.':'H'S'o?_'k'y''}'.'''{'''w'~'''(^((((y4(V<(J(_W(^b(nj(t(^~(((|(;(ݫ(յ((4(S(s(K(O{() )nG) )E))5)C)N)\)i)x)݅)~)ϝ))齶))u])|)))))))))))))v)/ *w*w#*0*?*J*U*ub*;n*y* ******+*3********* +J+{#+0+=+J+\R+_+l+{w+$z+++ۘ+ߤ+o++y++++++++H+,tj ,,m,+,6,C,K,vU,_,?{k,u,,,˛,,,M,,?,?,,,--#-,-?8-@-M-X-e-vq-~-7----V-`--a-L--E-}.? ..!.1.<.F.P.W\.}i.x.x.._.4.^. ......Q./ //_/)/4/`;/F/S/W/W/W/W/W/W/W/W/W/W/W/W/W/W/W/<\/Mg/q/:{{//?/ܞ/?///P//////q/o/[/W0 00)0.10=0I0OT0b0%k0 s0D]z0GW00?0w0}0Ȋ000* 0K00y0ӫ1 1z1 1*1/1/1/151N@1WH1J1S1Tv[1d1q1}1/1[1۞1111s11?.111v111r~2~ 22(242>2>2>2>2B2M2ǤU2_2h2~s2z}~2lj2˔2ܞ2~2v2ӑ2|22/L2w2`22^23! 3k303:;!3-3S83B3aJ3R3R3R3R3R3R3R3&X3e3m3x3m33/3޿33333߷3334~4!4-4n949494949494 ?4K4V4b^4Xf4 n4{{444ƚ4m_4=4i4444O4 474404444 55%5/5/5/5/5/5/5/5/5/5/5z<5L5\5i5x5?5t&000% & 0 %"<<"    000 0 0 0 0 00000`"d"e""4"2 3 !+!B&@& ""#""a"R"; &&%%%%%%%%%%%!!!!!0j"k""=""5"+","" """""*")"'"("!!""^.""" !0 %%%%d&`&a&e&g&c&"%%%%%%%%%%%h&&&&& ! !!!!!m&i&j&l&22!3"!33!!   !"#$%&'()*+,-./0123456789:;=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~11111111111111111p!q!r!s!t!u!v!w!x!y!`!a!b!c!d!e!f!g!h!i!%% %%%%%,%$%4%<%%%%%%%#%3%+%;%K% %/%(%7%?%%0%%%8%B%%%%%%%% %%%!%"%&%'%)%*%-%.%1%2%5%6%9%:%=%>%@%A%C%D%E%F%G%H%I%J%333!3333333333333333333333333333333333333333333333333333&!3333333333333333333333&2?ARfJ`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2$$$$$$$$$$$$$$$$$$$$$$$$$$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$S!T![!\!]!^!'138@BSgKI222222222 2 2 2 2 222222222222222$$$$$$$$$$$$$$$$$$$$$$$$$$t$u$v$w$x$y$z${$|$}$~$$$$$t  A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNOv'  $,-/0189<@KMTX\pqtwxzĬȬ̬լ׬  ),-458DEGIMOPTXaclĻȻлӻ $%')-0148@ACDEILMP]ļͼϼмѼռؼܼ $,@HILPXYdhԽսؽܽ DEHLNTUWYZ[`adhjpqstu{|}оѾԾ׾ؾ @ADHPQUſ̿ͿпԿܿ߿DEHLTUWXY`dfhpų̴̵̸̘̙̜̠̩̫̬̭̼ $(,9\`dlmoqx͈͔͕ͤͥͧͩ͘͜Ͱ  !$(0135XY\_`ahikmtux|΄΅·ΉΐΑΔΘΠΡΣΤΥάέ $,-/018TUX\degipqtxπυόϡϨϰ-458aha9eiouvv{˄U[QW|(PSE\]bncdd np[yݍ}E~NNeP]^aWiqTGu+^NPpg@h QRRjwԞR/`HPacdkLp/tt{PŃܕ(.R]`bOIQ!SX^f8mprsP{[fSckVNPJXX*`'abiA[}_NPTU []]*eNe!hKjrvw^}N߆NʐUNEN]NNOwQR@SSSTVuWW[]^abQeggiPkkkBlnxprstwwvz}  ߂b3dҙEם W@\ʃTzو͎XH\cz[_yzz&P8RRwSWbrc km7wSWshvՕ:gjpom̎Kwfxk<S-WNYcisExzz|us5RGWGu`{̃XjKQKRRbhuiPRRae9hi~tK{냲9яI NYdfj4tyy~_ & OS%`qbrl}f}NbQwOOvQQUhV;WWWYGYY[\]]~^_beegg^ghh_j:k#l}llms&t*tttxuuxxAyGyHyzy{}}-OHw!$Qe}vO TbThёU:Q Za bbfVq OczcWS!g`isn"7u#$% }&'rVZ()*+,CN-gQHYg.sYt^dy_l`b{c[[R/tY)_`012Yt345678љ9:;<=>?@ABCoDE`FGfHI?\JKLMNOPQZ%{g}RSTUVWXY<\l?SnY69NNFOUWXV_eejkMnwz|}ˆ2[dozsuTVUMWadfm[nmoouCANJZlSuT{]UXXXb^bdhvu|NWnW'Y \\6^_4bds۞[_`PR0RW5XWX\`\\]^_`ccdChhjm!nnoqvywy;zHSMvܗkpXrrhscwy{~X`feeflqqZmNzNQQR TaqgPhhm|ouwzc\Qe\gguzsZF-o\Ao _]Yjq{vI{'0Ua[iv?\mpsa}=]j^NuSkk>pr-LRP]d,ekoC|~ͅdb؁^gjmrtotސO ]_ QceuNPiQQhj|||oҊϑO7QRBT^na>bejo*y܅#bjΞRfwkp+ybBab#e#oIqt}o&#JQRR mpˆ^eko>|usN6OV_\]`s-{F4HaOoyR`ddj^oprv\2ouxy}Ƀ֊X_'g'pt`|~!Q(pbrxŒڌNP[^eqBvwJ|'XAZb\jmo;v/}7~8KRegiAmnp t`tYu$vkx,^mQ.bxO+P]m}*_DahaRQQ^iz}uO)RSTUe\`Nghlmrrttbul|yψ̑БɛT~oqtWgm3t,xz {|idjtuxxT[U^ oNMS)Z]N_ba=ciffn+ocpw,;E;Ub+gl jzNY__g}T+WYZ['fghkdqu㌁EL@_[lsvv QMQQRhlw w}}bnQ T}Tff'invw„iOQRY=^Uaxdydfg!jkk_rarAt8ww((glgrvfwFzkl"Y&goSXY^c4fsg:n+szׂ(R]aa bbdeYifkk!qs]uF~j'aX؞PR;TOUevl } }^RlirsTZ>\K]L__*ghcieee fginx!}+*2 POcW_bcogCnqv̀ڀ)Mj/OpO^g"h}v~vDa^ jiqqjudA~CܘOO{pQ^h>lNllr{l:tPRXdjtVvx9e^S_%RwINPuQ[\w^f:fghpuuyz' O!X1X[nfekmzn}os+u܈\OPS\S[_ gyy/9;,gvNOIY\\\gchpq+t+~"Ғ NNOPVRoR&TTW+YfZZ[u[[^fvbweenmn6r&{?|6PQ@tܑDٙSR)TtVXTYnY_anbf~lqv||}g[O__b)] gh|xC~lNPS*SQSYbZ^`aIbybegikkkklh5tuxxyy|}>船l^ۘ;V*[l_ejk\mop]rsӌ;a7lXMNNNN:Oy@y`yy{}r} фdž߈P^܌fߙJRigjP*Rq\ceUls#uu{x0wNdk^q NkIghnkco NPPQFUUV@[\\8^^^^`QhajXn=r@rrvey{saތ^XtUlaz"}rrru%um{XX]^^_U`bcMefffhhr^tn{n}}r͞ YmY-^`fsfgPlm_owxƄˑ+NPHQU [[Gb~ee2n}qtDtttlvy}U~z9ux%MhSQ\Til)m+n ;-gaRfk~ ]emqnWY['``bf_f)ssvwl{VreNRrkmz9{0}oS/VQX[\\]@bcd-fhlmnppq&uuuv{{+| }9},m4 a7Ol\_gm|~k[] d\ᘇs[`~gm 7RpQpxpבOSUVWXZ[\\%^a bKbcd6exe9jk4lm1oqrxstt&vawyWzz|}}a~)1ڄꅖ8Bl֖ӚS~XYp[[mZoq!tt]__B`ehoiSjk5mmsvwM{}#@cbĊ bSe]']i]_thob6rNXNPRGSbfi~^OS6VYZ8\N\M\^_C`e/fBfggsw:ÿ́fiUzW[_o`b ik\nq{UXߘ8OOO{T Z[T3TUbXXgYZ[`aVeedfhZlopqRs}{2K\lDss:netviz~ @QXdtupv͖T&ntzzنxIZ[[hicmst,tx}UL.f_egjls-PZjkwYl]]%sOuPQ/X-YYY[]bdddfHjqdtzzG~^~p YR~a2ktm~%OPQRWX[^Baimgnnqbt(u,us8Ʉ ޓNQOvP*QSSS[[$\aae[rs@tvPyyy}Յ^GꑅRg_e1f/h\q6z NRjkoqSK1NqĖCQSTWWWZZ[(`?acl9mrnn0r?sWtтE`bXg^MOIPPqS WYZ \paf-n2rKt}Àf?_[U˗OsNOQjQ/UUz[[|^}^^``a ac8e gggaibil'm8no6s7s\t1uRv}8Ոۊ0BJ>zIɑn XkAQkY9\dosbph}Wi`GakYNTm-pclQaOPQ[aadikuwdcpNN O7YY]_[_!`>rspuuy 3Q 7pvNNRpSTVY[__nnj}5mwNZO~OXen8NXYYA`zOÌeQDSNiRU[N:RTYYP[W[\[c`Hanpnqstux+}(Ʌnj̖\ORVe(f|pp5r}Lrq[hkzov\f[o{*|6ܖNN S4XXXlY\3^^5_cfVgjj k?oFrPstz|x߁灊l#υ݈wQT(W[MbPg=hh=nn}p!~ KN-r{͊GONO2QTY^bugnijlnr*su{5}W[Ζ_R TZ[XduenrvMz{M|>~{+ʌd_iѓCOzOPhQxQMRjRaX|X`Y\U\^`0bhkloNq t0u8uQurvL{{{{~n>I?"+ZkR*bbYmdvz{v}`S\^8op|ޞczdvNNN\PuPHTY[@^^^_`:c?eteevfxfghijck@lmmn^nppss:u[wxy z}z|}Gꊞ-Jؑf̒ V\6RR|U$X^_`chomy,{́Dd=LJOFQQR2V_k_cdeAfffghhionogqq*rt:wVyZyy zz||D}p~T m;Ֆe|ÓX[ \RSbs'P[_`kahm.t.zB}}1~k*5~POPW]^+cj;NOOOZPYĀjThTUOY[]^]f1gg*hl2mJnopsuL|},}}ۆ;p31NRDЙz|OQQW[\Yf=jZmno qouz"!u˖-NNF͑}SjkiAlzXafbpuuR~IKNST0W@W_ccod/eezfggbk`ll,ow%xIyWy}󁝂rvz7zT~wUUuX/c"dIfKfmhik%mnshtt[uuvwwy ~~/:ь뎰2csOSYZ^Nhtuyz̍폟egWWo}/Ɩ_aoNOPSUo]]!kdkx{IʎnIc>d@wz/jdoqttz|~|~ }L9R[d-g.}PSyXXaYaaez P!PuR1UUXY`Sbb6gUi5@ݙ,PSSDU|WXbdkfgoo"t8t8QTVfWH_aNkXpp}jY+cw=TX-di[^oniLQS*Y `Kakpll{΀ԂƍdodeNQTW_avhuR{q}Xi*9xPWYYb*]ayr֕aWFZ]bddwgl>m,r6t4xwۍ$RBWgHrt*kQSLciOU`WelmLrrzm_opaOOPAbGr{}MjWs^g U T[c^^ _e=[HOS SSTTW^`bbUclfmu2xހ/ނa E^ffprO}Rj_SaSgjothyhyǘĘCTzSiJ|_buvB9S<__lsbuuF{ON< NUOSY^0flUtwfPXx[P[h``eWl"oopUPӗrRDQ+TTcUUjm}fwyTTv䆤ԕ\N OYZ]R`bmgAhl/n8* NUPTWZYi[[awiwm#pr犂홸R8hPx^OgGLNTVs WSVX[1aj{sҎGkWUYrkiO\&_a[flpsss)wMwC}b}#~7R IoQ[tz@ZOTS>Y\>cymrϒ0NDQRWb_lnpPppqsitJanQW_`gafYJNNN|TXX}Y\'_6bHb fgfkimmVnnooo]pr%tZttv\y|~ဦkN_twje`bwZZfm>n?tB_`{T_^ll*mp}y ;ST[:jkpuuyyqAt d+exxkz8NUPY[{^`cakefShneqt}i%;mn>sAʕQL^_M``0aLaCfDfil_nnboLqtv{'|RWQÞ/SV^_b``affgjmoppjsj~4ԆČRrs[kjTV][Heefhmm;ruMOPST!w)x)%"R"$!,"v),(y(v(z(/"!("(?!*(-(,)!)#)@!*)-)")$($)%)&(&)')((())())0)/(/)+(+).(.)'"0"("+"*"-")"A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%',!,",#,$,%,&,(,),*,+,,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,A,Q,R,S,T,U,V,X,Y,Z,[,\,],^,_,`,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,W,*!.!/!0!1!S"T"%!&!6"G!H!X!y)z){)|)})~)f"I!5"$'`"e"b"Y'J!w(x({(|(}(~(0%1%2%3%4%5%6%7%8%9%!%"%#%$%%%&%'%(%)%*%g!h!f!i!j!U"X"V"Y"W"!"""#"S!$"T!t!u!3"2"n!p!D!P!+!|!}!{!z!r!s!1"E!q!-!o!V!A!U!B!C!l!m!x!y!v!w!A"Q!R!g(h(i(j(k(l(m(n(o(p(q(r(s(t(u(g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[)\)])^)_)`)a)b)c)d)e)f)M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(`(a(b(c(d(e(f(!&,&"&-&#&H&G&.&$&B&A&/&&&F&E&1&%&D&C&0&'&<&I&J&7&K&L&2&)&>&M&N&9&O&P&4&(&Q&R&8&=&S&T&3&*&U&V&:&?&W&X&5&+&Y&Z&;&[&\&@&]&^&_&`&a&b&c&d&6&F"a!`!C"G"H"K"J"I"L"c!b!:"9"e!d!8"7"_!^!B"[!]!\!D"E"Z!Y!O"N"P"Q"O!N!<"="@";">"?"M"["\"]"Z"!!"!#!(!4!5!6!7!8!9!:!;!*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+[+\+]+^+_+`+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)_"1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(@(A(B(C(D(E(F(G(H(I(J(K(L(^"I'J'K'L'M':';'\']'^'6'7'8'T'U'V'W'X'!'"'#'%'+','-'.'/'0'1'2'3'4'''(')'*'='>'e'f'g'h'a'b'c'?'@'A'B'C'D'E'F'G'H'N'O'P'Q'R'S'Z'['c"l'&'`'o'a"<'m'5'9'j'k'_'d"d'n'i'ilKoRv2X[m2_>_;yt\du&s`]&axN0\*ciqzM/|!S+qQg,RyN}q?^:{9yRN+c`kzNwK%eaJLTajc\-_kK/UuVxe@^#lMi'jvi;{igLofPA^,dLXqy_N$z2f{z=zHLMoUU"SQl'dRl1v{NQP?K$m(mB^bv\mu\9`NT5t[S5V$lfdjqlK@KrljPry%l_PjgkPQ\i[L}W[aZ6V_cC^D^!Jln#S7nOxHj8n,q%qNiNpS$plagOKs)m>JotNv{^;P7Uqn(tx\'KNZf`%mrny\\y\srxytq|p=R$L6zMLzZOv8iuXNLMWQTmikJbY2}-cLV4Y'aSnCP3}dUhOCm2P~N(ZPxV}QxRxS\b]y{A]5c]mDN!Kc]]|/y{R!O(d6t~l.cmgA}bZ3Xd]opqvpzuQOZT\&\?oONY`VYTlKj?J0UiOmqOLxdmdXW'}+j2vpO=ytf[KQsQi)s`PRicZRb"vtadZUg?u"O/M#O0M~q#P/a#x&J;wjrH^SiI^^}@JjyNQTnRT#Y(}YWNw>zVOpWakExz\C]_yoge}#v|Y)}ngeUPo1M"w2q1q2M+Z'Jbc<{$Y:nSxz{$O{\cv*m!raN&z`yVlnd!yo{ky#n,j(JztVMv|ItTx&xJ^FrZWPSEXfj]sZddvrvB_}YvL:S/day&pSK<`JtzT*}by7tB}0|l}bJ=}gjC_RQbN$S+}`_GrpgnP*sK^8vua3q#w)J%OD_0a?p$v6cFzoPm}D]w|?f-^?zqeDm%Rn}6uvaL^^|Wl]M7V3MUxXejOPOLj.j-jqS%SOw$n$P"rpP#rxw3P)[;SlJ&qUKgw^M$w@x]SPL&Osvwa\S~z'zYk'O/jod9iXqXXr`4f|\qsPc{rF[qPrP\OQS1LXw(Kd\tB\'p@fmJkhheC\^mrSwLTN+gCK1a2wsSRS@u]_snqg4}HrRstnSbQLj_:iWYMurqGzxYBTevE]rg_mKJz[5h&S5}Iybd={$WENUNfV=eM^sl`mll>{k_xa>ysP*`bhTb}R(eSY^S8te-mjznM&m.mmp!]/mx|kXyL5M)z]aUbOm"]JyhjmekSTizaLddaGh[NU\5ws|sp/N5qRoHhqkTK>`xcij2|t``O%n*zCf2a+Jdc;iVbrsVn2jvPYlKZ(O#][XNyUiQcZMd9V@o|a9vG_1dg\h\VzvSZqrz}bOUxP_MKupd+KDW~bZ].ZnJ9U!cch+s)OwSqTdNrhue.g:Vl_@ddh5X\d9t6q^b5aoM'qeN]KcY,syP+lS^iwuy^anKcH|pMvyp_?e?Na|0mQ};vOyZkAJ8RqMScf}mfzc*pPyb|'xeaynvgmj4|Bu\Wuph]mS|u?Z{LzS$tWoCTc{m{-`nj3{Bdgv]RL_I|)ev`3v~apKojpj@Z4xrkCdWiqdoJWNJ|asDKecEK4j=iIW[k1mCL>wK|tx7YSsTsdwQw7X1NBJ4{FKvpgUPjTL/K*t/iCuXii]sq{U;^{ts}r}&wI]ST(LAZULdYJzce},J;}G}2gQjt_lQ^dCe&YS{|rdu_xhmxGNv}XhXMVgZLcJv_GpFp:XtqptLue|Ejsj[]W\}^yrGUPXHp!Q"QTYhVJY1ZGXb\Nstu9qSZjvuO.}RJ4_]W:z'n=uuxhmaT#QVaxyJ[yKTT\Y>nmwnRfaywm][h3[wQ0`bTWvyW]X}M+r=MBx,r-J.J.OBc7\Z[;YsJSvxfujvjyv/OSJ/J0R:q3WCc}sZ^[^^ocb{nw_JWhN[[;qqi7zFP+L(nzKyy}L~SPdnrUTM_8|PQMrRwTJYU^XYM)nP\]VTVSPm!M5_x_!T2NJhukUcPu!u'Y+eKfquEe#y[`kvqKjY"uQWxQxjyj3Z_ooqve?ndb?P,zQu3g>iNr4[N|n]4g4W4w>MiZ0OYwfsYN*NHK'PKpGPEd`[ZU'W@nvxRuimko]p]q]r]>YF{3O}n+dEZlX(Q)b<^5gp[bopq4Oq[1`%_Ry}g#fq{0K.rgM\hWg@wcP!Z=L)QL]~c*Q*h6jzyLfXvGTKYRYKSwX)Zxu^^/r)xHXAnAys]zj=v;a?MTtMfO|"{\`;tUZ2yr{v[_^r[\xnwhkzRv2`~|+QzWH{Wb#Txp(Wga?SdoEWbkg|"dhbPfh{htteh^`4vRj{yB`dJ7g}j]Y4Z*ni{K[5Z>q,SI{O_@SWcfoP|@iSu\l7w8jyQH\9j^q6W5O(Ynl*]"M.h=aQrAi|R5[gs~XQ|2m/t#{A|+n%TrtYnJ{cM;X[ewxTv)WIKQfLp.XSy~UL|rkZXbVmQV3`R|HkASMpwORmXTI\qW;_%sMt?q1xziK{UJTyJwHVh|=s~n~gBS6S-Lzv2VXRXg%c9g-pL{!k&TM{=U_q{v4^kUHe${9Ta^#d7Wnx5^RVUy:gUkwUgo>a.ziVnV;gKl3U4N%{na(wN{=X}{i|6OGm,n]L'vzf$u\}3mINho?a[zcK)w&{9\@qHmCo-VN}!ht{'UvqSf^L2xk\6}je`qL[M]HTmY%u{fTfH}!V?}S|!os,b7up`8}hc'T|hRzoxSV4UPppw3n:jSjIm+],e!}P_3lQ_mm8xzw+x`t:T3dZi6^?Y@YoVLY*Ze_ew2Ly_`W;Tz}3Ls[R_JNZnddO{7OCnjN-baWuzIU,xYgismXDcqpehz`Dn^Y"k#kB|;j+hb^om#hqOgr|4V.b7SLz\z5mca,h]hio=t8O[i,QGZIkLh7^X-\kb|VyJZTWt!L:O8uCYhPEcxk1r;O-SahlN4`c^w]2rvs[v~W_xrw)PZf&uT3bg^<\6RUu!N)uy]z]Up_vZrkdqr9l|}*aYJoo*uyl-xBrCvRW"yVpzp`vsiCr+T3J&MCMZMOYDv]nDg4bb_[g1h.|MekztMT8s!irrksWpWO_O@hAhcO"i*PAs+PdTUCq_nkVYtfW7Z{]O]#XYZXpDoXaTqrm[U\UDsWK6bqoU{XSP]Yp3K]U'M,P:QDq3eu{ai`}<|"Z#Z!RoRmbi^\N5rdPQ]Ha7[c_9mEqOs+W,akcGnIazJ{pazZpgLtZ?LmN)UbzePVk_l|_Vwj^4K>o5L=Oro7bhL|p`VFq8b+k5KQXNtwsFW;Q*wJmSWzXEvLQ|]}_eyJ`}r0SstIZ^f:xPh{XUj#VFv[r|d2hZZ\rV{2i-nczn\ju`f}p,WEu`ne[^]pY#iyqDrK`$i9b1ck|(M6L[p:f)MCsYa+oEgi`Es@T?U.]|y@L"e8NRXVy*qQNGvk[~_aXswgW~TV:bXOL`yk}}hWXKbi:hGcMlNl?V'cV_h}an(v}];xQhWynNOl%iUVEM:m=Q>O;l1RiLDY|i>Ql4eHMHnHgIM7yhqrYu[5JFYIX+Ybo\%Vqb~V!Y@X[\=m8_%j-WysxmGuJack^rLxYjFSf[/upN~i6{rbrO9wsYKa]Z9Z{k9Kym``@t<}1_oc#`9}1pKM>m@UpczmdimU]gvT7eg[?bKntW]p+N^gVVLa3hne"\P`5U!U[{KysK%tHzWVei\{P}v{%Z=[blwM^pIvo^1Sn|ChHqqNmytr6d9up\qc%h;r$^LZiJZcY|ZjDy$c]{JoDhLUWk-Y+{YS"U^vvZQ`(iyu/z|kj`2cEUcqnULMYmAXlzkqj1Y7JgSex2S@b_reM,yMM.n.VjW`g.kYOM\{mp^kW%^W_P[Q[#U2p\\hJfxN\\jR[3i[w(c.Wa`:KQe\PAUJX)c$`)iGS]\.x8L.PrXJc/L-TQvLPFJBU:NGJ0zX_:uketo5]*Mrcw{Pw:}a}~v@QEh8dhaALmR>[b`IzMa8J`rIqq^_pDxLnr^IgsbagKcLcxO,o~}%|1zY_R`ZtJq#Nr!vKk|qGsk`|m[aenu^SzKq/P9]CQ1uFjap,vYukp:]?rEw"[vr:JuweKfnS`%NXV/TIiNSBtfK!q2k"q3k4ptK0T2s7{lugn2tmusObpNnLq8euWsceOFO3sXdyOZOMzcfbrnu;J\crNYV0netBXP\nL`UJvJ}VXOt&V>\T[GW~rMqCb^\_\-o+f]y?j.oPtsN,f^NyUtcPM8U}w)\v^*\cr4i\RfivcJgNPwZuw^{JFwHOPaPntitNMU[O;],Nhi4TGd[uAz)^xTwo3S7kxo\uLmU[OqPq2u.Y,UFb#}e{+_ub-v3u5p%a]u"l}m4u8{#[JVYKTezs8k7`lWlq/eaUmWQQrayo<]\vepDtii{soT"L~w<_Mk7PBV-h/o%KiKhzFLgfGj$[IO|bzo^kHu^TU`0oGb/YgyegJOQaHb{oyzr\'`hxjK]0WhX=KZyNxpym`3c3tBjfr6pV[dkgrUW6ThyAWUejiLWiSIb[|-M0L"jvd@P7p!nvWJbKbOz_kKV4tMmRd)j:d"sRMKvfqAmWb{SM5oiz&y=_Gw}x|x+^h[]cbaFQPvfkyZGlx^ix^cuNCzWeHlIs;d.f6o?\=NCXOPzOJsW`GQ.i=hDzObEz8y`\0{)X_e'ynvLvxbql`ZRqLRKO=J?]ovy^4z-Ugq>^@\HQIQ>xvKyTbuSaiX~xLO$}vNPzsL>f.vpUJQ>|qUiM5zPbwtTM#g%[Qb"Wcw&j!PZNk{&[^[eX`j*X`e[VFojxUdwNX`oWmtfMtLcuJda\Hy?|'hDX>K.\wWhp@]MOs\0Yif0?0@0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~0!1"1#1$1%1&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~1!2"2#2$2%2&2'2(2)2*2+2,2-2.2/202122232425262728292:2;2<2=2>2?2@2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2[2\2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~2!3"3#3$3%3&3'3(3)3*3+3,3-3.3/303132333435363738393:3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~3!4"4#4$4%4&4'4(4)4*4+4,4-4.4/404142434445464748494:4;4<4=4>4?4@4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4\4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}4~4!5"5#5$5%5&5'5(5)5*5+5,5-5.5/505152535455565758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5\5]5^5_5`5a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5{5|5}5~5!6"6#6$6%6&6'6(6)6*6+6,6-6.6/606162636465666768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}6~6!7"7#7$7%7&7'7(7)7*7+7,7-7.7/707172737475767778797:7;7<7=7>7?7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7{7|7}7~7!8"8#8$8%8&8'8(8)8*8+8,8-8.8/808182838485868788898:8;8<8=8>8?8@8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8\8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~8!9"9#9$9%9&9'9(9)9*9+9,9-9.9/909192939495969798999:9;9<9=9>9?9@9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9\9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}9~9!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:2:3:4:5:6:7:8:9:::;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:}:~:!;";#;$;%;&;';(;);*;+;,;-;.;/;0;1;2;3;4;5;6;7;8;9;:;;;<;=;>;?;@;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;[;\;];^;_;`;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;{;|;};~;!<"<#<$<%<&<'<(<)<*<+<,<-<.=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~=!>">#>$>%>&>'>(>)>*>+>,>->.>/>0>1>2>3>4>5>6>7>8>9>:>;><>=>>>?>@>A>B>C>D>E>F>G>H>I>J>K>L>M>N>O>P>Q>R>S>T>U>V>W>X>Y>Z>[>\>]>^>_>`>a>b>c>d>e>f>g>h>i>j>k>l>m>n>o>p>q>r>s>t>u>v>w>x>y>z>{>|>}>~>!?"?#?$?%?&?'?(?)?*?+?,?-?.?/?0?1?2?3?4?5?6?7?8?9?:?;????@?A?B?C?D?E?F?G?H?I?J?K?L?M?N?O?P?Q?R?S?T?U?V?W?X?Y?Z?[?\?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}?~?!@"@#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@[@\@]@^@_@`@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@{@|@}@~@!A"A#A$A%A&A'A(A)A*A+A,A-A.A/A0A1A2A3A4A5A6A7A8A9A:A;AA?A@AAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~A!B"B#B$B%B&B'B(B)B*B+B,B-B.B/B0B1B2B3B4B5B6B7B8B9B:B;BB?B@BABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB[B\B]B^B_B`BaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzB{B|B}B~B!C"C#C$C%C&C'C(C)C*C+C,C-C.C/C0C1C2C3C4C5C6C7C8C9C:C;CC?C@CACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC[C\C]C^C_C`CaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzC{C|C}C~C!D"D#D$D%D&D'D(D)D*D+D,D-D.D/D0D1D2D3D4D5D6D7D8D9D:D;DD?D@DADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD[D\D]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzD{D|D}D~D!E"E#E$E%E&E'E(E)E*E+E,E-E.E/E0E1E2E3E4E5E6E7E8E9E:E;EE?E@EAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE[E\E]E^E_E`EaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzE{E|E}E~E!F"F#F$F%F&F'F(F)F*F+F,F-F.F/F0F1F2F3F4F5F6F7F8F9F:F;FF?F@FAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF[F\F]F^F_F`FaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzF{F|F}F~F!G"G#G$G%G&G'G(G)G*G+G,G-G.G/G0G1G2G3G4G5G6G7G8G9G:G;GG?G@GAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG[G\G]G^G_G`GaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzG{G|G}G~G!H"H#H$H%H&H'H(H)H*H+H,H-H.H/H0H1H2H3H4H5H6H7H8H9H:H;HH?H@HAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH[H\H]H^H_H`HaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzH{H|H}H~HPKVKgKOMhM-N{O"P8PPP]PTQUQXQ[Q\Q]Q^Q_Q`QbQcQdQeQfQhQiQjQkQmQoQpQrQvQzQ|Q}Q~Q"R#R'R(R)R*R+R-R2R>RBRCRDRFRGRHRIRJRKRMRNRORPRQRRRSRTRURVRWRYRZR^R_RaRbRdReRfRgRhRiRjRkRpRqRrRsRtRuRwRxRfT|T%U+U.U8VMVKWdWE[d[%\%]U]t]|^~^3_a_h_q`-amauc!d)d.e1e2e9e;e#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#,!]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#&"K!L!~!~#M!\#e@@A !#(. 022222222222222222222223/999999999999HQ`iiiijz& 3c HFxd_003   ".15E?KK[eem}0`P7t&;&6:IYiy     (((((((((((((((((5EUeqI9&x/rC  ,@(@DY7Ivy@,8P5#IZB)` F* D*%F-=78= @ ApE! HK0M@R VbD[ ^aSfhjn{{}A$! P:pC'E 0F<P($#@"d(   'TA")*.a 23/9=>HMV[A _[ehik*8qAPuvz!}"a@"@PH@7^`@T @ P$L)L!dRD!  Ie @ 3E" R&()-C0L4@8*?C.GHpNnU@X^d|l!ptx {J~H 6@U !@BD B @  #|Py` B!ai("+513359E@ABEQ(J`MRTTVWZZ\ ]`5d eD`iIq`xL|B* (H {(AI  "U >CG"(0   D0 %"% 4E F AL N $U X {H` ` d h 3l Ar v w @y "| k 0* A  !`    F    @  8    '   b    @  D  d P  ~  X @A " ( b. 5 7 7 9 ; < A@ @D K %O EdU ] }f Hh p v z .ɂ  J  dk   HV s * $ G M  { Tu $ @  A $ B 4Z   F 2  ! " * `. t3 a8 ; @ BD I L S @U b[ "d h @j k !o q 1u Dx |   "  F B A V AR R    F C 5 ` A  4 el    "  @   3  @8   0   %  J! Ё& ") , 3 @b7 y&? bC I K gV y^ c k 5s @t y }  % @  M@  " h  : d a   .s 4    W  P D  y @ @L D@Q @!#' )*J.12@4 07 <<?,FGHIMO Q RUVp[]`c"Lhil n@p@qtDv{|!!D &!)@¸Ab Q, )@JA0@WP  $ @  $'0**-.05@8B=>@ACHE-OV])b|g@iFEoNuwy0}6 @e   Ȥ`4@.H@1L UD#"T4 k HH@E @(&!P%L(2+!/5 8<B>H@3D`GMQ4T W(]E ac%i\o5uz~PFAh`ȯ`>rF@A "H"t!J  U*PE *&( B,.'3369@>@E 0H0LPTW XY@Z1abcefiiko q@r vyyy@z}@P J  BA0* )@08!  @ ʈH$ Uȩ($R 1HMb/0(A{$*0D4l;EA@F.NRTX[@^ bdMiiiiiiiiiikBp r uwz`|ٹ T]$8%HP D@( @!P$<I(<0b     H$@@, "%o/9@>&QDlK;rT [cl"oLu#y{@|! $ ~*ؠ21  @!Ht)JW-@ PP0@@       8!"$p(***+D.187=A!H`lN0TX[zf`k q wzJR"BP")@Ho  @pEp A :@" q' ) $ @>%'((@)+H--.@/11 2%5 68:;;;;;;;;;>XABC@EFF HKLLLNOPQQUUDWWWWWW [[` a0He`hYnopAstuvLy{ !>({;k0Q20 0y 0   +"##)kt2Q8#>;D0GGGpJOT)WZ!]^0`fk0n0pqt#xx{k00U"0:! ;83+*0  00!k(*-+3t=FJ;PPPPpXJ^b;hjnn0Yt*{~ + !0Y0;8 ;8 0# 0+0 ;0"$$0&+1+60:?A 0EJM NNOR+W[_+defg0imq+v0zf0ӎk: k8+ py   ";2% '''0Y-27;0>B#GGpLPRTTX[]]d+klnn0rsv)0{0Q;89;# 0+y#;0!ٰC ;0 p Q&"+ -036 0;@EKNOS!0W\_)c01hll0nuB{380 3#0000+0wc;00{W +p %0q+ 26;0=@D+I0MQW+0]0af#j0nrv0} 0qG{0S!k0380 0q  +k6&-2;8:;;0=BE FGHH0JO SUVWZ\\`#degghhiijmm0o0sSz{0Q!;0+0+++0;00+ 0!!$$&'((,+135 60:>A0D0HII0MQV;0]be fffk;0rwz{}}+0# 0+pQ#;00+0 0 +     )0#'!+-0167 88;+A0EIM;S VY!+_2dfi(0mqt w0{!0+0+0+"2BRbr          ot&  !"#$%&'()*+,-./0123     AADAFGAAAJKLMNOPAAATAAAAAAAAAAaAaAaAa   `$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$`!a!b!c!d!e!f!g!h!i!I33"3M33'3363Q3W3 3&3#3+3J3;33333333{300!3!!22222122292~3}3|3R"a"+"."""" """5")"*"&~H܄Op1fhfE_(NNNOO9OVOOOOOO@P"POPFPpPBPPPPJQdQQQQRRRRRSS$SrSSSSTTTTUYWeWWWWXX YSY[Y]YcYYYV[[/u[[\\\\']S]B]m]]]]!_4_g___]````` a`a7a0aabbc`dddNeff;f f.ff$fefWfYfsffffffg)fggRhghDhhhiii0jkjFjsj~jjjk?l\llollmmommmmmmm9n\n'n>>>>>>??@@@@@@@@BCCCCCDEEEEEEEEEEEEEEE FFGGGGGGGGGGGGGGGGHHIIIIJJJK@LLMM@NNNNNNOOPPPPPPPPPPPPPPPPPPPPPPPPRRSSSSSS@TTTTTTTTTTTTTTTTTTTTTUUUUUUUVVVVVVV@WWWW XYYYYYYYYYYYD\0```@bccf@hjkmnnoootvyz`|"~~@@  " @@$&?XXVX>0////////////..s4G4..566..n9999s:9N;n<<..V@_A.7C...CC.CDaFLF#G)G|GG.GIzI}IIIIIIIIILLLLwLLMMMMMMMMPTWX]^knqstuyVU\[becxwz}|#$%&,-12PQXY^__`cdfgghhilm}~1223344556677889TU  !-.$%2334  }~+ , / 0 E F G H !!"!$!%!/!0!H!I!!!""""U#V#Y#Z#f#g#i#j#s#t#################$$$$@,A,B,C,E,F,G,H,Q,R,`,a,b,c,e,f,i,j,k,l,n,o,|,},----------------------....E/F//000;0<0=0>0_0`0h0i0j0k0l0m0001 1223222225555^6_6l6m6677788i9j9<<==??1@2@5@6@`@a@XAYABBBBCCCCCC D DEEEEEEEEEEFFFF(F)FHHII}I~IJJbJcJԓՓ !;<ØĘĘŘȘɘɘʘʘ˘˘̘`a*,CEGILNjlPR`bPPR        $ ' / 1 1 4 4 6 : < !!!!! !!! !"!_!l!o!z!!!!!" """"""""""!"""$"$"&"&","-"/"3"8"<">"G"I"K"M"Q"S"_"b"c"h"m"p"""""""""##_$j$s$$$L%O%t%%%%%%%%%%%%%%%%%%%&&& &?&A&A&C&........................///00000 0*0=0?0@000000001*12*202222233333333333333F4H4r4t455 666699m9o99999r:t:M;O;m?@ABCEFGHIJLMNZ^qs|}*-R\]^`cdefhijklmnoprstuvwxyz{|}~CUWeXeYeZe[e\e`eaecedegeieleneeeeeeef0 00' 0& % PQRTUVW\ 1 3t%4O 56[]78009:00;< 0 0=>0 0?@ 0 0AB00CDYZ[\]^    005 2  ; 0%%%%%&&%%%%%%2!?IJMNKL_`a "f"g"`""R"a"bcdef^)"*"" """33+"."5"4"@&B&""!!!!!!!!%"#"<"h0 ! !ijk333333333YQ[Q^Q]QaQcQUt|%%%%%%%%%%%%%%%<%4%,%$%%%%%% %%%%m%n%p%o%P%^%j%a%%%%%q%r%s%`!a!b!c!d!e!f!g!h!i!!0"0#0$0%0&0'0(0)0ASDSES!"#$%&'()*+,-./0123456789:ABCDEFGHIJKLMNOPQRSTUVxψXR`|ZT%f%W%`%l%c%Z%i%]%R%d%U%^%j%a%X%g%[%S%e%V%_%k%b%Y%h%\%Q%P%m%n%p%o%%&'&' !!""""""""""""################$$$$$$&%%%%%%%%%&&&&&&&&&&&'''''''''''''((((((((((((C~D~E~F~G~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~A @IHSRe~g~Ja`Qihmlsrzy|~~ja~~i~6]@mbQ6 h!#4#\##a$h$$%%%(*****&-^-_-Z.F01I799%:?? "%P'()jf&DTy'lvk3BRlR-rǴRW %}vbz{+֊o( GՐPd,]^56\)T bcefY*($j2M(-lgoglMl='I(*z{h} { -11 46:===AC-DPJyNPQR%Y[\^Ee8f?ffh5iii#jj>K>>>A?od?q????@;@b@Z@oh@i@@@A>A7CY. AAAAA BeAs~)ξB b;4-KaYKK;L0LBLCLQC%sJZL]LjLor&ALLL0s"MLUPMUM-VzMMMNEs&N=88INGNfNMsNuNON F O+OB3OdOuOeObsOP,eOPPPJšjQ#Q!(:zQƽQQQssQQQs ljsh8'RއRRp*6?>Ɣs6sS<նSsʠs!}bVT p3*T:[VPTTt sSbTTKcͻs?T'Ue,USU>c"c۪tc+dޫB,ޥc߿3de_Efffd`fvA9tX|._=;gVgcgΚ3vguJ}g%!̴ƯՔʥgWgtA-gth -hd"Ih_hqh~hhhhlhE⽁hthh i&i 50Fiwiii?'͓p'iii8diijjjjke kkkNkk!k(ʃ }ll~,#Nl lll(n7ua_mm$uNnH:n(uym.u/unnnntnn$o   ~ BoHodbWoyo_(J(oxjhUoo\LoCB8EߺK>ݶ)ddެcAdd,yCkHKPBmuBpu#B~٧GE/ zu 4}uK )eu6V樽Uu%1t.]ι9 g,*u9uKu!̋&^(1R(udu\d " | !J!(, Y JT 3ᵃ\uX ""b! uJ!!,"A"!!""?էu2?DIh##]҅хz^\N$d$3$ CL u;^FEEEM%DCt'&Ɖ(cg&d)M)?)*Y,޺/В+x+Oc>,,+v!v >E+A,Sd FBd}d` -^.00V2`k18/>Tv3π3[Y3X352[ǡ`v16j "Ц4jvv645#'d4a5+72;mɵk&}v8Iv ļϼ%nJ$vBN8$+87pԗv#872 vY~PFVO9jv:9~<# G;<<<Ҕ6X: <:<=ڪ`dcߋIcv'ee?@v??+?*>IBڰ6qBCDDe9#EvvWÆ1g2sLFEGdEGYFG Eε Mw3b(d$"a'HHHH׳ wEF?Hֶ.cI JJRJPEJ%wV%K;KtKbqK ̵ك.W+'0j =wbL,5Aw+pJ+~LyMMMN9RwNM.Nr<\OOSOP]wOawV9)hw]QLiCŒL¦jW#k;uw 7jzwV}wjRFRRRȃiSSUgPW[F,w,a,WhXwmY"+Y!YY&ZZZýZԦw\߹-#VuO }[\[ 1bw7BDBm]]Z+CI+ *__ɷ0`J`t>;A@ @lu oa1'{bd wdweVk[YfgfWfVftEB?wwgOgwLwEE|h:ww(dIx~zc,\yEۯ[h1hi x/hZcxb@ߧ$ߜiހbUi j!x}[jjjk%(xOcxFdBBxxd(xx&DK~Oxd xp+CDa, [p c9,A"4dMtJ "\B{x?k?Ao>V-?@5F| Z+.cA`yy)) Ґ~B"y#y:';%y%tC+y;̾U_N&4y̞ϗ@нTmUЛI+B,s!,1,Ŕ + CPdZ8e.,+Py;Bp!(͂.};&BB%>gyO+.s1nyoy$OUE&syT>)wyezy{yA}y0/ESNނy!gQMDDոDD6DD)lauCyaEvSJHQb>(EEEbptzSFFFF GHG\G@GWG\GܹC'Z)*H!9I.>IKI*I9BI(IIIIUyJ9JKK`K`L2VaVxVVVVVV WWWW/XgXY?ZdZZZi[x[[[Q]]]^*^m :_')q_'______````3aj-ibbc+cqcncccccccdDdmdnd$ddde9eebf'ffe`9hrhh($2yiYi*iit#iijj"jjjkL)lAlllll/ )zml>o(mmn'%l =%e |Z*nS &j)| eDlIl>)|U|`4N, a$: i|G,6I6g*?<(Kl4/G|n! 2ڣ(g)|#nmmMk),.6}}$W}"" }#}N/gnLaLk.#M(44kOMkMMNl|Mkl~o3'-!n! $$')"w+/hm\`)&thjzh$2:%lBm{g@;f"F-j3$bAgbbO}?5#͊<'NbFE4UY .;:)#/ =m} \&&Z$^=[Gfo>YCGI ^bDDm\DqF]oWz1Y7ͽ[ۛ2Gkm.dOl5Y]Dgpl2DGM j3Dn=3)/3f43 3j%u$59/`}"J$f~IBN}ZNKQQNFrFZS8QFQpFRHZ FXYHSX[]\HxFZVr;^Zy?YѭgF[Bd2\3Q72P޽2#%~mЁ.-ݷn0~,4~on7~ !"#$%&'()456789:;<=pqrstuvwxyE ` B#V#k#$$)%v%*@-/s?01!16G`(}~|{}     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv !"#$%&'()*+,-./012345Q6789:;<=>?@ABCDEFGHIJKLMNO%& (#*+H#-.GB!   #P[TuxjJycZ{*2'N,TfW`lcZi]RdU^jaXg[SeV_kbYh\QPmnpoGc߆pV5oEu# dnTI94sjk!p!)p@ӛd1[@_":",i U-pDž #4*#<%𛎆8pB-X٪r#x#tm###\#s##%#MU:Lp;1###u$$T$y$$MV$MWZp 'Y@@$≋>9UE 2* ]C"-%4%+>%ӑfIS%[`%k%n%'EE%% > )%k %c%w%A&8?-&S˔p'O&d&&pp4 |؜'-%EF'i's8'8Jd8m8 ((qJ(Gh%(((&O)e.> B)q ~̦)p)Ԑ#)*j*!**p*-)8da*f: ?+'RV+*͜+rf1?蓕+k,#, p V,E,apє pC0$6-H7<-Մq- 3 q q-]-P--NE-e( .]E...K/9w../z./|T AT /J<:00qӊf%w h%1/0ڹ00` 09d0T .:0q#1}h.21dPqg1v/Tq*Шbރ1E8]q# GP)J^2s2hqϵjq$F"`,$3U3qqA3#uqG3j-w_3]3 136K5404,5 55q AhL]66;e& 5 7@hcE7-77~u7w7X铠77178de 8'8&38qۈӻEIdj8\a ;'9"9qq9i9?b9f`:q;;3;: :: |@l9!; |:X;a TP";qjS9>EdL@ krClrQ9%aͫV???@'r2γV4χ#U޽/EBLK?Q,KxA A0z@d@@@ErASAJr Nr#]AA'BBLBUBVB_Bh4CC7BBH,B\.%B"dkrBgb:C=BCeC*eCdzrCC}:CCr9@DD㴫mܨDDOE*ErIEEd7 ͵rwEE:fErWE2EdEE9UE Ed;FrO-r^HFHFFY˕-rEdFFFFrGEG4GGGGGGGrHoS !H%H7HLH_UrHHHo6`Hl/IrrtIrr:/JGJSJegJ WJJ1JҸ`Ys\K@Z:KK9ּJ)K?(FK TKt&@@@!@!!!@$@%'../0@00024@4445@5556@6667@7778@8889@999:@:::;@;;;<@<<=@===>@>>>?@???@@@@@A@AAAB@BBBC@CCCD@DDDE@EEEF@FFFG@GGGH@HHHI@IIIJJJK@KKKL@LLLMMN@NNNO@OOOP@PPPQ@QQQR@RRRS@SSST@TTTU@UUUV@VVVW@WWWX@XXXY@YYYZ@ZZZ[@[[[\@\\\]@]]]^@^^^_@___`@```a@aaab@bbbc@cccd@ddde@eeef@fffg@gggh@hhhi@iiij@jjjk@kkkl@lllm@mmn@nnno@ooop@pppq@qqqr@rrrs@ssst@tttu@uuuv@vvvw@wwwx@xxxy@yyyz@zzz{@{{{|@|||}@}}}~@~~~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @  @     @   @  @@@@@@@@@@@@@@   !@!!!@"###@$$%%&@&&&'@''(@((()@))*+@++,@,,,-@--.@./@0001112@2223334@445@5556@6667@777:@;<<@===>>>?@???@@@@@A@AAAB@BBBC@CCCD@DDDE@EF@FFFGGHHI@IIIJ@JJJ@KKLLLMMM@NO@OOOP@QQRRST@T@UUUV@VVVW@WW@XX@YYZZ@[[[\@\\]@]^^^@__`@``a@aaa@bb@ccdde@eefff@ggg@hhiiij@jk@kkkl@lllmmmn@nnno@ooop@pppq@qrrsttuv@vvw@ww@xy@yz@zzz{{|}@}}}@~@@@@@@@@@@@@@@@YW][fa_jhomsqwu{yVgZl\np^txXir`vz|}~kȨ@ABCDEFGHIJKLMNOPQRSTUVWXYZ\]^_`abcdefghijklmnopqrstu[ceȵƶƷƸƹƺƻƼƽƾwxvȡƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴ@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴǵǶǷǸǹǺǻǼǽǾǿwߖՉ͓ߛhډYۉ]܉ڊ܋ۗSnȋpݔӊے۔zF~hhٟןj\^Рf욫HEoޞ閻ޔe֕ڗE}XdVM[ǕYWESxQlk›{`KdighBfݓ̋mnopd`t×ЊtȜxZH}}ŠJъGڞQŞxkIo~y{DLSÍōʍ̍]aR蠥֍ޠҗۍIƗY֖ŗחIrkP̝encڠSy]cipjNJ׉MݞdoØŘfnݗҒa˘]̘i͘ΘbcИјur֘٘ۘݘmMWߕ瞼Ɯ~@ɔӔFєs“HKUNYtUDVY[EC͕ɗPƕgvQsOzd펭npS\zdb͗dLɎT|zȖÙ֐vpKǎǙאߞΙϙɒܗyۏzޙRgޗѕJVIەʼndUԖ|MHI}PG؎ɐUXՐAZ\—`EcknOFגuԓypx͑Joj_͞yΝsќCɞx{֝OΉğԋF{ƋWЉωщ~Njk҉ϟӉgNOxԉҟnoPWf։ޖnl؉Ycs雩ىV㐦rėgihQoqRZ݉RSU}hG~߉TzO}ተ͟砱Ēoӛ䉵՟UŒVܞqǒL}WXa񚷞zȐڒYZYʝmDVyǚGӟʚZ]QԟyXWABNܔڕjFFGHޒSڛ~CR白Н럩ϝȝOTU֊_Қj螿‘b`^Ŋl~TŜ[\[WǘZ⒧ԛdv`šsr̟蒼g}oAJBgi}leNnߙT{o}~rq\t]މ^B{_`͛ӝLRÕtߗwTŕU~BQ\LkxOqe[P@MrsAwxrKuڐgߐTaHygbc}ku]LɋɟDdMhXsux`ab@QeXfTΟuiONejSY@ACaFbkLʋzQTlaWpQˋnafzkkܠhmqdКa[@~rvnttqy|PyxݠuvtwÐyyv͋ZzEuFQ{|֞[|LŏÝJKMƊ[MxEV掤Cǝ΋gۓcՓqؓӓvbѓYRSMrP~܎PYM^}GPh}iOV㜩D@Jj~|JEHGjQٚN𗴓DRFѠʟϒčALWޜBlX^{͔Z[ƍȍǍɍpˍ\e͍΍_𓶟ύcЍbe۟fϋэҍqoӍ矽ПЋrыۊΕvbԍxvƘՍїBs׍؍OٍkΗڍZ܍Dݍ֠՗JM˗ލߍ~ӕhdGE֗DPҕ퍺ܜϕ떶Зҋِcppol^TFcpQCZ~՛Úȗ۠БݏʒWIv̜SIʛܒȂDӋGHUKLxQVaWfՋiILeXuSeYJǞ֒ԑ[^ZŔ\tsFdhNeԒiEȘɘʘmlksn_Ւqzwyu]|DӒq^jϘ٠MΠÉm{ҘٗĠvxӘԘq՘ƺ\DטؘݝژߝY\wܘޘŸĘ͠ǏOԏĕLOPFԔ䖬ۖĔɓVŐ؋hƔiڜrɉABב̔іՔДDϔjILMsGPOIQRLVMʑWG؏X\SVO^jdٜ]PQbRhaY]fndSTpark@{W_sbXurZyx󔯘z\|}ًמBB}U`bacvpnopqrstuѝ׋ڋ韨ŽĎdeNˎߋΎώhikюlԎՎm֎ݎ]qer\ߎftvwyڝ\_cg|}~[aȠ˜莺w‰klJvHRwAIMThJBQFU͜xSocVvƟXHelb̖gu~fnE`ўbLǑ_mq˔ÖϠmr䕿Bw@D™\ęř{ƙ͖ǖph~PӐVșəyIʙ˙z՝z_͙ɠۚƠנǠCa^蟲|ǟj|RЙÏďƏ`љҙœә]ɏ ʏԙX͏ԠΏyЏ֙יʠX֏ؙӏٙ|EޏߏK̠ěLz{ڙˠHۙNܙdHܝݙ֟Ҡ@Ċ󟿝ȕZJ񟧊\ɕHIJћLM˕̕x|}~]ZPTƨCE}`[۞ybUehlؕjnqJܟpcܕq^I[ՏsucԔwM㒻xܖr@JؖKA@[AݑBCYDQvUEEKٖtEڑ_LzޑFylXfGIHJdߑyזCzۑݕHKEM␴NO@CݖQNCR鋯St닲敵TPVW̙Y򕿐ĐǐRېfҐԐ[ċސFQXP]z\|R^vƑtWߟ^jBbiDCA`IJKdfgijRMf{klglmjlđwoURSU]qmsTqVmWƉljjW_][\^\Wer`^adAihtu鞺m`ޟßgvՕʞwxpoqcgzVښ~ޝP􋤟^}H۝sz{–ws}T힪pm⟯AJAÑiȑɑˑȉݟCX[mxhsVZcnpw{@X[cgktFN\gm~@T_tҎӎ׎ڎFM_agsyڏBE\]^iؐݐv|FUY[ae}Βdr~ΓדޓAF_`ȔAELY^at{BCGSZhotvĖƖΖKNlmwʗA]t{||ĚŚƚȚɚ˚̚ΚϚњӚԚ՚֚ךؚܚޚߚ@ABCDEHKOPQRSUVY[]`bcdfghijklmnostuyzǛțɛ˛Λϛқ֛כ؛ۛCDGKLVX^ceginpqstvxz}ÜĜʜΜԜ՜֜לߜ@ABCDEGKNPRSTVXY\^_cefghiklnoquwz͝ԝ@OQ[p|žОӞFGJMPџ쟤@ABCDEFGHIJKLMNOPQRSTUbdAʉ͉@DELPSW]^_`ehilpqrz{Ɋ̊ϊҊԊ؊ي܊ߊHKMNOY‹Ëŋ֋ۋދyz|~ȡȣȤuvHƎrGߔː{ؔ_TږytuIߒ|c`mbkjTsؗBvelnu@v{̉B\ÒЛPƒFÞfSbr̒C̛͚|_şYkd؝֔CDTʊcݚeo~CВfpu䊤v㞱wdgJ׊Xם}yz~D|qNcIΊnZ{|rr_|EnVKǗ˜@jtAǜŎGҔaƓZGfUCڔNDiԕKŝ񑱎˓UlƝ`Xv쑴JIx֑UVQАcQPLy^ˉStG[ՊsYÛNЕ_NƞPs^Yupqwm]AkMÊhm銡lpꊫˊWBPEF{G|ewgʓϓw̓ZQٓړѐp@{_GҖFOI\KӖCٝM՞ɜXȎߓϖiRn||Nt˞ҞSٔXy{ٞԗHK؞^_ΔJpgH~ӗHjؠJKZْݒ؜m|a`ROnmdSxZГbORґk˒kQqLjaDibUw擢}fYXT~}oaוRhIMIΑq򜸓CYהf}o|͒e~XwϑՖF[ёbkNguӑj^揤h쎽[ٛ]VbOؒϐeLmʕstKUivߘΞ{o˝ȓܛǓIÓœy{~p@WDOܓJNQd[ɝluq`RTCҝbЖWwmV@󠾔ÎI̐`K̎I^\َ_ێTԞhàa_MieTl]jmLuݛjNUA\feIBʐ[MKғ@FgZLɖUoo˖V^lSkʖoŠxBZaOsCŖKJҜ\EF`HGq}iA렣ȏL`ǔX֓яՙ׏ҏd܏ُln•jϗAۜbNfsaʎNOcWfbgHkWUsؑF`SӜ@BVeJZIGxϏ`ܑa]ގOޕ@}’{{CƐ}ēHś]__n]UAՑzGf윭ّrző͐Y̗ΐ[`Ϝ𐷕KXϞdPQjN]mZjrȞUr̞twxwuyREݜ@xuGHRt& 7  8 !!!!!!`#W++++++++/1 24444@56FVfvwwwwwwwwwwwwy{{@|}}}}}t&? 5 0T@P@@/x7FVfvp dH @@  " DD(H  BC #X f  %,0  B  @             $#I&J)+-./P355567 88@9:=@>?ABCDEIJ@LMPOQ STW X"[[[[\\\\\\\(^Baccc eeg@Pjlp r uv xz0~ 0@  'D Q@   $BP @  !@  @ @& @!####$$%&&&&'(( ))+++@,,,--.@/@00 1 2355566 77889`;;; = >@@A@C $F PI J L NOPPRRRSUUV WX YYYYYY@ZZ\\]^__`abbbcHg@h mm`opppp@sssHuuv w xxx@z| }}  @L$  0"@@@@ `@D@ < P$     @!"%`(()EO1A3&7=>@AAXE HI(KK&NN PPUWZ8]_aa cAf( jkm o qu@vwx}~A# @/  @  Lľ%H`@@D a    (     IBF#B&)),-.D2 3566R;;@!>PACGHHIKKM NPR TTV@XXX YV]]^`a ddd!gi@j@looq Httv@xy{{ | ~@@H  p   @@@     $ P(  @@DY  P    1 (` @   A"#$ '), . @02 4H7`999:P=@@? @@ABBEEFFIKKMMBO UHXY@\^` a bbde@f@"i(llllq tu@@wHy z} !b8  "&@@   &@ HdP@@0 @@ .   @ H@@ #& *..3:7:a>>"@A B CF8HK!OPQTYQ\@^ add fg`iloHrrsw@xx{} ~ ]Q™!V ҭH !P0   @B0D$*``@X"@ @ P    B(@@ !Q$$2'+.@/0!334B89=@>#A@BB@C\IIKL@NRV XXP[\]_@`` aDc(ff g hijjm r B C %F F G G H LL L M O P BR S T U U V PZ S@_ @` b (f h k m Lp  r `t t Dv 6z { (} ~ ~     @   Q $  @      @   @ @ @   d @ 1@  @ 0 @        B  !  @      0 @     @       P  1         @      @  %  @" " # @' ( ( * A- @/ 0  3 4 4 5 6 7 9 : @= = = > !@ _J M O O P Q R R T U @V Y Y Y Y A[ \ ] ] ] ] ] ] ] ] ] Ra b Ae Pg g h @j k @m n Dp Ar s v x z ~ H  @ ƌ  ( \   ? DK !   @    ( @     @      " @    @ ( @     B      e   A@ $! ! 0$ @& ( * * @, - - - - 0 E5 P7 C; "= @> @ @ D $H I K K K L N P 0R S BU V W Y B\ ^ ^ ` b b c c c D$g g h j l o p $r t u v w x ~  "   ! A     @   B @ ` P       T  2 aA D   A   0   @       " @    "     0  D     D          " $ % & ' ( ) ) * * F. P@1 2 4 6 7 9 < < < @= @> !@ A D E F F G G BI J J J J @K O O O O P $S U DW AZ Z \ ] ] ^ ^ ` ` ` @a b d e @g @i i i !k m m m n o p q r  t v $y y { @| } } $ #     `(   ` " @    ,     # V c = $ t  d h    # )) dL/ 3 T7 ? F $FK N S PW Y b 5j t -J{ @} $ @           0I     P   " < d q ! <   l,@ HF `mt&( t&    @!@@##$$$$$$$$@%%%&&&&&&&&&''())))****++0--B/0122 3344 55999;<<= > @@@ BBEEEEE FFGIJJJJJPLLLLLMMMM@NN OPPRTTTWWXXXXXXXXXXXXX@YYYYYYYZZZZZZZZZZZ[[[[[\\\\\\\\\\@]]]]^^__________````aaaaaabbbbbbbbbbbbbccdd@eefggghhkllnnooopxttttttts{{{}}}~~~~~~C  @`  p<` p @<` @4@ @@(\@>`  @  88 '$%&'''()@****++,,,,,----------------......................$0000000000@1111111234455556666677999 :::::::::;;;;<<<<<<<<<<=====>>>???@@@AAAAACCCDDEEEEEEEEEEEFFFFFFFFFFF"HHHHHHHHH IIJJJJJJJJJ KLMMMMMMMMMOOPPPPP QQR@SSSSSSUVVVVWWW@YYYYYYp\\^^^^^^ _```0bbbbbcccccdeeee ffggghhhhiiijjkkkkkkkkkkkkkkkkkkkkl mmmmmnnnnoooooo@pppppprrr"ttttuvv@wwwwyyyyyyzzzz}}}}}} ~~~@`@ 0 8@0@  @ @@&@? >8            8@    !!###$$%%%&&<**+@-- .//02222`44 6668889@:;;;;;<<<<<===========>>>> ???@@@@AAA@BB CCCCCCDDDDDDDDDDEEEEEEEEEEEEEGJMNQTT VpZbb8fkkmnrrr|@}x@ @ @ `  P8`  @@  @@@B @@@0` @                          @@@@    @!!"$$$$$$$$$$$%%&&&****,,----.../////1444!7888888AAAAAAAAIIIJ LM NNNN<RR@SUVVVVV^^^^^@_____aabccceee@fffff hhhhhkk lllmooqqqq0s ttttttttttuuuuuuuuuuuuu@vvvvvvvvvvvwwwwwwwwwxxxxxxPzzzzzzzzzzzzzzzzzzzzzz|`~`@0@` `@@   0  @t&@ P@ @/Px2$    @` &         !!"$$$0&& '(((((((()****t&++ ,,-.........000000000000@11111t&22222233333444455(77888 9::: ; @============= >>>>>>>>>>>>> ?????????@@@@@AAAAAAAAAAA BBBBCCCCDDEEEEEEFGGGGGGGGHHHHHHHHHHHHHHHHHHHIALLLMMMNNNN PPPPQQQQQRSSSSSSTTUUVVVVVVVVVVVVVWWWWWWWWWWWWW@XXXXXXXXXXXXXXYYYYYZZZZZ[[[ \\\\\\\\\\\\\]]]]&zW0"ofEaö#ZԹGº(gҽ=#@2$—zFĪŖ&ƨ&Ǹ2  !#$%&'(),01234589;<=?@ABCDEFGHJLMNOPQSTUWXY[\]^_`abcdefghijklmpqstwyz{|}  !$%&'()*-1235689:<=>@ABCDEFGIKLMNOPQRUVXY\^`aegjklmnqrtuvxz{|}~ "#%&')*+,-./246789:;=>?ABCEFGHIJKLNPQRSTUVWZ[]^cdefjlopqrsvwyz{  !"#$%'()*+,-.1245689:;<=>ACDEFGHIJLMNPQRTUVWXYZ[\]^_`abcdef  !"#$%&'()*+,-./01234589;?@AEGHIKLMNOPQTXYZ[\]`acdefghijk  #$%&()+,-./0123456789:;<=>?@ABCDEHIKMOPQRSTUXZ^_`adefghiklmnop  !#$%&'(*+,./02345678;<=?@ABCDFGHIJKLMNOPQRSTUVWXYZ[\]^_`cdfg  !"#$%&'(+,-./034678:;<=>?@CDFGHIJKLNOPRSTVWXYZ[\_`abcdefghjklmnop  !"&(*+,./0123456789:;<=>?@ABCDEFGHIJKNOQRSUVWXYZ[^`bcdefgkmnst !%&'()*-.012456789:<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abehijlopqruyz{|  !#$%'()*+,-0145789;<=?@ABCDEFGHIJKLMNOPQRSTUXY[\]_abcdehjlmnostuwxy{  !"#$%&'()*+,-/01345789:;<=@BCDEFGHILMOPQSTUVWXYZ\^`abcdeh  !"#$%&'()*+,./012346789:;<=>?@ABCDEFGHIJKLMNOPRSTVWXZ[\]^_`cdefg  #$&'(,-./03589:<>?@BCDFGHIJKLMNOPQRSTUVWX[\^_`bdefghkmopqrtxz{ "&'()*+-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcgijmpqrs  !"#$%'()+,-/0123456789<=>?@ACDEGHIJKLMNOPQRSTUVWXYZ[\]`acdgiklmprtvxy  !"#$%&'()*+,-.012345689:<=>@ABCDEFIKLMNOPQRTUVWXYZ[\]^_`abc !"#$%&()*+,-./0123456789:<=>?@ABDEFGHIJKLMNOPQRSTUVWYZ[\]^`abdef  !"$%&')*+,-.12458:;<=>ACEFGHIJLMNOPQRSTUVWXYZ[\]^_`abcdefijlmp  !$()*+,01345789:;<=@DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq "&'()*./12356789:;>BCDEFGIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmno  !"#$&'()*+-./012356789:;<=>?@ABCDEFGIJKLMNOPQRSTUVWXYZ[\]^_`  !"#$%&'()*+,-./0123456789:=>@ABDEFGHILMNOQRSTUVWXYZ[\]^_`a  !"#$%&'()*+,./02346789:;?@BCDFGHIJKLOQSTUVWX[\^_`bcdefghkpqrwxz{  !"#$%&')+,-./0123456789:;<=>?@ABCDEFGHIJKLOPRSTVWXYZ[\_cdefgklnop  !"%)*+,-.012456789:;<=>?ACDEFGHIJMNPQRTUVWXYZ]_abcdefhijlmnopqrs  !"$%&'()*,-.012456789:=?ABCDEFHIJLMNPQRSTUVWY[]^_`abefhij  !"#$%&()*+,-.0123456789:;<=>?@ABCDEFGHIJMNPQRTUVWXYZ\]_abcdef  !#$%&'(),.1256789:;<=>?@ABCDEFGHIJKLMNOPQTUWXY[\]^_`adfhijklmpqsy "'()*+./012356789:;<=>?@BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcfgijkmopqr #$%&'(+,./023456789:;?ABCDFGHIJKLMNOPQRSTUVWXYZ[\]^_`cfghjlmnopsuwxyz  !"#$%&'()*+,-./0123456789;<=?@ACDEFGHIJLNPQRSTUWXY[\]_`abcde  "#$&)*+-./12345678:<=>?@ABCEFGHIJKLMNOPQRSTUVWXYZ[\]^_abcefgijklmnopq  !"#$%'()+,-/01234578:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]`acdg  #%'()+,/02346789:;?ABCEFGHIJKLNRSTVWYZ[]^_`abcdefghijklmnopqrswyz{}  !"#$%'()*+,-/0123456789:;<=>?@ACDEFGHILMOPQSTUVWXY\]^_`abcdegh $%&'(+-/0146789:;<>?@ABCDEFGHJKLMNOPRSTUVWXYZ[\]^_`abcdefghij  !#$%'()*+,-/02456789<=?@ACDEFGHILNOPQRSTUVWXYZ[\]^_`abcdefghij  !"%&()*,./01259:;<=ABDEFHIJKLMNQUVWXYZ]^_`abcdefghijlmnopqrstuvwxyz !"#$%&')*./012356789:;<=>?@ABCDEFGHJKLMNORSTUVWXYZ[\]^_bfghij  "#$&'()*+,/013456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_  !"#$%&'()*+,./0123456789:;<=>?@ACDEFGHKLNOPRSTUVWXZ[]_`ab  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUWXY !"#$%&'*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNORSUVWYZ[\]^_bdf  #$&'(*+,-./03789:;ACDEFGHIJMNPQRTUVWXYZ]_abcdefijlmpqr  !"#%&'()*+./12356789:;=>?@BCDEFGJKMNOQRSTUVWZ\^_`abcfghijkmnopqr !#$%&'()*+,-./0123456789:;<=>?@ABCDGHJKNOPQRSWY[\]^`cfghjklmnopstwx  !"#$%&'()*+,-./012346789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWZ[]^_acdefg  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEGHIJKLMNOPQRSTUVWXYZ[\]`  !"#$%&'()*+,./012346789:;<=>?@ABCDEFGHJKLMNOPRSTVWXZ[\]^_`cdefghij  !#$%'()*+,-012456789;<=>?@ABCDEFGHIJKLMOPQRSTUWXYZ[\]^_`abc  !"#$%&'()*+,-./0123456789:;<=>@ABCDEHIKLMOQRSTXYZ[\]^_`acd  "#$%&'(+-/0123478<@ABCGKLMPSTVWXZ[\]^_`cghijkloprstvwyz{|  !$)*+,-579<=?@ACDEFGHILNPQRSTUY[\]_bcdelmnstuwxy{|}~  !#$%&'(),01234589;<=>?@ABCDEGHJLMNOPQTUWXY[\]^_`adfhijklmpqstuwxyz{|}  !"#&')*+-./012367:;<=>?BCEFGIJKLMNORSTVWXYZ[^_abcefghijknprstuvwz{}  !"#%(*345789;<=>?@ACDFGHIJKLMPQSTUYZ[\`efgilmosuvwxy| !"#$&'()*+-./12356789:;<=>?@ABCDEFGJKMNOQSTUVWZ\_`abcfgijkmnopqrsvx  !#$%&'()*+,-./0123456789:;<=@ACDEGIJKLMPRVWX\]^_`acdefghijlnpqrÁc郷GӆiMًoÎSߐuɓY啳CϘe뚹I՝k񟿠  !"#$%&'()*+,-./0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./01tuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ XYZ[\]^_`abcdefghijklmnopqxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy  !"#$%&'()*+,-./0123:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+nopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ RSTUVWXYZ[\]^_`abcdefghijkrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@A  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs  !"#$%&'()*+,-456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%hijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ LMNOPQRSTUVWXYZ[\]^_`abcdelmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm !"#$%&'./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ bcdefghijklmnopqrstuvwxyz{  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~FGHIJKLMNOPQRSTUVWXYZ[\]^_fghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./012345xyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg  !()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ \]^_`abcdefghijklmnopqrstu|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}  !"#$%&'()*+,-./01234567>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./rstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ VWXYZ[\]^_`abcdefghijklmnovwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDE  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw  !"#$%&'()*+,-./0189:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()lmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ PQRSTUVWXYZ[\]^_`abcdefghipqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?l O"/<LlV\Oghpz_ljϥOOG '6BN\lhrlOO*7FTO^iv~!1Ϫ;GEUcOnhx~OO #.=M\OgtՀO '17Gp>JTdt&OϦN".=MYdtߑ_OO O-=M]goOz ,:FUetlO 8  " 0 @ N OY |c n z O ϟ O _  / > M [ og s ~ O ϱ O , O   $ / O: F GQ a m w _ O]   " 1 > oL Y g w l D  Oݛ ͯ ߽ Ϧ O l  _  - 8 OD R ` p | l O$4DϮOOYdlOwl)9IYhxϔo(8HTO]OeoyO&OOߏO $o1>IOTl_TivϝOOG +;JZgq~l (8DQ`n~zψGnO&]1?τGNZԏc.ktώFϧoO&O2>TGKQXeώoGw,ψOުO (/_<>qɥG{ʨ :m˙%g̔4a͒,]Κ;mϞ.dЕ2nћ*^ҍ>jӡ 8gԞ.d՝=w֫N׍&  !"$%&()*+,-.1  !"#&')*+/01236  !"#%&'()*+,-  !$&'()*+,-/01  !"#$%&)+-./0123  !$&'()*-/236  !#$%&'(),012345789;<=  !"#$%&'()*  "#$%&'()*+,-./0123  !"#$%&'()*+,  !"#&(*,-./234  !"#$%&'()*,-  !"#$%&'()*+,-.  !"$%&'()+,-./012  !"#$%&'()*+  !"#$%&'()*+  !#%&'()*+,-  "#$%&'(+,-01 !"$%&()*+,-.156789:<=>@  !"#$%&'()*+, "#%&')*+,-./246789:  "#$%&'()*+,-.  !"#$%'()+,-/012345  !"#$%&')*+  !"#$%&()*+,-./0  !"#$%&'()*+,-./013  !#$%'()+,-.  !"#%&'()*-.012456  !"#$%&'()*+./  !"#$%&)+-./0125689:<  !"#$%&()*+,-./01 !"#$%&'*./0123  !#$%&'(),01234578  "#$%&'(+-/01  !"#$%&'()*+,-./0  !"#$%'()*+,-  !"#&(*+,-./12  !"#$%&'()*+,-  !#$%'()+,-./01345  !"#$%&'()*+,-./0 !#%&'()*-.01256 "&'()*+-./012345678  !"#$%&'()*  !#$%&'(),.012345789;  !"#$%&'()*+,  "#$&'()*+,-./01234  !"#%&')*+,  !"#$%&'()*+,  !"#$%&'()*+,-./013  !$%'()+,-.  !"#%&'()*-.01467 !"#$%&'()*-.01245  #'()+,/02346789:;?@ABCDEFG  !"#$%&'()*+,-./012345<=>?@ABCDEFGHIJK   !"#$%&'()  !"#$%&'()*+,-./0123456789:;<=  !"#$%&'()*+,-./0189:;<=>?@ABCDEFGHIJK    !"#$%&'()*+,-./0123456789  !"#$%&'()*+,-456789:;<=>?@ABCDEFGHIJK   !"#$%&'()*+,-./012345  !"#$%&'()0123456789:;<=>?@ABCDEFGHIJK   !"#$%&'()*+,-./01  !"#$%,-./0123456789:;<=>?@ABCDEFGHIJK  !"#$%&'()*+,-./0123456789@ABCDEFGHIJK  !"#$%&'()*+,-  !()*+,-./0123456789:;<=>?@ABCDEFG  !"#$%&'()*+,-./012345<=>?@ABCDEFGHIJK   !"#$%&'()  !"#$%&'()*+,-./0123456789:;<=  !"#$%&'()*+,-./0189:;<=>?@ABCDEFGHIJK    !"#$%&'()*+,-./0123456789  !"#$%&'()*+,-456789:;<=>?@ABCDEFGHIJK   !"#$%&'()*+,-./012345  !"#$%&'()0123456789:;<=>?@ABCDEFGHIJK   !"#$%&'()*+,-./01  !"#$%,-./0123456789:;<=>?@ABCDEFGHIJK  !"#$%&'()*+,-./0123456789@ABCDEFGHIJK  !"#$%&'()*+,-  !()*+,-./0123456789:;<=>?@ABCDEFG  !"#$%&'()*+,-./012345<=>?@ABCDEFGHIJK   !"#$%&'()ۍv' %O1>KOTbqljO*9IWObo~ϺO (4@O]m|oyO&4DQ[gOsԵO $O0?M\julO *5O@LWOboO!/>JOVcp|OO"O-:IWgs}O +7CPl[fsԏOĴO   * 8 D OO ] l | _ l  o " . ; OH X f Oq } ԇ O O    + 5 @ N [ g _s m Ͼ o ,   ' 2 %%%%$%c%Q%W%]%%%4%,%%%<%Z%T%i%f%`%P%l%% %%%% %Ͼ&ͺ> `}a~&q%%%% %%%y{}w `abcdefghi!"#$%&'()*+,-./012345679:@ABCDEFGHIJKLMNOPQR     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO!QRTUVWXYZ[\^_&SxR # H      !"#$%&'()*+,-./0123456789:IJK ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[& #%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%")"a"e"d" #!#H""" %ᅠ&ͺɸȾ̵ް%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%e"d"H""" %&ͺɸȾ̵ް#BVW+yM"Z[*{|z A%%%%$% c%Q%W%]%.`%%4%,%%%<%rjZ%T%i%f%`%P%l%} /ask~% %%%%%%LCD67;<FE   "%噞ЀӷͺްoBPQy9:=>Z[deA }~z _%%%%$%^c%Q%W%]%{|%%4%,%%%<%Z%T%i%f%`%P%l%G% %%%bn%CDH`aTUpcqXY%Ǥޅͺ   05$%4_%%%%$%^c%Q%W%]%{|%%4%,%%%<%\]Z%T%i%f%`%P%l%1% %%%% !&'lm!I%ԐᅠǸͺRSQTUVWXY Z [ \ ^_N.J*01F&45D$3%%%%$%E%8c%Q%W%]%9%%4%,%%%<%:Z%T%i%f%`%P%l%;<=>?% %%%O%/@ A!B"C#62L,!K+7H(M-I)G'%쭧諶ࠢ묦窵ͺ10^_%%%%$%c%Q%W%]%%%4%,%%%<%Z%T%i%f%`%P%l%% %%%%%ϾѮЯ󨷵ǎԐᅠƄ졌ͺ %%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%")"a"e"d" #!#H""" %ᅠ&ͺɸȾ̵ް #%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%")"a"e"d" #!#H""" %ᅠ&ͺɸȾ̵ް #%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%")"a"e"d" #!#H""" %&ͺɸȾ̵ް !"#$j&'()*+,-./""%%%<%$%,%%4%% %%%"H" `abcdefghi@}Q% !"#$&'ܡݐ&%&¢åǨ #%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%")"a"e"d" #!#H""" %ᅠ&ͺɸȾ̵ް   %%%%$%c%Q%W%]%%%4%,%%%<%Z%T%i%f%`%P%l%% %%%%%Ցͺ%%%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %%%%%%@ABCDEFGHIJKLMNOQTVW"!%&&ͺɸȾ̵ްK00M00O00Q00S00000000000000000010TTYYZZ @>?.<\&% ;=[]       ` f g  4 B @ 23   ; ^345;< * )    ' (   % & _`    a R j k  =  5 + , b C E H v w +0o m j !n k l i 45 =FE "!"#$%&'()*+,-./0123456789: 5'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ d ` b f a e g c        h  !"#$%&'()*+,-./ 012345Q6789:;<=>?@ABCDEFGHIJKLMNO STU #      , $ 4 <       # 3 + ; K / ( 7 ?  0 % 8 B QRSTUVWXYZ[\]^_ <GHI>?*jL+kMA=Z`^dy}{B>[a_ez~|T9 CGPXnpbU: DHQYoqc$4\l %5]mq~lnyVs}{m_raKp'fSW`SRhXuY\^PodTQReUzgZpqrsa?  %,9 =)/$0<4*:;vwxyz{|}~ pqrstuvwxyz{ QB` a b c d e f g h i j k l m n o p q r s `abcdefghijI"M'6QW &#+J;k{!129~}|.  V (./.0...../ /`/H/I/V/_/j/l/~////0//0000'0.0@0;0A000000111 1151J12U1W1111111222I2W2a222322224223335a3c3}33334'4M44k4t444444445+555P5^5555655766;6I6v6f68o6q6r66666666 7=!7/73747p7w7|77777777777 8a8d89|888:8n888888 9Af]9m9999999:#:g:m:w:~:::::;%;.5:?v4A(C9"pudcPZ@C%NEfdb{H'7EqB;9{fxb]]{B\h;> CFHHuwOG. /M//I06799: <@ApAFIPOUpUY]]`dchkUpzp;3..7`pX.8N8p2Z(cb/|A1p34469?xM`-ebvpvvw 43;P_ovo3\}Z.Xa&N65Ke;|93fMTuB6.KpvOc y350;q? FFH8LL)M[TVNZ4xb[h`jrMUVy@kmuI31708D9;>(@CCLOPQYQQ?S^vbbe`p[r}i8EZL%U1.9e9??BE*J'KKS_Vi,}}~?*@@b@ABB9EA{fFHwMpPLUVu]bguvl1294;=hAIMXdWhrjszlMyf7Gfr264>BDy>@AcAACbEGSHH>KSKWL"OOEOTUV WZ[!\]6__`fbcijlpQtuuuevw(yb8.+4<=SLV~>?C:GEEGHH_J0>KL}LUHYc;Z]?ijlwmnoxz<{.}019;/BBD:KRUGY_gjpkCcw 445THXJpj'XuG~t3;aPfp.E../384;?%@QE=GBLrLLxPTvZZ[]\f]E[R3E<=BBC NZf1jmrOYZ{...//0G1Zq11T3!33358<7?J?/@P@m@CYEKJLRRW`abNepswWyZz.1-AABrCI)J}RR.SXoXy] W`iklncpuszvUxzx~C133{>&?NNSSC]7bjjPvN. 03|469d;=>'?8BEEGVNR\h``cNfjm7rvgx.. /H3I4>4/:??@HJZTXjjwkq^.{.|//00I1l122233445Q77}9T;];;===x>>>>?R@LABBC;EFCFFmG!HHI_L*MiM/NN2UVlX?Z\]]^]]````Taa*bRcLhahkllpuqqr?XruMvxyz;}[22348BOjl_o~K1;2J46@Zwq`}~DS OpaU?@zRodKx.6d78Z:h@AFF9HHMU:]nbB{.P/35o===GLsTXPjshP7>+C001G4^89;i?MBC=HsKN}PqRX&XmYE0]ch ovd2(7PGj_l1B7*v:8I`4=7X}\/J24>D(FGGZV["]/s\H{9[3172;BDD-GKevV{LCs{VRF .03q<@DcE_HQS#U[^fklxqyEFK..://:233568999P;M<>+>?@C/E\;EEEGbK{KLESIYY\]+]`aai^jijfjjjllvxoK.RTUX:Y `3`adoPL~?Xk+}Zn;v.3719:;@NOUl;e[r0GbaY]`knnpfp02:]r_Feej23s9>?U@rdv012 3G334F5156h99<:;<<<<>>>p?BBBCwCF F-FvF~GHJ5JLM NXN@DaGVGDMRsUcZdrkq s167xB IKQT^w`rbixUgo;<8///5 :;;?NA/CEKFHIxMM3UUW^YY3]abei:jno2pqw..2u88 <U=C4LPaW\_phBpTqssv^Tz=i=pEGmvnCIGIcxvhOzD;.,P]U/F16229?'@B?EtEFtFHHcKNrRUV\V`8hijjjpqRwYwEZav->@BEFGWMZM\>^ aldmm_nX2BCBDB-jZ[jvv] bIg.H1C3`3;<<=&BGBDH4HLEMMG\ONQ}QEZ[]J^_zab9benjlmxpwprru{M258O6Qh1YU^a\L6Q8589@SBG5bUI@vy(zS/8;`? @KA4BFLN`abhlp.pv~{.3'9,[qLx}N'PS3D5;XBBBLO"Tj8tOj8c1f33F/Tpoj91a=ZoH7lRH|=Jj9.X36f7BCENKM[NPWZ[]=``fj[s68>?EFJK7Uj$0W07?e@zF`LUZn_agEpy[\UZQ[dpYZ6c:@W-..;?B3>>?5?k??ACFGnORR:U:Wt`9axavgjjmmrwux|2WCVGLSlssv%M8IIosUpZ8HCIC/,OGo&e]Ts?IpOj78,;,]*R 4q}.N/\0u0C2lH4$8;>>>>?@B:CCH@LXY Z]GbjjDnpp-qqLXDDuENVpsN4?DMooDrx1k8)9U<>M^Uln[xP/KO0UvN1458W89`7t9@0Z11125T8X8W9;<=@B-DqGCHHHVMoNMoPQS?UwYI[T[R[\q]02cdieejkFlnpptvv-x0zu02 48Es.e19??{CDQ\C.>K.76@O ]`3aaoif=BDiwGL>M6T4XF:u_by/>BCWEoGVLR``)oMq 07:HsIdQRl8ljvpgYW)d//e2Z3BGL}V[\6beoF OR^cy~1[rX[`H[Ja>`QU`Uk1brNzVqz/p_BO[u|z6Y8fv4/$2J333>,DEG>LNLHRRSTUA^,bel[qiQxx=CiFjUVXCef*3Q3&49>|?@IByBBEKLUVXY]w_`hjlp^wx J8\0>CUYb(srdf-|4l?E\MPll;xOET ..7+9f:;1>>@vBwEEnFnM6R&[Paab\klltmvDv/DfKbadjep GYyaiiM?UBL.iR{2;4t68AnBQn9\\]vE^`.u/u1@8c>s> ?G&.=eu[vs\x08VVX%2We[O0 9GR[]ooMp/2):?w/br7UCiK+UhoBZ28UA BFK?\c#0/3F418I9;<<)=>BgC>EE GLLP2X+^`b ddgi*jJlprx|l}O..0V2J79=>???BFGGH1!]`akll~r2v 4,x30\38D4GgRfWFZq2LK8L>T9,G_1ViDXT{~79'FGK4IU>aG{GR|]H./3B+GLo/m^~.bAN+Oes4*GE{=[<;gJNdZa9\L W2"9!Q_RW'wa} I::1 4}4FVor|9]RNM1H]]bw~xD!Jc9_;KSV]`d21(G~VbG2y$<;B~\lO5@ ]u3_.19:R6`q%?W3y?]e3jnVwGeSt AALRVj8o/5Q/*123;}>@AC GGgNM6S7S1UPYhjJpppvg9.Y/.j?ox0|>9;>CCDFJII MNQ(UZ_`Iddi!k nep}v y~AB2KLtM__M_gheGcK@A#OIQ>\]o`d#p,sB4o{JPlm2w2A:>?G|IIjMObRR[`~`Kgpm1~Y`2sj-04qjjKla@G}..|kjeheI~NXUaA;V;};;;;<<#<+<b<;9ZU9P9N9Z9X9b9`9g9l9i9x999^//99999999%:::: ::@:l:I:5:6:b:j:::::::::::::: ; ;;2;:*;6;>;C;E;@;Q;U;Z;[;e;i;p;s;u;x;Ez;;;;;;;;;;;;;;;;;;;<<< << <"<(<8<9>>>>6>7>D>C>@>N>W>T>_>b>d>G>u>v>z>~>>>>>>>>>>>>>>>>>>>>>>>? ?]?\? ???)?-?8?A?H?L?N?/?Q?V?W?Y?a?m?s?w?????????????????????@?!@`@@@)@@1@@@+@&@@:@Z@A@j@w@_@J@F@M@c@C@d@B@l@k@Y@@@@@@@@@@@@@@@@@@?@@@@MAAA@@A@@A!A@@ AAGA>A(A'AJA?ACMCDOCCCCCvCCCCCCkCiCCCCCCCCCCD4DDD&D6DED(DDgDoDvDND*EDDDDDDDDDDDDDDD bDDBDD,EDDDDEDEEE$E#E+E4E5E7E6E8EKUHEVEUEMEXE^E]ErExEEEkEEEEEEEEEEEEEEErG FFEsG5F6F4FFOFDFIFAF^F]FdFgFhF_FbFpFFFFFFFFFFFFFFFFFF?FFFFFFGGG&G'G8w.G?G6GAG8G7GFG^G`GYGcGdGGpGG|GjGGGGGGGGGGGGGGGGGGGGGGJHFH)H@HMH2HNHH+HYHcHwHHHHHHHHHJHtHHHHIH~HIHIH"I&IH IHHHH6IIIHH%IHHH(I*II#I!IHyIwI\IxIkITI~InI9ItI=IYI0IaI^I]IIjIIIIIIIII;IIIII.JIIIIIIIJJI KIIIJIJIJI JJJ#JJDJ JrJ6JxJGJbJYJfJHJ8J"JJJJJJJJfJJJJJJJJJJJJJKfJKK1{K8K7KV9KxGKCKIKPKYKTK[K_KaKxKyKKKKKKKKKKKKKKKKKKKKKKKKKK~LLLL$L#L^LULbLjLLLLLL~LhLsLLLLLLLLLLLLLLLLLLMMh6M+M=M8MM5M3MM McMMdMZMyMYMMMOMMN NMMMMMMMMMMMMMMMMM-NnN.NNrN_N>N#NkN+NvNMNNCN:NNN$NNN8NNNNNNNNNNNNNNNNNAOOLPNNN?ON1ON2ON>OONOzOxOOOoO[OOmOO|OXOOOOfOOOOOOOOOOOOOOOO P POPPPOPPtOPPP0P>P2PQPcPPPPPPPPPPPPP QPQQeQUQQfQbQLQVQlQQQQQQQQQQQQQQQQQQQQQ RRR(R-R,R0R2R;RSNSOS~WSjShSpSxSuS{SzSSSSSSSSSTToT%TS2T:TUT?T_TYTAT\TiTpTcTjTvT~TTTTTTTSTTTTTTTTTTUUU UU UUUU&U,UZ7ZCZWZIZaZbZiZpZyZ}ZZZZZZZZZZZZZpZZZZZZZZZZZZZZ[[ [[3[[[[5[([6[P[z[[M[ [L[E[u[e[t[g[p[q[l[n[[[[[[[[[[][[[[[[[[[[\\[[`\\\\[[\ \[#\'\*\\7\+\=\L\C\T\O\@\P\X\_\d\V\e\l\u\\\\\\\\\\\\\\\\\\\\\\;{\\\\\]]]] ]E]K].]2]?]5]F]s]V]N]r]h]n]O]c]]][]]}]]]]]]]]]=^]]]]]]]]]]]]]^ ^#^!^^1^^ ^ ^"^F^f^;^5^9^C^7^2^:^g^]^V^^^Y^Z^y^j^i^|^{^^]}^o^^^^^^^^^^^^8_:_E_L_M_N_P_Q_U_T_X___`_h_i_g_x__________________qk__________x`` `````!`(`?`;`J`F`R`X`Z`_`b`h`s`r`p`v`y`}`````````1```````` a``a)a#a/aKavFa>aSaQa`qanaeafataaaaaaaaaa_aaaaaaaaaaaaaaaaaaaaaaaabbbb b bbb)b+b8b3b@bYbXb]bZb_bdbbbhbjbkb.bqbwbxb~bbbbbbbbbbbbbbccbbbcb cb5c4cc2c1c@c9cPcEc/c+ccccccccc#cccc|ccscucccccdcccdc dccdcc d"d dc8decmd*dk(kAkLkOkNkIkVk[kZkkk_klkoktk}kkkkkkkkk:lAl?lHlLlNlPlUlblllxlzllllllll|llBlllllllllllllllmm mmm mmNmlmmgmmmqmsmmmmmmmmmmmmmmmmmn nmnnnnBn5n0n4nJnGnInLnPnHnYndn`n*ncnUnvnrn|nnnnnnnnnnnnnnnnnnnnnnnnnnn ooooooooo o&o3o;o9oEoBo>oLoIoFoNoWo\obocodoooooooooooopopoopp!p ppp p'p6p5p9poOpPpQpRppIp>pVpXp^phpopvpvrpp}ppppppppppppHBpqqq2q0qJqVqXqcqeqiqsqrqqqqqqqqqqqqqqqqqqqqqqqrqr,rrr^rWrErIrdrHrr?rKrPrrrrrZrrrrrsrDs.ss"ss#s:s5s;s\s`s|snsVsssssssssssssssstttttt6t+t5t!t:tAtRtDt[t`tbt^tjt)rptutwt}tZt|t~tttuuuuuuuuuuuuuuuuOuuuuuuuuuu!v(v.v/vBvLvOvKvwv\v^v]v_vfvrvlvvvvvvvvvvvvvvvvvvMiv wvvwwwwwwwww$w*w0w9w=w>wDwFwHwBwIw\w`wdwfwhw2kwqwyww|wwzwwwwwwwwwwwwwwwwwOwZwwx x8x$x!x7x=xFxOxKxkxoxpxqxtxsxxxxxxxxxxy yyyy!yyy$y y,y.y=y>yByIyEyPyKyQyRyLyUyyyyyyyyyyyyyyyyyyzzzyz+z7zEzBz@zCz>zUzMz[zWz_zbzezdzizkzjzzzzzzzzzzzzzzzzzzzzz{{{{"{#{%{'{({){*{.{/{2{D{C{O{M{N{Q{X{t{{{{{{{{{{{{{{{{{{{{{{:|{{{|| || |||| ||.||%|$|!|0|G|2|F|>|Z|`|g|v|x|||| }}|}}*}&}}#}}D}}}A}?}>}F}H}]}^}d}Q}P}Y}r}}}}o}z}}}}}}}}}}}}}}}}}}}}~~~u~y~}~~~~~~~~~~~~~~aw~~~~~~~~~~~~~~~~~~~V!,>JRTc_`afgljwrv/8IYpdT1Q=>>X>^>>(>>????#?4?6?=?@?E?T?X?d?g?}??????????? @@@3@5@G@=@@@@@@@A+A0A7A>A?AA@"B>BCBVBZBoBBBBB CC9CCCeC|CCCCDD"DyDQD`DmDDDDDDDDD"E)EAgEEBF FFF:F"F$F+F0F1F3FFHFLFħYFZFaFeFsFwFxFFCFFFFF"FFFG)3GfGGGHG{GGGGGGGGGGHRHH,H1H[HrHuHDHHHHHHHHHH IIIĪ5IBIWIcIdIhIIIIIIIIIIJJ?;J>JEJPJVJ[JkJsJcJJJJJJJKK,K5KFKVK`KeKgKwKKKKpKKKKLL3LYL\LLtLvLLLLLLLLLLLMM.M1M9M?MXMeMEMMMMMMMMMMMMMF4NDN\N^NNNNNNOOG*O/O3OQOYO^OaObO~OOOOOOOOOOOOOOPP(PJP]P^PNPdPuPPPPPPPPQ+QQ Q.Q0QFQGQQQHRQ\Q`QhQQQQQQQQRRURVR?RRRRR'S(SPSfS|SSSSSSSSSSSSST TTTJ&T(T*T+T,T.T/T0TDTFTGTKTWTbTkTmTTTTTTTTTTTTTTTTTTUU/UoUyUUrUUVVVVVVV-V5VCVKVdVeVmVoVqVVVVVVVVVVVVVVV WW4W6WFWMWNW\W_WbWzWWWWW-XCXNXOXQXhXnXKXXXXYXY.Y1Y4YLMEYFYNOP\YQyYRSYYYYYqYYYYZT9Z]ZmZUZZóZZZZZ[-[;[G[N[`[m[o[r[[V[[\1\\ \3\6\d"Y\m\y\\\\\\\\]]]]#]1]A]H]S]\]z]]]]]]]]]W(^^^^YG^R^a^^^G_Z_________[`&`5`7`<`````aJa`agahamaaaaa\S$[$`btbюbbbbbbbbbbbbbccbc"c-c:cCcGcQcUc}cccccccccccccdd d_Hd_dpdsdddddddd@2ee#e/eYedeezeeeeeeeefeffftf)f8fWf[f6bf%lfuffffff gqgggggg%ggh hhhhhhhhhi`iii'i0i2i9i@iiaiiijj"j7jGjNj]jajujyjjjjjj"bcFkTkYkikkIlhldllllemmmmmm n#n=npn{nwnD(no-o6oToMooooop-pgpppppppppppppppp&qqq"q#q'q/q1q4q=qHq[qqqqqqqqqqqqrr8r9r:r/T/X/w/x/z/}////////////j/00000"0hB0F0N0S0W0c0f0j0p000000000+0000000q0000111J`1 s1111111ֈ(11222OU2\2l2w2222:22222222 3 3$353>3B3|g3l3z333S33]^33c33U4$4(4nC4b4f4l444444444444E444455 5<5A5G5J5`5a5d5}55555m555555d5(6_660676=6?6@6G6^6`6m6666666666666667#7U)7{E7F7L7M7th7o7s7t7u7{7ב77777776D777J77788 8'82898ĒI8L8g8888888888m8888899 9 99$9ה=9F9)[9_9Gu9v9|99999999999B : ::':-:U:e:z::::::::::::::::::;;;4;-;L;R;h;o;|;;;;Ø;;a;b;;lk;;u<)<06>>@>.>>>I>\V>ak>l>m>n>{>>>>>>>>>????G?c?r?~????????????????@"@$@L@@@@@@@@@@@@@@AAAAA:AoAAFA`A|A[AAAAAAAAAAAB#B)BFBLBQBRBaBdB{BmBsBBBBBC CCOP2C5C;CHDHEHIHLHUHWHwkHnHzH|HHHHmHHHHHHHHHZHHHHHHHHHHII;IFIiIlIrIzIIIIIIIIIIIII9G0J8:IIIIIIJJJ2J3J4J?JFJIJzJNJRJdJ ~JJJJJJdJJJJJJJJJJJJ$ KKKK=K&/KJKXKlKuKzKKKKKKKKKKKKKKL LL5L6L:L?LML[LmLLLLLLLLLLLLLLLM M$M&M'MgL/MU@UHUNUPURUlUrUqUzU}U~UUUuUwUUUUUUUUUUUUUUUVVVVVVV7%V(V]@]G] "Y]Z]j]p]"]Ɇ]]]]`ɝ]]]]]]]]]]]#X^^^ ^'^,^E^s^u^~^^^+#^^^C#<_;_>_C_D_O_pR_a_c_d_m_}_~_Lː_{1_________` `````$`,`0`C`f`q`u`{``````~```` a``#5aaa#$a'a,a=a$ia$a$aa"$aaaaaaaaQaaobb!b"b2b4beQeSe^eaebe{e}eeeeeeeԷeeeeeeeeeefff!f$f'f9fg@gCgQgXgdgegrg|g[Z֧ggggg~%ggggggggggghh hh(h.h2hjEjMjXjjjjjjj kk kkk-kCk 'Qk^kvkkkkkkkk9l=lElGlOlTlWlilmlslܓllld'lllll ll mmlmmmmmmmm n'mnnn!n"n'n(6n9nKnTnbnlnmnonnnnnnnnnnN(nooo+o@oJoXooofooo$oooooooop p7pkCpDp]ppppvp(ppppppppqpppqqqqq7q9q:qFqGqWqYqaqdqtqyqqqqqqqqqqIFqqr rrrk3rBrGrJrNrQrVrYr`rarergrhr|r}rrrrrrrrrrrrrrrrrrrs)rrrs ssss's)sqCGsQsWsZsksqsssssssssssssss tttts2t4t;tEtmtotxuyuuuuuuqu,v3v4v6?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   !"#&()*+,-1345678:<=?@ACFGHJKLMNPQRTUWYZ[]^_`bcdfghijlnopsvwyz{|}  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~v'")#)q!r!$)%)x!/!&)')()L"))*)+)k!^!,)-)-!y".)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)_!N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[))])^)_)`)a)b)c)d)e)f)g)h)i)j)k)l)`!m)n)o)p)q)r)s)t)u)z):*I*!*,*<*K*Y*_*=*L*@*O*P*x)})>*M*?*N*Z*`*[*a*}*v){)\*b*;*J*$*/*#*.*A*Q*B*R*z*y)~)C*S*++*+9*H*D*T*%*0*]*c*'*3*&*2*G*W*(*4*w)|)^*d*E*U*F*V*)*5*+*8***7*)+$+o(p(q(v(w(x(y(z({(|(t(u(E+3+9+:+%++?+n*&+.+++1+2+u*(+y*6+<+"+B+,+j*t*k*4+{*e*v*o*/+l*A+s*p*g*|*q*h*'+m*-+5+f*+;+x*r*@+i*!+~*#+w*>+=+1*S+T+U+V+"*X*-*6*q++a+b+c++\+Z+_+}+[+W+m+Y+^+]+x+y+~+j+v+w+k+l+r+g+o+z+h+p+s+u+i+{+|+t+n+R+!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&Y&R&S&T&U&V&W&X&''!'"'#'$'%'&'(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'Q'R'S'T'U'V'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'W'r(s(F+G+P+Q+>!|#=!B!F!G!H!I!w"x"@#E!D!s"l!m!("k(X+~,l(m(n(},!)n!]#_#b-d-`#r"\#x'y'z'5-6-7-8-9-:-;-<-=->-?-W-5,6,7,8,9,:,;,<,=,>,?,@,+","*"-"q"'#%#&#(#)#M"N"+#,#*#-#O"_"P"G"`":"F";"]![#e"g"g!x-\"T"U"J"K"A"@"i"j"s-h!h"f"l"m"n"b"b!a"k"e!f!c"d"o"p">"?"B"C"<"="D"E"Q"R"S":#]"y-v'w'H"I"^"|'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'~'}'!-"-#-$-%-&-'-(-)-*-+-,---.-/-0-1-2-3-4-A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,+,,,-,.,/,0,1,2,3,4,Z&[&\&]&^&_&`&a&b&c&!(,("(-(#(.($(/(&(1(%(0('(<(7(2()(>(9(4(((8(=(3(*(:(?(5(+(;(@(6(#"""m&%"$""#!#'"&"$###!"~!;#{!}!|!g(h(i(j(?#~"h&i&j&k&z!y!g&d&e&~-j!i!:&=&;&@&9&>&<&?&l&}"v"{"|"u"z"t"{'}-!,",#,$,%,&,',(,),*,.#/#}#~#!!"!#!7!9!:!;!R!S!T!U!V!W!X!Y!Z![!)"."L!M!Z"["X"Y"A!`-a-f&3"4"5"6"7"<#!$"$#$$$%$&$'$($)$*$$,$$.$$0$$2$$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$+!,!5!6!9"{#!%"%#%$%%%&%'%(%)%*%%,%%.%%0%%2%%4%5%6%7%8%9%:%%<%=%>%?%@%A%B%C%%E%F%G%%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%r's't'u'&!oOVY\^oqty{;FJ`[_q6|.24Iume(),4~u!vH]:vw;Bq~@Tpw(fw?ABIP4MxFH\gl"-9dtw}37GKHSWmy+6;N]a>BHJLOYzZzlnw524YTmnQ{Ol`{$:CNSk)?IK|\'X}jpux7U&(*1>~?*-K`l0zC"7<|Kf>0;e><2TI?M#"P/1$n3#P$@BRV5:Jg>>NBJ$.%$P&.fC'%.&.%Pz6&P]40Cg<'P(P()P5GW5)*7GcFC83K,Ii*Ph>+P52/e6p8iL&V0pM}F%455,P-P;N=MhA/Pv;sF'.2P>1_8^8f0KOJO3:!013P4P5P4K6Pr8g0rK|5}5~5bDP8B?PUIg@<8!@PBP(.eBaNJ0;AP>2D6=gC>o7CP$G).*.?k4+.DPK0,.`8l4zI2HY5@q2gPAElGFPMEPGPn:HP$U1.-.APP2.3.SPQPB2;JKPGHIOPs8J4.H;K&4LTPLP5.cNx;MPRPM6.UP7.NPN!6M0"6A2%UyKnIt8P/?7NQXJ87%Bd2R9.S=SYPT^P\PUWP/BZP]P[P]JXP:..?sK_P`PO$=mPWPG6IhPpJ62lPX;.<.fPoPRAD8\G=.G`YnP]EZcPv8>.u8aP[\ZQ~F4A@QAQ,Hx8;OBQ&6(,L{Qd3uQsQOAD3=`7|Q-NxQ}QzQa.yQ@ONy8C2tNBCu=XEe9"R#RDeN+O%Rz8EF$R/3&RVK)RgJ-R*@*RP6+R+4i..7.R/RK0R1R[)6:RN[H;RR$Ih6e0P?F?R==Qi@AR@R#>a8CR>HDR\H4BnB(6nF1CnGNKFRj@o.p.57TGRUHR,1u0m4(BQ5qMKR72VJRq.*6LRqLr.MRRN|8s.68NRWPROR_?91^1QRRRt.78XSRZn5[2;TRtK5:Z5'MPA?H}\RZRD2fB8L!9yMGE~8u./7gRc6JKe]Hv.ffR^4aRbRdReR[5a?-JcR_Rc8`R$OhrJhDb8p9w.hR]FdlRij~Si:13syRt%Sv0$Su%0JI"Sv|R"/wR}RH:&Sw0/S'S(S%>iKx-S,Syz/E{.S+S#/|}416:0?~$/)SbE*S"0%/4S#M'>:S&/9S0S!CB1S"oB6S&>$%3SdL'/<77S8S5S;S(/'(2S)ASFS+BS=S)/,GS1A*/IS-"9?S}C+/.CS0/E21/?RSTS(>31WS<^2bS@|>^S\S]SA_S2/CDE=1F3/9AYSZSz3GHaS5/o4dS`ScSI7/8/9/.J4/UF8HfSeSE3KgSLjSiSM:/NO;/hS9GkSP/nSmSpSsSqSoSrSStS?/@/TuSvSwSxSEQ|P/?T@T>TBTq8Gvh0VICTQ/wR/x}>S/T/9HE$f:NT=J]N&t2JT':AMTcEIEdE9HMDI:X/ITY/(v16EKTGTP?OT[/N=-6PT\/)*+,-hJ.}AFD/]/RTOK_/0STXT1/JWTQTTTVT&:IJ3YTECu2m>4b/[Ta/ZTc/h9\T^T]Td/`TUTbTe/5aT_Tf/N;Q?TAcT<@m0dG67[DeTdTfTgThTiT89QJjT:g/;F2kT<~T%C}Tj/3Jw=[EHI!UJ%9"U!G^HQL%Gk/+Ul/85EM/L,V#UK&Um/EB8KJEL'UeKJ:M*>n/(UNP;O;O90H8o/+@Q0,U-U*Up/PQR81/4S)UEL1IT(0y0Q;R0#02UXY0Uq/Z4U,OLG6U]':9U^XIs/:U5Ut/u/_v/;Lw/`^G;U2Iax/bcdy/efghUy7LUEUBUjkldCAUmCUDUonpFUGUqrr4IUHUJUs|/n>}/MU\DuE1KUtNUOURUUOPUQUvR;SUw&9TUVOz;8BUUVUZ;'9RL(5I8WUX3xXU9ByYU#VZU[U\U^UzWO{_U|`U}pB'1iH2bUFMI=$drUsUS0:BR?tU3F.>/>[OuUm@0>\OvUwU]O`LxU.^OF6/"=yUzU\<,?tFT?xH"GI6{Uo5|U~6OF02S;}U"V!V}6~U8E0B1KEH<`O2XAzM345$V%VVF63;'V(VdO9<=)VeOt4*V+VfOA,2BgOCD;Ad4hO-V(LFRBY3G/V1V_4iO.V0V3V2V4VIjOkOlO5V=F.6e26V;V9VwJvJmOgE8VT=7VLr?VGVFVEVAVO@VPDVQRqOxJNSTUsOtOvOKVHVJVrMIVuO?VWs?XLVwO7:ZMVNVxOQVPVOV]hE:VWV_`abSVyORVzO{OTVUVcdeXV|OgfNYVVVZV}O`4[Vh]V\V^Vij_Vn@#=kd=(tcAm)98:*9p5n`V9:J8aV&LCGbV+9,4'CR6pT;[IAHcVu4fVr)ts!D*teVdVgVkDuc?U;J@vSB"5"DhViVo>9KwlVkVjV}IsVxZKmVoVkKznV+t,tpV(HqV>JrV|}~!34?J/GtVuV,944vV88DM)Mv4xV#D-91>_H2>x=lDyJ9E.9\IyV#YEB:$K8%mDC0n=/9GM&-t'zV{VQG(|VwN-O/t~V}V)G3!W*$W%W#W@I3>'W&W"W(W)W*W-W+W,W.Wd1nD/W0tz7v26G,0W{F1t[J2t1W.O3t-2W@J5W!P1P.0W@WvE;tAWBWtL:7I&DKIEW4>F14FWGWrL`H?t5JW}1,@IWHWB7TBNWLW@tKW'Ne86y=MWLE>=@FQWPWAtOWRWf878BtSW|I[=TWyHCtAF'DDtEt90EUW+54?:,I?@VWV;:K;K~1[WGtiCHtAXWItw2BC-XZWD0GYWWWEz9]WJtcWiWaW\EKtfW]IGLt`WeWgNW;UB^WHI^5hW-@e1bWx2gW16dWMtNtjWlWvWtWqWOtpWxNKrW2619z=yWkWoW_Wz2sWuWQC(:82mWxWwW36)Bf3C7nWLzW}W!X=/XWFTStGO+XTtUt1XU{9VK@VtT0*X(XZA|W4;WFB=XX[A8XY5X6XWtf<9XX?XU0Z[\3X]r6&0Xt^64;XCXBXYtGXZtHX[t_FXIXAXEXaJXKXb@X|;DXVB292X5?XXiJNXOXPXWXVXc}K74TXE743QX8NSXV0UXLXRXYXD7MXd]M+M\X`X]t~AyNaXfg^X[XhiZX_X0Jj4FkF7bX]XlcX{712`tkX_t84iXjX):hXfXeXlXdXnX{2noppXoX(DsXqqXgX|7rXvXuXwXtXxXyXzXjJ|X{X?=.@f2|2}Xs?0L@~XCl!Ya7"Ybtto@u#Y$Y:5%Y&Y'YWBM8aLct;50Y7Y6>ht1YDG^M3Y4Y8YjE5Y39^@!FY4HrB"dH-ZzJqDuK;Y!2jCDYit4C>YEY@YGYCYBYoGAYRGr5H3g3!?IYNYJY}7OY";i9kt%&==Y};LY&X;MYD0ltHY'()Dmts546KY'0C:6?+,ntrD-.THQY^A/ot0*B+;RY1TYPYaJ=D3\Apt{JN<`Y_Y6x?~7YY9>hF1GqtWY]A7x<\Y8>VY[YSG:UY!78]3]Y+NN:5CZY\@59d?f1,MHM94?@.0eYrtbYABstx4Cg1tthYY5ZZ9Z\]^7Z8ZpY`&u;Z:Z'uxYZ@Z?ZAZ~269|J/@bN8CZFZRI_5cEZDZTGGZ56IZHZ:46;XF)udI7t?JZ0@(E_IKZefLZMZgh8J]UF@iLIX:eHCHMEANOZP<*uPZ60T6M@`IQZB;GC[;7?jkRZl}Jw1\;mUZnSZVZ9NTZo{@WZ2BXZpz4ZZYZ[Z\Z{4|F6Cl5];aA\=00]Zrs"2aZt,u79`Zu+::>v-u_Z;>@L*:W0N@.ufZ/u1@G1w1u2uU=fKr:x3u<>'@4u5u6ueZcZdZ0ukC&[jZ~;89hZy8uiZ8?9u{gZz/;~;uu"3nZoZUH%&'(aIJ7rZ?u2@=>@uAuRC)*G6sZwZK2tZvZBuuZ+k=,HCE0xZ-yZDu*DqNC;/kJ0Eu=K1"[{ZFu~Z}Z3zZ![Gu^FHu|Z#[l=$[JuKMxG%['[Ku([5)[J6H199*[+[q=bALu7uXR>A=AXBG:7rP8n7-M~J~I,[9Mus:?D-[/O;>K+D.[|4/[0[ZL$LvK\K%;2[k?{MI0`:;[NEA9[+B:[r>]L<[=[hMPuB[:9UG?[lE^ZbZEO5FGGSuA[>>DHTuG[zH>[D[C[O@HUumKSNVugKWuL2^;HOF[u?E[@[O8LML[J[M2H[N[T[XuZuHBNAJV[O"IU[pG?K;4Pw@@=[uSDQ.MRQ[P[R[O[W[M[K[S[I[SlCxLFfugumTh8|Mrsh[tD#3-:hu`[tp[a3n[r[unEz~4{2\iuILw[}4|~[}ju@K!\#\~'\y[!*CoE+\|[(\"#"\ku$lu9?,\munu3@%*\=4vouPOv[&&\X0'x[pu:L}["?GDs[%\z?/\q3!81\z[0\)\{[-\.\?\NFsu$\;\+=\XDtu-quLMvI8\JBuu>\?A5\B\A\oF@\jFvuwuxu.D\7\/H6:\]=0`G<\K64\6\3\10OZ39\2yuC\53g:]1T\31OW\56:?V\U\{u7R\|uF\8c\E\X\9:P\;K\H\MMjKO\Y\"vDa\Z\#v$vg\e\EF`\GI%v&v_\PDeAJ]\[\b\h\uHn\'vKi\l\f\(vtC8IL\\Md\@>OLx\k\"8#2_3S\AOPQA>p\w\yvx_M?v8]7]:]=5V6>4=]@v<]>]yN27C?]?4A]Avz@]B]C]BvD]_;5@!:CvpIDvbJDO{u;P:rN|EvE]F]}`;G]H]~FvJ]I]XK^=l9SCi]Oq]j]8ABb5r]TvUvh7%5p]n]k]`M9VvWv@D:YFl]t]s]#7<=-2>Xv;:m]o]YvWKtBSvwK?|]}]O2(J}L!^#x]~]h176@u]z][vt@qGgHAw]\v!KCy]$^D"^E{]]v"KHGc5%EmCF%^^vGH_v#^YBv]K1ZvJavKNM0^bv/^v@,^lM6F&^LEDMNL1?9)^cvPdv'=.^e-^(^+^evh3Q*^IGfv.Nt>u@gv6^4^RMIST1^3^hv:1@92O=3bIUaM$3;?5^VWjv:^kvC>lvX0MY7^Z2^mv8^[^NsEBFnvaovb63U1c>^A^CNpvdMdqvH^B^?^fTNE^ghiJ=G^L^rvqEJ^svtvuvD^j8CK^@^F^kM^|0C^N^=^B=L7<^]R^m=:8a^n[^t5OEoV^_^/021p92X^,BO^Q^A9rxvmb^]^sU^\^yvtu+LvwZ^^^xyz{P8|E>9Czv{vT^}/MW^P^rES^Y^QO><~Kc^.Ho^;8!`=e^/NB9r^n0p^"d^|vj^}vl^#OMg^.Ei^$~vq^%k^GL!wf^&"<~^"wj3h^m^n^'lBZB)v^|^z^)E#_w^*+x^`^y5:I?4w:_?CE4_A5w8_6w_<_?_DB_E;_j9(G9^FtM=_A_uB:w@_+_;wio9wE_HI_IG_w%@P_R_NOPQ_QR?wSu^BwS_UgF@wAwT_CwVWP2XYtE%3DwZd5^MwPwqQwr3AF>RwSw{Ntj_y@sTwVwuf_k_l1WwvXwi_aGe_h_H>YwQHl_Q59`:`$8:;HH<=<`u>;`iwjw>86=`?`>`@@`Q8A`i6@A}9C`D`B`m7IHc`~`i`jl=8me5f`}M!x0N"xk#x$xvBnh`&x'x(x)x*x+x,x-xoj`VNW6|HJGpk`m`rp`s.x/x0x1xtuql`2xo`j8M1q`vp?n`\N3xt`$tr`u`4x5xg`s`w<:v`w`x~My6x7xz8xx`=x|}9x~:xy`;x!"e`xz`?x@x$%D4Ax&('%aVHAa=BaJx[0?>v>GaDamFCaKx@AB&5CJaEaFaIaHa%IEBAAA?5LxKaLaMaGOaNaV1IWahHQaSaJUa>?VaTa@YaXaNxNZaO&DjA=bmxb=J>@b?b>b}HnxG4)8{ox|FbCb??2LBbDbEbAb}px~qxGbHb/Dc4eCrxIbsxtx%JbMbuxvx&g?wxDFNbSKKb'Lb)Qbxx*+PbObyxSbRbTbzx.Vb/Ub01MJ2{xV=FNWb7FXbYb]b[b\bZb^b_b`bab7Lbb34|xpLcb5NC6jGk678;Cdb:6:P@;?@fbAgb&8U:BibCVEV:N5D}x$KKGWE\9!ykbE"y#y$yK>F%yG2NE9&y'8#Hmbobk8nbvDIqb73lbjH01Jl:ROpbLMNrbKKJY@tb*yub(ysbN3O{bzb'<|bwbP}bxbQRXHvbybS"cTU+yV!caK~bk0,y$c.yWXY#cZ-yL>%cCA\'c&c(c]/y_hbjb*c)c0y^1y2y(<`iNR<+c775y6y@5'5c;a4M1c0cDA-cb/cc:yK=@?.c,c*GM>ey2c3cIcX6=O5A4cR2wD!JghiByj5ckz56cl8c9c)GCy:cmDy;ccskHIyEAAcBciGA??caCJy@cKyN>\0)5LyCcxxDDcG@y-Lz#IEcFcUC{GN|HcGc~o)Sc*O3PyUcj7+f5,Vcu6Wc|@MF-`@u:RyXc./bCkAZc\cYc[c"7Sy0]c&71g5RM_cUy`c4.1Vy56ccv3bcacec^cfc)N8gcWyhc9tTjcickclc5NmcopO>ncocW=8Fpc:;(CXyqcZyxcyc+Ezc^3Z?dIB|cChB[yDEFwc{c}c{:\yAJ&d.I]y&HyEZ6%d#d^y5H~c^C{EzELv:8d_yN(dO*dP-d`y.day+d,dbyQ)d'dM!dIOJU25d2d7dTU6dsG'L;;0d9d4dV3d/dcy1dI4=C}@X"H>dY$HZa@;dOH[?dSJ[C\:djdhdfdndmdldkdxyoduypd:@zqdsd|rd~R8!8Audvy|E#tdwyvdxy5JlAG9wd%HN&ydzd{d(|de;}dO7j5*5!e)sLH9~dyyzy*$efL0:01)e2!z*=>8HA%e+e3"z&eP7.e2ek7#z-e786e$zJ9mM<03ek50e91e:}E/e,e(3d@(8%z8e<&z>?5e'z@7e4eAQ73B9enACFe(zBeC?e=0JLH*z>e[6lH+zmAPNo=ne,zIHeJ~@DeIeKeyDNe-zJeKTJK4KL^0LMe}NMLeo1lFOe0zVePeWeQ1zSe2zR{GSJf;fz{,=FfEf?z@zi?Gf|}HfIfe4AzBz~M4!JfKfCz]KcMTM7O"M9NfTO)HkfS>*I0lfjf1N4T8h;2nH3*8CKofmfN9O9i0h:4YG_0tf6@CJzXG[B7vfKz8rfufpfsf&KLzU8}0qf9xfyfMz9F<;6=&g=Gi;<6H@FO.LwfT@;@NzS5zfA|fCD{fE}f&C>G?1DG#g"gOz~fU?eI%g$gP9SO5gPz)g*gQzRzIpgS22Eg@gUzAgVzBg!BTWzDgCgFgUGgHgC?Wi2IgWN+hzz0h|GiM9hOh{z|zGh{?}z;F5]6Bh~zEhZ:>QEJh"{?nJ#{AhZ2V8)IKh?hHh@RhCh${Dh:F%{Ih&{Fh(KLh`0AB@hCENhMhkGTh_h~3bhPhFUhnM^h({UMG*NHIJxCKLk3M){rIdh!FO10]hYhrASh[h`h*{,G+{*0PXhQahxIRS\hWh,{U>/=,eh0{jhsAXfh1{mh2{_CnhVMch83ihZ[lh,L\ohhhkhU^_)K!O`abshczhdrhCI<#i>6kpq$iyI}h8{Vhrst|h9{OO"FsI+il1i<{vw2ix%iyvGz/i'i)i={>{3i(i{,ir1eF-i0i|}?{&i&A*i';E?07tL;{yLr=@{#7i5i$NO%4i&A{uMB{6i8i9i'(i@iH{.D{?i1]"]J{Ei/0Di12K{vM?c2RiSi@ANi=;T{BCOiBGDPiQi[iUiXiFGTiU{HIViWiXj}f{@j?jg{BjAjZiFj~!Cj"DjEjGj#l7IjHj0=%T9'^JjQ=93&KjR1W>Lj'U9Mja0(=I+Nj-j?UjRjoCSjPj^6OjVj67^B\jXj5BWjh{ZjQj.[j]ji{oHYj^j`jS8TjA0/01_j2[:vNajbjuAj{k{"N536cj5Mdjej7dJfj@:#Nkj89ljX>jjm{gMgjij=@~?;hjmj#Jojnjl3+Kpjp{q{r{n{|jrjsjs{tjujt{u{yj=zjv{xjw{vj?qjwj@A{j7p(2~j_6}jD"k!k$k#k%k1=&k'k(k>@EWM)k$JFG*kF+k+8,5G,kx{k;AG-kP3H.k0kwM/kF?1k2kI3kQ4J4k5k6k7kQ3z{KL8k9k:kr2{{(?;kMOPkW7V?Ak$F@kT}{17U~{?kwB-5BkCkY>W!|m7Dk,K_@v5uLJAXEk"|G?pCZ>YFkZIk#|Jk[$|>:BBHk[>>I\Gk%|l;S1&|NkX7n;m;MOMkLk'AM5CO:3\>'|(|KkPkQkOkX8@Mo;'G^Tk@@BC6MWkl8?@SkXkm8UkVk)|Rkb@IF]/C]2_pHC5`4D[kYkLCA@R4Zk[?*|JN@Oa\kgk5Dfk+|ckkkdk`k|D_k]k!Mp;ak^k,|-|ekt=A8bzBEKZ1b0%FeikdhkffFmkbklknk,8jkV9gU$lnn8%lo&lp>;NZq'l(l2=)l*lrs+l,l-lt5|u+Cv.lx0l/l{&F|1l6|-K2l3l}4l~5l!ZF]>6l7|"k9.P7l#$8l?I9lAl:ll?l'&@lBl(*-3gDiIb:W9+OI_2NHElS4U@DlIlyCcLGlHl.5JlcG_BqH=EFlGKl2Ll(OBDEOq;Kl1B\l(AxFPI-,.Ol?;r;^>eG9|-8NlMljIA|[l]l^l?|V@O<_lR35`lvAalblkI/5cl66D[17dlq<8v?@|-Bglflel:;mlklA|hlB|jlC|'FxlCDvlwlylD|EFE|G)m|l}l{lJKF|zl}D!m%m"m~lL#m$mM+m&mX@(mN*m'mOPQG|-m3=,mH|.m/m2m1m0m4m3mvL6m5m7mR8mS:m9mH?;mTm6mUVWX?mJ|@m=mAmVEDmGm4<]L|FmEmZ7Hm_S3Jm`\:ImRmLmNmeJKmaMmQmOm15M|PmSmZGXNbN|4=TmO|"MVmUmYmAMcXmm3Wm\m[mdZm2E]mP|^me_ml9%7`mambmI?cm-n-f|g|.47;n?u|SFDn6=`<[GqCrHRnPny|IQnz|JTnSnKz>Un{|VnWnLMPHS:acd[9-}ghHKid6F=7}"o$o8}S6*EI+b<#O~nx:?O&o%o'o}n.9}:};}iFUE/WD,o01CC(o)o<}=}>}2-7+o?}3408*oa>89y3:0o?:yAJD@};5A};3.o/oCD-o1oB}@7oC}A:o9o-E2o3o6oB8oD}E}@6C;o5oD4o?o=oGHb>*F^}#1YN_}`}+p.nk*pl.p,p-pm/p0plN1p2pnI@;Ho}?g4:Mm28=[85p4ps;6p3p(;a}:p-jrVRsw?8ptb}%NqF+1d}c@6pnN9p@pBpAp?pvCpDpzAb2wEp8LFpGp*Of}y1[Hpg}IpJpzNpKpLp{MpOph}i}j}D@|wL}E@k}~PpsHQpSsLLRpSpTpW3!VpY?l}Wpm}$7Xp\pZp[ps3Yp]p^pH0_p`pn}$d>%ap&G5'dpcpbpqk\Jo}()epfpp}*q}gphpipr}jp+,Z4-./t}kps}0lp#G1np;2u}qppp$1A6GJ:D":2`9g=\?w}sp34rpBMh4RH\F56|?NN[7x}vp9up\8|p&~}p~p!q#q"qwI$q?@%qA&q'qCD'~EFGH)q(q*qI(~JtHLf)?KM25NO)~+qP,q,R;]SHQR{0S;0t;0K~>-q_LT.q\MB1A;/qn20qWX1qZ[\3q4q6q2q5q[47q8q^_`abc9q:qde;q=qfq@qAqCqB6*~ijks3OGGqHqZCkFnIqop}GqLBX1n6o6rsCNqp6so2MqtKqLquJqXqOqPqwQqRqTqxSqyY=Uq,~-~Wqz35Vq{{A38|Yq}~.~MBZq/~0~-F!"[q1~`q^q]q_q#\q2~$bq3~4~aqdq%C6cqeqfqhqgqiqkqjq|9lq'mq5~)<3+nqoq6~7~q?-8~pq.qq/rqsq09~b92tquq3vqwq4xq51Hzq&I{qyq}q|q~q:~!r;~6"r<~789:#r$r;%r=~&r'r(r)r*r+r,r!32:1r0r%L@3r4r2r5rbK6r{5@~ABB~CD%OC~E7rD~FGA~9rE~F~>0G~:r+J8r;rrHI~?rnK-;Iz:/AJM@rNCrOArJ~DrPq8BrK~ErFrGrKr*;RdBSLrIrHrJrL~T_7UVXWPrOrNrQ30\M~ZN~O~ZrVrWrSrYrUrb3LOXrTrRrQr^_`a\rb_rcP~^r]rdefII[rs0`rhbrijo3Mr71drQ~kcrar-CnoR~S~pKT~qZNrersltufrU~V~grvwxyz{|}hrW~ir~;D!jr7Horkrlr"1KDLPF$prqr>Fnrmr#*2&yrxr'(u1X~Y~vrursr{3rr2<)2,c9|r{rzr.Z~wr}r[~~r/%s$s\~&s-1!s"s0t99L1]~#s342K+s^~'s678,s_~9:)s(s`~;\7a~<-s=.s/s*sc~tr0saD?4s@5s3sd~A>b~2s8sB1s6sCD7s:sEe~9sFGHIsIOJ;skBm:?sMh~LNi~O@sAsPQBsCs48DsRj~Es/#=#*!0"t!p!s!u!/"J!K!v!\!$!1"%!?!0#1#2#3#4#5#6#7#8#9#'!(!c!a!d!)!w!A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#N!@!O!0!2!.!a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#P!C!Q!2"V"W"1!o!".!+.6Fpyw"%'128?AJRSY\w*:21=YB/\c^kjrL/tu%2`/>GcOUV{/~078;:E@?HJKnO[fl"S+0Pemr$2)*549V$}:u#:B==@R]^nystwu}{"$'/.54=BOikry5:FVXZ]_cjps]zDDN3{]u!"~I{36edkns*),l{4<>BVcwyz%/29BHI|Y^Q|fkz~!,/POWefqr~!-,67>=NOWZ\]aegiq"#8BLVY]v,KYL][gpm%+)52f~XZnprvt&.>N^l?u z0f9??~`W#/n7!k_ 1>   /8GQQQQRbri3g H 8  _0 (     `!!!!!!#_1111112222BFFVetz990ʥ@o@@@0 88 )9IUeu/2  @&xp(!!!!D##P%%%%'''(( *,----....`0@2222@44 5667 888899999B<<<======A B CCCCDDF HIIJ@KLMNNNNNOOQQQQQRRRR@STTVWW@XZ[[[[ \]!``a@b dddeff@gghiiii@kkkkklllmmmnooo pppqqqAttuvvvvwwzzz@{{|}}}}}}~~ @@@@@ @@@!     @@ CBG @e6wy(I/<G:hNW `C4fgupxl-d<ο{lEg_@  hu!!! ~*4.L7AsFIbQ, V_ _ikr%m#}?0x>@xf{gM FX:(#/6Y@2^H7Q]cny6*ϐ'UҭHqc > {@{Mg#"&D,7QAeFwS\effpv~QȄ*SpxOARbC שRHQ V  0f %s \! /g+ 3 A7 ͦ@ I lP ʣX ^ h j Rq y  } t   ٕ Н Y u b 7&  G %R ( O O t  5 >% d. q7 ~A aG N X wb x1i ,p Lw 8Q} Z H+ v M @ 2 ` C  4   *   kB !   $4 U@ +  x +# / : |PA yI RS ]] [h kr ND +  c + Ӵ C  ? ]   Q, h   \   I ! "' P- 76 :: iC KO hX M^ vi n au R} x |  < ó N M  q U 3 >! + 8 SA L 3T :\ sf n +w z ; * < % = >  q : A  K- }%(,5P>dCM{VDV\?e!iHkvw}wNƐɘ{nMJڼ=[@":;7 $"'[.4<TCN4hTYZub+zkq@uP|dPD@-H'.0jڲ|1Pq0cW!)2~< A3KQ]8cn{w>ۂ c#Eh6@>A+}ڥ[$06=@GF O[Xodkvz>{sHԸ.ٿxn!q)D-v6CODTv\`blvKc~|$N}KEV j/\)N,0 g#V*Y2>G_.Q`IV]is܍|؂ $ŋŜ`%]d~3l v>/ \ ~%2(_.yV7<wG:OT4ZegqR_zTUٻDI֤^:bF;-n"&W/u6Wq?ӁFNjRU^0emkVv"V\a8ڥaqbF"ؓVCCVoRS  t FK&/p6 < @!C=HuU\fmt`zD}GB_P 2?Ļ߹0Hpe %@Bf G t&0(8CLK@Q Yal!swPU}ʆDž:p՞y}Q>$, <R%/h8!@9FOdT`G}jIsi~}Ņчlw؟UYξq"`o H56I d24!0(,1 3:=tDMT!\Zb]b3gӑonw@{`\\!3p)F?v: m`."q+>2: AIJU.^jQrԍzKj*w ?2&q&  )3%)B*19iDN5eV`ňftMn/z؏/٦I^NEoHw[ 2 Y n),1tf9&?)HS_]]]]]]@]ck7ro}cUtDjԬ4kڻ ]RHDFH?xT&o/s5:9='E@MJP*bV@LZ;`kip?y(5-Oʏ5w^]l `* 2n;SG9M Sw]el nuf||"֛[#*"3@n6B WK 'A*4z=4`B KGS\bӕkuT!r&΢ E`>*1Kj X  o & ** 1 Z7 > yEF VM +S U \ (lb Hi Em iv J} j { A F U4  ) C L ? >  ?s  w! ! !?2!@!U !%!ˏ/!م7!–>!E!F!T5M!R!ZY! U`!l!.$r!\|!a!7i!Oz!/!2!+E!q!ҽ!!!h!U!t!Ѿ!C9!B!J"R"@"נ" \""}v-"-"-"-"-"-"2"<"A"?I"N"$vU"k]"j"ݹu"e"j^"_$"}""]"""""8""2" "H"D"D"®" "("@"Q""q"""1##U#,#C#!#kH(#a=0#5# 8#?#)F#Q#@W#H^#uvh#m#q#q#q#u#}##vd#:#u#/#o##`#S##s#+## $ $N$kA$E%$+$2$:$U>$tSF$K$&S$\$ c$>k$r$jz$P$݇$z$$ý$p$b$d$@$$$$N$$$)#$$(%%E %%&%!%T&%#/%<%$ @%/G%N%1\U%+P[%_%Le%pk%n%s%|%%"(%%%%| %2%L% %%%%%%%%%%%Z%;%Tz%=%yU%&%%%0%%& &&~&%#&t-&?6&?&?L&zW&fb& i& o&x&ZR&&Mk&&^&Wo&&r&aU&Mi&D&J&[&`&~&~&E&:8'9 ''O'$'('('('-'Ý6' ='@'L'pT'(Z'}f'Ql'|t'gz~'''''C'hq''z'7'`''.Ľ'N'i'A'=t''4''''''['(m ( (L(E(((8.(>7(E<(hB(I(N(U(}^(Cd(l(V)s(~(%(Q7(}/((N(⇶((n(((((](K((H((())T))@!)')41)߂:)Ȇ@)ɠF)'L)$P) ~W)W)W)W)W)W) ^)#d)m)pv)0))))к)A)))n)b̺))6)) )0)))) ))@)))))))))){)W)**!*,*,*`.*.*.*.*=*M*]*m*}******(*******************************************@************************ ******** *** ********** *** ********** ** ****** ****@***********`**************@*********** ******@***** ** *****************@******@**************@***** **********************@******@*** **********@**** ******-*** ** ****************************************+ ++++++++++++@+@+++++++++++ + + + +@ + +@ + + + + + + +@+++@+++++++++++ +++++++@+++ +++++@++++@+++++++@+++++++++++++ +++++ + + + +!+!+ "+"+ #+#+#+@$+$+$+%+%+%+%+%+%+@&+&+@'+'+'+'+'+(+(+(+@)+)+)+)+)+)+*+*+*+*+*+++++++,+-+.+/+/+/+/+/+1+2+2+2+2+3+4+4+5+5+5+5+6+6+6+6+@7+7+7+@8+$:+:+;+<+=+=+=+=+>+>+>+?+?+?+?+@+A+B+C+D+D+D+D+D+E+E+E+E+ F+F+F+F+F+G+@H+H+H+H+I+I+I+I+J+J+J+J+J+J+J+@K+K+K+K+L+L+ M+M+M+M+ N+O+O+O+P+Q+Q+Q+ R+R+R+R+@S+S+S+S+T+T+T+U+U+U+V+V+V+V+W+W+W+X+X+X+X+X+Y+Y+ Z+Z+Z+[+[+ \+\+\+]+]+]+]+]+]+`+`+`+`+a+ b+b+b+c+c+ e+e+@f+f+g+g+g+h+h+h+h+h+0j+j+k+l+m+m+m+@n+n+o+o+o+p+p+p+ q+q+q+q+r+r+r+r+r+r+r+@t+u+u+u+u+u+u+u+v+v+v+w+w+w+x+x+x+x+x+x+y+z+z+z+{+{+{+{+|+}+}+}+}+}+}+}+~+ +++++++++ +++++++++++++++@+++++++ ++@+++++++++++ + ++++++++++++++++++++++@+++++++++++++++++++++++++++++++++++++++++++++@+++++++++++++ ++ +++++++++++++@+++++++++++++++++++++++++++++++++++++++ܩīȫʫ̫ëΫɫ˫ͫëϫĥȥ{cWgViOkbmWhVjOlbnJLNPRZcgd+e+`+f+\)D+8+H+7+J+0+L+C+N+8+I+7+K+0+M+C+O++$w$-$x$/$y$1$z$3${$+%w%-%x%/%y%1%z%3%{%;%|%D%}%H%~%u&x&@ABDEFGHIJ}KLMNGOPRS^TUWYZ_!abdefghij~klmnHoprs_tuwyz@ABDEGHIJKMNOPRTUVXY[\^_abdeghijkmnoprtuvxy{|~FCSZ]fcsz}QqWwLl"tus%vw!!!!& "!0 "   9 :      "RS ! D* ,#v#aW,KK um#7: ;qLr"u$iI!i# v.ʪ ˒7`8?J\P\;gJgh32Ѻ@2o*34 ʣ".FyEy,z..n}95>GFجNV]X W ff` a aX!˩܂~'yr.'oy~'q6k-‹ӣӣ 5g֎Dۦ,W-r;s55JoPf"E#FERE]E^ů;ٲfί "բŠՠߠ!!7/[- Ş tO!wexeޞG ͣ ǟl/N# w//G kQ>GF*%  VIԟ+} ޠGʪ2`1`@<+(K^^j`i/Z12!ɠY{y Şeٞ"բƞ^{*}ɞ~v00ٞʟ9柪=12`9'P!R*n@L!QK""J!QTwexe?!RJ!L?!PNWVh˩`\!$ޟ-))Tg]$Kee S2ӪO cCxÀ~Ŧ=g''!'˂!'n"禒А!޲ߐ+Zë+ǫ̫!B.!786!7<]z͡ !|S00ҽ!J!!!AUAA~.:!!!E)U!!hh!!hh!1!!hh2,4,6,7,PȺ!1GW'J(,c4ʴ"""uB҃"";G["1"O"Y"u*+'"<"&"<"Kbdd %"FW"w"cD"O"Y"uAN>&"'":t4d"-K!"l9"1"Y"un"c"q"""""a,"w"c"1"O"u3eQ"q"""""aB"]e 懢p!P"iQ"c"""""a-@""1"O"Y,"W"c."";Śg=?Q"c"q""""aQ"c"q""""a"";B"dQ"c"q""""aQ"c"q""""a\"L٢ բ.&"'"<""""& ̢H⢲O"UȢǢK!K"""& "//U """"г"".ñ"ڢ""""򢱢"/103Qf87. )-5U!&1G<پ.3#A)i2#A)i@;:R66)f^P -SPT##MFL8չO##X#(U#=STe#w(>?@Yud#[X^)<}#{-r7d0ts#ƈ##9.##66t;wȂ''Ө%Ȏ#(.=a፣󮡣#®#ƶȮڮ.Юݮ#66t;w#உ%ɱл`0a滣" G# ##ţ##ţ##ţ##ģIFhA#6,zF|Fj )M5X# sEEE(7: ;Վ!P"nIyXLn'7:QO#T#5I_#&N0$rL%DU،&϶BΥaQ+%V&!xtP}%S%T%_%Z4$I3$IPMJ23$4?=68Ȧ$\ ݼ$ƥڥF1ܥ$KM&VV<㤌$0$0`j$Kڨ]$i%I z s!ˎayY$e(%^%E`5f)&AreX$\ ݅6`%%&'$ZZW#ўz#$^%E/$S%T%_%Zʥ. */$%T%_%Z/$%S%_%ZII$%E/$%S%T%Z$%&'TXXXǥ[&&&g&W=/$I'i5q$`%&'Y$~& z $11V''$DTU#X%thhcߤA%ԯ%t E[l\ij`7"oԤ0#N@|$&&.._%"'&&&' O&& &'&& &&&' &&&' &&&' &'&&&& !'&&&&&&!'&Ն!'&&&&&>8!:Ej92#3#iPnBB)h)l)N Zg)e)V)l)N2#3#A:V)h)NK)-)穝)$*Lf*٩)լEɅø)$*Lת*`v)-?*@ʩɩhXש0ͩx)x)橄檍)cAm LƩ"+C/*1⩆))L* *1ҩ*/*)@)?*P@)=0+F+~ 8(_Ї)fЩ2)'1m+2!*1D4*4*s)-u*Ҫ*C7&*Ԫv)t*F+~Ъ$vұ*"t*0+~SRkx+i555Yf+i555}|t*0+Fj+++++/ŗ`BuVyʨʉН!!+++ß+櫞++N[ᢠ+ƫ!ǫ+\ᤡ!QgRfMgNgOgmnd+++++/Ž+++++/Ł+++++/ŝ+++ý+쫁+++++/gڭJݫ++++++/š+!+۫+++à++++ + (K!K"ʢޣ+,,>,,>,,>uH.n&& ,{]k{l,{]k{l#,$,#"",#&%'/(-+)@'/('!4,6,7,P!2,6,7,P!2,4,7,P!2,4,6,PM!ƷdSJFl8[,HCO,HlbaBhf^W-r;sHB'*:܇P,---fff戡R-S----Ⱥ,˭ݬҬ"ҭ﬘X--ƭ,---fffᬗ N#'\-ȓ嬽-˚,S-ȩ,R-ȗ,r;s,-ƭ'-ȁ>so]--,,,--fff,,--fffZĬì0'T'ʧe)g,X-ƭ,,--fff歬-ԭ,X-,-׭ŭŭ,-׭,-֭ݭۭY⭏nVw#rg#p#c.dH%+C3H>̒_.ص/.6@G.Z.k&.6R/x;l&./XW'!..Z.kO,[(<;..G.k.صٵ.d.c..G.Z1~y.&u w.vr.Hࡃ....XSH,nv@᮫/ɱ߮.P.SJTԻ~7777ήӫ߮#.⮦#Ю#Ϯ#(=ᮣ.#.î.鮐#.##.&&&._%C&&&._%DY____pĸ 35X \\0 5L/0C3N* :>/H7<;9/H+9/>%/QP0.x;y&vUT/c2Z/GY/G\/]/^[/]/^[/\/^[/\/]`_/ferh/깯[/߰///_wj_/_"" e ) wĠ/t0///t0{įï1~.ɱ%#108>1Kkj4BV",$`#/0t3MM=̱߱RF!*$y#;0DZ// A&0_70ٯ0B19q0$`%%&ѧaԟ1ʰ#/1q0|0 v0ds//t!S0Z$$#u v0;0BX򱊱Y1Zc|0}"{ ٖ0 FRƀ09j1M*mz0NZX0 <16t10Z0Yx0ﰫQ֭Q}1|12!!!_!!&*Dm1%1V%1V$""ޢƯfs.ܯ?Ա0>+ͱ<ѱy/ܱұ0бϯ03"QK/22 '&20|1}\"20,)y"222&2/728628627>o#;LK3.Ͳ4ȴ²(ZMh#`2kڳH$˲Բײ2Ǵvs6w12tBUԴ7(ֲղݲܲn3ڴi234zƞ2Ǵϲ2/5>4 o#>˴/ ҳ44*8uI^ѳy ۳4 j2ڴw#;8'k#Ѵ ĴQ򴣴{\O?lbN%4G,_=A34*_73Gc\3Ӳ(4D4B44l3$MM=!ʴ^& -Ȳ"ʹ2zoUMvMΚQ2ȴA34*a岳2Q2!!Ų:42n$c,>3 ߲Hi22i4mF޴ pQE""沄:4մB4D5J2A344354Σ'KVK^K u#XYĢ"Ѣ]%#MN5[ؠf+x+55xLɵpiiEjq][5[ٻf+x+i55f+x+i55f+x+i555JoP5JoP5Klً5K5דe%k&k*k-5Yᬵuҵwȵ1LO._a.۵ٵ! O#T#5Bd!?6඘5B%d;G#&,ǶN 0/]6Uho55DCKI춁6ɶĶi<6`_߶Z6 ŗS6ɶjOUVtVAW{6Z\enEŭ66Ɔ##ƶֶ6ƆǨT###S6@gAAǤh5?=R@=Lnnf<6]G#"ע"2)Ms/.7SC8:65!_MYf): ,f79ӹIJn8Ƒ.7778.~777u4˹`+`890^^m]׸ ָ.~7779cSS#:2'5"Y.~777ú#H8z8n2巉#7z8nd7Ժ9c_8ۺ9߸7躪:ߺ;93!D ϷC:O9#'S#չRQ1:8+7Hh9K:3o778nF:s9ѹFa.~777׷")#F3ͮ98::8::6 8_3ºWXX+7`GZI8ݺ?bnոZh2),bշfebC8ѹPBaں:Sr.y>i8cӅJdٹ(Pㄷ8s`9pS#Le8K78#ǹ: 线 h"ԹiP}yӺ8|78عC7 k:κ:b\8j# ;47fG+08Oae8׹:-9U*:κ78zԹ:cRj޺I4787c:֗gkڹ8/8ߺ#88:߹۹88:ܷ0*:k:y |8q \818#7:C7)$պ'>8`0k18:O<1S;a;i0"_P~>X5 #'";a%1;[5$";Sh;ie;ie;hM >?Ro,W-s,W-r##w##t0.R/zy;=';;='~;;-='~;;|;|;ƻG@((;AmBߴ;#ϻλP6bػ׻߻fB ; <#<<#<+<<,")325<:4<:!4<5/#Y/Z/پ"ۼZ;沼Կ絡qKNؿm;ڙ=ڽ3>' >Q?zƢ߿&>ÿoܿ>???C¡!W| gS<ڽ>#&̾d?2 >??ǿšɡ}ġ< !Dl*۾{& >E4N=߿&=n;=?,=8`->?\@&= 򾣽ϡK0`JQѡHd󽅽Ľc>տ>ڿLp ?\@)Iտmew/#G<'N@T@gD>d\=?X<޾d#?{|UIy~ DF1L 2<>z=/\?[?󿦽T&׾n;= >n;= >g=?g=?Gid#>>!ܡc޼>/>UN=M\=>[?\\=>e慾d#>⾜=<Og=?ҿGFt<ݾ?,?(ڿ%K?qռE>T]>NO~߾žI! ggHJ@d~@}@l<<#B)bj#ۣI!nR-66gAA2HI.9:2IA,cJ AB$lL}@~Yi!AUA+@A0oAH@<A@B$%%6@gA@@A$@A‰:+:7Ο,,,j:XUBJJʜNBJJM\[ƒ<} Bu‚TfD>|(HBOL&&t#ŧ"LJRց+++++潟"'<"""kEu"':N]YEqŢRE]E^:(M:(L=`ũFE]E^DEqYBEFERE^ũFERE]Qœջgejh;EuDEY#EEŇ;EkSM#sEEzEŅt#sEE#sEEŏEގEdB'X Ƭg2! ưFdepb$%^%F&G9E=EaŴ$%^%I.1RƯšő;ƮEş_qƭ;F:nmƗ*$1 pFѠi*lƖŬ^rc?>EUF+kut#24<>Q?|Ffaaܠ#zƍ8ƍ8ƌ0.R/xs#}܋ƚ!ơƞƤ6EdƸFFƲFƱo7n=Obbi(}F|bT =F|baS/#Bǿ##ΘǖYN&%/+G`QFW\ ^ǼAP7edǩ#Ƕ/Ǟ ǒǪǠdždžQ6@gAǙԢ,ǰǩ6G گG 9H,?H&Iqbb[ȼȎ|(EhoȸȎȮ@I.*1+G&Iqbb[\1dAV'Hxn{n|88:9'-\'9ȩ,R-SU'YĽ3+xn|nHnH Yȕ懣,|(EuȜțWȧZifzf`'@jȍȮ@2H.G?Hqbb[:>Ǯ@2H;;:ɮɴɩɡɖɰɎFɍɄɪxoNCɡ@ɅJ?JU^JmIʺL:JILIj;OJiJI2J?JUJ>JUL7WʇLJ:&E#JR4h3JiIIaBJmQp9h:h=h3JOI1ʷJ^cʮJʆ1披ʳʵʯJNBUBJNBUBJʩʺʝ<0+wJʑJʑJʊʎ+ʥNBUBJv@ʜʍwJʦv@ʃGJN+o& vJߟZ JNJJMKs!Fgˍˊ!!G5VK^KSKKBK`i̲ K08CzG5'K^K̂9̏G5'KVKLP=LVLd!Y* :]ȲG5'KVK^L6\n+ KME˂5KӃQ'#L# |F̬qKˆ[KLmK̩$^EJ̹̤P̵;))$*6nnI ʤ̋bgnnn1,@J7;))$*̪EJN&㦝t̜LrMLNKNkΟ"LΟ"̪ΣΦ΢ΡΥΨΫιγνξίΰμα΋M .ΧηέMMκη.͢MN2%2NNN'λ&ΗN}ΓMΧ4vMΊ'NNΫMMN/΂MjNΧ4UM6mNqMF3LME|NΌNN M,MdMMNβQCN#i#Ͷ[N';0`4M=AΠMM΃MdMMN MN Z;0`4M=ϬN MiN&"#M LKNkϿ# 1N[ML!)&N/MN'Ϥ&wM%;04`4MͳMpN+*fΎNNLNkaN/.-ϽMN ςHNuMLNKxM'S0O3EN+O24ΙM$1۹dͣ,ϘN5VMΚMN/JNNΒN ϏN (MJNNΉN5/M2N'L4NJNNKM ͱ &N1θ !5dMMM:2MO1D30TBF<@9yLM?́hP]^NvpNuMjfbsaͧ4UMv^qM͆̓y͉MMNaΌ͏[M'ΙM|Έ>M;͚MκͽNiέͿMͬͳMC,Mͯ͹ͣ͜ͻͰ͠Mʹ͜Mb͞dMMM 7M +ΏN- }95/M2NΓ.FENpΈZURnN~posΉN;OPOuxİ ;<6 ;:FbbDEL=['(((NEB['(((H6OuMROSQOSQORp%&pOxwσ6ZOxφό ibZOpvψO٪!BWtψOYفOOYو҈җϑϐόϥϨϤϣϟϡI{! ϶OѴOѮOO`OϩϖYN7 Jɱ.,9'"̺seCЭLPwPv<~@PwPyhPo#'(fPjPpaPjPpTPouaPfPpoп*'oTPhPkPnaPfPj8,$}iB@PLPM,$tKЛLЛLЈЇЍxQ5њУůPз;Nk9QQ 7QݢZX 'VQѠQ:P Q: PѾQQ3Qfѿ;sQ P1+#QfѡaEQWQу>ѕѣ6#Q3ѿvKQ ޠPѩу0}тѠPxXѤ_{MjOOPP UFpJQ8ёQQJQoQg4#n?t>3h3 RbRb(d9;RkfYJ).Rk61/y:j#0y:c.R;q&pvRwRS\TsRwRS\TsRvRS\TyxIRTTˊOόҋIjֲұIzRTTTSU BfէԼ&&ELJVQ@U ֓5Ky!2Ӗ"&KbTmNe8y! JӕFӟӄ.ӘբX4NՈTFiU/8wξ’A-RRdoTUFWՖ=Ԅ.XG Z Ԕ5ӟrCkUi,mmTԾӽXԜ\#յN# -Pյ.JTEұ `S?IzRRT V׶%mթUU]Ӵ0Z.Sm@9FnҊ_4o%dFb#SԳ1>?ǖ=`3ոj-FbLՊ:wգ@.SJԲ ԼSIzRRT\Ӎ){J\#ӂԌԋqkӼ;ըԻ(#զK̔2UjhӇKUJU^N#lӸҸ[<ԉaӜ'ԀU 1TUp_jTԗܩ`7&YӶӟP(԰U oSTLիU R `S/J>J?J#7:  /$i(#5IzRRT=VFXoSTLJ>J?JtU үǯ$/c%XX c%TXk#^u&_XSಡk#[u&\XSdc6oٞꣵV*+jYgn;rO]M}` مطXeX3]ٴX2GYC+6 XC͆8LdٵXBtل4ٜFlحUY}td#e )88OOفOOOٚYYٔYٓYGِYYٽYyDzٷYټٰYٍ5YYٶ٧YٳYًٳYَُٓYG٘٧YِYY٬١ٿ٥٦ٯٲٷKYٵYYYYYZZۣۢۡۯۧۨۦ۱ۭ۪۫X2۰۾ڹ۶ۼG$V#۷ۻۿ៾۸o[$I[lg$j$mۋۏ߫=Zn[8}ׯۖ0%۬Z۪Zۀ[1J Zܺ Z[%ۍ[\Z/$%S%T%_%ܳۗ6 ܽ[Z ܊L'!$&Z%ܲ"![# [#F[*,~[+(|$)$)+[-[~,ZV[[Yە\N۞tkۖ@J̈>>@>>?sӂ0P\;gJJ0J\;gJsRvRwRTsRvRwRSZX܇܈*vnܲ´”&d´ƒB /+|O~ÃCy#d<ݎ]C\1HJݾ+ܾ+GJRI ]^POTݚMNS]$V#\1KUݕ"\(M&LFV]FMTߞ__ߝ__6j/_ߝ__ߞ///_߮ߝ__߫/_ߜߵߺ_`_`|9`TwN#K2`U#]E`r//&&&..%]_Cix\R`^`^//&&&..ߐT8>Jh߾_T`jo_ru8>0u&\X_ؾ_9ze `_:௾YA_E W߹____;&':Q4#0a;0k1`6-``Ha a a2a` aa` aa` a #`FG#(ۮG7tbQdRdl.6d:A?EQD.dp9(ж>c媷I$HCedOZdjccOcfakcdbhDbbb5dDLcpomDbbb!dn,bqbb`lTtbscRdltbscQdl䪷r'}dG?H&Iqb i_ts(e@)tbscQdRguv6OPJi#ZddbKaaa7FZ#&E !b~cd: bp=bd'%:b"fW7F=Ob3U=8^FbZd}lm@?>Db!d5Q4`b[Z("K0IGbHM.bh9,b8vzc:XbC{x,"W"w" bDRR8^c!PKbc&d'bzi/(!@)+.|c&UACco u3eHGvTdl~c[`pM(cwc+cLdem yJ362c.?Tc^qrO!xeO!weEFO!wexeeeeee'es!eĤeee f"   e?s!e5%k&k*k-/$%S%T%_%s!eeOee嶰e'^.ef")e?e+`4fpf3f}8G#^B'O'oQ@}&f}%fpfc&((殼h'Ah'@xsX\f]fȧIUfUG#)揯f(5w,,---fIzf%f4fHeFIif'&f3Uf\0(%f4fp'$时&(6ZfHh^E,,---ffZf#`0Iifz_'ޛ,,---ffZfGfff+MgNgOgmndl B7k/1Dp}̣fB7mm![ۻɾBAg'5g'=u@gH羼ff'u@ gH"!ffD0J\P\J-ǣu@ gƣ0J\P\;+fNgOgmnd+fMgOgmnd+fMgNgmnd+R+QZr!))]\SYr!))TLcgnnnbEh.emgqkgqgkgmgF͉ggIIA_tnN0ϑCX-A_gXmgqg-A_OoQͤuvwyzx{|}8h%h$h0h4gg,hNJhhJ:h=hhJ9h=h\VhJ9h:hnјThOh>6oߦ?[hZh{̟~>6Uhjh g qhh8!,h02A&$h%;.hJ9h:h=7NJ4FLRNSOhTMsbZh[Yeklpt0!!!Z[hhhh.hhhhhhhhhhh!!!h0!!!hh%hc%hcedfWhjIk lhnhmhntrqpszx i|\d_iw{!Ou\y{}'i~YЄoi|%i5iRgY%'giev4 \d iw%hhQ3i9HIEJLblmꯡin]por6bjtsin[jz5iEjqz5iEjq{}yu~xvi|i|w uOs.jQjWj7jjWjRiQj~zjGԜz5iiq:i.j(jjʰiitV"iz5iiEiib6ii[M uOUJkjjjW LBf-$j7A.jQ+8C>DO_VefdS^^QѸQS^^Qqhhwk"#>#[Cjk"~k"{#jk5e&k*k-5e%k*k-eĤ 5e%k&k-5e%k&k*;`1;`096,XN=WI!2,4,6,7G|}~nxl$kkvlk, ,{]{lkflkkvk:kkk(l l lwl.ls^lllklo%ckklrk, ,{]kZ[bwhotzrkxV_`m, ,{]k{kvXjz19#7kk:]hlw l  B 2l-(%)3>QHIl;5EL,fmm mv#m(&/0B4C?;PSQ`]m^Rm\arj~olnwm+fMgNgOgm d#wwHH|$~wwHHxi(z=oP×LnLbgnnLbgnnn6Ln6LnLbgnnn6LnLbgnnEE4H,.H,.HL)Z mk 2lIll  FƬg! 94ť55P5\MgQ55JgOo;TSopboaon%&ӦqoZjmьo;RTUW_aobY`\fljrwJoJooIIPIl$$Ұ$r̐ !"$&(*,-/1458;<BCDEGILMOQSUW\]^`degiknostvwy|      !"'(*-./34568:;<>?CDEFHIKLMOPQRSTUWXYZ[\]^_`acdefghijklmnoqstvz|~    !"#%'*,-135789:<=>?@BCEFGJOPQSUWXYZ[\]^abcefhjklmnoqrsuvwxz{}   !"#&'()-/7;?@ABJLMOPQTU]^_dhijmnopqrz    !"$')+-./123:<=?@BCEFHIKLNQRTZ[\]_`abcdfjklmnpqrsuvwyz{      #&')*+,-.01368:<=?@DEFGHJKLMNQRSXZ[]^_`abflmnopqrstuvwxy     !"#',-./012345789:;=>?ABCDEHKQRSYZ[^adeflotuvy|     !"#&+,-.0135678;<=>?@ABCEFGHJLOQRTVXY\]^_`abcdefghiklnoqrtvyz{|~    #$'(*,02346789:>?@BCFHJKLMOPQRSTUVXZ\]^_abcdefghjlmqrsuvxy{}                % & , 2 6 8 > ? @ B C E K M O Q U V Z \ ] ^ ` b d g h i k l m o p s v y z { |               " % ) , - 0 1 3 4 5 6 7 8 : A H I J K L M N O P S U X _ ` a b d g h k l m n q t u v w x y z { | } ~                ! ' ) / 0 7 8 9 ; < = > @ C D E F G I J K L M N O Q R S T V W Y Z [ \ ] ` b c f g i k n q t w x z { | } ~                   ! $ % & ' ( + , - . 0 2 5 7 8 ; < > ? @ A B C E F G I J K L M O Q S T U V W X Y Z \ ] ^ _ a b c d e g h i j k n p q s u w x y z { | } ~                       ! " $ % & ' ( ) * + , - / 2 3 4 5 6 7 9 ; < = ? A D E F G H I J K L M N O P Q S T U V W Z ] ^ _ ` a b c d e g h i k m n p r s t u v w x y z { | } ~       !"#$%),-.0124689;<ABCDEIJLMRW\`dfhiklnotvwxyz{|}    !#$&'(*+.01256789:;<=?@AGHMNPQUXYZ[\]^_`afijknpqrstyz{|~    !"#$%&')*+-./01235689:<=>?@ACDEGHJLNPQRTUVWXYZ[\]^_abcdeghijkmoqsuvz|}~   !$%&(,0156789:;<=>?@ACEFGHJLMPQRTUVXYZ[\]^_`abcefhijmpqruvwxyz|~    !"#$&'*./023489<=>?@ABCDEGHIJKLMNOPRTUVWXYZ]^`bcdhijlmoqrstuvxyz|}    !"$%&')*,-.012345679:=?ACEFGJMOPQSTUZ]^_`befgjklmopqrtvwxyz{|}   "$%'()*+-./012456789:;<=>?@ABDEFGHIJKMOPQRTUVWXYZ[\]^_`bcdefijklmopqrtuvwxy{|~   !"#%&*+-/01578=ABCDEFGHJKMQRTUVW[]^_cgiklmnopqrstuwxyz{|     !"#$%&(),-./012345678:;<=>?@ABCDEGHIJNOPQRSTUWXZ[\_`afghijmnopqrsvwxy~ #$&')*,./0123568:;?CEFHJNOQSVWXZ[\]^bdfgijlmnopqrsuy}~     !"#%')*+-.013456789;=>?@ACDEFGIJKMNPRSTUVXZ[\]_`bcdefhijkmnoprswx|}   "#$&()-./01235789:;<=?@ABCDEFJKMOPQSTUVZ[\]^`bcdefgklmnopqrsuwyz{|}~      !#$%&'()*+,-./02345679:;=>?@ADEGHIJMNOQSTUWXZ[\]^_abdegijklmnoqrstuvwxyz{}~    !#$%&'()*+,-./013456789:=>?@CDFHIKNQSTWXZ[_bcdfghklnoqstuvwyz{|}~     !"#$&'()*+-./0234689;?CGHINOQRSTUVWXY`abdefghijopqrstvwxz|}~      !#%&'()*+./01389;<=>@ABCDEFGHIJLNOPQRTUVXZ[]^_`abcdefghjknoprstuvxyz|}      !"#$&'()*+,./014678:;<=>?@ABCDEGHIJKLMNPQRTVWXYZ[\]^_`abcdefghiklnoqrstuvyz{}~    !"%&'(*+,-./02359:<=?@BCDFHIKNOPQRSTUVWYZ[\]^`acdfhjlnopqrstuvwxy{|}~                     ! " # % ' ( ) + , . / 0 1 3 4 6 8 9 : ; < > ? @ A C E F H J K M O P Q S T U V X Y [ ] _ a b d e g i l n o q r s u v w y z { | } ~  !!!!!!!! ! ! ! !!!!!!!!!!!!!!! !!!"!#!$!&!'!*!-!.!/!3!5!9!=!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!S!T!U!V!W!X!Y![!]!^!a!b!d!e!f!g!h!i!j!k!n!q!r!s!t!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""" " " " " """"""""""""""" "!"""#"$"'"+","-"."/"0"2"3"4"5"6"7"8"=">"?"@"A"B"C"D"E"F"G"I"J"K"L"M"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"^"`"a"c"d"e"f"g"h"i"j"k"l"m"n"o"q"r"s"t"u"v"w"x"z"|"~""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""######## # # # ############## #!#"###$#%#&#'#(#*#+#,#-#.#/#0#1#2#4#5#7#8#:#;#<#=#>#?#A#B#C#D#E#F#G#H#I#J#K#L#M#P#S#T#V#Y#\#]#_#a#d#e#h#i#l#m#n#o#r#u#v#x#y#z#{#|#}#~#########################################################################################$$$$$$$ $ $ $ $$$$$$$$ $!$"$#$&$'$($)$*$+$,$/$0$1$3$4$5$6$7$8$:$;$>$@$A$C$E$F$G$I$J$K$L$M$N$P$Q$R$T$W$X$Z$\$^$`$b$e$g$i$k$m$n$o$p$r$t$v$x$z$|$}$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%% % % % % %%%%%%%%%%%% %!%"%#%$%%%'%(%)%*%,%.%/%0%1%2%3%4%5%6%7%8%9%:%?%@%B%D%E%F%G%L%N%Q%S%T%U%V%W%Y%Z%[%\%]%_%`%a%b%d%e%f%g%h%j%k%l%m%n%o%q%r%s%t%u%x%y%z%|%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&& &&&&&&&&&&&!&"&#&$&&&+&-&.&/&0&1&2&4&8&9&:&;&<&=&?&@&A&B&D&E&F&H&I&K&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&j&k&l&m&n&o&q&r&s&t&v&w&x&y&z&{&|&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''' ' ' ' '''''''''''''''''' '!'"'$'%'&'''(')'*'+','-'.'/'0'2'3'4'5'6'8'9':'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'M'O'P'Q'R'S'T'U'V'W'X'Y'Z'['\'^'_'`'a'b'c'd'h'l'n'r's't'u'v'x'y'{'|'}'~'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((( ( ( ( ((((((((((( ($(%('((()(+(-(.(/(0(1(2(3(6(7(8(:(;(=(>(@(A(H(I(L(P(Q(R(S(V(X(Z(\(^(b(d(e(f(h(i(l(n(o(p(q(x(y(|(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))) ) ) ) )))))))))!)$)%)&)()*)+),)-).)/)0)1)3)5)6)7)9):);)<)=)>)@)A)B)D)E)F)G)I)J)K)N)O)P)R)S)V)X)Y)Z)[)])^)_)`)a)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)y)z){)})))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))** * * * * ***********#*(*.*/*0*1*2*3*4*5*6*7*9*:*;*<*=*>*A*D*E*F*G*H*I*J*K*M*N*O*Q*S*T*V*W*X*Y*Z*[*\*]*^*`*c*f*g*h*i*j*k*l*n*o*p*q*s*t*u*v*w*x*z*{**********************************************************************************************************+++++++ + + ++++++++++++++++!+$+%+&+'+(+)+*+-+.+/+1+2+3+4+5+6+7+8+9+=+>+?+@+A+B+E+F+G+J+K+M+N+O+Q+R+T+U+V+W+X+Y+Z+\+]+^+b+c+e+g+h+i+j+k+l+m+n+p+q+r+t+u+v+y+z+{+|+}+~+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,, , , ,,,,,,,,,,,,,,,,, ,!,",#,$,%,&,',(,),*,-,.,/,1,2,3,4,9,:,;,=,>,?,@,A,B,D,E,G,H,I,J,K,L,N,O,Q,R,S,T,U,V,W,X,Y,Z,[,\,_,`,a,b,d,e,f,g,i,j,l,n,o,q,r,s,u,v,w,x,y,z,|,~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,------- - - - -----------------!-"-#-$-%-&-'-)-+-,-.-/-0-1-2-3-4-5-6-8-:-<-=->-?-A-B-D-E-F-G-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-[-]-^-_-`-a-b-c-d-e-g-h-j-l-m-n-q-r-s-t-u-v-w-x-y-z-|-}-----------------------------------------------------------------------------------------------------......... . . . ............. .!.".#.$.%.&.'.(.).+...0.1.2.5.7.8.9.:.;.<.=.?.@.B.C.D.F.K.P.R.S.W.[.`.b.f.k.n.r.v.w.y.z.{.|.}.~...............................................................................................// !clbyen|SS"(c)a<<not-(R)^0+/-^2^3'uP.,^1o>> 1D 4  1D 2  3D 4 ?`AA^A~A"AAAEC`EE^E"E`II^I"ID~N`OO^O~O"OxO`UU^U"UYThss`aa^a~a"aaaec`ee^e"e`ii^i"id~n`oo^o~o"o:o`uu^u"uyth"yAaAaAaCc^C^cCcCcDdDdEeEeEeEeEe^G^gGgGgGg^H^hHh~I~iIiIiIiIiIJij^J^jKkLlLlLlLlLlNnNnNn'nOoOo"O"oOEoeRrRrRrSs^S^sSsSsTtTtTt~U~uUuUuUu"U"uUu^W^w^Y^y"YZzZzZzsfD}D~d~LJLjljNJNjnjDZDzdzSsTt2 3    ^'`_~"e'tHttJtM2BbDdFfMmPpSsTt`W`wWw"W"wa`Y`y        ------'','""""+o......o/oo5 5 5 5 5 <>!!/???!!?RsngEURa/ca/sCCc/oc/uFgHHHh'IILlNNoPQRRRTELTMZOhmZBCeeEFMoiFAX"Ddeij 1D 3  2D 3  1D 5  2D 5  3D 5  4D 5  1D 6  5D 6  1D 8  3D 8  5D 8  7D 8  1D IIIIIIIVVVIVIIVIIIIXXXIXIILCDMiiiiiiivvviviiviiiixxxixiilcdm<-^->V<-><==><=>-/\*" |+"+"+"+"+".".".".".":~/=<=>=<<>><<<>>>[NUL][SOH][STX][ETX][EOT][ENQ][ACK][BEL][BS][HT][LF][VT][FF][CR][SO][SI][DLE][DC1][DC2][DC3][DC4][NAK][SYN][ETB][CAN][EM][SUB][ESC][FS][GS][RS][US][SP][DEL][NL](1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)(13)(14)(15)(16)(17)(18)(19)(20)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)(13)(14)(15)(16)(17)(18)(19)(20)1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(y)(z)(A)(B)(C)(D)(E)(F)(G)(H)(I)(J)(K)(L)(M)(N)(O)(P)(Q)(R)(S)(T)(U)(V)(W)(X)(Y)(Z)(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)(w)(x)(y)(z)(0)-|+++++++++o+"+"+"+"::======kN(N6N?NYNNNNN?QeQkQQQQQQRRRSS8SAS\SiSSSSSVWXY YY'YsYP[[[\"\8\n\q\]]]]r^z^^^^ __P_a_s__b6bKb/e4eeeeeeefg(g kbkykkkkkll4lkp*r6r;r?rGrYr[rrssttuu(u0uuuvv}vvvvwww:yyytzzzs||6Q 3 nrxMk@Lc~҉7FUxdpʎIƑ̑ёwQ^bi˗ۘߘؚߚ%/2<ZuÞ͞ў ;JR 0ASDSESB0D0F0H0J0d00000K0Q0 0 0=000000000000!     abcdefghijklmnopqrstu` "#')+,-./26@GLWXY0000000000000000()()()()()()( )( )( )()()()()()(a)(a)(a)(a)(a)(a)( a)( a)( a)(a)(a)(a)(a)(a)( n)( i e)( in)(N)(N)( N)(V)(N)(mQ)(N)(kQ)(]N)(AS)(g)(kp)(4l)((g)(ё)(W)(e)(*h)( g)(>y)( T)(yr)()(]y)(R)(N)(|T)(f[)(v)(O)(nj)(TS)(my)(O)()()PTE(21)(22)(23)(24)(25)(26)(27)(28)(29)(30)(31)(32)(33)(34)(35)()()()()()()( )( )( )()()()()()(a)(a)(a)(a)(a)(a)( a)( a)( a)(a)(a)(a)(a)(a)(ai)( n t)(N)(N)( N)(V)(N)(mQ)(N)(kQ)(]N)(AS)(g)(kp)(4l)((g)(ё)(W)(e)(*h)( g)(>y)( T)(yr)()(]y)(R)(y)(7u)(sY)(i)(*Q)(pS)(l)()(O)(Q)(ck)( N)(-N)( N)(])(S)(;S)([)(f[)(v)(O)(nj)(TS)(Y)(36)(37)(38)(39)(40)(41)(42)(43)(44)(45)(46)(47)(48)(49)(50)1g2g3g4g5g6g7g8g9g10g11g12gHgergeVLTD(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000p1p2p3p4p5p6p7p8p9p10p11p12p13p14p15p16p17p18p19p20p21p22p23p24phPadaAUbaroVpcdmdm^2dm^3IUs^b-fT'Yckfl*h_O>ypAnAAmAkAKBMBGBcalkcalpFnFFgmgkgHzkHzMHzGHzTHzlmldlklfmnmmmmcmkmmm^2cm^2m^2km^2mm^3cm^3m^3km^3m/sm/s^2PakPaMPaGParadrad/srad/s^2psnssmspVnVVmVkVMVpWnWWmWkWMWkMa.m.BqcccdC/kgCo.dBGyhaHPinKKKMktlmlnloglxmbmilmolPHp.m.PPMPRsrSvWbV/mA/mgal1e2e3e4e5e6e7e8e9e10e11e12e13e14e15e16e17e18e19e20e21e22e23e24e25e26e27e28e29e30e31eHfʎȌn2NSQYёUHYaiv?jmps=jNuSkr-P]oͅdb؁^gjmrΐOQRdjrv\2oxy}Ƀ֊X_`|~brxŒXb\jmo/}7~KRQQz}ubj9N[`spuSxO_ Nlxe"}S^XwIklbceuNiQQh|oҊϑRBTsY^eo*yjΞRfwkbt^abd#oIqty}o&#JRRTpˆ^_{ck>|usNV[]`sitF4HOy`NP[?\ejqBv|f.R{ggAmn tYukx}^mQ.bx+P]m*_Dahs)RTe\fNghltuyψ̑?SnTqtWgmz {|rpXN6:RR^b|[mf;LM^@QUZXtfQ*svyIyHyPyVy]yyy@zz{} ~A~ryyW9ӌ8;fffiflffiffltsttvtetk~vtm+> > > > ___,0.;:?! (){}00#&*+-<>=\$%@!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~))0 0 0000000000000000000000000000000000000000000000000000000000000d1112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1 %!!!!%%ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefgijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzACDGJKNOPQSTUVWXYZabcdfhijklmnpqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABDEFGJKLMNOPQSTUVWXYabcdefghijklmnopqrstuvwxyzABDEFGIJKLMOSTUVWXYabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz""""""""""01234567890123456789012345678901234567890123456789=N8NAN"`OOOPzPPPP4:MQTQdQwQ4gQQKQQNQQߑQR4;RFRrRwR5RRRRSSSISQSZSsS}SSSS, ppSSc SSTT8THThTTTUSUcUUUUUUUWVWQVtVRXWW XW2X1XXXXYY"YbYYZ'ZYfZ66[>[>[[[[[[\S_"\7`\n\\\C]n]k]|]]]/8](^=^i^b8!|8^^^^^1#1#"_"_82ab_k_8____`:99`&`HaLaNaLazaaaaaaaabb]bbbPc +=cbhccc+"dcc.:id~ddwdl:Oele 0efIf;f;:QQgfCgg!g^gSg3I;ggRhhm4hhi;Biiij6j<!k8TkN<rkkkk: :Nl<llglm>mwmAmimxmm=4m/nnn3=nn>mno^??o9ppp=Jp}pwpp%EqcBqC(r5rPrFrr5GHzss>s>>Gt\tqttt?$u6L>uLpu!vOODP?@vPPQ3QwwwJw9@wF@@TNxxx@&VVyVVyy/A@zJzOz|YZZzB[{{'B\|B||}_c}C}~E~4C(bGbYCbz>cd#e`ep_3C D>Zgg33kDRACFLRXZ]`cfiknpsvy|  "%(*,.02468:<>@BDFHJLORTVXZ\^adfhknprtvxz|~   #&(*,.0258;>ADGJMPSVXZ\^`bdfhjlnprtvxz|~   !$(-/269=?ADFILOTW\`dhjmquwz|~ $(*-1469=BEGJNPRTVX[_bdgkpsux|~  %*/5;AGMSY_ejpv{  #(-27<AFKPSVY\_behkosw{ #'+/37;?CGKOSW[_cgkosw{   !#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{}             ! # % ' ) + - / 1 3 5 7 9 ; = ? A C E G I K M O Q S U W Y [ ] _ a c e g i k m o q s u w y { }               ! # % ' ) + - / 1 3 5 7 9 ; = ? A C E G I K M O Q S U W Y [ ] _ a c e g i k m o q s u w y { }        $ ) . 3 8 = B G L T [ _ c g k o s w {       ! & + 0 5 : > B F J N R V Z ^ b f j n r w |        # ' + / 3 7 ; ? C G K O S W [ _ c g k o s w {   #'+/37;?CGKOSW[_cgkosw{ !$*17;AGLPTX]chlptwz} #'+/47;@CIMPSVY\_behkosw{  "%(+.147:=@EJNSX]afjpsw{  #&*258;>ADGJMQUY]aeimquy}.   !#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{}   !#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{}   !#%')+-/13579;=?ACEGIKMOQSUWY[]_behlpsvy|   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~   "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~              " $ & ( * , . 0 2 4 6 8 : < > @ B D F H J L N P R T V X Z \ ^ ` b d f h j l n p r t v x z | ~ !!!!! ! !!!!!!!!!! !"!$!&!(!*!,!.!0!2!4!6!8!:!!@!B!D!F!H!J!L!N!P!R!T!V!X!Z!\!^!`!b!d!f!h!j!l!n!p!r!t!v!x!z!|!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""" " """""""""" """$"&"("*","."0"2"4"6"8":"<">"@"B"D"F"H"J"L"N"P"R"T"V"X"Z"\"^"`"b"d"f"h"j"l"n"p"r"t"v"x"z"|"~"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""##### # ########## #"#$#&#(#*#,#.#0#2#4#6#8#:#<#>#@#B#D#F#H#J#L#N#P#R#T#V#X#Z#\#^#`#b#d#f#h#j#l#n#p#r#t#v#x#z#|#~###############hhhhh`hhh@hhhphhh0hphhhhphhhPhhоh0hhh0h0h@hhhPhhh h@hhhh0hhhhh@hhhPhhhhphhh@hhh`hhhh`hhh hhhPhhh0hhhhh@hhh@hhhhh`hhhhh0h`hh@hhhhhh@hph@hhhPh0h`hh@hh@hh0hhhhhhhPhhPhh h`hhhhh`hh0hphh0hh0hh hhh0hhh@hhh h`hhhh@hhh hh0hhhh0hh hhh h h0 h`hh0hhphhhh0hPh h h%h-h-h.h /h/h 0h1h2h5h8h8hp>hDhDhEhFhGhpIhPJhJhpKhLhPPh0QhRhRh0ShUhVhPWhXhZhp[h[h[hP\h\hhph ]h`]h^h0^h^h^h _h`_h_h`h`h`h`ahbhbh dh0eh`ehfh@fhfhghpghghhhPhhhhihihih0jhpjhjhkhkhkhlhlhpmhmhnhnhohohPphphqhhshvhvhhxh0|h`|h0h`h@hІhhhht&UWVSl$$$B$$0D$,tU$0D$,t@$NQ$@shD$,D$D>0L$,$t$  h؁0%\$@M(1ۉD$(L$$t$ $T@|$ $T$Q~ 9CC)ƃ~ĉ)l[^_]Ë|$$@$~(t$ uf|$(u D$,Dt&$ wN$S$ $= t$ $D$|$$Rjt&$W$@h|$$@hDhY(T$\$19sGt&t$ $T|$ $T$QtI~ 9C);\$rt$)l$@$o(t$ $|$L$L$^떸봋$w$-@@h$'w$?h$/w$-@=h$<$w$`9h$pw$-8h^$3$/w$ (h'$pw$-'h$w$ h$w$-` h$ Ww$`h$ w$-hf$!w$ h=$"_w$-h$"/w$ h$$w$-h$%?w$h$% $ *$p*w$-hZ$.$.$/w$h$0w$-@h$01_w$h$1w$- h$ow$ dhn$Ow$-chH$H'w$]h"$w$-\h$w$h$X$-shvvd '1$ HkD$ $T$NT$$l$PL$$辑@WT$NL$O ʉӉ ^h^hЃ_hJD$?|$?tс01T$PT$Ttˁ01 |$?t\$?01)v'}|$4$1ۉt$09Q(T$8}>t&'t_t$ $TP|$ $T$Q~9wPC)9|͋t$4J$@l$8t$0o(|$4ҍVURRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR cR)8JRRRRRR;{-dR:D RRRR1RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRCNR8866862CP1361CP866CP1251CP1256CP1255CP1133ASCIICP862CP1253CHARCP1252CP936CP1258C99CP932ISO-IR-6CP819ISO-IR-166ISO-IR-165ISO-IR-126ISO-IR-58ISO-IR-226ISO8859-1ISO8859-6ISO-IR-138ISO8859-5ISO8859-16ISO8859-15ISO8859-3ISO8859-2ISO8859-13ISO8859-8ISO-8859-1GB2312ISO-8859-6EUCCNISO-8859-5ISO-8859-16ISO-IR-159ISO-8859-15ISO-8859-3ISO-8859-2ISO-8859-13ISO-8859-8ISO-IR-101850EUC-CNISO8859-9ISO-IR-199CSASCIIISO646-CNCP850ISO-IR-203CP1250HZISO-8859-9CP950ISO-2022-CNISO_8859-1CP949ISO_8859-6ISO-IR-148ISO_8859-5ISO_8859-16ISO-IR-109ISO_8859-15ISO_8859-3ISO_8859-16:2001ISO_8859-2ISO_8859-13ISO_8859-8ISO-IR-110ISO_8859-15:1998ISO-2022-CN-EXTCP1254ISO-IR-149L1L6L5L3L2L8ISO_8859-9ISO8859-10CSISO2022CNISO-IR-179UHCISO-IR-14ISO-8859-10CP367ISO_8859-10:1992ISO-IR-100LATIN1CP1257LATIN6ISO8859-4LATIN5TIS620ISO8859-14ELOT_928LATIN3SJISLATIN2LATIN8ISO_8859-14:1998GEORGIAN-ACADEMYMACISO-8859-4TIS-620ISO-8859-14GB18030X0212L4ISO-IR-57ISO_8859-10IBM866ISO-IR-157ISO-IR-87ISO-IR-127USCP874IBM862MS936ISO8859-7L7LATIN-9ISO-IR-144L10X0201ROMAN8ISO-8859-7ISO_8859-4IBM819ARABICISO_8859-14GB_2312-80BIG5TIS620-0UCS-2X0208CSBIG5CSKOI8RGB_1988-80BIG-5KOI8-RIBM-CP1133JPUS-ASCIICN-BIG5LATIN10CHINESECSUNICODE11ISO-CELTICCSGB2312ISO_8859-7CSISOLATIN1CSISOLATIN6CSISOLATIN5TIS620.2533-1MACCROATIANCSISOLATIN3UNICODE-1-1CSISOLATIN2KOI8-TCSISOLATINCYRILLICIBM850MS-ANSITIS620.2529-1LATIN4GEORGIAN-PSEUCKRCSISOLATINARABICECMA-118UTF-16ARMSCII-8EUC-KRISO-10646-UCS-2UTF-8KOREANCYRILLICUTF-32TIS620.2533-0CSUNICODEISO_8859-5:1988ISO_8859-3:1988ISO_8859-8:1988LATIN7ISO-2022-KRKSC_5601MACTHAICSUCS4UCS-4CSUNICODE11UTF7ISO_8859-9:1989CN-GB-ISOIR165EUCJPIBM367HP-ROMAN8ASMO-708ISO646-USISO-10646-UCS-4UNICODE-1-1-UTF-7EUC-JPWCHAR_TEUCTWISO-2022-JP-1CSHPROMAN8ISO646-JPCSISO2022KRTCVNISO-2022-JP-2ISO_8859-4:1988EUC-TWCSISO58GB231280MS-EEISO-2022-JPCSISOLATIN4CSPC862LATINHEBREWNEXTSTEPISO_8859-1:1987ISO_8859-6:1987CSIBM866ISO_8859-2:1987HZ-GB-2312WINDOWS-1251WINDOWS-1256WINDOWS-1255ECMA-114WINDOWS-1253WINDOWS-1252WINDOWS-1258GREEK8MACROMANJIS_C6226-1983CSISO2022JP2WINDOWS-936JIS0208VISCIICSISO57GB1988KS_C_5601-1989CSISO2022JPCSVISCIICN-GBMACARABICWINDOWS-1250MACROMANIACSKSC56011987JIS_C6220-1969-ROUTF-7CSEUCKRCSISO14JISC6220ROWINDOWS-1254CSISO159JISX02121990ISO_8859-7:1987MACICELANDWINDOWS-1257GBKKS_C_5601-1987TCVN5712-1TCVN-5712UCS-2-INTERNALMACINTOSHUNICODELITTLEUCS-2LEANSI_X3.4-1986MS-CYRLANSI_X3.4-1968CSISOLATINHEBREWMACCYRILLICCSMACINTOSHCSEUCTWUNICODEBIGUCS-2-SWAPPEDCSISOLATINGREEKUCS-2BEKOI8-UUCS-4-INTERNALVISCII1.1-1KOI8-RUUCS-4LEMS-HEBREXTENDED_UNIX_CODE_PACKED_FORMAT_FOR_JAPANESEUTF-16LEMULELAO-1UTF-32LEMACCENTRALEUROPEUCS-4-SWAPPEDWINDOWS-874ISO_646.IRV:1991UCS-4BESHIFT-JISJIS_X0212MS-ARABGREEKUTF-16BEJISX0201-1976UTF-32BEJAVAJIS_X0201HEBREWSHIFT_JISJIS_X0208CSISO87JISX0208JIS_X0212-1990JIS_X0208-1983TCVN5712-1:1993CSSHIFTJISJIS_X0208-1990MACUKRAINEMS_KANJICSHALFWIDTHKATAKANAJOHABCSPC850MULTILINGUALJIS_X0212.1990-0BIG5HKSCSBIG5-HKSCSMACGREEKMS-TURKMS-GREEKBIGFIVEBIG-FIVEMACTURKISHWINBALTRIMMACHEBREWCSEUCPKDFMTJAPANESE&N>1 0d1'",)+0E7=0C)JO(VY\.cgTmv|FPO""!%X,7X=H"TM_!kv/X N/!&]`[ c)4?"KV!bm"~!\*Q [c!J+7=NY`-gnxF S  A2F ZM N 1'2L<GJGP0WY]gj!r}"K> O_FL_#N_# EJ!_)"1O9E PXYdp|F5C/(FBb'07@AbHX^Qen uFeQ=PR#*>4=GWiRpx^~V>JeIW^O&U0?!1A1JZ]e'r,+)(.2LWYLH N Q U, H5 X; <E &R 6] Qk J}  b J * M  4 - Y Q I I  2( 6 > M 'U d u 7 2 ^     $  H %  + R. 7 DA J 3[ i Gu  S M ,  K  K  S L L M L( I8 SC LR 8] Sf Kz d / M a a 9 * ) _ _ : - ; RCP856CP922CP943CP1046CP1124CP1129CP1161IBM1161IBM-1161CSIBM1161CP1162IBM1162IBM-1162CSIBM1162CP1163IBM1163IBM-1163CSIBM1163DEC-KANJIDEC-HANYUCP437IBM437437CSPC8CODEPAGE437CP737CP775IBM775CSPC775BALTICCP852IBM852852CSPCP852CP853CP855IBM855855CSIBM855CP857IBM857857CSIBM857CP858CP860IBM860860CSIBM860CP861IBM861861CP-ISCSIBM861CP863IBM863863CSIBM863CP864IBM864CSIBM864CP865IBM865865CSIBM865CP869IBM869869CP-GRCSIBM869CP1125EUC-JISX0213SHIFT_JISX0213ISO-2022-JP-3TDS565ISO-IR-230RISCOS-LATIN1'fg hij k'l.l6l?lImPmXmamknrnznnopqqqqrsssttttuv vvvw$w+w/w8x>yDyKyOyXz^zezizozx{~{{{|||}}}}~~~~~%//TRANSLIT//IGNOREUWVS|$D$(l$0D$$l$8vx ,a<w D$҈t#Kt@AD$'|[^_]ËT$) ~'T$Ph uT$D$(L$)~'T$[huT$D$$|$0t(T$)Z+1҅҉P@=u 8BD$,=tD$,l$$8,a<w D$҈tK@AD$ы\$) ~T$Ph uT$L$)~T$[huT$|$0t(T$)r+1҅҉@=u $8)S=t$4&tsp l$,@4 hh<$hh@(p tx(hh,hhh0hhl$(PH x$ph@hh,D$$C0% hJ,$hT${%tNu1҅҉uT$,$b=Q h}h}h8L$0r|$1t$<$ % hhJ,$hT$$tNu1҅҉zT$,$=QP hA}h}h8L$0*zt$1|$4$k$ h &T$$\$L$ \$,ҋD$0t:uD$\$ $Q\$É\$ \$(D$T$\$ $ T$$#1 Ít&' D$\$T$t$L$$h h`hghthht&1pht)Pht1v'1\$t$ þߋB9BuB,1ۃ9ÉZ,̋B0ꍴ&1ۃ9ÉZ0"룐Ul+WVSr"111ɍ hx*$htt}hFCQv1ۺh hhLCFIvڃw|19sMl$܄1܀CLG9s 9܄tw,l$$+<$T$$+u9rl+[^_]D$ ЍhD$|$,$ D$ h$D$t$$ \v'T$$t$t$ J\$+w5T$4$=Qw  hx}h}h8tt&1ҋ\$Ћt$ÍJV$L$^! htѐWVJSh|$ <$hT$!tNu1҃[^_Ðt&T$ xL$Љ T$ w L$ÍL$\$\$ t$ t$xʸ\$t$ Àvw/K~I?w̉ ø부w]~Y4~썊 CKK븸뱐UW1VS\$ l$L$u~It|AAAƒt uu)[^_]Áw(v L$uظэt&AAA낉 T$$\$|$L$t$|$(vxG(1u$~UBBBwC~)ٍFZJJG('$t$|$ Ð'|$L$ ~FAAAw(wËL$øÉ'T$ L$w6(=v)|$~AAQøv|$L$ ~FAAAw(wËL$øÉ'T$ L$w2(=v%|$~QQAø&UWVST$0D$t$8BD$|$G9|$<x>hډكt!D$4t$T$0rt&[^_]À+uD$9D$<~-1|$FD$t&D$\$1D$ 1퐍&рAoHD$ ؃FFt&';l$t-L$T$ D 9D$Y/?K\$ -t D$^D$F쐋L$4l$|$0+o UWVS T$ D$|$(t$$Z(uGw(ht [^_]+F+D$hh1tٍEwED$l$9l$,|ڃv؃w@€AFwht-Ft$ F(D$/3w€G빃=w€뭃>+t?/t<ڿD$L$9L$,v؃XO Јـ?эt&wAFtul$ ]("3w Gލ=w ΍>t ?/붱+O Јكу낉qO ؉ىLD$  ͉كv D$D$|$,V-I v' 1L$t$t$\$Q(уt/ۃ9\$rvЃw€AF-؋\$t$ Í3w€Gڃ=w€΃>+tǃ?/t t&|$~&L$ (f=v L$ùT$ w((v|$~ L$føt&|$~3L$  э(f=v L$ù T$ w5(v'|$~ʸ ʋL$fø&|$~L$ L$Í&Ív'|$~D$ L$øÍv|$~9L$ Љ% % ѸT$ Ðt&Ív'|$L$ ~5ȉ% ‰% ʋL$Í&Ív't$t$ l$l$$\$|$ \t$L$ډ\$t$|$ l$É~VuUt \$\$1ۿv';,$~$0,0< wW$ Ã<$ ~Ёv(w$t@t`t Kl$ ]:рAw7뜈рaOW$1ۿ ;,$$0,0< wS$ Ã<$~́v(w$t@t `Xt$vрAw7레рaW덍&'WVSt$\$w [^_ÁwOu9|$|S\x% ك [w 0JyW U믃|$|$$l$l$(\$t$ \t"L$ ډ\$t$ |$l$Ã~ut \$ \$1 ;,$~$8,0< $ ƃ<$~̍(we\uVupD$ $;,$*$8,0< wM$ D$<$ ~ʋt$D$ |$ $ /рAw7릈рaW듋T$ 2рAw7рaWvSL$\$ T$w [Ðt&w}~\ Cu wY0C w?0C w%0Cʃ w0C댈WWوW뿈W륁c U\Cu %  0K 0K 0Kу ʀ0S C\ Cuwaʀ0S wEʀ0S  w)ʀ0S  w0C vWʀWՈʀW빈ʀW띈ʀWvWXW9WL$ L$Í'T$ w L$ÍvL$ T$h맍gw >h듁%u뇍&'L$ T$xÍ _hvT$ L$wÍ`w`htÁtt⍂_w ]hʍw Ah붍w Ah뢍gw@@h뎍&L$ T$xÍ ahvT$ L$wÍ`w chtÁtt⍂=w _hȍw hDh봍w Ch렍gwBh댐t&T$ L$xиÍ@dhftÉT$ L$wÍ`_wehtÁSt썂Ow  chԍ'w Fh"!twDh뢍t&'T$ L$xиÍ`fhftÉT$ L$wÍ`_wghtÍwghލ&@w fhÁt'w PIh륍w hHh둍gw Ghz%vgT$ L$xиÍ ihftÉT$ L$wÍ`_wjhtÍP?wehލ&w KhÁ t7wph륍&'T$ L$xиÍ khftÉT$ L$wÍ`_wlhtÍ=w xghۍt&& uذˍt&T$ L$xиÍ`mhftÉT$ L$wÍ`wnhtÍ_wahލ&w OhÁ"!tw wh륁u뙉T$ L$ T$ L$w\t~t Ðt> u~É\ԍt&'SL$\$ x(\t~t [> й_<>wΐST$L$ w"\t~t[Í&t-> t >wՈӀ@Ǎ&~\붍S\$ ʀ!v Ⱥ,0 T$ L$w$t~t Ðt> u~É$ԍt&'S\$ ʀ!v Ⱥ,0w hfu [ËL$ t&=w{ h T$|$t$t$$|$V_@ ht{щu$t$|$ úJ!׉᪪%UU<%33<%<<  h^{Ow` hB/w h#Nw hbw h h ,\$\$8t$ t$<|$$|$0l$(l$4;(t$ \$l$<$t\$Ћt$ |$$l$(,Ív;*tt$ \$l$<$ʍvN~Kˀ!]w$t~t uE> Et&SSр!AL$D$ l$<$+fL$T$T$T$r',\$\$8t$ t$4|$$|$(t\$t$ |$$l$(,ÉV v@w܉T$wX$tS~tN\$t'Hu\T$р!]wO~*V뒉|$ \$t$,$$yt> u~$t&'S\$ ʀ! vʀ0vȺ,J<3wR&|$~?SӀ!]w,k^ڍ =w/=Zw hfu [ËL$ t&= w=wܶh=%"w$h뷍& T$|$t$t$$|$u_:ht{щu$t$|$ úJ!׉᪪%UU<%33<%<<  h^{ow4hBw1h#Qw +hT+w (hwhhUWVST$|$ 2T+wx%I$㾇aӍ))މщ)<`h)`hf.`h   ߋt$^[^_]>h\$ʈK޸ ,T$8\$ \$Kx'\t~> n&',\$\$8t$ t$4|$$|$  Ww.Oȿ]ALk^Ӏ (ʀ_OT]ALk^, F(وˀ_W~_\HuZOKt4> t">ڀ@T$D$~D$\ L$(\$\$,t$t$$x2\t%~t\$t$É> ݈_<>w Ɉ<D$v  < K~Iˀ@>v ˀÀ|wwD$v?x`@]vO"\$fЁ Ӏ]T$f\$w(!BT$T$ D$ t$$0,=!므A랸< wKIˀ@>v ˀÀ|wiۼɍ/xٍDٍDv'UWVS\$8|$4t$l$<$\~\$v't.H5T$x[^_]Ðt&р_>vD$ T$0\$t$$jt,~T$N,!w@GOAƒ!щÍJtJ=w,뾈,?븁t4> t >ڀ@~t&\v,L$8\$ \$w ׈<K~Iˀ@>v ˀÀ|wtwix\@]vK"\$fЁ Ӏ]T$f\$w$!BD$ T$t$<$J,=!변A뢈?땸+ < Vt <vv)KD$ L$t$<$虈< wKIˀ@>v ˀÀ|wiɍ/xٍDD'UWVS\$8|$4l$<wL$f fL$t#HD$x[^_]Ít&t$f\]~T\$'tHpT$р_>wD$ T$0\$t$$t43fT$N,!w@멈Aƒ!щÍJtJ=w,Ɉ,?Át0> t >ڀ@~\}8&U1WVSl$0L$8t$<]&<umB9|2Q(t=$u)Q@tBux9}])׃[^_]QBtJt܉1rcz9|$|xAyx;D$ T$4L$,$T$tuhE|$oeXt$4>]zD7<\t<~u׋L$4> ԋD$4ط&UWVSL$8|$0\$4l$1҅DR9ź| t1C(CBT$‰w([^_]Ã\~L$tKHT$҈T$x71ɺDI9|tC(CJT$mD$ T$L$T$<$ tdD$D$xN|$xG1҃LR9ͺtC$CBT$T$St4> t">ʀ@T$D$~D$\ߵ D$T$H(t"|$ ~B(BBÍt&1t&'UWV1ST$0L$8|$ ˋD$4}'UWVS|$8l$0t$4](wfL$ fL$tNHL$x>1҅DR9D$<|t1F(FB‰]([^_]Ív~\u~jD$tCHL$x31҃DR9D$<|tF(FJ{D$ L$|$L$,$t^.L$xL|$xEЍ|R9|$<-tF$FBL$N|$|$D$ |$,$tmT$҈T$xW|$xP1 9L$<tF$F(FDT$T$Vslt/> t>{@iD$~cD$\YvD$T$H(t"|$ ~B(BBÍt&1t&'UWVSt$0L$8|$<^1É݉D$<^9|GQ($.uTQAtD$Fu-S9}D$D$)t$\$0 ʼnkD$[^_]D$Nuttr݃AD$x D$4D$€xM\t<~t(|$4D$~I]hT$4> ҋD$4,!<>w뫍^9xUyxOD$ D$4t$0L$D$4$ D$T$D$0 ՉhUD$^9xyxD$ T$4|$0L$T$<$D$^9_xyxL$t$4L$0D$ t$ $<<^9%XyNL$|$0L$4D$ <$L$jk0UWVS|$0t$8l$4O(ى\$ʼnˉD$~!wL$f fL$HT$x1ɿ|$DI9D$<|I|$tEE(EBD$U t/ t*d$|$l$0t$ lj]([^_]ÍvD$̍<|~h'$&hv-h&h6(hW*h*h+hwfL$ fL$tHT$v#`ht&D$tHKT$x71ɿ|$DI9D$<|$tEE.EFD$E€ENU끍Ow hTwh=1ɿ|$DI9D$<`|$tEE.EAD$x\~D$tH6T$[D$ D$0T$t$T$$tT$x |$D$ L$0D$t$D$ $~T$h|$]1|$ 9L$<P|$tEE$E(EDD$UT$U|$l$0d$t$ ](1|$L@9L$<|$tEE$EBD$UT$Ut$l$0d$|$ 1ɿ|$DI9D$<|$OEE(EJD$3t/> t>"@D$~ D$\D$ T$0L$t$L$$T$|$1|$L@9L$<|$|EE$EAD$`D$ T$0L$t$L$$RT$<|$11|$ 9L$<$|$EE$E(ECD$T$w\tz~tuL$&IT$1ɿ|$DI9D$<|$tEE(EID$€UNt0> t >y@ h~`\XрAw ƒjjatpaRHt-t&l$d$!L$0t$ Y(1d$L$T$t$0 T$l$n(׃huud$L$҃ud$L$뾃otio7kuld$L$D$\$0 D$|${(izt9d$Ӄ)d$L$뻃d$L$5d$L$눍&t&'L$T$y(t#|$ ~B(BBÐt&1t&'L$(\$\$$xЉ\$ЃÍ1҅D9D$<|t ~1F}‰]([^_]Í&|$|$D$ |$,$Ŀt_udL$ɈL$xM|$xF1L9L$<|u~F{T$T$Vs&eD$T$H(t!|$ ~ ~B}Í&1,L$8\$ \$v v't#\$$t$ t$D$T$BP릍t&'L$(\$\$$w t \$ЃD$ T$T$T$ L$$Pt̃u"|$,~T$L$KY',t$ t$8|$$|$4l$(l$0\$xӸ\$t$ |$$l$(,À|$<~Vр@>v vktfw-ibChfumtat*D$ t$|$,$NY't AD$ t$|$,$ [ Ӏw똉 @jv,\$\$8t$ t$4|$$|$ jD$D$ED$D$&&0&w$%yt%mD$D$Zp==H<^trt[tDt-tdD$D$DD$D$D$D$GD$D$FD$D$D$D$@D$D$QthuD$D$BxD$D$Ni &A&o"t>"t'"t<"D$D$D$D$ D$D$Av,\$\$8t$ t$4|$$|$v5w+v|$<|$$\$8\$t$4t$ l$0l$(,XtӀt(tD$ \$t$,$Jl릀w ,\$\$8t$ t$4|$$|$ uڰ΍t&T$ L$xиÍ hftÉT$ L$wÍxowhtÍgwhލ&w  jhÁ%tw Ph륍=wh돐&L$ T$ t؍XwshL$(\$\$$xʸ \$È_wW9T$,|ىЀ@NɁV hA? BhL$щD$K!\$T$L$⪪UUщL$\$33ىL$T$щL$\$ˋL$\$D$@h+hfҸyfʀU(fx2O9L$,ˀӀˀ^E(O9L$,ˀ^Ӏˀ^1j vf9 ht BHu |$,/h\^ 뫺럺1*[v'D$L$P(1t|$ ~QÍvL$ t$t$\$\$|$ l$FtF1\$t$|$ l$x,\t~t > _<>w ψ<D$v  <|$$~I,@<>v <|IT$4@]?v^B!]vf]!ws׃!1]w1k^`h,h1i!u w ܹh<޹h ~+!tWw ]q(t.w XS1w;[0^%bw_t ¢¨A?UW1VS l$ t$$\$(M(ft`0P|$,~>Nʿw/\t*~t%9|$,~E(G [^_]Á> >w9|$,~ʈڀ@뷁 hk? BhL$щD$:K!\$T$\$⪪UUӉ\$L$33ˉ\$T$Ӊ\$L$ً\$L$D$@h +hfҸщ!!]v vnft^wT>wD@yf ىM(W9T$,rЈ^E(_A뺁몁w t"뀃(x1@9|$,~ 9|$,\ f9 ht BHu|$,h\6뮺뢺1U'D$L$P(1t|$ ~QÍvUWVS\$0L$8|$V9| A D$4ۄm€xO\t>~t-l$4}?Igt&\$4> ыL$4,!<>wʋT$4 멍^9apyfD$ D$4L$t$0D$4$躁BL$݋|$0On9 I\$]ƒ!1ۃ]w1k^16`hhفZ!˅w+޹hT$ ܹh\$4 Љ |$0GD$4D$!t[w c(t2w E1ۃo)b^QS1\$StST$ [ÍU1WVS,L$@t$D|$HY(ډD$ f{`H0 9\$ ЍlR9l$L9\$ t/F$FBNwfL$* fL$*tMHT$*x=u3E9l$L|t1F(FB|$@_(,[^_]Ãɐ\~D$* tNHXL$*Ɉx<t49l$L|tF(FJt$@^(iÉ h? BhL$щD$D$J!T$L$T$᪪UUʉT$L$33ʉT$L$ʉT$L$щL$@hD$ +hD$ L$@ЉT$$D$*|$D$ $ ~L$*Ɉxt|$+xm|$$y#d$$|$$ ߋ\$@{(t99l$L tF$FBT$+Vkf|$$f|$$t)9l$LF$F(FO|$$y)f|$$-d$$D$$ ^9l$LUL$$T$$VL$@Y(0t9l$LF$F(FPhwn\ti~tdD$*tJT$*x t29l$LtF(FI€E΁t0> t>w@T$*tD$*~jD$*\`1t&t4> t">a@T$*ND$*~DD$*\: f9 ht BHu-%,9l$LtF$F(FO hN뇺xi1KW1VS\$L$S(Ӊft 19ÍD[҉t9\$|G0ul$ L$D$<$L$WP\$_G*뜉l$ L$T$<$L$럃t&t)GQvW0tGw_$(h~h~hhhhthththhhhththth~hhhthth~)G',|$$|$4\$\$0t$ l$(tu+C1C(\$t$ |$$l$(,Í&D$SufC uCC(D$뻍L$8/1l$$t$Ѕx9T$8 ()Ɖ2;FpsL$L$$t$҅tD$8/T$0l$T$t$ $St&x9)Ɖ/L$81Bl$k늋T$tD$K,u:S0uÉt$ D$l$$Su|${|E*Ct )xB\$t$ÍvB~SuڹӀ{Suƺ뿐S\$ ʀ+v Ⱥ,z<wK|$~?SӀ!]w,k^ڍ = w0=w hfu [ËL$ t&="w h T$|$t$t$$|$ ht{щu$t$|$ úJ!׉᪪%UU<%33<%<<   h^{w@ hBw h#?w hw@ h.w hw hlw@ hbw hlOr$ hLvY,t$ t$8|$$|$4l$(l$0\$*!|$<ڀ_VFD$<|$|$D$ ـ|$fL$,$ fL$T$L$T$L$st# \$t$ |$$l$(,L$T$\$D$ T$L$|$,$s!u&'ڀvXv!tD$ t$|$,$낉t qVӀ_ w 7ND$ t$|$,$1 w$ h릉=!w  h ST$,!vvRtM'iʀvVQC=w4=w hfu'[ËL$ =k6whʍQ먍t& T$|$t$t$$|$ht{щu$t$|$ úJ!׉᪪%UU<%33<%<<  5h^{_whBwh#Owhw@hQwhw,zho@yht&UWVST$l$|v ӀÀ|w?@vriۼDr=O w.=wWhfu [ËL$ v=)w=!w h=_+whh븍&iۼD댐Aq& T$|$t$t$$|$_bht{щu$t$|$ úJ!׉%UU ȉ%33 ȉ%  :@ghN뀍&w`bhCt&w_h#t&w _hwXhw`Xhw XhwWhwWhe}wVhFxw`Vh'pw Vh/w?h>h&T$  tX<v u#|$~R,@<>vxÀt'iʄ|QЍBw  uT$ Á\w+pt-} wBhf{$]m4hލ&Q&S\$ T$|$3t/ t"Ow/"hftv'Kʸ[øw @ hčv>0tÍ7w h럁5Ztw hz9`xn9_g8w p h@s:d>N;h-n<i<j V@o_Ap7CrX7w hD{w 0hw hpw 0hXww h@7w h(w hM$ WVS\$t$ T$Sр0 K~|[,0< |$ҍ4v v8t3vv:b5t(w!hfu'ËL$Ã@ø T$|$t$t$$|$ht{щu$t$|$ úJ!׉᪪%UU<%33<%<<  h^{w`yh@w yh _wwhwrhw@qhxwnhn@lht&T$  x<v1s<v):<v! |$R,@<>vv_tZv'iʀQ=w<=Zw#0h? h ʁuËL$=*w=<wh뻍=4Jw=,wXh=Mwh댍&Q`ø T$|$t$t$$|$?`ht{щu$t$|$ úJ!׉᪪%UU<%33<%<<  h^{_whEwh&w@hwh?w`hwh?whkw hr w hS w h4w`h7w`hODwhwhxw@hpwhzlwh[hwh<ewh[wh@yh T$|$t$t$$|$Tw ":hu$t$|$ úJ!׉%UU ȉ%33 ȉ%  : :h fNhNh߈^cYt& T$|$t$t$$|$8w Thu$t$|$ úJ!׉%UU ȉ%33 ȉ%  :Th fyh@yh߈^cYt&S\$ <w#|$~SӀ@>v!x [Àt iʄx0QB=w1 hftL$ 묍t&Q΍t&'T$  vltg|$~ZR,@<>v< w/@x1Q=.w@C hfuËL$ÍQø T$|$t$t$$|$ ht{щu$t$|$ úJ!׉᪪%UU<%33<%<<  h^{w@ h@w h w` hw  hQw h/w` h hT$  t u!|$~R,@<>vxÀtviʄxPQЍBw$-{wV hftL$-*}w hڐt&Q뮐CP%uASCIICP936GBKCP1361JOHABCP20127ASCIICP20866KOI8-RCP21866KOI8-RUCP28591ISO-8859-1CP28592ISO-8859-2CP28593ISO-8859-3CP28594ISO-8859-4CP28595ISO-8859-5CP28596ISO-8859-6CP28597ISO-8859-7CP28598ISO-8859-8CP28599ISO-8859-9CP28605ISO-8859-15t&'V hSD$D$ h$ hit|0htg8u>u%h[^Ív\$4$t-;*t"$\$Zzu봀{u؉$t렸@h0h덾Dhzt$t$ |$|$$\$tt|$4$eu!11ۉ5`hh\$t$|$Ð4$Xph<$KhphЃ$tt$ ph$AL$V`hphh|$C$BT$1uc:/progra~1/LibIconv/binc:/progra~1/LibIconv&'@h\$\$ t$|$`ht 5hu؋\$t$|$ÉT$ ph$L$uԋphuh)F$X$X\$L$$CANuL$(t$L$4$$\C$X\$L$(CANu $X\$L$(CANu D$=$ hvDhDhDh h h hKh h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h hh0h h h hgh h h h hh hnh h h hh h h h h h h h h h h h huhuh h h h h h h h h h h h h|hhhhhh h h h h h h h h h h h hhhhhhhhhhhhhhhh0h0hh h h h h h h h h h h h h ho 't&' øҸ˸ă  4  $띸떸돸눸 끸w1pf\RH>4 (WVS|$(t$ \$$vIك)ωʅtv' CFJuuD\$T$4$օtv' CFJu[^_É\$L$4$뺐 |$=ht G|$ Éh =h$hQ =hɍ |$=ht G|$ Éh =h$h =hɍ |$=htG 1ҋO)w|$ h =h$h =h&' |$=htWG )1w|$ h =h$hI =h@@0hÐL$ $\$t$T$؃w`$hhhhhhhh h-h'r A u1$t$É1rABqr A BqrABq붋Ӌ2KNj2܋ɋ2 붋 룋2C뒐&UWVS T$$D$ D$(t$ у)L$L$L$L$ ʼn.J݉ $L$L$ ~L$<$jL$ ^L$z ,$L$ $$^ l$(uL$L$ . [^_]D$(B$뒃D$( j $떍&:ZKL$(*z$ L$ t$t$$T$w`$h,h7hhChQh_hmh{hB  uY$t$ÍvBYZABYZAB Y ZABY봃 Bσ$ Z N뽃 ZӃ B 뿃Z뫃B뗃ZF녉'UWVST$ D$ D$$у)L$ $ $\$r L$ C  $ZL$ |$o $ߋjL$ t$~ $:L$ ދ\$3l$$\$u $T$L$ z [^_]Ãl$D$$r Z뉃l$ D$$Zj돃l$ zr Fl$L$$jzUhu]hJBhuU]ht)u$hC]]Ít&hKu݋ h1t˺hv@Lu븐t&U]hu'hht%u$hvC]]hKu h1tϺh@\u뽐UhhsQhhr]Ð-LIBGCCW32-EH-SJLJ-GTHR-MINGW32UPhP]Í&'U1$]|$8h4hChC0hSC,C hC hC$C(8h<hC0S4$|$]Ðt&UX]Phut ]u]ÐEAAAAhuEAAAAEAAAAEءhEAAAAEAAAAEܡhEAAAAEAAAAE hEAAAA4$EhEhEhEhEfub$8&t\$$`ftPhC@hC`h%$4$v'$ UVSPut&'AuaLHyhEءhEܡhE hEhEhEhEhEE$؃fu 1ҍe[^]É$9u獴&'UUST1ED$@T$$ t1t&'|AtHy;8u ؋] Q=r -) ̋@%h%h%h%h%h%h% h%h%h%h%h%h%h%h%h%h%h%h%h%hU]>h hSmA (X ` ` p   P%DP] libiconv2.dllDllGetVersion_libiconv_versionaliases2_lookupaliases_lookuplibiconvlibiconv_closelibiconv_openlibiconv_relocatelibiconv_set_relocation_prefixlibiconvctllibiconvlistlocale_charsetT8tL ,8DTl| ,8DTl|AddAtomAFindAtomAGetACPGetAtomNameAMGetModuleFileNameAGetSystemInfoT_strdup$__dllonexit_errnoabort0fflush?freermallocxmemcpysprintfstrchrstrcmpstrcpystrlenstrncmpKERNEL32.dllmsvcrt.dll(((((((((((((msvcrt.dllmA(XmA@mA mApmA mAmA  ))P( @ʦkH%zbJs2PkHs%WUI=1%sPkkHH%%sPDZksHW%UI=1%sPԎkH%zbJs2PkH%ssPPkH%zbsJP2kHs%WUI=1s%PkkHH%%sPDZksHW%UI=1s%PԎkH%ܒzbsJP2kH%ssPPkH%zbJs2PksHW%UI=1%sPkkHH%%sPkHs%WUI=1s%PkH%ܒzbsJP2kH%ssPPzzznnnbbbVVVJJJ>>>222&&& P4VS_VERSION_INFO  ?.StringFileInfo040904E4DCompanyNameGNU <www.gnu.org>fLicenseThis program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License;see www.gnu.org/copyleft/lesser.html..FileDescriptionLibIconv: convert between character encodings6 FileVersion1.9.2.17478LibToolFileVersion4:0:24 InternalNamelibiconv2.LegalCopyright 2004 Free Software Foundation <www.fsf.org>`LegalTrademarksGNU, LibIconv, libiconv2DOriginalFilenamelibiconv2.dll2 ProductNameLibIconv: ProductVersion1.9.2.1747: PrivateBuildPatchlevel 1r)SpecialBuildGNU for Win32 <gnuwin32.sourceforge.net>Z%WWWhttp://www.gnu.org/software/libiconvDVarFileInfo$Translation  :0}0000011%1J1U1`  8(848<8H8P8\8d8p8x88888888888888999$9,989@9D9L9T9`9h9t9|9999999999999::::(:0:<:D:P:X:d:l:x::::::::::::::; ;; ;,;4;@;H;T;\;h;p;|;;;;;;;;;;;;;;;;<<<$<0<8>>$>,>8>@>L>T>`>h>t>|>>>>>>>>>>>>>>>>????(?0?> >>>>&>.>>>>? ???? $00$0W0l00;4@4D4H4L4P4T4X4 w0d333"47?h??? 0&0>0w000161V1111'2f2222363N3v3334844445F5f5~55556<6w6666'7S7s77777858N8b8x88889"989g9999':c::::B;n;;;<->> >>>>> >$>(>,>0>4>8>C>J>V>`>y>>>l????? 0%0*020;0Z0c00000W11111'2e22233 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|33333333333333333,4<445+5=5F5Y5555566.6E6\66637g7777+8w8888879s999999:W:::::';c;;;;;;'3>g>{>>>>?9?M?a?u???  0!0?0w0000 1 141w1111 2G2222#3C3^3|3334.444445&5W55555 6P666667P777778C8e8~8889[9{999::;6;W;;;;<$<(<,<0<4<8<<<@$>6>?>Y>>>>> ?(?`01e112=2\2{222<3r3333u44445 6U667-7L7k77\::::u;;;;;<=<<<<= 0283<3@3D3H3L3P3T366666666/7770;;;;;;;@,#8(8,8084888<8@8D8H8L8P8T8X8\8`8d8<PD3344;<#V>x>>>?P????`10R0r00101N1W55555576c66666%7E7j7777878s8888939S9z999: :[:::;3;S;;;;<-E>Y>m>>>?-?U?i????pX0.0D0000111*2223#344o5y5$6L67878?89:::;;=======S?_????2d22255707P7d777848H8":(:,:0:4:8:<:@:D:H:L:P:T:X:\:`:d:h:l:p:<<<<<<<<<<<= ==)=7=E=S=a=o=}===>>???? 0(0G0f0000347445+55 66L66666Z7i777Z8i888E9999:6:V:u:::::;;<<<<<=:=V=y==>>*>f>}>?R?c??Y000001#1B1a11111222M3333444445 58596K6k666d77;888939R9q999q:::::5;;; <)2>U>>.?W>j>t>z>>3 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|333333333333333333333333333333333444 44444 4$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|444444444444444444444444444444444555 555566667727=7F7Q7i777777777 8,8c8h8l8p8t8x8|888:::::::::<<< ==3=>=I=k=t=========='>c>i>p>x>>>>>>>??-???G?O?W????D"0*020:0B0J0R0Z0R1b1r11111111122"222B2R2b2r222 0exiv2-0.25/msvc2003/write-test/0000775000175000017500000000000012541547671015713 5ustar andreasandreasexiv2-0.25/msvc2003/write-test/write-test.vcproj0000664000175000017500000002151112447013555021241 0ustar andreasandreas exiv2-0.25/msvc2003/path-test/0000775000175000017500000000000012541547671015515 5ustar andreasandreasexiv2-0.25/msvc2003/path-test/path-test.vcproj0000664000175000017500000002323412517645413020653 0ustar andreasandreas exiv2-0.25/msvc2003/httptest/0000775000175000017500000000000012541547671015463 5ustar andreasandreasexiv2-0.25/msvc2003/httptest/httptest.vcproj0000664000175000017500000002151712447511333020564 0ustar andreasandreas exiv2-0.25/msvc2003/organize/0000775000175000017500000000000012541547671015422 5ustar andreasandreasexiv2-0.25/msvc2003/organize/organize.vcproj0000664000175000017500000002143412447013555020463 0ustar andreasandreas exiv2-0.25/msvc2003/exiv2json/0000775000175000017500000000000012541547672015534 5ustar andreasandreasexiv2-0.25/msvc2003/exiv2json/exiv2json.vcproj0000664000175000017500000002162512523351131020675 0ustar andreasandreas exiv2-0.25/msvc2003/addmoddel/0000775000175000017500000000000012541547671015521 5ustar andreasandreasexiv2-0.25/msvc2003/addmoddel/addmoddel.vcproj0000664000175000017500000002161612447013555020663 0ustar andreasandreas exiv2-0.25/msvc2003/test.jpg0000664000175000017500000005016711110040173015246 0ustar andreasandreasJFIF'ExifMM* z(2i LCanonCanon PowerShot S5 IS2008:09:06 14:34:23 @H'P0220Pdx    | N 0100     ( 2008:09:06 14:34:232008:09:06 14:34:23 t S4.&"I   & v~~E" (# $N % l&0 z' ( \  Xdt RD(@#IMG:PowerShot S5 IS JPEGFirmware Version 1.01Robin MillsrjAyn xxxlxx (^ (^(a qnqxll < W/@d,T  ##`  @,,,3aU(,' R980100   ( :    !#"! $)4,$'1'-=-167:::"*?D>8B3796    OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx!  }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzw!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?5t*W`+NޑHzRq=丷HX>0O-V#nx䟭+;(L}E*q~zs @c)%ÉHܡROB=Gj{:zօc.K0zk![hKp-I'_NJ" (:SZh&5qsNiNqVHxN^ĹF3 9?Ȫcx /8Ӵ-ӉdW^Κ ՓֺiQyַ!Qj[o0tVGP{Y_wPy'WMi>ĺɩ-i=9ufdIiKJ8PyHM8oD^c]3U.>I\@8'BƓ3Dq۱]EU@rČ㧦(`gisڥFkoD7R:桻gx/c+*0sw(H1VКԓOxAW˖o|$sT]>T>E]k  ?߆Cu=!Rqzc[r@yQbgySTbmOKKՕd,.Ucְ,5a1Hg^_QQ׹N׿uIoqn`GA#nq׊d1hH2w'@:[#kcKJCnKۑSei6$x??)֫Ky=LX4&0Tj݇YoA,N?zY$խByё2S${ȮC 0rwZ[E×^ĿZX3Cv9IK=TaM>gQÙPO©a1">ղЇo:d|GOzxⵘ4dN8W[dbn% UmZEy˖h\?5)ӡ;e+4s|yX~0 *q ,{F}_¢u5,ZK$glXeBdHPOr$=}+nIT^df9$ojdlp,G4Gr1z~Xemђ*Qi'̖{<4ecUIl p:Vueܜ|ȬmOM%O%qAedl0B3r`FIt돲F%zמRmgu*^mg)^VZW$εn-F#‚1=jS{";/MsGFzUyYnpH8o$rFY#S\f־F ?tOE=MCأ$WHqS-p9<~=O*:?qT p9Qt{qmIs#Bd:U] 3ZO:q<=?_ݚo" 9I=vضGo$u9QO&Ŧ]0QKխ 1&T'^ӭYyqA)vQV"peVlq9a D,Oֳޤq8'\>qxSOt}JM<`Уgw -VG1VEz fg>l@ƦKF ;هkjQvd)[v:# NOqT"L/hC޺1m$P[e(3GY6 KGGO֡[3_K[O"LeH'}+RDcކcVmkNUVF ;~5%zU#gTAfw5VZ_oX\6}IR_)jj?ĻE1:FzzUQШ|qG0M⹭2p䑸|-qnu%IGZj]tuַw:_lw)<֥A< W]bhdqZ5kiZ2Ie8 s>.OsilI!^?ҹa4OFZNGu$.i y tNO  kMC2 (BǯҵSKxvͷ"NˑW8뚛GEiVcջ#^\Cko"ЈOf5OrFzOO_ғW_MyD1u#~'cA$Yp.zcXΣ|_j7fQ4Zݗ̺4!#B5njQ\_icJn?H,H]O]1.XJdn} &$g=LL@ҶT,:PnhGaYZZ:ݷ]wVm+(m*0ƴt;%mN>JJMJkލ;s>9uqOeƵ\MuA }w?uB>lׯ}srJ6 `8ֻhD[<]Sȍq#]mK5۲Ed`>Ch(cc-+)PAO5brMGWk^7ȥˡ̶ߴC-Xd~8oa`] o;$cSzQ|?)斑[Ie1[Xn=E;N5kC枭>3b0GҼ[I#I&ҳ^gV4=$vP=kմikolJFFHnF|1I 9n};⺌La_7}1Z. O>қ==iJ6gtfQXiExWP0Juo\mwe(Oכ%r._C.-6 냃xŴK2FAČX.~E&z2Wm ּSo B ?Ri1*^=e=>ʱ.R;b8  #Qm_ice<`~Vg:w:z2ɟ87Z(qzӑ( U%6խ J~\x Ld9ȥ-a]2#٢ј++ 3۵"ϻfhinK+Rv\F3XӢ6IϽL0_!Jmiy3Y1n{GV]N/θJ޽lBsOEs{}S16K>6w=b6oj슺o>)ݭm˝#Zz_å~%ܗl)'#=1\5ޝvBό[kv˚O#W!xS4ne3 u$ 鶗vu֗$[]q@TO^2+EYn.݌L+Fd۟̏ʽiMs+:|ǶB#+'9 t?MͰYC+ ǮGoTV=-$t% KѲKHC4@lwDDy61Zr[٧s6r[P$R1^T;zu~u4DmphgǞ: X6@S"6H:+wNWK#H\m46ݲGyNJ^SzJ &,MbV (EWMYۛDے$% gyݿ8XAOƕt^o;t𝈅Dcİ_7=Q}ZwG͏8K>ױ;ߏuC3;;weϭvV+/iJ>MPv$~Sf1 WyllYȬ}>`W7ns˰O)Lq)a0|Jtt6l28+m vRdc + eՓJp\k+ >΂--E-)QS<>-..kǏOogWBu?9fe*AV9|!`uXG*Ƈ|;gߏη5Wc y(9 w5;(_#+]{K᤹i-cSq̄Hnz5zF` m{+˨{desc,_dscmmmod|(cprt$XYZ u>XYZ Z,XYZ &XYZ Rsf32 B&lcurvcurvcurvvcgtL6)j; ] `b 5&e "#:$y%&(1)o*+-#.Z/013435V6n789;?@ABCEFGHIJKLMNO(P?QRRdSwTUVWXYZ[\]^` ab-c@dReUfPgLhEi@j?krFsPtZufvxwxyz{|}~rfknsvwtni_SF8'Ӡsponnkgb[SLE>70)$ϺtG쾿lDĵŔvY?' ˿̐c9џ}[8ףzP$ܗuV7U*c.T]9tIh<g!  8 A5N%\ "#B$p%&( )?*o+,-/0>1Z2s345679:7;P?@ABCDEFGHIJKzLMNOPQRSTUVWXYZ[\]_` ab bcdefghij}kslim`n\oYpVqVr[s`tcufvbwQxAy2z'{|}~ ߇Ј~paP>*͜{wqi`XOG>5-%ŵoEȺ~[:œÈxfJ&ɺʚ|`D+ҮӒuW6ڲۦܖ݆t_H1{Y7}rdVG6$ZxzC > e +?!w:h "0#^$%&( )0*M+h,|-./0123456789:;{E?-@@ABCD~E\F?G H HIJKLMNOzPeQOR:S$TTUVWXYZ[\]]8^^_`abrcXd@e+fgghijklmnopqrstuvwxyz{|}~qb[QI>1!ʍpL(ܓcA%ɛy]A% ӣs^I/嫶a6 䰾z\A'ԹúiA‘pQ1ȫɅ]4ͪ΃gP:$ պ֝~\9ܡzR)hTC74>WB(kqndin6gX1L&LP T9. #1AQbs5Oj'Lt9q]].w`^  u 3 U ! i RHK[w4Xx 9rYOQ ![" "#{$A%%&'h(6))*+v,H--./0a1122345t6d7S8D9.:; ;<=>?@ABCDEFHI,J.K9LAMON_OvPQRSU'VVWXZ[C\]_`babce$f]ghjk]lmo2p}qstbuvxGyz|~-ǁh N퉍*Ŏ_)M񙰛v9l+⧞\ 鮸fI9⻫~Q-*Cf׊ٱۤݖߍ -S~ *:K\n0Je#Ir>x,l2wR?C a ' U ) ss.["GvQDJ\  !x"-"#$%Y&.''()*h+C,,-./0l1F2"33456789:;<=z>s?p@pAoBtC~DEFGHIKL MN.OFPeQRSUV4WiXY[#\k]^`Daqbce fCg~hjkGlmo!pnqs t\uvxMy{ |~1Ł_/ʼn[&>—Pc d]_ɰF ෮RX ÉM̤΅oXD9*݋JpFoVC0*9IYk}2NkFs D}0p;ij' \ 7     J$qhar)[_ " !"x#L$/%%&'()*+j,Q-7.//0123~4i5Y6L7@839#:;;<=>?@ABCDEFH I$J5KMLdMNOPR(S_TUW&XvY[ \]_?`ac2deg+hikFlnouprDsuv}wyPz|T}$Z󇆉3GʒQՕS֘u)❖IaʩA԰aM!ݻQ rDѽӴհ׮٭w@p8VyFPbDdesciMacmluc nbNOptPTsvSEfiFIdaDKzhCNfrFRjaJPenUSplPLptBResESzhTWruRUkoKRdeDEnlNLitITiMacmmodltextCopyright Apple, Inc., 2008C&@)&##&N8;.@\Qa`[QYXfs|flnXYc{C&!&K))KiYi" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?ʣFCkp"N@'e"u'yޝ!U: 94pb, pqVN q_]O ) J3MOZI4 âp})zlrH3ִmSdB+stXJ˺/c.:c0+F!t gCN% *z`s<1lʫ2u8G 7EL@ xb"C*cj"C?%?Pxq $Kfgۖ@TDV:d^@gOx9(qMV!OMu#lnS~^Gzb8zX-i&f)0FzQ̐O⥶2Ls!|NHx#)d^AဤcJ` [(!%OqU ގ=&as~= ͐}ux$ch4eyVPgkm$y{tY$BƜ~ʙ#L9T j5\$d 9Ռ H+|݅0RQG\3r2cuEX`pc@<>9ր2=*iq=1V yѱǽVtx*i `\AS$a:P:S=j@X}йNr`;Ҡdy5gp#C&W#qpIԕ!rH9ќqϮjU?v{;N:uӄ&I;G>}[#?JpbF dS[+sס-bѨPIH`!LIR07 HSzo}IƕǼ\e2 zz+R<;AV8P(©<c(q`3ڢpVG#ڭD u{S'b`ױQѕH?7CSrgq=?:z$ڌQN*Sp_JL(l.ӌ~YuN03ֺ|]' OOSOa$dҧTidg01lA'=>xF862Z#)+ciSnT: 9* g֨9^;w>u?haRyNs?Ȫx`>f\4stP\RK``?JwCQg8ZFl<}kj"A`A{L*J\m#D`8ʢM cUIO <cq)b R? j,zUn rOzu/=AP>-x[_5WI瑏ʓes+ҊyH |^E.R= "\hJNLqZI5n<2p z?$dvb d$;Ӕt4ppd?ɦ! Co#cw;z02ñ>?J w>] 9OMJFP]3p\'q6}9?!Y\FwPc?ֺ[KuNrI48;3V+)$HUd-+:cT.C#.x*Ĺ5VX'U،h3ӏz&0$ɪ"#]sӮ*KyLT!FOQ,-ĘW~ ΢F8O~߽,:((&s9{Xg~x_P!K\jg@[q;~zIcl8d˿sX8] 0~x5Fep+ 3¦NFlbM| QW!,\0sEepWLj1_֝ǘ.9,V|q}3ү $}sζ2OR$-|cq(fsOOZncsI(p &aIn3MR$–Y=*{0 6r˂W=֭-&y|;°ۜlg[Wy\vz?ҡ7.ւE2ǸeD>l˝${9pyZKSECzRE 3DK)' X8ri zt5\LUl& }0GV-6o9 I?A޺F('àữҽc`̇WTgrq(O#Mqì㿯so*}sK};G34lpO _3 AsסE4tjVvwHUe ,@-ªY(ɸu_XSlRj{0.fcѴ sv\txǷd9;jY<1jGӿ\MHxۑK0싖yo\t5-_@3Z؝pq# **+0p{I1]y?4R.G53y8<**`x})|pǎݩyvA걤k%&1=I?RTϖQ/q;p1E{-\Bx"\;1EgV{xԓzc Ow:nCn 5%tMtq-ZXEd~ϐ̲c6ư!X#dq¶j&&9K*;Dj 9+@Z+"nooʀ ⺃ m}!IǷ=ZҼ6vnʚF#r" 3!+_UvF@q{?ʘ'VVA]Lsr9\NSj 9Ғ&Z1Uy.W'ҁ`HOg'wuvt5y #X&xd88掁Ԝ8i q,"(v!s>HT1oR}33HXI-|1]82{Z8i W;rI(VbW!G A)&x`aos.R u?5F0][~Uv !}ў~UIYX 摏DTV:D_!.2do@?>jn4[D2/sMYd,ge`_Oư7r-fea#}Gn;nHdw'cӠ(% O++hfg\Yl0y+r;5hgL=w SE&dA)!w \0luUfzqԹjL53>ўZ~qj--,~*-NHH 13nΰ(p1?ZȕS yO4x-tANK+='{=?Z1$AbR1ϭPˎK1:~}w5F.r#<=ֶ4C#* ?:u7gm>kѡtAykQrEXSJžMFz?mL@SK%#42Uegwu9ȣ*Koܱ@8ߠrC1ؙ<$Zd2J,ēF"?z0Zs*ԝVs񡈋p*0Br0 ^<h@CnTC~Qң1ǯ?v& N@>8Dv8$ƈ;H'Ғ09׭&eYR6/8?nZv`H$lv#.Sy'T!Xz:!8 8|K`HLh#LW ފnFqE1nL80sTbܬ)+ϖƨ"M]BWt~CY#>-S =ⱮuS=-7b]ϘR9yI7,/Ej9|.UtQ=۫bTED%ފ*w_vܖA+:4QEGehp?CקIذ z+2.ז֘Z(!I(exiv2-0.25/msvc2003/test.tiff0000664000175000017500000057430011303665273015440 0ustar andreasandreasII*?P8$ BaPd6C7A'Y|;7zNq9Zn7;x_MCviRw@|>_tĪ~]&Lm9]ssw-G ݮqe%*fdKu$> g.M: P@[2wYlݝj, uS Bc@BQ$OD[hTeILVDY>UrGOF1vf!rf]FTc-d $?9EFNF,LzI쁗FUjl{A47h9(C y.N5`6 cP#caRD:R$zh\FhrE+ S!* #h1UDA0VFVzgc"SymEbqVDj`0B-J%(Hٜe&ٸi$Xer2ƘC,C FŒ] !^/CЌC!CB0nH#F=&Q´Vqp.ĸc@qb3~ a5D(bHS<.EtL q"@\1&E`TbX6E#x.P Af!gd|X*RH6N<a\!hA.L<nB$L(PL@aVF,L>@a5LaT">d@$Anaal a86BT@!$LA!Ja١L"?r!M`@82:a:@a$P!(A6Bо"5Z JAj!a`2!`a 2 L!*j0at^4AF!!`A\!FFf^ `>t&$!PnΦ3 !`  `4    A * BadER ` !JjޅJ  ar`b @ x @/JF$ʄbd@d  n J ,/ @ |  B``^ ` RvnL|`P`rNn`8l l `<3!E!a$"b+=ovB, jtA!$toAOa sAAb !@Pa~!A$AfRHҿv!2,@$AV AjadANha;Nq!0$hzBoa !s!X~ A{DR!D~AN xp:AVI"a%Bu&PA~H! 6T$aDEc`&W@AY`! C@'| A0yQ | !TzaJh!K[T. avbº>VX X !`ԡzȔlVAH F   Q @! ! v@A 88.` @@ @@At d ``D,a<6 @  ʠ r #4^ / @ n d .  d 3@ Pn NkoH ThY6`Th`j`Vvokz hFvk`7~` @`wzD!! !# 4&a*b4n1" A M4raa.!Bao AI tTAbAP!'"h^$`**!!B!v@{ax`XA!hAJArARǢ1"Az,!!Dz!Zt !w A @.` mZ t z$ h2 " 9ZV$֠!X6  L AJtZ`@$f@Ū ` $G!k@   @f ||  F`x @ `r `@ 8 &n R  G3 ThF `7R `V W| s V L@d6 piz d8`j|@x8@dZ }ͼn!"I~Ϭ Os>>DB@q$>@!({(B,b!v%<乡f1' AaRa&J@Aa*8A&A:A,A @H\!AHa faR)mL-%@3!-A6!jT!otUA8聆!YqAe6Xڡ,6 т F \ Tl2!$Ta[' lA١X A@j a oa:pAZ 4!a#AAaX}.@ VJ"<"! y؈ay Za" ɢ. G` @[ \"( x H@,0 b:hA"2 X  @`@ z    {3S@ df `@ YS6`Kz X9@O7G9 T` i@BC{@M`A:R@{n |F`ypb`X -ϣ-bo"DaaWEaJAOa"ULΜ]V wo?gْn8{5y Kvs6VڭPQ')=6F(jA@TXtJ]DVPUFF =y9/=$[.LfCFPeo6˕v OwX.TkEx_,&u}-Բnz>)N>$ȄRRʜ ~4eQWY}2Mcz)"^PIxjR1 R@َG!dw8 FQHirBRe-2RsKL Zc%Aj>DLsGqUeQi3GdcfI>I6TCiIc-:B<_=xFR&~0qF_T¨9ATB%(B!J%By:ZCBU0d3K # 0 3"x, A0bp+ !*∤bf) a-Bh x\$ &80eb` BUl(F!a8!w@bB0Kn(B(rAzA\% lStAvl!p-TWcCdy&Kd䧑|r'!wǩwzgAyggJlGluGAbxh晼oavGt恶pYVvf-th'k%9d\f|g*CdNI&IYXo' tgLR,N9 Rfٶt3Ei%nQEtagE!d~"ԁQGAVA?̮ܲmhy$ LI .JIbY1gGvn5ء$ h/ K%((k<;&} != 19ax;a9F@ hk 5Qp,Hc Q)#to Ѩ6hU Dȧ"^8(R a= @t@N pr+sֻWvP<Cx:GYcx3:X25x?cv;#tAp=ôzvRcb!V. {1>ȳE 0)E`rBlJ 8!ĸbYX/`T4*sc=oqؙ5"\ 3BV qj.ǘ~.,ňr3س$h pO4|r47G8BpU 1H*Ep0N A%DxJQm 7FM#,fK9ǀt?QlaG 0 D(m01C Dq<)PB!DYIN*J0C:<R2FpT2CPqIQO0r8X,E xfl5>LjE^R/b3B`M1"'@xA;@!DV @A7$L (y!<4& gp<]D%D"i,HEd@ ? 5d s 'F !@\+ˆQJZ@r`K䁐dW *@f 1 <@ B(H w(C$A > SyTA ~k5Sv>L@3hPBA (EA$׏1|כ(tF\>Gg` =Ƕ3CzB6,!>~<Pn5č;LїZhw4=H3Mra1Pq v3P L1T2p`8Z C$ar!О#/#Xj ψ xnn0qhQ?hGpNhnHXSo9׈Jp] `lpwO!1u@IZ]foAsho_xmcqhGV [`QIDUI{=8`w`kax\l v|=8QaD78GG503@9`LWA;PHB HO;n{{ pRp@7hs>vB9zpGf KUmPr\-0M0BVj8QPj(Ne`Y :D`0N3CQX(0;_`sc u<@+>xBp9!.A< 0C8>H,=J3BCExSRiBX@@X4J7K5p7(@448 .2R]T!*T9*'p''`@$h4X9@H#(/.*|$`b @"`rx(P  x&8 8*꫁각HHLh0!EPfwjAR\+ E8_|j(tVh˃GC[b"?ZHLpWW/?# [J ?N <=`I:H|4 CD1B41IJM_]P-0S <hPHT聄 LCw)`8h3H$$`!0@-".+#*'h%''(x( `$(x-x5H""io%U((!2ˈܹ!v!āL"\ ,6HIl+Me\\s+<2ʆ80lcOz`hyBzpxB5&r}#Xs@^xh2yk(s!@hjɾxf_ {@flXpQxU@M(NN\if`BMpPNdmB f˅(Zccm*`amx}y}iؾ!E8WHOHZB)6jtx}(M_WWf3?@?3A~PXG@KOhЁc{P[@;BHIC݇hSbB8N,@@0Y2@Zb<@Ubp<vH:`?1W,@1bpVNHA1@BBRRRkI\rg0u; m`)P:582)2@87 C3hbPh@%<:(`9^cq7)f'v݆vsq4-C{m&yoWơoQ5l Ƅ |hUjzudD$BXNBQ{48K4qGR_YBV:$L`RJ9p&xE4Qgy@EHZ(YE)tvJ}pn0[4Q23 A/ȶ0Vh!".A'PBPr'A%(0`!p!#"((`#P B"N@x"8+x$PBT 8rbv>a(t6hd>8!!~BN薽űHaֱ(Ywyy9fFpfr}g9uҪ yz'eo*lkF_ypĔnYTJ\cŁdQ3Ib]fyp1TTY';XqnD2VwMc^)e桨Y {)y)`F΂q;#`%q!c8hn.D@b K#>PCxB(ŀ[ r.4Nn "Z"O  BH~"TS Al3E}bI\A9!(EXˆU"u"K)b$a"0eѴA:#x{ #I ap/x i !0 D F:)(F Qzpb]A(`bc*ƨB P/ p_ *HO A@#$o@ !C5C*QQ%Pt8`B^ )PZaL+P %jpG %|BőPxl0Vh0)jl&`!x8<B\ "pj.x ;@x 7A .T&g|D`nA8Vt B`> -XT=VXa54cpm 9` cв+Ya"h60_Q3K#u2?GA <%H Ѝa\E8! u ˉ HtbA 1*+E|U"$I A E$ AxOLlN!zr x\R wR BHw> A!afHC?S!RLBUG!rt ^!.ef @ , nf @@ p  ` `f @j 6H@  ` ` @t @ H_`^@zax rOgf,lRƊ$H1 6`lfb h` " ff&ro F@dffj wnh7?oG OdHd5&kҏE3AuAc5alrS M Aj|aA{Zs!al) asz96}apzAv*PJa9!warPA=O2 †4R3` A Þ,aVaSuāypFAxa"D,a$la. k,KE a&-$A6,Qi9`X!6@ @ `A~(`R! @!! b!` 0,D$soGhA,!\[@@a !XӁ>| PX0L,աRAr"4Mz"y݂qxVJAT|A \Y`  ^r ǐ :̡ ` `c@  nH r Df @ g v@h <3d ZF`  R njujnnrEnĭ3$ l6 ` JnCn芩dbhgo@lj<@c/'([B:%,:%AI?!Vڳܶ/zK~j!Ara"מ ahN6v׻ vG;s7G #q a1F`pb\ !t/@4`3Ah+%a=!v+PRr Ѥ1m#u~t12 ]q0p[DQ8j;[)au|6GnL*`h(ZQ<e &U (؋`D(#ؗDJ 0ֆ`b2 &ĨLBqc~>kߵ!dqa5FaQp^1p-ضZ_+E1dV!h+خV1dFa`_ 0E~`md3eXiHt|c㑀fljk Hj$=tXfgaN8T:LhRRM2xShORhwzpOCFTJKX0CF(@P]BH0V%PY`C4b"(`IT]P>AThent8OhAKPWx{P=^ƆBd=HHGhSXF@fohFHVpBPHUtPdrh\mjZ)`xUZ.hs8j1/M_I;0E9%(H`1Au`2G@oz~t(yxM8xhy|}q`}X8o(c U{Ho@M(Kc DNEp/p:RhP\-Hbkhq}(]WivwJrNK`ZT(@LXYpT'lmxyiְ@:Qz+e]0m]8+h872&h+S,K,%)`"8*0h3UcH% LHX5PP#'ꩁ( @$h9!ρH%0)X%X\ ! (",* `+ ڱh XiN*yH=Xuyy+_]̋xwrkIa"YV`WET(RPxQAhIHIFF<@PCxLV0eea!R@LxDEsBLIH[x}XxFqpB*Ά|_pXfh8FS^dDdm \<5@hIPOHethbvt2LU(fHz=ԁz0IP[I>G?5=;:BAaeKx>6I3Fؑ|p_}u>0wbspDASUQahp9hg{pBPTkXV\1J ^@9, +981#+(,%."X/75qH`&zv `[X )!@J : \ )^m ƕ)_:;F΁,KZ#`M*oEPkɄr_Xή|ɉц=:/N~ONv@` d_&QHAP+k`PTO;HO8PxZtF{rPtidhg0Y#'Jg(gXtkهCUHg'@pphhvyHc(a"F@bq8CAh?+@BINHJh8ChCDHQ@@dz j2nhs0rXxs@xOVExX 5ethp2(ElH{.H?I+ zH[ f!sB0HN;[^1 Sr*nlLbn_;0R@8;PH@ 2OXFD`w@=UO\VdhnsDM^_pWN 0bp`_}^yԀY#2! U?j]wE"S ETxb x]"(!(~1Ȫ#!kzz'p&mJxa%r`~Z`Yŷ\bPEFT2PKE!6N$0QTLPVFq qwgǩRDW8Q`D6Me2SHQiZ]&1P[ R`Iq幈c}y}%t[n6F{AH'ŀab-E}=@Cy<`,J(- pck7G8B\>M`'Xdp6s >Z aR*C\t\11"HU 5FkAUx%P cŻ5$4!'zb/8"8PƠ?m  è{IԒ(L\$E@,j`; aD"ð!E 4F;jaW3H*ŰcW>EPP "xBWq6rH$,w"AL ѐza &à!|>ЮQ %0[ !/0U K@&A$dH3 a, B H 0 DPpA 5\;PH`@H%z:XC  ^P(c PL:0sN=Ta4(0lmA '@R ,eX 0 r4\p- \ mA1jȕ$ Bȁ%ͻ &۰$DڋA`GiGq0@cZax,Zdt^, K.hSGFqУbdN q4Va|a4nd/Űa *EŒO F(/vxL * 0E(OFcq.ce=GQgt4Cm!d+ŘN :"xBL@AAè^Ar!I+C}>-q(Q7GH@iq;o4xy1 ZHV #huB( R?CBZqh/cЁPQ> 1F+zl >}mҜvy.>3 !88DYb-qpk:Q0tO$%0&qxq0C@KN- UpVJX8L p#wF+`!c|!K+cya!N& ?A~DaAnliHR>!<LEFLRF+aLA:(aJB>L<!^JN!JX!AaFAJsB!P.FP0 %AaaZp!"|"aa"aa*A:aXN-2 A*A2A(0@O>a8a.0A'a Iaaj!trA0ӡ !B<d`!j0$f^H!p/A$P!n"є aLNPa޸M|!bI"NJ4 aH a /b!A6!!a&"@La2b ȷ< aaZB i!R A! i@!^a: ` ` ` @ x~ @ @ @ ` f r `@L|`X*v%T`^@ SDR@X  @V  X R\μ `\@ L8 d  ! `HFT8bT*HR Z0@S@ Oϰ"P>OONAanh$F1\A(A!iNlTjlT ! !AAa`VՃJG6H@AJr(A(!2aa0`$A$N2&@{L(CN!a!DmnUArvCHAR!!b^  e^cR!!"@!+!R`M!`! JPt8Aaa>AZJ+'\$njlT!^6`6!!4)ea!,6A"*lab< al.6 !r|( d. a$RJ!r! ы acV>n-!FuAdHaX!Ah0a΀"퀛np`A:a *UZ6 =ၴK$AR AbJj"  `ƣ x   . j ӲW5Rr f @@ V @ ` @ X `F LvsR7zX ~ut@ (L  ^@$f&t+$ P@8R@F .VSFV@2OAoG&!^Z2^0"%A fm(A!fR/BIc 8aDN!f+AN}4B=\Dz^!2C @UA !444; |h,8a aHQ"v Kv<R!a~'Ha~6a_!aT!"ba!!(,MbAaQaCae!F|!ﴔAd|!VE ϡvaXAo(A|!T!\A!HC!Au!J U$ADi>Alvb >A HT|VA!ADvjkDuH|6Q2pOBq nAa\8Ձ*!f  j @aaac0q!eAav! a@ !@ !>&,!   7X | ` n h Z vVd@X@m}`z `  Z 4@n@|\ B 8 ~WF nr` N\`F\.`j젒 @ 6a>J!v 4 dx^jVk(7@@=@> O`Xx\ Z8anaDl Bc!AF!!(E*5,AAa%$naaa<X{HNg6*8*3`2-,4-K6(AA@Y!:Ta6!D*>r֡JaDnu( f!qG@ݱVA,+!_8@vp(tP!%f dž'!KaZu;Taau̴AAUFAZi HAF!).B!!C*1*z,&!$AfA~۪]B a"aL~A͇HrA*݌cTbAA^A}Z aP!bcAVa^ ad!צJ0A=FAa>0"A*`8dABa iCmCE1+$ Ѓ@$ =s!J G!tRa6|!"L9 z:Ća ۴n>KE\=) ų Vc"1\C шz+IH / %ÑYr2%Q>GbaJ<HyND$ i%"UH$A!&"dHEaf2KfAi8e35@mJAH4bâphX. C"YDV9bĿVYks;t4\VuNC]q^麟{z|=GR~=Nٰj^ϗr[-YoF1f]%n]dQeA.QĹ:PDI$IY*M$y,DęE1$D1&G EёDdJy(G"TAeGrK_f ZYeIpT$&R1DVJOeyHK!4RD@O&iןkP~ԚFٺK>Q9A1f[g!td$Ca4Q}5&oeZn#RrL==Ak$\[}0Vwxgl_Bԛ-GlyenaBUeтGEYi&s湮dF|VtG$XWYjԞQ Tq5%{zs={TZfufrioc.TW'6HkF(Lr[Qiyr\faT`%Aeԑ%9j;= A%W]e.$FtLRe$XABO~;ĐADH.B?mz5%i- : c8b#!$azf!X!bB@kՅaxɰ\}LH~,V#!.0 8@ P("H F" "?Q"y!Y@5@< " `0*d `_ ` p, h@pP A:W>ǰcx ;<;#8taGɬCHh a6ƲXpO{x++x3d0g [!3Mv|4ptA+ 0О B`Ia(" 0 z 4!pv$P50h 6`Gb BpP!D-Т`P7 Ӝ 5nA;|g j @+@l'(8A<c)|ЁX @-PM1 gn50Frq9҈-:Tlcy`jg 0F8`MAxȧa:"|P $>M $Ġ"LFq (EO@B D0zB@# @0DAo\OVCn\ d+FP\ Dgk1@%TU G" }^jb[ aXq #DXtUA:Xnq,(h2c(g AbrDz<^1H=1bnd:kȫ}a2&"a\4054l]NLJ@"ḛǸwmaC"Pq!A*$@b^;kbaB(8oZQy%jÈKDβ t/NtvS_G`D h105B5q$q[xLPX\<Ѓ-:8p/77P,7FSxAOx2x-<V`G14,=x4@ۡxA #/&h0#*p$+ p" 8!p x$ )` @! C ;#2+X0YP+(X!-$@ /hbPh, @3Eh 4\+5ztpwqXwhoy*9^z`>H5|LJq@jHq{m~} tibd`"UZ1!R9f IMi,VNhYRQL;GHJO`?@>BÃLD8D7E @HC BpG;3PxPV@dy8'bd GM]`FMm 9x^Z ^P6NPDsrN`n Xgi8D+O e8|}:Hoxm8FJc@ԅ`^QU+Pghqrh[I9sOdlqJ0TveHBPDLQ\ Xu|qbx$uxpbr.>H{~TB 8@?;JC0TYqz}f,8`Q0=qKLK]WIG!nZ*ʜ:pLpN6UOP{0W0ixRpfrT|: CtxzX7PF;FEo v@g-p:0<0; 3@*82@1%2tC(4>X1?PU(L83Ix1",70p*+$+-&(8X$$8  $H"18߂P* `2 H΁[h2 *%.(,(2HXAP,7,!փ"# (hp hx F3\wvy`|}o0hwէx|0rnSR{p wp@uQve"Xhy*zHwlIP\ax\U[9`XRj\8Nc+삅hJxCNXKDhN}FCR(C(EB7? ?OzLCB%#@F r7Lk_Yp^pY=rQPK۠Kh p^M`tko(_dnb fi;X\]g}(n3 GM\_IsbqI8SpHu Xxo |Gpbk;o{N`[HD_58L^z՘T`e-hF@ :?x?8>qB ?aHBSU`>`G/XD Mx?z?9PG$S(,X5x3H)0h0~X>9?3h&5fx3p)p4 1+CU)*'h-8-!(*x$& h#' `"h%9h!0"B'Xh'!4IU0X%+XCC{#EUB'(` ΋&p0 4!p#PiXG(U@P(?X(fcYd@KB%0X͍4w*4 xpn}`ml,Ňq͸ԇsXmaͨbkh^ozv|̀ RH{xx s8ifk([U+pXTXP,XTiHP$Jӄp@LGӄXC%xBGB:U\>@TCI+wH1Ar>`xs )HZV^UٙRo(\eaLׇ{sQXum䇘v(s1;<pB8W0g0?xIOo]cK~ѢJ;Y/[0b? Pvu"Ԕ}WPXJH(T ]. lZ@d~vq=F0:&7@x<5>F`^hbEP@La98 CW77%VaPK0dX`Gclxo?8Zj>um_,YpjZ4whuxWVU]6t OPR10*0311X.9x/.@4(-MXU84p4(38-!H)+x&"& "% Ix(` #P%X/x#0!&G8p(!Gp.>?8$.@-$(֓*,@5 +B3!H ֐ P'1),=7vkθh0vRUH)h3$hh ME Xfˮ.dHhvP>˅l_kjª]ml`8qiGq@k`ogK﷓kMVY8Y(K̳xVnG%m|+VD™LO)TLMm27;zUbՆZ>7 Hdr8CTI2~DAa;hq &j g<ð3㰾<et]锬.az2Of}!z&i!Ee!w {Xi\\ec 5D>D77*5B`/$$h~*2°$ ."7 /n) Ȩ(b$ Bn& ~ BXj'h!0`&! >DP+*SXj& z0l'AX0E9) C(V"A8tB8 5">@fAt ) `rȆ/BޗHX#+ Z恪1dP6@v!AȀ0j !<` ?P8$ B`o x6Φl- aZ+Itd,=hN&-sMsv7yV!Z,V5o[aaGsk0bPR)ө a,HItqTjE.Gy>ЧPӨq,H !E"H%@ Ez}*FIM)V]x')V$Ppl}Π&qQyTZl] 1iAff~h} ef]%iZBPyGjgIL~ vg d8OF8$0D9BY d9HY1"4=8>i{G7 h.c`:á J ^&M&LdAaYzzq#HE1D_H)}fp QExE>E6 qH&DB] DS%D(A$ĨMHE#Pg1 MF@ w!8Gcd?Dz#A*EOurC~;FpCxp>GK2ĚPM]4J7YBDtA7O q@D(}bL,ghBPD&IдT1^*,b@=Äd 1+bP14&$pQ3wQD,E0"\V2,L#("DK$ D1(hD 1H%#H}"XH`(6<!x|O 7ô1pAAe_DP a>0 ¢Q Z/ hbL #4A (CrA70x"|P (uBA(AA )Epsan+DM0j+@D)&"]"=x A{ Μ"H#T!.*]Jo@x(Q @#ĎUS"(Eb _dza7zZ sT @ @ A3AA2a!p:v VHa!A(A! z "R` М !  gB @  @ m` @  j c` `n `Lpl jkL `f@blnZf tfz x {t ƄT@vfb + @Np 50 F2 L* `Hj| k b ` `~gp  _  D  $a4 e.aC @ L@Bj@|/#!a!!)<Aa;Gڂ aahA`,"aANA!d:mNF$-*TPa6ac80aC :Xa@abHCXT:7@!Jp J4E|  ! a&7A&A0A(32b!A8!!la! caA!8Hp!Z 0af alF!!&a!Ta* Ah\<:EAJ@!ABZARcv 6@ᔪap!S!a2@Aa t<u(A"A>AAjr @m(/<a)|a$!8|a ` @ArAz @@@   `5a!^ *vB a.!x!AF$D!<  B ` "W!^pZ @  暀 @ʠ e, fl g`,#vPf)t ` ck QR`t 0@p@t {\A4:r8@I6 v "A~`@ M(`˞ 1 | `V ` H z 6 jaAa 2x 8s# p@pArb !aA!b!+aӁ!A[nARH2TbL!AgAd:AVaPLL@ 0X0A@:.F$"~aW}˘ B ! ABL*j`ڶ`0@ jLa,@::a5:A8;WA)VV{i)a!f΢A` AhAZ&@a%[.aպalN2Է3 an#& bha8 @,@!Z!V(:A6R!$AAPanA4ah Av i2!Ra!RP a/G`<X!ReXA ` @ z vVda:AwÐ!;vAAP`J|^!~C}.aZ"L qv8 I!{AJ@ F@ @K ` z F@kb jZf``ҋlc@k +b`V6ds ` V&l``@Z `ba78f*͋Шk ~qX  @ ZKZ , @x YX!& na%AN!R^@KcB`p~!Or!%<|a¡AzaȣAaf!5LD!j^nA" 7:4b!J"RGe2B]HP,( !Wnl4Aaa  0!C%2iB,5A<v@pr#J4fL6!7e$a,(.;AG,adСgp\P (~, ]6!#76 @ ^? f-@A@`/d@ ݡ!A&gAY!af`\V!4aXg&hf<7}@զAbb! n9JB8.A A2)Q:^9x)H{2aA(`@ m ` e AJ!AAT!%0a!!!fdJ`!jtQ @O4s-ZjS1|C ` c0 ` V& @se`g>dV}_q V`v \l f@vows ``  Q6 >&Jm;PHA0) e̞OD&S#bT\G%Tg Y<'D`S*[4MF" !C #I T?!r%Osfw}GuGCm/ţe2Uf+Yu\saժbT+UJI'iN!S "A(}H& 4 .B"G] J >hr[2EaSġ\TeQPJ)8T@= EK 6İDCD>)<B#>d@#R:(AEEihQ*QEd]EYlV1zJ,Md8^eipRqJ$.N Bi;A2 ;c
$:Te5 !WPaDOYJZE)p^a(F' H%IjbDd^E%qk!{y=7Bh1' - *c. c83 2J$"n"yEeѢg}tQhF*TBĹ"hl#HAD2 k/&/4SřIC6 +y<%QL bz,( ^$ "pr!Ȍ (!p5=V A!@!f ()a|a&A0v  ~>"E `A0=&ph€iA#TL ÐtD1,&;F~PØt 4 ]T !=!t.À*?TAH*U !Ќ8E XG$ЈM "N$v c~_T0?#y=t_a.Fh!#U1ibPqpj`" Al-jat7F|=F0X*-EH"О"R*&sH $>ǘJ$ЎaA  ubP64a12s5@ #XUQ*$0 %hC D@mT@Drn>A!@`eD"AQ؊D$"F $F'kxR"DH?x~5!d!w;J >>py6 xn 9"# 3p7xg!ZCk; ,w n18rG! w,@ !(F ?0" lA'02Fcq60!84{ڸe.X -z; L „ A$x 6r1/ rB2r _ q"@ D+*8ppp'ZZ; !,"phO<#vA}ɬ ;8 9q1  xp bX3([ ,<,ŀ+h4) g!XP< d! 8- a<Ц BhT#E8@"`FA"`w=}T>CM4s 8be X0T p(иBZ 3\(h 4-E?@H=;-zP908<8/x46X4ܬ2X;JZ: 8QI040 2LˆApK8<ف`[0ch?!/.XaV^َ[;4gf@^2a'6=QyTㅸ`)pC/ 38?Q@ 5?<07i  :Sw8)5 7(6;0:<00H3@35zʃh207C99P;=:8:H;N8UC9P3G0YaD@5:JAhq/=8\vcrXRaST%3 9{4p=CPU0=|vp2 *825m`N5UpcaGhBUǨDc cj8ZBPf),pT$21<z$(`,`"&6#0'(X '6' ް#5A Z3Q8:@  h!Hˠ+7@%+#,",Q H)-ɠ38\_rxiH&0L+P/=*H7,P %Hp'xs (x'XtA4(3X6HSX2P$3"/E-`&{[(h!-:$^8od0rptHhpvK~y|(w{+$0~$LxC`sxl\Xdxc*SS_8]N]VSpQE8EO8J=UXJQgXcL I'PGZ窈KpGEՋ%Fub0'=6)B)AFtu8INHVROʃagaLJi:,9MڻjX2MP12p3JGP7@8BҮ34Bq^;e284ԨIP hYU5>GR5XX5HOPEH-P2<2mX7K006794 3<7h<(8XBOrP_ U_(o\`ps ɢH,X6IpFMx]'HN7h>`-)- 2/9UPc jh=M@o`05?'L;l8;0,:+WW\!'@-$_T( JH$ ,=$K#(_5x^Rp&05@"*H*t2){ K N(VH,X7HDL h`bhg(,0&N;G`!!n98FD0]t%p&` "N$V`*l";P&7%p#81ف,3*,U%荂-3"""] _l#K'Xu@gPthu@gxߎTPgt s(HteϘbiHe0Va@ZK`WSPIzHFQPNBfo=XHRR@(KLAKLMՄ@`F EFE6P;C{Il ~]5YT=(6hGY;5R4A%uh22ᕀ::k:h76?E5H8bpCzTCRWp]FI6|,H6j%ph6x?G{K2\9 L#>G^4̦d2̆m4 FrɀĊGҪ52IDW% u1fa]-GNI5*y$KPgr٠_9 dk)̥C)d/"ɠX4LcYH8Цz/ MT*Zq\O'JD3Am;l q?Ԝ`0Ї!I&]PԤ S&Es=a,(' ͎i9\ʁG!Ijdw{U@W4*9|C!zeD* gc])A Xr !(v#@|$A bvf#rATzpJHPSAt! *0( b'$1F"Z?RVd&iG <# 8v%Ax#X`Oa~dy*jfI!`'")p&hK8=0/b+ p%(# cPHᰨ, zbr/ )
!j( %BPV0pYliEk&co)pGdـmm^giqV[FYVae9z_%nO,VPU)PF% N6AdJ!*Kı&@ I"I$(@ID1qKED^D#EI=@?c$H1 ?LO) ED1:PN+!>! }v5CPm <Ae50h,\ۄ5PB_ H(ЮB{V0r -М] P3@ha H3#ijMh4 m fH~~XqX0@1-°? A.xlm7pj0l=  ȡ }cY>W D"|Rq"xoC d n/ÈBO>P0o&&9)VD%D&y] &P "#phHF 0 A5hj~@xP`fEꎤTn l$4 pezpVv^@ (d  g< `v AH @ (aP!  " BJƕ kv` qa0T z!A! c0 !cF )!n@RxP. jB0X*#dd, )d1 2V1 6`v"rP+U@XVR)ъ"5K)P[p8 Ð>ùJ EC4#< p/CX5P246 4 ,67111 0- Ƚ=$c^G6, CH*#9=/ 5b' 7 B/ à(+;C+c0( P/ $p+ H6 C:)C, B8,S ="58 "BWn\ C2CI*E8dN.N␪" 7b%c / h9#(0`/Ә.݌c A1 M#? X8H €) '° Hx%A! !r Ava֐` B8n!!X|( X`$ : ˜b# a& b~|Xahj!^aT !А P8@ሎ$X#"6 !EChB`/ BNI[PZ"!)VF>Vd\,(2扤Iðx5ШsT p(pBq 8 Ya:0`W ႩpBU =PhPJt+O] p^\ ol!-"Ȭc ؒ[ q )Eu6q(I !h[wAD dc At/ТAU D5PU a'S MI@ 8jb ; BxV0(G `%vB@<r  zC ~Ã!6p B0H#20D$#EpTqD6|z? BD Q@t8(H k؇R.`B NAp1byaƘ2oxj>;PvHo &5piIEqA=M@Po<&j32J\ 0ZC(p aCz!Ht !Q7a8 4 +Pq^wȘmD#;a<àm|3P)D!zxE -0 2d ` HD @ @ &  D` *n KO +D d ' d^ @ e> 9`@ ` n !AA0$v @!Ab.@A<:z6``dT @ @ax!,n x E @ OgR ` 5   g ~ j @ LppoJ vg"gn xm@ T ~xNh P~Ƞrr- Vf`@|`j@ ez ` @ bh& dh Zz|f!^l x`HT``@ r {6 &a^ 3V8@4`V Ʊ k #!a!n"4! @ ^p\8!d!hN"nnaHa6\AVX3l0aT!NLp@!a?8O!2a,A"& !("xKH@@ t@@`/aD þЗؗڕ4@I&Dc±V4@أ&FC F@ EB@; DdF@ P$#>`   #*4 B B,A ?M!aa>`j´+b; ZG 0" T@ @ȵ@ $I Stz4@ IX`̵ ` oaG S 3@ % H@ Tȵ ` @ f µ ʍ&AQ@  p  el ` P@w@p;* 䐊TlaL`A.  ^h.` @ E$ ~` `  vl% Z/+T q.| H=@.h~`*e@x @ ` vhbt@Z`f`pR dxV j``\m`q&vx H t@L r Ol n ff `2d <ƀ`Ƭ`4 TrJ` @Pr_@a  g#n `Ak= t @ "A$fa\LPaT!zaV M VATA.t4^!`Z.Ȕ\N$PJt>A4 a62Nu:a=@(m^Aػ +n A`ܒp@;* iP*\E̗J4 V: <4}E>I b`ϏRJn:ɂJ U /^ Ih#* `O kgX h >KM#  a&.ZiUiW࿐ A `̨u 4ɞ N U2  TPY\Eo `S Pu6LU:ʨn  pF*1 P  dx9 [K Y  ^Z `ۚ ~   $JU0:4@1x #>bL!*%^(``V \ .z"HaPA $ FD JH〳 SJ `:@ j|hhe1J˶@ jhH80ކ  ` @QF@ H` ` @$ uz @Pb ÑF &V {sF>ݺ @!BAab<p^ j  w- T. @`-'d5&Hb8_%J"dY/I"a`OLdqLD)GDK* b8tGxp4FDAn=i1R6yr1$") D$ cؠ?+ cr]`WM&@*LaT&JDLg"JX\- eB!8(Ȥb4 Q{  bqg2 7%Dž2 RP}<ƁQ ]$4ĉ,C(?1C>U% p]d*@$?A*O$i"5c6C, "- €, @ X蒌B- Bp+ *#2`P+ 1=$9=D@GtC-7C8CxB #°Ήb<(: c @+蒐 bxr% 4&{8F; 7h (0`ynFe$TI#x$B́pi a/QXb 1Cr l .b 7 al+0ACa+ vA< xkH (12prBD ~0?`0zB(B !0pS5(@bA'd B5@f 2\ +l P I *B_@ cBQD&[ A aD& 4p L fF #X0& #h__ ` d`4, -l-ðf:ĈK]p|#DxzAG#@00j`tb@9@`(|6a8 aC"@` }<Ψ q6 xfW Io䷙k!i,0c2 9j $@3R m !8udq=0C8a9ahe A@a 5Z U&L4"@S A|.@i@25C!.$aA(S>Ӷ!D#lT a8*@"@: a} 4Pɀ] -@ao_ @\Y7@D"S!*%舕F 4s9`CSaM\9hC h#:8V9a@0В a@-`*(A:8lBks7WdB{P*0G1DKh>aPI A(0A^A<0Z?-#Z h9@R i A.@ ~ P>+ (@ p# @b x\* @CY  -``p 0,TBxO p` (, A( :&x)Ѐa@)t`O < 2 TCR& "p6ǐ|솇pђ6k"(+_ ЪW~.L:Zb\Kl*!rB@>$4MQ $`8G"ȉaxQ"8""Dhs"0:0D@(5Bh?8, Eh?+QQ(6?8=2?<3>>X<81;K#H8H98x8/P5(8S )z@2`1Ap,52A7.(2i`4 8X7#12Ikc('50X,/rcjiRЃRуڃp02 \88,RҕA=@A=1DAz1p:x>H> 8E99NB HGC51hɽ."Xr,6h8B903E;CLCX=HIPv).H<@6=32ŀ7;(63(2%'G&ġ΂2!x7-'.x*2?`H(:.4ESdY ,*h7li3yiP>ǃ<0*.(+Xp'̃95 (.(`4 @AcH.X)8.8,66+1x$Jh( "蔂@, p&P+[‚08 "  ثP# $p@988"Xx@8x8#"@DӁCBKHNH!0!?@)("󣁰8@ρ"# \P "(#XDX&-RsB!>H 1:= P*kOPr}'gnhq{{p6s>ckgkqK[O0+)s5x>0`>xHJ@hGGX;{E`=;DH:@;{PHCKaH7CHEHB`586;=;?`=3@ :.=H>3h0>(;O_F`8sX9s->$sf3D<1hG5-h>?̃qF6 _87?X;W6ɌW8*H2O!,؅`8:Xh26H?H;8DLSH09W&/,->V67d!.7TcGB41=o =0:l(1!J0c2!ڂ(xJ0UqxO -h9[dSfxSp(_& P1OXEF@)-bf(,!)X?Jix28$̷"-X/CQe{@-#A&#p7( '3xp$!%0$%j> P%bA9h B4ah8H$(S{h;,@( x"P ہ$۹89@p#L `h" #,10!˨=@C4X*8#hM(P`X#/H$M4-&C,2P2Av8M^@q@Lp4L7hhq^ H*&Bc CMuI5@*8=`FgF>s5@;`GH<eEh<bp:E>HGA`4@4BCD?P8>P4@1=U+1Uh1TC4i)P.`:8?c.!f4aPY8996&0 h2׼H1x/iv.7< 9YA9h7;h9XOA?(:7?J(GO=h8DE:&X7L9p<C6EIXP:0<B9ٟ̂ 1]H88{ƃq2aG3?ӄ9H K> 71P<S$0>APAJF0; Ƃ//5=0),&V/bxNhZXJ`YVA+`5p>:XMx$9%΀" tΛthX"!X/'cc:U):ijS&>8,apRHUv)v-qJ1_$6 ),. ʟ@,869/?YpANpL?pF܁'☰!,DQ`L8LBM0NhL@K=?9]>h EX8F;9MG@f&?SBMC։ *0/@s9P0j0/-o h:0:XP?d8;p8:<(2yɃāC&p/f-WuZ-19<(76C1s `;{`*sP*f&74J@7@;8OXADHo(9VAG MZ(Fm0@jpPG"(9n?N賺 ,C'>O!q=L&Apg3Yf7Mh]3ˆTK' Fٴ/$xGЩ`5 eC3*`̗#x4 X15 /0;DcHcx< f. 3 C8D<8<#@ (7b$>.";lO:B PFkDB(ȀLEaC)r8w9 8|[ $ U a3q 9`А#".@z `8 f? @f a>Q" X`Pg .0Ь¨^ avC@V AP*`H X+` Ĉ A(@à!Fɕ t8`BL ah%`bIn$TMR , BXpCl :Bxa/sp+^D)͐BOVA@j`CA("C(I*~B(@6 : jE~X5@A@6F@<~ .`# `0\ x1`PQX5@` R() ^A"HEJA(^ 3t `'Q P5iT@A`>`AU &pV(+pvˆ/ ,< հ2, 3 &rB; !\0\ 1U l,˜SQ(%Űc\r5R?C(k!t1"BG"$C Hq@`"LLQ$؍G "hv(9, 0m" 6 ¸8B" 1(@! C  >U` 0| 1@ A?ripbnt3и`@CXtG: `Xh0gZqb `0IɝʈX'P3Da aL0@BY \0@C`[ !̆Giw\T QLĘx 7~f%P<`o6 ~ *?שs@Āp3\q$ApKd B"z :h| 9@9C|9JC R(dH#pBhba-i aG!Z!"xppY\N!ϸ a9 ÐD9C[M/pn 9z^#d $`V 0Z H(@c @1<4T,4q@#8J mDO(,`u bD6(s+PxҨ:wa8*I pA(8t(` ՠxAE#0V h5` ^ S S0BT *ZX'$`FR KQDfʾ*^dH`drTN<D v VRb`L.2`x V*X`R `X^ . N*E f,jd `H lYj |!A˶a<h az "bM'42! }0fCx>QyAid:fEXx+y̼q;\9gCtz.Ák9m;`1f3qpl/Mh, ecBf,Lec1Kelb/K2U46h0̦SI@ Q3S$kT2;&sԾk2dtFⱬq;!MHC;6HL 5p4 M 1CF: 7h1㐲8 A$N)0:,x7H9 㐨%"/ bxx"8.@*ch%B2@- /2B(& x2C - $ ; p1c`DQ /"ƤJH>"' X*Bx5"%c) B2" ( B0h.0SM3 $4"x-(&#b# $b]%@29B& b7#8= " Ђ(WDQ08$-`/Bpb`n$ A!~r#Ȓxn!!|%Ў(pxbaЄ BxLPnt^iApf"!H^ N`h:F&RpLa@KXplA`AH<Plb]!VAF@ehR(`{GaL!FdT!X|va>@x~(P!atᘌ$( "`h&`,Z& !(‚A+G!yQzK%A;H?=>ا"%P#p}b<@ ĐT?2#x$:!"A| <(u=CHz@p g(:Px0J]00| 9^ú-x:4Ʌ !@BzR-Cxw 8`CHp 7) l 8f7-Ch[ !*P]!L.P^ A3mHb.pPr /pX[(DT> A lt0ĈxD7Lxfa;P  B 4!Y: " 9Cq4Hpa@P0ZYAn a0d~ !B$?pCv 44L UT? z:Q# t[%F@b\&pN &BzV$X & i 18K !!| !& g D-0(a F:x0gA6%h‚TBj|b[ #)l. H3 @.XZ &~P@I!uj[S+tYA0$Aq$$ ~(>PnAA h$f40zhKa  x ACIhf A~0\  R C`j q+AN X%Mi+IP{)r970hYFD p@d p.ll'V [2v A<8pl) v.?oRfB- 0 hT(W @O%BxLD)Y )0P n t d@ Ǟ ` `  z + ЭY D* B @  ` +Zd@ A(  & c P ~ )F  b  6 l v| | `   |  ft|p / h+f@h@P@L`Rt|i|` dƠvh``zt@hhvF jfΠzqo^J`T@Z@T]@ZL[X`j66jD@dr> f0,` `P    c  ` *P $ ER `Io @  |^ Ū @ @j @? @*`@ `n`-/ 0 N &  @< Ed@ :@ /x Sf Q* @ f ޏ{ i&2* @ Ň@%`t   ,@ 6``Ͳ ,a28k8 %4B9Iی! P @:]NAk83= V AX` ? ` 7@Hn `6J " 6Eƙ,@ R @ `jj '*r,,p`@h Y xl pl  P l@v Z | @ H  | `x@@TQV ?A! VLaf* 7 c'D |U b<  ŀ !a2 `@/4A >}D d ` &L^x@p2 ```^o ھ| zsvp_tkxT2pJ f`bl,r6 j\N@Xg0XL^ H \&nFg@Lv 5 [`@`N` Bh'4n@w,qme"ZRx`|| aPabd ކ rD^ \^:k,p @  ੠` Ip!2@ dyx `>: "" `*NbZ)i9EsqdiR]3>x8/b/md^*K C Jb #  P @c֗O@08 iTY n > ^W @ ` xb6I"a) `BP Ԅ 8 |?I@ 75v`KyxpxĦ`b76 \@gB 1X=A(X' ĂX`. bB`R(EDb`: DPx_Dz7b1R<bL2HF1 FC60Yf3Oc!r5Gb1F>$3'h!)uQv|{l>؍P/HE,RLaL6'G%P#"Q |Q) dQy2$F$b@~B3NB(GNhɈm:gS뚎sAjC169x0 À46`+ #6"<8. C:c8;`/@"7(* À0 , #1c07D〴0Ⱦ4 .(7 , 82 c ,#/ "2C.b4 l^54 p: 4#E.c=c ?,L:032) 4Ԯ-2 c2 c+b0- ,(Ȱ51Ic44 м*c4°-# / 㠶; 4p6@> / "X*B(8#蒃 n$aBfJxb0feb8bd8dPHne24 BxbX"pj/jz+B@· a,"Hbfa^k!h$BHx B8,м5c GD52 ,! < h/c>* .p2"ؖ3 $K5x% 2h? #`/ z#Yp&"8)| ()a zf&PR)v A,2PD A`  5nU) \ 8"@RA8'`L A/M `t ++DHX P; U 1Ї0^ h-0R΁3%t3P ! oL :e|YA9c?Hl{>ؑLz9GCO " tBǀf5 a4 PG7 ~ N(,}zP6E"t`>M0&Cw;!6`zO7@k`h}!AN!?j -`C(o6`^ a-c /@e y!Zrl4½ ,,P\PkZ&zXq hd0jBe F4 A.`(cBA}`BZKA`CP] -ҐOSA6d 4ѐhf a/`s 8`VP[ aZжCXV ,@BOG!~B_ %gٵCH[ -SXV D.Exa )DA)h A0@Ra  '0BK!(nA~0h ɐ0d@\~ N`5A$P0jo9ݳWB(-feP hI,9fLBh;\ AK&`r@ @!l:d D!cЈ ?#ppI~A.Ѓ; 04%@}!: a 4.PP (< Sr>BPah8I 8Ĉ$1̈́@ hC 8  !#,l; a&h/ !85,'"hX2aF P8 !\P@fNHS%0N R 6CT 6 `Br"t7!6ꄸ<  ^A`2yd$0\1a+Ph - L J,,F :d1C +%0c0:Z a#ňP_%H[Y('`XBR, $ÀR $ t sT>0>>H?@4_@.1-'1q킨+/H31 %,`+&-x(,A099n-0x2$`%*x3((, *4&&@& @((&5!{ lG o  Fp !`*e"tMy/q y p``0* x(I xp $66x9X.iH"8F7ы,p8>+RɃ`9CPN[K4EE)j,x68'?KHZJ2P0h. "$/ 6Hނp2 p% @P!  Z@nfMpIf^OmpX9Z<ڃ8H4jTH@@hK|(78K5.GP- p H  Ј1P @!00HwӨ$"D Dxxdb``CoZXPjP`}fRX|PU7\HAh,Un9 ! 88:8=H;0:?=e lx98:'<:H?=@>p<:E'C)53+qx3235x97?6˂-0&2X0R-4(&2`.@9A3 1++13-()#x,X*zA1'd[.28:Gi'@8E6*071P<E+(iÈ.HABs_X+%&p+03:&p+--$90@,@/8*#(p05x0v ' " $Sŀ:^XX- {DUDxXY(VYPo5zY ްŒ0dmtZ1%8%%p! ؐYQd>Ӄ0'"F#&$փ=hM쒄DD!RAK13x3 5?,8-=MG5?.1'x2&8`#p  O+```UipTA]N=[6X_PT E@d՘RI1@DV_0(x8e 1@P  / X8  LH @ۉ3! !5 1 %WrRFzkc:_ pYRx8gSxdNy`~+LbKLs@c0@`2H!%7} 0"i8@ڀ@>;=A=eh:<>:=H@>>@A >@;:8988,=T@3ZP,Fq80-o 핈3x3 $0P+3yAr[4Vꢠh)(MmIYbX-s0(#"q+@##f^ڃ$4P܂#P(RWXEh4ڬ7} 2?`:s.,Cf85+3)!({L `(.T478.URx0#H'8$"h'(X)֠()@&X!p)׃0 "8/'x#"aC<1ȕ$xxY E:b&({l3߰" J x 끿;@ !!83X&=yyF{"HPE4B!O&FP$x@:C%(#2`AX0@PHPBND2}<=0; 020!.+"͸+ hlh%Xdp(YP#ٌ٤qXN^kbLp:T`D5@QhE88VhFP48RI? p*!H!/D8 d8 h_n 7  @`8X   s^ ݂8+6a N8;?!% (6QjNxg:`_cJq0U=eO8;dxJ=eN8=eSp@Xh`Y4(V@1 cO<#8J!<;˃;:M<=O; CA= >NXH@X>(88X6`3`lϏp6_8(3Np/,,k1o 'ػh1X*7H*]q,Az4&@6$62A*HIW>+F0*"h0)u )!,.x(h*@/@4-f@72(ăh5څ978)-u?%p1Gp4/8cUw}@h)B((p#^p&֋+XbhH, -Ct@8!#Śp  aK>ˉVFlm_(pǁȋ}Ј;%HD.EbV="803 V<E"شT:8D#C@d&D⁠X6al5 I%j? %'܆?"qZ; s$QnB јv"Jeb}VB'$RրMIr^"$a:"S@P*JO#I pC$GD(\+ ca\..@2( 0@>8* K@8`J &4YAL]P^1 :5 9zoy<8AhpP" !H5 Chb(Ȫ9( X@)Ob>BBJBCEbnTAtfAfNB\i@D$ HD!55|B#P&iHQ R#F #x7 6 H6 @0 1 4\@4 51wP/ °3"1#)"2 . / ⸸7 &P- "ض7% C@ : /CX,"@0B$悘< `+b-€!cH1 8c+_BȯbB.X09 , X/= /b8 ˆ"b* .X9 b* Hˊ€*c5.X. b@4H$x!&H`! N0&C 0N$tOF -*q2D B Y .H!0@V"f E 7  wL8 L &T (tX7 ` 8aA~ ,S"-(\#0v A6NP A`*0g_& "d A" ^ .cJ͌,8n p4Ext|8V*p"kA4,u8 e\/.` k2KXe a2кB_ a\+0BP a-h`7˜X K5Bj'0X| \ AE%HW ?!_y,@zy4t A9t}-V>V `H5=|1W}  Ә \I 0$& `d 3PJ &pL `2b@-N ~'p}d? @!0C9UPQ!4*(N%(l,I !'wl9}8`B?w @zPpe!X:pA{T6 !0| ިhR ~/HF t7  >Ty An0M !d%2`@`Yx5$@h ?O] .&.(P : @D8 {PJ $l"0JH8`H;+#an"Yl>x-zD /~F @h fu< @F B f `f~ @\C jd@l8 t\H `f`T>Pj?F@`^ Df ,X us?N2u?dULO/:p",#-!0XY !@ J d$[a)ǹO [zp*BJ aL%`xJ1H* [ aUhcX:! M1!=Ņ ^p p7`[4 x[,(\4%XV ,0 bB?a2C =Bh d4B8BCBEzAJIbO (Pz :v `8P'% 84ZL KJrMiE.@Z h4Ji 9Z<!:M(Z rT!* 7H e @1^4`B A u@7``PFAchհvCRx6%`yBD>*ĨFNF)x„ L@"ā A(2xBU 9:PhE! d`M(?@2aSG}a#p;B0N(@tpV !,'pR @!^DP8a$#)LhUCZ@ A+SAA X#6 q0+o 8H @PLA0%c`< A Q,pX\p4B! :!tRAВT)r M(@nxRw! I $8.@xA814;qKUiZh" px4@A@u1=)^1`2nz7#\ ,#ď@0GHCE`&ĆBBZ %.wR;H)X[ L0p\*al5Bk `7`ha.Ы;Kn `4NPO2px]C&dw <0p.?%N aM (AO2fx-BK8 -X^!H2Ísa<0 _PxX?fAZb@N4h$CY x:7=63Al*6 SzSC\A.&f rKdUI,ZAF )z 9AV*Qx5ЈPA,-и砲O``V DpGR ZGgR\oe`eD V@>VP8o`XRZ>+ :H{F VN ^k/ @`"0L"!$:  J @ ( z  @u`f`|@`@P j @w^Db@pzhn  u œB |=` AP!"!(@  @  @@nFb*bRo`<@`fTP`ElL4Dj,z& <  d ~@x A  A ` W`Gr C"H  l FzxB逐`Vt8`x-"L@6Gӧs$'rT`x@q`v*Ҁl\`8dX2 ` Ό  !Z>,afBa8a*Ab.j aBB ` @]>`2 K. T + @h '  JD @7 ` H @(X  `  ඖખ0>C4$ @977  4 $A堰 @s N6l@A&l @ @l i C ` #v <@DB @I I4 r dpj8T LZP`JRr^Ir`n@ #)`@d^zpP @vz) ɀ  n`^ `hbhD|@V/S`@TBRUhFTU0PN8PRIH v`b-!"aF<*<:Ja&A$sX!* .Xc 2 p eV{ ˴ `p JXXI D@R@LPYVJFkVu@Vc `/ b`Q``*  @`` Dՠ`v g f @`z π@ NP:xz v h y` r6^l6Vwmtw8@\ s Bh `  `) ` ) ``&AXm!0 ) iS<L ` #4` 4 ` * 0 (*J * ) H . @ @  pgF @A d` j堲* Q T 6 <@〘 ˢ 43  zv r 0 `Ll 5`44S # B hWsX T|G`HԼGJ<"@f~ : 32 @ xKlr`EF` , .` Ef`lG&Ȩf*M%jPp:-SO@N85o U`B%]WJ@Y(p  X7 ,@ oJ @`>|b ` 5 f :GO| o`nDzubtF@v ^x ` !z 6@ > `|`!@a aaȮ_ (`f`p`dkheBpDv`FEV`JƞTv&ffT `{`` & ~ k@$.g8x  @@ f`Az^2aa|a$A`a*a\l* |  A@ ش i V@jpb?*@ Z D`f"Fe|%{c` t   - g 7AnH!a3 N ! B R 4  c | E `)T Тv b\N @8 I >c4,M.S |vl% i sPlC) > `x\<@ p Yzr hF`jy )@hʡ  l|tD >@/@  ~J4X ȥ/VjԤZި`~@ +/@e n\٪ 1 I| 鰑 H ` @P$^^ lj~@oꏎUUZ@@Lg^0LZ7JnnPY@A&oyV`r ^ U4k@ 5TZ*4%~VB n\ yN>q\gRFD]_f@.` i?H  5)x aB"@ ;2 J=B SqFGRvy`n@E`u8% ZpY q8`r>a l4+F840䖏Q7%i.kEeΘZ6T~VCj TN0sN1nN3J& ,11 ~b0lE ǡh&) dP'"ahL( )|b0Leah4FQc1&c4&Yc3ˆle7%,B'Ri=Ji8J&,X%#8g+ &Ym:M'"ٸb;@DC @ONH&02 ¨3 () ؾ6 1 "$B`.`%EP1"X$& ")"8 "#+@! t" @/ h''0Ѕ P*( Ȑ. x%a$ a~"b0han tAfA`xpb"H!'(6( "(v TZ!PNAM(DRPhP!`j `16C`1"$Hpx! A#8- +h&" X0 w, 8. x&(jUpt!oRJaB!J(<hRH<8 J A;0:<TaXHY!PdpM^"Ȃش/`.b 87C@1cBDH @d W B v"x Jae8Apx#Ȃ$x 0%`(Bx. !,IĹ06 C`\PȞ0 03>!0hE!dL`>(,H/$HaDB @Nϖ,@r AP/T|BP5P C4aj=  LX>Gx;G#\28 HK XM `xia 2@ 0Z,h,J @jpP:@lk%| H BA.`Cu A6Pps 30aA,po 4pST AD- Ð|aE!kb@/] g~`S D+иOxu D -c6Gf)h6Cp~8a:@N -K0N Gh2[GaC !l&s%`8V%@€=aM*Š A-:C" 9ЖBzM@0p8C-Iy;aU0j2`d A0v /^A3!$$X AT+2*S2NڎN AX&Y6HYYk` k aL,s84BH$hM L"I wbA|2Clf |11B^ &n?@ P 05!Z^AS@  4P&h́TA8%Xuk@_ h4Ѡt49~<\8d 8`M a\pn) jj`I$X < Vh JP 5`\ .!0 @`F $,9 (&``zA) p0d'4AaN !` p:AdE0bLE!v %p ;2 R VB h"0C2pC@# TC=CTyB0r9*1<al<K /uyt +x"R%pn d3~`pf 4F#uaDxb`a+ʰ~3t >q YnCjA8Ir^!D(dm`hԜp!DqupX j/ ( 6018<073x;086҃`-x #A8%@CfCA31!  9ٯ8 X_60$H320?8H`L@K샀4Ď.. 8./*$2@PC@ X%EX&! hXh)ح.&"0I*)pj+X!j  dP @1 G3:x0>%:-CY 90 :^4A-ِ6XYE=]0~q8j'CC*㋆pT% Eh3" HL؂J>p l98g Nl1%GXFoK-xL: ?6xAB>:)5у7<;j9@52d(X)3x&x+Z̃8=&"5C:L.06H)E0\p8q8)wr*8(sb8\~m]~ѰCiQmPC*0p*H%/)Hi>EH)#D7Td⥔@&(-0/@.@,0,1Uh)h` ƀ F@ C[s 1YYi/@!ZThDE72X21ُ../ 4YnyVu\SR!9c",3EJXC 0ġ 0+E Ո!8'pP`>:F$@J ` Z= (24+(p7p" :)ºH$A|=:h/܃r[YVHokѠ|n`h3kCg(. 7%( 03E H=΀ZZ8PɁH b@4(6OP_I`9AKØK8QTX|l"[Z)r'eB)ࢅkS(u_@Z} mRp"Tp0,@)|1{#&s()'W S%(#[5AZY$2t "1z1D .P6+ġ3(#G#/Jbr$@&feZ3IDBIPL]S3ԦYcJ.T1-Ck0|Ǝ=9 ;9??x:7zk>>x9D66G4< ;=#jz]072)[`%)#'!~wA~#Cd[ ɣF٣˟FeF\i :Q) _n-93;PF50)+/0X5(7Xǃc= 8kbT~/a\'#2=h*8a (aw"{ݢLh`A*wSi9!?N>*8-8""Z p b(FC1 p'ƁHoGQw;D@;B>4_A?;퉃5v=2P;/tM@;҃0?89 () fZr6t8+I:~}IH`-hm 9|<%a؈8C"h@ <$ B\|X! XZ6 Rn;P\)2لb2 3t#B`F$P\@ bhf6 EH^*bὼt* ĢP3 bQKVDq8r6 BT. Pvc `HH6!`\> z~&@ܪ(vbCQND 9#ps "aixP,0! `< F48) .  "`" (> Xt!`|+AРhHAZ!|a<HH^ :aTD^X as `AB`)0X!HDH2èGQ;;@C`6 x3C3 . ز- 2 1C/ x6. b* P+ cX14d&SIdgfA)Y<]\iaI&XqVeTaPe[Q$VQRf9Jdeyuʼn5d80P(!SZ'"x+ؤ# 8. @&'-( !'!p~%b% b +Є0"h, P$z+ctaht!h!Zax\xRPH8bvp!j,XLDH.!(D @7 <$8?CE ?^?;=#? 3σ :#81 (/ð3b8 b, #x0 7 *+ bS@&P,aP%7@b  b2 &"`Df@" A$XE A*\-7Cg ݉pC |+&J 8e`"0` 8%Z#sN@k2 0` '7L AyX L!(Y@Q R"nP<z X7+4A81T8L ''!`qSG P.\C@@ !tCM Bfc 7"x~-A Ar -FA '&rC$J3BU ah&0! *xCbc D&l@1 @D.`4 `(05p6i @a,vh@9!_%J %|hf10pm7r a8<0L0c YQV at2YP P%Yh b,\1*Ÿ| 1?ty !h5B R 20L &|> fĵ@т"BcF2f$,F"+ A\)OU@Bad% H\ ,0P H20R $6:)pTih!8S# "٨@1Np4n F \0-mĘ& Ax13lZ37c (,l @$xg a@P"C@0({=J(<ps!6<az8Bc!:en 5pB_ h0BY О@G%B(MjC 0zB@EhaQ)>hX" %y6dlB)̰V #= a4p !H/vOv? @c_, T qSQA0 _=@H b+ @C?|0F X%CHap 0Q$ ȬbP! Gh >)FF+']LVA4Gvp | AT`6q(aTLP*C``dDJ P  |/4 J "B@QA/WL (n0l` AK-A $ N A~J6ORP9'a*:vH 50 jZe%ƌpfB!Mt Є8G#j8iG͈v5 ƣi0LehX-ʥPU+fcYx`(K$@U$'dZ"\0Jv#zXɲSP)AVDa"TRT46mtN\ۉ,m"U =`ԌcԑƖ,>( 8Y- YʥR3eyO$DrXS&LB9t~F->FQ(= |MQ(H$ d1hM+ 2\R*a"jXZ!hZa^A|bpК& 6`^8BAD@hL,eEaphA8Ø6#@6cP. C(0 2. X0 7 B+`/x,p-⸸6+ cPЊ+[!0x!xx!hA~! p$ $(\A0UBF$p> A2 2D%`NDp!ZP8j!xx bx+6؊" ) 1 > #(Bx~PfᐂLa`WkaD6 a8TP#H:> p(B`V XFAPdax6 02 " k< {2z( @ḰA& @:FP`,"8P^g.FZ$al+ x\ !n H@H07 #;:B8"h! +a"8D T`vA<Pl .:2>_,Hh f d<%<8n0v = Cph4 0{ dP5: b ap.xV 8. BZ d.ПBxT !L,Bw lX!)H}x9gCu p7Ā4T&,FНcO(y =E "xa$-F؏PH $ExhF2b(*`X :!@^xB4$(0"A a Kad(sD5 0 lzQ'9r<A!@C0pl0 ,CpX A pZ%) z*b ) T$`h ()@>A!\p{ :"O a3¸S:0"2 %M a(PgzOi>'gxk5)XZ0('@B` @r>1c@>]!!} "`;PEJ&pRdf,:lRX!HTA= Jl'NЛN !+.\A< c 'Pt|cH K h 8.@L  F(P@. 7l:h, B@ >"IL1A80 H &X 5*@ZnUP: ? AP4X BZS)va>h3dW "J "TG#f /AH: `   E S@&x'v0r.z@v.8#@6 { 8 @k;Y' (6! ,=QX@w@Z-ڙ`[xx |9P0eA6 m 8;a"CXDd L(IhxZ^t)`R>P&|XpZN0X|O)F HѦ$ŠlM G.F$ܘ"D00T.I,$`gq (*[AHPB4ΪP  [Ual&FA`|D.AE]aD A<`tdBh@ B\ fp1WCZg H5B QFb 4 4+@tN X0`d*0R"v_AAtd, t/ `d !2cP 8Q5?Wx#Ή ` @ @@ `~@j4 @r X @jb]D |O/ o *LDEexP@TX\Y`2 fY%XgzW@Tj^L@jϠv   $@` >,`H[YFd NEXF\`:d 6 j 1D ,P @&2N h *ZPH'Ŏ&`"p`F@0*n tƀ' MF=@@` H{`&aR<1A"t b!  x   ` L`Nxa:( `  f @P`B@n RdZZ ZL,f@4Y<P*H@:*z(&`0FP-vΈ@ BHr` ` "A$!. v @ `̖^ @ ` bL  4a&!2b!$NaLa-AafA2.^sLAT06!JA&j!*|!n,aalAH @ |^ `` @n jh^tp\jf`rj <| L !4   ` @ F 6 S\@ FVT紂fV(`fjPj'EjbY<r+\F`Bd ` O@࠾ @ @<谀T @ @ p `  ~ @l`Vp&쀎 S@Q3S@ |p@T[ϖ@VYX2): >d XWhj F!  @` G@ ` PpWPql`L`n' C`< p 48  d 1,`@Qg R &@V , TgDӅ~( 7(%,hfn,z*@Bf@XM*@ʠBW h"!< ,$gFL@V @@ ,& @x <@ x \yem&@PDVd^% p:, G(X$Y*e*f-,Z=)+MvX8X BXV)j(``߀ Z @ 2 @ !1  @ O$ IZ TD 5 ` aL\DaM `B6Î l J :  Y b t d@%pYH `^Ȋ@ r @ oyI*QZ{}fELfNY0ŪEz`j k!4aP!AXArKAxC_!抠hpn3fr J z@@@p `2e^ .hR@R *@f{<[,0`T`L*T~ H 9llQm# #k6 0&`.lq2feHfTD4"0`ha EaL0za@P`tW 9A  8 Qu@ Jd jlR0q'''fe N6k:|x `ͤ`>@!.L Q@ eB  Ú e8 @< UA]Mb>J K @sUf  VIX ` ` > 6; dAbN#G* ^DjDK]`b` @4A!AahA0"` @ Fd <@@d  30{7F (X p‚ÂX#AP. !0v> X !PhL& PL*AB' FbY8`.b()ɦS$=e^+J$bȘ^f M"hH-&dF#฀X$FpfHǢ!@8%# ^ XX8( !,tH $bh,Mp2C}0a|/Jb. c(L!Cx#SbEE&U`dE4% rheɪQ2ZDTaaB%hF`1¸B`(&H B t$!r "pz(v$ؖ$€AЊ-$qb;^e)Lbp# a/B#%C&(0BP"t h' ' P-@UuPPv /( Z!J6(: :>pH": P- x10; H2 p0"^% x!ax$xt*b!74 ") 6/ /#8Xh t( @gx]F)obȔ&Bh,P!B@"k@6M4 uZL;!`VʊA@tn!ǁk|1GwA@X ;"B #+|)Z(LpP*`VhX,PApU*PRBHW`p, <p@Nhd @8X|@4L0`D "$@j8P ,`(pV1x AP^D=)D R'@!| }-`NAH1 X1 ԠA)J5@pn B PR 32 ZV4AXrùH 2t S!L AtPd ;R @):XE !%`L>m/0h Al5Vap)`s  CX` a0f 1-à=EhQl2ǐW+icW G\ +pC l=LĘB`W!.+`bTR:)bO 'g 6x`a(fB $XX@V@"0zH? F~;P~@Ha9V ~XGaEB_$VaN5h(F0eL1q*CP a?p\g ()# C #G %׃ a0(@Q a0/^  A3м3ذL("d@0Ci a`0 l+ )C4 04 lAxj l9 (m !x1]<A=hTJ0jc(K1A<`@T 21M Al#XXmU28`(7(F F 8(#`P}?u;zPyƛϰl;T DPBba$ `p4|*.P^@( B ;$`NĦwp4@P$DxPH@!$ ,@X]8S4 0N NGh>pPn5DN(~bh1 P|!.C %d`7!0 0 `CD X, [+$%D˰HGLxB8 4@2 p h>1NP&#( H*uB> A"ۭg !8'0j.  /Cc a4PC@Odl4b0H#j8fWx}jQHuh0'/'50>GC:XPB8MGP P8x  x#$P*h&P$0$1`!'),j{h5-0?@0P9@FK6@WV(^^Z^Xb0l[__\X\o`0X vjD8_@.Ɉ-H0/X2A`>p3E5џ/--)7X9BDWW8X(ncLaK0#.B9@+-0ѥр&{".x"(,5P[Ow(cHj+((B#!81 3%I8$(2c%/"@#\X103tN 4Ӡ8+R V8 )':p  P$b'p<Ǹ=p68:*9)2E0-x+'h&8B9c((!.5/{#3H@;:<`8Yl:pNx !S*ѴD%'+3+,B}*m+4/.%iɠ8 lɌAk yC0TUpzhhY}k[̯o_g*(SO@D Bxh47 !@0 %x#(p x/ z h(7@)(@ 0y͐8"ԁ4܁ %p{x È" (7Vh-#85'(0C<9XUH@5 Qd0PP@߄P2@$(ph=x. I@#88%2`-px,P:@8pQ 4cc z!< ᐏHցP!:/@% 8X"pbh#%P(@ ݝ5.6 $w(1X6M5D VJ(DXKXPP[_`P ZQX]k\`[c`[`5.(2.B΂0h/>&m$pp.ČE +.R^0+3.Z*X/ X1iNJ X;݊ ׯ` ̃@BLKPtذwHeUhy`gX|jR0-Op?(=1>P#4Z'P,~0(XPZ@8 (O {00d[@ x `0P1pP#$$D$Z!ݩ.L!Ă LP+AA@G9X8F`IHE?N?ZXSYp_XMH1݆,ɱ+|NI@/6r/&0D$=8%x6:DDFWxPO`& IJ X#JCXx8+1?B @c1l@ riO2RK6ep5#G4ZSIEqr/xH+AH9"Ld5Ǥ2O "!dH/,E0ؘ´0pDb2DH/">d8! !>" Fc2oD(sq9MÙk)L$rYl~D,e9‰X\/&8g= #_3JI8I& Xe* Bp0"!v hhhr,8b-"8"60L3 #"lT : : L4`HDv$CYP)MF>_tF!RqQ1A3YxeI2`9c@99"#b(AH5C<B@8x:! d/p x)Ba(~ a(=06 8@J h * `" @ !@6 `.faF a\%:91İ.BA`f/!hIBadXR$HBDA!C ;@l*a Ta`la؊"`R!n RaF:!FX\a8LJPr jj I0؎ ^"`H!!!X" @,>,q3$16 "(Cp"4dx7N$;P5`Bb2c- b2 ¸.2,"'a4(BI /i A;0!DBL ){D/PDnxx<,WB La +BB+m$`nꂠfBQ *ƠHA D P+K 7Dj Ah7!hA: V A-<Ќ Ax\S("11 Q)Vap+d  .42xqi D?؎z(=Ck 17|C0T}D+l 8 Pn9&o9p 'i#BHO a0B\ h/P[ L.0L !|% !,l al904 ;@k PB)Ԅ(Gd x#q#\ 5 d8$"HBl r7DȻBt^:8Dн"l^*,r4aDǚŒ20 ;`HI `!F#A\ 2f6 lp2 C!\ 8H! H$L@0m00a\% .-`hp$< +!@@pB A3^3 pL , .@A(4 `)N0FC Q ;(pʃ`4 Ax]  _ \0R |-0qB`@&Rp'!!xA'zPP [C0gA-`M'PS(PXO &]AN Ad#C0E$9" 0WOp"Cm!1 hMa`@[>!,C !E#Ci!Z [)0] 0Bi j-B H*xF !c:S At*SB$M AD-$P O 8%QA8&`>pKAp?LA! ̄g$B d`Q(0CpA60˜?`! t <L h<1xRE -A JB*`P@T ".OҒ As` h2 ƌ @?$}A@K1#6p50"a7!8C? #t1Pu 02I tg A|8( /@e A3jd ꎇ>Hmcn` DD @N0` n I`OT a/ F`f\8x ,`HN*^R̮l#`bf@n $ ! `r `t`V^  |P+Hy EG!J*A D)I$S)E!}6 dQLH-BD)\L0 `V*F)6fU=JXBs h^- `\'EhQ.JEi ! x":@%p@ @'ЎEP!ȆaB 간A@aèN 9q )D"YDT ~98 Y A)@S !+%[ - C w ;0m6c 0pCuGLn 5`!|)P 80Z@f4:'+ F|3tA6p~? 3#EI!h@ $XQ=a b0` .1 Be (n1 h 6 `^,`XYNH ( x( 8%bAp6.A H p00Z0ak@Ulxv\v _Mq`Tk :R' pRXX\!` pH\0E#\$xEA\ (y@I* I5(T@ ED ֣@?b h:@ 76{! h<!@O%TwKz C|8$vX_  NP 胮, 04Ik G0W -IH@!@fBg "ډ xr $1`!jA+pXV p, V&A\3PX i$[ |C1 a4 { A?  n 쌃tT31+ S *}(= qg)e$@#y@-S@'( pT3@^'B B! XU&W,ZH& Z M`RRAĺ<6a  @%BK  d @ܫI A 0Hada @J Q X @ R0%EN +# ` 谠 HV ` `W`b:o@2 ? >0*j?rrx \ @C Lj@  `\ &@a|!^p "   A  `"x <p <j Q @4 V*gJ(J`&hĸ>0` k@̲*(  ɦ , .@&<qlLE`^@v`.o6@dBC@x p @4F 6 V '^ &@@\ mH 2qT AnAJ$@ b\j\ |`j `@<:jrLf\drM @`d |@$ZF`X X \  p> (\k|1`ll- B6 ` @ @ ֓@x Hr  @ a  aV !)  @8@ r : p`  ,X5jpz0 xh8jz+l G da@A9@DAHB NRlT`XԀJT @-TjA @ L  H  @s@ {xbX`>q@ˌ$J@<5t `  @ +F `Љ:U0L 8>*J@` @a @  8 ˆ cP C@ `+&@Ep 5 @ް@ \& bQ " S@9$0npXq`L wP *FLp0`B $6w`}z~ :@A  C ~ -  #:HxXtj bts d`pӔSI3^ `z `O`RV F& `  @ P #"@bS e@v  j@` dp4` h x  4BR @+ ` X A @. B @  R `p#piX?> A`\;& & \bd aaATà!a\T @ @h=NP/@C:` O"` aT  J $$h e LMHR 6D4Ŵ@  @WL s & hU u``K  A$@ ` ڶ 6 P6 _+p { @ e .ȓ t" m`S|K.n0Xe`I0@ ~bp'\j8> !Hap ba @`t @ A" ~ @ Dt 4 v|8^RѬ,Ηf$&dGqqYqZ,%0*j qRF@5!>ȀE@״h":ZKu`UqT@a{@jg:rlH`qv`"|-@Br>v@'v -B Lp +"!la|hh;3` e@`` aϪf`D/J_/BDUb`j1lܠn@th@`hɔ, 1\xf r@Xl ` a4An 6 H @EZͰ_Ϡfn`.h`#s2X`2@v   `  0@ `E ` 8 u& ~ I! cJ xz v5@$vz`o|X;&.42>T@a!Ah `  jRX/DN >, (`\a0@"|xa5Fx|ʇݲ~ Tp8Do:ddD{f j` yi\ ` h ȵ` Т @ᔀ!. G  Aʸ!*0R R 08 )H@ P ;~ X dO*CA,g$LqP2FRXP)IB8JE1@x4!Ȃd$ShL4HvB!Cx9# cqU7&I<){oU<5u0!JDC5$xY P60&E䐸BQP>. 0$C}@$ \$ !x@%@np@xSx C{T." &Ш`< Ba@lLC>lRpzCRx, ( p 8z !2 ? A8 6AaaJTfI ˜l &`R6`<:RpVb!0vx"@u2PuPbL"HX| N&#H0b2 c;#`J 0/2#$ՀTuTl2z8xx$dAh^!zv7 B) F? 1D -c CQ8H=:A35"9׈Ce 1Cf@(@vBa\Pf"A$0J D`(L /B_ Q BB806#&@ L U|@ὃn. !6&0AM @JBW (è01z \,<3`Ix@h2l`4  `^1` @ I&mL@(@2 0$<1 a@4lp tk7p`>u Tp< #\ * 40r+ X(A@r @08 ;nC$/ȾYa~1XA08U%vP=@ IH &:v DM ( z`H&jZhV)J' B0@P1d x6)0C EXW!8,h 1X X/R ,8@ 6 pZ * AKlX@*`X HA@ S4:Bp^`'@ Raa0)`T, X2c!5|K0f*84`H "tA;͠| >&kKQ$,c8? ĠbBυlB-ap A84@H  !$\)BO8A4p`<7 u@8 ph 1ڐis`+ʂRRJ'i.~K3! p 7p_ X/CI!aD/0MMX Hm x80Cv <ϯ0Q a&pC`I 0p(8S %BH .5 *ж `Tx"pMC qd}G !%%tb!!hl  ;À $# 6KAe`P`ϤPgxX8 Qnp;èD]@"PG Bh-!ldB*QNC AO-(8`iM(!PBB l qۨr YxO@"vD L`(NX ;Ûil`@# @W& !`pAQО vP2 &B jlPB03PH2 fT¸Y!1J"^ AQa0P-`J A&`),RЁj- !48/9c$(D0  *1( )p&X.,H20= 82)5H(:hZܭ`K:5yy_P Bĝm1& >% 2`3=+&@&'`5&,.) %#H*X')3/H0985=HhL(CJULh?hUK5G,#)!.8`+7P5T@SHpl Qx>b @+?Q!"`2h I8HQ'x!Pp#E`?=pgЃ0H,.h+05#@$@ I*A);[Ah. 4/@+,@&8U"D8(*x x)"('3P/&,*01K!8C$(, pKQa(&&H'+!-!ܤ|0+ 40p+0xXH:#08XPX+2X?Ahp(YX; pp]1@c83) z@/(ZX94[I)hՁ(``|lH HԀ Rbɥ &m€& Z;` ,X0P)%($ Pp X`  P+876]B84HX1)*t8MpE8MB@p"{8(= ¸@ ၘ!eԨ ((i2X"U"8P"ڋ4IW2  BP/,@+0(3$@ YDB1-PpJH¢3hD3Q#-1g@ā* 8p ,8;:+H*)h9_9#`(#?!445FA =\hTxNl^QoZ?XFJh.9p(1jȄ7PWPP>dNH=`X2k9j).9hhЫ#8)R/HR)_\AτT&x(&H*%H*h%H"߁Hi*0@;5Mx$ *"X.,!ˀ bJ!Ây %Dh.sM%XYt>ぐux^Pz{!\ڂ)P &Zx'*)!Ợ(+%[bh) 0N'ꀹ 8?䛳tۍw#."@OQJyp]I9. a(3&S8^#ZXHr_@`uB&pR`8#.8^B.W9$R8$2d@F GPA2.Ȣ`"0 -Ӯ2F#OK_; x( ZZ dx p Gu% Hg?p  =R(3'f" =(p xQop #Q܂0 Jh%xQOJEhH CpA 7,%L0"0IMsW2ӁV@$x- E\8{H9--$r-Ӝ#1_7k,gTͻ!8h*Z3M@@j} F:`0!%{(x((<'.肤A;(&H(8'z0&IJ(A;=[L@a O8EMmp6ͅ(`T tY<|J 6F#a]*FsLrJωa*P+F1V: F‘@R'bq0P"LiU="8n!P0>%'DblBA 6 ĄP脖Br@\@ǢX/ bQ@apDAEB0\#ʣ9@rB&ĸyZ4+ 2TZ1 sѬy5ΦcQf6KiD="ƃbF."3#4L)~R10A"CxxG:cB(nIjbz &"xx!bؚ) !@xH 2 0> !L<`NXDpVa- _ dq0` !S8F 6|Y G$A1=xX=PPr " ,x!Ut 0>@D @  bÁ%ch]4 ; ` 6 ˆ~0&$ʧ+l%] wrB T&A lXBOQD%D(E x:CC]$.| a=_ `#rB(6웹2aA1l@T*`6 N[p ZkI!:C0bT5"zh_A,ܒ *SZSs3s` Q;Ă< 0'Ty@PڃJs`&^0FAd*Z 4@ |4Y./DHBD A,F[P'@4ſePV"*`tV' BxV!e0BQ ),n !5_ L.PK (* ( X0,!e k 4O`PA"!("G`qp|9 r? ЄxW4!L% 0D "Dh8%`| *E R1-` nU Dc!2zAh? "F"D!tA*hpD: *)B{!I1BpI L(GРQ H*`B@dB@Z6,`*> &:jEVTt"VELU&Y% L԰:@Fp`/8B4@4$R.`N 8`N<~]@rUDKL2&t:B.` = @` `P8FHfN `@ @ ` J`V  A<$`z f @L%f~hC(l[.JflLiX`DD  f áf1 "XN,ł`b/ EHV(EQht/"8L& D1(G7ND! F"'aP"DbAT[< Da0t)!DA6C1 |k) q9g3eV!SCax|K.ɦ -HH+}Hr׎% ʧb9l6UĞ\7Sv҅vC)E$V6!7 Cn:"a?!G0:)㑰x3# `}Si3ZgN\10Ȅ >`N$F!ar !2F@~ "(B(bHdxJ P B. p% $ -b@܋- X' z$hjA~ALX!z"S0J8_/́0\aH|PPm,!n#APdJ x'Ђ(( Ⰺ&"@  2 `,u5 D ( `0V@.<l aD#I(i 1~(%pC_  otbhOÙB((;"$ <:[a6d!f Av :`F J`: `` 6 b PB ` " *f` `h @x$ 0N@ >oi(  8LPtA.?e``.>YX8h } A(A$D8La>D905)!~JB!$J!DQDQR(T8eစd@o0!`pl7PzAp@ aA0x=P`nB*"`P(8O\ +Dl^$ BnQə@ B J#(^J9 h 'A AS |$`p A7DHsB9"h A0 k; !p}F "@"i Qd6йpɉqj6Ġ"hЉN$s"p >` ;@r1 "f!FSA)`0Űb ˆ)Bs7@B1a>AMB ¸ A4PAF !pf@,PMi,`V A+D̦ΠDA8*&G l#ĕ"J Ԕ,0: :t%`zA? $);> X P+tZIH#he 萃4F '`%f8 p~x5jtnBh;!<: a&v 4 @`8 m {H+r b-@*tD 'h#,*bD b^-xw8 t(8px_R !(.ca08bv,/pB U& 7@,@  `M ̀x,`=@Mk A*@Z8 p>!m5jsMؑ`2 z tX< ,A3[xA h@D $ @` 0. rAK#:;P] !<(B+ HEpp#5D(BA#8%@X= >Wuѵe( 9P,v@Rt=0&B({ 9pE(Qk\H4#$>%&Zș:Ԉf Y+E-2COK'pD e/ĤLpG`(|PJ Q0Ȍ G^!`30jB; !zD|dR3CJ Xj^5İBLX0,ƹdZ P$R; վR  R "J x$c H2O(LꅂTQA&4!@¨c `4V 3 p z # tU*bXTlB  `/IP O in +9 nX`Di@6k" 0 .DWd0e0D f^!r V ` A6 !\!aBa@T` x 8`s V@0&Z+eF @&ŀ*j@*g>f OH(H ʌhk@,k&a < @ X \}cfj|p&v@ `V  $l$ : hV$$X@#r"`[."@$&L&:%&.&brF@J'bzbZl&"h0l"F@\%P|d ͚ ` n,`Na$2A5!Z`!*a3a6 AP a!Z.arAr dxR t7~`zhë?/`N@Z` aaV bf?;܄Ob`8)F)L >6`2@e`\d@Lf tspC@HVo\`J~&^%\X@LH4| > N @ H z@pbP `  @Q n& ` IVfC3  0& C Ä dT~ * l  Æ c # *\gesF4:R X1n@BY@YGNY`Z@V!h> a !ab `n e x AV!zAx!XA.` u` `<yZV@VHEdhF`~ À j`k RlXR !i\lKʑl"k &1Xqtf,@JDXdbD`6y%yiHXkfpjVWl 01`V@@ `A0a`. @ |SR  @H  > L:a @D @ I@~+@ZtJ  * ^ `|0 `z A\ w# 7hن4ö;"J@\h"T+IP|'`drm1B2%` r"$\RCړ. Zh&!A=:4,`!_a` AT ! h$3`M8R&!` L |Mbhr À !}Od @ |y}@h  pʶ * B\ @J#`'@`@G* ^Z`UUlJ@N2C@b < J,&OfFR ?3Rލ%؅``L` }JL`Ü gt Mx@ `@ @ `&` ` (r9" ­JrO@`p @vnt8@ud N @ @z:{ 4k' 0}[+HdJy. ~ !`X : `@!` 0v>v,fV,b, Z v *̷qlf% kvsjBjf@.AZ&Q=o&bĆl&j'j(=gEf <:VBھe bg^p`[;LfSfLp2H$&&` ɑ, zyt`gBT ` @D ` @.,c`H  :@D L(b*#f!d+)3bi1&gHhn(s!X }πLQ/N(X@+R`נA SLj`N  L !J P `T V 9A`S|A2`zoK  Z :` !N t/Br`"+?Ob`=9P:VjPVD+>*|Vn &Z 2՘%'j$=^@ `  Q@Q@ ` ` & @ @ ` ` LD`ڝ~!@v$$تc8T@~`| d@z t{ + `#l~IPX`QYKNJ6`9[ $ ! @MB _dAcF`t .0JAaa3c0[`aVA>!AtA4 XG 8fDdl1X,` P`@,0L$d$¢0T< Xb€t L, !@Ȕ,MDP2D؈d!`6)&& a L(0Ф Ã8&5?i4˦"yHE#ǃb5Dq|"2EH~MBD~F IP&ĒptTLBbQMB\c; yG>JI$ "̉X'#av:!1u d5rbp^!s,0R0N@HF!BD!AH(HUaHBT<D<8nZAh!!" B8 (09&d@=XDyj:HÄ:ňD!SC=*4 ;DpD&ASiNB"(f~I d/e@,BXK YP|ux#Z 9BDT(84@T 6A* 65t: @0HTbHtT>a1@F'%) в%'h3 ",C8C0.À29 (,(+ 80"`q0 #)Z(H`z&bB8'>`j Ϙ[x%nHrȊ'8 B" B8@ڈ `2\A0.@ 4,yh Cf-bHM ÙL'E7bN#90$ $ Vd~v9MG0edzf QgPjYU6d$)lsy;fKYp!XpR!0. e$42H@H0:@p&ZKQ!$H ʹ'(!@"pJ r`Qi-PaeE!R' l9bt&D B@\A< 4tJ BH"HGtaBV A,'0H:@n `D.PN`[ <"c =p0& `AQ +Vp-  Ø8jqT?p)tA E@pcpB`!~p| =ȃfL@@^ zFBPJ!N8#E PFD`t*A:5LN @/ \ 0t: 6M A+p9   I&C y< DY 4*#%["P-a6C;BDP @p@L $`@ 4 q$BPA?`t 9 Z &0J !aP,@ `tQAr H#`,A8N@s@p `4@R A2@+D "UŃ{V &;@M ,(Rj6\8k A4_,<sh70`O A*XO 2Pl`3D 8nBn9  F&Dơ' MBZEb+:`(".qˁeX"  TEË %`nĘD bx <C8` 1*ХBk1z:pBPaA42GؖG #E#z1?_X#T=~r^7اH 0D7 $Q APM L= P7a4 L 5 1ZCu(8R0 #q^, .) l@ 'dNAeDJ #h6 <XCq&  5o1$ @ʾ A@ xum  X6pz_P-Vr r?!@ВB{a(9 hKD*` @i?MtA=y 'a$#X|d K%AI4nJ0 Z" FDP& PPPpR v 6a$I a!p 150ЗG !"?@X0(' C3P'(DX1(&@)@E <78U@W@C2@ 8($58hx3p`2@h40@!jP0""p /" ȵrʸ &x0挰Y@yY&%%"p+P(('2,P-61004/(%2)0) yX,$' )a0(9鼁&<$y%@P &%2H 2l|3Á 239 X"0[C/x(K16\X[Ht(YEvbM8|`DuH\PI yeR5HOP{aHuP[0A`nXI -8ZE0L "PBX ؔԺ 7 phXj+ X j/"*ʖҀ""a$AӁX Ljhx('/AW0rXcXV0uRX?8R8(+28 #0 8, >S0/0(;>h=x4x31`0@:P LhF$PD=-8O>X( RC`=hiha_N{1ip'%#$;) $  #qr1 JBYY > $萡(=1 X@#4ŀ@@E:2O<058UPBP1O;,J6`'PE@Dh0'BX0()p+XFpLS.2Ãp6e_` !!X"|X1n"׭8-.Bar ZImqm )| |( l;(D> ]8BH ,".z/'[( ,4/p/T085-'@(!(({X{gA! ZƂiWi;1 {s$)Ʉa|0 "~3S}́Р\X [9P!81P&C0x3@LO(Grh[(=XoYx^pL yNx_Asr{Q(zdbhDʘ;g0F(QqS!".!w- +.k4 h6 t7(70 H "ψR8 ȁ(K@ @x#h2  `,x<`}q[@aJpW@bx>/:bBH$3@758-((>C >,02=@ L`GH,pSI2_PJ0HJAx)hW^%QP[2C q (+*')+(e(ۂ#Bw ͺaM-һ+i#ݾ҇(YHƒ p[P#*3.T3U`E5P4 UXCh1R9/L;H+L@PCUO@.:8c> ?3 ,pG;+XA"(8988x6`X18ӭpq€5iH/Q{WQn"r6-@uCy 0 W %``  H#Gx"R%=28:e6|K'd&%(P,72yx22P.2-&-Ę*#rFLss p!ƫ)8)hZᵂ!s%iH= Y$r $ .++1 W.\b@"nx(`%A-P H@UxJu+[W8Iw`zI{H^?rWDq^XL xdT~X43V'PL ׁ Հط 3~  Lq#z. /5P-4"3s (# %"$@p7Vrx`^xePvZCJ;6Q0%Ĉ 6F*9^3X!E88"h,258)(*[R38a]\A`)[bVOoZ`h)I)"&^[.#.+-.-,肨#!0+-;)4x(c! t$i Q )Hhaa8ڄ8Q0gMFy& E2. :h;* <-&5N9T :G4Z/"كh9,ɪ (20-{(=_<$(;9H48-x%V˜V(" )s moCXyžz/.}n   8MWp'(!8(H'x2[-*c+Mf8]2)J.J'Y #1\G*HeA9 #ܢ? 3|Ĩ>#Db N J`KcI M ȤB E&dhPd0' a0&[(C`K#\Q6(!1̬( ̶-ȥe(u .#⩼V77-tH)&#${.ұyS1pR2^ hG< G`,B@TA a0>$c Z4A(( `&& HB  2J pD CN 4@ 5!@%A4.āB!`JaPx(J j*)E!zFZFars%qELCYD<,%p\"C\#`3 #( z7=x,L ĩh0S#yZb p4UwfYZgQ}`Zxt'"X) ز,2 C200@+ ှC "# $^n$h/Ф.BX/8h"$!X!VNFhA@N(Z!`b@d$a"0Thf"!Bp!!ؠ8 #(l Axp(Ax% 7'd/A #Q)ʹ& @aLV&H(Bx!6@:-p. 6̴D 4CD @, < >@: ?* 2~NHK{=8 <ha[jȂ/?# `6 "ٞ 0V`%Z`U p/(k!9Al A5BZ L,p(N $pV!*ЮIBCQP JIE,!XBy( cH& : >j@ b LpL s-6 9  PI0 !ň#pI !bnj E"tv;x"DaA"/=Ѿ '$ A`@0v`3 A+JA"t:@ eǔ2vBDP *2E LnHv H*@tN F &A'n X)w"H&!`0a+ 3j 7b`! j c A2 wAlB l>ApA T.0 ha y1hـ; -Ј_@#BH``I=  G% xE \H/ M k ` vVN(Ѓ9!.HH #]DT B!@xR2L DN0@)8,QF۠Ij 4uwC04o`q0HcٖpPAl "Z XA$n`J !@ j%`G`0%`@ Y \4 A9Hw 9H0C8q 7@h l2xT <0PN A& 0U,!L"8N &.(>r30:ql' #4Eh^X.iAazPPAxO-C' A4h"r1h9`9l@!ŸBuv;qyˁA$74 (c/ l 0P& tD gAk%$ȐD9<]h)H#@ܻscEhN8#CY#9;PlA_aDŽ"0Uad4G'ڄ8aM `$ 2  h xf ` @`  r@!. !ax!A|ŎaN8!<!!P Qh6tA% Ebi@Y+˦"Y`/'`rcs"* Q.crnl/#h&J0[?Τbc@1t7,[qN1" 36"D"x[âPk Da`d, |A@|* Þ\@ N (4 8x6PXW6R(L@vHx"07bX'f"a:2C8T@JRhHan*(/9816CH=C2 4K0/p2 4 ' ',p" X `% %"pbPq(H%"-lʅA@j\& ^ <?0l (>V !X.X%ᘦH|5`7Y9jre=T$ ^pBQ\DYxxe& p^ A~0bhl)ᘚHJRA0ta˨(p.8>A $`>><` x,`^ X3kZP* 66Pɷm`N A@'6n0VZV ɜV"hCę^m%Qi/zAB&pKZ)H3::bbAp ;ca!dȠ9BH8? -DЎ<27 ^CH_tazm噠&9'EBv<ĀR P^ 40FplA= O d4@A(F &@XC/ B`B J B"XBFa'`]wl;AG %R (!]@ !pBx A@!`ha<5`D !ij7@8Ax= @Z (,cə 1@PD !t&(5@90`PC ,@2seA``.;m` (h ȯWTHmbkx] `$Pf AP? (t P8:5a ^A19 \ A06ԈK` Ai>q a9玝ph|2b L-PC@Q %BPXA+AC'VBJ !  P2A,BXT H/8M!T A8%@hІX[-q3 `X.k%Mk7րt6 81o`Lh: B7!rX7AQ p)F{CpA A!sՁ4 THaM$PF P' c @t63@n5`tp2 @J-(5bz e6fm()mB P@--t(Cnm dJ8| @ T ɯ@.s`rh1 lԙ1l#prZ7ALP$pb5AFCЕ Ax\"`|t"A" HU'C8h.c`1*.x€_3[C\q+Fh#z t:ȼl_*FЄLA A Ap1@Ăp x8`P= AXX .RÕVV I!< S(lP0PzBG ʣaNad9`D\Bd-A4C J#gA03X#yp !FZC B$ h#`X8.Zg@ X"h@*0dB8! *B|]S]( \R3\W#MV &:@992K{Y0@Lj &ke%jxaU@uPF A$`LN8O.pAQ$ l`4|@R +  7-}"a 0+0R !N ` $ `@ j t@ t ~ vRh6 | @ ` \z  + @ @<l> *[04N < "f=l@ l[*:N0W@ ~@ $a< !AP 4afҏA`l  a6t " *`XvJ FZ` | 3 x t ``. a x vR^DkNqQioD=6>6@<ɏC j>k;6W.Ƥ@?H8X7/xDY~D>f | @FLS༄ j  b`` V@vd~ * ` P  ` ` k5jSx " ) `tA8'c@X@`oU@| U p   B@F !`v@4@kFQ0s~;@z p<@lhj?r@x`I\DE 8``!6Ha^ ``! !<Aa\Lj D@g,1NY|C=I k^Fo5%%dќj2o %+n=,T<1+,x 4`"ǃ0h`@`0CB.Qn,8(>!2E-#~!΀S  `# `t @ؿ z!*A bb|և@pa !vA$a!aJAi.2@D`f ^ @JP @B@ nj@H`r ߠD H..L Pm;`` x !2 B7: F `$ $T8r'`h R.`R `   4 @\`` `v }> -U$F` \3HYJ@,zqrg# ;E l`:>ZiC'na A8a  @tgvn>bmђɩ @ &`Xhl^kZ8;ll[Lb,.>C .hQ= *EAn>zm#n-nۋF,#n-;ЪTLۭiس'`l`@&Z xaR,@a`  nt  , V "–" @ aP!mf~š!JAr aȡ,a-K-w؁ԁAA> 0#~` ܅F )PXN;DyY `p m `H 6Ie@ T@@ &L Kp @C `d`9-xT.ΜJ~-t .   @=@n ٚ l G@Z` ]b"@"@`|FDLƋDԗcIfŪvm`FZ=i3 7xtkzD@d3`` Ԉk n \` SJ;`j @d ` '*y `R ` `  u$  `x `t!S@v@ 4*Vd@W (0s  P  Z Afѡz ~y!| ` ZJ *@>޴z[ i~XGN aZR ~d a:!@p'`<@n `.b\T `N axT:0 AXh2,D!yR %@XH \K @XD pT@FRD4jD($P&qBA(T6* EpD2qpTG dS"օXRl35tgA tbye)خim׭%g:_ۯ#y/Mf>LGuxI,܈sy q"PP>D A cg @6@@t&YH!Ud.JR( A,' N)-  f06LD0"Ef** `t G :E bnmMߛq$R`!rEh`2GCO %#G(Ơ~0@1'Ɛ>" bhe,24 8$`8 @0HC% !A" ЈxD $f* ,@"Xpb([0 AP }`lO(xP!R p>hX] ,`vA84 t0`=UPz `>l@0B 82pAN$d+ L A-@ XB `je!H; {ah:`8Om%d@@ 8&XfP<@!|FU@)t< 1@ sH;CZ)a*@0xX0 * BxTA`-BpzIQ6i5XNxE [ P.Xb0C#X~1`Bc `1xR a4)[ "|Bp:l9Pf B3 .P G@'+0†= X&Ba d3  L (dB78N Q l6XPHP(f/g@-HR!J, b;"w!j:P*< ApQ F7]g2T '`Jat0!%]\Ap 2ܳD@!4Đ(QJNdx @qP#'!H B]ʴc(b!F&Q9!!`0xh# 6[}l4 ~ !Q+w!<0rCȔ($+0+@(?X'&-cKtPx-q(8?xpbKB[9pCV@Q2|G@ m9j=#fX<+(enB)jh>}X"P!H^>,qHB'Z@BHPHh>J @8MC<4P300,1+'/1.h'&h-8%"( c6XV$3P#3P!DyI!$x*%'-+=ʂ($9@%NDxMgW?iB8a:#j6!*uM/|R2(Q+s;[7"^`BHDu(\BzZ;XrE0md4n+ph( hf7p 4b47  N8R J8M"Ч󒢢9p r+N9 {j)r) OZ" 렊(Ȳ Ȗ Њ j4 (48FBeH&CjGxVpRtpzl_}h\{h^Q^|i]|hZpzeS x^PIxo(S?8>gҗNh<;=sc;XaI;p_F'(6$`H8!#(P"0@KB [)pI#b@I03)8*gpL6hkP$gP)XE L0-PD&'2rƁL8+`)T$* @I2%$a>.2BǬ=,A`(%%@ %83.-UD֠&7#z#2>(m>:Xyf@[91{O/{L/|L&`t0@k6`Pd8?)0oG2pEf}@#xa6 q;P&i:h;F:PIKB=6x72;@+01.3-`(&.@("@*"Y x&d82H ƒ5K)P% #X-x/3+x*&x&8%x+`xL0E[[PXIpK`)]1Ԇ8&@ppF8*xuM.P/}N0}hU8e}ܨzXRP?tS$f57(!p P7{H:)&,M0 r9Т#88  OT CO!3"G` ObH"hdB1Oj.!cHoE H 0!͆URXRwN`5`XWRtý~|g\hxjfZ`yfm[PyrxcSw\@JpHTBjhM`>4H;<bHhFE6(Zp8"8H6]` @X!8 0VBP>PWp:8S=H%@X@!``#nN(gSx*=>4x7Vp)*)8q5)hq0 Wx(iax!"<$#A0;(!:(,Mk!%0!$&r >ej߅rXhD0Qqp82hoX;Xb0{> )vJ.Z1Z&Hs;n<7(c5=b+hp`?(g`<X't_aچX%E&g8$hP=0.BI0OI(C0>?:]H3X. }-I@'$$mH("p& X(#^|1@"C#$p.},`)2v(CJ(&4R`NLlshn43xd>̾kmxC)wL+|N1~Q/axO1z M8.o7X 4Ͱ$`;4hP_s My8H 0 #%x8hS/`xvI_ p xCӒ< P㷆h"yh%#~v>@ !dz H7xU+㹅jOu`PT0v}nchX HV0txbXW8wdxXXydWPyHapMrXU K@<c(b7߃FӘF6H]C5 X8?`MA02J<Бep'X@6}@ZdB8\ E+b G $b`JH7f(%&h0Sx$d`J4?@Dl'hKIdZ6& d!"ahL6F >""XaT>BX~'#Rq$0qCm "rTH#AT9 Bl&BpJ. YQ`\L/ Eh2-'ucҢ}}PA?=6h'U,ed}kM!ͦ7׌͍Y232cyeN9ɈF6/&U δ#DcxgmBinC'hDj }FHf5- *BH,X$ h*P |!&!8jt#B(oЖ`~") B+ |- Ȓ!!0~9Q* x-UzL&@_AxN0K8WpV1p_#2g))gKMD*y$'xH4,'Nb<}$t;d@4 ,d `" @(v( $H $ `* -j] !(" p(^"@!}7 h#  .@__@ e`=g`(!<ڠ؀( .@D H0ad A4@JBI^f%WVdyya[mv TH^9voWA`cwKOc4e;F(HC^da|8Ecy\$!h4@c8SC>C: 0<(4R @~ h=B<v=PNcJeXD\Q$p\Djpi03 A`4 "\%x`K !) t(+C> # x5 pApC  Z]Ah T .+?`!lKC bIT!j60a !osF "ntE PXB ph4JФ n.20c *0:烷8=!<=@$(T`9 `:d baj [4EX blh2 pd@2@D . Z)pX/ ~@ p%`nA/>,ĤN-- j 4 *6΄D`:$@B!*a!\z!n a` ZOF d*B !P@\ avI!x A@` A "Qkv 4@`OF>\,Y(QP$FD.Gh% $V#ڴv}UP*1!#ă2X` @N1 \ !xxB0 a x##RXpP ì]?L9 5'BhpTMCb1fG3JGaP?# #R|A-Hx@ q E#`kłجt*+J`M> y8G)qٸ\6gѸv;AdYP.A8^c9 Z5p_qz<@ld-L!r !g8BbD)$hEYx D"g`3(V)p  @*LA Y<( : Ax&7 " k`0 `" ` {0n~շ#" g;$ j$3`qy: @ h*D !80 @h A2C )T-CH Cо O d4 ` ]d?#@; `l08($ baR AT@%Xn Z /8!G#EJ $P"\ .؉C P {;bEp0B%QT ØQ'ѠL&PpZKWePP:`R 1d$)0\HiD:X*VA= ` @a欄0` ! d!87B 9c;@#Д X9@Z) d) ASP%@Pp#~@9 Pn<`|:B`!t  `j E `V v `P h`@f t!|VA`a`afA4a0@A^ p  A @ @ @ ^ l Zz @tQ `  `z PlN~D!"`!ba4ᎺaAN !<aA&>H aF`F !j` `R | @D hD !lLCʄʤ \ ``0H``j `.> ,Ng&h ɀ>&rFrM8s<'#"l8ɀ2m4"o&glg' l`(m lk(kmg4q&pfgqqDg&82,PB@$b@ !t2aHADAaFHJ!X `A>      ܀!oR`@`^`PJ``v Tv  )H | @%PF :"@B z1,̮g\2hV`)@! ,*n!EBAa@`T a|T`d A SN@L P@@ !B^`@^ h A`@xAl xt88p&( `P Xv A  ` `U@zxO@ ` @O@rv d `>|M`8A A!TA!DA!&a6@\ J@`J F @B L[ab`l.ќZ VAF zP@@@ X``A@J !v P A@Z  av1X a%R5bFW>: D fƜ $"fxʌr@stNg2:kRd&&n07'llomwmFml ~( kƺpf(q Fs'(lg6'k'& $q*r.(u8.`(`Z !B j @x !&@AjB  `   Ә @ `    @ 89 ʶf @Z @~ 2@l?B@o?P a4raDf!F`vVΞH`p!N( R&tRa4ʸ` V@@ | .v<`h NTn3 or Z&wAO 2u,T"CDD R `l p X MV P0 Hu`R>200V( @MPJ`4 ZVv`V z  @!bP`]WS` ADJu@ <`H JT E``]f],Z ad: l P Aha8Aa\! a`\ a\Xp ` Wd`l  @ `@nhh @@t:{ć!!!\a#ka4wl~> A:`"ךEB d{a&T F d`@> lD Ad@IN !em`WvVN aʄ ìtT H(~rN r@>@"&7jgAr*q oRd "l rh`̇Ҡ.gl'Ƴэk&&k8*g<FxBm<,LK a0 !> `AR a@!l `  S r @l  v `3`Px |  fNoX@` x XB`Z @T ``*T,~tA]=aLB@Qva.f!R  < A$ &4 A B vɈ,/ ! v҅gh;,@PCv:n_ph@!uDv @ t X&k] .C,@N.`*&I`L4S`p a` A(a p^ V ![\ aDMt=ƋXQcAv 495FY#B$csk(bf` 1QMNM7,fJ=ZM,jE:l ӲAW=džE`T2ZhVEEHQ7ǃ!b&dI|H1x cp{PPSgL*q|I.7U)a"dDJP!)F )*%54\ecˋUj '+pVb"똸:%ȜBC0Pkh{Zc+ D^`+ ]n#+\r f0X7:6 Ba0 :  x$E1\B @h x2` j Ʊg!!h" Gd6( 0 E| r J _&I@1Dz F6 " `0A8@Rb@H #q.*=9V)b5BUD1-В4("ZPv+!ȦV!`v)l +b n |$azaF D P @, !V8" Z<8MTX^8PH%8h<Rc@ER6@O#Y:NN4!PDB DH:+(F¹ PD1x/@za@A`!؞P6FJ X:@aXaLx^ 8pd$BT  #Pn% V`)>3& &@V  . !(099оMB"v I"'|s"=j!J@&FfM*U-c1l@3 T.Qt& @hR'0Yl " N"  8!g@2h!f `^h `p o2 \q ) 4 d'J #dњM !8QLi "@p-dМL]dvQ@UP8!uGu NGHb 2#Ji\w $  uH*0ð Tq+B3XC aI@X@&pB2H``.u@lA;s`'5 B`T X&`D ^78u @P @,"xB BX2 A* ÈQF CxAO'(l& %hBXq, @J#@St)8) b aB+ "$8h > @_aP% p@@lp:"L B@(Y`@F B#n`P `N p/;bB@ U]ފC8wy~b.x!$7PaxK$! BPx4Bc pN0&@(|^\ &`$ x !PVFj(% "iF(1 c4 xh `-@0g}!pY*!$aW02ĨBTX ,*Ơ&bfj3Gp`;D !V) A0K@$eh02%P-+1܀P  ?HE` `*NpT0yGX(@uHC0"r> 8e`19_8/`Pځi>[kXS_+%(HQ g8)bhp8{hgy5Y4X(aj8+ ( (3 `8RHpmZX(vP^ M`jRxF f N88p^@C3Y<X#`R1I)PCX$ PA(D@3-PhCP=\I;PWBH9̄(TDX<`XNPb8SpD hX(l‚xS&6f'\2tFa`3;^feJg(HUJjє 0=P]3ҰeX5 c(,ځ; P O"0P' p=(?&8& &.jG 䂗<8 2ÁĎP)*H&{7@h9%YoZ;( 4i~߀ I z`/xqPQ,x B#p? n:†*}'`ŅxhV8+_(.V$8Z< ̴`5`@cX܃@cߨb(]X-%)0xQ1X8xbOhG(iPO`Ec@O@EdPP0Cd@QXKmU(@?`G8@X;02Q8ZLBb O40AaJ>dX@`0O(CHD(g8SF`j.8)KfX`S% H)x bcсB*(xXU\(Exp+` `1@ d(2]! ]faZcH1g83PY%@M!@! LS{ Cͅ(ap7`XMGx*T*p+/5 U@EL) R) i iš*@(*PjR7* ?41vH87t&<*@@B='H6./x`Ȕ6x\8&.́%%`8     8p#*(D='h 3@"XD6z1s`P@B*1()[ x?)8CPCѥh<$ X=* 0:<`@( +VhJLA߁qX cDdO"Lz.(1$,6Xx7)p0-"<1 4 2?H; Kh1zOw@ik:;k`6}= 0Z\]K[ckb'f'X`HRT.^a58s@7az `TXX޽x1[@*XxRE:;d gpSFG8h`TGHhs߅ `8MmTP-(M?hWA>pWI?[H>|^@N0EefX`UHplYMp2x\¶h/?`b6_,d&pTyU &p ᅮ ``Gc\@p_g[(8U>F{gL~"C HSHNpUX,)^Ԁ

( Ƃ!QPK8 Ky24fDH~rq\U> KHAI)x}%CxxNq#eQ :){ |R:+ "C:'Ct$0l^ Axʲ/]$wi Gl7AHeCac a F(R/Zbn EL-(Z+J-0atP1F ePF+`aY f8xjqFpX5`c<2``c tXP)PUB\5F1Od`nűK 2ZpqF1Va:ZĉTjBFHCUY^AI$\I(^dBf!NaHf%IHf&WbmNG588 L+@T+xEzFU3H+XaT @8%AVE<+a]~0ш&8R28ɒPJ1aBl %B(Pb0 epF-Xa16@4"p2X ``((nn@p*@Xp{#/@& x&t@p!=*` * =-. x~S@Մ8VhxF (L0h#a(Xph"T!Hn j h6@``A@7`6  PjH`7\A\ "P |M1 @bg)L BalE "Yt&PBC& a B8=BP"7H &"(x4JS@t'Ő0.L@M l** @ @Ih! 0V 8(@ X dD.h` 60! x6  bGP aA.P  P>@l 0>@%=`p< BQp)P u9v e0he`3(n BY0@E bL0' R8GR B %.ht7TN`d1^#1 BdX*8UKZ /èb,U:/`CR +F@w%hŒeq80F@#EbA ȿU 2!ta20"M1 '80Ga"HnP/(axZ,QXp   U08Y`|) 0!R*@-X[ -Z. L$ ! 12A%A}tX +B K&Cj,  E~%EDPv, cHXp`H 0hmVNۃ)ȷ&Ko@G/8\o.@fjͮzKwtN :ݳ|\<]؀4 y f4} X P4m t2`@@d 1P\ (+sE%P, A\JA9D pz> PyA  Bw@h^0iPeap@! D* !0B{8;@G@d!,CSL X!6}|(>[@Tn5Em= WU0 [l3l<㭃9BE* HlP"pCP4 p AZ@-0 U4 (fg`H:8`PpRpV!XH Dю0=i 6$0=8F ) ~:8. B7BAP]1{иBpG|A=LE:D%^2#X P0 > QRP` `qEN \X pa!F!.aHaa8Ab!0|ba, ! A:Z!A:E~a2Pi<A V`&: !NP l ^DhKF jH ax a< 2 ^ ad@B a~.ኾktL  a]aNV6a@@`>A8| z>!:g:|& j@0$`~36: B=Jƀ0",Ȧ&qnGo>n&quFF r@&̦Llquugjwm gDͧjtw!.'Jv$vGwx *$B(@HM0v&:q<j`r `F)$0X*N ,X\ x@0`f \@,t |h.| zq,Bи|\ÂAlRLC"NX?  a'CDTx phpA6F5fBPXo HS? G L#¤3@`laY2G:IgBAqP4# âxj? clatL8a0np+ xhL7 F ,Ҍt(6T8 A@8& a $IXG:綨ۃۀnynM1Q$,ťؤWR@*VyX XD&A WB| J-T)<F&@Z  fb8iÉf6!`epR0A`^|HZZ`Zc~%=FkPA>\dfnID&A M0aB& NaBdFfaRaPf1FIG&QONCAQVjd%8R/KnEF,a(]% &,a`W1F$6"IJ`Yb2-`BJ/a(i.|J!26 rF Dn*K:d8`zI6E$T%:&X9X` (`p `fi$j{@%:jX x&8+ noz'[ q kgஸ , $ >}X. D!R :>VXfX6@F(P H8X ap& Xpg`o@f!z d~@!Pn@ 0lPC@-xY-P d&00C! Ah2xA d"ЈB d"r nd {L=c@8t`e P@hDPp.a n`6  ^pA8݂p:x($fHI ! ZB$ DM8 &@L,t@%DA: ? `np8F`:ppF.CXq! @. T@|) @*G% 6Pa/ Բ*BqIAVxM`- X(0 8P^1(8 0bFp, C5 0!t]p.A8\ ,0Lŀ, BYbE* 0Q!q j8D,S (HcC "j)J&*Z Q$+ոVQ'ZĚhP4pb>!f7D@, LŠ. -, @P`\l],0(@@h\(K@t) 0:! B.4R0* ,@$ ,9a/E~E& N(<` 06bpQ@d"49@`hl#@;GFf b P2DXEp@| )6ћjjAwadsAi@D֎[\j`@@-5־3dpL9,xsYqx ˒[Y$A(/ $pG "Np$(`.@p HX-n΂. [PP .} PZ@(f@.Tj2@ mD#| @P6p @[<:`Mx%06Ct< $d0@p@:ܠ1BvP18r;0Hv`2l#@e!7BBHu C:@\ p2zrH:&<7T". S ,X hp3ꐰ;w08o@0@&s:&J!Ѷ pdP܋pFP0J "b |& *BS(*Hz/ R,CwX#\2?GAl4`Əvྐ7׈&H.PL# "PZ,`AG(Hb@V38b,O(F`@H!)\*XBooh.adA,AabA*Pn!:avL ʂ|TH@J J AxA:* v)@ p |F ˀ@D N jM R a L \FB r> &HbN `*Pae0f'*bZ fl jH`V`hF̚Fʦi@(h"Fm à(ƴlmmmcȆdžqnmQTpl ~j#p$k p pFΖ':p@,14s Lh&@"!h" x `"|  `j f@:~4|`4@(`u G00Ҁ0x^,@|}|f`* td-HVf`.t :gd|J :`hN0R:`~ T@ . ` (` .x  "G @Ƶ %Z `4 HFn 0@&b"r @-@n$82@d4GV@H0ylN:`~vv J4v054`F@<  X`B0@C8`@7JF: &@L $@ aa A zApRV a\ Ha?!~>@f< !J/.Ft B@+``/F2H` t \ 2F`Dd`jvWJIj@C`V \fA&A%2EAJ&A*!n<auLr6Ma8P.TanT6A| *XJĠ0@R^@B L@D N`z:vE6 aR ?p B@`E FQ&^~ A%򸡏V\> ax@C Pxq,a&bA0%. `j:FŬl_cȌNkBjg9lo p1,ilf [ " R8     `@n  ~ `@ggjT`,`h@T.g2`,|}IX4@z2$iX{!H` l& `:"^  @Lv V` L  R )v " @n `,b(`|@x nx+].Z .|},@p wk-r @ @mfj D ZaA>0 j`4A0,P@ @D vBVd>JEFN ~ KSI5h F~r`8@a*`h*!( KVkp0` *+).< G,Z=FkFkѭfoVsnen6bj6X &V#dnLb,qqgl1Bpqr8q/Tmr5 `  !> `A;a2 $ @@z @2vX;W H@w#ۚ~ԈՈMX`i$m`l0q Ab.j!`rp2H1@Z4r : B\ w ,j &@mvl * x` :(Xd`}j f & @s- x "@:`ns6luB / ,8.;0N؀N`B .@Snɩ((/m j _`N@dZL@j4 d@TC&\"%#@A @a ^aY!5 aq 吴Y(_@`6 I T4 f(5,@|H xX&!C?a` д oEf}pfox@T `a j:E6?x gn`V al0¡^ aAaAAda98aMA$FAA.4K~.;A|aD ڦH8 J eRl dD0> A`f`,zd48&f >v lKJ A>&/=4Z2Z<]| 0^X HFca27a#]kV9"UaqA ^(`}@*1?d9G`@6 ƴlk@0m hbg'@2q1]ZkQvRCŦF ǩnokqsq'!@$ 'm & `@ A`L / a !P Ccq`b@ !q C#B\j@ !a 07"`ܐd`+)Gŀ"$2p$ a@|"``J `nPA.=.GBPؾDtb 2E6aL9*C70Ap0bZ KaQl$2-'H !<(Ch("`|Z CAtJ7x#x&`|\I!v' a\;. H$ Bq0d  FX x*`.X#gE oÉ FxX3@bp D.8_|%@+XqZ%02nED@@",d(R-G"iRdB%[%d7amC5CQfUci,pqR- ]r L*a XbjR/@\"f%p7"c9K2\E xseRQH`)bJa&)S٥9y!Qe~u7fT+P\J%KH±h eF(Q.p8dA`Sa0_~ B0(bc @D2A eya(b#D04d%PXBaRP< d. $&Ʀ 4hE4(& ,X:ȌO` e.P  h0X qh x.|"`u }'т\x'|L@XՁ_ WMx\`!@Pt} ]^E #,38Bc1SaY D9 p|9PF $`fE!6HA,Pt@: d<BaM: !Pg l `>AD P 1FhJ m.@`np_ .PLa|dd@aPd<`M+h2 &d*P~WT'@X# 0 "m8  c),Ht8 ! prЈP$pr+0`AP9 :<f[: &'Pf<[;X? ^@kep0Z' *BA\^.Tx* @:p " 0`""P( #px 'øq n6B8]1".B#Tq@+ v @NkATZ AXYh B p صalXA0(d\a>/GXX`"< aA CA!d¸d_и0A_/ PH(b1 23L1&   ;0S |'6(l" <bR * C h $[,AQAPt@4pP)n>t\XPl" 4 :p.@ x09'21f(w9Ȼ]>}xy;g{qC:cҙ=~ދu钐p-* bR1(AC@"@N Lp vX N@%!B8Pp@n@9IB *A ,S* ||`B*P H l> Bx Bܐ 7 jzk| (nX@x< `4@v= %, ZvaЖHK@*Z@L& SD0 h< P@ȗl< !$2 |pJ x PЌ j _LA@-`x @ p<~,`l0: =/a5pAiYnhPwaxS x-2H{-{J8cՇQBQ\`Nt\@'_[+ ] Z +X*q/ E8 B(P&b?hXcd)f:b/9BĘ0`18 a(‹ZHU (QOO ( hAٴi HQJ;F;Ga94LK;ÀhH#.JZ@U5WM>.P( X ,)q p '6'zA +9z!80!1% 8{%H Ѧ8l, 5 1*L( /S)` ,!X0xJg0 G<+.H35 <V $ @ P)8%=x.)ht8  y!"N8B#q A !=n9hh`4i8:l`xX'})qjX@  xB OA +(].ZM0N }dPH(cCxGpj:l8$U[0,,6(hhTYLYFp1_`01HfHTOvBf*-)H{L'-B:֖XPNt]0?kYh/CY)hJ(D !/+W c(d3#q8$KؤLUN;A/$%Qᦀ" 0z JY F AYP  2p x? Uڻ hHIL\6!ߞix [ N͝SHYk7HIIĕ4eII4h!4p{M3NH45HQX3/p33/pB:(,!!K`b300 !꓂ 8/%u@.Ӂ. /#X5   O`  0 p(L* .x-8.h$K% 1:ԁ*x8`$(h( *P @Hx'c ߸ " 8X  (!h&=`X!z]E.h"H+80ۀ }8"ʐ"p,8?x$n>o@ nX84x0f` ZHS*(xXVᢀQKxM XH*/Z⋗h]Jx=`)f 9`ph7< ⣆`QgPZ,@yHD+hV~xV('j\h02 h_PJtS{8cTBvUX|@eTiXROB PwDŽ\H[N\8)X`R"L<0 C! H_!PU7(ŠEN}ZXfb&P*%e10 T툁 08 E4  )m %3  O ` h?ցAM8C&JJuhN U-  > ;nGр[5;}3SIU\H͹\Hu[XXp""2@6=.'30888)8FH0."tKp7P!P!^H0h1)2>2%(@20#"z` !0(3 &PϚS XP {P, #h -z5/P-8,[j/X @"xp /%ص@$)X%Jb\.+X рap*8x%XP@+x#S&ϰ»;@""p%ChD n<p>{pb]>v0f `U>T#2? ( ȕ}'_/)EYJ(h;p=8<zڦ7>_`^(w+R2U@W(0(-)roA0 fXW(Nx@f֚Ux~g0{Pyww/;+hU$xWp]{!,ydTx18gkι(f682u /0TSvÁ8./Y eډM (Q);KHD G! IX>(6C( B"3QTJ  B :  А8s@0"JB7|ҟEDd-x,n7 zg0&BdtGC"P`1Lv_#b褈bˁ`:;*`Ct|^!+UO.PؤbAM),rZYkخPRyEHX @X+Xat!@hN(t`Y~h !X`Bl Np`i83! !L& 0 r%, 0|@6  Ў6@pT@p1 4dL@x1 @0yQSD\ PŠ& ȰPz(>8 @`", A`hPF@  I0Yx B@K@< @*A!Q%PD0X8;`J@#< ȑ @80 ¨Wat/(f(5 *h "o3k`9 0fi3A*p`BQx4WЌ)R\d Q` E+ [. Bάd0! Cpl6q8povt7@^futоp_/A Z+pD љ +N& p8. P0Y.Pg`7 &#K'x |;мbd](+FZ,(Nt#:ļl6@D|& H# " 0L0% ;WL4A0i 3 RF\ׂ C n2a0 } 1ހt`1\ޔWav8MQ2B Q'˂b@ '6q`X!p}:`/Pp( :/04 g.j^2rPK+Q`"XI-dPO (!p)3 6 S?- qX5ƞxN0Q1nV8Tb.DA"d4Th . e ` 'P`|4U`,e#9FLo!BPlADp% @ ř'0VØ. !phD1 !xH: CadH5./#EذB#,bO fh*dh@XI` #CBX|f a@,4& hI&|Q@xL !xP: h@,TrHrdPAa 5 `p<3}C!X~E ұdZP+ $I\SF:) S VieMAyѴ28&xX">Y]p-R"$4t S`0T@%@@+@_z R2`g#QC`gAƘ`8XjCA XT2a"x B/A(`…P/$*H,YbEB)0XhFZ4hfY*pL#Fn)AFO)f j eHP*R02@tH<&XԤ.Acr1PhC9R3) XP2A@d HGe8J0  4mȁ_y^ D8  ~Lb@ 6!|J D`.fA$P ð& ^?! d(*hN3/ ٘(, <ȎQ¹j,p&@P$Pzxڈ `$v;v׷fnfǴo {|~j9v! 23 c9Dv8*RHd' 4`x*!6 Ȍ1( H8% a4p hB&6bh CpT(!HȪHTB @l r@H `&H` N@*dN(\k@"Lx%,`F P@0  `RPd<@%ZH(Bh\ (0 2AaW@l4  Px(92`A, A wiFj  ! @,\¨3 A'!D` "(t 8~40xg6$V5AHl*cƎ [t+ 8]І(@AgL0t%ZxA)Rap`RdPNUX\3P|F("  |b#q 0F#5h N(`@#`/R<z2"`6 d/ c8q C(a`0g/,(Y@)JE$"\:@$ @>Š% byD@& #$,B H L-A|cPr=zLd% 'jbP2,+t 2{ <Q8'Q.h(( Ce\90^@0H$ Caa1A+0A-84g( CPR`F0B@nYkTq@5ޛspqM6߆ k|DkhM6rٱchm[ .,v@h v `X IP0 P|!N C70`@t RE )p< @x!6B K2K @k}aDp$ /#P' '#nA|@P@  &D,Dp_Ay - D$PBȀ  i`( X`@6 Hb[HX0xh@X+ l\F 6FsX T8 ̈|hP/gB` pZB".bDXIÐ&8 q7xq1$0] 8d* ؾU"Qjb +p'@@jxJ`` bqpB!_FH)Z*e$qF0!Y`1-izwHcyAG@Y2(s^ Nw #9@3=H*H CxAh C`D* PV '*հ(AE! Bĩ>A(Q,됼taCP& c5\Ut CJC`2Z[B J+. ᎵE0[6 . ><`2 Z4~22> 0JI@t@,apP`( P $$FT`b@.*`f" f  F 0 $fD*@>JB VbLjl2mfp'lDlLvpq& `pj4n'pn&nGs1` q `t @ `a` ( B@,/2n hx@tyx |` B@ * F > $ @H  V}N}#t \ 1( @(/&`V*&M`0He`L\Nhp} `z`:  @/" H+ Jͺ@\i+&@drX @Zn&o fb T`2j$@*.D`P@<Ij߀bL*'|vB hN LޠH@<B"B2|fv ArN pAD at > AfL!<^a3"^ ,i@J~ i7 A" <~A$vaa~`V aW!aWa | RjTb!^:`\ A9a~o ab_DE>I HEa򁖡o\ 9C 0 D *IJX*R[Bj*2Űż1 5EXB!a< mD~fG_` (A `n*bO@N)`$A @\V&pd@j@ p b("]U!p_6i`-Jnl/Yjr5rjl"qjư-kplYìe[& o jl&]"ƨ `AH `  8`N5+ Ƞ$b ,`F@\f N`<@|n `2  e `@` `:@ D B ` T &-,q0*`(R21BHj " @tezJ0 t B+Ȃl,/(m`N@M(T|R$>$& ""bm,/ D- "64@@r `:qfmkr@*-@B` `b"n*l*`n@ v  ha9d9]eJZ R ZX ` t`2 N 5! beP@%R= oسS#`TK.IDb@ Z `fs`fiAxZ P Aă7nD AV?e2>%. !H I@Vzd/\DIH|J o;Ar`B a[[JYp)%^nUSG!7x\D P8E2y3:0^*l`2 sh0@*@ V0 P t >p $@̊Uf`m `V&e. @x 8 !FDh2!@ 2**mgmk5lr,L5--XkuĦnmfnFj1MFr .> Ƣq4Db  ") & b @Pn NN`@ fj6@:ii H iFqy`F-  6 *B,(\,("l`6Ȏ`J,(ztvp`l <<`\ ,`:q`@ .(0ڀ.d`|RKs@,@tMF4(@%xDWSv>, hຒVc> .gb& J@`   f ` @^ @ ay}}!z jvEV N.;B.B AX_%?2*a$A{!JD q;AnnicnEBB8 HG}D|@o\ %F*DCK0*OMF ^`@<!>~ P !d99W~(LM`@@<%F\_kz.!:_H_TAU} ~d@@` R H l )$d0 L Fb @ ` & R:@.AA<|Rn Rxv"G ,pB`  D"j)\Q=^Dmts,`qumoѦ(_F4s6$/` ޼p,Rmb@.`;k]aX"=8|Var:FTG*#dp[lwCE5bRN`aaB[]K+]p!,;bf %B*~ FH.յOED-Br EXIV0>"ЂM4 ĸ8~M 0B%@Yv&D2ahf1FT5hi9 f4`r8VBAP PD$Vf ex]B~0L08dC!FHH0̣ kl <-5V.0E6#xJ, EĀ`؊RQ2@pE`.@f@p#D/h>* 0&@iA0I`"V h(@Z=Xp0 3B ň>/ЈMPh p*`X X"`x9`~SvpHh^a9kyq>XeNhZ vixee:@( P8`tr zDA fn!`hd!fCPf""L (~1H !(1@`z ^x (Iv@z w惡x p8^@<@ @>((>@@ T @ Al@9$)ba聒p>`hЄH8 L h@`v)` `"@`V6 .0(l 5gP8"GN%Dp`7Av9`+ @6@ fbJ+@wSO `BXPPx&6H@E;h)I&O0S|+ d.BS- >zZd݅ApŐ j 0F@S+!ˆ^t|& 6E@ @:bh'F# 0@ G1 0!f40l, QGLw-`h! yL !Tp+ |x"Rds`C05)K p@\@/0< ! Ց<RV'Bb r(Up!Puj؍Yd& 8B  XhN B7DUx& k:^Py@4]/Hh$ V6NX(z@Ct$V!2lhprK ,{t#H&l7k1eM=3Ei50.G &Z_et3 Q/f@6,([@ ( 0`d@5`pF %wP8si`%`` "U|6ra0 R`-`x8J ANw ۠8 M4L w  RA8 ` {p(tXHXx(@@ BmL3&0jP@ 8 > )$ v9 Z/ pJ#,Q :ˈ +CPR A, BnY90D~ )3!m6rl5(>eiJګat܅{&P@' 6r< Ll$4R,NOLZ.$0ѡD*x-@RVĆ‚~@ !ZPI8 sp!0U*@KU@*y1 + J/ARLᒒq HKT :8pn77 P:-y 5x02(3P P:?+Y?YT0+ H3hI"H!3:$9Ai yyIѦ0A:0RZa { 9  PǁHP()x!(%$h()0H@X8$( ,DH@2i] Fh H p u\}`Yp i؉XpP#@@ X5 ءȠ0(Ĉ `,   8 X+0)&/P58;H!"8u(B8q<m:K9xk[84018?˦.x:Jo;a= KhQw㭀 Y|-_x^$'hU%P;;9IPR;V!\䅋:* &8x (fP4xRXjcp6<FJk P!IM'ʖZkN+k0*@d>8f3 /* O0/8/ > ͨӁ[ VBO  N@N$!  E,%XD@A P7%(h*A.@@3`Jà h>@8-P0-1Sx@H0 D p>,.Ia@LW Y *ᔀᦀAUzAqQ0r[C [ٲCÄ9Ci֊QC0\0l51A@ (0"!("7,!;&\^I [@ ((  _s"k讴nќUpȡmsRTxI4Z4 X ZXHHlfpc5cBɎ3W 2j[b`8 1M36tPռg6@h#`" Ej `/P/hp1(0'pN9 t8t@(odX7]XiH3r-Xa޺\ #ޏ]L9;N$* MpG]N*^@&0_8 'x %C$8%L&)Mjh [2E8$i ;QP0fKOida$xRx*|N KpHa L#&eDQC[檃0BH0Z.(^ی(\#  a  U΁G԰D6G `Z'\ AX i Qy9g bý[i9~/drQ3/TCVX@Mi 0#& |:)pp"Ű5 h#pX 8` !j5  ! 4J h&4C: ((ZpZ X H"Th!hABW34H6e؜͚ G_Hp#, x#&40 4`0@W<p@ ]@s<9ˆ45/ 2Q$ZQ x&U)΁E( MVXÕX_\8_>MXHki"HT:u'$%'PM[ED…q/820`xo(Pi(h gb*K&ڀ DGx<&H/0X@8t .D%pb>eͽ &8P ) pQ[Հ"\ I,f > ( -p)`,,/,ԊŁ89 @SYҺ6W]Qh!+-%|،B#(J`d K=d"#)dp~ A022DhPp\z Sb\RJ_bp .%(;!m"-0F" (F/e8,`\"p؈PA0 4 7 4 ,"z,nDƤ@, ,H2 x`B-+@N5a8&hB!Xh t  B/! h(`^?x* ,!k)T0#!P( @xh!V]]R(\Up ֕(8@PaVX$UhHd @UZkm[eؖeeWHd8" 4 `(@ Jh!40@D 8<T!hDZ Xx2^M` h`N`& h( $ Ah|*Aؚ@ (*@`XT%` `PV&A (z 3_m `$ :p8 ((: (=f6L!8| x&*g8^+! Ȁ<ncpb97 @XE@i3SA(dc1$ Bf%`@'|! >9 \@& 8 1NYE|$-!4WbahSňX[EX" "RS ∩ 2TB@$Sa b, ' 01*P` .0y6@j'~';^h"4d@6 D!l";@p ;AO0[/AA2 B H "z|O 1>$ qLH `*]P'Q JsAC5$H 4x,0i 4 @BPP@& @D'@!/II(i`80X@2`P 0ĘLp([$]p$X@Ya%bY Ei::W*]պZ.eJ®9p Zo-eX+fXa3I^ a `> Px e)@< p MF A1"j8 al0aDPAD@#(e@h@&0p8& A `@  H&PȒc EpTB0P@ a(:5L .(`AA#؆P)FH!AR8" vMA H.@^>y 90@hB$X6EaVBq` eB+_"z EF+AG ]z;PF- >/aa~ E=Sbn %4&ЄO}06 `ȈO;? |L H2@hC)5X H  {1 `@-A ($ bC^*J8! z# xL5A@ c& nE D4'a_*hpd%Je ``phm@Pm@:뻁{X f Wv@WĀGn\xʮ;v (,&>" #H .)l%!h"1Jx4b$3; 琂p7 )$`6# M`x" N@ !""P.]@({`*hif} P0@`X$@.LD @p- @@ AJ <8"<.@#@rFY !,p"`d@F P%H?otH%0p= D"zq@r/d1 CX+ MRFX) $3v0b/0JF`x(PBE` d*(al,A@@JP%T`BZ @<@<± \2O`+ED @ Qh =PR*X1Z.i@@$ @Fh_#z,T\1tP]jP ݂ -TT\,5NA\^/{ZE$ b|Z j,8@| 0 LռBNx%BE.1H1J& @ < X H]3J^ @`& ap`20B@% D  1 ODSAIE !lZfmI SZn 6p-Ѹa[sdr8,6ˁq!ƹ[{[ 0cf!Ma9]@)0  dC"R"(f *L B$C K,D O &ØC Pc2!DK @t!J#64'h.$2+@^@H, | eD;L@*ylL"Ӵb^ |R .`l@` V)`D ABBpp7u68Q Cd h8@q e0& (1 C!^T B j*& 6WX`z`)6J?ABqиMXR(R = !؎BPr{ A6gp (" 6(hOuҁȐHuAC( D ݧP0 Cp VR@Apj"&E<B, x.hGA'`vH@U@)T-P`sV8Sx*Tг[¸| qt8i_QS˜@. % . x aad   @V!$Z :  j!*Af L`f g!z-'-.L-"" H%@3@0s" `-"`$L0+tvJ @^b -""d.-"ttg t*4BR$L @d r L j @ T@@!za!bA@d8Z @N 3 !A`D )V ej<x/ ʠ 8EZ42$f`&eN2:!P N bCnD`< P^F aNG ):[@vO* 22!  ^N8RB R@2 $d@j~o"hh$@~@@BnO ad@O/Cfei vx 6 eH@4 vE,Z\eD)~ *!>A3 a: f dgZ)VD`V `0 `2 `` < R %HN$`(0tL b@@ @@ kTD`H ?iR eM h&[ADUh lga@hm&n`#Q!Fu`@/`FKb a( `A@, v! D,`,@A!8@| &x,,0f@ ++,ƾ>.ME[Bju.b!@)(BV`VJ2` @* d V#z`,l8t" bh,MruH0Z D\ L`p @ r T @X !@aala\Z `Z @P X 0 eeV< Az/C>`0J>Y.h9U"`@> *<$>s柄8CHNE$\bC䠰IpD.@8TA*p6:LD4D @Xo8^ T`VɖP&@.v4(, 08SΎL FZpCo:XϬvFjAmGal!pToJ  ajl8T @ v`4%8 2d1K2!8@#K T%xvاS]&O`*!Tja`h @JN .r#mH`RPK`]M ea@e@`@ Je$pxMFP0a(>X`B !b"|'fGժ."Xl"q^fZ%,Br'1 0p[$ Y,..@ 'sȊ`H8!$n(a *`,N6AAFAR  P"@(ڀ `BF@<YjmшvȁvbX)Z(p@$ղ 4 *NN  @ m8` vBo@"kM"l|bխ&B8" d4P@Z ucZҲh @h X`|7 _x(@` ᧾`V f P ac :^EuHX@*jDJA<,jL.4bbYA!H[>VDF3>\nE I5~il`,O2a d15 /N8v@ZJlj(A\J.}z28iZ9FAT=X=!_j >Ϟj>!qrOS4 . !gAj`/ AjB 4dXO~@:(a6 #:T=³f@ $`d%@4A`j `@b g N Ƶ|&Nd ?j(0j2`$Z`(0aM O=.  &"vl9lLpGn Kű0G ^Fm},pj' ^; <^^<V"6@@! lEA a6`` @   !"6`<@4&ZchQ&Mv^r'kZ1s};x"<R X ``f t҈,!uւ.`" mogLsi'b06,D DFVg|Lh cB .Ť`sxrxn ΍հ.8F栴[@Rkh ,!$11"@[^ Ql),dX\ SaX88GРB˜TPt&DE(tZ>DQ5OHi9_h.=JGi d(hj Pq.0?OAy0/=Hôt'dUts#pz Ә 6"(du({$*$HUDR[±rB+]*Z‰j؞Y"a_ Yjq3CAE@$V/%*! M- @ȀO";"xL! $h,H P(@f@S& 8BR @` jdzؤ"" Z>aP c  F2 -m80 -R9ap &-tI, 8"L9DP फ़ x,[uo1q(VUzM|׀WUHU_o x H6" .8BDdH_$r@x/ )P~CfI S1Jcc46X4QT YZ3@>K  4 ȼ ,@J a((1  ^@e ā`2d@,݀GbX!>ڠπZ xf(N^` u ^/p@@`7Ƅ5* a0X$"Bl+P aF&p<## Cl4Ph3HiAg2A8c/0FE!)e@^ఀA^PX„ @0hR  ke!Xz%BV*Fp! ' :hS6Wr>Jr$:dցh!3A`B # 1eJd@F@zF (C p!&h<VAqFPF|$>Ep" "ĩF(`+6 f t& 8K #D(U?p(@8x @p,@J|# P2L|@Kgx 2Nȑ  A@D D2a ]$@Pˬ /0.@xD,@80 C` aA`xR0`x.@@Z 0A(h@6@T1`Tp. D`0 ƚb%0B *yWZ]Xb=A&ܸ^ 1௵c\0{pO˹uejyn (cx 6> >n"Eh\Z$G a&# Fz"L3Q $@S )`,A 1(Ll, X(pNqt1!lV8.W \wu}Qt<x<04"``Lp. *FV ūf'p)amb/@,(@xll2x@tt iPs bXD,`1=pIz 7pr6 L`) 6-3Xi 3Jh(  ؾ!`^`~s 2EP+-'zMa @јQ`X@W@AS()x@`4X"zz,@4Ājpp7' EpH :T"(O`$S)W9g_|%\ |} IA&PY ¶@De"-Nx$ϔ3Ff[4E|q%-/4& 1 #;@CHj,FH~#8bF5#ACVY"XaH"Xɠc&ҝ@2Ơ" 0Ჰu&A@qA T5S^S!U )L'Y4I,' b#@ X3 H/sX~L]1d@z]J˷`@;&W \9u ѭ2̀{- p  2UpYxJa*JA@P8LC0aPHpE0KPI8BX8MCPfBhh@UEpCpK!<@PP9ɬgY?+(?2I-qo@1H;%d6 PXHH"P !jA+oC*۝51u+(k%n )`x Y=x ` ( `XD0>m:0k`7piX645 K0e81(`,n&HZ6a GC B*=2( J"P6S˓  9L'Ѐ6(;uE3{E*7Gz(; JBw:(0 @ROr 3Z} ̏AZ%W^#W+sKp%Yc &wS9XK\XVxY9Z5Zu0U6T#6$0Pp TP!no` H(X C" 𵃨 P9&)lZ>j,LY*%2**-P @7h7=4P2h-*P.*-p (5xO@p X>x Pi\0I+0!!3{1q̀Aj t5ΘgbQi@:@ɜ<>x p Zɍ2H`G`QG@EY8P@ M B션D]@O@@G DBZ`UhE`ihT+9X2E?c0 _ 2n@ w<2E,K!N wNƀSIEWQEZ踁8 ` 4@lVE!v# CS14TU ŗc %̀>t` x#f 3L H`gHfX5x 2[OX(d`2@XeP2`T08 ](,`)i]PӫF H =.c~J0!…*+8J@K Ɋ6IF(8FGIhKHP$tθ ˌ8Zh|ZJ`N6pxYK\+a"h N -9CSbt&\tpUJ ]86  %0 O' ^ ;]Ȥ뺣Z5J(GFPD: B̓ K1A? Ni_pfX<I9 3 4* h3 H7X=[恳u` ,\<H-)p&p1jiA=Kp(9̭Qy=b3k@` ! pm&6 7c|f_ h708MDLhH[hFPA"pC@=LF`>F@AA]50@O-@=bhaKi2n31B g1ǖ7@ ƲZHՠX 2 3,I10 =6o{ ً-faIo! Д1{@xv@@x$p+{M`fd(4@@e@gv@4H8d`18bKTP/T` _(-ۘ@)%r*=X60gK ǂQP^(xp H7eFn0p  0OFrIK*TԌh%#<7ĝ0 ֻHK %p'qY-٤Q(ʁr%RK6@)BvZz 6P!" @ M3oKdL6'oJpGFz;;1iI?".Wa86tp X tD][ͿPp '@.5"3O/O0 .`.O1iV EF#pDG#(0, ,2ib,?=Q`IqQoiAz @`  8bp1ϖ@ T cv6Rt` 7:Y>BIP9h@1 0IH@LB=HPT6 AHu_ SXCY1?DK>bN >b?FOQLRn,2 mLD`(XI@% ￉嬋-|D`  h{)k,[U aihP (8 -03<Lxh9 `zpxi6@eX2?"#S N +ϸ[\[Kx&pUXUե ^ =`)x ` 5HH#($ HX фj4kJ̒&zz ; 0P:뇧x `mAʌkGk 0;rXQV!~ߦ@x(\BPVB5ڴՏ&">'mx"*>:MF$ClT |:?NGp*#Tr qd0=R\l AZ0Tj !Q00?TaaH0KUHB+,PD< A@,;tB Hd @F_ x$!/ t1D%p#.kad aF)eS)dJá,]AVx@r ` `Ux@?t  @"Apx8#]˻s @( p8*" .`h$ XD@2@Jc N9@VX 0" .@ 8* {4@ x'XB d fnOm u>Ht< n@hCf<!kÁFh9hHZ7fA0J1a `bx Ű@*AX"y\ P:%R)FH~LaV=@ ,2(ؖ C0.|M8 h2tHa b a&2~I : e>"9F@PgD@ zK$mk82> `@@pG,OBQP `H'ZBH)W"B d:qy 8$!Wp 8Z9oDnRaR(=k`2D8 @(Vؖ6P $؄, Q`D`h!#b!A$N@%C{`] ED( ؒА J2CpH3Xe3@132Z2hA]`10Nx+`Lp* @PdÀS$00pBR0Nw֐ M6uөMgTxe<`0Sb` =@E~ Y'[&A@L ivՄG1A̠6!08%w"8a9v"9`H L`CeA (CC Q#H!E!'H(V 1*ƈcHE @@D @Ѐ.Â0& 8 d BapH@ X0)Em58-E xP  0L6 B!.Z A2`6/-! 6 B0x"d |4+$G#Lhog Mё363hEfX" J^`K+Ud'*d@ABx8@NGp"C$\Xx q&&D#" `.@jD $kFApvI$>D@!aL62Jd8lC >bCa~Awd9(X!YFeP<(AZLEJ&+<`B$04 p؂PB %@@'@\n8tLa c* p`˘EX:!.D2 jE֓& V@lE H- d=e$$@d> ~L:°N6 `x4+3v h `¥| U6 `X:(b  D1!  W" `J7a8p, X> !$(B( b`F *(b7hp p$* r:*[*$.8#H|2 ,3^<,aP@H#H6E`BcP !L5ePI#,YDl>NA2^0AAR9VhEiFƩWaXi)+& ZJkX,-h+vi^Ac`$ 6 X  8p PKs`oeȯH\qe&Win#HRZN`W@Ph X:!A@GQl!A6\4"A`M(A\@.d, " | B!\Z@+Q9A4S(Fuz%` $0 Ap,A K)76:1 8 b$ 8 (<`%i%QG#yh D*Ct 0 St)v!HC~OD VG(B Re p@X@,RGI)̀d zzO`&AJP )O)`@ŜHP+d@2?+Cx0 DB@\"`r &@0 C0`!Sb 9SP*  5d!xH "0B0XRX#Xph%@Hl<``$:ظa*\aap"at 1p$ À(|(HI D'G pP&T6!Y _sr%`2Z'pdh ! @RlP\@H 8-+q`aP' pD#CADX\|D_pİbDYd1`"? (DS)Fh@CC(CA4@@ SONYDSC-S6002009:04:26 12:38:18Happl scnrRGB XYZ acspAPPLappl-appl rXYZgXYZbXYZ0wtptDchadX,rTRCgTRCbTRCdescncprtAdscmXYZ tK>XYZ Zs&XYZ (W3XYZ Rsf32 B&lcurv3mluc enUS$esES,LdaDK4deDE,fiFI(frFU<itIT,rnlNL$noNO xptBR(JsvSE*jaJPkoKR2zhTW2zhCNKameran RGB-profiiliRGB-profil fr Kamera000 RGB 000000exOMvj_ RGB r_icϏPerfil RGB para CmaraRGB-kameraprofilRGB-Profil fr Kamerasvg: RGB cϏeNRGB-beskrivelse til KameraRGB-profiel CameratT| RGB \ |Perfil RGB de CmeraProfilo RGB FotocameraCamera RGB ProfileProfil RVB de l appareil-phototextCopyright 2003 Apple Computer Inc., all rights reserved.descCamera RGB ProfileCamera RGB Profile``(*,I4$43@38543{552x0k/)S3W[O u"W r Z (2=SisH%exiv2-0.25/msvc2003/xmpsample/0000775000175000017500000000000012541547672015613 5ustar andreasandreasexiv2-0.25/msvc2003/xmpsample/xmpsample.vcproj0000664000175000017500000002154412447013555021045 0ustar andreasandreas exiv2-0.25/msvc2003/exiv2/0000775000175000017500000000000012541547672014642 5ustar andreasandreasexiv2-0.25/msvc2003/exiv2/exiv2.vcproj0000664000175000017500000002346712517645413017133 0ustar andreasandreas exiv2-0.25/msvc2003/exifvalue/0000775000175000017500000000000012541547672015575 5ustar andreasandreasexiv2-0.25/msvc2003/exifvalue/exifvalue.vcproj0000775000175000017500000002134412504606067021012 0ustar andreasandreas exiv2-0.25/msvc2003/exifcomment/0000775000175000017500000000000012541547671016122 5ustar andreasandreasexiv2-0.25/msvc2003/exifcomment/exifcomment.vcproj0000664000175000017500000002203412447013555021660 0ustar andreasandreas exiv2-0.25/msvc2003/exifdata-test/0000775000175000017500000000000012541547671016346 5ustar andreasandreasexiv2-0.25/msvc2003/exifdata-test/exifdata-test.vcproj0000664000175000017500000002102212447013555022324 0ustar andreasandreas exiv2-0.25/msvc2003/libintl3.dll0000775000175000017500000031200011746154427016017 0ustar andreasandreasMZ@ !L!This program cannot be run in DOS mode. $PEL {B" 8Xp`{  .textDWX``.datap\@.bss.edata^.idata f@.rsrct@.relocUuu ]t\t$UT$U$vW t,u `u1ۉ؋]u] Y덴&uGɐt&$L`t`EvEuL 1똉U]`t)`9r u*9s$KL1`$(L]]ÐЋ`̍UD$`UD$`$K‰]HÉUD$`UD$`$K]ÐU]ED$t8 tW@@@ @@@1ÃT$$t$t$ \$D$$u)D$T$$T$4$D$$\$t$ÐL$$ $J$D$/bKtD$/$KKt$L$$L$褯D$T$D$T$4$Ht$JD$vv T$T$T$D$$D$ É'UWVS|$0l$4t?u(tE|$8t l$8E[^_]ÉD$`t/&'<$ST$QJxu߅tUu$L$8t t$8utEA`u<$IX$I\$P|$$I,]tD$A`$IA`]^F\$8L$8t$HtnFl$8EF `u5`p`<$D$JIx+`t<$D$+I~3뷡`먋F=A`t$H4$HtED$8Yt$8|$CdF G$GtFA`Vt!u{4$|$wHun}L$8tT$82tO{ t|$4$KHt#4$_GtC uC{ D$\$8;@$G݋s 2,D$A`A`4$Gu*qC=A`t$G{D$O4$FʋSU;T$$D$L$(D$ T$T$ L$D$$i-Ð T$D$T$T$$ Ð T$D$$T$q ÐUWVSl$$$<$FD$4@l$0D$,D$(D$$D$ D$D$D$t$D$ D$|$$ `@tfCu/C1t&Ht)Pu FDu1xv؃l[^_]Í$l$|<$D뺍v$$T$녉4$D$Ht$D1t4$\$hT$d\$ L$`\$\T$T$XL$L$T\$\$PT$T$LL$ T$\$%D$D<$gEl$0L$d@D$4l$h\$`L$(L$\l$,l$P\$$\$Xl$ l$TL$L$L\$\$Dl$L$\$ D$|$$ `1Ctpku C1tPt {4PX0uh4T<ah4P⋽h_,hS(L4 4hLehW hQ\dB B$B(*hX$`hHhJPhPhH hJ^hZ@3823v \$\$C@tt $2C>D$$-tt&C `Ѓ9D$$z-uր;L&Ct)5`Ѓ>D$$6-t< et`9`rTP4$!,L@H $ ,@P`HD ``D9D=s@`@L$$@,TJ@`9|5`19<4Up`)4tB;4s@` @`@P```5@`PL$H$t$ +<5`ˋP` @`Dڋp`P`ʋLD$$L$*`D P`TDD$ X$ +u|$XD$$+uG <$*TuTe[^_]D$ P4` `p`D$L$$Ƌp``<5`p`<C 5`Qf `1V5`Qt& `1VN `\$dtT$p`$)t p`1҉`\$Ѓ T$D$ L$T$)t$t$ \$|$>=p`u@pA`pA`p`tp`9tpA`t<$l(؋\$t$|$D$pA`4$(t|$4$(t4$'tp`땡p`뮐UWVSLL$pl$l/\рAvawD$px:eT$p$'\$h $$$'ÍD0t&M'0D$='1t$h؅$|$p|$ d?t$±+@@u@ $$L$ct,@/$@$t$t$`҉T$Ht+&'T$H:|$HW ҉T$Hu㋔$u$&D$HL[^_]D$D|$htD$hL$dD$ $D$D⪪UU<%33 <D$D|$Dw$%D$HL$H1^1ҋD$H|$D'|$DD$@L$H|$HQAW >wOՉl$<|$<Gtǘ1|$Dt&\$dT$h99!ƅ4$\$@D$@$t$$@D$4T$`|$ L$0$D$$L$,$L$($L$$$L$ L$|L$L$xL$L$tL$L$pL$ t$HD?O|$H1t$@DvD$,$$@&1ۋD$d|$hÍsD$4$$|$ $$T$0D$|$L$,t$@L$xl$(l$t\$$\$pT$ T$dD$D$hL$L$`l$D$@\$D$T$ $-l$HD!\$ $b#tx t$H D$HL$H_$@$L$Q$$|$q-+$@$t$U.|$|@$|$<.t$x@$t$#_L$t@$L$ ^$L$dt$hL$t$]"D$;D$h$D$E|$h@/$ $6"D8$<$"x$$"tV$ $!\00|$|<$!t \$x$!\0t$t4$!tD$hisoUWV1S1;t$4D$l$0snv. `9mD$$"t1.C `9)D$$!J!T$F;t$4rD$C$ D$\$Dž1;t$4sf&.`ʃ;}D$ $z!.uS`҃;t4D$$T!t.GF;t$4rD$[^_]Ív` QʉG $!!ġ`K%D$;`$蛿4C `9W%=`Q%UWVS t$(\$,D$ |$0l$4t$8T$$\$<1E1\$@t;<_t7<@t3<+t/<,t+t&'At<_t<@t<+t <,u萍&9 <_@t;+t-р+vw_trOt& [^_]Í|$,t8uߍ&'\$0t8u&'L$(t8u뙀+tQ,t_ul$@C]gD$&'Ct(.t#@t+t,t_u . D$0Ct@t&Ct@uD$0099 $)ʉT$ED$D$0 $t 8hM $6t&D$ $ӍD$t5_t0@t++t&,t!@t_t@t+t ,ut&Ðmessagesc:/progra~1/Gettext/share/locale UWVS\$t$ i<t.ut$k,$\ 1Ƀ[^_]Ét$S$NjCt$s 4$tS w$`B`B`B`B`B`B`B`B`B`B`B`B`y1l1_ 8W)ljN9A99999Ր1ut$K $t1uސCHKt$S$m/.moCPOSIXGETTEXT_LOG_UNTRANSLATEDU1WVS~G|$,9\$,r1\[^_];|$Hzu ]\$(X]TЉ% % ыT$(щL$D ʉ΁  Ft$@t$tE8L$t;At ,$:l$D$tT$pD$$}<u@W 1D$$`1\$TD$DT$@D$L`T$PvDL$X\$TL$T$PL$L\$ T$L$]Hy$2t# J B $)y,GWt>Hy$t#J B  $yGWt>Hy$t#J B $yGWt>Hy$Ot#J B $FyI҉t*$t@{ $$1҅@$|1҅t@…J}Wu&S`tC5w fT`t;|T`x tӃt$.1Dte"Q$T`73T`xFtt $҉l11҉U$ $T$K$U`^v' \$\$tQt:%Ht\$\$ pK $vuۋS$S $Ӎv\$ Ð&WVSt$|$v< t< uAA|$<_`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`ca`a`a`a`va`a`a`[a`[a`a`a`a`a`a`a`0a`0a`0a`0a`0a`0a`0a`0a`0a`0a`[a`a`a`a`a`[a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`[a`a`a`a`a`a`a`a`a`a`a`a`a`a`a`0,0< wATBЈ,0< v[^_À9=u AI1뮀9=t  A9=t 뒀9=t  9uA]1V&Ðplural=nplurals=UWVS,\$@l$D|$H$D$Xb`%$D$`b` &'t, `Ѓ9~D$$GtC,0< wOD$ T$$T$$O;\$$t1\$t$$ut$u',[^_]Ep``Q낐CP%uASCIICP936GBKCP1361JOHABCP20127ASCIICP20866KOI8-RCP21866KOI8-RUCP28591ISO-8859-1CP28592ISO-8859-2CP28593ISO-8859-3CP28594ISO-8859-4CP28595ISO-8859-5CP28596ISO-8859-6CP28597ISO-8859-7CP28598ISO-8859-8CP28599ISO-8859-9CP28605ISO-8859-15t&'V`SD$D$c`$`t|`tg8u>uc`[^Ív\$4$tt-;*t"$S\$GZzu봀{u؉$+t렸c``덾d`zt$t$ |$|$$\$tt|$4$u111ۣ `@`|$$\$|$t$ t$%`t&4$0`<${P`0`Ѓ$Ctt$ 0`$AL$6 `0`P`|$C$BT$dc:/progra~1/Gettext/libc:/progra~1/Gettext`\$\$ t$|$ `t 5@`u؋\$t$|$ÉT$ 0`$L$uԋ0`u@`j`4j`*j` j`j` j`j`w)$Ds`fs`\s`ps`zs`s`s`k` k`k`k`k` k`&k`,k`w)$s`s`s`s`s`s`t`2k`V8k`L;k`BAk`8Gk`.Mk`$t&Sk`wa$(t`t`tt`t`t`t`t`t`t`t`t`t`t`t`t`u` u`u` u`*u`Yk`_k`bk`hk`nk`tk`~zk`tk`jk``k`Vk`Lk`Bk`8k`.k`$k`k`k`k`wg$@u`u`u`u`u`u`u`u`u`u`u`u`v`v`v`"v`,v`6v`@v`Jv`Tv`^v`k`k`k`|k`rk`hk`^k`Tk`Jk`@l`6l`,l`"l`l` l`&l`,l`2l`8l`>l`Dl`Jl`wY$v`v`v`v`v`v`v`w` w`w` w`*w`4w`>w`Hw`Rw`\w`Pl`fVl`VYl`L_l`Bel`8kl`.ql`$Vl`wl`}l`l`l`l`l`l`l`l`l`l`l`l`l`l`|l`rl`dl`Vl`Ll`>l`0l`&l`l`l`m`m` m`Hm`m`Hm`"m`%m`+m`H1m`4m`Cm`vIm`lOm`^Um`P[m`F^m`n`@n`Fn`Ln`Rn`Un`[n`van`lgn`bmn`Tsn`Fn` o`4o`*o` o`H#o`)o`,o`3o`9o`@o`Fo`Lo`Zo`go`no`to`zo`}o`qo`co`Yo`Oo`Eo`;o`1o`'o`o`o` o`>n`o`o`o`o`Ho`o`o`o`o`o`o`p`x&D$v T$D$$t Ð adomain msgid msgid_plural msgstr[0] "" \n" " msgstr "" 'UWVSD$@T$<\$0|$4D$l$8p`T$tDD$$t{p`t+`$1ɉ p`'$@$p`/\$$D$~`$6`D$`D$$~`\$ SJ҉S! "t\$$\V\$ D$D$$0~`$~5\$ D$D$$4~`\$$"\$ D$ D$$7~`\$$"\$$kMkx\\$$\\$ D$D$$0~`N~\$ D$D$$4~`$o\$$" \$$" \$$t&{O{x\n\$$\t&\$ D$D$$0~`~d\$ D$D$$4~`f!\$$"a$t1`p`UUWVS]T$U؉T$$[!MEЉD$ $! EU lj9 ύw9 = Et$$u}l M U1U]]EE]}9E]M)؉EE;M 9vf t 6 9׉vzU9U E t$]$?JM9M ]]EMUÉL$T$$h}};} UB$<%c ]K(dՉޱ\$D$ $}H!M84$|$D$D$ v1ɍ4O!}ՁޱL$$H!É]H1ۉ4$|$D$D$ 4O!}Lt$d1D$T$hD$ ׉>Ձޱ\$$菍H!M@|$D$D$ 4$舎EP|$DD$@I!хT$DMD|$@1 Ӊ t]\50p`1MX0p`L$DT$@]P |$ L$t$$|$ L$@|$D\$0D$8T$$2 .lnkKERNEL32GetCompressedFileSizeAGetBinaryTypeAPATHEXTv'UWVS\T$p$$D$<,$qT$tËr z L$< $oT$trz u(l$<11t]ۈ11ҋl$tEU|$p1ۅpt$p>pl$pWD$.|$p<$;ƿ`vtt$t1ɋ=Ђ` ^n11  0p`11T$tJP$`'D$`$Ґt3\$pt$@t$$ЃÃt$@11ۉ ׅt ,$蜐 u D$tx0h4l$0p`1t$ <$\$iD$0 0p`l$T$4 L$(D$,\$t$ <$X tbl$0t$4D$(l$ L$,\$(D$ t$$|$ T$$d$ ωƋD$$؍<\$tsXt$<{\4$ \1[^_]ÍvD$0|$,L$0d$(\$(ωՉƋT$4ڍ<+B11T$u<$詎I4$D$.t͉D$ ` $,t밉t$4p`$t$`݊`n54p`5`]׉1ہ t11ʉ1։ρE]ۈu.v|$uRtJD$.4$:t6ƿ`t؋t$ \$|$$l$(,1$`@D$`$;D$t4$L$L$Ѓu``t~t>u!,$ D$@I6D$.4$ttɉD$`$茅t D$멉|$=4p`<$ltލ$`4`i 4p` `XVSd$p$0$tT$$W1҅$0$4$8FV$<$@F V$H$DVF$LV $PV$F($l$4$T$0ÉT$L$,T$(L$L$$T$$0L$ T$D$D$/ $J!T$$藃L$$Nd[^É$F(lU1WV1S\$\L$0|$` ދD$L ׋\$d1‰C{s JC$u \$T11|$PL$d  Ջ\$d t$XT$@{0s1k41 D$\$ՁޱL$$z‹L$dH!‰Q8$t$D$D$ o 4D$dK!1XՉޱL$$~‹L$dH!‰QH$t$D$D$ \$d N!ΉsLT$H1D$\$DD$ 1 Ήځ>ՉޱL$$x~‹L$dH!‰Q@t$D$D$ $m4D$d@PI!HDx81 Ӂ tT$dJXZ\[^_]뾍t&UW1V1S $`D$`$褄t/L$L$L$ $ЃÃt/t$11ۉ ׅt ,$r [^_]uƐ&U1 WVS$$pT$$$ $$$t$x$|$$$p$$$$$$$$$$$$ $$ |$p\$,$ $ |$L$$ʼnL$ T$($p\$T$|$D$D$$ȃ |$0É,$1J1!T$$(L$$N |$\T$`L$0 t$L$ ډW1‰o wGJ$u \$T11|$P$  Ջ\$X $ T$@^\$<щ~01҉n4 1D$ ΉD$ >ՉޱL$$%{‹$ H!‰Q8$t$D$D$ | $ N!މpՉޱL$$z‹$ H!‰QH$t$D$D$ { $ N!މpLT$H1D$\$DD$ 1 Ήځ>ՉޱL$$z‹$ H!‰Q@$t$D$D$ {$ FPI!хNDxP1 Ӂ t$ Z\$ JXT$$N1ҁ[^_]릐t&$ $$t&,1\$\$0t$ t$4ۉ|$$l$(t;u1ҋ\$Ћt$ |$$l$(,D$$uщ$($?$D$D$D$D$ D$D$UÉt$$$Jt\t$,$6@t3t$,$j{%'g{0҉,$Ft$,$렐U1WVSl$l$X$}t$x:<$m량<$2|$|$ \$t$<$<$ D$É4$=m…t4$ymt$mm\$t$|$ÐKERNEL32GetDiskFreeSpaceExA\\.\vwin32NTFSFAT32FATCDFSt&UWVS$$`pD$`$pƅD$ :,$$l|(\t,$PT$om\DD$$\$\T$L$XT$T\$$L$T$ D$D$,$p t$,$T$H\$@T$ L$8\$L$փD$ t <$o"t$(+"t! 1\$`D$D$D$D$ D$D$$`(pǃt~\$$L$$T$pL$\$D$lsD$h,l$dD$xD$D$D$ D$$o É<$ot D$xk81u D$4D$0D$,D$(T$0|$4L$ u&D$(ƋD$,T$Dt$@D$HT$LD$8T$<\$\$$YHD$`$.j$NTFS\$0$^^^~ L$D1\$T$@t$ L$$g$AQL$L\$T$Ht$ L$$f$AQL$8\$\$u+t&f$f\$t$É$T$$T$Z֍UWVS$ tQ (1\$0ߍt$PD$D$D$D$ D$D$$`xjǃtsl$4l$,t$@D$<sD$8,D$HD$l$D$\$D$ \$D$$Vj Ɖ<$jtD$Htoe81Č[^_]ËT$T$$$|$X$}t$\1T$`빍t&,$$$$D$ $L$T$D$iyWVS|$(t$ \$$vIك)ωʅtv' CFJuuD\$T$4$*օtv' CFJu[^_É\$L$4$+뺐UWVS,T$@\$DD$L|$HT$(T$PD$$T$ w,[^_]É|$ދl$(؋L$ t$)l$׋l$(D$D$(ՉL$T$$$T$ |$L$ D$$,$T$L$D$ T$eL$ L$u0T$)ߋ|$ \$H\$(|$D\$@,[^_]c&D$u(tl$l$t$t$4$Yc맍&l$L$ $T$$~0l$L$|$ $'L$D$gD$u땉|$D$NT$D$$|$D$(/+L$Wl$T$$T$$~,L$MT$ T$T$uD$NT$D$Ѝ&',T$0|$$|$4t$ t$8\$މl$(l$B|$|$ &uԉuoupEP ]ЋM}܃_M̉Uču9uEűMЋ}܋U؉uЋ HG}܅tEɉEMQAE܅]9]t Eu8>MA u܅t B vE܋]؋|7F9t/@ t'$A N YqU؉^]܉yN|$|$ UȉU(EKt&W1VSD$$|$ t$(t*t"Ë<$T$։څtxC҉u1҃[^_Ðt&Ct&'\$\$ t$t$$tct_Su SD$D$$֋CuWD$D$$֋Cu!D$D$$֋\$t$D$t$$ɍt&D$t$$D$D$뭐&\$\$ t$t$$tICu2Cu$։\$ t$\$Xt$$׉t$$\$t$Ít&T$|$($\$l$ l$ t$|$ AQ@ B t I t` At` tU3^ tJT$:T$$1ШtW^ O a x1QVqqwy|$$t$|$l$ ËinYq_y͋L$1f O x n~o뼋^~_뱐A8&\$\$ t$t$(|$S|$$u Ct$D$$׋SuPt$D$$׋Su#t$D$$׋\$t$|$É|$NL$$mȉ|$NL$$X뛍t$D$뫉\$\$ t$t$$Cu6Cu$։\$ t$\$dVt&t$$Ӊt$$뼐1Ð1Ð1Ð1ÐD$SR}Ptt O}C|t&'út ޺ ׺ Ѓ  }Ƀ t u밃"/}ȃttu닃~|AtA$t5gOCFPPCv=%==h= l,lWY pp m:r====)==e=N===^===7-)j=k$=k= =]`===:=' W$` Ð T$t @KS1 T$D$$ Ðt&UWVS}-?E \$\$UT$ D$<$Wƅ=~E twR&R8D$$&u"D]Ät$=9T$ U䍶< t5< t <\t BCuUr\B\\B0B1B2\B0B4B0Ą$!=r9T$ Ut&'< t2< t<\t BCu\B\\B0B1B2\B0B4B0DŽn$<8T$ U܍&'< t2< t<\t BCu!\B\\B0B1B2\B0B4B0Ǎ]؉$<n8T$ U؍&< t9< t<\t BCuq\B\\B0B1B2؍&\B0B4B0w&\$t$D$$q@w@$\$D$s@ Ɖ$D$B@\$t$w WVS\$ T$$$T$;t]D$$??$t$D$? É4$D$?p`1[H!^_D$/"`$c;uX넍t& D$t$:x?$ p`D$L$~?p` p` ÍWVS|$$<$.:T$ ƋZ t&|$$d:t#9t!x,t&$D$,f:tC1[^_Ít&t=t,uᐐL$ $\$t$T$؃w`$#`Z$`a$`#`i$`v$`$`$`$`'r A u1$t$É1rABqr A BqrABq붋Ӌ2KNj2܋ɋ2 붋 룋2C뒐&UWVS T$$D$ D$(t$ у)L$L$L$L$ ʼn.J݉ $L$L$ ~L$<$jL$ ^L$z ,$L$ $$^ l$(uL$L$ . [^_]D$(B$뒃D$( j $떍&:ZKL$(*z$ L$ t$t$$T$w`$&`&`&`8&`&`&`&`&`&`B  uY$t$ÍvBYZABYZAB Y ZABY봃 Bσ$ Z N뽃 ZӃ B 뿃Z뫃B뗃ZF녉'UWVST$ D$ D$$у)L$ $ $\$r L$ C  $ZL$ |$o $ߋjL$ t$~ $:L$ ދ\$3l$$\$u $T$L$ z [^_]Ãl$D$$r Z뉃l$ D$$Zj돃l$ zr Fl$L$$jzUWVS<$T$XL$,UHL$v3$X\$8T$\$ $PD$0l$(9؉|$$I$XT$$P$Pڋ|$,ˉ\$7;\$v\$$X|59߉;$Pt$X$PCAOu$X<.;|$t&<$$X)މt$$\x勔$X$X9,8tN]9rG& ڋ$XL$)9r&$X)9sD$K9s;l$n<[^_]Ét$<$$\x$X9vD$$1ҋl$($X\$()$XL$(L$؉D$t$4$$\T$D$$T$$$\$Xl$($X|$$)߉,$t$t$$\=|$D$$$\y $X)9$XCANu9l$9|$$X$X)9ct$();D$,w=l$(|$$);|$,wl$ T$ L$ i\$(l$$D$0;D$ NT$$);T$,v29~L$ \$(l$(yL$ Ët$ .l$$nt$ |$$멉l$N|$E9O$X,>)F$X$X\$L$$CANuL$(t$L$4$$\C$X\$L$(CANu $X\$L$(CANu D$=$|,`v.`.`.`|/`|/`|/`.`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`h/`.`|/`|/`|/`.`|/`|/`|/`|/`.`|/`.`|/`|/`|/`.`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`.`.`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`.`.`.`/`/` /`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`/`@/`J/`/`!/`(/`(/`//`9/`T/`@/`J/`T/`^/`h/`.`.`r/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`|/`.'t&' øp]Ҹ˸ă ,  l 띸떸돸눸 끸w1pf\RH>4-(V1SL$t$ ɍ1tt9 t'8tH@u9؉s=-t&zJt!yBtyBtyBt9ډr9v؉)[^ÐT$ t$\$Z$V/$/D$ 4$T$D$D$+2\$t$Ð1T$$t$t$ \$t-tzuX 8tAut&'؋\$t$ЉT$S$,v'…tBȉT$$/␐tmpfw+bD<$4\$ $8D$D$ 1`D$D$$1҅u0$D$z1҉ÅxD$%1`$.t$4Ћ$8<É$.ݐ |$=`t G|$ É` =`$`0=`ɍ |$=`t G|$ É` =`$`Q0=`ɍ |$=`tG 1ҋO)w|$ ` =`$`/=`&' |$=`tWG )1w|$ ` =`$`/=`@@`Ðfile%.*s/%.*sXXXXXXTEMP/tmpTMPDIRTMPUWVS$$t$:4P3`$$T4$)tD0V눉$ $'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789XXXXXXinvalid KIND in __gen_tempname../../libc-0.5-src/stdio-common/tempname.c! "invalid KIND in __gen_tempname"'UWVSD$)&T$$$D&~$O6`tt%Č[^_]Ë 4`=0` 51׉g%É1‰1ىӉ0`54`10`54`$t$D$>D$ D#6`M$t$D$>D$ !$ÉD$>D$ T$"6`U$t$D$>D$ !$ÉD$>D$ T$"6`M$t$D$>D$ r!$ÉD$>D$ T$r"6`U$t$D$>D$ ,!$ÉD$>D$ T$,"6`M$D$>D$ t$ $D$>D$ T$!6`]$I$$$|p6`xD$yS#80` 4`aG0`Ή 4`n#{v[#t$0D$i$$t$ t$L$y$#83#\$1&D$$$D$,&$ D$$D$4$&%D$$D$$D$\$$|$T$։׉10`154`D$QD$6`$6`W%\$\$ t$t$$tND$$i'tt$$t$\$ \$!E!0\$t$!␐T$$\$\$ T$T$$qu"L$Mb L$)‰S1ҋ\$ЃÐ@`u!1Ð L$T$D$uttD$T$ et&  Ð<$,$H$0$D$4$@$8\$t$<$it t%$,Ћ$0$4$8<D$l$l$4$@t\$l$<$말WVS$$t)T$ $i%1ɋt$ 3KtqL$ $L%\$D$t$D$ *!Nb\$$t$t$1$D$D$ t$3W1[^_C"0_ \$t$19t5@`\$t$ 9uܐWVSP$d$A4D$ d`L$,L$D$D$$c`\$,T$(3T$$1D$N` $@#D$$`Ét$D$ L$D$$#T$(D$t$$S xs\$,t$0 $D$D$ D$t$Q Åx>t$<$c#|$(<$QT$,2$V-؁P[^_U8.lnkUWVS \$ l$$$Y$.D$\$$VD$.D$$Bt?`ƉtD$?`T$$$; \$l$$$$ ,$Ftl$ [^_]t& [^_]Ð%`%`%`~-)=sRn@8$6%n@8$6%n@8$6%Xj +)=sRn@8$6%n@8$6%Vj +)=sRUj +)=sRQj +)=sRWj +)=sRRj +)=sRTj +)=sRSj +)=sRn@8$6%n@8$6%Pj +)=sRX}lBX}lB0FR KQR KQR KQ"d+.2FyK yK yK yK yK FF1FyK FF FFF FFFyK !d+.FFFFFFR KQyK yK FR KQyK yK aV 4kO*0[ 4eJ ǬM 0+)=sR՜.+,Oh+'՜.+, CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 F CPf0 F CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 CPf0 6a=< 8qۤ;< 8q* _,da _,d* _,d+ _,dag _,dF%FB: ` yK yK FH+)=sRyK yK yK yK FFv nr@FF4=Fi;Yi+-zyK 44*Fʼ"hN@Gp@3"}Te++FFFFFF#F$FFFFF!F"FFF44FFFyK FFFȼ"hN@Gp@糗`F;F9F FBJ7<}iFFFF }Te++@'1nD5KQFʙ^Ai@aUt0 t0 FFyK yK yK yK yK yK yK FMm8gh FFFFFYtNOF F[ _,dH+)=sRFF(F)FF˼"hN@GpF44ż"hN@GpǼ"hN@GpƼ"hN@GpFFFV ^>;)F,$4pLؠ.$4pLFFFFF0` FЗ`З`J`F(R h 7p@8I h 7 Fi;Yi+-zFk7E8+. F F7PByK `O7B5KQX" (  F F#N-+. {20 {20 U5qLɼ"hN@GpXשFh *'UB5KQX" ( 444eF$+.4:F8F4:KQ'FFQbH6k!Pi)? F FFF`k;Yi+-zF4j;Yi+-zj;Yi+-zFj;Yi+-z&FF0:s *Dw=i;Yi+-z>F@Qm6t4` +tN0 4F F F&FF`= ߏTe++TtUI#RRBnFFFFFFFAJ7<}iF F'FB: ` *0[ a ӯ>OnFyK yK yK 0FFFFFFF!FF F FFFF FFFFFF"F F#F FFFFFF FFFFFFF"hN@GpH+)=sRUp`u]p`JBp`uU]0g`t)u$U`;]]Ít&0g`Ku݋ 4g`1t˺0g`v@Lu븐t&U]p`u'0g`p`t%u$U`ƺ]]0g`Ku 4g`1tϺ0g`@\u뽐U``sQ``r]Ð-LIBGCCW32-EH-SJLJ-GTHR-MINGW32U`P]Í&'U1$]|$8P`p`C]`Cp`SC,C``CV`C$C(p`p`C0S4$|$]Ðt&UX]`ut ]u]ÐEAAAAV`uEAAAAEAAAAEءV`EAAAAEAAAAEܡV`EAAAAEAAAAEࡼV`EAAAA4$EV`EV`EV`EV`E fub$8&t\$$`ft`C`CІ`%$4$ v'$? UVSPut&'AuaLHyV`EءV`EܡV`EࡼV`EV`EV`EV`EV`EE$ ؃fu 1ҍe[^]É$9u獴&'UUST1ED$@T$$ t1t&'|AtHy;8u ؋] Q=r -) ̋@U(]UMuE҉}] EEMuP9v*ȉlj1ɉ}]EMuU}]Ðt&u 11Ɖ1E9v 1붍ƒEu9w19ur듍vE )M܉MM܉M NjEMMM MӉe9w95;E,O&UWVS,UEM] EE҉U܉߉ƉMu_9v;ȉU؍MtEE؉EUMUMEU,[^_]Ít&u 1ƉUE뮍v9]vM}EUEU뵍&E܉Ãu%;}w9ur U)}܉U؍Mt}mUܸ )؉EM ‹EMԉU܉M ljue؉E9w:9t.E!MԋE+E׉E؉ ‰U8E9EvʋM)U܉M뽐%`%`%`%`%`%`%`%`%`%`%`%,`%0`%\`%P`%l`%$`%X`%t`%`%L`%`%8`% `%`%`%أ`%|`%`%x`%@`%T`%``%<`% `%ȣ`%`%`%`%`%`%`%`%`%`%H`%`%4`%̣`%(`%d`%`%У`%`%D`%p`%ģ`%h`%`%`%ܣ`%`%`%(`%D`%l`%p`% `%,`%0`%`%`%`%``%`%`%`%`%h`%`% `%T`%ܢ`%Ԣ`%8`%`%`%`%`%x`%L`%P`%$`%4`%X`%\`%t`%<`%آ`%H`%@`%Т`%d`%|`%`%̢`%`%`%`%`FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFx5i+.bOy\`OOrOh7M]`g*0[ *0[ *0[ *0[ *0[ *0[ *0[ FFFF F@呰 חb@;>V;>V'WFAOЋ'WFAOІ[zGOPB,ɨ=Bl OUU]G g`pA` 0b`Db``\|<>":?*________A``@g` {BBB(08 .= AI@*0j}p}P~ 5p;`P0 CQ QpPpb^p URppAAfep4 АТd@ɒג (=Rs֓(7ALU_gxԔ +;Zsە3BSqɖݖ"4EWhx  !"#$%&'()*+,-./0123456789:;<=>?@Alibintl3.dllDllGetVersion_nl_expand_alias_nl_explode_name_nl_find_domain_nl_find_language_nl_find_msg_nl_free_domain_conv_nl_init_domain_conv_nl_language_preferences_default_nl_load_domain_nl_locale_name_nl_locale_name_default_nl_locale_name_posix_nl_log_untranslated_nl_make_l10nflist_nl_msg_cat_cntr_nl_normalize_codesetbind_textdomain_codesetbindtextdomaindcgettextdcngettextdgettextdngettextgettextlibintl_asprintflibintl_bind_textdomain_codesetlibintl_bindtextdomainlibintl_dcgettextlibintl_dcigettextlibintl_dcngettextlibintl_dgettextlibintl_dngettextlibintl_fprintflibintl_fwprintflibintl_gettextlibintl_gettext_extract_plurallibintl_gettext_free_explibintl_gettext_germanic_plurallibintl_gettextparselibintl_ngettextlibintl_nl_current_default_domainlibintl_nl_default_default_domainlibintl_nl_default_dirnamelibintl_nl_domain_bindingslibintl_printflibintl_relocatelibintl_set_relocation_prefixlibintl_snprintflibintl_sprintflibintl_swprintflibintl_textdomainlibintl_vasnprintflibintl_vasnwprintflibintl_vasprintflibintl_vfprintflibintl_vfwprintflibintl_vprintflibintl_vsnprintflibintl_vsprintflibintl_vswprintflibintl_vwprintflibintl_wprintflocale_charsetngettextst_flagstextdomainܫ̢x̬ح̤ܤ 4@Tdxȥإ0@Xxئ,@Plԧ$4DT`lxȨب(<HP\dp|̩ԩ(4@LXdp|ĪЪܪ $0<HT`lx̤ܤ 4@Tdxȥإ0@Xxئ,@Plԧ$4DT`lxȨب(<HP\dp|̩ԩ(4@LXdp|ĪЪܪ $0<HT`lxlibiconvlibiconv_closelibiconv_openlibiconv_set_relocation_prefixRegCloseKeyRegOpenKeyExARegQueryValueExAAddAtomA AreFileApisANSI&CloseHandle<CreateDirectoryADCreateFileAsDeviceIoControlFindAtomAFindCloseFindFirstFileAFindNextFileAFreeLibraryGetACPGetAtomNameAGetCurrentDirectoryA"GetDiskFreeSpaceA(GetDriveTypeA2GetFileAttributesA6GetFileInformationByHandle7GetFileSize:GetFileType=GetFullPathNameACGetLastErrorGGetLogicalDriveStringsAMGetModuleFileNameAOGetModuleHandleAjGetProcAddressmGetProcessHeap~GetShortPathNameAGetSystemInfoGetSystemTimeAsFileTimeGetThreadLocaleGetTimeZoneInformationGetVersionGetVersionExAGetVolumeInformationAHeapAllocHeapFree LoadLibraryA.MultiByteToWideCharDPeekNamedPipeSearchPathASetErrorModeUnlockFileWlstrcmpiAZlstrcpyA_chmod_close'_getpid;_openA_readT_strdupU_stricmp$__dllonexit0__mb_cur_maxo_assert_close_errno_fdopen_filelengthi64_flsbuf_get_osfhandle_getcwd_iob_isctype__openg_pctype_snprintf_snwprintf_stricmp_vsnprintf_vsnwprintfabort!calloc'ctime-fclose0fflush3fgets8fopen9fprintf<fputwc?freeGfwriteKgetenvRisalpharmallocxmemcpyprintfreallocsetlocalesprintfsscanfstrcatstrchrstrcmpstrcpystrcspnstrlenstrncmpstrncpystrpbrkstrrchrstrspnstrstrstrtoultolowertouppervfprintfvfwprintfvsprintfwcschr CoCreateInstanceHCoUninitializeOleInitializelibiconv2.dllADVAPI32.DLL(((((((((((((((((((((((((((((((((((((((((((((KERNEL32.dll<<<<<<<msvcrt.dllPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPmsvcrt.dlldddOLE32.dll{B(X{B@{B {Bp{B {B{B $( @ʦkH%zbJs2PkHs%WUI=1%sPkkHH%%sPDZksHW%UI=1%sPԎkH%zbJs2PkH%ssPPkH%zbsJP2kHs%WUI=1s%PkkHH%%sPDZksHW%UI=1s%PԎkH%ܒzbsJP2kH%ssPPkH%zbJs2PksHW%UI=1%sPkkHH%%sPkHs%WUI=1s%PkH%ܒzbsJP2kH%ssPPzzznnnbbbVVVJJJ>>>222&&& $4VS_VERSION_INFO? StringFileInfo^040904E4DCompanyNameGNU <www.gnu.org>RLicenseThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License;see www.gnu.org/copyleft/gpl.html.7FileDescriptionGetText: library and tools for native language support8 FileVersion0.14.4.19528LibToolFileVersion7:0:42 InternalNamelibintl3.LegalCopyright 2005 Free Software Foundation <www.fsf.org>\LegalTrademarksGNU, GetText, libintl3B OriginalFilenamelibintl3.dll0ProductNameGetText< ProductVersion0.14.4.1952r)SpecialBuildGNU for Win32 <gnuwin32.sourceforge.net>r1WWWhttp://www.gnu.org/software/gettext/gettext.htmlDVarFileInfo$Translation H:0}0000011%1J1U1 3e333 444<4f4p445557i8g9999u: <u::;;;;;;<(<66><>F>^>>>>>???0|0j000"1(1g1y1111122(2-232_2h2n2|2222(3.343P3[3i3o3333334+4344444444 55<.<<<=4=I=f==@d\2`2d2h2l2p2t2x2|222233 4404o444H5X556667778#9C99Q;q;;;;< <56?2D2H2L2P2T2X2\2`2d2h2l2p2t2x2|22222222222222222333%3/3@3D3H3L3P3T3X3]3g3q3{3333333333333333344"4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4u444444444444445 55!5+5<5@5D5H5L5P5T5X5\5`5d5h5l5p5t5x5|55555555555555555666#6-676A6K6U6_6i6z666666666666666666666667 77!7+757?7I7S7]7g7q7{777777777778 88&818;8G8S8^8i8t888888888888999%9/999C9M9W9a9k9u9999999999999: :::):3:=:G:T:b:m:w::::::::::::; ;;$;0;;;E;O;Z;e;o;y;;;;;;;;;;;;;;<<<*<4<>>>>>>>?"??hR00111i22'3Q33366 6$6(6,6064686<6@6~7777777777777777777===>>>T166666666666>8D8H8L8P8T8X8\8`8d8h8l8p8t8x8|8888>>>>>>24$4(4,4044484<4@4D4H4L4P4T4X4\4`4d4h4l4p4t4x4|4M7T7X7\7`7d7h7l7p7t7x7|777777777777777777777777777777777888 88888 8$8(8,8084888<8@8D8H8L8P8T8X8\8`8d8h8l8p8t8x8|88888888882222222222222222222222222222333 33333 3$3(3,3034383<3@3D3H3L3P3T3X3\3`3d3h3l3p3t3x3|33333333333333333333333333r<<<<<<<<=*=C=K=y==>Q>Y>>>>>>>????????\r000000L1^1d111142]2222244445#595P5f55556$7<7889<t>>Y?(40F012t444?7*;<;;; <<">E>y>>>>>>>>>>> ??&?2?2y22222223313I3i333334<4X4s4~4444444445 5585D5L5\5555555556 6T6w6666667727H7v7777777K8P888999o:%;r>> >>>>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>>>>0T1111122)2B2M2V2a2y2222222333<334e444445#555:7j7p777777%8k88899y99999:: ;;>>>@T0i0001P555555556$6/6A6T6_6j66666677 7(7:7A7P7V7z777777778G8O8W88888889 9<<<<<<=="=2=B=R=b=r=========>>">2>B>R>b>r>>>>>>>>>??"?2?B?R?b?r?????????`|00"020B0R0b0r00000000011"121B1R1b1r11111111122"222B2R2b2r22222222233"323B3R3b3r347p00040000exiv2-0.25/msvc2003/depends2.exe0000664000175000017500000020600011110040173015761 0ustar andreasandreasMZ@ !L!This program cannot be run in DOS mode. $Ώzߊzߊz7ߋzߔߣzߔߘzߔz߭(ߍzߊ{z߃ߍz߃ߋzRichzPELI  X3$@P>@P 0 @h.text `.rdata -.@@.data,@.rsrc @@.reloc0@BFtP@@FW=H@tP׋tPF_́@@3ĉ$SU- AW3UF^z;tPj\WtD$ Ph@W@UFt L$ Q@W $_][3̋ ̃~tUSWFxt%IF@xt P NyuFt P ^u_[Fjhk@dP8@@3ĉ$4SUVW@@3P$Ld$\L$ÍL$ l$,3|$8u!|$4t l$,D$0L$ <|$8DŽ$Tu3D$ tP@@D$5H@tP֋D$tP֋h t D$t~t WW &Y@|ܾ@_t ~uPӃ@|^[ËUE4@@]j h@ 3G}39Au<8j6h3YYu4@9tnjAY;uu 3Qj YY]9u,hW1AYYuW9Y? ] >WYE EI j (YËUEV4@>uP"Yuj2Y6@^]ËU dAhAkU+P r ;r3]ËUMAVu W+y iDMIMS1UVUU] utJ?vj?ZK;KuB sL!\D u#M!JL! uM!Y] S[MMZU ZRSMJ?vj?Z]]+u]j?u K^;vMJM;v;t^M q;qu; s!tDLu!M!1K!LuM!qM qINM qINu ]}u;M ыYN^qNqN;Nu`LML s%}uʻM DD )}uJM YJꍄ ED0EA xA5x@h@H SQ֋ xAA PA@ xAA@HCAHyCu `AxueSjp ֡Apj5AX@ dAAkhA+ȍLQHQP>E dA;AvmhApAEA=xA[_^átAV5dAW3;u4kP5hAW5A@;u3xtA5dAhAk5hAhAj5A@F;tjh hW@F ;uvW5AX@뛃N>~dAF_^ËUQQMASVqW3C}i0Dj?EZ@@Jujhy hW@upU;wC+ GAH@PǀIuˋUEO HAJ HAdD3GFCENCu x!P_^[ËU MASVuW} +Q iDMOI;|9M]UE;;MIM?vj?YM_;_uC sML!\D u&M!ML! uM!YO_YOyM+M}}M OL1?vj?_]][Y]YKYKY;YuWLML s}uϻM DD }uOM YO U MD2LU FBD2<38/] )uNK\3uN] K?vj?^EuN?vj?^O;OuB st!\Du#M!NL! uM!Y] OwqwOquuuN?vj?^M yK{YKYK;KuWLML s}uοM 9DD }uNM yN ED3@_^[ËUdAMkhAMSI VW} M 3U pAS;#U# u ];r;uhAS;#U# u ];r;u[ {u ];r;u1hA {u ];r;u؉]u3 S:YKC8tpACUt|D#M# u)eHD9#U# uEUiDMLD3#u#Mj _G}MT +MN?M~j?^;J;Ju\ }&M|8Ӊ]#\D\Du3M]! ,OM|8!]u ]M!K]}JzyJzyM yJzQJQJ;Ju^LM L}#} u ;οM |D)} u N {MN 7Mt LMuэN L2uy>u;AuM; xAu%AMB_^[h2@d5D$l$l$+SVW@@1E3PeuEEEEdËMd Y__^[]Q̋US] Vs35@@WEE{t N3 8aN F3 8QE@fMUS[ EMt_I[LDEEt:E|@GE؃u΀}t$t N3 8N V3 :E_^[]EɋM9csmu)=@t h@3;tUjR@M O:E 9X th@@WӋR:E MH t N3 8KN V3 :;EH99S Rh@@W9US]VW@t&P;FVYYGt3VP'; gG_^[]UM@ `H]US]V@CFCWt1t'P:;GWLYYFtsWP: fF_^[]y@t q3SvWPWPWv S<DSvWPWPhv S<$3EtLtL Ƅ@;rVDž3)ЍZ w Lр wL р A;r‹M_3[j h@ $@Gptltwhuj rYj {Yewhu;5(@t6tV@u@tVJY(@Gh5(@uV@E뎋uj @YËUS3SMAuA@8]tEMapE,@D;FG;v}FF>uыuE}urlj{CgjC C4@Zf1Af0A@@JuL@;vFF~4C@IuCC Ss3ȋ {95AXM_^3[jh0@M}_huuE;CWh *Y؅Fwh#SuYYEuvh@uFh=@tP&Y^hS=@Fp$@j YeCACAC A3E}fLCf EA@3E=} L @@3E=}(@@5(@@u(@=@tPmY(@SE0j uY%u @tS7Y=eE]Ã=L AujVYL A3ËUSVu3W;to=@th;t^9uZ;t9uP:YY;t9uP:YYzYY;tD9u@-PY+PF+P8-=@t9uPt87YY~PE(@t;t 9uPY9_tG;t 9uPYMuVY_^[]ËUSV5@W}W֋tP֋tP֋tP֋tP֍_PE{(@t tPփ{t CtPփMu֋P_^[]ËUW}SV5@W֋tP֋tP֋tP֋tP֍_PE{(@t tPփ{t CtPփMu֋P^[_]Åt7t3V0;t(W8YtVE>Yu0@tVYY^3j hP@>,$@Fpt"~ltpluj YQj YeFl=@iEEj YuËUV5@5@օt!@tP5@Ѕt'@V@u VBYth@P@tuЉEE^]jYËUV5@5@օt!@tP5@Ѕt'@V@u VYth@P@tuЉEE^]@V5@@u5DAeYV5@@^á@tP5LA;YЃ @@tP@ @Bj hp@a@V@uVYEuF\@3G~t$h@P@Ӊh@uӉ~pƆCƆKCFh@j Yevh@E>j Y}E Flu@FlvlYE3Guj Yj YËVWT@5@ЋuNhj#YYt:V5@5HAYЅtjVYY@N V!Y3W@_^ËVujY^jh@uF$tPYF,tPYF4tPYF^^N 3_@[3^]ËU}t'Vu F tV4f f&fY^]A @tyt$Ix  QPr6YYu ËUVMEM >t} ^]ËUG @SVt2u,E+M}C>uT8*uϰ?d}^[]ËUx@@3ʼnES] Vu3W}ulu53PPPPP-t `p F @u^V5Yx@ttȃ @ AA$uttȃ@ A@$g3;] C , If90t@@;u+(;u @I8t@;u+\@t2t ƅ-t ƅ+ tƅ Dž++ uSj p vYtuWSj0. tf~bPjEPFPFD.u(9t MYuPY|tWSj tYtt `pM_^3[ÐQ@O@O@[P@P@P@P@&R@UE8csmu*xu$@= t=!t="t=@u-3]hY@l@3ËUWW@u@`wt_]ËUu5@hЃ ]ËUh@@th@P@tu]ËUuYu@jYjYËUV tЃ;ur^]ËUVu3utу;u r^]ËU=P AthP AYt uP AYS*h@hp@YYuBhg@zh@$l@c=T AYthT ApYt jjjT A3]jh@jYe3C9AAEA} 5H A,Y}؅tx5D AYu܉}uu;rW9t;rJ65H A5D A 9}u9Et}}؉Eu܋}h@@_Yh@@OYE}u(AjYu3C}tjYËUjju ]ËUjju ]jjj jjj ËVVV% VV^-VI-V1+VV+h\@A$@^ËUQQS]VW33};@t G}rwjt.Y4jc.Yu =<@Ahh@SAW t VVVVVhAVjA@u&hP@hV t3PPPPPV@Y=u Fd.=u Fd=u Fd=uFdvdjY~d`QӋEYF`[_^Ã=L AuV5tAW3u<=tGVSYtujGWYY=pAtˋ5tASBV"C>=Yt1jSYYtNVSP t3PPPPP>u5tA%tA'@ A3Y[_^5pA%pAUQMS3VU 9Et ]EE>"u39E"FE<tBU PF*Yt} t M E FU Mt2}u t utBe>< t< uFN>}t EE3C3FA>\t>"u&u}t F8"u 339EEtIt\BuU tU}u< tK< tGt=Pt#)Yt M E FM E  )YtFU FVtBU ME^[t ËU S3VW9L AuhAVS A@A5A;tE8uuUEPSS} E =?sJMsB;r6PY;t)UEPWV}E HdA5hA3_^[ËU졸 A SV5@W33;u.֋;t  A#T@xu jX A A;u֋;u3f9t@@f9u@@f9u5@SSS+S@PWSSE։E;t/PBYE;t!SSuPuWSSօu uԹY]]W@\t;u@;r8t @8u@8u+@PEY;u V@EuVW V@_^[jTh@P3}EP@Ej@j ^VYY;@ A5, A0@@ x@$@% @& x8@4@ @ A;rf9} E;8X;E;|E[j@j 7YYtVM @ A, A *@@ ``$@% @& `8@4@;rE9=, A|=, Ae~mEtVtQtKu Q@t%uN@ uNhF P?YYt7F N@Cg5, A@33@ËeENËV@@W;stЃ;r_^ËV@@W;stЃ;r_^ËU@@eeSWN@;t t УD@`VEP @u3u@3@3@3EP@E3E3;uO@ u 5@@։5D@^_[Ã%( AËUE A]jh@eu u@E/EE3=Ëe}uj@eEEËUVW3uuYu'9 AvV@; Avuʋ_^]ËUVW3ju u# u'9 AvV@; AvuË_^]ËUVW3u u}$YYu,9E t'9 AvV@; Avu_^]UWVu M};v;r=$ AtWV;^_u^_]&ur*$$k@Ǻr $8j@$4k@$j@Hj@tj@j@#ъFGFGr$$k@I#ъFGr$$k@#ъr$$k@Ik@k@k@j@j@j@j@j@DDDDDDDDDDDDDD$$k@4k@ ]D$T$UL$)qqq( ]UVWS33333[_^]Ëj%33333USVWjjhOn@Q>_^[]Ul$RQt$ ]̋UMMZf9t3]ËA<8PEu3ҹ f9H‹]̋UEH<ASVq3WDv} H ;r X;r B(;r3_^[]̋Ujh @h2@dPSVW@@1E3PEdeEh@*tUE-@Ph@Pt;@$ЃEMd Y_^[]ËE3=‹ËeE3Md Y_^[]ËUMS3VW;t} ;w諵j^0SSSSS0u;uڋъBF:tOu;upj"Y3_^[]̋L$t$tNu$$~Ѓ3ƒtAt2t$tt͍AL$+ÍAL$+ÍAL$+ÍAL$+j h@@j謶YeuNt/ A AEt9u,HJP{YvrYfE ËjwY̋T$L$u<:u. t&:au% t:Au t:au uҋ3Ðt:u ttf:u t:au tjh`@3]3;;u謳WWWWWS=|Au8jyY}S袵YE;t s uuE%9}uSW5A@p3]ujGY̋T$ L$ti3D$ur=$ At.!Wr1كt +шuʃtt uD$_ËD$ËUEt8uP肫Y]ËU@@3ʼnESV3W9 Au8SS3GWh@hS$@t= AT@xu  A9]~"MEI8t@;uE+H;E}@E A;]9] u@E 5 @39]$SSuuPu ֋;~Cj3Xr7D?=w\";tPCY;t E]9]>Wuuuju օ5$@SSWuu u֋ȉM;E t)9];MuuWuu u;~Ej3Xr9D =w!;tjPY;t 3;tAuVWuu u$@t"SS9]uSSuuuVSu @EVYuEYY]]9]u@E9] u@E uYEu3!;E SSMQuPu E;tԋ5@SSuPu u։E;u3~=w8=w ;tPkY;t 3;tuSW^ uWuuu u։E;u3%uEuPWu uZu#uWYuuuuu u@9]t uYE;t 9EtPYƍe_^[M3ͧËUuMju(Mu$u uuuuu ( }tMapËUQQ@@3ʼnE ASV3W;u:EP3FVh@V,@t5 A4T@xu jX A A;]9]u@E5 @39] SSuu Pu֋;~<w4D?=w;tP臿Y;t ؅ti?PjS| WSuu juօtuPSu,@ESEYu39]u@E9]u@EuYu3G;EtSSMQu Pu6;t܉u uuu uu(@;tVYǍe_^[M3ΥËUuMku$Mu uuuuu }tMapËUVuv耥vxv pvhv`vX6Qv Iv$Av(9v,1v0)v4!vv8v< @v@vDvHvLvPޤvT֤vXΤv\Ƥv`辤vd趤vh认vl覤vp螤vt薤vx莤v|膤@xmbWLA6+  ,^]ËUVut5;@tPYF;@tPգYv;5@tVãY^]ËUVut~F ;@tP衣YF;@tP菣YF;@tP}YF;@tPkYF;@tPYYF ;@tPGYv$;5@tV5Y^]ËUES3VW;t} ;w j^0SSSSS+~,WPVYPk ;uF yF N _Ff^[]ËUVuu V5Y/V|YtF @tVZPYY3^]jh@覯3}}j蝤Y}3u;5`AX A98t^@ tVPV)YY3BUX AH t/9UuPJYtE9}utP/Yu E܉}F3uX A4V2YYE}EtE'jYjYËUEuΡ 3]V3;|;, Ar谡VVVVV 3ȃ @ AD@^]ËUEV3;uhVVVVV@^]ËUQVu VE F Yu* N /@t "S3ۨt^NF F F ^] u,e ;t Y@;u u YuV4YF WF>HN+I;N~WPu  EM F yM tt@ Ax@@ tjSSQ#ƒt%FM3GWEPu : E9}t N E%_[^ËVW3@6Y(r_^ËUSVu 3W};u;vE;t3E;tv胟j^SSSSS0VuME9XfEf;v6;t;v WSV 0*%8]tMap_^[;t2;w,j"^SSSSS0i8]yE`pmE;t8]%E`pM QSWVjMQS] p@;t9] ^M;tT@zD;g;_WSV< OUjuuu u|]VD$ u(L$D$ 3؋D$d$ȋd$Gȋ\$T$ D$ ud$ȋD$r;T$ wr;D$v N+D$T$3+D$T$ ؃ʋӋًȋ^jh@胪q@xte3@ËeE蜪D@|tjh@75 AӺYte3@ËeE}h@-Y AËUE A A A A]ËUE t@V9Ptk u ;rk M^;s9Pt3]5 AAYj h@茩3}}؋] LtjY+t"+t+td+uDڻ}؅ua A A`w\]ZÃt<t+Ht-3PPPPP뮾 A A A A A AEP}EY3}9Euj-9EtP赝Y3Et tuO`MԉG`u@OdMGdu. h@M܋ l@h@9M}Mk W\DEEuwdSUY]}؃}tjCYSUYt tuEԉG`uEЉGd3.ËUE A]ËUE A]ËUSVWXe= Ah@4@*5@h@WօP袷$@W AP荷$@W APx$@W APcY Ath@WPKY A A;tO9 AtGP詷5 A蜷YYt,t(օtMQj MQjPׅtEu M 9 A;t0PYYt%ЉEt A;tPYYu]FE09]t@ AD8 P@EP3ۋ}j *{YËUEȃ @ AD P@]3PPjPjh@hh@4@P@áP@V5H@ttP֡L@ttP^ËUS39]u3AVWu*FVcsmuB~uWՌt?njg9t+>MOCt#u$u uuuu V;} uIuEPEPVu WE;Es[S;7|G;wBG OHtyu*X@u"u$u u juuuuuEE;Er[_^ËU,M S]C=VWEIIM|;|ucsm9>~ F;t=!t ="~~lu^jVE(YYu 9>u&~u F;t=!t="u ~ut|u3YuO39~GLh8A{u F;7|;judYYh@M7h@EP{}ucsm9>~~F;t=!t ="e} EPEPuu W[E;EE9;G|GEG E~lF@ XE~#vPuE uM9EME}(u$]u EuuuuVu KuE]}}t jV:YY}%=!VYLGB7}$MVuu u$ujVuu v]{ v&})u$u uSuuu V ʈt_^[ËUVu x@^]USVW荈 EMcsm"u ;t&t#;r @ Aft#x}u}jPuu jx u#ց!rXxtR99u2yr,9Yv'QRtu$Vu uPuuu Q҃ u uu$Puuu Q 3@_^[]USQE EEUuMmUVW_^]MUuQ3]Y[ Pd5D$ +d$ SVW(@@3PeuEEdËU3@}u3]̍QT$3_J3_l@̍uHRT$BJ3_@T$B J3_8@`A@`A7v4&4LXbzL\hz $<T`p~(BL\rz6HVh(8J\n~4x6@]?@$K@@#Z@@K@IH``bad allocation@s@?5@AA(@L5@?5@Unknown exception<@}5@csm   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~=EncodePointerKERNEL32.DLLDecodePointerFlsFreeFlsSetValueFlsGetValueFlsAlloc(null)(null)EEE50P( 8PX700WP `h````xpxxxxCorExitProcessmscoree.dllruntime error TLOSS error SING error DOMAIN error R6034 An application has made an attempt to load the C runtime library incorrectly. Please contact the application's support team for more information. R6033 - Attempt to use MSIL code from this assembly during native code initialization This indicates a bug in your application. It is most likely the result of calling an MSIL-compiled (/clr) function from a native constructor or from DllMain. R6032 - not enough space for locale information R6031 - Attempt to initialize the CRT more than once. This indicates a bug in your application. R6030 - CRT not initialized R6028 - unable to initialize heap R6027 - not enough space for lowio initialization R6026 - not enough space for stdio initialization R6025 - pure virtual function call R6024 - not enough space for _onexit/atexit table R6019 - unable to open console device R6018 - unexpected heap error R6017 - unexpected multithread lock error R6016 - not enough space for thread data This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. R6009 - not enough space for environment R6008 - not enough space for arguments R6002 - floating point support not loaded Microsoft Visual C++ Runtime Library ...Runtime Error! Program:   ((((( H h(((( H H  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~HH:mm:ssdddd, MMMM dd, yyyyMM/dd/yyPMAMDecemberNovemberOctoberSeptemberAugustJulyJuneAprilMarchFebruaryJanuaryDecNovOctSepAugJulJunMayAprMarFebJanSaturdayFridayThursdayWednesdayTuesdayMondaySundaySatFriThuWedTueMonSunEEE00P('8PW700PP (`h`hhhxppwppGetProcessWindowStationGetUserObjectInformationAGetLastActivePopupGetActiveWindowMessageBoxAUSER32.DLL Complete Object Locator' Class Hierarchy Descriptor' Base Class Array' Base Class Descriptor at ( Type Descriptor'`local static thread guard'`managed vector copy constructor iterator'`vector vbase copy constructor iterator'`vector copy constructor iterator'`dynamic atexit destructor for '`dynamic initializer for '`eh vector vbase copy constructor iterator'`eh vector copy constructor iterator'`managed vector destructor iterator'`managed vector constructor iterator'`placement delete[] closure'`placement delete closure'`omni callsig' delete[] new[]`local vftable constructor closure'`local vftable'`RTTI`EH`udt returning'`copy constructor closure'`eh vector vbase constructor iterator'`eh vector destructor iterator'`eh vector constructor iterator'`virtual displacement map'`vector vbase constructor iterator'`vector destructor iterator'`vector constructor iterator'`scalar deleting destructor'`default constructor closure'`vector deleting destructor'`vbase destructor'`string'`local static guard'`typeof'`vcall'`vbtable'`vftable'^=|=&=<<=>>=%=/=-=+=*=||&&|^~(),>=><=<%/->*&+---++*->operator[]!===!<<>> delete new__unaligned__restrict__ptr64__clrcall__fastcall__thiscall__stdcall__pascal__cdecl__based(@@@x@l@`@T@L@@@4@@x@\@H@(@ @,@$@@ @@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@x@l@d@X@@@4@ @@@@@@\@@@@@@@@@@@h@`@T@D@(@@@@@d@H@$@@@@@@SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecCONOUT$No errorFile not foundNot a PE fileGeneral failureUnhandledExceptionFilterSetUnhandledExceptionFilterIsDebuggerPresentHeapCreateWVirtualFreeDeleteCriticalSectionLeaveCriticalSectionEnterCriticalSectionHeapAllocTVirtualAllocHeapReAllocZRaiseException[GetCPInfoInterlockedIncrementInterlockedDecrementRGetACPGetOEMCPIsValidCodePageGetModuleHandleW GetProcAddress4TlsGetValue2TlsAlloc5TlsSetValue3TlsFreeSetLastErrorGetCurrentThreadId!SleepExitProcessWriteFile;GetStdHandleGetModuleFileNameAJFreeEnvironmentStringsAGetEnvironmentStringsKFreeEnvironmentStringsWzWideCharToMultiByteGetEnvironmentStringsWSetHandleCountGetFileType9GetStartupInfoATQueryPerformanceCounterfGetTickCountGetCurrentProcessIdOGetSystemTimeAsFileTimeInitializeCriticalSectionAndSpinCountRtlUnwindHeapSizeLCMapStringAMultiByteToWideCharLCMapStringW=GetStringTypeA@GetStringTypeWGetLocaleInfoALoadLibraryAGetConsoleCPGetConsoleModeAFlushFileBuffersSetFilePointerWriteConsoleAGetConsoleOutputCPWriteConsoleWSetStdHandle@@.?AVbad_alloc@std@@@.?AVexception@std@@N@D        ! 5A CPR S WY l m pr   )    @@@.?AVtype_info@@ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@`y!@~ڣ @ڣ AϢ[@~QQ^ _j21~ @C(@(@(@(@(@@@@@@0@0@@` A` A4@$@\@@@ @ @@@@T@@@@@\@<@@ @!@"@x@y@z@@@x @@ @8@4@0@,@(@$@ @@@@@@@@@@@@@@@@@@@@@@@@@@x@p@d@\@P@D@@@<@0@@@ @.@ A A A A A A A A A@.\@\@\@\@\@\@\@\@\@\@ pPSTPDT0@p@;Zx0Nm:Yw/MlDEPENDS - Matt Pietrek, 1997, for MSJ Syntax: DEPENDS [args] /v show version information /t show time & date information /p show full path /l show link time & date information @@.?AVbad_exception@std@@0 HX Z PAPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPAD 00G0X0000c1u1112O2Y222>3h3344+464C4N4[4f4s4444465;5B5I5P5W5]5d5555064686<6D6Z6r66666F7k7777[8888888881969E99999999999:+:s:::;;.;T;i;;;;<<<<<=_==Z>`>f>l>|>>>>>S?`?j?}?????? 0F0N0c0n011222222333'3x3}333333I4O4U4[4a4g4n4u4|44444444444444444555 565=5P5l5555556 66@6N6T6w6~666666677779 ::*:/:>:G:T:_:q:::::::::::::::;;;*;1;6;?;L;R;l;};;;;????040y0L2W2_2u2223333K4k444/5G5r555N6g666667a7g77778+8]88879N9:: ;;#;1;:;D;x;;;;;;;G>Z>l>>>>>>>>>>??6?_?p??@X0001h112-2>2z222222222#3)343@3U3\3p3w3333333333333 44434B4I4V4y44444$5*5F5^555!6+6c6k66666666667 777 7)757:7?7E7I7O7T7Z7_7n77777777777788$899::::::;%;?;N;[;g;w;~;;;;;;;; >?;????P34555799999999$:*:?:H:u::::::';/;B;M;R;b;l;s;~;;;;;;;;;;>>W>\>>>>>> ?/?i???` 000001Q1\1f1w1153F3N3T3Y3_33333 44"4)4`4444 55/5P5V5555'616Y6r6666G7M7p7u77777778 88=8E8P8_8h8}88888+949@9y9999:(:/:7:<:@:D:m:::::::::::;$;(;,;0;;;;;;;;;? ??=?Q?W?p0001162<2233"3.383@3K3{33B4455d666777'747;7k78y8::::::;;&;8;<=8=?=G=L=P=T=}===========.>4>8><>@>>>>>>>>?+?]?d?h?l?p?t?x?|???????v11111112223e333?5F5566748?8j8u88888888&9+9p9u9|99999: ::::::::;;;;+;1;?;H;W;\;f;t;;;;-<4<:<<(=======>U>>>??A?d?????Po1$28222!3;3D3R4o444455 7778899@:;>>????"0,00000;1j124444455b666667M77788/898B8M8b8i8o888E9999:9:::::R;];;;;;;;;;=d=>5>:>400 11-1134]45x7:::<$>>>>>>>,t1x1|111111111111122$9999999999999999999999::: ::::: :$:(:,:0:4:8:<:@:D:H:L:P:T:X:\:`:d:h:l:p:t:x:|:::::::::::::::::::::::::::::::::;;; ;;;;; ;$;<<<=T=X========= >> >4>8>H>L>\>`>h>>>>>>>>>? ?(?0?4?>>> 4080exiv2-0.25/msvc2003/diff.exe0000664000175000017500000044600011746154427015222 0ustar andreasandreasMZ@ !L!This program cannot be run in DOS mode. $PEL@ 8&" @@3 `p.text$& `.data@*@.bss P.idata`,@.rsrcp<@U$ dBh1]ÉU$ dBH1]ÉUU$ddB]Ív'UU$@dB]Ív'US$$@}5$@B@BMEL$T$ UT$D$@B2@Bt^@B4dBtD$Z$4dBt@B\$J0 $4dBt@B\$JP $ @BY t@B @B$\$L$&3?$&U]M1ۉu1==sg=t؋u]]D$$ t"t$ &'лD$$ 㐾D$$tz$D$$}tt 딉=t=t=Files %s and %s differ No newline at end of file%s: %s UWVSWBT$$$ Z$nt\$xt=XBd\$xt=VB;VBD$T$$@=XBu\$x$<$L$l $$${xCtð $Ny؋D$|t0$upXB11ۋ$uFð~$@bBD$VBu $DD$ D$@D$$D$x랋$$Wt&=@XBt t$x$1ҡVB`…T$uD$VBu $C$6pXB$@.@@@@@@-@;@I@D$L$| $X3t$|4$RD$D$|$ҋ|$|<$jɋl$|,$j뻋T$|$k뭋\$|$it럋D$|$ۑ1Ƀ|$|L$xe^D$d$$$$U|1틇,T$XT1\$`9׉D$TL$\\$`t$\T5tk|$Pl$Lt D$`G<ut T$\E|u$L$PD$L)ˉ\$H)褰Xt$PT$LL$Hp t$dPH0D$dGE;|$Xr;l$Th\$d9W9 lYBtYB,C9D|狄$P\$89 ZB$ZB4E9|苼$PD$8pNO99D9DtCE999tu@PB 'UWVSĀ$$ 0PB-PBPB$T$$L$x$l$p$\$t)$T$l$$)Ë= PB)\$h)ʉT$D$T$dT$\)T$O$t$`t$Xt$T$D$PT$xD$ND$l9D$IL$t$lL$h9L$\!D$\\$\T\$\;\$ tL9|Q$);$};$}D$p4D$t94$)Ń~D$N|$Ot%9\$X;\$Tt$x91;\$sL$l9L$XL$X\$xD$Xlt$h9t$TD$TT$x\$TL\$T;\$X D$xlL9|Qщ);$~,;$~#D$plD$t9l-')փ~D$N|$Ol$xTu9\$;\$\ ;;\$Xs|$t D$P|$P|$N= XBD$H\$\;\$L$dڋ$)ʋ Ή))ʼnt$DЍt-)օIT$PЍ@9~\;t$H~V$9H;$}?$;T$D/$9l$D}"D$@l$pT$DDl$t9D;\$YL$HcD$H\$T;\$XD$xڋl$` )ꋬ$Ή)މt$<)ͅҍ4jl$P@9~\;t$H~V9$}M$9?l$<9$}2$9T$<"D$8l$pT$L[^_]ËD$`.~&'Ʌ1A19}O&'2<1B9|119}%t& 2~<t<tku_1B9|119t7o'~ < Q <tu 1BI9|8Eu- EuE9t9[R)K@Du D$09D$0vUWVS$T$8D$ D$ TT$L$ l$8\$ ;1ۋ 1ɉD$D$ T|T$9}>uA|=uC;\$}<3;\$1ڍ'C<3u'<9tA)Ѕ҉D$tl$D9D|9t~$;\$tD$,D$9,t2)9l$u9$qJK23I<9u2B3C<3t&C<3u'A<9t$l$9,${JK23|2t J|2u&I<9u(l$D9DtD$ D$ l$|$ T$[^_]Ð*************** *** %ld **** !--- ---- +%ld,%ld-vUWVS t @'<0 u\$ D$D$4$.sNs  l$|$,l$4;|$0T$t t$;~ }a1ҋK=XBIKJ x53$ DYBEGT$耕;|$0~;l$8~<[^_]É\$$ËT$rNtVKIɉK-=XBtKIɉK $DYBN GL$uL$qNt[&'SJ҉Sxe +=XBtSJ҉Sx6  $ YBNET$蘔uT$2t$\$$ 뿉\$$+됉\$$ .\$$-;l$8Z\$$ e(\$$ PT$ 0ZB)D$S,@@D$ $bBT$ 0ZB)D$S,@@D$ $bB\$, DYB\$ $QUWVS\$4-PPB|$0PPBK9>4DxVD$D$D$ D$t$$0WB y K9~‹`PB1t[^_]É`PB---%s %s +++%ld.%.9d%s %s %s ***WVSPt$`|$dVBD$ 0ZBD$4@D$4@$bBVBt*D$ D$5@D$4@50ZB4$bBP[^_Í $sLt}t$WB|$ D$D$ T$D$+<$ uKHt$ D$ 5@L$<$bB|$sD$5@t$ D$5@0ZB$bBg|$ 믍VH$^Lt}\$ WB|$ D$D$ L$D$+<$ uVH\$ D$ 5@T$<$bB|$0ZB~D$4@D$5@|$ $bB|$ 믐t&VBD$ 0ZBD$5@D$4@$bBVBtD$ D$4@`$sLtft$ WB|$ D$D$ L$D$+<$ uSHt$ D$ 5@T$<$bB|${D$4@|$ y|$ ƍ~H<$^Lt}\$WB|$ D$D$ T$D$+<$ uNH\$ D$ 5@L$<$bB|$0ZB~D$5@D$5@|$ $bB|$ 믍v'UWVS,T$D=WBT$uWBt$@tGl$ |$'T$(L$$4$T$L$ l$|$؆Fۉuʋ5\YB`PBހ|$5PPBt$D$0@D$ 9@|$@<$螎,[^_]D$`,@ڋD$@tt&@u뚍t&UWVS WBT$ L$<$?L$~D$Z J'zދBƀL$utBzt<,$tJ B)Ή+D$9u9| [^_]Ðt&l$E0123456789abBcC:dD:eEfF:hHiI:lL:nNpPqrsS:tTuU:vwW:x:X:y&--unchanged-group-format--old-group-format--new-group-format--changed-group-format--unchanged-line-format--old-line-format--new-line-formatbinarybriefchanged-group-formatcontextedexcludeexclude-fromexpand-tabsforward-edfrom-filehelphorizon-linesifdefignore-all-spaceignore-blank-linesignore-caseignore-file-name-caseignore-matching-linesignore-space-changeignore-tab-expansioninhibit-hunk-mergeinitial-tablabelleft-columnline-formatminimalnew-filenew-group-formatnew-line-formatno-ignore-file-name-casenormalold-group-formatold-line-formatpaginatercsrecursivereport-identical-filessdiff-merge-assistshow-c-functionshow-function-lineside-by-sidespeed-large-filesstarting-filestrip-trailing-crsuppress-common-linestabsizetextto-fileunchanged-group-formatunchanged-line-formatunidirectional-new-fileunifiedversionwidth:@:@q:@:@C;@e;@x ;@X;@t&;@f1;@;;@@;@N;@DT;@we;@Bx;@i;@;@I;@b;@E;@;@T;@L;@ <@<@d<@N'<@8<@H<@a<@h<@y<@<@l<@n<@r<@s<@<@p<@F<@y<@H =@S=@,=@B=@J=@aO=@W=@n=@=@P=@U=@v=@W%%=%c#ifndef %s %%<#endif /* ! %s */ %c#ifdef %s %%>#endif /* %s */ %c#ifndef %s %%<#else /* %s */ %%>#endif /* %s */ &c:/progra~1/DiffUtils/share/localediffutils-Dtoo many file label options-Sinvalid context length `%s'conflicting width optionsinvalid width `%s'&pagination not supported on this host^[[:alpha:]$_]Len TowerRichard StallmanDavid HayesMike HaertelPaul Eggert2.8.7GNU diffutilsdiff--from-fileinvalid horizon length `%s'--line-formatconflicting tabsize optionsinvalid tabsize `%s'--to-file%Y-%m-%d %H:%M:%S.%N %z'--from-file and --to-file both specifiedmissing operand after `%s'extra operand `%s'%l %<%>%=`-%ld' option is obsolete; use `-%c %ld'`-%ld' option is obsolete; omit it%a %b %e %T %Y&'U1WVSE] E0@B EE VBEEED$A@$D$A@$A@bB$A@cB$($ 0WBPBWBPBx!@ZBvD$uU D$ =@4$D$9@T$i $E@H@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@(M@H@H@H@H@H@H@H@H@H@H@(M@(M@(M@(M@(M@(M@(M@(M@:H@I@CH@H@I@(M@2I@>I@(M@(M@QI@(M@I@(M@I@(M@(M@I@I@I@(M@J@K@(M@(M@(M@(M@(M@(M@(M@(M@WK@cK@K@K@K@K@(M@H@K@(M@(M@K@(M@L@(M@!L@2L@>L@JL@VL@bL@nL@L@L@M@(M@(M@(M@(M@(M@(M@PWB1ɋE̋}11 .PWBu]ȉPWB$4C@$PC@aD$eC@=ZBE|$E$v ZBݐ:@XBT$L$$=ZB:@WBL$덋pXBu'}$jE܅cpXB0oC@WBu܅xMI=pXB= ƒWB;E|9E}IU܉WB=PWBu PWBMԅuEԂ=PZB5PWBE]1]M] $\$D$T$ >EMEU]EElj׋U֋E+M}U]9| 9vȉڅkXBUuUWBWB9XB}XB$PB*$PBpXB5 XB@XB1ɀ=PBt=XBt1Ҁ=WBu =WBtXBPB 1҅u =0XBt Ћ=P@BЅȋE WBO19En$1zE95Uu҉5`ZBtl]uVP@B;E|&rqU$u u,D$A@WB=WB$|$iuWBpXB뙡WB[1$D@bBD$1ɋ]܃=pXB$\$\$ D$IUL$JFmt&g$PD@bBD$u$t$ D$ F/&$ sD@ WB=WB$|5ZB4$-m%s: %sUWVSL$4|$0 $YWʼnD$T$T$4$t0D$\$4D$SU@D$\$ $DE[^_]Ë7_D$L$эSO OG9w2u' 9‰vW4$T$wƀ|$t 3\C3|C<3t$4UT$t$<$Ypt&t$t$ \$u \$t$Ë^$Pv~ Ct܋^\$NL$$tD$D$SU@D$T$ $5D똍vTry `%s --help' for more information.v'D$ t)$bBD$L$$$L$ D$C$V@bBD$ VB$L$ D$Cwrite failedstandard outputt&' 4dB @ u$u $hW@k$uW@bB$jCompare files line by line.-i --ignore-case Ignore case differences in file contents.v--ignore-file-name-case Ignore case when comparing file names.--no-ignore-file-name-case Consider case when comparing file names.-E --ignore-tab-expansion Ignore changes due to tab expansion.-b --ignore-space-change Ignore changes in the amount of white space.-w --ignore-all-space Ignore all white space.-B --ignore-blank-lines Ignore changes whose lines are all blank.-I RE --ignore-matching-lines=RE Ignore changes whose lines all match RE.--strip-trailing-cr Strip trailing carriage return on input.--binary Read and write data in binary mode.-a --text Treat all files as text.-c -C NUM --context[=NUM] Output NUM (default 3) lines of copied context. -u -U NUM --unified[=NUM] Output NUM (default 3) lines of unified context. --label LABEL Use LABEL instead of file name. -p --show-c-function Show which C function each change is in. -F RE --show-function-line=RE Show the most recent line matching RE.'-q --brief Output only whether files differ.-e --ed Output an ed script.--normal Output a normal diff.-n --rcs Output an RCS format diff.-y --side-by-side Output in two columns. -W NUM --width=NUM Output at most NUM (default 130) print columns. --left-column Output only the left column of common lines. --suppress-common-lines Do not output common lines.-D NAME --ifdef=NAME Output merged file to show `#ifdef NAME' diffs.--GTYPE-group-format=GFMT Similar, but format GTYPE input groups with GFMT.--line-format=LFMT Similar, but format all input lines with LFMT.--LTYPE-line-format=LFMT Similar, but format LTYPE input lines with LFMT. LTYPE is `old', `new', or `unchanged'. GTYPE is LTYPE or `changed'. GFMT may contain: %< lines from FILE1 %> lines from FILE2 %= lines common to FILE1 and FILE2 %[-][WIDTH][.[PREC]]{doxX}LETTER printf-style spec for LETTER LETTERs are as follows for new group, lower case for old group: F first line number L last line number N number of lines = L-F+1 E F-1 M L+1 LFMT may contain: %L contents of line %l contents of line, excluding any trailing newline %[-][WIDTH][.[PREC]]{doxX}n printf-style spec for input line number Either GFMT or LFMT may contain: %% % %c'C' the single character C %c'\OOO' the character with octal code OOO-l --paginate Pass the output through `pr' to paginate it.v-t --expand-tabs Expand tabs to spaces in output.-T --initial-tab Make tabs line up by prepending a tab.--tabsize=NUM Tab stops are every NUM (default 8) print columns.-r --recursive Recursively compare any subdirectories found.-N --new-file Treat absent files as empty.--unidirectional-new-file Treat absent first files as empty.-s --report-identical-files Report when two files are the same.-x PAT --exclude=PAT Exclude files that match PAT.t&'-X FILE --exclude-from=FILE Exclude files that match any pattern in FILE.-S FILE --starting-file=FILE Start with FILE when comparing directories.--from-file=FILE1 Compare FILE1 to all operands. FILE1 can be a directory.--to-file=FILE2 Compare all operands to FILE2. FILE2 can be a directory.--horizon-lines=NUM Keep NUM lines of the common prefix and suffix.-d --minimal Try hard to find a smaller set of changes.--speed-large-files Assume large files and many scattered small changes.-v --version Output version info.--help Output this help.FILES are `FILE1 FILE2' or `DIR1 DIR2' or `DIR FILE...' or `FILE... DIR'.If --from-file or --to-file is given, there are no restrictions on FILES.If a FILE is `-', read standard input.Exit status is 0 if inputs are the same, 1 if different, 2 if trouble.Report bugs to .W@A@W@0X@pX@X@0Y@Y@Y@0Z@Z@Z@[@A@P[@\@\@]@0]@p]@p^@^@0_@_@_@P`@a@b@A@c@Pc@c@c@A@0d@pd@d@d@Pe@e@e@Pf@f@A@g@pg@g@A@h@4h@A@Ph@h@i@Pi@A@i@Usage: %s [OPTION]... FILES %.*s %s &'Wi@VS$j@bB VB$L$bBi@t:8uK4dBJ$IJ$x4dBC C u҃[^_$ 54dB t$貾Չ$bBƐt&D$ 4$0tt$)$j@AsL$bBˉt$1< t <-tj@$bBcconflicting %s option value `%s' t$t$ \$\$$u\$t$É\$$-t$0l@bB\$L$(D$$L$ D$8.D$$$conflicting output style options T$pXB9t u pXB D$$l@-Files %s and %s are identical Common subdirectories: %s and %s -D option not supported with directoriesFile %s is a %s while file %s is a %s Only in %s: %s Files %s and %s differ cannot compare `-' to a directory&'UWVS$D$D$ V 1X|$P1󫃼$$1ɉ$T$P$$  $ $$D$r4$[D$T$\$D$@$ZD$<$D$$t$P1L$P$t$4L$0L$,|$(T$$|P T$$Rm@\T \$$1|$4DP|$D$$<: D$,X$\$0H\$=Jv'D$$ED$(D$,D$0D$4*PB1퍜$PB$D$:T$9|$:uu-|$9t&X&E~$$°My䍴$+x*$PD$DưMyЋl$D$\$Dl$PD$;t[$tQT$dt$`$$11 u1T$lt$h$$11 u$9\$X|$;t =@XButt$X$@@!Ш=pXB$t =pPBD$n@D$P$D$D|$D=PBtGt$X@t5VBu$D$VBuD$TD$$pm@$Qt&T$@t l$@,$,\$$(9L$x-$$$8$<11 $H9$$P9$D$;$]AL$X$@Á@‰ك8 )ύ,Qt,T,_|,P_4$D$$RGRm@D$@t5D$@t,Xt$$5|$@<$[JD$D$pn@N񍺘1 $;ׁnb D$L$H $5u%T$H\$$t$Li$諱vD$ D$D$$x)t$(@N^ )Ӆx N^ 11@8L$()#8L$$)T P$D$$|X|$40L$()t&\$TD$$\$|T<$L$Pt$$|$(L4Pht$XiD$@$D$<$l$Tr$$=PB$1t)$\T$$7n@\$Iڸ΀=PBtH$uW@bB$G%s: recursive directory loopvcannot compare file names `%s' and `%s'&UWVS\D$pD$,8tD$$htjT$ptD$$GtIL$pt$p9KLD$z@D$L$ $w\[^_]1ۍ|$0|$l$p݉,$]l ðNyڋ|$,t7\$0CuCu NyD$,뜉$&$QBt$4\$@$QBt$ \$$tQB1\$0D$ @D$+ l$T F$7~Ջ pWB\$p`t&'l$ UtE=QBL$ 5pWB91=WBt$<$syt$ t$ 벉t$$tD=QBl$$5pWB}=WBlt$<$#y |$$|$$벋|$ .t&L$ )|$$=QBt$ \$$>3=WB}t$<$貭1Ʌx |$$|$$L$1Ʌ~CL$D$p$T$t\$,9}D$,L$ 1j|$$/\&T$ T$ 뮉t$<$赬~[=WBt$t$<$9(Ft$<$ܬں0&t$$Rt$<$7ݫ=WBt$t$<$肥軫Wt$<$^ډt$<$膫=WBt t$<$+du2t$<$ ދD$pL $CD$,w$z@bBt$|$ l$$L$D$$QB薫UWVSL$(T$,`ti4,rT)ZT$ J $L$'t/D$N ^1ȋ $1 uN^t$ VF11Ⱥ t `u1҃[^_]É,T$0\$ t$$|$(:T$4=QB2u<=WBt#t$<$\$ t$$|$(,Í&t$<$Dۉ=WBtt$<$萣ɩu먉t$<$s$z@bB蜩t$|$ \$$L$D$$QBv'U1WVSD$0D$L$48AAH $4D$T$1ND$$ZKt$4ʼnFt$4$Y.p 9! t€u҃)AL$ >.t{t$@ZB$xuT$L$ <'9s%?,$ۉ\$KŋD$4h׉t$D$ ( $D$ D$LD$|$F<.q~b8t$ܧ\$($2ɧ(1[^_]ËT$$2|$wRD$1ۍ44$IL$Ƌ|$49ˉGrl$먉,C,$;\$l(rH%c . .. . s/.// a v'S(T$$T$\$ T$T$L$T$0\$ L$$<u ([Ðt&3D$XBT$L$$,T$ L$wE|@D$0@ 0ZBT$ $bBKt\$ ;\$$0&YB8.t6$4@ L$CC;\$$~D$5@0ZB$bBRx uD$8@ 0ZB $bBa%ld %ld d'G%tHt]K]x!uE:D$+tuσL[^_]Él$$Iٍ&Gƒ%$,@ȇ@@@@@@@@@@@@@@@@@@@@@@@؉@@@1JЃ ơL$,L$D$ <$T4D0蛡|$,G:@C~\$4L$0D$8T$<11 u_1ۉ|$t$lD$:$t$ ]D$)T$lOL$$T$ 1yGp1럲%GT$D$l$D0!ЉT4@tG>D$ D$lWD$T$D$,$D 렋\$lXB\$D$,$?t$lXBt$L$lXB L$Ή' L$D$P w<$<@d@@p@p@p@p@p@@@!@ et&e w]$@@@Պ@Պ@Պ@Պ@Պ@@@@AD$$>H ÉAD$T$ =ލt&AƋAٍAQ) fi l\ mO nBUWVS,\$Ht$@SkHtD$(T$ L$$t_=PZBu D$D8%;l$ }CL$DAL$|$D\$t#<%t7~O~xCuE;l$ |ǃ,[^_]Ét$$胞ېCLtzL7%tD$T$(Kl$ L$T$4$ u%넃luD$ T$$D$Dx tD$L$$$e1ZHD$ |$$D$TT$ω@\$@>D$D> +|$d$t$$|$4$|$O3D$$뜋|$`pXB=0XBwL$@L$DD$DD$D$L$D1AL$D þ tV Ht<G,$WÐt&T$HNL$Hut$DFt$D uBtOЃ u1Nj5PWB1ҳ )֍>9!몃L$DAL$D  dBӃ9t.D$$ޏuӉ$诏l$HD$H믋=HdB7VыD$D@D$D 5dBӃ>D$$xtED$D@D$D Z dBӃ9t?D$$AuɋT$H T$H,$\$H؉D$Hc=HdB7V-HdB}Wt(Ht.&D$D@D$D |$Ht$Hًl$D1]El$D =PWBù tG 9t-FvT$HIl$HuL$DAL$D uBtNЃ u1lj1҉ )э19!뮃ET$DBT$D  dBӃ9t&D$$u\$H݉l$H뷋=HdB7VًD$D@D$D  dBӃ9D$$脍tFD$D@D$D f-dBӃ}t7D$$LuȋT$H T$H\$H߉|$Hj5HdBQȋ=HdB7V|-t&'UWVSLT$`$D$`ppXh|  L$`FƁt!1|=XB6\$`spT$`92ׁǰ<$iwp_h|  FƇ|1l=XBwp\$`D$`{hPp|$ T$D$`l$  9|$Ht$<t$<9t$D$HL$\$ ҈M]W11 u8U5 pXBi\$`T$l$ Չ)9D$H‹\$<؉D$(\$`X\$()91ШtNO;t$ XBT$$t~ NO;t$ t ~ uJuT$`Y8|$(D$`X8=@XBT$`@u @WBg WBˉL$OD$9C1)ȹ s=8v8)1҉D$,s=8v8D$4t$P9t$4 d$49\$4~L$4؋l$,9~L$8D$@D$4T$8HD$0$?+=@XBD$Dt$ zD$`9T9l$ ;&'\$@L$0D$@!;\$8D$D4F u9uӋl$`8\$4 WB\$@͉L$9|l$@D$ L$ )ˉ)|$@ ~T$@JT$1t$D$1t$s8v8L$(Xt$ ))|$@ ~ |$@1OƉ1s8v8PD$ +9~Ѝ9|v) $);l$@t?19}Zt$@=WB)|$02!|$DB9|19}04|$D4B9|19}t$D|$Ht$ )B9|)l$8|$Dt$`)lj~t<D$84\$@$(Vx<L[^_]Ë-WBl$\|$8d$8T$DL$8$L$)D$DT$`889T$`D$4D$s=8v8D$8T$`󋊈T$<9T$rD$)9t 8tR19t$ t:~ t4D$$Tt9tF< uJt9u)9|$Htˀ uNOJgvT$ \$,T$H\$<ډT$('GF8tD$ T$--- < VS$T$T$t$ T$0t$L$\$\$ L$$u $[^Ív D$XBT$\$$,T$ \$7 |@D$s@0ZBL$$bBD$YBL$\$ $,L$\$ D$v@0ZB$bBt\$;\$~h&t@I\$;\$ ;t&$x@ YB4t$CV;\$ ~D$z@0ZB$bB막$@DYB L$C;\$~{c%ld,%ld i%ld,%ld UWVS,T$T$L$ T$@L$t$(\$$t$\$ $-3=XBD$$|$QB5QBD$9=PXBV=`WBuP9;t$tBD$ YBT$ DYBFC$9;t$uʍv'9t<D$DYBD$(4C4$9uڍv'=PXB=QB|$=QB#tt$$;t$(~[5QBt\$;\$ ~QB',[^_]D$-DYBD$<tC4$;\$ ~D$>=YB$F\$;t$(~x\$D$ t$$9jT$(9~(99\$QBt$$5QB&D$| YB=DYB,FT$C,$hD$ 9 T$(9~랋T$(D$@t$ L$D$(T$$0ZB))Ft$@D$ $bB;t$<D$) YB$FT$;t$uD$ @D$0ZB)ىL$)D$ $bB|9g&UWVSt D$ @\YBD$p@ډQBQBT$0$$=XB=PYB-ZBQB5QB9=PXB=`WBuA99t5t&D$ YBT$ DYBFC$9tX9u9t<D$DYBD$(4C4$9uڍv'=QB-QB[^_]9t&D$) YB$FT$N9uuD$ @))L$ 0ZBD$ $bB9|UWVS, 0ZB\$DD$T$@D$t$HL$ XB WBt$$҈\$+D$L$t)z D$l$$l$D$|$+ L$T$t$0ZBl=PZB PWBL$ uG1҉)9w7&sNs  T$ <:9vݍ'F9s&{O{x  \$$ uzE|$+|l$tT$+L$ qNqG9T$$T$l$$]{ D$D$$0> =PZBt$0ZB-PWBuD1҉);|$w2KIɉK |=;|$vލ&'F;L$s'{O{x +E \$$ yЋD$t$\$$D$t$$|$tL$ QJQx9 ,[^_]D$@ l$ l$D,[^_]#y\$$ yDD$$L$ L$xD$$h} :\$t|$D$+/dD$+\Z\$$ xD$e&'UW1V1ST$0-0ZBJ\$9ˉL$L$AL$Ã$@@@x@@@@̳@@@@@@@@@@@@@@@@@@@ִ@1҉5PWBPWB)ЉD$9t'T$։'D$9D$B[^_]=PZBD$ t?9D$8s!D$89ljD$ s]Kۉ]xU EG;|$ l$$ LwL$89L$ sӋ|$ ]Kۉ]x MEbl$$wQXN;t$8M9w9C]Kۉ]xU EG9r%l$$ vvӋ]K]x MEl$$v;t$8ƋuNu}E1PWB0ZB=PZBD$uP1҉|$t$);|$4w<KIɉKx] L$<9;|$4v F;L$4s&{O{x  \$$ u11\$$ u똉l$$u;t& dBӃ9t*D$W$vF;T$8HdBQ%WԐ/usr/bin/prvUWVSl$= WB$$\$@$$D$HT$DD$LD$P1ۍv'L@ $Du@ƉD C~4$1-Ǎp&L@T 4$L$T$tl C~܋@B=@B;l[^_]ø @v @^=PXBt 4dBq$Nq$xA54dBF F $bBl$$|$ $l$$|$bB$ 4dB T$sdiff%s %s %s%s %s -f -h w%swrite failed'l0ZB\$\t$`|$dl$ht\$\t$`|$dl$hlË QB $sRBlj$s-`ZBlj,$st84$$RBD$z@ QB`ZB\$L$ T$bB= WBui-4dB =RB-0ZBu>4$rpXBt"ED$$XB},D$t$$@bB믋4dB $r t$$芵$$ǍoD$@D$@bBt$,$U(LrD$@<$l0ZBt <$qr5QB\$(tl.N1ۉL$0T0$TrL0@D4C~T$0$bBL$@\$V1ۉT$0L0 $qT0@D4C~T$0$bBL$@\$|$ 3GT$dBÍvHdB2NɡHdB0N덋dB˃:D$ $MpdBtG tB&']E:}D$ $pdBW ũ:L$0D$ $otB|$ t;vGdB8ʈT$D$ $o|$ u:\$|$ t_ |$ L$4A9W5dB>tD$$GoO5HdBQ tL$0A9sMdB8tD$ $nmM>HdB2ND$ O:HdB2N5HdBJM HdB0NHdB0N5  |$ L$5PWBt& tk uD$1҉)\$]Eߋ5PWB'|$ t1|$ u1)GT$9L$}Aߐt&D$뤀|$ \kv'UWVS,L$H=PZB\$DT$@L$$L$L\$(L$ r1 PWB;T$(50ZBL$saGà  te dBӃ9tED$W$4mtEӋ^K^x;|$(r,[^_]Ét$$kHdBQ%W빅t΋^MK^x빉t$$à nnMnx: D$$t$;|$(s? t4$L$ T$$L$T$bB1`t$$ Kk뻉1ҋ\$t$)݉'VJ҉Vx Kut$$ k)T$(50ZBD$DT$(t$LT$H,[^_]jdacU1WVSLL$`WBu WBtD$7K\$0D$/t=0XBvD$/D$8i |$dD$<DYBYB/t$lAT$(\$$L$HT$Hz jl$V1ۉT$ t&T $hL @D$C~T$ $bBL$0\$,L$L$(\$ \$$L$$\$bB4$guD$@t$`l$$t$ fv'WVS@5QBtq>V1ۉT$ t&L $dgT @D$C~T$ $bBL$0\$,L$L$(\$ \$$L$$\$bB4$cfut$P4$bBD$@D$$D$ f'T$$D$L$(D$ T$T$ L$$Í'WVS@5QBtq>V1ۉT$ t&T $dfL @D$C~T$ $bBL$0\$,L$L$(\$ \$$L$$\$bB4$ceu@[^_Ð&T$1L$0ZBQBT$ RBRBÍv'subsidiary program `%s' could not be invokedsubsidiary program `%s' not foundsubsidiary program `%s' failedsubsidiary program `%s' failed (exit status %d)L0ZB\$@t$D҉|$H 4dB 91B $.^urtQ~@t@@t@t@$bB\$D$ @t$D$$\$@1t$D0ZB|$HLûc0uo5QBty>V1ۉT$ 'T $cL @D$C~T$ $bBL$0\$,L$L$(\$ \$$L$$\$bB4$bu$@bBD$@D$$D$ b'D$Ít&'D$Ít&'UWVS |$ l$(t+'<$T$$84$Չ;u [^_]%s No newline at end of file \ %s %s ,T$4\$\$0t$ 1ۉ|$$l$(*z0ZBT$t,;t'=XB@\$L$t$ $bB\$ t$|$,$@t;t7 t1$@bBD$@\$D$$bBt&'\$t$ |$$l$(,þ@yT$T$@Í&'D$T$D$JTD$ TL$%ld%c%ld%ldt&'D$$\$L$(\$ D$,IL @9~.D$ӉT$ 0ZBL$D$@$bB\$ÉD$ 0ZBD$!@ $bB%s%s%st&,l$(l$0|$$|$4t$ t$8\$,$`<$`4$`T$$Ét$|$ l$D$@bB؋t$ \$|$$l$(,Ít&\$\$ t$$$Ɖ\$D$#a\$t$/vUWVS1ۋ|$0l$4<$8u`<$ہk@-`$#`,$`T0$ $Ɖl$\$ |$D$@bB[^_]Ít&$_|0/u돐%3ld %3ld delete %ld insert %ld VS$4dBt$0 $^t>V^ NFT$4dBD$L$ @\$D$ @$bB6uċ 4dB@L$0$[^^memory exhausted%s RBu4$@bBD$@0@BD$D$ $]ȍ1Ҹ\$L$ \$$9rˉ $9_t\$á RBu4$@bBD$@0@BD$D$ $EP]ȍT$ $^tá RBu4$@bBD$@0@BD$D$ $\Ȑ&1Ҹt$L$$t$(\$\$ 9r$ΉL$=^t \$t$á RBu4$@bBD$@0@BD$D$ $U`\ȍL$ T$$ $T$]tÐ RBu4$@bBD$@ 0@BD$D$ $[ t&' T$D$T$T$$ Í'\$\$ $-]t\$D$$\\$á RBu4$@bBD$@0@BD$D$ $%0[ȍ1ҋL$$\$\$ 9rL$$x\t\$á RBu4$@bBD$@0@BD$D$ $Zȍt&'\$\$$$-\t\$L$ $L$[\$á RBu4$@bBD$@0@BD$D$ $%0Zȍt$t$ |$|$$\$\$(tu1Ҹ9r'ɉˉ4$L$o[t\$t$|$á RBu4$@bBD$@0@BD$D$ $Yȅu1Ҹ@uUWVS \$$D$(l$ lj')yt$\$,$S~9rۋL$$)ȃ [^_]ÅtrY8thY8tԸمyǍ $\$t$t$ۉ|$u&u t&'$t$|$ Ðt1҉҉t1҉҉u1҉;L$w 1҉9tډ뫐T$ L$D$QQÐ&ST$\$L$ D$QYQY[É'WVST$\$|$t$J9tJI9ut$|$\$[^_qUWVST$$\$l$|$J9ڋt$ t JI9ut$ |$l$\$[^_]LST$ 1ۋL$;T$vz\t81(t#|t[Ðt&futꐸ uuҳčv' T$t$t$\$F\D$;D$!1 t8)tft>|t \$t$ ø|$tt9|ۀ|$tƅt€9)뻐&UWVSL$t$\$ ;T$z91D$$I :4,9wm t|$(Džtt$(0t B%)Ȉ19v[^_]*끸 @+@-@]@X@e@@@@@M@@@@@@@@@@@@@9@v@@@@@@@&UWVS$D$h$$D$\{MD$XCSL$p@T$dL$lD$`D$@D$4D$0$fV$…Ҹ_$1$$Z$D$,D$8D$<D$HD$LD$PD$TD$(D$D$x$$9$$<$Tt$Tt l$T,$T\$Pt D$P$SL$Lt T$L$St$Ht |$H<$Sl$Ft$pP@$$9l$x$$9|$xT$xJ;$}$N9td\$xC@RB$9D$xt9$I9L$xtt$x@RB841$E܋$Ћ$E뗋$닋$9\$x/$]$9L$x$T$xJ;$$K9L$xA@RB$9D$xt7$9T$x$M9l$xt$x@RBEL$l@9L$pW|$pG|$pP@$9l$x $9D$x$N9t$xT$x@RB$tq$9l$x$T$xJ;$t7$I9t|$xG@RBvt&$B݋$ы$9D$x덋$AZ$Kl$t9l$x}$9t$xtd$O9|$xtIl$xE@RBD$0u#D$0D$\\$X9wt$D @;D$XvD$xv$B벋$릋D$|9D$tD$t$9É\$xt]D$t9D$x$9T$xtv$M9l$xt[t$x@RB?D$0u#D$0D$\L$X9w|$D @;D$XvD$xT$l@9T$p$C럋$듋\$|9\$t\$t$9ىL$xtKt$pN<$@Vt$pшM$OT$l9{t$p~nu D$p4M^N\$pK4||$pL$pYi݅~MQL$pl$pEET$pJ*ӉT$p;T$l$s/:uB$Í@;\$lsxt;\$ls ;r|$\\$X$$)ʍ<)D;9s^Nj @Bҍ4Z9$\$4$D$$$҉$)9rL$\D$X9$D$T<uՋ|$p;t$l$<+$Et< <l$pt$p~t F 3$$G$O,$<9rU$H$\$($$t$,j$l$,Dj$I9sD$0$߀{G<tW<5F1؈D$9}O9}D:D2u B9}9|l$9t _9T$pB^19}&T1tG9}D9ЅuA9|9L$pAVK9~D3*|$pGb $ހ{tMVӀ?~1ۀ9sD2tم 8Ktt$pFN댋T$p|$\\$XJ$)*<D;T$p͋$)9s^Nj @B4ҍr9$4t$$=$$$҉$)9rL$\D$X9$D$T<T$pL$d*BɉT$pD$t9D$xtaT$xL$p\$d:BAL$pT$x8~Mu΋l$0mD$0D$\t$X9U\$D @;D$XvAD$|9D$t4D$t$9Ɖt$xtyt$t9t$xt(T$p|$x BT$pG|$x8MuoT$|9T$tT$t$9ЉD$xty$C`$Q$F$E$9T$x$CO$@$B$$9D$x$$$l$|)ω|$xl$t$$$)މ$l$`,$1D$T,$y1D$P,$m1D$L,$a1D$H,$U1D$<,$I1D$8,$=1D$D,$11D$,,$%1D$(|$Tt@\$Pt8T$Lt0L$Ht(|$Dt l$xI19sCL$d\$ht&'$׋DB9r $%|[^_]ÉL$dl$`44$g'D$dɸt΍D$h%pZBL$ pZBS\$T$L$ tB$ BT$QT$Q[ÉbAA⍶,T$DD$L$8D$T$T$@L$ L$T$T$1$ @ |$,|$x$;$GG$$҈$t$9$$ rd$AA A A A A A A A A A A A A A A A A A A A A A A A A AA A A AAAAA A AA A A A A A A A A A A A A A A A AA A A A A A A A A A A A A A A A A A A A A A A A A A A A A)A Ad A A A A A A A A A A A A A A A A A A A A A A A A A A A A A9A9A$ $F9t$ H$ l$,8P)E9$ ZvB$ u <$t$ $ tA9tL$t)D$,D$xtD$t\$|tD$|$[$Ol [^_]Ë|$, G|$,$;$\$tt%$l$,T$tt$t)Ճl$t$ $X $ $ l$,Q)݉E9X$ ,nvF$ p<$t$$ 9t0|$t)D$,tD$t\$|tD$|$t$$ l$,P)݉E9VT$,BT$,$P ,$1$ $ )\$,|$,~$P <$XiT$$ $ D$,$$t$ڍl;l$,|$,$ L$,|$|}U)94$ rvB$ h<$l$ $ 9t4)؋\$tD$,D$xtD$tL$|tD$|$t$$ $ t$,:U)9ID$,@$ @D$,H9$QD$,)@94$ rvB$ j<$l$ +$ 9t4L$t)D$,D$xtD$t\$|tD$|$t$$ $ D$,:U)F$|$,$G|$,P$<*<^$ tG<\t?$ t$ t:{j&:\Uz{ߐG<+ՉT$tQ)95,$ jvB$ P<$T$h$ 9t0)؋\$tD$,tD$tL$|tD$|$t$$ $ t$,:P)9MD$,D$||$,|$x$;$t$ $ $ \$,9P)C9($ KvC$ k<$l$ [9t)|$tD$,D$xtD$tT$|tD$|$W$K\$, C\$,$$ $t$T$1'$ D$p$ @$X ;$T w$ <1,$P :)|$xt$x4+t$ttD$t)@D+4l$pL$,l3)сL3 $X q$ ,QtH9$  ^vF$ H<$L$$ E W9t0)|$tD$,tD$tt$|tD$|$t$$ T$,}M)9TL$,A\$pAAL$,$X D$,D$tD$|D$x1$$P <|$,$ $P Ѥ$T $X I$ ,t$t$ l$,8P)E95$ NvF$ u <$t$h$ 9t4)؋\$tD$,D$xtD$t|$|tD$|$t$$ $ L$,>P)A9KT$,|$tBT$,Ӌl$t$)\$l$ܻ$X u%$ $P  $H$P $ $X 4]<2l2߅|$x|$X N!|$t1$\l \$Ĺl$|tT$p(ڈ$ L$,8P)9~,$ jvB$ P<$T$$ 69t4)؋\$tD$,D$xtD$tL$|tD$|$t$$ $ l$,:P)9I\$,CT$LCL$p*L$L l$|UD$`1D$_$+D$_t$?D$_t$;$tpz$$$t$D5$$*t$ S$+m$?_$T$|$ $ t$,;U)9$ NvF$ p<$t$$ c9t4T$t)D$,D$xtD$tl$|tD$|$t$$ $ L$,>P)9I$$$oT$$p.9B$\$|L$,|$,)˃\$|$D$,$ D$,>V)9c$ ,nvF$ H<$L$$ 9t4|$t)D$,D$xtD$t\$|tD$|$t$$ $ D$,:UDT$`\$,D$||$|ރ\$ )ƃt$|$$_\$,1ɀ|$_$$ l$,9Q)9M$ ,nvF$ p<$t$$ 9t4|$t)D$,D$xtD$t\$|tD$|$t$$ $ l$,:P)9ID$|$,t$|$|$ t$J|$_;$$to/$T=$tP$N 9n$ @`$ l$|D$,T$,)Ńl$T$rD$`V 뛃.$W$\;$tIZj$$t$+t?u $$p$P $ u$ $P $ L$,8L$|͋P)E9$ ,nvF$ p<$t$%$ 9t4)؋\$tD$,D$xtD$tT$|tD$|$t$$ $ l$,>P)E9K|$,V$ {D$^$9$D$XT$ L$,}U)Y"9$ ZvB$ h<$l$  $ 9tL$t)D$,D$xtD$tt$|tD$|$T$H\$,q9։\$|- $ JvB$ h<$l$ ` $ 9t4|$t)D$,D$xtD$tt$|tD$|$t$$ $ l$,9P)E9K|$,$D$,:^(È$?^ $$ $ l$,>Q)E9",$ jvB$ P<$T$U $ 9t4L$t)D$,D$xtD$t\$|tD$|$t$$ $ l$,:P)E9K\$,1 C߉\$,{$;$z$$Ɉ$t$.$$ t$\$]$|$^$-?-/$ t$[}$ t$[$ t $[t=$D$^t$,$7$\$X?.u;$-G1;$$_G$$$t$L5$$.;$t@x2$È$;$ut&Ƅ$1<$.t=t$ˍxu$D$,H H@D$X.D$^$8]u$tuD;$ ˋt$,h$T5$\$X떋$P $R?]+$P ,$0?=;$G1;$$tG$$$t$L5$$=;$t?w0$È<0$;$uƄ$01ˈ 0$=t8t$ˍxu$|$,O O D$X=[$8]u$0t;$lʋt$,h$\5D$^?]D?:z;$G1;$$GG$$툌$t鋌$T $$:;$t.$ý4@$;$u1<@$:t8t$ˍxu$D$,H HD$X:$>]u A$@޹$@D$WA$@D$V$"fۉ\$P$;$H;$$1<$l$P4$l$tT$,ك$tk|$Vu|$Wt]-dB}tzD$<$oudB;tID$<$PtT$,ك\D$^G<-HdBMy뵋HdB2~녋$P $3?]];$z$GL$,$$ $|$$$L$T$\$ D$,$hD$X$P ݉4$t&?]$-!w;$ r [ o;$ r[tI?]t$,$$ |$$$t$D$XL$\$ T$$K^u$P ($$C9d|$,Wt|=u \$,ʈS|$,7;$ZJ$$t$ًl$,ك.z$ ZKQG$B$;$&X$'$Up$)Ak+A,+A=,A=+An/A=+A=+A=+A=+A=+As,As,As,As,As,As,As,As,As,A=+A=+A-A=+A.An/A=+A=+A/A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+AS0A=+A=+A=+A=+A=+A=+A=+A=+AF1A=+A2A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A=+A2A=+A=+A=+A3A9A$ $$$ 7$$ w$ l$,8P)E9,$ jvB$ s<$t$$ F9t)|$tD$,D$xtD$tL$|tD$|$W$K|$, $ $X j$ }$ @o$0;D$pD$ $P $T $X $|$t$;&$ l$,>l$|V)|$<93$ NvF$ h<$l$ f$ 9D$P)E9K|$,$ $ \$,8P)C94$ rvB$ ] <$\$$ k9tL$t)D$,D$xtD$t|$|tD$|$W$K|$, 2$ $ L$,8P)A94$ rvB$ Z<$\$$ 9tl$t)D$,D$xtD$t|$|tD$|$W$K|$,`$ $ L$,8L$|΋P)F9$ ,nvF$ p<$t$:$ 9t4)؋\$tD$,D$xtD$t|$|tD$|$t$$ $ l$,:P)E9K|$,k$ ED$H$;$D$DG$$툄$t$.$$0 w6|$H#$T$HJ!T$HD$H4\uЉ\$H;$u$,@\$H\$Dt$Hx%l$D9l$H$ $\t]$ t%$ $Ƅ${7$P <$$9$ٍk $;$tX$$$t$7$$}Ql$||$DD$D$ $ t$,:U)9Q$ NvF$ p<$t$$  9t4)؋\$tD$,D$xtD$tT$|tD$|$t$$ $ L$,>P)9I$ \$,l$||$|)\$ T$|$J\$,|$DD$@D$@ $ D$,9Q) 9,$ ,nvF$ p<$t$_$ 9t4T$t)D$,D$xtD$t\$|tD$|$t$$ $ t$@8D$,U)A|$,T$H|$|$DT$ \$|)؃D$t$|$t$O|$,l$H|$|$|l$ D$|$$#D$,|$D;$T$|t$,|$Dl$,)OT$l$|$ pl$L$||$ D$|$)ˉ\$D$跙l$,L$|)ȃ7$P p$ 5$ L$,L$|$;$G$$ۈ$t$.$$0 w6|$D#$T$DJ!T$DD$D4\uЉ\$D;$u|$D0D$D#$ f$ 66$ f$P $ $  $ }D$1D$$@RBQ5dB>t;D$$%tƃ@RBC~RB0RBj-HdB}_%UWVS<|$P\$dL$`Wt$hoT$8T$XʅۉT$49K;D$4~t$4)ދGt'~#< < &'G;\$4GN;\$XD$,t$0&;T$X|L$X))ʉT$,T$TڋL$8;t$,~.BL$8 <)uvN;t$,~BL$8<(t)t$0T$0Ӎ'x;\$4tv\$T$pL$l<$D$`T$T$\L$L$XD$D$TT$ L$D$躘x <[^_]Ãtt~NCFKt&tGu;t$,H B<):NL$\D$X) L$Xt;\$X|9T$X؋L$\)L$8tT$8(:ZT$T͉<$S'GۺUWVS\l$pD$ D$MEuȉD$<$ND$@D$DD$HD$D$4$UU;|$<<GC$=Av=A AAh>A~>A>A>AL?AL?AL>A=A=A=A=A@A@AT?AT?A@A@A@A=A?A@Ap@Ax@A@A=A=A=A=AMl$@,$1҃\[^_]O1D$ |$<*F 1ۍ3C~E @uF EtGxۉx8)t3Ky덍Cʍ3C~GPۉx!8)u3Ky)CڃTOʍ:;\$|$,$OL$phL$1҅ň t 8L/tЉ9ʼnD$st&D$8t'F;D$r|$ 81H[^_]Ð-dBЃ}}D$$t1&9t@S dB9t=D$$mtK\$<|$D$4\$$T$0~^ HdB)DU-HdBMQ끉4$40t$ \$ 4$tD$dA$ƅ>xD$t& $ g Í' \$\$$\$\$ t&'\$\$ K;Kt ȍACL$(\$$J\$D$ST$$fK'\$ \$(t$t$ |$|$$l$u=t\$ t$|$l$|$$\$ |$t$ l$t$4$t@D$|$4$0uT=1Ƀ/I!ʋ\$ Ћt$|$l$Ít&D$|$4$뾐Copyright (C) 2004 Free Software Foundation, Inc.%s (%s) %s Written by %s. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by %s and %s. Written by %s, %s, and %s. Written by %s, %s, %s, and %s. Written by %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, and %s. Written by %s, %s, %s, %s, %s, %s, %s, %s, %s, and others. %s %s 'UWVS1ۋ|$@T$8t$0L$4T$l$ t$@@B$5nMnx( t$4$hAbBD$0[^_]t$$ ͉t$$ н$HiAb$_iAV$iAJ$iA>$iA2$0jA&$pjA$jA$jAl$ L$D$,kA4$L$bBT$,L$0L$L$(T$ T$$L$T$T$ $Ð v ÐW1VSD$t$Ð у|$mAoAoAoAoAoAoAoAoAoAFpAFpAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAFpAFpAFpAFpAFpAFpAFpAFpAFpAFpAFpAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAFpAFpAoAFpAFpAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAFpAoAoAFpAoAFpAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAoAFpAt&[^_-ut 7GC1@-tOt7'Gt''tt 7G@ut7'G렅t7'D7\D7'9s@t-N-t@9s@t 7G=t9rb T$$11҅tD$T$$+‰Ѓ Ív T$$1҅tD$T$$‰Ѓ Ív T$\$\$$詻1t6 ؉ JKJKJ K JKJKJKJKJ K \$ Ív T$\$\$$1t6 ؉ JKJKJ K JKJKJKJKJ K \$ ÐPOSIXLY_CORRECTUWVS\$p$$tFt&D$<t* dBӃ9 D$$莹 \$;\$;Ã!;$ rAvLxAwAwAwAwAwAwAwAwAsALxAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwArALxAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAwAxA|A ;$xtL/tc.tL'T$(o\$;l$$x|$$|t$L$ T$$ 5 w;$xt ?.LF?*uDtt 1ۉ@)$xD$/<$$xl$N!ʉ<$$x1)T$I/L$D$4J[ /Fl$0u L$0$|\T$, t* dBӃ9D$$zN;|$4RdBʃ8tsD$ $6uO9tD$,G;|$4r|$T$0L$,4$T$$xL$ T$1Ʌuʉ $赵맡HdBHӉ$蓵>HdBQ!;$x[?/tG;$xH?/u;$x6?/-l$$x_\$l$ T$4$+1Ʌ@t+t !'>(uN$|;|$4\$$xD$ |$l$4$1ɅG1;|$4r$xL$4>(tB?tF?t*t v;$xP?/tGt; t4$9t뫋$|>(\$;l$$||$$xt$L$T$ $At{;$x\$;tVdBʃ8t6D$ $膳u94\ʉ $DHdBH;$x+\$;:D$< X>(OL$;l$$||$$xt$ $T$\$ SB;$x./D$(F>=~]t1@F=:tavމA~]u룍t&>usF&F<]Ӊ$,rHdBQUt&>:t$ 1ҐF:tـaw\@BՋt$ [~]uD@T$@$Тعf$褢\$ȉ $<=zt%dBʃ;t?D$ $buF:D$'&ʉ $ڡHdBKʉ $D$'HdBK<^|D$(Fn<$|$pqAPӍL SBuCFrt& dBӃ9D$$Vuo؈;$x.tNdBʃ8t.D$ $u 9ʉ $ڭHdBHӉ$踭놡HdBQmvӉ$蕭D$;*HdBQ 'VSt$t&Ct.[tF?t,*t'+t"@t!t&)uˍKZ[^É{(uK $뫋SBtKCЉD$ L$Lt$<$L$1Ʌ%F;t$Lw D$(e \$Tu믅u뉉~AD$D$A$PA肩<$L$T\$Pl$Lt$HL$\$ l$t$1ɅD$(|$$-D$TT$TuT$\$Pl$L$t$H\$ l$t$1ɅAT$(D$(u)D$8D$A$wAFD$7D$A$A*\$@T$?v T$$)׍W;B$1NjT$$D$$_F$T$)L$2L$ |$ 9t$$M~tL$@T$?v D$$)ÍS;B5$警ËL$$D$$L$)‰T$S$1|$ \$ '~~(E롐SBtMF(Zl$$|$x|$T$D$ t$$| % $;$xt f?.f?f*vfuKtt 1ۉ7)$xD$/<$Ѽ$x$xl$N!É<$$x1)‰L$J/T$謠D$8f[z Nf/l$4u T$4$|f\D$0ut;|$8guO9tD$0;|$8rB|$L$4D$04$$xL$D$ T$U1Ʌu $?뤉$2|h`*;$xf?/t;$xf?/u;$xf?/l$$x_\$l$ L$4$1Ʌ`f@tf+t f!f>(u$|;|$8$\$$xD$ |$l$4$?1Ʌ1;|$8r$xD$8t&f>(tJf?tf?tf*tg;$xf?/ttv t4$`9t뤋$|_f>(l$$|$x|$T$D$ t$$ t6;$xu9$;$xf9D$<x tf>(ul$$x$||$L$ T$t$$`ekSB;$xKf.tf/TD$,f!/SBT$('u f\f[f۹f-f;\$(trڃf-tf]u\$,?uf]tۃu f\)fFf;T$(wf9D$(v؃f۹u f\f[tf]uˋ\$,&f:tgf=t0f.uՃff.uf~]u뫃ff=f~]twt$ 1҃BZf:tKfv֋t$ f~]uf>u)vt&Vfhf]eYt&$(6f>:t$$1ҁf:t#Kfwf\T@Bҋt$$[t&f~]ufDT@\$@$ fmD$$胜!f:uf;\$($H߉$;ȉL$(f^D$,$|}$pqAˍT SB6ufwu/;$x]u 9_ $z$mĉ$`&VSt$t&ft;t$Lw D$(2D$(D$(t&',[^_]1L$Tu눋L$T9/t$H;t$L|$TtAv'D$TuD$T$PKt$D$H $T$ D$tzuɋD$Tu;t$HD$D$Pt 1f~/t@ЉD$ L$Lt$,$L$1҅$;t$Lw D$(b\$Tu뭅u놽~AD$D$A$PAq,$L$Tt$P|$L\$HL$t$ |$\$)1҅D$(l$$D$TT$TuT$t$P|$L$\$Ht$ |$\$1҅@T$(D$(u(D$8D$A$wAFD$7D$A$A*\$t$$T$?fv L$ )UҍDx^vY=?wR$T$ ŋD$ u)ӉىD$L$4$bfT$El$*|$ `VL$o|$>L$$T$?fv D$ )SҍDxv=?w$rËl$ D$ Sl$)Ɖ$L$近ft$\$'of(D$獴& SBt^f!tJ-SBx:f]t&v'f_f]u딃f]uf^u$pqA\6SB낐&<dBt$0t$H\$,|$4l$8:uJT$D$rt$|$Dt$ \$@ 8L$|$$‹\$,Ћt$0|$4l$8#~ %vw.19tAfu4$$[^1aĐ%bB%bB%bB%bB%cB%bB%cB: %sUnknown system error%s: VS4dBt$ \$$ $BZBЍT$,L$(T$4dBL$@$貑ZBuJ4dBJ@YKۉYx$J@ B@4dB@$ڎur[^ÉL$$ 谎Ӊ$vtD$4dBD$A@$E닸AD$A4dB VB@L$$14$謎%s:%d: %s:UWVSZBl$0|$4ҋ\$8t$:I!ىL$8L$Pa-P@B1=ZBX ZBul&'-TB\$X-SB1-SB$A謋SBL$X- + =SB\$XZBSBt 8-P@B9-TB~-TB9-SB~-SB=SB ;l$P |$Tً4AuATBE9SB-P@B 9tl$T,$ &L$P͉ TB P@B;l$Pv t$T8-t/SBtZBE-P@B<[^_]Ðt&Ptɋ\$\1Ʌt - |=SBt&D$\i5P@BL$TB<-tl$dHzD$4SBD$0D$,D$(t<=tGt<=ut$\1ۉT$)Ӊ\$ $̉EۉtSBЋD$,t l$0<D$4P@Bj-P@B?\$4stRO ZB5SB4$SBl$`t T$(\$`D$4Pu T$4B zp 12nT$8tFT$T|-tcD$4|$T 4dB@\$t.l$ D$A $T$轉SB$oSB|$4O X@B?D$4-4dB@\$ 2D$A,$t$i몍&t$4~;l$P}D$TZP@B<=ZBL$8u7 SB $ۆSBD$4x =X@Bt$X>:ʍD:U\$TT-4dBT$ 3@D$@A,$t$Lj뜐t&|$dt4-P@BD$T4~-t'SBL$X+ $l$l-P@BT$8tGL$Tz-tS5SBD$T 4dBt$:@|$ D$A $\$5-P@BAESB-P@B1t-SB=4dBl$ 1@D$A<$t$붋=SBD$Xo-SB$t$褅SB׀:uP@B:8WH:tx:?tP@B=ZB1҉SBԋP@B;T$PtD$TJ P@BZBҋD$8u-X@Bl$X}:t?볾:묉l$ |$T4dB7@D$At$$빀?n1҉ZBmH;9D$$D$ D$D$:P@BZB ZBω SBt<=t Gt<=ut$\1 $SB\$)؉D$VE҉uҋt$t l$ SL$$5?D$$XtHw5ZB=SB<$觃SBD$`t \$l$`]D$$PT$$T$8u5SB4$`SBD$$\$T-4dB@L$ ;D$ A,$|$h븍T$$z]P@B;T$P}\$Tz=P@B,-ZB6L$8uSB$ՂSB|$T54dBl@l$ D$@A4$T$߄1ɸW SB.|$8u=SB<$uSBP@Bt$T-P@B 4dB@T$ D$`A $\$t믉 SB)ˉ$9t"\$$t D$t$$l$t$$l$D$ P@B;T$Ptl$TBP@B\ZBcl$8u5X@Bt$X>:t ?<:t$ |$T4dB@D$AL$$讃뺋\$8t1SBt2t$ L$T1D$At$4dB@$s-X@Bt$ D$T8D$A|$̋|$8u=SB<$SBP@B \$T-P@B54dB@T$ D$A4$L$믍&SB)Ӊ $蜀9tK\$4t6L$du L$4V9Qt D$,^9YuV 9Q ut$4l$(t$4l$(D$0\$XЉT$$Er/SB;TBP@B-SBHSBTB9t\9t\$T$-P@B;l$P}-t$T8-t,E;l$P-P@B}T$T8-uxtᐉ-TBxt9t-SB뮋\$X15SBCˉSBP@Bt&'T$$D$L$(D$T$T$ D$ L$$ Ðt&UWVS TBP@BSB|$0L$$T$T$9$\$\$t$9t$~y'T$L$l$D$)ʉT$ )9~z19}+\$)\$t&L$T$F9|)l$l$9l$~T$9T$t&'4$L$D$<$)Ɖ5SB=TB[^_]1;t$ }!\$l$F;t$ |t$ t$눐T$ \$\$$҉t$t$(|$u8xTt0йt$$$D$ \$t$|$y }\$t$|$| ސ T$$T$T$T$Q ÐT$$\$\$ T$T$$u"L$Mb L$)‰S1ҋ\$ЃÐ,D$0\$t$ |$$l$(-TB=TB 1|$É։l$ $T$rT$4$ʚ;|$l$ t$sD$D$T$|$\$l$ iʚ; $T$r\$4C1 ؋t$ \$|$$l$(,TBljգTB tKH{D$T$4$|먐&1ÐT$,D$L$0T$ T$$L$L$(T$T$ L$$IÐt&T$,D$L$0T$ T$$L$L$(T$T$ L$$ Ð\*UWVS$uU?$$L$~D$$\$^$|D$A$z|D$|$$|\$$ T$$+$  N&'! t€ufF҃)N$($,VN D$|$$3|EKyF[^_]b+y01|u\$$T$7{ِt&9! t€u҃)D ՁޱL$$NgH!É]81ۉ4$|$D$D$ Eh 4O!}Ձޱ\$$fH!MH4$|$D$D$ g1ɍ4O!}Lt$D1D$T$HD$ ׉>ՁޱL$$`fH!É]@4$|$D$D$ YgEP<1ҍ4I!MDļ[^_]ÿ1$$t&D$,T$,D$T$D$ D$D$4$rT$,1$$t&B 2\$X$`$!$<)$T$0ÉT$L$,T$(L$L$$T$$@L$ T$D$D$Wr $J!T$$mD$$$X\Í'UW1V1Sl$tMu 11[^_]׉1ہ t11ʉ1։ρE]ۈu.lnkD$ t$|$t=D$.$=pt)ƿ At&t$|$Ít&1PATHEXTt& @TB\$\$t`t$D$.ou1\$ Í&D$@TB$otԉ\$ `@B $ot$dAn@TB덐& T$$p1҃ttЃ út& 'L$1J$u Ív\$ \$ l$1ۉt$|$$T$T$/p@TBD$.$nuTtLD$.$nt8 AƉ߹Ðt\$ t$|$l$1܉D$ @TB $*nt I뉉t$5`@B4$no$dAl@TBA&$P$$$$T$$1҅u$Ћ$ČË$P$T$XVN$\$`V N$d$hVN$lN $pF(V$$v$%$L$0ÉL$T$,L$(T$T$$L$$@T$ L$D$D$9n ‰$I!L$$iT$$V WV1S|$TL$<\$LT$POL$ G1 Ɖw ډW1J$u 1\$@T$D1 Ƌ\$HW0T$0_\$,щw41 D$1D$ Ή>ՁޱL$$`H!O8$t$D$D$ ` 4K!1_ՉޱL$$_H!OH$t$D$D$ ` 4K!1_LT$8D$\$4D$ 1 Ήځ>ՉޱL$$_H!O@$t$D$D$ `GP4I!OD[^_Ðt&UWVSL$0 $-D$$D$$gT$4ŋr Z \$$kT$4zj u(l$11t]ۈ11ҋt$4FV|$1L$T$T$ $mk@TBD$.D$$iu^L$tRD$.T$$it: AƉ߹Ívt|$41 /[^_]Í1܉D$=@TB<$ZitI|t$5`@B4$4ib$dAg@TB0t&׉1ہ t11ʉ1։ρE]ۈut&|$D$|$$_ul$4EE :11l$tMu11ҋt$4FV ׉1ہ t11ʉ1։ρE]ۈu먉UWVS $ $ $D$ $1T$T$ $u [^_]Ív$$$$$$$$$$D$ $$$$$$$|$p$\$,$$r$|$L$$ƉL$ T$($\$T$|$D$D$$=h |$0É4$J1!T$$}cL$$1҉$ 1l$`|$\D$L ݋\$0 $$‰Gow JG$u l$P11ۋ|$XT$T $$$$ 1ۉ}|$Ձޱt$$YË$$H!ÉY81ۉ<$l$D$D$ Z4$$O!xՁޱl$$wYË$$H!ÉYH4$|$D$D$ iZ1ɍ,$$O!xLl$D1D$\$HD$ ߉>Ձޱ\$$X$$H!N@,$D$D$ |$Yl$ $$N!ΉpD@PD$,$,$:a1v,1t$ t$4l$(l$0|$$\$t}u1ҋ\$Ћt$ |$$l$(,Í&D$,$uD$D$D$D$ D$D$,$_eÉt$$.$Tet7t$,$t$?eH`0ډt$,$IŐ<$,$H$0$D$4$@$8\$t$<$yt t%$,Ћ$0$4$8<D$l$l$4$e @t\$l$<$ 말WVS$$t)T$ $9d1ɋt$ 3KtqL$ $d\$D$t$D$ *!Nb\$$t$t$!V$D$D$ t$#WW1[^_C ^0_ TTB\$PTB t\$ $PTBdct PTBTTBt^11ĐD$SR}Ptt O}C|t&'út ޺ ׺ Ѓ  }Ƀ t u밃"/}ȃttu닃~|AtA$t5gOCFPPCv=%==h= l,lWY pp m:r====)==e=N===^===7-)j=k$=k= =]`===:=' _$` Ð L$T$D$uttD$T$ t&{[ ÐUWVS<$T$XL$,UHL$v3$X\$8T$\$ $PD$0l$(9؉|$$I$XT$$P$Pڋ|$,ˉ\$7;\$v\$$X|59߉;$Pt$X$PCAOu$X<.;|$t&<$$X)މt$$\x勔$X$X9,8tN]9rG& ڋ$XL$)9r&$X)9sD$K9s;l$n<[^_]Ét$<$$\x$X9vD$$1ҋl$($X\$()$XL$(L$؉D$t$4$$\T$D$$T$$$\$Xl$($X|$$)߉,$t$t$$\=|$D$$$\y $X)9$XCANu9l$9|$$X$X)9ct$();D$,w=l$(|$$);|$,wl$ T$ L$ i\$(l$$D$0;D$ NT$$);T$,v29~L$ \$(l$(yL$ Ët$ .l$$nt$ |$$멉l$N|$E9O$X,>)F$X$X\$L$$CANuL$(t$L$4$$\C$X\$L$(CANu $X\$L$(CANu D$=$LAvAAALALALAALALALALALALALALALALALALALALALALALALALALALALALALALALALALALALALALALA8ApALALALAALALALALA\ALAALALALA\ALALALALALALALALALALALALAAALALALALALALALALALALALALAAAAAAALALALALALALALALALALALALAAAAAAAAA A$AAA$A.A8ApApABALALALALALALALALALALALALALAU't&' ø}Ҹ˸ă L   띸떸돸눸 끸w1pf\RH>4T( t$t$\$t?t$XtF\$t$ SSא T$t @S1 T$D$$ Ðt&UWVS|$0l$4?$tTD$T$ÉT$ D$<$Xƅ=~tgR&R8D$$<uDt$<$E|$(<$QT$,2$V ؁P[^_?8.lnkUWVS Ee]}  6\$t$4$pAD$A$ Bt\$C4$|$!$C<$hFt<$M?ee[^_]Ée썶D$A4$0A뒐 |$=pVBt G|$ ÉVB =pVB$VBC=pVBɍ |$=pVBt G|$ ÉVB =pVB$VBqC=pVBɍ |$=pVBtG 1ҋO)w|$ VB =pVB$VBC=pVB&' |$=pVBtWG )1w|$ VB =pVB$VBB=pVB@@ZBÐnotsetrw %d %d v'UWVSLp@B$d$hT$t@B$0=\$ t&\$ t@B $y/t@B8tD$$ =@t@B1L[^_]G GA$T$lO\$|W,$|$1,$D$JA?D$t@B4(t$l$MA$<D$JA@t@B,$e t'‰t&'<\ABu7D$uD$JAMA,$ t'‰t&'<\ABuwD$D$JAMA,$ t&‰v'<\'ABuwD$D$JAMA,$t t"‰v'<\tnABuw 1T$u4t&~$`$ 9uGGD$NAwot$ l$$=묀z0t=<\uz0t<\zz\p\Biz1u߀z2u ARz4uz0u D$JA$w=D$z0tA<\z0t<\z\\Bz1u߀z2u Az4uz0u D$JA$=D$4z0tA<\ z0t<\z\\Bz1u߀z2u Az4uz0u D$JA$<D$rz0tA<\Iz0t<\;z\1\B*z1u߀z2u Az4uz0u t&D$$<>B>$\$D$>> ƉD$$ >5t@B%s %s %s %s %d %d VSD\$Tt$PT$ KL$$ST$(K L$,ST$0KD$D$L$44$\$ t(&< R< J<\BCu\$$t#v< < <\Cu\$(t#v< < <\CuT$,tv< tY< tU<\tQCuT$L$4\$0D$AT$$L$L$(\$\$ T$ L$\$4$9D[^Ät$u7$F8D$,< t6< t!<\t BCuT$,q\B\\B0B1B2\B0B4B0Ä$7$7D$(t&'< t2< t<\t BCu\B\\B0B1B2\B0B4B0DŽn$6$U7D$$ < t2< t<\t BCu!\B\\B0B1B2\B0B4B0DŽ$6  $6D$ < t2< t<\t BCuq\B\\B0B1B2\B0B4B0ǍSHT$T L$ Z\$$Z\$(Z \$,Z\$0Z\$4< X< P<\HCu\$$t#v< < <\Cu\$(t#v< < <\CuT$,tv< tX< tT<\tPCuT$\$4L$0D$AT$ \$\$(L$L$$\$\$PL$ T$$,7H[Ät$V4$'5D$,< t6< t!<\t BCuT$,q\B\\B0B1B2\B0B4B0Ä$3$4D$(t&'< t2< t<\t BCu\B\\B0B1B2\B0B4B0DŽn$d3$54D$$ < t2< t<\t BCu!\B\\B0B1B2\B0B4B0Ǎ\$ $2$3D$ &< t9< t<\t BCuq\B\\B0B1B2؍&\B0B4B0w&\$t$D$$A7G7$\$D$C7 Ɖ$D$7\$t$w WVS\$ T$$$T$F3t]D$$66$t$D$6 É4$D$6t@B1[H!^_D$A$2u넍t& D$t$0H6$ t@BD$L$N6p@B t@B ÍWVS|$$<$0T$ ƋZ t&|$$d3t#9t!x,t&$D$,0tC1[^_Ít&t=t,uᐐT$ t$\$Z$2$<3D$ 4$T$D$D$k5\$t$Ð1T$$t$t$ \$t-tzuX 8tAut&'؋\$t$ЉT$S$/v'…tBȉT$$2␐KERNEL32GetDiskFreeSpaceExFAT32FATNTFSCDFSUWVS$PA4D$YA$2Ƌ$D$4D$$T$pT$l$l|$hl$L$d$|$L$ D$T$$2 z$T$`l$\T$|$XL$Tl$ |$L$$3u D$TD$XD$\D$`$T$Hl$@T$ |$8l$|$ $փt $3$$1ƃw$AHtAHlAt$p$@HHl$X$ooo L$@1|$ \$Dl$X $\$l$+$T$,$D$(FVL$Ll$T$H|$ L$$#D$ $T$$CSt$8l$l$<|$ 4$1l$#$ljՋL$(C D$,S$\$Tt$ $\$D$#$Q,T$ A(L$$\$t$ L$$m#$A0Q4\$t$ <$l$L#$T$pE8L|$hL$dt$fEDM@uD$ TBM$t$D$>D$ $ÉD$>D$ T$BU$t$D$>D$ $ÉD$>D$ T$BM$t$D$>D$ $ÉD$>D$ T$BU$t$D$>D$ <$ÉD$>D$ T$<BM$D$>D$ t$$D$>D$ T$B]$I$$$|BxD$yS~#8VB VBaGVBΉ VB>#{v+#t$0D$i$$t$ t$L$My"83"\$1&D$$$D$,&$ D$$D$B4$& &D$$D$B$D$\$$虥|$T$։׉1VB15VBD$OD$B$0Bw$\$\$ t$t$$tND$$'tt$$t$\$ \$!0\$t$v!␐VBu"1Ð \$t$1nW9t5VB\$t$ '9uܐ1Ð1Ð1Ð1Ð%;)F,$4pLؠ.$4pLFFFFF0` FЗ`З`J`F(R h 7p@8I h 7 Fi;Yi+-zFk7E8+. F F7PByK `O7B5KQX" (  F F#N-+. {20 {20 U5qLɼ"hN@GpXשFh *'UB5KQX" ( 444eF$+.4:F8F4:KQ'FFQbH6k!Pi)? F FFF`k;Yi+-zF4j;Yi+-zj;Yi+-zFj;Yi+-z&FF0:s *Dw=i;Yi+-z>F@Qm6t4` +tN0 4F F F&FF`= ߏTe++TtUI#RRBnFFFFFFFAJ7<}iF F'FB: ` *0[ a ӯ>OnFyK yK yK 0FFFFFFF!FF F FFFF FFFFFF"F F#F FFFFFF FFFFFFF"hN@GpH+)=sR%cB%cB%cB%cBUPBPBsQ@PBr]ÐU]ÐU@Bu]@BJB@BuU]4Bt)u$B ]]Ít&4BKu݋ 4B1t˺4Bv@Lu븐t&U]@Bu'4B@Bt%u$B]]4BKu 4B1tϺ4B@\u뽐UWVS$] EMEEۋUEM܅҉uS9v-ȉǐ1ɉMM}EUt؃ڃ$[^_]Åu 11Ɖ1E9v1벉ƒEu9w19ur듍vEع )MԉMMԉM NjEMMM M؉Ӊe9w95;E,O&U؃EكQ=r -) ̋@U(]UMuE҉}] EEMuP9v*ȉlj1ɉ}]EMuU}]Ðt&u 11Ɖ1E9v 1붍ƒEu9w19ur듍vE )M܉MM܉M NjEMMM MӉe9w95;E,O&UWVS,UEM] EE҉U܉߉ƉMu_9v;ȉU؍MtEE؉EUMUMEU,[^_]Ít&u 1ƉUE뮍v9]vM}EUEU뵍&E܉Ãu%;}w9ur U)}܉U؍Mt}mUܸ )؉EM ‹EMԉU܉M ljue؉E9w:9t.E!MԋE+E׉E؉ ‰U8E9EvʋM)U܉M뽐%cB%cB%cB%cB%cB%cB%cB%cB%cB%cB%cB%cBUWVS,T$Dt D$@L$DT$Hx|$Ht|$H$~l!11҃,[^_]Ë dBt&9t$@D$$0 dBtD$@Ћt$@1-Åۉ\$+~l$Hu0DD$H |$H9D$$t$@)ƒ0D$@5;D$H+D$ T$$D$l$@dBU; $D$FL$@oЅ;l$H$D$HD$ƉD$׉T$ 9T$$wNr9D$ wFD$ щD$D$$T$Ƌt$ <\$|$t$;t$$r w;\$ sD$D$@\$ t$$D$Dt L$@l$DMt$u \$D$ T$$؃E"-dBʃ}trD$ $l$@Ut ƒ7 dB҃9t'D$$t T$@W˸ċ=HdB4SՋ=HdB4K뒋HdB3,Wϋ5HdB>,O뎋=HdB/L] 0t$@FV;>V'WFAOЋ'WFAOІ[zGOPB,ɨ=Bl OUQBPhA?`A@A@A@ 4B`Pmb`mcPa4ncaPncaocbo4eDe`eteeeeeeeff$f4f@fTfdftfffffffgg4gLg`gtggggggghh$h__p__fmodeP__set_app_typeo_asserty_cexit_close_errno_fdopen_filbuf_filelengthi64_flsbuf_get_osfhandle_iob_isctype_lseeki64^_onexit__openg_pctype_setjmp_setmode_stricmp_strnicmpabortasctimeatexit!calloc'ctime*exit-fclose0fflush8fopen9fprintf;fputs?freeGfwriteKgetenvOgmtimeRisalpha`iswctypenlocaltimeqlongjmprmallocvmemchrxmemcpyzmemset{mktimereallocsetlocalesignalsprintfsscanfstrcatstrchrstrcmpstrcollstrcpystrerrorstrftimestrlenstrncatstrncmpstrncpystrpbrkstrrchrstrspnstrstrstrtoltimetolowertouppertowlowervfprintfwcscatwcslen CoCreateInstanceHCoUninitializeOleInitialize```````libintl3.dll`````````````````````````````````````KERNEL32.dll(`(`(`(`(`(`(`(`(`(`(`(`msvcrt.dll<`<`<`<`MSVCP60.DLLP`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`P`msvcrt.dlld`d`d`OLE32.dll@(X@@@ @p@ @@ pyy( @ʦkH%zbJs2PkHs%WUI=1%sPkkHH%%sPDZksHW%UI=1%sPԎkH%zbJs2PkH%ssPPkH%zbsJP2kHs%WUI=1s%PkkHH%%sPDZksHW%UI=1s%PԎkH%ܒzbsJP2kH%ssPPkH%zbJs2PksHW%UI=1%sPkkHH%%sPkHs%WUI=1s%PkH%ܒzbsJP2kH%ssPPzzznnnbbbVVVJJJ>>>222&&& 4VS_VERSION_INFOEE?.bStringFileInfo>040904E4DCompanyNameGNU <www.gnu.org>RLicenseThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License;see www.gnu.org/copyleft/gpl.html.|*FileDescriptionDiffUtils: show differences between files6 FileVersion2.8.7.1605*InternalNamediff.LegalCopyright 2004 Free Software Foundation <www.fsf.org>XLegalTrademarksGNU, DiffUtils, diff: OriginalFilenamediff.exe4 ProductNameDiffUtils: ProductVersion2.8.7.1605: PrivateBuildPatchlevel 1r)SpecialBuildGNU for Win32 <gnuwin32.sourceforge.net>z5WWWhttp://www.gnu.org/software/diffutils/diffutils.htmlDVarFileInfo$Translation exiv2-0.25/msvc2003/iotest/0000775000175000017500000000000012541547671015113 5ustar andreasandreasexiv2-0.25/msvc2003/iotest/iotest.vcproj0000664000175000017500000002131012447013555017636 0ustar andreasandreas exiv2-0.25/msvc2003/key-test/0000775000175000017500000000000012541547671015351 5ustar andreasandreasexiv2-0.25/msvc2003/key-test/key-test.vcproj0000664000175000017500000002152012447013555020335 0ustar andreasandreas exiv2-0.25/msvc2003/libcharset1.dll0000775000175000017500000002700011746154427016503 0ustar andreasandreasMZ@ !L!This program cannot be run in DOS mode. $PELPmA" 8* h  @P|`p.textd``.data0 @.bss 0.edata@.idata|P@.rsrc`@.relocp,Uuu ]t\t$UT$U$v t,u 0hu1ۉ؋]u] Y덴&uGɐt&$ 0ht0h+ u 1똉U]0ht)0h9r u*9s$[ 10h$8 ]]ÐЋ0h̍UD$0hUD$0h$ ‰]HÉUD$0hUD$0h$ ]ÐU]7 CP%uASCIICP936GBKCP1361JOHABCP20127ASCIICP20866KOI8-RCP21866KOI8-RUCP28591ISO-8859-1CP28592ISO-8859-2CP28593ISO-8859-3CP28594ISO-8859-4CP28595ISO-8859-5CP28596ISO-8859-6CP28597ISO-8859-7CP28598ISO-8859-8CP28599ISO-8859-9CP28605ISO-8859-15t&'V 0hS1 D$D$h$ 0h t|00htg8u>uh[^Ív\$4$d t-;*t"$c \$W Zzu봀{u؉$; t렸h00h덾hzt$t$ |$|$$\$tt|$4$ u!11ۉ5`1h1h\$t$|$Ð4$ p1h<$ 1hp1hЃ$c tt$ p1h$AL$ `1hp1h1h|$C$BT$ uc:/progra~1/LibIconv/binc:/progra~1/LibIconv&'@0h\$\$ t$|$`1ht 51hu؋\$t$|$ÉT$ p1h$L$uԋp1hu1h>>222&&& \4VS_VERSION_INFO  ?.StringFileInfo040904E4DCompanyNameGNU <www.gnu.org>fLicenseThis program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License;see www.gnu.org/copyleft/lesser.html..FileDescriptionLibIconv: convert between character encodings6 FileVersion1.9.2.17478LibToolFileVersion1:0:08 InternalNamelibcharset1.LegalCopyright 2004 Free Software Foundation <www.fsf.org>dLegalTrademarksGNU, LibIconv, libcharset1HOriginalFilenamelibcharset1.dll2 ProductNameLibIconv: ProductVersion1.9.2.1747: PrivateBuildPatchlevel 1r)SpecialBuildGNU for Win32 <gnuwin32.sourceforge.net>Z%WWWhttp://www.gnu.org/software/libiconvDVarFileInfo$Translation :0}0000011%1J1U122222L3Q3X333333 44!4'4444444 5$5*5C5\5b5i55555556'686B68888 9#9.999[9d9o999999999:S:Y:`:h:z:::::::;;/;7;?;G;;;;<<"<*<2<:>">2>T> 0exiv2-0.25/msvc2003/exivsimple/0000775000175000017500000000000012541547672015772 5ustar andreasandreasexiv2-0.25/msvc2003/exivsimple/exivsimple.cpp0000664000175000017500000003105512521135474020656 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: exivsimple.cpp Version: $Rev: 3777 $ Author(s): Brad Schick Christian Kuster History: 12-Nov-04, brad: created */ // ***************************************************************************** #include "stdafx.h" #include "exivsimple.h" #include #include #include #include #include struct ImageWrapper { Exiv2::Image::AutoPtr image; }; // Returns NULL (0) handle if failed. EXIVSIMPLE_API HIMAGE OpenFileImage(const char *file) { assert(file); // See if file exists. Sorry for very bad error handling if (INVALID_FILE_ATTRIBUTES == GetFileAttributes(file)) { return 0; } ImageWrapper *imgWrap = new ImageWrapper; try { imgWrap->image = Exiv2::ImageFactory::open(file); } catch(const Exiv2::AnyError&) { delete imgWrap; return 0; } if (imgWrap->image.get() == 0) { delete imgWrap; return 0; } // Load existing metadata try { imgWrap->image->readMetadata(); } catch(const Exiv2::AnyError&) { delete imgWrap; return 0; } return (HIMAGE)imgWrap; } EXIVSIMPLE_API HIMAGE OpenMemImage(const BYTE *data, unsigned int size) { assert(data); ImageWrapper *imgWrap = new ImageWrapper; try { imgWrap->image = Exiv2::ImageFactory::open(data, size); } catch(const Exiv2::AnyError&) { delete imgWrap; return 0; } if (imgWrap->image.get() == 0) { delete imgWrap; return 0; } // Load existing metadata try { imgWrap->image->readMetadata(); } catch(const Exiv2::AnyError&) { delete imgWrap; return 0; } return (HIMAGE)imgWrap; } EXIVSIMPLE_API void FreeImage(HIMAGE img) { if (img) { ImageWrapper *imgWrap = (ImageWrapper*)img; delete imgWrap; } } // Returns 0 on success EXIVSIMPLE_API int SaveImage(HIMAGE img) { assert(img); ImageWrapper *imgWrap = (ImageWrapper*)img; try { imgWrap->image->writeMetadata(); } catch(const Exiv2::AnyError&) { return 1; } return 0; } // Note that if you have modified the metadata in any way and want the // size of the image after these modifications, you must call SaveImage // before calling ImageSize. // Returns -1 on failure, otherwise the image size EXIVSIMPLE_API int ImageSize(HIMAGE img) { assert(img); ImageWrapper *imgWrap = (ImageWrapper*)img; return imgWrap->image->io().size(); } // Note that if you have modified the metadata in any way and want the // image data after these modifications, you must call SaveImage before // calling ImageData. // Returns number of bytes read, 0 if failure EXIVSIMPLE_API int ImageData(HIMAGE img, BYTE *buffer, unsigned int size) { assert(img); int result = 0; ImageWrapper *imgWrap = (ImageWrapper*)img; Exiv2::BasicIo &io = imgWrap->image->io(); if(io.open() == 0) { result = imgWrap->image->io().read(buffer, size); io.close(); } return result; } EXIVSIMPLE_API void SetThumbnail(HIMAGE img, const BYTE *buffer, unsigned int size) { ImageWrapper *imgWrap = (ImageWrapper*)img; Exiv2::ExifData& exifData = imgWrap->image->exifData(); Exiv2::ExifThumb exifThumb(exifData); exifThumb.setJpegThumbnail(buffer, size); } EXIVSIMPLE_API unsigned int GetThumbnail(HIMAGE img, BYTE *buffer, unsigned int size) { ImageWrapper *imgWrap = (ImageWrapper*)img; Exiv2::ExifData& exifData = imgWrap->image->exifData(); Exiv2::ExifThumb exifThumb(exifData); Exiv2::DataBuf buf = exifThumb.copy(); if (buf.size_ == 0) { return 0; } if (buf.size_ > (long)size) { return unsigned int(-1); } memcpy(buffer, buf.pData_, buf.size_); return buf.size_; } // This is weird because iptc and exif have not been "unified". Once // they are unified, this DLL should not have to know // about either... just generic images, keys, values, etc. // // buffsize should be the total size of *buff (including space for null) // Note that if there is more than one entry (for some IPTC datasets) this // returns the first one found. Currently no way to get the others. // Returns 0 on success EXIVSIMPLE_API int ReadMeta(HIMAGE img, const char *key, char *buff, int buffsize) { assert(img && key && buff); if (img==0 || key==0 || buff==0 || buffsize==0) return -1; ImageWrapper *imgWrap = (ImageWrapper*)img; int rc = 2; Exiv2::IptcData &iptcData = imgWrap->image->iptcData(); Exiv2::ExifData &exifData = imgWrap->image->exifData(); try { // First try iptc Exiv2::IptcKey iptcKey(key); rc = 1; Exiv2::IptcData::const_iterator iter = iptcData.findKey(iptcKey); if (iter != iptcData.end()) { strncpy(buff, iter->value().toString().c_str(), buffsize); buff[buffsize-1] = 0; rc = 0; } } catch(const Exiv2::AnyError&) { } if (rc) { // No iptc value, so try exif try { Exiv2::ExifKey exifKey(key); rc = 1; Exiv2::ExifData::const_iterator iter = exifData.findKey(exifKey); if (iter != exifData.end()) { strncpy(buff, iter->value().toString().c_str(), buffsize); buff[buffsize-1] = 0; rc = 0; } } catch(const Exiv2::AnyError&) { } } return rc; } // Overwrites existing value if found, otherwise creates a new one. // Passing invalidTypeId causes the type to be guessed. // Guessing types is accurate for IPTC, but not for EXIF. // Returns 0 on success EXIVSIMPLE_API int ModifyMeta(HIMAGE img, const char *key, const char *val, DllTypeId type) { assert(img && key && val); if (img==0 || key==0 || val==0) return -1; ImageWrapper *imgWrap = (ImageWrapper*)img; int rc = 2; Exiv2::IptcData &iptcData = imgWrap->image->iptcData(); Exiv2::ExifData &exifData = imgWrap->image->exifData(); std::string data(val); { size_t dataLen = data.length(); // if data starts and ends with quotes, remove them if (dataLen > 1 && *(data.begin()) == '\"' && *(data.rbegin()) == '\"') { data = data.substr(1, dataLen-2); } } try { Exiv2::IptcKey iptcKey(key); rc = 1; if (type == invalidTypeId) type = (DllTypeId)Exiv2::IptcDataSets::dataSetType(iptcKey.tag(), iptcKey.record()); Exiv2::Value::AutoPtr value = Exiv2::Value::create((Exiv2::TypeId)type); value->read(data); Exiv2::IptcData::iterator iter = iptcData.findKey(iptcKey); if (iter != iptcData.end()) { iter->setValue(value.get()); rc = 0; } else { rc = iptcData.add(iptcKey, value.get()); } } catch(const Exiv2::AnyError&) { } if (rc) { // Failed with iptc, so try exif try { Exiv2::ExifKey exifKey(key); rc = 1; // No way to get value type for exif... string is the most common if (type == invalidTypeId) type = asciiString; Exiv2::Value::AutoPtr value = Exiv2::Value::create((Exiv2::TypeId)type); value->read(data); Exiv2::ExifData::iterator iter = exifData.findKey(exifKey); if (iter != exifData.end()) { iter->setValue(value.get()); rc = 0; } else { exifData.add(exifKey, value.get()); rc = 0; } } catch(const Exiv2::AnyError&) { } } return rc; } // Always creates a new metadata entry. // Passing invalidTypeId causes the type to be guessed. // Guessing types is accurate for IPTC, but not for EXIF. // Returns 0 on success EXIVSIMPLE_API int AddMeta(HIMAGE img, const char *key, const char *val, DllTypeId type) { assert(img && key && val); if (img==0 || key==0 || val==0) return -1; ImageWrapper *imgWrap = (ImageWrapper*)img; int rc = 2; Exiv2::IptcData &iptcData = imgWrap->image->iptcData(); Exiv2::ExifData &exifData = imgWrap->image->exifData(); std::string data(val); { size_t dataLen = data.length(); // if data starts and ends with quotes, remove them if (dataLen > 1 && *(data.begin()) == '\"' && *(data.rbegin()) == '\"') { data = data.substr(1, dataLen-2); } } try { Exiv2::IptcKey iptcKey(key); rc = 1; if (type == invalidTypeId) type = (DllTypeId)Exiv2::IptcDataSets::dataSetType(iptcKey.tag(), iptcKey.record()); Exiv2::Value::AutoPtr value = Exiv2::Value::create((Exiv2::TypeId)type); value->read(data); rc = iptcData.add(iptcKey, value.get()); } catch(const Exiv2::AnyError&) { } if (rc) { // Failed with iptc, so try exif try { Exiv2::ExifKey exifKey(key); rc = 1; // No way to get value type for exif... string is the most common if (type == invalidTypeId) type = asciiString; Exiv2::Value::AutoPtr value = Exiv2::Value::create((Exiv2::TypeId)type); value->read(data); exifData.add(exifKey, value.get()); rc = 0; } catch(const Exiv2::AnyError&) { } } return rc; } // If multiple entries exist, this only remove the first one // found. Call multiple times to remove many. // Returns 0 on success EXIVSIMPLE_API int RemoveMeta(HIMAGE img, const char *key) { assert(img && key); if (img==0 || key==0) return -1; ImageWrapper *imgWrap = (ImageWrapper*)img; int rc = 2; Exiv2::IptcData &iptcData = imgWrap->image->iptcData(); Exiv2::ExifData &exifData = imgWrap->image->exifData(); try { Exiv2::IptcKey iptcKey(key); rc = 1; Exiv2::IptcData::iterator iter = iptcData.findKey(iptcKey); if (iter != iptcData.end()) { iptcData.erase(iter); rc = 0; } } catch(const Exiv2::AnyError&) { } if (rc) { // No iptc value, so try exif try { Exiv2::ExifKey exifKey(key); rc = 1; Exiv2::ExifData::iterator iter = exifData.findKey(exifKey); if (iter != exifData.end()) { exifData.erase(iter); rc = 0; } } catch(const Exiv2::AnyError&) { } } return rc; } EXIVSIMPLE_API int EnumMeta(HIMAGE img, METAENUMPROC proc, void *user) { assert(img && proc); if (img==0 || proc==0) return -1; ImageWrapper *imgWrap = (ImageWrapper*)img; bool more = true; Exiv2::IptcData &iptcData = imgWrap->image->iptcData(); Exiv2::ExifData &exifData = imgWrap->image->exifData(); Exiv2::IptcData::const_iterator iend = iptcData.end(); for (Exiv2::IptcData::const_iterator i = iptcData.begin(); i != iend && more; ++i) { more = proc(i->key().c_str(), i->value().toString().c_str(), user); } Exiv2::ExifData::const_iterator eend = exifData.end(); for (Exiv2::ExifData::const_iterator e = exifData.begin(); e != eend && more; ++e) { more = proc(e->key().c_str(), e->value().toString().c_str(), user); } return 0; } BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; } exiv2-0.25/msvc2003/exivsimple/exivsimple.vcproj0000664000175000017500000002331312447013555021377 0ustar andreasandreas exiv2-0.25/msvc2003/exivsimple/exivsimple.h0000664000175000017500000000713712521135474020327 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file exivsimple.h @brief Limited metadata dll for win32 @version $Rev: 3777 $ @author Brad Schick (brad) brad@robotbattle.com Christian Kuster (kusti) christian@kusti.ch @date 12-Nov-04, brad: created */ #ifndef EXIVSIMPLE_H_ #define EXIVSIMPLE_H_ // ***************************************************************************** #ifdef EXIVSIMPLE_EXPORTS #define EXIVSIMPLE_API __declspec(dllexport) #else #define EXIVSIMPLE_API __declspec(dllimport) #endif DECLARE_HANDLE (HIMAGE); #ifdef __cplusplus extern "C" { #endif // These types should match those in types.hpp. Copied here so that // exiv2 headers are not needed. // For all of the functions // that take a type, passing invalidTypeId causes the type to be guessed. // Guessing types is accurate for IPTC but not for EXIF. enum DllTypeId { invalidTypeId, unsignedByte, asciiString, unsignedShort, unsignedLong, unsignedRational, invalid6, undefined, signedShort, signedLong, signedRational, string, isoDate, isoTime, lastTypeId }; typedef bool (CALLBACK* METAENUMPROC)(const char *key, const char *value, void *user); EXIVSIMPLE_API HIMAGE OpenFileImage(const char *file); EXIVSIMPLE_API HIMAGE OpenMemImage(const BYTE *data, unsigned int size); EXIVSIMPLE_API void FreeImage(HIMAGE img); EXIVSIMPLE_API int SaveImage(HIMAGE img); EXIVSIMPLE_API int ImageSize(HIMAGE img); EXIVSIMPLE_API int ImageData(HIMAGE img, BYTE *buffer, unsigned int size); EXIVSIMPLE_API int ReadMeta(HIMAGE img, const char *key, char *buff, int buffsize); EXIVSIMPLE_API int EnumMeta(HIMAGE img, METAENUMPROC proc, void *user); EXIVSIMPLE_API int AddMeta(HIMAGE img, const char *key, const char *val, DllTypeId type); EXIVSIMPLE_API int ModifyMeta(HIMAGE img, const char *key, const char *val, DllTypeId type); EXIVSIMPLE_API int RemoveMeta(HIMAGE img, const char *key); /*! @brief Set the Thumbnail @param img Handle to the image @param buffer Pointer to the Thumbnail data (JPEG) @param size Size of the thumbnail in bytes */ EXIVSIMPLE_API void SetThumbnail(HIMAGE img, const BYTE *buffer, unsigned int size); /*! @brief Get the Thumbnail @param img Handle to the image @param buffer Pointer where the thumbnaildata is written to (large enough!) @param size Size of buffer @return size of the thumbnail, 0 if failed to read the thumbnail, (unsigned int)-1 if buffer is too small. */ EXIVSIMPLE_API unsigned int GetThumbnail(HIMAGE img, BYTE *buffer, unsigned int size); #ifdef __cplusplus } #endif #endif // #ifndef EXIVSIMPLE_H_ exiv2-0.25/msvc2003/exivsimple/stdafx.cpp0000664000175000017500000000222012521135474017752 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: stdafx.cpp Version: $Rev: 3777 $ Author(s): Brad Schick History: 12-Nov-04, brad: created */ // ***************************************************************************** #include "stdafx.h" exiv2-0.25/msvc2003/exivsimple/stdafx.h0000664000175000017500000000243012521135474017422 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file stdafx.h @brief Precompiled header file support @version $Rev: 3777 $ @author Brad Schick (brad) brad@robotbattle.com @date 12-Nov-04, brad: created */ // ***************************************************************************** #pragma once #define WIN32_LEAN_AND_MEAN #include exiv2-0.25/msvc2003/src/0000775000175000017500000000000012541547672014374 5ustar andreasandreasexiv2-0.25/msvc2003/exiv2.sln0000664000175000017500000013344012517645413015360 0ustar andreasandreasMicrosoft Visual Studio Solution File, Format Version 8.00 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifprint", "exifprint\exifprint.vcproj", "{8391174F-52D5-4111-A0FE-E87135301CFB}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "key-test", "key-test\key-test.vcproj", "{8391174F-52D5-4111-A0FE-E87135301CFB}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "path-test", "path-test\path-test.vcproj", "{8391174F-52D5-4111-A0FE-E87135301CFB}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "werror-test", "werror-test\werror-test.vcproj", "{8391174F-52D5-4111-A0FE-E87135301CFB}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "easyaccess-test", "easyaccess-test\easyaccess-test.vcproj", "{8391174F-52D5-4111-A0FE-E87135301CFB}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exiv2lib", "exiv2lib\exiv2lib.vcproj", "{831EF580-92C8-4CA8-B0CE-3D906280A54D}" ProjectSection(ProjectDependencies) = postProject {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exiv2", "exiv2\exiv2.vcproj", "{07293CAC-00DA-493E-90C9-5D010C2B1B53}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifcomment", "exifcomment\exifcomment.vcproj", "{0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "addmoddel", "addmoddel\addmoddel.vcproj", "{271E59C4-81F9-4231-85D3-E7DDB2E2BC08}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "taglist", "taglist\taglist.vcproj", "{2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "utiltest", "utiltest\utiltest.vcproj", "{7E0025E8-CFBE-4941-BEB7-825F14A87EE1}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "metacopy", "metacopy\metacopy.vcproj", "{F59D0AD2-6948-474B-B506-AD14EC9BE551}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iptcprint", "iptcprint\iptcprint.vcproj", "{52034F65-28AA-4E3F-A44D-C91F6F0922F8}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iptctest", "iptctest\iptctest.vcproj", "{C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exivsimple", "exivsimple\exivsimple.vcproj", "{EB7F30DE-DD77-4311-BB66-FFDF972052C7}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "write2-test", "write2-test\write2-test.vcproj", "{BBDB5742-0A55-4C2C-973C-E876AAED6ABE}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "write-test", "write-test\write-test.vcproj", "{94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iotest", "iotest\iotest.vcproj", "{5D43ECB3-681D-4732-9395-AB81CD283F6C}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iptceasy", "iptceasy\iptceasy.vcproj", "{D8B36F3A-34BB-4540-A731-EEABF1DC2E05}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifdata-test", "exifdata-test\exifdata-test.vcproj", "{36F0C797-F6BD-4F5C-8DB2-651D8502872D}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "largeiptc-test", "largeiptc-test\largeiptc-test.vcproj", "{408EB518-B855-404E-9BDC-B58F60DFA9B2}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmpsdk", "xmpsdk\xmpsdk.vcproj", "{09877CF4-83B6-44FE-A2E2-629AA5C8093E}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmpsample", "xmpsample\xmpsample.vcproj", "{948E8E86-7F47-46B0-95B2-ED24805F3C9F}" ProjectSection(ProjectDependencies) = postProject {07293CAC-00DA-493E-90C9-5D010C2B1B53} = {07293CAC-00DA-493E-90C9-5D010C2B1B53} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmpparse", "xmpparse\xmpparse.vcproj", "{948E8E86-7F47-46B0-95B2-ED24805F3CAF}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmpparser-test", "xmpparser-test\xmpparser-test.vcproj", "{948E8E86-7F47-46B0-95B2-ED24805F3CBF}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stringto-test", "stringto-test\stringto-test.vcproj", "{156423D3-5FBB-45C6-A7CA-675B32F45C15}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "prevtest", "prevtest\prevtest.vcproj", "{9D2A443C-93D3-4144-B911-D7CA7CD85DE7}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mmap-test", "mmap-test\mmap-test.vcproj", "{2F4235D0-B5F5-4C59-981D-BA006734B56E}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "convert-test", "convert-test\convert-test.vcproj", "{2F4235D0-B5F5-4C59-981D-BA006734B56E}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tiff-test", "tiff-test\tiff-test.vcproj", "{2F4235D0-B5F5-4C59-981D-BA006734B56E}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "geotag", "geotag\geotag.vcproj", "{7E0025E8-CFBE-4941-BEB7-825F14A87EE1}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifdata", "exifdata\exifdata.vcproj", "{D8B36F3A-34BB-4540-A731-EEABF1DC2E05}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifvalue", "exifvalue\exifvalue.vcproj", "{D8B36F3A-34BB-4540-A731-EEABF1DC2E05}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exiv2json", "exiv2json\exiv2json.vcproj", "{8391174F-52D5-4111-A0FE-E87135301CFB}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject Global GlobalSection(SolutionConfiguration) = preSolution Debug = Debug DebugDLL = DebugDLL Release = Release ReleaseDLL = ReleaseDLL EndGlobalSection GlobalSection(ProjectDependencies) = postSolution EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution {8391174F-52D5-4111-A0FE-E87135301CFB}.Debug.ActiveCfg = Debug|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Debug.Build.0 = Debug|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.DebugDLL.ActiveCfg = DebugDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.DebugDLL.Build.0 = DebugDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Release.ActiveCfg = Release|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Release.Build.0 = Release|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Debug.ActiveCfg = Debug|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Debug.Build.0 = Debug|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.DebugDLL.ActiveCfg = DebugDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.DebugDLL.Build.0 = DebugDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Release.ActiveCfg = Release|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Release.Build.0 = Release|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Debug.ActiveCfg = Debug|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Debug.Build.0 = Debug|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.DebugDLL.ActiveCfg = DebugDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.DebugDLL.Build.0 = DebugDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Release.ActiveCfg = Release|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Release.Build.0 = Release|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Debug.ActiveCfg = Debug|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Debug.Build.0 = Debug|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.DebugDLL.ActiveCfg = DebugDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.DebugDLL.Build.0 = DebugDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Release.ActiveCfg = Release|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Release.Build.0 = Release|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Debug.ActiveCfg = Debug|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Debug.Build.0 = Debug|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.DebugDLL.ActiveCfg = DebugDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.DebugDLL.Build.0 = DebugDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Release.ActiveCfg = Release|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Release.Build.0 = Release|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug.ActiveCfg = Debug|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug.Build.0 = Debug|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL.ActiveCfg = DebugDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL.Build.0 = DebugDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release.ActiveCfg = Release|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release.Build.0 = Release|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug.ActiveCfg = Debug|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug.Build.0 = Debug|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL.ActiveCfg = DebugDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL.Build.0 = DebugDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release.ActiveCfg = Release|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release.Build.0 = Release|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.Debug.ActiveCfg = Debug|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.Debug.Build.0 = Debug|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.DebugDLL.ActiveCfg = DebugDLL|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.DebugDLL.Build.0 = DebugDLL|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.Release.ActiveCfg = Release|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.Release.Build.0 = Release|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.Debug.ActiveCfg = Debug|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.Debug.Build.0 = Debug|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.DebugDLL.ActiveCfg = DebugDLL|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.DebugDLL.Build.0 = DebugDLL|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.Release.ActiveCfg = Release|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.Release.Build.0 = Release|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.Debug.ActiveCfg = Debug|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.Debug.Build.0 = Debug|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.DebugDLL.ActiveCfg = DebugDLL|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.DebugDLL.Build.0 = DebugDLL|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.Release.ActiveCfg = Release|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.Release.Build.0 = Release|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.Debug.ActiveCfg = Debug|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.Debug.Build.0 = Debug|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.DebugDLL.ActiveCfg = DebugDLL|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.DebugDLL.Build.0 = DebugDLL|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.Release.ActiveCfg = Release|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.Release.Build.0 = Release|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.Debug.ActiveCfg = Debug|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.Debug.Build.0 = Debug|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.DebugDLL.ActiveCfg = DebugDLL|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.DebugDLL.Build.0 = DebugDLL|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.Release.ActiveCfg = Release|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.Release.Build.0 = Release|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.Debug.ActiveCfg = Debug|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.Debug.Build.0 = Debug|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.DebugDLL.ActiveCfg = DebugDLL|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.DebugDLL.Build.0 = DebugDLL|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.Release.ActiveCfg = Release|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.Release.Build.0 = Release|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.Debug.ActiveCfg = Debug|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.Debug.Build.0 = Debug|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.DebugDLL.ActiveCfg = DebugDLL|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.DebugDLL.Build.0 = DebugDLL|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.Release.ActiveCfg = Release|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.Release.Build.0 = Release|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.Debug.ActiveCfg = Debug|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.Debug.Build.0 = Debug|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.DebugDLL.ActiveCfg = DebugDLL|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.DebugDLL.Build.0 = DebugDLL|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.Release.ActiveCfg = Release|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.Release.Build.0 = Release|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.Debug.ActiveCfg = Debug|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.Debug.Build.0 = Debug|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.DebugDLL.ActiveCfg = DebugDLL|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.DebugDLL.Build.0 = DebugDLL|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.Release.ActiveCfg = Release|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.Release.Build.0 = Release|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.Debug.ActiveCfg = Debug|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.Debug.Build.0 = Debug|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.DebugDLL.ActiveCfg = DebugDLL|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.DebugDLL.Build.0 = DebugDLL|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.Release.ActiveCfg = Release|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.Release.Build.0 = Release|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.Debug.ActiveCfg = Debug|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.Debug.Build.0 = Debug|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.DebugDLL.ActiveCfg = DebugDLL|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.DebugDLL.Build.0 = DebugDLL|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.Release.ActiveCfg = Release|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.Release.Build.0 = Release|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Debug.ActiveCfg = Debug|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Debug.Build.0 = Debug|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.DebugDLL.ActiveCfg = DebugDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.DebugDLL.Build.0 = DebugDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Release.ActiveCfg = Release|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Release.Build.0 = Release|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.Debug.ActiveCfg = Debug|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.Debug.Build.0 = Debug|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.DebugDLL.ActiveCfg = DebugDLL|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.DebugDLL.Build.0 = DebugDLL|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.Release.ActiveCfg = Release|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.Release.Build.0 = Release|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.Debug.ActiveCfg = Debug|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.Debug.Build.0 = Debug|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.DebugDLL.ActiveCfg = DebugDLL|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.DebugDLL.Build.0 = DebugDLL|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.Release.ActiveCfg = Release|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.Release.Build.0 = Release|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug.ActiveCfg = Debug|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug.Build.0 = Debug|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL.ActiveCfg = DebugDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL.Build.0 = DebugDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release.ActiveCfg = Release|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release.Build.0 = Release|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.Debug.ActiveCfg = Debug|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.Debug.Build.0 = Debug|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.DebugDLL.ActiveCfg = DebugDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.DebugDLL.Build.0 = DebugDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.Release.ActiveCfg = Release|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.Release.Build.0 = Release|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.Debug.ActiveCfg = Debug|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.Debug.Build.0 = Debug|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.DebugDLL.ActiveCfg = DebugDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.DebugDLL.Build.0 = DebugDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.Release.ActiveCfg = Release|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.Release.Build.0 = Release|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.Debug.ActiveCfg = Debug|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.Debug.Build.0 = Debug|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.DebugDLL.ActiveCfg = DebugDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.DebugDLL.Build.0 = DebugDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.Release.ActiveCfg = Release|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.Release.Build.0 = Release|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.Debug.ActiveCfg = Debug|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.Debug.Build.0 = Debug|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.DebugDLL.ActiveCfg = DebugDLL|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.DebugDLL.Build.0 = DebugDLL|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.Release.ActiveCfg = Release|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.Release.Build.0 = Release|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.Debug.ActiveCfg = Debug|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.Debug.Build.0 = Debug|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.DebugDLL.ActiveCfg = DebugDLL|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.DebugDLL.Build.0 = DebugDLL|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.Release.ActiveCfg = Release|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.Release.Build.0 = Release|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.Debug.ActiveCfg = Debug|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.Debug.Build.0 = Debug|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.DebugDLL.ActiveCfg = DebugDLL|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.DebugDLL.Build.0 = DebugDLL|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.Release.ActiveCfg = Release|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.Release.Build.0 = Release|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.Debug.ActiveCfg = Debug|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.Debug.Build.0 = Debug|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.DebugDLL.ActiveCfg = DebugDLL|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.DebugDLL.Build.0 = DebugDLL|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.Release.ActiveCfg = Release|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.Release.Build.0 = Release|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.Debug.ActiveCfg = Debug|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.Debug.Build.0 = Debug|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.DebugDLL.ActiveCfg = DebugDLL|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.DebugDLL.Build.0 = DebugDLL|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.Release.ActiveCfg = Release|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.Release.Build.0 = Release|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.Debug.ActiveCfg = Debug|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.Debug.Build.0 = Debug|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.DebugDLL.ActiveCfg = DebugDLL|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.DebugDLL.Build.0 = DebugDLL|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.Release.ActiveCfg = Release|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.Release.Build.0 = Release|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Debug.ActiveCfg = Debug|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Debug.Build.0 = Debug|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.DebugDLL.ActiveCfg = DebugDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.DebugDLL.Build.0 = DebugDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Release.ActiveCfg = Release|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Release.Build.0 = Release|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Debug.ActiveCfg = Debug|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Debug.Build.0 = Debug|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.DebugDLL.ActiveCfg = DebugDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.DebugDLL.Build.0 = DebugDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Release.ActiveCfg = Release|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Release.Build.0 = Release|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Debug.ActiveCfg = Debug|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Debug.Build.0 = Debug|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.DebugDLL.ActiveCfg = DebugDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.DebugDLL.Build.0 = DebugDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Release.ActiveCfg = Release|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Release.Build.0 = Release|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.ReleaseDLL.ActiveCfg = ReleaseDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.ReleaseDLL.Build.0 = ReleaseDLL|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection GlobalSection(ExtensibilityAddIns) = postSolution EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 DebugDLL|Win32 = DebugDLL|Win32 Release|Win32 = Release|Win32 ReleaseDLL|Win32 = ReleaseDLL|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {8391174F-52D5-4111-A0FE-E87135301CFB}.Debug|Win32.ActiveCfg = Debug|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Debug|Win32.Build.0 = Debug|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Release|Win32.ActiveCfg = Release|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.Release|Win32.Build.0 = Release|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {8391174F-52D5-4111-A0FE-E87135301CFB}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug|Win32.ActiveCfg = Debug|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug|Win32.Build.0 = Debug|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release|Win32.ActiveCfg = Release|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release|Win32.Build.0 = Release|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug|Win32.ActiveCfg = Debug|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug|Win32.Build.0 = Debug|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release|Win32.ActiveCfg = Release|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release|Win32.Build.0 = Release|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.Debug|Win32.ActiveCfg = Debug|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.Debug|Win32.Build.0 = Debug|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.Release|Win32.ActiveCfg = Release|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.Release|Win32.Build.0 = Release|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {0BDCE87F-A5FE-49AE-BE6D-A2A3E2BB69CE}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.Debug|Win32.ActiveCfg = Debug|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.Debug|Win32.Build.0 = Debug|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.Release|Win32.ActiveCfg = Release|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.Release|Win32.Build.0 = Release|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {271E59C4-81F9-4231-85D3-E7DDB2E2BC08}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.Debug|Win32.ActiveCfg = Debug|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.Debug|Win32.Build.0 = Debug|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.Release|Win32.ActiveCfg = Release|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.Release|Win32.Build.0 = Release|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {2CDD0F47-E4B8-4C48-AD56-64C0A67EC89B}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.Debug|Win32.ActiveCfg = Debug|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.Debug|Win32.Build.0 = Debug|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.Release|Win32.ActiveCfg = Release|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.Release|Win32.Build.0 = Release|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {7E0025E8-CFBE-4941-BEB7-825F14A87EE1}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.Debug|Win32.ActiveCfg = Debug|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.Debug|Win32.Build.0 = Debug|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.Release|Win32.ActiveCfg = Release|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.Release|Win32.Build.0 = Release|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {F59D0AD2-6948-474B-B506-AD14EC9BE551}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.Debug|Win32.ActiveCfg = Debug|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.Debug|Win32.Build.0 = Debug|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.Release|Win32.ActiveCfg = Release|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.Release|Win32.Build.0 = Release|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {52034F65-28AA-4E3F-A44D-C91F6F0922F8}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.Debug|Win32.ActiveCfg = Debug|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.Debug|Win32.Build.0 = Debug|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.Release|Win32.ActiveCfg = Release|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.Release|Win32.Build.0 = Release|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {C8F41CDA-76AA-4053-A8DE-F80892C1C2FC}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.Debug|Win32.ActiveCfg = Debug|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.Debug|Win32.Build.0 = Debug|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.Release|Win32.ActiveCfg = Release|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.Release|Win32.Build.0 = Release|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {EB7F30DE-DD77-4311-BB66-FFDF972052C7}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.Debug|Win32.ActiveCfg = Debug|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.Debug|Win32.Build.0 = Debug|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.Release|Win32.ActiveCfg = Release|Win32 {2F4235D0-B5F5-4C59-981D-BA006734B56E}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.Debug|Win32.ActiveCfg = Debug|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.Debug|Win32.Build.0 = Debug|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.Release|Win32.ActiveCfg = Release|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.Release|Win32.Build.0 = Release|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {BBDB5742-0A55-4C2C-973C-E876AAED6ABE}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.Debug|Win32.ActiveCfg = Debug|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.Debug|Win32.Build.0 = Debug|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.Release|Win32.ActiveCfg = Release|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.Release|Win32.Build.0 = Release|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {94A7505B-3A53-40F0-95A2-2ECB1CEC7C57}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.Debug|Win32.ActiveCfg = Debug|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.Debug|Win32.Build.0 = Debug|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.Release|Win32.ActiveCfg = Release|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.Release|Win32.Build.0 = Release|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {5D43ECB3-681D-4732-9395-AB81CD283F6C}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Debug|Win32.ActiveCfg = Debug|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Debug|Win32.Build.0 = Debug|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Release|Win32.ActiveCfg = Release|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.Release|Win32.Build.0 = Release|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {D8B36F3A-34BB-4540-A731-EEABF1DC2E05}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.Debug|Win32.ActiveCfg = Debug|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.Debug|Win32.Build.0 = Debug|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.Release|Win32.ActiveCfg = Release|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.Release|Win32.Build.0 = Release|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {36F0C797-F6BD-4F5C-8DB2-651D8502872D}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.Debug|Win32.ActiveCfg = Debug|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.Debug|Win32.Build.0 = Debug|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.Release|Win32.ActiveCfg = Release|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.Release|Win32.Build.0 = Release|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {408EB518-B855-404E-9BDC-B58F60DFA9B2}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug|Win32.ActiveCfg = Debug|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug|Win32.Build.0 = Debug|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release|Win32.ActiveCfg = Release|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release|Win32.Build.0 = Release|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.Debug|Win32.ActiveCfg = Debug|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.Debug|Win32.Build.0 = Debug|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.Release|Win32.ActiveCfg = Release|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.Release|Win32.Build.0 = Release|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3C9F}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.Debug|Win32.ActiveCfg = Debug|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.Debug|Win32.Build.0 = Debug|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.Release|Win32.ActiveCfg = Release|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.Release|Win32.Build.0 = Release|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CAF}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.Debug|Win32.ActiveCfg = Debug|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.Debug|Win32.Build.0 = Debug|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.Release|Win32.ActiveCfg = Release|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.Release|Win32.Build.0 = Release|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {948E8E86-7F47-46B0-95B2-ED24805F3CBF}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.Debug|Win32.ActiveCfg = Debug|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.Debug|Win32.Build.0 = Debug|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.Release|Win32.ActiveCfg = Release|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.Release|Win32.Build.0 = Release|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {156423D3-5FBB-45C6-A7CA-675B32F45C15}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.Debug|Win32.ActiveCfg = Debug|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.Debug|Win32.Build.0 = Debug|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.Release|Win32.ActiveCfg = Release|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.Release|Win32.Build.0 = Release|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {9D2A443C-93D3-4144-B911-D7CA7CD85DE7}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal exiv2-0.25/msvc2003/remotetest/0000775000175000017500000000000012541547666016003 5ustar andreasandreasexiv2-0.25/msvc2003/remotetest/remotetest.vcproj0000664000175000017500000002154312447511333021413 0ustar andreasandreas exiv2-0.25/msvc2003/stringto-test/0000775000175000017500000000000012541547672016433 5ustar andreasandreasexiv2-0.25/msvc2003/stringto-test/stringto-test.vcproj0000664000175000017500000002151212447013555022500 0ustar andreasandreas exiv2-0.25/msvc2003/metacopy/0000775000175000017500000000000012541547671015425 5ustar andreasandreasexiv2-0.25/msvc2003/metacopy/metacopy.vcproj0000664000175000017500000002225512447013555020473 0ustar andreasandreas exiv2-0.25/msvc2003/exiv2lib/0000775000175000017500000000000012541547672015331 5ustar andreasandreasexiv2-0.25/msvc2003/exiv2lib/exiv2lib.vcproj0000664000175000017500000003524212523531173020275 0ustar andreasandreas exiv2-0.25/msvc2003/exifprint/0000775000175000017500000000000012541547671015614 5ustar andreasandreasexiv2-0.25/msvc2003/exifprint/exifprint.vcproj0000664000175000017500000002153112447013555021045 0ustar andreasandreas exiv2-0.25/msvc2003/copylibs.bat0000664000175000017500000000042212453456305016111 0ustar andreasandreas@echo off rem copylibs.bat rem get the support libraries rem setlocal set EXIV2LIBS=c:\exiv2libs xcopy/yesihq %EXIV2LIBS%\expat-2.0.1 ..\..\expat-2.0.1 xcopy/yesihq %EXIV2LIBS%\zlib-1.2.3 ..\..\zlib-1.2.3 rem That's all Folks! rem -----------------exiv2-0.25/msvc2003/utiltest/0000775000175000017500000000000012541547671015461 5ustar andreasandreasexiv2-0.25/msvc2003/utiltest/utiltest.vcproj0000664000175000017500000002214212447013555020556 0ustar andreasandreas exiv2-0.25/msvc2003/ReadMe.txt0000664000175000017500000002043412454725566015511 0ustar andreasandreasNotes about msvc2003 32 bit build of exiv2 ------------------------------------------ +-----------------------------------------------------------+ | msvc2003 builds 32bit binaries | | with Visual Studio 2003 .Net | | | | msvc2005 builds 32bit and 64bit binaries | | with Visual Studio 2005/8/10/12/13/14 | +-----------------------------------------------------------+ Updated: 2015-01-12 Tools ----- Created and Tested With: VC7.1 (Visual Studio .Net) All builds in msvc2003 are 32bit. 1) Build environments (solution files) exiv2.sln - this builds the exiv2 libraries (static and dynamic) and the utility and test programs (exiv2.exe, exifprint.exe) DEPENDS on zlib-1.2.3 and expat-2.0.1 How to build and test exiv2 ---------------------------- 1) Dependancies for exiv2 You need expat-2.0.1 AND zlib-1.2.3 which you can download from http://expat.sourceforge.net/ and http://zlib.net/, respectively. expat-2.0.1, zlib-1.2.3 and exiv2 should be in the same directory I usually use c:\gnu, however the name 'c:\gnu' does not matter nor does it have to be a topmost directory. c:\gnu\expat-2.0.1 <---- vanilla expat c:\gnu\zlib-1.2.3 <---- vanilla zlib c:\gnu\exiv2 <---- this directory You can download the libraries from http://clanmills.com/files/exiv2libs.zip (20mb) This archive includes libraries for use by msvc2003 and msvc2005. If you unzip exiv2libs.zip into c:\exiv2libs, the batch file msvc2003/copylibs.zip will copy the files from c:\exiv2libs to the correct location. 2) Build expat. See expat documents for details. If you have copied expat-2.0.1 from the archive, you can skip this step. This is what I do: a) Open expat-2.0.1\expat.dsw with DevStudio This converts the expat-2.0.1 VC6 work space to DevStudio project files Say "Yes" to everything. b) Build/Batch Build/Select { expat | expat-static } { debug | release } (4 targets) / Build Rattle roll.... less than a minute ...... rattle grrrrrrrr rump. ========== Build: 4 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== 3) Build zlib. See zlib documents for details. If you have copied zlib-1.2.3 from the archive, you can skip this step. This is what I do: a) Open zlib\zlib-1.2.3\projects\visualc6\zlib.dsw with DevStudio This converts the zlib-1.2.3 VC6 workspace to DevStudio project files Say "Yes" to everything. b) Build/Batch Build/Select { zlib } {DLL Debug | DLL Release | LIB Debug | LIB Release } (4 targets) Build Rattle roll.... less than a minute ...... snap, crackle, pop (lots of warnings) ========== Build: 4 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== 4) Open the sln file exiv2\msvc2003\exiv2.sln 5) Build/Batch Build/Select All/Build This will build all the necessary libraries and all the test programs. At the end of building, you should see the beautiful output: ========== Build: 104 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== The build takes 6 minutes on my iMac with a 2.8GHz Duo Core Intel Processor and 4GBytes of Ram running XP/Pro SP3. +--------------------------------------------+ | DISK SPACE WARNING | +--------------------------------------------+ The total build consumes 1.0GBytes of disk space. There are 112 targets (4 expats, 4 zlibs and 108 exiv2 targets) The pdb (debugging) files consume 300MB. The debug exiv2 static library alone (exiv2.lib) is 35MB A more modest build is to build exiv2 { Debug | Release | DebugDLL | ReleaseDLL } This consumes: 400MB A minimum build is to build exiv2/Release This consumes: 100MB 6) Test from the Command Line (cmd.exe): Use the bash/Cygwin (or msys) script test/testMSVC.sh to run the test suite. Please see msvc2005/ReadMe.txt for more information. Where are the libraries and executables? ---------------------------------------- exiv2\msvc2003\bin\{Debug | DebugDLL | Release | ReleaseDLL } What's been built? ------------------ Static and dynamic version of exiv2, expat, zlib and the exiv2 sample programs Debug and Release versions of all targets. The static libraries link with MT (MTd for Debug). The objects are built to use the Static C runtime Libraries. DLL targets link dynamically - exiv2.exe requires libexpat.dll, exiv2.dll and zlib1.dll (zlib1d.dll for debug) - the objects use the dynamic c runtime dlls (MSVCR70.dll and friends) Linking Applications with the exiv2 libraries --------------------------------------------- The following 'flavors' have been build: a) DLLs + MD build and work DebugDLL| ReleaseDLL = MD{d} : link exiv2{d}.lib, xmpsdk.lib, libexpat.lib and zlib1{d}.lib Runtime DLLS : exiv2{d}.dll, libexpat.dll, zlib1{d}.dll and MSVC{R|P}{_0D.dll) _ = 7 for VS2003, 8 for VS2005 and 9 for VS2008 The MSVC*.dll's are on most machines and a free download from Microsoft b) Static + MT build and work Debug | Release = MT{d} : link exiv2s{d}.lib, libexpatMT.lib, zlib{d}.lib xmpsdk.lib Runtime DLLs : none c) Static + MD will work (but not built) During the development of the build environment, this was working. However it was dropped from the release because expat-2.0.1 does not support an MD build. When you choose to link your application with the exiv2 library, can choose any of the 3 configurations. Please use Google to find additional advice about which flavor is best for your needs. d) DLLs + MT WILL NOT FUNCTION even if you build it Do not build DLLs + MT. Exiv2.dll exports STL template objects which will crash when linked with the MT run-time. This is because Exiv2.dll is linked with it's own (static) c-runtime library. Exiv2.exe is linked with a different c-runtime library. The two cannot co-exist. This is not a bug. There is no workaround. Bugs ---- Please consult the issue database: http://dev.exiv2.org/projects/exiv2/issues Support and Questions --------------------- Information/Documentation : http://www.exiv2.org/index.html Discussion Forum : http://dev.exiv2.org/wiki/exiv2 The MSVC2003 build environment : Please contact me directly by email. Robin Mills robin@clanmills.com http://clanmills.com APPENDIX The following topics are documented for additional information about the status of the build. A) Build warning messages B) Partial Build errors C) Debugging exiv2 library code D) Boost library name conventions A) Build warning messages ------------------------- The following warning and message are part of the build: 1) exiv2.lib(xmlparse.obj) : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification To eliminate this message, you will have to modify project settings in expat-2.0.1 and rebuild expat. 2) zlib.lib(zutil.obj) : warning LNK4217: locally defined symbol _malloc imported in function _zcalloc I believe this is coming from zlib which uses the local (MD) c-runtime library. It's harmess (although frightening) B) Partial Build errors ----------------------- Andreas assures me that if you cannot build some targets, eg exifprint/ReleaseDLL on a clean VC71 machine. I havne't been able to reproduced this. Please drop me an email if you find any of those. I'm cross-eyed building different flavors of this on different version of DevStudio. C) Debugging exiv2 library code ------------------------------- You may wish to debug the exiv2 library code using one of the test utilities. Examples: exiv2.exe and exifprint.exe. You'll find this a little frustrating because the exiv2.sln file contains all the test programs. When you change the library code, DevStudio will relink all 20 test programs. To avoid this frustration, unload the project files which you are no using. For example, if you are debugging exiv2.exe, you only require the following projects to be loaded: xmpsdk exiv2lib exiv2 (when exiting DevStudio, say "No" when it asks you if you wish to save changes to exiv2.sln) # That's all Folks ## exiv2-0.25/msvc2003/mmap-test/0000775000175000017500000000000012541547671015513 5ustar andreasandreasexiv2-0.25/msvc2003/mmap-test/mmap-test.vcproj0000664000175000017500000002161612447013555020647 0ustar andreasandreas exiv2-0.25/msvc2003/werror-test/0000775000175000017500000000000012541547666016105 5ustar andreasandreasexiv2-0.25/msvc2003/werror-test/werror-test.vcproj0000664000175000017500000002155712447013555021627 0ustar andreasandreas exiv2-0.25/msvc2003/xmpparse/0000775000175000017500000000000012541547672015444 5ustar andreasandreasexiv2-0.25/msvc2003/xmpparse/xmpparse.vcproj0000664000175000017500000002153312447013555020525 0ustar andreasandreas exiv2-0.25/msvc2003/easyaccess-test/0000775000175000017500000000000012541547666016710 5ustar andreasandreasexiv2-0.25/msvc2003/easyaccess-test/easyaccess-test.vcproj0000664000175000017500000002162712447013555023233 0ustar andreasandreas exiv2-0.25/msvc2003/taglist/0000775000175000017500000000000012541547672015254 5ustar andreasandreasexiv2-0.25/msvc2003/taglist/taglist.vcproj0000664000175000017500000002145112447013555020144 0ustar andreasandreas exiv2-0.25/msvc2003/xmpparser-test/0000775000175000017500000000000012541547672016603 5ustar andreasandreasexiv2-0.25/msvc2003/xmpparser-test/xmpparser-test.vcproj0000664000175000017500000002163112447013555023022 0ustar andreasandreas exiv2-0.25/msvc2003/xmpsdk/0000775000175000017500000000000012541547671015112 5ustar andreasandreasexiv2-0.25/msvc2003/xmpsdk/xmpsdk.vcproj0000664000175000017500000002165712447013555017652 0ustar andreasandreas exiv2-0.25/msvc2003/tiff-test/0000775000175000017500000000000012541547671015511 5ustar andreasandreasexiv2-0.25/msvc2003/tiff-test/tiff-test.vcproj0000664000175000017500000002161612447013555020643 0ustar andreasandreas exiv2-0.25/msvc2003/convert-test/0000775000175000017500000000000012541547666016245 5ustar andreasandreasexiv2-0.25/msvc2003/convert-test/convert-test.vcproj0000664000175000017500000002165212447013555022123 0ustar andreasandreas exiv2-0.25/msvc2003/prevtest/0000775000175000017500000000000012541547672015461 5ustar andreasandreasexiv2-0.25/msvc2003/prevtest/prevtest.vcproj0000664000175000017500000002206312447013555020556 0ustar andreasandreas exiv2-0.25/msvc2003/geotag/0000775000175000017500000000000012541547671015052 5ustar andreasandreasexiv2-0.25/msvc2003/geotag/geotag.vcproj0000664000175000017500000002212412447013555017540 0ustar andreasandreas exiv2-0.25/msvc2003/iptceasy/0000775000175000017500000000000012541547672015426 5ustar andreasandreasexiv2-0.25/msvc2003/iptceasy/iptceasy.vcproj0000664000175000017500000002133212447013555020466 0ustar andreasandreas exiv2-0.25/msvc2003/largeiptc-test/0000775000175000017500000000000012541547672016534 5ustar andreasandreasexiv2-0.25/msvc2003/largeiptc-test/largeiptc-test.vcproj0000664000175000017500000002143012447013555022701 0ustar andreasandreas exiv2-0.25/msvc2003/iptctest/0000775000175000017500000000000012541547672015444 5ustar andreasandreasexiv2-0.25/msvc2003/iptctest/iptctest.vcproj0000664000175000017500000002144412447013555020526 0ustar andreasandreas exiv2-0.25/msvc2003/test.png0000664000175000017500000040760711110040173015257 0ustar andreasandreasPNG  IHDRzTXtRaw profile type exifxirzcw `<$eQݝ[JݶlSx3:_USl[lM?Dn>w5@x<{.=_7~|.j98!ASJNrȝ!$O4|`@-tMf.D cfW99ᶾ_77MH[y\B`$ ~\ټ=3Ԯa/xrLj c~wB92}k ~[8:%We][~?W ZyLEJ_ⴻl;: q_S w k*=~L_S"r.d/p;˜}}n/艟c|0/!yCLM'xx{IuP g煞/(?ߟ j_/ȏx`ޠ<ujߊ ay2lxA{y_.LG߂*vg^;ܬ>;Qg;'39u!׿ Ҭzg׳u^ӎg ^5?/^o?/woiğ4? ß#8=et&mGz9?=@#z\OIVbgQaT)WGٸ`ǯGͭXBɘ*/^e)% * o=>7 3|R_O}F.GGo 2'߷ 4-NI!~5)H4nO|hܟoǟ ?Aδg2&oݗrp-.}=!qWcJr1/جpr h|Px7~_G5oJ)>r^S \͗x5ĸqUm=6K.7O K|g.Tg?ʇra?B\3 _]}is#FKZLDwsxE}Cpؐ]c~k\{YZ-~|Õ|h>v%1/Ko+=5W k՟_vuï͓Oˇy!}?tS2d:gU /d]xmVSbkA.}-yIq> ƐnRvFb1c5SH1SI5s1s1YƽK*RK+R 5\K([jV[k+w^y}FiQFmgq&(:쪾WZyUW[}wqwTUyɧz=Coxj-$IM}Th%9CEp+ж?%t9|:(7?o 6pB  jujNf!1WAͼ7mx?ތZvs<7tF*=y;;vd\1T4 kp)f!Ffkm[^kRwdˏM˜uLL= ?yQ){`|clsAKrfsgiS[kvWa/pђ{w ϕkui']eMTMc65uȓ/Og ?iG1]* I-]=n53;#2RpR#i-)sPV!.gP;`ۇ Y-_#0R83Rb y[Սs!rD]aĺS t'{Z{{H%͔@ H&Mq)BuUr ]VnA՚:T=jkڌ9-ISU:AR 4H=Yrh8bǐj )3kK:xh\%6S sΉJ-wc}6#CPPeb /N`(-j>?vsR}$4R][WqܕRke-x@0zjDtj82ze-0t% { W$/"V@Ff1 w i^Pfã2#Xdx@QXzB-)QkQô<xƤ=cO Cqy~9HWmT6n$5LFUوjq5B<c iMSy c㙥1"8qhn91hC{4IJ AiAbEg? PB@Pݩ'jV T hLI x PFF֖b.} -8'-@AW:1fSzEFAu A#oHE(Π@)x@g :S(3UkV6߅ϸv" X/#}B a'B,[<.mkI4 3BhgCle<@)Sdž hъ-!.vk).),LtTv=8P֌(p7mk~YLA nmC%HPa8TD0=! 1<.+==VCZ5m\Aa3U }ѓęSy'pxݢ8?J9LmsB^2LDqezx9f\i8.E(|h >=xx@7sN.ř- u>86~ &Z<%|)@$9H2Zg L\Ȥb^^*NU VxT|;HBǐ 2.W-7XG%@6QC[Q]QmY%L ^ mdlR^8 QȈ, d ZT*/1oZ2*H:䄎FTTT\̔J TX= d"y̞ڄB: G'd !9pF j~Gjq@*]7Qh)BXcd( UXzyARof;Hp`ciЄLCPO1"y&@VC!=L8DAwD?<@lYax& iށfz Ȇ!RȍbSGIp6_? #G-DVKFPFRE`LDIuFy?iK"X|2$vcD,iۜ݃2`QH?uv%J{5 rd(%:\خr%]!82$< H L㥲{<+R,1r9_V8O ٍo AYY@?x?mZDe[G6 M!/dSF/&w:bu$ݡ4[vV麩87j:R\Us2@UFhFl []%BLT(UZ i,wTA5ޏȤ ::3>="LYp)A2$AYW4%< HzȆ"Fh eivNI{:nflJRDV@*y`L+rC͂\,Zp6ā'oq BFxRh?S^!6809*.$6qO;yx^{TXRbj:TAM$lyD:AJ c/K]AfP[IPB$)%{!Am" 6SK`vERtLi:2La~Ak.fwb,x +&%FA!.:4Z%J ERv0͇X {Ѵ1a<чZmFI#c2kԬexW!+fES ESwd&xpҜP tBNa!Io1G$̂ј!4A'!j$i>up;Jɒ9ot@pԈ:BqDĿ̋xl/Bm?Yd+Y!r>E4b)<\_զ݌zA vJb4?Ra@d/f -o(gF&ytd sc 24oFB#:"-ڌDzk7'C*O4 ٭m\iXX0}SG̲ZsQBYB݁0c;e b5W$ O%%,T,E!aPDG\%LCsجuĐtjW !wЂ#oʌt~ B8CbRU-5h?pb%H(BFP6lPJ݉_h{ݢ챋cN;Aoe\ [)#u GjH Al&L+OiGp9BEجQ&:]7WGJ 3ǡusy,%iz*93!UҌ{(p3^2N!g2nM2ۧb۩EޒN24ASOdʉV˓;$JCfH"98vL]kY|V;:r8'7A8p)[C3sy[X7Pt>1C1yR"bA!]6˕ $Z1${曠u25  'NXɭ}3ᎦC"]e /J8^tĠm: +hgbe`:)9K嘤OtTeնKniGvmY i#i!A4V$"?ZԚ֜N%Qh"W=gk#F{6:wt, 4م)vtbV@0}TDZ.֒{ `D S:z6Ԩ7s]}l-jYQ/\RƟ}x2zO< A O/bZ7.F &)$$v(o,ÒK4>oE`bvkUOFQH a`#Qr kk.O|P?j%:r1_j^Z668 tDwi y 8 >Eh~qmj VPךQ&Vy0n#0T B!ۑ8|!ACMEHevE.d PC+[-/|wO]HW-s^~#7.,(XFiw]8}=aޯR}]E+(,@Nݬ]njjR ZW[@P'%Gk0WȬ : ȬxiVjk7߳[ SkZL\p'ݨNenSe̘XdOM~k{Y:_tvU1-vKpY3 X"`Dˠ捷,' KYf{WfUca)[L pi%L_Z[Z_xLM_RSC<*ް Zٟ_K3YDqthjSF*4B* y:·|1Xk! @#Qf~5 -0çPM5܇L6$ JIt!"[<+ӣEu@D@θ*  Y-hh`\{iQkHTnH#0yB?A>AkR)P4ۨ%bxK1lQ*>;_SYKZG&75 Pն0]ߩ@U3k1)j'5v(N%c QeYIg+t 4 [,$8ʎwFBeH qP:}@RJ,EMF[zBj 3zAQyD/b" sS] )=.IYLygE(D&5:\AW {HGGYDd\kft jږRg%"(f4CK* "$#`kDr1*975K,e}<:Z}Ռ~+&ĵAgG1]:ok-3c0Gw1ypzk /Bʼnn:2by0X+v\I7vha0tJސ@:>~N>[ի'@"z 'L-͒ 垹 YGGjQ: vNQ*bOg֙-ްI{k4^OfA*((ƩUm2% ֖Jn3!ͨ J* cX0aj Tt=xbh\wae м*L#Z-{$ Vk%30NK:c0nV9hY*vTтmN0yd.)AбBgB1KF Y[DŽ40E'BK0!Փ<&%!ܗTj.@_RVlu`!֠xb}rM 6h ĻKt%-Wf x1ɳݲ:`Q0EĂy_1FҬ4wKbB0b*lT zh>?9{5Bv)MP:,qV%jyA'l+FIǻCzAGq^TqEQ0!ZZJ`dU:e %qQ-:䵏zRS@Htқ(yMb?Ģ7v.bt,Jn j]u:Ң\3XH!_@AC#:cE /`0~>]%1//XI/GgiCCPICC ProfilexgT{w9g9gs(aqa H 9$AD (QTI"H|}9{TW̿{ G 0Tafŝ a@D ~LqXxSu@,쪒zSaЙ$drJN9$2 @a!&qíN9v:v _g_p VpvA#ǧ;>߂4>%-@=ԂrP:((=m\P.T/׶m[hFѮbT?9rKAQ)w-|oR2rEhekjҚ:Ffk[veiǼg?qlj ?=zs7 Hx4\b*Fvހ\[/٬#U@D贏\vrsmqtHB{{8Y,-lHh8*s_aJAIEz8:v ,0vj] 5n&NOOi͗Csto)w$1? 0z񵒨+e!- hV+H b8=j mn\kkn{غ6^8æS 㓓OOzzo> s}5 {quaD%(اW1A7g<}0[.s.n> t ?w.d,BudV-n+{Ů{d{ǿgʏ3NO1Px8kG_`ȅ4JC{.I\& !eDG\ <"|W2 DE $% erdn_}JA]QPRiWyZ]5_-RVCQUXH{MgVwH~Aa)ّܥ'V61vv2).o؏8:: -\]p7<=f_ >kGa й9A!%aU}:~d/F\qapS4|"i~ҧ[CɘTTmtx;wY${9 e*qo'T+/׮~@`&#UGTüF&fҖ_Z'z[?HxxÞ۽g})o T{!17<;ęۘ+;3Sӑ3odR6;x.|=؇7:?~\d"UbUazF7ҭ*%E#X,XvXX،vK8B8!8= x8xZ)' nl'E؃xĄi?.kr%JoF~Cs۝Gw?X@KQpUC8UQTT !6-^+((,m*&+$"O,xa¸ҠrʀڴơaQ1dRe5mݤ=cS ['wW?1T :). T3,+jJ`T{ AlmAzBr߭ԃiwx3:2rse vK* lYkV0I M- m ;#{`ϷևG^NN'y8[6>c⧛)K+ +:]` |A4A'x &ӁaN׆@" PD#bKk[ ; . N:"n *^1#3nuHN"^bk{$h-R4/$B=6;Tilԍ44tt jL:,$=CV؛8npZq q#4  N 5xj$%IuJ7e˧\VD)TU#54Ǵ6uazLB~cRm:aaYahne|Aߩ9 N;D_!)m 63N8/&qVT Ijm =YF?U! ۊKIZ*TUR`c4?<´u>|כЧO;:;\Ƙk )csIu>-L~.Zʲz>9پŁoq` x@_1KFapF /O!j#6 .>xrgfPɻSAxs3 Kj+*bk0 ך[[Ϸ=iEtYs!؋WMӘ7!sJ>XxeWՍMo[';U?6 ?><4:=r:Z9yvzwMNtLd`xе 4:3:T]=4QMU 5@=uQ޿RVnv? t;:S7#@3!C@)u7vB5(~7@Vev`E Ȁ[8N IDATx4gyiջ,X. @ K;_K9iH ! `rljVVuW{ߝ3;ewg/ėmi5[/,5[-U*ԸY?ҭ}=eJ./Ȕ sCO/UVSKku#O=M7Բթ[v* ZN=VWs{E%Ur w~VQA޾tSF]I ]ĸ~k5&s?מM;? j!ֆMk,(0:s>/kbbF˲(:;*@ bQD8&'ò Z &5Yظ**_I*B֢|cūjll+ǫ~,/R"9#'ř }xKK #/k=Jloh˞V,Qb%,JzY)啭ͲT2.Kڡ"YWJ)בl޴6VSͩ\亴qnyW/T"5fYGۜl<ݒ}ŧDRGReݫZ̥3wCJc Ÿjy| O|L[jB2 8"9[.Sg OZ˝R|AIJJ d1p9پC+VQ]? cMh\fHDÆe%f=.ÖkkOkdA#]4o`=kW{[;'N6۸uHFE6c%-Cečyc|6,149k,L v=bйQU_m?zpm+ǎ_7oF^^v8"c%!pSWjLt˲7-UFښcu}}xckquwF*7Fime(+3ZִG^zx郷g/6&g0^~c(7N?o -39~UgxJʌDl/-F70ܹFc7BtcFaQ/"H&¨l1gF<13F&6 H&uL>96≤19?g޾xO!!e821>6h,-F7^ cdr2F԰sM˩axr wo>&Aq5\4ŵBax'5yr()k0B eb7֔n7&' e6\k7 =c.cD&h"̳)3.jy2F`QTn,ǖ  qmpX׾ް,g F,`dIcyUF"UU9޻ok ޢe.^8_1JwQS7nN'u/ɣQMMͪ% sI-c<0Bӳ (^]+ 9\vdNwo(PPHzSO)ƂƍTSVh5?_98$'nz/ۺMRMI.do~I]={Io|P=s=*uW7*//_ݫ [Z+}p9[,YU:XW %@'[ӫjliؠ*hIezŢ\ w NNK<}}'TY߈+DW{SU҆{X1]9[q^guf*aRU1*ԂFtATFA~)+WvvU#p]f tuu](vmR}Q(&&5>=&~17*$\zPToAۢKG:.]ɾk@q!"zBNyIݽ5nP&TIÙ3ԿX4z _ 9M7@P*.S*;P k5=Ő,.[7JJ|O@:(dHFt;T_PSInSIVQgUӸ 1cZ[ZmضGFA8Y\((.+QUux-`(Yb[ؐV4nX~'$@Dc,{}__s{.*Jex({V`M(ÁrR]N&mmndǣ619,ѐܓ"ܕko=n>iJXi]Ǻ},bM5\ ėnR\bn~RWmXQ<,<3_\]m:/\+`~##UT MBUɫ*9 zʄU]ȢȨob;F՘TPR(p+ G‘ _2UW.>/DzHNr(Qi\j&!"*..ܝL+a+<|E1J8PxOq>T Ik嗫P~$4;=C h~>gN#pk ںCwl민ͻ4x!ޑsP)`l>|(f΍[u x2:6‚QsZ=ް (硣Uaa1돮eRT9t6ӣNx(9VI*˳hjqUDb xF:t>ԥj]D `sQf)6>ĊŢ4cӦMͪ4dՆ.p3-Эmlk: fW]dЬa*p롺}ۧ͢{?qvb7[TS[)W:uT&&4V[YixrHe,B|jXp~-]=3ONToЎj[Ӌ? ѥ_/oxox%gyzE?f(\#!2L+Γo3 7D(o4U^ƵR\STo[xFnj&fJj)"S|_tW+?gvBV,(WuR0u:a{4>SjU)}(47.{?Cs(Nrٝj^ Vul͍"Ͱk+80f9Qy*[̎>t^uO;_GxRoh x5g;i%PTƳ]27i6*(cO8O*jM4Ix0M`yA4\  {.nך6[7Owҭn 隘y(>KKl8bLlcSՙW3ld):CFbo &q@.ϔBmŤ(_|NNtM0ƳZó ڪJ+s-b]ChZEQ>g -lRHprT1Ը<:h!&%>0k8VD TԲ~gtקckOj(H;tU4Xi>+G(@'njWUeݿѺ d;ka':4zo<$wL N\%pyMs݆n"I}czşW.4$k68/}nB^PP*4qBeE+UTUU|g5nvLlX xE[5 P)RE_E蝮wqQS&iM㠏Rˋ]uTFg7qQh0;>FW[Hkj>_6 枽{t9ޛ,( !ǭ/I <::/= B/.ʖ R58ڃT)>Х2^ˉGEU46"`pl ZY\f{1]VZA̤ $wii;bׅy>8{O`!P=keGgxX@8֮̔لb3{kX\5r 8A-P GbzY<T!;Iqf۴$R:6o1^ JKR )L)MHG~uF?A_*_q sŘk (PUYÚ"b*#AWwWؕaOAY1p褶dzh‡W@N9` 0 URM`|_jyxt*q!1]љwӣO;a!v[ h.lQim*ul(uZ`!t]WPUJw7Y0%n{u|F.*o]eb\-S:G wv^7J8UHb6`s%: CnACt`3վʦiwDVJYUAe]MD螐Ch#YL9,B * <=CMN/KA"ay)<"[/s~mfe\x,YU4ܨwP+: J$Ik9ͽ:fyƦ_xAӣB/J*n9crifS8t.a 0 YfrxH)^;X+XexiH7#O.nHr)7C4%όT/xګ&-m{@iP@h)-DARRzLj]}GvNRVV2CU[Vj`Ҋʈ?ۮWΨ_@LxNSdk=Te8)B`W|[*N_CZvT 2Wnsy`nܺ6 ,|nbL{48J@N,g/ ъQh_ֆ 1/ Β V.;*̵.塓6gj U7q뚲ӗq٨y(]!ǰl6ŋ]RӠx"gvu&EjZ ?M8 4N#æT`LDgp UHA0fBXSY?AB*=tP'p̢  ZtU w<+kȽ R{^|$/_O IDATݔeKBCsp_qAVjߦmlfGh)QY#v_'51sV(qrx;_[LlUEE#0.h%bfXHiʆo ::2Ƌz)ywo'p %*2<.X 1vmЕԺYeF>oxli|¹!4qC6mhN!!W: j]-N=C v=VlqւrBRd<[ͧU^LWod" @WUB,6Q.[dž"4dGыw2."4v"b'O. ZL9r1ײ r*qeT֦ufVI-.ܾRcRUm_z37_Ϣ*X!t*NWTVfq@55=O?_wLeYyJj ! ,^g>+$[Hu,?p*(Sfݷ.CPk?k{mڄ2ѫf-A|55pWO>i=V3Pa5QڼqՂ;GcKխ4VyCs!)4 jV*#?cv_tsh&ryA, tFvPfcCԝTnnYI+M ij6%~ A'w缾ef5/I'ZpqM; M"?Wn#??Q;t+Km(_"t1TօYZt Kc + +$ ca7k'Jar3x-kU " P翩/r l iAnk)d7Mm$Ӊz;ge+:|=pp'.bף!gdM}{I2Į–qb)6n&LyvaUkעa/i|ٿ҃_8leD#_8&YQn߾bd;Ji_gt{AF$_c vuj"9qA;o QD7nL<]/ oh6)qs޾{U[S1u߹AY*P;l(2xXhnMOWcx%ӍHi@gTDv"+G>D\P)n <ÌOK2"eՖj(D@URH|.j^OwcV3!ߴJR)AE cpy/.Ƴ U t<*D҆.ll ӧYiYFQ 1 Yà[ュS;6)KSg@|蠞|hָxR  Qxx?^r{E^Pޞ3E rڴg4ujR/G&ʻYx_Ě$=\ugWװrdN:̱S\d ;*e VBHl {7Ա U(ڵo_6ks9ݿo;Mr7`DtA#7M%'`G[R c`r^`.\jmWi!T ʥ R8e_eG~G cz։`v%SXDC 4t s<)}J3U#(k Eh<80=%!y%]ʋ<[ϫ`!l?ʌ}2Re}ׁz6`OIQ)k%w!"+@Oߥqe]N8#jb`9l9<$܀.3{k(A`^а߀;>;p2OgdrzQ΢MM BQU<y N{ bhx^ { > k ǽ(g 4B bl|HPxa61`2DK}$1!'1Ro@1 ki%fuBL,WQs{H = $Goh]/7ԫi(; jDqfINgӖT)]#RMv@]?%DJxhV$+,i@~RPE%0b1b"B\8r}T Uy9 d\1=~p{4ȸkE8I+kS y4H 0&Fg8믿Czs)׶-Q~uhgv>vnh#UTŗ1="sw.$]BBmbHYMQ7 Ekbtb>Ԇ|v 7IYG[vCKv2q__:̳U0o/]һ:yS!- q[,02=v_o%,YJk;<8S>ndxfo`"\VZYd\\e _ya*7 HI$CFEڌ2") "~RH&HV|ЪlP$Vh Pp?avWԢLXCtX눙C!I)3WUA0V"PS4]]"cB5UuNrOY4hs pNOq+ :ŠD-[M Xnh.n0[ fs%XYȀƃM!GM5H\Ĩ\O7<|=֙ 10=Bvgi2+ɜ V_rX> Iɖ:S'O?maY.QTBv2/;5"95T)8:Jū{g/e~Ж{}Tf6?.\̨F~SB2wOj,lds̟KO#q'{G)P-tUS#(znmU) fe& 0e0э$Km\)̩%sƯ~zitgH8Đ{nצ{T]DΨI?yu- )O|+]lEsf$Ivvݽ)}uD=g?xX pzȃv90+q*ǏE-Eyj ZWNe :g3Ut0g?}ݸ̋Ejk0l a)a ހ%C¢0x,  &PDQ&%c&\ųlZVEŜ"3=9: }Tj*3*0?,UIzMEM球,F?ݴV/?3I.r-6|">bc*;С B6Q89R]Z$xi a!65l,;~.іxUȽl܁En3TL*Jpɶ!CqEMHf[Bx=a=k +5~}u9;# |tfbA\?l_*,*̺ib୳Xgy9&;DC#Z]g?8A,s.v$k&  9f&2s(]}{0V rdF؜S_P0Tu旿|mu].{b#}σqI}|8V"ڑd3T p*8!JfQf9I!$ Nrx9MI5@P3sBGݻr*^SD<"i6C\v0kb.4?ęNNh5eʽN-1+5q KJl/+tY;P/@$$A5ǁǏNB\E2MLwn 5 ya/s%L1@J z6|ExB?-tsPl,ń90rW969|LL"e^?N\u(IN[#ݙX`ʚUHw3l47C| $gN(x% Zs˴#aYRHnV~#&<ؗK:|\ # k pPkNfui?r *MEvm\õ^>Iۣ[w-J3qf"2҅ g*@E{y #u޻s@y,@_ԋ<AڴYSs|-#bg)fJnB+ U׉UZPR0e.t8LYefLqqf%M挈>g$b%aP '2ΠxedSC+ :뿫(u,8*@FԽt 03BAftlշcv9֭['Y.fM D-08 E؊Yf,f3at&+lĢyr q#v6py^[۷fM&DbplC^Q4 Ug!p%܃YO|?@5:y-~ح>ao_n&O?vljR𛵥Ә{ՏVR^U4p; fa3}"Jge[/7_?|V_Wn{/ SuJL^Q{{l[cF cUp_T2م$XߨG *L/ /c3؍v;(z#.h[N8}Sw@$[謅(O7e[lk IDAT?*zH } t8V9Wg{Z[!L&RH9 v<)3[ n \fp$Pt''}e% : hu"~y8p #pbd*9m_pm@ q d(6j>]Bg7]3k_AHIs}SsZ$B8(`N0TYHqȚ g7djb hyYms)SjXKmZVgOxpfE~,&ھY#bw[/)#NA 8#U"Nq*&^1Zɇ 'x;='/̇/94rA"26m{C2ȤZ*~#`> $4C~Ao0frr AlF1ަ&cR>tx3rl(͗^'?wyE uWxyL<L #w{LH5DA/=cmؾ*ug;q(\U$KZ$GqpM,铊SQܰ93ʿ|)d5kiSH=[̩B ѐ`8>#aed<p"bʃ'YI*tvsa?s-M3Dk5|z #ތ5@OvuHCN0͛Or|x=mz/gG]wzc)FjoM}/U.$m~=ʙhf2&:{۲8sdzMXDX dNt6mlH M!RVc|O~pUM 6+hJptε,(*˦jx1&t8~Wkj8ϵ#bsgw)Yv6iҭ>$p(X?0ϓ͡k78[%8 |Nv0Oar&8K, <{(ϱMĠs酗_ӣ?8Eu cvV!eDlCNcrfCkBybhT%dF09pKs<<T6sNɍK@hsV$:q\HEIE4!9L[ _ DitNaM,im(Eư9m1'5[6ĝ{Sƕ̭gyJ_u߁']*úblan$+WUQy ~ `mM-*kM[`Hiy1-9QHiH'Zw^׊#_6n8yFeӫ5+ =d*حi|n 2h׿~aMeUrN?sz9q=~azެͭOԾ5*q ߪmZX@JxwDUem`L{>|Av8%$_d6a:x.ܳ塀qMVKA~,~p9Mx%W, jLjcx  b㒧p)$G8J]mͬW!1Bm 0 MJp8u (ـ>;1 ӑ 6;@@/&p$a KR42&PKPLfspQxyΖ=3[Zcܸjf/3BfHElhMbt2as,Eİr&)$] pܺ)7 fms<'x(g~i hsH6y篨hio,Ÿa=wϪf.WpImȢx]A%$>\&y~'s(2Z^`Ru8ȈN3˦q ݷsNMj#N$Dž t_jvDiԍа~E\^)RN _C{ㅗu@ J G0 ppyuZ+ǡ2c@ZږhAV~Oކ95 xunٳ(c;T->96[Sp)XX6zfNn3Glp',(RQGlyiuVR/JrPQQ}iSH"yٍ`:(2T|fp#1WfѩSsCYsn6VΉIEic(w ^kգ0xnp_!< ʥ2VC|cggl4.tToշɉ"mxőwc#+1 Bgکx} 8hgsEYU2@pweH@keG>4B,ʹ~aÍ 2ۉg $Ԝ՚j8њ@Kou!sdaghHyp[XD.8̮2߾ͅnm?pICfz(guc{82q{lݰ֘) XՕDg.`A~0̱FD'Q[Ra҅K$o\pͫHݦfvLJ8CL7gȋK)ۘ? Yׄ~0ӂ;[;Vg57=M&m©N?)㡾La +~p.q<Aԗo33xeΨg9kfTa.sxzY7(OFhq% Yp] b F9TWlmQl T *-E&c"pyUQm:9xCQQl";8d&gުBe@:p#IjdfdEUπ).46#0DXJڋKwaTI5Ai "Biʷ̣¨ #2Qnvw#hq;І^Y~e-2aYzܦ|IJ۶| G9k.`a AY\lnH<МK7 -TeݡC$7?8PNC> /$fdbd\i0QaM#*QȉKT >%f`3ы8dvsw7L /4,8a @2.93OuWgR[RbI/?e37w" }]dxS ,ܤid7}6GXs*S`[8%eI1kq $(kBO Ռ#IlⲅR|911,jAֈK$J\ʻ 2  jp"9"Ͱ\5 ԥ#=aL=[6He֛!tL+c0o=d%5@:nu뙥SgʏGyPqԼas.FmeeuL @A<ܥ~ۅƏ^bObdgD}xo~ _W)Э =AH9fLS%%Mt%QYPi.< ϻ 3UJY)#ı Vj>8=[8NJu3F{,M=P囙̼m9V^Le19Lfn<)?] .@_Ō4ȏ ~T֬(DmW^|ٗW^7l[tD{l,y`8g!m;YVZ S#ܳy !CG4ʱQ̎"&\-<| ͤMr~ ;jV06>pȟ۶A H%6Di(\Zrb_bF(yO&ܕ{V3)؂\e4qK?ybL$uF\>Ydݰ(aio7b410jvۚ~N&2X*;6l#N0K7M7 NKGP%fy l2t?JY ;f$uFp[ܽZFqpqx޷#*gA13?R:ă|7Ixxs )"Y`lc1&`d'Df<)nݺeUixra s(<%)фA2 |]*1d6M#~'L2F&)Ϊ[.xBBz=MpzK8sW`ీSe8Y/RԍԀ4rŖnV_I[r>>"Fiwbe?'|A>]$[`2[ėShs0S ٿ^whAº٣;'K k4ܢu&d"Pwg)箯1D 4W/_5\$8<b< ʠ"\9tQZh!B3j? ȔF1r4:7 ,4ys,yAr),>8#M"z PߺAgHGQ-#Y՞#BY4n)^&IwIs8H ZTd_)'1kl[ 4&Lҫa0 ՗\ y0y84a^Qg,=ԺE:4/QII]uEYXPC@:~ 2f ՈN&˨\]U`ǓeFQ)X^hH/9,D=\p<?6d!:Pyޕ7t;JFv:j }ffl 5#+2L3Ţ^JA3UPz~Pe)2@F29^([ nLtCw5^H/^yE6 UϡOIZM@GÝ' &y o|p􋊎) E8hŒTc/ q~E$%RKhtCA+M 'ΖFԹl?6\1Tw!Ir+`՘-)-".`vIT:0,/ xM=%Nj!ysb D^:A#'pyE$Ea> +DOvwohb/QOfh㩁)iv{X2D 3eƸgF(}(t/en̪ OljW !xQRPut(tqZ!yҙpޚg{xФ9$Aljd0ĤQ<aj%P ËLz!#,Q89Cp2(Jc7vC@PQ[ =If%g 0 Ш+ y؝fpRG->z)z\jjQ8opucWİmlXz9)ں0j?@/Y/P䒌cP+_/ jRw%Ffܓ1o=a*|Lt4t+h)o?Bv {K_/W]N  $ƍޡXΝ;J\$̱ Xw1=l'y!@j1l$ElE2SbVC#q k(Z9H=.K,c@F~Wrhz9e靑Ny4&)E[. a@%JhNg${&HAG ¥cIXl ӏ쓾cjcTOo.o-ԘBv IDATʻY 2)yh+NcOwm`v;X8"#LsG!0MQ Ӌ)3+Dq*Q?x";5`gD- jV#3^C_Yz3lu0ϕ`@Ais&:z xSQ\C旯H0j$i@05gnW2SB6wF:̈.4s-2?B<0'BwrQ.X_;`G<ż}TkNYԹi/~P$7ژR"$ #b֮P/i|iٟAjwc&Tu?cjR [U3H@tP'mrRZ,JD>K]LG+w=*4&O%w}{= |v[^%{9j |֯_G y]f<~.t0 [uNhS[GTtjX;n@({=Pދ!'s 7` Q,zȣla8C(G&߾.Π60VLS{~"A]/űHl"2#[w % 4+=pfĉ tA%4qL\;.~C78l4<bst`X'בLcY>)SN(AO;APMXtzJT M0ѨfhiUs\\^cgOY=r~sB\k^2Q]3N豜y^,✩dJ( *GSlxXԺdI>~@,.˞U LۗӁ7: yp)G8rQFhpܘ3h#HΩs_nm/g rXۦnٰmm8r hO>NxǑa+I})cju6,֖zx;E|qǩc:a?{Zdm9B8 CLtXl׮]XF ;Hݴn\Vvab0;.}\xRvB" 8L/*SP..Z" 0TLR+LmFza=Z]&o{ 7W$2%x5ӱX1پ'' 4A&m<0g6\E֬CU(y׮#*2=mM &^z5 +?p,M aCA}t3JgNb rq|ão?UX[21 tD JYc!OdM8;!Z#i,T7"4^T]MQIHQ##{Jd iWሸ`)yǕ,)9M."&2-'̂$'3 "wCtv;(?3?b(ɠi>AHٺu#)M:*d&[ }d"9DP/9cmc"pWXYh# tbE q٧X\0BR"azp /ͺz5EQ9<J?iFm w)ne`žGd`dwS*DAXC܁{N9)+6QYR:5 _28Tѻc0f0<  bx^>d@%E#պTޝ!k;܋,QFV|5*[Q% \ȲI%H׋gQ$ni\ԑ~ w#:`z B,N# LX[)p/EhADݬX% ԉ6ʃt :nm=#2D/^A#!Bˈ@1Ar9c7-Q2xZ"!@nT͞߹Nig/a>%X:o33 H .Ya3*09F&^^%FỒh@\/+\'3HC@ m f_ 6W@?1+q~Z<4G sdxJ)K @ Pp*4&N<QS2@HPx: kjB`'6"s:LY[^D1 ħ,A5\(hܓM[)._<8k+n \dXM `q.3[Ñb|.t>GU@Hա 7_|;.˨GA֕dB Wx6wܼwΜd:U' &JxQ%L(L=!@]: F]?+PVrhl}@r~7V%I!8+K'ݪ*~2xʪ|Y>>zEePĮLj=S P qB(X Ûo?!NoʥӧΖk"&˙+'gǡ{`ٛTm H?6UVlSQo吇]JB3d!ٻs+VŲvfSt9" ~{eeQ\0C̹e@ߣ`G0P=oJիstjmqHifL@V-20{vQ{Tj1Kg'<^V)cmj yl}KaauAca"]ޏ?XYF?nj;MJ0aФ(9WV- `L#&>K/ 0"Tdɫ/Ο%Wɹ 9,%9lQe.1bZ+nȳ<3Ǝ S!ZP?!.e)r(B++/c ̼g5rg.,iy_[o2n0Rq`g֯6.]Tr 6N0DO%Uz({Wƀ{cep>@MG6BL\j7쩍fgř^3ľ f:k9»d@5U~p,2vUQUU"hI.Yx TLvDrnOC*8T1bb&thLvzɧɺ}arkĹ]F$\)jqǥߦm&`:GН%FcZŨpґ>N󯽣6y3XX/.,A_P D3O9_r%DeɓK#p$4\,t [Ĵ4I,F?F"<*bIOs$++Y>:dP}{fLc~} GgUmϽRa;_KLJ&<أr!,NI7a#Pr#zZy7er /JNH!ˋ9eHupC m^+/C” 70sqiLXPʆaT?1 IRPZxl*@\rW,2&ꆈ< |-%{B2޽ `|K5}uF(\qf&c ׆b\n[W.i@"S ¼ /(MPLΡsyI*Gb"y|WF@H)33D9lQ?gm[EM,%=a|y,Mv!] /~<qvF z 8HI杫zH72 #@㐝vuYK3Os!%<{{ln[0B&.)Di:2&wwѰ 5Ȋ`+Y!TC7Hvԑ UޏϭAKajp/ B6srL 㜛W^ZR>B}DlM68?ơRUK4ugD:^xEV,`He/J$A!^ _'Ǿx[WUȺZ\ Z@)ř_Sw}rswޖ?M9gzrX &"uIA / ǿǟx&ټa ^Hu +5ȋ/Ho? F[*eUh'Zm_ڳ{o MhrR*P{;ro^-$c U]egK04:ꘝw*$ـ?@dbt!S&TSþ"1`<`1,O@qZ;)6p>v NHY+{ $&ȃ;8N'cQ1БRR$?wņSFCׂf\N?-Ŝjd.&ɌSBtu{hDTup Qw!Osf:ߑ[w9p LS>];ç))uMd*.4/8N+idaJ'}E2@CIic9 e=U{?c{,駟s0ұe5bu&Sʉq@,5|dBP02 T?\Ͱp8*)>е~EjT<9];A1Wsj+*^RLQ EN+.ˏ#eu&q Vj P <+Q-lبIEB 8oJL%'_wCe}jfe [-yjm')6šBladn)CQ>֞.9>,ر R v诿G)x[})JCsXl$ARN趩} 8<8401SvP:-._aȸ> klĭrRXh>u)KUei;jJQ& @'A~t፿J9ne339ԭjb `kQQwdt HΓoZgF~&J1CU[^|l,v^Q#ʲ8]oz {ilYtXt |HL:K((I'4J=(:FbamzyO +ُkzӺuaM2AU*6Θ ֺ c7JeCBECnAJfiA[Z8lM.gXPPI]]*Föޭ >wѧ"gyuAݻ˭[$ IDATr\BfL|({$ *J7uCg6h lWZs`gVK믝R:O93 099?9{1U[khz9+sY"_~)d5;u'4z_Q{t2nYVw`|Ȍd,v*6/>/?Jnɭאx3_dͬRXp^"ԌvI~祠,"u4"aFwi4d͍U^;v1X.L}) ;[lRV-g|= f"/N|`r z# w@8Q|6SP.^C$,]*N_.P$džM(QL16+rNo$˓!fhaÂoFsϣjVޓuMΖh ce9a@9+6ڱK έ$&ľf,M/@-̵OMWt@9ÐȄCyL{T3T]uϴ؇JQ[ũK! q⟙GF)Ovwpse' 8Yx}@E=VLM ^|5tAntf3re +^Om{_圻x* #,<%: ADC5#7).3<{DBBtE,0)1s3ŏsw@ŕ@w$/)eunBV#ӀFrc{bqS]g0_ {"# WCD!/_SPeN0{;XlԬm*}edjY`%n!P IHJ7635]鳲V"RWя?Gr%`7k(2Gz(xWg%>:u ΃vy,klE:O]&SHO 5UNshK'(3%{N΁'*PG[ 2D|ul#9g!z哺t[J8L2R\ޠ(f-@8kݔGC~>:FX HC`^{/XcػGJA?o 2"I= HR,ßwJ3Ǐ#.7GU~V"￘S_QM?ro%c3!zG#ձaA,NI/ p?k?:#O53{ӌu1e=k' MEbAKZzኙjdȑa=lbw0W]2 ?NK2XBwQ2dG٥Jy0XgŃ}WK@Ey@leԵhU0SXUnXK-v3[rԾu,ک c)NBQ6Y7 <<"eX.n(:gO^ўZ $!/oU^Et6Բ+h\ˣ\T+?kRYŞ!yMHQz$ _ĢN$RqHƬ#B6љ C=B4S*n+ /_de<g:^*Uحȼ63n.' ŨGӸ-# blLQ 2; O`}!Wo#S,(  Wd%G߻\J<{MNBsf*@tN43P;.H `~@Eϟ ȢlY#iDv`[D4N]X]Kf'1d}N*%J%4vQwUQ{0pecKGc巯sťP> %0˼Pt|  W!K'fʳa-4,i/҇wo8 0g NL'˝JW_1 Zn 5s13?1c ".2Yw3 "z>[b|q(ȲLJ4/l#Oāə,m邈"JN\NLr|#ᇫ _L=ai{qQi=I1FOcz2BpBCKEDŋ51{lA4R(ni9X,l@ ?k1;5gE^3*?{6`ߢX&˵kl bv, o*F( +iUrXvJ9/?Xx95e쓯%,gOJƺ,kE:%:e~x I6h$ͬUN0QJhmuKv`Pԅ%;*nFeR&18QYEVbp,zfL|9럲v^.LF`͛1hm`PP3 ؀R~\ $]t#ٸO:s[R|%J /ɟ2aʔd{0OoD ꃉ O SDT֭2vaH|^?dJ]>GHuaR>!IՈCynGs,;~NN+ΤYloȯ#-Y!QDނ $b"/AO GcpAIA3jhd-/(SO³Hwngh(AuGar !>*#p_Rq ߋ@7s4RԫW'_J?9'(<(]_>Bɛ[P=NP#c-mmYnO>K{-Ю$PnHȲ>lv2R=H'pk{+K18pd_X:il惇M42xaBI\Nٳua`ghZG/w h'/E"ٍCǟ4I*dz`@^i;anGI0uƽ%?S ܃mʉGx pC3CR|p0u5@&fʐ>a>Emnf0@`PFjd,PW\:tn#=aTUk]_9,(ZV",qS~Wg/Iʽ2YyI*Q%#.){#:YbZ2uOH;$-S S+ l@e%H0RӐ`bk< )-Ȅ&ӣ\s6@1+QS!΃#U~'4?*!wdhZֵxS<a]2gz1btoF33k5Ty@yL&sFȑPL 0ԅ&SKI$Nf7gGgo 8 nnIq35MMqRىr z31 $\ ŗfv5D+_Sb~'?Þ*D]GDuٝ_e6U5U(.B Cmfj1,_9CnQZ ~,l68yɓO?!+$k:X?!oaHMwv ;4 !+Df/6- hrq؄DGE8\@gZ3#'au'PQ^3$Q09JQA=9yBR+D{0Y-`e4/ܒj48!c +#1B-P뉘vw! g:~}ΕʕMQvS#̜N41 g /Cwӫ,4zI>ne cե_=HS;L52\aӘg2f1o^uK}yj\ k@@>hdsH8d`|~ɢ$pc56 :!Ϙ[H gƁt(4)r#L2 +_W~KzI9J+JA~<5+|em Bf(ܐtvK$_Zc#V2}jO+$P',D ]WߎFI1åI@-/=#n‰+/qkg/ *)"b$j1vEq耲,pc ҹCԅԗ_|cLv= 5۷@yyL]p.V%]ati p9 mr6[. YW'FY'f|Y,mb7!^Z IbG9 v-IJ,ɣ2FYuƆ/QQȅ(iy](?m&9d?\bz43zQ}}"yy+ :1P[$ ᄑ|z  24ѱ="x7G2 սrV 0lϷ t&ϱzA@柔)~fOđzq .xj|C.0l݁lo&bޗ 1B9{֓9jbmjo؏ѽMK7'{Fi~2hBz^Vx'- } FXݨ[:Բ ,[y7/Q Kr2=z40!dY^CK'CZ#5,.hXఫ, ]vJuFBոl\}L@e#Xhp'%+/Aqmmޝ$beB9(nr&_ƒʶ]JT8l ?.f."YmO}C^|qz'2E|Xn6|Kc /ffȺ'T0kQX-GKnȥ2iFΫv+8~T @>A9 rk%20 W,7. a3f)3?APq$[s5\lNӟ~EYjgTAAQ0T LQø4|>zuE^=a﷪*qHK]ģ\+3 m[8r3׉^܂rhuUY+`V5PAm^Zu 2jK .ۺ1UP5;Ӌs`0n>AbW(׭${`UtߙsyW [IELߣ,jH,F9cE 5J$oT'%\=|ij酿?hQ=DHPY̸SR8bN-\4j G^MIWnoL|Ag;-L/R/4.0j+/NquO F m7r߃G>ұ;+oH Ay@CV[ @ςM~f"HHuq ɅՅCYn2SMZ uL Ȗ{?=2Iݐv+}\x1[sk1C]ǦU+1e`͙hUDj&!$w`jFgOdƁtJNPzֈ1)EӺ8>&,n&CH 90^:ʣZċ_K>gy\AE3olT[%[vEG&Cf [ow`)28}ad1A Q,_v~@Cg =e" v`݉$9SrӿÏ{vX.g.U9ӳA |0\MDNIkO<43 Tr欠43Rݙ:9R]L r/Aҏb~B!z/ cyGn4b0yo8?"П~6r|zy q]`B-@>rY烩 ԔYث V5躿sQs@f$L~?8Հy/J/ME{sTFF>^{HZ4٫(218+(8as@𣴜3ZOXJp2e^C;GE{g(x/vA)lHFڪe{cnk 5=%m6fs)6@Mh\}tx??Mq!GNc/ɲK_u z8wI,]48HpJhr+ʓfzayHe!QHe zjoY;6Pwc, "A05h5}0jX"2uJDFA O:HY-۶XPOvo]p ఃbQlݱ˧IE0-62I(JҎ+z: % HcVfGZtf03|c&YRhuN|Q֚QVCDOޮ>z:&CY IDAT|s2ٜ"1L@K JqX^ *f8@63݅6G R ČM"e//6 ԍی+g.+wKÇٔl_z ]>.>-MF0nnKW#Y$c8P+&踠BD.Oάyz0RxO 50S }`aω1I?v6ڂb$!~28ď<ݚB7\=3wUPpP]g(3bbG ZD FK-,*;OHڼHYulj34M@AyTGv Ntxj,+t͙TW97Ȗg^I~gI22H_NAa۴R2"٠4JLQCUJlGvtf|T%֨$ka)0n5Sf:vX{AzORcZd ]u9K-|%T`oܺR羾$ˀSxN@ʽ#\`,JQC0K2`S#rd,l`Bi7/KHTR"s /IsNEoL <j7OY0FY=%= < y?S}dh b,_Ɩb2H1$[o9#%%l SRl1'<; D*epa42U| P~wvtD!ӷFN;C1%owk*q])FdpRnΉަBDBEνu[Vfu[GdTQ*;Y {]^.0ӉгnTeM7Z` eΉIN?e?Ol/c DxX*@oErƻ2=Z 4r^KJ:McDpVݑ/9~ yF++ \k5BtE 4ڀ{0WlFU nkfRd٨^._"Rt3l!CjrܹU,۶2E`":ӅkW )4ԆɅbBC:b((-(O:g>}H0mď>d  mA@4:8CF:a@gaz!Œ#% eF=M]#1q ux7=8 f9|E5&`8^eNl/ Q,m<@6%;ffWM]3CX@nȺ|EpZHR|!20$(hj*kxYF;a"W^ĻB0,>>uNʤ1I'[ Qx HAqZlR!PW2EfıcsDJXB94G@ á$Q ;AJ3SW.w-wN|i8!L9Id"їBGTהۧnkM3A锲b a\­`1t&k ``2s8 =b4u舺C=tA0C[l#cӜ#шca݃ 2Mb\Jh8ݽ<,1۳ŃRg2r MCɛAZ<)xήp1KK?2pO.9ٜ Y8IMs4Hٛ*> (S83Þgftv<+j (Hb(g_`qD2{mwNTpmSHe T7PQMvD!ɨdVJhₙN+a-D@[d&5'IQN7Ш"uw@B{NّyZA? (յ65O2B%ɢ 5 [!A{Za)pt.3[:vҷ'|0<'Jc'uƛRyLw$P\q a8+ _  E jrEu"MJdG^x&;De+f>q ș6N9ƻJ h`W0r {\AxYwwt&`)@f >d̵JxV*e0Y*O>\} /ʦE3]& Wa($c_ˋ{<.Qul\1%[ꚥE#P\lC#Q@ V* *9v1L# 8^o!Œѯe=(@g+) DX C7:1/pe@e麗\lË B=Dof4%.rH:zqߣ $ TyyIJOIӭx V濢EV-Bˇ8IJ@8Jrg0F`(xMt))H[&2P.i/<ǜip^0 rYO 7)!>tG->lr<^悰%-.kW5SXtdJS.U܁KKzv IT"68Ԑ1@&i|IߺJX3B Xf#}g{:|[լ`\< Y1gC5aaX !ܩbPPTDAEA59H)(Y$(” eSʀC0J%2?2^ <dbHU6/+b9+#ާNjޮcށ2j紀  [g"`hܼ^rf $♬s2m4a.$ٸm;΋FS,t=wi@ZK'<LYd4Xe3E ESE y-]D^;^. TҷBDnVh)" __y/C>Eҽ6XvO,_n>s'|*>ٰ߂ȍBѝO\h POg TOP?&2GU;QڊyKgHcnvyMRe{&ɓf#Km0kid'HC+ޓh?@Sw R!;HM:2lash-iea=0o `:$3p0;m{$YC-ppbfC[VFC[f>i6ŬI:YsTF,JXO?d­v (EcT/=Qײ::H7*L7=#@bc%rV(K݉XB1V  i.3[AәK_= )\YqwMQ| XLfq!CCPK?ˆ-+/O@L.g7 wa9v KQ[)W!cu}u8l\ÚƠa = %u>s q3/Ja*(M4*۟,{P-JpP0/r9C1S35{ Yשœ%Đa<^FBPO !f̣(=f }}ť C) >H6~&G-]Fd jsk=S-!G'Lt[w4ODQV-lH̒FPD@zKkĘt%F6ˌ%+=2qn)ZyeWKR#hc-vr}s- ٍ$>.@[DKT/.Ҳ201JkFЈ]K8bf͘#"5 w-Ng.-'À c3܀"&'T6 =H3>at}/(_櫧-<|_%o.KFo/>L`nu4g ,J1B5،Y@toB?uEE6[7!X @k6KJfLOxˉ4 Pvg糴(Ţ(=)[KNGV}=(U)~\J`q^h q鬈CV#[X ESJ7!SgRi0)$[qLȻM-B$a`7:-%Iؓ?]sz4fBXbNCǍ'PcxQ!Z5$ޭ]!N3DyluH/.gZ'dξafS.͋NBwǏ; N7 J]ʔcΦ76klYнc |!#V%RZzZ*#+7e+/ftv8W!-/U? 4 N7H%&&2j0@M0qMwr.?Ņ |!c>݁bM<`=IY Z2)lhv-TpibiҪ> {rQg2_89{mVxʉx[,E_!r;qfD@ppA*IHYNbHCoReiAbk9LI_[zKH),klRY7Pќ~{:+uϨc`E<ݔ+?;_s8ؗ X D J4@Ը<)4:2.J'u@zA(8⯼J`qFwK=y^k4t骵WwqÒ(B_r/PdS% \-\ITa׭EQRˌneA)/d˭%!Lјgn~,t#>*@R3r(,+ղp~@ɧopw쒣c$;Ğ8Zp vHG !ޔݠP@uT$RByfE8ceNT@KeoHnwXdE#bz73HC~# Gʆ5ˌ hϤ̷wC*2~or!&\k~6`7>GŸ]"A(T:1 >tOz9Tq\ m`)R,oEz(-ppxӧ>.+Ȯ{իH8Qr[n13ղv&9qE ̅`ZL$qU tpjpzvrPk4 Du-Ɣ\bZY>~5"{p@.DN)swJ/o}ku<0C~8x&9R~@?F'i]_'gpj? aA΍$H[vINg26J)L\M"(O8T-D;?daᓆ@t'>* ʕ  ,l;Cv(2_P}~ xVY&#a?HS޶09(Rr@p7 #Zx.RVlK|[ Db5gՀppf.4sfA.} yĹ2@CMx w$W#Ebx씂 G+W]X4{hx;B11G;>hsZ.l# zX]AD:+|qe\8[#KQI閯) Gv eM*@ ^oeK{Zc^]z8n ZȺd`FgtK f-=EbFcD}a1il ޼y7K:G%C'Dr۠b$̍K9R//IhLJ %Da2bmZ-*ALfH#ʤZ+%K$ǁyfFt!LjJ,g/ {]Ѿ@a$r`A< u "),y҆_D%|R=Yʼn2K+a6zeEz{eӚm:#4s` ۈRp'aM cUMH3LG1$\-Kr1cHI|yy\ ;H^BwI`׭eO! =Nsn([g=|mOVtlV [m P?&' -`H9I)K/~tsXL$/U,^H0dpYVPX)7܀ΉcB?B.RMTڄ+ 4 -DTR3)YYq!.B==i!kp6YE-aO2%',5Y@W7=(*HJVd[=Ea5SvQd;UX;@ a1~Սo60_ka׬=5Vى>K %|oߑw鰖ɯ~{:C;{YoU͗ <#LlC 3](UGaLse hahd7k7DkcC~k<(G=3CMi@ŕ,Ojz mx2#r 'ڞ.6R./8N>=r7+'ܲk 3 `ȥ6]|{l4jXjcuw##֔󝜒,- Gaũ.+1 b2j (ވk`&n-#]<$ LFSK1XXϾA'gw QMUh8:mbp'4\8"y^ 5X?Xwa-/ br^\>QQHTj™^NJx5<_}J*g^xM63Un@< n;i#^Vey{gXI6E^.ƵzGޣE>N0$@*Sj9w IC="A4Pߖa6bQ3zu|=RX8Ha̗k$+Zg-c۵6ْTxqXB@* Z/E`0,LA$"=P&$si6ծg>ԃ/}Oϡ֌It !:fxnǍji[xdvHް0Uʫi1CҩX#' Xf;܆H1M3rj)7X/O2% AKvtlb :5NcA]D1̿ #k0M. M4H~nqHz8ZQUb%0S^jCP ~!7>5/U<[(|L$g4+3+\y=|y2)|/uWe1-IjvFl9ҌrS#d4upfȕ`4섫92w0Sx~ NsH֡M~9e^Xk$*WFI#犏QzJ2d# hA"U!`i'6}}!9qkN)bWp$99 ɀ50M5',XD6jLkx`<`;vlfgEO+X BI`^}X/)YaG6 rB5_OkC$龄ҒF>/$[W!En`h)b 07!qHx4%Or0[1feV<_~~j?5v #(֦ȠYNC0.D2PE F` rKʞ9 9%а.LfK4U!-@Q=iK@^tvHgIy$bh#o"$#sBB!(s LP.v4KVFK!ڪuMjMz"/g; 8; Rsg}|'2NaF5ϽTn4{f[o)pInX(Y-ɠ9L wP=f<IZg(c,9 K|=]w|1% pLrH_:8$"bP;P./G꒖Ak)oR"T@JVQI3G־qn"D4PfE6k?E|ٖ0kU$%,FcIyXNp6Q.*o6EvP/J ˹t;WJYŁj.7;] Y \R5|⑘sÄ 7&)Y Ds.ɓ,A@Pδu.>"yuPGp6lA)>uƸ dis@>ic̅lL9(gǝ9nh%],i{qkPБYD7U[ߗ}#?"/븼H{E,؋R" I;Npi=;m}dR((?鏤i@XHw$c% 6.>a-:WV]d^C cN3[FO<ګfGfM6ڱ}D> ] KqGmNOkLEQb@_a!P;nLah ELBçԄ˄U1Oe $jl9ay?3 $%q'955#_pdqEf~Yr4#h{ʾ>Aʎݩ@ :rxe'4[P[tHJ<0\}̘$$%Fq{YT?e5_C/M a(äZҭN9 HrRZ,LU1~jG]k waeazTVlYҥ6G%bsS>e!plEKElmDCm EJb5Q]W%P~c: GTjTa~-rW8C9MΑ}-+a|IBPF\)2,Ca,$A)>c}:}h7͔'VoOe .4O"|1=nLeN`ʽ@~x* '>hɢtΉn$t}m%g >hdOLͼ׺Y7N=4>mzcȗg_/,-fJ6 Jx䐛mm\\֬ ƜYJVYeIr2ކP֋3* "4*NYY{5W;Pf)r%VK|r48ZPS}|h /;o?8Kz21LE4DO26FF]>Г[E ,)ɑ#9X&uEc(wb)IC_Uϒ{@ˡv5F vGwRv3N5M$-c):,K1EMA)5KF;p @C i0f7oBbDXi3*4ud1ʤn Y ЪMu,)d!e6<$SE%Á\~嚭ub[tNQnN~r$T`\*)\2ez\QC(,' {ι`(Xh@/;)XFJZVL۪Ml|ՅsF0 fd<*nHmH HQ ^8`_SyP;HpP99YDd%c \M@pBQUux*&㳏>EK첂%cI"*V#X;hGݖq 0v Rhx6Ba (_,^YԛLs#9OÑ d7]yE^:qFl3MVP`O]kq@JE f@htҀ뀓 22ژ_qSdT[AӭS+C:>j3?S@&Ue&̍CIz^lA&|$L.M[~48I 4n$&h!,3tcPd .86 >i}#PLЎ:_2ܕZ CBJ QCܥ'֦?cN5kYN ed&P6Nk(!ٲr!vKʱCT`B(WS?' 4keRf.+v)|!7[BNrb[eJy $CK-6h@x|74Lpe$f.R70 1LGS'hZ!g(m?ѵ1\FŇB :TVjA:Fz*rsFL#Ճ6hlCЎ  xzx.fT:!1U!] F;L`('"Ay{BpHG'K(> sfl:q<@(QŲqdt'z%0* _VЫ0jl̜  !wI<6 %v IᝢֵgAӄ!?'3bнj_29ؾr$ԕe 3hd5.90p;ӀN? *')!)4C"Xb(fEꤨ$!6]6]'%``īYsvr@F 0FICBX8#u2җKez/40,~Ò`7Τ7R%%Hem(`]<={9 ة?֙ #D!LU ݠ IDAT桎)SmNBPn*Jct02LQ#orFb/KnAd(s6%W7 ¥-8:K'@yh@8F~(N r= 4HKa٥89y('CO_i}iԭ dq2$DPu0wIj{dU;I Y(ChbAޝl:sՙnE|x&!=)3EʈhFR=tl384*cxLR ryoAT@ګڦg("@@';ۘ 짔e3rz#qOa5qb&;)IƆl/uv *vz4f\tU^cJX$8A 09#+S)=% ? S)y>PC~tQ޾f40 3$Q%jd9 ;}~g@--p#5Z&S4 "QF {ªH;OA'yWR{A4aSΖ??l\uWV_ԤMrzȩ jtfUG  1B)NHCΜK*MYto%LNYf=jӋ>); N _> Ae1`O}`&9}^1˜#냄Ebzp ;z򿽆>C,E'rԴC÷f˘{c@%ɨj.^ *3HfU&ذqNsH(!9q|uQn;r;G!Nf-$]"`u[WD"a\-O)/ճJ-\1'ٵLjGHcqq8 rT$۰b)͟Fk U UVjK%/1'_l&.4Y(ᛛZqCPdXv!,vB )?{:iYz:~TҢRPzw96F#X`dvr =1,F!Z{ *X?eiLnn#ݝhgIH 9.^\~}^."Pl\ VZ pFHihCyӣ&)Bv [wۑ6gZM13-߿͔ex|mK[;6?O 12&'QDz"qTc@QT r73o |F:ĉb$OxhoRe3TZQNb'y8?!9(, BAW>H .gl\UqIΗWR& 7RK 85ʗB>-ihRgyP`,,J¸ԡoD5xCiY yXyJŏyˡ奱rT8 e%Z/^9 +d&Qb2@vhP"U'0 t!~#9uk=lLid^A9MG08D~9xU0>9~̙ 3LJt&Ӿi} h3N"o]#_.TP0jVqa8eyוE'0S PȰL7uQgT~p.9t ŵd(f.PC"Ga5jq w7(bςm{%& ~<.Jp:&b\N7Jw,#ωwVB9hoޝE,1FRN sѼOuGDt6EG! z f!εSGuͭmC60ĈDTu3|n"i@!/A¿\ _?H8zeW\#:U4ȰS G汃X&)>Tez)%W@$*C:YE/SQQ$:Հrs QxSt_֮LUկf% -Dndc$r; 280~th Qݶv&q̔4#Tr)x ">1SO;.7^u5d} [@m~8ot\tn}r_򢳬c< PIK@jrɒQtiҰ:BWUaH$#TBueL!FLZ> . 9< 0ePf :ͦZuʞ켰!TI婫Zӎ*_S3 )I0gk%ci$9oiTUZ.asCNc9-^,A` vvJK ; E0(E'vl Nն -qaH[:q\apD$ #Ղ!ayU "AŅ2$4ڏ67p~RIlԠob"h *c'Qt3֬^jbc*!cTťS$ئ$5 5?;K:!ʼn{ݨU 2 KsI)D hLɩSA8h*3Q6+2 m 982j^ldyy>FCS;Y(jQwJnF>n9: +KRk6Ǹ4$>Љd!x(-Adږzb58D={ S d#PwQn,QsD)2Gd\; >4ڎW3`A[i;Lx=PzI$BD!IAgWqJn 0D/R %.Ũw5L1,$ѦZ߃'1]kĎ)Dp /C)røn4jkѣo>eb^d>+9֒AS;Sg+wJUM ( 0;GnLϳRӽy>$뇿:E=ǢjRr~AnFyyn6][`Y @J6t]H%7˸^-ǐqT5us vx$6uJqHAZPm KN.&,3/j7F,)A%% ƋW>rf(hJ-CCeY+Wd692-ItM*&M:+I2AlM˯Nz2Nhs|bq>n* }3TO8MOۗKNePRegFXn1NrF*jW_P,2O}!΁dpHCF$R贘H@n$d^UM6]F7ה3D*&Ez=XnDq'EM _HI!#dNI޸L~5v\Q#[4U "Yr_2&M]-ߓZ"z̥N"p)1 oYܠ>z9fЯ]tOIɅ@P>t9w"|x?AN6s(MGb)'&;o#4|A!_З iXDԞH@W\7ՌyVKО:`ER{cj;\e%@۩ N?py||H:!xO&J (JDkvQM#I'o$ޞ"w`}KSL pQcGJkiZR>firmn)|tCu)tWG,T5$0ueptdՍev.eFf^7Ć~j.񼸸F2!_4 Syn4|w&(OЛaQ3HY% GBI+M0kL&:J3J2 &Ui'Rv2=8bXjb@+u~}dU ?=(^h\Q|/#$\J'j-?`E4D!(k?[&VD*"/% :M3{8n('Lft,*WwgbfUfZGJK08xTbŔWT+u _~s #ϑ BwPkDb1 xB-eR|,o,JBƇeM l!>6 =Vp=8w>f7ָ40 wZCG C{Kx)?Bep Z|Թ )Q*O%#iXu'03SDj|{c`gO$WADME$!@2B-B-OLi8ߨh>$H4CMX3cљalr13̟b:hG^B h3)zO~C4TWω6]Dx"UEDe {4A޲e.5/azz҂yxd55f8QN0كe&jz8Q<&8C015N7rO цeC&?9,2t3t y$ۈ7X[;)SEՁZcũD6\o*eq yu7{.@>zF~e\62bmidDL&4p/VT %=(mQ䆒֯^FDytG }x,\ #)'ftէΏ@,j㢽\`PC%%1+!e 4iSރL{S;r1oNY< "D8x~FkH/(lu&ULJJF4rF 9 U($JJo6RSӨJ8<;=Qݔ$͆<47zo`}umA+yfdPʯ4CqY*IV'<\}tbG8+αC1G%l<^D^nJu|b]|^A9 OuZj(lÿ͖/gO1Gl6>IJ+|bb 'yCA K9My/kz}vpffgv\k Fc6?D0Mb_%o?#0w댜,&m4 i Bbho?V6nA)rT!{Λ6Iypu2dSnOp̠@m;,A'^{o/<%W|n0WWK08:菉aAj9BΝFY]'&$}s8aA̙M]O/ ĸY+s^α{+H|ibC9r:AhXIg={RpR"rPĢ=~G*3?gnYdRP6sZBqY{@FpeR#X4 ga PQ?t3o-}VXtD6sa*%iC|pd(\֖z6\HK^0И?Ϻ .\htu?iB8H|$`-Tah0;J E,%2bafso IDATgl4}a+SN,\g,"yO 9da!,|X1J y]]}7'7;-zW_5hǼ|RH Nl,gl=/_CC507"]_\D3)q$l:_o`&d>U L0nGOlAi;Mh.@a4 =9Lg(z! ^.ռ>T|CzjA6Z^{g!Nʹ&Bz:b~c9~1':>7CLϠ%7Ynh),w\{ }8VX(F<?7LGhA967h:9nDj}7V,m oQ7_O@4uw9X)qxZ;)v=#}3i? @BF໰mmFv@ϋ7.NArS~IAcAAjMEMd3[32= |4|3hސAh9:|掆lZ_<ŨjZ-n`J]+Q{CK@>W7F%==A򑔺)lt۝iRƺ( / 2-C΀I;$''d,/:Yv>=z V56(Njo #T6C2@iXW-ը(Q#o|g d*!l>\P.qRɐObr]$l( "ZA$܈ndV>*7RǠd6>lơv:B:Xgo_Jj'hL~ȿzyKjQNa9Na/.>MF 0dYnHu<9*>,篿fv=5xjsuG CDI2ԫai#?a5pYzDjk:,:Ja:@(sIרڙQH?f 4Pfk'z!CP3F>KOEz3TKckgMu4t!_Eq8:83 @&pLf ӇKe4n<؂THAQ8A5,Si~p<#2ks3{a]4_F^Ps"y>+с{HΝ1C*gD!B䯽)EfA.6!U W3#S#h& -!j2R*>^駊z(H9Q"vy.qLT}`1 iB ɅTi8~Avac9O$Lɀ: *2v1>v]ۦ9f.VZ#cH3BfI4uL Fģ`7ˊ%rI'yf(i5l7D#hAzv#]סK2J#;Pk =@~Ji!5:Q!mQ/=KRU\l'UL > L21 d9}4% >oNu+v?ANdsaE44H?<={g^%3]~@;샒0b$-64ΫwEӎ}K9Az`{S e  vRDFVgRUAn-S֕ʧVA߱T<pD~N^)| yɓfc랧xH3d%n{d{c v&v{9d2LC zZ[ֺZҪZnuJ#3Lf}~o߫= Y8snkgv7 G'?xs mܸE2 Iے70g>J¾p"566Z"C84:\bzxq`޳WOS׾ ?yG&Ϟ"((U٘adQ1@"}e FɭA m hS0nli";U!'%DREd8QR92L1L/2q;-ꄓ9rAq l[JMA:%v䆑v"Ru"h=CdNINaN ߎ8R5&*WmNMeX;{!#'Q8[5%n)( ~#C*髇v-\ZYb !ƇԱ:EIOmaS}L?[qp1ɰ>5v !;F AiOI'r(CXp#vt0G'G {@:@2iݰmXn?B&)yięuC}n9.(5e| ޼tvNR۾[·8(jxYi71!b9* ?VQq}qi%ue^<1_32⡐;ue{Ϝ(Qj)Қ4;!Qg*jz%IT p8ȁƩ)uNe_xRJip¸z@,$x05C(Q0<?T ? {r@:Y%`9W .^W(L\)y9Nfh8ӓ4"x. biclvk68Bi:26KNўzfkN1G3Lԛy0lpKN BEZ w"Zn/}>̽t&劣"aE꼽=ՠV!9II?.줛"tk}L =ہbO?};x(-q 15ҝx[?~Odk.uM.ER`xXdC&HefGonfTbI-f(zGˣ@W"L4ؚڻØR.]"(hZy*-%J 3qd7۪JD҃෱ ITMcpR_PDGvb s#ԪqP/2YKuGn^m;n.( g&:.hlMTJ U\2+~k#,RH^AnL Q2i*3_6+'&7k`%L}f(n[BbܔzAIkܼmJiPRH}S?(ϾIjבiy"pѿ=Jh?e #ev7_bQ;ʓvþw3ox9KNDIi p! -,Cq% W"UW5ٜa^USNKx!ݛ+i [sc3()9 BVÏ_CnPCh;9"84̏hB1hZ==D׮V^0'U$s6^H2gSoĈpq]\ТP+p(#ϖ7[hr?sJ6♔8㭠4 7@L&6ԞeZ3.%eNnI \h# 7@[a\:BYs_C}SxxqlɽyPjO >QW*&5C!J8P袟bΟ; Q2H}\l^&'Z'5c9v}f x?c'4Sz(b %(7.]LEdS|FhuJJ| 7Aח[Phް\Yk _V'}olm/caTU^B7kƱtgwK R_9[Ul'ӐxQ62> jFX#Z63ϡ;] JU'1I:4!%ώ ~w;U0vGT8b):o8_:My@Q mVOZ$H5G)p R&fbVr<^P iQ܊ ^~J -*Q)t @$&Uk& \ i-h5!E*z,'Sq6|0Svٗq@\{X-pֺo_<< Rm4=VQqΞ:mzVIA[:̩+&*Wd9 6,k""쀴HEqk~x 'k Fl-)yT޹^pٲeVHxlox4 &0`V8?~P|]_.sK͌6Gcw3?/BWɗbz±*݄*Bzq]{pt<~/Ld 0i}sQB)EF1vJs)H`TDdY Dя,2G ZLDNTf#4Z[WlX 2tqz  qsUC֡ơf93a!TDlc% Cs}PIj}C?mZ¨::mmt\E+'@.8itvuoCBkF5vF%<>$ykI4/a~ǩ10AQ|hqϜiH$L@*s*;uUz5VQUF8cƐOxܕãsek&I-qkX< d%~xZu]wmaaj+>,^Z<ǃsvbFo,OvW=@fme~<Ktf(Id46#Xe/ۏ6 k_,_ ή9`HP[o|ӟǟ^Og|oWyO͢8Zӳa1̯A0{iWlӶ':x5?DDt:<뤦 R.,\ k 1K~ (u&d|Z|:0S*&Jy%tP.:ks "r{}fߩI X2X%v NbB2O*a,tBDҳH'yKNBEH#C~'9D"\W7 勣F~ 1QP벋 %} qmkbZ insDad 1c3+A{Qa/?YX %j &GhF>ȰT1z~6txϛk$p5?GB(1D`D, Et&8mk `ۇtG^h8+޿|`j |?XK{uFoٿRJe֝ޞA!}nM{_r=PEǏس_~+]dSrZS/|4{HЀ B@N9dxWNo,0O͡EB@=)>n8D>sxj;r !ef 4>Q0n6Dy)$`$h[ 4<_—`@xs#`T/镺.*!r,iAJόsCogK{G5|'R,/߁õH(-sJͬMjR4ObP8BX+&mhDEѓ2%@}Pt,.;hEf=-@BKKN' !Ab5h,igl 50z;-C/6N63/9L2=9|IR](DPTBfCuoʆ$#3dmѽR^~B E ˙O@As GϠA.49tzYA?8D;VFi (0aima5\9mg^:N_#n9{/9b(⬼y;}%sBxP~ԧa|GqjX8H3訚kY` t| Z#tK*c y% HLDh`H}|7Nٞ}]{#Q$4#/B98!ILsuS V D-'' G IDATC#a Nv-;bo!)8hW}U#gV R0!Sڴy}a49'1qH&S;rwݦUVWU×*bj0  fptϿr _dK`ԓ/>@>v}%{˜!vd=Vpï_qN'Nj@Z틇1qO ZPPM4A G̮m3=t[ho? !9!8.3K8|IqoaYPXB-*(ixD*hɯThGU^ρ%,98]n^?tMc{˞סZF>E*R-FCQ Y 4:b;ϐR'P T[ V}5_] Q؃Fs]([vnHG Ьd(^?{" 0KգLm&E's;a6#}~& ZѾ?Ui؆m]:wf(_{mK?P1DzAj8fm\u5Z_7R S4[i{8>!!pB;6LzC]UW8H?R~Tǿ8JPnHTcP9k?r6Ix.RC)Ft>.sb\Ò={!b:S/͵=坷YM>c;DLI(a^ ]fSZ5c}0K \dIb 6S| 6@bqb=4=zټ|!{b`8A>Ю9n'ϐ["Ic;l },|&:!v(&j,{x(52f.^blХzc:jkW zReFIq "Z=р@Odk {tL6UZw+}GxGO B00YISs)v!,8+W[߼> 4vPCF8HJK%ݢA &9%(_eQe!J;O $CQT\ /"{P17K* ZKӴt|"Szgލvݷ7<]S~E6 ιu7UwNUiAR.r\܏E<͛LQH(!5:A1tGcW0 %< B8iC%VsZB $7ӴYwq==rI=YLH\LT1, -hkQu{n\[tq)Cs]Ġvn){)` A'K!_g +fݸigTءWҵbפ3v  1Kx~SBr+U=Yɸm44%SrC87 D3rW O`XtO'5 =*lf E37,kcJqw݅7~Aq΁FɁ?/ᱯO}̉P{=|"4:Q@1{(,G)nƓ(XKCHO YxSZ"#;aUAxz."ưDlZ!\rr:^8*#VQdf)ǺHw8|.|*9av^!7*xh!C2s 91t@r]:tPE+!bP}BC}bAqӒp>!O]Vp3-:=sK-seF1a~{)6콓4ś8Ihᢥ)G`4█ذ\'V 3#h LکW_@Rr}lM,Lo)LA1rvͷ4s#ha9y}vf{y4nrq"a#ZJWӻebSmRH[+4n0 v!z;ru(XH.SjR< o/~ʠOɊq: _pxTgOsak9 qȓJR'N[[HK;W΁1gz*+ZPPyHn6 ¡`h M? ދ7ЂeM禍}0%%C}s?H@L "óҺ Khe7mFtoVbr@ʲ#\Ahr[ZS}M [s{0p }(n! A5~/0YH1d|!:~(z%D<@KW 8N\4D&)Bu"T#-kB/B 4D&Q8 1]#]A3 %7š{ںA*`ią؅UNeP X)Y(^eZa !p@A9/bfz[q@Dz+)η2!iR#WdgѤ!y_Aׁ*2[  KʂL 8O8$_˅Lz{9ƽmϾ]V{iP{w]P!cЯJP1[Ɯ ba܁96[B"E!niUGHKu4!:,RГ`D~U #*a. Yi#ߏ•Ö;n|1?/'gtCCO *$ 44 5uK+ #$2Kj(R{~lР&wA3N@i(|-4QVyg7" D,I?; {KP1榔Qg]+ N^r\MZ'1<&vY]?.`pQ4 0Ίx(CQtZkYPz8}Mdڷ (G}8Eݰ =}ݤeX 8YkTuޱ?^̳"d8?{6$1ڌp\b̈9 ,\lg϶mFC5=P`i 4bAz3%D۳<U9d'\o ZU5[!cG;l}NbBgW~XAd2(:J|6& B h2F7ox9,<~־EpM- >R8lVF tKߓkBHJJ\;l|Gӂi7D0_́g:'z,NpXJp<2XUx.%n9" n<+9:S8O ^?>: nfNDp3?ԄzDEh gL5>2AfCд-:xjNb$E1:i)~ODhe̛h%yN8#hnx>]nZyAcAfPB[wҧckDa- D8NG!Fj h,jG1;O:^D_BzKMa+3xt/Ŋndȇp>aGWZ!* EsXy_CO8mx^^V4\Tm _eA@MSF) Jtd} 2^)R J$4ج92PjZ 9)upHIx?O -n36 G`FMqAUH~dlƚv}O1TV2CD>3s#s8<_۾x)l1\sЪ"_ щc$tthS'`AFBedsj*;ѬfFRXKàUW6_G5;` ! )HL-3?1>c+1@\'8u8;qƑfbkmpRI۽o==q_pr[j;b{v$œc-7o՗S ^եur*.hz`2wzp?;r0T^hDv.HB2,.Jj|]@;e&7!gIEfo_c}kf7M[NIB}_u?@m|d1iǸ}jS\Edўd@qxeZŨko@ <"F@ȋ͜j`!OL< .a5( ##k[mP ;+4^X@(=ܰEO{ndjQqРtP+(3k2(^nZ*Ϳa`ҊDQYǦf䐤XROB?9mݲ kQBIytDQ6#3&@G`4oJqCbk=Y kG&0@BjjC%c̩Я=bjPGliIe,oqa ɳnc)'k-ވ rotZZ\sVӐvm3Ae%V"uՅvLmXTQ% ޢP "d&&Qm#x06Rs,s1CO}®~Nj?WqqigBF9Eqo{,-\Bj ZCmr3.@?]+VJ'2l؁Y9$t5rzUӁIjB{q>sEG9R{s^k/njBR%Ib@8$]A=tj9W-)6>NnbP^*h q4"M9R\`DJ?w;ܬTd/_ 7ZN ْm?rRg-9_:pW Kp|pvX9 z! ?_5Or w^qW8X=7rCGOt˅CE rAʩ틸q^=Ȧ7V!Qoj *5c(0aW oH_T jl 2YjGg37گ~CR6UkU_K{קw@>]:| .#<T܅aQDȐ@$!I)\WI'kHJ!J0jhjýȎ8xBgg Q4"$sѧP֠`|>ss<<=D.zƈ ày%%x1vb>7lI۞4ͳP 5LseYf:}dᓇm۶U}=-4D%#1m4@EFzɚ' j F_ ]Dq$4 @;H$b4ZJ}(鸌jkuW#"=׶?CteqȑEKAT:xH onW g KcO*ʚf{pn 8dhAC F$m 0*=Ƹ@ l{엿xtR+ `tCm;AP-"h,3'N_&9l@fr,m\c!+ HiDMtkQgJ1H|)Enz$=XiG UHP ^#O^x)x9?1@҈a?lbt<*?+ѯZh}Aϴz*Z̛M7PXPjY1 nL%^[hl O[_W;%/h/MFOjAKP'hκYz*ՓӉ0j=6pNtԃ>+y(\DH|i82VJr&H܌ā,G4}4/N1"E,PWSW‘ SjF;t&u1D=h\>?l\u3-+zYLIYwbj_jy2 4],Ij?.^}5S@bؑSMNƕ[/4/aƙۻẵxV)o[@gGqn ir]fF=XTC7 o(FB"w8EQgʏ#@^ _<ߡ)ʔ?qN ua'Ҷ6 " }ƱC0ūJP~DEQѰ: :54<(>I]43s9K|4׃hQؤ(RYnx.<ո+g<!yEƮ6uxW1,HUɏi`A3 VZwЋy3c0|/؁0pHtŐaИ| :szx.ƐS^X4g ^$lqA412L?i0HtCE)0 ,W.˅pJ =!I2-@z6N==.‚b I:( tΤUyHoBIDATv VFΈkr!s$Eo\jǥĎj2 5ի1֠maKg%=u*AY07y (X6ϸ{m{{ WZVw5OgqcG. }3C9e%b/VGRލqA8)YV2/nAV9JW111ሉjZà ::ĢR\^AnjQǐdL!(63̡#T9@Y9{^.c~.QXz0#TmUt05<7O%$qyW"axh_7j@˃BSR5eL2 V*g E^XwgXSݶU.W ra4HU?Ãst"kdgYIChaҀ* }tP9L 7|$^I ILR6* .rHQ.ٴ^@0W[ hCR=3zxM5fguB^~c̋ G%E2ׅD= gjK`,ug  [jM>EiQw+[WhEk0n\_Li׵GmD1q#oCLJ /TQ>eQ22u 0\IՉ$DY"x31QL"Tm=#x.j8T05F= JN]+G^ d)ڑj`,^_&8Oul#X%8~}PKS~ Yh,!dJŴ<5)B;砼b7*ʫdtꋡVeVF2 qZZa1#f(QJf1D"A,~OA> 5 DQ8G==tu}좇o޾}!ևP)E=Wћ?-G E~7BV3Ê|ORp9>@a}O& A`ym(Eh Ʉv9-H 5@ҶVZ n\7t\CQ@?N$c"?'9=҇Hm۷=L/JE^V#75=8wm۾wX0d7+҂@[R}#ENDA)['}#Tݻ/^ d&[2s"WtA'yvlJщ lکcK:L1KnVqW]:0LL!_u!y~StMawil@Ǔ*a PmnN$_L}DG SD56zy c `+6Ppyߍwbe})c+rݡ6(5ΫsB*Bջ̂(ѧ}DAjԋP|3@`_ {]_M:zp-K u.TƬ=B/T[nRU<.)UwMI'zoPHi@Hٲ;7G &EWL؊h2nj<4~~ j1 /MiRkh' |8yt0`8݆-1v[YXʂk1֖ӳcknf{xvA2FA%0BK{jWK|`mf$"c'$H dҤ2IeG(# DcGehYS?PLl:h>z iȦ M)_φH3S^rЯ*SLz! +=_!#ѯ`2 5k!p8~ԥOɩ Hsxåg5EʨDyg6 `Fd=7#3fK |CRYw}VXlPZ*CtӸIKDkLx]#ËD:z] RǵS4? O"eyf(gb.ԢH } p("K bPS_sqtz-߅j)fH&(dC!F Rt5[CqVxjH9%>RPS-s= ,EpA;bRsё23w9u6 *;q}ɑܣJja(iOIE#!r!tN U5jaùspbPkzE峆&gvWJ¦#A1C1 t ǀ JV>=-T =˜V[Ke /^/Q9;L{_} &32JD3R/Ӥm4P菈+@{n'q rR#jNSe]t/y] yMBt|)/ E Gy Lc8Re'BX6 &5> x0ɚWް>\l" ofP B^x#PX6E '1TaԴBsE)v Kt>!6>Fn 8LV)h$H<߽x3SVҭo&I RgrлiZn3 DP,+KṕgOܬn r>M\&7 #=s=ҽ+81 ` 'IԠ(D$I@_AI/;, EP[icqL4s`YV>VYxE:g*z:Z4V?MvەcpZİ(xUUśhNsC˒.rH7b1O)u.%Ŝ=yOFPPSWB  eG\u:G[C#ُ8+\_Tz8~K7#癜(Z$:B;c!ɤV\9{쫯@nMΌi(o\qn?/OxyR=|Ya0Ghpq5*C{cj" яDܽPBʭYm5 .'wh^^,]}J?Qi@^Ϳr 4R-M2۝H_'BrbxKv;iLVn K_ Yy"8IRH?)_ VP1 KrTk@o ;`4<L*[=  (Lspf\ӓߤeUǡ_hE<Deuq.lqH;G:I:,Y ^֌@k^:̎g~dmVq]~堍Alw\9!xYiVD3rl> xL6Vw=%jﱛʞ: 3aL%pbD$6xtΎVH`| tζS|F'R{Pk9ّ*wܼxlUn e=2D'\}ٮs FbOpaDBq('JDW~K)_ >joZ椽sy]fLtx ˊ L# d+3k(D 40!N`Ynm#.pOxv{˵&9,$ p?5%/_M !Yⳋ8ǵ u&qX]H}*繖QZf4$/^kMTSGEƏ :A.bnt #9 @?Az'$DTX#qP@Yaxc|FuYº~y$4@^Mȑy7؍ {[)@^h5 Ce*rD^zKq+?*{ͽ v߃7٫G-Tlo2XӣQ`Μs)M? =jFًh-c0|eq& # %U`V ǖHD]P 1 b4LSbUJF~fz+,, 8]N h'@d4FX!DHH z q->KQY6 tYauh7Z6v{ Y Ѵj#DP*ydM/~#ܧk<4lM̪L`|}DC=k-ZdL>A z-)+`D| s-G1|˻&-ly+>W7[|faDhs>q3>qҖ^v}TЫ1(@;C^i Ft;tA"Q徇~n@ׁCkdE7G` {4'kf-Oϧ.?(,AW>2HZ*3 ˊf>^;yʍj"5 "Mk)r kAN>?B$B \n<Y<@vPsDRNSuT}yZ%5J%y^;K;}وiGaH)}R|:9 %`hU"M(fd`88Κֲ-,2^0د(CDyVPR4OZf֜`~"oJXKUOA@H^@"Ǐ^]X: VfCrV-J*tM4o zxiX!LJsʲ|D &v'PE8Ni$5$CᒅxXkX/t3txE2Wwi<Ƒ<,<F@Iv=Rh=3,EG`H$rzA%ặ'|-$.?l QЕ :p lb$02$w(4K_^<1ETu57yruըv..6k:B4OctSKYޯZ!=JfD:h+M(&buسϝA$ly8פ)auoܺբhw\ >b(K܃/r` .dRu,)qLY9-]QE]qfmrJ~aW[}\M@Ed*t}iRIENDB`exiv2-0.25/msvc2003/exifdata/0000775000175000017500000000000012541547672015372 5ustar andreasandreasexiv2-0.25/msvc2003/exifdata/exifdata.vcproj0000775000175000017500000002133212504606067020401 0ustar andreasandreas exiv2-0.25/msvc2003/iptcprint/0000775000175000017500000000000012541547672015621 5ustar andreasandreasexiv2-0.25/msvc2003/iptcprint/iptcprint.vcproj0000664000175000017500000002134312447013555021056 0ustar andreasandreas exiv2-0.25/FindExiv2.cmake0000775000175000017500000000564011763256131015130 0ustar andreasandreas# - Try to find the Exiv2 library # # EXIV2_MIN_VERSION - You can set this variable to the minimum version you need # before doing FIND_PACKAGE(Exiv2). The default is 0.12. # # Once done this will define # # EXIV2_FOUND - system has libexiv2 # EXIV2_INCLUDE_DIR - the libexiv2 include directory # EXIV2_LIBRARIES - Link these to use libexiv2 # EXIV2_DEFINITIONS - Compiler switches required for using libexiv2 # # The minimum required version of Exiv2 can be specified using the # standard syntax, e.g. find_package(Exiv2 0.17) # # For compatiblity, also the variable EXIV2_MIN_VERSION can be set to the minimum version # you need before doing FIND_PACKAGE(Exiv2). The default is 0.12. # Copyright (c) 2010, Alexander Neundorf, # Copyright (c) 2008, Gilles Caulier, # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # Support EXIV2_MIN_VERSION for compatibility: if(NOT Exiv2_FIND_VERSION) set(Exiv2_FIND_VERSION "${EXIV2_MIN_VERSION}") endif(NOT Exiv2_FIND_VERSION) # the minimum version of exiv2 we require if(NOT Exiv2_FIND_VERSION) set(Exiv2_FIND_VERSION "0.12") endif(NOT Exiv2_FIND_VERSION) if (NOT WIN32) # use pkg-config to get the directories and then use these values # in the FIND_PATH() and FIND_LIBRARY() calls find_package(PkgConfig) pkg_check_modules(PC_EXIV2 QUIET exiv2) set(EXIV2_DEFINITIONS ${PC_EXIV2_CFLAGS_OTHER}) endif (NOT WIN32) find_path(EXIV2_INCLUDE_DIR NAMES exiv2/exif.hpp HINTS ${PC_EXIV2_INCLUDEDIR} ${PC_EXIV2_INCLUDE_DIRS} ) find_library(EXIV2_LIBRARY NAMES exiv2 libexiv2 HINTS ${PC_EXIV2_LIBDIR} ${PC_EXIV2_LIBRARY_DIRS} ) # Get the version number from exiv2/version.hpp and store it in the cache: if(EXIV2_INCLUDE_DIR AND NOT EXIV2_VERSION) file(READ ${EXIV2_INCLUDE_DIR}/exiv2/version.hpp EXIV2_VERSION_CONTENT) string(REGEX MATCH "#define EXIV2_MAJOR_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}") set(EXIV2_VERSION_MAJOR "${CMAKE_MATCH_1}") string(REGEX MATCH "#define EXIV2_MINOR_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}") set(EXIV2_VERSION_MINOR "${CMAKE_MATCH_1}") string(REGEX MATCH "#define EXIV2_PATCH_VERSION +\\( *([0-9]+) *\\)" _dummy "${EXIV2_VERSION_CONTENT}") set(EXIV2_VERSION_PATCH "${CMAKE_MATCH_1}") set(EXIV2_VERSION "${EXIV2_VERSION_MAJOR}.${EXIV2_VERSION_MINOR}.${EXIV2_VERSION_PATCH}" CACHE STRING "Version number of Exiv2" FORCE) endif(EXIV2_INCLUDE_DIR AND NOT EXIV2_VERSION) set(EXIV2_LIBRARIES "${EXIV2_LIBRARY}") include(FindPackageHandleStandardArgs) find_package_handle_standard_args(Exiv2 REQUIRED_VARS EXIV2_LIBRARY EXIV2_INCLUDE_DIR VERSION_VAR EXIV2_VERSION) mark_as_advanced(EXIV2_INCLUDE_DIR EXIV2_LIBRARY) exiv2-0.25/AUTHORS0000664000175000017500000000010711364504654013371 0ustar andreasandreasSee doc/ChangeLog. Authors and other contributors are mentioned there. exiv2-0.25/README0000664000175000017500000001441212521147640013177 0ustar andreasandreasExiv2 ***** Welcome to Exiv2, a C++ library and a command line utility to read and write Exif, IPTC and XMP image metadata. The homepage of Exiv2 is: http://www.exiv2.org/ See doc/ChangeLog for a list of recent changes to Exiv2. Exiv2 API and tag reference documentation is at http://www.exiv2.org/doc or you can build it and point your browser to doc/index.html. For more information on XMP support in Exiv2, see doc/README-XMP. Building and Installing ======================= You can build the libraries in the following ways: 1 UNIX-like systems (including GNU/Linux, Mac OS X, Cygwin, MinGW) - general notes follow - FAQ concerning Cygwin/MSYS and Mac OS X: http://dev.exiv2.org/projects/exiv2/wiki/FAQ 2 Microsoft Visual C++ - see msvc2003/ReadMe.txt (32bit build VC7.1/2003 2005,2008) - see msvc2005/ReadMe.txt (32bit and 64bit build VC8/2005, 2008,2010,2012) 3 CMake (experimental support for cmake on all platforms) - see README-CMAKE for more information To build a commercial version of the Exiv2 library, see also section "Commercial version" at the end of this file. On UNIX-like systems, use the GNU configure script. Run the following commands from the top directory (containing this file) to configure, build and install the library and utility: $ ./configure $ make $ sudo make install If you downloaded the source code from the subversion repository, you won't have a configure script. Run 'make config' to generate it and see the section "Hacking" below. The default install locations are /usr/local/lib for the library, /usr/local/bin for the exiv2 utility and /usr/local/include/exiv2 for the header files. Use the --prefix=directory option of the configure script to change the default. Run './configure --help' to see a list of all options. To uninstall Exiv2 from a UNIX-like system, run: $ make uninstall Dependencies ============ The following libexiv2 features are enabled by default and may*) require external libraries. They can be controlled through configure options. See also './configure --help'. Feature Package Configure options -------------------------- -------- ---------------------------- PNG image support zlib --without-zlib --with-zlib=DIR Native language support gettext --disable-nls Characterset conversions libiconv --without-libiconv-prefix --with-libiconv-prefix[=DIR] XMP support expat --disable-xmp --with-expat=DIR zlib http://zlib.net/ gettext *) http://www.gnu.org/software/gettext/ libiconv *) http://www.gnu.org/software/libiconv/ expat http://expat.sourceforge.net/ *) Some systems have gettext and iconv in libc. The configure script should detect this. On Linux, it is usually best to install the dependencies through the package management system of the distribution together with the corresponding development packages (for the header files and static libraries). To build the sample programs in the samples/ directory ('make samples'), you also need to have the pkg-config program. To generate the documentation ('make doc'), you will further need doxygen, graphviz, python and xsltproc. pkg-config http://pkg-config.freedesktop.org/wiki/ doxygen http://www.doxygen.org/ graphviz http://www.graphviz.org/ python http://www.python.org/ xsltproc http://xmlsoft.org/XSLT/ md5sum http://www.microbrew.org/tools/md5sha1sum/ Troubleshooting =============== If you have problems building Exiv2 on UNIX-like systems, check the generated config/config.mk and config/config.h files. You should *not* need to modify any Makefile directly, in particular not src/Makefile! Support ======= All project resources are accessible from the project website at http://dev.exiv2.org/wiki/exiv2 Please send feedback or queries to the Exiv2 forum. For new bug reports and feature requests, please open an issue. Linking your own code with Exiv2 ================================ A pkg-config .pc file is installed together with the library. Application developers can use pkg-config(1) to obtain correct compile and link time flags for the Exiv2 library. See samples/Makefile for an example. If you downloaded Exiv2 directly from the subversion repository, and you want to build it using the GNU configure script, then you need to have GNU Autoconf installed on your system and create the configure script as the first step: $ make config Then run the usual './configure; make; make install' commands. Exiv2 uses GNU Libtool in order to build shared libraries on a variety of systems. While this is very nice for making usable binaries, it can be a pain when trying to debug a program. For that reason, compilation of shared libraries can be turned off by specifying the --disable-shared option to the configure script. License ======= Copyright (C) 2004-2015 Andreas Huggel Exiv2 is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Alternatively, Exiv2 is also available with a commercial license, which allows it to be used in closed-source projects. Contact me for more information. Exiv2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. Commercial version ================== If you have a commercial license, you must disable NLS support and the conversion of Nikon lens data to readable lens names to build a commercial version of the Exiv2 library. To do this on Windows, compile the library with the preprocessor symbol EXV_COMMERCIAL_VERSION defined in: msvc2003\include\exv_msvc.h or msvc2005\include\exv_msvc.h On UNIX-like systems, run the configure script with the options --enable-commercial --disable-nls --disable-lensdata. # That's all Folks ## exiv2-0.25/COPYING-CMAKE-SCRIPTS0000664000175000017500000000245711734316734015332 0ustar andreasandreasRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. exiv2-0.25/bootstrap.macports0000775000175000017500000000475712540503765016131 0ustar andreasandreas#!/bin/sh # Copyright (c) 2008-2015, Gilles Caulier, # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # # Arguments : $1 : install path '/opt/local' (default). # $2 : build type 'debugfull' to hack (default), 'release' for production. # $3 : target type 'x86_64' for OSX Lion and later (default), 'i386' for Snow Leopard. # $4 : extra CXX flags (empty by default) # INSTALL_PREFIX=$1 if [ "$INSTALL_PREFIX" = "" ]; then # Standard Macports install INSTALL_PREFIX=/opt/local BUNDLE_INSTALL_DIR=/Applications/ else # Specific install path as /opt/exiv2 to build bundle PKG for example BUNDLE_INSTALL_DIR=${INSTALL_PREFIX}/Applications/ fi BUILD_TYPE=$2 if [ "$BUILD_TYPE" = "" ]; then BUILD_TYPE=debugfull fi TARGET_TYPE=$3 if [ "$TARGET_TYPE" = "" ]; then TARGET_TYPE=x86_64 fi EXTRA_CXX_FLAGS=$4 # Set devel env from MacOS-X through MacPorts export QTDIR=${INSTALL_PREFIX}/lib export QT_INCLUDE_DIR=${INSTALL_PREFIX}/include export PATH=$QTDIR/bin:$PATH export PKG_CONFIG_PATH=${INSTALL_PREFIX}/lib/pkgconfig:$PKG_CONFIG_PATH # We will work on command line using GNU make export MAKEFILES_TYPE='Unix Makefiles' echo "Installing to $INSTALL_PREFIX for target $TARGET_TYPE with build mode $BUILD_TYPE and extra CXX flags $EXTRA_CXX_FLAGS" if [ ! -d "build.cmake" ]; then mkdir build.cmake fi cd build.cmake cmake -G "$MAKEFILES_TYPE" . \ -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \ -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \ -DCMAKE_OSX_ARCHITECTURES=${TARGET_TYPE} \ -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} ${EXTRA_CXX_FLAGS}" \ -DCMAKE_COLOR_MAKEFILE=ON \ -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \ -DCMAKE_INSTALL_NAME_DIR=${INSTALL_PREFIX}/lib \ -DCMAKE_SYSTEM_PREFIX_PATH="${INSTALL_PREFIX};/usr" \ -DCMAKE_MODULE_PATH="${INSTALL_PREFIX}/share/cmake/modules" \ -DEXIV2_ENABLE_SHARED=ON \ -DEXIV2_ENABLE_XMP=ON \ -DEXIV2_ENABLE_LIBXMP=ON \ -DEXIV2_ENABLE_VIDEO=ON \ -DEXIV2_ENABLE_PNG=ON \ -DEXIV2_ENABLE_NLS=ON \ -DEXIV2_ENABLE_PRINTUCS2=ON \ -DEXIV2_ENABLE_LENSDATA=ON \ -DEXIV2_ENABLE_COMMERCIAL=OFF \ -DEXIV2_ENABLE_BUILD_SAMPLES=ON \ -DEXIV2_ENABLE_BUILD_PO=ON \ -DEXIV2_ENABLE_VIDEO=ON \ -DEXIV2_ENABLE_WEBREADY=ON \ -DEXIV2_ENABLE_CURL=ON \ -DEXIV2_ENABLE_SSH=ON \ -Wno-dev \ .. exiv2-0.25/src/0000775000175000017500000000000012541550116013102 5ustar andreasandreasexiv2-0.25/src/tags_int.hpp0000664000175000017500000004156212521135474015437 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file tags_int.hpp @brief Internal Exif tag and type information @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 15-Jan-04, ahu: created
11-Feb-04, ahu: isolated as a component */ #ifndef TAGS_INT_HPP_ #define TAGS_INT_HPP_ // ***************************************************************************** // included header files #include "types.hpp" #include "tags.hpp" #include "value.hpp" // + standard includes #include #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { class ExifData; namespace Internal { // ***************************************************************************** // class definitions //! Type to specify the IFD to which a metadata belongs enum IfdId { ifdIdNotSet, ifd0Id, ifd1Id, ifd2Id, ifd3Id, exifId, gpsId, iopId, subImage1Id, subImage2Id, subImage3Id, subImage4Id, subImage5Id, subImage6Id, subImage7Id, subImage8Id, subImage9Id, subThumb1Id, panaRawId, mnId, canonId, canonCsId, canonSiId, canonCfId, canonPiId, canonPaId, canonFiId, canonPrId, casioId, casio2Id, fujiId, minoltaId, minoltaCs5DId, minoltaCs7DId, minoltaCsOldId, minoltaCsNewId, nikon1Id, nikon2Id, nikon3Id, nikonPvId, nikonVrId, nikonPcId, nikonWtId, nikonIiId, nikonAfId, nikonAf2Id, nikonAFTId, nikonFiId, nikonMeId, nikonFl1Id, nikonFl2Id, nikonFl3Id, nikonSi1Id, nikonSi2Id, nikonSi3Id, nikonSi4Id, nikonSi5Id, nikonSi6Id, nikonLd1Id, nikonLd2Id, nikonLd3Id, nikonCb1Id, nikonCb2Id, nikonCb2aId, nikonCb2bId, nikonCb3Id, nikonCb4Id, olympusId, olympus2Id, olympusCsId, olympusEqId, olympusRdId, olympusRd2Id, olympusIpId, olympusFiId, olympusFe1Id, olympusFe2Id, olympusFe3Id, olympusFe4Id, olympusFe5Id, olympusFe6Id, olympusFe7Id, olympusFe8Id, olympusFe9Id, olympusRiId, panasonicId, pentaxId, pentaxDngId, samsung2Id, samsungPvId, samsungPwId, sigmaId, sony1Id, sony2Id, sonyMltId, sony1CsId, sony1Cs2Id, sony2CsId, sony2Cs2Id, sony1MltCs7DId, sony1MltCsOldId, sony1MltCsNewId, sony1MltCsA100Id, lastId, ignoreId = lastId }; /*! @brief Section identifiers to logically group tags. A section consists of nothing more than a name, based on the Exif standard. */ enum SectionId { sectionIdNotSet, imgStruct, recOffset, imgCharacter, otherTags, exifFormat, exifVersion, imgConfig, userInfo, relatedFile, dateTime, captureCond, gpsTags, iopTags, makerTags, dngTags, panaRaw, tiffEp, tiffPm6, adobeOpi, lastSectionId }; //! The details of a section. struct SectionInfo { SectionId sectionId_; //!< Section id const char* name_; //!< Section name (one word) const char* desc_; //!< Section description }; /*! @brief Helper structure for lookup tables for translations of numeric tag values to human readable labels. */ struct TagDetails { int64_t val_; //!< Tag value const char* label_; //!< Translation of the tag value //! Comparison operator for use with the find template bool operator==(long key) const { return val_ == key; } }; // struct TagDetails /*! @brief Helper structure for lookup tables for translations of bitmask values to human readable labels. */ struct TagDetailsBitmask { uint32_t mask_; //!< Bitmask value const char* label_; //!< Description of the tag value }; // struct TagDetailsBitmask /*! @brief Helper structure for lookup tables for translations of controlled vocabulary strings to their descriptions. */ struct TagVocabulary { const char* voc_; //!< Vocabulary string const char* label_; //!< Description of the vocabulary string /*! @brief Comparison operator for use with the find template Compare vocabulary strings like "PR-NON" with keys like "http://ns.useplus.org/ldf/vocab/PR-NON" and return true if the vocabulary string matches the end of the key. */ bool operator==(const std::string& key) const; }; // struct TagDetails /*! @brief Generic pretty-print function to translate a long value to a description by looking up a reference table. */ template std::ostream& printTag(std::ostream& os, const Value& value, const ExifData*) { const TagDetails* td = find(array, value.toLong()); if (td) { os << exvGettext(td->label_); } else { os << "(" << value << ")"; } return os; } //! Shortcut for the printTag template which requires typing the array name only once. #define EXV_PRINT_TAG(array) printTag /*! @brief Generic print function to translate a long value to a description by looking up bitmasks in a reference table. */ template std::ostream& printTagBitmask(std::ostream& os, const Value& value, const ExifData*) { const uint32_t val = static_cast(value.toLong()); if (val == 0 && N > 0) { const TagDetailsBitmask* td = *(&array); if (td->mask_ == 0) return os << exvGettext(td->label_); } bool sep = false; for (int i = 0; i < N; ++i) { // *& acrobatics is a workaround for a MSVC 7.1 bug const TagDetailsBitmask* td = *(&array) + i; if (val & td->mask_) { if (sep) { os << ", " << exvGettext(td->label_); } else { os << exvGettext(td->label_); sep = true; } } } return os; } //! Shortcut for the printTagBitmask template which requires typing the array name only once. #define EXV_PRINT_TAG_BITMASK(array) printTagBitmask /*! @brief Generic pretty-print function to translate a controlled vocabulary value (string) to a description by looking up a reference table. */ template std::ostream& printTagVocabulary(std::ostream& os, const Value& value, const ExifData*) { const TagVocabulary* td = find(array, value.toString()); if (td) { os << exvGettext(td->label_); } else { os << "(" << value << ")"; } return os; } //! Shortcut for the printTagVocabulary template which requires typing the array name only once. #define EXV_PRINT_VOCABULARY(array) printTagVocabulary // ***************************************************************************** // free functions //! Return read-only list of built-in IFD0/1 tags const TagInfo* ifdTagList(); //! Return read-only list of built-in Exif IFD tags const TagInfo* exifTagList(); //! Return read-only list of built-in IOP tags const TagInfo* iopTagList(); //! Return read-only list of built-in GPS tags const TagInfo* gpsTagList(); //! Return read-only list of built-in Exiv2 Makernote info tags const TagInfo* mnTagList(); //! Return the group id for a group name IfdId groupId(const std::string& groupName); //! Return the name of the IFD const char* ifdName(IfdId ifdId); //! Return the group name for a group id const char* groupName(IfdId ifdId); //! Return true if \em ifdId is a makernote IFD id. (Note: returns false for makerIfd) bool isMakerIfd(IfdId ifdId); //! Return true if \em ifdId is an %Exif IFD id. bool isExifIfd(IfdId ifdId); //! Print the list of tags for \em ifdId to the output stream \em os void taglist(std::ostream& os, IfdId ifdId); //! Return the tag list for \em ifdId const TagInfo* tagList(IfdId ifdId); //! Return the tag info for \em tag and \em ifdId const TagInfo* tagInfo(uint16_t tag, IfdId ifdId); //! Return the tag info for \em tagName and \em ifdId const TagInfo* tagInfo(const std::string& tagName, IfdId ifdId); /*! @brief Return the tag number for one combination of IFD id and tagName. If the tagName is not known, it expects tag names in the form "0x01ff" and converts them to unsigned integer. @throw Error if the tagname or ifdId is invalid */ uint16_t tagNumber(const std::string& tagName, IfdId ifdId); //! @name Functions printing interpreted tag values //@{ //! Default print function, using the Value output operator std::ostream& printValue(std::ostream& os, const Value& value, const ExifData*); //! Print the value converted to a long std::ostream& printLong(std::ostream& os, const Value& value, const ExifData*); //! Print a Rational or URational value in floating point format std::ostream& printFloat(std::ostream& os, const Value& value, const ExifData*); //! Print a longitude or latitude value std::ostream& printDegrees(std::ostream& os, const Value& value, const ExifData*); //! Print function converting from UCS-2LE to UTF-8 std::ostream& printUcs2(std::ostream& os, const Value& value, const ExifData*); //! Print function for Exif units std::ostream& printExifUnit(std::ostream& os, const Value& value, const ExifData*); //! Print GPS version std::ostream& print0x0000(std::ostream& os, const Value& value, const ExifData*); //! Print GPS altitude ref std::ostream& print0x0005(std::ostream& os, const Value& value, const ExifData*); //! Print GPS altitude std::ostream& print0x0006(std::ostream& os, const Value& value, const ExifData*); //! Print GPS timestamp std::ostream& print0x0007(std::ostream& os, const Value& value, const ExifData*); //! Print GPS status std::ostream& print0x0009(std::ostream& os, const Value& value, const ExifData*); //! Print GPS measurement mode std::ostream& print0x000a(std::ostream& os, const Value& value, const ExifData*); //! Print GPS speed ref std::ostream& print0x000c(std::ostream& os, const Value& value, const ExifData*); //! Print GPS destination distance ref std::ostream& print0x0019(std::ostream& os, const Value& value, const ExifData*); //! Print GPS differential correction std::ostream& print0x001e(std::ostream& os, const Value& value, const ExifData*); //! Print orientation std::ostream& print0x0112(std::ostream& os, const Value& value, const ExifData*); //! Print YCbCrPositioning std::ostream& print0x0213(std::ostream& os, const Value& value, const ExifData*); //! Print the copyright std::ostream& print0x8298(std::ostream& os, const Value& value, const ExifData*); //! Print the exposure time std::ostream& print0x829a(std::ostream& os, const Value& value, const ExifData*); //! Print the f-number std::ostream& print0x829d(std::ostream& os, const Value& value, const ExifData*); //! Print exposure program std::ostream& print0x8822(std::ostream& os, const Value& value, const ExifData*); //! Print ISO speed ratings std::ostream& print0x8827(std::ostream& os, const Value& value, const ExifData*); //! Print components configuration specific to compressed data std::ostream& print0x9101(std::ostream& os, const Value& value, const ExifData*); //! Print exposure time converted from APEX shutter speed value std::ostream& print0x9201(std::ostream& os, const Value& value, const ExifData*); //! Print f-number converted from APEX aperture value std::ostream& print0x9202(std::ostream& os, const Value& value, const ExifData*); //! Print the exposure bias value std::ostream& print0x9204(std::ostream& os, const Value& value, const ExifData*); //! Print the subject distance std::ostream& print0x9206(std::ostream& os, const Value& value, const ExifData*); //! Print metering mode std::ostream& print0x9207(std::ostream& os, const Value& value, const ExifData*); //! Print light source std::ostream& print0x9208(std::ostream& os, const Value& value, const ExifData*); //! Print the actual focal length of the lens std::ostream& print0x920a(std::ostream& os, const Value& value, const ExifData*); //! Print the user comment std::ostream& print0x9286(std::ostream& os, const Value& value, const ExifData*); //! Print color space std::ostream& print0xa001(std::ostream& os, const Value& value, const ExifData*); //! Print sensing method std::ostream& print0xa217(std::ostream& os, const Value& value, const ExifData*); //! Print file source std::ostream& print0xa300(std::ostream& os, const Value& value, const ExifData*); //! Print scene type std::ostream& print0xa301(std::ostream& os, const Value& value, const ExifData*); //! Print custom rendered std::ostream& print0xa401(std::ostream& os, const Value& value, const ExifData*); //! Print exposure mode std::ostream& print0xa402(std::ostream& os, const Value& value, const ExifData*); //! Print white balance std::ostream& print0xa403(std::ostream& os, const Value& value, const ExifData*); //! Print digital zoom ratio std::ostream& print0xa404(std::ostream& os, const Value& value, const ExifData*); //! Print 35mm equivalent focal length std::ostream& print0xa405(std::ostream& os, const Value& value, const ExifData*); //! Print scene capture type std::ostream& print0xa406(std::ostream& os, const Value& value, const ExifData*); //! Print gain control std::ostream& print0xa407(std::ostream& os, const Value& value, const ExifData*); //! Print saturation std::ostream& print0xa409(std::ostream& os, const Value& value, const ExifData*); //! Print subject distance range std::ostream& print0xa40c(std::ostream& os, const Value& value, const ExifData*); //! Print GPS direction ref std::ostream& printGPSDirRef(std::ostream& os, const Value& value, const ExifData*); //! Print contrast, sharpness (normal, soft, hard) std::ostream& printNormalSoftHard(std::ostream& os, const Value& value, const ExifData*); //! Print any version packed in 4 Bytes format : major major minor minor std::ostream& printExifVersion(std::ostream& os, const Value& value, const ExifData*); //! Print any version encoded in the ASCII string majormajorminorminor std::ostream& printXmpVersion(std::ostream& os, const Value& value, const ExifData*); //! Print a date following the format YYYY-MM-DDTHH:MM:SSZ std::ostream& printXmpDate(std::ostream& os, const Value& value, const ExifData*); //@} //! Calculate F number from an APEX aperture value float fnumber(float apertureValue); //! Calculate the exposure time from an APEX shutter speed value URational exposureTime(float shutterSpeedValue); }} // namespace Internal, Exiv2 #endif // #ifndef TAGS_INT_HPP_ exiv2-0.25/src/minoltamn_int.hpp0000664000175000017500000002140612521135474016472 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file minoltamn_int.hpp @brief Minolta MakerNote implemented using the following references:
Minolta Makernote Format Specification by Dalibor Jelinek,
Minolta Makernote list by Phil Harvey
Minolta Makernote list from PHP JPEG Metadata Toolkit
Email communication with caulier dot gilles at gmail dot com
Some Minolta camera settings have been decoded by Xavier Raynaud from digiKam project and added by Gilles Caulier. @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @author Gilles Caulier (cgilles) caulier dot gilles at gmail dot com @date 06-May-06, gc: submitted */ #ifndef MINOLTAMN_INT_HPP_ #define MINOLTAMN_INT_HPP_ // ***************************************************************************** // included header files #include "tags.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { namespace Internal { // ***************************************************************************** // class definitions //! MakerNote for Minolta cameras class MinoltaMakerNote { public: //! Return read-only list of built-in Minolta tags static const TagInfo* tagList(); //! Return read-only list of built-in Minolta Standard Camera Settings tags static const TagInfo* tagListCsStd(); //! Return read-only list of built-in Minolta 7D Camera Settings tags static const TagInfo* tagListCs7D(); //! Return read-only list of built-in Minolta 5D Camera Settings tags static const TagInfo* tagListCs5D(); //! Return read-only list of built-in Sony A100 Camera Settings tags static const TagInfo* tagListCsA100(); //! @name Print functions for Minolta %MakerNote tags //@{ //! Print Exposure Speed setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaExposureSpeedStd(std::ostream& os, const Value& value, const ExifData*); //! Print Exposure Time setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaExposureTimeStd(std::ostream& os, const Value& value, const ExifData*); //! Print F Number setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaFNumberStd(std::ostream& os, const Value& value, const ExifData*); //! Print Exposure Compensation setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaExposureCompensationStd(std::ostream& os, const Value& value, const ExifData*); //! Print Focal Length setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaFocalLengthStd(std::ostream& os, const Value& value, const ExifData*); //! Print Minolta Date from standard Minolta Camera Settings makernote static std::ostream& printMinoltaDateStd(std::ostream& os, const Value& value, const ExifData*); //! Print Minolta Time from standard Minolta Camera Settings makernote static std::ostream& printMinoltaTimeStd(std::ostream& os, const Value& value, const ExifData*); //! Print Flash Exposure Compensation setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaFlashExposureCompStd(std::ostream& os, const Value& value, const ExifData*); //! Print White Balance setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaWhiteBalanceStd(std::ostream& os, const Value& value, const ExifData*); //! Print Brightness setting from standard Minolta Camera Settings makernote static std::ostream& printMinoltaBrightnessStd(std::ostream& os, const Value& value, const ExifData*); //! Print Exposure Manual Bias setting from 5D Minolta Camera Settings makernote static std::ostream& printMinoltaExposureManualBias5D(std::ostream& os, const Value& value, const ExifData*); //! Print Exposure Compensation setting from 5D Minolta Camera Settings makernote static std::ostream& printMinoltaExposureCompensation5D(std::ostream& os, const Value& value, const ExifData*); //@} private: //! Tag information static const TagInfo tagInfo_[]; static const TagInfo tagInfoCsA100_[]; static const TagInfo tagInfoCs5D_[]; static const TagInfo tagInfoCs7D_[]; static const TagInfo tagInfoCsStd_[]; }; // class MinoltaMakerNote // -- Minolta and Sony MakerNote Common Values --------------------------------------- //! Print Minolta/Sony Lens id values to readable labels. std::ostream& printMinoltaSonyLensID(std::ostream&, const Value&, const ExifData*); //! Print Minolta/Sony Color Mode values to readable labels. std::ostream& printMinoltaSonyColorMode(std::ostream&, const Value&, const ExifData*); //! Print Minolta/Sony bool function values to readable labels. std::ostream& printMinoltaSonyBoolValue(std::ostream&, const Value&, const ExifData*); //! Print Minolta/Sony bool inverse function values to readable labels. std::ostream& printMinoltaSonyBoolInverseValue(std::ostream&, const Value&, const ExifData*); //! Print Minolta/Sony AF Area Mode values to readable labels. std::ostream& printMinoltaSonyAFAreaMode(std::ostream&, const Value&, const ExifData*); //! Print Minolta/Sony Local AF Area Point values to readable labels. std::ostream& printMinoltaSonyLocalAFAreaPoint(std::ostream&, const Value&, const ExifData*); //! Print Minolta/Sony dynamic range optimizer mode values to readable labels. std::ostream& printMinoltaSonyDynamicRangeOptimizerMode(std::ostream&, const Value&, const ExifData*); //! Print Minolta/Sony priority setup shutter release values to readable labels. std::ostream& printMinoltaSonyPrioritySetupShutterRelease(std::ostream&, const Value&, const ExifData*); //! Print Minolta/Sony Quality values to readable labels. std::ostream& printMinoltaSonyQualityCs(std::ostream&, const Value&, const ExifData*); //! Print Minolta/Sony Rotation values to readable labels. std::ostream& printMinoltaSonyRotation(std::ostream&, const Value&, const ExifData*); //! Print Minolta/Sony Scene Mode values to readable labels. std::ostream& printMinoltaSonySceneMode(std::ostream&, const Value&, const ExifData*); //! Print Minolta/Sony Image Quality values to readable labels. std::ostream& printMinoltaSonyImageQuality(std::ostream&, const Value&, const ExifData*); //! Print Minolta/Sony Teleconverter Model values to readable labels. std::ostream& printMinoltaSonyTeleconverterModel(std::ostream&, const Value&, const ExifData*); //! Print Minolta/Sony White Balance Std values to readable labels. std::ostream& printMinoltaSonyWhiteBalanceStd(std::ostream&, const Value&, const ExifData*); //! Print Minolta/Sony ZoneMatching values to readable labels. std::ostream& printMinoltaSonyZoneMatching(std::ostream&, const Value&, const ExifData*); //! Print Minolta/Sony FlashExposureComp values to readable labels. std::ostream& printMinoltaSonyFlashExposureComp(std::ostream&, const Value&, const ExifData*); // TODO: Added shared methods here. }} // namespace Internal, Exiv2 #endif // #ifndef MINOLTAMN_INT_HPP_ exiv2-0.25/src/bmpimage.cpp0000664000175000017500000001205512521135474015376 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: bmpimage.cpp Version: $Rev: 3777 $ Author(s): Marco Piovanelli, Ovolab (marco) History: 05-Mar-2007, marco: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: bmpimage.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "bmpimage.hpp" #include "image.hpp" #include "basicio.hpp" #include "error.hpp" #include "futils.hpp" // + standard includes #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { BmpImage::BmpImage(BasicIo::AutoPtr io) : Image(ImageType::bmp, mdNone, io) { } // BmpImage::BmpImage std::string BmpImage::mimeType() const { return "image/x-ms-bmp"; } void BmpImage::setExifData(const ExifData& /*exifData*/) { // Todo: implement me! throw(Error(32, "Exif metadata", "BMP")); } void BmpImage::setIptcData(const IptcData& /*iptcData*/) { // Todo: implement me! throw(Error(32, "IPTC metadata", "BMP")); } void BmpImage::setComment(const std::string& /*comment*/) { // not supported throw(Error(32, "Image comment", "BMP")); } void BmpImage::readMetadata() { #ifdef DEBUG std::cerr << "Exiv2::BmpImage::readMetadata: Reading Windows bitmap file " << io_->path() << "\n"; #endif if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); // Ensure that this is the correct image type if (!isBmpType(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "BMP"); } clearMetadata(); /* The Windows bitmap header goes as follows -- all numbers are in little-endian byte order: offset length name description ====== ======= ===================== ======= 0 2 bytes signature always 'BM' 2 4 bytes bitmap size 6 4 bytes reserved 10 4 bytes bitmap offset 14 4 bytes header size 18 4 bytes bitmap width 22 4 bytes bitmap height 26 2 bytes plane count 28 2 bytes depth 30 4 bytes compression 0 = none; 1 = RLE, 8 bits/pixel; 2 = RLE, 4 bits/pixel; 3 = bitfield; 4 = JPEG; 5 = PNG 34 4 bytes image size size of the raw bitmap data, in bytes 38 4 bytes horizontal resolution (in pixels per meter) 42 4 bytes vertical resolution (in pixels per meter) 46 4 bytes color count 50 4 bytes important colors number of "important" colors */ byte buf[54]; if (io_->read(buf, sizeof(buf)) == sizeof(buf)) { pixelWidth_ = getLong(buf + 18, littleEndian); pixelHeight_ = getLong(buf + 22, littleEndian); } } // BmpImage::readMetadata void BmpImage::writeMetadata() { // Todo: implement me! throw(Error(31, "BMP")); } // BmpImage::writeMetadata // ************************************************************************* // free functions Image::AutoPtr newBmpInstance(BasicIo::AutoPtr io, bool /*create*/) { Image::AutoPtr image(new BmpImage(io)); if (!image->good()) { image.reset(); } return image; } bool isBmpType(BasicIo& iIo, bool advance) { const int32_t len = 2; const unsigned char BmpImageId[2] = { 'B', 'M' }; byte buf[len]; iIo.read(buf, len); if (iIo.error() || iIo.eof()) { return false; } bool matched = (memcmp(buf, BmpImageId, len) == 0); if (!advance || !matched) { iIo.seek(-len, BasicIo::cur); } return matched; } } // namespace Exiv2 exiv2-0.25/src/cr2image_int.hpp0000664000175000017500000000537112521135474016170 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file cr2image_int.hpp @brief Internal classes to support CR2 image format @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 23-Apr-08, ahu: created */ #ifndef CR2IMAGE_INT_HPP_ #define CR2IMAGE_INT_HPP_ // ***************************************************************************** // included header files #include "tiffimage_int.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { namespace Internal { // ***************************************************************************** // class definitions /*! @brief Canon CR2 header structure. */ class Cr2Header : public TiffHeaderBase { public: //! @name Creators //@{ //! Default constructor Cr2Header(ByteOrder byteOrder =littleEndian); //! Destructor. ~Cr2Header(); //@} //! @name Manipulators //@{ bool read(const byte* pData, uint32_t size); //@} //! @name Accessors //@{ DataBuf write() const; bool isImageTag( uint16_t tag, IfdId group, const PrimaryGroups* pPrimaryGroups) const; //@} //! Return the address of offset2 from the start of the header static uint32_t offset2addr() { return 12; } private: // DATA uint32_t offset2_; //!< Bytes 12-15 from the header static const char* cr2sig_; //!< Signature for CR2 type TIFF }; // class Cr2Header }} // namespace Internal, Exiv2 #endif // #ifndef CR2IMAGE_INT_HPP_ exiv2-0.25/src/quicktimevideo.cpp0000664000175000017500000020414312535070522016635 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: quicktimevideo.cpp Version: $Rev: 3845 $ Author(s): Abhinav Badola for GSoC 2012 (AB) History: 28-Jun-12, AB: created Credits: See header file */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: quicktimevideo.cpp 3845 2015-06-07 16:29:06Z ahuggel $") // ***************************************************************************** // included header files #include "config.h" #ifdef EXV_ENABLE_VIDEO #include "quicktimevideo.hpp" #include "futils.hpp" #include "basicio.hpp" #include "tags.hpp" // + standard includes #include // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { extern const TagVocabulary qTimeFileType[] = { { "3g2a", "3GPP2 Media (.3G2) compliant with 3GPP2 C.S0050-0 V1.0" }, { "3g2b", "3GPP2 Media (.3G2) compliant with 3GPP2 C.S0050-A V1.0.0" }, { "3g2c", "3GPP2 Media (.3G2) compliant with 3GPP2 C.S0050-B v1.0" }, { "3ge6", "3GPP (.3GP) Release 6 MBMS Extended Presentations" }, { "3ge7", "3GPP (.3GP) Release 7 MBMS Extended Presentations" }, { "3gg6", "3GPP Release 6 General Profile" }, { "3gp1", "3GPP Media (.3GP) Release 1 (probably non-existent)" }, { "3gp2", "3GPP Media (.3GP) Release 2 (probably non-existent)" }, { "3gp3", "3GPP Media (.3GP) Release 3 (probably non-existent)" }, { "3gp4", "3GPP Media (.3GP) Release 4" }, { "3gp5", "3GPP Media (.3GP) Release 5" }, { "3gp6", "3GPP Media (.3GP) Release 6 Streaming Servers" }, { "3gs7", "3GPP Media (.3GP) Release 7 Streaming Servers" }, { "CAEP", "Canon Digital Camera" }, { "CDes", "Convergent Design" }, { "F4A ", "Audio for Adobe Flash Player 9+ (.F4A)" }, { "F4B ", "Audio Book for Adobe Flash Player 9+ (.F4B)" }, { "F4P ", "Protected Video for Adobe Flash Player 9+ (.F4P)" }, { "F4V ", "Video for Adobe Flash Player 9+ (.F4V)" }, { "JP2 ", "JPEG 2000 Image (.JP2) [ISO 15444-1 ?]" }, { "JP20", "Unknown, from GPAC samples (prob non-existent)" }, { "KDDI", "3GPP2 EZmovie for KDDI 3G cellphones" }, { "M4A ", "Apple iTunes AAC-LC (.M4A) Audio" }, { "M4B ", "Apple iTunes AAC-LC (.M4B) Audio Book" }, { "M4P ", "Apple iTunes AAC-LC (.M4P) AES Protected Audio" }, { "M4V ", "Apple iTunes Video (.M4V) Video" }, { "M4VH", "Apple TV (.M4V)" }, { "M4VP", "Apple iPhone (.M4V)" }, { "MPPI", "Photo Player, MAF [ISO/IEC 23000-3]" }, { "MSNV", "MPEG-4 (.MP4) for SonyPSP" }, { "NDAS", "MP4 v2 [ISO 14496-14] Nero Digital AAC Audio" }, { "NDSC", "MPEG-4 (.MP4) Nero Cinema Profile" }, { "NDSH", "MPEG-4 (.MP4) Nero HDTV Profile" }, { "NDSM", "MPEG-4 (.MP4) Nero Mobile Profile" }, { "NDSP", "MPEG-4 (.MP4) Nero Portable Profile" }, { "NDSS", "MPEG-4 (.MP4) Nero Standard Profile" }, { "NDXC", "H.264/MPEG-4 AVC (.MP4) Nero Cinema Profile" }, { "NDXH", "H.264/MPEG-4 AVC (.MP4) Nero HDTV Profile" }, { "NDXM", "H.264/MPEG-4 AVC (.MP4) Nero Mobile Profile" }, { "NDXP", "H.264/MPEG-4 AVC (.MP4) Nero Portable Profile" }, { "NDXS", "H.264/MPEG-4 AVC (.MP4) Nero Standard Profile" }, { "NIKO", "Nikon" }, { "ROSS", "Ross Video" }, { "avc1", "MP4 Base w/ AVC ext [ISO 14496-12:2005]" }, { "caqv", "Casio Digital Camera" }, { "da0a", "DMB MAF w/ MPEG Layer II aud, MOT slides, DLS, JPG/PNG/MNG images" }, { "da0b", "DMB MAF, extending DA0A, with 3GPP timed text, DID, TVA, REL, IPMP" }, { "da1a", "DMB MAF audio with ER-BSAC audio, JPG/PNG/MNG images" }, { "da1b", "DMB MAF, extending da1a, with 3GPP timed text, DID, TVA, REL, IPMP" }, { "da2a", "DMB MAF aud w/ HE-AAC v2 aud, MOT slides, DLS, JPG/PNG/MNG images" }, { "da2b", "DMB MAF, extending da2a, with 3GPP timed text, DID, TVA, REL, IPMP" }, { "da3a", "DMB MAF aud with HE-AAC aud, JPG/PNG/MNG images" }, { "da3b", "DMB MAF, extending da3a w/ BIFS, 3GPP timed text, DID, TVA, REL, IPMP" }, { "dmb1", "DMB MAF supporting all the components defined in the specification" }, { "dmpf", "Digital Media Project" }, { "drc1", "Dirac (wavelet compression), encapsulated in ISO base media (MP4)" }, { "dv1a", "DMB MAF vid w/ AVC vid, ER-BSAC aud, BIFS, JPG/PNG/MNG images, TS" }, { "dv1b", "DMB MAF, extending dv1a, with 3GPP timed text, DID, TVA, REL, IPMP" }, { "dv2a", "DMB MAF vid w/ AVC vid, HE-AAC v2 aud, BIFS, JPG/PNG/MNG images, TS" }, { "dv2b", "DMB MAF, extending dv2a, with 3GPP timed text, DID, TVA, REL, IPMP" }, { "dv3a", "DMB MAF vid w/ AVC vid, HE-AAC aud, BIFS, JPG/PNG/MNG images, TS" }, { "dv3b", "DMB MAF, extending dv3a, with 3GPP timed text, DID, TVA, REL, IPMP" }, { "dvr1", "DVB (.DVB) over RTP" }, { "dvt1", "DVB (.DVB) over MPEG-2 Transport Stream" }, { "isc2", "ISMACryp 2.0 Encrypted File" }, { "iso2", "MP4 Base Media v2 [ISO 14496-12:2005]" }, { "isom", "MP4 Base Media v1 [IS0 14496-12:2003]" }, { "jpm ", "JPEG 2000 Compound Image (.JPM) [ISO 15444-6]" }, { "jpx ", "JPEG 2000 with extensions (.JPX) [ISO 15444-2]" }, { "mj2s", "Motion JPEG 2000 [ISO 15444-3] Simple Profile" }, { "mjp2", "Motion JPEG 2000 [ISO 15444-3] General Profile" }, { "mmp4", "MPEG-4/3GPP Mobile Profile (.MP4/3GP) (for NTT)" }, { "mp21", "MPEG-21 [ISO/IEC 21000-9]" }, { "mp41", "MP4 v1 [ISO 14496-1:ch13]" }, { "mp42", "MP4 v2 [ISO 14496-14]" }, { "mp71", "MP4 w/ MPEG-7 Metadata [per ISO 14496-12]" }, { "mqt ", "Sony / Mobile QuickTime (.MQV) US Patent 7,477,830 (Sony Corp)" }, { "niko", "Nikon" }, { "odcf", "OMA DCF DRM Format 2.0 (OMA-TS-DRM-DCF-V2_0-20060303-A)" }, { "opf2", "OMA PDCF DRM Format 2.1 (OMA-TS-DRM-DCF-V2_1-20070724-C)" }, { "opx2", "OMA PDCF DRM + XBS extensions (OMA-TS-DRM_XBS-V1_0-20070529-C)" }, { "pana", "Panasonic Digital Camera" }, { "qt ", "Apple QuickTime (.MOV/QT)" }, { "sdv ", "SD Memory Card Video" }, { "ssc1", "Samsung stereoscopic, single stream" }, { "ssc2", "Samsung stereoscopic, dual stream" } }; extern const TagVocabulary handlerClassTags[] = { { "dhlr", "Data Handler" }, { "mhlr", "Media Handler" } }; extern const TagVocabulary handlerTypeTags[] = { { "alis", "Alias Data" }, { "crsm", "Clock Reference" }, { "hint", "Hint Track" }, { "ipsm", "IPMP" }, { "m7sm", "MPEG-7 Stream" }, { "mdir", "Metadata" }, { "mdta", "Metadata Tags" }, { "mjsm", "MPEG-J" }, { "ocsm", "Object Content" }, { "odsm", "Object Descriptor" }, { "sdsm", "Scene Description" }, { "soun", "Audio Track" }, { "text", "Text" }, { "tmcd", "Time Code" }, { "url ", "URL" }, { "vide", "Video Track" } }; extern const TagVocabulary vendorIDTags[] = { { "FFMP", "FFmpeg" }, { "appl", "Apple" }, { "olym", "Olympus" }, { "GIC ", "General Imaging Co." }, { "fe20", "Olympus (fe20)" }, { "pana", "Panasonic" }, { "KMPI", "Konica-Minolta" }, { "kdak", "Kodak" }, { "pent", "Pentax" }, { "NIKO", "Nikon" }, { "leic", "Leica" }, { "pr01", "Olympus (pr01)" }, { "SMI ", "Sorenson Media Inc." }, { "mino", "Minolta" }, { "sany", "Sanyo" }, { "ZORA", "Zoran Corporation" }, { "niko", "Nikon" } }; extern const TagVocabulary cameraByteOrderTags[] = { { "II", "Little-endian (Intel, II)" }, { "MM", "Big-endian (Motorola, MM)" } }; extern const TagDetails graphicsModetags[] = { { 0x0, "srcCopy" }, { 0x1, "srcOr" }, { 0x2, "srcXor" }, { 0x3, "srcBic" }, { 0x4, "notSrcCopy" }, { 0x5, "notSrcOr" }, { 0x6, "notSrcXor" }, { 0x7, "notSrcBic" }, { 0x8, "patCopy" }, { 0x9, "patOr" }, { 0xa, "patXor" }, { 0xb, "patBic" }, { 0xc, "notPatCopy" }, { 0xd, "notPatOr" }, { 0xe, "notPatXor" }, { 0xf, "notPatBic" }, { 0x20, "blend" }, { 0x21, "addPin" }, { 0x22, "addOver" }, { 0x23, "subPin" }, { 0x24, "transparent" }, { 0x25, "addMax" }, { 0x26, "subOver" }, { 0x27, "addMin" }, { 0x31, "grayishTextOr" }, { 0x32, "hilite" }, { 0x40, "ditherCopy" }, { 0x100, "Alpha" }, { 0x101, "White Alpha" }, { 0x102, "Pre-multiplied Black Alpha" }, { 0x110, "Component Alpha" } }; extern const TagVocabulary userDatatags[] = { { "AllF", "PlayAllFrames" }, { "CNCV", "CompressorVersion" }, { "CNFV", "FirmwareVersion" }, { "CNMN", "Model" }, { "CNTH", "CanonCNTH" }, { "DcMD", "DcMD" }, { "FFMV", "FujiFilmFFMV" }, { "INFO", "SamsungINFO" }, { "LOOP", "LoopStyle" }, { "MMA0", "MinoltaMMA0" }, { "MMA1", "MinoltaMMA1" }, { "MVTG", "FujiFilmMVTG" }, { "NCDT", "NikonNCDT" }, { "PANA", "PanasonicPANA" }, { "PENT", "PentaxPENT" }, { "PXMN", "MakerNotePentax5b" }, { "PXTH", "PentaxPreview" }, { "QVMI", "CasioQVMI" }, { "SDLN", "PlayMode" }, { "SelO", "PlaySelection" }, { "TAGS", "KodakTags/KonicaMinoltaTags/MinoltaTags/NikonTags/OlympusTags/PentaxTags/SamsungTags/SanyoMOV/SanyoMP4" }, { "WLOC", "WindowLocation" }, { "XMP_", "XMP" }, { "Xtra", "Xtra" }, { "hinf", "HintTrackInfo" }, { "hinv", "HintVersion" }, { "hnti", "Hint" }, { "meta", "Meta" }, { "name", "Name" }, { "ptv ", "PrintToVideo" }, { "scrn", "OlympusPreview" }, { "thmb", "MakerNotePentax5a/OlympusThumbnail" }, }; extern const TagVocabulary userDataReferencetags[] = { { "CNCV", "Xmp.video.CompressorVersion" }, { "CNFV", "Xmp.video.FirmwareVersion" }, { "CNMN", "Xmp.video.Model" }, { "NCHD", "Xmp.video.MakerNoteType" }, { "WLOC", "Xmp.video.WindowLocation" }, { "SDLN", "Xmp.video.PlayMode" }, { "FFMV", "Xmp.video.StreamName" }, { "SelO", "Xmp.video.PlaySelection" }, { "name", "Xmp.video.Name" }, { "vndr", "Xmp.video.Vendor" }, { " ART", "Xmp.video.Artist" }, { " alb", "Xmp.video.Album" }, { " arg", "Xmp.video.Arranger" }, { " ark", "Xmp.video.ArrangerKeywords" }, { " cmt", "Xmp.video.Comment" }, { " cok", "Xmp.video.ComposerKeywords" }, { " com", "Xmp.video.Composer" }, { " cpy", "Xmp.video.Copyright" }, { " day", "Xmp.video.CreateDate" }, { " dir", "Xmp.video.Director" }, { " ed1", "Xmp.video.Edit1" }, { " ed2", "Xmp.video.Edit2" }, { " ed3", "Xmp.video.Edit3" }, { " ed4", "Xmp.video.Edit4" }, { " ed5", "Xmp.video.Edit5" }, { " ed6", "Xmp.video.Edit6" }, { " ed7", "Xmp.video.Edit7" }, { " ed8", "Xmp.video.Edit8" }, { " ed9", "Xmp.video.Edit9" }, { " enc", "Xmp.video.Encoder" }, { " fmt", "Xmp.video.Format" }, { " gen", "Xmp.video.Genre" }, { " grp", "Xmp.video.Grouping" }, { " inf", "Xmp.video.Information" }, { " isr", "Xmp.video.ISRCCode" }, { " lab", "Xmp.video.RecordLabelName" }, { " lal", "Xmp.video.RecordLabelURL" }, { " lyr", "Xmp.video.Lyrics" }, { " mak", "Xmp.video.Make" }, { " mal", "Xmp.video.MakerURL" }, { " mod", "Xmp.video.Model" }, { " nam", "Xmp.video.Title" }, { " pdk", "Xmp.video.ProducerKeywords" }, { " phg", "Xmp.video.RecordingCopyright" }, { " prd", "Xmp.video.Producer" }, { " prf", "Xmp.video.Performers" }, { " prk", "Xmp.video.PerformerKeywords" }, { " prl", "Xmp.video.PerformerURL" }, { " req", "Xmp.video.Requirements" }, { " snk", "Xmp.video.SubtitleKeywords" }, { " snm", "Xmp.video.Subtitle" }, { " src", "Xmp.video.SourceCredits" }, { " swf", "Xmp.video.SongWriter" }, { " swk", "Xmp.video.SongWriterKeywords" }, { " swr", "Xmp.video.SoftwareVersion" }, { " too", "Xmp.video.Encoder" }, { " trk", "Xmp.video.Track" }, { " wrt", "Xmp.video.Composer" }, { " xyz", "Xmp.video.GPSCoordinates" }, { "CMbo", "Xmp.video.CameraByteOrder" }, { "Cmbo", "Xmp.video.CameraByteOrder" }, }; extern const TagDetails NikonNCTGTags[] = { { 0x0001, "Xmp.video.Make" }, { 0x0002, "Xmp.video.Model" }, { 0x0003, "Xmp.video.Software" }, { 0x0011, "Xmp.video.CreationDate" }, { 0x0012, "Xmp.video.DateTimeOriginal" }, { 0x0013, "Xmp.video.FrameCount" }, { 0x0016, "Xmp.video.FrameRate" }, { 0x0022, "Xmp.video.FrameWidth" }, { 0x0023, "Xmp.video.FrameHeight" }, { 0x0032, "Xmp.audio.channelType" }, { 0x0033, "Xmp.audio.BitsPerSample" }, { 0x0034, "Xmp.audio.sampleRate" }, { 0x1108822, "Xmp.video.ExposureProgram" }, { 0x1109204, "Xmp.video.ExposureCompensation" }, { 0x1109207, "Xmp.video.MeteringMode" }, { 0x110a434, "Xmp.video.LensModel" }, { 0x1200000, "Xmp.video.GPSVersionID" }, { 0x1200001, "Xmp.video.GPSLatitudeRef" }, { 0x1200002, "Xmp.video.GPSLatitude" }, { 0x1200003, "Xmp.video.GPSLongitudeRef" }, { 0x1200004, "Xmp.video.GPSLongitude" }, { 0x1200005, "Xmp.video.GPSAltitudeRef" }, { 0x1200006, "Xmp.video.GPSAltitude" }, { 0x1200007, "Xmp.video.GPSTimeStamp" }, { 0x1200008, "Xmp.video.GPSSatellites" }, { 0x1200010, "Xmp.video.GPSImgDirectionRef" }, { 0x1200011, "Xmp.video.GPSImgDirection" }, { 0x1200012, "Xmp.video.GPSMapDatum" }, { 0x120001d, "Xmp.video.GPSDateStamp" }, { 0x2000001, "Xmp.video.MakerNoteVersion" }, { 0x2000005, "Xmp.video.WhiteBalance" }, { 0x200000b, "Xmp.video.WhiteBalanceFineTune" }, { 0x200001e, "Xmp.video.ColorSpace" }, { 0x2000023, "Xmp.video.PictureControlData" }, { 0x2000024, "Xmp.video.WorldTime" }, { 0x200002c, "Xmp.video.UnknownInfo" }, { 0x2000032, "Xmp.video.UnknownInfo2" }, { 0x2000039, "Xmp.video.LocationInfo" }, { 0x2000083, "Xmp.video.LensType" }, { 0x2000084, "Xmp.video.LensModel" }, { 0x20000ab, "Xmp.video.VariProgram" }, }; extern const TagDetails NikonColorSpace[] = { { 1, "sRGB" }, { 2, "Adobe RGB" }, }; extern const TagVocabulary NikonGPS_Latitude_Longitude_ImgDirection_Reference[] = { { "N", "North" }, { "S", "South" }, { "E", "East" }, { "W", "West" }, { "M", "Magnetic North" }, { "T", "True North" }, }; extern const TagDetails NikonGPSAltitudeRef[] = { { 0, "Above Sea Level" }, { 1, "Below Sea Level" }, }; extern const TagDetails NikonExposureProgram[] = { { 0, "Not Defined" }, { 1, "Manual" }, { 2, "Program AE" }, { 3, "Aperture-priority AE" }, { 4, "Shutter speed priority AE" }, { 5, "Creative (Slow speed)" }, { 6, "Action (High speed)" }, { 7, "Portrait" }, { 8, "Landscape" }, }; extern const TagDetails NikonMeteringMode[] = { { 0, "Unknown" }, { 1, "Average" }, { 2, "Center-weighted average" }, { 3, "Spot" }, { 4, "Multi-spot" }, { 5, "Multi-segment" }, { 6, "Partial" }, { 255, "Other" }, }; extern const TagDetails PictureControlAdjust[] = { { 0, "Default Settings" }, { 1, "Quick Adjust" }, { 2, "Full Control" }, }; //! Contrast and Sharpness extern const TagDetails NormalSoftHard[] = { { 0, "Normal" }, { 1, "Soft" }, { 2, "Hard" } }; //! Saturation extern const TagDetails Saturation[] = { { 0, "Normal" }, { 1, "Low" }, { 2, "High" } }; //! YesNo, used for DaylightSavings extern const TagDetails YesNo[] = { { 0, "No" }, { 1, "Yes" } }; //! DateDisplayFormat extern const TagDetails DateDisplayFormat[] = { { 0, "Y/M/D" }, { 1, "M/D/Y" }, { 2, "D/M/Y" } }; extern const TagDetails FilterEffect[] = { { 0x80, "Off" }, { 0x81, "Yellow" }, { 0x82, "Orange" }, { 0x83, "Red" }, { 0x84, "Green" }, { 0xff, "n/a" }, }; extern const TagDetails ToningEffect[] = { { 0x80, "B&W" }, { 0x81, "Sepia" }, { 0x82, "Cyanotype" }, { 0x83, "Red" }, { 0x84, "Yellow" }, { 0x85, "Green" }, { 0x86, "Blue-green" }, { 0x87, "Blue" }, { 0x88, "Purple-blue" }, { 0x89, "Red-purple" }, { 0xff, "n/a" }, }; extern const TagDetails whiteBalance[] = { { 0, "Auto" }, { 1, "Daylight" }, { 2, "Shade" }, { 3, "Fluorescent" }, { 4, "Tungsten" }, { 5, "Manual" }, }; enum movieHeaderTags { MovieHeaderVersion, CreateDate, ModifyDate, TimeScale, Duration, PreferredRate, PreferredVolume, PreviewTime = 18, PreviewDuration,PosterTime, SelectionTime, SelectionDuration, CurrentTime, NextTrackID }; enum trackHeaderTags { TrackHeaderVersion, TrackCreateDate, TrackModifyDate, TrackID, TrackDuration = 5, TrackLayer = 8, TrackVolume, ImageWidth = 19, ImageHeight }; enum mediaHeaderTags { MediaHeaderVersion, MediaCreateDate, MediaModifyDate, MediaTimeScale, MediaDuration, MediaLanguageCode }; enum handlerTags { HandlerClass = 1, HandlerType, HandlerVendorID }; enum videoHeaderTags { GraphicsMode = 2, OpColor }; enum stream { Video, Audio, Hint, Null, GenMediaHeader }; enum imageDescTags { codec, VendorID = 4, SourceImageWidth_Height = 7, XResolution, YResolution, CompressorName = 10, BitDepth }; enum audioDescTags { AudioFormat, AudioVendorID = 4, AudioChannels, AudioSampleRate = 7, MOV_AudioFormat = 13 }; /*! @brief Function used to check equality of a Tags with a particular string (ignores case while comparing). @param buf Data buffer that will contain Tag to compare @param str char* Pointer to string @return Returns true if the buffer value is equal to string. */ bool equalsQTimeTag(Exiv2::DataBuf& buf ,const char* str) { for(int i = 0; i < 4; ++i) if(tolower(buf.pData_[i]) != tolower(str[i])) return false; return true; } /*! @brief Function used to ignore Tags and values stored in them, since they are not necessary as metadata information @param buf Data buffer that will contain Tag to compare @return Returns true, if Tag is found in the ignoreList[] */ bool ignoreList (Exiv2::DataBuf& buf) { const char ignoreList[13][5] = { "mdat", "edts", "junk", "iods", "alis", "stsc", "stsz", "stco", "ctts", "stss", "skip", "wide", "cmvd", }; for(int i = 0 ; i < 13 ; ++i) if(equalsQTimeTag(buf, ignoreList[i])) return true; return false; } /*! @brief Function used to ignore Tags, basically Tags which contain other tags inside them, since they are not necessary as metadata information @param buf Data buffer that will contain Tag to compare @return Returns true, if Tag is found in the ignoreList[] */ bool dataIgnoreList (Exiv2::DataBuf& buf) { const char ignoreList[8][5] = { "moov", "mdia", "minf", "dinf", "alis", "stbl", "cmov", "meta", }; for(int i = 0 ; i < 8 ; ++i) if(equalsQTimeTag(buf, ignoreList[i])) return true; return false; } /*! @brief Function used to convert buffer data into 64-bit signed integer, information stored in Big Endian format @param buf Data buffer that will contain data to be converted @return Returns a signed 64-bit integer */ int64_t returnBufValue(Exiv2::DataBuf& buf, int n = 4) { int64_t temp = 0; for(int i = n - 1; i >= 0; i--) #ifdef _MSC_VER temp = temp + static_cast(buf.pData_[i]*(pow(static_cast(256), n-i-1))); #else temp = temp + buf.pData_[i]*(pow((float)256,n-i-1)); #endif return temp; } /*! @brief Function used to convert buffer data into 64-bit unsigned integer, information stored in Big Endian format @param buf Data buffer that will contain data to be converted @return Returns an unsigned 64-bit integer */ uint64_t returnUnsignedBufValue(Exiv2::DataBuf& buf, int n = 4) { uint64_t temp = 0; for(int i = n-1; i >= 0; i--) #if _MSC_VER temp = temp + static_cast(buf.pData_[i]*(pow(static_cast(256), n-i-1))); #else temp = temp + buf.pData_[i]*(pow((float)256,n-i-1)); #endif return temp; } /*! @brief Function used to quicktime files, by checking the the tags at the start of the file. If the Tag is any one of the tags listed below, then it is of Quicktime Type. @param a, b, c, d - characters used to compare @return Returns true, if Tag is found in the list qTimeTags */ bool isQuickTimeType (char a, char b, char c, char d) { char qTimeTags[][5] = { "PICT", "free", "ftyp", "junk", "mdat", "moov", "pict", "pnot", "skip", "uuid", "wide" }; for(int i = 0; i <= 10; i++) if(a == qTimeTags[i][0] && b == qTimeTags[i][1] && c == qTimeTags[i][2] && d == qTimeTags[i][3]) return true; return false; } }} // namespace Internal, Exiv2 namespace Exiv2 { using namespace Exiv2::Internal; QuickTimeVideo::QuickTimeVideo(BasicIo::AutoPtr io) : Image(ImageType::qtime, mdNone, io) , timeScale_(1) { } // QuickTimeVideo::QuickTimeVideo std::string QuickTimeVideo::mimeType() const { return "video/quicktime"; } void QuickTimeVideo::writeMetadata() { } void QuickTimeVideo::readMetadata() { if (io_->open() != 0) throw Error(9, io_->path(), strError()); // Ensure that this is the correct image type if (!isQTimeType(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "QuickTime"); } IoCloser closer(*io_); clearMetadata(); continueTraversing_ = true; height_ = width_ = 1; xmpData_["Xmp.video.FileSize"] = (double)io_->size()/(double)1048576; xmpData_["Xmp.video.FileName"] = io_->path(); xmpData_["Xmp.video.MimeType"] = mimeType(); while (continueTraversing_) decodeBlock(); aspectRatio(); } // QuickTimeVideo::readMetadata void QuickTimeVideo::decodeBlock() { const long bufMinSize = 4; DataBuf buf(bufMinSize+1); unsigned long size = 0; buf.pData_[4] = '\0' ; std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 4); if(io_->eof()) { continueTraversing_ = false; return; } size = Exiv2::getULong(buf.pData_, bigEndian); io_->read(buf.pData_, 4); if(size < 8) return; // std::cerr<<"\nTag=>"<"<read(buf.pData_, size); if (currentStream_ == Video) xmpData_["Xmp.video.URL"] = Exiv2::toString(buf.pData_); else if (currentStream_ == Audio) xmpData_["Xmp.audio.URL"] = Exiv2::toString(buf.pData_); } else if (equalsQTimeTag(buf, "urn ")) { io_->read(buf.pData_, size); if (currentStream_ == Video) xmpData_["Xmp.video.URN"] = Exiv2::toString(buf.pData_); else if (currentStream_ == Audio) xmpData_["Xmp.audio.URN"] = Exiv2::toString(buf.pData_); } else if (equalsQTimeTag(buf, "dcom")) { io_->read(buf.pData_, size); xmpData_["Xmp.video.Compressor"] = Exiv2::toString(buf.pData_); } else if (equalsQTimeTag(buf, "smhd")) { io_->read(buf.pData_, 4); io_->read(buf.pData_, 4); xmpData_["Xmp.audio.Balance"] = returnBufValue(buf, 2); } else { discard(size); } } // QuickTimeVideo::tagDecoder void QuickTimeVideo::discard(unsigned long size) { uint64_t cur_pos = io_->tell(); io_->seek(cur_pos + size, BasicIo::beg); } // QuickTimeVideo::discard void QuickTimeVideo::previewTagDecoder(unsigned long size) { DataBuf buf(4); uint64_t cur_pos = io_->tell(); io_->read(buf.pData_, 4); xmpData_["Xmp.video.PreviewDate"] = getULong(buf.pData_, bigEndian); io_->read(buf.pData_, 2); xmpData_["Xmp.video.PreviewVersion"] = getShort(buf.pData_, bigEndian); io_->read(buf.pData_, 4); if(equalsQTimeTag(buf, "PICT")) xmpData_["Xmp.video.PreviewAtomType"] = "QuickDraw Picture"; else xmpData_["Xmp.video.PreviewAtomType"] = Exiv2::toString(buf.pData_); io_->seek(cur_pos + size, BasicIo::beg); } // QuickTimeVideo::previewTagDecoder void QuickTimeVideo::keysTagDecoder(unsigned long size) { DataBuf buf(4); uint64_t cur_pos = io_->tell(); io_->read(buf.pData_, 4); xmpData_["Xmp.video.PreviewDate"] = getULong(buf.pData_, bigEndian); io_->read(buf.pData_, 2); xmpData_["Xmp.video.PreviewVersion"] = getShort(buf.pData_, bigEndian); io_->read(buf.pData_, 4); if(equalsQTimeTag(buf, "PICT")) xmpData_["Xmp.video.PreviewAtomType"] = "QuickDraw Picture"; else xmpData_["Xmp.video.PreviewAtomType"] = Exiv2::toString(buf.pData_); io_->seek(cur_pos + size, BasicIo::beg); } // QuickTimeVideo::keysTagDecoder void QuickTimeVideo::trackApertureTagDecoder(unsigned long size) { DataBuf buf(4), buf2(2); uint64_t cur_pos = io_->tell(); byte n = 3; while(n--) { io_->seek(static_cast(4), BasicIo::cur); io_->read(buf.pData_, 4); if(equalsQTimeTag(buf, "clef")) { io_->seek(static_cast(4), BasicIo::cur); io_->read(buf.pData_, 2); io_->read(buf2.pData_, 2); xmpData_["Xmp.video.CleanApertureWidth"] = Exiv2::toString(getUShort(buf.pData_, bigEndian)) + "." + Exiv2::toString(getUShort(buf2.pData_, bigEndian)); io_->read(buf.pData_, 2); io_->read(buf2.pData_, 2); xmpData_["Xmp.video.CleanApertureHeight"] = Exiv2::toString(getUShort(buf.pData_, bigEndian)) + "." + Exiv2::toString(getUShort(buf2.pData_, bigEndian)); } else if(equalsQTimeTag(buf, "prof")) { io_->seek(static_cast(4), BasicIo::cur); io_->read(buf.pData_, 2); io_->read(buf2.pData_, 2); xmpData_["Xmp.video.ProductionApertureWidth"] = Exiv2::toString(getUShort(buf.pData_, bigEndian)) + "." + Exiv2::toString(getUShort(buf2.pData_, bigEndian)); io_->read(buf.pData_, 2); io_->read(buf2.pData_, 2); xmpData_["Xmp.video.ProductionApertureHeight"] = Exiv2::toString(getUShort(buf.pData_, bigEndian)) + "." + Exiv2::toString(getUShort(buf2.pData_, bigEndian)); } else if(equalsQTimeTag(buf, "enof")) { io_->seek(static_cast(4), BasicIo::cur); io_->read(buf.pData_, 2); io_->read(buf2.pData_, 2); xmpData_["Xmp.video.EncodedPixelsWidth"] = Exiv2::toString(getUShort(buf.pData_, bigEndian)) + "." + Exiv2::toString(getUShort(buf2.pData_, bigEndian)); io_->read(buf.pData_, 2); io_->read(buf2.pData_, 2); xmpData_["Xmp.video.EncodedPixelsHeight"] = Exiv2::toString(getUShort(buf.pData_, bigEndian)) + "." + Exiv2::toString(getUShort(buf2.pData_, bigEndian)); } } io_->seek(static_cast(cur_pos + size), BasicIo::beg); } // QuickTimeVideo::trackApertureTagDecoder void QuickTimeVideo::CameraTagsDecoder(unsigned long size_external) { uint64_t cur_pos = io_->tell(); DataBuf buf(50), buf2(4); const TagDetails* td; io_->read(buf.pData_, 4); if(equalsQTimeTag(buf, "NIKO")) { io_->seek(cur_pos, BasicIo::beg); io_->read(buf.pData_, 24); xmpData_["Xmp.video.Make"] = Exiv2::toString(buf.pData_); io_->read(buf.pData_, 14); xmpData_["Xmp.video.Model"] = Exiv2::toString(buf.pData_); io_->read(buf.pData_, 4); xmpData_["Xmp.video.ExposureTime"] = "1/" + Exiv2::toString( ceil( getULong(buf.pData_, littleEndian) / (double)10)); io_->read(buf.pData_, 4); io_->read(buf2.pData_, 4); xmpData_["Xmp.video.FNumber"] = getULong(buf.pData_, littleEndian) / (double)getULong(buf2.pData_, littleEndian) ; io_->read(buf.pData_, 4); io_->read(buf2.pData_, 4); xmpData_["Xmp.video.ExposureCompensation"] = getULong(buf.pData_, littleEndian) / (double)getULong(buf2.pData_, littleEndian) ; io_->read(buf.pData_, 10); io_->read(buf.pData_, 4); td = find(whiteBalance, getULong(buf.pData_, littleEndian)); if (td) xmpData_["Xmp.video.WhiteBalance"] = exvGettext(td->label_); io_->read(buf.pData_, 4); io_->read(buf2.pData_, 4); xmpData_["Xmp.video.FocalLength"] = getULong(buf.pData_, littleEndian) / (double)getULong(buf2.pData_, littleEndian) ; io_->seek(static_cast(95), BasicIo::cur); io_->read(buf.pData_, 48); xmpData_["Xmp.video.Software"] = Exiv2::toString(buf.pData_); io_->read(buf.pData_, 4); xmpData_["Xmp.video.ISO"] = getULong(buf.pData_, littleEndian); } io_->seek(cur_pos + size_external, BasicIo::beg); } // QuickTimeVideo::CameraTagsDecoder void QuickTimeVideo::userDataDecoder(unsigned long size_external) { uint64_t cur_pos = io_->tell(); const TagVocabulary* td; const TagVocabulary* tv, *tv_internal; const long bufMinSize = 100; DataBuf buf(bufMinSize); unsigned long size = 0, size_internal = size_external; std::memset(buf.pData_, 0x0, buf.size_); while((size_internal/4 != 0) && (size_internal > 0)) { buf.pData_[4] = '\0' ; io_->read(buf.pData_, 4); size = Exiv2::getULong(buf.pData_, bigEndian); if(size > size_internal) break; size_internal -= size; io_->read(buf.pData_, 4); if(buf.pData_[0] == 169) buf.pData_[0] = ' '; td = find(userDatatags, Exiv2::toString( buf.pData_)); tv = find(userDataReferencetags, Exiv2::toString( buf.pData_)); if(size == 0 || (size - 12) <= 0) break; else if(equalsQTimeTag(buf, "DcMD") || equalsQTimeTag(buf, "NCDT")) userDataDecoder(size - 8); else if(equalsQTimeTag(buf, "NCTG")) NikonTagsDecoder(size - 8); else if(equalsQTimeTag(buf, "TAGS")) CameraTagsDecoder(size - 8); else if(equalsQTimeTag(buf, "CNCV") || equalsQTimeTag(buf, "CNFV") || equalsQTimeTag(buf, "CNMN") || equalsQTimeTag(buf, "NCHD") || equalsQTimeTag(buf, "FFMV")) { io_->read(buf.pData_, size - 8); xmpData_[exvGettext(tv->label_)] = Exiv2::toString(buf.pData_); } else if(equalsQTimeTag(buf, "CMbo") || equalsQTimeTag(buf, "Cmbo")) { io_->read(buf.pData_, 2); buf.pData_[2] = '\0' ; tv_internal = find(cameraByteOrderTags, Exiv2::toString( buf.pData_)); if (tv_internal) xmpData_[exvGettext(tv->label_)] = exvGettext(tv_internal->label_); else xmpData_[exvGettext(tv->label_)] = Exiv2::toString(buf.pData_); } else if(tv) { io_->read(buf.pData_, 4); io_->read(buf.pData_, size-12); xmpData_[exvGettext(tv->label_)] = Exiv2::toString(buf.pData_); } else if(td) tagDecoder(buf,size-8); } io_->seek(cur_pos + size_external, BasicIo::beg); } // QuickTimeVideo::userDataDecoder void QuickTimeVideo::NikonTagsDecoder(unsigned long size_external) { uint64_t cur_pos = io_->tell(); DataBuf buf(200), buf2(4+1); unsigned long TagID = 0; unsigned short dataLength = 0, dataType = 2; const TagDetails* td, *td2; for(int i = 0 ; i < 100 ; i++) { io_->read(buf.pData_, 4); TagID = Exiv2::getULong(buf.pData_, bigEndian); td = find(NikonNCTGTags, TagID); io_->read(buf.pData_, 2); dataType = Exiv2::getUShort(buf.pData_, bigEndian); std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 2); if(TagID == 0x2000023) { uint64_t local_pos = io_->tell(); dataLength = Exiv2::getUShort(buf.pData_, bigEndian); std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 4); xmpData_["Xmp.video.PictureControlVersion"] = Exiv2::toString(buf.pData_); io_->read(buf.pData_, 20); xmpData_["Xmp.video.PictureControlName"] = Exiv2::toString(buf.pData_); io_->read(buf.pData_, 20); xmpData_["Xmp.video.PictureControlBase"] = Exiv2::toString(buf.pData_); io_->read(buf.pData_, 4); std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 1); td2 = find(PictureControlAdjust, (int)buf.pData_[0] & 7 ); if(td2) xmpData_["Xmp.video.PictureControlAdjust"] = exvGettext(td2->label_); else xmpData_["Xmp.video.PictureControlAdjust"] = (int)buf.pData_[0] & 7 ; io_->read(buf.pData_, 1); td2 = find(NormalSoftHard, (int)buf.pData_[0] & 7 ); if(td2) xmpData_["Xmp.video.PictureControlQuickAdjust"] = exvGettext(td2->label_); io_->read(buf.pData_, 1); td2 = find(NormalSoftHard, (int)buf.pData_[0] & 7 ); if(td2) xmpData_["Xmp.video.Sharpness"] = exvGettext(td2->label_); else xmpData_["Xmp.video.Sharpness"] = (int)buf.pData_[0] & 7; io_->read(buf.pData_, 1); td2 = find(NormalSoftHard, (int)buf.pData_[0] & 7 ); if(td2) xmpData_["Xmp.video.Contrast"] = exvGettext(td2->label_); else xmpData_["Xmp.video.Contrast"] = (int)buf.pData_[0] & 7; io_->read(buf.pData_, 1); td2 = find(NormalSoftHard, (int)buf.pData_[0] & 7 ); if(td2) xmpData_["Xmp.video.Brightness"] = exvGettext(td2->label_); else xmpData_["Xmp.video.Brightness"] = (int)buf.pData_[0] & 7; io_->read(buf.pData_, 1); td2 = find(Saturation, (int)buf.pData_[0] & 7 ); if(td2) xmpData_["Xmp.video.Saturation"] = exvGettext(td2->label_); else xmpData_["Xmp.video.Saturation"] = (int)buf.pData_[0] & 7; io_->read(buf.pData_, 1); xmpData_["Xmp.video.HueAdjustment"] = (int)buf.pData_[0] & 7; io_->read(buf.pData_, 1); td2 = find(FilterEffect, (int)buf.pData_[0]); if(td2) xmpData_["Xmp.video.FilterEffect"] = exvGettext(td2->label_); else xmpData_["Xmp.video.FilterEffect"] = (int)buf.pData_[0]; io_->read(buf.pData_, 1); td2 = find(ToningEffect, (int)buf.pData_[0]); if(td2) xmpData_["Xmp.video.ToningEffect"] = exvGettext(td2->label_); else xmpData_["Xmp.video.ToningEffect"] = (int)buf.pData_[0]; io_->read(buf.pData_, 1); xmpData_["Xmp.video.ToningSaturation"] = (int)buf.pData_[0]; io_->seek(local_pos + dataLength, BasicIo::beg); } else if(TagID == 0x2000024) { uint64_t local_pos = io_->tell(); dataLength = Exiv2::getUShort(buf.pData_, bigEndian); std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 2); xmpData_["Xmp.video.TimeZone"] = Exiv2::getShort(buf.pData_, bigEndian); io_->read(buf.pData_, 1); td2 = find(YesNo, (int)buf.pData_[0]); if(td2) xmpData_["Xmp.video.DayLightSavings"] = exvGettext(td2->label_); io_->read(buf.pData_, 1); td2 = find(DateDisplayFormat, (int)buf.pData_[0]); if(td2) xmpData_["Xmp.video.DateDisplayFormat"] = exvGettext(td2->label_); io_->seek(local_pos + dataLength, BasicIo::beg); } else if(dataType == 2 || dataType == 7) { dataLength = Exiv2::getUShort(buf.pData_, bigEndian); std::memset(buf.pData_, 0x0, buf.size_); // Sanity check with an "unreasonably" large number if (dataLength > 200) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Xmp.video Nikon Tags, dataLength was found to be larger than 200." << " Entries considered invalid. Not Processed.\n"; #endif io_->seek(io_->tell() + dataLength, BasicIo::beg); } else io_->read(buf.pData_, dataLength); if(td) xmpData_[exvGettext(td->label_)] = Exiv2::toString(buf.pData_); } else if(dataType == 4) { dataLength = Exiv2::getUShort(buf.pData_, bigEndian) * 4; std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 4); if(td) xmpData_[exvGettext(td->label_)] = Exiv2::toString(Exiv2::getULong( buf.pData_, bigEndian)); // Sanity check with an "unreasonably" large number if (dataLength > 200 || dataLength < 4) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Xmp.video Nikon Tags, dataLength was found to be of inapropriate size." << " Entries considered invalid. Not Processed.\n"; #endif io_->seek(io_->tell() + dataLength - 4, BasicIo::beg); } else io_->read(buf.pData_, dataLength - 4); } else if(dataType == 3) { dataLength = Exiv2::getUShort(buf.pData_, bigEndian) * 2; std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 2); if(td) xmpData_[exvGettext(td->label_)] = Exiv2::toString(Exiv2::getUShort( buf.pData_, bigEndian)); // Sanity check with an "unreasonably" large number if (dataLength > 200 || dataLength < 2) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Xmp.video Nikon Tags, dataLength was found to be of inapropriate size." << " Entries considered invalid. Not Processed.\n"; #endif io_->seek(io_->tell() + dataLength - 2, BasicIo::beg); } else io_->read(buf.pData_, dataLength - 2); } else if(dataType == 5) { dataLength = Exiv2::getUShort(buf.pData_, bigEndian) * 8; std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 4); io_->read(buf2.pData_, 4); if(td) xmpData_[exvGettext(td->label_)] = Exiv2::toString((double)Exiv2::getULong( buf.pData_, bigEndian) / (double)Exiv2::getULong( buf2.pData_, bigEndian)); // Sanity check with an "unreasonably" large number if (dataLength > 200 || dataLength < 8) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Xmp.video Nikon Tags, dataLength was found to be of inapropriate size." << " Entries considered invalid. Not Processed.\n"; #endif io_->seek(io_->tell() + dataLength - 8, BasicIo::beg); } else io_->read(buf.pData_, dataLength - 8); } else if(dataType == 8) { dataLength = Exiv2::getUShort(buf.pData_, bigEndian) * 2; std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 2); io_->read(buf2.pData_, 2); if(td) xmpData_[exvGettext(td->label_)] = Exiv2::toString(Exiv2::getUShort( buf.pData_, bigEndian) ) + " " + Exiv2::toString(Exiv2::getUShort( buf2.pData_, bigEndian)); // Sanity check with an "unreasonably" large number if (dataLength > 200 || dataLength < 4) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Xmp.video Nikon Tags, dataLength was found to be of inapropriate size." << " Entries considered invalid. Not Processed.\n"; #endif io_->seek(io_->tell() + dataLength - 4, BasicIo::beg); } else io_->read(buf.pData_, dataLength - 4); } } io_->seek(cur_pos + size_external, BasicIo::beg); } // QuickTimeVideo::NikonTagsDecoder void QuickTimeVideo::setMediaStream() { uint64_t current_position = io_->tell(); DataBuf buf(4+1); while(!io_->eof()) { io_->read(buf.pData_, 4); if (equalsQTimeTag(buf, "hdlr")) { io_->read(buf.pData_, 4); io_->read(buf.pData_, 4); io_->read(buf.pData_, 4); if (equalsQTimeTag(buf, "vide")) currentStream_ = Video; else if(equalsQTimeTag(buf, "soun")) currentStream_ = Audio; else if (equalsQTimeTag(buf, "hint")) currentStream_ = Hint; else currentStream_ = GenMediaHeader; break; } } io_->seek(current_position, BasicIo::beg); } // QuickTimeVideo::setMediaStream void QuickTimeVideo::timeToSampleDecoder() { DataBuf buf(4+1); io_->read(buf.pData_, 4); io_->read(buf.pData_, 4); uint64_t noOfEntries, totalframes = 0, timeOfFrames = 0; noOfEntries = returnUnsignedBufValue(buf); uint64_t temp; for(unsigned long i = 1; i <= noOfEntries; i++) { io_->read(buf.pData_, 4); temp = returnBufValue(buf); totalframes += temp; io_->read(buf.pData_, 4); timeOfFrames += temp * returnBufValue(buf); } if (currentStream_ == Video) xmpData_["Xmp.video.FrameRate"] = (double)totalframes * (double)timeScale_ / (double)timeOfFrames; } // QuickTimeVideo::timeToSampleDecoder void QuickTimeVideo::sampleDesc(unsigned long size) { DataBuf buf(100); uint64_t cur_pos = io_->tell(); io_->read(buf.pData_, 4); io_->read(buf.pData_, 4); uint64_t noOfEntries; noOfEntries = returnUnsignedBufValue(buf); for(unsigned long i = 1; i <= noOfEntries; i++) { if (currentStream_ == Video) imageDescDecoder(); else if (currentStream_ == Audio) audioDescDecoder(); } io_->seek(cur_pos + size, BasicIo::beg); } // QuickTimeVideo::sampleDesc void QuickTimeVideo::audioDescDecoder() { DataBuf buf(40); std::memset(buf.pData_, 0x0, buf.size_); buf.pData_[4] = '\0'; io_->read(buf.pData_, 4); uint64_t size = 82; const TagVocabulary* td; for (int i = 0; size/4 != 0 ; size -= 4, i++) { io_->read(buf.pData_, 4); switch(i) { case AudioFormat: td = find(qTimeFileType, Exiv2::toString( buf.pData_)); if(td) xmpData_["Xmp.audio.Compressor"] = exvGettext(td->label_); else xmpData_["Xmp.audio.Compressor"] = Exiv2::toString( buf.pData_); break; case AudioVendorID: td = find(vendorIDTags, Exiv2::toString( buf.pData_)); if(td) xmpData_["Xmp.audio.VendorID"] = exvGettext(td->label_); break; case AudioChannels: xmpData_["Xmp.audio.ChannelType"] = returnBufValue(buf, 2); xmpData_["Xmp.audio.BitsPerSample"] = (buf.pData_[2] * 256 + buf.pData_[3]); break; case AudioSampleRate: xmpData_["Xmp.audio.SampleRate"] = returnBufValue(buf, 2) + ((buf.pData_[2] * 256 + buf.pData_[3]) * 0.01); break; default: break; } } io_->read(buf.pData_, static_cast(size % 4)); //cause size is so small, this cast should be right. } // QuickTimeVideo::audioDescDecoder void QuickTimeVideo::imageDescDecoder() { DataBuf buf(40); std::memset(buf.pData_, 0x0, buf.size_); buf.pData_[4] = '\0'; io_->read(buf.pData_, 4); uint64_t size = 82; const TagVocabulary* td; for (int i = 0; size/4 != 0 ; size -= 4, i++) { io_->read(buf.pData_, 4); switch(i) { case codec: td = find(qTimeFileType, Exiv2::toString( buf.pData_)); if(td) xmpData_["Xmp.video.Codec"] = exvGettext(td->label_); else xmpData_["Xmp.video.Codec"] = Exiv2::toString( buf.pData_); break; case VendorID: td = find(vendorIDTags, Exiv2::toString( buf.pData_)); if(td) xmpData_["Xmp.video.VendorID"] = exvGettext(td->label_); break; case SourceImageWidth_Height: xmpData_["Xmp.video.SourceImageWidth"] = returnBufValue(buf, 2); xmpData_["Xmp.video.SourceImageHeight"] = (buf.pData_[2] * 256 + buf.pData_[3]); break; case XResolution: xmpData_["Xmp.video.XResolution"] = returnBufValue(buf, 2) + ((buf.pData_[2] * 256 + buf.pData_[3]) * 0.01); break; case YResolution: xmpData_["Xmp.video.YResolution"] = returnBufValue(buf, 2) + ((buf.pData_[2] * 256 + buf.pData_[3]) * 0.01); io_->read(buf.pData_, 3); size -= 3; break; case CompressorName: io_->read(buf.pData_, 32); size -= 32; xmpData_["Xmp.video.Compressor"] = Exiv2::toString( buf.pData_); break; default: break; } } io_->read(buf.pData_, static_cast(size % 4)); xmpData_["Xmp.video.BitDepth"] = returnBufValue(buf, 1); } // QuickTimeVideo::imageDescDecoder void QuickTimeVideo::multipleEntriesDecoder() { DataBuf buf(4+1); io_->read(buf.pData_, 4); io_->read(buf.pData_, 4); uint64_t noOfEntries; noOfEntries = returnUnsignedBufValue(buf); for(unsigned long i = 1; i <= noOfEntries; i++) decodeBlock(); } // QuickTimeVideo::multipleEntriesDecoder void QuickTimeVideo::videoHeaderDecoder(unsigned long size) { DataBuf buf(3); std::memset(buf.pData_, 0x0, buf.size_); buf.pData_[2] = '\0'; currentStream_ = Video; const TagDetails* td; for (int i = 0; size/2 != 0 ; size -= 2, i++) { io_->read(buf.pData_, 2); switch(i) { case GraphicsMode: td = find(graphicsModetags, returnBufValue(buf,2)); if(td) xmpData_["Xmp.video.GraphicsMode"] = exvGettext(td->label_); break; case OpColor: xmpData_["Xmp.video.OpColor"] = returnBufValue(buf,2); break; default: break; } } io_->read(buf.pData_, size % 2); } // QuickTimeVideo::videoHeaderDecoder void QuickTimeVideo::handlerDecoder(unsigned long size) { uint64_t cur_pos = io_->tell(); DataBuf buf(100); std::memset(buf.pData_, 0x0, buf.size_); buf.pData_[4] = '\0'; const TagVocabulary* tv; for (int i = 0; i < 5 ; i++) { io_->read(buf.pData_, 4); switch(i) { case HandlerClass: tv = find(handlerClassTags, Exiv2::toString( buf.pData_)); if(tv) { if (currentStream_ == Video) xmpData_["Xmp.video.HandlerClass"] = exvGettext(tv->label_); else if (currentStream_ == Audio) xmpData_["Xmp.audio.HandlerClass"] = exvGettext(tv->label_); } break; case HandlerType: tv = find(handlerTypeTags, Exiv2::toString( buf.pData_)); if(tv) { if (currentStream_ == Video) xmpData_["Xmp.video.HandlerType"] = exvGettext(tv->label_); else if (currentStream_ == Audio) xmpData_["Xmp.audio.HandlerType"] = exvGettext(tv->label_); } break; case HandlerVendorID: tv = find(vendorIDTags, Exiv2::toString( buf.pData_)); if(tv) { if (currentStream_ == Video) xmpData_["Xmp.video.HandlerVendorID"] = exvGettext(tv->label_); else if (currentStream_ == Audio) xmpData_["Xmp.audio.HandlerVendorID"] = exvGettext(tv->label_); } break; } } io_->seek(cur_pos + size, BasicIo::beg); } // QuickTimeVideo::handlerDecoder void QuickTimeVideo::fileTypeDecoder(unsigned long size) { DataBuf buf(5); std::memset(buf.pData_, 0x0, buf.size_); buf.pData_[4] = '\0'; Exiv2::Value::AutoPtr v = Exiv2::Value::create(Exiv2::xmpSeq); const TagVocabulary* td; for (int i = 0; size/4 != 0; size -=4, i++) { io_->read(buf.pData_, 4); td = find(qTimeFileType, Exiv2::toString( buf.pData_)); switch(i) { case 0: if(td) xmpData_["Xmp.video.MajorBrand"] = exvGettext(td->label_); break; case 1: xmpData_["Xmp.video.MinorVersion"] = returnBufValue(buf); break; default: if(td) v->read(exvGettext(td->label_)); else v->read(Exiv2::toString(buf.pData_)); break; } } xmpData_.add(Exiv2::XmpKey("Xmp.video.CompatibleBrands"), v.get()); io_->read(buf.pData_, size%4); } // QuickTimeVideo::fileTypeDecoder void QuickTimeVideo::mediaHeaderDecoder(unsigned long size) { DataBuf buf(5); std::memset(buf.pData_, 0x0, buf.size_); buf.pData_[4] = '\0'; int64_t time_scale = 1; for (int i = 0; size/4 != 0 ; size -=4, i++) { io_->read(buf.pData_, 4); switch(i) { case MediaHeaderVersion: if(currentStream_ == Video) xmpData_["Xmp.video.MediaHeaderVersion"] = returnBufValue(buf,1); else if (currentStream_ == Audio) xmpData_["Xmp.audio.MediaHeaderVersion"] = returnBufValue(buf,1); break; case MediaCreateDate: //A 32-bit integer that specifies (in seconds since midnight, January 1, 1904) when the movie atom was created. if(currentStream_ == Video) xmpData_["Xmp.video.MediaCreateDate"] = returnUnsignedBufValue(buf); else if (currentStream_ == Audio) xmpData_["Xmp.audio.MediaCreateDate"] = returnUnsignedBufValue(buf); break; case MediaModifyDate: //A 32-bit integer that specifies (in seconds since midnight, January 1, 1904) when the movie atom was created. if(currentStream_ == Video) xmpData_["Xmp.video.MediaModifyDate"] = returnUnsignedBufValue(buf); else if (currentStream_ == Audio) xmpData_["Xmp.audio.MediaModifyDate"] = returnUnsignedBufValue(buf); break; case MediaTimeScale: if(currentStream_ == Video) xmpData_["Xmp.video.MediaTimeScale"] = returnBufValue(buf); else if (currentStream_ == Audio) xmpData_["Xmp.audio.MediaTimeScale"] = returnBufValue(buf); time_scale = returnBufValue(buf); if (time_scale <= 0) time_scale = 1; break; case MediaDuration: if(currentStream_ == Video) xmpData_["Xmp.video.MediaDuration"] = time_scale ? returnBufValue(buf)/time_scale : 0 ; else if (currentStream_ == Audio) xmpData_["Xmp.audio.MediaDuration"] = time_scale ? returnBufValue(buf)/time_scale : 0; break; case MediaLanguageCode: if(currentStream_ == Video) xmpData_["Xmp.video.MediaLangCode"] = returnUnsignedBufValue(buf,2); else if (currentStream_ == Audio) xmpData_["Xmp.audio.MediaLangCode"] = returnUnsignedBufValue(buf,2); break; default: break; } } io_->read(buf.pData_, size%4); } // QuickTimeVideo::mediaHeaderDecoder void QuickTimeVideo::trackHeaderDecoder(unsigned long size) { DataBuf buf(5); std::memset(buf.pData_, 0x0, buf.size_); buf.pData_[4] = '\0'; int64_t temp = 0; for (int i = 0; size/4 != 0 ; size -=4, i++) { io_->read(buf.pData_, 4); switch(i) { case TrackHeaderVersion: if(currentStream_ == Video) xmpData_["Xmp.video.TrackHeaderVersion"] = returnBufValue(buf,1); else if(currentStream_ == Audio) xmpData_["Xmp.audio.TrackHeaderVersion"] = returnBufValue(buf,1); break; case TrackCreateDate: //A 32-bit integer that specifies (in seconds since midnight, January 1, 1904) when the movie atom was created. if(currentStream_ == Video) xmpData_["Xmp.video.TrackCreateDate"] = returnUnsignedBufValue(buf); else if(currentStream_ == Audio) xmpData_["Xmp.audio.TrackCreateDate"] = returnUnsignedBufValue(buf); break; case TrackModifyDate: //A 32-bit integer that specifies (in seconds since midnight, January 1, 1904) when the movie atom was created. if(currentStream_ == Video) xmpData_["Xmp.video.TrackModifyDate"] = returnUnsignedBufValue(buf); else if(currentStream_ == Audio) xmpData_["Xmp.audio.TrackModifyDate"] = returnUnsignedBufValue(buf); break; case TrackID: if(currentStream_ == Video) xmpData_["Xmp.video.TrackID"] = returnBufValue(buf); else if(currentStream_ == Audio) xmpData_["Xmp.audio.TrackID"] = returnBufValue(buf); break; case TrackDuration: if(currentStream_ == Video) xmpData_["Xmp.video.TrackDuration"] = timeScale_ ? returnBufValue(buf)/timeScale_ : 0; else if(currentStream_ == Audio) xmpData_["Xmp.audio.TrackDuration"] = timeScale_ ? returnBufValue(buf)/timeScale_ : 0; break; case TrackLayer: if(currentStream_ == Video) xmpData_["Xmp.video.TrackLayer"] = returnBufValue(buf, 2); else if(currentStream_ == Audio) xmpData_["Xmp.audio.TrackLayer"] = returnBufValue(buf, 2); break; case TrackVolume: if(currentStream_ == Video) xmpData_["Xmp.video.TrackVolume"] = (returnBufValue(buf, 1) + (buf.pData_[2] * 0.1)) * 100; else if(currentStream_ == Audio) xmpData_["Xmp.video.TrackVolume"] = (returnBufValue(buf, 1) + (buf.pData_[2] * 0.1)) * 100; break; case ImageWidth: if(currentStream_ == Video) { temp = returnBufValue(buf, 2) + static_cast((buf.pData_[2] * 256 + buf.pData_[3]) * 0.01); xmpData_["Xmp.video.Width"] = temp; width_ = temp; } break; case ImageHeight: if(currentStream_ == Video) { temp = returnBufValue(buf, 2) + static_cast((buf.pData_[2] * 256 + buf.pData_[3]) * 0.01); xmpData_["Xmp.video.Height"] = temp; height_ = temp; } break; default: break; } } io_->read(buf.pData_, size%4); } // QuickTimeVideo::trackHeaderDecoder void QuickTimeVideo::movieHeaderDecoder(unsigned long size) { DataBuf buf(5); std::memset(buf.pData_, 0x0, buf.size_); buf.pData_[4] = '\0'; for (int i = 0; size/4 != 0 ; size -=4, i++) { io_->read(buf.pData_, 4); switch(i) { case MovieHeaderVersion: xmpData_["Xmp.video.MovieHeaderVersion"] = returnBufValue(buf,1); break; case CreateDate: //A 32-bit integer that specifies (in seconds since midnight, January 1, 1904) when the movie atom was created. xmpData_["Xmp.video.DateUTC"] = returnUnsignedBufValue(buf); break; case ModifyDate: //A 32-bit integer that specifies (in seconds since midnight, January 1, 1904) when the movie atom was created. xmpData_["Xmp.video.ModificationDate"] = returnUnsignedBufValue(buf); break; case TimeScale: xmpData_["Xmp.video.TimeScale"] = returnBufValue(buf); timeScale_ = returnBufValue(buf); if (timeScale_ <= 0) timeScale_ = 1; break; case Duration: if(timeScale_ != 0) // To prevent division by zero xmpData_["Xmp.video.Duration"] = returnBufValue(buf) * 1000 / timeScale_; break; case PreferredRate: xmpData_["Xmp.video.PreferredRate"] = returnBufValue(buf, 2) + ((buf.pData_[2] * 256 + buf.pData_[3]) * 0.01); break; case PreferredVolume: xmpData_["Xmp.video.PreferredVolume"] = (returnBufValue(buf, 1) + (buf.pData_[2] * 0.1)) * 100; break; case PreviewTime: xmpData_["Xmp.video.PreviewTime"] = returnBufValue(buf); break; case PreviewDuration: xmpData_["Xmp.video.PreviewDuration"] = returnBufValue(buf); break; case PosterTime: xmpData_["Xmp.video.PosterTime"] = returnBufValue(buf); break; case SelectionTime: xmpData_["Xmp.video.SelectionTime"] = returnBufValue(buf); break; case SelectionDuration: xmpData_["Xmp.video.SelectionDuration"] = returnBufValue(buf); break; case CurrentTime: xmpData_["Xmp.video.CurrentTime"] = returnBufValue(buf); break; case NextTrackID: xmpData_["Xmp.video.NextTrackID"] = returnBufValue(buf); break; default: break; } } io_->read(buf.pData_, size%4); } // QuickTimeVideo::movieHeaderDecoder void QuickTimeVideo::aspectRatio() { //TODO - Make a better unified method to handle all cases of Aspect Ratio double aspectRatio = (double)width_ / (double)height_; aspectRatio = floor(aspectRatio*10) / 10; xmpData_["Xmp.video.AspectRatio"] = aspectRatio; int aR = (int) ((aspectRatio*10.0)+0.1); switch (aR) { case 13 : xmpData_["Xmp.video.AspectRatio"] = "4:3" ; break; case 17 : xmpData_["Xmp.video.AspectRatio"] = "16:9" ; break; case 10 : xmpData_["Xmp.video.AspectRatio"] = "1:1" ; break; case 16 : xmpData_["Xmp.video.AspectRatio"] = "16:10" ; break; case 22 : xmpData_["Xmp.video.AspectRatio"] = "2.21:1" ; break; case 23 : xmpData_["Xmp.video.AspectRatio"] = "2.35:1" ; break; case 12 : xmpData_["Xmp.video.AspectRatio"] = "5:4" ; break; default : xmpData_["Xmp.video.AspectRatio"] = aspectRatio;break; } } // QuickTimeVideo::aspectRatio Image::AutoPtr newQTimeInstance(BasicIo::AutoPtr io, bool /*create*/) { Image::AutoPtr image(new QuickTimeVideo(io)); if (!image->good()) { image.reset(); } return image; } bool isQTimeType(BasicIo& iIo, bool advance) { const int32_t len = 4; byte buf[len]; iIo.read(buf, len); iIo.read(buf, len); if (iIo.error() || iIo.eof()) { return false; } bool matched = isQuickTimeType(buf[0], buf[1], buf[2], buf[3]); if (!advance || !matched) { iIo.seek(static_cast(0), BasicIo::beg); } return matched; } } // namespace Exiv2 #endif // EXV_ENABLE_VIDEO exiv2-0.25/src/panasonicmn.cpp0000664000175000017500000012075512526761404016135 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: panasonicmn.cpp Version: $Rev: 3831 $ Author(s): Andreas Huggel (ahu) Gilles Caulier (gc) History: 11-Jun-04, ahu: created Credits: See header file */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: panasonicmn.cpp 3831 2015-05-20 01:27:32Z asp $") // ***************************************************************************** // included header files #include "types.hpp" #include "panasonicmn_int.hpp" #include "tags_int.hpp" #include "value.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { //! Quality, tag 0x0001 extern const TagDetails panasonicQuality[] = { { 1, N_("TIFF") }, { 2, N_("High") }, { 3, N_("Normal") }, { 6, N_("Very High") }, { 7, N_("Raw") }, { 9, N_("Motion Picture") }, { 11, N_("Full HD Movie") }, { 12, N_("4k Movie") } }; //! WhiteBalance, tag 0x0003 extern const TagDetails panasonicWhiteBalance[] = { { 1, N_("Auto") }, { 2, N_("Daylight") }, { 3, N_("Cloudy") }, { 4, N_("Halogen") }, { 5, N_("Manual") }, { 8, N_("Flash") }, { 10, N_("Black and white") }, { 11, N_("Manual") }, { 12, N_("Shade") }, { 13, N_("Kelvin") } }; //! FocusMode, tag 0x0007 extern const TagDetails panasonicFocusMode[] = { { 1, N_("Auto") }, { 2, N_("Manual") }, { 4, N_("Auto, focus button") }, { 5, N_("Auto, continuous") }, { 6, N_("AF-S") }, { 7, N_("AF-C") }, { 8, N_("AF-F") } }; //! ImageStabilizer, tag 0x001a extern const TagDetails panasonicImageStabilizer[] = { { 2, N_("On, Mode 1") }, { 3, N_("Off") }, { 4, N_("On, Mode 2") }, { 5, N_("Panning") }, { 6, N_("On, Mode 3") }, }; //! Macro, tag 0x001c extern const TagDetails panasonicMacro[] = { { 1, N_("On") }, { 2, N_("Off") }, { 257, N_("Tele-macro") }, { 513, N_("Macro-zoom") } }; //! ShootingMode, tag 0x001f and SceneMode, tag 0x8001 extern const TagDetails panasonicShootingMode[] = { { 0, N_("Off") }, // only SceneMode { 1, N_("Normal") }, { 2, N_("Portrait") }, { 3, N_("Scenery") }, { 4, N_("Sports") }, { 5, N_("Night portrait") }, { 6, N_("Program") }, { 7, N_("Aperture priority") }, { 8, N_("Shutter-speed priority") }, { 9, N_("Macro") }, { 10, N_("Spot") }, { 11, N_("Manual") }, { 12, N_("Movie preview") }, { 13, N_("Panning") }, { 14, N_("Simple") }, { 15, N_("Color effects") }, { 16, N_("Self Portrait") }, { 17, N_("Economy") }, { 18, N_("Fireworks") }, { 19, N_("Party") }, { 20, N_("Snow") }, { 21, N_("Night scenery") }, { 22, N_("Food") }, { 23, N_("Baby") }, { 24, N_("Soft skin") }, { 25, N_("Candlelight") }, { 26, N_("Starry night") }, { 27, N_("High sensitivity") }, { 28, N_("Panorama assist") }, { 29, N_("Underwater") }, { 30, N_("Beach") }, { 31, N_("Aerial photo") }, { 32, N_("Sunset") }, { 33, N_("Pet") }, { 34, N_("Intelligent ISO") }, { 35, N_("Clipboard") }, { 36, N_("High speed continuous shooting") }, { 37, N_("Intelligent auto") }, { 39, N_("Multi-aspect") }, { 41, N_("Transform") }, { 42, N_("Flash Burst") }, { 43, N_("Pin Hole") }, { 44, N_("Film Grain") }, { 45, N_("My Color") }, { 46, N_("Photo Frame") }, { 51, N_("HDR") }, { 55, N_("Handheld Night Shot") }, { 57, N_("3D") }, { 59, N_("Creative Control") }, { 62, N_("Panorama") }, { 63, N_("Glass Through") }, { 64, N_("HDR") }, { 66, N_("Digital Filter") }, { 67, N_("Clear Portrait") }, { 68, N_("Silky Skin") }, { 69, N_("Backlit Softness") }, { 70, N_("Clear in Backlight") }, { 71, N_("Relaxing Tone") }, { 72, N_("Sweet Child's Face") }, { 73, N_("Distinct Scenery") }, { 74, N_("Bright Blue Sky") }, { 75, N_("Romantic Sunset Glow") }, { 76, N_("Vivid Sunset Glow") }, { 77, N_("Glistening Water") }, { 78, N_("Clear Nightscape") }, { 79, N_("Cool Night Sky") }, { 80, N_("Warm Glowing Nightscape") }, { 81, N_("Artistic Nightscape") }, { 82, N_("Glittering Illuminations") }, { 83, N_("Clear Night Portrait") }, { 84, N_("Soft Image of a Flower") }, { 85, N_("Appetizing Food") }, { 86, N_("Cute Desert") }, { 87, N_("Freeze Animal Motion") }, { 88, N_("Clear Sports Shot") }, { 89, N_("Monochrome") }, { 90, N_("Creative Control") } }; //! Audio, tag 0x0020 extern const TagDetails panasonicAudio[] = { { 1, N_("Yes") }, { 2, N_("No") }, { 3, N_("Stereo") } }; //! ColorEffect, tag 0x0028 extern const TagDetails panasonicColorEffect[] = { { 1, N_("Off") }, { 2, N_("Warm") }, { 3, N_("Cool") }, { 4, N_("Black and white") }, { 5, N_("Sepia") }, { 6, N_("Happy") } }; //! BustMode, tag 0x002a extern const TagDetails panasonicBurstMode[] = { { 0, N_("Off") }, { 1, N_("Low/High quality") }, { 2, N_("Infinite") } }; //! Contrast, tag 0x002c extern const TagDetails panasonicContrast[] = { { 0, N_("Normal") }, { 1, N_("Low") }, { 2, N_("High") }, { 6, N_("Medium low") }, { 7, N_("Medium high") }, { 256, N_("Low") }, { 272, N_("Standard") }, { 288, N_("High") }, { 288, N_("High") } // To silence compiler warning }; //! NoiseReduction, tag 0x002d extern const TagDetails panasonicNoiseReduction[] = { { 0, N_("Standard") }, { 1, N_("Low (-1)") }, { 2, N_("High (+1)") }, { 3, N_("Lowest (-2)") }, { 4, N_("Highest (+2)") } }; //! SelfTimer, tag 0x002e extern const TagDetails panasonicSelfTimer[] = { { 1, N_("Off") }, { 2, "10 s" }, { 3, "2 s" }, { 4, "10 s / 3 pictures" } }; //! Rotation, tag 0x0030 extern const TagDetails panasonicRotation[] = { { 1, N_("Horizontal (normal)") }, { 3, N_("Rotate 180") }, { 6, N_("Rotate 90 CW") }, { 8, N_("Rotate 270 CW") } }; //! AFAssistLamp, tag 0x0031 extern const TagDetails panasonicAFAssistLamp[] = { { 1, N_("Fired") }, { 2, N_("Enabled but Not Used") }, { 3, N_("Disabled but Required") }, { 4, N_("Disabled and Not Required") } }; //! ColorMode, tag 0x0032 extern const TagDetails panasonicColorMode[] = { { 0, N_("Normal") }, { 1, N_("Natural") }, { 2, N_("Vivid") } }; //! OpticalZoomMode, tag 0x0034 extern const TagDetails panasonicOpticalZoomMode[] = { { 1, N_("Standard") }, { 2, N_("EX optics") } }; //! ConversionLens, tag 0x0035 extern const TagDetails panasonicConversionLens[] = { { 1, N_("Off") }, { 2, N_("Wide") }, { 3, N_("Telephoto") }, { 4, N_("Macro") }, { 4, N_("Macro") } // To silence compiler warning }; //! WorldTimeLocation, tag 0x003a extern const TagDetails panasonicWorldTimeLocation[] = { { 1, N_("Home") }, { 2, N_("Destination") } }; //! TextStamp, tag 0x003b, 0x003e, 000x8008 and 0x8009 extern const TagDetails panasonicTextStamp[] = { { 1, N_("Off") }, { 2, N_("On") } }; //! FilmMode, tag 0x0042 extern const TagDetails panasonicFilmMode[] = { { 1, N_("Standard (color)") }, { 2, N_("Dynamic (color)") }, { 3, N_("Nature (color)") }, { 4, N_("Smooth (color)") }, { 5, N_("Standard (B&W)") }, { 6, N_("Dynamic (B&W)") }, { 7, N_("Smooth (B&W)") }, { 10, N_("Nostalgic") }, { 11, N_("Vibrant") } }; //! Bracket Settings, tag 0x0045 extern const TagDetails panasonicBracketSettings[] = { { 0, N_("No Bracket") }, { 1, N_("3 images, Sequence 0/-/+") }, { 2, N_("3 images, Sequence -/0/+") }, { 3, N_("5 images, Sequence 0/-/+") }, { 4, N_("5 images, Sequence -/0/+") }, { 5, N_("7 images, Sequence 0/-/+") }, { 6, N_("7 images, Sequence -/0/+") } }; //! Flash curtain, tag 0x0048 extern const TagDetails panasonicFlashCurtain[] = { { 0, N_("n/a") }, { 1, N_("1st") }, { 2, N_("2nd") } }; //! Long Shutter Noise Reduction, tag 0x0049 extern const TagDetails panasonicLongShutterNoiseReduction[] = { { 1, N_("Off") }, { 2, N_("On") } }; //! Intelligent exposure, tag 0x005d extern const TagDetails panasonicIntelligentExposure[] = { { 0, N_("Off") }, { 1, N_("Low") }, { 2, N_("Standard") }, { 3, N_("High") } }; //! Flash warning, tag 0x0062 extern const TagDetails panasonicFlashWarning[] = { { 0, N_("No") }, { 1, N_("Yes (flash required but disabled") } }; //! Intelligent resolution, tag 0x0070 extern const TagDetails panasonicIntelligentResolution[] = { { 0, N_("Off") }, { 1, N_("Low") }, { 2, N_("Standard") }, { 3, N_("High") }, { 4, N_("Extended") } }; //! Intelligent D-Range, tag 0x0079 extern const TagDetails panasonicIntelligentDRange[] = { { 0, N_("Off") }, { 1, N_("Low") }, { 2, N_("Standard") }, { 3, N_("High") } }; //! Clear Retouch, tag 0x007c extern const TagDetails panasonicClearRetouch[] = { { 0, N_("Off") }, { 1, N_("On") } }; //! Photo Style, tag 0x0089 extern const TagDetails panasonicPhotoStyle[] = { { 0, N_("NoAuto") }, { 1, N_("Standard or Custom") }, { 2, N_("Vivid") }, { 3, N_("Natural") }, { 4, N_("Monochrome") }, { 5, N_("Scenery") }, { 6, N_("Portrait") } }; //! Shading compensation, tag 0x008a extern const TagDetails panasonicShadingCompensation[] = { { 0, N_("Off") }, { 1, N_("On") } }; //! Camera orientation, tag 0x008f extern const TagDetails panasonicCameraOrientation[] = { { 0, N_("Normal") }, { 1, N_("Rotate CW") }, { 2, N_("Rotate 180") }, { 3, N_("Rotate CCW") }, { 4, N_("Tilt upwards") }, { 5, N_("Tilt downwards") } }; //! Sweep panorama direction, tag 0x0093 extern const TagDetails panasonicSweepPanoramaDirection[] = { { 0, N_("Off") }, { 1, N_("Left to Right") }, { 2, N_("Right to Left") }, { 3, N_("Top to Bottom") }, { 4, N_("Bottom to Top") } }; //! Timer recording, tag 0x0096 extern const TagDetails panasonicTimerRecording[] = { { 0, N_("Off") }, { 1, N_("Time Lapse") }, { 2, N_("Stop-Motion Animation") } }; //! HDR, tag 0x009e extern const TagDetails panasonicHDR[] = { { 0, N_("Off") }, { 100, N_("1 EV") }, { 200, N_("2 EV") }, { 300, N_("3 EV") }, { 32868, N_("1 EV (Auto)") }, { 32968, N_("2 EV (Auto)") }, { 33068, N_("3 EV (Auto)") } }; //! Shutter Type, tag 0x009f extern const TagDetails panasonicShutterType[] = { { 0, N_("Mechanical") }, { 1, N_("Electronic") }, { 2, N_("Hybrid") } }; //! Touch AE, tag 0x00ab extern const TagDetails panasonicTouchAE[] = { { 0, N_("Off") }, { 1, N_("On") } }; //! Flash Fired, tag 0x8007 extern const TagDetails panasonicFlashFired[] = { { 1, N_("No") }, { 2, N_("Yes") } }; // Panasonic MakerNote Tag Info const TagInfo PanasonicMakerNote::tagInfo_[] = { TagInfo(0x0001, "Quality", N_("Quality"), N_("Image Quality"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicQuality)), TagInfo(0x0002, "FirmwareVersion", N_("Firmware Version"), N_("Firmware version"), panasonicId, makerTags, undefined, -1, printValue), TagInfo(0x0003, "WhiteBalance", N_("White Balance"), N_("White balance setting"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicWhiteBalance)), TagInfo(0x0004, "0x0004", "0x0004", N_("Unknown"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0007, "FocusMode", N_("Focus Mode"), N_("Focus mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFocusMode)), TagInfo(0x000f, "AFMode", N_("AF Mode"), N_("AF mode"), panasonicId, makerTags, unsignedByte, -1, print0x000f), TagInfo(0x001a, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicImageStabilizer)), TagInfo(0x001c, "Macro", N_("Macro"), N_("Macro mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicMacro)), TagInfo(0x001f, "ShootingMode", N_("Shooting Mode"), N_("Shooting mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicShootingMode)), TagInfo(0x0020, "Audio", N_("Audio"), N_("Audio"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicAudio)), TagInfo(0x0021, "DataDump", N_("Data Dump"), N_("Data dump"), panasonicId, makerTags, undefined, -1, printValue), TagInfo(0x0022, "0x0022", "0x0022", N_("Unknown"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0023, "WhiteBalanceBias", N_("White Balance Bias"), N_("White balance adjustment"), panasonicId, makerTags, signedShort, -1, print0x0023), TagInfo(0x0024, "FlashBias", N_("FlashBias"), N_("Flash bias"), panasonicId, makerTags, signedShort, -1, printValue), TagInfo(0x0025, "InternalSerialNumber", N_("Internal Serial Number"), N_("This number is unique, and contains the date of manufacture, but is not the same as the number printed on the camera body."), panasonicId, makerTags, undefined, -1, printPanasonicText), TagInfo(0x0026, "ExifVersion", "Exif Version", N_("Exif version"), panasonicId, makerTags, undefined, -1, printExifVersion), TagInfo(0x0027, "0x0027", "0x0027", N_("Unknown"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0028, "ColorEffect", N_("Color Effect"), N_("Color effect"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicColorEffect)), TagInfo(0x0029, "TimeSincePowerOn", "Time since Power On", N_("Time in 1/100 s from when the camera was powered on to when the image is written to memory card"), panasonicId, makerTags, unsignedLong, -1, print0x0029), TagInfo(0x002a, "BurstMode", N_("Burst Mode"), N_("Burst mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicBurstMode)), TagInfo(0x002b, "SequenceNumber", N_("Sequence Number"), N_("Sequence number"), panasonicId, makerTags, unsignedLong, -1, printValue), TagInfo(0x002c, "Contrast", N_("Contrast"), N_("Contrast setting"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicContrast)), TagInfo(0x002d, "NoiseReduction", N_("NoiseReduction"), N_("Noise reduction"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicNoiseReduction)), TagInfo(0x002e, "SelfTimer", N_("Self Timer"), N_("Self timer"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicSelfTimer)), TagInfo(0x002f, "0x002f", "0x002f", N_("Unknown"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0030, "Rotation", N_("Rotation"), N_("Rotation"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicRotation)), TagInfo(0x0031, "AFAssistLamp", N_("AF Assist Lamp"), N_("AF Assist Lamp"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicAFAssistLamp)), TagInfo(0x0032, "ColorMode", N_("Color Mode"), N_("Color mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicColorMode)), TagInfo(0x0033, "BabyAge1", N_("Baby Age 1"), N_("Baby (or pet) age 1"), panasonicId, makerTags, asciiString, -1, print0x0033), TagInfo(0x0034, "OpticalZoomMode", N_("Optical Zoom Mode"), N_("Optical zoom mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicOpticalZoomMode)), TagInfo(0x0035, "ConversionLens", N_("Conversion Lens"), N_("Conversion lens"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicConversionLens)), TagInfo(0x0036, "TravelDay", N_("Travel Day"), N_("Travel day"), panasonicId, makerTags, unsignedShort, -1, print0x0036), TagInfo(0x0039, "Contrast", N_("Contrast"), N_("Contrast"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x003a, "WorldTimeLocation", N_("World Time Location"), N_("World time location"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicWorldTimeLocation)), TagInfo(0x003b, "TextStamp1", N_("Text Stamp 1"), N_("Text Stamp 1"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTextStamp)), TagInfo(0x003c, "ProgramISO", N_("Program ISO"), N_("Program ISO"), panasonicId, makerTags, unsignedShort, -1, print0x003c), TagInfo(0x003d, "AdvancedSceneType", N_("Advanced Scene Type"), N_("Advanced Scene Type"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x003e, "TextStamp2", N_("Text Stamp 2"), N_("Text Stamp 2"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTextStamp)), TagInfo(0x003f, "FacesDetected", N_("Faces detected"), N_("Faces detected"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0040, "Saturation", N_("Saturation"), N_("Saturation"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0041, "Sharpness", N_("Sharpness"), N_("Sharpness"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0042, "FilmMode", N_("Film Mode"), N_("Film mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFilmMode)), TagInfo(0x0044, "ColorTempKelvin", N_("Color Temp Kelvin"), N_("Color Temperatur in Kelvin"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0045, "BracketSettings", N_("Bracket Settings"), N_("Bracket Settings"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicBracketSettings)), TagInfo(0x0046, "WBAdjustAB", N_("WB Adjust AB"), N_("WB adjust AB. Positive is a shift toward blue."), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0047, "WBAdjustGM", N_("WB Adjust GM"), N_("WBAdjustGM. Positive is a shift toward green."), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0048, "FlashCurtain", N_("Flash Curtain"), N_("Flash Curtain"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFlashCurtain)), TagInfo(0x0049, "LongShutterNoiseReduction", N_("Long Shutter Noise Reduction"), N_("Long Shutter Noise Reduction"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicLongShutterNoiseReduction)), TagInfo(0x004b, "ImageWidth", N_("Image width"), N_("Image width"), panasonicId, makerTags, unsignedLong, -1, printValue), TagInfo(0x004c, "ImageHeight", N_("Image height"), N_("Image height"), panasonicId, makerTags, unsignedLong, -1, printValue), TagInfo(0x004d, "AFPointPosition", N_("AF Point Position"), N_("AF Point Position"), panasonicId, makerTags, unsignedRational, -1, printValue), TagInfo(0x004e, "FaceDetInfo", N_("Face detection info"), N_("Face detection info"), panasonicId, makerTags, undefined, -1, printValue), TagInfo(0x0051, "LensType", N_("Lens Type"), N_("Lens type"), panasonicId, makerTags, asciiString, -1, printValue), TagInfo(0x0052, "LensSerialNumber", N_("Lens Serial Number"), N_("Lens serial number"), panasonicId, makerTags, asciiString, -1, printValue), TagInfo(0x0053, "AccessoryType", N_("Accessory Type"), N_("Accessory type"), panasonicId, makerTags, asciiString, -1, printValue), TagInfo(0x0054, "AccessorySerialNumber", N_("Accessory Serial Number"), N_("Accessory Serial Number"), panasonicId, makerTags, asciiString, -1, printValue), TagInfo(0x0059, "Transform1", N_("Transform 1"), N_("Transform 1"), panasonicId, makerTags, undefined, -1, printValue), TagInfo(0x005d, "IntelligentExposure", N_("Intelligent Exposure"), N_("Intelligent Exposure"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicIntelligentExposure)), TagInfo(0x0060, "LensFirmwareVersion", N_("Firmware Version of the Lens"), N_("Firmware Version of the Lens"), panasonicId, makerTags, undefined, -1, printValue), TagInfo(0x0061, "FaceRecInfo", N_("Face recognition info"), N_("Face recognition info"), panasonicId, makerTags, undefined, -1, printValue), TagInfo(0x0062, "FlashWarning", N_("Flash Warning"), N_("Flash warning"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFlashWarning)), TagInfo(0x0065, "Title", N_("Title"), N_("Title"), panasonicId, makerTags, undefined, -1, printPanasonicText), TagInfo(0x0066, "BabyName", N_("Baby Name"), N_("Baby name (or pet name)"), panasonicId, makerTags, undefined, -1, printPanasonicText), TagInfo(0x0067, "Location", N_("Location"), N_("Location"), panasonicId, makerTags, undefined, -1, printPanasonicText), TagInfo(0x0069, "Country", N_("Country"), N_("Country"), panasonicId, makerTags, undefined, -1, printPanasonicText), TagInfo(0x006b, "State", N_("State"), N_("State"), panasonicId, makerTags, undefined, -1, printPanasonicText), TagInfo(0x006d, "City", N_("City"), N_("City"), panasonicId, makerTags, undefined, -1, printPanasonicText), TagInfo(0x006f, "Landmark", N_("Landmark"), N_("Landmark"), panasonicId, makerTags, undefined, -1, printPanasonicText), TagInfo(0x0070, "IntelligentResolution", N_("Intelligent resolution"), N_("Intelligent resolution"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicIntelligentResolution)), TagInfo(0x0077, "BurstSheed", N_("Burst Speed"), N_("Burst Speed in pictures per second"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0079, "IntelligentDRange", N_("Intelligent Dynamic Range"), N_("Intelligent Dynamic Range"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicIntelligentDRange)), TagInfo(0x007c, "ClearRetouch", N_("Clear Retouch"), N_("Clear Retouch"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicClearRetouch)), TagInfo(0x0080, "City2", N_("City2"), N_("City2"), panasonicId, makerTags, undefined, -1, printPanasonicText), TagInfo(0x0086, "ManometerPressure", N_("Manometer Pressure"), N_("Manometer pressure"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0089, "PhotoStyle", N_("Photo style"), N_("Photo style"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicPhotoStyle)), TagInfo(0x008a, "ShadingCompensation", N_("Shading Compensation"), N_("Shading Compensation"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicShadingCompensation)), TagInfo(0x008c, "AccelerometerZ", N_("Accelerometer Z"), N_("positive is acceleration upwards"), panasonicId, makerTags, unsignedShort, -1, printAccelerometer), TagInfo(0x008d, "AccelerometerX", N_("Accelerometer X"), N_("positive is acceleration to the left"), panasonicId, makerTags, unsignedShort, -1, printAccelerometer), TagInfo(0x008e, "AccelerometerY", N_("Accelerometer Y"), N_("positive is acceleration backwards"), panasonicId, makerTags, unsignedShort, -1, printAccelerometer), TagInfo(0x008f, "CameraOrientation", N_("Camera Orientation"), N_("Camera Orientation"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicCameraOrientation)), TagInfo(0x0090, "RollAngle", N_("Roll Angle"), N_("degress of clockwise camera rotation"), panasonicId, makerTags, unsignedShort, -1, printRollAngle), TagInfo(0x0091, "PitchAngle", N_("Pitch Angle"), N_("degress of upwards camera tilt"), panasonicId, makerTags, unsignedShort, -1, printPitchAngle), TagInfo(0x0093, "SweepPanoramaDirection", N_("Sweep Panorama Direction"), N_("Sweep Panorama Direction"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicSweepPanoramaDirection)), TagInfo(0x0094, "PanoramaFieldOfView", N_("Field of View of Panorama"), N_("Field of View of Panorama"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0096, "TimerRecording", N_("Timer Recording"), N_("Timer Recording"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicTimerRecording)), TagInfo(0x009d, "InternalNDFilter", N_("Internal ND Filter"), N_("Internal ND Filter"), panasonicId, makerTags, unsignedRational, -1, printValue), TagInfo(0x009e, "HDR", N_("HDR"), N_("HDR"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicHDR)), TagInfo(0x009f, "ShutterType", N_("Shutter Type"), N_("Shutter Type"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicShutterType)), TagInfo(0x00a3, "ClearRetouchValue", N_("Clear Retouch Value"), N_("Clear Retouch Value"), panasonicId, makerTags, unsignedRational, -1, printValue), TagInfo(0x00ab, "TouchAE", N_("TouchAE"), N_("TouchAE"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTouchAE)), TagInfo(0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), panasonicId, makerTags, undefined, -1, printValue), TagInfo(0x4449, "0x4449", "0x4449", N_("Unknown"), panasonicId, makerTags, undefined, -1, printValue), TagInfo(0x8000, "MakerNoteVersion", N_("MakerNote Version"), N_("MakerNote version"), panasonicId, makerTags, undefined, -1, printExifVersion), TagInfo(0x8001, "SceneMode", N_("Scene Mode"), N_("Scene mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicShootingMode)), TagInfo(0x8004, "WBRedLevel", N_("WB Red Level"), N_("WB red level"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x8005, "WBGreenLevel", N_("WB Green Level"), N_("WB green level"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x8006, "WBBlueLevel", N_("WB Blue Level"), N_("WB blue level"), panasonicId, makerTags, unsignedShort, -1, printValue), TagInfo(0x8007, "FlashFired", N_("Flash Fired"), N_("Flash Fired"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFlashFired)), TagInfo(0x8008, "TextStamp3", N_("Text Stamp 3"), N_("Text Stamp 3"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTextStamp)), TagInfo(0x8009, "TextStamp4", N_("Text Stamp 4"), N_("Text Stamp 4"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTextStamp)), TagInfo(0x8010, "BabyAge2", N_("Baby Age 2"), N_("Baby (or pet) age 2"), panasonicId, makerTags, asciiString, -1, print0x0033), TagInfo(0x8012, "Transform2", N_("Transform 2"), N_("Transform 2"), panasonicId, makerTags, undefined, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownPanasonicMakerNoteTag)", "(UnknownPanasonicMakerNoteTag)", N_("Unknown PanasonicMakerNote tag"), panasonicId, makerTags, asciiString, -1, printValue) }; const TagInfo* PanasonicMakerNote::tagList() { return tagInfo_; } // tag Focus Mode std::ostream& PanasonicMakerNote::print0x000f(std::ostream& os, const Value& value, const ExifData*) { if (value.count() < 2 || value.typeId() != unsignedByte) { return os << value; } long l0 = value.toLong(0); long l1 = value.toLong(1); if (l0 == 0 && l1 == 1) os << _("Spot mode on or 9 area"); else if (l0 == 0 && l1 == 16) os << _("Spot mode off or 3-area (high speed)"); else if (l0 == 0 && l1 == 23) os << _("23-area"); else if (l0 == 1 && l1 == 0) os << _("Spot focussing"); else if (l0 == 1 && l1 == 1) os << _("5-area"); else if (l0 == 16 && l1 == 0) os << _("1-area"); else if (l0 == 16 && l1 == 16) os << _("1-area (high speed)"); else if (l0 == 32 && l1 == 0) os << _("3-area (auto)"); else if (l0 == 32 && l1 == 1) os << _("3-area (left)"); else if (l0 == 32 && l1 == 2) os << _("3-area (center)"); else if (l0 == 32 && l1 == 3) os << _("3-area (right)"); else if (l0 == 64 && l1 == 0) os << _("Face Detect"); else if (l0 == 128 && l1 == 0) os << _("Spot Focusing 2"); else os << value; return os; } // PanasonicMakerNote::print0x000f // tag White balance bias std::ostream& PanasonicMakerNote::print0x0023(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1) << value.toLong() / 3 << _(" EV"); os.copyfmt(oss); os.flags(f); return os; } // PanasonicMakerNote::print0x0023 // Time since power on std::ostream& PanasonicMakerNote::print0x0029(std::ostream& os, const Value& value, const ExifData*) { std::ostringstream oss; oss.copyfmt(os); long time=value.toLong(); os << std::setw(2) << std::setfill('0') << time / 360000 << ":" << std::setw(2) << std::setfill('0') << (time % 360000) / 6000 << ":" << std::setw(2) << std::setfill('0') << (time % 6000) / 100 << "." << std::setw(2) << std::setfill('0') << time % 100; os.copyfmt(oss); return os; } // PanasonicMakerNote::print0x0029 // bage age std::ostream& PanasonicMakerNote::print0x0033(std::ostream& os, const Value& value, const ExifData*) { if(value.toString()=="9999:99:99 00:00:00") { os << N_("not set"); } else { os << value; }; return os; } // PanasonicMakerNote::print0x0033 // Travel days std::ostream& PanasonicMakerNote::print0x0036(std::ostream& os, const Value& value, const ExifData*) { if(value.toLong()==65535) { os << N_("not set"); } else { os << value; }; return os; } // PanasonicMakerNote::print0x0036 // Program ISO std::ostream& PanasonicMakerNote::print0x003c(std::ostream& os, const Value& value, const ExifData*) { switch(value.toLong()) { case 65534: os << N_("Intelligent ISO"); break; case 65535: os << N_("n/a"); break; default: os << value; break; }; return os; } // PanasonicMakerNote::print0x003c std::ostream& PanasonicMakerNote::printPanasonicText(std::ostream& os, const Value& value, const ExifData*) { if(value.size()>0 && value.typeId() == undefined) { for(long i=0; i< value.size(); i++) { if(value.toLong(i)==0) { break; }; os << static_cast(value.toLong(i)); }; return os; } else { return os << value; }; } // PanasonicMakerNote::printPanasonicText std::ostream& PanasonicMakerNote::printAccelerometer(std::ostream& os, const Value& value, const ExifData*) { // value is stored as unsigned int, but should be readed as signed int, so manually convert it int i = value.toLong(); i = i - ((i & 0x8000) >> 15) * 0xffff; return os << i; } // PanasonicMakerNote::printAccelerometer std::ostream& PanasonicMakerNote::printRollAngle(std::ostream& os, const Value& value, const ExifData*) { // roll angle is stored as signed int, but tag states to be unsigned int int i = value.toLong(); i = i - ((i & 0x8000) >> 15) * 0xffff; std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1) << i / 10.0; os.copyfmt(oss); return os; } // PanasonicMakerNote::printRollAngle std::ostream& PanasonicMakerNote::printPitchAngle(std::ostream& os, const Value& value, const ExifData*) { // pitch angle is stored as signed int, but tag states to be unsigned int // change sign to be compatible with ExifTool: positive is upwards int i = value.toLong(); i = i - ((i & 0x8000) >> 15) * 0xffff; std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1) << -i / 10.0; os.copyfmt(oss); return os; } // PanasonicMakerNote::printPitchAngle // Panasonic MakerNote Tag Info const TagInfo PanasonicMakerNote::tagInfoRaw_[] = { TagInfo(0x0001, "Version", N_("Version"), N_("Panasonic raw version"), panaRawId, panaRaw, undefined, -1, printExifVersion), TagInfo(0x0002, "SensorWidth", N_("Sensor Width"), N_("Sensor width"), panaRawId, panaRaw, unsignedShort, -1, printValue), TagInfo(0x0003, "SensorHeight", N_("Sensor Height"), N_("Sensor height"), panaRawId, panaRaw, unsignedShort, -1, printValue), TagInfo(0x0004, "SensorTopBorder", N_("Sensor Top Border"), N_("Sensor top border"), panaRawId, panaRaw, unsignedShort, -1, printValue), TagInfo(0x0005, "SensorLeftBorder", N_("Sensor Left Border"), N_("Sensor left border"), panaRawId, panaRaw, unsignedShort, -1, printValue), TagInfo(0x0006, "ImageHeight", N_("Image Height"), N_("Image height"), panaRawId, panaRaw, unsignedShort, -1, printValue), TagInfo(0x0007, "ImageWidth", N_("Image Width"), N_("Image width"), panaRawId, panaRaw, unsignedShort, -1, printValue), TagInfo(0x0011, "RedBalance", N_("Red Balance"), N_("Red balance (found in Digilux 2 RAW images)"), panaRawId, panaRaw, unsignedShort, -1, printValue), TagInfo(0x0012, "BlueBalance", N_("Blue Balance"), N_("Blue balance"), panaRawId, panaRaw, unsignedShort, -1, printValue), TagInfo(0x0017, "ISOSpeed", N_("ISO Speed"), N_("ISO speed setting"), panaRawId, panaRaw, unsignedShort, -1, printValue), TagInfo(0x0024, "WBRedLevel", N_("WB Red Level"), N_("WB red level"), panaRawId, panaRaw, unsignedShort, -1, printValue), TagInfo(0x0025, "WBGreenLevel", N_("WB Green Level"), N_("WB green level"), panaRawId, panaRaw, unsignedShort, -1, printValue), TagInfo(0x0026, "WBBlueLevel", N_("WB Blue Level"), N_("WB blue level"), panaRawId, panaRaw, unsignedShort, -1, printValue), TagInfo(0x002e, "PreviewImage", N_("Preview Image"), N_("Preview image"), panaRawId, panaRaw, undefined, -1, printValue), TagInfo(0x010f, "Make", N_("Manufacturer"), N_("The manufacturer of the recording equipment"), panaRawId, panaRaw, asciiString, -1, printValue), TagInfo(0x0110, "Model", N_("Model"), N_("The model name or model number of the equipment"), panaRawId, panaRaw, asciiString, -1, printValue), TagInfo(0x0111, "StripOffsets", N_("Strip Offsets"), N_("Strip offsets"), panaRawId, panaRaw, unsignedLong, -1, printValue), TagInfo(0x0112, "Orientation", N_("Orientation"), N_("Orientation"), panaRawId, panaRaw, unsignedShort, -1, print0x0112), TagInfo(0x0116, "RowsPerStrip", N_("Rows Per Strip"), N_("The number of rows per strip"), panaRawId, panaRaw, unsignedShort, -1, printValue), TagInfo(0x0117, "StripByteCounts", N_("Strip Byte Counts"), N_("Strip byte counts"), panaRawId, panaRaw, unsignedLong, -1, printValue), TagInfo(0x0118, "RawDataOffset", N_("Raw Data Offset"), N_("Raw data offset"), panaRawId, panaRaw, unsignedLong, -1, printValue), TagInfo(0x8769, "ExifTag", N_("Exif IFD Pointer"), N_("A pointer to the Exif IFD"), panaRawId, panaRaw, unsignedLong, -1, printValue), TagInfo(0x8825, "GPSTag", N_("GPS Info IFD Pointer"), N_("A pointer to the GPS Info IFD"), panaRawId, panaRaw, unsignedLong, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownPanasonicRawTag)", "(UnknownPanasonicRawTag)", N_("Unknown PanasonicRaw tag"), panaRawId, panaRaw, asciiString, -1, printValue) }; const TagInfo* PanasonicMakerNote::tagListRaw() { return tagInfoRaw_; } }} // namespace Internal, Exiv2 exiv2-0.25/src/tzfile.h0000664000175000017500000001224212523622506014554 0ustar andreasandreas/*! @file tzfile.h @brief This file is from the tz distribution at ftp://elsie.nci.nih.gov/pub/ @version $Rev: 392 $ */ #ifndef TZFILE_H #define TZFILE_H /* ** This file is in the public domain, so clarified as of ** 1996-06-05 by Arthur David Olson (arthur_david_olson@nih.gov). */ /* ** This header is for use ONLY with the time conversion code. ** There is no guarantee that it will remain unchanged, ** or that it will remain at all. ** Do NOT copy it to any system include directory. ** Thank you! */ /* ** ID */ #ifndef lint #ifndef NOID static char tzfilehid[] = "@(#)tzfile.h 7.14"; #endif /* !defined NOID */ #endif /* !defined lint */ /* ** Information about time zone files. */ #ifndef TZDIR #define TZDIR "/usr/local/etc/zoneinfo" /* Time zone object file directory */ #endif /* !defined TZDIR */ #ifndef TZDEFAULT #define TZDEFAULT "localtime" #endif /* !defined TZDEFAULT */ #ifndef TZDEFRULES #define TZDEFRULES "posixrules" #endif /* !defined TZDEFRULES */ /* ** Each file begins with. . . */ #define TZ_MAGIC "TZif" struct tzhead { char tzh_magic[4]; /* TZ_MAGIC */ char tzh_reserved[16]; /* reserved for future use */ char tzh_ttisgmtcnt[4]; /* coded number of trans. time flags */ char tzh_ttisstdcnt[4]; /* coded number of trans. time flags */ char tzh_leapcnt[4]; /* coded number of leap seconds */ char tzh_timecnt[4]; /* coded number of transition times */ char tzh_typecnt[4]; /* coded number of local time types */ char tzh_charcnt[4]; /* coded number of abbr. chars */ }; /* ** . . .followed by. . . ** ** tzh_timecnt (char [4])s coded transition times a la time(2) ** tzh_timecnt (unsigned char)s types of local time starting at above ** tzh_typecnt repetitions of ** one (char [4]) coded UTC offset in seconds ** one (unsigned char) used to set tm_isdst ** one (unsigned char) that's an abbreviation list index ** tzh_charcnt (char)s '\0'-terminated zone abbreviations ** tzh_leapcnt repetitions of ** one (char [4]) coded leap second transition times ** one (char [4]) total correction after above ** tzh_ttisstdcnt (char)s indexed by type; if TRUE, transition ** time is standard time, if FALSE, ** transition time is wall clock time ** if absent, transition times are ** assumed to be wall clock time ** tzh_ttisgmtcnt (char)s indexed by type; if TRUE, transition ** time is UTC, if FALSE, ** transition time is local time ** if absent, transition times are ** assumed to be local time */ /* ** In the current implementation, "tzset()" refuses to deal with files that ** exceed any of the limits below. */ #ifndef TZ_MAX_TIMES /* ** The TZ_MAX_TIMES value below is enough to handle a bit more than a ** year's worth of solar time (corrected daily to the nearest second) or ** 138 years of Pacific Presidential Election time ** (where there are three time zone transitions every fourth year). */ #define TZ_MAX_TIMES 370 #endif /* !defined TZ_MAX_TIMES */ #ifndef TZ_MAX_TYPES #ifndef NOSOLAR #define TZ_MAX_TYPES 256 /* Limited by what (unsigned char)'s can hold */ #endif /* !defined NOSOLAR */ #ifdef NOSOLAR /* ** Must be at least 14 for Europe/Riga as of Jan 12 1995, ** as noted by Earl Chew . */ #define TZ_MAX_TYPES 20 /* Maximum number of local time types */ #endif /* !defined NOSOLAR */ #endif /* !defined TZ_MAX_TYPES */ #ifndef TZ_MAX_CHARS #define TZ_MAX_CHARS 50 /* Maximum number of abbreviation characters */ /* (limited by what unsigned chars can hold) */ #endif /* !defined TZ_MAX_CHARS */ #ifndef TZ_MAX_LEAPS #define TZ_MAX_LEAPS 50 /* Maximum number of leap second corrections */ #endif /* !defined TZ_MAX_LEAPS */ #define SECSPERMIN 60 #define MINSPERHOUR 60 #define HOURSPERDAY 24 #define DAYSPERWEEK 7 #define DAYSPERNYEAR 365 #define DAYSPERLYEAR 366 #define SECSPERHOUR (SECSPERMIN * MINSPERHOUR) #define SECSPERDAY ((long) SECSPERHOUR * HOURSPERDAY) #define MONSPERYEAR 12 #define TM_SUNDAY 0 #define TM_MONDAY 1 #define TM_TUESDAY 2 #define TM_WEDNESDAY 3 #define TM_THURSDAY 4 #define TM_FRIDAY 5 #define TM_SATURDAY 6 #define TM_JANUARY 0 #define TM_FEBRUARY 1 #define TM_MARCH 2 #define TM_APRIL 3 #define TM_MAY 4 #define TM_JUNE 5 #define TM_JULY 6 #define TM_AUGUST 7 #define TM_SEPTEMBER 8 #define TM_OCTOBER 9 #define TM_NOVEMBER 10 #define TM_DECEMBER 11 #define TM_YEAR_BASE 1900 #define EPOCH_YEAR 1970 #define EPOCH_WDAY TM_THURSDAY /* ** Accurate only for the past couple of centuries; ** that will probably do. */ #define isleap(y) (((y) % 4) == 0 && (((y) % 100) != 0 || ((y) % 400) == 0)) #ifndef USG /* ** Use of the underscored variants may cause problems if you move your code to ** certain System-V-based systems; for maximum portability, use the ** underscore-free variants. The underscored variants are provided for ** backward compatibility only; they may disappear from future versions of ** this file. */ #define SECS_PER_MIN SECSPERMIN #define MINS_PER_HOUR MINSPERHOUR #define HOURS_PER_DAY HOURSPERDAY #define DAYS_PER_WEEK DAYSPERWEEK #define DAYS_PER_NYEAR DAYSPERNYEAR #define DAYS_PER_LYEAR DAYSPERLYEAR #define SECS_PER_HOUR SECSPERHOUR #define SECS_PER_DAY SECSPERDAY #define MONS_PER_YEAR MONSPERYEAR #endif /* !defined USG */ #endif /* !defined TZFILE_H */ exiv2-0.25/src/crwimage.cpp0000664000175000017500000014154612521135474015423 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: crwimage.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 28-Aug-05, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: crwimage.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "crwimage.hpp" #include "crwimage_int.hpp" #include "error.hpp" #include "futils.hpp" #include "value.hpp" #include "tags.hpp" #include "tags_int.hpp" #include "canonmn_int.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include #include #include #include #include #include #ifndef EXV_HAVE_TIMEGM # include "timegm.h" #endif // ***************************************************************************** // local declarations namespace { //! Helper class to map Exif orientation values to CRW rotation degrees class RotationMap { public: //! Get the orientation number for a degree value static uint16_t orientation(int32_t degrees); //! Get the degree value for an orientation number static int32_t degrees(uint16_t orientation); private: //! Helper structure for the mapping list struct OmList { uint16_t orientation; //!< Exif orientation value int32_t degrees; //!< CRW Rotation degrees }; // DATA static const OmList omList_[]; }; // class RotationMap } // ***************************************************************************** // class member definitions namespace Exiv2 { using namespace Internal; CrwImage::CrwImage(BasicIo::AutoPtr io, bool /*create*/) : Image(ImageType::crw, mdExif | mdComment, io) { } // CrwImage::CrwImage std::string CrwImage::mimeType() const { return "image/x-canon-crw"; } int CrwImage::pixelWidth() const { Exiv2::ExifData::const_iterator widthIter = exifData_.findKey(Exiv2::ExifKey("Exif.Photo.PixelXDimension")); if (widthIter != exifData_.end() && widthIter->count() > 0) { return widthIter->toLong(); } return 0; } int CrwImage::pixelHeight() const { Exiv2::ExifData::const_iterator heightIter = exifData_.findKey(Exiv2::ExifKey("Exif.Photo.PixelYDimension")); if (heightIter != exifData_.end() && heightIter->count() > 0) { return heightIter->toLong(); } return 0; } void CrwImage::setIptcData(const IptcData& /*iptcData*/) { // not supported throw(Error(32, "IPTC metadata", "CRW")); } void CrwImage::readMetadata() { #ifdef DEBUG std::cerr << "Reading CRW file " << io_->path() << "\n"; #endif if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); // Ensure that this is the correct image type if (!isCrwType(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(33); } clearMetadata(); CrwParser::decode(this, io_->mmap(), io_->size()); } // CrwImage::readMetadata void CrwImage::writeMetadata() { #ifdef DEBUG std::cerr << "Writing CRW file " << io_->path() << "\n"; #endif // Read existing image DataBuf buf; if (io_->open() == 0) { IoCloser closer(*io_); // Ensure that this is the correct image type if (isCrwType(*io_, false)) { // Read the image into a memory buffer buf.alloc(io_->size()); io_->read(buf.pData_, buf.size_); if (io_->error() || io_->eof()) { buf.reset(); } } } Blob blob; CrwParser::encode(blob, buf.pData_, buf.size_, this); // Write new buffer to file BasicIo::AutoPtr tempIo(io_->temporary()); // may throw assert(tempIo.get() != 0); tempIo->write((blob.size() > 0 ? &blob[0] : 0), static_cast(blob.size())); io_->close(); io_->transfer(*tempIo); // may throw } // CrwImage::writeMetadata void CrwParser::decode(CrwImage* pCrwImage, const byte* pData, uint32_t size) { assert(pCrwImage != 0); assert(pData != 0); // Parse the image, starting with a CIFF header component CiffHeader::AutoPtr head(new CiffHeader); head->read(pData, size); #ifdef DEBUG head->print(std::cerr); #endif head->decode(*pCrwImage); // a hack to get absolute offset of preview image inside CRW structure CiffComponent* preview = head->findComponent(0x2007, 0x0000); if (preview) { (pCrwImage->exifData())["Exif.Image2.JPEGInterchangeFormat"] = uint32_t(preview->pData() - pData); (pCrwImage->exifData())["Exif.Image2.JPEGInterchangeFormatLength"] = preview->size(); } } // CrwParser::decode void CrwParser::encode( Blob& blob, const byte* pData, uint32_t size, const CrwImage* pCrwImage ) { // Parse image, starting with a CIFF header component CiffHeader::AutoPtr head(new CiffHeader); if (size != 0) { head->read(pData, size); } // Encode Exif tags from image into the CRW parse tree and write the // structure to the binary image blob CrwMap::encode(head.get(), *pCrwImage); head->write(blob); } // CrwParser::encode // ************************************************************************* // free functions Image::AutoPtr newCrwInstance(BasicIo::AutoPtr io, bool create) { Image::AutoPtr image(new CrwImage(io, create)); if (!image->good()) { image.reset(); } return image; } bool isCrwType(BasicIo& iIo, bool advance) { bool result = true; byte tmpBuf[14]; iIo.read(tmpBuf, 14); if (iIo.error() || iIo.eof()) { return false; } if (!( ('I' == tmpBuf[0] && 'I' == tmpBuf[1]) || ('M' == tmpBuf[0] && 'M' == tmpBuf[1]))) { result = false; } if ( true == result && std::memcmp(tmpBuf + 6, CiffHeader::signature(), 8) != 0) { result = false; } if (!advance || !result) iIo.seek(-14, BasicIo::cur); return result; } } // namespace Exiv2 namespace Exiv2 { namespace Internal { /* Mapping table used to decode and encode CIFF tags to/from Exif tags. Only a subset of the Exif tags can be mapped to known tags found in CRW files and not all CIFF tags in the CRW files have a corresponding Exif tag. Tags which are not mapped in the table below are ignored. When decoding, each CIFF tag/directory pair in the CRW image is looked up in the table and if it has an entry, the corresponding decode function is called (CrwMap::decode). This function may or may not make use of the other parameters in the structure (such as the Exif tag and Ifd id). Encoding is done in a loop over the mapping table (CrwMap::encode). For each entry, the encode function is called, which looks up the (Exif) metadata to encode in the image. This function may or may not make use of the other parameters in the mapping structure. */ const CrwMapping CrwMap::crwMapping_[] = { // CrwTag CrwDir Size ExifTag IfdId decodeFct encodeFct // ------ ------ ---- ------- ----- --------- --------- CrwMapping(0x0805, 0x300a, 0, 0, canonId, decode0x0805, encode0x0805), CrwMapping(0x080a, 0x2807, 0, 0, canonId, decode0x080a, encode0x080a), CrwMapping(0x080b, 0x3004, 0, 0x0007, canonId, decodeBasic, encodeBasic), CrwMapping(0x0810, 0x2807, 0, 0x0009, canonId, decodeBasic, encodeBasic), CrwMapping(0x0815, 0x2804, 0, 0x0006, canonId, decodeBasic, encodeBasic), CrwMapping(0x1029, 0x300b, 0, 0x0002, canonId, decodeBasic, encodeBasic), CrwMapping(0x102a, 0x300b, 0, 0x0004, canonId, decodeArray, encodeArray), CrwMapping(0x102d, 0x300b, 0, 0x0001, canonId, decodeArray, encodeArray), CrwMapping(0x1033, 0x300b, 0, 0x000f, canonId, decodeArray, encodeArray), CrwMapping(0x1038, 0x300b, 0, 0x0012, canonId, decodeArray, encodeArray), CrwMapping(0x10a9, 0x300b, 0, 0x00a9, canonId, decodeBasic, encodeBasic), // Mapped to Exif.Photo.ColorSpace instead (see below) //CrwMapping(0x10b4, 0x300b, 0, 0x00b4, canonId, decodeBasic, encodeBasic), CrwMapping(0x10b4, 0x300b, 0, 0xa001, exifId, decodeBasic, encodeBasic), CrwMapping(0x10b5, 0x300b, 0, 0x00b5, canonId, decodeBasic, encodeBasic), CrwMapping(0x10c0, 0x300b, 0, 0x00c0, canonId, decodeBasic, encodeBasic), CrwMapping(0x10c1, 0x300b, 0, 0x00c1, canonId, decodeBasic, encodeBasic), CrwMapping(0x1807, 0x3002, 0, 0x9206, exifId, decodeBasic, encodeBasic), CrwMapping(0x180b, 0x3004, 0, 0x000c, canonId, decodeBasic, encodeBasic), CrwMapping(0x180e, 0x300a, 0, 0x9003, exifId, decode0x180e, encode0x180e), CrwMapping(0x1810, 0x300a, 0, 0xa002, exifId, decode0x1810, encode0x1810), CrwMapping(0x1817, 0x300a, 4, 0x0008, canonId, decodeBasic, encodeBasic), //CrwMapping(0x1818, 0x3002, 0, 0x9204, exifId, decodeBasic, encodeBasic), CrwMapping(0x183b, 0x300b, 0, 0x0015, canonId, decodeBasic, encodeBasic), CrwMapping(0x2008, 0x0000, 0, 0, ifd1Id, decode0x2008, encode0x2008), // End of list marker CrwMapping(0x0000, 0x0000, 0, 0x0000, ifdIdNotSet, 0, 0) }; // CrwMap::crwMapping_[] /* CIFF directory hierarchy root | 300a | +----+----+----+----+ | | | | | 2804 2807 3002 3003 300b | 3004 The array is arranged bottom-up so that starting with a directory at the bottom, the (unique) path to root can be determined in a single loop. */ const CrwSubDir CrwMap::crwSubDir_[] = { // dir, parent { 0x3004, 0x2807 }, { 0x300b, 0x300a }, { 0x3003, 0x300a }, { 0x3002, 0x300a }, { 0x2807, 0x300a }, { 0x2804, 0x300a }, { 0x300a, 0x0000 }, { 0x0000, 0xffff }, // End of list marker { 0xffff, 0xffff } }; const char CiffHeader::signature_[] = "HEAPCCDR"; CiffHeader::~CiffHeader() { delete pRootDir_; delete[] pPadding_; } CiffComponent::~CiffComponent() { if (isAllocated_) delete[] pData_; } CiffEntry::~CiffEntry() { } CiffDirectory::~CiffDirectory() { Components::iterator b = components_.begin(); Components::iterator e = components_.end(); for (Components::iterator i = b; i != e; ++i) { delete *i; } } void CiffComponent::add(AutoPtr component) { doAdd(component); } void CiffEntry::doAdd(AutoPtr /*component*/) { throw Error(34, "CiffEntry::add"); } // CiffEntry::doAdd void CiffDirectory::doAdd(AutoPtr component) { components_.push_back(component.release()); } // CiffDirectory::doAdd void CiffHeader::read(const byte* pData, uint32_t size) { if (size < 14) throw Error(33); if (pData[0] == 0x49 && pData[1] == 0x49) { byteOrder_ = littleEndian; } else if (pData[0] == 0x4d && pData[1] == 0x4d) { byteOrder_ = bigEndian; } else { throw Error(33); } offset_ = getULong(pData + 2, byteOrder_); if (offset_ < 14 || offset_ > size) throw Error(33); if (std::memcmp(pData + 6, signature(), 8) != 0) { throw Error(33); } delete pPadding_; pPadding_ = new byte[offset_ - 14]; padded_ = offset_ - 14; std::memcpy(pPadding_, pData + 14, padded_); pRootDir_ = new CiffDirectory; pRootDir_->readDirectory(pData + offset_, size - offset_, byteOrder_); } // CiffHeader::read void CiffComponent::read(const byte* pData, uint32_t size, uint32_t start, ByteOrder byteOrder) { doRead(pData, size, start, byteOrder); } void CiffComponent::doRead(const byte* pData, uint32_t size, uint32_t start, ByteOrder byteOrder) { if (size < 10) throw Error(33); tag_ = getUShort(pData + start, byteOrder); DataLocId dl = dataLocation(); assert(dl == directoryData || dl == valueData); if (dl == valueData) { size_ = getULong(pData + start + 2, byteOrder); offset_ = getULong(pData + start + 6, byteOrder); } if (dl == directoryData) { size_ = 8; offset_ = start + 2; } pData_ = pData + offset_; #ifdef DEBUG std::cout << " Entry for tag 0x" << std::hex << tagId() << " (0x" << tag() << "), " << std::dec << size_ << " Bytes, Offset is " << offset_ << "\n"; #endif } // CiffComponent::doRead void CiffDirectory::doRead(const byte* pData, uint32_t size, uint32_t start, ByteOrder byteOrder) { CiffComponent::doRead(pData, size, start, byteOrder); #ifdef DEBUG std::cout << "Reading directory 0x" << std::hex << tag() << "\n"; #endif readDirectory(pData + offset(), this->size(), byteOrder); #ifdef DEBUG std::cout << "<---- 0x" << std::hex << tag() << "\n"; #endif } // CiffDirectory::doRead void CiffDirectory::readDirectory(const byte* pData, uint32_t size, ByteOrder byteOrder) { uint32_t o = getULong(pData + size - 4, byteOrder); if (o + 2 > size) throw Error(33); uint16_t count = getUShort(pData + o, byteOrder); #ifdef DEBUG std::cout << "Directory at offset " << std::dec << o <<", " << count << " entries \n"; #endif o += 2; for (uint16_t i = 0; i < count; ++i) { if (o + 10 > size) throw Error(33); uint16_t tag = getUShort(pData + o, byteOrder); CiffComponent::AutoPtr m; switch (CiffComponent::typeId(tag)) { case directory: m = CiffComponent::AutoPtr(new CiffDirectory); break; default: m = CiffComponent::AutoPtr(new CiffEntry); break; } m->setDir(this->tag()); m->read(pData, size, o, byteOrder); add(m); o += 10; } } // CiffDirectory::readDirectory void CiffHeader::decode(Image& image) const { // Nothing to decode from the header itself, just add correct byte order if (pRootDir_) pRootDir_->decode(image, byteOrder_); } // CiffHeader::decode void CiffComponent::decode(Image& image, ByteOrder byteOrder) const { doDecode(image, byteOrder); } void CiffEntry::doDecode(Image& image, ByteOrder byteOrder) const { CrwMap::decode(*this, image, byteOrder); } // CiffEntry::doDecode void CiffDirectory::doDecode(Image& image, ByteOrder byteOrder) const { Components::const_iterator b = components_.begin(); Components::const_iterator e = components_.end(); for (Components::const_iterator i = b; i != e; ++i) { (*i)->decode(image, byteOrder); } } // CiffDirectory::doDecode void CiffHeader::write(Blob& blob) const { assert( byteOrder_ == littleEndian || byteOrder_ == bigEndian); if (byteOrder_ == littleEndian) { blob.push_back(0x49); blob.push_back(0x49); } else { blob.push_back(0x4d); blob.push_back(0x4d); } uint32_t o = 2; byte buf[4]; ul2Data(buf, offset_, byteOrder_); append(blob, buf, 4); o += 4; append(blob, reinterpret_cast(signature_), 8); o += 8; // Pad as needed if (pPadding_) { assert(padded_ == offset_ - o); append(blob, pPadding_, padded_); } else { for (uint32_t i = o; i < offset_; ++i) { blob.push_back(0); ++o; } } if (pRootDir_) { pRootDir_->write(blob, byteOrder_, offset_); } } uint32_t CiffComponent::write(Blob& blob, ByteOrder byteOrder, uint32_t offset) { return doWrite(blob, byteOrder, offset); } uint32_t CiffEntry::doWrite(Blob& blob, ByteOrder /*byteOrder*/, uint32_t offset) { return writeValueData(blob, offset); } // CiffEntry::doWrite uint32_t CiffComponent::writeValueData(Blob& blob, uint32_t offset) { if (dataLocation() == valueData) { #ifdef DEBUG std::cout << " Data for tag 0x" << std::hex << tagId() << ", " << std::dec << size_ << " Bytes\n"; #endif offset_ = offset; append(blob, pData_, size_); offset += size_; // Pad the value to an even number of bytes if (size_ % 2 == 1) { blob.push_back(0); ++offset; } } return offset; } // CiffComponent::writeValueData uint32_t CiffDirectory::doWrite(Blob& blob, ByteOrder byteOrder, uint32_t offset) { #ifdef DEBUG std::cout << "Writing directory 0x" << std::hex << tag() << "---->\n"; #endif // Ciff offsets are relative to the start of the directory uint32_t dirOffset = 0; // Value data const Components::iterator b = components_.begin(); const Components::iterator e = components_.end(); for (Components::iterator i = b; i != e; ++i) { dirOffset = (*i)->write(blob, byteOrder, dirOffset); } const uint32_t dirStart = dirOffset; // Number of directory entries byte buf[4]; us2Data(buf, static_cast(components_.size()), byteOrder); append(blob, buf, 2); dirOffset += 2; // Directory entries for (Components::iterator i = b; i != e; ++i) { (*i)->writeDirEntry(blob, byteOrder); dirOffset += 10; } // Offset of directory ul2Data(buf, dirStart, byteOrder); append(blob, buf, 4); dirOffset += 4; // Update directory entry setOffset(offset); setSize(dirOffset); #ifdef DEBUG std::cout << "Directory is at offset " << std::dec << dirStart << ", " << components_.size() << " entries\n" << "<---- 0x" << std::hex << tag() << "\n"; #endif return offset + dirOffset; } // CiffDirectory::doWrite void CiffComponent::writeDirEntry(Blob& blob, ByteOrder byteOrder) const { #ifdef DEBUG std::cout << " Directory entry for tag 0x" << std::hex << tagId() << " (0x" << tag() << "), " << std::dec << size_ << " Bytes, Offset is " << offset_ << "\n"; #endif byte buf[4]; DataLocId dl = dataLocation(); assert(dl == directoryData || dl == valueData); if (dl == valueData) { us2Data(buf, tag_, byteOrder); append(blob, buf, 2); ul2Data(buf, size_, byteOrder); append(blob, buf, 4); ul2Data(buf, offset_, byteOrder); append(blob, buf, 4); } if (dl == directoryData) { // Only 8 bytes fit in the directory entry assert(size_ <= 8); us2Data(buf, tag_, byteOrder); append(blob, buf, 2); // Copy value instead of size and offset append(blob, pData_, size_); // Pad with 0s for (uint32_t i = size_; i < 8; ++i) { blob.push_back(0); } } } // CiffComponent::writeDirEntry void CiffHeader::print(std::ostream& os, const std::string& prefix) const { std::ios::fmtflags f( os.flags() ); os << prefix << _("Header, offset") << " = 0x" << std::setw(8) << std::setfill('0') << std::hex << std::right << offset_ << "\n"; if (pRootDir_) pRootDir_->print(os, byteOrder_, prefix); os.flags(f); } // CiffHeader::print void CiffComponent::print(std::ostream& os, ByteOrder byteOrder, const std::string& prefix) const { doPrint(os, byteOrder, prefix); } void CiffComponent::doPrint(std::ostream& os, ByteOrder byteOrder, const std::string& prefix) const { os << prefix << _("tag") << " = 0x" << std::setw(4) << std::setfill('0') << std::hex << std::right << tagId() << ", " << _("dir") << " = 0x" << std::setw(4) << std::setfill('0') << std::hex << std::right << dir() << ", " << _("type") << " = " << TypeInfo::typeName(typeId()) << ", " << _("size") << " = " << std::dec << size_ << ", " << _("offset") << " = " << offset_ << "\n"; Value::AutoPtr value; if (typeId() != directory) { value = Value::create(typeId()); value->read(pData_, size_, byteOrder); if (value->size() < 100) { os << prefix << *value << "\n"; } } } // CiffComponent::doPrint void CiffDirectory::doPrint(std::ostream& os, ByteOrder byteOrder, const std::string& prefix) const { CiffComponent::doPrint(os, byteOrder, prefix); Components::const_iterator b = components_.begin(); Components::const_iterator e = components_.end(); for (Components::const_iterator i = b; i != e; ++i) { (*i)->print(os, byteOrder, prefix + " "); } } // CiffDirectory::doPrint void CiffComponent::setValue(DataBuf buf) { if (isAllocated_) { delete pData_; pData_ = 0; size_ = 0; } isAllocated_ = true; std::pair p = buf.release(); pData_ = p.first; size_ = p.second; if (size_ > 8 && dataLocation() == directoryData) { tag_ &= 0x3fff; } } // CiffComponent::setValue TypeId CiffComponent::typeId(uint16_t tag) { TypeId ti = invalidTypeId; switch (tag & 0x3800) { case 0x0000: ti = unsignedByte; break; case 0x0800: ti = asciiString; break; case 0x1000: ti = unsignedShort; break; case 0x1800: ti = unsignedLong; break; case 0x2000: ti = undefined; break; case 0x2800: // fallthrough case 0x3000: ti = directory; break; } return ti; } // CiffComponent::typeId DataLocId CiffComponent::dataLocation(uint16_t tag) { DataLocId di = invalidDataLocId; switch (tag & 0xc000) { case 0x0000: di = valueData; break; case 0x4000: di = directoryData; break; } return di; } // CiffComponent::dataLocation /*! @brief Finds \em crwTagId in directory \em crwDir, returning a pointer to the component or 0 if not found. */ CiffComponent* CiffHeader::findComponent(uint16_t crwTagId, uint16_t crwDir) const { if (pRootDir_ == 0) return 0; return pRootDir_->findComponent(crwTagId, crwDir); } // CiffHeader::findComponent CiffComponent* CiffComponent::findComponent(uint16_t crwTagId, uint16_t crwDir) const { return doFindComponent(crwTagId, crwDir); } // CiffComponent::findComponent CiffComponent* CiffComponent::doFindComponent(uint16_t crwTagId, uint16_t crwDir) const { if (tagId() == crwTagId && dir() == crwDir) { return const_cast(this); } return 0; } // CiffComponent::doFindComponent CiffComponent* CiffDirectory::doFindComponent(uint16_t crwTagId, uint16_t crwDir) const { CiffComponent* cc = NULL; const Components::const_iterator b = components_.begin(); const Components::const_iterator e = components_.end(); for (Components::const_iterator i = b; i != e; ++i) { cc = (*i)->findComponent(crwTagId, crwDir); if (cc) return cc; } return 0; } // CiffDirectory::doFindComponent void CiffHeader::add(uint16_t crwTagId, uint16_t crwDir, DataBuf buf) { CrwDirs crwDirs; CrwMap::loadStack(crwDirs, crwDir); uint16_t rootDirectory = crwDirs.top().crwDir_; assert(rootDirectory == 0x0000); crwDirs.pop(); if (!pRootDir_) pRootDir_ = new CiffDirectory; if ( pRootDir_) pRootDir_->add(crwDirs, crwTagId)->setValue(buf); } // CiffHeader::add CiffComponent* CiffComponent::add(CrwDirs& crwDirs, uint16_t crwTagId) { return doAdd(crwDirs, crwTagId); } // CiffComponent::add CiffComponent* CiffComponent::doAdd(CrwDirs& /*crwDirs*/, uint16_t /*crwTagId*/) { return 0; } // CiffComponent::doAdd CiffComponent* CiffDirectory::doAdd(CrwDirs& crwDirs, uint16_t crwTagId) { /* add() if stack not empty pop from stack find dir among components if not found, create it add() else find tag among components if not found, create it set value */ const Components::iterator b = components_.begin(); const Components::iterator e = components_.end(); if (!crwDirs.empty()) { CrwSubDir csd = crwDirs.top(); crwDirs.pop(); // Find the directory for (Components::iterator i = b; i != e; ++i) { if ((*i)->tag() == csd.crwDir_) { cc_ = *i; break; } } if (cc_ == 0) { // Directory doesn't exist yet, add it m_ = AutoPtr(new CiffDirectory(csd.crwDir_, csd.parent_)); cc_ = m_.get(); add(m_); } // Recursive call to next lower level directory cc_ = cc_->add(crwDirs, crwTagId); } else { // Find the tag for (Components::iterator i = b; i != e; ++i) { if ((*i)->tagId() == crwTagId) { cc_ = *i; break; } } if (cc_ == 0) { // Tag doesn't exist yet, add it m_ = AutoPtr(new CiffEntry(crwTagId, tag())); cc_ = m_.get(); add(m_); } } return cc_; } // CiffDirectory::doAdd void CiffHeader::remove(uint16_t crwTagId, uint16_t crwDir) { if (pRootDir_) { CrwDirs crwDirs; CrwMap::loadStack(crwDirs, crwDir); uint16_t rootDirectory = crwDirs.top().crwDir_; assert(rootDirectory == 0x0000); crwDirs.pop(); pRootDir_->remove(crwDirs, crwTagId); } } // CiffHeader::remove void CiffComponent::remove(CrwDirs& crwDirs, uint16_t crwTagId) { return doRemove(crwDirs, crwTagId); } // CiffComponent::remove void CiffComponent::doRemove(CrwDirs& /*crwDirs*/, uint16_t /*crwTagId*/) { // do nothing } // CiffComponent::doRemove void CiffDirectory::doRemove(CrwDirs& crwDirs, uint16_t crwTagId) { const Components::iterator b = components_.begin(); const Components::iterator e = components_.end(); Components::iterator i; if (!crwDirs.empty()) { CrwSubDir csd = crwDirs.top(); crwDirs.pop(); // Find the directory for (i = b; i != e; ++i) { if ((*i)->tag() == csd.crwDir_) { // Recursive call to next lower level directory (*i)->remove(crwDirs, crwTagId); if ((*i)->empty()) components_.erase(i); break; } } } else { // Find the tag for (i = b; i != e; ++i) { if ((*i)->tagId() == crwTagId) { // Remove the entry and abort the loop delete *i; components_.erase(i); break; } } } } // CiffDirectory::doRemove bool CiffComponent::empty() const { return doEmpty(); } bool CiffComponent::doEmpty() const { return size_ == 0; } bool CiffDirectory::doEmpty() const { return components_.empty(); } void CrwMap::decode(const CiffComponent& ciffComponent, Image& image, ByteOrder byteOrder) { const CrwMapping* cmi = crwMapping(ciffComponent.dir(), ciffComponent.tagId()); if (cmi && cmi->toExif_) { cmi->toExif_(ciffComponent, cmi, image, byteOrder); } } // CrwMap::decode const CrwMapping* CrwMap::crwMapping(uint16_t crwDir, uint16_t crwTagId) { for (int i = 0; crwMapping_[i].ifdId_ != ifdIdNotSet; ++i) { if ( crwMapping_[i].crwDir_ == crwDir && crwMapping_[i].crwTagId_ == crwTagId) { return &(crwMapping_[i]); } } return 0; } // CrwMap::crwMapping void CrwMap::decode0x0805(const CiffComponent& ciffComponent, const CrwMapping* /*pCrwMapping*/, Image& image, ByteOrder /*byteOrder*/) { std::string s(reinterpret_cast(ciffComponent.pData())); image.setComment(s); } // CrwMap::decode0x0805 void CrwMap::decode0x080a(const CiffComponent& ciffComponent, const CrwMapping* /*pCrwMapping*/, Image& image, ByteOrder byteOrder) { if (ciffComponent.typeId() != asciiString) return; // Make ExifKey key1("Exif.Image.Make"); Value::AutoPtr value1 = Value::create(ciffComponent.typeId()); uint32_t i = 0; for (; i < ciffComponent.size() && ciffComponent.pData()[i] != '\0'; ++i) { // empty } value1->read(ciffComponent.pData(), ++i, byteOrder); image.exifData().add(key1, value1.get()); // Model ExifKey key2("Exif.Image.Model"); Value::AutoPtr value2 = Value::create(ciffComponent.typeId()); uint32_t j = i; for (; i < ciffComponent.size() && ciffComponent.pData()[i] != '\0'; ++i) { // empty } value2->read(ciffComponent.pData() + j, i - j + 1, byteOrder); image.exifData().add(key2, value2.get()); } // CrwMap::decode0x080a void CrwMap::decodeArray(const CiffComponent& ciffComponent, const CrwMapping* pCrwMapping, Image& image, ByteOrder byteOrder) { if (ciffComponent.typeId() != unsignedShort) { return decodeBasic(ciffComponent, pCrwMapping, image, byteOrder); } long aperture = 0; long shutterSpeed = 0; IfdId ifdId = ifdIdNotSet; switch (pCrwMapping->tag_) { case 0x0001: ifdId = canonCsId; break; case 0x0004: ifdId = canonSiId; break; case 0x000f: ifdId = canonCfId; break; case 0x0012: ifdId = canonPiId; break; } assert(ifdId != ifdIdNotSet); std::string groupName(Internal::groupName(ifdId)); uint16_t c = 1; while (uint32_t(c)*2 < ciffComponent.size()) { uint16_t n = 1; ExifKey key(c, groupName); UShortValue value; if (ifdId == canonCsId && c == 23 && ciffComponent.size() > 50) n = 3; value.read(ciffComponent.pData() + c*2, n*2, byteOrder); image.exifData().add(key, &value); if (ifdId == canonSiId && c == 21) aperture = value.toLong(); if (ifdId == canonSiId && c == 22) shutterSpeed = value.toLong(); c += n; } if (ifdId == canonSiId) { // Exif.Photo.FNumber float f = fnumber(canonEv(aperture)); Rational r = floatToRationalCast(f); URational ur(r.first, r.second); URationalValue fn; fn.value_.push_back(ur); image.exifData().add(ExifKey("Exif.Photo.FNumber"), &fn); // Exif.Photo.ExposureTime ur = exposureTime(canonEv(shutterSpeed)); URationalValue et; et.value_.push_back(ur); image.exifData().add(ExifKey("Exif.Photo.ExposureTime"), &et); } } // CrwMap::decodeArray void CrwMap::decode0x180e(const CiffComponent& ciffComponent, const CrwMapping* pCrwMapping, Image& image, ByteOrder byteOrder) { if (ciffComponent.size() < 8 || ciffComponent.typeId() != unsignedLong) { return decodeBasic(ciffComponent, pCrwMapping, image, byteOrder); } assert(pCrwMapping != 0); ULongValue v; v.read(ciffComponent.pData(), 8, byteOrder); time_t t = v.value_[0]; #ifdef EXV_HAVE_GMTIME_R struct tm tms; struct tm* tm = &tms; tm = gmtime_r(&t, tm); #else struct tm* tm = std::gmtime(&t); #endif if (tm) { const size_t m = 20; char s[m]; std::strftime(s, m, "%Y:%m:%d %H:%M:%S", tm); ExifKey key(pCrwMapping->tag_, Internal::groupName(pCrwMapping->ifdId_)); AsciiValue value; value.read(std::string(s)); image.exifData().add(key, &value); } } // CrwMap::decode0x180e void CrwMap::decode0x1810(const CiffComponent& ciffComponent, const CrwMapping* pCrwMapping, Image& image, ByteOrder byteOrder) { if (ciffComponent.typeId() != unsignedLong || ciffComponent.size() < 28) { return decodeBasic(ciffComponent, pCrwMapping, image, byteOrder); } ExifKey key1("Exif.Photo.PixelXDimension"); ULongValue value1; value1.read(ciffComponent.pData(), 4, byteOrder); image.exifData().add(key1, &value1); ExifKey key2("Exif.Photo.PixelYDimension"); ULongValue value2; value2.read(ciffComponent.pData() + 4, 4, byteOrder); image.exifData().add(key2, &value2); int32_t r = getLong(ciffComponent.pData() + 12, byteOrder); uint16_t o = RotationMap::orientation(r); image.exifData()["Exif.Image.Orientation"] = o; } // CrwMap::decode0x1810 void CrwMap::decode0x2008(const CiffComponent& ciffComponent, const CrwMapping* /*pCrwMapping*/, Image& image, ByteOrder /*byteOrder*/) { ExifThumb exifThumb(image.exifData()); exifThumb.setJpegThumbnail(ciffComponent.pData(), ciffComponent.size()); } // CrwMap::decode0x2008 void CrwMap::decodeBasic(const CiffComponent& ciffComponent, const CrwMapping* pCrwMapping, Image& image, ByteOrder byteOrder) { assert(pCrwMapping != 0); // create a key and value pair ExifKey key(pCrwMapping->tag_, Internal::groupName(pCrwMapping->ifdId_)); Value::AutoPtr value; if (ciffComponent.typeId() != directory) { value = Value::create(ciffComponent.typeId()); uint32_t size = 0; if (pCrwMapping->size_ != 0) { // size in the mapping table overrides all size = pCrwMapping->size_; } else if (ciffComponent.typeId() == asciiString) { // determine size from the data, by looking for the first 0 uint32_t i = 0; for (; i < ciffComponent.size() && ciffComponent.pData()[i] != '\0'; ++i) { // empty } size = ++i; } else { // by default, use the size from the directory entry size = ciffComponent.size(); } value->read(ciffComponent.pData(), size, byteOrder); } // Add metadatum to exif data image.exifData().add(key, value.get()); } // CrwMap::decodeBasic void CrwMap::loadStack(CrwDirs& crwDirs, uint16_t crwDir) { for (int i = 0; crwSubDir_[i].crwDir_ != 0xffff; ++i) { if (crwSubDir_[i].crwDir_ == crwDir) { crwDirs.push(crwSubDir_[i]); crwDir = crwSubDir_[i].parent_; } } } // CrwMap::loadStack void CrwMap::encode(CiffHeader* pHead, const Image& image) { for (const CrwMapping* cmi = crwMapping_; cmi->ifdId_ != ifdIdNotSet; ++cmi) { if (cmi->fromExif_ != 0) { cmi->fromExif_(image, cmi, pHead); } } } // CrwMap::encode void CrwMap::encodeBasic(const Image& image, const CrwMapping* pCrwMapping, CiffHeader* pHead) { assert(pCrwMapping != 0); assert(pHead != 0); // Determine the source Exif metadatum ExifKey ek(pCrwMapping->tag_, Internal::groupName(pCrwMapping->ifdId_)); ExifData::const_iterator ed = image.exifData().findKey(ek); // Set the new value or remove the entry if (ed != image.exifData().end()) { DataBuf buf(ed->size()); ed->copy(buf.pData_, pHead->byteOrder()); pHead->add(pCrwMapping->crwTagId_, pCrwMapping->crwDir_, buf); } else { pHead->remove(pCrwMapping->crwTagId_, pCrwMapping->crwDir_); } } // CrwMap::encodeBasic void CrwMap::encode0x0805(const Image& image, const CrwMapping* pCrwMapping, CiffHeader* pHead) { assert(pCrwMapping != 0); assert(pHead != 0); std::string comment = image.comment(); CiffComponent* cc = pHead->findComponent(pCrwMapping->crwTagId_, pCrwMapping->crwDir_); if (!comment.empty()) { uint32_t size = static_cast(comment.size()); if (cc && cc->size() > size) size = cc->size(); DataBuf buf(size); std::memset(buf.pData_, 0x0, buf.size_); std::memcpy(buf.pData_, comment.data(), comment.size()); pHead->add(pCrwMapping->crwTagId_, pCrwMapping->crwDir_, buf); } else { if (cc) { // Just delete the value, do not remove the tag DataBuf buf(cc->size()); std::memset(buf.pData_, 0x0, buf.size_); cc->setValue(buf); } } } // CrwMap::encode0x0805 void CrwMap::encode0x080a(const Image& image, const CrwMapping* pCrwMapping, CiffHeader* pHead) { assert(pCrwMapping != 0); assert(pHead != 0); const ExifKey k1("Exif.Image.Make"); const ExifKey k2("Exif.Image.Model"); const ExifData::const_iterator ed1 = image.exifData().findKey(k1); const ExifData::const_iterator ed2 = image.exifData().findKey(k2); const ExifData::const_iterator edEnd = image.exifData().end(); long size = 0; if (ed1 != edEnd) size += ed1->size(); if (ed2 != edEnd) size += ed2->size(); if (size != 0) { DataBuf buf(size); if (ed1 != edEnd) ed1->copy(buf.pData_, pHead->byteOrder()); if (ed2 != edEnd) ed2->copy(buf.pData_ + ed1->size(), pHead->byteOrder()); pHead->add(pCrwMapping->crwTagId_, pCrwMapping->crwDir_, buf); } else { pHead->remove(pCrwMapping->crwTagId_, pCrwMapping->crwDir_); } } // CrwMap::encode0x080a void CrwMap::encodeArray(const Image& image, const CrwMapping* pCrwMapping, CiffHeader* pHead) { assert(pCrwMapping != 0); assert(pHead != 0); IfdId ifdId = ifdIdNotSet; switch (pCrwMapping->tag_) { case 0x0001: ifdId = canonCsId; break; case 0x0004: ifdId = canonSiId; break; case 0x000f: ifdId = canonCfId; break; case 0x0012: ifdId = canonPiId; break; } assert(ifdId != ifdIdNotSet); DataBuf buf = packIfdId(image.exifData(), ifdId, pHead->byteOrder()); if (buf.size_ == 0) { // Try the undecoded tag encodeBasic(image, pCrwMapping, pHead); } if (buf.size_ > 0) { // Write the number of shorts to the beginning of buf us2Data(buf.pData_, static_cast(buf.size_), pHead->byteOrder()); pHead->add(pCrwMapping->crwTagId_, pCrwMapping->crwDir_, buf); } else { pHead->remove(pCrwMapping->crwTagId_, pCrwMapping->crwDir_); } } // CrwMap::encodeArray void CrwMap::encode0x180e(const Image& image, const CrwMapping* pCrwMapping, CiffHeader* pHead) { assert(pCrwMapping != 0); assert(pHead != 0); time_t t = 0; const ExifKey key(pCrwMapping->tag_, Internal::groupName(pCrwMapping->ifdId_)); const ExifData::const_iterator ed = image.exifData().findKey(key); if (ed != image.exifData().end()) { struct tm tm; std::memset(&tm, 0x0, sizeof(tm)); int rc = exifTime(ed->toString().c_str(), &tm); if (rc == 0) t = timegm(&tm); } if (t != 0) { DataBuf buf(12); std::memset(buf.pData_, 0x0, 12); ul2Data(buf.pData_, static_cast(t), pHead->byteOrder()); pHead->add(pCrwMapping->crwTagId_, pCrwMapping->crwDir_, buf); } else { pHead->remove(pCrwMapping->crwTagId_, pCrwMapping->crwDir_); } } // CrwMap::encode0x180e void CrwMap::encode0x1810(const Image& image, const CrwMapping* pCrwMapping, CiffHeader* pHead) { assert(pCrwMapping != 0); assert(pHead != 0); const ExifKey kX("Exif.Photo.PixelXDimension"); const ExifKey kY("Exif.Photo.PixelYDimension"); const ExifKey kO("Exif.Image.Orientation"); const ExifData::const_iterator edX = image.exifData().findKey(kX); const ExifData::const_iterator edY = image.exifData().findKey(kY); const ExifData::const_iterator edO = image.exifData().findKey(kO); const ExifData::const_iterator edEnd = image.exifData().end(); CiffComponent* cc = pHead->findComponent(pCrwMapping->crwTagId_, pCrwMapping->crwDir_); if (edX != edEnd || edY != edEnd || edO != edEnd) { uint32_t size = 28; if (cc && cc->size() > size) size = cc->size(); DataBuf buf(size); std::memset(buf.pData_, 0x0, buf.size_); if (cc) std::memcpy(buf.pData_ + 8, cc->pData() + 8, cc->size() - 8); if (edX != edEnd && edX->size() == 4) { edX->copy(buf.pData_, pHead->byteOrder()); } if (edY != edEnd && edY->size() == 4) { edY->copy(buf.pData_ + 4, pHead->byteOrder()); } int32_t d = 0; if (edO != edEnd && edO->count() > 0 && edO->typeId() == unsignedShort) { d = RotationMap::degrees(static_cast(edO->toLong())); } l2Data(buf.pData_ + 12, d, pHead->byteOrder()); pHead->add(pCrwMapping->crwTagId_, pCrwMapping->crwDir_, buf); } else { pHead->remove(pCrwMapping->crwTagId_, pCrwMapping->crwDir_); } } // CrwMap::encode0x1810 void CrwMap::encode0x2008(const Image& image, const CrwMapping* pCrwMapping, CiffHeader* pHead) { assert(pCrwMapping != 0); assert(pHead != 0); ExifThumbC exifThumb(image.exifData()); DataBuf buf = exifThumb.copy(); if (buf.size_ != 0) { pHead->add(pCrwMapping->crwTagId_, pCrwMapping->crwDir_, buf); } else { pHead->remove(pCrwMapping->crwTagId_, pCrwMapping->crwDir_); } } // CrwMap::encode0x2008 // ************************************************************************* // free functions DataBuf packIfdId(const ExifData& exifData, IfdId ifdId, ByteOrder byteOrder) { const uint16_t size = 1024; DataBuf buf(size); std::memset(buf.pData_, 0x0, buf.size_); uint16_t len = 0; const ExifData::const_iterator b = exifData.begin(); const ExifData::const_iterator e = exifData.end(); for (ExifData::const_iterator i = b; i != e; ++i) { if (i->ifdId() != ifdId) continue; const uint16_t s = i->tag()*2 + static_cast(i->size()); assert(s <= size); if (len < s) len = s; i->copy(buf.pData_ + i->tag()*2, byteOrder); } // Round the size to make it even. buf.size_ = len + len%2; return buf; } }} // namespace Internal, Exiv2 // ***************************************************************************** // local definitions namespace { //! @cond IGNORE const RotationMap::OmList RotationMap::omList_[] = { { 1, 0 }, { 3, 180 }, { 3, -180 }, { 6, 90 }, { 6, -270 }, { 8, 270 }, { 8, -90 }, // last entry { 0, 0 } }; uint16_t RotationMap::orientation(int32_t degrees) { uint16_t o = 1; for (int i = 0; omList_[i].orientation != 0; ++i) { if (omList_[i].degrees == degrees) { o = omList_[i].orientation; break; } } return o; } int32_t RotationMap::degrees(uint16_t orientation) { int32_t d = 0; for (int i = 0; omList_[i].orientation != 0; ++i) { if (omList_[i].orientation == orientation) { d = omList_[i].degrees; break; } } return d; } //! @endcond } exiv2-0.25/src/version.cpp0000664000175000017500000003173512523234034015302 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: version.cpp Version: $Rev: 3800 $ Author(s): Andreas Huggel (ahu) History: 06-Mar-07, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: version.cpp 3800 2015-05-08 22:26:36Z robinwmills $") // ***************************************************************************** #include "config.h" #ifndef EXV_USE_SSH #define EXV_USE_SSH 0 #endif #ifndef EXV_USE_CURL #define EXV_USE_CURL 0 #endif #if EXV_USE_CURL == 1 #include #endif #if defined(__CYGWIN__) || defined(__MINGW__) #include #endif #include "http.hpp" #include "svn_version.h" #include "version.hpp" // + standard includes #include #include #include #include #include namespace Exiv2 { int versionNumber() { return EXIV2_MAKE_VERSION(EXIV2_MAJOR_VERSION, EXIV2_MINOR_VERSION, EXIV2_PATCH_VERSION); } std::string versionString() { std::ostringstream os; os << EXIV2_MAJOR_VERSION << '.' << EXIV2_MINOR_VERSION << '.' << EXIV2_PATCH_VERSION; return os.str(); } std::string versionNumberHexString() { std::ostringstream os; os << std::hex << std::setw(6) << std::setfill('0') << Exiv2::versionNumber(); return os.str(); } const char* version() { return EXV_PACKAGE_VERSION; } bool testVersion(int major, int minor, int patch) { return versionNumber() >= EXIV2_MAKE_VERSION(major,minor,patch); } } // namespace Exiv2 using namespace std; typedef vector string_v; typedef string_v::iterator string_i; #ifndef lengthof #define lengthof(x) sizeof(x)/sizeof(x[0]) #endif #ifndef _MAX_PATH #define _MAX_PATH 512 #endif // platform specific support for dumpLibraryInfo #if defined(WIN32) # include # include // tell MSVC to link psapi. #ifdef _MSC_VER #pragma comment( lib, "psapi" ) #endif #elif defined(__APPLE__) # include #elif defined(__linux__) # include // http://syprog.blogspot.com/2011/12/listing-loaded-shared-objects-in-linux.html # include struct something { void* pointers[3]; struct something* ptr; }; struct lmap { void* base_address; /* Base address of the shared object */ char* path; /* Absolute file name (path) of the shared object */ void* not_needed1; /* Pointer to the dynamic section of the shared object */ struct lmap *next, *prev;/* chain of loaded objects */ }; #endif static void output(std::ostream& os,const exv_grep_keys_t& greps,const char* name,const std::string& value) { bool bPrint = greps.empty(); for( exv_grep_keys_t::const_iterator g = greps.begin(); !bPrint && g != greps.end() ; ++g ) { #if EXV_HAVE_REGEX bPrint = ( 0 == regexec( &(*g), name , 0, NULL, 0) || 0 == regexec( &(*g), value.c_str(), 0, NULL, 0) ); #else bPrint = std::string(name).find(*g) != std::string::npos || value.find(*g) != std::string::npos; #endif } if ( bPrint ) os << name << "=" << value << endl; } static void output(std::ostream& os,const exv_grep_keys_t& greps,const char* name,int value) { std::ostringstream stringStream; stringStream << value; output(os,greps,name,stringStream.str()); } void Exiv2::dumpLibraryInfo(std::ostream& os,const exv_grep_keys_t& keys) { string_v libs; // libs[0] == executable int bits = 8*sizeof(void*); #if defined(_DEBUG) || defined(DEBUG) int debug=1; #else int debug=0; #endif #if defined(DLL_EXPORT) || defined(EXV_HAVE_DLL) int dll=1; #else int dll=0; #endif const char* compiler = #if defined(_MSC_VER) "MSVC" ; #ifndef __VERSION__ char version[20]; sprintf(version,"%d.%02d",(_MSC_VER-600)/100,_MSC_VER%100); #define __VERSION__ version #endif #elif defined(__clang__) "Clang" ; #elif defined(__GNUG__) "G++" ; #elif defined(__GNUC__) "GCC" ; #elif defined(__SUNPRO_CC) "CC (oracle)"; #elif defined (__SUNPRO_C) "cc (oracle)"; #else "unknown" ; #endif #if defined(__SUNPRO_CC) || defined (__SUNPRO_C) #define __oracle__ #endif #ifndef __VERSION__ #ifdef __clang__version__ #define __VERSION__ __clang__version__ #else #define __VERSION__ "unknown" #endif #endif const char* platform = #if defined(__CYGWIN__) "cygwin"; #elif defined(_MSC_VER) "windows"; #elif defined(__APPLE__) "apple"; #elif defined(__MINGW64__) "mingw64"; #elif defined(__MINGW32__) "mingw32"; #elif defined(__linux__) "linux"; #else "unknown"; #endif int have_regex =0; int have_gmtime_r =0; int have_inttypes =0; int have_libintl =0; int have_lensdata =0; int have_iconv =0; int have_memory =0; int have_memset =0; int have_lstat =0; int have_stdbool =0; int have_stdint =0; int have_stdlib =0; int have_strlib =0; int have_strchr =0; int have_strerror =0; int have_strerror_r =0; int have_strings_h =0; int have_strtol =0; int have_mmap =0; int have_munmap =0; int have_sys_stat =0; int have_timegm =0; int have_unistd_h =0; int have_sys_mman =0; int have_libz =0; int have_xmptoolkit =0; int have_bool =0; int have_strings =0; int have_sys_types =0; int have_unistd =0; int have_unicode_path=0; int enable_video =0; int enable_webready =0; #if EXV_HAVE_DECL_STRERROR_R have_strerror_r=1; #endif #if EXV_HAVE_GMTIME_R have_gmtime_r=1; #endif #if EXV_HAVE_INTTYPES_H have_inttypes=1; #endif #if EXV_HAVE_LIBINTL_H have_libintl=1; #endif #if EXV_HAVE_LENSDATA have_lensdata=1; #endif #if EXV_HAVE_ICONV have_iconv=1; #endif #if EXV_HAVE_LIBINTL_H have_libintl=1; #endif #if EXV_HAVE_REGEX have_regex=1; #endif #if EXV_HAVE_MEMORY_H have_memory=1; #endif #if EXV_HAVE_MEMSET have_memset=1; #endif #if EXV_HAVE_LSTAT have_lstat=1; #endif #if EXV_HAVE_STDBOOL_H have_stdbool=1; #endif #if EXV_HAVE_STDINT_H have_stdint=1; #endif #if EXV_HAVE_STDLIB_H have_stdlib=1; #endif #if EXV_HAVE_STRCHR have_strchr=1; #endif #if EXV_HAVE_STRERROR have_strerror=1; #endif #if EXV_HAVE_STRERROR_R have_strerror_r=1; #endif #if EXV_HAVE_STRINGS_H have_strings=1; #endif #if EXV_HAVE_STRTOL have_strtol=1; #endif #if EXV_HAVE_MMAP have_mmap=1; #endif #if EXV_HAVE_MUNMAP have_munmap=1; #endif #if EXV_HAVE_SYS_STAT_H have_sys_stat=1; #endif #if EXV_HAVE_SYS_TYPES_H have_sys_types=1; #endif #if EXV_HAVE_TIMEGM have_timegm=1; #endif #if EXV_HAVE_UNISTD_H have_unistd=1; #endif #if EXV_HAVE_SYS_MMAN_H have_sys_mman=1; #endif #if HAVE_LIBZ have_libz=1; #endif #if EXV_HAVE_XMP_TOOLKIT have_xmptoolkit=1; #endif #if EXV_HAVE__BOOL have_bool=1; #endif #if EXV_HAVE_STRINGS have_strings=1; #endif #if EXV_SYS_TYPES have_sys_types=1; #endif #if EXV_HAVE_UNISTD have_unistd=1; #endif #if EXV_UNICODE_PATH have_unicode_path=1; #endif #if EXV_ENABLE_VIDEO enable_video=1; #endif #if EXV_ENABLE_WEBREADY enable_webready=1; #endif #if defined(WIN32) || defined(__CYGWIN__) || defined(__MINGW__) // enumerate loaded libraries and determine path to executable HMODULE handles[200]; DWORD cbNeeded; if ( EnumProcessModules(GetCurrentProcess(),handles,lengthof(handles),&cbNeeded)) { char szFilename[_MAX_PATH]; for ( DWORD h = 0 ; h < cbNeeded/sizeof(handles[0]) ; h++ ) { GetModuleFileNameA(handles[h],szFilename,lengthof(szFilename)) ; libs.push_back(szFilename); } } #elif defined(__APPLE__) // man 3 dyld uint32_t count = _dyld_image_count(); for (uint32_t image = 0 ; image < count ; image++ ) { const char* image_path = _dyld_get_image_name(image); libs.push_back(image_path); } #elif defined(__linux__) // http://stackoverflow.com/questions/606041/how-do-i-get-the-path-of-a-process-in-unix-linux char proc[100]; char path[500]; sprintf(proc,"/proc/%d/exe", getpid()); int l = readlink (proc, path,sizeof(path)-1); if (l>0) { path[l]=0; libs.push_back(path); } else { libs.push_back("unknown"); } // http://syprog.blogspot.com/2011/12/listing-loaded-shared-objects-in-linux.html struct lmap* pl; void* ph = dlopen(NULL, RTLD_NOW); struct something* p = (struct something*) ph; p = p->ptr; pl = (struct lmap*)p->ptr; while ( pl ) { libs.push_back(pl->path); pl = pl->next; } #endif output(os,keys,"exiv2",Exiv2::versionString()); output(os,keys,"platform" , platform ); output(os,keys,"compiler" , compiler ); output(os,keys,"bits" , bits ); output(os,keys,"dll" , dll ); output(os,keys,"debug" , debug ); output(os,keys,"version" , __VERSION__); output(os,keys,"date" , __DATE__ ); output(os,keys,"time" , __TIME__ ); output(os,keys,"svn" , SVN_VERSION); output(os,keys,"ssh" , EXV_USE_SSH); #if EXV_USE_CURL == 1 std::string curl_protocols; curl_version_info_data* vinfo = curl_version_info(CURLVERSION_NOW); for (int i = 0; vinfo->protocols[i]; i++) { curl_protocols += vinfo->protocols[i]; curl_protocols += " " ; } output(os,keys,"curlprotocols" ,curl_protocols); #else output(os,keys,"curl" , EXV_USE_CURL); #endif output(os,keys,"id" , "$Id: version.cpp 3800 2015-05-08 22:26:36Z robinwmills $"); if ( libs.begin() != libs.end() ) { output(os,keys,"executable" ,*libs.begin()); for ( string_i lib = libs.begin()+1 ; lib != libs.end() ; lib++ ) output(os,keys,"library",*lib); } output(os,keys,"have_regex" ,have_regex ); output(os,keys,"have_strerror_r" ,have_strerror_r ); output(os,keys,"have_gmtime_r" ,have_gmtime_r ); output(os,keys,"have_inttypes" ,have_inttypes ); output(os,keys,"have_libintl" ,have_libintl ); output(os,keys,"have_lensdata" ,have_lensdata ); output(os,keys,"have_iconv" ,have_iconv ); output(os,keys,"have_memory" ,have_memory ); output(os,keys,"have_memset" ,have_memset ); output(os,keys,"have_lstat" ,have_lstat ); output(os,keys,"have_stdbool" ,have_stdbool ); output(os,keys,"have_stdint" ,have_stdint ); output(os,keys,"have_stdlib" ,have_stdlib ); output(os,keys,"have_strlib" ,have_strlib ); output(os,keys,"have_strchr" ,have_strchr ); output(os,keys,"have_strerror" ,have_strerror ); output(os,keys,"have_strerror_r" ,have_strerror_r ); output(os,keys,"have_strings_h" ,have_strings_h ); output(os,keys,"have_strtol" ,have_strtol ); output(os,keys,"have_mmap" ,have_mmap ); output(os,keys,"have_munmap" ,have_munmap ); output(os,keys,"have_sys_stat" ,have_sys_stat ); output(os,keys,"have_timegm" ,have_timegm ); output(os,keys,"have_unistd_h" ,have_unistd_h ); output(os,keys,"have_sys_mman" ,have_sys_mman ); output(os,keys,"have_libz" ,have_libz ); output(os,keys,"have_xmptoolkit" ,have_xmptoolkit ); output(os,keys,"have_bool" ,have_bool ); output(os,keys,"have_strings" ,have_strings ); output(os,keys,"have_sys_types" ,have_sys_types ); output(os,keys,"have_unistd" ,have_unistd ); output(os,keys,"have_unicode_path" ,have_unicode_path); output(os,keys,"enable_video" ,enable_video ); output(os,keys,"enable_webready" ,enable_webready ); #if defined(__linux__) dlclose(ph); ph=NULL; #endif } exiv2-0.25/src/tiffvisitor_int.hpp0000664000175000017500000007542612521135474017057 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file tiffvisitor_int.hpp @brief Internal operations on a TIFF composite tree, implemented as visitor classes. @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 11-Apr-06, ahu: created */ #ifndef TIFFVISITOR_INT_HPP_ #define TIFFVISITOR_INT_HPP_ // ***************************************************************************** // included header files #include "exif.hpp" #include "tifffwd_int.hpp" #include "types.hpp" // + standard includes #include #include #include #include #include #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { class IptcData; class XmpData; namespace Internal { // ***************************************************************************** // class definitions /*! @brief Abstract base class defining the interface for TIFF composite vistors (Visitor pattern) A concrete visitor class is used as shown in the example below. Accept() will invoke the member function corresponding to the concrete type of each component in the composite. @code void visitorExample(Exiv2::TiffComponent* tiffComponent, Exiv2::TiffVisitor& visitor) { tiffComponent->accept(visitor); } @endcode */ class TiffVisitor { public: //! Events for the stop/go flag. See setGo(). enum GoEvent { //! Signal to control traversing of the composite tree. geTraverse = 0, //! Signal used by TiffReader to signal an unknown makernote. geKnownMakernote = 1 // Note: If you add more events here, adjust the events_ constant too! }; private: static const int events_ = 2; //!< The number of stop/go flags. bool go_[events_]; //!< Array of stop/go flags. See setGo(). public: //! @name Creators //@{ //! Default constructor. Initialises all stop/go flags to true. TiffVisitor(); //! Virtual destructor virtual ~TiffVisitor(); //@} //! @name Manipulators //@{ /*! @brief Set the stop/go flag: true for go, false for stop. This mechanism is used by visitors and components to signal special events. Specifically, TiffFinder sets the geTraverse flag as soon as it finds the correct component to signal to components that the search should be aborted. TiffReader uses geKnownMakernote to signal problems reading a makernote to the TiffMnEntry component. There is an array of flags, one for each defined \em event, so different signals can be used independent of each other. */ void setGo(GoEvent event, bool go); //! Operation to perform for a TIFF entry virtual void visitEntry(TiffEntry* object) =0; //! Operation to perform for a TIFF data entry virtual void visitDataEntry(TiffDataEntry* object) =0; //! Operation to perform for a TIFF image entry virtual void visitImageEntry(TiffImageEntry* object) =0; //! Operation to perform for a TIFF size entry virtual void visitSizeEntry(TiffSizeEntry* object) =0; //! Operation to perform for a TIFF directory virtual void visitDirectory(TiffDirectory* object) =0; /*! @brief Operation to perform for a TIFF directory, after all components and before the next entry is processed. */ virtual void visitDirectoryNext(TiffDirectory* object); /*! @brief Operation to perform for a TIFF directory, at the end of the processing. */ virtual void visitDirectoryEnd(TiffDirectory* object); //! Operation to perform for a TIFF sub-IFD virtual void visitSubIfd(TiffSubIfd* object) =0; //! Operation to perform for the makernote component virtual void visitMnEntry(TiffMnEntry* object) =0; //! Operation to perform for an IFD makernote virtual void visitIfdMakernote(TiffIfdMakernote* object) =0; //! Operation to perform after processing an IFD makernote virtual void visitIfdMakernoteEnd(TiffIfdMakernote* object); //! Operation to perform for a binary array virtual void visitBinaryArray(TiffBinaryArray* object) =0; /*! @brief Operation to perform for a TIFF binary array, at the end of the processing. */ virtual void visitBinaryArrayEnd(TiffBinaryArray* object); //! Operation to perform for an element of a binary array virtual void visitBinaryElement(TiffBinaryElement* object) =0; //@} //! @name Accessors //@{ //! Check if stop flag for \em event is clear, return true if it's clear. bool go(GoEvent event) const; //@} }; // class TiffVisitor /*! @brief Search the composite for a component with \em tag and \em group. Return a pointer to the component or 0, if not found. The class is ready for a first search after construction and can be re-initialized with init(). */ class TiffFinder : public TiffVisitor { public: //! @name Creators //@{ //! Constructor, taking \em tag and \em group of the component to find. TiffFinder(uint16_t tag, IfdId group) : tag_(tag), group_(group), tiffComponent_(0) {} //! Virtual destructor virtual ~TiffFinder(); //@} //! @name Manipulators //@{ //! Find tag and group in a TIFF entry virtual void visitEntry(TiffEntry* object); //! Find tag and group in a TIFF data entry virtual void visitDataEntry(TiffDataEntry* object); //! Find tag and group in a TIFF image entry virtual void visitImageEntry(TiffImageEntry* object); //! Find tag and group in a TIFF size entry virtual void visitSizeEntry(TiffSizeEntry* object); //! Find tag and group in a TIFF directory virtual void visitDirectory(TiffDirectory* object); //! Find tag and group in a TIFF sub-IFD virtual void visitSubIfd(TiffSubIfd* object); //! Find tag and group in a TIFF makernote virtual void visitMnEntry(TiffMnEntry* object); //! Find tag and group in an IFD makernote virtual void visitIfdMakernote(TiffIfdMakernote* object); //! Find tag and group in a binary array virtual void visitBinaryArray(TiffBinaryArray* object); //! Find tag and group in an element of a binary array virtual void visitBinaryElement(TiffBinaryElement* object); //! Check if \em object matches \em tag and \em group void findObject(TiffComponent* object); //! Initialize the Finder for a new search. void init(uint16_t tag, IfdId group); //@} //! @name Accessors //@{ /*! @brief Return the search result. 0 if no TIFF component was found for the tag and group combination. */ TiffComponent* result() const { return tiffComponent_; } //@} private: uint16_t tag_; IfdId group_; TiffComponent* tiffComponent_; }; // class TiffFinder /*! @brief Copy all image tags from the source tree (the tree that is traversed) to a target tree, which is empty except for the root element provided in the constructor. */ class TiffCopier : public TiffVisitor { public: //! @name Creators //@{ /*! @brief Constructor @param pRoot Pointer to the root element of the (empty) target tree. @param root @param pHeader Pointer to the TIFF header of the source image. @param pPrimaryGroups Pointer to the list of primary groups. */ TiffCopier( TiffComponent* pRoot, uint32_t root, const TiffHeaderBase* pHeader, const PrimaryGroups* pPrimaryGroups); //! Virtual destructor virtual ~TiffCopier(); //@} //! @name Manipulators //@{ //! Copy a TIFF entry if it is an image tag virtual void visitEntry(TiffEntry* object); //! Copy a TIFF data entry if it is an image tag virtual void visitDataEntry(TiffDataEntry* object); //! Copy a TIFF image entry if it is an image tag virtual void visitImageEntry(TiffImageEntry* object); //! Copy a TIFF size entry if it is an image tag virtual void visitSizeEntry(TiffSizeEntry* object); //! Copy a TIFF directory if it is an image tag virtual void visitDirectory(TiffDirectory* object); //! Copy a TIFF sub-IFD if it is an image tag virtual void visitSubIfd(TiffSubIfd* object); //! Copy a TIFF makernote if it is an image tag virtual void visitMnEntry(TiffMnEntry* object); //! Copy an IFD makernote if it is an image tag virtual void visitIfdMakernote(TiffIfdMakernote* object); //! Copy a binary array if it is an image tag virtual void visitBinaryArray(TiffBinaryArray* object); //! Copy an element of a binary array if it is an image tag virtual void visitBinaryElement(TiffBinaryElement* object); //! Check if \em object is an image tag and if so, copy it to the target tree. void copyObject(TiffComponent* object); //@} private: TiffComponent* pRoot_; uint32_t root_; const TiffHeaderBase* pHeader_; const PrimaryGroups* pPrimaryGroups_; }; // class TiffCopier /*! @brief TIFF composite visitor to decode metadata from the TIFF tree and add it to an Image, which is supplied in the constructor (Visitor pattern). Used by TiffParser to decode the metadata from a TIFF composite. */ class TiffDecoder : public TiffVisitor { public: //! @name Creators //@{ /*! @brief Constructor, taking metadata containers to add the metadata to, the root element of the composite to decode and a FindDecoderFct function to get the decoder function for each tag. */ TiffDecoder( ExifData& exifData, IptcData& iptcData, XmpData& xmpData, TiffComponent* const pRoot, FindDecoderFct findDecoderFct ); //! Virtual destructor virtual ~TiffDecoder(); //@} //! @name Manipulators //@{ //! Decode a TIFF entry virtual void visitEntry(TiffEntry* object); //! Decode a TIFF data entry virtual void visitDataEntry(TiffDataEntry* object); //! Decode a TIFF image entry virtual void visitImageEntry(TiffImageEntry* object); //! Decode a TIFF size entry virtual void visitSizeEntry(TiffSizeEntry* object); //! Decode a TIFF directory virtual void visitDirectory(TiffDirectory* object); //! Decode a TIFF sub-IFD virtual void visitSubIfd(TiffSubIfd* object); //! Decode a TIFF makernote virtual void visitMnEntry(TiffMnEntry* object); //! Decode an IFD makernote virtual void visitIfdMakernote(TiffIfdMakernote* object); //! Decode a binary array virtual void visitBinaryArray(TiffBinaryArray* object); //! Decode an element of a binary array virtual void visitBinaryElement(TiffBinaryElement* object); //! Entry function, determines how to decode each tag void decodeTiffEntry(const TiffEntryBase* object); //! Decode a standard TIFF entry void decodeStdTiffEntry(const TiffEntryBase* object); //! Decode IPTC data from an IPTCNAA tag or Photoshop ImageResources void decodeIptc(const TiffEntryBase* object); //! Decode XMP packet from an XMLPacket tag void decodeXmp(const TiffEntryBase* object); //@} private: //! @name Manipulators //@{ /*! @brief Get the data for a \em tag and \em group, either from the \em object provided, if it matches or from the matching element in the hierarchy. Populates \em pData and \em size with the result. If no matching element is found the function leaves both of these parameters unchanged. */ void getObjData(byte const*& pData, long& size, uint16_t tag, IfdId group, const TiffEntryBase* object); //@} private: // DATA ExifData& exifData_; //!< Exif metadata container IptcData& iptcData_; //!< IPTC metadata container XmpData& xmpData_; //!< XMP metadata container TiffComponent* const pRoot_; //!< Root element of the composite const FindDecoderFct findDecoderFct_; //!< Ptr to the function to find special decoding functions std::string make_; //!< Camera make, determined from the tags to decode bool decodedIptc_; //!< Indicates if IPTC has been decoded yet }; // class TiffDecoder /*! @brief TIFF composite visitor to encode metadata from an image to the TIFF tree. The metadata containers and root element of the tree are supplied in the constructor. Used by TiffParserWorker to encode the metadata into a TIFF composite. For non-intrusive writing, the encoder is used as a visitor (by passing it to the accept() member of a TiffComponent). The composite tree is then traversed and metadata from the image is used to encode each existing component. For intrusive writing, add() is called, which loops through the metadata and creates and populates corresponding TiffComponents as needed. */ class TiffEncoder : public TiffVisitor { public: //! @name Creators //@{ /*! @brief Constructor, taking the root element of the composite to encode to, the image with the metadata to encode and a function to find special encoders. */ TiffEncoder( const ExifData& exifData, const IptcData& iptcData, const XmpData& xmpData, TiffComponent* pRoot, const bool isNewImage, const PrimaryGroups* pPrimaryGroups, const TiffHeaderBase* pHeader, FindEncoderFct findEncoderFct ); //! Virtual destructor virtual ~TiffEncoder(); //@} //! @name Manipulators //@{ //! Encode a TIFF entry virtual void visitEntry(TiffEntry* object); //! Encode a TIFF data entry virtual void visitDataEntry(TiffDataEntry* object); //! Encode a TIFF image entry virtual void visitImageEntry(TiffImageEntry* object); //! Encode a TIFF size entry virtual void visitSizeEntry(TiffSizeEntry* object); //! Encode a TIFF directory virtual void visitDirectory(TiffDirectory* object); //! Update directory entries virtual void visitDirectoryNext(TiffDirectory* object); //! Encode a TIFF sub-IFD virtual void visitSubIfd(TiffSubIfd* object); //! Encode a TIFF makernote virtual void visitMnEntry(TiffMnEntry* object); //! Encode an IFD makernote virtual void visitIfdMakernote(TiffIfdMakernote* object); //! Reset encoder to its original state, undo makernote specific settings virtual void visitIfdMakernoteEnd(TiffIfdMakernote* object); //! Encode a binary array virtual void visitBinaryArray(TiffBinaryArray* object); //! Re-encrypt binary array if necessary virtual void visitBinaryArrayEnd(TiffBinaryArray* object); //! Encode an element of a binary array virtual void visitBinaryElement(TiffBinaryElement* object); /*! @brief Top level encoder function. Determines how to encode each TIFF component. This function is called by the visit methods of the encoder as well as the add() method. If no \em datum is provided, search the metadata based on tag and group of the \em object. This is the case if the function is called from a visit method. Then check if a special encoder function is registered for the tag, and if so use it to encode the \em object. Else use the callback encoder function at the object (which results in a double-dispatch to the appropriate encoding function of the encoder. @param object Object in the TIFF component tree to encode. @param datum The corresponding metadatum with the updated value. @note Encoder functions may use metadata other than \em datum. */ void encodeTiffComponent( TiffEntryBase* object, const Exifdatum* datum =0 ); //! Callback encoder function for an element of a binary array. void encodeBinaryElement(TiffBinaryElement* object, const Exifdatum* datum); //! Callback encoder function for a binary array. void encodeBinaryArray(TiffBinaryArray* object, const Exifdatum* datum); //! Callback encoder function for a data entry. void encodeDataEntry(TiffDataEntry* object, const Exifdatum* datum); //! Callback encoder function for a standard TIFF entry void encodeTiffEntry(TiffEntry* object, const Exifdatum* datum); //! Callback encoder function for an image entry. void encodeImageEntry(TiffImageEntry* object, const Exifdatum* datum); //! Callback encoder function for a %Makernote entry. void encodeMnEntry(TiffMnEntry* object, const Exifdatum* datum); //! Callback encoder function for a size entry. void encodeSizeEntry(TiffSizeEntry* object, const Exifdatum* datum); //! Callback encoder function for a sub-IFD entry. void encodeSubIfd(TiffSubIfd* object, const Exifdatum* datum); //! Special encoder function for the base part of a TIFF entry. void encodeTiffEntryBase(TiffEntryBase* object, const Exifdatum* datum); //! Special encoder function for an offset entry. void encodeOffsetEntry(TiffEntryBase* object, const Exifdatum* datum); //! Special encoder function to encode SubIFD contents to Image group if it contains primary image data // Todo void encodeNikonSubIfd(TiffEntryBase* object, const Exifdatum* datum); //! Special encoder function to encode IPTC data to an IPTCNAA or Photoshop ImageResources tag. void encodeIptc(TiffEntryBase* object, const Exifdatum* datum); /*! @brief Add metadata from image to the TIFF composite. For each Exif metadatum, the corresponding TiffComponent is created if necessary and populated using encodeTiffComponent(). The add() function is used during intrusive writing, to create a new TIFF structure. @note For non-intrusive writing, the encoder is used as a visitor (by passing it to the accept() member of a TiffComponent). The composite tree is then traversed and metadata from the image is used to encode each existing component. */ void add( TiffComponent* pRootDir, TiffComponent* pSourceDir, uint32_t root ); //! Set the dirty flag and end of traversing signal. void setDirty(bool flag =true); //@} //! @name Accessors //@{ /*! @brief Return the applicable byte order. May be different for the Makernote and the rest of the TIFF entries. */ ByteOrder byteOrder() const { return byteOrder_; } /*! @brief True if any tag was deleted or allocated in the process of visiting a TIFF composite tree. */ bool dirty() const; //! Return the write method used. WriteMethod writeMethod() const { return writeMethod_; } //@} private: //! @name Manipulators //@{ /*! Encode IPTC data. Updates or adds tag Exif.Image.IPTCNAA, updates but never adds tag Exif.Image.ImageResources. This method is called from the constructor. */ void encodeIptc(); /*! Encode XMP data. Adds tag Exif.Image.XMLPacket with the XMP packet. This method is called from the constructor. */ void encodeXmp(); //@} //! @name Accessors //@{ /*! @brief Update a directory entry. This is called after all directory entries are encoded. It takes care of type and count changes and size shrinkage for non-intrusive writing. */ uint32_t updateDirEntry(byte* buf, ByteOrder byteOrder, TiffComponent* pTiffComponent) const; /*! @brief Check if the tag is an image tag of an existing image. Such tags are copied from the original image and can't be modifed. The condition is true if there is an existing image (as opposed to a newly created TIFF image) and \em tag, \em group is considered an image tag of this image - whether or not it's actually present in the existing image doesn't matter. */ bool isImageTag(uint16_t tag, IfdId group) const; //@} private: // DATA ExifData exifData_; //!< Copy of the Exif data to encode const IptcData& iptcData_; //!< IPTC data to encode, just a reference const XmpData& xmpData_; //!< XMP data to encode, just a reference bool del_; //!< Indicates if Exif data entries should be deleted after encoding const TiffHeaderBase* pHeader_; //!< TIFF image header TiffComponent* pRoot_; //!< Root element of the composite const bool isNewImage_; //!< True if the TIFF image is created from scratch const PrimaryGroups* pPrimaryGroups_; //!< List of primary image groups TiffComponent* pSourceTree_; //!< Parsed source tree for reference ByteOrder byteOrder_; //!< Byteorder for encoding ByteOrder origByteOrder_; //!< Byteorder as set in the c'tor const FindEncoderFct findEncoderFct_; //!< Ptr to the function to find special encoding functions std::string make_; //!< Camera make, determined from the tags to encode bool dirty_; //!< Signals if any tag is deleted or allocated WriteMethod writeMethod_; //!< Write method used. }; // class TiffEncoder /*! @brief Simple state class containing relevant state information for the TIFF reader. This is in a separate class so that the reader can change state if needed (e.g., to read certain complex makernotes). */ class TiffRwState { public: //! @name Creators //@{ //! Constructor. TiffRwState(ByteOrder byteOrder, uint32_t baseOffset) : byteOrder_(byteOrder), baseOffset_(baseOffset) {} //@} //! @name Accessors //@{ /*! @brief Return the applicable byte order. May be different for the Makernote and the rest of the TIFF entries. */ ByteOrder byteOrder() const { return byteOrder_; } /*! @brief Return the base offset. TIFF standard format uses byte offsets which are always relative to the start of the TIFF file, i.e., relative to the start of the TIFF image header. In this case, the base offset is 0. However, some camera vendors encode their makernotes in TIFF IFDs using offsets relative to (somewhere near) the start of the makernote data. In this case, base offset added to the start of the TIFF image header points to the basis for such makernote offsets. */ uint32_t baseOffset() const { return baseOffset_; } //@} private: ByteOrder byteOrder_; uint32_t baseOffset_; }; // TiffRwState /*! @brief TIFF composite visitor to read the TIFF structure from a block of memory and build the composite from it (Visitor pattern). Used by TiffParser to read the TIFF data from a block of memory. */ class TiffReader : public TiffVisitor { public: //! @name Creators //@{ /*! @brief Constructor. The data buffer and table describing the TIFF structure of the data are set in the constructor. @param pData Pointer to the data buffer, starting with a TIFF header. @param size Number of bytes in the data buffer. @param pRoot Root element of the TIFF composite. @param state State object for creation function, byte order and base offset. */ TiffReader(const byte* pData, uint32_t size, TiffComponent* pRoot, TiffRwState state); //! Virtual destructor virtual ~TiffReader(); //@} //! @name Manipulators //@{ //! Read a TIFF entry from the data buffer virtual void visitEntry(TiffEntry* object); //! Read a TIFF data entry from the data buffer virtual void visitDataEntry(TiffDataEntry* object); //! Read a TIFF image entry from the data buffer virtual void visitImageEntry(TiffImageEntry* object); //! Read a TIFF size entry from the data buffer virtual void visitSizeEntry(TiffSizeEntry* object); //! Read a TIFF directory from the data buffer virtual void visitDirectory(TiffDirectory* object); //! Read a TIFF sub-IFD from the data buffer virtual void visitSubIfd(TiffSubIfd* object); //! Read a TIFF makernote entry from the data buffer virtual void visitMnEntry(TiffMnEntry* object); //! Read an IFD makernote from the data buffer virtual void visitIfdMakernote(TiffIfdMakernote* object); //! Reset reader to its original state, undo makernote specific settings virtual void visitIfdMakernoteEnd(TiffIfdMakernote* object); //! Read a binary array from the data buffer virtual void visitBinaryArray(TiffBinaryArray* object); //! Read an element of a binary array from the data buffer virtual void visitBinaryElement(TiffBinaryElement* object); //! Read a standard TIFF entry from the data buffer void readTiffEntry(TiffEntryBase* object); //! Read a TiffDataEntryBase from the data buffer void readDataEntryBase(TiffDataEntryBase* object); /*! @brief Set the \em state of the reader to one suitable for the Makernote. Uses the \em state passed in, if any, and remembers it for use during subsequent calls without any argument. */ void setMnState(const TiffRwState* state =0); //! Set the state to the original state as set in the constructor. void setOrigState(); //! Check IFD directory pointer \em start for circular reference bool circularReference(const byte* start, IfdId group); //! Return the next idx sequence number for \em group int nextIdx(IfdId group); /*! @brief Read deferred components. This function is called after the TIFF composite is read by passing a TiffReader to the accept() function of the root component. It reads all components for which reading was deferred during that pass. This is usually done to make sure that all other components are accessible at the time the deferred components are processed. */ void postProcess(); //@} //! @name Accessors //@{ //! Return the byte order. ByteOrder byteOrder() const; //! Return the base offset. See class TiffRwState for details uint32_t baseOffset() const; //@} private: typedef std::map DirList; typedef std::map IdxSeq; typedef std::vector PostList; // DATA const byte* pData_; //!< Pointer to the memory buffer const uint32_t size_; //!< Size of the buffer const byte* pLast_; //!< Pointer to the last byte TiffComponent* const pRoot_; //!< Root element of the composite TiffRwState* pState_; //!< Pointer to the state in effect (origState_ or mnState_) TiffRwState origState_; //!< State class as set in the c'tor TiffRwState mnState_; //!< State class as set in the c'tor or by setMnState() DirList dirList_; //!< List of IFD pointers and their groups IdxSeq idxSeq_; //!< Sequences for group, used for the entry's idx PostList postList_; //!< List of components with deferred reading bool postProc_; //!< True in postProcessList() }; // class TiffReader }} // namespace Internal, Exiv2 #endif // #ifndef TIFFVISITOR_INT_HPP_ exiv2-0.25/src/image.cpp0000664000175000017500000004626012535324477014714 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: image.cpp Version: $Rev: 3846 $ Author(s): Andreas Huggel (ahu) Brad Schick (brad) History: 26-Jan-04, ahu: created 11-Feb-04, ahu: isolated as a component 19-Jul-04, brad: revamped to be more flexible and support Iptc 15-Jan-05, brad: inside-out design changes */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: image.cpp 3846 2015-06-08 14:39:59Z ahuggel $") // included header files #include "config.h" #include "image.hpp" #include "image_int.hpp" #include "error.hpp" #include "futils.hpp" #include "cr2image.hpp" #include "crwimage.hpp" #include "epsimage.hpp" #include "jpgimage.hpp" #include "mrwimage.hpp" #ifdef EXV_HAVE_LIBZ # include "pngimage.hpp" #endif // EXV_HAVE_LIBZ #include "rafimage.hpp" #include "tiffimage.hpp" #include "orfimage.hpp" #include "gifimage.hpp" #include "psdimage.hpp" #include "tgaimage.hpp" #include "bmpimage.hpp" #include "jp2image.hpp" #ifdef EXV_ENABLE_VIDEO #include "matroskavideo.hpp" #include "quicktimevideo.hpp" #include "riffvideo.hpp" #include "asfvideo.hpp" #endif // EXV_ENABLE_VIDEO #include "rw2image.hpp" #include "pgfimage.hpp" #include "xmpsidecar.hpp" // + standard includes #include #include #include #include #include #include #include #include #ifdef _MSC_VER # define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif #ifdef EXV_HAVE_UNISTD_H # include // stat #endif // ***************************************************************************** namespace { using namespace Exiv2; //! Struct for storing image types and function pointers. struct Registry { //! Comparison operator to compare a Registry structure with an image type bool operator==(const int& imageType) const { return imageType == imageType_; } // DATA int imageType_; NewInstanceFct newInstance_; IsThisTypeFct isThisType_; AccessMode exifSupport_; AccessMode iptcSupport_; AccessMode xmpSupport_; AccessMode commentSupport_; }; const Registry registry[] = { //image type creation fct type check Exif mode IPTC mode XMP mode Comment mode //--------------- --------------- ---------- ----------- ----------- ----------- ------------ { ImageType::jpeg, newJpegInstance, isJpegType, amReadWrite, amReadWrite, amReadWrite, amReadWrite }, { ImageType::exv, newExvInstance, isExvType, amReadWrite, amReadWrite, amReadWrite, amReadWrite }, { ImageType::cr2, newCr2Instance, isCr2Type, amReadWrite, amReadWrite, amReadWrite, amNone }, { ImageType::crw, newCrwInstance, isCrwType, amReadWrite, amNone, amNone, amReadWrite }, { ImageType::mrw, newMrwInstance, isMrwType, amRead, amRead, amRead, amNone }, { ImageType::tiff, newTiffInstance, isTiffType, amReadWrite, amReadWrite, amReadWrite, amNone }, { ImageType::dng, newTiffInstance, isTiffType, amReadWrite, amReadWrite, amReadWrite, amNone }, { ImageType::nef, newTiffInstance, isTiffType, amReadWrite, amReadWrite, amReadWrite, amNone }, { ImageType::pef, newTiffInstance, isTiffType, amReadWrite, amReadWrite, amReadWrite, amNone }, { ImageType::arw, newTiffInstance, isTiffType, amRead, amRead, amRead, amNone }, { ImageType::rw2, newRw2Instance, isRw2Type, amRead, amRead, amRead, amNone }, { ImageType::sr2, newTiffInstance, isTiffType, amRead, amRead, amRead, amNone }, { ImageType::srw, newTiffInstance, isTiffType, amReadWrite, amReadWrite, amReadWrite, amNone }, { ImageType::orf, newOrfInstance, isOrfType, amReadWrite, amReadWrite, amReadWrite, amNone }, #ifdef EXV_HAVE_LIBZ { ImageType::png, newPngInstance, isPngType, amReadWrite, amReadWrite, amReadWrite, amReadWrite }, #endif // EXV_HAVE_LIBZ { ImageType::pgf, newPgfInstance, isPgfType, amReadWrite, amReadWrite, amReadWrite, amReadWrite }, { ImageType::raf, newRafInstance, isRafType, amRead, amRead, amRead, amNone }, { ImageType::eps, newEpsInstance, isEpsType, amNone, amNone, amReadWrite, amNone }, { ImageType::xmp, newXmpInstance, isXmpType, amReadWrite, amReadWrite, amReadWrite, amNone }, { ImageType::gif, newGifInstance, isGifType, amNone, amNone, amNone, amNone }, { ImageType::psd, newPsdInstance, isPsdType, amRead, amRead, amRead, amNone }, { ImageType::tga, newTgaInstance, isTgaType, amNone, amNone, amNone, amNone }, { ImageType::bmp, newBmpInstance, isBmpType, amNone, amNone, amNone, amNone }, { ImageType::jp2, newJp2Instance, isJp2Type, amReadWrite, amReadWrite, amReadWrite, amNone }, #ifdef EXV_ENABLE_VIDEO { ImageType::qtime,newQTimeInstance,isQTimeType,amRead, amNone, amRead, amNone }, { ImageType::riff, newRiffInstance, isRiffType, amRead, amNone, amRead, amNone }, { ImageType::asf, newAsfInstance, isAsfType, amNone, amNone, amRead, amNone }, { ImageType::mkv, newMkvInstance, isMkvType, amNone, amNone, amRead, amNone }, #endif // EXV_ENABLE_VIDEO // End of list marker { ImageType::none, 0, 0, amNone, amNone, amNone, amNone } }; } // ***************************************************************************** // class member definitions namespace Exiv2 { Image::Image(int imageType, uint16_t supportedMetadata, BasicIo::AutoPtr io) : io_(io), pixelWidth_(0), pixelHeight_(0), imageType_(imageType), supportedMetadata_(supportedMetadata), #ifdef EXV_HAVE_XMP_TOOLKIT writeXmpFromPacket_(false), #else writeXmpFromPacket_(true), #endif byteOrder_(invalidByteOrder) { } Image::~Image() { } void Image::printStructure(std::ostream&, PrintStructureOption) { throw Error(13, io_->path()); } void Image::clearMetadata() { clearExifData(); clearIptcData(); clearXmpPacket(); clearXmpData(); clearComment(); } ExifData& Image::exifData() { return exifData_; } IptcData& Image::iptcData() { return iptcData_; } XmpData& Image::xmpData() { return xmpData_; } std::string& Image::xmpPacket() { return xmpPacket_; } void Image::setMetadata(const Image& image) { if (checkMode(mdExif) & amWrite) { setExifData(image.exifData()); } if (checkMode(mdIptc) & amWrite) { setIptcData(image.iptcData()); } if (checkMode(mdXmp) & amWrite) { setXmpPacket(image.xmpPacket()); setXmpData(image.xmpData()); } if (checkMode(mdComment) & amWrite) { setComment(image.comment()); } } void Image::clearExifData() { exifData_.clear(); } void Image::setExifData(const ExifData& exifData) { exifData_ = exifData; } void Image::clearIptcData() { iptcData_.clear(); } void Image::setIptcData(const IptcData& iptcData) { iptcData_ = iptcData; } void Image::clearXmpPacket() { xmpPacket_.clear(); writeXmpFromPacket(true); } void Image::setXmpPacket(const std::string& xmpPacket) { xmpPacket_ = xmpPacket; writeXmpFromPacket(true); } void Image::clearXmpData() { xmpData_.clear(); writeXmpFromPacket(false); } void Image::setXmpData(const XmpData& xmpData) { xmpData_ = xmpData; writeXmpFromPacket(false); } void Image::writeXmpFromPacket(bool flag) { #ifdef EXV_HAVE_XMP_TOOLKIT writeXmpFromPacket_ = flag; #endif } void Image::clearComment() { comment_.erase(); } void Image::setComment(const std::string& comment) { comment_ = comment; } void Image::setByteOrder(ByteOrder byteOrder) { byteOrder_ = byteOrder; } ByteOrder Image::byteOrder() const { return byteOrder_; } int Image::pixelWidth() const { return pixelWidth_; } int Image::pixelHeight() const { return pixelHeight_; } const ExifData& Image::exifData() const { return exifData_; } const IptcData& Image::iptcData() const { return iptcData_; } const XmpData& Image::xmpData() const { return xmpData_; } std::string Image::comment() const { return comment_; } const std::string& Image::xmpPacket() const { return xmpPacket_; } BasicIo& Image::io() const { return *io_; } bool Image::writeXmpFromPacket() const { return writeXmpFromPacket_; } const NativePreviewList& Image::nativePreviews() const { return nativePreviews_; } bool Image::good() const { if (io_->open() != 0) return false; IoCloser closer(*io_); return ImageFactory::checkType(imageType_, *io_, false); } bool Image::supportsMetadata(MetadataId metadataId) const { return (supportedMetadata_ & metadataId) != 0; } AccessMode Image::checkMode(MetadataId metadataId) const { return ImageFactory::checkMode(imageType_, metadataId); } AccessMode ImageFactory::checkMode(int type, MetadataId metadataId) { const Registry* r = find(registry, type); if (!r) throw Error(13, type); AccessMode am = amNone; switch (metadataId) { case mdNone: break; case mdExif: am = r->exifSupport_; break; case mdIptc: am = r->iptcSupport_; break; case mdXmp: am = r->xmpSupport_; break; case mdComment: am = r->commentSupport_; break; // no default: let the compiler complain } return am; } bool ImageFactory::checkType(int type, BasicIo& io, bool advance) { const Registry* r = find(registry, type); if (0 != r) { return r->isThisType_(io, advance); } return false; } // ImageFactory::checkType int ImageFactory::getType(const std::string& path) { FileIo fileIo(path); return getType(fileIo); } #ifdef EXV_UNICODE_PATH int ImageFactory::getType(const std::wstring& wpath) { FileIo fileIo(wpath); return getType(fileIo); } #endif int ImageFactory::getType(const byte* data, long size) { MemIo memIo(data, size); return getType(memIo); } int ImageFactory::getType(BasicIo& io) { if (io.open() != 0) return ImageType::none; IoCloser closer(io); for (unsigned int i = 0; registry[i].imageType_ != ImageType::none; ++i) { if (registry[i].isThisType_(io, false)) { return registry[i].imageType_; } } return ImageType::none; } // ImageFactory::getType BasicIo::AutoPtr ImageFactory::createIo(const std::string& path, bool useCurl) { Protocol fProt = fileProtocol(path); #if EXV_USE_SSH == 1 if (fProt == pSsh || fProt == pSftp) { return BasicIo::AutoPtr(new SshIo(path)); // may throw } #endif #if EXV_USE_CURL == 1 if (useCurl && (fProt == pHttp || fProt == pHttps || fProt == pFtp)) { return BasicIo::AutoPtr(new CurlIo(path)); // may throw } #endif if (fProt == pHttp) return BasicIo::AutoPtr(new HttpIo(path)); // may throw if (fProt == pFileUri) return BasicIo::AutoPtr(new FileIo(pathOfFileUrl(path))); if (fProt == pStdin || fProt == pDataUri) return BasicIo::AutoPtr(new XPathIo(path)); // may throw return BasicIo::AutoPtr(new FileIo(path)); (void)(useCurl); } // ImageFactory::createIo #ifdef EXV_UNICODE_PATH BasicIo::AutoPtr ImageFactory::createIo(const std::wstring& wpath, bool useCurl) { Protocol fProt = fileProtocol(wpath); #if EXV_USE_SSH == 1 if (fProt == pSsh || fProt == pSftp) { return BasicIo::AutoPtr(new SshIo(wpath)); } #endif #if EXV_USE_CURL == 1 if (useCurl && (fProt == pHttp || fProt == pHttps || fProt == pFtp)) { return BasicIo::AutoPtr(new CurlIo(wpath)); } #endif if (fProt == pHttp) return BasicIo::AutoPtr(new HttpIo(wpath)); if (fProt == pFileUri) return BasicIo::AutoPtr(new FileIo(pathOfFileUrl(wpath))); if (fProt == pStdin || fProt == pDataUri) return BasicIo::AutoPtr(new XPathIo(wpath)); // may throw return BasicIo::AutoPtr(new FileIo(wpath)); } // ImageFactory::createIo #endif Image::AutoPtr ImageFactory::open(const std::string& path, bool useCurl) { Image::AutoPtr image = open(ImageFactory::createIo(path, useCurl)); // may throw if (image.get() == 0) throw Error(11, path); return image; } #ifdef EXV_UNICODE_PATH Image::AutoPtr ImageFactory::open(const std::wstring& wpath, bool useCurl) { Image::AutoPtr image = open(ImageFactory::createIo(wpath, useCurl)); // may throw if (image.get() == 0) throw WError(11, wpath); return image; } #endif Image::AutoPtr ImageFactory::open(const byte* data, long size) { BasicIo::AutoPtr io(new MemIo(data, size)); Image::AutoPtr image = open(io); // may throw if (image.get() == 0) throw Error(12); return image; } Image::AutoPtr ImageFactory::open(BasicIo::AutoPtr io) { if (io->open() != 0) { throw Error(9, io->path(), strError()); } for (unsigned int i = 0; registry[i].imageType_ != ImageType::none; ++i) { if (registry[i].isThisType_(*io, false)) { return registry[i].newInstance_(io, false); } } return Image::AutoPtr(); } // ImageFactory::open Image::AutoPtr ImageFactory::create(int type, const std::string& path) { std::auto_ptr fileIo(new FileIo(path)); // Create or overwrite the file, then close it if (fileIo->open("w+b") != 0) { throw Error(10, path, "w+b", strError()); } fileIo->close(); BasicIo::AutoPtr io(fileIo); Image::AutoPtr image = create(type, io); if (image.get() == 0) throw Error(13, type); return image; } #ifdef EXV_UNICODE_PATH Image::AutoPtr ImageFactory::create(int type, const std::wstring& wpath) { std::auto_ptr fileIo(new FileIo(wpath)); // Create or overwrite the file, then close it if (fileIo->open("w+b") != 0) { throw WError(10, wpath, "w+b", strError().c_str()); } fileIo->close(); BasicIo::AutoPtr io(fileIo); Image::AutoPtr image = create(type, io); if (image.get() == 0) throw Error(13, type); return image; } #endif Image::AutoPtr ImageFactory::create(int type) { BasicIo::AutoPtr io(new MemIo); Image::AutoPtr image = create(type, io); if (image.get() == 0) throw Error(13, type); return image; } Image::AutoPtr ImageFactory::create(int type, BasicIo::AutoPtr io) { // BasicIo instance does not need to be open const Registry* r = find(registry, type); if (0 != r) { return r->newInstance_(io, true); } return Image::AutoPtr(); } // ImageFactory::create // ***************************************************************************** // template, inline and free functions void append(Blob& blob, const byte* buf, uint32_t len) { if (len != 0) { assert(buf != 0); Blob::size_type size = blob.size(); if (blob.capacity() - size < len) { blob.reserve(size + 65536); } blob.resize(size + len); std::memcpy(&blob[size], buf, len); } } // append } // namespace Exiv2 namespace Exiv2 { namespace Internal { std::string stringFormat(const char* format, ...) { std::string result; int need = (int) std::strlen(format)*2; // initial guess char* buffer = NULL; int again = 4; int rc = -1; while (rc < 0 && again--) { if ( buffer ) delete[] buffer; need *= 2 ; buffer = new char[need]; if ( buffer ) { va_list args; // variable arg list va_start(args, format); // args start after format rc=vsnprintf(buffer,(unsigned int)need, format, args); va_end(args); // free the args } } if ( rc > 0 ) result = std::string(buffer) ; if ( buffer ) delete[] buffer; // free buffer return result; } std::string binaryToString(DataBuf& buf, size_t size, size_t start /*=0*/) { std::string result = ""; byte* buff = buf.pData_; size += start; while (start < size) { int c = (int) buff[start++] ; bool bTrailingNull = c == 0 && start == size; if ( !bTrailingNull ) { if (c < ' ' || c > 127) c = '.' ; result += (char) c ; } } return result; } }} // namespace Internal, Exiv2 exiv2-0.25/src/metadatum.cpp0000664000175000017500000000503112521135474015572 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: metadatum.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) Brad Schick (brad) History: 26-Jan-04, ahu: created 31-Jul-04, brad: isolated as a component */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: metadatum.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // ***************************************************************************** // included header files #include "metadatum.hpp" // + standard includes #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { Key::~Key() { } Key::AutoPtr Key::clone() const { return AutoPtr(clone_()); } Key& Key::operator=(const Key& /*rhs*/) { return *this; } Metadatum::Metadatum() { } Metadatum::Metadatum(const Metadatum& /*rhs*/) { } Metadatum::~Metadatum() { } Metadatum& Metadatum::operator=(const Metadatum& /*rhs*/) { return *this; } std::string Metadatum::print(const ExifData* pMetadata) const { std::ostringstream os; write(os, pMetadata); return os.str(); } bool cmpMetadataByTag(const Metadatum& lhs, const Metadatum& rhs) { return lhs.tag() < rhs.tag(); } bool cmpMetadataByKey(const Metadatum& lhs, const Metadatum& rhs) { return lhs.key() < rhs.key(); } } // namespace Exiv2 exiv2-0.25/src/rafimage.cpp0000664000175000017500000001205512521135474015370 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: rafimage.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 05-Feb-07, ahu: created Credits: See header file */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: rafimage.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "rafimage.hpp" #include "tiffimage.hpp" #include "image.hpp" #include "basicio.hpp" #include "error.hpp" #include "futils.hpp" // + standard includes #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { RafImage::RafImage(BasicIo::AutoPtr io, bool /*create*/) : Image(ImageType::raf, mdExif | mdIptc | mdXmp, io) { } // RafImage::RafImage std::string RafImage::mimeType() const { return "image/x-fuji-raf"; } int RafImage::pixelWidth() const { Exiv2::ExifData::const_iterator widthIter = exifData_.findKey(Exiv2::ExifKey("Exif.Photo.PixelXDimension")); if (widthIter != exifData_.end() && widthIter->count() > 0) { return widthIter->toLong(); } return 0; } int RafImage::pixelHeight() const { Exiv2::ExifData::const_iterator heightIter = exifData_.findKey(Exiv2::ExifKey("Exif.Photo.PixelYDimension")); if (heightIter != exifData_.end() && heightIter->count() > 0) { return heightIter->toLong(); } return 0; } void RafImage::setExifData(const ExifData& /*exifData*/) { // Todo: implement me! throw(Error(32, "Exif metadata", "RAF")); } void RafImage::setIptcData(const IptcData& /*iptcData*/) { // Todo: implement me! throw(Error(32, "IPTC metadata", "RAF")); } void RafImage::setComment(const std::string& /*comment*/) { // not supported throw(Error(32, "Image comment", "RAF")); } void RafImage::readMetadata() { #ifdef DEBUG std::cerr << "Reading RAF file " << io_->path() << "\n"; #endif if (io_->open() != 0) throw Error(9, io_->path(), strError()); IoCloser closer(*io_); // Ensure that this is the correct image type if (!isRafType(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "RAF"); } byte const* pData = io_->mmap(); long size = io_->size(); if (size < 88 + 4) throw Error(14); // includes the test for -1 uint32_t const start = getULong(pData + 84, bigEndian) + 12; if (static_cast(size) < start) throw Error(14); clearMetadata(); ByteOrder bo = TiffParser::decode(exifData_, iptcData_, xmpData_, pData + start, size - start); exifData_["Exif.Image2.JPEGInterchangeFormat"] = getULong(pData + 84, bigEndian); exifData_["Exif.Image2.JPEGInterchangeFormatLength"] = getULong(pData + 88, bigEndian); setByteOrder(bo); } // RafImage::readMetadata void RafImage::writeMetadata() { //! Todo: implement me! throw(Error(31, "RAF")); } // RafImage::writeMetadata // ************************************************************************* // free functions Image::AutoPtr newRafInstance(BasicIo::AutoPtr io, bool create) { Image::AutoPtr image(new RafImage(io, create)); if (!image->good()) { image.reset(); } return image; } bool isRafType(BasicIo& iIo, bool advance) { const int32_t len = 8; byte buf[len]; iIo.read(buf, len); if (iIo.error() || iIo.eof()) { return false; } int rc = memcmp(buf, "FUJIFILM", 8); if (!advance || rc != 0) { iIo.seek(-len, BasicIo::cur); } return rc == 0; } } // namespace Exiv2 exiv2-0.25/src/olympusmn_int.hpp0000664000175000017500000001430312521135474016535 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file olympusmn_int.hpp @brief Olympus makernote tags.
References:
[1] Exif file format, Appendix 1: MakerNote of Olympus Digicams by TsuruZoh Tachibanaya
[2] ExifTool by Phil Harvey
[3] Olympus Makernote Format Specification by Evan Hunter
[4] email communication with Will Stokes @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @author Will Stokes (wuz) wstokes@gmail.com @author Gilles Caulier (gc) caulier dot gilles at gmail dot com @author Greg Mansfield G.Mansfield at computer dot org @date 10-Mar-05, wuz: created */ #ifndef OLYMPUSMN_INT_HPP_ #define OLYMPUSMN_INT_HPP_ // ***************************************************************************** // included header files #include "tags.hpp" #include "types.hpp" // + standard includes #include #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { namespace Internal { // ***************************************************************************** // class definitions //! MakerNote for Olympus cameras class OlympusMakerNote { public: //! Return read-only list of built-in Olympus tags static const TagInfo* tagList(); //! Return read-only list of built-in Olympus Camera Settings tags static const TagInfo* tagListCs(); //! Return read-only list of built-in Olympus Equipment tags static const TagInfo* tagListEq(); //! Return read-only list of built-in Olympus Raw Development tags static const TagInfo* tagListRd(); //! Return read-only list of built-in Olympus Raw Development 2 tags static const TagInfo* tagListRd2(); //! Return read-only list of built-in Olympus Image Processing tags static const TagInfo* tagListIp(); //! Return read-only list of built-in Olympus Focus Info tags static const TagInfo* tagListFi(); //! Return read-only list of built-in Olympus FE tags static const TagInfo* tagListFe(); //! Return read-only list of built-in Olympus Raw Info tags static const TagInfo* tagListRi(); //! @name Print functions for Olympus %MakerNote tags //@{ //! Print 'Special Mode' static std::ostream& print0x0200(std::ostream& os, const Value& value, const ExifData*); //! Print Digital Zoom Factor static std::ostream& print0x0204(std::ostream& os, const Value& value, const ExifData*); //! Print White Balance Mode static std::ostream& print0x1015(std::ostream& os, const Value& value, const ExifData*); //! Print Olympus equipment Lens type static std::ostream& print0x0201(std::ostream& os, const Value& value, const ExifData*); //! Print Olympus CamerID static std::ostream& print0x0209(std::ostream& os, const Value& value, const ExifData*); //! Print Olympus equipment Extender static std::ostream& printEq0x0301(std::ostream& os, const Value& value, const ExifData*); //! Print Olympus camera settings Focus Mode static std::ostream& printCs0x0301(std::ostream& os, const Value& value, const ExifData*); //! Print Olympus camera settings Gradation static std::ostream& print0x050f(std::ostream& os, const Value& value, const ExifData*); //! Print Olympus camera settings Noise Filter static std::ostream& print0x0527(std::ostream& os, const Value& value, const ExifData*); //! Print Olympus ArtFilter static std::ostream& print0x0529(std::ostream& os, const Value& value, const ExifData*); //! Print Olympus focus info ManualFlash static std::ostream& print0x1209(std::ostream& os, const Value& value, const ExifData*); //! Print Olympus focus distance static std::ostream& print0x0305(std::ostream& os, const Value& value, const ExifData*); //! Print Olympus focus info AF Point static std::ostream& print0x0308(std::ostream& os, const Value& value, const ExifData*); //! Print Olympus generic static std::ostream& printGeneric(std::ostream& os, const Value& value, const ExifData*); //@} private: //! Tag information static const TagInfo tagInfo_[]; static const TagInfo tagInfoCs_[]; static const TagInfo tagInfoEq_[]; static const TagInfo tagInfoRd_[]; static const TagInfo tagInfoRd2_[]; static const TagInfo tagInfoIp_[]; static const TagInfo tagInfoFi_[]; static const TagInfo tagInfoFe_[]; static const TagInfo tagInfoRi_[]; }; // class OlympusMakerNote }} // namespace Internal, Exiv2 #endif // #ifndef OLYMPUSMN_INT_HPP_ exiv2-0.25/src/tiff-test.cpp0000664000175000017500000000440411027153701015512 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // tiff-test.cpp, $Rev: 1512 $ // TIFF writer tests. #include "tiffimage.hpp" #include "exif.hpp" #include "error.hpp" #include #include /* Tests: + All types of components + Makernotes + Data entries, thumbnails + Special use-cases + IFD1 + Multiple sub-IFDs + Comment + Other/unknown TIFF types */ using namespace Exiv2; void print(const ExifData& exifData); int main() try { BasicIo::AutoPtr io(new FileIo("image.tif")); TiffImage tiffImage(io, false); ExifData& exifData = tiffImage.exifData(); exifData["Exif.Image.ImageWidth"] = uint32_t(42); exifData["Exif.Image.ImageLength"] = 24; exifData["Exif.Image.Model"] = "Model"; exifData["Exif.Image.Make"] = "FujiFilm"; exifData["Exif.Photo.0x0001"] = "Just for fun"; exifData["Exif.Iop.RelatedImageFileFormat"] = "TIFF"; exifData["Exif.Photo.InteroperabilityTag"] = uint32_t(132); // for non-intrusive writing exifData["Exif.Image.ExifTag"] = uint32_t(89); // for non-intrusive writingti exifData.setJpegThumbnail("exiv2-empty.jpg"); // The setJpegThumbnail method sets this to 0. //exifData["Exif.Thumbnail.JPEGInterchangeFormat"] = uint32_t(197); print(exifData); tiffImage.writeMetadata(); return 0; } catch (const Error& e) { std::cerr << e << "\n"; return 1; } void print(const ExifData& exifData) { if (exifData.empty()) { std::string error("No Exif data found in the file"); throw Exiv2::Error(1, error); } Exiv2::ExifData::const_iterator end = exifData.end(); for (Exiv2::ExifData::const_iterator i = exifData.begin(); i != end; ++i) { std::cout << std::setw(44) << std::setfill(' ') << std::left << i->key() << " " << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << i->tag() << " " << std::setw(9) << std::setfill(' ') << std::left << i->typeName() << " " << std::dec << std::setw(3) << std::setfill(' ') << std::right << i->count() << " " << std::dec << i->value() << "\n"; } } exiv2-0.25/src/canonmn.cpp0000664000175000017500000031227012527520007015244 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: canonmn.cpp Version: $Rev: 3835 $ Author(s): Andreas Huggel (ahu) David Cannings (dc) Andi Clemens (ac) */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: canonmn.cpp 3835 2015-05-22 03:18:31Z nkbj $") // ***************************************************************************** // included header files #include "types.hpp" #include "canonmn_int.hpp" #include "tags_int.hpp" #include "value.hpp" #include "exif.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include #include #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { //! OffOn, multiple tags extern const TagDetails canonOffOn[] = { { 0, N_("Off") }, { 1, N_("On") } }; //! Special treatment pretty-print function for non-unique lens ids. std::ostream& printCsLensByFocalLengthAndMaxAperture(std::ostream& os, const Value& value, const ExifData* metadata); std::ostream& printCsLensByFocalLength(std::ostream& os, const Value& value, const ExifData* metadata); //! ModelId, tag 0x0010 extern const TagDetails canonModelId[] = { { (long int)0x1010000, "PowerShot A30" }, { (long int)0x1040000, "PowerShot S300 / Digital IXUS 300 / IXY Digital 300" }, { (long int)0x1060000, "PowerShot A20" }, { (long int)0x1080000, "PowerShot A10" }, { (long int)0x1090000, "PowerShot S110 / Digital IXUS v / IXY Digital 200" }, { (long int)0x1100000, "PowerShot G2" }, { (long int)0x1110000, "PowerShot S40" }, { (long int)0x1120000, "PowerShot S30" }, { (long int)0x1130000, "PowerShot A40" }, { (long int)0x1140000, "EOS D30" }, { (long int)0x1150000, "PowerShot A100" }, { (long int)0x1160000, "PowerShot S200 / Digital IXUS v2 / IXY Digital 200a" }, { (long int)0x1170000, "PowerShot A200" }, { (long int)0x1180000, "PowerShot S330 / Digital IXUS 330 / IXY Digital 300a" }, { (long int)0x1190000, "PowerShot G3" }, { (long int)0x1210000, "PowerShot S45" }, { (long int)0x1230000, "PowerShot SD100 / Digital IXUS II / IXY Digital 30" }, { (long int)0x1240000, "PowerShot S230 / Digital IXUS v3 / IXY Digital 320" }, { (long int)0x1250000, "PowerShot A70" }, { (long int)0x1260000, "PowerShot A60" }, { (long int)0x1270000, "PowerShot S400 / Digital IXUS 400 / IXY Digital 400" }, { (long int)0x1290000, "PowerShot G5" }, { (long int)0x1300000, "PowerShot A300" }, { (long int)0x1310000, "PowerShot S50" }, { (long int)0x1340000, "PowerShot A80" }, { (long int)0x1350000, "PowerShot SD10 / Digital IXUS i / IXY Digital L" }, { (long int)0x1360000, "PowerShot S1 IS" }, { (long int)0x1370000, "PowerShot Pro1" }, { (long int)0x1380000, "PowerShot S70" }, { (long int)0x1390000, "PowerShot S60" }, { (long int)0x1400000, "PowerShot G6" }, { (long int)0x1410000, "PowerShot S500 / Digital IXUS 500 / IXY Digital 500" }, { (long int)0x1420000, "PowerShot A75" }, { (long int)0x1440000, "PowerShot SD110 / Digital IXUS IIs / IXY Digital 30a" }, { (long int)0x1450000, "PowerShot A400" }, { (long int)0x1470000, "PowerShot A310" }, { (long int)0x1490000, "PowerShot A85" }, { (long int)0x1520000, "PowerShot S410 / Digital IXUS 430 / IXY Digital 450" }, { (long int)0x1530000, "PowerShot A95" }, { (long int)0x1540000, "PowerShot SD300 / Digital IXUS 40 / IXY Digital 50" }, { (long int)0x1550000, "PowerShot SD200 / Digital IXUS 30 / IXY Digital 40" }, { (long int)0x1560000, "PowerShot A520" }, { (long int)0x1570000, "PowerShot A510" }, { (long int)0x1590000, "PowerShot SD20 / Digital IXUS i5 / IXY Digital L2" }, { (long int)0x1640000, "PowerShot S2 IS" }, { (long int)0x1650000, "PowerShot SD430 / IXUS Wireless / IXY Wireless" }, { (long int)0x1660000, "PowerShot SD500 / Digital IXUS 700 / IXY Digital 600" }, { (long int)0x1668000, "EOS D60" }, { (long int)0x1700000, "PowerShot SD30 / Digital IXUS i zoom / IXY Digital L3" }, { (long int)0x1740000, "PowerShot A430" }, { (long int)0x1750000, "PowerShot A410" }, { (long int)0x1760000, "PowerShot S80" }, { (long int)0x1780000, "PowerShot A620" }, { (long int)0x1790000, "PowerShot A610" }, { (long int)0x1800000, "PowerShot SD630 / Digital IXUS 65 / IXY Digital 80" }, { (long int)0x1810000, "PowerShot SD450 / Digital IXUS 55 / IXY Digital 60" }, { (long int)0x1820000, "PowerShot TX1" }, { (long int)0x1870000, "PowerShot SD400 / Digital IXUS 50 / IXY Digital 55" }, { (long int)0x1880000, "PowerShot A420" }, { (long int)0x1890000, "PowerShot SD900 / Digital IXUS 900 Ti / IXY Digital 1000" }, { (long int)0x1900000, "PowerShot SD550 / Digital IXUS 750 / IXY Digital 700" }, { (long int)0x1920000, "PowerShot A700" }, { (long int)0x1940000, "PowerShot SD700 IS / Digital IXUS 800 IS / IXY Digital 800 IS" }, { (long int)0x1950000, "PowerShot S3 IS" }, { (long int)0x1960000, "PowerShot A540" }, { (long int)0x1970000, "PowerShot SD600 / Digital IXUS 60 / IXY Digital 70" }, { (long int)0x1980000, "PowerShot G7" }, { (long int)0x1990000, "PowerShot A530" }, { (long int)0x2000000, "PowerShot SD800 IS / Digital IXUS 850 IS / IXY Digital 900 IS" }, { (long int)0x2010000, "PowerShot SD40 / Digital IXUS i7 / IXY Digital L4" }, { (long int)0x2020000, "PowerShot A710 IS" }, { (long int)0x2030000, "PowerShot A640" }, { (long int)0x2040000, "PowerShot A630" }, { (long int)0x2090000, "PowerShot S5 IS" }, { (long int)0x2100000, "PowerShot A460" }, { (long int)0x2120000, "PowerShot SD850 IS / Digital IXUS 950 IS" }, { (long int)0x2130000, "PowerShot A570 IS" }, { (long int)0x2140000, "PowerShot A560" }, { (long int)0x2150000, "PowerShot SD750 / Digital IXUS 75 / IXY Digital 90" }, { (long int)0x2160000, "PowerShot SD1000 / Digital IXUS 70 / IXY Digital 10" }, { (long int)0x2180000, "PowerShot A550" }, { (long int)0x2190000, "PowerShot A450" }, { (long int)0x2230000, "PowerShot G9" }, { (long int)0x2240000, "PowerShot A650 IS" }, { (long int)0x2260000, "PowerShot A720 IS" }, { (long int)0x2290000, "PowerShot SX100 IS" }, { (long int)0x2300000, "PowerShot SD950 IS / Digital IXUS 960 IS / IXY Digital 2000 IS" }, { (long int)0x2310000, "PowerShot SD870 IS / Digital IXUS 860 IS / IXY Digital 910 IS" }, { (long int)0x2320000, "PowerShot SD890 IS / Digital IXUS 970 IS / IXY Digital 820 IS" }, { (long int)0x2360000, "PowerShot SD790 IS / Digital IXUS 90 IS / IXY Digital 95 IS" }, { (long int)0x2370000, "PowerShot SD770 IS / Digital IXUS 85 IS / IXY Digital 25 IS" }, { (long int)0x2380000, "PowerShot A590 IS" }, { (long int)0x2390000, "PowerShot A580" }, { (long int)0x2420000, "PowerShot A470" }, { (long int)0x2430000, "PowerShot SD1100 IS / Digital IXUS 80 IS / IXY Digital 20 IS" }, { (long int)0x2460000, "PowerShot SX1 IS" }, { (long int)0x2470000, "PowerShot SX10 IS" }, { (long int)0x2480000, "PowerShot A1000 IS" }, { (long int)0x2490000, "PowerShot G10" }, { (long int)0x2510000, "PowerShot A2000 IS" }, { (long int)0x2520000, "PowerShot SX110 IS" }, { (long int)0x2530000, "PowerShot SD990 IS / Digital IXUS 980 IS / IXY Digital 3000 IS" }, { (long int)0x2540000, "PowerShot SD880 IS / Digital IXUS 870 IS / IXY Digital 920 IS" }, { (long int)0x2550000, "PowerShot E1" }, { (long int)0x2560000, "PowerShot D10" }, { (long int)0x2570000, "PowerShot SD960 IS / Digital IXUS 110 IS / IXY Digital 510 IS" }, { (long int)0x2580000, "PowerShot A2100 IS" }, { (long int)0x2590000, "PowerShot A480" }, { (long int)0x2600000, "PowerShot SX200 IS" }, { (long int)0x2610000, "PowerShot SD970 IS / Digital IXUS 990 IS / IXY Digital 830 IS" }, { (long int)0x2620000, "PowerShot SD780 IS / Digital IXUS 100 IS / IXY Digital 210 IS" }, { (long int)0x2630000, "PowerShot A1100 IS" }, { (long int)0x2640000, "PowerShot SD1200 IS / Digital IXUS 95 IS / IXY Digital 110 IS" }, { (long int)0x2700000, "PowerShot G11" }, { (long int)0x2710000, "PowerShot SX120 IS" }, { (long int)0x2720000, "PowerShot S90" }, { (long int)0x2750000, "PowerShot SX20 IS" }, { (long int)0x2760000, "PowerShot SD980 IS / Digital IXUS 200 IS / IXY Digital 930 IS" }, { (long int)0x2770000, "PowerShot SD940 IS / Digital IXUS 120 IS / IXY Digital 220 IS" }, { (long int)0x2800000, "PowerShot A495" }, { (long int)0x2810000, "PowerShot A490" }, { (long int)0x2820000, "PowerShot A3100 IS / A3150 IS" }, { (long int)0x2830000, "PowerShot A3000 IS" }, { (long int)0x2840000, "PowerShot SD1400 IS / IXUS 130 / IXY 400F" }, { (long int)0x2850000, "PowerShot SD1300 IS / IXUS 105 / IXY 200F" }, { (long int)0x2860000, "PowerShot SD3500 IS / IXUS 210 / IXY 10S" }, { (long int)0x2870000, "PowerShot SX210 IS" }, { (long int)0x2880000, "PowerShot SD4000 IS / IXUS 300 HS / IXY 30S" }, { (long int)0x2890000, "PowerShot SD4500 IS / IXUS 1000 HS / IXY 50S" }, { (long int)0x2920000, "PowerShot G12" }, { (long int)0x2930000, "PowerShot SX30 IS" }, { (long int)0x2940000, "PowerShot SX130 IS" }, { (long int)0x2950000, "PowerShot S95" }, { (long int)0x2980000, "PowerShot A3300 IS" }, { (long int)0x2990000, "PowerShot A3200 IS" }, { (long int)0x3000000, "PowerShot ELPH 500 HS / IXUS 310 HS / IXY 31S" }, { (long int)0x3010000, "PowerShot Pro90 IS" }, { (long int)0x3010001, "PowerShot A800" }, { (long int)0x3020000, "PowerShot ELPH 100 HS / IXUS 115 HS / IXY 210F" }, { (long int)0x3030000, "PowerShot SX230 HS" }, { (long int)0x3040000, "PowerShot ELPH 300 HS / IXUS 220 HS / IXY 410F" }, { (long int)0x3050000, "PowerShot A2200" }, { (long int)0x3060000, "PowerShot A1200" }, { (long int)0x3070000, "PowerShot SX220 HS" }, { (long int)0x3080000, "PowerShot G1 X" }, { (long int)0x3090000, "PowerShot SX150 IS" }, { (long int)0x3100000, "PowerShot ELPH 510 HS / IXUS 1100 HS / IXY 51S" }, { (long int)0x3110000, "PowerShot S100 (new)" }, { (long int)0x3130000, "PowerShot SX40 HS" }, { (long int)0x3120000, "PowerShot ELPH 310 HS / IXUS 230 HS / IXY 600F" }, { (long int)0x3140000, "IXY 32S" }, { (long int)0x3160000, "PowerShot A1300" }, { (long int)0x3170000, "PowerShot A810" }, { (long int)0x3180000, "PowerShot ELPH 320 HS / IXUS 240 HS / IXY 420F" }, { (long int)0x3190000, "PowerShot ELPH 110 HS / IXUS 125 HS / IXY 220F" }, { (long int)0x3200000, "PowerShot D20" }, { (long int)0x3210000, "PowerShot A4000 IS" }, { (long int)0x3220000, "PowerShot SX260 HS" }, { (long int)0x3230000, "PowerShot SX240 HS" }, { (long int)0x3240000, "PowerShot ELPH 530 HS / IXUS 510 HS / IXY 1" }, { (long int)0x3250000, "PowerShot ELPH 520 HS / IXUS 500 HS / IXY 3" }, { (long int)0x3260000, "PowerShot A3400 IS" }, { (long int)0x3270000, "PowerShot A2400 IS" }, { (long int)0x3280000, "PowerShot A2300" }, { (long int)0x3330000, "PowerShot G15" }, { (long int)0x3340000, "PowerShot SX50" }, { (long int)0x3350000, "PowerShot SX160 IS" }, { (long int)0x3360000, "PowerShot S110 (new)" }, { (long int)0x3370000, "PowerShot SX500 IS" }, { (long int)0x3380000, "PowerShot N" }, { (long int)0x3390000, "IXUS 245 HS / IXY 430F" }, { (long int)0x3400000, "PowerShot SX280 HS" }, { (long int)0x3410000, "PowerShot SX270 HS" }, { (long int)0x3420000, "PowerShot A3500 IS" }, { (long int)0x3430000, "PowerShot A2600" }, { (long int)0x3450000, "PowerShot A1400" }, { (long int)0x3460000, "PowerShot ELPH 130 IS / IXUS 140 / IXY 110F" }, { (long int)0x3470000, "PowerShot ELPH 115/120 IS / IXUS 132/135 / IXY 90F/100F" }, { (long int)0x3490000, "PowerShot ELPH 330 HS / IXUS 255 HS / IXY 610F" }, { (long int)0x3510000, "PowerShot A2500" }, { (long int)0x3540000, "PowerShot G16" }, { (long int)0x3550000, "PowerShot S120" }, { (long int)0x3560000, "PowerShot SX170 IS" }, { (long int)0x3580000, "PowerShot SX510 HS" }, { (long int)0x3590000, "PowerShot S200 (new)" }, { (long int)0x3600000, "IXY 620F" }, { (long int)0x3610000, "PowerShot N100" }, { (long int)0x3640000, "PowerShot G1 X Mark II" }, { (long int)0x3650000, "PowerShot D30" }, { (long int)0x3660000, "PowerShot SX700 HS" }, { (long int)0x3670000, "PowerShot SX600 HS" }, { (long int)0x3680000, "PowerShot ELPH 140 IS / IXUS 150 / IXY 130" }, { (long int)0x3690000, "PowerShot ELPH 135 / IXUS 145 / IXY 120" }, { (long int)0x3700000, "PowerShot ELPH 340 HS / IXUS 265 HS / IXY 630" }, { (long int)0x3710000, "PowerShot ELPH 150 IS / IXUS 155 / IXY 140" }, { (long int)0x3740000, "EOS M3" }, { (long int)0x3750000, "PowerShot SX60 HS" }, { (long int)0x3760000, "PowerShot SX520 HS" }, { (long int)0x3770000, "PowerShot SX400 IS" }, { (long int)0x3780000, "PowerShot G7 X" }, { (long int)0x3790000, "PowerShot N2" }, { (long int)0x3800000, "PowerShot SX530 HS" }, { (long int)0x3820000, "PowerShot SX710 HS" }, { (long int)0x3830000, "PowerShot SX610 HS" }, { (long int)0x3870000, "PowerShot ELPH 160 / IXUS 160" }, { (long int)0x3890000, "PowerShot ELPH 170 IS / IXUS 170" }, { (long int)0x3910000, "PowerShot SX410 HS" }, { (long int)0x4040000, "PowerShot G1" }, { (long int)0x6040000, "PowerShot S100 / Digital IXUS / IXY Digital" }, { (long int)0x4007d673, "DC19/DC21/DC22" }, { (long int)0x4007d674, "XH A1" }, { (long int)0x4007d675, "HV10" }, { (long int)0x4007d676, "MD130/MD140/MD150/MD160/ZR850" }, { (long int)0x4007d777, "DC50" }, { (long int)0x4007d778, "HV20" }, { (long int)0x4007d779, "DC211" }, { (long int)0x4007d77a, "HG10" }, { (long int)0x4007d77b, "HR10" }, { (long int)0x4007d77c, "MD255/ZR950" }, { (long int)0x4007d81c, "HF11" }, { (long int)0x4007d878, "HV30" }, { (long int)0x4007d87c, "XH A1S" }, { (long int)0x4007d87e, "DC301/DC310/DC311/DC320/DC330" }, { (long int)0x4007d87f, "FS100" }, { (long int)0x4007d880, "HF10" }, { (long int)0x4007d882, "HG20/HG21" }, { (long int)0x4007d925, "HF21" }, { (long int)0x4007d926, "HF S11" }, { (long int)0x4007d978, "HV40" }, { (long int)0x4007d987, "DC410/DC411/DC420" }, { (long int)0x4007d988, "FS19/FS20/FS21/FS22/FS200" }, { (long int)0x4007d989, "HF20/HF200" }, { (long int)0x4007d98a, "HF S10/S100" }, { (long int)0x4007da8e, "HF R10/R16/R17/R18/R100/R106" }, { (long int)0x4007da8f, "HF M30/M31/M36/M300/M306" }, { (long int)0x4007da90, "HF S20/S21/S200" }, { (long int)0x4007da92, "FS31/FS36/FS37/FS300/FS305/FS306/FS307" }, { (long int)0x4007dda9, "HF G25" }, { (long int)0x80000001, "EOS-1D" }, { (long int)0x80000167, "EOS-1DS" }, { (long int)0x80000168, "EOS 10D" }, { (long int)0x80000169, "EOS-1D Mark III" }, { (long int)0x80000170, "EOS Digital Rebel / 300D / Kiss Digital" }, { (long int)0x80000174, "EOS-1D Mark II" }, { (long int)0x80000175, "EOS 20D" }, { (long int)0x80000176, "EOS Digital Rebel XSi / 450D / Kiss X2" }, { (long int)0x80000188, "EOS-1Ds Mark II" }, { (long int)0x80000189, "EOS Digital Rebel XT / 350D / Kiss Digital N" }, { (long int)0x80000190, "EOS 40D" }, { (long int)0x80000213, "EOS 5D" }, { (long int)0x80000215, "EOS-1Ds Mark III" }, { (long int)0x80000218, "EOS 5D Mark II" }, { (long int)0x80000219, "WFT-E1" }, { (long int)0x80000232, "EOS-1D Mark II N" }, { (long int)0x80000234, "EOS 30D" }, { (long int)0x80000236, "EOS Digital Rebel XTi / 400D / Kiss Digital X" }, { (long int)0x80000241, "WFT-E2" }, { (long int)0x80000246, "WFT-E3" }, { (long int)0x80000250, "EOS 7D" }, { (long int)0x80000252, "EOS Rebel T1i / 500D / Kiss X3" }, { (long int)0x80000254, "EOS Rebel XS / 1000D / Kiss F" }, { (long int)0x80000261, "EOS 50D" }, { (long int)0x80000269, "EOS-1D X" }, { (long int)0x80000270, "EOS Rebel T2i / 550D / Kiss X4" }, { (long int)0x80000271, "WFT-E4" }, { (long int)0x80000273, "WFT-E5" }, { (long int)0x80000281, "EOS-1D Mark IV" }, { (long int)0x80000285, "EOS 5D Mark III" }, { (long int)0x80000286, "EOS Rebel T3i / 600D / Kiss X5" }, { (long int)0x80000287, "EOS 60D" }, { (long int)0x80000288, "EOS Rebel T3 / 1100D / Kiss X50" }, { (long int)0x80000289, "EOS 7D Mark II" }, { (long int)0x80000297, "WFT-E2 II" }, { (long int)0x80000298, "WFT-E4 II" }, { (long int)0x80000301, "EOS Rebel T4i / 650D / Kiss X6i" }, { (long int)0x80000302, "EOS 6D" }, { (long int)0x80000324, "EOS-1D C" }, { (long int)0x80000325, "EOS 70D" }, { (long int)0x80000326, "EOS Rebel T5i / 700D / Kiss X7i" }, { (long int)0x80000327, "EOS Rebel T5 / 1200D / Kiss X70" }, { (long int)0x80000331, "EOS M" }, { (long int)0x80000355, "EOS M2" }, { (long int)0x80000346, "EOS Rebel SL1 / 100D / Kiss X7" }, { (long int)0x80000347, "EOS Rebel T6s / 760D / 8000D" }, { (long int)0x80000382, "EOS 5DS" }, { (long int)0x80000393, "EOS Rebel T6i / 750D / Kiss X8i" }, { (long int)0x80000401, "EOS 5DS R" } }; //! SerialNumberFormat, tag 0x0015 extern const TagDetails canonSerialNumberFormat[] = { { (long int)0x90000000, N_("Format 1") }, { (long int)0xa0000000, N_("Format 2") }, }; //! SuperMacro, tag 0x001a extern const TagDetails canonSuperMacro[] = { { 0, N_("Off") }, { 1, N_("On (1)") }, { 2, N_("On (2)") } }; //! ColorSpace, tag 0x00b4 extern const TagDetails canonColorSpace[] = { { 1, N_("sRGB") }, { 2, N_("Adobe RGB") } }; // Canon MakerNote Tag Info const TagInfo CanonMakerNote::tagInfo_[] = { TagInfo(0x0000, "0x0000", "0x0000", N_("Unknown"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0001, "CameraSettings", N_("Camera Settings"), N_("Various camera settings"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0002, "FocalLength", N_("Focal Length"), N_("Focal length"), canonId, makerTags, unsignedShort, -1, printFocalLength), TagInfo(0x0003, "0x0003", "0x0003", N_("Unknown"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0004, "ShotInfo", N_("Shot Info"), N_("Shot information"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0005, "Panorama", N_("Panorama"), N_("Panorama"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0006, "ImageType", N_("Image Type"), N_("Image type"), canonId, makerTags, asciiString, -1, printValue), TagInfo(0x0007, "FirmwareVersion", N_("Firmware Version"), N_("Firmware version"), canonId, makerTags, asciiString, -1, printValue), TagInfo(0x0008, "FileNumber", N_("File Number"), N_("File number"), canonId, makerTags, unsignedLong, -1, print0x0008), TagInfo(0x0009, "OwnerName", N_("Owner Name"), N_("Owner Name"), canonId, makerTags, asciiString, -1, printValue), TagInfo(0x000c, "SerialNumber", N_("Serial Number"), N_("Camera serial number"), canonId, makerTags, unsignedLong, -1, print0x000c), TagInfo(0x000d, "CameraInfo", N_("Camera Info"), N_("Camera info"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x000f, "CustomFunctions", N_("Custom Functions"), N_("Custom Functions"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0010, "ModelID", N_("ModelID"), N_("Model ID"), canonId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(canonModelId)), TagInfo(0x0012, "PictureInfo", N_("Picture Info"), N_("Picture info"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0013, "ThumbnailImageValidArea", N_("Thumbnail Image Valid Area"), N_("Thumbnail image valid area"), canonId, makerTags, signedShort, -1, printValue), TagInfo(0x0015, "SerialNumberFormat", N_("Serial Number Format"), N_("Serial number format"), canonId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(canonSerialNumberFormat)), TagInfo(0x001a, "SuperMacro", N_("Super Macro"), N_("Super macro"), canonId, makerTags, signedShort, -1, EXV_PRINT_TAG(canonSuperMacro)), TagInfo(0x0026, "AFInfo", N_("AF Info"), N_("AF info"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0083, "OriginalDecisionDataOffset", N_("Original Decision Data Offset"), N_("Original decision data offset"), canonId, makerTags, signedLong, -1, printValue), TagInfo(0x00a4, "WhiteBalanceTable", N_("White Balance Table"), N_("White balance table"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0095, "LensModel", N_("Lens Model"), N_("Lens model"), canonId, makerTags, asciiString, -1, printValue), TagInfo(0x0096, "InternalSerialNumber", N_("Internal Serial Number"), N_("Internal serial number"), canonId, makerTags, asciiString, -1, printValue), TagInfo(0x0097, "DustRemovalData", N_("Dust Removal Data"), N_("Dust removal data"), canonId, makerTags, asciiString, -1, printValue), TagInfo(0x0099, "CustomFunctions", N_("Custom Functions"), N_("Custom functions"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x00a0, "ProcessingInfo", N_("Processing Info"), N_("Processing info"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x00aa, "MeasuredColor", N_("Measured Color"), N_("Measured color"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x00b4, "ColorSpace", N_("ColorSpace"), N_("ColorSpace"), canonId, makerTags, signedShort, -1, EXV_PRINT_TAG(canonColorSpace)), TagInfo(0x00b5, "0x00b5", "0x00b5", N_("Unknown"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x00c0, "0x00c0", "0x00c0", N_("Unknown"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x00c1, "0x00c1", "0x00c1", N_("Unknown"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x00d0, "VRDOffset", N_("VRD Offset"), N_("VRD offset"), canonId, makerTags, unsignedLong, -1, printValue), TagInfo(0x00e0, "SensorInfo", N_("Sensor Info"), N_("Sensor info"), canonId, makerTags, unsignedShort, -1, printValue), TagInfo(0x4001, "ColorData", N_("Color Data"), N_("Color data"), canonId, makerTags, unsignedShort, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownCanonMakerNoteTag)", "(UnknownCanonMakerNoteTag)", N_("Unknown CanonMakerNote tag"), canonId, makerTags, asciiString, -1, printValue) }; const TagInfo* CanonMakerNote::tagList() { return tagInfo_; } //! Macro, tag 0x0001 extern const TagDetails canonCsMacro[] = { { 1, N_("On") }, { 2, N_("Off") } }; //! Quality, tag 0x0003 extern const TagDetails canonCsQuality[] = { { 1, N_("Economy") }, { 2, N_("Normal") }, { 3, N_("Fine") }, { 4, N_("RAW") }, { 5, N_("Superfine") }, { 130, N_("Normal Movie") }, { 131, N_("Movie (2)") } }; //! FlashMode, tag 0x0004 extern const TagDetails canonCsFlashMode[] = { { 0, N_("Off") }, { 1, N_("Auto") }, { 2, N_("On") }, { 3, N_("Red-eye") }, { 4, N_("Slow sync") }, { 5, N_("Auto + red-eye") }, { 6, N_("On + red-eye") }, { 16, N_("External") }, { 16, N_("External") } // To silence compiler warning }; //! DriveMode, tag 0x0005 extern const TagDetails canonCsDriveMode[] = { { 0, N_("Single / timer") }, { 1, N_("Continuous") }, { 2, N_("Movie") }, { 3, N_("Continuous, speed priority") }, { 4, N_("Continuous, low") }, { 5, N_("Continuous, high") } }; //! FocusMode, tag 0x0007 extern const TagDetails canonCsFocusMode[] = { { 0, N_("One shot AF") }, { 1, N_("AI servo AF") }, { 2, N_("AI focus AF") }, { 3, N_("Manual focus") }, { 4, N_("Single") }, { 5, N_("Continuous") }, { 6, N_("Manual focus") }, { 16, N_("Pan focus") }, { 16, N_("Pan focus") } // To silence compiler warning }; //! ImageSize, tag 0x000a extern const TagDetails canonCsImageSize[] = { { 0, N_("Large") }, { 1, N_("Medium") }, { 2, N_("Small") }, { 5, N_("Medium 1") }, { 6, N_("Medium 2") }, { 7, N_("Medium 3") } }; //! EasyMode, tag 0x000b extern const TagDetails canonCsEasyMode[] = { { 0, N_("Full auto") }, { 1, N_("Manual") }, { 2, N_("Landscape") }, { 3, N_("Fast shutter") }, { 4, N_("Slow shutter") }, { 5, N_("Night Scene") }, { 6, N_("Gray scale") }, { 7, N_("Sepia") }, { 8, N_("Portrait") }, { 9, N_("Sports") }, { 10, N_("Macro / close-up") }, { 11, N_("Black & white") }, { 12, N_("Pan focus") }, { 13, N_("Vivid") }, { 14, N_("Neutral") }, { 15, N_("Flash off") }, { 16, N_("Long shutter") }, { 17, N_("Super macro") }, { 18, N_("Foliage") }, { 19, N_("Indoor") }, { 20, N_("Fireworks") }, { 21, N_("Beach") }, { 22, N_("Underwater") }, { 23, N_("Snow") }, { 24, N_("Kids & pets") }, { 25, N_("Night SnapShot") }, { 26, N_("Digital macro") }, { 27, N_("My Colors") }, { 28, N_("Still image") } }; //! DigitalZoom, tag 0x000c extern const TagDetails canonCsDigitalZoom[] = { { 0, N_("None") }, { 1, "2x" }, { 2, "4x" }, { 3, N_("Other") }, { 3, N_("Other") } // To silence compiler warning }; //! Contrast, Saturation Sharpness, tags 0x000d, 0x000e, 0x000f extern const TagDetails canonCsLnh[] = { { 0xffff, N_("Low") }, { 0x0000, N_("Normal") }, { 0x0001, N_("High") } }; //! ISOSpeeds, tag 0x0010 extern const TagDetails canonCsISOSpeed[] = { { 0, N_("n/a") }, { 14, N_("Auto High") }, { 15, N_("Auto") }, { 16, "50" }, { 17, "100" }, { 18, "200" }, { 19, "400" }, { 20, "800" }, { 16464, "80" }, { 16484, "100" }, { 16584, "200" }, { 16784, "400" }, { 17184, "800" }, { 17984, "1600" }, { 19584, "3200" } }; //! MeteringMode, tag 0x0011 extern const TagDetails canonCsMeteringMode[] = { { 0, N_("Default") }, { 1, N_("Spot") }, { 2, N_("Average") }, { 3, N_("Evaluative") }, { 4, N_("Partial") }, { 5, N_("Center weighted") } }; //! FocusType, tag 0x0012 extern const TagDetails canonCsFocusType[] = { { 0, N_("Manual") }, { 1, N_("Auto") }, { 2, N_("Not known") }, { 3, N_("Macro") }, { 4, N_("Very close") }, { 5, N_("Close") }, { 6, N_("Middle range") }, { 7, N_("Far range") }, { 8, N_("Pan focus") }, { 9, N_("Super macro") }, { 10, N_("Infinity") } }; //! AFPoint, tag 0x0013 extern const TagDetails canonCsAfPoint[] = { { 0x2005, N_("Manual AF point selection") }, { 0x3000, N_("None (MF)") }, { 0x3001, N_("Auto-selected") }, { 0x3002, N_("Right") }, { 0x3003, N_("Center") }, { 0x3004, N_("Left") }, { 0x4001, N_("Auto AF point selection") } }; //! ExposureProgram, tag 0x0014 extern const TagDetails canonCsExposureProgram[] = { { 0, N_("Easy shooting (Auto)") }, { 1, N_("Program (P)") }, { 2, N_("Shutter priority (Tv)") }, { 3, N_("Aperture priority (Av)") }, { 4, N_("Manual (M)") }, { 5, N_("A-DEP") }, { 6, N_("M-DEP") } }; //! LensType, tag 0x0016 extern const TagDetails canonCsLensType[] = { { 1, "Canon EF 50mm f/1.8" }, { 2, "Canon EF 28mm f/2.8" }, { 3, "Canon EF 135mm f/2.8 Soft" }, { 4, "Canon EF 35-105mm f/3.5-4.5" }, // 0 { 4, "Sigma UC Zoom 35-135mm f/4-5.6" }, // 1 { 5, "Canon EF 35-70mm f/3.5-4.5" }, { 6, "Canon EF 28-70mm f/3.5-4.5" }, // 0 { 6, "Sigma 18-50mm f/3.5-5.6 DC" }, // 1 { 6, "Sigma 18-125mm f/3.5-5.6 DC IF ASP" }, // 2 { 6, "Tokina AF193-2 19-35mm f/3.5-4.5" }, // 3 { 6, "Sigma 28-80mm f/3.5-5.6 II Macro" }, // 4 { 7, "Canon EF 100-300mm f/5.6L" }, { 8, "Canon EF 100-300mm f/5.6" }, // 0 { 8, "Sigma 70-300mm f/4-5.6 [APO] DG Macro" }, // 1 { 8, "Tokina AT-X 242 AF 24-200mm f/3.5-5.6" }, // 2 { 9, "Canon EF 70-210mm f/4" }, // 0 { 9, "Sigma 55-200mm f/4-5.6 DC" }, // 1 { 10, "Canon EF 50mm f/2.5 Macro" }, // 0 { 10, "Sigma 50mm f/2.8 EX" }, // 1 { 10, "Sigma 28mm f/1.8" }, // 2 { 10, "Sigma 105mm f/2.8 Macro EX" }, // 3 { 10, "Sigma 70mm f/2.8 EX DG Macro EF" }, // 4 { 11, "Canon EF 35mm f/2" }, { 13, "Canon EF 15mm f/2.8 Fisheye" }, { 14, "Canon EF 50-200mm f/3.5-4.5L" }, { 15, "Canon EF 50-200mm f/3.5-4.5" }, { 16, "Canon EF 35-135mm f/3.5-4.5" }, { 17, "Canon EF 35-70mm f/3.5-4.5A" }, { 18, "Canon EF 28-70mm f/3.5-4.5" }, { 20, "Canon EF 100-200mm f/4.5A" }, { 21, "Canon EF 80-200mm f/2.8L" }, { 22, "Canon EF 20-35mm f/2.8L" }, // 0 { 22, "Tokina AT-X 280 AF PRO 28-80mm f/2.8 Aspherical" }, // 1 { 23, "Canon EF 35-105mm f/3.5-4.5" }, { 24, "Canon EF 35-80mm f/4-5.6 Power Zoom" }, { 25, "Canon EF 35-80mm f/4-5.6 Power Zoom" }, { 26, "Canon EF 100mm f/2.8 Macro" }, // 0 { 26, "Cosina 100mm f/3.5 Macro AF" }, // 1 { 26, "Tamron SP AF 90mm f/2.8 Di Macro" }, // 2 { 26, "Tamron SP AF 180mm f/3.5 Di Macro" }, // 3 { 26, "Carl Zeiss Planar T* 50mm f/1.4" }, // 4 { 27, "Canon EF 35-80mm f/4-5.6" }, { 28, "Canon EF 80-200mm f/4.5-5.6" }, // 0 { 28, "Tamron SP AF 28-105mm f/2.8 LD Aspherical IF" }, // 1 { 28, "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical [IF] Macro" }, // 2 { 28, "Tamron AF 70-300mm f/4-5.6 Di LD 1:2 Macro" }, // 3 { 28, "Tamron AF Aspherical 28-200mm f/3.8-5.6" }, // 4 { 29, "Canon EF 50mm f/1.8 II" }, { 30, "Canon EF 35-105mm f/4.5-5.6" }, { 31, "Canon EF 75-300mm f/4-5.6" }, // 0 { 31, "Tamron SP AF 300mm f/2.8 LD IF" }, // 1 { 32, "Canon EF 24mm f/2.8" }, // 0 { 32, "Sigma 15mm f/2.8 EX Fisheye" }, // 1 { 33, "Voigtlander or Carl Zeiss Lens" }, // 0 { 33, "Voigtlander Ultron 40mm f/2 SLII Aspherical" }, // 1 { 33, "Voigtlander Color Skopar 20mm f/3.5 SLII Aspherical" }, // 2 { 33, "Voigtlander APO-Lanthar 90mm f/3.5 SLII Close Focus" }, // 3 { 33, "Carl Zeiss Distagon 15mm T* f/2.8 ZE" }, // 4 { 33, "Carl Zeiss Distagon 18mm T* f/3.5 ZE" }, // 5 { 33, "Carl Zeiss Distagon 21mm T* f/2.8 ZE" }, // 6 { 33, "Carl Zeiss Distagon 25mm T* f/2 ZE" }, // 7 { 33, "Carl Zeiss Distagon 28mm T* f/2 ZE" }, // 8 { 33, "Carl Zeiss Distagon 35mm T* f/2 ZE" }, // 9 { 33, "Carl Zeiss Distagon 35mm T* f/1.4 ZE" }, // 10 { 33, "Carl Zeiss Planar 50mm T* f/1.4 ZE" }, // 11 { 33, "Carl Zeiss Makro-Planar T* 50mm f/2 ZE" }, // 12 { 33, "Carl Zeiss Makro-Planar T* 100mm f/2 ZE" }, // 13 { 33, "Carl Zeiss Apo-Sonnar T* 135mm f/2 ZE" }, // 14 { 35, "Canon EF 35-80mm f/4-5.6" }, { 36, "Canon EF 38-76mm f/4.5-5.6" }, { 37, "Canon EF 35-80mm f/4-5.6" }, // 0 { 37, "Tamron 70-200mm f/2.8 Di LD IF Macro" }, // 1 { 37, "Tamron AF 28-300mm f/3.5-6.3 XR Di VC LD Aspherical [IF] Macro Model A20" }, // 2 { 37, "Tamron SP AF 17-50mm f/2.8 XR Di II VC LD Aspherical [IF] " }, // 3 { 37, "Tamron AF 18-270mm f/3.5-6.3 Di II VC LD Aspherical [IF] Macro" }, // 4 { 38, "Canon EF 80-200mm f/4.5-5.6" }, { 39, "Canon EF 75-300mm f/4-5.6" }, { 40, "Canon EF 28-80mm f/3.5-5.6" }, { 41, "Canon EF 28-90mm f/4-5.6" }, { 42, "Canon EF 28-200mm f/3.5-5.6" }, // 0 { 42, "Tamron AF 28-300mm f/3.5-6.3 XR Di VC LD Aspherical [IF] Macro Model A20" }, // 1 { 43, "Canon EF 28-105mm f/4-5.6" }, { 44, "Canon EF 90-300mm f/4.5-5.6" }, { 45, "Canon EF-S 18-55mm f/3.5-5.6" }, { 46, "Canon EF 28-90mm f/4-5.6" }, { 48, "Canon EF-S 18-55mm f/3.5-5.6 IS" }, { 49, "Canon EF-S 55-250mm f/4-5.6 IS" }, { 50, "Canon EF-S 18-200mm f/3.5-5.6 IS" }, { 51, "Canon EF-S 18-135mm f/3.5-5.6 IS" }, { 52, "Canon EF-S 18-55mm f/3.5-5.6 IS II" }, { 53, "Canon EF-S 18-55mm f/3.5-5.6 III" }, { 54, "Canon EF-S 55-250mm f/4-5.6 IS II" }, { 94, "Canon TS-E 17mm f/4L" }, { 95, "Canon TS-E 24.0mm f/3.5 L II" }, { 124, "Canon MP-E 65mm f/2.8 1-5x Macro Photo" }, { 125, "Canon TS-E 24mm f/3.5L" }, { 126, "Canon TS-E 45mm f/2.8" }, { 127, "Canon TS-E 90mm f/2.8" }, { 129, "Canon EF 300mm f/2.8L" }, { 130, "Canon EF 50mm f/1.0L" }, { 131, "Canon EF 28-80mm f/2.8-4L" }, // 0 { 131, "Sigma 8mm f/3.5 EX DG Circular Fisheye" }, // 1 { 131, "Sigma 17-35mm f/2.8-4 EX DG Aspherical HSM" }, // 2 { 131, "Sigma 17-70mm f/2.8-4.5 DC Macro" }, // 3 { 131, "Sigma APO 50-150mm f/2.8 EX DC HSM" }, // 4 { 131, "Sigma APO 120-300mm f/2.8 EX DG HSM" }, // 5 { 131, "Sigma 4.5mm F2.8 EX DC HSM Circular Fisheye" }, // 6 { 131, "Sigma 70-200mm f/2.8 APO EX HSM" }, // 7 { 132, "Canon EF 1200mm f/5.6L" }, { 134, "Canon EF 600mm f/4L IS" }, { 135, "Canon EF 200mm f/1.8L" }, { 136, "Canon EF 300mm f/2.8L" }, { 137, "Canon EF 85mm f/1.2L" }, // 0 { 137, "Sigma 18-50mm f/2.8-4.5 DC OS HSM" }, // 1 { 137, "Sigma 50-200mm f/4-5.6 DC OS HSM" }, // 2 { 137, "Sigma 18-250mm f/3.5-6.3 DC OS HSM" }, // 3 { 137, "Sigma 24-70mm f/2.8 IF EX DG HSM" }, // 4 { 137, "Sigma 18-125mm f/3.8-5.6 DC OS HSM" }, // 5 { 137, "Sigma 17-70mm f/2.8-4 DC Macro OS HSM" }, // 6 { 137, "Sigma 17-50mm f/2.8 OS HSM" }, // 7 { 137, "Sigma 18-200mm f/3.5-6.3 II DC OS HSM" }, // 8 { 137, "Tamron AF 18-270mm f/3.5-6.3 Di II VC PZD" }, // 9 { 137, "Sigma 8-16mm f/4.5-5.6 DC HSM" }, // 10 { 137, "Tamron SP 17-50mm f/2.8 XR Di II VC" }, // 11 { 137, "Tamron SP 60mm f/2 Macro Di II" }, // 12 { 137, "Sigma 10-20mm f/3.5 EX DC HSM" }, // 13 { 137, "Tamron SP 24-70mm f/2.8 Di VC USD" }, // 14 { 137, "Sigma 18-35mm f/1.8 DC HSM" }, // 15 { 137, "Sigma 12-24mm f/4.5-5.6 DG HSM II" }, // 16 { 138, "Canon EF 28-80mm f/2.8-4L" }, { 139, "Canon EF 400mm f/2.8L" }, { 140, "Canon EF 500mm f/4.5L" }, { 141, "Canon EF 500mm f/4.5L" }, { 142, "Canon EF 300mm f/2.8L IS" }, { 143, "Canon EF 500mm f/4L IS" }, { 144, "Canon EF 35-135mm f/4-5.6 USM" }, { 145, "Canon EF 100-300mm f/4.5-5.6 USM" }, { 146, "Canon EF 70-210mm f/3.5-4.5 USM" }, { 147, "Canon EF 35-135mm f/4-5.6 USM" }, { 148, "Canon EF 28-80mm f/3.5-5.6 USM" }, { 149, "Canon EF 100mm f/2 USM" }, { 150, "Canon EF 14mm f/2.8L" }, // 0 { 150, "Sigma 20mm EX f/1.8" }, // 1 { 150, "Sigma 30mm f/1.4 DC HSM" }, // 2 { 150, "Sigma 24mm f/1.8 DG Macro EX" }, // 3 { 150, "Sigma 28mm f/1.8 DG Macro EX" }, // 4 { 151, "Canon EF 200mm f/2.8L" }, { 152, "Canon EF 300mm f/4L IS" }, // 0 { 152, "Sigma 12-24mm f/4.5-5.6 EX DG ASPHERICAL HSM" }, // 1 { 152, "Sigma 14mm f/2.8 EX Aspherical HSM" }, // 2 { 152, "Sigma 10-20mm f/4-5.6" }, // 3 { 152, "Sigma 100-300mm f/4" }, // 4 { 153, "Canon EF 35-350mm f/3.5-5.6L" }, // 0 { 153, "Sigma 50-500mm f/4-6.3 APO HSM EX" }, // 1 { 153, "Tamron AF 28-300mm f/3.5-6.3 XR LD Aspherical [IF] Macro" }, // 2 { 153, "Tamron AF 18-200mm f/3.5-6.3 XR Di II LD Aspherical [IF] Macro Model A14" }, // 3 { 153, "Tamron 18-250mm f/3.5-6.3 Di II LD Aspherical [IF] Macro" }, // 4 { 154, "Canon EF 20mm f/2.8 USM" }, { 155, "Canon EF 85mm f/1.8 USM" }, { 156, "Canon EF 28-105mm f/3.5-4.5 USM" }, // 0 { 156, "Tamron SP 70-300mm f/4-5.6 Di VC USD" }, // 1 { 160, "Canon EF 20-35mm f/3.5-4.5 USM" }, // 0 { 160, "Tamron AF 19-35mm f/3.5-4.5" }, // 1 { 160, "Tokina AT-X 124 AF 12-24mm f/4 DX" }, // 2 { 160, "Tokina AT-X 107 AF DX Fish-eye 10-17mm f/3.5-4.5" }, // 3 { 160, "Tokina AT-X 116 PRO DX AF 11-16mm f/2.8" }, // 4 { 161, "Canon EF 28-70mm f/2.8L" }, // 0 { 161, "Sigma 24-70mm EX f/2.8" }, // 1 { 161, "Sigma 28-70mm f/2.8 EX" }, // 2 { 161, "Sigma 24-60mm f/2.8 EX DG" }, // 3 { 161, "Tamron AF 17-50mm f/2.8 Di-II LD Aspherical" }, // 4 { 161, "Tamron 90mm f/2.8" }, // 5 { 161, "Tamron SP AF 17-35mm f/2.8-4 Di LD Aspherical IF" }, // 6 { 161, "Tamron SP AF 28-75mm f/2.8 XR Di LD Aspherical [IF] Macro" }, // 7 { 162, "Canon EF 200mm f/2.8L" }, { 163, "Canon EF 300mm f/4L" }, { 164, "Canon EF 400mm f/5.6L" }, { 165, "Canon EF 70-200mm f/2.8 L" }, { 166, "Canon EF 70-200mm f/2.8 L + 1.4x" }, { 167, "Canon EF 70-200mm f/2.8 L + 2x" }, { 168, "Canon EF 28mm f/1.8 USM" }, { 169, "Canon EF 17-35mm f/2.8L" }, // 0 { 169, "Sigma 18-200mm f/3.5-6.3 DC OS" }, // 1 { 169, "Sigma 15-30mm f/3.5-4.5 EX DG Aspherical" }, // 2 { 169, "Sigma 18-50mm f/2.8 Macro" }, // 3 { 169, "Sigma 50mm f/1.4 EX DG HSM" }, // 4 { 169, "Sigma 85mm f/1.4 EX DG HSM" }, // 5 { 169, "Sigma 30mm f/1.4 EX DC HSM" }, // 6 { 169, "Sigma 35mm f/1.4 DG HSM" }, // 7 { 170, "Canon EF 200mm f/2.8L II" }, { 171, "Canon EF 300mm f/4L" }, { 172, "Canon EF 400mm f/5.6L" }, // 0 { 172, "Sigma 150-600mm f/5-6.3 DG OS HSM | S" }, // 1 { 173, "Canon EF 180mm Macro f/3.5L" }, // 0 { 173, "Sigma 180mm EX HSM Macro f/3.5" }, // 1 { 173, "Sigma APO Macro 150mm f/3.5 EX DG IF HSM" }, // 2 { 174, "Canon EF 135mm f/2L" }, // 0 { 174, "Sigma 70-200mm f/2.8 EX DG APO OS HSM" }, // 1 { 174, "Sigma 50-500mm f/4.5-6.3 APO DG OS HSM" }, // 2 { 174, "Sigma 150-500mm f/5-6.3 APO DG OS HSM" }, // 3 { 175, "Canon EF 400mm f/2.8L" }, { 176, "Canon EF 24-85mm f/3.5-4.5 USM" }, { 177, "Canon EF 300mm f/4L IS" }, { 178, "Canon EF 28-135mm f/3.5-5.6 IS" }, { 179, "Canon EF 24mm f/1.4L" }, { 180, "Canon EF 35mm f/1.4L" }, // 0 { 180, "Sigma 50mm f/1.4 DG HSM | A" }, // 1 { 180, "Sigma 24mm f/1.4 DG HSM | A" }, // 2 { 181, "Canon EF 100-400mm f/4.5-5.6L IS + 1.4x" }, { 182, "Canon EF 100-400mm f/4.5-5.6L IS + 2x" }, { 183, "Canon EF 100-400mm f/4.5-5.6L IS" }, // 0 { 183, "Sigma 150mm f/2.8 EX DG OS HSM APO Macro" }, // 1 { 183, "Sigma 105mm f/2.8 EX DG OS HSM Macro" }, // 2 { 183, "Sigma 180mm f/2.8 EX DG OS HSM APO Macro" }, // 3 { 183, "Sigma 150-600mm f/5-6.3 DG OS HSM | C" }, // 4 { 184, "Canon EF 400mm f/2.8L + 2x" }, { 185, "Canon EF 600mm f/4L IS" }, { 186, "Canon EF 70-200mm f/4L" }, { 187, "Canon EF 70-200mm f/4L + 1.4x" }, { 188, "Canon EF 70-200mm f/4L + 2x" }, { 189, "Canon EF 70-200mm f/4L + 2.8x" }, { 190, "Canon EF 100mm f/2.8 Macro USM" }, { 191, "Canon EF 400mm f/4 DO IS" }, { 193, "Canon EF 35-80mm f/4-5.6 USM" }, { 194, "Canon EF 80-200mm f/4.5-5.6 USM" }, { 195, "Canon EF 35-105mm f/4.5-5.6 USM" }, { 196, "Canon EF 75-300mm f/4-5.6 USM" }, { 197, "Canon EF 75-300mm f/4-5.6 IS USM" }, { 198, "Canon EF 50mm f/1.4 USM" }, // 0 { 198, "Zeiss Otus 55mm f/1.4 ZE" }, // 1 { 198, "Zeiss Otus 85mm f/1.4 ZE" }, // 2 { 199, "Canon EF 28-80mm f/3.5-5.6 USM" }, { 200, "Canon EF 75-300mm f/4-5.6 USM" }, { 201, "Canon EF 28-80mm f/3.5-5.6 USM" }, { 202, "Canon EF 28-80mm f/3.5-5.6 USM IV" }, { 208, "Canon EF 22-55mm f/4-5.6 USM" }, { 209, "Canon EF 55-200mm f/4.5-5.6" }, { 210, "Canon EF 28-90mm f/4-5.6 USM" }, { 211, "Canon EF 28-200mm f/3.5-5.6 USM" }, { 212, "Canon EF 28-105mm f/4-5.6 USM" }, { 213, "Canon EF 90-300mm f/4.5-5.6 USM" }, // 0 { 213, "Tamron SP 150-600mm F/5-6.3 Di VC USD" }, // 1 { 213, "Tamron 16-300mm f/3.5-6.3 Di II VC PZD Macro" }, // 2 { 213, "Tamron SP 70-300mm f/4-5.6 Di VC USD" }, // 3 { 214, "Canon EF-S 18-55mm f/3.5-5.6 USM" }, { 215, "Canon EF 55-200mm f/4.5-5.6 II USM" }, { 217, "Tamron AF 18-270mm f/3.5-6.3 Di II VC PZD" }, { 224, "Canon EF 70-200mm f/2.8L IS" }, { 225, "Canon EF 70-200mm f/2.8L IS + 1.4x" }, { 226, "Canon EF 70-200mm f/2.8L IS + 2x" }, { 227, "Canon EF 70-200mm f/2.8L IS + 2.8x" }, { 228, "Canon EF 28-105mm f/3.5-4.5 USM" }, { 229, "Canon EF 16-35mm f/2.8L" }, { 230, "Canon EF 24-70mm f/2.8L" }, { 231, "Canon EF 17-40mm f/4L" }, { 232, "Canon EF 70-300mm f/4.5-5.6 DO IS USM" }, { 233, "Canon EF 28-300mm f/3.5-5.6L IS" }, { 234, "Canon EF-S 17-85mm f4-5.6 IS USM" }, // 0 { 234, "Tokina AT-X 12-28mm f/4 PRO DX" }, // 1 { 235, "Canon EF-S 10-22mm f/3.5-4.5 USM" }, { 236, "Canon EF-S 60mm f/2.8 Macro USM" }, { 237, "Canon EF 24-105mm f/4L IS" }, { 238, "Canon EF 70-300mm f/4-5.6 IS USM" }, { 239, "Canon EF 85mm f/1.2L II" }, { 240, "Canon EF-S 17-55mm f/2.8 IS USM" }, { 241, "Canon EF 50mm f/1.2L" }, { 242, "Canon EF 70-200mm f/4L IS" }, { 243, "Canon EF 70-200mm f/4L IS + 1.4x" }, { 244, "Canon EF 70-200mm f/4L IS + 2x" }, { 245, "Canon EF 70-200mm f/4L IS + 2.8x" }, { 246, "Canon EF 16-35mm f/2.8L II" }, { 247, "Canon EF 14mm f/2.8L II USM" }, { 248, "Canon EF 200mm f/2L IS" }, { 249, "Canon EF 800mm f/5.6L IS" }, { 250, "Canon EF 24 f/1.4L II" }, { 251, "Canon EF 70-200mm f/2.8L IS II USM" }, { 252, "Canon EF 70-200mm f/2.8L IS II USM + 1.4x" }, { 253, "Canon EF 70-200mm f/2.8L IS II USM + 2x" }, { 254, "Canon EF 100mm f/2.8L Macro IS USM" }, { 255, "Sigma 24-105mm f/4 DG OS HSM | A" }, // 0 { 255, "Sigma 180mm f/2.8 EX DG OS HSM APO Macro" }, // 1 { 488, "Canon EF-S 15-85mm f/3.5-5.6 IS USM" }, { 489, "Canon EF 70-300mm f/4-5.6L IS USM" }, { 490, "Canon EF 8-15mm f/4L Fisheye USM" }, { 491, "Canon EF 300mm f/2.8L IS II USM" }, { 492, "Canon EF 400mm f/2.8L IS II USM" }, { 493, "Canon EF 500mm f/4L IS II USM" }, // 0 { 493, "Canon EF 24-105mm f/4L IS USM" }, // 1 { 494, "Canon EF 600mm f/4.0L IS II USM" }, { 495, "Canon EF 24-70mm f/2.8L II USM" }, { 496, "Canon EF 200-400mm f/4L IS USM" }, { 499, "Canon EF 200-400mm f/4L IS USM + 1.4x" }, { 502, "Canon EF 28mm f/2.8 IS USM" }, { 503, "Canon EF 24mm f/2.8 IS USM" }, { 504, "Canon EF 24-70mm f/4L IS USM" }, { 505, "Canon EF 35mm f/2 IS USM" }, { 506, "Canon EF 400mm f/4 DO IS II USM" }, { 507, "Canon EF 16-35mm f/4L IS USM" }, { 508, "Canon EF 11-24mm f/4L USM" }, { 4142,"Canon EF-S 18-135mm f/3.5-5.6 IS STM" }, { 4143,"Canon EF-M 18-55mm f/3.5-5.6 IS STM" }, // 0 { 4143,"Tamron 18-200mm F/3.5-6.3 Di III VC" }, // 1 { 4144,"Canon EF 40mm f/2.8 STM" }, { 4145,"Canon EF-M 22mm f/2 STM" }, { 4146,"Canon EF-S 18-55mm f/3.5-5.6 IS STM" }, { 4147,"Canon EF-M 11-22mm f/4-5.6 IS STM" }, { 4148,"Canon EF-S 55-250mm f/4-5.6 IS STM" }, { 4149,"Canon EF-M 55-200mm f/4.5-6.3 IS STM" }, { 4150,"Canon EF-S 10-18mm f/4.5-5.6 IS STM" }, { 4152,"Canon EF 24-105mm f/3.5-5.6 IS STM" }, { 4154,"Canon EF-S 24mm f/2.8 STM" }, { 4156,"Canon EF 50mm f/1.8 STM" } }; //! A lens id and a pretty-print function for special treatment of the id. struct LensIdFct { long id_; //!< Lens id PrintFct fct_; //!< Pretty-print function //! Comparison operator for find template bool operator==(long id) const { return id_ == id; } }; //! List of lens ids which require special treatment with the medicine const LensIdFct lensIdFct[] = { { 4, printCsLensByFocalLength }, // not tested { 6, printCsLensByFocalLength }, { 8, printCsLensByFocalLength }, { 9, printCsLensByFocalLength }, { 10, printCsLensByFocalLengthAndMaxAperture }, // works partly { 22, printCsLensByFocalLength }, { 26, printCsLensByFocalLengthAndMaxAperture }, // works partly { 28, printCsLensByFocalLength }, { 31, printCsLensByFocalLength }, { 32, printCsLensByFocalLength }, { 33, printCsLensByFocalLengthAndMaxAperture }, // works partly { 37, printCsLensByFocalLength }, { 42, printCsLensByFocalLength }, { 131, printCsLensByFocalLength }, { 137, printCsLensByFocalLength }, // not tested { 150, printCsLensByFocalLength }, { 152, printCsLensByFocalLength }, { 153, printCsLensByFocalLength }, { 156, printCsLensByFocalLength }, { 160, printCsLensByFocalLength }, { 161, printCsLensByFocalLength }, { 169, printCsLensByFocalLength }, { 172, printCsLensByFocalLength }, // not tested { 173, printCsLensByFocalLength }, // works partly { 174, printCsLensByFocalLength }, // not tested { 180, printCsLensByFocalLength }, { 183, printCsLensByFocalLength }, // not tested { 198, printCsLensByFocalLength }, // not tested { 213, printCsLensByFocalLength }, // not tested { 234, printCsLensByFocalLength }, // not tested { 255, printCsLensByFocalLength }, // not tested { 493, printCsLensByFocalLength }, // not tested { 4143,printCsLensByFocalLength } // not tested }; //! FlashActivity, tag 0x001c extern const TagDetails canonCsFlashActivity[] = { { 0, N_("Did not fire") }, { 1, N_("Fired") } }; //! FlashDetails, tag 0x001d extern const TagDetailsBitmask canonCsFlashDetails[] = { { 0x4000, N_("External flash") }, { 0x2000, N_("Internal flash") }, { 0x0001, N_("Manual") }, { 0x0002, N_("TTL") }, { 0x0004, N_("A-TTL") }, { 0x0008, N_("E-TTL") }, { 0x0010, N_("FP sync enabled") }, { 0x0080, N_("2nd-curtain sync used") }, { 0x0800, N_("FP sync used") } }; //! FocusContinuous, tag 0x0020 extern const TagDetails canonCsFocusContinuous[] = { { 0, N_("Single") }, { 1, N_("Continuous") } }; //! AESetting, tag 0x0021 extern const TagDetails canonCsAESetting[] = { { 0, N_("Normal AE") }, { 1, N_("Exposure compensation") }, { 2, N_("AE lock") }, { 3, N_("AE lock + exposure compensation") }, { 4, N_("No AE") } }; //! ImageStabilization, tag 0x0022 extern const TagDetails canonCsImageStabilization[] = { { 0, N_("Off") }, { 1, N_("On") }, { 2, N_("On, shot only") } }; //! SpotMeteringMode, tag 0x0027 extern const TagDetails canonCsSpotMeteringMode[] = { { 0, N_("Center") }, { 1, N_("AF Point") } }; //! PhotoEffect, tag 0x0028 extern const TagDetails canonCsPhotoEffect[] = { { 0, N_("Off") }, { 1, N_("Vivid") }, { 2, N_("Neutral") }, { 3, N_("Smooth") }, { 4, N_("Sepia") }, { 5, N_("B&W") }, { 6, N_("Custom") }, { 100, N_("My color data") }, { 100, N_("My color data") } // To silence compiler warning }; //! ManualFlashOutput, tag 0x0029 extern const TagDetails canonCsManualFlashOutput[] = { { 0x0000, N_("n/a") }, { 0x0500, N_("Full") }, { 0x0502, N_("Medium") }, { 0x0504, N_("Low") }, { 0x7fff, N_("n/a") } }; //! SRAWQuality, tag 0x002e extern const TagDetails canonCsSRAWQuality[] = { { 0, N_("n/a") }, { 1, N_("sRAW1 (mRAW)") }, { 2, N_("sRAW2 (sRAW)") } }; // Canon Camera Settings Tag Info const TagInfo CanonMakerNote::tagInfoCs_[] = { TagInfo(0x0001, "Macro", N_("Macro"), N_("Macro mode"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsMacro)), TagInfo(0x0002, "Selftimer", N_("Selftimer"), N_("Self timer"), canonCsId, makerTags, signedShort, 1, printCs0x0002), TagInfo(0x0003, "Quality", N_("Quality"), N_("Quality"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsQuality)), TagInfo(0x0004, "FlashMode", N_("Flash Mode"), N_("Flash mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFlashMode)), TagInfo(0x0005, "DriveMode", N_("Drive Mode"), N_("Drive mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsDriveMode)), TagInfo(0x0006, "0x0006", "0x0006", N_("Unknown"), canonCsId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0007, "FocusMode", N_("Focus Mode"), N_("Focus mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFocusMode)), TagInfo(0x0008, "0x0008", "0x0008", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x0009, "0x0009", "0x0009", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x000a, "ImageSize", N_("Image Size"), N_("Image size"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsImageSize)), TagInfo(0x000b, "EasyMode", N_("Easy Mode"), N_("Easy shooting mode"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsEasyMode)), TagInfo(0x000c, "DigitalZoom", N_("Digital Zoom"), N_("Digital zoom"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsDigitalZoom)), TagInfo(0x000d, "Contrast", N_("Contrast"), N_("Contrast setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsLnh)), TagInfo(0x000e, "Saturation", N_("Saturation"), N_("Saturation setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsLnh)), TagInfo(0x000f, "Sharpness", N_("Sharpness"), N_("Sharpness setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsLnh)), TagInfo(0x0010, "ISOSpeed", N_("ISO Speed Mode"), N_("ISO speed setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsISOSpeed)), TagInfo(0x0011, "MeteringMode", N_("Metering Mode"), N_("Metering mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsMeteringMode)), TagInfo(0x0012, "FocusType", N_("Focus Type"), N_("Focus type setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFocusType)), TagInfo(0x0013, "AFPoint", N_("AF Point"), N_("AF point selected"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsAfPoint)), TagInfo(0x0014, "ExposureProgram", N_("Exposure Program"), N_("Exposure mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsExposureProgram)), TagInfo(0x0015, "0x0015", "0x0015", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x0016, "LensType", N_("Lens Type"), N_("Lens type"), canonCsId, makerTags, signedShort, 1, printCsLensType), TagInfo(0x0017, "Lens", N_("Lens"), N_("'long' and 'short' focal length of lens (in 'focal units') and 'focal units' per mm"), canonCsId, makerTags, unsignedShort, 3, printCsLens), TagInfo(0x0018, "ShortFocal", N_("Short Focal"), N_("Short focal"), canonCsId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0019, "FocalUnits", N_("Focal Units"), N_("Focal units"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x001a, "MaxAperture", N_("Max Aperture"), N_("Max aperture"), canonCsId, makerTags, signedShort, 1, printSi0x0015), TagInfo(0x001b, "MinAperture", N_("Min Aperture"), N_("Min aperture"), canonCsId, makerTags, signedShort, 1, printSi0x0015), TagInfo(0x001c, "FlashActivity", N_("Flash Activity"), N_("Flash activity"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFlashActivity)), TagInfo(0x001d, "FlashDetails", N_("Flash Details"), N_("Flash details"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG_BITMASK(canonCsFlashDetails)), TagInfo(0x001e, "0x001e", "0x001e", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x001f, "0x001f", "0x001f", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x0020, "FocusContinuous", N_("Focus Continuous"), N_("Focus continuous setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFocusContinuous)), TagInfo(0x0021, "AESetting", N_("AESetting"), N_("AE setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsAESetting)), TagInfo(0x0022, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsImageStabilization)), TagInfo(0x0023, "DisplayAperture", N_("Display Aperture"), N_("Display aperture"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x0024, "ZoomSourceWidth", N_("Zoom Source Width"), N_("Zoom source width"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x0025, "ZoomTargetWidth", N_("Zoom Target Width"), N_("Zoom target width"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x0026, "0x0026", "0x0026", N_("Unknown"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x0027, "SpotMeteringMode", N_("Spot Metering Mode"), N_("Spot metering mode"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsSpotMeteringMode)), TagInfo(0x0028, "PhotoEffect", N_("Photo Effect"), N_("Photo effect"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsPhotoEffect)), TagInfo(0x0029, "ManualFlashOutput", N_("Manual Flash Output"), N_("Manual flash output"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsSRAWQuality)), TagInfo(0x002a, "ColorTone", N_("Color Tone"), N_("Color tone"), canonCsId, makerTags, signedShort, 1, printValue), TagInfo(0x002e, "SRAWQuality", N_("SRAW Quality Tone"), N_("SRAW quality"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsSRAWQuality)), // End of list marker TagInfo(0xffff, "(UnknownCanonCsTag)", "(UnknownCanonCsTag)", N_("Unknown Canon Camera Settings 1 tag"), canonCsId, makerTags, unsignedShort, 1, printValue) }; const TagInfo* CanonMakerNote::tagListCs() { return tagInfoCs_; } //! WhiteBalance, multiple tags extern const TagDetails canonSiWhiteBalance[] = { { 0, N_("Auto") }, { 1, N_("Daylight") }, { 2, N_("Cloudy") }, { 3, N_("Tungsten") }, { 4, N_("Fluorescent") }, { 5, N_("Flash") }, { 6, N_("Custom") }, { 7, N_("Black & White") }, { 8, N_("Shade") }, { 9, N_("Manual Temperature (Kelvin)") }, { 10, N_("PC Set 1") }, { 11, N_("PC Set 2") }, { 12, N_("PC Set 3") }, { 14, N_("Daylight Fluorescent") }, { 15, N_("Custom 1") }, { 16, N_("Custom 2") }, { 17, N_("Underwater") }, { 18, N_("Custom 3") }, { 19, N_("Custom 3") }, { 20, N_("PC Set 4") }, { 21, N_("PC Set 5") }, { 23, N_("Auto (ambience priority)") } }; //! AFPointUsed, tag 0x000e extern const TagDetailsBitmask canonSiAFPointUsed[] = { { 0x0004, N_("left") }, { 0x0002, N_("center") }, { 0x0001, N_("right") } }; //! FlashBias, tag 0x000f extern const TagDetails canonSiFlashBias[] = { { 0xffc0, "-2 EV" }, { 0xffcc, "-1.67 EV" }, { 0xffd0, "-1.50 EV" }, { 0xffd4, "-1.33 EV" }, { 0xffe0, "-1 EV" }, { 0xffec, "-0.67 EV" }, { 0xfff0, "-0.50 EV" }, { 0xfff4, "-0.33 EV" }, { 0x0000, "0 EV" }, { 0x000c, "0.33 EV" }, { 0x0010, "0.50 EV" }, { 0x0014, "0.67 EV" }, { 0x0020, "1 EV" }, { 0x002c, "1.33 EV" }, { 0x0030, "1.50 EV" }, { 0x0034, "1.67 EV" }, { 0x0040, "2 EV" } }; // Canon Shot Info Tag const TagInfo CanonMakerNote::tagInfoSi_[] = { TagInfo(0x0001, "0x0001", "0x0001", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0002, "ISOSpeed", N_("ISO Speed Used"), N_("ISO speed used"), canonSiId, makerTags, unsignedShort, 1, printSi0x0002), TagInfo(0x0003, "MeasuredEV", N_("Measured EV"), N_("Measured EV"), canonSiId, makerTags, unsignedShort, 1, printSi0x0003), TagInfo(0x0004, "TargetAperture", N_("Target Aperture"), N_("Target Aperture"), canonSiId, makerTags, unsignedShort, 1, printSi0x0015), TagInfo(0x0005, "TargetShutterSpeed", N_("Target Shutter Speed"), N_("Target shutter speed"), canonSiId, makerTags, unsignedShort, 1, printSi0x0016), TagInfo(0x0006, "0x0006", "0x0006", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0007, "WhiteBalance", N_("White Balance"), N_("White balance setting"), canonSiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonSiWhiteBalance)), TagInfo(0x0008, "0x0008", "0x0008", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0009, "Sequence", N_("Sequence"), N_("Sequence number (if in a continuous burst)"), canonSiId, makerTags, unsignedShort, 1, printSi0x0009), TagInfo(0x000a, "0x000a", "0x000a", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x000b, "0x000b", "0x000b", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x000c, "0x000c", "0x000c", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x000d, "0x000d", "0x000d", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x000e, "AFPointUsed", N_("AF Point Used"), N_("AF point used"), canonSiId, makerTags, unsignedShort, 1, printSi0x000e), TagInfo(0x000f, "FlashBias", N_("Flash Bias"), N_("Flash bias"), canonSiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonSiFlashBias)), TagInfo(0x0010, "0x0010", "0x0010", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0011, "0x0011", "0x0011", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0012, "0x0012", "0x0012", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0013, "SubjectDistance", N_("Subject Distance"), N_("Subject distance (units are not clear)"), canonSiId, makerTags, unsignedShort, 1, printSi0x0013), TagInfo(0x0014, "0x0014", "0x0014", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0015, "ApertureValue", N_("Aperture Value"), N_("Aperture"), canonSiId, makerTags, unsignedShort, 1, printSi0x0015), TagInfo(0x0016, "ShutterSpeedValue", N_("Shutter Speed Value"), N_("Shutter speed"), canonSiId, makerTags, unsignedShort, 1, printSi0x0016), TagInfo(0x0017, "MeasuredEV2", N_("Measured EV 2"), N_("Measured EV 2"), canonSiId, makerTags, unsignedShort, 1, printSi0x0017), TagInfo(0x0018, "0x0018", "0x0018", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0019, "0x0019", "0x0019", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x001a, "0x001a", "0x001a", N_("Unknown"), canonSiId, makerTags, unsignedShort, 1, printValue), // End of list marker TagInfo(0xffff, "(UnknownCanonSiTag)", "(UnknownCanonSiTag)", N_("Unknown Canon Camera Settings 2 tag"), canonSiId, makerTags, unsignedShort, 1, printValue) }; const TagInfo* CanonMakerNote::tagListSi() { return tagInfoSi_; } //! PanoramaDirection, tag 0x0005 extern const TagDetails canonPaDirection[] = { { 0, N_("Left to right") }, { 1, N_("Right to left") }, { 2, N_("Bottom to top") }, { 3, N_("Top to bottom") }, { 4, N_("2x2 matrix (Clockwise)") } }; // Canon Panorama Info const TagInfo CanonMakerNote::tagInfoPa_[] = { TagInfo(0x0002, "PanoramaFrame", N_("Panorama Frame"), N_("Panorama frame number"), canonPaId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0005, "PanoramaDirection", N_("Panorama Direction"), N_("Panorama direction"), canonPaId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(canonPaDirection)), // End of list marker TagInfo(0xffff, "(UnknownCanonCs2Tag)", "(UnknownCanonCs2Tag)", N_("Unknown Canon Panorama tag"), canonPaId, makerTags, unsignedShort, 1, printValue) }; const TagInfo* CanonMakerNote::tagListPa() { return tagInfoPa_; } // Canon Custom Function Tag Info const TagInfo CanonMakerNote::tagInfoCf_[] = { TagInfo(0x0001, "NoiseReduction", N_("Noise Reduction"), N_("Long exposure noise reduction"), canonCfId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0002, "ShutterAeLock", N_("Shutter Ae Lock"), N_("Shutter/AE lock buttons"), canonCfId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0003, "MirrorLockup", N_("Mirror Lockup"), N_("Mirror lockup"), canonCfId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0004, "ExposureLevelIncrements", N_("Exposure Level Increments"), N_("Tv/Av and exposure level"), canonCfId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0005, "AFAssist", N_("AF Assist"), N_("AF assist light"), canonCfId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0006, "FlashSyncSpeedAv", N_("Flash Sync Speed Av"), N_("Shutter speed in Av mode"), canonCfId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0007, "AEBSequence", N_("AEB Sequence"), N_("AEB sequence/auto cancellation"), canonCfId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0008, "ShutterCurtainSync", N_("Shutter Curtain Sync"), N_("Shutter curtain sync"), canonCfId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0009, "LensAFStopButton", N_("Lens AF Stop Button"), N_("Lens AF stop button Fn. Switch"), canonCfId, makerTags, unsignedShort, 1, printValue), TagInfo(0x000a, "FillFlashAutoReduction", N_("Fill Flash Auto Reduction"), N_("Auto reduction of fill flash"), canonCfId, makerTags, unsignedShort, 1, printValue), TagInfo(0x000b, "MenuButtonReturn", N_("Menu Button Return"), N_("Menu button return position"), canonCfId, makerTags, unsignedShort, 1, printValue), TagInfo(0x000c, "SetButtonFunction", N_("Set Button Function"), N_("SET button func. when shooting"), canonCfId, makerTags, unsignedShort, 1, printValue), TagInfo(0x000d, "SensorCleaning", N_("Sensor Cleaning"), N_("Sensor cleaning"), canonCfId, makerTags, unsignedShort, 1, printValue), TagInfo(0x000e, "SuperimposedDisplay", N_("Superimposed Display"), N_("Superimposed display"), canonCfId, makerTags, unsignedShort, 1, printValue), TagInfo(0x000f, "ShutterReleaseNoCFCard", N_("Shutter Release No CF Card"), N_("Shutter Release W/O CF Card"), canonCfId, makerTags, unsignedShort, 1, printValue), // End of list marker TagInfo(0xffff, "(UnknownCanonCfTag)", "(UnknownCanonCfTag)", N_("Unknown Canon Custom Function tag"), canonCfId, makerTags, unsignedShort, 1, printValue) }; const TagInfo* CanonMakerNote::tagListCf() { return tagInfoCf_; } //! AFPointsUsed, tag 0x0016 extern const TagDetailsBitmask canonPiAFPointsUsed[] = { { 0x01, N_("right") }, { 0x02, N_("mid-right") }, { 0x04, N_("bottom") }, { 0x08, N_("center") }, { 0x10, N_("top") }, { 0x20, N_("mid-left") }, { 0x40, N_("left") } }; //! AFPointsUsed20D, tag 0x001a extern const TagDetailsBitmask canonPiAFPointsUsed20D[] = { { 0x001, N_("top") }, { 0x002, N_("upper-left") }, { 0x004, N_("upper-right") }, { 0x008, N_("left") }, { 0x010, N_("center") }, { 0x020, N_("right") }, { 0x040, N_("lower-left") }, { 0x080, N_("lower-right") }, { 0x100, N_("bottom") } }; // Canon Picture Info Tag const TagInfo CanonMakerNote::tagInfoPi_[] = { TagInfo(0x0002, "ImageWidth", N_("Image Width"), N_("Image width"), canonPiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0003, "ImageHeight", N_("Image Height"), N_("Image height"), canonPiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0004, "ImageWidthAsShot", N_("Image Width As Shot"), N_("Image width (as shot)"), canonPiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0005, "ImageHeightAsShot", N_("Image Height As Shot"), N_("Image height (as shot)"), canonPiId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0016, "AFPointsUsed", N_("AF Points Used"), N_("AF points used"), canonPiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG_BITMASK(canonPiAFPointsUsed)), TagInfo(0x001a, "AFPointsUsed20D", N_("AF Points Used 20D"), N_("AF points used (20D)"), canonPiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG_BITMASK(canonPiAFPointsUsed20D)), // End of list marker TagInfo(0xffff, "(UnknownCanonPiTag)", "(UnknownCanonPiTag)", N_("Unknown Canon Picture Info tag"), canonPiId, makerTags, unsignedShort, 1, printValue) }; const TagInfo* CanonMakerNote::tagListPi() { return tagInfoPi_; } //! BracketMode, tag 0x0003 extern const TagDetails canonBracketMode[] = { { 0, N_("Off") }, { 1, N_("AEB") }, { 2, N_("FEB") }, { 3, N_("ISO") }, { 4, N_("WB") } }; //! RawJpgSize, tag 0x0007 extern const TagDetails canonRawJpgSize[] = { { 0, N_("Large") }, { 1, N_("Medium") }, { 2, N_("Small") }, { 5, N_("Medium 1") }, { 6, N_("Medium 2") }, { 7, N_("Medium 3") }, { 8, N_("Postcard") }, { 9, N_("Widescreen") }, { 129, N_("Medium Movie") }, { 130, N_("Small Movie") } }; //! NoiseReduction, tag 0x0008 extern const TagDetails canonNoiseReduction[] = { { 0, N_("Off") }, { 1, N_("On 1") }, { 2, N_("On 2") }, { 3, N_("On") }, { 4, N_("Auto") } }; //! WBBracketMode, tag 0x0009 extern const TagDetails canonWBBracketMode[] = { { 0, N_("Off") }, { 1, N_("On (shift AB)") }, { 2, N_("On (shift GM)") } }; //! FilterEffect, tag 0x000e extern const TagDetails canonFilterEffect[] = { { 0, N_("None") }, { 1, N_("Yellow") }, { 2, N_("Orange") }, { 3, N_("Red") }, { 4, N_("Green") } }; //! ToningEffect, tag 0x000e extern const TagDetails canonToningEffect[] = { { 0, N_("None") }, { 1, N_("Sepia") }, { 2, N_("Blue") }, { 3, N_("Purple") }, { 4, N_("Green") } }; // Canon File Info Tag const TagInfo CanonMakerNote::tagInfoFi_[] = { TagInfo(0x0001, "FileNumber", N_("File Number"), N_("File Number"), canonFiId, makerTags, unsignedLong, 1, printFiFileNumber), TagInfo(0x0003, "BracketMode", N_("Bracket Mode"), N_("Bracket Mode"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonBracketMode)), TagInfo(0x0004, "BracketValue", N_("Bracket Value"), N_("Bracket Value"), canonFiId, makerTags, signedShort, 1, printValue), TagInfo(0x0005, "BracketShotNumber", N_("Bracket Shot Number"), N_("Bracket Shot Number"), canonFiId, makerTags, signedShort, 1, printValue), TagInfo(0x0006, "RawJpgQuality", N_("Raw Jpg Quality"), N_("Raw Jpg Quality"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsQuality)), TagInfo(0x0007, "RawJpgSize", N_("Raw Jpg Size"), N_("Raw Jpg Size"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonRawJpgSize)), TagInfo(0x0008, "NoiseReduction", N_("Noise Reduction"), N_("Noise Reduction"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonNoiseReduction)), TagInfo(0x0009, "WBBracketMode", N_("WB Bracket Mode"), N_("WB Bracket Mode"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonWBBracketMode)), TagInfo(0x000c, "WBBracketValueAB", N_("WB Bracket Value AB"), N_("WB Bracket Value AB"), canonFiId, makerTags, signedShort, 1, printValue), TagInfo(0x000d, "WBBracketValueGM", N_("WB Bracket Value GM"), N_("WB Bracket Value GM"), canonFiId, makerTags, signedShort, 1, printValue), TagInfo(0x000e, "FilterEffect", N_("Filter Effect"), N_("Filter Effect"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonFilterEffect)), TagInfo(0x000f, "ToningEffect", N_("Toning Effect"), N_("Toning Effect"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonToningEffect)), TagInfo(0x0010, "MacroMagnification", N_("Macro Magnification"), N_("Macro magnification"), canonFiId, makerTags, signedShort, 1, printValue), TagInfo(0x0013, "LiveViewShooting", N_("Live View Shooting"), N_("Live view shooting"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonOffOn)), TagInfo(0x0014, "FocusDistanceUpper", N_("Focus Distance Upper"), N_("Focus Distance Upper"), canonFiId, makerTags, signedShort, 1, printFiFocusDistance), TagInfo(0x0015, "FocusDistanceLower", N_("Focus Distance Lower"), N_("Focus Distance Lower"), canonFiId, makerTags, signedShort, 1, printFiFocusDistance), TagInfo(0x0019, "FlashExposureLock", N_("Flash Exposure Lock"), N_("Flash exposure lock"), canonFiId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonOffOn)), // End of list marker TagInfo(0xffff, "(UnknownCanonFiTag)", "(UnknownCanonFiTag)", N_("Unknown Canon File Info tag"), canonFiId, makerTags, signedShort, 1, printValue) }; const TagInfo* CanonMakerNote::tagListFi() { return tagInfoFi_; } //! Tone Curve Values extern const TagDetails canonToneCurve[] = { { 0, N_("Standard") }, { 1, N_("Manual") }, { 2, N_("Custom") } }; //! Sharpness Frequency Values extern const TagDetails canonSharpnessFrequency[] = { { 0, N_("n/a") }, { 1, N_("Lowest") }, { 2, N_("Low") }, { 3, N_("Standard") }, { 4, N_("High") }, { 5, N_("Highest") } }; //! PictureStyle Values extern const TagDetails canonPictureStyle[] = { { 0x00, N_("None") }, { 0x01, N_("Standard") }, { 0x02, N_("Portrait") }, { 0x03, N_("High Saturation") }, { 0x04, N_("Adobe RGB") }, { 0x05, N_("Low Saturation") }, { 0x06, N_("CM Set 1") }, { 0x07, N_("CM Set 2") }, { 0x21, N_("User Def. 1") }, { 0x22, N_("User Def. 2") }, { 0x23, N_("User Def. 3") }, { 0x41, N_("PC 1") }, { 0x42, N_("PC 2") }, { 0x43, N_("PC 3") }, { 0x81, N_("Standard") }, { 0x82, N_("Portrait") }, { 0x83, N_("Landscape") }, { 0x84, N_("Neutral") }, { 0x85, N_("Faithful") }, { 0x86, N_("Monochrome") }, { 0x87, N_("Auto") }, { 0x88, N_("Fine Detail") } }; // Canon Processing Info Tag const TagInfo CanonMakerNote::tagInfoPr_[] = { TagInfo(0x0001, "ToneCurve", N_("ToneCurve"), N_("Tone curve"), canonPrId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonToneCurve)), TagInfo(0x0002, "Sharpness", N_("Sharpness"), N_("Sharpness"), canonPrId, makerTags, signedShort, 1, printValue), TagInfo(0x0003, "SharpnessFrequency", N_("SharpnessFrequency"), N_("Sharpness frequency"), canonPrId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonSharpnessFrequency)), TagInfo(0x0004, "SensorRedLevel", N_("SensorRedLevel"), N_("Sensor red level"), canonPrId, makerTags, signedShort, 1, printValue), TagInfo(0x0005, "SensorBlueLevel", N_("SensorBlueLevel"), N_("Sensor blue level"), canonPrId, makerTags, signedShort, 1, printValue), TagInfo(0x0006, "WhiteBalanceRed", N_("WhiteBalanceRed"), N_("White balance red"), canonPrId, makerTags, signedShort, 1, printValue), TagInfo(0x0007, "WhiteBalanceBlue", N_("WhiteBalanceBlue"), N_("White balance blue"), canonPrId, makerTags, signedShort, 1, printValue), TagInfo(0x0008, "WhiteBalance", N_("WhiteBalance"), N_("White balance"), canonPrId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonSiWhiteBalance)), TagInfo(0x0009, "ColorTemperature", N_("ColorTemperature"), N_("Color Temperature"), canonPrId, makerTags, signedShort, 1, printValue), TagInfo(0x000a, "PictureStyle", N_("PictureStyle"), N_("Picture style"), canonPrId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonPictureStyle)), TagInfo(0x000b, "DigitalGain", N_("DigitalGain"), N_("Digital gain"), canonPrId, makerTags, signedShort, 1, printValue), TagInfo(0x000c, "WBShiftAB", N_("WBShiftAB"), N_("WBShift AB"), canonPrId, makerTags, signedShort, 1, printValue), TagInfo(0x000d, "WBShiftGM", N_("WBShiftGM"), N_("WB Shift GM"), canonPrId, makerTags, signedShort, 1, printValue), TagInfo(0xffff, "(UnknownCanonPrTag)", "(UnknownCanonPrTag)", N_("Unknown Canon Processing Info tag"), canonPrId, makerTags, signedShort, 1, printValue) }; const TagInfo* CanonMakerNote::tagListPr() { return tagInfoPr_; } std::ostream& CanonMakerNote::printFiFileNumber(std::ostream& os, const Value& value, const ExifData* metadata) { std::ios::fmtflags f( os.flags() ); if ( !metadata || value.typeId() != unsignedLong || value.count() == 0) { os << "(" << value << ")"; os.flags(f); return os; } ExifData::const_iterator pos = metadata->findKey(ExifKey("Exif.Image.Model")); if (pos == metadata->end()) return os << "(" << value << ")"; // Ported from Exiftool std::string model = pos->toString(); if ( model.find("20D") != std::string::npos || model.find("350D") != std::string::npos || model.substr(model.size() - 8, 8) == "REBEL XT" || model.find("Kiss Digital N") != std::string::npos) { uint32_t val = value.toLong(); uint32_t dn = (val & 0xffc0) >> 6; uint32_t fn = ((val >> 16) & 0xff) + ((val & 0x3f) << 8); os << std::dec << dn << "-" << std::setw(4) << std::setfill('0') << fn; os.flags(f); return os; } if ( model.find("30D") != std::string::npos || model.find("400D") != std::string::npos || model.find("REBEL XTi") != std::string::npos || model.find("Kiss Digital X") != std::string::npos || model.find("K236") != std::string::npos) { uint32_t val = value.toLong(); uint32_t dn = (val & 0xffc00) >> 10; while (dn < 100) dn += 0x40; uint32_t fn = ((val & 0x3ff) << 4) + ((val >> 20) & 0x0f); os << std::dec << dn << "-" << std::setw(4) << std::setfill('0') << fn; os.flags(f); return os; } os.flags(f); return os << "(" << value << ")"; } std::ostream& CanonMakerNote::printFocalLength(std::ostream& os, const Value& value, const ExifData* metadata) { std::ios::fmtflags f( os.flags() ); if ( !metadata || value.count() < 4 || value.typeId() != unsignedShort) { os.flags(f); return os << value; } ExifKey key("Exif.CanonCs.Lens"); ExifData::const_iterator pos = metadata->findKey(key); if ( pos != metadata->end() && pos->value().count() >= 3 && pos->value().typeId() == unsignedShort) { float fu = pos->value().toFloat(2); if (fu != 0.0) { float fl = value.toFloat(1) / fu; std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1); os << fl << " mm"; os.copyfmt(oss); os.flags(f); return os; } } os.flags(f); return os << value; } std::ostream& CanonMakerNote::print0x0008(std::ostream& os, const Value& value, const ExifData*) { std::string n = value.toString(); if (n.length() < 4) return os << "(" << n << ")"; return os << n.substr(0, n.length() - 4) << "-" << n.substr(n.length() - 4); } std::ostream& CanonMakerNote::print0x000c(std::ostream& os, const Value& value, const ExifData*) { std::istringstream is(value.toString()); uint32_t l; is >> l; return os << std::setw(4) << std::setfill('0') << std::hex << ((l & 0xffff0000) >> 16) << std::setw(5) << std::setfill('0') << std::dec << (l & 0x0000ffff); } std::ostream& CanonMakerNote::printCs0x0002(std::ostream& os, const Value& value, const ExifData*) { if ( value.typeId() != unsignedShort || value.count() == 0) return os << value; long l = value.toLong(); if (l == 0) { os << "Off"; } else { os << l / 10.0 << " s"; } return os; } //! Helper structure struct LensTypeAndFocalLengthAndMaxAperture { long lensType_; //!< Lens type std::string focalLength_; //!< Focal length std::string maxAperture_; //!< Aperture }; //! Compare tag details with a lens entry bool operator==(const TagDetails& td, const LensTypeAndFocalLengthAndMaxAperture& ltfl) { return ( td.val_ == ltfl.lensType_ && std::string(td.label_).find(ltfl.focalLength_) != std::string::npos && std::string(td.label_).find(ltfl.maxAperture_) != std::string::npos); } void extractLensFocalLength(LensTypeAndFocalLengthAndMaxAperture& ltfl, const ExifData* metadata) { ExifKey key("Exif.CanonCs.Lens"); ExifData::const_iterator pos = metadata->findKey(key); if ( pos != metadata->end() && pos->value().count() >= 3 && pos->value().typeId() == unsignedShort) { float fu = pos->value().toFloat(2); if (fu != 0.0) { float len1 = pos->value().toLong(0) / fu; float len2 = pos->value().toLong(1) / fu; std::ostringstream oss; oss << std::fixed << std::setprecision(0); if (len1 == len2) { oss << len1 << "mm"; } else { oss << len2 << "-" << len1 << "mm"; } ltfl.focalLength_ = oss.str(); } } } std::ostream& printCsLensByFocalLengthAndMaxAperture(std::ostream& os, const Value& value, const ExifData* metadata) { if ( !metadata || value.typeId() != unsignedShort || value.count() == 0) return os << value; LensTypeAndFocalLengthAndMaxAperture ltfl; ltfl.lensType_ = value.toLong(); extractLensFocalLength(ltfl, metadata); if (ltfl.focalLength_.empty()) return os << value; ExifKey key("Exif.CanonCs.MaxAperture"); ExifData::const_iterator pos = metadata->findKey(key); if ( pos != metadata->end() && pos->value().count() == 1 && pos->value().typeId() == unsignedShort) { long val = static_cast(pos->value().toLong(0)); if (val > 0) { std::ostringstream oss; oss << std::setprecision(2); oss << fnumber(canonEv(val)); ltfl.maxAperture_ = oss.str(); } } if (ltfl.maxAperture_.empty()) return os << value; const TagDetails* td = find(canonCsLensType, ltfl); if (!td) return os << value; return os << td->label_; } std::ostream& printCsLensByFocalLength(std::ostream& os, const Value& value, const ExifData* metadata) { if ( !metadata || value.typeId() != unsignedShort || value.count() == 0) return os << value; LensTypeAndFocalLengthAndMaxAperture ltfl; ltfl.lensType_ = value.toLong(); extractLensFocalLength(ltfl, metadata); if (ltfl.focalLength_.empty()) return os << value; const TagDetails* td = find(canonCsLensType, ltfl); if (!td) return os << value; return os << td->label_; } std::ostream& CanonMakerNote::printCsLensType(std::ostream& os, const Value& value, const ExifData* metadata) { if ( value.typeId() != unsignedShort || value.count() == 0) return os << "(" << value << ")"; const LensIdFct* lif = find(lensIdFct, value.toLong()); if (!lif) { return EXV_PRINT_TAG(canonCsLensType)(os, value, metadata); } if (metadata && lif->fct_) { return lif->fct_(os, value, metadata); } return os << value; } std::ostream& CanonMakerNote::printCsLens(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if ( value.count() < 3 || value.typeId() != unsignedShort) { os << "(" << value << ")"; os.flags(f); return os; } float fu = value.toFloat(2); if (fu == 0.0) return os << value; float len1 = value.toLong(0) / fu; float len2 = value.toLong(1) / fu; std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1); if (len1 == len2) { os << len1 << " mm"; } else { os << len2 << " - " << len1 << " mm"; } os.copyfmt(oss); os.flags(f); return os; } std::ostream& CanonMakerNote::printSi0x0002(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if ( value.typeId() == unsignedShort && value.count() > 0) { // Ported from Exiftool by Will Stokes os << exp(canonEv(value.toLong()) * log(2.0)) * 100.0 / 32.0; } os.flags(f); return os; } std::ostream& CanonMakerNote::printSi0x0003(std::ostream& os, const Value& value, const ExifData*) { if ( value.typeId() == unsignedShort && value.count() > 0) { // The offset of '5' seems to be ok for most Canons (see Exiftool) // It might be explained by the fakt, that most Canons have a longest // exposure of 30s which is 5 EV below 1s // see also printSi0x0017 std::ostringstream oss; oss.copyfmt(os); int res = static_cast(100.0 * (static_cast(value.toLong()) / 32.0 + 5.0) + 0.5); os << std::fixed << std::setprecision(2) << res / 100.0; os.copyfmt(oss); } return os; } std::ostream& CanonMakerNote::printSi0x0009(std::ostream& os, const Value& value, const ExifData*) { if ( value.typeId() != unsignedShort || value.count() == 0) return os << value; long l = value.toLong(); os << l << ""; // Todo: determine unit return os; } std::ostream& CanonMakerNote::printSi0x000e(std::ostream& os, const Value& value, const ExifData* pExifData) { if ( value.typeId() != unsignedShort || value.count() == 0) return os << value; long l = value.toLong(); long num = (l & 0xf000) >> 12; os << num << " focus points; "; long used = l & 0x0fff; if (used == 0) { os << "none"; } else { EXV_PRINT_TAG_BITMASK(canonSiAFPointUsed)(os, value, pExifData); } os << " used"; return os; } std::ostream& CanonMakerNote::printSi0x0013(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if ( value.typeId() != unsignedShort || value.count() == 0) return os << value; long l = value.toLong(); if (l == 0xffff) { os << "Infinite"; } else { os << l << ""; } os.flags(f); return os; } std::ostream& CanonMakerNote::printSi0x0015(std::ostream& os, const Value& value, const ExifData*) { if ( value.typeId() != unsignedShort || value.count() == 0) return os << value; std::ostringstream oss; oss.copyfmt(os); long val = static_cast(value.toLong()); if (val < 0) return os << value; os << std::setprecision(2) << "F" << fnumber(canonEv(val)); os.copyfmt(oss); return os; } std::ostream& CanonMakerNote::printSi0x0016(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if ( value.typeId() != unsignedShort || value.count() == 0) return os << value; URational ur = exposureTime(canonEv(value.toLong())); os << ur.first; if (ur.second > 1) { os << "/" << ur.second; } os.flags(f); return os << " s"; } std::ostream& CanonMakerNote::printSi0x0017(std::ostream& os, const Value& value, const ExifData*) { if ( value.typeId() != unsignedShort || value.count() == 0) return os << value; std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(2) << value.toLong() / 8.0 - 6.0; os.copyfmt(oss); return os; } std::ostream& CanonMakerNote::printFiFocusDistance(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if ( value.typeId() != signedShort || value.count() == 0) return os << value; std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(2); long l = value.toLong(); if (l == 0xffff) { os << "Infinite"; } else { os << value.toLong()/100.0 << " m"; } os.copyfmt(oss); os.flags(f); return os; } // ***************************************************************************** // free functions float canonEv(long val) { // temporarily remove sign int sign = 1; if (val < 0) { sign = -1; val = -val; } // remove fraction float frac = static_cast(val & 0x1f); val -= long(frac); // convert 1/3 (0x0c) and 2/3 (0x14) codes if (frac == 0x0c) { frac = 32.0f / 3; } else if (frac == 0x14) { frac = 64.0f / 3; } return sign * (val + frac) / 32.0f; } }} // namespace Internal, Exiv2 exiv2-0.25/src/matroskavideo.cpp0000664000175000017500000010516012535070522016462 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: matroskavideo.cpp Version: $Rev: 3845 $ Author(s): Abhinav Badola for GSoC 2012 (AB) History: 18-Jun-12, AB: created Credits: See header file */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: matroskavideo.cpp 3845 2015-06-07 16:29:06Z ahuggel $") // ***************************************************************************** // included header files #include "config.h" #ifdef EXV_ENABLE_VIDEO #include "matroskavideo.hpp" #include "futils.hpp" #include "basicio.hpp" #include "tags.hpp" #include "tags_int.hpp" // + standard includes #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { //! List of composite tags. They are skipped and the child tags are read immediately uint64_t compositeTagsList[] = { 0x0000, 0x000e, 0x000f, 0x0020, 0x0026, 0x002e, 0x0036, 0x0037, 0x003b, 0x005b, 0x0060, 0x0061, 0x0068, 0x05b9, 0x0dbb, 0x1034, 0x1035, 0x1854, 0x21a7, 0x2240, 0x23c0, 0x2624, 0x27c8, 0x2911, 0x2924, 0x2944, 0x2d80, 0x3373, 0x35a1, 0x3e5b, 0x3e7b, 0x14d9b74, 0x254c367, 0x549a966, 0x654ae6b, 0x8538067, 0x941a469, 0xa45dfa3, 0xb538667, 0xc53bb6b, 0xf43b675 }; //! List of tags which are ignored, i.e., tag and value won't be read uint64_t ignoredTagsList[] = { 0x0021, 0x0023, 0x0033, 0x0071, 0x0077, 0x006c, 0x0067, 0x007b, 0x02f2, 0x02f3, 0x1031, 0x1032, 0x13ab, 0x13ac, 0x15ee, 0x23a2, 0x23c6, 0x2e67, 0x33a4, 0x33c5, 0x3446, 0x2de7, 0x2df8, 0x26bf, 0x28ca, 0x3384, 0x13b8, 0x037e, 0x0485, 0x18d7, 0x0005, 0x0009, 0x0011, 0x0012, 0x0016, 0x0017, 0x0018, 0x0022, 0x0024, 0x0025, 0x0027, 0x002b, 0x002f, 0x003f, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x006a, 0x006b, 0x006e, 0x007a, 0x007d, 0x0255, 0x3eb5, 0x3ea5, 0x3d7b, 0x33c4, 0x2fab, 0x2ebc, 0x29fc, 0x29a5, 0x2955, 0x2933, 0x135f, 0x2922, 0x26a5, 0x26fc, 0x2532, 0x23c9, 0x23c4, 0x23c5, 0x137f, 0x1378, 0x07e2, 0x07e3, 0x07e4, 0x0675, 0x05bc, 0x05bd, 0x05db, 0x05dd, 0x0598, 0x050d, 0x0444, 0x037c, 0x3314f, 0x43a770, 0x1eb923, 0x1cb923, 0xeb524, 0x1c83ab, 0x1e83bb }; /*! Tag Look-up list for Matroska Type Video Files The Tags have been categorized in 4 categories. Which are mentioned as a comment in front of them. s -- Tag to be Skipped sd -- Tag to be Skipped along with its data u -- Tag used directly for storing metadata ui -- Tag used only internally */ extern const MatroskaTags matroskaTags[] = { { 0x0000, "ChapterDisplay" }, //s { 0x0003, "TrackType" }, //ui { 0x0005, "ChapterString" }, //sd { 0x0006, "VideoCodecID/AudioCodecID/CodecID" }, //ui { 0x0008, "TrackDefault" }, //ui { 0x0009, "ChapterTrackNumber" }, //sd { 0x000e, "Slices" }, //s { 0x000f, "ChapterTrack" }, //s { 0x0011, "ChapterTimeStart" }, //sd { 0x0012, "ChapterTimeEnd" }, //sd { 0x0016, "CueRefTime" }, //sd { 0x0017, "CueRefCluster" }, //sd { 0x0018, "ChapterFlagHidden" }, //sd { 0x001a, "Xmp.video.VideoScanTpye" }, //u { 0x001b, "BlockDuration" }, //s { 0x001c, "TrackLacing" }, //ui { 0x001f, "Xmp.audio.ChannelType" }, //u { 0x0020, "BlockGroup" }, //s { 0x0021, "Block" }, //sd { 0x0022, "BlockVirtual" }, //sd { 0x0023, "SimpleBlock" }, //sd { 0x0024, "CodecState" }, //sd { 0x0025, "BlockAdditional" }, //sd { 0x0026, "BlockMore" }, //s { 0x0027, "Position" }, //sd { 0x002a, "CodecDecodeAll" }, //ui { 0x002b, "PrevSize" }, //sd { 0x002e, "TrackEntry" }, //s { 0x002f, "EncryptedBlock" }, //sd { 0x0030, "Xmp.video.Width" }, //u { 0x0033, "CueTime" }, //sd { 0x0035, "Xmp.audio.SampleRate" }, //u { 0x0036, "ChapterAtom" }, //s { 0x0037, "CueTrackPositions" }, //s { 0x0039, "TrackUsed" }, //ui { 0x003a, "Xmp.video.Height" }, //u { 0x003b, "CuePoint" }, //s { 0x003f, "CRC-32" }, //sd { 0x004b, "BlockAdditionalID" }, //sd { 0x004c, "LaceNumber" }, //sd { 0x004d, "FrameNumber" }, //sd { 0x004e, "Delay" }, //sd { 0x004f, "ClusterDuration" }, //sd { 0x0057, "TrackNumber" }, //ui { 0x005b, "CueReference" }, //s { 0x0060, "Video" }, //s { 0x0061, "Audio" }, //s { 0x0067, "Timecode" }, //sd { 0x0068, "TimeSlice" }, //s { 0x006a, "CueCodecState" }, //sd { 0x006b, "CueRefCodecState" }, //sd { 0x006c, "Void" }, //sd { 0x006e, "BlockAddID" }, //sd { 0x0071, "CueClusterPosition" }, //sd { 0x0077, "CueTrack" }, //sd { 0x007a, "ReferencePriority" }, //sd { 0x007b, "ReferenceBlock" }, //sd { 0x007d, "ReferenceVirtual" }, //sd { 0x0254, "Xmp.video.ContentCompressAlgo" }, //u { 0x0255, "ContentCompressionSettings" }, //sd { 0x0282, "Xmp.video.DocType" }, //u { 0x0285, "Xmp.video.DocTypeReadVersion" }, //u { 0x0286, "Xmp.video.EBMLVersion" }, //u { 0x0287, "Xmp.video.DocTypeVersion" }, //u { 0x02f2, "EBMLMaxIDLength" }, //sd { 0x02f3, "EBMLMaxSizeLength" }, //sd { 0x02f7, "Xmp.video.EBMLReadVersion" }, //u { 0x037c, "ChapterLanguage" }, //sd { 0x037e, "ChapterCountry" }, //sd { 0x0444, "SegmentFamily" }, //sd { 0x0461, "Xmp.video.DateUTC" }, //Date Time Original - measured in seconds relatively to Jan 01, 2001, 0:00:00 GMT+0h { 0x047a, "Xmp.video.TagLanguage" }, //u { 0x0484, "Xmp.video.TagDefault" }, //u { 0x0485, "TagBinary" }, //sd { 0x0487, "Xmp.video.TagString" }, //u { 0x0489, "Xmp.video.Duration" }, //u { 0x050d, "ChapterProcessPrivate" }, //sd { 0x0598, "ChapterFlagEnabled" }, //sd { 0x05a3, "Xmp.video.TagName" }, //u { 0x05b9, "EditionEntry" }, //s { 0x05bc, "EditionUID" }, //sd { 0x05bd, "EditionFlagHidden" }, //sd { 0x05db, "EditionFlagDefault" }, //sd { 0x05dd, "EditionFlagOrdered" }, //sd { 0x065c, "Xmp.video.AttachFileData" }, //u { 0x0660, "Xmp.video.AttachFileMIME" }, //u { 0x066e, "Xmp.video.AttachFileName" }, //u { 0x0675, "AttachedFileReferral" }, //sd { 0x067e, "Xmp.video.AttachFileDesc" }, //u { 0x06ae, "Xmp.video.AttachFileUID" }, //u { 0x07e1, "Xmp.video.ContentEncryptAlgo" }, //u { 0x07e2, "ContentEncryptionKeyID" }, //sd { 0x07e3, "ContentSignature" }, //sd { 0x07e4, "ContentSignatureKeyID" }, //sd { 0x07e5, "Xmp.video.ContentSignAlgo" }, //u { 0x07e6, "Xmp.video.ContentSignHashAlgo" }, //u { 0x0d80, "Xmp.video.MuxingApp" }, //u { 0x0dbb, "Seek" }, //s { 0x1031, "ContentEncodingOrder" }, //sd { 0x1032, "ContentEncodingScope" }, //sd { 0x1033, "Xmp.video.ContentEncodingType" }, //u { 0x1034, "ContentCompression" }, //s { 0x1035, "ContentEncryption" }, //s { 0x135f, "CueRefNumber" }, //sd { 0x136e, "Xmp.video.TrackName" }, //u { 0x1378, "CueBlockNumber" }, //sd { 0x137f, "TrackOffset" }, //sd { 0x13ab, "SeekID" }, //sd { 0x13ac, "SeekPosition" }, //sd { 0x13b8, "Stereo3DMode" }, //sd { 0x14aa, "Xmp.video.CropBottom" }, //ui { 0x14b0, "Xmp.video.Width" }, //u { 0x14b2, "Xmp.video.DisplayUnit" }, //u { 0x14b3, "Xmp.video.AspectRatioType" }, //u { 0x14ba, "Xmp.video.Height" }, //u { 0x14bb, "Xmp.video.CropTop" }, //ui { 0x14cc, "Xmp.video.CropLeft" }, //ui { 0x14dd, "Xmp.video.CropRight" }, //ui { 0x15aa, "TrackForced" }, //ui { 0x15ee, "MaxBlockAdditionID" }, //sd { 0x1741, "Xmp.video.WritingApp" }, //u { 0x1854, "SilentTracks" }, //s { 0x18d7, "SilentTrackNumber" }, //sd { 0x21a7, "AttachedFile" }, //s { 0x2240, "ContentEncoding" }, //s { 0x2264, "Xmp.audio.BitsPerSample" }, //u { 0x23a2, "CodecPrivate" }, //sd { 0x23c0, "Targets" }, //s { 0x23c3, "Xmp.video.PhysicalEquivalent" }, //u { 0x23c4, "TagChapterUID" }, //sd { 0x23c5, "TagTrackUID" }, //sd { 0x23c6, "TagAttachmentUID" }, //sd { 0x23c9, "TagEditionUID" }, //sd { 0x23ca, "Xmp.video.TargetType" }, //u { 0x2532, "SignedElement" }, //sd { 0x2624, "TrackTranslate" }, //s { 0x26a5, "TrackTranslateTrackID" }, //sd { 0x26bf, "TrackTranslateCodec" }, //sd { 0x26fc, "TrackTranslateEditionUID" }, //sd { 0x27c8, "SimpleTag" }, //s { 0x28ca, "TargetTypeValue" }, //sd { 0x2911, "ChapterProcessCommand" }, //s { 0x2922, "ChapterProcessTime" }, //sd { 0x2924, "ChapterTranslate" }, //s { 0x2933, "ChapterProcessData" }, //sd { 0x2944, "ChapterProcess" }, //s { 0x2955, "ChapterProcessCodecID" }, //sd { 0x29a5, "ChapterTranslateID" }, //sd { 0x29bf, "Xmp.video.TranslateCodec" }, //u { 0x29fc, "ChapterTranslateEditionUID" }, //sd { 0x2d80, "ContentEncodings" }, //s { 0x2de7, "MinCache" }, //sd { 0x2df8, "MaxCache" }, //sd { 0x2e67, "ChapterSegmentUID" }, //sd { 0x2ebc, "ChapterSegmentEditionUID" }, //sd { 0x2fab, "TrackOverlay" }, //sd { 0x3373, "Tag" }, //s { 0x3384, "SegmentFileName" }, //sd { 0x33a4, "SegmentUID" }, //sd { 0x33c4, "ChapterUID" }, //sd { 0x33c5, "TrackUID" }, //sd { 0x3446, "TrackAttachmentUID" }, //sd { 0x35a1, "BlockAdditions" }, //s { 0x38b5, "Xmp.audio.OutputSampleRate" }, //u { 0x3ba9, "Xmp.video.Title" }, //u { 0x3d7b, "ChannelPositions" }, //sd { 0x3e5b, "SignatureElements" }, //s { 0x3e7b, "SignatureElementList" }, //s { 0x3e8a, "Xmp.video.ContentSignAlgo" }, //u { 0x3e9a, "Xmp.video.ContentSignHashAlgo" }, //u { 0x3ea5, "SignaturePublicKey" }, //sd { 0x3eb5, "Signature" }, //sd { 0x2b59c, "TrackLanguage" }, //ui { 0x3314f, "TrackTimecodeScale" }, //sd { 0x383e3, "Xmp.video.FrameRate" }, //u { 0x3e383, "VideoFrameRate/DefaultDuration" }, //ui { 0x58688, "VideoCodecName/AudioCodecName/CodecName" }, //ui { 0x6b240, "CodecDownloadURL" }, //ui { 0xad7b1, "TimecodeScale" }, //ui { 0xeb524, "ColorSpace" }, //sd { 0xfb523, "Xmp.video.OpColor" }, //u { 0x1a9697, "CodecSettings" }, //ui { 0x1b4040, "CodecInfoURL" }, //ui { 0x1c83ab, "PrevFileName" }, //sd { 0x1cb923, "PrevUID" }, //sd { 0x1e83bb, "NextFileName" }, //sd { 0x1eb923, "NextUID" }, //sd { 0x43a770, "Chapters" }, //sd { 0x14d9b74, "SeekHead" }, //s { 0x254c367, "Tags" }, //s { 0x549a966, "Info" }, //s { 0x654ae6b, "Tracks" }, //s { 0x8538067, "SegmentHeader" }, //s { 0x941a469, "Attachments" }, //s { 0xa45dfa3, "EBMLHeader" }, //s { 0xb538667, "SignatureSlot" }, //s { 0xc53bb6b, "Cues" }, //s { 0xf43b675, "Cluster" }, //s }; extern const MatroskaTags matroskaTrackType[] = { { 0x1, "Video" }, { 0x2, "Audio" }, { 0x3, "Complex" }, { 0x10, "Logo" }, { 0x11, "Subtitle" }, { 0x12, "Buttons" }, { 0x20, "Control" } }; extern const MatroskaTags compressionAlgorithm[] = { { 0, "zlib " }, { 1, "bzlib" }, { 2, "lzo1x" }, { 3, "Header Stripping" } }; extern const MatroskaTags audioChannels[] = { { 1, "Mono" }, { 2, "Stereo" }, { 5, "5.1 Surround Sound" }, { 7, "7.1 Surround Sound" } }; extern const MatroskaTags displayUnit[] = { { 0x0, "Pixels" }, { 0x1, "cm" }, { 0x2, "inches" } }; extern const MatroskaTags encryptionAlgorithm[] = { { 0, "Not Encrypted" }, { 1, "DES" }, { 2, "3DES" }, { 3, "Twofish" }, { 4, "Blowfish" }, { 5, "AES" } }; extern const MatroskaTags chapterPhysicalEquivalent[] = { { 10, "Index" }, { 20, "Track" }, { 30, "Session" }, { 40, "Layer" }, { 50, "Side" }, { 60, "CD / DVD" }, { 70, "Set / Package" }, }; extern const MatroskaTags encodingType[] = { { 0, "Compression" }, { 1, "Encryption" } }; extern const MatroskaTags videoScanType[] = { { 0, "Progressive" }, { 1, "Interlaced" } }; extern const MatroskaTags chapterTranslateCodec[] = { { 0, "Matroska Script" }, { 1, "DVD Menu" } }; extern const MatroskaTags aspectRatioType[] = { { 0, "Free Resizing" }, { 1, "Keep Aspect Ratio" }, { 2, "Fixed" } }; extern const MatroskaTags contentSignatureAlgorithm[] = { { 0, "Not Signed" }, { 1, "RSA" } }; extern const MatroskaTags contentSignatureHashAlgorithm[] = { { 0, "Not Signed" }, { 1, "SHA1-160" }, { 2, "MD5" } }; extern const MatroskaTags trackEnable[] = { { 0x1, "Xmp.video.Enabled" }, { 0x2, "Xmp.audio.Enabled" }, { 0x11, "Xmp.video.SubTEnabled" } }; extern const MatroskaTags defaultOn[] = { { 0x1, "Xmp.video.DefaultOn" }, { 0x2, "Xmp.audio.DefaultOn" }, { 0x11, "Xmp.video.SubTDefaultOn" } }; extern const MatroskaTags trackForced[] = { { 0x1, "Xmp.video.TrackForced" }, { 0x2, "Xmp.audio.TrackForced" }, { 0x11, "Xmp.video.SubTTrackForced" } }; extern const MatroskaTags trackLacing[] = { { 0x1, "Xmp.video.TrackLacing" }, { 0x2, "Xmp.audio.TrackLacing" }, { 0x11, "Xmp.video.SubTTrackLacing" } }; extern const MatroskaTags codecDecodeAll[] = { { 0x1, "Xmp.video.CodecDecodeAll" }, { 0x2, "Xmp.audio.CodecDecodeAll" }, { 0x11, "Xmp.video.SubTCodecDecodeAll" } }; extern const MatroskaTags codecDownloadUrl[] = { { 0x1, "Xmp.video.CodecDownloadUrl" }, { 0x2, "Xmp.audio.CodecDownloadUrl" }, { 0x11, "Xmp.video.SubTCodecDownloadUrl" } }; extern const MatroskaTags codecSettings[] = { { 0x1, "Xmp.video.CodecSettings" }, { 0x2, "Xmp.audio.CodecSettings" }, { 0x11, "Xmp.video.SubTCodecSettings" } }; extern const MatroskaTags trackCodec[] = { { 0x1, "Xmp.video.Codec" }, { 0x2, "Xmp.audio.Compressor" }, { 0x11, "Xmp.video.SubTCodec" } }; extern const MatroskaTags trackLanguage[] = { { 0x1, "Xmp.video.TrackLang" }, { 0x2, "Xmp.audio.TrackLang" }, { 0x11, "Xmp.video.SubTLang" } }; extern const MatroskaTags codecInfo[] = { { 0x1, "Xmp.video.CodecInfo" }, { 0x2, "Xmp.audio.CodecInfo" }, { 0x11, "Xmp.video.SubTCodecInfo" } }; extern const MatroskaTags streamRate[] = { { 0x1, "Xmp.video.FrameRate" }, { 0x2, "Xmp.audio.DefaultDuration" } }; /*! @brief Function used to calculate Tags, Tags may comprise of more than one byte. The first byte calculates size of the Tag and the remaining bytes are used to calculate the rest of the Tag. Returns Tag Value. */ uint64_t returnTagValue(const byte* buf, long size) { assert(size > 0 && size <= 8); uint64_t b0 = buf[0] & (0xff >> size); uint64_t tag = b0 << ((size - 1) * 8); for (long i = 1; i < size; ++i) { tag |= static_cast(buf[i]) << ((size - i - 1) * 8); } return tag; } /*! @brief Function used to convert buffer data into numerical information, information stored in BigEndian format */ int64_t returnValue(const byte* buf, long size) { int64_t temp = 0; for(int i = size-1; i >= 0; i--) { temp = temp + static_cast(buf[i]*(pow(256.0, (double)size-i-1))); } // Todo: remove debug output // std::cerr << "size = " << size << ", val = " << temp << std::hex << " (0x" << temp << std::dec << ")"; uint64_t ret = 0; for (long i = 0; i < size; ++i) { ret |= static_cast(buf[i]) << ((size - i - 1) * 8); } // Todo: remove debug output // std::cerr << ", ret = " << ret << std::hex << " (0x" << ret << std::dec << ")\n"; return ret; } }} // namespace Internal, Exiv2 namespace Exiv2 { using namespace Exiv2::Internal; MatroskaVideo::MatroskaVideo(BasicIo::AutoPtr io) : Image(ImageType::mkv, mdNone, io) { } // MatroskaVideo::MatroskaVideo std::string MatroskaVideo::mimeType() const { return "video/matroska"; } void MatroskaVideo::writeMetadata() { } void MatroskaVideo::readMetadata() { if (io_->open() != 0) throw Error(9, io_->path(), strError()); // Ensure that this is the correct image type if (!isMkvType(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "Matroska"); } IoCloser closer(*io_); clearMetadata(); continueTraversing_ = true; height_ = width_ = 1; xmpData_["Xmp.video.FileName"] = io_->path(); xmpData_["Xmp.video.FileSize"] = (double)io_->size()/(double)1048576; xmpData_["Xmp.video.MimeType"] = mimeType(); while (continueTraversing_) decodeBlock(); aspectRatio(); } // MatroskaVideo::readMetadata void MatroskaVideo::decodeBlock() { byte buf[8]; io_->read(buf, 1); if(io_->eof()) { continueTraversing_ = false; return; } uint32_t sz = findBlockSize(buf[0]); // 0-8 if (sz > 0) io_->read(buf + 1, sz - 1); const MatroskaTags* mt = find(matroskaTags, returnTagValue(buf, sz)); if ( !mt ) { continueTraversing_ = false; return; } if(mt->val_ == 0xc53bb6b || mt->val_ == 0xf43b675) { continueTraversing_ = false; return; } bool skip = find(compositeTagsList, mt->val_) != 0; bool ignore = find(ignoredTagsList, mt->val_) != 0; io_->read(buf, 1); sz = findBlockSize(buf[0]); // 0-8 if (sz > 0) io_->read(buf + 1, sz - 1); uint64_t size = returnTagValue(buf, sz); if (skip && !ignore) return; const uint64_t bufMinSize = 200; #ifndef SUPPRESS_WARNINGS if (!ignore && size > bufMinSize) { EXV_WARNING << "Size " << size << " of Matroska tag 0x" << std::hex << mt->val_ << std::dec << " is greater than " << bufMinSize << ": ignoring it.\n"; } #endif if (ignore || size > bufMinSize) { io_->seek(size, BasicIo::cur); return; } DataBuf buf2(bufMinSize+1); std::memset(buf2.pData_, 0x0, buf2.size_); long s = static_cast(size) ; io_->read(buf2.pData_,s); contentManagement(mt, buf2.pData_,s); } // MatroskaVideo::decodeBlock void MatroskaVideo::contentManagement(const MatroskaTags* mt, const byte* buf, long size) { int64_t duration_in_ms = 0; static double time_code_scale = 1.0, temp = 0; static long stream = 0, track_count = 0; char str[4] = "No"; const MatroskaTags* internalMt = 0; switch (mt->val_) { case 0x0282: case 0x0d80: case 0x1741: case 0x3ba9: case 0x066e: case 0x0660: case 0x065c: case 0x067e: case 0x047a: case 0x0487: case 0x05a3: case 0x136e: case 0x23ca: case 0xeb524: xmpData_[mt->label_] = buf; break; case 0x0030: case 0x003a: case 0x0287: case 0x14b0: case 0x14ba: case 0x285: case 0x06ae: case 0x0286: case 0x02f7: case 0x2264: case 0x14aa: case 0x14bb: case 0x14cc: case 0x14dd: xmpData_[mt->label_] = returnValue(buf, size); if (mt->val_ == 0x0030 || mt->val_ == 0x14b0) { width_ = returnValue(buf, size); } else if (mt->val_ == 0x003a || mt->val_ == 0x14ba) { height_ = returnValue(buf, size); } break; case 0x001a: case 0x001f: case 0x0254: case 0x07e1: case 0x07e5: case 0x07e6: case 0x1033: case 0x14b2: case 0x14b3: case 0x23c3: case 0x29bf: case 0x3e8a: case 0x3e9a: switch (mt->val_) { case 0x001a: internalMt = find(videoScanType, returnValue(buf, size)); break; case 0x001f: internalMt = find(audioChannels, returnValue(buf, size)); break; case 0x0254: internalMt = find(compressionAlgorithm, returnValue(buf, size)); break; case 0x07e1: internalMt = find(encryptionAlgorithm, returnValue(buf, size)); break; case 0x1033: internalMt = find(encodingType, returnValue(buf, size)); break; case 0x3e8a: case 0x07e5: internalMt = find(contentSignatureAlgorithm, returnValue(buf, size)); break; case 0x3e9a: case 0x07e6: internalMt = find(contentSignatureHashAlgorithm, returnValue(buf, size)); break; case 0x14b2: internalMt = find(displayUnit, returnValue(buf, size)); break; case 0x14b3: internalMt = find(aspectRatioType, returnValue(buf, size)); break; case 0x23c3: internalMt = find(chapterPhysicalEquivalent, returnValue(buf, size)); break; case 0x29bf: internalMt = find(chapterTranslateCodec, returnValue(buf, size)); break; } if (internalMt) xmpData_[mt->label_] = internalMt->label_; break; case 0x0035: case 0x38b5: xmpData_[mt->label_] = getFloat(buf, bigEndian); break; case 0x0039: case 0x0008: case 0x15aa: case 0x001c: case 0x002a: case 0x1a9697: case 0x0484: if (returnValue(buf, size)) strcpy(str, "Yes"); switch (mt->val_) { case 0x0039: internalMt = find(trackEnable, stream); break; case 0x0008: internalMt = find(defaultOn, stream); break; case 0x15aa: internalMt = find(trackForced, stream); break; case 0x001c: internalMt = find(trackLacing, stream); break; case 0x002a: internalMt = find(codecDecodeAll, stream); break; case 0x1a9697: internalMt = find(codecSettings, stream); break; case 0x0484: internalMt = mt; break; } if (internalMt) xmpData_[internalMt->label_] = str; break; case 0x0006: case 0x2b59c: case 0x58688: case 0x6b240: case 0x1b4040: switch (mt->val_) { case 0x0006: internalMt = find(trackCodec, stream); break; case 0x2b59c: internalMt = find(trackLanguage, stream); break; case 0x58688: internalMt = find(codecInfo, stream); break; case 0x6b240: case 0x1b4040: internalMt = find(codecDownloadUrl, stream); break; } if (internalMt) xmpData_[internalMt->label_] = buf; break; case 0x0489: case 0x0461: switch (mt->val_) { case 0x0489: if(size <= 4) { duration_in_ms = static_cast(getFloat(buf, bigEndian) * time_code_scale * 1000); } else { duration_in_ms = static_cast(getDouble(buf, bigEndian) * time_code_scale * 1000); } break; case 0x0461: { duration_in_ms = returnValue(buf, size)/1000000000; break; } } xmpData_[mt->label_] = duration_in_ms; break; case 0x0057: track_count++; xmpData_["Xmp.video.TotalStream"] = track_count; break; case 0xad7b1: time_code_scale = (double)returnValue(buf, size)/(double)1000000000; xmpData_["Xmp.video.TimecodeScale"] = time_code_scale; break; case 0x0003: internalMt = find(matroskaTrackType, returnValue(buf, size)); stream = static_cast(internalMt->val_); break; case 0x3e383: case 0x383e3: internalMt = find(streamRate, stream); if (returnValue(buf, size)) { switch (stream) { case 1: temp = (double)1000000000/(double)returnValue(buf, size); break; case 2: temp = static_cast(returnValue(buf, size) / 1000); break; } if (internalMt) xmpData_[internalMt->label_] = temp; } else if (internalMt) xmpData_[internalMt->label_] = "Variable Bit Rate"; break; default: break; } } // MatroskaVideo::contentManagement void MatroskaVideo::aspectRatio() { //TODO - Make a better unified method to handle all cases of Aspect Ratio double aspectRatio = (double)width_ / (double)height_; aspectRatio = floor(aspectRatio*10) / 10; xmpData_["Xmp.video.AspectRatio"] = aspectRatio; int aR = (int) ((aspectRatio*10.0)+0.1); switch (aR) { case 13 : xmpData_["Xmp.video.AspectRatio"] = "4:3" ; break; case 17 : xmpData_["Xmp.video.AspectRatio"] = "16:9" ; break; case 10 : xmpData_["Xmp.video.AspectRatio"] = "1:1" ; break; case 16 : xmpData_["Xmp.video.AspectRatio"] = "16:10" ; break; case 22 : xmpData_["Xmp.video.AspectRatio"] = "2.21:1" ; break; case 23 : xmpData_["Xmp.video.AspectRatio"] = "2.35:1" ; break; case 12 : xmpData_["Xmp.video.AspectRatio"] = "5:4" ; break; default : xmpData_["Xmp.video.AspectRatio"] = aspectRatio;break; } } // MatroskaVideo::aspectRatio uint32_t MatroskaVideo::findBlockSize(byte b) { if (b & 128) return 1; else if (b & 64) return 2; else if (b & 32) return 3; else if (b & 16) return 4; else if (b & 8) return 5; else if (b & 4) return 6; else if (b & 2) return 7; else if (b & 1) return 8; else return 0; } // MatroskaVideo::findBlockSize Image::AutoPtr newMkvInstance(BasicIo::AutoPtr io, bool /*create*/) { Image::AutoPtr image(new MatroskaVideo(io)); if (!image->good()) { image.reset(); } return image; } bool isMkvType(BasicIo& iIo, bool advance) { bool result = true; byte tmpBuf[4]; iIo.read(tmpBuf, 4); if (iIo.error() || iIo.eof()) return false; if (0x1a != tmpBuf[0] || 0x45 != tmpBuf[1] || 0xdf != tmpBuf[2] || 0xa3 != tmpBuf[3]) { result = false; } if (!advance || !result ) iIo.seek(0, BasicIo::beg); return result; } } // namespace Exiv2 #endif // EXV_ENABLE_VIDEO exiv2-0.25/src/xmp.cpp0000664000175000017500000007276112521135474014433 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: xmp.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 13-July-07, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: xmp.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // ***************************************************************************** // included header files #include "xmp.hpp" #include "types.hpp" #include "error.hpp" #include "value.hpp" #include "properties.hpp" // + standard includes #include #include #include #include // Adobe XMP Toolkit #ifdef EXV_HAVE_XMP_TOOLKIT # define TXMP_STRING_TYPE std::string # include # include #endif // EXV_HAVE_XMP_TOOLKIT // ***************************************************************************** // local declarations namespace { //! Unary predicate that matches an Xmpdatum by key class FindXmpdatum { public: //! Constructor, initializes the object with key FindXmpdatum(const Exiv2::XmpKey& key) : key_(key.key()) {} /*! @brief Returns true if prefix and property of the argument Xmpdatum are equal to that of the object. */ bool operator()(const Exiv2::Xmpdatum& xmpdatum) const { return key_ == xmpdatum.key(); } private: std::string key_; }; // class FindXmpdatum #ifdef EXV_HAVE_XMP_TOOLKIT //! Convert XMP Toolkit struct option bit to Value::XmpStruct Exiv2::XmpValue::XmpStruct xmpStruct(const XMP_OptionBits& opt); //! Convert Value::XmpStruct to XMP Toolkit array option bits XMP_OptionBits xmpArrayOptionBits(Exiv2::XmpValue::XmpStruct xs); //! Convert XMP Toolkit array option bits to array TypeId Exiv2::TypeId arrayValueTypeId(const XMP_OptionBits& opt); //! Convert XMP Toolkit array option bits to Value::XmpArrayType Exiv2::XmpValue::XmpArrayType xmpArrayType(const XMP_OptionBits& opt); //! Convert Value::XmpArrayType to XMP Toolkit array option bits XMP_OptionBits xmpArrayOptionBits(Exiv2::XmpValue::XmpArrayType xat); //! Convert XmpFormatFlags to XMP Toolkit format option bits XMP_OptionBits xmpFormatOptionBits(Exiv2::XmpParser::XmpFormatFlags flags); //! Print information about a parsed XMP node void printNode(const std::string& schemaNs, const std::string& propPath, const std::string& propValue, const XMP_OptionBits& opt); #endif // EXV_HAVE_XMP_TOOLKIT //! Make an XMP key from a schema namespace and property path Exiv2::XmpKey::AutoPtr makeXmpKey(const std::string& schemaNs, const std::string& propPath); //! Helper class used to serialize critical sections class AutoLock { public: AutoLock(Exiv2::XmpParser::XmpLockFct xmpLockFct, void* pLockData) : xmpLockFct_(xmpLockFct), pLockData_(pLockData) { if (xmpLockFct_) xmpLockFct_(pLockData_, true); } ~AutoLock() { if (xmpLockFct_) xmpLockFct_(pLockData_, false); } private: Exiv2::XmpParser::XmpLockFct xmpLockFct_; void* pLockData_; }; } // ***************************************************************************** // class member definitions namespace Exiv2 { //! Internal Pimpl structure of class Xmpdatum. struct Xmpdatum::Impl { Impl(const XmpKey& key, const Value* pValue); //!< Constructor Impl(const Impl& rhs); //!< Copy constructor Impl& operator=(const Impl& rhs); //!< Assignment // DATA XmpKey::AutoPtr key_; //!< Key Value::AutoPtr value_; //!< Value }; Xmpdatum::Impl::Impl(const XmpKey& key, const Value* pValue) : key_(key.clone()) { if (pValue) value_ = pValue->clone(); } Xmpdatum::Impl::Impl(const Impl& rhs) { if (rhs.key_.get() != 0) key_ = rhs.key_->clone(); // deep copy if (rhs.value_.get() != 0) value_ = rhs.value_->clone(); // deep copy } Xmpdatum::Impl& Xmpdatum::Impl::operator=(const Impl& rhs) { if (this == &rhs) return *this; key_.reset(); if (rhs.key_.get() != 0) key_ = rhs.key_->clone(); // deep copy value_.reset(); if (rhs.value_.get() != 0) value_ = rhs.value_->clone(); // deep copy return *this; } Xmpdatum::Xmpdatum(const XmpKey& key, const Value* pValue) : p_(new Impl(key, pValue)) { } Xmpdatum::Xmpdatum(const Xmpdatum& rhs) : Metadatum(rhs), p_(new Impl(*rhs.p_)) { } Xmpdatum& Xmpdatum::operator=(const Xmpdatum& rhs) { if (this == &rhs) return *this; Metadatum::operator=(rhs); *p_ = *rhs.p_; return *this; } Xmpdatum::~Xmpdatum() { delete p_; } std::string Xmpdatum::key() const { return p_->key_.get() == 0 ? "" : p_->key_->key(); } const char* Xmpdatum::familyName() const { return p_->key_.get() == 0 ? "" : p_->key_->familyName(); } std::string Xmpdatum::groupName() const { return p_->key_.get() == 0 ? "" : p_->key_->groupName(); } std::string Xmpdatum::tagName() const { return p_->key_.get() == 0 ? "" : p_->key_->tagName(); } std::string Xmpdatum::tagLabel() const { return p_->key_.get() == 0 ? "" : p_->key_->tagLabel(); } uint16_t Xmpdatum::tag() const { return p_->key_.get() == 0 ? 0 : p_->key_->tag(); } TypeId Xmpdatum::typeId() const { return p_->value_.get() == 0 ? invalidTypeId : p_->value_->typeId(); } const char* Xmpdatum::typeName() const { return TypeInfo::typeName(typeId()); } long Xmpdatum::typeSize() const { return 0; } long Xmpdatum::count() const { return p_->value_.get() == 0 ? 0 : p_->value_->count(); } long Xmpdatum::size() const { return p_->value_.get() == 0 ? 0 : p_->value_->size(); } std::string Xmpdatum::toString() const { return p_->value_.get() == 0 ? "" : p_->value_->toString(); } std::string Xmpdatum::toString(long n) const { return p_->value_.get() == 0 ? "" : p_->value_->toString(n); } long Xmpdatum::toLong(long n) const { return p_->value_.get() == 0 ? -1 : p_->value_->toLong(n); } float Xmpdatum::toFloat(long n) const { return p_->value_.get() == 0 ? -1 : p_->value_->toFloat(n); } Rational Xmpdatum::toRational(long n) const { return p_->value_.get() == 0 ? Rational(-1, 1) : p_->value_->toRational(n); } Value::AutoPtr Xmpdatum::getValue() const { return p_->value_.get() == 0 ? Value::AutoPtr(0) : p_->value_->clone(); } const Value& Xmpdatum::value() const { if (p_->value_.get() == 0) throw Error(8); return *p_->value_; } long Xmpdatum::copy(byte* /*buf*/, ByteOrder /*byteOrder*/) const { throw Error(34, "Xmpdatum::copy"); return 0; } std::ostream& Xmpdatum::write(std::ostream& os, const ExifData*) const { return XmpProperties::printProperty(os, key(), value()); } Xmpdatum& Xmpdatum::operator=(const std::string& value) { setValue(value); return *this; } Xmpdatum& Xmpdatum::operator=(const Value& value) { setValue(&value); return *this; } void Xmpdatum::setValue(const Value* pValue) { p_->value_.reset(); if (pValue) p_->value_ = pValue->clone(); } int Xmpdatum::setValue(const std::string& value) { if (p_->value_.get() == 0) { TypeId type = xmpText; if (0 != p_->key_.get()) { type = XmpProperties::propertyType(*p_->key_.get()); } p_->value_ = Value::create(type); } return p_->value_->read(value); } Xmpdatum& XmpData::operator[](const std::string& key) { XmpKey xmpKey(key); iterator pos = findKey(xmpKey); if (pos == end()) { add(Xmpdatum(xmpKey)); pos = findKey(xmpKey); } return *pos; } int XmpData::add(const XmpKey& key, const Value* value) { return add(Xmpdatum(key, value)); } int XmpData::add(const Xmpdatum& xmpDatum) { xmpMetadata_.push_back(xmpDatum); return 0; } XmpData::const_iterator XmpData::findKey(const XmpKey& key) const { return std::find_if(xmpMetadata_.begin(), xmpMetadata_.end(), FindXmpdatum(key)); } XmpData::iterator XmpData::findKey(const XmpKey& key) { return std::find_if(xmpMetadata_.begin(), xmpMetadata_.end(), FindXmpdatum(key)); } void XmpData::clear() { xmpMetadata_.clear(); } void XmpData::sortByKey() { std::sort(xmpMetadata_.begin(), xmpMetadata_.end(), cmpMetadataByKey); } XmpData::const_iterator XmpData::begin() const { return xmpMetadata_.begin(); } XmpData::const_iterator XmpData::end() const { return xmpMetadata_.end(); } bool XmpData::empty() const { return count() == 0; } long XmpData::count() const { return static_cast(xmpMetadata_.size()); } XmpData::iterator XmpData::begin() { return xmpMetadata_.begin(); } XmpData::iterator XmpData::end() { return xmpMetadata_.end(); } XmpData::iterator XmpData::erase(XmpData::iterator pos) { return xmpMetadata_.erase(pos); } bool XmpParser::initialized_ = false; XmpParser::XmpLockFct XmpParser::xmpLockFct_ = 0; void* XmpParser::pLockData_ = 0; bool XmpParser::initialize(XmpParser::XmpLockFct xmpLockFct, void* pLockData) { if (!initialized_) { #ifdef EXV_HAVE_XMP_TOOLKIT xmpLockFct_ = xmpLockFct; pLockData_ = pLockData; initialized_ = SXMPMeta::Initialize(); SXMPMeta::RegisterNamespace("http://ns.adobe.com/lightroom/1.0/", "lr"); SXMPMeta::RegisterNamespace("http://rs.tdwg.org/dwc/index.htm", "dwc"); SXMPMeta::RegisterNamespace("http://purl.org/dc/terms/", "dcterms"); SXMPMeta::RegisterNamespace("http://www.digikam.org/ns/1.0/", "digiKam"); SXMPMeta::RegisterNamespace("http://www.digikam.org/ns/kipi/1.0/", "kipi"); SXMPMeta::RegisterNamespace("http://ns.microsoft.com/photo/1.0/", "MicrosoftPhoto"); SXMPMeta::RegisterNamespace("http://ns.acdsee.com/iptc/1.0/", "acdsee"); SXMPMeta::RegisterNamespace("http://iptc.org/std/Iptc4xmpExt/2008-02-29/", "iptcExt"); SXMPMeta::RegisterNamespace("http://ns.useplus.org/ldf/xmp/1.0/", "plus"); SXMPMeta::RegisterNamespace("http://ns.iview-multimedia.com/mediapro/1.0/", "mediapro"); SXMPMeta::RegisterNamespace("http://ns.microsoft.com/expressionmedia/1.0/", "expressionmedia"); SXMPMeta::RegisterNamespace("http://ns.microsoft.com/photo/1.2/", "MP"); SXMPMeta::RegisterNamespace("http://ns.microsoft.com/photo/1.2/t/RegionInfo#", "MPRI"); SXMPMeta::RegisterNamespace("http://ns.microsoft.com/photo/1.2/t/Region#", "MPReg"); SXMPMeta::RegisterNamespace("http://ns.google.com/photos/1.0/panorama/", "GPano"); SXMPMeta::RegisterNamespace("http://www.metadataworkinggroup.com/schemas/regions/", "mwg-rs"); SXMPMeta::RegisterNamespace("http://www.metadataworkinggroup.com/schemas/keywords/", "mwg-kw"); SXMPMeta::RegisterNamespace("http://ns.adobe.com/xmp/sType/Area#", "stArea"); #else initialized_ = true; #endif } return initialized_; } void XmpParser::terminate() { XmpProperties::unregisterNs(); if (initialized_) { #ifdef EXV_HAVE_XMP_TOOLKIT SXMPMeta::Terminate(); #endif xmpLockFct_ = 0; pLockData_ = 0; initialized_ = false; } } #ifdef EXV_HAVE_XMP_TOOLKIT void XmpParser::registerNs(const std::string& ns, const std::string& prefix) { try { initialize(); AutoLock autoLock(xmpLockFct_, pLockData_); SXMPMeta::DeleteNamespace(ns.c_str()); SXMPMeta::RegisterNamespace(ns.c_str(), prefix.c_str()); } catch (const XMP_Error& e) { throw Error(40, e.GetID(), e.GetErrMsg()); } } // XmpParser::registerNs #else void XmpParser::registerNs(const std::string& /*ns*/, const std::string& /*prefix*/) { initialize(); } // XmpParser::registerNs #endif void XmpParser::unregisterNs(const std::string& /*ns*/) { #ifdef EXV_HAVE_XMP_TOOLKIT try { // Throws XMP Toolkit error 8: Unimplemented method XMPMeta::DeleteNamespace // SXMPMeta::DeleteNamespace(ns.c_str()); } catch (const XMP_Error& e) { throw Error(40, e.GetID(), e.GetErrMsg()); } #endif } // XmpParser::unregisterNs #ifdef EXV_HAVE_XMP_TOOLKIT int XmpParser::decode( XmpData& xmpData, const std::string& xmpPacket) { try { xmpData.clear(); if (xmpPacket.empty()) return 0; if (!initialize()) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "XMP toolkit initialization failed.\n"; #endif return 2; } SXMPMeta meta(xmpPacket.data(), static_cast(xmpPacket.size())); SXMPIterator iter(meta); std::string schemaNs, propPath, propValue; XMP_OptionBits opt; while (iter.Next(&schemaNs, &propPath, &propValue, &opt)) { printNode(schemaNs, propPath, propValue, opt); if (XMP_PropIsAlias(opt)) { throw Error(47, schemaNs, propPath, propValue); continue; } if (XMP_NodeIsSchema(opt)) { // Register unknown namespaces with Exiv2 // (Namespaces are automatically registered with the XMP Toolkit) if (XmpProperties::prefix(schemaNs).empty()) { std::string prefix; bool ret = meta.GetNamespacePrefix(schemaNs.c_str(), &prefix); if (!ret) throw Error(45, schemaNs); prefix = prefix.substr(0, prefix.size() - 1); XmpProperties::registerNs(schemaNs, prefix); } continue; } XmpKey::AutoPtr key = makeXmpKey(schemaNs, propPath); if (XMP_ArrayIsAltText(opt)) { // Read Lang Alt property LangAltValue::AutoPtr val(new LangAltValue); XMP_Index count = meta.CountArrayItems(schemaNs.c_str(), propPath.c_str()); while (count-- > 0) { // Get the text bool haveNext = iter.Next(&schemaNs, &propPath, &propValue, &opt); printNode(schemaNs, propPath, propValue, opt); if ( !haveNext || !XMP_PropIsSimple(opt) || !XMP_PropHasLang(opt)) { throw Error(41, propPath, opt); } const std::string text = propValue; // Get the language qualifier haveNext = iter.Next(&schemaNs, &propPath, &propValue, &opt); printNode(schemaNs, propPath, propValue, opt); if ( !haveNext || !XMP_PropIsSimple(opt) || !XMP_PropIsQualifier(opt) || propPath.substr(propPath.size() - 8, 8) != "xml:lang") { throw Error(42, propPath, opt); } val->value_[propValue] = text; } xmpData.add(*key.get(), val.get()); continue; } if ( XMP_PropIsArray(opt) && !XMP_PropHasQualifiers(opt) && !XMP_ArrayIsAltText(opt)) { // Check if all elements are simple bool simpleArray = true; SXMPIterator aIter(meta, schemaNs.c_str(), propPath.c_str()); std::string aSchemaNs, aPropPath, aPropValue; XMP_OptionBits aOpt; while (aIter.Next(&aSchemaNs, &aPropPath, &aPropValue, &aOpt)) { if (propPath == aPropPath) continue; if ( !XMP_PropIsSimple(aOpt) || XMP_PropHasQualifiers(aOpt) || XMP_PropIsQualifier(aOpt) || XMP_NodeIsSchema(aOpt) || XMP_PropIsAlias(aOpt)) { simpleArray = false; break; } } if (simpleArray) { // Read the array into an XmpArrayValue XmpArrayValue::AutoPtr val(new XmpArrayValue(arrayValueTypeId(opt))); XMP_Index count = meta.CountArrayItems(schemaNs.c_str(), propPath.c_str()); while (count-- > 0) { iter.Next(&schemaNs, &propPath, &propValue, &opt); printNode(schemaNs, propPath, propValue, opt); val->read(propValue); } xmpData.add(*key.get(), val.get()); continue; } } XmpTextValue::AutoPtr val(new XmpTextValue); if ( XMP_PropIsStruct(opt) || XMP_PropIsArray(opt)) { // Create a metadatum with only XMP options val->setXmpArrayType(xmpArrayType(opt)); val->setXmpStruct(xmpStruct(opt)); xmpData.add(*key.get(), val.get()); continue; } if ( XMP_PropIsSimple(opt) || XMP_PropIsQualifier(opt)) { val->read(propValue); xmpData.add(*key.get(), val.get()); continue; } // Don't let any node go by unnoticed throw Error(39, key->key(), opt); } // iterate through all XMP nodes return 0; } #ifndef SUPPRESS_WARNINGS catch (const XMP_Error& e) { EXV_ERROR << Error(40, e.GetID(), e.GetErrMsg()) << "\n"; xmpData.clear(); return 3; } #else catch (const XMP_Error&) { xmpData.clear(); return 3; } #endif // SUPPRESS_WARNINGS } // XmpParser::decode #else int XmpParser::decode( XmpData& xmpData, const std::string& xmpPacket) { xmpData.clear(); if (!xmpPacket.empty()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "XMP toolkit support not compiled in.\n"; #endif } return 1; } // XmpParser::decode #endif // !EXV_HAVE_XMP_TOOLKIT #ifdef EXV_HAVE_XMP_TOOLKIT int XmpParser::encode( std::string& xmpPacket, const XmpData& xmpData, uint16_t formatFlags, uint32_t padding) { try { if (xmpData.empty()) { xmpPacket.clear(); return 0; } if (!initialize()) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "XMP toolkit initialization failed.\n"; #endif return 2; } // Register custom namespaces with XMP-SDK for (XmpProperties::NsRegistry::iterator i = XmpProperties::nsRegistry_.begin(); i != XmpProperties::nsRegistry_.end(); ++i) { #ifdef DEBUG std::cerr << "Registering " << i->second.prefix_ << " : " << i->first << "\n"; #endif registerNs(i->first, i->second.prefix_); } SXMPMeta meta; for (XmpData::const_iterator i = xmpData.begin(); i != xmpData.end(); ++i) { const std::string ns = XmpProperties::ns(i->groupName()); XMP_OptionBits options = 0; if (i->typeId() == langAlt) { // Encode Lang Alt property const LangAltValue* la = dynamic_cast(&i->value()); if (la == 0) throw Error(43, i->key()); int idx = 1; for ( LangAltValue::ValueType::const_iterator k = la->value_.begin() ; k != la->value_.end() ; ++k ) { if ( k->second.size() ) { // remove lang specs with no value printNode(ns, i->tagName(), k->second, 0); meta.AppendArrayItem(ns.c_str(), i->tagName().c_str(), kXMP_PropArrayIsAlternate, k->second.c_str()); const std::string item = i->tagName() + "[" + toString(idx++) + "]"; meta.SetQualifier(ns.c_str(), item.c_str(), kXMP_NS_XML, "lang", k->first.c_str()); } } continue; } // Todo: Xmpdatum should have an XmpValue, not a Value const XmpValue* val = dynamic_cast(&i->value()); if (val == 0) throw Error(52, i->key(), i->typeName()); options = xmpArrayOptionBits(val->xmpArrayType()) | xmpArrayOptionBits(val->xmpStruct()); if ( i->typeId() == xmpBag || i->typeId() == xmpSeq || i->typeId() == xmpAlt) { printNode(ns, i->tagName(), "", options); meta.SetProperty(ns.c_str(), i->tagName().c_str(), 0, options); for (int idx = 0; idx < i->count(); ++idx) { const std::string item = i->tagName() + "[" + toString(idx + 1) + "]"; printNode(ns, item, i->toString(idx), 0); meta.SetProperty(ns.c_str(), item.c_str(), i->toString(idx).c_str()); } continue; } if (i->typeId() == xmpText) { if (i->count() == 0) { printNode(ns, i->tagName(), "", options); meta.SetProperty(ns.c_str(), i->tagName().c_str(), 0, options); } else { printNode(ns, i->tagName(), i->toString(0), options); meta.SetProperty(ns.c_str(), i->tagName().c_str(), i->toString(0).c_str(), options); } continue; } // Don't let any Xmpdatum go by unnoticed throw Error(38, i->tagName(), i->typeName()); } std::string tmpPacket; meta.SerializeToBuffer(&tmpPacket, xmpFormatOptionBits(static_cast(formatFlags)), padding); // throws xmpPacket = tmpPacket; return 0; } #ifndef SUPPRESS_WARNINGS catch (const XMP_Error& e) { EXV_ERROR << Error(40, e.GetID(), e.GetErrMsg()) << "\n"; return 3; } #else catch (const XMP_Error&) { return 3; } #endif // SUPPRESS_WARNINGS } // XmpParser::decode #else int XmpParser::encode( std::string& /*xmpPacket*/, const XmpData& xmpData, uint16_t /*formatFlags*/, uint32_t /*padding*/) { if (!xmpData.empty()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "XMP toolkit support not compiled in.\n"; #endif } return 1; } // XmpParser::encode #endif // !EXV_HAVE_XMP_TOOLKIT } // namespace Exiv2 // ***************************************************************************** // local definitions namespace { #ifdef EXV_HAVE_XMP_TOOLKIT Exiv2::XmpValue::XmpStruct xmpStruct(const XMP_OptionBits& opt) { Exiv2::XmpValue::XmpStruct var(Exiv2::XmpValue::xsNone); if (XMP_PropIsStruct(opt)) { var = Exiv2::XmpValue::xsStruct; } return var; } XMP_OptionBits xmpArrayOptionBits(Exiv2::XmpValue::XmpStruct xs) { XMP_OptionBits var(0); switch (xs) { case Exiv2::XmpValue::xsNone: break; case Exiv2::XmpValue::xsStruct: XMP_SetOption(var, kXMP_PropValueIsStruct); break; } return var; } Exiv2::TypeId arrayValueTypeId(const XMP_OptionBits& opt) { Exiv2::TypeId typeId(Exiv2::invalidTypeId); if (XMP_PropIsArray(opt)) { if (XMP_ArrayIsAlternate(opt)) typeId = Exiv2::xmpAlt; else if (XMP_ArrayIsOrdered(opt)) typeId = Exiv2::xmpSeq; else if (XMP_ArrayIsUnordered(opt)) typeId = Exiv2::xmpBag; } return typeId; } Exiv2::XmpValue::XmpArrayType xmpArrayType(const XMP_OptionBits& opt) { return Exiv2::XmpValue::xmpArrayType(arrayValueTypeId(opt)); } XMP_OptionBits xmpArrayOptionBits(Exiv2::XmpValue::XmpArrayType xat) { XMP_OptionBits var(0); switch (xat) { case Exiv2::XmpValue::xaNone: break; case Exiv2::XmpValue::xaAlt: XMP_SetOption(var, kXMP_PropValueIsArray); XMP_SetOption(var, kXMP_PropArrayIsAlternate); break; case Exiv2::XmpValue::xaSeq: XMP_SetOption(var, kXMP_PropValueIsArray); XMP_SetOption(var, kXMP_PropArrayIsOrdered); break; case Exiv2::XmpValue::xaBag: XMP_SetOption(var, kXMP_PropValueIsArray); break; } return var; } XMP_OptionBits xmpFormatOptionBits(Exiv2::XmpParser::XmpFormatFlags flags) { XMP_OptionBits var(0); if (flags & Exiv2::XmpParser::omitPacketWrapper) var |= kXMP_OmitPacketWrapper; if (flags & Exiv2::XmpParser::readOnlyPacket) var |= kXMP_ReadOnlyPacket; if (flags & Exiv2::XmpParser::useCompactFormat) var |= kXMP_UseCompactFormat; if (flags & Exiv2::XmpParser::includeThumbnailPad) var |= kXMP_IncludeThumbnailPad; if (flags & Exiv2::XmpParser::exactPacketLength) var |= kXMP_ExactPacketLength; if (flags & Exiv2::XmpParser::writeAliasComments) var |= kXMP_WriteAliasComments; if (flags & Exiv2::XmpParser::omitAllFormatting) var |= kXMP_OmitAllFormatting; return var; } #ifdef DEBUG void printNode(const std::string& schemaNs, const std::string& propPath, const std::string& propValue, const XMP_OptionBits& opt) { static bool first = true; if (first) { first = false; std::cout << "ashisabsals\n" << "lcqqtrgqlai\n"; } enum { alia=0, sche, hasq, isqu, stru, arra, abag, aseq, aalt, lang, simp, len }; std::string opts(len, '.'); if (XMP_PropIsAlias(opt)) opts[alia] = 'X'; if (XMP_NodeIsSchema(opt)) opts[sche] = 'X'; if (XMP_PropHasQualifiers(opt)) opts[hasq] = 'X'; if (XMP_PropIsQualifier(opt)) opts[isqu] = 'X'; if (XMP_PropIsStruct(opt)) opts[stru] = 'X'; if (XMP_PropIsArray(opt)) opts[arra] = 'X'; if (XMP_ArrayIsUnordered(opt)) opts[abag] = 'X'; if (XMP_ArrayIsOrdered(opt)) opts[aseq] = 'X'; if (XMP_ArrayIsAlternate(opt)) opts[aalt] = 'X'; if (XMP_ArrayIsAltText(opt)) opts[lang] = 'X'; if (XMP_PropIsSimple(opt)) opts[simp] = 'X'; std::cout << opts << " "; if (opts[sche] == 'X') { std::cout << "ns=" << schemaNs; } else { std::cout << propPath << " = " << propValue; } std::cout << std::endl; } #else void printNode(const std::string& , const std::string& , const std::string& , const XMP_OptionBits& ) {} #endif // DEBUG #endif // EXV_HAVE_XMP_TOOLKIT Exiv2::XmpKey::AutoPtr makeXmpKey(const std::string& schemaNs, const std::string& propPath) { std::string property; std::string::size_type idx = propPath.find(':'); if (idx == std::string::npos) { throw Exiv2::Error(44, propPath, schemaNs); } // Don't worry about out_of_range, XMP parser takes care of this property = propPath.substr(idx + 1); std::string prefix = Exiv2::XmpProperties::prefix(schemaNs); if (prefix.empty()) { throw Exiv2::Error(36, propPath, schemaNs); } return Exiv2::XmpKey::AutoPtr(new Exiv2::XmpKey(prefix, property)); } // makeXmpKey } exiv2-0.25/src/ssh.cpp0000664000175000017500000001242412540430361014404 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: rw2image.cpp Version: $Rev: 3201 $ Author(s): Andreas Huggel (ahu) History: 06-Jan-09, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: rw2image.cpp 3201 2013-12-01 12:13:42Z ahuggel $") #include "ssh.hpp" #if EXV_USE_SSH == 1 // class member definitions namespace Exiv2 { SSH::SSH(const std::string& host, const std::string& user, const std::string& pass, const std::string port): host_(host),user_(user),pass_(pass),sftp_(0) { std::string timeout = getEnv(envTIMEOUT); timeout_ = atol(timeout.c_str()); if (timeout_ == 0) { throw Error(1, "Timeout Environmental Variable must be a positive integer."); } session_ = ssh_new(); if (session_ == NULL) { throw Error(1, "Unable to create the the ssh session"); } // try to connect ssh_options_set(session_, SSH_OPTIONS_HOST, host_.c_str()); ssh_options_set(session_, SSH_OPTIONS_USER, user_.c_str()); ssh_options_set(session_, SSH_OPTIONS_TIMEOUT, &timeout_); if (port != "") ssh_options_set(session_, SSH_OPTIONS_PORT_STR, port.c_str()); if (ssh_connect(session_) != SSH_OK) { throw Error(1, ssh_get_error(session_)); } // Authentication if (ssh_userauth_password(session_, NULL, pass_.c_str()) != SSH_AUTH_SUCCESS) { throw Error(1, ssh_get_error(session_)); } } int SSH::runCommand(const std::string& cmd, std::string* output) { int rc; ssh_channel channel; channel = ssh_channel_new(session_); if (channel == NULL) { rc = SSH_ERROR; } else { rc = ssh_channel_open_session(channel); if (rc != SSH_OK) { ssh_channel_free(channel); } else { char buffer[256]; rc = ssh_channel_request_exec(channel, cmd.c_str()); if (rc == SSH_OK) { while ((rc = ssh_channel_read(channel, buffer, sizeof(buffer), 0)) > 0) { output->append(buffer, rc); } } ssh_channel_send_eof(channel); ssh_channel_close(channel); ssh_channel_free(channel); } } return rc; } int SSH::scp(const std::string& filePath, const byte* data, size_t size) { ssh_scp scp; int rc; size_t found = filePath.find_last_of("/\\"); std::string filename = filePath.substr(found+1); std::string path = filePath.substr(0, found+1); scp = ssh_scp_new(session_, SSH_SCP_WRITE, path.c_str()); if (scp == NULL) { rc = SSH_ERROR; throw Error(1, ssh_get_error(session_)); } else { rc = ssh_scp_init(scp); if (rc != SSH_OK) { throw Error(1, ssh_get_error(session_)); } else { #ifdef _MSC_VER // S_IRUSR & S_IWUSR not in MSVC (0000400 & 0000200 in /usr/include/sys/stat.h on MacOS-X 10.8) #define S_IRUSR S_IREAD #define S_IWUSR S_IWRITE #endif rc = ssh_scp_push_file (scp, filename.c_str(), size, S_IRUSR | S_IWUSR); if (rc != SSH_OK) { throw Error(1, ssh_get_error(session_)); } else { rc = ssh_scp_write(scp, data, size); if (rc != SSH_OK) { throw Error(1, ssh_get_error(session_)); } } ssh_scp_close(scp); } ssh_scp_free(scp); } return rc; } void SSH::openSftp() { if (sftp_) return; sftp_ = sftp_new(session_); if (sftp_ == NULL) { throw Error(1, "Unable to create the the sftp session"); } if (sftp_init(sftp_) != SSH_OK) { sftp_free(sftp_); throw Error(1, "Error initializing SFTP session"); } } void SSH::getFileSftp(const std::string& filePath, sftp_file& handle) { if (!sftp_) openSftp(); handle = sftp_open(sftp_, ("/"+filePath).c_str(), 0x0000, 0); // read only } SSH::~SSH() { if (sftp_) sftp_free(sftp_); ssh_disconnect(session_); ssh_free(session_); } } #endif // EXV_USE_SSH == 1 exiv2-0.25/src/makernote_int.hpp0000664000175000017500000006767712521135474016505 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file makernote_int.hpp @brief Makernote factory and registry, IFD makernote header, and camera vendor specific makernote implementations.
References:
[1] ExifTool by Phil Harvey
[2] Decoding raw digital photos in Linux by Dave Coffin @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 11-Apr-06, ahu: created */ #ifndef MAKERNOTE_INT_HPP_ #define MAKERNOTE_INT_HPP_ // ***************************************************************************** // included header files #include "tifffwd_int.hpp" #include "tags_int.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { namespace Internal { // ***************************************************************************** // class definitions //! Type for a pointer to a function creating a makernote (image) typedef TiffComponent* (*NewMnFct)(uint16_t tag, IfdId group, IfdId mnGroup, const byte* pData, uint32_t size, ByteOrder byteOrder); //! Type for a pointer to a function creating a makernote (group) typedef TiffComponent* (*NewMnFct2)(uint16_t tag, IfdId group, IfdId mnGroup); //! Makernote registry structure struct TiffMnRegistry { struct MakeKey; /*! @brief Compare a TiffMnRegistry structure with a key being the make string from the image. The two are equal if TiffMnRegistry::make_ equals a substring of the key of the same size. E.g., registry = "OLYMPUS", key = "OLYMPUS OPTICAL CO.,LTD" (found in the image) match. */ bool operator==(const std::string& key) const; //! Compare a TiffMnRegistry structure with a makernote group bool operator==(IfdId key) const; // DATA const char* make_; //!< Camera make IfdId mnGroup_; //!< Group identifier NewMnFct newMnFct_; //!< Makernote create function (image) NewMnFct2 newMnFct2_; //!< Makernote create function (group) }; /*! @brief TIFF makernote factory for concrete TIFF makernotes. */ class TiffMnCreator { public: /*! @brief Create the Makernote for camera \em make and details from the makernote entry itself if needed. Return a pointer to the newly created TIFF component. Set tag and group of the new component to \em tag and \em group. This method is used when a makernote is parsed from the Exif block. @note Ownership for the component is transferred to the caller, who is responsible to delete the component. No smart pointer is used to indicate this transfer here in order to reduce file dependencies. */ static TiffComponent* create(uint16_t tag, IfdId group, const std::string& make, const byte* pData, uint32_t size, ByteOrder byteOrder); /*! @brief Create the Makernote for a given group. This method is used when a makernote is written back from Exif tags. */ static TiffComponent* create(uint16_t tag, IfdId group, IfdId mnGroup); protected: //! Prevent destruction (needed if used as a policy class) ~TiffMnCreator() {} private: static const TiffMnRegistry registry_[]; //'s isdigit, this also works if c < 0 | c > UCHAR_MAX. */ #define is_digit(c) ((unsigned)(c) - '0' <= 9) /* ** Workarounds for compilers/systems. */ /* ** SunOS 4.1.1 cc lacks prototypes. */ #ifndef P #ifdef __STDC__ #define P(x) x #endif /* defined __STDC__ */ #ifndef __STDC__ #define P(x) () #endif /* !defined __STDC__ */ #endif /* !defined P */ /* ** SunOS 4.1.1 headers lack EXIT_SUCCESS. */ #ifndef EXIT_SUCCESS #define EXIT_SUCCESS 0 #endif /* !defined EXIT_SUCCESS */ /* ** SunOS 4.1.1 headers lack EXIT_FAILURE. */ #ifndef EXIT_FAILURE #define EXIT_FAILURE 1 #endif /* !defined EXIT_FAILURE */ /* ** SunOS 4.1.1 headers lack FILENAME_MAX. */ #ifndef FILENAME_MAX #ifndef MAXPATHLEN #ifdef unix #include "sys/param.h" #endif /* defined unix */ #endif /* !defined MAXPATHLEN */ #ifdef MAXPATHLEN #define FILENAME_MAX MAXPATHLEN #endif /* defined MAXPATHLEN */ #ifndef MAXPATHLEN #define FILENAME_MAX 1024 /* Pure guesswork */ #endif /* !defined MAXPATHLEN */ #endif /* !defined FILENAME_MAX */ /* ahu: deleted unlink declaration and remove define */ /* ahu: deleted errno declaration */ /* ahu: deleted private function declarations */ /* ** Finally, some convenience items. */ #ifndef TRUE #define TRUE 1 #endif /* !defined TRUE */ #ifndef FALSE #define FALSE 0 #endif /* !defined FALSE */ #ifndef TYPE_BIT #define TYPE_BIT(type) (sizeof (type) * CHAR_BIT) #endif /* !defined TYPE_BIT */ #ifndef TYPE_SIGNED #define TYPE_SIGNED(type) (((type) -1) < 0) #endif /* !defined TYPE_SIGNED */ #ifndef INT_STRLEN_MAXIMUM /* ** 302 / 1000 is log10(2.0) rounded up. ** Subtract one for the sign bit if the type is signed; ** add one for integer division truncation; ** add one more for a minus sign if the type is signed. */ #define INT_STRLEN_MAXIMUM(type) \ ((TYPE_BIT(type) - TYPE_SIGNED(type)) * 302 / 1000 + 1 + TYPE_SIGNED(type)) #endif /* !defined INT_STRLEN_MAXIMUM */ /* ** INITIALIZE(x) */ #ifndef GNUC_or_lint #ifdef lint #define GNUC_or_lint #endif /* defined lint */ #ifndef lint #ifdef __GNUC__ #define GNUC_or_lint #endif /* defined __GNUC__ */ #endif /* !defined lint */ #endif /* !defined GNUC_or_lint */ #ifndef INITIALIZE #ifdef GNUC_or_lint #define INITIALIZE(x) ((x) = 0) #endif /* defined GNUC_or_lint */ #ifndef GNUC_or_lint #define INITIALIZE(x) #endif /* !defined GNUC_or_lint */ #endif /* !defined INITIALIZE */ /* ahu: deleted definition of _(msgid) macro */ #ifndef TZ_DOMAIN #define TZ_DOMAIN "tz" #endif /* !defined TZ_DOMAIN */ #if HAVE_INCOMPATIBLE_CTIME_R #undef asctime_r #undef ctime_r char *asctime_r P((struct tm const *, char *)); char *ctime_r P((time_t const *, char *)); #endif /* HAVE_INCOMPATIBLE_CTIME_R */ /* ** UNIX was a registered trademark of The Open Group in 2003. */ #endif /* !defined PRIVATE_H */ exiv2-0.25/src/nikonmn_int.hpp0000664000175000017500000003274212521135474016152 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file nikonmn_int.hpp @brief Nikon makernote tags.
References:
[1] MakerNote EXIF Tag of the Nikon 990 by Max Lyons
[2] Exif file format by TsuruZoh Tachibanaya
[3] "EXIFutils Field Reference Guide"
[3] Nikon Type 3 Makernote Tags Definition of the PHP JPEG Metadata Toolkit by Evan Hunter
[4] ExifTool by Phil Harvey
[5] Email communication with Robert Rottmerhusen
[6] Email communication with Roger Larsson
[7] Decoding raw digital photos in Linux by Dave Coffin
@version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @author Gilles Caulier (gc) caulier dot gilles at gmail dot com @author Jens Mueller (jm) tschensinger at web dot de @date 17-May-04, ahu: created
25-May-04, ahu: combined all Nikon formats in one component */ #ifndef NIKONMN_INT_HPP_ #define NIKONMN_INT_HPP_ // ***************************************************************************** // included header files #include "tags.hpp" #include "types.hpp" // + standard includes #include #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { namespace Internal { // ***************************************************************************** // class definitions //! A MakerNote format used by Nikon cameras, such as the E990 and D1. class Nikon1MakerNote { public: //! Return read-only list of built-in Nikon1 tags static const TagInfo* tagList(); //! @name Print functions for Nikon1 %MakerNote tags //@{ //! Print ISO setting static std::ostream& print0x0002(std::ostream& os, const Value& value, const ExifData*); //! Print autofocus mode static std::ostream& print0x0007(std::ostream& os, const Value& value, const ExifData*); //! Print manual focus distance static std::ostream& print0x0085(std::ostream& os, const Value& value, const ExifData*); //! Print digital zoom setting static std::ostream& print0x0086(std::ostream& os, const Value& value, const ExifData*); //! Print AF focus position static std::ostream& print0x0088(std::ostream& os, const Value& value, const ExifData*); //@} private: //! Tag information static const TagInfo tagInfo_[]; }; // class Nikon1MakerNote /*! @brief A second MakerNote format used by Nikon cameras, including the E700, E800, E900, E900S, E910, E950 */ class Nikon2MakerNote { public: //! Return read-only list of built-in Nikon2 tags static const TagInfo* tagList(); //! @name Print functions for Nikon2 %MakerNote tags //@{ //! Print digital zoom setting static std::ostream& print0x000a(std::ostream& os, const Value& value, const ExifData*); //@} private: //! Tag information static const TagInfo tagInfo_[]; }; // class Nikon2MakerNote //! A third MakerNote format used by Nikon cameras, e.g., E5400, SQ, D2H, D70 class Nikon3MakerNote { public: //! Return read-only list of built-in Nikon3 tags static const TagInfo* tagList(); //! Return read-only list of built-in Vibration Reduction tags static const TagInfo* tagListVr(); //! Return read-only list of built-in Picture Control tags static const TagInfo* tagListPc(); //! Return read-only list of built-in World time tags static const TagInfo* tagListWt(); //! Return read-only list of built-in ISO info tags static const TagInfo* tagListIi(); //! Return read-only list of built-in Auto Focus tags static const TagInfo* tagListAf(); //! Return read-only list of built-in Auto Focus 2 tags static const TagInfo* tagListAf2(); //! Return read-only list of built-in AF Fine Tune tags static const TagInfo* tagListAFT(); //! Return read-only list of built-in File Info tags static const TagInfo* tagListFi(); //! Return read-only list of built-in Multi Exposure tags static const TagInfo* tagListMe(); //! Return read-only list of built-in Flash Info 1 tags static const TagInfo* tagListFl1(); //! Return read-only list of built-in Flash Info 2 tags static const TagInfo* tagListFl2(); //! Return read-only list of built-in Flash Info 3 tags static const TagInfo* tagListFl3(); //! Return read-only list of built-in Shot Info D80 tags static const TagInfo* tagListSi1(); //! Return read-only list of built-in Shot Info D40 tags static const TagInfo* tagListSi2(); //! Return read-only list of built-in Shot Info D300 (a) tags static const TagInfo* tagListSi3(); //! Return read-only list of built-in Shot Info D300 (b) tags static const TagInfo* tagListSi4(); //! Return read-only list of built-in Shot Info tags static const TagInfo* tagListSi5(); //! Return read-only list of built-in Color Balance 1 tags static const TagInfo* tagListCb1(); //! Return read-only list of built-in Color Balance 2 tags static const TagInfo* tagListCb2(); //! Return read-only list of built-in Color Balance 2a tags static const TagInfo* tagListCb2a(); //! Return read-only list of built-in Color Balance 2b tags static const TagInfo* tagListCb2b(); //! Return read-only list of built-in Color Balance 3 tags static const TagInfo* tagListCb3(); //! Return read-only list of built-in Color Balance 4 tags static const TagInfo* tagListCb4(); //! Return read-only list of built-in Lens Data 1 tags static const TagInfo* tagListLd1(); //! Return read-only list of built-in Lens Data 2 tags static const TagInfo* tagListLd2(); //! Return read-only list of built-in Lens Data 3 tags static const TagInfo* tagListLd3(); //! @name Print functions for Nikon3 %MakerNote tags //@{ //! Print ISO setting static std::ostream& print0x0002(std::ostream& os, const Value& value, const ExifData*); //! Print autofocus mode static std::ostream& print0x0007(std::ostream& os, const Value& value, const ExifData*); //! Print lens type static std::ostream& print0x0083(std::ostream& os, const Value& value, const ExifData*); //! Print lens information static std::ostream& print0x0084(std::ostream& os, const Value& value, const ExifData*); //! Print manual focus distance static std::ostream& print0x0085(std::ostream& os, const Value& value, const ExifData*); //! Print digital zoom setting static std::ostream& print0x0086(std::ostream& os, const Value& value, const ExifData*); //! Print AF point static std::ostream& print0x0088(std::ostream& os, const Value& value, const ExifData*); //! Print shooting mode static std::ostream& print0x0089(std::ostream& os, const Value& value, const ExifData* metadata); //! Print number of lens stops static std::ostream& print0x008b(std::ostream& os, const Value& value, const ExifData*); //! Print AF Points In Focus static std::ostream& printAfPointsInFocus(std::ostream& os, const Value& value, const ExifData* metadata); //! Print lens name static std::ostream& printLensId(std::ostream& os, const Value& value, const ExifData* metadata, const std::string& group); static std::ostream& printLensId1(std::ostream& os, const Value& value, const ExifData* metadata); static std::ostream& printLensId2(std::ostream& os, const Value& value, const ExifData* metadata); static std::ostream& printLensId3(std::ostream& os, const Value& value, const ExifData* metadata); //! Print focus distance static std::ostream& printFocusDistance(std::ostream& os, const Value& value, const ExifData*); //! Print lens aperture value static std::ostream& printAperture(std::ostream& os, const Value& value, const ExifData*); //! Print lens focal length static std::ostream& printFocal(std::ostream& os, const Value& value, const ExifData*); //! Print lens f-stops static std::ostream& printFStops(std::ostream& os, const Value& value, const ExifData*); //! Print exit pupil position static std::ostream& printExitPupilPosition(std::ostream& os, const Value& value, const ExifData*); //! Print sensor pixel size static std::ostream& print0x009a(std::ostream& os, const Value& value, const ExifData*); //! Print retouch history static std::ostream& print0x009e(std::ostream& os, const Value& value, const ExifData*); //! Print Exif.NikonIi.ISO(2) static std::ostream& printIiIso(std::ostream& os, const Value& value, const ExifData*); //! Print flash focal length static std::ostream& printFlashFocalLength(std::ostream& os, const Value& value, const ExifData*); //! Print repeating flash rate static std::ostream& printRepeatingFlashRate(std::ostream& os, const Value& value, const ExifData*); //! Print repeating flash count static std::ostream& printRepeatingFlashCount(std::ostream& os, const Value& value, const ExifData*); //! Print time zone static std::ostream& printTimeZone(std::ostream& os, const Value& value, const ExifData*); //! Print picture control value static std::ostream& printPictureControl(std::ostream& os, const Value& value, const ExifData*); //@} private: //! Tag information static const TagInfo tagInfo_[]; //! Vibration Reduction tag information static const TagInfo tagInfoVr_[]; //! Picture Control tag information static const TagInfo tagInfoPc_[]; //! World Time tag information static const TagInfo tagInfoWt_[]; //! ISO info tag information static const TagInfo tagInfoIi_[]; //! Auto Focus tag information static const TagInfo tagInfoAf_[]; //! Auto Focus tag 2 information static const TagInfo tagInfoAf2_[]; //! AF Fine Tune tag information static const TagInfo tagInfoAFT_[]; //! File Info tag information static const TagInfo tagInfoFi_[]; //! Multi Exposure tag information static const TagInfo tagInfoMe_[]; //! Flash Info 1 tag information static const TagInfo tagInfoFl1_[]; //! Flash Info 2 tag information static const TagInfo tagInfoFl2_[]; //! Flash Info 3 tag information static const TagInfo tagInfoFl3_[]; //! Shot Info D80 tag information static const TagInfo tagInfoSi1_[]; //! Shot Info D40 tag information static const TagInfo tagInfoSi2_[]; //! Shot Info D300 (a) tag information static const TagInfo tagInfoSi3_[]; //! Shot Info D300 (b) tag information static const TagInfo tagInfoSi4_[]; //! Shot Info tag information static const TagInfo tagInfoSi5_[]; //! Color Balance 1 tag information static const TagInfo tagInfoCb1_[]; //! Color Balance 2 tag information static const TagInfo tagInfoCb2_[]; //! Color Balance 2a tag information static const TagInfo tagInfoCb2a_[]; //! Color Balance 2b tag information static const TagInfo tagInfoCb2b_[]; //! Color Balance 3 tag information static const TagInfo tagInfoCb3_[]; //! Color Balance 4 tag information static const TagInfo tagInfoCb4_[]; //! Lens Data 1 tag information static const TagInfo tagInfoLd1_[]; //! Lens Data 2 tag information static const TagInfo tagInfoLd2_[]; //! Lens Data 3 tag information static const TagInfo tagInfoLd3_[]; }; // class Nikon3MakerNote }} // namespace Internal, Exiv2 #endif // #ifndef NIKONMN_INT_HPP_ exiv2-0.25/src/tiffimage_int.hpp0000664000175000017500000004541212521135474016432 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file tiffimage_int.hpp @brief Internal class TiffParserWorker to parse TIFF data. @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 23-Apr-08, ahu: created */ #ifndef TIFFIMAGE_INT_HPP_ #define TIFFIMAGE_INT_HPP_ // ***************************************************************************** // included header files #include "tifffwd_int.hpp" #include "tiffcomposite_int.hpp" #include "image.hpp" #include "tags_int.hpp" #include "types.hpp" // + standard includes #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { /*! @brief Contains internal objects which are not published and are not part of the libexiv2 API. */ namespace Internal { // ***************************************************************************** // class definitions /*! @brief Abstract base class defining the interface of an image header. Used internally by classes for TIFF-based images. Default implementation is for the regular TIFF header. */ class TiffHeaderBase { public: //! @name Creators //@{ //! Constructor taking \em tag, \em size and default \em byteOrder and \em offset. TiffHeaderBase(uint16_t tag, uint32_t size, ByteOrder byteOrder, uint32_t offset); //! Virtual destructor. virtual ~TiffHeaderBase() =0; //@} //! @name Manipulators //@{ /*! @brief Read the image header from a data buffer. Return false if the data buffer does not contain an image header of the expected format, else true. @param pData Pointer to the data buffer. @param size Number of bytes in the data buffer. @return True if the TIFF header was read successfully. False if the data buffer does not contain a valid TIFF header. */ virtual bool read(const byte* pData, uint32_t size); //! Set the byte order. virtual void setByteOrder(ByteOrder byteOrder); //! Set the offset to the start of the root directory. virtual void setOffset(uint32_t offset); //@} //! @name Accessors //@{ /*! @brief Return the image header in binary format. The caller owns this data and %DataBuf ensures that it will be deleted. @return Binary header data. */ virtual DataBuf write() const; /*! @brief Print debug info for the image header to \em os. @param os Output stream to write to. @param prefix Prefix to be written before each line of output. */ virtual void print(std::ostream& os, const std::string& prefix ="") const; //! Return the byte order (little or big endian). virtual ByteOrder byteOrder() const; //! Return the offset to the start of the root directory. virtual uint32_t offset() const; //! Return the size (in bytes) of the image header. virtual uint32_t size() const; //! Return the tag value (magic number) which identifies the buffer as TIFF data. virtual uint16_t tag() const; /*! @brief Return \c true if the %Exif \em tag from \em group is an image tag. Certain tags of TIFF and TIFF-like images are required to correctly display the primary image. These image tags contain image data rather than metadata. @param tag Tag number. @param group Group identifier. @param pPrimaryGroups Pointer to a list of TIFF groups that contain primary images, empty if none are marked. @return The default implementation returns \c false. */ virtual bool isImageTag( uint16_t tag, IfdId group, const PrimaryGroups* pPrimaryGroups) const; //@} private: // DATA const uint16_t tag_; //!< Tag to identify the buffer as TIFF data const uint32_t size_; //!< Size of the header ByteOrder byteOrder_; //!< Applicable byte order uint32_t offset_; //!< Offset to the start of the root dir }; // class TiffHeaderBase //! Convenience function to check if tag, group is in the list of TIFF image tags. bool isTiffImageTag(uint16_t tag, IfdId group); /*! @brief Standard TIFF header structure. */ class TiffHeader : public TiffHeaderBase { public: //! @name Creators //@{ //! Default constructor TiffHeader(ByteOrder byteOrder =littleEndian, uint32_t offset =0x00000008, bool hasImageTags =true); //! Destructor ~TiffHeader(); //@} //@{ //! @name Accessors bool isImageTag( uint16_t tag, IfdId group, const PrimaryGroups* pPrimaryGroups) const; //@} private: // DATA bool hasImageTags_; //!< Indicates if image tags are supported }; // class TiffHeader /*! @brief Data structure used to list image tags for TIFF and TIFF-like images. */ struct TiffImgTagStruct { //! Search key for TIFF image tag structure. struct Key { //! Constructor Key(uint16_t t, IfdId g) : t_(t), g_(g) {} uint16_t t_; //!< %Tag IfdId g_; //!< %Group }; //! Comparison operator to compare a TiffImgTagStruct with a TiffImgTagStruct::Key bool operator==(const Key& key) const { return key.g_ == group_ && key.t_ == tag_; } // DATA uint16_t tag_; //!< Image tag IfdId group_; //!< Group that contains the image tag }; // struct TiffImgTagStruct /*! @brief Data structure used as a row (element) of a table (array) defining the TIFF component used for each tag in a group. */ struct TiffGroupStruct { //! Search key for TIFF group structure. struct Key { //! Constructor Key(uint32_t e, IfdId g) : e_(e), g_(g) {} uint32_t e_; //!< Extended tag IfdId g_; //!< %Group }; //! Comparison operator to compare a TiffGroupStruct with a TiffGroupStruct::Key bool operator==(const Key& key) const { return key.g_ == group_ && (Tag::all == extendedTag_ || key.e_ == extendedTag_); } //! Return the tag corresponding to the extended tag uint16_t tag() const { return static_cast(extendedTag_ & 0xffff); } // DATA uint32_t extendedTag_; //!< Tag (32 bit so that it can contain special tags) IfdId group_; //!< Group that contains the tag NewTiffCompFct newTiffCompFct_; //!< Function to create the correct TIFF component }; /*! @brief Data structure used as a row of the table which describes TIFF trees. Multiple trees are needed as TIFF-based RAW image formats do not always use standard TIFF layout. */ struct TiffTreeStruct { struct Key; //! Comparison operator to compare a TiffTreeStruct with a TiffTreeStruct::Key bool operator==(const Key& key) const; // DATA uint32_t root_; //!< Tree root element, identifies a tree IfdId group_; //!< Each group is a node in the tree IfdId parentGroup_; //!< Parent group uint32_t parentExtTag_; //!< Parent tag (32 bit so that it can contain special tags) }; //! Search key for TIFF tree structure. struct TiffTreeStruct::Key { //! Constructor Key(uint32_t r, IfdId g) : r_(r), g_(g) {} uint32_t r_; //!< Root IfdId g_; //!< %Group }; /*! @brief TIFF component factory. */ class TiffCreator { public: /*! @brief Create the TiffComponent for TIFF entry \em extendedTag and \em group. The embedded lookup table is used to find the correct component creation function. If the pointer that is returned is 0, then the TIFF entry should be ignored. */ static std::auto_ptr create(uint32_t extendedTag, IfdId group); /*! @brief Get the path, i.e., a list of extended tag and group pairs, from the \em root TIFF element to the TIFF entry \em extendedTag and \em group. */ static void getPath(TiffPath& tiffPath, uint32_t extendedTag, IfdId group, uint32_t root); private: static const TiffTreeStruct tiffTreeStruct_[]; // parse( const byte* pData, uint32_t size, uint32_t root, TiffHeaderBase* pHeader ); /*! @brief Find primary groups in the source tree provided and populate the list of primary groups. @param primaryGroups List of primary groups which is populated @param pSourceDir Pointer to the source composite tree to search (may be 0) */ static void findPrimaryGroups( PrimaryGroups& primaryGroups, TiffComponent* pSourceDir ); }; // class TiffParserWorker /*! @brief Table of TIFF decoding and encoding functions and find functions. This class is separated from the metadata decoder and encoder visitors so that the parser can be parametrized with a different table if needed. This is used, eg., for CR2 format, which uses a different decoder table. */ class TiffMapping { public: /*! @brief Find the decoder function for a key. If the returned pointer is 0, the tag should not be decoded, else the decoder function should be used. @param make Camera make @param extendedTag Extended tag @param group %Group @return Pointer to the decoder function */ static DecoderFct findDecoder(const std::string& make, uint32_t extendedTag, IfdId group); /*! @brief Find special encoder function for a key. If the returned pointer is 0, the tag should be encoded with the encoder function of the TIFF component, else the encoder function should be used. @param make Camera make @param extendedTag Extended tag @param group %Group @return Pointer to the encoder function */ static EncoderFct findEncoder( const std::string& make, uint32_t extendedTag, IfdId group ); private: static const TiffMappingInfo tiffMappingInfo_[]; // OffsetList; // DATA OffsetList offsetList_; //!< List of the offsets to replace }; // class OffsetWriter // Todo: Move this class to metadatum_int.hpp or tags_int.hpp //! Unary predicate that matches an Exifdatum with a given IfdId. class FindExifdatum { public: //! Constructor, initializes the object with the IfdId to look for. FindExifdatum(Exiv2::Internal::IfdId ifdId) : ifdId_(ifdId) {} //! Returns true if IFD id matches. bool operator()(const Exiv2::Exifdatum& md) const { return ifdId_ == md.ifdId(); } private: Exiv2::Internal::IfdId ifdId_; }; // class FindExifdatum }} // namespace Internal, Exiv2 #endif // #ifndef TIFFIMAGE_INT_HPP_ exiv2-0.25/src/tiffimage.cpp0000664000175000017500000033774412535324477015577 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: tiffimage.cpp Version: $Rev: 3846 $ Author(s): Andreas Huggel (ahu) History: 15-Mar-06, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: tiffimage.cpp 3846 2015-06-08 14:39:59Z ahuggel $") // included header files #include "config.h" #include "tiffimage.hpp" #include "tiffimage_int.hpp" #include "tiffcomposite_int.hpp" #include "tiffvisitor_int.hpp" #include "makernote_int.hpp" #include "image.hpp" #include "image_int.hpp" #include "error.hpp" #include "futils.hpp" #include "types.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include #include #include /* -------------------------------------------------------------------------- Todo: + CR2 Makernotes don't seem to have a next pointer but Canon Jpeg Makernotes do. What a mess. (That'll become an issue when it comes to writing to CR2) + Sony makernotes in RAW files do not seem to have header like those in Jpegs. And maybe no next pointer either. in crwimage.* : + Fix CiffHeader according to TiffHeader + Combine Error(15) and Error(33), add format argument %1 + Search crwimage for todos, fix writeMetadata comment + rename loadStack to getPath for consistency -------------------------------------------------------------------------- */ // ***************************************************************************** // class member definitions namespace Exiv2 { using namespace Internal; TiffImage::TiffImage(BasicIo::AutoPtr io, bool /*create*/) : Image(ImageType::tiff, mdExif | mdIptc | mdXmp, io), pixelWidth_(0), pixelHeight_(0) { } // TiffImage::TiffImage //! Structure for TIFF compression to MIME type mappings struct MimeTypeList { //! Comparison operator for compression bool operator==(int compression) const { return compression_ == compression; } int compression_; //!< TIFF compression const char* mimeType_; //!< MIME type }; //! List of TIFF compression to MIME type mappings MimeTypeList mimeTypeList[] = { { 32770, "image/x-samsung-srw" }, { 34713, "image/x-nikon-nef" }, { 65535, "image/x-pentax-pef" } }; std::string TiffImage::mimeType() const { if (!mimeType_.empty()) return mimeType_; mimeType_ = std::string("image/tiff"); std::string key = "Exif." + primaryGroup() + ".Compression"; ExifData::const_iterator md = exifData_.findKey(ExifKey(key)); if (md != exifData_.end() && md->count() > 0) { const MimeTypeList* i = find(mimeTypeList, static_cast(md->toLong())); if (i) mimeType_ = std::string(i->mimeType_); } return mimeType_; } std::string TiffImage::primaryGroup() const { if (!primaryGroup_.empty()) return primaryGroup_; static const char* keys[] = { "Exif.Image.NewSubfileType", "Exif.SubImage1.NewSubfileType", "Exif.SubImage2.NewSubfileType", "Exif.SubImage3.NewSubfileType", "Exif.SubImage4.NewSubfileType", "Exif.SubImage5.NewSubfileType", "Exif.SubImage6.NewSubfileType", "Exif.SubImage7.NewSubfileType", "Exif.SubImage8.NewSubfileType", "Exif.SubImage9.NewSubfileType" }; // Find the group of the primary image, default to "Image" primaryGroup_ = std::string("Image"); for (unsigned int i = 0; i < EXV_COUNTOF(keys); ++i) { ExifData::const_iterator md = exifData_.findKey(ExifKey(keys[i])); // Is it the primary image? if (md != exifData_.end() && md->count() > 0 && md->toLong() == 0) { // Sometimes there is a JPEG primary image; that's not our first choice primaryGroup_ = md->groupName(); std::string key = "Exif." + primaryGroup_ + ".JPEGInterchangeFormat"; if (exifData_.findKey(ExifKey(key)) == exifData_.end()) break; } } return primaryGroup_; } int TiffImage::pixelWidth() const { if (pixelWidth_ != 0) return pixelWidth_; ExifKey key(std::string("Exif.") + primaryGroup() + std::string(".ImageWidth")); ExifData::const_iterator imageWidth = exifData_.findKey(key); if (imageWidth != exifData_.end() && imageWidth->count() > 0) { pixelWidth_ = static_cast(imageWidth->toLong()); } return pixelWidth_; } int TiffImage::pixelHeight() const { if (pixelHeight_ != 0) return pixelHeight_; ExifKey key(std::string("Exif.") + primaryGroup() + std::string(".ImageLength")); ExifData::const_iterator imageHeight = exifData_.findKey(key); if (imageHeight != exifData_.end() && imageHeight->count() > 0) { pixelHeight_ = imageHeight->toLong(); } return pixelHeight_; } void TiffImage::setComment(const std::string& /*comment*/) { // not supported throw(Error(32, "Image comment", "TIFF")); } void TiffImage::readMetadata() { #ifdef DEBUG std::cerr << "Reading TIFF file " << io_->path() << "\n"; #endif if (io_->open() != 0) throw Error(9, io_->path(), strError()); IoCloser closer(*io_); // Ensure that this is the correct image type if (!isTiffType(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "TIFF"); } clearMetadata(); ByteOrder bo = TiffParser::decode(exifData_, iptcData_, xmpData_, io_->mmap(), io_->size()); setByteOrder(bo); } // TiffImage::readMetadata void TiffImage::writeMetadata() { #ifdef DEBUG std::cerr << "Writing TIFF file " << io_->path() << "\n"; #endif ByteOrder bo = byteOrder(); byte* pData = 0; long size = 0; IoCloser closer(*io_); if (io_->open() == 0) { // Ensure that this is the correct image type if (isTiffType(*io_, false)) { pData = io_->mmap(true); size = io_->size(); TiffHeader tiffHeader; if (0 == tiffHeader.read(pData, 8)) { bo = tiffHeader.byteOrder(); } } } if (bo == invalidByteOrder) { bo = littleEndian; } setByteOrder(bo); TiffParser::encode(*io_, pData, size, bo, exifData_, iptcData_, xmpData_); // may throw } // TiffImage::writeMetadata ByteOrder TiffParser::decode( ExifData& exifData, IptcData& iptcData, XmpData& xmpData, const byte* pData, uint32_t size ) { return TiffParserWorker::decode(exifData, iptcData, xmpData, pData, size, Tag::root, TiffMapping::findDecoder); } // TiffParser::decode WriteMethod TiffParser::encode( BasicIo& io, const byte* pData, uint32_t size, ByteOrder byteOrder, const ExifData& exifData, const IptcData& iptcData, const XmpData& xmpData ) { // Copy to be able to modify the Exif data ExifData ed = exifData; // Delete IFDs which do not occur in TIFF images static const IfdId filteredIfds[] = { panaRawId }; for (unsigned int i = 0; i < EXV_COUNTOF(filteredIfds); ++i) { #ifdef DEBUG std::cerr << "Warning: Exif IFD " << filteredIfds[i] << " not encoded\n"; #endif ed.erase(std::remove_if(ed.begin(), ed.end(), FindExifdatum(filteredIfds[i])), ed.end()); } std::auto_ptr header(new TiffHeader(byteOrder)); return TiffParserWorker::encode(io, pData, size, ed, iptcData, xmpData, Tag::root, TiffMapping::findEncoder, header.get(), 0); } // TiffParser::encode // ************************************************************************* // free functions Image::AutoPtr newTiffInstance(BasicIo::AutoPtr io, bool create) { Image::AutoPtr image(new TiffImage(io, create)); if (!image->good()) { image.reset(); } return image; } bool isTiffType(BasicIo& iIo, bool advance) { const int32_t len = 8; byte buf[len]; iIo.read(buf, len); if (iIo.error() || iIo.eof()) { return false; } TiffHeader tiffHeader; bool rc = tiffHeader.read(buf, len); if (!advance || !rc) { iIo.seek(-len, BasicIo::cur); } return rc; } bool isBigEndian() { union { uint32_t i; char c[4]; } e = { 0x01000000 }; return e.c[0]?true:false; } bool isLittleEndian() { return !isBigEndian(); } // http://en.wikipedia.org/wiki/Endianness static uint32_t byteSwap(uint32_t value,bool bSwap) { uint32_t result = 0; result |= (value & 0x000000FF) << 24; result |= (value & 0x0000FF00) << 8; result |= (value & 0x00FF0000) >> 8; result |= (value & 0xFF000000) >> 24; return bSwap ? result : value; } static uint16_t byteSwap(uint16_t value,bool bSwap) { uint16_t result = 0; result |= (value & 0x00FF) << 8; result |= (value & 0xFF00) >> 8; return bSwap ? result : value; } static uint16_t byteSwap2(DataBuf& buf,size_t offset,bool bSwap) { uint16_t v; char* p = (char*) &v; p[0] = buf.pData_[offset]; p[1] = buf.pData_[offset+1]; return byteSwap(v,bSwap); } static uint32_t byteSwap4(DataBuf& buf,size_t offset,bool bSwap) { uint32_t v; char* p = (char*) &v; p[0] = buf.pData_[offset]; p[1] = buf.pData_[offset+1]; p[2] = buf.pData_[offset+2]; p[3] = buf.pData_[offset+3]; return byteSwap(v,bSwap); } static const char* typeName(uint16_t tag) { //! List of TIFF image tags const char* result = NULL; switch (tag ) { case Exiv2::unsignedByte : result = "BYTE" ; break; case Exiv2::asciiString : result = "ASCII" ; break; case Exiv2::unsignedShort : result = "SHORT" ; break; case Exiv2::unsignedLong : result = "LONG" ; break; case Exiv2::unsignedRational : result = "RATIONAL" ; break; case Exiv2::signedByte : result = "SBYTE" ; break; case Exiv2::undefined : result = "UNDEFINED" ; break; case Exiv2::signedShort : result = "SSHORT" ; break; case Exiv2::signedLong : result = "SLONG" ; break; case Exiv2::signedRational : result = "SRATIONAL" ; break; case Exiv2::tiffFloat : result = "FLOAT" ; break; case Exiv2::tiffDouble : result = "DOUBLE" ; break; default : result = "unknown" ; break; } return result; } static const char* tagName(uint16_t tag,size_t nMaxLength) { const char* result = NULL; // build a static map of tags for fast search static std::map tags; static bool init = true; static char buffer[80]; if ( init ) { int idx; const TagInfo* ti ; for (ti = Exiv2:: mnTagList(), idx = 0; ti[idx].tag_ != 0xffff; ++idx) tags[ti[idx].tag_] = ti[idx].name_; for (ti = Exiv2:: iopTagList(), idx = 0; ti[idx].tag_ != 0xffff; ++idx) tags[ti[idx].tag_] = ti[idx].name_; for (ti = Exiv2:: gpsTagList(), idx = 0; ti[idx].tag_ != 0xffff; ++idx) tags[ti[idx].tag_] = ti[idx].name_; for (ti = Exiv2:: ifdTagList(), idx = 0; ti[idx].tag_ != 0xffff; ++idx) tags[ti[idx].tag_] = ti[idx].name_; for (ti = Exiv2::exifTagList(), idx = 0; ti[idx].tag_ != 0xffff; ++idx) tags[ti[idx].tag_] = ti[idx].name_; } init = false; try { result = tags[tag].c_str(); if ( nMaxLength > sizeof(buffer) -2 ) nMaxLength = sizeof(buffer) -2; strncpy(buffer,result,nMaxLength); result = buffer; } catch ( ... ) {} return result ; } static bool isStringType(uint16_t type) { return type == Exiv2::asciiString || type == Exiv2::unsignedByte || type == Exiv2::signedByte ; } static bool isShortType(uint16_t type) { return type == Exiv2::unsignedShort || type == Exiv2::signedShort ; } static bool isLongType(uint16_t type) { return type == Exiv2::unsignedLong || type == Exiv2::signedLong ; } static bool isRationalType(uint16_t type) { return type == Exiv2::unsignedRational || type == Exiv2::signedRational ; } static bool is2ByteType(uint16_t type) { return isShortType(type); } static bool is4ByteType(uint16_t type) { return isLongType(type) || isRationalType(type) ; } static bool isPrintXMP(uint16_t type, Exiv2::PrintStructureOption option) { return type == 700 && option == kpsXMP; } #define MIN(a,b) ((a)<(b))?(b):(a) void TiffImage::printStructure(std::ostream& out, Exiv2::PrintStructureOption option) { if (io_->open() != 0) throw Error(9, io_->path(), strError()); // Ensure that this is the correct image type if (!isTiffType(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(15); } if ( option == kpsBasic || option == kpsXMP ) { io_->seek(0,BasicIo::beg); // buffer const size_t dirSize = 32; DataBuf dir(dirSize); // read header (we already know for certain that we have a Tiff file) io_->read(dir.pData_, 8); char c = (char) dir.pData_[0] ; bool bSwap = ( c == 'M' && isLittleEndian() ) || ( c == 'I' && isBigEndian() ) ; if ( option == kpsBasic ) { out << Internal::stringFormat("STRUCTURE OF TIFF FILE (%c%c): ",c,c) << io_->path() << std::endl; out << " address | tag | type | count | offset | value\n"; } uint32_t start = byteSwap4(dir,4,bSwap); while ( start ) { // if ( option == kpsBasic ) out << Internal::stringFormat("bSwap, start = %d %u\n",bSwap,offset); // Read top of directory io_->seek(start,BasicIo::beg); io_->read(dir.pData_, 2); uint16_t dirLength = byteSwap2(dir,0,bSwap); // Read the dictionary for ( int i = 0 ; i < dirLength ; i ++ ) { io_->read(dir.pData_, 12); uint16_t tag = byteSwap2(dir,0,bSwap); uint16_t type = byteSwap2(dir,2,bSwap); uint32_t count = byteSwap4(dir,4,bSwap); uint32_t offset = byteSwap4(dir,8,bSwap); std::string sp = "" ; // output spacer //prepare to print the value uint16_t kount = isPrintXMP(tag,option) ? count // restrict long arrays : isStringType(type) ? (count > 32 ? 32 : count) : count > 5 ? 5 : count ; uint32_t pad = isStringType(type) ? 1 : 0; uint32_t size = isStringType(type) ? 1 : is2ByteType(type) ? 2 : is4ByteType(type) ? 4 : 1 ; DataBuf buf(MIN(size*kount + pad,48)); // allocate a buffer if ( isStringType(type) || count*size > 4 ) { // data is in the directory => read into buffer size_t restore = io_->tell(); // save io_->seek(offset,BasicIo::beg); // position io_->read(buf.pData_,kount*size);// read io_->seek(restore,BasicIo::beg); // restore } else { // move data from directory to the buffer std::memcpy(buf.pData_,dir.pData_+8,12); } if ( option == kpsBasic ) { uint32_t address = start + 2 + i*12 ; out << Internal::stringFormat("%8u | %#06x %-25s |%10s |%9u |%9u | ",address,tag,tagName(tag,25),typeName(type),count,offset); if ( isShortType(type) ){ for ( uint16_t k = 0 ; k < kount ; k++ ) { out << sp << byteSwap2(buf,k*size,bSwap); sp = " "; } } else if ( isLongType(type) ){ for ( uint16_t k = 0 ; k < kount ; k++ ) { out << sp << byteSwap4(buf,k*size,bSwap); sp = " "; } } else if ( isRationalType(type) ){ for ( uint16_t k = 0 ; k < kount ; k++ ) { uint16_t a = byteSwap2(buf,k*size+0,bSwap); uint16_t b = byteSwap2(buf,k*size+2,bSwap); if ( isLittleEndian() ) { if ( bSwap ) out << sp << b << "/" << a; else out << sp << a << "/" << b; } else { if ( bSwap ) out << sp << a << "/" << b; else out << sp << b << "/" << a; } sp = " "; } } else if ( isStringType(type) ) { out << sp << Internal::binaryToString(buf, kount); } sp = kount == count ? "" : " ..."; out << sp << std::endl; } if ( isPrintXMP(tag,option) ) { buf.pData_[count]=0; out << (char*) buf.pData_; } } io_->read(dir.pData_, 4); start = byteSwap4(dir,0,bSwap); } // while offset } } } // namespace Exiv2 // Shortcuts for the newTiffBinaryArray templates. #define EXV_BINARY_ARRAY(arrayCfg, arrayDef) (newTiffBinaryArray0<&arrayCfg, EXV_COUNTOF(arrayDef), arrayDef>) #define EXV_SIMPLE_BINARY_ARRAY(arrayCfg) (newTiffBinaryArray1<&arrayCfg>) #define EXV_COMPLEX_BINARY_ARRAY(arraySet, cfgSelFct) (newTiffBinaryArray2) namespace Exiv2 { namespace Internal { //! Constant for non-encrypted binary arrays const CryptFct notEncrypted = 0; //! Canon Camera Settings binary array - configuration extern const ArrayCfg canonCsCfg = { canonCsId, // Group for the elements invalidByteOrder, // Use byte order from parent ttUnsignedShort, // Type for array entry and size element notEncrypted, // Not encrypted true, // With size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Canon Camera Settings binary array - definition extern const ArrayDef canonCsDef[] = { { 46, ttUnsignedShort, 3 } // Exif.CanonCs.Lens }; //! Canon Shot Info binary array - configuration extern const ArrayCfg canonSiCfg = { canonSiId, // Group for the elements invalidByteOrder, // Use byte order from parent ttUnsignedShort, // Type for array entry and size element notEncrypted, // Not encrypted true, // With size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Canon Panorama binary array - configuration extern const ArrayCfg canonPaCfg = { canonPaId, // Group for the elements invalidByteOrder, // Use byte order from parent ttUnsignedShort, // Type for array entry and size element notEncrypted, // Not encrypted false, // No size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Canon Custom Function binary array - configuration extern const ArrayCfg canonCfCfg = { canonCfId, // Group for the elements invalidByteOrder, // Use byte order from parent ttUnsignedShort, // Type for array entry and size element notEncrypted, // Not encrypted true, // With size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Canon Picture Info binary array - configuration extern const ArrayCfg canonPiCfg = { canonPiId, // Group for the elements invalidByteOrder, // Use byte order from parent ttUnsignedShort, // Type for array entry and size element notEncrypted, // Not encrypted false, // No size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Canon File Info binary array - configuration extern const ArrayCfg canonFiCfg = { canonFiId, // Group for the elements invalidByteOrder, // Use byte order from parent ttUnsignedShort, // Type for array entry and size element notEncrypted, // Not encrypted true, // Has a size element false, // No fillers false, // Don't concatenate gaps { 0, ttSignedShort, 1 } }; //! Canon File Info binary array - definition extern const ArrayDef canonFiDef[] = { { 2, ttUnsignedLong, 1 } }; //! Canon Processing Info binary array - configuration extern const ArrayCfg canonPrCfg = { canonPrId, // Group for the elements invalidByteOrder, // Use byte order from parent ttUnsignedShort, // Type for array entry and size element notEncrypted, // Not encrypted true, // Has a size element false, // No fillers false, // Don't concatenate gaps { 0, ttSignedShort, 1 } }; //! Nikon Vibration Reduction binary array - configuration extern const ArrayCfg nikonVrCfg = { nikonVrId, // Group for the elements invalidByteOrder, // Use byte order from parent ttUndefined, // Type for array entry notEncrypted, // Not encrypted false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Vibration Reduction binary array - definition extern const ArrayDef nikonVrDef[] = { { 0, ttUndefined, 4 }, // Version { 7, ttUnsignedByte, 1 } // The array contains 8 bytes }; //! Nikon Picture Control binary array - configuration extern const ArrayCfg nikonPcCfg = { nikonPcId, // Group for the elements invalidByteOrder, // Use byte order from parent ttUndefined, // Type for array entry notEncrypted, // Not encrypted false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Picture Control binary array - definition extern const ArrayDef nikonPcDef[] = { { 0, ttUndefined, 4 }, // Version { 4, ttAsciiString, 20 }, { 24, ttAsciiString, 20 }, { 48, ttUnsignedByte, 1 }, { 49, ttUnsignedByte, 1 }, { 50, ttUnsignedByte, 1 }, { 51, ttUnsignedByte, 1 }, { 52, ttUnsignedByte, 1 }, { 53, ttUnsignedByte, 1 }, { 54, ttUnsignedByte, 1 }, { 55, ttUnsignedByte, 1 }, { 56, ttUnsignedByte, 1 }, { 57, ttUnsignedByte, 1 } // The array contains 58 bytes }; //! Nikon World Time binary array - configuration extern const ArrayCfg nikonWtCfg = { nikonWtId, // Group for the elements invalidByteOrder, // Use byte order from parent ttUndefined, // Type for array entry notEncrypted, // Not encrypted false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon World Time binary array - definition extern const ArrayDef nikonWtDef[] = { { 0, ttSignedShort, 1 }, { 2, ttUnsignedByte, 1 }, { 3, ttUnsignedByte, 1 } }; //! Nikon ISO info binary array - configuration extern const ArrayCfg nikonIiCfg = { nikonIiId, // Group for the elements bigEndian, // Byte order ttUndefined, // Type for array entry notEncrypted, // Not encrypted false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon ISO info binary array - definition extern const ArrayDef nikonIiDef[] = { { 0, ttUnsignedByte, 1 }, { 4, ttUnsignedShort, 1 }, { 6, ttUnsignedByte, 1 }, { 10, ttUnsignedShort, 1 }, { 13, ttUnsignedByte, 1 } // The array contains 14 bytes }; //! Nikon Auto Focus binary array - configuration extern const ArrayCfg nikonAfCfg = { nikonAfId, // Group for the elements littleEndian, // Byte order ttUndefined, // Type for array entry notEncrypted, // Not encrypted false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Auto Focus binary array - definition extern const ArrayDef nikonAfDef[] = { { 0, ttUnsignedByte, 1 }, { 1, ttUnsignedByte, 1 }, { 2, ttUnsignedShort, 1 } // The array contains 4 bytes }; //! Nikon Auto Focus 2 binary array - configuration extern const ArrayCfg nikonAf2Cfg = { nikonAf2Id, // Group for the elements littleEndian, // Byte order ttUndefined, // Type for array entry notEncrypted, // Not encrypted false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Auto Focus 2 binary array - definition extern const ArrayDef nikonAf2Def[] = { { 0, ttUndefined, 4 }, // Version { 4, ttUnsignedByte, 1 }, // ContrastDetectAF { 5, ttUnsignedByte, 1 }, // AFAreaMode { 6, ttUnsignedByte, 1 }, // PhaseDetectAF { 7, ttUnsignedByte, 1 }, // PrimaryAFPoint { 8, ttUnsignedByte, 7 }, // AFPointsUsed { 16, ttUnsignedShort, 1 }, // AFImageWidth { 18, ttUnsignedShort, 1 }, // AFImageHeight { 20, ttUnsignedShort, 1 }, // AFAreaXPosition { 22, ttUnsignedShort, 1 }, // AFAreaYPosition { 24, ttUnsignedShort, 1 }, // AFAreaWidth { 26, ttUnsignedShort, 1 }, // AFAreaHeight { 28, ttUnsignedShort, 1 }, // ContrastDetectAFInFocus }; //! Nikon AF Fine Tune binary array - configuration extern const ArrayCfg nikonAFTCfg = { nikonAFTId, // Group for the elements littleEndian, // Byte order ttUndefined, // Type for array entry notEncrypted, // Not encrypted false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon AF Fine Tune binary array - definition extern const ArrayDef nikonAFTDef[] = { { 0, ttUnsignedByte, 1 }, // AF Fine Tune on/off { 1, ttUnsignedByte, 1 }, // AF Fine Tune index { 2, ttUnsignedByte, 1 } // AF Fine Tune value }; //! Nikon File Info binary array - configuration extern const ArrayCfg nikonFiCfg = { nikonFiId, // Group for the elements littleEndian, // Byte order ttUndefined, // Type for array entry notEncrypted, // Not encrypted false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon File Info binary array - definition extern const ArrayDef nikonFiDef[] = { { 0, ttUndefined, 4 }, // Version { 6, ttUnsignedShort, 1 }, // Directory Number { 8, ttUnsignedShort, 1 } // File Number }; //! Nikon Multi Exposure binary array - configuration extern const ArrayCfg nikonMeCfg = { nikonMeId, // Group for the elements littleEndian, // Byte order ttUndefined, // Type for array entry notEncrypted, // Not encrypted false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Multi Exposure binary array - definition extern const ArrayDef nikonMeDef[] = { { 0, ttUndefined, 4 }, // Version { 4, ttUnsignedLong, 1 }, // MultiExposureMode { 8, ttUnsignedLong, 1 }, // MultiExposureShots { 12, ttUnsignedLong, 1 } // MultiExposureAutoGain }; //! Nikon Flash Info binary array - configuration 1 extern const ArrayCfg nikonFl1Cfg = { nikonFl1Id, // Group for the elements littleEndian, // Byte order ttUndefined, // Type for array entry notEncrypted, // Not encrypted false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Flash Info binary array - definition 1 extern const ArrayDef nikonFl1Def[] = { { 0, ttUndefined, 4 }, // Version { 4, ttUnsignedByte, 1 }, // FlashSource { 6, ttUnsignedShort, 1 }, // ExternalFlashFirmware { 8, ttUnsignedByte, 1 }, // ExternalFlashFlags { 11, ttUnsignedByte, 1 }, // FlashFocalLength { 12, ttUnsignedByte, 1 }, // RepeatingFlashRate { 13, ttUnsignedByte, 1 }, // RepeatingFlashCount { 14, ttUnsignedByte, 1 }, // FlashGNDistance { 15, ttUnsignedByte, 1 }, // FlashGroupAControlMode { 16, ttUnsignedByte, 1 } // FlashGroupBControlMode }; //! Nikon Flash Info binary array - configuration 2 extern const ArrayCfg nikonFl2Cfg = { nikonFl2Id, // Group for the elements littleEndian, // Byte order ttUndefined, // Type for array entry notEncrypted, // Not encrypted false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Flash Info binary array - definition 2 extern const ArrayDef nikonFl2Def[] = { { 0, ttUndefined, 4 }, // Version { 4, ttUnsignedByte, 1 }, // FlashSource { 6, ttUnsignedShort, 1 }, // ExternalFlashFirmware { 8, ttUnsignedByte, 1 }, // ExternalFlashFlags { 12, ttUnsignedByte, 1 }, // FlashFocalLength { 13, ttUnsignedByte, 1 }, // RepeatingFlashRate { 14, ttUnsignedByte, 1 }, // RepeatingFlashCount { 15, ttUnsignedByte, 1 }, // FlashGNDistance }; //! Nikon Flash Info binary array - configuration 3 extern const ArrayCfg nikonFl3Cfg = { nikonFl3Id, // Group for the elements littleEndian, // Byte order ttUndefined, // Type for array entry notEncrypted, // Not encrypted false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Flash Info binary array - definition extern const ArrayDef nikonFl3Def[] = { { 0, ttUndefined, 4 }, // Version { 4, ttUnsignedByte, 1 }, // FlashSource { 6, ttUnsignedShort, 1 }, // ExternalFlashFirmware { 8, ttUnsignedByte, 1 }, // ExternalFlashFlags { 12, ttUnsignedByte, 1 }, // FlashFocalLength { 13, ttUnsignedByte, 1 }, // RepeatingFlashRate { 14, ttUnsignedByte, 1 }, // RepeatingFlashCount { 15, ttUnsignedByte, 1 }, // FlashGNDistance { 16, ttUnsignedByte, 1 }, // FlashColorFilter }; //! Nikon Lens Data configurations and definitions extern const ArraySet nikonFlSet[] = { { nikonFl1Cfg, nikonFl1Def, EXV_COUNTOF(nikonFl1Def) }, { nikonFl2Cfg, nikonFl2Def, EXV_COUNTOF(nikonFl2Def) }, { nikonFl3Cfg, nikonFl3Def, EXV_COUNTOF(nikonFl3Def) } }; //! Nikon Shot Info binary array - configuration 1 (D80) extern const ArrayCfg nikonSi1Cfg = { nikonSi1Id, // Group for the elements bigEndian, // Use byte order from parent ttUndefined, // Type for array entry nikonCrypt, // Encryption function false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Shot Info binary array - definition 1 (D80) extern const ArrayDef nikonSi1Def[] = { { 0, ttUndefined, 4 }, // Version { 586, ttUnsignedLong, 1 }, // ShutterCount { 1155, ttUnsignedByte, 1 } // The array contains 1156 bytes }; //! Nikon Shot Info binary array - configuration 2 (D40) extern const ArrayCfg nikonSi2Cfg = { nikonSi2Id, // Group for the elements bigEndian, // Use byte order from parent ttUndefined, // Type for array entry nikonCrypt, // Encryption function false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Shot Info binary array - definition 2 (D40) extern const ArrayDef nikonSi2Def[] = { { 0, ttUndefined, 4 }, // Version { 582, ttUnsignedLong, 1 }, // ShutterCount { 738, ttUnsignedByte, 1 }, { 1112, ttUnsignedByte, 1 } // The array contains 1113 bytes }; //! Nikon Shot Info binary array - configuration 3 (D300a) extern const ArrayCfg nikonSi3Cfg = { nikonSi3Id, // Group for the elements bigEndian, // Use byte order from parent ttUndefined, // Type for array entry nikonCrypt, // Encryption function false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Shot Info binary array - definition 3 (D300a) extern const ArrayDef nikonSi3Def[] = { { 0, ttUndefined, 4 }, // Version { 604, ttUnsignedByte, 1 }, // ISO { 633, ttUnsignedLong, 1 }, // ShutterCount { 721, ttUnsignedShort, 1 }, // AFFineTuneAdj { 814, ttUndefined, 4478 } // The array contains 5291 bytes }; //! Nikon Shot Info binary array - configuration 4 (D300b) extern const ArrayCfg nikonSi4Cfg = { nikonSi4Id, // Group for the elements bigEndian, // Use byte order from parent ttUndefined, // Type for array entry nikonCrypt, // Encryption function false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Shot Info binary array - definition 4 (D300b) extern const ArrayDef nikonSi4Def[] = { { 0, ttUndefined, 4 }, // Version { 644, ttUnsignedLong, 1 }, // ShutterCount { 732, ttUnsignedShort, 1 }, // AFFineTuneAdj { 826, ttUndefined, 4478 } // The array contains 5303 bytes }; //! Nikon Shot Info binary array - configuration 5 (ver 02.xx) extern const ArrayCfg nikonSi5Cfg = { nikonSi5Id, // Group for the elements bigEndian, // Use byte order from parent ttUndefined, // Type for array entry nikonCrypt, // Encryption function false, // No size element false, // Write all tags (don't know how many) true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Shot Info binary array - definition 5 (ver 01.xx and ver 02.xx) extern const ArrayDef nikonSi5Def[] = { { 0, ttUndefined, 4 }, // Version { 106, ttUnsignedLong, 1 }, // ShutterCount1 { 110, ttUnsignedLong, 1 }, // DeletedImageCount { 117, ttUnsignedByte, 1 }, // VibrationReduction { 130, ttUnsignedByte, 1 }, // VibrationReduction1 { 343, ttUndefined, 2 }, // ShutterCount { 430, ttUnsignedByte, 1 }, // VibrationReduction2 { 598, ttUnsignedByte, 1 }, // ISO { 630, ttUnsignedLong, 1 } // ShutterCount }; //! Nikon Shot Info binary array - configuration 6 (ver 01.xx) extern const ArrayCfg nikonSi6Cfg = { nikonSi6Id, // Group for the elements bigEndian, // Use byte order from parent ttUndefined, // Type for array entry notEncrypted, // Encryption function false, // No size element false, // Write all tags (don't know how many) true, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Lens Data configurations and definitions extern const ArraySet nikonSiSet[] = { { nikonSi1Cfg, nikonSi1Def, EXV_COUNTOF(nikonSi1Def) }, { nikonSi2Cfg, nikonSi2Def, EXV_COUNTOF(nikonSi2Def) }, { nikonSi3Cfg, nikonSi3Def, EXV_COUNTOF(nikonSi3Def) }, { nikonSi4Cfg, nikonSi4Def, EXV_COUNTOF(nikonSi4Def) }, { nikonSi5Cfg, nikonSi5Def, EXV_COUNTOF(nikonSi5Def) }, { nikonSi6Cfg, nikonSi5Def, EXV_COUNTOF(nikonSi5Def) } // uses nikonSi5Def }; //! Nikon Lens Data binary array - configuration 1 extern const ArrayCfg nikonLd1Cfg = { nikonLd1Id, // Group for the elements invalidByteOrder, // Use byte order from parent ttUndefined, // Type for array entry notEncrypted, // Encryption function false, // No size element true, // Write all tags false, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Lens Data binary array - configuration 2 extern const ArrayCfg nikonLd2Cfg = { nikonLd2Id, // Group for the elements invalidByteOrder, // Use byte order from parent ttUndefined, // Type for array entry nikonCrypt, // Encryption function false, // No size element true, // Write all tags false, // Concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Lens Data binary array - configuration 3 extern const ArrayCfg nikonLd3Cfg = { nikonLd3Id, // Group for the elements invalidByteOrder, // Use byte order from parent ttUndefined, // Type for array entry nikonCrypt, // Encryption function false, // No size element true, // Write all tags false, // Don't concatenate gaps { 0, ttUnsignedByte, 1 } }; //! Nikon Lens Data binary array - definition extern const ArrayDef nikonLdDef[] = { { 0, ttUndefined, 4 } // Version }; //! Nikon Lens Data configurations and definitions extern const ArraySet nikonLdSet[] = { { nikonLd1Cfg, nikonLdDef, EXV_COUNTOF(nikonLdDef) }, { nikonLd2Cfg, nikonLdDef, EXV_COUNTOF(nikonLdDef) }, { nikonLd3Cfg, nikonLdDef, EXV_COUNTOF(nikonLdDef) } }; //! Nikon Color Balance binary array - configuration 1 extern const ArrayCfg nikonCb1Cfg = { nikonCb1Id, // Group for the elements invalidByteOrder, // Use byte order from parent ttUndefined, // Type for array entry notEncrypted, // Encryption function false, // No size element false, // Write all tags true, // Concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Nikon Color Balance binary array - configuration 2 extern const ArrayCfg nikonCb2Cfg = { nikonCb2Id, // Group for the elements invalidByteOrder, // Use byte order from parent ttUndefined, // Type for array entry nikonCrypt, // Encryption function false, // No size element false, // Write all tags true, // Concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Nikon Color Balance binary array - configuration 2a extern const ArrayCfg nikonCb2aCfg = { nikonCb2aId, // Group for the elements invalidByteOrder, // Use byte order from parent ttUndefined, // Type for array entry nikonCrypt, // Encryption function false, // No size element false, // Write all tags true, // Concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Nikon Color Balance binary array - configuration 2b extern const ArrayCfg nikonCb2bCfg = { nikonCb2bId, // Group for the elements invalidByteOrder, // Use byte order from parent ttUndefined, // Type for array entry nikonCrypt, // Encryption function false, // No size element false, // Write all tags true, // Concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Nikon Color Balance binary array - configuration 3 extern const ArrayCfg nikonCb3Cfg = { nikonCb3Id, // Group for the elements invalidByteOrder, // Use byte order from parent ttUndefined, // Type for array entry notEncrypted, // Encryption function false, // No size element false, // Write all tags true, // Concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Nikon Color Balance binary array - configuration 4 extern const ArrayCfg nikonCb4Cfg = { nikonCb4Id, // Group for the elements invalidByteOrder, // Use byte order from parent ttUndefined, // Type for array entry nikonCrypt, // Encryption function false, // No size element false, // Write all tags true, // Concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Nikon Color Balance binary array - definition 1 (D100) extern const ArrayDef nikonCb1Def[] = { { 0, ttUndefined, 4 }, // Version { 72, ttUnsignedShort, 4 } // Color balance levels }; //! Nikon Color Balance binary array - definition 2 (D2H) extern const ArrayDef nikonCb2Def[] = { { 0, ttUndefined, 4 }, // Version { 10, ttUnsignedShort, 4 } // Color balance levels }; //! Nikon Color Balance binary array - definition 2a (D50) extern const ArrayDef nikonCb2aDef[] = { { 0, ttUndefined, 4 }, // Version { 18, ttUnsignedShort, 4 } // Color balance levels }; //! Nikon Color Balance binary array - definition 2b (D2X=0204,D2Hs=0206,D200=0207,D40=0208) extern const ArrayDef nikonCb2bDef[] = { { 0, ttUndefined, 4 }, // Version { 4, ttUnsignedShort, 140 }, // Unknown {284, ttUnsignedShort, 3 }, // Unknown (encrypted) {290, ttUnsignedShort, 4 } // Color balance levels }; //! Nikon Color Balance binary array - definition 3 (D70) extern const ArrayDef nikonCb3Def[] = { { 0, ttUndefined, 4 }, // Version { 20, ttUnsignedShort, 4 } // Color balance levels }; //! Nikon Color Balance binary array - definition 4 (D3) extern const ArrayDef nikonCb4Def[] = { { 0, ttUndefined, 4 }, // Version { 4, ttUnsignedShort, 140 }, // Unknown {284, ttUnsignedShort, 5 }, // Unknown (encrypted) {294, ttUnsignedShort, 4 } // Color balance levels }; //! Nikon Color Balance configurations and definitions extern const ArraySet nikonCbSet[] = { { nikonCb1Cfg, nikonCb1Def, EXV_COUNTOF(nikonCb1Def) }, { nikonCb2Cfg, nikonCb2Def, EXV_COUNTOF(nikonCb2Def) }, { nikonCb2aCfg, nikonCb2aDef, EXV_COUNTOF(nikonCb2aDef) }, { nikonCb2bCfg, nikonCb2bDef, EXV_COUNTOF(nikonCb2bDef) }, { nikonCb3Cfg, nikonCb3Def, EXV_COUNTOF(nikonCb3Def) }, { nikonCb4Cfg, nikonCb4Def, EXV_COUNTOF(nikonCb4Def) } }; //! Minolta Camera Settings (old) binary array - configuration extern const ArrayCfg minoCsoCfg = { minoltaCsOldId, // Group for the elements bigEndian, // Big endian ttUndefined, // Type for array entry and size element notEncrypted, // Not encrypted false, // No size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedLong, 1 } }; //! Minolta Camera Settings (new) binary array - configuration extern const ArrayCfg minoCsnCfg = { minoltaCsNewId, // Group for the elements bigEndian, // Big endian ttUndefined, // Type for array entry and size element notEncrypted, // Not encrypted false, // No size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedLong, 1 } }; //! Minolta 7D Camera Settings binary array - configuration extern const ArrayCfg minoCs7Cfg = { minoltaCs7DId, // Group for the elements bigEndian, // Big endian ttUndefined, // Type for array entry and size element notEncrypted, // Not encrypted false, // No size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Minolta 7D Camera Settings binary array - definition extern const ArrayDef minoCs7Def[] = { { 60, ttSignedShort, 1 }, // Exif.MinoltaCs7D.ExposureCompensation { 126, ttSignedShort, 1 } // Exif.MinoltaCs7D.ColorTemperature }; //! Minolta 5D Camera Settings binary array - configuration extern const ArrayCfg minoCs5Cfg = { minoltaCs5DId, // Group for the elements bigEndian, // Big endian ttUndefined, // Type for array entry and size element notEncrypted, // Not encrypted false, // No size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Minolta 5D Camera Settings binary array - definition extern const ArrayDef minoCs5Def[] = { { 146, ttSignedShort, 1 } // Exif.MinoltaCs5D.ColorTemperature }; // Todo: Performance of the handling of Sony Camera Settings can be // improved by defining all known array elements in the definitions // sonyCsDef and sonyCs2Def below and enabling the 'concatenate gaps' // setting in all four configurations. //! Sony1 Camera Settings binary array - configuration extern const ArrayCfg sony1CsCfg = { sony1CsId, // Group for the elements bigEndian, // Big endian ttUndefined, // Type for array entry and size element notEncrypted, // Not encrypted false, // No size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Sony1 Camera Settings 2 binary array - configuration extern const ArrayCfg sony1Cs2Cfg = { sony1Cs2Id, // Group for the elements bigEndian, // Big endian ttUndefined, // Type for array entry and size element notEncrypted, // Not encrypted false, // No size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Sony[12] Camera Settings binary array - definition extern const ArrayDef sonyCsDef[] = { { 12, ttSignedShort, 1 } // Exif.Sony[12]Cs.WhiteBalanceFineTune }; //! Sony2 Camera Settings binary array - configuration extern const ArrayCfg sony2CsCfg = { sony2CsId, // Group for the elements bigEndian, // Big endian ttUndefined, // Type for array entry and size element notEncrypted, // Not encrypted false, // No size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Sony2 Camera Settings 2 binary array - configuration extern const ArrayCfg sony2Cs2Cfg = { sony2Cs2Id, // Group for the elements bigEndian, // Big endian ttUndefined, // Type for array entry and size element notEncrypted, // Not encrypted false, // No size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Sony[12] Camera Settings 2 binary array - definition extern const ArrayDef sonyCs2Def[] = { { 44, ttUnsignedShort, 1 } // Exif.Sony[12]Cs2.FocusMode }; //! Sony1 Camera Settings configurations and definitions extern const ArraySet sony1CsSet[] = { { sony1CsCfg, sonyCsDef, EXV_COUNTOF(sonyCsDef) }, { sony1Cs2Cfg, sonyCs2Def, EXV_COUNTOF(sonyCs2Def) } }; //! Sony2 Camera Settings configurations and definitions extern const ArraySet sony2CsSet[] = { { sony2CsCfg, sonyCsDef, EXV_COUNTOF(sonyCsDef) }, { sony2Cs2Cfg, sonyCs2Def, EXV_COUNTOF(sonyCs2Def) } }; //! Sony Minolta Camera Settings (old) binary array - configuration extern const ArrayCfg sony1MCsoCfg = { sony1MltCsOldId, // Group for the elements bigEndian, // Big endian ttUndefined, // Type for array entry and size element notEncrypted, // Not encrypted false, // No size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedLong, 1 } }; //! Sony Minolta Camera Settings (new) binary array - configuration extern const ArrayCfg sony1MCsnCfg = { sony1MltCsNewId, // Group for the elements bigEndian, // Big endian ttUndefined, // Type for array entry and size element notEncrypted, // Not encrypted false, // No size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedLong, 1 } }; //! Sony Minolta 7D Camera Settings binary array - configuration extern const ArrayCfg sony1MCs7Cfg = { sony1MltCs7DId, // Group for the elements bigEndian, // Big endian ttUndefined, // Type for array entry and size element notEncrypted, // Not encrypted false, // No size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Sony Minolta A100 Camera Settings binary array - configuration extern const ArrayCfg sony1MCsA100Cfg = { sony1MltCsA100Id, // Group for the elements bigEndian, // Big endian ttUndefined, // Type for array entry and size element notEncrypted, // Not encrypted false, // No size element false, // No fillers false, // Don't concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Sony Minolta A100 Camera Settings binary array - definition extern const ArrayDef sony1MCsA100Def[] = { { 112, ttSignedShort, 1 }, // Exif.Sony1MltCsA100.WhiteBalanceFineTune { 116, ttSignedShort, 1 }, // Exif.Sony1MltCsA100.ColorCompensationFilter { 190, ttSignedShort, 1 } // Exif.Sony1MltCsA100.ColorCompensationFilter2 }; //! Samsung PictureWizard binary array - configuration extern const ArrayCfg samsungPwCfg = { samsungPwId, // Group for the elements invalidByteOrder, // Use byte order from parent ttUnsignedShort, // Type for array entry notEncrypted, // Not encrypted false, // No size element true, // Write all tags true, // Concatenate gaps { 0, ttUnsignedShort, 1 } }; //! Samsung PictureWizard binary array - definition extern const ArrayDef samsungPwDef[] = { { 0, ttUnsignedShort, 1 }, // Mode { 2, ttUnsignedShort, 1 }, // Color { 4, ttUnsignedShort, 1 }, // Saturation { 6, ttUnsignedShort, 1 }, // Sharpness { 8, ttUnsignedShort, 1 } // Contrast }; /* This table lists for each group in a tree, its parent group and tag. Root identifies the root of a TIFF tree, as there is a need for multiple trees. Groups are the nodes of a TIFF tree. A group is an IFD or any other composite component. With this table, it is possible, for a given group (and tag) to find a path, i.e., a list of groups and tags, from the root to that group (tag). */ const TiffTreeStruct TiffCreator::tiffTreeStruct_[] = { // root group parent group parent tag //--------- ----------------- ----------------- ---------- { Tag::root, ifdIdNotSet, ifdIdNotSet, Tag::root }, { Tag::root, ifd0Id, ifdIdNotSet, Tag::root }, { Tag::root, subImage1Id, ifd0Id, 0x014a }, { Tag::root, subImage2Id, ifd0Id, 0x014a }, { Tag::root, subImage3Id, ifd0Id, 0x014a }, { Tag::root, subImage4Id, ifd0Id, 0x014a }, { Tag::root, subImage5Id, ifd0Id, 0x014a }, { Tag::root, subImage6Id, ifd0Id, 0x014a }, { Tag::root, subImage7Id, ifd0Id, 0x014a }, { Tag::root, subImage8Id, ifd0Id, 0x014a }, { Tag::root, subImage9Id, ifd0Id, 0x014a }, { Tag::root, exifId, ifd0Id, 0x8769 }, { Tag::root, gpsId, ifd0Id, 0x8825 }, { Tag::root, iopId, exifId, 0xa005 }, { Tag::root, ifd1Id, ifd0Id, Tag::next }, { Tag::root, ifd2Id, ifd1Id, Tag::next }, { Tag::root, ifd3Id, ifd2Id, Tag::next }, { Tag::root, olympusId, exifId, 0x927c }, { Tag::root, olympus2Id, exifId, 0x927c }, { Tag::root, subThumb1Id, ifd1Id, 0x014a }, { Tag::root, olympusEqId, olympus2Id, 0x2010 }, { Tag::root, olympusCsId, olympus2Id, 0x2020 }, { Tag::root, olympusRdId, olympus2Id, 0x2030 }, { Tag::root, olympusRd2Id, olympus2Id, 0x2031 }, { Tag::root, olympusIpId, olympus2Id, 0x2040 }, { Tag::root, olympusFiId, olympus2Id, 0x2050 }, { Tag::root, olympusFe1Id, olympus2Id, 0x2100 }, { Tag::root, olympusFe2Id, olympus2Id, 0x2200 }, { Tag::root, olympusFe3Id, olympus2Id, 0x2300 }, { Tag::root, olympusFe4Id, olympus2Id, 0x2400 }, { Tag::root, olympusFe5Id, olympus2Id, 0x2500 }, { Tag::root, olympusFe6Id, olympus2Id, 0x2600 }, { Tag::root, olympusFe7Id, olympus2Id, 0x2700 }, { Tag::root, olympusFe8Id, olympus2Id, 0x2800 }, { Tag::root, olympusFe9Id, olympus2Id, 0x2900 }, { Tag::root, olympusRiId, olympus2Id, 0x3000 }, { Tag::root, fujiId, exifId, 0x927c }, { Tag::root, canonId, exifId, 0x927c }, { Tag::root, canonCsId, canonId, 0x0001 }, { Tag::root, canonSiId, canonId, 0x0004 }, { Tag::root, canonPaId, canonId, 0x0005 }, { Tag::root, canonCfId, canonId, 0x000f }, { Tag::root, canonPiId, canonId, 0x0012 }, { Tag::root, canonFiId, canonId, 0x0093 }, { Tag::root, canonPrId, canonId, 0x00a0 }, { Tag::root, nikon1Id, exifId, 0x927c }, { Tag::root, nikon2Id, exifId, 0x927c }, { Tag::root, nikon3Id, exifId, 0x927c }, { Tag::root, nikonPvId, nikon3Id, 0x0011 }, { Tag::root, nikonVrId, nikon3Id, 0x001f }, { Tag::root, nikonPcId, nikon3Id, 0x0023 }, { Tag::root, nikonWtId, nikon3Id, 0x0024 }, { Tag::root, nikonIiId, nikon3Id, 0x0025 }, { Tag::root, nikonAfId, nikon3Id, 0x0088 }, { Tag::root, nikonSi1Id, nikon3Id, 0x0091 }, { Tag::root, nikonSi2Id, nikon3Id, 0x0091 }, { Tag::root, nikonSi3Id, nikon3Id, 0x0091 }, { Tag::root, nikonSi4Id, nikon3Id, 0x0091 }, { Tag::root, nikonSi5Id, nikon3Id, 0x0091 }, { Tag::root, nikonSi6Id, nikon3Id, 0x0091 }, { Tag::root, nikonCb1Id, nikon3Id, 0x0097 }, { Tag::root, nikonCb2Id, nikon3Id, 0x0097 }, { Tag::root, nikonCb2aId, nikon3Id, 0x0097 }, { Tag::root, nikonCb2bId, nikon3Id, 0x0097 }, { Tag::root, nikonCb3Id, nikon3Id, 0x0097 }, { Tag::root, nikonCb4Id, nikon3Id, 0x0097 }, { Tag::root, nikonLd1Id, nikon3Id, 0x0098 }, { Tag::root, nikonLd2Id, nikon3Id, 0x0098 }, { Tag::root, nikonLd3Id, nikon3Id, 0x0098 }, { Tag::root, nikonMeId, nikon3Id, 0x00b0 }, { Tag::root, nikonAf2Id, nikon3Id, 0x00b7 }, { Tag::root, nikonFiId, nikon3Id, 0x00b8 }, { Tag::root, nikonAFTId, nikon3Id, 0x00b9 }, { Tag::root, nikonFl1Id, nikon3Id, 0x00a8 }, { Tag::root, nikonFl2Id, nikon3Id, 0x00a8 }, { Tag::root, nikonFl3Id, nikon3Id, 0x00a8 }, { Tag::root, panasonicId, exifId, 0x927c }, { Tag::root, pentaxId, exifId, 0x927c }, { Tag::root, pentaxDngId, ifd0Id, 0xc634 }, { Tag::root, samsung2Id, exifId, 0x927c }, { Tag::root, samsungPwId, samsung2Id, 0x0021 }, { Tag::root, samsungPvId, samsung2Id, 0x0035 }, { Tag::root, sigmaId, exifId, 0x927c }, { Tag::root, sony1Id, exifId, 0x927c }, { Tag::root, sony1CsId, sony1Id, 0x0114 }, { Tag::root, sony1Cs2Id, sony1Id, 0x0114 }, { Tag::root, sonyMltId, sony1Id, 0xb028 }, { Tag::root, sony1MltCsOldId, sonyMltId, 0x0001 }, { Tag::root, sony1MltCsNewId, sonyMltId, 0x0003 }, { Tag::root, sony1MltCs7DId, sonyMltId, 0x0004 }, { Tag::root, sony1MltCsA100Id, sonyMltId, 0x0114 }, { Tag::root, sony2Id, exifId, 0x927c }, { Tag::root, sony2CsId, sony2Id, 0x0114 }, { Tag::root, sony2Cs2Id, sony2Id, 0x0114 }, { Tag::root, minoltaId, exifId, 0x927c }, { Tag::root, minoltaCsOldId, minoltaId, 0x0001 }, { Tag::root, minoltaCsNewId, minoltaId, 0x0003 }, { Tag::root, minoltaCs7DId, minoltaId, 0x0004 }, { Tag::root, minoltaCs5DId, minoltaId, 0x0114 }, { Tag::root, casioId, exifId, 0x927c }, { Tag::root, casio2Id, exifId, 0x927c }, // --------------------------------------------------------- // Panasonic RW2 raw images { Tag::pana, ifdIdNotSet, ifdIdNotSet, Tag::pana }, { Tag::pana, panaRawId, ifdIdNotSet, Tag::pana }, { Tag::pana, exifId, panaRawId, 0x8769 }, { Tag::pana, gpsId, panaRawId, 0x8825 } }; /* This table describes the layout of each known TIFF group (including non-standard structures and IFDs only seen in RAW images). The key of the table consists of the first two attributes, (extended) tag and group. Tag is the TIFF tag or one of a few extended tags, group identifies the IFD or any other composite component. Each entry of the table defines for a particular tag and group combination the corresponding TIFF component create function. */ const TiffGroupStruct TiffCreator::tiffGroupStruct_[] = { // ext. tag group create function //--------- ----------------- ----------------------------------------- // Root directory { Tag::root, ifdIdNotSet, newTiffDirectory }, // IFD0 { 0x8769, ifd0Id, newTiffSubIfd }, { 0x8825, ifd0Id, newTiffSubIfd }, { 0x0111, ifd0Id, newTiffImageData<0x0117, ifd0Id> }, { 0x0117, ifd0Id, newTiffImageSize<0x0111, ifd0Id> }, { 0x0144, ifd0Id, newTiffImageData<0x0145, ifd0Id> }, { 0x0145, ifd0Id, newTiffImageSize<0x0144, ifd0Id> }, { 0x0201, ifd0Id, newTiffImageData<0x0202, ifd0Id> }, { 0x0202, ifd0Id, newTiffImageSize<0x0201, ifd0Id> }, { 0x014a, ifd0Id, newTiffSubIfd }, { 0xc634, ifd0Id, newTiffMnEntry }, { Tag::next, ifd0Id, newTiffDirectory }, { Tag::all, ifd0Id, newTiffEntry }, // Subdir subImage1 { 0x0111, subImage1Id, newTiffImageData<0x0117, subImage1Id> }, { 0x0117, subImage1Id, newTiffImageSize<0x0111, subImage1Id> }, { 0x0144, subImage1Id, newTiffImageData<0x0145, subImage1Id> }, { 0x0145, subImage1Id, newTiffImageSize<0x0144, subImage1Id> }, { 0x0201, subImage1Id, newTiffImageData<0x0202, subImage1Id> }, { 0x0202, subImage1Id, newTiffImageSize<0x0201, subImage1Id> }, { Tag::next, subImage1Id, newTiffDirectory }, { Tag::all, subImage1Id, newTiffEntry }, // Subdir subImage2 { 0x0111, subImage2Id, newTiffImageData<0x0117, subImage2Id> }, { 0x0117, subImage2Id, newTiffImageSize<0x0111, subImage2Id> }, { 0x0144, subImage2Id, newTiffImageData<0x0145, subImage2Id> }, { 0x0145, subImage2Id, newTiffImageSize<0x0144, subImage2Id> }, { 0x0201, subImage2Id, newTiffImageData<0x0202, subImage2Id> }, { 0x0202, subImage2Id, newTiffImageSize<0x0201, subImage2Id> }, { Tag::next, subImage2Id, newTiffDirectory }, { Tag::all, subImage2Id, newTiffEntry }, // Subdir subImage3 { 0x0111, subImage3Id, newTiffImageData<0x0117, subImage3Id> }, { 0x0117, subImage3Id, newTiffImageSize<0x0111, subImage3Id> }, { 0x0144, subImage3Id, newTiffImageData<0x0145, subImage3Id> }, { 0x0145, subImage3Id, newTiffImageSize<0x0144, subImage3Id> }, { 0x0201, subImage3Id, newTiffImageData<0x0202, subImage3Id> }, { 0x0202, subImage3Id, newTiffImageSize<0x0201, subImage3Id> }, { Tag::next, subImage3Id, newTiffDirectory }, { Tag::all, subImage3Id, newTiffEntry }, // Subdir subImage4 { 0x0111, subImage4Id, newTiffImageData<0x0117, subImage4Id> }, { 0x0117, subImage4Id, newTiffImageSize<0x0111, subImage4Id> }, { 0x0144, subImage4Id, newTiffImageData<0x0145, subImage4Id> }, { 0x0145, subImage4Id, newTiffImageSize<0x0144, subImage4Id> }, { 0x0201, subImage4Id, newTiffImageData<0x0202, subImage4Id> }, { 0x0202, subImage4Id, newTiffImageSize<0x0201, subImage4Id> }, { Tag::next, subImage4Id, newTiffDirectory }, { Tag::all, subImage4Id, newTiffEntry }, // Subdir subImage5 { 0x0111, subImage5Id, newTiffImageData<0x0117, subImage5Id> }, { 0x0117, subImage5Id, newTiffImageSize<0x0111, subImage5Id> }, { 0x0144, subImage5Id, newTiffImageData<0x0145, subImage5Id> }, { 0x0145, subImage5Id, newTiffImageSize<0x0144, subImage5Id> }, { 0x0201, subImage5Id, newTiffImageData<0x0202, subImage5Id> }, { 0x0202, subImage5Id, newTiffImageSize<0x0201, subImage5Id> }, { Tag::next, subImage5Id, newTiffDirectory }, { Tag::all, subImage5Id, newTiffEntry }, // Subdir subImage6 { 0x0111, subImage6Id, newTiffImageData<0x0117, subImage6Id> }, { 0x0117, subImage6Id, newTiffImageSize<0x0111, subImage6Id> }, { 0x0144, subImage6Id, newTiffImageData<0x0145, subImage6Id> }, { 0x0145, subImage6Id, newTiffImageSize<0x0144, subImage6Id> }, { 0x0201, subImage6Id, newTiffImageData<0x0202, subImage6Id> }, { 0x0202, subImage6Id, newTiffImageSize<0x0201, subImage6Id> }, { Tag::next, subImage6Id, newTiffDirectory }, { Tag::all, subImage6Id, newTiffEntry }, // Subdir subImage7 { 0x0111, subImage7Id, newTiffImageData<0x0117, subImage7Id> }, { 0x0117, subImage7Id, newTiffImageSize<0x0111, subImage7Id> }, { 0x0144, subImage7Id, newTiffImageData<0x0145, subImage7Id> }, { 0x0145, subImage7Id, newTiffImageSize<0x0144, subImage7Id> }, { 0x0201, subImage7Id, newTiffImageData<0x0202, subImage7Id> }, { 0x0202, subImage7Id, newTiffImageSize<0x0201, subImage7Id> }, { Tag::next, subImage7Id, newTiffDirectory }, { Tag::all, subImage7Id, newTiffEntry }, // Subdir subImage8 { 0x0111, subImage8Id, newTiffImageData<0x0117, subImage8Id> }, { 0x0117, subImage8Id, newTiffImageSize<0x0111, subImage8Id> }, { 0x0144, subImage8Id, newTiffImageData<0x0145, subImage8Id> }, { 0x0145, subImage8Id, newTiffImageSize<0x0144, subImage8Id> }, { 0x0201, subImage8Id, newTiffImageData<0x0202, subImage8Id> }, { 0x0202, subImage8Id, newTiffImageSize<0x0201, subImage8Id> }, { Tag::next, subImage8Id, newTiffDirectory }, { Tag::all, subImage8Id, newTiffEntry }, // Subdir subImage9 { 0x0111, subImage9Id, newTiffImageData<0x0117, subImage9Id> }, { 0x0117, subImage9Id, newTiffImageSize<0x0111, subImage9Id> }, { 0x0144, subImage9Id, newTiffImageData<0x0145, subImage9Id> }, { 0x0145, subImage9Id, newTiffImageSize<0x0144, subImage9Id> }, { 0x0201, subImage9Id, newTiffImageData<0x0202, subImage9Id> }, { 0x0202, subImage9Id, newTiffImageSize<0x0201, subImage9Id> }, { Tag::next, subImage9Id, newTiffDirectory }, { Tag::all, subImage9Id, newTiffEntry }, // Exif subdir { 0xa005, exifId, newTiffSubIfd }, { 0x927c, exifId, newTiffMnEntry }, { Tag::next, exifId, newTiffDirectory }, { Tag::all, exifId, newTiffEntry }, // GPS subdir { Tag::next, gpsId, newTiffDirectory }, { Tag::all, gpsId, newTiffEntry }, // IOP subdir { Tag::next, iopId, newTiffDirectory }, { Tag::all, iopId, newTiffEntry }, // IFD1 { 0x0111, ifd1Id, newTiffThumbData<0x0117, ifd1Id> }, { 0x0117, ifd1Id, newTiffThumbSize<0x0111, ifd1Id> }, { 0x0144, ifd1Id, newTiffImageData<0x0145, ifd1Id> }, { 0x0145, ifd1Id, newTiffImageSize<0x0144, ifd1Id> }, { 0x014a, ifd1Id, newTiffSubIfd }, { 0x0201, ifd1Id, newTiffThumbData<0x0202, ifd1Id> }, { 0x0202, ifd1Id, newTiffThumbSize<0x0201, ifd1Id> }, { Tag::next, ifd1Id, newTiffDirectory }, { Tag::all, ifd1Id, newTiffEntry }, // Subdir subThumb1 { 0x0111, subThumb1Id, newTiffImageData<0x0117, subThumb1Id> }, { 0x0117, subThumb1Id, newTiffImageSize<0x0111, subThumb1Id> }, { 0x0144, subThumb1Id, newTiffImageData<0x0145, subThumb1Id> }, { 0x0145, subThumb1Id, newTiffImageSize<0x0144, subThumb1Id> }, { 0x0201, subThumb1Id, newTiffImageData<0x0202, subThumb1Id> }, { 0x0202, subThumb1Id, newTiffImageSize<0x0201, subThumb1Id> }, { Tag::next, subThumb1Id, newTiffDirectory }, { Tag::all, subThumb1Id, newTiffEntry }, // IFD2 (eg, in Pentax PEF and Canon CR2 files) { 0x0111, ifd2Id, newTiffImageData<0x0117, ifd2Id> }, { 0x0117, ifd2Id, newTiffImageSize<0x0111, ifd2Id> }, { 0x0144, ifd1Id, newTiffImageData<0x0145, ifd2Id> }, { 0x0145, ifd1Id, newTiffImageSize<0x0144, ifd2Id> }, { 0x0201, ifd2Id, newTiffImageData<0x0202, ifd2Id> }, { 0x0202, ifd2Id, newTiffImageSize<0x0201, ifd2Id> }, { Tag::next, ifd2Id, newTiffDirectory }, { Tag::all, ifd2Id, newTiffEntry }, // IFD3 (eg, in Canon CR2 files) { 0x0111, ifd3Id, newTiffImageData<0x0117, ifd3Id> }, { 0x0117, ifd3Id, newTiffImageSize<0x0111, ifd3Id> }, { 0x0144, ifd1Id, newTiffImageData<0x0145, ifd3Id> }, { 0x0145, ifd1Id, newTiffImageSize<0x0144, ifd3Id> }, { 0x0201, ifd3Id, newTiffImageData<0x0202, ifd3Id> }, { 0x0202, ifd3Id, newTiffImageSize<0x0201, ifd3Id> }, { Tag::next, ifd3Id, newTiffDirectory }, { Tag::all, ifd3Id, newTiffEntry }, // Olympus makernote - some Olympus cameras use Minolta structures // Todo: Adding such tags will not work (maybe result in a Minolta makernote), need separate groups { 0x0001, olympusId, EXV_SIMPLE_BINARY_ARRAY(minoCsoCfg) }, { 0x0003, olympusId, EXV_SIMPLE_BINARY_ARRAY(minoCsnCfg) }, { Tag::next, olympusId, newTiffDirectory }, { Tag::all, olympusId, newTiffEntry }, // Olympus2 makernote { 0x0001, olympus2Id, EXV_SIMPLE_BINARY_ARRAY(minoCsoCfg) }, { 0x0003, olympus2Id, EXV_SIMPLE_BINARY_ARRAY(minoCsnCfg) }, { 0x2010, olympus2Id, newTiffSubIfd }, { 0x2020, olympus2Id, newTiffSubIfd }, { 0x2030, olympus2Id, newTiffSubIfd }, { 0x2031, olympus2Id, newTiffSubIfd }, { 0x2040, olympus2Id, newTiffSubIfd }, { 0x2050, olympus2Id, newTiffSubIfd }, { 0x2100, olympus2Id, newTiffSubIfd }, { 0x2200, olympus2Id, newTiffSubIfd }, { 0x2300, olympus2Id, newTiffSubIfd }, { 0x2400, olympus2Id, newTiffSubIfd }, { 0x2500, olympus2Id, newTiffSubIfd }, { 0x2600, olympus2Id, newTiffSubIfd }, { 0x2700, olympus2Id, newTiffSubIfd }, { 0x2800, olympus2Id, newTiffSubIfd }, { 0x2900, olympus2Id, newTiffSubIfd }, { 0x3000, olympus2Id, newTiffSubIfd }, { Tag::next, olympus2Id, newTiffDirectory }, { Tag::all, olympus2Id, newTiffEntry }, // Olympus2 equipment subdir { Tag::all, olympusEqId, newTiffEntry }, // Olympus2 camera settings subdir { 0x0101, olympusCsId, newTiffImageData<0x0102, olympusCsId> }, { 0x0102, olympusCsId, newTiffImageSize<0x0101, olympusCsId> }, { Tag::all, olympusCsId, newTiffEntry }, // Olympus2 raw development subdir { Tag::all, olympusRdId, newTiffEntry }, // Olympus2 raw development 2 subdir { Tag::all, olympusRd2Id, newTiffEntry }, // Olympus2 image processing subdir { Tag::all, olympusIpId, newTiffEntry }, // Olympus2 focus info subdir { Tag::all, olympusFiId, newTiffEntry }, // Olympus2 FE 1 subdir { Tag::all, olympusFe1Id, newTiffEntry }, // Olympus2 FE 2 subdir { Tag::all, olympusFe2Id, newTiffEntry }, // Olympus2 FE 3 subdir { Tag::all, olympusFe3Id, newTiffEntry }, // Olympus2 FE 4 subdir { Tag::all, olympusFe4Id, newTiffEntry }, // Olympus2 FE 5 subdir { Tag::all, olympusFe5Id, newTiffEntry }, // Olympus2 FE 6 subdir { Tag::all, olympusFe6Id, newTiffEntry }, // Olympus2 FE 7 subdir { Tag::all, olympusFe7Id, newTiffEntry }, // Olympus2 FE 8 subdir { Tag::all, olympusFe8Id, newTiffEntry }, // Olympus2 FE 9 subdir { Tag::all, olympusFe9Id, newTiffEntry }, // Olympus2 Raw Info subdir { Tag::all, olympusRiId, newTiffEntry }, // Fujifilm makernote { Tag::next, fujiId, newTiffDirectory }, { Tag::all, fujiId, newTiffEntry }, // Canon makernote { 0x0001, canonId, EXV_BINARY_ARRAY(canonCsCfg, canonCsDef) }, { 0x0004, canonId, EXV_SIMPLE_BINARY_ARRAY(canonSiCfg) }, { 0x0005, canonId, EXV_SIMPLE_BINARY_ARRAY(canonPaCfg) }, { 0x000f, canonId, EXV_SIMPLE_BINARY_ARRAY(canonCfCfg) }, { 0x0012, canonId, EXV_SIMPLE_BINARY_ARRAY(canonPiCfg) }, { 0x0093, canonId, EXV_BINARY_ARRAY(canonFiCfg, canonFiDef) }, { 0x00a0, canonId, EXV_SIMPLE_BINARY_ARRAY(canonPrCfg) }, { Tag::next, canonId, newTiffDirectory }, { Tag::all, canonId, newTiffEntry }, // Canon makernote composite tags { Tag::all, canonCsId, newTiffBinaryElement }, { Tag::all, canonSiId, newTiffBinaryElement }, { Tag::all, canonPaId, newTiffBinaryElement }, { Tag::all, canonCfId, newTiffBinaryElement }, { Tag::all, canonPiId, newTiffBinaryElement }, { Tag::all, canonFiId, newTiffBinaryElement }, { Tag::all, canonPrId, newTiffBinaryElement }, // Nikon1 makernote { Tag::next, nikon1Id, newTiffDirectory }, { Tag::all, nikon1Id, newTiffEntry }, // Nikon2 makernote { Tag::next, nikon2Id, newTiffDirectory }, { Tag::all, nikon2Id, newTiffEntry }, // Nikon3 makernote { Tag::next, nikon3Id, newTiffDirectory }, { 0x0011, nikon3Id, newTiffSubIfd }, { 0x001f, nikon3Id, EXV_BINARY_ARRAY(nikonVrCfg, nikonVrDef) }, { 0x0023, nikon3Id, EXV_BINARY_ARRAY(nikonPcCfg, nikonPcDef) }, { 0x0024, nikon3Id, EXV_BINARY_ARRAY(nikonWtCfg, nikonWtDef) }, { 0x0025, nikon3Id, EXV_BINARY_ARRAY(nikonIiCfg, nikonIiDef) }, { 0x0088, nikon3Id, EXV_BINARY_ARRAY(nikonAfCfg, nikonAfDef) }, { 0x0091, nikon3Id, EXV_COMPLEX_BINARY_ARRAY(nikonSiSet, nikonSelector) }, { 0x0097, nikon3Id, EXV_COMPLEX_BINARY_ARRAY(nikonCbSet, nikonSelector) }, { 0x0098, nikon3Id, EXV_COMPLEX_BINARY_ARRAY(nikonLdSet, nikonSelector) }, { 0x00a8, nikon3Id, EXV_COMPLEX_BINARY_ARRAY(nikonFlSet, nikonSelector) }, { 0x00b0, nikon3Id, EXV_BINARY_ARRAY(nikonMeCfg, nikonMeDef) }, { 0x00b7, nikon3Id, EXV_BINARY_ARRAY(nikonAf2Cfg, nikonAf2Def)}, { 0x00b8, nikon3Id, EXV_BINARY_ARRAY(nikonFiCfg, nikonFiDef) }, { 0x00b9, nikon3Id, EXV_BINARY_ARRAY(nikonAFTCfg, nikonAFTDef) }, { Tag::all, nikon3Id, newTiffEntry }, // Nikon3 makernote preview subdir { 0x0201, nikonPvId, newTiffThumbData<0x0202, nikonPvId> }, { 0x0202, nikonPvId, newTiffThumbSize<0x0201, nikonPvId> }, { Tag::next, nikonPvId, newTiffDirectory }, { Tag::all, nikonPvId, newTiffEntry }, // Nikon3 vibration reduction { Tag::all, nikonVrId, newTiffBinaryElement }, // Nikon3 picture control { Tag::all, nikonPcId, newTiffBinaryElement }, // Nikon3 world time { Tag::all, nikonWtId, newTiffBinaryElement }, // Nikon3 ISO info { Tag::all, nikonIiId, newTiffBinaryElement }, // Nikon3 auto focus { Tag::all, nikonAfId, newTiffBinaryElement }, // Nikon3 auto focus 2 { Tag::all, nikonAf2Id, newTiffBinaryElement }, // Nikon3 AF Fine Tune { Tag::all, nikonAFTId, newTiffBinaryElement }, // Nikon3 file info { Tag::all, nikonFiId, newTiffBinaryElement }, // Nikon3 multi exposure { Tag::all, nikonMeId, newTiffBinaryElement }, // Nikon3 flash info { Tag::all, nikonFl1Id, newTiffBinaryElement }, { Tag::all, nikonFl2Id, newTiffBinaryElement }, { Tag::all, nikonFl3Id, newTiffBinaryElement }, // Nikon3 shot info { Tag::all, nikonSi1Id, newTiffBinaryElement }, { Tag::all, nikonSi2Id, newTiffBinaryElement }, { Tag::all, nikonSi3Id, newTiffBinaryElement }, { Tag::all, nikonSi4Id, newTiffBinaryElement }, { Tag::all, nikonSi5Id, newTiffBinaryElement }, { Tag::all, nikonSi6Id, newTiffBinaryElement }, // Nikon3 color balance { Tag::all, nikonCb1Id, newTiffBinaryElement }, { Tag::all, nikonCb2Id, newTiffBinaryElement }, { Tag::all, nikonCb2aId, newTiffBinaryElement }, { Tag::all, nikonCb2bId, newTiffBinaryElement }, { Tag::all, nikonCb3Id, newTiffBinaryElement }, { Tag::all, nikonCb4Id, newTiffBinaryElement }, // Nikon3 lens data { Tag::all, nikonLd1Id, newTiffBinaryElement }, { Tag::all, nikonLd2Id, newTiffBinaryElement }, { Tag::all, nikonLd3Id, newTiffBinaryElement }, // Panasonic makernote { Tag::next, panasonicId, newTiffDirectory }, { Tag::all, panasonicId, newTiffEntry }, // Pentax DNG makernote { 0x0003, pentaxDngId, newTiffThumbSize<0x0004, pentaxDngId> }, { 0x0004, pentaxDngId, newTiffThumbData<0x0003, pentaxDngId> }, { Tag::next, pentaxDngId, newTiffDirectory }, { Tag::all, pentaxDngId, newTiffEntry }, // Pentax makernote { 0x0003, pentaxId, newTiffThumbSize<0x0004, pentaxId> }, { 0x0004, pentaxId, newTiffThumbData<0x0003, pentaxId> }, { Tag::next, pentaxId, newTiffDirectory }, { Tag::all, pentaxId, newTiffEntry }, // Samsung2 makernote { 0x0021, samsung2Id, EXV_BINARY_ARRAY(samsungPwCfg, samsungPwDef) }, { 0x0035, samsung2Id, newTiffSubIfd }, { Tag::next, samsung2Id, newTiffDirectory }, { Tag::all, samsung2Id, newTiffEntry }, // Samsung PictureWizard binary array { Tag::all, samsungPwId, newTiffBinaryElement }, // Samsung2 makernote preview subdir { 0x0201, samsungPvId, newTiffThumbData<0x0202, samsungPvId> }, { 0x0202, samsungPvId, newTiffThumbSize<0x0201, samsungPvId> }, { Tag::next, samsungPvId, newTiffDirectory }, { Tag::all, samsungPvId, newTiffEntry }, // Sigma/Foveon makernote { Tag::next, sigmaId, newTiffDirectory }, { Tag::all, sigmaId, newTiffEntry }, // Sony1 makernote { 0x0114, sony1Id, EXV_COMPLEX_BINARY_ARRAY(sony1CsSet, sonyCsSelector) }, { 0xb028, sony1Id, newTiffSubIfd }, { Tag::next, sony1Id, newTiffDirectory }, { Tag::all, sony1Id, newTiffEntry }, // Sony1 camera settings { Tag::all, sony1CsId, newTiffBinaryElement }, { Tag::all, sony1Cs2Id, newTiffBinaryElement }, // Sony2 makernote { 0x0114, sony2Id, EXV_COMPLEX_BINARY_ARRAY(sony2CsSet, sonyCsSelector) }, { Tag::next, sony2Id, newTiffDirectory }, { Tag::all, sony2Id, newTiffEntry }, // Sony2 camera settings { Tag::all, sony2CsId, newTiffBinaryElement }, { Tag::all, sony2Cs2Id, newTiffBinaryElement }, // Sony1 Minolta makernote { 0x0001, sonyMltId, EXV_SIMPLE_BINARY_ARRAY(sony1MCsoCfg) }, { 0x0003, sonyMltId, EXV_SIMPLE_BINARY_ARRAY(sony1MCsnCfg) }, { 0x0004, sonyMltId, EXV_BINARY_ARRAY(sony1MCs7Cfg, minoCs7Def)}, // minoCs7Def [sic] { 0x0088, sonyMltId, newTiffThumbData<0x0089, sonyMltId> }, { 0x0089, sonyMltId, newTiffThumbSize<0x0088, sonyMltId> }, { 0x0114, sonyMltId, EXV_BINARY_ARRAY(sony1MCsA100Cfg, sony1MCsA100Def)}, { Tag::next, sonyMltId, newTiffDirectory }, { Tag::all, sonyMltId, newTiffEntry }, // Sony1 Minolta makernote composite tags { Tag::all, sony1MltCsOldId, newTiffBinaryElement }, { Tag::all, sony1MltCsNewId, newTiffBinaryElement }, { Tag::all, sony1MltCs7DId, newTiffBinaryElement }, { Tag::all, sony1MltCsA100Id, newTiffBinaryElement }, // Minolta makernote { 0x0001, minoltaId, EXV_SIMPLE_BINARY_ARRAY(minoCsoCfg) }, { 0x0003, minoltaId, EXV_SIMPLE_BINARY_ARRAY(minoCsnCfg) }, { 0x0004, minoltaId, EXV_BINARY_ARRAY(minoCs7Cfg, minoCs7Def) }, { 0x0088, minoltaId, newTiffThumbData<0x0089, minoltaId> }, { 0x0089, minoltaId, newTiffThumbSize<0x0088, minoltaId> }, { 0x0114, minoltaId, EXV_BINARY_ARRAY(minoCs5Cfg, minoCs5Def) }, { Tag::next, minoltaId, newTiffDirectory }, { Tag::all, minoltaId, newTiffEntry }, // Minolta makernote composite tags { Tag::all, minoltaCsOldId, newTiffBinaryElement }, { Tag::all, minoltaCsNewId, newTiffBinaryElement }, { Tag::all, minoltaCs7DId, newTiffBinaryElement }, { Tag::all, minoltaCs5DId, newTiffBinaryElement }, // ----------------------------------------------------------------------- // Root directory of Panasonic RAW images { Tag::pana, ifdIdNotSet, newTiffDirectory }, // IFD0 of Panasonic RAW images { 0x8769, panaRawId, newTiffSubIfd }, { 0x8825, panaRawId, newTiffSubIfd }, // { 0x0111, panaRawId, newTiffImageData<0x0117, panaRawId> }, // { 0x0117, panaRawId, newTiffImageSize<0x0111, panaRawId> }, { Tag::next, panaRawId, newTiffDirectory }, { Tag::all, panaRawId, newTiffEntry }, // Casio makernote { Tag::next, casioId, newTiffDirectory }, { Tag::all, casioId, newTiffEntry }, // Casio2 makernote { Tag::next, casio2Id, newTiffDirectory }, { Tag::all, casio2Id, newTiffEntry }, // ----------------------------------------------------------------------- // Tags which are not de/encoded { Tag::next, ignoreId, newTiffDirectory }, { Tag::all, ignoreId, newTiffEntry } }; // TIFF mapping table for special decoding and encoding requirements const TiffMappingInfo TiffMapping::tiffMappingInfo_[] = { { "*", Tag::all, ignoreId, 0, 0 }, // Do not decode tags with group == ignoreId { "*", 0x02bc, ifd0Id, &TiffDecoder::decodeXmp, 0 /*done before the tree is traversed*/ }, { "*", 0x83bb, ifd0Id, &TiffDecoder::decodeIptc, 0 /*done before the tree is traversed*/ }, { "*", 0x8649, ifd0Id, &TiffDecoder::decodeIptc, 0 /*done before the tree is traversed*/ } }; DecoderFct TiffMapping::findDecoder(const std::string& make, uint32_t extendedTag, IfdId group) { DecoderFct decoderFct = &TiffDecoder::decodeStdTiffEntry; const TiffMappingInfo* td = find(tiffMappingInfo_, TiffMappingInfo::Key(make, extendedTag, group)); if (td) { // This may set decoderFct to 0, meaning that the tag should not be decoded decoderFct = td->decoderFct_; } return decoderFct; } EncoderFct TiffMapping::findEncoder( const std::string& make, uint32_t extendedTag, IfdId group ) { EncoderFct encoderFct = 0; const TiffMappingInfo* td = find(tiffMappingInfo_, TiffMappingInfo::Key(make, extendedTag, group)); if (td) { // Returns 0 if no special encoder function is found encoderFct = td->encoderFct_; } return encoderFct; } bool TiffTreeStruct::operator==(const TiffTreeStruct::Key& key) const { return key.r_ == root_ && key.g_ == group_; } TiffComponent::AutoPtr TiffCreator::create(uint32_t extendedTag, IfdId group) { TiffComponent::AutoPtr tc(0); uint16_t tag = static_cast(extendedTag & 0xffff); const TiffGroupStruct* ts = find(tiffGroupStruct_, TiffGroupStruct::Key(extendedTag, group)); if (ts && ts->newTiffCompFct_) { tc = ts->newTiffCompFct_(tag, group); } #ifdef DEBUG else { if (!ts) { std::cerr << "Warning: No TIFF structure entry found for "; } else { std::cerr << "Warning: No TIFF component creator found for "; } std::cerr << "extended tag 0x" << std::setw(4) << std::setfill('0') << std::hex << std::right << extendedTag << ", group " << groupName(group) << "\n"; } #endif return tc; } // TiffCreator::create void TiffCreator::getPath(TiffPath& tiffPath, uint32_t extendedTag, IfdId group, uint32_t root) { const TiffTreeStruct* ts = 0; do { tiffPath.push(TiffPathItem(extendedTag, group)); ts = find(tiffTreeStruct_, TiffTreeStruct::Key(root, group)); assert(ts != 0); extendedTag = ts->parentExtTag_; group = ts->parentGroup_; } while (!(ts->root_ == root && ts->group_ == ifdIdNotSet)); } // TiffCreator::getPath ByteOrder TiffParserWorker::decode( ExifData& exifData, IptcData& iptcData, XmpData& xmpData, const byte* pData, uint32_t size, uint32_t root, FindDecoderFct findDecoderFct, TiffHeaderBase* pHeader ) { // Create standard TIFF header if necessary std::auto_ptr ph; if (!pHeader) { ph = std::auto_ptr(new TiffHeader); pHeader = ph.get(); } TiffComponent::AutoPtr rootDir = parse(pData, size, root, pHeader); if (0 != rootDir.get()) { TiffDecoder decoder(exifData, iptcData, xmpData, rootDir.get(), findDecoderFct); rootDir->accept(decoder); } return pHeader->byteOrder(); } // TiffParserWorker::decode WriteMethod TiffParserWorker::encode( BasicIo& io, const byte* pData, uint32_t size, const ExifData& exifData, const IptcData& iptcData, const XmpData& xmpData, uint32_t root, FindEncoderFct findEncoderFct, TiffHeaderBase* pHeader, OffsetWriter* pOffsetWriter ) { /* 1) parse the binary image, if one is provided, and 2) attempt updating the parsed tree in-place ("non-intrusive writing") 3) else, create a new tree and write a new TIFF structure ("intrusive writing"). If there is a parsed tree, it is only used to access the image data in this case. */ assert(pHeader); assert(pHeader->byteOrder() != invalidByteOrder); WriteMethod writeMethod = wmIntrusive; TiffComponent::AutoPtr parsedTree = parse(pData, size, root, pHeader); PrimaryGroups primaryGroups; findPrimaryGroups(primaryGroups, parsedTree.get()); if (0 != parsedTree.get()) { // Attempt to update existing TIFF components based on metadata entries TiffEncoder encoder(exifData, iptcData, xmpData, parsedTree.get(), false, &primaryGroups, pHeader, findEncoderFct); parsedTree->accept(encoder); if (!encoder.dirty()) writeMethod = wmNonIntrusive; } if (writeMethod == wmIntrusive) { TiffComponent::AutoPtr createdTree = TiffCreator::create(root, ifdIdNotSet); if (0 != parsedTree.get()) { // Copy image tags from the original image to the composite TiffCopier copier(createdTree.get(), root, pHeader, &primaryGroups); parsedTree->accept(copier); } // Add entries from metadata to composite TiffEncoder encoder(exifData, iptcData, xmpData, createdTree.get(), parsedTree.get() == 0, &primaryGroups, pHeader, findEncoderFct); encoder.add(createdTree.get(), parsedTree.get(), root); // Write binary representation from the composite tree DataBuf header = pHeader->write(); BasicIo::AutoPtr tempIo(io.temporary()); // may throw assert(tempIo.get() != 0); IoWrapper ioWrapper(*tempIo, header.pData_, header.size_, pOffsetWriter); uint32_t imageIdx(uint32_t(-1)); createdTree->write(ioWrapper, pHeader->byteOrder(), header.size_, uint32_t(-1), uint32_t(-1), imageIdx); if (pOffsetWriter) pOffsetWriter->writeOffsets(*tempIo); io.transfer(*tempIo); // may throw #ifndef SUPPRESS_WARNINGS EXV_INFO << "Write strategy: Intrusive\n"; #endif } #ifndef SUPPRESS_WARNINGS else { EXV_INFO << "Write strategy: Non-intrusive\n"; } #endif return writeMethod; } // TiffParserWorker::encode TiffComponent::AutoPtr TiffParserWorker::parse( const byte* pData, uint32_t size, uint32_t root, TiffHeaderBase* pHeader ) { if (pData == 0 || size == 0) return TiffComponent::AutoPtr(0); if (!pHeader->read(pData, size) || pHeader->offset() >= size) { throw Error(3, "TIFF"); } TiffComponent::AutoPtr rootDir = TiffCreator::create(root, ifdIdNotSet); if (0 != rootDir.get()) { rootDir->setStart(pData + pHeader->offset()); TiffRwState state(pHeader->byteOrder(), 0); TiffReader reader(pData, size, rootDir.get(), state); rootDir->accept(reader); reader.postProcess(); } return rootDir; } // TiffParserWorker::parse void TiffParserWorker::findPrimaryGroups(PrimaryGroups& primaryGroups, TiffComponent* pSourceDir) { if (0 == pSourceDir) return; const IfdId imageGroups[] = { ifd0Id, ifd1Id, ifd2Id, ifd3Id, subImage1Id, subImage2Id, subImage3Id, subImage4Id, subImage5Id, subImage6Id, subImage7Id, subImage8Id, subImage9Id }; for (unsigned int i = 0; i < EXV_COUNTOF(imageGroups); ++i) { TiffFinder finder(0x00fe, imageGroups[i]); pSourceDir->accept(finder); TiffEntryBase* te = dynamic_cast(finder.result()); if ( te && te->pValue()->typeId() == unsignedLong && te->pValue()->count() == 1 && (te->pValue()->toLong() & 1) == 0) { primaryGroups.push_back(te->group()); } } } // TiffParserWorker::findPrimaryGroups TiffHeaderBase::TiffHeaderBase(uint16_t tag, uint32_t size, ByteOrder byteOrder, uint32_t offset) : tag_(tag), size_(size), byteOrder_(byteOrder), offset_(offset) { } TiffHeaderBase::~TiffHeaderBase() { } bool TiffHeaderBase::read(const byte* pData, uint32_t size) { if (!pData || size < 8) return false; if (pData[0] == 0x49 && pData[1] == 0x49) { byteOrder_ = littleEndian; } else if (pData[0] == 0x4d && pData[1] == 0x4d) { byteOrder_ = bigEndian; } else { return false; } if (tag_ != getUShort(pData + 2, byteOrder_)) return false; offset_ = getULong(pData + 4, byteOrder_); return true; } // TiffHeaderBase::read DataBuf TiffHeaderBase::write() const { DataBuf buf(8); switch (byteOrder_) { case littleEndian: buf.pData_[0] = 0x49; buf.pData_[1] = 0x49; break; case bigEndian: buf.pData_[0] = 0x4d; buf.pData_[1] = 0x4d; break; case invalidByteOrder: assert(false); break; } us2Data(buf.pData_ + 2, tag_, byteOrder_); ul2Data(buf.pData_ + 4, 0x00000008, byteOrder_); return buf; } void TiffHeaderBase::print(std::ostream& os, const std::string& prefix) const { std::ios::fmtflags f( os.flags() ); os << prefix << _("TIFF header, offset") << " = 0x" << std::setw(8) << std::setfill('0') << std::hex << std::right << offset_; switch (byteOrder_) { case littleEndian: os << ", " << _("little endian encoded"); break; case bigEndian: os << ", " << _("big endian encoded"); break; case invalidByteOrder: break; } os << "\n"; os.flags(f); } // TiffHeaderBase::print ByteOrder TiffHeaderBase::byteOrder() const { return byteOrder_; } void TiffHeaderBase::setByteOrder(ByteOrder byteOrder) { byteOrder_ = byteOrder; } uint32_t TiffHeaderBase::offset() const { return offset_; } void TiffHeaderBase::setOffset(uint32_t offset) { offset_ = offset; } uint32_t TiffHeaderBase::size() const { return size_; } uint16_t TiffHeaderBase::tag() const { return tag_; } bool TiffHeaderBase::isImageTag( uint16_t /*tag*/, IfdId /*group*/, const PrimaryGroups* /*primaryGroups*/) const { return false; } bool isTiffImageTag(uint16_t tag, IfdId group) { //! List of TIFF image tags static const TiffImgTagStruct tiffImageTags[] = { { 0x00fe, ifd0Id }, // Exif.Image.NewSubfileType { 0x00ff, ifd0Id }, // Exif.Image.SubfileType { 0x0100, ifd0Id }, // Exif.Image.ImageWidth { 0x0101, ifd0Id }, // Exif.Image.ImageLength { 0x0102, ifd0Id }, // Exif.Image.BitsPerSample { 0x0103, ifd0Id }, // Exif.Image.Compression { 0x0106, ifd0Id }, // Exif.Image.PhotometricInterpretation { 0x010a, ifd0Id }, // Exif.Image.FillOrder { 0x0111, ifd0Id }, // Exif.Image.StripOffsets { 0x0115, ifd0Id }, // Exif.Image.SamplesPerPixel { 0x0116, ifd0Id }, // Exif.Image.RowsPerStrip { 0x0117, ifd0Id }, // Exif.Image.StripByteCounts { 0x011a, ifd0Id }, // Exif.Image.XResolution { 0x011b, ifd0Id }, // Exif.Image.YResolution { 0x011c, ifd0Id }, // Exif.Image.PlanarConfiguration { 0x0122, ifd0Id }, // Exif.Image.GrayResponseUnit { 0x0123, ifd0Id }, // Exif.Image.GrayResponseCurve { 0x0124, ifd0Id }, // Exif.Image.T4Options { 0x0125, ifd0Id }, // Exif.Image.T6Options { 0x0128, ifd0Id }, // Exif.Image.ResolutionUnit { 0x0129, ifd0Id }, // Exif.Image.PageNumber { 0x012d, ifd0Id }, // Exif.Image.TransferFunction { 0x013d, ifd0Id }, // Exif.Image.Predictor { 0x013e, ifd0Id }, // Exif.Image.WhitePoint { 0x013f, ifd0Id }, // Exif.Image.PrimaryChromaticities { 0x0140, ifd0Id }, // Exif.Image.ColorMap { 0x0141, ifd0Id }, // Exif.Image.HalftoneHints { 0x0142, ifd0Id }, // Exif.Image.TileWidth { 0x0143, ifd0Id }, // Exif.Image.TileLength { 0x0144, ifd0Id }, // Exif.Image.TileOffsets { 0x0145, ifd0Id }, // Exif.Image.TileByteCounts { 0x014c, ifd0Id }, // Exif.Image.InkSet { 0x014d, ifd0Id }, // Exif.Image.InkNames { 0x014e, ifd0Id }, // Exif.Image.NumberOfInks { 0x0150, ifd0Id }, // Exif.Image.DotRange { 0x0151, ifd0Id }, // Exif.Image.TargetPrinter { 0x0152, ifd0Id }, // Exif.Image.ExtraSamples { 0x0153, ifd0Id }, // Exif.Image.SampleFormat { 0x0154, ifd0Id }, // Exif.Image.SMinSampleValue { 0x0155, ifd0Id }, // Exif.Image.SMaxSampleValue { 0x0156, ifd0Id }, // Exif.Image.TransferRange { 0x0157, ifd0Id }, // Exif.Image.ClipPath { 0x0158, ifd0Id }, // Exif.Image.XClipPathUnits { 0x0159, ifd0Id }, // Exif.Image.YClipPathUnits { 0x015a, ifd0Id }, // Exif.Image.Indexed { 0x015b, ifd0Id }, // Exif.Image.JPEGTables { 0x0200, ifd0Id }, // Exif.Image.JPEGProc { 0x0201, ifd0Id }, // Exif.Image.JPEGInterchangeFormat { 0x0202, ifd0Id }, // Exif.Image.JPEGInterchangeFormatLength { 0x0203, ifd0Id }, // Exif.Image.JPEGRestartInterval { 0x0205, ifd0Id }, // Exif.Image.JPEGLosslessPredictors { 0x0206, ifd0Id }, // Exif.Image.JPEGPointTransforms { 0x0207, ifd0Id }, // Exif.Image.JPEGQTables { 0x0208, ifd0Id }, // Exif.Image.JPEGDCTables { 0x0209, ifd0Id }, // Exif.Image.JPEGACTables { 0x0211, ifd0Id }, // Exif.Image.YCbCrCoefficients { 0x0212, ifd0Id }, // Exif.Image.YCbCrSubSampling { 0x0213, ifd0Id }, // Exif.Image.YCbCrPositioning { 0x0214, ifd0Id }, // Exif.Image.ReferenceBlackWhite { 0x828d, ifd0Id }, // Exif.Image.CFARepeatPatternDim { 0x828e, ifd0Id }, // Exif.Image.CFAPattern { 0x8773, ifd0Id }, // Exif.Image.InterColorProfile { 0x8824, ifd0Id }, // Exif.Image.SpectralSensitivity { 0x8828, ifd0Id }, // Exif.Image.OECF { 0x9102, ifd0Id }, // Exif.Image.CompressedBitsPerPixel { 0x9217, ifd0Id }, // Exif.Image.SensingMethod }; // If tag, group is one of the image tags listed above -> bingo! if (find(tiffImageTags, TiffImgTagStruct::Key(tag, group))) { #ifdef DEBUG ExifKey key(tag, groupName(group)); std::cerr << "Image tag: " << key << " (3)\n"; #endif return true; } #ifdef DEBUG std::cerr << "Not an image tag: " << tag << " (4)\n"; #endif return false; } TiffHeader::TiffHeader(ByteOrder byteOrder, uint32_t offset, bool hasImageTags) : TiffHeaderBase(42, 8, byteOrder, offset), hasImageTags_(hasImageTags) { } TiffHeader::~TiffHeader() { } bool TiffHeader::isImageTag( uint16_t tag, IfdId group, const PrimaryGroups* pPrimaryGroups) const { if (!hasImageTags_) { #ifdef DEBUG std::cerr << "No image tags in this image\n"; #endif return false; } #ifdef DEBUG ExifKey key(tag, groupName(group)); #endif // If there are primary groups and none matches group, we're done if ( pPrimaryGroups != 0 && !pPrimaryGroups->empty() && std::find(pPrimaryGroups->begin(), pPrimaryGroups->end(), group) == pPrimaryGroups->end()) { #ifdef DEBUG std::cerr << "Not an image tag: " << key << " (1)\n"; #endif return false; } // All tags of marked primary groups other than IFD0 are considered // image tags. That should take care of NEFs until we know better. if ( pPrimaryGroups != 0 && !pPrimaryGroups->empty() && group != ifd0Id) { #ifdef DEBUG ExifKey key(tag, groupName(group)); std::cerr << "Image tag: " << key << " (2)\n"; #endif return true; } // Finally, if tag, group is one of the TIFF image tags -> bingo! return isTiffImageTag(tag, group); } // TiffHeader::isImageTag void OffsetWriter::setOrigin(OffsetId id, uint32_t origin, ByteOrder byteOrder) { offsetList_[id] = OffsetData(origin, byteOrder); } void OffsetWriter::setTarget(OffsetId id, uint32_t target) { OffsetList::iterator it = offsetList_.find(id); if (it != offsetList_.end()) it->second.target_ = target; } void OffsetWriter::writeOffsets(BasicIo& io) const { for (OffsetList::const_iterator it = offsetList_.begin(); it != offsetList_.end(); ++it) { io.seek(it->second.origin_, BasicIo::beg); byte buf[4] = { 0, 0, 0, 0 }; l2Data(buf, it->second.target_, it->second.byteOrder_); io.write(buf, 4); } } }} // namespace Internal, Exiv2 exiv2-0.25/src/sonymn.cpp0000664000175000017500000010723112521135474015141 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: sonymn.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 18-Apr-05, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: sonymn.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // ***************************************************************************** // included header files #include "types.hpp" #include "minoltamn_int.hpp" #include "sonymn_int.hpp" #include "tags_int.hpp" #include "value.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { // -- Standard Sony Makernotes tags --------------------------------------------------------------- //! Lookup table to translate Sony Auto HDR values to readable labels extern const TagDetails sonyHDRMode[] = { { 0x00000, N_("Off") }, { 0x10001, N_("Auto") }, { 0x10010, "1" }, { 0x10012, "2" }, { 0x10014, "3" }, { 0x10016, "4" }, { 0x10018, "5" } }; //! Lookup table to translate Sony model ID values to readable labels extern const TagDetails sonyModelId[] = { { 2, "DSC-R1" }, { 256, "DSLR-A100" }, { 257, "DSLR-A900" }, { 258, "DSLR-A700" }, { 259, "DSLR-A200" }, { 260, "DSLR-A350" }, { 261, "DSLR-A300" }, { 262, "DSLR-A900 (APS-C mode)" }, { 263, "DSLR-A380/A390" }, { 264, "DSLR-A330" }, { 265, "DSLR-A230" }, { 266, "DSLR-A290" }, { 269, "DSLR-A850" }, { 270, "DSLR-A850 (APS-C mode)" }, { 273, "DSLR-A550" }, { 274, "DSLR-A500" }, { 275, "DSLR-A450" }, { 278, "NEX-5" }, { 279, "NEX-3" }, { 280, "SLT-A33" }, { 281, "SLT-A55 / SLT-A55V" }, { 282, "DSLR-A560" }, { 283, "DSLR-A580" }, { 284, "NEX-C3" }, { 285, "SLT-A35" }, { 286, "SLT-A65 / SLT-A65V" }, { 287, "SLT-A77 / SLT-A77V" }, { 288, "NEX-5N" }, { 289, "NEX-7" }, { 290, "NEX-VG20E" }, { 291, "SLT-A37" }, { 292, "SLT-A57" }, { 293, "NEX-F3" }, { 294, "SLT-A99 / SLT-A99V" }, { 295, "NEX-6" }, { 296, "NEX-5R" }, { 297, "DSC-RX100" }, { 298, "DSC-RX1" }, { 299, "NEX-VG900" }, { 300, "NEX-VG30E" }, { 302, "ILCE-3000" }, { 303, "SLT-A58" }, { 305, "NEX-3N" }, { 306, "ILCE-7" }, { 307, "NEX-5T" }, { 308, "DSC-RX100M2" }, { 309, "DSC-RX10" }, { 310, "DSC-RX1R" }, { 311, "ILCE-7R" }, { 312, "ILCE-6000" }, { 313, "ILCE-5000" }, { 317, "DSC-RX100M3" }, { 318, "ILCE-7S" }, { 319, "ILCA-77M2" }, { 339, "ILCE-5100" }, { 346, "ILCE-QX1" } }; //! Lookup table to translate Sony dynamic range optimizer values to readable labels extern const TagDetails print0xb025[] = { { 0, N_("Off") }, { 1, N_("Standard") }, { 2, N_("Advanced Auto") }, { 3, N_("Auto") }, { 8, N_("Advanced Lv1") }, { 9, N_("Advanced Lv2") }, { 10, N_("Advanced Lv3") }, { 11, N_("Advanced Lv4") }, { 12, N_("Advanced Lv5") }, { 16, "1" }, { 17, "2" }, { 18, "3" }, { 19, "4" }, { 20, "5" } }; //! Lookup table to translate Sony exposure mode values to readable labels extern const TagDetails sonyExposureMode[] = { { 0, N_("Auto") }, { 1, N_("Portrait") }, { 2, N_("Beach") }, { 3, N_("Sports") }, { 4, N_("Snow") }, { 5, N_("Landscape") }, { 6, N_("Program") }, { 7, N_("Aperture priority") }, { 8, N_("Shutter priority") }, { 9, N_("Night Scene / Twilight") }, { 10, N_("Hi-Speed Shutter") }, { 11, N_("Twilight Portrait") }, { 12, N_("Soft Snap / Portrait") }, { 13, N_("Fireworks") }, { 14, N_("Smile Shutter") }, { 15, N_("Manual") }, { 18, N_("High Sensitivity") }, { 19, N_("Macro") }, { 20, N_("Advanced Sports Shooting") }, { 29, N_("Underwater") }, { 33, N_("Food") }, { 34, N_("Sweep Panorama") }, { 35, N_("Handheld Night Shot") }, { 36, N_("Anti Motion Blur") }, { 37, N_("Pet") }, { 38, N_("Backlight Correction HDR") }, { 39, N_("Superior Auto") }, { 40, N_("Background Defocus") }, { 41, N_("Soft Skin") }, { 42, N_("3D Image") }, { 65535, N_("n/a") } }; //! Lookup table to translate Sony JPEG Quality values to readable labels extern const TagDetails sonyJPEGQuality[] = { { 0, N_("Normal") }, { 1, N_("Fine") }, { 2, N_("Extra Fine") }, { 65535, N_("n/a") } }; //! Lookup table to translate Sony anti-blur values to readable labels extern const TagDetails sonyAntiBlur[] = { { 0, N_("Off") }, { 1, N_("On (Continuous)") }, { 2, N_("On (Shooting)") }, { 65535, N_("n/a") } }; //! Lookup table to translate Sony dynamic range optimizer values to readable labels extern const TagDetails print0xb04f[] = { { 0, N_("Off") }, { 1, N_("Standard") }, { 2, N_("Plus") } }; //! Lookup table to translate Sony Intelligent Auto values to readable labels extern const TagDetails sonyIntelligentAuto[] = { { 0, N_("Off") }, { 1, N_("On") }, { 2, N_("Advanced") } }; //! Lookup table to translate Sony WB values to readable labels extern const TagDetails sonyWhiteBalance[] = { { 0, N_("Auto") }, { 4, N_("Manual") }, { 5, N_("Daylight") }, { 6, N_("Cloudy") }, { 7, N_("White Flourescent") }, { 8, N_("Cool White Flourescent") }, { 9, N_("Day White Flourescent") }, { 10, N_("Incandescent2") }, { 11, N_("Warm White Fluorescent") }, { 14, N_("Incandescent") }, { 15, N_("Flash") }, { 17, N_("Underwater 1 (Blue Water)") }, { 18, N_("Underwater 2 (Green Water)") } }; //! Lookup table to translate Sony AF mode values to readable labels extern const TagDetails sonyFocusMode[] = { { 1, "AF-S" }, { 2, "AF-C" }, { 4, N_("Permanent-AF") }, { 65535, N_("n/a") } }; //! Lookup table to translate Sony AF mode values to readable labels extern const TagDetails sonyAFMode[] = { { 0, N_("Default") }, { 1, N_("Multi AF") }, { 2, N_("Center AF") }, { 3, N_("Spot AF") }, { 4, N_("Flexible Spot AF") }, { 6, N_("Touch AF") }, { 14, N_("Manual Focus") }, { 15, N_("Face Detected") }, { 65535, N_("n/a") } }; //! Lookup table to translate Sony AF illuminator values to readable labels extern const TagDetails sonyAFIlluminator[] = { { 0, N_("Off") }, { 1, N_("Auto") }, { 65535, N_("n/a") } }; //! Lookup table to translate Sony macro mode values to readable labels extern const TagDetails sonyMacroMode[] = { { 0, N_("Off") }, { 1, N_("On") }, { 2, N_("Close Focus") }, { 65535, N_("n/a") } }; //! Lookup table to translate Sony flash level values to readable labels extern const TagDetails sonyFlashLevel[] = { { -32768, N_("Low") }, { -1, N_("n/a") }, { 0, N_("Normal") }, { 32767, N_("High") } }; //! Lookup table to translate Sony release mode values to readable labels extern const TagDetails sonyReleaseMode[] = { { 0, N_("Normal") }, { 2, N_("Burst") }, { 5, N_("Exposure Bracketing") }, { 6, N_("White Balance Bracketing") }, { 65535, N_("n/a") } }; //! Lookup table to translate Sony sequence number values to readable labels extern const TagDetails sonySequenceNumber[] = { { 0, N_("Single") }, { 65535, N_("n/a") } }; //! Lookup table to translate Sony long exposure noise reduction values to readable labels extern const TagDetails sonyLongExposureNoiseReduction[] = { { 0, N_("Off") }, { 1, N_("On") }, { 65535, N_("n/a") } }; std::ostream& SonyMakerNote::print0xb000(std::ostream& os, const Value& value, const ExifData*) { if (value.count() != 4) { os << "(" << value << ")"; } else { std::string val = value.toString(0) + value.toString(1) + value.toString(2) + value.toString(3); if (val == "0002") os << "JPEG"; else if (val == "1000") os << "SR2"; else if (val == "2000") os << "ARW 1.0"; else if (val == "3000") os << "ARW 2.0"; else if (val == "3100") os << "ARW 2.1"; else if (val == "3200") os << "ARW 2.2"; else os << "(" << value << ")"; } return os; } std::ostream& SonyMakerNote::printImageSize(std::ostream& os, const Value& value, const ExifData*) { if (value.count() == 2) os << value.toString(0) << " x " << value.toString(1); else os << "(" << value << ")"; return os; } // Sony MakerNote Tag Info const TagInfo SonyMakerNote::tagInfo_[] = { TagInfo(0x0102, "Quality", N_("Image Quality"), N_("Image quality"), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyImageQuality), TagInfo(0x0104, "FlashExposureComp", N_("Flash Exposure Compensation"), N_("Flash exposure compensation in EV"), sony1Id, makerTags, signedRational, -1, print0x9204), TagInfo(0x0105, "Teleconverter", N_("Teleconverter Model"), N_("Teleconverter Model"), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyTeleconverterModel), TagInfo(0x0112, "WhiteBalanceFineTune", N_("White Balance Fine Tune"), N_("White Balance Fine Tune Value"), sony1Id, makerTags, unsignedLong, -1, printValue), TagInfo(0x0114, "CameraSettings", N_("Camera Settings"), N_("Camera Settings"), sony1Id, makerTags, undefined, -1, printValue), TagInfo(0x0115, "WhiteBalance", N_("White Balance"), N_("White balance"), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyWhiteBalanceStd), TagInfo(0x0116, "0x0116", "0x0116", N_("Unknown"), sony1Id, makerTags, undefined, -1, printValue), TagInfo(0x0E00, "PrintIM", N_("Print IM"), N_("PrintIM information"), sony1Id, makerTags, undefined, -1, printValue), TagInfo(0x1000, "MultiBurstMode", N_("Multi Burst Mode"), N_("Multi Burst Mode"), sony1Id, makerTags, undefined, -1, printMinoltaSonyBoolValue), TagInfo(0x1001, "MultiBurstImageWidth", N_("Multi Burst Image Width"), N_("Multi Burst Image Width"), sony1Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x1002, "MultiBurstImageHeight", N_("Multi Burst Image Height"), N_("Multi Burst Image Height"), sony1Id, makerTags, unsignedShort, -1, printValue), // TODO : Implement Panorama tags decoding. TagInfo(0x1003, "Panorama", N_("Panorama"), N_("Panorama"), sony1Id, makerTags, undefined, -1, printValue), TagInfo(0x2000, "0x2000", "0x2000", N_("Unknown"), sony1Id, makerTags, undefined, -1, printValue), TagInfo(0x2001, "PreviewImage", N_("Preview Image"), N_("JPEG preview image"), sony1Id, makerTags, undefined, -1, printValue), TagInfo(0x2002, "0x2002", "0x2002", N_("Unknown"), sony1Id, makerTags, unsignedLong, -1, printValue), TagInfo(0x2003, "0x2003", "0x2003", N_("Unknown"), sony1Id, makerTags, asciiString, -1, printValue), TagInfo(0x2004, "Contrast", "Contrast", N_("Contrast"), sony1Id, makerTags, signedLong, -1, printValue), TagInfo(0x2005, "Saturation", "Saturation", N_("Saturation"), sony1Id, makerTags, signedLong, -1, printValue), TagInfo(0x2006, "0x2006", "0x2006", N_("Unknown"), sony1Id, makerTags, signedLong, -1, printValue), TagInfo(0x2007, "0x2007", "0x2007", N_("Unknown"), sony1Id, makerTags, signedLong, -1, printValue), TagInfo(0x2008, "0x2008", "0x2008", N_("Unknown"), sony1Id, makerTags, signedLong, -1, printValue), TagInfo(0x2009, "0x2009", "0x2009", N_("Unknown"), sony1Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x200A, "AutoHDR", N_("Auto HDR"), N_("High Definition Range Mode"), sony1Id, makerTags, unsignedLong, -1, EXV_PRINT_TAG(sonyHDRMode)), // TODO : Implement Shot Info tags decoding. TagInfo(0x3000, "ShotInfo", N_("Shot Info"), N_("Shot Information"), sony1Id, makerTags, undefined, -1, printValue), TagInfo(0xB000, "FileFormat", N_("File Format"), N_("File Format"), sony1Id, makerTags, unsignedByte, -1, print0xb000), TagInfo(0xB001, "SonyModelID", N_("Sony Model ID"), N_("Sony Model ID"), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyModelId)), TagInfo(0xB020, "ColorReproduction", N_("Color Reproduction"), N_("Color Reproduction"), sony1Id, makerTags, asciiString, -1, printValue), TagInfo(0xb021, "ColorTemperature", N_("Color Temperature"), N_("Color Temperature"), sony1Id, makerTags, unsignedLong, -1, printValue), TagInfo(0xB022, "ColorCompensationFilter", N_("Color Compensation Filter"), N_("Color Compensation Filter: negative is green, positive is magenta"), sony1Id, makerTags, unsignedLong, -1, printValue), TagInfo(0xB023, "SceneMode", N_("Scene Mode"), N_("Scene Mode"), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonySceneMode), TagInfo(0xB024, "ZoneMatching", N_("Zone Matching"), N_("Zone Matching"), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyZoneMatching), TagInfo(0xB025, "DynamicRangeOptimizer", N_("Dynamic Range Optimizer"), N_("Dynamic Range Optimizer"), sony1Id, makerTags, unsignedLong, -1, EXV_PRINT_TAG(print0xb025)), TagInfo(0xB026, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyBoolValue), TagInfo(0xB027, "LensID", N_("Lens ID"), N_("Lens identifier"), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyLensID), TagInfo(0xB028, "MinoltaMakerNote", N_("Minolta MakerNote"), N_("Minolta MakerNote"), sony1Id, makerTags, undefined, -1, printValue), TagInfo(0xB029, "ColorMode", N_("Color Mode"), N_("Color Mode"), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyColorMode), TagInfo(0xB02B, "FullImageSize", N_("Full Image Size"), N_("Full Image Size"), sony1Id, makerTags, unsignedLong, -1, printImageSize), TagInfo(0xB02C, "PreviewImageSize", N_("Preview Image Size"), N_("Preview image size"), sony1Id, makerTags, unsignedLong, -1, printImageSize), TagInfo(0xB040, "Macro", N_("Macro"), N_("Macro"), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyMacroMode)), TagInfo(0xB041, "ExposureMode", N_("Exposure Mode"), N_("Exposure Mode"), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyExposureMode)), TagInfo(0xB042, "FocusMode", N_("Focus Mode"), N_("Focus Mode"), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyFocusMode)), TagInfo(0xB043, "AFMode", N_("AF Mode"), N_("AF Mode"), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyAFMode)), TagInfo(0xB044, "AFIlluminator", N_("AF Illuminator"), N_("AF Illuminator"), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyAFIlluminator)), TagInfo(0xB047, "JPEGQuality", N_("JPEG Quality"), N_("JPEG Quality"), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyJPEGQuality)), TagInfo(0xB048, "FlashLevel", N_("Flash Level"), N_("Flash Level"), sony1Id, makerTags, signedShort, -1, EXV_PRINT_TAG(sonyFlashLevel)), TagInfo(0xB049, "ReleaseMode", N_("Release Mode"), N_("Release Mode"), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyReleaseMode)), TagInfo(0xB04A, "SequenceNumber", N_("Sequence Number"), N_("Shot number in continuous burst mode"), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonySequenceNumber)), TagInfo(0xB04B, "AntiBlur", N_("Anti-Blur"), N_("Anti-Blur"), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyAntiBlur)), TagInfo(0xB04E, "LongExposureNoiseReduction", N_("Long Exposure Noise Reduction"), N_("Long Exposure Noise Reduction"), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyLongExposureNoiseReduction)), TagInfo(0xB04F, "DynamicRangeOptimizer", N_("Dynamic Range Optimizer"), N_("Dynamic Range Optimizer"), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(print0xb04f)), TagInfo(0xB052, "IntelligentAuto", N_("Intelligent Auto"), N_("Intelligent Auto"), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyIntelligentAuto)), TagInfo(0xB054, "WhiteBalance2", N_("White Balance 2"), N_("White balance 2"), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyWhiteBalance)), // End of list marker TagInfo(0xffff, "(UnknownSony1MakerNoteTag)", "(UnknownSony1MakerNoteTag)", N_("Unknown Sony1MakerNote tag"), sony1Id, makerTags, asciiString, -1, printValue) }; const TagInfo* SonyMakerNote::tagList() { return tagInfo_; } // -- Sony camera settings --------------------------------------------------------------- //! Lookup table to translate Sony camera settings drive mode values to readable labels extern const TagDetails sonyDriveModeStd[] = { { 1, N_("Single Frame") }, { 2, N_("Continuous High") }, { 4, N_("Self-timer 10 sec") }, { 5, N_("Self-timer 2 sec") }, { 7, N_("Continuous Bracketing") }, { 12, N_("Continuous Low") }, { 18, N_("White Balance Bracketing Low") }, { 19, N_("D-Range Optimizer Bracketing Low") }, { 19, N_("D-Range Optimizer Bracketing Low") } // To silence compiler warning }; //! Lookup table to translate Sony camera settings focus mode values to readable labels extern const TagDetails sonyCSFocusMode[] = { { 0, N_("Manual") }, { 1, "AF-S" }, { 2, "AF-C" }, { 3, "AF-A" } }; //! Lookup table to translate Sony camera settings metering mode values to readable labels extern const TagDetails sonyMeteringMode[] = { { 1, N_("Multi-segment") }, { 2, N_("Center weighted average") }, { 4, N_("Spot") } }; //! Lookup table to translate Sony camera settings creative style values to readable labels extern const TagDetails sonyCreativeStyle[] = { { 1, N_("Standard") }, { 2, N_("Vivid") }, { 3, N_("Portrait") }, { 4, N_("Landscape") }, { 5, N_("Sunset") }, { 6, N_("Night View/Portrait") }, { 8, N_("Black & White") }, { 9, N_("Adobe RGB") }, { 11, N_("Neutral") }, { 12, N_("Clear") }, { 13, N_("Deep") }, { 14, N_("Light") }, { 15, N_("Autumn") }, { 16, N_("Sepia") } }; //! Lookup table to translate Sony camera settings flash mode values to readable labels extern const TagDetails sonyFlashMode[] = { { 0, N_("ADI") }, { 1, N_("TTL") }, }; //! Lookup table to translate Sony AF illuminator values to readable labels extern const TagDetails sonyAFIlluminatorCS[] = { { 0, N_("Auto") }, { 1, N_("Off") } }; //! Lookup table to translate Sony camera settings image style values to readable labels extern const TagDetails sonyImageStyle[] = { { 1, N_("Standard") }, { 2, N_("Vivid") }, { 9, N_("Adobe RGB") }, { 11, N_("Neutral") }, { 129, N_("StyleBox1") }, { 130, N_("StyleBox1") }, { 131, N_("StyleBox1") } }; //! Lookup table to translate Sony camera settings exposure program values to readable labels extern const TagDetails sonyExposureProgram[] = { { 0, N_("Auto") }, { 1, N_("Manual") }, { 2, N_("Program AE") }, { 3, N_("Aperture-priority AE") }, { 4, N_("Shutter speed priority AE") }, { 8, N_("Program Shift A") }, { 9, N_("Program Shift S") }, { 16, N_("Portrait") }, { 17, N_("Sports") }, { 18, N_("Sunset") }, { 19, N_("Night Portrait") }, { 20, N_("Landscape") }, { 21, N_("Macro") }, { 35, N_("Auto No Flash") } }; //! Lookup table to translate Sony camera settings image size values to readable labels extern const TagDetails sonyImageSize[] = { { 1, N_("Large") }, { 2, N_("Medium") }, { 3, N_("Small") } }; //! Lookup table to translate Sony aspect ratio values to readable labels extern const TagDetails sonyAspectRatio[] = { { 1, "3:2" }, { 2, "16:9" } }; //! Lookup table to translate Sony exposure level increments values to readable labels extern const TagDetails sonyExposureLevelIncrements[] = { { 33, "1/3 EV" }, { 50, "1/2 EV" } }; // Sony Camera Settings Tag Info // NOTE: all are for A200, A230, A300, A350, A700, A850 and A900 Sony model excepted // some entries which are only relevant with A700. // Warnings: Exiftool database give a list of tags shorted in decimal mode, not hexadecimal. const TagInfo SonyMakerNote::tagInfoCs_[] = { // NOTE: A700 only TagInfo(0x0004, "DriveMode", N_("Drive Mode"), N_("Drive Mode"), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyDriveModeStd)), // NOTE: A700 only TagInfo(0x0006, "WhiteBalanceFineTune", N_("White Balance Fine Tune"), N_("White Balance Fine Tune"), sony1CsId, makerTags, signedShort, 1, printValue), TagInfo(0x0010, "FocusMode", N_("Focus Mode"), N_("Focus Mode"), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyCSFocusMode)), TagInfo(0x0011, "AFAreaMode", N_("AF Area Mode"), N_("AF Area Mode"), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyAFAreaMode), TagInfo(0x0012, "LocalAFAreaPoint", N_("Local AF Area Point"), N_("Local AF Area Point"), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyLocalAFAreaPoint), TagInfo(0x0015, "MeteringMode", N_("Metering Mode"), N_("Metering Mode"), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyMeteringMode)), TagInfo(0x0016, "ISOSetting", N_("ISO Setting"), N_("ISO Setting"), sony1CsId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0018, "DynamicRangeOptimizerMode", N_("Dynamic Range Optimizer Mode"), N_("Dynamic Range Optimizer Mode"), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyDynamicRangeOptimizerMode), TagInfo(0x0019, "DynamicRangeOptimizerLevel", N_("Dynamic Range Optimizer Level"), N_("Dynamic Range Optimizer Level"), sony1CsId, makerTags, unsignedShort, 1, printValue), TagInfo(0x001A, "CreativeStyle", N_("Creative Style"), N_("Creative Style"), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyCreativeStyle)), TagInfo(0x001C, "Sharpness", N_("Sharpness"), N_("Sharpness"), sony1CsId, makerTags, unsignedShort, 1, printValue), TagInfo(0x001D, "Contrast", N_("Contrast"), N_("Contrast"), sony1CsId, makerTags, unsignedShort, 1, printValue), TagInfo(0x001E, "Saturation", N_("Saturation"), N_("Saturation"), sony1CsId, makerTags, unsignedShort, 1, printValue), TagInfo(0x001F, "ZoneMatchingValue", N_("Zone Matching Value"), N_("Zone Matching Value"), sony1CsId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0022, "Brightness", N_("Brightness"), N_("Brightness"), sony1CsId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0023, "FlashMode", N_("FlashMode"), N_("FlashMode"), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyFlashMode)), // NOTE: A700 only TagInfo(0x0028, "PrioritySetupShutterRelease", N_("Priority Setup Shutter Release"), N_("Priority Setup Shutter Release"), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyPrioritySetupShutterRelease), // NOTE: A700 only TagInfo(0x0029, "AFIlluminator", N_("AF Illuminator"), N_("AF Illuminator"), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyAFIlluminatorCS)), // NOTE: A700 only TagInfo(0x002A, "AFWithShutter", N_("AF With Shutter"), N_("AF With Shutter"), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyBoolInverseValue), // NOTE: A700 only TagInfo(0x002B, "LongExposureNoiseReduction", N_("Long Exposure Noise Reduction"), N_("Long Exposure Noise Reduction"), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyBoolValue), // NOTE: A700 only TagInfo(0x002C, "HighISONoiseReduction", N_("High ISO NoiseReduction"), N_("High ISO NoiseReduction"), sony1CsId, makerTags, unsignedShort, 1, printValue), // NOTE: A700 only TagInfo(0x002D, "ImageStyle", N_("Image Style"), N_("Image Style"), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyImageStyle)), TagInfo(0x003C, "ExposureProgram", N_("Exposure Program"), N_("Exposure Program"), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureProgram)), TagInfo(0x003D, "ImageStabilization", N_("Image Stabilization"), N_("Image Stabilization"), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyBoolValue), TagInfo(0x003F, "Rotation", N_("Rotation"), N_("Rotation"), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyRotation), TagInfo(0x0054, "SonyImageSize", N_("Sony Image Size"), N_("Sony Image Size"), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyImageSize)), TagInfo(0x0055, "AspectRatio", N_("Aspect Ratio"), N_("Aspect Ratio"), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyAspectRatio)), TagInfo(0x0056, "Quality", N_("Quality"), N_("Quality"), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyQualityCs), TagInfo(0x0058, "ExposureLevelIncrements", N_("Exposure Level Increments"), N_("Exposure Level Increments"), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureLevelIncrements)), // End of list marker TagInfo(0xffff, "(UnknownSony1CsTag)", "(UnknownSony1CsTag)", N_("Unknown Sony1 Camera Settings tag"), sony1CsId, makerTags, unsignedShort, 1, printValue) }; const TagInfo* SonyMakerNote::tagListCs() { return tagInfoCs_; } // -- Sony camera settings 2 --------------------------------------------------------------- // Sony Camera Settings Tag Version 2 Info // NOTE: for A330, A380, A450, A500, A550 Sony model // Warnings: Exiftool database give a list of tags shorted in decimal mode, not hexadecimal. const TagInfo SonyMakerNote::tagInfoCs2_[] = { TagInfo(0x0010, "FocusMode", N_("Focus Mode"), N_("Focus Mode"), sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyCSFocusMode)), TagInfo(0x0011, "AFAreaMode", N_("AF Area Mode"), N_("AF Area Mode"), sony1Cs2Id, makerTags, unsignedShort, 1, printMinoltaSonyAFAreaMode), TagInfo(0x0012, "LocalAFAreaPoint", N_("Local AF Area Point"), N_("Local AF Area Point"), sony1Cs2Id, makerTags, unsignedShort, 1, printMinoltaSonyLocalAFAreaPoint), TagInfo(0x0013, "MeteringMode", N_("Metering Mode"), N_("Metering Mode"), sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyMeteringMode)), TagInfo(0x0014, "ISOSetting", N_("ISO Setting"), N_("ISO Setting"), sony1Cs2Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x0016, "DynamicRangeOptimizerMode", N_("Dynamic Range Optimizer Mode"), N_("Dynamic Range Optimizer Mode"), sony1Cs2Id, makerTags, unsignedShort, 1, printMinoltaSonyDynamicRangeOptimizerMode), TagInfo(0x0017, "DynamicRangeOptimizerLevel", N_("Dynamic Range Optimizer Level"), N_("Dynamic Range Optimizer Level"), sony1Cs2Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x0018, "CreativeStyle", N_("Creative Style"), N_("Creative Style"), sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyCreativeStyle)), TagInfo(0x0019, "Sharpness", N_("Sharpness"), N_("Sharpness"), sony1Cs2Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x001A, "Contrast", N_("Contrast"), N_("Contrast"), sony1Cs2Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x001B, "Saturation", N_("Saturation"), N_("Saturation"), sony1Cs2Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x0023, "FlashMode", N_("FlashMode"), N_("FlashMode"), sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyFlashMode)), TagInfo(0x003C, "ExposureProgram", N_("Exposure Program"), N_("Exposure Program"), sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureProgram)), TagInfo(0x003F, "Rotation", N_("Rotation"), N_("Rotation"), sony1Cs2Id, makerTags, unsignedShort, 1, printMinoltaSonyRotation), TagInfo(0x0054, "SonyImageSize", N_("Sony Image Size"), N_("Sony Image Size"), sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyImageSize)), // End of list marker TagInfo(0xffff, "(UnknownSony1Cs2Tag)", "(UnknownSony1Cs2Tag)", N_("Unknown Sony1 Camera Settings 2 tag"), sony1Cs2Id, makerTags, unsignedShort, 1, printValue) }; const TagInfo* SonyMakerNote::tagListCs2() { return tagInfoCs2_; } }} // namespace Internal, Exiv2 exiv2-0.25/src/svn_version.h.in0000664000175000017500000000007612473127513016243 0ustar andreasandreas#ifndef SVN_VERSION #define SVN_VERSION @SVN_REVISION@ #endif exiv2-0.25/src/utils.cpp0000664000175000017500000001213712521135474014756 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: utils.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 08-Dec-03, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: utils.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "utils.hpp" // + standard includes #if defined(_MSC_VER) # include "getopt_win32.h" # define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif #ifdef EXV_HAVE_UNISTD_H # include // for getopt(), stat() #endif #include #include #include #include #include #include #include #include #include namespace Util { // ***************************************************************************** // class Getopt Getopt::Getopt() : errcnt_(0) { } Getopt::~Getopt() { } int Getopt::getopt(int argc, char* const argv[], const std::string& optstring) { progname_ = Util::basename(argv[0]); for (;;) { int c = ::getopt(argc, argv, optstring.c_str()); if (c == -1) break; errcnt_ += option(c, ::optarg == 0 ? "" : ::optarg, ::optopt); } for (int i = ::optind; i < argc; i++) { errcnt_ += nonoption(argv[i]); } return errcnt_; } int Getopt::nonoption(const std::string& /*argv*/) { return 0; } // ***************************************************************************** // free functions std::string dirname(const std::string& path) { if (path == "") return "."; // Strip trailing slashes or backslashes std::string p = path; while ( p.length() > 1 && (p[p.length()-1] == '\\' || p[p.length()-1] == '/')) { p = p.substr(0, p.length()-1); } if (p == "\\" || p == "/") return p; if (p.length() == 2 && p[1] == ':') return p; // For Windows paths std::string::size_type idx = p.find_last_of("\\/"); if (idx == std::string::npos) return "."; if (idx == 1 && p[0] == '\\' && p[1] == '\\') return p; // For Windows paths p = p.substr(0, idx == 0 ? 1 : idx); while ( p.length() > 1 && (p[p.length()-1] == '\\' || p[p.length()-1] == '/')) { p = p.substr(0, p.length()-1); } return p; } std::string basename(const std::string& path, bool delsuffix) { if (path == "") return "."; // Strip trailing slashes or backslashes std::string p = path; while ( p.length() > 1 && (p[p.length()-1] == '\\' || p[p.length()-1] == '/')) { p = p.substr(0, p.length()-1); } if (p.length() == 2 && p[1] == ':') return ""; // For Windows paths std::string::size_type idx = p.find_last_of("\\/"); if (idx == 1 && p[0] == '\\' && p[1] == '\\') return ""; // For Windows paths if (idx != std::string::npos) p = p.substr(idx+1); if (delsuffix) p = p.substr(0, p.length() - suffix(p).length()); return p; } std::string suffix(const std::string& path) { std::string b = basename(path); std::string::size_type idx = b.rfind('.'); if (idx == std::string::npos || idx == 0 || idx == b.length()-1) { return ""; } return b.substr(idx); } bool strtol(const char* nptr, long& n) { if (!nptr || *nptr == '\0') return false; char* endptr = 0; long tmp = std::strtol(nptr, &endptr, 10); if (*endptr != '\0') return false; if (tmp == LONG_MAX || tmp == LONG_MIN) return false; n = tmp; return true; } void replace(std::string& text, const std::string& searchText, const std::string& replaceText) { std::string::size_type index = 0; while ((index = text.find(searchText, index)) != std::string::npos) { text.replace(index, searchText.length(), replaceText.c_str(), replaceText.length()); index++; } } } // namespace Util exiv2-0.25/src/rw2image.cpp0000664000175000017500000002171512521135474015335 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: rw2image.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 06-Jan-09, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: rw2image.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "rw2image.hpp" #include "rw2image_int.hpp" #include "tiffcomposite_int.hpp" #include "tiffimage_int.hpp" #include "image.hpp" #include "preview.hpp" #include "error.hpp" #include "futils.hpp" // + standard includes #ifdef DEBUG # include #endif // ***************************************************************************** // class member definitions namespace Exiv2 { using namespace Internal; Rw2Image::Rw2Image(BasicIo::AutoPtr io) : Image(ImageType::rw2, mdExif | mdIptc | mdXmp, io) { } // Rw2Image::Rw2Image std::string Rw2Image::mimeType() const { return "image/x-panasonic-rw2"; } int Rw2Image::pixelWidth() const { ExifData::const_iterator imageWidth = exifData_.findKey(Exiv2::ExifKey("Exif.PanasonicRaw.SensorWidth")); if (imageWidth != exifData_.end() && imageWidth->count() > 0) { return imageWidth->toLong(); } return 0; } int Rw2Image::pixelHeight() const { ExifData::const_iterator imageHeight = exifData_.findKey(Exiv2::ExifKey("Exif.PanasonicRaw.SensorHeight")); if (imageHeight != exifData_.end() && imageHeight->count() > 0) { return imageHeight->toLong(); } return 0; } void Rw2Image::setExifData(const ExifData& /*exifData*/) { // Todo: implement me! throw(Error(32, "Exif metadata", "RW2")); } void Rw2Image::setIptcData(const IptcData& /*iptcData*/) { // Todo: implement me! throw(Error(32, "IPTC metadata", "RW2")); } void Rw2Image::setComment(const std::string& /*comment*/) { // not supported throw(Error(32, "Image comment", "RW2")); } void Rw2Image::readMetadata() { #ifdef DEBUG std::cerr << "Reading RW2 file " << io_->path() << "\n"; #endif if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); // Ensure that this is the correct image type if (!isRw2Type(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "RW2"); } clearMetadata(); ByteOrder bo = Rw2Parser::decode(exifData_, iptcData_, xmpData_, io_->mmap(), io_->size()); setByteOrder(bo); // A lot more metadata is hidden in the embedded preview image // Todo: This should go into the Rw2Parser, but for that it needs the Image PreviewManager loader(*this); PreviewPropertiesList list = loader.getPreviewProperties(); // Todo: What if there are more preview images? if (list.size() > 1) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "RW2 image contains more than one preview. None used.\n"; #endif } if (list.size() != 1) return; ExifData exifData; PreviewImage preview = loader.getPreviewImage(*list.begin()); Image::AutoPtr image = ImageFactory::open(preview.pData(), preview.size()); if (image.get() == 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to open RW2 preview image.\n"; #endif return; } image->readMetadata(); ExifData& prevData = image->exifData(); if (!prevData.empty()) { // Filter duplicate tags for (ExifData::const_iterator pos = exifData_.begin(); pos != exifData_.end(); ++pos) { if (pos->ifdId() == panaRawId) continue; ExifData::iterator dup = prevData.findKey(ExifKey(pos->key())); if (dup != prevData.end()) { #ifdef DEBUG std::cerr << "Filtering duplicate tag " << pos->key() << " (values '" << pos->value() << "' and '" << dup->value() << "')\n"; #endif prevData.erase(dup); } } } // Remove tags not applicable for raw images static const char* filteredTags[] = { "Exif.Photo.ComponentsConfiguration", "Exif.Photo.CompressedBitsPerPixel", "Exif.Panasonic.ColorEffect", "Exif.Panasonic.Contrast", "Exif.Panasonic.NoiseReduction", "Exif.Panasonic.ColorMode", "Exif.Panasonic.OpticalZoomMode", "Exif.Panasonic.Contrast", "Exif.Panasonic.Saturation", "Exif.Panasonic.Sharpness", "Exif.Panasonic.FilmMode", "Exif.Panasonic.SceneMode", "Exif.Panasonic.WBRedLevel", "Exif.Panasonic.WBGreenLevel", "Exif.Panasonic.WBBlueLevel", "Exif.Photo.ColorSpace", "Exif.Photo.PixelXDimension", "Exif.Photo.PixelYDimension", "Exif.Photo.SceneType", "Exif.Photo.CustomRendered", "Exif.Photo.DigitalZoomRatio", "Exif.Photo.SceneCaptureType", "Exif.Photo.GainControl", "Exif.Photo.Contrast", "Exif.Photo.Saturation", "Exif.Photo.Sharpness", "Exif.Image.PrintImageMatching", "Exif.Image.YCbCrPositioning" }; for (unsigned int i = 0; i < EXV_COUNTOF(filteredTags); ++i) { ExifData::iterator pos = prevData.findKey(ExifKey(filteredTags[i])); if (pos != prevData.end()) { #ifdef DEBUG std::cerr << "Exif tag " << pos->key() << " removed\n"; #endif prevData.erase(pos); } } // Add the remaining tags for (ExifData::const_iterator pos = prevData.begin(); pos != prevData.end(); ++pos) { exifData_.add(*pos); } } // Rw2Image::readMetadata void Rw2Image::writeMetadata() { // Todo: implement me! throw(Error(31, "RW2")); } // Rw2Image::writeMetadata ByteOrder Rw2Parser::decode( ExifData& exifData, IptcData& iptcData, XmpData& xmpData, const byte* pData, uint32_t size ) { Rw2Header rw2Header; return TiffParserWorker::decode(exifData, iptcData, xmpData, pData, size, Tag::pana, TiffMapping::findDecoder, &rw2Header); } // ************************************************************************* // free functions Image::AutoPtr newRw2Instance(BasicIo::AutoPtr io, bool /*create*/) { Image::AutoPtr image(new Rw2Image(io)); if (!image->good()) { image.reset(); } return image; } bool isRw2Type(BasicIo& iIo, bool advance) { const int32_t len = 24; byte buf[len]; iIo.read(buf, len); if (iIo.error() || iIo.eof()) { return false; } Rw2Header header; bool rc = header.read(buf, len); if (!advance || !rc) { iIo.seek(-len, BasicIo::cur); } return rc; } } // namespace Exiv2 namespace Exiv2 { namespace Internal { Rw2Header::Rw2Header() : TiffHeaderBase(0x0055, 24, littleEndian, 0x00000018) { } Rw2Header::~Rw2Header() { } DataBuf Rw2Header::write() const { // Todo: Implement me! return DataBuf(); } }} // namespace Internal, Exiv2 exiv2-0.25/src/minoltamn.cpp0000664000175000017500000032145312527520007015614 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: minoltamn.cpp Version: $Rev: 3835 $ Author(s): Gilles Caulier (cgilles) Andreas Huggel (ahu) History: 06-May-06, gc: submitted Credits: See header file. */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: minoltamn.cpp 3835 2015-05-22 03:18:31Z nkbj $") // ***************************************************************************** // included header files #include "minoltamn_int.hpp" #include "tags_int.hpp" #include "value.hpp" #include "i18n.h" // NLS support. #include #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { // -- Standard Minolta Makernotes tags --------------------------------------------------------------- //! Lookup table to translate Minolta color mode values to readable labels extern const TagDetails minoltaColorMode[] = { { 0, N_("Natural Color") }, { 1, N_("Black & White") }, { 2, N_("Vivid Color") }, { 3, N_("Solarization") }, { 4, N_("AdobeRGB") }, { 5, N_("Sepia") }, { 9, N_("Natural") }, { 12, N_("Portrait") }, { 13, N_("Natural sRGB") }, { 14, N_("Natural+ sRGB") }, { 15, N_("Landscape") }, { 16, N_("Evening") }, { 17, N_("Night Scene") }, { 18, N_("Night Portrait") } }; //! Lookup table to translate Minolta image quality values to readable labels extern const TagDetails minoltaImageQuality[] = { { 0, N_("Raw") }, { 1, N_("Super Fine") }, { 2, N_("Fine") }, { 3, N_("Standard") }, { 4, N_("Economy") }, { 5, N_("Extra Fine") } }; //! Lookup table to translate Minolta image stabilization values extern const TagDetails minoltaImageStabilization[] = { { 1, N_("Off") }, { 5, N_("On") } }; // Minolta Tag Info const TagInfo MinoltaMakerNote::tagInfo_[] = { TagInfo(0x0000, "Version", N_("Makernote Version"), N_("String 'MLT0' (not null terminated)"), minoltaId, makerTags, undefined, -1, printValue), TagInfo(0x0001, "CameraSettingsStdOld", N_("Camera Settings (Std Old)"), N_("Standard Camera settings (Old Camera models like D5, D7, S304, and S404)"), minoltaId, makerTags, undefined, -1, printValue), TagInfo(0x0003, "CameraSettingsStdNew", N_("Camera Settings (Std New)"), N_("Standard Camera settings (New Camera Models like D7u, D7i, and D7hi)"), minoltaId, makerTags, undefined, -1, printValue), TagInfo(0x0004, "CameraSettings7D", N_("Camera Settings (7D)"), N_("Camera Settings (for Dynax 7D model)"), minoltaId, makerTags, undefined, -1, printValue), TagInfo(0x0018, "ImageStabilizationData", N_("Image Stabilization Data"), N_("Image stabilization data"), minoltaId, makerTags, undefined, -1, printValue), // TODO: Implement WB Info A100 tags decoding. TagInfo(0x0020, "WBInfoA100", N_("WB Info A100"), N_("White balance information for the Sony DSLR-A100"), minoltaId, makerTags, undefined, -1, printValue), TagInfo(0x0040, "CompressedImageSize", N_("Compressed Image Size"), N_("Compressed image size"), minoltaId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0081, "Thumbnail", N_("Thumbnail"), N_("Jpeg thumbnail 640x480 pixels"), minoltaId, makerTags, undefined, -1, printValue), TagInfo(0x0088, "ThumbnailOffset", N_("Thumbnail Offset"), N_("Offset of the thumbnail"), minoltaId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0089, "ThumbnailLength", N_("Thumbnail Length"), N_("Size of the thumbnail"), minoltaId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0100, "SceneMode", N_("Scene Mode"), N_("Scene Mode"), minoltaId, makerTags, unsignedLong, -1, printMinoltaSonySceneMode), // TODO: for A100, use Sony table from printMinoltaSonyColorMode(). TagInfo(0x0101, "ColorMode", N_("Color Mode"), N_("Color mode"), minoltaId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(minoltaColorMode)), TagInfo(0x0102, "Quality", N_("Image Quality"), N_("Image quality"), minoltaId, makerTags, unsignedLong, -1, printMinoltaSonyImageQuality), // TODO: Tag 0x0103 : quality or image size (see ExifTool doc). TagInfo(0x0103, "0x0103", N_("0x0103"), N_("0x0103"), minoltaId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0104, "FlashExposureComp", N_("Flash Exposure Compensation"), N_("Flash exposure compensation in EV"), minoltaId, makerTags, signedRational, -1, print0x9204), TagInfo(0x0105, "Teleconverter", N_("Teleconverter Model"), N_("Teleconverter Model"), minoltaId, makerTags, unsignedLong, -1, printMinoltaSonyTeleconverterModel), TagInfo(0x0107, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), minoltaId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(minoltaImageStabilization)), TagInfo(0x0109, "RawAndJpgRecording", N_("RAW+JPG Recording"), N_("RAW and JPG files recording"), minoltaId, makerTags, unsignedLong, -1, printMinoltaSonyBoolValue), TagInfo(0x010a, "ZoneMatching", N_("Zone Matching"), N_("Zone matching"), minoltaId, makerTags, unsignedLong, -1, printMinoltaSonyZoneMatching), TagInfo(0x010b, "ColorTemperature", N_("Color Temperature"), N_("Color temperature"), minoltaId, makerTags, unsignedLong, -1, printValue), TagInfo(0x010c, "LensID", N_("Lens ID"), N_("Lens identifier"), minoltaId, makerTags, unsignedLong, -1, printMinoltaSonyLensID), TagInfo(0x0111, "ColorCompensationFilter", N_("Color Compensation Filter"), N_("Color Compensation Filter: negative is green, positive is magenta"), minoltaId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0112, "WhiteBalanceFineTune", N_("White Balance Fine Tune"), N_("White Balance Fine Tune Value"), minoltaId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0113, "ImageStabilizationA100", N_("Image Stabilization A100"), N_("Image Stabilization for the Sony DSLR-A100"), minoltaId, makerTags, unsignedLong, -1, printMinoltaSonyBoolValue), // TODO: implement CameraSettingsA100 tags decoding. TagInfo(0x0114, "CameraSettings5D", N_("Camera Settings (5D)"), N_("Camera Settings (for Dynax 5D model)"), minoltaId, makerTags, undefined, -1, printValue), TagInfo(0x0115, "WhiteBalance", N_("White Balance"), N_("White balance"), minoltaId, makerTags, unsignedLong, -1, printMinoltaSonyWhiteBalanceStd), TagInfo(0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), minoltaId, makerTags, undefined, -1, printValue), TagInfo(0x0f00, "CameraSettingsZ1", N_("Camera Settings (Z1)"), N_("Camera Settings (for Z1, DImage X, and F100 models)"), minoltaId, makerTags, undefined, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownMinoltaMakerNoteTag)", "(UnknownMinoltaMakerNoteTag)", N_("Unknown Minolta MakerNote tag"), minoltaId, makerTags, asciiString, -1, printValue) }; const TagInfo* MinoltaMakerNote::tagList() { return tagInfo_; } // -- Standard Minolta camera settings --------------------------------------------------------------- //! Lookup table to translate Minolta Std camera settings exposure mode values to readable labels extern const TagDetails minoltaExposureModeStd[] = { { 0, N_("Program") }, { 1, N_("Aperture priority") }, { 2, N_("Shutter priority") }, { 3, N_("Manual") } }; //! Lookup table to translate Minolta Std camera settings flash mode values to readable labels extern const TagDetails minoltaFlashModeStd[] = { { 0, N_("Fill flash") }, { 1, N_("Red-eye reduction") }, { 2, N_("Rear flash sync") }, { 3, N_("Wireless") }, { 4, N_("Off") } }; //! Lookup table to translate Minolta Std camera settings white balance values to readable labels extern const TagDetails minoltaWhiteBalanceStd[] = { { 0, N_("Auto") }, { 1, N_("Daylight") }, { 2, N_("Cloudy") }, { 3, N_("Tungsten") }, { 5, N_("Custom") }, { 7, N_("Fluorescent") }, { 8, N_("Fluorescent 2") }, { 11, N_("Custom 2") }, { 12, N_("Custom 3") } }; //! Lookup table to translate Minolta Std camera settings image size values to readable labels extern const TagDetails minoltaImageSizeStd[] = { { 0, N_("Full size") }, { 1, "1600x1200" }, { 2, "1280x960" }, { 3, "640x480" }, { 6, "2080x1560" }, { 7, "2560x1920" }, { 8, "3264x2176" } }; //! Lookup table to translate Minolta Std camera settings image quality values to readable labels extern const TagDetails minoltaImageQualityStd[] = { { 0, N_("Raw") }, { 1, N_("Super fine") }, { 2, N_("Fine") }, { 3, N_("Standard") }, { 4, N_("Economy") }, { 5, N_("Extra fine") } }; //! Lookup table to translate Minolta Std camera settings drive mode values to readable labels extern const TagDetails minoltaDriveModeStd[] = { { 0, N_("Single Frame") }, { 1, N_("Continuous") }, { 2, N_("Self-timer") }, { 4, N_("Bracketing") }, { 5, N_("Interval") }, { 6, N_("UHS continuous") }, { 7, N_("HS continuous") } }; //! Lookup table to translate Minolta Std camera settings metering mode values to readable labels extern const TagDetails minoltaMeteringModeStd[] = { { 0, N_("Multi-segment") }, { 1, N_("Center weighted average") }, { 2, N_("Spot") } }; //! Lookup table to translate Minolta Std camera settings digital zoom values to readable labels extern const TagDetails minoltaDigitalZoomStd[] = { { 0, N_("Off") }, { 1, N_("Electronic magnification") }, { 2, "2x" } }; //! Lookup table to translate Minolta Std camera bracket step mode values to readable labels extern const TagDetails minoltaBracketStepStd[] = { { 0, "1/3 EV" }, { 1, "2/3 EV" }, { 2, "1 EV" } }; //! Lookup table to translate Minolta Std camera settings AF points values to readable labels extern const TagDetails minoltaAFPointsStd[] = { { 0, N_("Center") }, { 1, N_("Top") }, { 2, N_("Top-right") }, { 3, N_("Right") }, { 4, N_("Bottom-right") }, { 5, N_("Bottom") }, { 6, N_("Bottom-left") }, { 7, N_("Left") }, { 8, N_("Top-left") } }; //! Lookup table to translate Minolta Std camera settings flash fired values to readable labels extern const TagDetails minoltaFlashFired[] = { { 0, N_("Did not fire") }, { 1, N_("Fired") } }; //! Lookup table to translate Minolta Std camera settings sharpness values to readable labels extern const TagDetails minoltaSharpnessStd[] = { { 0, N_("Hard") }, { 1, N_("Normal") }, { 2, N_("Soft") } }; //! Lookup table to translate Minolta Std camera settings subject program values to readable labels extern const TagDetails minoltaSubjectProgramStd[] = { { 0, N_("None") }, { 1, N_("Portrait") }, { 2, N_("Text") }, { 3, N_("Night portrait") }, { 4, N_("Sunset") }, { 5, N_("Sports action") } }; //! Lookup table to translate Minolta Std camera settings ISO settings values to readable labels extern const TagDetails minoltaISOSettingStd[] = { { 0, "100" }, { 1, "200" }, { 2, "400" }, { 3, "800" }, { 4, N_("Auto") }, { 5, "64" } }; //! Lookup table to translate Minolta Std camera settings model values to readable labels extern const TagDetails minoltaModelStd[] = { { 0, "DiMAGE 7 | X1 | X21 | X31" }, { 1, "DiMAGE 5" }, { 2, "DiMAGE S304" }, { 3, "DiMAGE S404" }, { 4, "DiMAGE 7i" }, { 5, "DiMAGE 7Hi" }, { 6, "DiMAGE A1" }, { 7, "DiMAGE A2 | S414" }, { 7, "DiMAGE A2 | S414" } // To silence compiler warning }; //! Lookup table to translate Minolta Std camera settings interval mode values to readable labels extern const TagDetails minoltaIntervalModeStd[] = { { 0, N_("Still image") }, { 1, N_("Time-lapse movie") } }; //! Lookup table to translate Minolta Std camera settings folder name values to readable labels extern const TagDetails minoltaFolderNameStd[] = { { 0, N_("Standard form") }, { 1, N_("Data form") } }; //! Lookup table to translate Minolta Std camera settings color mode values to readable labels extern const TagDetails minoltaColorModeStd[] = { { 0, N_("Natural color") }, { 1, N_("Black and white") }, { 2, N_("Vivid color") }, { 3, N_("Solarization") }, { 4, N_("Adobe RGB") } }; //! Lookup table to translate Minolta Std camera settings wide focus zone values to readable labels extern const TagDetails minoltaWideFocusZoneStd[] = { { 0, N_("No zone") }, { 1, N_("Center zone (horizontal orientation)") }, { 1, N_("Center zone (vertical orientation)") }, { 1, N_("Left zone") }, { 4, N_("Right zone") } }; //! Lookup table to translate Minolta Std camera settings focus mode values to readable labels extern const TagDetails minoltaFocusModeStd[] = { { 0, N_("Auto focus") }, { 1, N_("Manual focus") } }; //! Lookup table to translate Minolta Std camera settings focus area values to readable labels extern const TagDetails minoltaFocusAreaStd[] = { { 0, N_("Wide focus (normal)") }, { 1, N_("Spot focus") } }; //! Lookup table to translate Minolta Std camera settings DEC switch position values to readable labels extern const TagDetails minoltaDECPositionStd[] = { { 0, N_("Exposure") }, { 1, N_("Contrast") }, { 2, N_("Saturation") }, { 3, N_("Filter") } }; //! Lookup table to translate Minolta Std camera settings color profile values to readable labels extern const TagDetails minoltaColorProfileStd[] = { { 0, N_("Not embedded") }, { 1, N_("Embedded") } }; //! Lookup table to translate Minolta Std camera settings data Imprint values to readable labels extern const TagDetails minoltaDataImprintStd[] = { { 0, N_("None") }, { 1, "YYYY/MM/DD" }, { 2, "MM/DD/HH:MM" }, { 3, N_("Text") }, { 4, N_("Text + ID#") } }; //! Lookup table to translate Minolta Std camera settings flash metering values to readable labels extern const TagDetails minoltaFlashMeteringStd[] = { { 0, N_("ADI (Advanced Distance Integration)") }, { 1, N_("Pre-flash TTl") }, { 2, N_("Manual flash control") } }; std::ostream& MinoltaMakerNote::printMinoltaExposureSpeedStd(std::ostream& os, const Value& value, const ExifData*) { // From the PHP JPEG Metadata Toolkit os << (value.toLong()/8)-1; return os; } std::ostream& MinoltaMakerNote::printMinoltaExposureTimeStd(std::ostream& os, const Value& value, const ExifData*) { // From the PHP JPEG Metadata Toolkit os << (value.toLong()/8)-6; return os; } std::ostream& MinoltaMakerNote::printMinoltaFNumberStd(std::ostream& os, const Value& value, const ExifData*) { // From the PHP JPEG Metadata Toolkit os << (value.toLong()/8)-1; return os; } std::ostream& MinoltaMakerNote::printMinoltaExposureCompensationStd(std::ostream& os, const Value& value, const ExifData*) { // From the PHP JPEG Metadata Toolkit os << value.toLong()/256; return os; } std::ostream& MinoltaMakerNote::printMinoltaFocalLengthStd(std::ostream& os, const Value& value, const ExifData*) { // From the PHP JPEG Metadata Toolkit os << (value.toLong()/3)-2; return os; } std::ostream& MinoltaMakerNote::printMinoltaDateStd(std::ostream& os, const Value& value, const ExifData*) { // From the PHP JPEG Metadata Toolkit os << value.toLong() / 65536 << ":" << std::right << std::setw(2) << std::setfill('0') << (value.toLong() - value.toLong() / 65536 * 65536) / 256 << ":" << std::right << std::setw(2) << std::setfill('0') << value.toLong() % 256; return os; } std::ostream& MinoltaMakerNote::printMinoltaTimeStd(std::ostream& os, const Value& value, const ExifData*) { // From the PHP JPEG Metadata Toolkit os << std::right << std::setw(2) << std::setfill('0') << value.toLong() / 65536 << ":" << std::right << std::setw(2) << std::setfill('0') << (value.toLong() - value.toLong() / 65536 * 65536) / 256 << ":" << std::right << std::setw(2) << std::setfill('0') << value.toLong() % 256; return os; } std::ostream& MinoltaMakerNote::printMinoltaFlashExposureCompStd(std::ostream& os, const Value& value, const ExifData*) { // From the PHP JPEG Metadata Toolkit os << (value.toLong()-6)/3; return os; } std::ostream& MinoltaMakerNote::printMinoltaWhiteBalanceStd(std::ostream& os, const Value& value, const ExifData*) { // From the PHP JPEG Metadata Toolkit os << value.toLong()/256; return os; } std::ostream& MinoltaMakerNote::printMinoltaBrightnessStd(std::ostream& os, const Value& value, const ExifData*) { // From the PHP JPEG Metadata Toolkit os << (value.toLong()/8)-6; return os; } // Minolta Standard Camera Settings Tag Info (Old and New) const TagInfo MinoltaMakerNote::tagInfoCsStd_[] = { TagInfo(0x0001, "ExposureMode", N_("Exposure Mode"), N_("Exposure mode"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaExposureModeStd)), TagInfo(0x0002, "FlashMode", N_("Flash Mode"), N_("Flash mode"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaFlashModeStd)), TagInfo(0x0003, "WhiteBalance", N_("White Balance"), N_("White balance"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaWhiteBalanceStd)), TagInfo(0x0004, "ImageSize", N_("Image Size"), N_("Image size"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaImageSizeStd)), TagInfo(0x0005, "Quality", N_("Image Quality"), N_("Image quality"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaImageQualityStd)), TagInfo(0x0006, "DriveMode", N_("Drive Mode"), N_("Drive mode"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaDriveModeStd)), TagInfo(0x0007, "MeteringMode", N_("Metering Mode"), N_("Metering mode"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaMeteringModeStd)), TagInfo(0x0008, "ISO", N_("ISO"), N_("ISO Value"), minoltaCsNewId, makerTags, unsignedLong, 1, printMinoltaExposureSpeedStd), TagInfo(0x0009, "ExposureTime", N_("Exposure Time"), N_("Exposure time"), minoltaCsNewId, makerTags, unsignedLong, 1, printMinoltaExposureTimeStd), TagInfo(0x000A, "FNumber", N_("FNumber"), N_("The F-Number"), minoltaCsNewId, makerTags, unsignedLong, 1, printMinoltaFNumberStd), TagInfo(0x000B, "MacroMode", N_("Macro Mode"), N_("Macro mode"), minoltaCsNewId, makerTags, unsignedLong, 1, printMinoltaSonyBoolValue), TagInfo(0x000C, "DigitalZoom", N_("Digital Zoom"), N_("Digital zoom"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaDigitalZoomStd)), TagInfo(0x000D, "ExposureCompensation", N_("Exposure Compensation"), N_("Exposure compensation"), minoltaCsNewId, makerTags, unsignedLong, 1, printMinoltaExposureCompensationStd), TagInfo(0x000E, "BracketStep", N_("Bracket Step"), N_("Bracket step"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaBracketStepStd)), TagInfo(0x0010, "IntervalLength", N_("Interval Length"), N_("Interval length"), minoltaCsNewId, makerTags, unsignedLong, 1, printValue), TagInfo(0x0011, "IntervalNumber", N_("Interval Number"), N_("Interval number"), minoltaCsNewId, makerTags, unsignedLong, 1, printValue), TagInfo(0x0012, "FocalLength", N_("Focal Length"), N_("Focal length"), minoltaCsNewId, makerTags, unsignedLong, 1, printMinoltaFocalLengthStd), TagInfo(0x0013, "FocusDistance", N_("Focus Distance"), N_("Focus distance"), minoltaCsNewId, makerTags, unsignedLong, 1, printValue), TagInfo(0x0014, "FlashFired", N_("Flash Fired"), N_("Flash fired"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaFlashFired)), TagInfo(0x0015, "MinoltaDate", N_("Minolta Date"), N_("Minolta date"), minoltaCsNewId, makerTags, unsignedLong, 1, printMinoltaDateStd), TagInfo(0x0016, "MinoltaTime", N_("Minolta Time"), N_("Minolta time"), minoltaCsNewId, makerTags, unsignedLong, 1, printMinoltaTimeStd), TagInfo(0x0017, "MaxAperture", N_("Max Aperture"), N_("Max aperture"), minoltaCsNewId, makerTags, unsignedLong, 1, printValue), TagInfo(0x001A, "FileNumberMemory", N_("File Number Memory"), N_("File number memory"), minoltaCsNewId, makerTags, unsignedLong, 1, printMinoltaSonyBoolValue), TagInfo(0x001B, "LastFileNumber", N_("Last Image Number"), N_("Last image number"), minoltaCsNewId, makerTags, unsignedLong, 1, printValue), TagInfo(0x001C, "ColorBalanceRed", N_("Color Balance Red"), N_("Color balance red"), minoltaCsNewId, makerTags, unsignedLong, 1, printMinoltaWhiteBalanceStd), TagInfo(0x001D, "ColorBalanceGreen", N_("Color Balance Green"), N_("Color balance green"), minoltaCsNewId, makerTags, unsignedLong, 1, printMinoltaWhiteBalanceStd), TagInfo(0x001E, "ColorBalanceBlue", N_("Color Balance Blue"), N_("Color balance blue"), minoltaCsNewId, makerTags, unsignedLong, 1, printMinoltaWhiteBalanceStd), TagInfo(0x001F, "Saturation", N_("Saturation"), N_("Saturation"), minoltaCsNewId, makerTags, unsignedLong, 1, printValue), TagInfo(0x0020, "Contrast", N_("Contrast"), N_("Contrast"), minoltaCsNewId, makerTags, unsignedLong, 1, printValue), TagInfo(0x0021, "Sharpness", N_("Sharpness"), N_("Sharpness"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaSharpnessStd)), TagInfo(0x0022, "SubjectProgram", N_("Subject Program"), N_("Subject program"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaSubjectProgramStd)), TagInfo(0x0023, "FlashExposureComp", N_("Flash Exposure Compensation"), N_("Flash exposure compensation in EV"), minoltaCsNewId, makerTags, unsignedLong, 1, printMinoltaFlashExposureCompStd), TagInfo(0x0024, "ISOSetting", N_("ISO Settings"), N_("ISO setting"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaISOSettingStd)), TagInfo(0x0025, "MinoltaModel", N_("Minolta Model"), N_("Minolta model"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaModelStd)), TagInfo(0x0026, "IntervalMode", N_("Interval Mode"), N_("Interval mode"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaIntervalModeStd)), TagInfo(0x0027, "FolderName", N_("Folder Name"), N_("Folder name"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaFolderNameStd)), TagInfo(0x0028, "ColorMode", N_("ColorMode"), N_("ColorMode"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaColorModeStd)), TagInfo(0x0029, "ColorFilter", N_("Color Filter"), N_("Color filter"), minoltaCsNewId, makerTags, unsignedLong, 1, printValue), TagInfo(0x002A, "BWFilter", N_("Black and White Filter"), N_("Black and white filter"), minoltaCsNewId, makerTags, unsignedLong, 1, printValue), TagInfo(0x002B, "Internal Flash", N_("Internal Flash"), N_("Internal Flash"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaFlashFired)), TagInfo(0x002C, "Brightness", N_("Brightness"), N_("Brightness"), minoltaCsNewId, makerTags, unsignedLong, 1, printMinoltaBrightnessStd), TagInfo(0x002D, "SpotFocusPointX", N_("Spot Focus Point X"), N_("Spot focus point X"), minoltaCsNewId, makerTags, unsignedLong, 1, printValue), TagInfo(0x002E, "SpotFocusPointY", N_("Spot Focus Point Y"), N_("Spot focus point Y"), minoltaCsNewId, makerTags, unsignedLong, 1, printValue), TagInfo(0x002F, "WideFocusZone", N_("Wide Focus Zone"), N_("Wide focus zone"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaWideFocusZoneStd)), TagInfo(0x0030, "FocusMode", N_("Focus Mode"), N_("Focus mode"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaFocusModeStd)), TagInfo(0x0031, "FocusArea", N_("Focus area"), N_("Focus area"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaFocusAreaStd)), TagInfo(0x0032, "DECPosition", N_("DEC Switch Position"), N_("DEC switch position"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaDECPositionStd)), TagInfo(0x0033, "ColorProfile", N_("Color Profile"), N_("Color profile"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaColorProfileStd)), TagInfo(0x0034, "DataImprint", N_("Data Imprint"), N_("Data Imprint"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaDataImprintStd)), TagInfo(0x003F, "FlashMetering", N_("Flash Metering"), N_("Flash metering"), minoltaCsNewId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaFlashMeteringStd)), // End of list marker TagInfo(0xffff, "(UnknownMinoltaCsStdTag)", "(UnknownMinoltaCsStdTag)", N_("Unknown Minolta Camera Settings tag"), minoltaCsNewId, makerTags, unsignedLong, 1, printValue) }; const TagInfo* MinoltaMakerNote::tagListCsStd() { return tagInfoCsStd_; } // -- Minolta Dynax 7D camera settings --------------------------------------------------------------- //! Lookup table to translate Minolta Dynax 7D camera settings exposure mode values to readable labels extern const TagDetails minoltaExposureMode7D[] = { { 0, N_("Program") }, { 1, N_("Aperture priority") }, { 2, N_("Shutter priority") }, { 3, N_("Manual") }, { 4, N_("Auto") }, { 5, N_("Program-shift A") }, { 6, N_("Program-shift S") } }; //! Lookup table to translate Minolta Dynax 7D camera settings image size values to readable labels extern const TagDetails minoltaImageSize7D[] = { { 0, N_("Large") }, { 1, N_("Medium") }, { 2, N_("Small") } }; //! Lookup table to translate Minolta Dynax 7D camera settings image quality values to readable labels extern const TagDetails minoltaImageQuality7D[] = { { 0, N_("Raw") }, { 16, N_("Fine") }, { 32, N_("Normal") }, { 34, N_("Raw+Jpeg") }, { 48, N_("Economy") } }; //! Lookup table to translate Minolta Dynax 7D camera settings white balance values to readable labels extern const TagDetails minoltaWhiteBalance7D[] = { { 0, N_("Auto") }, { 1, N_("Daylight") }, { 2, N_("Shade") }, { 3, N_("Cloudy") }, { 4, N_("Tungsten") }, { 5, N_("Fluorescent") }, { 256, N_("Kelvin") }, { 512, N_("Manual") }, { 512, N_("Manual") } // To silence compiler warning }; //! Lookup table to translate Minolta Dynax 7D camera settings focus mode values to readable labels extern const TagDetails minoltaFocusMode7D[] = { { 0, N_("Single-shot AF") }, { 1, N_("Continuous AF") }, { 3, N_("Manual") }, { 4, N_("Automatic AF") } }; //! Lookup table to translate Minolta Dynax 7D camera settings AF points values to readable labels extern const TagDetails minoltaAFPoints7D[] = { { 1, N_("Center") }, { 2, N_("Top") }, { 4, N_("Top-right") }, { 8, N_("Right") }, { 16, N_("Bottom-right") }, { 32, N_("Bottom") }, { 64, N_("Bottom-left") }, { 128, N_("Left") }, { 256, N_("Top-left") } }; //! Lookup table to translate Minolta Dynax 7D camera settings ISO settings values to readable labels extern const TagDetails minoltaISOSetting7D[] = { { 0, N_("Auto") }, { 1, "100" }, { 3, "200" }, { 4, "400" }, { 5, "800" }, { 6, "1600" }, { 7, "3200" } }; //! Lookup table to translate Minolta Dynax 7D camera settings color space values to readable labels extern const TagDetails minoltaColorSpace7D[] = { { 0, N_("sRGB (Natural)") }, { 1, N_("sRGB (Natural+)") }, { 4, N_("Adobe RGB") } }; //! Lookup table to translate Minolta Dynax 7D camera settings rotation values to readable labels extern const TagDetails minoltaRotation7D[] = { { 72, N_("Horizontal (normal)") }, { 76, N_("Rotate 90 CW") }, { 82, N_("Rotate 270 CW") } }; // Minolta Dynax 7D Camera Settings Tag Info const TagInfo MinoltaMakerNote::tagInfoCs7D_[] = { TagInfo(0x0000, "ExposureMode", N_("Exposure Mode"), N_("Exposure mode"), minoltaCs7DId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(minoltaExposureMode7D)), TagInfo(0x0002, "ImageSize", N_("Image Size"), N_("Image size"), minoltaCs7DId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(minoltaImageSize7D)), TagInfo(0x0003, "Quality", N_("Image Quality"), N_("Image quality"), minoltaCs7DId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(minoltaImageQuality7D)), TagInfo(0x0004, "WhiteBalance", N_("White Balance"), N_("White balance"), minoltaCs7DId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(minoltaWhiteBalance7D)), TagInfo(0x000E, "FocusMode", N_("Focus Mode"), N_("Focus mode"), minoltaCs7DId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(minoltaFocusMode7D)), TagInfo(0x0010, "AFPoints", N_("AF Points"), N_("AF points"), minoltaCs7DId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(minoltaAFPoints7D)), TagInfo(0x0015, "FlashFired", N_("Flash Fired"), N_("Flash fired"), minoltaCs7DId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(minoltaFlashFired)), TagInfo(0x0016, "FlashMode", N_("Flash Mode"), N_("Flash mode"), minoltaCs7DId, makerTags, unsignedShort, 1, printValue), TagInfo(0x001C, "ISOSpeed", N_("ISO Speed Mode"), N_("ISO speed setting"), minoltaCs7DId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(minoltaISOSetting7D)), TagInfo(0x001E, "ExposureCompensation", N_("Exposure Compensation"), N_("Exposure compensation"), minoltaCs7DId, makerTags, signedShort, 1, printValue), TagInfo(0x0025, "ColorSpace", N_("Color Space"), N_("Color space"), minoltaCs7DId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(minoltaColorSpace7D)), TagInfo(0x0026, "Sharpness", N_("Sharpness"), N_("Sharpness"), minoltaCs7DId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0027, "Contrast", N_("Contrast"), N_("Contrast"), minoltaCs7DId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0028, "Saturation", N_("Saturation"), N_("Saturation"), minoltaCs7DId, makerTags, unsignedShort, 1, printValue), TagInfo(0x002D, "FreeMemoryCardImages", N_("Free Memory Card Images"), N_("Free memory card images"), minoltaCs7DId, makerTags, unsignedShort, 1, printValue), TagInfo(0x003F, "ColorTemperature", N_("Color Temperature"), N_("Color temperature"), minoltaCs7DId, makerTags, signedShort, 1, printValue), TagInfo(0x0040, "Hue", N_("Hue"), N_("Hue"), minoltaCs7DId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0046, "Rotation", N_("Rotation"), N_("Rotation"), minoltaCs7DId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(minoltaRotation7D)), TagInfo(0x0047, "FNumber", N_("FNumber"), N_("The F-Number"), minoltaCs7DId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0048, "ExposureTime", N_("Exposure Time"), N_("Exposure time"), minoltaCs7DId, makerTags, unsignedShort, 1, printValue), // 0x004A is a dupplicate than 0x002D. TagInfo(0x004A, "FreeMemoryCardImages", N_("Free Memory Card Images"), N_("Free memory card images"), minoltaCs7DId, makerTags, unsignedShort, 1, printValue), TagInfo(0x005E, "ImageNumber", N_("Image Number"), N_("Image number"), minoltaCs7DId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0060, "NoiseReduction", N_("Noise Reduction"), N_("Noise reduction"), minoltaCs7DId, makerTags, unsignedShort, 1, printMinoltaSonyBoolValue), // 0x0062 is a dupplicate than 0x005E. TagInfo(0x0062, "ImageNumber", N_("Image Number"), N_("Image number"), minoltaCs7DId, makerTags, unsignedShort, 1, printValue), TagInfo(0x0071, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), minoltaCs7DId, makerTags, unsignedShort, 1, printMinoltaSonyBoolValue), TagInfo(0x0075, "ZoneMatchingOn", N_("Zone Matching On"), N_("Zone matching on"), minoltaCs7DId, makerTags, unsignedShort, 1, printMinoltaSonyBoolValue), // End of list marker TagInfo(0xffff, "(UnknownMinoltaCs7DTag)", "(UnknownMinoltaCs7DTag)", N_("Unknown Minolta Camera Settings 7D tag"), minoltaCs7DId, makerTags, unsignedShort, 1, printValue) }; const TagInfo* MinoltaMakerNote::tagListCs7D() { return tagInfoCs7D_; } // -- Minolta Dynax 5D camera settings --------------------------------------------------------------- //! Lookup table to translate Minolta Dynax 5D camera settings exposure mode values to readable labels extern const TagDetails minoltaExposureMode5D[] = { { 0, N_("Program") }, { 1, N_("Aperture priority") }, { 2, N_("Shutter priority") }, { 3, N_("Manual") }, { 4, N_("Auto") }, { 5, N_("Program Shift A") }, { 6, N_("Program Shift S") }, { 0x1013, N_("Portrait") }, { 0x1023, N_("Sports") }, { 0x1033, N_("Sunset") }, { 0x1043, N_("Night View/Portrait") }, { 0x1053, N_("Landscape") }, { 0x1083, N_("Macro") } }; //! Lookup table to translate Minolta Dynax 5D camera settings image size values to readable labels extern const TagDetails minoltaImageSize5D[] = { { 0, N_("Large") }, { 1, N_("Medium") }, { 2, N_("Small") } }; //! Lookup table to translate Minolta Dynax 5D camera settings image quality values to readable labels extern const TagDetails minoltaImageQuality5D[] = { { 0, N_("Raw") }, { 16, N_("Fine") }, { 32, N_("Normal") }, { 34, N_("Raw+Jpeg") }, { 48, N_("Economy") } }; //! Lookup table to translate Minolta Dynax 5D camera settings white balance values to readable labels extern const TagDetails minoltaWhiteBalance5D[] = { { 0, N_("Auto") }, { 1, N_("Daylight") }, { 2, N_("Cloudy") }, { 3, N_("Shade") }, { 4, N_("Tungsten") }, { 5, N_("Fluorescent") }, { 6, N_("Flash") }, { 256, N_("Kelvin") }, { 512, N_("Manual") } }; //! Lookup table to translate Minolta Dynax 5D camera settings metering mode values to readable labels extern const TagDetails minoltaMeteringMode5D[] = { { 0, N_("Multi-segment") }, { 1, N_("Center weighted") }, { 2, N_("Spot") } }; //! Lookup table to translate Minolta Dynax 5D camera settings ISO settings values to readable labels extern const TagDetails minoltaISOSetting5D[] = { { 0, N_("Auto") }, { 1, "100" }, { 3, "200" }, { 4, "400" }, { 5, "800" }, { 6, "1600" }, { 7, "3200" }, { 8, N_("200 (Zone Matching High)") }, { 10, N_("80 (Zone Matching Low)") } }; //! Lookup table to translate Minolta Dynax 5D camera settings color space values to readable labels extern const TagDetails minoltaColorSpace5D[] = { { 0, N_("sRGB (Natural)") }, { 1, N_("sRGB (Natural+)") }, { 2, N_("Monochrome") }, { 3, N_("Adobe RGB (ICC)") }, { 4, N_("Adobe RGB") } }; //! Lookup table to translate Minolta Dynax 5D camera settings rotation values to readable labels extern const TagDetails minoltaRotation5D[] = { { 72, N_("Horizontal (normal)") }, { 76, N_("Rotate 90 CW") }, { 82, N_("Rotate 270 CW") } }; //! Lookup table to translate Minolta Dynax 5D camera settings focus position values to readable labels extern const TagDetails minoltaFocusPosition5D[] = { { 0, N_("Wide") }, { 1, N_("Central") }, { 2, N_("Up") }, { 3, N_("Up right") }, { 4, N_("Right") }, { 5, N_("Down right") }, { 6, N_("Down") }, { 7, N_("Down left") }, { 8, N_("Left") }, { 9, N_("Up left") } }; //! Lookup table to translate Minolta Dynax 5D camera settings focus area values to readable labels extern const TagDetails minoltaFocusArea5D[] = { { 0, N_("Wide") }, { 1, N_("Selection") }, { 2, N_("Spot") } }; //! Lookup table to translate Minolta Dynax 5D camera settings focus mode values to readable labels extern const TagDetails minoltaAFMode5D[] = { { 0, "AF-A" }, { 1, "AF-S" }, { 2, "AF-D" }, { 3, "DMF" } }; //! Lookup table to translate Minolta Dynax 5D camera settings picture finish values to readable labels extern const TagDetails minoltaPictureFinish5D[] = { { 0, N_("Natural") }, { 1, N_("Natural+") }, { 2, N_("Portrait") }, { 3, N_("Wind Scene") }, { 4, N_("Evening Scene") }, { 5, N_("Night Scene") }, { 6, N_("Night Portrait") }, { 7, N_("Monochrome") }, { 8, N_("Adobe RGB") }, { 9, N_("Adobe RGB (ICC)") } }; //! Method to convert Minolta Dynax 5D exposure manual bias values. std::ostream& MinoltaMakerNote::printMinoltaExposureManualBias5D(std::ostream& os, const Value& value, const ExifData*) { // From Xavier Raynaud: the value is converted from 0:256 to -5.33:5.33 std::ios::fmtflags f( os.flags() ); std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(2) << (float (value.toLong()-128)/24); os.copyfmt(oss); os.flags(f); return os; } //! Method to convert Minolta Dynax 5D exposure compensation values. std::ostream& MinoltaMakerNote::printMinoltaExposureCompensation5D(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(2) << (float (value.toLong()-300)/100); os.copyfmt(oss); os.flags(f); return os; } // Minolta Dynax 5D Camera Settings Tag Info const TagInfo MinoltaMakerNote::tagInfoCs5D_[] = { TagInfo(0x000A, "ExposureMode", N_("Exposure Mode"), N_("Exposure mode"), minoltaCs5DId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(minoltaExposureMode5D)), TagInfo(0x000C, "ImageSize", N_("Image Size"), N_("Image size"), minoltaCs5DId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(minoltaImageSize5D)), TagInfo(0x000D, "Quality", N_("Image Quality"), N_("Image quality"), minoltaCs5DId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(minoltaImageQuality5D)), TagInfo(0x000E, "WhiteBalance", N_("White Balance"), N_("White balance"), minoltaCs5DId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(minoltaWhiteBalance5D)), TagInfo(0x001A, "FocusPosition", N_("Focus Position"), N_("Focus position"), minoltaCs5DId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(minoltaFocusPosition5D)), TagInfo(0x001B, "FocusArea", N_("Focus Area"), N_("Focus area"), minoltaCs5DId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(minoltaFocusArea5D)), TagInfo(0x001F, "FlashFired", N_("Flash Fired"), N_("Flash fired"), minoltaCs5DId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(minoltaFlashFired)), TagInfo(0x0025, "MeteringMode", N_("Metering Mode"), N_("Metering mode"), minoltaCs5DId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(minoltaMeteringMode5D)), TagInfo(0x0026, "ISOSpeed", N_("ISO Speed Mode"), N_("ISO speed setting"), minoltaCs5DId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(minoltaISOSetting5D)), TagInfo(0x002F, "ColorSpace", N_("Color Space"), N_("Color space"), minoltaCs5DId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(minoltaColorSpace5D)), TagInfo(0x0030, "Sharpness", N_("Sharpness"), N_("Sharpness"), minoltaCs5DId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0031, "Contrast", N_("Contrast"), N_("Contrast"), minoltaCs5DId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0032, "Saturation", N_("Saturation"), N_("Saturation"), minoltaCs5DId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0035, "ExposureTime", N_("Exposure Time"), N_("Exposure time"), minoltaCs5DId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0036, "FNumber", N_("FNumber"), N_("The F-Number"), minoltaCs5DId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0037, "FreeMemoryCardImages", N_("Free Memory Card Images"), N_("Free memory card images"), minoltaCs5DId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0038, "ExposureRevision", N_("Exposure Revision"), N_("Exposure revision"), minoltaCs5DId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0048, "FocusMode", N_("Focus Mode"), N_("Focus mode"), minoltaCs5DId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(minoltaFocusModeStd)), TagInfo(0x0049, "ColorTemperature", N_("Color Temperature"), N_("Color temperature"), minoltaCs5DId, makerTags, signedShort, -1, printValue), TagInfo(0x0050, "Rotation", N_("Rotation"), N_("Rotation"), minoltaCs5DId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(minoltaRotation5D)), TagInfo(0x0053, "ExposureCompensation", N_("Exposure Compensation"), N_("Exposure compensation"), minoltaCs5DId, makerTags, unsignedShort, -1, printMinoltaExposureCompensation5D), TagInfo(0x0054, "FreeMemoryCardImages", N_("Free Memory Card Images"), N_("Free memory card images"), minoltaCs5DId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0065, "Rotation2", N_("Rotation2"), N_("Rotation2"), minoltaCs5DId, makerTags, unsignedShort, -1, printMinoltaSonyRotation), TagInfo(0x006E, "Color Temperature", N_("Color Temperature"), N_("Color Temperature"), minoltaCs5DId, makerTags, signedShort, -1, printValue), TagInfo(0x0071, "PictureFinish", N_("Picture Finish"), N_("Picture Finish"), minoltaCs5DId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(minoltaPictureFinish5D)), TagInfo(0x0091, "ExposureManualBias", N_("Exposure Manual Bias"), N_("Exposure manual bias"), minoltaCs5DId, makerTags, unsignedShort, -1, printMinoltaExposureManualBias5D), TagInfo(0x009E, "AFMode", N_("AF Mode"), N_("AF mode"), minoltaCs5DId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(minoltaAFMode5D)), TagInfo(0x00AE, "ImageNumber", N_("Image Number"), N_("Image number"), minoltaCs5DId, makerTags, unsignedShort, -1, printValue), TagInfo(0x00B0, "NoiseReduction", N_("Noise Reduction"), N_("Noise reduction"), minoltaCs5DId, makerTags, unsignedShort, -1, printMinoltaSonyBoolValue), TagInfo(0x00BD, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), minoltaCs5DId, makerTags, unsignedShort, -1, printMinoltaSonyBoolValue), // From Xavier Raynaud: some notes on missing tags. // 0x0051 seems to be identical to FNumber (0x0036). An approx. relation between Tag value // and Fstop is exp(-0.335+value*0.043) // 0x0052 seems to be identical to ExposureTime (0x0035). An approx. relation between Tag // value and Exposure time is exp(-4+value*0.085) // End of list marker TagInfo(0xFFFF, "(UnknownMinoltaCs5DTag)", "(UnknownMinoltaCs5DTag)", N_("Unknown Minolta Camera Settings 5D tag"), minoltaCs5DId, makerTags, invalidTypeId, -1, printValue) }; const TagInfo* MinoltaMakerNote::tagListCs5D() { return tagInfoCs5D_; } // -- Sony A100 camera settings --------------------------------------------------------------- //! Lookup table to translate Sony A100 camera settings drive mode 2 values to readable labels extern const TagDetails sonyDriveMode2A100[] = { { 0, N_("Self-timer 10 sec") }, { 1, N_("Continuous") }, { 4, N_("Self-timer 2 sec") }, { 5, N_("Single Frame") }, { 8, N_("White Balance Bracketing Low") }, { 9, N_("White Balance Bracketing High") }, { 770, N_("Single-frame Bracketing Low") }, { 771, N_("Continuous Bracketing Low") }, { 1794, N_("Single-frame Bracketing High") }, { 1795, N_("Continuous Bracketing High") } }; //! Lookup table to translate Sony A100 camera settings focus mode values to readable labels extern const TagDetails sonyFocusModeA100[] = { { 0, "AF-S" }, { 1, "AF-C" }, { 4, "AF-A" }, { 5, "Manual" }, { 6, "DMF" } }; //! Lookup table to translate Sony A100 camera settings flash mode values to readable labels extern const TagDetails sonyFlashModeA100[] = { { 0, N_("Auto") }, { 2, N_("Rear flash sync") }, { 3, N_("Wireless") }, { 4, N_("Fill flash") } }; //! Lookup table to translate Sony A100 camera settings metering mode values to readable labels extern const TagDetails sonyMeteringModeA100[] = { { 0, N_("Multi-segment") }, { 1, N_("Center weighted average") }, { 2, N_("Spot") } }; //! Lookup table to translate Sony A100 camera settings zone matching mode values to readable labels extern const TagDetails sonyZoneMatchingModeA100[] = { { 0, N_("Off") }, { 1, N_("Standard") }, { 2, N_("Advanced") } }; //! Lookup table to translate Sony A100 camera settings color space values to readable labels extern const TagDetails sonyColorSpaceA100[] = { { 0, N_("sRGB") }, { 5, N_("Adobe RGB") } }; //! Lookup table to translate Sony A100 camera settings drive mode values to readable labels extern const TagDetails sonyDriveModeA100[] = { { 0, N_("Single Frame") }, { 1, N_("Continuous") }, { 2, N_("Self-timer") }, { 3, N_("Continuous Bracketing") }, { 4, N_("Single-Frame Bracketing") }, { 5, N_("White Balance Bracketing") } }; //! Lookup table to translate Sony A100 camera settings self timer time values to readable labels extern const TagDetails sonySelfTimerTimeA100[] = { { 0, "10s" }, { 4, "2s" } }; //! Lookup table to translate Sony A100 camera settings continuous bracketing values to readable labels extern const TagDetails sonyContinuousBracketingA100[] = { { 0x303, N_("Low") }, { 0x703, N_("High") } }; //! Lookup table to translate Sony A100 camera settings single frame bracketing values to readable labels extern const TagDetails sonySingleFrameBracketingA100[] = { { 0x302, N_("Low") }, { 0x702, N_("High") } }; //! Lookup table to translate Sony A100 camera settings white balance bracketing values to readable labels extern const TagDetails sonyWhiteBalanceBracketingA100[] = { { 0x8, N_("Low") }, { 0x9, N_("High") } }; //! Lookup table to translate Sony A100 camera settings white balance setting values to readable labels extern const TagDetails sonyWhiteBalanceSettingA100[] = { { 0x0000, N_("Auto") }, { 0x0001, N_("Preset") }, { 0x0002, N_("Custom") }, { 0x0003, N_("Color Temperature/Color Filter") }, { 0x8001, N_("Preset") }, { 0x8002, N_("Custom") }, { 0x8003, N_("Color Temperature/Color Filter") } }; //! Lookup table to translate Sony A100 camera settings preset white balance values to readable labels extern const TagDetails sonyPresetWhiteBalanceA100[] = { { 1, N_("Daylight") }, { 2, N_("Cloudy") }, { 3, N_("Shade") }, { 4, N_("Tungsten") }, { 5, N_("Fluorescent") }, { 6, N_("Flash") } }; //! Lookup table to translate Sony A100 camera settings color temperature setting values to readable labels extern const TagDetails sonyColorTemperatureSettingA100[] = { { 0, N_("Temperature") }, { 2, N_("Color Filter") } }; //! Lookup table to translate Sony A100 camera settings custom WB setting values to readable labels extern const TagDetails sonyCustomWBSettingA100[] = { { 0, N_("Setup") }, { 2, N_("Recall") } }; //! Lookup table to translate Sony A100 camera settings custom WB error values to readable labels extern const TagDetails sonyCustomWBErrorA100[] = { { 0, N_("Ok") }, { 2, N_("Error") } }; //! Lookup table to translate Sony A100 camera settings image size values to readable labels extern const TagDetails sonyImageSizeA100[] = { { 0, N_("Standard") }, { 1, N_("Medium") }, { 2, N_("Small") } }; //! Lookup table to translate Sony A100 camera settings instant playback setup values to readable labels extern const TagDetails sonyInstantPlaybackSetupA100[] = { { 0, N_("Image and Information") }, { 1, N_("Image Only") }, { 3, N_("Image and Histogram") } }; //! Lookup table to translate Sony A100 camera settings flash default setup values to readable labels extern const TagDetails sonyFlashDefaultA100[] = { { 0, N_("Auto") }, { 1, N_("Fill Flash") } }; //! Lookup table to translate Sony A100 camera settings auto bracket order values to readable labels extern const TagDetails sonyAutoBracketOrderA100[] = { { 0, "0-+" }, { 1, "-0+" } }; //! Lookup table to translate Sony A100 camera settings focus hold button values to readable labels extern const TagDetails sonyFocusHoldButtonA100[] = { { 0, N_("Focus Hold") }, { 1, N_("DOF Preview") } }; //! Lookup table to translate Sony A100 camera settings AEL button values to readable labels extern const TagDetails sonyAELButtonA100[] = { { 0, N_("Hold") }, { 1, N_("Toggle") }, { 2, N_("Spot Hold") }, { 3, N_("Spot Toggle") } }; //! Lookup table to translate Sony A100 camera settings control dial set values to readable labels extern const TagDetails sonyControlDialSetA100[] = { { 0, N_("Shutter Speed") }, { 1, N_("Aperture") } }; //! Lookup table to translate Sony A100 camera settings exposure compensation mode values to readable labels extern const TagDetails sonyExposureCompensationModeA100[] = { { 0, N_("Ambient and Flash") }, { 1, N_("Ambient Only") } }; //! Lookup table to translate Sony A100 camera settings sony AF area illumination values to readable labels extern const TagDetails sonyAFAreaIlluminationA100[] = { { 0, N_("0.3 seconds") }, { 1, N_("0.6 seconds") }, { 2, N_("Off") } }; //! Lookup table to translate Sony A100 camera settings monitor display off values to readable labels extern const TagDetails sonyMonitorDisplayOffA100[] = { { 0, N_("Automatic") }, { 1, N_("Manual") } }; //! Lookup table to translate Sony A100 camera settings record display values to readable labels extern const TagDetails sonyRecordDisplayA100[] = { { 0, N_("Auto-rotate") }, { 1, N_("Horizontal") } }; //! Lookup table to translate Sony A100 camera settings play display values to readable labels extern const TagDetails sonyPlayDisplayA100[] = { { 0, N_("Auto-rotate") }, { 1, N_("Manual Rotate") } }; //! Lookup table to translate Sony A100 camera settings metering off scale indicator values to readable labels extern const TagDetails sonyMeteringOffScaleIndicatorA100[] = { { 0, N_("Within Range") }, { 1, N_("Under/Over Range") }, { 255, N_("Out of Range") } }; //! Lookup table to translate Sony A100 camera settings exposure indicator values to readable labels extern const TagDetails sonyExposureIndicatorA100[] = { { 0, N_("Not Indicated") }, { 1, N_("Under Scale") }, { 119, N_("Bottom of Scale") }, { 120, "-2.0" }, { 121, "-1.7" }, { 122, "-1.5" }, { 123, "-1.3" }, { 124, "-1.0" }, { 125, "-0.7" }, { 126, "-0.5" }, { 127, "-0.3" }, { 128, "-0.0" }, { 129, "+0.3" }, { 130, "+0.5" }, { 131, "+0.7" }, { 132, "+1.0" }, { 133, "+1.3" }, { 134, "+1.5" }, { 135, "+1.7" }, { 136, "+2.0" }, { 253, N_("Top of Scale") }, { 254, N_("Over Scale") } }; //! Lookup table to translate Sony A100 camera settings focus mode switch values to readable labels extern const TagDetails sonyFocusModeSwitchA100[] = { { 0, N_("AM") }, { 1, N_("MF") } }; //! Lookup table to translate Sony A100 camera settings flash type switch values to readable labels extern const TagDetails sonyFlashTypeA100[] = { { 0, N_("Off") }, { 1, N_("Built-in") }, { 2, N_("External") } }; //! Lookup table to translate Sony A100 camera settings battery level switch values to readable labels extern const TagDetails sonyBatteryLevelA100[] = { { 3, N_("Very Low") }, { 4, N_("Low") }, { 5, N_("Half Full") }, { 6, N_("Sufficient Power Remaining") } }; // Sony A100 Camera Settings Tag Info const TagInfo MinoltaMakerNote::tagInfoCsA100_[] = { TagInfo(0x0000, "ExposureMode", N_("Exposure Mode"), N_("Exposure mode"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(minoltaExposureMode5D)), TagInfo(0x0001, "ExposureCompensationSetting", N_("Exposure Compensation Setting"), N_("Exposure compensation setting"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x0005, "HighSpeedSync", N_("High Speed Sync"), N_("High speed sync"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyBoolValue), TagInfo(0x0006, "ManualExposureTime", N_("Manual Exposure Time"), N_("Manual exposure time"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x0007, "ManualFNumber", N_("Manual FNumber"), N_("Manual FNumber"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x0008, "ExposureTime", N_("Exposure Time"), N_("Exposure time"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x0009, "FNumber", N_("FNumber"), N_("FNumber"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x000A, "DriveMode2", N_("Drive Mode 2"), N_("Drive mode 2"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyDriveMode2A100)), TagInfo(0x000B, "WhiteBalance", N_("White Balance"), N_("White balance"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(minoltaWhiteBalance5D)), TagInfo(0x000C, "FocusMode", N_("Focus Mode"), N_("Focus mode"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyFocusModeA100)), TagInfo(0x000D, "LocalAFAreaPoint", N_("Local AF Area Point"), N_("Local AF Area Point"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyLocalAFAreaPoint), TagInfo(0x000E, "AFAreaMode", N_("AF Area Mode"), N_("AF Area Mode"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyAFAreaMode), TagInfo(0x000F, "FlashMode", N_("FlashMode"), N_("FlashMode"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyFlashModeA100)), TagInfo(0x0010, "FlashExposureCompSetting", N_("Flash Exposure Comp Setting"), N_("Flash exposure compensation setting"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x0012, "MeteringMode", N_("Metering Mode"), N_("Metering mode"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyMeteringModeA100)), TagInfo(0x0013, "ISOSetting", N_("ISO Setting"), N_("ISO setting"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x0014, "ZoneMatchingMode", N_("Zone Matching Mode"), N_("Zone Matching Mode"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyZoneMatchingModeA100)), TagInfo(0x0015, "DynamicRangeOptimizerMode", N_("Dynamic Range Optimizer Mode"), N_("Dynamic range optimizer mode"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyDynamicRangeOptimizerMode), TagInfo(0x0016, "ColorMode", N_("Color Mode"), N_("Color mode"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyColorMode), TagInfo(0x0017, "ColorSpace", N_("Color Space"), N_("Color space"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyColorSpaceA100)), TagInfo(0x0018, "Sharpness", N_("Sharpness"), N_("Sharpness"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x0019, "Contrast", N_("Contrast"), N_("Contrast"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x001A, "Saturation", N_("Saturation"), N_("Saturation"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x001C, "FlashMetering", N_("Flash Metering"), N_("Flash metering"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(minoltaFlashMeteringStd)), TagInfo(0x001D, "PrioritySetupShutterRelease", N_("Priority Setup Shutter Release"), N_("Priority Setup Shutter Release"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyPrioritySetupShutterRelease), TagInfo(0x001E, "DriveMode", N_("Drive Mode"), N_("Drive mode"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyDriveModeA100)), TagInfo(0x001F, "SelfTimerTime", N_("Self Timer Time"), N_("Self timer time"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonySelfTimerTimeA100)), TagInfo(0x0020, "ContinuousBracketing", N_("Continuous Bracketing"), N_("Continuous bracketing"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyContinuousBracketingA100)), TagInfo(0x0021, "SingleFrameBracketing", N_("Single Frame Bracketing"), N_("Single frame bracketing"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonySingleFrameBracketingA100)), TagInfo(0x0022, "WhiteBalanceBracketing", N_("White Balance Bracketing"), N_("White balance bracketing"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyWhiteBalanceBracketingA100)), TagInfo(0x0023, "WhiteBalanceSetting", N_("White Balance Setting"), N_("White balance setting"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyWhiteBalanceSettingA100)), TagInfo(0x0024, "PresetWhiteBalance", N_("Preset White Balance"), N_("Preset white balance"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyPresetWhiteBalanceA100)), TagInfo(0x0025, "ColorTemperatureSetting", N_("Color Temperature Setting"), N_("Color temperature setting"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyColorTemperatureSettingA100)), TagInfo(0x0026, "CustomWBSetting", N_("Custom WB Setting"), N_("Custom WB setting"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyCustomWBSettingA100)), TagInfo(0x0027, "DynamicRangeOptimizerSettings", N_("Dynamic Range Optimizer Settings"), N_("Dynamic Range Optimizer Settings"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyDynamicRangeOptimizerMode), TagInfo(0x0032, "FreeMemoryCardImages", N_("Free Memory Card Images"), N_("Free memory card images"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x0034, "CustomWBRedLevel", N_("Custom WB Red Level"), N_("Custom WB red level"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x0035, "CustomWBGreenLevel", N_("Custom WB Green Level"), N_("Custom WB green level"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x0036, "CustomWBBlueLevel", N_("Custom WB Blue Level"), N_("CustomWB blue level"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x0037, "CustomWBError", N_("Custom WB Error"), N_("Custom WB Error"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyCustomWBErrorA100)), TagInfo(0x0038, "WhiteBalanceFineTune", N_("White Balance Fine Tune"), N_("White balance fine tune"), sony1MltCsA100Id, makerTags, signedShort, 1, printValue), TagInfo(0x0039, "ColorTemperature", N_("Color Temperature"), N_("Color temperature"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x003A, "ColorCompensationFilter", N_("Color Compensation Filter"), N_("Color compensation filter"), sony1MltCsA100Id, makerTags, signedShort, 1, printValue), TagInfo(0x003B, "SonyImageSize", N_("Sony Image Size"), N_("Sony Image Size"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyImageSizeA100)), TagInfo(0x003C, "Quality", N_("Quality"), N_("Quality"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyQualityCs), TagInfo(0x003D, "InstantPlaybackTime", N_("Instant Playback Time"), N_("Instant playback time"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue), TagInfo(0x003E, "InstantPlaybackSetup", N_("Instant Playback Setup"), N_("Instant playback setup"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyInstantPlaybackSetupA100)), TagInfo(0x003F, "NoiseReduction", N_("Noise Reduction"), N_("Noise reduction"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyBoolValue), TagInfo(0x0040, "EyeStartAF", N_("Eye Start AF"), N_("Eye start AF"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyBoolInverseValue), TagInfo(0x0041, "RedEyeReduction", N_("Red Eye Reduction"), N_("Red eye reduction"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyBoolValue), TagInfo(0x0042, "FlashDefault", N_("Flash Default"), N_("Flash default"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyFlashDefaultA100)), TagInfo(0x0043, "AutoBracketOrder", N_("Auto Bracket Order"), N_("Auto bracket order"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyAutoBracketOrderA100)), TagInfo(0x0044, "FocusHoldButton", N_("Focus Hold Button"), N_("Focus hold button"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyFocusHoldButtonA100)), TagInfo(0x0045, "AELButton", N_("AEL Button"), N_("AEL button"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyAELButtonA100)), TagInfo(0x0046, "ControlDialSet", N_("Control Dial Set"), N_("Control dial set"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyControlDialSetA100)), TagInfo(0x0047, "ExposureCompensationMode", N_("Exposure Compensation Mode"), N_("Exposure compensation mode"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureCompensationModeA100)), TagInfo(0x0048, "AFAssist", N_("AF Assist"), N_("AF assist"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyBoolInverseValue), TagInfo(0x0049, "CardShutterLock", N_("Card Shutter Lock"), N_("Card shutter lock"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyBoolInverseValue), TagInfo(0x004A, "LensShutterLock", N_("Lens Shutter Lock"), N_("Lens shutter lock"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyBoolInverseValue), TagInfo(0x004B, "AFAreaIllumination", N_("AF Area Illumination"), N_("AF area illumination"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyAFAreaIlluminationA100)), TagInfo(0x004C, "MonitorDisplayOff", N_("Monitor Display Off"), N_("Monitor display off"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyMonitorDisplayOffA100)), TagInfo(0x004D, "RecordDisplay", N_("Record Display"), N_("Record display"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyRecordDisplayA100)), TagInfo(0x004E, "PlayDisplay", N_("Play Display"), N_("Play display"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyPlayDisplayA100)), TagInfo(0x0050, "ExposureIndicator", N_("Exposure Indicator"), N_("Exposure indicator"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureIndicatorA100)), TagInfo(0x0051, "AELExposureIndicator", N_("AEL Exposure Indicator"), N_("AEL exposure indicator (also indicates exposure for next shot when bracketing)"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureIndicatorA100)), TagInfo(0x0052, "ExposureBracketingIndicatorLast", N_("Exposure Bracketing Indicator Last"), N_("Exposure bracketing indicator last (indicator for last shot when bracketing)"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureIndicatorA100)), TagInfo(0x0053, "MeteringOffScaleIndicator", N_("Metering Off Scale Indicator"), N_("Metering off scale indicator (two flashing triangles when under or over metering scale)"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyMeteringOffScaleIndicatorA100)), TagInfo(0x0054, "FlashExposureIndicator", N_("Flash Exposure Indicator"), N_("Flash exposure indicator"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureIndicatorA100)), TagInfo(0x0055, "FlashExposureIndicatorNext", N_("Flash Exposure Indicator Next"), N_("Flash exposure indicator next (indicator for next shot when bracketing)"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureIndicatorA100)), TagInfo(0x0056, "FlashExposureIndicatorLast", N_("Flash Exposure Indicator Last"), N_("Flash exposure indicator last (indicator for last shot when bracketing)"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureIndicatorA100)), TagInfo(0x0057, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyBoolValue), TagInfo(0x0058, "FocusModeSwitch", N_("Focus Mode Switch"), N_("Focus mode switch"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyFocusModeSwitchA100)), TagInfo(0x0059, "FlashType", N_("Flash Type"), N_("Flash type"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyFlashTypeA100)), TagInfo(0x005A, "Rotation", N_("Rotation"), N_("Rotation"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyRotation), TagInfo(0x004B, "AELock", N_("AE Lock"), N_("AE lock"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printMinoltaSonyBoolValue), TagInfo(0x005E, "ColorTemperature", N_("Color Temperature"), N_("Color temperature"), sony1MltCsA100Id, makerTags, unsignedLong, 1, printValue), TagInfo(0x005F, "ColorCompensationFilter", N_("Color Compensation Filter"), N_("Color compensation filter: negative is green, positive is magenta"), sony1MltCsA100Id, makerTags, unsignedLong, 1, printValue), TagInfo(0x0060, "BatteryLevel", N_("Battery Level"), N_("Battery level"), sony1MltCsA100Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyBatteryLevelA100)), // End of list marker TagInfo(0xffff, "(UnknownSonyCsA100Tag)", "(UnknownSonyCsA100Tag)", N_("Unknown Sony Camera Settings A100 tag"), sony1MltCsA100Id, makerTags, unsignedShort, 1, printValue) }; const TagInfo* MinoltaMakerNote::tagListCsA100() { return tagInfoCsA100_; } // TODO : Add camera settings tags info "New2"... // -- Minolta and Sony MakerNote Common Values --------------------------------------- //! Lookup table to translate Minolta/Sony Lens id values to readable labels /* NOTE: - duplicate tags value are: 0/25520, 4/25920, 13/25610, 19/25910, 22/26050/26070, 25500/25501/26130, 25540/25541/25850, 25580/25581, 2564025641, 25720/25721, 25790/25791, 25960/25961, 25980/25981, 26150/26151 - No need to i18n these string. */ extern TagDetails const minoltaSonyLensID[] = { { 0, "Minolta AF 28-85mm F3.5-4.5 New" }, { 1, "Minolta AF 80-200mm F2.8 HS-APO G" }, { 2, "Minolta AF 28-70mm F2.8 G" }, { 3, "Minolta AF 28-80mm F4-5.6" }, { 4, "Minolta AF 85mm F1.4G" }, { 5, "Minolta AF 35-70mm F3.5-4.5 [II]" }, { 6, "Minolta AF 24-85mm F3.5-4.5 [New]" }, { 7, "Minolta AF 100-300mm F4.5-5.6 (D) APO [New] | " "Minolta AF 100-400mm F4.5-6.7 (D) | " "Sigma AF 100-300mm F4 EX DG IF" }, { 8, "Minolta AF 70-210mm F4.5-5.6 [II]" }, { 9, "Minolta AF 50mm F3.5 Macro" }, { 10, "Minolta AF 28-105mm F3.5-4.5 [New]" }, { 11, "Minolta AF 300mm F4 HS-APO G" }, { 12, "Minolta AF 100mm F2.8 Soft Focus" }, { 13, "Minolta AF 75-300mm F4.5-5.6 (New or II)" }, { 14, "Minolta AF 100-400mm F4.5-6.7 APO" }, { 15, "Minolta AF 400mm F4.5 HS-APO G" }, { 16, "Minolta AF 17-35mm F3.5 G" }, { 17, "Minolta AF 20-35mm F3.5-4.5" }, { 18, "Minolta AF 28-80mm F3.5-5.6 II" }, { 19, "Minolta AF 35mm F1.4 G" }, { 20, "Minolta/Sony 135mm F2.8 [T4.5] STF" }, { 22, "Minolta AF 35-80mm F4-5.6 II" }, { 23, "Minolta AF 200mm F4 Macro APO G" }, { 24, "Minolta/Sony AF 24-105mm F3.5-4.5 (D) | " "Sigma 18-50mm F2.8 | " "Sigma 17-70mm F2.8-4.5 (D) | " "Sigma 20-40mm F2.8 EX DG Aspherical IF | " "Sigma 18-200mm F3.5-6.3 DC | " "Sigma DC 18-125mm F4-5,6 D | " "Tamron SP AF 28-75mm F2.8 XR Di LD Aspherical [IF] Macro" }, { 25, "Minolta AF 100-300mm F4.5-5.6 APO (D) | " "Sigma 100-300mm F4 EX (APO (D) or D IF) | " "Sigma 70mm F2.8 EX DG Macro | " "Sigma 20mm F1.8 EX DG Aspherical RF | " "Sigma 30mm F1.4 DG EX | " "Sigma 24mm F1.8 EX DG ASP Macro" }, { 27, "Minolta AF 85mm F1.4 G (D)" }, { 28, "Minolta/Sony AF 100mm F2.8 Macro (D) | " "Tamron SP AF 90mm F2.8 Di Macro | " "Tamron SP AF 180mm F3.5 SP Di LD [IF] Macro" }, { 29, "Minolta/Sony AF 75-300mm F4.5-5.6 (D) " }, { 30, "Minolta AF 28-80mm F3.5-5.6 (D) | " "Sigma AF 10-20mm F4-5.6 EX DC | " "Sigma AF 12-24mm F4.5-5.6 EX DG | " "Sigma 28-70mm EX DG F2.8 | " "Sigma 55-200mm F4-5.6 DC" }, { 31, "Minolta/Sony AF 50mm F2.8 Macro (D) | " "Minolta/Sony AF 50mm F3.5 Macro" }, { 32, "Minolta AF 100-400mm F4.5-6.7 (D) | " "Minolta/Sony AF 300mm F2.8G APO (D) SSM" }, { 33, "Minolta/Sony AF 70-200mm F2.8 G" }, { 35, "Minolta AF 85mm F1.4 G (D) Limited" }, { 36, "Minolta AF 28-100mm F3.5-5.6 (D)" }, { 38, "Minolta AF 17-35mm F2.8-4 (D)" }, { 39, "Minolta AF 28-75mm F2.8 (D)" }, { 40, "Minolta/Sony AF DT 18-70mm F3.5-5.6 (D) | " "Sony AF DT 18-200mm F3.5-6.3" }, { 41, "Minolta/Sony AF DT 11-18mm F4.5-5.6 (D) | " "Tamron SP AF 11-18mm F4.5-5.6 Di II LD Aspherical IF" }, { 42, "Minolta/Sony AF DT 18-200mm F3.5-6.3 (D)" }, { 43, "Sony 35mm F1.4 G (SAL35F14G)" }, { 44, "Sony 50mm F1.4 (SAL50F14)" }, { 45, "Carl Zeiss Planar T* 85mm F1.4 ZA (SAL85F14Z)" }, { 46, "Carl Zeiss Vario-Sonnar T* DT 16-80mm F3.5-4.5 ZA (SAL1680Z)" }, { 47, "Carl Zeiss Sonnar T* 135mm F1.8 ZA (SAL135F18Z)" }, { 48, "Carl Zeiss Vario-Sonnar T* 24-70mm F2.8 ZA SSM (SAL2470Z) | " "Carl Zeiss Vario-Sonnar T* 24-70mm F2.8 ZA SSM II (SAL2470Z2)" }, { 49, "Sony AF DT 55-200mm F4-5.6 (SAL55200)" }, { 50, "Sony AF DT 18-250mm F3.5-6.3 (SAL18250)" }, { 51, "Sony AF DT 16-105mm F3.5-5.6 (SAL16105)" }, // { 51, "Sony AF DT 55-200mm F4-5.5" }, // Anomaly? - unconfirmed. { 52, "Sony 70-300mm F4.5-5.6 G SSM (SAL70300G) | " "Sony 70-300mm F4.5-5.6 G SSM II (SAL70300G2) | " "Tamron SP 70-300mm F4-5.6 Di USD" }, { 53, "Sony AF 70-400mm F4.5-5.6 G SSM (SAL70400G)" }, { 54, "Carl Zeiss Vario-Sonnar T* 16-35mm F2.8 ZA SSM (SAL1635Z) | " "Carl Zeiss Vario-Sonnar T* 16-35mm F2.8 ZA SSM II (SAL1635Z2)" }, { 55, "Sony DT 18-55mm F3.5-5.6 SAM (SAL1855) | " "Sony DT 18-55mm F3.5-5.6 SAM II (SAL18552)" }, { 56, "Sony AF DT 55-200mm F4-5.6 SAM (SAL55200-2)" }, { 57, "Sony DT 50mm F1.8 SAM (SAL50F18) | " "Tamron SP AF 60mm F2 Di II LD [IF] Macro 1:1 | " "Tamron 18-270mm F3.5-6.3 Di II PZD" }, { 58, "Sony AF DT 30mm F2.8 SAM Macro (SAL30M28)" }, { 59, "Sony 28-75mm F2.8 SAM (SAL2875)" }, { 60, "Carl Zeiss Distagon T* 24mm F2 ZA SSM (SAL24F20Z)" }, { 61, "Sony 85mm F2.8 SAM (SAL85F28)" }, { 62, "Sony DT 35mm F1.8 SAM (SAL35F18)" }, { 63, "Sony DT 16-50mm F2.8 SSM (SAL1650)" }, { 64, "Sony 500mm F4.0 G SSM (SAL500F40G)" }, { 65, "Sony DT 18-135mm F3.5-5.6 SAM (SAL18135)" }, { 66, "Sony 300mm F2.8 G SSM II (SAL300F28G2)" }, { 67, "Sony 70-200mm F2.8 G SSM II (SAL70200G2)" }, { 68, "Sony DT 55-300mm F4.5-5.6 SAM (SAL55300)" }, { 69, "Sony 70-400mm F4-5.6 G SSM II (SAL70400G2)" }, { 70, "Sony Carl Zeiss Planar T* 50mm F1.4 ZA SSM (SALF0F14Z)" }, { 128, "Sigma 70-200mm F2.8 APO EX DG MACRO | " "Tamron AF 18-200mm F3.5-6.3 XR Di II LD Aspherical [IF] Macro | " "Tamron AF 28-300mm F3.5-6.3 XR Di LD Aspherical [IF] Macro | " "Tamron 80-300mm F3.5-6.3 | " "Tamron AF 28-200mm F3.8-5.6 XR Di Aspherical [IF] MACRO | " "Tamron SP AF 17-35mm F2.8-4 Di LD Aspherical IF | " "Sigma AF 50-150mm F2.8 EX DC APO HSM II | " "Sigma 10-20mm F3.5 EX DC HSM | " "Sigma 70-200mm F2.8 II EX DG APO MACRO HSM | " "Sigma 10mm F2.8 EX DC HSM Fisheye | " "Sigma 50mm F1.4 EX DG HSM | " "Sigma 85mm F1.4 EX DG HSM | " "Sigma 24-70mm F2.8 IF EX DG HSM | " "Sigma 18-250mm F3.5-6.3 DC OS HSM | " "Sigma 17-50mm F2.8 EX DC HSM | " "Sigma 17-70mm F2.8-4 DC Macro HSM | " "Sigma 150mm F2.8 EX DG OS HSM APO Macro | " "Sigma 150-500mm F5-6.3 APO DG OS HSM | " "Tamron AF 28-105mm F4-5.6 [IF] | " "Sigma 35mm F1.4 DG HSM | " "Sigma 18-35mm F1.8 DC HSM" }, { 129, "Tamron 200-400mm F5.6 LD | " "Tamron 70-300mm F4-5.6 LD" }, { 131, "Tamron 20-40mm F2.7-3.5 SP Aspherical IF" }, { 135, "Vivitar 28-210mm F3.5-5.6" }, { 136, "Tokina EMZ M100 AF 100mm F3.5" }, { 137, "Cosina 70-210mm F2.8-4 AF" }, { 138, "Soligor 19-35mm F3.5-4.5" }, { 139, "Tokina AF 28-300mm F4-6.3" }, { 142, "Voigtlander 70-300mm F4.5-5.6" }, { 146, "Voigtlander Macro APO-Lanthar 125mm F2.5 SL" }, { 193, "Minolta AF 1.4x APO II" }, { 194, "Tamron SP AF 17-50mm F2.8 XR Di II LD Aspherical [IF]" }, { 203, "Tamron SP 70-200mm F2.8 Di USD" }, { 204, "Tamron SP 24-70mm F2.8 Di USD" }, { 213, "Tamron 16-300mm F3.5-6.3 Di II PZD" }, { 214, "Tamron Tamron SP 150-600mm F5-6.3 Di USD" }, { 224, "Tamron SP 90mm F2.8 Di Macro 1:1 USD" }, { 255, "Tamron SP AF 17-50mm F2.8 XR Di II LD Aspherical | " "Tamron AF 18-250mm F3.5-6.3 XR Di II LD | " "Tamron AF 55-200mm F4-5.6 Di II LD Macro | " "Tamron AF 70-300mm F4-5.6 Di LD Macro 1:2 | " "Tamron SP AF 200-500mm F5.0-6.3 Di LD IF | " "Tamron SP AF 10-24mm F3.5-4.5 Di II LD Aspherical IF | " "Tamron SP AF 70-200mm F2.8 Di LD IF Macro | " "Tamron SP AF 28-75mm F2.8 XR Di LD Aspherical IF | " "Tamron AF 90-300mm F4.5-5.6 Telemacro" }, { 25500, "Minolta AF 50mm F1.7" }, { 25501, "Minolta AF 50mm F1.7" }, { 25510, "Minolta AF 35-70mm F4" }, { 25511, "Minolta AF 35-70mm F4 | " "Sigma UC AF 28-70mm F3.5-4.5 | " "Sigma AF 28-70mm F2.8 | " "Sigma M-AF 70-200mm F2.8 EX Aspherical | " "Quantaray M-AF 35-80mm F4-5.6 | " "Tokina 28-70mm F2.8-4.5 AF" }, { 25520, "Minolta AF 28-85mm F3.5-4.5" }, { 25521, "Minolta AF 28-85mm F3.5-4.5 | " "Tokina 19-35mm F3.5-4.5 | " "Tokina 28-70mm F2.8 AT-X | " "Tokina 80-400mm F4.5-5.6 AT-X AF II 840 | " "Tokina AF PRO 28-80mm F2.8 AT-X 280 | " "Tokina AT-X PRO [II] AF 28-70mm F2.6-2.8 270 | " "Tamron AF 19-35mm F3.5-4.5 | " "Angenieux AF 28-70mm F2.6 | " "Tokina AT-X 17 AF 17mm F3.5 | " "Tokina 20-35mm F3.5-4.5 II AF" }, { 25530, "Minolta AF 28-135mm F4-4.5" }, { 25531, "Minolta AF 28-135mm F4-4.5 | " "Sigma ZOOM-alpha 35-135mm F3.5-4.5 | " "Sigma 28-105mm F2.8-4 Aspherical | " "Sigma 28-105mm F4-5.6 UC" }, { 25540, "Minolta AF 35-105mm F3.5-4.5" }, { 25541, "Minolta AF 35-105mm F3.5-4.5" }, { 25550, "Minolta AF 70-210mm F4" }, { 25551, "Minolta AF 70-210mm F4 Macro | " "Sigma 70-210mm F4-5.6 APO | " "Sigma M-AF 70-200mm F2.8 EX APO | " "Sigma 75-200mm F2.8-3.5" }, { 25560, "Minolta AF 135mm F2.8" }, { 25561, "Minolta AF 135mm F2.8" }, { 25570, "Minolta AF 28mm F2.8" }, { 25571, "Minolta/Sony AF 28mm F2.8" }, { 25580, "Minolta AF 24-50mm F4" }, { 25581, "Minolta AF 24-50mm F4" }, { 25600, "Minolta AF 100-200mm F4.5" }, { 25601, "Minolta AF 100-200mm F4.5" }, { 25610, "Minolta AF 75-300mm F4.5-5.6" }, { 25611, "Minolta AF 75-300mm F4.5-5.6 | " "Sigma 70-300mm F4-5.6 DL Macro | " "Sigma 300mm F4 APO Macro | " "Sigma AF 500mm F4.5 APO | " "Sigma AF 170-500mm F5-6.3 APO Aspherical | " "Tokina AT-X AF 300mm F4 | " "Tokina AT-X AF 400mm F5.6 SD | " "Tokina AF 730 II 75-300mm F4.5-5.6 | " "Sigma 800mm F5.6 APO | " "Sigma AF 400mm F5.6 APO Macro" }, { 25620, "Minolta AF 50mm F1.4" }, { 25621, "Minolta AF 50mm F1.4 [New]" }, { 25630, "Minolta AF 300mm F2.8G APO" }, { 25631, "Minolta AF 300mm F2.8 APO | " "Sigma AF 50-500mm F4-6.3 EX DG APO | " "Sigma AF 170-500mm F5-6.3 APO Aspherical | " "Sigma AF 500mm F4.5 EX DG APO | " "Sigma 400mm F5.6 APO" }, { 25640, "Minolta AF 50mm F2.8 Macro" }, { 25641, "Minolta AF 50mm F2.8 Macro | " "Sigma 50mm F2.8 EX Macro" }, { 25650, "Minolta AF 600mm F4 APO" }, { 25651, "Minolta AF 600mm F4 APO" }, { 25660, "Minolta AF 24mm F2.8" }, { 25661, "Minolta AF 24mm F2.8 | " "Sigma 17-35mm F2.8-4.0 EX-D" }, { 25720, "Minolta AF 500mm F8 Reflex" }, { 25721, "Minolta/Sony AF 500mm F8 Reflex" }, { 25780, "Minolta/Sony AF 16mm F2.8 Fisheye" }, { 25781, "Minolta/Sony AF 16mm F2.8 Fisheye | " "Sigma 8mm F4 EX [DG] Fisheye | " "Sigma 14mm F3.5 | " "Sigma 15mm F2.8 Fisheye" }, { 25790, "Minolta AF 20mm F2.8" }, { 25791, "Minolta/Sony AF 20mm F2.8 | " "Tokina AT-X 116 PRO DX AF 11-16mm F2.8" }, { 25810, "Minolta AF 100mm F2.8 Macro" }, { 25811, "Minolta AF 100mm F2.8 Macro [New] | " "Sigma AF 90mm F2.8 Macro | " "Sigma AF 105mm F2.8 EX [DG] Macro | " "Sigma 180mm F5.6 Macro | " "Sigma 180mm F3.5 EX DG Macro | " "Tamron 90mm F2.8 Macro" }, { 25850, "Minolta AF 35-105mm F3.5-4.5" }, { 25851, "Beroflex 35-135mm F3.5-4.5" }, { 25858, "Minolta AF 35-105mm F3.5-4.5 New | " "Tamron 24-135mm F3.5-5.6" }, { 25880, "Minolta AF 70-210mm F3.5-4.5" }, { 25881, "Minolta AF 70-210mm F3.5-4.5" }, { 25890, "Minolta AF 80-200mm F2.8 APO" }, { 25891, "Minolta AF 80-200mm F2.8 APO | " "Tokina 80-200mm F2.8" }, { 25900, "Minolta AF 200mm F2.8 G APO + Minolta AF 1.4x APO" }, { 25901, "Minolta AF 200mm F2.8 G APO + Minolta AF 1.4x APO | " "Minolta AF 600mm F4 HS-APO G + Minolta AF 1.4x APO" }, { 25910, "Minolta AF 35mm F1.4G" }, { 25911, "Minolta AF 35mm F1.4" }, { 25920, "Minolta AF 85mm F1.4G" }, { 25921, "Minolta AF 85mm F1.4G (D)" }, { 25930, "Minolta AF 200mm F2.8 APO" }, { 25931, "Minolta AF 200mm F2.8 G APO" }, { 25940, "Minolta AF 3X-1X F1.7-2.8 Macro" }, { 25941, "Minolta AF 3x-1x F1.7-2.8 Macro" }, { 25960, "Minolta AF 28mm F2" }, { 25961, "Minolta AF 28mm F2" }, { 25970, "Minolta AF 35mm F2" }, { 25971, "Minolta AF 35mm F2 [New]" }, { 25980, "Minolta AF 100mm F2" }, { 25981, "Minolta AF 100mm F2" }, { 26010, "Minolta AF 200mm F2.8 G APO + Minolta AF 2x APO" }, { 26011, "Minolta AF 200mm F2.8 G APO + Minolta AF 2x APO | " "Minolta AF 600mm F4 HS-APO G + Minolta AF 2x APO" }, { 26040, "Minolta AF 80-200mm F4.5-5.6" }, { 26041, "Minolta AF 80-200mm F4.5-5.6" }, { 26050, "Minolta AF 35-80mm F4-5.6" }, { 26051, "Minolta AF 35-80mm F4-5.6" }, { 26060, "Minolta AF 100-300mm F4.5-5.6" }, { 26061, "Minolta AF 100-300mm F4.5-5.6 (D) | " "Sigma 105mm F2.8 Macro EX DG" }, { 26070, "Minolta AF 35-80mm F4-5.6" }, { 26071, "Minolta AF 35-80mm F4-5.6" }, { 26080, "Minolta AF 300mm F2.8 G" }, { 26081, "Minolta AF 300mm F2.8 G APO High Speed" }, { 26090, "Minolta AF 600mm F4 G" }, { 26091, "Minolta AF 600mm F4 G APO High Speed" }, { 26120, "Minolta AF 200mm F2.8 G" }, { 26121, "Minolta AF 200mm F2.8 G APO High Speed" }, { 26130, "Minolta AF 50mm F1.7" }, { 26131, "Minolta AF 50mm F1.7 New" }, { 26150, "Minolta AF 28-105mm F3.5-4.5 Xi" }, { 26151, "Minolta AF 28-105mm F3.5-4.5 xi" }, { 26160, "Minolta AF 35-200mm F4.5-5.6 Xi" }, { 26161, "Minolta AF 35-200mm F4.5-5.6 Xi" }, { 26180, "Minolta AF 28-80mm F4-5.6 Xi" }, { 26181, "Minolta AF 28-80mm F4-5.6 xi" }, { 26190, "Minolta AF 80-200mm F4.5-5.6 Xi" }, { 26191, "Minolta AF 80-200mm F4.5-5.6 Xi" }, { 26201, "Minolta AF 28-70mm F2.8 G" }, { 26210, "Minolta AF 100-300mm F4.5-5.6 Xi" }, { 26211, "Minolta AF 100-300mm F4.5-5.6 xi" }, { 26240, "Minolta AF 35-80mm F4-5.6 Power Zoom" }, { 26241, "Minolta AF 35-80mm F4-5.6 Power Zoom" }, { 26281, "Minolta AF 80-200mm F2.8 G" }, { 26291, "Minolta AF 85mm F1.4 New" }, { 26311, "Minolta/Sony AF 100-300mm F4.5-5.6 APO" }, { 26321, "Minolta AF 24-50mm F4 New" }, { 26381, "Minolta AF 50mm F2.8 Macro New" }, { 26391, "Minolta AF 100mm F2.8 Macro" }, { 26411, "Minolta/Sony AF 20mm F2.8 New" }, { 26421, "Minolta AF 24mm F2.8 New" }, { 26441, "Minolta AF 100-400mm F4.5-6.7 APO" }, { 26621, "Minolta AF 50mm F1.4 New" }, { 26671, "Minolta AF 35mm F2 New" }, { 26681, "Minolta AF 28mm F2 New" }, { 26721, "Minolta AF 24-105mm F3.5-4.5 (D)" }, { 45671, "Tokina 70-210mm F4-5.6" }, { 45711, "Vivitar 70-210mm F4.5-5.6" }, { 45741, "Minolta AF200mm F2.8G x2 | " "Tokina 300mm F2.8 x2 | " "Tokina RF 500mm F8.0 x2 | " "Tamron SP AF 90mm F2.5"}, { 45751, "1.4x Teleconverter " }, { 45851, "Tamron SP AF 300mm F2.8 LD IF" }, { 45861, "Tamron SP AF 35-105mm F2.8 LD Aspherical IF" }, { 45871, "Tamron AF 70-210mm F2.8 SP LD" }, { 65535, "Manual lens" } }; std::ostream& printMinoltaSonyLensID(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(minoltaSonyLensID)(os, value, metadata); } // ---------------------------------------------------------------------------------------------------- //! Lookup table to translate Minolta A100 and all other Sony Alpha camera color mode values to readable labels extern const TagDetails minoltaSonyColorMode[] = { { 0, N_("Standard") }, { 1, N_("Vivid Color") }, { 2, N_("Portrait") }, { 3, N_("Landscape") }, { 4, N_("Sunset") }, { 5, N_("Night View/Portrait") }, { 6, N_("Black & White") }, { 7, N_("AdobeRGB") }, { 12, N_("Neutral") }, { 100, N_("Neutral") }, { 101, N_("Clear") }, { 102, N_("Deep") }, { 103, N_("Light") }, { 104, N_("Night View") }, { 105, N_("Autumn Leaves") } }; std::ostream& printMinoltaSonyColorMode(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(minoltaSonyColorMode)(os, value, metadata); } // ---------------------------------------------------------------------------------------------------- //! Lookup table to translate Minolta/Sony bool function values to readable labels extern const TagDetails minoltaSonyBoolFunction[] = { { 0, N_("Off") }, { 1, N_("On") } }; std::ostream& printMinoltaSonyBoolValue(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(minoltaSonyBoolFunction)(os, value, metadata); } // ---------------------------------------------------------------------------------------------------- //! Lookup table to translate Minolta/Sony bool inverse function values to readable labels extern const TagDetails minoltaSonyBoolInverseFunction[] = { { 0, N_("On") }, { 1, N_("Off") } }; std::ostream& printMinoltaSonyBoolInverseValue(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(minoltaSonyBoolInverseFunction)(os, value, metadata); } // ---------------------------------------------------------------------------------------------------- //! Lookup table to translate Sony camera settings focus mode values to readable labels extern const TagDetails minoltaSonyAFAreaMode[] = { { 0, N_("Wide") }, { 1, N_("Local") }, { 2, N_("Spot") } }; std::ostream& printMinoltaSonyAFAreaMode(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(minoltaSonyAFAreaMode)(os, value, metadata); } // ---------------------------------------------------------------------------------------------------- //! Lookup table to translate Sony camera settings Local AF Area Point values to readable labels extern const TagDetails minoltaSonyLocalAFAreaPoint[] = { { 1, N_("Center") }, { 2, N_("Top") }, { 3, N_("Top-Right") }, { 4, N_("Right") }, { 5, N_("Bottom-Right") }, { 6, N_("Bottom") }, { 7, N_("Bottom-Left") }, { 8, N_("Left") }, { 9, N_("Top-Left") }, { 10, N_("Far-Right") }, { 11, N_("Far-Left") } }; std::ostream& printMinoltaSonyLocalAFAreaPoint(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(minoltaSonyLocalAFAreaPoint)(os, value, metadata); } // ---------------------------------------------------------------------------------------------------- //! Lookup table to translate Sony camera settings dynamic range optimizer mode values to readable labels extern const TagDetails minoltaSonyDynamicRangeOptimizerMode[] = { { 0, N_("Off") }, { 1, N_("Standard") }, { 2, N_("Advanced Auto") }, { 3, N_("Advanced Level") }, { 4097, N_("Auto") } }; std::ostream& printMinoltaSonyDynamicRangeOptimizerMode(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(minoltaSonyDynamicRangeOptimizerMode)(os, value, metadata); } // ---------------------------------------------------------------------------------------------------- //! Lookup table to translate Sony camera settings priority setup shutter release values to readable labels extern const TagDetails minoltaSonyPrioritySetupShutterRelease[] = { { 0, N_("AF") }, { 1, N_("Release") } }; std::ostream& printMinoltaSonyPrioritySetupShutterRelease(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(minoltaSonyPrioritySetupShutterRelease)(os, value, metadata); } // ---------------------------------------------------------------------------------------------------- //! Lookup table to translate Sony camera settings quality values to readable labels extern const TagDetails minoltaSonyQualityCs[] = { { 0, N_("RAW ") }, { 2, N_("CRAW ") }, { 16, N_("Extra Fine") }, { 32, N_("Fine") }, { 34, N_("RAW+JPEG") }, { 35, N_("CRAW+JPEG") }, { 48, N_("Standard") } }; std::ostream& printMinoltaSonyQualityCs(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(minoltaSonyQualityCs)(os, value, metadata); } // ---------------------------------------------------------------------------------------------------- //! Lookup table to translate Sony camera settings rotation values to readable labels extern const TagDetails minoltaSonyRotation[] = { { 0, N_("Horizontal (normal)") }, { 1, N_("Rotate 90 CW") }, { 2, N_("Rotate 270 CW") } }; std::ostream& printMinoltaSonyRotation(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(minoltaSonyRotation)(os, value, metadata); } // ---------------------------------------------------------------------------------------------------- //! Lookup table to translate Minolta/Sony scene mode values to readable labels extern const TagDetails minoltaSonySceneMode[] = { { 0, N_("Standard") }, { 1, N_("Portrait") }, { 2, N_("Text") }, { 3, N_("Night Scene") }, { 4, N_("Sunset") }, { 5, N_("Sports") }, { 6, N_("Landscape") }, { 7, N_("Night Portrait") }, { 8, N_("Macro") }, { 9, N_("Super Macro") }, { 16, N_("Auto") }, { 17, N_("Night View/Portrait") } }; std::ostream& printMinoltaSonySceneMode(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(minoltaSonySceneMode)(os, value, metadata); } // ---------------------------------------------------------------------------------------------------- //! Lookup table to translate Sony/Minolta image quality values to readable labels extern const TagDetails minoltaSonyImageQuality[] = { { 0, N_("Raw") }, { 1, N_("Super Fine") }, { 2, N_("Fine") }, { 3, N_("Standard") }, { 4, N_("Economy") }, { 5, N_("Extra Fine") }, { 6, N_("Raw + JPEG") }, { 7, N_("Compressed Raw") }, { 8, N_("Compressed Raw + JPEG") } }; std::ostream& printMinoltaSonyImageQuality(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(minoltaSonyImageQuality)(os, value, metadata); } // ---------------------------------------------------------------------------------------------------- //! Lookup table to translate Sony/Minolta teleconverter model values to readable labels extern const TagDetails minoltaSonyTeleconverterModel[] = { { 0x00, N_("None") }, { 0x48, N_("Minolta AF 2x APO (D)") }, { 0x50, N_("Minolta AF 2x APO II") }, { 0x88, N_("Minolta AF 1.4x APO (D)") }, { 0x90, N_("Minolta AF 1.4x APO II") } }; std::ostream& printMinoltaSonyTeleconverterModel(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(minoltaSonyTeleconverterModel)(os, value, metadata); } // ---------------------------------------------------------------------------------------------------- //! Lookup table to translate Sony/Minolta Std camera settings white balance values to readable labels extern const TagDetails minoltaSonyWhiteBalanceStd[] = { { 0x00, N_("Auto") }, { 0x01, N_("Color Temperature/Color Filter") }, { 0x10, N_("Daylight") }, { 0x20, N_("Cloudy") }, { 0x30, N_("Shade") }, { 0x40, N_("Tungsten") }, { 0x50, N_("Flash") }, { 0x60, N_("Fluorescent") }, { 0x70, N_("Custom") } }; std::ostream& printMinoltaSonyWhiteBalanceStd(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(minoltaSonyWhiteBalanceStd)(os, value, metadata); } //! Lookup table to translate Sony/Minolta zone matching values to readable labels extern const TagDetails minoltaSonyZoneMatching[] = { { 0, N_("ISO Setting Used") }, { 1, N_("High Key") }, { 2, N_("Low Key") } }; std::ostream& printMinoltaSonyZoneMatching(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(minoltaSonyZoneMatching)(os, value, metadata); } std::ostream& printMinoltaSonyFlashExposureComp(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if (value.count() != 1 || value.typeId() != signedRational) { return os << "(" << value << ")"; } os << std::fixed << std::setprecision(2) << value.toFloat(0) << " EV"; os.flags(f); return os; } }} // namespace Internal, Exiv2 exiv2-0.25/src/basicio.cpp0000664000175000017500000026034112541544141015226 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: basicio.cpp Version: $Rev: 3868 $ Author(s): Brad Schick (brad) History: 04-Dec-04, brad: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: basicio.cpp 3868 2015-06-21 14:21:21Z ahuggel $") // included header files #include "config.h" #include "basicio.hpp" #include "futils.hpp" #include "types.hpp" #include "error.hpp" #include "http.hpp" // + standard includes #include #include #include #include #include #include // for remove, rename #include // for alloc, realloc, free #include // for stat, chmod #include // for stat, chmod #ifdef EXV_HAVE_SYS_MMAN_H # include // for mmap and munmap #endif #ifdef EXV_HAVE_PROCESS_H # include #endif #ifdef EXV_HAVE_UNISTD_H # include // for getpid, stat #endif #if EXV_USE_CURL == 1 #include #endif #if EXV_USE_SSH == 1 #include "ssh.hpp" #else #define mode_t unsigned short #endif // Platform specific headers for handling extended attributes (xattr) #if defined(__APPLE__) # include #endif #if defined WIN32 && !defined __CYGWIN__ // Windows doesn't provide nlink_t typedef short nlink_t; # include # include #endif // ***************************************************************************** // class member definitions namespace Exiv2 { BasicIo::~BasicIo() { } //! Internal Pimpl structure of class FileIo. class FileIo::Impl { public: //! Constructor Impl(const std::string& path); #ifdef EXV_UNICODE_PATH //! Constructor accepting a unicode path in an std::wstring Impl(const std::wstring& wpath); #endif // Enumerations //! Mode of operation enum OpMode { opRead, opWrite, opSeek }; #ifdef EXV_UNICODE_PATH //! Used to indicate if the path is stored as a standard or unicode string enum WpMode { wpStandard, wpUnicode }; #endif // DATA std::string path_; //!< (Standard) path #ifdef EXV_UNICODE_PATH std::wstring wpath_; //!< Unicode path WpMode wpMode_; //!< Indicates which path is in use #endif std::string openMode_; //!< File open mode FILE *fp_; //!< File stream pointer OpMode opMode_; //!< File open mode #if defined WIN32 && !defined __CYGWIN__ HANDLE hFile_; //!< Duplicated fd HANDLE hMap_; //!< Handle from CreateFileMapping #endif byte* pMappedArea_; //!< Pointer to the memory-mapped area size_t mappedLength_; //!< Size of the memory-mapped area bool isMalloced_; //!< Is the mapped area allocated? bool isWriteable_; //!< Can the mapped area be written to? // TYPES //! Simple struct stat wrapper for internal use struct StructStat { StructStat() : st_mode(0), st_size(0), st_nlink(0) {} mode_t st_mode; //!< Permissions off_t st_size; //!< Size nlink_t st_nlink; //!< Number of hard links (broken on Windows, see winNumberOfLinks()) }; // #endif // METHODS /*! @brief Switch to a new access mode, reopening the file if needed. Optimized to only reopen the file when it is really necessary. @param opMode The mode to switch to. @return 0 if successful */ int switchMode(OpMode opMode); //! stat wrapper for internal use int stat(StructStat& buf) const; //! copy extended attributes (xattr) from another file void copyXattrFrom(const FileIo& src); #if defined WIN32 && !defined __CYGWIN__ // Windows function to determine the number of hardlinks (on NTFS) DWORD winNumberOfLinks() const; #endif private: // NOT IMPLEMENTED Impl(const Impl& rhs); //!< Copy constructor Impl& operator=(const Impl& rhs); //!< Assignment }; // class FileIo::Impl FileIo::Impl::Impl(const std::string& path) : path_(path), #ifdef EXV_UNICODE_PATH wpMode_(wpStandard), #endif fp_(0), opMode_(opSeek), #if defined WIN32 && !defined __CYGWIN__ hFile_(0), hMap_(0), #endif pMappedArea_(0), mappedLength_(0), isMalloced_(false), isWriteable_(false) { } #ifdef EXV_UNICODE_PATH FileIo::Impl::Impl(const std::wstring& wpath) : wpath_(wpath), wpMode_(wpUnicode), fp_(0), opMode_(opSeek), #if defined WIN32 && !defined __CYGWIN__ hFile_(0), hMap_(0), #endif pMappedArea_(0), mappedLength_(0), isMalloced_(false), isWriteable_(false) { } #endif int FileIo::Impl::switchMode(OpMode opMode) { assert(fp_ != 0); if (opMode_ == opMode) return 0; OpMode oldOpMode = opMode_; opMode_ = opMode; bool reopen = true; switch(opMode) { case opRead: // Flush if current mode allows reading, else reopen (in mode "r+b" // as in this case we know that we can write to the file) if (openMode_[0] == 'r' || openMode_[1] == '+') reopen = false; break; case opWrite: // Flush if current mode allows writing, else reopen if (openMode_[0] != 'r' || openMode_[1] == '+') reopen = false; break; case opSeek: reopen = false; break; } if (!reopen) { // Don't do anything when switching _from_ opSeek mode; we // flush when switching _to_ opSeek. if (oldOpMode == opSeek) return 0; // Flush. On msvcrt fflush does not do the job std::fseek(fp_, 0, SEEK_CUR); return 0; } // Reopen the file long offset = std::ftell(fp_); if (offset == -1) return -1; // 'Manual' open("r+b") to avoid munmap() if (fp_ != 0) { std::fclose(fp_); fp_= 0; } openMode_ = "r+b"; opMode_ = opSeek; #ifdef EXV_UNICODE_PATH if (wpMode_ == wpUnicode) { fp_ = ::_wfopen(wpath_.c_str(), s2ws(openMode_).c_str()); } else #endif { fp_ = std::fopen(path_.c_str(), openMode_.c_str()); } if (!fp_) return 1; return std::fseek(fp_, offset, SEEK_SET); } // FileIo::Impl::switchMode int FileIo::Impl::stat(StructStat& buf) const { int ret = 0; #ifdef EXV_UNICODE_PATH if (wpMode_ == wpUnicode) { struct _stat st; ret = ::_wstat(wpath_.c_str(), &st); if (0 == ret) { buf.st_size = st.st_size; buf.st_mode = st.st_mode; buf.st_nlink = st.st_nlink; } } else #endif { struct stat st; ret = ::stat(path_.c_str(), &st); if (0 == ret) { buf.st_size = st.st_size; buf.st_nlink = st.st_nlink; buf.st_mode = st.st_mode; } } return ret; } // FileIo::Impl::stat #if defined(__APPLE__) void FileIo::Impl::copyXattrFrom(const FileIo& src) #else void FileIo::Impl::copyXattrFrom(const FileIo&) #endif { #if defined(__APPLE__) # if defined(EXV_UNICODE_PATH) # error No xattr API for MacOS X with unicode support # endif const ssize_t namebufSize = ::listxattr(src.p_->path_.c_str(), 0, 0, 0); if (namebufSize < 0) { throw Error(2, src.p_->path_, strError(), "listxattr"); } if (namebufSize == 0) { // No extended attributes in source file return; } char namebuf[namebufSize]; if (::listxattr(src.p_->path_.c_str(), namebuf, sizeof(namebuf), 0) != namebufSize) { throw Error(2, src.p_->path_, strError(), "listxattr"); } for (ssize_t namebufPos = 0; namebufPos < namebufSize;) { const char *name = namebuf + namebufPos; namebufPos += strlen(name) + 1; const ssize_t valueSize = ::getxattr(src.p_->path_.c_str(), name, 0, 0, 0, 0); if (valueSize < 0) { throw Error(2, src.p_->path_, strError(), "getxattr"); } char value[valueSize]; if (::getxattr(src.p_->path_.c_str(), name, value, sizeof(value), 0, 0) != valueSize) { throw Error(2, src.p_->path_, strError(), "getxattr"); } // #906. Mountain Lion 'sandbox' terminates the app when we call setxattr #ifndef __APPLE__ #ifdef DEBUG EXV_DEBUG << "Copying xattr \"" << name << "\" with value size " << valueSize << "\n"; #endif if (::setxattr(path_.c_str(), name, value, valueSize, 0, 0) != 0) { throw Error(2, path_, strError(), "setxattr"); } #endif } #else // No xattr support for this platform. #endif } // FileIo::Impl::copyXattrFrom #if defined WIN32 && !defined __CYGWIN__ DWORD FileIo::Impl::winNumberOfLinks() const { DWORD nlink = 1; HANDLE hFd = (HANDLE)_get_osfhandle(fileno(fp_)); if (hFd != INVALID_HANDLE_VALUE) { typedef BOOL (WINAPI * GetFileInformationByHandle_t)(HANDLE, LPBY_HANDLE_FILE_INFORMATION); HMODULE hKernel = LoadLibraryA("kernel32.dll"); if (hKernel) { GetFileInformationByHandle_t pfcn_GetFileInformationByHandle = (GetFileInformationByHandle_t)GetProcAddress(hKernel, "GetFileInformationByHandle"); if (pfcn_GetFileInformationByHandle) { BY_HANDLE_FILE_INFORMATION fi = {0}; if (pfcn_GetFileInformationByHandle(hFd, &fi)) { nlink = fi.nNumberOfLinks; } #ifdef DEBUG else EXV_DEBUG << "GetFileInformationByHandle failed\n"; #endif } #ifdef DEBUG else EXV_DEBUG << "GetProcAddress(hKernel, \"GetFileInformationByHandle\") failed\n"; #endif FreeLibrary(hKernel); } #ifdef DEBUG else EXV_DEBUG << "LoadLibraryA(\"kernel32.dll\") failed\n"; #endif } #ifdef DEBUG else EXV_DEBUG << "_get_osfhandle failed: INVALID_HANDLE_VALUE\n"; #endif return nlink; } // FileIo::Impl::winNumberOfLinks #endif // defined WIN32 && !defined __CYGWIN__ FileIo::FileIo(const std::string& path) : p_(new Impl(path)) { } #ifdef EXV_UNICODE_PATH FileIo::FileIo(const std::wstring& wpath) : p_(new Impl(wpath)) { } #endif FileIo::~FileIo() { close(); delete p_; } int FileIo::munmap() { int rc = 0; if (p_->pMappedArea_ != 0) { #if defined EXV_HAVE_MMAP && defined EXV_HAVE_MUNMAP if (::munmap(p_->pMappedArea_, p_->mappedLength_) != 0) { rc = 1; } #elif defined WIN32 && !defined __CYGWIN__ UnmapViewOfFile(p_->pMappedArea_); CloseHandle(p_->hMap_); p_->hMap_ = 0; CloseHandle(p_->hFile_); p_->hFile_ = 0; #else if (p_->isWriteable_) { seek(0, BasicIo::beg); write(p_->pMappedArea_, p_->mappedLength_); } if (p_->isMalloced_) { delete[] p_->pMappedArea_; p_->isMalloced_ = false; } #endif } if (p_->isWriteable_) { if (p_->fp_ != 0) p_->switchMode(Impl::opRead); p_->isWriteable_ = false; } p_->pMappedArea_ = 0; p_->mappedLength_ = 0; return rc; } byte* FileIo::mmap(bool isWriteable) { assert(p_->fp_ != 0); if (munmap() != 0) { #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { throw WError(2, wpath(), strError().c_str(), "munmap"); } else #endif { throw Error(2, path(), strError(), "munmap"); } } p_->mappedLength_ = size(); p_->isWriteable_ = isWriteable; if (p_->isWriteable_ && p_->switchMode(Impl::opWrite) != 0) { #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { throw WError(16, wpath(), strError().c_str()); } else #endif { throw Error(16, path(), strError()); } } #if defined EXV_HAVE_MMAP && defined EXV_HAVE_MUNMAP int prot = PROT_READ; if (p_->isWriteable_) { prot |= PROT_WRITE; } void* rc = ::mmap(0, p_->mappedLength_, prot, MAP_SHARED, fileno(p_->fp_), 0); if (MAP_FAILED == rc) { #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { throw WError(2, wpath(), strError().c_str(), "mmap"); } else #endif { throw Error(2, path(), strError(), "mmap"); } } p_->pMappedArea_ = static_cast(rc); #elif defined WIN32 && !defined __CYGWIN__ // Windows implementation // TODO: An attempt to map a file with a length of 0 (zero) fails with // an error code of ERROR_FILE_INVALID. // Applications should test for files with a length of 0 (zero) and // reject those files. DWORD dwAccess = FILE_MAP_READ; DWORD flProtect = PAGE_READONLY; if (isWriteable) { dwAccess = FILE_MAP_WRITE; flProtect = PAGE_READWRITE; } HANDLE hPh = GetCurrentProcess(); HANDLE hFd = (HANDLE)_get_osfhandle(fileno(p_->fp_)); if (hFd == INVALID_HANDLE_VALUE) { #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { throw WError(2, wpath(), "MSG1", "_get_osfhandle"); } else #endif { throw Error(2, path(), "MSG1", "_get_osfhandle"); } } if (!DuplicateHandle(hPh, hFd, hPh, &p_->hFile_, 0, false, DUPLICATE_SAME_ACCESS)) { #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { throw WError(2, wpath(), "MSG2", "DuplicateHandle"); } else #endif { throw Error(2, path(), "MSG2", "DuplicateHandle"); } } p_->hMap_ = CreateFileMapping(p_->hFile_, 0, flProtect, 0, (DWORD) p_->mappedLength_, 0); if (p_->hMap_ == 0 ) { #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { throw WError(2, wpath(), "MSG3", "CreateFileMapping"); } else #endif { throw Error(2, path(), "MSG3", "CreateFileMapping"); } } void* rc = MapViewOfFile(p_->hMap_, dwAccess, 0, 0, 0); if (rc == 0) { #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { throw WError(2, wpath(), "MSG4", "CreateFileMapping"); } else #endif { throw Error(2, path(), "MSG4", "CreateFileMapping"); } } p_->pMappedArea_ = static_cast(rc); #else // Workaround for platforms without mmap: Read the file into memory DataBuf buf(static_cast(p_->mappedLength_)); if (read(buf.pData_, buf.size_) != buf.size_) { #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { throw WError(2, wpath(), strError().c_str(), "FileIo::read"); } else #endif { throw Error(2, path(), strError(), "FileIo::read"); } } if (error() || eof()) { #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { throw WError(2, wpath(), strError().c_str(), "FileIo::mmap"); } else #endif { throw Error(2, path(), strError(), "FileIo::mmap"); } } p_->pMappedArea_ = buf.release().first; p_->isMalloced_ = true; #endif return p_->pMappedArea_; } void FileIo::setPath(const std::string& path) { close(); #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { std::wstring wpath; wpath.assign(path.begin(), path.end()); p_->wpath_ = wpath; } p_->path_ = path; #else p_->path_ = path; #endif } #ifdef EXV_UNICODE_PATH void FileIo::setPath(const std::wstring& wpath) { close(); if (p_->wpMode_ == Impl::wpStandard) { std::string path; path.assign(wpath.begin(), wpath.end()); p_->path_ = path; } else { p_->wpath_ = wpath; } } #endif BasicIo::AutoPtr FileIo::temporary() const { BasicIo::AutoPtr basicIo; Impl::StructStat buf; int ret = p_->stat(buf); #if defined WIN32 && !defined __CYGWIN__ DWORD nlink = p_->winNumberOfLinks(); #else nlink_t nlink = buf.st_nlink; #endif // If file is > 1MB and doesn't have hard links then use a file, otherwise // use a memory buffer. I.e., files with hard links always use a memory // buffer, which is a workaround to ensure that the links don't get broken. if (ret != 0 || (buf.st_size > 1048576 && nlink == 1)) { pid_t pid = ::getpid(); std::auto_ptr fileIo; #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { std::wstring tmpname = wpath() + s2ws(toString(pid)); fileIo = std::auto_ptr(new FileIo(tmpname)); } else #endif { std::string tmpname = path() + toString(pid); fileIo = std::auto_ptr(new FileIo(tmpname)); } if (fileIo->open("w+b") != 0) { #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { throw WError(10, wpath(), "w+b", strError().c_str()); } else #endif { throw Error(10, path(), "w+b", strError()); } } fileIo->p_->copyXattrFrom(*this); basicIo = fileIo; } else { basicIo.reset(new MemIo); } return basicIo; } long FileIo::write(const byte* data, long wcount) { assert(p_->fp_ != 0); if (p_->switchMode(Impl::opWrite) != 0) return 0; return (long)std::fwrite(data, 1, wcount, p_->fp_); } long FileIo::write(BasicIo& src) { assert(p_->fp_ != 0); if (static_cast(this) == &src) return 0; if (!src.isopen()) return 0; if (p_->switchMode(Impl::opWrite) != 0) return 0; byte buf[4096]; long readCount = 0; long writeCount = 0; long writeTotal = 0; while ((readCount = src.read(buf, sizeof(buf)))) { writeTotal += writeCount = (long)std::fwrite(buf, 1, readCount, p_->fp_); if (writeCount != readCount) { // try to reset back to where write stopped src.seek(writeCount-readCount, BasicIo::cur); break; } } return writeTotal; } void FileIo::transfer(BasicIo& src) { const bool wasOpen = (p_->fp_ != 0); const std::string lastMode(p_->openMode_); FileIo *fileIo = dynamic_cast(&src); if (fileIo) { // Optimization if src is another instance of FileIo fileIo->close(); // Check if the file can be written to, if it already exists if (open("a+b") != 0) { // Remove the (temporary) file #ifdef EXV_UNICODE_PATH if (fileIo->p_->wpMode_ == Impl::wpUnicode) { ::_wremove(fileIo->wpath().c_str()); } else #endif { ::remove(fileIo->path().c_str()); } #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { throw WError(10, wpath(), "a+b", strError().c_str()); } else #endif { throw Error(10, path(), "a+b", strError()); } } close(); bool statOk = true; mode_t origStMode = 0; std::string spf; char* pf = 0; #ifdef EXV_UNICODE_PATH std::wstring wspf; wchar_t* wpf = 0; if (p_->wpMode_ == Impl::wpUnicode) { wspf = wpath(); wpf = const_cast(wspf.c_str()); } else #endif { spf = path(); pf = const_cast(spf.c_str()); } // Get the permissions of the file, or linked-to file, on platforms which have lstat #ifdef EXV_HAVE_LSTAT # ifdef EXV_UNICODE_PATH # error EXV_UNICODE_PATH and EXV_HAVE_LSTAT are not compatible. Stop. # endif struct stat buf1; if (::lstat(pf, &buf1) == -1) { statOk = false; #ifndef SUPPRESS_WARNINGS EXV_WARNING << Error(2, pf, strError(), "::lstat") << "\n"; #endif } origStMode = buf1.st_mode; DataBuf lbuf; // So that the allocated memory is freed. Must have same scope as pf // In case path() is a symlink, get the path of the linked-to file if (statOk && S_ISLNK(buf1.st_mode)) { lbuf.alloc(buf1.st_size + 1); memset(lbuf.pData_, 0x0, lbuf.size_); pf = reinterpret_cast(lbuf.pData_); if (::readlink(path().c_str(), pf, lbuf.size_ - 1) == -1) { throw Error(2, path(), strError(), "readlink"); } // We need the permissions of the file, not the symlink if (::stat(pf, &buf1) == -1) { statOk = false; #ifndef SUPPRESS_WARNINGS EXV_WARNING << Error(2, pf, strError(), "::stat") << "\n"; #endif } origStMode = buf1.st_mode; } #else // EXV_HAVE_LSTAT Impl::StructStat buf1; if (p_->stat(buf1) == -1) { statOk = false; } origStMode = buf1.st_mode; #endif // !EXV_HAVE_LSTAT // MSVCRT rename that does not overwrite existing files #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { #if defined(WIN32) && defined(REPLACEFILE_IGNORE_MERGE_ERRORS) // Windows implementation that deals with the fact that ::rename fails // if the target filename still exists, which regularly happens when // that file has been opened with FILE_SHARE_DELETE by another process, // like a virus scanner or disk indexer // (see also http://stackoverflow.com/a/11023068) typedef BOOL (WINAPI * ReplaceFileW_t)(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPVOID, LPVOID); HMODULE hKernel = LoadLibraryA("kernel32.dll"); if (hKernel) { ReplaceFileW_t pfcn_ReplaceFileW = (ReplaceFileW_t)GetProcAddress(hKernel, "ReplaceFileW"); if (pfcn_ReplaceFileW) { BOOL ret = pfcn_ReplaceFileW(wpf, fileIo->wpath().c_str(), NULL, REPLACEFILE_IGNORE_MERGE_ERRORS, NULL, NULL); FreeLibrary(hKernel); if (ret == 0) { if (GetLastError() == ERROR_FILE_NOT_FOUND) { if (::_wrename(fileIo->wpath().c_str(), wpf) == -1) { throw WError(17, fileIo->wpath(), wpf, strError().c_str()); } ::_wremove(fileIo->wpath().c_str()); } else { throw WError(17, fileIo->wpath(), wpf, strError().c_str()); } } } else { FreeLibrary(hKernel); if (fileExists(wpf) && ::_wremove(wpf) != 0) { throw WError(2, wpf, strError().c_str(), "::_wremove"); } if (::_wrename(fileIo->wpath().c_str(), wpf) == -1) { throw WError(17, fileIo->wpath(), wpf, strError().c_str()); } ::_wremove(fileIo->wpath().c_str()); } } #else if (fileExists(wpf) && ::_wremove(wpf) != 0) { throw WError(2, wpf, strError().c_str(), "::_wremove"); } if (::_wrename(fileIo->wpath().c_str(), wpf) == -1) { throw WError(17, fileIo->wpath(), wpf, strError().c_str()); } ::_wremove(fileIo->wpath().c_str()); #endif // Check permissions of new file struct _stat buf2; if (statOk && ::_wstat(wpf, &buf2) == -1) { statOk = false; #ifndef SUPPRESS_WARNINGS EXV_WARNING << Error(2, wpf, strError(), "::_wstat") << "\n"; #endif } if (statOk && origStMode != buf2.st_mode) { // Set original file permissions if (::_wchmod(wpf, origStMode) == -1) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << Error(2, wpf, strError(), "::_wchmod") << "\n"; #endif } } } // if (p_->wpMode_ == Impl::wpUnicode) else #endif // EXV_UNICODE_PATH { #if defined(WIN32) && defined(REPLACEFILE_IGNORE_MERGE_ERRORS) // Windows implementation that deals with the fact that ::rename fails // if the target filename still exists, which regularly happens when // that file has been opened with FILE_SHARE_DELETE by another process, // like a virus scanner or disk indexer // (see also http://stackoverflow.com/a/11023068) typedef BOOL (WINAPI * ReplaceFileA_t)(LPCSTR, LPCSTR, LPCSTR, DWORD, LPVOID, LPVOID); HMODULE hKernel = LoadLibraryA("kernel32.dll"); if (hKernel) { ReplaceFileA_t pfcn_ReplaceFileA = (ReplaceFileA_t)GetProcAddress(hKernel, "ReplaceFileA"); if (pfcn_ReplaceFileA) { BOOL ret = pfcn_ReplaceFileA(pf, fileIo->path().c_str(), NULL, REPLACEFILE_IGNORE_MERGE_ERRORS, NULL, NULL); FreeLibrary(hKernel); if (ret == 0) { if (GetLastError() == ERROR_FILE_NOT_FOUND) { if (::rename(fileIo->path().c_str(), pf) == -1) { throw Error(17, fileIo->path(), pf, strError()); } ::remove(fileIo->path().c_str()); } else { throw Error(17, fileIo->path(), pf, strError()); } } } else { FreeLibrary(hKernel); if (fileExists(pf) && ::remove(pf) != 0) { throw Error(2, pf, strError(), "::remove"); } if (::rename(fileIo->path().c_str(), pf) == -1) { throw Error(17, fileIo->path(), pf, strError()); } ::remove(fileIo->path().c_str()); } } #else if (fileExists(pf) && ::remove(pf) != 0) { throw Error(2, pf, strError(), "::remove"); } if (::rename(fileIo->path().c_str(), pf) == -1) { throw Error(17, fileIo->path(), pf, strError()); } ::remove(fileIo->path().c_str()); #endif // Check permissions of new file struct stat buf2; if (statOk && ::stat(pf, &buf2) == -1) { statOk = false; #ifndef SUPPRESS_WARNINGS EXV_WARNING << Error(2, pf, strError(), "::stat") << "\n"; #endif } if (statOk && origStMode != buf2.st_mode) { // Set original file permissions if (::chmod(pf, origStMode) == -1) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << Error(2, pf, strError(), "::chmod") << "\n"; #endif } } } } // if (fileIo) else { // Generic handling, reopen both to reset to start if (open("w+b") != 0) { #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { throw WError(10, wpath(), "w+b", strError().c_str()); } else #endif { throw Error(10, path(), "w+b", strError()); } } if (src.open() != 0) { #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { throw WError(9, src.wpath(), strError().c_str()); } else #endif { throw Error(9, src.path(), strError()); } } write(src); src.close(); } if (wasOpen) { if (open(lastMode) != 0) { #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { throw WError(10, wpath(), lastMode.c_str(), strError().c_str()); } else #endif { throw Error(10, path(), lastMode, strError()); } } } else close(); if (error() || src.error()) { #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { throw WError(18, wpath(), strError().c_str()); } else #endif { throw Error(18, path(), strError()); } } } // FileIo::transfer int FileIo::putb(byte data) { assert(p_->fp_ != 0); if (p_->switchMode(Impl::opWrite) != 0) return EOF; return putc(data, p_->fp_); } #if defined(_MSC_VER) int FileIo::seek( int64_t offset, Position pos ) { assert(p_->fp_ != 0); int fileSeek = 0; switch (pos) { case BasicIo::cur: fileSeek = SEEK_CUR; break; case BasicIo::beg: fileSeek = SEEK_SET; break; case BasicIo::end: fileSeek = SEEK_END; break; } if (p_->switchMode(Impl::opSeek) != 0) return 1; #ifdef _WIN64 return _fseeki64(p_->fp_, offset, fileSeek); #else return std::fseek(p_->fp_,static_cast(offset), fileSeek); #endif } #else int FileIo::seek(long offset, Position pos) { assert(p_->fp_ != 0); int fileSeek = 0; switch (pos) { case BasicIo::cur: fileSeek = SEEK_CUR; break; case BasicIo::beg: fileSeek = SEEK_SET; break; case BasicIo::end: fileSeek = SEEK_END; break; } if (p_->switchMode(Impl::opSeek) != 0) return 1; return std::fseek(p_->fp_, offset, fileSeek); } #endif long FileIo::tell() const { assert(p_->fp_ != 0); return std::ftell(p_->fp_); } long FileIo::size() const { // Flush and commit only if the file is open for writing if (p_->fp_ != 0 && (p_->openMode_[0] != 'r' || p_->openMode_[1] == '+')) { std::fflush(p_->fp_); #if defined WIN32 && !defined __CYGWIN__ // This is required on msvcrt before stat after writing to a file _commit(_fileno(p_->fp_)); #endif } Impl::StructStat buf; int ret = p_->stat(buf); if (ret != 0) return -1; return buf.st_size; } int FileIo::open() { // Default open is in read-only binary mode return open("rb"); } int FileIo::open(const std::string& mode) { close(); p_->openMode_ = mode; p_->opMode_ = Impl::opSeek; #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { p_->fp_ = ::_wfopen(wpath().c_str(), s2ws(mode).c_str()); } else #endif { p_->fp_ = ::fopen(path().c_str(), mode.c_str()); } if (!p_->fp_) return 1; return 0; } bool FileIo::isopen() const { return p_->fp_ != 0; } int FileIo::close() { int rc = 0; if (munmap() != 0) rc = 2; if (p_->fp_ != 0) { if (std::fclose(p_->fp_) != 0) rc |= 1; p_->fp_= 0; } return rc; } DataBuf FileIo::read(long rcount) { assert(p_->fp_ != 0); DataBuf buf(rcount); long readCount = read(buf.pData_, buf.size_); buf.size_ = readCount; return buf; } long FileIo::read(byte* buf, long rcount) { assert(p_->fp_ != 0); if (p_->switchMode(Impl::opRead) != 0) return 0; return (long)std::fread(buf, 1, rcount, p_->fp_); } int FileIo::getb() { assert(p_->fp_ != 0); if (p_->switchMode(Impl::opRead) != 0) return EOF; return getc(p_->fp_); } int FileIo::error() const { return p_->fp_ != 0 ? ferror(p_->fp_) : 0; } bool FileIo::eof() const { assert(p_->fp_ != 0); return feof(p_->fp_) != 0; } std::string FileIo::path() const { #ifdef EXV_UNICODE_PATH if (p_->wpMode_ == Impl::wpUnicode) { return ws2s(p_->wpath_); } #endif return p_->path_; } #ifdef EXV_UNICODE_PATH std::wstring FileIo::wpath() const { if (p_->wpMode_ == Impl::wpStandard) { return s2ws(p_->path_); } return p_->wpath_; } #endif void FileIo::populateFakeData() { } //! Internal Pimpl structure of class MemIo. class MemIo::Impl { public: Impl(); //!< Default constructor Impl(const byte* data, long size); //!< Constructor 2 // DATA byte* data_; //!< Pointer to the start of the memory area long idx_; //!< Index into the memory area long size_; //!< Size of the memory area long sizeAlloced_; //!< Size of the allocated buffer bool isMalloced_; //!< Was the buffer allocated? bool eof_; //!< EOF indicator // METHODS void reserve(long wcount); //!< Reserve memory private: // NOT IMPLEMENTED Impl(const Impl& rhs); //!< Copy constructor Impl& operator=(const Impl& rhs); //!< Assignment }; // class MemIo::Impl MemIo::Impl::Impl() : data_(0), idx_(0), size_(0), sizeAlloced_(0), isMalloced_(false), eof_(false) { } MemIo::Impl::Impl(const byte* data, long size) : data_(const_cast(data)), idx_(0), size_(size), sizeAlloced_(0), isMalloced_(false), eof_(false) { } void MemIo::Impl::reserve(long wcount) { long need = wcount + idx_; if (!isMalloced_) { // Minimum size for 1st block is 32kB long size = EXV_MAX(32768 * (1 + need / 32768), size_); byte* data = (byte*)std::malloc(size); std::memcpy(data, data_, size_); data_ = data; sizeAlloced_ = size; isMalloced_ = true; } if (need > size_) { if (need > sizeAlloced_) { // Allocate in blocks of 32kB long want = 32768 * (1 + need / 32768); data_ = (byte*)std::realloc(data_, want); sizeAlloced_ = want; isMalloced_ = true; } size_ = need; } } MemIo::MemIo() : p_(new Impl()) { } MemIo::MemIo(const byte* data, long size) : p_(new Impl(data, size)) { } MemIo::~MemIo() { if (p_->isMalloced_) { msync(); std::free(p_->data_); } delete p_; } BasicIo::AutoPtr MemIo::temporary() const { return BasicIo::AutoPtr(new MemIo); } long MemIo::write(const byte* data, long wcount) { p_->reserve(wcount); assert(p_->isMalloced_); std::memcpy(&p_->data_[p_->idx_], data, wcount); p_->idx_ += wcount; return wcount; } void MemIo::transfer(BasicIo& src) { MemIo *memIo = dynamic_cast(&src); if (memIo) { // Optimization if src is another instance of MemIo if (p_->isMalloced_) { msync(); std::free(p_->data_); } p_->idx_ = 0; p_->data_ = memIo->p_->data_; p_->size_ = memIo->p_->size_; p_->isMalloced_ = memIo->p_->isMalloced_; memIo->p_->idx_ = 0; memIo->p_->data_ = 0; memIo->p_->size_ = 0; memIo->p_->isMalloced_ = false; } else { // Generic reopen to reset position to start if (src.open() != 0) { throw Error(9, src.path(), strError()); } p_->idx_ = 0; write(src); src.close(); } if (error() || src.error()) throw Error(19, strError()); } long MemIo::write(BasicIo& src) { if (static_cast(this) == &src) return 0; if (!src.isopen()) return 0; byte buf[4096]; long readCount = 0; long writeTotal = 0; while ((readCount = src.read(buf, sizeof(buf)))) { write(buf, readCount); writeTotal += readCount; } return writeTotal; } int MemIo::putb(byte data) { p_->reserve(1); assert(p_->isMalloced_); p_->data_[p_->idx_++] = data; return data; } #if defined(_MSC_VER) int MemIo::seek( int64_t offset, Position pos ) { uint64_t newIdx = 0; switch (pos) { case BasicIo::cur: newIdx = p_->idx_ + offset; break; case BasicIo::beg: newIdx = offset; break; case BasicIo::end: newIdx = p_->size_ + offset; break; } p_->idx_ = static_cast(newIdx); //not very sure about this. need more test!! - note by Shawn fly2xj@gmail.com //TODO p_->eof_ = false; return 0; } #else int MemIo::seek(long offset, Position pos) { long newIdx = 0; switch (pos) { case BasicIo::cur: newIdx = p_->idx_ + offset; break; case BasicIo::beg: newIdx = offset; break; case BasicIo::end: newIdx = p_->size_ + offset; break; } if (newIdx < 0) return 1; p_->idx_ = newIdx; p_->eof_ = false; return 0; } #endif byte* MemIo::mmap(bool /*isWriteable*/) { return p_->data_; } int MemIo::munmap() { return msync(); } int MemIo::msync() { #ifdef MS_SYNC return ::msync(p_, p_->size_, MS_SYNC); #else return 0; #endif } long MemIo::tell() const { return p_->idx_; } long MemIo::size() const { return p_->size_; } int MemIo::open() { p_->idx_ = 0; p_->eof_ = false; return 0; } bool MemIo::isopen() const { return true; } int MemIo::close() { return 0; } DataBuf MemIo::read(long rcount) { DataBuf buf(rcount); long readCount = read(buf.pData_, buf.size_); buf.size_ = readCount; return buf; } long MemIo::read(byte* buf, long rcount) { long avail = EXV_MAX(p_->size_ - p_->idx_, 0); long allow = EXV_MIN(rcount, avail); std::memcpy(buf, &p_->data_[p_->idx_], allow); p_->idx_ += allow; if (rcount > avail) p_->eof_ = true; return allow; } int MemIo::getb() { if (p_->idx_ >= p_->size_) { p_->eof_ = true; return EOF; } return p_->data_[p_->idx_++]; } int MemIo::error() const { return 0; } bool MemIo::eof() const { return p_->eof_; } std::string MemIo::path() const { return "MemIo"; } #ifdef EXV_UNICODE_PATH std::wstring MemIo::wpath() const { return EXV_WIDEN("MemIo"); } #endif void MemIo::populateFakeData() { } #if EXV_XPATH_MEMIO XPathIo::XPathIo(const std::string& path) { Protocol prot = fileProtocol(path); if (prot == pStdin) ReadStdin(); else if (prot == pDataUri) ReadDataUri(path); } #ifdef EXV_UNICODE_PATH XPathIo::XPathIo(const std::wstring& wpath) { std::string path; path.assign(wpath.begin(), wpath.end()); Protocol prot = fileProtocol(path); if (prot == pStdin) ReadStdin(); else if (prot == pDataUri) ReadDataUri(path); } #endif void XPathIo::ReadStdin() { if (isatty(fileno(stdin))) throw Error(53); #ifdef _O_BINARY // convert stdin to binary if (_setmode(_fileno(stdin), _O_BINARY) == -1) throw Error(54); #endif char readBuf[100*1024]; std::streamsize readBufSize = 0; do { std::cin.read(readBuf, sizeof(readBuf)); readBufSize = std::cin.gcount(); if (readBufSize > 0) { write((byte*)readBuf, (long)readBufSize); } } while(readBufSize); } void XPathIo::ReadDataUri(const std::string& path) { size_t base64Pos = path.find("base64,"); if (base64Pos == std::string::npos) throw Error(1, "No base64 data"); std::string data = path.substr(base64Pos+7); char* decodeData = new char[data.length()]; long size = base64decode(data.c_str(), decodeData, data.length()); if (size > 0) write((byte*)decodeData, size); else throw Error(1, "Unable to decode base 64."); delete[] decodeData; } #else const std::string XPathIo::TEMP_FILE_EXT = ".exiv2_temp"; const std::string XPathIo::GEN_FILE_EXT = ".exiv2"; XPathIo::XPathIo(const std::string& orgPath) : FileIo(XPathIo::writeDataToFile(orgPath)) { isTemp_ = true; tempFilePath_ = path(); } #ifdef EXV_UNICODE_PATH XPathIo::XPathIo(const std::wstring& wOrgPathpath) : FileIo(XPathIo::writeDataToFile(wOrgPathpath)) { isTemp_ = true; tempFilePath_ = path(); } #endif XPathIo::~XPathIo() { if (isTemp_ && remove(tempFilePath_.c_str()) != 0) { // error when removing file // printf ("Warning: Unable to remove the temp file %s.\n", tempFilePath_.c_str()); } } void XPathIo::transfer(BasicIo& src) { if (isTemp_) { // replace temp path to gent path. std::string currentPath = path(); setPath(ReplaceStringInPlace(currentPath, XPathIo::TEMP_FILE_EXT, XPathIo::GEN_FILE_EXT)); // rename the file tempFilePath_ = path(); if (rename(currentPath.c_str(), tempFilePath_.c_str()) != 0) { // printf("Warning: Failed to rename the temp file. \n"); } isTemp_ = false; // call super class method FileIo::transfer(src); } } std::string XPathIo::writeDataToFile(const std::string& orgPath) { Protocol prot = fileProtocol(orgPath); // generating the name for temp file. std::time_t timestamp = std::time(NULL); std::stringstream ss; ss << timestamp << XPathIo::TEMP_FILE_EXT; std::string path = ss.str(); std::ofstream fs(path.c_str(), std::ios::out | std::ios::binary | std::ios::trunc); if (prot == pStdin) { if (isatty(fileno(stdin))) throw Error(53); #ifdef _MSC_VER // convert stdin to binary if (_setmode(_fileno(stdin), _O_BINARY) == -1) throw Error(54); #endif // read stdin and write to the temp file. char readBuf[100*1024]; std::streamsize readBufSize = 0; do { std::cin.read(readBuf, sizeof(readBuf)); readBufSize = std::cin.gcount(); if (readBufSize > 0) { fs.write (readBuf, readBufSize); } } while(readBufSize); } else if (prot == pDataUri) { // read data uri and write to the temp file. size_t base64Pos = orgPath.find("base64,"); if (base64Pos == std::string::npos) throw Error(1, "No base64 data"); std::string data = orgPath.substr(base64Pos+7); char* decodeData = new char[data.length()]; long size = base64decode(data.c_str(), decodeData, data.length()); if (size > 0) fs.write(decodeData, size); else throw Error(1, "Unable to decode base 64."); delete[] decodeData; } fs.close(); return path; } #ifdef EXV_UNICODE_PATH std::string XPathIo::writeDataToFile(const std::wstring& wOrgPath) { std::string orgPath; orgPath.assign(wOrgPath.begin(), wOrgPath.end()); return XPathIo::writeDataToFile(orgPath); } #endif #endif //! Internal Pimpl abstract structure of class RemoteIo. class RemoteIo::Impl { public: //! Constructor Impl(const std::string& path, size_t blockSize); #ifdef EXV_UNICODE_PATH //! Constructor accepting a unicode path in an std::wstring Impl(const std::wstring& wpath, size_t blockSize); #endif //! Destructor. Releases all managed memory. virtual ~Impl(); // DATA std::string path_; //!< (Standard) path #ifdef EXV_UNICODE_PATH std::wstring wpath_; //!< Unicode path #endif size_t blockSize_; //!< Size of the block memory. BlockMap* blocksMap_; //!< An array contains all blocksMap size_t size_; //!< The file size long idx_; //!< Index into the memory area bool isMalloced_; //!< Was the blocksMap_ allocated? bool eof_; //!< EOF indicator Protocol protocol_; //!< the protocol of url // METHODS /*! @brief Get the length (in bytes) of the remote file. @return Return -1 if the size is unknown. Otherwise it returns the length of remote file (in bytes). @throw Error if the server returns the error code. */ virtual long getFileLength() = 0; /*! @brief Get the data by range. @param lowBlock The start block index. @param highBlock The end block index. @param response The data from the server. @throw Error if the server returns the error code. @note Set lowBlock = -1 and highBlock = -1 to get the whole file content. */ virtual void getDataByRange(long lowBlock, long highBlock, std::string& response) = 0; /*! @brief Submit the data to the remote machine. The data replace a part of the remote file. The replaced part of remote file is indicated by from and to parameters. @param data The data are submitted to the remote machine. @param size The size of data. @param from The start position in the remote file where the data replace. @param to The end position in the remote file where the data replace. @note The write access is available on some protocols. HTTP and HTTPS require the script file on the remote machine to handle the data. SSH requires the permission to edit the file. @throw Error if it fails. */ virtual void writeRemote(const byte* data, size_t size, long from, long to) = 0; /*! @brief Get the data from the remote machine and write them to the memory blocks. @param lowBlock The start block index. @param highBlock The end block index. @return Number of bytes written to the memory block successfully @throw Error if it fails. */ virtual size_t populateBlocks(size_t lowBlock, size_t highBlock); }; // class RemoteIo::Impl RemoteIo::Impl::Impl(const std::string& url, size_t blockSize) : path_(url), blockSize_(blockSize), blocksMap_(0), size_(0), idx_(0), isMalloced_(false), eof_(false), protocol_(fileProtocol(url)) { } #ifdef EXV_UNICODE_PATH RemoteIo::Impl::Impl(const std::wstring& wurl, size_t blockSize) : wpath_(wurl), blockSize_(blockSize), blocksMap_(0), size_(0), idx_(0), isMalloced_(false), eof_(false), protocol_(fileProtocol(wurl)) { } #endif size_t RemoteIo::Impl::populateBlocks(size_t lowBlock, size_t highBlock) { assert(isMalloced_); // optimize: ignore all true blocks on left & right sides. while(!blocksMap_[lowBlock].isNone() && lowBlock < highBlock) lowBlock++; while(!blocksMap_[highBlock].isNone() && highBlock > lowBlock) highBlock--; size_t rcount = 0; if (blocksMap_[highBlock].isNone()) { std::string data; getDataByRange( (long) lowBlock, (long) highBlock, data); rcount = (size_t)data.length(); if (rcount == 0) { throw Error(1, "Data By Range is empty. Please check the permission."); } byte* source = (byte*)data.c_str(); size_t remain = rcount, totalRead = 0; size_t iBlock = (rcount == size_) ? 0 : lowBlock; while (remain) { size_t allow = EXV_MIN(remain, blockSize_); blocksMap_[iBlock].populate(&source[totalRead], allow); remain -= allow; totalRead += allow; iBlock++; } } return rcount; } RemoteIo::Impl::~Impl() { if (blocksMap_) delete[] blocksMap_; } RemoteIo::~RemoteIo() { if (p_) { close(); delete p_; } } int RemoteIo::open() { close(); // reset the IO position if (p_->isMalloced_ == false) { long length = p_->getFileLength(); if (length < 0) { // unable to get the length of remote file, get the whole file content. std::string data; p_->getDataByRange(-1, -1, data); p_->size_ = (size_t) data.length(); size_t nBlocks = (p_->size_ + p_->blockSize_ - 1) / p_->blockSize_; p_->blocksMap_ = new BlockMap[nBlocks]; p_->isMalloced_ = true; byte* source = (byte*)data.c_str(); size_t remain = p_->size_, iBlock = 0, totalRead = 0; while (remain) { size_t allow = EXV_MIN(remain, p_->blockSize_); p_->blocksMap_[iBlock].populate(&source[totalRead], allow); remain -= allow; totalRead += allow; iBlock++; } } else if (length == 0) { // file is empty throw Error(1, "the file length is 0"); } else { p_->size_ = (size_t) length; size_t nBlocks = (p_->size_ + p_->blockSize_ - 1) / p_->blockSize_; p_->blocksMap_ = new BlockMap[nBlocks]; p_->isMalloced_ = true; } } return 0; // means OK } int RemoteIo::close() { if (p_->isMalloced_) { p_->eof_ = false; p_->idx_ = 0; } return 0; } long RemoteIo::write(const byte* /* unused data*/, long /* unused wcount*/) { return 0; // means failure } long RemoteIo::write(BasicIo& src) { assert(p_->isMalloced_); if (!src.isopen()) return 0; /* * The idea is to compare the file content, find the different bytes and submit them to the remote machine. * To simplify it, it: * + goes from the left, find the first different position -> $left * + goes from the right, find the first different position -> $right * The different bytes are [$left-$right] part. */ long left = 0; long right = 0; long blockIndex = 0; long i = 0; long readCount = 0; long blockSize = 0; byte* buf = (byte*) std::malloc(p_->blockSize_); long nBlocks = (long)((p_->size_ + p_->blockSize_ - 1) / p_->blockSize_); // find $left src.seek(0, BasicIo::beg); bool findDiff = false; while (blockIndex < nBlocks && !src.eof() && !findDiff) { blockSize = (long)p_->blocksMap_[blockIndex].getSize(); bool isFakeData = p_->blocksMap_[blockIndex].isKnown(); // fake data readCount = src.read(buf, blockSize); byte* blockData = p_->blocksMap_[blockIndex].getData(); for (i = 0; (i < readCount) && (i < blockSize) && !findDiff; i++) { if ((!isFakeData && buf[i] != blockData[i]) || (isFakeData && buf[i] != 0)) { findDiff = true; } else { left++; } } blockIndex++; } // find $right findDiff = false; blockIndex = nBlocks - 1; blockSize = (long)p_->blocksMap_[blockIndex].getSize(); while ((blockIndex + 1 > 0) && right < src.size() && !findDiff) { if(src.seek(-1 * (blockSize + right), BasicIo::end)) { findDiff = true; } else { bool isFakeData = p_->blocksMap_[blockIndex].isKnown(); // fake data readCount = src.read(buf, blockSize); byte* blockData = p_->blocksMap_[blockIndex].getData(); for (i = 0; (i < readCount) && (i < blockSize) && !findDiff; i++) { if ((!isFakeData && buf[readCount - i - 1] != blockData[blockSize - i - 1]) || (isFakeData && buf[readCount - i - 1] != 0)) { findDiff = true; } else { right++; } } } blockIndex--; blockSize = (long)p_->blocksMap_[blockIndex].getSize(); } // free buf if (buf) std::free(buf); // submit to the remote machine. long dataSize = src.size() - left - right; if (dataSize > 0) { byte* data = (byte*) std::malloc(dataSize); src.seek(left, BasicIo::beg); src.read(data, dataSize); p_->writeRemote(data, (size_t)dataSize, left, (long) p_->size_ - right); if (data) std::free(data); } return src.size(); } int RemoteIo::putb(byte /*unused data*/) { return 0; } DataBuf RemoteIo::read(long rcount) { DataBuf buf(rcount); long readCount = read(buf.pData_, buf.size_); buf.size_ = readCount; return buf; } long RemoteIo::read(byte* buf, long rcount) { assert(p_->isMalloced_); if (p_->eof_) return 0; size_t allow = EXV_MIN(rcount, (long)( p_->size_ - p_->idx_)); size_t lowBlock = p_->idx_ /p_->blockSize_; size_t highBlock = (p_->idx_ + allow)/p_->blockSize_; // connect to the remote machine & populate the blocks just in time. p_->populateBlocks(lowBlock, highBlock); byte* fakeData = (byte*) std::calloc(p_->blockSize_, sizeof(byte)); if (!fakeData) { throw Error(1, "Unable to allocate data"); } size_t iBlock = lowBlock; size_t startPos = p_->idx_ - lowBlock*p_->blockSize_; size_t totalRead = 0; do { byte* data = p_->blocksMap_[iBlock++].getData(); if (data == NULL) data = fakeData; size_t blockR = EXV_MIN(allow, p_->blockSize_ - startPos); std::memcpy(&buf[totalRead], &data[startPos], blockR); totalRead += blockR; startPos = 0; allow -= blockR; } while(allow); if (fakeData) std::free(fakeData); p_->idx_ += (long) totalRead; p_->eof_ = (p_->idx_ == (long) p_->size_); return (long) totalRead; } int RemoteIo::getb() { assert(p_->isMalloced_); if (p_->idx_ == (long)p_->size_) { p_->eof_ = true; return EOF; } size_t expectedBlock = (p_->idx_ + 1)/p_->blockSize_; // connect to the remote machine & populate the blocks just in time. p_->populateBlocks(expectedBlock, expectedBlock); byte* data = p_->blocksMap_[expectedBlock].getData(); return data[p_->idx_++ - expectedBlock*p_->blockSize_]; } void RemoteIo::transfer(BasicIo& src) { if (src.open() != 0) { throw Error(1, "unable to open src when transferring"); } write(src); src.close(); } #if defined(_MSC_VER) int RemoteIo::seek( int64_t offset, Position pos ) { assert(p_->isMalloced_); uint64_t newIdx = 0; switch (pos) { case BasicIo::cur: newIdx = p_->idx_ + offset; break; case BasicIo::beg: newIdx = offset; break; case BasicIo::end: newIdx = p_->size_ + offset; break; } if ( /*newIdx < 0 || */ newIdx > static_cast(p_->size_) ) return 1; p_->idx_ = static_cast(newIdx); //not very sure about this. need more test!! - note by Shawn fly2xj@gmail.com //TODO p_->eof_ = false; return 0; } #else int RemoteIo::seek(long offset, Position pos) { assert(p_->isMalloced_); long newIdx = 0; switch (pos) { case BasicIo::cur: newIdx = p_->idx_ + offset; break; case BasicIo::beg: newIdx = offset; break; case BasicIo::end: newIdx = p_->size_ + offset; break; } if (newIdx < 0 || newIdx > (long) p_->size_) return 1; p_->idx_ = newIdx; p_->eof_ = false; return 0; } #endif byte* RemoteIo::mmap(bool /*isWriteable*/) { return NULL; } int RemoteIo::munmap() { return 0; } long RemoteIo::tell() const { return p_->idx_; } long RemoteIo::size() const { return (long) p_->size_; } bool RemoteIo::isopen() const { return p_->isMalloced_; } int RemoteIo::error() const { return 0; } bool RemoteIo::eof() const { return p_->eof_; } std::string RemoteIo::path() const { return p_->path_; } #ifdef EXV_UNICODE_PATH std::wstring RemoteIo::wpath() const { return p_->wpath_; } #endif BasicIo::AutoPtr RemoteIo::temporary() const { return BasicIo::AutoPtr(new MemIo); } void RemoteIo::populateFakeData() { assert(p_->isMalloced_); size_t nBlocks = (p_->size_ + p_->blockSize_ - 1) / p_->blockSize_; for (size_t i = 0; i < nBlocks; i++) { if (p_->blocksMap_[i].isNone()) p_->blocksMap_[i].markKnown(p_->blockSize_); } } //! Internal Pimpl structure of class HttpIo. class HttpIo::HttpImpl : public Impl { public: //! Constructor HttpImpl(const std::string& path, size_t blockSize); #ifdef EXV_UNICODE_PATH //! Constructor accepting a unicode path in an std::wstring HttpImpl(const std::wstring& wpath, size_t blockSize); #endif Exiv2::Uri hostInfo_; //!< the host information extracted from the path // METHODS /*! @brief Get the length (in bytes) of the remote file. @return Return -1 if the size is unknown. Otherwise it returns the length of remote file (in bytes). @throw Error if the server returns the error code. */ long getFileLength(); /*! @brief Get the data by range. @param lowBlock The start block index. @param highBlock The end block index. @param response The data from the server. @throw Error if the server returns the error code. @note Set lowBlock = -1 and highBlock = -1 to get the whole file content. */ void getDataByRange(long lowBlock, long highBlock, std::string& response); /*! @brief Submit the data to the remote machine. The data replace a part of the remote file. The replaced part of remote file is indicated by from and to parameters. @param data The data are submitted to the remote machine. @param size The size of data. @param from The start position in the remote file where the data replace. @param to The end position in the remote file where the data replace. @note The data are submitted to the remote machine via POST. This requires the script file on the remote machine to receive the data and edit the remote file. The server-side script may be specified with the environment string EXIV2_HTTP_POST. The default value is "/exiv2.php". More info is available at http://dev.exiv2.org/wiki/exiv2 @throw Error if it fails. */ void writeRemote(const byte* data, size_t size, long from, long to); protected: // NOT IMPLEMENTED HttpImpl(const HttpImpl& rhs); //!< Copy constructor HttpImpl& operator=(const HttpImpl& rhs); //!< Assignment }; // class HttpIo::HttpImpl HttpIo::HttpImpl::HttpImpl(const std::string& url, size_t blockSize):Impl(url, blockSize) { hostInfo_ = Exiv2::Uri::Parse(url); Exiv2::Uri::Decode(hostInfo_); } #ifdef EXV_UNICODE_PATH HttpIo::HttpImpl::HttpImpl(const std::wstring& wurl, size_t blockSize):Impl(wurl, blockSize) { std::string url; url.assign(wurl.begin(), wurl.end()); path_ = url; hostInfo_ = Exiv2::Uri::Parse(url); Exiv2::Uri::Decode(hostInfo_); } #endif long HttpIo::HttpImpl::getFileLength() { dict_t response; dict_t request; std::string errors; request["server"] = hostInfo_.Host; request["page" ] = hostInfo_.Path; if (hostInfo_.Port != "") request["port"] = hostInfo_.Port; request["verb"] = "HEAD"; long serverCode = (long)http(request, response, errors); if (serverCode < 0 || serverCode >= 400 || errors.compare("") != 0) { throw Error(55, "Server", serverCode); } dict_i lengthIter = response.find("Content-Length"); return (lengthIter == response.end()) ? -1 : atol((lengthIter->second).c_str()); } void HttpIo::HttpImpl::getDataByRange(long lowBlock, long highBlock, std::string& response) { dict_t responseDic; dict_t request; request["server"] = hostInfo_.Host; request["page" ] = hostInfo_.Path; if (hostInfo_.Port != "") request["port"] = hostInfo_.Port; request["verb"] = "GET"; std::string errors; if (lowBlock > -1 && highBlock > -1) { std::stringstream ss; ss << "Range: bytes=" << lowBlock * blockSize_ << "-" << ((highBlock + 1) * blockSize_ - 1) << "\r\n"; request["header"] = ss.str(); } long serverCode = (long)http(request, responseDic, errors); if (serverCode < 0 || serverCode >= 400 || errors.compare("") != 0) { throw Error(55, "Server", serverCode); } response = responseDic["body"]; } void HttpIo::HttpImpl::writeRemote(const byte* data, size_t size, long from, long to) { std::string scriptPath(getEnv(envHTTPPOST)); if (scriptPath == "") { throw Error(1, "Please set the path of the server script to handle http post data to EXIV2_HTTP_POST environmental variable."); } // standadize the path without "/" at the beginning. std::size_t protocolIndex = scriptPath.find("://"); if (protocolIndex == std::string::npos && scriptPath[0] != '/') { scriptPath = "/" + scriptPath; } dict_t response; dict_t request; std::string errors; Uri scriptUri = Exiv2::Uri::Parse(scriptPath); request["server"] = scriptUri.Host == "" ? hostInfo_.Host : scriptUri.Host; if (scriptUri.Port != "") request["port"] = scriptUri.Port; request["page"] = scriptUri.Path; request["verb"] = "POST"; // encode base64 size_t encodeLength = ((size + 2) / 3) * 4 + 1; char* encodeData = new char[encodeLength]; base64encode(data, size, encodeData, encodeLength); // url encode char* urlencodeData = urlencode(encodeData); delete[] encodeData; std::stringstream ss; ss << "path=" << hostInfo_.Path << "&" << "from=" << from << "&" << "to=" << to << "&" << "data=" << urlencodeData; std::string postData = ss.str(); delete[] urlencodeData; // create the header ss.str(""); ss << "Content-Length: " << postData.length() << "\n" << "Content-Type: application/x-www-form-urlencoded\n" << "\n" << postData << "\r\n"; request["header"] = ss.str(); int serverCode = http(request, response, errors); if (serverCode < 0 || serverCode >= 400 || errors.compare("") != 0) { throw Error(55, "Server", serverCode); } } HttpIo::HttpIo(const std::string& url, size_t blockSize) { p_ = new HttpImpl(url, blockSize); } #ifdef EXV_UNICODE_PATH HttpIo::HttpIo(const std::wstring& wurl, size_t blockSize) { p_ = new HttpImpl(wurl, blockSize); } #endif #if EXV_USE_CURL == 1 //! Internal Pimpl structure of class RemoteIo. class CurlIo::CurlImpl : public Impl { public: //! Constructor CurlImpl(const std::string& path, size_t blockSize); #ifdef EXV_UNICODE_PATH //! Constructor accepting a unicode path in an std::wstring CurlImpl(const std::wstring& wpath, size_t blockSize); #endif //! Destructor. Cleans up the curl pointer and releases all managed memory. ~CurlImpl(); CURL* curl_; //!< libcurl pointer // METHODS /*! @brief Get the length (in bytes) of the remote file. @return Return -1 if the size is unknown. Otherwise it returns the length of remote file (in bytes). @throw Error if the server returns the error code. */ long getFileLength(); /*! @brief Get the data by range. @param lowBlock The start block index. @param highBlock The end block index. @param response The data from the server. @throw Error if the server returns the error code. @note Set lowBlock = -1 and highBlock = -1 to get the whole file content. */ void getDataByRange(long lowBlock, long highBlock, std::string& response); /*! @brief Submit the data to the remote machine. The data replace a part of the remote file. The replaced part of remote file is indicated by from and to parameters. @param data The data are submitted to the remote machine. @param size The size of data. @param from The start position in the remote file where the data replace. @param to The end position in the remote file where the data replace. @throw Error if it fails. @note The write access is only available on HTTP & HTTPS protocols. The data are submitted to server via POST method. It requires the script file on the remote machine to receive the data and edit the remote file. The server-side script may be specified with the environment string EXIV2_HTTP_POST. The default value is "/exiv2.php". More info is available at http://dev.exiv2.org/wiki/exiv2 */ void writeRemote(const byte* data, size_t size, long from, long to); protected: // NOT IMPLEMENTED CurlImpl(const CurlImpl& rhs); //!< Copy constructor CurlImpl& operator=(const CurlImpl& rhs); //!< Assignment private: long timeout_; //!< The number of seconds to wait while trying to connect. }; // class RemoteIo::Impl CurlIo::CurlImpl::CurlImpl(const std::string& url, size_t blockSize):Impl(url, blockSize) { // init curl pointer curl_ = curl_easy_init(); if(!curl_) { throw Error(1, "Uable to init libcurl."); } // The default block size for FTP is much larger than other protocols // the reason is that getDataByRange() in FTP always creates the new connection, // so we need the large block size to reduce the overhead of creating the connection. if (blockSize_ == 0) { blockSize_ = protocol_ == pFtp ? 102400 : 1024; } std::string timeout = getEnv(envTIMEOUT); timeout_ = atol(timeout.c_str()); if (timeout_ == 0) { throw Error(1, "Timeout Environmental Variable must be a positive integer."); } } #ifdef EXV_UNICODE_PATH CurlIo::CurlImpl::CurlImpl(const std::wstring& wurl, size_t blockSize):Impl(wurl, blockSize) { std::string url; url.assign(wurl.begin(), wurl.end()); path_ = url; // init curl pointer curl_ = curl_easy_init(); if(!curl_) { throw Error(1, "Uable to init libcurl."); } // The default block size for FTP is much larger than other protocols // the reason is that getDataByRange() in FTP always creates the new connection, // so we need the large block size to reduce the overhead of creating the connection. if (blockSize_ == 0) { blockSize_ = protocol_ == pFtp ? 102400 : 1024; } } #endif long CurlIo::CurlImpl::getFileLength() { curl_easy_reset(curl_); // reset all options std::string response; curl_easy_setopt(curl_, CURLOPT_URL, path_.c_str()); curl_easy_setopt(curl_, CURLOPT_NOBODY, 1); // HEAD curl_easy_setopt(curl_, CURLOPT_WRITEFUNCTION, curlWriter); curl_easy_setopt(curl_, CURLOPT_WRITEDATA, &response); curl_easy_setopt(curl_, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl_, CURLOPT_SSL_VERIFYHOST, 0L); curl_easy_setopt(curl_, CURLOPT_CONNECTTIMEOUT, timeout_); //curl_easy_setopt(curl_, CURLOPT_VERBOSE, 1); // debugging mode /* Perform the request, res will get the return code */ CURLcode res = curl_easy_perform(curl_); if(res != CURLE_OK) { // error happends throw Error(1, curl_easy_strerror(res)); } // get return code long returnCode; curl_easy_getinfo (curl_, CURLINFO_RESPONSE_CODE, &returnCode); // get code if (returnCode >= 400 || returnCode < 0) { throw Error(55, "Server", returnCode); } // get length double temp; curl_easy_getinfo(curl_, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &temp); // return -1 if unknown return (long) temp; } void CurlIo::CurlImpl::getDataByRange(long lowBlock, long highBlock, std::string& response) { curl_easy_reset(curl_); // reset all options curl_easy_setopt(curl_, CURLOPT_URL, path_.c_str()); curl_easy_setopt(curl_, CURLOPT_NOPROGRESS, 1L); // no progress meter please curl_easy_setopt(curl_, CURLOPT_WRITEFUNCTION, curlWriter); curl_easy_setopt(curl_, CURLOPT_WRITEDATA, &response); curl_easy_setopt(curl_, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(curl_, CURLOPT_CONNECTTIMEOUT, timeout_); //curl_easy_setopt(curl_, CURLOPT_VERBOSE, 1); // debugging mode if (lowBlock > -1 && highBlock> -1) { std::stringstream ss; ss << lowBlock * blockSize_ << "-" << ((highBlock + 1) * blockSize_ - 1); std::string range = ss.str(); curl_easy_setopt(curl_, CURLOPT_RANGE, range.c_str()); } /* Perform the request, res will get the return code */ CURLcode res = curl_easy_perform(curl_); if(res != CURLE_OK) { throw Error(1, curl_easy_strerror(res)); } else { long serverCode; curl_easy_getinfo (curl_, CURLINFO_RESPONSE_CODE, &serverCode); // get code if (serverCode >= 400 || serverCode < 0) { throw Error(55, "Server", serverCode); } } } void CurlIo::CurlImpl::writeRemote(const byte* data, size_t size, long from, long to) { std::string scriptPath(getEnv(envHTTPPOST)); if (scriptPath == "") { throw Error(1, "Please set the path of the server script to handle http post data to EXIV2_HTTP_POST environmental variable."); } Exiv2::Uri hostInfo = Exiv2::Uri::Parse(path_); // add the protocol and host to the path std::size_t protocolIndex = scriptPath.find("://"); if (protocolIndex == std::string::npos) { if (scriptPath[0] != '/') scriptPath = "/" + scriptPath; scriptPath = hostInfo.Protocol + "://" + hostInfo.Host + scriptPath; } curl_easy_reset(curl_); // reset all options curl_easy_setopt(curl_, CURLOPT_NOPROGRESS, 1L); // no progress meter please //curl_easy_setopt(curl_, CURLOPT_VERBOSE, 1); // debugging mode curl_easy_setopt(curl_, CURLOPT_URL, scriptPath.c_str()); curl_easy_setopt(curl_, CURLOPT_SSL_VERIFYPEER, 0L); // encode base64 size_t encodeLength = ((size + 2) / 3) * 4 + 1; char* encodeData = new char[encodeLength]; base64encode(data, size, encodeData, encodeLength); // url encode char* urlencodeData = urlencode(encodeData); delete[] encodeData; std::stringstream ss; ss << "path=" << hostInfo.Path << "&" << "from=" << from << "&" << "to=" << to << "&" << "data=" << urlencodeData; std::string postData = ss.str(); delete[] urlencodeData; curl_easy_setopt(curl_, CURLOPT_POSTFIELDS, postData.c_str()); // Perform the request, res will get the return code. CURLcode res = curl_easy_perform(curl_); if(res != CURLE_OK) { throw Error(1, curl_easy_strerror(res)); } else { long serverCode; curl_easy_getinfo (curl_, CURLINFO_RESPONSE_CODE, &serverCode); if (serverCode >= 400 || serverCode < 0) { throw Error(55, "Server", serverCode); } } } CurlIo::CurlImpl::~CurlImpl() { curl_easy_cleanup(curl_); } long CurlIo::write(const byte* data, long wcount) { if (p_->protocol_ == pHttp || p_->protocol_ == pHttps) { return RemoteIo::write(data, wcount); } else { throw Error(1, "doesnt support write for this protocol."); } } long CurlIo::write(BasicIo& src) { if (p_->protocol_ == pHttp || p_->protocol_ == pHttps) { return RemoteIo::write(src); } else { throw Error(1, "doesnt support write for this protocol."); } } CurlIo::CurlIo(const std::string& url, size_t blockSize) { p_ = new CurlImpl(url, blockSize); } #ifdef EXV_UNICODE_PATH CurlIo::CurlIo(const std::wstring& wurl, size_t blockSize) { p_ = new CurlImpl(wurl, blockSize); } #endif #endif #if EXV_USE_SSH == 1 //! Internal Pimpl structure of class RemoteIo. class SshIo::SshImpl : public Impl { public: //! Constructor SshImpl(const std::string& path, size_t blockSize); #ifdef EXV_UNICODE_PATH //! Constructor accepting a unicode path in an std::wstring SshImpl(const std::wstring& wpath, size_t blockSize); #endif //! Destructor. Closes ssh session and releases all managed memory. ~SshImpl(); Exiv2::Uri hostInfo_; //!< host information extracted from path SSH* ssh_; //!< SSH pointer sftp_file fileHandler_; //!< sftp file handler // METHODS /*! @brief Get the length (in bytes) of the remote file. @return Return -1 if the size is unknown. Otherwise it returns the length of remote file (in bytes). @throw Error if the server returns the error code. */ long getFileLength(); /*! @brief Get the data by range. @param lowBlock The start block index. @param highBlock The end block index. @param response The data from the server. @throw Error if the server returns the error code. @note Set lowBlock = -1 and highBlock = -1 to get the whole file content. */ void getDataByRange(long lowBlock, long highBlock, std::string& response); /*! @brief Submit the data to the remote machine. The data replace a part of the remote file. The replaced part of remote file is indicated by from and to parameters. @param data The data are submitted to the remote machine. @param size The size of data. @param from The start position in the remote file where the data replace. @param to The end position in the remote file where the data replace. @note The write access is only available on the SSH protocol. It requires the write permission to edit the remote file. @throw Error if it fails. */ void writeRemote(const byte* data, size_t size, long from, long to); protected: // NOT IMPLEMENTED SshImpl(const SshImpl& rhs); //!< Copy constructor SshImpl& operator=(const SshImpl& rhs); //!< Assignment }; // class RemoteIo::Impl SshIo::SshImpl::SshImpl(const std::string& url, size_t blockSize):Impl(url, blockSize) { hostInfo_ = Exiv2::Uri::Parse(url); Exiv2::Uri::Decode(hostInfo_); // remove / at the beginning of the path if (hostInfo_.Path[0] == '/') { hostInfo_.Path = hostInfo_.Path.substr(1); } ssh_ = new SSH(hostInfo_.Host, hostInfo_.Username, hostInfo_.Password, hostInfo_.Port); if (protocol_ == pSftp) { ssh_->getFileSftp(hostInfo_.Path, fileHandler_); if (fileHandler_ == NULL) throw Error(1, "Unable to open the file"); } else { fileHandler_ = NULL; } } #ifdef EXV_UNICODE_PATH SshIo::SshImpl::SshImpl(const std::wstring& wurl, size_t blockSize):Impl(wurl, blockSize) { std::string url; url.assign(wurl.begin(), wurl.end()); path_ = url; hostInfo_ = Exiv2::Uri::Parse(url); Exiv2::Uri::Decode(hostInfo_); // remove / at the beginning of the path if (hostInfo_.Path[0] == '/') { hostInfo_.Path = hostInfo_.Path.substr(1); } ssh_ = new SSH(hostInfo_.Host, hostInfo_.Username, hostInfo_.Password, hostInfo_.Port); if (protocol_ == pSftp) { ssh_->getFileSftp(hostInfo_.Path, fileHandler_); if (fileHandler_ == NULL) throw Error(1, "Unable to open the file"); } else { fileHandler_ = NULL; } } #endif long SshIo::SshImpl::getFileLength() { long length = 0; if (protocol_ == pSftp) { // sftp sftp_attributes attributes = sftp_fstat(fileHandler_); length = (long)attributes->size; } else { // ssh std::string response; //std::string cmd = "stat -c %s " + hostInfo_.Path; std::string cmd = "declare -a x=($(ls -alt " + hostInfo_.Path + ")); echo ${x[4]}"; if (ssh_->runCommand(cmd, &response) != 0) { throw Error(1, "Unable to get file length."); } else { length = atol(response.c_str()); if (length == 0) { throw Error(1, "File is empty or not found."); } } } return length; } void SshIo::SshImpl::getDataByRange(long lowBlock, long highBlock, std::string& response) { if (protocol_ == pSftp) { if (sftp_seek(fileHandler_, (uint32_t) (lowBlock * blockSize_)) < 0) throw Error(1, "SFTP: unable to sftp_seek"); size_t buffSize = (highBlock - lowBlock + 1) * blockSize_; char* buffer = new char[buffSize]; long nBytes = (long) sftp_read(fileHandler_, buffer, buffSize); if (nBytes < 0) throw Error(1, "SFTP: unable to sftp_read"); response.assign(buffer, buffSize); delete[] buffer; } else { std::stringstream ss; if (lowBlock > -1 && highBlock > -1) { ss << "dd if=" << hostInfo_.Path << " ibs=" << blockSize_ << " skip=" << lowBlock << " count=" << (highBlock - lowBlock) + 1<< " 2>/dev/null"; } else { ss << "dd if=" << hostInfo_.Path << " ibs=" << blockSize_ << " 2>/dev/null"; } std::string cmd = ss.str(); if (ssh_->runCommand(cmd, &response) != 0) { throw Error(1, "Unable to get data by range."); } } } void SshIo::SshImpl::writeRemote(const byte* data, size_t size, long from, long to) { if (protocol_ == pSftp) throw Error(1, "not support SFTP write access."); //printf("ssh update size=%ld from=%ld to=%ld\n", (long)size, from, to); assert(isMalloced_); std::string tempFile = hostInfo_.Path + ".exiv2tmp"; std::string response; std::stringstream ss; // copy the head (byte 0 to byte fromByte) of original file to filepath.exiv2tmp ss << "head -c " << from << " " << hostInfo_.Path << " > " << tempFile; std::string cmd = ss.str(); if (ssh_->runCommand(cmd, &response) != 0) { throw Error(1, "SSH: Unable to cope the head of file to temp"); } // upload the data (the byte ranges which are different between the original // file and the new file) to filepath.exiv2datatemp if (ssh_->scp(hostInfo_.Path + ".exiv2datatemp", data, size) != 0) { throw Error(1, "SSH: Unable to copy file"); } // concatenate the filepath.exiv2datatemp to filepath.exiv2tmp cmd = "cat " + hostInfo_.Path + ".exiv2datatemp >> " + tempFile; if (ssh_->runCommand(cmd, &response) != 0) { throw Error(1, "SSH: Unable to copy the rest"); } // copy the tail (from byte toByte to the end of file) of original file to filepath.exiv2tmp ss.str(""); ss << "tail -c+" << (to + 1) << " " << hostInfo_.Path << " >> " << tempFile; cmd = ss.str(); if (ssh_->runCommand(cmd, &response) != 0) { throw Error(1, "SSH: Unable to copy the rest"); } // replace the original file with filepath.exiv2tmp cmd = "mv " + tempFile + " " + hostInfo_.Path; if (ssh_->runCommand(cmd, &response) != 0) { throw Error(1, "SSH: Unable to copy the rest"); } // remove filepath.exiv2datatemp cmd = "rm " + hostInfo_.Path + ".exiv2datatemp"; if (ssh_->runCommand(cmd, &response) != 0) { throw Error(1, "SSH: Unable to copy the rest"); } } SshIo::SshImpl::~SshImpl() { if (fileHandler_) sftp_close(fileHandler_); if (ssh_) delete ssh_; } SshIo::SshIo(const std::string& url, size_t blockSize) { p_ = new SshImpl(url, blockSize); } #ifdef EXV_UNICODE_PATH SshIo::SshIo(const std::wstring& wurl, size_t blockSize) { p_ = new SshImpl(wurl, blockSize); } #endif #endif // ************************************************************************* // free functions DataBuf readFile(const std::string& path) { FileIo file(path); if (file.open("rb") != 0) { throw Error(10, path, "rb", strError()); } struct stat st; if (0 != ::stat(path.c_str(), &st)) { throw Error(2, path, strError(), "::stat"); } DataBuf buf(st.st_size); long len = file.read(buf.pData_, buf.size_); if (len != buf.size_) { throw Error(2, path, strError(), "FileIo::read"); } return buf; } #ifdef EXV_UNICODE_PATH DataBuf readFile(const std::wstring& wpath) { FileIo file(wpath); if (file.open("rb") != 0) { throw WError(10, wpath, "rb", strError().c_str()); } struct _stat st; if (0 != ::_wstat(wpath.c_str(), &st)) { throw WError(2, wpath, strError().c_str(), "::_wstat"); } DataBuf buf(st.st_size); long len = file.read(buf.pData_, buf.size_); if (len != buf.size_) { throw WError(2, wpath, strError().c_str(), "FileIo::read"); } return buf; } #endif long writeFile(const DataBuf& buf, const std::string& path) { FileIo file(path); if (file.open("wb") != 0) { throw Error(10, path, "wb", strError()); } return file.write(buf.pData_, buf.size_); } #ifdef EXV_UNICODE_PATH long writeFile(const DataBuf& buf, const std::wstring& wpath) { FileIo file(wpath); if (file.open("wb") != 0) { throw WError(10, wpath, "wb", strError().c_str()); } return file.write(buf.pData_, buf.size_); } #endif std::string ReplaceStringInPlace(std::string subject, const std::string& search, const std::string& replace) { size_t pos = 0; while((pos = subject.find(search, pos)) != std::string::npos) { subject.replace(pos, search.length(), replace); pos += replace.length(); } return subject; } #ifdef EXV_UNICODE_PATH std::wstring ReplaceStringInPlace(std::wstring subject, const std::wstring& search, const std::wstring& replace) { std::wstring::size_type pos = 0; while((pos = subject.find(search, pos)) != std::wstring::npos) { subject.replace(pos, search.length(), replace); pos += replace.length(); } return subject; } #endif #if EXV_USE_CURL == 1 size_t curlWriter(char* data, size_t size, size_t nmemb, std::string* writerData) { if (writerData == NULL) return 0; writerData->append(data, size*nmemb); return size * nmemb; } #endif } // namespace Exiv2 exiv2-0.25/src/i18n.h0000664000175000017500000000310112523622506014030 0ustar andreasandreas/* **************************************************************** -*- C -*- */ /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: i18n.h Brief: i18n definitions. Do not use. This is an Exiv2 internal header. Version: $Rev: 2681 $ Author(s): Gilles Caulier (gc) History: 01-Nov-06, gc: created */ #ifndef I18N_H_ #define I18N_H_ #include "config.h" /* NLS can be disabled through the configure --disable-nls option. */ #ifdef EXV_ENABLE_NLS # include // Definition is in types.cpp EXIV2API const char* _exvGettext(const char* str); # define _(String) _exvGettext(String) # define N_(String) String #else /* NLS is disabled */ # define _(String) (String) # define N_(String) String #endif /* EXV_ENABLE_NLS */ #endif /* I18N_H_ */ exiv2-0.25/src/pngchunk_int.hpp0000664000175000017500000002025712521135474016314 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file pngchunk_int.hpp @brief Class PngChunk to parse PNG chunk data implemented using the following references:
PNG iTXt chunk structure from PNG definitive guide,
PNG tTXt and zTXt chunks structures from PNG definitive guide,
PNG tags list by Phil Harvey
Email communication with caulier dot gilles at gmail dot com
@version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @author Gilles Caulier (cgilles) caulier dot gilles at gmail dot com @date 12-Jun-06, gc: submitted */ #ifndef PNGCHUNK_INT_HPP_ #define PNGCHUNK_INT_HPP_ // ***************************************************************************** // included header files #include "types.hpp" // + standard includes #include #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class declarations class Image; namespace Internal { // ***************************************************************************** // class definitions /*! @brief Stateless parser class for data in PNG chunk format. Images use this class to decode and encode PNG-based data. */ class PngChunk { public: /*! @brief Text Chunk types. */ enum TxtChunkType { tEXt_Chunk = 0, zTXt_Chunk = 1, iTXt_Chunk = 2 }; public: /*! @brief Decode PNG IHDR chunk data from a data buffer \em data and return image size to \em outWidth and \em outHeight. @param data PNG Chunk data buffer. @param outWidth Integer pointer to be set to the width of the image. @param outHeight Integer pointer to be set to the height of the image. */ static void decodeIHDRChunk(const DataBuf& data, int* outWidth, int* outHeight); /*! @brief Decode PNG tEXt, zTXt, or iTXt chunk data from \em pImage passed by data buffer \em data and extract Comment, Exif, Iptc, Xmp metadata accordingly. @param pImage Pointer to the image to hold the metadata @param data PNG Chunk data buffer. @param type PNG Chunk TXT type. */ static void decodeTXTChunk(Image* pImage, const DataBuf& data, TxtChunkType type); /*! @brief Return PNG TXT chunk key as data buffer. @param data PNG Chunk data buffer. @param stripHeader Set true if chunk data start with header bytes, else false (default). */ static DataBuf keyTXTChunk(const DataBuf& data, bool stripHeader=false); /*! @brief Return a complete PNG chunk data compressed or not as buffer. Data returned is formated accordingly with metadata \em type to host passed by \em metadata. @param metadata metadata buffer. @param type metadata type. */ static std::string makeMetadataChunk(const std::string& metadata, MetadataId type); private: /*! @brief Parse PNG Text chunk to determine type and extract content. Supported Chunk types are tTXt, zTXt, and iTXt. */ static DataBuf parseTXTChunk(const DataBuf& data, int keysize, TxtChunkType type); /*! @brief Parse PNG chunk contents to extract metadata container and assign it to image. Supported contents are: Exif raw text profile generated by ImageMagick ==> Image Exif metadata. Iptc raw text profile generated by ImageMagick ==> Image Iptc metadata. Xmp raw text profile generated by ImageMagick ==> Image Xmp metadata. Xmp packet generated by Adobe ==> Image Xmp metadata. Description string ==> Image Comments. */ static void parseChunkContent( Image* pImage, const byte* key, long keySize, const DataBuf arr); /*! @brief Return a compressed (zTXt) or uncompressed (tEXt) PNG ASCII text chunk (length + chunk type + chunk data + CRC) as a string. @param keyword Keyword for the PNG text chunk @param text Text to be recorded in the PNG chunk. @param compress Flag indicating whether to compress the PNG chunk data. @return String containing the PNG chunk */ static std::string makeAsciiTxtChunk(const std::string& keyword, const std::string& text, bool compress); /*! @brief Return a compressed or uncompressed (iTXt) PNG international text chunk (length + chunk type + chunk data + CRC) as a string. @param keyword Keyword for the PNG international text chunk @param text Text to be recorded in the PNG chunk. @param compress Flag indicating whether to compress the PNG chunk data. */ static std::string makeUtf8TxtChunk(const std::string& keyword, const std::string& text, bool compress); /*! @brief Wrapper around zlib to uncompress a PNG chunk content. */ static void zlibUncompress(const byte* compressedText, unsigned int compressedTextSize, DataBuf& arr); /*! @brief Wrapper around zlib to compress a PNG chunk content. */ static std::string zlibCompress(const std::string& text); /*! @brief Decode from ImageMagick raw text profile which host encoded Exif/Iptc/Xmp metadata byte array. */ static DataBuf readRawProfile(const DataBuf& text); /*! @brief Encode to ImageMagick raw text profile, which host encoded Exif/IPTC/XMP metadata byte arrays. */ static std::string writeRawProfile(const std::string& profileData, const char* profileType); }; // class PngChunk }} // namespace Internal, Exiv2 #endif // #ifndef PNGCHUNK_INT_HPP_ exiv2-0.25/src/image_int.hpp0000664000175000017500000000377612523623336015571 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file image_int.hpp @brief Internal image helpers @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 10-May-15, ahu: created */ #ifndef IMAGE_INT_HPP_ #define IMAGE_INT_HPP_ // ***************************************************************************** // included header files #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { namespace Internal { // ***************************************************************************** // class definitions /*! @brief format a string in the pattern of \em sprintf \em . */ std::string stringFormat(const char* format, ...); /*! @brief format binary for display in \em printStructure() \em . */ std::string binaryToString(DataBuf& buf, size_t size, size_t start =0); }} // namespace Internal, Exiv2 #endif // #ifndef IMAGE_INT_HPP_ exiv2-0.25/src/mrwthumb.cpp0000664000175000017500000000244411037275510015460 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // mrwthumb.cpp, $Rev: 1532 $ // Sample program to extract a Minolta thumbnail from the makernote #include "image.hpp" #include "exif.hpp" #include "error.hpp" #include int main(int argc, char* const argv[]) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(argv[1]); assert(image.get() != 0); image->readMetadata(); Exiv2::ExifData &exifData = image->exifData(); if (exifData.empty()) { std::string error(argv[1]); error += ": No Exif data found in the file"; throw Exiv2::Error(1, error); } Exiv2::ExifKey key("Exif.Minolta.ThumbnailOffset"); Exiv2::ExifData::const_iterator format = exifData.findKey(key); if (format != exifData.end()) { Exiv2::DataBuf buf = format->dataArea(); // The first byte of the buffer needs to be patched buf.pData_[0] = 0xff; Exiv2::FileIo file("img_thumb.jpg"); file.open("wb"); file.write(buf.pData_, buf.size_); file.close(); } return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } exiv2-0.25/src/samsungmn.cpp0000664000175000017500000002635112521135474015631 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: samsungmn.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 27-Sep-10, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: samsungmn.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // ***************************************************************************** // included header files #include "types.hpp" #include "samsungmn_int.hpp" #include "tags_int.hpp" #include "value.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { //! LensType, tag 0xa003 extern const TagDetails samsung2LensType[] = { { 0, N_("Built-in") }, { 1, "Samsung NX 30mm F2 Pancake" }, { 2, "Samsung NX 18-55mm F3.5-5.6 OIS" }, { 3, "Samsung NX 50-200mm F4-5.6 ED OIS" }, { 4, "Samsung NX 20-50mm F3.5-5.6 ED" }, { 5, "Samsung NX 20mm F2.8 Pancake" }, { 6, "Samsung NX 18-200mm F3.5-6.3 ED OIS" }, { 7, "Samsung NX 60mm F2.8 Macro ED OIS SSA" }, { 8, "Samsung NX 16mm F2.4 Pancake" }, { 9, "Samsung NX 85mm F1.4 ED SSA" }, { 10, "Samsung NX 45mm F1.8" }, { 11, "Samsung NX 45mm F1.8 2D/3D" }, { 12, "Samsung NX 12-24mm F4-5.6 ED" }, { 13, "Saumsun NX 16-50mm F2-2.8 S ED OIS" }, { 14, "Samsung NX 10mm F3.5 Fisheye" }, { 15, "Samsung NX 16-50mm F3.5-5.6 Power Zoom ED OIS" }, { 20, "Samsung NX 50-150mm F2.8 S ED OIS" }, { 21, "Samsung NX 300mm F2.8 ED OIS" } }; //! ColorSpace, tag 0xa011 extern const TagDetails samsung2ColorSpace[] = { { 0, N_("sRGB") }, { 1, N_("Adobe RGB") } }; //! SmartRange, tag 0xa012 extern const TagDetails samsung2SmartRange[] = { { 0, N_("Off") }, { 1, N_("On") } }; //! Print the camera temperature std::ostream& printCameraTemperature(std::ostream& os, const Value& value, const ExifData*) { if (value.count() != 1 || value.typeId() != signedRational) { return os << value; } return os << value.toFloat() << " C"; } //! Print the 35mm focal length std::ostream& printFocalLength35(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if (value.count() != 1 || value.typeId() != unsignedLong) { return os << value; } long length = value.toLong(); if (length == 0) { os << _("Unknown"); } else { std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1) << length / 10.0 << " mm"; os.copyfmt(oss); } os.flags(f); return os; } // Samsung MakerNote Tag Info const TagInfo Samsung2MakerNote::tagInfo_[] = { TagInfo(0x0001, "Version", N_("Version"), N_("Makernote version"), samsung2Id, makerTags, undefined, -1, printExifVersion), TagInfo(0x0021, "PictureWizard", N_("Picture Wizard"), N_("Picture wizard composite tag"), samsung2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x0030, "LocalLocationName", N_("Local Location Name"), N_("Local location name"), samsung2Id, makerTags, asciiString, -1, printValue), TagInfo(0x0031, "LocationName", N_("Location Name"), N_("Location name"), samsung2Id, makerTags, asciiString, -1, printValue), TagInfo(0x0035, "Preview", N_("Pointer to a preview image"), N_("Offset to an IFD containing a preview image"), samsung2Id, makerTags, unsignedLong, -1, printValue), TagInfo(0x0043, "CameraTemperature", N_("Camera Temperature"), N_("Camera temperature"), samsung2Id, makerTags, signedRational, -1, printCameraTemperature), TagInfo(0xa001, "FirmwareName", N_("Firmware Name"), N_("Firmware name"), samsung2Id, makerTags, asciiString, -1, printValue), TagInfo(0xa003, "LensType", N_("Lens Type"), N_("Lens type"), samsung2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(samsung2LensType)), TagInfo(0xa004, "LensFirmware", N_("Lens Firmware"), N_("Lens firmware"), samsung2Id, makerTags, asciiString, -1, printValue), TagInfo(0xa010, "SensorAreas", N_("Sensor Areas"), N_("Sensor areas"), samsung2Id, makerTags, unsignedLong, -1, printValue), TagInfo(0xa011, "ColorSpace", N_("Color Space"), N_("Color space"), samsung2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(samsung2ColorSpace)), TagInfo(0xa012, "SmartRange", N_("Smart Range"), N_("Smart range"), samsung2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(samsung2SmartRange)), TagInfo(0xa013, "ExposureBiasValue", N_("Exposure Bias Value"), N_("Exposure bias value"), samsung2Id, makerTags, signedRational, -1, print0x9204), TagInfo(0xa014, "ISO", N_("ISO"), N_("ISO"), samsung2Id, makerTags, unsignedLong, -1, printValue), TagInfo(0xa018, "ExposureTime", N_("Exposure Time"), N_("Exposure time"), samsung2Id, makerTags, unsignedRational, -1, print0x829a), TagInfo(0xa019, "FNumber", N_("FNumber"), N_("The F number."), samsung2Id, makerTags, unsignedRational, -1, print0x829d), TagInfo(0xa01a, "FocalLengthIn35mmFormat", N_("Focal Length In 35mm Format"), N_("Focal length in 35mm format"), samsung2Id, makerTags, unsignedLong, -1, printFocalLength35), TagInfo(0xa020, "EncryptionKey", N_("Encryption Key"), N_("Encryption key"), samsung2Id, makerTags, unsignedLong, -1, printValue), TagInfo(0xa021, "WB_RGGBLevelsUncorrected", N_("WB RGGB Levels Uncorrected"), N_("WB RGGB levels not corrected for WB_RGGBLevelsBlack"), samsung2Id, makerTags, unsignedLong, -1, printValue), TagInfo(0xa022, "WB_RGGBLevelsAuto", N_("WB RGGB Levels Auto"), N_("WB RGGB levels auto"), samsung2Id, makerTags, unsignedLong, -1, printValue), TagInfo(0xa023, "WB_RGGBLevelsIlluminator1", N_("WB RGGB Levels Illuminator1"), N_("WB RGGB levels illuminator1"), samsung2Id, makerTags, unsignedLong, -1, printValue), TagInfo(0xa024, "WB_RGGBLevelsIlluminator2", N_("WB RGGB Levels Illuminator2"), N_("WB RGGB levels illuminator2"), samsung2Id, makerTags, unsignedLong, -1, printValue), TagInfo(0xa028, "WB_RGGBLevelsBlack", N_("WB RGGB Levels Black"), N_("WB RGGB levels black"), samsung2Id, makerTags, signedLong, -1, printValue), TagInfo(0xa030, "ColorMatrix", N_("Color Matrix"), N_("Color matrix"), samsung2Id, makerTags, signedLong, -1, printValue), TagInfo(0xa031, "ColorMatrixSRGB", N_("Color Matrix sRGB"), N_("Color matrix sRGB"), samsung2Id, makerTags, signedLong, -1, printValue), TagInfo(0xa032, "ColorMatrixAdobeRGB", N_("Color Matrix Adobe RGB"), N_("Color matrix Adobe RGB"), samsung2Id, makerTags, signedLong, -1, printValue), TagInfo(0xa040, "ToneCurve1", N_("Tone Curve 1"), N_("Tone curve 1"), samsung2Id, makerTags, unsignedLong, -1, printValue), TagInfo(0xa041, "ToneCurve2", N_("Tone Curve 2"), N_("Tone curve 2"), samsung2Id, makerTags, unsignedLong, -1, printValue), TagInfo(0xa042, "ToneCurve3", N_("Tone Curve 3"), N_("Tone curve 3"), samsung2Id, makerTags, unsignedLong, -1, printValue), TagInfo(0xa043, "ToneCurve4", N_("Tone Curve 4"), N_("Tone curve 4"), samsung2Id, makerTags, unsignedLong, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownSamsung2MakerNoteTag)", "(UnknownSamsung2MakerNoteTag)", N_("Unknown Samsung2MakerNote tag"), samsung2Id, makerTags, undefined, -1, printValue) }; const TagInfo* Samsung2MakerNote::tagList() { return tagInfo_; } //! PictureWizard Mode extern const TagDetails samsungPwMode[] = { { 0, N_("Standard") }, { 1, N_("Vivid") }, { 2, N_("Portrait") }, { 3, N_("Landscape") }, { 4, N_("Forest") }, { 5, N_("Retro") }, { 6, N_("Cool") }, { 7, N_("Calm") }, { 8, N_("Classic") }, { 9, N_("Custom1") }, { 10, N_("Custom2") }, { 11, N_("Custom3") } }; //! Print the PictureWizard Color tag value std::ostream& printPwColor(std::ostream& os, const Value& value, const ExifData*) { if (value.count() != 1 || value.typeId() != unsignedShort) { return os << value; } // Special case where no color modification is done if (value.toLong() == 65535) { return os << _("Neutral"); } // Output seems to represent Hue in degrees return os << value.toLong(); } //! Print the tag value minus 4 std::ostream& printValueMinus4(std::ostream& os, const Value& value, const ExifData*) { if (value.count() != 1 || value.typeId() != unsignedShort) { return os << value; } return os << value.toLong(0) - 4; } // Samsung PictureWizard Tag Info const TagInfo Samsung2MakerNote::tagInfoPw_[] = { TagInfo(0x0000, "Mode", N_("Mode"), N_("Mode"), samsungPwId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(samsungPwMode)), TagInfo(0x0001, "Color", N_("Color"), N_("Color"), samsungPwId, makerTags, unsignedShort, 1, printPwColor), TagInfo(0x0002, "Saturation", N_("Saturation"), N_("Saturation"), samsungPwId, makerTags, unsignedShort, 1, printValueMinus4), TagInfo(0x0003, "Sharpness", N_("Sharpness"), N_("Sharpness"), samsungPwId, makerTags, unsignedShort, 1, printValueMinus4), TagInfo(0x0004, "Contrast", N_("Contrast"), N_("Contrast"), samsungPwId, makerTags, unsignedShort, 1, printValueMinus4), // End of list marker TagInfo(0xffff, "(UnknownSamsungPictureWizardTag)", "(UnknownSamsungPictureWizardTag)", N_("Unknown SamsungPictureWizard tag"), samsungPwId, makerTags, unsignedShort, 1, printValue) }; const TagInfo* Samsung2MakerNote::tagListPw() { return tagInfoPw_; } }} // namespace Internal, Exiv2 exiv2-0.25/src/sigmamn_int.hpp0000664000175000017500000000541512521135474016131 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file sigmamn_int.hpp @brief Sigma and Foveon MakerNote implemented according to the specification SIGMA and FOVEON EXIF MakerNote Documentation by Foveon. @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 02-Apr-04, ahu: created */ #ifndef SIGMAMN_INT_HPP_ #define SIGMAMN_INT_HPP_ // ***************************************************************************** // included header files #include "tags.hpp" #include "types.hpp" // + standard includes #include #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { namespace Internal { // ***************************************************************************** // class definitions //! MakerNote for Sigma (Foveon) cameras class SigmaMakerNote { public: //! Return read-only list of built-in Sigma tags static const TagInfo* tagList(); //! @name Print functions for Sigma (Foveon) %MakerNote tags //@{ //! Strip the label from the value and print the remainder static std::ostream& printStripLabel(std::ostream& os, const Value& value, const ExifData*); //! Print exposure mode static std::ostream& print0x0008(std::ostream& os, const Value& value, const ExifData*); //! Print metering mode static std::ostream& print0x0009(std::ostream& os, const Value& value, const ExifData*); //@} private: //! Tag information static const TagInfo tagInfo_[]; }; // class SigmaMakerNote }} // namespace Internal, Exiv2 #endif // #ifndef SIGMAMN_INT_HPP_ exiv2-0.25/src/tiffcomposite.cpp0000664000175000017500000020315112521135474016467 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: tiffcomposite.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 11-Apr-06, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: tiffcomposite.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "tiffimage_int.hpp" #include "tiffcomposite_int.hpp" #include "tiffvisitor_int.hpp" #include "makernote_int.hpp" #include "value.hpp" #include "error.hpp" // + standard includes #include #include #include #include #include // ***************************************************************************** namespace { //! Add \em tobe - \em curr 0x00 filler bytes if necessary uint32_t fillGap(Exiv2::Internal::IoWrapper& ioWrapper, uint32_t curr, uint32_t tobe); } // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { bool TiffMappingInfo::operator==(const TiffMappingInfo::Key& key) const { return ( 0 == strcmp("*", make_) || 0 == strncmp(make_, key.m_.c_str(), strlen(make_))) && (Tag::all == extendedTag_ || key.e_ == extendedTag_) && key.g_ == group_; } IoWrapper::IoWrapper(BasicIo& io, const byte* pHeader, long size, OffsetWriter* pow) : io_(io), pHeader_(pHeader), size_(size), wroteHeader_(false), pow_(pow) { if (pHeader_ == 0 || size_ == 0) wroteHeader_ = true; } long IoWrapper::write(const byte* pData, long wcount) { if (!wroteHeader_ && wcount > 0) { io_.write(pHeader_, size_); wroteHeader_ = true; } return io_.write(pData, wcount); } int IoWrapper::putb(byte data) { if (!wroteHeader_) { io_.write(pHeader_, size_); wroteHeader_ = true; } return io_.putb(data); } void IoWrapper::setTarget(int id, uint32_t target) { if (pow_) pow_->setTarget(OffsetWriter::OffsetId(id), target); } TiffComponent::TiffComponent(uint16_t tag, IfdId group) : tag_(tag), group_(group), pStart_(0) { } TiffEntryBase::TiffEntryBase(uint16_t tag, IfdId group, TiffType tiffType) : TiffComponent(tag, group), tiffType_(tiffType), count_(0), offset_(0), size_(0), pData_(0), isMalloced_(false), idx_(0), pValue_(0) { } TiffSubIfd::TiffSubIfd(uint16_t tag, IfdId group, IfdId newGroup) : TiffEntryBase(tag, group, ttUnsignedLong), newGroup_(newGroup) { } TiffMnEntry::TiffMnEntry(uint16_t tag, IfdId group, IfdId mnGroup) : TiffEntryBase(tag, group, ttUndefined), mnGroup_(mnGroup), mn_(0) { } TiffIfdMakernote::TiffIfdMakernote(uint16_t tag, IfdId group, IfdId mnGroup, MnHeader* pHeader, bool hasNext) : TiffComponent(tag, group), pHeader_(pHeader), ifd_(tag, mnGroup, hasNext), mnOffset_(0), imageByteOrder_(invalidByteOrder) { } TiffBinaryArray::TiffBinaryArray(uint16_t tag, IfdId group, const ArrayCfg* arrayCfg, const ArrayDef* arrayDef, int defSize) : TiffEntryBase(tag, group, arrayCfg->elTiffType_), cfgSelFct_(0), arraySet_(0), arrayCfg_(arrayCfg), arrayDef_(arrayDef), defSize_(defSize), setSize_(0), origData_(0), origSize_(0), pRoot_(0), decoded_(false) { assert(arrayCfg != 0); } TiffBinaryArray::TiffBinaryArray(uint16_t tag, IfdId group, const ArraySet* arraySet, int setSize, CfgSelFct cfgSelFct) : TiffEntryBase(tag, group), // Todo: Does it make a difference that there is no type? cfgSelFct_(cfgSelFct), arraySet_(arraySet), arrayCfg_(0), arrayDef_(0), defSize_(0), setSize_(setSize), origData_(0), origSize_(0), pRoot_(0), decoded_(false) { // We'll figure out the correct cfg later assert(cfgSelFct != 0); assert(arraySet_ != 0); } TiffBinaryElement::TiffBinaryElement(uint16_t tag, IfdId group) : TiffEntryBase(tag, group) { } TiffComponent::~TiffComponent() { } TiffDirectory::~TiffDirectory() { for (Components::iterator i = components_.begin(); i != components_.end(); ++i) { delete *i; } delete pNext_; } TiffSubIfd::~TiffSubIfd() { for (Ifds::iterator i = ifds_.begin(); i != ifds_.end(); ++i) { delete *i; } } TiffEntryBase::~TiffEntryBase() { if (isMalloced_) { delete[] pData_; } delete pValue_; } TiffEntry::~TiffEntry() { } TiffDataEntryBase::~TiffDataEntryBase() { } TiffDataEntry::~TiffDataEntry() { } TiffImageEntry::~TiffImageEntry() { } TiffSizeEntry::~TiffSizeEntry() { } TiffMnEntry::~TiffMnEntry() { delete mn_; } TiffIfdMakernote::~TiffIfdMakernote() { delete pHeader_; } TiffBinaryArray::~TiffBinaryArray() { for (Components::iterator i = elements_.begin(); i != elements_.end(); ++i) { delete *i; } } TiffBinaryElement::~TiffBinaryElement() { } TiffEntryBase::TiffEntryBase(const TiffEntryBase& rhs) : TiffComponent(rhs), tiffType_(rhs.tiffType_), count_(rhs.count_), offset_(rhs.offset_), size_(rhs.size_), pData_(rhs.pData_), isMalloced_(rhs.isMalloced_), idx_(rhs.idx_), pValue_(rhs.pValue_ ? rhs.pValue_->clone().release() : 0) { if (rhs.isMalloced_) { pData_ = new byte[rhs.size_]; memcpy(pData_, rhs.pData_, rhs.size_); } } TiffDirectory::TiffDirectory(const TiffDirectory& rhs) : TiffComponent(rhs), hasNext_(rhs.hasNext_), pNext_(0) { } TiffSubIfd::TiffSubIfd(const TiffSubIfd& rhs) : TiffEntryBase(rhs), newGroup_(rhs.newGroup_) { } TiffBinaryArray::TiffBinaryArray(const TiffBinaryArray& rhs) : TiffEntryBase(rhs), cfgSelFct_(rhs.cfgSelFct_), arraySet_(rhs.arraySet_), arrayCfg_(rhs.arrayCfg_), arrayDef_(rhs.arrayDef_), defSize_(rhs.defSize_), setSize_(rhs.setSize_), origData_(rhs.origData_), origSize_(rhs.origSize_), pRoot_(rhs.pRoot_), decoded_(false) { } TiffComponent::AutoPtr TiffComponent::clone() const { return AutoPtr(doClone()); } TiffEntry* TiffEntry::doClone() const { return new TiffEntry(*this); } TiffDataEntry* TiffDataEntry::doClone() const { return new TiffDataEntry(*this); } TiffImageEntry* TiffImageEntry::doClone() const { return new TiffImageEntry(*this); } TiffSizeEntry* TiffSizeEntry::doClone() const { return new TiffSizeEntry(*this); } TiffDirectory* TiffDirectory::doClone() const { return new TiffDirectory(*this); } TiffSubIfd* TiffSubIfd::doClone() const { return new TiffSubIfd(*this); } TiffMnEntry* TiffMnEntry::doClone() const { assert(false); // Not implemented return 0; } TiffIfdMakernote* TiffIfdMakernote::doClone() const { assert(false); // Not implemented return 0; } TiffBinaryArray* TiffBinaryArray::doClone() const { return new TiffBinaryArray(*this); } TiffBinaryElement* TiffBinaryElement::doClone() const { return new TiffBinaryElement(*this); } int TiffComponent::idx() const { return 0; } int TiffEntryBase::idx() const { return idx_; } void TiffEntryBase::setData(DataBuf buf) { std::pair p = buf.release(); setData(p.first, p.second); isMalloced_ = true; } void TiffEntryBase::setData(byte* pData, int32_t size) { if (isMalloced_) { delete[] pData_; } pData_ = pData; size_ = size; if (pData_ == 0) size_ = 0; } void TiffEntryBase::updateValue(Value::AutoPtr value, ByteOrder byteOrder) { if (value.get() == 0) return; uint32_t newSize = value->size(); if (newSize > size_) { setData(DataBuf(newSize)); } memset(pData_, 0x0, size_); size_ = value->copy(pData_, byteOrder); assert(size_ == newSize); setValue(value); } // TiffEntryBase::updateValue void TiffEntryBase::setValue(Value::AutoPtr value) { if (value.get() == 0) return; tiffType_ = toTiffType(value->typeId()); count_ = value->count(); delete pValue_; pValue_ = value.release(); } // TiffEntryBase::setValue void TiffDataEntry::setStrips(const Value* pSize, const byte* pData, uint32_t sizeData, uint32_t baseOffset) { if (!pValue() || !pSize) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Directory " << groupName(group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << tag() << ": Size or data offset value not set, ignoring them.\n"; #endif return; } if (pValue()->count() == 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Directory " << groupName(group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << tag() << ": Data offset entry value is empty, ignoring it.\n"; #endif return; } if (pValue()->count() != pSize->count()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Directory " << groupName(group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << tag() << ": Size and data offset entries have different" << " number of components, ignoring them.\n"; #endif return; } uint32_t size = 0; for (int i = 0; i < pSize->count(); ++i) { size += static_cast(pSize->toLong(i)); } uint32_t offset = static_cast(pValue()->toLong(0)); // Todo: Remove limitation of JPEG writer: strips must be contiguous // Until then we check: last offset + last size - first offset == size? if ( static_cast(pValue()->toLong(pValue()->count()-1)) + static_cast(pSize->toLong(pSize->count()-1)) - offset != size) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Directory " << groupName(group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << tag() << ": Data area is not contiguous, ignoring it.\n"; #endif return; } if ( offset > sizeData || size > sizeData || baseOffset + offset > sizeData - size) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Directory " << groupName(group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << tag() << ": Data area exceeds data buffer, ignoring it.\n"; #endif return; } pDataArea_ = const_cast(pData) + baseOffset + offset; sizeDataArea_ = size; const_cast(pValue())->setDataArea(pDataArea_, sizeDataArea_); } // TiffDataEntry::setStrips void TiffImageEntry::setStrips(const Value* pSize, const byte* pData, uint32_t sizeData, uint32_t baseOffset) { if (!pValue() || !pSize) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Directory " << groupName(group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << tag() << ": Size or data offset value not set, ignoring them.\n"; #endif return; } if (pValue()->count() != pSize->count()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Directory " << groupName(group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << tag() << ": Size and data offset entries have different" << " number of components, ignoring them.\n"; #endif return; } for (int i = 0; i < pValue()->count(); ++i) { const uint32_t offset = static_cast(pValue()->toLong(i)); const byte* pStrip = pData + baseOffset + offset; const uint32_t size = static_cast(pSize->toLong(i)); if ( offset > sizeData || size > sizeData || baseOffset + offset > sizeData - size) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Directory " << groupName(group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << tag() << ": Strip " << std::dec << i << " is outside of the data area; ignored.\n"; #endif } else if (size != 0) { strips_.push_back(std::make_pair(pStrip, size)); } } } // TiffImageEntry::setStrips uint32_t TiffIfdMakernote::ifdOffset() const { if (!pHeader_) return 0; return pHeader_->ifdOffset(); } ByteOrder TiffIfdMakernote::byteOrder() const { assert(imageByteOrder_ != invalidByteOrder); if (!pHeader_ || pHeader_->byteOrder() == invalidByteOrder) { return imageByteOrder_; } return pHeader_->byteOrder(); } uint32_t TiffIfdMakernote::mnOffset() const { return mnOffset_; } uint32_t TiffIfdMakernote::baseOffset() const { if (!pHeader_) return 0; return pHeader_->baseOffset(mnOffset_); } bool TiffIfdMakernote::readHeader(const byte* pData, uint32_t size, ByteOrder byteOrder) { if (!pHeader_) return true; return pHeader_->read(pData, size, byteOrder); } void TiffIfdMakernote::setByteOrder(ByteOrder byteOrder) { if (pHeader_) pHeader_->setByteOrder(byteOrder); } uint32_t TiffIfdMakernote::sizeHeader() const { if (!pHeader_) return 0; return pHeader_->size(); } uint32_t TiffIfdMakernote::writeHeader(IoWrapper& ioWrapper, ByteOrder byteOrder) const { if (!pHeader_) return 0; return pHeader_->write(ioWrapper, byteOrder); } uint32_t ArrayDef::size(uint16_t tag, IfdId group) const { TypeId typeId = toTypeId(tiffType_, tag, group); return count_ * TypeInfo::typeSize(typeId); } bool TiffBinaryArray::initialize(IfdId group) { if (arrayCfg_ != 0) return true; // Not a complex array or already initialized for (int idx = 0; idx < setSize_; ++idx) { if (arraySet_[idx].cfg_.group_ == group) { arrayCfg_ = &arraySet_[idx].cfg_; arrayDef_ = arraySet_[idx].def_; defSize_ = arraySet_[idx].defSize_; return true; } } return false; } bool TiffBinaryArray::initialize(TiffComponent* const pRoot) { if (cfgSelFct_ == 0) return true; // Not a complex array int idx = cfgSelFct_(tag(), pData(), TiffEntryBase::doSize(), pRoot); if (idx > -1) { arrayCfg_ = &arraySet_[idx].cfg_; arrayDef_ = arraySet_[idx].def_; defSize_ = arraySet_[idx].defSize_; } return idx > -1; } void TiffBinaryArray::iniOrigDataBuf() { origData_ = const_cast(pData()); origSize_ = TiffEntryBase::doSize(); } bool TiffBinaryArray::updOrigDataBuf(const byte* pData, uint32_t size) { assert(pData != 0); if (origSize_ != size) return false; if (origData_ == pData) return true; memcpy(origData_, pData, origSize_); return true; } uint32_t TiffBinaryArray::addElement(uint32_t idx, const ArrayDef& def) { uint16_t tag = static_cast(idx / cfg()->tagStep()); int32_t sz = EXV_MIN(def.size(tag, cfg()->group_), TiffEntryBase::doSize() - idx); TiffComponent::AutoPtr tc = TiffCreator::create(tag, cfg()->group_); TiffBinaryElement* tp = dynamic_cast(tc.get()); // The assertion typically fails if a component is not configured in // the TIFF structure table (TiffCreator::tiffTreeStruct_) assert(tp); tp->setStart(pData() + idx); tp->setData(const_cast(pData() + idx), sz); tp->setElDef(def); tp->setElByteOrder(cfg()->byteOrder_); addChild(tc); return sz; } // TiffBinaryArray::addElement TiffComponent* TiffComponent::addPath(uint16_t tag, TiffPath& tiffPath, TiffComponent* const pRoot, TiffComponent::AutoPtr object) { return doAddPath(tag, tiffPath, pRoot, object); } // TiffComponent::addPath TiffComponent* TiffComponent::doAddPath(uint16_t /*tag*/, TiffPath& /*tiffPath*/, TiffComponent* const /*pRoot*/, TiffComponent::AutoPtr /*object*/) { return this; } // TiffComponent::doAddPath TiffComponent* TiffDirectory::doAddPath(uint16_t tag, TiffPath& tiffPath, TiffComponent* const pRoot, TiffComponent::AutoPtr object) { assert(tiffPath.size() > 1); tiffPath.pop(); const TiffPathItem tpi = tiffPath.top(); TiffComponent* tc = 0; // Try to use an existing component if there is still at least one // composite tag on the stack or the tag to add is the MakerNote tag. // This is used to prevent duplicate entries. Sub-IFDs also, but the > 1 // condition takes care of them, see below. if ( tiffPath.size() > 1 || (tpi.extendedTag() == 0x927c && tpi.group() == exifId)) { if (tpi.extendedTag() == Tag::next) { tc = pNext_; } else { for (Components::iterator i = components_.begin(); i != components_.end(); ++i) { if ((*i)->tag() == tpi.tag() && (*i)->group() == tpi.group()) { tc = *i; break; } } } } if (tc == 0) { TiffComponent::AutoPtr atc; if (tiffPath.size() == 1 && object.get() != 0) { atc = object; } else { atc = TiffCreator::create(tpi.extendedTag(), tpi.group()); } assert(atc.get() != 0); // Prevent dangling sub-IFD tags: Do not add a sub-IFD component without children. // Todo: How to check before creating the component? if (tiffPath.size() == 1 && dynamic_cast(atc.get()) != 0) return 0; if (tpi.extendedTag() == Tag::next) { tc = this->addNext(atc); } else { tc = this->addChild(atc); } } return tc->addPath(tag, tiffPath, pRoot, object); } // TiffDirectory::doAddPath TiffComponent* TiffSubIfd::doAddPath(uint16_t tag, TiffPath& tiffPath, TiffComponent* const pRoot, TiffComponent::AutoPtr object) { assert(!tiffPath.empty()); const TiffPathItem tpi1 = tiffPath.top(); tiffPath.pop(); if (tiffPath.empty()) { // If the last element in the path is the sub-IFD tag itself we're done. // But that shouldn't happen - see TiffDirectory::doAddPath return this; } const TiffPathItem tpi2 = tiffPath.top(); tiffPath.push(tpi1); TiffComponent* tc = 0; for (Ifds::iterator i = ifds_.begin(); i != ifds_.end(); ++i) { if ((*i)->group() == tpi2.group()) { tc = *i; break; } } if (tc == 0) { if (tiffPath.size() == 1 && object.get() != 0) { tc = addChild(object); } else { TiffComponent::AutoPtr atc(new TiffDirectory(tpi1.tag(), tpi2.group())); tc = addChild(atc); } setCount(static_cast(ifds_.size())); } return tc->addPath(tag, tiffPath, pRoot, object); } // TiffSubIfd::doAddPath TiffComponent* TiffMnEntry::doAddPath(uint16_t tag, TiffPath& tiffPath, TiffComponent* const pRoot, TiffComponent::AutoPtr object) { assert(!tiffPath.empty()); const TiffPathItem tpi1 = tiffPath.top(); tiffPath.pop(); if (tiffPath.empty()) { // If the last element in the path is the makernote tag itself we're done return this; } const TiffPathItem tpi2 = tiffPath.top(); tiffPath.push(tpi1); if (mn_ == 0) { mnGroup_ = tpi2.group(); mn_ = TiffMnCreator::create(tpi1.tag(), tpi1.group(), mnGroup_); assert(mn_); } return mn_->addPath(tag, tiffPath, pRoot, object); } // TiffMnEntry::doAddPath TiffComponent* TiffIfdMakernote::doAddPath(uint16_t tag, TiffPath& tiffPath, TiffComponent* const pRoot, TiffComponent::AutoPtr object) { return ifd_.addPath(tag, tiffPath, pRoot, object); } TiffComponent* TiffBinaryArray::doAddPath(uint16_t tag, TiffPath& tiffPath, TiffComponent* const pRoot, TiffComponent::AutoPtr object) { pRoot_ = pRoot; if (tiffPath.size() == 1) { // An unknown complex binary array has no children and acts like a standard TIFF entry return this; } tiffPath.pop(); const TiffPathItem tpi = tiffPath.top(); // Initialize the binary array (if it is a complex array) initialize(tpi.group()); TiffComponent* tc = 0; // Todo: Duplicates are not allowed! // To allow duplicate entries, we only check if the new component already // exists if there is still at least one composite tag on the stack if (tiffPath.size() > 1) { for (Components::iterator i = elements_.begin(); i != elements_.end(); ++i) { if ((*i)->tag() == tpi.tag() && (*i)->group() == tpi.group()) { tc = *i; break; } } } if (tc == 0) { TiffComponent::AutoPtr atc; if (tiffPath.size() == 1 && object.get() != 0) { atc = object; } else { atc = TiffCreator::create(tpi.extendedTag(), tpi.group()); } assert(atc.get() != 0); assert(tpi.extendedTag() != Tag::next); tc = addChild(atc); setCount(static_cast(elements_.size())); } return tc->addPath(tag, tiffPath, pRoot, object); } // TiffBinaryArray::doAddPath TiffComponent* TiffComponent::addChild(TiffComponent::AutoPtr tiffComponent) { return doAddChild(tiffComponent); } // TiffComponent::addChild TiffComponent* TiffComponent::doAddChild(AutoPtr /*tiffComponent*/) { return 0; } // TiffComponent::doAddChild TiffComponent* TiffDirectory::doAddChild(TiffComponent::AutoPtr tiffComponent) { TiffComponent* tc = tiffComponent.release(); components_.push_back(tc); return tc; } // TiffDirectory::doAddChild TiffComponent* TiffSubIfd::doAddChild(TiffComponent::AutoPtr tiffComponent) { TiffDirectory* d = dynamic_cast(tiffComponent.release()); assert(d); ifds_.push_back(d); return d; } // TiffSubIfd::doAddChild TiffComponent* TiffMnEntry::doAddChild(TiffComponent::AutoPtr tiffComponent) { TiffComponent* tc = 0; if (mn_) { tc = mn_->addChild(tiffComponent); } return tc; } // TiffMnEntry::doAddChild TiffComponent* TiffIfdMakernote::doAddChild(TiffComponent::AutoPtr tiffComponent) { return ifd_.addChild(tiffComponent); } TiffComponent* TiffBinaryArray::doAddChild(TiffComponent::AutoPtr tiffComponent) { TiffComponent* tc = tiffComponent.release(); elements_.push_back(tc); setDecoded(true); return tc; } // TiffBinaryArray::doAddChild TiffComponent* TiffComponent::addNext(TiffComponent::AutoPtr tiffComponent) { return doAddNext(tiffComponent); } // TiffComponent::addNext TiffComponent* TiffComponent::doAddNext(AutoPtr /*tiffComponent*/) { return 0; } // TiffComponent::doAddNext TiffComponent* TiffDirectory::doAddNext(TiffComponent::AutoPtr tiffComponent) { TiffComponent* tc = 0; if (hasNext_) { tc = tiffComponent.release(); pNext_ = tc; } return tc; } // TiffDirectory::doAddNext TiffComponent* TiffMnEntry::doAddNext(TiffComponent::AutoPtr tiffComponent) { TiffComponent* tc = 0; if (mn_) { tc = mn_->addNext(tiffComponent); } return tc; } // TiffMnEntry::doAddNext TiffComponent* TiffIfdMakernote::doAddNext(TiffComponent::AutoPtr tiffComponent) { return ifd_.addNext(tiffComponent); } void TiffComponent::accept(TiffVisitor& visitor) { if (visitor.go(TiffVisitor::geTraverse)) doAccept(visitor); // one for NVI :) } // TiffComponent::accept void TiffEntry::doAccept(TiffVisitor& visitor) { visitor.visitEntry(this); } // TiffEntry::doAccept void TiffDataEntry::doAccept(TiffVisitor& visitor) { visitor.visitDataEntry(this); } // TiffDataEntry::doAccept void TiffImageEntry::doAccept(TiffVisitor& visitor) { visitor.visitImageEntry(this); } // TiffImageEntry::doAccept void TiffSizeEntry::doAccept(TiffVisitor& visitor) { visitor.visitSizeEntry(this); } // TiffSizeEntry::doAccept void TiffDirectory::doAccept(TiffVisitor& visitor) { visitor.visitDirectory(this); for (Components::const_iterator i = components_.begin(); visitor.go(TiffVisitor::geTraverse) && i != components_.end(); ++i) { (*i)->accept(visitor); } if (visitor.go(TiffVisitor::geTraverse)) visitor.visitDirectoryNext(this); if (pNext_) pNext_->accept(visitor); if (visitor.go(TiffVisitor::geTraverse)) visitor.visitDirectoryEnd(this); } // TiffDirectory::doAccept void TiffSubIfd::doAccept(TiffVisitor& visitor) { visitor.visitSubIfd(this); for (Ifds::iterator i = ifds_.begin(); visitor.go(TiffVisitor::geTraverse) && i != ifds_.end(); ++i) { (*i)->accept(visitor); } } // TiffSubIfd::doAccept void TiffMnEntry::doAccept(TiffVisitor& visitor) { visitor.visitMnEntry(this); if (mn_) mn_->accept(visitor); if (!visitor.go(TiffVisitor::geKnownMakernote)) { delete mn_; mn_ = 0; } } // TiffMnEntry::doAccept void TiffIfdMakernote::doAccept(TiffVisitor& visitor) { if (visitor.go(TiffVisitor::geTraverse)) visitor.visitIfdMakernote(this); if (visitor.go(TiffVisitor::geKnownMakernote)) ifd_.accept(visitor); if ( visitor.go(TiffVisitor::geKnownMakernote) && visitor.go(TiffVisitor::geTraverse)) visitor.visitIfdMakernoteEnd(this); } void TiffBinaryArray::doAccept(TiffVisitor& visitor) { visitor.visitBinaryArray(this); for (Components::const_iterator i = elements_.begin(); visitor.go(TiffVisitor::geTraverse) && i != elements_.end(); ++i) { (*i)->accept(visitor); } if (visitor.go(TiffVisitor::geTraverse)) visitor.visitBinaryArrayEnd(this); } // TiffBinaryArray::doAccept void TiffBinaryElement::doAccept(TiffVisitor& visitor) { visitor.visitBinaryElement(this); } // TiffBinaryElement::doAccept void TiffEntryBase::encode(TiffEncoder& encoder, const Exifdatum* datum) { doEncode(encoder, datum); } // TiffComponent::encode void TiffBinaryElement::doEncode(TiffEncoder& encoder, const Exifdatum* datum) { encoder.encodeBinaryElement(this, datum); } // TiffBinaryElement::doEncode void TiffBinaryArray::doEncode(TiffEncoder& encoder, const Exifdatum* datum) { encoder.encodeBinaryArray(this, datum); } // TiffBinaryArray::doEncode void TiffDataEntry::doEncode(TiffEncoder& encoder, const Exifdatum* datum) { encoder.encodeDataEntry(this, datum); } // TiffDataEntry::doEncode void TiffEntry::doEncode(TiffEncoder& encoder, const Exifdatum* datum) { encoder.encodeTiffEntry(this, datum); } // TiffEntry::doEncode void TiffImageEntry::doEncode(TiffEncoder& encoder, const Exifdatum* datum) { encoder.encodeImageEntry(this, datum); } // TiffImageEntry::doEncode void TiffMnEntry::doEncode(TiffEncoder& encoder, const Exifdatum* datum) { encoder.encodeMnEntry(this, datum); } // TiffMnEntry::doEncode void TiffSizeEntry::doEncode(TiffEncoder& encoder, const Exifdatum* datum) { encoder.encodeSizeEntry(this, datum); } // TiffSizeEntry::doEncode void TiffSubIfd::doEncode(TiffEncoder& encoder, const Exifdatum* datum) { encoder.encodeSubIfd(this, datum); } // TiffSubIfd::doEncode uint32_t TiffComponent::count() const { return doCount(); } uint32_t TiffDirectory::doCount() const { return static_cast(components_.size()); } uint32_t TiffEntryBase::doCount() const { return count_; } uint32_t TiffMnEntry::doCount() const { if (!mn_) { return TiffEntryBase::doCount(); } // Count of IFD makernote in tag Exif.Photo.MakerNote is the size of the // Makernote in bytes assert(tiffType() == ttUndefined || tiffType() == ttUnsignedByte || tiffType() == ttSignedByte); return mn_->size(); } uint32_t TiffIfdMakernote::doCount() const { return ifd_.count(); } // TiffIfdMakernote::doCount uint32_t TiffBinaryArray::doCount() const { if (cfg() == 0 || !decoded()) return TiffEntryBase::doCount(); if (elements_.empty()) return 0; TypeId typeId = toTypeId(tiffType(), tag(), group()); long typeSize = TypeInfo::typeSize(typeId); if (0 == typeSize) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Directory " << groupName(group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << tag() << " has unknown Exif (TIFF) type " << std::dec << tiffType() << "; setting type size 1.\n"; #endif typeSize = 1; } return static_cast(static_cast(size()) / typeSize + 0.5); } uint32_t TiffBinaryElement::doCount() const { return elDef_.count_; } uint32_t TiffComponent::write(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx) { return doWrite(ioWrapper, byteOrder, offset, valueIdx, dataIdx, imageIdx); } // TiffComponent::write uint32_t TiffDirectory::doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx) { bool isRootDir = (imageIdx == uint32_t(-1)); // Number of components to write const uint32_t compCount = count(); if (compCount > 0xffff) throw Error(49, groupName(group())); // Size of next IFD, if any uint32_t sizeNext = 0; if (pNext_) sizeNext = pNext_->size(); // Nothing to do if there are no entries and the size of the next IFD is 0 if (compCount == 0 && sizeNext == 0) return 0; // Remember the offset of the CR2 RAW IFD if (group() == ifd3Id) { #ifdef DEBUG std::cerr << "Directory " << groupName(group()) << " offset is 0x" << std::setw(8) << std::setfill('0') << std::hex << offset << std::dec << "\n"; #endif ioWrapper.setTarget(OffsetWriter::cr2RawIfdOffset, offset); } // Size of all directory entries, without values and additional data const uint32_t sizeDir = 2 + 12 * compCount + (hasNext_ ? 4 : 0); // TIFF standard requires IFD entries to be sorted in ascending order by tag. // Not sorting makernote directories sometimes preserves them better. if (group() < mnId) { std::sort(components_.begin(), components_.end(), cmpTagLt); } // Size of IFD values and additional data uint32_t sizeValue = 0; uint32_t sizeData = 0; for (Components::const_iterator i = components_.begin(); i != components_.end(); ++i) { uint32_t sv = (*i)->size(); if (sv > 4) { sv += sv & 1; // Align value to word boundary sizeValue += sv; } // Also add the size of data, but only if needed if (isRootDir) { uint32_t sd = (*i)->sizeData(); sd += sd & 1; // Align data to word boundary sizeData += sd; } } uint32_t idx = 0; // Current IFD index / bytes written valueIdx = sizeDir; // Offset to the current IFD value dataIdx = sizeDir + sizeValue; // Offset to the entry's data area if (isRootDir) { // Absolute offset to the image data imageIdx = offset + dataIdx + sizeData + sizeNext; imageIdx += imageIdx & 1; // Align image data to word boundary } // 1st: Write the IFD, a) Number of directory entries byte buf[4]; us2Data(buf, static_cast(compCount), byteOrder); ioWrapper.write(buf, 2); idx += 2; // b) Directory entries - may contain pointers to the value or data for (Components::const_iterator i = components_.begin(); i != components_.end(); ++i) { idx += writeDirEntry(ioWrapper, byteOrder, offset, *i, valueIdx, dataIdx, imageIdx); uint32_t sv = (*i)->size(); if (sv > 4) { sv += sv & 1; // Align value to word boundary valueIdx += sv; } uint32_t sd = (*i)->sizeData(); sd += sd & 1; // Align data to word boundary dataIdx += sd; } // c) Pointer to the next IFD if (hasNext_) { memset(buf, 0x0, 4); if (pNext_ && sizeNext) { l2Data(buf, offset + dataIdx, byteOrder); } ioWrapper.write(buf, 4); idx += 4; } assert(idx == sizeDir); // 2nd: Write IFD values - may contain pointers to additional data valueIdx = sizeDir; dataIdx = sizeDir + sizeValue; for (Components::const_iterator i = components_.begin(); i != components_.end(); ++i) { uint32_t sv = (*i)->size(); if (sv > 4) { uint32_t d = (*i)->write(ioWrapper, byteOrder, offset, valueIdx, dataIdx, imageIdx); assert(sv == d); if ((sv & 1) == 1) { ioWrapper.putb(0x0); // Align value to word boundary sv += 1; } idx += sv; valueIdx += sv; } uint32_t sd = (*i)->sizeData(); sd += sd & 1; // Align data to word boundary dataIdx += sd; } assert(idx == sizeDir + sizeValue); // 3rd: Write data - may contain offsets too (eg sub-IFD) dataIdx = sizeDir + sizeValue; idx += writeData(ioWrapper, byteOrder, offset, dataIdx, imageIdx); // 4th: Write next-IFD if (pNext_ && sizeNext) { idx += pNext_->write(ioWrapper, byteOrder, offset + idx, uint32_t(-1), uint32_t(-1), imageIdx); } // 5th, at the root directory level only: write image data if (isRootDir) { idx += writeImage(ioWrapper, byteOrder); } return idx; } // TiffDirectory::doWrite uint32_t TiffDirectory::writeDirEntry(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, TiffComponent* pTiffComponent, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx) const { assert(pTiffComponent); TiffEntryBase* pDirEntry = dynamic_cast(pTiffComponent); assert(pDirEntry); byte buf[8]; us2Data(buf, pDirEntry->tag(), byteOrder); us2Data(buf + 2, pDirEntry->tiffType(), byteOrder); ul2Data(buf + 4, pDirEntry->count(), byteOrder); ioWrapper.write(buf, 8); if (pDirEntry->size() > 4) { pDirEntry->setOffset(offset + static_cast(valueIdx)); l2Data(buf, pDirEntry->offset(), byteOrder); ioWrapper.write(buf, 4); } else { const uint32_t len = pDirEntry->write(ioWrapper, byteOrder, offset, valueIdx, dataIdx, imageIdx); assert(len <= 4); if (len < 4) { memset(buf, 0x0, 4); ioWrapper.write(buf, 4 - len); } } return 12; } // TiffDirectory::writeDirEntry uint32_t TiffEntryBase::doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t /*offset*/, uint32_t /*valueIdx*/, uint32_t /*dataIdx*/, uint32_t& /*imageIdx*/) { if (!pValue_) return 0; DataBuf buf(pValue_->size()); pValue_->copy(buf.pData_, byteOrder); ioWrapper.write(buf.pData_, buf.size_); return buf.size_; } // TiffEntryBase::doWrite uint32_t TiffEntryBase::writeOffset(byte* buf, int32_t offset, TiffType tiffType, ByteOrder byteOrder) { uint32_t rc = 0; switch(tiffType) { case ttUnsignedShort: case ttSignedShort: if (static_cast(offset) > 0xffff) throw Error(26); rc = s2Data(buf, static_cast(offset), byteOrder); break; case ttUnsignedLong: case ttSignedLong: rc = l2Data(buf, static_cast(offset), byteOrder); break; default: throw Error(27); break; } return rc; } // TiffEntryBase::writeOffset uint32_t TiffDataEntry::doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t /*valueIdx*/, uint32_t dataIdx, uint32_t& /*imageIdx*/) { if (!pValue() || pValue()->count() == 0) return 0; DataBuf buf(pValue()->size()); uint32_t idx = 0; const long prevOffset = pValue()->toLong(0); for (uint32_t i = 0; i < count(); ++i) { const long newDataIdx = pValue()->toLong(i) - prevOffset + static_cast(dataIdx); idx += writeOffset(buf.pData_ + idx, offset + newDataIdx, tiffType(), byteOrder); } ioWrapper.write(buf.pData_, buf.size_); return buf.size_; } // TiffDataEntry::doWrite uint32_t TiffImageEntry::doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t /*valueIdx*/, uint32_t dataIdx, uint32_t& imageIdx) { uint32_t o2 = imageIdx; // For makernotes, write TIFF image data to the data area if (group() > mnId) o2 = offset + dataIdx; #ifdef DEBUG std::cerr << "TiffImageEntry, Directory " << groupName(group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << tag() << std::dec << ": Writing offset " << o2 << "\n"; #endif DataBuf buf(static_cast(strips_.size()) * 4); memset(buf.pData_, 0x0, buf.size_); uint32_t idx = 0; for (Strips::const_iterator i = strips_.begin(); i != strips_.end(); ++i) { idx += writeOffset(buf.pData_ + idx, o2, tiffType(), byteOrder); o2 += i->second; o2 += i->second & 1; // Align strip data to word boundary if (!(group() > mnId)) { // Todo: FIX THIS!! SHOULDN'T USE > imageIdx += i->second; imageIdx += i->second & 1; // Align strip data to word boundary } } ioWrapper.write(buf.pData_, buf.size_); return buf.size_; } // TiffImageEntry::doWrite uint32_t TiffSubIfd::doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t /*valueIdx*/, uint32_t dataIdx, uint32_t& /*imageIdx*/) { DataBuf buf(static_cast(ifds_.size()) * 4); uint32_t idx = 0; // Sort IFDs by group, needed if image data tags were copied first std::sort(ifds_.begin(), ifds_.end(), cmpGroupLt); for (Ifds::const_iterator i = ifds_.begin(); i != ifds_.end(); ++i) { idx += writeOffset(buf.pData_ + idx, offset + dataIdx, tiffType(), byteOrder); dataIdx += (*i)->size(); } ioWrapper.write(buf.pData_, buf.size_); return buf.size_; } // TiffSubIfd::doWrite uint32_t TiffMnEntry::doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx) { if (!mn_) { return TiffEntryBase::doWrite(ioWrapper, byteOrder, offset, valueIdx, dataIdx, imageIdx); } return mn_->write(ioWrapper, byteOrder, offset + valueIdx, uint32_t(-1), uint32_t(-1), imageIdx); } // TiffMnEntry::doWrite uint32_t TiffIfdMakernote::doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t /*valueIdx*/, uint32_t /*dataIdx*/, uint32_t& imageIdx) { mnOffset_ = offset; setImageByteOrder(byteOrder); uint32_t len = writeHeader(ioWrapper, this->byteOrder()); len += ifd_.write(ioWrapper, this->byteOrder(), offset - baseOffset() + len, uint32_t(-1), uint32_t(-1), imageIdx); return len; } // TiffIfdMakernote::doWrite uint32_t TiffBinaryArray::doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx) { if (cfg() == 0 || !decoded()) return TiffEntryBase::doWrite(ioWrapper, byteOrder, offset, valueIdx, dataIdx, imageIdx); if (cfg()->byteOrder_ != invalidByteOrder) byteOrder = cfg()->byteOrder_; // Tags must be sorted in ascending order std::sort(elements_.begin(), elements_.end(), cmpTagLt); uint32_t idx = 0; MemIo mio; IoWrapper mioWrapper(mio, 0, 0, 0); // Some array entries need to have the size in the first element if (cfg()->hasSize_) { byte buf[4]; long elSize = TypeInfo::typeSize(toTypeId(cfg()->elTiffType_, 0, cfg()->group_)); switch (elSize) { case 2: idx += us2Data(buf, size(), byteOrder); break; case 4: idx += ul2Data(buf, size(), byteOrder); break; default: assert(false); } mioWrapper.write(buf, elSize); } // write all tags of the array (Todo: assumes that there are no duplicates, need check) for (Components::const_iterator i = elements_.begin(); i != elements_.end(); ++i) { // Skip the manufactured tag, if it exists if (cfg()->hasSize_ && (*i)->tag() == 0) continue; uint32_t newIdx = (*i)->tag() * cfg()->tagStep(); idx += fillGap(mioWrapper, idx, newIdx); idx += (*i)->write(mioWrapper, byteOrder, offset + newIdx, valueIdx, dataIdx, imageIdx); } if (cfg()->hasFillers_ && def()) { const ArrayDef* lastDef = def() + defSize() - 1; uint16_t lastTag = static_cast(lastDef->idx_ / cfg()->tagStep()); idx += fillGap(mioWrapper, idx, lastDef->idx_ + lastDef->size(lastTag, cfg()->group_)); } DataBuf buf; if (cfg()->cryptFct_) { buf = cfg()->cryptFct_(tag(), mio.mmap(), static_cast(mio.size()), pRoot_); } if (buf.size_ > 0) { ioWrapper.write(buf.pData_, buf.size_); } else { ioWrapper.write(mio.mmap(), static_cast(mio.size())); } return idx; } // TiffBinaryArray::doWrite uint32_t TiffBinaryElement::doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t /*offset*/, uint32_t /*valueIdx*/, uint32_t /*dataIdx*/, uint32_t& /*imageIdx*/) { Value const* pv = pValue(); if (!pv || pv->count() == 0) return 0; DataBuf buf(pv->size()); pv->copy(buf.pData_, byteOrder); ioWrapper.write(buf.pData_, buf.size_); return buf.size_; } // TiffBinaryElement::doWrite uint32_t TiffComponent::writeData(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t& imageIdx) const { return doWriteData(ioWrapper, byteOrder, offset, dataIdx, imageIdx); } // TiffComponent::writeData uint32_t TiffDirectory::doWriteData(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t& imageIdx) const { uint32_t len = 0; for (Components::const_iterator i = components_.begin(); i != components_.end(); ++i) { len += (*i)->writeData(ioWrapper, byteOrder, offset, dataIdx + len, imageIdx); } return len; } // TiffDirectory::doWriteData uint32_t TiffEntryBase::doWriteData(IoWrapper&/*ioWrapper*/, ByteOrder /*byteOrder*/, int32_t /*offset*/, uint32_t /*dataIdx*/, uint32_t& /*imageIdx*/) const { return 0; } // TiffEntryBase::doWriteData uint32_t TiffImageEntry::doWriteData(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t /*offset*/, uint32_t /*dataIdx*/, uint32_t& /*imageIdx*/) const { uint32_t len = 0; // For makernotes, write TIFF image data to the data area if (group() > mnId) { // Todo: FIX THIS HACK!!! len = writeImage(ioWrapper, byteOrder); } return len; } // TiffImageEntry::doWriteData uint32_t TiffDataEntry::doWriteData(IoWrapper& ioWrapper, ByteOrder /*byteOrder*/, int32_t /*offset*/, uint32_t /*dataIdx*/, uint32_t& /*imageIdx*/) const { if (!pValue()) return 0; DataBuf buf = pValue()->dataArea(); ioWrapper.write(buf.pData_, buf.size_); // Align data to word boundary uint32_t align = (buf.size_ & 1); if (align) ioWrapper.putb(0x0); return buf.size_ + align; } // TiffDataEntry::doWriteData uint32_t TiffSubIfd::doWriteData(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t& imageIdx) const { uint32_t len = 0; for (Ifds::const_iterator i = ifds_.begin(); i != ifds_.end(); ++i) { len += (*i)->write(ioWrapper, byteOrder, offset + dataIdx + len, uint32_t(-1), uint32_t(-1), imageIdx); } // Align data to word boundary uint32_t align = (len & 1); if (align) ioWrapper.putb(0x0); return len + align; } // TiffSubIfd::doWriteData uint32_t TiffIfdMakernote::doWriteData(IoWrapper&/*ioWrapper*/, ByteOrder /*byteOrder*/, int32_t /*offset*/, uint32_t /*dataIdx*/, uint32_t& /*imageIdx*/) const { assert(false); return 0; } // TiffIfdMakernote::doWriteData uint32_t TiffComponent::writeImage(IoWrapper& ioWrapper, ByteOrder byteOrder) const { return doWriteImage(ioWrapper, byteOrder); } // TiffComponent::writeImage uint32_t TiffDirectory::doWriteImage(IoWrapper& ioWrapper, ByteOrder byteOrder) const { uint32_t len = 0; TiffComponent* pSubIfd = 0; for (Components::const_iterator i = components_.begin(); i != components_.end(); ++i) { if ((*i)->tag() == 0x014a) { // Hack: delay writing of sub-IFD image data to get the order correct assert(pSubIfd == 0); pSubIfd = *i; continue; } len += (*i)->writeImage(ioWrapper, byteOrder); } if (pSubIfd) { len += pSubIfd->writeImage(ioWrapper, byteOrder); } if (pNext_) { len += pNext_->writeImage(ioWrapper, byteOrder); } return len; } // TiffDirectory::doWriteImage uint32_t TiffEntryBase::doWriteImage(IoWrapper&/*ioWrapper*/, ByteOrder /*byteOrder*/) const { return 0; } // TiffEntryBase::doWriteImage uint32_t TiffSubIfd::doWriteImage(IoWrapper& ioWrapper, ByteOrder byteOrder) const { uint32_t len = 0; for (Ifds::const_iterator i = ifds_.begin(); i != ifds_.end(); ++i) { len += (*i)->writeImage(ioWrapper, byteOrder); } return len; } // TiffSubIfd::doWriteImage uint32_t TiffIfdMakernote::doWriteImage(IoWrapper& ioWrapper, ByteOrder byteOrder) const { if (this->byteOrder() != invalidByteOrder) { byteOrder = this->byteOrder(); } uint32_t len = ifd_.writeImage(ioWrapper, byteOrder); return len; } // TiffIfdMakernote::doWriteImage uint32_t TiffImageEntry::doWriteImage(IoWrapper& ioWrapper, ByteOrder /*byteOrder*/) const { uint32_t len = pValue()->sizeDataArea(); if (len > 0) { #ifdef DEBUG std::cerr << "TiffImageEntry, Directory " << groupName(group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << tag() << std::dec << ": Writing data area, size = " << len; #endif DataBuf buf = pValue()->dataArea(); ioWrapper.write(buf.pData_, buf.size_); uint32_t align = len & 1; // Align image data to word boundary if (align) ioWrapper.putb(0x0); len += align; } else { #ifdef DEBUG std::cerr << "TiffImageEntry, Directory " << groupName(group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << tag() << std::dec << ": Writing " << strips_.size() << " strips"; #endif len = 0; for (Strips::const_iterator i = strips_.begin(); i != strips_.end(); ++i) { ioWrapper.write(i->first, i->second); len += i->second; uint32_t align = i->second & 1; // Align strip data to word boundary if (align) ioWrapper.putb(0x0); len += align; } } #ifdef DEBUG std::cerr << ", len = " << len << " bytes\n"; #endif return len; } // TiffImageEntry::doWriteImage uint32_t TiffComponent::size() const { return doSize(); } // TiffComponent::size uint32_t TiffDirectory::doSize() const { uint32_t compCount = count(); // Size of the directory, without values and additional data uint32_t len = 2 + 12 * compCount + (hasNext_ ? 4 : 0); // Size of IFD values and data for (Components::const_iterator i = components_.begin(); i != components_.end(); ++i) { uint32_t sv = (*i)->size(); if (sv > 4) { sv += sv & 1; // Align value to word boundary len += sv; } uint32_t sd = (*i)->sizeData(); sd += sd & 1; // Align data to word boundary len += sd; } // Size of next-IFD, if any uint32_t sizeNext = 0; if (pNext_) { sizeNext = pNext_->size(); len += sizeNext; } // Reset size of IFD if it has no entries and no or empty next IFD. if (compCount == 0 && sizeNext == 0) len = 0; return len; } // TiffDirectory::doSize uint32_t TiffEntryBase::doSize() const { return size_; } // TiffEntryBase::doSize uint32_t TiffImageEntry::doSize() const { return static_cast(strips_.size()) * 4; } // TiffImageEntry::doSize uint32_t TiffSubIfd::doSize() const { return static_cast(ifds_.size()) * 4; } // TiffSubIfd::doSize uint32_t TiffMnEntry::doSize() const { if (!mn_) { return TiffEntryBase::doSize(); } return mn_->size(); } // TiffMnEntry::doSize uint32_t TiffIfdMakernote::doSize() const { return sizeHeader() + ifd_.size(); } // TiffIfdMakernote::doSize uint32_t TiffBinaryArray::doSize() const { if (cfg() == 0 || !decoded()) return TiffEntryBase::doSize(); if (elements_.empty()) return 0; // Remaining assumptions: // - array elements don't "overlap" // - no duplicate tags in the array uint32_t idx = 0; uint32_t sz = cfg()->tagStep(); for (Components::const_iterator i = elements_.begin(); i != elements_.end(); ++i) { if ((*i)->tag() > idx) { idx = (*i)->tag(); sz = (*i)->size(); } } idx = idx * cfg()->tagStep() + sz; if (cfg()->hasFillers_ && def()) { const ArrayDef* lastDef = def() + defSize() - 1; uint16_t lastTag = static_cast(lastDef->idx_ / cfg()->tagStep()); idx = EXV_MAX(idx, lastDef->idx_ + lastDef->size(lastTag, cfg()->group_)); } return idx; } // TiffBinaryArray::doSize uint32_t TiffBinaryElement::doSize() const { if (!pValue()) return 0; return pValue()->size(); } // TiffBinaryElement::doSize uint32_t TiffComponent::sizeData() const { return doSizeData(); } // TiffComponent::sizeData uint32_t TiffDirectory::doSizeData() const { assert(false); return 0; } // TiffDirectory::doSizeData uint32_t TiffEntryBase::doSizeData() const { return 0; } // TiffEntryBase::doSizeData uint32_t TiffImageEntry::doSizeData() const { uint32_t len = 0; // For makernotes, TIFF image data is written to the data area if (group() > mnId) { // Todo: Fix this hack!! len = sizeImage(); } return len; } // TiffImageEntry::doSizeData uint32_t TiffDataEntry::doSizeData() const { if (!pValue()) return 0; return pValue()->sizeDataArea(); } // TiffDataEntry::doSizeData uint32_t TiffSubIfd::doSizeData() const { uint32_t len = 0; for (Ifds::const_iterator i = ifds_.begin(); i != ifds_.end(); ++i) { len += (*i)->size(); } return len; } // TiffSubIfd::doSizeData uint32_t TiffIfdMakernote::doSizeData() const { assert(false); return 0; } // TiffIfdMakernote::doSizeData uint32_t TiffComponent::sizeImage() const { return doSizeImage(); } // TiffComponent::sizeImage uint32_t TiffDirectory::doSizeImage() const { uint32_t len = 0; for (Components::const_iterator i = components_.begin(); i != components_.end(); ++i) { len += (*i)->sizeImage(); } if (pNext_) { len += pNext_->sizeImage(); } return len; } // TiffDirectory::doSizeImage uint32_t TiffSubIfd::doSizeImage() const { uint32_t len = 0; for (Ifds::const_iterator i = ifds_.begin(); i != ifds_.end(); ++i) { len += (*i)->sizeImage(); } return len; } // TiffSubIfd::doSizeImage uint32_t TiffIfdMakernote::doSizeImage() const { return ifd_.sizeImage(); } // TiffIfdMakernote::doSizeImage uint32_t TiffEntryBase::doSizeImage() const { return 0; } // TiffEntryBase::doSizeImage uint32_t TiffImageEntry::doSizeImage() const { if (!pValue()) return 0; uint32_t len = pValue()->sizeDataArea(); if (len == 0) { for (Strips::const_iterator i = strips_.begin(); i != strips_.end(); ++i) { len += i->second; } } return len; } // TiffImageEntry::doSizeImage // ************************************************************************* // free functions TypeId toTypeId(TiffType tiffType, uint16_t tag, IfdId group) { TypeId ti = TypeId(tiffType); // On the fly type conversion for Exif.Photo.UserComment if (tag == 0x9286 && group == exifId && ti == undefined) { ti = comment; } // http://dev.exiv2.org/boards/3/topics/1337 change unsignedByte to signedByte // Exif.NikonAFT.AFFineTuneAdj || Exif.Pentax.Temperature if ( ti == Exiv2::unsignedByte ) { if ( (tag == 0x0002 && group == nikonAFTId ) || (tag == 0x0047 && group == pentaxId) ) { ti = Exiv2::signedByte; } } return ti; } TiffType toTiffType(TypeId typeId) { if (static_cast(typeId) > 0xffff) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "'" << TypeInfo::typeName(typeId) << "' is not a valid Exif (TIFF) type; using type '" << TypeInfo::typeName(undefined) << "'.\n"; #endif return undefined; } return static_cast(typeId); } bool cmpTagLt(TiffComponent const* lhs, TiffComponent const* rhs) { assert(lhs != 0); assert(rhs != 0); if (lhs->tag() != rhs->tag()) return lhs->tag() < rhs->tag(); return lhs->idx() < rhs->idx(); } bool cmpGroupLt(TiffComponent const* lhs, TiffComponent const* rhs) { assert(lhs != 0); assert(rhs != 0); return lhs->group() < rhs->group(); } TiffComponent::AutoPtr newTiffEntry(uint16_t tag, IfdId group) { return TiffComponent::AutoPtr(new TiffEntry(tag, group)); } TiffComponent::AutoPtr newTiffMnEntry(uint16_t tag, IfdId group) { return TiffComponent::AutoPtr(new TiffMnEntry(tag, group, mnId)); } TiffComponent::AutoPtr newTiffBinaryElement(uint16_t tag, IfdId group) { return TiffComponent::AutoPtr(new TiffBinaryElement(tag, group)); } }} // namespace Internal, Exiv2 // ***************************************************************************** // local definitions namespace { uint32_t fillGap(Exiv2::Internal::IoWrapper& ioWrapper, uint32_t curr, uint32_t tobe) { if (curr < tobe) { Exiv2::DataBuf buf(tobe - curr); memset(buf.pData_, 0x0, buf.size_); ioWrapper.write(buf.pData_, buf.size_); return tobe - curr; } return 0; } // fillGap } exiv2-0.25/src/types.cpp0000664000175000017500000005203512521135474014763 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: types.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 26-Jan-04, ahu: created 11-Feb-04, ahu: isolated as a component */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: types.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // ***************************************************************************** // included header files #include "types.hpp" #include "i18n.h" // for _exvGettext // + standard includes #ifdef EXV_UNICODE_PATH # include // for MultiByteToWideChar etc #endif #include #include #include #include #include #include #include #include #include #include #include #include // ***************************************************************************** namespace { //! Information pertaining to the defined %Exiv2 value type identifiers. struct TypeInfoTable { Exiv2::TypeId typeId_; //!< Type id const char* name_; //!< Name of the type long size_; //!< Bytes per data entry //! Comparison operator for \em typeId bool operator==(Exiv2::TypeId typeId) const { return typeId_ == typeId; } //! Comparison operator for \em name bool operator==(const std::string& name) const { return 0 == strcmp(name_, name.c_str()); } }; // struct TypeInfoTable //! Lookup list with information of Exiv2 types const TypeInfoTable typeInfoTable[] = { { Exiv2::invalidTypeId, "Invalid", 0 }, { Exiv2::unsignedByte, "Byte", 1 }, { Exiv2::asciiString, "Ascii", 1 }, { Exiv2::unsignedShort, "Short", 2 }, { Exiv2::unsignedLong, "Long", 4 }, { Exiv2::unsignedRational, "Rational", 8 }, { Exiv2::signedByte, "SByte", 1 }, { Exiv2::undefined, "Undefined", 1 }, { Exiv2::signedShort, "SShort", 2 }, { Exiv2::signedLong, "SLong", 4 }, { Exiv2::signedRational, "SRational", 8 }, { Exiv2::tiffFloat, "Float", 4 }, { Exiv2::tiffDouble, "Double", 8 }, { Exiv2::tiffIfd, "Ifd", 4 }, { Exiv2::string, "String", 1 }, { Exiv2::date, "Date", 8 }, { Exiv2::time, "Time", 11 }, { Exiv2::comment, "Comment", 1 }, { Exiv2::directory, "Directory", 1 }, { Exiv2::xmpText, "XmpText", 1 }, { Exiv2::xmpAlt, "XmpAlt", 1 }, { Exiv2::xmpBag, "XmpBag", 1 }, { Exiv2::xmpSeq, "XmpSeq", 1 }, { Exiv2::langAlt, "LangAlt", 1 } }; } // ***************************************************************************** // class member definitions namespace Exiv2 { const char* TypeInfo::typeName(TypeId typeId) { const TypeInfoTable* tit = find(typeInfoTable, typeId); if (!tit) return 0; return tit->name_; } TypeId TypeInfo::typeId(const std::string& typeName) { const TypeInfoTable* tit = find(typeInfoTable, typeName); if (!tit) return invalidTypeId; return tit->typeId_; } long TypeInfo::typeSize(TypeId typeId) { const TypeInfoTable* tit = find(typeInfoTable, typeId); if (!tit) return 0; return tit->size_; } DataBuf::DataBuf(DataBuf& rhs) : pData_(rhs.pData_), size_(rhs.size_) { rhs.release(); } DataBuf::DataBuf(const byte* pData, long size) : pData_(0), size_(0) { if (size > 0) { pData_ = new byte[size]; std::memcpy(pData_, pData, size); size_ = size; } } DataBuf& DataBuf::operator=(DataBuf& rhs) { if (this == &rhs) return *this; reset(rhs.release()); return *this; } void DataBuf::alloc(long size) { if (size > size_) { delete[] pData_; pData_ = 0; size_ = 0; pData_ = new byte[size]; size_ = size; } } std::pair DataBuf::release() { std::pair p = std::make_pair(pData_, size_); pData_ = 0; size_ = 0; return p; } void DataBuf::reset(std::pair p) { if (pData_ != p.first) { delete[] pData_; pData_ = p.first; } size_ = p.second; } // ************************************************************************* // free functions std::ostream& operator<<(std::ostream& os, const Rational& r) { return os << r.first << "/" << r.second; } std::istream& operator>>(std::istream& is, Rational& r) { // http://dev.exiv2.org/boards/3/topics/1912?r=1915 if ( std::tolower(is.peek()) == 'f' ) { char F; float f; is >> F >> f ; f = 2.0f * std::log(f) / std::log(2.0f) ; r = Exiv2::floatToRationalCast(f); } else { int32_t nominator; int32_t denominator; char c('\0'); is >> nominator >> c >> denominator; if (c != '/') is.setstate(std::ios::failbit); if (is) r = std::make_pair(nominator, denominator); } return is; } std::ostream& operator<<(std::ostream& os, const URational& r) { return os << r.first << "/" << r.second; } std::istream& operator>>(std::istream& is, URational& r) { // http://dev.exiv2.org/boards/3/topics/1912?r=1915 if ( std::tolower(is.peek()) == 'f' ) { char F; float f; is >> F >> f ; f = 2.0f * std::log(f) / std::log(2.0f) ; r = Exiv2::floatToRationalCast(f); } else { uint32_t nominator; uint32_t denominator; char c('\0'); is >> nominator >> c >> denominator; if (c != '/') is.setstate(std::ios::failbit); if (is) r = std::make_pair(nominator, denominator); } return is; } uint16_t getUShort(const byte* buf, ByteOrder byteOrder) { if (byteOrder == littleEndian) { return (byte)buf[1] << 8 | (byte)buf[0]; } else { return (byte)buf[0] << 8 | (byte)buf[1]; } } uint32_t getULong(const byte* buf, ByteOrder byteOrder) { if (byteOrder == littleEndian) { return (byte)buf[3] << 24 | (byte)buf[2] << 16 | (byte)buf[1] << 8 | (byte)buf[0]; } else { return (byte)buf[0] << 24 | (byte)buf[1] << 16 | (byte)buf[2] << 8 | (byte)buf[3]; } } URational getURational(const byte* buf, ByteOrder byteOrder) { uint32_t nominator = getULong(buf, byteOrder); uint32_t denominator = getULong(buf + 4, byteOrder); return std::make_pair(nominator, denominator); } int16_t getShort(const byte* buf, ByteOrder byteOrder) { if (byteOrder == littleEndian) { return (byte)buf[1] << 8 | (byte)buf[0]; } else { return (byte)buf[0] << 8 | (byte)buf[1]; } } int32_t getLong(const byte* buf, ByteOrder byteOrder) { if (byteOrder == littleEndian) { return (byte)buf[3] << 24 | (byte)buf[2] << 16 | (byte)buf[1] << 8 | (byte)buf[0]; } else { return (byte)buf[0] << 24 | (byte)buf[1] << 16 | (byte)buf[2] << 8 | (byte)buf[3]; } } Rational getRational(const byte* buf, ByteOrder byteOrder) { int32_t nominator = getLong(buf, byteOrder); int32_t denominator = getLong(buf + 4, byteOrder); return std::make_pair(nominator, denominator); } float getFloat(const byte* buf, ByteOrder byteOrder) { // This algorithm assumes that the internal representation of the float // type is the 4-byte IEEE 754 binary32 format, which is common but not // required by the C++ standard. assert(sizeof(float) == 4); union { uint32_t ul_; float f_; } u; u.ul_ = getULong(buf, byteOrder); return u.f_; } double getDouble(const byte* buf, ByteOrder byteOrder) { // This algorithm assumes that the internal representation of the double // type is the 8-byte IEEE 754 binary64 format, which is common but not // required by the C++ standard. assert(sizeof(double) == 8); union { uint64_t ull_; double d_; } u; u.ull_ = 0; if (byteOrder == littleEndian) { u.ull_ = static_cast(buf[7]) << 56 | static_cast(buf[6]) << 48 | static_cast(buf[5]) << 40 | static_cast(buf[4]) << 32 | static_cast(buf[3]) << 24 | static_cast(buf[2]) << 16 | static_cast(buf[1]) << 8 | static_cast(buf[0]); } else { u.ull_ = static_cast(buf[0]) << 56 | static_cast(buf[1]) << 48 | static_cast(buf[2]) << 40 | static_cast(buf[3]) << 32 | static_cast(buf[4]) << 24 | static_cast(buf[5]) << 16 | static_cast(buf[6]) << 8 | static_cast(buf[7]); } return u.d_; } long us2Data(byte* buf, uint16_t s, ByteOrder byteOrder) { if (byteOrder == littleEndian) { buf[0] = (byte) (s & 0x00ff); buf[1] = (byte)((s & 0xff00) >> 8); } else { buf[0] = (byte)((s & 0xff00) >> 8); buf[1] = (byte) (s & 0x00ff); } return 2; } long ul2Data(byte* buf, uint32_t l, ByteOrder byteOrder) { if (byteOrder == littleEndian) { buf[0] = (byte) (l & 0x000000ff); buf[1] = (byte)((l & 0x0000ff00) >> 8); buf[2] = (byte)((l & 0x00ff0000) >> 16); buf[3] = (byte)((l & 0xff000000) >> 24); } else { buf[0] = (byte)((l & 0xff000000) >> 24); buf[1] = (byte)((l & 0x00ff0000) >> 16); buf[2] = (byte)((l & 0x0000ff00) >> 8); buf[3] = (byte) (l & 0x000000ff); } return 4; } long ur2Data(byte* buf, URational l, ByteOrder byteOrder) { long o = ul2Data(buf, l.first, byteOrder); o += ul2Data(buf+o, l.second, byteOrder); return o; } long s2Data(byte* buf, int16_t s, ByteOrder byteOrder) { if (byteOrder == littleEndian) { buf[0] = (byte)(s & 0x00ff); buf[1] = (byte)((s & 0xff00) >> 8); } else { buf[0] = (byte)((s & 0xff00) >> 8); buf[1] = (byte)(s & 0x00ff); } return 2; } long l2Data(byte* buf, int32_t l, ByteOrder byteOrder) { if (byteOrder == littleEndian) { buf[0] = (byte)(l & 0x000000ff); buf[1] = (byte)((l & 0x0000ff00) >> 8); buf[2] = (byte)((l & 0x00ff0000) >> 16); buf[3] = (byte)((l & 0xff000000) >> 24); } else { buf[0] = (byte)((l & 0xff000000) >> 24); buf[1] = (byte)((l & 0x00ff0000) >> 16); buf[2] = (byte)((l & 0x0000ff00) >> 8); buf[3] = (byte)(l & 0x000000ff); } return 4; } long r2Data(byte* buf, Rational l, ByteOrder byteOrder) { long o = l2Data(buf, l.first, byteOrder); o += l2Data(buf+o, l.second, byteOrder); return o; } long f2Data(byte* buf, float f, ByteOrder byteOrder) { // This algorithm assumes that the internal representation of the float // type is the 4-byte IEEE 754 binary32 format, which is common but not // required by the C++ standard. assert(sizeof(float) == 4); union { uint32_t ul_; float f_; } u; u.f_ = f; return ul2Data(buf, u.ul_, byteOrder); } long d2Data(byte* buf, double d, ByteOrder byteOrder) { // This algorithm assumes that the internal representation of the double // type is the 8-byte IEEE 754 binary64 format, which is common but not // required by the C++ standard. assert(sizeof(double) == 8); union { uint64_t ull_; double d_; } u; u.d_ = d; uint64_t m = 0xff; if (byteOrder == littleEndian) { buf[0] = (byte)(u.ull_ & m); buf[1] = (byte)((u.ull_ & (m << 8)) >> 8); buf[2] = (byte)((u.ull_ & (m << 16)) >> 16); buf[3] = (byte)((u.ull_ & (m << 24)) >> 24); buf[4] = (byte)((u.ull_ & (m << 32)) >> 32); buf[5] = (byte)((u.ull_ & (m << 40)) >> 40); buf[6] = (byte)((u.ull_ & (m << 48)) >> 48); buf[7] = (byte)((u.ull_ & (m << 56)) >> 56); } else { buf[0] = (byte)((u.ull_ & (m << 56)) >> 56); buf[1] = (byte)((u.ull_ & (m << 48)) >> 48); buf[2] = (byte)((u.ull_ & (m << 40)) >> 40); buf[3] = (byte)((u.ull_ & (m << 32)) >> 32); buf[4] = (byte)((u.ull_ & (m << 24)) >> 24); buf[5] = (byte)((u.ull_ & (m << 16)) >> 16); buf[6] = (byte)((u.ull_ & (m << 8)) >> 8); buf[7] = (byte)(u.ull_ & m); } return 8; } void hexdump(std::ostream& os, const byte* buf, long len, long offset) { const std::string::size_type pos = 8 + 16 * 3 + 2; const std::string align(pos, ' '); std::ios::fmtflags f( os.flags() ); long i = 0; while (i < len) { os << " " << std::setw(4) << std::setfill('0') << std::hex << i + offset << " "; std::ostringstream ss; do { byte c = buf[i]; os << std::setw(2) << std::setfill('0') << std::right << std::hex << (int)c << " "; ss << ((int)c >= 31 && (int)c < 127 ? char(buf[i]) : '.'); } while (++i < len && i%16 != 0); std::string::size_type width = 9 + ((i-1)%16 + 1) * 3; os << (width > pos ? "" : align.substr(width)) << ss.str() << "\n"; } os << std::dec << std::setfill(' '); os.flags(f); } // hexdump bool isHex(const std::string& str, size_t size, const std::string& prefix) { if ( str.size() <= prefix.size() || str.substr(0, prefix.size()) != prefix) return false; if ( size > 0 && str.size() != size + prefix.size()) return false; for (size_t i = prefix.size(); i < str.size(); ++i) { if (!isxdigit(str[i])) return false; } return true; } // isHex int exifTime(const char* buf, struct tm* tm) { assert(buf != 0); assert(tm != 0); int rc = 1; int year, mon, mday, hour, min, sec; int scanned = std::sscanf(buf, "%4d:%2d:%2d %2d:%2d:%2d", &year, &mon, &mday, &hour, &min, &sec); if (scanned == 6) { tm->tm_year = year - 1900; tm->tm_mon = mon - 1; tm->tm_mday = mday; tm->tm_hour = hour; tm->tm_min = min; tm->tm_sec = sec; rc = 0; } return rc; } // exifTime const char* exvGettext(const char* str) { #ifdef EXV_ENABLE_NLS return _exvGettext(str); #else return str; #endif } #ifdef EXV_UNICODE_PATH std::string ws2s(const std::wstring& s) { int len; int slength = (int)s.length() + 1; len = WideCharToMultiByte(CP_ACP, 0, s.c_str(), slength, 0, 0, 0, 0); char* buf = new char[len]; WideCharToMultiByte(CP_ACP, 0, s.c_str(), slength, buf, len, 0, 0); std::string r(buf); delete[] buf; return r; } std::wstring s2ws(const std::string& s) { int len; int slength = (int)s.length() + 1; len = MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, 0, 0); wchar_t* buf = new wchar_t[len]; MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, buf, len); std::wstring r(buf); delete[] buf; return r; } #endif // EXV_UNICODE_PATH template<> bool stringTo(const std::string& s, bool& ok) { std::string lcs(s); /* lowercase string */ for(unsigned i = 0; i < lcs.length(); i++) { lcs[i] = std::tolower(s[i]); } /* handle the same values as xmp sdk */ if (lcs == "false" || lcs == "f" || lcs == "0") { ok = true; return false; } if (lcs == "true" || lcs == "t" || lcs == "1") { ok = true; return true; } ok = false; return false; } long parseLong(const std::string& s, bool& ok) { long ret = stringTo(s, ok); if (ok) return ret; float f = stringTo(s, ok); if (ok) return static_cast(f); Rational r = stringTo(s, ok); if (ok) { if (r.second == 0) { ok = false; return 0; } return static_cast(static_cast(r.first) / r.second); } bool b = stringTo(s, ok); if (ok) return b ? 1 : 0; // everything failed, return from stringTo is probably the best fit return ret; } float parseFloat(const std::string& s, bool& ok) { float ret = stringTo(s, ok); if (ok) return ret; Rational r = stringTo(s, ok); if (ok) { if (r.second == 0) { ok = false; return 0.0; } return static_cast(r.first) / r.second; } bool b = stringTo(s, ok); if (ok) return b ? 1.0f : 0.0f; // everything failed, return from stringTo is probably the best fit return ret; } Rational parseRational(const std::string& s, bool& ok) { Rational ret = stringTo(s, ok); if (ok) return ret; long l = stringTo(s, ok); if (ok) return Rational(l, 1); float f = stringTo(s, ok); if (ok) return floatToRationalCast(f); bool b = stringTo(s, ok); if (ok) return b ? Rational(1, 1) : Rational(0, 1); // everything failed, return from stringTo is probably the best fit return ret; } Rational floatToRationalCast(float f) { // Beware: primitive conversion algorithm int32_t den = 1000000; if (std::labs(static_cast(f)) > 2147) den = 10000; if (std::labs(static_cast(f)) > 214748) den = 100; if (std::labs(static_cast(f)) > 21474836) den = 1; const float rnd = f >= 0 ? 0.5f : -0.5f; const int32_t nom = static_cast(f * den + rnd); const int32_t g = gcd(nom, den); return Rational(nom/g, den/g); } } // namespace Exiv2 #ifdef EXV_ENABLE_NLS // Declaration is in i18n.h const char* _exvGettext(const char* str) { static bool exvGettextInitialized = false; if (!exvGettextInitialized) { bindtextdomain(EXV_PACKAGE, EXV_LOCALEDIR); # ifdef EXV_HAVE_BIND_TEXTDOMAIN_CODESET bind_textdomain_codeset (EXV_PACKAGE, "UTF-8"); # endif exvGettextInitialized = true; } return dgettext(EXV_PACKAGE, str); } #endif // EXV_ENABLE_NLS exiv2-0.25/src/localtime.c0000664000175000017500000011036212447013555015230 0ustar andreasandreas/*! @file localtime.c @brief This file is from the tz distribution at ftp://elsie.nci.nih.gov/pub/ @version $Rev: 3479 $ */ #include "config.h" #include "timegm.h" /* ** This file is in the public domain, so clarified as of ** 1996-06-05 by Arthur David Olson (arthur_david_olson@nih.gov). */ #ifndef lint #ifndef NOID static char elsieid[] = "@(#)localtime.c 7.78"; #endif /* !defined NOID */ #endif /* !defined lint */ /* ** Leap second handling from Bradley White (bww@k.gp.cs.cmu.edu). ** POSIX-style TZ environment variable handling from Guy Harris ** (guy@auspex.com). */ /*LINTLIBRARY*/ #include "private.h" #include "tzfile.h" #include "fcntl.h" /* ** SunOS 4.1.1 headers lack O_BINARY. */ #ifdef O_BINARY #define OPEN_MODE (O_RDONLY | O_BINARY) #endif /* defined O_BINARY */ #ifndef O_BINARY #define OPEN_MODE O_RDONLY #endif /* !defined O_BINARY */ #ifndef WILDABBR /* ** Someone might make incorrect use of a time zone abbreviation: ** 1. They might reference tzname[0] before calling tzset (explicitly ** or implicitly). ** 2. They might reference tzname[1] before calling tzset (explicitly ** or implicitly). ** 3. They might reference tzname[1] after setting to a time zone ** in which Daylight Saving Time is never observed. ** 4. They might reference tzname[0] after setting to a time zone ** in which Standard Time is never observed. ** 5. They might reference tm.TM_ZONE after calling offtime. ** What's best to do in the above cases is open to debate; ** for now, we just set things up so that in any of the five cases ** WILDABBR is used. Another possibility: initialize tzname[0] to the ** string "tzname[0] used before set", and similarly for the other cases. ** And another: initialize tzname[0] to "ERA", with an explanation in the ** manual page of what this "time zone abbreviation" means (doing this so ** that tzname[0] has the "normal" length of three characters). */ #define WILDABBR " " #endif /* !defined WILDABBR */ /* ahu: added conditional */ #ifdef TM_ZONE static char wildabbr[] = "WILDABBR"; #endif /* TM_ZONE */ static const char gmt[] = "GMT"; /* ** The DST rules to use if TZ has no rules and we can't load TZDEFRULES. ** We default to US rules as of 1999-08-17. ** POSIX 1003.1 section 8.1.1 says that the default DST rules are ** implementation dependent; for historical reasons, US rules are a ** common default. */ #ifndef TZDEFRULESTRING #define TZDEFRULESTRING ",M4.1.0,M10.5.0" #endif /* !defined TZDEFDST */ struct ttinfo { /* time type information */ long tt_gmtoff; /* UTC offset in seconds */ int tt_isdst; /* used to set tm_isdst */ size_t tt_abbrind; /* abbreviation list index */ int tt_ttisstd; /* TRUE if transition is std time */ int tt_ttisgmt; /* TRUE if transition is UTC */ }; struct lsinfo { /* leap second information */ time_t ls_trans; /* transition time */ long ls_corr; /* correction to apply */ }; #define BIGGEST(a, b) (((a) > (b)) ? (a) : (b)) #ifdef TZNAME_MAX #define MY_TZNAME_MAX TZNAME_MAX #endif /* defined TZNAME_MAX */ #ifndef TZNAME_MAX #define MY_TZNAME_MAX 255 #endif /* !defined TZNAME_MAX */ struct state { int leapcnt; int timecnt; int typecnt; size_t charcnt; time_t ats[TZ_MAX_TIMES]; unsigned char types[TZ_MAX_TIMES]; struct ttinfo ttis[TZ_MAX_TYPES]; char chars[BIGGEST(BIGGEST(TZ_MAX_CHARS + 1, sizeof gmt), (2 * (MY_TZNAME_MAX + 1)))]; struct lsinfo lsis[TZ_MAX_LEAPS]; }; struct rule { int r_type; /* type of rule--see below */ int r_day; /* day number of rule */ int r_week; /* week number of rule */ int r_mon; /* month number of rule */ long r_time; /* transition time of rule */ }; #define JULIAN_DAY 0 /* Jn - Julian day */ #define DAY_OF_YEAR 1 /* n - day of year */ #define MONTH_NTH_DAY_OF_WEEK 2 /* Mm.n.d - month, week, day of week */ /* ** Prototypes for static functions. */ /* ahu: deleted declaration of detzcode */ static const char * getzname P((const char * strp)); static const char * getnum P((const char * strp, int * nump, int min, int max)); static const char * getsecs P((const char * strp, long * secsp)); static const char * getoffset P((const char * strp, long * offsetp)); static const char * getrule P((const char * strp, struct rule * rulep)); static void gmtload P((struct state * sp)); static void gmtsub P((const time_t * timep, long offset, struct tm * tmp)); static void localsub P((const time_t * timep, long offset, struct tm * tmp)); static int increment_overflow P((int * number, int delta)); static int normalize_overflow P((int * tensptr, int * unitsptr, int base)); /* ahu: deleted declaration of settzname */ static time_t time1 P((struct tm * tmp, void(*funcp) P((const time_t *, long, struct tm *)), long offset)); static time_t time2 P((struct tm *tmp, void(*funcp) P((const time_t *, long, struct tm*)), long offset, int * okayp)); static time_t time2sub P((struct tm *tmp, void(*funcp) P((const time_t *, long, struct tm*)), long offset, int * okayp, int do_norm_secs)); static void timesub P((const time_t * timep, long offset, const struct state * sp, struct tm * tmp)); static int tmcomp P((const struct tm * atmp, const struct tm * btmp)); static time_t transtime P((time_t janfirst, int year, const struct rule * rulep, long offset)); static int tzload P((const char * name, struct state * sp)); static int tzparse P((const char * name, struct state * sp, int lastditch)); #ifdef ALL_STATE static struct state * lclptr; static struct state * gmtptr; #endif /* defined ALL_STATE */ #ifndef ALL_STATE static struct state lclmem; static struct state gmtmem; #define lclptr (&lclmem) #define gmtptr (&gmtmem) #endif /* State Farm */ #ifndef TZ_STRLEN_MAX #define TZ_STRLEN_MAX 255 #endif /* !defined TZ_STRLEN_MAX */ /* ahu: deleted definition of lcl_TZname[] and lcl_is_set */ static int gmt_is_set; /* ahu: deleted definition of tzname[] */ /* ** Section 4.12.3 of X3.159-1989 requires that ** Except for the strftime function, these functions [asctime, ** ctime, gmtime, localtime] return values in one of two static ** objects: a broken-down time structure and an array of char. ** Thanks to Paul Eggert (eggert@twinsun.com) for noting this. */ /* deleted definition of tm */ #ifdef USG_COMPAT time_t timezone = 0; int daylight = 0; #endif /* defined USG_COMPAT */ #ifdef ALTZONE time_t altzone = 0; #endif /* defined ALTZONE */ static long detzcode(codep) const char * const codep; { register long result; register int i; result = (codep[0] & 0x80) ? ~0L : 0L; for (i = 0; i < 4; ++i) result = (result << 8) | (codep[i] & 0xff); return result; } /* ahu: deleted definition of settzname */ static int tzload(name, sp) register const char * name; register struct state * const sp; { register const char * p; register int i; register int fid; if (name == NULL && (name = TZDEFAULT) == NULL) return -1; { register int doaccess; /* ** Section 4.9.1 of the C standard says that ** "FILENAME_MAX expands to an integral constant expression ** that is the size needed for an array of char large enough ** to hold the longest file name string that the implementation ** guarantees can be opened." */ char fullname[FILENAME_MAX + 1]; if (name[0] == ':') ++name; doaccess = name[0] == '/'; if (!doaccess) { if ((p = TZDIR) == NULL) return -1; if ((strlen(p) + strlen(name) + 1) >= sizeof fullname) return -1; (void) strcpy(fullname, p); (void) strcat(fullname, "/"); (void) strcat(fullname, name); /* ** Set doaccess if '.' (as in "../") shows up in name. */ if (strchr(name, '.') != NULL) doaccess = TRUE; name = fullname; } if (doaccess && access(name, R_OK) != 0) return -1; if ((fid = open(name, OPEN_MODE)) == -1) return -1; } { struct tzhead * tzhp; union { struct tzhead tzhead; char buf[sizeof *sp + sizeof *tzhp]; } u; int ttisstdcnt; int ttisgmtcnt; i = read(fid, u.buf, sizeof u.buf); if (close(fid) != 0) return -1; ttisstdcnt = (int) detzcode(u.tzhead.tzh_ttisstdcnt); ttisgmtcnt = (int) detzcode(u.tzhead.tzh_ttisgmtcnt); sp->leapcnt = (int) detzcode(u.tzhead.tzh_leapcnt); sp->timecnt = (int) detzcode(u.tzhead.tzh_timecnt); sp->typecnt = (int) detzcode(u.tzhead.tzh_typecnt); sp->charcnt = detzcode(u.tzhead.tzh_charcnt); p = u.tzhead.tzh_charcnt + sizeof u.tzhead.tzh_charcnt; if (sp->leapcnt < 0 || sp->leapcnt > TZ_MAX_LEAPS || sp->typecnt <= 0 || sp->typecnt > TZ_MAX_TYPES || sp->timecnt < 0 || sp->timecnt > TZ_MAX_TIMES || sp->charcnt < 0 || sp->charcnt > TZ_MAX_CHARS || (ttisstdcnt != sp->typecnt && ttisstdcnt != 0) || (ttisgmtcnt != sp->typecnt && ttisgmtcnt != 0)) return -1; if (i - (p - u.buf) < sp->timecnt * 4 + /* ats */ sp->timecnt + /* types */ sp->typecnt * (4 + 2) + /* ttinfos */ (int)sp->charcnt + /* chars */ sp->leapcnt * (4 + 4) + /* lsinfos */ ttisstdcnt + /* ttisstds */ ttisgmtcnt) /* ttisgmts */ return -1; for (i = 0; i < sp->timecnt; ++i) { sp->ats[i] = detzcode(p); p += 4; } for (i = 0; i < sp->timecnt; ++i) { sp->types[i] = (unsigned char) *p++; if (sp->types[i] >= sp->typecnt) return -1; } for (i = 0; i < sp->typecnt; ++i) { register struct ttinfo * ttisp; ttisp = &sp->ttis[i]; ttisp->tt_gmtoff = detzcode(p); p += 4; ttisp->tt_isdst = (unsigned char) *p++; if (ttisp->tt_isdst != 0 && ttisp->tt_isdst != 1) return -1; ttisp->tt_abbrind = (unsigned char) *p++; if (ttisp->tt_abbrind < 0 || ttisp->tt_abbrind > sp->charcnt) return -1; } for (i = 0; i < (int)sp->charcnt; ++i) sp->chars[i] = *p++; sp->chars[i] = '\0'; /* ensure '\0' at end */ for (i = 0; i < sp->leapcnt; ++i) { register struct lsinfo * lsisp; lsisp = &sp->lsis[i]; lsisp->ls_trans = detzcode(p); p += 4; lsisp->ls_corr = detzcode(p); p += 4; } for (i = 0; i < sp->typecnt; ++i) { register struct ttinfo * ttisp; ttisp = &sp->ttis[i]; if (ttisstdcnt == 0) ttisp->tt_ttisstd = FALSE; else { ttisp->tt_ttisstd = *p++; if (ttisp->tt_ttisstd != TRUE && ttisp->tt_ttisstd != FALSE) return -1; } } for (i = 0; i < sp->typecnt; ++i) { register struct ttinfo * ttisp; ttisp = &sp->ttis[i]; if (ttisgmtcnt == 0) ttisp->tt_ttisgmt = FALSE; else { ttisp->tt_ttisgmt = *p++; if (ttisp->tt_ttisgmt != TRUE && ttisp->tt_ttisgmt != FALSE) return -1; } } } return 0; } static const int mon_lengths[2][MONSPERYEAR] = { { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } }; static const int year_lengths[2] = { DAYSPERNYEAR, DAYSPERLYEAR }; /* ** Given a pointer into a time zone string, scan until a character that is not ** a valid character in a zone name is found. Return a pointer to that ** character. */ static const char * getzname(strp) register const char * strp; { register char c; while ((c = *strp) != '\0' && !is_digit(c) && c != ',' && c != '-' && c != '+') ++strp; return strp; } /* ** Given a pointer into a time zone string, extract a number from that string. ** Check that the number is within a specified range; if it is not, return ** NULL. ** Otherwise, return a pointer to the first character not part of the number. */ static const char * getnum(strp, nump, min, max) register const char * strp; int * const nump; const int min; const int max; { register char c; register int num; if (strp == NULL || !is_digit(c = *strp)) return NULL; num = 0; do { num = num * 10 + (c - '0'); if (num > max) return NULL; /* illegal value */ c = *++strp; } while (is_digit(c)); if (num < min) return NULL; /* illegal value */ *nump = num; return strp; } /* ** Given a pointer into a time zone string, extract a number of seconds, ** in hh[:mm[:ss]] form, from the string. ** If any error occurs, return NULL. ** Otherwise, return a pointer to the first character not part of the number ** of seconds. */ static const char * getsecs(strp, secsp) register const char * strp; long * const secsp; { int num; /* ** `HOURSPERDAY * DAYSPERWEEK - 1' allows quasi-Posix rules like ** "M10.4.6/26", which does not conform to Posix, ** but which specifies the equivalent of ** ``02:00 on the first Sunday on or after 23 Oct''. */ strp = getnum(strp, &num, 0, HOURSPERDAY * DAYSPERWEEK - 1); if (strp == NULL) return NULL; *secsp = num * (long) SECSPERHOUR; if (*strp == ':') { ++strp; strp = getnum(strp, &num, 0, MINSPERHOUR - 1); if (strp == NULL) return NULL; *secsp += num * SECSPERMIN; if (*strp == ':') { ++strp; /* `SECSPERMIN' allows for leap seconds. */ strp = getnum(strp, &num, 0, SECSPERMIN); if (strp == NULL) return NULL; *secsp += num; } } return strp; } /* ** Given a pointer into a time zone string, extract an offset, in ** [+-]hh[:mm[:ss]] form, from the string. ** If any error occurs, return NULL. ** Otherwise, return a pointer to the first character not part of the time. */ static const char * getoffset(strp, offsetp) register const char * strp; long * const offsetp; { register int neg = 0; if (*strp == '-') { neg = 1; ++strp; } else if (*strp == '+') ++strp; strp = getsecs(strp, offsetp); if (strp == NULL) return NULL; /* illegal time */ if (neg) *offsetp = -*offsetp; return strp; } /* ** Given a pointer into a time zone string, extract a rule in the form ** date[/time]. See POSIX section 8 for the format of "date" and "time". ** If a valid rule is not found, return NULL. ** Otherwise, return a pointer to the first character not part of the rule. */ static const char * getrule(strp, rulep) const char * strp; register struct rule * const rulep; { if (*strp == 'J') { /* ** Julian day. */ rulep->r_type = JULIAN_DAY; ++strp; strp = getnum(strp, &rulep->r_day, 1, DAYSPERNYEAR); } else if (*strp == 'M') { /* ** Month, week, day. */ rulep->r_type = MONTH_NTH_DAY_OF_WEEK; ++strp; strp = getnum(strp, &rulep->r_mon, 1, MONSPERYEAR); if (strp == NULL) return NULL; if (*strp++ != '.') return NULL; strp = getnum(strp, &rulep->r_week, 1, 5); if (strp == NULL) return NULL; if (*strp++ != '.') return NULL; strp = getnum(strp, &rulep->r_day, 0, DAYSPERWEEK - 1); } else if (is_digit(*strp)) { /* ** Day of year. */ rulep->r_type = DAY_OF_YEAR; strp = getnum(strp, &rulep->r_day, 0, DAYSPERLYEAR - 1); } else return NULL; /* invalid format */ if (strp == NULL) return NULL; if (*strp == '/') { /* ** Time specified. */ ++strp; strp = getsecs(strp, &rulep->r_time); } else rulep->r_time = 2 * SECSPERHOUR; /* default = 2:00:00 */ return strp; } /* ** Given the Epoch-relative time of January 1, 00:00:00 UTC, in a year, the ** year, a rule, and the offset from UTC at the time that rule takes effect, ** calculate the Epoch-relative time that rule takes effect. */ static time_t transtime(janfirst, year, rulep, offset) const time_t janfirst; const int year; register const struct rule * const rulep; const long offset; { register int leapyear; register time_t value; register int i; int d, m1, yy0, yy1, yy2, dow; INITIALIZE(value); leapyear = isleap(year); switch (rulep->r_type) { case JULIAN_DAY: /* ** Jn - Julian day, 1 == January 1, 60 == March 1 even in leap ** years. ** In non-leap years, or if the day number is 59 or less, just ** add SECSPERDAY times the day number-1 to the time of ** January 1, midnight, to get the day. */ value = janfirst + (rulep->r_day - 1) * SECSPERDAY; if (leapyear && rulep->r_day >= 60) value += SECSPERDAY; break; case DAY_OF_YEAR: /* ** n - day of year. ** Just add SECSPERDAY times the day number to the time of ** January 1, midnight, to get the day. */ value = janfirst + rulep->r_day * SECSPERDAY; break; case MONTH_NTH_DAY_OF_WEEK: /* ** Mm.n.d - nth "dth day" of month m. */ value = janfirst; for (i = 0; i < rulep->r_mon - 1; ++i) value += mon_lengths[leapyear][i] * SECSPERDAY; /* ** Use Zeller's Congruence to get day-of-week of first day of ** month. */ m1 = (rulep->r_mon + 9) % 12 + 1; yy0 = (rulep->r_mon <= 2) ? (year - 1) : year; yy1 = yy0 / 100; yy2 = yy0 % 100; dow = ((26 * m1 - 2) / 10 + 1 + yy2 + yy2 / 4 + yy1 / 4 - 2 * yy1) % 7; if (dow < 0) dow += DAYSPERWEEK; /* ** "dow" is the day-of-week of the first day of the month. Get ** the day-of-month (zero-origin) of the first "dow" day of the ** month. */ d = rulep->r_day - dow; if (d < 0) d += DAYSPERWEEK; for (i = 1; i < rulep->r_week; ++i) { if (d + DAYSPERWEEK >= mon_lengths[leapyear][rulep->r_mon - 1]) break; d += DAYSPERWEEK; } /* ** "d" is the day-of-month (zero-origin) of the day we want. */ value += d * SECSPERDAY; break; } /* ** "value" is the Epoch-relative time of 00:00:00 UTC on the day in ** question. To get the Epoch-relative time of the specified local ** time on that day, add the transition time and the current offset ** from UTC. */ return value + rulep->r_time + offset; } /* ** Given a POSIX section 8-style TZ string, fill in the rule tables as ** appropriate. */ static int tzparse(name, sp, lastditch) const char * name; register struct state * const sp; const int lastditch; { const char * stdname; const char * dstname; size_t stdlen; size_t dstlen; long stdoffset; long dstoffset; register time_t * atp; register unsigned char * typep; register char * cp; register int load_result; INITIALIZE(dstname); stdname = name; if (lastditch) { stdlen = strlen(name); /* length of standard zone name */ name += stdlen; if (stdlen >= sizeof sp->chars) stdlen = (sizeof sp->chars) - 1; stdoffset = 0; } else { name = getzname(name); stdlen = name - stdname; if (stdlen < 3) return -1; if (*name == '\0') return -1; name = getoffset(name, &stdoffset); if (name == NULL) return -1; } load_result = tzload(TZDEFRULES, sp); if (load_result != 0) sp->leapcnt = 0; /* so, we're off a little */ if (*name != '\0') { dstname = name; name = getzname(name); dstlen = name - dstname; /* length of DST zone name */ if (dstlen < 3) return -1; if (*name != '\0' && *name != ',' && *name != ';') { name = getoffset(name, &dstoffset); if (name == NULL) return -1; } else dstoffset = stdoffset - SECSPERHOUR; if (*name == '\0' && load_result != 0) name = TZDEFRULESTRING; if (*name == ',' || *name == ';') { struct rule start; struct rule end; register int year; register time_t janfirst; time_t starttime; time_t endtime; ++name; if ((name = getrule(name, &start)) == NULL) return -1; if (*name++ != ',') return -1; if ((name = getrule(name, &end)) == NULL) return -1; if (*name != '\0') return -1; sp->typecnt = 2; /* standard time and DST */ /* ** Two transitions per year, from EPOCH_YEAR to 2037. */ sp->timecnt = 2 * (2037 - EPOCH_YEAR + 1); if (sp->timecnt > TZ_MAX_TIMES) return -1; sp->ttis[0].tt_gmtoff = -dstoffset; sp->ttis[0].tt_isdst = 1; sp->ttis[0].tt_abbrind = stdlen + 1; sp->ttis[1].tt_gmtoff = -stdoffset; sp->ttis[1].tt_isdst = 0; sp->ttis[1].tt_abbrind = 0; atp = sp->ats; typep = sp->types; janfirst = 0; for (year = EPOCH_YEAR; year <= 2037; ++year) { starttime = transtime(janfirst, year, &start, stdoffset); endtime = transtime(janfirst, year, &end, dstoffset); if (starttime > endtime) { *atp++ = endtime; *typep++ = 1; /* DST ends */ *atp++ = starttime; *typep++ = 0; /* DST begins */ } else { *atp++ = starttime; *typep++ = 0; /* DST begins */ *atp++ = endtime; *typep++ = 1; /* DST ends */ } janfirst += year_lengths[isleap(year)] * SECSPERDAY; } } else { register long theirstdoffset; register long theirdstoffset; register long theiroffset; register int isdst; register int i; register int j; if (*name != '\0') return -1; /* ** Initial values of theirstdoffset and theirdstoffset. */ theirstdoffset = 0; for (i = 0; i < sp->timecnt; ++i) { j = sp->types[i]; if (!sp->ttis[j].tt_isdst) { theirstdoffset = -sp->ttis[j].tt_gmtoff; break; } } theirdstoffset = 0; for (i = 0; i < sp->timecnt; ++i) { j = sp->types[i]; if (sp->ttis[j].tt_isdst) { theirdstoffset = -sp->ttis[j].tt_gmtoff; break; } } /* ** Initially we're assumed to be in standard time. */ isdst = FALSE; theiroffset = theirstdoffset; /* ** Now juggle transition times and types ** tracking offsets as you do. */ for (i = 0; i < sp->timecnt; ++i) { j = sp->types[i]; sp->types[i] = sp->ttis[j].tt_isdst; if (sp->ttis[j].tt_ttisgmt) { /* No adjustment to transition time */ } else { /* ** If summer time is in effect, and the ** transition time was not specified as ** standard time, add the summer time ** offset to the transition time; ** otherwise, add the standard time ** offset to the transition time. */ /* ** Transitions from DST to DDST ** will effectively disappear since ** POSIX provides for only one DST ** offset. */ if (isdst && !sp->ttis[j].tt_ttisstd) { sp->ats[i] += dstoffset - theirdstoffset; } else { sp->ats[i] += stdoffset - theirstdoffset; } } theiroffset = -sp->ttis[j].tt_gmtoff; if (sp->ttis[j].tt_isdst) theirdstoffset = theiroffset; else theirstdoffset = theiroffset; } /* ** Finally, fill in ttis. ** ttisstd and ttisgmt need not be handled. */ sp->ttis[0].tt_gmtoff = -stdoffset; sp->ttis[0].tt_isdst = FALSE; sp->ttis[0].tt_abbrind = 0; sp->ttis[1].tt_gmtoff = -dstoffset; sp->ttis[1].tt_isdst = TRUE; sp->ttis[1].tt_abbrind = stdlen + 1; sp->typecnt = 2; } } else { dstlen = 0; sp->typecnt = 1; /* only standard time */ sp->timecnt = 0; sp->ttis[0].tt_gmtoff = -stdoffset; sp->ttis[0].tt_isdst = 0; sp->ttis[0].tt_abbrind = 0; } sp->charcnt = stdlen + 1; if (dstlen != 0) sp->charcnt += dstlen + 1; if ((size_t) sp->charcnt > sizeof sp->chars) return -1; cp = sp->chars; (void) strncpy(cp, stdname, stdlen); cp += stdlen; *cp++ = '\0'; if (dstlen != 0) { (void) strncpy(cp, dstname, dstlen); *(cp + dstlen) = '\0'; } return 0; } static void gmtload(sp) struct state * const sp; { if (tzload(gmt, sp) != 0) (void) tzparse(gmt, sp, TRUE); } /* ahu: deleted definition of tzsetwall */ /* ahu: deleted definition of tzset */ /* ** The easy way to behave "as if no library function calls" localtime ** is to not call it--so we drop its guts into "localsub", which can be ** freely called. (And no, the PANS doesn't require the above behavior-- ** but it *is* desirable.) ** ** The unused offset argument is for the benefit of mktime variants. */ /*ARGSUSED*/ static void localsub(timep, offset, tmp) const time_t * const timep; const long offset; struct tm * const tmp; { register struct state * sp; register const struct ttinfo * ttisp; register int i; const time_t t = *timep; sp = lclptr; #ifdef ALL_STATE if (sp == NULL) { gmtsub(timep, offset, tmp); return; } #endif /* defined ALL_STATE */ if (sp->timecnt == 0 || t < sp->ats[0]) { i = 0; while (sp->ttis[i].tt_isdst) if (++i >= sp->typecnt) { i = 0; break; } } else { for (i = 1; i < sp->timecnt; ++i) if (t < sp->ats[i]) break; i = sp->types[i - 1]; } ttisp = &sp->ttis[i]; /* ** To get (wrong) behavior that's compatible with System V Release 2.0 ** you'd replace the statement below with ** t += ttisp->tt_gmtoff; ** timesub(&t, 0L, sp, tmp); */ timesub(&t, ttisp->tt_gmtoff, sp, tmp); tmp->tm_isdst = ttisp->tt_isdst; tzname[tmp->tm_isdst] = &sp->chars[ttisp->tt_abbrind]; #ifdef TM_ZONE tmp->TM_ZONE = &sp->chars[ttisp->tt_abbrind]; #endif /* defined TM_ZONE */ } /* ahu: deleted definition of localtime */ /* ahu: deleted definition of localtime_r */ /* ** gmtsub is to gmtime as localsub is to localtime. */ static void gmtsub(timep, offset, tmp) const time_t * const timep; const long offset; struct tm * const tmp; { if (!gmt_is_set) { gmt_is_set = TRUE; #ifdef ALL_STATE gmtptr = (struct state *) malloc(sizeof *gmtptr); if (gmtptr != NULL) #endif /* defined ALL_STATE */ gmtload(gmtptr); } timesub(timep, offset, gmtptr, tmp); #ifdef TM_ZONE /* ** Could get fancy here and deliver something such as ** "UTC+xxxx" or "UTC-xxxx" if offset is non-zero, ** but this is no time for a treasure hunt. */ if (offset != 0) tmp->TM_ZONE = wildabbr; else { #ifdef ALL_STATE if (gmtptr == NULL) tmp->TM_ZONE = gmt; else tmp->TM_ZONE = gmtptr->chars; #endif /* defined ALL_STATE */ #ifndef ALL_STATE tmp->TM_ZONE = gmtptr->chars; #endif /* State Farm */ } #endif /* defined TM_ZONE */ } /* ahu: deleted definition of gmtime */ /* ahu: deleted definition of gmtime_r */ /* ahu: deleted definition of offtime */ static void timesub(timep, offset, sp, tmp) const time_t * const timep; const long offset; register const struct state * const sp; register struct tm * const tmp; { register const struct lsinfo * lp; register long days; register long rem; register int y; register int yleap; register const int * ip; register long corr; register int hit; register int i; corr = 0; hit = 0; #ifdef ALL_STATE i = (sp == NULL) ? 0 : sp->leapcnt; #endif /* defined ALL_STATE */ #ifndef ALL_STATE i = sp->leapcnt; #endif /* State Farm */ while (--i >= 0) { lp = &sp->lsis[i]; if (*timep >= lp->ls_trans) { if (*timep == lp->ls_trans) { hit = ((i == 0 && lp->ls_corr > 0) || lp->ls_corr > sp->lsis[i - 1].ls_corr); if (hit) while (i > 0 && sp->lsis[i].ls_trans == sp->lsis[i - 1].ls_trans + 1 && sp->lsis[i].ls_corr == sp->lsis[i - 1].ls_corr + 1) { ++hit; --i; } } corr = lp->ls_corr; break; } } days = (int)*timep / SECSPERDAY; rem = (int)*timep % SECSPERDAY; #ifdef mc68k if (*timep == 0x80000000) { /* ** A 3B1 muffs the division on the most negative number. */ days = -24855; rem = -11648; } #endif /* defined mc68k */ rem += (offset - corr); while (rem < 0) { rem += SECSPERDAY; --days; } while (rem >= SECSPERDAY) { rem -= SECSPERDAY; ++days; } tmp->tm_hour = (int) (rem / SECSPERHOUR); rem = rem % SECSPERHOUR; tmp->tm_min = (int) (rem / SECSPERMIN); /* ** A positive leap second requires a special ** representation. This uses "... ??:59:60" et seq. */ tmp->tm_sec = (int) (rem % SECSPERMIN) + hit; tmp->tm_wday = (int) ((EPOCH_WDAY + days) % DAYSPERWEEK); if (tmp->tm_wday < 0) tmp->tm_wday += DAYSPERWEEK; y = EPOCH_YEAR; #define LEAPS_THRU_END_OF(y) ((y) / 4 - (y) / 100 + (y) / 400) while (days < 0 || days >= (long) year_lengths[yleap = isleap(y)]) { register int newy; newy = y + days / DAYSPERNYEAR; if (days < 0) --newy; days -= (newy - y) * DAYSPERNYEAR + LEAPS_THRU_END_OF(newy - 1) - LEAPS_THRU_END_OF(y - 1); y = newy; } tmp->tm_year = y - TM_YEAR_BASE; tmp->tm_yday = (int) days; ip = mon_lengths[yleap]; for (tmp->tm_mon = 0; days >= (long) ip[tmp->tm_mon]; ++(tmp->tm_mon)) days = days - (long) ip[tmp->tm_mon]; tmp->tm_mday = (int) (days + 1); tmp->tm_isdst = 0; #ifdef TM_GMTOFF tmp->TM_GMTOFF = offset; #endif /* defined TM_GMTOFF */ } /* ahu: deleted definition of ctime */ /* ahu: deleted definition of ctime_r */ /* ** Adapted from code provided by Robert Elz, who writes: ** The "best" way to do mktime I think is based on an idea of Bob ** Kridle's (so its said...) from a long time ago. ** [kridle@xinet.com as of 1996-01-16.] ** It does a binary search of the time_t space. Since time_t's are ** just 32 bits, its a max of 32 iterations (even at 64 bits it ** would still be very reasonable). */ #ifndef WRONG #define WRONG (-1) #endif /* !defined WRONG */ /* ** Simplified normalize logic courtesy Paul Eggert (eggert@twinsun.com). */ static int increment_overflow(number, delta) int * number; int delta; { int i = *number; /* ** Copied from: https://www.ietf.org/timezones/code/localtime.c ** If i >= 0 there can only be overflow if i + delta > INT_MAX ** or if delta > INT_MAX - i; given i >= 0, INT_MAX - i cannot overflow. ** If i < 0 there can only be overflow if i + delta < INT_MIN ** or if delta < INT_MIN - i; given i < 0, INT_MIN - i cannot overflow. */ if ((i >= 0) ? (delta > INT_MAX - i) : (delta < INT_MIN - i)) return TRUE; *number += delta; return FALSE; } static int normalize_overflow(tensptr, unitsptr, base) int * const tensptr; int * const unitsptr; const int base; { register int tensdelta; tensdelta = (*unitsptr >= 0) ? (*unitsptr / base) : (-1 - (-1 - *unitsptr) / base); *unitsptr -= tensdelta * base; return increment_overflow(tensptr, tensdelta); } static int tmcomp(atmp, btmp) register const struct tm * const atmp; register const struct tm * const btmp; { register int result; if ((result = (atmp->tm_year - btmp->tm_year)) == 0 && (result = (atmp->tm_mon - btmp->tm_mon)) == 0 && (result = (atmp->tm_mday - btmp->tm_mday)) == 0 && (result = (atmp->tm_hour - btmp->tm_hour)) == 0 && (result = (atmp->tm_min - btmp->tm_min)) == 0) result = atmp->tm_sec - btmp->tm_sec; return result; } static time_t time2sub(tmp, funcp, offset, okayp, do_norm_secs) struct tm * const tmp; void (* const funcp) P((const time_t*, long, struct tm*)); const long offset; int * const okayp; const int do_norm_secs; { register const struct state * sp; register int dir; register int bits; register int i, j ; register int saved_seconds; time_t newt; time_t t; struct tm yourtm, mytm; *okayp = FALSE; yourtm = *tmp; if (do_norm_secs) { if (normalize_overflow(&yourtm.tm_min, &yourtm.tm_sec, SECSPERMIN)) return WRONG; } if (normalize_overflow(&yourtm.tm_hour, &yourtm.tm_min, MINSPERHOUR)) return WRONG; if (normalize_overflow(&yourtm.tm_mday, &yourtm.tm_hour, HOURSPERDAY)) return WRONG; if (normalize_overflow(&yourtm.tm_year, &yourtm.tm_mon, MONSPERYEAR)) return WRONG; /* ** Turn yourtm.tm_year into an actual year number for now. ** It is converted back to an offset from TM_YEAR_BASE later. */ if (increment_overflow(&yourtm.tm_year, TM_YEAR_BASE)) return WRONG; while (yourtm.tm_mday <= 0) { if (increment_overflow(&yourtm.tm_year, -1)) return WRONG; i = yourtm.tm_year + (1 < yourtm.tm_mon); yourtm.tm_mday += year_lengths[isleap(i)]; } while (yourtm.tm_mday > DAYSPERLYEAR) { i = yourtm.tm_year + (1 < yourtm.tm_mon); yourtm.tm_mday -= year_lengths[isleap(i)]; if (increment_overflow(&yourtm.tm_year, 1)) return WRONG; } for ( ; ; ) { i = mon_lengths[isleap(yourtm.tm_year)][yourtm.tm_mon]; if (yourtm.tm_mday <= i) break; yourtm.tm_mday -= i; if (++yourtm.tm_mon >= MONSPERYEAR) { yourtm.tm_mon = 0; if (increment_overflow(&yourtm.tm_year, 1)) return WRONG; } } if (increment_overflow(&yourtm.tm_year, -TM_YEAR_BASE)) return WRONG; if (yourtm.tm_sec >= 0 && yourtm.tm_sec < SECSPERMIN) saved_seconds = 0; else if (yourtm.tm_year + TM_YEAR_BASE < EPOCH_YEAR) { /* ** We can't set tm_sec to 0, because that might push the ** time below the minimum representable time. ** Set tm_sec to 59 instead. ** This assumes that the minimum representable time is ** not in the same minute that a leap second was deleted from, ** which is a safer assumption than using 58 would be. */ if (increment_overflow(&yourtm.tm_sec, 1 - SECSPERMIN)) return WRONG; saved_seconds = yourtm.tm_sec; yourtm.tm_sec = SECSPERMIN - 1; } else { saved_seconds = yourtm.tm_sec; yourtm.tm_sec = 0; } /* ** Divide the search space in half ** (this works whether time_t is signed or unsigned). */ bits = TYPE_BIT(time_t) - 1; /* ** If time_t is signed, then 0 is just above the median, ** assuming two's complement arithmetic. ** If time_t is unsigned, then (1 << bits) is just above the median. */ t = TYPE_SIGNED(time_t) ? 0 : (((time_t) 1) << bits); for ( ; ; ) { (*funcp)(&t, offset, &mytm); dir = tmcomp(&mytm, &yourtm); if (dir != 0) { if (bits-- < 0) return WRONG; if (bits < 0) --t; /* may be needed if new t is minimal */ else if (dir > 0) t -= ((time_t) 1) << bits; else t += ((time_t) 1) << bits; continue; } if (yourtm.tm_isdst < 0 || mytm.tm_isdst == yourtm.tm_isdst) break; /* ** Right time, wrong type. ** Hunt for right time, right type. ** It's okay to guess wrong since the guess ** gets checked. */ /* ** The (void *) casts are the benefit of SunOS 3.3 on Sun 2's. */ sp = (const struct state *) (((void *) funcp == (void *) localsub) ? lclptr : gmtptr); #ifdef ALL_STATE if (sp == NULL) return WRONG; #endif /* defined ALL_STATE */ for (i = sp->typecnt - 1; i >= 0; --i) { if (sp->ttis[i].tt_isdst != yourtm.tm_isdst) continue; for (j = sp->typecnt - 1; j >= 0; --j) { if (sp->ttis[j].tt_isdst == yourtm.tm_isdst) continue; newt = t + sp->ttis[j].tt_gmtoff - sp->ttis[i].tt_gmtoff; (*funcp)(&newt, offset, &mytm); if (tmcomp(&mytm, &yourtm) != 0) continue; if (mytm.tm_isdst != yourtm.tm_isdst) continue; /* ** We have a match. */ t = newt; goto label; } } return WRONG; } label: newt = t + saved_seconds; if ((newt < t) != (saved_seconds < 0)) return WRONG; t = newt; (*funcp)(&t, offset, tmp); *okayp = TRUE; return t; } static time_t time2(tmp, funcp, offset, okayp) struct tm * const tmp; void (* const funcp) P((const time_t*, long, struct tm*)); const long offset; int * const okayp; { time_t t; /* ** First try without normalization of seconds ** (in case tm_sec contains a value associated with a leap second). ** If that fails, try with normalization of seconds. */ t = time2sub(tmp, funcp, offset, okayp, FALSE); return *okayp ? t : time2sub(tmp, funcp, offset, okayp, TRUE); } static time_t time1(tmp, funcp, offset) struct tm * const tmp; void (* const funcp) P((const time_t *, long, struct tm *)); const long offset; { register time_t t; register const struct state * sp; register int samei, otheri; register int sameind, otherind; register int i; register int nseen; int seen[TZ_MAX_TYPES]; int types[TZ_MAX_TYPES]; int okay; if (tmp->tm_isdst > 1) tmp->tm_isdst = 1; t = time2(tmp, funcp, offset, &okay); #ifdef PCTS /* ** PCTS code courtesy Grant Sullivan (grant@osf.org). */ if (okay) return t; if (tmp->tm_isdst < 0) tmp->tm_isdst = 0; /* reset to std and try again */ #endif /* defined PCTS */ #ifndef PCTS if (okay || tmp->tm_isdst < 0) return t; #endif /* !defined PCTS */ /* ** We're supposed to assume that somebody took a time of one type ** and did some math on it that yielded a "struct tm" that's bad. ** We try to divine the type they started from and adjust to the ** type they need. */ /* ** The (void *) casts are the benefit of SunOS 3.3 on Sun 2's. */ sp = (const struct state *) (((void *) funcp == (void *) localsub) ? lclptr : gmtptr); #ifdef ALL_STATE if (sp == NULL) return WRONG; #endif /* defined ALL_STATE */ for (i = 0; i < sp->typecnt; ++i) seen[i] = FALSE; nseen = 0; for (i = sp->timecnt - 1; i >= 0; --i) if (!seen[sp->types[i]]) { seen[sp->types[i]] = TRUE; types[nseen++] = sp->types[i]; } for (sameind = 0; sameind < nseen; ++sameind) { samei = types[sameind]; if (sp->ttis[samei].tt_isdst != tmp->tm_isdst) continue; for (otherind = 0; otherind < nseen; ++otherind) { otheri = types[otherind]; if (sp->ttis[otheri].tt_isdst == tmp->tm_isdst) continue; tmp->tm_sec += sp->ttis[otheri].tt_gmtoff - sp->ttis[samei].tt_gmtoff; tmp->tm_isdst = !tmp->tm_isdst; t = time2(tmp, funcp, offset, &okay); if (okay) return t; tmp->tm_sec -= sp->ttis[otheri].tt_gmtoff - sp->ttis[samei].tt_gmtoff; tmp->tm_isdst = !tmp->tm_isdst; } } return WRONG; } /* ahu: deleted definition of mktime */ #ifdef STD_INSPIRED /* ahu: deleted definition of timelocal */ /* rmills - timegm is replaced with _mkgmtime on VC 2005 and up */ /* - see timegm.h */ #if !defined(_MSC_VER) || (_MSC_VER < 1400) time_t timegm(tmp) struct tm * const tmp; { tmp->tm_isdst = 0; return time1(tmp, gmtsub, 0L); } #endif /* ahu: deleted definition of timeoff */ #endif /* defined STD_INSPIRED */ /* ahu: deleted definition of gtime */ /* ahu: deleted definition of leapcorr */ /* ahu: deleted definition of time2posix */ /* ahu: deleted definition of posix2time */ exiv2-0.25/src/nikonmn.cpp0000664000175000017500000046363412525247051015302 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * Lens database for the conversion of Nikon lens data to readable lens names * Copyright (C) 2005-2014 Robert Rottmerhusen * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: nikonmn.cpp Version: $Rev: 3829 $ Author(s): Andreas Huggel (ahu) Gilles Caulier (gc) Jens Mueller (jm) History: 17-May-04, ahu: created 25-May-04, ahu: combined all Nikon formats in one component */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: nikonmn.cpp 3829 2015-05-15 01:38:49Z nkbj $") // ***************************************************************************** // included header files #include "types.hpp" #include "nikonmn_int.hpp" #include "value.hpp" #include "image.hpp" #include "tags_int.hpp" #include "error.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include #include #include #include //for log, pow, abs // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { //! OffOn, multiple tags extern const TagDetails nikonOffOn[] = { { 0, N_("Off") }, { 1, N_("On") } }; //! Off, Low, Normal, High, multiple tags extern const TagDetails nikonOlnh[] = { { 0, N_("Off") }, { 1, N_("Low") }, { 3, N_("Normal") }, { 5, N_("High") } }; //! Off, Low, Normal, High, multiple tags extern const TagDetails nikonActiveDLighning[] = { { 0, N_("Off") }, { 1, N_("Low") }, { 3, N_("Normal") }, { 5, N_("High") }, { 7, N_("Extra High") }, { 65535, N_("Auto") } }; //! Focus area for Nikon cameras. extern const char * const nikonFocusarea[] = { N_("Single area"), N_("Dynamic area"), N_("Dynamic area, closest subject"), N_("Group dynamic"), N_("Single area (wide)"), N_("Dynamic area (wide)") }; // Roger Larsson: My guess is that focuspoints will follow autofocus sensor // module. Note that relative size and position will vary depending on if // "wide" or not //! Focus points for Nikon cameras, used for Nikon 1 and Nikon 3 makernotes. extern const char * const nikonFocuspoints[] = { N_("Center"), N_("Top"), N_("Bottom"), N_("Left"), N_("Right"), N_("Upper-left"), N_("Upper-right"), N_("Lower-left"), N_("Lower-right"), N_("Left-most"), N_("Right-most") }; //! FlashComp, tag 0x0012 extern const TagDetails nikonFlashComp[] = { // From the PHP JPEG Metadata Toolkit { 0x06, "+1.0 EV" }, { 0x04, "+0.7 EV" }, { 0x03, "+0.5 EV" }, { 0x02, "+0.3 EV" }, { 0x00, "0.0 EV" }, { 0xfe, "-0.3 EV" }, { 0xfd, "-0.5 EV" }, { 0xfc, "-0.7 EV" }, { 0xfa, "-1.0 EV" }, { 0xf8, "-1.3 EV" }, { 0xf7, "-1.5 EV" }, { 0xf6, "-1.7 EV" }, { 0xf4, "-2.0 EV" }, { 0xf2, "-2.3 EV" }, { 0xf1, "-2.5 EV" }, { 0xf0, "-2.7 EV" }, { 0xee, "-3.0 EV" } }; //! ColorSpace, tag 0x001e extern const TagDetails nikonColorSpace[] = { { 1, N_("sRGB") }, { 2, N_("Adobe RGB") } }; //! FlashMode, tag 0x0087 extern const TagDetails nikonFlashMode[] = { { 0, N_("Did not fire") }, { 1, N_("Fire, manual") }, { 7, N_("Fire, external") }, { 8, N_("Fire, commander mode") }, { 9, N_("Fire, TTL mode") } }; //! ShootingMode, tag 0x0089 extern const TagDetailsBitmask nikonShootingMode[] = { { 0x0001, N_("Continuous") }, { 0x0002, N_("Delay") }, { 0x0004, N_("PC Control") }, { 0x0008, N_("Self-timer") }, { 0x0010, N_("Exposure Bracketing") }, { 0x0020, N_("Auto ISO") }, { 0x0040, N_("White-Balance Bracketing") }, { 0x0080, N_("IR Control") }, { 0x0100, N_("D-Lighting Bracketing") } }; //! ShootingMode D70, tag 0x0089 extern const TagDetailsBitmask nikonShootingModeD70[] = { { 0x0001, N_("Continuous") }, { 0x0002, N_("Delay") }, { 0x0004, N_("PC control") }, { 0x0010, N_("Exposure bracketing") }, { 0x0020, N_("Unused LE-NR slowdown") }, { 0x0040, N_("White balance bracketing") }, { 0x0080, N_("IR control") } }; //! AutoBracketRelease, tag 0x008a extern const TagDetails nikonAutoBracketRelease[] = { { 0, N_("None") }, { 1, N_("Auto release") }, { 2, N_("Manual release") } }; //! NEFCompression, tag 0x0093 extern const TagDetails nikonNefCompression[] = { { 1, N_("Lossy (type 1)") }, { 2, N_("Uncompressed") }, { 3, N_("Lossless") }, { 4, N_("Lossy (type 2)") } }; //! RetouchHistory, tag 0x009e extern const TagDetails nikonRetouchHistory[] = { { 0, N_("None") }, { 3, N_("B & W") }, { 4, N_("Sepia") }, { 5, N_("Trim") }, { 6, N_("Small picture") }, { 7, N_("D-Lighting") }, { 8, N_("Red eye") }, { 9, N_("Cyanotype") }, { 10, N_("Sky light") }, { 11, N_("Warm tone") }, { 12, N_("Color custom") }, { 13, N_("Image overlay") } }; //! HighISONoiseReduction, tag 0x00b1 extern const TagDetails nikonHighISONoiseReduction[] = { { 0, N_("Off") }, { 1, N_("Minimal") }, { 2, N_("Low") }, { 4, N_("Normal") }, { 6, N_("High") } }; // Nikon1 MakerNote Tag Info const TagInfo Nikon1MakerNote::tagInfo_[] = { TagInfo(0x0001, "Version", N_("Version"), N_("Nikon Makernote version"), nikon1Id, makerTags, undefined, -1, printValue), TagInfo(0x0002, "ISOSpeed", N_("ISO Speed"), N_("ISO speed setting"), nikon1Id, makerTags, unsignedShort, -1, print0x0002), TagInfo(0x0003, "ColorMode", N_("Color Mode"), N_("Color mode"), nikon1Id, makerTags, asciiString, -1, printValue), TagInfo(0x0004, "Quality", N_("Quality"), N_("Image quality setting"), nikon1Id, makerTags, asciiString, -1, printValue), TagInfo(0x0005, "WhiteBalance", N_("White Balance"), N_("White balance"), nikon1Id, makerTags, asciiString, -1, printValue), TagInfo(0x0006, "Sharpening", N_("Sharpening"), N_("Image sharpening setting"), nikon1Id, makerTags, asciiString, -1, printValue), TagInfo(0x0007, "Focus", N_("Focus"), N_("Focus mode"), nikon1Id, makerTags, asciiString, -1, print0x0007), TagInfo(0x0008, "FlashSetting", N_("Flash Setting"), N_("Flash setting"), nikon1Id, makerTags, asciiString, -1, printValue), TagInfo(0x000a, "0x000a", "0x000a", N_("Unknown"), nikon1Id, makerTags, unsignedRational, -1, printValue), TagInfo(0x000f, "ISOSelection", N_("ISO Selection"), N_("ISO selection"), nikon1Id, makerTags, asciiString, -1, printValue), TagInfo(0x0010, "DataDump", N_("Data Dump"), N_("Data dump"), nikon1Id, makerTags, undefined, -1, printValue), TagInfo(0x0080, "ImageAdjustment", N_("Image Adjustment"), N_("Image adjustment setting"), nikon1Id, makerTags, asciiString, -1, printValue), TagInfo(0x0082, "AuxiliaryLens", N_("Auxiliary Lens"), N_("Auxiliary lens (adapter)"), nikon1Id, makerTags, asciiString, -1, printValue), TagInfo(0x0085, "FocusDistance", N_("Focus Distance"), N_("Manual focus distance"), nikon1Id, makerTags, unsignedRational, -1, print0x0085), TagInfo(0x0086, "DigitalZoom", N_("Digital Zoom"), N_("Digital zoom setting"), nikon1Id, makerTags, unsignedRational, -1, print0x0086), TagInfo(0x0088, "AFFocusPos", N_("AF Focus Position"), N_("AF focus position information"), nikon1Id, makerTags, undefined, -1, print0x0088), // End of list marker TagInfo(0xffff, "(UnknownNikon1MnTag)", "(UnknownNikon1MnTag)", N_("Unknown Nikon1MakerNote tag"), nikon1Id, makerTags, asciiString, -1, printValue) }; const TagInfo* Nikon1MakerNote::tagList() { return tagInfo_; } std::ostream& Nikon1MakerNote::print0x0002(std::ostream& os, const Value& value, const ExifData*) { if (value.count() > 1) { os << value.toLong(1); } else { os << "(" << value << ")"; } return os; } std::ostream& Nikon1MakerNote::print0x0007(std::ostream& os, const Value& value, const ExifData*) { std::string focus = value.toString(); if (focus == "AF-C ") os << _("Continuous autofocus"); else if (focus == "AF-S ") os << _("Single autofocus"); else if (focus == "AF-A ") os << _("Automatic"); else os << "(" << value << ")"; return os; } std::ostream& Nikon1MakerNote::print0x0085(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); Rational distance = value.toRational(); if (distance.first == 0) { os << _("Unknown"); } else if (distance.second != 0) { std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(2) << (float)distance.first / distance.second << " m"; os.copyfmt(oss); } else { os << "(" << value << ")"; } os.flags(f); return os; } std::ostream& Nikon1MakerNote::print0x0086(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); Rational zoom = value.toRational(); if (zoom.first == 0) { os << _("Not used"); } else if (zoom.second != 0) { std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1) << (float)zoom.first / zoom.second << "x"; os.copyfmt(oss); } else { os << "(" << value << ")"; } os.flags(f); return os; } std::ostream& Nikon1MakerNote::print0x0088(std::ostream& os, const Value& value, const ExifData*) { if (value.count() >= 1) { unsigned long focusArea = value.toLong(0); os << nikonFocusarea[focusArea] ; } if (value.count() >= 2) { os << "; "; unsigned long focusPoint = value.toLong(1); switch (focusPoint) { // Could use array nikonFokuspoints case 0: case 1: case 2: case 3: case 4: os << nikonFocuspoints[focusPoint]; break; default: os << value; if (focusPoint < sizeof(nikonFocuspoints)/sizeof(nikonFocuspoints[0])) os << " " << _("guess") << " " << nikonFocuspoints[focusPoint]; break; } } if (value.count() >= 3) { unsigned long focusPointsUsed1 = value.toLong(2); unsigned long focusPointsUsed2 = value.toLong(3); if (focusPointsUsed1 != 0 && focusPointsUsed2 != 0) { os << "; ["; if (focusPointsUsed1 & 1) os << nikonFocuspoints[0] << " "; if (focusPointsUsed1 & 2) os << nikonFocuspoints[1] << " "; if (focusPointsUsed1 & 4) os << nikonFocuspoints[2] << " "; if (focusPointsUsed1 & 8) os << nikonFocuspoints[3] << " "; if (focusPointsUsed1 & 16) os << nikonFocuspoints[4] << " "; if (focusPointsUsed1 & 32) os << nikonFocuspoints[5] << " "; if (focusPointsUsed1 & 64) os << nikonFocuspoints[6] << " "; if (focusPointsUsed1 & 128) os << nikonFocuspoints[7] << " "; if (focusPointsUsed2 & 1) os << nikonFocuspoints[8] << " "; if (focusPointsUsed2 & 2) os << nikonFocuspoints[9] << " "; if (focusPointsUsed2 & 4) os << nikonFocuspoints[10] << " "; os << "]"; } } else { os << "(" << value << ")"; } return os; } //! Quality, tag 0x0003 extern const TagDetails nikon2Quality[] = { { 1, N_("VGA Basic") }, { 2, N_("VGA Normal") }, { 3, N_("VGA Fine") }, { 4, N_("SXGA Basic") }, { 5, N_("SXGA Normal") }, { 6, N_("SXGA Fine") } }; //! ColorMode, tag 0x0004 extern const TagDetails nikon2ColorMode[] = { { 1, N_("Color") }, { 2, N_("Monochrome") } }; //! ImageAdjustment, tag 0x0005 extern const TagDetails nikon2ImageAdjustment[] = { { 0, N_("Normal") }, { 1, N_("Bright+") }, { 2, N_("Bright-") }, { 3, N_("Contrast+") }, { 4, N_("Contrast-") } }; //! ISOSpeed, tag 0x0006 extern const TagDetails nikon2IsoSpeed[] = { { 0, "80" }, { 2, "160" }, { 4, "320" }, { 5, "100" } }; //! WhiteBalance, tag 0x0007 extern const TagDetails nikon2WhiteBalance[] = { { 0, N_("Auto") }, { 1, N_("Preset") }, { 2, N_("Daylight") }, { 3, N_("Incandescent") }, { 4, N_("Fluorescent") }, { 5, N_("Cloudy") }, { 6, N_("Speedlight") } }; // Nikon2 MakerNote Tag Info const TagInfo Nikon2MakerNote::tagInfo_[] = { TagInfo(0x0002, "0x0002", "0x0002", N_("Unknown"), nikon2Id, makerTags, asciiString, -1, printValue), TagInfo(0x0003, "Quality", N_("Quality"), N_("Image quality setting"), nikon2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(nikon2Quality)), TagInfo(0x0004, "ColorMode", N_("Color Mode"), N_("Color mode"), nikon2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(nikon2ColorMode)), TagInfo(0x0005, "ImageAdjustment", N_("Image Adjustment"), N_("Image adjustment setting"), nikon2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(nikon2ImageAdjustment)), TagInfo(0x0006, "ISOSpeed", N_("ISO Speed"), N_("ISO speed setting"), nikon2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(nikon2IsoSpeed)), TagInfo(0x0007, "WhiteBalance", N_("White Balance"), N_("White balance"), nikon2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(nikon2WhiteBalance)), TagInfo(0x0008, "Focus", N_("Focus Mode"), N_("Focus mode"), nikon2Id, makerTags, unsignedRational, -1, printValue), TagInfo(0x0009, "0x0009", "0x0009", N_("Unknown"), nikon2Id, makerTags, asciiString, -1, printValue), TagInfo(0x000a, "DigitalZoom", N_("Digital Zoom"), N_("Digital zoom setting"), nikon2Id, makerTags, unsignedRational, -1, print0x000a), TagInfo(0x000b, "AuxiliaryLens", N_("Auxiliary Lens"), N_("Auxiliary lens (adapter)"), nikon2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x0f00, "0x0f00", "0x0f00", N_("Unknown"), nikon2Id, makerTags, unsignedLong, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownNikon2MnTag)", "(UnknownNikon2MnTag)", N_("Unknown Nikon2MakerNote tag"), nikon2Id, makerTags, asciiString, -1, printValue) }; const TagInfo* Nikon2MakerNote::tagList() { return tagInfo_; } std::ostream& Nikon2MakerNote::print0x000a(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); Rational zoom = value.toRational(); if (zoom.first == 0) { os << _("Not used"); } else if (zoom.second != 0) { std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1) << (float)zoom.first / zoom.second << "x"; os.copyfmt(oss); } else { os << "(" << value << ")"; } os.flags(f); return os; } // Nikon3 MakerNote Tag Info const TagInfo Nikon3MakerNote::tagInfo_[] = { TagInfo(0x0001, "Version", N_("Version"), N_("Nikon Makernote version"), nikon3Id, makerTags, undefined, -1, printExifVersion), TagInfo(0x0002, "ISOSpeed", N_("ISO Speed"), N_("ISO speed setting"), nikon3Id, makerTags, unsignedShort, -1, print0x0002), TagInfo(0x0003, "ColorMode", N_("Color Mode"), N_("Color mode"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x0004, "Quality", N_("Quality"), N_("Image quality setting"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x0005, "WhiteBalance", N_("White Balance"), N_("White balance"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x0006, "Sharpening", N_("Sharpening"), N_("Image sharpening setting"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x0007, "Focus", N_("Focus"), N_("Focus mode"), nikon3Id, makerTags, asciiString, -1, print0x0007), TagInfo(0x0008, "FlashSetting", N_("Flash Setting"), N_("Flash setting"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x0009, "FlashDevice", N_("Flash Device"), N_("Flash device"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x000a, "0x000a", "0x000a", N_("Unknown"), nikon3Id, makerTags, unsignedRational, -1, printValue), TagInfo(0x000b, "WhiteBalanceBias", N_("White Balance Bias"), N_("White balance bias"), nikon3Id, makerTags, signedShort, -1, printValue), TagInfo(0x000c, "WB_RBLevels", N_("WB RB Levels"), N_("WB RB levels"), nikon3Id, makerTags, unsignedRational, -1, printValue), TagInfo(0x000d, "ProgramShift", N_("Program Shift"), N_("Program shift"), nikon3Id, makerTags, undefined, -1, EXV_PRINT_TAG(nikonFlashComp)), TagInfo(0x000e, "ExposureDiff", N_("Exposure Difference"), N_("Exposure difference"), nikon3Id, makerTags, undefined, -1, EXV_PRINT_TAG(nikonFlashComp)), TagInfo(0x000f, "ISOSelection", N_("ISO Selection"), N_("ISO selection"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x0010, "DataDump", N_("Data Dump"), N_("Data dump"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0011, "Preview", N_("Pointer to a preview image"), N_("Offset to an IFD containing a preview image"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0012, "FlashComp", N_("Flash Comp"), N_("Flash compensation setting"), nikon3Id, makerTags, undefined, -1, EXV_PRINT_TAG(nikonFlashComp)), TagInfo(0x0013, "ISOSettings", N_("ISO Settings"), N_("ISO setting"), nikon3Id, makerTags, unsignedShort, -1, print0x0002), // use 0x0002 print fct TagInfo(0x0016, "ImageBoundary", N_("Image Boundary"), N_("Image boundary"), nikon3Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x0017, "FlashExposureComp", "Flash Exposure Comp", N_("Flash exposure comp"), nikon3Id, makerTags, undefined, -1, EXV_PRINT_TAG(nikonFlashComp)), TagInfo(0x0018, "FlashBracketComp", N_("Flash Bracket Comp"), N_("Flash bracket compensation applied"), nikon3Id, makerTags, undefined, -1, EXV_PRINT_TAG(nikonFlashComp)), // use 0x0012 print fct TagInfo(0x0019, "ExposureBracketComp", N_("Exposure Bracket Comp"), N_("AE bracket compensation applied"), nikon3Id, makerTags, signedRational, -1, printValue), TagInfo(0x001a, "ImageProcessing", N_("Image Processing"), N_("Image processing"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x001b, "CropHiSpeed", N_("Crop High Speed"), N_("Crop high speed"), nikon3Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x001c, "ExposureTuning", N_("Exposure Tuning"), N_("Exposure tuning"), nikon3Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x001d, "SerialNumber", N_("Serial Number"), N_("Serial Number"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x001e, "ColorSpace", N_("Color Space"), N_("Color space"), nikon3Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(nikonColorSpace)), TagInfo(0x001f, "VRInfo", N_("VR Info"), N_("VR info"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0020, "ImageAuthentication", N_("Image Authentication"), N_("Image authentication"), nikon3Id, makerTags, unsignedByte, -1, EXV_PRINT_TAG(nikonOffOn)), TagInfo(0x0022, "ActiveDLighting", N_("ActiveD-Lighting"), N_("ActiveD-lighting"), nikon3Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(nikonActiveDLighning)), TagInfo(0x0023, "PictureControl", N_("Picture Control"), N_(" Picture control"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0024, "WorldTime", N_("World Time"), N_("World time"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0025, "ISOInfo", N_("ISO Info"), N_("ISO info"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x002a, "VignetteControl", N_("Vignette Control"), N_("Vignette control"), nikon3Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(nikonOlnh)), TagInfo(0x0080, "ImageAdjustment", N_("Image Adjustment"), N_("Image adjustment setting"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x0081, "ToneComp", N_("Tone Compensation"), N_("Tone compensation"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x0082, "AuxiliaryLens", N_("Auxiliary Lens"), N_("Auxiliary lens (adapter)"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x0083, "LensType", N_("Lens Type"), N_("Lens type"), nikon3Id, makerTags, unsignedByte, -1, print0x0083), TagInfo(0x0084, "Lens", N_("Lens"), N_("Lens"), nikon3Id, makerTags, unsignedRational, -1, print0x0084), TagInfo(0x0085, "FocusDistance", N_("Focus Distance"), N_("Manual focus distance"), nikon3Id, makerTags, unsignedRational, -1, print0x0085), TagInfo(0x0086, "DigitalZoom", N_("Digital Zoom"), N_("Digital zoom setting"), nikon3Id, makerTags, unsignedRational, -1, print0x0086), TagInfo(0x0087, "FlashMode", N_("Flash Mode"), N_("Mode of flash used"), nikon3Id, makerTags, unsignedByte, -1, EXV_PRINT_TAG(nikonFlashMode)), TagInfo(0x0088, "AFInfo", N_("AF Info"), N_("AF info"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0089, "ShootingMode", N_("Shooting Mode"), N_("Shooting mode"), nikon3Id, makerTags, unsignedShort, -1, print0x0089), TagInfo(0x008a, "AutoBracketRelease", N_("Auto Bracket Release"), N_("Auto bracket release"), nikon3Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(nikonAutoBracketRelease)), TagInfo(0x008b, "LensFStops", N_("Lens FStops"), N_("Lens FStops"), nikon3Id, makerTags, undefined, -1, print0x008b), TagInfo(0x008c, "ContrastCurve", N_("Contrast Curve"), N_("Contrast curve"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x008d, "ColorHue", N_("Color Hue"), N_("Color hue"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x008f, "SceneMode", N_("Scene Mode"), N_("Scene mode"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x0090, "LightSource", N_("Light Source"), N_("Light source"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x0091, "ShotInfo", "Shot Info", N_("Shot info"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0092, "HueAdjustment", N_("Hue Adjustment"), N_("Hue adjustment"), nikon3Id, makerTags, signedShort, -1, printValue), TagInfo(0x0093, "NEFCompression", N_("NEF Compression"), N_("NEF compression"), nikon3Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(nikonNefCompression)), TagInfo(0x0094, "Saturation", N_("Saturation"), N_("Saturation"), nikon3Id, makerTags, signedShort, -1, printValue), TagInfo(0x0095, "NoiseReduction", N_("Noise Reduction"), N_("Noise reduction"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x0096, "LinearizationTable", N_("Linearization Table"), N_("Linearization table"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0097, "ColorBalance", N_("Color Balance"), N_("Color balance"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0098, "LensData", N_("Lens Data"), N_("Lens data settings"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0099, "RawImageCenter", N_("Raw Image Center"), N_("Raw image center"), nikon3Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x009a, "SensorPixelSize", N_("Sensor Pixel Size"), N_("Sensor pixel size"), nikon3Id, makerTags, unsignedRational, -1, print0x009a), TagInfo(0x009b, "0x009b", "0x009b", N_("Unknown"), nikon3Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x009c, "SceneAssist", N_("Scene Assist"), N_("Scene assist"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x009e, "RetouchHistory", N_("Retouch History"), N_("Retouch history"), nikon3Id, makerTags, unsignedShort, -1, print0x009e), TagInfo(0x009f, "0x009f", "0x009f", N_("Unknown"), nikon3Id, makerTags, signedShort, -1, printValue), TagInfo(0x00a0, "SerialNO", N_("Serial NO"), N_("Camera serial number, usually starts with \"NO= \""), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x00a2, "ImageDataSize", N_("Image Data Size"), N_("Image data size"), nikon3Id, makerTags, unsignedLong, -1, printValue), TagInfo(0x00a3, "0x00a3", "0x00a3", N_("Unknown"), nikon3Id, makerTags, unsignedByte, -1, printValue), TagInfo(0x00a5, "ImageCount", N_("Image Count"), N_("Image count"), nikon3Id, makerTags, unsignedLong, -1, printValue), TagInfo(0x00a6, "DeletedImageCount", N_("Deleted Image Count"), N_("Deleted image count"), nikon3Id, makerTags, unsignedLong, -1, printValue), TagInfo(0x00a7, "ShutterCount", N_("Shutter Count"), N_("Number of shots taken by camera"), nikon3Id, makerTags, unsignedLong, -1, printValue), TagInfo(0x00a8, "FlashInfo", "Flash Info", N_("Flash info"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x00a9, "ImageOptimization", N_("Image Optimization"), N_("Image optimization"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x00aa, "Saturation", N_("Saturation"), N_("Saturation"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x00ab, "VariProgram", N_("Program Variation"), N_("Program variation"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x00ac, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x00ad, "AFResponse", N_("AF Response"), N_("AF response"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x00b0, "MultiExposure", "Multi Exposure", N_("Multi exposure"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x00b1, "HighISONoiseReduction", N_("High ISO Noise Reduction"), N_("High ISO Noise Reduction"), nikon3Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(nikonHighISONoiseReduction)), TagInfo(0x00b3, "ToningEffect", "Toning Effect", N_("Toning effect"), nikon3Id, makerTags, asciiString, -1, printValue), TagInfo(0x00b7, "AFInfo2", "AF Info 2", N_("AF info 2"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x00b8, "FileInfo", "File Info", N_("File info"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x00b9, "AFTune", "AF Tune", N_("AF tune"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), nikon3Id, makerTags, undefined, -1, printValue), // TODO: Add Capture Data decoding implementation. TagInfo(0x0e01, "CaptureData", N_("Capture Data"), N_("Capture data"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0e09, "CaptureVersion", N_("Capture Version"), N_("Capture version"), nikon3Id, makerTags, asciiString, -1, printValue), // TODO: Add Capture Offsets decoding implementation. TagInfo(0x0e0e, "CaptureOffsets", N_("Capture Offsets"), N_("Capture offsets"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0e10, "ScanIFD", "Scan IFD", N_("Scan IFD"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0e1d, "ICCProfile", "ICC Profile", N_("ICC profile"), nikon3Id, makerTags, undefined, -1, printValue), TagInfo(0x0e1e, "CaptureOutput", "Capture Output", N_("Capture output"), nikon3Id, makerTags, undefined, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownNikon3MnTag)", "(UnknownNikon3MnTag)", N_("Unknown Nikon3MakerNote tag"), nikon3Id, makerTags, asciiString, -1, printValue) }; const TagInfo* Nikon3MakerNote::tagList() { return tagInfo_; } //! YesNo, used for DaylightSavings, tag index 2 extern const TagDetails nikonYesNo[] = { { 0, N_("No") }, { 1, N_("Yes") } }; //! DateDisplayFormat, tag index 3 extern const TagDetails nikonDateDisplayFormat[] = { { 0, N_("Y/M/D") }, { 1, N_("M/D/Y") }, { 2, N_("D/M/Y") } }; //! OnOff extern const TagDetails nikonOnOff[] = { { 1, N_("On") }, { 2, N_("Off") } }; // Nikon3 Vibration Reduction Tag Info const TagInfo Nikon3MakerNote::tagInfoVr_[] = { TagInfo(0, "Version", N_("Version"), N_("Version"), nikonVrId, makerTags, undefined, 4, printExifVersion), TagInfo(4, "VibrationReduction", N_("Vibration Reduction"), N_("Vibration reduction"), nikonVrId, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonOnOff)), // End of list marker TagInfo(0xffff, "(UnknownNikonVrTag)", "(UnknownNikonVrTag)", N_("Unknown Nikon Vibration Reduction Tag"), nikonVrId, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListVr() { return tagInfoVr_; } //! Adjust extern const TagDetails nikonAdjust[] = { { 0, N_("Default Settings") }, { 1, N_("Quick Adjust") }, { 2, N_("Full Control") } }; //! FilterEffect extern const TagDetails nikonFilterEffect[] = { { 0x80, N_("Off") }, { 0x81, N_("Yellow") }, { 0x82, N_("Orange") }, { 0x83, N_("Red") }, { 0x84, N_("Green") }, { 0xff, N_("n/a") } }; //! ToningEffect extern const TagDetails nikonToningEffect[] = { { 0x80, N_("B&W") }, { 0x81, N_("Sepia") }, { 0x82, N_("Cyanotype") }, { 0x83, N_("Red") }, { 0x84, N_("Yellow") }, { 0x85, N_("Green") }, { 0x86, N_("Blue-green") }, { 0x87, N_("Blue") }, { 0x88, N_("Purple-blue") }, { 0x89, N_("Red-purple") }, { 0xff, N_("n/a") } }; // Nikon3 Picture Control Tag Info const TagInfo Nikon3MakerNote::tagInfoPc_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonPcId, makerTags, undefined, 4, printExifVersion), TagInfo( 4, "Name", N_("Name"), N_("Name"), nikonPcId, makerTags, asciiString, 20, printValue), TagInfo(24, "Base", N_("Base"), N_("Base"), nikonPcId, makerTags, asciiString, 20, printValue), TagInfo(48, "Adjust", N_("Adjust"), N_("Adjust"), nikonPcId, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonAdjust)), TagInfo(49, "QuickAdjust", N_("Quick Adjust"), N_("Quick adjust"), nikonPcId, makerTags, unsignedByte, 1, printPictureControl), TagInfo(50, "Sharpness", N_("Sharpness"), N_("Sharpness"), nikonPcId, makerTags, unsignedByte, 1, printPictureControl), TagInfo(51, "Contrast", N_("Contrast"), N_("Contrast"), nikonPcId, makerTags, unsignedByte, 1, printPictureControl), TagInfo(52, "Brightness", N_("Brightness"), N_("Brightness"), nikonPcId, makerTags, unsignedByte, 1, printPictureControl), TagInfo(53, "Saturation", N_("Saturation"), N_("Saturation"), nikonPcId, makerTags, unsignedByte, 1, printPictureControl), TagInfo(54, "HueAdjustment", N_("Hue Adjustment"), N_("Hue adjustment"), nikonPcId, makerTags, unsignedByte, 1, printPictureControl), TagInfo(55, "FilterEffect", N_("Filter Effect"), N_("Filter effect"), nikonPcId, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFilterEffect)), TagInfo(56, "ToningEffect", N_("Toning Effect"), N_("Toning effect"), nikonPcId, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonToningEffect)), TagInfo(57, "ToningSaturation", N_("Toning Saturation"), N_("Toning saturation"), nikonPcId, makerTags, unsignedByte, 1, printPictureControl), // End of list marker TagInfo(0xffff, "(UnknownNikonPcTag)", "(UnknownNikonPcTag)", N_("Unknown Nikon Picture Control Tag"), nikonPcId, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListPc() { return tagInfoPc_; } //! OnOff extern const TagDetails aftOnOff[] = { { 0, N_("Off") }, { 1, N_("On") }, { 2, N_("On") } }; // Nikon3 AF Fine Tune const TagInfo Nikon3MakerNote::tagInfoAFT_[] = { TagInfo(0, "AFFineTune", N_("AF Fine Tune"), N_("AF fine tune"), nikonAFTId, makerTags, unsignedByte, 1, EXV_PRINT_TAG(aftOnOff)), TagInfo(1, "AFFineTuneIndex", N_("AF Fine Tune Index"), N_("AF fine tune index"), nikonAFTId, makerTags, unsignedByte, 1, printValue), TagInfo(2, "AFFineTuneAdj", N_("AF Fine Tune Adjustment"), N_("AF fine tune adjustment"), nikonAFTId, makerTags, signedByte, 1, printValue), // End of list marker TagInfo(0xffff, "(UnknownNikonAFTTag)", "(UnknownNikonAFTTag)", N_("Unknown Nikon AF Fine Tune Tag"), nikonAFTId, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListAFT() { return tagInfoAFT_; } // Nikon3 World Time Tag Info const TagInfo Nikon3MakerNote::tagInfoWt_[] = { TagInfo(0, "Timezone", N_("Timezone"), N_("Timezone"), nikonWtId, makerTags, signedShort, 1, printTimeZone), TagInfo(2, "DaylightSavings", N_("Daylight Savings"), N_("Daylight savings"), nikonWtId, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonYesNo)), TagInfo(3, "DateDisplayFormat", N_("Date Display Format"), N_("Date display format"), nikonWtId, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonDateDisplayFormat)), // End of list marker TagInfo(0xffff, "(UnknownNikonWtTag)", "(UnknownNikonWtTag)", N_("Unknown Nikon World Time Tag"), nikonWtId, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListWt() { return tagInfoWt_; } //! ISOExpansion, tag index 4 and 10 extern const TagDetails nikonIsoExpansion[] = { { 0x000, N_("Off") }, { 0x101, N_("Hi 0.3") }, { 0x102, N_("Hi 0.5") }, { 0x103, N_("Hi 0.7") }, { 0x104, N_("Hi 1.0") }, { 0x105, N_("Hi 1.3") }, { 0x106, N_("Hi 1.5") }, { 0x107, N_("Hi 1.7") }, { 0x108, N_("Hi 2.0") }, { 0x109, N_("Hi 2.3") }, { 0x10a, N_("Hi 2.5") }, { 0x10b, N_("Hi 2.7") }, { 0x10c, N_("Hi 3.0") }, { 0x10d, N_("Hi 3.3") }, { 0x10e, N_("Hi 3.5") }, { 0x10f, N_("Hi 3.7") }, { 0x110, N_("Hi 4.0") }, { 0x201, N_("Lo 0.3") }, { 0x202, N_("Lo 0.5") }, { 0x203, N_("Lo 0.7") }, { 0x204, N_("Lo 1.0") } }; // Nikon3 ISO Info Tag Info const TagInfo Nikon3MakerNote::tagInfoIi_[] = { TagInfo( 0, "ISO", N_("ISO"), N_("ISO"), nikonIiId, makerTags, unsignedByte, 1, printIiIso), TagInfo( 4, "ISOExpansion", N_("ISO Expansion"), N_("ISO expansion"), nikonIiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(nikonIsoExpansion)), TagInfo( 6, "ISO2", N_("ISO 2"), N_("ISO 2"), nikonIiId, makerTags, unsignedByte, 1, printIiIso), TagInfo(10, "ISOExpansion2", N_("ISO Expansion 2"), N_("ISO expansion 2"), nikonIiId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(nikonIsoExpansion)), // End of list marker TagInfo(0xffff, "(UnknownNikonIiTag)", "(UnknownNikonIiTag)", N_("Unknown Nikon Iso Info Tag"), nikonIiId, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListIi() { return tagInfoIi_; } //! AfAreaMode extern const TagDetails nikonAfAreaMode[] = { { 0, N_("Single Area") }, { 1, N_("Dynamic Area") }, { 2, N_("Dynamic Area, Closest Subject") }, { 3, N_("Group Dynamic") }, { 4, N_("Single Area (wide)") }, { 5, N_("Dynamic Area (wide)") } }; //! AfPoint extern const TagDetails nikonAfPoint[] = { { 0, N_("Center") }, { 1, N_("Top") }, { 2, N_("Bottom") }, { 3, N_("Mid-left") }, { 4, N_("Mid-right") }, { 5, N_("Upper-left") }, { 6, N_("Upper-right") }, { 7, N_("Lower-left") }, { 8, N_("Lower-right") }, { 9, N_("Far Left") }, { 10, N_("Far Right") } }; //! AfPointsInFocus extern const TagDetailsBitmask nikonAfPointsInFocus[] = { { 0x0001, N_("Center") }, { 0x0002, N_("Top") }, { 0x0004, N_("Bottom") }, { 0x0008, N_("Mid-left") }, { 0x0010, N_("Mid-right") }, { 0x0020, N_("Upper-left") }, { 0x0040, N_("Upper-right") }, { 0x0080, N_("Lower-left") }, { 0x0100, N_("Lower-right") }, { 0x0200, N_("Far Left") }, { 0x0400, N_("Far Right") } }; // Nikon3 Auto Focus Tag Info const TagInfo Nikon3MakerNote::tagInfoAf_[] = { TagInfo( 0, "AFAreaMode", N_("AF Area Mode"), N_("AF area mode"), nikonAfId, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonAfAreaMode)), TagInfo( 1, "AFPoint", N_("AF Point"), N_("AF point"), nikonAfId, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonAfPoint)), TagInfo( 2, "AFPointsInFocus", N_("AF Points In Focus"), N_("AF points in focus"), nikonAfId, makerTags, unsignedShort, 1, printAfPointsInFocus), // End of list marker TagInfo(0xffff, "(UnknownNikonAfTag)", "(UnknownNikonAfTag)", N_("Unknown Nikon Auto Focus Tag"), nikonAfId, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListAf() { return tagInfoAf_; } //! PhaseDetectAF extern const TagDetails nikonPhaseDetectAF[] = { { 0, N_("Off") }, { 1, N_("On (51-point)") }, { 2, N_("On (11-point)") }, { 3, N_("On (39-point)") }, { 4, N_("On (73-point)") }, { 5, N_("On (73-point, new)") }, { 6, N_("On (105-point)") } }; // Nikon3 Auto Focus Tag Info const TagInfo Nikon3MakerNote::tagInfoAf2_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonAf2Id, makerTags, undefined, 4, printExifVersion), TagInfo( 4, "ContrastDetectAF", N_("Contrast Detect AF"), N_("Contrast detect AF"), nikonAf2Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonOffOn)), TagInfo( 5, "AFAreaMode", N_("AF Area Mode"), N_("AF area mode"), nikonAf2Id, makerTags, unsignedByte, 1, printValue), TagInfo( 6, "PhaseDetectAF", N_("Phase Detect AF"), N_("Phase detect AF"), nikonAf2Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonPhaseDetectAF)), TagInfo( 7, "PrimaryAFPoint", N_("Primary AF Point"), N_("Primary AF point"), nikonAf2Id, makerTags, unsignedByte, 1, printValue), TagInfo( 8, "AFPointsUsed", N_("AF Points Used"), N_("AF points used"), nikonAf2Id, makerTags, unsignedByte, 7, printValue), TagInfo( 16, "AFImageWidth", N_("AF Image Width"), N_("AF image width"), nikonAf2Id, makerTags, unsignedShort, 1, printValue), TagInfo( 18, "AFImageHeight", N_("AF Image Height"), N_("AF image height"), nikonAf2Id, makerTags, unsignedShort, 1, printValue), TagInfo( 20, "AFAreaXPosition", N_("AF Area X Position"), N_("AF area x position"), nikonAf2Id, makerTags, unsignedShort, 1, printValue), TagInfo( 22, "AFAreaYPosition", N_("AF Area Y Position"), N_("AF area y position"), nikonAf2Id, makerTags, unsignedShort, 1, printValue), TagInfo( 24, "AFAreaWidth", N_("AF Area Width"), N_("AF area width"), nikonAf2Id, makerTags, unsignedShort, 1, printValue), TagInfo( 26, "AFAreaHeight", N_("AF Area Height"), N_("AF area height"), nikonAf2Id, makerTags, unsignedShort, 1, printValue), TagInfo( 28, "ContrastDetectAFInFocus", N_("Contrast Detect AF In Focus"), N_("Contrast detect AF in focus"), nikonAf2Id, makerTags, unsignedShort, 1, printValue), // End of list marker TagInfo(0xffff, "(UnknownNikonAf2Tag)", "(UnknownNikonAf2Tag)", N_("Unknown Nikon Auto Focus 2 Tag"), nikonAf2Id, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListAf2() { return tagInfoAf2_; } // Nikon3 File Info Tag Info const TagInfo Nikon3MakerNote::tagInfoFi_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonFiId, makerTags, undefined, 4, printExifVersion), TagInfo( 6, "DirectoryNumber", N_("Directory Number"), N_("Directory number"), nikonFiId, makerTags, unsignedShort, 1, printValue), TagInfo( 8, "FileNumber", N_("File Number"), N_("File number"), nikonFiId, makerTags, unsignedShort, 1, printValue), // End of list marker TagInfo(0xffff, "(UnknownNikonFiTag)", "(UnknownNikonFiTag)", N_("Unknown Nikon File Info Tag"), nikonFiId, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListFi() { return tagInfoFi_; } //! MultiExposureMode extern const TagDetails nikonMultiExposureMode[] = { { 0, N_("Off") }, { 1, N_("Multiple Exposure") }, { 2, N_("Image Overlay") } }; // Nikon3 Multi Exposure Tag Info const TagInfo Nikon3MakerNote::tagInfoMe_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonMeId, makerTags, undefined, 4, printExifVersion), TagInfo( 4, "MultiExposureMode", N_("Multi Exposure Mode"), N_("Multi exposure mode"), nikonMeId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(nikonMultiExposureMode)), TagInfo( 8, "MultiExposureShots", N_("Multi Exposure Shots"), N_("Multi exposure shots"), nikonMeId, makerTags, unsignedLong, 1, printValue), TagInfo( 12, "MultiExposureAutoGain", N_("Multi Exposure Auto Gain"), N_("Multi exposure auto gain"), nikonMeId, makerTags, unsignedLong, 1, EXV_PRINT_TAG(nikonOffOn)), // End of list marker TagInfo(0xffff, "(UnknownNikonMeTag)", "(UnknownNikonMeTag)", N_("Unknown Nikon Multi Exposure Tag"), nikonMeId, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListMe() { return tagInfoMe_; } //! FlashSource extern const TagDetails nikonFlashSource[] = { { 0, N_("None") }, { 1, N_("External") }, { 2, N_("Internal") } }; //! FlashFirmware extern const TagDetails nikonFlashFirmware[] = { { 0x0000, N_("n/a") }, { 0x0101, N_("1.01 (SB-800 or Metz 58 AF-1)") }, { 0x0103, "1.03 (SB-800)" }, { 0x0201, "2.01 (SB-800)" }, { 0x0204, "2.04 (SB-600)" }, { 0x0205, "2.05 (SB-600)" }, { 0x0301, "3.01 (SU-800 Remote Commander)" }, { 0x0401, "4.01 (SB-400)" }, { 0x0402, "4.02 (SB-400)" }, { 0x0404, "4.04 (SB-400)" }, { 0x0501, "5.01 (SB-900)" }, { 0x0502, "5.02 (SB-900)" }, { 0x0601, "6.01 (SB-700)" }, { 0x0701, "7.01 (SB-910)" } }; //! FlashGNDistance extern const TagDetails nikonFlashGNDistance[] = { { 0, N_("None") }, { 1, "0.1 m" }, { 2, "0.2 m" }, { 3, "0.3 m" }, { 4, "0.4 m" }, { 5, "0.5 m" }, { 6, "0.6 m" }, { 7, "0.7 m" }, { 8, "0.8 m" }, { 9, "0.9 m" }, { 10, "1.0 m" }, { 11, "1.1 m" }, { 12, "1.3 m" }, { 13, "1.4 m" }, { 14, "1.6 m" }, { 15, "1.8 m" }, { 16, "2.0 m" }, { 17, "2.2 m" }, { 18, "2.5 m" }, { 19, "2.8 m" }, { 20, "3.2 m" }, { 21, "3.6 m" }, { 22, "4.0 m" }, { 23, "4.5 m" }, { 24, "5.0 m" }, { 25, "5.6 m" }, { 26, "6.3 m" }, { 27, "7.1 m" }, { 28, "8.0 m" }, { 29, "9.0 m" }, { 30, "10.0 m" }, { 31, "11.0 m" }, { 32, "13.0 m" }, { 33, "14.0 m" }, { 34, "16.0 m" }, { 35, "18.0 m" }, { 36, "20.0 m" }, { 255, N_("n/a") } }; //! FlashControlMode extern const TagDetails nikonFlashControlMode[] = { { 0, N_("Off") }, { 1, N_("iTTL-BL") }, { 2, N_("iTTL") }, { 3, N_("Auto Aperture") }, { 4, N_("Automatic") }, { 5, N_("GN (distance priority)") }, { 6, N_("Manual") }, { 7, N_("Repeating Flash") }, { 7, N_("Repeating Flash") } // To silence compiler warning }; //! ExternalFlashFlags extern const TagDetails nikonExternalFlashFlags[] = { { 0, N_("Fired") }, { 2, N_("Bounce Flash") }, { 4, N_("Wide Flash Adapter") } }; //! FlashColorFilter extern const TagDetails nikonFlashColorFilter[] = { { 0, N_("None") }, { 1, N_("FL-GL1") }, { 2, N_("FL-GL2") }, { 9, N_("TN-A1") }, { 10, N_("TN-A2") }, { 65, N_("Red") }, { 66, N_("Blue") }, { 67, N_("Yellow") }, { 68, N_("Amber") } }; // Nikon3 Flash Info 1 Tag Info const TagInfo Nikon3MakerNote::tagInfoFl1_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonFl1Id, makerTags, undefined, 4, printExifVersion), TagInfo( 4, "FlashSource", N_("Flash Source"), N_("Flash source"), nikonFl1Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashSource)), TagInfo( 5, "0x0005", N_("0x0005"), N_("Unknown"), nikonFl1Id, makerTags, unsignedByte, 1, printValue), TagInfo( 6, "ExternalFlashFirmware", N_("External Flash Firmware"), N_("External flash firmware"), nikonFl1Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(nikonFlashFirmware)), TagInfo( 8, "ExternalFlashFlags", N_("External Flash Flags"), N_("External flash flags"), nikonFl1Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonExternalFlashFlags)), TagInfo( 11, "FlashFocalLength", N_("Flash Focal Length"), N_("Flash focal length"), nikonFl1Id, makerTags, unsignedByte, 1, printFlashFocalLength), TagInfo( 12, "RepeatingFlashRate", N_("Repeating Flash Rate"), N_("Repeating flash rate"), nikonFl1Id, makerTags, unsignedByte, 1, printRepeatingFlashRate), TagInfo( 13, "RepeatingFlashCount", N_("Repeating Flash Count"), N_("Repeating flash count"), nikonFl1Id, makerTags, unsignedByte, 1, printRepeatingFlashCount), TagInfo( 14, "FlashGNDistance", N_("Flash GN Distance"), N_("Flash GN distance"), nikonFl1Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashGNDistance)), TagInfo( 15, "FlashGroupAControlMode", N_("Flash Group A Control Mode"), N_("Flash group a control mode"), nikonFl1Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashControlMode)), TagInfo( 16, "FlashGroupBControlMode", N_("Flash Group B Control Mode"), N_("Flash group b control mode"), nikonFl1Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashControlMode)), // End of list marker TagInfo(0xffff, "(UnknownNikonMeTag)", "(UnknownNikonMeTag)", N_("Unknown Nikon Multi Exposure Tag"), nikonFl1Id, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListFl1() { return tagInfoFl1_; } // Nikon3 Flash Info 2 Tag Info const TagInfo Nikon3MakerNote::tagInfoFl2_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonFl2Id, makerTags, undefined, 4, printExifVersion), TagInfo( 4, "FlashSource", N_("Flash Source"), N_("Flash source"), nikonFl2Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashSource)), TagInfo( 5, "0x0005", N_("0x0005"), N_("Unknown"), nikonFl2Id, makerTags, unsignedByte, 1, printValue), TagInfo( 6, "ExternalFlashFirmware", N_("External Flash Firmware"), N_("External flash firmware"), nikonFl2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(nikonFlashFirmware)), TagInfo( 8, "ExternalFlashFlags", N_("External Flash Flags"), N_("External flash flags"), nikonFl2Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonExternalFlashFlags)), TagInfo( 12, "FlashFocalLength", N_("Flash Focal Length"), N_("Flash focal length"), nikonFl2Id, makerTags, unsignedByte, 1, printFlashFocalLength), TagInfo( 13, "RepeatingFlashRate", N_("Repeating Flash Rate"), N_("Repeating flash rate"), nikonFl2Id, makerTags, unsignedByte, 1, printRepeatingFlashRate), TagInfo( 14, "RepeatingFlashCount", N_("Repeating Flash Count"), N_("Repeating flash count"), nikonFl2Id, makerTags, unsignedByte, 1, printRepeatingFlashCount), TagInfo( 15, "FlashGNDistance", N_("Flash GN Distance"), N_("Flash GN distance"), nikonFl2Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashGNDistance)), // End of list marker TagInfo(0xffff, "(UnknownNikonMeTag)", "(UnknownNikonMeTag)", N_("Unknown Nikon Multi Exposure Tag"), nikonFl2Id, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListFl2() { return tagInfoFl2_; } // Nikon3 Flash Info 3 Tag Info const TagInfo Nikon3MakerNote::tagInfoFl3_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonFl3Id, makerTags, undefined, 4, printExifVersion), TagInfo( 4, "FlashSource", N_("Flash Source"), N_("Flash source"), nikonFl3Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashSource)), TagInfo( 6, "ExternalFlashFirmware", N_("External Flash Firmware"), N_("External flash firmware"), nikonFl3Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(nikonFlashFirmware)), TagInfo( 8, "ExternalFlashFlags", N_("External Flash Flags"), N_("External flash flags"), nikonFl3Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonExternalFlashFlags)), TagInfo( 12, "FlashFocalLength", N_("Flash Focal Length"), N_("Flash focal length"), nikonFl3Id, makerTags, unsignedByte, 1, printFlashFocalLength), TagInfo( 13, "RepeatingFlashRate", N_("Repeating Flash Rate"), N_("Repeating flash rate"), nikonFl3Id, makerTags, unsignedByte, 1, printRepeatingFlashRate), TagInfo( 14, "RepeatingFlashCount", N_("Repeating Flash Count"), N_("Repeating flash count"), nikonFl3Id, makerTags, unsignedByte, 1, printRepeatingFlashCount), TagInfo( 15, "FlashGNDistance", N_("Flash GN Distance"), N_("Flash GN distance"), nikonFl3Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashGNDistance)), TagInfo( 16, "FlashColorFilter", N_("Flash Color Filter"), N_("Flash color filter"), nikonFl3Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonFlashColorFilter)), // End of list marker TagInfo(0xffff, "(UnknownNikonMeTag)", "(UnknownNikonMeTag)", N_("Unknown Nikon Multi Exposure Tag"), nikonFl3Id, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListFl3() { return tagInfoFl3_; } // Nikon3 Shot Info D80 Tag Info const TagInfo Nikon3MakerNote::tagInfoSi1_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonSi1Id, makerTags, unsignedByte, 4, printExifVersion), TagInfo( 586, "ShutterCount", N_("Shutter Count"), N_("Shutter count"), nikonSi1Id, makerTags, unsignedLong, 1, printValue), // End of list marker TagInfo(0xffff, "(UnknownNikonSi1Tag)", "(UnknownNikonSi1Tag)", N_("Unknown Nikon Shot Info D80 Tag"), nikonSi1Id, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListSi1() { return tagInfoSi1_; } // Nikon3 Shot Info D40 Tag Info const TagInfo Nikon3MakerNote::tagInfoSi2_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonSi2Id, makerTags, unsignedByte, 4, printExifVersion), TagInfo( 582, "ShutterCount", N_("Shutter Count"), N_("Shutter count"), nikonSi2Id, makerTags, unsignedLong, 1, printValue), TagInfo( 738, "FlashLevel", N_("Flash Level"), N_("Flash level"), nikonSi2Id, makerTags, unsignedByte, 1, printValue), // End of list marker TagInfo(0xffff, "(UnknownNikonSi2Tag)", "(UnknownNikonSi2Tag)", N_("Unknown Nikon Shot Info D40 Tag"), nikonSi2Id, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListSi2() { return tagInfoSi2_; } //! AfFineTuneAdj D300 (a) extern const TagDetails nikonAfFineTuneAdj1[] = { { 0x0000, "0" }, { 0x003a, "+1" }, { 0x003b, "+2" }, { 0x003c, "+4" }, { 0x003d, "+8" }, { 0x003e, "+16" }, { 0x00c2, "-16" }, { 0x00c3, "-8" }, { 0x00c4, "-4" }, { 0x00c5, "-2" }, { 0x00c6, "-1" }, { 0x103e, "+17" }, { 0x10c2, "-17" }, { 0x203d, "+9" }, { 0x203e, "+18" }, { 0x20c2, "-18" }, { 0x20c3, "-9" }, { 0x303e, "+19" }, { 0x30c2, "-19" }, { 0x403c, "+5" }, { 0x403d, "+10" }, { 0x403e, "+20" }, { 0x40c2, "-20" }, { 0x40c3, "-10" }, { 0x40c4, "-5" }, { 0x603d, "+11" }, { 0x60c3, "-11" }, { 0x803b, "+3" }, { 0x803c, "+6" }, { 0x803d, "+12" }, { 0x80c3, "-12" }, { 0x80c4, "-6" }, { 0x80c5, "-3" }, { 0xa03d, "+13" }, { 0xa0c3, "-13" }, { 0xc03c, "+7" }, { 0xc03d, "+14" }, { 0xc0c3, "-14" }, { 0xc0c4, "-7" }, { 0xe03d, "+15" }, { 0xe0c3, "-15" } }; // Nikon3 Shot Info D300 (a) Tag Info const TagInfo Nikon3MakerNote::tagInfoSi3_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonSi3Id, makerTags, unsignedByte, 4, printExifVersion), TagInfo( 604, "ISO", N_("ISO"), N_("ISO"), nikonSi3Id, makerTags, unsignedByte, 1, printIiIso), TagInfo( 633, "ShutterCount", N_("Shutter Count"), N_("Shutter count"), nikonSi3Id, makerTags, unsignedLong, 1, printValue), TagInfo( 721, "AFFineTuneAdj", N_("AF Fine Tune Adj"), N_("AF fine tune adj"), nikonSi3Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(nikonAfFineTuneAdj1)), // End of list marker TagInfo(0xffff, "(UnknownNikonSi3Tag)", "(UnknownNikonSi3Tag)", N_("Unknown Nikon Shot Info D300 (a) Tag"), nikonSi3Id, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListSi3() { return tagInfoSi3_; } //! AfFineTuneAdj D300 (b) extern const TagDetails nikonAfFineTuneAdj2[] = { { 0x0000, "0" }, { 0x043e, "+13" }, { 0x04c2, "-13" }, { 0x183d, "+7" }, { 0x183e, "+14" }, { 0x18c2, "-14" }, { 0x18c3, "-7" }, { 0x2c3e, "+15" }, { 0x2cc2, "-15" }, { 0x403a, "+1" }, { 0x403b, "+2" }, { 0x403c, "+4" }, { 0x403d, "+8" }, { 0x403e, "+16" }, { 0x40c2, "-16" }, { 0x40c3, "-8" }, { 0x40c4, "-4" }, { 0x40c5, "-2" }, { 0x40c6, "-1" }, { 0x543e, "+17" }, { 0x54c2, "-17" }, { 0x683d, "+9" }, { 0x683e, "+18" }, { 0x68c2, "-18" }, { 0x68c3, "-9" }, { 0x7c3e, "+19" }, { 0x7cc2, "-19" }, { 0x903c, "+5" }, { 0x903d, "+10" }, { 0x903e, "+20" }, { 0x90c2, "-20" }, { 0x90c3, "-10" }, { 0x90c4, "-5" }, { 0xb83d, "+11" }, { 0xb8c3, "-11" }, { 0xe03b, "+3" }, { 0xe03c, "+6" }, { 0xe03d, "+12" }, { 0xe0c3, "-12" }, { 0xe0c4, "-6" }, { 0xe0c5, "-3" } }; // Nikon3 Shot Info D300 (b) Tag Info const TagInfo Nikon3MakerNote::tagInfoSi4_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonSi4Id, makerTags, unsignedByte, 4, printExifVersion), TagInfo( 613, "ISO", N_("ISO"), N_("ISO"), nikonSi4Id, makerTags, unsignedByte, 1, printIiIso), TagInfo( 644, "ShutterCount", N_("Shutter Count"), N_("Shutter count"), nikonSi4Id, makerTags, unsignedLong, 1, printValue), TagInfo( 732, "AFFineTuneAdj", N_("AF Fine Tune Adj"), N_("AF fine tune adj"), nikonSi4Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(nikonAfFineTuneAdj2)), // End of list marker TagInfo(0xffff, "(UnknownNikonSi4Tag)", "(UnknownNikonSi4Tag)", N_("Unknown Nikon Shot Info D300 (b) Tag"), nikonSi4Id, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListSi4() { return tagInfoSi4_; } //! VibrationReduction extern const TagDetails nikonOffOn2[] = { { 0, N_("Off") }, { 1, N_("On (1)") }, { 2, N_("On (2)") }, { 3, N_("On (3)") } }; //! VibrationReduction2 extern const TagDetails nikonOffOn3[] = { { 0x0, N_("n/a") }, { 0xc, N_("Off") }, { 0xf, N_("On") } }; // Nikon3 Shot Info Tag Info const TagInfo Nikon3MakerNote::tagInfoSi5_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonSi5Id, makerTags, unsignedByte, 4, printExifVersion), TagInfo( 106, "ShutterCount1", N_("Shutter Count 1"), N_("Shutter count 1"), nikonSi5Id, makerTags, unsignedLong, 1, printValue), TagInfo( 110, "DeletedImageCount", N_("Deleted Image Count"), N_("Deleted image count"), nikonSi5Id, makerTags, unsignedLong, 1, printValue), TagInfo( 117, "VibrationReduction", N_("Vibration Reduction"), N_("Vibration reduction"), nikonSi5Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonOffOn2)), TagInfo( 130, "VibrationReduction1", N_("Vibration Reduction 1"), N_("Vibration reduction 1"), nikonSi5Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonOffOn)), TagInfo( 343, "ShutterCount2", N_("Shutter Count 2"), N_("Shutter count 2"), nikonSi5Id, makerTags, undefined, 2, printValue), TagInfo( 430, "VibrationReduction2", N_("Vibration Reduction 2"), N_("Vibration reduction 2"), nikonSi5Id, makerTags, unsignedByte, 1, EXV_PRINT_TAG(nikonOffOn3)), TagInfo( 598, "ISO", N_("ISO"), N_("ISO"), nikonSi5Id, makerTags, unsignedByte, 1, printIiIso), TagInfo( 630, "ShutterCount", N_("Shutter Count"), N_("Shutter count"), nikonSi5Id, makerTags, unsignedLong, 1, printValue), // End of list marker TagInfo(0xffff, "(UnknownNikonSi5Tag)", "(UnknownNikonSi5Tag)", N_("Unknown Nikon Shot Info Tag"), nikonSi5Id, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListSi5() { return tagInfoSi5_; } // Nikon3 Color Balance 1 Tag Info const TagInfo Nikon3MakerNote::tagInfoCb1_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonCb1Id, makerTags, undefined, 4, printExifVersion), TagInfo(36, "WB_RBGGLevels", N_("WB RBGG Levels"), N_("WB RBGG levels"), nikonCb1Id, makerTags, unsignedShort, 4, printValue), // End of list marker TagInfo(0xffff, "(UnknownNikonCb1Tag)", "(UnknownNikonCb1Tag)", N_("Unknown Nikon Color Balance 1 Tag"), nikonCb1Id, makerTags, unsignedShort, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListCb1() { return tagInfoCb1_; } // Nikon3 Color Balance 2 Tag Info const TagInfo Nikon3MakerNote::tagInfoCb2_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonCb2Id, makerTags, undefined, 4, printExifVersion), TagInfo( 5, "WB_RGGBLevels", N_("WB RGGB Levels"), N_("WB RGGB levels"), nikonCb2Id, makerTags, unsignedShort, 4, printValue), // End of list marker TagInfo(0xffff, "(UnknownNikonCb2Tag)", "(UnknownNikonCb2Tag)", N_("Unknown Nikon Color Balance 2 Tag"), nikonCb2Id, makerTags, unsignedShort, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListCb2() { return tagInfoCb2_; } // Nikon3 Color Balance 2a Tag Info const TagInfo Nikon3MakerNote::tagInfoCb2a_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonCb2aId, makerTags, undefined, 4, printExifVersion), TagInfo( 9, "WB_RGGBLevels", N_("WB RGGB Levels"), N_("WB RGGB levels"), nikonCb2aId, makerTags, unsignedShort, 4, printValue), // End of list marker TagInfo(0xffff, "(UnknownNikonCb2aTag)", "(UnknownNikonCb2aTag)", N_("Unknown Nikon Color Balance 2a Tag"), nikonCb2aId, makerTags, unsignedShort, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListCb2a() { return tagInfoCb2a_; } // Nikon3 Color Balance 2b Tag Info const TagInfo Nikon3MakerNote::tagInfoCb2b_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonCb2bId, makerTags, undefined, 4, printExifVersion), TagInfo(145, "WB_RGGBLevels", N_("WB RGGB Levels"), N_("WB RGGB levels"), nikonCb2bId, makerTags, unsignedShort, 4, printValue), // End of list marker TagInfo(0xffff, "(UnknownNikonCb2bTag)", "(UnknownNikonCb2bTag)", N_("Unknown Nikon Color Balance 2b Tag"), nikonCb2bId, makerTags, unsignedShort, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListCb2b() { return tagInfoCb2b_; } // Nikon3 Color Balance 3 Tag Info const TagInfo Nikon3MakerNote::tagInfoCb3_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonCb3Id, makerTags, undefined, 4, printExifVersion), TagInfo(10, "WB_RGBGLevels", N_("WB RGBG Levels"), N_("WB RGBG levels"), nikonCb3Id, makerTags, unsignedShort, 4, printValue), // End of list marker TagInfo(0xffff, "(UnknownNikonCb3Tag)", "(UnknownNikonCb3Tag)", N_("Unknown Nikon Color Balance 3 Tag"), nikonCb3Id, makerTags, unsignedShort, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListCb3() { return tagInfoCb3_; } // Nikon3 Color Balance 4 Tag Info const TagInfo Nikon3MakerNote::tagInfoCb4_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonCb4Id, makerTags, undefined, 4, printExifVersion), TagInfo(147, "WB_GRBGLevels", N_("WB GRBG Levels"), N_("WB GRBG levels"), nikonCb4Id, makerTags, unsignedShort, 4, printValue), // End of list marker TagInfo(0xffff, "(UnknownNikonCb4Tag)", "(UnknownNikonCb4Tag)", N_("Unknown Nikon Color Balance 4 Tag"), nikonCb4Id, makerTags, unsignedShort, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListCb4() { return tagInfoCb4_; } // Nikon3 Lens Data 1 Tag Info const TagInfo Nikon3MakerNote::tagInfoLd1_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonLd1Id, makerTags, undefined, 4, printExifVersion), TagInfo( 6, "LensIDNumber", N_("Lens ID Number"), N_("Lens ID number"), nikonLd1Id, makerTags, unsignedByte, 1, printLensId1), TagInfo( 7, "LensFStops", N_("Lens F-Stops"), N_("Lens F-stops"), nikonLd1Id, makerTags, unsignedByte, 1, printFStops), TagInfo( 8, "MinFocalLength", N_("Min Focal Length"), N_("Min focal length"), nikonLd1Id, makerTags, unsignedByte, 1, printFocal), TagInfo( 9, "MaxFocalLength", N_("Max Focal Length"), N_("Max focal length"), nikonLd1Id, makerTags, unsignedByte, 1, printFocal), TagInfo(10, "MaxApertureAtMinFocal", N_("Max Aperture At Min Focal"), N_("Max aperture at min focal"), nikonLd1Id, makerTags, unsignedByte, 1, printAperture), TagInfo(11, "MaxApertureAtMaxFocal", N_("Max Aperture At Max Focal"), N_("Max aperture at max focal"), nikonLd1Id, makerTags, unsignedByte, 1, printAperture), TagInfo(12, "MCUVersion", N_("MCU Version"), N_("MCU version"), nikonLd1Id, makerTags, unsignedByte, 1, printValue), // End of list marker TagInfo(0xffff, "(UnknownNikonLd1Tag)", "(UnknownNikonLd1Tag)", N_("Unknown Nikon Lens Data 1 Tag"), nikonLd1Id, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListLd1() { return tagInfoLd1_; } // Nikon3 Lens Data 2 Tag Info const TagInfo Nikon3MakerNote::tagInfoLd2_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonLd2Id, makerTags, undefined, 4, printExifVersion), TagInfo( 4, "ExitPupilPosition", N_("Exit Pupil Position"), N_("Exit pupil position"), nikonLd2Id, makerTags, unsignedByte, 1, printExitPupilPosition), TagInfo( 5, "AFAperture", N_("AF Aperture"), N_("AF aperture"), nikonLd2Id, makerTags, unsignedByte, 1, printAperture), TagInfo( 8, "FocusPosition", N_("Focus Position"), N_("Focus position"), nikonLd2Id, makerTags, unsignedByte, 1, printValue), TagInfo( 9, "FocusDistance", N_("Focus Distance"), N_("Focus distance"), nikonLd2Id, makerTags, unsignedByte, 1, printFocusDistance), TagInfo(10, "FocalLength", N_("Focal Length"), N_("Focal length"), nikonLd2Id, makerTags, unsignedByte, 1, printFocal), TagInfo(11, "LensIDNumber", N_("Lens ID Number"), N_("Lens ID number"), nikonLd2Id, makerTags, unsignedByte, 1, printLensId2), TagInfo(12, "LensFStops", N_("Lens F-Stops"), N_("Lens F-stops"), nikonLd2Id, makerTags, unsignedByte, 1, printFStops), TagInfo(13, "MinFocalLength", N_("Min Focal Length"), N_("Min focal length"), nikonLd2Id, makerTags, unsignedByte, 1, printFocal), TagInfo(14, "MaxFocalLength", N_("Max Focal Length"), N_("Max focal length"), nikonLd2Id, makerTags, unsignedByte, 1, printFocal), TagInfo(15, "MaxApertureAtMinFocal", N_("Max Aperture At Min Focal"), N_("Max aperture at min focal"), nikonLd2Id, makerTags, unsignedByte, 1, printAperture), TagInfo(16, "MaxApertureAtMaxFocal", N_("Max Aperture At Max Focal"), N_("Max aperture at max focal"), nikonLd2Id, makerTags, unsignedByte, 1, printAperture), TagInfo(17, "MCUVersion", N_("MCU Version"), N_("MCU version"), nikonLd2Id, makerTags, unsignedByte, 1, printValue), TagInfo(18, "EffectiveMaxAperture", N_("Effective Max Aperture"), N_("Effective max aperture"), nikonLd2Id, makerTags, unsignedByte, 1, printAperture), // End of list marker TagInfo(0xffff, "(UnknownNikonLd2Tag)", "(UnknownNikonLd2Tag)", N_("Unknown Nikon Lens Data 2 Tag"), nikonLd2Id, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListLd2() { return tagInfoLd2_; } // Nikon3 Lens Data 3 Tag Info const TagInfo Nikon3MakerNote::tagInfoLd3_[] = { TagInfo( 0, "Version", N_("Version"), N_("Version"), nikonLd3Id, makerTags, undefined, 4, printExifVersion), TagInfo( 4, "ExitPupilPosition", N_("Exit Pupil Position"), N_("Exit pupil position"), nikonLd3Id, makerTags, unsignedByte, 1, printExitPupilPosition), TagInfo( 5, "AFAperture", N_("AF Aperture"), N_("AF aperture"), nikonLd3Id, makerTags, unsignedByte, 1, printAperture), TagInfo( 8, "FocusPosition", N_("Focus Position"), N_("Focus position"), nikonLd3Id, makerTags, unsignedByte, 1, printValue), TagInfo(10, "FocusDistance", N_("Focus Distance"), N_("Focus distance"), nikonLd3Id, makerTags, unsignedByte, 1, printFocusDistance), TagInfo(11, "FocalLength", N_("Focal Length"), N_("Focal length"), nikonLd3Id, makerTags, unsignedByte, 1, printFocal), TagInfo(12, "LensIDNumber", N_("Lens ID Number"), N_("Lens ID number"), nikonLd3Id, makerTags, unsignedByte, 1, printLensId3), TagInfo(13, "LensFStops", N_("Lens F-Stops"), N_("Lens F-stops"), nikonLd3Id, makerTags, unsignedByte, 1, printFStops), TagInfo(14, "MinFocalLength", N_("Min Focal Length"), N_("Min focal length"), nikonLd3Id, makerTags, unsignedByte, 1, printFocal), TagInfo(15, "MaxFocalLength", N_("Max Focal Length"), N_("Max focal length"), nikonLd3Id, makerTags, unsignedByte, 1, printFocal), TagInfo(16, "MaxApertureAtMinFocal", N_("Max Aperture At Min Focal"), N_("Max aperture at min focal length"), nikonLd3Id, makerTags, unsignedByte, 1, printAperture), TagInfo(17, "MaxApertureAtMaxFocal", N_("Max Aperture At Max Focal"), N_("Max aperture at max focal length"), nikonLd3Id, makerTags, unsignedByte, 1, printAperture), TagInfo(18, "MCUVersion", N_("MCU Version"), N_("MCU version"), nikonLd3Id, makerTags, unsignedByte, 1, printValue), TagInfo(19, "EffectiveMaxAperture", N_("Effective Max Aperture"), N_("Effective max aperture"), nikonLd3Id, makerTags, unsignedByte, 1, printAperture), // End of list marker TagInfo(0xffff, "(UnknownNikonLd3Tag)", "(UnknownNikonLd3Tag)", N_("Unknown Nikon Lens Data 3 Tag"), nikonLd3Id, makerTags, unsignedByte, 1, printValue) }; const TagInfo* Nikon3MakerNote::tagListLd3() { return tagInfoLd3_; } std::ostream& Nikon3MakerNote::printIiIso(std::ostream& os, const Value& value, const ExifData*) { double v = 100 * exp((value.toLong() / 12.0 - 5) * log(2.0)); return os << static_cast(v + 0.5); } std::ostream& Nikon3MakerNote::print0x0002(std::ostream& os, const Value& value, const ExifData*) { if (value.count() > 1) { os << value.toLong(1); } else { os << "(" << value << ")"; } return os; } std::ostream& Nikon3MakerNote::print0x0007(std::ostream& os, const Value& value, const ExifData*) { std::string focus = value.toString(); if (focus == "AF-C ") os << _("Continuous autofocus"); else if (focus == "AF-S ") os << _("Single autofocus"); else if (focus == "AF-A ") os << _("Automatic"); else os << "(" << value << ")"; return os; } std::ostream& Nikon3MakerNote::print0x0083(std::ostream& os, const Value& value, const ExifData*) { long lensType = value.toLong(); bool valid=false; if (lensType & 1) { os << "MF "; valid=true; } if (lensType & 2) { os << "D "; valid=true; } if (lensType & 4) { os << "G "; valid=true; } if (lensType & 8) { os << "VR"; valid=true; } if (!valid) os << "(" << lensType << ")"; return os; } std::ostream& Nikon3MakerNote::print0x0084(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if ( value.count() != 4 || value.toRational(0).second == 0 || value.toRational(1).second == 0) { os << "(" << value << ")"; return os; } long len1 = value.toLong(0); long len2 = value.toLong(1); Rational fno1 = value.toRational(2); Rational fno2 = value.toRational(3); os << len1; if (len2 != len1) { os << "-" << len2; } os << "mm "; std::ostringstream oss; oss.copyfmt(os); os << "F" << std::setprecision(2) << static_cast(fno1.first) / fno1.second; if (fno2 != fno1) { os << "-" << std::setprecision(2) << static_cast(fno2.first) / fno2.second; } os.copyfmt(oss); os.flags(f); return os; } std::ostream& Nikon3MakerNote::print0x0085(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); Rational distance = value.toRational(); if (distance.first == 0) { os << _("Unknown"); } else if (distance.second != 0) { std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(2) << (float)distance.first / distance.second << " m"; os.copyfmt(oss); } else { os << "(" << value << ")"; } os.flags(f); return os; } std::ostream& Nikon3MakerNote::print0x0086(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); Rational zoom = value.toRational(); if (zoom.first == 0) { os << _("Not used"); } else if (zoom.second != 0) { std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1) << (float)zoom.first / zoom.second << "x"; os.copyfmt(oss); } else { os << "(" << value << ")"; } os.flags(f); return os; } std::ostream& Nikon3MakerNote::print0x0088(std::ostream& os, const Value& value, const ExifData*) { if (value.size() != 4) { // Size is 4 even for those who map this way... os << "(" << value << ")"; } else { // Mapping by Roger Larsson unsigned focusmetering = value.toLong(0); unsigned focuspoint = value.toLong(1); unsigned focusused = (value.toLong(2) << 8) + value.toLong(3); // TODO: enum {standard, wide} combination = standard; const unsigned focuspoints = sizeof(nikonFocuspoints) / sizeof(nikonFocuspoints[0]); if (focusmetering == 0 && focuspoint == 0 && focusused == 0) { // Special case, in Manual focus and with Nikon compacts // this indicates that the field has no meaning. // But when acually in "Single area, Center" this can mean // that focus was not found (try this in AF-C mode) // TODO: handle the meaningful case (interacts with other fields) os << "N/A"; return os; } switch (focusmetering) { case 0x00: os << _("Single area"); break; // D70, D200 case 0x01: os << _("Dynamic area"); break; // D70, D200 case 0x02: os << _("Closest subject"); break; // D70, D200 case 0x03: os << _("Group dynamic-AF"); break; // D200 case 0x04: os << _("Single area (wide)"); /* TODO: combination = wide; */ break; // D200 case 0x05: os << _("Dynamic area (wide)"); /* TODO: combination = wide; */ break; // D200 default: os << "(" << focusmetering << ")"; break; } char sep = ';'; if (focusmetering != 0x02) { // No user selected point for Closest subject os << sep << ' '; // What focuspoint did the user select? if (focuspoint < focuspoints) { os << nikonFocuspoints[focuspoint]; // TODO: os << position[fokuspoint][combination] } else os << "(" << focuspoint << ")"; sep = ','; } // What fokuspoints(!) did the camera use? add if differs if (focusused == 0) os << sep << " " << _("none"); else if (focusused != 1U<findKey(ExifKey("Exif.Image.Model")); if (pos != metadata->end() && pos->count() != 0) { std::string model = pos->toString(); if (model.find("NIKON D") != std::string::npos) { dModel = true; } } } uint16_t val = static_cast(value.toLong()); if (dModel) val = (val >> 8) | ((val & 0x00ff) << 8); if (val == 0x07ff) return os << _("All 11 Points"); UShortValue v; v.value_.push_back(val); return EXV_PRINT_TAG_BITMASK(nikonAfPointsInFocus)(os, v, 0); } std::ostream& Nikon3MakerNote::print0x0089(std::ostream& os, const Value& value, const ExifData* metadata) { if (value.count() != 1 || value.typeId() != unsignedShort) { return os << "(" << value << ")"; } long l = value.toLong(0); if (l == 0) return os << _("Single-frame"); if (!(l & 0x87)) os << _("Single-frame") << ", "; bool d70 = false; if (metadata) { ExifKey key("Exif.Image.Model"); ExifData::const_iterator pos = metadata->findKey(key); if (pos != metadata->end() && pos->count() != 0) { std::string model = pos->toString(); if (model.find("D70") != std::string::npos) { d70 = true; } } } if (d70) { EXV_PRINT_TAG_BITMASK(nikonShootingModeD70)(os, value, 0); } else { EXV_PRINT_TAG_BITMASK(nikonShootingMode)(os, value, 0); } return os; } std::ostream& Nikon3MakerNote::print0x008b(std::ostream& os, const Value& value, const ExifData*) { // Decoded by Robert Rottmerhusen if ( value.size() != 4 || value.typeId() != undefined) { return os << "(" << value << ")"; } float a = value.toFloat(0); long b = value.toLong(1); long c = value.toLong(2); if (c == 0) return os << "(" << value << ")"; return os << a * b / c; } std::ostream& Nikon3MakerNote::printLensId1(std::ostream& os, const Value& value, const ExifData* metadata) { return printLensId(os, value, metadata, "NikonLd1"); } std::ostream& Nikon3MakerNote::printLensId2(std::ostream& os, const Value& value, const ExifData* metadata) { return printLensId(os, value, metadata, "NikonLd2"); } std::ostream& Nikon3MakerNote::printLensId3(std::ostream& os, const Value& value, const ExifData* metadata) { return printLensId(os, value, metadata, "NikonLd3"); } std::ostream& Nikon3MakerNote::printLensId(std::ostream& os, const Value& value, const ExifData* metadata, const std::string& group) { #ifdef EXV_HAVE_LENSDATA // 8< - - - 8< do not remove this line >8 - - - >8 //------------------------------------------------------------------------------ #ifndef FMOUNTLH #define FMOUNTLH //------------------------------------------------------------------------------ // List of AF F-Mount lenses - Version 4.4.482.01 2015-04-26 //------------------------------------------------------------------------------ #define FMLVERSION "4.4.482.01" #define FMLDATE "2015-04-26" //------------------------------------------------------------------------------ // // // Created by Robert Rottmerhusen 2005 - 2015 // http://www.rottmerhusen.com (lens_id@rottmerhusen.com) // // For contributor info and more visit my online list: // http://www.rottmerhusen.com/objektives/lensid/thirdparty.html // // // Seven misidentified lenses due to double LensIDs: // // 2F 48 30 44 24 24 29 02.1: Nikon AF Zoom-Nikkor 20-35mm f/2.8D IF // 2F 48 30 44 24 24 29 02.2: Tokina AT-X 235 AF PRO (AF 20-35mm f/2.8) // // 32 54 6A 6A 24 24 35 02.1: Nikon AF Micro-Nikkor 105mm f/2.8D // 32 54 6A 6A 24 24 35 02.2: Sigma Macro 105mm F2.8 EX DG // // 7A 3C 1F 37 30 30 7E 06.1: Nikon AF-S DX Zoom-Nikkor 12-24mm f/4G IF-ED // 7A 3C 1F 37 30 30 7E 06.2: Tokina AT-X 124 AF PRO DX II (AF 12-24mm f/4) // // 8B 40 2D 80 2C 3C FD 0E.1: Nikon AF-S DX VR Zoom-Nikkor 18-200mm f/3.5-5.6G IF-ED // 8B 40 2D 80 2C 3C FD 0E.2: Nikon AF-S DX VR Zoom-Nikkor 18-200mm f/3.5-5.6G IF-ED II // // 32 53 64 64 24 24 35 02.1: Tamron SP AF 90mm F/2.8 Macro 1:1 (172E) // 32 53 64 64 24 24 35 02.2: Tamron SP AF 90mm F/2.8 Di Macro 1:1 (272E) // // 2F 40 30 44 2C 34 29 02.1: Tokina AF 235 II (AF 20-35mm f/3.5-4.5) // 2F 40 30 44 2C 34 29 02.2: Tokina AF 193 (AF 19-35mm f/3.5-4.5) // // 25 48 3C 5C 24 24 1B 02.1: Tokina AT-X 287 AF PRO SV (AF 28-70mm f/2.8) // 25 48 3C 5C 24 24 1B 02.2: Tokina AT-X 270 AF PRO II (AF 28-70mm f/2.6-2.8) // // // product number/order code not complete // // Free use in non-commercial, GPL or open source software only! // Please contact me for adding lenses or use in commercial software. // //"data from TAG 0x98" "ltyp" " "TC" "MID" "maker" "PN" "lens name from manuf"; // //------------------------------------------------------------------------------ // Nikkor lenses by their LensID //------------------------------------------------------------------------------ // static const struct {unsigned char lid,stps,focs,focl,aps,apl,lfw, ltype, tcinfo, dblid, mid; const char *manuf, *lnumber, *lensname;} fmountlens[] = { {0x01,0x58,0x50,0x50,0x14,0x14,0x02,0x00,0x00,0x00,0x00, "Nikon", "JAA00901", "AF Nikkor 50mm f/1.8"}, {0x01,0x58,0x50,0x50,0x14,0x14,0x05,0x00,0x00,0x00,0x00, "Nikon", "JAA00901", "AF Nikkor 50mm f/1.8"}, {0x02,0x42,0x44,0x5C,0x2A,0x34,0x02,0x00,0x00,0x00,0x00, "Nikon", "JAA72701", "AF Zoom-Nikkor 35-70mm f/3.3-4.5"}, {0x02,0x42,0x44,0x5C,0x2A,0x34,0x08,0x00,0x00,0x00,0x00, "Nikon", "JAA72701", "AF Zoom-Nikkor 35-70mm f/3.3-4.5"}, {0x03,0x48,0x5C,0x81,0x30,0x30,0x02,0x00,0x00,0x00,0x00, "Nikon", "JAA72801", "AF Zoom-Nikkor 70-210mm f/4"}, {0x04,0x48,0x3C,0x3C,0x24,0x24,0x03,0x00,0x00,0x00,0x00, "Nikon", "JAA12001", "AF Nikkor 28mm f/2.8"}, {0x05,0x54,0x50,0x50,0x0C,0x0C,0x04,0x00,0x00,0x00,0x00, "Nikon", "JAA01001", "AF Nikkor 50mm f/1.4"}, {0x06,0x54,0x53,0x53,0x24,0x24,0x06,0x00,0x40,0x00,0x00, "Nikon", "JAA62101", "AF Micro-Nikkor 55mm f/2.8"}, {0x07,0x40,0x3C,0x62,0x2C,0x34,0x03,0x00,0x00,0x00,0x00, "Nikon", "JAA72901", "AF Zoom-Nikkor 28-85mm f/3.5-4.5"}, {0x08,0x40,0x44,0x6A,0x2C,0x34,0x04,0x00,0x00,0x00,0x00, "Nikon", "JAA73001", "AF Zoom-Nikkor 35-105mm f/3.5-4.5"}, {0x09,0x48,0x37,0x37,0x24,0x24,0x04,0x00,0x00,0x00,0x00, "Nikon", "JAA12101", "AF Nikkor 24mm f/2.8"}, {0x0A,0x48,0x8E,0x8E,0x24,0x24,0x03,0x00,0x00,0x00,0x00, "Nikon", "JAA322AA", "AF Nikkor 300mm f/2.8 IF-ED"}, {0x0A,0x48,0x8E,0x8E,0x24,0x24,0x05,0x00,0x00,0x00,0x00, "Nikon", "JAA322AB", "AF Nikkor 300mm f/2.8 IF-ED"}, {0x0B,0x48,0x7C,0x7C,0x24,0x24,0x05,0x00,0x00,0x00,0x00, "Nikon", "JAA32101", "AF Nikkor 180mm f/2.8 IF-ED"}, //0C {0x0D,0x40,0x44,0x72,0x2C,0x34,0x07,0x00,0x00,0x00,0x00, "Nikon", "JAA73101", "AF Zoom-Nikkor 35-135mm f/3.5-4.5"}, {0x0E,0x48,0x5C,0x81,0x30,0x30,0x05,0x00,0x00,0x00,0x00, "Nikon", "", "AF Zoom-Nikkor 70-210mm f/4"}, {0x0F,0x58,0x50,0x50,0x14,0x14,0x05,0x00,0x00,0x00,0x00, "Nikon", "JAA009AD", "AF Nikkor 50mm f/1.8 N"}, {0x10,0x48,0x8E,0x8E,0x30,0x30,0x08,0x00,0x00,0x00,0x00, "Nikon", "JAA32301", "AF Nikkor 300mm f/4 IF-ED"}, {0x11,0x48,0x44,0x5C,0x24,0x24,0x08,0x00,0x00,0x00,0x00, "Nikon", "JAA73301", "AF Zoom-Nikkor 35-70mm f/2.8"}, {0x12,0x48,0x5C,0x81,0x30,0x3C,0x09,0x00,0x00,0x00,0x00, "Nikon", "JAA73201", "AF Nikkor 70-210mm f/4-5.6"}, {0x13,0x42,0x37,0x50,0x2A,0x34,0x0B,0x00,0x00,0x00,0x00, "Nikon", "JAA73401", "AF Zoom-Nikkor 24-50mm f/3.3-4.5"}, {0x14,0x48,0x60,0x80,0x24,0x24,0x0B,0x00,0x00,0x00,0x00, "Nikon", "JAA73501", "AF Zoom-Nikkor 80-200mm f/2.8 ED"}, {0x15,0x4C,0x62,0x62,0x14,0x14,0x0C,0x00,0x00,0x00,0x00, "Nikon", "JAA32401", "AF Nikkor 85mm f/1.8"}, //16 {0x17,0x3C,0xA0,0xA0,0x30,0x30,0x0F,0x00,0x00,0x00,0x00, "Nikon", "JAA518AA", "Nikkor 500mm f/4 P ED IF"}, {0x17,0x3C,0xA0,0xA0,0x30,0x30,0x11,0x00,0x00,0x00,0x00, "Nikon", "JAA518AA", "Nikkor 500mm f/4 P ED IF"}, {0x18,0x40,0x44,0x72,0x2C,0x34,0x0E,0x00,0x00,0x00,0x00, "Nikon", "JAA736AA", "AF Zoom-Nikkor 35-135mm f/3.5-4.5 N"}, //19 {0x1A,0x54,0x44,0x44,0x18,0x18,0x11,0x00,0x00,0x00,0x00, "Nikon", "JAA12201", "AF Nikkor 35mm f/2"}, {0x1B,0x44,0x5E,0x8E,0x34,0x3C,0x10,0x00,0x00,0x00,0x00, "Nikon", "JAA738AA", "AF Zoom-Nikkor 75-300mm f/4.5-5.6"}, {0x1C,0x48,0x30,0x30,0x24,0x24,0x12,0x00,0x00,0x00,0x00, "Nikon", "JAA12301", "AF Nikkor 20mm f/2.8"}, {0x1D,0x42,0x44,0x5C,0x2A,0x34,0x12,0x00,0x00,0x00,0x00, "Nikon", "", "AF Zoom-Nikkor 35-70mm f/3.3-4.5 N"}, {0x1E,0x54,0x56,0x56,0x24,0x24,0x13,0x00,0x40,0x00,0x00, "Nikon", "JAA62201", "AF Micro-Nikkor 60mm f/2.8"}, {0x1F,0x54,0x6A,0x6A,0x24,0x24,0x14,0x00,0x40,0x00,0x00, "Nikon", "JAA62301", "AF Micro-Nikkor 105mm f/2.8"}, {0x20,0x48,0x60,0x80,0x24,0x24,0x15,0x00,0x00,0x00,0x00, "Nikon", "", "AF Zoom-Nikkor 80-200mm f/2.8 ED"}, {0x21,0x40,0x3C,0x5C,0x2C,0x34,0x16,0x00,0x00,0x00,0x00, "Nikon", "", "AF Zoom-Nikkor 28-70mm f/3.5-4.5"}, {0x22,0x48,0x72,0x72,0x18,0x18,0x16,0x00,0x00,0x00,0x00, "Nikon", "JAA32501", "AF DC-Nikkor 135mm f/2"}, {0x23,0x30,0xBE,0xCA,0x3C,0x48,0x17,0x00,0x00,0x00,0x00, "Nikon", "", "Zoom-Nikkor 1200-1700mm f/5.6-8 P ED IF"}, // - D - lenses from here {0x24,0x48,0x60,0x80,0x24,0x24,0x1A,0x02,0x00,0x00,0x00, "Nikon", "JAA742DA", "AF Zoom-Nikkor 80-200mm f/2.8D ED"}, {0x25,0x48,0x44,0x5c,0x24,0x24,0x1B,0x02,0x00,0x00,0x00, "Nikon", "JAA743DA", "AF Zoom-Nikkor 35-70mm f/2.8D"}, {0x25,0x48,0x44,0x5C,0x24,0x24,0x3A,0x02,0x00,0x00,0x00, "Nikon", "JAA743DA", "AF Zoom-Nikkor 35-70mm f/2.8D"}, {0x25,0x48,0x44,0x5c,0x24,0x24,0x52,0x02,0x00,0x00,0x00, "Nikon", "JAA743DA", "AF Zoom-Nikkor 35-70mm f/2.8D"}, {0x26,0x40,0x3C,0x5C,0x2C,0x34,0x1C,0x02,0x00,0x00,0x00, "Nikon", "JAA744DA", "AF Zoom-Nikkor 28-70mm f/3.5-4.5D"}, // ^- not yet verified {0x27,0x48,0x8E,0x8E,0x24,0x24,0x1D,0x02,0x07,0x00,0x00, "Nikon", "JAA326DA", "AF-I Nikkor 300mm f/2.8D IF-ED"}, {0x27,0x48,0x8E,0x8E,0x24,0x24,0xF1,0x02,0x0F,0x00,0x00, "Nikon", "JAA326DA", "AF-I Nikkor 300mm f/2.8D IF-ED + TC-14E"}, {0x27,0x48,0x8E,0x8E,0x24,0x24,0xE1,0x02,0x0F,0x00,0x00, "Nikon", "JAA326DA", "AF-I Nikkor 300mm f/2.8D IF-ED + TC-17E"}, {0x27,0x48,0x8E,0x8E,0x24,0x24,0xF2,0x02,0x0F,0x00,0x00, "Nikon", "JAA326DA", "AF-I Nikkor 300mm f/2.8D IF-ED + TC-20E"}, {0x28,0x3C,0xA6,0xA6,0x30,0x30,0x1D,0x02,0x07,0x00,0x00, "Nikon", "JAA519DA", "AF-I Nikkor 600mm f/4D IF-ED"}, {0x28,0x3C,0xA6,0xA6,0x30,0x30,0xF1,0x02,0x0F,0x00,0x00, "Nikon", "JAA519DA", "AF-I Nikkor 600mm f/4D IF-ED + TC-14E"}, {0x28,0x3C,0xA6,0xA6,0x30,0x30,0xE1,0x02,0x0F,0x00,0x00, "Nikon", "JAA519DA", "AF-I Nikkor 600mm f/4D IF-ED + TC-17E"}, {0x28,0x3C,0xA6,0xA6,0x30,0x30,0xF2,0x02,0x0F,0x00,0x00, "Nikon", "JAA519DA", "AF-I Nikkor 600mm f/4D IF-ED + TC-20E"}, //29 {0x2A,0x54,0x3C,0x3C,0x0C,0x0C,0x26,0x02,0x00,0x00,0x00, "Nikon", "JAA124DA", "AF Nikkor 28mm f/1.4D"}, {0x2B,0x3C,0x44,0x60,0x30,0x3C,0x1F,0x02,0x00,0x00,0x00, "Nikon", "", "AF Zoom-Nikkor 35-80mm f/4-5.6D"}, {0x2C,0x48,0x6A,0x6A,0x18,0x18,0x27,0x02,0x00,0x00,0x00, "Nikon", "JAA327DA", "AF DC-Nikkor 105mm f/2D"}, {0x2D,0x48,0x80,0x80,0x30,0x30,0x21,0x02,0x40,0x00,0x00, "Nikon", "JAA624DA", "AF Micro-Nikkor 200mm f/4D IF-ED"}, {0x2E,0x48,0x5C,0x82,0x30,0x3C,0x22,0x02,0x00,0x00,0x00, "Nikon", "JAA747DA", "AF Nikkor 70-210mm f/4-5.6D"}, {0x2E,0x48,0x5C,0x82,0x30,0x3C,0x28,0x02,0x00,0x00,0x00, "Nikon", "JAA747DA", "AF Nikkor 70-210mm f/4-5.6D"}, {0x2F,0x48,0x30,0x44,0x24,0x24,0x29,0x02,0x00,0x01,0x00, "Nikon", "JAA746DA", "AF Zoom-Nikkor 20-35mm f/2.8D IF"}, {0x30,0x48,0x98,0x98,0x24,0x24,0x24,0x02,0x07,0x00,0x00, "Nikon", "JAA520DA", "AF-I Nikkor 400mm f/2.8D IF-ED"}, {0x30,0x48,0x98,0x98,0x24,0x24,0xF1,0x02,0x0F,0x00,0x00, "Nikon", "JAA520DA", "AF-I Nikkor 400mm f/2.8D IF-ED + TC-14E"}, {0x30,0x48,0x98,0x98,0x24,0x24,0xE1,0x02,0x0F,0x00,0x00, "Nikon", "JAA520DA", "AF-I Nikkor 400mm f/2.8D IF-ED + TC-17E"}, {0x30,0x48,0x98,0x98,0x24,0x24,0xF2,0x02,0x0F,0x00,0x00, "Nikon", "JAA520DA", "AF-I Nikkor 400mm f/2.8D IF-ED + TC-20E"}, {0x31,0x54,0x56,0x56,0x24,0x24,0x25,0x02,0x40,0x00,0x00, "Nikon", "JAA625DA", "AF Micro-Nikkor 60mm f/2.8D"}, {0x32,0x54,0x6A,0x6A,0x24,0x24,0x35,0x02,0x40,0x01,0x00, "Nikon", "JAA627DA", "AF Micro-Nikkor 105mm f/2.8D"}, {0x33,0x48,0x2D,0x2D,0x24,0x24,0x31,0x02,0x00,0x00,0x00, "Nikon", "JAA126DA", "AF Nikkor 18mm f/2.8D"}, {0x34,0x48,0x29,0x29,0x24,0x24,0x32,0x02,0x00,0x00,0x00, "Nikon", "JAA626DA", "AF Fisheye Nikkor 16mm f/2.8D"}, {0x35,0x3C,0xA0,0xA0,0x30,0x30,0x33,0x02,0x07,0x00,0x00, "Nikon", "JAA521DA", "AF-I Nikkor 500mm f/4D IF-ED"}, {0x35,0x3C,0xA0,0xA0,0x30,0x30,0xF1,0x02,0x0F,0x00,0x00, "Nikon", "JAA521DA", "AF-I Nikkor 500mm f/4D IF-ED + TC-14E"}, {0x35,0x3C,0xA0,0xA0,0x30,0x30,0xE1,0x02,0x0F,0x00,0x00, "Nikon", "JAA521DA", "AF-I Nikkor 500mm f/4D IF-ED + TC-17E"}, {0x35,0x3C,0xA0,0xA0,0x30,0x30,0xF2,0x02,0x0F,0x00,0x00, "Nikon", "JAA521DA", "AF-I Nikkor 500mm f/4D IF-ED + TC-20E"}, {0x36,0x48,0x37,0x37,0x24,0x24,0x34,0x02,0x00,0x00,0x00, "Nikon", "JAA125DA", "AF Nikkor 24mm f/2.8D"}, {0x37,0x48,0x30,0x30,0x24,0x24,0x36,0x02,0x00,0x00,0x00, "Nikon", "JAA127DA", "AF Nikkor 20mm f/2.8D"}, {0x38,0x4C,0x62,0x62,0x14,0x14,0x37,0x02,0x00,0x00,0x00, "Nikon", "JAA328DA", "AF Nikkor 85mm f/1.8D"}, //39 38 {0x3A,0x40,0x3C,0x5C,0x2C,0x34,0x39,0x02,0x00,0x00,0x00, "Nikon", "JAA744DA", "AF Zoom-Nikkor 28-70mm f/3.5-4.5D"}, {0x3B,0x48,0x44,0x5C,0x24,0x24,0x3A,0x02,0x00,0x00,0x00, "Nikon", "JAA743DA", "AF Zoom-Nikkor 35-70mm f/2.8D N"}, {0x3C,0x48,0x60,0x80,0x24,0x24,0x3B,0x02,0x00,0x00,0x00, "Nikon", "", "AF Zoom-Nikkor 80-200mm f/2.8D ED"}, {0x3D,0x3C,0x44,0x60,0x30,0x3C,0x3E,0x02,0x00,0x00,0x00, "Nikon", "", "AF Zoom-Nikkor 35-80mm f/4-5.6D"}, {0x3E,0x48,0x3C,0x3C,0x24,0x24,0x3D,0x02,0x00,0x00,0x00, "Nikon", "JAA128DA", "AF Nikkor 28mm f/2.8D"}, {0x3F,0x40,0x44,0x6A,0x2C,0x34,0x45,0x02,0x00,0x00,0x00, "Nikon", "JAA748DA", "AF Zoom-Nikkor 35-105mm f/3.5-4.5D"}, //40 {0x41,0x48,0x7c,0x7c,0x24,0x24,0x43,0x02,0x00,0x00,0x00, "Nikon", "JAA330DA", "AF Nikkor 180mm f/2.8D IF-ED"}, {0x42,0x54,0x44,0x44,0x18,0x18,0x44,0x02,0x00,0x00,0x00, "Nikon", "JAA129DA", "AF Nikkor 35mm f/2D"}, {0x43,0x54,0x50,0x50,0x0C,0x0C,0x46,0x02,0x00,0x00,0x00, "Nikon", "JAA011DB", "AF Nikkor 50mm f/1.4D"}, {0x44,0x44,0x60,0x80,0x34,0x3C,0x47,0x02,0x00,0x00,0x00, "Nikon", "JAA753DB", "AF Zoom-Nikkor 80-200mm f/4.5-5.6D"}, {0x45,0x40,0x3C,0x60,0x2C,0x3C,0x48,0x02,0x00,0x00,0x00, "Nikon", "JAA752DA", "AF Zoom-Nikkor 28-80mm f/3.5-5.6D"}, {0x46,0x3C,0x44,0x60,0x30,0x3C,0x49,0x02,0x00,0x00,0x00, "Nikon", "JAA754DA", "AF Zoom-Nikkor 35-80mm f/4-5.6D N"}, {0x47,0x42,0x37,0x50,0x2A,0x34,0x4A,0x02,0x00,0x00,0x00, "Nikon", "JAA756DA", "AF Zoom-Nikkor 24-50mm f/3.3-4.5D"}, {0x48,0x48,0x8E,0x8E,0x24,0x24,0x4B,0x02,0x07,0x00,0x00, "Nikon", "JAA333DA", "AF-S Nikkor 300mm f/2.8D IF-ED"}, {0x48,0x48,0x8E,0x8E,0x24,0x24,0xF1,0x02,0x0F,0x00,0x00, "Nikon", "JAA333DA", "AF-S Nikkor 300mm f/2.8D IF-ED + TC-14E"}, {0x48,0x48,0x8E,0x8E,0x24,0x24,0xE1,0x02,0x0F,0x00,0x00, "Nikon", "JAA333DA", "AF-S Nikkor 300mm f/2.8D IF-ED + TC-17E"}, {0x48,0x48,0x8E,0x8E,0x24,0x24,0xF2,0x02,0x0F,0x00,0x00, "Nikon", "JAA333DA", "AF-S Nikkor 300mm f/2.8D IF-ED + TC-20E"}, {0x49,0x3C,0xA6,0xA6,0x30,0x30,0x4C,0x02,0x07,0x00,0x00, "Nikon", "JAA522DA", "AF-S Nikkor 600mm f/4D IF-ED"}, {0x49,0x3C,0xA6,0xA6,0x30,0x30,0xF1,0x02,0x0F,0x00,0x00, "Nikon", "JAA522DA", "AF-S Nikkor 600mm f/4D IF-ED + TC-14E"}, {0x49,0x3C,0xA6,0xA6,0x30,0x30,0xE1,0x02,0x0F,0x00,0x00, "Nikon", "JAA522DA", "AF-S Nikkor 600mm f/4D IF-ED + TC-17E"}, {0x49,0x3C,0xA6,0xA6,0x30,0x30,0xF2,0x02,0x0F,0x00,0x00, "Nikon", "JAA522DA", "AF-S Nikkor 600mm f/4D IF-ED + TC-20E"}, {0x4A,0x54,0x62,0x62,0x0C,0x0C,0x4D,0x02,0x00,0x00,0x00, "Nikon", "JAA332DA", "AF Nikkor 85mm f/1.4D IF"}, {0x4B,0x3C,0xA0,0xA0,0x30,0x30,0x4E,0x02,0x07,0x00,0x00, "Nikon", "JAA523DA", "AF-S Nikkor 500mm f/4D IF-ED"}, {0x4B,0x3C,0xA0,0xA0,0x30,0x30,0xF1,0x02,0x0F,0x00,0x00, "Nikon", "JAA523DA", "AF-S Nikkor 500mm f/4D IF-ED + TC-14E"}, {0x4B,0x3C,0xA0,0xA0,0x30,0x30,0xE1,0x02,0x0F,0x00,0x00, "Nikon", "JAA523DA", "AF-S Nikkor 500mm f/4D IF-ED + TC-17E"}, {0x4B,0x3C,0xA0,0xA0,0x30,0x30,0xF2,0x02,0x0F,0x00,0x00, "Nikon", "JAA523DA", "AF-S Nikkor 500mm f/4D IF-ED + TC-20E"}, {0x4C,0x40,0x37,0x6E,0x2C,0x3C,0x4F,0x02,0x00,0x00,0x00, "Nikon", "JAA757DA", "AF Zoom-Nikkor 24-120mm f/3.5-5.6D IF"}, {0x4D,0x40,0x3C,0x80,0x2C,0x3C,0x62,0x02,0x00,0x00,0x00, "Nikon", "JAA758DA", "AF Zoom-Nikkor 28-200mm f/3.5-5.6D IF"}, {0x4E,0x48,0x72,0x72,0x18,0x18,0x51,0x02,0x00,0x00,0x00, "Nikon", "JAA329DA", "AF DC-Nikkor 135mm f/2D"}, {0x4F,0x40,0x37,0x5C,0x2C,0x3C,0x53,0x06,0x00,0x00,0x00, "Nikon", "JBA701AA", "IX-Nikkor 24-70mm f/3.5-5.6"}, {0x50,0x48,0x56,0x7C,0x30,0x3C,0x54,0x06,0x00,0x00,0x00, "Nikon", "JBA702AA", "IX-Nikkor 60-180mm f/4-5.6"}, // "JBA703AC" "IX-Nikkor 20-60 mm f/3.5-5.6"; //51 //52 {0x53,0x48,0x60,0x80,0x24,0x24,0x57,0x02,0x00,0x00,0x00, "Nikon", "JAA762DA", "AF Zoom-Nikkor 80-200mm f/2.8D ED"}, {0x53,0x48,0x60,0x80,0x24,0x24,0x60,0x02,0x00,0x00,0x00, "Nikon", "JAA762DA", "AF Zoom-Nikkor 80-200mm f/2.8D ED"}, {0x54,0x44,0x5C,0x7C,0x34,0x3C,0x58,0x02,0x00,0x00,0x00, "Nikon", "JAA763DA", "AF Zoom-Micro Nikkor 70-180mm f/4.5-5.6D ED"}, {0x54,0x44,0x5C,0x7C,0x34,0x3C,0x61,0x02,0x00,0x00,0x00, "Nikon", "JAA763DA", "AF Zoom-Micro Nikkor 70-180mm f/4.5-5.6D ED"}, //55 {0x56,0x48,0x5C,0x8E,0x30,0x3C,0x5A,0x02,0x00,0x00,0x00, "Nikon", "JAA764DA", "AF Zoom-Nikkor 70-300mm f/4-5.6D ED"}, //57 //58 {0x59,0x48,0x98,0x98,0x24,0x24,0x5D,0x02,0x07,0x00,0x00, "Nikon", "JAA524DA", "AF-S Nikkor 400mm f/2.8D IF-ED"}, {0x59,0x48,0x98,0x98,0x24,0x24,0xF1,0x02,0x0F,0x00,0x00, "Nikon", "JAA524DA", "AF-S Nikkor 400mm f/2.8D IF-ED + TC-14E"}, {0x59,0x48,0x98,0x98,0x24,0x24,0xE1,0x02,0x0F,0x00,0x00, "Nikon", "JAA524DA", "AF-S Nikkor 400mm f/2.8D IF-ED + TC-17E"}, {0x59,0x48,0x98,0x98,0x24,0x24,0xF2,0x02,0x0F,0x00,0x00, "Nikon", "JAA524DA", "AF-S Nikkor 400mm f/2.8D IF-ED + TC-20E"}, {0x5A,0x3C,0x3E,0x56,0x30,0x3C,0x5E,0x06,0x00,0x00,0x00, "Nikon", "JBA704AA", "IX-Nikkor 30-60mm f/4-5.6"}, {0x5B,0x44,0x56,0x7C,0x34,0x3C,0x5F,0x06,0x00,0x00,0x00, "Nikon", "JBA705AA", "IX-Nikkor 60-180mm f/4.5-5.6"}, // "JBA706AC" "IX-Nikkor 20-60 mm f/3.5-5.6N"; //5C {0x5D,0x48,0x3C,0x5C,0x24,0x24,0x63,0x02,0x01,0x00,0x00, "Nikon", "JAA767DA", "AF-S Zoom-Nikkor 28-70mm f/2.8D IF-ED"}, {0x5E,0x48,0x60,0x80,0x24,0x24,0x64,0x02,0x03,0x00,0x00, "Nikon", "JAA765DA", "AF-S Zoom-Nikkor 80-200mm f/2.8D IF-ED"}, {0x5F,0x40,0x3C,0x6A,0x2C,0x34,0x65,0x02,0x00,0x00,0x00, "Nikon", "JAA766DA", "AF Zoom-Nikkor 28-105mm f/3.5-4.5D IF"}, {0x60,0x40,0x3C,0x60,0x2C,0x3C,0x66,0x02,0x00,0x00,0x00, "Nikon", "JAA769DA", "AF Zoom-Nikkor 28-80mm f/3.5-5.6D"}, {0x61,0x44,0x5E,0x86,0x34,0x3C,0x67,0x02,0x00,0x00,0x00, "Nikon", "JAA768DA", "AF Zoom-Nikkor 75-240mm f/4.5-5.6D"}, //62 69 {0x63,0x48,0x2B,0x44,0x24,0x24,0x68,0x02,0x01,0x00,0x00, "Nikon", "JAA770DA", "AF-S Nikkor 17-35mm f/2.8D IF-ED"}, {0x64,0x00,0x62,0x62,0x24,0x24,0x6A,0x02,0x40,0x00,0x00, "Nikon", "JAA628DA", "PC Micro-Nikkor 85mm f/2.8D"}, {0x65,0x44,0x60,0x98,0x34,0x3C,0x6B,0x0A,0x00,0x00,0x00, "Nikon", "JAA771DA", "AF VR Zoom-Nikkor 80-400mm f/4.5-5.6D ED"}, {0x66,0x40,0x2D,0x44,0x2C,0x34,0x6C,0x02,0x00,0x00,0x00, "Nikon", "JAA772DA", "AF Zoom-Nikkor 18-35mm f/3.5-4.5D IF-ED"}, {0x67,0x48,0x37,0x62,0x24,0x30,0x6D,0x02,0x00,0x00,0x00, "Nikon", "JAA774DA", "AF Zoom-Nikkor 24-85mm f/2.8-4D IF"}, {0x68,0x42,0x3C,0x60,0x2A,0x3C,0x6E,0x06,0x00,0x00,0x00, "Nikon", "JAA777DA", "AF Zoom-Nikkor 28-80mm f/3.3-5.6G"}, {0x69,0x48,0x5C,0x8E,0x30,0x3C,0x6F,0x06,0x00,0x00,0x00, "Nikon", "JAA776DA", "AF Zoom-Nikkor 70-300mm f/4-5.6G"}, {0x6A,0x48,0x8E,0x8E,0x30,0x30,0x70,0x02,0x03,0x00,0x00, "Nikon", "JAA334DA", "AF-S Nikkor 300mm f/4D IF-ED"}, {0x6B,0x48,0x24,0x24,0x24,0x24,0x71,0x02,0x00,0x00,0x00, "Nikon", "JAA130DA", "AF Nikkor ED 14mm f/2.8D"}, //6C 72 {0x6D,0x48,0x8E,0x8E,0x24,0x24,0x73,0x02,0x03,0x00,0x00, "Nikon", "JAA335DA", "AF-S Nikkor 300mm f/2.8D IF-ED II"}, {0x6E,0x48,0x98,0x98,0x24,0x24,0x74,0x02,0x03,0x00,0x00, "Nikon", "JAA525DA", "AF-S Nikkor 400mm f/2.8D IF-ED II"}, {0x6F,0x3C,0xA0,0xA0,0x30,0x30,0x75,0x02,0x03,0x00,0x00, "Nikon", "JAA526DA", "AF-S Nikkor 500mm f/4D IF-ED II"}, {0x70,0x3C,0xA6,0xA6,0x30,0x30,0x76,0x02,0x03,0x00,0x00, "Nikon", "JAA527DA", "AF-S Nikkor 600mm f/4D IF-ED II"}, //71 {0x72,0x48,0x4C,0x4C,0x24,0x24,0x77,0x00,0x00,0x00,0x00, "Nikon", "JAA012AA", "Nikkor 45mm f/2.8 P"}, //73 {0x74,0x40,0x37,0x62,0x2C,0x34,0x78,0x06,0x01,0x00,0x00, "Nikon", "JAA780DA", "AF-S Zoom-Nikkor 24-85mm f/3.5-4.5G IF-ED"}, {0x75,0x40,0x3C,0x68,0x2C,0x3C,0x79,0x06,0x00,0x00,0x00, "Nikon", "JAA778DA", "AF Zoom-Nikkor 28-100mm f/3.5-5.6G"}, {0x76,0x58,0x50,0x50,0x14,0x14,0x7A,0x02,0x00,0x00,0x00, "Nikon", "JAA013DA", "AF Nikkor 50mm f/1.8D"}, {0x77,0x48,0x5C,0x80,0x24,0x24,0x7B,0x0E,0x03,0x00,0x00, "Nikon", "JAA781DA", "AF-S VR Zoom-Nikkor 70-200mm f/2.8G IF-ED"}, {0x78,0x40,0x37,0x6E,0x2C,0x3C,0x7C,0x0E,0x01,0x00,0x00, "Nikon", "JAA782DA", "AF-S VR Zoom-Nikkor 24-120mm f/3.5-5.6G IF-ED"}, {0x79,0x40,0x3C,0x80,0x2C,0x3C,0x7F,0x06,0x00,0x00,0x00, "Nikon", "JAA783DA", "AF Zoom-Nikkor 28-200mm f/3.5-5.6G IF-ED"}, {0x7A,0x3C,0x1F,0x37,0x30,0x30,0x7E,0x06,0x01,0x01,0x00, "Nikon", "JAA784DA", "AF-S DX Zoom-Nikkor 12-24mm f/4G IF-ED"}, {0x7B,0x48,0x80,0x98,0x30,0x30,0x80,0x0E,0x03,0x00,0x00, "Nikon", "JAA787DA", "AF-S VR Zoom-Nikkor 200-400mm f/4G IF-ED"}, //7C 81 {0x7D,0x48,0x2B,0x53,0x24,0x24,0x82,0x06,0x01,0x00,0x00, "Nikon", "JAA788DA", "AF-S DX Zoom-Nikkor 17-55mm f/2.8G IF-ED"}, //7E 83 {0x7F,0x40,0x2D,0x5C,0x2C,0x34,0x84,0x06,0x11,0x00,0x00, "Nikon", "JAA790DA", "AF-S DX Zoom-Nikkor 18-70mm f/3.5-4.5G IF-ED"}, {0x80,0x48,0x1A,0x1A,0x24,0x24,0x85,0x06,0x00,0x00,0x00, "Nikon", "JAA629DA", "AF DX Fisheye-Nikkor 10.5mm f/2.8G ED"}, {0x81,0x54,0x80,0x80,0x18,0x18,0x86,0x0E,0x03,0x00,0x00, "Nikon", "JAA336DA", "AF-S VR Nikkor 200mm f/2G IF-ED"}, {0x82,0x48,0x8E,0x8E,0x24,0x24,0x87,0x0E,0x13,0x00,0x00, "Nikon", "JAA337DA", "AF-S VR Nikkor 300mm f/2.8G IF-ED"}, {0x83,0x00,0xB0,0xB0,0x5A,0x5A,0x88,0x04,0x00,0x00,0x00, "Nikon", "", "FSA-L2, EDG 65, 800mm F13 G"}, //84 //85 //86 //87 //88 {0x89,0x3C,0x53,0x80,0x30,0x3C,0x8B,0x06,0x01,0x00,0x00, "Nikon", "JAA793DA", "AF-S DX Zoom-Nikkor 55-200mm f/4-5.6G ED"}, {0x8A,0x54,0x6A,0x6A,0x24,0x24,0x8C,0x0E,0x53,0x00,0x00, "Nikon", "JAA630DA", "AF-S VR Micro-Nikkor 105mm f/2.8G IF-ED"}, {0x8B,0x40,0x2D,0x80,0x2C,0x3C,0x8D,0x0E,0x01,0x00,0x00, "Nikon", "JAA794DA", "AF-S DX VR Zoom-Nikkor 18-200mm f/3.5-5.6G IF-ED"}, //{0x8B,0x40,0x2D,0x80,0x2C,0x3C,0xFD,0x0E,0x01,0x01,0x00, "Nikon", "JAA794DA", "AF-S DX VR Zoom-Nikkor 18-200mm f/3.5-5.6G IF-ED"}, // Fix bug #1026. {0x8B,0x40,0x2D,0x80,0x2C,0x3C,0xFD,0x0E,0x01,0x02,0x00, "Nikon", "JAA813DA", "AF-S DX VR Zoom-Nikkor 18-200mm f/3.5-5.6G IF-ED II"}, {0x8C,0x40,0x2D,0x53,0x2C,0x3C,0x8E,0x06,0x01,0x00,0x00, "Nikon", "JAA792DA", "AF-S DX Zoom-Nikkor 18-55mm f/3.5-5.6G ED"}, {0x8D,0x44,0x5C,0x8E,0x34,0x3C,0x8F,0x0E,0x31,0x00,0x00, "Nikon", "JAA795DA", "AF-S VR Zoom-Nikkor 70-300mm f/4.5-5.6G IF-ED"}, //8E 90 {0x8F,0x40,0x2D,0x72,0x2C,0x3C,0x91,0x06,0x01,0x00,0x00, "Nikon", "JAA796DA", "AF-S DX Zoom-Nikkor 18-135mm f/3.5-5.6G IF-ED"}, {0x90,0x3B,0x53,0x80,0x30,0x3C,0x92,0x0E,0x01,0x00,0x00, "Nikon", "JAA798DA", "AF-S DX VR Zoom-Nikkor 55-200mm f/4-5.6G IF-ED"}, //91 93 {0x92,0x48,0x24,0x37,0x24,0x24,0x94,0x06,0x01,0x00,0x00, "Nikon", "JAA801DA", "AF-S Zoom-Nikkor 14-24mm f/2.8G ED"}, {0x93,0x48,0x37,0x5C,0x24,0x24,0x95,0x06,0x01,0x00,0x00, "Nikon", "JAA802DA", "AF-S Zoom-Nikkor 24-70mm f/2.8G ED"}, {0x94,0x40,0x2D,0x53,0x2C,0x3C,0x96,0x06,0x01,0x00,0x00, "Nikon", "JAA797DA", "AF-S DX Zoom-Nikkor 18-55mm f/3.5-5.6G ED II"}, {0x95,0x4C,0x37,0x37,0x2C,0x2C,0x97,0x02,0x00,0x00,0x00, "Nikon", "JAA631DA", "PC-E Nikkor 24mm f/3.5D ED"}, {0x95,0x00,0x37,0x37,0x2C,0x2C,0x97,0x06,0x00,0x00,0x00, "Nikon", "JAA631DA", "PC-E Nikkor 24mm f/3.5D ED"}, {0x96,0x48,0x98,0x98,0x24,0x24,0x98,0x0E,0x13,0x00,0x00, "Nikon", "JAA528DA", "AF-S VR Nikkor 400mm f/2.8G ED"}, {0x97,0x3C,0xA0,0xA0,0x30,0x30,0x99,0x0E,0x13,0x00,0x00, "Nikon", "JAA529DA", "AF-S VR Nikkor 500mm f/4G ED"}, {0x98,0x3C,0xA6,0xA6,0x30,0x30,0x9A,0x0E,0x13,0x00,0x00, "Nikon", "JAA530DA", "AF-S VR Nikkor 600mm f/4G ED"}, {0x99,0x40,0x29,0x62,0x2C,0x3C,0x9B,0x0E,0x01,0x00,0x00, "Nikon", "JAA800DA", "AF-S DX VR Zoom-Nikkor 16-85mm f/3.5-5.6G ED"}, {0x9A,0x40,0x2D,0x53,0x2C,0x3C,0x9C,0x0E,0x01,0x00,0x00, "Nikon", "JAA803DA", "AF-S DX VR Zoom-Nikkor 18-55mm f/3.5-5.6G"}, {0x9B,0x54,0x4C,0x4C,0x24,0x24,0x9D,0x02,0x00,0x00,0x00, "Nikon", "JAA633DA", "PC-E Micro Nikkor 45mm f/2.8D ED"}, {0x9B,0x00,0x4C,0x4C,0x24,0x24,0x9D,0x06,0x00,0x00,0x00, "Nikon", "JAA633DA", "PC-E Micro Nikkor 45mm f/2.8D ED"}, {0x9C,0x54,0x56,0x56,0x24,0x24,0x9E,0x06,0x41,0x00,0x00, "Nikon", "JAA632DA", "AF-S Micro Nikkor 60mm f/2.8G ED"}, {0x9D,0x54,0x62,0x62,0x24,0x24,0x9F,0x02,0x40,0x00,0x00, "Nikon", "JAA634DA", "PC-E Micro Nikkor 85mm f/2.8D"}, {0x9D,0x00,0x62,0x62,0x24,0x24,0x9F,0x06,0x40,0x00,0x00, "Nikon", "JAA634DA", "PC-E Micro Nikkor 85mm f/2.8D"}, {0x9E,0x40,0x2D,0x6A,0x2C,0x3C,0xA0,0x0E,0x01,0x00,0x00, "Nikon", "JAA805DA", "AF-S DX VR Zoom-Nikkor 18-105mm f/3.5-5.6G ED"}, {0x9F,0x58,0x44,0x44,0x14,0x14,0xA1,0x06,0x01,0x00,0x00, "Nikon", "JAA132DA", "AF-S DX Nikkor 35mm f/1.8G"}, {0xA0,0x54,0x50,0x50,0x0C,0x0C,0xA2,0x06,0x01,0x00,0x00, "Nikon", "JAA014DA", "AF-S Nikkor 50mm f/1.4G"}, {0xA1,0x40,0x18,0x37,0x2C,0x34,0xA3,0x06,0x01,0x00,0x00, "Nikon", "JAA804DA", "AF-S DX Nikkor 10-24mm f/3.5-4.5G ED"}, {0xA2,0x48,0x5C,0x80,0x24,0x24,0xA4,0x0E,0x13,0x00,0x00, "Nikon", "JAA807DA", "AF-S Nikkor 70-200mm f/2.8G ED VR II"}, {0xA3,0x3C,0x29,0x44,0x30,0x30,0xA5,0x0E,0x01,0x00,0x00, "Nikon", "JAA806DA", "AF-S Nikkor 16-35mm f/4G ED VR"}, {0xA4,0x54,0x37,0x37,0x0C,0x0C,0xA6,0x06,0x01,0x00,0x00, "Nikon", "JAA131DA", "AF-S Nikkor 24mm f/1.4G ED"}, {0xA5,0x40,0x3C,0x8E,0x2C,0x3C,0xA7,0x0E,0x01,0x00,0x00, "Nikon", "JAA808DA", "AF-S Nikkor 28-300mm f/3.5-5.6G ED VR"}, {0xA6,0x48,0x8E,0x8E,0x24,0x24,0xA8,0x0E,0x13,0x00,0x00, "Nikon", "JAA339DA", "AF-S Nikkor 300mm f/2.8G IF-ED VR II"}, {0xA7,0x4B,0x62,0x62,0x2C,0x2C,0xA9,0x0E,0x41,0x00,0x00, "Nikon", "JAA637DA", "AF-S DX Micro Nikkor 85mm f/3.5G ED VR"}, {0xA8,0x48,0x80,0x98,0x30,0x30,0xAA,0x0E,0x03,0x00,0x00, "Nikon", "JAA809DA", "AF-S Zoom-Nikkor 200-400mm f/4G IF-ED VR II"}, {0xA9,0x54,0x80,0x80,0x18,0x18,0xAB,0x0E,0x13,0x00,0x00, "Nikon", "JAA340DA", "AF-S Nikkor 200mm f/2G ED VR II"}, {0xAA,0x3C,0x37,0x6E,0x30,0x30,0xAC,0x0E,0x01,0x00,0x00, "Nikon", "JAA811DA", "AF-S Nikkor 24-120mm f/4G ED VR"}, //AB AD -- no lens -- {0xAC,0x38,0x53,0x8E,0x34,0x3C,0xAE,0x0E,0x01,0x00,0x00, "Nikon", "JAA814DA", "AF-S DX Nikkor 55-300mm f/4.5-5.6G ED VR"}, {0xAD,0x3C,0x2D,0x8E,0x2C,0x3C,0xAF,0x0E,0x01,0x00,0x00, "Nikon", "JAA812DA", "AF-S DX Nikkor 18-300mm f/3.5-5.6G ED VR"}, {0xAE,0x54,0x62,0x62,0x0C,0x0C,0xB0,0x06,0x01,0x00,0x00, "Nikon", "JAA338DA", "AF-S Nikkor 85mm f/1.4G"}, {0xAF,0x54,0x44,0x44,0x0C,0x0C,0xB1,0x06,0x01,0x00,0x00, "Nikon", "JAA134DA", "AF-S Nikkor 35mm f/1.4G"}, {0xB0,0x4C,0x50,0x50,0x14,0x14,0xB2,0x06,0x01,0x00,0x00, "Nikon", "JAA015DA", "AF-S Nikkor 50mm f/1.8G"}, {0xB1,0x48,0x48,0x48,0x24,0x24,0xB3,0x06,0x01,0x00,0x00, "Nikon", "JAA638DA", "AF-S DX Micro Nikkor 40mm f/2.8G"}, {0xB2,0x48,0x5C,0x80,0x30,0x30,0xB4,0x0E,0x01,0x00,0x00, "Nikon", "JAA815DA", "AF-S Nikkor 70-200mm f/4G ED VR"}, {0xB3,0x4C,0x62,0x62,0x14,0x14,0xB5,0x06,0x01,0x00,0x00, "Nikon", "JAA341DA", "AF-S Nikkor 85mm f/1.8G"}, {0xB4,0x40,0x37,0x62,0x2C,0x34,0xB6,0x0E,0x01,0x00,0x00, "Nikon", "JAA816DA", "AF-S Nikkor 24-85mm f/3.5-4.5G ED VR"}, {0xB5,0x4C,0x3C,0x3C,0x14,0x14,0xB7,0x06,0x01,0x00,0x00, "Nikon", "JAA135DA", "AF-S Nikkor 28mm f/1.8G"}, //B6 B8 {0xB7,0x44,0x60,0x98,0x34,0x3C,0xB9,0x0E,0x01,0x00,0x00, "Nikon", "JAA817DA", "AF-S Nikkor 80-400mm f/4.5-5.6G ED VR"}, {0xB8,0x40,0x2D,0x44,0x2C,0x34,0xBA,0x06,0x01,0x00,0x00, "Nikon", "JAA818DA", "AF-S Nikkor 18-35mm f/3.5-4.5G ED"}, {0xA0,0x40,0x2D,0x74,0x2C,0x3C,0xBB,0x0E,0x01,0x00,0x01, "Nikon", "JAA819DA", "AF-S DX Nikkor 18-140mm f/3.5-5.6G ED VR"}, {0xA1,0x54,0x55,0x55,0x0C,0x0C,0xBC,0x06,0x01,0x00,0x01, "Nikon", "JAA136DA", "AF-S Nikkor 58mm f/1.4G"}, {0xA2,0x40,0x2D,0x53,0x2C,0x3C,0xBD,0x0E,0x01,0x00,0x01, "Nikon", "JAA820DA", "AF-S DX Nikkor 18-55mm f/3.5-5.6G VR II"}, {0xA4,0x40,0x2D,0x8E,0x2C,0x40,0xBF,0x0E,0x01,0x00,0x01, "Nikon", "JAA821DA", "AF-S DX Nikkor 18-300mm f/3.5-6.3G ED VR"}, {0xA5,0x4C,0x44,0x44,0x14,0x14,0xC0,0x06,0x01,0x00,0x01, "Nikon", "JAA137DA", "AF-S Nikkor 35mm f/1.8G ED"}, //A6 C1 {0xA7,0x3C,0x53,0x80,0x30,0x3C,0xC2,0x0E,0x01,0x00,0x01, "Nikon", "JAA823DA", "AF-S DX Nikkor 55-200mm f/4-5.6G ED VR II"}, {0xA8,0x48,0x8E,0x8E,0x30,0x30,0xC3,0x4E,0x01,0x00,0x01, "Nikon", "JAA342DA", "AF-S Nikkor 300mm f/4E PF ED VR"}, {0xA8,0x48,0x8E,0x8E,0x30,0x30,0xC3,0x0E,0x01,0x00,0x01, "Nikon", "JAA342DA", "AF-S Nikkor 300mm f/4E PF ED VR"}, {0xA9,0x4C,0x31,0x31,0x14,0x14,0xC4,0x06,0x01,0x00,0x01, "Nikon", "JAA138DA", "AF-S Nikkor 20mm f/1.8G ED"}, // // {0x01,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00, "Nikon", "JAA90701", "TC-16A"}, {0x01,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00, "Nikon", "JAA90701", "TC-16A"}, // //------------------------------------------------------------------------------ // Sigma lenses by focal length, first fixed then zoom lenses //------------------------------------------------------------------------------ // {0xFE,0x47,0x00,0x00,0x24,0x24,0x4B,0x06,0x01,0x00,0x00, "Sigma", "486556", "4.5mm F2.8 EX DC HSM Circular Fisheye"}, {0x26,0x48,0x11,0x11,0x30,0x30,0x1C,0x02,0x00,0x00,0x00, "Sigma", "483", "8mm F4 EX Circular Fisheye"}, {0x79,0x40,0x11,0x11,0x2C,0x2C,0x1C,0x06,0x00,0x00,0x00, "Sigma", "485597", "8mm F3.5 EX Circular Fisheye"}, {0xDC,0x48,0x19,0x19,0x24,0x24,0x4B,0x06,0x01,0x00,0x00, "Sigma", "477554", "10mm F2.8 EX DC HSM Fisheye"}, {0x02,0x3F,0x24,0x24,0x2C,0x2C,0x02,0x00,0x00,0x00,0x00, "Sigma", "468", "14mm F3.5"}, {0x48,0x48,0x24,0x24,0x24,0x24,0x4B,0x02,0x01,0x00,0x00, "Sigma", "", "14mm F2.8 EX Aspherical HSM"}, {0x26,0x48,0x27,0x27,0x24,0x24,0x1C,0x02,0x00,0x00,0x00, "Sigma", "476441", "15mm F2.8 EX Diagonal Fisheye"}, {0xEA,0x48,0x27,0x27,0x24,0x24,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "15mm F2.8 EX Diagonal Fisheye"}, //M "Sigma" "410" "18mm F3.5"; {0x26,0x58,0x31,0x31,0x14,0x14,0x1C,0x02,0x00,0x00,0x00, "Sigma", "411442", "20mm F1.8 EX DG Aspherical RF"}, {0x26,0x58,0x37,0x37,0x14,0x14,0x1C,0x02,0x00,0x00,0x00, "Sigma", "432447", "24mm F1.8 EX DG Aspherical Macro"}, {0xE1,0x58,0x37,0x37,0x14,0x14,0x1C,0x02,0x00,0x00,0x00, "Sigma", "432447", "24mm F1.8 EX DG Aspherical Macro"}, {0x02,0x46,0x37,0x37,0x25,0x25,0x02,0x00,0x00,0x00,0x00, "Sigma", "438", "24mm F2.8 Super Wide II Macro"}, {0x26,0x58,0x3C,0x3C,0x14,0x14,0x1C,0x02,0x00,0x00,0x00, "Sigma", "440442", "28mm F1.8 EX DG Aspherical Macro"}, {0x48,0x54,0x3E,0x3E,0x0C,0x0C,0x4B,0x06,0x01,0x00,0x00, "Sigma", "477554", "30mm F1.4 EX DC HSM"}, {0xF8,0x54,0x3E,0x3E,0x0C,0x0C,0x4B,0x06,0x01,0x00,0x00, "Sigma", "477554", "30mm F1.4 EX DC HSM"}, {0x91,0x54,0x44,0x44,0x0C,0x0C,0x4B,0x06,0x01,0x00,0x00, "Sigma", "", "35mm F1.4 DG HSM"}, {0xDE,0x54,0x50,0x50,0x0C,0x0C,0x4B,0x06,0x01,0x00,0x00, "Sigma", "310554", "50mm F1.4 EX DG HSM"}, {0x88,0x54,0x50,0x50,0x0C,0x0C,0x4B,0x06,0x00,0x00,0x00, "Sigma", "", "Art 50mm F1.4 DG HSM"}, {0x02,0x48,0x50,0x50,0x24,0x24,0x02,0x00,0x00,0x00,0x00, "Sigma", "", "Macro 50mm F2.8"}, {0x32,0x54,0x50,0x50,0x24,0x24,0x35,0x02,0x00,0x00,0x00, "Sigma", "346447", "Macro 50mm F2.8 EX DG"}, {0xE3,0x54,0x50,0x50,0x24,0x24,0x35,0x02,0x00,0x00,0x00, "Sigma", "", "Macro 50mm F2.8 EX DG"}, {0x79,0x48,0x5C,0x5C,0x24,0x24,0x1C,0x06,0x00,0x00,0x00, "Sigma", "270599", "Macro 70mm F2.8 EX DG"}, {0x9B,0x54,0x62,0x62,0x0C,0x0C,0x4B,0x06,0x00,0x00,0x00, "Sigma", "", "85mm F1.4 EX DG HSM"}, {0x02,0x48,0x65,0x65,0x24,0x24,0x02,0x00,0x00,0x00,0x00, "Sigma", "", "Macro 90mm F2.8"}, {0x32,0x54,0x6A,0x6A,0x24,0x24,0x35,0x02,0x00,0x02,0x00, "Sigma", "256", "Macro 105mm F2.8 EX DG"}, {0xE5,0x54,0x6A,0x6A,0x24,0x24,0x35,0x02,0x40,0x00,0x00, "Sigma", "257446", "Macro 105mm F2.8 EX DG"}, {0x97,0x48,0x6A,0x6A,0x24,0x24,0x4B,0x0E,0x00,0x00,0x00, "Sigma", "", "Macro 105mm F2.8 EX DG OS HSM"}, {0x48,0x48,0x76,0x76,0x24,0x24,0x4B,0x06,0x43,0x00,0x00, "Sigma", "104559", "APO Macro 150mm F2.8 EX DG HSM"}, {0xF5,0x48,0x76,0x76,0x24,0x24,0x4B,0x06,0x43,0x00,0x00, "Sigma", "104559", "APO Macro 150mm F2.8 EX DG HSM"}, {0x99,0x48,0x76,0x76,0x24,0x24,0x4B,0x0E,0x43,0x00,0x00, "Sigma", "", "APO Macro 150mm F2.8 EX DG OS HSM"}, {0x48,0x4C,0x7C,0x7C,0x2C,0x2C,0x4B,0x02,0x43,0x00,0x00, "Sigma", "", "APO Macro 180mm F3.5 EX DG HSM"}, {0x48,0x4C,0x7D,0x7D,0x2C,0x2C,0x4B,0x02,0x43,0x00,0x00, "Sigma", "105556", "APO Macro 180mm F3.5 EX DG HSM"}, //M "Sigma" "" "APO 300mm F2.8"; {0x48,0x54,0x8E,0x8E,0x24,0x24,0x4B,0x02,0x03,0x00,0x00, "Sigma", "", "APO 300mm F2.8 EX DG HSM"}, {0xFB,0x54,0x8E,0x8E,0x24,0x24,0x4B,0x02,0x13,0x00,0x00, "Sigma", "195557", "APO 300mm F2.8 EX DG HSM"}, {0x26,0x48,0x8E,0x8E,0x30,0x30,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "APO Tele Macro 300mm F4"}, {0x02,0x2F,0x98,0x98,0x3D,0x3D,0x02,0x00,0x00,0x00,0x00, "Sigma", "", "APO 400mm F5.6"}, {0x26,0x3C,0x98,0x98,0x3C,0x3C,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "APO Tele Macro 400mm F5.6"}, {0x02,0x37,0xA0,0xA0,0x34,0x34,0x02,0x00,0x00,0x00,0x00, "Sigma", "", "APO 500mm F4.5"}, {0x48,0x44,0xA0,0xA0,0x34,0x34,0x4B,0x02,0x03,0x00,0x00, "Sigma", "", "APO 500mm F4.5 EX HSM"}, {0xF1,0x44,0xA0,0xA0,0x34,0x34,0x4B,0x02,0x03,0x00,0x00, "Sigma", "184551", "APO 500mm F4.5 EX DG HSM"}, {0x02,0x34,0xA0,0xA0,0x44,0x44,0x02,0x00,0x00,0x00,0x00, "Sigma", "", "APO 500mm F7.2"}, {0x02,0x3C,0xB0,0xB0,0x3C,0x3C,0x02,0x00,0x00,0x00,0x00, "Sigma", "", "APO 800mm F5.6"}, {0x48,0x3C,0xB0,0xB0,0x3C,0x3C,0x4B,0x02,0x03,0x00,0x00, "Sigma", "", "APO 800mm F5.6 EX HSM"}, //M "Sigma" "152550" "APO 800mm F5.6 EX DG HSM"; //M2 B8 B8 49 49 02" "00" "00" "00" "00" "Sigma" "" "APO 1000mm F8.0"; // {0x9E,0x38,0x11,0x29,0x34,0x3C,0x4B,0x06,0x01,0x00,0x00, "Sigma", "", "8-16mm F4.5-5.6 DC HSM"}, {0xA1,0x41,0x19,0x31,0x2C,0x2C,0x4B,0x06,0x01,0x00,0x00, "Sigma", "", "10-20mm F3.5 EX DC HSM"}, {0x48,0x3C,0x19,0x31,0x30,0x3C,0x4B,0x06,0x01,0x00,0x00, "Sigma", "201555", "10-20mm F4-5.6 EX DC HSM"}, {0xF9,0x3C,0x19,0x31,0x30,0x3C,0x4B,0x06,0x01,0x00,0x00, "Sigma", "201555", "10-20mm F4-5.6 EX DC HSM"}, {0x48,0x38,0x1F,0x37,0x34,0x3C,0x4B,0x06,0x00,0x00,0x00, "Sigma", "200558", "12-24mm F4.5-5.6 EX DG Aspherical HSM"}, {0xF0,0x38,0x1F,0x37,0x34,0x3C,0x4B,0x06,0x00,0x00,0x00, "Sigma", "200558", "12-24mm F4.5-5.6 EX DG Aspherical HSM"}, {0x96,0x38,0x1F,0x37,0x34,0x3C,0x4B,0x06,0x00,0x00,0x00, "Sigma", "", "12-24mm F4.5-5.6 II DG HSM"}, {0x26,0x40,0x27,0x3F,0x2C,0x34,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "15-30mm F3.5-4.5 EX DG Aspherical DF"}, {0x48,0x48,0x2B,0x44,0x24,0x30,0x4B,0x06,0x00,0x00,0x00, "Sigma", "", "17-35mm F2.8-4 EX DG Aspherical HSM"}, {0x26,0x54,0x2B,0x44,0x24,0x30,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "17-35mm F2.8-4 EX Aspherical"}, {0x9D,0x48,0x2B,0x50,0x24,0x24,0x4B,0x0E,0x00,0x00,0x00, "Sigma", "", "17-50mm F2.8 EX DC OS HSM"}, {0x8F,0x48,0x2B,0x50,0x24,0x24,0x4B,0x0E,0x00,0x00,0x00, "Sigma", "", "17-50mm F2.8 EX DC OS HSM"}, {0x7A,0x47,0x2B,0x5C,0x24,0x34,0x4B,0x06,0x00,0x00,0x00, "Sigma", "689599", "17-70mm F2.8-4.5 DC Macro Asp. IF HSM"}, {0x7A,0x48,0x2B,0x5C,0x24,0x34,0x4B,0x06,0x00,0x00,0x00, "Sigma", "689599", "17-70mm F2.8-4.5 DC Macro Asp. IF HSM"}, {0x7F,0x48,0x2B,0x5C,0x24,0x34,0x1C,0x06,0x00,0x00,0x00, "Sigma", "", "17-70mm F2.8-4.5 DC Macro Asp. IF"}, {0x8E,0x3C,0x2B,0x5C,0x24,0x30,0x4B,0x0E,0x00,0x00,0x00, "Sigma", "", "17-70mm F2.8-4 DC MACRO OS HSM Contemporary"}, {0xA0,0x48,0x2A,0x5C,0x24,0x30,0x4B,0x0E,0x00,0x00,0xFE, "Sigma", "", "17-70mm F2.8-4 DC Macro OS HSM"}, {0x8B,0x4C,0x2D,0x44,0x14,0x14,0x4B,0x06,0x00,0x00,0x00, "Sigma", "", "18-35mm F1.8 DC HSM"}, {0x26,0x40,0x2D,0x44,0x2B,0x34,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "18-35mm F3.5-4.5 Aspherical"}, {0x26,0x48,0x2D,0x50,0x24,0x24,0x1C,0x06,0x00,0x00,0x00, "Sigma", "", "18-50mm F2.8 EX DC"}, {0x7F,0x48,0x2D,0x50,0x24,0x24,0x1C,0x06,0x00,0x00,0x00, "Sigma", "", "18-50mm F2.8 EX DC Macro"}, {0x7A,0x48,0x2D,0x50,0x24,0x24,0x4B,0x06,0x01,0x00,0x00, "Sigma", "582593", "18-50mm F2.8 EX DC Macro"}, {0xF6,0x48,0x2D,0x50,0x24,0x24,0x4B,0x06,0x01,0x00,0x00, "Sigma", "582593", "18-50mm F2.8 EX DC Macro"}, {0xA4,0x47,0x2D,0x50,0x24,0x34,0x4B,0x0E,0x01,0x00,0x00, "Sigma", "", "18-50mm F2.8-4.5 DC OS HSM"}, {0x26,0x40,0x2D,0x50,0x2C,0x3C,0x1C,0x06,0x00,0x00,0x00, "Sigma", "", "18-50mm F3.5-5.6 DC"}, {0x7A,0x40,0x2D,0x50,0x2C,0x3C,0x4B,0x06,0x01,0x00,0x00, "Sigma", "551551", "18-50mm F3.5-5.6 DC HSM"}, {0x26,0x40,0x2D,0x70,0x2B,0x3C,0x1C,0x06,0x00,0x00,0x00, "Sigma", "", "18-125mm F3.5-5.6 DC"}, {0xCD,0x3D,0x2D,0x70,0x2E,0x3C,0x4B,0x0E,0x01,0x00,0x00, "Sigma", "853556", "18-125mm F3.8-5.6 DC OS HSM"}, {0x26,0x40,0x2D,0x80,0x2C,0x40,0x1C,0x06,0x00,0x00,0x00, "Sigma", "777555", "18-200mm F3.5-6.3 DC"}, {0xFF,0x40,0x2D,0x80,0x2C,0x40,0x4B,0x06,0x00,0x00,0x00, "Sigma", "", "18-200mm F3.5-6.3 DC"}, {0x7A,0x40,0x2D,0x80,0x2C,0x40,0x4B,0x0E,0x01,0x00,0x00, "Sigma", "888558", "18-200mm F3.5-6.3 DC OS HSM"}, {0xED,0x40,0x2D,0x80,0x2C,0x40,0x4B,0x0E,0x01,0x00,0x00, "Sigma", "888558", "18-200mm F3.5-6.3 DC OS HSM"}, {0x90,0x40,0x2D,0x80,0x2C,0x40,0x4B,0x0E,0x01,0x00,0x05, "Sigma", "882955", "18-200mm F3.5-6.3 II DC OS HSM"}, {0xA5,0x40,0x2D,0x88,0x2C,0x40,0x4B,0x0E,0x01,0x00,0x00, "Sigma", "", "18-250mm F3.5-6.3 DC OS HSM"}, {0x92,0x39,0x2D,0x88,0x2C,0x40,0x4B,0x0E,0x01,0x00,0x00, "Sigma", "", "18-250mm F3.5-6.3 DC OS Macro HSM"}, {0x26,0x48,0x31,0x49,0x24,0x24,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "20-40mm F2.8"}, {0x02,0x3A,0x37,0x50,0x31,0x3D,0x02,0x00,0x00,0x00,0x00, "Sigma", "", "24-50mm F4-5.6 UC"}, {0x26,0x48,0x37,0x56,0x24,0x24,0x1C,0x02,0x00,0x00,0x00, "Sigma", "547448", "24-60mm F2.8 EX DG"}, {0xB6,0x48,0x37,0x56,0x24,0x24,0x1C,0x02,0x00,0x00,0x00, "Sigma", "547448", "24-60mm F2.8 EX DG"}, {0xA6,0x48,0x37,0x5C,0x24,0x24,0x4B,0x06,0x01,0x00,0x00, "Sigma", "571559", "24-70mm F2.8 IF EX DG HSM"}, {0x26,0x54,0x37,0x5C,0x24,0x24,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "24-70mm F2.8 EX DG Macro"}, {0x67,0x54,0x37,0x5C,0x24,0x24,0x1C,0x02,0x00,0x00,0x00, "Sigma", "548445", "24-70mm F2.8 EX DG Macro"}, {0xE9,0x54,0x37,0x5C,0x24,0x24,0x1C,0x02,0x00,0x00,0x00, "Sigma", "548445", "24-70mm F2.8 EX DG Macro"}, {0x26,0x40,0x37,0x5C,0x2C,0x3C,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "24-70mm F3.5-5.6 Aspherical HF"}, {0x8A,0x3C,0x37,0x6A,0x30,0x30,0x4B,0x0E,0x00,0x00,0x00, "Sigma", "", "24-105mm F4 DG OS HSM"}, {0x26,0x54,0x37,0x73,0x24,0x34,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "24-135mm F2.8-4.5"}, {0x02,0x46,0x3C,0x5C,0x25,0x25,0x02,0x00,0x00,0x00,0x00, "Sigma", "", "28-70mm F2.8"}, {0x26,0x54,0x3C,0x5C,0x24,0x24,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "28-70mm F2.8 EX"}, {0x26,0x48,0x3C,0x5C,0x24,0x24,0x1C,0x06,0x00,0x00,0x00, "Sigma", "549442", "28-70mm F2.8 EX DG"}, {0x79,0x48,0x3C,0x5C,0x24,0x24,0x1C,0x06,0x00,0x00,0x00, "Sigma", "", "28-70mm F2.8 EX DG"}, {0x26,0x48,0x3C,0x5C,0x24,0x30,0x1C,0x02,0x00,0x00,0x00, "Sigma", "634445", "28-70mm F2.8-4 DG"}, {0x02,0x3F,0x3C,0x5C,0x2D,0x35,0x02,0x00,0x00,0x00,0x00, "Sigma", "", "28-70mm F3.5-4.5 UC"}, {0x26,0x40,0x3C,0x60,0x2C,0x3C,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "28-80mm F3.5-5.6 Mini Zoom Macro II Aspherical"}, {0x26,0x40,0x3C,0x65,0x2C,0x3C,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "28-90mm F3.5-5.6 Macro"}, {0x26,0x48,0x3C,0x6A,0x24,0x30,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "28-105mm F2.8-4 Aspherical"}, {0x26,0x3E,0x3C,0x6A,0x2E,0x3C,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "28-105mm F3.8-5.6 UC-III Aspherical IF"}, {0x26,0x40,0x3C,0x80,0x2C,0x3C,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "28-200mm F3.5-5.6 Compact Aspherical Hyperzoom Macro"}, {0x26,0x40,0x3C,0x80,0x2B,0x3C,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "28-200mm F3.5-5.6 Compact Aspherical Hyperzoom Macro"}, {0x26,0x3D,0x3C,0x80,0x2F,0x3D,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "28-300mm F3.8-5.6 Aspherical"}, {0x26,0x41,0x3C,0x8E,0x2C,0x40,0x1C,0x02,0x00,0x00,0x00, "Sigma", "795443", "28-300mm F3.5-6.3 DG Macro"}, {0xE6,0x41,0x3C,0x8E,0x2C,0x40,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "28-300mm F3.5-6.3 DG Macro"}, {0x26,0x40,0x3C,0x8E,0x2C,0x40,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "28-300mm F3.5-6.3 Macro"}, {0x02,0x3B,0x44,0x61,0x30,0x3D,0x02,0x00,0x00,0x00,0x00, "Sigma", "", "35-80mm F4-5.6"}, {0x02,0x40,0x44,0x73,0x2B,0x36,0x02,0x00,0x00,0x00,0x00, "Sigma", "", "35-135mm F3.5-4.5 a"}, {0x7A,0x47,0x50,0x76,0x24,0x24,0x4B,0x06,0x03,0x00,0x00, "Sigma", "", "50-150mm F2.8 EX APO DC HSM"}, {0xFD,0x47,0x50,0x76,0x24,0x24,0x4B,0x06,0x03,0x00,0x00, "Sigma", "691554", "50-150mm F2.8 EX APO DC HSM II"}, {0x98,0x48,0x50,0x76,0x24,0x24,0x4B,0x0E,0x00,0x00,0x00, "Sigma", "", "50-150 f/2.8 EX DC APO OS HSM"}, {0x48,0x3C,0x50,0xA0,0x30,0x40,0x4B,0x02,0x03,0x00,0x00, "Sigma", "736552", "APO 50-500mm F4-6.3 EX HSM"}, {0x9F,0x37,0x50,0xA0,0x34,0x40,0x4B,0x0E,0x03,0x00,0x00, "Sigma", "", "50-500mm F4.5-6.3 APO DG OS HSM"}, //M "Sigma" "686550" "50-200mm F4-5.6 DC OS HSM"; {0x26,0x3C,0x54,0x80,0x30,0x3C,0x1C,0x06,0x00,0x00,0x00, "Sigma", "", "55-200mm F4-5.6 DC"}, {0x7A,0x3B,0x53,0x80,0x30,0x3C,0x4B,0x06,0x01,0x00,0x00, "Sigma", "", "55-200mm F4-5.6 DC HSM"}, {0x48,0x54,0x5C,0x80,0x24,0x24,0x4B,0x02,0x00,0x00,0x00, "Sigma", "", "70-200mm F2.8 EX APO IF HSM"}, {0x7A,0x48,0x5C,0x80,0x24,0x24,0x4B,0x06,0x03,0x00,0x00, "Sigma", "", "70-200mm F2.8 EX APO DG Macro HSM II"}, {0xEE,0x48,0x5C,0x80,0x24,0x24,0x4B,0x06,0x03,0x00,0x00, "Sigma", "579555", "70-200mm F2.8 EX APO DG Macro HSM II"}, {0x9C,0x48,0x5C,0x80,0x24,0x24,0x4B,0x0E,0x03,0x00,0x00, "Sigma", "", "70-200mm F2.8 EX DG OS HSM"}, {0x02,0x46,0x5C,0x82,0x25,0x25,0x02,0x00,0x00,0x00,0x00, "Sigma", "", "70-210mm F2.8 APO"}, {0x02,0x40,0x5C,0x82,0x2C,0x35,0x02,0x00,0x00,0x00,0x00, "Sigma", "", "APO 70-210mm F3.5-4.5"}, {0x26,0x3C,0x5C,0x82,0x30,0x3C,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "70-210mm F4-5.6 UC-II"}, {0x26,0x3C,0x5C,0x8E,0x30,0x3C,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "70-300mm F4-5.6 DG Macro"}, {0x56,0x3C,0x5C,0x8E,0x30,0x3C,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "70-300mm F4-5.6 APO Macro Super II"}, {0xE0,0x3C,0x5C,0x8E,0x30,0x3C,0x4B,0x06,0x00,0x00,0x00, "Sigma", "508555", "APO 70-300mm F4-5.6 DG Macro"}, {0xA3,0x3C,0x5C,0x8E,0x30,0x3C,0x4B,0x0E,0x00,0x00,0x00, "Sigma", "572556", "70-300mm F4-5.6 DG OS"}, {0x02,0x37,0x5E,0x8E,0x35,0x3D,0x02,0x00,0x00,0x00,0x00, "Sigma", "", "75-300mm F4.5-5.6 APO"}, {0x02,0x3A,0x5E,0x8E,0x32,0x3D,0x02,0x00,0x00,0x00,0x00, "Sigma", "", "75-300mm F4.0-5.6"}, {0x77,0x44,0x61,0x98,0x34,0x3C,0x7B,0x0E,0x03,0x00,0x00, "Sigma", "", "80-400mm f4.5-5.6 EX OS"}, {0x48,0x48,0x68,0x8E,0x30,0x30,0x4B,0x02,0x03,0x00,0x00, "Sigma", "134556", "APO 100-300mm F4 EX IF HSM"}, {0xF3,0x48,0x68,0x8E,0x30,0x30,0x4B,0x02,0x13,0x00,0x00, "Sigma", "134556", "APO 100-300mm F4 EX IF HSM"}, {0x48,0x54,0x6F,0x8E,0x24,0x24,0x4B,0x02,0x03,0x00,0x00, "Sigma", "", "APO 120-300mm F2.8 EX DG HSM"}, {0x7A,0x54,0x6E,0x8E,0x24,0x24,0x4B,0x02,0x03,0x00,0x00, "Sigma", "135553", "APO 120-300mm F2.8 EX DG HSM"}, {0xFA,0x54,0x6E,0x8E,0x24,0x24,0x4B,0x02,0x03,0x00,0x00, "Sigma", "135553", "APO 120-300mm F2.8 EX DG HSM"}, {0xCF,0x38,0x6E,0x98,0x34,0x3C,0x4B,0x0E,0x03,0x00,0x00, "Sigma", "728557", "APO 120-400mm F4.5-5.6 DG OS HSM"}, {0x26,0x44,0x73,0x98,0x34,0x3C,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "135-400mm F4.5-5.6 APO Aspherical"}, {0xCE,0x34,0x76,0xA0,0x38,0x40,0x4B,0x0E,0x03,0x00,0x00, "Sigma", "737559", "APO 150-500mm F5-6.3 DG OS HSM"}, {0x26,0x40,0x7B,0xA0,0x34,0x40,0x1C,0x02,0x00,0x00,0x00, "Sigma", "", "APO 170-500mm F5-6.3 Aspherical RF"}, {0xA7,0x49,0x80,0xA0,0x24,0x24,0x4B,0x06,0x03,0x00,0x00, "Sigma", "", "APO 200-500mm F2.8 EX DG"}, {0x48,0x3C,0x8E,0xB0,0x3C,0x3C,0x4B,0x02,0x03,0x00,0x00, "Sigma", "595555", "APO 300-800mm F5.6 EX DG HSM"}, // {0x00,0x00,0x00,0x00,0x00,0x00,0xF1,0x0C,0x00,0x00,0x00, "Sigma", "", "APO Tele Converter 1.4x EX DG"}, {0x00,0x00,0x00,0x00,0x00,0x00,0xF2,0x18,0x00,0x00,0x00, "Sigma", "", "APO Tele Converter 2x EX DG"}, // //------------------------------------------------------------------------------ // Tamron lenses by focal length, first fixed then zoom lenses //------------------------------------------------------------------------------ // {0x00,0x47,0x25,0x25,0x24,0x24,0x00,0x02,0x00,0x00,0x00, "Tamron", "69E", "SP AF 14mm F/2.8 Aspherical (IF)"}, {0xF4,0x54,0x56,0x56,0x18,0x18,0x84,0x06,0x01,0x00,0x00, "Tamron", "G005", "SP AF 60mm F/2 Di II LD (IF) Macro 1:1"}, {0x1E,0x5D,0x64,0x64,0x20,0x20,0x13,0x00,0x40,0x00,0x00, "Tamron", "52E", "SP AF 90mm F/2.5"}, {0x20,0x5A,0x64,0x64,0x20,0x20,0x14,0x00,0x40,0x00,0x00, "Tamron", "152E", "SP AF 90mm F/2.5 Macro"}, {0x22,0x53,0x64,0x64,0x24,0x24,0xE0,0x02,0x40,0x00,0x00, "Tamron", "72E", "SP AF 90mm F/2.8 Macro 1:1"}, {0x32,0x53,0x64,0x64,0x24,0x24,0x35,0x02,0x40,0x01,0x00, "Tamron", "172E", "SP AF 90mm F/2.8 Macro 1:1"}, {0x32,0x53,0x64,0x64,0x24,0x24,0x35,0x02,0x40,0x02,0x00, "Tamron", "272E", "SP AF 90mm F/2.8 Di Macro 1:1"}, {0xF8,0x55,0x64,0x64,0x24,0x24,0x84,0x06,0x41,0x00,0x00, "Tamron", "272NII", "SP AF 90mm F/2.8 Di Macro 1:1"}, {0xF8,0x54,0x64,0x64,0x24,0x24,0xDF,0x06,0x41,0x00,0x00, "Tamron", "272NII", "SP AF 90mm F/2.8 Di Macro 1:1"}, {0xFE,0x54,0x64,0x64,0x24,0x24,0xDF,0x0E,0x00,0x00,0x00, "Tamron", "F004", "SP 90mm F/2.8 Di VC USD MACRO 1:1"}, {0x00,0x4C,0x7C,0x7C,0x2C,0x2C,0x00,0x02,0x00,0x00,0x00, "Tamron", "B01", "SP AF 180mm F/3.5 Di Model"}, {0x21,0x56,0x8E,0x8E,0x24,0x24,0x14,0x00,0x00,0x00,0x00, "Tamron", "60E", "SP AF 300mm F/2.8 LD-IF"}, {0x27,0x54,0x8E,0x8E,0x24,0x24,0x1D,0x02,0x00,0x00,0x00, "Tamron", "360E", "SP AF 300mm F/2.8 LD-IF"}, // {0xF6,0x3F,0x18,0x37,0x2C,0x34,0x84,0x06,0x01,0x00,0x00, "Tamron", "B001", "SP AF 10-24mm F/3.5-4.5 Di II LD Aspherical (IF)"}, {0xF6,0x3F,0x18,0x37,0x2C,0x34,0xDF,0x06,0x01,0x00,0x00, "Tamron", "B001", "SP AF 10-24mm F/3.5-4.5 Di II LD Aspherical (IF)"}, {0x00,0x36,0x1C,0x2D,0x34,0x3C,0x00,0x06,0x00,0x00,0x00, "Tamron", "A13", "SP AF 11-18mm F/4.5-5.6 Di II LD Aspherical (IF)"}, {0xE9,0x48,0x27,0x3E,0x24,0x24,0xDF,0x0E,0x00,0x00,0x00, "Tamron", "A012", "SP 15-30mm F/2.8 Di VC USD"}, {0xEA,0x40,0x29,0x8E,0x2C,0x40,0xDF,0x0E,0x00,0x00,0x00, "Tamron", "B016", "AF 16-300mm F/3.5-6.3 Di II VC PZD"}, {0x07,0x46,0x2B,0x44,0x24,0x30,0x03,0x02,0x00,0x00,0x00, "Tamron", "A05", "SP AF 17-35mm F/2.8-4 Di LD Aspherical (IF)"}, {0x00,0x53,0x2B,0x50,0x24,0x24,0x00,0x06,0x00,0x00,0x00, "Tamron", "A16", "SP AF 17-50mm F/2.8 XR Di II LD Aspherical (IF)"}, {0x00,0x54,0x2B,0x50,0x24,0x24,0x00,0x06,0x01,0x00,0x00, "Tamron", "A16NII", "SP AF 17-50mm F/2.8 XR Di II LD Aspherical (IF)"}, {0xFB,0x54,0x2B,0x50,0x24,0x24,0x84,0x06,0x01,0x00,0x00, "Tamron", "A16NII", "SP AF 17-50mm F/2.8 XR Di II LD Aspherical (IF)"}, {0xF3,0x54,0x2B,0x50,0x24,0x24,0x84,0x0E,0x01,0x00,0x00, "Tamron", "B005", "SP AF 17-50mm F/2.8 XR Di II VC LD Aspherical (IF)"}, {0x00,0x3F,0x2D,0x80,0x2B,0x40,0x00,0x06,0x00,0x00,0x00, "Tamron", "A14", "AF 18-200mm F/3.5-6.3 XR Di II LD Aspherical (IF)"}, {0x00,0x3F,0x2D,0x80,0x2C,0x40,0x00,0x06,0x00,0x00,0x00, "Tamron", "A14", "AF 18-200mm F/3.5-6.3 XR Di II LD Aspherical (IF) Macro"}, {0x00,0x40,0x2D,0x80,0x2C,0x40,0x00,0x06,0x01,0x00,0x00, "Tamron", "A14NII", "AF 18-200mm F/3.5-6.3 XR Di II LD Aspherical (IF) Macro"}, {0xFC,0x40,0x2D,0x80,0x2C,0x40,0xDF,0x06,0x01,0x00,0x00, "Tamron", "A14NII", "AF 18-200mm F/3.5-6.3 XR Di II LD Aspherical (IF) Macro"}, {0x00,0x40,0x2D,0x88,0x2C,0x40,0x62,0x06,0x00,0x00,0x00, "Tamron", "A18", "AF 18-250mm F/3.5-6.3 Di II LD Aspherical (IF) Macro"}, {0x00,0x40,0x2D,0x88,0x2C,0x40,0x00,0x06,0x01,0x00,0x00, "Tamron", "A18NII", "AF 18-250mm F/3.5-6.3 Di II LD Aspherical (IF) Macro "}, {0xF5,0x40,0x2C,0x8A,0x2C,0x40,0x40,0x0E,0x01,0x00,0x00, "Tamron", "B003", "AF 18-270mm F/3.5-6.3 Di II VC LD Aspherical (IF) Macro"}, {0xF0,0x3F,0x2D,0x8A,0x2C,0x40,0xDF,0x0E,0x01,0x00,0x00, "Tamron", "B008", "AF 18-270mm F/3.5-6.3 Di II VC PZD"}, {0x07,0x40,0x2F,0x44,0x2C,0x34,0x03,0x02,0x00,0x00,0x00, "Tamron", "A10", "AF 19-35mm F/3.5-4.5"}, {0x07,0x40,0x30,0x45,0x2D,0x35,0x03,0x02,0x00,0x00,0x00, "Tamron", "A10", "AF 19-35mm F/3.5-4.5"}, {0x00,0x49,0x30,0x48,0x22,0x2B,0x00,0x02,0x00,0x00,0x00, "Tamron", "166D", "SP AF 20-40mm F/2.7-3.5"}, {0x0E,0x4A,0x31,0x48,0x23,0x2D,0x0E,0x02,0x00,0x00,0x00, "Tamron", "166D", "SP AF 20-40mm F/2.7-3.5"}, //M "Tamron" "266D" "SP AF 20-40mm F/2.7-3.5 Aspherical-IF"; {0xFE,0x48,0x37,0x5C,0x24,0x24,0xDF,0x0E,0x01,0x00,0x00, "Tamron", "A007", "SP 24-70mm F/2.8 Di VC USD"}, //M "Tamron" "73D" "AF 24-70mm F/3.3-5.6 Aspherical"; {0x45,0x41,0x37,0x72,0x2C,0x3C,0x48,0x02,0x00,0x00,0x00, "Tamron", "190D", "SP AF 24-135mm F/3.5-5.6 AD Aspherical (IF) Macro"}, //M "Tamron" "159D" "AF 28-70mm F/3.5-4.5"; //M "Tamron" "259D" "AF 28-70mm F/3.5-4.5"; {0x33,0x54,0x3C,0x5E,0x24,0x24,0x62,0x02,0x00,0x00,0x00, "Tamron", "A09", "SP AF 28-75mm F/2.8 XR Di LD Aspherical (IF) Macro"}, {0xFA,0x54,0x3C,0x5E,0x24,0x24,0x84,0x06,0x01,0x00,0x00, "Tamron", "A09NII", "SP AF 28-75mm F/2.8 XR Di LD Aspherical (IF) Macro"}, {0xFA,0x54,0x3C,0x5E,0x24,0x24,0xDF,0x06,0x01,0x00,0x00, "Tamron", "A09NII", "SP AF 28-75mm F/2.8 XR Di LD Aspherical (IF) Macro"}, {0x10,0x3D,0x3C,0x60,0x2C,0x3C,0xD2,0x02,0x00,0x00,0x00, "Tamron", "177D", "AF 28-80mm F/3.5-5.6 Aspherical"}, {0x45,0x3D,0x3C,0x60,0x2C,0x3C,0x48,0x02,0x00,0x00,0x00, "Tamron", "177D", "AF 28-80mm F/3.5-5.6 Aspherical"}, {0x00,0x48,0x3C,0x6A,0x24,0x24,0x00,0x02,0x00,0x00,0x00, "Tamron", "176D", "SP AF 28-105mm F/2.8 LD Aspherical IF"}, //M "Tamron" "276D" "SP AF 28-105mm F/2.8 LD Aspherical IF"; //M "Tamron" "179D" "AF 28-105mm F4.0-5.6 IF"; //M "Tamron" "471D" "AF 28-200mm F/3.8-5.6 Aspherical IF Super2 Silver"; {0x0B,0x3E,0x3D,0x7F,0x2F,0x3D,0x0E,0x00,0x00,0x00,0x00, "Tamron", "71D", "AF 28-200mm F/3.8-5.6"}, {0x0B,0x3E,0x3D,0x7F,0x2F,0x3D,0x0E,0x02,0x00,0x00,0x00, "Tamron", "171D", "AF 28-200mm F/3.8-5.6D"}, {0x12,0x3D,0x3C,0x80,0x2E,0x3C,0xDF,0x02,0x00,0x00,0x00, "Tamron", "271D", "AF 28-200mm F/3.8-5.6 LD Aspherical (IF)"}, {0x4D,0x41,0x3C,0x8E,0x2B,0x40,0x62,0x02,0x00,0x00,0x00, "Tamron", "A061", "AF 28-300mm F/3.5-6.3 XR Di LD Aspherical (IF)"}, {0x4D,0x41,0x3C,0x8E,0x2C,0x40,0x62,0x02,0x00,0x00,0x00, "Tamron", "185D", "AF 28-300mm F/3.5-6.3 XR LD Aspherical (IF)"}, //M "Tamron" "285D" "AF 28-300mm F/3.8-6.3 LD Aspherical IF Silver"; {0xF9,0x40,0x3C,0x8E,0x2C,0x40,0x40,0x0E,0x01,0x00,0x00, "Tamron", "A20", "AF 28-300mm F/3.5-6.3 XR Di VC LD Aspherical (IF) Macro"}, //M "Tamron" "63D" "AF 35-90mm F/4-5.6"; //M "Tamron" "65D" "SP AF 35-105mm F/2.8 Aspherical"; //M "Tamron" "" "AF 35-135mm F/3.5-4.5"; {0x00,0x47,0x53,0x80,0x30,0x3C,0x00,0x06,0x00,0x00,0x00, "Tamron", "A15", "AF 55-200mm F/4-5.6 Di II LD"}, {0xF7,0x53,0x5C,0x80,0x24,0x24,0x84,0x06,0x01,0x00,0x00, "Tamron", "A001", "SP AF 70-200mm F/2.8 Di LD (IF) Macro"}, {0xFE,0x53,0x5C,0x80,0x24,0x24,0x84,0x06,0x01,0x00,0x00, "Tamron", "A001", "SP AF 70-200mm F/2.8 Di LD (IF) Macro"}, {0xF7,0x53,0x5C,0x80,0x24,0x24,0x40,0x06,0x01,0x00,0x00, "Tamron", "A001", "SP AF 70-200mm F/2.8 Di LD (IF) Macro"}, {0xFE,0x54,0x5C,0x80,0x24,0x24,0xDF,0x0E,0x01,0x00,0x00, "Tamron", "A009", "SP AF 70-200mm F/2.8 Di VC USD"}, //M "Tamron" "67D" "SP AF 70-210mm f/2.8 LD"; //M "Tamron" "" "AF 70-210mm F/3.5-4.5"; //M "Tamron" "158D" "AF 70-210mm F/4-5.6"; //M "Tamron" "258D" "AF 70-210mm F/4-5.6"; //M "Tamron" "172D" "AF 70-300mm F/4-5.6"; //M "Tamron" "472D" "AF 70-300mm F/4-5.6 LD"; {0x69,0x48,0x5C,0x8E,0x30,0x3C,0x6F,0x02,0x00,0x00,0x00, "Tamron", "572D/772D", "AF 70-300mm F/4-5.6 LD Macro 1:2"}, {0x69,0x47,0x5C,0x8E,0x30,0x3C,0x00,0x02,0x00,0x00,0x00, "Tamron", "A17N", "AF 70-300mm F/4-5.6 Di LD Macro 1:2"}, {0x00,0x48,0x5C,0x8E,0x30,0x3C,0x00,0x06,0x01,0x00,0x00, "Tamron", "A17NII", "AF 70-300mm F/4-5.6 Di LD Macro 1:2"}, {0xF1,0x47,0x5C,0x8E,0x30,0x3C,0xDF,0x0E,0x00,0x00,0x00, "Tamron", "A005", "SP 70-300mm F4-5.6 Di VC USD"}, //M "Tamron" "872D" "AF 75-300mm F/4-5.6 LD"; //M "Tamron" "278D" "AF 80-210mm F/4.5-5.6"; //M "Tamron" "62D" "AF 90-300mm F/4.5-5.6"; //M "Tamron" "186D" "AF 100-300mm F/5-6.3"; {0xEB,0x40,0x76,0xA6,0x38,0x40,0xDF,0x0E,0x00,0x00,0x00, "Tamron", "A011", "SP AF 150-600mm F/5-6.3 VC USD"}, {0x20,0x3C,0x80,0x98,0x3D,0x3D,0x1E,0x02,0x00,0x00,0x00, "Tamron", "75D", "AF 200-400mm F/5.6 LD IF"}, {0x00,0x3E,0x80,0xA0,0x38,0x3F,0x00,0x02,0x00,0x00,0x00, "Tamron", "A08", "SP AF 200-500mm F/5-6.3 Di LD (IF)"}, {0x00,0x3F,0x80,0xA0,0x38,0x3F,0x00,0x02,0x00,0x00,0x00, "Tamron", "A08", "SP AF 200-500mm F/5-6.3 Di"}, // //------------------------------------------------------------------------------ // Tokina Lenses by focal length, first fixed then zoom lenses //------------------------------------------------------------------------------ // {0x00,0x40,0x2B,0x2B,0x2C,0x2C,0x00,0x02,0x00,0x00,0x00, "Tokina", "", "AT-X 17 AF PRO (17mm f/3.5)"}, {0x00,0x47,0x44,0x44,0x24,0x24,0x00,0x06,0x40,0x00,0x00, "Tokina", "T303503", "AT-X M35 PRO DX (35mm f/2.8 Macro)"}, {0x00,0x54,0x68,0x68,0x24,0x24,0x00,0x02,0x40,0x00,0x00, "Tokina", "T310003N", "AT-X M100 AF PRO D (100mm f/2.8 Macro)"}, {0x27,0x48,0x8E,0x8E,0x30,0x30,0x1D,0x02,0x00,0x00,0x00, "Tokina", "", "AT-X 304 AF (300mm f/4.0)"}, {0x00,0x54,0x8E,0x8E,0x24,0x24,0x00,0x02,0x00,0x00,0x00, "Tokina", "", "AT-X 300 AF PRO (300mm f/2.8)"}, {0x12,0x3B,0x98,0x98,0x3D,0x3D,0x09,0x00,0x00,0x00,0x00, "Tokina", "", "AT-X 400 AF SD (400mm f/5.6)"}, // {0x00,0x40,0x18,0x2B,0x2C,0x34,0x00,0x06,0x00,0x00,0x00, "Tokina", "T4101703", "AT-X 107 AF DX Fisheye (10-17mm f/3.5-4.5)"}, {0x00,0x48,0x1C,0x29,0x24,0x24,0x00,0x06,0x00,0x00,0x00, "Tokina", "T4111603", "AT-X 116 PRO DX (11-16mm f/2.8)"}, {0x7A,0x48,0x1C,0x29,0x24,0x24,0x7E,0x06,0x00,0x00,0x00, "Tokina", "", "AT-X 116 PRO DX II (11-16mm f/2.8)"}, {0x00,0x3C,0x1F,0x37,0x30,0x30,0x00,0x06,0x00,0x00,0x00, "Tokina", "T4122403", "AT-X 124 AF PRO DX (12-24mm f/4)"}, {0x7A,0x3C,0x1F,0x37,0x30,0x30,0x7E,0x06,0x01,0x02,0x00, "Tokina", "T4122423", "AT-X 124 AF PRO DX II (12-24mm f/4)"}, {0x7A,0x3C,0x1F,0x3C,0x30,0x30,0x7E,0x06,0x00,0x00,0x00, "Tokina", "", "AT-X 12-28 PRO DX (12-28mm F/4)"}, {0x00,0x48,0x29,0x3C,0x24,0x24,0x00,0x06,0x00,0x00,0x00, "Tokina", "", "AT-X 16-28 AF PRO FX (16-28mm f/2.8)"}, {0x00,0x48,0x29,0x50,0x24,0x24,0x00,0x06,0x00,0x00,0x00, "Tokina", "", "AT-X 165 PRO DX (16-50mm f/2.8)"}, {0x00,0x40,0x2A,0x72,0x2C,0x3C,0x00,0x06,0x00,0x00,0x00, "Tokina", "", "AT-X 16.5-135 DX (16.5-135mm F3.5-5.6)"}, {0x2F,0x40,0x30,0x44,0x2C,0x34,0x29,0x02,0x00,0x02,0x00, "Tokina", "", "AF 193 (19-35mm f/3.5-4.5)"}, {0x2F,0x48,0x30,0x44,0x24,0x24,0x29,0x02,0x00,0x02,0x00, "Tokina", "", "AT-X 235 AF PRO (20-35mm f/2.8)"}, //M "Tokina" "" "AF 235 (AF 20-35mm f/3.5-4.5)" {0x2F,0x40,0x30,0x44,0x2C,0x34,0x29,0x02,0x00,0x01,0x00, "Tokina", "", "AF 235 II (20-35mm f/3.5-4.5)"}, //M "Tokina" "" "AT-X 240 AF (AF 24-40mm f/2.8)" {0x00,0x40,0x37,0x80,0x2C,0x3C,0x00,0x02,0x00,0x00,0x00, "Tokina", "", "AT-X 242 AF (24-200mm f/3.5-5.6)"}, {0x25,0x48,0x3C,0x5C,0x24,0x24,0x1B,0x02,0x00,0x02,0x00, "Tokina", "", "AT-X 270 AF PRO II (28-70mm f/2.6-2.8)"}, {0x25,0x48,0x3C,0x5C,0x24,0x24,0x1B,0x02,0x00,0x01,0x00, "Tokina", "", "AT-X 287 AF PRO SV (28-70mm f/2.8)"}, {0x07,0x48,0x3C,0x5C,0x24,0x24,0x03,0x00,0x00,0x00,0x00, "Tokina", "", "AT-X 287 AF (28-70mm f/2.8)"}, {0x07,0x47,0x3C,0x5C,0x25,0x35,0x03,0x00,0x00,0x00,0x00, "Tokina", "", "AF 287 SD (28-70mm f/2.8-4.5)"}, {0x07,0x40,0x3C,0x5C,0x2C,0x35,0x03,0x00,0x00,0x00,0x00, "Tokina", "", "AF 270 II (28-70mm f/3.5-4.5)"}, {0x00,0x48,0x3C,0x60,0x24,0x24,0x00,0x02,0x00,0x00,0x00, "Tokina", "", "AT-X 280 AF PRO (28-80mm f/2.8)"}, //M "Tokina" "" "AF 280 II EMZ (AF 28-80mm f/3.5-5.6)" //M "Tokina" "" "AF 205 (AF 28-105mm f/3.5-4.5)" //M "Tokina" "" "AF 282 (AF 28-200mm 3.5-5.6)" //M "Tokina" "" "AF 282 EMZ II (AF 28-210mm f/4.2-6.5)" //M "Tokina" "" "AF 370 (AF 35-70mm f/3.5-4.6)" //M "Tokina" "" "AF 370 II (AF 35-70mm f/3.5-4.6)" {0x25,0x44,0x44,0x8E,0x34,0x42,0x1B,0x02,0x00,0x00,0x00, "Tokina", "", "AF 353 (35-300mm f/4.5-6.7)"}, {0x00,0x48,0x50,0x72,0x24,0x24,0x00,0x06,0x00,0x00,0x00, "Tokina", "", "AT-X 535 PRO DX (50-135mm f/2.8)"}, //M "Tokina" "" "AF 745 (AF 70-210mm f/4.5)" //M "Tokina" "" "AF 210 (AF 70-210mm f/4.0-5.6)" //M "Tokina" "" "AF 210 II SD (AF 70-210mm f/4.0-5.6)" {0x12,0x44,0x5E,0x8E,0x34,0x3C,0x09,0x00,0x00,0x00,0x00, "Tokina", "", "AF 730 (75-300mm F4.5-5.6)"}, //M "Tokina" "" "AF 730 II (AF 75-300mm f/4.5-5.6)" {0x14,0x54,0x60,0x80,0x24,0x24,0x0B,0x00,0x00,0x00,0x00, "Tokina", "", "AT-X 828 AF (80-200mm f/2.8)"}, {0x24,0x54,0x60,0x80,0x24,0x24,0x1A,0x02,0x00,0x00,0x00, "Tokina", "", "AT-X 828 AF PRO (80-200mm f/2.8)"}, //M "Tokina" "" "AT-X 840 AF (AF 80-400mm f/4.5-5.6)" {0x24,0x44,0x60,0x98,0x34,0x3C,0x1A,0x02,0x00,0x00,0x00, "Tokina", "", "AT-X 840 AF-II (80-400mm f/4.5-5.6)"}, {0x00,0x44,0x60,0x98,0x34,0x3C,0x00,0x02,0x00,0x00,0x00, "Tokina", "", "AT-X 840 D (80-400mm f/4.5-5.6)"}, {0x14,0x48,0x68,0x8E,0x30,0x30,0x0B,0x00,0x00,0x00,0x00, "Tokina", "", "AT-X 340 AF (100-300mm f/4)"}, //M "Tokina" "" "AT-X 340 AF-II (AF 100-300mm f/4)" //M "Tokina" "" "AF 130 EMZ II (AF 100-300mm f/5.6-6.7)" //M "Tokina" "" "AF 140 EMZ (AF 100-400mm f/4.5-6.3)" // {0x00,0x00,0x00,0x00,0x00,0x00,0xF1,0x0C,0x00,0x00,0x00, "Kenko", "", "Teleplus PRO 300 DG 1.4x"}, {0x00,0x00,0x00,0x00,0x00,0x00,0xF2,0x18,0x00,0x00,0x00, "Kenko", "", "Teleplus PRO 300 DG 2.0x"}, // //------------------------------------------------------------------------------ // Lenses from various other brands //------------------------------------------------------------------------------ // {0x06,0x3F,0x68,0x68,0x2C,0x2C,0x06,0x00,0x00,0x00,0x00, "Cosina", "", "AF 100mm F3.5 Macro"}, {0x07,0x36,0x3D,0x5F,0x2C,0x3C,0x03,0x00,0x00,0x00,0x00, "Cosina", "", "AF Zoom 28-80mm F3.5-5.6 MC Macro"}, {0x07,0x46,0x3D,0x6A,0x25,0x2F,0x03,0x00,0x00,0x00,0x00, "Cosina", "", "AF Zoom 28-105mm F2.8-3.8 MC"}, //M "Cosina" "" "AF Zoom 28-210mm F3.5-5.6"; //M "Cosina" "" "AF Zoom 28-210mm F4.2-6.5 Aspherical IF"; //M "Cosina" "" "AF Zoom 28-300mm F4.0-6.3"; //M "Cosina" "" "AF Zoom 70-210mm F2.8-4.0"; {0x12,0x36,0x5C,0x81,0x35,0x3D,0x09,0x00,0x00,0x00,0x00, "Cosina", "", "AF Zoom 70-210mm F4.5-5.6 MC Macro"}, {0x12,0x39,0x5C,0x8E,0x34,0x3D,0x08,0x02,0x00,0x00,0x00, "Cosina", "", "AF Zoom 70-300mm F4.5-5.6 MC Macro"}, {0x12,0x3B,0x68,0x8D,0x3D,0x43,0x09,0x02,0x00,0x00,0x00, "Cosina", "", "AF Zoom 100-300mm F5.6-6.7 MC Macro"}, //M "Cosina" "" "AF Zoom 100-400mm F5.6-6.7 MC"; // {0x12,0x38,0x69,0x97,0x35,0x42,0x09,0x02,0x00,0x00,0x00, "Promaster", "", "Spectrum 7 100-400mm 1:4.5-6.7"}, // {0x00,0x40,0x31,0x31,0x2C,0x2C,0x00,0x00,0x00,0x00,0x00, "Voigtlander", "BA295AN", "Color Skopar 20mm F3.5 SLII Aspherical"}, {0x00,0x54,0x48,0x48,0x18,0x18,0x00,0x00,0x00,0x00,0x00, "Voigtlander", "BA229DN", "Ultron 40mm F2 SLII Aspherical"}, {0x00,0x54,0x55,0x55,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00, "Voigtlander", "BA239BN", "Nokton 58mm F1.4 SLII"}, {0x00,0x40,0x64,0x64,0x2C,0x2C,0x00,0x00,0x00,0x00,0x00, "Voigtlander", "", "APO-Lanthar 90mm F3.5 SLII Close Focus"}, // {0x00,0x40,0x2D,0x2D,0x2C,0x2C,0x00,0x00,0x00,0x00,0x00, "Carl Zeiss", "", "Distagon T* 3,5/18 ZF.2"}, {0x00,0x48,0x32,0x32,0x24,0x24,0x00,0x00,0x00,0x00,0x00, "Carl Zeiss", "", "Distagon T* 2,8/21 ZF.2"}, {0x00,0x54,0x3C,0x3C,0x18,0x18,0x00,0x00,0x00,0x00,0x00, "Carl Zeiss", "", "Distagon T* 2/28 ZF.2"}, {0x00,0x54,0x44,0x44,0x18,0x18,0x00,0x00,0x00,0x00,0x00, "Carl Zeiss", "", "Distagon T* 2/35 ZF.2"}, {0x00,0x54,0x50,0x50,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00, "Carl Zeiss", "", "Planar T* 1,4/50 ZF.2"}, {0x00,0x54,0x50,0x50,0x18,0x18,0x00,0x00,0x00,0x00,0x00, "Carl Zeiss", "", "Makro-Planar T* 2/50 ZF.2"}, {0x00,0x54,0x62,0x62,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00, "Carl Zeiss", "", "Planar T* 1,4/85 ZF.2"}, {0x00,0x54,0x68,0x68,0x18,0x18,0x00,0x00,0x00,0x00,0x00, "Carl Zeiss", "", "Makro-Planar T* 2/100 ZF.2"}, {0x00,0x54,0x53,0x53,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00, "Zeiss", "", "Otus 1.4/55"}, // {0x00,0x54,0x56,0x56,0x30,0x30,0x00,0x00,0x00,0x00,0x00, "Coastal Optical Systems", "", "60mm 1:4 UV-VIS-IR Macro Apo"}, // {0x4A,0x40,0x11,0x11,0x2C,0x0C,0x4D,0x02,0x00,0x00,0x00, "Samyang", "", "8mm f/3.5 Fish-Eye CS"}, {0x4A,0x48,0x1E,0x1E,0x24,0x0C,0x4D,0x02,0x00,0x00,0x00, "Samyang", "", "12mm f/2.8 ED AS NCS Fish-eye"}, {0x4A,0x48,0x24,0x24,0x24,0x0C,0x4D,0x02,0x00,0x00,0x00, "Samyang", "", "AE 14mm f/2.8 ED AS IF UMC"}, {0x4A,0x54,0x29,0x29,0x18,0x0C,0x4D,0x02,0x00,0x00,0x00, "Samyang", "", "16mm F2.0 ED AS UMC CS"}, {0x4A,0x60,0x44,0x44,0x0C,0x0C,0x4D,0x02,0x00,0x00,0x00, "Samyang", "", "35mm f/1.4 AS UMC"}, {0x4A,0x60,0x62,0x62,0x0C,0x0C,0x4D,0x02,0x00,0x00,0x00, "Samyang", "", "AE 85mm f/1.4 AS IF UMC"}, // {0x02,0x40,0x44,0x5C,0x2C,0x34,0x02,0x00,0x00,0x00,0x00, "Exakta", "", "AF 35-70mm 1:3.5-4.5 MC"}, {0x07,0x3E,0x30,0x43,0x2D,0x35,0x03,0x00,0x00,0x00,0x00, "Soligor", "", "AF Zoom 19-35mm 1:3.5-4.5 MC"}, {0x03,0x43,0x5C,0x81,0x35,0x35,0x02,0x00,0x00,0x00,0x00, "Soligor", "", "AF C/D Zoom UMCS 70-210mm 1:4.5"}, {0x12,0x4A,0x5C,0x81,0x31,0x3D,0x09,0x00,0x00,0x00,0x00, "Soligor", "", "AF C/D Auto Zoom+Macro 70-210mm 1:4-5.6 UMCS"}, {0x12,0x36,0x69,0x97,0x35,0x42,0x09,0x00,0x00,0x00,0x00, "Soligor", "", "AF Zoom 100-400mm 1:4.5-6.7 MC"}, // {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, "Manual Lens", "", "No CPU"}, {0x00,0x00,0x48,0x48,0x53,0x53,0x00,0x01,0x00,0x00,0x00, "Loreo", "", "40mm F11-22 3D Lens in a Cap 9005"}, // //------------------------------------------------------------------------------ // // Lenses, that were upgraded with custom CPU // {0x00,0x47,0x10,0x10,0x24,0x24,0x00,0x00,0x00,0x00,0x00, "Nikon", "JAA604AC", "Fisheye Nikkor 8mm f/2.8 AiS"}, {0x00,0x47,0x3C,0x3C,0x24,0x24,0x00,0x00,0x00,0x00,0x00, "Nikon", "", "Nikkor 28mm f/2.8 AiS"}, {0x00,0x54,0x44,0x44,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00, "Nikon", "JAA115AD", "Nikkor 35mm f/1.4 AiS"}, {0x00,0x57,0x50,0x50,0x14,0x14,0x00,0x00,0x00,0x00,0x00, "Nikon", "", "Nikkor 50mm f/1.8 AI"}, {0x00,0x48,0x50,0x50,0x18,0x18,0x00,0x00,0x00,0x00,0x00, "Nikon", "", "Nikkor H 50mm f/2"}, {0x00,0x48,0x68,0x68,0x24,0x24,0x00,0x00,0x00,0x00,0x00, "Nikon", "JAA304AA", "Series E 100mm f/2.8"}, {0x00,0x4C,0x6A,0x6A,0x20,0x20,0x00,0x00,0x00,0x00,0x00, "Nikon", "JAA305AA", "Nikkor 105mm f/2.5 AiS"}, {0x00,0x48,0x80,0x80,0x30,0x30,0x00,0x00,0x00,0x00,0x00, "Nikon", "JAA313AA", "Nikkor 200mm f/4 AiS"}, {0x00,0x40,0x11,0x11,0x2C,0x2C,0x00,0x00,0x00,0x00,0x00, "Samyang", "", "8mm f/3.5 Fish-Eye"}, {0x00,0x58,0x64,0x64,0x20,0x20,0x00,0x00,0x00,0x00,0x00, "Soligor", "", "C/D Macro MC 90mm f/2.5"}, // {0,0,0,0,0,0,0,0,0,0,0, NULL, NULL, NULL} }; //------------------------------------------------------------------------------ #endif // 8< - - - 8< do not remove this line >8 - - - >8 if (metadata == 0) return os << value; byte raw[] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }; static const char* tags[] = { "LensIDNumber", "LensFStops", "MinFocalLength", "MaxFocalLength", "MaxApertureAtMinFocal", "MaxApertureAtMaxFocal", "MCUVersion" }; const std::string pre = std::string("Exif.") + group + std::string("."); for (unsigned int i = 0; i < 7; ++i) { ExifKey key(pre + std::string(tags[i])); ExifData::const_iterator md = metadata->findKey(key); if (md == metadata->end() || md->typeId() != unsignedByte || md->count() == 0) { return os << value; } raw[i] = static_cast(md->toLong()); } ExifData::const_iterator md = metadata->findKey(ExifKey("Exif.Nikon3.LensType")); if (md == metadata->end() || md->typeId() != unsignedByte || md->count() == 0) { return os << value; } raw[7] = static_cast(md->toLong()); for (int i = 0; fmountlens[i].lensname != NULL; ++i) { if ( raw[0] == fmountlens[i].lid // stps varies with focal length for some Sigma zoom lenses. &&(raw[1] == fmountlens[i].stps || strcmp(fmountlens[i].manuf, "Sigma") == 0) && raw[2] == fmountlens[i].focs && raw[3] == fmountlens[i].focl && raw[4] == fmountlens[i].aps && raw[5] == fmountlens[i].apl && raw[6] == fmountlens[i].lfw && raw[7] == fmountlens[i].ltype) { // Lens found in database return os << fmountlens[i].manuf << " " << fmountlens[i].lensname; } } // Lens not found in database return os << value; #else return os << value; #endif // EXV_HAVE_LENSDATA } std::ostream& Nikon3MakerNote::printFocusDistance(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if (value.count() != 1 || value.typeId() != unsignedByte) { os << "(" << value << ")"; os.flags(f); return os; } double dist = 0.01 * pow(10.0, value.toLong()/40.0); std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(2) << dist << " m"; os.copyfmt(oss); os.flags(f); return os; } std::ostream& Nikon3MakerNote::printAperture(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if (value.count() != 1 || value.typeId() != unsignedByte) { os << "(" << value << ")"; os.flags(f); return os; } double aperture = pow(2.0, value.toLong()/24.0); std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1) << "F" << aperture; os.copyfmt(oss); os.flags(f); return os; } std::ostream& Nikon3MakerNote::printFocal(std::ostream& os, const Value& value, const ExifData*) { if (value.count() != 1 || value.typeId() != unsignedByte) { return os << "(" << value << ")"; } double focal = 5.0 * pow(2.0, value.toLong()/24.0); std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1) << focal << " mm"; os.copyfmt(oss); return os; } std::ostream& Nikon3MakerNote::printFStops(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if (value.count() != 1 || value.typeId() != unsignedByte) { os << "(" << value << ")"; os.flags(f); return os; } double fstops = value.toLong()/12.0; std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1) << "F" << fstops; os.copyfmt(oss); os.flags(f); return os; } std::ostream& Nikon3MakerNote::printExitPupilPosition(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if (value.count() != 1 || value.typeId() != unsignedByte || value.toLong() == 0) { os << "(" << value << ")"; os.flags(f); return os; } double epp = 2048.0/value.toLong(); std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1) << epp << " mm"; os.copyfmt(oss); os.flags(f); return os; } std::ostream& Nikon3MakerNote::printFlashFocalLength(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if (value.count() != 1 || value.typeId() != unsignedByte || value.toLong() == 0 || value.toLong() == 255) { os << "(" << value << ")"; os.flags(f); return os; } std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1) << value.toLong() << " mm"; os.copyfmt(oss); os.flags(f); return os; } std::ostream& Nikon3MakerNote::printRepeatingFlashRate(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if (value.count() != 1 || value.typeId() != unsignedByte || value.toLong() == 0 || value.toLong() == 255) { return os << "(" << value << ")"; } std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(2) << value.toLong() << " Hz"; os.copyfmt(oss); os.flags(f); return os; } std::ostream& Nikon3MakerNote::printRepeatingFlashCount(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if (value.count() != 1 || value.typeId() != unsignedByte || value.toLong() == 0 || value.toLong() == 255) { return os << "(" << value << ")"; } std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(2) << value.toLong(); os.copyfmt(oss); os.flags(f); return os; } std::ostream& Nikon3MakerNote::printTimeZone(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if (value.count() != 1 || value.typeId() != signedShort) { os << "(" << value << ")"; os.flags(f); return os; } std::ostringstream oss; oss.copyfmt(os); char sign = value.toLong() < 0 ? '-' : '+'; long h = long(std::abs( (int) (value.toFloat()/60.0) ))%24; long min = long(std::abs( (int) (value.toFloat()-h*60) ))%60; os << std::fixed << "UTC " << sign << std::setw(2) << std::setfill('0') << h << ":" << std::setw(2) << std::setfill('0') << min; os.copyfmt(oss); os.flags(f); return os; } std::ostream& Nikon3MakerNote::printPictureControl(std::ostream& os, const Value& value, const ExifData*) { if (value.count() != 1 || value.typeId() != unsignedByte) { return os << "(" << value << ")"; } long pcval = value.toLong() - 0x80; std::ostringstream oss; oss.copyfmt(os); switch(pcval) { case 0: os << "Normal"; break; case 127: os << "n/a"; break; case -127: os << "User"; break; case -128: os << "Auto"; break; default: os << pcval; break; } os.copyfmt(oss); return os; } std::ostream& Nikon3MakerNote::print0x009a(std::ostream& os, const Value& value, const ExifData*) { if (value.count() != 2 || value.typeId() != unsignedRational) { return os << value; } float f1 = value.toFloat(0); float f2 = value.toFloat(1); return os << f1 << " x " << f2 << " um"; } std::ostream& Nikon3MakerNote::print0x009e(std::ostream& os, const Value& value, const ExifData*) { if (value.count() != 10 || value.typeId() != unsignedShort) { return os << value; } std::string s; bool trim = true; for (int i = 9; i >= 0; --i) { long l = value.toLong(i); if (i > 0 && l == 0 && trim) continue; if (l != 0) trim = false; std::string d = s.empty() ? "" : "; "; const TagDetails* td = find(nikonRetouchHistory, l); if (td) { s = std::string(exvGettext(td->label_)) + d + s; } else { s = std::string(_("Unknown")) + std::string(" (") + toString(l) + std::string(")") + d + s; } } return os << s; } }} // namespace Internal, Exiv2 exiv2-0.25/src/crwimage_int.hpp0000664000175000017500000007071112521135474016275 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file crwimage_int.hpp @brief Internal classes to support CRW/CIFF format. @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 28-Aug-05, ahu: created */ #ifndef CRWIMAGE_INT_HPP_ #define CRWIMAGE_INT_HPP_ // ***************************************************************************** // included header files #include "types.hpp" #include "tags_int.hpp" #include "image.hpp" #include "basicio.hpp" // + standard includes #include #include #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class declarations class ExifData; namespace Internal { // ***************************************************************************** // class declarations class CiffHeader; class CiffComponent; struct CrwMapping; struct CrwSubDir; // ***************************************************************************** // type definitions //! Function pointer for functions to decode Exif tags from a CRW entry typedef void (*CrwDecodeFct)(const CiffComponent&, const CrwMapping*, Image&, ByteOrder); //! Function pointer for functions to encode CRW entries from Exif tags typedef void (*CrwEncodeFct)(const Image&, const CrwMapping*, CiffHeader*); //! Stack to hold a path of CRW directories typedef std::stack CrwDirs; //! Type to identify where the data is stored in a directory enum DataLocId { invalidDataLocId, valueData, directoryData, lastDataLocId }; // ***************************************************************************** // class definitions /*! @brief Interface class for components of the CIFF directory hierarchy of a CRW (Canon Raw data) image. Both CIFF directories as well as entries implement this interface. This class is implemented as NVI (non-virtual interface). */ class CiffComponent { public: //! CiffComponent auto_ptr type typedef std::auto_ptr AutoPtr; //! Container type to hold all metadata typedef std::vector Components; //! @name Creators //@{ //! Default constructor CiffComponent() : dir_(0), tag_(0), size_(0), offset_(0), pData_(0), isAllocated_(false) {} //! Constructor taking a tag and directory CiffComponent(uint16_t tag, uint16_t dir) : dir_(dir), tag_(tag), size_(0), offset_(0), pData_(0), isAllocated_(false) {} //! Virtual destructor. virtual ~CiffComponent(); //@} //! @name Manipulators //@{ // Default assignment operator is fine //! Add a component to the composition void add(AutoPtr component); /*! @brief Add \em crwTagId to the parse tree, if it doesn't exist yet. \em crwDirs contains the path of subdirectories, starting with the root directory, leading to \em crwTagId. Directories that don't exist yet are added along the way. Returns a pointer to the newly added component. @param crwDirs Subdirectory path from root to the subdirectory containing the tag to be added. @param crwTagId Tag to be added. @return A pointer to the newly added component. */ CiffComponent* add(CrwDirs& crwDirs, uint16_t crwTagId); /*! @brief Remove \em crwTagId from the parse tree, if it exists yet. \em crwDirs contains the path of subdirectories, starting with the root directory, leading to \em crwTagId. @param crwDirs Subdirectory path from root to the subdirectory containing the tag to be removed. @param crwTagId Tag to be removed. */ void remove(CrwDirs& crwDirs, uint16_t crwTagId); /*! @brief Read a component from a data buffer @param pData Pointer to the data buffer. @param size Number of bytes in the data buffer. @param start Component starts at \em pData + \em start. @param byteOrder Applicable byte order (little or big endian). @throw Error If the component cannot be parsed. */ void read(const byte* pData, uint32_t size, uint32_t start, ByteOrder byteOrder); /*! @brief Write the metadata from the raw metadata component to the binary image \em blob. This method may append to the blob. @param blob Binary image to add metadata to @param byteOrder Byte order @param offset Current offset @return New offset */ uint32_t write(Blob& blob, ByteOrder byteOrder, uint32_t offset); /*! @brief Writes the entry's value if size is larger than eight bytes. If needed, the value is padded with one 0 byte to make the number of bytes written to the blob even. The offset of the component is set to the offset passed in. @param blob The binary image to write to. @param offset Offset from the start of the directory for this entry. @return New offset. */ uint32_t writeValueData(Blob& blob, uint32_t offset); //! Set the directory tag for this component. void setDir(uint16_t dir) { dir_ = dir; } //! Set the data value of the entry. void setValue(DataBuf buf); //@} //! Return the type id for a tag static TypeId typeId(uint16_t tag); //! Return the data location id for a tag static DataLocId dataLocation(uint16_t tag); //! @name Accessors //@{ /*! @brief Decode metadata from the component and add it to \em image. @param image Image to add metadata to @param byteOrder Byte order */ void decode(Image& image, ByteOrder byteOrder) const; /*! @brief Print debug info about a component to \em os. @param os Output stream to write to @param byteOrder Byte order @param prefix Prefix to be written before each line of output */ void print(std::ostream& os, ByteOrder byteOrder, const std::string& prefix ="") const; /*! @brief Write a directory entry for the component to the \em blob. If the size of the data is not larger than 8 bytes, the data is written to the directory entry. */ void writeDirEntry(Blob& blob, ByteOrder byteOrder) const; //! Return the tag of the directory containing this component uint16_t dir() const { return dir_; } //! Return the tag of this component uint16_t tag() const { return tag_; } //! Return true if the component is empty, else false bool empty() const; /*! @brief Return the data size of this component @note If the data is contained in the directory entry itself, this method returns 8, which is the maximum number of data bytes this component can have. The actual size, i.e., used data bytes, may be less than 8. */ uint32_t size() const { return size_; } //! Return the offset to the data from the start of the directory uint32_t offset() const { return offset_; } //! Return a pointer to the data area of this component const byte* pData() const { return pData_; } //! Return the tag id of this component uint16_t tagId() const { return tag_ & 0x3fff; } //! Return the type id of thi component TypeId typeId() const { return typeId(tag_); } //! Return the data location for this component DataLocId dataLocation() const { return dataLocation(tag_); } /*! @brief Finds \em crwTagId in directory \em crwDir, returning a pointer to the component or 0 if not found. */ CiffComponent* findComponent(uint16_t crwTagId, uint16_t crwDir) const; //@} protected: //! @name Manipulators //@{ //! Implements add() virtual void doAdd(AutoPtr component) =0; //! Implements add(). The default implementation does nothing. virtual CiffComponent* doAdd(CrwDirs& crwDirs, uint16_t crwTagId); //! Implements remove(). The default implementation does nothing. virtual void doRemove(CrwDirs& crwDirs, uint16_t crwTagId); //! Implements read(). The default implementation reads a directory entry. virtual void doRead(const byte* pData, uint32_t size, uint32_t start, ByteOrder byteOrder); //! Implements write() virtual uint32_t doWrite(Blob& blob, ByteOrder byteOrder, uint32_t offset) =0; //! Set the size of the data area. void setSize(uint32_t size) { size_ = size; } //! Set the offset for this component. void setOffset(uint32_t offset) { offset_ = offset; } //@} //! @name Accessors //@{ //! Implements decode() virtual void doDecode(Image& image, ByteOrder byteOrder) const =0; //! Implements print(). The default implementation prints the entry. virtual void doPrint(std::ostream& os, ByteOrder byteOrder, const std::string& prefix) const; //! Implements empty(). Default implementation returns true if size is 0. virtual bool doEmpty() const; //! Implements findComponent(). The default implementation checks the entry. virtual CiffComponent* doFindComponent(uint16_t crwTagId, uint16_t crwDir) const; //@} private: // DATA uint16_t dir_; //!< Tag of the directory containing this component uint16_t tag_; //!< Tag of the entry uint32_t size_; //!< Size of the data area uint32_t offset_; //!< Offset to the data area from start of dir const byte* pData_; //!< Pointer to the data area bool isAllocated_; //!< True if this entry owns the value data }; // class CiffComponent /*! @brief This class models one directory entry of a CIFF directory of a CRW (Canon Raw data) image. */ class CiffEntry : public CiffComponent { public: //! @name Creators //@{ //! Default constructor CiffEntry() {} //! Constructor taking a tag and directory CiffEntry(uint16_t tag, uint16_t dir) : CiffComponent(tag, dir) {} //! Virtual destructor. virtual ~CiffEntry(); //@} // Default assignment operator is fine private: //! @name Manipulators //@{ using CiffComponent::doAdd; // See base class comment virtual void doAdd(AutoPtr component); /*! @brief Implements write(). Writes only the value data of the entry, using writeValueData(). */ virtual uint32_t doWrite(Blob& blob, ByteOrder byteOrder, uint32_t offset); //@} //! @name Accessors //@{ // See base class comment virtual void doDecode(Image& image, ByteOrder byteOrder) const; //@} }; // class CiffEntry //! This class models a CIFF directory of a CRW (Canon Raw data) image. class CiffDirectory : public CiffComponent { public: //! @name Creators //@{ //! Default constructor CiffDirectory() : cc_(NULL) {} //! Constructor taking a tag and directory CiffDirectory(uint16_t tag, uint16_t dir) : CiffComponent(tag, dir), cc_(NULL) {} //! Virtual destructor virtual ~CiffDirectory(); //@} //! @name Manipulators //@{ // Default assignment operator is fine /*! @brief Parse a CIFF directory from a memory buffer @param pData Pointer to the memory buffer containing the directory @param size Size of the memory buffer @param byteOrder Applicable byte order (little or big endian) */ void readDirectory(const byte* pData, uint32_t size, ByteOrder byteOrder); //@} private: //! @name Manipulators //@{ // See base class comment virtual void doAdd(AutoPtr component); // See base class comment virtual CiffComponent* doAdd(CrwDirs& crwDirs, uint16_t crwTagId); // See base class comment virtual void doRemove(CrwDirs& crwDirs, uint16_t crwTagId); /*! @brief Implements write(). Writes the complete Ciff directory to the blob. */ virtual uint32_t doWrite(Blob& blob, ByteOrder byteOrder, uint32_t offset); // See base class comment virtual void doRead(const byte* pData, uint32_t size, uint32_t start, ByteOrder byteOrder); //@} //! @name Accessors //@{ // See base class comment virtual void doDecode(Image& image, ByteOrder byteOrder) const; // See base class comment virtual void doPrint(std::ostream& os, ByteOrder byteOrder, const std::string& prefix) const; //! See base class comment. A directory is empty if it has no components. virtual bool doEmpty() const; // See base class comment virtual CiffComponent* doFindComponent(uint16_t crwTagId, uint16_t crwDir) const; //@} private: // DATA Components components_; //!< List of components in this dir AutoPtr m_; // used by recursive doAdd CiffComponent* cc_; }; // class CiffDirectory /*! @brief This class models the header of a CRW (Canon Raw data) image. It is the head of a CIFF parse tree, consisting of CiffDirectory and CiffEntry objects. Most of its methods will walk the parse tree to perform the requested action. */ class CiffHeader { public: //! CiffHeader auto_ptr type typedef std::auto_ptr AutoPtr; //! @name Creators //@{ //! Default constructor CiffHeader() : pRootDir_ (0), byteOrder_ (littleEndian), offset_ (0x0000001a), pPadding_ (0), padded_ (0) {} //! Virtual destructor virtual ~CiffHeader(); //@} //! @name Manipulators //@{ /*! @brief Read the CRW image from a data buffer, starting with the Ciff header. @param pData Pointer to the data buffer. @param size Number of bytes in the data buffer. @throw Error If the image cannot be parsed. */ void read(const byte* pData, uint32_t size); /*! @brief Set the value of entry \em crwTagId in directory \em crwDir to \em buf. If this tag doesn't exist, it is added along with all directories needed. @param crwTagId Tag to be added. @param crwDir Parent directory of the tag. @param buf Value to be set. */ void add(uint16_t crwTagId, uint16_t crwDir, DataBuf buf); /*! @brief Remove entry \em crwTagId in directory \em crwDir from the parse tree. If it's the last entry in the directory, the directory is removed as well, etc. @param crwTagId Tag id to be removed. @param crwDir Parent directory of the tag. */ void remove(uint16_t crwTagId, uint16_t crwDir); //@} //! Return a pointer to the Canon CRW signature. static const char* signature() { return signature_; } //! @name Accessors //@{ /*! @brief Write the CRW image to the binary image \em blob, starting with the Ciff header. This method appends to the blob. @param blob Binary image to add to. @throw Error If the image cannot be written. */ void write(Blob& blob) const; /*! @brief Decode the CRW image and add it to \em image. Walk the parse tree and convert CIFF entries to metadata entries which are added to \em image. @param image Image to add metadata to */ void decode(Image& image) const; /*! @brief Print debug info for the CRW image to \em os. @param os Output stream to write to. @param prefix Prefix to be written before each line of output. */ void print(std::ostream& os, const std::string& prefix ="") const; //! Return the byte order (little or big endian). ByteOrder byteOrder() const { return byteOrder_; } /*! @brief Finds \em crwTagId in directory \em crwDir in the parse tree, returning a pointer to the component or 0 if not found. */ CiffComponent* findComponent(uint16_t crwTagId, uint16_t crwDir) const; //@} private: // DATA static const char signature_[]; //!< Canon CRW signature "HEAPCCDR" CiffDirectory* pRootDir_; //!< Pointer to the root directory ByteOrder byteOrder_; //!< Applicable byte order uint32_t offset_; //!< Offset to the start of the root dir byte* pPadding_; //!< Pointer to the (unknown) remainder uint32_t padded_; //!< Number of padding-bytes }; // class CiffHeader //! Structure for the CIFF directory hierarchy struct CrwSubDir { uint16_t crwDir_; //!< Directory tag uint16_t parent_; //!< Parent directory tag }; // struct CrwSubDir /*! @brief Structure for a mapping table for conversion of CIFF entries to image metadata and vice versa. */ struct CrwMapping { //! @name Creators //@{ //! Default constructor CrwMapping( uint16_t crwTagId, uint16_t crwDir, uint32_t size, uint16_t tag, Internal::IfdId ifdId, CrwDecodeFct toExif, CrwEncodeFct fromExif) : crwTagId_ (crwTagId), crwDir_ (crwDir), size_ (size), tag_ (tag), ifdId_ (ifdId), toExif_ (toExif), fromExif_ (fromExif) {} //@} // DATA uint16_t crwTagId_; //!< CRW tag id uint16_t crwDir_; //!< CRW directory tag uint32_t size_; //!< Data size (overwrites the size from the entry) uint16_t tag_; //!< Exif tag to map to IfdId ifdId_; //!< Exif Ifd id to map to CrwDecodeFct toExif_; //!< Conversion function CrwEncodeFct fromExif_; //!< Reverse conversion function }; // struct CrwMapping /*! @brief Static class providing mapping functionality from CRW entries to image metadata and vice versa */ class CrwMap { //! @name Not implemented //@{ //! Default constructor CrwMap(); //@} public: /*! @brief Decode image metadata from a CRW entry, convert and add it to the image metadata. This function converts only one CRW component. @param ciffComponent Source CIFF entry @param image Destination image for the metadata @param byteOrder Byte order in which the data of the entry is encoded */ static void decode(const CiffComponent& ciffComponent, Image& image, ByteOrder byteOrder); /*! @brief Encode image metadata from \em image into the CRW parse tree. This function converts all Exif metadata that %Exiv2 can convert to CRW format, in a loop through the entries of the mapping table. @param pHead Destination parse tree. @param image Source image containing the metadata. */ static void encode(CiffHeader* pHead, const Image& image); /*! @brief Load the stack: loop through the CRW subdirs hierarchy and push all directories on the path from \em crwDir to root onto the stack \em crwDirs. Requires the subdirs array to be arranged in bottom-up order to be able to finish in only one pass. */ static void loadStack(CrwDirs& crwDirs, uint16_t crwDir); private: //! Return conversion information for one \em crwDir and \em crwTagId static const CrwMapping* crwMapping(uint16_t crwDir, uint16_t crwTagId); /*! @brief Standard decode function to convert CRW entries to Exif metadata. Uses the mapping defined in the conversion structure \em pCrwMapping to convert the data. If the \em size field in the conversion structure is not 0, then it is used instead of the \em size provided by the entry itself. */ static void decodeBasic(const CiffComponent& ciffComponent, const CrwMapping* pCrwMapping, Image& image, ByteOrder byteOrder); //! Decode the user comment static void decode0x0805(const CiffComponent& ciffComponent, const CrwMapping* pCrwMapping, Image& image, ByteOrder byteOrder); //! Decode camera Make and Model information static void decode0x080a(const CiffComponent& ciffComponent, const CrwMapping* pCrwMapping, Image& image, ByteOrder byteOrder); //! Decode Canon Camera Settings 1, 2 and Custom Function arrays static void decodeArray(const CiffComponent& ciffComponent, const CrwMapping* pCrwMapping, Image& image, ByteOrder byteOrder); //! Decode the date when the picture was taken static void decode0x180e(const CiffComponent& ciffComponent, const CrwMapping* pCrwMapping, Image& image, ByteOrder byteOrder); //! Decode image width and height static void decode0x1810(const CiffComponent& ciffComponent, const CrwMapping* pCrwMapping, Image& image, ByteOrder byteOrder); //! Decode the thumbnail image static void decode0x2008(const CiffComponent& ciffComponent, const CrwMapping* pCrwMapping, Image& image, ByteOrder byteOrder); /*! @brief Standard encode function to convert Exif metadata to Crw entries. This is the basic encode function taking one Exif key and converting it to one Ciff entry. Both are available in the \em pCrwMapping passed in. @param image Image with the metadata to encode @param pCrwMapping Pointer to an entry into the \em crwMapping_ table with information on the source and target metadata entries. @param pHead Pointer to the head of the CIFF parse tree into which the metadata from \em image is encoded. */ static void encodeBasic(const Image& image, const CrwMapping* pCrwMapping, CiffHeader* pHead); //! Encode the user comment static void encode0x0805(const Image& image, const CrwMapping* pCrwMapping, CiffHeader* pHead); //! Encode camera Make and Model information static void encode0x080a(const Image& image, const CrwMapping* pCrwMapping, CiffHeader* pHead); //! Encode Canon Camera Settings 1, 2 and Custom Function arrays static void encodeArray(const Image& image, const CrwMapping* pCrwMapping, CiffHeader* pHead); //! Encode the date when the picture was taken static void encode0x180e(const Image& image, const CrwMapping* pCrwMapping, CiffHeader* pHead); //! Encode image width and height static void encode0x1810(const Image& image, const CrwMapping* pCrwMapping, CiffHeader* pHead); //! Encode the thumbnail image static void encode0x2008(const Image& image, const CrwMapping* pCrwMapping, CiffHeader* pHead); private: // DATA static const CrwMapping crwMapping_[]; //!< Metadata conversion table static const CrwSubDir crwSubDir_[]; //!< Ciff directory hierarchy }; // class CrwMap // ***************************************************************************** // template, inline and free functions /*! @brief Pack the tag values of all \em ifdId tags in \em exifData into a data buffer. This function is used to pack Canon Camera Settings1,2 and Custom Function tags. */ DataBuf packIfdId(const ExifData& exifData, IfdId ifdId, ByteOrder byteOrder); }} // namespace Internal, Exiv2 #endif // #ifndef CRWIMAGE_INT_HPP_ exiv2-0.25/src/getopt_win32.c0000664000175000017500000003172110405550022015567 0ustar andreasandreas/* $NetBSD: getopt_long.c,v 1.15 2002/01/31 22:43:40 tv Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation * by Dieter Baron and Thomas Klausner. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the NetBSD * Foundation, Inc. and its contributors. * 4. Neither the name of The NetBSD Foundation nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #if _MSC_VER >= 1400 # pragma warning(disable : 4996) #endif // included header files #include #include #include #include #include "getopt_win32.h" #include #include #define REPLACE_GETOPT #define _DIAGASSERT(x) do {} while (0) #ifdef REPLACE_GETOPT #ifdef __weak_alias __weak_alias(getopt,_getopt) #endif int opterr = 1; /* if error message should be printed */ int optind = 1; /* index into parent argv vector */ int optopt = '?'; /* character checked for validity */ int optreset; /* reset getopt */ char *optarg; /* argument associated with option */ #endif #ifdef __weak_alias __weak_alias(getopt_long,_getopt_long) #endif #ifndef __CYGWIN__ #define __progname __argv[0] #else extern char __declspec(dllimport) *__progname; #endif #define IGNORE_FIRST (*options == '-' || *options == '+') #define PRINT_ERROR ((opterr) && ((*options != ':') \ || (IGNORE_FIRST && options[1] != ':'))) /* This differs from the cygwin implementation, which effectively defaults to PC, but is consistent with the NetBSD implementation and doc's. */ #ifndef IS_POSIXLY_CORRECT #define IS_POSIXLY_CORRECT (getenv("POSIXLY_CORRECT") != NULL) #endif #define PERMUTE (!IS_POSIXLY_CORRECT && !IGNORE_FIRST) /* XXX: GNU ignores PC if *options == '-' */ #define IN_ORDER (!IS_POSIXLY_CORRECT && *options == '-') /* return values */ #define BADCH (int)'?' #define BADARG ((IGNORE_FIRST && options[1] == ':') \ || (*options == ':') ? (int)':' : (int)'?') #define INORDER (int)1 static char EMSG[1]; static int getopt_internal (int, char * const *, const char *); static int gcd (int, int); static void permute_args (int, int, int, char * const *); static char *place = EMSG; /* option letter processing */ /* XXX: set optreset to 1 rather than these two */ static int nonopt_start = -1; /* first non option argument (for permute) */ static int nonopt_end = -1; /* first option after non options (for permute) */ /* Error messages */ static const char recargchar[] = "option requires an argument -- %c"; static const char recargstring[] = "option requires an argument -- %s"; static const char ambig[] = "ambiguous option -- %.*s"; static const char noarg[] = "option doesn't take an argument -- %.*s"; static const char illoptchar[] = "unknown option -- %c"; static const char illoptstring[] = "unknown option -- %s"; static void _vwarnx(const char *fmt, va_list ap) { (void)fprintf(stderr, "%s: ", __progname); if (fmt != NULL) (void)vfprintf(stderr, fmt, ap); (void)fprintf(stderr, "\n"); } static void warnx(const char *fmt, ...) { va_list ap; va_start(ap, fmt); _vwarnx(fmt, ap); va_end(ap); } /* * Compute the greatest common divisor of a and b. */ static int gcd(a, b) int a; int b; { int c; c = a % b; while (c != 0) { a = b; b = c; c = a % b; } return b; } /* * Exchange the block from nonopt_start to nonopt_end with the block * from nonopt_end to opt_end (keeping the same order of arguments * in each block). */ static void permute_args(panonopt_start, panonopt_end, opt_end, nargv) int panonopt_start; int panonopt_end; int opt_end; char * const *nargv; { int cstart, cyclelen, i, j, ncycle, nnonopts, nopts, pos; char *swap; _DIAGASSERT(nargv != NULL); /* * compute lengths of blocks and number and size of cycles */ nnonopts = panonopt_end - panonopt_start; nopts = opt_end - panonopt_end; ncycle = gcd(nnonopts, nopts); cyclelen = (opt_end - panonopt_start) / ncycle; for (i = 0; i < ncycle; i++) { cstart = panonopt_end+i; pos = cstart; for (j = 0; j < cyclelen; j++) { if (pos >= panonopt_end) pos -= nnonopts; else pos += nopts; swap = nargv[pos]; /* LINTED const cast */ ((char **) nargv)[pos] = nargv[cstart]; /* LINTED const cast */ ((char **)nargv)[cstart] = swap; } } } /* * getopt_internal -- * Parse argc/argv argument vector. Called by user level routines. * Returns -2 if -- is found (can be long option or end of options marker). */ static int getopt_internal(nargc, nargv, options) int nargc; char * const *nargv; const char *options; { char *oli; /* option letter list index */ int optchar; _DIAGASSERT(nargv != NULL); _DIAGASSERT(options != NULL); optarg = NULL; /* * XXX Some programs (like rsyncd) expect to be able to * XXX re-initialize optind to 0 and have getopt_long(3) * XXX properly function again. Work around this braindamage. */ if (optind == 0) optind = 1; if (optreset) nonopt_start = nonopt_end = -1; start: if (optreset || !*place) { /* update scanning pointer */ optreset = 0; if (optind >= nargc) { /* end of argument vector */ place = EMSG; if (nonopt_end != -1) { /* do permutation, if we have to */ permute_args(nonopt_start, nonopt_end, optind, nargv); optind -= nonopt_end - nonopt_start; } else if (nonopt_start != -1) { /* * If we skipped non-options, set optind * to the first of them. */ optind = nonopt_start; } nonopt_start = nonopt_end = -1; return -1; } if ((*(place = nargv[optind]) != '-') || (place[1] == '\0')) { /* found non-option */ place = EMSG; if (IN_ORDER) { /* * GNU extension: * return non-option as argument to option 1 */ optarg = nargv[optind++]; return INORDER; } if (!PERMUTE) { /* * if no permutation wanted, stop parsing * at first non-option */ return -1; } /* do permutation */ if (nonopt_start == -1) nonopt_start = optind; else if (nonopt_end != -1) { permute_args(nonopt_start, nonopt_end, optind, nargv); nonopt_start = optind - (nonopt_end - nonopt_start); nonopt_end = -1; } optind++; /* process next argument */ goto start; } if (nonopt_start != -1 && nonopt_end == -1) nonopt_end = optind; if (place[1] && *++place == '-') { /* found "--" */ place++; return -2; } } if ((optchar = (int)*place++) == (int)':' || (oli = strchr(options + (IGNORE_FIRST ? 1 : 0), optchar)) == NULL) { /* option letter unknown or ':' */ if (!*place) ++optind; if (PRINT_ERROR) warnx(illoptchar, optchar); optopt = optchar; return BADCH; } if (optchar == 'W' && oli[1] == ';') { /* -W long-option */ /* XXX: what if no long options provided (called by getopt)? */ if (*place) return -2; if (++optind >= nargc) { /* no arg */ place = EMSG; if (PRINT_ERROR) warnx(recargchar, optchar); optopt = optchar; return BADARG; } else /* white space */ place = nargv[optind]; /* * Handle -W arg the same as --arg (which causes getopt to * stop parsing). */ return -2; } if (*++oli != ':') { /* doesn't take argument */ if (!*place) ++optind; } else { /* takes (optional) argument */ optarg = NULL; if (*place) /* no white space */ optarg = place; /* XXX: disable test for :: if PC? (GNU doesn't) */ else if (oli[1] != ':') { /* arg not optional */ if (++optind >= nargc) { /* no arg */ place = EMSG; if (PRINT_ERROR) warnx(recargchar, optchar); optopt = optchar; return BADARG; } else optarg = nargv[optind]; } place = EMSG; ++optind; } /* dump back option letter */ return optchar; } #ifdef REPLACE_GETOPT /* * getopt -- * Parse argc/argv argument vector. * * [eventually this will replace the real getopt] */ int getopt(nargc, nargv, options) int nargc; char * const *nargv; const char *options; { int retval; _DIAGASSERT(nargv != NULL); _DIAGASSERT(options != NULL); if ((retval = getopt_internal(nargc, nargv, options)) == -2) { ++optind; /* * We found an option (--), so if we skipped non-options, * we have to permute. */ if (nonopt_end != -1) { permute_args(nonopt_start, nonopt_end, optind, nargv); optind -= nonopt_end - nonopt_start; } nonopt_start = nonopt_end = -1; retval = -1; } return retval; } #endif /* * getopt_long -- * Parse argc/argv argument vector. */ int getopt_long(nargc, nargv, options, long_options, idx) int nargc; char * const *nargv; const char *options; const struct option *long_options; int *idx; { int retval; _DIAGASSERT(nargv != NULL); _DIAGASSERT(options != NULL); _DIAGASSERT(long_options != NULL); /* idx may be NULL */ if ((retval = getopt_internal(nargc, nargv, options)) == -2) { char *current_argv, *has_equal; size_t current_argv_len; int i, match; current_argv = place; match = -1; optind++; place = EMSG; if (*current_argv == '\0') { /* found "--" */ /* * We found an option (--), so if we skipped * non-options, we have to permute. */ if (nonopt_end != -1) { permute_args(nonopt_start, nonopt_end, optind, nargv); optind -= nonopt_end - nonopt_start; } nonopt_start = nonopt_end = -1; return -1; } if ((has_equal = strchr(current_argv, '=')) != NULL) { /* argument found (--option=arg) */ current_argv_len = has_equal - current_argv; has_equal++; } else current_argv_len = strlen(current_argv); for (i = 0; long_options[i].name; i++) { /* find matching long option */ if (strncmp(current_argv, long_options[i].name, current_argv_len)) continue; if (strlen(long_options[i].name) == (unsigned)current_argv_len) { /* exact match */ match = i; break; } if (match == -1) /* partial match */ match = i; else { /* ambiguous abbreviation */ if (PRINT_ERROR) warnx(ambig, (int)current_argv_len, current_argv); optopt = 0; return BADCH; } } if (match != -1) { /* option found */ if (long_options[match].has_arg == no_argument && has_equal) { if (PRINT_ERROR) warnx(noarg, (int)current_argv_len, current_argv); /* * XXX: GNU sets optopt to val regardless of * flag */ if (long_options[match].flag == NULL) optopt = long_options[match].val; else optopt = 0; return BADARG; } if (long_options[match].has_arg == required_argument || long_options[match].has_arg == optional_argument) { if (has_equal) optarg = has_equal; else if (long_options[match].has_arg == required_argument) { /* * optional argument doesn't use * next nargv */ optarg = nargv[optind++]; } } if ((long_options[match].has_arg == required_argument) && (optarg == NULL)) { /* * Missing argument; leading ':' * indicates no error should be generated */ if (PRINT_ERROR) warnx(recargstring, current_argv); /* * XXX: GNU sets optopt to val regardless * of flag */ if (long_options[match].flag == NULL) optopt = long_options[match].val; else optopt = 0; --optind; return BADARG; } } else { /* unknown option */ if (PRINT_ERROR) warnx(illoptstring, current_argv); optopt = 0; return BADCH; } if (long_options[match].flag) { *long_options[match].flag = long_options[match].val; retval = 0; } else retval = long_options[match].val; if (idx) *idx = match; } return retval; } exiv2-0.25/src/makernote.cpp0000664000175000017500000012416412521135474015607 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: makernote.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 11-Apr-06, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: makernote.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "makernote_int.hpp" #include "tiffcomposite_int.hpp" #include "tiffvisitor_int.hpp" #include "tiffimage.hpp" #include "tiffimage_int.hpp" // + standard includes #include #include // ***************************************************************************** namespace { // Todo: Can be generalized further - get any tag as a string/long/... //! Get the model name from tag Exif.Image.Model std::string getExifModel(Exiv2::Internal::TiffComponent* const pRoot); //! Nikon en/decryption function void ncrypt(Exiv2::byte* pData, uint32_t size, uint32_t count, uint32_t serial); } // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { const TiffMnRegistry TiffMnCreator::registry_[] = { { "Canon", canonId, newIfdMn, newIfdMn2 }, { "FOVEON", sigmaId, newSigmaMn, newSigmaMn2 }, { "FUJI", fujiId, newFujiMn, newFujiMn2 }, { "KONICA MINOLTA", minoltaId, newIfdMn, newIfdMn2 }, { "Minolta", minoltaId, newIfdMn, newIfdMn2 }, { "NIKON", ifdIdNotSet, newNikonMn, 0 }, // mnGroup_ is not used { "OLYMPUS", ifdIdNotSet, newOlympusMn, 0 }, // mnGroup_ is not used { "Panasonic", panasonicId, newPanasonicMn, newPanasonicMn2 }, { "PENTAX", ifdIdNotSet, newPentaxMn, 0 }, // mnGroup_ is not used { "RICOH", ifdIdNotSet, newPentaxMn, 0 }, // mnGroup_ is not used { "SAMSUNG", samsung2Id, newSamsungMn, newSamsungMn2 }, { "SIGMA", sigmaId, newSigmaMn, newSigmaMn2 }, { "SONY", ifdIdNotSet, newSonyMn, 0 }, // mnGroup_ is not used { "CASIO", ifdIdNotSet, newCasioMn, 0 }, // mnGroup_ is not used // Entries below are only used for lookup by group { "-", nikon1Id, 0, newIfdMn2 }, { "-", nikon2Id, 0, newNikon2Mn2 }, { "-", nikon3Id, 0, newNikon3Mn2 }, { "-", sony1Id, 0, newSony1Mn2 }, { "-", sony2Id, 0, newSony2Mn2 }, { "-", olympusId, 0, newOlympusMn2 }, { "-", olympus2Id, 0, newOlympus2Mn2 }, { "-", pentaxId, 0, newPentaxMn2 }, { "-", pentaxDngId, 0, newPentaxDngMn2 } }; bool TiffMnRegistry::operator==(const std::string& key) const { std::string make(make_); if (key.size() > 0 && key[0] == '-') return false; return make == key.substr(0, make.length()); } bool TiffMnRegistry::operator==(IfdId key) const { return mnGroup_ == key; } TiffComponent* TiffMnCreator::create(uint16_t tag, IfdId group, const std::string& make, const byte* pData, uint32_t size, ByteOrder byteOrder) { TiffComponent* tc = 0; const TiffMnRegistry* tmr = find(registry_, make); if (tmr) { assert(tmr->newMnFct_); tc = tmr->newMnFct_(tag, group, tmr->mnGroup_, pData, size, byteOrder); } return tc; } // TiffMnCreator::create TiffComponent* TiffMnCreator::create(uint16_t tag, IfdId group, IfdId mnGroup) { TiffComponent* tc = 0; const TiffMnRegistry* tmr = find(registry_, mnGroup); if (tmr) { if (tmr->newMnFct2_ == 0) { std::cout << "mnGroup = " << mnGroup << "\n"; } assert(tmr->newMnFct2_); tc = tmr->newMnFct2_(tag, group, mnGroup); } return tc; } // TiffMnCreator::create MnHeader::~MnHeader() { } void MnHeader::setByteOrder(ByteOrder /*byteOrder*/) { } uint32_t MnHeader::ifdOffset() const { return 0; } ByteOrder MnHeader::byteOrder() const { return invalidByteOrder; } uint32_t MnHeader::baseOffset(uint32_t /*mnOffset*/) const { return 0; } const byte OlympusMnHeader::signature_[] = { 'O', 'L', 'Y', 'M', 'P', 0x00, 0x01, 0x00 }; uint32_t OlympusMnHeader::sizeOfSignature() { return sizeof(signature_); } OlympusMnHeader::OlympusMnHeader() { read(signature_, sizeOfSignature(), invalidByteOrder); } OlympusMnHeader::~OlympusMnHeader() { } uint32_t OlympusMnHeader::size() const { return header_.size_; } uint32_t OlympusMnHeader::ifdOffset() const { return sizeOfSignature(); } bool OlympusMnHeader::read(const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { if (!pData || size < sizeOfSignature()) return false; header_.alloc(sizeOfSignature()); std::memcpy(header_.pData_, pData, header_.size_); if ( static_cast(header_.size_) < sizeOfSignature() || 0 != memcmp(header_.pData_, signature_, 6)) { return false; } return true; } // OlympusMnHeader::read uint32_t OlympusMnHeader::write(IoWrapper& ioWrapper, ByteOrder /*byteOrder*/) const { ioWrapper.write(signature_, sizeOfSignature()); return sizeOfSignature(); } // OlympusMnHeader::write const byte Olympus2MnHeader::signature_[] = { 'O', 'L', 'Y', 'M', 'P', 'U', 'S', 0x00, 'I', 'I', 0x03, 0x00 }; uint32_t Olympus2MnHeader::sizeOfSignature() { return sizeof(signature_); } Olympus2MnHeader::Olympus2MnHeader() { read(signature_, sizeOfSignature(), invalidByteOrder); } Olympus2MnHeader::~Olympus2MnHeader() { } uint32_t Olympus2MnHeader::size() const { return header_.size_; } uint32_t Olympus2MnHeader::ifdOffset() const { return sizeOfSignature(); } uint32_t Olympus2MnHeader::baseOffset(uint32_t mnOffset) const { return mnOffset; } bool Olympus2MnHeader::read(const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { if (!pData || size < sizeOfSignature()) return false; header_.alloc(sizeOfSignature()); std::memcpy(header_.pData_, pData, header_.size_); if ( static_cast(header_.size_) < sizeOfSignature() || 0 != memcmp(header_.pData_, signature_, 10)) { return false; } return true; } // Olympus2MnHeader::read uint32_t Olympus2MnHeader::write(IoWrapper& ioWrapper, ByteOrder /*byteOrder*/) const { ioWrapper.write(signature_, sizeOfSignature()); return sizeOfSignature(); } // Olympus2MnHeader::write const byte FujiMnHeader::signature_[] = { 'F', 'U', 'J', 'I', 'F', 'I', 'L', 'M', 0x0c, 0x00, 0x00, 0x00 }; const ByteOrder FujiMnHeader::byteOrder_ = littleEndian; uint32_t FujiMnHeader::sizeOfSignature() { return sizeof(signature_); } FujiMnHeader::FujiMnHeader() { read(signature_, sizeOfSignature(), byteOrder_); } FujiMnHeader::~FujiMnHeader() { } uint32_t FujiMnHeader::size() const { return header_.size_; } uint32_t FujiMnHeader::ifdOffset() const { return start_; } ByteOrder FujiMnHeader::byteOrder() const { return byteOrder_; } uint32_t FujiMnHeader::baseOffset(uint32_t mnOffset) const { return mnOffset; } bool FujiMnHeader::read(const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { if (!pData || size < sizeOfSignature()) return false; header_.alloc(sizeOfSignature()); std::memcpy(header_.pData_, pData, header_.size_); // Read offset to the IFD relative to the start of the makernote // from the header. Note that we ignore the byteOrder argument start_ = getULong(header_.pData_ + 8, byteOrder_); if ( static_cast(header_.size_) < sizeOfSignature() || 0 != memcmp(header_.pData_, signature_, 8)) { return false; } return true; } // FujiMnHeader::read uint32_t FujiMnHeader::write(IoWrapper& ioWrapper, ByteOrder /*byteOrder*/) const { ioWrapper.write(signature_, sizeOfSignature()); return sizeOfSignature(); } // FujiMnHeader::write const byte Nikon2MnHeader::signature_[] = { 'N', 'i', 'k', 'o', 'n', '\0', 0x01, 0x00 }; uint32_t Nikon2MnHeader::sizeOfSignature() { return sizeof(signature_); } Nikon2MnHeader::Nikon2MnHeader() { read(signature_, sizeOfSignature(), invalidByteOrder); } Nikon2MnHeader::~Nikon2MnHeader() { } uint32_t Nikon2MnHeader::size() const { return sizeOfSignature(); } uint32_t Nikon2MnHeader::ifdOffset() const { return start_; } bool Nikon2MnHeader::read(const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { if (!pData || size < sizeOfSignature()) return false; if (0 != memcmp(pData, signature_, 6)) return false; buf_.alloc(sizeOfSignature()); std::memcpy(buf_.pData_, pData, buf_.size_); start_ = sizeOfSignature(); return true; } // Nikon2MnHeader::read uint32_t Nikon2MnHeader::write(IoWrapper& ioWrapper, ByteOrder /*byteOrder*/) const { ioWrapper.write(signature_, sizeOfSignature()); return sizeOfSignature(); } // Nikon2MnHeader::write const byte Nikon3MnHeader::signature_[] = { 'N', 'i', 'k', 'o', 'n', '\0', 0x02, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; uint32_t Nikon3MnHeader::sizeOfSignature() { return sizeof(signature_); } Nikon3MnHeader::Nikon3MnHeader() { buf_.alloc(sizeOfSignature()); std::memcpy(buf_.pData_, signature_, buf_.size_); byteOrder_ = invalidByteOrder; start_ = sizeOfSignature(); } Nikon3MnHeader::~Nikon3MnHeader() { } uint32_t Nikon3MnHeader::size() const { return sizeOfSignature(); } uint32_t Nikon3MnHeader::ifdOffset() const { return start_; } ByteOrder Nikon3MnHeader::byteOrder() const { return byteOrder_; } uint32_t Nikon3MnHeader::baseOffset(uint32_t mnOffset) const { return mnOffset + 10; } bool Nikon3MnHeader::read(const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { if (!pData || size < sizeOfSignature()) return false; if (0 != memcmp(pData, signature_, 6)) return false; buf_.alloc(sizeOfSignature()); std::memcpy(buf_.pData_, pData, buf_.size_); TiffHeader th; if (!th.read(buf_.pData_ + 10, 8)) return false; byteOrder_ = th.byteOrder(); start_ = 10 + th.offset(); return true; } // Nikon3MnHeader::read uint32_t Nikon3MnHeader::write(IoWrapper& ioWrapper, ByteOrder byteOrder) const { assert(buf_.size_ >= 10); ioWrapper.write(buf_.pData_, 10); // Todo: This removes any gap between the header and // makernote IFD. The gap should be copied too. TiffHeader th(byteOrder); DataBuf buf = th.write(); ioWrapper.write(buf.pData_, buf.size_); return 10 + buf.size_; } // Nikon3MnHeader::write void Nikon3MnHeader::setByteOrder(ByteOrder byteOrder) { byteOrder_ = byteOrder; } const byte PanasonicMnHeader::signature_[] = { 'P', 'a', 'n', 'a', 's', 'o', 'n', 'i', 'c', 0x00, 0x00, 0x00 }; uint32_t PanasonicMnHeader::sizeOfSignature() { return sizeof(signature_); } PanasonicMnHeader::PanasonicMnHeader() { read(signature_, sizeOfSignature(), invalidByteOrder); } PanasonicMnHeader::~PanasonicMnHeader() { } uint32_t PanasonicMnHeader::size() const { return sizeOfSignature(); } uint32_t PanasonicMnHeader::ifdOffset() const { return start_; } bool PanasonicMnHeader::read(const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { if (!pData || size < sizeOfSignature()) return false; if (0 != memcmp(pData, signature_, 9)) return false; buf_.alloc(sizeOfSignature()); std::memcpy(buf_.pData_, pData, buf_.size_); start_ = sizeOfSignature(); return true; } // PanasonicMnHeader::read uint32_t PanasonicMnHeader::write(IoWrapper& ioWrapper, ByteOrder /*byteOrder*/) const { ioWrapper.write(signature_, sizeOfSignature()); return sizeOfSignature(); } // PanasonicMnHeader::write const byte PentaxDngMnHeader::signature_[] = { 'P', 'E', 'N', 'T', 'A', 'X', ' ', 0x00, 'M', 'M' }; uint32_t PentaxDngMnHeader::sizeOfSignature() { return sizeof(signature_); } PentaxDngMnHeader::PentaxDngMnHeader() { read(signature_, sizeOfSignature(), invalidByteOrder); } PentaxDngMnHeader::~PentaxDngMnHeader() { } uint32_t PentaxDngMnHeader::size() const { return header_.size_; } uint32_t PentaxDngMnHeader::baseOffset(uint32_t mnOffset) const { return mnOffset; } uint32_t PentaxDngMnHeader::ifdOffset() const { return sizeOfSignature(); } bool PentaxDngMnHeader::read(const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { if (!pData || size < sizeOfSignature()) return false; header_.alloc(sizeOfSignature()); std::memcpy(header_.pData_, pData, header_.size_); if ( static_cast(header_.size_) < sizeOfSignature() || 0 != memcmp(header_.pData_, signature_, 7)) { return false; } return true; } // PentaxDngMnHeader::read uint32_t PentaxDngMnHeader::write(IoWrapper& ioWrapper, ByteOrder /*byteOrder*/) const { ioWrapper.write(signature_, sizeOfSignature()); return sizeOfSignature(); } // PentaxDngMnHeader::write const byte PentaxMnHeader::signature_[] = { 'A', 'O', 'C', 0x00, 'M', 'M' }; uint32_t PentaxMnHeader::sizeOfSignature() { return sizeof(signature_); } PentaxMnHeader::PentaxMnHeader() { read(signature_, sizeOfSignature(), invalidByteOrder); } PentaxMnHeader::~PentaxMnHeader() { } uint32_t PentaxMnHeader::size() const { return header_.size_; } uint32_t PentaxMnHeader::ifdOffset() const { return sizeOfSignature(); } bool PentaxMnHeader::read(const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { if (!pData || size < sizeOfSignature()) return false; header_.alloc(sizeOfSignature()); std::memcpy(header_.pData_, pData, header_.size_); if ( static_cast(header_.size_) < sizeOfSignature() || 0 != memcmp(header_.pData_, signature_, 3)) { return false; } return true; } // PentaxMnHeader::read uint32_t PentaxMnHeader::write(IoWrapper& ioWrapper, ByteOrder /*byteOrder*/) const { ioWrapper.write(signature_, sizeOfSignature()); return sizeOfSignature(); } // PentaxMnHeader::write SamsungMnHeader::SamsungMnHeader() { read(0, 0, invalidByteOrder); } uint32_t SamsungMnHeader::size() const { return 0; } uint32_t SamsungMnHeader::baseOffset(uint32_t mnOffset) const { return mnOffset; } bool SamsungMnHeader::read(const byte* /*pData*/, uint32_t /*size*/, ByteOrder /*byteOrder*/) { return true; } // SamsungMnHeader::read uint32_t SamsungMnHeader::write(IoWrapper& /*ioWrapper*/, ByteOrder /*byteOrder*/) const { return 0; } // SamsungMnHeader::write const byte SigmaMnHeader::signature1_[] = { 'S', 'I', 'G', 'M', 'A', '\0', '\0', '\0', 0x01, 0x00 }; const byte SigmaMnHeader::signature2_[] = { 'F', 'O', 'V', 'E', 'O', 'N', '\0', '\0', 0x01, 0x00 }; uint32_t SigmaMnHeader::sizeOfSignature() { assert(sizeof(signature1_) == sizeof(signature2_)); return sizeof(signature1_); } SigmaMnHeader::SigmaMnHeader() { read(signature1_, sizeOfSignature(), invalidByteOrder); } SigmaMnHeader::~SigmaMnHeader() { } uint32_t SigmaMnHeader::size() const { return sizeOfSignature(); } uint32_t SigmaMnHeader::ifdOffset() const { return start_; } bool SigmaMnHeader::read(const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { if (!pData || size < sizeOfSignature()) return false; if ( 0 != memcmp(pData, signature1_, 8) && 0 != memcmp(pData, signature2_, 8)) return false; buf_.alloc(sizeOfSignature()); std::memcpy(buf_.pData_, pData, buf_.size_); start_ = sizeOfSignature(); return true; } // SigmaMnHeader::read uint32_t SigmaMnHeader::write(IoWrapper& ioWrapper, ByteOrder /*byteOrder*/) const { ioWrapper.write(signature1_, sizeOfSignature()); return sizeOfSignature(); } // SigmaMnHeader::write const byte SonyMnHeader::signature_[] = { 'S', 'O', 'N', 'Y', ' ', 'D', 'S', 'C', ' ', '\0', '\0', '\0' }; uint32_t SonyMnHeader::sizeOfSignature() { return sizeof(signature_); } SonyMnHeader::SonyMnHeader() { read(signature_, sizeOfSignature(), invalidByteOrder); } SonyMnHeader::~SonyMnHeader() { } uint32_t SonyMnHeader::size() const { return sizeOfSignature(); } uint32_t SonyMnHeader::ifdOffset() const { return start_; } bool SonyMnHeader::read(const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { if (!pData || size < sizeOfSignature()) return false; if (0 != memcmp(pData, signature_, sizeOfSignature())) return false; buf_.alloc(sizeOfSignature()); std::memcpy(buf_.pData_, pData, buf_.size_); start_ = sizeOfSignature(); return true; } // SonyMnHeader::read uint32_t SonyMnHeader::write(IoWrapper& ioWrapper, ByteOrder /*byteOrder*/) const { ioWrapper.write(signature_, sizeOfSignature()); return sizeOfSignature(); } // SonyMnHeader::write const byte Casio2MnHeader::signature_[] = { 'Q', 'V', 'C', '\0', '\0', '\0' }; const ByteOrder Casio2MnHeader::byteOrder_ = bigEndian; uint32_t Casio2MnHeader::sizeOfSignature() { return sizeof(signature_); } Casio2MnHeader::Casio2MnHeader() { read(signature_, sizeOfSignature(), invalidByteOrder ); } Casio2MnHeader::~Casio2MnHeader() { } uint32_t Casio2MnHeader::size() const { return sizeOfSignature(); } uint32_t Casio2MnHeader::ifdOffset() const { return start_; } ByteOrder Casio2MnHeader::byteOrder() const { return byteOrder_; } bool Casio2MnHeader::read(const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { if (!pData || size < sizeOfSignature()) return false; if (0 != memcmp(pData, signature_, sizeOfSignature())) return false; buf_.alloc(sizeOfSignature()); std::memcpy(buf_.pData_, pData, buf_.size_); start_ = sizeOfSignature(); return true; } // Casio2MnHeader::read uint32_t Casio2MnHeader::write(IoWrapper& ioWrapper, ByteOrder /*byteOrder*/) const { ioWrapper.write(signature_, sizeOfSignature()); return sizeOfSignature(); } // Casio2MnHeader::write // ************************************************************************* // free functions TiffComponent* newIfdMn(uint16_t tag, IfdId group, IfdId mnGroup, const byte* /*pData*/, uint32_t size, ByteOrder /*byteOrder*/) { // Require at least an IFD with 1 entry, but not necessarily a next pointer if (size < 14) return 0; return newIfdMn2(tag, group, mnGroup); } TiffComponent* newIfdMn2(uint16_t tag, IfdId group, IfdId mnGroup) { return new TiffIfdMakernote(tag, group, mnGroup, 0); } TiffComponent* newOlympusMn(uint16_t tag, IfdId group, IfdId /*mnGroup*/, const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { if (size < 10 || std::string(reinterpret_cast(pData), 10) != std::string("OLYMPUS\0II", 10)) { // Require at least the header and an IFD with 1 entry if (size < OlympusMnHeader::sizeOfSignature() + 18) return 0; return newOlympusMn2(tag, group, olympusId); } // Require at least the header and an IFD with 1 entry if (size < Olympus2MnHeader::sizeOfSignature() + 18) return 0; return newOlympus2Mn2(tag, group, olympus2Id); } TiffComponent* newOlympusMn2(uint16_t tag, IfdId group, IfdId mnGroup) { return new TiffIfdMakernote(tag, group, mnGroup, new OlympusMnHeader); } TiffComponent* newOlympus2Mn2(uint16_t tag, IfdId group, IfdId mnGroup) { return new TiffIfdMakernote(tag, group, mnGroup, new Olympus2MnHeader); } TiffComponent* newFujiMn(uint16_t tag, IfdId group, IfdId mnGroup, const byte* /*pData*/, uint32_t size, ByteOrder /*byteOrder*/) { // Require at least the header and an IFD with 1 entry if (size < FujiMnHeader::sizeOfSignature() + 18) return 0; return newFujiMn2(tag, group, mnGroup); } TiffComponent* newFujiMn2(uint16_t tag, IfdId group, IfdId mnGroup) { return new TiffIfdMakernote(tag, group, mnGroup, new FujiMnHeader); } TiffComponent* newNikonMn(uint16_t tag, IfdId group, IfdId /*mnGroup*/, const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { // If there is no "Nikon" string it must be Nikon1 format if (size < 6 || std::string(reinterpret_cast(pData), 6) != std::string("Nikon\0", 6)) { // Require at least an IFD with 1 entry if (size < 18) return 0; return newIfdMn2(tag, group, nikon1Id); } // If the "Nikon" string is not followed by a TIFF header, we assume // Nikon2 format TiffHeader tiffHeader; if ( size < 18 || !tiffHeader.read(pData + 10, size - 10) || tiffHeader.tag() != 0x002a) { // Require at least the header and an IFD with 1 entry if (size < Nikon2MnHeader::sizeOfSignature() + 18) return 0; return newNikon2Mn2(tag, group, nikon2Id); } // Else we have a Nikon3 makernote // Require at least the header and an IFD with 1 entry if (size < Nikon3MnHeader::sizeOfSignature() + 18) return 0; return newNikon3Mn2(tag, group, nikon3Id); } TiffComponent* newNikon2Mn2(uint16_t tag, IfdId group, IfdId mnGroup) { return new TiffIfdMakernote(tag, group, mnGroup, new Nikon2MnHeader); } TiffComponent* newNikon3Mn2(uint16_t tag, IfdId group, IfdId mnGroup) { return new TiffIfdMakernote(tag, group, mnGroup, new Nikon3MnHeader); } TiffComponent* newPanasonicMn(uint16_t tag, IfdId group, IfdId mnGroup, const byte* /*pData*/, uint32_t size, ByteOrder /*byteOrder*/) { // Require at least the header and an IFD with 1 entry, but without a next pointer if (size < PanasonicMnHeader::sizeOfSignature() + 14) return 0; return newPanasonicMn2(tag, group, mnGroup); } TiffComponent* newPanasonicMn2(uint16_t tag, IfdId group, IfdId mnGroup) { return new TiffIfdMakernote(tag, group, mnGroup, new PanasonicMnHeader, false); } TiffComponent* newPentaxMn(uint16_t tag, IfdId group, IfdId /*mnGroup*/, const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { if ( size > 8 && std::string(reinterpret_cast(pData), 8) == std::string("PENTAX \0", 8)) { // Require at least the header and an IFD with 1 entry if (size < PentaxDngMnHeader::sizeOfSignature() + 18) return 0; return newPentaxDngMn2(tag, group, pentaxDngId); } else if ( size > 4 && std::string(reinterpret_cast(pData), 4) == std::string("AOC\0", 4)) { // Require at least the header and an IFD with 1 entry if (size < PentaxMnHeader::sizeOfSignature() + 18) return 0; return newPentaxMn2(tag, group, pentaxId); } else return 0; } TiffComponent* newPentaxMn2(uint16_t tag, IfdId group, IfdId mnGroup) { return new TiffIfdMakernote(tag, group, mnGroup, new PentaxMnHeader); } TiffComponent* newPentaxDngMn2(uint16_t tag, IfdId group, IfdId mnGroup) { return new TiffIfdMakernote(tag, group, mnGroup, new PentaxDngMnHeader); } TiffComponent* newSamsungMn(uint16_t tag, IfdId group, IfdId mnGroup, const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { if ( size > 4 && std::string(reinterpret_cast(pData), 4) == std::string("AOC\0", 4)) { // Samsung branded Pentax camera: // Require at least the header and an IFD with 1 entry if (size < PentaxMnHeader::sizeOfSignature() + 18) return 0; return newPentaxMn2(tag, group, pentaxId); } else { // Genuine Samsung camera: // Require at least an IFD with 1 entry if (size < 18) return 0; return newSamsungMn2(tag, group, mnGroup); } } TiffComponent* newSamsungMn2(uint16_t tag, IfdId group, IfdId mnGroup) { return new TiffIfdMakernote(tag, group, mnGroup, new SamsungMnHeader); } TiffComponent* newSigmaMn(uint16_t tag, IfdId group, IfdId mnGroup, const byte* /*pData*/, uint32_t size, ByteOrder /*byteOrder*/) { // Require at least the header and an IFD with 1 entry if (size < SigmaMnHeader::sizeOfSignature() + 18) return 0; return newSigmaMn2(tag, group, mnGroup); } TiffComponent* newSigmaMn2(uint16_t tag, IfdId group, IfdId mnGroup) { return new TiffIfdMakernote(tag, group, mnGroup, new SigmaMnHeader); } TiffComponent* newSonyMn(uint16_t tag, IfdId group, IfdId /*mnGroup*/, const byte* pData, uint32_t size, ByteOrder /*byteOrder*/) { // If there is no "SONY DSC " string we assume it's a simple IFD Makernote if (size < 12 || std::string(reinterpret_cast(pData), 12) != std::string("SONY DSC \0\0\0", 12)) { // Require at least an IFD with 1 entry if (size < 18) return 0; return newSony2Mn2(tag, group, sony2Id); } // Require at least the header and an IFD with 1 entry, but without a next pointer if (size < SonyMnHeader::sizeOfSignature() + 14) return 0; return newSony1Mn2(tag, group, sony1Id); } TiffComponent* newSony1Mn2(uint16_t tag, IfdId group, IfdId mnGroup) { return new TiffIfdMakernote(tag, group, mnGroup, new SonyMnHeader, false); } TiffComponent* newSony2Mn2(uint16_t tag, IfdId group, IfdId mnGroup) { return new TiffIfdMakernote(tag, group, mnGroup, 0, true); } TiffComponent* newCasioMn(uint16_t tag, IfdId group, IfdId /* mnGroup*/, const byte* pData, uint32_t size, ByteOrder/* byteOrder */ ) { if (size > 6 && std::string(reinterpret_cast(pData), 6) == std::string("QVC\0\0\0", 6)) { return newCasio2Mn2(tag, group, casio2Id); }; // Require at least an IFD with 1 entry, but not necessarily a next pointer if (size < 14) return 0; return newIfdMn2(tag, group, casioId); } TiffComponent* newCasio2Mn2(uint16_t tag, IfdId group, IfdId mnGroup) { return new TiffIfdMakernote(tag, group, mnGroup, new Casio2MnHeader); } //! Structure for an index into the array set of complex binary arrays. struct NikonArrayIdx { //! Key for comparisons struct Key { //! Constructor Key(uint16_t tag, const char* ver, uint32_t size) : tag_(tag), ver_(ver), size_(size) {} uint16_t tag_; //!< Tag number const char* ver_; //!< Version string uint32_t size_; //!< Size of the data (not the version string) }; //! Comparison operator for a key bool operator==(const Key& key) const { return key.tag_ == tag_ && 0 == strncmp(key.ver_, ver_, strlen(ver_)) && (size_ == 0 || key.size_ == size_); } uint16_t tag_; //!< Tag number of the binary array const char* ver_; //!< Version string uint32_t size_; //!< Size of the data int idx_; //!< Index into the array set uint32_t start_; //!< Start of the encrypted data }; #define NA ((uint32_t)-1) //! Nikon binary array version lookup table extern const NikonArrayIdx nikonArrayIdx[] = { // NikonSi { 0x0091, "0208", 0, 0, 4 }, // D80 { 0x0091, "0209", 0, 1, 4 }, // D40 { 0x0091, "0210", 5291, 2, 4 }, // D300 { 0x0091, "0210", 5303, 3, 4 }, // D300, firmware version 1.10 { 0x0091, "02", 0, 4, 4 }, // Other v2.* (encrypted) { 0x0091, "01", 0, 5, NA }, // Other v1.* (not encrypted) // NikonCb { 0x0097, "0100", 0, 0, NA }, { 0x0097, "0102", 0, 1, NA }, { 0x0097, "0103", 0, 4, NA }, { 0x0097, "0204", 0, 3, 284 }, { 0x0097, "0205", 0, 2, 4 }, { 0x0097, "0206", 0, 3, 284 }, { 0x0097, "0207", 0, 3, 284 }, { 0x0097, "0208", 0, 3, 284 }, { 0x0097, "0209", 0, 5, 284 }, { 0x0097, "02", 0, 3, 284 }, // NikonLd { 0x0098, "0100", 0, 0, NA }, { 0x0098, "0101", 0, 1, NA }, { 0x0098, "0201", 0, 1, 4 }, { 0x0098, "0202", 0, 1, 4 }, { 0x0098, "0203", 0, 1, 4 }, { 0x0098, "0204", 0, 2, 4 }, // NikonFl { 0x00a8, "0100", 0, 0, NA }, { 0x00a8, "0101", 0, 0, NA }, { 0x00a8, "0102", 0, 1, NA }, { 0x00a8, "0103", 0, 2, NA }, }; int nikonSelector(uint16_t tag, const byte* pData, uint32_t size, TiffComponent* const /*pRoot*/) { if (size < 4) return -1; const NikonArrayIdx* aix = find(nikonArrayIdx, NikonArrayIdx::Key(tag, reinterpret_cast(pData), size)); return aix == 0 ? -1 : aix->idx_; } DataBuf nikonCrypt(uint16_t tag, const byte* pData, uint32_t size, TiffComponent* const pRoot) { DataBuf buf; if (size < 4) return buf; const NikonArrayIdx* nci = find(nikonArrayIdx, NikonArrayIdx::Key(tag, reinterpret_cast(pData), size)); if (nci == 0 || nci->start_ == NA || size <= nci->start_) return buf; // Find Exif.Nikon3.ShutterCount TiffFinder finder(0x00a7, nikon3Id); pRoot->accept(finder); TiffEntryBase* te = dynamic_cast(finder.result()); if (!te || !te->pValue() || te->pValue()->count() == 0) return buf; uint32_t count = static_cast(te->pValue()->toLong()); // Find Exif.Nikon3.SerialNumber finder.init(0x001d, nikon3Id); pRoot->accept(finder); te = dynamic_cast(finder.result()); if (!te || !te->pValue() || te->pValue()->count() == 0) return buf; bool ok(false); uint32_t serial = stringTo(te->pValue()->toString(), ok); if (!ok) { std::string model = getExifModel(pRoot); if (model.empty()) return buf; if (model.find("D50") != std::string::npos) { serial = 0x22; } else { serial = 0x60; } } buf.alloc(size); memcpy(buf.pData_, pData, buf.size_); ncrypt(buf.pData_ + nci->start_, buf.size_ - nci->start_, count, serial); return buf; } int sonyCsSelector(uint16_t /*tag*/, const byte* /*pData*/, uint32_t /*size*/, TiffComponent* const pRoot) { std::string model = getExifModel(pRoot); if (model.empty()) return -1; int idx = 0; if ( model.find("DSLR-A330") != std::string::npos || model.find("DSLR-A380") != std::string::npos) { idx = 1; } return idx; } }} // namespace Internal, Exiv2 // ***************************************************************************** // local definitions namespace { std::string getExifModel(Exiv2::Internal::TiffComponent* const pRoot) { Exiv2::Internal::TiffFinder finder(0x0110, Exiv2::Internal::ifd0Id); // Exif.Image.Model pRoot->accept(finder); Exiv2::Internal::TiffEntryBase* te = dynamic_cast(finder.result()); if (!te || !te->pValue() || te->pValue()->count() == 0) return std::string(); return te->pValue()->toString(); } void ncrypt(Exiv2::byte* pData, uint32_t size, uint32_t count, uint32_t serial) { static const Exiv2::byte xlat[2][256] = { { 0xc1,0xbf,0x6d,0x0d,0x59,0xc5,0x13,0x9d,0x83,0x61,0x6b,0x4f,0xc7,0x7f,0x3d,0x3d, 0x53,0x59,0xe3,0xc7,0xe9,0x2f,0x95,0xa7,0x95,0x1f,0xdf,0x7f,0x2b,0x29,0xc7,0x0d, 0xdf,0x07,0xef,0x71,0x89,0x3d,0x13,0x3d,0x3b,0x13,0xfb,0x0d,0x89,0xc1,0x65,0x1f, 0xb3,0x0d,0x6b,0x29,0xe3,0xfb,0xef,0xa3,0x6b,0x47,0x7f,0x95,0x35,0xa7,0x47,0x4f, 0xc7,0xf1,0x59,0x95,0x35,0x11,0x29,0x61,0xf1,0x3d,0xb3,0x2b,0x0d,0x43,0x89,0xc1, 0x9d,0x9d,0x89,0x65,0xf1,0xe9,0xdf,0xbf,0x3d,0x7f,0x53,0x97,0xe5,0xe9,0x95,0x17, 0x1d,0x3d,0x8b,0xfb,0xc7,0xe3,0x67,0xa7,0x07,0xf1,0x71,0xa7,0x53,0xb5,0x29,0x89, 0xe5,0x2b,0xa7,0x17,0x29,0xe9,0x4f,0xc5,0x65,0x6d,0x6b,0xef,0x0d,0x89,0x49,0x2f, 0xb3,0x43,0x53,0x65,0x1d,0x49,0xa3,0x13,0x89,0x59,0xef,0x6b,0xef,0x65,0x1d,0x0b, 0x59,0x13,0xe3,0x4f,0x9d,0xb3,0x29,0x43,0x2b,0x07,0x1d,0x95,0x59,0x59,0x47,0xfb, 0xe5,0xe9,0x61,0x47,0x2f,0x35,0x7f,0x17,0x7f,0xef,0x7f,0x95,0x95,0x71,0xd3,0xa3, 0x0b,0x71,0xa3,0xad,0x0b,0x3b,0xb5,0xfb,0xa3,0xbf,0x4f,0x83,0x1d,0xad,0xe9,0x2f, 0x71,0x65,0xa3,0xe5,0x07,0x35,0x3d,0x0d,0xb5,0xe9,0xe5,0x47,0x3b,0x9d,0xef,0x35, 0xa3,0xbf,0xb3,0xdf,0x53,0xd3,0x97,0x53,0x49,0x71,0x07,0x35,0x61,0x71,0x2f,0x43, 0x2f,0x11,0xdf,0x17,0x97,0xfb,0x95,0x3b,0x7f,0x6b,0xd3,0x25,0xbf,0xad,0xc7,0xc5, 0xc5,0xb5,0x8b,0xef,0x2f,0xd3,0x07,0x6b,0x25,0x49,0x95,0x25,0x49,0x6d,0x71,0xc7 }, { 0xa7,0xbc,0xc9,0xad,0x91,0xdf,0x85,0xe5,0xd4,0x78,0xd5,0x17,0x46,0x7c,0x29,0x4c, 0x4d,0x03,0xe9,0x25,0x68,0x11,0x86,0xb3,0xbd,0xf7,0x6f,0x61,0x22,0xa2,0x26,0x34, 0x2a,0xbe,0x1e,0x46,0x14,0x68,0x9d,0x44,0x18,0xc2,0x40,0xf4,0x7e,0x5f,0x1b,0xad, 0x0b,0x94,0xb6,0x67,0xb4,0x0b,0xe1,0xea,0x95,0x9c,0x66,0xdc,0xe7,0x5d,0x6c,0x05, 0xda,0xd5,0xdf,0x7a,0xef,0xf6,0xdb,0x1f,0x82,0x4c,0xc0,0x68,0x47,0xa1,0xbd,0xee, 0x39,0x50,0x56,0x4a,0xdd,0xdf,0xa5,0xf8,0xc6,0xda,0xca,0x90,0xca,0x01,0x42,0x9d, 0x8b,0x0c,0x73,0x43,0x75,0x05,0x94,0xde,0x24,0xb3,0x80,0x34,0xe5,0x2c,0xdc,0x9b, 0x3f,0xca,0x33,0x45,0xd0,0xdb,0x5f,0xf5,0x52,0xc3,0x21,0xda,0xe2,0x22,0x72,0x6b, 0x3e,0xd0,0x5b,0xa8,0x87,0x8c,0x06,0x5d,0x0f,0xdd,0x09,0x19,0x93,0xd0,0xb9,0xfc, 0x8b,0x0f,0x84,0x60,0x33,0x1c,0x9b,0x45,0xf1,0xf0,0xa3,0x94,0x3a,0x12,0x77,0x33, 0x4d,0x44,0x78,0x28,0x3c,0x9e,0xfd,0x65,0x57,0x16,0x94,0x6b,0xfb,0x59,0xd0,0xc8, 0x22,0x36,0xdb,0xd2,0x63,0x98,0x43,0xa1,0x04,0x87,0x86,0xf7,0xa6,0x26,0xbb,0xd6, 0x59,0x4d,0xbf,0x6a,0x2e,0xaa,0x2b,0xef,0xe6,0x78,0xb6,0x4e,0xe0,0x2f,0xdc,0x7c, 0xbe,0x57,0x19,0x32,0x7e,0x2a,0xd0,0xb8,0xba,0x29,0x00,0x3c,0x52,0x7d,0xa8,0x49, 0x3b,0x2d,0xeb,0x25,0x49,0xfa,0xa3,0xaa,0x39,0xa7,0xc5,0xa7,0x50,0x11,0x36,0xfb, 0xc6,0x67,0x4a,0xf5,0xa5,0x12,0x65,0x7e,0xb0,0xdf,0xaf,0x4e,0xb3,0x61,0x7f,0x2f } }; Exiv2::byte key = 0; for (int i = 0; i < 4; ++i) { key ^= (count >> (i*8)) & 0xff; } Exiv2::byte ci = xlat[0][serial & 0xff]; Exiv2::byte cj = xlat[1][key]; Exiv2::byte ck = 0x60; for (uint32_t i = 0; i < size; ++i) { cj += ci * ck++; pData[i] ^= cj; } } } exiv2-0.25/src/actions.cpp0000664000175000017500000021503612523623336015262 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: actions.cpp Version: $Rev: 3815 $ Author(s): Andreas Huggel (ahu) History: 08-Dec-03, ahu: created 30-Apr-06, Roger Larsson: Print filename if processing multiple files */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: actions.cpp 3815 2015-05-10 09:37:34Z ahuggel $") // included header files #include "config.h" #ifndef EXV_HAVE_TIMEGM # include "timegm.h" #endif #include "actions.hpp" #include "exiv2app.hpp" #include "image.hpp" #include "jpgimage.hpp" #include "xmpsidecar.hpp" #include "utils.hpp" #include "types.hpp" #include "exif.hpp" #include "easyaccess.hpp" #include "iptc.hpp" #include "xmp.hpp" #include "preview.hpp" #include "futils.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include #include #include #include #include #include #include #include #include // for stat() #include // for stat() #ifdef EXV_HAVE_UNISTD_H # include // for stat() #endif #ifdef _MSC_VER # include #else # include #endif // ***************************************************************************** // local declarations namespace { //! Helper class to set the timestamp of a file to that of another file class Timestamp { public: //! C'tor Timestamp() : actime_(0), modtime_(0) {} //! Read the timestamp of a file int read(const std::string& path); //! Read the timestamp from a broken-down time in buffer \em tm. int read(struct tm* tm); //! Set the timestamp of a file int touch(const std::string& path); private: time_t actime_; time_t modtime_; }; /*! @brief Convert a string "YYYY:MM:DD HH:MI:SS" to a struct tm type, returns 0 if successful */ int str2Tm(const std::string& timeStr, struct tm* tm); //! Convert a localtime to a string "YYYY:MM:DD HH:MI:SS", "" on error std::string time2Str(time_t time); //! Convert a tm structure to a string "YYYY:MM:DD HH:MI:SS", "" on error std::string tm2Str(const struct tm* tm); /*! @brief Copy metadata from source to target according to Params::copyXyz @param source Source file path @param target Target file path. An *.exv file is created if target doesn't exist. @param targetType Image type for the target image in case it needs to be created. @param preserve Indicates if existing metadata in the target file should be kept. @return 0 if successful, else an error code */ int metacopy(const std::string& source, const std::string& target, int targetType, bool preserve); /*! @brief Rename a file according to a timestamp value. @param path The original file path. Contains the new path on exit. @param tm Pointer to a buffer with the broken-down time to rename the file to. @return 0 if successful, -1 if the file was skipped, 1 on error. */ int renameFile(std::string& path, const struct tm* tm); /*! @brief Make a file path from the current file path, destination directory (if any) and the filename extension passed in. @param path Path of the existing file @param ext New filename extension (incl. the dot '.' if required) @return 0 if successful, 1 if the new file exists and the user chose not to overwrite it. */ std::string newFilePath(const std::string& path, const std::string& ext); /*! @brief Check if file \em path exists and whether it should be overwritten. Ask user if necessary. Return 1 if the file exists and shouldn't be overwritten, else 0. */ int dontOverwrite(const std::string& path); /*! @brief Output a text with a given minimum number of chars, honoring multi-byte characters correctly. Replace code in the form os << setw(width) << myString with os << make_pair( myString, width) */ std::ostream& operator<<( std::ostream& os, std::pair strAndWidth); } // ***************************************************************************** // class member definitions namespace Action { Task::~Task() { } Task::AutoPtr Task::clone() const { return AutoPtr(clone_()); } TaskFactory* TaskFactory::instance_ = 0; TaskFactory& TaskFactory::instance() { if (0 == instance_) { instance_ = new TaskFactory; } return *instance_; } // TaskFactory::instance void TaskFactory::cleanup() { if (instance_ != 0) { Registry::iterator e = registry_.end(); for (Registry::iterator i = registry_.begin(); i != e; ++i) { delete i->second; } delete instance_; instance_ = 0; } } //TaskFactory::cleanup void TaskFactory::registerTask(TaskType type, Task::AutoPtr task) { Registry::iterator i = registry_.find(type); if (i != registry_.end()) { delete i->second; } registry_[type] = task.release(); } // TaskFactory::registerTask TaskFactory::TaskFactory() { // Register a prototype of each known task registerTask(adjust, Task::AutoPtr(new Adjust)); registerTask(print, Task::AutoPtr(new Print)); registerTask(rename, Task::AutoPtr(new Rename)); registerTask(erase, Task::AutoPtr(new Erase)); registerTask(extract, Task::AutoPtr(new Extract)); registerTask(insert, Task::AutoPtr(new Insert)); registerTask(modify, Task::AutoPtr(new Modify)); registerTask(fixiso, Task::AutoPtr(new FixIso)); registerTask(fixcom, Task::AutoPtr(new FixCom)); } // TaskFactory c'tor Task::AutoPtr TaskFactory::create(TaskType type) { Registry::const_iterator i = registry_.find(type); if (i != registry_.end() && i->second != 0) { Task* t = i->second; return t->clone(); } return Task::AutoPtr(0); } // TaskFactory::create Print::~Print() { } int Print::run(const std::string& path) try { path_ = path; int rc = 0; switch (Params::instance().printMode_) { case Params::pmSummary: rc = printSummary(); break; case Params::pmList: rc = printList(); break; case Params::pmComment: rc = printComment(); break; case Params::pmPreview: rc = printPreviewList(); break; case Params::pmStructure: rc = printStructure(std::cout,Exiv2::kpsBasic); break; case Params::pmXMP: rc = printStructure(std::cout,Exiv2::kpsXMP); break; } return rc; } catch(const Exiv2::AnyError& e) { std::cerr << "Exiv2 exception in print action for file " << path << ":\n" << e << "\n"; return 1; } // Print::run int Print::printStructure(std::ostream& out, Exiv2::PrintStructureOption option) { if (!Exiv2::fileExists(path_, true)) { std::cerr << path_ << ": " << _("Failed to open the file\n"); return -1; } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path_); assert(image.get() != 0); image->printStructure(out,option); return 0; } int Print::printSummary() { if (!Exiv2::fileExists(path_, true)) { std::cerr << path_ << ": " << _("Failed to open the file\n"); return -1; } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path_); assert(image.get() != 0); image->readMetadata(); Exiv2::ExifData& exifData = image->exifData(); align_ = 16; // Filename printLabel(_("File name")); std::cout << path_ << std::endl; // Filesize struct stat buf; if (0 == stat(path_.c_str(), &buf)) { printLabel(_("File size")); std::cout << buf.st_size << " " << _("Bytes") << std::endl; } // MIME type printLabel(_("MIME type")); std::cout << image->mimeType() << std::endl; // Image size printLabel(_("Image size")); std::cout << image->pixelWidth() << " x " << image->pixelHeight() << std::endl; if (exifData.empty()) { std::cerr << path_ << ": " << _("No Exif data found in the file\n"); return -3; } // Camera make printTag(exifData, "Exif.Image.Make", _("Camera make")); // Camera model printTag(exifData, "Exif.Image.Model", _("Camera model")); // Image Timestamp printTag(exifData, "Exif.Photo.DateTimeOriginal", _("Image timestamp")); // Image number // Todo: Image number for cameras other than Canon printTag(exifData, "Exif.Canon.FileNumber", _("Image number")); // Exposure time // From ExposureTime, failing that, try ShutterSpeedValue bool done = false; printLabel(_("Exposure time")); if (!done) { done = 0 != printTag(exifData, "Exif.Photo.ExposureTime"); } if (!done) { done = 0 != printTag(exifData, "Exif.Photo.ShutterSpeedValue"); } std::cout << std::endl; // Aperture // Get if from FNumber and, failing that, try ApertureValue { printLabel(_("Aperture")); bool done = false; if (!done) { done = 0 != printTag(exifData, "Exif.Photo.FNumber"); } if (!done) { done = 0 != printTag(exifData, "Exif.Photo.ApertureValue"); } std::cout << std::endl; // Exposure bias printTag(exifData, "Exif.Photo.ExposureBiasValue", _("Exposure bias")); // Flash printTag(exifData, "Exif.Photo.Flash", _("Flash")); // Flash bias printTag(exifData, Exiv2::flashBias, _("Flash bias")); // Actual focal length and 35 mm equivalent // Todo: Calculate 35 mm equivalent a la jhead Exiv2::ExifData::const_iterator md; printLabel(_("Focal length")); if (1 == printTag(exifData, "Exif.Photo.FocalLength")) { md = exifData.findKey( Exiv2::ExifKey("Exif.Photo.FocalLengthIn35mmFilm")); if (md != exifData.end()) { std::cout << " ("<< _("35 mm equivalent") << ": " << md->print(&exifData) << ")"; } } else { printTag(exifData, "Exif.Canon.FocalLength"); } std::cout << std::endl; } // Subject distance { printLabel(_("Subject distance")); bool done = false; if (!done) { done = 0 != printTag(exifData, "Exif.Photo.SubjectDistance"); } if (!done) { done = 0 != printTag(exifData, "Exif.CanonSi.SubjectDistance"); done = 0 != printTag(exifData, "Exif.CanonFi.FocusDistanceLower"); done = 0 != printTag(exifData, "Exif.CanonFi.FocusDistanceUpper"); } std::cout << std::endl; } // ISO speed printTag(exifData, Exiv2::isoSpeed, _("ISO speed")); // Exposure mode printTag(exifData, Exiv2::exposureMode, _("Exposure mode")); // Metering mode printTag(exifData, "Exif.Photo.MeteringMode", _("Metering mode")); // Macro mode printTag(exifData, Exiv2::macroMode, _("Macro mode")); // Image quality setting (compression) printTag(exifData, Exiv2::imageQuality, _("Image quality")); // Exif Resolution { printLabel(_("Exif Resolution")); long xdim = 0; long ydim = 0; if (image->mimeType() == "image/tiff") { xdim = image->pixelWidth(); ydim = image->pixelHeight(); } else { Exiv2::ExifData::const_iterator md = exifData.findKey(Exiv2::ExifKey("Exif.Image.ImageWidth")); if (md == exifData.end()) { md = exifData.findKey(Exiv2::ExifKey("Exif.Photo.PixelXDimension")); } if (md != exifData.end() && md->count() > 0) { xdim = md->toLong(); } md = exifData.findKey(Exiv2::ExifKey("Exif.Image.ImageLength")); if (md == exifData.end()) { md = exifData.findKey(Exiv2::ExifKey("Exif.Photo.PixelYDimension")); } if (md != exifData.end() && md->count() > 0) { ydim = md->toLong(); } } if (xdim != 0 && ydim != 0) { std::cout << xdim << " x " << ydim; } std::cout << std::endl; } // White balance printTag(exifData, Exiv2::whiteBalance, _("White balance")); // Thumbnail printLabel(_("Thumbnail")); Exiv2::ExifThumbC exifThumb(exifData); std::string thumbExt = exifThumb.extension(); if (thumbExt.empty()) { std::cout << _("None"); } else { Exiv2::DataBuf buf = exifThumb.copy(); if (buf.size_ == 0) { std::cout << _("None"); } else { std::cout << exifThumb.mimeType() << ", " << buf.size_ << " " << _("Bytes"); } } std::cout << std::endl; // Copyright printTag(exifData, "Exif.Image.Copyright", _("Copyright")); // Exif Comment printTag(exifData, "Exif.Photo.UserComment", _("Exif comment")); std::cout << std::endl; return 0; } // Print::printSummary void Print::printLabel(const std::string& label) const { std::cout << std::setfill(' ') << std::left; if (Params::instance().files_.size() > 1) { std::cout << std::setw(20) << path_ << " "; } std::cout << std::make_pair( label, align_) << ": "; } int Print::printTag(const Exiv2::ExifData& exifData, const std::string& key, const std::string& label) const { int rc = 0; if (!label.empty()) { printLabel(label); } Exiv2::ExifKey ek(key); Exiv2::ExifData::const_iterator md = exifData.findKey(ek); if (md != exifData.end()) { md->write(std::cout, &exifData); rc = 1; } if (!label.empty()) std::cout << std::endl; return rc; } // Print::printTag int Print::printTag(const Exiv2::ExifData& exifData, EasyAccessFct easyAccessFct, const std::string& label) const { int rc = 0; if (!label.empty()) { printLabel(label); } Exiv2::ExifData::const_iterator md = easyAccessFct(exifData); if (md != exifData.end()) { md->write(std::cout, &exifData); rc = 1; } if (!label.empty()) std::cout << std::endl; return rc; } // Print::printTag int Print::printList() { if (!Exiv2::fileExists(path_, true)) { std::cerr << path_ << ": " << _("Failed to open the file\n"); return -1; } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path_); assert(image.get() != 0); image->readMetadata(); // Set defaults for metadata types and data columns if (Params::instance().printTags_ == Exiv2::mdNone) { Params::instance().printTags_ = Exiv2::mdExif | Exiv2::mdIptc | Exiv2::mdXmp; } if (Params::instance().printItems_ == 0) { Params::instance().printItems_ = Params::prKey | Params::prType | Params::prCount | Params::prTrans; } return printMetadata(image.get()); } // Print::printList int Print::printMetadata(const Exiv2::Image* image) { std::string sMissing; if (Params::instance().printTags_ & Exiv2::mdExif) { const Exiv2::ExifData& exifData = image->exifData(); for (Exiv2::ExifData::const_iterator md = exifData.begin(); md != exifData.end(); ++md) { printMetadatum(*md, image); } if (exifData.empty()) sMissing = "Exif" ; } if (Params::instance().printTags_ & Exiv2::mdIptc) { const Exiv2::IptcData& iptcData = image->iptcData(); for (Exiv2::IptcData::const_iterator md = iptcData.begin(); md != iptcData.end(); ++md) { printMetadatum(*md, image); } if (iptcData.empty()) sMissing = "IPTC" ; } if (Params::instance().printTags_ & Exiv2::mdXmp) { const Exiv2::XmpData& xmpData = image->xmpData(); for (Exiv2::XmpData::const_iterator md = xmpData.begin(); md != xmpData.end(); ++md) { printMetadatum(*md, image); } if (xmpData.empty()) sMissing = "XMP" ; } bool bTagFilterGiven = !Params::instance().greps_.empty(); // were tag filters given with -g? int result = ( sMissing.empty() || bTagFilterGiven ) ? 0 : -3; if ( result ) { std::cerr << path_ << ": " << "(No " << sMissing << " data found in the file)\n"; } return result; } // Print::printMetadata bool Print::grepTag(const std::string& key) { bool result=Params::instance().greps_.empty(); for (Params::Greps::const_iterator g = Params::instance().greps_.begin(); !result && g != Params::instance().greps_.end(); ++g) { #if EXV_HAVE_REGEX result = regexec( &(*g), key.c_str(), 0, NULL, 0) == 0 ; #else result = key.find(*g) != std::string::npos; #endif } return result ; } bool Print::keyTag(const std::string& key) { bool result=Params::instance().keys_.empty(); for (Params::Keys::const_iterator k = Params::instance().keys_.begin(); !result && k != Params::instance().keys_.end(); ++k) { result = key.compare(*k) == 0; } return result ; } void Print::printMetadatum(const Exiv2::Metadatum& md, const Exiv2::Image* pImage) { if (!grepTag(md.key())) return; if (!keyTag (md.key())) return; if ( Params::instance().unknown_ && md.tagName().substr(0, 2) == "0x") { return; } bool const manyFiles = Params::instance().files_.size() > 1; if (manyFiles) { std::cout << std::setfill(' ') << std::left << std::setw(20) << path_ << " "; } bool first = true; if (Params::instance().printItems_ & Params::prTag) { if (!first) std::cout << " "; first = false; std::cout << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << md.tag(); } if (Params::instance().printItems_ & Params::prGroup) { if (!first) std::cout << " "; first = false; std::cout << std::setw(12) << std::setfill(' ') << std::left << md.groupName(); } if (Params::instance().printItems_ & Params::prKey) { if (!first) std::cout << " "; first = false; std::cout << std::setfill(' ') << std::left << std::setw(44) << md.key(); } if (Params::instance().printItems_ & Params::prName) { if (!first) std::cout << " "; first = false; std::cout << std::setw(27) << std::setfill(' ') << std::left << md.tagName(); } if (Params::instance().printItems_ & Params::prLabel) { if (!first) std::cout << " "; first = false; std::cout << std::setw(30) << std::setfill(' ') << std::left << md.tagLabel(); } if (Params::instance().printItems_ & Params::prType) { if (!first) std::cout << " "; first = false; std::cout << std::setw(9) << std::setfill(' ') << std::left; const char* tn = md.typeName(); if (tn) { std::cout << tn; } else { std::ostringstream os; os << "0x" << std::setw(4) << std::setfill('0') << std::hex << md.typeId(); std::cout << os.str(); } } if (Params::instance().printItems_ & Params::prCount) { if (!first) std::cout << " "; first = false; std::cout << std::dec << std::setw(3) << std::setfill(' ') << std::right << md.count(); } if (Params::instance().printItems_ & Params::prSize) { if (!first) std::cout << " "; first = false; std::cout << std::dec << std::setw(3) << std::setfill(' ') << std::right << md.size(); } if (Params::instance().printItems_ & Params::prValue) { if (!first) std::cout << " "; first = false; if ( Params::instance().binary_ && ( md.typeId() == Exiv2::undefined || md.typeId() == Exiv2::unsignedByte || md.typeId() == Exiv2::signedByte) && md.size() > 128) { std::cout << _("(Binary value suppressed)") << std::endl; return; } bool done = false; if (0 == strcmp(md.key().c_str(), "Exif.Photo.UserComment")) { const Exiv2::CommentValue* pcv = dynamic_cast(&md.value()); if (pcv) { Exiv2::CommentValue::CharsetId csId = pcv->charsetId(); if (csId != Exiv2::CommentValue::undefined) { std::cout << "charset=\"" << Exiv2::CommentValue::CharsetInfo::name(csId) << "\" "; } std::cout << pcv->comment(Params::instance().charset_.c_str()); done = true; } } if (!done) std::cout << std::dec << md.value(); } if (Params::instance().printItems_ & Params::prTrans) { if (!first) std::cout << " "; first = false; if ( Params::instance().binary_ && ( md.typeId() == Exiv2::undefined || md.typeId() == Exiv2::unsignedByte || md.typeId() == Exiv2::signedByte) && md.size() > 128) { std::cout << _("(Binary value suppressed)") << std::endl; return; } bool done = false; if (0 == strcmp(md.key().c_str(), "Exif.Photo.UserComment")) { const Exiv2::CommentValue* pcv = dynamic_cast(&md.value()); if (pcv) { std::cout << pcv->comment(Params::instance().charset_.c_str()); done = true; } } if (!done) std::cout << std::dec << md.print(&pImage->exifData()); } if (Params::instance().printItems_ & Params::prHex) { if (!first) std::cout << std::endl; first = false; if ( Params::instance().binary_ && ( md.typeId() == Exiv2::undefined || md.typeId() == Exiv2::unsignedByte || md.typeId() == Exiv2::signedByte) && md.size() > 128) { std::cout << _("(Binary value suppressed)") << std::endl; return; } Exiv2::DataBuf buf(md.size()); md.copy(buf.pData_, pImage->byteOrder()); Exiv2::hexdump(std::cout, buf.pData_, buf.size_); } std::cout << std::endl; } // Print::printMetadatum int Print::printComment() { if (!Exiv2::fileExists(path_, true)) { std::cerr << path_ << ": " << _("Failed to open the file\n"); return -1; } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path_); assert(image.get() != 0); image->readMetadata(); if (Params::instance().verbose_) { std::cout << _("JPEG comment") << ": "; } std::cout << image->comment() << std::endl; return 0; } // Print::printComment int Print::printPreviewList() { if (!Exiv2::fileExists(path_, true)) { std::cerr << path_ << ": " << _("Failed to open the file\n"); return -1; } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path_); assert(image.get() != 0); image->readMetadata(); bool const manyFiles = Params::instance().files_.size() > 1; int cnt = 0; Exiv2::PreviewManager pm(*image); Exiv2::PreviewPropertiesList list = pm.getPreviewProperties(); for (Exiv2::PreviewPropertiesList::const_iterator pos = list.begin(); pos != list.end(); ++pos) { if (manyFiles) { std::cout << std::setfill(' ') << std::left << std::setw(20) << path_ << " "; } std::cout << _("Preview") << " " << ++cnt << ": " << pos->mimeType_ << ", "; if (pos->width_ != 0 && pos->height_ != 0) { std::cout << pos->width_ << "x" << pos->height_ << " " << _("pixels") << ", "; } std::cout << pos->size_ << " " << _("bytes") << "\n"; } return 0; } // Print::printPreviewList Print::AutoPtr Print::clone() const { return AutoPtr(clone_()); } Print* Print::clone_() const { return new Print(*this); } Rename::~Rename() { } int Rename::run(const std::string& path) { try { if (!Exiv2::fileExists(path, true)) { std::cerr << path << ": " << _("Failed to open the file\n"); return -1; } Timestamp ts; if (Params::instance().preserve_) { ts.read(path); } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path); assert(image.get() != 0); image->readMetadata(); Exiv2::ExifData& exifData = image->exifData(); if (exifData.empty()) { std::cerr << path << ": " << _("No Exif data found in the file\n"); return -3; } Exiv2::ExifKey key("Exif.Photo.DateTimeOriginal"); Exiv2::ExifData::iterator md = exifData.findKey(key); if (md == exifData.end()) { key = Exiv2::ExifKey("Exif.Image.DateTime"); md = exifData.findKey(key); } if (md == exifData.end()) { std::cerr << _("Neither tag") << " `Exif.Photo.DateTimeOriginal' " << _("nor") << " `Exif.Image.DateTime' " << _("found in the file") << " " << path << "\n"; return 1; } std::string v = md->toString(); if (v.length() == 0 || v[0] == ' ') { std::cerr << _("Image file creation timestamp not set in the file") << " " << path << "\n"; return 1; } struct tm tm; if (str2Tm(v, &tm) != 0) { std::cerr << _("Failed to parse timestamp") << " `" << v << "' " << _("in the file") << " " << path << "\n"; return 1; } if ( Params::instance().timestamp_ || Params::instance().timestampOnly_) { ts.read(&tm); } int rc = 0; std::string newPath = path; if (Params::instance().timestampOnly_) { if (Params::instance().verbose_) { std::cout << _("Updating timestamp to") << " " << v << std::endl; } } else { rc = renameFile(newPath, &tm); if (rc == -1) return 0; // skip } if ( 0 == rc && ( Params::instance().preserve_ || Params::instance().timestamp_ || Params::instance().timestampOnly_)) { ts.touch(newPath); } return rc; } catch(const Exiv2::AnyError& e) { std::cerr << "Exiv2 exception in rename action for file " << path << ":\n" << e << "\n"; return 1; }} // Rename::run Rename::AutoPtr Rename::clone() const { return AutoPtr(clone_()); } Rename* Rename::clone_() const { return new Rename(*this); } Erase::~Erase() { } int Erase::run(const std::string& path) try { path_ = path; if (!Exiv2::fileExists(path_, true)) { std::cerr << path_ << ": " << _("Failed to open the file\n"); return -1; } Timestamp ts; if (Params::instance().preserve_) { ts.read(path); } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path_); assert(image.get() != 0); image->readMetadata(); // Thumbnail must be before Exif int rc = 0; if (Params::instance().target_ & Params::ctThumb) { rc = eraseThumbnail(image.get()); } if (0 == rc && Params::instance().target_ & Params::ctExif) { rc = eraseExifData(image.get()); } if (0 == rc && Params::instance().target_ & Params::ctIptc) { rc = eraseIptcData(image.get()); } if (0 == rc && Params::instance().target_ & Params::ctComment) { rc = eraseComment(image.get()); } if (0 == rc && Params::instance().target_ & Params::ctXmp) { rc = eraseXmpData(image.get()); } if (0 == rc) { image->writeMetadata(); } if (Params::instance().preserve_) { ts.touch(path); } return rc; } catch(const Exiv2::AnyError& e) { std::cerr << "Exiv2 exception in erase action for file " << path << ":\n" << e << "\n"; return 1; } // Erase::run int Erase::eraseThumbnail(Exiv2::Image* image) const { Exiv2::ExifThumb exifThumb(image->exifData()); std::string thumbExt = exifThumb.extension(); if (thumbExt.empty()) { return 0; } exifThumb.erase(); if (Params::instance().verbose_) { std::cout << _("Erasing thumbnail data") << std::endl; } return 0; } int Erase::eraseExifData(Exiv2::Image* image) const { if (Params::instance().verbose_ && image->exifData().count() > 0) { std::cout << _("Erasing Exif data from the file") << std::endl; } image->clearExifData(); return 0; } int Erase::eraseIptcData(Exiv2::Image* image) const { if (Params::instance().verbose_ && image->iptcData().count() > 0) { std::cout << _("Erasing IPTC data from the file") << std::endl; } image->clearIptcData(); return 0; } int Erase::eraseComment(Exiv2::Image* image) const { if (Params::instance().verbose_ && image->comment().size() > 0) { std::cout << _("Erasing JPEG comment from the file") << std::endl; } image->clearComment(); return 0; } int Erase::eraseXmpData(Exiv2::Image* image) const { if (Params::instance().verbose_ && image->xmpData().count() > 0) { std::cout << _("Erasing XMP data from the file") << std::endl; } image->clearXmpData(); // Quick fix for bug #612 image->clearXmpPacket(); return 0; } Erase::AutoPtr Erase::clone() const { return AutoPtr(clone_()); } Erase* Erase::clone_() const { return new Erase(*this); } Extract::~Extract() { } int Extract::run(const std::string& path) try { path_ = path; int rc = 0; if (Params::instance().target_ & Params::ctThumb) { rc = writeThumbnail(); } if (Params::instance().target_ & Params::ctXmpSidecar) { std::string xmpPath = newFilePath(path_, ".xmp"); if (dontOverwrite(xmpPath)) return 0; rc = metacopy(path_, xmpPath, Exiv2::ImageType::xmp, false); } if (Params::instance().target_ & Params::ctPreview) { rc = writePreviews(); } if ( !(Params::instance().target_ & Params::ctXmpSidecar) && !(Params::instance().target_ & Params::ctThumb) && !(Params::instance().target_ & Params::ctPreview)) { std::string exvPath = newFilePath(path_, ".exv"); if (dontOverwrite(exvPath)) return 0; rc = metacopy(path_, exvPath, Exiv2::ImageType::exv, false); } return rc; } catch(const Exiv2::AnyError& e) { std::cerr << "Exiv2 exception in extract action for file " << path << ":\n" << e << "\n"; return 1; } // Extract::run int Extract::writeThumbnail() const { if (!Exiv2::fileExists(path_, true)) { std::cerr << path_ << ": " << _("Failed to open the file\n"); return -1; } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path_); assert(image.get() != 0); image->readMetadata(); Exiv2::ExifData& exifData = image->exifData(); if (exifData.empty()) { std::cerr << path_ << ": " << _("No Exif data found in the file\n"); return -3; } int rc = 0; Exiv2::ExifThumb exifThumb(exifData); std::string thumbExt = exifThumb.extension(); if (thumbExt.empty()) { std::cerr << path_ << ": " << _("Image does not contain an Exif thumbnail\n"); } else { std::string thumb = newFilePath(path_, "-thumb"); std::string thumbPath = thumb + thumbExt; if (dontOverwrite(thumbPath)) return 0; if (Params::instance().verbose_) { Exiv2::DataBuf buf = exifThumb.copy(); if (buf.size_ != 0) { std::cout << _("Writing thumbnail") << " (" << exifThumb.mimeType() << ", " << buf.size_ << " " << _("Bytes") << ") " << _("to file") << " " << thumbPath << std::endl; } } rc = exifThumb.writeFile(thumb); if (rc == 0) { std::cerr << path_ << ": " << _("Exif data doesn't contain a thumbnail\n"); } } return rc; } // Extract::writeThumbnail int Extract::writePreviews() const { if (!Exiv2::fileExists(path_, true)) { std::cerr << path_ << ": " << _("Failed to open the file\n"); return -1; } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path_); assert(image.get() != 0); image->readMetadata(); Exiv2::PreviewManager pvMgr(*image); Exiv2::PreviewPropertiesList pvList = pvMgr.getPreviewProperties(); const Params::PreviewNumbers& numbers = Params::instance().previewNumbers_; for (Params::PreviewNumbers::const_iterator n = numbers.begin(); n != numbers.end(); ++n) { if (*n == 0) { // Write all previews for (int num = 0; num < static_cast(pvList.size()); ++num) { writePreviewFile(pvMgr.getPreviewImage(pvList[num]), num + 1); } break; } if (*n > static_cast(pvList.size())) { std::cerr << path_ << ": " << _("Image does not have preview") << " " << *n << "\n"; continue; } writePreviewFile(pvMgr.getPreviewImage(pvList[*n - 1]), *n); } return 0; } // Extract::writePreviews void Extract::writePreviewFile(const Exiv2::PreviewImage& pvImg, int num) const { std::string pvFile = newFilePath(path_, "-preview") + Exiv2::toString(num); std::string pvPath = pvFile + pvImg.extension(); if (dontOverwrite(pvPath)) return; if (Params::instance().verbose_) { std::cout << _("Writing preview") << " " << num << " (" << pvImg.mimeType() << ", "; if (pvImg.width() != 0 && pvImg.height() != 0) { std::cout << pvImg.width() << "x" << pvImg.height() << " " << _("pixels") << ", "; } std::cout << pvImg.size() << " " << _("bytes") << ") " << _("to file") << " " << pvPath << std::endl; } long rc = pvImg.writeFile(pvFile); if (rc == 0) { std::cerr << path_ << ": " << _("Image does not have preview") << " " << num << "\n"; } } // Extract::writePreviewFile Extract::AutoPtr Extract::clone() const { return AutoPtr(clone_()); } Extract* Extract::clone_() const { return new Extract(*this); } Insert::~Insert() { } int Insert::run(const std::string& path) try { if (!Exiv2::fileExists(path, true)) { std::cerr << path << ": " << _("Failed to open the file\n"); return -1; } int rc = 0; Timestamp ts; if (Params::instance().preserve_) { ts.read(path); } if (Params::instance().target_ & Params::ctThumb) { rc = insertThumbnail(path); } if ( rc == 0 && ( Params::instance().target_ & Params::ctExif || Params::instance().target_ & Params::ctIptc || Params::instance().target_ & Params::ctComment || Params::instance().target_ & Params::ctXmp)) { std::string suffix = Params::instance().suffix_; if (suffix.empty()) suffix = ".exv"; if (Params::instance().target_ & Params::ctXmpSidecar) suffix = ".xmp"; std::string exvPath = newFilePath(path, suffix); rc = metacopy(exvPath, path, Exiv2::ImageType::none, true); } if (0 == rc && Params::instance().target_ & Params::ctXmpSidecar) { rc = insertXmpPacket(path); } if (Params::instance().preserve_) { ts.touch(path); } return rc; } catch(const Exiv2::AnyError& e) { std::cerr << "Exiv2 exception in insert action for file " << path << ":\n" << e << "\n"; return 1; } // Insert::run int Insert::insertXmpPacket(const std::string& path) const { std::string xmpPath = newFilePath(path, ".xmp"); if (!Exiv2::fileExists(xmpPath, true)) { std::cerr << xmpPath << ": " << _("Failed to open the file\n"); return -1; } if (!Exiv2::fileExists(path, true)) { std::cerr << path << ": " << _("Failed to open the file\n"); return -1; } Exiv2::DataBuf buf = Exiv2::readFile(xmpPath); std::string xmpPacket; xmpPacket.assign(reinterpret_cast(buf.pData_), buf.size_); Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path); assert(image.get() != 0); image->readMetadata(); image->setXmpPacket(xmpPacket); image->writeMetadata(); return 0; } int Insert::insertThumbnail(const std::string& path) const { std::string thumbPath = newFilePath(path, "-thumb.jpg"); if (!Exiv2::fileExists(thumbPath, true)) { std::cerr << thumbPath << ": " << _("Failed to open the file\n"); return -1; } if (!Exiv2::fileExists(path, true)) { std::cerr << path << ": " << _("Failed to open the file\n"); return -1; } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path); assert(image.get() != 0); image->readMetadata(); Exiv2::ExifThumb exifThumb(image->exifData()); exifThumb.setJpegThumbnail(thumbPath); image->writeMetadata(); return 0; } // Insert::insertThumbnail Insert::AutoPtr Insert::clone() const { return AutoPtr(clone_()); } Insert* Insert::clone_() const { return new Insert(*this); } Modify::~Modify() { } int Modify::run(const std::string& path) { try { if (!Exiv2::fileExists(path, true)) { std::cerr << path << ": " << _("Failed to open the file\n"); return -1; } Timestamp ts; if (Params::instance().preserve_) { ts.read(path); } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path); assert(image.get() != 0); image->readMetadata(); int rc = applyCommands(image.get()); // Save both exif and iptc metadata image->writeMetadata(); if (Params::instance().preserve_) { ts.touch(path); } return rc; } catch(const Exiv2::AnyError& e) { std::cerr << "Exiv2 exception in modify action for file " << path << ":\n" << e << "\n"; return 1; } } // Modify::run int Modify::applyCommands(Exiv2::Image* pImage) { if (!Params::instance().jpegComment_.empty()) { if (Params::instance().verbose_) { std::cout << _("Setting JPEG comment") << " '" << Params::instance().jpegComment_ << "'" << std::endl; } pImage->setComment(Params::instance().jpegComment_); } // loop through command table and apply each command ModifyCmds& modifyCmds = Params::instance().modifyCmds_; ModifyCmds::const_iterator i = modifyCmds.begin(); ModifyCmds::const_iterator end = modifyCmds.end(); int rc = 0; int ret = 0; for (; i != end; ++i) { switch (i->cmdId_) { case add: ret = addMetadatum(pImage, *i); if (rc == 0) rc = ret; break; case set: ret = setMetadatum(pImage, *i); if (rc == 0) rc = ret; break; case del: delMetadatum(pImage, *i); break; case reg: regNamespace(*i); break; case invalidCmdId: assert(invalidCmdId == i->cmdId_); break; } } return rc; } // Modify::applyCommands int Modify::addMetadatum(Exiv2::Image* pImage, const ModifyCmd& modifyCmd) { if (Params::instance().verbose_) { std::cout << _("Add") << " " << modifyCmd.key_ << " \"" << modifyCmd.value_ << "\" (" << Exiv2::TypeInfo::typeName(modifyCmd.typeId_) << ")" << std::endl; } Exiv2::ExifData& exifData = pImage->exifData(); Exiv2::IptcData& iptcData = pImage->iptcData(); Exiv2::XmpData& xmpData = pImage->xmpData(); Exiv2::Value::AutoPtr value = Exiv2::Value::create(modifyCmd.typeId_); int rc = value->read(modifyCmd.value_); if (0 == rc) { if (modifyCmd.metadataId_ == exif) { exifData.add(Exiv2::ExifKey(modifyCmd.key_), value.get()); } if (modifyCmd.metadataId_ == iptc) { iptcData.add(Exiv2::IptcKey(modifyCmd.key_), value.get()); } if (modifyCmd.metadataId_ == xmp) { xmpData.add(Exiv2::XmpKey(modifyCmd.key_), value.get()); } } else { std::cerr << _("Warning") << ": " << modifyCmd.key_ << ": " << _("Failed to read") << " " << Exiv2::TypeInfo::typeName(value->typeId()) << " " << _("value") << " \"" << modifyCmd.value_ << "\"\n"; } return rc; } // This function looks rather complex because we try to avoid adding an // empty metadatum if reading the value fails int Modify::setMetadatum(Exiv2::Image* pImage, const ModifyCmd& modifyCmd) { if (Params::instance().verbose_) { std::cout << _("Set") << " " << modifyCmd.key_ << " \"" << modifyCmd.value_ << "\" (" << Exiv2::TypeInfo::typeName(modifyCmd.typeId_) << ")" << std::endl; } Exiv2::ExifData& exifData = pImage->exifData(); Exiv2::IptcData& iptcData = pImage->iptcData(); Exiv2::XmpData& xmpData = pImage->xmpData(); Exiv2::Metadatum* metadatum = 0; if (modifyCmd.metadataId_ == exif) { Exiv2::ExifData::iterator pos = exifData.findKey(Exiv2::ExifKey(modifyCmd.key_)); if (pos != exifData.end()) { metadatum = &(*pos); } } if (modifyCmd.metadataId_ == iptc) { Exiv2::IptcData::iterator pos = iptcData.findKey(Exiv2::IptcKey(modifyCmd.key_)); if (pos != iptcData.end()) { metadatum = &(*pos); } } if (modifyCmd.metadataId_ == xmp) { Exiv2::XmpData::iterator pos = xmpData.findKey(Exiv2::XmpKey(modifyCmd.key_)); if (pos != xmpData.end()) { metadatum = &(*pos); } } // If a type was explicitly requested, use it; else // use the current type of the metadatum, if any; // or the default type Exiv2::Value::AutoPtr value; if (metadatum) { value = metadatum->getValue(); } if ( value.get() == 0 || ( modifyCmd.explicitType_ && modifyCmd.typeId_ != value->typeId())) { value = Exiv2::Value::create(modifyCmd.typeId_); } int rc = value->read(modifyCmd.value_); if (0 == rc) { if (metadatum) { metadatum->setValue(value.get()); } else { if (modifyCmd.metadataId_ == exif) { exifData.add(Exiv2::ExifKey(modifyCmd.key_), value.get()); } if (modifyCmd.metadataId_ == iptc) { iptcData.add(Exiv2::IptcKey(modifyCmd.key_), value.get()); } if (modifyCmd.metadataId_ == xmp) { xmpData.add(Exiv2::XmpKey(modifyCmd.key_), value.get()); } } } else { std::cerr << _("Warning") << ": " << modifyCmd.key_ << ": " << _("Failed to read") << " " << Exiv2::TypeInfo::typeName(value->typeId()) << " " << _("value") << " \"" << modifyCmd.value_ << "\"\n"; } return rc; } void Modify::delMetadatum(Exiv2::Image* pImage, const ModifyCmd& modifyCmd) { if (Params::instance().verbose_) { std::cout << _("Del") << " " << modifyCmd.key_ << std::endl; } Exiv2::ExifData& exifData = pImage->exifData(); Exiv2::IptcData& iptcData = pImage->iptcData(); Exiv2::XmpData& xmpData = pImage->xmpData(); if (modifyCmd.metadataId_ == exif) { Exiv2::ExifData::iterator pos; Exiv2::ExifKey exifKey = Exiv2::ExifKey(modifyCmd.key_); while((pos = exifData.findKey(exifKey)) != exifData.end()) { exifData.erase(pos); } } if (modifyCmd.metadataId_ == iptc) { Exiv2::IptcData::iterator pos; Exiv2::IptcKey iptcKey = Exiv2::IptcKey(modifyCmd.key_); while((pos = iptcData.findKey(iptcKey)) != iptcData.end()) { iptcData.erase(pos); } } if (modifyCmd.metadataId_ == xmp) { Exiv2::XmpData::iterator pos; Exiv2::XmpKey xmpKey = Exiv2::XmpKey(modifyCmd.key_); while((pos = xmpData.findKey(xmpKey)) != xmpData.end()) { xmpData.erase(pos); } } } void Modify::regNamespace(const ModifyCmd& modifyCmd) { if (Params::instance().verbose_) { std::cout << _("Reg ") << modifyCmd.key_ << "=\"" << modifyCmd.value_ << "\"" << std::endl; } Exiv2::XmpProperties::registerNs(modifyCmd.value_, modifyCmd.key_); } Modify::AutoPtr Modify::clone() const { return AutoPtr(clone_()); } Modify* Modify::clone_() const { return new Modify(*this); } Adjust::~Adjust() { } int Adjust::run(const std::string& path) try { adjustment_ = Params::instance().adjustment_; yearAdjustment_ = Params::instance().yodAdjust_[Params::yodYear].adjustment_; monthAdjustment_ = Params::instance().yodAdjust_[Params::yodMonth].adjustment_; dayAdjustment_ = Params::instance().yodAdjust_[Params::yodDay].adjustment_; if (!Exiv2::fileExists(path, true)) { std::cerr << path << ": " << _("Failed to open the file\n"); return -1; } Timestamp ts; if (Params::instance().preserve_) { ts.read(path); } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path); assert(image.get() != 0); image->readMetadata(); Exiv2::ExifData& exifData = image->exifData(); if (exifData.empty()) { std::cerr << path << ": " << _("No Exif data found in the file\n"); return -3; } int rc = adjustDateTime(exifData, "Exif.Image.DateTime", path); rc += adjustDateTime(exifData, "Exif.Photo.DateTimeOriginal", path); rc += adjustDateTime(exifData, "Exif.Photo.DateTimeDigitized", path); if (rc) return 1; image->writeMetadata(); if (Params::instance().preserve_) { ts.touch(path); } return rc; } catch(const Exiv2::AnyError& e) { std::cerr << "Exiv2 exception in adjust action for file " << path << ":\n" << e << "\n"; return 1; } // Adjust::run Adjust::AutoPtr Adjust::clone() const { return AutoPtr(clone_()); } Adjust* Adjust::clone_() const { return new Adjust(*this); } int Adjust::adjustDateTime(Exiv2::ExifData& exifData, const std::string& key, const std::string& path) const { Exiv2::ExifKey ek(key); Exiv2::ExifData::iterator md = exifData.findKey(ek); if (md == exifData.end()) { // Key not found. That's ok, we do nothing. return 0; } std::string timeStr = md->toString(); if (timeStr == "" || timeStr[0] == ' ') { std::cerr << path << ": " << _("Timestamp of metadatum with key") << " `" << ek << "' " << _("not set\n"); return 1; } if (Params::instance().verbose_) { bool comma = false; std::cout << _("Adjusting") << " `" << ek << "' " << _("by"); if (yearAdjustment_ != 0) { std::cout << (yearAdjustment_ < 0 ? " " : " +") << yearAdjustment_ << " "; if (yearAdjustment_ < -1 || yearAdjustment_ > 1) { std::cout << _("years"); } else { std::cout << _("year"); } comma = true; } if (monthAdjustment_ != 0) { if (comma) std::cout << ","; std::cout << (monthAdjustment_ < 0 ? " " : " +") << monthAdjustment_ << " "; if (monthAdjustment_ < -1 || monthAdjustment_ > 1) { std::cout << _("months"); } else { std::cout << _("month"); } comma = true; } if (dayAdjustment_ != 0) { if (comma) std::cout << ","; std::cout << (dayAdjustment_ < 0 ? " " : " +") << dayAdjustment_ << " "; if (dayAdjustment_ < -1 || dayAdjustment_ > 1) { std::cout << _("days"); } else { std::cout << _("day"); } comma = true; } if (adjustment_ != 0) { if (comma) std::cout << ","; std::cout << " " << adjustment_ << _("s"); } } struct tm tm; if (str2Tm(timeStr, &tm) != 0) { if (Params::instance().verbose_) std::cout << std::endl; std::cerr << path << ": " << _("Failed to parse timestamp") << " `" << timeStr << "'\n"; return 1; } const long monOverflow = (tm.tm_mon + monthAdjustment_) / 12; tm.tm_mon = (tm.tm_mon + monthAdjustment_) % 12; tm.tm_year += yearAdjustment_ + monOverflow; // Let's not create files with non-4-digit years, we can't read them. if (tm.tm_year > 9999 - 1900 || tm.tm_year < 1000 - 1900) { if (Params::instance().verbose_) std::cout << std::endl; std::cerr << path << ": " << _("Can't adjust timestamp by") << " " << yearAdjustment_ + monOverflow << " " << _("years") << "\n"; return 1; } time_t time = mktime(&tm); time += adjustment_ + dayAdjustment_ * 86400; timeStr = time2Str(time); if (Params::instance().verbose_) { std::cout << " " << _("to") << " " << timeStr << std::endl; } md->setValue(timeStr); return 0; } // Adjust::adjustDateTime FixIso::~FixIso() { } int FixIso::run(const std::string& path) { try { if (!Exiv2::fileExists(path, true)) { std::cerr << path << ": " <<_("Failed to open the file\n"); return -1; } Timestamp ts; if (Params::instance().preserve_) { ts.read(path); } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path); assert(image.get() != 0); image->readMetadata(); Exiv2::ExifData& exifData = image->exifData(); if (exifData.empty()) { std::cerr << path << ": " << _("No Exif data found in the file\n"); return -3; } Exiv2::ExifData::const_iterator md = Exiv2::isoSpeed(exifData); if (md != exifData.end()) { if (strcmp(md->key().c_str(), "Exif.Photo.ISOSpeedRatings") == 0) { if (Params::instance().verbose_) { std::cout << _("Standard Exif ISO tag exists; not modified\n"); } return 0; } // Copy the proprietary tag to the standard place std::ostringstream os; md->write(os, &exifData); if (Params::instance().verbose_) { std::cout << _("Setting Exif ISO value to") << " " << os.str() << "\n"; } exifData["Exif.Photo.ISOSpeedRatings"] = os.str(); } image->writeMetadata(); if (Params::instance().preserve_) { ts.touch(path); } return 0; } catch(const Exiv2::AnyError& e) { std::cerr << "Exiv2 exception in fixiso action for file " << path << ":\n" << e << "\n"; return 1; } } // FixIso::run FixIso::AutoPtr FixIso::clone() const { return AutoPtr(clone_()); } FixIso* FixIso::clone_() const { return new FixIso(*this); } FixCom::~FixCom() { } int FixCom::run(const std::string& path) { try { if (!Exiv2::fileExists(path, true)) { std::cerr << path << ": " <<_("Failed to open the file\n"); return -1; } Timestamp ts; if (Params::instance().preserve_) { ts.read(path); } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(path); assert(image.get() != 0); image->readMetadata(); Exiv2::ExifData& exifData = image->exifData(); if (exifData.empty()) { std::cerr << path << ": " << _("No Exif data found in the file\n"); return -3; } Exiv2::ExifData::iterator pos = exifData.findKey(Exiv2::ExifKey("Exif.Photo.UserComment")); if (pos == exifData.end()) { if (Params::instance().verbose_) { std::cout << _("No Exif user comment found") << "\n"; } return 0; } Exiv2::Value::AutoPtr v = pos->getValue(); const Exiv2::CommentValue* pcv = dynamic_cast(v.get()); if (!pcv) { if (Params::instance().verbose_) { std::cout << _("Found Exif user comment with unexpected value type") << "\n"; } return 0; } Exiv2::CommentValue::CharsetId csId = pcv->charsetId(); if (csId != Exiv2::CommentValue::unicode) { if (Params::instance().verbose_) { std::cout << _("No Exif UNICODE user comment found") << "\n"; } return 0; } std::string comment = pcv->comment(Params::instance().charset_.c_str()); if (Params::instance().verbose_) { std::cout << _("Setting Exif UNICODE user comment to") << " \"" << comment << "\"\n"; } comment = std::string("charset=\"") + Exiv2::CommentValue::CharsetInfo::name(csId) + "\" " + comment; // Remove BOM and convert value from source charset to UCS-2, but keep byte order pos->setValue(comment); image->writeMetadata(); if (Params::instance().preserve_) { ts.touch(path); } return 0; } catch(const Exiv2::AnyError& e) { std::cerr << "Exiv2 exception in fixcom action for file " << path << ":\n" << e << "\n"; return 1; } } // FixCom::run FixCom::AutoPtr FixCom::clone() const { return AutoPtr(clone_()); } FixCom* FixCom::clone_() const { return new FixCom(*this); } } // namespace Action // ***************************************************************************** // local definitions namespace { //! @cond IGNORE int Timestamp::read(const std::string& path) { struct stat buf; int rc = stat(path.c_str(), &buf); if (0 == rc) { actime_ = buf.st_atime; modtime_ = buf.st_mtime; } return rc; } int Timestamp::read(struct tm* tm) { int rc = 1; time_t t = mktime(tm); // interpret tm according to current timezone settings if (t != (time_t)-1) { rc = 0; actime_ = t; modtime_ = t; } return rc; } int Timestamp::touch(const std::string& path) { if (0 == actime_) return 1; struct utimbuf buf; buf.actime = actime_; buf.modtime = modtime_; return utime(path.c_str(), &buf); } //! @endcond int str2Tm(const std::string& timeStr, struct tm* tm) { if (timeStr.length() == 0 || timeStr[0] == ' ') return 1; if (timeStr.length() < 19) return 2; if ( timeStr[4] != ':' || timeStr[7] != ':' || timeStr[10] != ' ' || timeStr[13] != ':' || timeStr[16] != ':') return 3; if (0 == tm) return 4; std::memset(tm, 0x0, sizeof(struct tm)); tm->tm_isdst = -1; long tmp; if (!Util::strtol(timeStr.substr(0,4).c_str(), tmp)) return 5; tm->tm_year = tmp - 1900; if (!Util::strtol(timeStr.substr(5,2).c_str(), tmp)) return 6; tm->tm_mon = tmp - 1; if (!Util::strtol(timeStr.substr(8,2).c_str(), tmp)) return 7; tm->tm_mday = tmp; if (!Util::strtol(timeStr.substr(11,2).c_str(), tmp)) return 8; tm->tm_hour = tmp; if (!Util::strtol(timeStr.substr(14,2).c_str(), tmp)) return 9; tm->tm_min = tmp; if (!Util::strtol(timeStr.substr(17,2).c_str(), tmp)) return 10; tm->tm_sec = tmp; // Conversions to set remaining fields of the tm structure if (mktime(tm) == (time_t)-1) return 11; return 0; } // str2Tm std::string time2Str(time_t time) { struct tm* tm = localtime(&time); return tm2Str(tm); } // time2Str std::string tm2Str(const struct tm* tm) { if (0 == tm) return ""; std::ostringstream os; os << std::setfill('0') << tm->tm_year + 1900 << ":" << std::setw(2) << tm->tm_mon + 1 << ":" << std::setw(2) << tm->tm_mday << " " << std::setw(2) << tm->tm_hour << ":" << std::setw(2) << tm->tm_min << ":" << std::setw(2) << tm->tm_sec; return os.str(); } // tm2Str int metacopy(const std::string& source, const std::string& target, int targetType, bool preserve) { if (!Exiv2::fileExists(source, true)) { std::cerr << source << ": " << _("Failed to open the file\n"); return -1; } Exiv2::Image::AutoPtr sourceImage = Exiv2::ImageFactory::open(source); assert(sourceImage.get() != 0); sourceImage->readMetadata(); // Apply any modification commands to the source image on-the-fly Action::Modify::applyCommands(sourceImage.get()); Exiv2::Image::AutoPtr targetImage; if (Exiv2::fileExists(target)) { targetImage = Exiv2::ImageFactory::open(target); assert(targetImage.get() != 0); if (preserve) targetImage->readMetadata(); } else { targetImage = Exiv2::ImageFactory::create(targetType, target); assert(targetImage.get() != 0); } if ( Params::instance().target_ & Params::ctExif && !sourceImage->exifData().empty()) { if (Params::instance().verbose_) { std::cout << _("Writing Exif data from") << " " << source << " " << _("to") << " " << target << std::endl; } targetImage->setExifData(sourceImage->exifData()); } if ( Params::instance().target_ & Params::ctIptc && !sourceImage->iptcData().empty()) { if (Params::instance().verbose_) { std::cout << _("Writing IPTC data from") << " " << source << " " << _("to") << " " << target << std::endl; } targetImage->setIptcData(sourceImage->iptcData()); } if ( Params::instance().target_ & Params::ctXmp && !sourceImage->xmpData().empty()) { if (Params::instance().verbose_) { std::cout << _("Writing XMP data from") << " " << source << " " << _("to") << " " << target << std::endl; } // Todo: Should use XMP packet if there are no XMP modification commands targetImage->setXmpData(sourceImage->xmpData()); } if ( Params::instance().target_ & Params::ctComment && !sourceImage->comment().empty()) { if (Params::instance().verbose_) { std::cout << _("Writing JPEG comment from") << " " << source << " " << _("to") << " " << target << std::endl; } targetImage->setComment(sourceImage->comment()); } try { targetImage->writeMetadata(); } catch (const Exiv2::AnyError& e) { std::cerr << target << ": " << _("Could not write metadata to file") << ": " << e << "\n"; return 1; } return 0; } // metacopy // Defined outside of the function so that Exiv2::find() can see it struct String { const char* s_; bool operator==(const char* s) const { return 0 == strcmp(s_, s); } }; int renameFile(std::string& newPath, const struct tm* tm) { std::string path = newPath; std::string format = Params::instance().format_; Util::replace(format, ":basename:", Util::basename(path, true)); Util::replace(format, ":dirname:", Util::basename(Util::dirname(path))); Util::replace(format, ":parentname:", Util::basename(Util::dirname(Util::dirname(path)))); const size_t max = 1024; char basename[max]; std::memset(basename, 0x0, max); if (strftime(basename, max, format.c_str(), tm) == 0) { std::cerr << _("Filename format yields empty filename for the file") << " " << path << "\n"; return 1; } newPath = Util::dirname(path) + EXV_SEPARATOR_STR + basename + Util::suffix(path); if ( Util::dirname(newPath) == Util::dirname(path) && Util::basename(newPath) == Util::basename(path)) { if (Params::instance().verbose_) { std::cout << _("This file already has the correct name") << std::endl; } return -1; } bool go = true; int seq = 1; std::string s; Params::FileExistsPolicy fileExistsPolicy = Params::instance().fileExistsPolicy_; while (go) { if (Exiv2::fileExists(newPath)) { switch (fileExistsPolicy) { case Params::overwritePolicy: go = false; break; case Params::renamePolicy: newPath = Util::dirname(path) + EXV_SEPARATOR_STR + basename + "_" + Exiv2::toString(seq++) + Util::suffix(path); break; case Params::askPolicy: std::cout << Params::instance().progname() << ": " << _("File") << " `" << newPath << "' " << _("exists. [O]verwrite, [r]ename or [s]kip?") << " "; std::cin >> s; switch (s[0]) { case 'o': case 'O': go = false; break; case 'r': case 'R': fileExistsPolicy = Params::renamePolicy; newPath = Util::dirname(path) + EXV_SEPARATOR_STR + basename + "_" + Exiv2::toString(seq++) + Util::suffix(path); break; default: // skip return -1; break; } } } else { go = false; } } if (Params::instance().verbose_) { std::cout << _("Renaming file to") << " " << newPath; if (Params::instance().timestamp_) { std::cout << ", " << _("updating timestamp"); } std::cout << std::endl; } // Workaround for MinGW rename which does not overwrite existing files remove(newPath.c_str()); if (std::rename(path.c_str(), newPath.c_str()) == -1) { std::cerr << Params::instance().progname() << ": " << _("Failed to rename") << " " << path << " " << _("to") << " " << newPath << ": " << Exiv2::strError() << "\n"; return 1; } return 0; } // renameFile std::string newFilePath(const std::string& path, const std::string& ext) { std::string directory = Params::instance().directory_; if (directory.empty()) directory = Util::dirname(path); std::string newPath = directory + EXV_SEPARATOR_STR + Util::basename(path, true) + ext; return newPath; } int dontOverwrite(const std::string& path) { if (!Params::instance().force_ && Exiv2::fileExists(path)) { std::cout << Params::instance().progname() << ": " << _("Overwrite") << " `" << path << "'? "; std::string s; std::cin >> s; if (s[0] != 'y' && s[0] != 'Y') return 1; } return 0; } std::ostream& operator<<( std::ostream& os, std::pair strAndWidth) { const std::string& str( strAndWidth.first); size_t minChCount( strAndWidth.second); size_t count = mbstowcs( NULL, str.c_str(), 0); // returns 0xFFFFFFFF on error if( count < minChCount) { minChCount += str.size() - count; } return os << std::setw( minChCount) << str; } } exiv2-0.25/src/canonmn_int.hpp0000664000175000017500000001454312521135474016131 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file canonmn_int.hpp @brief Canon makernote tags.
References:
[1] EXIF MakerNote of Canon by David Burren
[2] Canon makernote tags by Phil Harvey @version $Rev: 3777 $ @author Andreas Huggel (ahu)
David Cannings (dc) Andi Clemens (ac) @date 18-Feb-04, ahu: created
07-Mar-04, ahu: isolated as a separate component
12-Aug-06, dc: started updating all tags */ #ifndef CANONMN_INT_HPP_ #define CANONMN_INT_HPP_ // ***************************************************************************** // included header files #include "tags.hpp" #include "types.hpp" // + standard includes #include #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { class Value; namespace Internal { // ***************************************************************************** // class definitions //! MakerNote for Canon cameras class CanonMakerNote { public: //! Return read-only list of built-in Canon tags static const TagInfo* tagList(); //! Return read-only list of built-in Canon Camera Settings tags static const TagInfo* tagListCs(); //! Return read-only list of built-in Canon Shot Info tags static const TagInfo* tagListSi(); //! Return read-only list of built-in Canon Panorama tags static const TagInfo* tagListPa(); //! Return read-only list of built-in Canon Custom Function tags static const TagInfo* tagListCf(); //! Return read-only list of built-in Canon Picture Info tags static const TagInfo* tagListPi(); //! Return read-only list of built-in Canon File Info tags static const TagInfo* tagListFi(); //! Return read-only list of built-in Canon Processing Info tags static const TagInfo* tagListPr(); //! @name Print functions for Canon %MakerNote tags //@{ //! Print the FileInfo FileNumber static std::ostream& printFiFileNumber(std::ostream& os, const Value& value, const ExifData* metadata); //! Print the focal length static std::ostream& printFocalLength(std::ostream& os, const Value& value, const ExifData*); //! Print the image number static std::ostream& print0x0008(std::ostream& os, const Value& value, const ExifData*); //! Print the serial number of the camera static std::ostream& print0x000c(std::ostream& os, const Value& value, const ExifData*); //! Self timer static std::ostream& printCs0x0002(std::ostream& os, const Value& value, const ExifData*); //! Camera lens type. For some values, the exact type can only be determined if \em metadata is provided. static std::ostream& printCsLensType(std::ostream& os, const Value& value, const ExifData* metadata); //! Camera lens information static std::ostream& printCsLens(std::ostream& os, const Value& value, const ExifData*); //! ISO speed used static std::ostream& printSi0x0002(std::ostream& os, const Value& value, const ExifData*); //! MeasuredEV static std::ostream& printSi0x0003(std::ostream& os, const Value& value, const ExifData*); //! Sequence number static std::ostream& printSi0x0009(std::ostream& os, const Value& value, const ExifData*); //! AF point used static std::ostream& printSi0x000e(std::ostream& os, const Value& value, const ExifData* pExifData); //! Subject distance static std::ostream& printSi0x0013(std::ostream& os, const Value& value, const ExifData*); //! Aperture static std::ostream& printSi0x0015(std::ostream& os, const Value& value, const ExifData*); //! Shutter speed static std::ostream& printSi0x0016(std::ostream& os, const Value& value, const ExifData*); //! MeasuredEV2 static std::ostream& printSi0x0017(std::ostream& os, const Value& value, const ExifData*); //! Focus Distance static std::ostream& printFiFocusDistance(std::ostream& os, const Value& value, const ExifData*); //@} private: // DATA //! Tag information static const TagInfo tagInfo_[]; static const TagInfo tagInfoCs_[]; static const TagInfo tagInfoSi_[]; static const TagInfo tagInfoCf_[]; static const TagInfo tagInfoPi_[]; static const TagInfo tagInfoFi_[]; static const TagInfo tagInfoPa_[]; static const TagInfo tagInfoPr_[]; }; // class CanonMakerNote // ***************************************************************************** // template, inline and free functions /*! @brief Convert Canon hex-based EV (modulo 0x20) to real number Ported from Phil Harvey's Image::ExifTool::Canon::CanonEv by Will Stokes 0x00 -> 0 0x0c -> 0.33333 0x10 -> 0.5 0x14 -> 0.66666 0x20 -> 1 .. 160 -> 5 128 -> 4 143 -> 4.46875 */ float canonEv(long val); }} // namespace Internal, Exiv2 #endif // #ifndef CANONMN_INT_HPP_ exiv2-0.25/src/timegm.h0000664000175000017500000000552712523622506014551 0ustar andreasandreas/*! @file timegm.h @brief Declaration of timegm(). The implementation is in localtime.c @version $Rev: 1800 $ */ #ifndef TIMEGM_H_ #define TIMEGM_H_ #include /* The following comments are copied from the Makefile of the tz distribution, available at ftp://elsie.nci.nih.gov/pub/: NIST-PCTS:151-2, Version 1.4, (1993-12-03) is a test suite put out by the National Institute of Standards and Technology which claims to test C and Posix conformance. If you want to pass PCTS, add -DPCTS to the end of the "CFLAGS=" line. If your system has a "zone abbreviation" field in its "struct tm"s (or if you decide to add such a field in your system's "time.h" file), add the name to a define such as -DTM_ZONE=tm_zone or -DTM_ZONE=_tm_zone to the end of the "CFLAGS=" line. If you want functions that were inspired by early versions of X3J11's work, add -DSTD_INSPIRED to the end of the "CFLAGS=" line. If you want to allocate state structures in localtime, add -DALL_STATE to the end of the "CFLAGS=" line. Storage is obtained by calling malloc. If you want Source Code Control System ID's left out of object modules, add -DNOID Add the following to the end of the "CFLAGS=" line as needed. -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified DST transitions if the time zone files cannot be accessed If you want to use System V compatibility code, add -DUSG_COMPAT to the end of the "CFLAGS=" line. This arrange for "timezone" and "daylight" variables to be kept up-to-date by the time conversion functions. Neither "timezone" nor "daylight" is described in X3J11's work. If you want an "altzone" variable (a la System V Release 3.1), add -DALTZONE to the end of the "CFLAGS=" line. This variable is not described in X3J11's work. If your system has a "GMT offset" field in its "struct tm"s (or if you decide to add such a field in your system's "time.h" file), add the name to a define such as -DTM_GMTOFF=tm_gmtoff or -DTM_GMTOFF=_tm_gmtoff to the end of the "CFLAGS=" line. Neither tm_gmtoff nor _tm_gmtoff is described in X3J11's work; in its work, use of "tm_gmtoff" is described as non-conforming. Both Linux and BSD have done the equivalent of defining TM_GMTOFF in their recent releases. If you want a "gtime" function (a la MACH), add -DCMUCS to the end of the "CFLAGS=" line This function is not described in X3J11's work. */ #define STD_INSPIRED #define NOID #ifdef __cplusplus extern "C" { #endif // The UTC version of mktime /* rmills - timegm is replaced with _mkgmtime on VC 2005 and up */ /* - see localtime.c */ #if !defined(_MSC_VER) || (_MSC_VER < 1400) time_t timegm(struct tm * const tmp); #else #define timegm _mkgmtime #endif #ifdef __cplusplus } #endif #endif // #ifndef TIMEGM_H_ exiv2-0.25/src/exiv2app.hpp0000664000175000017500000002622612521135474015365 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file exiv2app.hpp @brief Defines class Params, used for the command line handling of exiv2 @version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 08-Dec-03, ahu: created */ #ifndef EXIV2APP_HPP_ #define EXIV2APP_HPP_ // ***************************************************************************** // included header files #include "utils.hpp" #include "types.hpp" // + standard includes #include #include #include #include #if EXV_HAVE_REGEX #include #endif // ***************************************************************************** // class definitions //! Command identifiers enum CmdId { invalidCmdId, add, set, del, reg }; //! Metadata identifiers // enum MetadataId { invalidMetadataId, iptc, exif, xmp }; //! Metadata identifiers // mdNone=0, mdExif=1, mdIptc=2, mdComment=4, mdXmp=8 enum MetadataId { invalidMetadataId = Exiv2::mdNone , iptc = Exiv2::mdIptc , exif = Exiv2::mdExif , xmp = Exiv2::mdXmp } ; //! Structure for one parsed modification command struct ModifyCmd { //! C'tor ModifyCmd() : cmdId_(invalidCmdId), metadataId_(invalidMetadataId), typeId_(Exiv2::invalidTypeId), explicitType_(false) {} CmdId cmdId_; //!< Command identifier std::string key_; //!< Exiv2 key string MetadataId metadataId_; //!< Metadata identifier Exiv2::TypeId typeId_; //!< Exiv2 type identifier //! Flag to indicate if the type was explicitly specified (true) bool explicitType_; std::string value_; //!< Data }; //! Container for modification commands typedef std::vector ModifyCmds; //! Structure to link command identifiers to strings struct CmdIdAndString { CmdId cmdId_; //!< Commands identifier std::string cmdString_; //!< Command string }; /*! @brief Implements the command line handling for the program. Derives from Util::Getopt to use the command line argument parsing functionality provided there. This class is implemented as a singleton, i.e., there is only one global instance of it, which can be accessed from everywhere. Usage example:
@code #include "params.h" int main(int argc, char* const argv[]) { Params& params = Params::instance(); if (params.getopt(argc, argv)) { params.usage(); return 1; } if (params.help_) { params.help(); return 0; } if (params.version_) { params.version(); return 0; } // do something useful here... return 0; } @endcode */ class Params : public Util::Getopt { private: std::string optstring_; public: //! Container for command files typedef std::vector CmdFiles; //! Container for commands from the command line typedef std::vector CmdLines; //! Container to store filenames. typedef std::vector Files; //! Container for preview image numbers typedef std::set PreviewNumbers; //! Container for greps typedef exv_grep_keys_t Greps; //! Container for keys typedef std::vector Keys; /*! @brief Controls all access to the global Params instance. @return Reference to the global Params instance. */ static Params& instance(); //! Destructor void cleanup(); //! Enumerates print modes enum PrintMode { pmSummary, pmList, pmComment, pmPreview, pmStructure, pmXMP }; //! Individual items to print, bitmap enum PrintItem { prTag = 1, prGroup = 2, prKey = 4, prName = 8, prLabel = 16, prType = 32, prCount = 64, prSize = 128, prValue = 256, prTrans = 512, prHex = 1024 }; //! Enumerates common targets, bitmap enum CommonTarget { ctExif = 1, ctIptc = 2, ctComment = 4, ctThumb = 8, ctXmp = 16, ctXmpSidecar = 32, ctPreview = 64 }; //! Enumerates the policies to handle existing files in rename action enum FileExistsPolicy { overwritePolicy, renamePolicy, askPolicy }; //! Enumerates year, month and day adjustments. enum Yod { yodYear, yodMonth, yodDay }; //! Structure for year, month and day adjustment command line arguments. struct YodAdjust { bool flag_; //!< Adjustment flag. const char* option_; //!< Adjustment option string. long adjustment_; //!< Adjustment value. }; bool help_; //!< Help option flag. bool version_; //!< Version option flag. bool verbose_; //!< Verbose (talkative) option flag. bool force_; //!< Force overwrites flag. bool binary_; //!< Suppress long binary values. bool unknown_; //!< Suppress unknown tags. bool preserve_; //!< Preserve timestamps flag. bool timestamp_; //!< Rename also sets the file timestamp. bool timestampOnly_; //!< Rename only sets the file timestamp. FileExistsPolicy fileExistsPolicy_; //!< What to do if file to rename exists. bool adjust_; //!< Adjustment flag. PrintMode printMode_; //!< Print mode. unsigned long printItems_; //!< Print items. unsigned long printTags_; //!< Print tags (bitmap of MetadataId flags). //! %Action (integer rather than TaskType to avoid dependency). int action_; int target_; //!< What common target to process. long adjustment_; //!< Adjustment in seconds. YodAdjust yodAdjust_[3]; //!< Year, month and day adjustment info. std::string format_; //!< Filename format (-r option arg). bool formatSet_; //!< Whether the format is set with -r CmdFiles cmdFiles_; //!< Names of the modification command files CmdLines cmdLines_; //!< Commands from the command line ModifyCmds modifyCmds_; //!< Parsed modification commands std::string jpegComment_; //!< Jpeg comment to set in the image std::string directory_; //!< Location for files to extract/insert std::string suffix_; //!< File extension of the file to insert Files files_; //!< List of non-option arguments. PreviewNumbers previewNumbers_; //!< List of preview numbers Greps greps_; //!< List of keys to 'grep' from the metadata Keys keys_; //!< List of keys to match from the metadata std::string charset_; //!< Charset to use for UNICODE Exif user comment private: //! Pointer to the global Params object. static Params* instance_; //! Initializer for year, month and day adjustment info. static const YodAdjust emptyYodAdjust_[]; bool first_; private: /*! @brief Default constructor. Note that optstring_ is initialized here. The c'tor is private to force instantiation through instance(). */ Params() : optstring_(":hVvqfbuktTFa:Y:O:D:r:p:P:d:e:i:c:m:M:l:S:g:K:n:Q:"), help_(false), version_(false), verbose_(false), force_(false), binary_(true), unknown_(true), preserve_(false), timestamp_(false), timestampOnly_(false), fileExistsPolicy_(askPolicy), adjust_(false), printMode_(pmSummary), printItems_(0), printTags_(Exiv2::mdNone), action_(0), target_(ctExif|ctIptc|ctComment|ctXmp), adjustment_(0), format_("%Y%m%d_%H%M%S"), formatSet_(false), first_(true) { yodAdjust_[yodYear] = emptyYodAdjust_[yodYear]; yodAdjust_[yodMonth] = emptyYodAdjust_[yodMonth]; yodAdjust_[yodDay] = emptyYodAdjust_[yodDay]; } //! Prevent copy-construction: not implemented. Params(const Params& rhs); //! @name Helpers //@{ int setLogLevel(const std::string& optarg); int evalGrep( const std::string& optarg); int evalKey( const std::string& optarg); int evalRename(int opt, const std::string& optarg); int evalAdjust(const std::string& optarg); int evalYodAdjust(const Yod& yod, const std::string& optarg); int evalPrint(const std::string& optarg); int evalPrintFlags(const std::string& optarg); int evalDelete(const std::string& optarg); int evalExtract(const std::string& optarg); int evalInsert(const std::string& optarg); int evalModify(int opt, const std::string& optarg); //@} public: /*! @brief Call Getopt::getopt() with optstring, to inititate command line argument parsing, perform consistency checks after all command line arguments are parsed. @param argc Argument count as passed to main() on program invocation. @param argv Argument array as passed to main() on program invocation. @return 0 if successful, >0 in case of errors. */ int getopt(int argc, char* const argv[]); //! Handle options and their arguments. virtual int option(int opt, const std::string& optarg, int optopt); //! Handle non-option parameters. virtual int nonoption(const std::string& argv); //! Print a minimal usage note to an output stream. void usage(std::ostream& os =std::cout) const; //! Print further usage explanations to an output stream. void help(std::ostream& os =std::cout) const; //! Print version information to an output stream. void version(bool verbose =false, std::ostream& os =std::cout) const; }; // class Params #endif // #ifndef EXIV2APP_HPP_ exiv2-0.25/src/pentaxmn_int.hpp0000664000175000017500000001306612521135474016331 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file pentaxmn_int.hpp @brief Pentax MakerNote implemented according to the specification http://www.gvsoft.homedns.org/exif/makernote-pentax-type3.html and based on ExifTool implementation and Pentax Makernote list by Phil Harvey
@version $Rev: 3777 $ @author Michal Cihar michal@cihar.com @date 27-Sep-07 */ #ifndef PENTAXMN_INT_HPP_ #define PENTAXMN_INT_HPP_ // ***************************************************************************** // included header files #include "tags.hpp" #include "tags_int.hpp" #include "types.hpp" // + standard includes #include #include #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { namespace Internal { // ***************************************************************************** // class definitions //! MakerNote for Pentaxfilm cameras class PentaxMakerNote { public: //! Return read-only list of built-in Pentaxfilm tags static const TagInfo* tagList(); //! Print Pentax version static std::ostream& printPentaxVersion(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax resolution static std::ostream& printPentaxResolution(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax date static std::ostream& printPentaxDate(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax time static std::ostream& printPentaxTime(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax exposure static std::ostream& printPentaxExposure(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax F value static std::ostream& printPentaxFValue(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax focal length static std::ostream& printPentaxFocalLength(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax compensation static std::ostream& printPentaxCompensation(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax temperature static std::ostream& printPentaxTemperature(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax flash compensation static std::ostream& printPentaxFlashCompensation(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax bracketing static std::ostream& printPentaxBracketing(std::ostream& os, const Value& value, const ExifData*); private: //! Tag information static const TagInfo tagInfo_[]; }; // class PentaxMakerNote /*! @brief Print function to translate Pentax "combi-values" to a description by looking up a reference table. */ template std::ostream& printCombiTag(std::ostream& os, const Value& value, const ExifData* metadata) { std::ios::fmtflags f( os.flags() ); if ((value.count() != count && (value.count() < (count + ignoredcount) || value.count() > (count + ignoredcountmax))) || count > 4) { return printValue(os, value, metadata); } unsigned long l = 0; for (int c = 0; c < count; ++c) { if (value.toLong(c) < 0 || value.toLong(c) > 255) { return printValue(os, value, metadata); } l += (value.toLong(c) << ((count - c - 1) * 8)); } const TagDetails* td = find(array, l); if (td) { os << exvGettext(td->label_); } else { os << exvGettext("Unknown") << " (0x" << std::setw(2 * count) << std::setfill('0') << std::hex << l << std::dec << ")"; } os.flags(f); return os; } //! Shortcut for the printCombiTag template which requires typing the array name only once. #define EXV_PRINT_COMBITAG(array, count, ignoredcount) printCombiTag //! Shortcut for the printCombiTag template which requires typing the array name only once. #define EXV_PRINT_COMBITAG_MULTI(array, count, ignoredcount, ignoredcountmax) printCombiTag }} // namespace Internal, Exiv2 #endif // #ifndef PENTAXMN_INT_HPP_ exiv2-0.25/src/tiffmn-test.cpp0000664000175000017500000001417611027153701016054 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // tiffmn-test.cpp, $Rev: 1512 $ // Makernote TIFF writer tests. #include "tiffimage.hpp" #include "exif.hpp" #include "error.hpp" #include #include #include using namespace Exiv2; void canonmn(const std::string& path); void fujimn(const std::string& path); void minoltamn(const std::string& path); void nikon1mn(const std::string& path); void nikon2mn(const std::string& path); void nikon3mn(const std::string& path); void olympusmn(const std::string& path); void panasonicmn(const std::string& path); void sigmamn(const std::string& path); void sony1mn(const std::string& path); void sony2mn(const std::string& path); void print(const ExifData& exifData); int main() try { canonmn("exiv2-canonmn.tif"); fujimn("exiv2-fujimn.tif"); minoltamn("exiv2-minoltamn.tif"); nikon1mn("exiv2-nikon1mn.tif"); nikon2mn("exiv2-nikon2mn.tif"); nikon3mn("exiv2-nikon3mn.tif"); olympusmn("exiv2-olympusmn.tif"); panasonicmn("exiv2-panasonicmn.tif"); sigmamn("exiv2-sigmamn.tif"); sony1mn("exiv2-sony1mn.tif"); sony2mn("exiv2-sony2mn.tif"); return 0; } catch (const Error& e) { std::cout << e << "\n"; } void canonmn(const std::string& path) { TiffImage tiffImage(BasicIo::AutoPtr(new FileIo(path)), false); ExifData& exifData = tiffImage.exifData(); exifData["Exif.Image.Make"] = "Canon"; exifData["Exif.Photo.DateTimeOriginal"] = "Yesterday at noon"; exifData["Exif.Canon.OwnerName"] = "Camera Owner"; print(exifData); tiffImage.writeMetadata(); } void fujimn(const std::string& path) { TiffImage tiffImage(BasicIo::AutoPtr(new FileIo(path)), false); ExifData& exifData = tiffImage.exifData(); exifData["Exif.Image.Make"] = "FUJIFILM"; exifData["Exif.Photo.DateTimeOriginal"] = "Yesterday at noon"; exifData["Exif.Fujifilm.Quality"] = "Very good"; print(exifData); tiffImage.writeMetadata(); } void minoltamn(const std::string& path) { TiffImage tiffImage(BasicIo::AutoPtr(new FileIo(path)), false); ExifData& exifData = tiffImage.exifData(); exifData["Exif.Image.Make"] = "Minolta"; exifData["Exif.Photo.DateTimeOriginal"] = "Yesterday at noon"; exifData["Exif.Minolta.Quality"] = uint32_t(42); print(exifData); tiffImage.writeMetadata(); } void nikon1mn(const std::string& path) { TiffImage tiffImage(BasicIo::AutoPtr(new FileIo(path)), false); ExifData& exifData = tiffImage.exifData(); exifData["Exif.Image.Make"] = "NIKON"; exifData["Exif.Photo.DateTimeOriginal"] = "Yesterday at noon"; exifData["Exif.Nikon1.Quality"] = "Excellent"; print(exifData); tiffImage.writeMetadata(); } void nikon2mn(const std::string& path) { TiffImage tiffImage(BasicIo::AutoPtr(new FileIo(path)), false); ExifData& exifData = tiffImage.exifData(); exifData["Exif.Image.Make"] = "NIKON"; exifData["Exif.Photo.DateTimeOriginal"] = "Yesterday at noon"; exifData["Exif.Nikon2.Quality"] = uint16_t(42); print(exifData); tiffImage.writeMetadata(); } void nikon3mn(const std::string& path) { TiffImage tiffImage(BasicIo::AutoPtr(new FileIo(path)), false); ExifData& exifData = tiffImage.exifData(); exifData["Exif.Image.Make"] = "NIKON"; exifData["Exif.Photo.DateTimeOriginal"] = "Yesterday at noon"; exifData["Exif.Nikon3.Quality"] = "Nikon3 quality"; print(exifData); tiffImage.writeMetadata(); } void olympusmn(const std::string& path) { TiffImage tiffImage(BasicIo::AutoPtr(new FileIo(path)), false); ExifData& exifData = tiffImage.exifData(); exifData["Exif.Image.Make"] = "OLYMPUS"; exifData["Exif.Photo.DateTimeOriginal"] = "Yesterday at noon"; exifData["Exif.Olympus.Quality"] = uint16_t(42); print(exifData); tiffImage.writeMetadata(); } void panasonicmn(const std::string& path) { TiffImage tiffImage(BasicIo::AutoPtr(new FileIo(path)), false); ExifData& exifData = tiffImage.exifData(); exifData["Exif.Image.Make"] = "Panasonic"; exifData["Exif.Photo.DateTimeOriginal"] = "Yesterday at noon"; exifData["Exif.Panasonic.Quality"] = uint16_t(42); print(exifData); tiffImage.writeMetadata(); } void sigmamn(const std::string& path) { TiffImage tiffImage(BasicIo::AutoPtr(new FileIo(path)), false); ExifData& exifData = tiffImage.exifData(); exifData["Exif.Image.Make"] = "SIGMA"; exifData["Exif.Photo.DateTimeOriginal"] = "Yesterday at noon"; exifData["Exif.Sigma.Quality"] = "Sigma quality"; print(exifData); tiffImage.writeMetadata(); } void sony1mn(const std::string& path) { TiffImage tiffImage(BasicIo::AutoPtr(new FileIo(path)), false); ExifData& exifData = tiffImage.exifData(); exifData["Exif.Image.Make"] = "SONY"; exifData["Exif.Photo.DateTimeOriginal"] = "Yesterday at noon"; exifData["Exif.Sony.0x2000"] = uint16_t(42); print(exifData); tiffImage.writeMetadata(); } void sony2mn(const std::string& path) { TiffImage tiffImage(BasicIo::AutoPtr(new FileIo(path)), false); ExifData& exifData = tiffImage.exifData(); exifData["Exif.Image.Make"] = "SONY"; exifData["Exif.Photo.DateTimeOriginal"] = "Yesterday at noon"; exifData["Exif.Sony.0x2001"] = uint16_t(43); print(exifData); tiffImage.writeMetadata(); } void print(const ExifData& exifData) { if (exifData.empty()) { std::string error("No Exif data found in the file"); throw Exiv2::Error(1, error); } Exiv2::ExifData::const_iterator end = exifData.end(); for (Exiv2::ExifData::const_iterator i = exifData.begin(); i != end; ++i) { std::cout << std::setw(44) << std::setfill(' ') << std::left << i->key() << " " << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << i->tag() << " " << std::setw(9) << std::setfill(' ') << std::left << i->typeName() << " " << std::dec << std::setw(3) << std::setfill(' ') << std::right << i->count() << " " << std::dec << i->value() << "\n"; } } exiv2-0.25/src/futils.cpp0000664000175000017500000003444512521135474015132 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: futils.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 08-Dec-03, ahu: created 02-Apr-05, ahu: moved to Exiv2 namespace */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: futils.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "futils.hpp" // + standard includes #include #include #ifdef _MSC_VER # define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) #endif #ifdef EXV_HAVE_UNISTD_H # include // for stat() #endif #include #include #include #include #if defined EXV_HAVE_STRERROR_R && !defined EXV_HAVE_DECL_STRERROR_R # ifdef EXV_STRERROR_R_CHAR_P extern char *strerror_r(int errnum, char *buf, size_t n); # else extern int strerror_r(int errnum, char *buf, size_t n); # endif #endif namespace Exiv2 { const char* ENVARDEF[] = {"/exiv2.php", "40"}; const char* ENVARKEY[] = {"EXIV2_HTTP_POST", "EXIV2_TIMEOUT"}; // ***************************************************************************** // free functions std::string getEnv(EnVar var) { return getenv(ENVARKEY[var]) ? getenv(ENVARKEY[var]) : ENVARDEF[var]; } // getEnv char to_hex(char code) { static char hex[] = "0123456789abcdef"; return hex[code & 15]; } // to_hex char from_hex(char ch) { return isdigit(ch) ? ch - '0' : tolower(ch) - 'a' + 10; } // from_hex char* urlencode(char* str) { char* pstr = str; char* buf = (char*)malloc(strlen(str) * 3 + 1); char* pbuf = buf; while (*pstr) { if (isalnum(*pstr) || *pstr == '-' || *pstr == '_' || *pstr == '.' || *pstr == '~') *pbuf++ = *pstr; else if (*pstr == ' ') *pbuf++ = '+'; else *pbuf++ = '%', *pbuf++ = to_hex(*pstr >> 4), *pbuf++ = to_hex(*pstr & 15); pstr++; } *pbuf = '\0'; return buf; } // urlencode char* urldecode(const char* str) { const char* pstr = str; char* buf = (char*)malloc(strlen(str) + 1); char* pbuf = buf; while (*pstr) { if (*pstr == '%') { if (pstr[1] && pstr[2]) { *pbuf++ = from_hex(pstr[1]) << 4 | from_hex(pstr[2]); pstr += 2; } } else if (*pstr == '+') { *pbuf++ = ' '; } else { *pbuf++ = *pstr; } pstr++; } *pbuf = '\0'; return buf; } // urldecode void urldecode(std::string& str) { char* decodeStr = Exiv2::urldecode(str.c_str()); str = std::string(decodeStr); free(decodeStr); } // urldecode(const std::string& str) int base64encode(const void* data_buf, size_t dataLength, char* result, size_t resultSize) { const char base64chars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; const uint8_t* data = (const uint8_t*)data_buf; size_t resultIndex = 0; size_t x; uint32_t n = 0; size_t padCount = dataLength % 3; uint8_t n0, n1, n2, n3; /* increment over the length of the string, three characters at a time */ for (x = 0; x < dataLength; x += 3) { /* these three 8-bit (ASCII) characters become one 24-bit number */ n = data[x] << 16; if((x+1) < dataLength) n += data[x+1] << 8; if((x+2) < dataLength) n += data[x+2]; /* this 24-bit number gets separated into four 6-bit numbers */ n0 = (uint8_t)(n >> 18) & 63; n1 = (uint8_t)(n >> 12) & 63; n2 = (uint8_t)(n >> 6) & 63; n3 = (uint8_t)n & 63; /* * if we have one byte available, then its encoding is spread * out over two characters */ if(resultIndex >= resultSize) return 0; /* indicate failure: buffer too small */ result[resultIndex++] = base64chars[n0]; if(resultIndex >= resultSize) return 0; /* indicate failure: buffer too small */ result[resultIndex++] = base64chars[n1]; /* * if we have only two bytes available, then their encoding is * spread out over three chars */ if((x+1) < dataLength) { if(resultIndex >= resultSize) return 0; /* indicate failure: buffer too small */ result[resultIndex++] = base64chars[n2]; } /* * if we have all three bytes available, then their encoding is spread * out over four characters */ if((x+2) < dataLength) { if(resultIndex >= resultSize) return 0; /* indicate failure: buffer too small */ result[resultIndex++] = base64chars[n3]; } } /* * create and add padding that is required if we did not have a multiple of 3 * number of characters available */ if (padCount > 0) { for (; padCount < 3; padCount++) { if(resultIndex >= resultSize) return 0; /* indicate failure: buffer too small */ result[resultIndex++] = '='; } } if(resultIndex >= resultSize) return 0; /* indicate failure: buffer too small */ result[resultIndex] = 0; return 1; /* indicate success */ } // base64encode long base64decode(const char *in, char *out, size_t out_size) { static const char decode[] = "|$$$}rstuvwxyz{$$$$$$$>?@ABCDEFGHIJKLMNOPQRSTUVW" "$$$$$$XYZ[\\]^_`abcdefghijklmnopq"; long len; long i; long done = 0; unsigned char v; unsigned char quad[4]; while (*in) { len = 0; for (i = 0; i < 4 && *in; i++) { v = 0; while (*in && !v) { v = *in++; v = (v < 43 || v > 122) ? 0 : decode[v - 43]; if (v) v = (v == '$') ? 0 : v - 61; if (*in) { len++; if (v) quad[i] = v - 1; } else quad[i] = 0; } } if (!len) continue; if (out_size < (size_t) (done + len - 1)) /* out buffer is too small */ return -1; if (len >= 2) *out++ = quad[0] << 2 | quad[1] >> 4; if (len >= 3) *out++ = quad[1] << 4 | quad[2] >> 2; if (len >= 4) *out++ = ((quad[2] << 6) & 0xc0) | quad[3]; done += len - 1; } if ((size_t)(done + 1) >= out_size) return -1; *out++ = '\0'; return done; } // base64decode Protocol fileProtocol(const std::string& path) { Protocol result = pFile ; struct { std::string name ; Protocol prot ; } prots[] = { { "http://" ,pHttp } , { "https://" ,pHttps } , { "ftp://" ,pFtp } , { "sftp://" ,pSftp } , { "ssh://" ,pSsh } , { "file://" ,pFileUri } , { "data://" ,pDataUri } , { "-" ,pStdin } }; for ( size_t i = 0 ; result == pFile && i < sizeof(prots)/sizeof(prots[0]) ; i ++ ) if ( path.find(prots[i].name) == 0 ) result = prots[i].prot; return result; } // fileProtocol #ifdef EXV_UNICODE_PATH Protocol fileProtocol(const std::wstring& wpath) { Protocol result = pFile ; struct { std::wstring wname ; Protocol prot ; } prots[] = { { L"http://" ,pHttp } , { L"https://" ,pHttps } , { L"ftp://" ,pFtp } , { L"sftp://" ,pSftp } , { L"ssh://" ,pSsh } , { L"file://" ,pFileUri } , { L"data://" ,pDataUri } , { L"-" ,pStdin } }; for ( size_t i = 0 ; result == pFile && i < sizeof(prots)/sizeof(prots[0]) ; i ++ ) if ( wpath.find(prots[i].wname) == 0 ) result = prots[i].prot; return result; } // fileProtocol #endif bool fileExists(const std::string& path, bool ct) { // special case: accept "-" (means stdin) if (path.compare("-") == 0 || fileProtocol(path)) { return true; } struct stat buf; int ret = ::stat(path.c_str(), &buf); if (0 != ret) return false; if (ct && !S_ISREG(buf.st_mode)) return false; return true; } // fileExists #ifdef EXV_UNICODE_PATH bool fileExists(const std::wstring& wpath, bool ct) { // special case: accept "-" (means stdin) if (wpath.compare(L"-") == 0 || fileProtocol(wpath)) { return true; } struct _stat buf; int ret = _wstat(wpath.c_str(), &buf); if (0 != ret) return false; if (ct && !S_ISREG(buf.st_mode)) return false; return true; } // fileExists #endif std::string pathOfFileUrl(const std::string& url) { std::string path = url.substr(7); size_t found = path.find('/'); if (found == std::string::npos) return path; else return path.substr(found); } #ifdef EXV_UNICODE_PATH std::wstring pathOfFileUrl(const std::wstring& wurl) { std::wstring path = wurl.substr(7); size_t found = path.find('/'); if (found == std::wstring::npos) return path; else return path.substr(found); } #endif std::string strError() { int error = errno; std::ostringstream os; #ifdef EXV_HAVE_STRERROR_R const size_t n = 1024; // _GNU_SOURCE: See Debian bug #485135 # if defined EXV_STRERROR_R_CHAR_P && defined _GNU_SOURCE char *buf = 0; char buf2[n]; std::memset(buf2, 0x0, n); buf = strerror_r(error, buf2, n); # else char buf[n]; std::memset(buf, 0x0, n); strerror_r(error, buf, n); # endif os << buf; // Issue# 908. // report strerror() if strerror_r() returns empty if ( !buf[0] ) os << strerror(error); #else os << std::strerror(error); #endif os << " (errno = " << error << ")"; return os.str(); } // strError void Uri::Decode(Uri& uri) { urldecode(uri.QueryString); urldecode(uri.Path); urldecode(uri.Host); urldecode(uri.Username); urldecode(uri.Password); } Uri Uri::Parse(const std::string &uri) { Uri result; typedef std::string::const_iterator iterator_t; if ( !uri.length() ) return result; iterator_t uriEnd = uri.end(); // get query start iterator_t queryStart = std::find(uri.begin(), uriEnd, '?'); // protocol iterator_t protocolStart = uri.begin(); iterator_t protocolEnd = std::find(protocolStart, uriEnd, ':'); //"://"); if (protocolEnd != uriEnd) { std::string prot = &*(protocolEnd); if ((prot.length() > 3) && (prot.substr(0, 3) == "://")) { result.Protocol = std::string(protocolStart, protocolEnd); protocolEnd += 3; // :// } else protocolEnd = uri.begin(); // no protocol } else protocolEnd = uri.begin(); // no protocol //username & password iterator_t authStart = protocolEnd; iterator_t authEnd = std::find(protocolEnd, uriEnd, '@'); if (authEnd != uriEnd) { iterator_t userStart = authStart; iterator_t userEnd = std::find(authStart, authEnd, ':'); if (userEnd != authEnd) { result.Username = std::string(userStart, userEnd); userEnd++; result.Password = std::string(userEnd, authEnd); } else { result.Username = std::string(authStart, authEnd); } authEnd++; } else { authEnd = protocolEnd; } // host iterator_t hostStart = authEnd; iterator_t pathStart = std::find(hostStart, uriEnd, '/'); // get pathStart iterator_t hostEnd = std::find(authEnd, (pathStart != uriEnd) ? pathStart : queryStart, ':'); // check for port result.Host = std::string(hostStart, hostEnd); // port if ((hostEnd != uriEnd) && ((&*(hostEnd))[0] == ':')) // we have a port { hostEnd++; iterator_t portEnd = (pathStart != uriEnd) ? pathStart : queryStart; result.Port = std::string(hostEnd, portEnd); } if ( !result.Port.length() && result.Protocol == "http" ) result.Port = "80"; // path if (pathStart != uriEnd) result.Path = std::string(pathStart, queryStart); // query if (queryStart != uriEnd) result.QueryString = std::string(queryStart, uri.end()); return result; } // Uri::Parse } // namespace Exiv2 exiv2-0.25/src/gifimage.cpp0000664000175000017500000001026612521135474015367 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: gifimage.cpp Version: $Rev: 3777 $ Author(s): Marco Piovanelli, Ovolab (marco) History: 26-Feb-2007, marco: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: gifimage.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // ***************************************************************************** // included header files #include "config.h" #include "gifimage.hpp" #include "image.hpp" #include "basicio.hpp" #include "error.hpp" #include "futils.hpp" // + standard includes #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { GifImage::GifImage(BasicIo::AutoPtr io) : Image(ImageType::gif, mdNone, io) { } // GifImage::GifImage std::string GifImage::mimeType() const { return "image/gif"; } void GifImage::setExifData(const ExifData& /*exifData*/) { // Todo: implement me! throw(Error(32, "Exif metadata", "GIF")); } void GifImage::setIptcData(const IptcData& /*iptcData*/) { // Todo: implement me! throw(Error(32, "IPTC metadata", "GIF")); } void GifImage::setComment(const std::string& /*comment*/) { // not supported throw(Error(32, "Image comment", "GIF")); } void GifImage::readMetadata() { #ifdef DEBUG std::cerr << "Exiv2::GifImage::readMetadata: Reading GIF file " << io_->path() << "\n"; #endif if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); // Ensure that this is the correct image type if (!isGifType(*io_, true)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "GIF"); } clearMetadata(); byte buf[4]; if (io_->read(buf, sizeof(buf)) == sizeof(buf)) { pixelWidth_ = getShort(buf, littleEndian); pixelHeight_ = getShort(buf + 2, littleEndian); } } // GifImage::readMetadata void GifImage::writeMetadata() { // Todo: implement me! throw(Error(31, "GIF")); } // GifImage::writeMetadata // ************************************************************************* // free functions Image::AutoPtr newGifInstance(BasicIo::AutoPtr io, bool /*create*/) { Image::AutoPtr image(new GifImage(io)); if (!image->good()) { image.reset(); } return image; } bool isGifType(BasicIo& iIo, bool advance) { const int32_t len = 6; const unsigned char Gif87aId[8] = { 'G', 'I', 'F', '8', '7', 'a' }; const unsigned char Gif89aId[8] = { 'G', 'I', 'F', '8', '9', 'a' }; byte buf[len]; iIo.read(buf, len); if (iIo.error() || iIo.eof()) { return false; } bool matched = (memcmp(buf, Gif87aId, len) == 0) || (memcmp(buf, Gif89aId, len) == 0); if (!advance || !matched) { iIo.seek(-len, BasicIo::cur); } return matched; } } // namespace Exiv2 exiv2-0.25/src/crwedit.cpp0000664000175000017500000000717011762756175015275 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // crwedit.cpp, $Rev: 2746 $ // Print the CIFF structure of a CRW file #include "crwimage.hpp" #include "crwimage_int.hpp" #include "futils.hpp" #include #include #include void remove(Exiv2::Internal::CiffHeader* pHead); void add(Exiv2::Internal::CiffHeader* pHead); void help(); void write(const std::string& filename, const Exiv2::Internal::CiffHeader* pHead); int main(int argc, char* const argv[]) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; std::cout << "Edit the CIFF structure of a CRW file\n"; return 1; } std::string filename(argv[1]); Exiv2::FileIo io(filename); if(io.open() != 0) { throw Exiv2::Error(9, io.path(), Exiv2::strError()); } Exiv2::IoCloser closer(io); // Ensure that this is a CRW image if (!Exiv2::isCrwType(io, false)) { if (io.error() || io.eof()) throw Exiv2::Error(14); throw Exiv2::Error(33); } // Read the image into a memory buffer long len = io.size(); Exiv2::DataBuf buf(len); io.read(buf.pData_, len); if (io.error() || io.eof()) throw Exiv2::Error(14); // Parse the image, starting with a CIFF header component Exiv2::Internal::CiffHeader::AutoPtr parseTree(new Exiv2::Internal::CiffHeader); parseTree->read(buf.pData_, buf.size_); // Allow user to make changes bool go = true; while (go) { char cmd; std::cout << "command> "; std::cin >> cmd; switch (cmd) { case 'q': go = false; break; case 'p': parseTree->print(std::cout); break; case 'a': add(parseTree.get()); break; case 'd': remove(parseTree.get()); break; case 'w': write(filename, parseTree.get()); break; case 'h': help(); break; } } return 0; } catch (Exiv2::AnyError& e) { std::cerr << e << "\n"; return -1; } void write(const std::string& filename, const Exiv2::Internal::CiffHeader* pHead) { Exiv2::Blob blob; pHead->write(blob); Exiv2::FileIo io(filename); if(io.open("wb") != 0) { throw Exiv2::Error(9, io.path(), Exiv2::strError()); } Exiv2::IoCloser closer(io); long ret = io.write(&blob[0], (long) blob.size()); if (static_cast(ret) != blob.size()) throw Exiv2::Error(21); io.close(); } void remove(Exiv2::Internal::CiffHeader* pHead) { uint16_t crwTag, crwDir; std::cout << "crwTag> 0x"; std::cin >> std::hex >> crwTag; std::cout << "crwDir> 0x"; std::cin >> std::hex >> crwDir; std::cout << "Deleting tag 0x" << std::hex << crwTag << " in dir 0x" << crwDir << ", ok? "; char cmd; std::cin >> cmd; if (cmd != 'n' && cmd != 'N') { pHead->remove(crwTag, crwDir); } else { std::cout << "Canceled.\n"; } } void add(Exiv2::Internal::CiffHeader* pHead) { uint16_t crwTag, crwDir; uint32_t size; std::cout << "crwTag> 0x"; std::cin >> std::hex >> crwTag; std::cout << "crwDir> 0x"; std::cin >> std::hex >> crwDir; std::cout << "size> "; std::cin >> std::dec >> size; std::cout << "Adding tag 0x" << std::hex << crwTag << " in dir 0x" << crwDir << ", " << size << " bytes, ok? "; char cmd; std::cin >> cmd; if (cmd != 'n' && cmd != 'N') { Exiv2::DataBuf buf(size); std::memset(buf.pData_, 0xaa, size); pHead->add(crwTag, crwDir, buf); } else { std::cout << "Canceled.\n"; } } void help() { std::cout << "a: add tag, d: delete tag, p: print tags, w: write file, q: quit\n"; } exiv2-0.25/src/cr2image.cpp0000664000175000017500000002261312535324477015317 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: cr2image.cpp Version: $Rev: 3846 $ Author(s): Andreas Huggel (ahu) History: 22-Apr-06, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: cr2image.cpp 3846 2015-06-08 14:39:59Z ahuggel $") // included header files #include "config.h" #include "cr2image.hpp" #include "cr2image_int.hpp" #include "tiffcomposite_int.hpp" #include "tiffimage_int.hpp" #include "image.hpp" #include "error.hpp" #include "futils.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { using namespace Internal; Cr2Image::Cr2Image(BasicIo::AutoPtr io, bool /*create*/) : Image(ImageType::cr2, mdExif | mdIptc | mdXmp, io) { } // Cr2Image::Cr2Image std::string Cr2Image::mimeType() const { return "image/x-canon-cr2"; } int Cr2Image::pixelWidth() const { ExifData::const_iterator imageWidth = exifData_.findKey(Exiv2::ExifKey("Exif.Photo.PixelXDimension")); if (imageWidth != exifData_.end() && imageWidth->count() > 0) { return imageWidth->toLong(); } return 0; } int Cr2Image::pixelHeight() const { ExifData::const_iterator imageHeight = exifData_.findKey(Exiv2::ExifKey("Exif.Photo.PixelYDimension")); if (imageHeight != exifData_.end() && imageHeight->count() > 0) { return imageHeight->toLong(); } return 0; } void Cr2Image::setComment(const std::string& /*comment*/) { // not supported throw(Error(32, "Image comment", "CR2")); } void Cr2Image::readMetadata() { #ifdef DEBUG std::cerr << "Reading CR2 file " << io_->path() << "\n"; #endif if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); // Ensure that this is the correct image type if (!isCr2Type(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "CR2"); } clearMetadata(); ByteOrder bo = Cr2Parser::decode(exifData_, iptcData_, xmpData_, io_->mmap(), io_->size()); setByteOrder(bo); } // Cr2Image::readMetadata void Cr2Image::writeMetadata() { #ifdef DEBUG std::cerr << "Writing CR2 file " << io_->path() << "\n"; #endif ByteOrder bo = byteOrder(); byte* pData = 0; long size = 0; IoCloser closer(*io_); if (io_->open() == 0) { // Ensure that this is the correct image type if (isCr2Type(*io_, false)) { pData = io_->mmap(true); size = io_->size(); Cr2Header cr2Header; if (0 == cr2Header.read(pData, 16)) { bo = cr2Header.byteOrder(); } } } if (bo == invalidByteOrder) { bo = littleEndian; } setByteOrder(bo); Cr2Parser::encode(*io_, pData, size, bo, exifData_, iptcData_, xmpData_); // may throw } // Cr2Image::writeMetadata ByteOrder Cr2Parser::decode( ExifData& exifData, IptcData& iptcData, XmpData& xmpData, const byte* pData, uint32_t size ) { Cr2Header cr2Header; return TiffParserWorker::decode(exifData, iptcData, xmpData, pData, size, Tag::root, TiffMapping::findDecoder, &cr2Header); } WriteMethod Cr2Parser::encode( BasicIo& io, const byte* pData, uint32_t size, ByteOrder byteOrder, const ExifData& exifData, const IptcData& iptcData, const XmpData& xmpData ) { // Copy to be able to modify the Exif data ExifData ed = exifData; // Delete IFDs which do not occur in TIFF images static const IfdId filteredIfds[] = { panaRawId }; for (unsigned int i = 0; i < EXV_COUNTOF(filteredIfds); ++i) { #ifdef DEBUG std::cerr << "Warning: Exif IFD " << filteredIfds[i] << " not encoded\n"; #endif ed.erase(std::remove_if(ed.begin(), ed.end(), FindExifdatum(filteredIfds[i])), ed.end()); } std::auto_ptr header(new Cr2Header(byteOrder)); OffsetWriter offsetWriter; offsetWriter.setOrigin(OffsetWriter::cr2RawIfdOffset, Cr2Header::offset2addr(), byteOrder); return TiffParserWorker::encode(io, pData, size, ed, iptcData, xmpData, Tag::root, TiffMapping::findEncoder, header.get(), &offsetWriter); } // ************************************************************************* // free functions Image::AutoPtr newCr2Instance(BasicIo::AutoPtr io, bool create) { Image::AutoPtr image(new Cr2Image(io, create)); if (!image->good()) { image.reset(); } return image; } bool isCr2Type(BasicIo& iIo, bool advance) { const int32_t len = 16; byte buf[len]; iIo.read(buf, len); if (iIo.error() || iIo.eof()) { return false; } Cr2Header header; bool rc = header.read(buf, len); if (!advance || !rc) { iIo.seek(-len, BasicIo::cur); } return rc; } } // namespace Exiv2 namespace Exiv2 { namespace Internal { const char* Cr2Header::cr2sig_ = "CR\2\0"; Cr2Header::Cr2Header(ByteOrder byteOrder) : TiffHeaderBase(42, 16, byteOrder, 0x00000010), offset2_(0x00000000) { } Cr2Header::~Cr2Header() { } bool Cr2Header::read(const byte* pData, uint32_t size) { if (size < 16) return false; if (pData[0] == 0x49 && pData[1] == 0x49) { setByteOrder(littleEndian); } else if (pData[0] == 0x4d && pData[1] == 0x4d) { setByteOrder(bigEndian); } else { return false; } if (tag() != getUShort(pData + 2, byteOrder())) return false; setOffset(getULong(pData + 4, byteOrder())); if (0 != memcmp(pData + 8, cr2sig_, 4)) return false; offset2_ = getULong(pData + 12, byteOrder()); return true; } // Cr2Header::read DataBuf Cr2Header::write() const { DataBuf buf(16); switch (byteOrder()) { case littleEndian: buf.pData_[0] = 0x49; buf.pData_[1] = 0x49; break; case bigEndian: buf.pData_[0] = 0x4d; buf.pData_[1] = 0x4d; break; case invalidByteOrder: assert(false); break; } us2Data(buf.pData_ + 2, tag(), byteOrder()); ul2Data(buf.pData_ + 4, 0x00000010, byteOrder()); memcpy(buf.pData_ + 8, cr2sig_, 4); // Write a dummy value for the RAW IFD offset. The offset-writer is used to set this offset in a second pass. ul2Data(buf.pData_ + 12, 0x00000000, byteOrder()); return buf; } // Cr2Header::write bool Cr2Header::isImageTag(uint16_t tag, IfdId group, const PrimaryGroups* /*pPrimaryGroups*/) const { // CR2 image tags are all IFD2 and IFD3 tags if (group == ifd2Id || group == ifd3Id) return true; // ...and any (IFD0) tag that is in the TIFF image tags list return isTiffImageTag(tag, group); } }} // namespace Internal, Exiv2 exiv2-0.25/src/Makefile0000664000175000017500000002411412541544033014545 0ustar andreasandreas# ************************************************************* -*- Makefile -*- # # Copyright (C) 2004-2015 Andreas Huggel # # This Makefile is part of the Exiv2 distribution. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials provided # with the distribution. # 3. The name of the author may not be used to endorse or promote # products derived from this software without specific prior # written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # File: Makefile # Version: $Rev: 3867 $ # Author(s): Andreas Huggel (ahu) # History: 10-Dec-03, ahu: created # # Description: # Do NOT change this file! All system specific settings and configs # go into config.mk. # # This makefile contains (supposedly) generic build rules to build the # library and applications. It includes all system specific settings # from config.mk. The idea is that configuring and porting the # software to a new platform should only require changes in config.mk. # # Restrictions: # Requires GNU make. # # Default make target all: bin # Include system configuration top_srcdir = .. include $(top_srcdir)/config/config.mk # ****************************************************************************** # Source files # Add standalone C++ header files to this list CCHDR = exiv2.hpp \ config.h \ exv_conf.h \ exv_msvc.h \ version.hpp # Add library C++ source files to this list CCSRC = basicio.cpp \ bmpimage.cpp \ canonmn.cpp \ casiomn.cpp \ convert.cpp \ cr2image.cpp \ crwimage.cpp \ datasets.cpp \ easyaccess.cpp \ epsimage.cpp \ error.cpp \ exif.cpp \ futils.cpp \ fujimn.cpp \ gifimage.cpp \ http.cpp \ image.cpp \ iptc.cpp \ jp2image.cpp \ jpgimage.cpp \ makernote.cpp \ metadatum.cpp \ minoltamn.cpp \ mrwimage.cpp \ nikonmn.cpp \ olympusmn.cpp \ orfimage.cpp \ panasonicmn.cpp \ pentaxmn.cpp \ pgfimage.cpp ifdef HAVE_LIBZ CCSRC += pngimage.cpp \ pngchunk.cpp endif CCSRC += preview.cpp \ properties.cpp \ psdimage.cpp \ rafimage.cpp \ rw2image.cpp \ samsungmn.cpp ifdef USE_SSH CCSRC += ssh.cpp endif CCSRC += sigmamn.cpp \ sonymn.cpp \ tags.cpp \ tgaimage.cpp \ tiffcomposite.cpp \ tiffimage.cpp \ tiffvisitor.cpp \ types.cpp \ value.cpp \ version.cpp \ xmp.cpp \ xmpsidecar.cpp ifdef ENABLE_VIDEO CCSRC += asfvideo.cpp \ matroskavideo.cpp \ quicktimevideo.cpp \ riffvideo.cpp \ utilsvideo.cpp endif # Add library C source files to this list ifndef HAVE_TIMEGM CSRC = localtime.c endif # Source files for the Exiv2 application EXIV2MAIN = exiv2.cpp EXIV2SRC = actions.cpp \ utils.cpp # C source files for the Exiv2 application ifndef HAVE_TIMEGM EXIVCSRC = localtime.c endif # ****************************************************************************** # Library LIBRARY = libexiv2.la # ****************************************************************************** # Initialisations SHELL = /bin/bash .SUFFIXES: .SUFFIXES: .c .cpp .o .so .PRECIOUS: %.cpp CPPFLAGS += $(SSH_CPPFLAGS) $(CURL_CPPFLAGS) $(XMPSDK_CPPFLAGS) LDFLAGS += $(SSH_LDFLAGS) $(CURL_LDFLAGS) $(EXPAT_LDFLAGS) $(XMPSDK_LDFLAGS) LIBS += $(SSH_LIBS) $(CURL_LIBS) $(EXPAT_LIBS) $(XMPSDK_LIBS) # Generic variables CCHDR := $(CCHDR) $(CCSRC:.cpp=.hpp) CCOBJ = $(CCSRC:.cpp=.o) CCLOBJ = $(CCSRC:.cpp=.lo) COBJ = $(CSRC:.c=.o) CLOBJ = $(CSRC:.c=.lo) SRC = $(CCSRC) $(CSRC) HDR = $(CCHDR) OBJ = $(CCOBJ) $(COBJ) LOBJ = $(CCLOBJ) $(CLOBJ) EXIV2OBJ = $(EXIV2MAIN:.cpp=.o) $(EXIV2SRC:.cpp=.o) EXIV2COBJ = $(EXIVCSRC:.c=.o) EXIV2BIN = $(EXIV2MAIN:.cpp=) EXIV2EXE = $(EXIV2MAIN:.cpp=$(EXEEXT)) ifdef DEP_TRACKING DEP = $(CCSRC:%.cpp=$(DEPDIR)/%.d) \ $(CSRC:%.c=$(DEPDIR)/%.d) \ $(BINSRC:%.cpp=$(DEPDIR)/%.d) \ $(EXIV2MAIN:%.cpp=$(DEPDIR)/%.d) \ $(EXIV2SRC:%.cpp=$(DEPDIR)/%.d) \ $(EXIVCSRC:%.c=$(DEPDIR)/%.d) endif # ****************************************************************************** # Rules $(CCOBJ): %.o: %.cpp @$(LIBTOOL) --mode=compile $(COMPILE.cc) -DEXV_BUILDING_LIB=1 -o $@ $< @$(MAKEDEPEND) @$(POSTDEPEND) $(COBJ): %.o: %.c @$(LIBTOOL) --mode=compile $(COMPILE.c) -DEXV_BUILDING_LIB=1 -o $@ $< @$(MAKEDEPEND) @$(POSTDEPEND) $(EXIV2OBJ): %.o: %.cpp $(COMPILE.cc) -o $@ $< @$(MAKEDEPEND) @$(POSTDEPEND) %.o: %.c $(COMPILE.c) -o $@ $< @$(MAKEDEPEND) @$(POSTDEPEND) %.ii: %.cpp set -e; \ $(CXXCPP) $(CPPFLAGS) -DEXV_BUILDING_LIB=1 $< | LC_ALL=C sed '/^[ ]*$$/d' > $@ # ****************************************************************************** # Targets .PHONY: all bin check ctags doc \ clean mostlyclean distclean maintainer-clean \ install install-header install-lib \ uninstall uninstall-header uninstall-lib ifdef DEP_TRACKING # Include targets from dependency files -include $(DEP) endif # Be sure to rewrite exv_conf.h and svn_version.h before compiling anything $(SRC): ../include/exiv2/exv_conf.h svn_version.h ../include/exiv2/exv_conf.h: $(top_srcdir)/config/config.h LC_ALL=C sed 's/#define \([A-Z]\)/#define EXV_\1/; s/#undef \([A-Z]\)/#undef EXV_\1/' < $< > $@ # svn_version.h is only rewritten when the svn info | grep Revision has changed svn_version.h: ./svn_version.sh version.hpp : svn_version.h $(LIBTOOL): $(LIBTOOL_DEPS) $(SHELL) $(top_srcdir)/config.status --recheck bin: lib $(EXIV2BIN) lib: $(OBJ) $(LIBTOOL) --mode=link $(LINK.cc) -o $(LIBRARY) $(LOBJ) -rpath $(libdir) -version-info $(EXIV2_LTVERSION) $(LIBS) @touch lib $(BINARY): %: %.o lib @$(LIBTOOL) --mode=link $(LINK.cc) -o $@ $(LIBRARY) $@.o -rpath $(libdir) $(EXIV2BIN): lib $(EXIV2OBJ) $(EXIV2COBJ) mkdir -pv ../bin 2>&1 > /dev/null @$(LIBTOOL) --mode=link $(LINK.cc) -o ../bin/$@ $(LIBRARY) $(EXIV2OBJ) $(EXIV2COBJ) -rpath $(libdir) install-header: $(INSTALL_DIRS) $(DESTDIR)$(incdir) @list='$(HDR)'; for p in $$list; do \ if test -f ../include/exiv2/$$p; then \ echo "$(INSTALL_DATA) ../include/exiv2/$$p $(DESTDIR)$(incdir)/$$p"; \ $(INSTALL_DATA) ../include/exiv2/$$p $(DESTDIR)$(incdir)/$$p; \ else :; fi; \ done ; \ if test -e svn_version.h; then \ echo "$(INSTALL_DATA) svn_version.h $(DESTDIR)$(incdir)/svn_version.h"; \ $(INSTALL_DATA) svn_version.h $(DESTDIR)$(incdir)/svn_version.h; \ fi install-lib: lib install-header $(INSTALL_DIRS) $(DESTDIR)$(libdir) @$(LIBTOOL) --mode=install $(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(libdir)/$(LIBRARY) $(INSTALL_DIRS) $(DESTDIR)$(bindir) $(INSTALL_DIRS) $(DESTDIR)$(libdir)/pkgconfig $(INSTALL_DATA) $(top_srcdir)/config/exiv2.pc $(DESTDIR)$(libdir)/pkgconfig/exiv2.pc install: $(EXIV2BIN) install-lib $(INSTALL_DIRS) $(DESTDIR)$(bindir) @$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ../bin/$(EXIV2EXE) $(DESTDIR)$(bindir)/$(EXIV2EXE) $(INSTALL_DIRS) $(DESTDIR)$(mandir) $(INSTALL_DIRS) $(DESTDIR)$(man1dir) $(INSTALL_DATA) exiv2.1 $(DESTDIR)$(man1dir)/exiv2.1 uninstall-header: @list='$(HDR)'; for p in $$list; do \ echo "$(RM) $(DESTDIR)$(incdir)/$$p"; \ $(RM) $(DESTDIR)$(incdir)/$$p; \ done $(RM) $(DESTDIR)$(incdir)/svn_version.h -rmdir $(DESTDIR)$(incdir) uninstall-lib: uninstall-header $(RM) $(DESTDIR)$(libdir)/pkgconfig/exiv2.pc -rmdir $(DESTDIR)$(libdir)/pkgconfig @$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(libdir)/$(LIBRARY) -rmdir $(DESTDIR)$(libdir) uninstall: uninstall-lib $(RM) $(DESTDIR)$(man1dir)/exiv2.1 -rmdir $(DESTDIR)$(man1dir) -rmdir $(DESTDIR)$(mandir) @$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(bindir)/$(EXIV2EXE) -rmdir $(DESTDIR)$(bindir) ctags: ebrowse $(HDR) $(SRC) # ctags-exuberant --extra=+q -e * # ctags-exuberant --extra=+q * check: @echo "No checks available for this library - or $ make tests" mostlyclean: $(RM) core $(RM) $(CCSRC:.cpp=.ii) $(RM) lib $(RM) -rf $(CCSRC:%.cpp=.libs/%.d) $(CSRC:%.c=.libs/%.d) .libs/*.dSYM @$(LIBTOOL) --mode=clean $(RM) $(LOBJ) $(sort $(EXIV2OBJ) $(EXIV2COBJ)) clean: mostlyclean @$(LIBTOOL) --mode=clean $(RM) $(LIBRARY) @$(LIBTOOL) --mode=clean $(RM) $(EXECUTABLE) $(EXIV2EXE) # Run `make distclean' from the top source directory to also remove # files created by configuring the program. distclean: clean $(RM) doxygen.hpp ifdef DEP_TRACKING $(RM) $(DEP) -rmdir $(DEPDIR) endif $(RM) tags TAGS $(RM) *~ *.bak *# # This command is intended for maintainers to use; it deletes files # that may need special tools to rebuild. maintainer-clean: uninstall distclean -$(RM) -r .deps -$(RM) -r .libs # That's all Folks! ## exiv2-0.25/src/orfimage_int.hpp0000664000175000017500000000460312521135474016265 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file orfimage_int.hpp @brief Internal classes to support Olympus RAW image format @version $Rev: 3777 $ @author Jeff Costlow costlow@gmail.com @date 31-Jul-07, costlow: created 23-Apr-08, ahu: Moved to _int file */ #ifndef ORFIMAGE_INT_HPP_ #define ORFIMAGE_INT_HPP_ // ***************************************************************************** // included header files #include "tiffimage_int.hpp" #include "types.hpp" // ***************************************************************************** // namespace extensions namespace Exiv2 { namespace Internal { // ***************************************************************************** // class definitions /*! @brief Olympus ORF header structure. */ class OrfHeader : public TiffHeaderBase { public: //! @name Creators //@{ //! Default constructor OrfHeader(ByteOrder byteOrder =littleEndian); //! Destructor. ~OrfHeader(); //@} //! @name Manipulators //@{ bool read(const byte* pData, uint32_t size); //@} //! @name Accessors //@{ DataBuf write() const; //@} private: // DATA uint16_t sig_; // * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file rcsid_int.hpp @brief Define an RCS id string in every object file compiled from a source file that includes rcsid_int.hpp. This is a simplified version of the ACE_RCSID macro that is used in the ACE(TM) distribution. @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 02-Feb-04, ahu: created */ #ifndef RCSID_INT_HPP_ #define RCSID_INT_HPP_ #if !defined (EXIV2_RCSID) /*! @brief Macro to store version information in each object file. Use this macro by including the following two lines at the beginning of each *.cpp file. See the ident(1) manual pages for more information. @code #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id$"); @endcode The macro hack itself has the following purposes: -# To define the RCS id string variable in the local namespace, so that there won't be any duplicate extern symbols at link time. -# To avoid warnings of the type "variable declared and never used". */ #if (defined(__GNUG__) || defined(__GNUC__) || defined (_MSC_VER)) && ! defined(__clang__) #define EXIV2_RCSID(id) \ namespace { \ inline const char* getRcsId(const char*) { return id ; } \ const char* rcsId = getRcsId(rcsId); \ } #else #define EXIV2_RCSID(id) #endif #endif // #if !defined (EXIV2_RCSID) #endif // #ifndef RCSID_INT_HPP_ exiv2-0.25/src/fujimn.cpp0000664000175000017500000003100312526761404015102 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: fujimn.cpp Version: $Rev: 3831 $ Author(s): Andreas Huggel (ahu) Gilles Caulier (gc) History: 18-Feb-04, ahu: created 07-Mar-04, ahu: isolated as a separate component Credits: See header file. */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: fujimn.cpp 3831 2015-05-20 01:27:32Z asp $") // ***************************************************************************** // included header files #include "types.hpp" #include "fujimn_int.hpp" #include "tags_int.hpp" #include "value.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { //! OffOn, multiple tags extern const TagDetails fujiOffOn[] = { { 0, N_("Off") }, { 1, N_("On") } }; //! Sharpness, tag 0x1001 extern const TagDetails fujiSharpness[] = { { 1, N_("Soft mode 1") }, { 2, N_("Soft mode 2") }, { 3, N_("Normal") }, { 4, N_("Hard mode 1") }, { 5, N_("Hard mode 2") } }; //! WhiteBalance, tag 0x1002 extern const TagDetails fujiWhiteBalance[] = { { 0, N_("Auto") }, { 256, N_("Daylight") }, { 512, N_("Cloudy") }, { 768, N_("Fluorescent (daylight)") }, { 769, N_("Fluorescent (warm white)") }, { 770, N_("Fluorescent (cool white)") }, { 1024, N_("Incandescent") }, { 3480, N_("Custom") }, { 3480, N_("Custom") } // To silence compiler warning }; //! Color, tag 0x1003 extern const TagDetails fujiColor[] = { { 0, N_("Normal") }, { 256, N_("High") }, { 512, N_("Low") }, { 768, N_("None (black & white)") }, { 768, N_("None (black & white)") } // To silence compiler warning }; //! Tone, tag 0x1004 extern const TagDetails fujiTone[] = { { 0, N_("Normal") }, { 256, N_("High") }, { 512, N_("Low") } }; //! FlashMode, tag 0x1010 extern const TagDetails fujiFlashMode[] = { { 0, N_("Auto") }, { 1, N_("On") }, { 2, N_("Off") }, { 3, N_("Red-eye reduction") }, { 3, N_("Red-eye reduction") } // To silence compiler warning }; //! FocusMode, tag 0x1021 extern const TagDetails fujiFocusMode[] = { { 0, N_("Auto") }, { 1, N_("Manual") } }; //! PictureMode, tag 0x1031 extern const TagDetails fujiPictureMode[] = { { 0, N_("Auto") }, { 1, N_("Portrait") }, { 2, N_("Landscape") }, { 4, N_("Sports") }, { 5, N_("Night scene") }, { 6, N_("Program AE") }, { 7, N_("Natural light") }, { 8, N_("Anti-blur") }, { 10, N_("Sunset") }, { 11, N_("Museum") }, { 12, N_("Party") }, { 13, N_("Flower") }, { 14, N_("Text") }, { 15, N_("Natural light & flash") }, { 16, N_("Beach") }, { 17, N_("Snow") }, { 18, N_("Fireworks") }, { 19, N_("Underwater") }, { 256, N_("Aperture-priority AE") }, { 512, N_("Shutter speed priority AE") }, { 768, N_("Manual") } }; //! Continuous, tag 0x1100 extern const TagDetails fujiContinuous[] = { { 0, N_("Off") }, { 1, N_("On") }, { 2, N_("No flash & flash") } }; //! FinePixColor, tag 0x1210 extern const TagDetails fujiFinePixColor[] = { { 0, N_("Standard") }, { 16, N_("Chrome") }, { 48, N_("Black & white") } }; //! DynamicRange, tag 0x1400 extern const TagDetails fujiDynamicRange[] = { { 1, N_("Standard") }, { 3, N_("Wide") } }; //! FilmMode, tag 0x1401 extern const TagDetails fujiFilmMode[] = { { 0, N_("F0/Standard") }, { 256, N_("F1/Studio portrait") }, { 512, N_("F2/Fujichrome") }, { 768, N_("F3/Studio portrait Ex") }, { 1024, N_("F4/Velvia") } }; //! DynamicRange, tag 0x1402 extern const TagDetails fujiDynamicRangeSetting[] = { { 0, N_("Auto (100-400%)") }, { 1, N_("Raw") }, { 256, N_("Standard (100%)") }, { 512, N_("Wide mode 1 (230%)") }, { 513, N_("Wide mode 2 (400%)") }, { 32768, N_("Film simulation mode") } }; // Fujifilm MakerNote Tag Info const TagInfo FujiMakerNote::tagInfo_[] = { TagInfo(0x0000, "Version", N_("Version"), N_("Fujifilm Makernote version"), fujiId, makerTags, undefined, -1, printValue), TagInfo(0x0010, "SerialNumber", N_("Serial Number"), N_("This number is unique, and contains the date of manufacture, " "but is not the same as the number printed on the camera body."), fujiId, makerTags, asciiString, -1, printValue), TagInfo(0x1000, "Quality", N_("Quality"), N_("Image quality setting"), fujiId, makerTags, asciiString, -1, printValue), TagInfo(0x1001, N_("Sharpness"), N_("Sharpness"), N_("Sharpness setting"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiSharpness)), TagInfo(0x1002, "WhiteBalance", N_("White Balance"), N_("White balance setting"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiWhiteBalance)), TagInfo(0x1003, "Color", N_("Color"), N_("Chroma saturation setting"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiColor)), TagInfo(0x1004, "Tone", N_("Tone"), N_("Contrast setting"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiTone)), TagInfo(0x1010, "FlashMode", N_("Flash Mode"), N_("Flash firing mode setting"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiFlashMode)), TagInfo(0x1011, "FlashStrength", N_("Flash Strength"), N_("Flash firing strength compensation setting"), fujiId, makerTags, signedRational, -1, printValue), TagInfo(0x1020, "Macro", N_("Macro"), N_("Macro mode setting"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiOffOn)), TagInfo(0x1021, "FocusMode", N_("Focus Mode"), N_("Focusing mode setting"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiFocusMode)), TagInfo(0x1022, "0x1022", "0x1022", N_("Unknown"), fujiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1030, "SlowSync", N_("Slow Sync"), N_("Slow synchro mode setting"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiOffOn)), TagInfo(0x1031, "PictureMode", N_("Picture Mode"), N_("Picture mode setting"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiPictureMode)), TagInfo(0x1032, "0x1032", "0x1032", N_("Unknown"), fujiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1100, "Continuous", N_("Continuous"), N_("Continuous shooting or auto bracketing setting"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiContinuous)), TagInfo(0x1101, "SequenceNumber", N_("Sequence Number"), N_("Sequence number"), fujiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1200, "0x1200", "0x1200", N_("Unknown"), fujiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1210, "FinePixColor", N_("FinePix Color"), N_("Fuji FinePix color setting"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiFinePixColor)), TagInfo(0x1300, "BlurWarning", N_("Blur Warning"), N_("Blur warning status"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiOffOn)), TagInfo(0x1301, "FocusWarning", N_("Focus Warning"), N_("Auto Focus warning status"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiOffOn)), TagInfo(0x1302, "ExposureWarning", N_("Exposure Warning"), N_("Auto exposure warning status"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiOffOn)), TagInfo(0x1400, "DynamicRange", N_("Dynamic Range"), N_("Dynamic range"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiDynamicRange)), TagInfo(0x1401, "FilmMode", N_("Film Mode"), N_("Film mode"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiFilmMode)), TagInfo(0x1402, "DynamicRangeSetting", N_("Dynamic Range Setting"), N_("Dynamic range settings"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiDynamicRangeSetting)), TagInfo(0x1403, "DevelopmentDynamicRange", N_("Development Dynamic Range"), N_("Development dynamic range"), fujiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1404, "MinFocalLength", N_("Minimum Focal Length"), N_("Minimum focal length"), fujiId, makerTags, unsignedRational, -1, printValue), TagInfo(0x1405, "MaxFocalLength", N_("Maximum Focal Length"), N_("Maximum focal length"), fujiId, makerTags, unsignedRational, -1, printValue), TagInfo(0x1406, "MaxApertureAtMinFocal", N_("Maximum Aperture at Minimum Focal"), N_("Maximum aperture at minimum focal"), fujiId, makerTags, unsignedRational, -1, printValue), TagInfo(0x1407, "MaxApertureAtMaxFocal", N_("Maximum Aperture at Maximum Focal"), N_("Maximum aperture at maximum focal"), fujiId, makerTags, unsignedRational, -1, printValue), TagInfo(0x8000, "FileSource", N_("File Source"), N_("File source"), fujiId, makerTags, asciiString, -1, printValue), TagInfo(0x8002, "OrderNumber", N_("Order Number"), N_("Order number"), fujiId, makerTags, unsignedLong, -1, printValue), TagInfo(0x8003, "FrameNumber", N_("Frame Number"), N_("Frame number"), fujiId, makerTags, unsignedShort, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownFujiMakerNoteTag)", "(UnknownFujiMakerNoteTag)", N_("Unknown FujiMakerNote tag"), fujiId, makerTags, asciiString, -1, printValue) }; const TagInfo* FujiMakerNote::tagList() { return tagInfo_; } }} // namespace Internal, Exiv2 exiv2-0.25/src/panasonicmn_int.hpp0000664000175000017500000001033012521135474016774 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file panasonicmn_int.hpp @brief Panasonic MakerNote implemented using the following references: Panasonic MakerNote Information by Tom Hughes, Panasonic.pm of ExifTool by Phil Harvey, Panasonic Makernote Format Specification by Evan Hunter. @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @author Gilles Caulier (gc) caulier dot gilles at gmail dot com @date 11-Jun-05, ahu: created */ #ifndef PANASONICMN_INT_HPP_ #define PANASONICMN_INT_HPP_ // ***************************************************************************** // included header files #include "tags.hpp" #include "types.hpp" // + standard includes #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { namespace Internal { // ***************************************************************************** // class definitions //! MakerNote for Panasonic cameras class PanasonicMakerNote { public: //! Return read-only list of built-in Panasonic tags static const TagInfo* tagList(); //! Return read-only list of built-in Panasonic RAW image tags (IFD0) static const TagInfo* tagListRaw(); //! @name Print functions for Panasonic %MakerNote tags //@{ //! Print SpotMode static std::ostream& print0x000f(std::ostream& os, const Value& value, const ExifData*); //! Print WhiteBalanceBias static std::ostream& print0x0023(std::ostream& os, const Value& value, const ExifData*); //! Print TimeSincePowerOn static std::ostream& print0x0029(std::ostream& os, const Value& value, const ExifData*); //! Print Baby age static std::ostream& print0x0033(std::ostream& os, const Value& value, const ExifData*); //! Print Travel days static std::ostream& print0x0036(std::ostream& os, const Value& value, const ExifData*); //! Print ISO static std::ostream& print0x003c(std::ostream& os, const Value& value, const ExifData*); //! Print special text values: title, landmark, county and so on static std::ostream& printPanasonicText(std::ostream& os, const Value& value, const ExifData*); //! Print accerometer readings static std::ostream& printAccelerometer(std::ostream& os, const Value& value, const ExifData*); //! Print roll angle static std::ostream& printRollAngle(std::ostream& os, const Value& value, const ExifData*); //! Print pitch angle static std::ostream& printPitchAngle(std::ostream& os, const Value& value, const ExifData*); //@} private: //! Makernote tag list static const TagInfo tagInfo_[]; //! Taglist for IFD0 of Panasonic RAW images static const TagInfo tagInfoRaw_[]; }; // class PanasonicMakerNote }} // namespace Internal, Exiv2 #endif // #ifndef PANASONICMN_INT_HPP_ exiv2-0.25/src/rw2image_int.hpp0000664000175000017500000000433612521135474016214 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file rw2image_int.hpp @brief Internal classes to support RW2 image format @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 06-Jan-09, ahu: created */ #ifndef RW2IMAGE_INT_HPP_ #define RW2IMAGE_INT_HPP_ // ***************************************************************************** // included header files #include "tiffimage_int.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { namespace Internal { // ***************************************************************************** // class definitions /*! @brief Panasonic RW2 header structure. */ class Rw2Header : public TiffHeaderBase { public: //! @name Creators //@{ //! Default constructor Rw2Header(); //! Destructor. ~Rw2Header(); //@} //! @name Accessors //@{ //! Not yet implemented. Does nothing and returns an empty buffer. DataBuf write() const; //@} }; // class Rw2Header }} // namespace Internal, Exiv2 #endif // #ifndef RW2IMAGE_INT_HPP_ exiv2-0.25/src/xmpsidecar.cpp0000664000175000017500000001567212521135474015764 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: xmpsidecar.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 07-Mar-08, ahu: created Credits: See header file */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: xmpsidecar.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "xmpsidecar.hpp" #include "image.hpp" #include "basicio.hpp" #include "error.hpp" #include "xmp.hpp" #include "futils.hpp" #include "convert.hpp" // + standard includes #include #include #include // ***************************************************************************** namespace { const char* xmlHeader = "\n"; const long xmlHdrCnt = (long) std::strlen(xmlHeader); // without the trailing 0-character const char* xmlFooter = ""; } // class member definitions namespace Exiv2 { XmpSidecar::XmpSidecar(BasicIo::AutoPtr io, bool create) : Image(ImageType::xmp, mdXmp, io) { if (create) { if (io_->open() == 0) { IoCloser closer(*io_); io_->write(reinterpret_cast(xmlHeader), xmlHdrCnt); } } } // XmpSidecar::XmpSidecar std::string XmpSidecar::mimeType() const { return "application/rdf+xml"; } void XmpSidecar::setComment(const std::string& /*comment*/) { // not supported throw(Error(32, "Image comment", "XMP")); } void XmpSidecar::readMetadata() { #ifdef DEBUG std::cerr << "Reading XMP file " << io_->path() << "\n"; #endif if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); // Ensure that this is the correct image type if (!isXmpType(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "XMP"); } // Read the XMP packet from the IO stream std::string xmpPacket; const long len = 64 * 1024; byte buf[len]; long l; while ((l = io_->read(buf, len)) > 0) { xmpPacket.append(reinterpret_cast(buf), l); } if (io_->error()) throw Error(14); clearMetadata(); xmpPacket_ = xmpPacket; if (xmpPacket_.size() > 0 && XmpParser::decode(xmpData_, xmpPacket_)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode XMP metadata.\n"; #endif } copyXmpToIptc(xmpData_, iptcData_); copyXmpToExif(xmpData_, exifData_); } // XmpSidecar::readMetadata void XmpSidecar::writeMetadata() { if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); if (writeXmpFromPacket() == false) { copyExifToXmp(exifData_, xmpData_); copyIptcToXmp(iptcData_, xmpData_); if (XmpParser::encode(xmpPacket_, xmpData_, XmpParser::omitPacketWrapper|XmpParser::useCompactFormat) > 1) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Failed to encode XMP metadata.\n"; #endif } } if (xmpPacket_.size() > 0) { if (xmpPacket_.substr(0, 5) != "temporary()); // may throw assert(tempIo.get() != 0); // Write XMP packet if ( tempIo->write(reinterpret_cast(xmpPacket_.data()), static_cast(xmpPacket_.size())) != static_cast(xmpPacket_.size())) throw Error(21); if (tempIo->error()) throw Error(21); io_->close(); io_->transfer(*tempIo); // may throw } } // XmpSidecar::writeMetadata // ************************************************************************* // free functions Image::AutoPtr newXmpInstance(BasicIo::AutoPtr io, bool create) { Image::AutoPtr image(new XmpSidecar(io, create)); if (!image->good()) { image.reset(); } return image; } bool isXmpType(BasicIo& iIo, bool advance) { /* Check if the file starts with an optional XML declaration followed by either an XMP header () or an element. In addition, in order for empty XmpSidecar objects as created by Exiv2 to pass the test, just an XML header is also considered ok. */ const int32_t len = 80; byte buf[len]; iIo.read(buf, xmlHdrCnt + 1); if ( iIo.eof() && 0 == strncmp(reinterpret_cast(buf), xmlHeader, xmlHdrCnt)) { return true; } if (iIo.error() || iIo.eof()) { return false; } iIo.read(buf + xmlHdrCnt + 1, len - xmlHdrCnt - 1); if (iIo.error() || iIo.eof()) { return false; } // Skip leading BOM int32_t start = 0; if (0 == strncmp(reinterpret_cast(buf), "\xef\xbb\xbf", 3)) { start = 3; } bool rc = false; std::string head(reinterpret_cast(buf + start), len - start); if (head.substr(0, 5) == " 9 && ( head.substr(0, 9) == " * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: mrwimage.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 13-May-06, ahu: created Credits: See header file */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: mrwimage.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "mrwimage.hpp" #include "tiffimage.hpp" #include "image.hpp" #include "basicio.hpp" #include "error.hpp" #include "futils.hpp" // + standard includes #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { MrwImage::MrwImage(BasicIo::AutoPtr io, bool /*create*/) : Image(ImageType::mrw, mdExif | mdIptc | mdXmp, io) { } // MrwImage::MrwImage std::string MrwImage::mimeType() const { return "image/x-minolta-mrw"; } int MrwImage::pixelWidth() const { ExifData::const_iterator imageWidth = exifData_.findKey(Exiv2::ExifKey("Exif.Image.ImageWidth")); if (imageWidth != exifData_.end() && imageWidth->count() > 0) { return imageWidth->toLong(); } return 0; } int MrwImage::pixelHeight() const { ExifData::const_iterator imageHeight = exifData_.findKey(Exiv2::ExifKey("Exif.Image.ImageLength")); if (imageHeight != exifData_.end() && imageHeight->count() > 0) { return imageHeight->toLong(); } return 0; } void MrwImage::setExifData(const ExifData& /*exifData*/) { // Todo: implement me! throw(Error(32, "Exif metadata", "MRW")); } void MrwImage::setIptcData(const IptcData& /*iptcData*/) { // Todo: implement me! throw(Error(32, "IPTC metadata", "MRW")); } void MrwImage::setComment(const std::string& /*comment*/) { // not supported throw(Error(32, "Image comment", "MRW")); } void MrwImage::readMetadata() { #ifdef DEBUG std::cerr << "Reading MRW file " << io_->path() << "\n"; #endif if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); // Ensure that this is the correct image type if (!isMrwType(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "MRW"); } clearMetadata(); // Find the TTW block and read it into a buffer uint32_t const len = 8; byte tmp[len]; io_->read(tmp, len); uint32_t pos = len; uint32_t const end = getULong(tmp + 4, bigEndian); pos += len; if (pos > end) throw Error(14); io_->read(tmp, len); if (io_->error() || io_->eof()) throw Error(14); while (memcmp(tmp + 1, "TTW", 3) != 0) { uint32_t const siz = getULong(tmp + 4, bigEndian); pos += siz; if (pos > end) throw Error(14); io_->seek(siz, BasicIo::cur); if (io_->error() || io_->eof()) throw Error(14); pos += len; if (pos > end) throw Error(14); io_->read(tmp, len); if (io_->error() || io_->eof()) throw Error(14); } DataBuf buf(getULong(tmp + 4, bigEndian)); io_->read(buf.pData_, buf.size_); if (io_->error() || io_->eof()) throw Error(14); ByteOrder bo = TiffParser::decode(exifData_, iptcData_, xmpData_, buf.pData_, buf.size_); setByteOrder(bo); } // MrwImage::readMetadata void MrwImage::writeMetadata() { // Todo: implement me! throw(Error(31, "MRW")); } // MrwImage::writeMetadata // ************************************************************************* // free functions Image::AutoPtr newMrwInstance(BasicIo::AutoPtr io, bool create) { Image::AutoPtr image(new MrwImage(io, create)); if (!image->good()) { image.reset(); } return image; } bool isMrwType(BasicIo& iIo, bool advance) { const int32_t len = 4; byte buf[len]; iIo.read(buf, len); if (iIo.error() || iIo.eof()) { return false; } int rc = memcmp(buf, "\0MRM", 4); if (!advance || rc != 0) { iIo.seek(-len, BasicIo::cur); } return rc == 0; } } // namespace Exiv2 exiv2-0.25/src/samsungmn_int.hpp0000664000175000017500000000456512521135474016513 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file samsungmn_int.hpp @brief Samsung makernote tags.
References:
[1] ExifTool by Phil Harvey @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 27-Sep-10, ahu: created */ #ifndef SAMSUNGMN_INT_HPP_ #define SAMSUNGMN_INT_HPP_ // ***************************************************************************** // included header files #include "tags.hpp" #include "types.hpp" // + standard includes #include #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { namespace Internal { // ***************************************************************************** // class definitions //! MakerNote for Samsung cameras class Samsung2MakerNote { public: //! Return read-only list of built-in Samsung tags static const TagInfo* tagList(); //! Return read-only list of built-in PictureWizard tags static const TagInfo* tagListPw(); private: //! Tag information static const TagInfo tagInfo_[]; //! PictureWizard tag information static const TagInfo tagInfoPw_[]; }; // class Samsung2MakerNote }} // namespace Internal, Exiv2 #endif // #ifndef SAMSUNGMN_INT_HPP_ exiv2-0.25/src/error.cpp0000664000175000017500000002154212521135474014747 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: error.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 02-Apr-05, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: error.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // ***************************************************************************** // included header files #include "error.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include // ***************************************************************************** namespace { //! Helper structure defining an error message. struct ErrMsg { //! Comparison operator bool operator==(int code) const { return code_ == code; } int code_; //!< Error code const char* message_; //!< Error message }; //! Complete list of Exiv2 exception error messages const ErrMsg errList[] = { { -1, N_("Error %0: arg2=%2, arg3=%3, arg1=%1.") }, { 0, N_("Success") }, { 1, "%1" }, // %1=error message { 2, "%1: Call to `%3' failed: %2" }, // %1=path, %2=strerror, %3=function that failed { 3, N_("This does not look like a %1 image") }, // %1=Image type { 4, N_("Invalid dataset name `%1'") }, // %1=dataset name { 5, N_("Invalid record name `%1'") }, // %1=record name { 6, N_("Invalid key `%1'") }, // %1=key { 7, N_("Invalid tag name or ifdId `%1', ifdId %2") }, // %1=tag name, %2=ifdId { 8, N_("Value not set") }, { 9, N_("%1: Failed to open the data source: %2") }, // %1=path, %2=strerror { 10, N_("%1: Failed to open file (%2): %3") }, // %1=path, %2=mode, %3=strerror { 11, N_("%1: The file contains data of an unknown image type") }, // %1=path { 12, N_("The memory contains data of an unknown image type") }, { 13, N_("Image type %1 is not supported") }, // %1=image type { 14, N_("Failed to read image data") }, { 15, N_("This does not look like a JPEG image") }, { 16, N_("%1: Failed to map file for reading and writing: %2") }, // %1=path, %2=strerror { 17, N_("%1: Failed to rename file to %2: %3") }, // %1=old path, %2=new path, %3=strerror { 18, N_("%1: Transfer failed: %2") }, // %1=path, %2=strerror { 19, N_("Memory transfer failed: %1") }, // %1=strerror { 20, N_("Failed to read input data") }, { 21, N_("Failed to write image") }, { 22, N_("Input data does not contain a valid image") }, { 23, N_("Invalid ifdId %1") }, // %1=ifdId { 24, N_("Entry::setValue: Value too large (tag=%1, size=%2, requested=%3)") }, // %1=tag, %2=dataSize, %3=required size { 25, N_("Entry::setDataArea: Value too large (tag=%1, size=%2, requested=%3)") }, // %1=tag, %2=dataAreaSize, %3=required size { 26, N_("Offset out of range") }, { 27, N_("Unsupported data area offset type") }, { 28, N_("Invalid charset: `%1'") }, // %1=charset name { 29, N_("Unsupported date format") }, { 30, N_("Unsupported time format") }, { 31, N_("Writing to %1 images is not supported") }, // %1=image format { 32, N_("Setting %1 in %2 images is not supported") }, // %1=metadata type, %2=image format { 33, N_("This does not look like a CRW image") }, { 34, N_("%1: Not supported") }, // %1=function { 35, N_("No namespace info available for XMP prefix `%1'") }, // %1=prefix { 36, N_("No prefix registered for namespace `%2', needed for property path `%1'") }, // %1=namespace { 37, N_("Size of %1 JPEG segment is larger than 65535 bytes") }, // %1=type of metadata (Exif, IPTC, JPEG comment) { 38, N_("Unhandled Xmpdatum %1 of type %2") }, // %1=key, %2=value type { 39, N_("Unhandled XMP node %1 with opt=%2") }, // %1=key, %2=XMP Toolkit option flags { 40, N_("XMP Toolkit error %1: %2") }, // %1=XMP_Error::GetID(), %2=XMP_Error::GetErrMsg() { 41, N_("Failed to decode Lang Alt property %1 with opt=%2") }, // %1=property path, %3=XMP Toolkit option flags { 42, N_("Failed to decode Lang Alt qualifier %1 with opt=%2") }, // %1=qualifier path, %3=XMP Toolkit option flags { 43, N_("Failed to encode Lang Alt property %1") }, // %1=key { 44, N_("Failed to determine property name from path %1, namespace %2") }, // %1=property path, %2=namespace { 45, N_("Schema namespace %1 is not registered with the XMP Toolkit") }, // %1=namespace { 46, N_("No namespace registered for prefix `%1'") }, // %1=prefix { 47, N_("Aliases are not supported. Please send this XMP packet to ahuggel@gmx.net `%1', `%2', `%3'") }, // %1=namespace, %2=property path, %3=value { 48, N_("Invalid XmpText type `%1'") }, // %1=type { 49, N_("TIFF directory %1 has too many entries") }, // %1=TIFF directory name { 50, N_("Multiple TIFF array element tags %1 in one directory") }, // %1=tag number { 51, N_("TIFF array element tag %1 has wrong type") }, // %1=tag number { 52, N_("%1 has invalid XMP value type `%2'") } // %1=key, %2=value type }; } // ***************************************************************************** // class member definitions namespace Exiv2 { LogMsg::Level LogMsg::level_ = LogMsg::warn; // Default output level LogMsg::Handler LogMsg::handler_ = LogMsg::defaultHandler; void LogMsg::defaultHandler(int level, const char* s) { switch (static_cast(level)) { case LogMsg::debug: std::cerr << "Debug: "; break; case LogMsg::info: std::cerr << "Info: "; break; case LogMsg::warn: std::cerr << "Warning: "; break; case LogMsg::error: std::cerr << "Error: "; break; case LogMsg::mute: assert(false); } std::cerr << s; } AnyError::~AnyError() throw() { } //! @cond IGNORE template<> void BasicError::setMsg() { std::string msg = _(errMsg(code_)); std::string::size_type pos; pos = msg.find("%0"); if (pos != std::string::npos) { msg.replace(pos, 2, toString(code_)); } if (count_ > 0) { pos = msg.find("%1"); if (pos != std::string::npos) { msg.replace(pos, 2, arg1_); } } if (count_ > 1) { pos = msg.find("%2"); if (pos != std::string::npos) { msg.replace(pos, 2, arg2_); } } if (count_ > 2) { pos = msg.find("%3"); if (pos != std::string::npos) { msg.replace(pos, 2, arg3_); } } msg_ = msg; #ifdef EXV_UNICODE_PATH wmsg_ = s2ws(msg); #endif } //! @endcond #ifdef EXV_UNICODE_PATH template<> void BasicError::setMsg() { std::string s = _(errMsg(code_)); std::wstring wmsg(s.begin(), s.end()); std::wstring::size_type pos; pos = wmsg.find(L"%0"); if (pos != std::wstring::npos) { wmsg.replace(pos, 2, toBasicString(code_)); } if (count_ > 0) { pos = wmsg.find(L"%1"); if (pos != std::wstring::npos) { wmsg.replace(pos, 2, arg1_); } } if (count_ > 1) { pos = wmsg.find(L"%2"); if (pos != std::wstring::npos) { wmsg.replace(pos, 2, arg2_); } } if (count_ > 2) { pos = wmsg.find(L"%3"); if (pos != std::wstring::npos) { wmsg.replace(pos, 2, arg3_); } } wmsg_ = wmsg; msg_ = ws2s(wmsg); } #endif const char* errMsg(int code) { const ErrMsg* em = find(errList, code); return em ? em->message_ : ""; } } // namespace Exiv2 exiv2-0.25/src/asfvideo.cpp0000664000175000017500000007377612535070522015433 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: asfvideo.cpp Version: $Rev: 3845 $ Author(s): Abhinav Badola for GSoC 2012 (AB) History: 08-Aug-12, AB: created Credits: See header file */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: asfvideo.cpp 3845 2015-06-07 16:29:06Z ahuggel $") // ***************************************************************************** // included header files #include "config.h" #ifdef EXV_ENABLE_VIDEO #include "asfvideo.hpp" #include "futils.hpp" #include "basicio.hpp" #include "tags.hpp" #include "tags_int.hpp" #include "types.hpp" #include "riffvideo.hpp" #include "convert.hpp" // + standard includes #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { /*! Tag Look-up list for ASF Type Video Files Associates the GUID of a Tag with its Tag Name(i.e. Human Readable Form) Tags have been diferentiated into Various Categories. The categories have been listed above the Tag Groups */ extern const TagVocabulary GUIDReferenceTags[] = { /// Top-level ASF object GUIDS { "75B22630-668E-11CF-A6D9-00AA0062CE6C", "Header" }, { "75B22636-668E-11CF-A6D9-00AA0062CE6C", "Data" }, { "33000890-E5B1-11CF-89F4-00A0C90349CB", "Simple_Index" }, { "D6E229D3-35DA-11D1-9034-00A0C90349BE", "Index" }, { "FEB103F8-12AD-4C64-840F-2A1D2F7AD48C", "Media_Index" }, { "3CB73FD0-0C4A-4803-953D-EDF7B6228F0C", "Timecode_Index" }, /// Header Object GUIDs { "8CABDCA1-A947-11CF-8EE4-00C00C205365", "File_Properties" }, { "B7DC0791-A9B7-11CF-8EE6-00C00C205365", "Stream_Properties" }, { "5FBF03B5-A92E-11CF-8EE3-00C00C205365", "Header_Extension" }, { "86D15240-311D-11D0-A3A4-00A0C90348F6", "Codec_List" }, { "1EFB1A30-0B62-11D0-A39B-00A0C90348F6", "Script_Command" }, { "F487CD01-A951-11CF-8EE6-00C00C205365", "Marker" }, { "D6E229DC-35DA-11D1-9034-00A0C90349BE", "Bitrate_Mutual_Exclusion" }, { "75B22635-668E-11CF-A6D9-00AA0062CE6C", "Error_Correction" }, { "75B22633-668E-11CF-A6D9-00AA0062CE6C", "Content_Description" }, { "D2D0A440-E307-11D2-97F0-00A0C95EA850", "Extended_Content_Description" }, { "2211B3FA-BD23-11D2-B4B7-00A0C955FC6E", "Content_Branding" }, { "7BF875CE-468D-11D1-8D82-006097C9A2B2", "Stream_Bitrate_Properties" }, { "2211B3FB-BD23-11D2-B4B7-00A0C955FC6E", "Content_Encryption" }, { "298AE614-2622-4C17-B935-DAE07EE9289C", "Extended_Content_Encryption" }, { "2211B3FC-BD23-11D2-B4B7-00A0C955FC6E", "Digital_Signature" }, { "1806D474-CADF-4509-A4BA-9AABCB96AAE8", "Padding" }, /// Header Extension Object GUIDs { "14E6A5CB-C672-4332-8399-A96952065B5A", "Extended_Stream_Properties" }, { "A08649CF-4775-4670-8A16-6E35357566CD", "Advanced_Mutual_Exclusion" }, { "D1465A40-5A79-4338-B71B-E36B8FD6C249", "Group_Mutual_Exclusion" }, { "D4FED15B-88D3-454F-81F0-ED5C45999E24", "Stream_Prioritization" }, { "A69609E6-517B-11D2-B6AF-00C04FD908E9", "Bandwidth_Sharing" }, { "7C4346A9-EFE0-4BFC-B229-393EDE415C85", "Language_List" }, { "C5F8CBEA-5BAF-4877-8467-AA8C44FA4CCA", "Metadata" }, { "44231C94-9498-49D1-A141-1D134E457054", "Metadata_Library" }, { "D6E229DF-35DA-11D1-9034-00A0C90349BE", "Index_Parameters" }, { "6B203BAD-3F11-48E4-ACA8-D7613DE2CFA7", "Media_Index_Parameters" }, { "F55E496D-9797-4B5D-8C8B-604DFE9BFB24", "Timecode_Index_Parameters" }, { "26F18B5D-4584-47EC-9F5F-0E651F0452C9", "Compatibility" }, { "43058533-6981-49E6-9B74-AD12CB86D58C", "Advanced_Content_Encryption" }, /// Stream Properties Object Stream Type GUIDs { "F8699E40-5B4D-11CF-A8FD-00805F5C442B", "Audio_Media" }, { "BC19EFC0-5B4D-11CF-A8FD-00805F5C442B", "Video_Media" }, { "59DACFC0-59E6-11D0-A3AC-00A0C90348F6", "Command_Media" }, { "B61BE100-5B4E-11CF-A8FD-00805F5C442B", "JFIF_Media" }, { "35907DE0-E415-11CF-A917-00805F5C442B", "Degradable_JPEG_Media" }, { "91BD222C-F21C-497A-8B6D-5AA86BFC0185", "File_Transfer_Media" }, { "3AFB65E2-47EF-40F2-AC2C-70A90D71D343", "Binary_Media" }, /// Web stream Type-Specific Data GUIDs { "776257D4-C627-41CB-8F81-7AC7FF1C40CC", "Web_Stream_Media_Subtype" }, { "DA1E6B13-8359-4050-B398-388E965BF00C", "Web_Stream_Format" }, /// Stream Properties Object Error Correction Type GUIDs { "20FB5700-5B55-11CF-A8FD-00805F5C442B", "No_Error_Correction" }, { "BFC3CD50-618F-11CF-8BB2-00AA00B4E220", "Audio_Spread" }, /// Header Extension Object GUIDs { "ABD3D211-A9BA-11cf-8EE6-00C00C205365", "Reserved_1" }, /// Advanced Content Encryption Object System ID GUIDs { "7A079BB6-DAA4-4e12-A5CA-91D38DC11A8D", "Content_Encryption_System_Windows_Media_DRM_Network_Devices" }, /// Codec List Object GUIDs { "86D15241-311D-11D0-A3A4-00A0C90348F6", "Reserved_2" }, /// Script Command Object GUIDs { "4B1ACBE3-100B-11D0-A39B-00A0C90348F6", "Reserved_3" }, /// Marker Object GUIDs { "4CFEDB20-75F6-11CF-9C0F-00A0C90349CB", "Reserved_4" }, /// Mutual Exclusion Object Exclusion Type GUIDs { "D6E22A00-35DA-11D1-9034-00A0C90349BE", "Mutex_Language" }, { "D6E22A01-35DA-11D1-9034-00A0C90349BE", "Mutex_Bitrate" }, { "D6E22A02-35DA-11D1-9034-00A0C90349BE", "Mutex_Unknown" }, /// Bandwidth Sharing Object GUIDs { "AF6060AA-5197-11D2-B6AF-00C04FD908E9", "Bandwidth_Sharing_Exclusive" }, { "AF6060AB-5197-11D2-B6AF-00C04FD908E9", "Bandwidth_Sharing_Partial" }, /// Standard Payload Extension System GUIDs { "399595EC-8667-4E2D-8FDB-98814CE76C1E", "Payload_Extension_System_Timecode" }, { "E165EC0E-19ED-45D7-B4A7-25CBD1E28E9B", "Payload_Extension_System_File_Name" }, { "D590DC20-07BC-436C-9CF7-F3BBFBF1A4DC", "Payload_Extension_System_Content_Type" }, { "1B1EE554-F9EA-4BC8-821A-376B74E4C4B8", "Payload_Extension_System_Pixel_Aspect_Ratio" }, { "C6BD9450-867F-4907-83A3-C77921B733AD", "Payload_Extension_System_Sample_Duration" }, { "6698B84E-0AFA-4330-AEB2-1C0A98D7A44D", "Payload_Extension_System_Encryption_Sample_ID" }, { "00E1AF06-7BEC-11D1-A582-00C04FC29CFB", "Payload_Extension_System_Degradable_JPEG" } }; //! Audio codec type-specific data in ASF extern const TagDetails audioCodec[] = { { 0x161, "Windows Media Audio (7, 8, and 9 Series)" }, { 0x162, "Windows Media Audio 9 Professional" }, { 0x163, "Windows Media Audio 9 Lossless" }, { 0x7A21, "GSM-AMR (CBR, no SID)" }, { 0x7A22, "GSM-AMR (VBR including SID)" } }; extern const TagDetails filePropertiesTags[] = { { 7, "Xmp.video.FileLength" }, { 6, "Xmp.video.CreationDate" }, { 5, "Xmp.video.DataPackets" }, { 4, "Xmp.video.Duration" }, { 3, "Xmp.video.SendDuration" }, { 2, "Xmp.video.Preroll" }, { 1, "Xmp.video.MaxBitRate" } }; extern const TagDetails contentDescriptionTags[] = { { 0, "Xmp.video.Title" }, { 1, "Xmp.video.Author" }, { 2, "Xmp.video.Copyright" }, { 3, "Xmp.video.Description" }, { 4, "Xmp.video.Rating" } }; /*! @brief Function used to read data from data buffer, reads 16-bit character array and stores it in std::string object. @param buf Exiv2 data buffer, which stores the information @return Returns std::string object . */ std::string toString16(Exiv2::DataBuf& buf) { std::ostringstream os; char t; for(int i = 0; i <= buf.size_; i += 2 ) { t = buf.pData_[i] + 16 * buf.pData_[i + 1]; if(t == 0) { if(i) os << '\0'; break; } os<< t; } return os.str(); } /*! @brief Function used to check equality of two Tags (ignores case). @param str1 char* Pointer to First Tag @param str2 char* Pointer to Second Tag @return Returns true if both are equal. */ bool compareTag(const char* str1, const char* str2) { if ( strlen(str1) != strlen(str2)) return false; for ( uint64_t i = 0 ; i < strlen(str1); ++i ) if (tolower(str1[i]) != tolower(str2[i])) return false; return true; } /*! @brief Function used to convert a decimal number to its Hexadecimal equivalent, then parsed into a character @param n Integer which is to be parsed as Hexadecimal character @return Return a Hexadecimal number, in character */ char returnHEX(int n) { if(n >= 0 && n <= 9) return (char)(n + 48); else return (char)(n + 55); } /*! @brief Function used to calulate GUID, Tags comprises of 16 bytes. The Buffer contains the Tag in Binary Form. The information is then parsed into a character array GUID. */ void getGUID (byte buf[], char GUID[]) { int i; for (i = 0; i < 4; ++i) { GUID[(3 - i) * 2] = returnHEX(buf[i] / 0x10); GUID[(3 - i) * 2 + 1] = returnHEX(buf[i] % 0x10); } for (i = 4; i < 6; ++i) { GUID[(9 - i) * 2 + 1] = returnHEX(buf[i] / 0x10); GUID[(9 - i) * 2 + 2] = returnHEX(buf[i] % 0x10); } for (i = 6; i < 8; ++i) { GUID[(14 - i) * 2] = returnHEX(buf[i] / 0x10); GUID[(14 - i) * 2 + 1] = returnHEX(buf[i] % 0x10); } for (i = 8; i < 10; ++i) { GUID[ i * 2 + 3] = returnHEX(buf[i] / 0x10); GUID[ i * 2 + 4] = returnHEX(buf[i] % 0x10); } for (i = 10; i < 16; ++i) { GUID[ i * 2 + 4] = returnHEX(buf[i] / 0x10); GUID[ i * 2 + 5] = returnHEX(buf[i] % 0x10); } GUID[36] = '\0'; GUID[8] = GUID[13] = GUID[18] = GUID[23] = '-'; } /*! @brief Function used to check if data stored in buf is equivalent to ASF Header Tag's GUID. @param buf Exiv2 byte buffer @return Returns true if the buffer data is equivalent to Header GUID. */ bool isASFType (byte buf[]) { if(buf[0] == 0x30 && buf[1] == 0x26 && buf[2] == 0xb2 && buf[3] == 0x75 && buf[4] == 0x8e && buf[5] == 0x66 && buf[6] == 0xcf && buf[7] == 0x11 && buf[8] == 0xa6 && buf[9] == 0xd9 && buf[10] == 0x00 && buf[11] == 0xaa && buf[12] == 0x00 && buf[13] == 0x62 && buf[14] == 0xce && buf[15] == 0x6c ) return true; return false; } //! Function used to convert buffer data into 64-bit Integer, information stored in littleEndian format uint64_t getUint64_t(Exiv2::DataBuf& buf) { uint64_t temp = 0; for(int i = 0; i < 8; ++i){ temp = temp + static_cast(buf.pData_[i]*(pow(static_cast(256), i))); } return temp; } }} // namespace Internal, Exiv2 namespace Exiv2 { using namespace Exiv2::Internal; AsfVideo::AsfVideo(BasicIo::AutoPtr io) : Image(ImageType::asf, mdNone, io) { } // AsfVideo::AsfVideo std::string AsfVideo::mimeType() const { return "video/asf"; } void AsfVideo::writeMetadata() { } void AsfVideo::readMetadata() { if (io_->open() != 0) throw Error(9, io_->path(), strError()); // Ensure that this is the correct image type if (!isAsfType(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "ASF"); } IoCloser closer(*io_); clearMetadata(); continueTraversing_ = true; io_->seek(0, BasicIo::beg); height_ = width_ = 1; xmpData_["Xmp.video.FileSize"] = (double)io_->size()/(double)1048576; xmpData_["Xmp.video.FileName"] = io_->path(); xmpData_["Xmp.video.MimeType"] = mimeType(); while (continueTraversing_) decodeBlock(); aspectRatio(); } // AsfVideo::readMetadata void AsfVideo::decodeBlock() { const long bufMinSize = 9; DataBuf buf(bufMinSize); unsigned long size = 0; buf.pData_[8] = '\0' ; const TagVocabulary* tv; uint64_t cur_pos = io_->tell(); byte guidBuf[16]; io_->read(guidBuf, 16); if(io_->eof()) { continueTraversing_ = false; return; } char GUID[37] = ""; //the getGUID function write the GUID[36], getGUID(guidBuf, GUID); tv = find( GUIDReferenceTags, GUID); std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 8); size = static_cast(getUint64_t(buf)); if(tv) { tagDecoder(tv,size-24); } else io_->seek(cur_pos + size, BasicIo::beg); localPosition_ = io_->tell(); } // AsfVideo::decodeBlock void AsfVideo::tagDecoder(const TagVocabulary *tv, uint64_t size) { uint64_t cur_pos = io_->tell(); DataBuf buf(1000); unsigned long count = 0, tempLength = 0; buf.pData_[4] = '\0' ; Exiv2::Value::AutoPtr v = Exiv2::Value::create(Exiv2::xmpSeq); if(compareTag( exvGettext(tv->label_), "Header")) { localPosition_ = 0; io_->read(buf.pData_, 4); io_->read(buf.pData_, 2); while(localPosition_ < cur_pos + size) decodeBlock(); } else if(compareTag( exvGettext(tv->label_), "File_Properties")) fileProperties(); else if(compareTag( exvGettext(tv->label_), "Stream_Properties")) streamProperties(); else if(compareTag( exvGettext(tv->label_), "Metadata")) metadataHandler(1); else if(compareTag( exvGettext(tv->label_), "Extended_Content_Description")) metadataHandler(2); else if(compareTag( exvGettext(tv->label_), "Metadata_Library")) metadataHandler(3); else if(compareTag( exvGettext(tv->label_), "Codec_List")) codecList(); else if(compareTag( exvGettext(tv->label_), "Content_Description")) contentDescription(size); else if(compareTag( exvGettext(tv->label_), "Extended_Stream_Properties")) extendedStreamProperties(size); else if(compareTag( exvGettext(tv->label_), "Header_Extension")) { localPosition_ = 0; headerExtension(size); } else if(compareTag( exvGettext(tv->label_), "Language_List")) { std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 2); count = Exiv2::getUShort(buf.pData_, littleEndian); while(count--) { std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 1); tempLength = (int)buf.pData_[0]; io_->read(buf.pData_, tempLength); v->read(toString16(buf)); } xmpData_.add(Exiv2::XmpKey("Xmp.video.TrackLang"), v.get()); } io_->seek(cur_pos + size, BasicIo::beg); localPosition_ = io_->tell(); } // AsfVideo::tagDecoder void AsfVideo::extendedStreamProperties(uint64_t size) { uint64_t cur_pos = io_->tell(), avgTimePerFrame = 0; DataBuf buf(8); static int previousStream; io_->seek(cur_pos + 48, BasicIo::beg); std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 2); streamNumber_ = Exiv2::getUShort(buf.pData_, littleEndian); io_->read(buf.pData_, 2); io_->read(buf.pData_, 8); avgTimePerFrame = getUint64_t(buf); if(previousStream < streamNumber_ && avgTimePerFrame != 0) xmpData_["Xmp.video.FrameRate"] = (double)10000000/(double)avgTimePerFrame; previousStream = streamNumber_; io_->seek(cur_pos + size, BasicIo::beg); } // AsfVideo::extendedStreamProperties void AsfVideo::contentDescription(uint64_t size) { const long pos = io_->tell(); if (pos == -1) throw Error(14); long length[5]; for (int i = 0 ; i < 5 ; ++i) { byte buf[2]; io_->read(buf, 2); if (io_->error() || io_->eof()) throw Error(14); length[i] = getUShort(buf, littleEndian); } for (int i = 0 ; i < 5 ; ++i) { DataBuf buf(length[i]); std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, length[i]); if (io_->error() || io_->eof()) throw Error(14); const TagDetails* td = find(contentDescriptionTags, i); assert(td); std::string str((const char*)buf.pData_, length[i]); if (convertStringCharset(str, "UCS-2LE", "UTF-8")) { xmpData_[td->label_] = str; } else { xmpData_[td->label_] = toString16(buf); } } if (io_->seek(pos + size, BasicIo::beg)) throw Error(14); } // AsfVideo::contentDescription void AsfVideo::streamProperties() { DataBuf buf(20); buf.pData_[8] = '\0' ; byte guidBuf[16]; int stream = 0; io_->read(guidBuf, 16); char streamType[37] = ""; Exiv2::RiffVideo *test = NULL; getGUID(guidBuf, streamType); const TagVocabulary* tv; tv = find( GUIDReferenceTags, streamType); io_->read(guidBuf, 16); if(compareTag( exvGettext(tv->label_), "Audio_Media")) stream = 1; else if(compareTag( exvGettext(tv->label_), "Video_Media")) stream = 2; io_->read(buf.pData_, 8); if(stream == 2) xmpData_["Xmp.video.TimeOffset"] = getUint64_t(buf); else if(stream == 1) xmpData_["Xmp.audio.TimeOffset"] = getUint64_t(buf); io_->read(buf.pData_, 8); std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 1); streamNumber_ = (int)buf.pData_[0] & 127; io_->read(buf.pData_, 5); std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 2); long temp = Exiv2::getUShort(buf.pData_, littleEndian); if(stream == 2) { xmpData_["Xmp.video.Width"] = temp; width_ = temp; } else if(stream == 1) { xmpData_["Xmp.audio.Codec"] = test->printAudioEncoding(temp); } io_->read(buf.pData_, 2); temp = Exiv2::getUShort(buf.pData_, littleEndian); if(stream == 1) xmpData_["Xmp.audio.ChannelType"] = temp; io_->read(buf.pData_, 4); temp = Exiv2::getULong(buf.pData_, littleEndian); if(stream == 2) { xmpData_["Xmp.video.Height"] = temp; height_ = temp; } else if(stream == 1) { xmpData_["Xmp.audio.SampleRate"] = temp; } } // AsfVideo::streamProperties void AsfVideo::codecList() { DataBuf buf(200); io_->read(buf.pData_, 16); std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 4); int codecCount = Exiv2::getULong(buf.pData_, littleEndian), descLength = 0, codecType = 0; while(codecCount--) { std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 2); codecType = Exiv2::getUShort(buf.pData_, littleEndian); io_->read(buf.pData_, 2); descLength = Exiv2::getUShort(buf.pData_, littleEndian) * 2; if (descLength < 0) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << " Description found in this ASF file is not of valid size ." << " Entries considered invalid. Not Processed.\n"; #endif } else { io_->read(buf.pData_, descLength); if(codecType == 1) xmpData_["Xmp.video.Codec"] = toString16(buf); else if(codecType == 2) xmpData_["Xmp.audio.Compressor"] = toString16(buf); } std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 2); descLength = Exiv2::getUShort(buf.pData_, littleEndian) * 2; if (descLength < 0) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << " Description found in this ASF file is not of valid size ." << " Entries considered invalid. Not Processed.\n"; #endif } else { io_->read(buf.pData_, descLength); if(codecType == 1) xmpData_["Xmp.video.CodecDescription"] = toString16(buf); else if(codecType == 2) xmpData_["Xmp.audio.CodecDescription"] = toString16(buf); } std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 2); descLength = Exiv2::getUShort(buf.pData_, littleEndian); if (descLength < 0) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << " Description found in this ASF file is not of valid size ." << " Entries considered invalid. Not Processed.\n"; #endif } else { io_->read(buf.pData_, descLength); } } } // AsfVideo::codecList void AsfVideo::headerExtension(uint64_t size) { uint64_t cur_pos = io_->tell(); DataBuf buf(20); io_->read(buf.pData_, 18); buf.pData_[4] = '\0' ; io_->read(buf.pData_, 4); while(localPosition_ < cur_pos + size) decodeBlock(); io_->seek(cur_pos + size, BasicIo::beg); } // AsfVideo::headerExtension void AsfVideo::metadataHandler(int meta) { DataBuf buf(5000); io_->read(buf.pData_, 2); int recordCount = Exiv2::getUShort(buf.pData_, littleEndian), nameLength = 0, dataLength = 0, dataType = 0; Exiv2::Value::AutoPtr v = Exiv2::Value::create(Exiv2::xmpSeq); byte guidBuf[16]; char fileID[37] = ""; while(recordCount--) { std::memset(buf.pData_, 0x0, buf.size_); if(meta == 1 || meta == 3) { io_->read(buf.pData_, 4); io_->read(buf.pData_, 2); nameLength = Exiv2::getUShort(buf.pData_, littleEndian); io_->read(buf.pData_, 2); dataType = Exiv2::getUShort(buf.pData_, littleEndian); io_->read(buf.pData_, 4); dataLength = Exiv2::getULong(buf.pData_, littleEndian); if (nameLength > 5000) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Xmp.video.Metadata nameLength was found to be larger than 5000 " << " entries considered invalid; not read.\n"; #endif io_->seek(io_->tell() + nameLength, BasicIo::beg); } else io_->read(buf.pData_, nameLength); v->read(toString16(buf)); if(dataType == 6) { io_->read(guidBuf, 16); getGUID(guidBuf, fileID); } else // Sanity check with an "unreasonably" large number if (dataLength > 5000) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Xmp.video.Metadata dataLength was found to be larger than 5000 " << " entries considered invalid; not read.\n"; #endif io_->seek(io_->tell() + dataLength, BasicIo::beg); } else io_->read(buf.pData_, dataLength); } else if(meta == 2) { io_->read(buf.pData_, 2); nameLength = Exiv2::getUShort(buf.pData_, littleEndian); if (nameLength > 5000) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Xmp.video.Metadata nameLength was found to be larger than 5000 " << " entries considered invalid; not read.\n"; #endif io_->seek(io_->tell() + nameLength, BasicIo::beg); } else io_->read(buf.pData_, nameLength); v->read(toString16(buf)); io_->read(buf.pData_, 2); dataType = Exiv2::getUShort(buf.pData_, littleEndian); io_->read(buf.pData_, 2); dataLength = Exiv2::getUShort(buf.pData_, littleEndian); // Sanity check with an "unreasonably" large number if (dataLength > 5000) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Xmp.video.Metadata dataLength was found to be larger than 5000 " << " entries considered invalid; not read.\n"; #endif io_->seek(io_->tell() + dataLength, BasicIo::beg); } else io_->read(buf.pData_, dataLength); } if(dataType == 0) { // Unicode String v->read(toString16(buf)); } else if(dataType == 2 || dataType == 5) { // 16-bit Unsigned Integer v->read( Exiv2::toString( Exiv2::getUShort(buf.pData_, littleEndian))); } else if(dataType == 3) { // 32-bit Unsigned Integer v->read( Exiv2::toString( Exiv2::getULong( buf.pData_, littleEndian))); } else if(dataType == 4) { // 64-bit Unsigned Integer v->read(Exiv2::toString(getUint64_t(buf))); } else if(dataType == 6) { // 128-bit GUID v->read(Exiv2::toString(fileID)); } else { // Byte array v->read( Exiv2::toString(buf.pData_)); } } if(meta == 1) { xmpData_.add(Exiv2::XmpKey("Xmp.video.Metadata"), v.get()); } else if(meta == 2) { xmpData_.add(Exiv2::XmpKey("Xmp.video.ExtendedContentDescription"), v.get()); } else { xmpData_.add(Exiv2::XmpKey("Xmp.video.MetadataLibrary"), v.get()); } } // AsfVideo::metadataHandler void AsfVideo::fileProperties() { DataBuf buf(9); buf.pData_[8] = '\0' ; byte guidBuf[16]; io_->read(guidBuf, 16); char fileID[37] = ""; int count = 7; getGUID(guidBuf, fileID); xmpData_["Xmp.video.FileID"] = fileID; const TagDetails* td; while(count--) { td = find(filePropertiesTags , (count + 1)); io_->read(buf.pData_, 8); if(count == 0) { buf.pData_[4] = '\0' ; io_->read(buf.pData_, 4); io_->read(buf.pData_, 4); } if(count == 3 || count == 2) { xmpData_[exvGettext(td->label_)] = getUint64_t(buf) / 10000; } else { xmpData_[exvGettext(td->label_)] = getUint64_t(buf); } } } // AsfVideo::fileProperties void AsfVideo::aspectRatio() { //TODO - Make a better unified method to handle all cases of Aspect Ratio double aspectRatio = (double)width_ / (double)height_; aspectRatio = floor(aspectRatio*10) / 10; xmpData_["Xmp.video.AspectRatio"] = aspectRatio; int aR = (int) ((aspectRatio*10.0)+0.1); switch (aR) { case 13 : xmpData_["Xmp.video.AspectRatio"] = "4:3" ; break; case 17 : xmpData_["Xmp.video.AspectRatio"] = "16:9" ; break; case 10 : xmpData_["Xmp.video.AspectRatio"] = "1:1" ; break; case 16 : xmpData_["Xmp.video.AspectRatio"] = "16:10" ; break; case 22 : xmpData_["Xmp.video.AspectRatio"] = "2.21:1" ; break; case 23 : xmpData_["Xmp.video.AspectRatio"] = "2.35:1" ; break; case 12 : xmpData_["Xmp.video.AspectRatio"] = "5:4" ; break; default : xmpData_["Xmp.video.AspectRatio"] = aspectRatio;break; } } // AsfVideo::aspectRatio Image::AutoPtr newAsfInstance(BasicIo::AutoPtr io, bool /*create*/) { Image::AutoPtr image(new AsfVideo(io)); if (!image->good()) { image.reset(); } return image; } bool isAsfType(BasicIo& iIo, bool advance) { const int32_t len = 16; byte buf[len]; iIo.read(buf, len); if (iIo.error() || iIo.eof()) { return false; } bool matched = isASFType(buf); if (!advance || !matched) { iIo.seek(0, BasicIo::beg); } return matched; } } // namespace Exiv2 #endif // EXV_ENABLE_VIDEO exiv2-0.25/src/actions.hpp0000664000175000017500000003374712523622506015274 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file actions.hpp @brief Implements base class Task, TaskFactory and the various supported actions (derived from Task). @version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 11-Dec-03, ahu: created */ #ifndef ACTIONS_HPP_ #define ACTIONS_HPP_ // ***************************************************************************** // included header files // + standard includes #include #include #include "exiv2app.hpp" #include "image.hpp" #include "exif.hpp" #include "iptc.hpp" // ***************************************************************************** // class declarations namespace Exiv2 { class ExifData; class Image; class Metadatum; class PreviewImage; } // ***************************************************************************** // namespace extensions /*! @brief Contains all action classes (task subclasses). */ namespace Action { //! Enumerates all tasks enum TaskType { none, adjust, print, rename, erase, extract, insert, modify, fixiso, fixcom }; // ***************************************************************************** // class definitions /*! @brief Abstract base class for all concrete actions. Task provides a simple interface that actions must implement and a few commonly used helpers. */ class Task { public: //! Shortcut for an auto pointer. typedef std::auto_ptr AutoPtr; //! Virtual destructor. virtual ~Task(); //! Virtual copy construction. AutoPtr clone() const; /*! @brief Application interface to perform a task. @param path Path of the file to process. @return 0 if successful. */ virtual int run(const std::string& path) =0; private: //! Internal virtual copy constructor. virtual Task* clone_() const =0; }; // class Task /*! @brief Task factory. Creates an instance of the task of the requested type. The factory is implemented as a singleton, which can be accessed only through the static member function instance(). */ class TaskFactory { public: /*! @brief Get access to the task factory. Clients access the task factory exclusively through this method. */ static TaskFactory& instance(); //! Destructor void cleanup(); /*! @brief Create a task. @param type Identifies the type of task to create. @return An auto pointer that owns a task of the requested type. If the task type is not supported, the pointer is 0. @remark The caller of the function should check the content of the returned auto pointer and take appropriate action (e.g., throw an exception) if it is 0. */ Task::AutoPtr create(TaskType type); /*! @brief Register a task prototype together with its type. The task factory creates new tasks of a given type by cloning its associated prototype. Additional tasks can be registered. If called for a type which already exists in the list, the corresponding prototype is replaced. @param type Task type. @param task Pointer to the prototype. Ownership is transferred to the task factory. That's what the auto pointer indicates. */ void registerTask(TaskType type, Task::AutoPtr task); private: //! Prevent construction other than through instance(). TaskFactory(); //! Prevent copy construction: not implemented. TaskFactory(const TaskFactory& rhs); //! Pointer to the one and only instance of this class. static TaskFactory* instance_; //! Type used to store Task prototype classes typedef std::map Registry; //! List of task types and corresponding prototypes. Registry registry_; }; // class TaskFactory //! %Print the Exif (or other metadata) of a file to stdout class Print : public Task { public: virtual ~Print(); virtual int run(const std::string& path); typedef std::auto_ptr AutoPtr; AutoPtr clone() const; //! Print the Jpeg comment int printComment(); //! Print list of available preview images int printPreviewList(); //! Print Exif summary information int printSummary(); //! Print Exif, IPTC and XMP metadata in user defined format int printList(); //! Return true if key should be printed, else false bool grepTag(const std::string& key); //! Return true if key should be printed, else false bool keyTag(const std::string& key); //! Print all metadata in a user defined format int printMetadata(const Exiv2::Image* image); //! Print a metadatum in a user defined format void printMetadatum(const Exiv2::Metadatum& md, const Exiv2::Image* image); //! Print the label for a summary line void printLabel(const std::string& label) const; //! Print image Structure information int printStructure(std::ostream& out, Exiv2::PrintStructureOption option); /*! @brief Print one summary line with a label (if provided) and requested data. A line break is printed only if a label is provided. @return 1 if a line was written, 0 if the key was not found. */ int printTag(const Exiv2::ExifData& exifData, const std::string& key, const std::string& label ="") const; //! Type for an Exiv2 Easy access function typedef Exiv2::ExifData::const_iterator (*EasyAccessFct)(const Exiv2::ExifData& ed); /*! @brief Print one summary line with a label (if provided) and requested data. A line break is printed only if a label is provided. @return 1 if a line was written, 0 if the information was not found. */ int printTag(const Exiv2::ExifData& exifData, EasyAccessFct easyAccessFct, const std::string& label) const; private: virtual Print* clone_() const; std::string path_; int align_; // for the alignment of the summary output }; // class Print /*! @brief %Rename a file to its metadate creation timestamp, in the specified format. */ class Rename : public Task { public: virtual ~Rename(); virtual int run(const std::string& path); typedef std::auto_ptr AutoPtr; AutoPtr clone() const; private: virtual Rename* clone_() const; }; // class Rename //! %Adjust the Exif (or other metadata) timestamps class Adjust : public Task { public: virtual ~Adjust(); virtual int run(const std::string& path); typedef std::auto_ptr AutoPtr; AutoPtr clone() const; private: virtual Adjust* clone_() const; int adjustDateTime(Exiv2::ExifData& exifData, const std::string& key, const std::string& path) const; long adjustment_; long yearAdjustment_; long monthAdjustment_; long dayAdjustment_; }; // class Adjust /*! @brief %Erase the entire exif data or only the thumbnail section. */ class Erase : public Task { public: virtual ~Erase(); virtual int run(const std::string& path); typedef std::auto_ptr AutoPtr; AutoPtr clone() const; /*! @brief Delete the thumbnail image, incl IFD1 metadata from the file. */ int eraseThumbnail(Exiv2::Image* image) const; /*! @brief Erase the complete Exif data block from the file. */ int eraseExifData(Exiv2::Image* image) const; /*! @brief Erase all Iptc data from the file. */ int eraseIptcData(Exiv2::Image* image) const; /*! @brief Erase Jpeg comment from the file. */ int eraseComment(Exiv2::Image* image) const; /*! @brief Erase XMP packet from the file. */ int eraseXmpData(Exiv2::Image* image) const; private: virtual Erase* clone_() const; std::string path_; }; // class Erase /*! @brief %Extract the entire exif data or only the thumbnail section. */ class Extract : public Task { public: virtual ~Extract(); virtual int run(const std::string& path); typedef std::auto_ptr AutoPtr; AutoPtr clone() const; /*! @brief Write the thumbnail image to a file. The filename is composed by removing the suffix from the image filename and appending "-thumb" and the appropriate suffix (".jpg" or ".tif"), depending on the format of the Exif thumbnail image. */ int writeThumbnail() const; /*! @brief Write preview images to files. */ int writePreviews() const; /*! @brief Write one preview image to a file. The filename is composed by removing the suffix from the image filename and appending "-preview" and the appropriate suffix (".jpg" or ".tif"), depending on the format of the Exif thumbnail image. */ void writePreviewFile(const Exiv2::PreviewImage& pvImg, int num) const; private: virtual Extract* clone_() const; std::string path_; }; // class Extract /*! @brief %Insert the Exif data from corresponding *.exv files. */ class Insert : public Task { public: virtual ~Insert(); virtual int run(const std::string& path); typedef std::auto_ptr AutoPtr; AutoPtr clone() const; /*! @brief Insert a Jpeg thumbnail image from a file into file \em path. The filename of the thumbnail is expected to be the image filename (\em path) minus its suffix plus "-thumb.jpg". */ int insertThumbnail(const std::string& path) const; /*! @brief Insert an XMP packet from a file into file \em path. The filename of the XMP packet is expected to be the image filename (\em path) minus its suffix plus ".xmp". */ int insertXmpPacket(const std::string& path) const; private: virtual Insert* clone_() const; }; // class Insert /*! @brief %Modify the Exif data according to the commands in the modification table. */ class Modify : public Task { public: virtual ~Modify(); virtual int run(const std::string& path); typedef std::auto_ptr AutoPtr; AutoPtr clone() const; Modify() {} //! Apply modification commands to the \em pImage, return 0 if successful. static int applyCommands(Exiv2::Image* pImage); private: virtual Modify* clone_() const; //! Copy constructor needed because of AutoPtr member Modify(const Modify& /*src*/) : Task() {} //! Add a metadatum to \em pImage according to \em modifyCmd static int addMetadatum(Exiv2::Image* pImage, const ModifyCmd& modifyCmd); //! Set a metadatum in \em pImage according to \em modifyCmd static int setMetadatum(Exiv2::Image* pImage, const ModifyCmd& modifyCmd); //! Delete a metadatum from \em pImage according to \em modifyCmd static void delMetadatum(Exiv2::Image* pImage, const ModifyCmd& modifyCmd); //! Register an XMP namespace according to \em modifyCmd static void regNamespace(const ModifyCmd& modifyCmd); }; // class Modify /*! @brief %Copy ISO settings from any of the Nikon makernotes to the regular Exif tag, Exif.Photo.ISOSpeedRatings. */ class FixIso : public Task { public: virtual ~FixIso(); virtual int run(const std::string& path); typedef std::auto_ptr AutoPtr; AutoPtr clone() const; private: virtual FixIso* clone_() const; std::string path_; }; // class FixIso /*! @brief Fix the character encoding of Exif UNICODE user comments. Decodes the comment using the auto-detected or specified character encoding and writes it back in UCS-2. */ class FixCom : public Task { public: virtual ~FixCom(); virtual int run(const std::string& path); typedef std::auto_ptr AutoPtr; AutoPtr clone() const; private: virtual FixCom* clone_() const; std::string path_; }; // class FixCom } // namespace Action #endif // #ifndef ACTIONS_HPP_ exiv2-0.25/src/TODO0000664000175000017500000000347311363266605013611 0ustar andreasandreasLibrary Features: + rename erase* methods that access a file to remove* + add ExifData::erase(tag) + Thumbnail support: set (re-calculate) + operator>> for Value, since we already have read()? + Use size_t where appropriate + Support TIFF type ids + Support for broken IFD makernotes (which have corrupted IFD offsets) + Support non-intrusive deletion of entries from an IFD. + Write an example using low level IFD classes to print summary Exif info + Extended JPEG support (actual resolution of the image) + Implement proper error handling + Complete support to create Exif data from scratch: + set thumbnail, write thumbnail tags + Make it possible to force write from metadata (just an optional arg to write?) + Make Image::doWriteMetadata do its work in a single pass + Revise Image and IptcData+ExifData API (aka turn it inside out) + Add PSD images support (and TIFF, NEF, CRW...) + Add support for XML metadata files Exiv2 functionality + Add offset to value for hexdump (requires metadata to have an offset) Bugs: + Handle all Todo's + Cleanup and fix implementation of JpegImage (must be able to read any APP0/1), should be able to insert exv into extracted thumbs (usually w/o APP0/1) + Review Image interface. Is it really necessary to have so many functions there? + Review the handling of type ids? What if we encounter type 27 in an IFD? + Rational and other output operators (see Josuttis, p653) + Through ExifData::iterator and Metadatum::operator= it is possible to have multiple copies of one metadatum in the metadata container + Checks and non-intrusive updates must be atomic, i.e., not change anything if the metadata is not compatible + Review: Exception safety + Review: Ifd1 only at Thumbnail, do we really need Thumbnail::update() ? + Should JpegImage differ between NO Jpeg comment and an empty Jpeg comment?? exiv2-0.25/src/sigmamn.cpp0000664000175000017500000001671412521135474015256 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: sigmamn.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 02-Apr-04, ahu: created Credits: Sigma and Foveon MakerNote implemented according to the specification in "SIGMA and FOVEON EXIF MakerNote Documentation" by Foveon. */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: sigmamn.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // ***************************************************************************** // included header files #include "types.hpp" #include "sigmamn_int.hpp" #include "tags_int.hpp" #include "value.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { // Sigma (Foveon) MakerNote Tag Info const TagInfo SigmaMakerNote::tagInfo_[] = { TagInfo(0x0002, "SerialNumber", N_("Serial Number"), N_("Camera serial number"), sigmaId, makerTags, asciiString, -1, printValue), TagInfo(0x0003, "DriveMode", N_("Drive Mode"), N_("Drive mode"), sigmaId, makerTags, asciiString, -1, printValue), TagInfo(0x0004, "ResolutionMode", N_("Resolution Mode"), N_("Resolution mode"), sigmaId, makerTags, asciiString, -1, printValue), TagInfo(0x0005, "AutofocusMode", N_("Autofocus Mode"), N_("Autofocus mode"), sigmaId, makerTags, asciiString, -1, printValue), TagInfo(0x0006, "FocusSetting", N_("Focus Setting"), N_("Focus setting"), sigmaId, makerTags, asciiString, -1, printValue), TagInfo(0x0007, "WhiteBalance", N_("White Balance"), N_("White balance"), sigmaId, makerTags, asciiString, -1, printValue), TagInfo(0x0008, "ExposureMode", N_("Exposure Mode"), N_("Exposure mode"), sigmaId, makerTags, asciiString, -1, print0x0008), TagInfo(0x0009, "MeteringMode", N_("Metering Mode"), N_("Metering mode"), sigmaId, makerTags, asciiString, -1, print0x0009), TagInfo(0x000a, "LensRange", N_("Lens Range"), N_("Lens focal length range"), sigmaId, makerTags, asciiString, -1, printValue), TagInfo(0x000b, "ColorSpace", N_("Color Space"), N_("Color space"), sigmaId, makerTags, asciiString, -1, printValue), TagInfo(0x000c, "Exposure", N_("Exposure"), N_("Exposure"), sigmaId, makerTags, asciiString, -1, printStripLabel), TagInfo(0x000d, "Contrast", N_("Contrast"), N_("Contrast"), sigmaId, makerTags, asciiString, -1, printStripLabel), TagInfo(0x000e, "Shadow", N_("Shadow"), N_("Shadow"), sigmaId, makerTags, asciiString, -1, printStripLabel), TagInfo(0x000f, "Highlight", N_("Highlight"), N_("Highlight"), sigmaId, makerTags, asciiString, -1, printStripLabel), TagInfo(0x0010, "Saturation", N_("Saturation"), N_("Saturation"), sigmaId, makerTags, asciiString, -1, printStripLabel), TagInfo(0x0011, "Sharpness", N_("Sharpness"), N_("Sharpness"), sigmaId, makerTags, asciiString, -1, printStripLabel), TagInfo(0x0012, "FillLight", N_("Fill Light"), N_("X3 Fill light"), sigmaId, makerTags, asciiString, -1, printStripLabel), TagInfo(0x0014, "ColorAdjustment", N_("Color Adjustment"), N_("Color adjustment"), sigmaId, makerTags, asciiString, -1, printStripLabel), TagInfo(0x0015, "AdjustmentMode", N_("Adjustment Mode"), N_("Adjustment mode"), sigmaId, makerTags, asciiString, -1, printValue), TagInfo(0x0016, "Quality", N_("Quality"), N_("Quality"), sigmaId, makerTags, asciiString, -1, printStripLabel), TagInfo(0x0017, "Firmware", N_("Firmware"), N_("Firmware"), sigmaId, makerTags, asciiString, -1, printValue), TagInfo(0x0018, "Software", N_("Software"), N_("Software"), sigmaId, makerTags, asciiString, -1, printValue), TagInfo(0x0019, "AutoBracket", N_("Auto Bracket"), N_("Auto bracket"), sigmaId, makerTags, asciiString, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownSigmaMakerNoteTag)", "(UnknownSigmaMakerNoteTag)", N_("Unknown SigmaMakerNote tag"), sigmaId, makerTags, asciiString, -1, printValue) }; const TagInfo* SigmaMakerNote::tagList() { return tagInfo_; } std::ostream& SigmaMakerNote::printStripLabel(std::ostream& os, const Value& value, const ExifData*) { std::string v = value.toString(); std::string::size_type pos = v.find(':'); if (pos != std::string::npos) { if (v[pos + 1] == ' ') ++pos; v = v.substr(pos + 1); } return os << v; } std::ostream& SigmaMakerNote::print0x0008(std::ostream& os, const Value& value, const ExifData*) { switch (value.toString()[0]) { case 'P': os << _("Program"); break; case 'A': os << _("Aperture priority"); break; case 'S': os << _("Shutter priority"); break; case 'M': os << _("Manual"); break; default: os << "(" << value << ")"; break; } return os; } std::ostream& SigmaMakerNote::print0x0009(std::ostream& os, const Value& value, const ExifData*) { switch (value.toString()[0]) { case 'A': os << _("Average"); break; case 'C': os << _("Center"); break; case '8': os << _("8-Segment"); break; default: os << "(" << value << ")"; break; } return os; } }} // namespace Internal, Exiv2 exiv2-0.25/src/olympusmn.cpp0000664000175000017500000027603412526761404015674 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: olympusmn.cpp Version: $Rev: 3831 $ Author(s): Will Stokes (wuz) Andreas Huggel (ahu) Gilles Caulier (gc) Greg Mansfield History: 10-Mar-05, wuz: created Credits: See header file. */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: olympusmn.cpp 3831 2015-05-20 01:27:32Z asp $") // ***************************************************************************** // included header files #include "types.hpp" #include "olympusmn_int.hpp" #include "value.hpp" #include "image.hpp" #include "tags_int.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { //! OffOn, multiple tags extern const TagDetails olympusOffOn[] = { { 0, N_("Off") }, { 1, N_("On") } }; //! NoYes, multiple tags extern const TagDetails olympusNoYes[] = { { 0, N_("No") }, { 1, N_("Yes") } }; //! Quality, tag 0x0201 extern const TagDetails olympusQuality[] = { { 1, N_("Standard Quality (SQ)") }, { 2, N_("High Quality (HQ)") }, { 3, N_("Super High Quality (SHQ)") }, { 6, N_("Raw") } }; //! Macro, tag 0x0202 extern const TagDetails olympusMacro[] = { { 0, N_("Off") }, { 1, N_("On") }, { 2, N_("Super macro") } }; //! OneTouchWB, tag 0x0302 extern const TagDetails olympusOneTouchWb[] = { { 0, N_("Off") }, { 1, N_("On") }, { 2, N_("On (preset)") } }; //! SceneMode, tag 0x403 and CameraSettings tag 0x509 extern const TagDetails olympusSceneMode[] = { { 0, N_("Standard") }, { 6, N_("Auto") }, { 7, N_("Sport") }, { 8, N_("Portrait") }, { 9, N_("Landscape+Portrait") }, { 10, N_("Landscape") }, { 11, N_("Night Scene") }, { 12, N_("Self Portrait") }, { 13, N_("Panorama") }, { 14, N_("2 in 1") }, { 15, N_("Movie") }, { 16, N_("Landscape+Portrait") }, { 17, N_("Night+Portrait") }, { 18, N_("Indoor") }, { 19, N_("Fireworks") }, { 20, N_("Sunset") }, { 22, N_("Macro") }, { 23, N_("Super Macro") }, { 24, N_("Food") }, { 25, N_("Documents") }, { 26, N_("Museum") }, { 27, N_("Shoot & Select") }, { 28, N_("Beach & Snow") }, { 29, N_("Self Portrait+Timer") }, { 30, N_("Candle") }, { 31, N_("Available Light") }, { 32, N_("Behind Glass") }, { 33, N_("My Mode") }, { 34, N_("Pet") }, { 35, N_("Underwater Wide1") }, { 36, N_("Underwater Macro") }, { 37, N_("Shoot & Select1") }, { 38, N_("Shoot & Select2") }, { 39, N_("High Key") }, { 40, N_("Digital Image Stabilization") }, { 41, N_("Auction") }, { 42, N_("Beach") }, { 43, N_("Snow") }, { 44, N_("Underwater Wide2") }, { 45, N_("Low Key") }, { 46, N_("Children") }, { 47, N_("Vivid") }, { 48, N_("Nature Macro") }, { 49, N_("Underwater Snapshot") }, { 50, N_("Shooting Guide") } }; //! FlashDevice, tag 0x1005 extern const TagDetails olympusFlashDevice[] = { { 0, N_("None") }, { 1, N_("Internal") }, { 4, N_("External") }, { 5, N_("Internal + External") } }; //! FocusRange, tag 0x100a extern const TagDetails olympusFocusRange[] = { { 0, N_("Normal") }, { 1, N_("Macro") } }; //! FocusMode, tag 0x100b extern const TagDetails olympusFocusMode[] = { { 0, N_("Auto") }, { 1, N_("Manual") } }; //! Sharpness, tag 0x100f extern const TagDetails olympusSharpness[] = { { 0, N_("Normal") }, { 1, N_("Hard") }, { 2, N_("Soft") } }; //! Contrast, tag 0x1029 extern const TagDetails olympusContrast[] = { { 0, N_("High") }, { 1, N_("Normal") }, { 2, N_("Low") } }; //! CCDScanMode, tag 0x1039 extern const TagDetails olympusCCDScanMode[] = { { 0, N_("Interlaced") }, { 1, N_("Progressive") } }; // Olympus Tag Info const TagInfo OlympusMakerNote::tagInfo_[] = { /* TODO: add Minolta makenotes tags here (0x0000-0x0103). See Exiftool database.*/ TagInfo(0x0000, "0x0000", "0x0000", N_("Unknown"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0100, "ThumbnailImage", N_("Thumbnail Image"), N_("Thumbnail image"), olympusId, makerTags, undefined, -1, printValue), TagInfo(0x0104, "BodyFirmwareVersion", N_("Body Firmware Version"), N_("Body firmware version"), olympusId, makerTags, asciiString, -1, printValue), TagInfo(0x0200, "SpecialMode", N_("Special Mode"), N_("Picture taking mode"), olympusId, makerTags, unsignedLong, -1, print0x0200), TagInfo(0x0201, "Quality", N_("Quality"), N_("Image quality setting"), olympusId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusQuality)), TagInfo(0x0202, "Macro", N_("Macro"), N_("Macro mode"), olympusId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusMacro)), TagInfo(0x0203, "BWMode", N_("Black & White Mode"), N_("Black and white mode"), olympusId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x0204, "DigitalZoom", N_("Digital Zoom"), N_("Digital zoom ratio"), olympusId, makerTags, unsignedRational, -1, print0x0204), TagInfo(0x0205, "FocalPlaneDiagonal", N_("Focal Plane Diagonal"), N_("Focal plane diagonal"), olympusId, makerTags, unsignedRational, -1, printValue), TagInfo(0x0206, "LensDistortionParams", N_("Lens Distortion Parameters"), N_("Lens distortion parameters"), olympusId, makerTags, signedShort, -1, printValue), TagInfo(0x0207, "CameraType", N_("Camera Type"), N_("Camera type"), olympusId, makerTags, asciiString, -1, printValue), TagInfo(0x0208, "PictureInfo", N_("Picture Info"), N_("ASCII format data such as [PictureInfo]"), olympusId, makerTags, asciiString, -1, printValue), TagInfo(0x0209, "CameraID", N_("Camera ID"), N_("Camera ID data"), olympusId, makerTags, asciiString, -1, print0x0209), TagInfo(0x020b, "ImageWidth", N_("Image Width"), N_("Image width"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x020c, "ImageHeight", N_("Image Height"), N_("Image height"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x020d, "Software", N_("Software"), N_("Software"), olympusId, makerTags, asciiString, -1, printValue), TagInfo(0x0280, "PreviewImage", N_("Preview Image"), N_("Preview image"), olympusId, makerTags, unsignedByte, -1, printValue), TagInfo(0x0300, "PreCaptureFrames", N_("Pre Capture Frames"), N_("Pre-capture frames"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0301, "WhiteBoard", N_("White Board"), N_("White board"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0302, "OneTouchWB", N_("One Touch WB"), N_("One touch white balance"), olympusId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOneTouchWb)), TagInfo(0x0303, "WhiteBalanceBracket", N_("White Balance Bracket"), N_("White balance bracket"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0304, "WhiteBalanceBias", N_("White Balance Bias"), N_("White balance bias"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0403, "SceneMode", N_("Scene Mode"), N_("Scene mode"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusSceneMode)), TagInfo(0x0404, "Firmware", N_("Firmware"), N_("Firmware"), olympusId, makerTags, asciiString, -1, printValue), TagInfo(0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), olympusId, makerTags, undefined, -1, printValue), TagInfo(0x0f00, "DataDump1", N_("Data Dump 1"), N_("Various camera settings 1"), olympusId, makerTags, undefined, -1, printValue), TagInfo(0x0f01, "DataDump2", N_("Data Dump 2"), N_("Various camera settings 2"), olympusId, makerTags, undefined, -1, printValue), TagInfo(0x1000, "ShutterSpeed", N_("Shutter Speed"), N_("Shutter speed value"), olympusId, makerTags, signedRational, -1, printValue), TagInfo(0x1001, "ISOSpeed", N_("ISO Speed"), N_("ISO speed value"), olympusId, makerTags, signedRational, -1, printValue), TagInfo(0x1002, "ApertureValue", N_("Aperture Value"), N_("Aperture value"), olympusId, makerTags, signedRational, -1, printValue), TagInfo(0x1003, "Brightness", N_("Brightness"), N_("Brightness value"), olympusId, makerTags, signedRational, -1, printValue), TagInfo(0x1004, "FlashMode", N_("Flash Mode"), N_("Flash mode"), olympusId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x1005, "FlashDevice", N_("Flash Device"), N_("Flash device"), olympusId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusFlashDevice)), TagInfo(0x1006, "Bracket", N_("Bracket"), N_("Exposure compensation value"), olympusId, makerTags, signedRational, -1, printValue), TagInfo(0x1007, "SensorTemperature", N_("Sensor Temperature"), N_("Sensor temperature"), olympusId, makerTags, signedShort, -1, printValue), TagInfo(0x1008, "LensTemperature", N_("Lens Temperature"), N_("Lens temperature"), olympusId, makerTags, signedShort, -1, printValue), TagInfo(0x1009, "LightCondition", N_("Light Condition"), N_("Light condition"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x100a, "FocusRange", N_("Focus Range"), N_("Focus range"), olympusId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusFocusRange)), TagInfo(0x100b, "FocusMode", N_("Focus Mode"), N_("Focus mode"), olympusId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusFocusMode)), TagInfo(0x100c, "FocusDistance", N_("Focus Distance"), N_("Manual focus distance"), olympusId, makerTags, unsignedRational, -1, printValue), TagInfo(0x100d, "Zoom", N_("Zoom"), N_("Zoom step count"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x100e, "MacroFocus", N_("Macro Focus"), N_("Macro focus step count"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x100f, "SharpnessFactor", N_("Sharpness Factor"), N_("Sharpness factor"), olympusId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusSharpness)), TagInfo(0x1010, "FlashChargeLevel", N_("Flash Charge Level"), N_("Flash charge level"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1011, "ColorMatrix", N_("Color Matrix"), N_("Color matrix"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1012, "BlackLevel", N_("BlackLevel"), N_("Black level"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1013, "0x1013", "0x1013", N_("Unknown"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1014, "0x1014", "0x1014", N_("Unknown"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1015, "WhiteBalance", N_("White Balance"), N_("White balance mode"), olympusId, makerTags, unsignedShort, -1, print0x1015), TagInfo(0x1016, "0x1016", "0x1016", N_("Unknown"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1017, "RedBalance", N_("Red Balance"), N_("Red balance"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1018, "BlueBalance", N_("Blue Balance"), N_("Blue balance"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1019, "ColorMatrixNumber", N_("Color Matrix Number"), N_("Color matrix number"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x101a, "SerialNumber2", N_("Serial Number 2"), N_("Serial number 2"), olympusId, makerTags, asciiString, -1, printValue), TagInfo(0x101b, "0x101b", "0x101b", N_("Unknown"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x101c, "0x101c", "0x101c", N_("Unknown"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x101d, "0x101d", "0x101d", N_("Unknown"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x101e, "0x101e", "0x101e", N_("Unknown"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x101f, "0x101f", "0x101f", N_("Unknown"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x1020, "0x1020", "0x1020", N_("Unknown"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x1021, "0x1021", "0x1021", N_("Unknown"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x1022, "0x1022", "0x1022", N_("Unknown"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x1023, "FlashBias", N_("Flash Bias"), N_("Flash exposure compensation"), olympusId, makerTags, signedRational, -1, printValue), TagInfo(0x1024, "0x1024", "0x1024", N_("Unknown"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1025, "0x1025", "0x1025", N_("Unknown"), olympusId, makerTags, signedRational, -1, printValue), TagInfo(0x1026, "ExternalFlashBounce", N_("External Flash Bounce"), N_("External flash bounce"), olympusId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x1027, "ExternalFlashZoom", N_("External Flash Zoom"), N_("External flash zoom"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1028, "ExternalFlashMode", N_("External Flash Mode"), N_("External flash mode"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1029, "Contrast", N_("Contrast"), N_("Contrast setting"), olympusId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusContrast)), TagInfo(0x102a, "SharpnessFactor", N_("Sharpness Factor"), N_("Sharpness factor"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x102b, "ColorControl", N_("Color Control"), N_("Color control"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x102c, "ValidBits", N_("ValidBits"), N_("Valid bits"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x102d, "CoringFilter", N_("CoringFilter"), N_("Coring filter"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x102e, "ImageWidth", N_("Image Width"), N_("Image width"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x102f, "ImageHeight", N_("Image Height"), N_("Image height"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x1030, "0x1030", "0x1030", N_("Unknown"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1031, "0x1031", "0x1031", N_("Unknown"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x1032, "0x1032", "0x1032", N_("Unknown"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1033, "0x1033", "0x1033", N_("Unknown"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x1034, "CompressionRatio", N_("Compression Ratio"), N_("Compression ratio"), olympusId, makerTags, unsignedRational, -1, printValue), TagInfo(0x1035, "Thumbnail", N_("Thumbnail"), N_("Preview image embedded"), olympusId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x1036, "ThumbnailOffset", N_("Thumbnail Offset"), N_("Offset of the preview image"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x1037, "ThumbnailLength", N_("Thumbnail Length"), N_("Size of the preview image"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x1039, "CCDScanMode", N_("CCD Scan Mode"), N_("CCD scan mode"), olympusId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusCCDScanMode)), TagInfo(0x103a, "NoiseReduction", N_("Noise Reduction"), N_("Noise reduction"), olympusId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x103b, "InfinityLensStep", N_("Infinity Lens Step"), N_("Infinity lens step"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x103c, "NearLensStep", N_("Near Lens Step"), N_("Near lens step"), olympusId, makerTags, unsignedShort, -1, printValue), TagInfo(0x2010, "Equipment", N_("Equipment Info"), N_("Camera equipment sub-IFD"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x2020, "CameraSettings", N_("Camera Settings"), N_("Camera Settings sub-IFD"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x2030, "RawDevelopment", N_("Raw Development"), N_("Raw development sub-IFD"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x2031, "RawDevelopment2", N_("Raw Development 2"), N_("Raw development 2 sub-IFD"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x2040, "ImageProcessing", N_("Image Processing"), N_("Image processing sub-IFD"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x2050, "FocusInfo", N_("Focus Info"), N_("Focus sub-IFD"), olympusId, makerTags, unsignedLong, -1, printValue), TagInfo(0x3000, "RawInfo", N_("Raw Info"), N_("Raw sub-IFD"), olympusId, makerTags, unsignedLong, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownOlympusMakerNoteTag)", "(UnknownOlympusMakerNoteTag)", N_("Unknown OlympusMakerNote tag"), olympusId, makerTags, asciiString, -1, printValue) }; const TagInfo* OlympusMakerNote::tagList() { return tagInfo_; } // Olympus CameraSettings Tags //! ExposureMode, tag 0x0200 extern const TagDetails olympusExposureMode[] = { { 1, N_("Manual") }, { 2, N_("Program") }, { 3, N_("Aperture-priority AE") }, { 4, N_("Shutter speed priority AE") }, { 5, N_("Program-shift") } }; //! MeteringMode, tag 0x0202 extern const TagDetails olympusMeteringMode[] = { { 2, N_("Center-weighted average") }, { 3, N_("Spot") }, { 5, N_("ESP") }, { 261, N_("Pattern+AF") }, { 515, N_("Spot+Highlight control") }, { 1027, N_("Spot+Shadow control") } }; //! MacroMode, tag 0x0300 extern const TagDetails olympusMacroMode[] = { { 0, N_("Off") }, { 1, N_("On") }, { 2, N_("Super Macro") } }; //! FocusMode, tag 0x0301 extern const TagDetails olympusCsFocusMode[] = { { 0, N_("Single AF") }, { 1, N_("Sequential shooting AF") }, { 2, N_("Continuous AF") }, { 3, N_("Multi AF") }, { 10, N_("MF") } }; //! FocusProcess, tag 0x0302 extern const TagDetails olympusFocusProcess[] = { { 0, N_("AF Not Used") }, { 1, N_("AF Used") } }; //! AFSearch, tag 0x0303 extern const TagDetails olympusAFSearch[] = { { 0, N_("Not Ready") }, { 1, N_("Ready") } }; //! FlashMode, tag 0x0400 extern const TagDetailsBitmask olympusFlashMode[] = { { 0x0000, N_("Off") }, { 0x0001, N_("On") }, { 0x0002, N_("Fill-in") }, { 0x0004, N_("Red-eye") }, { 0x0008, N_("Slow-sync") }, { 0x0010, N_("Forced On") }, { 0x0020, N_("2nd Curtain") } }; //! FlashRemoteControl, tag 0x0403 extern const TagDetails olympusFlashRemoteControl[] = { { 0x0, N_("Off") }, { 0x1, N_("Channel 1, Low") }, { 0x2, N_("Channel 2, Low") }, { 0x3, N_("Channel 3, Low") }, { 0x4, N_("Channel 4, Low") }, { 0x9, N_("Channel 1, Mid") }, { 0xa, N_("Channel 2, Mid") }, { 0xb, N_("Channel 3, Mid") }, { 0xc, N_("Channel 4, Mid") }, { 0x11, N_("Channel 1, High") }, { 0x12, N_("Channel 2, High") }, { 0x13, N_("Channel 3, High") }, { 0x14, N_("Channel 4, High") } }; //! FlashControlMode, tag 0x0404 extern const TagDetails olympusFlashControlMode[] = { { 0, N_("Off") }, { 3, N_("TTL") }, { 4, N_("Auto") }, { 5, N_("Manual") } }; //! WhiteBalance, tag 0x0500 extern const TagDetails olympusWhiteBalance[] = { { 0, N_("Auto") }, { 1, N_("Auto (Keep Warm Color Off") }, { 16, N_("7500K (Fine Weather with Shade)") }, { 17, N_("6000K (Cloudy)") }, { 18, N_("5300K (Fine Weather)") }, { 20, N_("3000K (Tungsten light)") }, { 21, N_("3600K (Tungsten light-like)") }, { 22, N_("Auto Setup") }, { 23, N_("5500K (Flash)") }, { 33, N_("6600K (Daylight fluorescent)") }, { 34, N_("4500K (Neutral white fluorescent)") }, { 35, N_("4000K (Cool white fluorescent)") }, { 36, N_("White Fluorescent") }, { 48, N_("3600K (Tungsten light-like)") }, { 67, N_("Underwater") }, { 256, N_("One Touch WB 1") }, { 257, N_("One Touch WB 2") }, { 258, N_("One Touch WB 3") }, { 259, N_("One Touch WB 4") }, { 512, N_("Custom WB 1") }, { 513, N_("Custom WB 2") }, { 514, N_("Custom WB 3") }, { 515, N_("Custom WB 4") } }; //! ModifiedSaturation, tag 0x0504 extern const TagDetails olympusModifiedSaturation[] = { { 0, N_("Off") }, { 1, N_("CM1 (Red Enhance)") }, { 2, N_("CM2 (Green Enhance)") }, { 3, N_("CM3 (Blue Enhance)") }, { 4, N_("CM4 (Skin Tones)") } }; //! ColorSpace, tag 0x0507 extern const TagDetails olympusColorSpace[] = { { 0, N_("sRGB") }, { 1, N_("Adobe RGB") }, { 2, N_("Pro Photo RGB") } }; //! NoiseReduction, tag 0x050a extern const TagDetailsBitmask olympusNoiseReduction[] = { { 0x0001, N_("Noise Reduction") }, { 0x0002, N_("Noise Filter") }, { 0x0004, N_("Noise Filter (ISO Boost)") }, { 0x0008, N_("Auto") } }; //! PictureMode, tag 0x0520 extern const TagDetails olympusPictureMode[] = { { 1, N_("Vivid") }, { 2, N_("Natural") }, { 3, N_("Muted") }, { 4, N_("Portrait") }, { 256, N_("Monotone") }, { 512, N_("Sepia") } }; //! PictureModeBWFilter, tag 0x0525 extern const TagDetails olympusPictureModeBWFilter[] = { { 0, N_("n/a") }, { 1, N_("Neutral") }, { 2, N_("Yellow") }, { 3, N_("Orange") }, { 4, N_("Red") }, { 5, N_("Green") } }; //! PictureModeTone, tag 0x0526 extern const TagDetails olympusPictureModeTone[] = { { 0, N_("n/a") }, { 1, N_("Neutral") }, { 2, N_("Sepia") }, { 3, N_("Blue") }, { 4, N_("Purple") }, { 5, N_("Green") } }; //! OlympusCs Quality, tag 0x0603 extern const TagDetails olympusCsQuality[] = { { 1, N_("SQ") }, { 2, N_("HQ") }, { 3, N_("SHQ") }, { 4, N_("RAW") } }; //! Olympus ImageStabilization, tag 0x0604 extern const TagDetails olympusImageStabilization[] = { { 0, N_("Off") }, { 1, N_("On, Mode 1") }, { 2, N_("On, Mode 2") }, { 3, N_("On, Mode 3") } }; const TagInfo OlympusMakerNote::tagInfoCs_[] = { TagInfo(0x0000, "CameraSettingsVersion", N_("Camera Settings Version"), N_("Camera settings version"), olympusCsId, makerTags, undefined, -1, printExifVersion), TagInfo(0x0100, "PreviewImageValid", N_("PreviewImage Valid"), N_("Preview image valid"), olympusCsId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(olympusNoYes)), TagInfo(0x0101, "PreviewImageStart", N_("PreviewImage Start"), N_("Preview image start"), olympusCsId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0102, "PreviewImageLength", N_("PreviewImage Length"), N_("Preview image length"), olympusCsId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0200, "ExposureMode", N_("Exposure Mode"), N_("Exposure mode"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusExposureMode)), TagInfo(0x0201, "AELock", N_("AE Lock"), N_("Auto exposure lock"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x0202, "MeteringMode", N_("Metering Mode"), N_("Metering mode"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusMeteringMode)), TagInfo(0x0203, "ExposureShift", N_("Exposure Shift"), N_("Exposure shift"), olympusCsId, makerTags, signedRational, -1, printValue), TagInfo(0x0300, "MacroMode", N_("Macro Mode"), N_("Macro mode"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusMacroMode)), TagInfo(0x0301, "FocusMode", N_("Focus Mode"), N_("Focus mode"), olympusCsId, makerTags, unsignedShort, -1, printCs0x0301), TagInfo(0x0302, "FocusProcess", N_("Focus Process"), N_("Focus process"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusFocusProcess)), TagInfo(0x0303, "AFSearch", N_("AF Search"), N_("AF search"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusAFSearch)), TagInfo(0x0304, "AFAreas", N_("AF Areas"), N_("AF areas"), olympusCsId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0305, "AFPointSelected", N_("AFPointSelected"), N_("AFPointSelected"), olympusCsId, makerTags, signedRational, -1, printValue), TagInfo(0x0307, "AFFineTuneAdj", N_("AF Fine Tune Adjust"), N_("AF fine tune adjust"), olympusCsId, makerTags, signedShort, -1, printValue), TagInfo(0x0400, "FlashMode", N_("Flash Mode"), N_("Flash mode"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG_BITMASK(olympusFlashMode)), TagInfo(0x0401, "FlashExposureComp", N_("Flash Exposure Compensation"), N_("Flash exposure compensation"), olympusCsId, makerTags, signedRational, -1, printValue), TagInfo(0x0403, "FlashRemoteControl", N_("Flash Remote Control"), N_("Flash remote control"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusFlashRemoteControl)), TagInfo(0x0404, "FlashControlMode", N_("Flash Control Mode"), N_("Flash control mode"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusFlashControlMode)), TagInfo(0x0405, "FlashIntensity", N_("Flash Intensity"), N_("Flash intensity"), olympusCsId, makerTags, signedRational, -1, printValue), TagInfo(0x0406, "ManualFlashStrength", N_("Manual Flash Strength"), N_("Manual flash strength"), olympusCsId, makerTags, signedRational, -1, printValue), TagInfo(0x0500, "WhiteBalance", N_("White Balance 2"), N_("White balance 2"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusWhiteBalance)), TagInfo(0x0501, "WhiteBalanceTemperature", N_("White Balance Temperature"), N_("White balance temperature"), olympusCsId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0502, "WhiteBalanceBracket", N_("White Balance Bracket"), N_("White balance bracket"), olympusCsId, makerTags, signedShort, -1, printValue), TagInfo(0x0503, "CustomSaturation", N_("Custom Saturation"), N_("Custom saturation"), olympusCsId, makerTags, signedShort, -1, printValue), TagInfo(0x0504, "ModifiedSaturation", N_("Modified Saturation"), N_("Modified saturation"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusModifiedSaturation)), TagInfo(0x0505, "ContrastSetting", N_("Contrast Setting"), N_("Contrast setting"), olympusCsId, makerTags, signedShort, -1, printValue), TagInfo(0x0506, "SharpnessSetting", N_("Sharpness Setting"), N_("Sharpness setting"), olympusCsId, makerTags, signedShort, -1, printValue), TagInfo(0x0507, "ColorSpace", N_("Color Space"), N_("Color space"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusColorSpace)), TagInfo(0x0509, "SceneMode", N_("Scene Mode"), N_("Scene mode"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusSceneMode)), TagInfo(0x050a, "NoiseReduction", N_("Noise Reduction"), N_("Noise reduction"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG_BITMASK(olympusNoiseReduction)), TagInfo(0x050b, "DistortionCorrection", N_("Distortion Correction"), N_("Distortion correction"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x050c, "ShadingCompensation", N_("Shading Compensation"), N_("Shading compensation"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x050d, "CompressionFactor", N_("Compression Factor"), N_("Compression factor"), olympusCsId, makerTags, unsignedRational, -1, printValue), TagInfo(0x050f, "Gradation", N_("Gradation"), N_("Gradation"), olympusCsId, makerTags, signedShort, -1, print0x050f), TagInfo(0x0520, "PictureMode", N_("Picture Mode"), N_("Picture mode"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusPictureMode)), TagInfo(0x0521, "PictureModeSaturation", N_("Picture Mode Saturation"), N_("Picture mode saturation"), olympusCsId, makerTags, signedShort, -1, printValue), TagInfo(0x0522, "PictureModeHue", N_("Picture Mode Hue"), N_("Picture mode hue"), olympusCsId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0523, "PictureModeContrast", N_("Picture Mode Contrast"), N_("Picture mode contrast"), olympusCsId, makerTags, signedShort, -1, printValue), TagInfo(0x0524, "PictureModeSharpness", N_("Picture Mode Sharpness"), N_("Picture mode sharpness"), olympusCsId, makerTags, signedShort, -1, printValue), TagInfo(0x0525, "PictureModeBWFilter", N_("Picture Mode BW Filter"), N_("Picture mode BW filter"), olympusCsId, makerTags, signedShort, -1, EXV_PRINT_TAG(olympusPictureModeBWFilter)), TagInfo(0x0526, "PictureModeTone", N_("Picture Mode Tone"), N_("Picture mode tone"), olympusCsId, makerTags, signedShort, -1, EXV_PRINT_TAG(olympusPictureModeTone)), TagInfo(0x0527, "NoiseFilter", N_("Noise Filter"), N_("Noise filter"), olympusCsId, makerTags, signedShort, -1, print0x0527), TagInfo(0x0529, "ArtFilter", N_("Art Filter"), N_("Art filter"), olympusCsId, makerTags, unsignedShort, -1, print0x0529), TagInfo(0x052c, "MagicFilter", N_("Magic Filter"), N_("Magic filter"), olympusCsId, makerTags, unsignedShort, -1, print0x0529), TagInfo(0x0600, "DriveMode", N_("Drive Mode"), N_("Drive mode"), olympusCsId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0601, "PanoramaMode", N_("Panorama Mode"), N_("Panorama mode"), olympusCsId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0603, "Quality", N_("Image Quality 2"), N_("Image quality 2"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusCsQuality)), TagInfo(0x0604, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusImageStabilization)), TagInfo(0x0900, "ManometerPressure", N_("Manometer Pressure"), N_("Manometer pressure"), olympusCsId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0901, "ManometerReading", N_("Manometer Reading"), N_("Manometer reading"), olympusCsId, makerTags, signedLong, -1, printValue), TagInfo(0x0902, "ExtendedWBDetect", N_("Extended WB Detect"), N_("Extended WB detect"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x0903, "LevelGaugeRoll", N_("Level Gauge Roll"), N_("Level gauge roll"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x0904, "LevelGaugePitch", N_("Level Gauge Pitch"), N_("Level gauge pitch"), olympusCsId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), // End of list marker TagInfo(0xffff, "(UnknownOlympusCsTag)", "(UnknownOlympusCsTag)", N_("Unknown OlympusCs tag"), olympusCsId, makerTags, asciiString, -1, printValue) }; const TagInfo* OlympusMakerNote::tagListCs() { return tagInfoCs_; } //! OlympusEq FlashType, tag 0x1000 extern const TagDetails olympusEqFlashType[] = { { 0, N_("None") }, { 2, N_("Simple E-System") }, { 3, N_("E-System") } }; //! OlympusEq FlashModel, tag 0x1001 extern const TagDetails olympusEqFlashModel[] = { { 0, N_("None") }, { 1, "FL-20" }, { 2, "FL-50" }, { 3, "RF-11" }, { 4, "TF-22" }, { 5, "FL-36" }, { 6, "FL-50R" }, { 7, "FL-36R" }, { 7, "FL-36R" } // To silence compiler warning }; const TagInfo OlympusMakerNote::tagInfoEq_[] = { TagInfo(0x0000, "EquipmentVersion", N_("Equipment Version"), N_("Equipment version"), olympusEqId, makerTags, undefined, -1, printExifVersion), TagInfo(0x0100, "CameraType", N_("Camera Type"), N_("Camera type"), olympusEqId, makerTags, asciiString, -1, printValue), TagInfo(0x0101, "SerialNumber", N_("Serial Number"), N_("Serial number"), olympusEqId, makerTags, asciiString, -1, printValue), TagInfo(0x0102, "InternalSerialNumber", N_("Internal Serial Number"), N_("Internal serial number"), olympusEqId, makerTags, asciiString, -1, printValue), TagInfo(0x0103, "FocalPlaneDiagonal", N_("Focal Plane Diagonal"), N_("Focal plane diagonal"), olympusEqId, makerTags, unsignedRational, -1, printValue), TagInfo(0x0104, "BodyFirmwareVersion", N_("Body Firmware Version"), N_("Body firmware version"), olympusEqId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0201, "LensType", N_("Lens Type"), N_("Lens type"), olympusEqId, makerTags, unsignedByte, -1, print0x0201), TagInfo(0x0202, "LensSerialNumber", N_("Lens Serial Number"), N_("Lens serial number"), olympusEqId, makerTags, asciiString, -1, printValue), TagInfo(0x0203, "LensModel", N_("Lens Model"), N_("Lens model"), olympusEqId, makerTags, asciiString, -1, printValue), TagInfo(0x0204, "LensFirmwareVersion", N_("Lens Firmware Version"), N_("Lens firmware version"), olympusEqId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0205, "MaxApertureAtMinFocal", N_("Max Aperture At Min Focal"), N_("Max aperture at min focal"), olympusEqId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0206, "MaxApertureAtMaxFocal", N_("Max Aperture At Max Focal"), N_("Max aperture at max focal"), olympusEqId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0207, "MinFocalLength", N_("Min Focal Length"), N_("Min focal length"), olympusEqId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0208, "MaxFocalLength", N_("Max Focal Length"), N_("Max focal length"), olympusEqId, makerTags, unsignedShort, -1, printValue), TagInfo(0x020a, "MaxApertureAtCurrentFocal", N_("Max Aperture At Current Focal"), N_("Max aperture at current focal"), olympusEqId, makerTags, unsignedShort, -1, printValue), TagInfo(0x020b, "LensProperties", N_("Lens Properties"), N_("Lens properties"), olympusEqId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0301, "Extender", N_("Extender"), N_("Extender"), olympusEqId, makerTags, unsignedByte, -1, printEq0x0301), TagInfo(0x0302, "ExtenderSerialNumber", N_("Extender Serial Number"), N_("Extender serial number"), olympusEqId, makerTags, asciiString, -1, printValue), TagInfo(0x0303, "ExtenderModel", N_("Extender Model"), N_("Extender model"), olympusEqId, makerTags, asciiString, -1, printValue), TagInfo(0x0304, "ExtenderFirmwareVersion", N_("Extender Firmware Version"), N_("Extender firmwareversion"), olympusEqId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0403, "ConversionLens", N_("Conversion Lens"), N_("Conversion lens"), olympusEqId, makerTags, asciiString, -1, printValue), TagInfo(0x1000, "FlashType", N_("Flash Type"), N_("Flash type"), olympusEqId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusEqFlashType)), TagInfo(0x1001, "FlashModel", N_("Flash Model"), N_("Flash model"), olympusEqId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusEqFlashModel)), TagInfo(0x1002, "FlashFirmwareVersion", N_("Flash Firmware Version"), N_("Flash firmware version"), olympusEqId, makerTags, unsignedLong, -1, printValue), TagInfo(0x1003, "FlashSerialNumber", N_("FlashSerialNumber"), N_("FlashSerialNumber"), olympusEqId, makerTags, asciiString, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownOlympusEqTag)", "(UnknownOlympusEqTag)", N_("Unknown OlympusEq tag"), olympusEqId, makerTags, asciiString, -1, printValue) }; const TagInfo* OlympusMakerNote::tagListEq() { return tagInfoEq_; } //! OlympusRd ColorSpace, tag 0x0108 extern const TagDetails olympusRdColorSpace[] = { { 0, N_("sRGB") }, { 1, N_("Adobe RGB") }, { 2, N_("Pro Photo RGB") } }; //! OlympusRd Engine, tag 0x0109 extern const TagDetails olympusRdEngine[] = { { 0, N_("High Speed") }, { 1, N_("High Function") }, { 2, N_("Advanced High Speed") }, { 3, N_("Advanced High Function") } }; //! OlympusRd EditStatus, tag 0x010b extern const TagDetails olympusRdEditStatus[] = { { 0, N_("Original") }, { 1, N_("Edited (Landscape)") }, { 6, N_("Edited (Portrait)") }, { 8, N_("Edited (Portrait)") } }; //! OlympusRd Settings, tag 0x010c extern const TagDetailsBitmask olympusRdSettings[] = { { 0x0001, N_("WB Color Temp") }, { 0x0004, N_("WB Gray Point") }, { 0x0008, N_("Saturation") }, { 0x0010, N_("Contrast") }, { 0x0020, N_("Sharpness") }, { 0x0040, N_("Color Space") }, { 0x0080, N_("High Function") }, { 0x0100, N_("Noise Reduction") } }; const TagInfo OlympusMakerNote::tagInfoRd_[] = { TagInfo(0x0000, "RawDevVersion", N_("Raw Development Version"), N_("Raw development version"), olympusRdId, makerTags, undefined, -1, printExifVersion), TagInfo(0x0100, "ExposureBiasValue", N_("Exposure Bias Value"), N_("Exposure bias value"), olympusRdId, makerTags, signedRational, -1, printValue), TagInfo(0x0101, "WhiteBalanceValue", N_("White Balance Value"), N_("White balance value"), olympusRdId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0102, "WBFineAdjustment", N_("WB Fine Adjustment"), N_("WB fine adjustment"), olympusRdId, makerTags, signedShort, -1, printValue), TagInfo(0x0103, "GrayPoint", N_("Gray Point"), N_("Gray point"), olympusRdId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0104, "SaturationEmphasis", N_("Saturation Emphasis"), N_("Saturation emphasis"), olympusRdId, makerTags, signedShort, -1, printValue), TagInfo(0x0105, "MemoryColorEmphasis", N_("Memory Color Emphasis"), N_("Memory color emphasis"), olympusRdId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0106, "ContrastValue", N_("Contrast Value"), N_("Contrast value"), olympusRdId, makerTags, signedShort, -1, printValue), TagInfo(0x0107, "SharpnessValue", N_("Sharpness Value"), N_("Sharpness value"), olympusRdId, makerTags, signedShort, -1, printValue), TagInfo(0x0108, "ColorSpace", N_("Color Space"), N_("Color space"), olympusRdId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusRdColorSpace)), TagInfo(0x0109, "Engine", N_("Engine"), N_("Engine"), olympusRdId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusRdEngine)), TagInfo(0x010a, "NoiseReduction", N_("Noise Reduction"), N_("Noise reduction"), olympusRdId, makerTags, unsignedShort, -1, EXV_PRINT_TAG_BITMASK(olympusNoiseReduction)), TagInfo(0x010b, "EditStatus", N_("Edit Status"), N_("Edit status"), olympusRdId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusRdEditStatus)), TagInfo(0x010c, "Settings", N_("Settings"), N_("Settings"), olympusRdId, makerTags, unsignedShort, -1, EXV_PRINT_TAG_BITMASK(olympusRdSettings)), // End of list marker TagInfo(0xffff, "(UnknownOlympusRdTag)", "(UnknownOlympusRdTag)", N_("Unknown OlympusRd tag"), olympusRdId, makerTags, asciiString, -1, printValue) }; const TagInfo* OlympusMakerNote::tagListRd() { return tagInfoRd_; } //! OlympusRd2 WhiteBalance, tag 0x0101 extern const TagDetails olympusRd2WhiteBalance[] = { { 1, N_("Color Temperature") }, { 2, N_("Gray Point") } }; //! OlympusRd2 ColorSpace, tag 0x0109 extern const TagDetails olympusRd2ColorSpace[] = { { 0, N_("sRGB") }, { 1, N_("Adobe RGB") }, { 2, N_("Pro Photo RGB") } }; //! OlympusRd2 Engine, tag 0x010b extern const TagDetails olympusRd2Engine[] = { { 0, N_("High Speed") }, { 1, N_("High Function") } }; //! OlympusRd2 PictureMode, tag 0x010c extern const TagDetails olympusRd2PictureMode[] = { { 1, N_("Vivid") }, { 2, N_("Natural") }, { 3, N_("Muted") }, { 256, N_("Monotone") }, { 512, N_("Sepia") } }; //! OlympusRd2 PM_BWFilter, tag 0x0110 extern const TagDetails olympusRd2PM_BWFilter[] = { { 1, N_("Neutral") }, { 2, N_("Yellow") }, { 3, N_("Orange") }, { 4, N_("Red") }, { 5, N_("Green") } }; //! OlympusRd2 PMPictureTone, tag 0x0111 extern const TagDetails olympusRd2PMPictureTone[] = { { 1, N_("Neutral") }, { 2, N_("Sepia") }, { 3, N_("Blue") }, { 4, N_("Purple") }, { 5, N_("Green") } }; const TagInfo OlympusMakerNote::tagInfoRd2_[] = { TagInfo(0x0000, "RawDev2Version", N_("Raw Development 2 Version"), N_("Raw development 2 version"), olympusRd2Id, makerTags, undefined, -1, printExifVersion), TagInfo(0x0100, "ExposureBiasValue", N_("Exposure Bias Value"), N_("Exposure bias value"), olympusRd2Id, makerTags, signedRational, -1, printValue), TagInfo(0x0101, "WhiteBalance", N_("White Balance"), N_("White balance"), olympusRd2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusRd2WhiteBalance)), TagInfo(0x0102, "WhiteBalanceValue", N_("White Balance Value"), N_("White balance value"), olympusRd2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x0103, "WBFineAdjustment", N_("WB Fine Adjustment"), N_("White balance fine adjustment"), olympusRd2Id, makerTags, signedShort, -1, printValue), TagInfo(0x0104, "GrayPoint", N_("Gray Point"), N_("Gray point"), olympusRd2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x0105, "ContrastValue", N_("Contrast Value"), N_("Contrast value"), olympusRd2Id, makerTags, signedShort, -1, printValue), TagInfo(0x0106, "SharpnessValue", N_("Sharpness Value"), N_("Sharpness value"), olympusRd2Id, makerTags, signedShort, -1, printValue), TagInfo(0x0107, "SaturationEmphasis", N_("Saturation Emphasis"), N_("Saturation emphasis"), olympusRd2Id, makerTags, signedShort, -1, printValue), TagInfo(0x0108, "MemoryColorEmphasis", N_("Memory Color Emphasis"), N_("Memory color emphasis"), olympusRd2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x0109, "ColorSpace", N_("Color Space"), N_("Color space"), olympusRd2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusRd2ColorSpace)), TagInfo(0x010a, "NoiseReduction", N_("Noise Reduction"), N_("Noise reduction"), olympusRd2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG_BITMASK(olympusNoiseReduction)), TagInfo(0x010b, "Engine", N_("Engine"), N_("Engine"), olympusRd2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusRd2Engine)), TagInfo(0x010c, "PictureMode", N_("Picture Mode"), N_("Picture mode"), olympusRd2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusRd2PictureMode)), TagInfo(0x010d, "PMSaturation", N_("PM Saturation"), N_("Picture mode saturation"), olympusRd2Id, makerTags, signedShort, -1, printValue), TagInfo(0x010e, "PMContrast", N_("PM Contrast"), N_("Picture mode contrast"), olympusRd2Id, makerTags, signedShort, -1, printValue), TagInfo(0x010f, "PMSharpness", N_("PM Sharpness"), N_("Picture mode sharpness"), olympusRd2Id, makerTags, signedShort, -1, printValue), TagInfo(0x0110, "PM_BWFilter", N_("PM BW Filter"), N_("PM BW filter"), olympusRd2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusRd2PM_BWFilter)), TagInfo(0x0111, "PMPictureTone", N_("PM Picture Tone"), N_("PM picture tone"), olympusRd2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusRd2PMPictureTone)), TagInfo(0x0112, "Gradation", N_("Gradation"), N_("Gradation"), olympusRd2Id, makerTags, signedShort, -1, printValue), TagInfo(0x0113, "Saturation", N_("Saturation"), N_("Saturation"), olympusRd2Id, makerTags, signedShort, -1, printValue), TagInfo(0x0119, "AutoGradation", N_("Auto Gradation"), N_("Auto gradation"), olympusRd2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x0120, "PMNoiseFilter", N_("PM Noise Filter"), N_("Picture mode noise filter"), olympusRd2Id, makerTags, unsignedShort, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownOlympusRd2Tag)", "(UnknownOlympusRd2Tag)", N_("Unknown OlympusRd2 tag"), olympusRd2Id, makerTags, asciiString, -1, printValue) }; const TagInfo* OlympusMakerNote::tagListRd2() { return tagInfoRd2_; } //! OlympusIp MultipleExposureMode, tag 0x101c extern const TagDetails olympusIpMultipleExposureMode[] = { { 0, N_("Off") }, { 2, N_("On (2 frames)") }, { 3, N_("On (3 frames)") } }; //! OlympusIp olympusIpAspectRatio, tag 0x101c extern const TagDetails olympusIpAspectRatio[] = { { 1, "4:3" }, { 2, "3:2" }, { 3, "16:9" }, { 4, "6:6" }, { 5, "5:4" }, { 6, "7:6" }, { 7, "6:5" }, { 8, "7:5" }, { 9, "3:4" } }; const TagInfo OlympusMakerNote::tagInfoIp_[] = { TagInfo(0x0000, "ImageProcessingVersion", N_("Image Processing Version"), N_("Image processing version"), olympusIpId, makerTags, undefined, -1, printExifVersion), TagInfo(0x0100, "WB_RBLevels", N_("WB RB Levels"), N_("WB RB levels"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0102, "WB_RBLevels3000K", N_("WB RB Levels 3000K"), N_("WB RB levels 3000K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0103, "WB_RBLevels3300K", N_("WB RB Levels 3300K"), N_("WB RB levels 3300K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0104, "WB_RBLevels3600K", N_("WB RB Levels 3600K"), N_("WB RB levels 3600K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0105, "WB_RBLevels3900K", N_("WB RB Levels 3900K"), N_("WB RB levels 3900K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0106, "WB_RBLevels4000K", N_("WB RB Levels 4000K"), N_("WB RB levels 4000K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0107, "WB_RBLevels4300K", N_("WB RB Levels 4300K"), N_("WB RB levels 4300K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0108, "WB_RBLevels4500K", N_("WB RB Levels 4500K"), N_("WB RB levels 4500K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0109, "WB_RBLevels4800K", N_("WB RB Levels 4800K"), N_("WB RB levels 4800K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x010a, "WB_RBLevels5300K", N_("WB RB Levels 5300K"), N_("WB RB levels 5300K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x010b, "WB_RBLevels6000K", N_("WB RB Levels 6000K"), N_("WB RB levels 6000K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x010c, "WB_RBLevels6600K", N_("WB RB Levels 6600K"), N_("WB RB levels 6600K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x010d, "WB_RBLevels7500K", N_("WB RB Levels 7500K"), N_("WB RB levels 7500K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x010e, "WB_RBLevelsCWB1", N_("WB RB Levels CWB1"), N_("WB RB levels CWB1"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x010f, "WB_RBLevelsCWB2", N_("WB RB Levels CWB2"), N_("WB RB levels CWB2"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0110, "WB_RBLevelsCWB3", N_("WB RB Levels CWB3"), N_("WB RB levels CWB3"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0111, "WB_RBLevelsCWB4", N_("WB RB Levels CWB4"), N_("WB RB levels CWB4"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0113, "WB_GLevel3000K", N_("WB G Level 3000K"), N_("WB G level 3000K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0114, "WB_GLevel3300K", N_("WB G Level 3300K"), N_("WB G level 3300K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0115, "WB_GLevel3600K", N_("WB G Level 3600K"), N_("WB G level 3600K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0116, "WB_GLevel3900K", N_("WB G Level 3900K"), N_("WB G level 3900K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0117, "WB_GLevel4000K", N_("WB G Level 4000K"), N_("WB G level 4000K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0118, "WB_GLevel4300K", N_("WB G Level 4300K"), N_("WB G level 4300K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0119, "WB_GLevel4500K", N_("WB G Level 4500K"), N_("WB G level 4500K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x011a, "WB_GLevel4800K", N_("WB G Level 4800K"), N_("WB G level 4800K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x011b, "WB_GLevel5300K", N_("WB G Level 5300K"), N_("WB G level 5300K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x011c, "WB_GLevel6000K", N_("WB G Level 6000K"), N_("WB G level 6000K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x011d, "WB_GLevel6600K", N_("WB G Level 6600K"), N_("WB G level 6600K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x011e, "WB_GLevel7500K", N_("WB G Level 7500K"), N_("WB G level 7500K"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x011f, "WB_GLevel", N_("WB G Level"), N_("WB G level"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0200, "ColorMatrix", N_("Color Matrix"), N_("Color matrix"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0300, "Enhancer", N_("Enhancer"), N_("Enhancer"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0301, "EnhancerValues", N_("Enhancer Values"), N_("Enhancer values"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0310, "CoringFilter", N_("Coring Filter"), N_("Coring filter"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0311, "CoringValues", N_("Coring Values"), N_("Coring values"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0600, "BlackLevel", N_("Black Level"), N_("Black level"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0610, "GainBase", N_("Gain Base"), N_("Gain base"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0611, "ValidBits", N_("Valid Bits"), N_("Valid bits"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0612, "CropLeft", N_("Crop Left"), N_("Crop left"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0613, "CropTop", N_("Crop Top"), N_("Crop top"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0614, "CropWidth", N_("Crop Width"), N_("Crop width"), olympusIpId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0615, "CropHeight", N_("Crop Height"), N_("Crop height"), olympusIpId, makerTags, unsignedLong, -1, printValue), TagInfo(0x1010, "NoiseReduction", N_("Noise Reduction"), N_("Noise reduction"), olympusIpId, makerTags, unsignedShort, -1, EXV_PRINT_TAG_BITMASK(olympusNoiseReduction)), TagInfo(0x1011, "DistortionCorrection", N_("Distortion Correction"), N_("Distortion correction"), olympusIpId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x1012, "ShadingCompensation", N_("Shading Compensation"), N_("Shading compensation"), olympusIpId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x101c, "MultipleExposureMode", N_("Multiple Exposure Mode"), N_("Multiple exposure mode"), olympusIpId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusIpMultipleExposureMode)), TagInfo(0x1112, "AspectRatio", N_("Aspect Ratio"), N_("Aspect ratio"), olympusIpId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(olympusIpAspectRatio)), TagInfo(0x1113, "AspectFrame", N_("Aspect Frame"), N_("Aspect frame"), olympusIpId, makerTags, unsignedShort, -1, printValue), TagInfo(0x1200, "FaceDetect", N_("Face Detect"), N_("Face detect"), olympusIpId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x1201, "FaceDetectArea", N_("Face Detect Area"), N_("Face detect area"), olympusIpId, makerTags, signedShort, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownOlympusIpTag)", "(UnknownOlympusIpTag)", N_("Unknown OlympusIp tag"), olympusIpId, makerTags, asciiString, -1, printValue) }; const TagInfo* OlympusMakerNote::tagListIp() { return tagInfoIp_; } //! OlympusFi ExternalFlashBounce, tag 0x1204 extern const TagDetails olympusFiExternalFlashBounce[] = { { 0, N_("Bounce or Off") }, { 1, N_("Direct") } }; const TagInfo OlympusMakerNote::tagInfoFi_[] = { TagInfo(0x0000, "FocusInfoVersion", N_("Focus Info Version"), N_("Focus info version"), olympusFiId, makerTags, undefined, -1, printExifVersion), TagInfo(0x0209, "AutoFocus", N_("Auto Focus"), N_("Auto focus"), olympusFiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x0210, "SceneDetect", N_("Scene Detect"), N_("Scene detect"), olympusFiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0211, "SceneArea", N_("Scene Area"), N_("Scene area"), olympusFiId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0212, "SceneDetectData", N_("Scene Detect Data"), N_("Scene detect data"), olympusFiId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0300, "ZoomStepCount", N_("Zoom Step Count"), N_("Zoom step count"), olympusFiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0301, "FocusStepCount", N_("Focus Step Count"), N_("Focus step count"), olympusFiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0303, "FocusStepInfinity", N_("Focus Step Infinity"), N_("Focus step infinity"), olympusFiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0304, "FocusStepNear", N_("Focus Step Near"), N_("Focus step near"), olympusFiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0305, "FocusDistance", N_("Focus Distance"), N_("Focus distance"), olympusFiId, makerTags, unsignedRational, -1, print0x0305), TagInfo(0x0308, "AFPoint", N_("AF Point"), N_("AF point"), olympusFiId, makerTags, unsignedShort, -1, print0x0308), TagInfo(0x1201, "ExternalFlash", N_("External Flash"), N_("External flash"), olympusFiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x1203, "ExternalFlashGuideNumber", N_("External Flash Guide Number"), N_("External flash guide number"), olympusFiId, makerTags, signedRational, -1, printValue), TagInfo(0x1204, "ExternalFlashBounce", N_("External Flash Bounce"), N_("External flash bounce"), olympusFiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusFiExternalFlashBounce)), TagInfo(0x1205, "ExternalFlashZoom", N_("External Flash Zoom"), N_("External flash zoom"), olympusFiId, makerTags, unsignedRational, -1, printValue), TagInfo(0x1208, "InternalFlash", N_("Internal Flash"), N_("Internal flash"), olympusFiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusOffOn)), TagInfo(0x1209, "ManualFlash", N_("Manual Flash"), N_("Manual flash"), olympusFiId, makerTags, unsignedShort, -1, print0x1209), TagInfo(0x1500, "SensorTemperature", N_("Sensor Temperature"), N_("Sensor temperature"), olympusFiId, makerTags, signedShort, -1, printValue), TagInfo(0x1600, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), olympusFiId, makerTags, unsignedLong, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownOlympusFiTag)", "(UnknownOlympusFiTag)", N_("Unknown OlympusFi tag"), olympusFiId, makerTags, asciiString, -1, printValue) }; const TagInfo* OlympusMakerNote::tagListFi() { return tagInfoFi_; } const TagInfo OlympusMakerNote::tagInfoFe_[] = { TagInfo(0x0100, "BodyFirmwareVersion", N_("Body Firmware Version"), N_("Body firmware version"), olympusFe1Id, makerTags, asciiString, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownOlympusFeTag)", "(UnknownOlympusFeTag)", N_("Unknown OlympusFe tag"), olympusFe1Id, makerTags, asciiString, -1, printValue) }; const TagInfo* OlympusMakerNote::tagListFe() { return tagInfoFe_; } //! OlympusRi LightSource, tag 0x1000 extern const TagDetails olympusRiLightSource[] = { { 0, N_("Unknown") }, { 16, N_("Shade") }, { 17, N_("Cloudy") }, { 18, N_("Fine Weather") }, { 20, N_("Tungsten (incandescent)") }, { 22, N_("Evening Sunlight") }, { 33, N_("Daylight Fluorescent (D 5700 - 7100K)") }, { 34, N_("Day White Fluorescent (N 4600 - 5400K)") }, { 35, N_("Cool White Fluorescent (W 3900 - 4500K)") }, { 36, N_("White Fluorescent (WW 3200 - 3700K)") }, { 256, N_("One Touch White Balance") }, { 512, N_("Custom 1-4") } }; const TagInfo OlympusMakerNote::tagInfoRi_[] = { TagInfo(0x0000, "RawInfoVersion", N_("Raw Info Version"), N_("Raw info version"), olympusRiId, makerTags, undefined, -1, printValue), TagInfo(0x0100, "WB_RBLevelsUsed", N_("WB_RB Levels Used"), N_("WB_RB levels used"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0110, "WB_RBLevelsAuto", N_("WB_RB Levels Auto"), N_("WB_RB levels auto"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0120, "WB_RBLevelsShade", N_("WB_RB Levels Shade"), N_("WB_RB levels shade"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0121, "WB_RBLevelsCloudy", N_("WB_RB Levels Cloudy"), N_("WB_RB levels cloudy"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0122, "WB_RBLevelsFineWeather", N_("WB_RB Levels Fine Weather"), N_("WB_RB levels fine weather"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0123, "WB_RBLevelsTungsten", N_("WB_RB Levels Tungsten"), N_("WB_RB levels tungsten"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0124, "WB_RBLevelsEveningSunlight", N_("WB_RB Levels Evening Sunlight"), N_("WB_RB levels evening sunlight"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0130, "WB_RBLevelsDaylightFluor", N_("WB_RB Levels Daylight Fluor"), N_("WB_RB levels daylight fluor"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0131, "WB_RBLevelsDayWhiteFluor", N_("WB_RB Levels Day White Fluor"), N_("WB_RB levels day white fluor"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0132, "WB_RBLevelsCoolWhiteFluor", N_("WB_RB Levels Cool White Fluor"), N_("WB_RB levels cool white fluor"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0133, "WB_RBLevelsWhiteFluorescent", N_("WB_RB Levels White Fluorescent"), N_("WB_RB levels white fluorescent"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0200, "ColorMatrix2", N_("Color Matrix2"), N_("Color matrix 2"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0310, "CoringFilter", N_("Coring Filter"), N_("Coring filter"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0311, "CoringValues", N_("Coring Values"), N_("Coring values"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0600, "BlackLevel2", N_("Black Level 2"), N_("Black level 2"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0601, "YCbCrCoefficients", N_("YCbCr Coefficients"), N_("YCbCr coefficients"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0611, "ValidPixelDepth", N_("Valid Pixel Depth"), N_("Valid pixel depth"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0612, "CropLeft", N_("Crop Left"), N_("Crop left"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0613, "CropTop", N_("Crop Top"), N_("Crop top"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0614, "CropWidth", N_("Crop Width"), N_("Crop width"), olympusRiId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0615, "CropHeight", N_("Crop Height"), N_("Crop height"), olympusRiId, makerTags, unsignedLong, -1, printValue), TagInfo(0x1000, "LightSource", N_("Light Source"), N_("Light source"), olympusRiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(olympusRiLightSource)), TagInfo(0x1001, "WhiteBalanceComp", N_("White Balance Comp"), N_("White balance comp"), olympusRiId, makerTags, signedShort, -1, printValue), TagInfo(0x1010, "SaturationSetting", N_("Saturation Setting"), N_("Saturation setting"), olympusRiId, makerTags, signedShort, -1, printValue), TagInfo(0x1011, "HueSetting", N_("Hue Setting"), N_("Hue setting"), olympusRiId, makerTags, signedShort, -1, printValue), TagInfo(0x1012, "ContrastSetting", N_("Contrast Setting"), N_("Contrast setting"), olympusRiId, makerTags, signedShort, -1, printValue), TagInfo(0x1013, "SharpnessSetting", N_("Sharpness Setting"), N_("Sharpness setting"), olympusRiId, makerTags, signedShort, -1, printValue), TagInfo(0x2000, "CMExposureCompensation", N_("CM Exposure Compensation"), N_("CM exposure compensation"), olympusRiId, makerTags, signedRational, -1, printValue), TagInfo(0x2001, "CMWhiteBalance", N_("CM White Balance"), N_("CM white balance"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x2002, "CMWhiteBalanceComp", N_("CM White Balance Comp"), N_("CM white balance comp"), olympusRiId, makerTags, signedShort, -1, printValue), TagInfo(0x2010, "CMWhiteBalanceGrayPoint", N_("CM White Balance Gray Point"), N_("CM white balance gray point"), olympusRiId, makerTags, unsignedShort, -1, printValue), TagInfo(0x2020, "CMSaturation", N_("CM Saturation"), N_("CM saturation"), olympusRiId, makerTags, signedShort, -1, printValue), TagInfo(0x2021, "CMHue", N_("CM Hue"), N_("CM hue"), olympusRiId, makerTags, signedShort, -1, printValue), TagInfo(0x2022, "CMContrast", N_("CM Contrast"), N_("CM contrast"), olympusRiId, makerTags, signedShort, -1, printValue), TagInfo(0x2023, "CMSharpness", N_("CM Sharpness"), N_("CM sharpness"), olympusRiId, makerTags, signedShort, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownOlympusRiTag)", "(UnknownOlympusRiTag)", N_("Unknown OlympusRi tag"), olympusRiId, makerTags, asciiString, -1, printValue) }; const TagInfo* OlympusMakerNote::tagListRi() { return tagInfoRi_; } // Gradation std::ostream& OlympusMakerNote::print0x050f(std::ostream& os, const Value& value, const ExifData*) { if ( !(value.count() == 3 || value.count() == 4) || value.typeId() != signedShort) { return os << value; } if (value.toLong(0) == -1 && value.toLong(1) == -1 && value.toLong(2) == 1) os << _("Low Key"); else if (value.toLong(0) == 0 && value.toLong(1) == -1 && value.toLong(2) == 1) os << _("Normal"); else if (value.toLong(0) == 1 && value.toLong(1) == -1 && value.toLong(2) == 1) os << _("High Key"); else os << value.toLong(0) << " " << value.toLong(1) << " " << value.toLong(2); if (value.count() == 4) { switch (value.toLong(3)) { case 0: os << ", " << _("User-Selected"); break; case 1: os << ", " << _("Auto-Override"); break; default: os << value.toLong(3); break; } } return os; } // Olympus CameraSettings tag 0x0527 NoiseFilter std::ostream& OlympusMakerNote::print0x0527(std::ostream& os, const Value& value, const ExifData*) { if ( value.count() != 3 || value.typeId() != signedShort || value.toLong(1) != -2 || value.toLong(2) != 1) { return os << value; } switch (value.toLong(0)) { case -2: os << _("Off"); break; case -1: os << _("Low"); break; case 0: os << _("Standard"); break; case 1: os << _("High"); break; default: os << value.toLong(0); break; } return os; } std::ostream& OlympusMakerNote::print0x0200(std::ostream& os, const Value& value, const ExifData*) { if (value.count() != 3 || value.typeId() != unsignedLong) { return os << value; } long l0 = value.toLong(0); switch (l0) { case 0: os << _("Normal"); break; case 2: os << _("Fast"); break; case 3: os << _("Panorama"); break; default: os << "(" << l0 << ")"; break; } if (l0 != 0) { os << ", "; long l1 = value.toLong(1); os << _("Sequence number") << " " << l1; } if (l0 != 0 && l0 != 2) { os << ", "; long l2 = value.toLong(2); switch (l2) { case 1: os << _("Left to right"); break; case 2: os << _("Right to left"); break; case 3: os << _("Bottom to top"); break; case 4: os << _("Top to bottom"); break; default: os << "(" << l2 << ")"; break; } } return os; } // OlympusMakerNote::print0x0200 std::ostream& OlympusMakerNote::print0x0204(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags of( os.flags() ); if ( value.count() == 0 || value.toRational().second == 0) { return os << "(" << value << ")"; } float f = value.toFloat(); if (f == 0.0 || f == 1.0) return os << _("None"); std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1) << f << "x"; os.copyfmt(oss); os.flags(of); return os; } // OlympusMakerNote::print0x0204 std::ostream& OlympusMakerNote::print0x1015(std::ostream& os, const Value& value, const ExifData*) { if (value.typeId() != unsignedShort) { return os << value; } if (value.count() == 1) { short l0 = (short)value.toLong(0); if (l0 == 1) { os << _("Auto"); } else { return os << value; } } else if (value.count() == 2) { short l0 = (short)value.toLong(0); short l1 = (short)value.toLong(1); if (l0 == 1) { switch (l1) { case 0: os << _("Auto"); break; default: os << _("Auto") << " (" << l1 << ")"; break; } } else if (l0 == 2) { switch (l1) { case 2: os << _("3000 Kelvin"); break; case 3: os << _("3700 Kelvin"); break; case 4: os << _("4000 Kelvin"); break; case 5: os << _("4500 Kelvin"); break; case 6: os << _("5500 Kelvin"); break; case 7: os << _("6500 Kelvin"); break; case 8: os << _("7500 Kelvin"); break; default: os << value; break; } } else if (l0 == 3) { switch (l1) { case 0: os << _("One-touch"); break; default: os << value; break; } } else { return os << value; } } else { return os << value; } return os; } // OlympusMakerNote::print0x1015 //! OlympusEq LensType, tag 0x201 std::ostream& OlympusMakerNote::print0x0201(std::ostream& os, const Value& value, const ExifData*) { // 6 numbers: 0. Make, 1. Unknown, 2. Model, 3. Sub-model, 4-5. Unknown. // Only the Make, Model and Sub-model are used to determine the lens model static struct { byte val[3]; const char *label; } lensTypes[] = { { { 0, 0, 0 }, N_("None") }, { { 0, 1, 0 }, "Olympus Zuiko Digital ED 50mm F2.0 Macro" }, { { 0, 1, 1 }, "Olympus Zuiko Digital 40-150mm F3.5-4.5" }, { { 0, 1, 16 }, "Olympus M.Zuiko Digital ED 14-42mm F3.5-5.6" }, { { 0, 2, 0 }, "Olympus Zuiko Digital ED 150mm F2.0" }, { { 0, 2, 16 }, "Olympus M.Zuiko Digital 17mm F2.8 Pancake" }, { { 0, 3, 0 }, "Olympus Zuiko Digital ED 300mm F2.8" }, { { 0, 3, 16 }, "Olympus M.Zuiko Digital ED 14-150mm F4.0-5.6" }, { { 0, 4, 16 }, "Olympus M.Zuiko Digital ED 9-18mm F4.0-5.6" }, { { 0, 5, 0 }, "Olympus Zuiko Digital 14-54mm F2.8-3.5" }, { { 0, 5, 1 }, "Olympus Zuiko Digital Pro ED 90-250mm F2.8" }, { { 0, 5, 16 }, "Olympus M.Zuiko Digital ED 14-42mm F3.5-5.6 L" }, { { 0, 6, 0 }, "Olympus Zuiko Digital ED 50-200mm F2.8-3.5" }, { { 0, 6, 1 }, "Olympus Zuiko Digital ED 8mm F3.5 Fisheye" }, { { 0, 6, 16 }, "Olympus M.Zuiko Digital ED 40-150mm F4.0-5.6" }, { { 0, 7, 0 }, "Olympus Zuiko Digital 11-22mm F2.8-3.5" }, { { 0, 7, 1 }, "Olympus Zuiko Digital 18-180mm F3.5-6.3" }, { { 0, 7, 16 }, "Olympus M.Zuiko Digital ED 12mm F2.0" }, { { 0, 8, 1 }, "Olympus Zuiko Digital 70-300mm F4.0-5.6" }, { { 0, 8, 16 }, "Olympus M.Zuiko Digital ED 75-300mm F4.8-6.7" }, { { 0, 9, 16 }, "Olympus M.Zuiko Digital 14-42mm F3.5-5.6 II" }, { { 0, 16, 1 }, "Kenko Tokina Reflex 300mm F6.3 MF Macro" }, { { 0, 16, 16 }, "Olympus M.Zuiko Digital ED 12-50mm F3.5-6.3 EZ" }, { { 0, 17, 16 }, "Olympus M.Zuiko Digital 45mm F1.8" }, { { 0, 18, 16 }, "Olympus M.Zuiko Digital ED 60mm F2.8 Macro" }, { { 0, 19, 16 }, "Olympus M.Zuiko Digital 14-42mm F3.5-5.6 II R" }, { { 0, 20, 16 }, "Olympus M.Zuiko Digital ED 40-150mm F4.0-5.6 R" }, { { 0, 21, 0 }, "Olympus Zuiko Digital ED 7-14mm F4.0" }, { { 0, 21, 16 }, "Olympus M.Zuiko Digital ED 75mm F1.8" }, { { 0, 22, 16 }, "Olympus M.Zuiko Digital 17mm F1.8" }, { { 0, 23, 0 }, "Olympus Zuiko Digital Pro ED 35-100mm F2.0" }, { { 0, 24, 0 }, "Olympus Zuiko Digital 14-45mm F3.5-5.6" }, { { 0, 24, 16 }, "Olympus M.Zuiko Digital ED 75-300mm F4.8-6.7 II" }, { { 0, 25, 16 }, "Olympus M.Zuiko Digital ED 12-40mm F2.8 Pro" }, { { 0, 32, 0 }, "Olympus Zuiko Digital 35mm F3.5 Macro" }, { { 0, 32, 16 }, "Olympus M.Zuiko Digital ED 40-150mm F2.8 Pro" }, { { 0, 33, 16 }, "Olympus M.Zuiko Digital ED 14-42mm F3.5-5.6 EZ" }, { { 0, 34, 0 }, "Olympus Zuiko Digital 17.5-45mm F3.5-5.6" }, { { 0, 34, 16 }, "Olympus M.Zuiko Digital 25mm F1.8" }, { { 0, 35, 0 }, "Olympus Zuiko Digital ED 14-42mm F3.5-5.6" }, { { 0, 35, 16 }, "Olympus M.Zuiko Digital ED 7-14mm F2.8 Pro" }, { { 0, 36, 0 }, "Olympus Zuiko Digital ED 40-150mm F4.0-5.6" }, { { 0, 37, 16 }, "Olympus M.Zuiko Digital ED 8mm F1.8 Fisheye Pro" }, { { 0, 48, 0 }, "Olympus Zuiko Digital ED 50-200mm F2.8-3.5 SWD" }, { { 0, 49, 0 }, "Olympus Zuiko Digital ED 12-60mm F2.8-4.0 SWD" }, { { 0, 50, 0 }, "Olympus Zuiko Digital ED 14-35mm F2.0 SWD" }, { { 0, 51, 0 }, "Olympus Zuiko Digital 25mm F2.8" }, { { 0, 52, 0 }, "Olympus Zuiko Digital ED 9-18mm F4.0-5.6" }, { { 0, 53, 0 }, "Olympus Zuiko Digital 14-54mm F2.8-3.5 II" }, { { 1, 1, 0 }, "Sigma 18-50mm F3.5-5.6 DC" }, { { 1, 1, 16 }, "Sigma 30mm F2.8 EX DN" }, { { 1, 2, 0 }, "Sigma 55-200mm F4.0-5.6 DC" }, { { 1, 2, 16 }, "Sigma 19mm F2.8 EX DN" }, { { 1, 3, 0 }, "Sigma 18-125mm F3.5-5.6 DC" }, { { 1, 3, 16 }, "Sigma 30mm F2.8 DN | A" }, { { 1, 4, 0 }, "Sigma 18-125mm F3.5-5.6" }, { { 1, 4, 16 }, "Sigma 19mm F2.8 DN | A" }, { { 1, 5, 0 }, "Sigma 30mm F1.4" }, { { 1, 5, 16 }, "Sigma 60mm F2.8 DN | A" }, { { 1, 6, 0 }, "Sigma 50-500mm F4.0-6.3 EX DG APO HSM RF" }, { { 1, 7, 0 }, "Sigma 105mm F2.8 DG" }, { { 1, 8, 0 }, "Sigma 150mm F2.8 DG HSM" }, { { 1, 9, 0 }, "Sigma 18-50mm F2.8 EX DC Macro" }, { { 1, 16, 0 }, "Sigma 24mm F1.8 EX DG Aspherical Macro" }, { { 1, 17, 0 }, "Sigma 135-400mm F4.5-5.6 DG ASP APO RF" }, { { 1, 18, 0 }, "Sigma 300-800mm F5.6 EX DG APO" }, { { 1, 19, 0 }, "Sigma 30mm F1.4 EX DC HSM" }, { { 1, 20, 0 }, "Sigma 50-500mm F4.0-6.3 EX DG APO HSM RF" }, { { 1, 21, 0 }, "Sigma 10-20mm F4.0-5.6 EX DC HSM" }, { { 1, 22, 0 }, "Sigma 70-200mm F2.8 EX DG Macro HSM II" }, { { 1, 23, 0 }, "Sigma 50mm F1.4 EX DG HSM" }, { { 2, 1, 0 }, "Leica D Vario Elmarit 14-50mm F2.8-3.5 Asph." }, { { 2, 1, 16 }, "Lumix G Vario 14-45mm F3.5-5.6 Asph. Mega OIS" }, { { 2, 2, 0 }, "Leica D Summilux 25mm F1.4 Asph." }, { { 2, 2, 16 }, "Lumix G Vario 45-200mm F4.0-5.6 Mega OIS" }, { { 2, 3, 0 }, "Leica D Vario Elmar 14-50mm F3.8-5.6 Asph. Mega OIS" }, { { 2, 3, 1 }, "Leica D Vario Elmar 14-50mm F3.8-5.6 Asph." }, { { 2, 3, 16 }, "Lumix G Vario HD 14-140mm F4.0-5.8 Asph. Mega OIS" }, { { 2, 4, 0 }, "Leica D Vario Elmar 14-150mm F3.5-5.6" }, { { 2, 4, 16 }, "Lumix G Vario 7-14mm F4.0 Asph." }, { { 2, 5, 16 }, "Lumix G 20mm F1.7 Asph." }, { { 2, 6, 16 }, "Leica DG Macro-Elmarit 45mm F2.8 Asph. Mega OIS" }, { { 2, 7, 16 }, "Lumix G Vario 14-42mm F3.5-5.6 Asph. Mega OIS" }, { { 2, 8, 16 }, "Lumix G Fisheye 8mm F3.5" }, { { 2, 9, 16 }, "Lumix G Vario 100-300mm F4.0-5.6 Mega OIS" }, { { 2, 16, 16 }, "Lumix G 14mm F2.5 Asph." }, { { 2, 17, 16 }, "Lumix G 3D 12.5mm F12" }, { { 2, 18, 16 }, "Leica DG Summilux 25mm F1.4 Asph." }, { { 2, 19, 16 }, "Lumix G X Vario PZ 45-175mm F4.0-5.6 Asph. Power OIS" }, { { 2, 20, 16 }, "Lumix G X Vario PZ 14-42mm F3.5-5.6 Asph. Power OIS" }, { { 2, 21, 16 }, "Lumix G X Vario 12-35mm F2.8 Asph. Power OIS" }, { { 2, 22, 16 }, "Lumix G Vario 45-150mm F4.0-5.6 Asph. Mega OIS" }, { { 2, 23, 16 }, "Lumix G X Vario 35-100mm F2.8 Power OIS" }, { { 2, 24, 16 }, "Lumix G Vario 14-42mm F3.5-5.6 II Asph. Mega OIS" }, { { 2, 25, 16 }, "Lumix G Vario 14-140mm F3.5-5.6 Asph. Power OIS" }, { { 2, 32, 16 }, "Lumix G Vario 12-32mm F3.5-5.6 Asph. Mega OIS" }, { { 2, 33, 16 }, "Leica DG Nocticron 42.5mm F1.2 Asph. Power OIS" }, { { 2, 34, 16 }, "Leica DG Summilux 15mm F1.7 Asph." }, { { 2, 36, 16 }, "Lumix G Macro 30mm F2.8 Asph. Mega OIS" }, { { 2, 37, 16 }, "Lumix G 42.5mm F1.7 Asph. Power OIS" }, { { 3, 1, 0 }, "Leica D Vario Elmarit 14-50mm F2.8-3.5 Asph." }, { { 3, 2, 0 }, "Leica D Summilux 25mm F1.4 Asph." }, { { 5, 1, 16 }, "Tamron 14-150mm F3.5-5.8 Di III" }, // End of list marker { { 0xff, 0, 0 }, "" } }; if (value.count() != 6 || value.typeId() != unsignedByte) { return os << value; } byte v0 = (byte)value.toLong(0); byte v2 = (byte)value.toLong(2); byte v3 = (byte)value.toLong(3); for (int i = 0; lensTypes[i].val[0] != 0xff; i++) { if (lensTypes[i].val[0] == v0 && lensTypes[i].val[1] == v2 && lensTypes[i].val[2] == v3) { return os << lensTypes[i].label; } } return os << value; } // OlympusMakerNote::print0x0201 // Olympus tag 0x0209 CameraID std::ostream& OlympusMakerNote::print0x0209(std::ostream& os, const Value& value, const ExifData*) { if (value.typeId() != asciiString && value.typeId() != undefined) { return os << value; } char ch; int size = value.size(); for (int i = 0; i < size && ((ch = (char)value.toLong(i)) != '\0'); i++) { os << ch; } return os; } // OlympusMakerNote::print0x0209 //! OlympusEq Extender, tag 0x0301 std::ostream& OlympusMakerNote::printEq0x0301(std::ostream& os, const Value& value, const ExifData*) { // 6 numbers: 0. Make, 1. Unknown, 2. Model, 3. Sub-model, 4-5. Unknown. // Only the Make and Model are used to determine the extender model static struct { byte val[2]; const char *label; } extenderModels[] = { { { 0, 0 }, N_("None") }, { { 0, 4 }, "Olympus Zuiko Digital EC-14 1.4x Teleconverter" }, { { 0, 8 }, "Olympus EX-25 Extension Tube" }, { { 0, 16 },"Olympus Zuiko Digital EC-20 2.0x Teleconverter" }, // End of list marker { { 0xff, 0 }, "" } }; if (value.count() != 6 || value.typeId() != unsignedByte) { return os << value; } byte v0 = (byte)value.toLong(0); byte v2 = (byte)value.toLong(2); for (int i = 0; extenderModels[i].val[0] != 0xff; i++) { if (extenderModels[i].val[0] == v0 && extenderModels[i].val[1] == v2) { return os << extenderModels[i].label; } } return os << value; } // OlympusMakerNote::printEq0x0301 //! OlympusCs FocusMode, tag 0x0301 // (1 or 2 values) std::ostream& OlympusMakerNote::printCs0x0301(std::ostream& os, const Value& value, const ExifData*) { static struct { uint16_t val; const char *label; } focusModes0[] = { { 0, N_("Single AF") }, { 1, N_("Sequential shooting AF") }, { 2, N_("Continuous AF") }, { 3, N_("Multi AF") }, { 4, N_("Face detect") }, { 10, N_("MF") }, // End of list marker { 0xff, "" } }; static struct { uint16_t val; const char *label; } focusModes1[] = { { 0x0001, N_("S-AF") }, { 0x0004, N_("C-AF") }, { 0x0010, N_("MF") }, { 0x0020, N_("Face detect") }, { 0x0040, N_("Imager AF") }, { 0x0100, N_("AF sensor") }, // End of list marker { 0, "" } }; if (value.count() < 1 || value.typeId() != unsignedShort) { return os << "(" << value << ")"; } else { uint16_t v = (uint16_t)value.toLong(0); // If value 2 is present, it is used instead of value 1. if (value.count() > 1) { std::string p = ""; // Used to enable ',' separation v = (uint16_t)value.toLong(1); for (int i = 0; focusModes1[i].val != 0; i++) { if ((v & focusModes1[i].val) != 0) { if (p.size() > 0) { os << ", "; } p = focusModes1[i].label; os << p; } } } else { for (int i = 0; focusModes0[i].val != 0xff; i++) { if (focusModes0[i].val == v) { os << focusModes0[i].label; break; } } } return os << v; } } // OlympusMakerNote::printCs0x0301 //! OlympusCs ArtFilter, tag 0x0529, OlympusCs MagicFilter, tag 0x052c std::ostream& OlympusMakerNote::print0x0529(std::ostream& os, const Value& value, const ExifData*) { static struct { uint16_t val[2]; const char *label; } artFilters[] = { { { 0, 0}, N_("Off") }, { { 0, 1280}, N_("Off") }, { { 1, 1280}, N_("Soft Focus") }, { { 2, 1280}, N_("Pop Art") }, { { 3, 1280}, N_("Pale & Light Color") }, { { 4, 1280}, N_("Light Tone") }, { { 5, 1280}, N_("Pin Hole") }, { { 6, 1280}, N_("Grainy Film") }, { { 9, 1280}, N_("Diorama") }, { { 10, 1280}, N_("Cross Process") }, { { 12, 1280}, N_("Fish Eye") }, { { 13, 1280}, N_("Drawing") }, { { 14, 1280}, N_("Gentle Sepia") }, { { 15, 1280}, N_("Pale & Light Color II") }, { { 16, 1280}, N_("Pop Art II") }, { { 17, 1280}, N_("Pin Hole II") }, { { 18, 1280}, N_("Pin Hole III") }, { { 19, 1280}, N_("Grainy Film II") }, { { 20, 1280}, N_("Dramatic Tone") }, { { 21, 1280}, N_("Punk") }, { { 22, 1280}, N_("Soft Focus 2") }, { { 23, 1280}, N_("Sparkle") }, { { 24, 1280}, N_("Watercolor") }, { { 25, 1280}, N_("Key Line") }, { { 26, 1280}, N_("Key Line II") }, { { 27, 1280}, N_("Miniature") }, { { 28, 1280}, N_("Reflection") }, { { 29, 1280}, N_("Fragmented") }, { { 31, 1280}, N_("Cross Process II") }, { { 32, 1280}, N_("Dramatic Tone II") }, { { 33, 1280}, N_("Watercolor I") }, { { 34, 1280}, N_("Watercolor II") }, { { 35, 1280}, N_("Diorama II") }, { { 36, 1280}, N_("Vintage") }, { { 37, 1280}, N_("Vintage II") }, { { 38, 1280}, N_("Vintage III") }, { { 39, 1280}, N_("Partial Color") }, { { 40, 1280}, N_("Partial Color II") }, { { 41, 1280}, N_("Partial Color III") }, // End of list marker { { 0xffff, 0 }, "" } }; if (value.count() != 4 || value.typeId() != unsignedShort) { return os << value; } uint16_t v0 = (uint16_t)value.toLong(0); uint16_t v1 = (uint16_t)value.toLong(1); for (int i = 0; artFilters[i].val[0] != 0xffff; i++) { if (artFilters[i].val[0] == v0 && artFilters[i].val[1] == v1) { return os << artFilters[i].label; } } return os << ""; } // OlympusMakerNote::print0x0529 // Olympus FocusInfo tag 0x1209 ManualFlash std::ostream& OlympusMakerNote::print0x1209(std::ostream& os, const Value& value, const ExifData*) { if (value.count() != 2 || value.typeId() != unsignedShort) { return os << value; } switch (value.toLong(0)) { case 0: os << _("Off"); break; case 1: os << _("On"); break; default: os << value.toLong(0); break; } os << " "; os << value.toLong(1); return os; } // OlympusMakerNote::print0x1209 // Olympus FocusDistance 0x0305 std::ostream& OlympusMakerNote::print0x0305(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if (value.count() != 1 || value.typeId() != unsignedRational) { os.flags(f); return os << value; } Rational distance = value.toRational(); if(static_cast(distance.first) == 0xffffffff) { os << _("Infinity"); } else { std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(2); os << (float)distance.first/1000 << " m"; os.copyfmt(oss); } os.flags(f); return os; } // Olympus FocusInfo tag 0x0308 AFPoint std::ostream& OlympusMakerNote::print0x0308(std::ostream& os, const Value& value, const ExifData* metadata) { static struct { uint16_t val; const char *label; } afPoints[] = { { 0, N_("Left (or n/a)") }, { 1, N_("Center (horizontal)") }, { 2, N_("Right") }, { 3, N_("Center (vertical)") }, { 255, N_("None") }, // End of list marker { 0xffff, "" } }; static struct { byte val; const char *label; } afPointsE3[] = { { 0x00, N_("None") }, { 0x01, N_("Top-left (horizontal)") }, { 0x02, N_("Top-center (horizontal)") }, { 0x03, N_("Top-right (horizontal)") }, { 0x04, N_("Left (horizontal)") }, { 0x05, N_("Mid-left (horizontal)") }, { 0x06, N_("Center (horizontal)") }, { 0x07, N_("Mid-right (horizontal)") }, { 0x08, N_("Right (horizontal)") }, { 0x09, N_("Bottom-left (horizontal)") }, { 0x0a, N_("Bottom-center (horizontal)") }, { 0x0b, N_("Bottom-right (horizontal)") }, { 0x0c, N_("Top-left (vertical)") }, { 0x0d, N_("Top-center (vertical)") }, { 0x0e, N_("Top-right (vertical)") }, { 0x0f, N_("Left (vertical)") }, { 0x10, N_("Mid-left (vertical)") }, { 0x11, N_("Center (vertical)") }, { 0x12, N_("Mid-right (vertical)") }, { 0x13, N_("Right (vertical)") }, { 0x14, N_("Bottom-left (vertical)") }, { 0x15, N_("Bottom-center (vertical)") }, { 0x16, N_("Bottom-right (vertical)") }, // End of list marker { 0xff, "" } }; if (value.count() != 1 || value.typeId() != unsignedShort) { return os << value; } bool E3_E30model = false; if (metadata != NULL) { ExifData::const_iterator pos = metadata->findKey(ExifKey("Exif.Image.Model")); if (pos != metadata->end() && pos->count() != 0) { std::string model = pos->toString(); if (model.find("E-3 ") != std::string::npos || model.find("E-30 ") != std::string::npos) { E3_E30model = true; } } } uint16_t v = (uint16_t) value.toLong(0); if (!E3_E30model) { for (int i = 0; afPoints[i].val != 0xffff; i++) { if (afPoints[i].val == v) { return os << afPoints[i].label; } } } else { // E-3 and E-30 for (int i = 0; afPointsE3[i].val != 0xff; i++) { if (afPointsE3[i].val == (v & 0x1f)) { os << afPointsE3[i].label; os << ", "; if ((v & 0xe0) == 0) return os << N_("Single Target"); if (v & 0x40) return os << N_("All Target"); if (v & 0x80) return os << N_("Dynamic Single Target"); } } } return os << v; } // OlympusMakerNote::print0x0308 }} // namespace Internal, Exiv2 exiv2-0.25/src/pgfimage.cpp0000664000175000017500000002473212521135474015401 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: pgfimage.cpp Version: $Rev: 3777 $ Author(s): Gilles Caulier (cgilles) History: 16-Jun-09, gc: submitted Credits: See header file */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: pgfimage.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "pgfimage.hpp" #include "image.hpp" #include "pngimage.hpp" #include "basicio.hpp" #include "error.hpp" #include "futils.hpp" // + standard includes #include // for EOF #include #include #include #include // Signature from front of PGF file const unsigned char pgfSignature[3] = { 0x50, 0x47, 0x46 }; const unsigned char pgfBlank[] = { 0x50,0x47,0x46,0x36,0x10,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00, 0x00,0x00,0x18,0x03,0x03,0x00,0x00,0x00,0x14,0x00,0x67,0x08,0x20,0x00,0xc0,0x01, 0x00,0x00,0x37,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x37,0x00, 0x00,0x78,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x37,0x00,0x00,0x78,0x00,0x00, 0x00,0x00,0x01,0x00,0x00,0x00,0x37,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x01,0x00, 0x00,0x00,0x37,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x37,0x00, 0x00,0x78,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00 }; // ***************************************************************************** // class member definitions namespace Exiv2 { PgfImage::PgfImage(BasicIo::AutoPtr io, bool create) : Image(ImageType::pgf, mdExif | mdIptc| mdXmp | mdComment, io) { if (create) { if (io_->open() == 0) { #ifdef DEBUG std::cerr << "Exiv2::PgfImage:: Creating PGF image to memory\n"; #endif IoCloser closer(*io_); if (io_->write(pgfBlank, sizeof(pgfBlank)) != sizeof(pgfBlank)) { #ifdef DEBUG std::cerr << "Exiv2::PgfImage:: Failed to create PGF image on memory\n"; #endif } } } } // PgfImage::PgfImage void PgfImage::readMetadata() { #ifdef DEBUG std::cerr << "Exiv2::PgfImage::readMetadata: Reading PGF file " << io_->path() << "\n"; #endif if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); // Ensure that this is the correct image type if (!isPgfType(*io_, true)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "PGF"); } clearMetadata(); readPgfMagicNumber(*io_); uint32_t headerSize = readPgfHeaderSize(*io_); readPgfHeaderStructure(*io_, &pixelWidth_, &pixelHeight_); // And now, the most interresting, the user data byte array where metadata are stored as small image. long size = 8 + headerSize - io_->tell(); #ifdef DEBUG std::cout << "Exiv2::PgfImage::readMetadata: Found Image data (" << size << " bytes)\n"; #endif if (size < 0) throw Error(20); if (size == 0) return; DataBuf imgData(size); std::memset(imgData.pData_, 0x0, imgData.size_); long bufRead = io_->read(imgData.pData_, imgData.size_); if (io_->error()) throw Error(14); if (bufRead != imgData.size_) throw Error(20); Image::AutoPtr image = Exiv2::ImageFactory::open(imgData.pData_, imgData.size_); image->readMetadata(); exifData() = image->exifData(); iptcData() = image->iptcData(); xmpData() = image->xmpData(); } // PgfImage::readMetadata void PgfImage::writeMetadata() { if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); BasicIo::AutoPtr tempIo(io_->temporary()); // may throw assert (tempIo.get() != 0); doWriteMetadata(*tempIo); // may throw io_->close(); io_->transfer(*tempIo); // may throw } // PgfImage::writeMetadata void PgfImage::doWriteMetadata(BasicIo& outIo) { if (!io_->isopen()) throw Error(20); if (!outIo.isopen()) throw Error(21); #ifdef DEBUG std::cout << "Exiv2::PgfImage::doWriteMetadata: Writing PGF file " << io_->path() << "\n"; std::cout << "Exiv2::PgfImage::doWriteMetadata: tmp file created " << outIo.path() << "\n"; #endif // Ensure that this is the correct image type if (!isPgfType(*io_, true)) { if (io_->error() || io_->eof()) throw Error(20); throw Error(22); } // Ensure PGF version. byte mnb = readPgfMagicNumber(*io_); readPgfHeaderSize(*io_); int w, h; DataBuf header = readPgfHeaderStructure(*io_, &w, &h); Image::AutoPtr img = ImageFactory::create(ImageType::png); img->setExifData(exifData_); img->setIptcData(iptcData_); img->setXmpData(xmpData_); img->writeMetadata(); int imgSize = img->io().size(); DataBuf imgBuf = img->io().read(imgSize); #ifdef DEBUG std::cout << "Exiv2::PgfImage::doWriteMetadata: Creating image to host metadata (" << imgSize << " bytes)\n"; #endif //--------------------------------------------------------------- // Write PGF Signature. if (outIo.write(pgfSignature, 3) != 3) throw Error(21); // Write Magic number. if (outIo.putb(mnb) == EOF) throw Error(21); // Write new Header size. uint32_t newHeaderSize = header.size_ + imgSize; DataBuf buffer(4); memcpy (buffer.pData_, &newHeaderSize, 4); if (outIo.write(buffer.pData_, 4) != 4) throw Error(21); #ifdef DEBUG std::cout << "Exiv2::PgfImage: new PGF header size : " << newHeaderSize << " bytes\n"; printf("%x\n", buffer.pData_[0]); printf("%x\n", buffer.pData_[1]); printf("%x\n", buffer.pData_[2]); printf("%x\n", buffer.pData_[3]); #endif // Write Header data. if (outIo.write(header.pData_, header.size_) != header.size_) throw Error(21); // Write new metadata byte array. if (outIo.write(imgBuf.pData_, imgBuf.size_) != imgBuf.size_) throw Error(21); // Copy the rest of PGF image data. DataBuf buf(4096); long readSize = 0; while ((readSize=io_->read(buf.pData_, buf.size_))) { if (outIo.write(buf.pData_, readSize) != readSize) throw Error(21); } if (outIo.error()) throw Error(21); } // PgfImage::doWriteMetadata byte PgfImage::readPgfMagicNumber(BasicIo& iIo) { byte b = iIo.getb(); if (iIo.error()) throw Error(14); if (b < 0x36) // 0x36 = '6'. { // Not right Magick version. #ifdef DEBUG std::cout << "Exiv2::PgfImage::readMetadata: wrong Magick number\n"; #endif } return b; } // PgfImage::readPgfMagicNumber uint32_t PgfImage::readPgfHeaderSize(BasicIo& iIo) { DataBuf buffer(4); long bufRead = iIo.read(buffer.pData_, buffer.size_); if (iIo.error()) throw Error(14); if (bufRead != buffer.size_) throw Error(20); uint32_t headerSize = 0; memcpy (&headerSize, buffer.pData_, 4); // TODO : check endianness. if (headerSize <= 0 ) throw Error(22); #ifdef DEBUG std::cout << "Exiv2::PgfImage: PGF header size : " << headerSize << " bytes\n"; #endif return headerSize; } // PgfImage::readPgfHeaderSize DataBuf PgfImage::readPgfHeaderStructure(BasicIo& iIo, int* width, int* height) { DataBuf header(16); long bufRead = iIo.read(header.pData_, header.size_); if (iIo.error()) throw Error(14); if (bufRead != header.size_) throw Error(20); memcpy(width, &header.pData_[0], 4); // TODO : check endianness. memcpy(height, &header.pData_[4], 4); // TODO : check endianness. /* NOTE: properties not yet used byte nLevels = buffer.pData_[8]; byte quality = buffer.pData_[9]; byte bpp = buffer.pData_[10]; byte channels = buffer.pData_[11]; */ byte mode = header.pData_[12]; if (mode == 2) // Indexed color image. We pass color table (256 * 3 bytes). { header.alloc(16 + 256*3); bufRead = iIo.read(&header.pData_[16], 256*3); if (iIo.error()) throw Error(14); if (bufRead != 256*3) throw Error(20); } return header; } // PgfImage::readPgfHeaderStructure // ************************************************************************* // free functions Image::AutoPtr newPgfInstance(BasicIo::AutoPtr io, bool create) { Image::AutoPtr image(new PgfImage(io, create)); if (!image->good()) { image.reset(); } return image; } bool isPgfType(BasicIo& iIo, bool advance) { const int32_t len = 3; byte buf[len]; iIo.read(buf, len); if (iIo.error() || iIo.eof()) { return false; } int rc = memcmp(buf, pgfSignature, 3); if (!advance || rc != 0) { iIo.seek(-len, BasicIo::cur); } return rc == 0; } } // namespace Exiv2 exiv2-0.25/src/utilsvideo.cpp0000664000175000017500000000431512535070522016001 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file utilsvideo.hpp @brief An Image subclass to support RIFF video files @version $Rev: 3845 $ Mahesh Hegde 2014 maheshmhegade@gmail.com @date 16-Aug-14, AB: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: utilsvideo.cpp 3845 2015-06-07 16:29:06Z ahuggel $") #ifdef EXV_ENABLE_VIDEO #include "utilsvideo.hpp" #ifndef _MSC_VER #define stricmp strcasecmp #endif namespace Exiv2 { bool UtilsVideo::compareTagValue(Exiv2::DataBuf& buf ,const char* str){ bool result = true; for(int32_t i=0; result && i<4; i++ ) if(tolower(buf.pData_[i]) != tolower(str[i])) return false; return true; } bool UtilsVideo::compareTagValue(Exiv2::DataBuf& buf,const char arr[][5],int32_t arraysize){ bool result = false; for ( int32_t i=0; !result && i< arraysize; i++) result = (bool)(stricmp((const char*)buf.pData_,arr[i])==0); return result; } bool UtilsVideo::simpleBytesComparison(Exiv2::DataBuf& buf ,const char* str,int32_t size){ for(int32_t i=0; i * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file fujimn_int.hpp @brief Fujifilm MakerNote implemented according to the specification in Appendix 4: Makernote of Fujifilm of the document Exif file format by TsuruZoh Tachibanaya
Fuji Makernote list by Phil Harvey
@version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @author Gilles Caulier (gc) caulier dot gilles at gmail dot com @date 11-Feb-04, ahu: created */ #ifndef FUJIMN_INT_HPP_ #define FUJIMN_INT_HPP_ // ***************************************************************************** // included header files #include "tags.hpp" #include "types.hpp" // ***************************************************************************** // namespace extensions namespace Exiv2 { namespace Internal { // ***************************************************************************** // class definitions //! MakerNote for Fujifilm cameras class FujiMakerNote { public: //! Return read-only list of built-in Fujifilm tags static const TagInfo* tagList(); private: //! Tag information static const TagInfo tagInfo_[]; }; // class FujiMakerNote }} // namespace Internal, Exiv2 #endif // #ifndef FUJIMN_INT_HPP_ exiv2-0.25/src/casiomn_int.hpp0000664000175000017500000000623412521135474016127 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file casiomn_int.hpp @brief Casio MakerNote implemented using the following references: Casio MakerNote Information by GVsoft, Casio.pm of ExifTool by Phil Harvey, Casio Makernote Format Specification by Evan Hunter. @version $Rev: 3091 $ @date 30-Oct-13, ahu: created */ #ifndef CASIOMN_INT_HPP_ #define CASIOMN_INT_HPP_ // ***************************************************************************** // included header files #include "tags.hpp" #include "types.hpp" // + standard includes #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { namespace Internal { // ***************************************************************************** // class definitions //! MakerNote for Casio cameras class CasioMakerNote { public: //! Return read-only list of built-in Casio tags static const TagInfo* tagList(); //! Print ObjectDistance static std::ostream& print0x0006(std::ostream& os, const Value& value, const ExifData*); //! Print FirmwareDate static std::ostream& print0x0015(std::ostream& os, const Value& value, const ExifData*); private: //! Makernote tag list static const TagInfo tagInfo_[]; }; // class CasioMakerNote //! MakerNote for Casio2 cameras class Casio2MakerNote { public: //! Return read-only list of built-in Casio2 tags static const TagInfo* tagList(); //! Print FirmwareDate static std::ostream& print0x2001(std::ostream& os, const Value& value, const ExifData*); //! Print ObjectDistance static std::ostream& print0x2022(std::ostream& os, const Value& value, const ExifData*); private: //! Makernote tag list static const TagInfo tagInfo_[]; }; // class Casio2MakerNote }} // namespace Internal, Exiv2 #endif // #ifndef CasioMN_INT_HPP_ exiv2-0.25/src/svn_version.sh0000775000175000017500000000202212473125740016015 0ustar andreasandreas#!/bin/bash ## # update svn_version_h when revision changes ## svn_version_h=svn_version.h svn_version=$(svn info .. 2>/dev/null) s=$? ## # from Jenkins, svn is almost always a disaster because # Jenkins SVN Plugin is 1.7 and the build machine is normally at least 1.8 if [ "$s" == "0" ]; then svn_version=$(svn info .. | grep ^Revision | cut -f 2 -d' ') if [ -z "$svn_version" ]; then svn_version=0 ; fi else svn_version=0 fi ## # report svn_version to output set | grep svn_version | grep -v -e BASH | grep -v -e $svn_version_h ## # sniff svn_version in svn_version.h and delete the file if incorrect if [ -e "$svn_version_h" ]; then old=$(cut -f 3 -d' ' "$svn_version_h") if [ "$old" != "$svn_version" ]; then rm -rf "$svn_version_h" fi fi ## # write svn_version to file if [ ! -e "$svn_version_h" ]; then echo "#ifndef SVN_VERSION" > "$svn_version_h" echo "#define SVN_VERSION $svn_version" >> "$svn_version_h" echo "#endif" >> "$svn_version_h" fi # That's all Folks! ## exiv2-0.25/src/exif.cpp0000664000175000017500000007151712521135474014560 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: exif.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 26-Jan-04, ahu: created 11-Feb-04, ahu: isolated as a component */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: exif.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "exif.hpp" #include "metadatum.hpp" #include "tags.hpp" #include "tags_int.hpp" #include "value.hpp" #include "types.hpp" #include "error.hpp" #include "basicio.hpp" #include "tiffimage.hpp" #include "tiffimage_int.hpp" #include "tiffcomposite_int.hpp" // for Tag::root // + standard includes #include #include #include #include #include #include #include // ***************************************************************************** namespace { //! Unary predicate that matches a Exifdatum with a given key class FindExifdatumByKey { public: //! Constructor, initializes the object with the key to look for FindExifdatumByKey(const std::string& key) : key_(key) {} /*! @brief Returns true if the key of \em exifdatum is equal to that of the object. */ bool operator()(const Exiv2::Exifdatum& exifdatum) const { return key_ == exifdatum.key(); } private: const std::string& key_; }; // class FindExifdatumByKey /*! @brief Exif %Thumbnail image. This abstract base class provides the interface for the thumbnail image that is optionally embedded in the Exif data. This class is used internally by ExifData, it is probably not useful for a client as a standalone class. Instead, use an instance of ExifData to access the Exif thumbnail image. */ class Thumbnail { public: //! Shortcut for a %Thumbnail auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ //! Virtual destructor virtual ~Thumbnail() {} //@} //! Factory function to create a thumbnail for the Exif metadata provided. static AutoPtr create(const Exiv2::ExifData& exifData); //! @name Accessors //@{ /*! @brief Return the thumbnail image in a %DataBuf. The caller owns the data buffer and %DataBuf ensures that it will be deleted. */ virtual Exiv2::DataBuf copy(const Exiv2::ExifData& exifData) const =0; /*! @brief Return the MIME type of the thumbnail ("image/tiff" or "image/jpeg"). */ virtual const char* mimeType() const =0; /*! @brief Return the file extension for the format of the thumbnail (".tif", ".jpg"). */ virtual const char* extension() const =0; #ifdef EXV_UNICODE_PATH /*! @brief Like extension() but returns the extension in a wchar_t. @note This function is only available on Windows. */ virtual const wchar_t* wextension() const =0; #endif //@} }; // class Thumbnail //! Exif thumbnail image in TIFF format class TiffThumbnail : public Thumbnail { public: //! Shortcut for a %TiffThumbnail auto pointer. typedef std::auto_ptr AutoPtr; //! @name Manipulators //@{ //! Assignment operator. TiffThumbnail& operator=(const TiffThumbnail& rhs); //@} //! @name Accessors //@{ Exiv2::DataBuf copy(const Exiv2::ExifData& exifData) const; const char* mimeType() const; const char* extension() const; #ifdef EXV_UNICODE_PATH const wchar_t* wextension() const; #endif //@} }; // class TiffThumbnail //! Exif thumbnail image in JPEG format class JpegThumbnail : public Thumbnail { public: //! Shortcut for a %JpegThumbnail auto pointer. typedef std::auto_ptr AutoPtr; //! @name Manipulators //@{ //! Assignment operator. JpegThumbnail& operator=(const JpegThumbnail& rhs); //@} //! @name Accessors //@{ Exiv2::DataBuf copy(const Exiv2::ExifData& exifData) const; const char* mimeType() const; const char* extension() const; #ifdef EXV_UNICODE_PATH const wchar_t* wextension() const; #endif //@} }; // class JpegThumbnail //! Helper function to sum all components of the value of a metadatum long sumToLong(const Exiv2::Exifdatum& md); //! Helper function to delete all tags of a specific IFD from the metadata. void eraseIfd(Exiv2::ExifData& ed, Exiv2::Internal::IfdId ifdId); } // ***************************************************************************** // class member definitions namespace Exiv2 { using namespace Internal; /*! @brief Set the value of \em exifDatum to \em value. If the object already has a value, it is replaced. Otherwise a new ValueType\ value is created and set to \em value. This is a helper function, called from Exifdatum members. It is meant to be used with T = (u)int16_t, (u)int32_t or (U)Rational. Do not use directly. */ template Exiv2::Exifdatum& setValue(Exiv2::Exifdatum& exifDatum, const T& value) { std::auto_ptr > v = std::auto_ptr >(new Exiv2::ValueType); v->value_.push_back(value); exifDatum.value_ = v; return exifDatum; } Exifdatum::Exifdatum(const ExifKey& key, const Value* pValue) : key_(key.clone()) { if (pValue) value_ = pValue->clone(); } Exifdatum::~Exifdatum() { } Exifdatum::Exifdatum(const Exifdatum& rhs) : Metadatum(rhs) { if (rhs.key_.get() != 0) key_ = rhs.key_->clone(); // deep copy if (rhs.value_.get() != 0) value_ = rhs.value_->clone(); // deep copy } std::ostream& Exifdatum::write(std::ostream& os, const ExifData* pMetadata) const { if (value().count() == 0) return os; PrintFct fct = printValue; const TagInfo* ti = Internal::tagInfo(tag(), static_cast(ifdId())); if (ti != 0) fct = ti->printFct_; return fct(os, value(), pMetadata); } const Value& Exifdatum::value() const { if (value_.get() == 0) throw Error(8); return *value_; } Exifdatum& Exifdatum::operator=(const Exifdatum& rhs) { if (this == &rhs) return *this; Metadatum::operator=(rhs); key_.reset(); if (rhs.key_.get() != 0) key_ = rhs.key_->clone(); // deep copy value_.reset(); if (rhs.value_.get() != 0) value_ = rhs.value_->clone(); // deep copy return *this; } // Exifdatum::operator= Exifdatum& Exifdatum::operator=(const std::string& value) { setValue(value); return *this; } Exifdatum& Exifdatum::operator=(const uint16_t& value) { return Exiv2::setValue(*this, value); } Exifdatum& Exifdatum::operator=(const uint32_t& value) { return Exiv2::setValue(*this, value); } Exifdatum& Exifdatum::operator=(const URational& value) { return Exiv2::setValue(*this, value); } Exifdatum& Exifdatum::operator=(const int16_t& value) { return Exiv2::setValue(*this, value); } Exifdatum& Exifdatum::operator=(const int32_t& value) { return Exiv2::setValue(*this, value); } Exifdatum& Exifdatum::operator=(const Rational& value) { return Exiv2::setValue(*this, value); } Exifdatum& Exifdatum::operator=(const Value& value) { setValue(&value); return *this; } void Exifdatum::setValue(const Value* pValue) { value_.reset(); if (pValue) value_ = pValue->clone(); } int Exifdatum::setValue(const std::string& value) { if (value_.get() == 0) { TypeId type = key_->defaultTypeId(); value_ = Value::create(type); } return value_->read(value); } int Exifdatum::setDataArea(const byte* buf, long len) { return value_.get() == 0 ? -1 : value_->setDataArea(buf, len); } std::string Exifdatum::key() const { return key_.get() == 0 ? "" : key_->key(); } const char* Exifdatum::familyName() const { return key_.get() == 0 ? "" : key_->familyName(); } std::string Exifdatum::groupName() const { return key_.get() == 0 ? "" : key_->groupName(); } std::string Exifdatum::tagName() const { return key_.get() == 0 ? "" : key_->tagName(); } std::string Exifdatum::tagLabel() const { return key_.get() == 0 ? "" : key_->tagLabel(); } uint16_t Exifdatum::tag() const { return key_.get() == 0 ? 0xffff : key_->tag(); } int Exifdatum::ifdId() const { return key_.get() == 0 ? ifdIdNotSet : key_->ifdId(); } const char* Exifdatum::ifdName() const { return key_.get() == 0 ? "" : Internal::ifdName(static_cast(key_->ifdId())); } int Exifdatum::idx() const { return key_.get() == 0 ? 0 : key_->idx(); } long Exifdatum::copy(byte* buf, ByteOrder byteOrder) const { return value_.get() == 0 ? 0 : value_->copy(buf, byteOrder); } TypeId Exifdatum::typeId() const { return value_.get() == 0 ? invalidTypeId : value_->typeId(); } const char* Exifdatum::typeName() const { return TypeInfo::typeName(typeId()); } long Exifdatum::typeSize() const { return TypeInfo::typeSize(typeId()); } long Exifdatum::count() const { return value_.get() == 0 ? 0 : value_->count(); } long Exifdatum::size() const { return value_.get() == 0 ? 0 : value_->size(); } std::string Exifdatum::toString() const { return value_.get() == 0 ? "" : value_->toString(); } std::string Exifdatum::toString(long n) const { return value_.get() == 0 ? "" : value_->toString(n); } long Exifdatum::toLong(long n) const { return value_.get() == 0 ? -1 : value_->toLong(n); } float Exifdatum::toFloat(long n) const { return value_.get() == 0 ? -1 : value_->toFloat(n); } Rational Exifdatum::toRational(long n) const { return value_.get() == 0 ? Rational(-1, 1) : value_->toRational(n); } Value::AutoPtr Exifdatum::getValue() const { return value_.get() == 0 ? Value::AutoPtr(0) : value_->clone(); } long Exifdatum::sizeDataArea() const { return value_.get() == 0 ? 0 : value_->sizeDataArea(); } DataBuf Exifdatum::dataArea() const { return value_.get() == 0 ? DataBuf(0, 0) : value_->dataArea(); } ExifThumbC::ExifThumbC(const ExifData& exifData) : exifData_(exifData) { } DataBuf ExifThumbC::copy() const { Thumbnail::AutoPtr thumbnail = Thumbnail::create(exifData_); if (thumbnail.get() == 0) return DataBuf(); return thumbnail->copy(exifData_); } long ExifThumbC::writeFile(const std::string& path) const { Thumbnail::AutoPtr thumbnail = Thumbnail::create(exifData_); if (thumbnail.get() == 0) return 0; std::string name = path + thumbnail->extension(); DataBuf buf(thumbnail->copy(exifData_)); if (buf.size_ == 0) return 0; return Exiv2::writeFile(buf, name); } #ifdef EXV_UNICODE_PATH long ExifThumbC::writeFile(const std::wstring& wpath) const { Thumbnail::AutoPtr thumbnail = Thumbnail::create(exifData_); if (thumbnail.get() == 0) return 0; std::wstring name = wpath + thumbnail->wextension(); DataBuf buf(thumbnail->copy(exifData_)); if (buf.size_ == 0) return 0; return Exiv2::writeFile(buf, name); } #endif const char* ExifThumbC::mimeType() const { Thumbnail::AutoPtr thumbnail = Thumbnail::create(exifData_); if (thumbnail.get() == 0) return ""; return thumbnail->mimeType(); } const char* ExifThumbC::extension() const { Thumbnail::AutoPtr thumbnail = Thumbnail::create(exifData_); if (thumbnail.get() == 0) return ""; return thumbnail->extension(); } #ifdef EXV_UNICODE_PATH const wchar_t* ExifThumbC::wextension() const { Thumbnail::AutoPtr thumbnail = Thumbnail::create(exifData_); if (thumbnail.get() == 0) return EXV_WIDEN(""); return thumbnail->wextension(); } #endif ExifThumb::ExifThumb(ExifData& exifData) : ExifThumbC(exifData), exifData_(exifData) { } void ExifThumb::setJpegThumbnail( const std::string& path, URational xres, URational yres, uint16_t unit ) { DataBuf thumb = readFile(path); // may throw setJpegThumbnail(thumb.pData_, thumb.size_, xres, yres, unit); } #ifdef EXV_UNICODE_PATH void ExifThumb::setJpegThumbnail( const std::wstring& wpath, URational xres, URational yres, uint16_t unit ) { DataBuf thumb = readFile(wpath); // may throw setJpegThumbnail(thumb.pData_, thumb.size_, xres, yres, unit); } #endif void ExifThumb::setJpegThumbnail( const byte* buf, long size, URational xres, URational yres, uint16_t unit ) { setJpegThumbnail(buf, size); exifData_["Exif.Thumbnail.XResolution"] = xres; exifData_["Exif.Thumbnail.YResolution"] = yres; exifData_["Exif.Thumbnail.ResolutionUnit"] = unit; } void ExifThumb::setJpegThumbnail(const std::string& path) { DataBuf thumb = readFile(path); // may throw setJpegThumbnail(thumb.pData_, thumb.size_); } #ifdef EXV_UNICODE_PATH void ExifThumb::setJpegThumbnail(const std::wstring& wpath) { DataBuf thumb = readFile(wpath); // may throw setJpegThumbnail(thumb.pData_, thumb.size_); } #endif void ExifThumb::setJpegThumbnail(const byte* buf, long size) { exifData_["Exif.Thumbnail.Compression"] = uint16_t(6); Exifdatum& format = exifData_["Exif.Thumbnail.JPEGInterchangeFormat"]; format = uint32_t(0); format.setDataArea(buf, size); exifData_["Exif.Thumbnail.JPEGInterchangeFormatLength"] = uint32_t(size); } void ExifThumb::erase() { eraseIfd(exifData_, ifd1Id); } Exifdatum& ExifData::operator[](const std::string& key) { ExifKey exifKey(key); iterator pos = findKey(exifKey); if (pos == end()) { add(Exifdatum(exifKey)); pos = findKey(exifKey); } return *pos; } void ExifData::add(const ExifKey& key, const Value* pValue) { add(Exifdatum(key, pValue)); } void ExifData::add(const Exifdatum& exifdatum) { // allow duplicates exifMetadata_.push_back(exifdatum); } ExifData::const_iterator ExifData::findKey(const ExifKey& key) const { return std::find_if(exifMetadata_.begin(), exifMetadata_.end(), FindExifdatumByKey(key.key())); } ExifData::iterator ExifData::findKey(const ExifKey& key) { return std::find_if(exifMetadata_.begin(), exifMetadata_.end(), FindExifdatumByKey(key.key())); } void ExifData::clear() { exifMetadata_.clear(); } void ExifData::sortByKey() { exifMetadata_.sort(cmpMetadataByKey); } void ExifData::sortByTag() { exifMetadata_.sort(cmpMetadataByTag); } ExifData::iterator ExifData::erase(ExifData::iterator beg, ExifData::iterator end) { return exifMetadata_.erase(beg, end); } ExifData::iterator ExifData::erase(ExifData::iterator pos) { return exifMetadata_.erase(pos); } ByteOrder ExifParser::decode( ExifData& exifData, const byte* pData, uint32_t size ) { IptcData iptcData; XmpData xmpData; ByteOrder bo = TiffParser::decode(exifData, iptcData, xmpData, pData, size); #ifndef SUPPRESS_WARNINGS if (!iptcData.empty()) { EXV_WARNING << "Ignoring IPTC information encoded in the Exif data.\n"; } if (!xmpData.empty()) { EXV_WARNING << "Ignoring XMP information encoded in the Exif data.\n"; } #endif return bo; } // ExifParser::decode //! @cond IGNORE enum Ptt { pttLen, pttTag, pttIfd }; struct PreviewTags { Ptt ptt_; const char* key_; }; //! @endcond WriteMethod ExifParser::encode( Blob& blob, const byte* pData, uint32_t size, ByteOrder byteOrder, const ExifData& exifData ) { ExifData ed = exifData; // Delete IFD0 tags that are "not recorded" in compressed images // Reference: Exif 2.2 specs, 4.6.8 Tag Support Levels, section A static const char* filteredIfd0Tags[] = { "Exif.Image.PhotometricInterpretation", "Exif.Image.StripOffsets", "Exif.Image.RowsPerStrip", "Exif.Image.StripByteCounts", "Exif.Image.JPEGInterchangeFormat", "Exif.Image.JPEGInterchangeFormatLength", "Exif.Image.SubIFDs" }; for (unsigned int i = 0; i < EXV_COUNTOF(filteredIfd0Tags); ++i) { ExifData::iterator pos = ed.findKey(ExifKey(filteredIfd0Tags[i])); if (pos != ed.end()) { #ifdef DEBUG std::cerr << "Warning: Exif tag " << pos->key() << " not encoded\n"; #endif ed.erase(pos); } } // Delete IFDs which do not occur in JPEGs static const IfdId filteredIfds[] = { subImage1Id, subImage2Id, subImage3Id, subImage4Id, subImage5Id, subImage6Id, subImage7Id, subImage8Id, subImage9Id, subThumb1Id, panaRawId, ifd2Id, ifd3Id }; for (unsigned int i = 0; i < EXV_COUNTOF(filteredIfds); ++i) { #ifdef DEBUG std::cerr << "Warning: Exif IFD " << filteredIfds[i] << " not encoded\n"; #endif eraseIfd(ed, filteredIfds[i]); } // IPTC and XMP are stored elsewhere, not in the Exif APP1 segment. IptcData emptyIptc; XmpData emptyXmp; // Encode and check if the result fits into a JPEG Exif APP1 segment MemIo mio1; std::auto_ptr header(new TiffHeader(byteOrder, 0x00000008, false)); WriteMethod wm = TiffParserWorker::encode(mio1, pData, size, ed, emptyIptc, emptyXmp, Tag::root, TiffMapping::findEncoder, header.get(), 0); if (mio1.size() <= 65527) { append(blob, mio1.mmap(), mio1.size()); return wm; } // If it doesn't fit, remove additional tags // Delete preview tags if the preview is larger than 32kB. // Todo: Enhance preview classes to be able to write and delete previews and use that instead. // Table must be sorted by preview, the first tag in each group is the size static const PreviewTags filteredPvTags[] = { { pttLen, "Exif.Minolta.ThumbnailLength" }, { pttTag, "Exif.Minolta.ThumbnailOffset" }, { pttLen, "Exif.Minolta.Thumbnail" }, { pttLen, "Exif.NikonPreview.JPEGInterchangeFormatLength" }, { pttIfd, "NikonPreview" }, { pttLen, "Exif.Olympus.ThumbnailLength" }, { pttTag, "Exif.Olympus.ThumbnailOffset" }, { pttLen, "Exif.Olympus.ThumbnailImage" }, { pttLen, "Exif.Olympus.Thumbnail" }, { pttLen, "Exif.Olympus2.ThumbnailLength" }, { pttTag, "Exif.Olympus2.ThumbnailOffset" }, { pttLen, "Exif.Olympus2.ThumbnailImage" }, { pttLen, "Exif.Olympus2.Thumbnail" }, { pttLen, "Exif.OlympusCs.PreviewImageLength" }, { pttTag, "Exif.OlympusCs.PreviewImageStart" }, { pttTag, "Exif.OlympusCs.PreviewImageValid" }, { pttLen, "Exif.Pentax.PreviewLength" }, { pttTag, "Exif.Pentax.PreviewOffset" }, { pttTag, "Exif.Pentax.PreviewResolution" }, { pttLen, "Exif.PentaxDng.PreviewLength" }, { pttTag, "Exif.PentaxDng.PreviewOffset" }, { pttTag, "Exif.PentaxDng.PreviewResolution" }, { pttLen, "Exif.SamsungPreview.JPEGInterchangeFormatLength" }, { pttIfd, "SamsungPreview" }, { pttLen, "Exif.Thumbnail.StripByteCounts" }, { pttIfd, "Thumbnail" }, { pttLen, "Exif.Thumbnail.JPEGInterchangeFormatLength" }, { pttIfd, "Thumbnail" } }; bool delTags = false; ExifData::iterator pos; for (unsigned int i = 0; i < EXV_COUNTOF(filteredPvTags); ++i) { switch (filteredPvTags[i].ptt_) { case pttLen: delTags = false; pos = ed.findKey(ExifKey(filteredPvTags[i].key_)); if (pos != ed.end() && sumToLong(*pos) > 32768) { delTags = true; #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Exif tag " << pos->key() << " not encoded\n"; #endif ed.erase(pos); } break; case pttTag: if (delTags) { pos = ed.findKey(ExifKey(filteredPvTags[i].key_)); if (pos != ed.end()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Exif tag " << pos->key() << " not encoded\n"; #endif ed.erase(pos); } } break; case pttIfd: if (delTags) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Exif IFD " << filteredPvTags[i].key_ << " not encoded\n"; #endif eraseIfd(ed, Internal::groupId(filteredPvTags[i].key_)); } break; } } // Delete unknown tags larger than 4kB and known tags larger than 40kB. for (ExifData::iterator pos = ed.begin(); pos != ed.end(); ) { if ( (pos->size() > 4096 && pos->tagName().substr(0, 2) == "0x") || pos->size() > 40960) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Exif tag " << pos->key() << " not encoded\n"; #endif pos = ed.erase(pos); } else { ++pos; } } // Encode the remaining Exif tags again, don't care if it fits this time MemIo mio2; wm = TiffParserWorker::encode(mio2, pData, size, ed, emptyIptc, emptyXmp, Tag::root, TiffMapping::findEncoder, header.get(), 0); append(blob, mio2.mmap(), mio2.size()); #ifdef DEBUG if (wm == wmIntrusive) { std::cerr << "SIZE OF EXIF DATA IS " << std::dec << mio2.size() << " BYTES\n"; } else { std::cerr << "SIZE DOESN'T MATTER, NON-INTRUSIVE WRITING USED\n"; } #endif return wm; } // ExifParser::encode } // namespace Exiv2 // ***************************************************************************** // local definitions namespace { //! @cond IGNORE Thumbnail::AutoPtr Thumbnail::create(const Exiv2::ExifData& exifData) { Thumbnail::AutoPtr thumbnail; const Exiv2::ExifKey k1("Exif.Thumbnail.Compression"); Exiv2::ExifData::const_iterator pos = exifData.findKey(k1); if (pos != exifData.end()) { if (pos->count() == 0) return thumbnail; long compression = pos->toLong(); if (compression == 6) { thumbnail = Thumbnail::AutoPtr(new JpegThumbnail); } else { thumbnail = Thumbnail::AutoPtr(new TiffThumbnail); } } else { const Exiv2::ExifKey k2("Exif.Thumbnail.JPEGInterchangeFormat"); pos = exifData.findKey(k2); if (pos != exifData.end()) { thumbnail = Thumbnail::AutoPtr(new JpegThumbnail); } } return thumbnail; } const char* TiffThumbnail::mimeType() const { return "image/tiff"; } const char* TiffThumbnail::extension() const { return ".tif"; } #ifdef EXV_UNICODE_PATH const wchar_t* TiffThumbnail::wextension() const { return EXV_WIDEN(".tif"); } #endif Exiv2::DataBuf TiffThumbnail::copy(const Exiv2::ExifData& exifData) const { Exiv2::ExifData thumb; // Copy all Thumbnail (IFD1) tags from exifData to Image (IFD0) tags in thumb for (Exiv2::ExifData::const_iterator i = exifData.begin(); i != exifData.end(); ++i) { if (i->groupName() == "Thumbnail") { std::string key = "Exif.Image." + i->tagName(); thumb.add(Exiv2::ExifKey(key), &i->value()); } } Exiv2::MemIo io; Exiv2::IptcData emptyIptc; Exiv2::XmpData emptyXmp; Exiv2::TiffParser::encode(io, 0, 0, Exiv2::littleEndian, thumb, emptyIptc, emptyXmp); return io.read(io.size()); } const char* JpegThumbnail::mimeType() const { return "image/jpeg"; } const char* JpegThumbnail::extension() const { return ".jpg"; } #ifdef EXV_UNICODE_PATH const wchar_t* JpegThumbnail::wextension() const { return EXV_WIDEN(".jpg"); } #endif Exiv2::DataBuf JpegThumbnail::copy(const Exiv2::ExifData& exifData) const { Exiv2::ExifKey key("Exif.Thumbnail.JPEGInterchangeFormat"); Exiv2::ExifData::const_iterator format = exifData.findKey(key); if (format == exifData.end()) return Exiv2::DataBuf(); return format->dataArea(); } long sumToLong(const Exiv2::Exifdatum& md) { long sum = 0; for (int i = 0; i < md.count(); ++i) { sum += md.toLong(i); } return sum; } void eraseIfd(Exiv2::ExifData& ed, Exiv2::IfdId ifdId) { ed.erase(std::remove_if(ed.begin(), ed.end(), Exiv2::FindExifdatum(ifdId)), ed.end()); } //! @endcond } exiv2-0.25/src/easyaccess.cpp0000664000175000017500000004136312521135474015744 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: easyaccess.cpp Version: $Rev: 3777 $ Author(s): Carsten Pfeiffer Andreas Huggel (ahu) History: 28-Feb-09, gis: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: easyaccess.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // ***************************************************************************** // included header files #include "easyaccess.hpp" // ***************************************************************************** namespace { using namespace Exiv2; /*! @brief Search \em ed for a Metadatum specified by the \em keys. The \em keys are searched in the order of their appearance, the first available Metadatum is returned. @param ed The %Exif metadata container to search @param keys Array of keys to look for @param count Number of elements in the array */ ExifData::const_iterator findMetadatum(const ExifData& ed, const char* keys[], int count) { for (int i = 0; i < count; ++i) { ExifData::const_iterator pos = ed.findKey(ExifKey(keys[i])); if (pos != ed.end()) return pos; } return ed.end(); } // findMetadatum } // anonymous namespace // ***************************************************************************** // class member definitions namespace Exiv2 { ExifData::const_iterator orientation(const ExifData& ed) { static const char* keys[] = { "Exif.Image.Orientation", "Exif.Panasonic.Rotation", "Exif.MinoltaCs5D.Rotation", "Exif.MinoltaCs5D.Rotation2", "Exif.MinoltaCs7D.Rotation", "Exif.Sony1MltCsA100.Rotation", "Exif.Sony1Cs.Rotation", "Exif.Sony2Cs.Rotation", "Exif.Sony1Cs2.Rotation", "Exif.Sony2Cs2.Rotation", "Exif.Sony1MltCsA100.Rotation" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator isoSpeed(const ExifData& ed) { static const char* keys[] = { "Exif.Photo.ISOSpeedRatings", "Exif.Image.ISOSpeedRatings", "Exif.CanonSi.ISOSpeed", "Exif.CanonCs.ISOSpeed", "Exif.Nikon1.ISOSpeed", "Exif.Nikon2.ISOSpeed", "Exif.Nikon3.ISOSpeed", "Exif.NikonIi.ISO", "Exif.NikonIi.ISO2", "Exif.MinoltaCsNew.ISOSetting", "Exif.MinoltaCsOld.ISOSetting", "Exif.MinoltaCs5D.ISOSpeed", "Exif.MinoltaCs7D.ISOSpeed", "Exif.Sony1Cs.ISOSetting", "Exif.Sony2Cs.ISOSetting", "Exif.Sony1Cs2.ISOSetting", "Exif.Sony2Cs2.ISOSetting", "Exif.Sony1MltCsA100.ISOSetting", "Exif.Pentax.ISO", "Exif.PentaxDng.ISO", "Exif.Olympus.ISOSpeed", "Exif.Samsung2.ISO", "Exif.Casio.ISO", "Exif.Casio2.ISO", "Exif.Casio2.ISOSpeed" }; // Find the first ISO value which is not "0" const int cnt = EXV_COUNTOF(keys); ExifData::const_iterator md = ed.end(); for (int idx = 0; idx < cnt; ) { md = findMetadatum(ed, keys + idx, cnt - idx); if (md == ed.end()) break; std::ostringstream os; md->write(os, &ed); bool ok = false; long v = parseLong(os.str(), ok); if (ok && v != 0) break; while (strcmp(keys[idx++], md->key().c_str()) != 0 && idx < cnt) {} md = ed.end(); } return md; } ExifData::const_iterator flashBias(const ExifData& ed) { static const char* keys[] = { "Exif.CanonSi.FlashBias", "Exif.Panasonic.FlashBias", "Exif.Olympus.FlashBias", "Exif.OlympusCs.FlashExposureComp", "Exif.Minolta.FlashExposureComp", "Exif.SonyMinolta.FlashExposureComp", "Exif.Sony1.FlashExposureComp", "Exif.Sony2.FlashExposureComp" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator exposureMode(const ExifData& ed) { static const char* keys[] = { "Exif.Photo.ExposureProgram", "Exif.Image.ExposureProgram", "Exif.CanonCs.ExposureProgram", "Exif.MinoltaCs7D.ExposureMode", "Exif.MinoltaCs5D.ExposureMode", "Exif.MinoltaCsNew.ExposureMode", "Exif.MinoltaCsOld.ExposureMode", "Exif.Sony1MltCsA100.ExposureMode", "Exif.Sony1Cs.ExposureProgram", "Exif.Sony2Cs.ExposureProgram", "Exif.Sigma.ExposureMode" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator sceneMode(const ExifData& ed) { static const char* keys[] = { "Exif.CanonCs.EasyMode", "Exif.Fujifilm.PictureMode", "Exif.MinoltaCsNew.SubjectProgram", "Exif.MinoltaCsOld.SubjectProgram", "Exif.Minolta.SceneMode", "Exif.SonyMinolta.SceneMode", "Exif.Sony1.SceneMode", "Exif.Sony2.SceneMode", "Exif.OlympusCs.SceneMode", "Exif.Panasonic.ShootingMode", "Exif.Panasonic.SceneMode", "Exif.Pentax.PictureMode", "Exif.PentaxDng.PictureMode", "Exif.Photo.SceneCaptureType" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator macroMode(const ExifData& ed) { static const char* keys[] = { "Exif.CanonCs.Macro", "Exif.Fujifilm.Macro", "Exif.Olympus.Macro", "Exif.OlympusCs.MacroMode", "Exif.Panasonic.Macro", "Exif.MinoltaCsNew.MacroMode", "Exif.MinoltaCsOld.MacroMode", "Exif.Sony1.Macro", "Exif.Sony2.Macro" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator imageQuality(const ExifData& ed) { static const char* keys[] = { "Exif.CanonCs.Quality", "Exif.Fujifilm.Quality", "Exif.Sigma.Quality", "Exif.Nikon1.Quality", "Exif.Nikon2.Quality", "Exif.Nikon3.Quality", "Exif.Olympus.Quality", "Exif.OlympusCs.Quality", "Exif.Panasonic.Quality", "Exif.Minolta.Quality", "Exif.MinoltaCsNew.Quality", "Exif.MinoltaCsOld.Quality", "Exif.MinoltaCs5D.Quality", "Exif.MinoltaCs7D.Quality", "Exif.Sony1MltCsA100.Quality", "Exif.Sony1.JPEGQuality", "Exif.Sony1.Quality", "Exif.Sony1Cs.Quality", "Exif.Sony2.JPEGQuality", "Exif.Sony2.Quality", "Exif.Sony2Cs.Quality", "Exif.Casio.Quality", "Exif.Casio2.QualityMode", "Exif.Casio2.Quality" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator whiteBalance(const ExifData& ed) { static const char* keys[] = { "Exif.CanonSi.WhiteBalance", "Exif.Fujifilm.WhiteBalance", "Exif.Sigma.WhiteBalance", "Exif.Nikon1.WhiteBalance", "Exif.Nikon2.WhiteBalance", "Exif.Nikon3.WhiteBalance", "Exif.Olympus.WhiteBalance", "Exif.OlympusCs.WhiteBalance", "Exif.Panasonic.WhiteBalance", "Exif.MinoltaCs5D.WhiteBalance", "Exif.MinoltaCs7D.WhiteBalance", "Exif.MinoltaCsNew.WhiteBalance", "Exif.MinoltaCsOld.WhiteBalance", "Exif.Minolta.WhiteBalance", "Exif.Sony1MltCsA100.WhiteBalance", "Exif.SonyMinolta.WhiteBalance", "Exif.Sony1.WhiteBalance", "Exif.Sony2.WhiteBalance", "Exif.Sony1.WhiteBalance2", "Exif.Sony2.WhiteBalance2", "Exif.Casio.WhiteBalance", "Exif.Casio2.WhiteBalance", "Exif.Casio2.WhiteBalance2", "Exif.Photo.WhiteBalance" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator lensName(const ExifData& ed) { static const char* keys[] = { // Exif.Canon.LensModel only reports focal length. // Try Exif.CanonCs.LensType first. "Exif.CanonCs.LensType", "Exif.Photo.LensModel", "Exif.NikonLd1.LensIDNumber", "Exif.NikonLd2.LensIDNumber", "Exif.NikonLd3.LensIDNumber", "Exif.Pentax.LensType", "Exif.PentaxDng.LensType", "Exif.Minolta.LensID", "Exif.SonyMinolta.LensID", "Exif.Sony1.LensID", "Exif.Sony2.LensID", "Exif.OlympusEq.LensType", "Exif.Panasonic.LensType", "Exif.Samsung2.LensType" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator saturation(const ExifData& ed) { static const char* keys[] = { "Exif.Photo.Saturation", "Exif.CanonCs.Saturation", "Exif.MinoltaCsNew.Saturation", "Exif.MinoltaCsOld.Saturation", "Exif.MinoltaCs7D.Saturation", "Exif.MinoltaCs5D.Saturation", "Exif.Fujifilm.Color", "Exif.Nikon3.Saturation", "Exif.Panasonic.Saturation", "Exif.Pentax.Saturation", "Exif.PentaxDng.Saturation", "Exif.Sigma.Saturation", "Exif.Casio.Saturation", "Exif.Casio2.Saturation", "Exif.Casio2.Saturation2" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator sharpness(const ExifData& ed) { static const char* keys[] = { "Exif.Photo.Sharpness", "Exif.CanonCs.Sharpness", "Exif.Fujifilm.Sharpness", "Exif.MinoltaCsNew.Sharpness", "Exif.MinoltaCsOld.Sharpness", "Exif.MinoltaCs7D.Sharpness", "Exif.MinoltaCs5D.Sharpness", "Exif.Olympus.SharpnessFactor", "Exif.Panasonic.Sharpness", "Exif.Pentax.Sharpness", "Exif.PentaxDng.Sharpness", "Exif.Sigma.Sharpness", "Exif.Casio.Sharpness", "Exif.Casio2.Sharpness", "Exif.Casio2.Sharpness2" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator contrast(const ExifData& ed) { static const char* keys[] = { "Exif.Photo.Contrast", "Exif.CanonCs.Contrast", "Exif.Fujifilm.Tone", "Exif.MinoltaCsNew.Contrast", "Exif.MinoltaCsOld.Contrast", "Exif.MinoltaCs7D.Contrast", "Exif.MinoltaCs5D.Contrast", "Exif.Olympus.Contrast", "Exif.Panasonic.Contrast", "Exif.Pentax.Contrast", "Exif.PentaxDng.Contrast", "Exif.Sigma.Contrast", "Exif.Casio.Contrast", "Exif.Casio2.Contrast", "Exif.Casio2.Contrast2" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator sceneCaptureType(const ExifData& ed) { static const char* keys[] = { "Exif.Photo.SceneCaptureType", "Exif.Olympus.SpecialMode" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator meteringMode(const ExifData& ed) { static const char* keys[] = { "Exif.Photo.MeteringMode", "Exif.Image.MeteringMode", "Exif.CanonCs.MeteringMode", "Exif.Sony1MltCsA100.MeteringMode" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator make(const ExifData& ed) { static const char* keys[] = { "Exif.Image.Make" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator model(const ExifData& ed) { static const char* keys[] = { "Exif.Image.Model" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator exposureTime(const ExifData& ed) { static const char* keys[] = { "Exif.Photo.ExposureTime", "Exif.Image.ExposureTime", "Exif.Samsung2.ExposureTime" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator fNumber(const ExifData& ed) { static const char* keys[] = { "Exif.Photo.FNumber", "Exif.Image.FNumber", "Exif.Samsung2.FNumber" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator subjectDistance(const ExifData& ed) { static const char* keys[] = { "Exif.Photo.SubjectDistance", "Exif.Image.SubjectDistance", "Exif.CanonSi.SubjectDistance", "Exif.CanonFi.FocusDistanceUpper", "Exif.CanonFi.FocusDistanceLower", "Exif.MinoltaCsNew.FocusDistance", "Exif.Nikon1.FocusDistance", "Exif.Nikon3.FocusDistance", "Exif.NikonLd2.FocusDistance", "Exif.NikonLd3.FocusDistance", "Exif.Olympus.FocusDistance", "Exif.OlympusFi.FocusDistance", "Exif.Casio.ObjectDistance", "Exif.Casio2.ObjectDistance" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator serialNumber(const ExifData& ed) { static const char* keys[] = { "Exif.Image.CameraSerialNumber", "Exif.Canon.SerialNumber", "Exif.Nikon3.SerialNumber", "Exif.Nikon3.SerialNO", "Exif.Fujifilm.SerialNumber", "Exif.Olympus.SerialNumber2", "Exif.Sigma.SerialNumber" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator focalLength(const ExifData& ed) { static const char* keys[] = { "Exif.Photo.FocalLength", "Exif.Image.FocalLength", "Exif.Canon.FocalLength", "Exif.NikonLd2.FocalLength", "Exif.NikonLd3.FocalLength", "Exif.MinoltaCsNew.FocalLength", "Exif.Pentax.FocalLength", "Exif.PentaxDng.FocalLength", "Exif.Casio2.FocalLength" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } ExifData::const_iterator afPoint(const ExifData& ed) { static const char* keys[] = { "Exif.CanonPi.AFPointsUsed", "Exif.CanonPi.AFPointsUsed20D", "Exif.CanonSi.AFPointUsed", "Exif.CanonCs.AFPoint", "Exif.MinoltaCs7D.AFPoints", "Exif.Nikon1.AFFocusPos", "Exif.NikonAf.AFPoint", "Exif.NikonAf.AFPointsInFocus", "Exif.NikonAf2.AFPointsUsed", "Exif.NikonAf2.PrimaryAFPoint", "Exif.OlympusFi.AFPoint", "Exif.Pentax.AFPoint", "Exif.Pentax.AFPointInFocus", "Exif.PentaxDng.AFPoint", "Exif.PentaxDng.AFPointInFocus", "Exif.Sony1Cs.LocalAFAreaPoint", "Exif.Sony2Cs.LocalAFAreaPoint", "Exif.Sony1Cs2.LocalAFAreaPoint", "Exif.Sony2Cs2.LocalAFAreaPoint", "Exif.Sony1MltCsA100.LocalAFAreaPoint", "Exif.Casio.AFPoint", "Exif.Casio2.AFPointPosition" }; return findMetadatum(ed, keys, EXV_COUNTOF(keys)); } } // namespace Exiv2 exiv2-0.25/src/utils.hpp0000664000175000017500000001410412540430361014751 0ustar andreasandreas// ********************************************************* -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file utils.hpp @brief A collection of utility functions @version $Rev: 3090 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 12-Dec-03, ahu: created */ #ifndef UTILS_HPP_ #define UTILS_HPP_ // ********************************************************************* // included header files #include "futils.hpp" // + standard includes #include // ********************************************************************* // namespace extensions /*! @brief Contains utility classes and functions. Most of these are wrappers for common C functions that do not require pointers and memory considerations. */ namespace Util { // ********************************************************************* // class definitions /*! @brief Parse the command line options of a program. A wrapper around the POSIX %getopt(3) function. Parses the command line options and passes each option to virtual option(). A derived class implements this method to handle options as needed. Similarly, remaining non-option parameters are passed to the virtual nonoption() method. */ class Getopt { public: //! Default constructor. Getopt(); //! Destructor. virtual ~Getopt(); /*! @brief Parse command line arguments. Parses the command line arguments. Calls option() with the character value of the option and its argument (if any) for each recognized option and with ':' or '?' for unrecognized options. See the manual pages for %getopt(3) for details. In addition, nonoption() is invoked for each remaining non-option parameter on the command line. @param argc Argument count as passed to main() on program invocation. @param argv Argument array as passed to main() on program invocation. @param optstring String containing the legitimate option characters. @return Number of errors (the sum of the return values from option() and nonoption()). */ int getopt(int argc, char* const argv[], const std::string& optstring); /*! @brief Callback used by getopt() to pass on each option and its argument (if any). Implement this method in a derived class to handle the options as needed. See the manual pages for %getopt(3) for further details, in particular, the semantics of optarg and optopt. @param opt Value of the option character as returned by %getopt(3). @param optarg The corresponding option argument. @param optopt The actual option character in case of an unrecognized option or a missing option argument (opt is '?' or ':'). @return 0 if successful, 1 in case of an error. */ virtual int option(int opt, const std::string& optarg, int optopt) = 0; /*! @brief Callback used by getopt() to pass on each non-option parameter found on the command line. Implement this method in a derived class to handle the non-option parameters as needed. The default implementation ignores all non-option parameters. @param argv The non-option parameter from the command line. @return 0 if successful, 1 in case of an error. */ virtual int nonoption(const std::string& argv); //! Program name (argv[0]) const std::string& progname() const { return progname_; } //! Total number of errors returned by calls to option() int errcnt() const { return errcnt_; } private: std::string progname_; int errcnt_; }; // ********************************************************************* // free functions /*! @brief Get the directory component from the \em path string. See %dirname(3). This function can handle Windows paths to some extent: c:\\bar should be fine, \\\\bigsrv\\foo also, but \\\\bigsrv alone doesn't work. */ std::string dirname(const std::string& path); /*! @brief Get the filename component from the \em path string. See %basename(3). If the \em delsuffix parameter is true, the suffix will be removed. This function can handle Windows paths to some extent: c:\\bar should be fine, \\\\bigsrv\\foo also, but \\\\bigsrv alone doesn't work. */ std::string basename(const std::string& path, bool delsuffix =false); /*! @brief Get the suffix from the path string. Normally, the suffix is the substring of the basename of path from the last '.' to the end of the string. */ std::string suffix(const std::string& path); /*! @brief Convert a C string to a long value, which is returned in n. Returns true if the conversion is successful, else false. n is not modified if the conversion is unsuccessful. See strtol(2). */ bool strtol(const char* nptr, long& n); /*! @brief Replaces all occurrences of \em searchText in the \em text string by \em replaceText. */ void replace(std::string& text, const std::string& searchText, const std::string& replaceText); } // namespace Util #endif // #ifndef UTILS_HPP_ exiv2-0.25/src/tiffvisitor.cpp0000664000175000017500000015335412535324477016205 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: tiffvisitor.cpp Version: $Rev: 3846 $ Author(s): Andreas Huggel (ahu) History: 11-Apr-06, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: tiffvisitor.cpp 3846 2015-06-08 14:39:59Z ahuggel $") // included header files #include "config.h" #include "tiffcomposite_int.hpp" // Do not change the order of these 2 includes, #include "tiffvisitor_int.hpp" // see bug #487 #include "tiffimage_int.hpp" #include "makernote_int.hpp" #include "exif.hpp" #include "iptc.hpp" #include "value.hpp" #include "image.hpp" #include "jpgimage.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include #include // ***************************************************************************** namespace { //! Unary predicate that matches an Exifdatum with a given group and index. class FindExifdatum2 { public: //! Constructor, initializes the object with the group and index to look for. FindExifdatum2(Exiv2::Internal::IfdId group, int idx) : groupName_(Exiv2::Internal::groupName(group)), idx_(idx) {} //! Returns true if group and index match. bool operator()(const Exiv2::Exifdatum& md) const { return idx_ == md.idx() && 0 == strcmp(md.groupName().c_str(), groupName_); } private: const char* groupName_; int idx_; }; // class FindExifdatum2 Exiv2::ByteOrder stringToByteOrder(const std::string& val) { Exiv2::ByteOrder bo = Exiv2::invalidByteOrder; if (0 == strcmp("II", val.c_str())) bo = Exiv2::littleEndian; else if (0 == strcmp("MM", val.c_str())) bo = Exiv2::bigEndian; return bo; } } // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { TiffVisitor::TiffVisitor() { for (int i = 0; i < events_; ++i) { go_[i] = true; } } TiffVisitor::~TiffVisitor() { } void TiffVisitor::setGo(GoEvent event, bool go) { assert(event >= 0 && static_cast(event) < events_); go_[event] = go; } bool TiffVisitor::go(GoEvent event) const { assert(event >= 0 && static_cast(event) < events_); return go_[event]; } void TiffVisitor::visitDirectoryNext(TiffDirectory* /*object*/) { } void TiffVisitor::visitDirectoryEnd(TiffDirectory* /*object*/) { } void TiffVisitor::visitIfdMakernoteEnd(TiffIfdMakernote* /*object*/) { } void TiffVisitor::visitBinaryArrayEnd(TiffBinaryArray* /*object*/) { } void TiffFinder::init(uint16_t tag, IfdId group) { tag_ = tag; group_ = group; tiffComponent_ = 0; setGo(geTraverse, true); } TiffFinder::~TiffFinder() { } void TiffFinder::findObject(TiffComponent* object) { if (object->tag() == tag_ && object->group() == group_) { tiffComponent_ = object; setGo(geTraverse, false); } } void TiffFinder::visitEntry(TiffEntry* object) { findObject(object); } void TiffFinder::visitDataEntry(TiffDataEntry* object) { findObject(object); } void TiffFinder::visitImageEntry(TiffImageEntry* object) { findObject(object); } void TiffFinder::visitSizeEntry(TiffSizeEntry* object) { findObject(object); } void TiffFinder::visitDirectory(TiffDirectory* object) { findObject(object); } void TiffFinder::visitSubIfd(TiffSubIfd* object) { findObject(object); } void TiffFinder::visitMnEntry(TiffMnEntry* object) { findObject(object); } void TiffFinder::visitIfdMakernote(TiffIfdMakernote* object) { findObject(object); } void TiffFinder::visitBinaryArray(TiffBinaryArray* object) { findObject(object); } void TiffFinder::visitBinaryElement(TiffBinaryElement* object) { findObject(object); } TiffCopier::TiffCopier( TiffComponent* pRoot, uint32_t root, const TiffHeaderBase* pHeader, const PrimaryGroups* pPrimaryGroups) : pRoot_(pRoot), root_(root), pHeader_(pHeader), pPrimaryGroups_(pPrimaryGroups) { assert(pRoot_ != 0); assert(pHeader_ != 0); assert(pPrimaryGroups_ != 0); } TiffCopier::~TiffCopier() { } void TiffCopier::copyObject(TiffComponent* object) { assert(object != 0); if (pHeader_->isImageTag(object->tag(), object->group(), pPrimaryGroups_)) { TiffComponent::AutoPtr clone = object->clone(); // Assumption is that the corresponding TIFF entry doesn't exist TiffPath tiffPath; TiffCreator::getPath(tiffPath, object->tag(), object->group(), root_); pRoot_->addPath(object->tag(), tiffPath, pRoot_, clone); #ifdef DEBUG ExifKey key(object->tag(), groupName(object->group())); std::cerr << "Copied " << key << "\n"; #endif } } void TiffCopier::visitEntry(TiffEntry* object) { copyObject(object); } void TiffCopier::visitDataEntry(TiffDataEntry* object) { copyObject(object); } void TiffCopier::visitImageEntry(TiffImageEntry* object) { copyObject(object); } void TiffCopier::visitSizeEntry(TiffSizeEntry* object) { copyObject(object); } void TiffCopier::visitDirectory(TiffDirectory* /*object*/) { // Do not copy directories (avoids problems with SubIfds) } void TiffCopier::visitSubIfd(TiffSubIfd* object) { copyObject(object); } void TiffCopier::visitMnEntry(TiffMnEntry* object) { copyObject(object); } void TiffCopier::visitIfdMakernote(TiffIfdMakernote* object) { copyObject(object); } void TiffCopier::visitBinaryArray(TiffBinaryArray* object) { copyObject(object); } void TiffCopier::visitBinaryElement(TiffBinaryElement* object) { copyObject(object); } TiffDecoder::TiffDecoder( ExifData& exifData, IptcData& iptcData, XmpData& xmpData, TiffComponent* const pRoot, FindDecoderFct findDecoderFct ) : exifData_(exifData), iptcData_(iptcData), xmpData_(xmpData), pRoot_(pRoot), findDecoderFct_(findDecoderFct), decodedIptc_(false) { assert(pRoot != 0); exifData_.clear(); iptcData_.clear(); xmpData_.clear(); // Find camera make TiffFinder finder(0x010f, ifd0Id); pRoot_->accept(finder); TiffEntryBase* te = dynamic_cast(finder.result()); if (te && te->pValue()) { make_ = te->pValue()->toString(); } } TiffDecoder::~TiffDecoder() { } void TiffDecoder::visitEntry(TiffEntry* object) { decodeTiffEntry(object); } void TiffDecoder::visitDataEntry(TiffDataEntry* object) { decodeTiffEntry(object); } void TiffDecoder::visitImageEntry(TiffImageEntry* object) { decodeTiffEntry(object); } void TiffDecoder::visitSizeEntry(TiffSizeEntry* object) { decodeTiffEntry(object); } void TiffDecoder::visitDirectory(TiffDirectory* /*object*/) { // Nothing to do } void TiffDecoder::visitSubIfd(TiffSubIfd* object) { decodeTiffEntry(object); } void TiffDecoder::visitMnEntry(TiffMnEntry* object) { // Always decode binary makernote tag decodeTiffEntry(object); } void TiffDecoder::visitIfdMakernote(TiffIfdMakernote* object) { assert(object != 0); exifData_["Exif.MakerNote.Offset"] = object->mnOffset(); switch (object->byteOrder()) { case littleEndian: exifData_["Exif.MakerNote.ByteOrder"] = "II"; break; case bigEndian: exifData_["Exif.MakerNote.ByteOrder"] = "MM"; break; case invalidByteOrder: assert(object->byteOrder() != invalidByteOrder); break; } } void TiffDecoder::getObjData(byte const*& pData, long& size, uint16_t tag, IfdId group, const TiffEntryBase* object) { if (object && object->tag() == tag && object->group() == group) { pData = object->pData(); size = object->size(); return; } TiffFinder finder(tag, group); pRoot_->accept(finder); TiffEntryBase const* te = dynamic_cast(finder.result()); if (te) { pData = te->pData(); size = te->size(); return; } } void TiffDecoder::decodeXmp(const TiffEntryBase* object) { // add Exif tag anyway decodeStdTiffEntry(object); byte const* pData = 0; long size = 0; getObjData(pData, size, 0x02bc, ifd0Id, object); if (pData) { std::string xmpPacket; xmpPacket.assign(reinterpret_cast(pData), size); std::string::size_type idx = xmpPacket.find_first_of('<'); if (idx != std::string::npos && idx > 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Removing " << static_cast(idx) << " characters from the beginning of the XMP packet\n"; #endif xmpPacket = xmpPacket.substr(idx); } if (XmpParser::decode(xmpData_, xmpPacket)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode XMP metadata.\n"; #endif } } } // TiffDecoder::decodeXmp void TiffDecoder::decodeIptc(const TiffEntryBase* object) { // add Exif tag anyway decodeStdTiffEntry(object); // All tags are read at this point, so the first time we come here, // find the relevant IPTC tag and decode IPTC if found if (decodedIptc_) { return; } decodedIptc_ = true; // 1st choice: IPTCNAA byte const* pData = 0; long size = 0; getObjData(pData, size, 0x83bb, ifd0Id, object); if (pData) { if (0 == IptcParser::decode(iptcData_, pData, size)) { return; } #ifndef SUPPRESS_WARNINGS else { EXV_WARNING << "Failed to decode IPTC block found in " << "Directory Image, entry 0x83bb\n"; } #endif } // 2nd choice if no IPTCNAA record found or failed to decode it: // ImageResources pData = 0; size = 0; getObjData(pData, size, 0x8649, ifd0Id, object); if (pData) { byte const* record = 0; uint32_t sizeHdr = 0; uint32_t sizeData = 0; if (0 != Photoshop::locateIptcIrb(pData, size, &record, &sizeHdr, &sizeData)) { return; } if (0 == IptcParser::decode(iptcData_, record + sizeHdr, sizeData)) { return; } #ifndef SUPPRESS_WARNINGS else { EXV_WARNING << "Failed to decode IPTC block found in " << "Directory Image, entry 0x8649\n"; } #endif } } // TiffMetadataDecoder::decodeIptc void TiffDecoder::decodeTiffEntry(const TiffEntryBase* object) { assert(object != 0); // Don't decode the entry if value is not set if (!object->pValue()) return; const DecoderFct decoderFct = findDecoderFct_(make_, object->tag(), object->group()); // skip decoding if decoderFct == 0 if (decoderFct) { EXV_CALL_MEMBER_FN(*this, decoderFct)(object); } } // TiffDecoder::decodeTiffEntry void TiffDecoder::decodeStdTiffEntry(const TiffEntryBase* object) { assert(object != 0); ExifKey key(object->tag(), groupName(object->group())); key.setIdx(object->idx()); exifData_.add(key, object->pValue()); } // TiffDecoder::decodeTiffEntry void TiffDecoder::visitBinaryArray(TiffBinaryArray* object) { if (object->cfg() == 0 || !object->decoded()) { decodeTiffEntry(object); } } void TiffDecoder::visitBinaryElement(TiffBinaryElement* object) { decodeTiffEntry(object); } TiffEncoder::TiffEncoder( const ExifData& exifData, const IptcData& iptcData, const XmpData& xmpData, TiffComponent* pRoot, const bool isNewImage, const PrimaryGroups* pPrimaryGroups, const TiffHeaderBase* pHeader, FindEncoderFct findEncoderFct ) : exifData_(exifData), iptcData_(iptcData), xmpData_(xmpData), del_(true), pHeader_(pHeader), pRoot_(pRoot), isNewImage_(isNewImage), pPrimaryGroups_(pPrimaryGroups), pSourceTree_(0), findEncoderFct_(findEncoderFct), dirty_(false), writeMethod_(wmNonIntrusive) { assert(pRoot != 0); assert(pPrimaryGroups != 0); assert(pHeader != 0); byteOrder_ = pHeader->byteOrder(); origByteOrder_ = byteOrder_; encodeIptc(); encodeXmp(); // Find camera make ExifKey key("Exif.Image.Make"); ExifData::const_iterator pos = exifData_.findKey(key); if (pos != exifData_.end()) { make_ = pos->toString(); } if (make_.empty() && pRoot_) { TiffFinder finder(0x010f, ifd0Id); pRoot_->accept(finder); TiffEntryBase* te = dynamic_cast(finder.result()); if (te && te->pValue()) { make_ = te->pValue()->toString(); } } } TiffEncoder::~TiffEncoder() { } void TiffEncoder::encodeIptc() { // Update IPTCNAA Exif tag, if it exists. Delete the tag if there // is no IPTC data anymore. // If there is new IPTC data and Exif.Image.ImageResources does // not exist, create a new IPTCNAA Exif tag. bool del = false; ExifKey iptcNaaKey("Exif.Image.IPTCNAA"); ExifData::iterator pos = exifData_.findKey(iptcNaaKey); if (pos != exifData_.end()) { iptcNaaKey.setIdx(pos->idx()); exifData_.erase(pos); del = true; } DataBuf rawIptc = IptcParser::encode(iptcData_); ExifKey irbKey("Exif.Image.ImageResources"); pos = exifData_.findKey(irbKey); if (pos != exifData_.end()) { irbKey.setIdx(pos->idx()); } if (rawIptc.size_ != 0 && (del || pos == exifData_.end())) { Value::AutoPtr value = Value::create(unsignedLong); DataBuf buf; if (rawIptc.size_ % 4 != 0) { // Pad the last unsignedLong value with 0s buf.alloc((rawIptc.size_ / 4) * 4 + 4); memset(buf.pData_, 0x0, buf.size_); memcpy(buf.pData_, rawIptc.pData_, rawIptc.size_); } else { buf = rawIptc; // Note: This resets rawIptc } value->read(buf.pData_, buf.size_, byteOrder_); Exifdatum iptcDatum(iptcNaaKey, value.get()); exifData_.add(iptcDatum); pos = exifData_.findKey(irbKey); // needed after add() } // Also update IPTC IRB in Exif.Image.ImageResources if it exists, // but don't create it if not. if (pos != exifData_.end()) { DataBuf irbBuf(pos->value().size()); pos->value().copy(irbBuf.pData_, invalidByteOrder); irbBuf = Photoshop::setIptcIrb(irbBuf.pData_, irbBuf.size_, iptcData_); exifData_.erase(pos); if (irbBuf.size_ != 0) { Value::AutoPtr value = Value::create(unsignedByte); value->read(irbBuf.pData_, irbBuf.size_, invalidByteOrder); Exifdatum iptcDatum(irbKey, value.get()); exifData_.add(iptcDatum); } } } // TiffEncoder::encodeIptc void TiffEncoder::encodeXmp() { #ifdef EXV_HAVE_XMP_TOOLKIT ExifKey xmpKey("Exif.Image.XMLPacket"); // Remove any existing XMP Exif tag ExifData::iterator pos = exifData_.findKey(xmpKey); if (pos != exifData_.end()) { xmpKey.setIdx(pos->idx()); exifData_.erase(pos); } std::string xmpPacket; if (XmpParser::encode(xmpPacket, xmpData_) > 1) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Failed to encode XMP metadata.\n"; #endif } if (!xmpPacket.empty()) { // Set the XMP Exif tag to the new value Value::AutoPtr value = Value::create(unsignedByte); value->read(reinterpret_cast(&xmpPacket[0]), static_cast(xmpPacket.size()), invalidByteOrder); Exifdatum xmpDatum(xmpKey, value.get()); exifData_.add(xmpDatum); } #endif } // TiffEncoder::encodeXmp void TiffEncoder::setDirty(bool flag) { dirty_ = flag; setGo(geTraverse, !flag); } bool TiffEncoder::dirty() const { if (dirty_ || exifData_.count() > 0) return true; return false; } void TiffEncoder::visitEntry(TiffEntry* object) { encodeTiffComponent(object); } void TiffEncoder::visitDataEntry(TiffDataEntry* object) { encodeTiffComponent(object); } void TiffEncoder::visitImageEntry(TiffImageEntry* object) { encodeTiffComponent(object); } void TiffEncoder::visitSizeEntry(TiffSizeEntry* object) { encodeTiffComponent(object); } void TiffEncoder::visitDirectory(TiffDirectory* /*object*/) { // Nothing to do } void TiffEncoder::visitDirectoryNext(TiffDirectory* object) { // Update type and count in IFD entries, in case they changed assert(object != 0); byte* p = object->start() + 2; for (TiffDirectory::Components::iterator i = object->components_.begin(); i != object->components_.end(); ++i) { p += updateDirEntry(p, byteOrder(), *i); } } uint32_t TiffEncoder::updateDirEntry(byte* buf, ByteOrder byteOrder, TiffComponent* pTiffComponent) const { assert(buf); assert(pTiffComponent); TiffEntryBase* pTiffEntry = dynamic_cast(pTiffComponent); assert(pTiffEntry); us2Data(buf + 2, pTiffEntry->tiffType(), byteOrder); ul2Data(buf + 4, pTiffEntry->count(), byteOrder); // Move data to offset field, if it fits and is not yet there. if (pTiffEntry->size() <= 4 && buf + 8 != pTiffEntry->pData()) { #ifdef DEBUG std::cerr << "Copying data for tag " << pTiffEntry->tag() << " to offset area.\n"; #endif memset(buf + 8, 0x0, 4); memcpy(buf + 8, pTiffEntry->pData(), pTiffEntry->size()); memset(const_cast(pTiffEntry->pData()), 0x0, pTiffEntry->size()); } return 12; } void TiffEncoder::visitSubIfd(TiffSubIfd* object) { encodeTiffComponent(object); } void TiffEncoder::visitMnEntry(TiffMnEntry* object) { // Test is required here as well as in the callback encoder function if (!object->mn_) { encodeTiffComponent(object); } else if (del_) { // The makernote is made up of decoded tags, delete binary tag ExifKey key(object->tag(), groupName(object->group())); ExifData::iterator pos = exifData_.findKey(key); if (pos != exifData_.end()) exifData_.erase(pos); } } void TiffEncoder::visitIfdMakernote(TiffIfdMakernote* object) { assert(object != 0); ExifData::iterator pos = exifData_.findKey(ExifKey("Exif.MakerNote.ByteOrder")); if (pos != exifData_.end()) { // Set Makernote byte order ByteOrder bo = stringToByteOrder(pos->toString()); if (bo != invalidByteOrder && bo != object->byteOrder()) { object->setByteOrder(bo); setDirty(); } if (del_) exifData_.erase(pos); } if (del_) { // Remove remaining synthesized tags static const char* synthesizedTags[] = { "Exif.MakerNote.Offset", }; for (unsigned int i = 0; i < EXV_COUNTOF(synthesizedTags); ++i) { ExifData::iterator pos = exifData_.findKey(ExifKey(synthesizedTags[i])); if (pos != exifData_.end()) exifData_.erase(pos); } } // Modify encoder for Makernote peculiarities, byte order byteOrder_ = object->byteOrder(); } // TiffEncoder::visitIfdMakernote void TiffEncoder::visitIfdMakernoteEnd(TiffIfdMakernote* /*object*/) { // Reset byte order back to that from the c'tor byteOrder_ = origByteOrder_; } // TiffEncoder::visitIfdMakernoteEnd void TiffEncoder::visitBinaryArray(TiffBinaryArray* object) { if (object->cfg() == 0 || !object->decoded()) { encodeTiffComponent(object); } } void TiffEncoder::visitBinaryArrayEnd(TiffBinaryArray* object) { assert(object != 0); if (object->cfg() == 0 || !object->decoded()) return; int32_t size = object->TiffEntryBase::doSize(); if (size == 0) return; if (!object->initialize(pRoot_)) return; // Re-encrypt buffer if necessary const CryptFct cryptFct = object->cfg()->cryptFct_; if (cryptFct != 0) { const byte* pData = object->pData(); DataBuf buf = cryptFct(object->tag(), pData, size, pRoot_); if (buf.size_ > 0) { pData = buf.pData_; size = buf.size_; } if (!object->updOrigDataBuf(pData, size)) { setDirty(); } } } void TiffEncoder::visitBinaryElement(TiffBinaryElement* object) { // Temporarily overwrite byteorder according to that of the binary element ByteOrder boOrig = byteOrder_; if (object->elByteOrder() != invalidByteOrder) byteOrder_ = object->elByteOrder(); encodeTiffComponent(object); byteOrder_ = boOrig; } bool TiffEncoder::isImageTag(uint16_t tag, IfdId group) const { if (!isNewImage_ && pHeader_->isImageTag(tag, group, pPrimaryGroups_)) { return true; } return false; } void TiffEncoder::encodeTiffComponent( TiffEntryBase* object, const Exifdatum* datum ) { assert(object != 0); ExifData::iterator pos = exifData_.end(); const Exifdatum* ed = datum; if (ed == 0) { // Non-intrusive writing: find matching tag ExifKey key(object->tag(), groupName(object->group())); pos = exifData_.findKey(key); if (pos != exifData_.end()) { ed = &(*pos); if (object->idx() != pos->idx()) { // Try to find exact match (in case of duplicate tags) ExifData::iterator pos2 = std::find_if(exifData_.begin(), exifData_.end(), FindExifdatum2(object->group(), object->idx())); if (pos2 != exifData_.end() && pos2->key() == key.key()) { ed = &(*pos2); pos = pos2; // make sure we delete the correct tag below } } } else { setDirty(); #ifdef DEBUG std::cerr << "DELETING " << key << ", idx = " << object->idx() << "\n"; #endif } } else { // For intrusive writing, the index is used to preserve the order of // duplicate tags object->idx_ = ed->idx(); } // Skip encoding image tags of existing TIFF image - they were copied earlier - // but encode image tags of new images (creation) if (ed && !isImageTag(object->tag(), object->group())) { const EncoderFct fct = findEncoderFct_(make_, object->tag(), object->group()); if (fct) { // If an encoding function is registered for the tag, use it EXV_CALL_MEMBER_FN(*this, fct)(object, ed); } else { // Else use the encode function at the object (results in a double-dispatch // to the appropriate encoding function of the encoder. object->encode(*this, ed); } } if (del_ && pos != exifData_.end()) { exifData_.erase(pos); } #ifdef DEBUG std::cerr << "\n"; #endif } // TiffEncoder::encodeTiffComponent void TiffEncoder::encodeBinaryArray(TiffBinaryArray* object, const Exifdatum* datum) { encodeOffsetEntry(object, datum); } // TiffEncoder::encodeBinaryArray void TiffEncoder::encodeBinaryElement(TiffBinaryElement* object, const Exifdatum* datum) { encodeTiffEntryBase(object, datum); } // TiffEncoder::encodeArrayElement void TiffEncoder::encodeDataEntry(TiffDataEntry* object, const Exifdatum* datum) { encodeOffsetEntry(object, datum); if (!dirty_ && writeMethod() == wmNonIntrusive) { assert(object); assert(object->pValue()); if ( object->sizeDataArea_ < static_cast(object->pValue()->sizeDataArea())) { #ifdef DEBUG ExifKey key(object->tag(), groupName(object->group())); std::cerr << "DATAAREA GREW " << key << "\n"; #endif setDirty(); } else { // Write the new dataarea, fill with 0x0 #ifdef DEBUG ExifKey key(object->tag(), groupName(object->group())); std::cerr << "Writing data area for " << key << "\n"; #endif DataBuf buf = object->pValue()->dataArea(); memcpy(object->pDataArea_, buf.pData_, buf.size_); if (object->sizeDataArea_ - buf.size_ > 0) { memset(object->pDataArea_ + buf.size_, 0x0, object->sizeDataArea_ - buf.size_); } } } } // TiffEncoder::encodeDataEntry void TiffEncoder::encodeTiffEntry(TiffEntry* object, const Exifdatum* datum) { encodeTiffEntryBase(object, datum); } // TiffEncoder::encodeTiffEntry void TiffEncoder::encodeImageEntry(TiffImageEntry* object, const Exifdatum* datum) { encodeOffsetEntry(object, datum); uint32_t sizeDataArea = object->pValue()->sizeDataArea(); if (sizeDataArea > 0 && writeMethod() == wmNonIntrusive) { #ifdef DEBUG std::cerr << "\t DATAAREA IS SET (NON-INTRUSIVE WRITING)"; #endif setDirty(); } if (sizeDataArea > 0 && writeMethod() == wmIntrusive) { #ifdef DEBUG std::cerr << "\t DATAAREA IS SET (INTRUSIVE WRITING)"; #endif // Set pseudo strips (without a data pointer) from the size tag ExifKey key(object->szTag(), groupName(object->szGroup())); ExifData::const_iterator pos = exifData_.findKey(key); const byte* zero = 0; if (pos == exifData_.end()) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Size tag " << key << " not found. Writing only one strip.\n"; #endif object->strips_.clear(); object->strips_.push_back(std::make_pair(zero, sizeDataArea)); } else { uint32_t sizeTotal = 0; object->strips_.clear(); for (long i = 0; i < pos->count(); ++i) { uint32_t len = pos->toLong(i); object->strips_.push_back(std::make_pair(zero, len)); sizeTotal += len; } if (sizeTotal != sizeDataArea) { #ifndef SUPPRESS_WARNINGS ExifKey key2(object->tag(), groupName(object->group())); EXV_ERROR << "Sum of all sizes of " << key << " != data size of " << key2 << ". " << "This results in an invalid image.\n"; #endif // Todo: How to fix? Write only one strip? } } } if (sizeDataArea == 0 && writeMethod() == wmIntrusive) { #ifdef DEBUG std::cerr << "\t USE STRIPS FROM SOURCE TREE IMAGE ENTRY"; #endif // Set strips from source tree if (pSourceTree_) { TiffFinder finder(object->tag(), object->group()); pSourceTree_->accept(finder); TiffImageEntry* ti = dynamic_cast(finder.result()); if (ti) { object->strips_ = ti->strips_; } } #ifndef SUPPRESS_WARNINGS else { ExifKey key2(object->tag(), groupName(object->group())); EXV_WARNING << "No image data to encode " << key2 << ".\n"; } #endif } } // TiffEncoder::encodeImageEntry void TiffEncoder::encodeMnEntry(TiffMnEntry* object, const Exifdatum* datum) { // Test is required here as well as in the visit function if (!object->mn_) encodeTiffEntryBase(object, datum); } // TiffEncoder::encodeMnEntry void TiffEncoder::encodeSizeEntry(TiffSizeEntry* object, const Exifdatum* datum) { encodeTiffEntryBase(object, datum); } // TiffEncoder::encodeSizeEntry void TiffEncoder::encodeSubIfd(TiffSubIfd* object, const Exifdatum* datum) { encodeOffsetEntry(object, datum); } // TiffEncoder::encodeSubIfd void TiffEncoder::encodeTiffEntryBase(TiffEntryBase* object, const Exifdatum* datum) { assert(object != 0); assert(datum != 0); #ifdef DEBUG bool tooLarge = false; #endif uint32_t newSize = datum->size(); if (newSize > object->size_) { // value doesn't fit, encode for intrusive writing setDirty(); #ifdef DEBUG tooLarge = true; #endif } object->updateValue(datum->getValue(), byteOrder()); // clones the value #ifdef DEBUG ExifKey key(object->tag(), groupName(object->group())); std::cerr << "UPDATING DATA " << key; if (tooLarge) { std::cerr << "\t\t\t ALLOCATED " << std::dec << object->size_ << " BYTES"; } #endif } // TiffEncoder::encodeTiffEntryBase void TiffEncoder::encodeOffsetEntry(TiffEntryBase* object, const Exifdatum* datum) { assert(object != 0); assert(datum != 0); uint32_t newSize = datum->size(); if (newSize > object->size_) { // value doesn't fit, encode for intrusive writing setDirty(); object->updateValue(datum->getValue(), byteOrder()); // clones the value #ifdef DEBUG ExifKey key(object->tag(), groupName(object->group())); std::cerr << "UPDATING DATA " << key; std::cerr << "\t\t\t ALLOCATED " << object->size() << " BYTES"; #endif } else { object->setValue(datum->getValue()); // clones the value #ifdef DEBUG ExifKey key(object->tag(), groupName(object->group())); std::cerr << "NOT UPDATING " << key; std::cerr << "\t\t\t PRESERVE VALUE DATA"; #endif } } // TiffEncoder::encodeOffsetEntry void TiffEncoder::add( TiffComponent* pRootDir, TiffComponent* pSourceDir, uint32_t root ) { assert(pRootDir != 0); writeMethod_ = wmIntrusive; pSourceTree_ = pSourceDir; // Ensure that the exifData_ entries are not deleted, to be able to // iterate over all remaining entries. del_ = false; ExifData::const_iterator posBo = exifData_.end(); for (ExifData::const_iterator i = exifData_.begin(); i != exifData_.end(); ++i) { IfdId group = groupId(i->groupName()); // Skip synthesized info tags if (group == mnId) { if (i->tag() == 0x0002) { posBo = i; } continue; } // Skip image tags of existing TIFF image - they were copied earlier - // but add and encode image tags of new images (creation) if (isImageTag(i->tag(), group)) continue; // Assumption is that the corresponding TIFF entry doesn't exist TiffPath tiffPath; TiffCreator::getPath(tiffPath, i->tag(), group, root); TiffComponent* tc = pRootDir->addPath(i->tag(), tiffPath, pRootDir); TiffEntryBase* object = dynamic_cast(tc); #ifdef DEBUG if (object == 0) { std::cerr << "Warning: addPath() didn't add an entry for " << i->groupName() << " tag 0x" << std::setw(4) << std::setfill('0') << std::hex << i->tag() << "\n"; } #endif if (object != 0) { encodeTiffComponent(object, &(*i)); } } /* What follows is a hack. I can't think of a better way to set the makernote byte order (and other properties maybe) in the makernote header during intrusive writing. The thing is that visit/encodeIfdMakernote is not called in this case and there can't be an Exif tag which corresponds to this component. */ if (posBo == exifData_.end()) return; TiffFinder finder(0x927c, exifId); pRootDir->accept(finder); TiffMnEntry* te = dynamic_cast(finder.result()); if (te) { TiffIfdMakernote* tim = dynamic_cast(te->mn_); if (tim) { // Set Makernote byte order ByteOrder bo = stringToByteOrder(posBo->toString()); if (bo != invalidByteOrder) tim->setByteOrder(bo); } } } // TiffEncoder::add TiffReader::TiffReader(const byte* pData, uint32_t size, TiffComponent* pRoot, TiffRwState state) : pData_(pData), size_(size), pLast_(pData + size), pRoot_(pRoot), origState_(state), mnState_(state), postProc_(false) { pState_ = &origState_; assert(pData_); assert(size_ > 0); } // TiffReader::TiffReader TiffReader::~TiffReader() { } void TiffReader::setOrigState() { pState_ = &origState_; } void TiffReader::setMnState(const TiffRwState* state) { if (state != 0) { // invalidByteOrder indicates 'no change' if (state->byteOrder() == invalidByteOrder) { mnState_ = TiffRwState(origState_.byteOrder(), state->baseOffset()); } else { mnState_ = *state; } } pState_ = &mnState_; } ByteOrder TiffReader::byteOrder() const { assert(pState_); return pState_->byteOrder(); } uint32_t TiffReader::baseOffset() const { assert(pState_); return pState_->baseOffset(); } void TiffReader::readDataEntryBase(TiffDataEntryBase* object) { assert(object != 0); readTiffEntry(object); TiffFinder finder(object->szTag(), object->szGroup()); pRoot_->accept(finder); TiffEntryBase* te = dynamic_cast(finder.result()); if (te && te->pValue()) { object->setStrips(te->pValue(), pData_, size_, baseOffset()); } } void TiffReader::visitEntry(TiffEntry* object) { readTiffEntry(object); } void TiffReader::visitDataEntry(TiffDataEntry* object) { readDataEntryBase(object); } void TiffReader::visitImageEntry(TiffImageEntry* object) { readDataEntryBase(object); } void TiffReader::visitSizeEntry(TiffSizeEntry* object) { assert(object != 0); readTiffEntry(object); TiffFinder finder(object->dtTag(), object->dtGroup()); pRoot_->accept(finder); TiffDataEntryBase* te = dynamic_cast(finder.result()); if (te && te->pValue()) { te->setStrips(object->pValue(), pData_, size_, baseOffset()); } } bool TiffReader::circularReference(const byte* start, IfdId group) { DirList::const_iterator pos = dirList_.find(start); if (pos != dirList_.end()) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << groupName(group) << " pointer references previously read " << groupName(pos->second) << " directory. Ignored.\n"; #endif return true; } dirList_[start] = group; return false; } int TiffReader::nextIdx(IfdId group) { return ++idxSeq_[group]; } void TiffReader::postProcess() { setMnState(); // All components to be post-processed must be from the Makernote postProc_ = true; for (PostList::const_iterator pos = postList_.begin(); pos != postList_.end(); ++pos) { (*pos)->accept(*this); } postProc_ = false; setOrigState(); } void TiffReader::visitDirectory(TiffDirectory* object) { assert(object != 0); const byte* p = object->start(); assert(p >= pData_); if (circularReference(object->start(), object->group())) return; if (p + 2 > pLast_) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Directory " << groupName(object->group()) << ": IFD exceeds data buffer, cannot read entry count.\n"; #endif return; } const uint16_t n = getUShort(p, byteOrder()); p += 2; // Sanity check with an "unreasonably" large number if (n > 256) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Directory " << groupName(object->group()) << " with " << n << " entries considered invalid; not read.\n"; #endif return; } for (uint16_t i = 0; i < n; ++i) { if (p + 12 > pLast_) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Directory " << groupName(object->group()) << ": IFD entry " << i << " lies outside of the data buffer.\n"; #endif return; } uint16_t tag = getUShort(p, byteOrder()); TiffComponent::AutoPtr tc = TiffCreator::create(tag, object->group()); // The assertion typically fails if a component is not configured in // the TIFF structure table assert(tc.get()); tc->setStart(p); object->addChild(tc); p += 12; } if (object->hasNext()) { if (p + 4 > pLast_) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Directory " << groupName(object->group()) << ": IFD exceeds data buffer, cannot read next pointer.\n"; #endif return; } TiffComponent::AutoPtr tc(0); uint32_t next = getLong(p, byteOrder()); if (next) { tc = TiffCreator::create(Tag::next, object->group()); #ifndef SUPPRESS_WARNINGS if (tc.get() == 0) { EXV_WARNING << "Directory " << groupName(object->group()) << " has an unhandled next pointer.\n"; } #endif } if (tc.get()) { if (baseOffset() + next > size_) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Directory " << groupName(object->group()) << ": Next pointer is out of bounds; ignored.\n"; #endif return; } tc->setStart(pData_ + baseOffset() + next); object->addNext(tc); } } // object->hasNext() } // TiffReader::visitDirectory void TiffReader::visitSubIfd(TiffSubIfd* object) { assert(object != 0); readTiffEntry(object); if ( (object->tiffType() == ttUnsignedLong || object->tiffType() == ttSignedLong || object->tiffType() == ttTiffIfd) && object->count() >= 1) { // Todo: Fix hack uint32_t maxi = 9; if (object->group() == ifd1Id) maxi = 1; for (uint32_t i = 0; i < object->count(); ++i) { int32_t offset = getLong(object->pData() + 4*i, byteOrder()); if ( baseOffset() + offset > size_ || static_cast(baseOffset()) + offset < 0) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Directory " << groupName(object->group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << object->tag() << " Sub-IFD pointer " << i << " is out of bounds; ignoring it.\n"; #endif return; } if (i >= maxi) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Directory " << groupName(object->group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << object->tag() << ": Skipping sub-IFDs beyond the first " << i << ".\n"; #endif break; } // If there are multiple dirs, group is incremented for each TiffComponent::AutoPtr td(new TiffDirectory(object->tag(), static_cast(object->newGroup_ + i))); td->setStart(pData_ + baseOffset() + offset); object->addChild(td); } } #ifndef SUPPRESS_WARNINGS else { EXV_WARNING << "Directory " << groupName(object->group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << object->tag() << " doesn't look like a sub-IFD.\n"; } #endif } // TiffReader::visitSubIfd void TiffReader::visitMnEntry(TiffMnEntry* object) { assert(object != 0); readTiffEntry(object); // Find camera make TiffFinder finder(0x010f, ifd0Id); pRoot_->accept(finder); TiffEntryBase* te = dynamic_cast(finder.result()); std::string make; if (te && te->pValue()) { make = te->pValue()->toString(); // create concrete makernote, based on make and makernote contents object->mn_ = TiffMnCreator::create(object->tag(), object->mnGroup_, make, object->pData_, object->size_, byteOrder()); } if (object->mn_) object->mn_->setStart(object->pData()); } // TiffReader::visitMnEntry void TiffReader::visitIfdMakernote(TiffIfdMakernote* object) { assert(object != 0); object->setImageByteOrder(byteOrder()); // set the byte order for the image if (!object->readHeader(object->start(), static_cast(pLast_ - object->start()), byteOrder())) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Failed to read " << groupName(object->ifd_.group()) << " IFD Makernote header.\n"; #ifdef DEBUG if (static_cast(pLast_ - object->start()) >= 16) { hexdump(std::cerr, object->start(), 16); } #endif // DEBUG #endif // SUPPRESS_WARNINGS setGo(geKnownMakernote, false); return; } object->ifd_.setStart(object->start() + object->ifdOffset()); // Modify reader for Makernote peculiarities, byte order and offset object->mnOffset_ = static_cast(object->start() - pData_); TiffRwState state(object->byteOrder(), object->baseOffset()); setMnState(&state); } // TiffReader::visitIfdMakernote void TiffReader::visitIfdMakernoteEnd(TiffIfdMakernote* /*object*/) { // Reset state (byte order, create function, offset) back to that for the image setOrigState(); } // TiffReader::visitIfdMakernoteEnd void TiffReader::readTiffEntry(TiffEntryBase* object) { assert(object != 0); byte* p = object->start(); assert(p >= pData_); if (p + 12 > pLast_) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Entry in directory " << groupName(object->group()) << "requests access to memory beyond the data buffer. " << "Skipping entry.\n"; #endif return; } // Component already has tag p += 2; TiffType tiffType = getUShort(p, byteOrder()); TypeId typeId = toTypeId(tiffType, object->tag(), object->group()); long typeSize = TypeInfo::typeSize(typeId); if (0 == typeSize) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Directory " << groupName(object->group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << object->tag() << " has unknown Exif (TIFF) type " << std::dec << tiffType << "; setting type size 1.\n"; #endif typeSize = 1; } p += 2; uint32_t count = getULong(p, byteOrder()); if (count >= 0x10000000) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Directory " << groupName(object->group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << object->tag() << " has invalid size " << std::dec << count << "*" << typeSize << "; skipping entry.\n"; #endif return; } p += 4; uint32_t size = typeSize * count; int32_t offset = getLong(p, byteOrder()); byte* pData = p; if ( size > 4 && ( baseOffset() + offset >= size_ || static_cast(baseOffset()) + offset <= 0)) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Offset of directory " << groupName(object->group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << object->tag() << " is out of bounds: " << "Offset = 0x" << std::setw(8) << std::setfill('0') << std::hex << offset << "; truncating the entry\n"; #endif size = 0; } if (size > 4) { pData = const_cast(pData_) + baseOffset() + offset; if (size > static_cast(pLast_ - pData)) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Upper boundary of data for " << "directory " << groupName(object->group()) << ", entry 0x" << std::setw(4) << std::setfill('0') << std::hex << object->tag() << " is out of bounds: " << "Offset = 0x" << std::setw(8) << std::setfill('0') << std::hex << offset << ", size = " << std::dec << size << ", exceeds buffer size by " // cast to make MSVC happy << static_cast(pData + size - pLast_) << " Bytes; truncating the entry\n"; #endif size = 0; } } Value::AutoPtr v = Value::create(typeId); assert(v.get()); v->read(pData, size, byteOrder()); object->setValue(v); object->setData(pData, size); object->setOffset(offset); object->setIdx(nextIdx(object->group())); } // TiffReader::readTiffEntry void TiffReader::visitBinaryArray(TiffBinaryArray* object) { assert(object != 0); if (!postProc_) { // Defer reading children until after all other components are read, but // since state (offset) is not set during post-processing, read entry here readTiffEntry(object); object->iniOrigDataBuf(); postList_.push_back(object); return; } // Check duplicates TiffFinder finder(object->tag(), object->group()); pRoot_->accept(finder); TiffEntryBase* te = dynamic_cast(finder.result()); if (te && te->idx() != object->idx()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Not decoding duplicate binary array tag 0x" << std::setw(4) << std::setfill('0') << std::hex << object->tag() << std::dec << ", group " << groupName(object->group()) << ", idx " << object->idx() << "\n"; #endif object->setDecoded(false); return; } if (object->TiffEntryBase::doSize() == 0) return; if (!object->initialize(pRoot_)) return; const ArrayCfg* cfg = object->cfg(); if (cfg == 0) return; const CryptFct cryptFct = cfg->cryptFct_; if (cryptFct != 0) { const byte* pData = object->pData(); int32_t size = object->TiffEntryBase::doSize(); DataBuf buf = cryptFct(object->tag(), pData, size, pRoot_); if (buf.size_ > 0) object->setData(buf); } const ArrayDef* defs = object->def(); const ArrayDef* defsEnd = defs + object->defSize(); const ArrayDef* def = &cfg->elDefaultDef_; ArrayDef gap = *def; for (uint32_t idx = 0; idx < object->TiffEntryBase::doSize(); ) { if (defs) { def = std::find(defs, defsEnd, idx); if (def == defsEnd) { if (cfg->concat_) { // Determine gap-size const ArrayDef* xdef = defs; for (; xdef != defsEnd && xdef->idx_ <= idx; ++xdef) {} uint32_t gapSize = 0; if (xdef != defsEnd && xdef->idx_ > idx) { gapSize = xdef->idx_ - idx; } else { gapSize = object->TiffEntryBase::doSize() - idx; } gap.idx_ = idx; gap.tiffType_ = cfg->elDefaultDef_.tiffType_; gap.count_ = gapSize / cfg->tagStep(); if (gap.count_ * cfg->tagStep() != gapSize) { gap.tiffType_ = ttUndefined; gap.count_ = gapSize; } def = ⪆ } else { def = &cfg->elDefaultDef_; } } } idx += object->addElement(idx, *def); // idx may be different from def->idx_ } } // TiffReader::visitBinaryArray void TiffReader::visitBinaryElement(TiffBinaryElement* object) { byte* pData = object->start(); uint32_t size = object->TiffEntryBase::doSize(); ByteOrder bo = object->elByteOrder(); if (bo == invalidByteOrder) bo = byteOrder(); TypeId typeId = toTypeId(object->elDef()->tiffType_, object->tag(), object->group()); Value::AutoPtr v = Value::create(typeId); assert(v.get()); v->read(pData, size, bo); object->setValue(v); object->setOffset(0); object->setIdx(nextIdx(object->group())); } // TiffReader::visitBinaryElement }} // namespace Internal, Exiv2 exiv2-0.25/src/pentaxmn.cpp0000664000175000017500000017013012527520007015442 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: pentaxmn.cpp Version: $Rev: 3835 $ Author(s): Michal Cihar Based on fujimn.cpp by: Andreas Huggel (ahu) Gilles Caulier (gc) History: 27-Sep-07 created Credits: See header file. */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: pentaxmn.cpp 3835 2015-05-22 03:18:31Z nkbj $") // ***************************************************************************** // included header files #include "types.hpp" #include "pentaxmn_int.hpp" #include "value.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { //! ShootingMode, tag 0x0001 extern const TagDetails pentaxShootingMode[] = { { 0, N_("Auto") }, { 1, N_("Night-Scene") }, { 2, N_("Manual") }, }; //! CameraModel, tag 0x0005 extern const TagDetails pentaxModel[] = { { 0x0000d, "Optio 330/430" }, { 0x12926, "Optio 230" }, { 0x12958, "Optio 330GS" }, { 0x12962, "Optio 450/550" }, { 0x1296c, "Optio S" }, { 0x12971, "Optio S V1.01" }, { 0x12994, "*ist D" }, { 0x129b2, "Optio 33L" }, { 0x129bc, "Optio 33LF" }, { 0x129c6, "Optio 33WR/43WR/555" }, { 0x129d5, "Optio S4" }, { 0x12a02, "Optio MX" }, { 0x12a0c, "Optio S40" }, { 0x12a16, "Optio S4i" }, { 0x12a34, "Optio 30" }, { 0x12a52, "Optio S30" }, { 0x12a66, "Optio 750Z" }, { 0x12a70, "Optio SV" }, { 0x12a75, "Optio SVi" }, { 0x12a7a, "Optio X" }, { 0x12a8e, "Optio S5i" }, { 0x12a98, "Optio S50" }, { 0x12aa2, "*ist DS" }, { 0x12ab6, "Optio MX4" }, { 0x12ac0, "Optio S5n" }, { 0x12aca, "Optio WP" }, { 0x12afc, "Optio S55" }, { 0x12b10, "Optio S5z" }, { 0x12b1a, "*ist DL" }, { 0x12b24, "Optio S60" }, { 0x12b2e, "Optio S45" }, { 0x12b38, "Optio S6" }, { 0x12b4c, "Optio WPi" }, { 0x12b56, "BenQ DC X600" }, { 0x12b60, "*ist DS2" }, { 0x12b62, "Samsung GX-1S" }, { 0x12b6a, "Optio A10" }, { 0x12b7e, "*ist DL2" }, { 0x12b80, "Samsung GX-1L" }, { 0x12b9c, "K100D" }, { 0x12b9d, "K110D" }, { 0x12ba2, "K100D Super" }, { 0x12bb0, "Optio T10/T20" }, { 0x12be2, "Optio W10" }, { 0x12bf6, "Optio M10" }, { 0x12c1e, "K10D" }, { 0x12c20, "Samsung GX10" }, { 0x12c28, "Optio S7" }, { 0x12c2d, "Optio L20" }, { 0x12c32, "Optio M20" }, { 0x12c3c, "Optio W20" }, { 0x12c46, "Optio A20" }, { 0x12c78, "Optio E30" }, { 0x12c7d, "Optio E35" }, { 0x12c82, "Optio T30" }, { 0x12c8c, "Optio M30" }, { 0x12c91, "Optio L30" }, { 0x12c96, "Optio W30" }, { 0x12ca0, "Optio A30" }, { 0x12cb4, "Optio E40" }, { 0x12cbe, "Optio M40" }, { 0x12cc3, "Optio L40" }, { 0x12cc5, "Optio L36" }, { 0x12cc8, "Optio Z10" }, { 0x12cd2, "K20D" }, { 0x12cd4, "Samsung GX20" }, { 0x12cdc, "Optio S10" }, { 0x12ce6, "Optio A40" }, { 0x12cf0, "Optio V10" }, { 0x12cfa, "K200D" }, { 0x12d04, "Optio S12" }, { 0x12d0e, "Optio E50" }, { 0x12d18, "Optio M50" }, { 0x12d22, "Optio L50" }, { 0x12d2c, "Optio V20" }, { 0x12d40, "Optio W60" }, { 0x12d4a, "Optio M60" }, { 0x12d68, "Optio E60/M90" }, { 0x12d72, "K2000" }, { 0x12d73, "K-m" }, { 0x12d86, "Optio P70" }, { 0x12d90, "Optio L70" }, { 0x12d9a, "Optio E70" }, { 0x12dae, "X70" }, { 0x12db8, "K-7" }, { 0x12dcc, "Optio W80" }, { 0x12dea, "Optio P80" }, { 0x12df4, "Optio WS80" }, { 0x12dfe, "K-x" }, { 0x12e08, "645D" }, { 0x12e12, "Optio E80" }, { 0x12e30, "Optio W90" }, { 0x12e3a, "Optio I-10" }, { 0x12e44, "Optio H90" }, { 0x12e4e, "Optio E90" }, { 0x12e58, "X90" }, { 0x12e6c, "K-r" }, { 0x12e76, "K-5" }, { 0x12e8a, "Optio RS1000/RS1500" }, { 0x12e94, "Optio RZ10" }, { 0x12e9e, "Optio LS1000" }, { 0x12ebc, "Optio WG-1 GPS" }, { 0x12ed0, "Optio S1" }, { 0x12ee4, "Q" }, { 0x12ef8, "K-01" }, { 0x12f0c, "Optio RZ18" }, { 0x12f16, "Optio VS20" }, { 0x12f2a, "Optio WG-2 GPS" }, { 0x12f48, "Optio LS465" }, { 0x12f52, "K-30" }, { 0x12f5c, "X-5" }, { 0x12f66, "Q10" }, { 0x12f70, "K-5 II" }, { 0x12f71, "K-5 II s" }, { 0x12f7a, "Q7" }, { 0x12f84, "MX-1" }, { 0x12f8e, "WG-3 GPS" }, { 0x12f98, "WG-3" }, { 0x12fa2, "WG-10" }, { 0x12fb6, "K-50" }, { 0x12fc0, "K-3" }, { 0x12fca, "K-500" }, { 0x12fde, "WG-4 GPS" }, { 0x12fe8, "WG-4" }, { 0x13006, "WG-20" }, { 0x13010, "645Z" }, { 0x1301a, "K-S1" }, { 0x13024, "K-S2" }, { 0x1302e, "Q-S1" }, { 0x13056, "WG-30" }, { 0x13088, "WG-5 GPS" }, { 0x1309c, "K-3 II" }, }; //! Quality, tag 0x0008 extern const TagDetails pentaxQuality[] = { { 0, N_("Good") }, { 1, N_("Better") }, { 2, N_("Best") }, { 3, N_("TIFF") }, { 4, N_("RAW") }, { 5, N_("Premium") }, { 65535, N_("n/a") }, }; //! Size, tag 0x0009 extern const TagDetails pentaxSize[] = { { 0, "640x480" }, { 1, N_("Full") }, { 2, "1024x768" }, { 3, "1280x960" }, { 4, "1600x1200" }, { 5, "2048x1536" }, { 8, N_("2560x1920 or 2304x1728") }, { 9, "3072x2304" }, { 10, "3264x2448" }, { 19, "320x240" }, { 20, "2288x1712" }, { 21, "2592x1944" }, { 22, N_("2304x1728 or 2592x1944") }, { 23, "3056x2296" }, { 25, N_("2816x2212 or 2816x2112") }, { 27, "3648x2736" }, { 29, "4000x3000" }, { 30, "4288x3216" }, { 31, "4608x3456" }, { 129, "1920x1080" }, { 135, "4608x2592" }, { 257, "3216x3216" }, // not sure what to do with these values: // '0 0' = 2304x1728 // '4 0' = 1600x1200 // '5 0' = 2048x1536 // '8 0' = 2560x1920 // '32 2' = 960x640 // '33 2' = 1152x768 // '34 2' = 1536x1024 // '35 1' = 2400x1600 // '36 0' = 3008x2008 or 3040x2024 // '37 0' = 3008x2000 }; //! Flash, tag 0x000c extern const TagDetails pentaxFlash[] = { { 0x000, N_("Auto, Did not fire") }, { 0x001, N_("Off, Did not fire") }, { 0x002, N_("Off, Did not fire") }, { 0x003, N_("Auto, Did not fire, Red-eye reduction") }, { 0x005, N_("On. Did not fire. Wireless (Master)") }, { 0x100, N_("Auto, Fired") }, { 0x102, N_("On, Fired") }, { 0x103, N_("Auto, Fired, Red-eye reduction") }, { 0x104, N_("On, Red-eye reduction") }, { 0x105, N_("On, Wireless (Master)") }, { 0x106, N_("On, Wireless (Control)") }, { 0x108, N_("On, Soft") }, { 0x109, N_("On, Slow-sync") }, { 0x10a, N_("On, Slow-sync, Red-eye reduction") }, { 0x10b, N_("On, Trailing-curtain Sync") }, // exiftool recognises 2 values, the values here correpond with Value 0 }; //! Focus, tag 0x000d extern const TagDetails pentaxFocus[] = { { 0, N_("Normal") }, { 1, N_("Macro") }, { 2, N_("Infinity") }, { 3, N_("Manual") }, { 4, N_("Super Macro") }, { 5, N_("Pan Focus") }, { 16, N_("AF-S") }, { 17, N_("AF-C") }, { 18, N_("AF-A") }, { 32, N_("Contrast-detect") }, { 33, N_("Tracking Contrast-detect") }, { 288, N_("Face Detect") }, }; //! AFPoint, tag 0x000e extern const TagDetails pentaxAFPoint[] = { { 0xffff, N_("Auto") }, { 0xfffe, N_("Fixed Center") }, { 0xfffd, N_("Automatic Tracking AF") }, { 0xfffc, N_("Face Recognition AF") }, { 0xfffb, N_("AF Select") }, { 0, N_("None") }, { 1, N_("Upper-left") }, { 2, N_("Top") }, { 3, N_("Upper-right") }, { 4, N_("Left") }, { 5, N_("Mid-left") }, { 6, N_("Center") }, { 7, N_("Mid-right") }, { 8, N_("Right") }, { 9, N_("Lower-left") }, { 10, N_("Bottom") }, { 11, N_("Lower-right") }, }; //! AFPointInFocus, tag 0x000f extern const TagDetails pentaxAFPointFocus[] = { { 0xffff, N_("None") }, { 0, N_("Fixed Center or multiple") }, { 1, N_("Top-left") }, { 2, N_("Top-center") }, { 3, N_("Top-right") }, { 4, N_("Left") }, { 5, N_("Center") }, { 6, N_("Right") }, { 7, N_("Bottom-left") }, { 8, N_("Bottom-center") }, { 9, N_("Bottom-right") }, }; //! ISO, tag 0x0014 extern const TagDetails pentaxISO[] = { { 3, "50" }, { 4, "64" }, { 5, "80" }, { 6, "100" }, { 7, "125" }, { 8, "160" }, { 9, "200" }, { 10, "250" }, { 11, "320" }, { 12, "400" }, { 13, "500" }, { 14, "640" }, { 15, "800" }, { 16, "1000" }, { 17, "1250" }, { 18, "1600" }, { 19, "2000" }, { 20, "2500" }, { 21, "3200" }, { 22, "4000" }, { 23, "5000" }, { 24, "6400" }, { 25, "8000" }, { 26, "10000" }, { 27, "12800" }, { 28, "16000" }, { 29, "20000" }, { 30, "25600" }, { 31, "32000" }, { 32, "40000" }, { 33, "51200" }, { 34, "64000" }, { 35, "80000" }, { 36, "102400" }, { 37, "128000" }, { 38, "160000" }, { 39, "204800" }, { 50, "50" }, { 100, "100" }, { 200, "200" }, // { 268, "200" }, { 400, "400" }, { 800, "800" }, { 1600, "1600" }, { 3200, "3200" }, { 258, "50" }, { 259, "70" }, { 260, "100" }, { 261, "140" }, { 262, "200" }, { 263, "280" }, { 264, "400" }, { 265, "560" }, { 266, "800" }, { 267, "1100" }, { 268, "1600" }, { 269, "2200" }, { 270, "3200" }, { 271, "4500" }, { 272, "6400" }, { 273, "9000" }, { 274, "12800" }, { 275, "18000" }, { 276, "25600" }, { 277, "36000" }, { 278, "51200" }, }; //! Generic for Off/On switches extern const TagDetails pentaxOffOn[] = { { 0, N_("Off") }, { 1, N_("On") }, }; //! Generic for Yes/No switches extern const TagDetails pentaxYesNo[] = { { 0, N_("No") }, { 1, N_("Yes") }, }; //! MeteringMode, tag 0x0017 extern const TagDetails pentaxMeteringMode[] = { { 0, N_("Multi Segment") }, { 1, N_("Center Weighted") }, { 2, N_("Spot") }, }; //! WhiteBalance, tag 0x0019 extern const TagDetails pentaxWhiteBalance[] = { { 0, N_("Auto") }, { 1, N_("Daylight") }, { 2, N_("Shade") }, { 3, N_("Fluorescent") }, { 4, N_("Tungsten") }, { 5, N_("Manual") }, { 6, N_("DaylightFluorescent") }, { 7, N_("DaywhiteFluorescent") }, { 8, N_("WhiteFluorescent") }, { 9, N_("Flash") }, { 10, N_("Cloudy") }, { 15, N_("Color Temperature Enhancement") }, { 17, N_("Kelvin") }, { 65534, N_("Unknown") }, { 65535, N_("User Selected") }, }; //! WhiteBalance, tag 0x001a extern const TagDetails pentaxWhiteBalanceMode[] = { { 1, N_("Auto (Daylight)") }, { 2, N_("Auto (Shade)") }, { 3, N_("Auto (Flash)") }, { 4, N_("Auto (Tungsten)") }, { 6, N_("Auto (DaylightFluorescent)") }, { 7, N_("Auto (DaywhiteFluorescent)") }, { 8, N_("Auto (WhiteFluorescent)") }, { 10, N_("Auto (Cloudy)") }, { 0xffff, N_("User-Selected") }, { 0xfffe, N_("Preset (Fireworks?)") }, }; //! Saturation, tag 0x001f extern const TagDetails pentaxSaturation[] = { { 0, N_("Low") }, { 1, N_("Normal") }, { 2, N_("High") }, { 3, N_("Med Low") }, { 4, N_("Med High") }, { 5, N_("Very Low") }, { 6, N_("Very High") }, { 7, N_("-4") }, { 8, N_("+4") }, { 65535, N_("None") }, { 65535, N_("None") } // To silence compiler warning }; //! Contrast, tag 0x0020 extern const TagDetails pentaxContrast[] = { { 0, N_("Low") }, { 1, N_("Normal") }, { 2, N_("High") }, { 3, N_("Med Low") }, { 4, N_("Med High") }, { 5, N_("Very Low") }, { 6, N_("Very High") }, { 7, N_("-4") }, { 8, N_("+4") }, }; //! Sharpness, tag 0x0021 extern const TagDetails pentaxSharpness[] = { { 0, N_("Soft") }, { 1, N_("Normal") }, { 2, N_("Hard") }, { 3, N_("Med Soft") }, { 4, N_("Med Hard") }, { 5, N_("Very Soft") }, { 6, N_("Very Hard") }, { 7, N_("-4") }, { 8, N_("+4") }, }; //! Location, tag 0x0022 extern const TagDetails pentaxLocation[] = { { 0, N_("Home town") }, { 1, N_("Destination") }, }; //! City names, tags 0x0023 and 0x0024 extern const TagDetails pentaxCities[] = { { 0, N_("Pago Pago") }, { 1, N_("Honolulu") }, { 2, N_("Anchorage") }, { 3, N_("Vancouver") }, { 4, N_("San Fransisco") }, { 5, N_("Los Angeles") }, { 6, N_("Calgary") }, { 7, N_("Denver") }, { 8, N_("Mexico City") }, { 9, N_("Chicago") }, { 10, N_("Miami") }, { 11, N_("Toronto") }, { 12, N_("New York") }, { 13, N_("Santiago") }, { 14, N_("Caracus") }, { 15, N_("Halifax") }, { 16, N_("Buenos Aires") }, { 17, N_("Sao Paulo") }, { 18, N_("Rio de Janeiro") }, { 19, N_("Madrid") }, { 20, N_("London") }, { 21, N_("Paris") }, { 22, N_("Milan") }, { 23, N_("Rome") }, { 24, N_("Berlin") }, { 25, N_("Johannesburg") }, { 26, N_("Istanbul") }, { 27, N_("Cairo") }, { 28, N_("Jerusalem") }, { 29, N_("Moscow") }, { 30, N_("Jeddah") }, { 31, N_("Tehran") }, { 32, N_("Dubai") }, { 33, N_("Karachi") }, { 34, N_("Kabul") }, { 35, N_("Male") }, { 36, N_("Delhi") }, { 37, N_("Colombo") }, { 38, N_("Kathmandu") }, { 39, N_("Dacca") }, { 40, N_("Yangon") }, { 41, N_("Bangkok") }, { 42, N_("Kuala Lumpur") }, { 43, N_("Vientiane") }, { 44, N_("Singapore") }, { 45, N_("Phnom Penh") }, { 46, N_("Ho Chi Minh") }, { 47, N_("Jakarta") }, { 48, N_("Hong Kong") }, { 49, N_("Perth") }, { 50, N_("Beijing") }, { 51, N_("Shanghai") }, { 52, N_("Manila") }, { 53, N_("Taipei") }, { 54, N_("Seoul") }, { 55, N_("Adelaide") }, { 56, N_("Tokyo") }, { 57, N_("Guam") }, { 58, N_("Sydney") }, { 59, N_("Noumea") }, { 60, N_("Wellington") }, { 61, N_("Auckland") }, { 62, N_("Lima") }, { 63, N_("Dakar") }, { 64, N_("Algiers") }, { 65, N_("Helsinki") }, { 66, N_("Athens") }, { 67, N_("Nairobi") }, { 68, N_("Amsterdam") }, { 69, N_("Stockholm") }, { 70, N_("Lisbon") }, { 71, N_("Copenhagen") }, { 72, N_("Warsaw") }, { 73, N_("Prague") }, { 74, N_("Budapest") }, }; //! ImageProcessing, combi-tag 0x0032 (4 bytes) extern const TagDetails pentaxImageProcessing[] = { { 0x00000000, N_("Unprocessed") }, { 0x00000004, N_("Digital Filter") }, { 0x01000000, N_("Resized") }, { 0x02000000, N_("Cropped") }, { 0x04000000, N_("Color Filter") }, { 0x06000000, N_("Digital Filter 6") }, { 0x10000000, N_("Frame Synthesis?") } }; //! PictureMode, combi-tag 0x0033 (3 bytes) extern const TagDetails pentaxPictureMode[] = { { 0x000000, N_("Program") }, { 0x000100, N_("Hi-speed Program") }, { 0x000200, N_("DOF Program") }, { 0x000300, N_("MTF Program") }, { 0x000400, N_("Standard") }, { 0x000500, N_("Portrait") }, { 0x000600, N_("Landscape") }, { 0x000700, N_("Macro") }, { 0x000800, N_("Sport") }, { 0x000900, N_("Night Scene Portrait") }, { 0x000a00, N_("No Flash") }, /* SCN modes (menu-selected) */ { 0x000b00, N_("Night Scene") }, { 0x000c00, N_("Surf & Snow") }, { 0x000d00, N_("Text") }, { 0x000e00, N_("Sunset") }, { 0x000f00, N_("Kids") }, { 0x001000, N_("Pet") }, { 0x001100, N_("Candlelight") }, { 0x001200, N_("Museum") }, { 0x001300, N_("Food") }, { 0x001400, N_("Stage Lighting") }, { 0x001500, N_("Night Snap") }, { 0x001700, N_("Blue Sky") }, { 0x001800, N_("Sunset") }, { 0x001a00, N_("Night Scene HDR") }, { 0x001b00, N_("HDR") }, { 0x001c00, N_("Quick Macro") }, { 0x001d00, N_("Forest") }, { 0x001e00, N_("Backlight Silhouette") }, /* AUTO PICT modes (auto-selected) */ { 0x010400, N_("Auto PICT (Standard)") }, { 0x010500, N_("Auto PICT (Portrait)") }, { 0x010600, N_("Auto PICT (Landscape)") }, { 0x010700, N_("Auto PICT (Macro)") }, { 0x010800, N_("Auto PICT (Sport)") }, /* Manual dial modes */ { 0x020000, N_("Program AE") }, { 0x030000, N_("Green Mode") }, { 0x040000, N_("Shutter Speed Priority") }, { 0x050000, N_("Aperture Priority") }, { 0x080000, N_("Manual") }, { 0x090000, N_("Bulb") }, /* *istD modes */ { 0x020001, N_("Program AE") }, { 0x020101, N_("Hi-speed Program") }, { 0x020201, N_("DOF Program") }, { 0x020301, N_("MTF Program") }, { 0x021601, N_("Shallow DOF") }, { 0x030001, N_("Green Mode") }, { 0x040001, N_("Shutter Speed Priority") }, { 0x050001, N_("Aperture Priority") }, { 0x060001, N_("Program Tv Shift") }, { 0x070001, N_("Program Av Shift") }, { 0x080001, N_("Manual") }, { 0x090001, N_("Bulb") }, { 0x0a0001, N_("Aperture Priority (Off-Auto-Aperture)") }, { 0x0b0001, N_("Manual (Off-Auto-Aperture)") }, { 0x0c0001, N_("Bulb (Off-Auto-Aperture)") }, /* K10D modes */ { 0x060000, N_("Shutter Priority") }, { 0x0d0000, N_("Shutter & Aperture Priority AE") }, { 0x0d0001, N_("Shutter & Aperture Priority AE (1)") }, { 0x0f0000, N_("Sensitivity Priority AE") }, { 0x0f0001, N_("Sensitivity Priority AE (1)") }, { 0x100000, N_("Flash X-Sync Speed AE") }, { 0x100001, N_("Flash X-Sync Speed AE (1)") }, { 0x120001, N_("Auto Program (Normal)") }, { 0x120101, N_("Auto Program (Hi-Speed)") }, { 0x120201, N_("Auto Program (DOF)") }, { 0x120301, N_("Auto Program (MTF)") }, { 0x121601, N_("Auto Program (Shallow DOF)") }, { 0x141601, N_("Blur control") }, /* other modes */ { 0x000001, N_("Program") }, { 0xfe0000, N_("Video (30 fps)") }, { 0xff0004, N_("Video (24 fps)") }, }; //! DriveMode, combi-tag 0x0034 (4 bytes) extern const TagDetails pentaxDriveMode[] = { { 0x00000000, N_("Single-frame") }, { 0x01000000, N_("Continuous") }, { 0x02000000, N_("Continuous (Hi)") }, { 0x03000000, N_("Burst") }, { 0xff000000, N_("Video") }, { 0x00100000, N_("Single-frame") }, /* on 645D */ { 0x00010000, N_("Self-timer (12 sec)") }, { 0x00020000, N_("Self-timer (2 sec)") }, { 0x000f0000, N_("Video") }, { 0x00100000, N_("Mirror Lock-up") }, { 0x00000100, N_("Remote Control (3 sec)") }, { 0x00000200, N_("Remote Control") }, { 0x00000400, N_("Remote Continuous Shooting") }, { 0x00000001, N_("Multiple Exposure") }, { 0x00000010, N_("HDR") }, { 0x00000020, N_("HDR Strong 1") }, { 0x00000030, N_("HDR Strong 2") }, { 0x00000040, N_("HDR Strong 3") }, { 0x000000e0, N_("HDR Auto") }, { 0x000000ff, N_("Video") }, }; //! ColorSpace, tag 0x0037 extern const TagDetails pentaxColorSpace[] = { { 0, N_("sRGB") }, { 1, N_("Adobe RGB") }, }; //! LensType, combi-tag 0x003f (2 unsigned long) extern const TagDetails pentaxLensType[] = { { 0x0000, N_("M-42 or No Lens") }, { 0x0100, N_("K or M Lens") }, { 0x0200, N_("A Series Lens") }, { 0x0300, "Sigma Lens" }, { 0x0311, "smc PENTAX-FA SOFT 85mm F2.8" }, { 0x0312, "smc PENTAX-F 1.7X AF ADAPTER" }, { 0x0313, "smc PENTAX-F 24-50mm F4" }, { 0x0314, "smc PENTAX-F 35-80mm F4-5.6" }, { 0x0315, "smc PENTAX-F 80-200mm F4.7-5.6" }, { 0x0316, "smc PENTAX-F FISH-EYE 17-28mm F3.5-4.5" }, { 0x0317, "smc PENTAX-F 100-300mm F4.5-5.6" }, //0 { 0x0317, "Sigma AF 28-300mm F3.5-6.3 DG IF Macro" }, //1 { 0x0317, "Tokina 80-200mm F2.8 ATX-Pro" }, //2 { 0x0318, "smc PENTAX-F 35-135mm F3.5-4.5" }, { 0x0319, "smc PENTAX-F 35-105mm F4-5.6" }, //0 { 0x0319, "Sigma AF 28-300mm F3.5-5.6 DL IF" }, //1 { 0x0319, "Sigma 55-200mm F4-5.6 DC" }, //2 { 0x0319, "Sigma AF 28-300mm F3.5-5.6 DL IF" }, //3 { 0x0319, "Sigma AF 28-300mm F3.5-6.3 DG IF Macro" }, //4 { 0x0319, "Tokina 80-200mm F2.8 ATX-Pro" }, //5 { 0x031a, "smc PENTAX-F* 250-600mm F5.6 ED[IF]" }, { 0x031b, "smc PENTAX-F 28-80mm F3.5-4.5" }, //0 { 0x031b, "Tokina AT-X Pro AF 28-70mm F2.6-2.8" }, //1 { 0x031c, "smc PENTAX-F 35-70mm F3.5-4.5" }, //0 { 0x031c, "Tokina 19-35mm F3.5-4.5 AF" }, //1 { 0x031c, "Tokina AT-X AF 400mm F5.6" }, //2 { 0x031d, "PENTAX-F 28-80mm F3.5-4.5" }, //0 { 0x031d, "Sigma AF 18-125mm F3.5-5.6 DC" }, //1 { 0x031d, "Tokina AT-X PRO 28-70mm F2.6-2.8" }, //2 { 0x031e, "PENTAX-F 70-200mm F4-5.6" }, { 0x031f, "smc PENTAX-F 70-210mm F4-5.6" }, //0 { 0x031f, "Tokina AF 730 75-300mm F4.5-5.6" }, //1 { 0x031f, "Takumar-F 70-210mm F4-5.6" }, //2 { 0x0320, "smc PENTAX-F 50mm F1.4" }, { 0x0321, "smc PENTAX-F 50mm F1.7" }, { 0x0322, "smc PENTAX-F 135mm F2.8 [IF]" }, { 0x0323, "smc PENTAX-F 28mm F2.8" }, { 0x0324, "Sigma 20mm F1.8 EX DG Aspherical RF" }, { 0x0326, "smc PENTAX-F* 300mm F4.5 ED[IF]" }, { 0x0327, "smc PENTAX-F* 600mm F4 ED[IF]" }, { 0x0328, "smc PENTAX-F Macro 100mm F2.8" }, { 0x0329, "smc PENTAX-F Macro 50mm F2.8" }, //0 { 0x0329, "Sigma 50mm F2.8 Macro" }, //1 { 0x032c, "Tamron 35-90mm F4 AF" }, //0 { 0x032c, "Sigma AF 10-20mm F4-5.6 EX DC" }, //1 { 0x032c, "Sigma 12-24mm F4.5-5.6 EX DG" }, //2 { 0x032c, "Sigma 17-70mm F2.8-4.5 DC Macro" }, //3 { 0x032c, "Sigma 18-50mm F3.5-5.6 DC" }, //4 { 0x032e, "Sigma or Samsung Lens" }, //0 { 0x032e, "Sigma APO 70-200mm F2.8 EX" }, //1 { 0x032e, "Sigma EX APO 100-300mm F4 IF" }, //2 { 0x032e, "Samsung/Schneider D-XENON 50-200mm F4-5.6 ED" }, //3 { 0x0332, "smc PENTAX-FA 28-70mm F4 AL" }, { 0x0333, "Sigma 28mm F1.8 EX DG Aspherical Macro" }, { 0x0334, "smc PENTAX-FA 28-200mm F3.8-5.6 AL[IF]" }, //0 { 0x0334, "Tamron AF LD 28-200mm F3.8-5.6 [IF] Aspherical (171D)" },//1 { 0x0335, "smc PENTAX-FA 28-80mm F3.5-5.6 AL" }, { 0x03f7, "smc PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED[IF]" }, { 0x03f8, "smc PENTAX-DA 12-24mm F4 ED AL[IF]" }, { 0x03fa, "smc PENTAX-DA 50-200mm F4-5.6 ED" }, { 0x03fb, "smc PENTAX-DA 40mm F2.8 Limited" }, { 0x03fc, "smc PENTAX-DA 18-55mm F3.5-5.6 AL" }, { 0x03fd, "smc PENTAX-DA 14mm F2.8 ED[IF]" }, { 0x03fe, "smc PENTAX-DA 16-45mm F4 ED AL" }, { 0x03ff, "Sigma Lens" }, //0 { 0x03ff, "Sigma 18-200mm F3.5-6.3 DC" }, //1 { 0x03ff, "Sigma DL-II 35-80mm F4-5.6" }, //2 { 0x03ff, "Sigma DL Zoom 75-300mm F4-5.6" }, //3 { 0x03ff, "Sigma DF EX Aspherical 28-70mm F2.8" }, //4 { 0x03ff, "Sigma AF Tele 400mm F5.6 Multi-coated" }, //5 { 0x03ff, "Sigma 24-60mm F2.8 EX DG" }, //6 { 0x03ff, "Sigma 70-300mm F4-5.6 Macro" }, //7 { 0x03ff, "Sigma 55-200mm F4-5.6 DC" }, //8 { 0x03ff, "Sigma 18-50mm F2.8 EX DC" }, //9 { 0x03ff, "Sigma 18-50mm F2.8 EX DC Macro" }, //10 { 0x0401, "smc PENTAX-FA SOFT 28mm F2.8" }, { 0x0402, "smc PENTAX-FA 80-320mm F4.5-5.6" }, { 0x0403, "smc PENTAX-FA 43mm F1.9 Limited" }, { 0x0406, "smc PENTAX-FA 35-80mm F4-5.6" }, { 0x040c, "smc PENTAX-FA 50mm F1.4" }, { 0x040f, "smc PENTAX-FA 28-105mm F4-5.6 [IF]" }, { 0x0410, "Tamron AF 80-210mm F4-5.6 (178D)" }, { 0x0413, "Tamron SP AF 90mm F2.8 (172E)" }, { 0x0414, "smc PENTAX-FA 28-80mm F3.5-5.6" }, { 0x0415, "Cosina AF 100-300mm F5.6-6.7" }, { 0x0416, "Tokina 28-80mm F3.5-5.6" }, { 0x0417, "smc PENTAX-FA 20-35mm F4 AL" }, { 0x0418, "smc PENTAX-FA 77mm F1.8 Limited" }, { 0x0419, "Tamron SP AF 14mm F2.8" }, { 0x041a, "smc PENTAX-FA Macro 100mm F3.5" }, //0 { 0x041a, "Cosina 100mm F3.5 Macro" }, //1 { 0x041b, "Tamron AF28-300mm F/3.5-6.3 LD Aspherical[IF] Macro (185D/285D)" }, { 0x041c, "smc PENTAX-FA 35mm F2 AL" }, { 0x041d, "Tamron AF 28-200mm F/3.8-5.6 LD Super II Macro (371D)" }, { 0x0422, "smc PENTAX-FA 24-90mm F3.5-4.5 AL[IF]" }, { 0x0423, "smc PENTAX-FA 100-300mm F4.7-5.8" }, { 0x0424, "Tamron AF 70-300mm F/4-5.6 LD Macro 1:2 (572D/A17)" }, { 0x0425, "Tamron SP AF 24-135mm F3.5-5.6 AD AL (190D)" }, { 0x0426, "smc PENTAX-FA 28-105mm F3.2-4.5 AL[IF]" }, { 0x0427, "smc PENTAX-FA 31mm F1.8AL Limited" }, { 0x0429, "Tamron AF 28-200mm Super Zoom F3.8-5.6 Aspherical XR [IF] Macro (A03)" }, { 0x042b, "smc PENTAX-FA 28-90mm F3.5-5.6" }, { 0x042c, "smc PENTAX-FA J 75-300mm F4.5-5.8 AL" }, { 0x042d, "Tamron Lens" }, //0 { 0x042d, "Tamron 28-300mm F3.5-6.3 Ultra zoom XR" }, //1 { 0x042d, "Tamron AF 28-300mm F3.5-6.3 XR Di LD Aspherical [IF] Macro" },//2 { 0x042e, "smc PENTAX-FA J 28-80mm F3.5-5.6 AL" }, { 0x042f, "smc PENTAX-FA J 18-35mm F4-5.6 AL" }, { 0x0431, "Tamron SP AF 28-75mm F2.8 XR Di LD Aspherical [IF] Macro (A09)" }, { 0x0433, "smc PENTAX-D FA 50mm F2.8 Macro" }, { 0x0434, "smc PENTAX-D FA 100mm F2.8 Macro" }, { 0x0437, "Samsung/Schneider D-XENOGON 35mm F2" }, { 0x0438, "Samsung/Schneider D-XENON 100mm F2.8 Macro" }, { 0x044b, "Tamron SP AF 70-200mm F2.8 Di LD [IF] Macro (A001)" }, { 0x04d6, "smc PENTAX-DA 35mm F2.4 AL" }, { 0x04e5, "smc PENTAX-DA 18-55mm F3.5-5.6 AL II" }, { 0x04e6, "Tamron SP AF 17-50mm F2.8 XR Di II" }, { 0x04e7, "smc PENTAX-DA 18-250mm F3.5-6.3 ED AL [IF]" }, { 0x04ed, "Samsung/Schneider D-XENOGON 10-17mm F3.5-4.5" }, { 0x04ef, "Samsung/Schneider D-XENON 12-24mm F4 ED AL [IF]" }, { 0x04f2, "smc PENTAX-DA* 16-50mm F2.8 ED AL [IF] SDM (SDM unused)" }, { 0x04f3, "smc PENTAX-DA 70mm F2.4 Limited" }, { 0x04f4, "smc PENTAX-DA 21mm F3.2 AL Limited" }, { 0x04f5, "Samsung/Schneider D-XENON 50-200mm F4-5.6" }, { 0x04f6, "Samsung/Schneider D-XENON 18-55mm F3.5-5.6" }, { 0x04f7, "smc PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED [IF]" }, { 0x04f8, "smc PENTAX-DA 12-24mm F4 ED AL [IF]" }, { 0x04f9, "Tamron XR DiII 18-200mm F3.5-6.3 (A14)" }, { 0x04fa, "smc PENTAX-DA 50-200mm F4-5.6 ED" }, { 0x04fb, "smc PENTAX-DA 40mm F2.8 Limited" }, { 0x04fc, "smc PENTAX-DA 18-55mm F3.5-5.6 AL" }, { 0x04fd, "smc PENTAX-DA 14mm F2.8 ED[IF]" }, { 0x04fe, "smc PENTAX-DA 16-45mm F4 ED AL" }, { 0x0501, "smc PENTAX-FA* 24mm F2 AL[IF]" }, { 0x0502, "smc PENTAX-FA 28mm F2.8 AL" }, { 0x0503, "smc PENTAX-FA 50mm F1.7" }, { 0x0504, "smc PENTAX-FA 50mm F1.4" }, { 0x0505, "smc PENTAX-FA* 600mm F4 ED[IF]" }, { 0x0506, "smc PENTAX-FA* 300mm F4.5 ED[IF]" }, { 0x0507, "smc PENTAX-FA 135mm F2.8 [IF]" }, { 0x0508, "smc PENTAX-FA Macro 50mm F2.8" }, { 0x0509, "smc PENTAX-FA Macro 100mm F2.8" }, { 0x050a, "smc PENTAX-FA* 85mm F1.4 [IF]" }, { 0x050b, "smc PENTAX-FA* 200mm F2.8 ED[IF]" }, { 0x050c, "smc PENTAX-FA 28-80mm F3.5-4.7" }, { 0x050d, "smc PENTAX-FA 70-200mm F4-5.6" }, { 0x050e, "smc PENTAX-FA* 250-600mm F5.6 ED[IF]" }, { 0x050f, "smc PENTAX-FA 28-105mm F4-5.6" }, { 0x0510, "smc PENTAX-FA 100-300mm F4.5-5.6" }, { 0x0562, "smc PENTAX-FA 100-300mm F4.5-5.6" }, { 0x0601, "smc PENTAX-FA* 85mm F1.4[IF]" }, { 0x0602, "smc PENTAX-FA* 200mm F2.8 ED[IF]" }, { 0x0603, "smc PENTAX-FA* 300mm F2.8 ED[IF]" }, { 0x0604, "smc PENTAX-FA* 28-70mm F2.8 AL" }, { 0x0605, "smc PENTAX-FA* 80-200mm F2.8 ED[IF]" }, { 0x0606, "smc PENTAX-FA* 28-70mm F2.8 AL" }, { 0x0607, "smc PENTAX-FA* 80-200mm F2.8 ED[IF]" }, { 0x0608, "smc PENTAX-FA 28-70mm F4AL" }, { 0x0609, "smc PENTAX-FA 20mm F2.8" }, { 0x060a, "smc PENTAX-FA* 400mm F5.6 ED[IF]" }, { 0x060d, "smc PENTAX-FA* 400mm F5.6 ED[IF]" }, { 0x060e, "smc PENTAX-FA* Macro 200mm F4 ED[IF]" }, { 0x0700, "smc PENTAX-DA 21mm F3.2 AL Limited" }, { 0x073a, "smc PENTAX-D FA Macro 100mm F2.8 WR" }, { 0x074b, "Tamron SP AF 70-200mm F2.8 Di LD [IF] Macro (A001)" }, { 0x07c9, "smc Pentax-DA L 50-200mm F4-5.6 ED WR" }, { 0x07ca, "smc PENTAX-DA L 18-55mm F3.5-5.6 AL WR" }, { 0x07cb, "HD PENTAX-DA 55-300mm F4-5.8 ED WR" }, { 0x07cc, "HD PENTAX-DA 15mm F4 ED AL Limited" }, { 0x07cd, "HD PENTAX-DA 35mm F2.8 Macro Limited" }, { 0x07ce, "HD PENTAX-DA 70mm F2.4 Limited" }, { 0x07cf, "HD PENTAX-DA 21mm F3.2 ED AL Limited" }, { 0x07d0, "HD PENTAX-DA 40mm F2.8 Limited" }, { 0x07d4, "smc PENTAX-DA 50mm F1.8" }, { 0x07d5, "smc PENTAX-DA 40mm F2.8 XS" }, { 0x07d6, "smc PENTAX-DA 35mm F2.4 AL" }, { 0x07d8, "smc PENTAX-DA L 55-300mm F4-5.8 ED" }, { 0x07d9, "smc PENTAX-DA 50-200mm F4-5.6 ED WR" }, { 0x07da, "smc PENTAX-DA 18-55mm F3.5-5.6 AL WR" }, { 0x07dc, "Tamron SP AF 10-24mm F3.5-4.5 Di II LD Aspherical [IF]" }, { 0x07dd, "smc PENTAX-DA L 50-200mm F4-5.6 ED" }, { 0x07de, "smc PENTAX-DA L 18-55mm F3.5-5.6" }, { 0x07df, "Samsung/Schneider D-XENON 18-55mm F3.5-5.6 II" }, { 0x07e0, "smc PENTAX-DA 15mm F4 ED AL Limited" }, { 0x07e1, "Samsung/Schneider D-XENON 18-250mm F3.5-6.3" }, { 0x07e2, "smc PENTAX-DA* 55mm F1.4 SDM (SDM unused)" }, { 0x07e3, "smc PENTAX-DA* 60-250mm F4 [IF] SDM (SDM unused)" }, { 0x07e4, "Samsung 16-45mm F4 ED" }, { 0x07e5, "smc PENTAX-DA 18-55mm F3.5-5.6 AL II" }, { 0x07e6, "Tamron AF 17-50mm F2.8 XR Di-II LD (Model A16)" }, { 0x07e7, "smc PENTAX-DA 18-250mm F3.5-6.3ED AL [IF]" }, { 0x07e9, "smc PENTAX-DA 35mm F2.8 Macro Limited" }, { 0x07ea, "smc PENTAX-DA* 300 mm F4ED [IF] SDM (SDM not used)" }, { 0x07eb, "smc PENTAX-DA* 200mm F2.8 ED [IF] SDM (SDM not used)" }, { 0x07ec, "smc PENTAX-DA 55-300mm F4-5.8 ED" }, { 0x07ee, "Tamron AF 18-250mm F3.5-6.3 Di II LD Aspherical [IF] Macro" }, { 0x07f1, "smc PENTAX-DA* 50-135mm F2.8 ED [IF] SDM (SDM not used)" }, { 0x07f2, "smc PENTAX-DA* 16-50mm F2.8 ED AL [IF] SDM (SDM not used)" }, { 0x07f3, "smc PENTAX-DA 70mm F2.4 Limited" }, { 0x07f4, "smc PENTAX-DA 21mm F3.2 AL Limited" }, { 0x0800, "Sigma 50-150mm F2.8 II APO EX DC HSM" }, { 0x0803, "Sigma AF 18-125mm F3.5-5.6 DC" }, { 0x0804, "Sigma 50mm F1.4 EX DG HSM" }, { 0x0807, "Sigma 24-70mm F2.8 IF EX DG HSM" }, { 0x0808, "Sigma 18-250mm F3.5-6.3 DC OS HSM" }, { 0x080b, "Sigma 10-20mm F3.5 EX DC HSM" }, { 0x080c, "Sigma 70-300mm F4-5.6 DG OS" }, { 0x080d, "Sigma 120-400mm F4.5-5.6 APO DG OS HSM" }, { 0x080e, "Sigma 17-70mm F2.8-4.0 DC Macro OS HSM" }, { 0x080f, "Sigma 150-500mm F5-6.3 APO DG OS HSM" }, { 0x0810, "Sigma 70-200mm F2.8 EX DG Macro HSM II" }, { 0x0811, "Sigma 50-500mm F4.5-6.3 DG OS HSM" }, { 0x0812, "Sigma 8-16mm F4.5-5.6 DC HSM" }, { 0x0815, "Sigma 17-50mm F2.8 EX DC OS HSM" }, { 0x0816, "Sigma 85mm F1.4 EX DG HSM" }, { 0x0817, "Sigma 70-200mm F2.8 APO EX DG OS HSM" }, { 0x0819, "Sigma 17-50mm F2.8 EX DC HSM" }, { 0x081b, "Sigma 18-200mm F3.5-6.3 II DC HSM" }, { 0x081c, "Sigma 18-250mm F3.5-6.3 DC Macro HSM" }, { 0x081d, "Sigma 35mm F1.4 DG HSM" }, { 0x081e, "Sigma 17-70mm F2.8-4 DC Macro HSM Contemporary" }, { 0x081f, "Sigma 18-35mm F1.8 DC HSM" }, { 0x0820, "Sigma 30mm F1.4 DC HSM | A" }, { 0x083b, "HD PENTAX-D FA 150-450mm F4.5-5.6 ED DC AW" }, { 0x083c, "HD PENTAX-D FA* 70-200mm F2.8 ED DC AW" }, { 0x08c6, "smc PENTAX-DA L 18-50mm F4-5.6 DC WR RE" }, { 0x08c7, "HD PENTAX-DA 18-50mm F4-5.6 DC WR RE" }, { 0x08c8, "HD PENTAX-DA 16-85mm F3.5-5.6 ED DC WR" }, { 0x08d1, "HD PENTAX-DA 20-40mm F2.8-4 ED Limited DC WR" }, { 0x08d2, "smc PENTAX-DA 18-270mm F3.5-6.3 ED SDM" }, { 0x08d3, "HD PENTAX-DA 560mm F5.6 ED AW" }, { 0x08d7, "smc PENTAX-DA 18-135mm F3.5-5.6 ED AL [IF] DC WR" }, { 0x08e2, "smc PENTAX-DA* 55mm F1.4 SDM" }, { 0x08e3, "smc PENTAX DA* 60-250mm F4 [IF] SDM"}, { 0x08e8, "smc PENTAX-DA 17-70mm F4 AL [IF] SDM" }, { 0x08ea, "smc PENTAX-DA* 300mm F4 ED [IF] SDM" }, { 0x08eb, "smc PENTAX-DA* 200mm F2.8 ED [IF] SDM" }, { 0x08f1, "smc PENTAX-DA* 50-135mm F2.8 ED [IF] SDM" }, { 0x08f2, "smc PENTAX-DA* 16-50mm F2.8 ED AL [IF] SDM" }, { 0x08ff, "Sigma Lens" }, //0 { 0x08ff, "Sigma 70-200mm F2.8 EX DG Macro HSM II" }, //1 { 0x08ff, "Sigma 150-500mm F5-6.3 DG APO [OS] HSM" }, //2 { 0x08ff, "Sigma 50-150mm F2.8 II APO EX DC HSM" }, //3 { 0x08ff, "Sigma 4.5mm F2.8 EX DC HSM Circular Fisheye" }, //4 { 0x08ff, "Sigma 50-200mm F4-5.6 DC OS" }, //5 { 0x08ff, "Sigma 24-70mm F2.8 EX DG HSM" }, //6 { 0x0900, "645 Manual Lens" }, { 0x0a00, "645 A Series Lens" }, { 0x0b01, "smc PENTAX-FA 645 75mm F2.8" }, { 0x0b02, "smc PENTAX-FA 645 45mm F2.8" }, { 0x0b03, "smc PENTAX-FA* 645 300mm F4 ED [IF]" }, { 0x0b04, "smc PENTAX-FA 645 45mm-85mm F4.5" }, { 0x0b05, "smc PENTAX-FA 645 400mm F5.6 ED [IF]" }, { 0x0b07, "smc PENTAX-FA 645 Macro 120mm F4" }, { 0x0b08, "smc PENTAX-FA 645 80-160mm F4.5" }, { 0x0b09, "smc PENTAX-FA 645 200mm F4 [IF]" }, { 0x0b0a, "smc PENTAX-FA 645 150mm F2.8 [IF]" }, { 0x0b0b, "smc PENTAX-FA 645 35mm F3.5 AL [IF]" }, { 0x0b0c, "smc PENTAX-FA 645 300mm F5.6 ED [IF]" }, { 0x0b0e, "smc PENTAX-FA 645 55-110mm F5.6" }, { 0x0b10, "smc PENTAX-FA 645 33-55mm F4.5 AL" }, { 0x0b11, "smc PENTAX-FA 645 150mm-300mm F5.6 ED [IF]" }, { 0x0d12, "smc PENTAX-D FA 645 55mm F2.8 AL [IF] SDM AW" }, { 0x0d13, "smc PENTAX-D FA 645 25mm F4 AL [IF] SDM AW" }, { 0x0d14, "HD PENTAX-D FA 645 90mm F2.8 ED AW SR" }, { 0x0dfd, "HD PENTAX-DA 645 28-45mm F4.5 ED AW SR" }, { 0x1500, "Pentax Q Manual Lens" }, { 0x1501, "01 Standard Prime 8.5mm F1.9" }, { 0x1502, "02 Standard Zoom 5-15mm F2.8-4.5" }, { 0x1603, "03 Fish-eye 3.2mm F5.6" }, { 0x1604, "04 Toy Lens Wide 6.3mm F7.1" }, { 0x1605, "05 Toy Lens Telephoto 18mm F8" }, { 0x1506, "06 Telephoto Zoom 15-45mm F2.8" }, { 0x1507, "07 Mount Shield 11.5mm F9" }, { 0x1508, "08 Wide Zoom 3.8-5.9mm F3.7-4" }, }; //! ImageTone, tag 0x004f extern const TagDetails pentaxImageTone[] = { { 0, N_("Natural") }, { 1, N_("Bright") }, { 2, N_("Portrait") }, { 3, N_("Landscape") }, { 4, N_("Vibrant") }, { 5, N_("Monochrome") }, { 6, N_("Muted") }, { 7, N_("Reversal film") }, { 8, N_("Bleach bypass") }, { 9, N_("Radiant") }, }; //! DynamicRangeExpansion, tag 0x0069 extern const TagDetails pentaxDynamicRangeExpansion[] = { { 0, N_("Off") }, { 0x1000000, N_("On") }, }; //! HighISONoiseReduction, tag 0x0071 extern const TagDetails pentaxHighISONoiseReduction[] = { { 0, N_("Off") }, { 1, N_("Weakest") }, { 2, N_("Weak") }, { 3, N_("Strong") }, { 4, N_("Custom") }, }; std::ostream& PentaxMakerNote::printPentaxVersion(std::ostream& os, const Value& value, const ExifData*) { std::string val = value.toString(); size_t i; while ((i = val.find(' ')) != std::string::npos && i != val.length() - 1) { val.replace(i, 1, "."); } os << val; return os; } std::ostream& PentaxMakerNote::printPentaxResolution(std::ostream& os, const Value& value, const ExifData*) { std::string val = value.toString(); size_t i; while ((i = val.find(' ')) != std::string::npos && i != val.length() - 1) { val.replace(i, 1, "x"); } os << val; return os; } std::ostream& PentaxMakerNote::printPentaxDate(std::ostream& os, const Value& value, const ExifData*) { /* I choose same format as is used inside EXIF itself */ os << ((value.toLong(0) << 8) + value.toLong(1)); os << ":"; os << std::setw(2) << std::setfill('0') << value.toLong(2); os << ":"; os << std::setw(2) << std::setfill('0') << value.toLong(3); return os; } std::ostream& PentaxMakerNote::printPentaxTime(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); os << std::setw(2) << std::setfill('0') << value.toLong(0); os << ":"; os << std::setw(2) << std::setfill('0') << value.toLong(1); os << ":"; os << std::setw(2) << std::setfill('0') << value.toLong(2); os.flags(f); return os; } std::ostream& PentaxMakerNote::printPentaxExposure(std::ostream& os, const Value& value, const ExifData*) { os << static_cast(value.toLong()) / 100 << " ms"; return os; } std::ostream& PentaxMakerNote::printPentaxFValue(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); os << "F" << std::setprecision(2) << static_cast(value.toLong()) / 10; os.flags(f); return os; } std::ostream& PentaxMakerNote::printPentaxFocalLength(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); os << std::fixed << std::setprecision(1) << static_cast(value.toLong()) / 100 << " mm"; os.flags(f); return os; } std::ostream& PentaxMakerNote::printPentaxCompensation(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); os << std::setprecision(2) << (static_cast(value.toLong()) - 50) / 10 << " EV"; os.flags(f); return os; } std::ostream& PentaxMakerNote::printPentaxTemperature(std::ostream& os, const Value& value, const ExifData*) { os << value.toLong() << " C"; return os; } std::ostream& PentaxMakerNote::printPentaxFlashCompensation(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); os << std::setprecision(2) << static_cast(value.toLong()) / 256 << " EV"; os.flags(f); return os; } std::ostream& PentaxMakerNote::printPentaxBracketing(std::ostream& os, const Value& value, const ExifData*) { long l0 = value.toLong(0); if (l0 < 10) { os << std::setprecision(2) << static_cast(l0) / 3 << " EV"; } else { os << std::setprecision(2) << static_cast(l0) - 9.5 << " EV"; } if (value.count() == 2) { long l1 = value.toLong(1); long type; long range; os << " ("; if (l1 == 0) { os << _("No extended bracketing"); } else { type = l1 >> 8; range = l1 & 0xff; switch (type) { case 1: os << _("WB-BA"); break; case 2: os << _("WB-GM"); break; case 3: os << _("Saturation"); break; case 4: os << _("Sharpness"); break; case 5: os << _("Contrast"); break; default: os << _("Unknown ") << type; break; } os << " " << range; } os << ")"; } return os; } // Pentax MakerNote Tag Info const TagInfo PentaxMakerNote::tagInfo_[] = { TagInfo(0x0000, "Version", N_("Version"), N_("Pentax Makernote version"), pentaxId, makerTags, undefined, -1, printPentaxVersion), TagInfo(0x0001, "Mode", N_("Shooting mode"), N_("Camera shooting mode"), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxShootingMode)), TagInfo(0x0002, "PreviewResolution", N_("Resolution of a preview image"), N_("Resolution of a preview image"), pentaxId, makerTags, undefined, -1, printPentaxResolution), TagInfo(0x0003, "PreviewLength", N_("Length of a preview image"), N_("Size of an IFD containing a preview image"), pentaxId, makerTags, undefined, -1, printValue), TagInfo(0x0004, "PreviewOffset", N_("Pointer to a preview image"), N_("Offset to an IFD containing a preview image"), pentaxId, makerTags, undefined, -1, printValue), TagInfo(0x0005, "ModelID", N_("Model identification"), N_("Pentax model identification"), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxModel)), TagInfo(0x0006, "Date", N_("Date"), N_("Date"), pentaxId, makerTags, undefined, -1, printPentaxDate), TagInfo(0x0007, "Time", N_("Time"), N_("Time"), pentaxId, makerTags, undefined, -1, printPentaxTime), TagInfo(0x0008, "Quality", N_("Image quality"), N_("Image quality settings"), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxQuality)), TagInfo(0x0009, "Size", N_("Image size"), N_("Image size settings"), pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxSize)), /* Some missing ! */ TagInfo(0x000c, "Flash", N_("Flash mode"), N_("Flash mode settings"), pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxFlash)), TagInfo(0x000d, "Focus", N_("Focus mode"), N_("Focus mode settings"), pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxFocus)), TagInfo(0x000e, "AFPoint", N_("AF point"), N_("Selected AF point"), pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxAFPoint)), TagInfo(0x000F, "AFPointInFocus", N_("AF point in focus"), N_("AF point in focus"), pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxAFPointFocus)), /* Some missing ! */ TagInfo(0x0012, "ExposureTime", N_("Exposure time"), N_("Exposure time"), pentaxId, makerTags, unsignedLong, -1, printPentaxExposure), TagInfo(0x0013, "FNumber", N_("F-Number"), N_("F-Number"), pentaxId, makerTags, unsignedLong, -1, printPentaxFValue), TagInfo(0x0014, "ISO", N_("ISO sensitivity"), N_("ISO sensitivity settings"), pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxISO)), /* Some missing ! */ TagInfo(0x0016, "ExposureCompensation", N_("Exposure compensation"), N_("Exposure compensation"), pentaxId, makerTags, unsignedLong, -1, printPentaxCompensation), /* Some missing ! */ TagInfo(0x0017, "MeteringMode", N_("MeteringMode"), N_("MeteringMode"), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxMeteringMode)), TagInfo(0x0018, "AutoBracketing", N_("AutoBracketing"), N_("AutoBracketing"), pentaxId, makerTags, undefined, -1, printPentaxBracketing), TagInfo(0x0019, "WhiteBalance", N_("White balance"), N_("White balance"), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxWhiteBalance)), TagInfo(0x001a, "WhiteBalanceMode", N_("White balance mode"), N_("White balance mode"), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxWhiteBalanceMode)), TagInfo(0x001b, "BlueBalance", N_("Blue balance"), N_("Blue color balance"), pentaxId, makerTags, unsignedLong, -1, printValue), TagInfo(0x001c, "RedBalance", N_("Red balance"), N_("Red color balance"), pentaxId, makerTags, unsignedLong, -1, printValue), TagInfo(0x001d, "FocalLength", N_("FocalLength"), N_("FocalLength"), pentaxId, makerTags, undefined, -1, printPentaxFocalLength), TagInfo(0x001e, "DigitalZoom", N_("Digital zoom"), N_("Digital zoom"), pentaxId, makerTags, unsignedLong, -1, printValue), TagInfo(0x001f, "Saturation", N_("Saturation"), N_("Saturation"), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxSaturation)), TagInfo(0x0020, "Contrast", N_("Contrast"), N_("Contrast"), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxContrast)), TagInfo(0x0021, "Sharpness", N_("Sharpness"), N_("Sharpness"), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxSharpness)), TagInfo(0x0022, "Location", N_("Location"), N_("Location"), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxLocation)), TagInfo(0x0023, "Hometown", N_("Hometown"), N_("Home town"), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxCities)), TagInfo(0x0024, "Destination", N_("Destination"), N_("Destination"), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxCities)), TagInfo(0x0025, "HometownDST", N_("Hometown DST"), N_("Whether day saving time is active in home town"), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxYesNo)), TagInfo(0x0026, "DestinationDST", N_("Destination DST"), N_("Whether day saving time is active in destination"), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxYesNo)), TagInfo(0x0027, "DSPFirmwareVersion", N_("DSPFirmwareVersion"), N_("DSPFirmwareVersion"), pentaxId, makerTags, unsignedByte, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x0028, "CPUFirmwareVersion", N_("CPUFirmwareVersion"), N_("CPUFirmwareVersion"), pentaxId, makerTags, unsignedByte, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x0029, "FrameNumber", N_("Frame number"), N_("Frame number"), pentaxId, makerTags, undefined, -1, printValue), /* Some missing ! */ TagInfo(0x002d, "EffectiveLV", N_("Light value"), N_("Camera calculated light value, includes exposure compensation"), pentaxId, makerTags, unsignedShort, -1, printValue), /* Some missing ! */ TagInfo(0x0032, "ImageProcessing", N_("Image processing"), N_("Image processing"), pentaxId, makerTags, undefined, -1, EXV_PRINT_COMBITAG(pentaxImageProcessing, 4, 0)), TagInfo(0x0033, "PictureMode", N_("Picture mode"), N_("Picture mode"), pentaxId, makerTags, undefined, -1, EXV_PRINT_COMBITAG(pentaxPictureMode, 3, 0)), TagInfo(0x0034, "DriveMode", N_("Drive mode"), N_("Drive mode"), pentaxId, makerTags, undefined, -1, EXV_PRINT_COMBITAG(pentaxDriveMode, 4, 0)), /* Some missing ! */ TagInfo(0x0037, "ColorSpace", N_("Color space"), N_("Color space"), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxColorSpace)), TagInfo(0x0038, "ImageAreaOffset", N_("Image area offset"), N_("Image area offset"), pentaxId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0039, "RawImageSize", N_("Raw image size"), N_("Raw image size"), pentaxId, makerTags, unsignedLong, -1, printValue), /* Some missing ! */ TagInfo(0x003e, "PreviewImageBorders", N_("Preview image borders"), N_("Preview image borders"), pentaxId, makerTags, unsignedByte, -1, printValue), TagInfo(0x003f, "LensType", N_("Lens type"), N_("Lens type"), pentaxId, makerTags, unsignedByte, -1, EXV_PRINT_COMBITAG_MULTI(pentaxLensType, 2, 1, 2)), TagInfo(0x0040, "SensitivityAdjust", N_("Sensitivity adjust"), N_("Sensitivity adjust"), pentaxId, makerTags, unsignedLong, -1, printValue), TagInfo(0x0041, "DigitalFilter", N_("Digital filter"), N_("Digital filter"), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxOffOn)), /* Some missing ! */ TagInfo(0x0047, "Temperature", N_("Temperature"), N_("Camera temperature"), pentaxId, makerTags, signedByte, -1, printPentaxTemperature), TagInfo(0x0048, "AELock", N_("AE lock"), N_("AE lock"), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxOffOn)), TagInfo(0x0049, "NoiseReduction", N_("Noise reduction"), N_("Noise reduction"), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxOffOn)), /* Some missing ! */ TagInfo(0x004d, "FlashExposureCompensation", N_("Flash exposure compensation"), N_("Flash exposure compensation"), pentaxId, makerTags, signedLong, -1, printPentaxFlashCompensation), /* Some missing ! */ TagInfo(0x004f, "ImageTone", N_("Image tone"), N_("Image tone"), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxImageTone)), TagInfo(0x0050, "ColorTemperature", N_("Color temperature"), N_("Color temperature"), pentaxId, makerTags, unsignedShort, -1, printValue), /* Some missing ! */ TagInfo(0x005c, "ShakeReduction", N_("Shake reduction"), N_("Shake reduction information"), pentaxId, makerTags, undefined, -1, printValue), TagInfo(0x005d, "ShutterCount", N_("Shutter count"), N_("Shutter count"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: This has some encryption by date (see exiftool) */ TagInfo(0x0069, "DynamicRangeExpansion", N_("Dynamic range expansion"), N_("Dynamic range expansion"), pentaxId, makerTags, undefined, -1, EXV_PRINT_COMBITAG(pentaxDynamicRangeExpansion, 4, 0)), TagInfo(0x0071, "HighISONoiseReduction", N_("High ISO noise reduction"), N_("High ISO noise reduction"), pentaxId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(pentaxHighISONoiseReduction)), TagInfo(0x0072, "AFAdjustment", N_("AF Adjustment"), N_("AF Adjustment"), pentaxId, makerTags, undefined, -1, printValue), /* Many missing ! */ TagInfo(0x0200, "BlackPoint", N_("Black point"), N_("Black point"), pentaxId, makerTags, undefined, -1, printValue), TagInfo(0x0201, "WhitePoint", N_("White point"), N_("White point"), pentaxId, makerTags, undefined, -1, printValue), /* Some missing ! */ TagInfo(0x0205, "ShotInfo", N_("ShotInfo"), N_("ShotInfo"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x0206, "AEInfo", N_("AEInfo"), N_("AEInfo"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x0207, "LensInfo", N_("LensInfo"), N_("LensInfo"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x0208, "FlashInfo", N_("FlashInfo"), N_("FlashInfo"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x0209, "AEMeteringSegments", N_("AEMeteringSegments"), N_("AEMeteringSegments"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x020a, "FlashADump", N_("FlashADump"), N_("FlashADump"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x020b, "FlashBDump", N_("FlashBDump"), N_("FlashBDump"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ /* Some missing ! */ TagInfo(0x020d, "WB_RGGBLevelsDaylight", N_("WB_RGGBLevelsDaylight"), N_("WB_RGGBLevelsDaylight"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x020e, "WB_RGGBLevelsShade", N_("WB_RGGBLevelsShade"), N_("WB_RGGBLevelsShade"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x020f, "WB_RGGBLevelsCloudy", N_("WB_RGGBLevelsCloudy"), N_("WB_RGGBLevelsCloudy"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x0210, "WB_RGGBLevelsTungsten", N_("WB_RGGBLevelsTungsten"), N_("WB_RGGBLevelsTungsten"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x0211, "WB_RGGBLevelsFluorescentD", N_("WB_RGGBLevelsFluorescentD"), N_("WB_RGGBLevelsFluorescentD"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x0212, "WB_RGGBLevelsFluorescentN", N_("WB_RGGBLevelsFluorescentN"), N_("WB_RGGBLevelsFluorescentN"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x0213, "WB_RGGBLevelsFluorescentW", N_("WB_RGGBLevelsFluorescentW"), N_("WB_RGGBLevelsFluorescentW"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x0214, "WB_RGGBLevelsFlash", N_("WB_RGGBLevelsFlash"), N_("WB_RGGBLevelsFlash"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x0215, "CameraInfo", N_("CameraInfo"), N_("CameraInfo"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x0216, "BatteryInfo", N_("BatteryInfo"), N_("BatteryInfo"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x021f, "AFInfo", N_("AFInfo"), N_("AFInfo"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x0222, "ColorInfo", N_("ColorInfo"), N_("ColorInfo"), pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ TagInfo(0x0229, "SerialNumber", N_("Serial Number"), N_("Serial Number"), pentaxId, makerTags, asciiString, -1, printValue), // End of list marker TagInfo(0xffff, "(UnknownPentaxMakerNoteTag)", "(UnknownPentaxMakerNoteTag)", N_("Unknown PentaxMakerNote tag"), pentaxId, makerTags, asciiString, -1, printValue) }; const TagInfo* PentaxMakerNote::tagList() { return tagInfo_; } }} // namespace Internal, Exiv2 exiv2-0.25/src/jp2image.cpp0000664000175000017500000006172312521135474015321 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: jp2image.cpp Version: $Rev: 3777 $ Author(s): Marco Piovanelli, Ovolab (marco) Author(s): Gilles Caulier (cgilles) History: 12-Mar-2007, marco: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: jp2image.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "jp2image.hpp" #include "tiffimage.hpp" #include "image.hpp" #include "basicio.hpp" #include "error.hpp" #include "futils.hpp" // + standard includes #include #include #include #include // JPEG-2000 box types const uint32_t kJp2BoxTypeJp2Header = 0x6a703268; // 'jp2h' const uint32_t kJp2BoxTypeImageHeader = 0x69686472; // 'ihdr' const uint32_t kJp2BoxTypeUuid = 0x75756964; // 'uuid' // JPEG-2000 UUIDs for embedded metadata // // See http://www.jpeg.org/public/wg1n2600.doc for information about embedding IPTC-NAA data in JPEG-2000 files // See http://www.adobe.com/devnet/xmp/pdfs/xmp_specification.pdf for information about embedding XMP data in JPEG-2000 files const unsigned char kJp2UuidExif[] = "JpgTiffExif->JP2"; const unsigned char kJp2UuidIptc[] = "\x33\xc7\xa4\xd2\xb8\x1d\x47\x23\xa0\xba\xf1\xa3\xe0\x97\xad\x38"; const unsigned char kJp2UuidXmp[] = "\xbe\x7a\xcf\xcb\x97\xa9\x42\xe8\x9c\x71\x99\x94\x91\xe3\xaf\xac"; // See section B.1.1 (JPEG 2000 Signature box) of JPEG-2000 specification const unsigned char Jp2Signature[12] = { 0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20, 0x0d, 0x0a, 0x87, 0x0a }; const unsigned char Jp2Blank[] = { 0x00,0x00,0x00,0x0c,0x6a,0x50,0x20,0x20,0x0d,0x0a,0x87,0x0a,0x00,0x00,0x00,0x14, 0x66,0x74,0x79,0x70,0x6a,0x70,0x32,0x20,0x00,0x00,0x00,0x00,0x6a,0x70,0x32,0x20, 0x00,0x00,0x00,0x2d,0x6a,0x70,0x32,0x68,0x00,0x00,0x00,0x16,0x69,0x68,0x64,0x72, 0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x01,0x07,0x07,0x00,0x00,0x00,0x00, 0x00,0x0f,0x63,0x6f,0x6c,0x72,0x01,0x00,0x00,0x00,0x00,0x00,0x11,0x00,0x00,0x00, 0x00,0x6a,0x70,0x32,0x63,0xff,0x4f,0xff,0x51,0x00,0x29,0x00,0x00,0x00,0x00,0x00, 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07, 0x01,0x01,0xff,0x64,0x00,0x23,0x00,0x01,0x43,0x72,0x65,0x61,0x74,0x6f,0x72,0x3a, 0x20,0x4a,0x61,0x73,0x50,0x65,0x72,0x20,0x56,0x65,0x72,0x73,0x69,0x6f,0x6e,0x20, 0x31,0x2e,0x39,0x30,0x30,0x2e,0x31,0xff,0x52,0x00,0x0c,0x00,0x00,0x00,0x01,0x00, 0x05,0x04,0x04,0x00,0x01,0xff,0x5c,0x00,0x13,0x40,0x40,0x48,0x48,0x50,0x48,0x48, 0x50,0x48,0x48,0x50,0x48,0x48,0x50,0x48,0x48,0x50,0xff,0x90,0x00,0x0a,0x00,0x00, 0x00,0x00,0x00,0x2d,0x00,0x01,0xff,0x5d,0x00,0x14,0x00,0x40,0x40,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x93,0xcf,0xb4, 0x04,0x00,0x80,0x80,0x80,0x80,0x80,0xff,0xd9 }; //! @cond IGNORE struct Jp2BoxHeader { uint32_t boxLength; uint32_t boxType; }; struct Jp2ImageHeaderBox { uint32_t imageHeight; uint32_t imageWidth; uint16_t componentCount; uint8_t bitsPerComponent; uint8_t compressionType; uint8_t colorspaceIsUnknown; uint8_t intellectualPropertyFlag; uint16_t compressionTypeProfile; }; struct Jp2UuidBox { uint8_t uuid[16]; }; //! @endcond // ***************************************************************************** // class member definitions namespace Exiv2 { Jp2Image::Jp2Image(BasicIo::AutoPtr io, bool create) : Image(ImageType::jp2, mdExif | mdIptc | mdXmp, io) { if (create) { if (io_->open() == 0) { #ifdef DEBUG std::cerr << "Exiv2::Jp2Image:: Creating JPEG2000 image to memory\n"; #endif IoCloser closer(*io_); if (io_->write(Jp2Blank, sizeof(Jp2Blank)) != sizeof(Jp2Blank)) { #ifdef DEBUG std::cerr << "Exiv2::Jp2Image:: Failed to create JPEG2000 image on memory\n"; #endif } } } } // Jp2Image::Jp2Image std::string Jp2Image::mimeType() const { return "image/jp2"; } void Jp2Image::setComment(const std::string& /*comment*/) { // Todo: implement me! throw(Error(32, "Image comment", "JP2")); } // Jp2Image::setComment void Jp2Image::readMetadata() { #ifdef DEBUG std::cerr << "Exiv2::Jp2Image::readMetadata: Reading JPEG-2000 file " << io_->path() << "\n"; #endif if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); // Ensure that this is the correct image type if (!isJp2Type(*io_, true)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "JPEG-2000"); } long position = 0; Jp2BoxHeader box = {0,0}; Jp2BoxHeader subBox = {0,0}; Jp2ImageHeaderBox ihdr = {0,0,0,0,0,0,0,0}; Jp2UuidBox uuid = {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}; while (io_->read((byte*)&box, sizeof(box)) == sizeof(box)) { position = io_->tell(); box.boxLength = getLong((byte*)&box.boxLength, bigEndian); #ifdef DEBUG std::cout << "Exiv2::Jp2Image::readMetadata: Position: " << position << "\n"; std::cout << "Exiv2::Jp2Image::readMetadata: Find box type: " << std::string((const char*)&box.boxType) << " length: " << box.boxLength << "\n"; #endif box.boxType = getLong((byte*)&box.boxType, bigEndian); if (box.boxLength == 0) { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::readMetadata: Null Box size has been found. " "This is the last box of file.\n"; #endif return; } if (box.boxLength == 1) { // FIXME. Special case. the real box size is given in another place. } switch(box.boxType) { case kJp2BoxTypeJp2Header: { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::readMetadata: JP2Header box found\n"; #endif if (io_->read((byte*)&subBox, sizeof(subBox)) == sizeof(subBox)) { subBox.boxLength = getLong((byte*)&subBox.boxLength, bigEndian); subBox.boxType = getLong((byte*)&subBox.boxType, bigEndian); if((subBox.boxType == kJp2BoxTypeImageHeader) && (io_->read((byte*)&ihdr, sizeof(ihdr)) == sizeof(ihdr))) { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::readMetadata: Ihdr data found\n"; #endif ihdr.imageHeight = getLong((byte*)&ihdr.imageHeight, bigEndian); ihdr.imageWidth = getLong((byte*)&ihdr.imageWidth, bigEndian); ihdr.componentCount = getShort((byte*)&ihdr.componentCount, bigEndian); ihdr.compressionTypeProfile = getShort((byte*)&ihdr.compressionTypeProfile, bigEndian); pixelWidth_ = ihdr.imageWidth; pixelHeight_ = ihdr.imageHeight; } } break; } case kJp2BoxTypeUuid: { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::readMetadata: UUID box found\n"; #endif if (io_->read((byte*)&uuid, sizeof(uuid)) == sizeof(uuid)) { DataBuf rawData; long bufRead; if(memcmp(uuid.uuid, kJp2UuidExif, sizeof(uuid)) == 0) { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::readMetadata: Exif data found\n"; #endif // we've hit an embedded Exif block rawData.alloc(box.boxLength - (sizeof(box) + sizeof(uuid))); bufRead = io_->read(rawData.pData_, rawData.size_); if (io_->error()) throw Error(14); if (bufRead != rawData.size_) throw Error(20); if (rawData.size_ > 0) { // Find the position of Exif header in bytes array. const byte exifHeader[] = { 0x45, 0x78, 0x69, 0x66, 0x00, 0x00 }; long pos = -1; for (long i=0 ; i < rawData.size_-(long)sizeof(exifHeader) ; i++) { if (memcmp(exifHeader, &rawData.pData_[i], sizeof(exifHeader)) == 0) { pos = i; break; } } // If found it, store only these data at from this place. if (pos !=-1) { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::readMetadata: Exif header found at position " << pos << "\n"; #endif pos = pos + sizeof(exifHeader); ByteOrder bo = TiffParser::decode(exifData(), iptcData(), xmpData(), rawData.pData_ + pos, rawData.size_ - pos); setByteOrder(bo); } } else { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode Exif metadata.\n"; #endif exifData_.clear(); } } else if(memcmp(uuid.uuid, kJp2UuidIptc, sizeof(uuid)) == 0) { // we've hit an embedded IPTC block #ifdef DEBUG std::cout << "Exiv2::Jp2Image::readMetadata: Iptc data found\n"; #endif rawData.alloc(box.boxLength - (sizeof(box) + sizeof(uuid))); bufRead = io_->read(rawData.pData_, rawData.size_); if (io_->error()) throw Error(14); if (bufRead != rawData.size_) throw Error(20); if (IptcParser::decode(iptcData_, rawData.pData_, rawData.size_)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode IPTC metadata.\n"; #endif iptcData_.clear(); } } else if(memcmp(uuid.uuid, kJp2UuidXmp, sizeof(uuid)) == 0) { // we've hit an embedded XMP block #ifdef DEBUG std::cout << "Exiv2::Jp2Image::readMetadata: Xmp data found\n"; #endif rawData.alloc(box.boxLength - (uint32_t)(sizeof(box) + sizeof(uuid))); bufRead = io_->read(rawData.pData_, rawData.size_); if (io_->error()) throw Error(14); if (bufRead != rawData.size_) throw Error(20); xmpPacket_.assign(reinterpret_cast(rawData.pData_), rawData.size_); std::string::size_type idx = xmpPacket_.find_first_of('<'); if (idx != std::string::npos && idx > 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Removing " << static_cast(idx) << " characters from the beginning of the XMP packet\n"; #endif xmpPacket_ = xmpPacket_.substr(idx); } if (xmpPacket_.size() > 0 && XmpParser::decode(xmpData_, xmpPacket_)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode XMP metadata.\n"; #endif } } } break; } default: { break; } } // Move to the next box. io_->seek(static_cast(position - sizeof(box) + box.boxLength), BasicIo::beg); if (io_->error() || io_->eof()) throw Error(14); } } // Jp2Image::readMetadata void Jp2Image::writeMetadata() { if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); BasicIo::AutoPtr tempIo(io_->temporary()); // may throw assert (tempIo.get() != 0); doWriteMetadata(*tempIo); // may throw io_->close(); io_->transfer(*tempIo); // may throw } // Jp2Image::writeMetadata void Jp2Image::doWriteMetadata(BasicIo& outIo) { if (!io_->isopen()) throw Error(20); if (!outIo.isopen()) throw Error(21); #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: Writing JPEG-2000 file " << io_->path() << "\n"; std::cout << "Exiv2::Jp2Image::doWriteMetadata: tmp file created " << outIo.path() << "\n"; #endif // Ensure that this is the correct image type if (!isJp2Type(*io_, true)) { if (io_->error() || io_->eof()) throw Error(20); throw Error(22); } // Write JPEG2000 Signature. if (outIo.write(Jp2Signature, 12) != 12) throw Error(21); Jp2BoxHeader box = {0,0}; byte boxDataSize[4]; byte boxUUIDtype[4]; DataBuf bheaderBuf(8); // Box header : 4 bytes (data size) + 4 bytes (box type). // FIXME: Andreas, why the loop do not stop when EOF is taken from _io. The loop go out by an exception // generated by a zero size data read. while(io_->tell() < io_->size()) { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: Position: " << io_->tell() << " / " << io_->size() << "\n"; #endif // Read chunk header. std::memset(bheaderBuf.pData_, 0x00, bheaderBuf.size_); long bufRead = io_->read(bheaderBuf.pData_, bheaderBuf.size_); if (io_->error()) throw Error(14); if (bufRead != bheaderBuf.size_) throw Error(20); // Decode box header. box.boxLength = getLong(bheaderBuf.pData_, bigEndian); box.boxType = getLong(bheaderBuf.pData_ + 4, bigEndian); #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: Find box type: " << bheaderBuf.pData_ + 4 << " length: " << box.boxLength << "\n"; #endif if (box.boxLength == 0) { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: Null Box size has been found. " "This is the last box of file.\n"; #endif box.boxLength = io_->size() - io_->tell() + 8; } if (box.boxLength == 1) { // FIXME. Special case. the real box size is given in another place. } // Read whole box : Box header + Box data (not fixed size - can be null). DataBuf boxBuf(box.boxLength); // Box header (8 bytes) + box data. memcpy(boxBuf.pData_, bheaderBuf.pData_, 8); // Copy header. bufRead = io_->read(boxBuf.pData_ + 8, box.boxLength - 8); // Extract box data. if (io_->error()) { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: Error reading source file\n"; #endif throw Error(14); } if (bufRead != (long)(box.boxLength - 8)) { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: Cannot read source file data\n"; #endif throw Error(20); } switch(box.boxType) { case kJp2BoxTypeJp2Header: { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: Write JP2Header box (length: " << box.boxLength << ")\n"; #endif if (outIo.write(boxBuf.pData_, boxBuf.size_) != boxBuf.size_) throw Error(21); // Write all updated metadata here, just after JP2Header. if (exifData_.count() > 0) { // Update Exif data to a new UUID box Blob blob; ExifParser::encode(blob, littleEndian, exifData_); if (blob.size()) { const unsigned char ExifHeader[] = {0x45, 0x78, 0x69, 0x66, 0x00, 0x00}; DataBuf rawExif(static_cast(sizeof(ExifHeader) + blob.size())); memcpy(rawExif.pData_, ExifHeader, sizeof(ExifHeader)); memcpy(rawExif.pData_ + sizeof(ExifHeader), &blob[0], blob.size()); DataBuf boxData(8 + 16 + rawExif.size_); ul2Data(boxDataSize, boxData.size_, Exiv2::bigEndian); ul2Data(boxUUIDtype, kJp2BoxTypeUuid, Exiv2::bigEndian); memcpy(boxData.pData_, boxDataSize, 4); memcpy(boxData.pData_ + 4, boxUUIDtype, 4); memcpy(boxData.pData_ + 8, kJp2UuidExif, 16); memcpy(boxData.pData_ + 8 + 16, rawExif.pData_, rawExif.size_); #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: Write box with Exif metadata (length: " << boxData.size_ << ")\n"; #endif if (outIo.write(boxData.pData_, boxData.size_) != boxData.size_) throw Error(21); } } if (iptcData_.count() > 0) { // Update Iptc data to a new UUID box DataBuf rawIptc = IptcParser::encode(iptcData_); if (rawIptc.size_ > 0) { DataBuf boxData(8 + 16 + rawIptc.size_); ul2Data(boxDataSize, boxData.size_, Exiv2::bigEndian); ul2Data(boxUUIDtype, kJp2BoxTypeUuid, Exiv2::bigEndian); memcpy(boxData.pData_, boxDataSize, 4); memcpy(boxData.pData_ + 4, boxUUIDtype, 4); memcpy(boxData.pData_ + 8, kJp2UuidIptc, 16); memcpy(boxData.pData_ + 8 + 16, rawIptc.pData_, rawIptc.size_); #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: Write box with Iptc metadata (length: " << boxData.size_ << ")\n"; #endif if (outIo.write(boxData.pData_, boxData.size_) != boxData.size_) throw Error(21); } } if (writeXmpFromPacket() == false) { if (XmpParser::encode(xmpPacket_, xmpData_) > 1) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Failed to encode XMP metadata.\n"; #endif } } if (xmpPacket_.size() > 0) { // Update Xmp data to a new UUID box DataBuf xmp(reinterpret_cast(xmpPacket_.data()), static_cast(xmpPacket_.size())); DataBuf boxData(8 + 16 + xmp.size_); ul2Data(boxDataSize, boxData.size_, Exiv2::bigEndian); ul2Data(boxUUIDtype, kJp2BoxTypeUuid, Exiv2::bigEndian); memcpy(boxData.pData_, boxDataSize, 4); memcpy(boxData.pData_ + 4, boxUUIDtype, 4); memcpy(boxData.pData_ + 8, kJp2UuidXmp, 16); memcpy(boxData.pData_ + 8 + 16, xmp.pData_, xmp.size_); #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: Write box with XMP metadata (length: " << boxData.size_ << ")\n"; #endif if (outIo.write(boxData.pData_, boxData.size_) != boxData.size_) throw Error(21); } break; } case kJp2BoxTypeUuid: { if(memcmp(boxBuf.pData_ + 8, kJp2UuidExif, 16) == 0) { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: strip Exif Uuid box\n"; #endif } else if(memcmp(boxBuf.pData_ + 8, kJp2UuidIptc, 16) == 0) { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: strip Iptc Uuid box\n"; #endif } else if(memcmp(boxBuf.pData_ + 8, kJp2UuidXmp, 16) == 0) { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: strip Xmp Uuid box\n"; #endif } else { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: write Uuid box (length: " << box.boxLength << ")\n"; #endif if (outIo.write(boxBuf.pData_, boxBuf.size_) != boxBuf.size_) throw Error(21); } break; } default: { #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: write box (length: " << box.boxLength << ")\n"; #endif if (outIo.write(boxBuf.pData_, boxBuf.size_) != boxBuf.size_) throw Error(21); break; } } } #ifdef DEBUG std::cout << "Exiv2::Jp2Image::doWriteMetadata: EOF\n"; #endif } // Jp2Image::doWriteMetadata // ************************************************************************* // free functions Image::AutoPtr newJp2Instance(BasicIo::AutoPtr io, bool create) { Image::AutoPtr image(new Jp2Image(io, create)); if (!image->good()) { image.reset(); } return image; } bool isJp2Type(BasicIo& iIo, bool advance) { const int32_t len = 12; byte buf[len]; iIo.read(buf, len); if (iIo.error() || iIo.eof()) { return false; } bool matched = (memcmp(buf, Jp2Signature, len) == 0); if (!advance || !matched) { iIo.seek(-len, BasicIo::cur); } return matched; } } // namespace Exiv2 exiv2-0.25/src/pngimage.cpp0000664000175000017500000004560412523623336015413 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: pngimage.cpp Version: $Rev: 3815 $ Author(s): Gilles Caulier (cgilles) History: 12-Jun-06, gc: submitted Credits: See header file */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: pngimage.cpp 3815 2015-05-10 09:37:34Z ahuggel $") // included header files #include "config.h" #ifdef EXV_HAVE_LIBZ #include "pngchunk_int.hpp" #include "pngimage.hpp" #include "jpgimage.hpp" #include "image.hpp" #include "image_int.hpp" #include "basicio.hpp" #include "error.hpp" #include "futils.hpp" // + standard includes #include #include #include #include // Signature from front of PNG file const unsigned char pngSignature[8] = { 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A }; const unsigned char pngBlank[] = { 0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52, 0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x08,0x02,0x00,0x00,0x00,0x90,0x77,0x53, 0xde,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xae,0xce,0x1c,0xe9,0x00,0x00, 0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0b,0x13,0x00,0x00,0x0b,0x13,0x01,0x00, 0x9a,0x9c,0x18,0x00,0x00,0x00,0x0c,0x49,0x44,0x41,0x54,0x08,0xd7,0x63,0xf8,0xff, 0xff,0x3f,0x00,0x05,0xfe,0x02,0xfe,0xdc,0xcc,0x59,0xe7,0x00,0x00,0x00,0x00,0x49, 0x45,0x4e,0x44,0xae,0x42,0x60,0x82 }; // ***************************************************************************** // class member definitions namespace Exiv2 { using namespace Internal; PngImage::PngImage(BasicIo::AutoPtr io, bool create) : Image(ImageType::png, mdExif | mdIptc | mdXmp | mdComment, io) { if (create) { if (io_->open() == 0) { #ifdef DEBUG std::cerr << "Exiv2::PngImage:: Creating PNG image to memory\n"; #endif IoCloser closer(*io_); if (io_->write(pngBlank, sizeof(pngBlank)) != sizeof(pngBlank)) { #ifdef DEBUG std::cerr << "Exiv2::PngImage:: Failed to create PNG image on memory\n"; #endif } } } } // PngImage::PngImage std::string PngImage::mimeType() const { return "image/png"; } void PngImage::printStructure(std::ostream& out, PrintStructureOption option) { if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); // Ensure that this is the correct image type if (!isPngType(*io_, true)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "PNG"); } char chType[5]; chType[0]=0; chType[4]=0; if ( option == kpsBasic || option == kpsXMP ) { if ( option == kpsBasic ) { out << "STRUCTURE OF PNG FILE: " << io_->path() << std::endl; out << " address | index | chunk_type | length | data" << std::endl; } long index = 0; const long imgSize = io_->size(); DataBuf cheaderBuf(8); while( !io_->eof() && ::strcmp(chType,"IEND") ) { size_t address = io_->tell(); std::memset(cheaderBuf.pData_, 0x0, cheaderBuf.size_); long bufRead = io_->read(cheaderBuf.pData_, cheaderBuf.size_); if (io_->error()) throw Error(14); if (bufRead != cheaderBuf.size_) throw Error(20); // Decode chunk data length. uint32_t dataOffset = Exiv2::getULong(cheaderBuf.pData_, Exiv2::bigEndian); long pos = io_->tell(); if ( pos == -1 || dataOffset > uint32_t(0x7FFFFFFF) || static_cast(dataOffset) > imgSize - pos) throw Exiv2::Error(14); for (int i = 4; i < 8; i++) { chType[i-4]=cheaderBuf.pData_[i]; } uint32_t blen = 32 ; uint32_t dOff = dataOffset; std::string dataString ; if ( dataOffset > blen ) { DataBuf buff(blen+1); io_->read(buff.pData_,blen); dataOffset -= blen ; dataString = Internal::binaryToString(buff, blen); } if ( option == kpsBasic ) out << Internal::stringFormat("%8d | %5d | %10s |%8d | ",(uint32_t)address, index++,chType,dOff) << dataString << std::endl; // for XMP, back up and read the whole block const char* key = "XML:com.adobe.xmp" ; size_t start = ::strlen(key); if ( option == kpsXMP && dataString.find(key)==0 ) { #if defined(_MSC_VER) io_->seek(-static_cast(blen) , BasicIo::cur); #else io_->seek(-static_cast(blen) , BasicIo::cur); #endif dataOffset = dOff ; byte* xmp = new byte[dataOffset+5]; io_->read(xmp,dataOffset+4); xmp[dataOffset]=0; while ( xmp[start] == 0 ) start++; // crawl over the '\0' bytes between XML:....\0\0seek(dataOffset + 4 , BasicIo::cur); if (io_->error()) throw Error(14); } } } void PngImage::readMetadata() { #ifdef DEBUG std::cerr << "Exiv2::PngImage::readMetadata: Reading PNG file " << io_->path() << "\n"; #endif if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); // Ensure that this is the correct image type if (!isPngType(*io_, true)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "PNG"); } clearMetadata(); const long imgSize = io_->size(); DataBuf cheaderBuf(8); // Chunk header size : 4 bytes (data size) + 4 bytes (chunk type). while(!io_->eof()) { // Read chunk header. #ifdef DEBUG std::cout << "Exiv2::PngImage::readMetadata: Position: " << io_->tell() << "\n"; #endif std::memset(cheaderBuf.pData_, 0x0, cheaderBuf.size_); long bufRead = io_->read(cheaderBuf.pData_, cheaderBuf.size_); if (io_->error()) throw Error(14); if (bufRead != cheaderBuf.size_) throw Error(20); // Decode chunk data length. uint32_t dataOffset = Exiv2::getULong(cheaderBuf.pData_, Exiv2::bigEndian); long pos = io_->tell(); if ( pos == -1 || dataOffset > uint32_t(0x7FFFFFFF) || static_cast(dataOffset) > imgSize - pos) throw Exiv2::Error(14); // Perform a chunk triage for item that we need. if (!memcmp(cheaderBuf.pData_ + 4, "IEND", 4) || !memcmp(cheaderBuf.pData_ + 4, "IHDR", 4) || !memcmp(cheaderBuf.pData_ + 4, "tEXt", 4) || !memcmp(cheaderBuf.pData_ + 4, "zTXt", 4) || !memcmp(cheaderBuf.pData_ + 4, "iTXt", 4)) { // Extract chunk data. DataBuf cdataBuf(dataOffset); bufRead = io_->read(cdataBuf.pData_, dataOffset); if (io_->error()) throw Error(14); if (bufRead != (long)dataOffset) throw Error(20); if (!memcmp(cheaderBuf.pData_ + 4, "IEND", 4)) { // Last chunk found: we stop parsing. #ifdef DEBUG std::cout << "Exiv2::PngImage::readMetadata: Found IEND chunk (length: " << dataOffset << ")\n"; #endif return; } else if (!memcmp(cheaderBuf.pData_ + 4, "IHDR", 4)) { #ifdef DEBUG std::cout << "Exiv2::PngImage::readMetadata: Found IHDR chunk (length: " << dataOffset << ")\n"; #endif PngChunk::decodeIHDRChunk(cdataBuf, &pixelWidth_, &pixelHeight_); } else if (!memcmp(cheaderBuf.pData_ + 4, "tEXt", 4)) { #ifdef DEBUG std::cout << "Exiv2::PngImage::readMetadata: Found tEXt chunk (length: " << dataOffset << ")\n"; #endif PngChunk::decodeTXTChunk(this, cdataBuf, PngChunk::tEXt_Chunk); } else if (!memcmp(cheaderBuf.pData_ + 4, "zTXt", 4)) { #ifdef DEBUG std::cout << "Exiv2::PngImage::readMetadata: Found zTXt chunk (length: " << dataOffset << ")\n"; #endif PngChunk::decodeTXTChunk(this, cdataBuf, PngChunk::zTXt_Chunk); } else if (!memcmp(cheaderBuf.pData_ + 4, "iTXt", 4)) { #ifdef DEBUG std::cout << "Exiv2::PngImage::readMetadata: Found iTXt chunk (length: " << dataOffset << ")\n"; #endif PngChunk::decodeTXTChunk(this, cdataBuf, PngChunk::iTXt_Chunk); } // Set dataOffset to null like chunk data have been extracted previously. dataOffset = 0; } // Move to the next chunk: chunk data size + 4 CRC bytes. #ifdef DEBUG std::cout << "Exiv2::PngImage::readMetadata: Seek to offset: " << dataOffset + 4 << "\n"; #endif io_->seek(dataOffset + 4 , BasicIo::cur); if (io_->error() || io_->eof()) throw Error(14); } } // PngImage::readMetadata void PngImage::writeMetadata() { if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); BasicIo::AutoPtr tempIo(io_->temporary()); // may throw assert (tempIo.get() != 0); doWriteMetadata(*tempIo); // may throw io_->close(); io_->transfer(*tempIo); // may throw } // PngImage::writeMetadata void PngImage::doWriteMetadata(BasicIo& outIo) { if (!io_->isopen()) throw Error(20); if (!outIo.isopen()) throw Error(21); #ifdef DEBUG std::cout << "Exiv2::PngImage::doWriteMetadata: Writing PNG file " << io_->path() << "\n"; std::cout << "Exiv2::PngImage::doWriteMetadata: tmp file created " << outIo.path() << "\n"; #endif // Ensure that this is the correct image type if (!isPngType(*io_, true)) { if (io_->error() || io_->eof()) throw Error(20); throw Error(22); } // Write PNG Signature. if (outIo.write(pngSignature, 8) != 8) throw Error(21); DataBuf cheaderBuf(8); // Chunk header : 4 bytes (data size) + 4 bytes (chunk type). while(!io_->eof()) { // Read chunk header. std::memset(cheaderBuf.pData_, 0x00, cheaderBuf.size_); long bufRead = io_->read(cheaderBuf.pData_, cheaderBuf.size_); if (io_->error()) throw Error(14); if (bufRead != cheaderBuf.size_) throw Error(20); // Decode chunk data length. uint32_t dataOffset = getULong(cheaderBuf.pData_, bigEndian); if (dataOffset > 0x7FFFFFFF) throw Exiv2::Error(14); // Read whole chunk : Chunk header + Chunk data (not fixed size - can be null) + CRC (4 bytes). DataBuf chunkBuf(8 + dataOffset + 4); // Chunk header (8 bytes) + Chunk data + CRC (4 bytes). memcpy(chunkBuf.pData_, cheaderBuf.pData_, 8); // Copy header. bufRead = io_->read(chunkBuf.pData_ + 8, dataOffset + 4); // Extract chunk data + CRC if (io_->error()) throw Error(14); if (bufRead != (long)(dataOffset + 4)) throw Error(20); if (!memcmp(cheaderBuf.pData_ + 4, "IEND", 4)) { // Last chunk found: we write it and done. #ifdef DEBUG std::cout << "Exiv2::PngImage::doWriteMetadata: Write IEND chunk (length: " << dataOffset << ")\n"; #endif if (outIo.write(chunkBuf.pData_, chunkBuf.size_) != chunkBuf.size_) throw Error(21); return; } else if (!memcmp(cheaderBuf.pData_ + 4, "IHDR", 4)) { #ifdef DEBUG std::cout << "Exiv2::PngImage::doWriteMetadata: Write IHDR chunk (length: " << dataOffset << ")\n"; #endif if (outIo.write(chunkBuf.pData_, chunkBuf.size_) != chunkBuf.size_) throw Error(21); // Write all updated metadata here, just after IHDR. if (!comment_.empty()) { // Update Comment data to a new PNG chunk std::string chunk = PngChunk::makeMetadataChunk(comment_, mdComment); if (outIo.write((const byte*)chunk.data(), static_cast(chunk.size())) != (long)chunk.size()) { throw Error(21); } } if (exifData_.count() > 0) { // Update Exif data to a new PNG chunk Blob blob; ExifParser::encode(blob, littleEndian, exifData_); if (blob.size() > 0) { static const char exifHeader[] = { 0x45, 0x78, 0x69, 0x66, 0x00, 0x00 }; std::string rawExif = std::string(exifHeader, 6) + std::string((const char*)&blob[0], blob.size()); std::string chunk = PngChunk::makeMetadataChunk(rawExif, mdExif); if (outIo.write((const byte*)chunk.data(), static_cast(chunk.size())) != (long)chunk.size()) { throw Error(21); } } } if (iptcData_.count() > 0) { // Update IPTC data to a new PNG chunk DataBuf newPsData = Photoshop::setIptcIrb(0, 0, iptcData_); if (newPsData.size_ > 0) { std::string rawIptc((const char*)newPsData.pData_, newPsData.size_); std::string chunk = PngChunk::makeMetadataChunk(rawIptc, mdIptc); if (outIo.write((const byte*)chunk.data(), static_cast(chunk.size())) != (long)chunk.size()) { throw Error(21); } } } if (writeXmpFromPacket() == false) { if (XmpParser::encode(xmpPacket_, xmpData_) > 1) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Failed to encode XMP metadata.\n"; #endif } } if (xmpPacket_.size() > 0) { // Update XMP data to a new PNG chunk std::string chunk = PngChunk::makeMetadataChunk(xmpPacket_, mdXmp); if (outIo.write((const byte*)chunk.data(), static_cast(chunk.size())) != (long)chunk.size()) { throw Error(21); } } } else if (!memcmp(cheaderBuf.pData_ + 4, "tEXt", 4) || !memcmp(cheaderBuf.pData_ + 4, "zTXt", 4) || !memcmp(cheaderBuf.pData_ + 4, "iTXt", 4)) { DataBuf key = PngChunk::keyTXTChunk(chunkBuf, true); if (memcmp("Raw profile type exif", key.pData_, 21) == 0 || memcmp("Raw profile type APP1", key.pData_, 21) == 0 || memcmp("Raw profile type iptc", key.pData_, 21) == 0 || memcmp("Raw profile type xmp", key.pData_, 20) == 0 || memcmp("XML:com.adobe.xmp", key.pData_, 17) == 0 || memcmp("Description", key.pData_, 11) == 0) { #ifdef DEBUG std::cout << "Exiv2::PngImage::doWriteMetadata: strip " << cheaderBuf.pData_ + 4 << " chunk (key: " << key.pData_ << ")\n"; #endif } else { #ifdef DEBUG std::cout << "Exiv2::PngImage::doWriteMetadata: write " << cheaderBuf.pData_ + 4 << " chunk (length: " << dataOffset << ")\n"; #endif if (outIo.write(chunkBuf.pData_, chunkBuf.size_) != chunkBuf.size_) throw Error(21); } } else { // Write all others chunk as well. #ifdef DEBUG std::cout << "Exiv2::PngImage::doWriteMetadata: write " << cheaderBuf.pData_ + 4 << " chunk (length: " << dataOffset << ")\n"; #endif if (outIo.write(chunkBuf.pData_, chunkBuf.size_) != chunkBuf.size_) throw Error(21); } } } // PngImage::doWriteMetadata // ************************************************************************* // free functions Image::AutoPtr newPngInstance(BasicIo::AutoPtr io, bool create) { Image::AutoPtr image(new PngImage(io, create)); if (!image->good()) { image.reset(); } return image; } bool isPngType(BasicIo& iIo, bool advance) { const int32_t len = 8; byte buf[len]; iIo.read(buf, len); if (iIo.error() || iIo.eof()) { return false; } int rc = memcmp(buf, pngSignature, 8); if (!advance || rc != 0) { iIo.seek(-len, BasicIo::cur); } return rc == 0; } } // namespace Exiv2 #endif exiv2-0.25/src/casiomn.cpp0000664000175000017500000006325112521135474015252 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: Casiomn.cpp Version: $Rev: 3091 $ History: 30-Oct-13, ahu: created Credits: See header file */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: Casiomn.cpp 3091 2013-07-24 05:15:04Z robinwmills $") // ***************************************************************************** // included header files #include "types.hpp" #include "casiomn_int.hpp" #include "tags_int.hpp" #include "value.hpp" #include "i18n.h" // NLS support. // + standard includes #include #include #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { //! RecordingMode, tag 0x0001 extern const TagDetails casioRecordingMode[] = { { 1, N_("Single Shutter") }, { 2, N_("Panorama") }, { 3, N_("Night Scene") }, { 4, N_("Portrait") }, { 5, N_("Landscape") }, { 7, N_("Panorama") }, { 10, N_("Night Scene") }, { 15, N_("Portrait") }, { 16, N_("Landscape") } }; //! Quality, tag 0x0002 extern const TagDetails casioQuality[] = { { 1, N_("Economy") }, { 2, N_("Normal") }, { 3, N_("Fine") } }; //! Focus Mode, tag 0x0003 extern const TagDetails casioFocusMode[] = { { 2, N_("Macro") }, { 3, N_("Auto") }, { 4, N_("Manual") }, { 5, N_("Infinity") }, { 7, N_("Sport AF") } }; //! FlashMode, tag 0x0004 extern const TagDetails casioFlashMode[] = { { 1, N_("Auto") }, { 2, N_("On") }, { 3, N_("Off") }, { 4, N_("Off") }, { 5, N_("Red-eye Reduction") } }; //! Flash intensity, tag 0x0005 extern const TagDetails casioFlashIntensity[] = { { 11, N_("Weak") }, { 12, N_("Low") }, { 13, N_("Normal") }, { 14, N_("High") }, { 15, N_("Strong") } }; //! white balance, tag 0x0007 extern const TagDetails casioWhiteBalance[] = { { 1, N_("Auto") }, { 2, N_("Tungsten") }, { 3, N_("Daylight") }, { 4, N_("Fluorescent") }, { 5, N_("Shade") }, { 129, N_("Manual") } }; //! Flash intensity, tag 0x0005 extern const TagDetails casioDigitalZoom[] = { { 0x10000, N_("Off") }, { 0x10001, N_("2x") }, { 0x13333, N_("1.2x") }, { 0x13ae1, N_("1.23x") }, { 0x19999, N_("1.6x") }, { 0x20000, N_("2x") }, { 0x33333, N_("3.2x") }, { 0x40000, N_("4x") } }; //! Sharpness, tag 0x000b extern const TagDetails casioSharpness[] = { { 0, N_("Normal") }, { 1, N_("Soft") }, { 2, N_("Hard") }, { 16, N_("Normal") }, { 17, N_("+1") }, { 18, N_("-1") } }; //! Contrast, tag 0x000c extern const TagDetails casioContrast[] = { { 0, N_("Normal") }, { 1, N_("Low") }, { 2, N_("High") }, { 16, N_("Normal") }, { 17, N_("+1") }, { 18, N_("-1") } }; //! Saturation, tag 0x000d extern const TagDetails casioSaturation[] = { { 0, N_("Normal") }, { 1, N_("Low") }, { 2, N_("High") }, { 16, N_("Normal") }, { 17, N_("+1") }, { 18, N_("-1") } }; //! Enhancement, tag 0x0016 extern const TagDetails casioEnhancement[] = { { 1, N_("Off") }, { 2, N_("Red") }, { 3, N_("Green") }, { 4, N_("Blue") }, { 5, N_("Flesh Tones") } }; //! Color filter, tag 0x0017 extern const TagDetails casioColorFilter[] = { { 1, N_("Off") }, { 2, N_("Black & White") }, { 3, N_("Sepia") }, { 4, N_("Red") }, { 5, N_("Green") }, { 6, N_("Blue") }, { 7, N_("Yellow") }, { 8, N_("Pink") }, { 9, N_("Purple") } }; //! flash intensity 2, tag 0x0019 extern const TagDetails casioFlashIntensity2[] = { { 1, N_("Normal") }, { 2, N_("Weak") }, { 3, N_("Strong") } }; //! CCD Sensitivity intensity, tag 0x0020 extern const TagDetails casioCCDSensitivity[] = { { 64, N_("Normal") }, { 125, N_("+1.0") }, { 250, N_("+2.0") }, { 244, N_("+3.0") }, { 80, N_("Normal (ISO 80 equivalent)") }, { 100, N_("High") } }; // Casio MakerNote Tag Info const TagInfo CasioMakerNote::tagInfo_[] = { TagInfo(0x0001, "RecodingMode", N_("RecodingMode"), N_("Recording Mode"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioRecordingMode)), TagInfo(0x0002, "Quality", N_("Quality"), N_("Quality"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioQuality)), TagInfo(0x0003, "FocusMode", N_("Focus Mode"), N_("Focus Mode"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioFocusMode)), TagInfo(0x0004, "FlashMode", N_("Flash Mode"), N_("Flash Mode"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioFlashMode)), TagInfo(0x0005, "FlashIntensity", N_("Flash Intensity"), N_("Flash Intensity"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioFlashIntensity)), TagInfo(0x0006, "ObjectDistance", N_("Object Distance"), N_("Distance to object"), casioId, makerTags, unsignedLong, -1, print0x0006), TagInfo(0x0007, "WhiteBalance", N_("White Balance"), N_("White balance settings"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioWhiteBalance)), TagInfo(0x000a, "DigitalZoom", N_("Digital Zoom"), N_("Digital zoom"), casioId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(casioDigitalZoom)), TagInfo(0x000b, "Sharpness", N_("Sharpness"), N_("Sharpness"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioSharpness)), TagInfo(0x000c, "Contrast", N_("Contrast"), N_("Contrast"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioContrast)), TagInfo(0x000d, "Saturation", N_("Saturation"), N_("Saturation"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioSaturation)), TagInfo(0x0014, "ISO", N_("ISO"), N_("ISO"), casioId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0015, "FirmwareDate", N_("Firmware date"), N_("Firmware date"), casioId, makerTags, asciiString, -1, print0x0015), TagInfo(0x0016, "Enhancement", N_("Enhancement"), N_("Enhancement"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioEnhancement)), TagInfo(0x0017, "ColorFilter", N_("Color Filter"), N_("Color Filter"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioColorFilter)), TagInfo(0x0018, "AFPoint", N_("AF Point"), N_("AF Point"), casioId, makerTags, unsignedShort, -1, printValue), TagInfo(0x0019, "FlashIntensity2", N_("Flash Intensity"), N_("Flash Intensity"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioFlashIntensity2)), TagInfo(0x0020, "CCDSensitivity", N_("CCDSensitivity"), N_("CCDSensitivity"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioCCDSensitivity)), TagInfo(0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), casioId, makerTags, undefined, -1, printValue), TagInfo(0xffff, "(UnknownCasioMakerNoteTag)", "(UnknownCasioMakerNoteTag)", N_("Unknown CasioMakerNote tag"), casioId, makerTags, asciiString, -1, printValue) }; const TagInfo* CasioMakerNote::tagList() { return tagInfo_; } std::ostream& CasioMakerNote::print0x0006(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(2) << value.toLong() / 1000.0 << _(" m"); os.copyfmt(oss); os.flags(f); return os; } std::ostream& CasioMakerNote::print0x0015(std::ostream& os, const Value& value, const ExifData*) { // format is: "YYMM#00#00DDHH#00#00MM#00#00#00#00" or "YYMM#00#00DDHH#00#00MMSS#00#00#00" std::string s; std::vector numbers; for(long i=0; i=10) { //year long l=(numbers[0]-48)*10+(numbers[1]-48); if(l<70) { l+=2000; } else { l+=1900; }; os << l << ":"; // month, day, hour, minutes os << numbers[2] << numbers[3] << ":" << numbers[4] << numbers[5] << " " << numbers[6] << numbers[7] << ":" << numbers[8] << numbers[9]; // optional seconds if(numbers.size()==12) { os << ":" << numbers[10] << numbers[11]; }; } else { os << value; }; return os; } //Casio Makernotes, Type 2 //! Quality Mode, tag 0x0004 extern const TagDetails casio2QualityMode[] = { { 0, N_("Economy") }, { 1, N_("Normal") }, { 2, N_("Fine") } }; //! Image Size, tag 0x0009 extern const TagDetails casio2ImageSize[] = { { 0, "640x480" }, { 4, "1600x1200" }, { 5, "2048x1536" }, { 20, "2288x1712" }, { 21, "2592x1944" }, { 22, "2304x1728" }, { 36, "3008x2008" } }; //! Focus Mode, tag 0x000d extern const TagDetails casio2FocusMode[] = { { 0, N_("Normal") }, { 1, N_("Macro") } }; //! ISO Speed, tag 0x0014 extern const TagDetails casio2IsoSpeed[] = { { 3, "50" }, { 4, "64" }, { 6, "100" }, { 9, "200" } }; //! White Balance, tag 0x0019 extern const TagDetails casio2WhiteBalance[] = { { 0, N_("Auto") }, { 1, N_("Daylight") }, { 2, N_("Shade") }, { 3, N_("Tungsten") }, { 4, N_("Fluorescent") }, { 5, N_("Manual") } }; //! Saturation, tag 0x001f extern const TagDetails casio2Saturation[] = { { 0, N_("Low") }, { 1, N_("Normal") }, { 2, N_("High") } }; //! Contrast, tag 0x0020 extern const TagDetails casio2Contrast[] = { { 0, N_("Low") }, { 1, N_("Normal") }, { 2, N_("High") } }; //! Sharpness, tag 0x0021 extern const TagDetails casio2Sharpness[] = { { 0, N_("Soft") }, { 1, N_("Normal") }, { 2, N_("Hard") } }; //! White Balance2, tag 0x2012 extern const TagDetails casio2WhiteBalance2[] = { { 0, N_("Manual") }, { 1, N_("Daylight") }, { 2, N_("Cloudy") }, { 3, N_("Shade") }, { 4, N_("Flash") }, { 6, N_("Fluorescent") }, { 9, N_("Tungsten") }, { 10, N_("Tungsten") }, { 12, N_("Flash") } }; //! Release Mode, tag 0x3001 extern const TagDetails casio2ReleaseMode[] = { { 1, N_("Normal") }, { 3, N_("AE Bracketing") }, { 11, N_("WB Bracketing") }, { 13, N_("Contrast Bracketing") }, { 19, N_("High Speed Burst") } }; //! Quality, tag 0x3002 extern const TagDetails casio2Quality[] = { { 1, N_("Economy") }, { 2, N_("Normal") }, { 3, N_("Fine") } }; //! Focus Mode 2, tag 0x3003 extern const TagDetails casio2FocusMode2[] = { { 0, N_("Manual") }, { 1, N_("Focus Lock") }, { 2, N_("Macro") }, { 3, N_("Single-Area Auto Focus") }, { 5, N_("Infinity") }, { 6, N_("Multi-Area Auto Focus") }, { 8, N_("Super Macro") } }; //! AutoISO, tag 0x3008 extern const TagDetails casio2AutoISO[] = { { 1, N_("On") }, { 2, N_("Off") }, { 7, N_("On (high sensitiviy)") }, { 8, N_("On (anti-shake)") }, { 10, N_("High Speed") } }; //! AFMode, tag 0x3009 extern const TagDetails casio2AFMode[] = { { 0, N_("Off") }, { 1, N_("Spot") }, { 2, N_("Multi") }, { 3, N_("Face Detection") }, { 4, N_("Tracking") }, { 5, N_("Intelligent") } }; //! ColorMode, tag 0x3015 extern const TagDetails casio2ColorMode[] = { { 0, N_("Off") }, { 2, N_("Black & White") }, { 3, N_("Sepia") } }; //! Enhancement, tag 0x3016 extern const TagDetails casio2Enhancement[] = { { 0, N_("Off") }, { 1, N_("Scenery") }, { 3, N_("Green") }, { 5, N_("Unterwater") }, { 9, N_("Flesh Tones") } }; //! Color Filter, tag 0x3017 extern const TagDetails casio2ColorFilter[] = { { 0, N_("Off") }, { 1, N_("Blue") }, { 3, N_("Green") }, { 4, N_("Yellow") }, { 5, N_("Red") }, { 6, N_("Purple") }, { 7, N_("Pink") } }; //! Art Mode, tag 0x301b extern const TagDetails casio2ArtMode[] = { { 0, N_("Normal") }, { 8, N_("Silent Movie") }, { 39, N_("HDR") }, { 45, N_("Premium Auto") }, { 47, N_("Painting") }, { 49, N_("Crayon Drawing") }, { 51, N_("Panorama") }, { 52, N_("Art HDR") }, { 62, N_("High Speed Night Shot") }, { 64, N_("Monochrome") }, { 67, N_("Toy Camera") }, { 68, N_("Pop Art") }, { 69, N_("Light Tone") } }; //! Lighting Mode, tag 0x302a extern const TagDetails casio2LightingMode[] = { { 0, N_("Off") }, { 1, N_("High Dynamic Range") }, { 5, N_("Shadow Enhance Low") }, { 6, N_("Shadow Enhance High") } }; //! Portrait Refiner, tag 0x302b extern const TagDetails casio2PortraitRefiner[] = { { 0, N_("Off") }, { 1, N_("+1") }, { 2, N_("+2") } }; //! Special Effect Setting, tag 0x3031 extern const TagDetails casio2SpecialEffectSetting[] = { { 0, N_("Off") }, { 1, N_("Makeup") }, { 2, N_("Mist Removal") }, { 3, N_("Vivid Landscape") }, { 16, N_("Art Shot") } }; //! Drive Mode, tag 0x3103 extern const TagDetails casio2DriveMode[] = { { 0, N_("Single Shot") }, { 1, N_("Continuous Shooting") }, { 2, N_("Continuous (2 fps)") }, { 3, N_("Continuous (3 fps)") }, { 4, N_("Continuous (4 fps)") }, { 5, N_("Continuous (5 fps)") }, { 6, N_("Continuous (6 fps)") }, { 7, N_("Continuous (7 fps)") }, { 10, N_("Continuous (10 fps)") }, { 12, N_("Continuous (12 fps)") }, { 15, N_("Continuous (15 fps)") }, { 20, N_("Continuous (20 fps)") }, { 30, N_("Continuous (30 fps)") }, { 40, N_("Continuous (40 fps)") }, { 60, N_("Continuous (60 fps)") }, { 240, N_("Auto-N") } }; //! Video Quality, tag 0x4003 extern const TagDetails casio2VideoQuality[] = { { 1, N_("Standard") }, { 3, N_("HD (720p)") }, { 4, N_("Full HD (1080p)") }, { 5, N_("Low") } }; // Casio2 MakerNote Tag Info const TagInfo Casio2MakerNote::tagInfo_[] = { TagInfo(0x0002, "PreviewImageSize", N_("Preview Image Size"), N_("Preview Image Size"), casio2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x0003, "PreviewImageLength", N_("Preview Image Length"), N_("Preview Image Length"), casio2Id, makerTags, unsignedLong, -1, printValue), TagInfo(0x0004, "PreviewImageStart", N_("Preview Image Start"), N_("Preview Image Start"), casio2Id, makerTags, unsignedLong, -1, printValue), TagInfo(0x0008, "QualityMode", N_("Quality Mode"), N_("Quality Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2QualityMode)), TagInfo(0x0009, "ImageSize", N_("Image Size"), N_("Image Size"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2ImageSize)), TagInfo(0x000d, "FocusMode", N_("Focus Mode"), N_("Focus Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2FocusMode)), TagInfo(0x0014, "ISOSpeed", N_("ISO Speed"), N_("ISO Speed"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2IsoSpeed)), TagInfo(0x0019, "WhiteBalance", N_("White Balance"), N_("White Balance Setting"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2WhiteBalance)), TagInfo(0x001d, "FocalLength", N_("Focal Length"), N_("Focal Length"), casio2Id, makerTags, unsignedRational, -1, printValue), TagInfo(0x001f, "Saturation", N_("Saturation"), N_("Saturation"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2Saturation)), TagInfo(0x0020, "Contrast", N_("Contrast"), N_("Contrast"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2Contrast)), TagInfo(0x0021, "Sharpness", N_("Sharpness"), N_("Sharpness"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2Sharpness)), TagInfo(0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), casio2Id, makerTags, undefined, -1, printValue), TagInfo(0x2000, "PreviewImage", N_("Preview Image"), N_("Preview Image"), casio2Id, makerTags, undefined, -1, printValue), TagInfo(0x2001, "FirmwareDate", N_("Firmware Date"), N_("Firmware Date"), casio2Id, makerTags, asciiString, -1, print0x2001), TagInfo(0x2011, "WhiteBalanceBias", N_("White Balance Bias"), N_("White Balance Bias"), casio2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x2012, "WhiteBalance2", N_("White Balance"), N_("White Balance Setting"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2WhiteBalance2)), TagInfo(0x2021, "AFPointPosition", N_("AF Point Position"), N_("AF Point Position"), casio2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x2022, "ObjectDistance", N_("Object Distance"), N_("Object Distance"), casio2Id, makerTags, unsignedLong, -1, print0x2022), TagInfo(0x2034, "FlashDistance", N_("Flash Distance"), N_("Flash Distance"), casio2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x2076, "SpecialEffectMode", N_("Special Effect Mode"), N_("Special Effect Mode"), casio2Id, makerTags, unsignedByte, -1, printValue), TagInfo(0x2089, "FaceInfo", N_("Face Info"), N_("Face Info"), casio2Id, makerTags, undefined, -1, printValue), TagInfo(0x211c, "FacesDetected", N_("Faces detected"), N_("Faces detected"), casio2Id, makerTags, unsignedByte, -1, printValue), TagInfo(0x3000, "RecordMode", N_("Record Mode"), N_("Record Mode"), casio2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x3001, "ReleaseMode", N_("Release Mode"), N_("Release Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2ReleaseMode)), TagInfo(0x3002, "Quality", N_("Quality"), N_("Quality"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2Quality)), TagInfo(0x3003, "FocusMode2", N_("Focus Mode2"), N_("Focus Mode2"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2FocusMode2)), TagInfo(0x3006, "HometownCity", N_("Home town city"), N_("Home town city"), casio2Id, makerTags, asciiString, -1, printValue), TagInfo(0x3007, "BestShotMode", N_("Best Shot Mode"), N_("Best Shot Mode"), casio2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x3008, "AutoISO", N_("Auto ISO"), N_("Auto ISO"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2AutoISO)), TagInfo(0x3009, "AFMode", N_("AF Mode"), N_("AF Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2AFMode)), TagInfo(0x3011, "Sharpness2", N_("Sharpness"), N_("Sharpness"), casio2Id, makerTags, undefined, -1, printValue), TagInfo(0x3012, "Contrast2", N_("Contrast"), N_("Contrast"), casio2Id, makerTags, undefined, -1, printValue), TagInfo(0x3013, "Saturation2", N_("Saturation"), N_("Saturation"), casio2Id, makerTags, undefined, -1, printValue), TagInfo(0x3014, "ISO", N_("ISO"), N_("ISO"), casio2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x3015, "ColorMode", N_("Color Mode"), N_("Color Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2ColorMode)), TagInfo(0x3016, "Enhancement", N_("Enhancement"), N_("Enhancement"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2Enhancement)), TagInfo(0x3017, "ColorFilter", N_("Color Filter"), N_("Color Filter"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2ColorFilter)), TagInfo(0x301b, "ArtMode", N_("Art Mode"), N_("Art Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2ArtMode)), TagInfo(0x301c, "SequenceNumber", N_("Sequence Number"), N_("Sequence Number"), casio2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x3020, "ImageStabilization", N_("Image Stabilization"), N_("Image Stabilization"), casio2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x302a, "LightingMode", N_("Lighting Mode"), N_("Lighting Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2LightingMode)), TagInfo(0x302b, "PortraitRefiner", N_("Portrait Refiner"), N_("Portrait Refiner settings"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2PortraitRefiner)), TagInfo(0x3030, "SpecialEffectLevel", N_("Special Effect Level"), N_("Special Effect Level"), casio2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x3031, "SpecialEffectSetting", N_("Special Effect Setting"), N_("Special Effect Setting"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2SpecialEffectSetting)), TagInfo(0x3103, "DriveMode", N_("Drive Mode"), N_("Drive Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2DriveMode)), TagInfo(0x310b, "ArtModeParameters", N_("Art Mode Parameters"), N_("Art Mode Parameters"), casio2Id, makerTags, undefined, -1, printValue), TagInfo(0x4001, "CaptureFrameRate", N_("Capture Frame Rate"), N_("Capture Frame Rate"), casio2Id, makerTags, unsignedShort, -1, printValue), TagInfo(0x4003, "VideoQuality", N_("Video Quality"), N_("Video Quality"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2VideoQuality)), TagInfo(0xffff, "(UnknownCasio2MakerNoteTag)", "(UnknownCasio2MakerNoteTag)", N_("Unknown Casio2MakerNote tag"), casio2Id, makerTags, asciiString, -1, printValue) }; const TagInfo* Casio2MakerNote::tagList() { return tagInfo_; } std::ostream& Casio2MakerNote::print0x2001(std::ostream& os, const Value& value, const ExifData*) { // format is: "YYMM#00#00DDHH#00#00MM#00#00#00#00" std::string s; std::vector numbers; for(long i=0; i=10) { //year long l=(numbers[0]-48)*10+(numbers[1]-48); if(l<70) { l+=2000; } else { l+=1900; }; os << l << ":"; // month, day, hour, minutes os << numbers[2] << numbers[3] << ":" << numbers[4] << numbers[5] << " " << numbers[6] << numbers[7] << ":" << numbers[8] << numbers[9]; } else { os << value; }; return os; } std::ostream& Casio2MakerNote::print0x2022(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if(value.toLong()>=0x20000000) { os << N_("Inf"); os.flags(f); return os; }; std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(2) << value.toLong() / 1000.0 << _(" m"); os.copyfmt(oss); os.flags(f); return os; } }} // namespace Internal, Exiv2 exiv2-0.25/src/tiffcomposite_int.hpp0000664000175000017500000020363112521135474017351 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file tiffcomposite_int.hpp @brief Internal classes used in a TIFF composite structure @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 11-Apr-06, ahu: created */ #ifndef TIFFCOMPOSITE_INT_HPP_ #define TIFFCOMPOSITE_INT_HPP_ // ***************************************************************************** // included header files #include "value.hpp" #include "tifffwd_int.hpp" #include "types.hpp" // + standard includes #include #include #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { class BasicIo; namespace Internal { // ***************************************************************************** // class definitions //! TIFF value type. typedef uint16_t TiffType; const TiffType ttUnsignedByte = 1; //!< Exif BYTE type const TiffType ttAsciiString = 2; //!< Exif ASCII type const TiffType ttUnsignedShort = 3; //!< Exif SHORT type const TiffType ttUnsignedLong = 4; //!< Exif LONG type const TiffType ttUnsignedRational = 5; //!< Exif RATIONAL type const TiffType ttSignedByte = 6; //!< Exif SBYTE type const TiffType ttUndefined = 7; //!< Exif UNDEFINED type const TiffType ttSignedShort = 8; //!< Exif SSHORT type const TiffType ttSignedLong = 9; //!< Exif SLONG type const TiffType ttSignedRational =10; //!< Exif SRATIONAL type const TiffType ttTiffFloat =11; //!< TIFF FLOAT type const TiffType ttTiffDouble =12; //!< TIFF DOUBLE type const TiffType ttTiffIfd =13; //!< TIFF IFD type //! Convert the \em tiffType of a \em tag and \em group to an Exiv2 \em typeId. TypeId toTypeId(TiffType tiffType, uint16_t tag, IfdId group); //! Convert the %Exiv2 \em typeId to a TIFF value type. TiffType toTiffType(TypeId typeId); /*! Special TIFF tags for the use in TIFF structures only */ namespace Tag { const uint32_t none = 0x10000; //!< Dummy tag const uint32_t root = 0x20000; //!< Special tag: root IFD const uint32_t next = 0x30000; //!< Special tag: next IFD const uint32_t all = 0x40000; //!< Special tag: all tags in a group const uint32_t pana = 0x80000; //!< Special tag: root IFD of Panasonic RAW images } /*! @brief A tupel consisting of extended Tag and group used as an item in TIFF paths. */ class TiffPathItem { public: //! @name Creators //@{ //! Constructor TiffPathItem(uint32_t extendedTag, IfdId group) : extendedTag_(extendedTag), group_(group) {} //@} //! @name Accessors //@{ //! Return the tag corresponding to the extended tag uint16_t tag() const { return static_cast(extendedTag_ & 0xffff); } //! Return the extended tag (32 bit so that it can contain special tags) uint32_t extendedTag() const { return extendedTag_; } //! Return the group IfdId group() const { return group_; } //@} private: // DATA uint32_t extendedTag_; IfdId group_; }; // class TiffPathItem /*! @brief Simple IO wrapper to ensure that the header is only written if there is any other data at all. The wrapper is initialized with an IO reference and a pointer to a TIFF header. Subsequently the wrapper is used by all TIFF write methods. It takes care that the TIFF header is written to the IO first before any other output and only if there is any other data. */ class IoWrapper { public: //! @name Creators //@{ /*! brief Constructor. The IO wrapper owns none of the objects passed in so the caller is responsible to keep them alive. */ IoWrapper(BasicIo& io, const byte* pHeader, long size, OffsetWriter* pow); //@} //! @name Manipulators //@{ /*! @brief Wraps the corresponding BasicIo::write() method. Writes the TIFF header to the IO, if it hasn't been written yet, followed by the data passed in the arguments. */ long write(const byte* pData, long wcount); /*! @brief Wraps the corresponding BasicIo::putb() method. Writes the TIFF header to the IO, if it hasn't been written yet, followed by the data passed in the argument. */ int putb(byte data); //! Wrapper for OffsetWriter::setTarget(), using an int instead of the enum to reduce include deps void setTarget(int id, uint32_t target); //@} private: // DATA BasicIo& io_; //! Reference for the IO instance. const byte* pHeader_; //! Pointer to the header data. long size_; //! Size of the header data. bool wroteHeader_; //! Indicates if the header has been written. OffsetWriter* pow_; //! Pointer to an offset-writer, if any, or 0 }; // class IoWrapper /*! @brief Interface class for components of a TIFF directory hierarchy (Composite pattern). Both TIFF directories as well as entries implement this interface. A component can be uniquely identified by a tag, group tupel. This class is implemented as a NVI (Non-Virtual Interface) and it has an interface for visitors (Visitor pattern) to perform operations on all components. */ class TiffComponent { public: //! TiffComponent auto_ptr type typedef std::auto_ptr AutoPtr; //! Container type to hold all metadata typedef std::vector Components; //! @name Creators //@{ //! Constructor TiffComponent(uint16_t tag, IfdId group); //! Virtual destructor. virtual ~TiffComponent(); //@} //! @name Manipulators //@{ /*! @brief Add a TIFF entry \em tag to the component. Components on the path to the entry are added if they don't exist yet. @param tag The tag of the new entry @param tiffPath A path from the TIFF root element to a TIFF entry. @param pRoot Pointer to the root component of the TIFF composite. @param object TIFF component to add. If 0, the correct entry will be created. @return A pointer to the newly added TIFF entry. */ TiffComponent* addPath(uint16_t tag, TiffPath& tiffPath, TiffComponent* const pRoot, AutoPtr object =AutoPtr(0)); /*! @brief Add a child to the component. Default is to do nothing. @param tiffComponent Auto pointer to the component to add. @return Return a pointer to the newly added child element or 0. */ TiffComponent* addChild(AutoPtr tiffComponent); /*! @brief Add a "next" component to the component. Default is to do nothing. @param tiffComponent Auto pointer to the component to add. @return Return a pointer to the newly added "next" element or 0. */ TiffComponent* addNext(AutoPtr tiffComponent); /*! @brief Interface to accept visitors (Visitor pattern). Visitors can perform operations on all components of the composite. @param visitor The visitor. */ void accept(TiffVisitor& visitor); /*! @brief Set a pointer to the start of the binary representation of the component in a memory buffer. The buffer must be allocated and freed outside of this class. */ void setStart(const byte* pStart) { pStart_ = const_cast(pStart); } /*! @brief Write a TiffComponent to a binary image. @param ioWrapper IO wrapper to which the TiffComponent is written. @param byteOrder Applicable byte order (little or big endian). @param offset Offset from the start of the image (TIFF header) to the component. @param valueIdx Index of the component to be written relative to offset. @param dataIdx Index of the data area of the component relative to offset. @param imageIdx Index of the image data area relative to offset. @return Number of bytes written to the IO wrapper including all nested components. @throw Error If the component cannot be written. */ uint32_t write(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx); //@} //! @name Accessors //@{ //! Return the tag of this entry. uint16_t tag() const { return tag_; } //! Return the group id of this component IfdId group() const { return group_; } //! Return a pointer to the start of the binary representation of the component byte* start() const { return pStart_; } /*! @brief Return an auto-pointer to a copy of itself (deep copy, but without any children). The caller owns this copy and the auto-pointer ensures that it will be deleted. */ AutoPtr clone() const; /*! @brief Write the IFD data of this component to a binary image. Return the number of bytes written. Components derived from TiffEntryBase implement this method if needed. */ uint32_t writeData(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t& imageIdx) const; /*! @brief Write the image data of this component to a binary image. Return the number of bytes written. TIFF components implement this method if needed. */ uint32_t writeImage(IoWrapper& ioWrapper, ByteOrder byteOrder) const; /*! @brief Return the size in bytes of the IFD value of this component when written to a binary image. */ uint32_t size() const; /*! @brief Return the number of components in this component. */ uint32_t count() const; /*! @brief Return the size in bytes of the IFD data of this component when written to a binary image. This is a support function for write(). Components derived from TiffEntryBase implement this method corresponding to their implementation of writeData(). */ uint32_t sizeData() const; /*! @brief Return the size in bytes of the image data of this component when written to a binary image. This is a support function for write(). TIFF components implement this method corresponding to their implementation of writeImage(). */ uint32_t sizeImage() const; /*! @brief Return the unique id of the entry in the image. */ // Todo: This is only implemented in TiffEntryBase. It is needed here so that // we can sort components by tag and idx. Something is not quite right. virtual int idx() const; //@} protected: //! @name Protected Manipulators //@{ //! Implements addPath(). The default implementation does nothing. virtual TiffComponent* doAddPath(uint16_t tag, TiffPath& tiffPath, TiffComponent* const pRoot, TiffComponent::AutoPtr object); //! Implements addChild(). The default implementation does nothing. virtual TiffComponent* doAddChild(AutoPtr tiffComponent); //! Implements addNext(). The default implementation does nothing. virtual TiffComponent* doAddNext(AutoPtr tiffComponent); //! Implements accept(). virtual void doAccept(TiffVisitor& visitor) =0; //! Implements write(). virtual uint32_t doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx) =0; //@} //! @name Protected Accessors //@{ //! Internal virtual copy constructor, implements clone(). virtual TiffComponent* doClone() const =0; //! Implements writeData(). virtual uint32_t doWriteData(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t& imageIdx) const =0; //! Implements writeImage(). virtual uint32_t doWriteImage(IoWrapper& ioWrapper, ByteOrder byteOrder) const =0; //! Implements size(). virtual uint32_t doSize() const =0; //! Implements count(). virtual uint32_t doCount() const =0; //! Implements sizeData(). virtual uint32_t doSizeData() const =0; //! Implements sizeImage(). virtual uint32_t doSizeImage() const =0; //@} private: // DATA uint16_t tag_; //!< Tag that identifies the component IfdId group_; //!< Group id for this component /*! Pointer to the start of the binary representation of the component in a memory buffer. The buffer is allocated and freed outside of this class. */ byte* pStart_; }; // class TiffComponent //! TIFF mapping table for functions to decode special cases struct TiffMappingInfo { struct Key; /*! @brief Compare a TiffMappingInfo with a TiffMappingInfo::Key. The two are equal if TiffMappingInfo::make_ equals a substring of the key of the same size. E.g., mapping info = "OLYMPUS", key = "OLYMPUS OPTICAL CO.,LTD" (found in the image) match, the extendedTag is Tag::all or equal to the extended tag of the key, and the group is equal to that of the key. */ bool operator==(const Key& key) const; //! Return the tag corresponding to the extended tag uint16_t tag() const { return static_cast(extendedTag_ & 0xffff); } // DATA const char* make_; //!< Camera make for which these mapping functions apply uint32_t extendedTag_; //!< Tag (32 bit so that it can contain special tags) IfdId group_; //!< Group that contains the tag DecoderFct decoderFct_; //!< Decoder function for matching tags EncoderFct encoderFct_; //!< Encoder function for matching tags }; // struct TiffMappingInfo //! Search key for TIFF mapping structures. struct TiffMappingInfo::Key { //! Constructor Key(const std::string& m, uint32_t e, IfdId g) : m_(m), e_(e), g_(g) {} std::string m_; //!< Camera make uint32_t e_; //!< Extended tag IfdId g_; //!< %Group }; /*! @brief This abstract base class provides the common functionality of an IFD directory entry and defines an extended interface for derived concrete entries, which allows access to the attributes of the entry. */ class TiffEntryBase : public TiffComponent { friend class TiffReader; friend class TiffEncoder; friend int selectNikonLd(TiffBinaryArray* const, TiffComponent* const); public: //! @name Creators //@{ //! Default constructor. TiffEntryBase(uint16_t tag, IfdId group, TiffType tiffType =ttUndefined); //! Virtual destructor. virtual ~TiffEntryBase(); //@} //! @name Manipulators //@{ /*! @brief Encode a TIFF component from the metadatum provided and information from the \em encoder as needed. Implemented as double-dispatch calls back to one of the specific encoding functions at the \em encoder. */ void encode(TiffEncoder& encoder, const Exifdatum* datum); //! Set the offset void setOffset(int32_t offset) { offset_ = offset; } //! Set pointer and size of the entry's data (not taking ownership of the data). void setData(byte* pData, int32_t size); //! Set the entry's data buffer, taking ownership of the data buffer passed in. void setData(DataBuf buf); /*! @brief Update the value. Takes ownership of the pointer passed in. Update binary value data and call setValue(). */ void updateValue(Value::AutoPtr value, ByteOrder byteOrder); /*! @brief Set tag value. Takes ownership of the pointer passed in. Update type, count and the pointer to the value. */ void setValue(Value::AutoPtr value); //@} //! @name Accessors //@{ //! Return the TIFF type TiffType tiffType() const { return tiffType_; } /*! @brief Return the offset to the data area relative to the base for the component (usually the start of the TIFF header) */ int32_t offset() const { return offset_; } /*! @brief Return the unique id of the entry in the image */ virtual int idx() const; /*! @brief Return a pointer to the binary representation of the value of this component. */ const byte* pData() const { return pData_; } //! Return a const pointer to the converted value of this component const Value* pValue() const { return pValue_; } //@} protected: //! @name Protected Creators //@{ //! Copy constructor (used to implement clone()). TiffEntryBase(const TiffEntryBase& rhs); //@} //! @name Protected Manipulators //@{ //! Implements encode(). virtual void doEncode(TiffEncoder& encoder, const Exifdatum* datum) =0; //! Set the number of components in this entry void setCount(uint32_t count) { count_ = count; } //! Set the unique id of the entry in the image void setIdx(int idx) { idx_ = idx; } /*! @brief Implements write(). Write the value of a standard TIFF entry to the \em ioWrapper, return the number of bytes written. Only the \em ioWrapper and \em byteOrder arguments are used. */ virtual uint32_t doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx); //@} //! @name Protected Accessors //@{ //! Implements count(). virtual uint32_t doCount() const; /*! @brief Implements writeData(). Standard TIFF entries have no data: write nothing and return 0. */ virtual uint32_t doWriteData(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t& imageIdx) const; /*! @brief Implements writeImage(). Standard TIFF entries have no image data: write nothing and return 0. */ virtual uint32_t doWriteImage(IoWrapper& ioWrapper, ByteOrder byteOrder) const; //! Implements size(). Return the size of a standard TIFF entry virtual uint32_t doSize() const; //! Implements sizeData(). Return 0. virtual uint32_t doSizeData() const; //! Implements sizeImage(). Return 0. virtual uint32_t doSizeImage() const; //@} //! Helper function to write an \em offset to a preallocated binary buffer static uint32_t writeOffset(byte* buf, int32_t offset, TiffType tiffType, ByteOrder byteOrder); private: //! @name NOT implemented //@{ //! Assignment operator. TiffEntryBase& operator=(const TiffEntryBase& rhs); //@} // DATA TiffType tiffType_; //!< Field TIFF type uint32_t count_; //!< The number of values of the indicated type int32_t offset_; //!< Offset to the data area /*! Size of the data buffer holding the value in bytes, there is no minimum size. */ uint32_t size_; byte* pData_; //!< Pointer to the data area bool isMalloced_; //!< True if this entry owns the value data int idx_; //!< Unique id of the entry in the image Value* pValue_; //!< Converted data value }; // class TiffEntryBase /*! @brief A standard TIFF IFD entry. */ class TiffEntry : public TiffEntryBase { public: //! @name Creators //@{ //! Constructor TiffEntry(uint16_t tag, IfdId group) : TiffEntryBase(tag, group) {} //! Virtual destructor. virtual ~TiffEntry(); //@} protected: //! @name Manipulators //@{ virtual void doAccept(TiffVisitor& visitor); virtual void doEncode(TiffEncoder& encoder, const Exifdatum* datum); //@} //! @name Protected Accessors //@{ virtual TiffEntry* doClone() const; //@} }; // class TiffEntry /*! @brief Interface for a standard TIFF IFD entry consisting of a value which is a set of offsets to a data area. The sizes of these "strips" are provided in a related TiffSizeEntry, tag and group of which are set in the constructor. The implementations of this interface differ in whether the data areas are extracted to the higher level metadata (TiffDataEntry) or not (TiffImageEntry). */ class TiffDataEntryBase : public TiffEntryBase { public: //! @name Creators //@{ //! Constructor TiffDataEntryBase(uint16_t tag, IfdId group, uint16_t szTag, IfdId szGroup) : TiffEntryBase(tag, group), szTag_(szTag), szGroup_(szGroup) {} //! Virtual destructor. virtual ~TiffDataEntryBase(); //@} //! @name Manipulators //@{ /*! @brief Set the data areas ("strips"). @param pSize Pointer to the Value holding the sizes corresponding to this data entry. @param pData Pointer to the data area. @param sizeData Size of the data area. @param baseOffset Base offset into the data area. */ virtual void setStrips(const Value* pSize, const byte* pData, uint32_t sizeData, uint32_t baseOffset) =0; //@} //! @name Accessors //@{ //! Return the group of the entry which has the size uint16_t szTag() const { return szTag_; } //! Return the group of the entry which has the size IfdId szGroup() const { return szGroup_; } //@} private: // DATA const uint16_t szTag_; //!< Tag of the entry with the size const IfdId szGroup_; //!< Group of the entry with the size }; // class TiffDataEntryBase /*! @brief A standard TIFF IFD entry consisting of a value which is an offset to a data area and the data area. The size of the data area is provided in a related TiffSizeEntry, tag and group of which are set in the constructor. This component extracts the data areas ("strips") and makes them available in the higher level metadata. It is used, e.g., for \em Exif.Thumbnail.JPEGInterchangeFormat for which the size is provided in \em Exif.Thumbnail.JPEGInterchangeFormatLength. */ class TiffDataEntry : public TiffDataEntryBase { friend class TiffEncoder; public: //! @name Creators //@{ //! Constructor TiffDataEntry(uint16_t tag, IfdId group, uint16_t szTag, IfdId szGroup) : TiffDataEntryBase(tag, group, szTag, szGroup), pDataArea_(0), sizeDataArea_(0) {} //! Virtual destructor. virtual ~TiffDataEntry(); //@} //! @name Manipulators //@{ virtual void setStrips(const Value* pSize, const byte* pData, uint32_t sizeData, uint32_t baseOffset); //@} protected: //! @name Protected Manipulators //@{ virtual void doAccept(TiffVisitor& visitor); virtual void doEncode(TiffEncoder& encoder, const Exifdatum* datum); /*! @brief Implements write(). Write pointers into the data area to the \em ioWrapper, relative to the offsets in the value. Return the number of bytes written. The \em valueIdx argument is not used. The number of components in the value determines how many offsets are written. Set the first value to 0, the second to the size of the first data area, etc. when creating a new data entry. Offsets will be adjusted on write. The type of the value can only be signed or unsigned short or long. */ virtual uint32_t doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx); //@} //! @name Protected Accessors //@{ virtual TiffDataEntry* doClone() const; /*! @brief Implements writeData(). Write the data area to the \em ioWrapper. Return the number of bytes written. */ virtual uint32_t doWriteData(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t& imageIdx) const; // Using doWriteImage from base class // Using doSize() from base class //! Implements sizeData(). Return the size of the data area. virtual uint32_t doSizeData() const; // Using doSizeImage from base class //@} private: // DATA byte* pDataArea_; //!< Pointer to the data area (never alloc'd) uint32_t sizeDataArea_; //!< Size of the data area }; // class TiffDataEntry /*! @brief A standard TIFF IFD entry consisting of a value which is an array of offsets to image data areas. The sizes of the image data areas are provided in a related TiffSizeEntry, tag and group of which are set in the constructor. The data is not extracted into the higher level metadata tags, it is only copied to the target image when the image is written. This component is used, e.g., for \em Exif.Image.StripOffsets for which the sizes are provided in \em Exif.Image.StripByteCounts. */ class TiffImageEntry : public TiffDataEntryBase { friend class TiffEncoder; public: //! @name Creators //@{ //! Constructor TiffImageEntry(uint16_t tag, IfdId group, uint16_t szTag, IfdId szGroup) : TiffDataEntryBase(tag, group, szTag, szGroup) {} //! Virtual destructor. virtual ~TiffImageEntry(); //@} //! @name Manipulators //@{ virtual void setStrips(const Value* pSize, const byte* pData, uint32_t sizeData, uint32_t baseOffset); //@} protected: //! @name Protected Manipulators //@{ virtual void doAccept(TiffVisitor& visitor); virtual void doEncode(TiffEncoder& encoder, const Exifdatum* datum); /*! @brief Implements write(). Write pointers into the image data area to the \em ioWrapper. Return the number of bytes written. The \em valueIdx and \em dataIdx arguments are not used. */ virtual uint32_t doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx); //@} //! @name Protected Accessors //@{ virtual TiffImageEntry* doClone() const; /*! @brief Implements writeData(). Write the image data area to the \em ioWrapper. Return the number of bytes written. This function writes the image data to the data area of the current directory. It is used for TIFF image entries in the makernote (large preview images) so that the image data remains in the makernote IFD. */ virtual uint32_t doWriteData(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t& imageIdx) const; /*! @brief Implements writeImage(). Write the image data area to the \em ioWrapper. Return the number of bytes written. */ virtual uint32_t doWriteImage(IoWrapper& ioWrapper, ByteOrder byteOrder) const; //! Implements size(). Return the size of the strip pointers. virtual uint32_t doSize() const; //! Implements sizeData(). Return the size of the image data area. virtual uint32_t doSizeData() const; //! Implements sizeImage(). Return the size of the image data area. virtual uint32_t doSizeImage() const; //@} private: //! Pointers to the image data (strips) and their sizes. typedef std::vector > Strips; // DATA Strips strips_; //!< Image strips data (never alloc'd) and sizes }; // class TiffImageEntry /*! @brief A TIFF IFD entry containing the size of a data area of a related TiffDataEntry. This component is used, e.g. for \em Exif.Thumbnail.JPEGInterchangeFormatLength, which contains the size of \em Exif.Thumbnail.JPEGInterchangeFormat. */ class TiffSizeEntry : public TiffEntryBase { public: //! @name Creators //@{ //! Constructor TiffSizeEntry(uint16_t tag, IfdId group, uint16_t dtTag, IfdId dtGroup) : TiffEntryBase(tag, group), dtTag_(dtTag), dtGroup_(dtGroup) {} //! Virtual destructor. virtual ~TiffSizeEntry(); //@} //! @name Accessors //@{ //! Return the group of the related entry which has the data area uint16_t dtTag() const { return dtTag_; } //! Return the group of the related entry which has the data area IfdId dtGroup() const { return dtGroup_; } //@} protected: //! @name Protected Manipulators //@{ virtual void doAccept(TiffVisitor& visitor); virtual void doEncode(TiffEncoder& encoder, const Exifdatum* datum); //@} //! @name Protected Accessors //@{ virtual TiffSizeEntry* doClone() const; //@} private: // DATA const uint16_t dtTag_; //!< Tag of the entry with the data area const IfdId dtGroup_; //!< Group of the entry with the data area }; // class TiffSizeEntry /*! @brief This class models a TIFF directory (%Ifd). It is a composite component of the TIFF tree. */ class TiffDirectory : public TiffComponent { friend class TiffEncoder; public: //! @name Creators //@{ //! Default constructor TiffDirectory(uint16_t tag, IfdId group, bool hasNext =true) : TiffComponent(tag, group), hasNext_(hasNext), pNext_(0) {} //! Virtual destructor virtual ~TiffDirectory(); //@} //! @name Accessors //@{ //! Return true if the directory has a next pointer bool hasNext() const { return hasNext_; } //@} protected: //! @name Protected Creators //@{ //! Copy constructor (used to implement clone()). TiffDirectory(const TiffDirectory& rhs); //@} //! @name Protected Manipulators //@{ virtual TiffComponent* doAddPath(uint16_t tag, TiffPath& tiffPath, TiffComponent* const pRoot, TiffComponent::AutoPtr object); virtual TiffComponent* doAddChild(TiffComponent::AutoPtr tiffComponent); virtual TiffComponent* doAddNext(TiffComponent::AutoPtr tiffComponent); virtual void doAccept(TiffVisitor& visitor); /*! @brief Implements write(). Write the TIFF directory, values and additional data, including the next-IFD, if any, to the \em ioWrapper, return the number of bytes written. */ virtual uint32_t doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx); //@} //! @name Protected Accessors //@{ virtual TiffDirectory* doClone() const; /*! @brief This class does not really implement writeData(), it only has write(). This method must not be called; it commits suicide. */ virtual uint32_t doWriteData(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t& imageIdx) const; /*! @brief Implements writeImage(). Write the image data of the TIFF directory to the \em ioWrapper by forwarding the call to each component as well as the next-IFD, if there is any. Return the number of bytes written. */ virtual uint32_t doWriteImage(IoWrapper& ioWrapper, ByteOrder byteOrder) const; /*! @brief Implements size(). Return the size of the TIFF directory, values and additional data, including the next-IFD, if any. */ virtual uint32_t doSize() const; /*! @brief Implements count(). Return the number of entries in the TIFF directory. Does not count entries which are marked as deleted. */ virtual uint32_t doCount() const; /*! @brief This class does not really implement sizeData(), it only has size(). This method must not be called; it commits suicide. */ virtual uint32_t doSizeData() const; /*! @brief Implements sizeImage(). Return the sum of the image sizes of all components plus that of the next-IFD, if there is any. */ virtual uint32_t doSizeImage() const; //@} private: //! @name NOT implemented //@{ //! Assignment operator. TiffDirectory& operator=(const TiffDirectory& rhs); //@} //! @name Private Accessors //@{ //! Write a binary directory entry for a TIFF component. uint32_t writeDirEntry(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, TiffComponent* pTiffComponent, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx) const; //@} private: // DATA Components components_; //!< List of components in this directory const bool hasNext_; //!< True if the directory has a next pointer TiffComponent* pNext_; //!< Pointer to the next IFD }; // class TiffDirectory /*! @brief This class models a TIFF sub-directory (sub-IFD). A sub-IFD is an entry with one or more values that are pointers to IFD structures containing an IFD. The TIFF standard defines some important tags to be sub-IFDs, including the %Exif and GPS tags. */ class TiffSubIfd : public TiffEntryBase { friend class TiffReader; public: //! @name Creators //@{ //! Default constructor TiffSubIfd(uint16_t tag, IfdId group, IfdId newGroup); //! Virtual destructor virtual ~TiffSubIfd(); //@} protected: //! @name Protected Creators //@{ //! Copy constructor (used to implement clone()). TiffSubIfd(const TiffSubIfd& rhs); //@} //! @name Protected Manipulators //@{ virtual TiffComponent* doAddPath(uint16_t tag, TiffPath& tiffPath, TiffComponent* const pRoot, TiffComponent::AutoPtr object); virtual TiffComponent* doAddChild(TiffComponent::AutoPtr tiffComponent); virtual void doAccept(TiffVisitor& visitor); virtual void doEncode(TiffEncoder& encoder, const Exifdatum* datum); /*! @brief Implements write(). Write the sub-IFD pointers to the \em ioWrapper, return the number of bytes written. The \em valueIdx and \em imageIdx arguments are not used. */ virtual uint32_t doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx); //@} //! @name Protected Accessors //@{ virtual TiffSubIfd* doClone() const; /*! @brief Implements writeData(). Write the sub-IFDs to the \em ioWrapper. Return the number of bytes written. */ virtual uint32_t doWriteData(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t& imageIdx) const; /*! @brief Implements writeImage(). Write the image data of each sub-IFD to the \em ioWrapper. Return the number of bytes written. */ virtual uint32_t doWriteImage(IoWrapper& ioWrapper, ByteOrder byteOrder) const; //! Implements size(). Return the size of the sub-Ifd pointers. uint32_t doSize() const; //! Implements sizeData(). Return the sum of the sizes of all sub-IFDs. virtual uint32_t doSizeData() const; //! Implements sizeImage(). Return the sum of the image sizes of all sub-IFDs. virtual uint32_t doSizeImage() const; //@} private: //! @name NOT implemented //@{ //! Assignment operator. TiffSubIfd& operator=(const TiffSubIfd& rhs); //@} //! A collection of TIFF directories (IFDs) typedef std::vector Ifds; // DATA IfdId newGroup_; //!< Start of the range of group numbers for the sub-IFDs Ifds ifds_; //!< The subdirectories }; // class TiffSubIfd /*! @brief This class is the basis for Makernote support in TIFF. It contains a pointer to a concrete Makernote. The TiffReader visitor has the responsibility to create the correct Make/Model specific Makernote for a particular TIFF file. Calls to child management methods are forwarded to the concrete Makernote, if there is one. */ class TiffMnEntry : public TiffEntryBase { friend class TiffReader; friend class TiffDecoder; friend class TiffEncoder; public: //! @name Creators //@{ //! Default constructor TiffMnEntry(uint16_t tag, IfdId group, IfdId mnGroup); //! Virtual destructor virtual ~TiffMnEntry(); //@} protected: //! @name Protected Manipulators //@{ virtual TiffComponent* doAddPath(uint16_t tag, TiffPath& tiffPath, TiffComponent* const pRoot, TiffComponent::AutoPtr object); virtual TiffComponent* doAddChild(TiffComponent::AutoPtr tiffComponent); virtual TiffComponent* doAddNext(TiffComponent::AutoPtr tiffComponent); virtual void doAccept(TiffVisitor& visitor); virtual void doEncode(TiffEncoder& encoder, const Exifdatum* datum); /*! @brief Implements write() by forwarding the call to the actual concrete Makernote, if there is one. */ virtual uint32_t doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx); //@} //! @name Protected Accessors //@{ virtual TiffMnEntry* doClone() const; //! Implements count(). Return number of components in the entry. virtual uint32_t doCount() const; // Using doWriteData from base class // Using doWriteImage from base class /*! @brief Implements size() by forwarding the call to the actual concrete Makernote, if there is one. */ virtual uint32_t doSize() const; // Using doSizeData from base class // Using doSizeImage from base class //@} private: //! @name NOT implemented //@{ //! Copy constructor. TiffMnEntry(const TiffMnEntry& rhs); //! Assignment operator. TiffMnEntry& operator=(const TiffMnEntry& rhs); //@} // DATA IfdId mnGroup_; //!< New group for concrete mn TiffComponent* mn_; //!< The Makernote }; // class TiffMnEntry /*! @brief Tiff IFD Makernote. This is a concrete class suitable for all IFD makernotes. Contains a makernote header (which can be 0) and an IFD and implements child mgmt functions to deal with the IFD entries. The various makernote weirdnesses are taken care of in the makernote header (and possibly in special purpose IFD entries). */ class TiffIfdMakernote : public TiffComponent { friend class TiffReader; public: //! @name Creators //@{ //! Default constructor TiffIfdMakernote(uint16_t tag, IfdId group, IfdId mnGroup, MnHeader* pHeader, bool hasNext =true); //! Virtual destructor virtual ~TiffIfdMakernote(); //@} //! @name Manipulators //@{ /*! @brief Read the header from a data buffer, return true if successful. The default implementation simply returns true. */ bool readHeader(const byte* pData, uint32_t size, ByteOrder byteOrder); /*! @brief Set the byte order for the makernote. */ void setByteOrder(ByteOrder byteOrder); /*! @brief Set the byte order used for the image. */ void setImageByteOrder(ByteOrder byteOrder) { imageByteOrder_ = byteOrder; } //@} //! @name Accessors //@{ //! Return the size of the header in bytes. uint32_t sizeHeader() const; //! Write the header to a data buffer, return the number of bytes written. uint32_t writeHeader(IoWrapper& ioWrapper, ByteOrder byteOrder) const; /*! @brief Return the offset to the makernote from the start of the TIFF header. */ uint32_t mnOffset() const; /*! @brief Return the offset to the start of the Makernote IFD from the start of the Makernote. Returns 0 if there is no header. */ uint32_t ifdOffset() const; /*! @brief Return the byte order for the makernote. Requires the image byte order to be set (setImageByteOrder()). Returns the byte order for the image if there is no header or the byte order for the header is \c invalidByteOrder. */ ByteOrder byteOrder() const; /*! @brief Return the byte order used for the image. */ ByteOrder imageByteOrder() const { return imageByteOrder_; } /*! @brief Return the base offset for use with the makernote IFD entries relative to the start of the TIFF header. Returns 0 if there is no header. */ uint32_t baseOffset() const; //@} protected: //! @name Protected Manipulators //@{ virtual TiffComponent* doAddPath(uint16_t tag, TiffPath& tiffPath, TiffComponent* const pRoot, TiffComponent::AutoPtr object); virtual TiffComponent* doAddChild(TiffComponent::AutoPtr tiffComponent); virtual TiffComponent* doAddNext(TiffComponent::AutoPtr tiffComponent); virtual void doAccept(TiffVisitor& visitor); /*! @brief Implements write(). Write the Makernote header, TIFF directory, values and additional data to the \em ioWrapper, return the number of bytes written. */ virtual uint32_t doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx); //@} //! @name Protected Accessors //@{ virtual TiffIfdMakernote* doClone() const; /*! @brief This class does not really implement writeData(), it only has write(). This method must not be called; it commits suicide. */ virtual uint32_t doWriteData(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t dataIdx, uint32_t& imageIdx) const; /*! @brief Implements writeImage(). Write the image data of the IFD of the Makernote. Return the number of bytes written. */ virtual uint32_t doWriteImage(IoWrapper& ioWrapper, ByteOrder byteOrder) const; /*! @brief Implements size(). Return the size of the Makernote header, TIFF directory, values and additional data. */ virtual uint32_t doSize() const; /*! @brief Implements count(). Return the number of entries in the IFD of the Makernote. Does not count entries which are marked as deleted. */ virtual uint32_t doCount() const; /*! @brief This class does not really implement sizeData(), it only has size(). This method must not be called; it commits suicide. */ virtual uint32_t doSizeData() const; /*! @brief Implements sizeImage(). Return the total image data size of the makernote IFD. */ virtual uint32_t doSizeImage() const; //@} private: /*! @name NOT implemented Implementing the copy constructor and assignment operator will require cloning the header, i.e., clone() functionality on the MnHeader hierarchy. */ //@{ //! Copy constructor. TiffIfdMakernote(const TiffIfdMakernote& rhs); //! Assignment operator. TiffIfdMakernote& operator=(const TiffIfdMakernote& rhs); //@} // DATA MnHeader* pHeader_; //!< Makernote header TiffDirectory ifd_; //!< Makernote IFD uint32_t mnOffset_; //!< Makernote offset ByteOrder imageByteOrder_; //!< Byte order for the image }; // class TiffIfdMakernote /*! @brief Function pointer type for a function to determine which cfg + def of a corresponding array set to use. */ typedef int (*CfgSelFct)(uint16_t, const byte*, uint32_t, TiffComponent* const); //! Function pointer type for a crypt function used for binary arrays. typedef DataBuf (*CryptFct)(uint16_t, const byte*, uint32_t, TiffComponent* const); //! Defines one tag in a binary array struct ArrayDef { //! Comparison with idx bool operator==(uint32_t idx) const { return idx_ == idx; } //! Get the size in bytes of a tag. uint32_t size(uint16_t tag, IfdId group) const; // DATA uint32_t idx_; //!< Index in bytes from the start TiffType tiffType_; //!< TIFF type of the element uint32_t count_; //!< Number of components }; //! Additional configuration for a binary array. struct ArrayCfg { /*! @brief Return the size of the default tag, which is used to calculate tag numbers as idx/tagStep */ uint32_t tagStep() const { return elDefaultDef_.size(0, group_); } //DATA IfdId group_; //!< Group for the elements ByteOrder byteOrder_; //!< Byte order, invalidByteOrder to inherit TiffType elTiffType_; //!< Type for the array entry and the size element, if any CryptFct cryptFct_; //!< Crypt function, 0 if not used bool hasSize_; //!< If true, first tag is the size element bool hasFillers_; //!< If true, write all defined tags bool concat_; //!< If true, concatenate gaps between defined tags to single tags ArrayDef elDefaultDef_; //!< Default element }; //! Combination of array configuration and definition for arrays struct ArraySet { const ArrayCfg cfg_; //!< Binary array configuration const ArrayDef* def_; //!< Binary array definition array const int defSize_; //!< Size of the array definition array }; /*! @brief Composite to model an array of different tags. The tag types as well as other aspects of the array are configurable. The elements of this component are of type TiffBinaryElement. */ class TiffBinaryArray : public TiffEntryBase { public: //! @name Creators //@{ //! Constructor TiffBinaryArray(uint16_t tag, IfdId group, const ArrayCfg* arrayCfg, const ArrayDef* arrayDef, int defSize); //! Constructor for a complex binary array TiffBinaryArray(uint16_t tag, IfdId group, const ArraySet* arraySet, int setSize, CfgSelFct cfgSelFct); //! Virtual destructor virtual ~TiffBinaryArray(); //@} //! @name Manipulators //@{ //! Add an element to the binary array, return the size of the element uint32_t addElement(uint32_t idx, const ArrayDef& def); /*! @brief Setup cfg and def for the component, in case of a complex binary array. Else do nothing. Return true if the initialization succeeded, else false. This version of initialize() is used during intrusive writing. It determines the correct settings based on the \em group passed in (which is the group of the first tag that is added to the array). It doesn't require cfgSelFct_. @param group Group to setup the binary array for. @return true if the initialization succeeded, else false. */ bool initialize(IfdId group); /*! @brief Setup cfg and def for the component, in case of a complex binary array. Else do nothing. Return true if the initialization succeeded, else false. This version of initialize() is used for reading and non-intrusive writing. It calls cfgSelFct_ to determine the correct settings. @param pRoot Pointer to the root component of the TIFF tree. @return true if the initialization succeeded, else false. */ bool initialize(TiffComponent* const pRoot); //! Initialize the original data buffer and its size from the base entry. void iniOrigDataBuf(); //! Update the original data buffer and its size, return true if successful. bool updOrigDataBuf(const byte* pData, uint32_t size); //! Set a flag to indicate if the array was decoded void setDecoded(bool decoded) { decoded_ = decoded; } //@} //! @name Accessors //@{ //! Return a pointer to the configuration const ArrayCfg* cfg() const { return arrayCfg_; } //! Return a pointer to the definition const ArrayDef* def() const { return arrayDef_; } //! Return the number of elements in the definition int defSize() const { return defSize_; } //! Return the flag which indicates if the array was decoded bool decoded() const { return decoded_; } //@} protected: //! @name Protected Creators //@{ //! Copy constructor (used to implement clone()). TiffBinaryArray(const TiffBinaryArray& rhs); //@} //! @name Protected Manipulators //@{ /*! @brief Implements addPath(). Todo: Document it! */ virtual TiffComponent* doAddPath(uint16_t tag, TiffPath& tiffPath, TiffComponent* const pRoot, TiffComponent::AutoPtr object); /*! @brief Implements addChild(). Todo: Document it! */ virtual TiffComponent* doAddChild(TiffComponent::AutoPtr tiffComponent); virtual void doAccept(TiffVisitor& visitor); virtual void doEncode(TiffEncoder& encoder, const Exifdatum* datum); /*! @brief Implements write(). Todo: Document it! */ virtual uint32_t doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx); //@} //! @name Protected Accessors //@{ virtual TiffBinaryArray* doClone() const; //! Implements count(). Todo: Document it! virtual uint32_t doCount() const; // Using doWriteData from base class // Using doWriteImage from base class /*! @brief Implements size(). Todo: Document it! */ virtual uint32_t doSize() const; // Using doSizeData from base class // Using doSizeImage from base class //@} private: //! @name NOT implemented //@{ //! Assignment operator. TiffBinaryArray& operator=(const TiffBinaryArray& rhs); //@} // DATA const CfgSelFct cfgSelFct_; //!< Pointer to a function to determine which cfg to use (may be 0) const ArraySet* arraySet_; //!< Pointer to the array set, if any (may be 0) const ArrayCfg* arrayCfg_; //!< Pointer to the array configuration (must not be 0, except for unrecognized complex binary arrays) const ArrayDef* arrayDef_; //!< Pointer to the array definition (may be 0) int defSize_; //!< Size of the array definition array (may be 0) int setSize_; //!< Size of the array set (may be 0) Components elements_; //!< List of elements in this composite byte* origData_; //!< Pointer to the original data buffer (unencrypted) uint32_t origSize_; //!< Size of the original data buffer TiffComponent* pRoot_; //!< Pointer to the root component of the TIFF tree. (Only used for intrusive writing.) bool decoded_; //!< Flag to indicate if the array was decoded }; // class TiffBinaryArray /*! @brief Element of a TiffBinaryArray. */ class TiffBinaryElement : public TiffEntryBase { public: //! @name Creators //@{ //! Constructor TiffBinaryElement(uint16_t tag, IfdId group); //! Virtual destructor. virtual ~TiffBinaryElement(); //@} //! @name Manipulators //@{ /*! @brief Set the array definition for this element. */ void setElDef(const ArrayDef& def) { elDef_ = def; } /*! @brief Set the byte order of this element. */ void setElByteOrder(ByteOrder byteOrder) { elByteOrder_ = byteOrder; } //@} //! @name Accessors //@{ /*! @brief Return the array definition of this element. */ const ArrayDef* elDef() const { return &elDef_; } /*! @brief Return the byte order of this element. */ ByteOrder elByteOrder() const { return elByteOrder_; } //@} protected: //! @name Protected Manipulators //@{ virtual void doAccept(TiffVisitor& visitor); virtual void doEncode(TiffEncoder& encoder, const Exifdatum* datum); /*! @brief Implements write(). Todo: Document it! */ virtual uint32_t doWrite(IoWrapper& ioWrapper, ByteOrder byteOrder, int32_t offset, uint32_t valueIdx, uint32_t dataIdx, uint32_t& imageIdx); //@} //! @name Protected Accessors //@{ virtual TiffBinaryElement* doClone() const; /*! @brief Implements count(). Returns the count from the element definition. */ virtual uint32_t doCount() const; // Using doWriteData from base class // Using doWriteImage from base class /*! @brief Implements size(). Returns count * type-size, both taken from the element definition. */ virtual uint32_t doSize() const; // Using doSizeData from base class // Using doSizeImage from base class //@} private: // DATA ArrayDef elDef_; //!< The array element definition ByteOrder elByteOrder_; //!< Byte order to read/write the element }; // class TiffBinaryElement // ***************************************************************************** // template, inline and free functions /*! @brief Compare two TIFF component pointers by tag. Return true if the tag of component lhs is less than that of rhs. */ bool cmpTagLt(TiffComponent const* lhs, TiffComponent const* rhs); /*! @brief Compare two TIFF component pointers by group. Return true if the group of component lhs is less than that of rhs. */ bool cmpGroupLt(TiffComponent const* lhs, TiffComponent const* rhs); //! Function to create and initialize a new TIFF entry TiffComponent::AutoPtr newTiffEntry(uint16_t tag, IfdId group); //! Function to create and initialize a new TIFF makernote entry TiffComponent::AutoPtr newTiffMnEntry(uint16_t tag, IfdId group); //! Function to create and initialize a new binary array element TiffComponent::AutoPtr newTiffBinaryElement(uint16_t tag, IfdId group); //! Function to create and initialize a new TIFF directory template TiffComponent::AutoPtr newTiffDirectory(uint16_t tag, IfdId /*group*/) { return TiffComponent::AutoPtr(new TiffDirectory(tag, newGroup)); } //! Function to create and initialize a new TIFF sub-directory template TiffComponent::AutoPtr newTiffSubIfd(uint16_t tag, IfdId group) { return TiffComponent::AutoPtr(new TiffSubIfd(tag, group, newGroup)); } //! Function to create and initialize a new binary array entry template TiffComponent::AutoPtr newTiffBinaryArray0(uint16_t tag, IfdId group) { // *& acrobatics is a workaround for a MSVC 7.1 bug return TiffComponent::AutoPtr( new TiffBinaryArray(tag, group, arrayCfg, *(&arrayDef), N)); } //! Function to create and initialize a new simple binary array entry template TiffComponent::AutoPtr newTiffBinaryArray1(uint16_t tag, IfdId group) { return TiffComponent::AutoPtr( new TiffBinaryArray(tag, group, arrayCfg, 0, 0)); } //! Function to create and initialize a new complex binary array entry template TiffComponent::AutoPtr newTiffBinaryArray2(uint16_t tag, IfdId group) { return TiffComponent::AutoPtr( new TiffBinaryArray(tag, group, arraySet, N, cfgSelFct)); } //! Function to create and initialize a new TIFF entry for a thumbnail (data) template TiffComponent::AutoPtr newTiffThumbData(uint16_t tag, IfdId group) { return TiffComponent::AutoPtr( new TiffDataEntry(tag, group, szTag, szGroup)); } //! Function to create and initialize a new TIFF entry for a thumbnail (size) template TiffComponent::AutoPtr newTiffThumbSize(uint16_t tag, IfdId group) { return TiffComponent::AutoPtr( new TiffSizeEntry(tag, group, dtTag, dtGroup)); } //! Function to create and initialize a new TIFF entry for image data template TiffComponent::AutoPtr newTiffImageData(uint16_t tag, IfdId group) { return TiffComponent::AutoPtr( new TiffImageEntry(tag, group, szTag, szGroup)); } //! Function to create and initialize a new TIFF entry for image data (size) template TiffComponent::AutoPtr newTiffImageSize(uint16_t tag, IfdId group) { // Todo: Same as newTiffThumbSize - consolidate (rename)? return TiffComponent::AutoPtr( new TiffSizeEntry(tag, group, dtTag, dtGroup)); } }} // namespace Internal, Exiv2 #endif // #ifndef TIFFCOMPOSITE_INT_HPP_ exiv2-0.25/src/getopt_win32.h0000664000175000017500000000546412523622506015613 0ustar andreasandreas/* * Copyright (c) 1987, 1993, 1994, 1996 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef __GETOPT_H__ #define __GETOPT_H__ #ifdef __cplusplus extern "C" { #endif extern int opterr; /* if error message should be printed */ extern int optind; /* index into parent argv vector */ extern int optopt; /* character checked for validity */ extern int optreset; /* reset getopt */ extern char *optarg; /* argument associated with option */ int getopt (int, char * const *, const char *); #ifdef __cplusplus } #endif #endif /* __GETOPT_H__ */ #ifndef __UNISTD_GETOPT__ #ifndef __GETOPT_LONG_H__ #define __GETOPT_LONG_H__ #ifdef __cplusplus extern "C" { #endif struct option { const char *name; int has_arg; int *flag; int val; }; int getopt_long (int, char *const *, const char *, const struct option *, int *); #ifndef HAVE_DECL_GETOPT #define HAVE_DECL_GETOPT 1 #endif #define no_argument 0 #define required_argument 1 #define optional_argument 2 #ifdef __cplusplus } #endif #endif /* __GETOPT_LONG_H__ */ #endif /* __UNISTD_GETOPT__ */ exiv2-0.25/src/crwparse.cpp0000664000175000017500000000242011045347530015434 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // crwparse.cpp, $Rev: 1560 $ // Print the CIFF structure of a CRW file #include "crwimage.hpp" #include "crwimage_int.hpp" #include "futils.hpp" #include int main(int argc, char* const argv[]) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; std::cout << "Print the CIFF structure of a CRW file\n"; return 1; } Exiv2::FileIo io(argv[1]); if(io.open() != 0) { throw Exiv2::Error(9, io.path(), Exiv2::strError()); } Exiv2::IoCloser closer(io); // Ensure that this is a CRW image if (!Exiv2::isCrwType(io, false)) { if (io.error() || io.eof()) throw Exiv2::Error(14); throw Exiv2::Error(33); } // Read the image into a memory buffer long len = io.size(); Exiv2::DataBuf buf(len); io.read(buf.pData_, len); if (io.error() || io.eof()) throw Exiv2::Error(14); // Parse the image, starting with a CIFF header component Exiv2::Internal::CiffHeader::AutoPtr parseTree(new Exiv2::Internal::CiffHeader); parseTree->read(buf.pData_, buf.size_); parseTree->print(std::cout); return 0; } catch (Exiv2::AnyError& e) { std::cerr << e << "\n"; return -1; } exiv2-0.25/src/xmpdump.cpp0000664000175000017500000000157711027153701015307 0ustar andreasandreas// ***************************************************************** -*- C++ -*- // xmpdump.cpp, $Rev: 1512 $ // Sample program to dump the XMP packet of an image #include "image.hpp" #include #include #include int main(int argc, char* const argv[]) try { if (argc != 2) { std::cout << "Usage: " << argv[0] << " file\n"; return 1; } Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(argv[1]); assert(image.get() != 0); image->readMetadata(); const std::string& xmpPacket = image->xmpPacket(); if (xmpPacket.empty()) { std::string error(argv[1]); error += ": No XMP packet found in the file"; throw Exiv2::Error(1, error); } std::cout << xmpPacket << "\n"; return 0; } catch (Exiv2::AnyError& e) { std::cout << "Caught Exiv2 exception '" << e << "'\n"; return -1; } exiv2-0.25/src/exiv2.10000664000175000017500000005204212523340054014222 0ustar andreasandreas.\" Hey, EMACS: -*- nroff -*- .\" @(#) $Id: exiv2.1 3801 2015-05-09 08:07:08Z robinwmills $ .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH EXIV2 1 "May 9, 2015" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME exiv2 \- Image metadata manipulation tool .SH SYNOPSIS .B exiv2 [\fIoptions\fP] [\fIaction\fP] \fIfile\fP ... .br .SH DESCRIPTION .PP .\" TeX users may be more comfortable with the \fB\fP and .\" \fI\fP escape sequences to invode bold face and italics, .\" respectively. .B exiv2 is a program to read and write Exif, IPTC, XMP metadata and image comments and can read many vendor makernote tags. The program optionally converts between Exif tags, XMP properties and IPTC datasets as recommended by the Exif Standard, the IPTC Standard, the XMP specification and Metadata Working Group guidelines. .br The following image formats are supported: .TS lB lB lB lB lB _ _ _ _ _ l l l l l. Type Exif IPTC XMP Image comments JPEG Read/Write Read/Write Read/Write Read/Write EXV Read/Write Read/Write Read/Write Read/Write CR2 Read/Write Read/Write Read/Write - CRW Read/Write - - Read/Write MRW Read Read Read - TIFF Read/Write Read/Write Read/Write - DNG Read/Write Read/Write Read/Write - NEF Read/Write Read/Write Read/Write - PEF Read/Write Read/Write Read/Write - ARW Read Read Read - RW2 Read Read Read - SR2 Read Read Read - SRW Read/Write Read/Write Read/Write - ORF Read/Write Read/Write Read/Write - PNG Read/Write Read/Write Read/Write Read/Write PGF Read/Write Read/Write Read/Write Read/Write RAF Read Read Read - EPS - - Read/Write - XMP - - Read/Write - GIF - - - - PSD Read/Write Read/Write Read/Write - TGA - - - - BMP - - - - JP2 Read/Write Read/Write Read/Write - .TE .IP \(bu 2 Support for GIF, TGA and BMP images is minimal: the image format is recognized, a MIME type assigned to it and the height and width of the image are determined. .IP \(bu 2 Reading other TIFF-like RAW image formats, which are not listed in the table, may also work. .SH ACTIONS The \fIaction\fP argument is only required if it is not clear from the \fIoptions\fP which action is implied. .TP .B pr | print Print image metadata. This is the default action, i.e., the command \fIexiv2 image.jpg\fP will print a summary of the image Exif metadata. .TP .B ex | extract Extract metadata to *.exv, XMP sidecar (*.xmp) and thumbnail image files. Modification commands can be applied on-the-fly. .TP .B in | insert Insert metadata from corresponding *.exv, XMP sidecar (*.xmp) and thumbnail files. Use option \fB\-S\fP \fI.suf\fP to change the suffix of the input files. Since files of any supported format can be used as input files, this command can be used to copy the metadata between files of different formats. Modification commands can be applied on-the-fly. .TP .B rm | delete Delete image metadata from the files. .TP .B ad | adjust Adjust Exif timestamps by the given time. Requires at least one of the options \fB\-a\fP \fItime\fP, \fB\-Y\fP \fIyrs\fP, \fB\-O\fP \fImon\fP or \fB\-D\fP \fIday\fP. .TP .B mo | modify Apply commands to modify (add, set, delete) the Exif, IPTC and XMP metadata of image files. Requires option \fB\-c\fP, \fB\-m\fP or \fB\-M\fP. .TP .B mv | rename Rename files and/or set file timestamps according to the Exif create timestamp. Uses the value of tag Exif.Photo.DateTimeOriginal or, if not present, Exif.Image.DateTime to determine the timestamp. The filename format can be set with \fB\-r\fP \fIfmt\fP, timestamp options are \fB\-t\fP and \fB\-T\fP. .TP .B fi | fixiso Copy the ISO setting from one of the proprietary Nikon or Canon makernote ISO tags to the regular Exif ISO tag, Exif.Photo.ISOSpeedRatings. Does not overwrite an existing standard Exif ISO tag. .TP .B fc | fixcom Fix the character encoding of Exif Unicode user comments. Decodes the comment using the auto-detected or specified character encoding and writes it back in UCS-2. Use option \fB\-n\fP to specify the current encoding of the comment if necessary. .br .ne 40 .SH COMMAND SUMMARY .sp 1 .nf exiv2 [ opt [arg] ]+ [ act ] file ... .sp 1 option [arg] long option description -a tim --adjust Modify time stamps. [+|-]HH[:MM[:SS[.mmm]]] -b --binary Show large binary values (default is to suppress them). -c txt --comment JPEG comment string to set in the image ('modify' action). ... -d tgt --delete Delete target(s) for the 'delete' action. ... -D +-n --days Time adjustment by a positive or negative number of days ... -e tgt --extract Extract target(s) for the 'extract' action. -f --force Do not prompt before overwriting existing files ... -F --Force Do not prompt before renaming files (Force rename) ... -g key --grep Only output info for this Exiv2 key (grep). -h --help Display help and exit. -i tgt --insert Insert target(s) for the 'insert' action. ... -k --keep Preserve file timestamps when updating files (keep) -K Key --key Report key. Similar to -g (grep) however key must match exactly. -l dir --location Location (directory) for files to be inserted or extracted. -m file --modify read commands from cmd-file -M cmd --Modify Command line for the 'modify' action. ... -n enc --encode Charset to decode Exif Unicode user comments. See: man 3 iconv_open -O +-n --months Time adjustment by a positive or negative number of months, ... -p mod --print Print report (common reports) -P flg --Print Print report (fine grained control) -q --quiet Silence warnings and error messages from the Exiv2 library ... -Q lvl --log Set the log-level to 'd'(ebug), 'i'(nfo), 'w'(arning), 'e'(rror) -r fmt --rename Filename format for the 'rename' action. ... -S suf --suffix Use suffix .suf for source files for insert command. -t --timestamp Set the file timestamp according to the Exif create timestamp ... -T --Timestamp Only set the file timestamp according to Exif create timestamp ... -u --unknown Show unknown tags ... -v --verbose verbose -V --version Show the program version and exit. -Y +-n --years Time adjustment by a positive or negative number of years ... .sp 1 act pr | ex | in | rm | ad | mo | mv | fi | fc print, extract, insert, delete, adjust, modify, rename, fixiso,fixcom cmd See "Commands" below. flg E | I | X | x | g | k | l | n | y | c | s | v | t | h Exif , IPTC, XMP, num, grp, key, label, name , type, count, size, vanilla, translated, hex fmt Default format is %Y%m%d_%H%M%S. lvl d | i | i | w | e debug, info, warning, error mod s | a | t | v | h | i | x | c | p | i | S | X : summary, add, translated, vanilla, hex ... iptc ,xmp, comment, preview, Structure,XMP raw tgt a | c | e | i | t | x all, comment, exif, iptc, thumb, xmp .br .fi .ne 40 .SH OPTIONS .TP .B \-h Display help and exit. .TP .B \-V Show the program version and exit. .br When \fB\-V\fP is combined with \fB\-v\fP (Verbose version), build information is printed to standard output along with a list of shared libraries which have been loaded into memory. Verbose version is supported on Windows (MSVC, Cygwin and MinGW builds), MacOSX and Linux and is provided for test and debugging. .TP .B \-v Be verbose during the program run. .TP .B \-q Silence warnings and error messages from the Exiv2 library during the program run (quiet). Note that options \fB\-v\fP and \fB\-q\fP can be used at the same time. .TP .B \-Q \fIlvl\fP Set the log-level to 'd'(ebug), 'i'(nfo), 'w'(arning), 'e'(rror) or 'm'(ute). The default log-level is 'w'. \fB\-Qm\fP is equivalent to \fB\-q\fP. All log messages are written to standard error. .TP .B \-b Show large binary values (default is to suppress them). .TP .B \-u Show unknown tags (default is to suppress tags which don't have a name). .TP .B \-g \fIkey\fP Only keys which match the given key (grep). .br Multiple \fB\-g\fP options can be used to grep info for several keys. This option uses the system regular expression engine: see man 3 regex. Platforms which do not support regex use key for a substring match. You can determine the availability of regex using the command: exiv2 -v -V -g have_regex .nf exiv2 \-g Date \-pt R.jpg Exif.Image.DateTime Ascii 20 2012:08:07 16:01:05 Exif.Photo.DateTimeOriginal Ascii 20 2011:09:18 16:25:48 Exif.Photo.DateTimeDigitized Ascii 20 2011:09:18 16:25:48 .fi .TP .B \-K \fIkey\fP Only report data for given key. .br Multiple \fB\-K\fP options can be used to report more than a single key. .nf exiv2 \-K Exif.Photo.DateTimeDigitized -K Exif.Photo.DateTimeOriginal \-pt R.jpg Exif.Photo.DateTimeOriginal Ascii 20 2011:09:18 16:25:48 Exif.Photo.DateTimeDigitized Ascii 20 2011:09:18 16:25:48 .fi .TP .B \-n \fIenc\fP Charset to use to decode Exif Unicode user comments. \fIenc\fP is a name understood by \fBiconv_open\fP(3), e.g., 'UTF-8'. .TP .B \-k Preserve file timestamps when updating files (keep). Can be used with all options which update files. The flag is ignored by read-only options. .TP .B \-t Set the file timestamp according to the Exif create timestamp in addition to renaming the file (overrides \fB\-k\fP). This option is only used with the 'rename' action. .TP .B \-T Only set the file timestamp according to the Exif create timestamp, do not rename the file (overrides \fB\-k\fP). This option is only used with the 'rename' action. Note: On Windows you may have to set the TZ environment variable for this option to work correctly. .TP .B \-f Do not prompt before overwriting existing files (force overwrite). .TP .B \-F Do not prompt before renaming files (Force rename). Appends '_1' ('_2', ...) to the name of the new file. .TP .B \-a \fItime\fP Time adjustment in the format [\-]HH[:MM[:SS]]. This option is only used with the 'adjust' action. Examples: 1 adds one hour, 1:01 adds one hour and one minute, \-0:00:30 subtracts 30 seconds. .TP .B \-Y \fIyrs\fP Time adjustment by a positive or negative number of years, for the 'adjust' action. .TP .B \-O \fImon\fP Time adjustment by a positive or negative number of months, for the 'adjust' action. .TP .B \-D \fIday\fP Time adjustment by a positive or negative number of days, for the 'adjust' action. .TP .B \-p \fImode\fP Print mode for the 'print' action. Possible modes are: .br s : print a summary of the Exif metadata (the default) .br a : print Exif, IPTC and XMP metadata (shortcut for \-Pkyct) .br t : interpreted (translated) Exif tags (\-PEkyct) .br v : plain Exif tag values (\-PExgnycv) .br h : hexdump of the Exif data (\-PExgnycsh) .br i : IPTC datasets (\-PIkyct) .br x : XMP properties (\-PXkyct) .br c : JPEG comment .br p : list available image previews, sorted by preview image size in pixels .br S : print image structure information (jpg, png and tiff only) .br X : print "raw" XMP (jpg, png and tiff only) .TP .B \-P \fIflgs\fP Print flags for fine control of the tag list ('print' action). Allows control of the type of metadata as well as data columns included in the print output. Valid flags are: .br E : include Exif tags in the list .br I : IPTC datasets .br X : XMP properties .br x : print a column with the tag number .br g : group name .br k : key .br l : tag label .br n : tag name .br y : type .br c : number of components (count) .br s : size in bytes .br v : plain data value .br t : interpreted (translated) data .br h : hexdump of the data .TP .B \-d \fItgt\fP Delete target(s) for the 'delete' action. Possible targets are: .br a : all supported metadata (the default) .br e : Exif section .br t : Exif thumbnail only .br i : IPTC data .br x : XMP packet .br c : JPEG comment .TP .B \-i \fItgt\fP Insert target(s) for the 'insert' action. Possible targets are the same as those for the \fB\-d\fP option, plus an optional modifier: .sp 1 X : Insert metadata from an XMP sidecar file .xmp. The remaining insert targets determine what metadata to insert from the sidecar file. Possible are Exif, IPTC and XMP and the default is all of these. Note that the inserted XMP properties include those converted to Exif and IPTC. .br This is option is intended for "filter" operations on the XMP such as: .br $ exiv2 -e{tgt}- \fIfilename\fP | xmllint .... | exiv2 -i{tgt}- \fIfilename\fP .sp 1 Only JPEG thumbnails can be inserted (not TIFF thumbnails), they need to be named \fIfile\fP\-thumb.jpg. .TP .B \-e \fItgt\fP Extract target(s) for the 'extract' action. Possible targets are the same as those for the \fB\-d\fP option, plus a target to extract preview images and a modifier to generate an XMP sidecar file: .br p[[, ...]] : Extract preview images. The optional comma separated list of preview image numbers is used to determine which preview images to extract. The available preview images and their numbers are displayed with the 'print' option \fB\-pp\fP. .sp 1 X : Extract metadata to an XMP sidecar file .xmp. The remaining extract targets determine what metadata to extract to the sidecar file. Possible are Exif, IPTC and XMP and the default is all of these. .sp 1 - : Output sidecar file to stdout (see -i tgt for example) .sp 1 .TP .B \-r \fIfmt\fP Filename format for the 'rename' action. The format string follows \fBstrftime\fP(3) and supports the following keywords: .br :basename: - original filename without extension .br :dirname: - name of the directory holding the original file .br :parentname: - name of parent directory .br Default filename format is %Y%m%d_%H%M%S. .TP .B \-c \fItxt\fP JPEG comment string to set in the image ('modify' action). This option can also be used with the 'extract' and 'insert' actions to modify metadata on-the-fly. .TP .B \-m \fIfile\fP Command file for the 'modify' action. This option can also be used with the 'extract' and 'insert' actions to modify metadata on-the-fly. .TP .B \-M \fIcmd\fP Command line for the 'modify' action. This option can also be used with the 'extract' and 'insert' actions to modify metadata on-the-fly. The format for the commands is the same as that of the lines of a command file. .TP .B \-l \fIdir\fP Location (directory) for files to be inserted or extracted. .TP .B \-S \fI.suf\fP Use suffix \fI.suf\fP for source files in 'insert' action. .SH COMMANDS Commands for the 'modify' action can be read from a command file, e.g., .sp 1 .nf exiv2 \-m cmd.txt image.jpg .fi .sp 1 or given on the command line, as in .sp 1 .nf exiv2 \-M"add Iptc.Application2.Credit String Mr. Smith" image.jpg .fi .sp 1 Note the quotes. Multiple \fB\-m\fP and \fB\-M\fP options can be combined, and a non-standard XMP namespace registered. .sp 1 .nf exiv2 \-M"reg myprefix http://ns.myprefix.me/" \-M"add Xmp.myprefix.Whom Mr. Smith" \-M"set Exif.Image.Artist Mr. Smith" image.jpg .fi .sp 1 When writing Exif, IPTC and XMP metadata, .B exiv2 enforces only a correct metadata structure. It is possible to write tags with types and values different from those specified in the standards, duplicate Exif tags, undefined tags, or incomplete metadata. While .B exiv2 is able to read all metadata that it can write, other programs may have difficulties with images that contain non standard-conforming metadata. .SS Command format The format of a command is .sp 1 .nf \fBset | add | del\fP \fIkey\fP [[\fItype\fP] \fIvalue\fP] .fi .TP .B set Set the \fIvalue\fP of an existing tag with a matching \fIkey\fP or add the tag. .TP .B add Add a tag (unless \fIkey\fP is a non\-repeatable IPTC key; nothing prevents you from adding duplicate Exif tags). .TP .B del Delete all occurrences of a tag (requires only a \fIkey\fP). .TP .I key Exiv2 Exif, IPTC or XMP key. .TP .I type .B Byte | Ascii | Short | Long | Rational | Undefined | SShort | SLong | SRational | Comment for Exif keys, .br .B String | Date | Time | Short | Undefined for IPTC keys, and .br .B XmpText | XmpAlt | XmpBag | XmpSeq | LangAlt for XMP keys. .sp 1 A default \fItype\fP is used if none is explicitly given. The default is determined based on \fIkey\fP. .TP .I value The remaining text on the line is the value. It can optionally be enclosed in single quotes ('\fIvalue\fP') or double quotes ("\fIvalue\fP"). .sp 1 The value is optional. Not providing any value is equivalent to an empty value ("") and is mainly useful to create an XMP array property, e.g., a bag. .sp 1 The format of Exif \fBComment\fP values includes an optional charset specification at the beginning: .br .B [charset=Ascii|Jis|Unicode|Undefined ]\fIcomment\fP .sp 1 .B Undefined is used by default if the value doesn't start with a charset definition. .sp 1 The format for an IPTC \fBDate\fP value is: .br YYYY\-MM\-DD (year, month, day) .sp 1 The format for an IPTC \fBTime\fP value is: .br HH:MM:SS (hours, minutes, seconds) .br and may optionally be followed by: .br \-HH:MM or +HH:MM (hours, minutes ahead/behind UTC) .sp 1 The format of \fBRational\fP (and \fBSRational\fP) is one of: .br integer .br integer-numerator/integer-denominator .br Fnumber .br fnumber .sp 1 Rational Examples: .br exiv2 "-Mset Exif.Photo.MaxApertureValue 557429/62500" X.jpg .br exiv2 "-Mset Exif.Photo.MaxApertureValue F5.6" X.jpg .sp 1 The Rational format Fnumber (or fnumber) is for the convenience of setting aperture values. Aperture values are stored in Exif is an \fBAPEX\fP value which can be evaluated by the expression: .sp 1 apex-value = log(Fnumber) * 2.0 / log(2.0) .br Fnumber = exp(apex-value * log(2.0) / 2.0) .sp 1 The Rational format Fnumber is valid for any \fBRational\fP, even when the key is not an Aperture. More information about \fBAPEX\fP value is available from: http://en.wikipedia.org/wiki/APEX_system .sp 1 The format of XMP \fBLangAlt\fP values includes an optional language qualifier: .br .B lang="\fIlanguage-code\fP\fI" text\fP .sp lang="x-default" is used if the value doesn't start with a language qualifier. .sp 1 exiv2 -M'set Xmp.dc.title lang="de-DE" Euros' X.jpg .br exiv2 -M'set Xmp.dc.title lang="en-GB" Pounds' X.jpg .br exiv2 -M'set Xmp.dc.title lang="en-US" In God We Trust' X.jpg .br exiv2 -M'set Xmp.dc.title All others pay cash' X.jpg .sp 1 To remove a language specification, set the value to '' (empty string) .br exiv2 -M'set Xmp.dc.title lang="en-US"' X.jpg .sp 1 To remove all language specifications, delete the key: .br exiv2 -M'del Xmp.dc.title' X.jpg .TP To register additional XMP namespaces, combine the command with: .TP .nf \fBreg\fP \fIprefix\fP \fInamespace\fP .fi .SS Command file format Empty lines and lines starting with \fB#\fP in a command file are ignored (comments). Remaining lines are commands as described above. .SH EXAMPLES .TP exiv2 *.jpg Prints a summary of the Exif information for all JPEG files in the directory. .TP exiv2 \-pi image.jpg Prints the IPTC metadata of the image. .TP exiv2 rename img_1234.jpg Renames img_1234.jpg (taken on 13\-Nov\-05 at 22:58:31) to 20051113_225831.jpg .TP exiv2 \-r':basename:_%Y%m' rename img_1234.jpg Renames img_1234.jpg to img_1234_200511.jpg .TP exiv2 \-et img1.jpg img2.jpg Extracts the Exif thumbnails from the two files into img1\-thumb.jpg and img2\-thumb.jpg. .TP exiv2 \-it img1.jpg img2.jpg Inserts (copies) metadata from img1.exv to img1.jpg and from img2.exv to img2.jpg. .TP exiv2 \-ep1,2 image.jpg Extracts previews 1 and 2 from the image to the files image\-preview1.jpg and image\-preview2.jpg. .TP exiv2 \-eiX image.jpg Extracts IPTC datasets into an XMP sidecar file image.xmp and in the process converts them to "IPTC Core" XMP schema. .TP exiv2 \-iixX image.jpg Inserts IPTC and XMP metadata from an XMP sidecar file image.xmp into image.jpg. The resulting IPTC datasets are converted from the "IPTC Core" XMP schema properties in the sidecar file to the older IPTC IIM4 format. The inserted XMP properties include those in the "IPTC Core" XMP schema. .TP .nf exiv2 \-M"set Exif.Photo.UserComment charset=Ascii New Exif comment" image.jpg .fi Sets the Exif comment to an ASCII string. .TP .nf exiv2 \-M"set Exif.GPSInfo.GPSLatitude 4/1 15/1 33/1" \\ \-M"set Exif.GPSInfo.GPSLatitudeRef N" image.jpg .fi Sets the latitude to 4 degrees, 15 minutes and 33 seconds north. The Exif standard stipulates that the GPSLatitude tag consists of three Rational numbers for the degrees, minutes and seconds of the latitude and GPSLatitudeRef contains either 'N' or 'S' for north or south latitude respectively. .TP .nf exiv2 insert \-l/tmp -S.CRW /data/*.JPG .fi Copy all metadata from CRW files in the /tmp directory to JPG files with corresponding basenames in the /data directory. Note that this copies metadata as is, without any modifications to adapt it to the requirements of the target format. Some tags copied like this may not make sense in the target image. .SH SEE ALSO .TP .I http://www.exiv2.org/sample.html#modify Sample command files. .TP .I http://www.exiv2.org/metadata.html Taglists with \fIkey\fP and default \fItype\fP values. .SH AUTHORS .B exiv2 was written by Andreas Huggel and others. The Exiv2 project web site is http://exiv2.org .PP This manual page was originally created for the Debian project by KELEMEN Peter . exiv2-0.25/src/jpgimage.cpp0000664000175000017500000013074312523623336015406 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: jpgimage.cpp Version: $Rev: 3815 $ Author(s): Andreas Huggel (ahu) Brad Schick (brad) Volker Grabsch (vog) Michael Ulbrich (mul) History: 15-Jan-05, brad: split out from image.cpp */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: jpgimage.cpp 3815 2015-05-10 09:37:34Z ahuggel $") // included header files #include "config.h" #include "jpgimage.hpp" #include "image_int.hpp" #include "error.hpp" #include "futils.hpp" // + standard includes #include // for EOF #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { const byte JpegBase::dht_ = 0xc4; const byte JpegBase::dqt_ = 0xdb; const byte JpegBase::dri_ = 0xdd; const byte JpegBase::sos_ = 0xda; const byte JpegBase::eoi_ = 0xd9; const byte JpegBase::app0_ = 0xe0; const byte JpegBase::app1_ = 0xe1; const byte JpegBase::app13_ = 0xed; const byte JpegBase::com_ = 0xfe; // Start of Frame markers, nondifferential Huffman-coding frames const byte JpegBase::sof0_ = 0xc0; // start of frame 0, baseline DCT const byte JpegBase::sof1_ = 0xc1; // start of frame 1, extended sequential DCT, Huffman coding const byte JpegBase::sof2_ = 0xc2; // start of frame 2, progressive DCT, Huffman coding const byte JpegBase::sof3_ = 0xc3; // start of frame 3, lossless sequential, Huffman coding // Start of Frame markers, differential Huffman-coding frames const byte JpegBase::sof5_ = 0xc5; // start of frame 5, differential sequential DCT, Huffman coding const byte JpegBase::sof6_ = 0xc6; // start of frame 6, differential progressive DCT, Huffman coding const byte JpegBase::sof7_ = 0xc7; // start of frame 7, differential lossless, Huffman coding // Start of Frame markers, nondifferential arithmetic-coding frames const byte JpegBase::sof9_ = 0xc9; // start of frame 9, extended sequential DCT, arithmetic coding const byte JpegBase::sof10_ = 0xca; // start of frame 10, progressive DCT, arithmetic coding const byte JpegBase::sof11_ = 0xcb; // start of frame 11, lossless sequential, arithmetic coding // Start of Frame markers, differential arithmetic-coding frames const byte JpegBase::sof13_ = 0xcd; // start of frame 13, differential sequential DCT, arithmetic coding const byte JpegBase::sof14_ = 0xce; // start of frame 14, progressive DCT, arithmetic coding const byte JpegBase::sof15_ = 0xcf; // start of frame 15, differential lossless, arithmetic coding const char JpegBase::exifId_[] = "Exif\0\0"; const char JpegBase::jfifId_[] = "JFIF\0"; const char JpegBase::xmpId_[] = "http://ns.adobe.com/xap/1.0/\0"; const char Photoshop::ps3Id_[] = "Photoshop 3.0\0"; const char* Photoshop::irbId_[] = {"8BIM", "AgHg", "DCSR", "PHUT"}; const char Photoshop::bimId_[] = "8BIM"; // deprecated const uint16_t Photoshop::iptc_ = 0x0404; const uint16_t Photoshop::preview_ = 0x040c; bool Photoshop::isIrb(const byte* pPsData, long sizePsData) { if (sizePsData < 4) return false; for (size_t i = 0; i < (sizeof irbId_) / (sizeof *irbId_); i++) { assert(strlen(irbId_[i]) == 4); if (memcmp(pPsData, irbId_[i], 4) == 0) return true; } return false; } bool Photoshop::valid(const byte* pPsData, long sizePsData) { const byte *record = 0; uint32_t sizeIptc = 0; uint32_t sizeHdr = 0; const byte* pCur = pPsData; const byte* pEnd = pPsData + sizePsData; int ret = 0; while (pCur < pEnd && 0 == (ret = Photoshop::locateIptcIrb(pCur, static_cast(pEnd - pCur), &record, &sizeHdr, &sizeIptc))) { pCur = record + sizeHdr + sizeIptc + (sizeIptc & 1); } return ret >= 0; } // Todo: Generalised from JpegBase::locateIptcData without really understanding // the format (in particular the header). So it remains to be confirmed // if this also makes sense for psTag != Photoshop::iptc int Photoshop::locateIrb(const byte* pPsData, long sizePsData, uint16_t psTag, const byte** record, uint32_t *const sizeHdr, uint32_t *const sizeData) { assert(record); assert(sizeHdr); assert(sizeData); // Used for error checking long position = 0; #ifdef DEBUG std::cerr << "Photoshop::locateIrb: "; #endif // Data should follow Photoshop format, if not exit while (position <= sizePsData - 12 && isIrb(pPsData + position, 4)) { const byte *hrd = pPsData + position; position += 4; uint16_t type = getUShort(pPsData + position, bigEndian); position += 2; #ifdef DEBUG std::cerr << "0x" << std::hex << type << std::dec << " "; #endif // Pascal string is padded to have an even size (including size byte) byte psSize = pPsData[position] + 1; psSize += (psSize & 1); position += psSize; if (position + 4 > sizePsData) { #ifdef DEBUG std::cerr << "Warning: " << "Invalid or extended Photoshop IRB\n"; #endif return -2; } uint32_t dataSize = getULong(pPsData + position, bigEndian); position += 4; if (dataSize > static_cast(sizePsData - position)) { #ifdef DEBUG std::cerr << "Warning: " << "Invalid Photoshop IRB data size " << dataSize << " or extended Photoshop IRB\n"; #endif return -2; } #ifndef DEBUG if ( (dataSize & 1) && position + dataSize == static_cast(sizePsData)) { std::cerr << "Warning: " << "Photoshop IRB data is not padded to even size\n"; } #endif if (type == psTag) { #ifdef DEBUG std::cerr << "ok\n"; #endif *sizeData = dataSize; *sizeHdr = psSize + 10; *record = hrd; return 0; } // Data size is also padded to be even position += dataSize + (dataSize & 1); } #ifdef DEBUG std::cerr << "pPsData doesn't start with '8BIM'\n"; #endif if (position < sizePsData) { #ifdef DEBUG std::cerr << "Warning: " << "Invalid or extended Photoshop IRB\n"; #endif return -2; } return 3; } // Photoshop::locateIrb int Photoshop::locateIptcIrb(const byte* pPsData, long sizePsData, const byte** record, uint32_t *const sizeHdr, uint32_t *const sizeData) { return locateIrb(pPsData, sizePsData, iptc_, record, sizeHdr, sizeData); } int Photoshop::locatePreviewIrb(const byte* pPsData, long sizePsData, const byte** record, uint32_t *const sizeHdr, uint32_t *const sizeData) { return locateIrb(pPsData, sizePsData, preview_, record, sizeHdr, sizeData); } DataBuf Photoshop::setIptcIrb(const byte* pPsData, long sizePsData, const IptcData& iptcData) { if (sizePsData > 0) assert(pPsData); #ifdef DEBUG std::cerr << "IRB block at the beginning of Photoshop::setIptcIrb\n"; if (sizePsData == 0) std::cerr << " None.\n"; else hexdump(std::cerr, pPsData, sizePsData); #endif const byte* record = pPsData; uint32_t sizeIptc = 0; uint32_t sizeHdr = 0; DataBuf rc; // Safe to call with zero psData.size_ if (0 > Photoshop::locateIptcIrb(pPsData, sizePsData, &record, &sizeHdr, &sizeIptc)) { return rc; } Blob psBlob; const uint32_t sizeFront = static_cast(record - pPsData); // Write data before old record. if (sizePsData > 0 && sizeFront > 0) { append(psBlob, pPsData, sizeFront); } // Write new iptc record if we have it DataBuf rawIptc = IptcParser::encode(iptcData); if (rawIptc.size_ > 0) { byte tmpBuf[12]; std::memcpy(tmpBuf, Photoshop::irbId_[0], 4); us2Data(tmpBuf + 4, iptc_, bigEndian); tmpBuf[6] = 0; tmpBuf[7] = 0; ul2Data(tmpBuf + 8, rawIptc.size_, bigEndian); append(psBlob, tmpBuf, 12); append(psBlob, rawIptc.pData_, rawIptc.size_); // Data is padded to be even (but not included in size) if (rawIptc.size_ & 1) psBlob.push_back(0x00); } // Write existing stuff after record, // skip the current and all remaining IPTC blocks long pos = sizeFront; while (0 == Photoshop::locateIptcIrb(pPsData + pos, sizePsData - pos, &record, &sizeHdr, &sizeIptc)) { const long newPos = static_cast(record - pPsData); // Copy data up to the IPTC IRB if (newPos > pos) { append(psBlob, pPsData + pos, newPos - pos); } // Skip the IPTC IRB pos = newPos + sizeHdr + sizeIptc + (sizeIptc & 1); } if (pos < sizePsData) { append(psBlob, pPsData + pos, sizePsData - pos); } // Data is rounded to be even if (psBlob.size() > 0) rc = DataBuf(&psBlob[0], static_cast(psBlob.size())); #ifdef DEBUG std::cerr << "IRB block at the end of Photoshop::setIptcIrb\n"; if (rc.size_ == 0) std::cerr << " None.\n"; else hexdump(std::cerr, rc.pData_, rc.size_); #endif return rc; } // Photoshop::setIptcIrb JpegBase::JpegBase(int type, BasicIo::AutoPtr io, bool create, const byte initData[], long dataSize) : Image(type, mdExif | mdIptc | mdXmp | mdComment, io) { if (create) { initImage(initData, dataSize); } } int JpegBase::initImage(const byte initData[], long dataSize) { if (io_->open() != 0) { return 4; } IoCloser closer(*io_); if (io_->write(initData, dataSize) != dataSize) { return 4; } return 0; } int JpegBase::advanceToMarker() const { int c = -1; // Skips potential padding between markers while ((c=io_->getb()) != 0xff) { if (c == EOF) return -1; } // Markers can start with any number of 0xff while ((c=io_->getb()) == 0xff) { if (c == EOF) return -2; } return c; } void JpegBase::readMetadata() { int rc = 0; // Todo: this should be the return value if (io_->open() != 0) throw Error(9, io_->path(), strError()); IoCloser closer(*io_); // Ensure that this is the correct image type if (!isThisType(*io_, true)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(15); } clearMetadata(); int search = 5; const long bufMinSize = 36; long bufRead = 0; DataBuf buf(bufMinSize); Blob psBlob; bool foundCompletePsData = false; bool foundExifData = false; bool foundXmpData = false; // Read section marker int marker = advanceToMarker(); if (marker < 0) throw Error(15); while (marker != sos_ && marker != eoi_ && search > 0) { // Read size and signature (ok if this hits EOF) std::memset(buf.pData_, 0x0, buf.size_); bufRead = io_->read(buf.pData_, bufMinSize); if (io_->error()) throw Error(14); if (bufRead < 2) throw Error(15); uint16_t size = getUShort(buf.pData_, bigEndian); if ( !foundExifData && marker == app1_ && memcmp(buf.pData_ + 2, exifId_, 6) == 0) { if (size < 8) { rc = 1; break; } // Seek to beginning and read the Exif data io_->seek(8 - bufRead, BasicIo::cur); DataBuf rawExif(size - 8); io_->read(rawExif.pData_, rawExif.size_); if (io_->error() || io_->eof()) throw Error(14); ByteOrder bo = ExifParser::decode(exifData_, rawExif.pData_, rawExif.size_); setByteOrder(bo); if (rawExif.size_ > 0 && byteOrder() == invalidByteOrder) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode Exif metadata.\n"; #endif exifData_.clear(); } --search; foundExifData = true; } else if ( !foundXmpData && marker == app1_ && memcmp(buf.pData_ + 2, xmpId_, 29) == 0) { if (size < 31) { rc = 6; break; } // Seek to beginning and read the XMP packet io_->seek(31 - bufRead, BasicIo::cur); DataBuf xmpPacket(size - 31); io_->read(xmpPacket.pData_, xmpPacket.size_); if (io_->error() || io_->eof()) throw Error(14); xmpPacket_.assign(reinterpret_cast(xmpPacket.pData_), xmpPacket.size_); if (xmpPacket_.size() > 0 && XmpParser::decode(xmpData_, xmpPacket_)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode XMP metadata.\n"; #endif } --search; foundXmpData = true; } else if ( !foundCompletePsData && marker == app13_ && memcmp(buf.pData_ + 2, Photoshop::ps3Id_, 14) == 0) { if (size < 16) { rc = 2; break; } // Read the rest of the APP13 segment io_->seek(16 - bufRead, BasicIo::cur); DataBuf psData(size - 16); io_->read(psData.pData_, psData.size_); if (io_->error() || io_->eof()) throw Error(14); #ifdef DEBUG std::cerr << "Found app13 segment, size = " << size << "\n"; //hexdump(std::cerr, psData.pData_, psData.size_); #endif // Append to psBlob append(psBlob, psData.pData_, psData.size_); // Check whether psBlob is complete if (psBlob.size() > 0 && Photoshop::valid(&psBlob[0], (long) psBlob.size())) { --search; foundCompletePsData = true; } } else if (marker == com_ && comment_.empty()) { if (size < 2) { rc = 3; break; } // JPEGs can have multiple comments, but for now only read // the first one (most jpegs only have one anyway). Comments // are simple single byte ISO-8859-1 strings. io_->seek(2 - bufRead, BasicIo::cur); DataBuf comment(size - 2); io_->read(comment.pData_, comment.size_); if (io_->error() || io_->eof()) throw Error(14); comment_.assign(reinterpret_cast(comment.pData_), comment.size_); while ( comment_.length() && comment_.at(comment_.length()-1) == '\0') { comment_.erase(comment_.length()-1); } --search; } else if ( pixelHeight_ == 0 && ( marker == sof0_ || marker == sof1_ || marker == sof2_ || marker == sof3_ || marker == sof5_ || marker == sof6_ || marker == sof7_ || marker == sof9_ || marker == sof10_ || marker == sof11_ || marker == sof13_ || marker == sof14_ || marker == sof15_)) { // We hit a SOFn (start-of-frame) marker if (size < 8) { rc = 7; break; } pixelHeight_ = getUShort(buf.pData_ + 3, bigEndian); pixelWidth_ = getUShort(buf.pData_ + 5, bigEndian); if (pixelHeight_ != 0) --search; // Skip the remainder of the segment io_->seek(size-bufRead, BasicIo::cur); } else { if (size < 2) { rc = 4; break; } // Skip the remainder of the unknown segment if (io_->seek(size - bufRead, BasicIo::cur)) throw Error(14); } // Read the beginning of the next segment marker = advanceToMarker(); if (marker < 0) { rc = 5; break; } } // while there are segments to process if (psBlob.size() > 0) { // Find actual IPTC data within the psBlob Blob iptcBlob; const byte *record = 0; uint32_t sizeIptc = 0; uint32_t sizeHdr = 0; const byte* pCur = &psBlob[0]; const byte* pEnd = pCur + psBlob.size(); while ( pCur < pEnd && 0 == Photoshop::locateIptcIrb(pCur, static_cast(pEnd - pCur), &record, &sizeHdr, &sizeIptc)) { #ifdef DEBUG std::cerr << "Found IPTC IRB, size = " << sizeIptc << "\n"; #endif if (sizeIptc) { append(iptcBlob, record + sizeHdr, sizeIptc); } pCur = record + sizeHdr + sizeIptc + (sizeIptc & 1); } if ( iptcBlob.size() > 0 && IptcParser::decode(iptcData_, &iptcBlob[0], static_cast(iptcBlob.size()))) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode IPTC metadata.\n"; #endif iptcData_.clear(); } } // psBlob.size() > 0 if (rc != 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "JPEG format error, rc = " << rc << "\n"; #endif } } // JpegBase::readMetadata bool isBlank(std::string& s) { for ( std::size_t i = 0 ; i < s.length() ; i++ ) if ( s[i] != ' ' ) return false ; return true ; } #define REPORT_MARKER if ( option == kpsBasic ) out << Internal::stringFormat("%8ld | %#02x %-5s",io_->tell(), marker,nm[marker].c_str()) void JpegBase::printStructure(std::ostream& out, PrintStructureOption option) { if (io_->open() != 0) throw Error(9, io_->path(), strError()); // Ensure that this is the correct image type if (!isThisType(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(15); } if ( option == kpsBasic || option == kpsXMP ) { // nmonic for markers std::string nm[256] ; nm[0xd8]="SOI" ; nm[0xd9]="EOI" ; nm[0xda]="SOS" ; nm[0xdb]="DQT" ; nm[0xdd]="DRI" ; nm[0xfe]="COM" ; // 0xe0 .. 0xef are APPn // 0xc0 .. 0xcf are SOFn (except 4) nm[0xc4]="DHT" ; for ( int i = 0 ; i <= 15 ; i++ ) { char MN[10]; sprintf(MN,"APP%d",i); nm[0xe0+i] = MN; if ( i != 4 ) { sprintf(MN,"SOF%d",i); nm[0xc0+i] = MN; } } // Container for the signature bool bExtXMP = false; long bufRead = 0; const long bufMinSize = 36; DataBuf buf(bufMinSize); // Read section marker int marker = advanceToMarker(); if (marker < 0) throw Error(15); bool done = false; bool first= true; while (!done) { // print marker bytes if ( first && option == kpsBasic ) { out << "STRUCTURE OF JPEG FILE: " << io_->path() << std::endl; out << " address | marker | length | data" << std::endl ; REPORT_MARKER; } first = false; // Read size and signature std::memset(buf.pData_, 0x0, buf.size_); bufRead = io_->read(buf.pData_, bufMinSize); if (io_->error()) throw Error(14); if (bufRead < 2) throw Error(15); uint16_t size = 0; // not all markers have size field. if( ( marker >= sof0_ && marker <= sof15_) || ( marker >= app0_ && marker <= (app0_ | 0x0F)) || marker == dht_ || marker == dqt_ || marker == dri_ || marker == com_ || marker == sos_ ){ size = getUShort(buf.pData_, bigEndian); } if ( option == kpsBasic ) out << Internal::stringFormat(" | %7d ", size); // only print the signature for appn if (marker >= app0_ && marker <= (app0_ | 0x0F)) { char http[5]; http[4]=0; memcpy(http,buf.pData_+2,4); if ( option == kpsXMP && std::strcmp(http,"http") == 0 ) { // http://ns.adobe.com/xap/1.0/ if ( size > 0 ) { io_->seek(-bufRead , BasicIo::cur); byte* xmp = new byte[size+1]; io_->read(xmp,size); int start = 0 ; // http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/xmp/pdfs/XMPSpecificationPart3.pdf // if we find HasExtendedXMP, set the flag and ignore this block // the first extended block is a copy of the Standard block. // a robust implementation enables extended blocks to be out of sequence if ( ! bExtXMP ) { while (xmp[start]) start++; start++; if ( ::strstr((char*)xmp+start,"HasExtendedXMP") ) { start = size ; // ignore this packet, we'll get on the next time around bExtXMP = true; } } else { start = 2+35+32+4+4; // Adobe Spec, p19 } xmp[size]=0; out << xmp + start; // this is all we need to output without the blank line dance. delete [] xmp; bufRead = size; } } else if ( option == kpsBasic ) { out << "| " << Internal::binaryToString(buf,32,size>0?2:0); } } // Skip the segment if the size is known if (io_->seek(size - bufRead, BasicIo::cur)) throw Error(14); if ( option == kpsBasic ) out << std::endl; if (marker == sos_) // sos_ is immediately followed by entropy-coded data & eoi_ done = true; else { // Read the beginning of the next segment marker = advanceToMarker(); REPORT_MARKER; if ( marker == eoi_ ) { if ( option == kpsBasic ) out << std::endl; done = true; } } } } } void JpegBase::writeMetadata() { if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); BasicIo::AutoPtr tempIo(io_->temporary()); // may throw assert (tempIo.get() != 0); doWriteMetadata(*tempIo); // may throw io_->close(); io_->transfer(*tempIo); // may throw } // JpegBase::writeMetadata void JpegBase::doWriteMetadata(BasicIo& outIo) { if (!io_->isopen()) throw Error(20); if (!outIo.isopen()) throw Error(21); // Ensure that this is the correct image type if (!isThisType(*io_, true)) { if (io_->error() || io_->eof()) throw Error(20); throw Error(22); } const long bufMinSize = 36; long bufRead = 0; DataBuf buf(bufMinSize); const long seek = io_->tell(); int count = 0; int search = 0; int insertPos = 0; int comPos = 0; int skipApp1Exif = -1; int skipApp1Xmp = -1; bool foundCompletePsData = false; std::vector skipApp13Ps3; int skipCom = -1; Blob psBlob; DataBuf rawExif; // Write image header if (writeHeader(outIo)) throw Error(21); // Read section marker int marker = advanceToMarker(); if (marker < 0) throw Error(22); // First find segments of interest. Normally app0 is first and we want // to insert after it. But if app0 comes after com, app1 and app13 then // don't bother. while (marker != sos_ && marker != eoi_ && search < 5) { // Read size and signature (ok if this hits EOF) bufRead = io_->read(buf.pData_, bufMinSize); if (io_->error()) throw Error(20); uint16_t size = getUShort(buf.pData_, bigEndian); if (marker == app0_) { if (size < 2) throw Error(22); insertPos = count + 1; if (io_->seek(size-bufRead, BasicIo::cur)) throw Error(22); } else if ( skipApp1Exif == -1 && marker == app1_ && memcmp(buf.pData_ + 2, exifId_, 6) == 0) { if (size < 8) throw Error(22); skipApp1Exif = count; ++search; // Seek to beginning and read the current Exif data io_->seek(8 - bufRead, BasicIo::cur); rawExif.alloc(size - 8); io_->read(rawExif.pData_, rawExif.size_); if (io_->error() || io_->eof()) throw Error(22); } else if ( skipApp1Xmp == -1 && marker == app1_ && memcmp(buf.pData_ + 2, xmpId_, 29) == 0) { if (size < 31) throw Error(22); skipApp1Xmp = count; ++search; if (io_->seek(size-bufRead, BasicIo::cur)) throw Error(22); } else if ( !foundCompletePsData && marker == app13_ && memcmp(buf.pData_ + 2, Photoshop::ps3Id_, 14) == 0) { #ifdef DEBUG std::cerr << "Found APP13 Photoshop PS3 segment\n"; #endif if (size < 16) throw Error(22); skipApp13Ps3.push_back(count); io_->seek(16 - bufRead, BasicIo::cur); // Load PS data now to allow reinsertion at any point DataBuf psData(size - 16); io_->read(psData.pData_, size - 16); if (io_->error() || io_->eof()) throw Error(20); // Append to psBlob append(psBlob, psData.pData_, psData.size_); // Check whether psBlob is complete if (psBlob.size() > 0 && Photoshop::valid(&psBlob[0],(long) psBlob.size())) { foundCompletePsData = true; } } else if (marker == com_ && skipCom == -1) { if (size < 2) throw Error(22); // Jpegs can have multiple comments, but for now only handle // the first one (most jpegs only have one anyway). skipCom = count; ++search; if (io_->seek(size-bufRead, BasicIo::cur)) throw Error(22); } else { if (size < 2) throw Error(22); if (io_->seek(size-bufRead, BasicIo::cur)) throw Error(22); } // As in jpeg-6b/wrjpgcom.c: // We will insert the new comment marker just before SOFn. // This (a) causes the new comment to appear after, rather than before, // existing comments; and (b) ensures that comments come after any JFIF // or JFXX markers, as required by the JFIF specification. if ( comPos == 0 && ( marker == sof0_ || marker == sof1_ || marker == sof2_ || marker == sof3_ || marker == sof5_ || marker == sof6_ || marker == sof7_ || marker == sof9_ || marker == sof10_ || marker == sof11_ || marker == sof13_ || marker == sof14_ || marker == sof15_)) { comPos = count; ++search; } marker = advanceToMarker(); if (marker < 0) throw Error(22); ++count; } if (!foundCompletePsData && psBlob.size() > 0) throw Error(22); search += (int) skipApp13Ps3.size(); if (comPos == 0) { if (marker == eoi_) comPos = count; else comPos = insertPos; ++search; } if (exifData_.count() > 0) ++search; if (writeXmpFromPacket() == false && xmpData_.count() > 0) ++search; if (writeXmpFromPacket() == true && xmpPacket_.size() > 0) ++search; if (foundCompletePsData || iptcData_.count() > 0) ++search; if (!comment_.empty()) ++search; io_->seek(seek, BasicIo::beg); count = 0; marker = advanceToMarker(); if (marker < 0) throw Error(22); // To simplify this a bit, new segments are inserts at either the start // or right after app0. This is standard in most jpegs, but has the // potential to change segment ordering (which is allowed). // Segments are erased if there is no assigned metadata. while (marker != sos_ && search > 0) { // Read size and signature (ok if this hits EOF) bufRead = io_->read(buf.pData_, bufMinSize); if (io_->error()) throw Error(20); // Careful, this can be a meaningless number for empty // images with only an eoi_ marker uint16_t size = getUShort(buf.pData_, bigEndian); if (insertPos == count) { byte tmpBuf[64]; // Write Exif data first so that - if there is no app0 - we // create "Exif images" according to the Exif standard. if (exifData_.count() > 0) { Blob blob; ByteOrder bo = byteOrder(); if (bo == invalidByteOrder) { bo = littleEndian; setByteOrder(bo); } WriteMethod wm = ExifParser::encode(blob, rawExif.pData_, rawExif.size_, bo, exifData_); const byte* pExifData = rawExif.pData_; uint32_t exifSize = rawExif.size_; if (wm == wmIntrusive) { pExifData = blob.size() > 0 ? &blob[0] : 0; exifSize = static_cast(blob.size()); } if (exifSize > 0) { // Write APP1 marker, size of APP1 field, Exif id and Exif data tmpBuf[0] = 0xff; tmpBuf[1] = app1_; if (exifSize + 8 > 0xffff) throw Error(37, "Exif"); us2Data(tmpBuf + 2, static_cast(exifSize + 8), bigEndian); std::memcpy(tmpBuf + 4, exifId_, 6); if (outIo.write(tmpBuf, 10) != 10) throw Error(21); // Write new Exif data buffer if ( outIo.write(pExifData, exifSize) != static_cast(exifSize)) throw Error(21); if (outIo.error()) throw Error(21); --search; } } if (writeXmpFromPacket() == false) { if (XmpParser::encode(xmpPacket_, xmpData_, XmpParser::useCompactFormat | XmpParser::omitAllFormatting) > 1) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Failed to encode XMP metadata.\n"; #endif } } if (xmpPacket_.size() > 0) { // Write APP1 marker, size of APP1 field, XMP id and XMP packet tmpBuf[0] = 0xff; tmpBuf[1] = app1_; if (xmpPacket_.size() + 31 > 0xffff) throw Error(37, "XMP"); us2Data(tmpBuf + 2, static_cast(xmpPacket_.size() + 31), bigEndian); std::memcpy(tmpBuf + 4, xmpId_, 29); if (outIo.write(tmpBuf, 33) != 33) throw Error(21); // Write new XMP packet if ( outIo.write(reinterpret_cast(xmpPacket_.data()), static_cast(xmpPacket_.size())) != static_cast(xmpPacket_.size())) throw Error(21); if (outIo.error()) throw Error(21); --search; } if (foundCompletePsData || iptcData_.count() > 0) { // Set the new IPTC IRB, keeps existing IRBs but removes the // IPTC block if there is no new IPTC data to write DataBuf newPsData = Photoshop::setIptcIrb(psBlob.size() > 0 ? &psBlob[0] : 0, (long) psBlob.size(), iptcData_); const long maxChunkSize = 0xffff - 16; const byte* chunkStart = newPsData.pData_; const byte* chunkEnd = chunkStart + newPsData.size_; while (chunkStart < chunkEnd) { // Determine size of next chunk long chunkSize = static_cast(chunkEnd - chunkStart); if (chunkSize > maxChunkSize) { chunkSize = maxChunkSize; // Don't break at a valid IRB boundary const long writtenSize = static_cast(chunkStart - newPsData.pData_); if (Photoshop::valid(newPsData.pData_, writtenSize + chunkSize)) { // Since an IRB has minimum size 12, // (chunkSize - 8) can't be also a IRB boundary chunkSize -= 8; } } // Write APP13 marker, chunk size, and ps3Id tmpBuf[0] = 0xff; tmpBuf[1] = app13_; us2Data(tmpBuf + 2, static_cast(chunkSize + 16), bigEndian); std::memcpy(tmpBuf + 4, Photoshop::ps3Id_, 14); if (outIo.write(tmpBuf, 18) != 18) throw Error(21); if (outIo.error()) throw Error(21); // Write next chunk of the Photoshop IRB data buffer if (outIo.write(chunkStart, chunkSize) != chunkSize) throw Error(21); if (outIo.error()) throw Error(21); chunkStart += chunkSize; } --search; } } if (comPos == count) { if (!comment_.empty()) { byte tmpBuf[4]; // Write COM marker, size of comment, and string tmpBuf[0] = 0xff; tmpBuf[1] = com_; if (comment_.length() + 3 > 0xffff) throw Error(37, "JPEG comment"); us2Data(tmpBuf + 2, static_cast(comment_.length() + 3), bigEndian); if (outIo.write(tmpBuf, 4) != 4) throw Error(21); if (outIo.write((byte*)comment_.data(), (long)comment_.length()) != (long)comment_.length()) throw Error(21); if (outIo.putb(0)==EOF) throw Error(21); if (outIo.error()) throw Error(21); --search; } --search; } if (marker == eoi_) { break; } else if ( skipApp1Exif == count || skipApp1Xmp == count || std::find(skipApp13Ps3.begin(), skipApp13Ps3.end(), count) != skipApp13Ps3.end() || skipCom == count) { --search; io_->seek(size-bufRead, BasicIo::cur); } else { if (size < 2) throw Error(22); buf.alloc(size+2); io_->seek(-bufRead-2, BasicIo::cur); io_->read(buf.pData_, size+2); if (io_->error() || io_->eof()) throw Error(20); if (outIo.write(buf.pData_, size+2) != size+2) throw Error(21); if (outIo.error()) throw Error(21); } // Next marker marker = advanceToMarker(); if (marker < 0) throw Error(22); ++count; } // Populate the fake data, only make sense for remoteio, httpio and sshio. // it avoids allocating memory for parts of the file that contain image-date. io_->populateFakeData(); // Copy rest of the Io io_->seek(-2, BasicIo::cur); buf.alloc(4096); long readSize = 0; while ((readSize=io_->read(buf.pData_, buf.size_))) { if (outIo.write(buf.pData_, readSize) != readSize) throw Error(21); } if (outIo.error()) throw Error(21); } // JpegBase::doWriteMetadata const byte JpegImage::soi_ = 0xd8; const byte JpegImage::blank_[] = { 0xFF,0xD8,0xFF,0xDB,0x00,0x84,0x00,0x10,0x0B,0x0B,0x0B,0x0C,0x0B,0x10,0x0C,0x0C, 0x10,0x17,0x0F,0x0D,0x0F,0x17,0x1B,0x14,0x10,0x10,0x14,0x1B,0x1F,0x17,0x17,0x17, 0x17,0x17,0x1F,0x1E,0x17,0x1A,0x1A,0x1A,0x1A,0x17,0x1E,0x1E,0x23,0x25,0x27,0x25, 0x23,0x1E,0x2F,0x2F,0x33,0x33,0x2F,0x2F,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40, 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x01,0x11,0x0F,0x0F,0x11,0x13,0x11,0x15,0x12, 0x12,0x15,0x14,0x11,0x14,0x11,0x14,0x1A,0x14,0x16,0x16,0x14,0x1A,0x26,0x1A,0x1A, 0x1C,0x1A,0x1A,0x26,0x30,0x23,0x1E,0x1E,0x1E,0x1E,0x23,0x30,0x2B,0x2E,0x27,0x27, 0x27,0x2E,0x2B,0x35,0x35,0x30,0x30,0x35,0x35,0x40,0x40,0x3F,0x40,0x40,0x40,0x40, 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0xC0,0x00,0x11,0x08,0x00,0x01,0x00, 0x01,0x03,0x01,0x22,0x00,0x02,0x11,0x01,0x03,0x11,0x01,0xFF,0xC4,0x00,0x4B,0x00, 0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x07,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xDA,0x00,0x0C,0x03,0x01,0x00,0x02, 0x11,0x03,0x11,0x00,0x3F,0x00,0xA0,0x00,0x0F,0xFF,0xD9 }; JpegImage::JpegImage(BasicIo::AutoPtr io, bool create) : JpegBase(ImageType::jpeg, io, create, blank_, sizeof(blank_)) { } std::string JpegImage::mimeType() const { return "image/jpeg"; } int JpegImage::writeHeader(BasicIo& outIo) const { // Jpeg header byte tmpBuf[2]; tmpBuf[0] = 0xff; tmpBuf[1] = soi_; if (outIo.write(tmpBuf, 2) != 2) return 4; if (outIo.error()) return 4; return 0; } bool JpegImage::isThisType(BasicIo& iIo, bool advance) const { return isJpegType(iIo, advance); } Image::AutoPtr newJpegInstance(BasicIo::AutoPtr io, bool create) { Image::AutoPtr image(new JpegImage(io, create)); if (!image->good()) { image.reset(); } return image; } bool isJpegType(BasicIo& iIo, bool advance) { bool result = true; byte tmpBuf[2]; iIo.read(tmpBuf, 2); if (iIo.error() || iIo.eof()) return false; if (0xff != tmpBuf[0] || JpegImage::soi_ != tmpBuf[1]) { result = false; } if (!advance || !result ) iIo.seek(-2, BasicIo::cur); return result; } const char ExvImage::exiv2Id_[] = "Exiv2"; const byte ExvImage::blank_[] = { 0xff,0x01,'E','x','i','v','2',0xff,0xd9 }; ExvImage::ExvImage(BasicIo::AutoPtr io, bool create) : JpegBase(ImageType::exv, io, create, blank_, sizeof(blank_)) { } std::string ExvImage::mimeType() const { return "image/x-exv"; } int ExvImage::writeHeader(BasicIo& outIo) const { // Exv header byte tmpBuf[7]; tmpBuf[0] = 0xff; tmpBuf[1] = 0x01; std::memcpy(tmpBuf + 2, exiv2Id_, 5); if (outIo.write(tmpBuf, 7) != 7) return 4; if (outIo.error()) return 4; return 0; } bool ExvImage::isThisType(BasicIo& iIo, bool advance) const { return isExvType(iIo, advance); } Image::AutoPtr newExvInstance(BasicIo::AutoPtr io, bool create) { Image::AutoPtr image; image = Image::AutoPtr(new ExvImage(io, create)); if (!image->good()) image.reset(); return image; } bool isExvType(BasicIo& iIo, bool advance) { bool result = true; byte tmpBuf[7]; iIo.read(tmpBuf, 7); if (iIo.error() || iIo.eof()) return false; if ( 0xff != tmpBuf[0] || 0x01 != tmpBuf[1] || memcmp(tmpBuf + 2, ExvImage::exiv2Id_, 5) != 0) { result = false; } if (!advance || !result) iIo.seek(-7, BasicIo::cur); return result; } } // namespace Exiv2 exiv2-0.25/src/preview.cpp0000664000175000017500000012164112521135474015300 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: preview.cpp Version: $Rev: 3777 $ Author(s): Vladimir Nadvornik (vn) History: 18-Sep-08, vn: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: preview.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include #include #include "preview.hpp" #include "futils.hpp" #include "image.hpp" #include "cr2image.hpp" #include "jpgimage.hpp" #include "tiffimage.hpp" #include "tiffimage_int.hpp" // ***************************************************************************** namespace { using namespace Exiv2; /*! @brief Compare two preview images by number of pixels, if width and height of both lhs and rhs are available or else by size. Return true if lhs is smaller than rhs. */ bool cmpPreviewProperties( const PreviewProperties& lhs, const PreviewProperties& rhs ) { uint32_t l = lhs.width_ * lhs.height_; uint32_t r = rhs.width_ * rhs.height_; return l < r; } /*! @brief Decode a Hex string. */ DataBuf decodeHex(const byte *src, long srcSize); /*! @brief Decode a Base64 string. */ DataBuf decodeBase64(const std::string &src); /*! @brief Decode an Illustrator thumbnail that follows after %AI7_Thumbnail. */ DataBuf decodeAi7Thumbnail(const DataBuf &src); /*! @brief Create a PNM image from raw RGB data. */ DataBuf makePnm(uint32_t width, uint32_t height, const DataBuf &rgb); /*! Base class for image loaders. Provides virtual methods for reading properties and DataBuf. */ class Loader { public: //! Virtual destructor. virtual ~Loader() {} //! Loader auto pointer typedef std::auto_ptr AutoPtr; //! Create a Loader subclass for requested id static AutoPtr create(PreviewId id, const Image &image); //! Check if a preview image with given params exists in the image virtual bool valid() const { return valid_; } //! Get properties of a preview image with given params virtual PreviewProperties getProperties() const; //! Get a buffer that contains the preview image virtual DataBuf getData() const = 0; //! Read preview image dimensions when they are not available directly virtual bool readDimensions() { return true; } //! A number of image loaders configured in the loaderList_ table static PreviewId getNumLoaders(); protected: //! Constructor. Sets all image properies to unknown. Loader(PreviewId id, const Image &image); //! Functions that creates a loader from given parameters typedef AutoPtr (*CreateFunc)(PreviewId id, const Image &image, int parIdx); //! Structure to list possible loaders struct LoaderList { const char *imageMimeType_; //!< Image type for which the loader is valid, 0 matches all images CreateFunc create_; //!< Function that creates particular loader instance int parIdx_; //!< Parameter that is passed into CreateFunc }; //! Table that lists possible loaders. PreviewId is an index to this table. static const LoaderList loaderList_[]; //! Identifies preview image type PreviewId id_; //! Source image reference const Image &image_; //! Preview image width uint32_t width_; //! Preview image length uint32_t height_; //! Preview image size in bytes uint32_t size_; //! True if the source image contains a preview image of given type bool valid_; }; //! Loader for native previews class LoaderNative : public Loader { public: //! Constructor LoaderNative(PreviewId id, const Image &image, int parIdx); //! Get properties of a preview image with given params virtual PreviewProperties getProperties() const; //! Get a buffer that contains the preview image virtual DataBuf getData() const; //! Read preview image dimensions virtual bool readDimensions(); protected: //! Native preview information NativePreview nativePreview_; }; //! Function to create new LoaderNative Loader::AutoPtr createLoaderNative(PreviewId id, const Image &image, int parIdx); //! Loader for Jpeg previews that are not read into ExifData directly class LoaderExifJpeg : public Loader { public: //! Constructor LoaderExifJpeg(PreviewId id, const Image &image, int parIdx); //! Get properties of a preview image with given params virtual PreviewProperties getProperties() const; //! Get a buffer that contains the preview image virtual DataBuf getData() const; //! Read preview image dimensions virtual bool readDimensions(); protected: //! Structure that lists offset/size tag pairs struct Param { const char* offsetKey_; //!< Offset tag const char* sizeKey_; //!< Size tag const char* baseOffsetKey_; //!< Tag that holds base offset or 0 }; //! Table that holds all possible offset/size pairs. parIdx is an index to this table static const Param param_[]; //! Offset value uint32_t offset_; }; //! Function to create new LoaderExifJpeg Loader::AutoPtr createLoaderExifJpeg(PreviewId id, const Image &image, int parIdx); //! Loader for Jpeg previews that are read into ExifData class LoaderExifDataJpeg : public Loader { public: //! Constructor LoaderExifDataJpeg(PreviewId id, const Image &image, int parIdx); //! Get properties of a preview image with given params virtual PreviewProperties getProperties() const; //! Get a buffer that contains the preview image virtual DataBuf getData() const; //! Read preview image dimensions virtual bool readDimensions(); protected: //! Structure that lists data/size tag pairs struct Param { const char* dataKey_; //!< Data tag const char* sizeKey_; //!< Size tag }; //! Table that holds all possible data/size pairs. parIdx is an index to this table static const Param param_[]; //! Key that points to the Value that contains the JPEG preview in data area ExifKey dataKey_; }; //! Function to create new LoaderExifDataJpeg Loader::AutoPtr createLoaderExifDataJpeg(PreviewId id, const Image &image, int parIdx); //! Loader for Tiff previews - it can get image data from ExifData or image_.io() as needed class LoaderTiff : public Loader { public: //! Constructor LoaderTiff(PreviewId id, const Image &image, int parIdx); //! Get properties of a preview image with given params virtual PreviewProperties getProperties() const; //! Get a buffer that contains the preview image virtual DataBuf getData() const; protected: //! Name of the group that contains the preview image const char *group_; //! Tag that contains image data. Possible values are "StripOffsets" or "TileOffsets" std::string offsetTag_; //! Tag that contains data sizes. Possible values are "StripByteCounts" or "TileByteCounts" std::string sizeTag_; //! Structure that lists preview groups struct Param { const char* group_; //!< Group name const char* checkTag_; //!< Tag to check or NULL const char* checkValue_; //!< The preview image is valid only if the checkTag_ has this value }; //! Table that holds all possible groups. parIdx is an index to this table. static const Param param_[]; }; //! Function to create new LoaderTiff Loader::AutoPtr createLoaderTiff(PreviewId id, const Image &image, int parIdx); //! Loader for JPEG previews stored in the XMP metadata class LoaderXmpJpeg : public Loader { public: //! Constructor LoaderXmpJpeg(PreviewId id, const Image &image, int parIdx); //! Get properties of a preview image with given params virtual PreviewProperties getProperties() const; //! Get a buffer that contains the preview image virtual DataBuf getData() const; //! Read preview image dimensions virtual bool readDimensions(); protected: //! Preview image data DataBuf preview_; }; //! Function to create new LoaderXmpJpeg Loader::AutoPtr createLoaderXmpJpeg(PreviewId id, const Image &image, int parIdx); // ***************************************************************************** // class member definitions const Loader::LoaderList Loader::loaderList_[] = { { 0, createLoaderNative, 0 }, { 0, createLoaderNative, 1 }, { 0, createLoaderNative, 2 }, { 0, createLoaderNative, 3 }, { 0, createLoaderExifDataJpeg, 0 }, { 0, createLoaderExifDataJpeg, 1 }, { 0, createLoaderExifDataJpeg, 2 }, { 0, createLoaderExifDataJpeg, 3 }, { 0, createLoaderExifDataJpeg, 4 }, { 0, createLoaderExifDataJpeg, 5 }, { 0, createLoaderExifDataJpeg, 6 }, { 0, createLoaderExifDataJpeg, 7 }, { 0, createLoaderExifDataJpeg, 8 }, { "image/x-panasonic-rw2", createLoaderExifDataJpeg, 9 }, { 0, createLoaderExifDataJpeg,10 }, { 0, createLoaderExifDataJpeg,11 }, { 0, createLoaderTiff, 0 }, { 0, createLoaderTiff, 1 }, { 0, createLoaderTiff, 2 }, { 0, createLoaderTiff, 3 }, { 0, createLoaderTiff, 4 }, { 0, createLoaderTiff, 5 }, { 0, createLoaderTiff, 6 }, { "image/x-canon-cr2", createLoaderTiff, 7 }, { 0, createLoaderExifJpeg, 0 }, { 0, createLoaderExifJpeg, 1 }, { 0, createLoaderExifJpeg, 2 }, { 0, createLoaderExifJpeg, 3 }, { 0, createLoaderExifJpeg, 4 }, { 0, createLoaderExifJpeg, 5 }, { 0, createLoaderExifJpeg, 6 }, { "image/x-canon-cr2", createLoaderExifJpeg, 7 }, { 0, createLoaderExifJpeg, 8 }, { 0, createLoaderXmpJpeg, 0 } }; const LoaderExifJpeg::Param LoaderExifJpeg::param_[] = { { "Exif.Image.JPEGInterchangeFormat", "Exif.Image.JPEGInterchangeFormatLength", 0 }, // 0 { "Exif.SubImage1.JPEGInterchangeFormat", "Exif.SubImage1.JPEGInterchangeFormatLength", 0 }, // 1 { "Exif.SubImage2.JPEGInterchangeFormat", "Exif.SubImage2.JPEGInterchangeFormatLength", 0 }, // 2 { "Exif.SubImage3.JPEGInterchangeFormat", "Exif.SubImage3.JPEGInterchangeFormatLength", 0 }, // 3 { "Exif.SubImage4.JPEGInterchangeFormat", "Exif.SubImage4.JPEGInterchangeFormatLength", 0 }, // 4 { "Exif.SubThumb1.JPEGInterchangeFormat", "Exif.SubThumb1.JPEGInterchangeFormatLength", 0 }, // 5 { "Exif.Image2.JPEGInterchangeFormat", "Exif.Image2.JPEGInterchangeFormatLength", 0 }, // 6 { "Exif.Image.StripOffsets", "Exif.Image.StripByteCounts", 0 }, // 7 { "Exif.OlympusCs.PreviewImageStart", "Exif.OlympusCs.PreviewImageLength", "Exif.MakerNote.Offset"} // 8 }; const LoaderExifDataJpeg::Param LoaderExifDataJpeg::param_[] = { { "Exif.Thumbnail.JPEGInterchangeFormat", "Exif.Thumbnail.JPEGInterchangeFormatLength" }, // 0 { "Exif.NikonPreview.JPEGInterchangeFormat", "Exif.NikonPreview.JPEGInterchangeFormatLength" }, // 1 { "Exif.Pentax.PreviewOffset", "Exif.Pentax.PreviewLength" }, // 2 { "Exif.PentaxDng.PreviewOffset", "Exif.PentaxDng.PreviewLength" }, // 3 { "Exif.Minolta.ThumbnailOffset", "Exif.Minolta.ThumbnailLength" }, // 4 { "Exif.SonyMinolta.ThumbnailOffset", "Exif.SonyMinolta.ThumbnailLength" }, // 5 { "Exif.Olympus.ThumbnailImage", 0 }, // 6 { "Exif.Olympus2.ThumbnailImage", 0 }, // 7 { "Exif.Minolta.Thumbnail", 0 }, // 8 { "Exif.PanasonicRaw.PreviewImage", 0 }, // 9 { "Exif.SamsungPreview.JPEGInterchangeFormat", "Exif.SamsungPreview.JPEGInterchangeFormatLength" }, // 10 { "Exif.Casio2.PreviewImage", 0 } // 11 }; const LoaderTiff::Param LoaderTiff::param_[] = { { "Image", "Exif.Image.NewSubfileType", "1" }, // 0 { "SubImage1", "Exif.SubImage1.NewSubfileType", "1" }, // 1 { "SubImage2", "Exif.SubImage2.NewSubfileType", "1" }, // 2 { "SubImage3", "Exif.SubImage3.NewSubfileType", "1" }, // 3 { "SubImage4", "Exif.SubImage4.NewSubfileType", "1" }, // 4 { "SubThumb1", "Exif.SubThumb1.NewSubfileType", "1" }, // 5 { "Thumbnail", 0, 0 }, // 6 { "Image2", 0, 0 } // 7 }; Loader::AutoPtr Loader::create(PreviewId id, const Image &image) { if (id < 0 || id >= Loader::getNumLoaders()) return AutoPtr(); if (loaderList_[id].imageMimeType_ && std::string(loaderList_[id].imageMimeType_) != std::string(image.mimeType())) return AutoPtr(); AutoPtr loader = loaderList_[id].create_(id, image, loaderList_[id].parIdx_); if (loader.get() && !loader->valid()) loader.reset(); return loader; } Loader::Loader(PreviewId id, const Image &image) : id_(id), image_(image), width_(0), height_(0), size_(0), valid_(false) { } PreviewProperties Loader::getProperties() const { PreviewProperties prop; prop.id_ = id_; prop.size_ = size_; prop.width_ = width_; prop.height_ = height_; return prop; } PreviewId Loader::getNumLoaders() { return (PreviewId)EXV_COUNTOF(loaderList_); } LoaderNative::LoaderNative(PreviewId id, const Image &image, int parIdx) : Loader(id, image) { if (!(0 <= parIdx && static_cast(parIdx) < image.nativePreviews().size())) return; nativePreview_ = image.nativePreviews()[parIdx]; width_ = nativePreview_.width_; height_ = nativePreview_.height_; valid_ = true; if (nativePreview_.filter_ == "") { size_ = nativePreview_.size_; } else { size_ = getData().size_; } } Loader::AutoPtr createLoaderNative(PreviewId id, const Image &image, int parIdx) { return Loader::AutoPtr(new LoaderNative(id, image, parIdx)); } PreviewProperties LoaderNative::getProperties() const { PreviewProperties prop = Loader::getProperties(); prop.mimeType_ = nativePreview_.mimeType_; if (nativePreview_.mimeType_ == "image/jpeg") { prop.extension_ = ".jpg"; } else if (nativePreview_.mimeType_ == "image/tiff") { prop.extension_ = ".tif"; } else if (nativePreview_.mimeType_ == "image/x-wmf") { prop.extension_ = ".wmf"; } else if (nativePreview_.mimeType_ == "image/x-portable-anymap") { prop.extension_ = ".pnm"; } else { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unknown native preview format: " << nativePreview_.mimeType_ << "\n"; #endif prop.extension_ = ".dat"; } #ifdef EXV_UNICODE_PATH prop.wextension_ = s2ws(prop.extension_); #endif return prop; } DataBuf LoaderNative::getData() const { if (!valid()) return DataBuf(); BasicIo &io = image_.io(); if (io.open() != 0) { throw Error(9, io.path(), strError()); } IoCloser closer(io); const byte* data = io.mmap(); if (io.size() < nativePreview_.position_ + static_cast(nativePreview_.size_)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Invalid native preview position or size.\n"; #endif return DataBuf(); } if (nativePreview_.filter_ == "") { return DataBuf(data + nativePreview_.position_, static_cast(nativePreview_.size_)); } else if (nativePreview_.filter_ == "hex-ai7thumbnail-pnm") { const DataBuf ai7thumbnail = decodeHex(data + nativePreview_.position_, static_cast(nativePreview_.size_)); const DataBuf rgb = decodeAi7Thumbnail(ai7thumbnail); return makePnm(width_, height_, rgb); } else if (nativePreview_.filter_ == "hex-irb") { const DataBuf psData = decodeHex(data + nativePreview_.position_, static_cast(nativePreview_.size_)); const byte *record; uint32_t sizeHdr; uint32_t sizeData; if (Photoshop::locatePreviewIrb(psData.pData_, psData.size_, &record, &sizeHdr, &sizeData) != 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Missing preview IRB in Photoshop EPS preview.\n"; #endif return DataBuf(); } return DataBuf(record + sizeHdr + 28, sizeData - 28); } else { throw Error(1, "Invalid native preview filter: " + nativePreview_.filter_); } } bool LoaderNative::readDimensions() { if (!valid()) return false; if (width_ != 0 || height_ != 0) return true; const DataBuf data = getData(); if (data.size_ == 0) return false; try { Image::AutoPtr image = ImageFactory::open(data.pData_, data.size_); if (image.get() == 0) return false; image->readMetadata(); width_ = image->pixelWidth(); height_ = image->pixelHeight(); } catch (const AnyError& /* error */) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Invalid native preview image.\n"; #endif return false; } return true; } LoaderExifJpeg::LoaderExifJpeg(PreviewId id, const Image &image, int parIdx) : Loader(id, image) { offset_ = 0; ExifData::const_iterator pos = image_.exifData().findKey(ExifKey(param_[parIdx].offsetKey_)); if (pos != image_.exifData().end() && pos->count() > 0) { offset_ = pos->toLong(); } size_ = 0; pos = image_.exifData().findKey(ExifKey(param_[parIdx].sizeKey_)); if (pos != image_.exifData().end() && pos->count() > 0) { size_ = pos->toLong(); } if (offset_ == 0 || size_ == 0) return; if (param_[parIdx].baseOffsetKey_) { pos = image_.exifData().findKey(ExifKey(param_[parIdx].baseOffsetKey_)); if (pos != image_.exifData().end() && pos->count() > 0) { offset_ += pos->toLong(); } } if (offset_ + size_ > static_cast(image_.io().size())) return; valid_ = true; } Loader::AutoPtr createLoaderExifJpeg(PreviewId id, const Image &image, int parIdx) { return Loader::AutoPtr(new LoaderExifJpeg(id, image, parIdx)); } PreviewProperties LoaderExifJpeg::getProperties() const { PreviewProperties prop = Loader::getProperties(); prop.mimeType_ = "image/jpeg"; prop.extension_ = ".jpg"; #ifdef EXV_UNICODE_PATH prop.wextension_ = EXV_WIDEN(".jpg"); #endif return prop; } DataBuf LoaderExifJpeg::getData() const { if (!valid()) return DataBuf(); BasicIo &io = image_.io(); if (io.open() != 0) { throw Error(9, io.path(), strError()); } IoCloser closer(io); const Exiv2::byte* base = io.mmap(); return DataBuf(base + offset_, size_); } bool LoaderExifJpeg::readDimensions() { if (!valid()) return false; if (width_ || height_) return true; BasicIo &io = image_.io(); if (io.open() != 0) { throw Error(9, io.path(), strError()); } IoCloser closer(io); const Exiv2::byte* base = io.mmap(); try { Image::AutoPtr image = ImageFactory::open(base + offset_, size_); if (image.get() == 0) return false; image->readMetadata(); width_ = image->pixelWidth(); height_ = image->pixelHeight(); } catch (const AnyError& /* error */ ) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Invalid JPEG preview image.\n"; #endif return false; } return true; } LoaderExifDataJpeg::LoaderExifDataJpeg(PreviewId id, const Image &image, int parIdx) : Loader(id, image), dataKey_(param_[parIdx].dataKey_) { ExifData::const_iterator pos = image_.exifData().findKey(dataKey_); if (pos != image_.exifData().end()) { size_ = pos->sizeDataArea(); // indirect data if (size_ == 0 && pos->typeId() == undefined) size_ = pos->size(); // direct data } if (size_ == 0) return; valid_ = true; } Loader::AutoPtr createLoaderExifDataJpeg(PreviewId id, const Image &image, int parIdx) { return Loader::AutoPtr(new LoaderExifDataJpeg(id, image, parIdx)); } PreviewProperties LoaderExifDataJpeg::getProperties() const { PreviewProperties prop = Loader::getProperties(); prop.mimeType_ = "image/jpeg"; prop.extension_ = ".jpg"; #ifdef EXV_UNICODE_PATH prop.wextension_ = EXV_WIDEN(".jpg"); #endif return prop; } DataBuf LoaderExifDataJpeg::getData() const { if (!valid()) return DataBuf(); ExifData::const_iterator pos = image_.exifData().findKey(dataKey_); if (pos != image_.exifData().end()) { DataBuf buf = pos->dataArea(); // indirect data if (buf.size_ == 0) { // direct data buf = DataBuf(pos->size()); pos->copy(buf.pData_, invalidByteOrder); } buf.pData_[0] = 0xff; // fix Minolta thumbnails with invalid jpeg header return buf; } return DataBuf(); } bool LoaderExifDataJpeg::readDimensions() { if (!valid()) return false; DataBuf buf = getData(); if (buf.size_ == 0) return false; try { Image::AutoPtr image = ImageFactory::open(buf.pData_, buf.size_); if (image.get() == 0) return false; image->readMetadata(); width_ = image->pixelWidth(); height_ = image->pixelHeight(); } catch (const AnyError& /* error */ ) { return false; } return true; } LoaderTiff::LoaderTiff(PreviewId id, const Image &image, int parIdx) : Loader(id, image), group_(param_[parIdx].group_) { const ExifData &exifData = image_.exifData(); int offsetCount = 0; ExifData::const_iterator pos; // check if the group_ contains a preview image if (param_[parIdx].checkTag_) { pos = exifData.findKey(ExifKey(param_[parIdx].checkTag_)); if (pos == exifData.end()) return; if (param_[parIdx].checkValue_ && pos->toString() != param_[parIdx].checkValue_) return; } pos = exifData.findKey(ExifKey(std::string("Exif.") + group_ + ".StripOffsets")); if (pos != exifData.end()) { offsetTag_ = "StripOffsets"; sizeTag_ = "StripByteCounts"; offsetCount = pos->value().count(); } else { pos = exifData.findKey(ExifKey(std::string("Exif.") + group_ + ".TileOffsets")); if (pos == exifData.end()) return; offsetTag_ = "TileOffsets"; sizeTag_ = "TileByteCounts"; offsetCount = pos->value().count(); } pos = exifData.findKey(ExifKey(std::string("Exif.") + group_ + '.' + sizeTag_)); if (pos == exifData.end()) return; if (offsetCount != pos->value().count()) return; for (int i = 0; i < offsetCount; i++) { size_ += pos->toLong(i); } if (size_ == 0) return; pos = exifData.findKey(ExifKey(std::string("Exif.") + group_ + ".ImageWidth")); if (pos != exifData.end() && pos->count() > 0) { width_ = pos->toLong(); } pos = exifData.findKey(ExifKey(std::string("Exif.") + group_ + ".ImageLength")); if (pos != exifData.end() && pos->count() > 0) { height_ = pos->toLong(); } if (width_ == 0 || height_ == 0) return; valid_ = true; } Loader::AutoPtr createLoaderTiff(PreviewId id, const Image &image, int parIdx) { return Loader::AutoPtr(new LoaderTiff(id, image, parIdx)); } PreviewProperties LoaderTiff::getProperties() const { PreviewProperties prop = Loader::getProperties(); prop.mimeType_ = "image/tiff"; prop.extension_ = ".tif"; #ifdef EXV_UNICODE_PATH prop.wextension_ = EXV_WIDEN(".tif"); #endif return prop; } DataBuf LoaderTiff::getData() const { const ExifData &exifData = image_.exifData(); ExifData preview; // copy tags for (ExifData::const_iterator pos = exifData.begin(); pos != exifData.end(); ++pos) { if (pos->groupName() == group_) { /* Write only the necessary TIFF image tags tags that especially could cause problems are: "NewSubfileType" - the result is no longer a thumbnail, it is a standalone image "Orientation" - this tag typically appears only in the "Image" group. Deleting it ensures consistent result for all previews, including JPEG */ uint16_t tag = pos->tag(); if (tag != 0x00fe && tag != 0x00ff && Internal::isTiffImageTag(tag, Internal::ifd0Id)) { preview.add(ExifKey(tag, "Image"), &pos->value()); } } } Value &dataValue = const_cast(preview["Exif.Image." + offsetTag_].value()); if (dataValue.sizeDataArea() == 0) { // image data are not available via exifData, read them from image_.io() BasicIo &io = image_.io(); if (io.open() != 0) { throw Error(9, io.path(), strError()); } IoCloser closer(io); const Exiv2::byte* base = io.mmap(); const Value &sizes = preview["Exif.Image." + sizeTag_].value(); if (sizes.count() == dataValue.count()) { if (sizes.count() == 1) { // this saves one copying of the buffer uint32_t offset = dataValue.toLong(0); uint32_t size = sizes.toLong(0); if (offset + size <= static_cast(io.size())) dataValue.setDataArea(base + offset, size); } else { // FIXME: the buffer is probably copied twice, it should be optimized DataBuf buf(size_); Exiv2::byte* pos = buf.pData_; for (int i = 0; i < sizes.count(); i++) { uint32_t offset = dataValue.toLong(i); uint32_t size = sizes.toLong(i); if (offset + size <= static_cast(io.size())) memcpy(pos, base + offset, size); pos += size; } dataValue.setDataArea(buf.pData_, buf.size_); } } } // Fix compression value in the CR2 IFD2 image if (0 == strcmp(group_, "Image2") && image_.mimeType() == "image/x-canon-cr2") { preview["Exif.Image.Compression"] = uint16_t(1); } // write new image MemIo mio; IptcData emptyIptc; XmpData emptyXmp; TiffParser::encode(mio, 0, 0, Exiv2::littleEndian, preview, emptyIptc, emptyXmp); return DataBuf(mio.mmap(), mio.size()); } LoaderXmpJpeg::LoaderXmpJpeg(PreviewId id, const Image &image, int parIdx) : Loader(id, image) { (void)parIdx; const XmpData &xmpData = image_.xmpData(); std::string prefix = "xmpGImg"; if (xmpData.findKey(XmpKey("Xmp.xmp.Thumbnails[1]/xapGImg:image")) != xmpData.end()) { prefix = "xapGImg"; } XmpData::const_iterator imageDatum = xmpData.findKey(XmpKey("Xmp.xmp.Thumbnails[1]/" + prefix + ":image")); if (imageDatum == xmpData.end()) return; XmpData::const_iterator formatDatum = xmpData.findKey(XmpKey("Xmp.xmp.Thumbnails[1]/" + prefix + ":format")); if (formatDatum == xmpData.end()) return; XmpData::const_iterator widthDatum = xmpData.findKey(XmpKey("Xmp.xmp.Thumbnails[1]/" + prefix + ":width")); if (widthDatum == xmpData.end()) return; XmpData::const_iterator heightDatum = xmpData.findKey(XmpKey("Xmp.xmp.Thumbnails[1]/" + prefix + ":height")); if (heightDatum == xmpData.end()) return; if (formatDatum->toString() != "JPEG") return; width_ = widthDatum->toLong(); height_ = heightDatum->toLong(); preview_ = decodeBase64(imageDatum->toString()); size_ = static_cast(preview_.size_); valid_ = true; } Loader::AutoPtr createLoaderXmpJpeg(PreviewId id, const Image &image, int parIdx) { return Loader::AutoPtr(new LoaderXmpJpeg(id, image, parIdx)); } PreviewProperties LoaderXmpJpeg::getProperties() const { PreviewProperties prop = Loader::getProperties(); prop.mimeType_ = "image/jpeg"; prop.extension_ = ".jpg"; #ifdef EXV_UNICODE_PATH prop.wextension_ = EXV_WIDEN(".jpg"); #endif return prop; } DataBuf LoaderXmpJpeg::getData() const { if (!valid()) return DataBuf(); return DataBuf(preview_.pData_, preview_.size_); } bool LoaderXmpJpeg::readDimensions() { return valid(); } DataBuf decodeHex(const byte *src, long srcSize) { // create decoding table byte invalid = 16; byte decodeHexTable[256]; for (long i = 0; i < 256; i++) decodeHexTable[i] = invalid; for (byte i = 0; i < 10; i++) decodeHexTable[static_cast('0') + i] = i; for (byte i = 0; i < 6; i++) decodeHexTable[static_cast('A') + i] = i + 10; for (byte i = 0; i < 6; i++) decodeHexTable[static_cast('a') + i] = i + 10; // calculate dest size long validSrcSize = 0; for (long srcPos = 0; srcPos < srcSize; srcPos++) { if (decodeHexTable[src[srcPos]] != invalid) validSrcSize++; } const long destSize = validSrcSize / 2; // allocate dest buffer DataBuf dest(destSize); // decode for (long srcPos = 0, destPos = 0; destPos < destSize; destPos++) { byte buffer = 0; for (int bufferPos = 1; bufferPos >= 0 && srcPos < srcSize; srcPos++) { byte srcValue = decodeHexTable[src[srcPos]]; if (srcValue == invalid) continue; buffer |= srcValue << (bufferPos * 4); bufferPos--; } dest.pData_[destPos] = buffer; } return dest; } static const char encodeBase64Table[64 + 1] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; DataBuf decodeBase64(const std::string& src) { const unsigned long srcSize = static_cast(src.size()); // create decoding table unsigned long invalid = 64; unsigned long decodeBase64Table[256]; for (unsigned long i = 0; i < 256; i++) decodeBase64Table[i] = invalid; for (unsigned long i = 0; i < 64; i++) decodeBase64Table[(unsigned char)encodeBase64Table[i]] = i; // calculate dest size unsigned long validSrcSize = 0; for (unsigned long srcPos = 0; srcPos < srcSize; srcPos++) { if (decodeBase64Table[(unsigned char)src[srcPos]] != invalid) validSrcSize++; } if (validSrcSize > ULONG_MAX / 3) return DataBuf(); // avoid integer overflow const unsigned long destSize = (validSrcSize * 3) / 4; // allocate dest buffer if (destSize > LONG_MAX) return DataBuf(); // avoid integer overflow DataBuf dest(static_cast(destSize)); // decode for (unsigned long srcPos = 0, destPos = 0; destPos < destSize;) { unsigned long buffer = 0; for (int bufferPos = 3; bufferPos >= 0 && srcPos < srcSize; srcPos++) { unsigned long srcValue = decodeBase64Table[(unsigned char)src[srcPos]]; if (srcValue == invalid) continue; buffer |= srcValue << (bufferPos * 6); bufferPos--; } for (int bufferPos = 2; bufferPos >= 0 && destPos < destSize; bufferPos--, destPos++) { dest.pData_[destPos] = static_cast((buffer >> (bufferPos * 8)) & 0xFF); } } return dest; } DataBuf decodeAi7Thumbnail(const DataBuf &src) { const byte *colorTable = src.pData_; const long colorTableSize = 256 * 3; if (src.size_ < colorTableSize) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Invalid size of AI7 thumbnail: " << src.size_ << "\n"; #endif return DataBuf(); } const byte *imageData = src.pData_ + colorTableSize; const long imageDataSize = src.size_ - colorTableSize; const bool rle = (imageDataSize >= 3 && imageData[0] == 'R' && imageData[1] == 'L' && imageData[2] == 'E'); std::string dest; for (long i = rle ? 3 : 0; i < imageDataSize;) { byte num = 1; byte value = imageData[i++]; if (rle && value == 0xFD) { if (i >= imageDataSize) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unexpected end of image data at AI7 thumbnail.\n"; #endif return DataBuf(); } value = imageData[i++]; if (value != 0xFD) { if (i >= imageDataSize) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unexpected end of image data at AI7 thumbnail.\n"; #endif return DataBuf(); } num = value; value = imageData[i++]; } } for (; num != 0; num--) { dest.append(reinterpret_cast(colorTable + (3*value)), 3); } } return DataBuf(reinterpret_cast(dest.data()), static_cast(dest.size())); } DataBuf makePnm(uint32_t width, uint32_t height, const DataBuf &rgb) { const long expectedSize = static_cast(width * height * 3); if (rgb.size_ != expectedSize) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Invalid size of preview data. Expected " << expectedSize << " bytes, got " << rgb.size_ << " bytes.\n"; #endif return DataBuf(); } const std::string header = "P6\n" + toString(width) + " " + toString(height) + "\n255\n"; const byte *headerBytes = reinterpret_cast(header.data()); DataBuf dest(static_cast(header.size() + rgb.size_)); std::copy(headerBytes, headerBytes + header.size(), dest.pData_); std::copy(rgb.pData_, rgb.pData_ + rgb.size_, dest.pData_ + header.size()); return dest; } } // namespace // ***************************************************************************** // class member definitions namespace Exiv2 { PreviewImage::PreviewImage(const PreviewProperties& properties, DataBuf data) : properties_(properties) { pData_ = data.pData_; size_ = data.size_; data.release(); } PreviewImage::~PreviewImage() { delete[] pData_; } PreviewImage::PreviewImage(const PreviewImage& rhs) { properties_ = rhs.properties_; pData_ = new byte[rhs.size_]; memcpy(pData_, rhs.pData_, rhs.size_); size_ = rhs.size_; } PreviewImage& PreviewImage::operator=(const PreviewImage& rhs) { if (this == &rhs) return *this; if (rhs.size_ > size_) { delete[] pData_; pData_ = new byte[rhs.size_]; } properties_ = rhs.properties_; memcpy(pData_, rhs.pData_, rhs.size_); size_ = rhs.size_; return *this; } long PreviewImage::writeFile(const std::string& path) const { std::string name = path + extension(); // Todo: Creating a DataBuf here unnecessarily copies the memory DataBuf buf(pData_, size_); return Exiv2::writeFile(buf, name); } #ifdef EXV_UNICODE_PATH long PreviewImage::writeFile(const std::wstring& wpath) const { std::wstring name = wpath + wextension(); // Todo: Creating a DataBuf here unnecessarily copies the memory DataBuf buf(pData_, size_); return Exiv2::writeFile(buf, name); } #endif DataBuf PreviewImage::copy() const { return DataBuf(pData_, size_); } const byte* PreviewImage::pData() const { return pData_; } uint32_t PreviewImage::size() const { return size_; } std::string PreviewImage::mimeType() const { return properties_.mimeType_; } std::string PreviewImage::extension() const { return properties_.extension_; } #ifdef EXV_UNICODE_PATH std::wstring PreviewImage::wextension() const { return properties_.wextension_; } #endif uint32_t PreviewImage::width() const { return properties_.width_; } uint32_t PreviewImage::height() const { return properties_.height_; } PreviewId PreviewImage::id() const { return properties_.id_; } PreviewManager::PreviewManager(const Image& image) : image_(image) { } PreviewPropertiesList PreviewManager::getPreviewProperties() const { PreviewPropertiesList list; // go through the loader table and store all successfully created loaders in the list for (PreviewId id = 0; id < Loader::getNumLoaders(); ++id) { Loader::AutoPtr loader = Loader::create(id, image_); if (loader.get() && loader->readDimensions()) { list.push_back(loader->getProperties()); } } std::sort(list.begin(), list.end(), cmpPreviewProperties); return list; } PreviewImage PreviewManager::getPreviewImage(const PreviewProperties &properties) const { Loader::AutoPtr loader = Loader::create(properties.id_, image_); DataBuf buf; if (loader.get()) { buf = loader->getData(); } return PreviewImage(properties, buf); } } // namespace Exiv2 exiv2-0.25/src/epsimage.cpp0000664000175000017500000015703512521135474015417 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: epsimage.cpp Version: $Rev: 2455 $ Author(s): Michael Ulbrich (mul) Volker Grabsch (vog) History: 7-Mar-2011, vog: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: epsimage.cpp $") // included header files #include "config.h" #include "epsimage.hpp" #include "image.hpp" #include "basicio.hpp" #include "error.hpp" #include "futils.hpp" // + standard includes #include #include #include #include #include #include #include // ***************************************************************************** namespace { using namespace Exiv2; // signature of DOS EPS const std::string dosEpsSignature = "\xC5\xD0\xD3\xC6"; // first line of EPS const std::string epsFirstLine[] = { "%!PS-Adobe-3.0 EPSF-3.0", "%!PS-Adobe-3.0 EPSF-3.0 ", // OpenOffice "%!PS-Adobe-3.1 EPSF-3.0", // Illustrator }; // blank EPS file const std::string epsBlank = "%!PS-Adobe-3.0 EPSF-3.0\n" "%%BoundingBox: 0 0 0 0\n"; // list of all valid XMP headers const std::string xmpHeaders[] = { // We do not enforce the trailing "?>" here, because the XMP specification // permits additional attributes after begin="..." and id="...". // normal headers "" here, because the XMP specification // permits additional attributes after end="...". {""; //! Write data into temp file, taking care of errors void writeTemp(BasicIo& tempIo, const byte* data, size_t size) { if (size == 0) return; if (tempIo.write(data, static_cast(size)) != static_cast(size)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to write to temporary file.\n"; #endif throw Error(21); } } //! Write data into temp file, taking care of errors void writeTemp(BasicIo& tempIo, const std::string &data) { writeTemp(tempIo, reinterpret_cast(data.data()), data.size()); } //! Get the current write position of temp file, taking care of errors uint32_t posTemp(BasicIo& tempIo) { const long pos = tempIo.tell(); if (pos == -1) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Internal error while determining current write position in temporary file.\n"; #endif throw Error(21); } return static_cast(pos); } //! Check whether a string has a certain beginning bool startsWith(const std::string& s, const std::string& start) { return s.size() >= start.size() && memcmp(s.data(), start.data(), start.size()) == 0; } //! Check whether a string contains only white space characters bool onlyWhitespaces(const std::string& s) { // According to the DSC 3.0 specification, 4.4 Parsing Rules, // only spaces and tabs are considered to be white space characters. return s.find_first_not_of(" \t") == std::string::npos; } //! Read the next line of a buffer, allow for changing line ending style size_t readLine(std::string& line, const byte* data, size_t startPos, size_t size) { line.clear(); size_t pos = startPos; // step through line while (pos < size && data[pos] != '\r' && data[pos] != '\n') { line += data[pos]; pos++; } // skip line ending, if present if (pos >= size) return pos; pos++; if (pos >= size) return pos; if (data[pos - 1] == '\r' && data[pos] == '\n') pos++; return pos; } //! Read the previous line of a buffer, allow for changing line ending style size_t readPrevLine(std::string& line, const byte* data, size_t startPos, size_t size) { line.clear(); size_t pos = startPos; if (pos > size) return pos; // skip line ending of previous line, if present if (pos <= 0) return pos; if (data[pos - 1] == '\r' || data[pos - 1] == '\n') { pos--; if (pos <= 0) return pos; if (data[pos - 1] == '\r' && data[pos] == '\n') { pos--; if (pos <= 0) return pos; } } // step through previous line while (pos >= 1 && data[pos - 1] != '\r' && data[pos - 1] != '\n') { pos--; line += data[pos]; } std::reverse(line.begin(), line.end()); return pos; } //! Find an XMP block void findXmp(size_t& xmpPos, size_t& xmpSize, const byte* data, size_t startPos, size_t size, bool write) { // search for valid XMP header xmpSize = 0; for (xmpPos = startPos; xmpPos < size; xmpPos++) { if (data[xmpPos] != '\x00' && data[xmpPos] != '<') continue; for (size_t i = 0; i < (sizeof xmpHeaders) / (sizeof *xmpHeaders); i++) { const std::string &header = xmpHeaders[i]; if (xmpPos + header.size() > size) continue; if (memcmp(data + xmpPos, header.data(), header.size()) != 0) continue; #ifdef DEBUG EXV_DEBUG << "findXmp: Found XMP header at position: " << xmpPos << "\n"; #endif // search for valid XMP trailer for (size_t trailerPos = xmpPos + header.size(); trailerPos < size; trailerPos++) { if (data[xmpPos] != '\x00' && data[xmpPos] != '<') continue; for (size_t j = 0; j < (sizeof xmpTrailers) / (sizeof *xmpTrailers); j++) { const std::string &trailer = xmpTrailers[j].trailer; const bool readOnly = xmpTrailers[j].readOnly; if (trailerPos + trailer.size() > size) continue; if (memcmp(data + trailerPos, trailer.data(), trailer.size()) != 0) continue; #ifdef DEBUG EXV_DEBUG << "findXmp: Found XMP trailer at position: " << trailerPos << "\n"; #endif if (readOnly) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unable to handle read-only XMP metadata yet. Please provide your " "sample EPS file to the Exiv2 project: http://dev.exiv2.org/projects/exiv2\n"; #endif throw Error(write ? 21 : 14); } // search for end of XMP trailer for (size_t trailerEndPos = trailerPos + trailer.size(); trailerEndPos + xmpTrailerEnd.size() <= size; trailerEndPos++) { if (memcmp(data + trailerEndPos, xmpTrailerEnd.data(), xmpTrailerEnd.size()) == 0) { xmpSize = (trailerEndPos + xmpTrailerEnd.size()) - xmpPos; return; } } #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Found XMP header but incomplete XMP trailer.\n"; #endif throw Error(write ? 21 : 14); } } #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Found XMP header but no XMP trailer.\n"; #endif throw Error(write ? 21 : 14); } } } //! Unified implementation of reading and writing EPS metadata void readWriteEpsMetadata(BasicIo& io, std::string& xmpPacket, NativePreviewList& nativePreviews, bool write) { // open input file if (io.open() != 0) { throw Error(9, io.path(), strError()); } IoCloser closer(io); // read from input file via memory map const byte *data = io.mmap(); // default positions and sizes const size_t size = static_cast(io.size()); size_t posEps = 0; size_t posEndEps = size; uint32_t posWmf = 0; uint32_t sizeWmf = 0; uint32_t posTiff = 0; uint32_t sizeTiff = 0; // check for DOS EPS const bool dosEps = (size >= dosEpsSignature.size() && memcmp(data, dosEpsSignature.data(), dosEpsSignature.size()) == 0); if (dosEps) { #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Found DOS EPS signature\n"; #endif if (size < 30) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Premature end of file after DOS EPS signature.\n"; #endif throw Error(write ? 21 : 14); } posEps = getULong(data + 4, littleEndian); posEndEps = getULong(data + 8, littleEndian) + posEps; posWmf = getULong(data + 12, littleEndian); sizeWmf = getULong(data + 16, littleEndian); posTiff = getULong(data + 20, littleEndian); sizeTiff = getULong(data + 24, littleEndian); const uint16_t checksum = getUShort(data + 28, littleEndian); #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: EPS section at position " << posEps << ", size " << (posEndEps - posEps) << "\n"; EXV_DEBUG << "readWriteEpsMetadata: WMF section at position " << posWmf << ", size " << sizeWmf << "\n"; EXV_DEBUG << "readWriteEpsMetadata: TIFF section at position " << posTiff << ", size " << sizeTiff << "\n"; #endif if (checksum != 0xFFFF) { #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: DOS EPS checksum is not FFFF\n"; #endif } if (!((posWmf == 0 && sizeWmf == 0) || (posTiff == 0 && sizeTiff == 0))) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "DOS EPS file has both WMF and TIFF section. Only one of those is allowed.\n"; #endif if (write) throw Error(21); } if (sizeWmf == 0 && sizeTiff == 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "DOS EPS file has neither WMF nor TIFF section. Exactly one of those is required.\n"; #endif if (write) throw Error(21); } if (posEps < 30 || posEndEps > size) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "DOS EPS file has invalid position (" << posEps << ") or size (" << (posEndEps - posEps) << ") for EPS section.\n"; #endif throw Error(write ? 21 : 14); } if (sizeWmf != 0 && (posWmf < 30 || posWmf + sizeWmf > size)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "DOS EPS file has invalid position (" << posWmf << ") or size (" << sizeWmf << ") for WMF section.\n"; #endif if (write) throw Error(21); } if (sizeTiff != 0 && (posTiff < 30 || posTiff + sizeTiff > size)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "DOS EPS file has invalid position (" << posTiff << ") or size (" << sizeTiff << ") for TIFF section.\n"; #endif if (write) throw Error(21); } } // check first line std::string firstLine; const size_t posSecondLine = readLine(firstLine, data, posEps, posEndEps); #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: First line: " << firstLine << "\n"; #endif bool matched = false; for (size_t i = 0; !matched && i < (sizeof epsFirstLine) / (sizeof *epsFirstLine); i++) { matched = (firstLine == epsFirstLine[i]); } if (!matched) { throw Error(3, "EPS"); } // determine line ending style of the first line if (posSecondLine >= posEndEps) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Premature end of file after first line.\n"; #endif throw Error(write ? 21 : 14); } const std::string lineEnding(reinterpret_cast(data + posEps + firstLine.size()), posSecondLine - (posEps + firstLine.size())); #ifdef DEBUG if (lineEnding == "\n") { EXV_DEBUG << "readWriteEpsMetadata: Line ending style: Unix (LF)\n"; } else if (lineEnding == "\r") { EXV_DEBUG << "readWriteEpsMetadata: Line ending style: Mac (CR)\n"; } else if (lineEnding == "\r\n") { EXV_DEBUG << "readWriteEpsMetadata: Line ending style: DOS (CR LF)\n"; } else { EXV_DEBUG << "readWriteEpsMetadata: Line ending style: (unknown)\n"; } #endif // scan comments size_t posLanguageLevel = posEndEps; size_t posContainsXmp = posEndEps; size_t posPages = posEndEps; size_t posExiv2Version = posEndEps; size_t posExiv2Website = posEndEps; size_t posEndComments = posEndEps; size_t posAi7Thumbnail = posEndEps; size_t posAi7ThumbnailEndData = posEndEps; size_t posBeginPhotoshop = posEndEps; size_t posEndPhotoshop = posEndEps; size_t posPage = posEndEps; size_t posBeginPageSetup = posEndEps; size_t posEndPageSetup = posEndEps; size_t posPageTrailer = posEndEps; size_t posEof = posEndEps; std::vector > removableEmbeddings; unsigned int depth = 0; const unsigned int maxDepth = UINT_MAX; bool illustrator8 = false; bool corelDraw = false; bool implicitPage = false; bool implicitPageSetup = false; bool implicitPageTrailer = false; bool inDefaultsPreviewPrologSetup = false; bool inRemovableEmbedding = false; std::string removableEmbeddingEndLine; unsigned int removableEmbeddingsWithUnmarkedTrailer = 0; for (size_t pos = posEps; pos < posEof;) { const size_t startPos = pos; std::string line; pos = readLine(line, data, startPos, posEndEps); #ifdef DEBUG bool significantLine = true; #endif // nested documents if (posPage == posEndEps && (startsWith(line, "%%IncludeDocument:") || startsWith(line, "%%BeginDocument:"))) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Nested document at invalid position: " << startPos << "\n"; #endif throw Error(write ? 21 : 14); } else if (startsWith(line, "%%BeginDocument:")) { if (depth == maxDepth) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Document too deeply nested at position: " << startPos << "\n"; #endif throw Error(write ? 21 : 14); } depth++; } else if (startsWith(line, "%%EndDocument")) { if (depth == 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unmatched EndDocument at position: " << startPos << "\n"; #endif throw Error(write ? 21 : 14); } depth--; } else { #ifdef DEBUG significantLine = false; #endif } #ifdef DEBUG if (significantLine) { EXV_DEBUG << "readWriteEpsMetadata: Found significant line \"" << line << "\" at position: " << startPos << "\n"; } significantLine = true; #endif if (depth != 0) continue; // explicit "Begin" comments if (startsWith(line, "%%BeginPreview:")) { inDefaultsPreviewPrologSetup = true; } else if (line == "%%BeginDefaults") { inDefaultsPreviewPrologSetup = true; } else if (line == "%%BeginProlog") { inDefaultsPreviewPrologSetup = true; } else if (line == "%%BeginSetup") { inDefaultsPreviewPrologSetup = true; } else if (posPage == posEndEps && startsWith(line, "%%Page:")) { posPage = startPos; } else if (posPage != posEndEps && startsWith(line, "%%Page:")) { if (implicitPage) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Page at position " << startPos << " conflicts with implicit page at position: " << posPage << "\n"; #endif throw Error(write ? 21 : 14); } #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unable to handle multiple PostScript pages. Found second page at position: " << startPos << "\n"; #endif throw Error(write ? 21 : 14); } else if (line == "%%BeginPageSetup") { posBeginPageSetup = startPos; } else if (!inRemovableEmbedding && line == "%Exiv2BeginXMP: Before %%EndPageSetup") { inRemovableEmbedding = true; removableEmbeddings.push_back(std::make_pair(startPos, startPos)); removableEmbeddingEndLine = "%Exiv2EndXMP"; } else if (!inRemovableEmbedding && line == "%Exiv2BeginXMP: After %%PageTrailer") { inRemovableEmbedding = true; removableEmbeddings.push_back(std::make_pair(startPos, startPos)); removableEmbeddingEndLine = "%Exiv2EndXMP"; } else if (!inRemovableEmbedding && line == "%ADOBeginClientInjection: PageSetup End \"AI11EPS\"") { inRemovableEmbedding = true; removableEmbeddings.push_back(std::make_pair(startPos, startPos)); removableEmbeddingEndLine = "%ADOEndClientInjection: PageSetup End \"AI11EPS\""; } else if (!inRemovableEmbedding && line == "%ADOBeginClientInjection: PageTrailer Start \"AI11EPS\"") { inRemovableEmbedding = true; removableEmbeddings.push_back(std::make_pair(startPos, startPos)); removableEmbeddingEndLine = "%ADOEndClientInjection: PageTrailer Start \"AI11EPS\""; } else if (!inRemovableEmbedding && line == "%begin_xml_code") { inRemovableEmbedding = true; removableEmbeddings.push_back(std::make_pair(startPos, startPos)); removableEmbeddingEndLine = "%end_xml_code"; removableEmbeddingsWithUnmarkedTrailer++; } else { #ifdef DEBUG significantLine = false; #endif } #ifdef DEBUG if (significantLine) { EXV_DEBUG << "readWriteEpsMetadata: Found significant line \"" << line << "\" at position: " << startPos << "\n"; } significantLine = true; #endif // implicit comments if (line == "%%EOF" || line == "%begin_xml_code" || !(line.size() >= 2 && line[0] == '%' && '\x21' <= line[1] && line[1] <= '\x7e')) { if (posEndComments == posEndEps) { posEndComments = startPos; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Found implicit EndComments at position: " << startPos << "\n"; #endif } } if (posPage == posEndEps && posEndComments != posEndEps && !inDefaultsPreviewPrologSetup && !inRemovableEmbedding && !onlyWhitespaces(line)) { posPage = startPos; implicitPage = true; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Found implicit Page at position: " << startPos << "\n"; #endif } if (posBeginPageSetup == posEndEps && (implicitPage || (posPage != posEndEps && !inRemovableEmbedding && line.size() >= 1 && line[0] != '%'))) { posBeginPageSetup = startPos; implicitPageSetup = true; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Found implicit BeginPageSetup at position: " << startPos << "\n"; #endif } if (posEndPageSetup == posEndEps && implicitPageSetup && !inRemovableEmbedding && line.size() >= 1 && line[0] != '%') { posEndPageSetup = startPos; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Found implicit EndPageSetup at position: " << startPos << "\n"; #endif } if (line.size() >= 1 && line[0] != '%') continue; // performance optimization if (line == "%%EOF" || line == "%%Trailer" || line == "%%PageTrailer") { if (posBeginPageSetup == posEndEps) { posBeginPageSetup = startPos; implicitPageSetup = true; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Found implicit BeginPageSetup at position: " << startPos << "\n"; #endif } if (posEndPageSetup == posEndEps) { posEndPageSetup = startPos; implicitPageSetup = true; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Found implicit EndPageSetup at position: " << startPos << "\n"; #endif } } if (line == "%%EOF" || line == "%%Trailer") { if (posPageTrailer == posEndEps) { posPageTrailer = startPos; implicitPageTrailer = true; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Found implicit PageTrailer at position: " << startPos << "\n"; #endif } } // remaining explicit comments if (posEndComments == posEndEps && posLanguageLevel == posEndEps && startsWith(line, "%%LanguageLevel:")) { posLanguageLevel = startPos; } else if (posEndComments == posEndEps && posContainsXmp == posEndEps && startsWith(line, "%ADO_ContainsXMP:")) { posContainsXmp = startPos; } else if (posEndComments == posEndEps && posPages == posEndEps && startsWith(line, "%%Pages:")) { posPages = startPos; } else if (posEndComments == posEndEps && posExiv2Version == posEndEps && startsWith(line, "%Exiv2Version:")) { posExiv2Version = startPos; } else if (posEndComments == posEndEps && posExiv2Website == posEndEps && startsWith(line, "%Exiv2Website:")) { posExiv2Website = startPos; } else if (posEndComments == posEndEps && startsWith(line, "%%Creator: Adobe Illustrator") && firstLine == "%!PS-Adobe-3.0 EPSF-3.0") { illustrator8 = true; } else if (posEndComments == posEndEps && startsWith(line, "%AI7_Thumbnail:")) { posAi7Thumbnail = startPos; } else if (posEndComments == posEndEps && posAi7Thumbnail != posEndEps && posAi7ThumbnailEndData == posEndEps && line == "%%EndData") { posAi7ThumbnailEndData = startPos; } else if (posEndComments == posEndEps && line == "%%EndComments") { posEndComments = startPos; } else if (inDefaultsPreviewPrologSetup && startsWith(line, "%%BeginResource: procset wCorel")) { corelDraw = true; } else if (line == "%%EndPreview") { inDefaultsPreviewPrologSetup = false; } else if (line == "%%EndDefaults") { inDefaultsPreviewPrologSetup = false; } else if (line == "%%EndProlog") { inDefaultsPreviewPrologSetup = false; } else if (line == "%%EndSetup") { inDefaultsPreviewPrologSetup = false; } else if (posEndPageSetup == posEndEps && line == "%%EndPageSetup") { posEndPageSetup = startPos; } else if (posPageTrailer == posEndEps && line == "%%PageTrailer") { posPageTrailer = startPos; } else if (posBeginPhotoshop == posEndEps && startsWith(line, "%BeginPhotoshop:")) { posBeginPhotoshop = pos; } else if (posBeginPhotoshop != posEndEps && posEndPhotoshop == posEndEps && line == "%EndPhotoshop") { posEndPhotoshop = startPos; } else if (inRemovableEmbedding && line == removableEmbeddingEndLine) { inRemovableEmbedding = false; removableEmbeddings.back().second = pos; } else if (line == "%%EOF") { posEof = startPos; } else { #ifdef DEBUG significantLine = false; #endif } #ifdef DEBUG if (significantLine) { EXV_DEBUG << "readWriteEpsMetadata: Found significant line \"" << line << "\" at position: " << startPos << "\n"; } #endif } // check for unfinished nested documents if (depth != 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unmatched BeginDocument (" << depth << "x)\n"; #endif throw Error(write ? 21 : 14); } // look for the unmarked trailers of some removable XMP embeddings size_t posXmpTrailerEnd = posEof; for (size_t i = 0; i < removableEmbeddingsWithUnmarkedTrailer; i++) { std::string line1; const size_t posLine1 = readPrevLine(line1, data, posXmpTrailerEnd, posEndEps); std::string line2; const size_t posLine2 = readPrevLine(line2, data, posLine1, posEndEps); size_t posXmpTrailer; if (line1 == "[/EMC pdfmark") { // Exiftool style posXmpTrailer = posLine1; } else if (line1 == "[/NamespacePop pdfmark" && line2 == "[{nextImage} 1 dict begin /Metadata {photoshop_metadata_stream} def currentdict end /PUT pdfmark") { // Photoshop style posXmpTrailer = posLine2; } else { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unable to find XMP embedding trailer ending at position: " << posXmpTrailerEnd << "\n"; #endif if (write) throw Error(21); break; } removableEmbeddings.push_back(std::make_pair(posXmpTrailer, posXmpTrailerEnd)); #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Recognized unmarked trailer of removable XMP embedding at " "[" << removableEmbeddings.back().first << "," << removableEmbeddings.back().second << ")" "\n"; #endif posXmpTrailerEnd = posXmpTrailer; } // interpret comment "%ADO_ContainsXMP:" std::string line; readLine(line, data, posContainsXmp, posEndEps); bool containsXmp; if (line == "%ADO_ContainsXMP: MainFirst" || line == "%ADO_ContainsXMP:MainFirst") { containsXmp = true; } else if (line == "" || line == "%ADO_ContainsXMP: NoMain" || line == "%ADO_ContainsXMP:NoMain") { containsXmp = false; } else { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Invalid line \"" << line << "\" at position: " << posContainsXmp << "\n"; #endif throw Error(write ? 21 : 14); } const bool deleteXmp = (write && xmpPacket.size() == 0); bool fixBeginXmlPacket = false; bool useFlexibleEmbedding = false; size_t xmpPos = posEndEps; size_t xmpSize = 0; if (containsXmp) { // search for XMP metadata findXmp(xmpPos, xmpSize, data, posEps, posEndEps, write); if (xmpPos == posEndEps) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unable to find XMP metadata as announced at position: " << posContainsXmp << "\n"; #endif } // check embedding of XMP metadata const size_t posLineAfterXmp = readLine(line, data, xmpPos + xmpSize, posEndEps); if (line != "") { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unexpected " << line.size() << " bytes of data after XMP at position: " << (xmpPos + xmpSize) << "\n"; #endif } else if (!deleteXmp) { readLine(line, data, posLineAfterXmp, posEndEps); if (line == "% &&end XMP packet marker&&" || line == "% &&end XMP packet marker&&") { useFlexibleEmbedding = true; } } } if (useFlexibleEmbedding) { #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Using flexible XMP embedding\n"; #endif const size_t posBeginXmlPacket = readPrevLine(line, data, xmpPos, posEndEps); if (startsWith(line, "%begin_xml_packet:")) { #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: XMP embedding contains %begin_xml_packet\n"; #endif if (write) { fixBeginXmlPacket = true; xmpSize += (xmpPos - posBeginXmlPacket); xmpPos = posBeginXmlPacket; } } else if (posBeginPhotoshop != posEndEps) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Missing %begin_xml_packet in Photoshop EPS at position: " << xmpPos << "\n"; #endif if (write) throw Error(21); } } if (!useFlexibleEmbedding) { // check if there are irremovable XMP metadata blocks before EndPageSetup size_t posOtherXmp = containsXmp ? xmpPos : posEps; size_t sizeOtherXmp = 0; for (;;) { findXmp(posOtherXmp, sizeOtherXmp, data, posOtherXmp + sizeOtherXmp, posEndPageSetup, write); if (posOtherXmp >= posEndPageSetup) break; bool isRemovableEmbedding = false; for (std::vector >::const_iterator e = removableEmbeddings.begin(); e != removableEmbeddings.end(); e++) { if (e->first <= posOtherXmp && posOtherXmp < e->second) { isRemovableEmbedding = true; break; } } if (!isRemovableEmbedding) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "XMP metadata block is not removable at position: " << posOtherXmp << "\n"; #endif if (write) throw Error(21); break; } } } if (!write) { // copy XMP metadata xmpPacket.assign(reinterpret_cast(data + xmpPos), xmpSize); // native previews nativePreviews.clear(); if (posAi7ThumbnailEndData != posEndEps) { NativePreview nativePreview; std::string dummy; std::string lineAi7Thumbnail; const size_t posBeginData = readLine(lineAi7Thumbnail, data, posAi7Thumbnail, posEndEps); std::istringstream lineStreamAi7Thumbnail(lineAi7Thumbnail); lineStreamAi7Thumbnail >> dummy; lineStreamAi7Thumbnail >> nativePreview.width_; lineStreamAi7Thumbnail >> nativePreview.height_; std::string depth; lineStreamAi7Thumbnail >> depth; std::string lineBeginData; const size_t posAfterBeginData = readLine(lineBeginData, data, posBeginData, posEndEps); std::istringstream lineStreamBeginData(lineBeginData); std::string beginData; lineStreamBeginData >> beginData; lineStreamBeginData >> dummy; std::string type; lineStreamBeginData >> type; nativePreview.position_ = static_cast(posAfterBeginData); nativePreview.size_ = static_cast(posAi7ThumbnailEndData - posAfterBeginData); nativePreview.filter_ = "hex-ai7thumbnail-pnm"; nativePreview.mimeType_ = "image/x-portable-anymap"; if (depth != "8") { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unable to handle Illustrator thumbnail depth: " << depth << "\n"; #endif } else if (beginData != "%%BeginData:") { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unable to handle Illustrator thumbnail data section: " << lineBeginData << "\n"; #endif } else if (type != "Hex") { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unable to handle Illustrator thumbnail data type: " << type << "\n"; #endif } else { nativePreviews.push_back(nativePreview); } } if (posEndPhotoshop != posEndEps) { NativePreview nativePreview; nativePreview.position_ = static_cast(posBeginPhotoshop); nativePreview.size_ = static_cast(posEndPhotoshop - posBeginPhotoshop); nativePreview.width_ = 0; nativePreview.height_ = 0; nativePreview.filter_ = "hex-irb"; nativePreview.mimeType_ = "image/jpeg"; nativePreviews.push_back(nativePreview); } if (sizeWmf != 0) { NativePreview nativePreview; nativePreview.position_ = static_cast(posWmf); nativePreview.size_ = sizeWmf; nativePreview.width_ = 0; nativePreview.height_ = 0; nativePreview.filter_ = ""; nativePreview.mimeType_ = "image/x-wmf"; nativePreviews.push_back(nativePreview); } if (sizeTiff != 0) { NativePreview nativePreview; nativePreview.position_ = static_cast(posTiff); nativePreview.size_ = sizeTiff; nativePreview.width_ = 0; nativePreview.height_ = 0; nativePreview.filter_ = ""; nativePreview.mimeType_ = "image/tiff"; nativePreviews.push_back(nativePreview); } } else { // check for Adobe Illustrator 8.0 or older if (illustrator8) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unable to write to EPS files created by Adobe Illustrator 8.0 or older.\n"; #endif throw Error(21); } // create temporary output file BasicIo::AutoPtr tempIo(io.temporary()); assert (tempIo.get() != 0); if (!tempIo->isopen()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Unable to create temporary file for writing.\n"; #endif throw Error(21); } #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Created temporary file " << tempIo->path() << "\n"; #endif // sort all positions std::vector positions; positions.push_back(posLanguageLevel); positions.push_back(posContainsXmp); positions.push_back(posPages); positions.push_back(posExiv2Version); positions.push_back(posExiv2Website); positions.push_back(posEndComments); positions.push_back(posPage); positions.push_back(posBeginPageSetup); positions.push_back(posEndPageSetup); positions.push_back(posPageTrailer); positions.push_back(posEof); positions.push_back(posEndEps); if (useFlexibleEmbedding) { positions.push_back(xmpPos); } for (std::vector >::const_iterator e = removableEmbeddings.begin(); e != removableEmbeddings.end(); e++) { positions.push_back(e->first); } std::sort(positions.begin(), positions.end()); // assemble result EPS document if (dosEps) { // DOS EPS header will be written afterwards writeTemp(*tempIo, std::string(30, '\x00')); } const std::string containsXmpLine = deleteXmp ? "%ADO_ContainsXMP: NoMain" : "%ADO_ContainsXMP: MainFirst"; const uint32_t posEpsNew = posTemp(*tempIo); size_t prevPos = posEps; size_t prevSkipPos = prevPos; for (std::vector::const_iterator i = positions.begin(); i != positions.end(); i++) { const size_t pos = *i; if (pos == prevPos) continue; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Writing at " << pos << "\n"; #endif if (pos < prevSkipPos) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Internal error while assembling the result EPS document: " "Unable to continue at position " << pos << " after skipping to position " << prevSkipPos << "\n"; #endif throw Error(21); } writeTemp(*tempIo, data + prevSkipPos, pos - prevSkipPos); const size_t posLineEnd = readLine(line, data, pos, posEndEps); size_t skipPos = pos; // add last line ending if necessary if (pos == posEndEps && pos >= 1 && data[pos - 1] != '\r' && data[pos - 1] != '\n') { writeTemp(*tempIo, lineEnding); #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Added missing line ending of last line\n"; #endif } // update and complement DSC comments if (pos == posLanguageLevel && posLanguageLevel != posEndEps && !deleteXmp && !useFlexibleEmbedding) { if (line == "%%LanguageLevel:1" || line == "%%LanguageLevel: 1") { writeTemp(*tempIo, "%%LanguageLevel: 2" + lineEnding); skipPos = posLineEnd; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Skipping to " << skipPos << " at " << __FILE__ << ":" << __LINE__ << "\n"; #endif } } if (pos == posContainsXmp && posContainsXmp != posEndEps) { if (line != containsXmpLine) { writeTemp(*tempIo, containsXmpLine + lineEnding); skipPos = posLineEnd; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Skipping to " << skipPos << " at " << __FILE__ << ":" << __LINE__ << "\n"; #endif } } if (pos == posExiv2Version && posExiv2Version != posEndEps) { writeTemp(*tempIo, "%Exiv2Version: " + versionNumberHexString() + lineEnding); skipPos = posLineEnd; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Skipping to " << skipPos << " at " << __FILE__ << ":" << __LINE__ << "\n"; #endif } if (pos == posExiv2Website && posExiv2Website != posEndEps) { writeTemp(*tempIo, "%Exiv2Website: http://www.exiv2.org/" + lineEnding); skipPos = posLineEnd; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Skipping to " << skipPos << " at " << __FILE__ << ":" << __LINE__ << "\n"; #endif } if (pos == posEndComments) { if (posLanguageLevel == posEndEps && !deleteXmp && !useFlexibleEmbedding) { writeTemp(*tempIo, "%%LanguageLevel: 2" + lineEnding); } if (posContainsXmp == posEndEps) { writeTemp(*tempIo, containsXmpLine + lineEnding); } if (posPages == posEndEps) { writeTemp(*tempIo, "%%Pages: 1" + lineEnding); } if (posExiv2Version == posEndEps) { writeTemp(*tempIo, "%Exiv2Version: " + versionNumberHexString() + lineEnding); } if (posExiv2Website == posEndEps) { writeTemp(*tempIo, "%Exiv2Website: http://www.exiv2.org/" + lineEnding); } readLine(line, data, posEndComments, posEndEps); if (line != "%%EndComments") { writeTemp(*tempIo, "%%EndComments" + lineEnding); } } if (pos == posPage) { if (!startsWith(line, "%%Page:")) { writeTemp(*tempIo, "%%Page: 1 1" + lineEnding); writeTemp(*tempIo, "%%EndPageComments" + lineEnding); } } if (pos == posBeginPageSetup) { if (line != "%%BeginPageSetup") { writeTemp(*tempIo, "%%BeginPageSetup" + lineEnding); } } if (useFlexibleEmbedding) { // insert XMP metadata into existing flexible embedding if (pos == xmpPos) { if (fixBeginXmlPacket) { writeTemp(*tempIo, "%begin_xml_packet: " + toString(xmpPacket.size()) + lineEnding); } writeTemp(*tempIo, xmpPacket); skipPos += xmpSize; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Skipping to " << skipPos << " at " << __FILE__ << ":" << __LINE__ << "\n"; #endif } } if (!useFlexibleEmbedding) { // remove preceding embedding(s) for (std::vector >::const_iterator e = removableEmbeddings.begin(); e != removableEmbeddings.end(); e++) { if (pos == e->first) { skipPos = e->second; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Skipping to " << skipPos << " at " << __FILE__ << ":" << __LINE__ << "\n"; #endif break; } } // insert XMP metadata with new flexible embedding, if necessary if (pos == posEndPageSetup && !deleteXmp) { writeTemp(*tempIo, "%Exiv2BeginXMP: Before %%EndPageSetup" + lineEnding); if (corelDraw) { writeTemp(*tempIo, "%Exiv2Notice: The following line is needed by CorelDRAW." + lineEnding); writeTemp(*tempIo, "@rs" + lineEnding); } if (posBeginPhotoshop != posEndEps) { writeTemp(*tempIo, "%Exiv2Notice: The following line is needed by Photoshop." + lineEnding); writeTemp(*tempIo, "%begin_xml_code" + lineEnding); } writeTemp(*tempIo, "/currentdistillerparams where" + lineEnding); writeTemp(*tempIo, "{pop currentdistillerparams /CoreDistVersion get 5000 lt} {true} ifelse" + lineEnding); writeTemp(*tempIo, "{userdict /Exiv2_pdfmark /cleartomark load put" + lineEnding); writeTemp(*tempIo, " userdict /Exiv2_metafile_pdfmark {flushfile cleartomark} bind put}" + lineEnding); writeTemp(*tempIo, "{userdict /Exiv2_pdfmark /pdfmark load put" + lineEnding); writeTemp(*tempIo, " userdict /Exiv2_metafile_pdfmark {/PUT pdfmark} bind put} ifelse" + lineEnding); writeTemp(*tempIo, "[/NamespacePush Exiv2_pdfmark" + lineEnding); writeTemp(*tempIo, "[/_objdef {Exiv2_metadata_stream} /type /stream /OBJ Exiv2_pdfmark" + lineEnding); writeTemp(*tempIo, "[{Exiv2_metadata_stream} 2 dict begin" + lineEnding); writeTemp(*tempIo, " /Type /Metadata def /Subtype /XML def currentdict end /PUT Exiv2_pdfmark" + lineEnding); writeTemp(*tempIo, "[{Exiv2_metadata_stream}" + lineEnding); writeTemp(*tempIo, " currentfile 0 (% &&end XMP packet marker&&)" + lineEnding); writeTemp(*tempIo, " /SubFileDecode filter Exiv2_metafile_pdfmark" + lineEnding); if (posBeginPhotoshop != posEndEps) { writeTemp(*tempIo, "%Exiv2Notice: The following line is needed by Photoshop. " "Parameter must be exact size of XMP metadata." + lineEnding); writeTemp(*tempIo, "%begin_xml_packet: " + toString(xmpPacket.size()) + lineEnding); } writeTemp(*tempIo, xmpPacket); writeTemp(*tempIo, lineEnding); writeTemp(*tempIo, "% &&end XMP packet marker&&" + lineEnding); writeTemp(*tempIo, "[/Document 1 dict begin" + lineEnding); writeTemp(*tempIo, " /Metadata {Exiv2_metadata_stream} def currentdict end /BDC Exiv2_pdfmark" + lineEnding); if (posBeginPhotoshop != posEndEps) { writeTemp(*tempIo, "%Exiv2Notice: The following line is needed by Photoshop." + lineEnding); writeTemp(*tempIo, "%end_xml_code" + lineEnding); } if (corelDraw) { writeTemp(*tempIo, "%Exiv2Notice: The following line is needed by CorelDRAW." + lineEnding); writeTemp(*tempIo, "@sv" + lineEnding); } writeTemp(*tempIo, "%Exiv2EndXMP" + lineEnding); } } if (pos == posEndPageSetup) { if (line != "%%EndPageSetup") { writeTemp(*tempIo, "%%EndPageSetup" + lineEnding); } } if (!useFlexibleEmbedding) { if (pos == posPageTrailer && !deleteXmp) { if (!implicitPageTrailer) { skipPos = posLineEnd; #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: Skipping to " << skipPos << " at " << __FILE__ << ":" << __LINE__ << "\n"; #endif } writeTemp(*tempIo, "%%PageTrailer" + lineEnding); writeTemp(*tempIo, "%Exiv2BeginXMP: After %%PageTrailer" + lineEnding); writeTemp(*tempIo, "[/EMC Exiv2_pdfmark" + lineEnding); writeTemp(*tempIo, "[/NamespacePop Exiv2_pdfmark" + lineEnding); writeTemp(*tempIo, "%Exiv2EndXMP" + lineEnding); } } // add EOF comment if necessary if (pos == posEndEps && posEof == posEndEps) { writeTemp(*tempIo, "%%EOF" + lineEnding); } prevPos = pos; prevSkipPos = skipPos; } const uint32_t posEndEpsNew = posTemp(*tempIo); #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: New EPS size: " << (posEndEpsNew - posEpsNew) << "\n"; #endif if (dosEps) { // write WMF and/or TIFF section if present writeTemp(*tempIo, data + posWmf, sizeWmf); writeTemp(*tempIo, data + posTiff, sizeTiff); #ifdef DEBUG EXV_DEBUG << "readWriteEpsMetadata: New DOS EPS total size: " << posTemp(*tempIo) << "\n"; #endif // write DOS EPS header if (tempIo->seek(0, BasicIo::beg) != 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Internal error while seeking in temporary file.\n"; #endif throw Error(21); } byte dosEpsHeader[30]; dosEpsSignature.copy(reinterpret_cast(dosEpsHeader), dosEpsSignature.size()); ul2Data(dosEpsHeader + 4, posEpsNew, littleEndian); ul2Data(dosEpsHeader + 8, posEndEpsNew - posEpsNew, littleEndian); ul2Data(dosEpsHeader + 12, sizeWmf == 0 ? 0 : posEndEpsNew, littleEndian); ul2Data(dosEpsHeader + 16, sizeWmf, littleEndian); ul2Data(dosEpsHeader + 20, sizeTiff == 0 ? 0 : posEndEpsNew + sizeWmf, littleEndian); ul2Data(dosEpsHeader + 24, sizeTiff, littleEndian); us2Data(dosEpsHeader + 28, 0xFFFF, littleEndian); writeTemp(*tempIo, dosEpsHeader, sizeof(dosEpsHeader)); } // copy temporary file to real output file io.close(); io.transfer(*tempIo); } } } // namespace // ***************************************************************************** // class member definitions namespace Exiv2 { EpsImage::EpsImage(BasicIo::AutoPtr io, bool create) : Image(ImageType::eps, mdXmp, io) { //LogMsg::setLevel(LogMsg::debug); if (create) { if (io_->open() == 0) { #ifdef DEBUG EXV_DEBUG << "Exiv2::EpsImage:: Creating blank EPS image\n"; #endif IoCloser closer(*io_); if (io_->write(reinterpret_cast(epsBlank.data()), static_cast(epsBlank.size())) != static_cast(epsBlank.size())) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to write blank EPS image.\n"; #endif throw Error(21); } } } } std::string EpsImage::mimeType() const { return "application/postscript"; } void EpsImage::setComment(const std::string& /*comment*/) { throw Error(32, "Image comment", "EPS"); } void EpsImage::readMetadata() { #ifdef DEBUG EXV_DEBUG << "Exiv2::EpsImage::readMetadata: Reading EPS file " << io_->path() << "\n"; #endif // read metadata readWriteEpsMetadata(*io_, xmpPacket_, nativePreviews_, /* write = */ false); // decode XMP metadata if (xmpPacket_.size() > 0 && XmpParser::decode(xmpData_, xmpPacket_) > 1) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode XMP metadata.\n"; #endif throw Error(14); } #ifdef DEBUG EXV_DEBUG << "Exiv2::EpsImage::readMetadata: Finished reading EPS file " << io_->path() << "\n"; #endif } void EpsImage::writeMetadata() { #ifdef DEBUG EXV_DEBUG << "Exiv2::EpsImage::writeMetadata: Writing EPS file " << io_->path() << "\n"; #endif // encode XMP metadata if necessary if (!writeXmpFromPacket() && XmpParser::encode(xmpPacket_, xmpData_) > 1) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to encode XMP metadata.\n"; #endif throw Error(21); } // write metadata readWriteEpsMetadata(*io_, xmpPacket_, nativePreviews_, /* write = */ true); #ifdef DEBUG EXV_DEBUG << "Exiv2::EpsImage::writeMetadata: Finished writing EPS file " << io_->path() << "\n"; #endif } // ************************************************************************* // free functions Image::AutoPtr newEpsInstance(BasicIo::AutoPtr io, bool create) { Image::AutoPtr image(new EpsImage(io, create)); if (!image->good()) { image.reset(); } return image; } bool isEpsType(BasicIo& iIo, bool advance) { // read as many bytes as needed for the longest (DOS) EPS signature long bufSize = static_cast(dosEpsSignature.size()); for (size_t i = 0; i < (sizeof epsFirstLine) / (sizeof *epsFirstLine); i++) { if (bufSize < static_cast(epsFirstLine[i].size())) { bufSize = static_cast(epsFirstLine[i].size()); } } DataBuf buf = iIo.read(bufSize); if (iIo.error() || buf.size_ != bufSize) { return false; } // check for all possible (DOS) EPS signatures bool matched = (memcmp(buf.pData_, dosEpsSignature.data(), dosEpsSignature.size()) == 0); for (size_t i = 0; !matched && i < (sizeof epsFirstLine) / (sizeof *epsFirstLine); i++) { matched = (memcmp(buf.pData_, epsFirstLine[i].data(), epsFirstLine[i].size()) == 0); } // seek back if possible and requested if (!advance || !matched) { iIo.seek(-buf.size_, BasicIo::cur); } return matched; } } // namespace Exiv2 exiv2-0.25/src/datasets.cpp0000664000175000017500000011453612521135474015434 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: datasets.cpp Version: $Rev: 3777 $ Author(s): Brad Schick (brad) Gilles Caulier (gc) History: 24-Jul-04, brad: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: datasets.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // ***************************************************************************** // included header files #include "datasets.hpp" #include "error.hpp" #include "types.hpp" #include "value.hpp" #include "metadatum.hpp" #include "i18n.h" // NLS support. #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { DataSet::DataSet( uint16_t number, const char* name, const char* title, const char* desc, bool mandatory, bool repeatable, uint32_t minbytes, uint32_t maxbytes, TypeId type, uint16_t recordId, const char* photoshop ) : number_(number), name_(name), title_(title), desc_(desc), mandatory_(mandatory), repeatable_(repeatable), minbytes_(minbytes), maxbytes_(maxbytes), type_(type), recordId_(recordId), photoshop_(photoshop) { } RecordInfo::RecordInfo( uint16_t recordId, const char* name, const char* desc ) : recordId_(recordId), name_(name), desc_(desc) { } const RecordInfo IptcDataSets::recordInfo_[] = { RecordInfo(IptcDataSets::invalidRecord, "(invalid)", N_("(invalid)")), RecordInfo(IptcDataSets::envelope, "Envelope", N_("IIM envelope record")), RecordInfo(IptcDataSets::application2, "Application2", N_("IIM application record 2")), }; static const DataSet envelopeRecord[] = { DataSet(IptcDataSets::ModelVersion, "ModelVersion", N_("Model Version"), N_("A binary number identifying the version of the Information " "Interchange Model, Part I, utilised by the provider. Version " "numbers are assigned by IPTC and NAA organizations."), true, false, 2, 2, Exiv2::unsignedShort, IptcDataSets::envelope, ""), DataSet(IptcDataSets::Destination, "Destination", N_("Destination"), N_("This DataSet is to accommodate some providers who require " "routing information above the appropriate OSI layers."), false, true, 0, 1024, Exiv2::string, IptcDataSets::envelope, ""), DataSet(IptcDataSets::FileFormat, "FileFormat", N_("File Format"), N_("A binary number representing the file format. The file format " "must be registered with IPTC or NAA with a unique number " "assigned to it. The information is used to route " "the data to the appropriate system and to allow the receiving " "system to perform the appropriate actions there to."), true, false, 2, 2, Exiv2::unsignedShort, IptcDataSets::envelope, ""), DataSet(IptcDataSets::FileVersion, "FileVersion", N_("File Version"), N_("A binary number representing the particular version of the File " "Format specified by tag."), true, false, 2, 2, Exiv2::unsignedShort, IptcDataSets::envelope, ""), DataSet(IptcDataSets::ServiceId, "ServiceId", N_("Service Id"), N_("Identifies the provider and product"), true, false, 0, 10, Exiv2::string, IptcDataSets::envelope, ""), DataSet(IptcDataSets::EnvelopeNumber, "EnvelopeNumber", N_("Envelope Number"), N_("The characters form a number that will be unique for the date " "specified in tag and for the Service Identifier " "specified by tag. " "If identical envelope numbers appear with the same date and " "with the same Service Identifier, records 2-9 must be unchanged " "from the original. This is not intended to be a sequential serial " "number reception check."), true, false, 8, 8, Exiv2::string, IptcDataSets::envelope, ""), DataSet(IptcDataSets::ProductId, "ProductId", N_("Product Id"), N_("Allows a provider to identify subsets of its overall service. Used " "to provide receiving organisation data on which to select, route, " "or otherwise handle data."), false, true, 0, 32, Exiv2::string, IptcDataSets::envelope, ""), DataSet(IptcDataSets::EnvelopePriority, "EnvelopePriority", N_("Envelope Priority"), N_("Specifies the envelope handling priority and not the editorial " "urgency (see tag). \"1\" indicates the most urgent, \"5\" " "the normal urgency, and \"8\" the least urgent copy. The numeral " "\"9\" indicates a User Defined Priority. The numeral \"0\" is reserved " "for future use."), false, false, 1, 1, Exiv2::string, IptcDataSets::envelope, ""), DataSet(IptcDataSets::DateSent, "DateSent", N_("Date Sent"), N_("Uses the format CCYYMMDD (century, year, month, day) as de-fined " "in ISO 8601 to indicate year, month and day the service sent the material."), true, false, 8, 8, Exiv2::date, IptcDataSets::envelope, ""), DataSet(IptcDataSets::TimeSent, "TimeSent", N_("Time Sent"), N_("Uses the format HHMMSS:HHMM where HHMMSS refers to " "local hour, minute and seconds and HHMM refers to hours and " "minutes ahead (+) or behind (-) Universal Coordinated Time as " "described in ISO 8601. This is the time the service sent the material."), false, false, 11, 11, Exiv2::time, IptcDataSets::envelope, ""), DataSet(IptcDataSets::CharacterSet, "CharacterSet", N_("Character Set"), N_("This tag consisting of one or more control functions used for the announcement, " "invocation or designation of coded character sets. The control functions follow " "the ISO 2022 standard and may consist of the escape control " "character and one or more graphic characters."), false, false, 0, 32, Exiv2::string, IptcDataSets::envelope, ""), DataSet(IptcDataSets::UNO, "UNO", N_("Unique Name Object"), N_("This tag provide a globally unique " "identification for objects as specified in the IIM, independent of " "provider and for any media form. The provider must ensure the " "UNO is unique. Objects with the same UNO are identical."), false, false, 14, 80, Exiv2::string, IptcDataSets::envelope, ""), DataSet(IptcDataSets::ARMId, "ARMId", N_("ARM Identifier"), N_("The DataSet identifies the Abstract Relationship Method identifier (ARM) " "which is described in a document registered by the originator of " "the ARM with the IPTC and NAA organizations."), false, false, 2, 2, Exiv2::unsignedShort, IptcDataSets::envelope, ""), DataSet(IptcDataSets::ARMVersion, "ARMVersion", N_("ARM Version"), N_("This tag consisting of a binary number representing the particular " "version of the ARM specified by tag ."), false, false, 2, 2, Exiv2::unsignedShort, IptcDataSets::envelope, ""), DataSet(0xffff, "(Invalid)", "(Invalid)", "(Invalid)", false, false, 0, 0, Exiv2::unsignedShort, IptcDataSets::envelope, "") }; const DataSet* IptcDataSets::envelopeRecordList() { return envelopeRecord; } static const DataSet application2Record[] = { DataSet(IptcDataSets::RecordVersion, "RecordVersion", N_("Record Version"), N_("A binary number identifying the version of the Information " "Interchange Model, Part II, utilised by the provider. " "Version numbers are assigned by IPTC and NAA organizations."), true, false, 2, 2, Exiv2::unsignedShort, IptcDataSets::application2, ""), DataSet(IptcDataSets::ObjectType, "ObjectType", N_("Object Type"), N_("The Object Type is used to distinguish between different types " "of objects within the IIM. The first part is a number representing " "a language independent international reference to an Object Type " "followed by a colon separator. The second part, if used, is a text " "representation of the Object Type Number consisting of graphic " "characters plus spaces either in English or in the language of the " "service as indicated in tag "), false, false, 3, 67, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::ObjectAttribute, "ObjectAttribute", N_("Object Attribute"), N_("The Object Attribute defines the nature of the object " "independent of the Subject. The first part is a number representing " "a language independent international reference to an Object Attribute " "followed by a colon separator. The second part, if used, is a text " "representation of the Object Attribute Number consisting of graphic " "characters plus spaces either in English, or in the language of the " "service as indicated in tag "), false, true, 4, 68, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::ObjectName, "ObjectName", N_("Object Name"), N_("Used as a shorthand reference for the object. Changes to exist-ing " "data, such as updated stories or new crops on photos, should be " "identified in tag ."), false, false, 0, 64, Exiv2::string, IptcDataSets::application2, N_("Document Title")), DataSet(IptcDataSets::EditStatus, "EditStatus", N_("Edit Status"), N_("Status of the object data, according to the practice of the provider."), false, false, 0, 64, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::EditorialUpdate, "EditorialUpdate", N_("Editorial Update"), N_("Indicates the type of update that this object provides to a " "previous object. The link to the previous object is made using " "the tags and , according to the practices of the provider."), false, false, 2, 2, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::Urgency, "Urgency", N_("Urgency"), N_("Specifies the editorial urgency of content and not necessarily the " "envelope handling priority (see tag ). The \"1\" " "is most urgent, \"5\" normal and \"8\" denotes the least-urgent copy."), false, false, 1, 1, Exiv2::string, IptcDataSets::application2, N_("Urgency")), DataSet(IptcDataSets::Subject, "Subject", N_("Subject"), N_("The Subject Reference is a structured definition of the subject matter."), false, true, 13, 236, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::Category, "Category", N_("Category"), N_("Identifies the subject of the object data in the opinion of the provider. " "A list of categories will be maintained by a regional registry, " "where available, otherwise by the provider."), false, false, 0, 3, Exiv2::string, IptcDataSets::application2, N_("Category")), DataSet(IptcDataSets::SuppCategory, "SuppCategory", N_("Supplemental Category"), N_("Supplemental categories further refine the subject of an " "object data. A supplemental category may include " "any of the recognised categories as used in tag . Otherwise, " "selection of supplemental categories are left to the provider."), false, true, 0, 32, Exiv2::string, IptcDataSets::application2, N_("Supplemental Categories")), DataSet(IptcDataSets::FixtureId, "FixtureId", N_("Fixture Id"), N_("Identifies object data that recurs often and predictably. Enables " "users to immediately find or recall such an object."), false, false, 0, 32, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::Keywords, "Keywords", N_("Keywords"), N_("Used to indicate specific information retrieval words. " "It is expected that a provider of various types of data that are related " "in subject matter uses the same keyword, enabling the receiving system " "or subsystems to search across all types of data for related material."), false, true, 0, 64, Exiv2::string, IptcDataSets::application2, N_("Keywords")), DataSet(IptcDataSets::LocationCode, "LocationCode", N_("Location Code"), N_("Indicates the code of a country/geographical location referenced " "by the content of the object. Where ISO has established an appropriate " "country code under ISO 3166, that code will be used. When ISO 3166 does not " "adequately provide for identification of a location or a country, " "e.g. ships at sea, space, IPTC will assign an appropriate three-character " "code under the provisions of ISO 3166 to avoid conflicts."), false, true, 3, 3, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::LocationName, "LocationName", N_("Location Name"), N_("Provides a full, publishable name of a country/geographical " "location referenced by the content of the object, according to " "guidelines of the provider."), false, true, 0, 64, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::ReleaseDate, "ReleaseDate", N_("Release Date"), N_("Designates in the form CCYYMMDD the earliest date the " "provider intends the object to be used. Follows ISO 8601 standard."), false, false, 8, 8, Exiv2::date, IptcDataSets::application2, ""), DataSet(IptcDataSets::ReleaseTime, "ReleaseTime", N_("Release Time"), N_("Designates in the form HHMMSS:HHMM the earliest time the " "provider intends the object to be used. Follows ISO 8601 standard."), false, false, 11, 11, Exiv2::time, IptcDataSets::application2, ""), DataSet(IptcDataSets::ExpirationDate, "ExpirationDate", N_("Expiration Date"), N_("Designates in the form CCYYMMDD the latest date the provider " "or owner intends the object data to be used. Follows ISO 8601 standard."), false, false, 8, 8, Exiv2::date, IptcDataSets::application2, ""), DataSet(IptcDataSets::ExpirationTime, "ExpirationTime", N_("ExpirationTime"), N_("Designates in the form HHMMSS:HHMM the latest time the " "provider or owner intends the object data to be used. Follows ISO 8601 standard."), false, false, 11, 11, Exiv2::time, IptcDataSets::application2, ""), DataSet(IptcDataSets::SpecialInstructions, "SpecialInstructions", N_("Special Instructions"), N_("Other editorial instructions concerning the use of the object data, " "such as embargoes and warnings."), false, false, 0, 256, Exiv2::string, IptcDataSets::application2, N_("Instructions")), DataSet(IptcDataSets::ActionAdvised, "ActionAdvised", N_("Action Advised"), N_("Indicates the type of action that this object provides to a " "previous object. The link to the previous object is made using " "tags and , according to the practices of the provider."), false, false, 2, 2, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::ReferenceService, "ReferenceService", N_("Reference Service"), N_("Identifies the Service Identifier of a prior envelope to which the " "current object refers."), false, true, 0, 10, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::ReferenceDate, "ReferenceDate", N_("Reference Date"), N_("Identifies the date of a prior envelope to which the current object refers."), false, true, 8, 8, Exiv2::date, IptcDataSets::application2, ""), DataSet(IptcDataSets::ReferenceNumber, "ReferenceNumber", N_("Reference Number"), N_("Identifies the Envelope Number of a prior envelope to which the current object refers."), false, true, 8, 8, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::DateCreated, "DateCreated", N_("Date Created"), N_("Represented in the form CCYYMMDD to designate the date the " "intellectual content of the object data was created rather than the " "date of the creation of the physical representation. Follows ISO 8601 standard."), false, false, 8, 8, Exiv2::date, IptcDataSets::application2, N_("Date Created")), DataSet(IptcDataSets::TimeCreated, "TimeCreated", N_("Time Created"), N_("Represented in the form HHMMSS:HHMM to designate the " "time the intellectual content of the object data current source " "material was created rather than the creation of the physical " "representation. Follows ISO 8601 standard."), false, false, 11, 11, Exiv2::time, IptcDataSets::application2, ""), DataSet(IptcDataSets::DigitizationDate, "DigitizationDate", N_("Digitization Date"), N_("Represented in the form CCYYMMDD to designate the date the " "digital representation of the object data was created. Follows ISO 8601 standard."), false, false, 8, 8, Exiv2::date, IptcDataSets::application2, ""), DataSet(IptcDataSets::DigitizationTime, "DigitizationTime", N_("Digitization Time"), N_("Represented in the form HHMMSS:HHMM to designate the " "time the digital representation of the object data was created. " "Follows ISO 8601 standard."), false, false, 11, 11, Exiv2::time, IptcDataSets::application2, ""), DataSet(IptcDataSets::Program, "Program", N_("Program"), N_("Identifies the type of program used to originate the object data."), false, false, 0, 32, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::ProgramVersion, "ProgramVersion", N_("Program Version"), N_("Used to identify the version of the program mentioned in tag ."), false, false, 0, 10, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::ObjectCycle, "ObjectCycle", N_("Object Cycle"), N_("Used to identify the editorial cycle of object data."), false, false, 1, 1, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::Byline, "Byline", N_("By-line"), N_("Contains name of the creator of the object data, e.g. writer, photographer " "or graphic artist."), false, true, 0, 32, Exiv2::string, IptcDataSets::application2, N_("Author")), DataSet(IptcDataSets::BylineTitle, "BylineTitle", N_("By-line Title"), N_("A by-line title is the title of the creator or creators of an " "object data. Where used, a by-line title should follow the by-line it modifies."), false, true, 0, 32, Exiv2::string, IptcDataSets::application2, "Authors Position"), DataSet(IptcDataSets::City, "City", N_("City"), N_("Identifies city of object data origin according to guidelines established " "by the provider."), false, false, 0, 32, Exiv2::string, IptcDataSets::application2, N_("City")), DataSet(IptcDataSets::SubLocation, "SubLocation", N_("Sub Location"), N_("Identifies the location within a city from which the object data " "originates, according to guidelines established by the provider."), false, false, 0, 32, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::ProvinceState, "ProvinceState", N_("Province State"), N_("Identifies Province/State of origin according to guidelines " "established by the provider."), false, false, 0, 32, Exiv2::string, IptcDataSets::application2, N_("State/Province")), DataSet(IptcDataSets::CountryCode, "CountryCode", N_("Country Code"), N_("Indicates the code of the country/primary location where the " "intellectual property of the object data was created, e.g. a photo " "was taken, an event occurred. Where ISO has established an appropriate " "country code under ISO 3166, that code will be used. When ISO 3166 does not " "adequately provide for identification of a location or a new " "country, e.g. ships at sea, space, IPTC will assign an " "appropriate three-character code under the provisions of " "ISO 3166 to avoid conflicts."), false, false, 3, 3, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::CountryName, "CountryName", N_("Country Name"), N_("Provides full, publishable, name of the country/primary location " "where the intellectual property of the object data was created, " "according to guidelines of the provider."), false, false, 0, 64, Exiv2::string, IptcDataSets::application2, N_("Country")), DataSet(IptcDataSets::TransmissionReference, "TransmissionReference", N_("Transmission Reference"), N_("A code representing the location of original transmission according " "to practices of the provider."), false, false, 0, 32, Exiv2::string, IptcDataSets::application2, N_("Transmission Reference")), DataSet(IptcDataSets::Headline, "Headline", N_("Headline"), N_("A publishable entry providing a synopsis of the contents of the object data."), false, false, 0, 256, Exiv2::string, IptcDataSets::application2, N_("Headline")), DataSet(IptcDataSets::Credit, "Credit", N_("Credit"), N_("Identifies the provider of the object data, not necessarily the owner/creator."), false, false, 0, 32, Exiv2::string, IptcDataSets::application2, N_("Credit")), DataSet(IptcDataSets::Source, "Source", N_("Source"), N_("Identifies the original owner of the intellectual content of the " "object data. This could be an agency, a member of an agency or an individual."), false, false, 0, 32, Exiv2::string, IptcDataSets::application2, N_("Source")), DataSet(IptcDataSets::Copyright, "Copyright", N_("Copyright"), N_("Contains any necessary copyright notice."), false, false, 0, 128, Exiv2::string, IptcDataSets::application2, N_("Copyright Notice")), DataSet(IptcDataSets::Contact, "Contact", N_("Contact"), N_("Identifies the person or organisation which can provide further " "background information on the object data."), false, true, 0, 128, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::Caption, "Caption", N_("Caption"), N_("A textual description of the object data."), false, false, 0, 2000, Exiv2::string, IptcDataSets::application2, N_("Description")), DataSet(IptcDataSets::Writer, "Writer", N_("Writer"), N_("Identification of the name of the person involved in the writing, " "editing or correcting the object data or caption/abstract."), false, true, 0, 32, Exiv2::string, IptcDataSets::application2, "Description writer"), DataSet(IptcDataSets::RasterizedCaption, "RasterizedCaption", N_("Rasterized Caption"), N_("Contains the rasterized object data description and is used " "where characters that have not been coded are required for the caption."), false, false, 7360, 7360, Exiv2::undefined, IptcDataSets::application2, ""), DataSet(IptcDataSets::ImageType, "ImageType", N_("Image Type"), N_("Indicates the color components of an image."), false, false, 2, 2, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::ImageOrientation, "ImageOrientation", N_("Image Orientation"), N_("Indicates the layout of an image."), false, false, 1, 1, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::Language, "Language", N_("Language"), N_("Describes the major national language of the object, according " "to the 2-letter codes of ISO 639:1988. Does not define or imply " "any coded character set, but is used for internal routing, e.g. to " "various editorial desks."), false, false, 2, 3, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::AudioType, "AudioType", N_("Audio Type"), N_("Indicates the type of an audio content."), false, false, 2, 2, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::AudioRate, "AudioRate", N_("Audio Rate"), N_("Indicates the sampling rate in Hertz of an audio content."), false, false, 6, 6, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::AudioResolution, "AudioResolution", N_("Audio Resolution"), N_("Indicates the sampling resolution of an audio content."), false, false, 2, 2, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::AudioDuration, "AudioDuration", N_("Audio Duration"), N_("Indicates the duration of an audio content."), false, false, 6, 6, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::AudioOutcue, "AudioOutcue", N_("Audio Outcue"), N_("Identifies the content of the end of an audio object data, " "according to guidelines established by the provider."), false, false, 0, 64, Exiv2::string, IptcDataSets::application2, ""), DataSet(IptcDataSets::PreviewFormat, "PreviewFormat", N_("Preview Format"), N_("A binary number representing the file format of the object data " "preview. The file format must be registered with IPTC or NAA organizations " "with a unique number assigned to it."), false, false, 2, 2, Exiv2::unsignedShort, IptcDataSets::application2, ""), DataSet(IptcDataSets::PreviewVersion, "PreviewVersion", N_("Preview Version"), N_("A binary number representing the particular version of the " "object data preview file format specified in tag ."), false, false, 2, 2, Exiv2::unsignedShort, IptcDataSets::application2, ""), DataSet(IptcDataSets::Preview, "Preview", N_("Preview Data"), N_("Binary image preview data."), false, false, 0, 256000, Exiv2::undefined, IptcDataSets::application2, ""), DataSet(0xffff, "(Invalid)", N_("(Invalid)"), N_("(Invalid)"), false, false, 0, 0, Exiv2::unsignedShort, IptcDataSets::application2, "") }; const DataSet* IptcDataSets::application2RecordList() { return application2Record; } static const DataSet unknownDataSet(0xffff, "Unknown dataset", N_("Unknown dataset"), N_("Unknown dataset"), false, true, 0, 0xffffffff, Exiv2::string, IptcDataSets::invalidRecord, N_("Unknown dataset")); // Dataset lookup lists.This is an array with pointers to one list per IIM4 Record. // The record id is used as the index into the array. const DataSet* IptcDataSets::records_[] = { 0, envelopeRecord, application2Record, 0 }; int IptcDataSets::dataSetIdx(uint16_t number, uint16_t recordId) { if( recordId != envelope && recordId != application2 ) return -1; const DataSet* dataSet = records_[recordId]; if (dataSet == 0) return -1; int idx; for (idx = 0; dataSet[idx].number_ != number; ++idx) { if (dataSet[idx].number_ == 0xffff) return -1; } return idx; } int IptcDataSets::dataSetIdx(const std::string& dataSetName, uint16_t recordId) { if( recordId != envelope && recordId != application2 ) return -1; const DataSet* dataSet = records_[recordId]; if (dataSet == 0) return -1; int idx; for (idx = 0; dataSet[idx].name_ != dataSetName; ++idx) { if (dataSet[idx].number_ == 0xffff) return -1; } return idx; } TypeId IptcDataSets::dataSetType(uint16_t number, uint16_t recordId) { int idx = dataSetIdx(number, recordId); if (idx == -1) return unknownDataSet.type_; return records_[recordId][idx].type_; } std::string IptcDataSets::dataSetName(uint16_t number, uint16_t recordId) { int idx = dataSetIdx(number, recordId); if (idx != -1) return records_[recordId][idx].name_; std::ostringstream os; os << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << number; return os.str(); } const char* IptcDataSets::dataSetTitle(uint16_t number, uint16_t recordId) { int idx = dataSetIdx(number, recordId); if (idx == -1) return unknownDataSet.title_; return records_[recordId][idx].title_; } const char* IptcDataSets::dataSetDesc(uint16_t number, uint16_t recordId) { int idx = dataSetIdx(number, recordId); if (idx == -1) return unknownDataSet.desc_; return records_[recordId][idx].desc_; } const char* IptcDataSets::dataSetPsName(uint16_t number, uint16_t recordId) { int idx = dataSetIdx(number, recordId); if (idx == -1) return unknownDataSet.photoshop_; return records_[recordId][idx].photoshop_; } bool IptcDataSets::dataSetRepeatable(uint16_t number, uint16_t recordId) { int idx = dataSetIdx(number, recordId); if (idx == -1) return unknownDataSet.repeatable_; return records_[recordId][idx].repeatable_; } uint16_t IptcDataSets::dataSet(const std::string& dataSetName, uint16_t recordId) { uint16_t dataSet; int idx = dataSetIdx(dataSetName, recordId); if (idx != -1) { // dataSetIdx checks the range of recordId dataSet = records_[recordId][idx].number_; } else { if (!isHex(dataSetName, 4, "0x")) throw Error(4, dataSetName); std::istringstream is(dataSetName); is >> std::hex >> dataSet; } return dataSet; } std::string IptcDataSets::recordName(uint16_t recordId) { if (recordId == envelope || recordId == application2) { return recordInfo_[recordId].name_; } std::ostringstream os; os << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << recordId; return os.str(); } const char* IptcDataSets::recordDesc(uint16_t recordId) { if (recordId != envelope && recordId != application2) { return unknownDataSet.desc_; } return recordInfo_[recordId].desc_; } uint16_t IptcDataSets::recordId(const std::string& recordName) { uint16_t i; for (i = application2; i > 0; --i) { if (recordInfo_[i].name_ == recordName) break; } if (i == 0) { if (!isHex(recordName, 4, "0x")) throw Error(5, recordName); std::istringstream is(recordName); is >> std::hex >> i; } return i; } void IptcDataSets::dataSetList(std::ostream& os) { const int count = sizeof(records_)/sizeof(records_[0]); for (int i=0; i < count; ++i) { const DataSet *record = records_[i]; for (int j=0; record != 0 && record[j].number_ != 0xffff; ++j) { os << record[j] << "\n"; } } } // IptcDataSets::dataSetList const char* IptcKey::familyName_ = "Iptc"; IptcKey::IptcKey(const std::string& key) : key_(key) { decomposeKey(); } IptcKey::IptcKey(uint16_t tag, uint16_t record) : tag_(tag), record_(record) { makeKey(); } IptcKey::IptcKey(const IptcKey& rhs) : Key(rhs), tag_(rhs.tag_), record_(rhs.record_), key_(rhs.key_) { } IptcKey::~IptcKey() { } IptcKey& IptcKey::operator=(const IptcKey& rhs) { if (this == &rhs) return *this; Key::operator=(rhs); tag_ = rhs.tag_; record_ = rhs.record_; key_ = rhs.key_; return *this; } std::string IptcKey::key() const { return key_; } const char* IptcKey::familyName() const { return familyName_; } std::string IptcKey::groupName() const { return recordName(); } std::string IptcKey::tagName() const { return IptcDataSets::dataSetName(tag_, record_); } std::string IptcKey::tagLabel() const { return IptcDataSets::dataSetTitle(tag_, record_); } uint16_t IptcKey::tag() const { return tag_; } std::string IptcKey::recordName() const { return IptcDataSets::recordName(record_); } uint16_t IptcKey::record() const { return record_; } IptcKey::AutoPtr IptcKey::clone() const { return AutoPtr(clone_()); } IptcKey* IptcKey::clone_() const { return new IptcKey(*this); } void IptcKey::decomposeKey() { // Get the family name, record name and dataSet name parts of the key std::string::size_type pos1 = key_.find('.'); if (pos1 == std::string::npos) throw Error(6, key_); std::string familyName = key_.substr(0, pos1); if (0 != strcmp(familyName.c_str(), familyName_)) { throw Error(6, key_); } std::string::size_type pos0 = pos1 + 1; pos1 = key_.find('.', pos0); if (pos1 == std::string::npos) throw Error(6, key_); std::string recordName = key_.substr(pos0, pos1 - pos0); if (recordName == "") throw Error(6, key_); std::string dataSetName = key_.substr(pos1 + 1); if (dataSetName == "") throw Error(6, key_); // Use the parts of the key to find dataSet and recordId uint16_t recId = IptcDataSets::recordId(recordName); uint16_t dataSet = IptcDataSets::dataSet(dataSetName, recId); // Possibly translate hex name parts (0xabcd) to real names recordName = IptcDataSets::recordName(recId); dataSetName = IptcDataSets::dataSetName(dataSet, recId); tag_ = dataSet; record_ = recId; key_ = familyName + "." + recordName + "." + dataSetName; } // IptcKey::decomposeKey void IptcKey::makeKey() { key_ = std::string(familyName_) + "." + IptcDataSets::recordName(record_) + "." + IptcDataSets::dataSetName(tag_, record_); } // ************************************************************************* // free functions std::ostream& operator<<(std::ostream& os, const DataSet& dataSet) { std::ios::fmtflags f( os.flags() ); IptcKey iptcKey(dataSet.number_, dataSet.recordId_); os << dataSet.name_ << ", " << std::dec << dataSet.number_ << ", " << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << dataSet.number_ << ", " << IptcDataSets::recordName(dataSet.recordId_) << ", " << std::boolalpha << dataSet.mandatory_ << ", " << dataSet.repeatable_ << ", " << std::dec << dataSet.minbytes_ << ", " << dataSet.maxbytes_ << ", " << iptcKey.key() << ", " << TypeInfo::typeName( IptcDataSets::dataSetType(dataSet.number_, dataSet.recordId_)) << ", " << dataSet.desc_; os.flags(f); return os; } } // namespace Exiv2 exiv2-0.25/src/properties.cpp0000664000175000017500000110645512526761404016025 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: properties.cpp Version: $Rev: 3831 $ Author(s): Andreas Huggel (ahu) Gilles Caulier (cgilles) History: 13-July-07, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: properties.cpp 3831 2015-05-20 01:27:32Z asp $") // ***************************************************************************** // included header files #include "properties.hpp" #include "tags_int.hpp" #include "error.hpp" #include "types.hpp" #include "value.hpp" #include "metadatum.hpp" #include "i18n.h" // NLS support. #include "xmp.hpp" #include #include #include #include #include #include // ***************************************************************************** namespace { //! Struct used in the lookup table for pretty print functions struct XmpPrintInfo { //! Comparison operator for key bool operator==(const std::string& key) const { return 0 == strcmp(key_, key.c_str()); } const char* key_; //!< XMP key Exiv2::PrintFct printFct_; //!< Print function }; } // ***************************************************************************** // class member definitions namespace Exiv2 { using namespace Internal; //! @cond IGNORE extern const XmpPropertyInfo xmpDcInfo[]; extern const XmpPropertyInfo xmpDigikamInfo[]; extern const XmpPropertyInfo xmpKipiInfo[]; extern const XmpPropertyInfo xmpXmpInfo[]; extern const XmpPropertyInfo xmpXmpRightsInfo[]; extern const XmpPropertyInfo xmpXmpMMInfo[]; extern const XmpPropertyInfo xmpXmpBJInfo[]; extern const XmpPropertyInfo xmpXmpTPgInfo[]; extern const XmpPropertyInfo xmpXmpDMInfo[]; extern const XmpPropertyInfo xmpMicrosoftInfo[]; extern const XmpPropertyInfo xmpPdfInfo[]; extern const XmpPropertyInfo xmpPhotoshopInfo[]; extern const XmpPropertyInfo xmpCrsInfo[]; extern const XmpPropertyInfo xmpTiffInfo[]; extern const XmpPropertyInfo xmpExifInfo[]; extern const XmpPropertyInfo xmpAuxInfo[]; extern const XmpPropertyInfo xmpIptcInfo[]; extern const XmpPropertyInfo xmpIptcExtInfo[]; extern const XmpPropertyInfo xmpPlusInfo[]; extern const XmpPropertyInfo xmpMediaProInfo[]; extern const XmpPropertyInfo xmpExpressionMediaInfo[]; extern const XmpPropertyInfo xmpMicrosoftPhotoInfo[]; extern const XmpPropertyInfo xmpMicrosoftPhotoRegionInfoInfo[]; extern const XmpPropertyInfo xmpMicrosoftPhotoRegionInfo[]; extern const XmpPropertyInfo xmpMWGRegionsInfo[]; extern const XmpPropertyInfo xmpMWGKeywordInfo[]; extern const XmpPropertyInfo xmpVideoInfo[]; extern const XmpPropertyInfo xmpAudioInfo[]; extern const XmpPropertyInfo xmpDwCInfo[]; extern const XmpPropertyInfo xmpDctermsInfo[]; extern const XmpPropertyInfo xmpLrInfo[]; extern const XmpPropertyInfo xmpAcdseeInfo[]; extern const XmpPropertyInfo xmpGPanoInfo[]; extern const XmpNsInfo xmpNsInfo[] = { // Schemas - NOTE: Schemas which the XMP-SDK doesn't know must be registered in XmpParser::initialize - Todo: Automate this { "http://purl.org/dc/elements/1.1/", "dc", xmpDcInfo, N_("Dublin Core schema") }, { "http://www.digikam.org/ns/1.0/", "digiKam", xmpDigikamInfo, N_("digiKam Photo Management schema") }, { "http://www.digikam.org/ns/kipi/1.0/", "kipi", xmpKipiInfo, N_("KDE Image Program Interface schema") }, { "http://ns.adobe.com/xap/1.0/", "xmp", xmpXmpInfo, N_("XMP Basic schema") }, { "http://ns.adobe.com/xap/1.0/rights/", "xmpRights", xmpXmpRightsInfo, N_("XMP Rights Management schema") }, { "http://ns.adobe.com/xap/1.0/mm/", "xmpMM", xmpXmpMMInfo, N_("XMP Media Management schema") }, { "http://ns.adobe.com/xap/1.0/bj/", "xmpBJ", xmpXmpBJInfo, N_("XMP Basic Job Ticket schema") }, { "http://ns.adobe.com/xap/1.0/t/pg/", "xmpTPg", xmpXmpTPgInfo, N_("XMP Paged-Text schema") }, { "http://ns.adobe.com/xmp/1.0/DynamicMedia/", "xmpDM", xmpXmpDMInfo, N_("XMP Dynamic Media schema") }, { "http://ns.microsoft.com/photo/1.0/", "MicrosoftPhoto", xmpMicrosoftInfo, N_("Microsoft Photo schema") }, { "http://ns.adobe.com/lightroom/1.0/", "lr", xmpLrInfo, N_("Adobe Lightroom schema") }, { "http://ns.adobe.com/pdf/1.3/", "pdf", xmpPdfInfo, N_("Adobe PDF schema") }, { "http://ns.adobe.com/photoshop/1.0/", "photoshop", xmpPhotoshopInfo, N_("Adobe photoshop schema") }, { "http://ns.adobe.com/camera-raw-settings/1.0/", "crs", xmpCrsInfo, N_("Camera Raw schema") }, { "http://ns.adobe.com/tiff/1.0/", "tiff", xmpTiffInfo, N_("Exif Schema for TIFF Properties") }, { "http://ns.adobe.com/exif/1.0/", "exif", xmpExifInfo, N_("Exif schema for Exif-specific Properties") }, { "http://ns.adobe.com/exif/1.0/aux/", "aux", xmpAuxInfo, N_("Exif schema for Additional Exif Properties")}, { "http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/", "iptc", xmpIptcInfo, N_("IPTC Core schema") }, // NOTE: 'Iptc4xmpCore' is just too long, so make 'iptc' { "http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/", "Iptc4xmpCore", xmpIptcInfo, N_("IPTC Core schema") }, // the default prefix. But provide the official one too. { "http://iptc.org/std/Iptc4xmpExt/2008-02-29/", "iptcExt", xmpIptcExtInfo, N_("IPTC Extension schema") }, // NOTE: It really should be 'Iptc4xmpExt' but following { "http://iptc.org/std/Iptc4xmpExt/2008-02-29/", "Iptc4xmpExt", xmpIptcExtInfo, N_("IPTC Extension schema") }, // example above, 'iptcExt' is the default, Iptc4xmpExt works too. { "http://ns.useplus.org/ldf/xmp/1.0/", "plus", xmpPlusInfo, N_("PLUS License Data Format schema") }, { "http://ns.iview-multimedia.com/mediapro/1.0/", "mediapro", xmpMediaProInfo, N_("iView Media Pro schema") }, { "http://ns.microsoft.com/expressionmedia/1.0/", "expressionmedia", xmpExpressionMediaInfo, N_("Expression Media schema") }, { "http://ns.microsoft.com/photo/1.2/", "MP", xmpMicrosoftPhotoInfo, N_("Microsoft Photo 1.2 schema") }, { "http://ns.microsoft.com/photo/1.2/t/RegionInfo#", "MPRI", xmpMicrosoftPhotoRegionInfoInfo, N_("Microsoft Photo RegionInfo schema") }, { "http://ns.microsoft.com/photo/1.2/t/Region#", "MPReg", xmpMicrosoftPhotoRegionInfo, N_("Microsoft Photo Region schema") }, { "http://www.metadataworkinggroup.com/schemas/regions/", "mwg-rs", xmpMWGRegionsInfo, N_("Metadata Working Group Regions schema") }, { "http://www.metadataworkinggroup.com/schemas/keywords/","mwg-kw", xmpMWGKeywordInfo, N_("Metadata Working Group Keywords schema") }, { "http://www.video", "video", xmpVideoInfo, N_("XMP Extended Video schema") }, { "http://www.audio", "audio", xmpAudioInfo, N_("XMP Extended Audio schema") }, { "http://rs.tdwg.org/dwc/index.htm", "dwc", xmpDwCInfo, N_("XMP Darwin Core schema") }, { "http://purl.org/dc/terms/", "dcterms", xmpDctermsInfo, N_("Qualified Dublin Core schema") }, // Note: used as properties under dwc:record { "http://ns.acdsee.com/iptc/1.0/", "acdsee", xmpAcdseeInfo, N_("ACDSee XMP schema") }, { "http://ns.google.com/photos/1.0/panorama/", "GPano", xmpGPanoInfo, N_("Google Photo Sphere XMP schema") }, // Structures { "http://ns.adobe.com/xap/1.0/g/", "xapG", 0, N_("Colorant structure") }, { "http://ns.adobe.com/xap/1.0/sType/Dimensions#", "stDim", 0, N_("Dimensions structure") }, { "http://ns.adobe.com/xap/1.0/sType/Font#", "stFnt", 0, N_("Font structure") }, { "http://ns.adobe.com/xap/1.0/g/img/", "xmpGImg", 0, N_("Thumbnail structure") }, { "http://ns.adobe.com/xap/1.0/sType/ResourceEvent#", "stEvt", 0, N_("Resource Event structure") }, { "http://ns.adobe.com/xap/1.0/sType/ResourceRef#", "stRef", 0, N_("ResourceRef structure") }, { "http://ns.adobe.com/xap/1.0/sType/Version#", "stVer", 0, N_("Version structure") }, { "http://ns.adobe.com/xap/1.0/sType/Job#", "stJob", 0, N_("Basic Job/Workflow structure") }, { "http://ns.adobe.com/xmp/sType/Area#", "stArea", 0, N_("Area structure") }, // Qualifiers { "http://ns.adobe.com/xmp/Identifier/qual/1.0/", "xmpidq", 0, N_("Qualifier for xmp:Identifier") } }; extern const XmpPropertyInfo xmpDcInfo[] = { { "contributor", N_("Contributor"), "bag ProperName", xmpBag, xmpExternal, N_("Contributors to the resource (other than the authors).") }, { "coverage", N_("Coverage"), "Text", xmpText, xmpExternal, N_("The spatial or temporal topic of the resource, the spatial applicability of the " "resource, or the jurisdiction under which the resource is relevant.") }, { "creator", N_("Creator"), "seq ProperName", xmpSeq, xmpExternal, N_("The authors of the resource (listed in order of precedence, if significant).") }, { "date", N_("Date"), "seq Date", xmpSeq, xmpExternal, N_("Date(s) that something interesting happened to the resource.") }, { "description", N_("Description"), "Lang Alt", langAlt, xmpExternal, N_("A textual description of the content of the resource. Multiple values may be " "present for different languages.") }, { "format", N_("Format"), "MIMEType", xmpText, xmpInternal, N_("The file format used when saving the resource. Tools and applications should set " "this property to the save format of the data. It may include appropriate qualifiers.") }, { "identifier", N_("Identifier"), "Text", xmpText, xmpExternal, N_("Unique identifier of the resource. Recommended best practice is to identify the " "resource by means of a string conforming to a formal identification system.") }, { "language", N_("Language"), "bag Locale", xmpBag, xmpInternal, N_("An unordered array specifying the languages used in the resource.") }, { "publisher", N_("Publisher"), "bag ProperName", xmpBag, xmpExternal, N_("An entity responsible for making the resource available. Examples of a Publisher " "include a person, an organization, or a service. Typically, the name of a Publisher " "should be used to indicate the entity.") }, { "relation", N_("Relation"), "bag Text", xmpBag, xmpInternal, N_("Relationships to other documents. Recommended best practice is to identify the " "related resource by means of a string conforming to a formal identification system.") }, { "rights", N_("Rights"), "Lang Alt", langAlt, xmpExternal, N_("Informal rights statement, selected by language. Typically, rights information " "includes a statement about various property rights associated with the resource, " "including intellectual property rights.") }, { "source", N_("Source"), "Text", xmpText, xmpExternal, N_("Unique identifier of the work from which this resource was derived.") }, { "subject", N_("Subject"), "bag Text", xmpBag, xmpExternal, N_("An unordered array of descriptive phrases or keywords that specify the topic of the " "content of the resource.") }, { "title", N_("Title"), "Lang Alt", langAlt, xmpExternal, N_("The title of the document, or the name given to the resource. Typically, it will be " "a name by which the resource is formally known.") }, { "type", N_("Type"), "bag open Choice", xmpBag, xmpExternal, N_("A document type; for example, novel, poem, or working paper.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpDigikamInfo[] = { { "TagsList", N_("Tags List"), "seq Text", xmpSeq, xmpExternal, N_("The list of complete tags path as string. The path hierarchy is separated by '/' character (ex.: \"City/Paris/Monument/Eiffel Tower\".") }, { "CaptionsAuthorNames", N_("Captions Author Names"), "Lang Alt", langAlt, xmpExternal, N_("The list of all captions author names for each language alternative captions set in standard XMP tags.") }, { "CaptionsDateTimeStamps", N_("Captions Date Time Stamps"), "Lang Alt", langAlt, xmpExternal, N_("The list of all captions date time stamps for each language alternative captions set in standard XMP tags.") }, { "ImageHistory", N_("Image History"), "Text", xmpText, xmpExternal, N_("An XML based content to list all action processed on this image with image editor (as crop, rotate, color corrections, adjustments, etc.).") }, { "LensCorrectionSettings", N_("Lens Correction Settings"), "Text", xmpText, xmpExternal, N_("The list of Lens Correction tools settings used to fix lens distortion. This include Batch Queue Manager and Image editor tools based on LensFun library.") }, { "ColorLabel", N_("Color Label"), "Text", xmpText, xmpExternal, N_("The color label assigned to this item. Possible values are \"0\": no label; \"1\": Red; \"2\": Orange; \"3\": Yellow; \"4\": Green; \"5\": Blue; \"6\": Magenta; \"7\": Gray; \"8\": Black; \"9\": White.") }, { "PickLabel", N_("Pick Label"), "Text", xmpText, xmpExternal, N_("The pick label assigned to this item. Possible values are \"0\": no label; \"1\": item rejected; \"2\": item in pending validation; \"3\": item accepted.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpKipiInfo[] = { { "PanoramaInputFiles", N_("Panorama Input Files"), "Text", xmpText, xmpExternal, N_("The list of files processed with Hugin program through Panorama tool.") }, { "EnfuseInputFiles", N_("Enfuse Input Files"), "Text", xmpText, xmpExternal, N_("The list of files processed with Enfuse program through ExpoBlending tool.") }, { "EnfuseSettings", N_("Enfuse Settings"), "Text", xmpText, xmpExternal, N_("The list of Enfuse settings used to blend image stack with ExpoBlending tool.") }, { "picasawebGPhotoId", N_("PicasaWeb Item ID"), "Text", xmpText, xmpExternal, N_("Item ID from PicasaWeb web service.") }, { "yandexGPhotoId", N_("Yandex Fotki Item ID"), "Text", xmpText, xmpExternal, N_("Item ID from Yandex Fotki web service.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpXmpInfo[] = { { "Advisory", N_("Advisory"), "bag XPath", xmpBag, xmpExternal, N_("An unordered array specifying properties that were edited outside the authoring " "application. Each item should contain a single namespace and XPath separated by " "one ASCII space (U+0020).") }, { "BaseURL", N_("Base URL"), "URL", xmpText, xmpInternal, N_("The base URL for relative URLs in the document content. If this document contains " "Internet links, and those links are relative, they are relative to this base URL. " "This property provides a standard way for embedded relative URLs to be interpreted " "by tools. Web authoring tools should set the value based on their notion of where " "URLs will be interpreted.") }, { "CreateDate", N_("Create Date"), "Date", xmpText, xmpInternal, N_("The date and time the resource was originally created.") }, { "CreatorTool", N_("Creator Tool"), "AgentName", xmpText, xmpInternal, N_("The name of the first known tool used to create the resource. If history is " "present in the metadata, this value should be equivalent to that of " "xmpMM:History's softwareAgent property.") }, { "Identifier", N_("Identifier"), "bag Text", xmpBag, xmpExternal, N_("An unordered array of text strings that unambiguously identify the resource within " "a given context. An array item may be qualified with xmpidq:Scheme to denote the " "formal identification system to which that identifier conforms. Note: The " "dc:identifier property is not used because it lacks a defined scheme qualifier and " "has been defined in the XMP Specification as a simple (single-valued) property.") }, { "Label", N_("Label"), "Text", xmpText, xmpExternal, N_("A word or short phrase that identifies a document as a member of a user-defined " "collection. Used to organize documents in a file browser.") }, { "MetadataDate", N_("Metadata Date"), "Date", xmpText, xmpInternal, N_("The date and time that any metadata for this resource was last changed. It should " "be the same as or more recent than xmp:ModifyDate.") }, { "ModifyDate", N_("Modify Date"), "Date", xmpText, xmpInternal, N_("The date and time the resource was last modified. Note: The value of this property " "is not necessarily the same as the file's system modification date because it is " "set before the file is saved.") }, { "Nickname", N_("Nickname"), "Text", xmpText, xmpExternal, N_("A short informal name for the resource.") }, { "Rating", N_("Rating"), "Closed Choice of Integer", xmpText, xmpExternal, N_("A number that indicates a document's status relative to other documents, " "used to organize documents in a file browser. Values are user-defined within an " "application-defined range.") }, { "Thumbnails", N_("Thumbnails"), "alt Thumbnail", xmpText, xmpInternal, N_("An alternative array of thumbnail images for a file, which can differ in " "characteristics such as size or image encoding.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpXmpRightsInfo[] = { { "Certificate", N_("Certificate"), "URL", xmpText, xmpExternal, N_("Online rights management certificate.") }, { "Marked", N_("Marked"), "Boolean", xmpText, xmpExternal, N_("Indicates that this is a rights-managed resource.") }, { "Owner", N_("Owner"), "bag ProperName", xmpBag, xmpExternal, N_("An unordered array specifying the legal owner(s) of a resource.") }, { "UsageTerms", N_("Usage Terms"), "Lang Alt", langAlt, xmpExternal, N_("Text instructions on how a resource can be legally used.") }, { "WebStatement", N_("Web Statement"), "URL", xmpText, xmpExternal, N_("The location of a web page describing the owner and/or rights statement for this resource.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpXmpMMInfo[] = { { "DerivedFrom", N_("Derived From"), "ResourceRef", xmpText, xmpInternal, N_("A reference to the original document from which this one is derived. It is a " "minimal reference; missing components can be assumed to be unchanged. For example, " "a new version might only need to specify the instance ID and version number of the " "previous version, or a rendition might only need to specify the instance ID and " "rendition class of the original.") }, { "DocumentID", N_("Document ID"), "URI", xmpText, xmpInternal, N_("The common identifier for all versions and renditions of a document. It should be " "based on a UUID; see Document and Instance IDs below.") }, { "History", N_("History"), "seq ResourceEvent", xmpText, xmpInternal, N_("An ordered array of high-level user actions that resulted in this resource. It is " "intended to give human readers a general indication of the steps taken to make the " "changes from the previous version to this one. The list should be at an abstract " "level; it is not intended to be an exhaustive keystroke or other detailed history.") }, { "InstanceID", N_("Instance ID"), "URI", xmpText, xmpInternal, N_("An identifier for a specific incarnation of a document, updated each time a file " "is saved. It should be based on a UUID; see Document and Instance IDs below.") }, { "ManagedFrom", N_("Managed From"), "ResourceRef", xmpText, xmpInternal, N_("A reference to the document as it was prior to becoming managed. It is set when a " "managed document is introduced to an asset management system that does not " "currently own it. It may or may not include references to different management systems.") }, { "Manager", N_("Manager"), "AgentName", xmpText, xmpInternal, N_("The name of the asset management system that manages this resource. Along with " "xmpMM: ManagerVariant, it tells applications which asset management system to " "contact concerning this document.") }, { "ManageTo", N_("Manage To"), "URI", xmpText, xmpInternal, N_("A URI identifying the managed resource to the asset management system; the presence " "of this property is the formal indication that this resource is managed. The form " "and content of this URI is private to the asset management system.") }, { "ManageUI", N_("Manage UI"), "URI", xmpText, xmpInternal, N_("A URI that can be used to access information about the managed resource through a " "web browser. It might require a custom browser plug-in.") }, { "ManagerVariant", N_("Manager Variant"), "Text", xmpText, xmpInternal, N_("Specifies a particular variant of the asset management system. The format of this " "property is private to the specific asset management system.") }, { "RenditionClass", N_("Rendition Class"), "RenditionClass", xmpText, xmpInternal, N_("The rendition class name for this resource. This property should be absent or set " "to default for a document version that is not a derived rendition.") }, { "RenditionParams", N_("Rendition Params"), "Text", xmpText, xmpInternal, N_("Can be used to provide additional rendition parameters that are too complex or " "verbose to encode in xmpMM: RenditionClass.") }, { "VersionID", N_("Version ID"), "Text", xmpText, xmpInternal, N_("The document version identifier for this resource. Each version of a document gets " "a new identifier, usually simply by incrementing integers 1, 2, 3 . . . and so on. " "Media management systems can have other conventions or support branching which " "requires a more complex scheme.") }, { "Versions", N_("Versions"), "seq Version", xmpText, xmpInternal, N_("The version history associated with this resource. Entry [1] is the oldest known " "version for this document, entry [last()] is the most recent version. Typically, a " "media management system would fill in the version information in the metadata on " "check-in. It is not guaranteed that a complete history versions from the first to " "this one will be present in the xmpMM:Versions property. Interior version information " "can be compressed or eliminated and the version history can be truncated at some point.") }, { "LastURL", N_("Last URL"), "URL", xmpText, xmpInternal, N_("Deprecated for privacy protection.") }, { "RenditionOf", N_("Rendition Of"), "ResourceRef", xmpText, xmpInternal, N_("Deprecated in favor of xmpMM:DerivedFrom. A reference to the document of which this is " "a rendition.") }, { "SaveID", N_("Save ID"), "Integer", xmpText, xmpInternal, N_("Deprecated. Previously used only to support the xmpMM:LastURL property.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpXmpBJInfo[] = { { "JobRef", N_("Job Reference"), "bag Job", xmpText, xmpExternal, N_("References an external job management file for a job process in which the document is being used. Use of job " "names is under user control. Typical use would be to identify all documents that are part of a particular job or contract. " "There are multiple values because there can be more than one job using a particular document at any time, and it can " "also be useful to keep historical information about what jobs a document was part of previously.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpXmpTPgInfo[] = { { "MaxPageSize", N_("Maximum Page Size"), "Dimensions", xmpText, xmpInternal, N_("The size of the largest page in the document (including any in contained documents).") }, { "NPages", N_("Number of Pages"), "Integer", xmpText, xmpInternal, N_("The number of pages in the document (including any in contained documents).") }, { "Fonts", N_("Fonts"), "bag Font", xmpText, xmpInternal, N_("An unordered array of fonts that are used in the document (including any in contained documents).") }, { "Colorants", N_("Colorants"), "seq Colorant", xmpText, xmpInternal, N_("An ordered array of colorants (swatches) that are used in the document (including any in contained documents).") }, { "PlateNames", N_("Plate Names"), "seq Text", xmpSeq, xmpInternal, N_("An ordered array of plate names that are needed to print the document (including any in contained documents).") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpXmpDMInfo[] = { { "projectRef", N_("Project Reference"), "ProjectLink", xmpText, xmpInternal, N_("A reference to the project that created this file.") }, { "videoFrameRate", N_("Video Frame Rate"), "open Choice of Text", xmpText, xmpInternal, N_("The video frame rate. One of: 24, NTSC, PAL.") }, { "videoFrameSize", N_("Video Frame Size"), "Dimensions", xmpText, xmpInternal, N_("The frame size. For example: w:720, h: 480, unit:pixels") }, { "videoPixelAspectRatio", N_("Video Pixel Aspect Ratio"), "Rational", xmpText, xmpInternal, N_("The aspect ratio, expressed as ht/wd. For example: \"648/720\" = 0.9") }, { "videoPixelDepth", N_("Video Pixel Depth"), "closed Choice of Text", xmpText, xmpInternal, N_("The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float.") }, { "videoColorSpace", N_("Video Color Space"), "closed Choice of Text", xmpText, xmpInternal, N_("The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD).") }, { "videoAlphaMode", N_("Video Alpha Mode"), "closed Choice of Text", xmpText, xmpExternal, N_("The alpha mode. One of: straight, pre-multiplied.") }, { "videoAlphaPremultipleColor", N_("Video Alpha Premultiple Color"), "Colorant", xmpText, xmpExternal, N_("A color in CMYK or RGB to be used as the pre-multiple color when " "alpha mode is pre-multiplied.") }, { "videoAlphaUnityIsTransparent", N_("Video Alpha Unity Is Transparent"), "Boolean", xmpText, xmpInternal, N_("When true, unity is clear, when false, it is opaque.") }, { "videoCompressor", N_("Video Compressor"), "Text", xmpText, xmpInternal, N_("Video compression used. For example, jpeg.") }, { "videoFieldOrder", N_("Video Field Order"), "closed Choice of Text", xmpText, xmpInternal, N_("The field order for video. One of: Upper, Lower, Progressive.") }, { "pullDown", N_("Pull Down"), "closed Choice of Text", xmpText, xmpInternal, N_("The sampling phase of film to be converted to video (pull-down). One of: " "WSSWW, SSWWW, SWWWS, WWWSS, WWSSW, WSSWW_24p, SSWWW_24p, SWWWS_24p, WWWSS_24p, WWSSW_24p.") }, { "audioSampleRate", N_("Audio Sample Rate"), "Integer", xmpText, xmpInternal, N_("The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000.") }, { "audioSampleType", N_("Audio Sample Type"), "closed Choice of Text", xmpText, xmpInternal, N_("The audio sample type. One of: 8Int, 16Int, 32Int, 32Float.") }, { "audioChannelType", N_("Audio Channel Type"), "closed Choice of Text", xmpText, xmpInternal, N_("The audio channel type. One of: Mono, Stereo, 5.1, 7.1.") }, { "audioCompressor", N_("Audio Compressor"), "Text", xmpText, xmpInternal, N_("The audio compression used. For example, MP3.") }, { "speakerPlacement", N_("Speaker Placement"), "Text", xmpText, xmpExternal, N_("A description of the speaker angles from center front in degrees. For example: " "\"Left = -30, Right = 30, Center = 0, LFE = 45, Left Surround = -110, Right Surround = 110\"") }, { "fileDataRate", N_("File Data Rate"), "Rational", xmpText, xmpInternal, N_("The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/sec") }, { "tapeName", N_("Tape Name"), "Text", xmpText, xmpExternal, N_("The name of the tape from which the clip was captured, as set during the capture process.") }, { "altTapeName", N_("Alternative Tape Name"), "Text", xmpText, xmpExternal, N_("An alternative tape name, set via the project window or timecode dialog in Premiere. " "If an alternative name has been set and has not been reverted, that name is displayed.") }, { "startTimecode", N_("Start Time Code"), "Timecode", xmpText, xmpInternal, N_("The timecode of the first frame of video in the file, as obtained from the device control.") }, { "altTimecode", N_("Alternative Time code"), "Timecode", xmpText, xmpExternal, N_("A timecode set by the user. When specified, it is used instead of the startTimecode.") }, { "duration", N_("Duration"), "Time", xmpText, xmpInternal, N_("The duration of the media file.") }, { "scene", N_("Scene"), "Text", xmpText, xmpExternal, N_("The name of the scene.") }, { "shotName", N_("Shot Name"), "Text", xmpText, xmpExternal, N_("The name of the shot or take.") }, { "shotDate", N_("Shot Date"), "Date", xmpText, xmpExternal, N_("The date and time when the video was shot.") }, { "shotLocation", N_("Shot Location"), "Text", xmpText, xmpExternal, N_("The name of the location where the video was shot. For example: \"Oktoberfest, Munich Germany\" " "For more accurate positioning, use the EXIF GPS values.") }, { "logComment", N_("Log Comment"), "Text", xmpText, xmpExternal, N_("User's log comments.") }, { "markers", N_("Markers"), "seq Marker", xmpText, xmpInternal, N_("An ordered list of markers") }, { "contributedMedia", N_("Contributed Media"), "bag Media", xmpText, xmpInternal, N_("An unordered list of all media used to create this media.") }, { "absPeakAudioFilePath", N_("Absolute Peak Audio File Path"), "URI", xmpText, xmpInternal, N_("The absolute path to the file's peak audio file. If empty, no peak file exists.") }, { "relativePeakAudioFilePath", N_("Relative Peak Audio File Path"), "URI", xmpText, xmpInternal, N_("The relative path to the file's peak audio file. If empty, no peak file exists.") }, { "videoModDate", N_("Video Modified Date"), "Date", xmpText, xmpInternal, N_("The date and time when the video was last modified.") }, { "audioModDate", N_("Audio Modified Date"), "Date", xmpText, xmpInternal, N_("The date and time when the audio was last modified.") }, { "metadataModDate", N_("Metadata Modified Date"), "Date", xmpText, xmpInternal, N_("The date and time when the metadata was last modified.") }, { "artist", N_("Artist"), "Text", xmpText, xmpExternal, N_("The name of the artist or artists.") }, { "album", N_("Album"), "Text", xmpText, xmpExternal, N_("The name of the album.") }, { "trackNumber", N_("Track Number"), "Integer", xmpText, xmpExternal, N_("A numeric value indicating the order of the audio file within its original recording.") }, { "genre", N_("Genre"), "Text", xmpText, xmpExternal, N_("The name of the genre.") }, { "copyright", N_("Copyright"), "Text", xmpText, xmpExternal, N_("The copyright information.") }, { "releaseDate", N_("Release Date"), "Date", xmpText, xmpExternal, N_("The date the title was released.") }, { "composer", N_("Composer"), "Text", xmpText, xmpExternal, N_("The composer's name.") }, { "engineer", N_("Engineer"), "Text", xmpText, xmpExternal, N_("The engineer's name.") }, { "tempo", N_("Tempo"), "Real", xmpText, xmpInternal, N_("The audio's tempo.") }, { "instrument", N_("Instrument"), "Text", xmpText, xmpExternal, N_("The musical instrument.") }, { "introTime", N_("Intro Time"), "Time", xmpText, xmpInternal, N_("The duration of lead time for queuing music.") }, { "outCue", N_("Out Cue"), "Time", xmpText, xmpInternal, N_("The time at which to fade out.") }, { "relativeTimestamp", N_("Relative Timestamp"), "Time", xmpText, xmpInternal, N_("The start time of the media inside the audio project.") }, { "loop", N_("Loop"), "Boolean", xmpText, xmpInternal, N_("When true, the clip can be looped seamlessly.") }, { "numberOfBeats", N_("Number Of Beats"), "Real", xmpText, xmpInternal, N_("The number of beats.") }, { "key", N_("Key"), "closed Choice of Text", xmpText, xmpInternal, N_("The audio's musical key. One of: C, C#, D, D#, E, F, F#, G, G#, A, A#, B.") }, { "stretchMode", N_("Stretch Mode"), "closed Choice of Text", xmpText, xmpInternal, N_("The audio stretch mode. One of: Fixed length, Time-Scale, Resample, Beat Splice, Hybrid.") }, { "timeScaleParams", N_("Time Scale Parameters"), "timeScaleStretch", xmpText, xmpInternal, N_("Additional parameters for Time-Scale stretch mode.") }, { "resampleParams", N_("Resample Parameters"), "resampleStretch", xmpText, xmpInternal, N_("Additional parameters for Resample stretch mode.") }, { "beatSpliceParams", N_("Beat Splice Parameters"), "beatSpliceStretch", xmpText, xmpInternal, N_("Additional parameters for Beat Splice stretch mode.") }, { "timeSignature", N_("Time Signature"), "closed Choice of Text", xmpText, xmpInternal, N_("The time signature of the music. One of: 2/4, 3/4, 4/4, 5/4, 7/4, 6/8, 9/8, 12/8, other.") }, { "scaleType", N_("Scale Type"), "closed Choice of Text", xmpText, xmpInternal, N_("The musical scale used in the music. One of: Major, Minor, Both, Neither. " "Neither is most often used for instruments with no associated scale, such as drums.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpMicrosoftInfo[] = { { "CameraSerialNumber", N_("Camera Serial Number"), "Text", xmpText, xmpExternal, N_("Camera Serial Number.") }, { "DateAcquired", N_("Date Acquired"), "Date", xmpText, xmpExternal, N_("Date Acquired.") }, { "FlashManufacturer", N_("Flash Manufacturer"), "Text", xmpText, xmpExternal, N_("Flash Manufacturer.") }, { "FlashModel", N_("Flash Model"), "Text", xmpText, xmpExternal, N_("Flash Model.") }, { "LastKeywordIPTC", N_("Last Keyword IPTC"), "bag Text", xmpBag, xmpExternal, N_("Last Keyword IPTC.") }, { "LastKeywordXMP", N_("Last Keyword XMP"), "bag Text", xmpBag, xmpExternal, N_("Last Keyword XMP.") }, { "LensManufacturer", N_("Lens Manufacturer"), "Text", xmpText, xmpExternal, N_("Lens Manufacturer.") }, { "LensModel", N_("Lens Model"), "Text", xmpText, xmpExternal, N_("Lens Model.") }, { "Rating", N_("Rating Percent"), "Text", xmpText, xmpExternal, N_("Rating Percent.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpLrInfo[] = { { "hierarchicalSubject", N_("Hierarchical Subject"), "bag Text", xmpBag, xmpExternal, N_("Adobe Lightroom hierarchical keywords.") }, { "privateRTKInfo", N_("Private RTK Info"), "Text", xmpText, xmpExternal, N_("Adobe Lightroom private RTK info.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpPdfInfo[] = { { "Keywords", N_("Keywords"), "Text", xmpText, xmpExternal, N_("Keywords.") }, { "PDFVersion", N_("PDF Version"), "Text", xmpText, xmpInternal, N_("The PDF file version (for example: 1.0, 1.3, and so on).") }, { "Producer", N_("Producer"), "AgentName", xmpText, xmpInternal, N_("The name of the tool that created the PDF document.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpPhotoshopInfo[] = { { "AuthorsPosition", N_("Authors Position"), "Text", xmpText, xmpExternal, N_("By-line title.") }, { "CaptionWriter", N_("Caption Writer"), "ProperName", xmpText, xmpExternal, N_("Writer/editor.") }, { "Category", N_("Category"), "Text", xmpText, xmpExternal, N_("Category. Limited to 3 7-bit ASCII characters.") }, { "City", N_("City"), "Text", xmpText, xmpExternal, N_("City.") }, { "Country", N_("Country"), "Text", xmpText, xmpExternal, N_("Country/primary location.") }, { "Credit", N_("Credit"), "Text", xmpText, xmpExternal, N_("Credit.") }, { "DateCreated", N_("Date Created"), "Date", xmpText, xmpExternal, N_("The date the intellectual content of the document was created (rather than the creation " "date of the physical representation), following IIM conventions. For example, a photo " "taken during the American Civil War would have a creation date during that epoch " "(1861-1865) rather than the date the photo was digitized for archiving.") }, { "Headline", N_("Headline"), "Text", xmpText, xmpExternal, N_("Headline.") }, { "Instructions", N_("Instructions"), "Text", xmpText, xmpExternal, N_("Special instructions.") }, { "Source", N_("Source"), "Text", xmpText, xmpExternal, N_("Source.") }, { "State", N_("State"), "Text", xmpText, xmpExternal, N_("Province/state.") }, { "SupplementalCategories", N_("Supplemental Categories"), "bag Text", xmpBag, xmpExternal, N_("Supplemental category.") }, { "TransmissionReference", N_("Transmission Reference"), "Text", xmpText, xmpExternal, N_("Original transmission reference.") }, { "Urgency", N_("Urgency"), "Integer", xmpText, xmpExternal, N_("Urgency. Valid range is 1-8.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; //! XMP crs:CropUnits extern const TagDetails crsCropUnits[] = { { 0, N_("pixels") }, { 1, N_("inches") }, { 2, N_("cm") } }; extern const XmpPropertyInfo xmpCrsInfo[] = { { "AutoBrightness", N_("Auto Brightness"), "Boolean", xmpText, xmpExternal, N_("When true, \"Brightness\" is automatically adjusted.") }, { "AutoContrast", N_("Auto Contrast"), "Boolean", xmpText, xmpExternal, N_("When true, \"Contrast\" is automatically adjusted.") }, { "AutoExposure", N_("Auto Exposure"), "Boolean", xmpText, xmpExternal, N_("When true, \"Exposure\" is automatically adjusted.") }, { "AutoShadows", N_("Auto Shadows"), "Boolean", xmpText, xmpExternal, N_("When true,\"Shadows\" is automatically adjusted.") }, { "BlueHue", N_("Blue Hue"), "Integer", xmpText, xmpExternal, N_("\"Blue Hue\" setting. Range -100 to 100.") }, { "BlueSaturation", N_("Blue Saturation"), "Integer", xmpText, xmpExternal, N_("\"Blue Saturation\" setting. Range -100 to +100.") }, { "Brightness", N_("Brightness"), "Integer", xmpText, xmpExternal, N_("\"Brightness\" setting. Range 0 to +150.") }, { "CameraProfile", N_("Camera Profile"), "Text", xmpText, xmpExternal, N_("\"Camera Profile\" setting.") }, { "ChromaticAberrationB", N_("Chromatic Aberration Blue"), "Integer", xmpText, xmpExternal, N_("\"Chromatic Aberration, Fix Blue/Yellow Fringe\" setting. Range -100 to +100.") }, { "ChromaticAberrationR", N_("Chromatic Aberration Red"), "Integer", xmpText, xmpExternal, N_("\"Chromatic Aberration, Fix Red/Cyan Fringe\" setting. Range -100 to +100.") }, { "ColorNoiseReduction", N_("Color Noise Reduction"), "Integer", xmpText, xmpExternal, N_("\"Color Noise Reduction\" setting. Range 0 to +100.") }, { "Contrast", N_("Contrast"), "Integer", xmpText, xmpExternal, N_("\"Contrast\" setting. Range -50 to +100.") }, { "CropTop", N_("Crop Top"), "Real", xmpText, xmpExternal, N_("When \"Has Crop\" is true, top of crop rectangle") }, { "CropLeft", N_("Crop Left"), "Real", xmpText, xmpExternal, N_("When \"Has Crop\" is true, left of crop rectangle.") }, { "CropBottom", N_("Crop Bottom"), "Real", xmpText, xmpExternal, N_("When \"Has Crop\" is true, bottom of crop rectangle.") }, { "CropRight", N_("Crop Right"), "Real", xmpText, xmpExternal, N_("When \"Has Crop\" is true, right of crop rectangle.") }, { "CropAngle", N_("Crop Angle"), "Real", xmpText, xmpExternal, N_("When \"Has Crop\" is true, angle of crop rectangle.") }, { "CropWidth", N_("Crop Width"), "Real", xmpText, xmpExternal, N_("Width of resulting cropped image in CropUnits units.") }, { "CropHeight", N_("Crop Height"), "Real", xmpText, xmpExternal, N_("Height of resulting cropped image in CropUnits units.") }, { "CropUnits", N_("Crop Units"), "Integer", xmpText, xmpExternal, N_("Units for CropWidth and CropHeight. 0=pixels, 1=inches, 2=cm") }, { "Exposure", N_("Exposure"), "Real", xmpText, xmpExternal, N_("\"Exposure\" setting. Range -4.0 to +4.0.") }, { "GreenHue", N_("Green Hue"), "Integer", xmpText, xmpExternal, N_("\"Green Hue\" setting. Range -100 to +100.") }, { "GreenSaturation", N_("Green Saturation"), "Integer", xmpText, xmpExternal, N_("\"Green Saturation\" setting. Range -100 to +100.") }, { "HasCrop", N_("Has Crop"), "Boolean", xmpText, xmpExternal, N_("When true, image has a cropping rectangle.") }, { "HasSettings", N_("Has Settings"), "Boolean", xmpText, xmpExternal, N_("When true, non-default camera raw settings.") }, { "LuminanceSmoothing", N_("Luminance Smoothing"), "Integer", xmpText, xmpExternal, N_("\"Luminance Smoothing\" setting. Range 0 to +100.") }, { "RawFileName", N_("Raw File Name"), "Text", xmpText, xmpInternal, N_("File name of raw file (not a complete path).") }, { "RedHue", N_("Red Hue"), "Integer", xmpText, xmpExternal, N_("\"Red Hue\" setting. Range -100 to +100.") }, { "RedSaturation", N_("Red Saturation"), "Integer", xmpText, xmpExternal, N_("\"Red Saturation\" setting. Range -100 to +100.") }, { "Saturation", N_("Saturation"), "Integer", xmpText, xmpExternal, N_("\"Saturation\" setting. Range -100 to +100.") }, { "Shadows", N_("Shadows"), "Integer", xmpText, xmpExternal, N_("\"Shadows\" setting. Range 0 to +100.") }, { "ShadowTint", N_("Shadow Tint"), "Integer", xmpText, xmpExternal, N_("\"Shadow Tint\" setting. Range -100 to +100.") }, { "Sharpness", N_("Sharpness"), "Integer", xmpText, xmpExternal, N_("\"Sharpness\" setting. Range 0 to +100.") }, { "Temperature", N_("Temperature"), "Integer", xmpText, xmpExternal, N_("\"Temperature\" setting. Range 2000 to 50000.") }, { "Tint", N_("Tint"), "Integer", xmpText, xmpExternal, N_("\"Tint\" setting. Range -150 to +150.") }, { "ToneCurve", N_("Tone Curve"), "Seq of points (Integer, Integer)", xmpText, xmpExternal, N_("Array of points (Integer, Integer) defining a \"Tone Curve\".") }, { "ToneCurveName", N_("Tone Curve Name"), "Choice Text", xmpText, xmpInternal, N_("The name of the Tone Curve described by ToneCurve. One of: Linear, Medium Contrast, " "Strong Contrast, Custom or a user-defined preset name.") }, { "Version", N_("Version"), "Text", xmpText, xmpInternal, N_("Version of Camera Raw plugin.") }, { "VignetteAmount", N_("Vignette Amount"), "Integer", xmpText, xmpExternal, N_("\"Vignetting Amount\" setting. Range -100 to +100.") }, { "VignetteMidpoint", N_("Vignette Midpoint"), "Integer", xmpText, xmpExternal, N_("\"Vignetting Midpoint\" setting. Range 0 to +100.") }, { "WhiteBalance", N_("White Balance"), "Closed Choice Text", xmpText, xmpExternal, N_("\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, Tungsten, " "Fluorescent, Flash, Custom") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpTiffInfo[] = { { "ImageWidth", N_("Image Width"), "Integer", xmpText, xmpInternal, N_("TIFF tag 256, 0x100. Image width in pixels.") }, { "ImageLength", N_("Image Length"), "Integer", xmpText, xmpInternal, N_("TIFF tag 257, 0x101. Image height in pixels.") }, { "BitsPerSample", N_("Bits Per Sample"), "seq Integer", xmpSeq, xmpInternal, N_("TIFF tag 258, 0x102. Number of bits per component in each channel.") }, { "Compression", N_("Compression"), "Closed Choice of Integer", xmpText, xmpInternal, N_("TIFF tag 259, 0x103. Compression scheme: 1 = uncompressed; 6 = JPEG.") }, { "PhotometricInterpretation", N_("Photometric Interpretation"), "Closed Choice of Integer", xmpText, xmpInternal, N_("TIFF tag 262, 0x106. Pixel Composition: 2 = RGB; 6 = YCbCr.") }, { "Orientation", N_("Orientation"), "Closed Choice of Integer", xmpText, xmpInternal, N_("TIFF tag 274, 0x112. Orientation:" "1 = 0th row at top, 0th column at left " "2 = 0th row at top, 0th column at right " "3 = 0th row at bottom, 0th column at right " "4 = 0th row at bottom, 0th column at left " "5 = 0th row at left, 0th column at top " "6 = 0th row at right, 0th column at top " "7 = 0th row at right, 0th column at bottom " "8 = 0th row at left, 0th column at bottom") }, { "SamplesPerPixel", N_("Samples Per Pixel"), "Integer", xmpText, xmpInternal, N_("TIFF tag 277, 0x115. Number of components per pixel.") }, { "PlanarConfiguration", N_("Planar Configuration"), "Closed Choice of Integer", xmpText, xmpInternal, N_("TIFF tag 284, 0x11C. Data layout:1 = chunky; 2 = planar.") }, { "YCbCrSubSampling", N_("YCbCr Sub Sampling"), "Closed Choice of seq Integer", xmpSeq, xmpInternal, N_("TIFF tag 530, 0x212. Sampling ratio of chrominance " "components: [2, 1] = YCbCr4:2:2; [2, 2] = YCbCr4:2:0") }, { "YCbCrPositioning", N_("YCbCr Positioning"), "Closed Choice of Integer", xmpText, xmpInternal, N_("TIFF tag 531, 0x213. Position of chrominance vs. " "luminance components: 1 = centered; 2 = co-sited.") }, { "XResolution", N_("X Resolution"), "Rational", xmpText, xmpInternal, N_("TIFF tag 282, 0x11A. Horizontal resolution in pixels per unit.") }, { "YResolution", N_("Y Resolution"), "Rational", xmpText, xmpInternal, N_("TIFF tag 283, 0x11B. Vertical resolution in pixels per unit.") }, { "ResolutionUnit", N_("Resolution Unit"), "Closed Choice of Integer", xmpText, xmpInternal, N_("TIFF tag 296, 0x128. Unit used for XResolution and " "YResolution. Value is one of: 2 = inches; 3 = centimeters.") }, { "TransferFunction", N_("Transfer Function"), "seq Integer", xmpSeq, xmpInternal, N_("TIFF tag 301, 0x12D. Transfer function for image " "described in tabular style with 3 * 256 entries.") }, { "WhitePoint", N_("White Point"), "seq Rational", xmpSeq, xmpInternal, N_("TIFF tag 318, 0x13E. Chromaticity of white point.") }, { "PrimaryChromaticities", N_("Primary Chromaticities"), "seq Rational", xmpSeq, xmpInternal, N_("TIFF tag 319, 0x13F. Chromaticity of the three primary colors.") }, { "YCbCrCoefficients", N_("YCbCr Coefficients"), "seq Rational", xmpSeq, xmpInternal, N_("TIFF tag 529, 0x211. Matrix coefficients for RGB to YCbCr transformation.") }, { "ReferenceBlackWhite", N_("Reference Black White"), "seq Rational", xmpSeq, xmpInternal, N_("TIFF tag 532, 0x214. Reference black and white point values.") }, { "DateTime", N_("Date and Time"), "Date", xmpText, xmpInternal, N_("TIFF tag 306, 0x132 (primary) and EXIF tag 37520, " "0x9290 (subseconds). Date and time of image creation " "(no time zone in EXIF), stored in ISO 8601 format, not " "the original EXIF format. This property includes the " "value for the EXIF SubSecTime attribute. " "NOTE: This property is stored in XMP as xmp:ModifyDate.") }, { "ImageDescription", N_("Image Description"), "Lang Alt", langAlt, xmpExternal, N_("TIFF tag 270, 0x10E. Description of the image. Note: This property is stored in XMP as dc:description.") }, { "Make", N_("Make"), "ProperName", xmpText, xmpInternal, N_("TIFF tag 271, 0x10F. Manufacturer of recording equipment.") }, { "Model", N_("Model"), "ProperName", xmpText, xmpInternal, N_("TIFF tag 272, 0x110. Model name or number of equipment.") }, { "Software", N_("Software"), "AgentName", xmpText, xmpInternal, N_("TIFF tag 305, 0x131. Software or firmware used to generate image. " "Note: This property is stored in XMP as xmp:CreatorTool. ") }, { "Artist", N_("Artist"), "ProperName", xmpText, xmpExternal, N_("TIFF tag 315, 0x13B. Camera owner, photographer or image creator. " "Note: This property is stored in XMP as the first item in the dc:creator array.") }, { "Copyright", N_("Copyright"), "Lang Alt", langAlt, xmpExternal, N_("TIFF tag 33432, 0x8298. Copyright information. " "Note: This property is stored in XMP as dc:rights.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpExifInfo[] = { { "ExifVersion", N_("Exif Version"), "Closed Choice of Text", xmpText, xmpInternal, N_("EXIF tag 36864, 0x9000. EXIF version number.") }, { "FlashpixVersion", N_("Flashpix Version"), "Closed Choice of Text", xmpText, xmpInternal, N_("EXIF tag 40960, 0xA000. Version of FlashPix.") }, { "ColorSpace", N_("Color Space"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 40961, 0xA001. Color space information") }, { "ComponentsConfiguration", N_("Components Configuration"), "Closed Choice of seq Integer", xmpSeq, xmpInternal, N_("EXIF tag 37121, 0x9101. Configuration of components in data: 4 5 6 0 (if RGB compressed data), " "1 2 3 0 (other cases).") }, { "CompressedBitsPerPixel", N_("Compressed Bits Per Pixel"), "Rational", xmpText, xmpInternal, N_("EXIF tag 37122, 0x9102. Compression mode used for a compressed image is indicated " "in unit bits per pixel.") }, { "PixelXDimension", N_("Pixel X Dimension"), "Integer", xmpText, xmpInternal, N_("EXIF tag 40962, 0xA002. Valid image width, in pixels.") }, { "PixelYDimension", N_("Pixel Y Dimension"), "Integer", xmpText, xmpInternal, N_("EXIF tag 40963, 0xA003. Valid image height, in pixels.") }, { "UserComment", N_("User Comment"), "Lang Alt", langAlt, xmpExternal, N_("EXIF tag 37510, 0x9286. Comments from user.") }, { "RelatedSoundFile", N_("Related Sound File"), "Text", xmpText, xmpInternal, N_("EXIF tag 40964, 0xA004. An \"8.3\" file name for the related sound file.") }, { "DateTimeOriginal", N_("Date and Time Original"), "Date", xmpText, xmpInternal, N_("EXIF tags 36867, 0x9003 (primary) and 37521, 0x9291 (subseconds). " "Date and time when original image was generated, in ISO 8601 format. " "Includes the EXIF SubSecTimeOriginal data.") }, { "DateTimeDigitized", N_("Date and Time Digitized"), "Date", xmpText, xmpInternal, N_("EXIF tag 36868, 0x9004 (primary) and 37522, 0x9292 (subseconds). Date and time when " "image was stored as digital data, can be the same as DateTimeOriginal if originally " "stored in digital form. Stored in ISO 8601 format. Includes the EXIF " "SubSecTimeDigitized data.") }, { "ExposureTime", N_("Exposure Time"), "Rational", xmpText, xmpInternal, N_("EXIF tag 33434, 0x829A. Exposure time in seconds.") }, { "FNumber", N_("F Number"), "Rational", xmpText, xmpInternal, N_("EXIF tag 33437, 0x829D. F number.") }, { "ExposureProgram", N_("Exposure Program"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 34850, 0x8822. Class of program used for exposure.") }, { "SpectralSensitivity", N_("Spectral Sensitivity"), "Text", xmpText, xmpInternal, N_("EXIF tag 34852, 0x8824. Spectral sensitivity of each channel.") }, { "ISOSpeedRatings", N_("ISOSpeedRatings"), "seq Integer", xmpSeq, xmpInternal, N_("EXIF tag 34855, 0x8827. ISO Speed and ISO Latitude of the input device as " "specified in ISO 12232.") }, { "OECF", N_("OECF"), "OECF/SFR", xmpText, xmpInternal, N_("EXIF tag 34856, 0x8828. Opto-Electoric Conversion Function as specified in ISO 14524.") }, { "ShutterSpeedValue", N_("Shutter Speed Value"), "Rational", xmpText, xmpInternal, N_("EXIF tag 37377, 0x9201. Shutter speed, unit is APEX. See Annex C of the EXIF specification.") }, { "ApertureValue", N_("Aperture Value"), "Rational", xmpText, xmpInternal, N_("EXIF tag 37378, 0x9202. Lens aperture, unit is APEX.") }, { "BrightnessValue", N_("Brightness Value"), "Rational", xmpText, xmpInternal, N_("EXIF tag 37379, 0x9203. Brightness, unit is APEX.") }, { "ExposureBiasValue", N_("Exposure Bias Value"), "Rational", xmpText, xmpInternal, N_("EXIF tag 37380, 0x9204. Exposure bias, unit is APEX.") }, { "MaxApertureValue", N_("Maximum Aperture Value"), "Rational", xmpText, xmpInternal, N_("EXIF tag 37381, 0x9205. Smallest F number of lens, in APEX.") }, { "SubjectDistance", N_("Subject Distance"), "Rational", xmpText, xmpInternal, N_("EXIF tag 37382, 0x9206. Distance to subject, in meters.") }, { "MeteringMode", N_("Metering Mode"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 37383, 0x9207. Metering mode.") }, { "LightSource", N_("Light Source"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 37384, 0x9208. Light source.") }, { "Flash", N_("Flash"), "Flash", xmpText, xmpInternal, N_("EXIF tag 37385, 0x9209. Strobe light (flash) source data.") }, { "FocalLength", N_("Focal Length"), "Rational", xmpText, xmpInternal, N_("EXIF tag 37386, 0x920A. Focal length of the lens, in millimeters.") }, { "SubjectArea", N_("Subject Area"), "seq Integer", xmpSeq, xmpInternal, N_("EXIF tag 37396, 0x9214. The location and area of the main subject in the overall scene.") }, { "FlashEnergy", N_("Flash Energy"), "Rational", xmpText, xmpInternal, N_("EXIF tag 41483, 0xA20B. Strobe energy during image capture.") }, { "SpatialFrequencyResponse", N_("Spatial Frequency Response"), "OECF/SFR", xmpText, xmpInternal, N_("EXIF tag 41484, 0xA20C. Input device spatial frequency table and SFR values as " "specified in ISO 12233.") }, { "FocalPlaneXResolution", N_("Focal Plane X Resolution"), "Rational", xmpText, xmpInternal, N_("EXIF tag 41486, 0xA20E. Horizontal focal resolution, measured pixels per unit.") }, { "FocalPlaneYResolution", N_("Focal Plane Y Resolution"), "Rational", xmpText, xmpInternal, N_("EXIF tag 41487, 0xA20F. Vertical focal resolution, measured in pixels per unit.") }, { "FocalPlaneResolutionUnit", N_("Focal Plane Resolution Unit"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 41488, 0xA210. Unit used for FocalPlaneXResolution and FocalPlaneYResolution.") }, { "SubjectLocation", N_("Subject Location"), "seq Integer", xmpSeq, xmpInternal, N_("EXIF tag 41492, 0xA214. Location of the main subject of the scene. The first value is the " "horizontal pixel and the second value is the vertical pixel at which the " "main subject appears.") }, { "ExposureIndex", N_("Exposure Index"), "Rational", xmpText, xmpInternal, N_("EXIF tag 41493, 0xA215. Exposure index of input device.") }, { "SensingMethod", N_("Sensing Method"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 41495, 0xA217. Image sensor type on input device.") }, { "FileSource", N_("File Source"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 41728, 0xA300. Indicates image source.") }, { "SceneType", N_("Scene Type"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 41729, 0xA301. Indicates the type of scene.") }, { "CFAPattern", N_("CFA Pattern"), "CFAPattern", xmpText, xmpInternal, N_("EXIF tag 41730, 0xA302. Color filter array geometric pattern of the image sense.") }, { "CustomRendered", N_("Custom Rendered"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 41985, 0xA401. Indicates the use of special processing on image data.") }, { "ExposureMode", N_("Exposure Mode"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 41986, 0xA402. Indicates the exposure mode set when the image was shot.") }, { "WhiteBalance", N_("White Balance"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 41987, 0xA403. Indicates the white balance mode set when the image was shot.") }, { "DigitalZoomRatio", N_("Digital Zoom Ratio"), "Rational", xmpText, xmpInternal, N_("EXIF tag 41988, 0xA404. Indicates the digital zoom ratio when the image was shot.") }, { "FocalLengthIn35mmFilm", N_("Focal Length In 35mm Film"), "Integer", xmpText, xmpInternal, N_("EXIF tag 41989, 0xA405. Indicates the equivalent focal length assuming a 35mm film " "camera, in mm. A value of 0 means the focal length is unknown. Note that this tag " "differs from the FocalLength tag.") }, { "SceneCaptureType", N_("Scene Capture Type"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 41990, 0xA406. Indicates the type of scene that was shot.") }, { "GainControl", N_("Gain Control"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 41991, 0xA407. Indicates the degree of overall image gain adjustment.") }, { "Contrast", N_("Contrast"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 41992, 0xA408. Indicates the direction of contrast processing applied by the camera.") }, { "Saturation", N_("Saturation"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 41993, 0xA409. Indicates the direction of saturation processing applied by the camera.") }, { "Sharpness", N_("Sharpness"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 41994, 0xA40A. Indicates the direction of sharpness processing applied by the camera.") }, { "DeviceSettingDescription", N_("Device Setting Description"), "DeviceSettings", xmpText, xmpInternal, N_("EXIF tag 41995, 0xA40B. Indicates information on the picture-taking conditions of a particular camera model.") }, { "SubjectDistanceRange", N_("Subject Distance Range"), "Closed Choice of Integer", xmpText, xmpInternal, N_("EXIF tag 41996, 0xA40C. Indicates the distance to the subject.") }, { "ImageUniqueID", N_("Image Unique ID"), "Text", xmpText, xmpInternal, N_("EXIF tag 42016, 0xA420. An identifier assigned uniquely to each image. It is recorded as a 32 " "character ASCII string, equivalent to hexadecimal notation and 128-bit fixed length.") }, { "GPSVersionID", N_("GPS Version ID"), "Text", xmpText, xmpInternal, N_("GPS tag 0, 0x00. A decimal encoding of each of the four EXIF bytes with period separators. " "The current value is \"2.0.0.0\".") }, { "GPSLatitude", N_("GPS Latitude"), "GPSCoordinate", xmpText, xmpInternal, N_("GPS tag 2, 0x02 (position) and 1, 0x01 (North/South). Indicates latitude.") }, { "GPSLongitude", N_("GPS Longitude"), "GPSCoordinate", xmpText, xmpInternal, N_("GPS tag 4, 0x04 (position) and 3, 0x03 (East/West). Indicates longitude.") }, { "GPSAltitudeRef", N_("GPS Altitude Reference"), "Closed Choice of Integer", xmpText, xmpInternal, N_("GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level.") }, { "GPSAltitude", N_("GPS Altitude"), "Rational", xmpText, xmpInternal, N_("GPS tag 6, 0x06. Indicates altitude in meters.") }, { "GPSTimeStamp", N_("GPS Time Stamp"), "Date", xmpText, xmpInternal, N_("GPS tag 29 (date), 0x1D, and, and GPS tag 7 (time), 0x07. Time stamp of GPS data, " "in Coordinated Universal Time. Note: The GPSDateStamp tag is new in EXIF 2.2. " "The GPS timestamp in EXIF 2.1 does not include a date. If not present, " "the date component for the XMP should be taken from exif:DateTimeOriginal, or if that is " "also lacking from exif:DateTimeDigitized. If no date is available, do not write " "exif:GPSTimeStamp to XMP.") }, { "GPSSatellites", N_("GPS Satellites"), "Text", xmpText, xmpInternal, N_("GPS tag 8, 0x08. Satellite information, format is unspecified.") }, { "GPSStatus", N_("GPS Status"), "Closed Choice of Text", xmpText, xmpInternal, N_("GPS tag 9, 0x09. Status of GPS receiver at image creation time.") }, { "GPSMeasureMode", N_("GPS Measure Mode"), "Text", xmpText, xmpInternal, N_("GPS tag 10, 0x0A. GPS measurement mode, Text type.") }, { "GPSDOP", N_("GPS DOP"), "Rational", xmpText, xmpInternal, N_("GPS tag 11, 0x0B. Degree of precision for GPS data.") }, { "GPSSpeedRef", N_("GPS Speed Reference"), "Closed Choice of Text", xmpText, xmpInternal, N_("GPS tag 12, 0x0C. Units used to speed measurement.") }, { "GPSSpeed", N_("GPS Speed"), "Rational", xmpText, xmpInternal, N_("GPS tag 13, 0x0D. Speed of GPS receiver movement.") }, { "GPSTrackRef", N_("GPS Track Reference"), "Closed Choice of Text", xmpText, xmpInternal, N_("GPS tag 14, 0x0E. Reference for movement direction.") }, { "GPSTrack", N_("GPS Track"), "Rational", xmpText, xmpInternal, N_("GPS tag 15, 0x0F. Direction of GPS movement, values range from 0 to 359.99.") }, { "GPSImgDirectionRef", N_("GPS Image Direction Reference"), "Closed Choice of Text", xmpText, xmpInternal, N_("GPS tag 16, 0x10. Reference for image direction.") }, { "GPSImgDirection", N_("GPS Image Direction"), "Rational", xmpText, xmpInternal, N_("GPS tag 17, 0x11. Direction of image when captured, values range from 0 to 359.99.") }, { "GPSMapDatum", N_("GPS Map Datum"), "Text", xmpText, xmpInternal, N_("GPS tag 18, 0x12. Geodetic survey data.") }, { "GPSDestLatitude", N_("GPS Destination Latitude"), "GPSCoordinate", xmpText, xmpInternal, N_("GPS tag 20, 0x14 (position) and 19, 0x13 (North/South). Indicates destination latitude.") }, { "GPSDestLongitude", N_("GPS Destination Longitude"), "GPSCoordinate", xmpText, xmpInternal, N_("GPS tag 22, 0x16 (position) and 21, 0x15 (East/West). Indicates destination longitude.") }, { "GPSDestBearingRef", N_("GPS Destination Bearing Reference"), "Closed Choice of Text", xmpText, xmpInternal, N_("GPS tag 23, 0x17. Reference for movement direction.") }, { "GPSDestBearing", N_("GPS Destination Bearing"), "Rational", xmpText, xmpInternal, N_("GPS tag 24, 0x18. Destination bearing, values from 0 to 359.99.") }, { "GPSDestDistanceRef", N_("GPS Destination Distance Reference"), "Closed Choice of Text", xmpText, xmpInternal, N_("GPS tag 25, 0x19. Units used for speed measurement.") }, { "GPSDestDistance", N_("GPS Destination Distance"), "Rational", xmpText, xmpInternal, N_("GPS tag 26, 0x1A. Distance to destination.") }, { "GPSProcessingMethod", N_("GPS Processing Method"), "Text", xmpText, xmpInternal, N_("GPS tag 27, 0x1B. A character string recording the name of the method used for location finding.") }, { "GPSAreaInformation", N_("GPS Area Information"), "Text", xmpText, xmpInternal, N_("GPS tag 28, 0x1C. A character string recording the name of the GPS area.") }, { "GPSDifferential", N_("GPS Differential"), "Closed Choice of Integer", xmpText, xmpInternal, N_("GPS tag 30, 0x1E. Indicates whether differential correction is applied to the GPS receiver.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpAuxInfo[] = { { "Lens", N_("Lens"), "Text", xmpText, xmpInternal, N_("A description of the lens used to take the photograph. For example, \"70-200 mm f/2.8-4.0\".") }, { "SerialNumber", N_("Serial Number"), "Text", xmpText, xmpInternal, N_("The serial number of the camera or camera body used to take the photograph.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpIptcInfo[] = { { "CreatorContactInfo", N_("Creator's Contact Info"), "ContactInfo", xmpText, xmpExternal, N_("The creator's contact information provides all necessary information to get in contact " "with the creator of this news object and comprises a set of sub-properties for proper addressing.") }, { "CiAdrExtadr", N_("Contact Info-Address"), "Text", xmpText, xmpExternal, N_("sub-key Creator Contact Info: address. Comprises an optional company name and all required " "information to locate the building or postbox to which mail should be sent.") }, { "CiAdrCity", N_("Contact Info-City"), "Text", xmpText, xmpExternal, N_("sub-key Creator Contact Info: city.") }, { "CiAdrRegion", N_("Contact Info-State/Province"), "Text", xmpText, xmpExternal, N_("sub-key Creator Contact Info: state or province.") }, { "CiAdrPcode", N_("Contact Info-Postal Code"), "Text", xmpText, xmpExternal, N_("sub-key Creator Contact Info: local postal code.") }, { "CiAdrCtry", N_("Contact Info-Country"), "Text", xmpText, xmpExternal, N_("sub-key Creator Contact Info: country.") }, { "CiEmailWork", N_("Contact Info-Email"), "Text", xmpText, xmpExternal, N_("sub-key Creator Contact Info: email address.") }, { "CiTelWork", N_("Contact Info-Phone"), "Text", xmpText, xmpExternal, N_("sub-key Creator Contact Info: phone number.") }, { "CiUrlWork", N_("Contact Info-Web URL"), "Text", xmpText, xmpExternal, N_("sub-key Creator Contact Info: web address.") }, { "IntellectualGenre", N_("Intellectual Genre"), "Text", xmpText, xmpExternal, N_("Describes the nature, intellectual or journalistic characteristic of a news object, not " "specifically its content.") }, { "Scene", N_("IPTC Scene"), "bag closed Choice of Text", xmpBag, xmpExternal, N_("Describes the scene of a photo content. Specifies one or more terms from the IPTC " "\"Scene-NewsCodes\". Each Scene is represented as a string of 6 digits in an unordered list.") }, { "SubjectCode", N_("IPTC Subject Code"), "bag closed Choice of Text", xmpBag, xmpExternal, N_("Specifies one or more Subjects from the IPTC \"Subject-NewsCodes\" taxonomy to " "categorize the content. Each Subject is represented as a string of 8 digits in an unordered list.") }, { "Location", N_("Location"), "Text", xmpText, xmpExternal, N_("(legacy) Name of a location the content is focussing on -- either the location shown in visual " "media or referenced by text or audio media. This location name could either be the name " "of a sublocation to a city or the name of a well known location or (natural) monument " "outside a city. In the sense of a sublocation to a city this element is at the fourth " "level of a top-down geographical hierarchy.") }, { "CountryCode", N_("Country Code"), "closed Choice of Text", xmpText, xmpExternal, N_("(legacy) Code of the country the content is focussing on -- either the country shown in visual " "media or referenced in text or audio media. This element is at the top/first level of " "a top-down geographical hierarchy. The code should be taken from ISO 3166 two or three " "letter code. The full name of a country should go to the \"Country\" element.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpIptcExtInfo[] = { { "AddlModelInfo", N_("Additional model info"), "Text", xmpText, xmpExternal, N_("Information about the ethnicity and other facts of the model(s) in a model-released image.") }, { "OrganisationInImageCode", N_("Code of featured Organisation"), "bag Text", xmpBag, xmpExternal, N_("Code from controlled vocabulary for identifying the organisation or company which is featured in the image.") }, { "CVterm", N_("Controlled Vocabulary Term"), "bag URI", xmpBag, xmpExternal, N_("A term to describe the content of the image by a value from a Controlled Vocabulary.") }, { "ModelAge", N_("Model age"), "bag Integer", xmpBag, xmpExternal, N_("Age of the human model(s) at the time this image was taken in a model released image.") }, { "OrganisationInImageName", N_("Name of featured Organisation"), "bag Text", xmpBag, xmpExternal, N_("Name of the organisation or company which is featured in the image.") }, { "PersonInImage", N_("Person shown"), "bag Text", xmpBag, xmpExternal, N_("Name of a person shown in the image.") }, { "DigImageGUID", N_("Digital Image Identifier"), "Text", xmpText, xmpExternal, N_("Globally unique identifier for this digital image. It is created and applied by the creator of the digital image at the time of its creation. this value shall not be changed after that time.") }, { "DigitalSourcefileType", N_("Physical type of original photo"), "URI", xmpText, xmpExternal, N_("The type of the source digital file.") }, { "Event", N_("Event"), "Lang Alt", langAlt, xmpExternal, N_("Names or describes the specific event at which the photo was taken.") }, { "MaxAvailHeight", N_("Maximum available height"), "Integer", xmpText, xmpExternal, N_("The maximum available height in pixels of the original photo from which this photo has been derived by downsizing.") }, { "MaxAvailWidth", N_("Maximum available width"), "Integer", xmpText, xmpExternal, N_("The maximum available width in pixels of the original photo from which this photo has been derived by downsizing.") }, { "RegistryId", N_("Registry Entry"), "bag RegistryEntryDetails", xmpBag, xmpExternal, N_("Both a Registry Item Id and a Registry Organisation Id to record any registration of this digital image with a registry.") }, { "RegItemId", N_("Registry Entry-Item Identifier"), "Text", xmpText, xmpExternal, N_("A unique identifier created by a registry and applied by the creator of the digital image. This value shall not be changed after being applied. This identifier is linked to a corresponding Registry Organisation Identifier.") }, { "RegOrgId", N_("Registry Entry-Organisation Identifier"), "Text", xmpText, xmpExternal, N_("An identifier for the registry which issued the corresponding Registry Image Id.") }, { "IptcLastEdited", N_("IPTC Fields Last Edited"), "Date", xmpText, xmpExternal, N_("The date and optionally time when any of the IPTC photo metadata fields has been last edited.") }, { "LocationShown", N_("Location shown"), "bag LocationDetails", xmpBag, xmpExternal, N_("A location shown in the image.") }, { "LocationCreated", N_("Location Created"), "bag LocationDetails", xmpBag, xmpExternal, N_("The location the photo was taken.") }, { "City", N_("Location-City"), "Text", xmpText, xmpExternal, N_("Name of the city of a location.") }, { "CountryCode", N_("Location-Country ISO-Code"), "Text", xmpText, xmpExternal, N_("The ISO code of a country of a location.") }, { "CountryName", N_("Location-Country Name"), "Text", xmpText, xmpExternal, N_("The name of a country of a location.") }, { "ProvinceState", N_("Location-Province/State"), "Text", xmpText, xmpExternal, N_("The name of a subregion of a country - a province or state - of a location.") }, { "Sublocation", N_("Location-Sublocation"), "Text", xmpText, xmpExternal, N_("Name of a sublocation. This sublocation name could either be the name of a sublocation to a city or the name of a well known location or (natural) monument outside a city.") }, { "WorldRegion", N_("Location-World Region"), "Text", xmpText, xmpExternal, N_("The name of a world region of a location.") }, { "ArtworkOrObject", N_("Artwork or object in the image"), "bag ArtworkOrObjectDetails", xmpBag, xmpExternal, N_("A set of metadata about artwork or an object in the image.") }, { "AOCopyrightNotice", N_("Artwork or object-Copyright notice"), "Text", xmpText, xmpExternal, N_("Contains any necessary copyright notice for claiming the intellectual property for artwork or an object in the image and should identify the current owner of the copyright of this work with associated intellectual property rights.") }, { "AOCreator", N_("Artwork or object-Creator"), "seq ProperName", xmpSeq, xmpExternal, N_("Contains the name of the artist who has created artwork or an object in the image. In cases where the artist could or should not be identified the name of a company or organisation may be appropriate.") }, { "AODateCreated", N_("Artwork or object-Date Created"), "Date", xmpText, xmpExternal, N_("Designates the date and optionally the time the artwork or object in the image was created. This relates to artwork or objects with associated intellectual property rights.") }, { "AOSource", N_("Artwork or object-Source"), "Text", xmpText, xmpExternal, N_("The organisation or body holding and registering the artwork or object in the image for inventory purposes.") }, { "AOSourceInvNo", N_("Artwork or object-Source inventory number"), "Text", xmpText, xmpExternal, N_("The inventory number issued by the organisation or body holding and registering the artwork or object in the image.") }, { "AOTitle", N_("Artwork or object-Title"), "Lang Alt", langAlt, xmpExternal, N_("A reference for the artwork or object in the image.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; //! XMP iptcExt:DigitalSourcefileType extern const TagVocabulary iptcExtDigitalSourcefileType[] = { { "scanfilm", N_("Scan from film") }, { "scantransparency", N_("Scan from transparency (including slide)") }, { "scanprint", N_("Scan from print") }, { "cameraraw", N_("Camera RAW") }, { "cameratiff", N_("Camera TIFF") }, { "camerajpeg", N_("Camera JPEG") } }; extern const XmpPropertyInfo xmpPlusInfo[] = { // PLUS Version 1.2.0 { "Version", N_("PLUS Version"), "Text", xmpText, xmpExternal, N_("The version number of the PLUS standards in place at the time of the transaction.") }, { "Licensee", N_("Licensee"), "seq LicenseeDetail", xmpSeq, xmpExternal, N_("Party or parties to whom the license is granted by the Licensor/s under the license transaction.") }, { "LicenseeID", N_("Licensee ID"), "Text", xmpText, xmpExternal, N_("Optional PLUS-ID identifying each Licensee.") }, { "LicenseeName", N_("Licensee Name"), "ProperName", xmpText, xmpExternal, N_("Name of each Licensee.") }, { "EndUser", N_("End User"), "seq EndUserDetail", xmpSeq, xmpExternal, N_("Party or parties ultimately making use of the image under the license.") }, { "EndUserID", N_("End User ID"), "Text", xmpText, xmpExternal, N_("Optional PLUS-ID identifying each End User.") }, { "EndUserName", N_("End User Name"), "ProperName", xmpText, xmpExternal, N_("Name of each End User.") }, { "Licensor", N_("Licensor"), "seq LicensorDetail", xmpSeq, xmpExternal, N_("Party or parties granting the license to the Licensee.") }, { "LicensorID", N_("Licensor ID"), "Text", xmpText, xmpExternal, N_("Optional PLUS-ID identifying each Licensor.") }, { "LicensorName", N_("Licensor Name"), "ProperName", xmpText, xmpExternal, N_("Name of each Licensor.") }, { "LicensorStreetAddress", N_("Licensor Address"), "Text", xmpText, xmpExternal, N_("Licensor street address.") }, { "LicensorExtendedAddress", N_("Licensor Address Detail"), "Text", xmpText, xmpExternal, N_("Additional Licensor mailing address details.") }, { "LicensorCity", N_("Licensor City"), "Text", xmpText, xmpExternal, N_("Licensor City name.") }, { "LicensorRegion", N_("Licensor State or Province"), "Text", xmpText, xmpExternal, N_("Licensor State or Province name.") }, { "LicensorPostalCode", N_("Licensor Postal Code"), "Text", xmpText, xmpExternal, N_("Licensor Postal Code or Zip Code.") }, { "LicensorCountry", N_("Licensor Country"), "Text", xmpText, xmpExternal, N_("Licensor Country name.") }, { "LicensorTelephoneType1", N_("Licensor Telephone Type 1"), "URL", xmpText, xmpExternal, N_("Licensor Telephone Type 1.") }, { "LicensorTelephone1", N_("Licensor Telephone 1"), "Text", xmpText, xmpExternal, N_("Licensor Telephone number 1.") }, { "LicensorTelephoneType2", N_("Licensor Telephone Type 2"), "URL", xmpText, xmpExternal, N_("Licensor Telephone Type 2.") }, { "LicensorTelephone2", N_("Licensor Telephone 2"), "Text", xmpText, xmpExternal, N_("Licensor Telephone number 2.") }, { "LicensorEmail", N_("Licensor Email"), "Text", xmpText, xmpExternal, N_("Licensor Email address.") }, { "LicensorURL", N_("Licensor URL"), "URL", xmpText, xmpExternal, N_("Licensor world wide web address.") }, { "LicensorNotes", N_("Licensor Notes"), "Lang Alt", langAlt, xmpExternal, N_("Supplemental information for use in identifying and contacting the Licensor/s.") }, { "MediaSummaryCode", N_("PLUS Media Summary Code"), "Text", xmpText, xmpExternal, N_("A PLUS-standardized alphanumeric code string summarizing the media usages included in the license.") }, { "LicenseStartDate", N_("License Start Date"), "Date", xmpText, xmpExternal, N_("The date on which the license takes effect.") }, { "LicenseEndDate", N_("License End Date"), "Date", xmpText, xmpExternal, N_("The date on which the license expires.") }, { "MediaConstraints", N_("Media Constraints"), "Lang Alt", langAlt, xmpExternal, N_("Constraints limiting the scope of PLUS Media Usage/s included in the license to particular named media or to media not yet specifically defined in the PLUS Media Matrix.") }, { "RegionConstraints", N_("Region Constraints"), "Lang Alt", langAlt, xmpExternal, N_("Constraints limiting the scope of geographic distribution to specific cities, states, provinces or other areas to be included in or excluded from the PLUS Regions specified in the Media Usages specified in the license.") }, { "ProductOrServiceConstraints", N_("Product or Service Constraints"), "Lang Alt", langAlt, xmpExternal, N_("Constraints limiting usage of the image to promotion of/association with a named product or service.") }, { "ImageFileConstraints", N_("Image File Constraints"), "bag URL", xmpBag, xmpExternal, N_("Constraints on the changing of the image file name, metadata or file type.") }, { "ImageAlterationConstraints", N_("Image Alteration Constraints"), "bag URL", xmpBag, xmpExternal, N_("Constraints on alteration of the image by cropping, flipping, retouching, colorization, de-colorization or merging.") }, { "ImageDuplicationConstraints", N_("Image Duplication Constraints"), "URL", xmpText, xmpExternal, N_("Constraints on the creation of duplicates of the image.") }, { "ModelReleaseStatus", N_("Model Release Status"), "URL", xmpText, xmpExternal, N_("Summarizes the availability and scope of model releases authorizing usage of the likenesses of persons appearing in the photograph.") }, { "ModelReleaseID", N_("Model Release ID"), "bag Text", xmpBag, xmpExternal, N_("Optional identifier associated with each Model Release.") }, { "MinorModelAgeDisclosure", N_("Minor Model Age Disclosure"), "URL", xmpText, xmpExternal, N_("Age of the youngest model pictured in the image, at the time that the image was made.") }, { "PropertyReleaseStatus", N_("Property Release Status"), "URL", xmpText, xmpExternal, N_("Summarizes the availability and scope of property releases authorizing usage of the properties appearing in the photograph.") }, { "PropertyReleaseID", N_("Property Release ID"), "bag Text", xmpBag, xmpExternal, N_("Optional identifier associated with each Property Release.") }, { "OtherConstraints", N_("Other Constraints"), "Lang Alt", langAlt, xmpExternal, N_("Additional constraints on the license.") }, { "CreditLineRequired", N_("Credit Line Required"), "URL", xmpText, xmpExternal, N_("Attribution requirements, if any.") }, { "AdultContentWarning", N_("Adult Content Warning"), "URL", xmpText, xmpExternal, N_("Warning indicating the presence of content not suitable for minors.") }, { "OtherLicenseRequirements", N_("Other License Requirements"), "Lang Alt", langAlt, xmpExternal, N_("Additional license requirements.") }, { "TermsAndConditionsText", N_("Terms and Conditions Text"), "Lang Alt", langAlt, xmpExternal, N_("Terms and Conditions applying to the license.") }, { "TermsAndConditionsURL", N_("Terms and Conditions URL"), "URL", xmpText, xmpExternal, N_("URL for Terms and Conditions applying to the license.") }, { "OtherConditions", N_("Other License Conditions"), "Lang Alt", langAlt, xmpExternal, N_("Additional license conditions.") }, { "ImageType", N_("Image Type"), "URL", xmpText, xmpExternal, N_("Identifies the type of image delivered.") }, { "LicensorImageID", N_("Licensor Image ID"), "Text", xmpText, xmpExternal, N_("Optional identifier assigned by the Licensor to the image.") }, { "FileNameAsDelivered", N_("Image File Name As Delivered"), "Text", xmpText, xmpExternal, N_("Name of the image file delivered to the Licensee for use under the license.") }, { "ImageFileFormatAsDelivered", N_("Image File Format As Delivered"), "URL", xmpText, xmpExternal, N_("File format of the image file delivered to the Licensee for use under the license.") }, { "ImageFileSizeAsDelivered", N_("Image File Size As Delivered"), "URL", xmpText, xmpExternal, N_("Size of the image file delivered to the Licensee.") }, { "CopyrightStatus", N_("Copyright Status"), "URL", xmpText, xmpExternal, N_("Copyright status of the image.") }, { "CopyrightRegistrationNumber", N_("Copyright Registration Number"), "Text", xmpText, xmpExternal, N_("Copyright Registration Number, if any, applying to the licensed image.") }, { "FirstPublicationDate", N_("First Publication Date"), "Date", xmpText, xmpExternal, N_("The date on which the image was first published.") }, { "CopyrightOwner", N_("Copyright Owner"), "seq CopyrightOwnerDetail", xmpSeq, xmpExternal, N_("Owner or owners of the copyright in the licensed image.") }, { "CopyrightOwnerID", N_("Copyright Owner ID"), "Text", xmpText, xmpExternal, N_("Optional PLUS-ID identifying each Copyright Owner.") }, { "CopyrightOwnerName", N_("Copyright Owner Name"), "ProperName", xmpText, xmpExternal, N_("Name of Copyright Owner.") }, { "CopyrightOwnerImageID", N_("Copyright Owner Image ID"), "Text", xmpText, xmpExternal, N_("Optional identifier assigned by the Copyright Owner to the image.") }, { "ImageCreator", N_("Image Creator"), "seq ImageCreatorDetail", xmpSeq, xmpExternal, N_("Creator/s of the image.") }, { "ImageCreatorID", N_("Image Creator ID"), "Text", xmpText, xmpExternal, N_("Optional PLUS-ID identifying each Image Creator.") }, { "ImageCreatorName", N_("Image Creator Name"), "ProperName", xmpText, xmpExternal, N_("Name of Image Creator.") }, { "ImageCreatorImageID", N_("Image Creator Image ID"), "Text", xmpText, xmpExternal, N_("Optional identifier assigned by the Image Creator to the image.") }, { "ImageSupplierID", N_("Image Supplier ID"), "Text", xmpText, xmpExternal, N_("Optional PLUS-ID identifying the Image Supplier.") }, { "ImageSupplierName", N_("Image Supplier Name"), "ProperName", xmpText, xmpExternal, N_("Name of Image Supplier.") }, { "ImageSupplierImageID", N_("Image Supplier Image ID"), "Text", xmpText, xmpExternal, N_("Optional identifier assigned by the Image Supplier to the image.") }, { "LicenseeImageID", N_("Licensee Image ID"), "Text", xmpText, xmpExternal, N_("Optional identifier assigned by the Licensee to the image.") }, { "LicenseeImageNotes", N_("Licensee Image Notes"), "Lang Alt", langAlt, xmpExternal, N_("Notes added by Licensee.") }, { "OtherImageInfo", N_("Other Image Info"), "Lang Alt", langAlt, xmpExternal, N_("Additional image information.") }, { "LicenseID", N_("License ID"), "Text", xmpText, xmpExternal, N_("Optional PLUS-ID assigned by the Licensor to the License.") }, { "LicensorTransactionID", N_("Licensor Transaction ID"), "bag Text", xmpBag, xmpExternal, N_("Identifier assigned by Licensor for Licensor's reference and internal use.") }, { "LicenseeTransactionID", N_("Licensee Transaction ID"), "bag Text", xmpBag, xmpExternal, N_("Identifier assigned by Licensee for Licensee's reference and internal use.") }, { "LicenseeProjectReference", N_("Licensee Project Reference"), "bag Text", xmpBag, xmpExternal, N_("Project reference name or description assigned by Licensee.") }, { "LicenseTransactionDate", N_("License Transaction Date"), "Date", xmpText, xmpExternal, N_("The date of the License Transaction.") }, { "Reuse", N_("Reuse"), "URL", xmpText, xmpExternal, N_("Indicates whether a license is a repeat or an initial license. Reuse may require that licenses stored in files previously delivered to the customer be updated.") }, { "OtherLicenseDocuments", N_("Other License Documents"), "bag Text", xmpBag, xmpExternal, N_("Reference information for additional documents associated with the license.") }, { "OtherLicenseInfo", N_("Other License Info"), "Lang Alt", langAlt, xmpExternal, N_("Additional license information.") }, { "Custom1", N_("Custom 1"), "bag Lang Alt", xmpBag, xmpExternal, N_("Optional field for use at Licensor's discretion.") }, { "Custom2", N_("Custom 2"), "bag Lang Alt", xmpBag, xmpExternal, N_("Optional field for use at Licensor's discretion.") }, { "Custom3", N_("Custom 3"), "bag Lang Alt", xmpBag, xmpExternal, N_("Optional field for use at Licensor's discretion.") }, { "Custom4", N_("Custom 4"), "bag Lang Alt", xmpBag, xmpExternal, N_("Optional field for use at Licensor's discretion.") }, { "Custom5", N_("Custom 5"), "bag Lang Alt", xmpBag, xmpExternal, N_("Optional field for use at Licensor's discretion.") }, { "Custom6", N_("Custom 6"), "bag Lang Alt", xmpBag, xmpExternal, N_("Optional field for use at Licensee's discretion.") }, { "Custom7", N_("Custom 7"), "bag Lang Alt", xmpBag, xmpExternal, N_("Optional field for use at Licensee's discretion.") }, { "Custom8", N_("Custom 8"), "bag Lang Alt", xmpBag, xmpExternal, N_("Optional field for use at Licensee's discretion.") }, { "Custom9", N_("Custom 9"), "bag Lang Alt", xmpBag, xmpExternal, N_("Optional field for use at Licensee's discretion.") }, { "Custom10", N_("Custom 10"), "bag Lang Alt", xmpBag, xmpExternal, N_("Optional field for use at Licensee's discretion.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; //! XMP plus:AdultContentWarning extern const TagVocabulary plusAdultContentWarning[] = { { "CW-AWR", N_("Adult Content Warning Required") }, { "CW-NRQ", N_("Not Required") }, { "CW-UNK", N_("Unknown") } }; //! XMP plus:CopyrightStatus extern const TagVocabulary plusCopyrightStatus[] = { { "CS-PRO", N_("Protected") }, { "CS-PUB", N_("Public Domain") }, { "CS-UNK", N_("Unknown") } }; //! XMP plus:CreditLineRequired extern const TagVocabulary plusCreditLineRequired[] = { { "CR-CAI", N_("Credit Adjacent To Image") }, { "CR-CCA", N_("Credit in Credits Area") }, { "CR-COI", N_("Credit on Image") }, { "CR-NRQ", N_("Not Require") } }; //! XMP plus:ImageAlterationConstraints extern const TagVocabulary plusImageAlterationConstraints[] = { { "AL-CLR", N_("No Colorization") }, { "AL-CRP", N_("No Cropping") }, { "AL-DCL", N_("No De-Colorization") }, { "AL-FLP", N_("No Flipping") }, { "AL-MRG", N_("No Merging") }, { "AL-RET", N_("No Retouching") } }; //! XMP plus:ImageDuplicationConstraints extern const TagVocabulary plusImageDuplicationConstraints[] = { { "DP-LIC", N_("Duplication Only as Necessary Under License") }, { "DP-NDC", N_("No Duplication Constraints") }, { "DP-NOD", N_("No Duplication") } }; //! XMP plus:ImageFileConstraints extern const TagVocabulary plusImageFileConstraints[] = { { "IF-MFN", N_("Maintain File Name") }, { "IF-MFT", N_("Maintain File Type") }, { "IF-MID", N_("Maintain ID in File Name") }, { "IF-MMD", N_("Maintain Metadata") } }; //! XMP plus:ImageFileFormatAsDelivered extern const TagVocabulary plusImageFileFormatAsDelivered[] = { { "FF-BMP", N_("Windows Bitmap (BMP)") }, { "FF-DNG", N_("Digital Negative (DNG)") }, { "FF-EPS", N_("Encapsulated PostScript (EPS)") }, { "FF-GIF", N_("Graphics Interchange Format (GIF)") }, { "FF-JPG", N_("JPEG Interchange Formats (JPG, JIF, JFIF)") }, { "FF-OTR", N_("Other") }, { "FF-PIC", N_("Macintosh Picture (PICT)") }, { "FF-PNG", N_("Portable Network Graphics (PNG)") }, { "FF-PSD", N_("Photoshop Document (PSD)") }, { "FF-RAW", N_("Proprietary RAW Image Format") }, { "FF-TIF", N_("Tagged Image File Format (TIFF)") }, { "FF-WMP", N_("Windows Media Photo (HD Photo)") } }; //! XMP plus:ImageFileSizeAsDelivered extern const TagVocabulary plusImageFileSizeAsDelivered[] = { { "SZ-G50", N_("Greater than 50 MB") }, { "SZ-U01", N_("Up to 1 MB") }, { "SZ-U10", N_("Up to 10 MB") }, { "SZ-U30", N_("Up to 30 MB") }, { "SZ-U50", N_("Up to 50 MB") } }; //! XMP plus:ImageType extern const TagVocabulary plusImageType[] = { { "TY-ILL", N_("Illustrated Image") }, { "TY-MCI", N_("Multimedia or Composited Image") }, { "TY-OTR", N_("Other") }, { "TY-PHO", N_("Photographic Image") }, { "TY-VID", N_("Video") } }; //! XMP plus:LicensorTelephoneType extern const TagVocabulary plusLicensorTelephoneType[] = { { "cell", N_("Cell") }, { "fax", N_("FAX") }, { "home", N_("Home") }, { "pager", N_("Pager") }, { "work", N_("Work") } }; //! XMP plus:MinorModelAgeDisclosure extern const TagVocabulary plusMinorModelAgeDisclosure[] = { { "AG-UNK", N_("Age Unknown") }, { "AG-A25", N_("Age 25 or Over") }, { "AG-A24", N_("Age 24") }, { "AG-A23", N_("Age 23") }, { "AG-A22", N_("Age 22") }, { "AG-A21", N_("Age 21") }, { "AG-A20", N_("Age 20") }, { "AG-A19", N_("Age 19") }, { "AG-A18", N_("Age 18") }, { "AG-A17", N_("Age 17") }, { "AG-A16", N_("Age 16") }, { "AG-A15", N_("Age 15") }, { "AG-U14", N_("Age 14 or Under") } }; //! XMP plus:ModelReleaseStatus extern const TagVocabulary plusModelReleaseStatus[] = { { "MR-NON", N_("None") }, { "MR-NAP", N_("Not Applicable") }, { "MR-UMR", N_("Unlimited Model Releases") }, { "MR-LMR", N_("Limited or Incomplete Model Releases") } }; //! XMP plus:PropertyReleaseStatus extern const TagVocabulary plusPropertyReleaseStatus[] = { { "PR-NON", N_("None") }, { "PR-NAP", N_("Not Applicable") }, { "PR-UPR", N_("Unlimited Property Releases") }, { "PR-LPR", N_("Limited or Incomplete Property Releases") } }; //! XMP plus:Reuse extern const TagVocabulary plusReuse[] = { { "RE-NAP", N_("Not Applicable") }, { "RE-REU", N_("Repeat Use") } }; extern const XmpPropertyInfo xmpMediaProInfo[] = { { "Event", N_("Event"), "Text", xmpText, xmpExternal, N_("Fixture Identification") }, { "Status", N_("Status"), "Text", xmpText, xmpExternal, N_("A notation making the image unique") }, { "People", N_("People"), "bag Text", xmpBag, xmpExternal, N_("Contact") }, { "CatalogSets", N_("Catalog Sets"), "bag Text", xmpBag, xmpExternal, N_("Descriptive markers of catalog items by content") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpExpressionMediaInfo[] = { { "Event", N_("Event"), "Text", xmpText, xmpExternal, N_("Fixture Identification") }, { "Status", N_("Status"), "Text", xmpText, xmpExternal, N_("A notation making the image unique") }, { "People", N_("People"), "bag Text", xmpBag, xmpExternal, N_("Contact") }, { "CatalogSets", N_("Catalog Sets"), "bag Text", xmpBag, xmpExternal, N_("Descriptive markers of catalog items by content") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpMicrosoftPhotoInfo[] = { { "RegionInfo", N_("RegionInfo"), "RegionInfo", xmpText, xmpInternal, N_("Microsoft Photo people-tagging metadata root") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpMicrosoftPhotoRegionInfoInfo[] = { { "Regions", N_("Regions"), "bag Region", xmpBag, xmpExternal, N_("Contains Regions/person tags") }, { "DateRegionsValid", N_("Date Regions Valid"), "Date", xmpText, xmpExternal, N_("Date the last region was created") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpMicrosoftPhotoRegionInfo[] = { { "PersonDisplayName", N_("Person Display Name"), "Text", xmpText, xmpExternal, N_("Name of the person (in the given rectangle)") }, { "Rectangle", N_("Rectangle"), "Text", xmpText, xmpExternal, N_("Rectangle that identifies the person within the photo") }, { "PersonEmailDigest", N_("Person Email Digest"), "Text", xmpText, xmpExternal, N_("SHA-1 encrypted message hash of the person's Windows Live e-mail address"), }, { "PersonLiveIdCID", N_("Person LiveId CID"), "Text", xmpText, xmpExternal, N_("Signed decimal representation of the person's Windows Live CID") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpMWGRegionsInfo[] = { { "Regions", N_("Regions"), "RegionInfo", xmpText, xmpInternal, N_("Main structure containing region based information") }, { "AppliedToDimensions", N_("Applied To Dimensions"), "Dimensions", xmpText, xmpExternal, N_("Width and height of image when storing region data") }, { "RegionList", N_("Region List"), "bag RegionStruct", xmpBag, xmpExternal, N_("List of Region structures") }, { "Area", N_("Area"), "Area", xmpText, xmpExternal, N_("Descriptive markers of catalog items by content") }, { "Type", N_("Type"), "closed Choice of Text", xmpText, xmpExternal, N_("Type purpose of region (Face|Pet|Focus|BarCode)") }, { "Name", N_("Name"), "Text", xmpText, xmpExternal, N_("Name/ short description of content in image region") }, { "Description", N_("Description"), "Text", xmpText, xmpExternal, N_("Usage scenario for a given focus area (EvaluatedUsed|EvaluatedNotUsed|NotEvaluatedNotUsed)") }, { "FocusUsage", N_("Focus Usage"), "closed Choice of Text", xmpText, xmpExternal, N_("Descriptive markers of catalog items by content") }, { "BarCodeValue", N_("Bar Code Value"), "Text", xmpText, xmpExternal, N_("Decoded BarCode value string") }, { "Extensions", N_("Extensions"), "Text", xmpText, xmpInternal, N_("Any top level XMP property to describe the region content") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpMWGKeywordInfo[] = { { "Keywords", N_("Keywords"), "KeywordInfo", xmpText, xmpInternal, N_("Main structure containing keyword based information") }, { "Hierarchy", N_("Hierarchy"), "bag KeywordStruct", xmpBag, xmpExternal, N_("List of root keyword structures") }, { "Keyword", N_("Keyword"), "Text", xmpText, xmpExternal, N_("Name of keyword (-node)") }, { "Applied", N_("Applied"), "Boolean", xmpText, xmpExternal, N_("True if this keyword has been applied, False otherwise. If missing, mwg-kw:Applied is presumed True for leaf nodes and False for ancestor nodes") }, { "Children", N_("Children"), "bag KeywordStruct", xmpBag, xmpExternal, N_("List of children keyword structures") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpGPanoInfo[] = { { "UsePanoramaViewer", N_("Use Panorama Viewer"), "Boolean", xmpText, xmpExternal, N_("Whether to show this image in a panorama viewer rather than as a normal flat image. This may be specified based on user preferences or by the stitching software. The application displaying or ingesting the image may choose to ignore this.") }, { "CaptureSoftware", N_("Capture Software"), "Text", xmpText, xmpExternal, N_("If capture was done using an application on a mobile device, such as an Android phone, the name of the application that was used (such as \"Photo Sphere\"). This should be left blank if source images were captured manually, such as by using a DSLR on a tripod.") }, { "StitchingSoftware", N_("Stitching Software"), "Text", xmpText, xmpExternal, N_("The software that was used to create the final panorama. This may sometimes be the same value as that of GPano:CaptureSoftware.") }, { "ProjectionType", N_("Projection Type"), "Open Choice of Text", xmpText, xmpExternal, N_("Projection type used in the image file. Google products currently support the value equirectangular.") }, { "PoseHeadingDegrees", N_("Pose Heading Degrees"), "Real", xmpText, xmpExternal, N_("Compass heading, measured in degrees, for the center the image. Value must be >= 0 and < 360.") }, { "PosePitchDegrees", N_("Pose Pitch Degrees"), "Real", xmpText, xmpExternal, N_("Pitch, measured in degrees, for the center in the image. Value must be >= -90 and <= 90.") }, { "PoseRollDegrees", N_("Pose Roll Degrees"), "Real", xmpText, xmpExternal, N_("Roll, measured in degrees, of the image where level with the horizon is 0. Value must be > -180 and <= 180.") }, { "InitialViewHeadingDegrees", N_("Initial View Heading Degrees"), "Integer", xmpText, xmpExternal, N_("The heading angle of the initial view in degrees.") }, { "InitialViewPitchDegrees", N_("Initial View Pitch Degrees"), "Integer", xmpText, xmpExternal, N_("The pitch angle of the initial view in degrees.") }, { "InitialViewRollDegrees", N_("Initial View Roll Degrees"), "Integer", xmpText, xmpExternal, N_("The roll angle of the initial view in degrees.") }, { "InitialHorizontalFOVDegrees", N_("Initial Horizontal FOV Degrees"), "Real", xmpText, xmpExternal, N_("The initial horizontal field of view that the viewer should display (in degrees). This is similar to a zoom level.") }, { "FirstPhotoDate", N_("First Photo Date"), "Date", xmpText, xmpExternal, N_("Date and time for the first image created in the panorama.") }, { "LastPhotoDate", N_("Last Photo Date"), "Date", xmpText, xmpExternal, N_("Date and time for the last image created in the panorama.") }, { "SourcePhotosCount", N_("Source Photos Count"), "Integer", xmpText, xmpExternal, N_("Number of source images used to create the panorama") }, { "ExposureLockUsed", N_("Exposure Lock Used"), "Boolean", xmpText, xmpExternal, N_("When individual source photographs were captured, whether or not the camera's exposure setting was locked. ") }, { "CroppedAreaImageWidthPixels", N_("Cropped Area Image Width Pixels"), "Integer", xmpText, xmpExternal, N_("Original width in pixels of the image (equal to the actual image's width for unedited images).") }, { "CroppedAreaImageHeightPixels", N_("Cropped Area Image Height Pixels"), "Integer", xmpText, xmpExternal, N_("Original height in pixels of the image (equal to the actual image's height for unedited images).") }, { "FullPanoWidthPixels", N_("Full Pano Width Pixels"), "Integer", xmpText, xmpExternal, N_("Original full panorama width from which the image was cropped. Or, if only a partial panorama was captured, this specifies the width of what the full panorama would have been.") }, { "FullPanoHeightPixels", N_("Full Pano Height Pixels"), "Integer", xmpText, xmpExternal, N_("Original full panorama height from which the image was cropped. Or, if only a partial panorama was captured, this specifies the height of what the full panorama would have been.") }, { "CroppedAreaLeftPixels", N_("Cropped Area Left Pixels"), "Integer", xmpText, xmpExternal, N_("Column where the left edge of the image was cropped from the full sized panorama.") }, { "CroppedAreaTopPixels", N_("Cropped Area Top Pixels"), "Integer", xmpText, xmpExternal, N_("Row where the top edge of the image was cropped from the full sized panorama.") }, { "InitialCameraDolly", N_("Initial Camera Dolly"), "Real", xmpText, xmpExternal, N_("This optional parameter moves the virtual camera position along the line of sight, away from the center of the photo sphere. A rear surface position is represented by the value -1.0, while a front surface position is represented by 1.0. For normal viewing, this parameter should be set to 0.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpVideoInfo[] = { { "Album", N_("Album"), "Text", xmpText, xmpExternal, N_("The name of the album.") }, { "ArchivalLocation", N_("Archival Location"), "Text", xmpText, xmpExternal, N_("Information about the Archival Location.") }, { "Arranger", N_("Arranger"), "Text", xmpText, xmpExternal, N_("Information about the Arranger.") }, { "ArrangerKeywords", N_("Arranger Keywords"), "Text", xmpText, xmpExternal, N_("Information about the Arranger Keywords.") }, { "Artist", N_("Artist"), "Text", xmpText, xmpExternal, N_("The name of the artist or artists.") }, { "AspectRatio", N_("Video Aspect Ratio"), "Ratio", xmpText, xmpExternal, N_("Ratio of Width:Height, helps to determine how a video would be displayed on a screen") }, { "AspectRatioType", N_("Video Aspect Ratio Type"), "Text", xmpText, xmpExternal, N_("Aspect Ratio Type. Eg - Free-Resizing or Fixed") }, { "AttachFileData", N_("Attached File Data"), "Text", xmpText, xmpExternal, N_("Attached File Data") }, { "AttachFileDesc", N_("Attached File Description"), "Text", xmpText, xmpExternal, N_("Attached File Description") }, { "AttachFileMIME", N_("Attached File MIME Type"), "Text", xmpText, xmpExternal, N_("Attached File MIME Type") }, { "AttachFileName", N_("Attached File Name"), "Text", xmpText, xmpExternal, N_("Attached File Name") }, { "AttachFileUID", N_("Attached File UID"), "Integer", xmpText, xmpExternal, N_("Attached File Universal ID") }, { "BaseURL", N_("Base URL"), "Text", xmpText, xmpExternal, N_("A C string that specifies a Base URL.") }, { "BitDepth", N_("Bit Depth"), "Integer", xmpText, xmpExternal, N_("A 16-bit integer that indicates the pixel depth of the compressed image. Values of 1, 2, 4, 8 , 16, 24, and 32 indicate the depth of color images") }, { "Brightness", N_("Brightness"), "Integer", xmpText, xmpExternal, N_("Brightness setting.") }, { "CameraByteOrder", N_("Camera Byte Order"), "Text", xmpText, xmpExternal, N_("Byte Order used by the Video Capturing device.") }, { "Cinematographer", N_("Video Cinematographer"), "Text", xmpText, xmpExternal, N_("The video Cinematographer information.") }, { "CleanApertureWidth", N_("Clean Aperture Width"), "Integer", xmpText, xmpExternal, N_("Clean aperture width in pixels") }, { "CleanApertureHeight", N_("Clean Aperture Height"), "Integer", xmpText, xmpExternal, N_("Clean aperture height in pixels") }, { "Codec", N_("Video Codec"), "Text", xmpText, xmpExternal, N_("The video codec information. Informs about the encoding algorithm of video. Codec Info is required for video playback.") }, { "CodecDecodeAll", N_("Video Codec Decode Info"), "Text", xmpText, xmpExternal, N_("Contains information the video Codec Decode All, i.e. Enabled/Disabled") }, { "CodecDescription", N_("Video Codec Description"), "Text", xmpText, xmpExternal, N_("Contains description the codec.") }, { "CodecInfo", N_("Video Codec Information"), "Text", xmpText, xmpExternal, N_("Contains information the codec needs before decoding can be started.") }, { "CodecDownloadUrl", N_("Video Codec Download URL"), "Text", xmpText, xmpExternal, N_("Video Codec Download URL.") }, { "CodecSettings", N_("Video Codec Settings"), "Text", xmpText, xmpExternal, N_("Contains settings the codec needs before decoding can be started.") }, { "ColorMode", N_("Color Mode"), "Text", xmpText, xmpExternal, N_("Color Mode") }, { "ColorNoiseReduction", N_("Color Noise Reduction"), "Integer", xmpText, xmpExternal, N_("\"Color Noise Reduction\" setting. Range 0 to +100.") }, { "ColorSpace", N_("Video Color Space"), "closed Choice of Text", xmpText, xmpInternal, N_("The color space. One of: sRGB (used by Photoshop), CCIR-601 (used for NTSC), " "CCIR-709 (used for HD).") }, { "Comment", N_("Comment"), "Text", xmpText, xmpExternal, N_("Information about the Comment.") }, { "Commissioned", N_("Commissioned"), "Text", xmpText, xmpExternal, N_("Commissioned.") }, { "CompatibleBrands", N_("QTime Compatible FileType Brand"), "Text", xmpText, xmpExternal, N_("Other QuickTime Compatible FileType Brand") }, { "Composer", N_("Composer"), "Text", xmpText, xmpExternal, N_("Information about the Composer.") }, { "ComposerKeywords", N_("Composer Keywords"), "Text", xmpText, xmpExternal, N_("Information about the Composer Keywords.") }, { "Compressor", N_("Compressor"), "Text", xmpText, xmpExternal, N_("Video Compression Library Used") }, { "CompressorID", N_("Video Compressor ID"), "Text", xmpText, xmpExternal, N_("Video Compression ID of Technology/Codec Used") }, { "CompressorVersion", N_("Compressor Version"), "Text", xmpText, xmpExternal, N_("Information about the Compressor Version.") }, { "Container", N_("Container Type"), "Text", xmpText, xmpExternal, N_("Primary Metadata Container") }, { "ContentCompressAlgo", N_("Content Compression Algorithm"), "Text", xmpText, xmpExternal, N_("Content Compression Algorithm. Eg: zlib") }, { "ContentEncodingType", N_("Content Encoding Type"), "Text", xmpText, xmpExternal, N_("Content Encoding Type. Eg: Encryption or Compression") }, { "ContentEncryptAlgo", N_("Content Encryption Algorithm"), "Text", xmpText, xmpExternal, N_("Content Encryption Algorithm. Eg: Blowfish") }, { "ContentSignAlgo", N_("Content Signature Algorithm"), "Text", xmpText, xmpExternal, N_("Content Signature Algorithm. Eg: RSA") }, { "ContentSignHashAlgo", N_("Content Sign Hash Algorithm"), "Text", xmpText, xmpExternal, N_("Content Signature Hash Algorithm. Eg: SHA1-160 or MD5") }, { "Contrast", N_("Contrast"), "Closed Choice of Integer", xmpText, xmpInternal, N_("Indicates the direction of contrast processing applied by the camera.") }, { "Copyright", N_("Copyright"), "Text", xmpText, xmpExternal, N_("Copyright, can be name of an organization or an individual.") }, { "CostumeDesigner", N_("Costume Designer"), "Text", xmpText, xmpExternal, N_("Costume Designer associated with the video.") }, { "Country", N_("Country"), "Text", xmpText, xmpExternal, N_("Name of the country where the video was created.") }, { "CreationDate", N_("Creation Date"), "Integer", xmpText, xmpExternal, N_("Specifies the date and time of the initial creation of the file. The value is given as the " "number of 100-nanosecond intervals since January 1, 1601, according to Coordinated Universal Time (Greenwich Mean Time).") }, { "CropBottom", N_("Pixel Crop Bottom"), "Integer", xmpText, xmpExternal, N_("Number of Pixels to be cropped from the bottom.") }, { "CropLeft", N_("Pixel Crop Left"), "Integer", xmpText, xmpExternal, N_("Number of Pixels to be cropped from the left.") }, { "CropRight", N_("Pixel Crop Right"), "Integer", xmpText, xmpExternal, N_("Number of Pixels to be cropped from the right.") }, { "Cropped", N_("Cropped"), "Integer", xmpText, xmpExternal, N_("Field that indicates if a video is cropped.") }, { "CropTop", N_("Pixel Crop Top"), "Integer", xmpText, xmpExternal, N_("Number of Pixels to be cropped from the top.") }, { "CurrentTime", N_("Current Time"), "Integer", xmpText, xmpExternal, N_("The time value for current time position within the movie.") }, { "DataPackets", N_("Data Packets"), "Integer", xmpText, xmpExternal, N_("Specifies the number of Data Packet entries that exist within the Data Object.") }, { "DateTimeOriginal", N_("Date and Time Original"), "Date", xmpText, xmpInternal, N_("Date and time when original video was generated, in ISO 8601 format. ") }, { "DateTimeDigitized", N_("Date and Time Digitized"), "Date", xmpText, xmpInternal, N_("Date and time when video was stored as digital data, can be the same " "as DateTimeOriginal if originally stored in digital form. Stored in ISO 8601 format.") }, { "DateUTC", N_("Date-Time Original"), "Text", xmpText, xmpExternal, N_("Contains the production date") }, { "DefaultOn", N_("Video Track Default On"), "Text", xmpText, xmpExternal, N_("Video Track Default On , i.e. Enabled/Disabled") }, { "DigitalZoomRatio", N_("Digital Zoom Ratio"), "Rational", xmpText, xmpInternal, N_("Indicates the digital zoom ratio when the video was shot.") }, { "Dimensions", N_("Dimensions"), "Text", xmpText, xmpExternal, N_("Information about the Dimensions of the video frame.") }, { "Director", N_("Director"), "Text", xmpText, xmpExternal, N_("Information about the Director.") }, { "DisplayUnit", N_("Video Display Unit"), "Text", xmpText, xmpExternal, N_("Video display unit. Eg - cm, pixels, inch") }, { "DistributedBy", N_("Distributed By"), "Text", xmpText, xmpExternal, N_("Distributed By, i.e. name of person or organization.") }, { "DocType", N_("Doc Type"), "Text", xmpText, xmpExternal, N_("Describes the contents of the file. In the case of a MATROSKA file, its value is 'matroska'") }, { "DocTypeReadVersion", N_("Doc Type Read Version"), "Integer", xmpText, xmpExternal, N_("A Matroska video specific property, helps in determining the compatibility of file with a particular version of a video player") }, { "DocTypeVersion", N_("Doc Type Version"), "Integer", xmpText, xmpExternal, N_("A Matroska video specific property, indicated the version of filetype, helps in determining the compatibility") }, { "DotsPerInch", N_("Dots Per Inch"), "Integer", xmpText, xmpExternal, N_("Dots Per Inch") }, { "duration", N_("Duration"), "Integer", xmpText, xmpExternal, N_("The duration of the media file. Measured in milli-seconds.") }, { "EBMLReadVersion", N_("EBML Read Version"), "Integer", xmpText, xmpExternal, N_("Extensible Binary Meta Language Read Version") }, { "EBMLVersion", N_("EBML Version"), "Integer", xmpText, xmpExternal, N_("Extensible Binary Meta Language Version") }, { "Edit1", N_("Edit Block 1 / Language"), "Text", xmpText, xmpExternal, N_("Information about the Edit / Language.") }, { "Edit2", N_("Edit Block 2 / Language"), "Text", xmpText, xmpExternal, N_("Information about the Edit / Language.") }, { "Edit3", N_("Edit Block 3 / Language"), "Text", xmpText, xmpExternal, N_("Information about the Edit / Language.") }, { "Edit4", N_("Edit Block 4 / Language"), "Text", xmpText, xmpExternal, N_("Information about the Edit / Language.") }, { "Edit5", N_("Edit Block 5 / Language"), "Text", xmpText, xmpExternal, N_("Information about the Edit / Language.") }, { "Edit6", N_("Edit Block 6 / Language"), "Text", xmpText, xmpExternal, N_("Information about the Edit / Language.") }, { "Edit7", N_("Edit Block 7 / Language"), "Text", xmpText, xmpExternal, N_("Information about the Edit / Language.") }, { "Edit8", N_("Edit Block 8 / Language"), "Text", xmpText, xmpExternal, N_("Information about the Edit / Language.") }, { "Edit9", N_("Edit Block 9 / Language"), "Text", xmpText, xmpExternal, N_("Information about the Edit / Language.") }, { "EditedBy", N_("Edited By"), "Text", xmpText, xmpExternal, N_("Edited By, i.e. name of person or organization.") }, { "Enabled", N_("Video Track Enabled"), "Text", xmpText, xmpExternal, N_("Status of Video Track, i.e. Enabled/Disabled") }, { "EncodedBy", N_("Encoded By"), "Text", xmpText, xmpExternal, N_("Encoded By, i.e. name of person or organization.") }, { "EncodedPixelsWidth", N_("Encoded Pixels Width"), "Integer", xmpText, xmpExternal, N_("Encoded Pixels width in pixels") }, { "EncodedPixelsHeight", N_("Encoded Pixels Height"), "Integer", xmpText, xmpExternal, N_("Encoded Pixels height in pixels") }, { "Encoder", N_("Encoder"), "Text", xmpText, xmpExternal, N_("Information about the Encoder.") }, { "EndTimecode", N_("End Timecode"), "Integer", xmpText, xmpExternal, N_("End Timecode") }, { "Engineer", N_("Engineer"), "Text", xmpText, xmpExternal, N_("Engineer, in most cases name of person.") }, { "Equipment", N_("Equipment"), "Text", xmpText, xmpExternal, N_("Information about the Equipment used for recording Video.") }, { "ExposureCompensation", N_("Exposure Compensation"), "Text", xmpText, xmpExternal, N_("Exposure Compensation Information.") }, { "ExposureProgram", N_("Exposure Program"), "Text", xmpText, xmpExternal, N_("Exposure Program Information.") }, { "ExposureTime", N_("Exposure Time"), "Rational", xmpText, xmpInternal, N_("Exposure time in seconds.") }, { "ExtendedContentDescription",N_("Extended Content Description"), "Text", xmpSeq, xmpExternal, N_("Extended Content Description, usually found in ASF type files.") }, { "FileDataRate", N_("File Data Rate"), "Rational", xmpText, xmpExternal, N_("The file data rate in megabytes per second. For example: \"36/10\" = 3.6 MB/sec") }, { "FileID", N_("File ID"), "Text", xmpText, xmpExternal, N_("File ID.") }, { "FileLength", N_("File Length"), "Integer", xmpText, xmpInternal, N_("File length.") }, { "FileName", N_("File Name"), "Text", xmpText, xmpExternal, N_("File Name or Absolute File Path") }, { "FileSize", N_("File Size"), "Integer", xmpText, xmpExternal, N_("File Size, in MB") }, { "FileType", N_("File Type"), "Text", xmpText, xmpExternal, N_("Extension of File or Type of File") }, { "FilterEffect", N_("Filter Effect"), "Text", xmpText, xmpExternal, N_("Filter Effect Settings Applied.") }, { "FirmwareVersion", N_("Firmware Version"), "Text", xmpText, xmpExternal, N_("Firmware Version of the Camera/Video device.") }, { "FNumber", N_("F Number"), "Rational", xmpText, xmpInternal, N_("F number. Camera Lens specific data.") }, { "FocalLength", N_("Focal Length"), "Rational", xmpText, xmpInternal, N_("Focal length of the lens, in millimeters.") }, { "FocusMode", N_("Focus Mode"), "Text", xmpText, xmpExternal, N_("Focus Mode of the Lens. Eg - AF for Auto Focus") }, { "Format", N_("Format"), "Text", xmpText, xmpExternal, N_("Indication of movie format (computer-generated, digitized, and so on).") }, { "FrameCount", N_("Frame Count"), "Integer", xmpText, xmpExternal, N_("Total number of frames in a video") }, { "FrameHeight", N_("Frame Height"), "Integer", xmpText, xmpExternal, N_("Height of frames in a video") }, { "FrameRate", N_("Video Frame Rate"), "Frames per Second", xmpText, xmpExternal, N_("Rate at which frames are presented in a video (Expressed in fps(Frames per Second))") }, { "FrameSize", N_("Video Frame Size"), "Dimensions", xmpText, xmpExternal, N_("The frame size. For example: w:720, h: 480, unit:pixels") }, { "FrameWidth", N_("Frame Width"), "Integer", xmpText, xmpExternal, N_("Width of frames in a video") }, { "Genre", N_("Genre"), "Text", xmpText, xmpExternal, N_("The name of the genre.") }, { "GPSAltitude", N_("GPS Altitude"), "Rational", xmpText, xmpInternal, N_("GPS tag 6, 0x06. Indicates altitude in meters.") }, { "GPSAltitudeRef", N_("GPS Altitude Reference"), "Closed Choice of Integer", xmpText, xmpInternal, N_("GPS tag 5, 0x05. Indicates whether the altitude is above or below sea level.") }, { "GPSCoordinates", N_("GPS Coordinates"), "Text", xmpText, xmpExternal, N_("Information about the GPS Coordinates.") }, { "GPSDateStamp", N_("GPS Time Stamp"), "Date", xmpText, xmpInternal, N_("Date stamp of GPS data, ") }, { "GPSImgDirection", N_("GPS Image Direction"), "Rational", xmpText, xmpInternal, N_("Direction of image when captured, values range from 0 to 359.99.") }, { "GPSImgDirectionRef", N_("GPS Image Direction Reference"), "Closed Choice of Text", xmpText, xmpInternal, N_("Reference for image direction.") }, { "GPSLatitude", N_("GPS Latitude"), "GPSCoordinate", xmpText, xmpInternal, N_("(North/South). Indicates latitude.") }, { "GPSLongitude", N_("GPS Longitude"), "GPSCoordinate", xmpText, xmpInternal, N_("(East/West). Indicates longitude.") }, { "GPSMapDatum", N_("GPS Map Datum"), "Text", xmpText, xmpInternal, N_("Geodetic survey data.") }, { "GPSSatellites", N_("GPS Satellites"), "Text", xmpText, xmpInternal, N_("Satellite information, format is unspecified.") }, { "GPSTimeStamp", N_("GPS Time Stamp"), "Date", xmpText, xmpInternal, N_("Time stamp of GPS data, ") }, { "GPSVersionID", N_("GPS Version ID"), "Text", xmpText, xmpInternal, N_("A decimal encoding with period separators. ") }, { "GraphicsMode", N_("Graphics Mode"), "Text", xmpText, xmpExternal, N_("A 16-bit integer that specifies the transfer mode. The transfer mode specifies which Boolean" "operation QuickDraw should perform when drawing or transferring an image from one location to another.") }, { "Grouping", N_("Grouping"), "Text", xmpText, xmpExternal, N_("Information about the Grouping.") }, { "HandlerClass", N_("Handler Class"), "Text", xmpText, xmpExternal, N_("A four-character code that identifies the type of the handler. Only two values are valid for this field: 'mhlr' for media handlers and 'dhlr' for data handlers.") }, { "HandlerDescription", N_("Handler Description"), "Text", xmpText, xmpExternal, N_("A (counted) string that specifies the name of the component-that is, the media handler used when this media was created..") }, { "HandlerType", N_("Handler Type"), "Text", xmpText, xmpExternal, N_("A four-character code that identifies the type of the media handler or data handler.") }, { "HandlerVendorID", N_("Handler Vendor ID"), "Text", xmpText, xmpExternal, N_("Component manufacturer.") }, { "Height", N_("Video Height"), "Integer", xmpText, xmpExternal, N_("Video height in pixels") }, { "HueAdjustment", N_("Hue Adjustment"), "Integer", xmpText, xmpExternal, N_("Hue Adjustment Settings Information.") }, { "ImageLength", N_("Image Length"), "Integer", xmpText, xmpExternal, N_("Image Length, a property inherited from BitMap format") }, { "InfoBannerImage", N_("Info Banner Image"), "Text", xmpText, xmpExternal, N_("Information Banner Image.") }, { "InfoBannerURL", N_("Info Banner URL"), "Text", xmpText, xmpExternal, N_("Information Banner URL.") }, { "Information", N_("Information"), "Text", xmpText, xmpExternal, N_("Additional Movie Information.") }, { "InfoText", N_("Info Text"), "Text", xmpText, xmpExternal, N_("Information Text.") }, { "InfoURL", N_("Info URL"), "Text", xmpText, xmpExternal, N_("Information URL.") }, { "ISO", N_("ISO Setting"), "Integer", xmpText, xmpExternal, N_("Information about the ISO Setting.") }, { "ISRCCode", N_("ISRC Code"), "Text", xmpText, xmpExternal, N_("Information about the ISRC Code.") }, { "Junk", N_("Junk Data"), "Text", xmpText, xmpExternal, N_("Video Junk data") }, { "Language", N_("Language"), "Text", xmpText, xmpExternal, N_("Language.") }, { "Length", N_("Length"), "Integer", xmpText, xmpExternal, N_("The length of the media file.") }, { "LensModel", N_("Lens Model"), "Text", xmpText, xmpExternal, N_("Lens Model.") }, { "LensType", N_("Lens Type"), "Text", xmpText, xmpExternal, N_("Lens Type.") }, { "Lightness", N_("Lightness"), "Text", xmpText, xmpExternal, N_("Lightness.") }, { "LocationInfo", N_("Location Information"), "Text", xmpText, xmpExternal, N_("Location Information.") }, { "LogoIconURL", N_("Logo Icon URL"), "Text", xmpText, xmpExternal, N_("A C string that specifies Logo Icon URL.") }, { "LogoURL", N_("Logo URL"), "Text", xmpText, xmpExternal, N_("A C string that specifies a Logo URL.") }, { "Lyrics", N_("Lyrics"), "Text", xmpText, xmpExternal, N_("Lyrics of a Song/Video.") }, { "MajorBrand", N_("QTime Major FileType Brand"), "Text", xmpText, xmpExternal, N_("QuickTime Major File Type Brand") }, { "Make", N_("Equipment Make"), "Text", xmpText, xmpExternal, N_("Manufacturer of recording equipment") }, { "MakerNoteType", N_("Camera Maker Note Type"), "Text", xmpText, xmpExternal, N_("Maker Note Type of the camera.") }, { "MakerNoteVersion", N_("Camera Maker Note Version"), "Text", xmpText, xmpExternal, N_("Maker Note Version of the camera.") }, { "MakerURL", N_("Maker URL"), "Text", xmpText, xmpExternal, N_("Camera Manufacturer's URL.") }, { "MaxApertureValue", N_("Maximum Aperture Value"), "Rational", xmpText, xmpInternal, N_("Smallest F number of lens, in APEX.") }, { "MaxBitRate", N_("Maximum Bit Rate"), "Integer", xmpText, xmpExternal, N_("Specifies the maximum instantaneous bit rate in bits per second for the entire file. This shall equal the sum of the bit rates of the individual digital media streams.") }, { "MaxDataRate", N_("Maximum Data Rate"), "kiloBytes per Second", xmpText, xmpExternal, N_("Peak rate at which data is presented in a video (Expressed in kB/s(kiloBytes per Second))") }, { "MediaCreateDate", N_("Media Track Create Date"), "Integer", xmpText, xmpExternal, N_("A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) when the media header was created.") }, { "MediaDuration", N_("Media Track Duration"), "Integer", xmpText, xmpExternal, N_("A time value that indicates the duration of this media (in the movie's time coordinate system).") }, { "MediaHeaderVersion", N_("Media Header Version"), "Text", xmpText, xmpExternal, N_("A 1-byte specification of the version of this media header") }, { "MediaLangCode", N_("Media Language Code"), "Integer", xmpText, xmpExternal, N_("A 16-bit integer that specifies the language code for this media.") }, { "MediaModifyDate", N_("Media Track Modify Date"), "Integer", xmpText, xmpExternal, N_("A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) when the media header was last modified.") }, { "MediaTimeScale", N_("Media Time Scale"), "Integer", xmpText, xmpExternal, N_("A time value that indicates the time scale for this media-that is, the number of time units that pass per second in its time coordinate system." ) }, { "Medium", N_("Medium"), "Text", xmpSeq, xmpExternal, N_("Medium.") }, { "Metadata", N_("Metadata"), "Text", xmpSeq, xmpExternal, N_("An array of Unknown / Unregistered Metadata Tags and their values.") }, { "MetadataLibrary", N_("Metadata Library"), "Text", xmpSeq, xmpExternal, N_("An array of Unregistered Metadata Library Tags and their values.") }, { "MeteringMode", N_("Metering Mode"), "Closed Choice of Integer", xmpText, xmpInternal, N_("Metering mode.") }, { "MicroSecPerFrame", N_("Micro Seconds Per Frame"), "Integer", xmpText, xmpExternal, N_("Number of micro seconds per frame, or frame rate") }, { "MimeType", N_("Mime Type"), "Text", xmpText, xmpExternal, N_("Tells about the video format") }, { "MinorVersion", N_("QTime Minor FileType Version"), "Text", xmpText, xmpExternal, N_("QuickTime Minor File Type Version") }, { "Model", N_("Equipment Model"), "Text", xmpText, xmpExternal, N_("Model name or number of equipment.") }, { "ModificationDate", N_("Modification Date-Time"), "Text", xmpText, xmpExternal, N_("Contains the modification date of the video") }, { "MovieHeaderVersion", N_("Movie Header Version"), "Integer", xmpText, xmpExternal, N_("Movie Header Version") }, { "MusicBy", N_("Music By"), "Text", xmpText, xmpExternal, N_("Music By, i.e. name of person or organization.") }, { "MuxingApp", N_("Muxing App"), "Text", xmpText, xmpExternal, N_("Contains the name of the library that has been used to create the file (like \"libmatroska 0.7.0\")") }, { "Name", N_("Name"), "Text", xmpText, xmpExternal, N_("Name of song or the event.") }, { "NextTrackID", N_("Next Track ID"), "Integer", xmpText, xmpExternal, N_("A 32-bit integer that indicates a value to use for the track ID number of the next track added to this movie. Note that 0 is not a valid track ID value.") }, { "NumOfColours", N_("Number Of Colours"), "Integer/Text", xmpText, xmpExternal, N_("Total number of colours used") }, { "NumOfImpColours", N_("Number Of Important Colours"), "Integer/Text", xmpText, xmpExternal, N_("Number Of Important Colours, a property inherited from BitMap format") }, { "NumOfParts", N_("Number Of Parts"), "Integer", xmpText, xmpExternal, N_("Total number of parts in the video.") }, { "OpColor", N_("Operation Colours"), "Integer/Text", xmpText, xmpExternal, N_("Three 16-bit values that specify the red, green, and blue colors for the transfer mode operation indicated in the graphics mode field.") }, { "Organization", N_("Organization"), "Text", xmpText, xmpExternal, N_("Name of organization associated with the video.") }, { "Orientation", N_("Orientation"), "Closed Choice of Integer", xmpText, xmpInternal, N_("Video Orientation:" "1 = Horizontal (normal) " "2 = Mirror horizontal " "3 = Rotate 180 " "4 = Mirror vertical " "5 = Mirror horizontal and rotate 270 CW " "6 = Rotate 90 CW " "7 = Mirror horizontal and rotate 90 CW " "8 = Rotate 270 CW") }, { "Part", N_("Part"), "Text", xmpText, xmpExternal, N_("Part.") }, { "Performers", N_("Performers"), "Text", xmpText, xmpExternal, N_("Performers involved in the video.") }, { "PerformerKeywords", N_("Performer Keywords"), "Text", xmpText, xmpExternal, N_("Performer Keywords.") }, { "PerformerURL", N_("Performer URL"), "Text", xmpText, xmpExternal, N_("Performer's dedicated URL.") }, { "PictureControlData", N_("Picture Control Data"), "Text", xmpText, xmpExternal, N_("Picture Control Data.") }, { "PictureControlVersion", N_("Picture Control Version"), "Text", xmpText, xmpExternal, N_("Picture Control Data Version.") }, { "PictureControlName", N_("Picture Control Name"), "Text", xmpText, xmpExternal, N_("Picture Control Name.") }, { "PictureControlBase", N_("Picture Control Base"), "Text", xmpText, xmpExternal, N_("Picture Control Data Base.") }, { "PictureControlAdjust", N_("Picture Control Adjust"), "Text", xmpText, xmpExternal, N_("Picture Control Adjust Information.") }, { "PictureControlQuickAdjust",N_("Picture Control Quick Adjust"), "Text", xmpText, xmpExternal, N_("Picture Control Quick Adjustment Settings.") }, { "PlaySelection", N_("Play Selection"), "Text", xmpText, xmpExternal, N_("Play Selection.") }, { "PlayMode", N_("Play Mode"), "Text", xmpText, xmpExternal, N_("Information about the Play Mode.") }, { "PhysicalEquivalent", N_("Chapter Physical Equivalent"), "Text", xmpText, xmpExternal, N_("Contains the information of External media.") }, { "PixelDepth", N_("Video Pixel Depth"), "closed Choice of Text", xmpText, xmpExternal, N_("The size in bits of each color component of a pixel. Standard Windows 32-bit " "pixels have 8 bits per component. One of: 8Int, 16Int, 32Int, 32Float.") }, { "PixelPerMeterX", N_("Pixels Per Meter X"), "Integer", xmpText, xmpExternal, N_("Pixels Per Meter X, a property inherited from BitMap format") }, { "PixelPerMeterY", N_("Pixels Per Meter Y"), "Integer", xmpText, xmpExternal, N_("Pixels Per Meter Y, a property inherited from BitMap format") }, { "Planes", N_("Planes"), "Integer", xmpText, xmpExternal, N_("The number of Image Planes in the video") }, { "PosterTime", N_("Poster Time"), "Integer", xmpText, xmpExternal, N_("The time value of the time of the movie poster.") }, { "PreferredRate", N_("Preferred Rate"), "Rational", xmpText, xmpExternal, N_("A 32-bit fixed-point number that specifies the rate at which to play this movie. A value of 1.0 indicates normal rate.") }, { "PreferredVolume", N_("Preferred Volume"), "Rational", xmpText, xmpExternal, N_("A 16-bit fixed-point number that specifies how loud to play this movie's sound. A value of 1.0 indicates full volume.") }, { "Preroll", N_("Preroll"), "Integer", xmpText, xmpExternal, N_("Specifies the amount of time to buffer data before starting to play the file, in millisecond units. If this value is nonzero," "the Play Duration field and all of the payload Presentation Time fields have been offset by this amount. Therefore, player software " "must subtract the value in the preroll field from the play duration and presentation times to calculate their actual values.") }, { "PreviewAtomType", N_("Preview Atom Type"), "Text", xmpText, xmpExternal, N_("Indicates the type of atom that contains the preview data") }, { "PreviewDate", N_("Preview Date"), "Integer", xmpText, xmpExternal, N_("The date of the movie preview in local time converted from UTC") }, { "PreviewDuration", N_("Preview Duration"), "Integer", xmpText, xmpExternal, N_("The duration of the movie preview in movie time scale units") }, { "PreviewTime", N_("Preview Time"), "Integer", xmpText, xmpExternal, N_("The time value in the movie at which the preview begins.") }, { "PreviewVersion", N_("Preview Version"), "Integer", xmpText, xmpExternal, N_("The version of the movie preview ") }, { "ProducedBy", N_("Produced By"), "Text", xmpText, xmpExternal, N_("Produced By, i.e. name of person or organization.") }, { "Producer", N_("Producer"), "Text", xmpText, xmpExternal, N_("Producer involved with the video.") }, { "ProducerKeywords", N_("Producer Keywords"), "Text", xmpText, xmpExternal, N_("Information about the Producer Keywords.") }, { "ProductionApertureWidth",N_("Production Aperture Width"), "Integer", xmpText, xmpExternal, N_("Production aperture width in pixels") }, { "ProductionApertureHeight",N_("Production Aperture Height"), "Integer", xmpText, xmpExternal, N_("Production aperture height in pixels") }, { "ProductionDesigner", N_("Production Designer"), "Text", xmpText, xmpExternal, N_("Information about the Production Designer.") }, { "ProductionStudio", N_("Production Studio"), "Text", xmpText, xmpExternal, N_("Information about the Production Studio.") }, { "Product", N_("Product"), "Text", xmpText, xmpExternal, N_("Product.") }, { "ProjectRef", N_("Project Reference"), "ProjectLink", xmpText, xmpExternal, N_("A reference to the project that created this file.") }, { "Rate", N_("Rate"), "Integer", xmpText, xmpExternal, N_("Rate.") }, { "Rated", N_("Rated"), "Text", xmpText, xmpExternal, N_("The age circle required for viewing the video.") }, { "Rating", N_("Rating"), "Text", xmpText, xmpExternal, N_("Rating, eg. 7 or 8 (generally out of 10).") }, { "RecordLabelName", N_("Record Label Name"), "Text", xmpText, xmpExternal, N_("Record Label Name, or the name of the organization recording the video.") }, { "RecordLabelURL", N_("Record Label URL"), "Text", xmpText, xmpExternal, N_("Record Label URL.") }, { "RecordingCopyright", N_("Recording Copyright"), "Text", xmpText, xmpExternal, N_("Recording Copyright.") }, { "Requirements", N_("Requirements"), "Text", xmpText, xmpExternal, N_("Information about the Requirements.") }, { "ResolutionUnit", N_("Resolution Unit"), "Closed Choice of Integer", xmpText, xmpInternal, N_("Unit used for XResolution and YResolution. Value is one of: 2 = inches; 3 = centimeters.") }, { "RippedBy", N_("Ripped By"), "Text", xmpText, xmpExternal, N_("Ripped By, i.e. name of person or organization.") }, { "Saturation", N_("Saturation"), "Closed Choice of Integer", xmpText, xmpInternal, N_("Indicates the direction of saturation processing applied by the camera.") }, { "SecondaryGenre", N_("Secondary Genre"), "Text", xmpText, xmpExternal, N_("The name of the secondary genre..") }, { "SelectionTime", N_("Selection Time"), "Integer", xmpText, xmpExternal, N_("The time value for the start time of the current selection.") }, { "SelectionDuration", N_("Selection Duration"), "Integer", xmpText, xmpExternal, N_("The duration of the current selection in movie time scale units.") }, { "SendDuration", N_("Send Duration"), "Integer", xmpText, xmpExternal, N_("Specifies the time needed to send the file in 100-nanosecond units. This value should " "include the duration of the last packet in the content.") }, { "Sharpness", N_("Sharpness"), "Integer", xmpText, xmpExternal, N_("\"Sharpness\" setting. Range 0 to +100.") }, { "Software", N_("Software"), "Text", xmpText, xmpExternal, N_("Software used to generate / create Video data.") }, { "SoftwareVersion", N_("Software Version"), "Text", xmpText, xmpExternal, N_("The Version of the software used.") }, { "SongWriter", N_("Song Writer"), "Text", xmpText, xmpExternal, N_("The name of the song writer.") }, { "SongWriterKeywords", N_("Song Writer Keywords"), "Text", xmpText, xmpExternal, N_("Song Writer Keywords.") }, { "Source", N_("Source"), "Text", xmpText, xmpExternal, N_("Source.") }, { "SourceCredits", N_("Source Credits"), "Text", xmpText, xmpExternal, N_("Source Credits.") }, { "SourceForm", N_("Source Form"), "Text", xmpText, xmpExternal, N_("Source Form.") }, { "SourceImageHeight", N_("Source Image Height"), "Integer", xmpText, xmpExternal, N_("Video height in pixels") }, { "SourceImageWidth", N_("Source Image Width"), "Integer", xmpText, xmpExternal, N_("Video width in pixels") }, { "Starring", N_("Starring"), "Text", xmpText, xmpExternal, N_("Starring, name of famous people appearing in the video.") }, { "StartTimecode", N_("Start Timecode"), "Integer", xmpText, xmpExternal, N_("Start Timecode") }, { "Statistics", N_("Statistics"), "Text", xmpText, xmpExternal, N_("Statistics.") }, { "StreamCount", N_("Stream Count"), "Integer", xmpText, xmpExternal, N_("Total Number Of Streams") }, { "StreamName", N_("Stream Name"), "Text", xmpText, xmpExternal, N_("Describes the Stream Name. Eg - FUJIFILM AVI STREAM 0100") }, { "StreamQuality", N_("Stream Quality"), "Integer", xmpText, xmpExternal, N_("General Stream Quality") }, { "StreamSampleRate", N_("Stream Sample Rate"), "Rational", xmpText, xmpExternal, N_("Stream Sample Rate") }, { "StreamSampleCount", N_("Stream Sample Count"), "Integer", xmpText, xmpExternal, N_("Stream Sample Count") }, { "StreamSampleSize", N_("Stream Sample Size"), "Integer", xmpText, xmpExternal, N_("General Stream Sample Size") }, { "StreamType", N_("Stream Type"), "Text", xmpText, xmpExternal, N_("Describes the Stream Type. Eg - Video, Audio or Subtitles") }, { "SubTCodec", N_("Subtitles Codec"), "Text", xmpText, xmpExternal, N_("Subtitles stream codec, for general purpose") }, { "SubTCodecDecodeAll", N_("Subtitle Codec Decode Info"), "Text", xmpText, xmpExternal, N_("Contains information the Subtitles codec decode all, i.e. Enabled/Disabled") }, { "SubTCodecInfo", N_("Subtitles Codec Information"), "Text", xmpText, xmpExternal, N_("Contains additional information about subtitles.") }, { "SubTCodecDownloadUrl", N_("Subtitle Codec Download URL"), "Text", xmpText, xmpExternal, N_("Video Subtitle Codec Download URL.") }, { "SubTCodecSettings", N_("Subtitle Codec Settings"), "Text", xmpText, xmpExternal, N_("Contains settings the codec needs before decoding can be started.") }, { "SubTDefaultOn", N_("Subtitle Track Default On"), "Text", xmpText, xmpExternal, N_("Subtitles Track Default On , i.e. Enabled/Disabled") }, { "SubTEnabled", N_("Subtitle Track Enabled"), "Text", xmpText, xmpExternal, N_("Status of Subtitles Track, i.e. Enabled/Disabled") }, { "Subtitle", N_("Subtitle"), "Text", xmpText, xmpExternal, N_("Subtitle of the video.") }, { "SubtitleKeywords", N_("Subtitle Keywords"), "Text", xmpText, xmpExternal, N_("Subtitle Keywords.") }, { "SubTLang", N_("Subtitles Language"), "Text", xmpText, xmpExternal, N_("The Language in which the subtitles is recorded in.") }, { "SubTTrackForced", N_("Subtitle Track Forced"), "Text", xmpText, xmpExternal, N_("Subtitles Track Forced , i.e. Enabled/Disabled") }, { "SubTTrackLacing", N_("Subtitle Track Lacing"), "Text", xmpText, xmpExternal, N_("Subtitles Track Lacing , i.e. Enabled/Disabled") }, { "Subject", N_("Subject"), "Text", xmpText, xmpExternal, N_("Subject. ") }, { "TapeName", N_("Tape Name"), "Text", xmpText, xmpExternal, N_("TapeName.") }, { "TagDefault", N_("Tag Default Setting"), "Text", xmpText, xmpExternal, N_("If Tag is Default enabled, this value is Yes, else No ") }, { "TagLanguage", N_("Tag Language"), "Text", xmpText, xmpExternal, N_("Language that has been used to define tags") }, { "TagName", N_("Tag Name"), "Text", xmpText, xmpExternal, N_("Tags could be used to define several titles for a segment.") }, { "TagString", N_("Tag String"), "Text", xmpText, xmpExternal, N_("Information contained in a Tags") }, { "TargetType", N_("Target Type"), "Text", xmpText, xmpExternal, N_("A string describing the logical level of the object the Tag is referring to.") }, { "Technician", N_("Technician"), "Text", xmpText, xmpExternal, N_("Technician, in most cases name of person.") }, { "ThumbnailHeight", N_("Thumbnail Height"), "Integer", xmpText, xmpExternal, N_("Preview Image Thumbnail Height.") }, { "ThumbnailLength", N_("Thumbnail Length"), "Integer", xmpText, xmpExternal, N_("Preview Image Thumbnail Length.") }, { "ThumbnailWidth", N_("Thumbnail Width"), "Integer", xmpText, xmpExternal, N_("Preview Image Thumbnail Width.") }, { "TimecodeScale", N_("Timecode Scale"), "Rational", xmpText, xmpExternal, N_("Multiplying factor which is helpful in calculation of a particular timecode") }, { "TimeOffset", N_("Time Offset"), "Integer", xmpText, xmpExternal, N_("Specifies the presentation time offset of the stream in 100-nanosecond units. This value shall be equal to the send time of the first interleaved packet in the data section.") }, { "TimeScale", N_("Time Scale"), "Integer", xmpText, xmpExternal, N_("A time value that indicates the time scale for this movie-that is, the number of time units that" "pass per second in its time coordinate system. A time coordinate system that measures time" "in sixtieths of a second, for example, has a time scale of 60.") }, { "Title", N_("Title"), "Text", xmpText, xmpExternal, N_("Contains a general name of the SEGMENT, like 'Lord of the Rings - The Two Towers', however, Tags could be used to define several titles for a segment.") }, { "ToningEffect", N_("Toning Effect"), "Text", xmpText, xmpExternal, N_("Toning Effect Settings Applied.") }, { "TotalFrameCount", N_("Total Frame Count"), "Integer", xmpText, xmpExternal, N_("Total number of frames in a video") }, { "TotalStream", N_("Number Of Streams"), "Integer", xmpText, xmpExternal, N_("Total number of streams present in a video. Eg - Video, Audio or Subtitles") }, { "Track", N_("Track"), "Text", xmpText, xmpExternal, N_("Information about the Track.") }, { "TrackCreateDate", N_("Video Track Create Date"), "Integer", xmpText, xmpExternal, N_("A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) when the track header was created.") }, { "TrackDuration", N_("Video Track Duration"), "Integer", xmpText, xmpExternal, N_("A time value that indicates the duration of this track (in the movie's time coordinate system).") }, { "TrackForced", N_("Video Track Forced"), "Text", xmpText, xmpExternal, N_("Video Track Forced , i.e. Enabled/Disabled") }, { "TrackID", N_("Track ID"), "Integer", xmpText, xmpExternal, N_("A 32-bit integer that uniquely identifies the track. The value 0 cannot be used.") }, { "TrackHeaderVersion", N_("Track Header Version"), "Text", xmpText, xmpExternal, N_("A 1-byte specification of the version of this track header") }, { "TrackLacing", N_("Video Track Lacing"), "Text", xmpText, xmpExternal, N_("Video Track Lacing , i.e. Enabled/Disabled") }, { "TrackLang", N_("Track Language"), "Text", xmpText, xmpExternal, N_("The Language in which a particular stream is recorded in.") }, { "TrackLayer", N_("Video Track Layer"), "Integer", xmpText, xmpExternal, N_("A 16-bit integer that indicates this track's spatial priority in its movie. The QuickTime Movie" "Toolbox uses this value to determine how tracks overlay one another. Tracks with lower layer" "values are displayed in front of tracks with higher layer values.") }, { "TrackModifyDate", N_("Video Track Modify Date"), "Integer", xmpText, xmpExternal, N_("A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) when the track header was last modified.") }, { "TrackName", N_("Track Name"), "Text", xmpText, xmpExternal, N_("Track Name could be used to define titles for a segment.") }, { "TrackNumber", N_("Track Number"), "Integer", xmpText, xmpExternal, N_("Track Number.") }, { "TrackVolume", N_("Track Volume"), "Rational", xmpText, xmpExternal, N_("A 16-bit fixed-point number that specifies how loud to play this track's sound. A value of 1.0 indicates full volume.") }, { "TranslateCodec", N_("Chapter Translate Codec"), "Text", xmpText, xmpExternal, N_("Chapter Translate Codec information. Usually used in Matroska file type.") }, { "UnknownInfo", N_("Unknown Information"), "Text", xmpText, xmpExternal, N_("Unknown / Unregistered Metadata Tags and their values.") }, { "UnknownInfo2", N_("Unknown Information"), "Text", xmpText, xmpExternal, N_("Unknown / Unregistered Metadata Tags and their values.") }, { "URL", N_("Video URL"), "Text", xmpText, xmpExternal, N_("A C string that specifies a URL. There may be additional data after the C string.") }, { "URN", N_("Video URN"), "Text", xmpText, xmpExternal, N_("A C string that specifies a URN. There may be additional data after the C string.") }, { "VariProgram", N_("Vari Program"), "Text", xmpText, xmpExternal, N_("Software settings used to generate / create Video data.") }, { "VegasVersionMajor", N_("Vegas Version Major"), "Text", xmpText, xmpExternal, N_("Vegas Version Major.") }, { "VegasVersionMinor", N_("Vegas Version Minor"), "Text", xmpText, xmpExternal, N_("Vegas Version Minor.") }, { "Vendor", N_("Vendor"), "Text", xmpText, xmpExternal, N_("The developer of the compressor that generated the compressed data.") }, { "VendorID", N_("Vendor ID"), "Text", xmpText, xmpExternal, N_("A 32-bit integer that specifies the developer of the compressor that generated the compressed data. Often this field contains 'appl' to indicate Apple Computer, Inc.") }, { "VideoQuality", N_("Video Quality"), "Integer", xmpText, xmpExternal, N_("Video Stream Quality") }, { "VideoSampleSize", N_("Video Sample Size"), "Integer", xmpText, xmpExternal, N_("Video Stream Sample Size") }, { "VideoScanType", N_("Video Scan Type"), "Text", xmpText, xmpExternal, N_("Video Scan Type, it can be Progressive or Interlaced") }, { "WatermarkURL", N_("Watermark URL"), "Text", xmpText, xmpExternal, N_("A C string that specifies a Watermark URL.") }, { "WhiteBalance", N_("White Balance"), "Closed Choice Text", xmpText, xmpExternal, N_("\"White Balance\" setting. One of: As Shot, Auto, Daylight, Cloudy, Shade, Tungsten, " "Fluorescent, Flash, Custom") }, { "WhiteBalanceFineTune", N_("White Balance Fine Tune"), "Integer", xmpText, xmpExternal, N_("White Balance Fine Tune.") }, { "Width", N_("Video Width"), "Integer", xmpText, xmpExternal, N_("Video width in pixels") }, { "WindowLocation", N_("Window Location"), "Text", xmpText, xmpExternal, N_("Information about the Window Location.") }, { "WorldTime", N_("World Time"), "Integer", xmpText, xmpExternal, N_("World Time") }, { "WrittenBy", N_("Written By"), "Text", xmpText, xmpExternal, N_("Written By, i.e. name of person or organization.") }, { "WritingApp", N_("Writing App"), "Text", xmpText, xmpExternal, N_("Contains the name of the application used to create the file (like \"mkvmerge 0.8.1\")") }, { "XResolution", N_("X Resolution"), "Rational", xmpText, xmpInternal, N_("Horizontal resolution in pixels per unit.") }, { "Year", N_("Year"), "Integer", xmpText, xmpExternal, N_("Year in which the video was made.") }, { "YResolution", N_("Y Resolution"), "Rational", xmpText, xmpInternal, N_("Vertical resolution in pixels per unit.") }, { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpAudioInfo[] = { { "AvgBytePerSec", N_("Average Bytes Per Second"), "Integer", xmpText, xmpExternal, N_("Average Bytes Per Second found in audio stream") }, { "Balance", N_("Balance"), "Integer", xmpText, xmpExternal, N_("Indicates the left-right balance of the audio") }, { "BitsPerSample", N_("Bits Per Sample/ Bit Rate"), "Integer", xmpText, xmpExternal, N_("Bits per test sample") }, { "ChannelType", N_("Audio Channel Type"), "Integers", xmpText, xmpExternal, N_("The audio channel type. One of: Mono, Stereo, 5.1, 7.1.") }, { "Codec", N_("Audio Codec"), "Text", xmpText, xmpExternal, N_("Codec used for Audio Encoding/Decoding") }, { "CodecDecodeAll", N_("Audio Codec Decode Info"), "Text", xmpText, xmpExternal, N_("Contains information the audio codec decode all, i.e. Enabled/Disabled") }, { "CodecDescription", N_("Audio Codec Description"), "Text", xmpText, xmpExternal, N_("Contains description the codec.") }, { "CodecDownloadUrl", N_("Audio Codec Download URL"), "Text", xmpText, xmpExternal, N_("Audio Codec Download URL.") }, { "CodecInfo", N_("Audio Codec Information"), "Text", xmpText, xmpExternal, N_("Contains information the codec needs before decoding can be started. An example is the Vorbis initialization packets for Vorbis audio.") }, { "CodecSettings", N_("Audio Codec Settings"), "Text", xmpText, xmpExternal, N_("Contains settings the codec needs before decoding can be started.") }, { "Compressor", N_("Audio Compressor"), "Text", xmpText, xmpExternal, N_("The audio compression used. For example, MP3.") }, { "DefaultDuration", N_("Audio Default Duration"), "Text", xmpText, xmpExternal, N_("The number of micro seconds an audio chunk plays.") }, { "DefaultStream", N_("Audio Default Stream"), "Text", xmpText, xmpExternal, N_("Audio Stream that would be played by default.") }, { "DefaultOn", N_("Audio Track Default On"), "Text", xmpText, xmpExternal, N_("Audio Track Default On , i.e. Enabled/Disabled") }, { "Enabled", N_("Audio Track Enabled"), "Text", xmpText, xmpExternal, N_("Status of Audio Track, i.e. Enabled/Disabled") }, { "Format", N_("Audio Format"), "Text", xmpText, xmpExternal, N_("A four-character code that identifies the format of the audio.") }, { "HandlerClass", N_("Handler Class"), "Text", xmpText, xmpExternal, N_("A four-character code that identifies the type of the handler. Only two values are valid for this field: 'mhlr' for media handlers and 'dhlr' for data handlers.") }, { "HandlerDescription", N_("Handler Description"), "Text", xmpText, xmpExternal, N_("A (counted) string that specifies the name of the component-that is, the media handler used when this media was created..") }, { "HandlerType", N_("Handler Type"), "Text", xmpText, xmpExternal, N_("A four-character code that identifies the type of the media handler or data handler.") }, { "HandlerVendorID", N_("Handler Vendor ID"), "Text", xmpText, xmpExternal, N_("Component manufacturer.") }, { "MediaCreateDate", N_("Media Track Create Date"), "Integer", xmpText, xmpExternal, N_("A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) when the media header was created.") }, { "MediaDuration", N_("Media Track Duration"), "Integer", xmpText, xmpExternal, N_("A time value that indicates the duration of this media (in the movie's time coordinate system).") }, { "MediaHeaderVersion", N_("Media Header Version"), "Text", xmpText, xmpExternal, N_("A 1-byte specification of the version of this media header") }, { "MediaLangCode", N_("Media Language Code"), "Integer", xmpText, xmpExternal, N_("A 16-bit integer that specifies the language code for this media.") }, { "MediaModifyDate", N_("Media Track Modify Date"), "Integer", xmpText, xmpExternal, N_("A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) when the media header was last modified.") }, { "MediaTimeScale", N_("Media Time Scale"), "Integer", xmpText, xmpExternal, N_("A time value that indicates the time scale for this media-that is, the number of time units that pass per second in its time coordinate system." ) }, { "OutputSampleRate", N_("Output Audio Sample Rate"), "Integer", xmpText, xmpExternal, N_("The output audio sample rate. Can be any value, but commonly 32000, 41100, or 48000.") }, { "SampleCount", N_("Audio Sample Count"), "Integer", xmpText, xmpExternal, N_("Sample taken for Analyzing Audio Stream") }, { "SampleRate", N_("Audio Sample Rate"), "Integer", xmpText, xmpExternal, N_("The audio sample rate. Can be any value, but commonly 32000, 41100, or 48000.") }, { "SampleType", N_("Audio Sample Type"), "closed Choice of Text", xmpText, xmpExternal, N_("The audio sample type. One of: 8Int, 16Int, 32Int, 32Float.") }, { "SchemeTitle", N_("Sound Scheme Title"), "Text", xmpText, xmpExternal, N_("Sound Scheme Title.") }, { "TimeOffset", N_("Time Offset"), "Integer", xmpText, xmpExternal, N_("Specifies the presentation time offset of the stream in 100-nanosecond units. This value shall be equal to the send time of the first interleaved packet in the data section.") }, { "TrackCreateDate", N_("Audio Track Create Date"), "Integer", xmpText, xmpExternal, N_("A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) when the track header was created.") }, { "TrackDuration", N_("Audio Track Duration"), "Integer", xmpText, xmpExternal, N_("A time value that indicates the duration of this track (in the movie's time coordinate system).") }, { "TrackForced", N_("Audio Track Forced"), "Text", xmpText, xmpExternal, N_("Audio Track Forced , i.e. Enabled/Disabled") }, { "TrackID", N_("Track ID"), "Integer", xmpText, xmpExternal, N_("A 32-bit integer that uniquely identifies the track. The value 0 cannot be used.") }, { "TrackHeaderVersion", N_("Track Header Version"), "Text", xmpText, xmpExternal, N_("A 1-byte specification of the version of this track header") }, { "TrackLacing", N_("Audio Track Lacing"), "Text", xmpText, xmpExternal, N_("Audio Track Lacing , i.e. Enabled/Disabled") }, { "TrackLang", N_("Track Language"), "Text", xmpText, xmpExternal, N_("The Language in which a particular stream is recorded in.") }, { "TrackLayer", N_("Audio Track Layer"), "Integer", xmpText, xmpExternal, N_("A 16-bit integer that indicates this track's spatial priority in its movie. The QuickTime Movie" "Toolbox uses this value to determine how tracks overlay one another. Tracks with lower layer" "values are displayed in front of tracks with higher layer values.") }, { "TrackModifyDate", N_("Audio Track Modify Date"), "Integer", xmpText, xmpExternal, N_("A 32-bit integer that indicates (in seconds since midnight, January 1, 1904) when the track header was last modified.") }, { "TrackVolume", N_("Track Volume"), "Rational", xmpText, xmpExternal, N_("A 16-bit fixed-point number that specifies how loud to play this track's sound. A value of 1.0 indicates full volume.") }, { "URL", N_("Audio URL"), "Text", xmpText, xmpExternal, N_("A C string that specifies a URL. There may be additional data after the C string.") }, { "URN", N_("Audio URN"), "Text", xmpText, xmpExternal, N_("A C string that specifies a URN. There may be additional data after the C string.") }, { "VendorID", N_("Vendor ID"), "Text", xmpText, xmpExternal, N_("A 32-bit integer that specifies the developer of the compressor that generated the compressed data. Often this field contains 'appl' to indicate Apple Computer, Inc.") }, { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpDctermsInfo[] = { // dcterms properties used by DwC under the Record Class. { "type", N_("Type"), "bag open Choice", xmpBag, xmpExternal, N_("The nature or genre of the resource.") }, { "modified", N_("Date Modified"), "seq Date", xmpSeq, xmpExternal, N_("Date on which the resource was changed.") }, { "language", N_("Language"), "bag Locale", xmpBag, xmpExternal, N_("A language of the resource.") }, { "license", N_("License"), "Lang Alt", langAlt, xmpExternal, N_("A legal document giving official permission to do something with the resource.") }, { "rightsHolder", N_("Rights Holder"), "seq ProperName", xmpSeq, xmpExternal, N_("A person or organization owning or managing rights over the resource.") }, { "accessRights", N_("Access Rights"), "Lang Alt", langAlt, xmpExternal, N_("Information about who can access the resource or an indication of its security status.") }, { "bibliographicCitation", N_("Bibliographic Citation"), "Text", xmpText, xmpExternal, N_("A bibliographic reference for the resource.") }, { "references", N_("References"), "bag Text", xmpBag, xmpExternal, N_("A related resource that is referenced, cited, or otherwise pointed to by the described resource.") }, // Location Level Class { "Location", N_("Location"), "Location", xmpText, xmpInternal, N_("*Main structure* containing Darwin Core location based information."), }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpDwCInfo[] = { // Record Level Class { "Record", N_("Record"), "Record", xmpText, xmpInternal, N_("*Main structure* containing record based information."), }, // Record Level Terms { "institutionID", N_("Institution ID"), "Text", xmpText, xmpExternal, N_("An identifier for the institution having custody of the object(s) or information referred to in the record.") }, { "collectionID", N_("Collection ID"), "Text", xmpText, xmpExternal, N_("An identifier for the collection or dataset from which the record was derived. For physical specimens, the recommended best practice is to use the identifier in a collections registry such as the Biodiversity Collections Index (http://www.biodiversitycollectionsindex.org/).") }, { "institutionCode", N_("Institution Code"), "Text", xmpText, xmpExternal, N_("The name (or acronym) in use by the institution having custody of the object(s) or information referred to in the record.") }, { "datasetID", N_("Dataset ID"), "Text", xmpText, xmpExternal, N_("An identifier for the set of data. May be a global unique identifier or an identifier specific to a collection or institution.") }, { "collectionCode", N_("Collection Code"), "Text", xmpText, xmpExternal, N_("The name, acronym, coden, or initialism identifying the collection or data set from which the record was derived.") }, { "datasetName", N_("Dataset Name"), "Text", xmpText, xmpExternal, N_("The name identifying the data set from which the record was derived.") }, { "ownerInstitutionCode", N_("Owner Institution Code"), "Text", xmpText, xmpExternal, N_("The name (or acronym) in use by the institution having ownership of the object(s) or information referred to in the record.") }, { "basisOfRecord", N_("Basis Of Record"), "Text", xmpText, xmpExternal, N_("The specific nature of the data record - a subtype of the type. Recommended best practice is to use a controlled vocabulary such as the Darwin Core Type Vocabulary (http://rs.tdwg.org/dwc/terms/type-vocabulary/index.htm).") }, { "informationWithheld", N_("Information Withheld"), "Text", xmpText, xmpExternal, N_("Additional information that exists, but that has not been shared in the given record.") }, { "dataGeneralizations", N_("Data Generalizations"), "Text", xmpText, xmpExternal, N_("Actions taken to make the shared data less specific or complete than in its original form. Suggests that alternative data of higher quality may be available on request.") }, { "dynamicProperties", N_("Dynamic Properties"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of additional measurements, facts, characteristics, or assertions about the record. Meant to provide a mechanism for structured content such as key-value pairs.") }, // Occurrence Level Class { "Occurrence", N_("Occurrence"), "Occurrence", xmpText, xmpInternal, N_("*Main structure* containing occurrence based information."), }, // Occurrence Level Terms { "occurrenceID", N_("Occurrence ID"), "Text", xmpText, xmpExternal, N_("An identifier for the Occurrence (as opposed to a particular digital record of the occurrence). In the absence of a persistent global unique identifier, construct one from a combination of identifiers in the record that will most closely make the occurrenceID globally unique.") }, { "catalogNumber", N_("Catalog Number"), "Text", xmpText, xmpExternal, N_("An identifier (preferably unique) for the record within the data set or collection.") }, { "occurrenceDetails", N_("Occurrence Details"), "Text", xmpText, xmpExternal, N_("Depreciated. Details about the Occurrence.") }, { "occurrenceRemarks", N_("Occurrence Remarks"), "Text", xmpText, xmpExternal, N_("Comments or notes about the Occurrence.") }, { "recordNumber", N_("Record Number"), "Text", xmpText, xmpExternal, N_("An identifier given to the Occurrence at the time it was recorded. Often serves as a link between field notes and an Occurrence record, such as a specimen collector's number.") }, { "recordedBy", N_("Recorded By"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of names of people, groups, or organizations responsible for recording the original Occurrence. The primary collector or observer, especially one who applies a personal identifier (recordNumber), should be listed first.") }, { "individualID", N_("Individual ID"), "Text", xmpText, xmpExternal, N_("Depreciated. An identifier for an individual or named group of individual organisms represented in the Occurrence. Meant to accommodate resampling of the same individual or group for monitoring purposes. May be a global unique identifier or an identifier specific to a data set.") }, { "individualCount", N_("Individual Count"), "Integer", xmpText, xmpExternal, N_("The number of individuals represented present at the time of the Occurrence.") }, { "organismQuantity", N_("Organism Quantity"), "Text", xmpText, xmpExternal, N_("A number or enumeration value for the quantity of organisms.") }, { "organismQuantityType", N_("Organism Quantity Type"), "Text", xmpText, xmpExternal, N_("The type of quantification system used for the quantity of organisms.") }, { "sex", N_("Sex"), "Text", xmpText, xmpExternal, N_("The sex of the biological individual(s) represented in the Occurrence. Recommended best practice is to use a controlled vocabulary.") }, { "lifeStage", N_("Life Stage"), "Text", xmpText, xmpExternal, N_("The age class or life stage of the biological individual(s) at the time the Occurrence was recorded. Recommended best practice is to use a controlled vocabulary.") }, { "reproductiveCondition", N_("Reproductive Condition"), "Text", xmpText, xmpExternal, N_("The reproductive condition of the biological individual(s) represented in the Occurrence. Recommended best practice is to use a controlled vocabulary.") }, { "behavior", N_("Behavior"), "Text", xmpText, xmpExternal, N_("A description of the behavior shown by the subject at the time the Occurrence was recorded. Recommended best practice is to use a controlled vocabulary.") }, { "establishmentMeans", N_("Establishment Means"), "Text", xmpText, xmpExternal, N_("The process by which the biological individual(s) represented in the Occurrence became established at the location. Recommended best practice is to use a controlled vocabulary.") }, { "occurrenceStatus", N_("Occurrence Status"), "Text", xmpText, xmpExternal, N_("A statement about the presence or absence of a Taxon at a Location. Recommended best practice is to use a controlled vocabulary.") }, { "preparations", N_("Preparations"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of preparations and preservation methods for a specimen.") }, { "disposition", N_("Disposition"), "Text", xmpText, xmpExternal, N_("The current state of a specimen with respect to the collection identified in collectionCode or collectionID. Recommended best practice is to use a controlled vocabulary.") }, { "otherCatalogNumbers", N_("Other Catalog Numbers"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of previous or alternate fully qualified catalog numbers or other human-used identifiers for the same Occurrence, whether in the current or any other data set or collection.") }, { "previousIdentifications", N_("Previous Identifications"), "bag Text", xmpBag, xmpExternal, N_("Depreciated. A list (concatenated and separated) of previous assignments of names to the Occurrence.") }, { "associatedMedia", N_("Associated Media"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of identifiers (publication, global unique identifier, URI) of media associated with the Occurrence.") }, { "associatedReferences", N_("Associated References"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of identifiers (publication, bibliographic reference, global unique identifier, URI) of literature associated with the Occurrence.") }, { "associatedOccurrences", N_("Associated Occurrences"), "bag Text", xmpBag, xmpExternal, N_("Depreciated. A list (concatenated and separated) of identifiers of other Occurrence records and their associations to this Occurrence.") }, { "associatedSequences", N_("Associated Sequences"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of identifiers (publication, global unique identifier, URI) of genetic sequence information associated with the Occurrence.") }, { "associatedTaxa", N_("Associated Taxa"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of identifiers or names of taxa and their associations with the Occurrence.") }, // Organism Level Class { "Organism", N_("Organism"), "Organism", xmpText, xmpInternal, N_("*Main structure* containing organism based information."), }, // Organism Level Terms { "organismID", N_("Organism ID"), "Text", xmpText, xmpExternal, N_("An identifier for the Organism instance (as opposed to a particular digital record of the Organism). May be a globally unique identifier or an identifier specific to the data set.") }, { "organismName", N_("Organism Name"), "Text", xmpText, xmpExternal, N_("A textual name or label assigned to an Organism instance.") }, { "organismScope", N_("Organism Scope"), "Text", xmpText, xmpExternal, N_("A description of the kind of Organism instance. Can be used to indicate whether the Organism instance represents a discrete organism or if it represents a particular type of aggregation. Recommended best practice is to use a controlled vocabulary.") }, { "associatedOccurrences", N_("Organism Associated Occurrences"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated with a vertical bar ' | ') of identifiers of other Occurrence records and their associations to this Occurrence.") }, { "associatedOrganisms", N_("Associated Organisms"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated with a vertical bar ' | ' ) of identifiers of other Organisms and their associations to this Organism.") }, { "previousIdentifications", N_("Previous Identifications"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated with a vertical bar ' | ' ) of previous assignments of names to the Organism.") }, { "organismRemarks", N_("Organism Remarks"), "Text", xmpText, xmpExternal, N_("Comments or notes about the Organism instance.") }, // Material Sample Level Class { "MaterialSample", N_("Material Sample"), "MaterialSample", xmpText, xmpInternal, N_("*Main structure* containing material sample based information."), }, { "LivingSpecimen", N_("Living Specimen"), "LivingSpecimen", xmpText, xmpInternal, N_("*Main structure* containing living specimen based information. A specimen that is alive."), }, { "PreservedSpecimen", N_("Preserved Specimen"), "PreservedSpecimen", xmpText, xmpInternal, N_("*Main structure* containing preserved specimen based information. A specimen that has been preserved."), }, { "FossilSpecimen", N_("Fossil Specimen"), "FossilSpecimen", xmpText, xmpInternal, N_("*Main structure* containing fossil specimen based information. A preserved specimen that is a fossil."), }, // Material Sample Level Terms { "materialSampleID", N_("Material Sample ID"), "Text", xmpText, xmpExternal, N_("An identifier for the MaterialSample (as opposed to a particular digital record of the material sample). In the absence of a persistent global unique identifier, construct one from a combination of identifiers in the record that will most closely make the materialSampleID globally unique.") }, // Event Level Class { "Event", N_("Event"), "Event", xmpText, xmpInternal, N_("*Main structure* containing event based information."), }, { "HumanObservation", N_("Human Observation"), "HumanObservation", xmpText, xmpInternal, N_("*Main structure* containing human observation based information."), }, { "MachineObservation", N_("Machine Observation"), "MachineObservation", xmpText, xmpInternal, N_("*Main structure* containing machine observation based information."), }, // Event Level Terms { "eventID", N_("Event ID"), "Text", xmpText, xmpExternal, N_("An identifier for the set of information associated with an Event (something that occurs at a place and time). May be a global unique identifier or an identifier specific to the data set.") }, { "parentEventID", N_("Parent Event ID"), "Text", xmpText, xmpExternal, N_("An identifier for the broader Event that groups this and potentially other Events.") }, { "eventDate", N_("Event Date"), "Date", xmpText, xmpExternal, N_("The date-time or interval during which an Event occurred. For occurrences, this is the date-time when the event was recorded. Not suitable for a time in a geological context. Recommended best practice is to use an encoding scheme, such as ISO 8601:2004(E).") }, { "earliestDate", N_("Event Earliest Date"), "Date", xmpText, xmpExternal, N_("Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which an Event started. For occurrences, this is the date-time when the event was recorded. Not suitable for a time in a geological context. Recommended best practice is to use an encoding scheme, such as ISO 8601:2004(E).") }, { "latestDate", N_("Event Latest Date"), "Date", xmpText, xmpExternal, N_("Depreciated. (Child of Xmp.dwc.Event) The date-time or interval during which an Event ended. For occurrences, this is the date-time when the event was recorded. Not suitable for a time in a geological context. Recommended best practice is to use an encoding scheme, such as ISO 8601:2004(E).") }, { "eventTime", N_("Event Time"), "Date", xmpText, xmpExternal, N_("The time or interval during which an Event occurred. Recommended best practice is to use an encoding scheme, such as ISO 8601:2004(E).") }, { "startDayOfYear", N_("Start Day Of Year"), "Integer", xmpText, xmpExternal, N_("The earliest ordinal day of the year on which the Event occurred (1 for January 1, 365 for December 31, except in a leap year, in which case it is 366).") }, { "endDayOfYear", N_("End Day Of Year"), "Integer", xmpText, xmpExternal, N_("The latest ordinal day of the year on which the Event occurred (1 for January 1, 365 for December 31, except in a leap year, in which case it is 366).") }, { "year", N_("Year"), "Integer", xmpText, xmpExternal, N_("The four-digit year in which the Event occurred, according to the Common Era Calendar.") }, { "month", N_("Month"), "Integer", xmpText, xmpExternal, N_("The ordinal month in which the Event occurred.") }, { "day", N_("Day"), "Integer", xmpText, xmpExternal, N_("The integer day of the month on which the Event occurred.") }, { "verbatimEventDate", N_("Verbatim Event Date"), "Text", xmpText, xmpExternal, N_("The verbatim original representation of the date and time information for an Event.") }, { "habitat", N_("Habitat"), "Text", xmpText, xmpExternal, N_("A category or description of the habitat in which the Event occurred.") }, { "samplingProtocol", N_("Sampling Protocol"), "Text", xmpText, xmpExternal, N_("The name of, reference to, or description of the method or protocol used during an Event.") }, { "samplingEffort", N_("Sampling Effort"), "Text", xmpText, xmpExternal, N_("The amount of effort expended during an Event.") }, { "sampleSizeValue", N_("Sampling Size Value"), "Text", xmpText, xmpExternal, N_("A numeric value for a measurement of the size (time duration, length, area, or volume) of a sample in a sampling event.") }, { "sampleSizeUnit", N_("Sampling Size Unit"), "Text", xmpText, xmpExternal, N_("The unit of measurement of the size (time duration, length, area, or volume) of a sample in a sampling event.") }, { "fieldNumber", N_("Field Number"), "Text", xmpText, xmpExternal, N_("An identifier given to the event in the field. Often serves as a link between field notes and the Event.") }, { "fieldNotes", N_("Field Notes"), "Text", xmpText, xmpExternal, N_("One of (a) an indicator of the existence of, (b) a reference to (publication, URI), or (c) the text of notes taken in the field about the Event.") }, { "eventRemarks", N_("Event Remarks"), "Text", xmpText, xmpExternal, N_("Comments or notes about the Event.") }, //Location Level Class { "dctermsLocation", N_("Location Class"), "Location", xmpText, xmpInternal, N_("Depreciated. Use Xmp.dcterms.Location instead. *Main structure* containing location based information."), }, //Location Level Terms { "locationID", N_("Location ID"), "Text", xmpText, xmpExternal, N_("An identifier for the set of location information (data associated with Location). May be a global unique identifier or an identifier specific to the data set.") }, { "higherGeographyID", N_("Higher Geography ID"), "Text", xmpText, xmpExternal, N_("An identifier for the geographic region within which the Location occurred. Recommended best practice is to use an persistent identifier from a controlled vocabulary such as the Getty Thesaurus of Geographic Names.") }, { "higherGeography", N_("Higher Geography"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of geographic names less specific than the information captured in the locality term.") }, { "continent", N_("Continent"), "Text", xmpText, xmpExternal, N_("The name of the continent in which the Location occurs. Recommended best practice is to use a controlled vocabulary such as the Getty Thesaurus of Geographic Names or the ISO 3166 Continent code.") }, { "waterBody", N_("Water Body"), "Text", xmpText, xmpExternal, N_("The name of the water body in which the Location occurs. Recommended best practice is to use a controlled vocabulary such as the Getty Thesaurus of Geographic Names.") }, { "islandGroup", N_("Island Group"), "Text", xmpText, xmpExternal, N_("The name of the island group in which the Location occurs. Recommended best practice is to use a controlled vocabulary such as the Getty Thesaurus of Geographic Names.") }, { "island", N_("Island"), "Text", xmpText, xmpExternal, N_("The name of the island on or near which the Location occurs. Recommended best practice is to use a controlled vocabulary such as the Getty Thesaurus of Geographic Names.") }, { "country", N_("Country"), "Text", xmpText, xmpExternal, N_("The name of the country or major administrative unit in which the Location occurs. Recommended best practice is to use a controlled vocabulary such as the Getty Thesaurus of Geographic Names.") }, { "countryCode", N_("Country Code"), "Text", xmpText, xmpExternal, N_("The standard code for the country in which the Location occurs. Recommended best practice is to use ISO 3166-1-alpha-2 country codes.") }, { "stateProvince", N_("State Province"), "Text", xmpText, xmpExternal, N_("The name of the next smaller administrative region than country (state, province, canton, department, region, etc.) in which the Location occurs.") }, { "county", N_("County"), "Text", xmpText, xmpExternal, N_("The full, unabbreviated name of the next smaller administrative region than stateProvince (county, shire, department, etc.) in which the Location occurs.") }, { "municipality", N_("Municipality"), "Text", xmpText, xmpExternal, N_("The full, unabbreviated name of the next smaller administrative region than county (city, municipality, etc.) in which the Location occurs. Do not use this term for a nearby named place that does not contain the actual location.") }, { "locality", N_("Locality"), "Text", xmpText, xmpExternal, N_("The specific description of the place. Less specific geographic information can be provided in other geographic terms (higherGeography, continent, country, stateProvince, county, municipality, waterBody, island, islandGroup). This term may contain information modified from the original to correct perceived errors or standardize the description.") }, { "verbatimLocality", N_("Verbatim Locality"), "Text", xmpText, xmpExternal, N_("The original textual description of the place.") }, { "verbatimElevation", N_("Verbatim Elevation"), "Text", xmpText, xmpExternal, N_("The original description of the elevation (altitude, usually above sea level) of the Location.") }, { "minimumElevationInMeters", N_("Minimum Elevation In Meters"), "Real", xmpText, xmpExternal, N_("The lower limit of the range of elevation (altitude, usually above sea level), in meters.") }, { "maximumElevationInMeters", N_("Maximum Elevation In Meters"), "Real", xmpText, xmpExternal, N_("The upper limit of the range of elevation (altitude, usually above sea level), in meters.") }, { "verbatimDepth", N_("Verbatim Depth"), "Text", xmpText, xmpExternal, N_("The original description of the depth below the local surface.") }, { "minimumDepthInMeters", N_("Minimum Depth In Meters"), "Real", xmpText, xmpExternal, N_("The lesser depth of a range of depth below the local surface, in meters.") }, { "maximumDepthInMeters", N_("Maximum Depth In Meters"), "Real", xmpText, xmpExternal, N_("The greater depth of a range of depth below the local surface, in meters.") }, { "minimumDistanceAboveSurfaceInMeters", N_("Minimum Distance Above Surface In Meters"), "Real", xmpText, xmpExternal, N_("The lesser distance in a range of distance from a reference surface in the vertical direction, in meters. Use positive values for locations above the surface, negative values for locations below. If depth measures are given, the reference surface is the location given by the depth, otherwise the reference surface is the location given by the elevation.") }, { "maximumDistanceAboveSurfaceInMeters", N_("Maximum Distance Above Surface In Meters"), "Real", xmpText, xmpExternal, N_("The greater distance in a range of distance from a reference surface in the vertical direction, in meters. Use positive values for locations above the surface, negative values for locations below. If depth measures are given, the reference surface is the location given by the depth, otherwise the reference surface is the location given by the elevation.") }, { "locationAccordingTo", N_("Location According To"), "Text", xmpText, xmpExternal, N_("Information about the source of this Location information. Could be a publication (gazetteer), institution, or team of individuals.") }, { "locationRemarks", N_("Location Remarks"), "Text", xmpText, xmpExternal, N_("Comments or notes about the Location.") }, { "verbatimCoordinates", N_("Verbatim Coordinates"), "Text", xmpText, xmpExternal, N_("The verbatim original spatial coordinates of the Location. The coordinate ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these coordinates should be stored in verbatimSRS and the coordinate system should be stored in verbatimCoordinateSystem.") }, { "verbatimLatitude", N_("Verbatim Latitude"), "Text", xmpText, xmpExternal, N_("The verbatim original latitude of the Location. The coordinate ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these coordinates should be stored in verbatimSRS and the coordinate system should be stored in verbatimCoordinateSystem.") }, { "verbatimLongitude", N_("Verbatim Longitude"), "Text", xmpText, xmpExternal, N_("The verbatim original longitude of the Location. The coordinate ellipsoid, geodeticDatum, or full Spatial Reference System (SRS) for these coordinates should be stored in verbatimSRS and the coordinate system should be stored in verbatimCoordinateSystem.") }, { "verbatimCoordinateSystem", N_("Verbatim Coordinate System"), "Text", xmpText, xmpExternal, N_("The spatial coordinate system for the verbatimLatitude and verbatimLongitude or the verbatimCoordinates of the Location. Recommended best practice is to use a controlled vocabulary.") }, { "verbatimSRS", N_("Verbatim SRS"), "Text", xmpText, xmpExternal, N_("The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which coordinates given in verbatimLatitude and verbatimLongitude, or verbatimCoordinates are based. Recommended best practice is use the EPSG code as a controlled vocabulary to provide an SRS, if known. Otherwise use a controlled vocabulary for the name or code of the geodetic datum, if known. Otherwise use a controlled vocabulary for the name or code of the ellipsoid, if known. If none of these is known, use the value \"unknown\".") }, { "decimalLatitude", N_("Decimal Latitude"), "Real", xmpText, xmpExternal, N_("The geographic latitude (in decimal degrees, using the spatial reference system given in geodeticDatum) of the geographic center of a Location. Positive values are north of the Equator, negative values are south of it. Legal values lie between -90 and 90, inclusive.") }, { "decimalLongitude", N_("Decimal Longitude"), "Real", xmpText, xmpExternal, N_("The geographic longitude (in decimal degrees, using the spatial reference system given in geodeticDatum) of the geographic center of a Location. Positive values are east of the Greenwich Meridian, negative values are west of it. Legal values lie between -180 and 180, inclusive.") }, { "geodeticDatum", N_("Geodetic Datum"), "Text", xmpText, xmpExternal, N_("The ellipsoid, geodetic datum, or spatial reference system (SRS) upon which the geographic coordinates given in decimalLatitude and decimalLongitude as based. Recommended best practice is use the EPSG code as a controlled vocabulary to provide an SRS, if known. Otherwise use a controlled vocabulary for the name or code of the geodetic datum, if known. Otherwise use a controlled vocabulary for the name or code of the ellipsoid, if known. If none of these is known, use the value \"unknown\".") }, { "coordinateUncertaintyInMeters", N_("Coordinate Uncertainty In Meters"), "Real", xmpText, xmpExternal, N_("The horizontal distance (in meters) from the given decimalLatitude and decimalLongitude describing the smallest circle containing the whole of the Location. Leave the value empty if the uncertainty is unknown, cannot be estimated, or is not applicable (because there are no coordinates). Zero is not a valid value for this term.") }, { "coordinatePrecision", N_("Coordinate Precision"), "Text", xmpText, xmpExternal, N_("A decimal representation of the precision of the coordinates given in the decimalLatitude and decimalLongitude.") }, { "pointRadiusSpatialFit", N_("Point Radius Spatial Fit"), "Real", xmpText, xmpExternal, N_("The ratio of the area of the point-radius (decimalLatitude, decimalLongitude, coordinateUncertaintyInMeters) to the area of the true (original, or most specific) spatial representation of the Location. Legal values are 0, greater than or equal to 1, or undefined. A value of 1 is an exact match or 100% overlap. A value of 0 should be used if the given point-radius does not completely contain the original representation. The pointRadiusSpatialFit is undefined (and should be left blank) if the original representation is a point without uncertainty and the given georeference is not that same point (without uncertainty). If both the original and the given georeference are the same point, the pointRadiusSpatialFit is 1.") }, { "footprintWKT", N_("Footprint WKT"), "Text", xmpText, xmpExternal, N_("A Well-Known Text (WKT) representation of the shape (footprint, geometry) that defines the Location. A Location may have both a point-radius representation (see decimalLatitude) and a footprint representation, and they may differ from each other.") }, { "footprintSRS", N_("Footprint SRS"), "Text", xmpText, xmpExternal, N_("A Well-Known Text (WKT) representation of the Spatial Reference System (SRS) for the footprintWKT of the Location. Do not use this term to describe the SRS of the decimalLatitude and decimalLongitude, even if it is the same as for the footprintWKT - use the geodeticDatum instead.") }, { "footprintSpatialFit", N_("Footprint Spatial Fit"), "Real", xmpText, xmpExternal, N_("The ratio of the area of the footprint (footprintWKT) to the area of the true (original, or most specific) spatial representation of the Location. Legal values are 0, greater than or equal to 1, or undefined. A value of 1 is an exact match or 100% overlap. A value of 0 should be used if the given footprint does not completely contain the original representation. The footprintSpatialFit is undefined (and should be left blank) if the original representation is a point and the given georeference is not that same point. If both the original and the given georeference are the same point, the footprintSpatialFit is 1.") }, { "georeferencedBy", N_("Georeferenced By"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of names of people, groups, or organizations who determined the georeference (spatial representation) for the Location.") }, { "georeferencedDate", N_("Georeferenced Date"), "Date", xmpText, xmpExternal, N_("The date on which the Location was georeferenced. Recommended best practice is to use an encoding scheme, such as ISO 8601:2004(E).") }, { "georeferenceProtocol", N_("Georeference Protocol"), "Text", xmpText, xmpExternal, N_("A description or reference to the methods used to determine the spatial footprint, coordinates, and uncertainties.") }, { "georeferenceSources", N_("Georeference Sources"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of maps, gazetteers, or other resources used to georeference the Location, described specifically enough to allow anyone in the future to use the same resources.") }, { "georeferenceVerificationStatus", N_("Georeference Verification Status"), "Text", xmpText, xmpExternal, N_("A categorical description of the extent to which the georeference has been verified to represent the best possible spatial description. Recommended best practice is to use a controlled vocabulary.") }, { "georeferenceRemarks", N_("Georeference Remarks"), "Text", xmpText, xmpExternal, N_("Notes or comments about the spatial description determination, explaining assumptions made in addition or opposition to the those formalized in the method referred to in georeferenceProtocol.") }, // Geological Context Level Class { "GeologicalContext", N_("Geological Context"), "GeologicalContext", xmpText, xmpInternal, N_("*Main structure* containing geological context based information."), }, // Geological Context Level Terms { "geologicalContextID", N_("Geological Context ID"), "Text", xmpText, xmpExternal, N_("An identifier for the set of information associated with a GeologicalContext (the location within a geological context, such as stratigraphy). May be a global unique identifier or an identifier specific to the data set.") }, { "earliestEonOrLowestEonothem", N_("Earliest Eon Or Lowest Eonothem"), "Text", xmpText, xmpExternal, N_("The full name of the earliest possible geochronologic eon or lowest chrono-stratigraphic eonothem or the informal name (\"Precambrian\") attributable to the stratigraphic horizon from which the cataloged item was collected.") }, { "latestEonOrHighestEonothem", N_("Latest Eon Or Highest Eonothem"), "Text", xmpText, xmpExternal, N_("The full name of the latest possible geochronologic eon or highest chrono-stratigraphic eonothem or the informal name (\"Precambrian\") attributable to the stratigraphic horizon from which the cataloged item was collected.") }, { "earliestEraOrLowestErathem", N_("Earliest Era Or Lowest Erathem"), "Text", xmpText, xmpExternal, N_("The full name of the earliest possible geochronologic era or lowest chronostratigraphic erathem attributable to the stratigraphic horizon from which the cataloged item was collected.") }, { "latestEraOrHighestErathem", N_("Latest Era Or Highest Erathem"), "Text", xmpText, xmpExternal, N_("The full name of the latest possible geochronologic era or highest chronostratigraphic erathem attributable to the stratigraphic horizon from which the cataloged item was collected.") }, { "earliestPeriodOrLowestSystem", N_("Earliest Period Or Lowest System"), "Text", xmpText, xmpExternal, N_("The full name of the earliest possible geochronologic period or lowest chronostratigraphic system attributable to the stratigraphic horizon from which the cataloged item was collected.") }, { "latestPeriodOrHighestSystem", N_("Latest Period Or Highest System"), "Text", xmpText, xmpExternal, N_("The full name of the latest possible geochronologic period or highest chronostratigraphic system attributable to the stratigraphic horizon from which the cataloged item was collected.") }, { "earliestEpochOrLowestSeries", N_("Earliest Epoch Or Lowest Series"), "Text", xmpText, xmpExternal, N_("The full name of the earliest possible geochronologic epoch or lowest chronostratigraphic series attributable to the stratigraphic horizon from which the cataloged item was collected.") }, { "latestEpochOrHighestSeries", N_("Latest Epoch Or Highest Series"), "Text", xmpText, xmpExternal, N_("The full name of the latest possible geochronologic epoch or highest chronostratigraphic series attributable to the stratigraphic horizon from which the cataloged item was collected.") }, { "earliestAgeOrLowestStage", N_("Earliest Age Or Lowest Stage"), "Text", xmpText, xmpExternal, N_("The full name of the earliest possible geochronologic age or lowest chronostratigraphic stage attributable to the stratigraphic horizon from which the cataloged item was collected.") }, { "latestAgeOrHighestStage", N_("Latest Age Or Highest Stage"), "Text", xmpText, xmpExternal, N_("The full name of the latest possible geochronologic age or highest chronostratigraphic stage attributable to the stratigraphic horizon from which the cataloged item was collected.") }, { "lowestBiostratigraphicZone", N_("Lowest Biostratigraphic Zone"), "Text", xmpText, xmpExternal, N_("The full name of the lowest possible geological biostratigraphic zone of the stratigraphic horizon from which the cataloged item was collected.") }, { "highestBiostratigraphicZone", N_("Highest Biostratigraphic Zone"), "Text", xmpText, xmpExternal, N_("The full name of the highest possible geological biostratigraphic zone of the stratigraphic horizon from which the cataloged item was collected.") }, { "lithostratigraphicTerms", N_("Lithostratigraphic Terms"), "Text", xmpText, xmpExternal, N_("The combination of all litho-stratigraphic names for the rock from which the cataloged item was collected.") }, { "group", N_("Group"), "Text", xmpText, xmpExternal, N_("The full name of the lithostratigraphic group from which the cataloged item was collected.") }, { "formation", N_("Formation"), "Text", xmpText, xmpExternal, N_("The full name of the lithostratigraphic formation from which the cataloged item was collected.") }, { "member", N_("Member"), "Text", xmpText, xmpExternal, N_("The full name of the lithostratigraphic member from which the cataloged item was collected.") }, { "bed", N_("Bed"), "Text", xmpText, xmpExternal, N_("The full name of the lithostratigraphic bed from which the cataloged item was collected.") }, // Identification Level Class { "Identification", N_("Identification"), "Identification", xmpText, xmpInternal, N_("*Main structure* containing identification based information."), }, // Identification Level Terms { "identificationID", N_("Identification ID"), "Text", xmpText, xmpExternal, N_("An identifier for the Identification (the body of information associated with the assignment of a scientific name). May be a global unique identifier or an identifier specific to the data set.") }, { "identifiedBy", N_("Identified By"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of names of people, groups, or organizations who assigned the Taxon to the subject.") }, { "dateIdentified", N_("Date Identified"), "Date", xmpText, xmpExternal, N_("The date on which the subject was identified as representing the Taxon. Recommended best practice is to use an encoding scheme, such as ISO 8601:2004(E).") }, { "identificationReferences", N_("Identification References"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of references (publication, global unique identifier, URI) used in the Identification.") }, { "identificationVerificationStatus", N_("Identification Verification Status"), "Text", xmpText, xmpExternal, N_("A categorical indicator of the extent to which the taxonomic identification has been verified to be correct. Recommended best practice is to use a controlled vocabulary such as that used in HISPID/ABCD.") }, { "identificationRemarks", N_("Identification Remarks"), "Text", xmpText, xmpExternal, N_("Comments or notes about the Identification.") }, { "identificationQualifier", N_("Identification Qualifier"), "Text", xmpText, xmpExternal, N_("A brief phrase or a standard term (\"cf.\" \"aff.\") to express the determiner's doubts about the Identification.") }, { "typeStatus", N_("Type Status"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of nomenclatural types (type status, typified scientific name, publication) applied to the subject.") }, // Taxon Level Class { "Taxon", N_("Taxon"), "Taxon", xmpBag, xmpInternal, N_("*Main structure* containing taxonomic based information."), }, // Taxon Level Terms { "taxonID", N_("Taxon ID"), "Text", xmpText, xmpExternal, N_("An identifier for the set of taxon information (data associated with the Taxon class). May be a global unique identifier or an identifier specific to the data set.") }, { "scientificNameID", N_("Scientific Name ID"), "Text", xmpText, xmpExternal, N_("An identifier for the nomenclatural (not taxonomic) details of a scientific name.") }, { "acceptedNameUsageID", N_("Accepted Name Usage ID"), "Text", xmpText, xmpExternal, N_("An identifier for the name usage (documented meaning of the name according to a source) of the currently valid (zoological) or accepted (botanical) taxon.") }, { "parentNameUsageID", N_("Parent Name Usage ID"), "Text", xmpText, xmpExternal, N_("An identifier for the name usage (documented meaning of the name according to a source) of the direct, most proximate higher-rank parent taxon (in a classification) of the most specific element of the scientificName.") }, { "originalNameUsageID", N_("Original Name Usage ID"), "Text", xmpText, xmpExternal, N_("An identifier for the name usage (documented meaning of the name according to a source) in which the terminal element of the scientificName was originally established under the rules of the associated nomenclaturalCode.") }, { "nameAccordingToID", N_("Name According To ID"), "Text", xmpText, xmpExternal, N_("An identifier for the source in which the specific taxon concept circumscription is defined or implied. See nameAccordingTo.") }, { "namePublishedInID", N_("Name Published In ID"), "Text", xmpText, xmpExternal, N_("An identifier for the publication in which the scientificName was originally established under the rules of the associated nomenclaturalCode.") }, { "taxonConceptID", N_("Taxon Concept ID"), "Text", xmpText, xmpExternal, N_("An identifier for the taxonomic concept to which the record refers - not for the nomenclatural details of a taxon.") }, { "scientificName", N_("Scientific Name"), "Text", xmpText, xmpExternal, N_("The full scientific name, with authorship and date information if known. When forming part of an Identification, this should be the name in lowest level taxonomic rank that can be determined. This term should not contain identification qualifications, which should instead be supplied in the IdentificationQualifier term.") }, { "acceptedNameUsage", N_("Accepted Name Usage"), "Text", xmpText, xmpExternal, N_("The full name, with authorship and date information if known, of the currently valid (zoological) or accepted (botanical) taxon.") }, { "parentNameUsage", N_("Parent Name Usage"), "Text", xmpText, xmpExternal, N_("The full name, with authorship and date information if known, of the direct, most proximate higher-rank parent taxon (in a classification) of the most specific element of the scientificName.") }, { "originalNameUsage", N_("Original Name Usage"), "Text", xmpText, xmpExternal, N_("The taxon name, with authorship and date information if known, as it originally appeared when first established under the rules of the associated nomenclaturalCode. The basionym (botany) or basonym (bacteriology) of the scientificName or the senior/earlier homonym for replaced names.") }, { "nameAccordingTo", N_("Name According To"), "Text", xmpText, xmpExternal, N_("The reference to the source in which the specific taxon concept circumscription is defined or implied - traditionally signified by the Latin \"sensu\" or \"sec.\" (from secundum, meaning \"according to\"). For taxa that result from identifications, a reference to the keys, monographs, experts and other sources should be given.") }, { "namePublishedIn", N_("Name Published In"), "Text", xmpText, xmpExternal, N_("A reference for the publication in which the scientificName was originally established under the rules of the associated nomenclaturalCode.") }, { "namePublishedInYear", N_("Name Published In Year"), "Text", xmpText, xmpExternal, N_("The four-digit year in which the scientificName was published.") }, { "higherClassification", N_("Higher Classification"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of taxa names terminating at the rank immediately superior to the taxon referenced in the taxon record. Recommended best practice is to order the list starting with the highest rank and separating the names for each rank with a semi-colon ;") }, { "kingdom", N_("Kingdom"), "Text", xmpText, xmpExternal, N_("The full scientific name of the kingdom in which the taxon is classified.") }, { "phylum", N_("Phylum"), "Text", xmpText, xmpExternal, N_("The full scientific name of the phylum or division in which the taxon is classified.") }, { "class", N_("Class"), "Text", xmpText, xmpExternal, N_("The full scientific name of the class in which the taxon is classified.") }, { "order", N_("Order"), "Text", xmpText, xmpExternal, N_("The full scientific name of the order in which the taxon is classified.") }, { "family", N_("Family"), "Text", xmpText, xmpExternal, N_("The full scientific name of the family in which the taxon is classified.") }, { "genus", N_("Genus"), "Text", xmpText, xmpExternal, N_("The full scientific name of the genus in which the taxon is classified.") }, { "subgenus", N_("Subgenus"), "Text", xmpText, xmpExternal, N_("The full scientific name of the subgenus in which the taxon is classified. Values should include the genus to avoid homonym confusion.") }, { "specificEpithet", N_("Specific Epithet"), "Text", xmpText, xmpExternal, N_("The name of the first or species epithet of the scientificName.") }, { "infraspecificEpithet", N_("Infraspecific Epithet"), "Text", xmpText, xmpExternal, N_("The name of the lowest or terminal infraspecific epithet of the scientificName, excluding any rank designation.") }, { "taxonRank", N_("Taxon Rank"), "Text", xmpText, xmpExternal, N_("The taxonomic rank of the most specific name in the scientificName. Recommended best practice is to use a controlled vocabulary.") }, { "verbatimTaxonRank", N_("Verbatim Taxon Rank"), "Text", xmpText, xmpExternal, N_("The taxonomic rank of the most specific name in the scientificName as it appears in the original record.") }, { "scientificNameAuthorship", N_("Scientific Name Authorship"), "Text", xmpText, xmpExternal, N_("The authorship information for the scientificName formatted according to the conventions of the applicable nomenclaturalCode.") }, { "vernacularName", N_("Vernacular Name"), "Lang Alt", langAlt, xmpExternal, N_("A common or vernacular name.") }, { "nomenclaturalCode", N_("Nomenclatural Code"), "Text", xmpText, xmpExternal, N_("The nomenclatural code (or codes in the case of an ambiregnal name) under which the scientificName is constructed. Recommended best practice is to use a controlled vocabulary.") }, { "taxonomicStatus", N_("Taxonomic Status"), "Text", xmpText, xmpExternal, N_("The status of the use of the scientificName as a label for a taxon. Requires taxonomic opinion to define the scope of a taxon. Rules of priority then are used to define the taxonomic status of the nomenclature contained in that scope, combined with the experts opinion. It must be linked to a specific taxonomic reference that defines the concept. Recommended best practice is to use a controlled vocabulary.") }, { "nomenclaturalStatus", N_("Nomenclatural Status"), "Text", xmpText, xmpExternal, N_("The status related to the original publication of the name and its conformance to the relevant rules of nomenclature. It is based essentially on an algorithm according to the business rules of the code. It requires no taxonomic opinion.") }, { "taxonRemarks", N_("Taxon Remarks"), "Text", xmpText, xmpExternal, N_("Comments or notes about the taxon or name.") }, // Resource Relationship Level Class { "ResourceRelationship", N_("Resource Relationship"), "ResourceRelationship", xmpText, xmpInternal, N_("*Main structure* containing relationships between resources based information."), }, // Resource Relationship Level Terms { "resourceRelationshipID", N_("Resource Relationship ID"), "Text", xmpText, xmpExternal, N_("An identifier for an instance of relationship between one resource (the subject) and another (relatedResource, the object).") }, { "resourceID", N_("Resource ID"), "Text", xmpText, xmpExternal, N_("An identifier for the resource that is the subject of the relationship.") }, { "relatedResourceID", N_("Related Resource ID"), "Text", xmpText, xmpExternal, N_("An identifier for a related resource (the object, rather than the subject of the relationship).") }, { "relationshipOfResource", N_("Relationship Of Resource"), "Text", xmpText, xmpExternal, N_("The relationship of the resource identified by relatedResourceID to the subject (optionally identified by the resourceID). Recommended best practice is to use a controlled vocabulary.") }, { "relationshipAccordingTo", N_("Relationship According To"), "Text", xmpText, xmpExternal, N_("The source (person, organization, publication, reference) establishing the relationship between the two resources.") }, { "relationshipEstablishedDate", N_("Relationship Established Date"), "Date", xmpText, xmpExternal, N_("The date-time on which the relationship between the two resources was established. Recommended best practice is to use an encoding scheme, such as ISO 8601:2004(E).") }, { "relationshipRemarks", N_("Relationship Remarks"), "Text", xmpText, xmpExternal, N_("Comments or notes about the relationship between the two resources.") }, // Measurement Or Fact Level Class { "MeasurementOrFact", N_("Measurement Or Fact"), "MeasurementOrFact", xmpText, xmpInternal, N_("*Main structure* containing measurement based information."), }, // Measurement Or Fact Level Terms { "measurementID", N_("Measurement ID"), "Text", xmpText, xmpExternal, N_("An identifier for the MeasurementOrFact (information pertaining to measurements, facts, characteristics, or assertions). May be a global unique identifier or an identifier specific to the data set.") }, { "measurementType", N_("Measurement Type"), "Text", xmpText, xmpExternal, N_("The nature of the measurement, fact, characteristic, or assertion. Recommended best practice is to use a controlled vocabulary.") }, { "measurementValue", N_("Measurement Value"), "Text", xmpText, xmpExternal, N_("The value of the measurement, fact, characteristic, or assertion.") }, { "measurementAccuracy", N_("Measurement Accuracy"), "Text", xmpText, xmpExternal, N_("The description of the potential error associated with the measurementValue.") }, { "measurementUnit", N_("Measurement Unit"), "Text", xmpText, xmpExternal, N_("The units associated with the measurementValue. Recommended best practice is to use the International System of Units (SI).") }, { "measurementDeterminedDate", N_("Measurement Determined Date"), "Date", xmpText, xmpExternal, N_("The date on which the MeasurementOrFact was made. Recommended best practice is to use an encoding scheme, such as ISO 8601:2004(E).") }, { "measurementDeterminedBy", N_("Measurement Determined By"), "bag Text", xmpBag, xmpExternal, N_("A list (concatenated and separated) of names of people, groups, or organizations who determined the value of the MeasurementOrFact.") }, { "measurementMethod", N_("Measurement Method"), "Text", xmpText, xmpExternal, N_("A description of or reference to (publication, URI) the method or protocol used to determine the measurement, fact, characteristic, or assertion.") }, { "measurementRemarks", N_("Measurement Remarks"), "Text", xmpText, xmpExternal, N_("Comments or notes accompanying the MeasurementOrFact.") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPropertyInfo xmpAcdseeInfo[] = { { "caption", N_("Caption"), "Text", xmpText, xmpExternal, N_("A brief description of the file") }, { "datetime", N_("Date Time"), "Text", xmpText, xmpExternal, N_("Date and Time") }, { "author", N_("Author"), "Text", xmpText, xmpExternal, N_("The name of the author or photographer") }, { "rating", N_("Rating"), "Text", xmpText, xmpExternal, N_("Numerical rating from 1 to 5") }, { "notes", N_("Notes"), "Text", xmpText, xmpExternal, N_("Any descriptive or additional free-form text up to 4,095 characters") }, { "tagged", N_("Tagged"), "Text", xmpText, xmpExternal, N_("True or False") }, { "categories", N_("Categories"), "Text", xmpText, xmpExternal, N_("Catalog of hierarchical keywords and groups") }, // End of list marker { 0, 0, 0, invalidTypeId, xmpInternal, 0 } }; extern const XmpPrintInfo xmpPrintInfo[] = { {"Xmp.crs.CropUnits", EXV_PRINT_TAG(crsCropUnits) }, {"Xmp.exif.ApertureValue", print0x9202 }, {"Xmp.exif.BrightnessValue", printFloat }, {"Xmp.exif.ColorSpace", print0xa001 }, {"Xmp.exif.ComponentsConfiguration", print0x9101 }, {"Xmp.exif.Contrast", printNormalSoftHard }, {"Xmp.exif.CreateDate", printXmpDate }, {"Xmp.exif.CustomRendered", print0xa401 }, {"Xmp.exif.DateTimeOriginal", printXmpDate }, {"Xmp.exif.ExifVersion", printXmpVersion }, {"Xmp.exif.ExposureBiasValue", print0x9204 }, {"Xmp.exif.ExposureMode", print0xa402 }, {"Xmp.exif.ExposureProgram", print0x8822 }, {"Xmp.exif.FileSource", print0xa300 }, {"Xmp.exif.FlashpixVersion", printXmpVersion }, {"Xmp.exif.FNumber", print0x829d }, {"Xmp.exif.FocalLength", print0x920a }, {"Xmp.exif.FocalPlaneResolutionUnit", printExifUnit }, {"Xmp.exif.FocalPlaneXResolution", printFloat }, {"Xmp.exif.FocalPlaneYResolution", printFloat }, {"Xmp.exif.GainControl", print0xa407 }, {"Xmp.exif.GPSAltitudeRef", print0x0005 }, {"Xmp.exif.GPSDestBearingRef", printGPSDirRef }, {"Xmp.exif.GPSDestDistanceRef", print0x0019 }, {"Xmp.exif.GPSDifferential", print0x001e }, {"Xmp.exif.GPSImgDirectionRef", printGPSDirRef }, {"Xmp.exif.GPSMeasureMode", print0x000a }, {"Xmp.exif.GPSSpeedRef", print0x000c }, {"Xmp.exif.GPSStatus", print0x0009 }, {"Xmp.exif.GPSTimeStamp", printXmpDate }, {"Xmp.exif.GPSTrackRef", printGPSDirRef }, {"Xmp.exif.LightSource", print0x9208 }, {"Xmp.exif.MeteringMode", print0x9207 }, {"Xmp.exif.ModifyDate", printXmpDate }, {"Xmp.exif.Saturation", print0xa409 }, {"Xmp.exif.SceneCaptureType", print0xa406 }, {"Xmp.exif.SceneType", print0xa301 }, {"Xmp.exif.SensingMethod", print0xa217 }, {"Xmp.exif.Sharpness", printNormalSoftHard }, {"Xmp.exif.ShutterSpeedValue", print0x9201 }, {"Xmp.exif.SubjectDistanceRange", print0xa40c }, {"Xmp.exif.WhiteBalance", print0xa403 }, {"Xmp.tiff.Orientation", print0x0112 }, {"Xmp.tiff.ResolutionUnit", printExifUnit }, {"Xmp.tiff.XResolution", printLong }, {"Xmp.tiff.YCbCrPositioning", print0x0213 }, {"Xmp.tiff.YResolution", printLong }, {"Xmp.iptcExt.DigitalSourcefileType", EXV_PRINT_VOCABULARY(iptcExtDigitalSourcefileType) }, {"Xmp.plus.AdultContentWarning", EXV_PRINT_VOCABULARY(plusAdultContentWarning) }, {"Xmp.plus.CopyrightStatus", EXV_PRINT_VOCABULARY(plusCopyrightStatus) }, {"Xmp.plus.CreditLineRequired", EXV_PRINT_VOCABULARY(plusCreditLineRequired) }, {"Xmp.plus.ImageAlterationConstraints", EXV_PRINT_VOCABULARY(plusImageAlterationConstraints) }, {"Xmp.plus.ImageDuplicationConstraints", EXV_PRINT_VOCABULARY(plusImageDuplicationConstraints)}, {"Xmp.plus.ImageFileConstraints", EXV_PRINT_VOCABULARY(plusImageFileConstraints) }, {"Xmp.plus.ImageFileFormatAsDelivered", EXV_PRINT_VOCABULARY(plusImageFileFormatAsDelivered) }, {"Xmp.plus.ImageFileSizeAsDelivered", EXV_PRINT_VOCABULARY(plusImageFileSizeAsDelivered) }, {"Xmp.plus.ImageType", EXV_PRINT_VOCABULARY(plusImageType) }, {"Xmp.plus.LicensorTelephoneType1", EXV_PRINT_VOCABULARY(plusLicensorTelephoneType) }, {"Xmp.plus.LicensorTelephoneType2", EXV_PRINT_VOCABULARY(plusLicensorTelephoneType) }, {"Xmp.plus.MinorModelAgeDisclosure", EXV_PRINT_VOCABULARY(plusMinorModelAgeDisclosure) }, {"Xmp.plus.ModelReleaseStatus", EXV_PRINT_VOCABULARY(plusModelReleaseStatus) }, {"Xmp.plus.PropertyReleaseStatus", EXV_PRINT_VOCABULARY(plusPropertyReleaseStatus) }, {"Xmp.plus.Reuse", EXV_PRINT_VOCABULARY(plusReuse) } }; XmpNsInfo::Ns::Ns(const std::string& ns) : ns_(ns) { } XmpNsInfo::Prefix::Prefix(const std::string& prefix) : prefix_(prefix) { } bool XmpNsInfo::operator==(const XmpNsInfo::Ns& ns) const { std::string n(ns_); return n == ns.ns_; } bool XmpNsInfo::operator==(const XmpNsInfo::Prefix& prefix) const { std::string p(prefix_); return p == prefix.prefix_; } bool XmpPropertyInfo::operator==(const std::string& name) const { std::string n(name_); return n == name; } XmpProperties::NsRegistry XmpProperties::nsRegistry_; const XmpNsInfo* XmpProperties::lookupNsRegistry(const XmpNsInfo::Prefix& prefix) { for (NsRegistry::const_iterator i = nsRegistry_.begin(); i != nsRegistry_.end(); ++i) { if (i->second == prefix) return &(i->second); } return 0; } void XmpProperties::registerNs(const std::string& ns, const std::string& prefix) { std::string ns2 = ns; if ( ns2.substr(ns2.size() - 1, 1) != "/" && ns2.substr(ns2.size() - 1, 1) != "#") ns2 += "/"; // Check if there is already a registered namespace with this prefix const XmpNsInfo* xnp = lookupNsRegistry(XmpNsInfo::Prefix(prefix)); if (xnp) { #ifndef SUPPRESS_WARNINGS if (strcmp(xnp->ns_, ns2.c_str()) != 0) { EXV_WARNING << "Updating namespace URI for " << prefix << " from " << xnp->ns_ << " to " << ns2 << "\n"; } #endif unregisterNs(xnp->ns_); } // Allocated memory is freed when the namespace is unregistered. // Using malloc/free for better system compatibility in case // users don't unregister their namespaces explicitly. XmpNsInfo xn; char* c = static_cast(std::malloc(ns2.size() + 1)); std::strcpy(c, ns2.c_str()); xn.ns_ = c; c = static_cast(std::malloc(prefix.size() + 1)); std::strcpy(c, prefix.c_str()); xn.prefix_ = c; xn.xmpPropertyInfo_ = 0; xn.desc_ = ""; nsRegistry_[ns2] = xn; } void XmpProperties::unregisterNs(const std::string& ns) { NsRegistry::iterator i = nsRegistry_.find(ns); if (i != nsRegistry_.end()) { std::free(const_cast(i->second.prefix_)); std::free(const_cast(i->second.ns_)); nsRegistry_.erase(i); } } void XmpProperties::unregisterNs() { NsRegistry::iterator i = nsRegistry_.begin(); while (i != nsRegistry_.end()) { NsRegistry::iterator kill = i++; unregisterNs(kill->first); } } std::string XmpProperties::prefix(const std::string& ns) { std::string ns2 = ns; if ( ns2.substr(ns2.size() - 1, 1) != "/" && ns2.substr(ns2.size() - 1, 1) != "#") ns2 += "/"; NsRegistry::const_iterator i = nsRegistry_.find(ns2); std::string p; if (i != nsRegistry_.end()) { p = i->second.prefix_; } else { const XmpNsInfo* xn = find(xmpNsInfo, XmpNsInfo::Ns(ns2)); if (xn) p = std::string(xn->prefix_); } return p; } std::string XmpProperties::ns(const std::string& prefix) { const XmpNsInfo* xn = lookupNsRegistry(XmpNsInfo::Prefix(prefix)); if (xn != 0) return xn->ns_; return nsInfo(prefix)->ns_; } const char* XmpProperties::propertyTitle(const XmpKey& key) { const XmpPropertyInfo* pi = propertyInfo(key); return pi ? pi->title_ : 0; } const char* XmpProperties::propertyDesc(const XmpKey& key) { const XmpPropertyInfo* pi = propertyInfo(key); return pi ? pi->desc_ : 0; } TypeId XmpProperties::propertyType(const XmpKey& key) { const XmpPropertyInfo* pi = propertyInfo(key); return pi ? pi->typeId_ : xmpText; } const XmpPropertyInfo* XmpProperties::propertyInfo(const XmpKey& key) { std::string prefix = key.groupName(); std::string property = key.tagName(); // If property is a path for a nested property, determines the innermost element std::string::size_type i = property.find_last_of('/'); if (i != std::string::npos) { for (; i != std::string::npos && !isalpha(property[i]); ++i) {} property = property.substr(i); i = property.find_first_of(':'); if (i != std::string::npos) { prefix = property.substr(0, i); property = property.substr(i+1); } #ifdef DEBUG std::cout << "Nested key: " << key.key() << ", prefix: " << prefix << ", property: " << property << "\n"; #endif } const XmpPropertyInfo* pl = propertyList(prefix); if (!pl) return 0; const XmpPropertyInfo* pi = 0; for (int i = 0; pl[i].name_ != 0; ++i) { if (0 == strcmp(pl[i].name_, property.c_str())) { pi = pl + i; break; } } return pi; } const char* XmpProperties::nsDesc(const std::string& prefix) { return nsInfo(prefix)->desc_; } const XmpPropertyInfo* XmpProperties::propertyList(const std::string& prefix) { return nsInfo(prefix)->xmpPropertyInfo_; } const XmpNsInfo* XmpProperties::nsInfo(const std::string& prefix) { const XmpNsInfo::Prefix pf(prefix); const XmpNsInfo* xn = lookupNsRegistry(pf); if (!xn) xn = find(xmpNsInfo, pf); if (!xn) throw Error(35, prefix); return xn; } void XmpProperties::printProperties(std::ostream& os, const std::string& prefix) { const XmpPropertyInfo* pl = propertyList(prefix); if (pl) { for (int i = 0; pl[i].name_ != 0; ++i) { os << pl[i]; } } } // XmpProperties::printProperties std::ostream& XmpProperties::printProperty(std::ostream& os, const std::string& key, const Value& value) { PrintFct fct = printValue; if (value.count() != 0) { const XmpPrintInfo* info = find(xmpPrintInfo, key); if (info) fct = info->printFct_; } return fct(os, value, 0); } //! @cond IGNORE //! Internal Pimpl structure with private members and data of class XmpKey. struct XmpKey::Impl { Impl() {} //!< Default constructor Impl(const std::string& prefix, const std::string& property); //!< Constructor /*! @brief Parse and convert the \em key string into property and prefix. Updates data members if the string can be decomposed, or throws \em Error. @throw Error if the key cannot be decomposed. */ void decomposeKey(const std::string& key); // DATA static const char* familyName_; //!< "Xmp" std::string prefix_; //!< Prefix std::string property_; //!< Property name }; //! @endcond XmpKey::Impl::Impl(const std::string& prefix, const std::string& property) { // Validate prefix if (XmpProperties::ns(prefix).empty()) throw Error(46, prefix); property_ = property; prefix_ = prefix; } const char* XmpKey::Impl::familyName_ = "Xmp"; XmpKey::XmpKey(const std::string& key) : p_(new Impl) { p_->decomposeKey(key); } XmpKey::XmpKey(const std::string& prefix, const std::string& property) : p_(new Impl(prefix, property)) { } XmpKey::~XmpKey() { delete p_; } XmpKey::XmpKey(const XmpKey& rhs) : Key(rhs), p_(new Impl(*rhs.p_)) { } XmpKey& XmpKey::operator=(const XmpKey& rhs) { if (this == &rhs) return *this; Key::operator=(rhs); *p_ = *rhs.p_; return *this; } XmpKey::AutoPtr XmpKey::clone() const { return AutoPtr(clone_()); } XmpKey* XmpKey::clone_() const { return new XmpKey(*this); } std::string XmpKey::key() const { return std::string(p_->familyName_) + "." + p_->prefix_ + "." + p_->property_; } const char* XmpKey::familyName() const { return p_->familyName_; } std::string XmpKey::groupName() const { return p_->prefix_; } std::string XmpKey::tagName() const { return p_->property_; } std::string XmpKey::tagLabel() const { const char* pt = XmpProperties::propertyTitle(*this); if (!pt) return tagName(); return pt; } uint16_t XmpKey::tag() const { return 0; } std::string XmpKey::ns() const { return XmpProperties::ns(p_->prefix_); } void XmpKey::Impl::decomposeKey(const std::string& key) { // Get the family name, prefix and property name parts of the key std::string::size_type pos1 = key.find('.'); if (pos1 == std::string::npos) throw Error(6, key); std::string familyName = key.substr(0, pos1); if (0 != strcmp(familyName.c_str(), familyName_)) { throw Error(6, key); } std::string::size_type pos0 = pos1 + 1; pos1 = key.find('.', pos0); if (pos1 == std::string::npos) throw Error(6, key); std::string prefix = key.substr(pos0, pos1 - pos0); if (prefix == "") throw Error(6, key); std::string property = key.substr(pos1 + 1); if (property == "") throw Error(6, key); // Validate prefix if (XmpProperties::ns(prefix).empty()) throw Error(46, prefix); property_ = property; prefix_ = prefix; } // XmpKey::Impl::decomposeKey // ************************************************************************* // free functions std::ostream& operator<<(std::ostream& os, const XmpPropertyInfo& property) { return os << property.name_ << ",\t" << property.title_ << ",\t" << property.xmpValueType_ << ",\t" << TypeInfo::typeName(property.typeId_) << ",\t" << ( property.xmpCategory_ == xmpExternal ? "External" : "Internal" ) << ",\t" << property.desc_ << "\n"; } //! @endcond } // namespace Exiv2 exiv2-0.25/src/doxygen.hpp.in0000664000175000017500000001404312541165527015707 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /*! @file doxygen.hpp @brief Additional documentation, this file contains no source code @version $Rev: 3860 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 07-Feb-04, ahu: created */ // ***************************************************************************** // *** NOTE: doxygen.hpp is a generated file! Only edit doxygen.hpp.in *** // ***************************************************************************** /*! @mainpage Image metadata library and tools v@PACKAGE_VERSION@ @section overview Exiv2 Overview %Exiv2 comprises of a C++ library and a command line utility to access image metadata. %Exiv2 is free software. The homepage of %Exiv2 is at http://www.exiv2.org/. The %Exiv2 library provides - fast read and write access to the Exif, IPTC and XMP metadata of an image through %Exiv2 keys and standard C++ iterators - conversion of Exif and IPTC metadata to and from XMP - a smart IPTC implementation that does not affect data that programs like Photoshop store in the same image segment - Exif MakerNote support: - %MakerNote tags can be accessed just like any other Exif metadata - a sophisticated write algorithm avoids corrupting the %MakerNote - extract and delete methods for Exif thumbnails (both, JPEG and TIFF thumbnails) - set methods for Exif thumbnails (JPEG only, TIFF thumbnails can be set from individual tags) - an easy to use and well documented API @section getting-started Getting started A few pointers to get you started with the %Exiv2 library without delay. @section metadata Metadata reference tables Exif and MakerNote tags - Standard Exif tags - Canon MakerNote tags - Fujifilm MakerNote tags - Minolta MakerNote tags - Nikon MakerNote tags - Olympus MakerNote tags - Panasonic MakerNote tags - Pentax MakerNote tags - Samsung MakerNote tags - Sigma/Foveon MakerNote tags - Sony MakerNote tags IPTC datasets - IPTC datasets XMP properties - dc schema - DwC schema - xmp schema - xmpRights schema - xmpMM schema - xmpBJ schema - xmpTPg schema - xmpDM schema - pdf schema - photoshop schema - crs schema - tiff schema - exif schema - aux schema - Iptc4xmpCore schema - Iptc4xmpExt schema - PLUS schema - digiKam schema - KDE Image Program Interface schema - MicrosoftPhoto schema - iView Media Pro schema - Microsoft Expression Media schema - Microsoft Photo 1.2 schema - Microsoft Photo RegionInfo schema - Microsoft Photo Region schema - Metadata Working Group Regions schema @section formats File Formats

See the list of supported image formats in the Wiki and the Canon CRW mapping.

@section supp Support

All project resources are accessible from the project website.

Please send feedback or queries to the %Exiv2 forum. For new bug reports and feature requests, please open an issue.

@section license License

Copyright (C) 2004-2015 Andreas Huggel

%Exiv2 is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Alternatively, %Exiv2 is also available with a commercial license, which allows it to be used in closed-source projects. Contact me for more information.

%Exiv2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.

*/ /*! @example addmoddel.cpp Sample usage of high-level metadata operations. */ /*! @example exifprint.cpp Sample program to print Exif data from an image. */ /*! @example exifcomment.cpp Sample program showing how to set the Exif comment of an image. */ /*! @example iptcprint.cpp Sample program to print the IPTC metadata of an image */ /*! @example iptceasy.cpp The quickest way to access, set or modify IPTC metadata */ /*! @example xmpsample.cpp Sample usage of high-level XMP classes. */ exiv2-0.25/src/exiv2.cpp0000664000175000017500000014323312521135474014655 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* Abstract: Command line program to display and manipulate image metadata. File: exiv2.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 10-Dec-03, ahu: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: exiv2.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "exiv2app.hpp" #include "actions.hpp" #include "utils.hpp" #include "convert.hpp" #include "i18n.h" // NLS support. #include "xmp.hpp" #include #include #include #include #include #include #include #if EXV_HAVE_REGEX #include #endif // ***************************************************************************** // local declarations namespace { //! List of all command identifiers and corresponding strings static const CmdIdAndString cmdIdAndString[] = { { add, "add" }, { set, "set" }, { del, "del" }, { reg, "reg" }, { invalidCmdId, "invalidCmd" } // End of list marker }; // Return a command Id for a command string CmdId commandId(const std::string& cmdString); // Evaluate [-]HH[:MM[:SS]], returns true and sets time to the value // in seconds if successful, else returns false. bool parseTime(const std::string& ts, long& time); /*! @brief Parse the oparg string into a bitmap of common targets. @param optarg Option arguments @param action Action being processed @return A bitmap of common targets or -1 in case of a parse error */ int parseCommonTargets(const std::string& optarg, const std::string& action); /*! @brief Parse numbers separated by commas into container @param previewNumbers Container for the numbers @param optarg Option arguments @param j Starting index into optarg @return Number of characters processed */ int parsePreviewNumbers(Params::PreviewNumbers& previewNumbers, const std::string& optarg, int j); /*! @brief Parse metadata modification commands from multiple files @param modifyCmds Reference to a structure to store the parsed commands @param cmdFiles Container with the file names */ bool parseCmdFiles(ModifyCmds& modifyCmds, const Params::CmdFiles& cmdFiles); /*! @brief Parse metadata modification commands from a container of commands @param modifyCmds Reference to a structure to store the parsed commands @param cmdLines Container with the commands */ bool parseCmdLines(ModifyCmds& modifyCmds, const Params::CmdLines& cmdLines); /*! @brief Parse one line of the command file @param modifyCmd Reference to a command structure to store the parsed command @param line Input line @param num Line number (used for error output) */ bool parseLine(ModifyCmd& modifyCmd, const std::string& line, int num); /*! @brief Parses a string containing backslash-escapes @param input Input string, assumed to be UTF-8 */ std::string parseEscapes(const std::string& input); } // ***************************************************************************** // Main int main(int argc, char* const argv[]) { #ifdef EXV_ENABLE_NLS setlocale(LC_ALL, ""); bindtextdomain(EXV_PACKAGE, EXV_LOCALEDIR); textdomain(EXV_PACKAGE); #endif // Handle command line arguments Params& params = Params::instance(); if (params.getopt(argc, argv)) { params.usage(); return 1; } if (params.help_) { params.help(); return 0; } if (params.version_) { params.version(params.verbose_); return 0; } // Create the required action class Action::TaskFactory& taskFactory = Action::TaskFactory::instance(); Action::Task::AutoPtr task = taskFactory.create(Action::TaskType(params.action_)); assert(task.get()); // Process all files int rc = 0; int n = 1; int s = static_cast(params.files_.size()); int w = s > 9 ? s > 99 ? 3 : 2 : 1; for (Params::Files::const_iterator i = params.files_.begin(); i != params.files_.end(); ++i) { if (params.verbose_) { std::cout << _("File") << " " << std::setw(w) << std::right << n++ << "/" << s << ": " << *i << std::endl; } int ret = task->run(*i); if (rc == 0) rc = ret; } taskFactory.cleanup(); params.cleanup(); Exiv2::XmpParser::terminate(); // Return a positive one byte code for better consistency across platforms return static_cast(rc) % 256; } // main // ***************************************************************************** // class Params Params* Params::instance_ = 0; const Params::YodAdjust Params::emptyYodAdjust_[] = { { false, "-Y", 0 }, { false, "-O", 0 }, { false, "-D", 0 }, }; Params& Params::instance() { if (0 == instance_) { instance_ = new Params; } return *instance_; } void Params::cleanup() { delete instance_; instance_ = 0; } void Params::version(bool verbose,std::ostream& os) const { bool b64 = sizeof(void*)==8; const char* sBuild = b64 ? "(64 bit build)" : "(32 bit build)" ; os << EXV_PACKAGE_STRING << " " << Exiv2::versionNumberHexString() << " " << sBuild << "\n"; if ( Params::instance().greps_.empty() ) { os << _("Copyright (C) 2004-2015 Andreas Huggel.\n") << "\n" << _("This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n") << "\n" << _("This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n") << "\n" << _("You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA\n"); } if ( verbose ) Exiv2::dumpLibraryInfo(os,Params::instance().greps_); } void Params::usage(std::ostream& os) const { os << _("Usage:") << " " << progname() << " " << _("[ options ] [ action ] file ...\n\n") << _("Manipulate the Exif metadata of images.\n"); } void Params::help(std::ostream& os) const { usage(os); os << _("\nActions:\n") << _(" ad | adjust Adjust Exif timestamps by the given time. This action\n" " requires at least one of the -a, -Y, -O or -D options.\n") << _(" pr | print Print image metadata.\n") << _(" rm | delete Delete image metadata from the files.\n") << _(" in | insert Insert metadata from corresponding *.exv files.\n" " Use option -S to change the suffix of the input files.\n") << _(" ex | extract Extract metadata to *.exv, *.xmp and thumbnail image files.\n") << _(" mv | rename Rename files and/or set file timestamps according to the\n" " Exif create timestamp. The filename format can be set with\n" " -r format, timestamp options are controlled with -t and -T.\n") << _(" mo | modify Apply commands to modify (add, set, delete) the Exif and\n" " IPTC metadata of image files or set the JPEG comment.\n" " Requires option -c, -m or -M.\n") << _(" fi | fixiso Copy ISO setting from the Nikon Makernote to the regular\n" " Exif tag.\n") << _(" fc | fixcom Convert the UNICODE Exif user comment to UCS-2. Its current\n" " character encoding can be specified with the -n option.\n") << _("\nOptions:\n") << _(" -h Display this help and exit.\n") << _(" -V Show the program version and exit.\n") << _(" -v Be verbose during the program run.\n") << _(" -q Silence warnings and error messages during the program run (quiet).\n") << _(" -Q lvl Set log-level to d(ebug), i(nfo), w(arning), e(rror) or m(ute).\n") << _(" -b Show large binary values.\n") << _(" -u Show unknown tags.\n") << _(" -g key Only output info for this key (grep).\n") << _(" -K key Only output info for this key (exact match).\n") << _(" -n enc Charset to use to decode UNICODE Exif user comments.\n") << _(" -k Preserve file timestamps (keep).\n") << _(" -t Also set the file timestamp in 'rename' action (overrides -k).\n") << _(" -T Only set the file timestamp in 'rename' action, do not rename\n" " the file (overrides -k).\n") << _(" -f Do not prompt before overwriting existing files (force).\n") << _(" -F Do not prompt before renaming files (Force).\n") << _(" -a time Time adjustment in the format [-]HH[:MM[:SS]]. This option\n" " is only used with the 'adjust' action.\n") << _(" -Y yrs Year adjustment with the 'adjust' action.\n") << _(" -O mon Month adjustment with the 'adjust' action.\n") << _(" -D day Day adjustment with the 'adjust' action.\n") << _(" -p mode Print mode for the 'print' action. Possible modes are:\n") << _(" s : print a summary of the Exif metadata (the default)\n") << _(" a : print Exif, IPTC and XMP metadata (shortcut for -Pkyct)\n") << _(" t : interpreted (translated) Exif data (-PEkyct)\n") << _(" v : plain Exif data values (-PExgnycv)\n") << _(" h : hexdump of the Exif data (-PExgnycsh)\n") << _(" i : IPTC data values (-PIkyct)\n") << _(" x : XMP properties (-PXkyct)\n") << _(" c : JPEG comment\n") << _(" p : list available previews\n") << _(" S : print structure of image\n") << _(" X : extract XMP from image\n") << _(" -P flgs Print flags for fine control of tag lists ('print' action):\n") << _(" E : include Exif tags in the list\n") << _(" I : IPTC datasets\n") << _(" X : XMP properties\n") << _(" x : print a column with the tag number\n") << _(" g : group name\n") << _(" k : key\n") << _(" l : tag label\n") << _(" n : tag name\n") << _(" y : type\n") << _(" c : number of components (count)\n") << _(" s : size in bytes\n") << _(" v : plain data value\n") << _(" t : interpreted (translated) data\n") << _(" h : hexdump of the data\n") << _(" -d tgt Delete target(s) for the 'delete' action. Possible targets are:\n") << _(" a : all supported metadata (the default)\n") << _(" e : Exif section\n") << _(" t : Exif thumbnail only\n") << _(" i : IPTC data\n") << _(" x : XMP packet\n") << _(" c : JPEG comment\n") << _(" -i tgt Insert target(s) for the 'insert' action. Possible targets are\n" " the same as those for the -d option, plus a modifier:\n" " X : Insert metadata from an XMP sidecar file .xmp\n" " Only JPEG thumbnails can be inserted, they need to be named\n" " -thumb.jpg\n") << _(" -e tgt Extract target(s) for the 'extract' action. Possible targets\n" " are the same as those for the -d option, plus a target to extract\n" " preview images and a modifier to generate an XMP sidecar file:\n" " p[[, ...]] : Extract preview images.\n" " X : Extract metadata to an XMP sidecar file .xmp\n") << _(" -r fmt Filename format for the 'rename' action. The format string\n" " follows strftime(3). The following keywords are supported:\n") << _(" :basename: - original filename without extension\n") << _(" :dirname: - name of the directory holding the original file\n") << _(" :parentname: - name of parent directory\n") << _(" Default filename format is ") << format_ << ".\n" << _(" -c txt JPEG comment string to set in the image.\n") << _(" -m file Command file for the modify action. The format for commands is\n" " set|add|del [[] ].\n") << _(" -M cmd Command line for the modify action. The format for the\n" " commands is the same as that of the lines of a command file.\n") << _(" -l dir Location (directory) for files to be inserted from or extracted to.\n") << _(" -S .suf Use suffix .suf for source files for insert command.\n\n"); } // Params::help int Params::option(int opt, const std::string& optarg, int optopt) { int rc = 0; switch (opt) { case 'h': help_ = true; break; case 'V': version_ = true; break; case 'v': verbose_ = true; break; case 'q': Exiv2::LogMsg::setLevel(Exiv2::LogMsg::mute); break; case 'Q': rc = setLogLevel(optarg); break; case 'k': preserve_ = true; break; case 'b': binary_ = false; break; case 'u': unknown_ = false; break; case 'f': force_ = true; fileExistsPolicy_ = overwritePolicy; break; case 'F': force_ = true; fileExistsPolicy_ = renamePolicy; break; case 'g': rc = evalGrep(optarg); printMode_ = pmList; break; case 'K': rc = evalKey(optarg); printMode_ = pmList; break; case 'n': charset_ = optarg; break; case 'r': rc = evalRename(opt, optarg); break; case 't': rc = evalRename(opt, optarg); break; case 'T': rc = evalRename(opt, optarg); break; case 'a': rc = evalAdjust(optarg); break; case 'Y': rc = evalYodAdjust(yodYear, optarg); break; case 'O': rc = evalYodAdjust(yodMonth, optarg); break; case 'D': rc = evalYodAdjust(yodDay, optarg); break; case 'p': rc = evalPrint(optarg); break; case 'P': rc = evalPrintFlags(optarg); break; case 'd': rc = evalDelete(optarg); break; case 'e': rc = evalExtract(optarg); break; case 'i': rc = evalInsert(optarg); break; case 'c': rc = evalModify(opt, optarg); break; case 'm': rc = evalModify(opt, optarg); break; case 'M': rc = evalModify(opt, optarg); break; case 'l': directory_ = optarg; break; case 'S': suffix_ = optarg; break; case ':': std::cerr << progname() << ": " << _("Option") << " -" << static_cast(optopt) << " " << _("requires an argument\n"); rc = 1; break; case '?': std::cerr << progname() << ": " << _("Unrecognized option") << " -" << static_cast(optopt) << "\n"; rc = 1; break; default: std::cerr << progname() << ": " << _("getopt returned unexpected character code") << " " << std::hex << opt << "\n"; rc = 1; break; } return rc; } // Params::option int Params::setLogLevel(const std::string& optarg) { int rc = 0; const char logLevel = tolower(optarg[0]); switch (logLevel) { case 'd': Exiv2::LogMsg::setLevel(Exiv2::LogMsg::debug); break; case 'i': Exiv2::LogMsg::setLevel(Exiv2::LogMsg::info); break; case 'w': Exiv2::LogMsg::setLevel(Exiv2::LogMsg::warn); break; case 'e': Exiv2::LogMsg::setLevel(Exiv2::LogMsg::error); break; case 'm': Exiv2::LogMsg::setLevel(Exiv2::LogMsg::mute); break; default: std::cerr << progname() << ": " << _("Option") << " -Q: " << _("Invalid argument") << " \"" << optarg << "\"\n"; rc = 1; break; } return rc; } // Params::setLogLevel int Params::evalGrep( const std::string& optarg) { int result=0; #if EXV_HAVE_REGEX // try to compile a reg-exp from the input argument and store it in the vector const size_t i = greps_.size(); greps_.resize(i + 1); regex_t *pRegex = &greps_[i]; int errcode = regcomp( pRegex, optarg.c_str(), REG_NOSUB); // there was an error compiling the regexp if( errcode ) { size_t length = regerror (errcode, pRegex, NULL, 0); char *buffer = new char[ length]; regerror (errcode, pRegex, buffer, length); std::cerr << progname() << ": " << _("Option") << " -g: " << _("Invalid regexp") << " \"" << optarg << "\": " << buffer << "\n"; // free the memory and drop the regexp delete[] buffer; regfree( pRegex); greps_.resize(i); result=1; } #else greps_.push_back(optarg); #endif return result; } // Params::evalGrep int Params::evalKey( const std::string& optarg) { int result=0; keys_.push_back(optarg); return result; } // Params::evalKey int Params::evalRename(int opt, const std::string& optarg) { int rc = 0; switch (action_) { case Action::none: action_ = Action::rename; switch (opt) { case 'r': format_ = optarg; formatSet_ = true; break; case 't': timestamp_ = true; break; case 'T': timestampOnly_ = true; break; } break; case Action::rename: if (opt == 'r' && (formatSet_ || timestampOnly_)) { std::cerr << progname() << ": " << _("Ignoring surplus option") << " -r \"" << optarg << "\"\n"; } else { format_ = optarg; formatSet_ = true; } break; default: std::cerr << progname() << ": " << _("Option") << " -" << (char)opt << " " << _("is not compatible with a previous option\n"); rc = 1; break; } return rc; } // Params::evalRename int Params::evalAdjust(const std::string& optarg) { int rc = 0; switch (action_) { case Action::none: case Action::adjust: if (adjust_) { std::cerr << progname() << ": " << _("Ignoring surplus option -a") << " " << optarg << "\n"; break; } action_ = Action::adjust; adjust_ = parseTime(optarg, adjustment_); if (!adjust_) { std::cerr << progname() << ": " << _("Error parsing -a option argument") << " `" << optarg << "'\n"; rc = 1; } break; default: std::cerr << progname() << ": " << _("Option -a is not compatible with a previous option\n"); rc = 1; break; } return rc; } // Params::evalAdjust int Params::evalYodAdjust(const Yod& yod, const std::string& optarg) { int rc = 0; switch (action_) { case Action::none: // fall-through case Action::adjust: if (yodAdjust_[yod].flag_) { std::cerr << progname() << ": " << _("Ignoring surplus option") << " " << yodAdjust_[yod].option_ << " " << optarg << "\n"; break; } action_ = Action::adjust; yodAdjust_[yod].flag_ = true; if (!Util::strtol(optarg.c_str(), yodAdjust_[yod].adjustment_)) { std::cerr << progname() << ": " << _("Error parsing") << " " << yodAdjust_[yod].option_ << " " << _("option argument") << " `" << optarg << "'\n"; rc = 1; } break; default: std::cerr << progname() << ": " << _("Option") << " " << yodAdjust_[yod].option_ << " " << _("is not compatible with a previous option\n"); rc = 1; break; } return rc; } // Params::evalYodAdjust int Params::evalPrint(const std::string& optarg) { int rc = 0; switch (action_) { case Action::none: switch (optarg[0]) { case 's': action_ = Action::print; printMode_ = pmSummary; break; case 'a': rc = evalPrintFlags("kyct"); break; case 't': rc = evalPrintFlags("Ekyct"); break; case 'v': rc = evalPrintFlags("Exgnycv"); break; case 'h': rc = evalPrintFlags("Exgnycsh"); break; case 'i': rc = evalPrintFlags("Ikyct"); break; case 'x': rc = evalPrintFlags("Xkyct"); break; case 'c': action_ = Action::print; printMode_ = pmComment ; break; case 'p': action_ = Action::print; printMode_ = pmPreview ; break; case 'S': action_ = Action::print; printMode_ = pmStructure; break; case 'X': action_ = Action::print; printMode_ = pmXMP ; break; default: std::cerr << progname() << ": " << _("Unrecognized print mode") << " `" << optarg << "'\n"; rc = 1; break; } break; case Action::print: std::cerr << progname() << ": " << _("Ignoring surplus option -p") << optarg << "\n"; break; default: std::cerr << progname() << ": " << _("Option -p is not compatible with a previous option\n"); rc = 1; break; } return rc; } // Params::evalPrint int Params::evalPrintFlags(const std::string& optarg) { int rc = 0; switch (action_) { case Action::none: action_ = Action::print; printMode_ = pmList; for (std::size_t i = 0; i < optarg.length(); ++i) { switch (optarg[i]) { case 'E': printTags_ |= Exiv2::mdExif; break; case 'I': printTags_ |= Exiv2::mdIptc; break; case 'X': printTags_ |= Exiv2::mdXmp; break; case 'x': printItems_ |= prTag; break; case 'g': printItems_ |= prGroup; break; case 'k': printItems_ |= prKey; break; case 'l': printItems_ |= prLabel; break; case 'n': printItems_ |= prName; break; case 'y': printItems_ |= prType; break; case 'c': printItems_ |= prCount; break; case 's': printItems_ |= prSize; break; case 'v': printItems_ |= prValue; break; case 't': printItems_ |= prTrans; break; case 'h': printItems_ |= prHex; break; default: std::cerr << progname() << ": " << _("Unrecognized print item") << " `" << optarg[i] << "'\n"; rc = 1; break; } } break; case Action::print: std::cerr << progname() << ": " << _("Ignoring surplus option -P") << optarg << "\n"; break; default: std::cerr << progname() << ": " << _("Option -P is not compatible with a previous option\n"); rc = 1; break; } return rc; } // Params::evalPrintFlags int Params::evalDelete(const std::string& optarg) { int rc = 0; switch (action_) { case Action::none: action_ = Action::erase; target_ = 0; // fallthrough case Action::erase: rc = parseCommonTargets(optarg, "erase"); if (rc > 0) { target_ |= rc; rc = 0; } else { rc = 1; } break; default: std::cerr << progname() << ": " << _("Option -d is not compatible with a previous option\n"); rc = 1; break; } return rc; } // Params::evalDelete int Params::evalExtract(const std::string& optarg) { int rc = 0; switch (action_) { case Action::none: case Action::modify: action_ = Action::extract; target_ = 0; // fallthrough case Action::extract: rc = parseCommonTargets(optarg, "extract"); if (rc > 0) { target_ |= rc; rc = 0; } else { rc = 1; } break; default: std::cerr << progname() << ": " << _("Option -e is not compatible with a previous option\n"); rc = 1; break; } return rc; } // Params::evalExtract int Params::evalInsert(const std::string& optarg) { int rc = 0; switch (action_) { case Action::none: case Action::modify: action_ = Action::insert; target_ = 0; // fallthrough case Action::insert: rc = parseCommonTargets(optarg, "insert"); if (rc > 0) { target_ |= rc; rc = 0; } else { rc = 1; } break; default: std::cerr << progname() << ": " << _("Option -i is not compatible with a previous option\n"); rc = 1; break; } return rc; } // Params::evalInsert int Params::evalModify(int opt, const std::string& optarg) { int rc = 0; switch (action_) { case Action::none: action_ = Action::modify; // fallthrough case Action::modify: case Action::extract: case Action::insert: if (opt == 'c') jpegComment_ = parseEscapes(optarg); if (opt == 'm') cmdFiles_.push_back(optarg); // parse the files later if (opt == 'M') cmdLines_.push_back(optarg); // parse the commands later break; default: std::cerr << progname() << ": " << _("Option") << " -" << (char)opt << " " << _("is not compatible with a previous option\n"); rc = 1; break; } return rc; } // Params::evalModify int Params::nonoption(const std::string& argv) { int rc = 0; bool action = false; if (first_) { // The first non-option argument must be the action first_ = false; if (argv == "ad" || argv == "adjust") { if (action_ != Action::none && action_ != Action::adjust) { std::cerr << progname() << ": " << _("Action adjust is not compatible with the given options\n"); rc = 1; } action = true; action_ = Action::adjust; } if (argv == "pr" || argv == "print") { if (action_ != Action::none && action_ != Action::print) { std::cerr << progname() << ": " << _("Action print is not compatible with the given options\n"); rc = 1; } action = true; action_ = Action::print; } if (argv == "rm" || argv == "delete") { if (action_ != Action::none && action_ != Action::erase) { std::cerr << progname() << ": " << _("Action delete is not compatible with the given options\n"); rc = 1; } action = true; action_ = Action::erase; } if (argv == "ex" || argv == "extract") { if ( action_ != Action::none && action_ != Action::extract && action_ != Action::modify) { std::cerr << progname() << ": " << _("Action extract is not compatible with the given options\n"); rc = 1; } action = true; action_ = Action::extract; } if (argv == "in" || argv == "insert") { if ( action_ != Action::none && action_ != Action::insert && action_ != Action::modify) { std::cerr << progname() << ": " << _("Action insert is not compatible with the given options\n"); rc = 1; } action = true; action_ = Action::insert; } if (argv == "mv" || argv == "rename") { if (action_ != Action::none && action_ != Action::rename) { std::cerr << progname() << ": " << _("Action rename is not compatible with the given options\n"); rc = 1; } action = true; action_ = Action::rename; } if (argv == "mo" || argv == "modify") { if (action_ != Action::none && action_ != Action::modify) { std::cerr << progname() << ": " << _("Action modify is not compatible with the given options\n"); rc = 1; } action = true; action_ = Action::modify; } if (argv == "fi" || argv == "fixiso") { if (action_ != Action::none && action_ != Action::fixiso) { std::cerr << progname() << ": " << _("Action fixiso is not compatible with the given options\n"); rc = 1; } action = true; action_ = Action::fixiso; } if (argv == "fc" || argv == "fixcom" || argv == "fixcomment") { if (action_ != Action::none && action_ != Action::fixcom) { std::cerr << progname() << ": " << _("Action fixcom is not compatible with the given options\n"); rc = 1; } action = true; action_ = Action::fixcom; } if (action_ == Action::none) { // if everything else fails, assume print as the default action action_ = Action::print; } } if (!action) { files_.push_back(argv); } return rc; } // Params::nonoption typedef std::map long_t; int Params::getopt(int argc, char* const Argv[]) { char** argv = new char* [argc+1]; argv[argc] = NULL; long_t longs; longs["--adjust" ] = "-a"; longs["--binary" ] = "-b"; longs["--comment" ] = "-c"; longs["--delete" ] = "-d"; longs["--days" ] = "-D"; longs["--force" ] = "-f"; longs["--Force" ] = "-F"; longs["--grep" ] = "-g"; longs["--help" ] = "-h"; longs["--insert" ] = "-i"; longs["--keep" ] = "-k"; longs["--key" ] = "-K"; longs["--location" ] = "-l"; longs["--modify" ] = "-m"; longs["--Modify" ] = "-M"; longs["--encode" ] = "-n"; longs["--months" ] = "-O"; longs["--print" ] = "-p"; longs["--Print" ] = "-P"; longs["--quiet" ] = "-q"; longs["--log" ] = "-Q"; longs["--rename" ] = "-r"; longs["--suffix" ] = "-S"; longs["--timestamp"] = "-t"; longs["--Timestamp"] = "-T"; longs["--unknown" ] = "-u"; longs["--verbose" ] = "-v"; longs["--Version" ] = "-V"; longs["--version" ] = "-V"; longs["--years" ] = "-Y"; for ( int i = 0 ; i < argc ; i++ ) { std::string* arg = new std::string(Argv[i]); if (longs.find(*arg) != longs.end() ) { argv[i] = ::strdup(longs[*arg].c_str()); } else { argv[i] = ::strdup(Argv[i]); } delete arg; } int rc = Util::Getopt::getopt(argc, argv, optstring_); // Further consistency checks if (help_ || version_) return 0; if (action_ == Action::none) { // This shouldn't happen since print is taken as default action std::cerr << progname() << ": " << _("An action must be specified\n"); rc = 1; } if ( action_ == Action::adjust && !adjust_ && !yodAdjust_[yodYear].flag_ && !yodAdjust_[yodMonth].flag_ && !yodAdjust_[yodDay].flag_) { std::cerr << progname() << ": " << _("Adjust action requires at least one -a, -Y, -O or -D option\n"); rc = 1; } if ( action_ == Action::modify && cmdFiles_.empty() && cmdLines_.empty() && jpegComment_.empty()) { std::cerr << progname() << ": " << _("Modify action requires at least one -c, -m or -M option\n"); rc = 1; } if (0 == files_.size()) { std::cerr << progname() << ": " << _("At least one file is required\n"); rc = 1; } if (rc == 0 && !cmdFiles_.empty()) { // Parse command files if (!parseCmdFiles(modifyCmds_, cmdFiles_)) { std::cerr << progname() << ": " << _("Error parsing -m option arguments\n"); rc = 1; } } if (rc == 0 && !cmdLines_.empty()) { // Parse command lines if (!parseCmdLines(modifyCmds_, cmdLines_)) { std::cerr << progname() << ": " << _("Error parsing -M option arguments\n"); rc = 1; } } if (rc == 0 && (!cmdFiles_.empty() || !cmdLines_.empty())) { // We'll set them again, after reading the file Exiv2::XmpProperties::unregisterNs(); } if ( !directory_.empty() && !(action_ == Action::insert || action_ == Action::extract)) { std::cerr << progname() << ": " << _("-l option can only be used with extract or insert actions\n"); rc = 1; } if (!suffix_.empty() && !(action_ == Action::insert)) { std::cerr << progname() << ": " << _("-S option can only be used with insert action\n"); rc = 1; } if (timestamp_ && !(action_ == Action::rename)) { std::cerr << progname() << ": " << _("-t option can only be used with rename action\n"); rc = 1; } if (timestampOnly_ && !(action_ == Action::rename)) { std::cerr << progname() << ": " << _("-T option can only be used with rename action\n"); rc = 1; } // cleanup the argument vector for ( int i = 0 ; i < argc ; i++ ) ::free((void*)argv[i]); delete [] argv; return rc; } // Params::getopt // ***************************************************************************** // local implementations namespace { bool parseTime(const std::string& ts, long& time) { std::string hstr, mstr, sstr; char *cts = new char[ts.length() + 1]; strcpy(cts, ts.c_str()); char *tmp = ::strtok(cts, ":"); if (tmp) hstr = tmp; tmp = ::strtok(0, ":"); if (tmp) mstr = tmp; tmp = ::strtok(0, ":"); if (tmp) sstr = tmp; delete[] cts; int sign = 1; long hh(0), mm(0), ss(0); // [-]HH part if (!Util::strtol(hstr.c_str(), hh)) return false; if (hh < 0) { sign = -1; hh *= -1; } // check for the -0 special case if (hh == 0 && hstr.find('-') != std::string::npos) sign = -1; // MM part, if there is one if (mstr != "") { if (!Util::strtol(mstr.c_str(), mm)) return false; if (mm > 59) return false; if (mm < 0) return false; } // SS part, if there is one if (sstr != "") { if (!Util::strtol(sstr.c_str(), ss)) return false; if (ss > 59) return false; if (ss < 0) return false; } time = sign * (hh * 3600 + mm * 60 + ss); return true; } // parseTime int parseCommonTargets(const std::string& optarg, const std::string& action) { int rc = 0; int target = 0; for (size_t i = 0; rc == 0 && i < optarg.size(); ++i) { switch (optarg[i]) { case 'e': target |= Params::ctExif; break; case 'i': target |= Params::ctIptc; break; case 'x': target |= Params::ctXmp; break; case 'c': target |= Params::ctComment; break; case 't': target |= Params::ctThumb; break; case 'a': target |= Params::ctExif | Params::ctIptc | Params::ctComment | Params::ctXmp; break; case 'X': target |= Params::ctXmpSidecar; if (optarg == "X") target |= Params::ctExif | Params::ctIptc | Params::ctXmp; break; case 'p': { if (strcmp(action.c_str(), "extract") == 0) { i += (size_t) parsePreviewNumbers(Params::instance().previewNumbers_, optarg, (int) i + 1); target |= Params::ctPreview; break; } // fallthrough } default: std::cerr << Params::instance().progname() << ": " << _("Unrecognized ") << action << " " << _("target") << " `" << optarg[i] << "'\n"; rc = -1; break; } } return rc ? rc : target; } // parseCommonTargets int parsePreviewNumbers(Params::PreviewNumbers& previewNumbers, const std::string& optarg, int j) { size_t k = j; for (size_t i = j; i < optarg.size(); ++i) { std::ostringstream os; for (k = i; k < optarg.size() && isdigit(optarg[k]); ++k) { os << optarg[k]; } if (k > i) { bool ok = false; int num = Exiv2::stringTo(os.str(), ok); if (ok && num >= 0) { previewNumbers.insert(num); } else { std::cerr << Params::instance().progname() << ": " << _("Invalid preview number") << ": " << num << "\n"; } i = k; } if (!(k < optarg.size() && optarg[i] == ',')) break; } int ret = static_cast(k - j); if (ret == 0) { previewNumbers.insert(0); } #ifdef DEBUG std::cout << "\nThe set now contains: "; for (Params::PreviewNumbers::const_iterator i = previewNumbers.begin(); i != previewNumbers.end(); ++i) { std::cout << *i << ", "; } std::cout << std::endl; #endif return (int) (k - j); } // parsePreviewNumbers bool parseCmdFiles(ModifyCmds& modifyCmds, const Params::CmdFiles& cmdFiles) { Params::CmdFiles::const_iterator end = cmdFiles.end(); Params::CmdFiles::const_iterator filename = cmdFiles.begin(); for ( ; filename != end; ++filename) { try { std::ifstream file(filename->c_str()); if (!file) { std::cerr << *filename << ": " << _("Failed to open command file for reading\n"); return false; } int num = 0; std::string line; while (std::getline(file, line)) { ModifyCmd modifyCmd; if (parseLine(modifyCmd, line, ++num)) { modifyCmds.push_back(modifyCmd); } } } catch (const Exiv2::AnyError& error) { std::cerr << *filename << ", " << _("line") << " " << error << "\n"; return false; } } return true; } // parseCmdFile bool parseCmdLines(ModifyCmds& modifyCmds, const Params::CmdLines& cmdLines) { try { int num = 0; Params::CmdLines::const_iterator end = cmdLines.end(); Params::CmdLines::const_iterator line = cmdLines.begin(); for ( ; line != end; ++line) { ModifyCmd modifyCmd; if (parseLine(modifyCmd, *line, ++num)) { modifyCmds.push_back(modifyCmd); } } return true; } catch (const Exiv2::AnyError& error) { std::cerr << _("-M option") << " " << error << "\n"; return false; } } // parseCmdLines #if defined(_MSC_VER) || defined(__MINGW__) static std::string formatArg(const char* arg) { std::string result = ""; char b = ' ' ; char e = '\\'; std::string E = std::string("\\"); char q = '\''; std::string Q = std::string("'" ); bool qt = false; char* a = (char*) arg; while ( *a ) { if ( *a == b || *a == e || *a == q ) qt = true; if ( *a == q ) result += E; if ( *a == e ) result += E; result += std::string(a,1); a++ ; } if (qt) result = Q + result + Q; return result; } #endif bool parseLine(ModifyCmd& modifyCmd, const std::string& line, int num) { const std::string delim = " \t"; // Skip empty lines and comments std::string::size_type cmdStart = line.find_first_not_of(delim); if (cmdStart == std::string::npos || line[cmdStart] == '#') return false; // Get command and key std::string::size_type cmdEnd = line.find_first_of(delim, cmdStart+1); std::string::size_type keyStart = line.find_first_not_of(delim, cmdEnd+1); std::string::size_type keyEnd = line.find_first_of(delim, keyStart+1); if ( cmdStart == std::string::npos || cmdEnd == std::string::npos || keyStart == std::string::npos) { std::string cmdLine ; #if defined(_MSC_VER) || defined(__MINGW__) for ( int i = 1 ; i < __argc ; i++ ) { cmdLine += std::string(" ") + formatArg(__argv[i]) ; } #endif throw Exiv2::Error(1, Exiv2::toString(num) + ": " + _("Invalid command line:") + cmdLine); } std::string cmd(line.substr(cmdStart, cmdEnd-cmdStart)); CmdId cmdId = commandId(cmd); if (cmdId == invalidCmdId) { throw Exiv2::Error(1, Exiv2::toString(num) + ": " + _("Invalid command") + " `" + cmd + "'"); } Exiv2::TypeId defaultType = Exiv2::invalidTypeId; std::string key(line.substr(keyStart, keyEnd-keyStart)); MetadataId metadataId = invalidMetadataId; if (cmdId != reg) { try { Exiv2::IptcKey iptcKey(key); metadataId = iptc; defaultType = Exiv2::IptcDataSets::dataSetType(iptcKey.tag(), iptcKey.record()); } catch (const Exiv2::AnyError&) {} if (metadataId == invalidMetadataId) { try { Exiv2::ExifKey exifKey(key); metadataId = exif; defaultType = exifKey.defaultTypeId(); } catch (const Exiv2::AnyError&) {} } if (metadataId == invalidMetadataId) { try { Exiv2::XmpKey xmpKey(key); metadataId = xmp; defaultType = Exiv2::XmpProperties::propertyType(xmpKey); } catch (const Exiv2::AnyError&) {} } if (metadataId == invalidMetadataId) { throw Exiv2::Error(1, Exiv2::toString(num) + ": " + _("Invalid key") + " `" + key + "'"); } } std::string value; Exiv2::TypeId type = defaultType; bool explicitType = false; if (cmdId != del) { // Get type and value std::string::size_type typeStart = std::string::npos; if (keyEnd != std::string::npos) typeStart = line.find_first_not_of(delim, keyEnd+1); std::string::size_type typeEnd = std::string::npos; if (typeStart != std::string::npos) typeEnd = line.find_first_of(delim, typeStart+1); std::string::size_type valStart = typeStart; std::string::size_type valEnd = std::string::npos; if (valStart != std::string::npos) valEnd = line.find_last_not_of(delim); if ( cmdId == reg && ( keyEnd == std::string::npos || valStart == std::string::npos)) { throw Exiv2::Error(1, Exiv2::toString(num) + ": " + _("Invalid command line") + " " ); } if ( cmdId != reg && typeStart != std::string::npos && typeEnd != std::string::npos) { std::string typeStr(line.substr(typeStart, typeEnd-typeStart)); Exiv2::TypeId tmpType = Exiv2::TypeInfo::typeId(typeStr); if (tmpType != Exiv2::invalidTypeId) { valStart = line.find_first_not_of(delim, typeEnd+1); if (valStart == std::string::npos) { throw Exiv2::Error(1, Exiv2::toString(num) + ": " + _("Invalid command line") + " " ); } type = tmpType; explicitType = true; } } if (valStart != std::string::npos) { value = parseEscapes(line.substr(valStart, valEnd+1-valStart)); std::string::size_type last = value.length()-1; if ( (value[0] == '"' && value[last] == '"') || (value[0] == '\'' && value[last] == '\'')) { value = value.substr(1, value.length()-2); } } } modifyCmd.cmdId_ = cmdId; modifyCmd.key_ = key; modifyCmd.metadataId_ = metadataId; modifyCmd.typeId_ = type; modifyCmd.explicitType_ = explicitType; modifyCmd.value_ = value; if (cmdId == reg) { // Registration needs to be done immediately as the new namespaces are // looked up during parsing of subsequent lines (to validate XMP keys). Exiv2::XmpProperties::registerNs(modifyCmd.value_, modifyCmd.key_); } return true; } // parseLine CmdId commandId(const std::string& cmdString) { int i = 0; for (; cmdIdAndString[i].cmdId_ != invalidCmdId && cmdIdAndString[i].cmdString_ != cmdString; ++i) {} return cmdIdAndString[i].cmdId_; } std::string parseEscapes(const std::string& input) { std::string result = ""; for (unsigned int i = 0; i < input.length(); ++i) { char ch = input[i]; if (ch != '\\') { result.push_back(ch); continue; } int escapeStart = i; if (!(input.length() - 1 > i)) { result.push_back(ch); continue; } ++i; ch = input[i]; switch (ch) { case '\\': // Escaping of backslash result.push_back('\\'); break; case 'r': // Escaping of carriage return result.push_back('\r'); break; case 'n': // Escaping of newline result.push_back('\n'); break; case 't': // Escaping of tab result.push_back('\t'); break; case 'u': // Escaping of unicode if (input.length() - 4 > i) { int acc = 0; for (int j = 0; j < 4; ++j) { ++i; acc <<= 4; if (input[i] >= '0' && input[i] <= '9') { acc |= input[i] - '0'; } else if (input[i] >= 'a' && input[i] <= 'f') { acc |= input[i] - 'a' + 10; } else if (input[i] >= 'A' && input[i] <= 'F') { acc |= input[i] - 'A' + 10; } else { acc = -1; break; } } if (acc == -1) { result.push_back('\\'); i = escapeStart; break; } std::string ucs2toUtf8 = ""; ucs2toUtf8.push_back((char) ((acc & 0xff00) >> 8)); ucs2toUtf8.push_back((char) (acc & 0x00ff)); if (Exiv2::convertStringCharset (ucs2toUtf8, "UCS-2BE", "UTF-8")) { result.append (ucs2toUtf8); } } else { result.push_back('\\'); result.push_back(ch); } break; default: result.push_back('\\'); result.push_back(ch); } } return result; } } exiv2-0.25/src/pngchunk.cpp0000664000175000017500000006144312521135474015437 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: pngchunk.cpp Version: $Rev: 3777 $ Author(s): Gilles Caulier (cgilles) History: 12-Jun-06, gc: submitted Credits: See header file */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: pngchunk.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #ifdef EXV_HAVE_LIBZ #include "pngchunk_int.hpp" #include "tiffimage.hpp" #include "jpgimage.hpp" #include "exif.hpp" #include "iptc.hpp" #include "image.hpp" #include "error.hpp" // + standard includes #include #include #include #include #include #include #include #include // To uncompress or compress text chunk /* URLs to find informations about PNG chunks : tEXt and zTXt chunks : http://www.vias.org/pngguide/chapter11_04.html iTXt chunk : http://www.vias.org/pngguide/chapter11_05.html PNG tags : http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/PNG.html#TextualData */ // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { void PngChunk::decodeIHDRChunk(const DataBuf& data, int* outWidth, int* outHeight) { // Extract image width and height from IHDR chunk. *outWidth = getLong((const byte*)data.pData_, bigEndian); *outHeight = getLong((const byte*)data.pData_ + 4, bigEndian); } // PngChunk::decodeIHDRChunk void PngChunk::decodeTXTChunk(Image* pImage, const DataBuf& data, TxtChunkType type) { DataBuf key = keyTXTChunk(data); #ifdef DEBUG std::cout << "Exiv2::PngChunk::decodeTXTChunk: TXT chunk key: " << std::string((const char*)key.pData_, key.size_) << "\n"; #endif DataBuf arr = parseTXTChunk(data, key.size_, type); #ifdef DEBUG std::cout << "Exiv2::PngChunk::decodeTXTChunk: TXT chunk data: " << std::string((const char*)arr.pData_, arr.size_) << "\n"; #endif parseChunkContent(pImage, key.pData_, key.size_, arr); } // PngChunk::decodeTXTChunk DataBuf PngChunk::keyTXTChunk(const DataBuf& data, bool stripHeader) { // From a tEXt, zTXt, or iTXt chunk, // we get the key, it's a null terminated string at the chunk start if (data.size_ <= (stripHeader ? 8 : 0)) throw Error(14); const byte *key = data.pData_ + (stripHeader ? 8 : 0); // Find null string at end of key. int keysize=0; for ( ; key[keysize] != 0 ; keysize++) { // look if keysize is valid. if (keysize >= data.size_) throw Error(14); } return DataBuf(key, keysize); } // PngChunk::keyTXTChunk DataBuf PngChunk::parseTXTChunk(const DataBuf& data, int keysize, TxtChunkType type) { DataBuf arr; if(type == zTXt_Chunk) { // Extract a deflate compressed Latin-1 text chunk // we get the compression method after the key const byte* compressionMethod = data.pData_ + keysize + 1; if ( *compressionMethod != 0x00 ) { // then it isn't zlib compressed and we are sunk #ifdef DEBUG std::cerr << "Exiv2::PngChunk::parseTXTChunk: Non-standard zTXt compression method.\n"; #endif throw Error(14); } // compressed string after the compression technique spec const byte* compressedText = data.pData_ + keysize + 2; unsigned int compressedTextSize = data.size_ - keysize - 2; zlibUncompress(compressedText, compressedTextSize, arr); } else if(type == tEXt_Chunk) { // Extract a non-compressed Latin-1 text chunk // the text comes after the key, but isn't null terminated const byte* text = data.pData_ + keysize + 1; long textsize = data.size_ - keysize - 1; arr = DataBuf(text, textsize); } else if(type == iTXt_Chunk) { // Extract a deflate compressed or uncompressed UTF-8 text chunk // we get the compression flag after the key const byte* compressionFlag = data.pData_ + keysize + 1; // we get the compression method after the compression flag const byte* compressionMethod = data.pData_ + keysize + 2; // language description string after the compression technique spec std::string languageText((const char*)(data.pData_ + keysize + 3)); unsigned int languageTextSize = static_cast(languageText.size()); // translated keyword string after the language description std::string translatedKeyText((const char*)(data.pData_ + keysize + 3 + languageTextSize +1)); unsigned int translatedKeyTextSize = static_cast(translatedKeyText.size()); if ( compressionFlag[0] == 0x00 ) { // then it's an uncompressed iTXt chunk #ifdef DEBUG std::cout << "Exiv2::PngChunk::parseTXTChunk: We found an uncompressed iTXt field\n"; #endif // the text comes after the translated keyword, but isn't null terminated const byte* text = data.pData_ + keysize + 3 + languageTextSize + 1 + translatedKeyTextSize + 1; long textsize = data.size_ - (keysize + 3 + languageTextSize + 1 + translatedKeyTextSize + 1); arr.alloc(textsize); arr = DataBuf(text, textsize); } else if ( compressionFlag[0] == 0x01 && compressionMethod[0] == 0x00 ) { // then it's a zlib compressed iTXt chunk #ifdef DEBUG std::cout << "Exiv2::PngChunk::parseTXTChunk: We found a zlib compressed iTXt field\n"; #endif // the compressed text comes after the translated keyword, but isn't null terminated const byte* compressedText = data.pData_ + keysize + 3 + languageTextSize + 1 + translatedKeyTextSize + 1; long compressedTextSize = data.size_ - (keysize + 3 + languageTextSize + 1 + translatedKeyTextSize + 1); zlibUncompress(compressedText, compressedTextSize, arr); } else { // then it isn't zlib compressed and we are sunk #ifdef DEBUG std::cerr << "Exiv2::PngChunk::parseTXTChunk: Non-standard iTXt compression method.\n"; #endif throw Error(14); } } else { #ifdef DEBUG std::cerr << "Exiv2::PngChunk::parseTXTChunk: We found a field, not expected though\n"; #endif throw Error(14); } return arr; } // PngChunk::parsePngChunk void PngChunk::parseChunkContent( Image* pImage, const byte* key, long keySize, const DataBuf arr) { // We look if an ImageMagick EXIF raw profile exist. if ( keySize >= 21 && ( memcmp("Raw profile type exif", key, 21) == 0 || memcmp("Raw profile type APP1", key, 21) == 0) && pImage->exifData().empty()) { DataBuf exifData = readRawProfile(arr); long length = exifData.size_; if (length > 0) { // Find the position of Exif header in bytes array. const byte exifHeader[] = { 0x45, 0x78, 0x69, 0x66, 0x00, 0x00 }; long pos = -1; for (long i=0 ; i < length-(long)sizeof(exifHeader) ; i++) { if (memcmp(exifHeader, &exifData.pData_[i], sizeof(exifHeader)) == 0) { pos = i; break; } } // If found it, store only these data at from this place. if (pos !=-1) { #ifdef DEBUG std::cout << "Exiv2::PngChunk::parseChunkContent: Exif header found at position " << pos << "\n"; #endif pos = pos + sizeof(exifHeader); ByteOrder bo = TiffParser::decode(pImage->exifData(), pImage->iptcData(), pImage->xmpData(), exifData.pData_ + pos, length - pos); pImage->setByteOrder(bo); } else { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode Exif metadata.\n"; #endif pImage->exifData().clear(); } } } // We look if an ImageMagick IPTC raw profile exist. if ( keySize >= 21 && memcmp("Raw profile type iptc", key, 21) == 0 && pImage->iptcData().empty()) { DataBuf psData = readRawProfile(arr); if (psData.size_ > 0) { Blob iptcBlob; const byte *record = 0; uint32_t sizeIptc = 0; uint32_t sizeHdr = 0; const byte* pEnd = psData.pData_ + psData.size_; const byte* pCur = psData.pData_; while ( pCur < pEnd && 0 == Photoshop::locateIptcIrb(pCur, static_cast(pEnd - pCur), &record, &sizeHdr, &sizeIptc)) { if (sizeIptc) { #ifdef DEBUG std::cerr << "Found IPTC IRB, size = " << sizeIptc << "\n"; #endif append(iptcBlob, record + sizeHdr, sizeIptc); } pCur = record + sizeHdr + sizeIptc; pCur += (sizeIptc & 1); } if ( iptcBlob.size() > 0 && IptcParser::decode(pImage->iptcData(), &iptcBlob[0], static_cast(iptcBlob.size()))) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode IPTC metadata.\n"; #endif pImage->clearIptcData(); } // If there is no IRB, try to decode the complete chunk data if ( iptcBlob.empty() && IptcParser::decode(pImage->iptcData(), psData.pData_, psData.size_)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode IPTC metadata.\n"; #endif pImage->clearIptcData(); } } // if (psData.size_ > 0) } // We look if an ImageMagick XMP raw profile exist. if ( keySize >= 20 && memcmp("Raw profile type xmp", key, 20) == 0 && pImage->xmpData().empty()) { DataBuf xmpBuf = readRawProfile(arr); long length = xmpBuf.size_; if (length > 0) { std::string& xmpPacket = pImage->xmpPacket(); xmpPacket.assign(reinterpret_cast(xmpBuf.pData_), length); std::string::size_type idx = xmpPacket.find_first_of('<'); if (idx != std::string::npos && idx > 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Removing " << idx << " characters from the beginning of the XMP packet\n"; #endif xmpPacket = xmpPacket.substr(idx); } if (XmpParser::decode(pImage->xmpData(), xmpPacket)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode XMP metadata.\n"; #endif } } } // We look if an Adobe XMP string exist. if ( keySize >= 17 && memcmp("XML:com.adobe.xmp", key, 17) == 0 && pImage->xmpData().empty()) { if (arr.size_ > 0) { std::string& xmpPacket = pImage->xmpPacket(); xmpPacket.assign(reinterpret_cast(arr.pData_), arr.size_); std::string::size_type idx = xmpPacket.find_first_of('<'); if (idx != std::string::npos && idx > 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Removing " << idx << " characters " << "from the beginning of the XMP packet\n"; #endif xmpPacket = xmpPacket.substr(idx); } if (XmpParser::decode(pImage->xmpData(), xmpPacket)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode XMP metadata.\n"; #endif } } } // We look if a comments string exist. Note than we use only 'Description' keyword which // is dedicaced to store long comments. 'Comment' keyword is ignored. if ( keySize >= 11 && memcmp("Description", key, 11) == 0 && pImage->comment().empty()) { pImage->setComment(std::string(reinterpret_cast(arr.pData_), arr.size_)); } } // PngChunk::parseChunkContent std::string PngChunk::makeMetadataChunk(const std::string& metadata, MetadataId type) { std::string chunk; std::string rawProfile; switch (type) { case mdComment: chunk = makeUtf8TxtChunk("Description", metadata, true); break; case mdExif: rawProfile = writeRawProfile(metadata, "exif"); chunk = makeAsciiTxtChunk("Raw profile type exif", rawProfile, true); break; case mdIptc: rawProfile = writeRawProfile(metadata, "iptc"); chunk = makeAsciiTxtChunk("Raw profile type iptc", rawProfile, true); break; case mdXmp: chunk = makeUtf8TxtChunk("XML:com.adobe.xmp", metadata, false); break; case mdNone: assert(false); } return chunk; } // PngChunk::makeMetadataChunk void PngChunk::zlibUncompress(const byte* compressedText, unsigned int compressedTextSize, DataBuf& arr) { uLongf uncompressedLen = compressedTextSize * 2; // just a starting point int zlibResult; int dos = 0; do { arr.alloc(uncompressedLen); zlibResult = uncompress((Bytef*)arr.pData_, &uncompressedLen, compressedText, compressedTextSize); if (zlibResult == Z_OK) { assert((uLongf)arr.size_ >= uncompressedLen); arr.size_ = uncompressedLen; } else if (zlibResult == Z_BUF_ERROR) { // the uncompressedArray needs to be larger uncompressedLen *= 2; // DoS protection. can't be bigger than 64k if (uncompressedLen > 131072) { if (++dos > 1) break; uncompressedLen = 131072; } } else { // something bad happened throw Error(14); } } while (zlibResult == Z_BUF_ERROR); if (zlibResult != Z_OK) { throw Error(14); } } // PngChunk::zlibUncompress std::string PngChunk::zlibCompress(const std::string& text) { uLongf compressedLen = static_cast(text.size() * 2); // just a starting point int zlibResult; DataBuf arr; do { arr.alloc(compressedLen); zlibResult = compress2((Bytef*)arr.pData_, &compressedLen, (const Bytef*)text.data(), static_cast(text.size()), Z_BEST_COMPRESSION); switch (zlibResult) { case Z_OK: assert((uLongf)arr.size_ >= compressedLen); arr.size_ = compressedLen; break; case Z_BUF_ERROR: // The compressed array needs to be larger #ifdef DEBUG std::cout << "Exiv2::PngChunk::parsePngChunk: doubling size for compression.\n"; #endif compressedLen *= 2; // DoS protection. Cap max compressed size if ( compressedLen > 131072 ) throw Error(14); break; default: // Something bad happened throw Error(14); } } while (zlibResult == Z_BUF_ERROR); return std::string((const char*)arr.pData_, arr.size_); } // PngChunk::zlibCompress std::string PngChunk::makeAsciiTxtChunk(const std::string& keyword, const std::string& text, bool compress) { // Chunk structure: length (4 bytes) + chunk type + chunk data + CRC (4 bytes) // Length is the size of the chunk data // CRC is calculated on chunk type + chunk data // Compressed text chunk using zlib. // Chunk data format : keyword + 0x00 + compression method (0x00) + compressed text // Not Compressed text chunk. // Chunk data format : keyword + 0x00 + text // Build chunk data, determine chunk type std::string chunkData = keyword + '\0'; std::string chunkType; if (compress) { chunkData += '\0' + zlibCompress(text); chunkType = "zTXt"; } else { chunkData += text; chunkType = "tEXt"; } // Determine length of the chunk data byte length[4]; ul2Data(length, static_cast(chunkData.size()), bigEndian); // Calculate CRC on chunk type and chunk data std::string crcData = chunkType + chunkData; uLong tmp = crc32(0L, Z_NULL, 0); tmp = crc32(tmp, (const Bytef*)crcData.data(), static_cast(crcData.size())); byte crc[4]; ul2Data(crc, tmp, bigEndian); // Assemble the chunk return std::string((const char*)length, 4) + chunkType + chunkData + std::string((const char*)crc, 4); } // PngChunk::makeAsciiTxtChunk std::string PngChunk::makeUtf8TxtChunk(const std::string& keyword, const std::string& text, bool compress) { // Chunk structure: length (4 bytes) + chunk type + chunk data + CRC (4 bytes) // Length is the size of the chunk data // CRC is calculated on chunk type + chunk data // Chunk data format : keyword + 0x00 + compression flag (0x00: uncompressed - 0x01: compressed) // + compression method (0x00: zlib format) + language tag (null) + 0x00 // + translated keyword (null) + 0x00 + text (compressed or not) // Build chunk data, determine chunk type std::string chunkData = keyword; if (compress) { static const char flags[] = { 0x00, 0x01, 0x00, 0x00, 0x00 }; chunkData += std::string(flags, 5) + zlibCompress(text); } else { static const char flags[] = { 0x00, 0x00, 0x00, 0x00, 0x00 }; chunkData += std::string(flags, 5) + text; } // Determine length of the chunk data byte length[4]; ul2Data(length, static_cast(chunkData.size()), bigEndian); // Calculate CRC on chunk type and chunk data std::string chunkType = "iTXt"; std::string crcData = chunkType + chunkData; uLong tmp = crc32(0L, Z_NULL, 0); tmp = crc32(tmp, (const Bytef*)crcData.data(), static_cast(crcData.size())); byte crc[4]; ul2Data(crc, tmp, bigEndian); // Assemble the chunk return std::string((const char*)length, 4) + chunkType + chunkData + std::string((const char*)crc, 4); } // PngChunk::makeUtf8TxtChunk DataBuf PngChunk::readRawProfile(const DataBuf& text) { DataBuf info; register long i; register unsigned char *dp; const char *sp; unsigned int nibbles; long length; unsigned char unhex[103]={0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,1, 2,3,4,5,6,7,8,9,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,10,11,12, 13,14,15}; if (text.size_ == 0) { return DataBuf(); } sp = (char*)text.pData_+1; // Look for newline while (*sp != '\n') sp++; // Look for length while (*sp == '\0' || *sp == ' ' || *sp == '\n') sp++; length = (long) atol(sp); while (*sp != ' ' && *sp != '\n') sp++; // Allocate space if (length == 0) { #ifdef DEBUG std::cerr << "Exiv2::PngChunk::readRawProfile: Unable To Copy Raw Profile: invalid profile length\n"; #endif return DataBuf(); } info.alloc(length); if (info.size_ != length) { #ifdef DEBUG std::cerr << "Exiv2::PngChunk::readRawProfile: Unable To Copy Raw Profile: cannot allocate memory\n"; #endif return DataBuf(); } // Copy profile, skipping white space and column 1 "=" signs dp = (unsigned char*)info.pData_; nibbles = length * 2; for (i = 0; i < (long) nibbles; i++) { while (*sp < '0' || (*sp > '9' && *sp < 'a') || *sp > 'f') { if (*sp == '\0') { #ifdef DEBUG std::cerr << "Exiv2::PngChunk::readRawProfile: Unable To Copy Raw Profile: ran out of data\n"; #endif return DataBuf(); } sp++; } if (i%2 == 0) *dp = (unsigned char) (16*unhex[(int) *sp++]); else (*dp++) += unhex[(int) *sp++]; } return info; } // PngChunk::readRawProfile std::string PngChunk::writeRawProfile(const std::string& profileData, const char* profileType) { static byte hex[16] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'}; std::ostringstream oss; oss << '\n' << profileType << '\n' << std::setw(8) << profileData.size(); const char* sp = profileData.data(); for (std::string::size_type i = 0; i < profileData.size(); ++i) { if (i % 36 == 0) oss << '\n'; oss << hex[((*sp >> 4) & 0x0f)]; oss << hex[((*sp++) & 0x0f)]; } oss << '\n'; return oss.str(); } // PngChunk::writeRawProfile }} // namespace Internal, Exiv2 #endif // ifdef EXV_HAVE_LIBZ exiv2-0.25/src/riffvideo.cpp0000664000175000017500000013754512535070522015603 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: riffvideo.cpp Version: $Rev: 3845 $ Author(s): Abhinav Badola for GSoC 2012 (AB) History: 18-Jun-12, AB: created Credits: See header file */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: riffvideo.cpp 3845 2015-06-07 16:29:06Z ahuggel $") // ***************************************************************************** // included header files #include "config.h" #ifdef EXV_ENABLE_VIDEO #include "riffvideo.hpp" #include "futils.hpp" #include "basicio.hpp" #include "tags.hpp" #include "tags_int.hpp" #include "types.hpp" #include "tiffimage_int.hpp" // + standard includes #include // ***************************************************************************** // class member definitions namespace Exiv2 { namespace Internal { /*! @brief Dummy TIFF header structure. */ class DummyTiffHeader : public TiffHeaderBase { public: //! @name Creators //@{ //! Default constructor DummyTiffHeader(ByteOrder byteOrder); //! Destructor ~DummyTiffHeader(); //@} //! @name Manipulators //@{ //! Dummy read function. Does nothing and returns true. bool read(const byte* pData, uint32_t size); //@} }; // class TiffHeader DummyTiffHeader::DummyTiffHeader(ByteOrder byteOrder) : TiffHeaderBase(42, 0, byteOrder, 0) { } DummyTiffHeader::~DummyTiffHeader() { } bool DummyTiffHeader::read(const byte* /*pData*/, uint32_t /*size*/) { return true; } extern const TagVocabulary infoTags[] = { { "AGES", "Xmp.video.Rated" }, { "CMNT", "Xmp.video.Comment" }, { "CODE", "Xmp.video.EncodedBy" }, { "COMM", "Xmp.video.Comment" }, { "DIRC", "Xmp.video.Director" }, { "DISP", "Xmp.audio.SchemeTitle" }, { "DTIM", "Xmp.video.DateTimeOriginal" }, { "GENR", "Xmp.video.Genre" }, { "IARL", "Xmp.video.ArchivalLocation" }, { "IART", "Xmp.video.Artist" }, { "IAS1", "Xmp.video.Edit1" }, { "IAS2", "Xmp.video.Edit2" }, { "IAS3", "Xmp.video.Edit3" }, { "IAS4", "Xmp.video.Edit4" }, { "IAS5", "Xmp.video.Edit5" }, { "IAS6", "Xmp.video.Edit6" }, { "IAS7", "Xmp.video.Edit7" }, { "IAS8", "Xmp.video.Edit8" }, { "IAS9", "Xmp.video.Edit9" }, { "IBSU", "Xmp.video.BaseURL" }, { "ICAS", "Xmp.audio.DefaultStream" }, { "ICDS", "Xmp.video.CostumeDesigner" }, { "ICMS", "Xmp.video.Commissioned" }, { "ICMT", "Xmp.video.Comment" }, { "ICNM", "Xmp.video.Cinematographer" }, { "ICNT", "Xmp.video.Country" }, { "ICOP", "Xmp.video.Copyright" }, { "ICRD", "Xmp.video.DateTimeDigitized" }, { "ICRP", "Xmp.video.Cropped" }, { "IDIM", "Xmp.video.Dimensions" }, { "IDPI", "Xmp.video.DotsPerInch" }, { "IDST", "Xmp.video.DistributedBy" }, { "IEDT", "Xmp.video.EditedBy" }, { "IENC", "Xmp.video.EncodedBy" }, { "IENG", "Xmp.video.Engineer" }, { "IGNR", "Xmp.video.Genre" }, { "IKEY", "Xmp.video.PerformerKeywords" }, { "ILGT", "Xmp.video.Lightness" }, { "ILGU", "Xmp.video.LogoURL" }, { "ILIU", "Xmp.video.LogoIconURL" }, { "ILNG", "Xmp.video.Language" }, { "IMBI", "Xmp.video.InfoBannerImage" }, { "IMBU", "Xmp.video.InfoBannerURL" }, { "IMED", "Xmp.video.Medium" }, { "IMIT", "Xmp.video.InfoText" }, { "IMIU", "Xmp.video.InfoURL" }, { "IMUS", "Xmp.video.MusicBy" }, { "INAM", "Xmp.video.Title" }, { "IPDS", "Xmp.video.ProductionDesigner" }, { "IPLT", "Xmp.video.NumOfColors" }, { "IPRD", "Xmp.video.Product" }, { "IPRO", "Xmp.video.ProducedBy" }, { "IRIP", "Xmp.video.RippedBy" }, { "IRTD", "Xmp.video.Rating" }, { "ISBJ", "Xmp.video.Subject" }, { "ISFT", "Xmp.video.Software" }, { "ISGN", "Xmp.video.SecondaryGenre" }, { "ISHP", "Xmp.video.Sharpness" }, { "ISRC", "Xmp.video.Source" }, { "ISRF", "Xmp.video.SourceForm" }, { "ISTD", "Xmp.video.ProductionStudio" }, { "ISTR", "Xmp.video.Starring" }, { "ITCH", "Xmp.video.Technician" }, { "IWMU", "Xmp.video.WatermarkURL" }, { "IWRI", "Xmp.video.WrittenBy" }, { "LANG", "Xmp.video.Language" }, { "LOCA", "Xmp.video.LocationInfo" }, { "PRT1", "Xmp.video.Part" }, { "PRT2", "Xmp.video.NumOfParts" }, { "RATE", "Xmp.video.Rate" }, { "STAR", "Xmp.video.Starring" }, { "STAT", "Xmp.video.Statistics" }, { "TAPE", "Xmp.video.TapeName" }, { "TCDO", "Xmp.video.EndTimecode" }, { "TCOD", "Xmp.video.StartTimecode" }, { "TITL", "Xmp.video.Title" }, { "TLEN", "Xmp.video.Length" }, { "TORG", "Xmp.video.Organization" }, { "TRCK", "Xmp.video.TrackNumber" }, { "TURL", "Xmp.video.URL" }, { "TVER", "Xmp.video.SoftwareVersion" }, { "VMAJ", "Xmp.video.VegasVersionMajor" }, { "VMIN", "Xmp.video.VegasVersionMinor" }, { "YEAR", "Xmp.video.Year" } }; extern const TagDetails audioEncodingValues[] = { { 0x1, "Microsoft PCM" }, { 0x2, "Microsoft ADPCM" }, { 0x3, "Microsoft IEEE float" }, { 0x4, "Compaq VSELP" }, { 0x5, "IBM CVSD" }, { 0x6, "Microsoft a-Law" }, { 0x7, "Microsoft u-Law" }, { 0x8, "Microsoft DTS" }, { 0x9, "DRM" }, { 0xa, "WMA 9 Speech" }, { 0xb, "Microsoft Windows Media RT Voice" }, { 0x10, "OKI-ADPCM" }, { 0x11, "Intel IMA/DVI-ADPCM" }, { 0x12, "Videologic Mediaspace ADPCM" }, { 0x13, "Sierra ADPCM" }, { 0x14, "Antex G.723 ADPCM" }, { 0x15, "DSP Solutions DIGISTD" }, { 0x16, "DSP Solutions DIGIFIX" }, { 0x17, "Dialoic OKI ADPCM" }, { 0x18, "Media Vision ADPCM" }, { 0x19, "HP CU" }, { 0x1a, "HP Dynamic Voice" }, { 0x20, "Yamaha ADPCM" }, { 0x21, "SONARC Speech Compression" }, { 0x22, "DSP Group True Speech" }, { 0x23, "Echo Speech Corp." }, { 0x24, "Virtual Music Audiofile AF36" }, { 0x25, "Audio Processing Tech." }, { 0x26, "Virtual Music Audiofile AF10" }, { 0x27, "Aculab Prosody 1612" }, { 0x28, "Merging Tech. LRC" }, { 0x30, "Dolby AC2" }, { 0x31, "Microsoft GSM610" }, { 0x32, "MSN Audio" }, { 0x33, "Antex ADPCME" }, { 0x34, "Control Resources VQLPC" }, { 0x35, "DSP Solutions DIGIREAL" }, { 0x36, "DSP Solutions DIGIADPCM" }, { 0x37, "Control Resources CR10" }, { 0x38, "Natural MicroSystems VBX ADPCM" }, { 0x39, "Crystal Semiconductor IMA ADPCM" }, { 0x3a, "Echo Speech ECHOSC3" }, { 0x3b, "Rockwell ADPCM" }, { 0x3c, "Rockwell DIGITALK" }, { 0x3d, "Xebec Multimedia" }, { 0x40, "Antex G.721 ADPCM" }, { 0x41, "Antex G.728 CELP" }, { 0x42, "Microsoft MSG723" }, { 0x43, "IBM AVC ADPCM" }, { 0x45, "ITU-T G.726" }, { 0x50, "Microsoft MPEG" }, { 0x51, "RT23 or PAC" }, { 0x52, "InSoft RT24" }, { 0x53, "InSoft PAC" }, { 0x55, "MP3" }, { 0x59, "Cirrus" }, { 0x60, "Cirrus Logic" }, { 0x61, "ESS Tech. PCM" }, { 0x62, "Voxware Inc." }, { 0x63, "Canopus ATRAC" }, { 0x64, "APICOM G.726 ADPCM" }, { 0x65, "APICOM G.722 ADPCM" }, { 0x66, "Microsoft DSAT" }, { 0x67, "Micorsoft DSAT DISPLAY" }, { 0x69, "Voxware Byte Aligned" }, { 0x70, "Voxware AC8" }, { 0x71, "Voxware AC10" }, { 0x72, "Voxware AC16" }, { 0x73, "Voxware AC20" }, { 0x74, "Voxware MetaVoice" }, { 0x75, "Voxware MetaSound" }, { 0x76, "Voxware RT29HW" }, { 0x77, "Voxware VR12" }, { 0x78, "Voxware VR18" }, { 0x79, "Voxware TQ40" }, { 0x7a, "Voxware SC3" }, { 0x7b, "Voxware SC3" }, { 0x80, "Soundsoft" }, { 0x81, "Voxware TQ60" }, { 0x82, "Microsoft MSRT24" }, { 0x83, "AT&T G.729A" }, { 0x84, "Motion Pixels MVI MV12" }, { 0x85, "DataFusion G.726" }, { 0x86, "DataFusion GSM610" }, { 0x88, "Iterated Systems Audio" }, { 0x89, "Onlive" }, { 0x8a, "Multitude, Inc. FT SX20" }, { 0x8b, "Infocom ITS A/S G.721 ADPCM" }, { 0x8c, "Convedia G729" }, { 0x8d, "Not specified congruency, Inc." }, { 0x91, "Siemens SBC24" }, { 0x92, "Sonic Foundry Dolby AC3 APDIF" }, { 0x93, "MediaSonic G.723" }, { 0x94, "Aculab Prosody 8kbps" }, { 0x97, "ZyXEL ADPCM" }, { 0x98, "Philips LPCBB" }, { 0x99, "Studer Professional Audio Packed" }, { 0xa0, "Malden PhonyTalk" }, { 0xa1, "Racal Recorder GSM" }, { 0xa2, "Racal Recorder G720.a" }, { 0xa3, "Racal G723.1" }, { 0xa4, "Racal Tetra ACELP" }, { 0xb0, "NEC AAC NEC Corporation" }, { 0xff, "AAC" }, { 0x100, "Rhetorex ADPCM" }, { 0x101, "IBM u-Law" }, { 0x102, "IBM a-Law" }, { 0x103, "IBM ADPCM" }, { 0x111, "Vivo G.723" }, { 0x112, "Vivo Siren" }, { 0x120, "Philips Speech Processing CELP" }, { 0x121, "Philips Speech Processing GRUNDIG" }, { 0x123, "Digital G.723" }, { 0x125, "Sanyo LD ADPCM" }, { 0x130, "Sipro Lab ACEPLNET" }, { 0x131, "Sipro Lab ACELP4800" }, { 0x132, "Sipro Lab ACELP8V3" }, { 0x133, "Sipro Lab G.729" }, { 0x134, "Sipro Lab G.729A" }, { 0x135, "Sipro Lab Kelvin" }, { 0x136, "VoiceAge AMR" }, { 0x140, "Dictaphone G.726 ADPCM" }, { 0x150, "Qualcomm PureVoice" }, { 0x151, "Qualcomm HalfRate" }, { 0x155, "Ring Zero Systems TUBGSM" }, { 0x160, "Microsoft Audio1" }, { 0x161, "Windows Media Audio V2 V7 V8 V9 / DivX audio (WMA) / Alex AC3 Audio" }, { 0x162, "Windows Media Audio Professional V9" }, { 0x163, "Windows Media Audio Lossless V9" }, { 0x164, "WMA Pro over S/PDIF" }, { 0x170, "UNISYS NAP ADPCM" }, { 0x171, "UNISYS NAP ULAW" }, { 0x172, "UNISYS NAP ALAW" }, { 0x173, "UNISYS NAP 16K" }, { 0x174, "MM SYCOM ACM SYC008 SyCom Technologies" }, { 0x175, "MM SYCOM ACM SYC701 G726L SyCom Technologies" }, { 0x176, "MM SYCOM ACM SYC701 CELP54 SyCom Technologies" }, { 0x177, "MM SYCOM ACM SYC701 CELP68 SyCom Technologies" }, { 0x178, "Knowledge Adventure ADPCM" }, { 0x180, "Fraunhofer IIS MPEG2AAC" }, { 0x190, "Digital Theater Systems DTS DS" }, { 0x200, "Creative Labs ADPCM" }, { 0x202, "Creative Labs FASTSPEECH8" }, { 0x203, "Creative Labs FASTSPEECH10" }, { 0x210, "UHER ADPCM" }, { 0x215, "Ulead DV ACM" }, { 0x216, "Ulead DV ACM" }, { 0x220, "Quarterdeck Corp." }, { 0x230, "I-Link VC" }, { 0x240, "Aureal Semiconductor Raw Sport" }, { 0x241, "ESST AC3" }, { 0x250, "Interactive Products HSX" }, { 0x251, "Interactive Products RPELP" }, { 0x260, "Consistent CS2" }, { 0x270, "Sony SCX" }, { 0x271, "Sony SCY" }, { 0x272, "Sony ATRAC3" }, { 0x273, "Sony SPC" }, { 0x280, "TELUM Telum Inc." }, { 0x281, "TELUMIA Telum Inc." }, { 0x285, "Norcom Voice Systems ADPCM" }, { 0x300, "Fujitsu FM TOWNS SND" }, { 0x301, "Fujitsu (not specified)" }, { 0x302, "Fujitsu (not specified)" }, { 0x303, "Fujitsu (not specified)" }, { 0x304, "Fujitsu (not specified)" }, { 0x305, "Fujitsu (not specified)" }, { 0x306, "Fujitsu (not specified)" }, { 0x307, "Fujitsu (not specified)" }, { 0x308, "Fujitsu (not specified)" }, { 0x350, "Micronas Semiconductors, Inc. Development" }, { 0x351, "Micronas Semiconductors, Inc. CELP833" }, { 0x400, "Brooktree Digital" }, { 0x401, "Intel Music Coder (IMC)" }, { 0x402, "Ligos Indeo Audio" }, { 0x450, "QDesign Music" }, { 0x500, "On2 VP7 On2 Technologies" }, { 0x501, "On2 VP6 On2 Technologies" }, { 0x680, "AT&T VME VMPCM" }, { 0x681, "AT&T TCP" }, { 0x700, "YMPEG Alpha (dummy for MPEG-2 compressor)" }, { 0x8ae, "ClearJump LiteWave (lossless)" }, { 0x1000, "Olivetti GSM" }, { 0x1001, "Olivetti ADPCM" }, { 0x1002, "Olivetti CELP" }, { 0x1003, "Olivetti SBC" }, { 0x1004, "Olivetti OPR" }, { 0x1100, "Lernout & Hauspie" }, { 0x1101, "Lernout & Hauspie CELP codec" }, { 0x1102, "Lernout & Hauspie SBC codec" }, { 0x1103, "Lernout & Hauspie SBC codec" }, { 0x1104, "Lernout & Hauspie SBC codec" }, { 0x1400, "Norris Comm. Inc." }, { 0x1401, "ISIAudio" }, { 0x1500, "AT&T Soundspace Music Compression" }, { 0x181c, "VoxWare RT24 speech codec" }, { 0x181e, "Lucent elemedia AX24000P Music codec" }, { 0x1971, "Sonic Foundry LOSSLESS" }, { 0x1979, "Innings Telecom Inc. ADPCM" }, { 0x1c07, "Lucent SX8300P speech codec" }, { 0x1c0c, "Lucent SX5363S G.723 compliant codec" }, { 0x1f03, "CUseeMe DigiTalk (ex-Rocwell)" }, { 0x1fc4, "NCT Soft ALF2CD ACM" }, { 0x2000, "FAST Multimedia DVM" }, { 0x2001, "Dolby DTS (Digital Theater System)" }, { 0x2002, "RealAudio 1 / 2 14.4" }, { 0x2003, "RealAudio 1 / 2 28.8" }, { 0x2004, "RealAudio G2 / 8 Cook (low bitrate)" }, { 0x2005, "RealAudio 3 / 4 / 5 Music (DNET)" }, { 0x2006, "RealAudio 10 AAC (RAAC)" }, { 0x2007, "RealAudio 10 AAC+ (RACP)" }, { 0x2500, "Reserved range to 0x2600 Microsoft" }, { 0x3313, "makeAVIS (ffvfw fake AVI sound from AviSynth scripts)" }, { 0x4143, "Divio MPEG-4 AAC audio" }, { 0x4201, "Nokia adaptive multirate" }, { 0x4243, "Divio G726 Divio, Inc." }, { 0x434c, "LEAD Speech" }, { 0x564c, "LEAD Vorbis" }, { 0x5756, "WavPack Audio" }, { 0x674f, "Ogg Vorbis (mode 1)" }, { 0x6750, "Ogg Vorbis (mode 2)" }, { 0x6751, "Ogg Vorbis (mode 3)" }, { 0x676f, "Ogg Vorbis (mode 1+)" }, { 0x6770, "Ogg Vorbis (mode 2+)" }, { 0x6771, "Ogg Vorbis (mode 3+)" }, { 0x7000, "3COM NBX 3Com Corporation" }, { 0x706d, "FAAD AAC" }, { 0x7a21, "GSM-AMR (CBR, no SID)" }, { 0x7a22, "GSM-AMR (VBR, including SID)" }, { 0xa100, "Comverse Infosys Ltd. G723 1" }, { 0xa101, "Comverse Infosys Ltd. AVQSBC" }, { 0xa102, "Comverse Infosys Ltd. OLDSBC" }, { 0xa103, "Symbol Technologies G729A" }, { 0xa104, "VoiceAge AMR WB VoiceAge Corporation" }, { 0xa105, "Ingenient Technologies Inc. G726" }, { 0xa106, "ISO/MPEG-4 advanced audio Coding" }, { 0xa107, "Encore Software Ltd G726" }, { 0xa109, "Speex ACM Codec xiph.org" }, { 0xdfac, "DebugMode SonicFoundry Vegas FrameServer ACM Codec" }, { 0xe708, "Unknown -" }, { 0xf1ac, "Free Lossless Audio Codec FLAC" }, { 0xfffe, "Extensible" }, { 0xffff, "Development" } }; extern const TagDetails nikonAVITags[] = { { 0x0003, "Xmp.video.Make" }, { 0x0004, "Xmp.video.Model" }, { 0x0005, "Xmp.video.Software" }, { 0x0006, "Xmp.video.Equipment" }, { 0x0007, "Xmp.video.Orientation" }, { 0x0008, "Xmp.video.ExposureTime" }, { 0x0009, "Xmp.video.FNumber" }, { 0x000a, "Xmp.video.ExposureCompensation" }, { 0x000b, "Xmp.video.MaxApertureValue" }, { 0x000c, "Xmp.video.MeteringMode" }, { 0x000f, "Xmp.video.FocalLength" }, { 0x0010, "Xmp.video.XResolution" }, { 0x0011, "Xmp.video.YResolution" }, { 0x0012, "Xmp.video.ResolutionUnit" }, { 0x0013, "Xmp.video.DateTimeOriginal" }, { 0x0014, "Xmp.video.DateTimeDigitized" }, { 0x0016, "Xmp.video.duration" }, { 0x0018, "Xmp.video.FocusMode" }, { 0x001b, "Xmp.video.DigitalZoomRatio" }, { 0x001d, "Xmp.video.ColorMode" }, { 0x001e, "Xmp.video.Sharpness" }, { 0x001f, "Xmp.video.WhiteBalance" }, { 0x0020, "Xmp.video.ColorNoiseReduction" } }; /* extern const TagDetails orientation[] = { { 1, "Horizontal (normal)" }, { 2, "Mirror horizontal" }, { 3, "Rotate 180" }, { 4, "Mirror vertical" }, { 5, "Mirror horizontal and rotate 270 CW" }, { 6, "Rotate 90 CW" }, { 7, "Mirror horizontal and rotate 90 CW" }, { 8, "Rotate 270 CW" } }; */ extern const TagDetails meteringMode[] = { { 0, "Unknown" }, { 1, "Average" }, { 2, "Center-weighted average" }, { 3, "Spot" }, { 4, "Multi-spot" }, { 5, "Multi-segment" }, { 6, "Partial" }, { 255, "Other" } }; extern const TagDetails resolutionUnit[] = { { 1, "None" }, { 2, "inches" }, { 3, "cm" } }; /*! @brief Function used to check equality of a Tags with a particular string (ignores case while comparing). @param buf Data buffer that will contain Tag to compare @param str char* Pointer to string @return Returns true if the buffer value is equal to string. */ bool equalsRiffTag(Exiv2::DataBuf& buf ,const char* str) { for(int i = 0; i < 4; i++ ) if(toupper(buf.pData_[i]) != str[i]) return false; return true; } enum streamTypeInfo { Audio = 1, MIDI, Text, Video }; enum streamHeaderTags { codec = 1, sampleRate = 5, sampleCount = 8, quality = 10, sampleSize }; enum bmptags { imageWidth, imageHeight, planes, bitDepth, compression, imageLength, pixelsPerMeterX, pixelsPerMeterY, numColors, numImportantColors }; enum audioFormatTags { encoding, numberOfChannels, audioSampleRate, avgBytesPerSec = 4, bitsPerSample = 7 }; enum aviHeaderTags { frameRate, maxDataRate, frameCount = 4, streamCount = 6, imageWidth_h = 8, imageHeight_h }; }} // namespace Internal, Exiv2 namespace Exiv2 { using namespace Exiv2::Internal; RiffVideo::RiffVideo(BasicIo::AutoPtr io) : Image(ImageType::riff, mdNone, io) { } // RiffVideo::RiffVideo std::string RiffVideo::mimeType() const { return "video/riff"; } void RiffVideo::writeMetadata() { } // RiffVideo::writeMetadata void RiffVideo::readMetadata() { if (io_->open() != 0) throw Error(9, io_->path(), strError()); // Ensure that this is the correct image type if (!isRiffType(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "RIFF"); } IoCloser closer(*io_); clearMetadata(); continueTraversing_ = true; xmpData_["Xmp.video.FileSize"] = (double)io_->size()/(double)1048576; xmpData_["Xmp.video.FileName"] = io_->path(); xmpData_["Xmp.video.MimeType"] = mimeType(); const long bufMinSize = 4; DataBuf buf(bufMinSize+1); buf.pData_[4] = '\0'; io_->read(buf.pData_, bufMinSize); xmpData_["Xmp.video.Container"] = buf.pData_; io_->read(buf.pData_, bufMinSize); io_->read(buf.pData_, bufMinSize); xmpData_["Xmp.video.FileType"] = buf.pData_; while (continueTraversing_) decodeBlock(); } // RiffVideo::readMetadata void RiffVideo::decodeBlock() { const long bufMinSize = 4; DataBuf buf(bufMinSize+1); DataBuf buf2(bufMinSize+1); unsigned long size = 0; buf.pData_[4] = '\0' ; buf2.pData_[4] = '\0' ; io_->read(buf2.pData_, 4); if(io_->eof() || equalsRiffTag(buf2, "MOVI") || equalsRiffTag(buf2, "DATA")) { continueTraversing_ = false; return; } else if(equalsRiffTag(buf2, "HDRL") || equalsRiffTag(buf2, "STRL")) { decodeBlock(); } else { io_->read(buf.pData_, 4); size = Exiv2::getULong(buf.pData_, littleEndian); tagDecoder(buf2, size); } } // RiffVideo::decodeBlock void RiffVideo::tagDecoder(Exiv2::DataBuf& buf, unsigned long size) { uint64_t cur_pos = io_->tell(); static bool listFlag = false, listEnd = false; if(equalsRiffTag(buf, "LIST")) { listFlag = true; listEnd = false; while((uint64_t)(io_->tell()) < cur_pos + size) decodeBlock(); listEnd = true; io_->seek(cur_pos + size, BasicIo::beg); } else if(equalsRiffTag(buf, "JUNK") && listEnd) { junkHandler(size); } else if(equalsRiffTag(buf, "AVIH")) { listFlag = false; aviHeaderTagsHandler(size); } else if(equalsRiffTag(buf, "STRH")) { listFlag = false; streamHandler(size); } else if(equalsRiffTag(buf,"STRF") || equalsRiffTag(buf, "FMT ")) { listFlag = false; if(equalsRiffTag(buf,"FMT ")) streamType_ = Audio; streamFormatHandler(size); } else if(equalsRiffTag(buf, "STRN")) { listFlag = false; dateTimeOriginal(size, 1); } else if(equalsRiffTag(buf, "STRD")) { listFlag = false; streamDataTagHandler(size); } else if(equalsRiffTag(buf, "IDIT")) { listFlag = false; dateTimeOriginal(size); } else if(equalsRiffTag(buf, "INFO")) { listFlag = false; infoTagsHandler(); } else if(equalsRiffTag(buf, "NCDT")) { listFlag = false; nikonTagsHandler(); } else if(equalsRiffTag(buf, "ODML")) { listFlag = false; odmlTagsHandler(); } else if (listFlag) { // std::cout<<"|unprocessed|"<seek(cur_pos + size, BasicIo::beg); } } // RiffVideo::tagDecoder void RiffVideo::streamDataTagHandler(long size) { const long bufMinSize = 20000; DataBuf buf(bufMinSize); buf.pData_[4] = '\0'; uint64_t cur_pos = io_->tell(); io_->read(buf.pData_, 8); if(equalsRiffTag(buf, "AVIF")) { if (size - 4 < 0) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << " Exif Tags found in this RIFF file are not of valid size ." << " Entries considered invalid. Not Processed.\n"; #endif } else { io_->read(buf.pData_, size - 4); IptcData iptcData; XmpData xmpData; DummyTiffHeader tiffHeader(littleEndian); TiffParserWorker::decode(exifData_, iptcData, xmpData, buf.pData_, buf.size_, Tag::root, TiffMapping::findDecoder, &tiffHeader); #ifndef SUPPRESS_WARNINGS if (!iptcData.empty()) { EXV_WARNING << "Ignoring IPTC information encoded in the Exif data.\n"; } if (!xmpData.empty()) { EXV_WARNING << "Ignoring XMP information encoded in the Exif data.\n"; } #endif } } // TODO decode CasioData and ZORA Tag io_->seek(cur_pos + size, BasicIo::beg); } // RiffVideo::streamDataTagHandler void RiffVideo::dateTimeOriginal(long size, int i) { uint64_t cur_pos = io_->tell(); const long bufMinSize = 100; DataBuf buf(bufMinSize); io_->read(buf.pData_, size); if(!i) xmpData_["Xmp.video.DateUTC"] = buf.pData_; else xmpData_["Xmp.video.StreamName"] = buf.pData_; io_->seek(cur_pos + size, BasicIo::beg); } // RiffVideo::dateTimeOriginal void RiffVideo::odmlTagsHandler() { const long bufMinSize = 100; DataBuf buf(bufMinSize); buf.pData_[4] = '\0'; io_->seek(-12, BasicIo::cur); io_->read(buf.pData_, 4); unsigned long size = Exiv2::getULong(buf.pData_, littleEndian); unsigned long size2 = size; uint64_t cur_pos = io_->tell(); io_->read(buf.pData_, 4); size -= 4; while(size > 0) { io_->read(buf.pData_, 4); size -= 4; if(equalsRiffTag(buf,"DMLH")) { io_->read(buf.pData_, 4); size -= 4; io_->read(buf.pData_, 4); size -= 4; xmpData_["Xmp.video.TotalFrameCount"] = Exiv2::getULong(buf.pData_, littleEndian); } } io_->seek(cur_pos + size2, BasicIo::beg); } // RiffVideo::odmlTagsHandler void RiffVideo::skipListData() { const long bufMinSize = 4; DataBuf buf(bufMinSize+1); buf.pData_[4] = '\0'; io_->seek(-12, BasicIo::cur); io_->read(buf.pData_, 4); unsigned long size = Exiv2::getULong(buf.pData_, littleEndian); uint64_t cur_pos = io_->tell(); io_->seek(cur_pos + size, BasicIo::beg); } // RiffVideo::skipListData void RiffVideo::nikonTagsHandler() { const long bufMinSize = 100; DataBuf buf(bufMinSize), buf2(4+1); buf.pData_[4] = '\0'; io_->seek(-12, BasicIo::cur); io_->read(buf.pData_, 4); long internal_size = 0, tagID = 0, dataSize = 0, tempSize, size = Exiv2::getULong(buf.pData_, littleEndian); tempSize = size; char str[9] = " . . . "; uint64_t internal_pos, cur_pos; internal_pos = cur_pos = io_->tell(); const TagDetails* td; double denominator = 1; io_->read(buf.pData_, 4); tempSize -= 4; while((long)tempSize > 0) { std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 4); io_->read(buf2.pData_, 4); int temp = internal_size = Exiv2::getULong(buf2.pData_, littleEndian); internal_pos = io_->tell(); tempSize -= (internal_size + 8); if(equalsRiffTag(buf, "NCVR")) { while((long)temp > 3) { std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 2); tagID = Exiv2::getULong(buf.pData_, littleEndian); io_->read(buf.pData_, 2); dataSize = Exiv2::getULong(buf.pData_, littleEndian); temp -= (4 + dataSize); if(tagID == 0x0001) { if (dataSize <= 0) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << " Makernotes found in this RIFF file are not of valid size ." << " Entries considered invalid. Not Processed.\n"; #endif } else { io_->read(buf.pData_, dataSize); xmpData_["Xmp.video.MakerNoteType"] = buf.pData_; } } else if (tagID == 0x0002) { while(dataSize) { std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 1); str[(4 - dataSize) * 2] = (char)(Exiv2::getULong(buf.pData_, littleEndian) + 48); --dataSize; } xmpData_["Xmp.video.MakerNoteVersion"] = str; } } } else if(equalsRiffTag(buf, "NCTG")) { while((long)temp > 3) { std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 2); tagID = Exiv2::getULong(buf.pData_, littleEndian); io_->read(buf.pData_, 2); dataSize = Exiv2::getULong(buf.pData_, littleEndian); temp -= (4 + dataSize); td = find(nikonAVITags , tagID); if (dataSize <= 0) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << " Makernotes found in this RIFF file are not of valid size ." << " Entries considered invalid. Not Processed.\n"; #endif } else { io_->read(buf.pData_, dataSize); switch (tagID) { case 0x0003: case 0x0004: case 0x0005: case 0x0006: case 0x0013: case 0x0014: case 0x0018: case 0x001d: case 0x001e: case 0x001f: case 0x0020: xmpData_[exvGettext(td->label_)] = buf.pData_; break; case 0x0007: case 0x0010: case 0x0011: case 0x000c: case 0x0012: xmpData_[exvGettext(td->label_)] = Exiv2::getULong(buf.pData_, littleEndian); break; case 0x0008: case 0x0009: case 0x000a: case 0x000b: case 0x000f: case 0x001b: case 0x0016: buf2.pData_[0] = buf.pData_[4]; buf2.pData_[1] = buf.pData_[5]; buf2.pData_[2] = buf.pData_[6]; buf2.pData_[3] = buf.pData_[7]; denominator = (double)Exiv2::getLong(buf2.pData_, littleEndian); if (denominator != 0) xmpData_[exvGettext(td->label_)] = (double)Exiv2::getLong(buf.pData_, littleEndian) / denominator; else xmpData_[exvGettext(td->label_)] = 0; break; default: break; } } } } else if(equalsRiffTag(buf, "NCTH")) {//TODO Nikon Thumbnail Image } else if(equalsRiffTag(buf, "NCVW")) {//TODO Nikon Preview Image } io_->seek(internal_pos + internal_size, BasicIo::beg); } if (size ==0) { io_->seek(cur_pos + 4, BasicIo::beg); } else { io_->seek(cur_pos + size, BasicIo::beg); } } // RiffVideo::nikonTagsHandler void RiffVideo::infoTagsHandler() { const long bufMinSize = 10000; DataBuf buf(bufMinSize); buf.pData_[4] = '\0'; io_->seek(-12, BasicIo::cur); io_->read(buf.pData_, 4); long infoSize, size = Exiv2::getULong(buf.pData_, littleEndian); long size_external = size; const TagVocabulary* tv; uint64_t cur_pos = io_->tell(); io_->read(buf.pData_, 4); size -= 4; while(size > 3) { io_->read(buf.pData_, 4); size -= 4; if(!Exiv2::getULong(buf.pData_, littleEndian)) break; tv = find(infoTags , Exiv2::toString( buf.pData_)); io_->read(buf.pData_, 4); size -= 4; infoSize = Exiv2::getULong(buf.pData_, littleEndian); if(infoSize >= 0) { size -= infoSize; io_->read(buf.pData_, infoSize); if(infoSize < 4) buf.pData_[infoSize] = '\0'; } if(tv) xmpData_[exvGettext(tv->label_)] = buf.pData_; else continue; } io_->seek(cur_pos + size_external, BasicIo::beg); } // RiffVideo::infoTagsHandler void RiffVideo::junkHandler(long size) { const long bufMinSize = size; if (size < 0) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << " Junk Data found in this RIFF file are not of valid size ." << " Entries considered invalid. Not Processed.\n"; #endif io_->seek(io_->tell() + 4, BasicIo::beg); } else { DataBuf buf(bufMinSize+1), buf2(4+1); std::memset(buf.pData_, 0x0, buf.size_); buf2.pData_[4] = '\0'; uint64_t cur_pos = io_->tell(); io_->read(buf.pData_, 4); //! Pentax Metadata and Tags if(equalsRiffTag(buf, "PENT")) { io_->seek(cur_pos + 18, BasicIo::beg); io_->read(buf.pData_, 26); xmpData_["Xmp.video.Make"] = buf.pData_; io_->read(buf.pData_, 50); xmpData_["Xmp.video.Model"] = buf.pData_; std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 8); buf2.pData_[0] = buf.pData_[4]; buf2.pData_[1] = buf.pData_[5]; buf2.pData_[2] = buf.pData_[6]; buf2.pData_[3] = buf.pData_[7]; xmpData_["Xmp.video.FNumber"] = (double)Exiv2::getLong(buf.pData_, littleEndian) / (double)Exiv2::getLong(buf2.pData_, littleEndian);; io_->seek(cur_pos + 131, BasicIo::beg); io_->read(buf.pData_, 26); xmpData_["Xmp.video.DateTimeOriginal"] = buf.pData_; io_->read(buf.pData_, 26); xmpData_["Xmp.video.DateTimeDigitized"] = buf.pData_; io_->seek(cur_pos + 299, BasicIo::beg); std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, 2); Exiv2::XmpTextValue tv(Exiv2::toString(Exiv2::getLong(buf.pData_, littleEndian))); xmpData_.add(Exiv2::XmpKey("Xmp.xmp.Thumbnails/xmpGImg:width"), &tv); io_->read(buf.pData_, 2); tv.read(Exiv2::toString(Exiv2::getLong(buf.pData_, littleEndian))); xmpData_.add(Exiv2::XmpKey("Xmp.xmp.Thumbnails/xmpGImg:height"), &tv); io_->read(buf.pData_, 4); /* TODO - Storing the image Thumbnail in Base64 Format uint64_t length = Exiv2::getLong(buf.pData_, littleEndian); io_->read(buf.pData_, length); char *rawStr = Exiv2::toString(buf.pData_); char *encodedStr; SXMPUtils::EncodeToBase64(rawStr, encodedStr); tv.read(Exiv2::toString(encodedStr)); xmpData_.add(Exiv2::XmpKey("Xmp.xmp.Thumbnails/xmpGImg:image"), &tv); */ } else { io_->seek(cur_pos, BasicIo::beg); io_->read(buf.pData_, size); xmpData_["Xmp.video.Junk"] = buf.pData_; } io_->seek(cur_pos + size, BasicIo::beg); } } // RiffVideo::junkHandler void RiffVideo::aviHeaderTagsHandler(long size) { const long bufMinSize = 4; DataBuf buf(bufMinSize+1); buf.pData_[4] = '\0'; long width = 0, height = 0, frame_count = 0; double frame_rate = 1; uint64_t cur_pos = io_->tell(); for(int i = 0; i <= 9; i++) { std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, bufMinSize); switch(i) { case frameRate: xmpData_["Xmp.video.MicroSecPerFrame"] = Exiv2::getULong(buf.pData_, littleEndian); frame_rate = (double)1000000/(double)Exiv2::getULong(buf.pData_, littleEndian); break; case (maxDataRate): xmpData_["Xmp.video.MaxDataRate"] = (double)Exiv2::getULong(buf.pData_, littleEndian)/(double)1024; break; case frameCount: xmpData_["Xmp.video.FrameCount"] = Exiv2::getULong(buf.pData_, littleEndian); frame_count = Exiv2::getULong(buf.pData_, littleEndian); break; case streamCount: xmpData_["Xmp.video.StreamCount"] = Exiv2::getULong(buf.pData_, littleEndian); break; case imageWidth_h: width = Exiv2::getULong(buf.pData_, littleEndian); xmpData_["Xmp.video.Width"] = width; break; case imageHeight_h: height = Exiv2::getULong(buf.pData_, littleEndian); xmpData_["Xmp.video.Height"] = height; break; } } fillAspectRatio(width, height); fillDuration(frame_rate, frame_count); io_->seek(cur_pos + size, BasicIo::beg); } // RiffVideo::aviHeaderTagsHandler void RiffVideo::streamHandler(long size) { const long bufMinSize = 4; DataBuf buf(bufMinSize+1); buf.pData_[4]='\0'; long divisor = 1; uint64_t cur_pos = io_->tell(); io_->read(buf.pData_, bufMinSize); if(equalsRiffTag(buf, "VIDS")) streamType_ = Video; else if (equalsRiffTag(buf, "AUDS")) streamType_ = Audio; for(int i=1; i<=25; i++) { std::memset(buf.pData_, 0x0, buf.size_); io_->read(buf.pData_, bufMinSize); switch(i) { case codec: if(streamType_ == Video) xmpData_["Xmp.video.Codec"] = buf.pData_; else if (streamType_ == Audio) xmpData_["Xmp.audio.Codec"] = buf.pData_; else xmpData_["Xmp.video.Codec"] = buf.pData_; break; case sampleRate: divisor=Exiv2::getULong(buf.pData_, littleEndian); break; case (sampleRate+1): if(streamType_ == Video) xmpData_["Xmp.video.FrameRate"] = returnSampleRate(buf,divisor); else if (streamType_ == Audio) xmpData_["Xmp.audio.SampleRate"] = returnSampleRate(buf,divisor); else xmpData_["Xmp.video.StreamSampleRate"] = returnSampleRate(buf,divisor); break; case sampleCount: if(streamType_ == Video) xmpData_["Xmp.video.FrameCount"] = Exiv2::getULong(buf.pData_, littleEndian); else if (streamType_ == Audio) xmpData_["Xmp.audio.SampleCount"] = Exiv2::getULong(buf.pData_, littleEndian); else xmpData_["Xmp.video.StreamSampleCount"] = Exiv2::getULong(buf.pData_, littleEndian); break; case quality: if(streamType_ == Video) xmpData_["Xmp.video.VideoQuality"] = Exiv2::getULong(buf.pData_, littleEndian); else if(streamType_ != Audio) xmpData_["Xmp.video.StreamQuality"] = Exiv2::getULong(buf.pData_, littleEndian); break; case sampleSize: if(streamType_ == Video) xmpData_["Xmp.video.VideoSampleSize"] = Exiv2::getULong(buf.pData_, littleEndian); else if(streamType_ != Audio) xmpData_["Xmp.video.StreamSampleSize"] = Exiv2::getULong(buf.pData_, littleEndian); break; } } io_->seek(cur_pos + size, BasicIo::beg); } // RiffVideo::streamHandler void RiffVideo::streamFormatHandler(long size) { const long bufMinSize = 4; DataBuf buf(bufMinSize+1); buf.pData_[4] = '\0'; uint64_t cur_pos = io_->tell(); if(streamType_ == Video) { io_->read(buf.pData_, bufMinSize); for(int i = 0; i <= 9; i++) { std::memset(buf.pData_, 0x0, buf.size_); switch(i) { case imageWidth: //Will be used in case of debugging io_->read(buf.pData_, bufMinSize); break; case imageHeight: //Will be used in case of debugging io_->read(buf.pData_, bufMinSize); break; case planes: io_->read(buf.pData_, 2); xmpData_["Xmp.video.Planes"] = Exiv2::getUShort(buf.pData_, littleEndian); break; case bitDepth: io_->read(buf.pData_, 2); xmpData_["Xmp.video.PixelDepth"] = Exiv2::getUShort(buf.pData_, littleEndian); break; case compression: io_->read(buf.pData_, bufMinSize); xmpData_["Xmp.video.Compressor"] = buf.pData_; break; case imageLength: io_->read(buf.pData_, bufMinSize); xmpData_["Xmp.video.ImageLength"] = Exiv2::getULong(buf.pData_, littleEndian); break; case pixelsPerMeterX: io_->read(buf.pData_, bufMinSize); xmpData_["Xmp.video.PixelPerMeterX"] = Exiv2::getULong(buf.pData_, littleEndian); break; case pixelsPerMeterY: io_->read(buf.pData_, bufMinSize); xmpData_["Xmp.video.PixelPerMeterY"] = Exiv2::getULong(buf.pData_, littleEndian); break; case numColors: io_->read(buf.pData_, bufMinSize); if(Exiv2::getULong(buf.pData_, littleEndian) == 0) { xmpData_["Xmp.video.NumOfColours"] = "Unspecified"; } else { xmpData_["Xmp.video.NumOfColours"] = Exiv2::getULong(buf.pData_, littleEndian); } break; case numImportantColors: io_->read(buf.pData_, bufMinSize); if(Exiv2::getULong(buf.pData_, littleEndian)) { xmpData_["Xmp.video.NumIfImpColours"] = Exiv2::getULong(buf.pData_, littleEndian); } else { xmpData_["Xmp.video.NumOfImpColours"] = "All"; } break; } } } else if(streamType_ == Audio) { int c = 0; const TagDetails* td; for(int i = 0; i <= 7; i++) { io_->read(buf.pData_, 2); switch(i) { case encoding: td = find(audioEncodingValues , Exiv2::getUShort(buf.pData_, littleEndian)); if(td) { xmpData_["Xmp.audio.Compressor"] = exvGettext(td->label_); } else { xmpData_["Xmp.audio.Compressor"] = Exiv2::getUShort(buf.pData_, littleEndian); } break; case numberOfChannels: c = Exiv2::getUShort(buf.pData_, littleEndian); if(c == 1) xmpData_["Xmp.audio.ChannelType"] = "Mono"; else if(c == 2) xmpData_["Xmp.audio.ChannelType"] = "Stereo"; else if(c == 5) xmpData_["Xmp.audio.ChannelType"] = "5.1 Surround Sound"; else if(c == 7) xmpData_["Xmp.audio.ChannelType"] = "7.1 Surround Sound"; else xmpData_["Xmp.audio.ChannelType"] = "Mono"; break; case audioSampleRate: xmpData_["Xmp.audio.SampleRate"] = Exiv2::getUShort(buf.pData_, littleEndian); break; case avgBytesPerSec: xmpData_["Xmp.audio.SampleType"] = Exiv2::getUShort(buf.pData_, littleEndian); break; case bitsPerSample: xmpData_["Xmp.audio.BitsPerSample"] = Exiv2::getUShort(buf.pData_,littleEndian); io_->read(buf.pData_, 2); break; } } } io_->seek(cur_pos + size, BasicIo::beg); } // RiffVideo::streamFormatHandler double RiffVideo::returnSampleRate(Exiv2::DataBuf& buf, long divisor) { return ((double)Exiv2::getULong(buf.pData_, littleEndian) / (double)divisor); } // RiffVideo::returnSampleRate const char* RiffVideo::printAudioEncoding(uint64_t i) { const TagDetails* td; td = find(audioEncodingValues , i); if(td) return exvGettext(td->label_); return "Undefined"; } // RiffVideo::printAudioEncoding void RiffVideo::fillAspectRatio(long width, long height) { double aspectRatio = (double)width / (double)height; aspectRatio = floor(aspectRatio*10) / 10; xmpData_["Xmp.video.AspectRatio"] = aspectRatio; int aR = (int) ((aspectRatio*10.0)+0.1); switch (aR) { case 13 : xmpData_["Xmp.video.AspectRatio"] = "4:3" ; break; case 17 : xmpData_["Xmp.video.AspectRatio"] = "16:9" ; break; case 10 : xmpData_["Xmp.video.AspectRatio"] = "1:1" ; break; case 16 : xmpData_["Xmp.video.AspectRatio"] = "16:10" ; break; case 22 : xmpData_["Xmp.video.AspectRatio"] = "2.21:1" ; break; case 23 : xmpData_["Xmp.video.AspectRatio"] = "2.35:1" ; break; case 12 : xmpData_["Xmp.video.AspectRatio"] = "5:4" ; break; default : xmpData_["Xmp.video.AspectRatio"] = aspectRatio;break; } } // RiffVideo::fillAspectRatio void RiffVideo::fillDuration(double frame_rate, long frame_count) { if(frame_rate == 0) return; uint64_t duration = static_cast((double)frame_count * (double)1000 / (double)frame_rate); xmpData_["Xmp.video.FileDataRate"] = (double)io_->size()/(double)(1048576*duration); xmpData_["Xmp.video.Duration"] = duration; //Duration in number of seconds } // RiffVideo::fillDuration Image::AutoPtr newRiffInstance(BasicIo::AutoPtr io, bool /*create*/) { Image::AutoPtr image(new RiffVideo(io)); if (!image->good()) { image.reset(); } return image; } bool isRiffType(BasicIo& iIo, bool advance) { const int32_t len = 2; const unsigned char RiffVideoId[4] = { 'R', 'I', 'F' ,'F'}; byte buf[len]; iIo.read(buf, len); if (iIo.error() || iIo.eof()) { return false; } bool matched = (memcmp(buf, RiffVideoId, len) == 0); if (!advance || !matched) { iIo.seek(-len, BasicIo::cur); } return matched; } } // namespace Exiv2 #endif // EXV_ENABLE_VIDEO exiv2-0.25/src/tifffwd_int.hpp0000664000175000017500000000752212521135474016130 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file tifffwd_int.hpp @brief Internal TIFF parser related typedefs and forward definitions. @version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 24-Jun-06, ahu: created */ #ifndef TIFFFWD_INT_HPP_ #define TIFFFWD_INT_HPP_ // ***************************************************************************** // included header files #include "types.hpp" #include "tags_int.hpp" // + standard includes #include #include #include // ***************************************************************************** // Exiv2 namespace extensions namespace Exiv2 { class Exifdatum; namespace Internal { class TiffHeaderBase; class TiffComponent; class TiffEntryBase; class TiffEntry; class TiffDataEntry; class TiffSizeEntry; class TiffDirectory; class TiffSubIfd; class TiffMnEntry; class TiffBinaryArray; class TiffBinaryElement; class TiffIfdMakernote; class MnHeader; class TiffVisitor; class TiffFinder; class TiffDecoder; class TiffEncoder; class TiffReader; class TiffRwState; class TiffPathItem; struct TiffMappingInfo; class IoWrapper; class OffsetWriter; // ***************************************************************************** // type definitions /*! @brief Function pointer type for a TiffDecoder member function to decode a TIFF component. */ typedef void (TiffDecoder::*DecoderFct)(const TiffEntryBase*); /*! @brief Function pointer type for a TiffDecoder member function to decode a TIFF component. */ typedef void (TiffEncoder::*EncoderFct)(TiffEntryBase*, const Exifdatum*); /*! @brief Type for a function pointer for a function to decode a TIFF component. */ typedef DecoderFct (*FindDecoderFct)(const std::string& make, uint32_t extendedTag, IfdId group); /*! @brief Type for a function pointer for a function to encode a TIFF component. */ typedef EncoderFct (*FindEncoderFct)( const std::string& make, uint32_t extendedTag, IfdId group ); /*! @brief Type for a function pointer for a function to create a TIFF component. Use TiffComponent::AutoPtr, it is not used in this declaration only to reduce dependencies. */ typedef std::auto_ptr (*NewTiffCompFct)(uint16_t tag, IfdId group); //! Stack to hold a path from the TIFF root element to a TIFF entry typedef std::stack TiffPath; //! Type for a list of primary image groups typedef std::vector PrimaryGroups; }} // namespace Internal, Exiv2 #endif // #ifndef TIFFFWD_INT_HPP_ exiv2-0.25/src/value.cpp0000664000175000017500000010041512521135474014727 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: value.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) History: 26-Jan-04, ahu: created 11-Feb-04, ahu: isolated as a component 31-Jul-04, brad: added Time, Date and String values */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: value.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // ***************************************************************************** // included header files #include "value.hpp" #include "types.hpp" #include "error.hpp" #include "convert.hpp" // + standard includes #include #include #include #include #include #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { Value::Value(TypeId typeId) : ok_(true), type_(typeId) { } Value::~Value() { } Value& Value::operator=(const Value& rhs) { if (this == &rhs) return *this; type_ = rhs.type_; ok_ = rhs.ok_; return *this; } Value::AutoPtr Value::create(TypeId typeId) { AutoPtr value; switch (typeId) { case invalidTypeId: case signedByte: case unsignedByte: value = AutoPtr(new DataValue(typeId)); break; case asciiString: value = AutoPtr(new AsciiValue); break; case unsignedShort: value = AutoPtr(new ValueType); break; case unsignedLong: case tiffIfd: value = AutoPtr(new ValueType(typeId)); break; case unsignedRational: value = AutoPtr(new ValueType); break; case undefined: value = AutoPtr(new DataValue); break; case signedShort: value = AutoPtr(new ValueType); break; case signedLong: value = AutoPtr(new ValueType); break; case signedRational: value = AutoPtr(new ValueType); break; case tiffFloat: value = AutoPtr(new ValueType); break; case tiffDouble: value = AutoPtr(new ValueType); break; case string: value = AutoPtr(new StringValue); break; case date: value = AutoPtr(new DateValue); break; case time: value = AutoPtr(new TimeValue); break; case comment: value = AutoPtr(new CommentValue); break; case xmpText: value = AutoPtr(new XmpTextValue); break; case xmpBag: case xmpSeq: case xmpAlt: value = AutoPtr(new XmpArrayValue(typeId)); break; case langAlt: value = AutoPtr(new LangAltValue); break; default: value = AutoPtr(new DataValue(typeId)); break; } return value; } // Value::create int Value::setDataArea(const byte* /*buf*/, long /*len*/) { return -1; } std::string Value::toString() const { std::ostringstream os; write(os); ok_ = !os.fail(); return os.str(); } std::string Value::toString(long /*n*/) const { return toString(); } long Value::sizeDataArea() const { return 0; } DataBuf Value::dataArea() const { return DataBuf(0, 0); } DataValue::DataValue(TypeId typeId) : Value(typeId) { } DataValue::DataValue(const byte* buf, long len, ByteOrder byteOrder,TypeId typeId) : Value(typeId) { read(buf, len, byteOrder); } DataValue::~DataValue() { } long DataValue::count() const { return size(); } int DataValue::read(const byte* buf, long len, ByteOrder /*byteOrder*/) { // byteOrder not needed value_.assign(buf, buf + len); return 0; } int DataValue::read(const std::string& buf) { std::istringstream is(buf); int tmp; ValueType val; while (!(is.eof())) { is >> tmp; if (is.fail()) return 1; val.push_back(static_cast(tmp)); } value_.swap(val); return 0; } long DataValue::copy(byte* buf, ByteOrder /*byteOrder*/) const { // byteOrder not needed return static_cast( std::copy(value_.begin(), value_.end(), buf) - buf ); } long DataValue::size() const { return static_cast(value_.size()); } DataValue* DataValue::clone_() const { return new DataValue(*this); } std::ostream& DataValue::write(std::ostream& os) const { std::vector::size_type end = value_.size(); for (std::vector::size_type i = 0; i != end; ++i) { os << static_cast(value_[i]); if (i < end - 1) os << " "; } return os; } std::string DataValue::toString(long n) const { std::ostringstream os; os << static_cast(value_[n]); ok_ = !os.fail(); return os.str(); } long DataValue::toLong(long n) const { ok_ = true; return value_[n]; } float DataValue::toFloat(long n) const { ok_ = true; return value_[n]; } Rational DataValue::toRational(long n) const { ok_ = true; return Rational(value_[n], 1); } StringValueBase::StringValueBase(TypeId typeId) : Value(typeId) { } StringValueBase::StringValueBase(TypeId typeId, const std::string& buf) : Value(typeId) { read(buf); } StringValueBase::StringValueBase(const StringValueBase& rhs) : Value(rhs), value_(rhs.value_) { } StringValueBase::~StringValueBase() { } StringValueBase& StringValueBase::operator=(const StringValueBase& rhs) { if (this == &rhs) return *this; Value::operator=(rhs); value_ = rhs.value_; return *this; } int StringValueBase::read(const std::string& buf) { value_ = buf; return 0; } int StringValueBase::read(const byte* buf, long len, ByteOrder /*byteOrder*/) { // byteOrder not needed if (buf) value_ = std::string(reinterpret_cast(buf), len); return 0; } long StringValueBase::copy(byte* buf, ByteOrder /*byteOrder*/) const { if (value_.size() == 0) return 0; // byteOrder not needed assert(buf != 0); return static_cast( value_.copy(reinterpret_cast(buf), value_.size()) ); } long StringValueBase::count() const { return size(); } long StringValueBase::size() const { return static_cast(value_.size()); } std::ostream& StringValueBase::write(std::ostream& os) const { return os << value_; } long StringValueBase::toLong(long n) const { ok_ = true; return value_[n]; } float StringValueBase::toFloat(long n) const { ok_ = true; return value_[n]; } Rational StringValueBase::toRational(long n) const { ok_ = true; return Rational(value_[n], 1); } StringValue::StringValue() : StringValueBase(string) { } StringValue::StringValue(const std::string& buf) : StringValueBase(string, buf) { } StringValue::~StringValue() { } StringValue* StringValue::clone_() const { return new StringValue(*this); } AsciiValue::AsciiValue() : StringValueBase(asciiString) { } AsciiValue::AsciiValue(const std::string& buf) : StringValueBase(asciiString, buf) { } AsciiValue::~AsciiValue() { } int AsciiValue::read(const std::string& buf) { value_ = buf; if (value_.size() > 0 && value_[value_.size()-1] != '\0') value_ += '\0'; return 0; } AsciiValue* AsciiValue::clone_() const { return new AsciiValue(*this); } std::ostream& AsciiValue::write(std::ostream& os) const { // Write only up to the first '\0' (if any) std::string::size_type pos = value_.find_first_of('\0'); if (pos == std::string::npos) pos = value_.size(); return os << value_.substr(0, pos); } CommentValue::CharsetTable::CharsetTable(CharsetId charsetId, const char* name, const char* code) : charsetId_(charsetId), name_(name), code_(code) { } //! Lookup list of supported IFD type information const CommentValue::CharsetTable CommentValue::CharsetInfo::charsetTable_[] = { CharsetTable(ascii, "Ascii", "ASCII\0\0\0"), CharsetTable(jis, "Jis", "JIS\0\0\0\0\0"), CharsetTable(unicode, "Unicode", "UNICODE\0"), CharsetTable(undefined, "Undefined", "\0\0\0\0\0\0\0\0"), CharsetTable(invalidCharsetId, "InvalidCharsetId", "\0\0\0\0\0\0\0\0"), CharsetTable(lastCharsetId, "InvalidCharsetId", "\0\0\0\0\0\0\0\0") }; const char* CommentValue::CharsetInfo::name(CharsetId charsetId) { return charsetTable_[ charsetId < lastCharsetId ? charsetId : undefined ].name_; } const char* CommentValue::CharsetInfo::code(CharsetId charsetId) { return charsetTable_[ charsetId < lastCharsetId ? charsetId : undefined ].code_; } CommentValue::CharsetId CommentValue::CharsetInfo::charsetIdByName( const std::string& name) { int i = 0; for (; charsetTable_[i].charsetId_ != lastCharsetId && charsetTable_[i].name_ != name; ++i) {} return charsetTable_[i].charsetId_ == lastCharsetId ? invalidCharsetId : charsetTable_[i].charsetId_; } CommentValue::CharsetId CommentValue::CharsetInfo::charsetIdByCode( const std::string& code) { int i = 0; for (; charsetTable_[i].charsetId_ != lastCharsetId && std::string(charsetTable_[i].code_, 8) != code; ++i) {} return charsetTable_[i].charsetId_ == lastCharsetId ? invalidCharsetId : charsetTable_[i].charsetId_; } CommentValue::CommentValue() : StringValueBase(Exiv2::undefined), byteOrder_(littleEndian) { } CommentValue::CommentValue(const std::string& comment) : StringValueBase(Exiv2::undefined), byteOrder_(littleEndian) { read(comment); } CommentValue::~CommentValue() { } int CommentValue::read(const std::string& comment) { std::string c = comment; CharsetId charsetId = undefined; if (comment.length() > 8 && comment.substr(0, 8) == "charset=") { std::string::size_type pos = comment.find_first_of(' '); std::string name = comment.substr(8, pos-8); // Strip quotes (so you can also specify the charset without quotes) if (name[0] == '"') name = name.substr(1); if (name[name.length()-1] == '"') name = name.substr(0, name.length()-1); charsetId = CharsetInfo::charsetIdByName(name); if (charsetId == invalidCharsetId) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << Error(28, name) << "\n"; #endif return 1; } c.clear(); if (pos != std::string::npos) c = comment.substr(pos+1); } if (charsetId == unicode) { const char* to = byteOrder_ == littleEndian ? "UCS-2LE" : "UCS-2BE"; convertStringCharset(c, "UTF-8", to); } const std::string code(CharsetInfo::code(charsetId), 8); return StringValueBase::read(code + c); } int CommentValue::read(const byte* buf, long len, ByteOrder byteOrder) { byteOrder_ = byteOrder; return StringValueBase::read(buf, len, byteOrder); } long CommentValue::copy(byte* buf, ByteOrder byteOrder) const { std::string c = value_; if (charsetId() == unicode) { c = value_.substr(8); std::string::size_type sz = c.size(); if (byteOrder_ == littleEndian && byteOrder == bigEndian) { convertStringCharset(c, "UCS-2LE", "UCS-2BE"); assert(c.size() == sz); } else if (byteOrder_ == bigEndian && byteOrder == littleEndian) { convertStringCharset(c, "UCS-2BE", "UCS-2LE"); assert(c.size() == sz); } c = value_.substr(0, 8) + c; } if (c.size() == 0) return 0; assert(buf != 0); return static_cast(c.copy(reinterpret_cast(buf), c.size())); } std::ostream& CommentValue::write(std::ostream& os) const { CharsetId csId = charsetId(); if (csId != undefined) { os << "charset=\"" << CharsetInfo::name(csId) << "\" "; } return os << comment(); } std::string CommentValue::comment(const char* encoding) const { std::string c; if (value_.length() < 8) { return c; } c = value_.substr(8); if (charsetId() == unicode) { const char* from = encoding == 0 || *encoding == '\0' ? detectCharset(c) : encoding; convertStringCharset(c, from, "UTF-8"); } return c; } CommentValue::CharsetId CommentValue::charsetId() const { CharsetId charsetId = undefined; if (value_.length() >= 8) { const std::string code = value_.substr(0, 8); charsetId = CharsetInfo::charsetIdByCode(code); } return charsetId; } const char* CommentValue::detectCharset(std::string& c) const { // Interpret a BOM if there is one if (0 == strncmp(c.data(), "\xef\xbb\xbf", 3)) { c = c.substr(3); return "UTF-8"; } if (0 == strncmp(c.data(), "\xff\xfe", 2)) { c = c.substr(2); return "UCS-2LE"; } if (0 == strncmp(c.data(), "\xfe\xff", 2)) { c = c.substr(2); return "UCS-2BE"; } // Todo: Add logic to guess if the comment is encoded in UTF-8 return byteOrder_ == littleEndian ? "UCS-2LE" : "UCS-2BE"; } CommentValue* CommentValue::clone_() const { return new CommentValue(*this); } XmpValue::XmpValue(TypeId typeId) : Value(typeId), xmpArrayType_(xaNone), xmpStruct_(xsNone) { } XmpValue& XmpValue::operator=(const XmpValue& rhs) { if (this == &rhs) return *this; xmpArrayType_ = rhs.xmpArrayType_; xmpStruct_ = rhs.xmpStruct_; return *this; } void XmpValue::setXmpArrayType(XmpArrayType xmpArrayType) { xmpArrayType_ = xmpArrayType; } void XmpValue::setXmpStruct(XmpStruct xmpStruct) { xmpStruct_ = xmpStruct; } XmpValue::XmpArrayType XmpValue::xmpArrayType() const { return xmpArrayType_; } XmpValue::XmpArrayType XmpValue::xmpArrayType(TypeId typeId) { XmpArrayType xa = xaNone; switch (typeId) { case xmpAlt: xa = xaAlt; break; case xmpBag: xa = xaBag; break; case xmpSeq: xa = xaSeq; break; default: break; } return xa; } XmpValue::XmpStruct XmpValue::xmpStruct() const { return xmpStruct_; } long XmpValue::copy(byte* buf, ByteOrder /*byteOrder*/) const { std::ostringstream os; write(os); std::string s = os.str(); if (s.size() > 0) std::memcpy(buf, &s[0], s.size()); return static_cast(s.size()); } int XmpValue::read(const byte* buf, long len, ByteOrder /*byteOrder*/) { std::string s(reinterpret_cast(buf), len); return read(s); } long XmpValue::size() const { std::ostringstream os; write(os); return static_cast(os.str().size()); } XmpTextValue::XmpTextValue() : XmpValue(xmpText) { } XmpTextValue::XmpTextValue(const std::string& buf) : XmpValue(xmpText) { read(buf); } int XmpTextValue::read(const std::string& buf) { // support a type=Alt,Bag,Seq,Struct indicator std::string b = buf; std::string type; if (buf.length() > 5 && buf.substr(0, 5) == "type=") { std::string::size_type pos = buf.find_first_of(' '); type = buf.substr(5, pos-5); // Strip quotes (so you can also specify the type without quotes) if (type[0] == '"') type = type.substr(1); if (type[type.length()-1] == '"') type = type.substr(0, type.length()-1); b.clear(); if (pos != std::string::npos) b = buf.substr(pos+1); } if (!type.empty()) { if (type == "Alt") { setXmpArrayType(XmpValue::xaAlt); } else if (type == "Bag") { setXmpArrayType(XmpValue::xaBag); } else if (type == "Seq") { setXmpArrayType(XmpValue::xaSeq); } else if (type == "Struct") { setXmpStruct(); } else { throw Error(48, type); } } value_ = b; return 0; } XmpTextValue::AutoPtr XmpTextValue::clone() const { return AutoPtr(clone_()); } long XmpTextValue::size() const { return static_cast(value_.size()); } long XmpTextValue::count() const { return size(); } std::ostream& XmpTextValue::write(std::ostream& os) const { bool del = false; if (xmpArrayType() != XmpValue::xaNone) { switch (xmpArrayType()) { case XmpValue::xaAlt: os << "type=\"Alt\""; break; case XmpValue::xaBag: os << "type=\"Bag\""; break; case XmpValue::xaSeq: os << "type=\"Seq\""; break; case XmpValue::xaNone: break; // just to suppress the warning } del = true; } else if (xmpStruct() != XmpValue::xsNone) { switch (xmpStruct()) { case XmpValue::xsStruct: os << "type=\"Struct\""; break; case XmpValue::xsNone: break; // just to suppress the warning } del = true; } if (del && !value_.empty()) os << " "; return os << value_; } long XmpTextValue::toLong(long /*n*/) const { return parseLong(value_, ok_); } float XmpTextValue::toFloat(long /*n*/) const { return parseFloat(value_, ok_); } Rational XmpTextValue::toRational(long /*n*/) const { return parseRational(value_, ok_); } XmpTextValue* XmpTextValue::clone_() const { return new XmpTextValue(*this); } XmpArrayValue::XmpArrayValue(TypeId typeId) : XmpValue(typeId) { setXmpArrayType(xmpArrayType(typeId)); } int XmpArrayValue::read(const std::string& buf) { if (!buf.empty()) value_.push_back(buf); return 0; } XmpArrayValue::AutoPtr XmpArrayValue::clone() const { return AutoPtr(clone_()); } long XmpArrayValue::count() const { return static_cast(value_.size()); } std::ostream& XmpArrayValue::write(std::ostream& os) const { for (std::vector::const_iterator i = value_.begin(); i != value_.end(); ++i) { if (i != value_.begin()) os << ", "; os << *i; } return os; } std::string XmpArrayValue::toString(long n) const { ok_ = true; return value_[n]; } long XmpArrayValue::toLong(long n) const { return parseLong(value_[n], ok_); } float XmpArrayValue::toFloat(long n) const { return parseFloat(value_[n], ok_); } Rational XmpArrayValue::toRational(long n) const { return parseRational(value_[n], ok_); } XmpArrayValue* XmpArrayValue::clone_() const { return new XmpArrayValue(*this); } LangAltValue::LangAltValue() : XmpValue(langAlt) { } LangAltValue::LangAltValue(const std::string& buf) : XmpValue(langAlt) { read(buf); } int LangAltValue::read(const std::string& buf) { std::string b = buf; std::string lang = "x-default"; if (buf.length() > 5 && buf.substr(0, 5) == "lang=") { std::string::size_type pos = buf.find_first_of(' '); lang = buf.substr(5, pos-5); // Strip quotes (so you can also specify the language without quotes) if (lang[0] == '"') lang = lang.substr(1); if (lang[lang.length()-1] == '"') lang = lang.substr(0, lang.length()-1); b.clear(); if (pos != std::string::npos) b = buf.substr(pos+1); } value_[lang] = b; return 0; } LangAltValue::AutoPtr LangAltValue::clone() const { return AutoPtr(clone_()); } long LangAltValue::count() const { return static_cast(value_.size()); } static const std::string x_default = "x-default"; std::ostream& LangAltValue::write(std::ostream& os) const { bool first = true; // Write the default entry first ValueType::const_iterator i = value_.find(x_default); if (i != value_.end()) { os << "lang=\"" << i->first << "\" " << i->second; first = false; } // Write the others for (i = value_.begin(); i != value_.end(); ++i) { if (i->first != x_default ) { if (!first) os << ", "; os << "lang=\"" << i->first << "\" " << i->second; first = false; } } return os; } std::string LangAltValue::toString(long /*n*/) const { return toString(x_default); } std::string LangAltValue::toString(const std::string& qualifier) const { ValueType::const_iterator i = value_.find(qualifier); if (i != value_.end()) { ok_ = true; return i->second; } ok_ = false; return ""; } long LangAltValue::toLong(long /*n*/) const { ok_ = false; return 0; } float LangAltValue::toFloat(long /*n*/) const { ok_ = false; return 0.0f; } Rational LangAltValue::toRational(long /*n*/) const { ok_ = false; return Rational(0, 0); } LangAltValue* LangAltValue::clone_() const { return new LangAltValue(*this); } DateValue::DateValue() : Value(date) { } DateValue::DateValue(int year, int month, int day) : Value(date) { date_.year = year; date_.month = month; date_.day = day; } DateValue::~DateValue() { } int DateValue::read(const byte* buf, long len, ByteOrder /*byteOrder*/) { // Hard coded to read Iptc style dates if (len != 8) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << Error(29) << "\n"; #endif return 1; } // Make the buffer a 0 terminated C-string for sscanf char b[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; std::memcpy(b, reinterpret_cast(buf), 8); int scanned = sscanf(b, "%4d%2d%2d", &date_.year, &date_.month, &date_.day); if (scanned != 3) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << Error(29) << "\n"; #endif return 1; } return 0; } int DateValue::read(const std::string& buf) { // Hard coded to read Iptc style dates if (buf.length() < 8) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << Error(29) << "\n"; #endif return 1; } int scanned = sscanf(buf.c_str(), "%4d-%d-%d", &date_.year, &date_.month, &date_.day); if (scanned != 3) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << Error(29) << "\n"; #endif return 1; } return 0; } void DateValue::setDate(const Date& src) { date_.year = src.year; date_.month = src.month; date_.day = src.day; } long DateValue::copy(byte* buf, ByteOrder /*byteOrder*/) const { // sprintf wants to add the null terminator, so use oversized buffer char temp[9]; int wrote = sprintf(temp, "%04d%02d%02d", date_.year, date_.month, date_.day); assert(wrote == 8); std::memcpy(buf, temp, 8); return 8; } const DateValue::Date& DateValue::getDate() const { return date_; } long DateValue::count() const { return size(); } long DateValue::size() const { return 8; } DateValue* DateValue::clone_() const { return new DateValue(*this); } std::ostream& DateValue::write(std::ostream& os) const { std::ios::fmtflags f( os.flags() ); os << date_.year << '-' << std::right << std::setw(2) << std::setfill('0') << date_.month << '-' << std::setw(2) << std::setfill('0') << date_.day; os.flags(f); return os; } long DateValue::toLong(long /*n*/) const { // Range of tm struct is limited to about 1970 to 2038 // This will return -1 if outside that range std::tm tms; std::memset(&tms, 0, sizeof(tms)); tms.tm_mday = date_.day; tms.tm_mon = date_.month - 1; tms.tm_year = date_.year - 1900; long l = static_cast(std::mktime(&tms)); ok_ = (l != -1); return l; } float DateValue::toFloat(long n) const { return static_cast(toLong(n)); } Rational DateValue::toRational(long n) const { return Rational(toLong(n), 1); } TimeValue::TimeValue() : Value(time) { } TimeValue::TimeValue(int hour, int minute, int second, int tzHour, int tzMinute) : Value(date) { time_.hour = hour; time_.minute = minute; time_.second = second; time_.tzHour = tzHour; time_.tzMinute = tzMinute; } TimeValue::~TimeValue() { } int TimeValue::read(const byte* buf, long len, ByteOrder /*byteOrder*/) { // Make the buffer a 0 terminated C-string for scanTime[36] char b[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; std::memcpy(b, reinterpret_cast(buf), (len < 12 ? len : 11)); // Hard coded to read HHMMSS or Iptc style times int rc = 1; if (len == 6) { // Try to read (non-standard) HHMMSS format rc = scanTime3(b, "%2d%2d%2d"); } if (len == 11) { rc = scanTime6(b, "%2d%2d%2d%1c%2d%2d"); } if (rc) { rc = 1; #ifndef SUPPRESS_WARNINGS EXV_WARNING << Error(30) << "\n"; #endif } return rc; } int TimeValue::read(const std::string& buf) { // Hard coded to read H:M:S or Iptc style times int rc = 1; if (buf.length() < 9) { // Try to read (non-standard) H:M:S format rc = scanTime3(buf.c_str(), "%d:%d:%d"); } else { rc = scanTime6(buf.c_str(), "%d:%d:%d%1c%d:%d"); } if (rc) { rc = 1; #ifndef SUPPRESS_WARNINGS EXV_WARNING << Error(30) << "\n"; #endif } return rc; } int TimeValue::scanTime3(const char* buf, const char* format) { int rc = 1; Time t; int scanned = sscanf(buf, format, &t.hour, &t.minute, &t.second); if ( scanned == 3 && t.hour >= 0 && t.hour < 24 && t.minute >= 0 && t.minute < 60 && t.second >= 0 && t.second < 60) { time_ = t; rc = 0; } return rc; } int TimeValue::scanTime6(const char* buf, const char* format) { int rc = 1; Time t; char plusMinus; int scanned = sscanf(buf, format, &t.hour, &t.minute, &t.second, &plusMinus, &t.tzHour, &t.tzMinute); if ( scanned == 6 && t.hour >= 0 && t.hour < 24 && t.minute >= 0 && t.minute < 60 && t.second >= 0 && t.second < 60 && t.tzHour >= 0 && t.tzHour < 24 && t.tzMinute >= 0 && t.tzMinute < 60) { time_ = t; if (plusMinus == '-') { time_.tzHour *= -1; time_.tzMinute *= -1; } rc = 0; } return rc; } void TimeValue::setTime( const Time& src ) { std::memcpy(&time_, &src, sizeof(time_)); } long TimeValue::copy(byte* buf, ByteOrder /*byteOrder*/) const { // sprintf wants to add the null terminator, so use oversized buffer char temp[12]; char plusMinus = '+'; if (time_.tzHour < 0 || time_.tzMinute < 0) plusMinus = '-'; int wrote = sprintf(temp, "%02d%02d%02d%1c%02d%02d", time_.hour, time_.minute, time_.second, plusMinus, abs(time_.tzHour), abs(time_.tzMinute)); assert(wrote == 11); std::memcpy(buf, temp, 11); return 11; } const TimeValue::Time& TimeValue::getTime() const { return time_; } long TimeValue::count() const { return size(); } long TimeValue::size() const { return 11; } TimeValue* TimeValue::clone_() const { return new TimeValue(*this); } std::ostream& TimeValue::write(std::ostream& os) const { char plusMinus = '+'; if (time_.tzHour < 0 || time_.tzMinute < 0) plusMinus = '-'; std::ios::fmtflags f( os.flags() ); os << std::right << std::setw(2) << std::setfill('0') << time_.hour << ':' << std::setw(2) << std::setfill('0') << time_.minute << ':' << std::setw(2) << std::setfill('0') << time_.second << plusMinus << std::setw(2) << std::setfill('0') << abs(time_.tzHour) << ':' << std::setw(2) << std::setfill('0') << abs(time_.tzMinute); os.flags(f); return os; } long TimeValue::toLong(long /*n*/) const { // Returns number of seconds in the day in UTC. long result = (time_.hour - time_.tzHour) * 60 * 60; result += (time_.minute - time_.tzMinute) * 60; result += time_.second; if (result < 0) { result += 86400; } ok_ = true; return result; } float TimeValue::toFloat(long n) const { return static_cast(toLong(n)); } Rational TimeValue::toRational(long n) const { return Rational(toLong(n), 1); } } // namespace Exiv2 exiv2-0.25/src/CMakeLists.txt0000664000175000017500000003121512537242563015655 0ustar andreasandreas# CMake build system for exiv2 library and executables # Copyright 2012- Robin Mills # Copyright 2010-2012 Gilles Caulier # Copyright 2008 Patrick Spendrin # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. if ( NOT MSVC ) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) endif() # Private headers which are only needed for the library itself SET( LIBEXIV2_PRIVATE_HDR canonmn_int.hpp casiomn_int.hpp cr2image_int.hpp crwimage_int.hpp fujimn_int.hpp makernote_int.hpp minoltamn_int.hpp nikonmn_int.hpp olympusmn_int.hpp orfimage_int.hpp panasonicmn_int.hpp pentaxmn_int.hpp pngchunk_int.hpp rcsid_int.hpp rw2image_int.hpp samsungmn_int.hpp sigmamn_int.hpp sonymn_int.hpp tags_int.hpp tiffcomposite_int.hpp tifffwd_int.hpp tiffimage_int.hpp tiffvisitor_int.hpp ) # Add standalone C++ header files to this list SET( LIBEXIV2_HDR ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/asfvideo.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/basicio.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/bmpimage.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/config.h ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/convert.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/cr2image.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/crwimage.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/datasets.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/easyaccess.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/epsimage.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/error.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/exif.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/exiv2.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/futils.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/gifimage.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/http.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/image.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/iptc.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/jp2image.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/jpgimage.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/matroskavideo.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/metadatum.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/mrwimage.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/orfimage.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/pgfimage.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/preview.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/properties.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/psdimage.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/quicktimevideo.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/rafimage.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/riffvideo.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/rw2image.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/tags.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/tgaimage.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/tiffimage.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/types.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/utilsvideo.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/value.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/version.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/xmp.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/xmpsidecar.hpp ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/utilsvideo.hpp ) # Add library C++ source files to this list SET( LIBEXIV2_SRC asfvideo.cpp basicio.cpp bmpimage.cpp canonmn.cpp casiomn.cpp convert.cpp cr2image.cpp crwedit.cpp crwimage.cpp datasets.cpp easyaccess.cpp epsimage.cpp error.cpp exif.cpp futils.cpp fujimn.cpp gifimage.cpp http.cpp image.cpp iptc.cpp jp2image.cpp jpgimage.cpp makernote.cpp matroskavideo.cpp metadatum.cpp minoltamn.cpp mrwimage.cpp nikonmn.cpp olympusmn.cpp orfimage.cpp panasonicmn.cpp pentaxmn.cpp pgfimage.cpp preview.cpp properties.cpp psdimage.cpp quicktimevideo.cpp rafimage.cpp riffvideo.cpp rw2image.cpp samsungmn.cpp sigmamn.cpp sonymn.cpp tags.cpp tgaimage.cpp tiffcomposite.cpp tiffimage.cpp tiffvisitor.cpp types.cpp utilsvideo.cpp value.cpp version.cpp xmp.cpp xmpsidecar.cpp utilsvideo.cpp ) IF( EXIV2_ENABLE_WEBREADY ) ## # add curl support IF( EXIV2_ENABLE_CURL ) IF( CURL_FOUND ) SET( LIBEXIV2_SRC ${LIBEXIV2_SRC} easyaccess.cpp ) set( LIBEXIV2_HDR ${LIBEXIV2_HDR} ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/easyaccess.hpp ) ENDIF() ENDIF() ## # add ssh support IF( EXIV2_ENABLE_SSH ) IF( SSH_FOUND ) SET( LIBEXIV2_SRC ${LIBEXIV2_SRC} ssh.cpp ) set( LIBEXIV2_HDR ${LIBEXIV2_HDR} ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/ssh.hpp ) ENDIF() ENDIF() ENDIF( EXIV2_ENABLE_WEBREADY ) ## # add png*.cpp files if PNG support requested IF( EXIV2_ENABLE_PNG ) IF( ZLIB_FOUND ) SET( LIBEXIV2_SRC ${LIBEXIV2_SRC} pngchunk.cpp pngimage.cpp ) set( LIBEXIV2_HDR ${LIBEXIV2_HDR} ${CMAKE_CURRENT_LIST_DIR}/../include/exiv2/pngimage.hpp ) ENDIF( ZLIB_FOUND ) ENDIF( EXIV2_ENABLE_PNG ) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) IF( MSVC ) # to support the old VS solution builds ADD_DEFINITIONS("-DCMAKE_BUILD_SVN") ENDIF() ## # add xmp source if xmp is requested and xmp library not built IF( EXIV2_ENABLE_XMP ) IF( NOT EXIV2_ENABLE_LIBXMP ) SET( LIBEXIV2_SRC ${XMPSRC} ${LIBEXIV2_SRC} ) ENDIF( NOT EXIV2_ENABLE_LIBXMP ) ENDIF( EXIV2_ENABLE_XMP ) ## # Create source file lists for applications # exiv2 application SET( EXIV2_SRC exiv2.cpp actions.cpp utils.cpp ) # connection test application SET( CONNTEST ../samples/conntest.cpp) # exifprint application SET( EXIFPRINT ../samples/exifprint.cpp) # cmdfiletest application SET( REMOTETEST ../samples/remotetest.cpp) ## # modify source lists to suit environment IF(NOT HAVE_TIMEGM ) SET( LIBEXIV2_SRC ${LIBEXIV2_SRC} localtime.c ) SET( EXIV2_SRC ${EXIV2_SRC} localtime.c ) SET( PATHTEST_SRC ${PATHTEST_SRC} localtime.c ) ENDIF( NOT HAVE_TIMEGM ) IF( MSVC ) SET( EXIV2_SRC ${EXIV2_SRC} getopt_win32.c ) SET( LIBEXIV2_SRC ${LIBEXIV2_SRC} getopt_win32.c ) ENDIF( MSVC ) ## # msvn tuning include(../CMake_msvc.txt) msvc_runtime_configure(${EXIV2_ENABLE_SHARED}) # ****************************************************************************** # exiv2lib library ADD_LIBRARY( exiv2lib ${STATIC_FLAG} ${LIBEXIV2_SRC} ${LIBEXIV2_HDR} ) SET_TARGET_PROPERTIES( exiv2lib PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} DEFINE_SYMBOL EXV_BUILDING_LIB OUTPUT_NAME exiv2 ) if ( MSVC ) source_group("Header Files" FILES ${LIBEXIV2_HDR} ) TARGET_LINK_LIBRARIES( exiv2lib ${EXPAT_LIBRARIES} ) source_group("Header Files" FILES ${LIBCURL_HDR} ) TARGET_LINK_LIBRARIES( exiv2lib ${CURL_LIBRARIES} ) source_group("Header Files" FILES ${SSH_HDR} ) TARGET_LINK_LIBRARIES( exiv2lib ${SSH_LIBRARIES} ) else() if ( NOT MINGW ) TARGET_LINK_LIBRARIES( exiv2lib dl ${EXPAT_LIBRARIES} ) TARGET_LINK_LIBRARIES( exiv2lib dl ${CURL_LIBRARIES} ) TARGET_LINK_LIBRARIES( exiv2lib dl ${SSH_LIBRARIES} ) else() TARGET_LINK_LIBRARIES( exiv2lib ${EXPAT_LIBRARIES} ) TARGET_LINK_LIBRARIES( exiv2lib ${CURL_LIBRARIES} ) TARGET_LINK_LIBRARIES( exiv2lib ${SSH_LIBRARIES} ) endif() endif() if( EXIV2_ENABLE_LIBXMP ) ADD_DEPENDENCIES( exiv2lib xmp ) if ( MSVC ) LINK_DIRECTORIES(${LIBRARY_OUTPUT_PATH}/$(ConfigurationName)) endif(MSVC) TARGET_LINK_LIBRARIES( exiv2lib xmp ) ENDIF() IF( EXIV2_ENABLE_PNG ) IF( ZLIB_FOUND ) IF( MSVC ) if ( EXIV2_ENABLE_SHARED ) TARGET_LINK_LIBRARIES( exiv2lib optimized ${ZLIB_LIBRARIES} debug ${ZLIB_LIBRARIES}d ) else() TARGET_LINK_LIBRARIES( exiv2lib optimized zlibstatic.lib debug zlibstaticd.lib ) endif() ELSE() TARGET_LINK_LIBRARIES( exiv2lib ${ZLIB_LIBRARIES} ) ENDIF() ENDIF() ENDIF() IF( EXIV2_ENABLE_NLS ) TARGET_LINK_LIBRARIES( exiv2lib ${LIBINTL_LIBRARIES} ) ENDIF( EXIV2_ENABLE_NLS ) IF( ICONV_FOUND ) TARGET_LINK_LIBRARIES( exiv2lib ${ICONV_LIBRARIES} ) ENDIF( ICONV_FOUND ) IF (CYGWIN OR MINGW) TARGET_LINK_LIBRARIES( exiv2lib psapi ) ENDIF(CYGWIN OR MINGW) INSTALL( TARGETS exiv2lib ${INSTALL_TARGET_STANDARD_ARGS} ) # ****************************************************************************** # exiv2 application ADD_EXECUTABLE( exiv2 ${EXIV2_SRC} ) TARGET_LINK_LIBRARIES( exiv2 exiv2lib ) INSTALL( TARGETS exiv2 ${INSTALL_TARGET_STANDARD_ARGS} ) # ****************************************************************************** # connection test application ADD_EXECUTABLE( conntest ${CONNTEST} ) TARGET_LINK_LIBRARIES( conntest exiv2lib ) # ****************************************************************************** # exifprint application # ADD_EXECUTABLE( exifprint ${EXIFPRINT} ) # TARGET_LINK_LIBRARIES( exifprint exiv2lib ) # ****************************************************************************** # remotetest application ADD_EXECUTABLE( remotetest ${REMOTETEST} ) TARGET_LINK_LIBRARIES( remotetest exiv2lib ) # ****************************************************************************** # Headers INSTALL( FILES ${LIBEXIV2_HDR} DESTINATION include/exiv2 ) # ****************************************************************************** # Man page INSTALL( FILES exiv2.1 DESTINATION man/man1 ) # That's all Folks! ## exiv2-0.25/src/tgaimage.cpp0000664000175000017500000001353612521135474015400 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: tgaimage.cpp Version: $Rev: 3777 $ Author(s): Marco Piovanelli, Ovolab (marco) History: 05-Mar-2007, marco: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: tgaimage.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "tgaimage.hpp" #include "image.hpp" #include "basicio.hpp" #include "error.hpp" #include "futils.hpp" // + standard includes #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { TgaImage::TgaImage(BasicIo::AutoPtr io) : Image(ImageType::tga, mdNone, io) { } // TgaImage::TgaImage std::string TgaImage::mimeType() const { return "image/targa"; } void TgaImage::setExifData(const ExifData& /*exifData*/) { // Todo: implement me! throw(Error(32, "Exif metadata", "TGA")); } void TgaImage::setIptcData(const IptcData& /*iptcData*/) { // Todo: implement me! throw(Error(32, "IPTC metadata", "TGA")); } void TgaImage::setComment(const std::string& /*comment*/) { // not supported throw(Error(32, "Image comment", "TGA")); } void TgaImage::readMetadata() { #ifdef DEBUG std::cerr << "Exiv2::TgaImage::readMetadata: Reading TARGA file " << io_->path() << "\n"; #endif if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); // Ensure that this is the correct image type if (!isTgaType(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "TGA"); } clearMetadata(); /* The TARGA header goes as follows -- all numbers are in little-endian byte order: offset length name description ====== ======= ======================= =========== 0 1 byte ID length length of image ID (0 to 255) 1 1 byte color map type 0 = no color map; 1 = color map included 2 1 byte image type 0 = no image; 1 = uncompressed color-mapped; 2 = uncompressed true-color; 3 = uncompressed black-and-white; 9 = RLE-encoded color mapped; 10 = RLE-encoded true-color; 11 = RLE-encoded black-and-white 3 5 bytes color map specification 8 2 bytes x-origin of image 10 2 bytes y-origin of image 12 2 bytes image width 14 2 bytes image height 16 1 byte pixel depth 17 1 byte image descriptor */ byte buf[18]; if (io_->read(buf, sizeof(buf)) == sizeof(buf)) { pixelWidth_ = getShort(buf + 12, littleEndian); pixelHeight_ = getShort(buf + 14, littleEndian); } } // TgaImage::readMetadata void TgaImage::writeMetadata() { // Todo: implement me! throw(Error(31, "TGA")); } // TgaImage::writeMetadata // ************************************************************************* // free functions Image::AutoPtr newTgaInstance(BasicIo::AutoPtr io, bool /*create*/) { Image::AutoPtr image(new TgaImage(io)); if (!image->good()) { image.reset(); } return image; } bool isTgaType(BasicIo& iIo, bool /*advance*/) { // not all TARGA files have a signature string, so first just try to match the file name extension #ifdef EXV_UNICODE_PATH std::wstring wpath = iIo.wpath(); if( wpath.rfind(EXV_WIDEN(".tga")) != std::wstring::npos || wpath.rfind(EXV_WIDEN(".TGA")) != std::wstring::npos) { return true; } #else std::string path = iIo.path(); if( path.rfind(".tga") != std::string::npos || path.rfind(".TGA") != std::string::npos) { return true; } #endif byte buf[26]; long curPos = iIo.tell(); iIo.seek(-26, BasicIo::end); if (iIo.error() || iIo.eof()) { return false; } iIo.read(buf, sizeof(buf)); if (iIo.error()) { return false; } // some TARGA files, but not all, have a signature string at the end bool matched = (memcmp(buf + 8, "TRUEVISION-XFILE", 16) == 0); iIo.seek(curPos, BasicIo::beg); return matched; } } // namespace Exiv2 exiv2-0.25/src/utiltest.cpp0000664000175000017500000000605311411621067015466 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* AUTHOR(S): Andreas Huggel (ahu) HISTORY: 10-Dec-03, ahu: created RCS information $Name: $ $Revision: 2286 $ */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: utiltest.cpp 2286 2010-06-27 10:04:39Z ahuggel $"); // ***************************************************************************** // included header files #include "utils.hpp" #include #include void testStrtol(); void testStrError(); void testPaths(); void testPath(const std::string& path); // ***************************************************************************** // Main int main(int argc, char* const argv[]) { testPaths(); return 0; } void testStrtol() { bool rc; long n(0); std::string s; s = "22"; rc = Util::strtol(s.c_str(), n); std::cout << "s = `" << s << "' rc = " << rc << " n = " << n << "\n"; s = "1"; rc = Util::strtol(s.c_str(), n); std::cout << "s = `" << s << "' rc = " << rc << " n = " << n << "\n"; s = "-22222222222222222"; rc = Util::strtol(s.c_str(), n); std::cout << "s = `" << s << "' rc = " << rc << " n = " << n << "\n"; s = "0x0"; rc = Util::strtol(0, n); std::cout << "s = `" << s << "' rc = " << rc << " n = " << n << "\n"; s = ""; rc = Util::strtol(s.c_str(), n); std::cout << "s = `" << s << "' rc = " << rc << " n = " << n << "\n"; s = "abc"; rc = Util::strtol(s.c_str(), n); std::cout << "s = `" << s << "' rc = " << rc << " n = " << n << "\n"; s = "1.2"; rc = Util::strtol(s.c_str(), n); std::cout << "s = `" << s << "' rc = " << rc << " n = " << n << "\n"; s = "12p"; rc = Util::strtol(s.c_str(), n); std::cout << "s = `" << s << "' rc = " << rc << " n = " << n << "\n"; } void testPaths() { std::string path; path = "/usr/lib"; testPath(path); path = "/usr/"; testPath(path); path = "usr"; testPath(path); path = "/"; testPath(path); path = "."; testPath(path); path = ".."; testPath(path); path = "///"; testPath(path); path = "/usr/.emacs"; testPath(path); path = "/usr/.emacs/"; testPath(path); path = "/usr/.emacs//"; testPath(path); path = "usr/.emacs"; testPath(path); path = ".emacs"; testPath(path); path = ".emacs.gz"; testPath(path); path = "/tmp/image.jpg"; testPath(path); path = "/tmp/.image.jpg"; testPath(path); path = "/image.jpg"; testPath(path); path = "image.jpg"; testPath(path); path = "image.jpg//"; testPath(path); path = "/////image.jpg"; testPath(path); path = "/foo.bar/image"; testPath(path); path = "/foo.bar/images.tar.gz"; testPath(path); path = "d:\\foo.bar\\images.tar.gz"; testPath(path); } void testPath(const std::string& path) { std::cout << std::setw(15) << path << " " << std::setw(15) << Util::dirname(path) << " " << std::setw(15) << Util::basename(path) << " " << std::setw(15) << Util::suffix(path) << "\n"; } exiv2-0.25/src/tags.cpp0000664000175000017500000053541512526761404014570 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: tags.cpp Version: $Rev: 3831 $ Author(s): Andreas Huggel (ahu) Gilles Caulier (gc) History: 15-Jan-04, ahu: created 21-Jan-05, ahu: added MakerNote TagInfo registry and related code */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: tags.cpp 3831 2015-05-20 01:27:32Z asp $") // ***************************************************************************** // included header files #include "types.hpp" #include "tags.hpp" #include "tags_int.hpp" #include "error.hpp" #include "futils.hpp" #include "value.hpp" #include "convert.hpp" #include "i18n.h" // NLS support. #include "canonmn_int.hpp" #include "casiomn_int.hpp" #include "fujimn_int.hpp" #include "minoltamn_int.hpp" #include "nikonmn_int.hpp" #include "olympusmn_int.hpp" #include "panasonicmn_int.hpp" #include "pentaxmn_int.hpp" #include "samsungmn_int.hpp" #include "sigmamn_int.hpp" #include "sonymn_int.hpp" #include #include #include #include #include #include #include #include // ***************************************************************************** // local declarations namespace { // Print version string from an intermediate string std::ostream& printVersion(std::ostream& os, const std::string& str); } // ***************************************************************************** // class member definitions namespace Exiv2 { using namespace Internal; //! List of all known Exif groups. Important: Group name (3rd column) must be unique! extern const GroupInfo groupInfo[] = { { ifdIdNotSet, "Unknown IFD", "Unknown", 0 }, { ifd0Id, "IFD0", "Image", ifdTagList }, { ifd1Id, "IFD1", "Thumbnail", ifdTagList }, { ifd2Id, "IFD2", "Image2", ifdTagList }, { ifd3Id, "IFD3", "Image3", ifdTagList }, { exifId, "Exif", "Photo", exifTagList }, { gpsId, "GPSInfo", "GPSInfo", gpsTagList }, { iopId, "Iop", "Iop", iopTagList }, { subImage1Id, "SubImage1", "SubImage1", ifdTagList }, { subImage2Id, "SubImage2", "SubImage2", ifdTagList }, { subImage3Id, "SubImage3", "SubImage3", ifdTagList }, { subImage4Id, "SubImage4", "SubImage4", ifdTagList }, { subImage5Id, "SubImage5", "SubImage5", ifdTagList }, { subImage6Id, "SubImage6", "SubImage6", ifdTagList }, { subImage7Id, "SubImage7", "SubImage7", ifdTagList }, { subImage8Id, "SubImage8", "SubImage8", ifdTagList }, { subImage9Id, "SubImage9", "SubImage9", ifdTagList }, { subThumb1Id, "SubThumb1", "SubThumb1", ifdTagList }, { panaRawId, "PanaRaw", "PanasonicRaw", PanasonicMakerNote::tagListRaw }, { mnId, "Makernote", "MakerNote", mnTagList }, { canonId, "Makernote", "Canon", CanonMakerNote::tagList }, { canonCsId, "Makernote", "CanonCs", CanonMakerNote::tagListCs }, { canonSiId, "Makernote", "CanonSi", CanonMakerNote::tagListSi }, { canonCfId, "Makernote", "CanonCf", CanonMakerNote::tagListCf }, { canonPiId, "Makernote", "CanonPi", CanonMakerNote::tagListPi }, { canonFiId, "Makernote", "CanonFi", CanonMakerNote::tagListFi }, { canonPaId, "Makernote", "CanonPa", CanonMakerNote::tagListPa }, { canonPrId, "Makernote", "CanonPr", CanonMakerNote::tagListPr }, { casioId, "Makernote", "Casio", CasioMakerNote::tagList }, { casio2Id, "Makernote", "Casio2", Casio2MakerNote::tagList }, { fujiId, "Makernote", "Fujifilm", FujiMakerNote::tagList }, { minoltaId, "Makernote", "Minolta", MinoltaMakerNote::tagList }, { minoltaCs5DId, "Makernote", "MinoltaCs5D", MinoltaMakerNote::tagListCs5D }, { minoltaCs7DId, "Makernote", "MinoltaCs7D", MinoltaMakerNote::tagListCs7D }, { minoltaCsOldId, "Makernote", "MinoltaCsOld", MinoltaMakerNote::tagListCsStd }, { minoltaCsNewId, "Makernote", "MinoltaCsNew", MinoltaMakerNote::tagListCsStd }, { nikon1Id, "Makernote", "Nikon1", Nikon1MakerNote::tagList }, { nikon2Id, "Makernote", "Nikon2", Nikon2MakerNote::tagList }, { nikon3Id, "Makernote", "Nikon3", Nikon3MakerNote::tagList }, { nikonPvId, "Makernote", "NikonPreview", ifdTagList }, { nikonVrId, "Makernote", "NikonVr", Nikon3MakerNote::tagListVr }, { nikonPcId, "Makernote", "NikonPc", Nikon3MakerNote::tagListPc }, { nikonWtId, "Makernote", "NikonWt", Nikon3MakerNote::tagListWt }, { nikonIiId, "Makernote", "NikonIi", Nikon3MakerNote::tagListIi }, { nikonAfId, "Makernote", "NikonAf", Nikon3MakerNote::tagListAf }, { nikonAf2Id, "Makernote", "NikonAf2", Nikon3MakerNote::tagListAf2 }, { nikonAFTId, "Makernote", "NikonAFT", Nikon3MakerNote::tagListAFT }, { nikonFiId, "Makernote", "NikonFi", Nikon3MakerNote::tagListFi }, { nikonMeId, "Makernote", "NikonMe", Nikon3MakerNote::tagListMe }, { nikonFl1Id, "Makernote", "NikonFl1", Nikon3MakerNote::tagListFl1 }, { nikonFl2Id, "Makernote", "NikonFl2", Nikon3MakerNote::tagListFl2 }, { nikonFl3Id, "Makernote", "NikonFl3", Nikon3MakerNote::tagListFl3 }, { nikonSi1Id, "Makernote", "NikonSiD80", Nikon3MakerNote::tagListSi1 }, { nikonSi2Id, "Makernote", "NikonSiD40", Nikon3MakerNote::tagListSi2 }, { nikonSi3Id, "Makernote", "NikonSiD300a", Nikon3MakerNote::tagListSi3 }, { nikonSi4Id, "Makernote", "NikonSiD300b", Nikon3MakerNote::tagListSi4 }, { nikonSi5Id, "Makernote", "NikonSi02xx", Nikon3MakerNote::tagListSi5 }, { nikonSi6Id, "Makernote", "NikonSi01xx", Nikon3MakerNote::tagListSi5 }, { nikonCb1Id, "Makernote", "NikonCb1", Nikon3MakerNote::tagListCb1 }, { nikonCb2Id, "Makernote", "NikonCb2", Nikon3MakerNote::tagListCb2 }, { nikonCb2aId, "Makernote", "NikonCb2a", Nikon3MakerNote::tagListCb2a }, { nikonCb2bId, "Makernote", "NikonCb2b", Nikon3MakerNote::tagListCb2b }, { nikonCb3Id, "Makernote", "NikonCb3", Nikon3MakerNote::tagListCb3 }, { nikonCb4Id, "Makernote", "NikonCb4", Nikon3MakerNote::tagListCb4 }, { nikonLd1Id, "Makernote", "NikonLd1", Nikon3MakerNote::tagListLd1 }, { nikonLd2Id, "Makernote", "NikonLd2", Nikon3MakerNote::tagListLd2 }, { nikonLd3Id, "Makernote", "NikonLd3", Nikon3MakerNote::tagListLd3 }, { olympusId, "Makernote", "Olympus", OlympusMakerNote::tagList }, { olympus2Id, "Makernote", "Olympus2", OlympusMakerNote::tagList }, { olympusCsId, "Makernote", "OlympusCs", OlympusMakerNote::tagListCs }, { olympusEqId, "Makernote", "OlympusEq", OlympusMakerNote::tagListEq }, { olympusRdId, "Makernote", "OlympusRd", OlympusMakerNote::tagListRd }, { olympusRd2Id, "Makernote", "OlympusRd2", OlympusMakerNote::tagListRd2 }, { olympusIpId, "Makernote", "OlympusIp", OlympusMakerNote::tagListIp }, { olympusFiId, "Makernote", "OlympusFi", OlympusMakerNote::tagListFi }, { olympusFe1Id, "Makernote", "OlympusFe1", OlympusMakerNote::tagListFe }, { olympusFe2Id, "Makernote", "OlympusFe2", OlympusMakerNote::tagListFe }, { olympusFe3Id, "Makernote", "OlympusFe3", OlympusMakerNote::tagListFe }, { olympusFe4Id, "Makernote", "OlympusFe4", OlympusMakerNote::tagListFe }, { olympusFe5Id, "Makernote", "OlympusFe5", OlympusMakerNote::tagListFe }, { olympusFe6Id, "Makernote", "OlympusFe6", OlympusMakerNote::tagListFe }, { olympusFe7Id, "Makernote", "OlympusFe7", OlympusMakerNote::tagListFe }, { olympusFe8Id, "Makernote", "OlympusFe8", OlympusMakerNote::tagListFe }, { olympusFe9Id, "Makernote", "OlympusFe9", OlympusMakerNote::tagListFe }, { olympusRiId, "Makernote", "OlympusRi", OlympusMakerNote::tagListRi }, { panasonicId, "Makernote", "Panasonic", PanasonicMakerNote::tagList }, { pentaxDngId, "Makernote", "PentaxDng", PentaxMakerNote::tagList }, { pentaxId, "Makernote", "Pentax", PentaxMakerNote::tagList }, { samsung2Id, "Makernote", "Samsung2", Samsung2MakerNote::tagList }, { samsungPvId, "Makernote", "SamsungPreview", ifdTagList }, { samsungPwId, "Makernote", "SamsungPictureWizard", Samsung2MakerNote::tagListPw }, { sigmaId, "Makernote", "Sigma", SigmaMakerNote::tagList }, { sony1Id, "Makernote", "Sony1", SonyMakerNote::tagList }, { sony2Id, "Makernote", "Sony2", SonyMakerNote::tagList }, { sonyMltId, "Makernote", "SonyMinolta", MinoltaMakerNote::tagList }, { sony1CsId, "Makernote", "Sony1Cs", SonyMakerNote::tagListCs }, { sony1Cs2Id, "Makernote", "Sony1Cs2", SonyMakerNote::tagListCs2 }, { sony1MltCs7DId, "Makernote", "Sony1MltCs7D", MinoltaMakerNote::tagListCs7D }, { sony1MltCsOldId, "Makernote", "Sony1MltCsOld",MinoltaMakerNote::tagListCsStd }, { sony1MltCsNewId, "Makernote", "Sony1MltCsNew",MinoltaMakerNote::tagListCsStd }, { sony1MltCsA100Id,"Makernote","Sony1MltCsA100",MinoltaMakerNote::tagListCsA100}, { sony2CsId, "Makernote", "Sony2Cs", SonyMakerNote::tagListCs }, { sony2Cs2Id, "Makernote", "Sony2Cs2", SonyMakerNote::tagListCs2 }, { lastId, "(Last IFD info)", "(Last IFD item)", 0 } }; //! List of all defined Exif sections. extern const SectionInfo sectionInfo[] = { { sectionIdNotSet, "(UnknownSection)", N_("Unknown section") }, { imgStruct, "ImageStructure", N_("Image data structure") }, { recOffset, "RecordingOffset", N_("Recording offset") }, { imgCharacter, "ImageCharacteristics", N_("Image data characteristics") }, { otherTags, "OtherTags", N_("Other data") }, { exifFormat, "ExifFormat", N_("Exif data structure") }, { exifVersion, "ExifVersion", N_("Exif version") }, { imgConfig, "ImageConfig", N_("Image configuration") }, { userInfo, "UserInfo", N_("User information") }, { relatedFile, "RelatedFile", N_("Related file") }, { dateTime, "DateTime", N_("Date and time") }, { captureCond, "CaptureConditions", N_("Picture taking conditions") }, { gpsTags, "GPS", N_("GPS information") }, { iopTags, "Interoperability", N_("Interoperability information") }, { makerTags, "Makernote", N_("Vendor specific information") }, { dngTags, "DngTags", N_("Adobe DNG tags") }, { panaRaw, "PanasonicRaw", N_("Panasonic RAW tags") }, { tiffEp, "TIFF/EP", N_("TIFF/EP tags") }, { tiffPm6, "TIFF&PM6", N_("TIFF PageMaker 6.0 tags") }, { adobeOpi, "AdobeOPI", N_("Adobe OPI tags") }, { lastSectionId, "(LastSection)", N_("Last section") } }; } // namespace Exiv2 namespace Exiv2 { namespace Internal { bool TagVocabulary::operator==(const std::string& key) const { if (strlen(voc_) > key.size()) return false; return 0 == strcmp(voc_, key.c_str() + key.size() - strlen(voc_)); } //! NewSubfileType, TIFF tag 0x00fe - this is actually a bitmask extern const TagDetails exifNewSubfileType[] = { { 0, N_("Primary image") }, { 1, N_("Thumbnail/Preview image") }, { 2, N_("Primary image, Multi page file") }, { 3, N_("Thumbnail/Preview image, Multi page file") }, { 4, N_("Primary image, Transparency mask") }, { 5, N_("Thumbnail/Preview image, Transparency mask") }, { 6, N_("Primary image, Multi page file, Transparency mask") }, { 7, N_("Thumbnail/Preview image, Multi page file, Transparency mask") }, { 7, N_("Thumbnail/Preview image, Multi page file, Transparency mask") } // To silence compiler warning }; //! SubfileType, TIFF tag 0x00ff extern const TagDetails exifSubfileType[] = { { 1, N_("Full-resolution image data") }, { 2, N_("Reduced-resolution image data") }, { 3, N_("A single page of a multi-page image") } }; //! Units for measuring X and Y resolution, tags 0x0128, 0xa210 extern const TagDetails exifUnit[] = { { 1, N_("none") }, { 2, N_("inch") }, { 3, N_("cm") } }; //! Compression, tag 0x0103 extern const TagDetails exifCompression[] = { { 1, N_("Uncompressed") }, { 2, N_("CCITT RLE") }, { 3, N_("T4/Group 3 Fax") }, { 4, N_("T6/Group 4 Fax") }, { 5, N_("LZW") }, { 6, N_("JPEG (old-style)") }, { 7, N_("JPEG") }, { 8, N_("Adobe Deflate") }, { 9, N_("JBIG B&W") }, { 10, N_("JBIG Color") }, { 32766, N_("Next 2-bits RLE") }, { 32769, N_("Epson ERF Compressed") }, { 32770, N_("Samsung SRW Compressed") }, { 32771, N_("CCITT RLE 1-word") }, { 32773, N_("PackBits (Macintosh RLE)") }, { 32809, N_("Thunderscan RLE") }, { 32895, N_("IT8 CT Padding") }, { 32896, N_("IT8 Linework RLE") }, { 32897, N_("IT8 Monochrome Picture") }, { 32898, N_("IT8 Binary Lineart") }, { 32908, N_("Pixar Film (10-bits LZW)") }, { 32909, N_("Pixar Log (11-bits ZIP)") }, { 32946, N_("Pixar Deflate") }, { 32947, N_("Kodak DCS Encoding") }, { 34661, N_("ISO JBIG") }, { 34676, N_("SGI Log Luminance RLE") }, { 34677, N_("SGI Log 24-bits packed") }, { 34712, N_("Leadtools JPEG 2000") }, { 34713, N_("Nikon NEF Compressed") }, { 65000, N_("Kodak DCR Compressed") }, { 65535, N_("Pentax PEF Compressed") } }; //! PhotometricInterpretation, tag 0x0106 extern const TagDetails exifPhotometricInterpretation[] = { { 0, N_("White Is Zero") }, { 1, N_("Black Is Zero") }, { 2, N_("RGB") }, { 3, N_("RGB Palette") }, { 4, N_("Transparency Mask") }, { 5, N_("CMYK") }, { 6, N_("YCbCr") }, { 8, N_("CIELab") }, { 9, N_("ICCLab") }, { 10, N_("ITULab") }, { 32803, N_("Color Filter Array") }, { 32844, N_("Pixar LogL") }, { 32845, N_("Pixar LogLuv") }, { 34892, N_("Linear Raw") } }; //! Thresholding, tag 0x0107 extern const TagDetails exifThresholding[] = { { 1, N_("No dithering or halftoning") }, { 2, N_("Ordered dither or halftone technique") }, { 3, N_("Randomized process") } }; //! Orientation, tag 0x0112 extern const TagDetails exifOrientation[] = { { 1, N_("top, left") }, { 2, N_("top, right") }, { 3, N_("bottom, right") }, { 4, N_("bottom, left") }, { 5, N_("left, top") }, { 6, N_("right, top") }, { 7, N_("right, bottom") }, { 8, N_("left, bottom") }, { 8, N_("left, bottom") } // To silence compiler warning }; //! Predictor, tag 0x013d extern const TagDetails exifPredictor[] = { { 1, N_("No prediction scheme used") }, { 2, N_("Horizontal differencing") } }; //! InkSet, tag 0x014c extern const TagDetails exifInkSet[] = { { 1, N_("CMYK") }, { 2, N_("not CMYK") } }; //! SampleFormat, tag 0x0153 extern const TagDetails exifSampleFormat[] = { { 1, N_("Unsigned integer data") }, { 2, N_("Two's complement signed integer data") }, { 3, N_("IEEE floating point data") }, { 4, N_("Undefined data format") }, { 4, N_("Undefined data format") } // To silence compiler warning }; //! Indexed, tag 0x015a extern const TagDetails exifIndexed[] = { { 0, N_("Not indexed") }, { 1, N_("Indexed") } }; //! exifJpegLosslessPredictor, tag 0x0205 extern const TagDetails exifJpegLosslessPredictor[] = { { 1, N_("A") }, { 2, N_("B") }, { 3, N_("C") }, { 4, N_("A+B-C") }, { 5, N_("A+((B-C)/2)") }, { 6, N_("B+((A-C)/2)") }, { 7, N_("(A+B)/2") } }; //! YCbCrPositioning, tag 0x0213 extern const TagDetails exifYCbCrPositioning[] = { { 1, N_("Centered") }, { 2, N_("Co-sited") } }; //! Flash, Exif tag 0x9209 extern const TagDetails exifFlash[] = { { 0x00, N_("No flash") }, { 0x01, N_("Fired") }, { 0x05, N_("Fired, return light not detected") }, { 0x07, N_("Fired, return light detected") }, { 0x08, N_("Yes, did not fire") }, { 0x09, N_("Yes, compulsory") }, { 0x0d, N_("Yes, compulsory, return light not detected") }, { 0x0f, N_("Yes, compulsory, return light detected") }, { 0x10, N_("No, compulsory") }, { 0x14, N_("No, did not fire, return light not detected") }, { 0x18, N_("No, auto") }, { 0x19, N_("Yes, auto") }, { 0x1d, N_("Yes, auto, return light not detected") }, { 0x1f, N_("Yes, auto, return light detected") }, { 0x20, N_("No flash function") }, { 0x20, N_("No, no flash function") }, { 0x41, N_("Yes, red-eye reduction") }, { 0x45, N_("Yes, red-eye reduction, return light not detected") }, { 0x47, N_("Yes, red-eye reduction, return light detected") }, { 0x49, N_("Yes, compulsory, red-eye reduction") }, { 0x4d, N_("Yes, compulsory, red-eye reduction, return light not detected") }, { 0x4f, N_("Yes, compulsory, red-eye reduction, return light detected") }, { 0x50, N_("No, red-eye reduction") }, { 0x58, N_("No, auto, red-eye reduction") }, { 0x59, N_("Yes, auto, red-eye reduction") }, { 0x5d, N_("Yes, auto, red-eye reduction, return light not detected") }, { 0x5f, N_("Yes, auto, red-eye reduction, return light detected") } }; //! CFALayout, tag 0xc617 extern const TagDetails exifCfaLayout[] = { { 1, N_("Rectangular (or square) layout") }, { 2, N_("Staggered layout A: even columns are offset down by 1/2 row") }, { 3, N_("Staggered layout B: even columns are offset up by 1/2 row") }, { 4, N_("Staggered layout C: even rows are offset right by 1/2 column") }, { 5, N_("Staggered layout D: even rows are offset left by 1/2 column") } }; //! Base IFD Tags (IFD0 and IFD1) static const TagInfo ifdTagInfo[] = { TagInfo(0x000b, "ProcessingSoftware", N_("Processing Software"), N_("The name and version of the software used to post-process " "the picture."), // ACD Systems Digital Imaging tag ifd0Id, otherTags, asciiString, 0, printValue), TagInfo(0x00fe, "NewSubfileType", N_("New Subfile Type"), N_("A general indication of the kind of data contained in this subfile."), ifd0Id, imgStruct, unsignedLong, 1, EXV_PRINT_TAG(exifNewSubfileType)), // TIFF tag TagInfo(0x00ff, "SubfileType", N_("Subfile Type"), N_("A general indication of the kind of data contained in this subfile. " "This field is deprecated. The NewSubfileType field should be used instead."), ifd0Id, imgStruct, unsignedShort, 1, EXV_PRINT_TAG(exifSubfileType)), // TIFF tag TagInfo(0x0100, "ImageWidth", N_("Image Width"), N_("The number of columns of image data, equal to the number of " "pixels per row. In JPEG compressed data a JPEG marker is " "used instead of this tag."), ifd0Id, imgStruct, unsignedLong, 1, printValue), TagInfo(0x0101, "ImageLength", N_("Image Length"), N_("The number of rows of image data. In JPEG compressed data a " "JPEG marker is used instead of this tag."), ifd0Id, imgStruct, unsignedLong, 1, printValue), TagInfo(0x0102, "BitsPerSample", N_("Bits per Sample"), N_("The number of bits per image component. In this standard each " "component of the image is 8 bits, so the value for this " "tag is 8. See also . In JPEG compressed data " "a JPEG marker is used instead of this tag."), ifd0Id, imgStruct, unsignedShort, 3, printValue), TagInfo(0x0103, "Compression", N_("Compression"), N_("The compression scheme used for the image data. When a " "primary image is JPEG compressed, this designation is " "not necessary and is omitted. When thumbnails use JPEG " "compression, this tag value is set to 6."), ifd0Id, imgStruct, unsignedShort, 1, EXV_PRINT_TAG(exifCompression)), TagInfo(0x0106, "PhotometricInterpretation", N_("Photometric Interpretation"), N_("The pixel composition. In JPEG compressed data a JPEG " "marker is used instead of this tag."), ifd0Id, imgStruct, unsignedShort, 1, EXV_PRINT_TAG(exifPhotometricInterpretation)), TagInfo(0x0107, "Thresholding", N_("Thresholding"), N_("For black and white TIFF files that represent shades of gray, " "the technique used to convert from gray to black and white pixels."), ifd0Id, imgStruct, unsignedShort, 1, EXV_PRINT_TAG(exifThresholding)), // TIFF tag TagInfo(0x0108, "CellWidth", N_("Cell Width"), N_("The width of the dithering or halftoning matrix used to create a " "dithered or halftoned bilevel file."), ifd0Id, imgStruct, unsignedShort, 1, printValue), // TIFF tag TagInfo(0x0109, "CellLength", N_("Cell Length"), N_("The length of the dithering or halftoning matrix used to create a " "dithered or halftoned bilevel file."), ifd0Id, imgStruct, unsignedShort, 1, printValue), // TIFF tag TagInfo(0x010a, "FillOrder", N_("Fill Order"), N_("The logical order of bits within a byte"), ifd0Id, imgStruct, unsignedShort, 1, printValue), // TIFF tag TagInfo(0x010d, "DocumentName", N_("Document Name"), N_("The name of the document from which this image was scanned"), ifd0Id, imgStruct, asciiString, 0, printValue), // TIFF tag TagInfo(0x010e, "ImageDescription", N_("Image Description"), N_("A character string giving the title of the image. It may be " "a comment such as \"1988 company picnic\" or " "the like. Two-bytes character codes cannot be used. " "When a 2-bytes code is necessary, the Exif Private tag " " is to be used."), ifd0Id, otherTags, asciiString, 0, printValue), TagInfo(0x010f, "Make", N_("Manufacturer"), N_("The manufacturer of the recording " "equipment. This is the manufacturer of the DSC, scanner, " "video digitizer or other equipment that generated the " "image. When the field is left blank, it is treated as unknown."), ifd0Id, otherTags, asciiString, 0, printValue), TagInfo(0x0110, "Model", N_("Model"), N_("The model name or model number of the equipment. This is the " "model name or number of the DSC, scanner, video digitizer " "or other equipment that generated the image. When the field " "is left blank, it is treated as unknown."), ifd0Id, otherTags, asciiString, 0, printValue), TagInfo(0x0111, "StripOffsets", N_("Strip Offsets"), N_("For each strip, the byte offset of that strip. It is " "recommended that this be selected so the number of strip " "bytes does not exceed 64 Kbytes. With JPEG compressed " "data this designation is not needed and is omitted. See also " " and ."), ifd0Id, recOffset, unsignedLong, -1, printValue), TagInfo(0x0112, "Orientation", N_("Orientation"), N_("The image orientation viewed in terms of rows and columns."), ifd0Id, imgStruct, unsignedShort, 1, print0x0112), TagInfo(0x0115, "SamplesPerPixel", N_("Samples per Pixel"), N_("The number of components per pixel. Since this standard applies " "to RGB and YCbCr images, the value set for this tag is 3. " "In JPEG compressed data a JPEG marker is used instead of this tag."), ifd0Id, imgStruct, unsignedShort, 1, printValue), TagInfo(0x0116, "RowsPerStrip", N_("Rows per Strip"), N_("The number of rows per strip. This is the number of rows " "in the image of one strip when an image is divided into " "strips. With JPEG compressed data this designation is not " "needed and is omitted. See also and ."), ifd0Id, recOffset, unsignedLong, 1, printValue), TagInfo(0x0117, "StripByteCounts", N_("Strip Byte Count"), N_("The total number of bytes in each strip. With JPEG compressed " "data this designation is not needed and is omitted."), ifd0Id, recOffset, unsignedLong, -1, printValue), TagInfo(0x011a, "XResolution", N_("X-Resolution"), N_("The number of pixels per in the " "direction. When the image resolution is unknown, 72 [dpi] is designated."), ifd0Id, imgStruct, unsignedRational, 1, printLong), TagInfo(0x011b, "YResolution", N_("Y-Resolution"), N_("The number of pixels per in the " "direction. The same value as is designated."), ifd0Id, imgStruct, unsignedRational, 1, printLong), TagInfo(0x011c, "PlanarConfiguration", N_("Planar Configuration"), N_("Indicates whether pixel components are recorded in a chunky " "or planar format. In JPEG compressed files a JPEG marker " "is used instead of this tag. If this field does not exist, " "the TIFF default of 1 (chunky) is assumed."), ifd0Id, imgStruct, unsignedShort, 1, printValue), TagInfo(0x0122, "GrayResponseUnit", N_("Gray Response Unit"), N_("The precision of the information contained in the GrayResponseCurve."), ifd0Id, imgStruct, unsignedShort, 1, printValue), // TIFF tag TagInfo(0x0123, "GrayResponseCurve", N_("Gray Response Curve"), N_("For grayscale data, the optical density of each possible pixel value."), ifd0Id, imgStruct, unsignedShort, -1, printValue), // TIFF tag TagInfo(0x0124, "T4Options", N_("T4 Options"), N_("T.4-encoding options."), ifd0Id, imgStruct, unsignedLong, 1, printValue), // TIFF tag TagInfo(0x0125, "T6Options", N_("T6 Options"), N_("T.6-encoding options."), ifd0Id, imgStruct, unsignedLong, 1, printValue), // TIFF tag TagInfo(0x0128, "ResolutionUnit", N_("Resolution Unit"), N_("The unit for measuring and . The same " "unit is used for both and . If " "the image resolution is unknown, 2 (inches) is designated."), ifd0Id, imgStruct, unsignedShort, 1, printExifUnit), TagInfo(0x0129, "PageNumber", N_("Page Number"), N_("The page number of the page from which this image was scanned."), ifd0Id, imgStruct, unsignedShort, 2, printValue), TagInfo(0x012d, "TransferFunction", N_("Transfer Function"), N_("A transfer function for the image, described in tabular style. " "Normally this tag is not necessary, since color space is " "specified in the color space information tag ()."), ifd0Id, imgCharacter, unsignedShort, 3*256, printValue), TagInfo(0x0131, "Software", N_("Software"), N_("This tag records the name and version of the software or " "firmware of the camera or image input device used to " "generate the image. The detailed format is not specified, but " "it is recommended that the example shown below be " "followed. When the field is left blank, it is treated as unknown."), ifd0Id, otherTags, asciiString, 0, printValue), TagInfo(0x0132, "DateTime", N_("Date and Time"), N_("The date and time of image creation. In Exif standard, " "it is the date and time the file was changed."), ifd0Id, otherTags, asciiString, 20, printValue), TagInfo(0x013b, "Artist", N_("Artist"), N_("This tag records the name of the camera owner, photographer or " "image creator. The detailed format is not specified, but it is " "recommended that the information be written as in the example " "below for ease of Interoperability. When the field is " "left blank, it is treated as unknown. Ex.) \"Camera owner, John " "Smith; Photographer, Michael Brown; Image creator, Ken James\""), ifd0Id, otherTags, asciiString, 0, printValue), TagInfo(0x013c, "HostComputer", N_("Host Computer"), N_("This tag records information about the host computer used " "to generate the image."), ifd0Id, otherTags, asciiString, 0, printValue), TagInfo(0x013d, "Predictor", N_("Predictor"), N_("A predictor is a mathematical operator that is applied to " "the image data before an encoding scheme is applied."), ifd0Id, imgStruct, unsignedShort, 1, EXV_PRINT_TAG(exifPredictor)), // TIFF tag TagInfo(0x013e, "WhitePoint", N_("White Point"), N_("The chromaticity of the white point of the image. Normally " "this tag is not necessary, since color space is specified " "in the colorspace information tag ()."), ifd0Id, imgCharacter, unsignedRational, 2, printValue), TagInfo(0x013f, "PrimaryChromaticities", N_("Primary Chromaticities"), N_("The chromaticity of the three primary colors of the image. " "Normally this tag is not necessary, since colorspace is " "specified in the colorspace information tag ()."), ifd0Id, imgCharacter, unsignedRational, 6, printValue), TagInfo(0x0140, "ColorMap", N_("Color Map"), N_("A color map for palette color images. This field defines " "a Red-Green-Blue color map (often called a lookup table) " "for palette-color images. In a palette-color image, a " "pixel value is used to index into an RGB lookup table."), ifd0Id, imgCharacter, unsignedShort, -1, printValue), TagInfo(0x0141, "HalftoneHints", N_("Halftone Hints"), N_("The purpose of the HalftoneHints field is to convey to the " "halftone function the range of gray levels within a " "colorimetrically-specified image that should retain tonal detail."), ifd0Id, imgStruct, unsignedShort, 2, printValue), // TIFF tag TagInfo(0x0142, "TileWidth", N_("Tile Width"), N_("The tile width in pixels. This is the number of columns in each tile."), ifd0Id, recOffset, unsignedShort, 1, printValue), // TIFF tag TagInfo(0x0143, "TileLength", N_("Tile Length"), N_("The tile length (height) in pixels. This is the number of rows in each tile."), ifd0Id, recOffset, unsignedShort, 1, printValue), // TIFF tag TagInfo(0x0144, "TileOffsets", N_("Tile Offsets"), N_("For each tile, the byte offset of that tile, as compressed and " "stored on disk. The offset is specified with respect to the " "beginning of the TIFF file. Note that this implies that each " "tile has a location independent of the locations of other tiles."), ifd0Id, recOffset, unsignedShort, -1, printValue), // TIFF tag TagInfo(0x0145, "TileByteCounts", N_("Tile Byte Counts"), N_("For each tile, the number of (compressed) bytes in that tile. See " "TileOffsets for a description of how the byte counts are ordered."), ifd0Id, recOffset, unsignedShort, -1, printValue), // TIFF tag TagInfo(0x014a, "SubIFDs", N_("SubIFD Offsets"), N_("Defined by Adobe Corporation to enable TIFF Trees within a TIFF file."), ifd0Id, tiffEp, unsignedLong, -1, printValue), TagInfo(0x014c, "InkSet", N_("Ink Set"), N_("The set of inks used in a separated (PhotometricInterpretation=5) image."), ifd0Id, imgStruct, unsignedShort, 1, EXV_PRINT_TAG(exifInkSet)), // TIFF tag TagInfo(0x014d, "InkNames", N_("Ink Names"), N_("The name of each ink used in a separated (PhotometricInterpretation=5) image."), ifd0Id, imgStruct, asciiString, 0, printValue), // TIFF tag TagInfo(0x014e, "NumberOfInks", N_("Number Of Inks"), N_("The number of inks. Usually equal to SamplesPerPixel, unless there are extra samples."), ifd0Id, imgStruct, unsignedShort, 1, printValue), // TIFF tag TagInfo(0x0150, "DotRange", N_("Dot Range"), N_("The component values that correspond to a 0% dot and 100% dot."), ifd0Id, imgStruct, unsignedByte, -1, printValue), // TIFF tag TagInfo(0x0151, "TargetPrinter", N_("Target Printer"), N_("A description of the printing environment for which this separation is intended."), ifd0Id, imgStruct, asciiString, 0, printValue), // TIFF tag TagInfo(0x0152, "ExtraSamples", N_("Extra Samples"), N_("Specifies that each pixel has m extra components whose interpretation " "is defined by one of the values listed below."), ifd0Id, imgStruct, unsignedShort, -1, printValue), // TIFF tag TagInfo(0x0153, "SampleFormat", N_("Sample Format"), N_("This field specifies how to interpret each data sample in a pixel."), ifd0Id, imgStruct, unsignedShort, -1, EXV_PRINT_TAG(exifSampleFormat)), // TIFF tag TagInfo(0x0154, "SMinSampleValue", N_("SMin Sample Value"), N_("This field specifies the minimum sample value."), ifd0Id, imgStruct, unsignedShort, -1, printValue), // TIFF tag TagInfo(0x0155, "SMaxSampleValue", N_("SMax Sample Value"), N_("This field specifies the maximum sample value."), ifd0Id, imgStruct, unsignedShort, -1, printValue), // TIFF tag TagInfo(0x0156, "TransferRange", N_("Transfer Range"), N_("Expands the range of the TransferFunction"), ifd0Id, imgCharacter, unsignedShort, 6, printValue), // TIFF tag TagInfo(0x0157, "ClipPath", N_("Clip Path"), N_("A TIFF ClipPath is intended to mirror the essentials of PostScript's " "path creation functionality."), ifd0Id, tiffPm6, unsignedByte, -1, printValue), // TIFF&PM6 tag TagInfo(0x0158, "XClipPathUnits", N_("X Clip Path Units"), N_("The number of units that span the width of the image, in terms of " "integer ClipPath coordinates."), ifd0Id, tiffPm6, signedShort, 1, printValue), // TIFF&PM6 tag TagInfo(0x0159, "YClipPathUnits", N_("Y Clip Path Units"), N_("The number of units that span the height of the image, in terms of " "integer ClipPath coordinates."), ifd0Id, tiffPm6, signedShort, 1, printValue), // TIFF&PM6 tag TagInfo(0x015a, "Indexed", N_("Indexed"), N_("Indexed images are images where the 'pixels' do not represent color " "values, but rather an index (usually 8-bit) into a separate color " "table, the ColorMap."), ifd0Id, tiffPm6, unsignedShort, 1, EXV_PRINT_TAG(exifIndexed)), // TIFF&PM6 tag TagInfo(0x015b, "JPEGTables", N_("JPEG tables"), N_("This optional tag may be used to encode the JPEG quantization and " "Huffman tables for subsequent use by the JPEG decompression process."), ifd0Id, imgStruct, undefined, 0, printValue), // TIFF/EP tag TagInfo(0x015F, "OPIProxy", N_("OPI Proxy"), N_("OPIProxy gives information concerning whether this image is a " "low-resolution proxy of a high-resolution image (Adobe OPI)."), ifd0Id, adobeOpi, unsignedShort, 1, printValue), // Adobe OPI tag TagInfo(0x0200, "JPEGProc", N_("JPEG Process"), N_("This field indicates the process used to produce the compressed data"), ifd0Id, recOffset, unsignedLong, 1, printValue), // TIFF tag TagInfo(0x0201, "JPEGInterchangeFormat", N_("JPEG Interchange Format"), N_("The offset to the start byte (SOI) of JPEG compressed " "thumbnail data. This is not used for primary image JPEG data."), ifd0Id, recOffset, unsignedLong, 1, printValue), TagInfo(0x0202, "JPEGInterchangeFormatLength", N_("JPEG Interchange Format Length"), N_("The number of bytes of JPEG compressed thumbnail data. This " "is not used for primary image JPEG data. JPEG thumbnails " "are not divided but are recorded as a continuous JPEG " "bitstream from SOI to EOI. Appn and COM markers should " "not be recorded. Compressed thumbnails must be recorded in no " "more than 64 Kbytes, including all other data to be recorded in APP1."), ifd0Id, recOffset, unsignedLong, 1, printValue), TagInfo(0x0203, "JPEGRestartInterval", N_("JPEG Restart Interval"), N_("This Field indicates the length of the restart interval used " "in the compressed image data."), ifd0Id, imgStruct, unsignedShort, 1, printValue), // TIFF tag TagInfo(0x0205, "JPEGLosslessPredictors", N_("JPEG Lossless Predictors"), N_("This Field points to a list of lossless predictor-selection " "values, one per component."), ifd0Id, imgStruct, unsignedShort, -1, EXV_PRINT_TAG(exifJpegLosslessPredictor)), // TIFF tag TagInfo(0x0206, "JPEGPointTransforms", N_("JPEG Point Transforms"), N_("This Field points to a list of point transform values, one per component."), ifd0Id, imgStruct, unsignedShort, -1, printValue), // TIFF tag TagInfo(0x0207, "JPEGQTables", N_("JPEG Q-Tables"), N_("This Field points to a list of offsets to the quantization tables, " "one per component."), ifd0Id, imgStruct, unsignedLong, -1, printValue), // TIFF tag TagInfo(0x0208, "JPEGDCTables", N_("JPEG DC-Tables"), N_("This Field points to a list of offsets to the DC Huffman tables or " "the lossless Huffman tables, one per component."), ifd0Id, imgStruct, unsignedLong, -1, printValue), // TIFF tag TagInfo(0x0209, "JPEGACTables", N_("JPEG AC-Tables"), N_("This Field points to a list of offsets to the Huffman AC tables, " "one per component."), ifd0Id, imgStruct, unsignedLong, -1, printValue), // TIFF tag TagInfo(0x0211, "YCbCrCoefficients", N_("YCbCr Coefficients"), N_("The matrix coefficients for transformation from RGB to YCbCr " "image data. No default is given in TIFF; but here the " "value given in Appendix E, \"Color Space Guidelines\", is used " "as the default. The color space is declared in a " "color space information tag, with the default being the value " "that gives the optimal image characteristics " "Interoperability this condition."), ifd0Id, imgCharacter, unsignedRational, 3, printValue), TagInfo(0x0212, "YCbCrSubSampling", N_("YCbCr Sub-Sampling"), N_("The sampling ratio of chrominance components in relation to the " "luminance component. In JPEG compressed data a JPEG marker " "is used instead of this tag."), ifd0Id, imgStruct, unsignedShort, 2, printValue), TagInfo(0x0213, "YCbCrPositioning", N_("YCbCr Positioning"), N_("The position of chrominance components in relation to the " "luminance component. This field is designated only for " "JPEG compressed data or uncompressed YCbCr data. The TIFF " "default is 1 (centered); but when Y:Cb:Cr = 4:2:2 it is " "recommended in this standard that 2 (co-sited) be used to " "record data, in order to improve the image quality when viewed " "on TV systems. When this field does not exist, the reader shall " "assume the TIFF default. In the case of Y:Cb:Cr = 4:2:0, the " "TIFF default (centered) is recommended. If the reader " "does not have the capability of supporting both kinds of " ", it shall follow the TIFF default regardless " "of the value in this field. It is preferable that readers " "be able to support both centered and co-sited positioning."), ifd0Id, imgStruct, unsignedShort, 1, print0x0213), TagInfo(0x0214, "ReferenceBlackWhite", N_("Reference Black/White"), N_("The reference black point value and reference white point " "value. No defaults are given in TIFF, but the values " "below are given as defaults here. The color space is declared " "in a color space information tag, with the default " "being the value that gives the optimal image characteristics " "Interoperability these conditions."), ifd0Id, imgCharacter, unsignedRational, 6, printValue), TagInfo(0x02bc, "XMLPacket", N_("XML Packet"), N_("XMP Metadata (Adobe technote 9-14-02)"), ifd0Id, otherTags, unsignedByte, -1, printValue), TagInfo(0x4746, "Rating", N_("Windows Rating"), N_("Rating tag used by Windows"), ifd0Id, otherTags, unsignedShort, -1, printValue), // Windows Tag TagInfo(0x4749, "RatingPercent", N_("Windows Rating Percent"), N_("Rating tag used by Windows, value in percent"), ifd0Id, otherTags, unsignedShort, -1, printValue), // Windows Tag TagInfo(0x800d, "ImageID", N_("Image ID"), N_("ImageID is the full pathname of the original, high-resolution image, " "or any other identifying string that uniquely identifies the original " "image (Adobe OPI)."), ifd0Id, adobeOpi, asciiString, 0, printValue), // Adobe OPI tag TagInfo(0x828d, "CFARepeatPatternDim", N_("CFA Repeat Pattern Dimension"), N_("Contains two values representing the minimum rows and columns " "to define the repeating patterns of the color filter array"), ifd0Id, tiffEp, unsignedShort, 2, printValue), // TIFF/EP Tag TagInfo(0x828e, "CFAPattern", N_("CFA Pattern"), N_("Indicates the color filter array (CFA) geometric pattern of the image " "sensor when a one-chip color area sensor is used. It does not apply to " "all sensing methods"), ifd0Id, tiffEp, unsignedByte, -1, printValue), // TIFF/EP Tag TagInfo(0x828f, "BatteryLevel", N_("Battery Level"), "Contains a value of the battery level as a fraction or string", ifd0Id, tiffEp, unsignedRational, 1, printValue), // TIFF/EP Tag TagInfo(0x8298, "Copyright", N_("Copyright"), N_("Copyright information. In this standard the tag is used to " "indicate both the photographer and editor copyrights. It is " "the copyright notice of the person or organization claiming " "rights to the image. The Interoperability copyright " "statement including date and rights should be written in this " "field; e.g., \"Copyright, John Smith, 19xx. All rights " "reserved.\". In this standard the field records both the " "photographer and editor copyrights, with each recorded in a " "separate part of the statement. When there is a clear distinction " "between the photographer and editor copyrights, these are to be " "written in the order of photographer followed by editor copyright, " "separated by NULL (in this case since the statement also ends with " "a NULL, there are two NULL codes). When only the photographer " "copyright is given, it is terminated by one NULL code. When only " "the editor copyright is given, the photographer copyright part " "consists of one space followed by a terminating NULL code, then " "the editor copyright is given. When the field is left blank, it is " "treated as unknown."), ifd0Id, otherTags, asciiString, 0, print0x8298), TagInfo(0x829a, "ExposureTime", N_("Exposure Time"), N_("Exposure time, given in seconds."), ifd0Id, tiffEp, unsignedRational, 1, print0x829a), // TIFF/EP tag TagInfo(0x829d, "FNumber", N_("FNumber"), N_("The F number."), ifd0Id, tiffEp, unsignedRational, 1, print0x829d), // TIFF/EP tag TagInfo(0x83bb, "IPTCNAA", N_("IPTC/NAA"), N_("Contains an IPTC/NAA record"), ifd0Id, tiffEp, unsignedLong, 0, printValue), // TIFF/EP Tag TagInfo(0x8649, "ImageResources", N_("Image Resources Block"), N_("Contains information embedded by the Adobe Photoshop application"), ifd0Id, otherTags, unsignedByte, -1, printValue), TagInfo(0x8769, "ExifTag", N_("Exif IFD Pointer"), N_("A pointer to the Exif IFD. Interoperability, Exif IFD has the " "same structure as that of the IFD specified in TIFF. " "ordinarily, however, it does not contain image data as in " "the case of TIFF."), ifd0Id, exifFormat, unsignedLong, 1, printValue), TagInfo(0x8773, "InterColorProfile", N_("Inter Color Profile"), N_("Contains an InterColor Consortium (ICC) format color space characterization/profile"), ifd0Id, tiffEp, undefined, -1, printValue), TagInfo(0x8822, "ExposureProgram", N_("Exposure Program"), N_("The class of the program used by the camera to set exposure when the picture is taken."), ifd0Id, tiffEp, unsignedShort, 1, print0x8822), // TIFF/EP tag TagInfo(0x8824, "SpectralSensitivity", N_("Spectral Sensitivity"), N_("Indicates the spectral sensitivity of each channel of the camera used."), ifd0Id, tiffEp, asciiString, 0, printValue), // TIFF/EP tag TagInfo(0x8825, "GPSTag", N_("GPS Info IFD Pointer"), N_("A pointer to the GPS Info IFD. The " "Interoperability structure of the GPS Info IFD, like that of " "Exif IFD, has no image data."), ifd0Id, exifFormat, unsignedLong, 1, printValue), TagInfo(0x8827, "ISOSpeedRatings", N_("ISO Speed Ratings"), N_("Indicates the ISO Speed and ISO Latitude of the camera or input device as specified in ISO 12232."), ifd0Id, tiffEp, unsignedShort, 0, print0x8827), // TIFF/EP tag TagInfo(0x8828, "OECF", N_("OECF"), N_("Indicates the Opto-Electric Conversion Function (OECF) specified in ISO 14524."), ifd0Id, tiffEp, undefined, 0, printValue), // TIFF/EP tag TagInfo(0x8829, "Interlace", N_("Interlace"), N_("Indicates the field number of multifield images."), ifd0Id, tiffEp, unsignedShort, 1, printValue), // TIFF/EP tag TagInfo(0x882a, "TimeZoneOffset", N_("Time Zone Offset"), N_("This optional tag encodes the time zone of the camera clock (relative" "to Greenwich Mean Time) used to create the DataTimeOriginal tag-value" "when the picture was taken. It may also contain the time zone offset" "of the clock used to create the DateTime tag-value when the image was" "modified."), ifd0Id, tiffEp, signedShort, -1, printValue), TagInfo(0x882b, "SelfTimerMode", N_("Self Timer Mode"), N_("Number of seconds image capture was delayed from button press."), ifd0Id, tiffEp, unsignedShort, 1, printValue), // TIFF/EP tag TagInfo(0x9003, "DateTimeOriginal", N_("Date Time Original"), N_("The date and time when the original image data was generated."), ifd0Id, tiffEp, asciiString, 20, printValue), // TIFF/EP tag TagInfo(0x9102, "CompressedBitsPerPixel", N_("Compressed Bits Per Pixel"), N_("Specific to compressed data; states the compressed bits per pixel."), ifd0Id, tiffEp, unsignedRational, 1, printFloat), // TIFF/EP tag TagInfo(0x9201, "ShutterSpeedValue", N_("Shutter Speed Value"), N_("Shutter speed."), ifd0Id, tiffEp, signedRational, 1, print0x9201), // TIFF/EP tag TagInfo(0x9202, "ApertureValue", N_("Aperture Value"), N_("The lens aperture."), ifd0Id, tiffEp, unsignedRational, 1, print0x9202), // TIFF/EP tag TagInfo(0x9203, "BrightnessValue", N_("Brightness Value"), N_("The value of brightness."), ifd0Id, tiffEp, signedRational, 1, printFloat), // TIFF/EP tag TagInfo(0x9204, "ExposureBiasValue", N_("Exposure Bias Value"), N_("The exposure bias."), ifd0Id, tiffEp, signedRational, 1, print0x9204), // TIFF/EP tag TagInfo(0x9205, "MaxApertureValue", N_("Max Aperture Value"), N_("The smallest F number of the lens."), ifd0Id, tiffEp, unsignedRational, 1, print0x9202), // TIFF/EP tag TagInfo(0x9206, "SubjectDistance", N_("Subject Distance"), N_("The distance to the subject, given in meters."), ifd0Id, tiffEp, signedRational, 1, print0x9206), // TIFF/EP tag TagInfo(0x9207, "MeteringMode", N_("Metering Mode"), N_("The metering mode."), ifd0Id, tiffEp, unsignedShort, 1, print0x9207), // TIFF/EP tag TagInfo(0x9208, "LightSource", N_("Light Source"), N_("The kind of light source."), ifd0Id, tiffEp, unsignedShort, 1, print0x9208), // TIFF/EP tag TagInfo(0x9209, "Flash", N_("Flash"), N_("Indicates the status of flash when the image was shot."), ifd0Id, tiffEp, unsignedShort, 1, EXV_PRINT_TAG(exifFlash)), // TIFF/EP tag TagInfo(0x920a, "FocalLength", N_("Focal Length"), N_("The actual focal length of the lens, in mm."), ifd0Id, tiffEp, unsignedRational, 1, print0x920a), // TIFF/EP tag TagInfo(0x920b, "FlashEnergy", N_("Flash Energy"), N_("Amount of flash energy (BCPS)."), ifd0Id, tiffEp, unsignedRational, 1, printValue), // TIFF/EP tag TagInfo(0x920c, "SpatialFrequencyResponse", N_("Spatial Frequency Response"), N_("SFR of the camera."), ifd0Id, tiffEp, undefined, 0, printValue), // TIFF/EP tag TagInfo(0x920d, "Noise", N_("Noise"), N_("Noise measurement values."), ifd0Id, tiffEp, undefined, 0, printValue), // TIFF/EP tag TagInfo(0x920e, "FocalPlaneXResolution", N_("Focal Plane X Resolution"), N_("Number of pixels per FocalPlaneResolutionUnit (37392) in ImageWidth direction for main image."), ifd0Id, tiffEp, unsignedRational, 1, printValue), // TIFF/EP tag TagInfo(0x920f, "FocalPlaneYResolution", N_("Focal Plane Y Resolution"), N_("Number of pixels per FocalPlaneResolutionUnit (37392) in ImageLength direction for main image."), ifd0Id, tiffEp, unsignedRational, 1, printValue), // TIFF/EP tag TagInfo(0x9210, "FocalPlaneResolutionUnit", N_("Focal Plane Resolution Unit"), N_("Unit of measurement for FocalPlaneXResolution(37390) and FocalPlaneYResolution(37391)."), ifd0Id, tiffEp, unsignedShort, 1, printValue), // TIFF/EP tag TagInfo(0x9211, "ImageNumber", N_("Image Number"), N_("Number assigned to an image, e.g., in a chained image burst."), ifd0Id, tiffEp, unsignedLong, 1, printValue), // TIFF/EP tag TagInfo(0x9212, "SecurityClassification", N_("Security Classification"), N_("Security classification assigned to the image."), ifd0Id, tiffEp, asciiString, 0, printValue), // TIFF/EP tag TagInfo(0x9213, "ImageHistory", N_("Image History"), N_("Record of what has been done to the image."), ifd0Id, tiffEp, asciiString, 0, printValue), // TIFF/EP tag TagInfo(0x9214, "SubjectLocation", N_("Subject Location"), N_("Indicates the location and area of the main subject in the overall scene."), ifd0Id, tiffEp, unsignedShort, 2, printValue), // TIFF/EP tag TagInfo(0x9215, "ExposureIndex", N_("Exposure Index"), N_("Encodes the camera exposure index setting when image was captured."), ifd0Id, tiffEp, unsignedRational, 1, printValue), // TIFF/EP tag TagInfo(0x9216, "TIFFEPStandardID", N_("TIFF/EP Standard ID"), N_("Contains four ASCII characters representing the TIFF/EP standard " "version of a TIFF/EP file, eg '1', '0', '0', '0'"), ifd0Id, tiffEp, unsignedByte, 4, printValue), // TIFF/EP Tag TagInfo(0x9217, "SensingMethod", N_("Sensing Method"), N_("Type of image sensor."), ifd0Id, tiffEp, unsignedShort, 1, printValue), // TIFF/EP tag TagInfo(0x9c9b, "XPTitle", N_("Windows Title"), N_("Title tag used by Windows, encoded in UCS2"), ifd0Id, otherTags, unsignedByte, -1, printUcs2), // Windows Tag TagInfo(0x9c9c, "XPComment", N_("Windows Comment"), N_("Comment tag used by Windows, encoded in UCS2"), ifd0Id, otherTags, unsignedByte, -1, printUcs2), // Windows Tag TagInfo(0x9c9d, "XPAuthor", N_("Windows Author"), N_("Author tag used by Windows, encoded in UCS2"), ifd0Id, otherTags, unsignedByte, -1, printUcs2), // Windows Tag TagInfo(0x9c9e, "XPKeywords", N_("Windows Keywords"), N_("Keywords tag used by Windows, encoded in UCS2"), ifd0Id, otherTags, unsignedByte, -1, printUcs2), // Windows Tag TagInfo(0x9c9f, "XPSubject", N_("Windows Subject"), N_("Subject tag used by Windows, encoded in UCS2"), ifd0Id, otherTags, unsignedByte, -1, printUcs2), // Windows Tag TagInfo(0xc4a5, "PrintImageMatching", N_("Print Image Matching"), N_("Print Image Matching, description needed."), ifd0Id, otherTags, undefined, -1, printValue), TagInfo(0xc612, "DNGVersion", N_("DNG version"), N_("This tag encodes the DNG four-tier version number. For files " "compliant with version 1.1.0.0 of the DNG specification, this " "tag should contain the bytes: 1, 1, 0, 0."), ifd0Id, dngTags, unsignedByte, 4, printValue), // DNG tag TagInfo(0xc613, "DNGBackwardVersion", N_("DNG backward version"), N_("This tag specifies the oldest version of the Digital Negative " "specification for which a file is compatible. Readers should" "not attempt to read a file if this tag specifies a version " "number that is higher than the version number of the specification " "the reader was based on. In addition to checking the version tags, " "readers should, for all tags, check the types, counts, and values, " "to verify it is able to correctly read the file."), ifd0Id, dngTags, unsignedByte, 4, printValue), // DNG tag TagInfo(0xc614, "UniqueCameraModel", N_("Unique Camera Model"), N_("Defines a unique, non-localized name for the camera model that " "created the image in the raw file. This name should include the " "manufacturer's name to avoid conflicts, and should not be localized, " "even if the camera name itself is localized for different markets " "(see LocalizedCameraModel). This string may be used by reader " "software to index into per-model preferences and replacement profiles."), ifd0Id, dngTags, asciiString, 0, printValue), // DNG tag TagInfo(0xc615, "LocalizedCameraModel", N_("Localized Camera Model"), N_("Similar to the UniqueCameraModel field, except the name can be " "localized for different markets to match the localization of the " "camera name."), ifd0Id, dngTags, unsignedByte, 0, printValue), // DNG tag TagInfo(0xc616, "CFAPlaneColor", N_("CFA Plane Color"), N_("Provides a mapping between the values in the CFAPattern tag and the " "plane numbers in LinearRaw space. This is a required tag for non-RGB " "CFA images."), ifd0Id, dngTags, unsignedByte, -1, printValue), // DNG tag TagInfo(0xc617, "CFALayout", N_("CFA Layout"), N_("Describes the spatial layout of the CFA."), ifd0Id, dngTags, unsignedShort, 1, EXV_PRINT_TAG(exifCfaLayout)), // DNG tag TagInfo(0xc618, "LinearizationTable", N_("Linearization Table"), N_("Describes a lookup table that maps stored values into linear values. " "This tag is typically used to increase compression ratios by storing " "the raw data in a non-linear, more visually uniform space with fewer " "total encoding levels. If SamplesPerPixel is not equal to one, this " "single table applies to all the samples for each pixel."), ifd0Id, dngTags, unsignedShort, -1, printValue), // DNG tag TagInfo(0xc619, "BlackLevelRepeatDim", N_("Black Level Repeat Dim"), N_("Specifies repeat pattern size for the BlackLevel tag."), ifd0Id, dngTags, unsignedShort, 2, printValue), // DNG tag TagInfo(0xc61a, "BlackLevel", N_("Black Level"), N_("Specifies the zero light (a.k.a. thermal black or black current) " "encoding level, as a repeating pattern. The origin of this pattern " "is the top-left corner of the ActiveArea rectangle. The values are " "stored in row-column-sample scan order."), ifd0Id, dngTags, unsignedRational, -1, printValue), // DNG tag TagInfo(0xc61b, "BlackLevelDeltaH", N_("Black Level Delta H"), N_("If the zero light encoding level is a function of the image column, " "BlackLevelDeltaH specifies the difference between the zero light " "encoding level for each column and the baseline zero light encoding " "level. If SamplesPerPixel is not equal to one, this single table " "applies to all the samples for each pixel."), ifd0Id, dngTags, signedRational, -1, printValue), // DNG tag TagInfo(0xc61c, "BlackLevelDeltaV", N_("Black Level Delta V"), N_("If the zero light encoding level is a function of the image row, " "this tag specifies the difference between the zero light encoding " "level for each row and the baseline zero light encoding level. If " "SamplesPerPixel is not equal to one, this single table applies to " "all the samples for each pixel."), ifd0Id, dngTags, signedRational, -1, printValue), // DNG tag TagInfo(0xc61d, "WhiteLevel", N_("White Level"), N_("This tag specifies the fully saturated encoding level for the raw " "sample values. Saturation is caused either by the sensor itself " "becoming highly non-linear in response, or by the camera's analog " "to digital converter clipping."), ifd0Id, dngTags, unsignedShort, -1, printValue), // DNG tag TagInfo(0xc61e, "DefaultScale", N_("Default Scale"), N_("DefaultScale is required for cameras with non-square pixels. It " "specifies the default scale factors for each direction to convert " "the image to square pixels. Typically these factors are selected " "to approximately preserve total pixel count. For CFA images that " "use CFALayout equal to 2, 3, 4, or 5, such as the Fujifilm SuperCCD, " "these two values should usually differ by a factor of 2.0."), ifd0Id, dngTags, unsignedRational, 2, printValue), // DNG tag TagInfo(0xc61f, "DefaultCropOrigin", N_("Default Crop Origin"), N_("Raw images often store extra pixels around the edges of the final " "image. These extra pixels help prevent interpolation artifacts near " "the edges of the final image. DefaultCropOrigin specifies the origin " "of the final image area, in raw image coordinates (i.e., before the " "DefaultScale has been applied), relative to the top-left corner of " "the ActiveArea rectangle."), ifd0Id, dngTags, unsignedShort, 2, printValue), // DNG tag TagInfo(0xc620, "DefaultCropSize", N_("Default Crop Size"), N_("Raw images often store extra pixels around the edges of the final " "image. These extra pixels help prevent interpolation artifacts near " "the edges of the final image. DefaultCropSize specifies the size of " "the final image area, in raw image coordinates (i.e., before the " "DefaultScale has been applied)."), ifd0Id, dngTags, unsignedShort, 2, printValue), // DNG tag TagInfo(0xc621, "ColorMatrix1", N_("Color Matrix 1"), N_("ColorMatrix1 defines a transformation matrix that converts XYZ " "values to reference camera native color space values, under the " "first calibration illuminant. The matrix values are stored in row " "scan order. The ColorMatrix1 tag is required for all non-monochrome " "DNG files."), ifd0Id, dngTags, signedRational, -1, printValue), // DNG tag TagInfo(0xc622, "ColorMatrix2", N_("Color Matrix 2"), N_("ColorMatrix2 defines a transformation matrix that converts XYZ " "values to reference camera native color space values, under the " "second calibration illuminant. The matrix values are stored in row " "scan order."), ifd0Id, dngTags, signedRational, -1, printValue), // DNG tag TagInfo(0xc623, "CameraCalibration1", N_("Camera Calibration 1"), N_("CameraCalibration1 defines a calibration matrix that transforms " "reference camera native space values to individual camera native " "space values under the first calibration illuminant. The matrix is " "stored in row scan order. This matrix is stored separately from the " "matrix specified by the ColorMatrix1 tag to allow raw converters to " "swap in replacement color matrices based on UniqueCameraModel tag, " "while still taking advantage of any per-individual camera calibration " "performed by the camera manufacturer."), ifd0Id, dngTags, signedRational, -1, printValue), // DNG tag TagInfo(0xc624, "CameraCalibration2", N_("Camera Calibration 2"), N_("CameraCalibration2 defines a calibration matrix that transforms " "reference camera native space values to individual camera native " "space values under the second calibration illuminant. The matrix is " "stored in row scan order. This matrix is stored separately from the " "matrix specified by the ColorMatrix2 tag to allow raw converters to " "swap in replacement color matrices based on UniqueCameraModel tag, " "while still taking advantage of any per-individual camera calibration " "performed by the camera manufacturer."), ifd0Id, dngTags, signedRational, -1, printValue), // DNG tag TagInfo(0xc625, "ReductionMatrix1", N_("Reduction Matrix 1"), N_("ReductionMatrix1 defines a dimensionality reduction matrix for use as " "the first stage in converting color camera native space values to XYZ " "values, under the first calibration illuminant. This tag may only be " "used if ColorPlanes is greater than 3. The matrix is stored in row " "scan order."), ifd0Id, dngTags, signedRational, -1, printValue), // DNG tag TagInfo(0xc626, "ReductionMatrix2", N_("Reduction Matrix 2"), N_("ReductionMatrix2 defines a dimensionality reduction matrix for use as " "the first stage in converting color camera native space values to XYZ " "values, under the second calibration illuminant. This tag may only be " "used if ColorPlanes is greater than 3. The matrix is stored in row " "scan order."), ifd0Id, dngTags, signedRational, -1, printValue), // DNG tag TagInfo(0xc627, "AnalogBalance", N_("Analog Balance"), N_("Normally the stored raw values are not white balanced, since any " "digital white balancing will reduce the dynamic range of the final " "image if the user decides to later adjust the white balance; " "however, if camera hardware is capable of white balancing the color " "channels before the signal is digitized, it can improve the dynamic " "range of the final image. AnalogBalance defines the gain, either " "analog (recommended) or digital (not recommended) that has been " "applied the stored raw values."), ifd0Id, dngTags, unsignedRational, -1, printValue), // DNG tag TagInfo(0xc628, "AsShotNeutral", N_("As Shot Neutral"), N_("Specifies the selected white balance at time of capture, encoded as " "the coordinates of a perfectly neutral color in linear reference " "space values. The inclusion of this tag precludes the inclusion of " "the AsShotWhiteXY tag."), ifd0Id, dngTags, unsignedShort, -1, printValue), // DNG tag TagInfo(0xc629, "AsShotWhiteXY", N_("As Shot White XY"), N_("Specifies the selected white balance at time of capture, encoded as " "x-y chromaticity coordinates. The inclusion of this tag precludes " "the inclusion of the AsShotNeutral tag."), ifd0Id, dngTags, unsignedRational, 2, printValue), // DNG tag TagInfo(0xc62a, "BaselineExposure", N_("Baseline Exposure"), N_("Camera models vary in the trade-off they make between highlight " "headroom and shadow noise. Some leave a significant amount of " "highlight headroom during a normal exposure. This allows significant " "negative exposure compensation to be applied during raw conversion, " "but also means normal exposures will contain more shadow noise. Other " "models leave less headroom during normal exposures. This allows for " "less negative exposure compensation, but results in lower shadow " "noise for normal exposures. Because of these differences, a raw " "converter needs to vary the zero point of its exposure compensation " "control from model to model. BaselineExposure specifies by how much " "(in EV units) to move the zero point. Positive values result in " "brighter default results, while negative values result in darker " "default results."), ifd0Id, dngTags, signedRational, 1, printValue), // DNG tag TagInfo(0xc62b, "BaselineNoise", N_("Baseline Noise"), N_("Specifies the relative noise level of the camera model at a baseline " "ISO value of 100, compared to a reference camera model. Since noise " "levels tend to vary approximately with the square root of the ISO " "value, a raw converter can use this value, combined with the current " "ISO, to estimate the relative noise level of the current image."), ifd0Id, dngTags, unsignedRational, 1, printValue), // DNG tag TagInfo(0xc62c, "BaselineSharpness", N_("Baseline Sharpness"), N_("Specifies the relative amount of sharpening required for this camera " "model, compared to a reference camera model. Camera models vary in " "the strengths of their anti-aliasing filters. Cameras with weak or " "no filters require less sharpening than cameras with strong " "anti-aliasing filters."), ifd0Id, dngTags, unsignedRational, 1, printValue), // DNG tag TagInfo(0xc62d, "BayerGreenSplit", N_("Bayer Green Split"), N_("Only applies to CFA images using a Bayer pattern filter array. This " "tag specifies, in arbitrary units, how closely the values of the " "green pixels in the blue/green rows track the values of the green " "pixels in the red/green rows. A value of zero means the two kinds " "of green pixels track closely, while a non-zero value means they " "sometimes diverge. The useful range for this tag is from 0 (no " "divergence) to about 5000 (quite large divergence)."), ifd0Id, dngTags, unsignedLong, 1, printValue), // DNG tag TagInfo(0xc62e, "LinearResponseLimit", N_("Linear Response Limit"), N_("Some sensors have an unpredictable non-linearity in their response " "as they near the upper limit of their encoding range. This " "non-linearity results in color shifts in the highlight areas of the " "resulting image unless the raw converter compensates for this effect. " "LinearResponseLimit specifies the fraction of the encoding range " "above which the response may become significantly non-linear."), ifd0Id, dngTags, unsignedRational, 1, printValue), // DNG tag TagInfo(0xc62f, "CameraSerialNumber", N_("Camera Serial Number"), N_("CameraSerialNumber contains the serial number of the camera or camera " "body that captured the image."), ifd0Id, dngTags, asciiString, 0, printValue), // DNG tag TagInfo(0xc630, "LensInfo", N_("Lens Info"), N_("Contains information about the lens that captured the image. If the " "minimum f-stops are unknown, they should be encoded as 0/0."), ifd0Id, dngTags, unsignedRational, 4, printValue), // DNG tag TagInfo(0xc631, "ChromaBlurRadius", N_("Chroma Blur Radius"), N_("ChromaBlurRadius provides a hint to the DNG reader about how much " "chroma blur should be applied to the image. If this tag is omitted, " "the reader will use its default amount of chroma blurring. " "Normally this tag is only included for non-CFA images, since the " "amount of chroma blur required for mosaic images is highly dependent " "on the de-mosaic algorithm, in which case the DNG reader's default " "value is likely optimized for its particular de-mosaic algorithm."), ifd0Id, dngTags, unsignedRational, 1, printValue), // DNG tag TagInfo(0xc632, "AntiAliasStrength", N_("Anti Alias Strength"), N_("Provides a hint to the DNG reader about how strong the camera's " "anti-alias filter is. A value of 0.0 means no anti-alias filter " "(i.e., the camera is prone to aliasing artifacts with some subjects), " "while a value of 1.0 means a strong anti-alias filter (i.e., the " "camera almost never has aliasing artifacts)."), ifd0Id, dngTags, unsignedRational, 1, printValue), // DNG tag TagInfo(0xc633, "ShadowScale", N_("Shadow Scale"), N_("This tag is used by Adobe Camera Raw to control the sensitivity of " "its 'Shadows' slider."), ifd0Id, dngTags, signedRational, 1, printValue), // DNG tag TagInfo(0xc634, "DNGPrivateData", N_("DNG Private Data"), N_("Provides a way for camera manufacturers to store private data in the " "DNG file for use by their own raw converters, and to have that data " "preserved by programs that edit DNG files."), ifd0Id, dngTags, unsignedByte, -1, printValue), // DNG tag TagInfo(0xc635, "MakerNoteSafety", N_("MakerNote Safety"), N_("MakerNoteSafety lets the DNG reader know whether the EXIF MakerNote " "tag is safe to preserve along with the rest of the EXIF data. File " "browsers and other image management software processing an image " "with a preserved MakerNote should be aware that any thumbnail " "image embedded in the MakerNote may be stale, and may not reflect " "the current state of the full size image."), ifd0Id, dngTags, unsignedShort, 1, printValue), // DNG tag TagInfo(0xc65a, "CalibrationIlluminant1", N_("Calibration Illuminant 1"), N_("The illuminant used for the first set of color calibration tags " "(ColorMatrix1, CameraCalibration1, ReductionMatrix1). The legal " "values for this tag are the same as the legal values for the " "LightSource EXIF tag."), ifd0Id, dngTags, unsignedShort, 1, printValue), // DNG tag TagInfo(0xc65b, "CalibrationIlluminant2", N_("Calibration Illuminant 2"), N_("The illuminant used for an optional second set of color calibration " "tags (ColorMatrix2, CameraCalibration2, ReductionMatrix2). The legal " "values for this tag are the same as the legal values for the " "CalibrationIlluminant1 tag; however, if both are included, neither " "is allowed to have a value of 0 (unknown)."), ifd0Id, dngTags, unsignedShort, 1, printValue), // DNG tag TagInfo(0xc65c, "BestQualityScale", N_("Best Quality Scale"), N_("For some cameras, the best possible image quality is not achieved " "by preserving the total pixel count during conversion. For example, " "Fujifilm SuperCCD images have maximum detail when their total pixel " "count is doubled. This tag specifies the amount by which the values " "of the DefaultScale tag need to be multiplied to achieve the best " "quality image size."), ifd0Id, dngTags, unsignedRational, 1, printValue), // DNG tag TagInfo(0xc65d, "RawDataUniqueID", N_("Raw Data Unique ID"), N_("This tag contains a 16-byte unique identifier for the raw image data " "in the DNG file. DNG readers can use this tag to recognize a " "particular raw image, even if the file's name or the metadata " "contained in the file has been changed. If a DNG writer creates such " "an identifier, it should do so using an algorithm that will ensure " "that it is very unlikely two different images will end up having the " "same identifier."), ifd0Id, dngTags, unsignedByte, 16, printValue), // DNG tag TagInfo(0xc68b, "OriginalRawFileName", N_("Original Raw File Name"), N_("If the DNG file was converted from a non-DNG raw file, then this tag " "contains the file name of that original raw file."), ifd0Id, dngTags, unsignedByte, 0, printValue), // DNG tag TagInfo(0xc68c, "OriginalRawFileData", N_("Original Raw File Data"), N_("If the DNG file was converted from a non-DNG raw file, then this tag " "contains the compressed contents of that original raw file. The " "contents of this tag always use the big-endian byte order. The tag " "contains a sequence of data blocks. Future versions of the DNG " "specification may define additional data blocks, so DNG readers " "should ignore extra bytes when parsing this tag. DNG readers should " "also detect the case where data blocks are missing from the end of " "the sequence, and should assume a default value for all the missing " "blocks. There are no padding or alignment bytes between data blocks."), ifd0Id, dngTags, undefined, -1, printValue), // DNG tag TagInfo(0xc68d, "ActiveArea", N_("Active Area"), N_("This rectangle defines the active (non-masked) pixels of the sensor. " "The order of the rectangle coordinates is: top, left, bottom, right."), ifd0Id, dngTags, unsignedShort, 4, printValue), // DNG tag TagInfo(0xc68e, "MaskedAreas", N_("Masked Areas"), N_("This tag contains a list of non-overlapping rectangle coordinates of " "fully masked pixels, which can be optionally used by DNG readers " "to measure the black encoding level. The order of each rectangle's " "coordinates is: top, left, bottom, right. If the raw image data has " "already had its black encoding level subtracted, then this tag should " "not be used, since the masked pixels are no longer useful."), ifd0Id, dngTags, unsignedShort, -1, printValue), // DNG tag TagInfo(0xc68f, "AsShotICCProfile", N_("As-Shot ICC Profile"), N_("This tag contains an ICC profile that, in conjunction with the " "AsShotPreProfileMatrix tag, provides the camera manufacturer with a " "way to specify a default color rendering from camera color space " "coordinates (linear reference values) into the ICC profile connection " "space. The ICC profile connection space is an output referred " "colorimetric space, whereas the other color calibration tags in DNG " "specify a conversion into a scene referred colorimetric space. This " "means that the rendering in this profile should include any desired " "tone and gamut mapping needed to convert between scene referred " "values and output referred values."), ifd0Id, dngTags, undefined, -1, printValue), // DNG tag TagInfo(0xc690, "AsShotPreProfileMatrix", N_("As-Shot Pre-Profile Matrix"), N_("This tag is used in conjunction with the AsShotICCProfile tag. It " "specifies a matrix that should be applied to the camera color space " "coordinates before processing the values through the ICC profile " "specified in the AsShotICCProfile tag. The matrix is stored in the " "row scan order. If ColorPlanes is greater than three, then this " "matrix can (but is not required to) reduce the dimensionality of the " "color data down to three components, in which case the AsShotICCProfile " "should have three rather than ColorPlanes input components."), ifd0Id, dngTags, signedRational, -1, printValue), // DNG tag TagInfo(0xc691, "CurrentICCProfile", N_("Current ICC Profile"), N_("This tag is used in conjunction with the CurrentPreProfileMatrix tag. " "The CurrentICCProfile and CurrentPreProfileMatrix tags have the same " "purpose and usage as the AsShotICCProfile and AsShotPreProfileMatrix " "tag pair, except they are for use by raw file editors rather than " "camera manufacturers."), ifd0Id, dngTags, undefined, -1, printValue), // DNG tag TagInfo(0xc692, "CurrentPreProfileMatrix", N_("Current Pre-Profile Matrix"), N_("This tag is used in conjunction with the CurrentICCProfile tag. " "The CurrentICCProfile and CurrentPreProfileMatrix tags have the same " "purpose and usage as the AsShotICCProfile and AsShotPreProfileMatrix " "tag pair, except they are for use by raw file editors rather than " "camera manufacturers."), ifd0Id, dngTags, signedRational, -1, printValue), // DNG tag TagInfo(0xc6bf, "ColorimetricReference", N_("Colorimetric Reference"), N_("The DNG color model documents a transform between camera colors and " "CIE XYZ values. This tag describes the colorimetric reference for the " "CIE XYZ values. 0 = The XYZ values are scene-referred. 1 = The XYZ values " "are output-referred, using the ICC profile perceptual dynamic range. This " "tag allows output-referred data to be stored in DNG files and still processed " "correctly by DNG readers."), ifd0Id, dngTags, unsignedShort, 0, printValue), // DNG tag TagInfo(0xc6f3, "CameraCalibrationSignature", N_("Camera Calibration Signature"), N_("A UTF-8 encoded string associated with the CameraCalibration1 and " "CameraCalibration2 tags. The CameraCalibration1 and CameraCalibration2 tags " "should only be used in the DNG color transform if the string stored in the " "CameraCalibrationSignature tag exactly matches the string stored in the " "ProfileCalibrationSignature tag for the selected camera profile."), ifd0Id, dngTags, unsignedByte, 0, printValue), // DNG tag TagInfo(0xc6f4, "ProfileCalibrationSignature", N_("Profile Calibration Signature"), N_("A UTF-8 encoded string associated with the camera profile tags. The " "CameraCalibration1 and CameraCalibration2 tags should only be used in the " "DNG color transfer if the string stored in the CameraCalibrationSignature " "tag exactly matches the string stored in the ProfileCalibrationSignature tag " "for the selected camera profile."), ifd0Id, dngTags, unsignedByte, 0, printValue), // DNG tag TagInfo(0xc6f6, "AsShotProfileName", N_("As Shot Profile Name"), N_("A UTF-8 encoded string containing the name of the \"as shot\" camera " "profile, if any."), ifd0Id, dngTags, unsignedByte, 0, printValue), // DNG tag TagInfo(0xc6f7, "NoiseReductionApplied", N_("Noise Reduction Applied"), N_("This tag indicates how much noise reduction has been applied to the raw " "data on a scale of 0.0 to 1.0. A 0.0 value indicates that no noise reduction " "has been applied. A 1.0 value indicates that the \"ideal\" amount of noise " "reduction has been applied, i.e. that the DNG reader should not apply " "additional noise reduction by default. A value of 0/0 indicates that this " "parameter is unknown."), ifd0Id, dngTags, unsignedRational, 1, printValue), // DNG tag TagInfo(0xc6f8, "ProfileName", N_("Profile Name"), N_("A UTF-8 encoded string containing the name of the camera profile. This " "tag is optional if there is only a single camera profile stored in the file " "but is required for all camera profiles if there is more than one camera " "profile stored in the file."), ifd0Id, dngTags, unsignedByte, 0, printValue), // DNG tag TagInfo(0xc6f9, "ProfileHueSatMapDims", N_("Profile Hue Sat Map Dims"), N_("This tag specifies the number of input samples in each dimension of the " "hue/saturation/value mapping tables. The data for these tables are stored " "in ProfileHueSatMapData1 and ProfileHueSatMapData2 tags. The most common " "case has ValueDivisions equal to 1, so only hue and saturation are used as " "inputs to the mapping table."), ifd0Id, dngTags, unsignedLong, 3, printValue), // DNG tag TagInfo(0xc6fa, "ProfileHueSatMapData1", N_("Profile Hue Sat Map Data 1"), N_("This tag contains the data for the first hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0."), ifd0Id, dngTags, tiffFloat, 0, printValue), // DNG tag TagInfo(0xc6fb, "ProfileHueSatMapData2", N_("Profile Hue Sat Map Data 2"), N_("This tag contains the data for the second hue/saturation/value mapping " "table. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees; the second entry is a " "saturation scale factor; and the third entry is a value scale factor. The " "table entries are stored in the tag in nested loop order, with the value " "divisions in the outer loop, the hue divisions in the middle loop, and the " "saturation divisions in the inner loop. All zero input saturation entries " "are required to have a value scale factor of 1.0."), ifd0Id, dngTags, tiffFloat, 0, printValue), // DNG tag TagInfo(0xc6fc, "ProfileToneCurve", N_("Profile Tone Curve"), N_("This tag contains a default tone curve that can be applied while " "processing the image as a starting point for user adjustments. The curve " "is specified as a list of 32-bit IEEE floating-point value pairs in linear " "gamma. Each sample has an input value in the range of 0.0 to 1.0, and an " "output value in the range of 0.0 to 1.0. The first sample is required to be " "(0.0, 0.0), and the last sample is required to be (1.0, 1.0). Interpolated " "the curve using a cubic spline."), ifd0Id, dngTags, tiffFloat, -1, printValue), // DNG tag TagInfo(0xc6fd, "ProfileEmbedPolicy", N_("Profile Embed Policy"), N_("This tag contains information about the usage rules for the associated " "camera profile."), ifd0Id, dngTags, unsignedLong, 1, printValue), // DNG tag TagInfo(0xc6fe, "ProfileCopyright", N_("Profile Copyright"), N_("A UTF-8 encoded string containing the copyright information for the " "camera profile. This string always should be preserved along with the other " "camera profile tags."), ifd0Id, dngTags, unsignedByte, 0, printValue), // DNG tag TagInfo(0xc714, "ForwardMatrix1", N_("Forward Matrix 1"), N_("This tag defines a matrix that maps white balanced camera colors to XYZ " "D50 colors."), ifd0Id, dngTags, signedRational, -1, printValue), // DNG tag TagInfo(0xc715, "ForwardMatrix2", N_("Forward Matrix 2"), N_("This tag defines a matrix that maps white balanced camera colors to XYZ " "D50 colors."), ifd0Id, dngTags, signedRational, -1, printValue), // DNG tag TagInfo(0xc716, "PreviewApplicationName", N_("Preview Application Name"), N_("A UTF-8 encoded string containing the name of the application that " "created the preview stored in the IFD."), ifd0Id, dngTags, unsignedByte, 0, printValue), // DNG tag TagInfo(0xc717, "PreviewApplicationVersion", N_("Preview Application Version"), N_("A UTF-8 encoded string containing the version number of the application " "that created the preview stored in the IFD."), ifd0Id, dngTags, unsignedByte, 0, printValue), // DNG tag TagInfo(0xc718, "PreviewSettingsName", N_("Preview Settings Name"), N_("A UTF-8 encoded string containing the name of the conversion settings " "(for example, snapshot name) used for the preview stored in the IFD."), ifd0Id, dngTags, unsignedByte, 0, printValue), // DNG tag TagInfo(0xc719, "PreviewSettingsDigest", N_("Preview Settings Digest"), N_("A unique ID of the conversion settings (for example, MD5 digest) used " "to render the preview stored in the IFD."), ifd0Id, dngTags, unsignedByte, 16, printValue), // DNG tag TagInfo(0xc71a, "PreviewColorSpace", N_("Preview Color Space"), N_("This tag specifies the color space in which the rendered preview in this " "IFD is stored. The default value for this tag is sRGB for color previews " "and Gray Gamma 2.2 for monochrome previews."), ifd0Id, dngTags, unsignedLong, 1, printValue), // DNG tag TagInfo(0xc71b, "PreviewDateTime", N_("Preview Date Time"), N_("This tag is an ASCII string containing the name of the date/time at which " "the preview stored in the IFD was rendered. The date/time is encoded using " "ISO 8601 format."), ifd0Id, dngTags, asciiString, 0, printValue), // DNG tag TagInfo(0xc71c, "RawImageDigest", N_("Raw Image Digest"), N_("This tag is an MD5 digest of the raw image data. All pixels in the image " "are processed in row-scan order. Each pixel is zero padded to 16 or 32 bits " "deep (16-bit for data less than or equal to 16 bits deep, 32-bit otherwise). " "The data for each pixel is processed in little-endian byte order."), ifd0Id, dngTags, undefined, 16, printValue), // DNG tag TagInfo(0xc71d, "OriginalRawFileDigest", N_("Original Raw File Digest"), N_("This tag is an MD5 digest of the data stored in the OriginalRawFileData " "tag."), ifd0Id, dngTags, undefined, 16, printValue), // DNG tag TagInfo(0xc71e, "SubTileBlockSize", N_("Sub Tile Block Size"), N_("Normally, the pixels within a tile are stored in simple row-scan order. " "This tag specifies that the pixels within a tile should be grouped first " "into rectangular blocks of the specified size. These blocks are stored in " "row-scan order. Within each block, the pixels are stored in row-scan order. " "The use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0."), ifd0Id, dngTags, unsignedLong, 2, printValue), // DNG tag TagInfo(0xc71f, "RowInterleaveFactor", N_("Row Interleave Factor"), N_("This tag specifies that rows of the image are stored in interleaved " "order. The value of the tag specifies the number of interleaved fields. " "The use of a non-default value for this tag requires setting the " "DNGBackwardVersion tag to at least 1.2.0.0."), ifd0Id, dngTags, unsignedLong, 1, printValue), // DNG tag TagInfo(0xc725, "ProfileLookTableDims", N_("Profile Look Table Dims"), N_("This tag specifies the number of input samples in each dimension of a " "default \"look\" table. The data for this table is stored in the " "ProfileLookTableData tag."), ifd0Id, dngTags, unsignedLong, 3, printValue), // DNG tag TagInfo(0xc726, "ProfileLookTableData", N_("Profile Look Table Data"), N_("This tag contains a default \"look\" table that can be applied while " "processing the image as a starting point for user adjustment. This table " "uses the same format as the tables stored in the ProfileHueSatMapData1 " "and ProfileHueSatMapData2 tags, and is applied in the same color space. " "However, it should be applied later in the processing pipe, after any " "exposure compensation and/or fill light stages, but before any tone curve " "stage. Each entry of the table contains three 32-bit IEEE floating-point " "values. The first entry is hue shift in degrees, the second entry is a " "saturation scale factor, and the third entry is a value scale factor. " "The table entries are stored in the tag in nested loop order, with the " "value divisions in the outer loop, the hue divisions in the middle loop, " "and the saturation divisions in the inner loop. All zero input saturation " "entries are required to have a value scale factor of 1.0."), ifd0Id, dngTags, tiffFloat, -1, printValue), // DNG tag TagInfo(0xc740, "OpcodeList1", N_("Opcode List 1"), N_("Specifies the list of opcodes that should be applied to the raw image, " "as read directly from the file."), ifd0Id, dngTags, undefined, -1, printValue), // DNG tag TagInfo(0xc741, "OpcodeList2", N_("Opcode List 2"), N_("Specifies the list of opcodes that should be applied to the raw image, " "just after it has been mapped to linear reference values."), ifd0Id, dngTags, undefined, -1, printValue), // DNG tag TagInfo(0xc74e, "OpcodeList3", N_("Opcode List 3"), N_("Specifies the list of opcodes that should be applied to the raw image, " "just after it has been demosaiced."), ifd0Id, dngTags, undefined, -1, printValue), // DNG tag TagInfo(0xc761, "NoiseProfile", N_("Noise Profile"), N_("NoiseProfile describes the amount of noise in a raw image. Specifically, " "this tag models the amount of signal-dependent photon (shot) noise and " "signal-independent sensor readout noise, two common sources of noise in " "raw images. The model assumes that the noise is white and spatially " "independent, ignoring fixed pattern effects and other sources of noise (e.g., " "pixel response non-uniformity, spatially-dependent thermal effects, etc.)."), ifd0Id, dngTags, tiffDouble, -1, printValue), // DNG tag // End of list marker TagInfo(0xffff, "(UnknownIfdTag)", N_("Unknown IFD tag"), N_("Unknown IFD tag"), ifd0Id, sectionIdNotSet, asciiString, -1, printValue) }; const TagInfo* ifdTagList() { return ifdTagInfo; } //! ExposureProgram, tag 0x8822 extern const TagDetails exifExposureProgram[] = { { 0, N_("Not defined") }, { 1, N_("Manual") }, { 2, N_("Auto") }, { 3, N_("Aperture priority") }, { 4, N_("Shutter priority") }, { 5, N_("Creative program") }, { 6, N_("Action program") }, { 7, N_("Portrait mode") }, { 8, N_("Landscape mode") } }; //! MeteringMode, tag 0x9207 extern const TagDetails exifMeteringMode[] = { { 0, N_("Unknown") }, { 1, N_("Average") }, { 2, N_("Center weighted average") }, { 3, N_("Spot") }, { 4, N_("Multi-spot") }, { 5, N_("Multi-segment") }, { 6, N_("Partial") }, { 255, N_("Other") }, { 255, N_("Other") } // To silence compiler warning }; //! LightSource, tag 0x9208 extern const TagDetails exifLightSource[] = { { 0, N_("Unknown") }, { 1, N_("Daylight") }, { 2, N_("Fluorescent") }, { 3, N_("Tungsten (incandescent light)") }, { 4, N_("Flash") }, { 9, N_("Fine weather") }, { 10, N_("Cloudy weather") }, { 11, N_("Shade") }, { 12, N_("Daylight fluorescent (D 5700 - 7100K)") }, { 13, N_("Day white fluorescent (N 4600 - 5400K)") }, { 14, N_("Cool white fluorescent (W 3900 - 4500K)") }, { 15, N_("White fluorescent (WW 3200 - 3700K)") }, { 17, N_("Standard light A") }, { 18, N_("Standard light B") }, { 19, N_("Standard light C") }, { 20, N_("D55") }, { 21, N_("D65") }, { 22, N_("D75") }, { 23, N_("D50") }, { 24, N_("ISO studio tungsten") }, { 255, N_("Other light source") } }; //! ColorSpace, tag 0xa001 extern const TagDetails exifColorSpace[] = { { 1, N_("sRGB") }, { 2, N_("Adobe RGB") }, // Not defined to Exif 2.2 spec. But used by a lot of cameras. { 0xffff, N_("Uncalibrated") } }; //! SensingMethod, tag 0xa217 extern const TagDetails exifSensingMethod[] = { { 1, N_("Not defined") }, { 2, N_("One-chip color area") }, { 3, N_("Two-chip color area") }, { 4, N_("Three-chip color area") }, { 5, N_("Color sequential area") }, { 7, N_("Trilinear sensor") }, { 8, N_("Color sequential linear") } }; //! FileSource, tag 0xa300 extern const TagDetails exifFileSource[] = { { 1, N_("Film scanner") }, // Not defined to Exif 2.2 spec. { 2, N_("Reflexion print scanner") }, // but used by some scanner device softwares. { 3, N_("Digital still camera") } }; //! SceneType, tag 0xa301 extern const TagDetails exifSceneType[] = { { 1, N_("Directly photographed") } }; //! CustomRendered, tag 0xa401 extern const TagDetails exifCustomRendered[] = { { 0, N_("Normal process") }, { 1, N_("Custom process") } }; //! ExposureMode, tag 0xa402 extern const TagDetails exifExposureMode[] = { { 0, N_("Auto") }, { 1, N_("Manual") }, { 2, N_("Auto bracket") } }; //! WhiteBalance, tag 0xa403 extern const TagDetails exifWhiteBalance[] = { { 0, N_("Auto") }, { 1, N_("Manual") } }; //! SceneCaptureType, tag 0xa406 extern const TagDetails exifSceneCaptureType[] = { { 0, N_("Standard") }, { 1, N_("Landscape") }, { 2, N_("Portrait") }, { 3, N_("Night scene") }, { 3, N_("Night scene") } // To silence compiler warning }; //! GainControl, tag 0xa407 extern const TagDetails exifGainControl[] = { { 0, N_("None") }, { 1, N_("Low gain up") }, { 2, N_("High gain up") }, { 3, N_("Low gain down") }, { 4, N_("High gain down") } }; //! Contrast, tag 0xa408 and Sharpness, tag 0xa40a extern const TagDetails exifNormalSoftHard[] = { { 0, N_("Normal") }, { 1, N_("Soft") }, { 2, N_("Hard") } }; //! Saturation, tag 0xa409 extern const TagDetails exifSaturation[] = { { 0, N_("Normal") }, { 1, N_("Low") }, { 2, N_("High") } }; //! SubjectDistanceRange, tag 0xa40c extern const TagDetails exifSubjectDistanceRange[] = { { 0, N_("Unknown") }, { 1, N_("Macro") }, { 2, N_("Close view") }, { 3, N_("Distant view") }, { 3, N_("Distant view") } // To silence compiler warning }; // Exif IFD Tags static const TagInfo exifTagInfo[] = { TagInfo(0x829a, "ExposureTime", N_("Exposure Time"), N_("Exposure time, given in seconds (sec)."), exifId, captureCond, unsignedRational, 1, print0x829a), TagInfo(0x829d, "FNumber", N_("FNumber"), N_("The F number."), exifId, captureCond, unsignedRational, 1, print0x829d), TagInfo(0x8822, "ExposureProgram", N_("Exposure Program"), N_("The class of the program used by the camera to set exposure " "when the picture is taken."), exifId, captureCond, unsignedShort, 1, print0x8822), TagInfo(0x8824, "SpectralSensitivity", N_("Spectral Sensitivity"), N_("Indicates the spectral sensitivity of each channel of the " "camera used. The tag value is an ASCII string compatible " "with the standard developed by the ASTM Technical Committee."), exifId, captureCond, asciiString, 0, printValue), TagInfo(0x8827, "ISOSpeedRatings", N_("ISO Speed Ratings"), N_("Indicates the ISO Speed and ISO Latitude of the camera or " "input device as specified in ISO 12232."), exifId, captureCond, unsignedShort, 0, print0x8827), TagInfo(0x8828, "OECF", N_("Opto-Electoric Conversion Function"), N_("Indicates the Opto-Electoric Conversion Function (OECF) " "specified in ISO 14524. is the relationship between " "the camera optical input and the image values."), exifId, captureCond, undefined, 0, printValue), TagInfo(0x8830, "SensitivityType", N_("Sensitivity Type"), N_("The SensitivityType tag indicates which one of the parameters of " "ISO12232 is the PhotographicSensitivity tag. Although it is an optional tag, " "it should be recorded when a PhotographicSensitivity tag is recorded. " "Value = 4, 5, 6, or 7 may be used in case that the values of plural " "parameters are the same."), exifId, captureCond, unsignedShort, 1, printValue), TagInfo(0x8831, "StandardOutputSensitivity", N_("Standard Output Sensitivity"), N_("This tag indicates the standard output sensitivity value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded."), exifId, captureCond, unsignedLong, 1, printValue), TagInfo(0x8832, "RecommendedExposureIndex", N_("Recommended Exposure Index"), N_("This tag indicates the recommended exposure index value of a camera or " "input device defined in ISO 12232. When recording this tag, the " "PhotographicSensitivity and SensitivityType tags shall also be recorded."), exifId, captureCond, unsignedLong, 1, printValue), TagInfo(0x8833, "ISOSpeed", N_("ISO Speed"), N_("This tag indicates the ISO speed value of a camera or input device that " "is defined in ISO 12232. When recording this tag, the PhotographicSensitivity " "and SensitivityType tags shall also be recorded."), exifId, captureCond, unsignedLong, 1, printValue), TagInfo(0x8834, "ISOSpeedLatitudeyyy", N_("ISO Speed Latitude yyy"), N_("This tag indicates the ISO speed latitude yyy value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudezzz."), exifId, captureCond, unsignedLong, 1, printValue), TagInfo(0x8835, "ISOSpeedLatitudezzz", N_("ISO Speed Latitude zzz"), N_("This tag indicates the ISO speed latitude zzz value of a camera or input " "device that is defined in ISO 12232. However, this tag shall not be recorded " "without ISOSpeed and ISOSpeedLatitudeyyy."), exifId, captureCond, unsignedLong, 1, printValue), TagInfo(0x9000, "ExifVersion", N_("Exif Version"), N_("The version of this standard supported. Nonexistence of this " "field is taken to mean nonconformance to the standard."), exifId, exifVersion, undefined, 4, printExifVersion), TagInfo(0x9003, "DateTimeOriginal", N_("Date and Time (original)"), N_("The date and time when the original image data was generated. " "For a digital still camera the date and time the picture was taken are recorded."), exifId, dateTime, asciiString, 20, printValue), TagInfo(0x9004, "DateTimeDigitized", N_("Date and Time (digitized)"), N_("The date and time when the image was stored as digital data."), exifId, dateTime, asciiString, 20, printValue), TagInfo(0x9101, "ComponentsConfiguration", N_("Components Configuration"), N_("Information specific to compressed data. The channels of " "each component are arranged in order from the 1st " "component to the 4th. For uncompressed data the data " "arrangement is given in the tag. " "However, since can only " "express the order of Y, Cb and Cr, this tag is provided " "for cases when compressed data uses components other than " "Y, Cb, and Cr and to enable support of other sequences."), exifId, imgConfig, undefined, 4, print0x9101), TagInfo(0x9102, "CompressedBitsPerPixel", N_("Compressed Bits per Pixel"), N_("Information specific to compressed data. The compression mode " "used for a compressed image is indicated in unit bits per pixel."), exifId, imgConfig, unsignedRational, 1, printFloat), TagInfo(0x9201, "ShutterSpeedValue", N_("Shutter speed"), N_("Shutter speed. The unit is the APEX (Additive System of " "Photographic Exposure) setting."), exifId, captureCond, signedRational, 1, print0x9201), TagInfo(0x9202, "ApertureValue", N_("Aperture"), N_("The lens aperture. The unit is the APEX value."), exifId, captureCond, unsignedRational, 1, print0x9202), TagInfo(0x9203, "BrightnessValue", N_("Brightness"), N_("The value of brightness. The unit is the APEX value. " "Ordinarily it is given in the range of -99.99 to 99.99."), exifId, captureCond, signedRational, 1, printFloat), TagInfo(0x9204, "ExposureBiasValue", N_("Exposure Bias"), N_("The exposure bias. The units is the APEX value. Ordinarily " "it is given in the range of -99.99 to 99.99."), exifId, captureCond, signedRational, 1, print0x9204), TagInfo(0x9205, "MaxApertureValue", N_("Max Aperture Value"), N_("The smallest F number of the lens. The unit is the APEX value. " "Ordinarily it is given in the range of 00.00 to 99.99, " "but it is not limited to this range."), exifId, captureCond, unsignedRational, 1, print0x9202), TagInfo(0x9206, "SubjectDistance", N_("Subject Distance"), N_("The distance to the subject, given in meters."), exifId, captureCond, unsignedRational, 1, print0x9206), TagInfo(0x9207, "MeteringMode", N_("Metering Mode"), N_("The metering mode."), exifId, captureCond, unsignedShort, 1, print0x9207), TagInfo(0x9208, "LightSource", N_("Light Source"), N_("The kind of light source."), exifId, captureCond, unsignedShort, 1, print0x9208), TagInfo(0x9209, "Flash", N_("Flash"), N_("This tag is recorded when an image is taken using a strobe light (flash)."), exifId, captureCond, unsignedShort, 1, EXV_PRINT_TAG(exifFlash)), TagInfo(0x920a, "FocalLength", N_("Focal Length"), N_("The actual focal length of the lens, in mm. Conversion is not " "made to the focal length of a 35 mm film camera."), exifId, captureCond, unsignedRational, 1, print0x920a), TagInfo(0x9214, "SubjectArea", N_("Subject Area"), N_("This tag indicates the location and area of the main subject " "in the overall scene."), exifId, captureCond, unsignedShort, -1, printValue), TagInfo(0x927c, "MakerNote", N_("Maker Note"), N_("A tag for manufacturers of Exif writers to record any desired " "information. The contents are up to the manufacturer."), exifId, userInfo, undefined, 0, printValue), TagInfo(0x9286, "UserComment", N_("User Comment"), N_("A tag for Exif users to write keywords or comments on the image " "besides those in , and without the " "character code limitations of the tag."), exifId, userInfo, comment, 0, print0x9286), TagInfo(0x9290, "SubSecTime", N_("Sub-seconds Time"), N_("A tag used to record fractions of seconds for the tag."), exifId, dateTime, asciiString, 0, printValue), TagInfo(0x9291, "SubSecTimeOriginal", N_("Sub-seconds Time Original"), N_("A tag used to record fractions of seconds for the tag."), exifId, dateTime, asciiString, 0, printValue), TagInfo(0x9292, "SubSecTimeDigitized", N_("Sub-seconds Time Digitized"), N_("A tag used to record fractions of seconds for the tag."), exifId, dateTime, asciiString, 0, printValue), TagInfo(0xa000, "FlashpixVersion", N_("FlashPix Version"), N_("The FlashPix format version supported by a FPXR file."), exifId, exifVersion, undefined, 4, printExifVersion), TagInfo(0xa001, "ColorSpace", N_("Color Space"), N_("The color space information tag is always " "recorded as the color space specifier. Normally sRGB " "is used to define the color space based on the PC monitor " "conditions and environment. If a color space other than " "sRGB is used, Uncalibrated is set. Image data " "recorded as Uncalibrated can be treated as sRGB when it is " "converted to FlashPix."), exifId, imgCharacter, unsignedShort, 1, print0xa001), TagInfo(0xa002, "PixelXDimension", N_("Pixel X Dimension"), N_("Information specific to compressed data. When a " "compressed file is recorded, the valid width of the " "meaningful image must be recorded in this tag, whether or " "not there is padding data or a restart marker. This tag " "should not exist in an uncompressed file."), exifId, imgConfig, unsignedLong, 1, printValue), TagInfo(0xa003, "PixelYDimension", N_("Pixel Y Dimension"), N_("Information specific to compressed data. When a compressed " "file is recorded, the valid height of the meaningful image " "must be recorded in this tag, whether or not there is padding " "data or a restart marker. This tag should not exist in an " "uncompressed file. Since data padding is unnecessary in the vertical " "direction, the number of lines recorded in this valid image height tag " "will in fact be the same as that recorded in the SOF."), exifId, imgConfig, unsignedLong, 1, printValue), TagInfo(0xa004, "RelatedSoundFile", N_("Related Sound File"), N_("This tag is used to record the name of an audio file related " "to the image data. The only relational information " "recorded here is the Exif audio file name and extension (an " "ASCII string consisting of 8 characters + '.' + 3 " "characters). The path is not recorded."), exifId, relatedFile, asciiString, 13, printValue), TagInfo(0xa005, "InteroperabilityTag", N_("Interoperability IFD Pointer"), N_("Interoperability IFD is composed of tags which stores the " "information to ensure the Interoperability and pointed " "by the following tag located in Exif IFD. " "The Interoperability structure of Interoperability IFD is " "the same as TIFF defined IFD structure but does not contain the " "image data characteristically compared with normal TIFF IFD."), exifId, exifFormat, unsignedLong, 1, printValue), TagInfo(0xa20b, "FlashEnergy", N_("Flash Energy"), N_("Indicates the strobe energy at the time the image is " "captured, as measured in Beam Candle Power Seconds (BCPS)."), exifId, captureCond, unsignedRational, 1, printValue), TagInfo(0xa20c, "SpatialFrequencyResponse", N_("Spatial Frequency Response"), N_("This tag records the camera or input device spatial frequency " "table and SFR values in the direction of image width, " "image height, and diagonal direction, as specified in ISO 12233."), exifId, captureCond, undefined, 0, printValue), TagInfo(0xa20e, "FocalPlaneXResolution", N_("Focal Plane X-Resolution"), N_("Indicates the number of pixels in the image width (X) direction " "per on the camera focal plane."), exifId, captureCond, unsignedRational, 1, printFloat), TagInfo(0xa20f, "FocalPlaneYResolution", N_("Focal Plane Y-Resolution"), N_("Indicates the number of pixels in the image height (V) direction " "per on the camera focal plane."), exifId, captureCond, unsignedRational, 1, printFloat), TagInfo(0xa210, "FocalPlaneResolutionUnit", N_("Focal Plane Resolution Unit"), N_("Indicates the unit for measuring and " ". This value is the same as the ."), exifId, captureCond, unsignedShort, 1, printExifUnit), TagInfo(0xa214, "SubjectLocation", N_("Subject Location"), N_("Indicates the location of the main subject in the scene. The " "value of this tag represents the pixel at the center of the " "main subject relative to the left edge, prior to rotation " "processing as per the tag. The first value " "indicates the X column number and second indicates the Y row number."), exifId, captureCond, unsignedShort, 2, printValue), TagInfo(0xa215, "ExposureIndex", N_("Exposure index"), N_("Indicates the exposure index selected on the camera or " "input device at the time the image is captured."), exifId, captureCond, unsignedRational, 1, printValue), TagInfo(0xa217, "SensingMethod", N_("Sensing Method"), N_("Indicates the image sensor type on the camera or input device."), exifId, captureCond, unsignedShort, 1, print0xa217), TagInfo(0xa300, "FileSource", N_("File Source"), N_("Indicates the image source. If a DSC recorded the image, " "this tag value of this tag always be set to 3, indicating " "that the image was recorded on a DSC."), exifId, captureCond, undefined, 1, print0xa300), TagInfo(0xa301, "SceneType", N_("Scene Type"), N_("Indicates the type of scene. If a DSC recorded the image, " "this tag value must always be set to 1, indicating that the " "image was directly photographed."), exifId, captureCond, undefined, 1, print0xa301), TagInfo(0xa302, "CFAPattern", N_("Color Filter Array Pattern"), N_("Indicates the color filter array (CFA) geometric pattern of the " "image sensor when a one-chip color area sensor is used. " "It does not apply to all sensing methods."), exifId, captureCond, undefined, 0, printValue), TagInfo(0xa401, "CustomRendered", N_("Custom Rendered"), N_("This tag indicates the use of special processing on image " "data, such as rendering geared to output. When special " "processing is performed, the reader is expected to disable " "or minimize any further processing."), exifId, captureCond, unsignedShort, 1, print0xa401), TagInfo(0xa402, "ExposureMode", N_("Exposure Mode"), N_("This tag indicates the exposure mode set when the image was " "shot. In auto-bracketing mode, the camera shoots a series of " "frames of the same scene at different exposure settings."), exifId, captureCond, unsignedShort, 1, print0xa402), TagInfo(0xa403, "WhiteBalance", N_("White Balance"), N_("This tag indicates the white balance mode set when the image was shot."), exifId, captureCond, unsignedShort, 1, print0xa403), TagInfo(0xa404, "DigitalZoomRatio", N_("Digital Zoom Ratio"), N_("This tag indicates the digital zoom ratio when the image was " "shot. If the numerator of the recorded value is 0, this " "indicates that digital zoom was not used."), exifId, captureCond, unsignedRational, 1, print0xa404), TagInfo(0xa405, "FocalLengthIn35mmFilm", N_("Focal Length In 35mm Film"), N_("This tag indicates the equivalent focal length assuming a " "35mm film camera, in mm. A value of 0 means the focal " "length is unknown. Note that this tag differs from the " " tag."), exifId, captureCond, unsignedShort, 1, print0xa405), TagInfo(0xa406, "SceneCaptureType", N_("Scene Capture Type"), N_("This tag indicates the type of scene that was shot. It can " "also be used to record the mode in which the image was " "shot. Note that this differs from the tag."), exifId, captureCond, unsignedShort, 1, print0xa406), TagInfo(0xa407, "GainControl", N_("Gain Control"), N_("This tag indicates the degree of overall image gain adjustment."), exifId, captureCond, unsignedShort, 1, print0xa407), TagInfo(0xa408, "Contrast", N_("Contrast"), N_("This tag indicates the direction of contrast processing " "applied by the camera when the image was shot."), exifId, captureCond, unsignedShort, 1, printNormalSoftHard), TagInfo(0xa409, "Saturation", N_("Saturation"), N_("This tag indicates the direction of saturation processing " "applied by the camera when the image was shot."), exifId, captureCond, unsignedShort, 1, print0xa409), TagInfo(0xa40a, "Sharpness", N_("Sharpness"), N_("This tag indicates the direction of sharpness processing " "applied by the camera when the image was shot."), exifId, captureCond, unsignedShort, 1, printNormalSoftHard), TagInfo(0xa40b, "DeviceSettingDescription", N_("Device Setting Description"), N_("This tag indicates information on the picture-taking " "conditions of a particular camera model. The tag is used " "only to indicate the picture-taking conditions in the reader."), exifId, captureCond, undefined, 0, printValue), TagInfo(0xa40c, "SubjectDistanceRange", N_("Subject Distance Range"), N_("This tag indicates the distance to the subject."), exifId, captureCond, unsignedShort, 1, print0xa40c), TagInfo(0xa420, "ImageUniqueID", N_("Image Unique ID"), N_("This tag indicates an identifier assigned uniquely to " "each image. It is recorded as an ASCII string equivalent " "to hexadecimal notation and 128-bit fixed length."), exifId, otherTags, asciiString, 33, printValue), TagInfo(0xa430, "CameraOwnerName", N_("Camera Owner Name"), N_("This tag records the owner of a camera used in " "photography as an ASCII string."), exifId, otherTags, asciiString, 0, printValue), TagInfo(0xa431, "BodySerialNumber", N_("Body Serial Number"), N_("This tag records the serial number of the body of the camera " "that was used in photography as an ASCII string."), exifId, otherTags, asciiString, 0, printValue), TagInfo(0xa432, "LensSpecification", N_("Lens Specification"), N_("This tag notes minimum focal length, maximum focal length, " "minimum F number in the minimum focal length, and minimum F number " "in the maximum focal length, which are specification information " "for the lens that was used in photography. When the minimum F " "number is unknown, the notation is 0/0"), exifId, otherTags, unsignedRational, 4, printValue), TagInfo(0xa433, "LensMake", N_("Lens Make"), N_("This tag records the lens manufactor as an ASCII string."), exifId, otherTags, asciiString, 0, printValue), TagInfo(0xa434, "LensModel", N_("Lens Model"), N_("This tag records the lens's model name and model number as an " "ASCII string."), exifId, otherTags, asciiString, 0, printValue), TagInfo(0xa435, "LensSerialNumber", N_("Lens Serial Number"), N_("This tag records the serial number of the interchangeable lens " "that was used in photography as an ASCII string."), exifId, otherTags, asciiString, 0, printValue), // End of list marker TagInfo(0xffff, "(UnknownExifTag)", N_("Unknown Exif tag"), N_("Unknown Exif tag"), exifId, sectionIdNotSet, asciiString, -1, printValue) }; const TagInfo* exifTagList() { return exifTagInfo; } //! GPS latitude reference, tag 0x0001; also GPSDestLatitudeRef, tag 0x0013 extern const TagDetails exifGPSLatitudeRef[] = { { 78, N_("North") }, { 83, N_("South") } }; //! GPS longitude reference, tag 0x0003; also GPSDestLongitudeRef, tag 0x0015 extern const TagDetails exifGPSLongitudeRef[] = { { 69, N_("East") }, { 87, N_("West") } }; //! GPS altitude reference, tag 0x0005 extern const TagDetails exifGPSAltitudeRef[] = { { 0, N_("Above sea level") }, { 1, N_("Below sea level") } }; //! GPS status, tag 0x0009 extern const TagDetails exifGPSStatus[] = { { 'A', N_("Measurement in progress") }, { 'V', N_("Measurement Interoperability") } }; //! GPS measurement mode, tag 0x000a extern const TagDetails exifGPSMeasureMode[] = { { '2', N_("Two-dimensional measurement") }, { '3', N_("Three-dimensional measurement") } }; //! GPS speed reference, tag 0x000c extern const TagDetails exifGPSSpeedRef[] = { { 'K', N_("km/h") }, { 'M', N_("mph") }, { 'N', N_("knots") } }; //! GPS direction ref, tags 0x000e, 0x0010, 0x0017 extern const TagDetails exifGPSDirRef[] = { { 'T', N_("True direction") }, { 'M', N_("Magnetic direction") } }; //! GPS Destination distance ref, tag 0x0019 extern const TagDetails exifGPSDestDistanceRef[] = { { 'K', N_("Kilometers") }, { 'M', N_("Miles") }, { 'N', N_("Knots") } }; //! GPS Differential, tag 0x001e extern const TagDetails exifGPSDifferential[] = { { 0, N_("Without correction") }, { 1, N_("Correction applied") } }; // GPS Info Tags static const TagInfo gpsTagInfo[] = { TagInfo(0x0000, "GPSVersionID", N_("GPS Version ID"), N_("Indicates the version of . The version is given " "as 2.0.0.0. This tag is mandatory when tag is " "present. (Note: The tag is given in bytes, " "unlike the tag. When the version is " "2.0.0.0, the tag value is 02000000.H)."), gpsId, gpsTags, unsignedByte, 4, print0x0000), TagInfo(0x0001, "GPSLatitudeRef", N_("GPS Latitude Reference"), N_("Indicates whether the latitude is north or south latitude. The " "ASCII value 'N' indicates north latitude, and 'S' is south latitude."), gpsId, gpsTags, asciiString, 2, EXV_PRINT_TAG(exifGPSLatitudeRef)), TagInfo(0x0002, "GPSLatitude", N_("GPS Latitude"), N_("Indicates the latitude. The latitude is expressed as three " "RATIONAL values giving the degrees, minutes, and seconds, " "respectively. When degrees, minutes and seconds are expressed, " "the format is dd/1,mm/1,ss/1. When degrees and minutes are used " "and, for example, fractions of minutes are given up to two " "decimal places, the format is dd/1,mmmm/100,0/1."), gpsId, gpsTags, unsignedRational, 3, printDegrees), TagInfo(0x0003, "GPSLongitudeRef", N_("GPS Longitude Reference"), N_("Indicates whether the longitude is east or west longitude. " "ASCII 'E' indicates east longitude, and 'W' is west longitude."), gpsId, gpsTags, asciiString, 2, EXV_PRINT_TAG(exifGPSLongitudeRef)), TagInfo(0x0004, "GPSLongitude", N_("GPS Longitude"), N_("Indicates the longitude. The longitude is expressed as three " "RATIONAL values giving the degrees, minutes, and seconds, " "respectively. When degrees, minutes and seconds are expressed, " "the format is ddd/1,mm/1,ss/1. When degrees and minutes are " "used and, for example, fractions of minutes are given up to " "two decimal places, the format is ddd/1,mmmm/100,0/1."), gpsId, gpsTags, unsignedRational, 3, printDegrees), TagInfo(0x0005, "GPSAltitudeRef", N_("GPS Altitude Reference"), N_("Indicates the altitude used as the reference altitude. If the " "reference is sea level and the altitude is above sea level, 0 " "is given. If the altitude is below sea level, a value of 1 is given " "and the altitude is indicated as an absolute value in the " "GSPAltitude tag. The reference unit is meters. Note that this tag " "is BYTE type, unlike other reference tags."), gpsId, gpsTags, unsignedByte, 1, print0x0005), TagInfo(0x0006, "GPSAltitude", N_("GPS Altitude"), N_("Indicates the altitude based on the reference in GPSAltitudeRef. " "Altitude is expressed as one RATIONAL value. The reference unit is meters."), gpsId, gpsTags, unsignedRational, 1, print0x0006), TagInfo(0x0007, "GPSTimeStamp", N_("GPS Time Stamp"), N_("Indicates the time as UTC (Coordinated Universal Time). " " is expressed as three RATIONAL values " "giving the hour, minute, and second (atomic clock)."), gpsId, gpsTags, unsignedRational, 3, print0x0007), TagInfo(0x0008, "GPSSatellites", N_("GPS Satellites"), N_("Indicates the GPS satellites used for measurements. This tag can be used " "to describe the number of satellites, their ID number, angle of elevation, " "azimuth, SNR and other information in ASCII notation. The format is not " "specified. If the GPS receiver is incapable of taking measurements, value " "of the tag is set to NULL."), gpsId, gpsTags, asciiString, 0, printValue), TagInfo(0x0009, "GPSStatus", N_("GPS Status"), N_("Indicates the status of the GPS receiver when the image is recorded. " "\"A\" means measurement is in progress, and \"V\" means the measurement " "is Interoperability."), gpsId, gpsTags, asciiString, 2, print0x0009), TagInfo(0x000a, "GPSMeasureMode", N_("GPS Measure Mode"), N_("Indicates the GPS measurement mode. \"2\" means two-dimensional measurement and \"3\" " "means three-dimensional measurement is in progress."), gpsId, gpsTags, asciiString, 2, print0x000a), TagInfo(0x000b, "GPSDOP", N_("GPS Data Degree of Precision"), N_("Indicates the GPS DOP (data degree of precision). An HDOP value is written " "during two-dimensional measurement, and PDOP during three-dimensional measurement."), gpsId, gpsTags, unsignedRational, 1, printValue), TagInfo(0x000c, "GPSSpeedRef", N_("GPS Speed Reference"), N_("Indicates the unit used to express the GPS receiver speed of movement. " "\"K\" \"M\" and \"N\" represents kilometers per hour, miles per hour, and knots."), gpsId, gpsTags, asciiString, 2, print0x000c), TagInfo(0x000d, "GPSSpeed", N_("GPS Speed"), N_("Indicates the speed of GPS receiver movement."), gpsId, gpsTags, unsignedRational, 1, printValue), TagInfo(0x000e, "GPSTrackRef", N_("GPS Track Ref"), N_("Indicates the reference for giving the direction of GPS receiver movement. " "\"T\" denotes true direction and \"M\" is magnetic direction."), gpsId, gpsTags, asciiString, 2, printGPSDirRef), TagInfo(0x000f, "GPSTrack", N_("GPS Track"), N_("Indicates the direction of GPS receiver movement. The range of values is " "from 0.00 to 359.99."), gpsId, gpsTags, unsignedRational, 1, printValue), TagInfo(0x0010, "GPSImgDirectionRef", N_("GPS Image Direction Reference"), N_("Indicates the reference for giving the direction of the image when it is captured. " "\"T\" denotes true direction and \"M\" is magnetic direction."), gpsId, gpsTags, asciiString, 2, printGPSDirRef), TagInfo(0x0011, "GPSImgDirection", N_("GPS Image Direction"), N_("Indicates the direction of the image when it was captured. The range of values " "is from 0.00 to 359.99."), gpsId, gpsTags, unsignedRational, 1, printValue), TagInfo(0x0012, "GPSMapDatum", N_("GPS Map Datum"), N_("Indicates the geodetic survey data used by the GPS receiver. If the survey data " "is restricted to Japan, the value of this tag is \"TOKYO\" or \"WGS-84\"."), gpsId, gpsTags, asciiString, 0, printValue), TagInfo(0x0013, "GPSDestLatitudeRef", N_("GPS Destination Latitude Reference"), N_("Indicates whether the latitude of the destination point is north or south latitude. " "The ASCII value \"N\" indicates north latitude, and \"S\" is south latitude."), gpsId, gpsTags, asciiString, 2, EXV_PRINT_TAG(exifGPSLatitudeRef)), TagInfo(0x0014, "GPSDestLatitude", N_("GPS Destination Latitude"), N_("Indicates the latitude of the destination point. The latitude is expressed as " "three RATIONAL values giving the degrees, minutes, and seconds, respectively. " "If latitude is expressed as degrees, minutes and seconds, a typical format would " "be dd/1,mm/1,ss/1. When degrees and minutes are used and, for example, " "fractions of minutes are given up to two decimal places, the format would be " "dd/1,mmmm/100,0/1."), gpsId, gpsTags, unsignedRational, 3, printDegrees), TagInfo(0x0015, "GPSDestLongitudeRef", N_("GPS Destination Longitude Reference"), N_("Indicates whether the longitude of the destination point is east or west longitude. " "ASCII \"E\" indicates east longitude, and \"W\" is west longitude."), gpsId, gpsTags, asciiString, 2, EXV_PRINT_TAG(exifGPSLongitudeRef)), TagInfo(0x0016, "GPSDestLongitude", N_("GPS Destination Longitude"), N_("Indicates the longitude of the destination point. The longitude is expressed " "as three RATIONAL values giving the degrees, minutes, and seconds, respectively. " "If longitude is expressed as degrees, minutes and seconds, a typical format would be " "ddd/1,mm/1,ss/1. When degrees and minutes are used and, for example, fractions of " "minutes are given up to two decimal places, the format would be ddd/1,mmmm/100,0/1."), gpsId, gpsTags, unsignedRational, 3, printDegrees), TagInfo(0x0017, "GPSDestBearingRef", N_("GPS Destination Bearing Reference"), N_("Indicates the reference used for giving the bearing to the destination point. " "\"T\" denotes true direction and \"M\" is magnetic direction."), gpsId, gpsTags, asciiString, 2, printGPSDirRef), TagInfo(0x0018, "GPSDestBearing", N_("GPS Destination Bearing"), N_("Indicates the bearing to the destination point. The range of values is from " "0.00 to 359.99."), gpsId, gpsTags, unsignedRational, 1, printValue), TagInfo(0x0019, "GPSDestDistanceRef", N_("GPS Destination Distance Reference"), N_("Indicates the unit used to express the distance to the destination point. " "\"K\", \"M\" and \"N\" represent kilometers, miles and knots."), gpsId, gpsTags, asciiString, 2, print0x0019), TagInfo(0x001a, "GPSDestDistance", N_("GPS Destination Distance"), N_("Indicates the distance to the destination point."), gpsId, gpsTags, unsignedRational, 1, printValue), TagInfo(0x001b, "GPSProcessingMethod", N_("GPS Processing Method"), N_("A character string recording the name of the method used for location finding. " "The first byte indicates the character code used, and this is followed by the name " "of the method."), gpsId, gpsTags, undefined, 0, printValue), TagInfo(0x001c, "GPSAreaInformation", N_("GPS Area Information"), N_("A character string recording the name of the GPS area. The first byte indicates " "the character code used, and this is followed by the name of the GPS area."), gpsId, gpsTags, undefined, 0, printValue), TagInfo(0x001d, "GPSDateStamp", N_("GPS Date Stamp"), N_("A character string recording date and time information relative to UTC " "(Coordinated Universal Time). The format is \"YYYY:MM:DD.\"."), gpsId, gpsTags, asciiString, 11, printValue), TagInfo(0x001e, "GPSDifferential", N_("GPS Differential"), N_("Indicates whether differential correction is applied to the GPS receiver."), gpsId, gpsTags, unsignedShort, 1, print0x001e), // End of list marker TagInfo(0xffff, "(UnknownGpsTag)", N_("Unknown GPSInfo tag"), N_("Unknown GPSInfo tag"), gpsId, gpsTags, asciiString, -1, printValue) }; const TagInfo* gpsTagList() { return gpsTagInfo; } // Exif Interoperability IFD Tags static const TagInfo iopTagInfo[] = { TagInfo(0x0001, "InteroperabilityIndex", N_("Interoperability Index"), N_("Indicates the identification of the Interoperability rule. " "Use \"R98\" for stating ExifR98 Rules. Four bytes used " "including the termination code (NULL). see the separate " "volume of Recommended Exif Interoperability Rules (ExifR98) " "for other tags used for ExifR98."), iopId, iopTags, asciiString, 0, printValue), TagInfo(0x0002, "InteroperabilityVersion", N_("Interoperability Version"), N_("Interoperability version"), iopId, iopTags, undefined, -1, printExifVersion), TagInfo(0x1000, "RelatedImageFileFormat", N_("Related Image File Format"), N_("File format of image file"), iopId, iopTags, asciiString, 0, printValue), TagInfo(0x1001, "RelatedImageWidth", N_("Related Image Width"), N_("Image width"), iopId, iopTags, unsignedLong, 1, printValue), TagInfo(0x1002, "RelatedImageLength", N_("Related Image Length"), N_("Image height"), iopId, iopTags, unsignedLong, 1, printValue), // End of list marker TagInfo(0xffff, "(UnknownIopTag)", N_("Unknown Exif Interoperability tag"), N_("Unknown Exif Interoperability tag"), iopId, iopTags, asciiString, -1, printValue) }; const TagInfo* iopTagList() { return iopTagInfo; } // Synthesized Exiv2 Makernote info Tags (read-only) static const TagInfo mnTagInfo[] = { TagInfo(0x0001, "Offset", N_("Offset"), N_("Offset of the makernote from the start of the TIFF header."), mnId, makerTags, unsignedLong, 1, printValue), TagInfo(0x0002, "ByteOrder", N_("Byte Order"), N_("Byte order used to encode MakerNote tags, 'MM' (big-endian) or 'II' (little-endian)."), mnId, makerTags, asciiString, 0, printValue), // End of list marker TagInfo(0xffff, "(UnknownMnTag)", N_("Unknown Exiv2 Makernote info tag"), N_("Unknown Exiv2 Makernote info tag"), mnId, makerTags, asciiString, -1, printValue) }; const TagInfo* mnTagList() { return mnTagInfo; } // Unknown Tag static const TagInfo unknownTag(0xffff, "Unknown tag", N_("Unknown tag"), N_("Unknown tag"), ifdIdNotSet, sectionIdNotSet, asciiString, -1, printValue); std::ostream& printValue(std::ostream& os, const Value& value, const ExifData*) { return os << value; } IfdId groupId(const std::string& groupName) { IfdId ifdId = ifdIdNotSet; const GroupInfo* ii = find(groupInfo, GroupInfo::GroupName(groupName)); if (ii != 0) ifdId = static_cast(ii->ifdId_); return ifdId; } const char* ifdName(IfdId ifdId) { const GroupInfo* ii = find(groupInfo, ifdId); if (ii == 0) return groupInfo[0].ifdName_; return ii->ifdName_; } // ifdName const char* groupName(IfdId ifdId) { const GroupInfo* ii = find(groupInfo, ifdId); if (ii == 0) return groupInfo[0].groupName_; return ii->groupName_; } // groupName bool isMakerIfd(IfdId ifdId) { bool rc = false; const GroupInfo* ii = find(groupInfo, ifdId); if (ii != 0 && 0 == strcmp(ii->ifdName_, "Makernote")) { rc = true; } return rc; } // isMakerIfd bool isExifIfd(IfdId ifdId) { bool rc; switch (ifdId) { case ifd0Id: case exifId: case gpsId: case iopId: case ifd1Id: case ifd2Id: case ifd3Id: case subImage1Id: case subImage2Id: case subImage3Id: case subImage4Id: case subImage5Id: case subImage6Id: case subImage7Id: case subImage8Id: case subImage9Id: case subThumb1Id: case panaRawId: rc = true; break; default: rc = false; break; } return rc; } // isExifIfd void taglist(std::ostream& os, IfdId ifdId) { const TagInfo* ti = Internal::tagList(ifdId); if (ti != 0) { for (int k = 0; ti[k].tag_ != 0xffff; ++k) { os << ti[k] << "\n"; } } } // taglist const TagInfo* tagList(IfdId ifdId) { const GroupInfo* ii = find(groupInfo, ifdId); if (ii == 0 || ii->tagList_ == 0) return 0; return ii->tagList_(); } // tagList const TagInfo* tagInfo(uint16_t tag, IfdId ifdId) { const TagInfo* ti = tagList(ifdId); if (ti == 0) return 0; int idx = 0; for (idx = 0; ti[idx].tag_ != 0xffff; ++idx) { if (ti[idx].tag_ == tag) break; } return &ti[idx]; } // tagInfo const TagInfo* tagInfo(const std::string& tagName, IfdId ifdId) { const TagInfo* ti = tagList(ifdId); if (ti == 0) return 0; const char* tn = tagName.c_str(); if (tn == 0) return 0; for (int idx = 0; ti[idx].tag_ != 0xffff; ++idx) { if (0 == strcmp(ti[idx].name_, tn)) { return &ti[idx]; } } return 0; } // tagInfo uint16_t tagNumber(const std::string& tagName, IfdId ifdId) { const TagInfo* ti = tagInfo(tagName, ifdId); if (ti != 0 && ti->tag_ != 0xffff) return ti->tag_; if (!isHex(tagName, 4, "0x")) throw Error(7, tagName, ifdId); std::istringstream is(tagName); uint16_t tag; is >> std::hex >> tag; return tag; } // tagNumber std::ostream& printLong(std::ostream& os, const Value& value, const ExifData*) { Rational r = value.toRational(); if (r.second != 0) return os << static_cast(r.first) / r.second; return os << "(" << value << ")"; } // printLong std::ostream& printFloat(std::ostream& os, const Value& value, const ExifData*) { Rational r = value.toRational(); if (r.second != 0) return os << static_cast(r.first) / r.second; return os << "(" << value << ")"; } // printFloat std::ostream& printDegrees(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if (value.count() == 3) { std::ostringstream oss; oss.copyfmt(os); static const char* unit[] = { "deg", "'", "\"" }; static const int prec[] = { 7, 5, 3 }; int n; for (n = 2; n > 0; --n) { if (value.toRational(n).first != 0) break; } for (int i = 0; i < n + 1; ++i) { const int32_t z = value.toRational(i).first; const int32_t d = value.toRational(i).second; if (d == 0) { os << "(" << value << ")"; os.flags(f); return os; } // Hack: Need Value::toDouble double b = static_cast(z)/d; const int p = z % d == 0 ? 0 : prec[i]; os << std::fixed << std::setprecision(p) << b << unit[i] << " "; } os.copyfmt(oss); } else { os << value; } os.flags(f); return os; } // printDegrees std::ostream& printUcs2(std::ostream& os, const Value& value, const ExifData*) { bool cnv = false; if (value.typeId() == unsignedByte && value.size() > 0) { DataBuf buf(value.size()); value.copy(buf.pData_, invalidByteOrder); // Strip trailing UCS-2 0-character, if there is one if (buf.pData_[buf.size_ - 1] == 0 && buf.pData_[buf.size_ - 2] == 0) buf.size_ -= 2; std::string str((const char*)buf.pData_, buf.size_); cnv = convertStringCharset(str, "UCS-2LE", "UTF-8"); if (cnv) os << str; } if (!cnv) os << value; return os; } // printUcs2 std::ostream& printExifUnit(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifUnit)(os, value, metadata); } std::ostream& print0x0000(std::ostream& os, const Value& value, const ExifData*) { if (value.size() != 4 || value.typeId() != unsignedByte) { return os << value; } for (int i = 0; i < 3; i++) { os << value.toLong(i); os << "."; } os << value.toLong(3); return os; } std::ostream& print0x0005(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifGPSAltitudeRef)(os, value, metadata); } std::ostream& print0x0006(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); std::ostringstream oss; oss.copyfmt(os); const int32_t d = value.toRational().second; if (d == 0) return os << "(" << value << ")"; const int p = d > 1 ? 1 : 0; os << std::fixed << std::setprecision(p) << value.toFloat() << " m"; os.copyfmt(oss); os.flags(f); return os; } std::ostream& print0x0007(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if (value.count() == 3) { for (int i = 0; i < 3; ++i) { if (value.toRational(i).second == 0) { return os << "(" << value << ")"; } } std::ostringstream oss; oss.copyfmt(os); const float sec = 3600 * value.toFloat(0) + 60 * value.toFloat(1) + value.toFloat(2); int p = 0; if (sec != static_cast(sec)) p = 1; const int hh = static_cast(sec / 3600); const int mm = static_cast((sec - 3600 * hh) / 60); const float ss = sec - 3600 * hh - 60 * mm; os << std::setw(2) << std::setfill('0') << std::right << hh << ":" << std::setw(2) << std::setfill('0') << std::right << mm << ":" << std::setw(2 + p * 2) << std::setfill('0') << std::right << std::fixed << std::setprecision(p) << ss; os.copyfmt(oss); } else { os << value; } os.flags(f); return os; } std::ostream& print0x0009(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifGPSStatus)(os, value, metadata); } std::ostream& print0x000a(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifGPSMeasureMode)(os, value, metadata); } std::ostream& print0x000c(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifGPSSpeedRef)(os, value, metadata); } std::ostream& print0x0019(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifGPSDestDistanceRef)(os, value, metadata); } std::ostream& print0x001e(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifGPSDifferential)(os, value, metadata); } std::ostream& print0x0112(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifOrientation)(os, value, metadata); } std::ostream& print0x0213(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifYCbCrPositioning)(os, value, metadata); } std::ostream& print0x8298(std::ostream& os, const Value& value, const ExifData*) { // Print the copyright information in the format Photographer, Editor std::string val = value.toString(); std::string::size_type pos = val.find('\0'); if (pos != std::string::npos) { std::string photographer(val, 0, pos); if (photographer != " ") os << photographer; std::string editor(val, pos + 1); if (editor != "") { if (photographer != " ") os << ", "; os << editor; } } else { os << val; } return os; } std::ostream& print0x829a(std::ostream& os, const Value& value, const ExifData*) { Rational t = value.toRational(); if (t.first > 1 && t.second > 1 && t.second >= t.first) { t.second = static_cast( static_cast(t.second) / t.first + 0.5); t.first = 1; } if (t.second > 1 && t.second < t.first) { t.first = static_cast( static_cast(t.first) / t.second + 0.5); t.second = 1; } if (t.second == 1) { os << t.first << " s"; } else { os << t.first << "/" << t.second << " s"; } return os; } std::ostream& print0x829d(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); Rational fnumber = value.toRational(); if (fnumber.second != 0) { std::ostringstream oss; oss.copyfmt(os); os << "F" << std::setprecision(2) << static_cast(fnumber.first) / fnumber.second; os.copyfmt(oss); } else { os << "(" << value << ")"; } os.flags(f); return os; } std::ostream& print0x8822(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifExposureProgram)(os, value, metadata); } std::ostream& print0x8827(std::ostream& os, const Value& value, const ExifData*) { return os << value.toLong(); } std::ostream& print0x9101(std::ostream& os, const Value& value, const ExifData*) { for (long i = 0; i < value.count(); ++i) { long l = value.toLong(i); switch (l) { case 0: break; case 1: os << "Y"; break; case 2: os << "Cb"; break; case 3: os << "Cr"; break; case 4: os << "R"; break; case 5: os << "G"; break; case 6: os << "B"; break; default: os << "(" << l << ")"; break; } } return os; } std::ostream& print0x9201(std::ostream& os, const Value& value, const ExifData*) { Rational r = value.toRational(); if (!value.ok() || r.second == 0) return os << "(" << value << ")"; URational ur = exposureTime(static_cast(r.first) / r.second); os << ur.first; if (ur.second > 1) { os << "/" << ur.second; } return os << " s"; } std::ostream& print0x9202(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); if ( value.count() == 0 || value.toRational().second == 0) { return os << "(" << value << ")"; } std::ostringstream oss; oss.copyfmt(os); os << "F" << std::setprecision(2) << fnumber(value.toFloat()); os.copyfmt(oss); os.flags(f); return os; } std::ostream& print0x9204(std::ostream& os, const Value& value, const ExifData*) { Rational bias = value.toRational(); if (bias.second <= 0) { os << "(" << bias.first << "/" << bias.second << ")"; } else if (bias.first == 0) { os << "0 EV"; } else { int32_t d = gcd(bias.first, bias.second); int32_t num = std::abs(bias.first) / d; int32_t den = bias.second / d; os << (bias.first < 0 ? "-" : "+") << num; if (den != 1) { os << "/" << den; } os << " EV"; } return os; } std::ostream& print0x9206(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); Rational distance = value.toRational(); if (distance.first == 0) { os << _("Unknown"); } else if (static_cast(distance.first) == 0xffffffff) { os << _("Infinity"); } else if (distance.second != 0) { std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(2) << (float)distance.first / distance.second << " m"; os.copyfmt(oss); } else { os << "(" << value << ")"; } os.flags(f); return os; } std::ostream& print0x9207(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifMeteringMode)(os, value, metadata); } std::ostream& print0x9208(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifLightSource)(os, value, metadata); } std::ostream& print0x920a(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); Rational length = value.toRational(); if (length.second != 0) { std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1) << (float)length.first / length.second << " mm"; os.copyfmt(oss); } else { os << "(" << value << ")"; } os.flags(f); return os; } std::ostream& print0x9286(std::ostream& os, const Value& value, const ExifData*) { const CommentValue* pcv = dynamic_cast(&value); if (pcv) { os << pcv->comment(); } else { os << value; } return os; } std::ostream& print0xa001(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifColorSpace)(os, value, metadata); } std::ostream& print0xa217(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifSensingMethod)(os, value, metadata); } std::ostream& print0xa300(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifFileSource)(os, value, metadata); } std::ostream& print0xa301(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifSceneType)(os, value, metadata); } std::ostream& print0xa401(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifCustomRendered)(os, value, metadata); } std::ostream& print0xa402(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifExposureMode)(os, value, metadata); } std::ostream& print0xa403(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifWhiteBalance)(os, value, metadata); } std::ostream& print0xa404(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); Rational zoom = value.toRational(); if (zoom.second == 0) { os << _("Digital zoom not used"); } else { std::ostringstream oss; oss.copyfmt(os); os << std::fixed << std::setprecision(1) << (float)zoom.first / zoom.second; os.copyfmt(oss); } os.flags(f); return os; } std::ostream& print0xa405(std::ostream& os, const Value& value, const ExifData*) { long length = value.toLong(); if (length == 0) { os << _("Unknown"); } else { os << length << ".0 mm"; } return os; } std::ostream& print0xa406(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifSceneCaptureType)(os, value, metadata); } std::ostream& print0xa407(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifGainControl)(os, value, metadata); } std::ostream& print0xa409(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifSaturation)(os, value, metadata); } std::ostream& print0xa40c(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifSubjectDistanceRange)(os, value, metadata); } std::ostream& printGPSDirRef(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifGPSDirRef)(os, value, metadata); } std::ostream& printNormalSoftHard(std::ostream& os, const Value& value, const ExifData* metadata) { return EXV_PRINT_TAG(exifNormalSoftHard)(os, value, metadata); } std::ostream& printExifVersion(std::ostream& os, const Value& value, const ExifData*) { if (value.size() != 4 || value.typeId() != undefined) { return os << "(" << value << ")"; } char s[5]; for (int i = 0; i < 4; ++i) { s[i] = static_cast(value.toLong(i)); } s[4] = '\0'; return printVersion(os, s); } std::ostream& printXmpVersion(std::ostream& os, const Value& value, const ExifData*) { if (value.size() != 4 || value.typeId() != xmpText) { return os << "(" << value << ")"; } return printVersion(os, value.toString()); } std::ostream& printXmpDate(std::ostream& os, const Value& value, const ExifData*) { if (!(value.size() == 19 || value.size() == 20) || value.typeId() != xmpText) { return os << value; } std::string stringValue = value.toString(); if (stringValue[19] == 'Z') { stringValue = stringValue.substr(0, 19); } for (unsigned int i = 0; i < stringValue.length(); ++i) { if (stringValue[i] == 'T') stringValue[i] = ' '; if (stringValue[i] == '-') stringValue[i] = ':'; } return os << stringValue; } float fnumber(float apertureValue) { return static_cast(std::exp(std::log(2.0) * apertureValue / 2)); } URational exposureTime(float shutterSpeedValue) { URational ur(1, 1); double tmp = std::exp(std::log(2.0) * shutterSpeedValue); if (tmp > 1) { ur.second = static_cast(tmp + 0.5); } else { ur.first = static_cast(1/tmp + 0.5); } return ur; } }} // namespace Internal, Exiv2 namespace Exiv2 { //! @cond IGNORE GroupInfo::GroupName::GroupName(const std::string& groupName) { g_ = groupName; } //! @endcond bool GroupInfo::operator==(int ifdId) const { return ifdId_ == ifdId; } bool GroupInfo::operator==(const GroupName& groupName) const { return 0 == strcmp(groupName.g_.c_str(), groupName_); } TagInfo::TagInfo( uint16_t tag, const char* name, const char* title, const char* desc, int ifdId, int sectionId, TypeId typeId, int16_t count, PrintFct printFct ) : tag_(tag), name_(name), title_(title), desc_(desc), ifdId_(ifdId), sectionId_(sectionId), typeId_(typeId), count_(count), printFct_(printFct) { } const GroupInfo* ExifTags::groupList() { return groupInfo + 1; // +1 to skip the first (ifdIdNotSet) entry } const TagInfo* ExifTags::tagList(const std::string& groupName) { const GroupInfo* ii = find(groupInfo, GroupInfo::GroupName(groupName)); if (ii == 0 || ii->tagList_ == 0) return 0; return ii->tagList_(); } // ExifTags::tagList const char* ExifTags::sectionName(const ExifKey& key) { const TagInfo* ti = tagInfo(key.tag(), static_cast(key.ifdId())); if (ti == 0) return sectionInfo[unknownTag.sectionId_].name_; return sectionInfo[ti->sectionId_].name_; } uint16_t ExifTags::defaultCount(const ExifKey& key) { const TagInfo* ti = tagInfo(key.tag(), static_cast(key.ifdId())); if (ti == 0) return unknownTag.count_; return ti->count_; } const char* ExifTags::ifdName(const std::string& groupName) { IfdId ifdId = Internal::groupId(groupName); return Internal::ifdName(ifdId); } bool ExifTags::isMakerGroup(const std::string& groupName) { IfdId ifdId = Internal::groupId(groupName); return Internal::isMakerIfd(ifdId); } bool ExifTags::isExifGroup(const std::string& groupName) { IfdId ifdId = Internal::groupId(groupName); return Internal::isExifIfd(ifdId); } void ExifTags::taglist(std::ostream& os) { for (int i=0; ifdTagInfo[i].tag_ != 0xffff; ++i) { os << ifdTagInfo[i] << "\n"; } for (int i=0; exifTagInfo[i].tag_ != 0xffff; ++i) { os << exifTagInfo[i] << "\n"; } for (int i=0; iopTagInfo[i].tag_ != 0xffff; ++i) { os << iopTagInfo[i] << "\n"; } for (int i=0; gpsTagInfo[i].tag_ != 0xffff; ++i) { os << gpsTagInfo[i] << "\n"; } } // ExifTags::taglist void ExifTags::taglist(std::ostream& os, const std::string& groupName) { IfdId ifdId = Internal::groupId(groupName); Internal::taglist(os, ifdId); } //! %Internal Pimpl structure with private members and data of class ExifKey. struct ExifKey::Impl { //! @name Creators //@{ Impl(); //!< Default constructor //@} //! @name Manipulators //@{ /*! @brief Set the key corresponding to the \em tag, \em ifdId and \em tagInfo. The key is of the form 'Exif.groupName.tagName'. */ void makeKey(uint16_t tag, IfdId ifdId, const TagInfo* tagInfo); /*! @brief Parse and convert the key string into tag and IFD Id. Updates data members if the string can be decomposed, or throws \em Error . @throw Error if the key cannot be decomposed. */ void decomposeKey(const std::string& key); //@} //! @name Accessors //@{ //! Return the name of the tag std::string tagName() const; //@} // DATA static const char* familyName_; //!< "Exif" const TagInfo* tagInfo_; //!< Tag info uint16_t tag_; //!< Tag value IfdId ifdId_; //!< The IFD associated with this tag int idx_; //!< Unique id of the Exif key in the image std::string groupName_; //!< The group name std::string key_; //!< %Key }; const char* ExifKey::Impl::familyName_ = "Exif"; ExifKey::Impl::Impl() : tagInfo_(0), tag_(0), ifdId_(ifdIdNotSet), idx_(0) { } std::string ExifKey::Impl::tagName() const { if (tagInfo_ != 0 && tagInfo_->tag_ != 0xffff) { return tagInfo_->name_; } std::ostringstream os; os << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << tag_; return os.str(); } void ExifKey::Impl::decomposeKey(const std::string& key) { // Get the family name, IFD name and tag name parts of the key std::string::size_type pos1 = key.find('.'); if (pos1 == std::string::npos) throw Error(6, key); std::string familyName = key.substr(0, pos1); if (0 != strcmp(familyName.c_str(), familyName_)) { throw Error(6, key); } std::string::size_type pos0 = pos1 + 1; pos1 = key.find('.', pos0); if (pos1 == std::string::npos) throw Error(6, key); std::string groupName = key.substr(pos0, pos1 - pos0); if (groupName.empty()) throw Error(6, key); std::string tn = key.substr(pos1 + 1); if (tn.empty()) throw Error(6, key); // Find IfdId IfdId ifdId = groupId(groupName); if (ifdId == ifdIdNotSet) throw Error(6, key); if (!Internal::isExifIfd(ifdId) && !Internal::isMakerIfd(ifdId)) { throw Error(6, key); } // Convert tag uint16_t tag = tagNumber(tn, ifdId); // Get tag info tagInfo_ = tagInfo(tag, ifdId); if (tagInfo_ == 0) throw Error(6, key); tag_ = tag; ifdId_ = ifdId; groupName_ = groupName; // tagName() translates hex tag name (0xabcd) to a real tag name if there is one key_ = familyName + "." + groupName + "." + tagName(); } void ExifKey::Impl::makeKey(uint16_t tag, IfdId ifdId, const TagInfo* tagInfo) { assert(tagInfo != 0); tagInfo_ = tagInfo; tag_ = tag; ifdId_ = ifdId; key_ = std::string(familyName_) + "." + groupName_ + "." + tagName(); } ExifKey::ExifKey(uint16_t tag, const std::string& groupName) : p_(new Impl) { IfdId ifdId = groupId(groupName); // Todo: Test if this condition can be removed if (!Internal::isExifIfd(ifdId) && !Internal::isMakerIfd(ifdId)) { throw Error(23, ifdId); } const TagInfo* ti = tagInfo(tag, ifdId); if (ti == 0) { throw Error(23, ifdId); } p_->groupName_ = groupName; p_->makeKey(tag, ifdId, ti); } ExifKey::ExifKey(const TagInfo& ti) : p_(new Impl) { IfdId ifdId = static_cast(ti.ifdId_); if (!Internal::isExifIfd(ifdId) && !Internal::isMakerIfd(ifdId)) { throw Error(23, ifdId); } p_->groupName_ = Exiv2::groupName(ifdId); p_->makeKey(ti.tag_, ifdId, &ti); } ExifKey::ExifKey(const std::string& key) : p_(new Impl) { p_->decomposeKey(key); } ExifKey::ExifKey(const ExifKey& rhs) : Key(rhs), p_(new Impl(*rhs.p_)) { } ExifKey::~ExifKey() { delete p_; } ExifKey& ExifKey::operator=(const ExifKey& rhs) { if (this == &rhs) return *this; Key::operator=(rhs); *p_ = *rhs.p_; return *this; } void ExifKey::setIdx(int idx) { p_->idx_ = idx; } std::string ExifKey::key() const { return p_->key_; } const char* ExifKey::familyName() const { return p_->familyName_; } std::string ExifKey::groupName() const { return p_->groupName_; } std::string ExifKey::tagName() const { return p_->tagName(); } std::string ExifKey::tagLabel() const { if (p_->tagInfo_ == 0 || p_->tagInfo_->tag_ == 0xffff) return ""; return _(p_->tagInfo_->title_); } std::string ExifKey::tagDesc() const { if (p_->tagInfo_ == 0 || p_->tagInfo_->tag_ == 0xffff) return ""; return _(p_->tagInfo_->desc_); } TypeId ExifKey::defaultTypeId() const { if (p_->tagInfo_ == 0) return unknownTag.typeId_; return p_->tagInfo_->typeId_; } uint16_t ExifKey::tag() const { return p_->tag_; } ExifKey::AutoPtr ExifKey::clone() const { return AutoPtr(clone_()); } ExifKey* ExifKey::clone_() const { return new ExifKey(*this); } int ExifKey::ifdId() const { return p_->ifdId_; } int ExifKey::idx() const { return p_->idx_; } // ************************************************************************* // free functions std::ostream& operator<<(std::ostream& os, const TagInfo& ti) { std::ios::fmtflags f( os.flags() ); ExifKey exifKey(ti); os << exifKey.tagName() << ",\t" << std::dec << exifKey.tag() << ",\t" << "0x" << std::setw(4) << std::setfill('0') << std::right << std::hex << exifKey.tag() << ",\t" << exifKey.groupName() << ",\t" << exifKey.key() << ",\t" << TypeInfo::typeName(exifKey.defaultTypeId()) << ",\t" << exifKey.tagDesc(); os.flags(f); return os; } } // namespace Exiv2 namespace { std::ostream& printVersion(std::ostream& os, const std::string& str) { if (str.size() != 4) { return os << "(" << str << ")"; } if (str[0] != '0') os << str[0]; return os << str[1] << "." << str[2] << str[3]; } } exiv2-0.25/src/http.cpp0000664000175000017500000003131212541544141014566 0ustar andreasandreas// ********************************************************* -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* * http.cpp */ // included header files #include "config.h" #include "http.hpp" #include "futils.hpp" #include #include #include #include #include #include #ifdef _MSC_VER #pragma message("Using exiv2 http support") #endif #define SLEEP 1000 #define SNOOZE 0 #if defined(__MINGW32__) || defined(__MINGW64__) #define fopen_S(f,n,a) f=fopen(n,a) #endif //////////////////////////////////////// // platform specific code #if defined(WIN32) || defined(_MSC_VER) #include #include #include #ifndef __MINGW__ #define snprintf sprintf_s #define write _write #define read _read #define close _close #define strdup _strdup #define stat _stat #define fopen_S(f,n,a) fopen_s(&f,n,a) #endif #else //////////////////////////////////////// // Unix or Mac #define closesocket close #include #include #include #include #include #include #include #include #include #include #define fopen_S(f,n,o) f=fopen(n,o) #define WINAPI typedef unsigned long DWORD ; #define SOCKET_ERROR -1 #define WSAEWOULDBLOCK EINPROGRESS #define WSAENOTCONN EAGAIN static int WSAGetLastError() { return errno ; } static void Sleep(int millisecs) { const struct timespec rqtp = { 0 , millisecs*1000000 } ; struct timespec rmtp ; nanosleep(&rqtp,&rmtp); } #endif //////////////////////////////////////// // code const char* httpTemplate = "%s %s HTTP/%s\r\n" // $verb $page $version "User-Agent: exiv2http/1.0.0\r\n" "Accept: */*\r\n" "Host: %s\r\n" // $servername "%s" // $header "\r\n" ; #ifndef lengthof #define lengthof(x) (sizeof(x)/sizeof((x)[0])) #endif #define white(c) ((c == ' ') || (c == '\t')) #define FINISH -999 #define OK(s) (200 <= s && s < 300) const char* blankLines[] = { "\r\n\r\n" // this is the standard , "\n\n" // this is commonly sent by CGI scripts } ; int snooze = SNOOZE ; int sleep_ = SLEEP ; static void report(const char* msg,std::string& errors) { errors += std::string(msg) + '\n'; } static int forgive(int n,int& err) { err = WSAGetLastError() ; if ( !n && !err ) return FINISH ; #ifndef WIN32 if ( n == 0 ) return FINISH ; // server hungup #endif bool bForgive = err == WSAEWOULDBLOCK || err == WSAENOTCONN ; bool bError = n == SOCKET_ERROR ; if ( bError && bForgive ) return 0 ; return n ; } static int error(std::string errors,const char* msg,const char* x=NULL,const char* y=NULL,int z=0); static int error(std::string errors,const char* msg,const char* x ,const char* y ,int z ) { char buffer[512] ; #ifdef MSDEV_2003 sprintf(buffer,msg,x,y,z); #else snprintf(buffer,sizeof buffer,msg,x,y,z) ; #endif if ( errno ) { perror(buffer) ; } else { fprintf(stderr,"%s\n",buffer); } report(buffer,errors) ; return -1 ; } static void flushBuffer(const char* buffer,size_t start,int& end,std::string& file) { file += std::string(buffer+start,end-start) ; end = 0 ; } static Exiv2::dict_t stringToDict(const std::string& s) { Exiv2::dict_t result; std::string token; size_t i = 0; while (i < s.length() ) { if ( s[i] != ',' ) { if ( s[i] != ' ' ) token += s[i]; } else { result[token]=token; token=""; } i++; } result[token]=token; return result; } static int makeNonBlocking(int sockfd) { #ifdef WIN32 ULONG ioctl_opt = 1; return ioctlsocket(sockfd, FIONBIO, &ioctl_opt); #else int result = fcntl(sockfd, F_SETFL, O_NONBLOCK); return result >= 0 ? result : SOCKET_ERROR ; #endif } int Exiv2::http(dict_t& request,dict_t& response,std::string& errors) { if ( !request.count("verb") ) request["verb" ] = "GET"; if ( !request.count("header") ) request["header" ] = "" ; if ( !request.count("version")) request["version"] = "1.0"; if ( !request.count("port") ) request["port" ] = "" ; std::string file; errors = ""; int result = 0; //////////////////////////////////// // Windows specific code #ifdef WIN32 WSADATA wsaData; WSAStartup(MAKEWORD(2,2), &wsaData); #endif const char* servername = request["server" ].c_str(); const char* page = request["page" ].c_str(); const char* verb = request["verb" ].c_str(); const char* header = request["header" ].c_str(); const char* version = request["version"].c_str(); const char* port = request["port" ].c_str(); const char* servername_p = servername; const char* port_p = port ; std::string url = std::string("http://") + request["server"] + request["page"]; // parse and change server if using a proxy const char* PROXI = "HTTP_PROXY"; const char* proxi = "http_proxy"; const char* PROXY = getenv(PROXI); const char* proxy = getenv(proxi); bool bProx = PROXY || proxy; const char* prox = bProx ? (proxy?proxy:PROXY):""; Exiv2::Uri Proxy = Exiv2::Uri::Parse(prox); // find the dictionary of no_proxy servers const char* NO_PROXI = "NO_PROXY"; const char* no_proxi = "no_proxy"; const char* NO_PROXY = getenv(NO_PROXI); const char* no_proxy = getenv(no_proxi); bool bNoProxy = NO_PROXY||no_proxy; std::string no_prox = std::string(bNoProxy?(no_proxy?no_proxy:NO_PROXY):""); Exiv2::dict_t noProxy= stringToDict(no_prox + ",localhost,127.0.0.1"); // if the server is on the no_proxy list ... ignore the proxy! if ( noProxy.count(servername) ) bProx = false; if ( bProx ) { servername_p = Proxy.Host.c_str(); port_p = Proxy.Port.c_str(); page = url.c_str(); std::string p(proxy?proxi:PROXI); // std::cerr << p << '=' << prox << " page = " << page << std::endl; } if ( !port [0] ) port = "80"; if ( !port_p[0] ) port_p = "80"; //////////////////////////////////// // open the socket int sockfd = (int) socket(AF_INET , SOCK_STREAM,IPPROTO_TCP) ; if ( sockfd < 0 ) return error("unable to create socket\n",NULL,NULL,0) ; // connect the socket to the server int server = -1 ; // fill in the address struct sockaddr_in serv_addr ; int serv_len = sizeof(serv_addr); memset((char *)&serv_addr,0,serv_len); serv_addr.sin_addr.s_addr = inet_addr(servername_p); serv_addr.sin_family = AF_INET ; serv_addr.sin_port = htons(atoi(port_p)); // convert unknown servername into IP address // http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/rzab6/rzab6uafinet.htm if (serv_addr.sin_addr.s_addr == (unsigned long)INADDR_NONE) { struct hostent* host = gethostbyname(servername_p); if ( !host ) return error("no such host",servername_p,NULL,0); memcpy(&serv_addr.sin_addr,host->h_addr,sizeof(serv_addr.sin_addr)); } makeNonBlocking(sockfd) ; //////////////////////////////////// // and connect server = connect(sockfd, (const struct sockaddr *) &serv_addr, serv_len) ; if ( server == SOCKET_ERROR && WSAGetLastError() != WSAEWOULDBLOCK ) return error(errors,"error - unable to connect to server = %s port = %s wsa_error = %d",servername_p,port_p,WSAGetLastError()); char buffer[32*1024+1]; size_t buff_l= sizeof buffer - 1 ; //////////////////////////////////// // format the request #ifdef MSDEV_2003 int n = sprintf(buffer,httpTemplate,verb,page,version,servername,header) ; #else int n = snprintf(buffer,buff_l,httpTemplate,verb,page,version,servername,header) ; #endif buffer[n] = 0 ; response["requestheaders"]=std::string(buffer,n); //////////////////////////////////// // send the header (we'll have to wait for the connection by the non-blocking socket) while ( sleep_ >= 0 && send(sockfd,buffer,n,0) == SOCKET_ERROR /* && WSAGetLastError() == WSAENOTCONN */ ) { Sleep(snooze) ; sleep_ -= snooze ; } if ( sleep_ < 0 ) return error(errors,"error - timeout connecting to server = %s port = %s wsa_error = %d",servername,port,WSAGetLastError()); int end = 0 ; // write position in buffer bool bSearching = true ; // looking for headers in the response int status= 200 ; // assume happiness //////////////////////////////////// // read and process the response int err ; n=forgive(recv(sockfd,buffer,(int)buff_l,0),err) ; while ( n >= 0 && OK(status) ) { if ( n ) { end += n ; buffer[end] = 0 ; size_t body = 0 ; // start of body if ( bSearching ) { // search for the body for ( size_t b = 0 ; bSearching && b < lengthof(blankLines) ; b++ ) { if ( strstr(buffer,blankLines[b]) ) { bSearching = false ; body = (int) ( strstr(buffer,blankLines[b]) - buffer ) + strlen(blankLines[b]) ; status = atoi(strchr(buffer,' ')) ; } } // parse response headers char* h = buffer; char C = ':' ; char N = '\n'; int i = 0 ; // initial byte in buffer while(buffer[i] == N ) i++; h = strchr(h+i,N)+1; response[""]=std::string(buffer+i).substr(0,h-buffer-2); result = atoi(strchr(buffer,' ')); char* c = strchr(h,C); char* n = strchr(h,N); while ( c && n && c < n && h < buffer+body ) { std::string key(h); std::string value(c+1); key = key.substr(0,c-h); value = value.substr(0,n-c-1); response[key]=value; h = n+1; c = strchr(h,C); n = strchr(h,N); } } // if the bufffer's full and we're still searching - give up! // this handles the possibility that there are no headers if ( bSearching && buff_l-end < 10 ) { bSearching = false ; body = 0 ; } if ( !bSearching && OK(status) ) { flushBuffer(buffer,body,end,file); } } n=forgive(recv(sockfd,buffer+end,(int)(buff_l-end),0),err) ; if ( !n ) { Sleep(snooze) ; sleep_ -= snooze ; if ( sleep_ < 0 ) n = FINISH ; } } if ( n != FINISH || !OK(status) ) { #ifdef MSDEV_2003 sprintf(buffer,"wsa_error = %d,n = %d,sleep_ = %d status = %d" , WSAGetLastError() , n , sleep_ , status ) ; #else snprintf(buffer,sizeof buffer,"wsa_error = %d,n = %d,sleep_ = %d status = %d" , WSAGetLastError() , n , sleep_ , status ) ; #endif error(errors,buffer,NULL,NULL,0) ; } else if ( bSearching && OK(status) ) { if ( end ) { // we finished OK without finding headers, flush the buffer flushBuffer(buffer,0,end,file) ; } else { return error(errors,"error - no response from server = %s port = %s wsa_error = %d",servername,port,WSAGetLastError()); } } //////////////////////////////////// // close sockets closesocket(server) ; closesocket(sockfd) ; response["body"]=file; return result; } // That's all Folks exiv2-0.25/src/psdimage.cpp0000664000175000017500000007576512521135474015427 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: psdimage.cpp Version: $Rev: 3777 $ Author(s): Marco Piovanelli, Ovolab (marco) Michael Ulbrich (mul) History: 05-Mar-2007, marco: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: psdimage.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // included header files #include "config.h" #include "psdimage.hpp" #include "jpgimage.hpp" #include "image.hpp" #include "basicio.hpp" #include "error.hpp" #include "futils.hpp" // + standard includes #include #include #include #include #include #include // Todo: Consolidate with existing code in struct Photoshop (jpgimage.hpp): // Extend this helper to a proper class with all required functionality, // then move it here or into a separate file? //! @cond IGNORE struct PhotoshopResourceBlock { uint32_t resourceType; // one of the markers in Photoshop::irbId_[] uint16_t resourceId; unsigned char resourceName[2]; // Pascal string (length byte + characters), padded to an even size -- this assumes the empty string uint32_t resourceDataSize; }; //! @endcond // Photoshop resource IDs (Cf. ) enum { kPhotoshopResourceID_Photoshop2Info = 0x03e8, // [obsolete -- Photoshop 2.0 only] General information -- contains five 2-byte values: number of channels, rows, columns, depth and mode kPhotoshopResourceID_MacintoshClassicPrintInfo = 0x03e9, // [optional] Macintosh classic print record (120 bytes) kPhotoshopResourceID_MacintoshCarbonPrintInfo = 0x03ea, // [optional] Macintosh carbon print info (variable-length XML format) kPhotoshopResourceID_Photoshop2ColorTable = 0x03eb, // [obsolete -- Photoshop 2.0 only] Indexed color table kPhotoshopResourceID_ResolutionInfo = 0x03ed, // PhotoshopResolutionInfo structure (see below) kPhotoshopResourceID_AlphaChannelsNames = 0x03ee, // as a series of Pstrings kPhotoshopResourceID_DisplayInfo = 0x03ef, // see appendix A in Photoshop SDK kPhotoshopResourceID_PStringCaption = 0x03f0, // [optional] the caption, as a Pstring kPhotoshopResourceID_BorderInformation = 0x03f1, // border width and units kPhotoshopResourceID_BackgroundColor = 0x03f2, // see additional Adobe information kPhotoshopResourceID_PrintFlags = 0x03f3, // labels, crop marks, colour bars, ecc... kPhotoshopResourceID_BWHalftoningInfo = 0x03f4, // Gray-scale and multich. half-toning info kPhotoshopResourceID_ColorHalftoningInfo = 0x03f5, // Colour half-toning information kPhotoshopResourceID_DuotoneHalftoningInfo = 0x03f6, // Duo-tone half-toning information kPhotoshopResourceID_BWTransferFunc = 0x03f7, // Gray-scale and multich. transfer function kPhotoshopResourceID_ColorTransferFuncs = 0x03f8, // Colour transfer function kPhotoshopResourceID_DuotoneTransferFuncs = 0x03f9, // Duo-tone transfer function kPhotoshopResourceID_DuotoneImageInfo = 0x03fa, // Duo-tone image information kPhotoshopResourceID_EffectiveBW = 0x03fb, // two bytes for the effective black and white values kPhotoshopResourceID_ObsoletePhotoshopTag1 = 0x03fc, // [obsolete] kPhotoshopResourceID_EPSOptions = 0x03fd, // Encapsulated Postscript options kPhotoshopResourceID_QuickMaskInfo = 0x03fe, // Quick Mask information. 2 bytes containing Quick Mask channel ID, 1 byte boolean indicating whether the mask was initially empty. kPhotoshopResourceID_ObsoletePhotoshopTag2 = 0x03ff, // [obsolete] kPhotoshopResourceID_LayerStateInfo = 0x0400, // index of target layer (0 means bottom) kPhotoshopResourceID_WorkingPathInfo = 0x0401, // should not be saved to the file kPhotoshopResourceID_LayersGroupInfo = 0x0402, // for grouping layers together kPhotoshopResourceID_ObsoletePhotoshopTag3 = 0x0403, // [obsolete] ?? kPhotoshopResourceID_IPTC_NAA = 0x0404, // IPTC/NAA data kPhotoshopResourceID_RawImageMode = 0x0405, // image mode for raw format files kPhotoshopResourceID_JPEGQuality = 0x0406, // [private] kPhotoshopResourceID_GridGuidesInfo = 0x0408, // see additional Adobe information kPhotoshopResourceID_ThumbnailResource = 0x0409, // see additional Adobe information kPhotoshopResourceID_CopyrightFlag = 0x040a, // true if image is copyrighted kPhotoshopResourceID_URL = 0x040b, // text string with a resource locator kPhotoshopResourceID_ThumbnailResource2 = 0x040c, // see additional Adobe information kPhotoshopResourceID_GlobalAngle = 0x040d, // global lighting angle for effects layer kPhotoshopResourceID_ColorSamplersResource = 0x040e, // see additional Adobe information kPhotoshopResourceID_ICCProfile = 0x040f, // see notes from Internat. Color Consortium kPhotoshopResourceID_Watermark = 0x0410, // one byte kPhotoshopResourceID_ICCUntagged = 0x0411, // 1 means intentionally untagged kPhotoshopResourceID_EffectsVisible = 0x0412, // 1 byte to show/hide all effects layers kPhotoshopResourceID_SpotHalftone = 0x0413, // version, length and data kPhotoshopResourceID_IDsBaseValue = 0x0414, // base value for new layers ID's kPhotoshopResourceID_UnicodeAlphaNames = 0x0415, // length plus Unicode string kPhotoshopResourceID_IndexedColourTableCount = 0x0416, // [Photoshop 6.0 and later] 2 bytes kPhotoshopResourceID_TransparentIndex = 0x0417, // [Photoshop 6.0 and later] 2 bytes kPhotoshopResourceID_GlobalAltitude = 0x0419, // [Photoshop 6.0 and later] 4 bytes kPhotoshopResourceID_Slices = 0x041a, // [Photoshop 6.0 and later] see additional Adobe info kPhotoshopResourceID_WorkflowURL = 0x041b, // [Photoshop 6.0 and later] 4 bytes length + Unicode string kPhotoshopResourceID_JumpToXPEP = 0x041c, // [Photoshop 6.0 and later] see additional Adobe info kPhotoshopResourceID_AlphaIdentifiers = 0x041d, // [Photoshop 6.0 and later] 4*(n+1) bytes kPhotoshopResourceID_URLList = 0x041e, // [Photoshop 6.0 and later] structured Unicode URL's kPhotoshopResourceID_VersionInfo = 0x0421, // [Photoshop 6.0 and later] see additional Adobe info kPhotoshopResourceID_ExifInfo = 0x0422, // [Photoshop 7.0?] Exif metadata kPhotoshopResourceID_XMPPacket = 0x0424, // [Photoshop 7.0?] XMP packet -- see http://www.adobe.com/devnet/xmp/pdfs/xmp_specification.pdf kPhotoshopResourceID_ClippingPathName = 0x0bb7, // [Photoshop 6.0 and later] name of clipping path kPhotoshopResourceID_MorePrintFlags = 0x2710 // [Photoshop 6.0 and later] Print flags information. 2 bytes version (=1), 1 byte center crop marks, 1 byte (=0), 4 bytes bleed width value, 2 bytes bleed width scale. }; // ***************************************************************************** // class member definitions namespace Exiv2 { PsdImage::PsdImage(BasicIo::AutoPtr io) : Image(ImageType::psd, mdExif | mdIptc | mdXmp, io) { } // PsdImage::PsdImage std::string PsdImage::mimeType() const { return "image/x-photoshop"; } void PsdImage::setComment(const std::string& /*comment*/) { // not supported throw(Error(32, "Image comment", "Photoshop")); } void PsdImage::readMetadata() { #ifdef DEBUG std::cerr << "Exiv2::PsdImage::readMetadata: Reading Photoshop file " << io_->path() << "\n"; #endif if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); // Ensure that this is the correct image type if (!isPsdType(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "Photoshop"); } clearMetadata(); /* The Photoshop header goes as follows -- all numbers are in big-endian byte order: offset length name description ====== ======= ========= ========= 0 4 bytes signature always '8BPS' 4 2 bytes version always equal to 1 6 6 bytes reserved must be zero 12 2 bytes channels number of channels in the image, including alpha channels (1 to 24) 14 4 bytes rows the height of the image in pixels 18 4 bytes columns the width of the image in pixels 22 2 bytes depth the number of bits per channel 24 2 bytes mode the color mode of the file; Supported values are: Bitmap=0; Grayscale=1; Indexed=2; RGB=3; CMYK=4; Multichannel=7; Duotone=8; Lab=9 */ byte buf[26]; if (io_->read(buf, 26) != 26) { throw Error(3, "Photoshop"); } pixelWidth_ = getLong(buf + 18, bigEndian); pixelHeight_ = getLong(buf + 14, bigEndian); // immediately following the image header is the color mode data section, // the first four bytes of which specify the byte size of the whole section if (io_->read(buf, 4) != 4) { throw Error(3, "Photoshop"); } // skip it uint32_t colorDataLength = getULong(buf, bigEndian); if (io_->seek(colorDataLength, BasicIo::cur)) { throw Error(3, "Photoshop"); } // after the color data section, comes a list of resource blocks, preceded by the total byte size if (io_->read(buf, 4) != 4) { throw Error(3, "Photoshop"); } uint32_t resourcesLength = getULong(buf, bigEndian); while (resourcesLength > 0) { if (io_->read(buf, 8) != 8) { throw Error(3, "Photoshop"); } if (!Photoshop::isIrb(buf, 4)) { break; // bad resource type } uint16_t resourceId = getUShort(buf + 4, bigEndian); uint32_t resourceNameLength = buf[6] & ~1; // skip the resource name, plus any padding io_->seek(resourceNameLength, BasicIo::cur); // read resource size if (io_->read(buf, 4) != 4) { throw Error(3, "Photoshop"); } uint32_t resourceSize = getULong(buf, bigEndian); uint32_t curOffset = io_->tell(); #ifdef DEBUG std::cerr << std::hex << "resourceId: " << resourceId << std::dec << " length: " << resourceSize << std::hex << "\n"; #endif readResourceBlock(resourceId, resourceSize); resourceSize = (resourceSize + 1) & ~1; // pad to even io_->seek(curOffset + resourceSize, BasicIo::beg); resourcesLength -= (12 + resourceNameLength + resourceSize); } } // PsdImage::readMetadata void PsdImage::readResourceBlock(uint16_t resourceId, uint32_t resourceSize) { switch(resourceId) { case kPhotoshopResourceID_IPTC_NAA: { DataBuf rawIPTC(resourceSize); io_->read(rawIPTC.pData_, rawIPTC.size_); if (io_->error() || io_->eof()) throw Error(14); if (IptcParser::decode(iptcData_, rawIPTC.pData_, rawIPTC.size_)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode IPTC metadata.\n"; #endif iptcData_.clear(); } break; } case kPhotoshopResourceID_ExifInfo: { DataBuf rawExif(resourceSize); io_->read(rawExif.pData_, rawExif.size_); if (io_->error() || io_->eof()) throw Error(14); ByteOrder bo = ExifParser::decode(exifData_, rawExif.pData_, rawExif.size_); setByteOrder(bo); if (rawExif.size_ > 0 && byteOrder() == invalidByteOrder) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode Exif metadata.\n"; #endif exifData_.clear(); } break; } case kPhotoshopResourceID_XMPPacket: { DataBuf xmpPacket(resourceSize); io_->read(xmpPacket.pData_, xmpPacket.size_); if (io_->error() || io_->eof()) throw Error(14); xmpPacket_.assign(reinterpret_cast(xmpPacket.pData_), xmpPacket.size_); if (xmpPacket_.size() > 0 && XmpParser::decode(xmpData_, xmpPacket_)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to decode XMP metadata.\n"; #endif } break; } // - PS 4.0 preview data is fetched from ThumbnailResource // - PS >= 5.0 preview data is fetched from ThumbnailResource2 case kPhotoshopResourceID_ThumbnailResource: case kPhotoshopResourceID_ThumbnailResource2: { /* Photoshop thumbnail resource header offset length name description ====== ======== ==== =========== 0 4 bytes format = 1 (kJpegRGB). Also supports kRawRGB (0). 4 4 bytes width Width of thumbnail in pixels. 8 4 bytes height Height of thumbnail in pixels. 12 4 bytes widthbytes Padded row bytes as (width * bitspixel + 31) / 32 * 4. 16 4 bytes size Total size as widthbytes * height * planes 20 4 bytes compressedsize Size after compression. Used for consistentcy check. 24 2 bytes bitspixel = 24. Bits per pixel. 26 2 bytes planes = 1. Number of planes. 28 variable data JFIF data in RGB format. Note: For resource ID 1033 the data is in BGR format. */ byte buf[28]; if (io_->read(buf, 28) != 28) { throw Error(3, "Photoshop"); } NativePreview nativePreview; nativePreview.position_ = io_->tell(); nativePreview.size_ = getLong(buf + 20, bigEndian); // compressedsize nativePreview.width_ = getLong(buf + 4, bigEndian); nativePreview.height_ = getLong(buf + 8, bigEndian); const uint32_t format = getLong(buf + 0, bigEndian); if (nativePreview.size_ > 0 && nativePreview.position_ >= 0) { io_->seek(static_cast(nativePreview.size_), BasicIo::cur); if (io_->error() || io_->eof()) throw Error(14); if (format == 1) { nativePreview.filter_ = ""; nativePreview.mimeType_ = "image/jpeg"; nativePreviews_.push_back(nativePreview); } else { // unsupported format of native preview } } break; } default: { break; } } } // PsdImage::readResourceBlock void PsdImage::writeMetadata() { if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); BasicIo::AutoPtr tempIo(io_->temporary()); // may throw assert (tempIo.get() != 0); doWriteMetadata(*tempIo); // may throw io_->close(); io_->transfer(*tempIo); // may throw } // PsdImage::writeMetadata void PsdImage::doWriteMetadata(BasicIo& outIo) { if (!io_->isopen()) throw Error(20); if (!outIo.isopen()) throw Error(21); #ifdef DEBUG std::cout << "Exiv2::PsdImage::doWriteMetadata: Writing PSD file " << io_->path() << "\n"; std::cout << "Exiv2::PsdImage::doWriteMetadata: tmp file created " << outIo.path() << "\n"; #endif // Ensure that this is the correct image type if (!isPsdType(*io_, true)) { if (io_->error() || io_->eof()) throw Error(20); throw Error(22); } io_->seek(0, BasicIo::beg); // rewind DataBuf lbuf(4096); byte buf[8]; // Get Photoshop header from original file byte psd_head[26]; if (io_->read(psd_head, 26) != 26) throw Error(3, "Photoshop"); // Write Photoshop header data out to new PSD file if (outIo.write(psd_head, 26) != 26) throw Error(21); // Read colorDataLength from original PSD if (io_->read(buf, 4) != 4) throw Error(3, "Photoshop"); uint32_t colorDataLength = getULong(buf, bigEndian); // Write colorDataLength ul2Data(buf, colorDataLength, bigEndian); if (outIo.write(buf, 4) != 4) throw Error(21); #ifdef DEBUG std::cerr << std::dec << "colorDataLength: " << colorDataLength << "\n"; #endif // Copy colorData uint32_t readTotal = 0; long toRead = 0; while (readTotal < colorDataLength) { toRead = static_cast(colorDataLength - readTotal) < lbuf.size_ ? static_cast(colorDataLength - readTotal) : lbuf.size_; if (io_->read(lbuf.pData_, toRead) != toRead) throw Error(3, "Photoshop"); readTotal += toRead; if (outIo.write(lbuf.pData_, toRead) != toRead) throw Error(21); } if (outIo.error()) throw Error(21); uint32_t resLenOffset = io_->tell(); // remember for later update // Read length of all resource blocks from original PSD if (io_->read(buf, 4) != 4) throw Error(3, "Photoshop"); uint32_t oldResLength = getULong(buf, bigEndian); uint32_t newResLength = 0; // Write oldResLength (will be updated later) ul2Data(buf, oldResLength, bigEndian); if (outIo.write(buf, 4) != 4) throw Error(21); #ifdef DEBUG std::cerr << std::dec << "oldResLength: " << oldResLength << "\n"; #endif // Iterate over original resource blocks. // Replace or insert IPTC, EXIF and XMP // Original resource blocks assumed to be sorted ASC bool iptcDone = false; bool exifDone = false; bool xmpDone = false; while (oldResLength > 0) { if (io_->read(buf, 8) != 8) throw Error(3, "Photoshop"); // read resource type and ID uint32_t resourceType = getULong(buf, bigEndian); if (!Photoshop::isIrb(buf, 4)) { throw Error(3, "Photoshop"); // bad resource type } uint16_t resourceId = getUShort(buf + 4, bigEndian); uint32_t resourceNameLength = buf[6]; uint32_t adjResourceNameLen = resourceNameLength & ~1; unsigned char resourceNameFirstChar = buf[7]; // read rest of resource name, plus any padding DataBuf resName(256); if ( io_->read(resName.pData_, adjResourceNameLen) != static_cast(adjResourceNameLen)) throw Error(3, "Photoshop"); // read resource size (actual length w/o padding!) if (io_->read(buf, 4) != 4) throw Error(3, "Photoshop"); uint32_t resourceSize = getULong(buf, bigEndian); uint32_t pResourceSize = (resourceSize + 1) & ~1; // padded resource size uint32_t curOffset = io_->tell(); // Write IPTC_NAA resource block if ((resourceId == kPhotoshopResourceID_IPTC_NAA || resourceId > kPhotoshopResourceID_IPTC_NAA) && iptcDone == false) { newResLength += writeIptcData(iptcData_, outIo); iptcDone = true; } // Write ExifInfo resource block else if ((resourceId == kPhotoshopResourceID_ExifInfo || resourceId > kPhotoshopResourceID_ExifInfo) && exifDone == false) { newResLength += writeExifData(exifData_, outIo); exifDone = true; } // Write XMPpacket resource block else if ((resourceId == kPhotoshopResourceID_XMPPacket || resourceId > kPhotoshopResourceID_XMPPacket) && xmpDone == false) { newResLength += writeXmpData(xmpData_, outIo); xmpDone = true; } // Copy all other resource blocks if ( resourceId != kPhotoshopResourceID_IPTC_NAA && resourceId != kPhotoshopResourceID_ExifInfo && resourceId != kPhotoshopResourceID_XMPPacket) { #ifdef DEBUG std::cerr << std::hex << "copy : resourceType: " << resourceType << "\n"; std::cerr << std::hex << "copy : resourceId: " << resourceId << "\n"; std::cerr << std::dec; #endif // Copy resource block to new PSD file ul2Data(buf, resourceType, bigEndian); if (outIo.write(buf, 4) != 4) throw Error(21); us2Data(buf, resourceId, bigEndian); if (outIo.write(buf, 2) != 2) throw Error(21); // Write resource name as Pascal string buf[0] = resourceNameLength & 0x00ff; if (outIo.write(buf, 1) != 1) throw Error(21); buf[0] = resourceNameFirstChar; if (outIo.write(buf, 1) != 1) throw Error(21); if ( outIo.write(resName.pData_, adjResourceNameLen) != static_cast(adjResourceNameLen)) throw Error(21); ul2Data(buf, resourceSize, bigEndian); if (outIo.write(buf, 4) != 4) throw Error(21); readTotal = 0; toRead = 0; while (readTotal < pResourceSize) { toRead = static_cast(pResourceSize - readTotal) < lbuf.size_ ? static_cast(pResourceSize - readTotal) : lbuf.size_; if (io_->read(lbuf.pData_, toRead) != toRead) { throw Error(3, "Photoshop"); } readTotal += toRead; if (outIo.write(lbuf.pData_, toRead) != toRead) throw Error(21); } if (outIo.error()) throw Error(21); newResLength += pResourceSize + adjResourceNameLen + 12; } io_->seek(curOffset + pResourceSize, BasicIo::beg); oldResLength -= (12 + adjResourceNameLen + pResourceSize); } // Append IPTC_NAA resource block, if not yet written if (iptcDone == false) { newResLength += writeIptcData(iptcData_, outIo); iptcDone = true; } // Append ExifInfo resource block, if not yet written if (exifDone == false) { newResLength += writeExifData(exifData_, outIo); exifDone = true; } // Append XmpPacket resource block, if not yet written if (xmpDone == false) { newResLength += writeXmpData(xmpData_, outIo); xmpDone = true; } // Populate the fake data, only make sense for remoteio, httpio and sshio. // it avoids allocating memory for parts of the file that contain image-date. io_->populateFakeData(); // Copy remaining data long readSize = 0; while ((readSize=io_->read(lbuf.pData_, lbuf.size_))) { if (outIo.write(lbuf.pData_, readSize) != readSize) throw Error(21); } if (outIo.error()) throw Error(21); // Update length of resources #ifdef DEBUG std::cerr << "newResLength: " << newResLength << "\n"; #endif outIo.seek(resLenOffset, BasicIo::beg); ul2Data(buf, newResLength, bigEndian); if (outIo.write(buf, 4) != 4) throw Error(21); } // PsdImage::doWriteMetadata uint32_t PsdImage::writeIptcData(const IptcData& iptcData, BasicIo& out) const { uint32_t resLength = 0; byte buf[8]; if (iptcData.count() > 0) { DataBuf rawIptc = IptcParser::encode(iptcData); if (rawIptc.size_ > 0) { #ifdef DEBUG std::cerr << std::hex << "write: resourceId: " << kPhotoshopResourceID_IPTC_NAA << "\n"; std::cerr << std::dec << "Writing IPTC_NAA: size: " << rawIptc.size_ << "\n"; #endif if (out.write(reinterpret_cast(Photoshop::irbId_[0]), 4) != 4) throw Error(21); us2Data(buf, kPhotoshopResourceID_IPTC_NAA, bigEndian); if (out.write(buf, 2) != 2) throw Error(21); us2Data(buf, 0, bigEndian); // NULL resource name if (out.write(buf, 2) != 2) throw Error(21); ul2Data(buf, rawIptc.size_, bigEndian); if (out.write(buf, 4) != 4) throw Error(21); // Write encoded Iptc data if (out.write(rawIptc.pData_, rawIptc.size_) != rawIptc.size_) throw Error(21); resLength += rawIptc.size_ + 12; if (rawIptc.size_ & 1) // even padding { buf[0] = 0; if (out.write(buf, 1) != 1) throw Error(21); resLength++; } } } return resLength; } // PsdImage::writeIptcData uint32_t PsdImage::writeExifData(const ExifData& exifData, BasicIo& out) { uint32_t resLength = 0; byte buf[8]; if (exifData.count() > 0) { Blob blob; ByteOrder bo = byteOrder(); if (bo == invalidByteOrder) { bo = littleEndian; setByteOrder(bo); } ExifParser::encode(blob, bo, exifData); if (blob.size() > 0) { #ifdef DEBUG std::cerr << std::hex << "write: resourceId: " << kPhotoshopResourceID_ExifInfo << "\n"; std::cerr << std::dec << "Writing ExifInfo: size: " << blob.size() << "\n"; #endif if (out.write(reinterpret_cast(Photoshop::irbId_[0]), 4) != 4) throw Error(21); us2Data(buf, kPhotoshopResourceID_ExifInfo, bigEndian); if (out.write(buf, 2) != 2) throw Error(21); us2Data(buf, 0, bigEndian); // NULL resource name if (out.write(buf, 2) != 2) throw Error(21); ul2Data(buf, static_cast(blob.size()), bigEndian); if (out.write(buf, 4) != 4) throw Error(21); // Write encoded Exif data if (out.write(&blob[0], static_cast(blob.size())) != static_cast(blob.size())) throw Error(21); resLength += static_cast(blob.size()) + 12; if (blob.size() & 1) // even padding { buf[0] = 0; if (out.write(buf, 1) != 1) throw Error(21); resLength++; } } } return resLength; } // PsdImage::writeExifData uint32_t PsdImage::writeXmpData(const XmpData& xmpData, BasicIo& out) const { std::string xmpPacket; uint32_t resLength = 0; byte buf[8]; #ifdef DEBUG std::cerr << "writeXmpFromPacket(): " << writeXmpFromPacket() << "\n"; #endif // writeXmpFromPacket(true); if (writeXmpFromPacket() == false) { if (XmpParser::encode(xmpPacket, xmpData) > 1) { #ifndef SUPPRESS_WARNINGS EXV_ERROR << "Failed to encode XMP metadata.\n"; #endif } } if (xmpPacket.size() > 0) { #ifdef DEBUG std::cerr << std::hex << "write: resourceId: " << kPhotoshopResourceID_XMPPacket << "\n"; std::cerr << std::dec << "Writing XMPPacket: size: " << xmpPacket.size() << "\n"; #endif if (out.write(reinterpret_cast(Photoshop::irbId_[0]), 4) != 4) throw Error(21); us2Data(buf, kPhotoshopResourceID_XMPPacket, bigEndian); if (out.write(buf, 2) != 2) throw Error(21); us2Data(buf, 0, bigEndian); // NULL resource name if (out.write(buf, 2) != 2) throw Error(21); ul2Data(buf, static_cast(xmpPacket.size()), bigEndian); if (out.write(buf, 4) != 4) throw Error(21); // Write XMPPacket if (out.write(reinterpret_cast(xmpPacket.data()), static_cast(xmpPacket.size())) != static_cast(xmpPacket.size())) throw Error(21); if (out.error()) throw Error(21); resLength += static_cast(xmpPacket.size()) + 12; if (xmpPacket.size() & 1) // even padding { buf[0] = 0; if (out.write(buf, 1) != 1) throw Error(21); resLength++; } } return resLength; } // PsdImage::writeXmpData // ************************************************************************* // free functions Image::AutoPtr newPsdInstance(BasicIo::AutoPtr io, bool /*create*/) { Image::AutoPtr image(new PsdImage(io)); if (!image->good()) { image.reset(); } return image; } bool isPsdType(BasicIo& iIo, bool advance) { const int32_t len = 6; const unsigned char PsdHeader[6] = { '8', 'B', 'P', 'S', 0, 1 }; byte buf[len]; iIo.read(buf, len); if (iIo.error() || iIo.eof()) { return false; } bool matched = (memcmp(buf, PsdHeader, len) == 0); if (!advance || !matched) { iIo.seek(-len, BasicIo::cur); } return matched; } } // namespace Exiv2 exiv2-0.25/src/iptc.cpp0000664000175000017500000004107112521135474014554 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: iptc.cpp Version: $Rev: 3777 $ Author(s): Brad Schick (brad) History: 31-July-04, brad: created */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: iptc.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // ***************************************************************************** // included header files #include "iptc.hpp" #include "types.hpp" #include "error.hpp" #include "value.hpp" #include "datasets.hpp" #include "jpgimage.hpp" // + standard includes #include #include #include // ***************************************************************************** namespace { /*! @brief Read a single dataset payload and create a new metadata entry. @param iptcData IPTC metadata container to add the dataset to @param dataSet DataSet number @param record Record Id @param data Pointer to the first byte of dataset payload @param sizeData Length in bytes of dataset payload @return 0 if successful. */ int readData( Exiv2::IptcData& iptcData, uint16_t dataSet, uint16_t record, const Exiv2::byte* data, uint32_t sizeData ); //! Unary predicate that matches an Iptcdatum with given record and dataset class FindIptcdatum { public: //! Constructor, initializes the object with the record and dataset id FindIptcdatum(uint16_t dataset, uint16_t record) : dataset_(dataset), record_(record) {} /*! @brief Returns true if the record and dataset id of the argument Iptcdatum is equal to that of the object. */ bool operator()(const Exiv2::Iptcdatum& iptcdatum) const { return dataset_ == iptcdatum.tag() && record_ == iptcdatum.record(); } private: // DATA uint16_t dataset_; uint16_t record_; }; // class FindIptcdatum } // ***************************************************************************** // class member definitions namespace Exiv2 { Iptcdatum::Iptcdatum(const IptcKey& key, const Value* pValue) : key_(key.clone()) { if (pValue) value_ = pValue->clone(); } Iptcdatum::Iptcdatum(const Iptcdatum& rhs) : Metadatum(rhs) { if (rhs.key_.get() != 0) key_ = rhs.key_->clone(); // deep copy if (rhs.value_.get() != 0) value_ = rhs.value_->clone(); // deep copy } Iptcdatum::~Iptcdatum() { } long Iptcdatum::copy(byte* buf, ByteOrder byteOrder) const { return value_.get() == 0 ? 0 : value_->copy(buf, byteOrder); } std::ostream& Iptcdatum::write(std::ostream& os, const ExifData*) const { return os << value(); } std::string Iptcdatum::key() const { return key_.get() == 0 ? "" : key_->key(); } std::string Iptcdatum::recordName() const { return key_.get() == 0 ? "" : key_->recordName(); } uint16_t Iptcdatum::record() const { return key_.get() == 0 ? 0 : key_->record(); } const char* Iptcdatum::familyName() const { return key_.get() == 0 ? "" : key_->familyName(); } std::string Iptcdatum::groupName() const { return key_.get() == 0 ? "" : key_->groupName(); } std::string Iptcdatum::tagName() const { return key_.get() == 0 ? "" : key_->tagName(); } std::string Iptcdatum::tagLabel() const { return key_.get() == 0 ? "" : key_->tagLabel(); } uint16_t Iptcdatum::tag() const { return key_.get() == 0 ? 0 : key_->tag(); } TypeId Iptcdatum::typeId() const { return value_.get() == 0 ? invalidTypeId : value_->typeId(); } const char* Iptcdatum::typeName() const { return TypeInfo::typeName(typeId()); } long Iptcdatum::typeSize() const { return TypeInfo::typeSize(typeId()); } long Iptcdatum::count() const { return value_.get() == 0 ? 0 : value_->count(); } long Iptcdatum::size() const { return value_.get() == 0 ? 0 : value_->size(); } std::string Iptcdatum::toString() const { return value_.get() == 0 ? "" : value_->toString(); } std::string Iptcdatum::toString(long n) const { return value_.get() == 0 ? "" : value_->toString(n); } long Iptcdatum::toLong(long n) const { return value_.get() == 0 ? -1 : value_->toLong(n); } float Iptcdatum::toFloat(long n) const { return value_.get() == 0 ? -1 : value_->toFloat(n); } Rational Iptcdatum::toRational(long n) const { return value_.get() == 0 ? Rational(-1, 1) : value_->toRational(n); } Value::AutoPtr Iptcdatum::getValue() const { return value_.get() == 0 ? Value::AutoPtr(0) : value_->clone(); } const Value& Iptcdatum::value() const { if (value_.get() == 0) throw Error(8); return *value_; } Iptcdatum& Iptcdatum::operator=(const Iptcdatum& rhs) { if (this == &rhs) return *this; Metadatum::operator=(rhs); key_.reset(); if (rhs.key_.get() != 0) key_ = rhs.key_->clone(); // deep copy value_.reset(); if (rhs.value_.get() != 0) value_ = rhs.value_->clone(); // deep copy return *this; } // Iptcdatum::operator= Iptcdatum& Iptcdatum::operator=(const uint16_t& value) { UShortValue::AutoPtr v(new UShortValue); v->value_.push_back(value); value_ = v; return *this; } Iptcdatum& Iptcdatum::operator=(const std::string& value) { setValue(value); return *this; } Iptcdatum& Iptcdatum::operator=(const Value& value) { setValue(&value); return *this; } void Iptcdatum::setValue(const Value* pValue) { value_.reset(); if (pValue) value_ = pValue->clone(); } int Iptcdatum::setValue(const std::string& value) { if (value_.get() == 0) { TypeId type = IptcDataSets::dataSetType(tag(), record()); value_ = Value::create(type); } return value_->read(value); } Iptcdatum& IptcData::operator[](const std::string& key) { IptcKey iptcKey(key); iterator pos = findKey(iptcKey); if (pos == end()) { add(Iptcdatum(iptcKey)); pos = findKey(iptcKey); } return *pos; } long IptcData::size() const { long newSize = 0; const_iterator iter = iptcMetadata_.begin(); const_iterator end = iptcMetadata_.end(); for ( ; iter != end; ++iter) { // marker, record Id, dataset num, first 2 bytes of size newSize += 5; long dataSize = iter->size(); newSize += dataSize; if (dataSize > 32767) { // extended dataset (we always use 4 bytes) newSize += 4; } } return newSize; } // IptcData::size int IptcData::add(const IptcKey& key, Value* value) { return add(Iptcdatum(key, value)); } int IptcData::add(const Iptcdatum& iptcDatum) { if (!IptcDataSets::dataSetRepeatable( iptcDatum.tag(), iptcDatum.record()) && findId(iptcDatum.tag(), iptcDatum.record()) != end()) { return 6; } // allow duplicates iptcMetadata_.push_back(iptcDatum); return 0; } IptcData::const_iterator IptcData::findKey(const IptcKey& key) const { return std::find_if(iptcMetadata_.begin(), iptcMetadata_.end(), FindIptcdatum(key.tag(), key.record())); } IptcData::iterator IptcData::findKey(const IptcKey& key) { return std::find_if(iptcMetadata_.begin(), iptcMetadata_.end(), FindIptcdatum(key.tag(), key.record())); } IptcData::const_iterator IptcData::findId(uint16_t dataset, uint16_t record) const { return std::find_if(iptcMetadata_.begin(), iptcMetadata_.end(), FindIptcdatum(dataset, record)); } IptcData::iterator IptcData::findId(uint16_t dataset, uint16_t record) { return std::find_if(iptcMetadata_.begin(), iptcMetadata_.end(), FindIptcdatum(dataset, record)); } void IptcData::sortByKey() { std::sort(iptcMetadata_.begin(), iptcMetadata_.end(), cmpMetadataByKey); } void IptcData::sortByTag() { std::sort(iptcMetadata_.begin(), iptcMetadata_.end(), cmpMetadataByTag); } IptcData::iterator IptcData::erase(IptcData::iterator pos) { return iptcMetadata_.erase(pos); } const char *IptcData::detectCharset() const { const_iterator pos = findKey(IptcKey("Iptc.Envelope.CharacterSet")); if (pos != end()) { const std::string value = pos->toString(); if (pos->value().ok()) { if (value == "\033%G") return "UTF-8"; // other values are probably not practically relevant } } bool ascii = true; bool utf8 = true; for (pos = begin(); pos != end(); ++pos) { std::string value = pos->toString(); if (pos->value().ok()) { int seqCount = 0; std::string::iterator i; for (i = value.begin(); i != value.end(); ++i) { char c = *i; if (seqCount) { if ((c & 0xc0) != 0x80) { utf8 = false; break; } --seqCount; } else { if (c & 0x80) ascii = false; else continue; // ascii character if ((c & 0xe0) == 0xc0) seqCount = 1; else if ((c & 0xf0) == 0xe0) seqCount = 2; else if ((c & 0xf8) == 0xf0) seqCount = 3; else if ((c & 0xfc) == 0xf8) seqCount = 4; else if ((c & 0xfe) == 0xfc) seqCount = 5; else { utf8 = false; break; } } } if (seqCount) utf8 = false; // unterminated seq if (!utf8) break; } } if (ascii) return "ASCII"; if (utf8) return "UTF-8"; return NULL; } const byte IptcParser::marker_ = 0x1C; // Dataset marker int IptcParser::decode( IptcData& iptcData, const byte* pData, uint32_t size ) { #ifdef DEBUG std::cerr << "IptcParser::decode, size = " << size << "\n"; #endif const byte* pRead = pData; iptcData.clear(); uint16_t record = 0; uint16_t dataSet = 0; uint32_t sizeData = 0; byte extTest = 0; while (pRead + 3 < pData + size) { // First byte should be a marker. If it isn't, scan forward and skip // the chunk bytes present in some images. This deviates from the // standard, which advises to treat such cases as errors. if (*pRead++ != marker_) continue; record = *pRead++; dataSet = *pRead++; extTest = *pRead; if (extTest & 0x80) { // extended dataset uint16_t sizeOfSize = (getUShort(pRead, bigEndian) & 0x7FFF); if (sizeOfSize > 4) return 5; pRead += 2; sizeData = 0; for (; sizeOfSize > 0; --sizeOfSize) { sizeData |= *pRead++ << (8 *(sizeOfSize-1)); } } else { // standard dataset sizeData = getUShort(pRead, bigEndian); pRead += 2; } if (pRead + sizeData <= pData + size) { int rc = 0; if ((rc = readData(iptcData, dataSet, record, pRead, sizeData)) != 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to read IPTC dataset " << IptcKey(dataSet, record) << " (rc = " << rc << "); skipped.\n"; #endif } } #ifndef SUPPRESS_WARNINGS else { EXV_WARNING << "IPTC dataset " << IptcKey(dataSet, record) << " has invalid size " << sizeData << "; skipped.\n"; } #endif pRead += sizeData; } return 0; } // IptcParser::decode /*! @brief Compare two iptc items by record. Return true if the record of lhs is less than that of rhs. This is a helper function for IptcParser::encode(). */ bool cmpIptcdataByRecord(const Iptcdatum& lhs, const Iptcdatum& rhs) { return lhs.record() < rhs.record(); } DataBuf IptcParser::encode(const IptcData& iptcData) { DataBuf buf(iptcData.size()); byte *pWrite = buf.pData_; // Copy the iptc data sets and sort them by record but preserve the order of datasets IptcMetadata sortedIptcData; std::copy(iptcData.begin(), iptcData.end(), std::back_inserter(sortedIptcData)); std::stable_sort(sortedIptcData.begin(), sortedIptcData.end(), cmpIptcdataByRecord); IptcData::const_iterator iter = sortedIptcData.begin(); IptcData::const_iterator end = sortedIptcData.end(); for ( ; iter != end; ++iter) { // marker, record Id, dataset num *pWrite++ = marker_; *pWrite++ = static_cast(iter->record()); *pWrite++ = static_cast(iter->tag()); // extended or standard dataset? long dataSize = iter->size(); if (dataSize > 32767) { // always use 4 bytes for extended length uint16_t sizeOfSize = 4 | 0x8000; us2Data(pWrite, sizeOfSize, bigEndian); pWrite += 2; ul2Data(pWrite, dataSize, bigEndian); pWrite += 4; } else { us2Data(pWrite, static_cast(dataSize), bigEndian); pWrite += 2; } pWrite += iter->value().copy(pWrite, bigEndian); } return buf; } // IptcParser::encode } // namespace Exiv2 // ***************************************************************************** // local definitions namespace { int readData( Exiv2::IptcData& iptcData, uint16_t dataSet, uint16_t record, const Exiv2::byte* data, uint32_t sizeData ) { Exiv2::Value::AutoPtr value; Exiv2::TypeId type = Exiv2::IptcDataSets::dataSetType(dataSet, record); value = Exiv2::Value::create(type); int rc = value->read(data, sizeData, Exiv2::bigEndian); if (0 == rc) { Exiv2::IptcKey key(dataSet, record); iptcData.add(key, value.get()); } else if (1 == rc) { // If the first attempt failed, try with a string value value = Exiv2::Value::create(Exiv2::string); rc = value->read(data, sizeData, Exiv2::bigEndian); if (0 == rc) { Exiv2::IptcKey key(dataSet, record); iptcData.add(key, value.get()); } } return rc; } } exiv2-0.25/src/orfimage.cpp0000664000175000017500000002122712535324477015417 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: orfimage.cpp Version: $Rev: 3846 $ Author(s): Andreas Huggel (ahu) History: 13-May-06, ahu: created Credits: See header file */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: orfimage.cpp 3846 2015-06-08 14:39:59Z ahuggel $") // included header files #include "config.h" #include "orfimage.hpp" #include "orfimage_int.hpp" #include "tiffcomposite_int.hpp" #include "tiffimage_int.hpp" #include "image.hpp" #include "basicio.hpp" #include "error.hpp" #include "futils.hpp" // + standard includes #include #include #include #include // ***************************************************************************** // class member definitions namespace Exiv2 { using namespace Internal; OrfImage::OrfImage(BasicIo::AutoPtr io, bool /*create*/) : Image(ImageType::orf, mdExif | mdIptc | mdXmp, io) { } // OrfImage::OrfImage std::string OrfImage::mimeType() const { return "image/x-olympus-orf"; } int OrfImage::pixelWidth() const { ExifData::const_iterator imageWidth = exifData_.findKey(Exiv2::ExifKey("Exif.Image.ImageWidth")); if (imageWidth != exifData_.end() && imageWidth->count() > 0) { return imageWidth->toLong(); } return 0; } int OrfImage::pixelHeight() const { ExifData::const_iterator imageHeight = exifData_.findKey(Exiv2::ExifKey("Exif.Image.ImageLength")); if (imageHeight != exifData_.end() && imageHeight->count() > 0) { return imageHeight->toLong(); } return 0; } void OrfImage::setComment(const std::string& /*comment*/) { // not supported throw(Error(32, "Image comment", "ORF")); } void OrfImage::readMetadata() { #ifdef DEBUG std::cerr << "Reading ORF file " << io_->path() << "\n"; #endif if (io_->open() != 0) { throw Error(9, io_->path(), strError()); } IoCloser closer(*io_); // Ensure that this is the correct image type if (!isOrfType(*io_, false)) { if (io_->error() || io_->eof()) throw Error(14); throw Error(3, "ORF"); } clearMetadata(); ByteOrder bo = OrfParser::decode(exifData_, iptcData_, xmpData_, io_->mmap(), io_->size()); setByteOrder(bo); } // OrfImage::readMetadata void OrfImage::writeMetadata() { #ifdef DEBUG std::cerr << "Writing ORF file " << io_->path() << "\n"; #endif ByteOrder bo = byteOrder(); byte* pData = 0; long size = 0; IoCloser closer(*io_); if (io_->open() == 0) { // Ensure that this is the correct image type if (isOrfType(*io_, false)) { pData = io_->mmap(true); size = io_->size(); OrfHeader orfHeader; if (0 == orfHeader.read(pData, 8)) { bo = orfHeader.byteOrder(); } } } if (bo == invalidByteOrder) { bo = littleEndian; } setByteOrder(bo); OrfParser::encode(*io_, pData, size, bo, exifData_, iptcData_, xmpData_); // may throw } // OrfImage::writeMetadata ByteOrder OrfParser::decode( ExifData& exifData, IptcData& iptcData, XmpData& xmpData, const byte* pData, uint32_t size ) { OrfHeader orfHeader; return TiffParserWorker::decode(exifData, iptcData, xmpData, pData, size, Tag::root, TiffMapping::findDecoder, &orfHeader); } WriteMethod OrfParser::encode( BasicIo& io, const byte* pData, uint32_t size, ByteOrder byteOrder, const ExifData& exifData, const IptcData& iptcData, const XmpData& xmpData ) { // Copy to be able to modify the Exif data ExifData ed = exifData; // Delete IFDs which do not occur in TIFF images static const IfdId filteredIfds[] = { panaRawId }; for (unsigned int i = 0; i < EXV_COUNTOF(filteredIfds); ++i) { #ifdef DEBUG std::cerr << "Warning: Exif IFD " << filteredIfds[i] << " not encoded\n"; #endif ed.erase(std::remove_if(ed.begin(), ed.end(), FindExifdatum(filteredIfds[i])), ed.end()); } std::auto_ptr header(new OrfHeader(byteOrder)); return TiffParserWorker::encode(io, pData, size, ed, iptcData, xmpData, Tag::root, TiffMapping::findEncoder, header.get(), 0); } // ************************************************************************* // free functions Image::AutoPtr newOrfInstance(BasicIo::AutoPtr io, bool create) { Image::AutoPtr image(new OrfImage(io, create)); if (!image->good()) { image.reset(); } return image; } bool isOrfType(BasicIo& iIo, bool advance) { const int32_t len = 8; byte buf[len]; iIo.read(buf, len); if (iIo.error() || iIo.eof()) { return false; } OrfHeader orfHeader; bool rc = orfHeader.read(buf, len); if (!advance || !rc) { iIo.seek(-len, BasicIo::cur); } return rc; } } // namespace Exiv2 namespace Exiv2 { namespace Internal { OrfHeader::OrfHeader(ByteOrder byteOrder) : TiffHeaderBase(0x4f52, 8, byteOrder, 0x00000008), sig_(0x4f52) { } OrfHeader::~OrfHeader() { } bool OrfHeader::read(const byte* pData, uint32_t size) { if (size < 8) return false; if (pData[0] == 0x49 && pData[1] == 0x49) { setByteOrder(littleEndian); } else if (pData[0] == 0x4d && pData[1] == 0x4d) { setByteOrder(bigEndian); } else { return false; } uint16_t sig = getUShort(pData + 2, byteOrder()); if (tag() != sig && 0x5352 != sig) return false; // #658: Added 0x5352 for SP-560UZ sig_ = sig; setOffset(getULong(pData + 4, byteOrder())); if (offset() != 0x00000008) return false; return true; } // OrfHeader::read DataBuf OrfHeader::write() const { DataBuf buf(8); switch (byteOrder()) { case littleEndian: buf.pData_[0] = 0x49; buf.pData_[1] = 0x49; break; case bigEndian: buf.pData_[0] = 0x4d; buf.pData_[1] = 0x4d; break; case invalidByteOrder: assert(false); break; } us2Data(buf.pData_ + 2, sig_, byteOrder()); ul2Data(buf.pData_ + 4, 0x00000008, byteOrder()); return buf; } }} // namespace Internal, Exiv2 exiv2-0.25/src/convert.cpp0000664000175000017500000021160612521135474015300 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: convert.cpp Version: $Rev: 3777 $ Author(s): Andreas Huggel (ahu) Vladimir Nadvornik (vn) History: 17-Mar-08, ahu: created basic converter framework 20-May-08, vn: added actual conversion logic */ // ***************************************************************************** #include "rcsid_int.hpp" EXIV2_RCSID("@(#) $Id: convert.cpp 3777 2015-05-02 11:55:40Z ahuggel $") // ***************************************************************************** // included header files #include "types.hpp" #include "exif.hpp" #include "iptc.hpp" #include "xmp.hpp" #include "futils.hpp" #include "convert.hpp" // + standard includes #include #include #include #include #include #include // for snprintf (C99) #ifdef _MSC_VER # define snprintf _snprintf #endif #include #if defined WIN32 && !defined __CYGWIN__ # include #endif #ifdef EXV_HAVE_ICONV # include # include #endif // Adobe XMP Toolkit #ifdef EXV_HAVE_XMP_TOOLKIT # define TXMP_STRING_TYPE std::string # include # include #endif // EXV_HAVE_XMP_TOOLKIT // ***************************************************************************** // local declarations namespace { #if defined WIN32 && !defined __CYGWIN__ // Convert string charset with Windows functions. bool convertStringCharsetWindows(std::string& str, const char* from, const char* to); #endif #if defined EXV_HAVE_ICONV // Convert string charset with iconv. bool convertStringCharsetIconv(std::string& str, const char* from, const char* to); #endif /*! @brief Get the text value of an XmpDatum \em pos. If \em pos refers to a LangAltValue, \em value is set to the default language entry without the x-default qualifier. If there is no default but exactly one entry, \em value is set to this entry, without the qualifier. The return code indicates if the operation was successful. */ bool getTextValue(std::string& value, const Exiv2::XmpData::iterator& pos); } // ***************************************************************************** // class member definitions namespace Exiv2 { //! Metadata conversions. class Converter { public: /*! @brief Type for metadata converter functions, taking two key strings, \em from and \em to. These functions have access to both the source and destination metadata containers and store the result directly in the destination container. */ typedef void (Converter::*ConvertFct)(const char* from, const char* to); //! Structure to define conversions between two keys. struct Conversion { MetadataId metadataId_; //!< Type of metadata for the first key. const char* key1_; //!< First metadata key. const char* key2_; //!< Second metadata key (always an XMP key for now). ConvertFct key1ToKey2_; //!< Conversion from first to second key. ConvertFct key2ToKey1_; //!< Conversion from second to first key. }; public: //! @name Creators //@{ //! Constructor for Exif tags and XMP properties. Converter(ExifData& exifData, XmpData& xmpData); //! Constructor for Iptc tags and XMP properties. Converter(IptcData& iptcData, XmpData& xmpData, const char *iptcCharset = 0); //@} //! @name Manipulators //@{ //! Convert Exif tags or IPTC datasets to XMP properties according to the conversion table. void cnvToXmp(); //! Convert XMP properties to Exif tags or IPTC datasets according to the conversion table. void cnvFromXmp(); /*! @brief Set the erase flag. This flag indicates whether successfully converted source records are erased. */ void setErase(bool onoff =true) { erase_ = onoff; } /*! @brief Set the overwrite flag. This flag indicates whether existing target records are overwritten. */ void setOverwrite(bool onoff =true) { overwrite_ = onoff; } //@} //! @name Conversion functions (manipulators) //@{ /*! @brief Do nothing conversion function. Use when, for example, a one-way conversion is needed. */ void cnvNone(const char*, const char*); /*! @brief Simple Exif to XMP conversion function. Sets the XMP property to an XmpText value containing the Exif value string. */ void cnvExifValue(const char* from, const char* to); /*! @brief Convert the tag Exif.Photo.UserComment to XMP. Todo: Convert the Exif comment to UTF-8 if necessary. */ void cnvExifComment(const char* from, const char* to); /*! @brief Converts Exif tag with multiple components to XMP array. Converts Exif tag with multiple components to XMP array. This function is used for ComponentsConfiguration tag. */ void cnvExifArray(const char* from, const char* to); /*! @brief Exif date to XMP conversion function. Sets the XMP property to an XmpText value containing date and time. This function combines values from multiple Exif tags as described in XMP specification. It is used for DateTime, DateTimeOriginal, DateTimeDigitized and GPSTimeStamp. */ void cnvExifDate(const char* from, const char* to); /*! @brief Exif version to XMP conversion function. Converts ExifVersion tag to XmpText value. */ void cnvExifVersion(const char* from, const char* to); /*! @brief Exif GPS version to XMP conversion function. Converts GPSVersionID tag to XmpText value. */ void cnvExifGPSVersion(const char* from, const char* to); /*! @brief Exif Flash to XMP conversion function. Converts Flash tag to XMP structure. */ void cnvExifFlash(const char* from, const char* to); /*! @brief Exif GPS coordinate to XMP conversion function. Converts GPS coordinates tag to XmpText value. It combines multiple Exif tags as described in XMP specification. */ void cnvExifGPSCoord(const char* from, const char* to); /*! @brief Simple XMP to Exif conversion function. Sets the Exif tag according to the XMP property. For LangAlt values, only the x-default entry is used. Todo: Escape non-ASCII characters in XMP text values */ void cnvXmpValue(const char* from, const char* to); /*! @brief Convert the tag Xmp.exif.UserComment to Exif. */ void cnvXmpComment(const char* from, const char* to); /*! @brief Converts XMP array to Exif tag with multiple components. Converts XMP array to Exif tag with multiple components. This function is used for ComponentsConfiguration tag. */ void cnvXmpArray(const char* from, const char* to); /*! @brief XMP to Exif date conversion function. Converts the XmpText value to Exif date and time. This function sets multiple Exif tags as described in XMP specification. It is used for DateTime, DateTimeOriginal, DateTimeDigitized and GPSTimeStamp. */ void cnvXmpDate(const char* from, const char* to); /*! @brief XMP to Exif version conversion function. Converts XmpText value to ExifVersion tag. */ void cnvXmpVersion(const char* from, const char* to); /*! @brief XMP to Exif GPS version conversion function. Converts XmpText value to GPSVersionID tag. */ void cnvXmpGPSVersion(const char* from, const char* to); /*! @brief XMP to Exif Flash conversion function. Converts XMP structure to Flash tag. */ void cnvXmpFlash(const char* from, const char* to); /*! @brief XMP to Exif GPS coordinate conversion function. Converts XmpText value to GPS coordinates tags. It sets multiple Exif tags as described in XMP specification. */ void cnvXmpGPSCoord(const char* from, const char* to); /*! @brief IPTC dataset to XMP conversion function. Multiple IPTC datasets with the same key are converted to an XMP array. */ void cnvIptcValue(const char* from, const char* to); /*! @brief XMP to IPTC dataset conversion function. Each array element of an XMP array value is added as one IPTC dataset. */ void cnvXmpValueToIptc(const char* from, const char* to); /*! @brief Write exif:NativeDigest and tiff:NativeDigest properties to XMP. Compute digests from Exif values and write them to exif:NativeDigest and tiff:NativeDigest properties. This should be compatible with XMP SDK. */ void writeExifDigest(); /*! @brief Copies metadata in appropriate direction. From values of exif:NativeDigest and tiff:NativeDigest detects which of XMP and Exif was updated more recently and copies metadata in appropriate direction. */ void syncExifWithXmp(); //@} //! @name Accessors //@{ //! Get the value of the erase flag, see also setErase(bool on). bool erase() const { return erase_; } //! Get the value of the overwrite flag, see also setOverwrite(bool on). bool overwrite() const { return overwrite_; } //@} private: bool prepareExifTarget(const char* to, bool force =false); bool prepareIptcTarget(const char* to, bool force =false); bool prepareXmpTarget(const char* to, bool force =false); std::string computeExifDigest(bool tiff); std::string computeIptcDigest(); // DATA static const Conversion conversion_[]; //findKey(ExifKey(to)); if (pos == exifData_->end()) return true; if (!overwrite_ && !force) return false; exifData_->erase(pos); return true; } bool Converter::prepareIptcTarget(const char* to, bool force) { Exiv2::IptcData::iterator pos = iptcData_->findKey(IptcKey(to)); if (pos == iptcData_->end()) return true; if (!overwrite_ && !force) return false; while ((pos = iptcData_->findKey(IptcKey(to))) != iptcData_->end()) { iptcData_->erase(pos); } return true; } bool Converter::prepareXmpTarget(const char* to, bool force) { Exiv2::XmpData::iterator pos = xmpData_->findKey(XmpKey(to)); if (pos == xmpData_->end()) return true; if (!overwrite_ && !force) return false; xmpData_->erase(pos); return true; } void Converter::cnvExifValue(const char* from, const char* to) { Exiv2::ExifData::iterator pos = exifData_->findKey(ExifKey(from)); if (pos == exifData_->end()) return; std::string value = pos->toString(); if (!pos->value().ok()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } if (!prepareXmpTarget(to)) return; (*xmpData_)[to] = value; if (erase_) exifData_->erase(pos); } void Converter::cnvExifComment(const char* from, const char* to) { Exiv2::ExifData::iterator pos = exifData_->findKey(ExifKey(from)); if (pos == exifData_->end()) return; if (!prepareXmpTarget(to)) return; const CommentValue* cv = dynamic_cast(&pos->value()); if (cv == 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } // Todo: Convert to UTF-8 if necessary (*xmpData_)[to] = cv->comment(); if (erase_) exifData_->erase(pos); } void Converter::cnvExifArray(const char* from, const char* to) { Exiv2::ExifData::iterator pos = exifData_->findKey(ExifKey(from)); if (pos == exifData_->end()) return; if (!prepareXmpTarget(to)) return; for (int i = 0; i < pos->count(); ++i) { std::string value = pos->toString(i); if (!pos->value().ok()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } (*xmpData_)[to] = value; } if (erase_) exifData_->erase(pos); } void Converter::cnvExifDate(const char* from, const char* to) { Exiv2::ExifData::iterator pos = exifData_->findKey(ExifKey(from)); if (pos == exifData_->end()) return; if (!prepareXmpTarget(to)) return; int year, month, day, hour, min, sec; std::string subsec; char buf[30]; if (std::string(from) != "Exif.GPSInfo.GPSTimeStamp") { std::string value = pos->toString(); if (!pos->value().ok()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } if (sscanf(value.c_str(), "%d:%d:%d %d:%d:%d", &year, &month, &day, &hour, &min, &sec) != 6) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << ", unable to parse '" << value << "'\n"; #endif return; } } else { // "Exif.GPSInfo.GPSTimeStamp" bool ok = true; if (pos->count() != 3) ok = false; if (ok) { for (int i = 0; i < 3; ++i) { if (pos->toRational(i).second == 0) { ok = false; break; } } } if (!ok) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } double dhour = pos->toFloat(0); double dmin = pos->toFloat(1); // Hack: Need Value::toDouble Rational r = pos->toRational(2); double dsec = static_cast(r.first)/r.second; if (!pos->value().ok()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } dsec = dhour * 3600.0 + dmin * 60.0 + dsec; hour = static_cast(dsec / 3600.0); dsec -= hour * 3600; min = static_cast(dsec / 60.0); dsec -= min * 60; sec = static_cast(dsec); dsec -= sec; snprintf(buf, sizeof(buf), "%.9f", dsec); buf[sizeof(buf) - 1] = 0; buf[1] = '.'; // some locales use ',' subsec = buf + 1; Exiv2::ExifData::iterator datePos = exifData_->findKey(ExifKey("Exif.GPSInfo.GPSDateStamp")); if (datePos == exifData_->end()) { datePos = exifData_->findKey(ExifKey("Exif.Photo.DateTimeOriginal")); } if (datePos == exifData_->end()) { datePos = exifData_->findKey(ExifKey("Exif.Photo.DateTimeDigitized")); } if (datePos == exifData_->end()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } std::string value = datePos->toString(); if (sscanf(value.c_str(), "%d:%d:%d", &year, &month, &day) != 3) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << ", unable to parse '" << value << "'\n"; #endif return; } } const char* subsecTag = 0; if (std::string(from) == "Exif.Image.DateTime") { subsecTag = "Exif.Photo.SubSecTime"; } else if (std::string(from) == "Exif.Photo.DateTimeOriginal") { subsecTag = "Exif.Photo.SubSecTimeOriginal"; } else if (std::string(from) == "Exif.Photo.DateTimeDigitized") { subsecTag = "Exif.Photo.SubSecTimeDigitized"; } if (subsecTag) { ExifData::iterator subsec_pos = exifData_->findKey(ExifKey(subsecTag)); if ( subsec_pos != exifData_->end() && subsec_pos->typeId() == asciiString) { std::string ss = subsec_pos->toString(); if (!ss.empty()) { bool ok = false; stringTo(ss, ok); if (ok) subsec = std::string(".") + ss; } } if (erase_) exifData_->erase(subsec_pos); } if (subsec.size() > 10) subsec = subsec.substr(0, 10); snprintf(buf, sizeof(buf), "%4d-%02d-%02dT%02d:%02d:%02d%s", year, month, day, hour, min, sec, subsec.c_str()); buf[sizeof(buf) - 1] = 0; (*xmpData_)[to] = buf; if (erase_) exifData_->erase(pos); } void Converter::cnvExifVersion(const char* from, const char* to) { Exiv2::ExifData::iterator pos = exifData_->findKey(ExifKey(from)); if (pos == exifData_->end()) return; if (!prepareXmpTarget(to)) return; std::ostringstream value; for (int i = 0; i < pos->count(); ++i) { value << static_cast(pos->toLong(i)); } (*xmpData_)[to] = value.str(); if (erase_) exifData_->erase(pos); } void Converter::cnvExifGPSVersion(const char* from, const char* to) { Exiv2::ExifData::iterator pos = exifData_->findKey(ExifKey(from)); if (pos == exifData_->end()) return; if (!prepareXmpTarget(to)) return; std::ostringstream value; for (int i = 0; i < pos->count(); ++i) { if (i > 0) value << '.'; value << pos->toLong(i); } (*xmpData_)[to] = value.str(); if (erase_) exifData_->erase(pos); } void Converter::cnvExifFlash(const char* from, const char* to) { Exiv2::ExifData::iterator pos = exifData_->findKey(ExifKey(from)); if (pos == exifData_->end() || pos->count() == 0) return; if (!prepareXmpTarget(to)) return; int value = pos->toLong(); if (!pos->value().ok()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } (*xmpData_)["Xmp.exif.Flash/exif:Fired"] = static_cast(value & 1); (*xmpData_)["Xmp.exif.Flash/exif:Return"] = (value >> 1) & 3; (*xmpData_)["Xmp.exif.Flash/exif:Mode"] = (value >> 3) & 3; (*xmpData_)["Xmp.exif.Flash/exif:Function"] = static_cast((value >> 5) & 1); (*xmpData_)["Xmp.exif.Flash/exif:RedEyeMode"] = static_cast((value >> 6) & 1); if (erase_) exifData_->erase(pos); } void Converter::cnvExifGPSCoord(const char* from, const char* to) { Exiv2::ExifData::iterator pos = exifData_->findKey(ExifKey(from)); if (pos == exifData_->end()) return; if (!prepareXmpTarget(to)) return; if (pos->count() != 3) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } Exiv2::ExifData::iterator refPos = exifData_->findKey(ExifKey(std::string(from) + "Ref")); if (refPos == exifData_->end()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } double deg[3]; for (int i = 0; i < 3; ++i) { const int32_t z = pos->toRational(i).first; const int32_t d = pos->toRational(i).second; if (d == 0) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } // Hack: Need Value::toDouble deg[i] = static_cast(z)/d; } double min = deg[0] * 60.0 + deg[1] + deg[2] / 60.0; int ideg = static_cast(min / 60.0); min -= ideg * 60; std::ostringstream oss; oss << ideg << "," << std::fixed << std::setprecision(7) << min << refPos->toString().c_str()[0]; (*xmpData_)[to] = oss.str(); if (erase_) exifData_->erase(pos); if (erase_) exifData_->erase(refPos); } void Converter::cnvXmpValue(const char* from, const char* to) { Exiv2::XmpData::iterator pos = xmpData_->findKey(XmpKey(from)); if (pos == xmpData_->end()) return; if (!prepareExifTarget(to)) return; std::string value; if (!getTextValue(value, pos)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } // Todo: Escape non-ASCII characters in XMP text values ExifKey key(to); Exifdatum ed(key); if (0 == ed.setValue(value)) { exifData_->add(ed); } if (erase_) xmpData_->erase(pos); } void Converter::cnvXmpComment(const char* from, const char* to) { if (!prepareExifTarget(to)) return; Exiv2::XmpData::iterator pos = xmpData_->findKey(XmpKey(from)); if (pos == xmpData_->end()) return; std::string value; if (!getTextValue(value, pos)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } // Assumes the XMP value is encoded in UTF-8, as it should be (*exifData_)[to] = "charset=Unicode " + value; if (erase_) xmpData_->erase(pos); } void Converter::cnvXmpArray(const char* from, const char* to) { if (!prepareExifTarget(to)) return; Exiv2::XmpData::iterator pos = xmpData_->findKey(XmpKey(from)); if (pos == xmpData_->end()) return; std::ostringstream array; for (int i = 0; i < pos->count(); ++i) { std::string value = pos->toString(i); if (!pos->value().ok()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } array << value; if (i != pos->count() - 1) array << " "; } (*exifData_)[to] = array.str(); if (erase_) xmpData_->erase(pos); } void Converter::cnvXmpDate(const char* from, const char* to) { Exiv2::XmpData::iterator pos = xmpData_->findKey(XmpKey(from)); if (pos == xmpData_->end()) return; if (!prepareExifTarget(to)) return; #ifdef EXV_HAVE_XMP_TOOLKIT std::string value = pos->toString(); if (!pos->value().ok()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } XMP_DateTime datetime; try { SXMPUtils::ConvertToDate(value, &datetime); } #ifndef SUPPRESS_WARNINGS catch (const XMP_Error& e) { EXV_WARNING << "Failed to convert " << from << " to " << to << " (" << e.GetErrMsg() << ")\n"; return; } #else catch (const XMP_Error&) { return; } #endif // SUPPRESS_WARNINGS char buf[30]; if (std::string(to) != "Exif.GPSInfo.GPSTimeStamp") { SXMPUtils::ConvertToLocalTime(&datetime); snprintf(buf, sizeof(buf), "%4d:%02d:%02d %02d:%02d:%02d", static_cast(datetime.year), static_cast(datetime.month), static_cast(datetime.day), static_cast(datetime.hour), static_cast(datetime.minute), static_cast(datetime.second)); buf[sizeof(buf) - 1] = 0; (*exifData_)[to] = buf; if (datetime.nanoSecond) { const char* subsecTag = 0; if (std::string(to) == "Exif.Image.DateTime") { subsecTag = "Exif.Photo.SubSecTime"; } else if (std::string(to) == "Exif.Photo.DateTimeOriginal") { subsecTag = "Exif.Photo.SubSecTimeOriginal"; } else if (std::string(to) == "Exif.Photo.DateTimeDigitized") { subsecTag = "Exif.Photo.SubSecTimeDigitized"; } if (subsecTag) { prepareExifTarget(subsecTag, true); (*exifData_)[subsecTag] = toString(datetime.nanoSecond); } } } else { // "Exif.GPSInfo.GPSTimeStamp" // Ignore the time zone, assuming the time is in UTC as it should be URational rhour(datetime.hour, 1); URational rmin(datetime.minute, 1); URational rsec(datetime.second, 1); if (datetime.nanoSecond != 0) { if (datetime.second != 0) { // Add the seconds to rmin so that the ns fit into rsec rmin.second = 60; rmin.first *= 60; rmin.first += datetime.second; } rsec.second = 1000000000; rsec.first = datetime.nanoSecond; } std::ostringstream array; array << rhour << " " << rmin << " " << rsec; (*exifData_)[to] = array.str(); prepareExifTarget("Exif.GPSInfo.GPSDateStamp", true); snprintf(buf, sizeof(buf), "%4d:%02d:%02d", static_cast(datetime.year), static_cast(datetime.month), static_cast(datetime.day)); buf[sizeof(buf) - 1] = 0; (*exifData_)["Exif.GPSInfo.GPSDateStamp"] = buf; } if (erase_) xmpData_->erase(pos); #else # ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; # endif #endif // !EXV_HAVE_XMP_TOOLKIT } void Converter::cnvXmpVersion(const char* from, const char* to) { Exiv2::XmpData::iterator pos = xmpData_->findKey(XmpKey(from)); if (pos == xmpData_->end()) return; if (!prepareExifTarget(to)) return; std::string value = pos->toString(); if (!pos->value().ok() || value.length() < 4) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } std::ostringstream array; array << static_cast(value[0]) << " " << static_cast(value[1]) << " " << static_cast(value[2]) << " " << static_cast(value[3]); (*exifData_)[to] = array.str(); if (erase_) xmpData_->erase(pos); } void Converter::cnvXmpGPSVersion(const char* from, const char* to) { Exiv2::XmpData::iterator pos = xmpData_->findKey(XmpKey(from)); if (pos == xmpData_->end()) return; if (!prepareExifTarget(to)) return; std::string value = pos->toString(); if (!pos->value().ok()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } for (unsigned i = 0; i < value.length(); ++i) { if (value[i] == '.') value[i] = ' '; } (*exifData_)[to] = value; if (erase_) xmpData_->erase(pos); } void Converter::cnvXmpFlash(const char* from, const char* to) { Exiv2::XmpData::iterator pos = xmpData_->findKey(XmpKey(std::string(from) + "/exif:Fired")); if (pos == xmpData_->end()) return; if (!prepareExifTarget(to)) return; unsigned short value = 0; if (pos != xmpData_->end() && pos->count() > 0) { int fired = pos->toLong(); if (pos->value().ok()) value |= fired & 1; #ifndef SUPPRESS_WARNINGS else EXV_WARNING << "Failed to convert " << std::string(from) + "/exif:Fired" << " to " << to << "\n"; #endif } pos = xmpData_->findKey(XmpKey(std::string(from) + "/exif:Return")); if (pos != xmpData_->end() && pos->count() > 0) { int ret = pos->toLong(); if (pos->value().ok()) value |= (ret & 3) << 1; #ifndef SUPPRESS_WARNINGS else EXV_WARNING << "Failed to convert " << std::string(from) + "/exif:Return" << " to " << to << "\n"; #endif } pos = xmpData_->findKey(XmpKey(std::string(from) + "/exif:Mode")); if (pos != xmpData_->end() && pos->count() > 0) { int mode = pos->toLong(); if (pos->value().ok()) value |= (mode & 3) << 3; #ifndef SUPPRESS_WARNINGS else EXV_WARNING << "Failed to convert " << std::string(from) + "/exif:Mode" << " to " << to << "\n"; #endif } pos = xmpData_->findKey(XmpKey(std::string(from) + "/exif:Function")); if (pos != xmpData_->end() && pos->count() > 0) { int function = pos->toLong(); if (pos->value().ok()) value |= (function & 1) << 5; #ifndef SUPPRESS_WARNINGS else EXV_WARNING << "Failed to convert " << std::string(from) + "/exif:Function" << " to " << to << "\n"; #endif } pos = xmpData_->findKey(XmpKey(std::string(from) + "/exif:RedEyeMode")); if (pos != xmpData_->end() && pos->count() > 0) { int red = pos->toLong(); if (pos->value().ok()) value |= (red & 1) << 6; #ifndef SUPPRESS_WARNINGS else EXV_WARNING << "Failed to convert " << std::string(from) + "/exif:RedEyeMode" << " to " << to << "\n"; #endif } (*exifData_)[to] = value; if (erase_) xmpData_->erase(pos); } void Converter::cnvXmpGPSCoord(const char* from, const char* to) { Exiv2::XmpData::iterator pos = xmpData_->findKey(XmpKey(from)); if (pos == xmpData_->end()) return; if (!prepareExifTarget(to)) return; std::string value = pos->toString(); if (!pos->value().ok()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } if (value.empty()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << from << " is empty\n"; #endif return; } double deg = 0.0; double min = 0.0; double sec = 0.0; char ref = '\0'; char sep1 = '\0'; char sep2 = '\0'; ref = value[value.length() - 1]; value.erase(value.length() - 1); std::istringstream in(value); in >> deg >> sep1 >> min >> sep2; if (sep2 == ',') { in >> sec; } else { sec = (min - static_cast(min)) * 60.0; min = static_cast(static_cast(min)); sep2 = ','; } if ( in.bad() || !(ref == 'N' || ref == 'S' || ref == 'E' || ref == 'W') || sep1 != ',' || sep2 != ',' || !in.eof()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } Rational rdeg = floatToRationalCast(static_cast(deg)); Rational rmin = floatToRationalCast(static_cast(min)); Rational rsec = floatToRationalCast(static_cast(sec)); std::ostringstream array; array << rdeg << " " << rmin << " " << rsec; (*exifData_)[to] = array.str(); prepareExifTarget((std::string(to) + "Ref").c_str(), true); char ref_str[2] = {ref, 0}; (*exifData_)[std::string(to) + "Ref"] = ref_str; if (erase_) xmpData_->erase(pos); } void Converter::cnvIptcValue(const char* from, const char* to) { Exiv2::IptcData::iterator pos = iptcData_->findKey(IptcKey(from)); if (pos == iptcData_->end()) return; if (!prepareXmpTarget(to)) return; while (pos != iptcData_->end()) { if (pos->key() == from) { std::string value = pos->toString(); if (!pos->value().ok()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif ++pos; continue; } if (iptcCharset_) convertStringCharset(value, iptcCharset_, "UTF-8"); (*xmpData_)[to] = value; if (erase_) { pos = iptcData_->erase(pos); continue; } } ++pos; } } void Converter::cnvXmpValueToIptc(const char* from, const char* to) { XmpData::iterator pos = xmpData_->findKey(XmpKey(from)); if (pos == xmpData_->end()) return; if (!prepareIptcTarget(to)) return; if (pos->typeId() == langAlt || pos->typeId() == xmpText) { std::string value; if (!getTextValue(value, pos)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif return; } (*iptcData_)[to] = value; (*iptcData_)["Iptc.Envelope.CharacterSet"] = "\033%G"; // indicate UTF-8 encoding if (erase_) xmpData_->erase(pos); return; } int count = pos->count(); bool added = false; for (int i = 0; i < count; ++i) { std::string value = pos->toString(i); if (!pos->value().ok()) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "Failed to convert " << from << " to " << to << "\n"; #endif continue; } IptcKey key(to); Iptcdatum id(key); id.setValue(value); iptcData_->add(id); added = true; } if (added) (*iptcData_)["Iptc.Envelope.CharacterSet"] = "\033%G"; // indicate UTF-8 encoding if (erase_) xmpData_->erase(pos); } std::string Converter::computeExifDigest(bool tiff) { #ifdef EXV_HAVE_XMP_TOOLKIT std::ostringstream res; MD5_CTX context; unsigned char digest[16]; MD5Init ( &context ); for (unsigned int i = 0; i < EXV_COUNTOF(conversion_); ++i) { const Conversion& c = conversion_[i]; if (c.metadataId_ == mdExif) { Exiv2::ExifKey key(c.key1_); if (tiff && key.groupName() != "Image") continue; if (!tiff && key.groupName() == "Image") continue; if (!res.str().empty()) res << ','; res << key.tag(); Exiv2::ExifData::iterator pos = exifData_->findKey(key); if (pos == exifData_->end()) continue; DataBuf data(pos->size()); pos->copy(data.pData_, littleEndian /* FIXME ? */); MD5Update ( &context, data.pData_, data.size_); } } MD5Final(digest, &context); res << ';'; res << std::setw(2) << std::setfill('0') << std::hex << std::uppercase; for (int i = 0; i < 16; ++i) { res << static_cast(digest[i]); } return res.str(); #else return std::string(""); #endif } void Converter::writeExifDigest() { #ifdef EXV_HAVE_XMP_TOOLKIT (*xmpData_)["Xmp.tiff.NativeDigest"] = computeExifDigest(true); (*xmpData_)["Xmp.exif.NativeDigest"] = computeExifDigest(false); #endif } void Converter::syncExifWithXmp() { Exiv2::XmpData::iterator td = xmpData_->findKey(XmpKey("Xmp.tiff.NativeDigest")); Exiv2::XmpData::iterator ed = xmpData_->findKey(XmpKey("Xmp.exif.NativeDigest")); if (td != xmpData_->end() && ed != xmpData_->end()) { if (td->value().toString() == computeExifDigest(true) && ed->value().toString() == computeExifDigest(false)) { // We have both digests and the values match // XMP is up-to-date, we should update Exif setOverwrite(true); setErase(false); cnvFromXmp(); writeExifDigest(); return; } else { // We have both digests and the values do not match // Exif was modified after XMP, we should update XMP setOverwrite(true); setErase(false); cnvToXmp(); writeExifDigest(); return; } } else { // We don't have both digests, it is probably the first conversion to XMP setOverwrite(false); // to be safe setErase(false); cnvToXmp(); writeExifDigest(); return; } } std::string Converter::computeIptcDigest() { #ifdef EXV_HAVE_XMP_TOOLKIT std::ostringstream res; MD5_CTX context; unsigned char digest[16]; MD5Init(&context); DataBuf data = IptcParser::encode(*iptcData_); MD5Update(&context, data.pData_, data.size_); MD5Final(digest, &context); res << std::setw(2) << std::setfill('0') << std::hex << std::uppercase; for (int i = 0; i < 16; ++i) { res << static_cast(digest[i]); } return res.str(); #else return std::string(""); #endif } // ************************************************************************* // free functions void copyExifToXmp(const ExifData& exifData, XmpData& xmpData) { Converter converter(const_cast(exifData), xmpData); converter.cnvToXmp(); } void moveExifToXmp(ExifData& exifData, XmpData& xmpData) { Converter converter(const_cast(exifData), xmpData); converter.setErase(); converter.cnvToXmp(); } void copyXmpToExif(const XmpData& xmpData, ExifData& exifData) { Converter converter(exifData, const_cast(xmpData)); converter.cnvFromXmp(); } void moveXmpToExif(XmpData& xmpData, ExifData& exifData) { Converter converter(exifData, const_cast(xmpData)); converter.setErase(); converter.cnvFromXmp(); } void syncExifWithXmp(ExifData& exifData, XmpData& xmpData) { Converter converter(exifData, const_cast(xmpData)); converter.syncExifWithXmp(); } void copyIptcToXmp(const IptcData& iptcData, XmpData& xmpData, const char *iptcCharset) { if (!iptcCharset) iptcCharset = iptcData.detectCharset(); if (!iptcCharset) iptcCharset = "ISO-8859-1"; Converter converter(const_cast(iptcData), xmpData, iptcCharset); converter.cnvToXmp(); } void moveIptcToXmp(IptcData& iptcData, XmpData& xmpData, const char *iptcCharset) { if (!iptcCharset) iptcCharset = iptcData.detectCharset(); if (!iptcCharset) iptcCharset = "ISO-8859-1"; Converter converter(const_cast(iptcData), xmpData, iptcCharset); converter.setErase(); converter.cnvToXmp(); } void copyXmpToIptc(const XmpData& xmpData, IptcData& iptcData) { Converter converter(iptcData, const_cast(xmpData)); converter.cnvFromXmp(); } void moveXmpToIptc(XmpData& xmpData, IptcData& iptcData) { Converter converter(iptcData, const_cast(xmpData)); converter.setErase(); converter.cnvFromXmp(); } bool convertStringCharset(std::string &str, const char* from, const char* to) { if (0 == strcmp(from, to)) return true; // nothing to do bool ret = false; #if defined EXV_HAVE_ICONV ret = convertStringCharsetIconv(str, from, to); #elif defined WIN32 && !defined __CYGWIN__ ret = convertStringCharsetWindows(str, from, to); #else # ifndef SUPPRESS_WARNINGS EXV_WARNING << "Charset conversion required but no character mapping functionality available.\n"; # endif #endif return ret; } } // namespace Exiv2 // ***************************************************************************** // local definitions namespace { using namespace Exiv2; #if defined WIN32 && !defined __CYGWIN__ bool swapBytes(std::string& str) { // Naive byte-swapping, I'm sure this can be done more efficiently if (str.size() & 1) { #ifdef DEBUG EXV_DEBUG << "swapBytes: Size " << str.size() << " of input string is not even.\n"; #endif return false; } for (unsigned int i = 0; i < str.size() / 2; ++i) { char t = str[2 * i]; str[2 * i] = str[2 * i + 1]; str[2 * i + 1] = t; } return true; } bool mb2wc(UINT cp, std::string& str) { if (str.empty()) return true; int len = MultiByteToWideChar(cp, 0, str.c_str(), (int)str.size(), 0, 0); if (len == 0) { #ifdef DEBUG EXV_DEBUG << "mb2wc: Failed to determine required size of output buffer.\n"; #endif return false; } std::vector out; out.resize(len * 2); int ret = MultiByteToWideChar(cp, 0, str.c_str(), (int)str.size(), (LPWSTR)&out[0], len * 2); if (ret == 0) { #ifdef DEBUG EXV_DEBUG << "mb2wc: Failed to convert the input string to a wide character string.\n"; #endif return false; } str.assign(out.begin(), out.end()); return true; } bool wc2mb(UINT cp, std::string& str) { if (str.empty()) return true; if (str.size() & 1) { #ifdef DEBUG EXV_DEBUG << "wc2mb: Size " << str.size() << " of input string is not even.\n"; #endif return false; } int len = WideCharToMultiByte(cp, 0, (LPCWSTR)str.data(), (int)str.size() / 2, 0, 0, 0, 0); if (len == 0) { #ifdef DEBUG EXV_DEBUG << "wc2mb: Failed to determine required size of output buffer.\n"; #endif return false; } std::vector out; out.resize(len); int ret = WideCharToMultiByte(cp, 0, (LPCWSTR)str.data(), (int)str.size() / 2, (LPSTR)&out[0], len, 0, 0); if (ret == 0) { #ifdef DEBUG EXV_DEBUG << "wc2mb: Failed to convert the input string to a multi byte string.\n"; #endif return false; } str.assign(out.begin(), out.end()); return true; } bool utf8ToUcs2be(std::string& str) { bool ret = mb2wc(CP_UTF8, str); if (ret) ret = swapBytes(str); return ret; } bool utf8ToUcs2le(std::string& str) { return mb2wc(CP_UTF8, str); } bool ucs2beToUtf8(std::string& str) { bool ret = swapBytes(str); if (ret) ret = wc2mb(CP_UTF8, str); return ret; } bool ucs2beToUcs2le(std::string& str) { return swapBytes(str); } bool ucs2leToUtf8(std::string& str) { return wc2mb(CP_UTF8, str); } bool ucs2leToUcs2be(std::string& str) { return swapBytes(str); } bool iso88591ToUtf8(std::string& str) { bool ret = mb2wc(28591, str); if (ret) ret = wc2mb(CP_UTF8, str); return ret; } bool asciiToUtf8(std::string& /*str*/) { // nothing to do return true; } typedef bool (*ConvFct)(std::string& str); struct ConvFctList { bool operator==(std::pair fromTo) const { return 0 == strcmp(from_, fromTo.first) && 0 == strcmp(to_, fromTo.second); } const char* from_; const char* to_; ConvFct convFct_; }; const ConvFctList convFctList[] = { { "UTF-8", "UCS-2BE", utf8ToUcs2be }, { "UTF-8", "UCS-2LE", utf8ToUcs2le }, { "UCS-2BE", "UTF-8", ucs2beToUtf8 }, { "UCS-2BE", "UCS-2LE", ucs2beToUcs2le }, { "UCS-2LE", "UTF-8", ucs2leToUtf8 }, { "UCS-2LE", "UCS-2BE", ucs2leToUcs2be }, { "ISO-8859-1", "UTF-8", iso88591ToUtf8 }, { "ASCII", "UTF-8", asciiToUtf8 } // Update the convertStringCharset() documentation if you add more here! }; bool convertStringCharsetWindows(std::string& str, const char* from, const char* to) { bool ret = false; const ConvFctList* p = find(convFctList, std::make_pair(from, to)); std::string tmpstr = str; if (p) ret = p->convFct_(tmpstr); #ifndef SUPPRESS_WARNINGS else { EXV_WARNING << "No Windows function to map character string from " << from << " to " << to << " available.\n"; } #endif if (ret) str = tmpstr; return ret; } #endif // defined WIN32 && !defined __CYGWIN__ #if defined EXV_HAVE_ICONV bool convertStringCharsetIconv(std::string& str, const char* from, const char* to) { if (0 == strcmp(from, to)) return true; // nothing to do bool ret = true; iconv_t cd; cd = iconv_open(to, from); if (cd == (iconv_t)(-1)) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "iconv_open: " << strError() << "\n"; #endif return false; } std::string outstr; EXV_ICONV_CONST char* inptr = const_cast(str.c_str()); size_t inbytesleft = str.length(); while (inbytesleft) { char outbuf[256]; char* outptr = outbuf; size_t outbytesleft = sizeof(outbuf); size_t rc = iconv(cd, &inptr, &inbytesleft, &outptr, &outbytesleft); int outbytesProduced = sizeof(outbuf) - outbytesleft; if (rc == size_t(-1) && errno != E2BIG) { #ifndef SUPPRESS_WARNINGS EXV_WARNING << "iconv: " << strError() << " inbytesleft = " << inbytesleft << "\n"; #endif ret = false; break; } outstr.append(std::string(outbuf, outbytesProduced)); } if (cd != (iconv_t)(-1)) { iconv_close(cd); } if (ret) str = outstr; return ret; } #endif // EXV_HAVE_ICONV bool getTextValue(std::string& value, const XmpData::iterator& pos) { if (pos->typeId() == langAlt) { // get the default language entry without x-default qualifier value = pos->toString(0); if (!pos->value().ok() && pos->count() == 1) { // If there is no default but exactly one entry, take that // without the qualifier value = pos->toString(); if ( pos->value().ok() && value.length() > 5 && value.substr(0, 5) == "lang=") { std::string::size_type pos = value.find_first_of(' '); if (pos != std::string::npos) { value = value.substr(pos + 1); } else { value.clear(); } } } } else { value = pos->toString(); } return pos->value().ok(); } } exiv2-0.25/src/sonymn_int.hpp0000664000175000017500000000617412521135474016024 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file sonymn_int.hpp @brief Sony MakerNote implemented using the following references:
Sony Makernote list by Phil Harvey
Email communication with caulier dot gilles at gmail dot com
@version $Rev: 3777 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @author Gilles Caulier (cgilles) caulier dot gilles at gmail dot com @date 18-Apr-05, ahu: created */ #ifndef SONYMN_INT_HPP_ #define SONYMN_INT_HPP_ // ***************************************************************************** // included header files #include "tags.hpp" #include "types.hpp" // + standard includes #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { namespace Internal { // ***************************************************************************** // class definitions //! MakerNote for Sony cameras class SonyMakerNote { public: //! Return read-only list of built-in Sony tags static const TagInfo* tagList(); //! Return read-only list of built-in Sony Standard Camera Settings tags static const TagInfo* tagListCs(); //! Return read-only list of built-in Sony Standard Camera Settings version 2 tags static const TagInfo* tagListCs2(); //! @name Print functions for Sony %MakerNote tags //@{ //! Print Sony Camera Model static std::ostream& print0xb000(std::ostream&, const Value&, const ExifData*); //! Print Full and Preview Image size static std::ostream& printImageSize(std::ostream&, const Value&, const ExifData*); private: //! Tag information static const TagInfo tagInfo_[]; static const TagInfo tagInfoCs_[]; static const TagInfo tagInfoCs2_[]; }; // class SonyMakerNote }} // namespace Internal, Exiv2 #endif // #ifndef SONYMN_INT_HPP_ exiv2-0.25/msvc2005/0000775000175000017500000000000012541547731013603 5ustar andreasandreasexiv2-0.25/msvc2005/write2-test/0000775000175000017500000000000012541547730015773 5ustar andreasandreasexiv2-0.25/msvc2005/write2-test/write2-test.vcproj0000664000175000017500000003265712517642015021421 0ustar andreasandreas exiv2-0.25/msvc2005/write-test/0000775000175000017500000000000012541547730015711 5ustar andreasandreasexiv2-0.25/msvc2005/write-test/write-test.vcproj0000664000175000017500000003265412517642015021252 0ustar andreasandreas exiv2-0.25/msvc2005/path-test/0000775000175000017500000000000012541547730015513 5ustar andreasandreasexiv2-0.25/msvc2005/path-test/path-test.vcproj0000664000175000017500000003360712517642015020655 0ustar andreasandreas exiv2-0.25/msvc2005/libexiv2/0000775000175000017500000000000012541547730015326 5ustar andreasandreasexiv2-0.25/msvc2005/libexiv2/libeay32.vcproj0000664000175000017500000002216612447511333020167 0ustar andreasandreas exiv2-0.25/msvc2005/libexiv2/libexiv2.vcproj0000664000175000017500000004743012523351131020273 0ustar andreasandreas exiv2-0.25/msvc2005/libexiv2/build_libeay32.bat0000664000175000017500000000256712447511333020614 0ustar andreasandreas@echo off echo +++ echo +++ building %*+++ echo +++ setlocal ENABLEEXTENSIONS set PLATFORM=%1 set CONFIG=%2 set OutDir=%3 set VCInstallDir=%4 set ProjectDir=%5 set SolutionDir=%6 set Action=%7 echo +++ PLATFORM = %PLATFORM% echo +++ CONFIG = %CONFIG% echo +++ OutDir = %OutDir% echo +++ VCInstallDir = %VCInstallDir% echo +++ ProjectDir = %ProjectDir% echo +++ SolutionDir = %SolutionDir% echo +++ Action = %Action% echo +++ echo. @echo on cd %PROJECTDIR%..\..\..\openssl set BUILD=0 if %ACTION% == rebuild set BUILD=build if NOT EXIST %SolutionDir%bin\%PLATFORM%\%CONFIG%\ssleay32.lib set BUILD=build if NOT EXIST %SolutionDir%bin\%PLATFORM%\%CONFIG%\libeay32.lib set BUILD=build if %BUILD% == 0 GOTO POSTPROCESS set SHARED=shared if %CONFIG% == Debug set SHARED=no-shared if %CONFIG% == Release set SHARED=no-shared if NOT EXIST %SolutionDir%bin\%PLATFORM%\%CONFIG%\ mkdir %SolutionDir%bin\%PLATFORM%\%CONFIG%\ copy/y %ProjectDir%..\openssl\%PLATFORM%\%CONFIG%\lib\*.lib %SolutionDir%bin\%PLATFORM%\%CONFIG%\ if %SHARED% == shared copy/y %ProjectDir%..\openssl\%PLATFORM%\%CONFIG%\bin\*.dll %SolutionDir%bin\%PLATFORM%\%CONFIG%\ :POSTPROCESS set ERRORLEVEL=0 echo OK goto EOF :ERROR set ERRORLEVEL=911 :EOF rem That's all Folks rem ---------------- exiv2-0.25/msvc2005/httptest/0000775000175000017500000000000012541547730015461 5ustar andreasandreasexiv2-0.25/msvc2005/httptest/httptest.vcproj0000664000175000017500000003430612517642015020566 0ustar andreasandreas exiv2-0.25/msvc2005/zlib127/0000775000175000017500000000000012541547730014774 5ustar andreasandreasexiv2-0.25/msvc2005/zlib127/zlib.vcproj0000664000175000017500000003216612403423707017163 0ustar andreasandreas exiv2-0.25/msvc2005/exiv2json/0000775000175000017500000000000012541547730015531 5ustar andreasandreasexiv2-0.25/msvc2005/exiv2json/exiv2json.vcproj0000664000175000017500000003430212523351131020673 0ustar andreasandreas exiv2-0.25/msvc2005/addmoddel/0000775000175000017500000000000012541547730015517 5ustar andreasandreasexiv2-0.25/msvc2005/addmoddel/addmoddel.vcproj0000664000175000017500000003355212517642015020664 0ustar andreasandreas exiv2-0.25/msvc2005/xmpsample/0000775000175000017500000000000012541547731015611 5ustar andreasandreasexiv2-0.25/msvc2005/xmpsample/xmpsample.vcproj0000664000175000017500000003265112517641614021051 0ustar andreasandreas exiv2-0.25/msvc2005/exiv2/0000775000175000017500000000000012541547730014637 5ustar andreasandreasexiv2-0.25/msvc2005/exiv2/cleaner.bat0000664000175000017500000000013611505202322016720 0ustar andreasandreasdel/s *.vcxproj *.ncb *.user *.filters *.sdf for /r %d in (build,win32,x64) do rmdir/s/q %d exiv2-0.25/msvc2005/exiv2/exiv2.vcproj0000664000175000017500000003620212517642015017117 0ustar andreasandreas exiv2-0.25/msvc2005/exifvalue/0000775000175000017500000000000012541547730015572 5ustar andreasandreasexiv2-0.25/msvc2005/exifvalue/exifvalue.vcproj0000775000175000017500000003340112517642015021006 0ustar andreasandreas exiv2-0.25/msvc2005/testimages/0000775000175000017500000000000012541547731015750 5ustar andreasandreasexiv2-0.25/msvc2005/testimages/test.jpg0000664000175000017500000005016711510453102017421 0ustar andreasandreasJFIF'ExifMM* z(2i LCanonCanon PowerShot S5 IS2008:09:06 14:34:23 @H'P0220Pdx    | N 0100     ( 2008:09:06 14:34:232008:09:06 14:34:23 t S4.&"I   & v~~E" (# $N % l&0 z' ( \  Xdt RD(@#IMG:PowerShot S5 IS JPEGFirmware Version 1.01Robin MillsrjAyn xxxlxx (^ (^(a qnqxll < W/@d,T  ##`  @,,,3aU(,' R980100   ( :    !#"! $)4,$'1'-=-167:::"*?D>8B3796    OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOx!  }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzw!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?5t*W`+NޑHzRq=丷HX>0O-V#nx䟭+;(L}E*q~zs @c)%ÉHܡROB=Gj{:zօc.K0zk![hKp-I'_NJ" (:SZh&5qsNiNqVHxN^ĹF3 9?Ȫcx /8Ӵ-ӉdW^Κ ՓֺiQyַ!Qj[o0tVGP{Y_wPy'WMi>ĺɩ-i=9ufdIiKJ8PyHM8oD^c]3U.>I\@8'BƓ3Dq۱]EU@rČ㧦(`gisڥFkoD7R:桻gx/c+*0sw(H1VКԓOxAW˖o|$sT]>T>E]k  ?߆Cu=!Rqzc[r@yQbgySTbmOKKՕd,.Ucְ,5a1Hg^_QQ׹N׿uIoqn`GA#nq׊d1hH2w'@:[#kcKJCnKۑSei6$x??)֫Ky=LX4&0Tj݇YoA,N?zY$խByё2S${ȮC 0rwZ[E×^ĿZX3Cv9IK=TaM>gQÙPO©a1">ղЇo:d|GOzxⵘ4dN8W[dbn% UmZEy˖h\?5)ӡ;e+4s|yX~0 *q ,{F}_¢u5,ZK$glXeBdHPOr$=}+nIT^df9$ojdlp,G4Gr1z~Xemђ*Qi'̖{<4ecUIl p:Vueܜ|ȬmOM%O%qAedl0B3r`FIt돲F%zמRmgu*^mg)^VZW$εn-F#‚1=jS{";/MsGFzUyYnpH8o$rFY#S\f־F ?tOE=MCأ$WHqS-p9<~=O*:?qT p9Qt{qmIs#Bd:U] 3ZO:q<=?_ݚo" 9I=vضGo$u9QO&Ŧ]0QKխ 1&T'^ӭYyqA)vQV"peVlq9a D,Oֳޤq8'\>qxSOt}JM<`Уgw -VG1VEz fg>l@ƦKF ;هkjQvd)[v:# NOqT"L/hC޺1m$P[e(3GY6 KGGO֡[3_K[O"LeH'}+RDcކcVmkNUVF ;~5%zU#gTAfw5VZ_oX\6}IR_)jj?ĻE1:FzzUQШ|qG0M⹭2p䑸|-qnu%IGZj]tuַw:_lw)<֥A< W]bhdqZ5kiZ2Ie8 s>.OsilI!^?ҹa4OFZNGu$.i y tNO  kMC2 (BǯҵSKxvͷ"NˑW8뚛GEiVcջ#^\Cko"ЈOf5OrFzOO_ғW_MyD1u#~'cA$Yp.zcXΣ|_j7fQ4Zݗ̺4!#B5njQ\_icJn?H,H]O]1.XJdn} &$g=LL@ҶT,:PnhGaYZZ:ݷ]wVm+(m*0ƴt;%mN>JJMJkލ;s>9uqOeƵ\MuA }w?uB>lׯ}srJ6 `8ֻhD[<]Sȍq#]mK5۲Ed`>Ch(cc-+)PAO5brMGWk^7ȥˡ̶ߴC-Xd~8oa`] o;$cSzQ|?)斑[Ie1[Xn=E;N5kC枭>3b0GҼ[I#I&ҳ^gV4=$vP=kմikolJFFHnF|1I 9n};⺌La_7}1Z. O>қ==iJ6gtfQXiExWP0Juo\mwe(Oכ%r._C.-6 냃xŴK2FAČX.~E&z2Wm ּSo B ?Ri1*^=e=>ʱ.R;b8  #Qm_ice<`~Vg:w:z2ɟ87Z(qzӑ( U%6խ J~\x Ld9ȥ-a]2#٢ј++ 3۵"ϻfhinK+Rv\F3XӢ6IϽL0_!Jmiy3Y1n{GV]N/θJ޽lBsOEs{}S16K>6w=b6oj슺o>)ݭm˝#Zz_å~%ܗl)'#=1\5ޝvBό[kv˚O#W!xS4ne3 u$ 鶗vu֗$[]q@TO^2+EYn.݌L+Fd۟̏ʽiMs+:|ǶB#+'9 t?MͰYC+ ǮGoTV=-$t% KѲKHC4@lwDDy61Zr[٧s6r[P$R1^T;zu~u4DmphgǞ: X6@S"6H:+wNWK#H\m46ݲGyNJ^SzJ &,MbV (EWMYۛDے$% gyݿ8XAOƕt^o;t𝈅Dcİ_7=Q}ZwG͏8K>ױ;ߏuC3;;weϭvV+/iJ>MPv$~Sf1 WyllYȬ}>`W7ns˰O)Lq)a0|Jtt6l28+m vRdc + eՓJp\k+ >΂--E-)QS<>-..kǏOogWBu?9fe*AV9|!`uXG*Ƈ|;gߏη5Wc y(9 w5;(_#+]{K᤹i-cSq̄Hnz5zF` m{+˨{desc,_dscmmmod|(cprt$XYZ u>XYZ Z,XYZ &XYZ Rsf32 B&lcurvcurvcurvvcgtL6)j; ] `b 5&e "#:$y%&(1)o*+-#.Z/013435V6n789;?@ABCEFGHIJKLMNO(P?QRRdSwTUVWXYZ[\]^` ab-c@dReUfPgLhEi@j?krFsPtZufvxwxyz{|}~rfknsvwtni_SF8'Ӡsponnkgb[SLE>70)$ϺtG쾿lDĵŔvY?' ˿̐c9џ}[8ףzP$ܗuV7U*c.T]9tIh<g!  8 A5N%\ "#B$p%&( )?*o+,-/0>1Z2s345679:7;P?@ABCDEFGHIJKzLMNOPQRSTUVWXYZ[\]_` ab bcdefghij}kslim`n\oYpVqVr[s`tcufvbwQxAy2z'{|}~ ߇Ј~paP>*͜{wqi`XOG>5-%ŵoEȺ~[:œÈxfJ&ɺʚ|`D+ҮӒuW6ڲۦܖ݆t_H1{Y7}rdVG6$ZxzC > e +?!w:h "0#^$%&( )0*M+h,|-./0123456789:;{E?-@@ABCD~E\F?G H HIJKLMNOzPeQOR:S$TTUVWXYZ[\]]8^^_`abrcXd@e+fgghijklmnopqrstuvwxyz{|}~qb[QI>1!ʍpL(ܓcA%ɛy]A% ӣs^I/嫶a6 䰾z\A'ԹúiA‘pQ1ȫɅ]4ͪ΃gP:$ պ֝~\9ܡzR)hTC74>WB(kqndin6gX1L&LP T9. #1AQbs5Oj'Lt9q]].w`^  u 3 U ! i RHK[w4Xx 9rYOQ ![" "#{$A%%&'h(6))*+v,H--./0a1122345t6d7S8D9.:; ;<=>?@ABCDEFHI,J.K9LAMON_OvPQRSU'VVWXZ[C\]_`babce$f]ghjk]lmo2p}qstbuvxGyz|~-ǁh N퉍*Ŏ_)M񙰛v9l+⧞\ 鮸fI9⻫~Q-*Cf׊ٱۤݖߍ -S~ *:K\n0Je#Ir>x,l2wR?C a ' U ) ss.["GvQDJ\  !x"-"#$%Y&.''()*h+C,,-./0l1F2"33456789:;<=z>s?p@pAoBtC~DEFGHIKL MN.OFPeQRSUV4WiXY[#\k]^`Daqbce fCg~hjkGlmo!pnqs t\uvxMy{ |~1Ł_/ʼn[&>—Pc d]_ɰF ෮RX ÉM̤΅oXD9*݋JpFoVC0*9IYk}2NkFs D}0p;ij' \ 7     J$qhar)[_ " !"x#L$/%%&'()*+j,Q-7.//0123~4i5Y6L7@839#:;;<=>?@ABCDEFH I$J5KMLdMNOPR(S_TUW&XvY[ \]_?`ac2deg+hikFlnouprDsuv}wyPz|T}$Z󇆉3GʒQՕS֘u)❖IaʩA԰aM!ݻQ rDѽӴհ׮٭w@p8VyFPbDdesciMacmluc nbNOptPTsvSEfiFIdaDKzhCNfrFRjaJPenUSplPLptBResESzhTWruRUkoKRdeDEnlNLitITiMacmmodltextCopyright Apple, Inc., 2008C&@)&##&N8;.@\Qa`[QYXfs|flnXYc{C&!&K))KiYi" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?ʣFCkp"N@'e"u'yޝ!U: 94pb, pqVN q_]O ) J3MOZI4 âp})zlrH3ִmSdB+stXJ˺/c.:c0+F!t gCN% *z`s<1lʫ2u8G 7EL@ xb"C*cj"C?%?Pxq $Kfgۖ@TDV:d^@gOx9(qMV!OMu#lnS~^Gzb8zX-i&f)0FzQ̐O⥶2Ls!|NHx#)d^AဤcJ` [(!%OqU ގ=&as~= ͐}ux$ch4eyVPgkm$y{tY$BƜ~ʙ#L9T j5\$d 9Ռ H+|݅0RQG\3r2cuEX`pc@<>9ր2=*iq=1V yѱǽVtx*i `\AS$a:P:S=j@X}йNr`;Ҡdy5gp#C&W#qpIԕ!rH9ќqϮjU?v{;N:uӄ&I;G>}[#?JpbF dS[+sס-bѨPIH`!LIR07 HSzo}IƕǼ\e2 zz+R<;AV8P(©<c(q`3ڢpVG#ڭD u{S'b`ױQѕH?7CSrgq=?:z$ڌQN*Sp_JL(l.ӌ~YuN03ֺ|]' OOSOa$dҧTidg01lA'=>xF862Z#)+ciSnT: 9* g֨9^;w>u?haRyNs?Ȫx`>f\4stP\RK``?JwCQg8ZFl<}kj"A`A{L*J\m#D`8ʢM cUIO <cq)b R? j,zUn rOzu/=AP>-x[_5WI瑏ʓes+ҊyH |^E.R= "\hJNLqZI5n<2p z?$dvb d$;Ӕt4ppd?ɦ! Co#cw;z02ñ>?J w>] 9OMJFP]3p\'q6}9?!Y\FwPc?ֺ[KuNrI48;3V+)$HUd-+:cT.C#.x*Ĺ5VX'U،h3ӏz&0$ɪ"#]sӮ*KyLT!FOQ,-ĘW~ ΢F8O~߽,:((&s9{Xg~x_P!K\jg@[q;~zIcl8d˿sX8] 0~x5Fep+ 3¦NFlbM| QW!,\0sEepWLj1_֝ǘ.9,V|q}3ү $}sζ2OR$-|cq(fsOOZncsI(p &aIn3MR$–Y=*{0 6r˂W=֭-&y|;°ۜlg[Wy\vz?ҡ7.ւE2ǸeD>l˝${9pyZKSECzRE 3DK)' X8ri zt5\LUl& }0GV-6o9 I?A޺F('àữҽc`̇WTgrq(O#Mqì㿯so*}sK};G34lpO _3 AsסE4tjVvwHUe ,@-ªY(ɸu_XSlRj{0.fcѴ sv\txǷd9;jY<1jGӿ\MHxۑK0싖yo\t5-_@3Z؝pq# **+0p{I1]y?4R.G53y8<**`x})|pǎݩyvA걤k%&1=I?RTϖQ/q;p1E{-\Bx"\;1EgV{xԓzc Ow:nCn 5%tMtq-ZXEd~ϐ̲c6ư!X#dq¶j&&9K*;Dj 9+@Z+"nooʀ ⺃ m}!IǷ=ZҼ6vnʚF#r" 3!+_UvF@q{?ʘ'VVA]Lsr9\NSj 9Ғ&Z1Uy.W'ҁ`HOg'wuvt5y #X&xd88掁Ԝ8i q,"(v!s>HT1oR}33HXI-|1]82{Z8i W;rI(VbW!G A)&x`aos.R u?5F0][~Uv !}ў~UIYX 摏DTV:D_!.2do@?>jn4[D2/sMYd,ge`_Oư7r-fea#}Gn;nHdw'cӠ(% O++hfg\Yl0y+r;5hgL=w SE&dA)!w \0luUfzqԹjL53>ўZ~qj--,~*-NHH 13nΰ(p1?ZȕS yO4x-tANK+='{=?Z1$AbR1ϭPˎK1:~}w5F.r#<=ֶ4C#* ?:u7gm>kѡtAykQrEXSJžMFz?mL@SK%#42Uegwu9ȣ*Koܱ@8ߠrC1ؙ<$Zd2J,ēF"?z0Zs*ԝVs񡈋p*0Br0 ^<h@CnTC~Qң1ǯ?v& N@>8Dv8$ƈ;H'Ғ09׭&eYR6/8?nZv`H$lv#.Sy'T!Xz:!8 8|K`HLh#LW ފnFqE1nL80sTbܬ)+ϖƨ"M]BWt~CY#>-S =ⱮuS=-7b]ϘR9yI7,/Ej9|.UtQ=۫bTED%ފ*w_vܖA+:4QEGehp?CקIذ z+2.ז֘Z(!I(exiv2-0.25/msvc2005/testimages/test.tiff0000664000175000017500000057430011510453102017571 0ustar andreasandreasII*?P8$ BaPd6C7A'Y|;7zNq9Zn7;x_MCviRw@|>_tĪ~]&Lm9]ssw-G ݮqe%*fdKu$> g.M: P@[2wYlݝj, uS Bc@BQ$OD[hTeILVDY>UrGOF1vf!rf]FTc-d $?9EFNF,LzI쁗FUjl{A47h9(C y.N5`6 cP#caRD:R$zh\FhrE+ S!* #h1UDA0VFVzgc"SymEbqVDj`0B-J%(Hٜe&ٸi$Xer2ƘC,C FŒ] !^/CЌC!CB0nH#F=&Q´Vqp.ĸc@qb3~ a5D(bHS<.EtL q"@\1&E`TbX6E#x.P Af!gd|X*RH6N<a\!hA.L<nB$L(PL@aVF,L>@a5LaT">d@$Anaal a86BT@!$LA!Ja١L"?r!M`@82:a:@a$P!(A6Bо"5Z JAj!a`2!`a 2 L!*j0at^4AF!!`A\!FFf^ `>t&$!PnΦ3 !`  `4    A * BadER ` !JjޅJ  ar`b @ x @/JF$ʄbd@d  n J ,/ @ |  B``^ ` RvnL|`P`rNn`8l l `<3!E!a$"b+=ovB, jtA!$toAOa sAAb !@Pa~!A$AfRHҿv!2,@$AV AjadANha;Nq!0$hzBoa !s!X~ A{DR!D~AN xp:AVI"a%Bu&PA~H! 6T$aDEc`&W@AY`! C@'| A0yQ | !TzaJh!K[T. avbº>VX X !`ԡzȔlVAH F   Q @! ! v@A 88.` @@ @@At d ``D,a<6 @  ʠ r #4^ / @ n d .  d 3@ Pn NkoH ThY6`Th`j`Vvokz hFvk`7~` @`wzD!! !# 4&a*b4n1" A M4raa.!Bao AI tTAbAP!'"h^$`**!!B!v@{ax`XA!hAJArARǢ1"Az,!!Dz!Zt !w A @.` mZ t z$ h2 " 9ZV$֠!X6  L AJtZ`@$f@Ū ` $G!k@   @f ||  F`x @ `r `@ 8 &n R  G3 ThF `7R `V W| s V L@d6 piz d8`j|@x8@dZ }ͼn!"I~Ϭ Os>>DB@q$>@!({(B,b!v%<乡f1' AaRa&J@Aa*8A&A:A,A @H\!AHa faR)mL-%@3!-A6!jT!otUA8聆!YqAe6Xڡ,6 т F \ Tl2!$Ta[' lA١X A@j a oa:pAZ 4!a#AAaX}.@ VJ"<"! y؈ay Za" ɢ. G` @[ \"( x H@,0 b:hA"2 X  @`@ z    {3S@ df `@ YS6`Kz X9@O7G9 T` i@BC{@M`A:R@{n |F`ypb`X -ϣ-bo"DaaWEaJAOa"ULΜ]V wo?gْn8{5y Kvs6VڭPQ')=6F(jA@TXtJ]DVPUFF =y9/=$[.LfCFPeo6˕v OwX.TkEx_,&u}-Բnz>)N>$ȄRRʜ ~4eQWY}2Mcz)"^PIxjR1 R@َG!dw8 FQHirBRe-2RsKL Zc%Aj>DLsGqUeQi3GdcfI>I6TCiIc-:B<_=xFR&~0qF_T¨9ATB%(B!J%By:ZCBU0d3K # 0 3"x, A0bp+ !*∤bf) a-Bh x\$ &80eb` BUl(F!a8!w@bB0Kn(B(rAzA\% lStAvl!p-TWcCdy&Kd䧑|r'!wǩwzgAyggJlGluGAbxh晼oavGt恶pYVvf-th'k%9d\f|g*CdNI&IYXo' tgLR,N9 Rfٶt3Ei%nQEtagE!d~"ԁQGAVA?̮ܲmhy$ LI .JIbY1gGvn5ء$ h/ K%((k<;&} != 19ax;a9F@ hk 5Qp,Hc Q)#to Ѩ6hU Dȧ"^8(R a= @t@N pr+sֻWvP<Cx:GYcx3:X25x?cv;#tAp=ôzvRcb!V. {1>ȳE 0)E`rBlJ 8!ĸbYX/`T4*sc=oqؙ5"\ 3BV qj.ǘ~.,ňr3س$h pO4|r47G8BpU 1H*Ep0N A%DxJQm 7FM#,fK9ǀt?QlaG 0 D(m01C Dq<)PB!DYIN*J0C:<R2FpT2CPqIQO0r8X,E xfl5>LjE^R/b3B`M1"'@xA;@!DV @A7$L (y!<4& gp<]D%D"i,HEd@ ? 5d s 'F !@\+ˆQJZ@r`K䁐dW *@f 1 <@ B(H w(C$A > SyTA ~k5Sv>L@3hPBA (EA$׏1|כ(tF\>Gg` =Ƕ3CzB6,!>~<Pn5č;LїZhw4=H3Mra1Pq v3P L1T2p`8Z C$ar!О#/#Xj ψ xnn0qhQ?hGpNhnHXSo9׈Jp] `lpwO!1u@IZ]foAsho_xmcqhGV [`QIDUI{=8`w`kax\l v|=8QaD78GG503@9`LWA;PHB HO;n{{ pRp@7hs>vB9zpGf KUmPr\-0M0BVj8QPj(Ne`Y :D`0N3CQX(0;_`sc u<@+>xBp9!.A< 0C8>H,=J3BCExSRiBX@@X4J7K5p7(@448 .2R]T!*T9*'p''`@$h4X9@H#(/.*|$`b @"`rx(P  x&8 8*꫁각HHLh0!EPfwjAR\+ E8_|j(tVh˃GC[b"?ZHLpWW/?# [J ?N <=`I:H|4 CD1B41IJM_]P-0S <hPHT聄 LCw)`8h3H$$`!0@-".+#*'h%''(x( `$(x-x5H""io%U((!2ˈܹ!v!āL"\ ,6HIl+Me\\s+<2ʆ80lcOz`hyBzpxB5&r}#Xs@^xh2yk(s!@hjɾxf_ {@flXpQxU@M(NN\if`BMpPNdmB f˅(Zccm*`amx}y}iؾ!E8WHOHZB)6jtx}(M_WWf3?@?3A~PXG@KOhЁc{P[@;BHIC݇hSbB8N,@@0Y2@Zb<@Ubp<vH:`?1W,@1bpVNHA1@BBRRRkI\rg0u; m`)P:582)2@87 C3hbPh@%<:(`9^cq7)f'v݆vsq4-C{m&yoWơoQ5l Ƅ |hUjzudD$BXNBQ{48K4qGR_YBV:$L`RJ9p&xE4Qgy@EHZ(YE)tvJ}pn0[4Q23 A/ȶ0Vh!".A'PBPr'A%(0`!p!#"((`#P B"N@x"8+x$PBT 8rbv>a(t6hd>8!!~BN薽űHaֱ(Ywyy9fFpfr}g9uҪ yz'eo*lkF_ypĔnYTJ\cŁdQ3Ib]fyp1TTY';XqnD2VwMc^)e桨Y {)y)`F΂q;#`%q!c8hn.D@b K#>PCxB(ŀ[ r.4Nn "Z"O  BH~"TS Al3E}bI\A9!(EXˆU"u"K)b$a"0eѴA:#x{ #I ap/x i !0 D F:)(F Qzpb]A(`bc*ƨB P/ p_ *HO A@#$o@ !C5C*QQ%Pt8`B^ )PZaL+P %jpG %|BőPxl0Vh0)jl&`!x8<B\ "pj.x ;@x 7A .T&g|D`nA8Vt B`> -XT=VXa54cpm 9` cв+Ya"h60_Q3K#u2?GA <%H Ѝa\E8! u ˉ HtbA 1*+E|U"$I A E$ AxOLlN!zr x\R wR BHw> A!afHC?S!RLBUG!rt ^!.ef @ , nf @@ p  ` `f @j 6H@  ` ` @t @ H_`^@zax rOgf,lRƊ$H1 6`lfb h` " ff&ro F@dffj wnh7?oG OdHd5&kҏE3AuAc5alrS M Aj|aA{Zs!al) asz96}apzAv*PJa9!warPA=O2 †4R3` A Þ,aVaSuāypFAxa"D,a$la. k,KE a&-$A6,Qi9`X!6@ @ `A~(`R! @!! b!` 0,D$soGhA,!\[@@a !XӁ>| PX0L,աRAr"4Mz"y݂qxVJAT|A \Y`  ^r ǐ :̡ ` `c@  nH r Df @ g v@h <3d ZF`  R njujnnrEnĭ3$ l6 ` JnCn芩dbhgo@lj<@c/'([B:%,:%AI?!Vڳܶ/zK~j!Ara"מ ahN6v׻ vG;s7G #q a1F`pb\ !t/@4`3Ah+%a=!v+PRr Ѥ1m#u~t12 ]q0p[DQ8j;[)au|6GnL*`h(ZQ<e &U (؋`D(#ؗDJ 0ֆ`b2 &ĨLBqc~>kߵ!dqa5FaQp^1p-ضZ_+E1dV!h+خV1dFa`_ 0E~`md3eXiHt|c㑀fljk Hj$=tXfgaN8T:LhRRM2xShORhwzpOCFTJKX0CF(@P]BH0V%PY`C4b"(`IT]P>AThent8OhAKPWx{P=^ƆBd=HHGhSXF@fohFHVpBPHUtPdrh\mjZ)`xUZ.hs8j1/M_I;0E9%(H`1Au`2G@oz~t(yxM8xhy|}q`}X8o(c U{Ho@M(Kc DNEp/p:RhP\-Hbkhq}(]WivwJrNK`ZT(@LXYpT'lmxyiְ@:Qz+e]0m]8+h872&h+S,K,%)`"8*0h3UcH% LHX5PP#'ꩁ( @$h9!ρH%0)X%X\ ! (",* `+ ڱh XiN*yH=Xuyy+_]̋xwrkIa"YV`WET(RPxQAhIHIFF<@PCxLV0eea!R@LxDEsBLIH[x}XxFqpB*Ά|_pXfh8FS^dDdm \<5@hIPOHethbvt2LU(fHz=ԁz0IP[I>G?5=;:BAaeKx>6I3Fؑ|p_}u>0wbspDASUQahp9hg{pBPTkXV\1J ^@9, +981#+(,%."X/75qH`&zv `[X )!@J : \ )^m ƕ)_:;F΁,KZ#`M*oEPkɄr_Xή|ɉц=:/N~ONv@` d_&QHAP+k`PTO;HO8PxZtF{rPtidhg0Y#'Jg(gXtkهCUHg'@pphhvyHc(a"F@bq8CAh?+@BINHJh8ChCDHQ@@dz j2nhs0rXxs@xOVExX 5ethp2(ElH{.H?I+ zH[ f!sB0HN;[^1 Sr*nlLbn_;0R@8;PH@ 2OXFD`w@=UO\VdhnsDM^_pWN 0bp`_}^yԀY#2! U?j]wE"S ETxb x]"(!(~1Ȫ#!kzz'p&mJxa%r`~Z`Yŷ\bPEFT2PKE!6N$0QTLPVFq qwgǩRDW8Q`D6Me2SHQiZ]&1P[ R`Iq幈c}y}%t[n6F{AH'ŀab-E}=@Cy<`,J(- pck7G8B\>M`'Xdp6s >Z aR*C\t\11"HU 5FkAUx%P cŻ5$4!'zb/8"8PƠ?m  è{IԒ(L\$E@,j`; aD"ð!E 4F;jaW3H*ŰcW>EPP "xBWq6rH$,w"AL ѐza &à!|>ЮQ %0[ !/0U K@&A$dH3 a, B H 0 DPpA 5\;PH`@H%z:XC  ^P(c PL:0sN=Ta4(0lmA '@R ,eX 0 r4\p- \ mA1jȕ$ Bȁ%ͻ &۰$DڋA`GiGq0@cZax,Zdt^, K.hSGFqУbdN q4Va|a4nd/Űa *EŒO F(/vxL * 0E(OFcq.ce=GQgt4Cm!d+ŘN :"xBL@AAè^Ar!I+C}>-q(Q7GH@iq;o4xy1 ZHV #huB( R?CBZqh/cЁPQ> 1F+zl >}mҜvy.>3 !88DYb-qpk:Q0tO$%0&qxq0C@KN- UpVJX8L p#wF+`!c|!K+cya!N& ?A~DaAnliHR>!<LEFLRF+aLA:(aJB>L<!^JN!JX!AaFAJsB!P.FP0 %AaaZp!"|"aa"aa*A:aXN-2 A*A2A(0@O>a8a.0A'a Iaaj!trA0ӡ !B<d`!j0$f^H!p/A$P!n"є aLNPa޸M|!bI"NJ4 aH a /b!A6!!a&"@La2b ȷ< aaZB i!R A! i@!^a: ` ` ` @ x~ @ @ @ ` f r `@L|`X*v%T`^@ SDR@X  @V  X R\μ `\@ L8 d  ! `HFT8bT*HR Z0@S@ Oϰ"P>OONAanh$F1\A(A!iNlTjlT ! !AAa`VՃJG6H@AJr(A(!2aa0`$A$N2&@{L(CN!a!DmnUArvCHAR!!b^  e^cR!!"@!+!R`M!`! JPt8Aaa>AZJ+'\$njlT!^6`6!!4)ea!,6A"*lab< al.6 !r|( d. a$RJ!r! ы acV>n-!FuAdHaX!Ah0a΀"퀛np`A:a *UZ6 =ၴK$AR AbJj"  `ƣ x   . j ӲW5Rr f @@ V @ ` @ X `F LvsR7zX ~ut@ (L  ^@$f&t+$ P@8R@F .VSFV@2OAoG&!^Z2^0"%A fm(A!fR/BIc 8aDN!f+AN}4B=\Dz^!2C @UA !444; |h,8a aHQ"v Kv<R!a~'Ha~6a_!aT!"ba!!(,MbAaQaCae!F|!ﴔAd|!VE ϡvaXAo(A|!T!\A!HC!Au!J U$ADi>Alvb >A HT|VA!ADvjkDuH|6Q2pOBq nAa\8Ձ*!f  j @aaac0q!eAav! a@ !@ !>&,!   7X | ` n h Z vVd@X@m}`z `  Z 4@n@|\ B 8 ~WF nr` N\`F\.`j젒 @ 6a>J!v 4 dx^jVk(7@@=@> O`Xx\ Z8anaDl Bc!AF!!(E*5,AAa%$naaa<X{HNg6*8*3`2-,4-K6(AA@Y!:Ta6!D*>r֡JaDnu( f!qG@ݱVA,+!_8@vp(tP!%f dž'!KaZu;Taau̴AAUFAZi HAF!).B!!C*1*z,&!$AfA~۪]B a"aL~A͇HrA*݌cTbAA^A}Z aP!bcAVa^ ad!צJ0A=FAa>0"A*`8dABa iCmCE1+$ Ѓ@$ =s!J G!tRa6|!"L9 z:Ća ۴n>KE\=) ų Vc"1\C шz+IH / %ÑYr2%Q>GbaJ<HyND$ i%"UH$A!&"dHEaf2KfAi8e35@mJAH4bâphX. C"YDV9bĿVYks;t4\VuNC]q^麟{z|=GR~=Nٰj^ϗr[-YoF1f]%n]dQeA.QĹ:PDI$IY*M$y,DęE1$D1&G EёDdJy(G"TAeGrK_f ZYeIpT$&R1DVJOeyHK!4RD@O&iןkP~ԚFٺK>Q9A1f[g!td$Ca4Q}5&oeZn#RrL==Ak$\[}0Vwxgl_Bԛ-GlyenaBUeтGEYi&s湮dF|VtG$XWYjԞQ Tq5%{zs={TZfufrioc.TW'6HkF(Lr[Qiyr\faT`%Aeԑ%9j;= A%W]e.$FtLRe$XABO~;ĐADH.B?mz5%i- : c8b#!$azf!X!bB@kՅaxɰ\}LH~,V#!.0 8@ P("H F" "?Q"y!Y@5@< " `0*d `_ ` p, h@pP A:W>ǰcx ;<;#8taGɬCHh a6ƲXpO{x++x3d0g [!3Mv|4ptA+ 0О B`Ia(" 0 z 4!pv$P50h 6`Gb BpP!D-Т`P7 Ӝ 5nA;|g j @+@l'(8A<c)|ЁX @-PM1 gn50Frq9҈-:Tlcy`jg 0F8`MAxȧa:"|P $>M $Ġ"LFq (EO@B D0zB@# @0DAo\OVCn\ d+FP\ Dgk1@%TU G" }^jb[ aXq #DXtUA:Xnq,(h2c(g AbrDz<^1H=1bnd:kȫ}a2&"a\4054l]NLJ@"ḛǸwmaC"Pq!A*$@b^;kbaB(8oZQy%jÈKDβ t/NtvS_G`D h105B5q$q[xLPX\<Ѓ-:8p/77P,7FSxAOx2x-<V`G14,=x4@ۡxA #/&h0#*p$+ p" 8!p x$ )` @! C ;#2+X0YP+(X!-$@ /hbPh, @3Eh 4\+5ztpwqXwhoy*9^z`>H5|LJq@jHq{m~} tibd`"UZ1!R9f IMi,VNhYRQL;GHJO`?@>BÃLD8D7E @HC BpG;3PxPV@dy8'bd GM]`FMm 9x^Z ^P6NPDsrN`n Xgi8D+O e8|}:Hoxm8FJc@ԅ`^QU+Pghqrh[I9sOdlqJ0TveHBPDLQ\ Xu|qbx$uxpbr.>H{~TB 8@?;JC0TYqz}f,8`Q0=qKLK]WIG!nZ*ʜ:pLpN6UOP{0W0ixRpfrT|: CtxzX7PF;FEo v@g-p:0<0; 3@*82@1%2tC(4>X1?PU(L83Ix1",70p*+$+-&(8X$$8  $H"18߂P* `2 H΁[h2 *%.(,(2HXAP,7,!փ"# (hp hx F3\wvy`|}o0hwէx|0rnSR{p wp@uQve"Xhy*zHwlIP\ax\U[9`XRj\8Nc+삅hJxCNXKDhN}FCR(C(EB7? ?OzLCB%#@F r7Lk_Yp^pY=rQPK۠Kh p^M`tko(_dnb fi;X\]g}(n3 GM\_IsbqI8SpHu Xxo |Gpbk;o{N`[HD_58L^z՘T`e-hF@ :?x?8>qB ?aHBSU`>`G/XD Mx?z?9PG$S(,X5x3H)0h0~X>9?3h&5fx3p)p4 1+CU)*'h-8-!(*x$& h#' `"h%9h!0"B'Xh'!4IU0X%+XCC{#EUB'(` ΋&p0 4!p#PiXG(U@P(?X(fcYd@KB%0X͍4w*4 xpn}`ml,Ňq͸ԇsXmaͨbkh^ozv|̀ RH{xx s8ifk([U+pXTXP,XTiHP$Jӄp@LGӄXC%xBGB:U\>@TCI+wH1Ar>`xs )HZV^UٙRo(\eaLׇ{sQXum䇘v(s1;<pB8W0g0?xIOo]cK~ѢJ;Y/[0b? Pvu"Ԕ}WPXJH(T ]. lZ@d~vq=F0:&7@x<5>F`^hbEP@La98 CW77%VaPK0dX`Gclxo?8Zj>um_,YpjZ4whuxWVU]6t OPR10*0311X.9x/.@4(-MXU84p4(38-!H)+x&"& "% Ix(` #P%X/x#0!&G8p(!Gp.>?8$.@-$(֓*,@5 +B3!H ֐ P'1),=7vkθh0vRUH)h3$hh ME Xfˮ.dHhvP>˅l_kjª]ml`8qiGq@k`ogK﷓kMVY8Y(K̳xVnG%m|+VD™LO)TLMm27;zUbՆZ>7 Hdr8CTI2~DAa;hq &j g<ð3㰾<et]锬.az2Of}!z&i!Ee!w {Xi\\ec 5D>D77*5B`/$$h~*2°$ ."7 /n) Ȩ(b$ Bn& ~ BXj'h!0`&! >DP+*SXj& z0l'AX0E9) C(V"A8tB8 5">@fAt ) `rȆ/BޗHX#+ Z恪1dP6@v!AȀ0j !<` ?P8$ B`o x6Φl- aZ+Itd,=hN&-sMsv7yV!Z,V5o[aaGsk0bPR)ө a,HItqTjE.Gy>ЧPӨq,H !E"H%@ Ez}*FIM)V]x')V$Ppl}Π&qQyTZl] 1iAff~h} ef]%iZBPyGjgIL~ vg d8OF8$0D9BY d9HY1"4=8>i{G7 h.c`:á J ^&M&LdAaYzzq#HE1D_H)}fp QExE>E6 qH&DB] DS%D(A$ĨMHE#Pg1 MF@ w!8Gcd?Dz#A*EOurC~;FpCxp>GK2ĚPM]4J7YBDtA7O q@D(}bL,ghBPD&IдT1^*,b@=Äd 1+bP14&$pQ3wQD,E0"\V2,L#("DK$ D1(hD 1H%#H}"XH`(6<!x|O 7ô1pAAe_DP a>0 ¢Q Z/ hbL #4A (CrA70x"|P (uBA(AA )Epsan+DM0j+@D)&"]"=x A{ Μ"H#T!.*]Jo@x(Q @#ĎUS"(Eb _dza7zZ sT @ @ A3AA2a!p:v VHa!A(A! z "R` М !  gB @  @ m` @  j c` `n `Lpl jkL `f@blnZf tfz x {t ƄT@vfb + @Np 50 F2 L* `Hj| k b ` `~gp  _  D  $a4 e.aC @ L@Bj@|/#!a!!)<Aa;Gڂ aahA`,"aANA!d:mNF$-*TPa6ac80aC :Xa@abHCXT:7@!Jp J4E|  ! a&7A&A0A(32b!A8!!la! caA!8Hp!Z 0af alF!!&a!Ta* Ah\<:EAJ@!ABZARcv 6@ᔪap!S!a2@Aa t<u(A"A>AAjr @m(/<a)|a$!8|a ` @ArAz @@@   `5a!^ *vB a.!x!AF$D!<  B ` "W!^pZ @  暀 @ʠ e, fl g`,#vPf)t ` ck QR`t 0@p@t {\A4:r8@I6 v "A~`@ M(`˞ 1 | `V ` H z 6 jaAa 2x 8s# p@pArb !aA!b!+aӁ!A[nARH2TbL!AgAd:AVaPLL@ 0X0A@:.F$"~aW}˘ B ! ABL*j`ڶ`0@ jLa,@::a5:A8;WA)VV{i)a!f΢A` AhAZ&@a%[.aպalN2Է3 an#& bha8 @,@!Z!V(:A6R!$AAPanA4ah Av i2!Ra!RP a/G`<X!ReXA ` @ z vVda:AwÐ!;vAAP`J|^!~C}.aZ"L qv8 I!{AJ@ F@ @K ` z F@kb jZf``ҋlc@k +b`V6ds ` V&l``@Z `ba78f*͋Шk ~qX  @ ZKZ , @x YX!& na%AN!R^@KcB`p~!Or!%<|a¡AzaȣAaf!5LD!j^nA" 7:4b!J"RGe2B]HP,( !Wnl4Aaa  0!C%2iB,5A<v@pr#J4fL6!7e$a,(.;AG,adСgp\P (~, ]6!#76 @ ^? f-@A@`/d@ ݡ!A&gAY!af`\V!4aXg&hf<7}@զAbb! n9JB8.A A2)Q:^9x)H{2aA(`@ m ` e AJ!AAT!%0a!!!fdJ`!jtQ @O4s-ZjS1|C ` c0 ` V& @se`g>dV}_q V`v \l f@vows ``  Q6 >&Jm;PHA0) e̞OD&S#bT\G%Tg Y<'D`S*[4MF" !C #I T?!r%Osfw}GuGCm/ţe2Uf+Yu\saժbT+UJI'iN!S "A(}H& 4 .B"G] J >hr[2EaSġ\TeQPJ)8T@= EK 6İDCD>)<B#>d@#R:(AEEihQ*QEd]EYlV1zJ,Md8^eipRqJ$.N Bi;A2 ;c
$:Te5 !WPaDOYJZE)p^a(F' H%IjbDd^E%qk!{y=7Bh1' - *c. c83 2J$"n"yEeѢg}tQhF*TBĹ"hl#HAD2 k/&/4SřIC6 +y<%QL bz,( ^$ "pr!Ȍ (!p5=V A!@!f ()a|a&A0v  ~>"E `A0=&ph€iA#TL ÐtD1,&;F~PØt 4 ]T !=!t.À*?TAH*U !Ќ8E XG$ЈM "N$v c~_T0?#y=t_a.Fh!#U1ibPqpj`" Al-jat7F|=F0X*-EH"О"R*&sH $>ǘJ$ЎaA  ubP64a12s5@ #XUQ*$0 %hC D@mT@Drn>A!@`eD"AQ؊D$"F $F'kxR"DH?x~5!d!w;J >>py6 xn 9"# 3p7xg!ZCk; ,w n18rG! w,@ !(F ?0" lA'02Fcq60!84{ڸe.X -z; L „ A$x 6r1/ rB2r _ q"@ D+*8ppp'ZZ; !,"phO<#vA}ɬ ;8 9q1  xp bX3([ ,<,ŀ+h4) g!XP< d! 8- a<Ц BhT#E8@"`FA"`w=}T>CM4s 8be X0T p(иBZ 3\(h 4-E?@H=;-zP908<8/x46X4ܬ2X;JZ: 8QI040 2LˆApK8<ف`[0ch?!/.XaV^َ[;4gf@^2a'6=QyTㅸ`)pC/ 38?Q@ 5?<07i  :Sw8)5 7(6;0:<00H3@35zʃh207C99P;=:8:H;N8UC9P3G0YaD@5:JAhq/=8\vcrXRaST%3 9{4p=CPU0=|vp2 *825m`N5UpcaGhBUǨDc cj8ZBPf),pT$21<z$(`,`"&6#0'(X '6' ް#5A Z3Q8:@  h!Hˠ+7@%+#,",Q H)-ɠ38\_rxiH&0L+P/=*H7,P %Hp'xs (x'XtA4(3X6HSX2P$3"/E-`&{[(h!-:$^8od0rptHhpvK~y|(w{+$0~$LxC`sxl\Xdxc*SS_8]N]VSpQE8EO8J=UXJQgXcL I'PGZ窈KpGEՋ%Fub0'=6)B)AFtu8INHVROʃagaLJi:,9MڻjX2MP12p3JGP7@8BҮ34Bq^;e284ԨIP hYU5>GR5XX5HOPEH-P2<2mX7K006794 3<7h<(8XBOrP_ U_(o\`ps ɢH,X6IpFMx]'HN7h>`-)- 2/9UPc jh=M@o`05?'L;l8;0,:+WW\!'@-$_T( JH$ ,=$K#(_5x^Rp&05@"*H*t2){ K N(VH,X7HDL h`bhg(,0&N;G`!!n98FD0]t%p&` "N$V`*l";P&7%p#81ف,3*,U%荂-3"""] _l#K'Xu@gPthu@gxߎTPgt s(HteϘbiHe0Va@ZK`WSPIzHFQPNBfo=XHRR@(KLAKLMՄ@`F EFE6P;C{Il ~]5YT=(6hGY;5R4A%uh22ᕀ::k:h76?E5H8bpCzTCRWp]FI6|,H6j%ph6x?G{K2\9 L#>G^4̦d2̆m4 FrɀĊGҪ52IDW% u1fa]-GNI5*y$KPgr٠_9 dk)̥C)d/"ɠX4LcYH8Цz/ MT*Zq\O'JD3Am;l q?Ԝ`0Ї!I&]PԤ S&Es=a,(' ͎i9\ʁG!Ijdw{U@W4*9|C!zeD* gc])A Xr !(v#@|$A bvf#rATzpJHPSAt! *0( b'$1F"Z?RVd&iG <# 8v%Ax#X`Oa~dy*jfI!`'")p&hK8=0/b+ p%(# cPHᰨ, zbr/ )
!j( %BPV0pYliEk&co)pGdـmm^giqV[FYVae9z_%nO,VPU)PF% N6AdJ!*Kı&@ I"I$(@ID1qKED^D#EI=@?c$H1 ?LO) ED1:PN+!>! }v5CPm <Ae50h,\ۄ5PB_ H(ЮB{V0r -М] P3@ha H3#ijMh4 m fH~~XqX0@1-°? A.xlm7pj0l=  ȡ }cY>W D"|Rq"xoC d n/ÈBO>P0o&&9)VD%D&y] &P "#phHF 0 A5hj~@xP`fEꎤTn l$4 pezpVv^@ (d  g< `v AH @ (aP!  " BJƕ kv` qa0T z!A! c0 !cF )!n@RxP. jB0X*#dd, )d1 2V1 6`v"rP+U@XVR)ъ"5K)P[p8 Ð>ùJ EC4#< p/CX5P246 4 ,67111 0- Ƚ=$c^G6, CH*#9=/ 5b' 7 B/ à(+;C+c0( P/ $p+ H6 C:)C, B8,S ="58 "BWn\ C2CI*E8dN.N␪" 7b%c / h9#(0`/Ә.݌c A1 M#? X8H €) '° Hx%A! !r Ava֐` B8n!!X|( X`$ : ˜b# a& b~|Xahj!^aT !А P8@ሎ$X#"6 !EChB`/ BNI[PZ"!)VF>Vd\,(2扤Iðx5ШsT p(pBq 8 Ya:0`W ႩpBU =PhPJt+O] p^\ ol!-"Ȭc ؒ[ q )Eu6q(I !h[wAD dc At/ТAU D5PU a'S MI@ 8jb ; BxV0(G `%vB@<r  zC ~Ã!6p B0H#20D$#EpTqD6|z? BD Q@t8(H k؇R.`B NAp1byaƘ2oxj>;PvHo &5piIEqA=M@Po<&j32J\ 0ZC(p aCz!Ht !Q7a8 4 +Pq^wȘmD#;a<àm|3P)D!zxE -0 2d ` HD @ @ &  D` *n KO +D d ' d^ @ e> 9`@ ` n !AA0$v @!Ab.@A<:z6``dT @ @ax!,n x E @ OgR ` 5   g ~ j @ LppoJ vg"gn xm@ T ~xNh P~Ƞrr- Vf`@|`j@ ez ` @ bh& dh Zz|f!^l x`HT``@ r {6 &a^ 3V8@4`V Ʊ k #!a!n"4! @ ^p\8!d!hN"nnaHa6\AVX3l0aT!NLp@!a?8O!2a,A"& !("xKH@@ t@@`/aD þЗؗڕ4@I&Dc±V4@أ&FC F@ EB@; DdF@ P$#>`   #*4 B B,A ?M!aa>`j´+b; ZG 0" T@ @ȵ@ $I Stz4@ IX`̵ ` oaG S 3@ % H@ Tȵ ` @ f µ ʍ&AQ@  p  el ` P@w@p;* 䐊TlaL`A.  ^h.` @ E$ ~` `  vl% Z/+T q.| H=@.h~`*e@x @ ` vhbt@Z`f`pR dxV j``\m`q&vx H t@L r Ol n ff `2d <ƀ`Ƭ`4 TrJ` @Pr_@a  g#n `Ak= t @ "A$fa\LPaT!zaV M VATA.t4^!`Z.Ȕ\N$PJt>A4 a62Nu:a=@(m^Aػ +n A`ܒp@;* iP*\E̗J4 V: <4}E>I b`ϏRJn:ɂJ U /^ Ih#* `O kgX h >KM#  a&.ZiUiW࿐ A `̨u 4ɞ N U2  TPY\Eo `S Pu6LU:ʨn  pF*1 P  dx9 [K Y  ^Z `ۚ ~   $JU0:4@1x #>bL!*%^(``V \ .z"HaPA $ FD JH〳 SJ `:@ j|hhe1J˶@ jhH80ކ  ` @QF@ H` ` @$ uz @Pb ÑF &V {sF>ݺ @!BAab<p^ j  w- T. @`-'d5&Hb8_%J"dY/I"a`OLdqLD)GDK* b8tGxp4FDAn=i1R6yr1$") D$ cؠ?+ cr]`WM&@*LaT&JDLg"JX\- eB!8(Ȥb4 Q{  bqg2 7%Dž2 RP}<ƁQ ]$4ĉ,C(?1C>U% p]d*@$?A*O$i"5c6C, "- €, @ X蒌B- Bp+ *#2`P+ 1=$9=D@GtC-7C8CxB #°Ήb<(: c @+蒐 bxr% 4&{8F; 7h (0`ynFe$TI#x$B́pi a/QXb 1Cr l .b 7 al+0ACa+ vA< xkH (12prBD ~0?`0zB(B !0pS5(@bA'd B5@f 2\ +l P I *B_@ cBQD&[ A aD& 4p L fF #X0& #h__ ` d`4, -l-ðf:ĈK]p|#DxzAG#@00j`tb@9@`(|6a8 aC"@` }<Ψ q6 xfW Io䷙k!i,0c2 9j $@3R m !8udq=0C8a9ahe A@a 5Z U&L4"@S A|.@i@25C!.$aA(S>Ӷ!D#lT a8*@"@: a} 4Pɀ] -@ao_ @\Y7@D"S!*%舕F 4s9`CSaM\9hC h#:8V9a@0В a@-`*(A:8lBks7WdB{P*0G1DKh>aPI A(0A^A<0Z?-#Z h9@R i A.@ ~ P>+ (@ p# @b x\* @CY  -``p 0,TBxO p` (, A( :&x)Ѐa@)t`O < 2 TCR& "p6ǐ|솇pђ6k"(+_ ЪW~.L:Zb\Kl*!rB@>$4MQ $`8G"ȉaxQ"8""Dhs"0:0D@(5Bh?8, Eh?+QQ(6?8=2?<3>>X<81;K#H8H98x8/P5(8S )z@2`1Ap,52A7.(2i`4 8X7#12Ikc('50X,/rcjiRЃRуڃp02 \88,RҕA=@A=1DAz1p:x>H> 8E99NB HGC51hɽ."Xr,6h8B903E;CLCX=HIPv).H<@6=32ŀ7;(63(2%'G&ġ΂2!x7-'.x*2?`H(:.4ESdY ,*h7li3yiP>ǃ<0*.(+Xp'̃95 (.(`4 @AcH.X)8.8,66+1x$Jh( "蔂@, p&P+[‚08 "  ثP# $p@988"Xx@8x8#"@DӁCBKHNH!0!?@)("󣁰8@ρ"# \P "(#XDX&-RsB!>H 1:= P*kOPr}'gnhq{{p6s>ckgkqK[O0+)s5x>0`>xHJ@hGGX;{E`=;DH:@;{PHCKaH7CHEHB`586;=;?`=3@ :.=H>3h0>(;O_F`8sX9s->$sf3D<1hG5-h>?̃qF6 _87?X;W6ɌW8*H2O!,؅`8:Xh26H?H;8DLSH09W&/,->V67d!.7TcGB41=o =0:l(1!J0c2!ڂ(xJ0UqxO -h9[dSfxSp(_& P1OXEF@)-bf(,!)X?Jix28$̷"-X/CQe{@-#A&#p7( '3xp$!%0$%j> P%bA9h B4ah8H$(S{h;,@( x"P ہ$۹89@p#L `h" #,10!˨=@C4X*8#hM(P`X#/H$M4-&C,2P2Av8M^@q@Lp4L7hhq^ H*&Bc CMuI5@*8=`FgF>s5@;`GH<eEh<bp:E>HGA`4@4BCD?P8>P4@1=U+1Uh1TC4i)P.`:8?c.!f4aPY8996&0 h2׼H1x/iv.7< 9YA9h7;h9XOA?(:7?J(GO=h8DE:&X7L9p<C6EIXP:0<B9ٟ̂ 1]H88{ƃq2aG3?ӄ9H K> 71P<S$0>APAJF0; Ƃ//5=0),&V/bxNhZXJ`YVA+`5p>:XMx$9%΀" tΛthX"!X/'cc:U):ijS&>8,apRHUv)v-qJ1_$6 ),. ʟ@,869/?YpANpL?pF܁'☰!,DQ`L8LBM0NhL@K=?9]>h EX8F;9MG@f&?SBMC։ *0/@s9P0j0/-o h:0:XP?d8;p8:<(2yɃāC&p/f-WuZ-19<(76C1s `;{`*sP*f&74J@7@;8OXADHo(9VAG MZ(Fm0@jpPG"(9n?N賺 ,C'>O!q=L&Apg3Yf7Mh]3ˆTK' Fٴ/$xGЩ`5 eC3*`̗#x4 X15 /0;DcHcx< f. 3 C8D<8<#@ (7b$>.";lO:B PFkDB(ȀLEaC)r8w9 8|[ $ U a3q 9`А#".@z `8 f? @f a>Q" X`Pg .0Ь¨^ avC@V AP*`H X+` Ĉ A(@à!Fɕ t8`BL ah%`bIn$TMR , BXpCl :Bxa/sp+^D)͐BOVA@j`CA("C(I*~B(@6 : jE~X5@A@6F@<~ .`# `0\ x1`PQX5@` R() ^A"HEJA(^ 3t `'Q P5iT@A`>`AU &pV(+pvˆ/ ,< հ2, 3 &rB; !\0\ 1U l,˜SQ(%Űc\r5R?C(k!t1"BG"$C Hq@`"LLQ$؍G "hv(9, 0m" 6 ¸8B" 1(@! C  >U` 0| 1@ A?ripbnt3и`@CXtG: `Xh0gZqb `0IɝʈX'P3Da aL0@BY \0@C`[ !̆Giw\T QLĘx 7~f%P<`o6 ~ *?שs@Āp3\q$ApKd B"z :h| 9@9C|9JC R(dH#pBhba-i aG!Z!"xppY\N!ϸ a9 ÐD9C[M/pn 9z^#d $`V 0Z H(@c @1<4T,4q@#8J mDO(,`u bD6(s+PxҨ:wa8*I pA(8t(` ՠxAE#0V h5` ^ S S0BT *ZX'$`FR KQDfʾ*^dH`drTN<D v VRb`L.2`x V*X`R `X^ . N*E f,jd `H lYj |!A˶a<h az "bM'42! }0fCx>QyAid:fEXx+y̼q;\9gCtz.Ák9m;`1f3qpl/Mh, ecBf,Lec1Kelb/K2U46h0̦SI@ Q3S$kT2;&sԾk2dtFⱬq;!MHC;6HL 5p4 M 1CF: 7h1㐲8 A$N)0:,x7H9 㐨%"/ bxx"8.@*ch%B2@- /2B(& x2C - $ ; p1c`DQ /"ƤJH>"' X*Bx5"%c) B2" ( B0h.0SM3 $4"x-(&#b# $b]%@29B& b7#8= " Ђ(WDQ08$-`/Bpb`n$ A!~r#Ȓxn!!|%Ў(pxbaЄ BxLPnt^iApf"!H^ N`h:F&RpLa@KXplA`AH<Plb]!VAF@ehR(`{GaL!FdT!X|va>@x~(P!atᘌ$( "`h&`,Z& !(‚A+G!yQzK%A;H?=>ا"%P#p}b<@ ĐT?2#x$:!"A| <(u=CHz@p g(:Px0J]00| 9^ú-x:4Ʌ !@BzR-Cxw 8`CHp 7) l 8f7-Ch[ !*P]!L.P^ A3mHb.pPr /pX[(DT> A lt0ĈxD7Lxfa;P  B 4!Y: " 9Cq4Hpa@P0ZYAn a0d~ !B$?pCv 44L UT? z:Q# t[%F@b\&pN &BzV$X & i 18K !!| !& g D-0(a F:x0gA6%h‚TBj|b[ #)l. H3 @.XZ &~P@I!uj[S+tYA0$Aq$$ ~(>PnAA h$f40zhKa  x ACIhf A~0\  R C`j q+AN X%Mi+IP{)r970hYFD p@d p.ll'V [2v A<8pl) v.?oRfB- 0 hT(W @O%BxLD)Y )0P n t d@ Ǟ ` `  z + ЭY D* B @  ` +Zd@ A(  & c P ~ )F  b  6 l v| | `   |  ft|p / h+f@h@P@L`Rt|i|` dƠvh``zt@hhvF jfΠzqo^J`T@Z@T]@ZL[X`j66jD@dr> f0,` `P    c  ` *P $ ER `Io @  |^ Ū @ @j @? @*`@ `n`-/ 0 N &  @< Ed@ :@ /x Sf Q* @ f ޏ{ i&2* @ Ň@%`t   ,@ 6``Ͳ ,a28k8 %4B9Iی! P @:]NAk83= V AX` ? ` 7@Hn `6J " 6Eƙ,@ R @ `jj '*r,,p`@h Y xl pl  P l@v Z | @ H  | `x@@TQV ?A! VLaf* 7 c'D |U b<  ŀ !a2 `@/4A >}D d ` &L^x@p2 ```^o ھ| zsvp_tkxT2pJ f`bl,r6 j\N@Xg0XL^ H \&nFg@Lv 5 [`@`N` Bh'4n@w,qme"ZRx`|| aPabd ކ rD^ \^:k,p @  ੠` Ip!2@ dyx `>: "" `*NbZ)i9EsqdiR]3>x8/b/md^*K C Jb #  P @c֗O@08 iTY n > ^W @ ` xb6I"a) `BP Ԅ 8 |?I@ 75v`KyxpxĦ`b76 \@gB 1X=A(X' ĂX`. bB`R(EDb`: DPx_Dz7b1R<bL2HF1 FC60Yf3Oc!r5Gb1F>$3'h!)uQv|{l>؍P/HE,RLaL6'G%P#"Q |Q) dQy2$F$b@~B3NB(GNhɈm:gS뚎sAjC169x0 À46`+ #6"<8. C:c8;`/@"7(* À0 , #1c07D〴0Ⱦ4 .(7 , 82 c ,#/ "2C.b4 l^54 p: 4#E.c=c ?,L:032) 4Ԯ-2 c2 c+b0- ,(Ȱ51Ic44 м*c4°-# / 㠶; 4p6@> / "X*B(8#蒃 n$aBfJxb0feb8bd8dPHne24 BxbX"pj/jz+B@· a,"Hbfa^k!h$BHx B8,м5c GD52 ,! < h/c>* .p2"ؖ3 $K5x% 2h? #`/ z#Yp&"8)| ()a zf&PR)v A,2PD A`  5nU) \ 8"@RA8'`L A/M `t ++DHX P; U 1Ї0^ h-0R΁3%t3P ! oL :e|YA9c?Hl{>ؑLz9GCO " tBǀf5 a4 PG7 ~ N(,}zP6E"t`>M0&Cw;!6`zO7@k`h}!AN!?j -`C(o6`^ a-c /@e y!Zrl4½ ,,P\PkZ&zXq hd0jBe F4 A.`(cBA}`BZKA`CP] -ҐOSA6d 4ѐhf a/`s 8`VP[ aZжCXV ,@BOG!~B_ %gٵCH[ -SXV D.Exa )DA)h A0@Ra  '0BK!(nA~0h ɐ0d@\~ N`5A$P0jo9ݳWB(-feP hI,9fLBh;\ AK&`r@ @!l:d D!cЈ ?#ppI~A.Ѓ; 04%@}!: a 4.PP (< Sr>BPah8I 8Ĉ$1̈́@ hC 8  !#,l; a&h/ !85,'"hX2aF P8 !\P@fNHS%0N R 6CT 6 `Br"t7!6ꄸ<  ^A`2yd$0\1a+Ph - L J,,F :d1C +%0c0:Z a#ňP_%H[Y('`XBR, $ÀR $ t sT>0>>H?@4_@.1-'1q킨+/H31 %,`+&-x(,A099n-0x2$`%*x3((, *4&&@& @((&5!{ lG o  Fp !`*e"tMy/q y p``0* x(I xp $66x9X.iH"8F7ы,p8>+RɃ`9CPN[K4EE)j,x68'?KHZJ2P0h. "$/ 6Hނp2 p% @P!  Z@nfMpIf^OmpX9Z<ڃ8H4jTH@@hK|(78K5.GP- p H  Ј1P @!00HwӨ$"D Dxxdb``CoZXPjP`}fRX|PU7\HAh,Un9 ! 88:8=H;0:?=e lx98:'<:H?=@>p<:E'C)53+qx3235x97?6˂-0&2X0R-4(&2`.@9A3 1++13-()#x,X*zA1'd[.28:Gi'@8E6*071P<E+(iÈ.HABs_X+%&p+03:&p+--$90@,@/8*#(p05x0v ' " $Sŀ:^XX- {DUDxXY(VYPo5zY ްŒ0dmtZ1%8%%p! ؐYQd>Ӄ0'"F#&$փ=hM쒄DD!RAK13x3 5?,8-=MG5?.1'x2&8`#p  O+```UipTA]N=[6X_PT E@d՘RI1@DV_0(x8e 1@P  / X8  LH @ۉ3! !5 1 %WrRFzkc:_ pYRx8gSxdNy`~+LbKLs@c0@`2H!%7} 0"i8@ڀ@>;=A=eh:<>:=H@>>@A >@;:8988,=T@3ZP,Fq80-o 핈3x3 $0P+3yAr[4Vꢠh)(MmIYbX-s0(#"q+@##f^ڃ$4P܂#P(RWXEh4ڬ7} 2?`:s.,Cf85+3)!({L `(.T478.URx0#H'8$"h'(X)֠()@&X!p)׃0 "8/'x#"aC<1ȕ$xxY E:b&({l3߰" J x 끿;@ !!83X&=yyF{"HPE4B!O&FP$x@:C%(#2`AX0@PHPBND2}<=0; 020!.+"͸+ hlh%Xdp(YP#ٌ٤qXN^kbLp:T`D5@QhE88VhFP48RI? p*!H!/D8 d8 h_n 7  @`8X   s^ ݂8+6a N8;?!% (6QjNxg:`_cJq0U=eO8;dxJ=eN8=eSp@Xh`Y4(V@1 cO<#8J!<;˃;:M<=O; CA= >NXH@X>(88X6`3`lϏp6_8(3Np/,,k1o 'ػh1X*7H*]q,Az4&@6$62A*HIW>+F0*"h0)u )!,.x(h*@/@4-f@72(ăh5څ978)-u?%p1Gp4/8cUw}@h)B((p#^p&֋+XbhH, -Ct@8!#Śp  aK>ˉVFlm_(pǁȋ}Ј;%HD.EbV="803 V<E"شT:8D#C@d&D⁠X6al5 I%j? %'܆?"qZ; s$QnB јv"Jeb}VB'$RրMIr^"$a:"S@P*JO#I pC$GD(\+ ca\..@2( 0@>8* K@8`J &4YAL]P^1 :5 9zoy<8AhpP" !H5 Chb(Ȫ9( X@)Ob>BBJBCEbnTAtfAfNB\i@D$ HD!55|B#P&iHQ R#F #x7 6 H6 @0 1 4\@4 51wP/ °3"1#)"2 . / ⸸7 &P- "ض7% C@ : /CX,"@0B$悘< `+b-€!cH1 8c+_BȯbB.X09 , X/= /b8 ˆ"b* .X9 b* Hˊ€*c5.X. b@4H$x!&H`! N0&C 0N$tOF -*q2D B Y .H!0@V"f E 7  wL8 L &T (tX7 ` 8aA~ ,S"-(\#0v A6NP A`*0g_& "d A" ^ .cJ͌,8n p4Ext|8V*p"kA4,u8 e\/.` k2KXe a2кB_ a\+0BP a-h`7˜X K5Bj'0X| \ AE%HW ?!_y,@zy4t A9t}-V>V `H5=|1W}  Ә \I 0$& `d 3PJ &pL `2b@-N ~'p}d? @!0C9UPQ!4*(N%(l,I !'wl9}8`B?w @zPpe!X:pA{T6 !0| ިhR ~/HF t7  >Ty An0M !d%2`@`Yx5$@h ?O] .&.(P : @D8 {PJ $l"0JH8`H;+#an"Yl>x-zD /~F @h fu< @F B f `f~ @\C jd@l8 t\H `f`T>Pj?F@`^ Df ,X us?N2u?dULO/:p",#-!0XY !@ J d$[a)ǹO [zp*BJ aL%`xJ1H* [ aUhcX:! M1!=Ņ ^p p7`[4 x[,(\4%XV ,0 bB?a2C =Bh d4B8BCBEzAJIbO (Pz :v `8P'% 84ZL KJrMiE.@Z h4Ji 9Z<!:M(Z rT!* 7H e @1^4`B A u@7``PFAchհvCRx6%`yBD>*ĨFNF)x„ L@"ā A(2xBU 9:PhE! d`M(?@2aSG}a#p;B0N(@tpV !,'pR @!^DP8a$#)LhUCZ@ A+SAA X#6 q0+o 8H @PLA0%c`< A Q,pX\p4B! :!tRAВT)r M(@nxRw! I $8.@xA814;qKUiZh" px4@A@u1=)^1`2nz7#\ ,#ď@0GHCE`&ĆBBZ %.wR;H)X[ L0p\*al5Bk `7`ha.Ы;Kn `4NPO2px]C&dw <0p.?%N aM (AO2fx-BK8 -X^!H2Ísa<0 _PxX?fAZb@N4h$CY x:7=63Al*6 SzSC\A.&f rKdUI,ZAF )z 9AV*Qx5ЈPA,-и砲O``V DpGR ZGgR\oe`eD V@>VP8o`XRZ>+ :H{F VN ^k/ @`"0L"!$:  J @ ( z  @u`f`|@`@P j @w^Db@pzhn  u œB |=` AP!"!(@  @  @@nFb*bRo`<@`fTP`ElL4Dj,z& <  d ~@x A  A ` W`Gr C"H  l FzxB逐`Vt8`x-"L@6Gӧs$'rT`x@q`v*Ҁl\`8dX2 ` Ό  !Z>,afBa8a*Ab.j aBB ` @]>`2 K. T + @h '  JD @7 ` H @(X  `  ඖખ0>C4$ @977  4 $A堰 @s N6l@A&l @ @l i C ` #v <@DB @I I4 r dpj8T LZP`JRr^Ir`n@ #)`@d^zpP @vz) ɀ  n`^ `hbhD|@V/S`@TBRUhFTU0PN8PRIH v`b-!"aF<*<:Ja&A$sX!* .Xc 2 p eV{ ˴ `p JXXI D@R@LPYVJFkVu@Vc `/ b`Q``*  @`` Dՠ`v g f @`z π@ NP:xz v h y` r6^l6Vwmtw8@\ s Bh `  `) ` ) ``&AXm!0 ) iS<L ` #4` 4 ` * 0 (*J * ) H . @ @  pgF @A d` j堲* Q T 6 <@〘 ˢ 43  zv r 0 `Ll 5`44S # B hWsX T|G`HԼGJ<"@f~ : 32 @ xKlr`EF` , .` Ef`lG&Ȩf*M%jPp:-SO@N85o U`B%]WJ@Y(p  X7 ,@ oJ @`>|b ` 5 f :GO| o`nDzubtF@v ^x ` !z 6@ > `|`!@a aaȮ_ (`f`p`dkheBpDv`FEV`JƞTv&ffT `{`` & ~ k@$.g8x  @@ f`Az^2aa|a$A`a*a\l* |  A@ ش i V@jpb?*@ Z D`f"Fe|%{c` t   - g 7AnH!a3 N ! B R 4  c | E `)T Тv b\N @8 I >c4,M.S |vl% i sPlC) > `x\<@ p Yzr hF`jy )@hʡ  l|tD >@/@  ~J4X ȥ/VjԤZި`~@ +/@e n\٪ 1 I| 鰑 H ` @P$^^ lj~@oꏎUUZ@@Lg^0LZ7JnnPY@A&oyV`r ^ U4k@ 5TZ*4%~VB n\ yN>q\gRFD]_f@.` i?H  5)x aB"@ ;2 J=B SqFGRvy`n@E`u8% ZpY q8`r>a l4+F840䖏Q7%i.kEeΘZ6T~VCj TN0sN1nN3J& ,11 ~b0lE ǡh&) dP'"ahL( )|b0Leah4FQc1&c4&Yc3ˆle7%,B'Ri=Ji8J&,X%#8g+ &Ym:M'"ٸb;@DC @ONH&02 ¨3 () ؾ6 1 "$B`.`%EP1"X$& ")"8 "#+@! t" @/ h''0Ѕ P*( Ȑ. x%a$ a~"b0han tAfA`xpb"H!'(6( "(v TZ!PNAM(DRPhP!`j `16C`1"$Hpx! A#8- +h&" X0 w, 8. x&(jUpt!oRJaB!J(<hRH<8 J A;0:<TaXHY!PdpM^"Ȃش/`.b 87C@1cBDH @d W B v"x Jae8Apx#Ȃ$x 0%`(Bx. !,IĹ06 C`\PȞ0 03>!0hE!dL`>(,H/$HaDB @Nϖ,@r AP/T|BP5P C4aj=  LX>Gx;G#\28 HK XM `xia 2@ 0Z,h,J @jpP:@lk%| H BA.`Cu A6Pps 30aA,po 4pST AD- Ð|aE!kb@/] g~`S D+иOxu D -c6Gf)h6Cp~8a:@N -K0N Gh2[GaC !l&s%`8V%@€=aM*Š A-:C" 9ЖBzM@0p8C-Iy;aU0j2`d A0v /^A3!$$X AT+2*S2NڎN AX&Y6HYYk` k aL,s84BH$hM L"I wbA|2Clf |11B^ &n?@ P 05!Z^AS@  4P&h́TA8%Xuk@_ h4Ѡt49~<\8d 8`M a\pn) jj`I$X < Vh JP 5`\ .!0 @`F $,9 (&``zA) p0d'4AaN !` p:AdE0bLE!v %p ;2 R VB h"0C2pC@# TC=CTyB0r9*1<al<K /uyt +x"R%pn d3~`pf 4F#uaDxb`a+ʰ~3t >q YnCjA8Ir^!D(dm`hԜp!DqupX j/ ( 6018<073x;086҃`-x #A8%@CfCA31!  9ٯ8 X_60$H320?8H`L@K샀4Ď.. 8./*$2@PC@ X%EX&! hXh)ح.&"0I*)pj+X!j  dP @1 G3:x0>%:-CY 90 :^4A-ِ6XYE=]0~q8j'CC*㋆pT% Eh3" HL؂J>p l98g Nl1%GXFoK-xL: ?6xAB>:)5у7<;j9@52d(X)3x&x+Z̃8=&"5C:L.06H)E0\p8q8)wr*8(sb8\~m]~ѰCiQmPC*0p*H%/)Hi>EH)#D7Td⥔@&(-0/@.@,0,1Uh)h` ƀ F@ C[s 1YYi/@!ZThDE72X21ُ../ 4YnyVu\SR!9c",3EJXC 0ġ 0+E Ո!8'pP`>:F$@J ` Z= (24+(p7p" :)ºH$A|=:h/܃r[YVHokѠ|n`h3kCg(. 7%( 03E H=΀ZZ8PɁH b@4(6OP_I`9AKØK8QTX|l"[Z)r'eB)ࢅkS(u_@Z} mRp"Tp0,@)|1{#&s()'W S%(#[5AZY$2t "1z1D .P6+ġ3(#G#/Jbr$@&feZ3IDBIPL]S3ԦYcJ.T1-Ck0|Ǝ=9 ;9??x:7zk>>x9D66G4< ;=#jz]072)[`%)#'!~wA~#Cd[ ɣF٣˟FeF\i :Q) _n-93;PF50)+/0X5(7Xǃc= 8kbT~/a\'#2=h*8a (aw"{ݢLh`A*wSi9!?N>*8-8""Z p b(FC1 p'ƁHoGQw;D@;B>4_A?;퉃5v=2P;/tM@;҃0?89 () fZr6t8+I:~}IH`-hm 9|<%a؈8C"h@ <$ B\|X! XZ6 Rn;P\)2لb2 3t#B`F$P\@ bhf6 EH^*bὼt* ĢP3 bQKVDq8r6 BT. Pvc `HH6!`\> z~&@ܪ(vbCQND 9#ps "aixP,0! `< F48) .  "`" (> Xt!`|+AРhHAZ!|a<HH^ :aTD^X as `AB`)0X!HDH2èGQ;;@C`6 x3C3 . ز- 2 1C/ x6. b* P+ cX14d&SIdgfA)Y<]\iaI&XqVeTaPe[Q$VQRf9Jdeyuʼn5d80P(!SZ'"x+ؤ# 8. @&'-( !'!p~%b% b +Є0"h, P$z+ctaht!h!Zax\xRPH8bvp!j,XLDH.!(D @7 <$8?CE ?^?;=#? 3σ :#81 (/ð3b8 b, #x0 7 *+ bS@&P,aP%7@b  b2 &"`Df@" A$XE A*\-7Cg ݉pC |+&J 8e`"0` 8%Z#sN@k2 0` '7L AyX L!(Y@Q R"nP<z X7+4A81T8L ''!`qSG P.\C@@ !tCM Bfc 7"x~-A Ar -FA '&rC$J3BU ah&0! *xCbc D&l@1 @D.`4 `(05p6i @a,vh@9!_%J %|hf10pm7r a8<0L0c YQV at2YP P%Yh b,\1*Ÿ| 1?ty !h5B R 20L &|> fĵ@т"BcF2f$,F"+ A\)OU@Bad% H\ ,0P H20R $6:)pTih!8S# "٨@1Np4n F \0-mĘ& Ax13lZ37c (,l @$xg a@P"C@0({=J(<ps!6<az8Bc!:en 5pB_ h0BY О@G%B(MjC 0zB@EhaQ)>hX" %y6dlB)̰V #= a4p !H/vOv? @c_, T qSQA0 _=@H b+ @C?|0F X%CHap 0Q$ ȬbP! Gh >)FF+']LVA4Gvp | AT`6q(aTLP*C``dDJ P  |/4 J "B@QA/WL (n0l` AK-A $ N A~J6ORP9'a*:vH 50 jZe%ƌpfB!Mt Є8G#j8iG͈v5 ƣi0LehX-ʥPU+fcYx`(K$@U$'dZ"\0Jv#zXɲSP)AVDa"TRT46mtN\ۉ,m"U =`ԌcԑƖ,>( 8Y- YʥR3eyO$DrXS&LB9t~F->FQ(= |MQ(H$ d1hM+ 2\R*a"jXZ!hZa^A|bpК& 6`^8BAD@hL,eEaphA8Ø6#@6cP. C(0 2. X0 7 B+`/x,p-⸸6+ cPЊ+[!0x!xx!hA~! p$ $(\A0UBF$p> A2 2D%`NDp!ZP8j!xx bx+6؊" ) 1 > #(Bx~PfᐂLa`WkaD6 a8TP#H:> p(B`V XFAPdax6 02 " k< {2z( @ḰA& @:FP`,"8P^g.FZ$al+ x\ !n H@H07 #;:B8"h! +a"8D T`vA<Pl .:2>_,Hh f d<%<8n0v = Cph4 0{ dP5: b ap.xV 8. BZ d.ПBxT !L,Bw lX!)H}x9gCu p7Ā4T&,FНcO(y =E "xa$-F؏PH $ExhF2b(*`X :!@^xB4$(0"A a Kad(sD5 0 lzQ'9r<A!@C0pl0 ,CpX A pZ%) z*b ) T$`h ()@>A!\p{ :"O a3¸S:0"2 %M a(PgzOi>'gxk5)XZ0('@B` @r>1c@>]!!} "`;PEJ&pRdf,:lRX!HTA= Jl'NЛN !+.\A< c 'Pt|cH K h 8.@L  F(P@. 7l:h, B@ >"IL1A80 H &X 5*@ZnUP: ? AP4X BZS)va>h3dW "J "TG#f /AH: `   E S@&x'v0r.z@v.8#@6 { 8 @k;Y' (6! ,=QX@w@Z-ڙ`[xx |9P0eA6 m 8;a"CXDd L(IhxZ^t)`R>P&|XpZN0X|O)F HѦ$ŠlM G.F$ܘ"D00T.I,$`gq (*[AHPB4ΪP  [Ual&FA`|D.AE]aD A<`tdBh@ B\ fp1WCZg H5B QFb 4 4+@tN X0`d*0R"v_AAtd, t/ `d !2cP 8Q5?Wx#Ή ` @ @@ `~@j4 @r X @jb]D |O/ o *LDEexP@TX\Y`2 fY%XgzW@Tj^L@jϠv   $@` >,`H[YFd NEXF\`:d 6 j 1D ,P @&2N h *ZPH'Ŏ&`"p`F@0*n tƀ' MF=@@` H{`&aR<1A"t b!  x   ` L`Nxa:( `  f @P`B@n RdZZ ZL,f@4Y<P*H@:*z(&`0FP-vΈ@ BHr` ` "A$!. v @ `̖^ @ ` bL  4a&!2b!$NaLa-AafA2.^sLAT06!JA&j!*|!n,aalAH @ |^ `` @n jh^tp\jf`rj <| L !4   ` @ F 6 S\@ FVT紂fV(`fjPj'EjbY<r+\F`Bd ` O@࠾ @ @<谀T @ @ p `  ~ @l`Vp&쀎 S@Q3S@ |p@T[ϖ@VYX2): >d XWhj F!  @` G@ ` PpWPql`L`n' C`< p 48  d 1,`@Qg R &@V , TgDӅ~( 7(%,hfn,z*@Bf@XM*@ʠBW h"!< ,$gFL@V @@ ,& @x <@ x \yem&@PDVd^% p:, G(X$Y*e*f-,Z=)+MvX8X BXV)j(``߀ Z @ 2 @ !1  @ O$ IZ TD 5 ` aL\DaM `B6Î l J :  Y b t d@%pYH `^Ȋ@ r @ oyI*QZ{}fELfNY0ŪEz`j k!4aP!AXArKAxC_!抠hpn3fr J z@@@p `2e^ .hR@R *@f{<[,0`T`L*T~ H 9llQm# #k6 0&`.lq2feHfTD4"0`ha EaL0za@P`tW 9A  8 Qu@ Jd jlR0q'''fe N6k:|x `ͤ`>@!.L Q@ eB  Ú e8 @< UA]Mb>J K @sUf  VIX ` ` > 6; dAbN#G* ^DjDK]`b` @4A!AahA0"` @ Fd <@@d  30{7F (X p‚ÂX#AP. !0v> X !PhL& PL*AB' FbY8`.b()ɦS$=e^+J$bȘ^f M"hH-&dF#฀X$FpfHǢ!@8%# ^ XX8( !,tH $bh,Mp2C}0a|/Jb. c(L!Cx#SbEE&U`dE4% rheɪQ2ZDTaaB%hF`1¸B`(&H B t$!r "pz(v$ؖ$€AЊ-$qb;^e)Lbp# a/B#%C&(0BP"t h' ' P-@UuPPv /( Z!J6(: :>pH": P- x10; H2 p0"^% x!ax$xt*b!74 ") 6/ /#8Xh t( @gx]F)obȔ&Bh,P!B@"k@6M4 uZL;!`VʊA@tn!ǁk|1GwA@X ;"B #+|)Z(LpP*`VhX,PApU*PRBHW`p, <p@Nhd @8X|@4L0`D "$@j8P ,`(pV1x AP^D=)D R'@!| }-`NAH1 X1 ԠA)J5@pn B PR 32 ZV4AXrùH 2t S!L AtPd ;R @):XE !%`L>m/0h Al5Vap)`s  CX` a0f 1-à=EhQl2ǐW+icW G\ +pC l=LĘB`W!.+`bTR:)bO 'g 6x`a(fB $XX@V@"0zH? F~;P~@Ha9V ~XGaEB_$VaN5h(F0eL1q*CP a?p\g ()# C #G %׃ a0(@Q a0/^  A3м3ذL("d@0Ci a`0 l+ )C4 04 lAxj l9 (m !x1]<A=hTJ0jc(K1A<`@T 21M Al#XXmU28`(7(F F 8(#`P}?u;zPyƛϰl;T DPBba$ `p4|*.P^@( B ;$`NĦwp4@P$DxPH@!$ ,@X]8S4 0N NGh>pPn5DN(~bh1 P|!.C %d`7!0 0 `CD X, [+$%D˰HGLxB8 4@2 p h>1NP&#( H*uB> A"ۭg !8'0j.  /Cc a4PC@Odl4b0H#j8fWx}jQHuh0'/'50>GC:XPB8MGP P8x  x#$P*h&P$0$1`!'),j{h5-0?@0P9@FK6@WV(^^Z^Xb0l[__\X\o`0X vjD8_@.Ɉ-H0/X2A`>p3E5џ/--)7X9BDWW8X(ncLaK0#.B9@+-0ѥр&{".x"(,5P[Ow(cHj+((B#!81 3%I8$(2c%/"@#\X103tN 4Ӡ8+R V8 )':p  P$b'p<Ǹ=p68:*9)2E0-x+'h&8B9c((!.5/{#3H@;:<`8Yl:pNx !S*ѴD%'+3+,B}*m+4/.%iɠ8 lɌAk yC0TUpzhhY}k[̯o_g*(SO@D Bxh47 !@0 %x#(p x/ z h(7@)(@ 0y͐8"ԁ4܁ %p{x È" (7Vh-#85'(0C<9XUH@5 Qd0PP@߄P2@$(ph=x. I@#88%2`-px,P:@8pQ 4cc z!< ᐏHցP!:/@% 8X"pbh#%P(@ ݝ5.6 $w(1X6M5D VJ(DXKXPP[_`P ZQX]k\`[c`[`5.(2.B΂0h/>&m$pp.ČE +.R^0+3.Z*X/ X1iNJ X;݊ ׯ` ̃@BLKPtذwHeUhy`gX|jR0-Op?(=1>P#4Z'P,~0(XPZ@8 (O {00d[@ x `0P1pP#$$D$Z!ݩ.L!Ă LP+AA@G9X8F`IHE?N?ZXSYp_XMH1݆,ɱ+|NI@/6r/&0D$=8%x6:DDFWxPO`& IJ X#JCXx8+1?B @c1l@ riO2RK6ep5#G4ZSIEqr/xH+AH9"Ld5Ǥ2O "!dH/,E0ؘ´0pDb2DH/">d8! !>" Fc2oD(sq9MÙk)L$rYl~D,e9‰X\/&8g= #_3JI8I& Xe* Bp0"!v hhhr,8b-"8"60L3 #"lT : : L4`HDv$CYP)MF>_tF!RqQ1A3YxeI2`9c@99"#b(AH5C<B@8x:! d/p x)Ba(~ a(=06 8@J h * `" @ !@6 `.faF a\%:91İ.BA`f/!hIBadXR$HBDA!C ;@l*a Ta`la؊"`R!n RaF:!FX\a8LJPr jj I0؎ ^"`H!!!X" @,>,q3$16 "(Cp"4dx7N$;P5`Bb2c- b2 ¸.2,"'a4(BI /i A;0!DBL ){D/PDnxx<,WB La +BB+m$`nꂠfBQ *ƠHA D P+K 7Dj Ah7!hA: V A-<Ќ Ax\S("11 Q)Vap+d  .42xqi D?؎z(=Ck 17|C0T}D+l 8 Pn9&o9p 'i#BHO a0B\ h/P[ L.0L !|% !,l al904 ;@k PB)Ԅ(Gd x#q#\ 5 d8$"HBl r7DȻBt^:8Dн"l^*,r4aDǚŒ20 ;`HI `!F#A\ 2f6 lp2 C!\ 8H! H$L@0m00a\% .-`hp$< +!@@pB A3^3 pL , .@A(4 `)N0FC Q ;(pʃ`4 Ax]  _ \0R |-0qB`@&Rp'!!xA'zPP [C0gA-`M'PS(PXO &]AN Ad#C0E$9" 0WOp"Cm!1 hMa`@[>!,C !E#Ci!Z [)0] 0Bi j-B H*xF !c:S At*SB$M AD-$P O 8%QA8&`>pKAp?LA! ̄g$B d`Q(0CpA60˜?`! t <L h<1xRE -A JB*`P@T ".OҒ As` h2 ƌ @?$}A@K1#6p50"a7!8C? #t1Pu 02I tg A|8( /@e A3jd ꎇ>Hmcn` DD @N0` n I`OT a/ F`f\8x ,`HN*^R̮l#`bf@n $ ! `r `t`V^  |P+Hy EG!J*A D)I$S)E!}6 dQLH-BD)\L0 `V*F)6fU=JXBs h^- `\'EhQ.JEi ! x":@%p@ @'ЎEP!ȆaB 간A@aèN 9q )D"YDT ~98 Y A)@S !+%[ - C w ;0m6c 0pCuGLn 5`!|)P 80Z@f4:'+ F|3tA6p~? 3#EI!h@ $XQ=a b0` .1 Be (n1 h 6 `^,`XYNH ( x( 8%bAp6.A H p00Z0ak@Ulxv\v _Mq`Tk :R' pRXX\!` pH\0E#\$xEA\ (y@I* I5(T@ ED ֣@?b h:@ 76{! h<!@O%TwKz C|8$vX_  NP 胮, 04Ik G0W -IH@!@fBg "ډ xr $1`!jA+pXV p, V&A\3PX i$[ |C1 a4 { A?  n 쌃tT31+ S *}(= qg)e$@#y@-S@'( pT3@^'B B! XU&W,ZH& Z M`RRAĺ<6a  @%BK  d @ܫI A 0Hada @J Q X @ R0%EN +# ` 谠 HV ` `W`b:o@2 ? >0*j?rrx \ @C Lj@  `\ &@a|!^p "   A  `"x <p <j Q @4 V*gJ(J`&hĸ>0` k@̲*(  ɦ , .@&<qlLE`^@v`.o6@dBC@x p @4F 6 V '^ &@@\ mH 2qT AnAJ$@ b\j\ |`j `@<:jrLf\drM @`d |@$ZF`X X \  p> (\k|1`ll- B6 ` @ @ ֓@x Hr  @ a  aV !)  @8@ r : p`  ,X5jpz0 xh8jz+l G da@A9@DAHB NRlT`XԀJT @-TjA @ L  H  @s@ {xbX`>q@ˌ$J@<5t `  @ +F `Љ:U0L 8>*J@` @a @  8 ˆ cP C@ `+&@Ep 5 @ް@ \& bQ " S@9$0npXq`L wP *FLp0`B $6w`}z~ :@A  C ~ -  #:HxXtj bts d`pӔSI3^ `z `O`RV F& `  @ P #"@bS e@v  j@` dp4` h x  4BR @+ ` X A @. B @  R `p#piX?> A`\;& & \bd aaATà!a\T @ @h=NP/@C:` O"` aT  J $$h e LMHR 6D4Ŵ@  @WL s & hU u``K  A$@ ` ڶ 6 P6 _+p { @ e .ȓ t" m`S|K.n0Xe`I0@ ~bp'\j8> !Hap ba @`t @ A" ~ @ Dt 4 v|8^RѬ,Ηf$&dGqqYqZ,%0*j qRF@5!>ȀE@״h":ZKu`UqT@a{@jg:rlH`qv`"|-@Br>v@'v -B Lp +"!la|hh;3` e@`` aϪf`D/J_/BDUb`j1lܠn@th@`hɔ, 1\xf r@Xl ` a4An 6 H @EZͰ_Ϡfn`.h`#s2X`2@v   `  0@ `E ` 8 u& ~ I! cJ xz v5@$vz`o|X;&.42>T@a!Ah `  jRX/DN >, (`\a0@"|xa5Fx|ʇݲ~ Tp8Do:ddD{f j` yi\ ` h ȵ` Т @ᔀ!. G  Aʸ!*0R R 08 )H@ P ;~ X dO*CA,g$LqP2FRXP)IB8JE1@x4!Ȃd$ShL4HvB!Cx9# cqU7&I<){oU<5u0!JDC5$xY P60&E䐸BQP>. 0$C}@$ \$ !x@%@np@xSx C{T." &Ш`< Ba@lLC>lRpzCRx, ( p 8z !2 ? A8 6AaaJTfI ˜l &`R6`<:RpVb!0vx"@u2PuPbL"HX| N&#H0b2 c;#`J 0/2#$ՀTuTl2z8xx$dAh^!zv7 B) F? 1D -c CQ8H=:A35"9׈Ce 1Cf@(@vBa\Pf"A$0J D`(L /B_ Q BB806#&@ L U|@ὃn. !6&0AM @JBW (è01z \,<3`Ix@h2l`4  `^1` @ I&mL@(@2 0$<1 a@4lp tk7p`>u Tp< #\ * 40r+ X(A@r @08 ;nC$/ȾYa~1XA08U%vP=@ IH &:v DM ( z`H&jZhV)J' B0@P1d x6)0C EXW!8,h 1X X/R ,8@ 6 pZ * AKlX@*`X HA@ S4:Bp^`'@ Raa0)`T, X2c!5|K0f*84`H "tA;͠| >&kKQ$,c8? ĠbBυlB-ap A84@H  !$\)BO8A4p`<7 u@8 ph 1ڐis`+ʂRRJ'i.~K3! p 7p_ X/CI!aD/0MMX Hm x80Cv <ϯ0Q a&pC`I 0p(8S %BH .5 *ж `Tx"pMC qd}G !%%tb!!hl  ;À $# 6KAe`P`ϤPgxX8 Qnp;èD]@"PG Bh-!ldB*QNC AO-(8`iM(!PBB l qۨr YxO@"vD L`(NX ;Ûil`@# @W& !`pAQО vP2 &B jlPB03PH2 fT¸Y!1J"^ AQa0P-`J A&`),RЁj- !48/9c$(D0  *1( )p&X.,H20= 82)5H(:hZܭ`K:5yy_P Bĝm1& >% 2`3=+&@&'`5&,.) %#H*X')3/H0985=HhL(CJULh?hUK5G,#)!.8`+7P5T@SHpl Qx>b @+?Q!"`2h I8HQ'x!Pp#E`?=pgЃ0H,.h+05#@$@ I*A);[Ah. 4/@+,@&8U"D8(*x x)"('3P/&,*01K!8C$(, pKQa(&&H'+!-!ܤ|0+ 40p+0xXH:#08XPX+2X?Ahp(YX; pp]1@c83) z@/(ZX94[I)hՁ(``|lH HԀ Rbɥ &m€& Z;` ,X0P)%($ Pp X`  P+876]B84HX1)*t8MpE8MB@p"{8(= ¸@ ၘ!eԨ ((i2X"U"8P"ڋ4IW2  BP/,@+0(3$@ YDB1-PpJH¢3hD3Q#-1g@ā* 8p ,8;:+H*)h9_9#`(#?!445FA =\hTxNl^QoZ?XFJh.9p(1jȄ7PWPP>dNH=`X2k9j).9hhЫ#8)R/HR)_\AτT&x(&H*%H*h%H"߁Hi*0@;5Mx$ *"X.,!ˀ bJ!Ây %Dh.sM%XYt>ぐux^Pz{!\ڂ)P &Zx'*)!Ợ(+%[bh) 0N'ꀹ 8?䛳tۍw#."@OQJyp]I9. a(3&S8^#ZXHr_@`uB&pR`8#.8^B.W9$R8$2d@F GPA2.Ȣ`"0 -Ӯ2F#OK_; x( ZZ dx p Gu% Hg?p  =R(3'f" =(p xQop #Q܂0 Jh%xQOJEhH CpA 7,%L0"0IMsW2ӁV@$x- E\8{H9--$r-Ӝ#1_7k,gTͻ!8h*Z3M@@j} F:`0!%{(x((<'.肤A;(&H(8'z0&IJ(A;=[L@a O8EMmp6ͅ(`T tY<|J 6F#a]*FsLrJωa*P+F1V: F‘@R'bq0P"LiU="8n!P0>%'DblBA 6 ĄP脖Br@\@ǢX/ bQ@apDAEB0\#ʣ9@rB&ĸyZ4+ 2TZ1 sѬy5ΦcQf6KiD="ƃbF."3#4L)~R10A"CxxG:cB(nIjbz &"xx!bؚ) !@xH 2 0> !L<`NXDpVa- _ dq0` !S8F 6|Y G$A1=xX=PPr " ,x!Ut 0>@D @  bÁ%ch]4 ; ` 6 ˆ~0&$ʧ+l%] wrB T&A lXBOQD%D(E x:CC]$.| a=_ `#rB(6웹2aA1l@T*`6 N[p ZkI!:C0bT5"zh_A,ܒ *SZSs3s` Q;Ă< 0'Ty@PڃJs`&^0FAd*Z 4@ |4Y./DHBD A,F[P'@4ſePV"*`tV' BxV!e0BQ ),n !5_ L.PK (* ( X0,!e k 4O`PA"!("G`qp|9 r? ЄxW4!L% 0D "Dh8%`| *E R1-` nU Dc!2zAh? "F"D!tA*hpD: *)B{!I1BpI L(GРQ H*`B@dB@Z6,`*> &:jEVTt"VELU&Y% L԰:@Fp`/8B4@4$R.`N 8`N<~]@rUDKL2&t:B.` = @` `P8FHfN `@ @ ` J`V  A<$`z f @L%f~hC(l[.JflLiX`DD  f áf1 "XN,ł`b/ EHV(EQht/"8L& D1(G7ND! F"'aP"DbAT[< Da0t)!DA6C1 |k) q9g3eV!SCax|K.ɦ -HH+}Hr׎% ʧb9l6UĞ\7Sv҅vC)E$V6!7 Cn:"a?!G0:)㑰x3# `}Si3ZgN\10Ȅ >`N$F!ar !2F@~ "(B(bHdxJ P B. p% $ -b@܋- X' z$hjA~ALX!z"S0J8_/́0\aH|PPm,!n#APdJ x'Ђ(( Ⰺ&"@  2 `,u5 D ( `0V@.<l aD#I(i 1~(%pC_  otbhOÙB((;"$ <:[a6d!f Av :`F J`: `` 6 b PB ` " *f` `h @x$ 0N@ >oi(  8LPtA.?e``.>YX8h } A(A$D8La>D905)!~JB!$J!DQDQR(T8eစd@o0!`pl7PzAp@ aA0x=P`nB*"`P(8O\ +Dl^$ BnQə@ B J#(^J9 h 'A AS |$`p A7DHsB9"h A0 k; !p}F "@"i Qd6йpɉqj6Ġ"hЉN$s"p >` ;@r1 "f!FSA)`0Űb ˆ)Bs7@B1a>AMB ¸ A4PAF !pf@,PMi,`V A+D̦ΠDA8*&G l#ĕ"J Ԕ,0: :t%`zA? $);> X P+tZIH#he 萃4F '`%f8 p~x5jtnBh;!<: a&v 4 @`8 m {H+r b-@*tD 'h#,*bD b^-xw8 t(8px_R !(.ca08bv,/pB U& 7@,@  `M ̀x,`=@Mk A*@Z8 p>!m5jsMؑ`2 z tX< ,A3[xA h@D $ @` 0. rAK#:;P] !<(B+ HEpp#5D(BA#8%@X= >Wuѵe( 9P,v@Rt=0&B({ 9pE(Qk\H4#$>%&Zș:Ԉf Y+E-2COK'pD e/ĤLpG`(|PJ Q0Ȍ G^!`30jB; !zD|dR3CJ Xj^5İBLX0,ƹdZ P$R; վR  R "J x$c H2O(LꅂTQA&4!@¨c `4V 3 p z # tU*bXTlB  `/IP O in +9 nX`Di@6k" 0 .DWd0e0D f^!r V ` A6 !\!aBa@T` x 8`s V@0&Z+eF @&ŀ*j@*g>f OH(H ʌhk@,k&a < @ X \}cfj|p&v@ `V  $l$ : hV$$X@#r"`[."@$&L&:%&.&brF@J'bzbZl&"h0l"F@\%P|d ͚ ` n,`Na$2A5!Z`!*a3a6 AP a!Z.arAr dxR t7~`zhë?/`N@Z` aaV bf?;܄Ob`8)F)L >6`2@e`\d@Lf tspC@HVo\`J~&^%\X@LH4| > N @ H z@pbP `  @Q n& ` IVfC3  0& C Ä dT~ * l  Æ c # *\gesF4:R X1n@BY@YGNY`Z@V!h> a !ab `n e x AV!zAx!XA.` u` `<yZV@VHEdhF`~ À j`k RlXR !i\lKʑl"k &1Xqtf,@JDXdbD`6y%yiHXkfpjVWl 01`V@@ `A0a`. @ |SR  @H  > L:a @D @ I@~+@ZtJ  * ^ `|0 `z A\ w# 7hن4ö;"J@\h"T+IP|'`drm1B2%` r"$\RCړ. Zh&!A=:4,`!_a` AT ! h$3`M8R&!` L |Mbhr À !}Od @ |y}@h  pʶ * B\ @J#`'@`@G* ^Z`UUlJ@N2C@b < J,&OfFR ?3Rލ%؅``L` }JL`Ü gt Mx@ `@ @ `&` ` (r9" ­JrO@`p @vnt8@ud N @ @z:{ 4k' 0}[+HdJy. ~ !`X : `@!` 0v>v,fV,b, Z v *̷qlf% kvsjBjf@.AZ&Q=o&bĆl&j'j(=gEf <:VBھe bg^p`[;LfSfLp2H$&&` ɑ, zyt`gBT ` @D ` @.,c`H  :@D L(b*#f!d+)3bi1&gHhn(s!X }πLQ/N(X@+R`נA SLj`N  L !J P `T V 9A`S|A2`zoK  Z :` !N t/Br`"+?Ob`=9P:VjPVD+>*|Vn &Z 2՘%'j$=^@ `  Q@Q@ ` ` & @ @ ` ` LD`ڝ~!@v$$تc8T@~`| d@z t{ + `#l~IPX`QYKNJ6`9[ $ ! @MB _dAcF`t .0JAaa3c0[`aVA>!AtA4 XG 8fDdl1X,` P`@,0L$d$¢0T< Xb€t L, !@Ȕ,MDP2D؈d!`6)&& a L(0Ф Ã8&5?i4˦"yHE#ǃb5Dq|"2EH~MBD~F IP&ĒptTLBbQMB\c; yG>JI$ "̉X'#av:!1u d5rbp^!s,0R0N@HF!BD!AH(HUaHBT<D<8nZAh!!" B8 (09&d@=XDyj:HÄ:ňD!SC=*4 ;DpD&ASiNB"(f~I d/e@,BXK YP|ux#Z 9BDT(84@T 6A* 65t: @0HTbHtT>a1@F'%) в%'h3 ",C8C0.À29 (,(+ 80"`q0 #)Z(H`z&bB8'>`j Ϙ[x%nHrȊ'8 B" B8@ڈ `2\A0.@ 4,yh Cf-bHM ÙL'E7bN#90$ $ Vd~v9MG0edzf QgPjYU6d$)lsy;fKYp!XpR!0. e$42H@H0:@p&ZKQ!$H ʹ'(!@"pJ r`Qi-PaeE!R' l9bt&D B@\A< 4tJ BH"HGtaBV A,'0H:@n `D.PN`[ <"c =p0& `AQ +Vp-  Ø8jqT?p)tA E@pcpB`!~p| =ȃfL@@^ zFBPJ!N8#E PFD`t*A:5LN @/ \ 0t: 6M A+p9   I&C y< DY 4*#%["P-a6C;BDP @p@L $`@ 4 q$BPA?`t 9 Z &0J !aP,@ `tQAr H#`,A8N@s@p `4@R A2@+D "UŃ{V &;@M ,(Rj6\8k A4_,<sh70`O A*XO 2Pl`3D 8nBn9  F&Dơ' MBZEb+:`(".qˁeX"  TEË %`nĘD bx <C8` 1*ХBk1z:pBPaA42GؖG #E#z1?_X#T=~r^7اH 0D7 $Q APM L= P7a4 L 5 1ZCu(8R0 #q^, .) l@ 'dNAeDJ #h6 <XCq&  5o1$ @ʾ A@ xum  X6pz_P-Vr r?!@ВB{a(9 hKD*` @i?MtA=y 'a$#X|d K%AI4nJ0 Z" FDP& PPPpR v 6a$I a!p 150ЗG !"?@X0(' C3P'(DX1(&@)@E <78U@W@C2@ 8($58hx3p`2@h40@!jP0""p /" ȵrʸ &x0挰Y@yY&%%"p+P(('2,P-61004/(%2)0) yX,$' )a0(9鼁&<$y%@P &%2H 2l|3Á 239 X"0[C/x(K16\X[Ht(YEvbM8|`DuH\PI yeR5HOP{aHuP[0A`nXI -8ZE0L "PBX ؔԺ 7 phXj+ X j/"*ʖҀ""a$AӁX Ljhx('/AW0rXcXV0uRX?8R8(+28 #0 8, >S0/0(;>h=x4x31`0@:P LhF$PD=-8O>X( RC`=hiha_N{1ip'%#$;) $  #qr1 JBYY > $萡(=1 X@#4ŀ@@E:2O<058UPBP1O;,J6`'PE@Dh0'BX0()p+XFpLS.2Ãp6e_` !!X"|X1n"׭8-.Bar ZImqm )| |( l;(D> ]8BH ,".z/'[( ,4/p/T085-'@(!(({X{gA! ZƂiWi;1 {s$)Ʉa|0 "~3S}́Р\X [9P!81P&C0x3@LO(Grh[(=XoYx^pL yNx_Asr{Q(zdbhDʘ;g0F(QqS!".!w- +.k4 h6 t7(70 H "ψR8 ȁ(K@ @x#h2  `,x<`}q[@aJpW@bx>/:bBH$3@758-((>C >,02=@ L`GH,pSI2_PJ0HJAx)hW^%QP[2C q (+*')+(e(ۂ#Bw ͺaM-һ+i#ݾ҇(YHƒ p[P#*3.T3U`E5P4 UXCh1R9/L;H+L@PCUO@.:8c> ?3 ,pG;+XA"(8988x6`X18ӭpq€5iH/Q{WQn"r6-@uCy 0 W %``  H#Gx"R%=28:e6|K'd&%(P,72yx22P.2-&-Ę*#rFLss p!ƫ)8)hZᵂ!s%iH= Y$r $ .++1 W.\b@"nx(`%A-P H@UxJu+[W8Iw`zI{H^?rWDq^XL xdT~X43V'PL ׁ Հط 3~  Lq#z. /5P-4"3s (# %"$@p7Vrx`^xePvZCJ;6Q0%Ĉ 6F*9^3X!E88"h,258)(*[R38a]\A`)[bVOoZ`h)I)"&^[.#.+-.-,肨#!0+-;)4x(c! t$i Q )Hhaa8ڄ8Q0gMFy& E2. :h;* <-&5N9T :G4Z/"كh9,ɪ (20-{(=_<$(;9H48-x%V˜V(" )s moCXyžz/.}n   8MWp'(!8(H'x2[-*c+Mf8]2)J.J'Y #1\G*HeA9 #ܢ? 3|Ĩ>#Db N J`KcI M ȤB E&dhPd0' a0&[(C`K#\Q6(!1̬( ̶-ȥe(u .#⩼V77-tH)&#${.ұyS1pR2^ hG< G`,B@TA a0>$c Z4A(( `&& HB  2J pD CN 4@ 5!@%A4.āB!`JaPx(J j*)E!zFZFars%qELCYD<,%p\"C\#`3 #( z7=x,L ĩh0S#yZb p4UwfYZgQ}`Zxt'"X) ز,2 C200@+ ှC "# $^n$h/Ф.BX/8h"$!X!VNFhA@N(Z!`b@d$a"0Thf"!Bp!!ؠ8 #(l Axp(Ax% 7'd/A #Q)ʹ& @aLV&H(Bx!6@:-p. 6̴D 4CD @, < >@: ?* 2~NHK{=8 <ha[jȂ/?# `6 "ٞ 0V`%Z`U p/(k!9Al A5BZ L,p(N $pV!*ЮIBCQP JIE,!XBy( cH& : >j@ b LpL s-6 9  PI0 !ň#pI !bnj E"tv;x"DaA"/=Ѿ '$ A`@0v`3 A+JA"t:@ eǔ2vBDP *2E LnHv H*@tN F &A'n X)w"H&!`0a+ 3j 7b`! j c A2 wAlB l>ApA T.0 ha y1hـ; -Ј_@#BH``I=  G% xE \H/ M k ` vVN(Ѓ9!.HH #]DT B!@xR2L DN0@)8,QF۠Ij 4uwC04o`q0HcٖpPAl "Z XA$n`J !@ j%`G`0%`@ Y \4 A9Hw 9H0C8q 7@h l2xT <0PN A& 0U,!L"8N &.(>r30:ql' #4Eh^X.iAazPPAxO-C' A4h"r1h9`9l@!ŸBuv;qyˁA$74 (c/ l 0P& tD gAk%$ȐD9<]h)H#@ܻscEhN8#CY#9;PlA_aDŽ"0Uad4G'ڄ8aM `$ 2  h xf ` @`  r@!. !ax!A|ŎaN8!<!!P Qh6tA% Ebi@Y+˦"Y`/'`rcs"* Q.crnl/#h&J0[?Τbc@1t7,[qN1" 36"D"x[âPk Da`d, |A@|* Þ\@ N (4 8x6PXW6R(L@vHx"07bX'f"a:2C8T@JRhHan*(/9816CH=C2 4K0/p2 4 ' ',p" X `% %"pbPq(H%"-lʅA@j\& ^ <?0l (>V !X.X%ᘦH|5`7Y9jre=T$ ^pBQ\DYxxe& p^ A~0bhl)ᘚHJRA0ta˨(p.8>A $`>><` x,`^ X3kZP* 66Pɷm`N A@'6n0VZV ɜV"hCę^m%Qi/zAB&pKZ)H3::bbAp ;ca!dȠ9BH8? -DЎ<27 ^CH_tazm噠&9'EBv<ĀR P^ 40FplA= O d4@A(F &@XC/ B`B J B"XBFa'`]wl;AG %R (!]@ !pBx A@!`ha<5`D !ij7@8Ax= @Z (,cə 1@PD !t&(5@90`PC ,@2seA``.;m` (h ȯWTHmbkx] `$Pf AP? (t P8:5a ^A19 \ A06ԈK` Ai>q a9玝ph|2b L-PC@Q %BPXA+AC'VBJ !  P2A,BXT H/8M!T A8%@hІX[-q3 `X.k%Mk7րt6 81o`Lh: B7!rX7AQ p)F{CpA A!sՁ4 THaM$PF P' c @t63@n5`tp2 @J-(5bz e6fm()mB P@--t(Cnm dJ8| @ T ɯ@.s`rh1 lԙ1l#prZ7ALP$pb5AFCЕ Ax\"`|t"A" HU'C8h.c`1*.x€_3[C\q+Fh#z t:ȼl_*FЄLA A Ap1@Ăp x8`P= AXX .RÕVV I!< S(lP0PzBG ʣaNad9`D\Bd-A4C J#gA03X#yp !FZC B$ h#`X8.Zg@ X"h@*0dB8! *B|]S]( \R3\W#MV &:@992K{Y0@Lj &ke%jxaU@uPF A$`LN8O.pAQ$ l`4|@R +  7-}"a 0+0R !N ` $ `@ j t@ t ~ vRh6 | @ ` \z  + @ @<l> *[04N < "f=l@ l[*:N0W@ ~@ $a< !AP 4afҏA`l  a6t " *`XvJ FZ` | 3 x t ``. a x vR^DkNqQioD=6>6@<ɏC j>k;6W.Ƥ@?H8X7/xDY~D>f | @FLS༄ j  b`` V@vd~ * ` P  ` ` k5jSx " ) `tA8'c@X@`oU@| U p   B@F !`v@4@kFQ0s~;@z p<@lhj?r@x`I\DE 8``!6Ha^ ``! !<Aa\Lj D@g,1NY|C=I k^Fo5%%dќj2o %+n=,T<1+,x 4`"ǃ0h`@`0CB.Qn,8(>!2E-#~!΀S  `# `t @ؿ z!*A bb|և@pa !vA$a!aJAi.2@D`f ^ @JP @B@ nj@H`r ߠD H..L Pm;`` x !2 B7: F `$ $T8r'`h R.`R `   4 @\`` `v }> -U$F` \3HYJ@,zqrg# ;E l`:>ZiC'na A8a  @tgvn>bmђɩ @ &`Xhl^kZ8;ll[Lb,.>C .hQ= *EAn>zm#n-nۋF,#n-;ЪTLۭiس'`l`@&Z xaR,@a`  nt  , V "–" @ aP!mf~š!JAr aȡ,a-K-w؁ԁAA> 0#~` ܅F )PXN;DyY `p m `H 6Ie@ T@@ &L Kp @C `d`9-xT.ΜJ~-t .   @=@n ٚ l G@Z` ]b"@"@`|FDLƋDԗcIfŪvm`FZ=i3 7xtkzD@d3`` Ԉk n \` SJ;`j @d ` '*y `R ` `  u$  `x `t!S@v@ 4*Vd@W (0s  P  Z Afѡz ~y!| ` ZJ *@>޴z[ i~XGN aZR ~d a:!@p'`<@n `.b\T `N axT:0 AXh2,D!yR %@XH \K @XD pT@FRD4jD($P&qBA(T6* EpD2qpTG dS"օXRl35tgA tbye)خim׭%g:_ۯ#y/Mf>LGuxI,܈sy q"PP>D A cg @6@@t&YH!Ud.JR( A,' N)-  f06LD0"Ef** `t G :E bnmMߛq$R`!rEh`2GCO %#G(Ơ~0@1'Ɛ>" bhe,24 8$`8 @0HC% !A" ЈxD $f* ,@"Xpb([0 AP }`lO(xP!R p>hX] ,`vA84 t0`=UPz `>l@0B 82pAN$d+ L A-@ XB `je!H; {ah:`8Om%d@@ 8&XfP<@!|FU@)t< 1@ sH;CZ)a*@0xX0 * BxTA`-BpzIQ6i5XNxE [ P.Xb0C#X~1`Bc `1xR a4)[ "|Bp:l9Pf B3 .P G@'+0†= X&Ba d3  L (dB78N Q l6XPHP(f/g@-HR!J, b;"w!j:P*< ApQ F7]g2T '`Jat0!%]\Ap 2ܳD@!4Đ(QJNdx @qP#'!H B]ʴc(b!F&Q9!!`0xh# 6[}l4 ~ !Q+w!<0rCȔ($+0+@(?X'&-cKtPx-q(8?xpbKB[9pCV@Q2|G@ m9j=#fX<+(enB)jh>}X"P!H^>,qHB'Z@BHPHh>J @8MC<4P300,1+'/1.h'&h-8%"( c6XV$3P#3P!DyI!$x*%'-+=ʂ($9@%NDxMgW?iB8a:#j6!*uM/|R2(Q+s;[7"^`BHDu(\BzZ;XrE0md4n+ph( hf7p 4b47  N8R J8M"Ч󒢢9p r+N9 {j)r) OZ" 렊(Ȳ Ȗ Њ j4 (48FBeH&CjGxVpRtpzl_}h\{h^Q^|i]|hZpzeS x^PIxo(S?8>gҗNh<;=sc;XaI;p_F'(6$`H8!#(P"0@KB [)pI#b@I03)8*gpL6hkP$gP)XE L0-PD&'2rƁL8+`)T$* @I2%$a>.2BǬ=,A`(%%@ %83.-UD֠&7#z#2>(m>:Xyf@[91{O/{L/|L&`t0@k6`Pd8?)0oG2pEf}@#xa6 q;P&i:h;F:PIKB=6x72;@+01.3-`(&.@("@*"Y x&d82H ƒ5K)P% #X-x/3+x*&x&8%x+`xL0E[[PXIpK`)]1Ԇ8&@ppF8*xuM.P/}N0}hU8e}ܨzXRP?tS$f57(!p P7{H:)&,M0 r9Т#88  OT CO!3"G` ObH"hdB1Oj.!cHoE H 0!͆URXRwN`5`XWRtý~|g\hxjfZ`yfm[PyrxcSw\@JpHTBjhM`>4H;<bHhFE6(Zp8"8H6]` @X!8 0VBP>PWp:8S=H%@X@!``#nN(gSx*=>4x7Vp)*)8q5)hq0 Wx(iax!"<$#A0;(!:(,Mk!%0!$&r >ej߅rXhD0Qqp82hoX;Xb0{> )vJ.Z1Z&Hs;n<7(c5=b+hp`?(g`<X't_aچX%E&g8$hP=0.BI0OI(C0>?:]H3X. }-I@'$$mH("p& X(#^|1@"C#$p.},`)2v(CJ(&4R`NLlshn43xd>̾kmxC)wL+|N1~Q/axO1z M8.o7X 4Ͱ$`;4hP_s My8H 0 #%x8hS/`xvI_ p xCӒ< P㷆h"yh%#~v>@ !dz H7xU+㹅jOu`PT0v}nchX HV0txbXW8wdxXXydWPyHapMrXU K@<c(b7߃FӘF6H]C5 X8?`MA02J<Бep'X@6}@ZdB8\ E+b G $b`JH7f(%&h0Sx$d`J4?@Dl'hKIdZ6& d!"ahL6F >""XaT>BX~'#Rq$0qCm "rTH#AT9 Bl&BpJ. YQ`\L/ Eh2-'ucҢ}}PA?=6h'U,ed}kM!ͦ7׌͍Y232cyeN9ɈF6/&U δ#DcxgmBinC'hDj }FHf5- *BH,X$ h*P |!&!8jt#B(oЖ`~") B+ |- Ȓ!!0~9Q* x-UzL&@_AxN0K8WpV1p_#2g))gKMD*y$'xH4,'Nb<}$t;d@4 ,d `" @(v( $H $ `* -j] !(" p(^"@!}7 h#  .@__@ e`=g`(!<ڠ؀( .@D H0ad A4@JBI^f%WVdyya[mv TH^9voWA`cwKOc4e;F(HC^da|8Ecy\$!h4@c8SC>C: 0<(4R @~ h=B<v=PNcJeXD\Q$p\Djpi03 A`4 "\%x`K !) t(+C> # x5 pApC  Z]Ah T .+?`!lKC bIT!j60a !osF "ntE PXB ph4JФ n.20c *0:烷8=!<=@$(T`9 `:d baj [4EX blh2 pd@2@D . Z)pX/ ~@ p%`nA/>,ĤN-- j 4 *6΄D`:$@B!*a!\z!n a` ZOF d*B !P@\ avI!x A@` A "Qkv 4@`OF>\,Y(QP$FD.Gh% $V#ڴv}UP*1!#ă2X` @N1 \ !xxB0 a x##RXpP ì]?L9 5'BhpTMCb1fG3JGaP?# #R|A-Hx@ q E#`kłجt*+J`M> y8G)qٸ\6gѸv;AdYP.A8^c9 Z5p_qz<@ld-L!r !g8BbD)$hEYx D"g`3(V)p  @*LA Y<( : Ax&7 " k`0 `" ` {0n~շ#" g;$ j$3`qy: @ h*D !80 @h A2C )T-CH Cо O d4 ` ]d?#@; `l08($ baR AT@%Xn Z /8!G#EJ $P"\ .؉C P {;bEp0B%QT ØQ'ѠL&PpZKWePP:`R 1d$)0\HiD:X*VA= ` @a欄0` ! d!87B 9c;@#Д X9@Z) d) ASP%@Pp#~@9 Pn<`|:B`!t  `j E `V v `P h`@f t!|VA`a`afA4a0@A^ p  A @ @ @ ^ l Zz @tQ `  `z PlN~D!"`!ba4ᎺaAN !<aA&>H aF`F !j` `R | @D hD !lLCʄʤ \ ``0H``j `.> ,Ng&h ɀ>&rFrM8s<'#"l8ɀ2m4"o&glg' l`(m lk(kmg4q&pfgqqDg&82,PB@$b@ !t2aHADAaFHJ!X `A>      ܀!oR`@`^`PJ``v Tv  )H | @%PF :"@B z1,̮g\2hV`)@! ,*n!EBAa@`T a|T`d A SN@L P@@ !B^`@^ h A`@xAl xt88p&( `P Xv A  ` `U@zxO@ ` @O@rv d `>|M`8A A!TA!DA!&a6@\ J@`J F @B L[ab`l.ќZ VAF zP@@@ X``A@J !v P A@Z  av1X a%R5bFW>: D fƜ $"fxʌr@stNg2:kRd&&n07'llomwmFml ~( kƺpf(q Fs'(lg6'k'& $q*r.(u8.`(`Z !B j @x !&@AjB  `   Ә @ `    @ 89 ʶf @Z @~ 2@l?B@o?P a4raDf!F`vVΞH`p!N( R&tRa4ʸ` V@@ | .v<`h NTn3 or Z&wAO 2u,T"CDD R `l p X MV P0 Hu`R>200V( @MPJ`4 ZVv`V z  @!bP`]WS` ADJu@ <`H JT E``]f],Z ad: l P Aha8Aa\! a`\ a\Xp ` Wd`l  @ `@nhh @@t:{ć!!!\a#ka4wl~> A:`"ךEB d{a&T F d`@> lD Ad@IN !em`WvVN aʄ ìtT H(~rN r@>@"&7jgAr*q oRd "l rh`̇Ҡ.gl'Ƴэk&&k8*g<FxBm<,LK a0 !> `AR a@!l `  S r @l  v `3`Px |  fNoX@` x XB`Z @T ``*T,~tA]=aLB@Qva.f!R  < A$ &4 A B vɈ,/ ! v҅gh;,@PCv:n_ph@!uDv @ t X&k] .C,@N.`*&I`L4S`p a` A(a p^ V ![\ aDMt=ƋXQcAv 495FY#B$csk(bf` 1QMNM7,fJ=ZM,jE:l ӲAW=džE`T2ZhVEEHQ7ǃ!b&dI|H1x cp{PPSgL*q|I.7U)a"dDJP!)F )*%54\ecˋUj '+pVb"똸:%ȜBC0Pkh{Zc+ D^`+ ]n#+\r f0X7:6 Ba0 :  x$E1\B @h x2` j Ʊg!!h" Gd6( 0 E| r J _&I@1Dz F6 " `0A8@Rb@H #q.*=9V)b5BUD1-В4("ZPv+!ȦV!`v)l +b n |$azaF D P @, !V8" Z<8MTX^8PH%8h<Rc@ER6@O#Y:NN4!PDB DH:+(F¹ PD1x/@za@A`!؞P6FJ X:@aXaLx^ 8pd$BT  #Pn% V`)>3& &@V  . !(099оMB"v I"'|s"=j!J@&FfM*U-c1l@3 T.Qt& @hR'0Yl " N"  8!g@2h!f `^h `p o2 \q ) 4 d'J #dњM !8QLi "@p-dМL]dvQ@UP8!uGu NGHb 2#Ji\w $  uH*0ð Tq+B3XC aI@X@&pB2H``.u@lA;s`'5 B`T X&`D ^78u @P @,"xB BX2 A* ÈQF CxAO'(l& %hBXq, @J#@St)8) b aB+ "$8h > @_aP% p@@lp:"L B@(Y`@F B#n`P `N p/;bB@ U]ފC8wy~b.x!$7PaxK$! BPx4Bc pN0&@(|^\ &`$ x !PVFj(% "iF(1 c4 xh `-@0g}!pY*!$aW02ĨBTX ,*Ơ&bfj3Gp`;D !V) A0K@$eh02%P-+1܀P  ?HE` `*NpT0yGX(@uHC0"r> 8e`19_8/`Pځi>[kXS_+%(HQ g8)bhp8{hgy5Y4X(aj8+ ( (3 `8RHpmZX(vP^ M`jRxF f N88p^@C3Y<X#`R1I)PCX$ PA(D@3-PhCP=\I;PWBH9̄(TDX<`XNPb8SpD hX(l‚xS&6f'\2tFa`3;^feJg(HUJjє 0=P]3ҰeX5 c(,ځ; P O"0P' p=(?&8& &.jG 䂗<8 2ÁĎP)*H&{7@h9%YoZ;( 4i~߀ I z`/xqPQ,x B#p? n:†*}'`ŅxhV8+_(.V$8Z< ̴`5`@cX܃@cߨb(]X-%)0xQ1X8xbOhG(iPO`Ec@O@EdPP0Cd@QXKmU(@?`G8@X;02Q8ZLBb O40AaJ>dX@`0O(CHD(g8SF`j.8)KfX`S% H)x bcсB*(xXU\(Exp+` `1@ d(2]! ]faZcH1g83PY%@M!@! LS{ Cͅ(ap7`XMGx*T*p+/5 U@EL) R) i iš*@(*PjR7* ?41vH87t&<*@@B='H6./x`Ȕ6x\8&.́%%`8     8p#*(D='h 3@"XD6z1s`P@B*1()[ x?)8CPCѥh<$ X=* 0:<`@( +VhJLA߁qX cDdO"Lz.(1$,6Xx7)p0-"<1 4 2?H; Kh1zOw@ik:;k`6}= 0Z\]K[ckb'f'X`HRT.^a58s@7az `TXX޽x1[@*XxRE:;d gpSFG8h`TGHhs߅ `8MmTP-(M?hWA>pWI?[H>|^@N0EefX`UHplYMp2x\¶h/?`b6_,d&pTyU &p ᅮ ``Gc\@p_g[(8U>F{gL~"C HSHNpUX,)^Ԁ

( Ƃ!QPK8 Ky24fDH~rq\U> KHAI)x}%CxxNq#eQ :){ |R:+ "C:'Ct$0l^ Axʲ/]$wi Gl7AHeCac a F(R/Zbn EL-(Z+J-0atP1F ePF+`aY f8xjqFpX5`c<2``c tXP)PUB\5F1Od`nűK 2ZpqF1Va:ZĉTjBFHCUY^AI$\I(^dBf!NaHf%IHf&WbmNG588 L+@T+xEzFU3H+XaT @8%AVE<+a]~0ш&8R28ɒPJ1aBl %B(Pb0 epF-Xa16@4"p2X ``((nn@p*@Xp{#/@& x&t@p!=*` * =-. x~S@Մ8VhxF (L0h#a(Xph"T!Hn j h6@``A@7`6  PjH`7\A\ "P |M1 @bg)L BalE "Yt&PBC& a B8=BP"7H &"(x4JS@t'Ő0.L@M l** @ @Ih! 0V 8(@ X dD.h` 60! x6  bGP aA.P  P>@l 0>@%=`p< BQp)P u9v e0he`3(n BY0@E bL0' R8GR B %.ht7TN`d1^#1 BdX*8UKZ /èb,U:/`CR +F@w%hŒeq80F@#EbA ȿU 2!ta20"M1 '80Ga"HnP/(axZ,QXp   U08Y`|) 0!R*@-X[ -Z. L$ ! 12A%A}tX +B K&Cj,  E~%EDPv, cHXp`H 0hmVNۃ)ȷ&Ko@G/8\o.@fjͮzKwtN :ݳ|\<]؀4 y f4} X P4m t2`@@d 1P\ (+sE%P, A\JA9D pz> PyA  Bw@h^0iPeap@! D* !0B{8;@G@d!,CSL X!6}|(>[@Tn5Em= WU0 [l3l<㭃9BE* HlP"pCP4 p AZ@-0 U4 (fg`H:8`PpRpV!XH Dю0=i 6$0=8F ) ~:8. B7BAP]1{иBpG|A=LE:D%^2#X P0 > QRP` `qEN \X pa!F!.aHaa8Ab!0|ba, ! A:Z!A:E~a2Pi<A V`&: !NP l ^DhKF jH ax a< 2 ^ ad@B a~.ኾktL  a]aNV6a@@`>A8| z>!:g:|& j@0$`~36: B=Jƀ0",Ȧ&qnGo>n&quFF r@&̦Llquugjwm gDͧjtw!.'Jv$vGwx *$B(@HM0v&:q<j`r `F)$0X*N ,X\ x@0`f \@,t |h.| zq,Bи|\ÂAlRLC"NX?  a'CDTx phpA6F5fBPXo HS? G L#¤3@`laY2G:IgBAqP4# âxj? clatL8a0np+ xhL7 F ,Ҍt(6T8 A@8& a $IXG:綨ۃۀnynM1Q$,ťؤWR@*VyX XD&A WB| J-T)<F&@Z  fb8iÉf6!`epR0A`^|HZZ`Zc~%=FkPA>\dfnID&A M0aB& NaBdFfaRaPf1FIG&QONCAQVjd%8R/KnEF,a(]% &,a`W1F$6"IJ`Yb2-`BJ/a(i.|J!26 rF Dn*K:d8`zI6E$T%:&X9X` (`p `fi$j{@%:jX x&8+ noz'[ q kgஸ , $ >}X. D!R :>VXfX6@F(P H8X ap& Xpg`o@f!z d~@!Pn@ 0lPC@-xY-P d&00C! Ah2xA d"ЈB d"r nd {L=c@8t`e P@hDPp.a n`6  ^pA8݂p:x($fHI ! ZB$ DM8 &@L,t@%DA: ? `np8F`:ppF.CXq! @. T@|) @*G% 6Pa/ Բ*BqIAVxM`- X(0 8P^1(8 0bFp, C5 0!t]p.A8\ ,0Lŀ, BYbE* 0Q!q j8D,S (HcC "j)J&*Z Q$+ոVQ'ZĚhP4pb>!f7D@, LŠ. -, @P`\l],0(@@h\(K@t) 0:! B.4R0* ,@$ ,9a/E~E& N(<` 06bpQ@d"49@`hl#@;GFf b P2DXEp@| )6ћjjAwadsAi@D֎[\j`@@-5־3dpL9,xsYqx ˒[Y$A(/ $pG "Np$(`.@p HX-n΂. [PP .} PZ@(f@.Tj2@ mD#| @P6p @[<:`Mx%06Ct< $d0@p@:ܠ1BvP18r;0Hv`2l#@e!7BBHu C:@\ p2zrH:&<7T". S ,X hp3ꐰ;w08o@0@&s:&J!Ѷ pdP܋pFP0J "b |& *BS(*Hz/ R,CwX#\2?GAl4`Əvྐ7׈&H.PL# "PZ,`AG(Hb@V38b,O(F`@H!)\*XBooh.adA,AabA*Pn!:avL ʂ|TH@J J AxA:* v)@ p |F ˀ@D N jM R a L \FB r> &HbN `*Pae0f'*bZ fl jH`V`hF̚Fʦi@(h"Fm à(ƴlmmmcȆdžqnmQTpl ~j#p$k p pFΖ':p@,14s Lh&@"!h" x `"|  `j f@:~4|`4@(`u G00Ҁ0x^,@|}|f`* td-HVf`.t :gd|J :`hN0R:`~ T@ . ` (` .x  "G @Ƶ %Z `4 HFn 0@&b"r @-@n$82@d4GV@H0ylN:`~vv J4v054`F@<  X`B0@C8`@7JF: &@L $@ aa A zApRV a\ Ha?!~>@f< !J/.Ft B@+``/F2H` t \ 2F`Dd`jvWJIj@C`V \fA&A%2EAJ&A*!n<auLr6Ma8P.TanT6A| *XJĠ0@R^@B L@D N`z:vE6 aR ?p B@`E FQ&^~ A%򸡏V\> ax@C Pxq,a&bA0%. `j:FŬl_cȌNkBjg9lo p1,ilf [ " R8     `@n  ~ `@ggjT`,`h@T.g2`,|}IX4@z2$iX{!H` l& `:"^  @Lv V` L  R )v " @n `,b(`|@x nx+].Z .|},@p wk-r @ @mfj D ZaA>0 j`4A0,P@ @D vBVd>JEFN ~ KSI5h F~r`8@a*`h*!( KVkp0` *+).< G,Z=FkFkѭfoVsnen6bj6X &V#dnLb,qqgl1Bpqr8q/Tmr5 `  !> `A;a2 $ @@z @2vX;W H@w#ۚ~ԈՈMX`i$m`l0q Ab.j!`rp2H1@Z4r : B\ w ,j &@mvl * x` :(Xd`}j f & @s- x "@:`ns6luB / ,8.;0N؀N`B .@Snɩ((/m j _`N@dZL@j4 d@TC&\"%#@A @a ^aY!5 aq 吴Y(_@`6 I T4 f(5,@|H xX&!C?a` д oEf}pfox@T `a j:E6?x gn`V al0¡^ aAaAAda98aMA$FAA.4K~.;A|aD ڦH8 J eRl dD0> A`f`,zd48&f >v lKJ A>&/=4Z2Z<]| 0^X HFca27a#]kV9"UaqA ^(`}@*1?d9G`@6 ƴlk@0m hbg'@2q1]ZkQvRCŦF ǩnokqsq'!@$ 'm & `@ A`L / a !P Ccq`b@ !q C#B\j@ !a 07"`ܐd`+)Gŀ"$2p$ a@|"``J `nPA.=.GBPؾDtb 2E6aL9*C70Ap0bZ KaQl$2-'H !<(Ch("`|Z CAtJ7x#x&`|\I!v' a\;. H$ Bq0d  FX x*`.X#gE oÉ FxX3@bp D.8_|%@+XqZ%02nED@@",d(R-G"iRdB%[%d7amC5CQfUci,pqR- ]r L*a XbjR/@\"f%p7"c9K2\E xseRQH`)bJa&)S٥9y!Qe~u7fT+P\J%KH±h eF(Q.p8dA`Sa0_~ B0(bc @D2A eya(b#D04d%PXBaRP< d. $&Ʀ 4hE4(& ,X:ȌO` e.P  h0X qh x.|"`u }'т\x'|L@XՁ_ WMx\`!@Pt} ]^E #,38Bc1SaY D9 p|9PF $`fE!6HA,Pt@: d<BaM: !Pg l `>AD P 1FhJ m.@`np_ .PLa|dd@aPd<`M+h2 &d*P~WT'@X# 0 "m8  c),Ht8 ! prЈP$pr+0`AP9 :<f[: &'Pf<[;X? ^@kep0Z' *BA\^.Tx* @:p " 0`""P( #px 'øq n6B8]1".B#Tq@+ v @NkATZ AXYh B p صalXA0(d\a>/GXX`"< aA CA!d¸d_и0A_/ PH(b1 23L1&   ;0S |'6(l" <bR * C h $[,AQAPt@4pP)n>t\XPl" 4 :p.@ x09'21f(w9Ȼ]>}xy;g{qC:cҙ=~ދu钐p-* bR1(AC@"@N Lp vX N@%!B8Pp@n@9IB *A ,S* ||`B*P H l> Bx Bܐ 7 jzk| (nX@x< `4@v= %, ZvaЖHK@*Z@L& SD0 h< P@ȗl< !$2 |pJ x PЌ j _LA@-`x @ p<~,`l0: =/a5pAiYnhPwaxS x-2H{-{J8cՇQBQ\`Nt\@'_[+ ] Z +X*q/ E8 B(P&b?hXcd)f:b/9BĘ0`18 a(‹ZHU (QOO ( hAٴi HQJ;F;Ga94LK;ÀhH#.JZ@U5WM>.P( X ,)q p '6'zA +9z!80!1% 8{%H Ѧ8l, 5 1*L( /S)` ,!X0xJg0 G<+.H35 <V $ @ P)8%=x.)ht8  y!"N8B#q A !=n9hh`4i8:l`xX'})qjX@  xB OA +(].ZM0N }dPH(cCxGpj:l8$U[0,,6(hhTYLYFp1_`01HfHTOvBf*-)H{L'-B:֖XPNt]0?kYh/CY)hJ(D !/+W c(d3#q8$KؤLUN;A/$%Qᦀ" 0z JY F AYP  2p x? Uڻ hHIL\6!ߞix [ N͝SHYk7HIIĕ4eII4h!4p{M3NH45HQX3/p33/pB:(,!!K`b300 !꓂ 8/%u@.Ӂ. /#X5   O`  0 p(L* .x-8.h$K% 1:ԁ*x8`$(h( *P @Hx'c ߸ " 8X  (!h&=`X!z]E.h"H+80ۀ }8"ʐ"p,8?x$n>o@ nX84x0f` ZHS*(xXVᢀQKxM XH*/Z⋗h]Jx=`)f 9`ph7< ⣆`QgPZ,@yHD+hV~xV('j\h02 h_PJtS{8cTBvUX|@eTiXROB PwDŽ\H[N\8)X`R"L<0 C! H_!PU7(ŠEN}ZXfb&P*%e10 T툁 08 E4  )m %3  O ` h?ցAM8C&JJuhN U-  > ;nGр[5;}3SIU\H͹\Hu[XXp""2@6=.'30888)8FH0."tKp7P!P!^H0h1)2>2%(@20#"z` !0(3 &PϚS XP {P, #h -z5/P-8,[j/X @"xp /%ص@$)X%Jb\.+X рap*8x%XP@+x#S&ϰ»;@""p%ChD n<p>{pb]>v0f `U>T#2? ( ȕ}'_/)EYJ(h;p=8<zڦ7>_`^(w+R2U@W(0(-)roA0 fXW(Nx@f֚Ux~g0{Pyww/;+hU$xWp]{!,ydTx18gkι(f682u /0TSvÁ8./Y eډM (Q);KHD G! IX>(6C( B"3QTJ  B :  А8s@0"JB7|ҟEDd-x,n7 zg0&BdtGC"P`1Lv_#b褈bˁ`:;*`Ct|^!+UO.PؤbAM),rZYkخPRyEHX @X+Xat!@hN(t`Y~h !X`Bl Np`i83! !L& 0 r%, 0|@6  Ў6@pT@p1 4dL@x1 @0yQSD\ PŠ& ȰPz(>8 @`", A`hPF@  I0Yx B@K@< @*A!Q%PD0X8;`J@#< ȑ @80 ¨Wat/(f(5 *h "o3k`9 0fi3A*p`BQx4WЌ)R\d Q` E+ [. Bάd0! Cpl6q8povt7@^futоp_/A Z+pD љ +N& p8. P0Y.Pg`7 &#K'x |;мbd](+FZ,(Nt#:ļl6@D|& H# " 0L0% ;WL4A0i 3 RF\ׂ C n2a0 } 1ހt`1\ޔWav8MQ2B Q'˂b@ '6q`X!p}:`/Pp( :/04 g.j^2rPK+Q`"XI-dPO (!p)3 6 S?- qX5ƞxN0Q1nV8Tb.DA"d4Th . e ` 'P`|4U`,e#9FLo!BPlADp% @ ř'0VØ. !phD1 !xH: CadH5./#EذB#,bO fh*dh@XI` #CBX|f a@,4& hI&|Q@xL !xP: h@,TrHrdPAa 5 `p<3}C!X~E ұdZP+ $I\SF:) S VieMAyѴ28&xX">Y]p-R"$4t S`0T@%@@+@_z R2`g#QC`gAƘ`8XjCA XT2a"x B/A(`…P/$*H,YbEB)0XhFZ4hfY*pL#Fn)AFO)f j eHP*R02@tH<&XԤ.Acr1PhC9R3) XP2A@d HGe8J0  4mȁ_y^ D8  ~Lb@ 6!|J D`.fA$P ð& ^?! d(*hN3/ ٘(, <ȎQ¹j,p&@P$Pzxڈ `$v;v׷fnfǴo {|~j9v! 23 c9Dv8*RHd' 4`x*!6 Ȍ1( H8% a4p hB&6bh CpT(!HȪHTB @l r@H `&H` N@*dN(\k@"Lx%,`F P@0  `RPd<@%ZH(Bh\ (0 2AaW@l4  Px(92`A, A wiFj  ! @,\¨3 A'!D` "(t 8~40xg6$V5AHl*cƎ [t+ 8]І(@AgL0t%ZxA)Rap`RdPNUX\3P|F("  |b#q 0F#5h N(`@#`/R<z2"`6 d/ c8q C(a`0g/,(Y@)JE$"\:@$ @>Š% byD@& #$,B H L-A|cPr=zLd% 'jbP2,+t 2{ <Q8'Q.h(( Ce\90^@0H$ Caa1A+0A-84g( CPR`F0B@nYkTq@5ޛspqM6߆ k|DkhM6rٱchm[ .,v@h v `X IP0 P|!N C70`@t RE )p< @x!6B K2K @k}aDp$ /#P' '#nA|@P@  &D,Dp_Ay - D$PBȀ  i`( X`@6 Hb[HX0xh@X+ l\F 6FsX T8 ̈|hP/gB` pZB".bDXIÐ&8 q7xq1$0] 8d* ؾU"Qjb +p'@@jxJ`` bqpB!_FH)Z*e$qF0!Y`1-izwHcyAG@Y2(s^ Nw #9@3=H*H CxAh C`D* PV '*հ(AE! Bĩ>A(Q,됼taCP& c5\Ut CJC`2Z[B J+. ᎵE0[6 . ><`2 Z4~22> 0JI@t@,apP`( P $$FT`b@.*`f" f  F 0 $fD*@>JB VbLjl2mfp'lDlLvpq& `pj4n'pn&nGs1` q `t @ `a` ( B@,/2n hx@tyx |` B@ * F > $ @H  V}N}#t \ 1( @(/&`V*&M`0He`L\Nhp} `z`:  @/" H+ Jͺ@\i+&@drX @Zn&o fb T`2j$@*.D`P@<Ij߀bL*'|vB hN LޠH@<B"B2|fv ArN pAD at > AfL!<^a3"^ ,i@J~ i7 A" <~A$vaa~`V aW!aWa | RjTb!^:`\ A9a~o ab_DE>I HEa򁖡o\ 9C 0 D *IJX*R[Bj*2Űż1 5EXB!a< mD~fG_` (A `n*bO@N)`$A @\V&pd@j@ p b("]U!p_6i`-Jnl/Yjr5rjl"qjư-kplYìe[& o jl&]"ƨ `AH `  8`N5+ Ƞ$b ,`F@\f N`<@|n `2  e `@` `:@ D B ` T &-,q0*`(R21BHj " @tezJ0 t B+Ȃl,/(m`N@M(T|R$>$& ""bm,/ D- "64@@r `:qfmkr@*-@B` `b"n*l*`n@ v  ha9d9]eJZ R ZX ` t`2 N 5! beP@%R= oسS#`TK.IDb@ Z `fs`fiAxZ P Aă7nD AV?e2>%. !H I@Vzd/\DIH|J o;Ar`B a[[JYp)%^nUSG!7x\D P8E2y3:0^*l`2 sh0@*@ V0 P t >p $@̊Uf`m `V&e. @x 8 !FDh2!@ 2**mgmk5lr,L5--XkuĦnmfnFj1MFr .> Ƣq4Db  ") & b @Pn NN`@ fj6@:ii H iFqy`F-  6 *B,(\,("l`6Ȏ`J,(ztvp`l <<`\ ,`:q`@ .(0ڀ.d`|RKs@,@tMF4(@%xDWSv>, hຒVc> .gb& J@`   f ` @^ @ ay}}!z jvEV N.;B.B AX_%?2*a$A{!JD q;AnnicnEBB8 HG}D|@o\ %F*DCK0*OMF ^`@<!>~ P !d99W~(LM`@@<%F\_kz.!:_H_TAU} ~d@@` R H l )$d0 L Fb @ ` & R:@.AA<|Rn Rxv"G ,pB`  D"j)\Q=^Dmts,`qumoѦ(_F4s6$/` ޼p,Rmb@.`;k]aX"=8|Var:FTG*#dp[lwCE5bRN`aaB[]K+]p!,;bf %B*~ FH.յOED-Br EXIV0>"ЂM4 ĸ8~M 0B%@Yv&D2ahf1FT5hi9 f4`r8VBAP PD$Vf ex]B~0L08dC!FHH0̣ kl <-5V.0E6#xJ, EĀ`؊RQ2@pE`.@f@p#D/h>* 0&@iA0I`"V h(@Z=Xp0 3B ň>/ЈMPh p*`X X"`x9`~SvpHh^a9kyq>XeNhZ vixee:@( P8`tr zDA fn!`hd!fCPf""L (~1H !(1@`z ^x (Iv@z w惡x p8^@<@ @>((>@@ T @ Al@9$)ba聒p>`hЄH8 L h@`v)` `"@`V6 .0(l 5gP8"GN%Dp`7Av9`+ @6@ fbJ+@wSO `BXPPx&6H@E;h)I&O0S|+ d.BS- >zZd݅ApŐ j 0F@S+!ˆ^t|& 6E@ @:bh'F# 0@ G1 0!f40l, QGLw-`h! yL !Tp+ |x"Rds`C05)K p@\@/0< ! Ց<RV'Bb r(Up!Puj؍Yd& 8B  XhN B7DUx& k:^Py@4]/Hh$ V6NX(z@Ct$V!2lhprK ,{t#H&l7k1eM=3Ei50.G &Z_et3 Q/f@6,([@ ( 0`d@5`pF %wP8si`%`` "U|6ra0 R`-`x8J ANw ۠8 M4L w  RA8 ` {p(tXHXx(@@ BmL3&0jP@ 8 > )$ v9 Z/ pJ#,Q :ˈ +CPR A, BnY90D~ )3!m6rl5(>eiJګat܅{&P@' 6r< Ll$4R,NOLZ.$0ѡD*x-@RVĆ‚~@ !ZPI8 sp!0U*@KU@*y1 + J/ARLᒒq HKT :8pn77 P:-y 5x02(3P P:?+Y?YT0+ H3hI"H!3:$9Ai yyIѦ0A:0RZa { 9  PǁHP()x!(%$h()0H@X8$( ,DH@2i] Fh H p u\}`Yp i؉XpP#@@ X5 ءȠ0(Ĉ `,   8 X+0)&/P58;H!"8u(B8q<m:K9xk[84018?˦.x:Jo;a= KhQw㭀 Y|-_x^$'hU%P;;9IPR;V!\䅋:* &8x (fP4xRXjcp6<FJk P!IM'ʖZkN+k0*@d>8f3 /* O0/8/ > ͨӁ[ VBO  N@N$!  E,%XD@A P7%(h*A.@@3`Jà h>@8-P0-1Sx@H0 D p>,.Ia@LW Y *ᔀᦀAUzAqQ0r[C [ٲCÄ9Ci֊QC0\0l51A@ (0"!("7,!;&\^I [@ ((  _s"k讴nќUpȡmsRTxI4Z4 X ZXHHlfpc5cBɎ3W 2j[b`8 1M36tPռg6@h#`" Ej `/P/hp1(0'pN9 t8t@(odX7]XiH3r-Xa޺\ #ޏ]L9;N$* MpG]N*^@&0_8 'x %C$8%L&)Mjh [2E8$i ;QP0fKOida$xRx*|N KpHa L#&eDQC[檃0BH0Z.(^ی(\#  a  U΁G԰D6G `Z'\ AX i Qy9g bý[i9~/drQ3/TCVX@Mi 0#& |:)pp"Ű5 h#pX 8` !j5  ! 4J h&4C: ((ZpZ X H"Th!hABW34H6e؜͚ G_Hp#, x#&40 4`0@W<p@ ]@s<9ˆ45/ 2Q$ZQ x&U)΁E( MVXÕX_\8_>MXHki"HT:u'$%'PM[ED…q/820`xo(Pi(h gb*K&ڀ DGx<&H/0X@8t .D%pb>eͽ &8P ) pQ[Հ"\ I,f > ( -p)`,,/,ԊŁ89 @SYҺ6W]Qh!+-%|،B#(J`d K=d"#)dp~ A022DhPp\z Sb\RJ_bp .%(;!m"-0F" (F/e8,`\"p؈PA0 4 7 4 ,"z,nDƤ@, ,H2 x`B-+@N5a8&hB!Xh t  B/! h(`^?x* ,!k)T0#!P( @xh!V]]R(\Up ֕(8@PaVX$UhHd @UZkm[eؖeeWHd8" 4 `(@ Jh!40@D 8<T!hDZ Xx2^M` h`N`& h( $ Ah|*Aؚ@ (*@`XT%` `PV&A (z 3_m `$ :p8 ((: (=f6L!8| x&*g8^+! Ȁ<ncpb97 @XE@i3SA(dc1$ Bf%`@'|! >9 \@& 8 1NYE|$-!4WbahSňX[EX" "RS ∩ 2TB@$Sa b, ' 01*P` .0y6@j'~';^h"4d@6 D!l";@p ;AO0[/AA2 B H "z|O 1>$ qLH `*]P'Q JsAC5$H 4x,0i 4 @BPP@& @D'@!/II(i`80X@2`P 0ĘLp([$]p$X@Ya%bY Ei::W*]պZ.eJ®9p Zo-eX+fXa3I^ a `> Px e)@< p MF A1"j8 al0aDPAD@#(e@h@&0p8& A `@  H&PȒc EpTB0P@ a(:5L .(`AA#؆P)FH!AR8" vMA H.@^>y 90@hB$X6EaVBq` eB+_"z EF+AG ]z;PF- >/aa~ E=Sbn %4&ЄO}06 `ȈO;? |L H2@hC)5X H  {1 `@-A ($ bC^*J8! z# xL5A@ c& nE D4'a_*hpd%Je ``phm@Pm@:뻁{X f Wv@WĀGn\xʮ;v (,&>" #H .)l%!h"1Jx4b$3; 琂p7 )$`6# M`x" N@ !""P.]@({`*hif} P0@`X$@.LD @p- @@ AJ <8"<.@#@rFY !,p"`d@F P%H?otH%0p= D"zq@r/d1 CX+ MRFX) $3v0b/0JF`x(PBE` d*(al,A@@JP%T`BZ @<@<± \2O`+ED @ Qh =PR*X1Z.i@@$ @Fh_#z,T\1tP]jP ݂ -TT\,5NA\^/{ZE$ b|Z j,8@| 0 LռBNx%BE.1H1J& @ < X H]3J^ @`& ap`20B@% D  1 ODSAIE !lZfmI SZn 6p-Ѹa[sdr8,6ˁq!ƹ[{[ 0cf!Ma9]@)0  dC"R"(f *L B$C K,D O &ØC Pc2!DK @t!J#64'h.$2+@^@H, | eD;L@*ylL"Ӵb^ |R .`l@` V)`D ABBpp7u68Q Cd h8@q e0& (1 C!^T B j*& 6WX`z`)6J?ABqиMXR(R = !؎BPr{ A6gp (" 6(hOuҁȐHuAC( D ݧP0 Cp VR@Apj"&E<B, x.hGA'`vH@U@)T-P`sV8Sx*Tг[¸| qt8i_QS˜@. % . x aad   @V!$Z :  j!*Af L`f g!z-'-.L-"" H%@3@0s" `-"`$L0+tvJ @^b -""d.-"ttg t*4BR$L @d r L j @ T@@!za!bA@d8Z @N 3 !A`D )V ej<x/ ʠ 8EZ42$f`&eN2:!P N bCnD`< P^F aNG ):[@vO* 22!  ^N8RB R@2 $d@j~o"hh$@~@@BnO ad@O/Cfei vx 6 eH@4 vE,Z\eD)~ *!>A3 a: f dgZ)VD`V `0 `2 `` < R %HN$`(0tL b@@ @@ kTD`H ?iR eM h&[ADUh lga@hm&n`#Q!Fu`@/`FKb a( `A@, v! D,`,@A!8@| &x,,0f@ ++,ƾ>.ME[Bju.b!@)(BV`VJ2` @* d V#z`,l8t" bh,MruH0Z D\ L`p @ r T @X !@aala\Z `Z @P X 0 eeV< Az/C>`0J>Y.h9U"`@> *<$>s柄8CHNE$\bC䠰IpD.@8TA*p6:LD4D @Xo8^ T`VɖP&@.v4(, 08SΎL FZpCo:XϬvFjAmGal!pToJ  ajl8T @ v`4%8 2d1K2!8@#K T%xvاS]&O`*!Tja`h @JN .r#mH`RPK`]M ea@e@`@ Je$pxMFP0a(>X`B !b"|'fGժ."Xl"q^fZ%,Br'1 0p[$ Y,..@ 'sȊ`H8!$n(a *`,N6AAFAR  P"@(ڀ `BF@<YjmшvȁvbX)Z(p@$ղ 4 *NN  @ m8` vBo@"kM"l|bխ&B8" d4P@Z ucZҲh @h X`|7 _x(@` ᧾`V f P ac :^EuHX@*jDJA<,jL.4bbYA!H[>VDF3>\nE I5~il`,O2a d15 /N8v@ZJlj(A\J.}z28iZ9FAT=X=!_j >Ϟj>!qrOS4 . !gAj`/ AjB 4dXO~@:(a6 #:T=³f@ $`d%@4A`j `@b g N Ƶ|&Nd ?j(0j2`$Z`(0aM O=.  &"vl9lLpGn Kű0G ^Fm},pj' ^; <^^<V"6@@! lEA a6`` @   !"6`<@4&ZchQ&Mv^r'kZ1s};x"<R X ``f t҈,!uւ.`" mogLsi'b06,D DFVg|Lh cB .Ť`sxrxn ΍հ.8F栴[@Rkh ,!$11"@[^ Ql),dX\ SaX88GРB˜TPt&DE(tZ>DQ5OHi9_h.=JGi d(hj Pq.0?OAy0/=Hôt'dUts#pz Ә 6"(du({$*$HUDR[±rB+]*Z‰j؞Y"a_ Yjq3CAE@$V/%*! M- @ȀO";"xL! $h,H P(@f@S& 8BR @` jdzؤ"" Z>aP c  F2 -m80 -R9ap &-tI, 8"L9DP फ़ x,[uo1q(VUzM|׀WUHU_o x H6" .8BDdH_$r@x/ )P~CfI S1Jcc46X4QT YZ3@>K  4 ȼ ,@J a((1  ^@e ā`2d@,݀GbX!>ڠπZ xf(N^` u ^/p@@`7Ƅ5* a0X$"Bl+P aF&p<## Cl4Ph3HiAg2A8c/0FE!)e@^ఀA^PX„ @0hR  ke!Xz%BV*Fp! ' :hS6Wr>Jr$:dցh!3A`B # 1eJd@F@zF (C p!&h<VAqFPF|$>Ep" "ĩF(`+6 f t& 8K #D(U?p(@8x @p,@J|# P2L|@Kgx 2Nȑ  A@D D2a ]$@Pˬ /0.@xD,@80 C` aA`xR0`x.@@Z 0A(h@6@T1`Tp. D`0 ƚb%0B *yWZ]Xb=A&ܸ^ 1௵c\0{pO˹uejyn (cx 6> >n"Eh\Z$G a&# Fz"L3Q $@S )`,A 1(Ll, X(pNqt1!lV8.W \wu}Qt<x<04"``Lp. *FV ūf'p)amb/@,(@xll2x@tt iPs bXD,`1=pIz 7pr6 L`) 6-3Xi 3Jh(  ؾ!`^`~s 2EP+-'zMa @јQ`X@W@AS()x@`4X"zz,@4Ājpp7' EpH :T"(O`$S)W9g_|%\ |} IA&PY ¶@De"-Nx$ϔ3Ff[4E|q%-/4& 1 #;@CHj,FH~#8bF5#ACVY"XaH"Xɠc&ҝ@2Ơ" 0Ჰu&A@qA T5S^S!U )L'Y4I,' b#@ X3 H/sX~L]1d@z]J˷`@;&W \9u ѭ2̀{- p  2UpYxJa*JA@P8LC0aPHpE0KPI8BX8MCPfBhh@UEpCpK!<@PP9ɬgY?+(?2I-qo@1H;%d6 PXHH"P !jA+oC*۝51u+(k%n )`x Y=x ` ( `XD0>m:0k`7piX645 K0e81(`,n&HZ6a GC B*=2( J"P6S˓  9L'Ѐ6(;uE3{E*7Gz(; JBw:(0 @ROr 3Z} ̏AZ%W^#W+sKp%Yc &wS9XK\XVxY9Z5Zu0U6T#6$0Pp TP!no` H(X C" 𵃨 P9&)lZ>j,LY*%2**-P @7h7=4P2h-*P.*-p (5xO@p X>x Pi\0I+0!!3{1q̀Aj t5ΘgbQi@:@ɜ<>x p Zɍ2H`G`QG@EY8P@ M B션D]@O@@G DBZ`UhE`ihT+9X2E?c0 _ 2n@ w<2E,K!N wNƀSIEWQEZ踁8 ` 4@lVE!v# CS14TU ŗc %̀>t` x#f 3L H`gHfX5x 2[OX(d`2@XeP2`T08 ](,`)i]PӫF H =.c~J0!…*+8J@K Ɋ6IF(8FGIhKHP$tθ ˌ8Zh|ZJ`N6pxYK\+a"h N -9CSbt&\tpUJ ]86  %0 O' ^ ;]Ȥ뺣Z5J(GFPD: B̓ K1A? Ni_pfX<I9 3 4* h3 H7X=[恳u` ,\<H-)p&p1jiA=Kp(9̭Qy=b3k@` ! pm&6 7c|f_ h708MDLhH[hFPA"pC@=LF`>F@AA]50@O-@=bhaKi2n31B g1ǖ7@ ƲZHՠX 2 3,I10 =6o{ ً-faIo! Д1{@xv@@x$p+{M`fd(4@@e@gv@4H8d`18bKTP/T` _(-ۘ@)%r*=X60gK ǂQP^(xp H7eFn0p  0OFrIK*TԌh%#<7ĝ0 ֻHK %p'qY-٤Q(ʁr%RK6@)BvZz 6P!" @ M3oKdL6'oJpGFz;;1iI?".Wa86tp X tD][ͿPp '@.5"3O/O0 .`.O1iV EF#pDG#(0, ,2ib,?=Q`IqQoiAz @`  8bp1ϖ@ T cv6Rt` 7:Y>BIP9h@1 0IH@LB=HPT6 AHu_ SXCY1?DK>bN >b?FOQLRn,2 mLD`(XI@% ￉嬋-|D`  h{)k,[U aihP (8 -03<Lxh9 `zpxi6@eX2?"#S N +ϸ[\[Kx&pUXUե ^ =`)x ` 5HH#($ HX фj4kJ̒&zz ; 0P:뇧x `mAʌkGk 0;rXQV!~ߦ@x(\BPVB5ڴՏ&">'mx"*>:MF$ClT |:?NGp*#Tr qd0=R\l AZ0Tj !Q00?TaaH0KUHB+,PD< A@,;tB Hd @F_ x$!/ t1D%p#.kad aF)eS)dJá,]AVx@r ` `Ux@?t  @"Apx8#]˻s @( p8*" .`h$ XD@2@Jc N9@VX 0" .@ 8* {4@ x'XB d fnOm u>Ht< n@hCf<!kÁFh9hHZ7fA0J1a `bx Ű@*AX"y\ P:%R)FH~LaV=@ ,2(ؖ C0.|M8 h2tHa b a&2~I : e>"9F@PgD@ zK$mk82> `@@pG,OBQP `H'ZBH)W"B d:qy 8$!Wp 8Z9oDnRaR(=k`2D8 @(Vؖ6P $؄, Q`D`h!#b!A$N@%C{`] ED( ؒА J2CpH3Xe3@132Z2hA]`10Nx+`Lp* @PdÀS$00pBR0Nw֐ M6uөMgTxe<`0Sb` =@E~ Y'[&A@L ivՄG1A̠6!08%w"8a9v"9`H L`CeA (CC Q#H!E!'H(V 1*ƈcHE @@D @Ѐ.Â0& 8 d BapH@ X0)Em58-E xP  0L6 B!.Z A2`6/-! 6 B0x"d |4+$G#Lhog Mё363hEfX" J^`K+Ud'*d@ABx8@NGp"C$\Xx q&&D#" `.@jD $kFApvI$>D@!aL62Jd8lC >bCa~Awd9(X!YFeP<(AZLEJ&+<`B$04 p؂PB %@@'@\n8tLa c* p`˘EX:!.D2 jE֓& V@lE H- d=e$$@d> ~L:°N6 `x4+3v h `¥| U6 `X:(b  D1!  W" `J7a8p, X> !$(B( b`F *(b7hp p$* r:*[*$.8#H|2 ,3^<,aP@H#H6E`BcP !L5ePI#,YDl>NA2^0AAR9VhEiFƩWaXi)+& ZJkX,-h+vi^Ac`$ 6 X  8p PKs`oeȯH\qe&Win#HRZN`W@Ph X:!A@GQl!A6\4"A`M(A\@.d, " | B!\Z@+Q9A4S(Fuz%` $0 Ap,A K)76:1 8 b$ 8 (<`%i%QG#yh D*Ct 0 St)v!HC~OD VG(B Re p@X@,RGI)̀d zzO`&AJP )O)`@ŜHP+d@2?+Cx0 DB@\"`r &@0 C0`!Sb 9SP*  5d!xH "0B0XRX#Xph%@Hl<``$:ظa*\aap"at 1p$ À(|(HI D'G pP&T6!Y _sr%`2Z'pdh ! @RlP\@H 8-+q`aP' pD#CADX\|D_pİbDYd1`"? (DS)Fh@CC(CA4@@ SONYDSC-S6002009:04:26 12:38:18Happl scnrRGB XYZ acspAPPLappl-appl rXYZgXYZbXYZ0wtptDchadX,rTRCgTRCbTRCdescncprtAdscmXYZ tK>XYZ Zs&XYZ (W3XYZ Rsf32 B&lcurv3mluc enUS$esES,LdaDK4deDE,fiFI(frFU<itIT,rnlNL$noNO xptBR(JsvSE*jaJPkoKR2zhTW2zhCNKameran RGB-profiiliRGB-profil fr Kamera000 RGB 000000exOMvj_ RGB r_icϏPerfil RGB para CmaraRGB-kameraprofilRGB-Profil fr Kamerasvg: RGB cϏeNRGB-beskrivelse til KameraRGB-profiel CameratT| RGB \ |Perfil RGB de CmeraProfilo RGB FotocameraCamera RGB ProfileProfil RVB de l appareil-phototextCopyright 2003 Apple Computer Inc., all rights reserved.descCamera RGB ProfileCamera RGB Profile``(*,I4$43@38543{552x0k/)S3W[O u"W r Z (2=SisH%exiv2-0.25/msvc2005/testimages/test.png0000664000175000017500000040760711510453102017432 0ustar andreasandreasPNG  IHDRzTXtRaw profile type exifxirzcw `<$eQݝ[JݶlSx3:_USl[lM?Dn>w5@x<{.=_7~|.j98!ASJNrȝ!$O4|`@-tMf.D cfW99ᶾ_77MH[y\B`$ ~\ټ=3Ԯa/xrLj c~wB92}k ~[8:%We][~?W ZyLEJ_ⴻl;: q_S w k*=~L_S"r.d/p;˜}}n/艟c|0/!yCLM'xx{IuP g煞/(?ߟ j_/ȏx`ޠ<ujߊ ay2lxA{y_.LG߂*vg^;ܬ>;Qg;'39u!׿ Ҭzg׳u^ӎg ^5?/^o?/woiğ4? ß#8=et&mGz9?=@#z\OIVbgQaT)WGٸ`ǯGͭXBɘ*/^e)% * o=>7 3|R_O}F.GGo 2'߷ 4-NI!~5)H4nO|hܟoǟ ?Aδg2&oݗrp-.}=!qWcJr1/جpr h|Px7~_G5oJ)>r^S \͗x5ĸqUm=6K.7O K|g.Tg?ʇra?B\3 _]}is#FKZLDwsxE}Cpؐ]c~k\{YZ-~|Õ|h>v%1/Ko+=5W k՟_vuï͓Oˇy!}?tS2d:gU /d]xmVSbkA.}-yIq> ƐnRvFb1c5SH1SI5s1s1YƽK*RK+R 5\K([jV[k+w^y}FiQFmgq&(:쪾WZyUW[}wqwTUyɧz=Coxj-$IM}Th%9CEp+ж?%t9|:(7?o 6pB  jujNf!1WAͼ7mx?ތZvs<7tF*=y;;vd\1T4 kp)f!Ffkm[^kRwdˏM˜uLL= ?yQ){`|clsAKrfsgiS[kvWa/pђ{w ϕkui']eMTMc65uȓ/Og ?iG1]* I-]=n53;#2RpR#i-)sPV!.gP;`ۇ Y-_#0R83Rb y[Սs!rD]aĺS t'{Z{{H%͔@ H&Mq)BuUr ]VnA՚:T=jkڌ9-ISU:AR 4H=Yrh8bǐj )3kK:xh\%6S sΉJ-wc}6#CPPeb /N`(-j>?vsR}$4R][WqܕRke-x@0zjDtj82ze-0t% { W$/"V@Ff1 w i^Pfã2#Xdx@QXzB-)QkQô<xƤ=cO Cqy~9HWmT6n$5LFUوjq5B<c iMSy c㙥1"8qhn91hC{4IJ AiAbEg? PB@Pݩ'jV T hLI x PFF֖b.} -8'-@AW:1fSzEFAu A#oHE(Π@)x@g :S(3UkV6߅ϸv" X/#}B a'B,[<.mkI4 3BhgCle<@)Sdž hъ-!.vk).),LtTv=8P֌(p7mk~YLA nmC%HPa8TD0=! 1<.+==VCZ5m\Aa3U }ѓęSy'pxݢ8?J9LmsB^2LDqezx9f\i8.E(|h >=xx@7sN.ř- u>86~ &Z<%|)@$9H2Zg L\Ȥb^^*NU VxT|;HBǐ 2.W-7XG%@6QC[Q]QmY%L ^ mdlR^8 QȈ, d ZT*/1oZ2*H:䄎FTTT\̔J TX= d"y̞ڄB: G'd !9pF j~Gjq@*]7Qh)BXcd( UXzyARof;Hp`ciЄLCPO1"y&@VC!=L8DAwD?<@lYax& iށfz Ȇ!RȍbSGIp6_? #G-DVKFPFRE`LDIuFy?iK"X|2$vcD,iۜ݃2`QH?uv%J{5 rd(%:\خr%]!82$< H L㥲{<+R,1r9_V8O ٍo AYY@?x?mZDe[G6 M!/dSF/&w:bu$ݡ4[vV麩87j:R\Us2@UFhFl []%BLT(UZ i,wTA5ޏȤ ::3>="LYp)A2$AYW4%< HzȆ"Fh eivNI{:nflJRDV@*y`L+rC͂\,Zp6ā'oq BFxRh?S^!6809*.$6qO;yx^{TXRbj:TAM$lyD:AJ c/K]AfP[IPB$)%{!Am" 6SK`vERtLi:2La~Ak.fwb,x +&%FA!.:4Z%J ERv0͇X {Ѵ1a<чZmFI#c2kԬexW!+fES ESwd&xpҜP tBNa!Io1G$̂ј!4A'!j$i>up;Jɒ9ot@pԈ:BqDĿ̋xl/Bm?Yd+Y!r>E4b)<\_զ݌zA vJb4?Ra@d/f -o(gF&ytd sc 24oFB#:"-ڌDzk7'C*O4 ٭m\iXX0}SG̲ZsQBYB݁0c;e b5W$ O%%,T,E!aPDG\%LCsجuĐtjW !wЂ#oʌt~ B8CbRU-5h?pb%H(BFP6lPJ݉_h{ݢ챋cN;Aoe\ [)#u GjH Al&L+OiGp9BEجQ&:]7WGJ 3ǡusy,%iz*93!UҌ{(p3^2N!g2nM2ۧb۩EޒN24ASOdʉV˓;$JCfH"98vL]kY|V;:r8'7A8p)[C3sy[X7Pt>1C1yR"bA!]6˕ $Z1${曠u25  'NXɭ}3ᎦC"]e /J8^tĠm: +hgbe`:)9K嘤OtTeնKniGvmY i#i!A4V$"?ZԚ֜N%Qh"W=gk#F{6:wt, 4م)vtbV@0}TDZ.֒{ `D S:z6Ԩ7s]}l-jYQ/\RƟ}x2zO< A O/bZ7.F &)$$v(o,ÒK4>oE`bvkUOFQH a`#Qr kk.O|P?j%:r1_j^Z668 tDwi y 8 >Eh~qmj VPךQ&Vy0n#0T B!ۑ8|!ACMEHevE.d PC+[-/|wO]HW-s^~#7.,(XFiw]8}=aޯR}]E+(,@Nݬ]njjR ZW[@P'%Gk0WȬ : ȬxiVjk7߳[ SkZL\p'ݨNenSe̘XdOM~k{Y:_tvU1-vKpY3 X"`Dˠ捷,' KYf{WfUca)[L pi%L_Z[Z_xLM_RSC<*ް Zٟ_K3YDqthjSF*4B* y:·|1Xk! @#Qf~5 -0çPM5܇L6$ JIt!"[<+ӣEu@D@θ*  Y-hh`\{iQkHTnH#0yB?A>AkR)P4ۨ%bxK1lQ*>;_SYKZG&75 Pն0]ߩ@U3k1)j'5v(N%c QeYIg+t 4 [,$8ʎwFBeH qP:}@RJ,EMF[zBj 3zAQyD/b" sS] )=.IYLygE(D&5:\AW {HGGYDd\kft jږRg%"(f4CK* "$#`kDr1*975K,e}<:Z}Ռ~+&ĵAgG1]:ok-3c0Gw1ypzk /Bʼnn:2by0X+v\I7vha0tJސ@:>~N>[ի'@"z 'L-͒ 垹 YGGjQ: vNQ*bOg֙-ްI{k4^OfA*((ƩUm2% ֖Jn3!ͨ J* cX0aj Tt=xbh\wae м*L#Z-{$ Vk%30NK:c0nV9hY*vTтmN0yd.)AбBgB1KF Y[DŽ40E'BK0!Փ<&%!ܗTj.@_RVlu`!֠xb}rM 6h ĻKt%-Wf x1ɳݲ:`Q0EĂy_1FҬ4wKbB0b*lT zh>?9{5Bv)MP:,qV%jyA'l+FIǻCzAGq^TqEQ0!ZZJ`dU:e %qQ-:䵏zRS@Htқ(yMb?Ģ7v.bt,Jn j]u:Ң\3XH!_@AC#:cE /`0~>]%1//XI/GgiCCPICC ProfilexgT{w9g9gs(aqa H 9$AD (QTI"H|}9{TW̿{ G 0Tafŝ a@D ~LqXxSu@,쪒zSaЙ$drJN9$2 @a!&qíN9v:v _g_p VpvA#ǧ;>߂4>%-@=ԂrP:((=m\P.T/׶m[hFѮbT?9rKAQ)w-|oR2rEhekjҚ:Ffk[veiǼg?qlj ?=zs7 Hx4\b*Fvހ\[/٬#U@D贏\vrsmqtHB{{8Y,-lHh8*s_aJAIEz8:v ,0vj] 5n&NOOi͗Csto)w$1? 0z񵒨+e!- hV+H b8=j mn\kkn{غ6^8æS 㓓OOzzo> s}5 {quaD%(اW1A7g<}0[.s.n> t ?w.d,BudV-n+{Ů{d{ǿgʏ3NO1Px8kG_`ȅ4JC{.I\& !eDG\ <"|W2 DE $% erdn_}JA]QPRiWyZ]5_-RVCQUXH{MgVwH~Aa)ّܥ'V61vv2).o؏8:: -\]p7<=f_ >kGa й9A!%aU}:~d/F\qapS4|"i~ҧ[CɘTTmtx;wY${9 e*qo'T+/׮~@`&#UGTüF&fҖ_Z'z[?HxxÞ۽g})o T{!17<;ęۘ+;3Sӑ3odR6;x.|=؇7:?~\d"UbUazF7ҭ*%E#X,XvXX،vK8B8!8= x8xZ)' nl'E؃xĄi?.kr%JoF~Cs۝Gw?X@KQpUC8UQTT !6-^+((,m*&+$"O,xa¸ҠrʀڴơaQ1dRe5mݤ=cS ['wW?1T :). T3,+jJ`T{ AlmAzBr߭ԃiwx3:2rse vK* lYkV0I M- m ;#{`ϷևG^NN'y8[6>c⧛)K+ +:]` |A4A'x &ӁaN׆@" PD#bKk[ ; . N:"n *^1#3nuHN"^bk{$h-R4/$B=6;Tilԍ44tt jL:,$=CV؛8npZq q#4  N 5xj$%IuJ7e˧\VD)TU#54Ǵ6uazLB~cRm:aaYahne|Aߩ9 N;D_!)m 63N8/&qVT Ijm =YF?U! ۊKIZ*TUR`c4?<´u>|כЧO;:;\Ƙk )csIu>-L~.Zʲz>9پŁoq` x@_1KFapF /O!j#6 .>xrgfPɻSAxs3 Kj+*bk0 ך[[Ϸ=iEtYs!؋WMӘ7!sJ>XxeWՍMo[';U?6 ?><4:=r:Z9yvzwMNtLd`xе 4:3:T]=4QMU 5@=uQ޿RVnv? t;:S7#@3!C@)u7vB5(~7@Vev`E Ȁ[8N IDATx4gyiջ,X. @ K;_K9iH ! `rljVVuW{ߝ3;ewg/ėmi5[/,5[-U*ԸY?ҭ}=eJ./Ȕ sCO/UVSKku#O=M7Բթ[v* ZN=VWs{E%Ur w~VQA޾tSF]I ]ĸ~k5&s?מM;? j!ֆMk,(0:s>/kbbF˲(:;*@ bQD8&'ò Z &5Yظ**_I*B֢|cūjll+ǫ~,/R"9#'ř }xKK #/k=Jloh˞V,Qb%,JzY)啭ͲT2.Kڡ"YWJ)בl޴6VSͩ\亴qnyW/T"5fYGۜl<ݒ}ŧDRGReݫZ̥3wCJc Ÿjy| O|L[jB2 8"9[.Sg OZ˝R|AIJJ d1p9پC+VQ]? cMh\fHDÆe%f=.ÖkkOkdA#]4o`=kW{[;'N6۸uHFE6c%-Cečyc|6,149k,L v=bйQU_m?zpm+ǎ_7oF^^v8"c%!pSWjLt˲7-UFښcu}}xckquwF*7Fime(+3ZִG^zx郷g/6&g0^~c(7N?o -39~UgxJʌDl/-F70ܹFc7BtcFaQ/"H&¨l1gF<13F&6 H&uL>96≤19?g޾xO!!e821>6h,-F7^ cdr2F԰sM˩axr wo>&Aq5\4ŵBax'5yr()k0B eb7֔n7&' e6\k7 =c.cD&h"̳)3.jy2F`QTn,ǖ  qmpX׾ް,g F,`dIcyUF"UU9޻ok ޢe.^8_1JwQS7nN'u/ɣQMMͪ% sI-c<0Bӳ (^]+ 9\vdNwo(PPHzSO)ƂƍTSVh5?_98$'nz/ۺMRMI.do~I]={Io|P=s=*uW7*//_ݫ [Z+}p9[,YU:XW %@'[ӫjliؠ*hIezŢ\ w NNK<}}'TY߈+DW{SU҆{X1]9[q^guf*aRU1*ԂFtATFA~)+WvvU#p]f tuu](vmR}Q(&&5>=&~17*$\zPToAۢKG:.]ɾk@q!"zBNyIݽ5nP&TIÙ3ԿX4z _ 9M7@P*.S*;P k5=Ő,.[7JJ|O@:(dHFt;T_PSInSIVQgUӸ 1cZ[ZmضGFA8Y\((.+QUux-`(Yb[ؐV4nX~'$@Dc,{}__s{.*Jex({V`M(ÁrR]N&mmndǣ619,ѐܓ"ܕko=n>iJXi]Ǻ},bM5\ ėnR\bn~RWmXQ<,<3_\]m:/\+`~##UT MBUɫ*9 zʄU]ȢȨob;F՘TPR(p+ G‘ _2UW.>/DzHNr(Qi\j&!"*..ܝL+a+<|E1J8PxOq>T Ik嗫P~$4;=C h~>gN#pk ںCwl민ͻ4x!ޑsP)`l>|(f΍[u x2:6‚QsZ=ް (硣Uaa1돮eRT9t6ӣNx(9VI*˳hjqUDb xF:t>ԥj]D `sQf)6>ĊŢ4cӦMͪ4dՆ.p3-Эmlk: fW]dЬa*p롺}ۧ͢{?qvb7[TS[)W:uT&&4V[YixrHe,B|jXp~-]=3ONToЎj[Ӌ? ѥ_/oxox%gyzE?f(\#!2L+Γo3 7D(o4U^ƵR\STo[xFnj&fJj)"S|_tW+?gvBV,(WuR0u:a{4>SjU)}(47.{?Cs(Nrٝj^ Vul͍"Ͱk+80f9Qy*[̎>t^uO;_GxRoh x5g;i%PTƳ]27i6*(cO8O*jM4Ix0M`yA4\  {.nך6[7Owҭn 隘y(>KKl8bLlcSՙW3ld):CFbo &q@.ϔBmŤ(_|NNtM0ƳZó ڪJ+s-b]ChZEQ>g -lRHprT1Ը<:h!&%>0k8VD TԲ~gtקckOj(H;tU4Xi>+G(@'njWUeݿѺ d;ka':4zo<$wL N\%pyMs݆n"I}czşW.4$k68/}nB^PP*4qBeE+UTUU|g5nvLlX xE[5 P)RE_E蝮wqQS&iM㠏Rˋ]uTFg7qQh0;>FW[Hkj>_6 枽{t9ޛ,( !ǭ/I <::/= B/.ʖ R58ڃT)>Х2^ˉGEU46"`pl ZY\f{1]VZA̤ $wii;bׅy>8{O`!P=keGgxX@8֮̔لb3{kX\5r 8A-P GbzY<T!;Iqf۴$R:6o1^ JKR )L)MHG~uF?A_*_q sŘk (PUYÚ"b*#AWwWؕaOAY1p褶dzh‡W@N9` 0 URM`|_jyxt*q!1]љwӣO;a!v[ h.lQim*ul(uZ`!t]WPUJw7Y0%n{u|F.*o]eb\-S:G wv^7J8UHb6`s%: CnACt`3վʦiwDVJYUAe]MD螐Ch#YL9,B * <=CMN/KA"ay)<"[/s~mfe\x,YU4ܨwP+: J$Ik9ͽ:fyƦ_xAӣB/J*n9crifS8t.a 0 YfrxH)^;X+XexiH7#O.nHr)7C4%όT/xګ&-m{@iP@h)-DARRzLj]}GvNRVV2CU[Vj`Ҋʈ?ۮWΨ_@LxNSdk=Te8)B`W|[*N_CZvT 2Wnsy`nܺ6 ,|nbL{48J@N,g/ ъQh_ֆ 1/ Β V.;*̵.塓6gj U7q뚲ӗq٨y(]!ǰl6ŋ]RӠx"gvu&EjZ ?M8 4N#æT`LDgp UHA0fBXSY?AB*=tP'p̢  ZtU w<+kȽ R{^|$/_O IDATݔeKBCsp_qAVjߦmlfGh)QY#v_'51sV(qrx;_[LlUEE#0.h%bfXHiʆo ::2Ƌz)ywo'p %*2<.X 1vmЕԺYeF>oxli|¹!4qC6mhN!!W: j]-N=C v=VlqւrBRd<[ͧU^LWod" @WUB,6Q.[dž"4dGыw2."4v"b'O. ZL9r1ײ r*qeT֦ufVI-.ܾRcRUm_z37_Ϣ*X!t*NWTVfq@55=O?_wLeYyJj ! ,^g>+$[Hu,?p*(Sfݷ.CPk?k{mڄ2ѫf-A|55pWO>i=V3Pa5QڼqՂ;GcKխ4VyCs!)4 jV*#?cv_tsh&ryA, tFvPfcCԝTnnYI+M ij6%~ A'w缾ef5/I'ZpqM; M"?Wn#??Q;t+Km(_"t1TօYZt Kc + +$ ca7k'Jar3x-kU " P翩/r l iAnk)d7Mm$Ӊz;ge+:|=pp'.bף!gdM}{I2Į–qb)6n&LyvaUkעa/i|ٿ҃_8leD#_8&YQn߾bd;Ji_gt{AF$_c vuj"9qA;o QD7nL<]/ oh6)qs޾{U[S1u߹AY*P;l(2xXhnMOWcx%ӍHi@gTDv"+G>D\P)n <ÌOK2"eՖj(D@URH|.j^OwcV3!ߴJR)AE cpy/.Ƴ U t<*D҆.ll ӧYiYFQ 1 Yà[ュS;6)KSg@|蠞|hָxR  Qxx?^r{E^Pޞ3E rڴg4ujR/G&ʻYx_Ě$=\ugWװrdN:̱S\d ;*e VBHl {7Ա U(ڵo_6ks9ݿo;Mr7`DtA#7M%'`G[R c`r^`.\jmWi!T ʥ R8e_eG~G cz։`v%SXDC 4t s<)}J3U#(k Eh<80=%!y%]ʋ<[ϫ`!l?ʌ}2Re}ׁz6`OIQ)k%w!"+@Oߥqe]N8#jb`9l9<$܀.3{k(A`^а߀;>;p2OgdrzQ΢MM BQU<y N{ bhx^ { > k ǽ(g 4B bl|HPxa61`2DK}$1!'1Ro@1 ki%fuBL,WQs{H = $Goh]/7ԫi(; jDqfINgӖT)]#RMv@]?%DJxhV$+,i@~RPE%0b1b"B\8r}T Uy9 d\1=~p{4ȸkE8I+kS y4H 0&Fg8믿Czs)׶-Q~uhgv>vnh#UTŗ1="sw.$]BBmbHYMQ7 Ekbtb>Ԇ|v 7IYG[vCKv2q__:̳U0o/]һ:yS!- q[,02=v_o%,YJk;<8S>ndxfo`"\VZYd\\e _ya*7 HI$CFEڌ2") "~RH&HV|ЪlP$Vh Pp?avWԢLXCtX눙C!I)3WUA0V"PS4]]"cB5UuNrOY4hs pNOq+ :ŠD-[M Xnh.n0[ fs%XYȀƃM!GM5H\Ĩ\O7<|=֙ 10=Bvgi2+ɜ V_rX> Iɖ:S'O?maY.QTBv2/;5"95T)8:Jū{g/e~Ж{}Tf6?.\̨F~SB2wOj,lds̟KO#q'{G)P-tUS#(znmU) fe& 0e0э$Km\)̩%sƯ~zitgH8Đ{nצ{T]DΨI?yu- )O|+]lEsf$Ivvݽ)}uD=g?xX pzȃv90+q*ǏE-Eyj ZWNe :g3Ut0g?}ݸ̋Ejk0l a)a ހ%C¢0x,  &PDQ&%c&\ųlZVEŜ"3=9: }Tj*3*0?,UIzMEM球,F?ݴV/?3I.r-6|">bc*;С B6Q89R]Z$xi a!65l,;~.іxUȽl܁En3TL*Jpɶ!CqEMHf[Bx=a=k +5~}u9;# |tfbA\?l_*,*̺ib୳Xgy9&;DC#Z]g?8A,s.v$k&  9f&2s(]}{0V rdF؜S_P0Tu旿|mu].{b#}σqI}|8V"ڑd3T p*8!JfQf9I!$ Nrx9MI5@P3sBGݻr*^SD<"i6C\v0kb.4?ęNNh5eʽN-1+5q KJl/+tY;P/@$$A5ǁǏNB\E2MLwn 5 ya/s%L1@J z6|ExB?-tsPl,ń90rW969|LL"e^?N\u(IN[#ݙX`ʚUHw3l47C| $gN(x% Zs˴#aYRHnV~#&<ؗK:|\ # k pPkNfui?r *MEvm\õ^>Iۣ[w-J3qf"2҅ g*@E{y #u޻s@y,@_ԋ<AڴYSs|-#bg)fJnB+ U׉UZPR0e.t8LYefLqqf%M挈>g$b%aP '2ΠxedSC+ :뿫(u,8*@FԽt 03BAftlշcv9֭['Y.fM D-08 E؊Yf,f3at&+lĢyr q#v6py^[۷fM&DbplC^Q4 Ug!p%܃YO|?@5:y-~ح>ao_n&O?vljR𛵥Ә{ՏVR^U4p; fa3}"Jge[/7_?|V_Wn{/ SuJL^Q{{l[cF cUp_T2م$XߨG *L/ /c3؍v;(z#.h[N8}Sw@$[謅(O7e[lk IDAT?*zH } t8V9Wg{Z[!L&RH9 v<)3[ n \fp$Pt''}e% : hu"~y8p #pbd*9m_pm@ q d(6j>]Bg7]3k_AHIs}SsZ$B8(`N0TYHqȚ g7djb hyYms)SjXKmZVgOxpfE~,&ھY#bw[/)#NA 8#U"Nq*&^1Zɇ 'x;='/̇/94rA"26m{C2ȤZ*~#`> $4C~Ao0frr AlF1ަ&cR>tx3rl(͗^'?wyE uWxyL<L #w{LH5DA/=cmؾ*ug;q(\U$KZ$GqpM,铊SQܰ93ʿ|)d5kiSH=[̩B ѐ`8>#aed<p"bʃ'YI*tvsa?s-M3Dk5|z #ތ5@OvuHCN0͛Or|x=mz/gG]wzc)FjoM}/U.$m~=ʙhf2&:{۲8sdzMXDX dNt6mlH M!RVc|O~pUM 6+hJptε,(*˦jx1&t8~Wkj8ϵ#bsgw)Yv6iҭ>$p(X?0ϓ͡k78[%8 |Nv0Oar&8K, <{(ϱMĠs酗_ӣ?8Eu cvV!eDlCNcrfCkBybhT%dF09pKs<<T6sNɍK@hsV$:q\HEIE4!9L[ _ DitNaM,im(Eư9m1'5[6ĝ{Sƕ̭gyJ_u߁']*úblan$+WUQy ~ `mM-*kM[`Hiy1-9QHiH'Zw^׊#_6n8yFeӫ5+ =d*حi|n 2h׿~aMeUrN?sz9q=~azެͭOԾ5*q ߪmZX@JxwDUem`L{>|Av8%$_d6a:x.ܳ塀qMVKA~,~p9Mx%W, jLjcx  b㒧p)$G8J]mͬW!1Bm 0 MJp8u (ـ>;1 ӑ 6;@@/&p$a KR42&PKPLfspQxyΖ=3[Zcܸjf/3BfHElhMbt2as,Eİr&)$] pܺ)7 fms<'x(g~i hsH6y篨hio,Ÿa=wϪf.WpImȢx]A%$>\&y~'s(2Z^`Ru8ȈN3˦q ݷsNMj#N$Dž t_jvDiԍа~E\^)RN _C{ㅗu@ J G0 ppyuZ+ǡ2c@ZږhAV~Oކ95 xunٳ(c;T->96[Sp)XX6zfNn3Glp',(RQGlyiuVR/JrPQQ}iSH"yٍ`:(2T|fp#1WfѩSsCYsn6VΉIEic(w ^kգ0xnp_!< ʥ2VC|cggl4.tToշɉ"mxőwc#+1 Bgکx} 8hgsEYU2@pweH@keG>4B,ʹ~aÍ 2ۉg $Ԝ՚j8њ@Kou!sdaghHyp[XD.8̮2߾ͅnm?pICfz(guc{82q{lݰ֘) XՕDg.`A~0̱FD'Q[Ra҅K$o\pͫHݦfvLJ8CL7gȋK)ۘ? Yׄ~0ӂ;[;Vg57=M&m©N?)㡾La +~p.q<Aԗo33xeΨg9kfTa.sxzY7(OFhq% Yp] b F9TWlmQl T *-E&c"pyUQm:9xCQQl";8d&gުBe@:p#IjdfdEUπ).46#0DXJڋKwaTI5Ai "Biʷ̣¨ #2Qnvw#hq;І^Y~e-2aYzܦ|IJ۶| G9k.`a AY\lnH<МK7 -TeݡC$7?8PNC> /$fdbd\i0QaM#*QȉKT >%f`3ы8dvsw7L /4,8a @2.93OuWgR[RbI/?e37w" }]dxS ,ܤid7}6GXs*S`[8%eI1kq $(kBO Ռ#IlⲅR|911,jAֈK$J\ʻ 2  jp"9"Ͱ\5 ԥ#=aL=[6He֛!tL+c0o=d%5@:nu뙥SgʏGyPqԼas.FmeeuL @A<ܥ~ۅƏ^bObdgD}xo~ _W)Э =AH9fLS%%Mt%QYPi.< ϻ 3UJY)#ı Vj>8=[8NJu3F{,M=P囙̼m9V^Le19Lfn<)?] .@_Ō4ȏ ~T֬(DmW^|ٗW^7l[tD{l,y`8g!m;YVZ S#ܳy !CG4ʱQ̎"&\-<| ͤMr~ ;jV06>pȟ۶A H%6Di(\Zrb_bF(yO&ܕ{V3)؂\e4qK?ybL$uF\>Ydݰ(aio7b410jvۚ~N&2X*;6l#N0K7M7 NKGP%fy l2t?JY ;f$uFp[ܽZFqpqx޷#*gA13?R:ă|7Ixxs )"Y`lc1&`d'Df<)nݺeUixra s(<%)фA2 |]*1d6M#~'L2F&)Ϊ[.xBBz=MpzK8sW`ీSe8Y/RԍԀ4rŖnV_I[r>>"Fiwbe?'|A>]$[`2[ėShs0S ٿ^whAº٣;'K k4ܢu&d"Pwg)箯1D 4W/_5\$8<b< ʠ"\9tQZh!B3j? ȔF1r4:7 ,4ys,yAr),>8#M"z PߺAgHGQ-#Y՞#BY4n)^&IwIs8H ZTd_)'1kl[ 4&Lҫa0 ՗\ y0y84a^Qg,=ԺE:4/QII]uEYXPC@:~ 2f ՈN&˨\]U`ǓeFQ)X^hH/9,D=\p<?6d!:Pyޕ7t;JFv:j }ffl 5#+2L3Ţ^JA3UPz~Pe)2@F29^([ nLtCw5^H/^yE6 UϡOIZM@GÝ' &y o|p􋊎) E8hŒTc/ q~E$%RKhtCA+M 'ΖFԹl?6\1Tw!Ir+`՘-)-".`vIT:0,/ xM=%Nj!ysb D^:A#'pyE$Ea> +DOvwohb/QOfh㩁)iv{X2D 3eƸgF(}(t/en̪ OljW !xQRPut(tqZ!yҙpޚg{xФ9$Aljd0ĤQ<aj%P ËLz!#,Q89Cp2(Jc7vC@PQ[ =If%g 0 Ш+ y؝fpRG->z)z\jjQ8opucWİmlXz9)ں0j?@/Y/P䒌cP+_/ jRw%Ffܓ1o=a*|Lt4t+h)o?Bv {K_/W]N  $ƍޡXΝ;J\$̱ Xw1=l'y!@j1l$ElE2SbVC#q k(Z9H=.K,c@F~Wrhz9e靑Ny4&)E[. a@%JhNg${&HAG ¥cIXl ӏ쓾cjcTOo.o-ԘBv IDATʻY 2)yh+NcOwm`v;X8"#LsG!0MQ Ӌ)3+Dq*Q?x";5`gD- jV#3^C_Yz3lu0ϕ`@Ais&:z xSQ\C旯H0j$i@05gnW2SB6wF:̈.4s-2?B<0'BwrQ.X_;`G<ż}TkNYԹi/~P$7ژR"$ #b֮P/i|iٟAjwc&Tu?cjR [U3H@tP'mrRZ,JD>K]LG+w=*4&O%w}{= |v[^%{9j |֯_G y]f<~.t0 [uNhS[GTtjX;n@({=Pދ!'s 7` Q,zȣla8C(G&߾.Π60VLS{~"A]/űHl"2#[w % 4+=pfĉ tA%4qL\;.~C78l4<bst`X'בLcY>)SN(AO;APMXtzJT M0ѨfhiUs\\^cgOY=r~sB\k^2Q]3N豜y^,✩dJ( *GSlxXԺdI>~@,.˞U LۗӁ7: yp)G8rQFhpܘ3h#HΩs_nm/g rXۦnٰmm8r hO>NxǑa+I})cju6,֖zx;E|qǩc:a?{Zdm9B8 CLtXl׮]XF ;Hݴn\Vvab0;.}\xRvB" 8L/*SP..Z" 0TLR+LmFza=Z]&o{ 7W$2%x5ӱX1پ'' 4A&m<0g6\E֬CU(y׮#*2=mM &^z5 +?p,M aCA}t3JgNb rq|ão?UX[21 tD JYc!OdM8;!Z#i,T7"4^T]MQIHQ##{Jd iWሸ`)yǕ,)9M."&2-'̂$'3 "wCtv;(?3?b(ɠi>AHٺu#)M:*d&[ }d"9DP/9cmc"pWXYh# tbE q٧X\0BR"azp /ͺz5EQ9<J?iFm w)ne`žGd`dwS*DAXC܁{N9)+6QYR:5 _28Tѻc0f0<  bx^>d@%E#պTޝ!k;܋,QFV|5*[Q% \ȲI%H׋gQ$ni\ԑ~ w#:`z B,N# LX[)p/EhADݬX% ԉ6ʃt :nm=#2D/^A#!Bˈ@1Ar9c7-Q2xZ"!@nT͞߹Nig/a>%X:o33 H .Ya3*09F&^^%FỒh@\/+\'3HC@ m f_ 6W@?1+q~Z<4G sdxJ)K @ Pp*4&N<QS2@HPx: kjB`'6"s:LY[^D1 ħ,A5\(hܓM[)._<8k+n \dXM `q.3[Ñb|.t>GU@Hա 7_|;.˨GA֕dB Wx6wܼwΜd:U' &JxQ%L(L=!@]: F]?+PVrhl}@r~7V%I!8+K'ݪ*~2xʪ|Y>>zEePĮLj=S P qB(X Ûo?!NoʥӧΖk"&˙+'gǡ{`ٛTm H?6UVlSQo吇]JB3d!ٻs+VŲvfSt9" ~{eeQ\0C̹e@ߣ`G0P=oJիstjmqHifL@V-20{vQ{Tj1Kg'<^V)cmj yl}KaauAca"]ޏ?XYF?nj;MJ0aФ(9WV- `L#&>K/ 0"Tdɫ/Ο%Wɹ 9,%9lQe.1bZ+nȳ<3Ǝ S!ZP?!.e)r(B++/c ̼g5rg.,iy_[o2n0Rq`g֯6.]Tr 6N0DO%Uz({Wƀ{cep>@MG6BL\j7쩍fgř^3ľ f:k9»d@5U~p,2vUQUU"hI.Yx TLvDrnOC*8T1bb&thLvzɧɺ}arkĹ]F$\)jqǥߦm&`:GН%FcZŨpґ>N󯽣6y3XX/.,A_P D3O9_r%DeɓK#p$4\,t [Ĵ4I,F?F"<*bIOs$++Y>:dP}{fLc~} GgUmϽRa;_KLJ&<أr!,NI7a#Pr#zZy7er /JNH!ˋ9eHupC m^+/C” 70sqiLXPʆaT?1 IRPZxl*@\rW,2&ꆈ< |-%{B2޽ `|K5}uF(\qf&c ׆b\n[W.i@"S ¼ /(MPLΡsyI*Gb"y|WF@H)33D9lQ?gm[EM,%=a|y,Mv!] /~<qvF z 8HI杫zH72 #@㐝vuYK3Os!%<{{ln[0B&.)Di:2&wwѰ 5Ȋ`+Y!TC7Hvԑ UޏϭAKajp/ B6srL 㜛W^ZR>B}DlM68?ơRUK4ugD:^xEV,`He/J$A!^ _'Ǿx[WUȺZ\ Z@)ř_Sw}rswޖ?M9gzrX &"uIA / ǿǟx&ټa ^Hu +5ȋ/Ho? F[*eUh'Zm_ڳ{o MhrR*P{;ro^-$c U]egK04:ꘝw*$ـ?@dbt!S&TSþ"1`<`1,O@qZ;)6p>v NHY+{ $&ȃ;8N'cQ1БRR$?wņSFCׂf\N?-Ŝjd.&ɌSBtu{hDTup Qw!Osf:ߑ[w9p LS>];ç))uMd*.4/8N+idaJ'}E2@CIic9 e=U{?c{,駟s0ұe5bu&Sʉq@,5|dBP02 T?\Ͱp8*)>е~EjT<9];A1Wsj+*^RLQ EN+.ˏ#eu&q Vj P <+Q-lبIEB 8oJL%'_wCe}jfe [-yjm')6šBladn)CQ>֞.9>,ر R v诿G)x[})JCsXl$ARN趩} 8<8401SvP:-._aȸ> klĭrRXh>u)KUei;jJQ& @'A~t፿J9ne339ԭjb `kQQwdt HΓoZgF~&J1CU[^|l,v^Q#ʲ8]oz {ilYtXt |HL:K((I'4J=(:FbamzyO +ُkzӺuaM2AU*6Θ ֺ c7JeCBECnAJfiA[Z8lM.gXPPI]]*Föޭ >wѧ"gyuAݻ˭[$ IDATr\BfL|({$ *J7uCg6h lWZs`gVK믝R:O93 099?9{1U[khz9+sY"_~)d5;u'4z_Q{t2nYVw`|Ȍd,v*6/>/?Jnɭאx3_dͬRXp^"ԌvI~祠,"u4"aFwi4d͍U^;v1X.L}) ;[lRV-g|= f"/N|`r z# w@8Q|6SP.^C$,]*N_.P$džM(QL16+rNo$˓!fhaÂoFsϣjVޓuMΖh ce9a@9+6ڱK έ$&ľf,M/@-̵OMWt@9ÐȄCyL{T3T]uϴ؇JQ[ũK! q⟙GF)Ovwpse' 8Yx}@E=VLM ^|5tAntf3re +^Om{_圻x* #,<%: ADC5#7).3<{DBBtE,0)1s3ŏsw@ŕ@w$/)eunBV#ӀFrc{bqS]g0_ {"# WCD!/_SPeN0{;XlԬm*}edjY`%n!P IHJ7635]鳲V"RWя?Gr%`7k(2Gz(xWg%>:u ΃vy,klE:O]&SHO 5UNshK'(3%{N΁'*PG[ 2D|ul#9g!z哺t[J8L2R\ޠ(f-@8kݔGC~>:FX HC`^{/XcػGJA?o 2"I= HR,ßwJ3Ǐ#.7GU~V"￘S_QM?ro%c3!zG#ձaA,NI/ p?k?:#O53{ӌu1e=k' MEbAKZzኙjdȑa=lbw0W]2 ?NK2XBwQ2dG٥Jy0XgŃ}WK@Ey@leԵhU0SXUnXK-v3[rԾu,ک c)NBQ6Y7 <<"eX.n(:gO^ўZ $!/oU^Et6Բ+h\ˣ\T+?kRYŞ!yMHQz$ _ĢN$RqHƬ#B6љ C=B4S*n+ /_de<g:^*Uحȼ63n.' ŨGӸ-# blLQ 2; O`}!Wo#S,(  Wd%G߻\J<{MNBsf*@tN43P;.H `~@Eϟ ȢlY#iDv`[D4N]X]Kf'1d}N*%J%4vQwUQ{0pecKGc巯sťP> %0˼Pt|  W!K'fʳa-4,i/҇wo8 0g NL'˝JW_1 Zn 5s13?1c ".2Yw3 "z>[b|q(ȲLJ4/l#Oāə,m邈"JN\NLr|#ᇫ _L=ai{qQi=I1FOcz2BpBCKEDŋ51{lA4R(ni9X,l@ ?k1;5gE^3*?{6`ߢX&˵kl bv, o*F( +iUrXvJ9/?Xx95e쓯%,gOJƺ,kE:%:e~x I6h$ͬUN0QJhmuKv`Pԅ%;*nFeR&18QYEVbp,zfL|9럲v^.LF`͛1hm`PP3 ؀R~\ $]t#ٸO:s[R|%J /ɟ2aʔd{0OoD ꃉ O SDT֭2vaH|^?dJ]>GHuaR>!IՈCynGs,;~NN+ΤYloȯ#-Y!QDނ $b"/AO GcpAIA3jhd-/(SO³Hwngh(AuGar !>*#p_Rq ߋ@7s4RԫW'_J?9'(<(]_>Bɛ[P=NP#c-mmYnO>K{-Ю$PnHȲ>lv2R=H'pk{+K18pd_X:il惇M42xaBI\Nٳua`ghZG/w h'/E"ٍCǟ4I*dz`@^i;anGI0uƽ%?S ܃mʉGx pC3CR|p0u5@&fʐ>a>Emnf0@`PFjd,PW\:tn#=aTUk]_9,(ZV",qS~Wg/Iʽ2YyI*Q%#.){#:YbZ2uOH;$-S S+ l@e%H0RӐ`bk< )-Ȅ&ӣ\s6@1+QS!΃#U~'4?*!wdhZֵxS<a]2gz1btoF33k5Ty@yL&sFȑPL 0ԅ&SKI$Nf7gGgo 8 nnIq35MMqRىr z31 $\ ŗfv5D+_Sb~'?Þ*D]GDuٝ_e6U5U(.B Cmfj1,_9CnQZ ~,l68yɓO?!+$k:X?!oaHMwv ;4 !+Df/6- hrq؄DGE8\@gZ3#'au'PQ^3$Q09JQA=9yBR+D{0Y-`e4/ܒj48!c +#1B-P뉘vw! g:~}ΕʕMQvS#̜N41 g /Cwӫ,4zI>ne cե_=HS;L52\aӘg2f1o^uK}yj\ k@@>hdsH8d`|~ɢ$pc56 :!Ϙ[H gƁt(4)r#L2 +_W~KzI9J+JA~<5+|em Bf(ܐtvK$_Zc#V2}jO+$P',D ]WߎFI1åI@-/=#n‰+/qkg/ *)"b$j1vEq耲,pc ҹCԅԗ_|cLv= 5۷@yyL]p.V%]ati p9 mr6[. YW'FY'f|Y,mb7!^Z IbG9 v-IJ,ɣ2FYuƆ/QQȅ(iy](?m&9d?\bz43zQ}}"yy+ :1P[$ ᄑ|z  24ѱ="x7G2 սrV 0lϷ t&ϱzA@柔)~fOđzq .xj|C.0l݁lo&bޗ 1B9{֓9jbmjo؏ѽMK7'{Fi~2hBz^Vx'- } FXݨ[:Բ ,[y7/Q Kr2=z40!dY^CK'CZ#5,.hXఫ, ]vJuFBոl\}L@e#Xhp'%+/Aqmmޝ$beB9(nr&_ƒʶ]JT8l ?.f."YmO}C^|qz'2E|Xn6|Kc /ffȺ'T0kQX-GKnȥ2iFΫv+8~T @>A9 rk%20 W,7. a3f)3?APq$[s5\lNӟ~EYjgTAAQ0T LQø4|>zuE^=a﷪*qHK]ģ\+3 m[8r3׉^܂rhuUY+`V5PAm^Zu 2jK .ۺ1UP5;Ӌs`0n>AbW(׭${`UtߙsyW [IELߣ,jH,F9cE 5J$oT'%\=|ij酿?hQ=DHPY̸SR8bN-\4j G^MIWnoL|Ag;-L/R/4.0j+/NquO F m7r߃G>ұ;+oH Ay@CV[ @ςM~f"HHuq ɅՅCYn2SMZ uL Ȗ{?=2Iݐv+}\x1[sk1C]ǦU+1e`͙hUDj&!$w`jFgOdƁtJNPzֈ1)EӺ8>&,n&CH 90^:ʣZċ_K>gy\AE3olT[%[vEG&Cf [ow`)28}ad1A Q,_v~@Cg =e" v`݉$9SrӿÏ{vX.g.U9ӳA |0\MDNIkO<43 Tr欠43Rݙ:9R]L r/Aҏb~B!z/ cyGn4b0yo8?"П~6r|zy q]`B-@>rY烩 ԔYث V5躿sQs@f$L~?8Հy/J/ME{sTFF>^{HZ4٫(218+(8as@𣴜3ZOXJp2e^C;GE{g(x/vA)lHFڪe{cnk 5=%m6fs)6@Mh\}tx??Mq!GNc/ɲK_u z8wI,]48HpJhr+ʓfzayHe!QHe zjoY;6Pwc, "A05h5}0jX"2uJDFA O:HY-۶XPOvo]p ఃbQlݱ˧IE0-62I(JҎ+z: % HcVfGZtf03|c&YRhuN|Q֚QVCDOޮ>z:&CY IDAT|s2ٜ"1L@K JqX^ *f8@63݅6G R ČM"e//6 ԍی+g.+wKÇٔl_z ]>.>-MF0nnKW#Y$c8P+&踠BD.Oάyz0RxO 50S }`aω1I?v6ڂb$!~28ď<ݚB7\=3wUPpP]g(3bbG ZD FK-,*;OHڼHYulj34M@AyTGv Ntxj,+t͙TW97Ȗg^I~gI22H_NAa۴R2"٠4JLQCUJlGvtf|T%֨$ka)0n5Sf:vX{AzORcZd ]u9K-|%T`oܺR羾$ˀSxN@ʽ#\`,JQC0K2`S#rd,l`Bi7/KHTR"s /IsNEoL <j7OY0FY=%= < y?S}dh b,_Ɩb2H1$[o9#%%l SRl1'<; D*epa42U| P~wvtD!ӷFN;C1%owk*q])FdpRnΉަBDBEνu[Vfu[GdTQ*;Y {]^.0ӉгnTeM7Z` eΉIN?e?Ol/c DxX*@oErƻ2=Z 4r^KJ:McDpVݑ/9~ yF++ \k5BtE 4ڀ{0WlFU nkfRd٨^._"Rt3l!CjrܹU,۶2E`":ӅkW )4ԆɅbBC:b((-(O:g>}H0mď>d  mA@4:8CF:a@gaz!Œ#% eF=M]#1q ux7=8 f9|E5&`8^eNl/ Q,m<@6%;ffWM]3CX@nȺ|EpZHR|!20$(hj*kxYF;a"W^ĻB0,>>uNʤ1I'[ Qx HAqZlR!PW2EfıcsDJXB94G@ á$Q ;AJ3SW.w-wN|i8!L9Id"їBGTהۧnkM3A锲b a\­`1t&k ``2s8 =b4u舺C=tA0C[l#cӜ#шca݃ 2Mb\Jh8ݽ<,1۳ŃRg2r MCɛAZ<)xήp1KK?2pO.9ٜ Y8IMs4Hٛ*> (S83Þgftv<+j (Hb(g_`qD2{mwNTpmSHe T7PQMvD!ɨdVJhₙN+a-D@[d&5'IQN7Ш"uw@B{NّyZA? (յ65O2B%ɢ 5 [!A{Za)pt.3[:vҷ'|0<'Jc'uƛRyLw$P\q a8+ _  E jrEu"MJdG^x&;De+f>q ș6N9ƻJ h`W0r {\AxYwwt&`)@f >d̵JxV*e0Y*O>\} /ʦE3]& Wa($c_ˋ{<.Qul\1%[ꚥE#P\lC#Q@ V* *9v1L# 8^o!Œѯe=(@g+) DX C7:1/pe@e麗\lË B=Dof4%.rH:zqߣ $ TyyIJOIӭx V濢EV-Bˇ8IJ@8Jrg0F`(xMt))H[&2P.i/<ǜip^0 rYO 7)!>tG->lr<^悰%-.kW5SXtdJS.U܁KKzv IT"68Ԑ1@&i|IߺJX3B Xf#}g{:|[լ`\< Y1gC5aaX !ܩbPPTDAEA59H)(Y$(” eSʀC0J%2?2^ <dbHU6/+b9+#ާNjޮcށ2j紀  [g"`hܼ^rf $♬s2m4a.$ٸm;΋FS,t=wi@ZK'<LYd4Xe3E ESE y-]D^;^. TҷBDnVh)" __y/C>Eҽ6XvO,_n>s'|*>ٰ߂ȍBѝO\h POg TOP?&2GU;QڊyKgHcnvyMRe{&ɓf#Km0kid'HC+ޓh?@Sw R!;HM:2lash-iea=0o `:$3p0;m{$YC-ppbfC[VFC[f>i6ŬI:YsTF,JXO?d­v (EcT/=Qײ::H7*L7=#@bc%rV(K݉XB1V  i.3[AәK_= )\YqwMQ| XLfq!CCPK?ˆ-+/O@L.g7 wa9v KQ[)W!cu}u8l\ÚƠa = %u>s q3/Ja*(M4*۟,{P-JpP0/r9C1S35{ Yשœ%Đa<^FBPO !f̣(=f }}ť C) >H6~&G-]Fd jsk=S-!G'Lt[w4ODQV-lH̒FPD@zKkĘt%F6ˌ%+=2qn)ZyeWKR#hc-vr}s- ٍ$>.@[DKT/.Ҳ201JkFЈ]K8bf͘#"5 w-Ng.-'À c3܀"&'T6 =H3>at}/(_櫧-<|_%o.KFo/>L`nu4g ,J1B5،Y@toB?uEE6[7!X @k6KJfLOxˉ4 Pvg糴(Ţ(=)[KNGV}=(U)~\J`q^h q鬈CV#[X ESJ7!SgRi0)$[qLȻM-B$a`7:-%Iؓ?]sz4fBXbNCǍ'PcxQ!Z5$ޭ]!N3DyluH/.gZ'dξafS.͋NBwǏ; N7 J]ʔcΦ76klYнc |!#V%RZzZ*#+7e+/ftv8W!-/U? 4 N7H%&&2j0@M0qMwr.?Ņ |!c>݁bM<`=IY Z2)lhv-TpibiҪ> {rQg2_89{mVxʉx[,E_!r;qfD@ppA*IHYNbHCoReiAbk9LI_[zKH),klRY7Pќ~{:+uϨc`E<ݔ+?;_s8ؗ X D J4@Ը<)4:2.J'u@zA(8⯼J`qFwK=y^k4t骵WwqÒ(B_r/PdS% \-\ITa׭EQRˌneA)/d˭%!Lјgn~,t#>*@R3r(,+ղp~@ɧopw쒣c$;Ğ8Zp vHG !ޔݠP@uT$RByfE8ceNT@KeoHnwXdE#bz73HC~# Gʆ5ˌ hϤ̷wC*2~or!&\k~6`7>GŸ]"A(T:1 >tOz9Tq\ m`)R,oEz(-ppxӧ>.+Ȯ{իH8Qr[n13ղv&9qE ̅`ZL$qU tpjpzvrPk4 Du-Ɣ\bZY>~5"{p@.DN)swJ/o}ku<0C~8x&9R~@?F'i]_'gpj? aA΍$H[vINg26J)L\M"(O8T-D;?daᓆ@t'>* ʕ  ,l;Cv(2_P}~ xVY&#a?HS޶09(Rr@p7 #Zx.RVlK|[ Db5gՀppf.4sfA.} yĹ2@CMx w$W#Ebx씂 G+W]X4{hx;B11G;>hsZ.l# zX]AD:+|qe\8[#KQI閯) Gv eM*@ ^oeK{Zc^]z8n ZȺd`FgtK f-=EbFcD}a1il ޼y7K:G%C'Dr۠b$̍K9R//IhLJ %Da2bmZ-*ALfH#ʤZ+%K$ǁyfFt!LjJ,g/ {]Ѿ@a$r`A< u "),y҆_D%|R=Yʼn2K+a6zeEz{eӚm:#4s` ۈRp'aM cUMH3LG1$\-Kr1cHI|yy\ ;H^BwI`׭eO! =Nsn([g=|mOVtlV [m P?&' -`H9I)K/~tsXL$/U,^H0dpYVPX)7܀ΉcB?B.RMTڄ+ 4 -DTR3)YYq!.B==i!kp6YE-aO2%',5Y@W7=(*HJVd[=Ea5SvQd;UX;@ a1~Սo60_ka׬=5Vى>K %|oߑw鰖ɯ~{:C;{YoU͗ <#LlC 3](UGaLse hahd7k7DkcC~k<(G=3CMi@ŕ,Ojz mx2#r 'ڞ.6R./8N>=r7+'ܲk 3 `ȥ6]|{l4jXjcuw##֔󝜒,- Gaũ.+1 b2j (ވk`&n-#]<$ LFSK1XXϾA'gw QMUh8:mbp'4\8"y^ 5X?Xwa-/ br^\>QQHTj™^NJx5<_}J*g^xM63Un@< n;i#^Vey{gXI6E^.ƵzGޣE>N0$@*Sj9w IC="A4Pߖa6bQ3zu|=RX8Ha̗k$+Zg-c۵6ْTxqXB@* Z/E`0,LA$"=P&$si6ծg>ԃ/}Oϡ֌It !:fxnǍji[xdvHް0Uʫi1CҩX#' Xf;܆H1M3rj)7X/O2% AKvtlb :5NcA]D1̿ #k0M. M4H~nqHz8ZQUb%0S^jCP ~!7>5/U<[(|L$g4+3+\y=|y2)|/uWe1-IjvFl9ҌrS#d4upfȕ`4섫92w0Sx~ NsH֡M~9e^Xk$*WFI#犏QzJ2d# hA"U!`i'6}}!9qkN)bWp$99 ɀ50M5',XD6jLkx`<`;vlfgEO+X BI`^}X/)YaG6 rB5_OkC$龄ҒF>/$[W!En`h)b 07!qHx4%Or0[1feV<_~~j?5v #(֦ȠYNC0.D2PE F` rKʞ9 9%а.LfK4U!-@Q=iK@^tvHgIy$bh#o"$#sBB!(s LP.v4KVFK!ڪuMjMz"/g; 8; Rsg}|'2NaF5ϽTn4{f[o)pInX(Y-ɠ9L wP=f<IZg(c,9 K|=]w|1% pLrH_:8$"bP;P./G꒖Ak)oR"T@JVQI3G־qn"D4PfE6k?E|ٖ0kU$%,FcIyXNp6Q.*o6EvP/J ˹t;WJYŁj.7;] Y \R5|⑘sÄ 7&)Y Ds.ɓ,A@Pδu.>"yuPGp6lA)>uƸ dis@>ic̅lL9(gǝ9nh%],i{qkPБYD7U[ߗ}#?"/븼H{E,؋R" I;Npi=;m}dR((?鏤i@XHw$c% 6.>a-:WV]d^C cN3[FO<ګfGfM6ڱ}D> ] KqGmNOkLEQb@_a!P;nLah ELBçԄ˄U1Oe $jl9ay?3 $%q'955#_pdqEf~Yr4#h{ʾ>Aʎݩ@ :rxe'4[P[tHJ<0\}̘$$%Fq{YT?e5_C/M a(äZҭN9 HrRZ,LU1~jG]k waeazTVlYҥ6G%bsS>e!plEKElmDCm EJb5Q]W%P~c: GTjTa~-rW8C9MΑ}-+a|IBPF\)2,Ca,$A)>c}:}h7͔'VoOe .4O"|1=nLeN`ʽ@~x* '>hɢtΉn$t}m%g >hdOLͼ׺Y7N=4>mzcȗg_/,-fJ6 Jx䐛mm\\֬ ƜYJVYeIr2ކP֋3* "4*NYY{5W;Pf)r%VK|r48ZPS}|h /;o?8Kz21LE4DO26FF]>Г[E ,)ɑ#9X&uEc(wb)IC_Uϒ{@ˡv5F vGwRv3N5M$-c):,K1EMA)5KF;p @C i0f7oBbDXi3*4ud1ʤn Y ЪMu,)d!e6<$SE%Á\~嚭ub[tNQnN~r$T`\*)\2ez\QC(,' {ι`(Xh@/;)XFJZVL۪Ml|ՅsF0 fd<*nHmH HQ ^8`_SyP;HpP99YDd%c \M@pBQUux*&㳏>EK첂%cI"*V#X;hGݖq 0v Rhx6Ba (_,^YԛLs#9OÑ d7]yE^:qFl3MVP`O]kq@JE f@htҀ뀓 22ژ_qSdT[AӭS+C:>j3?S@&Ue&̍CIz^lA&|$L.M[~48I 4n$&h!,3tcPd .86 >i}#PLЎ:_2ܕZ CBJ QCܥ'֦?cN5kYN ed&P6Nk(!ٲr!vKʱCT`B(WS?' 4keRf.+v)|!7[BNrb[eJy $CK-6h@x|74Lpe$f.R70 1LGS'hZ!g(m?ѵ1\FŇB :TVjA:Fz*rsFL#Ճ6hlCЎ  xzx.fT:!1U!] F;L`('"Ay{BpHG'K(> sfl:q<@(QŲqdt'z%0* _VЫ0jl̜  !wI<6 %v IᝢֵgAӄ!?'3bнj_29ؾr$ԕe 3hd5.90p;ӀN? *')!)4C"Xb(fEꤨ$!6]6]'%``īYsvr@F 0FICBX8#u2җKez/40,~Ò`7Τ7R%%Hem(`]<={9 ة?֙ #D!LU ݠ IDAT桎)SmNBPn*Jct02LQ#orFb/KnAd(s6%W7 ¥-8:K'@yh@8F~(N r= 4HKa٥89y('CO_i}iԭ dq2$DPu0wIj{dU;I Y(ChbAޝl:sՙnE|x&!=)3EʈhFR=tl384*cxLR ryoAT@ګڦg("@@';ۘ 짔e3rz#qOa5qb&;)IƆl/uv *vz4f\tU^cJX$8A 09#+S)=% ? S)y>PC~tQ޾f40 3$Q%jd9 ;}~g@--p#5Z&S4 "QF {ªH;OA'yWR{A4aSΖ??l\uWV_ԤMrzȩ jtfUG  1B)NHCΜK*MYto%LNYf=jӋ>); N _> Ae1`O}`&9}^1˜#냄Ebzp ;z򿽆>C,E'rԴC÷f˘{c@%ɨj.^ *3HfU&ذqNsH(!9q|uQn;r;G!Nf-$]"`u[WD"a\-O)/ճJ-\1'ٵLjGHcqq8 rT$۰b)͟Fk U UVjK%/1'_l&.4Y(ᛛZqCPdXv!,vB )?{:iYz:~TҢRPzw96F#X`dvr =1,F!Z{ *X?eiLnn#ݝhgIH 9.^\~}^."Pl\ VZ pFHihCyӣ&)Bv [wۑ6gZM13-߿͔ex|mK[;6?O 12&'QDz"qTc@QT r73o |F:ĉb$OxhoRe3TZQNb'y8?!9(, BAW>H .gl\UqIΗWR& 7RK 85ʗB>-ihRgyP`,,J¸ԡoD5xCiY yXyJŏyˡ奱rT8 e%Z/^9 +d&Qb2@vhP"U'0 t!~#9uk=lLid^A9MG08D~9xU0>9~̙ 3LJt&Ӿi} h3N"o]#_.TP0jVqa8eyוE'0S PȰL7uQgT~p.9t ŵd(f.PC"Ga5jq w7(bςm{%& ~<.Jp:&b\N7Jw,#ωwVB9hoޝE,1FRN sѼOuGDt6EG! z f!εSGuͭmC60ĈDTu3|n"i@!/A¿\ _?H8zeW\#:U4ȰS G汃X&)>Tez)%W@$*C:YE/SQQ$:Հrs QxSt_֮LUկf% -Dndc$r; 280~th Qݶv&q̔4#Tr)x ">1SO;.7^u5d} [@m~8ot\tn}r_򢳬c< PIK@jrɒQtiҰ:BWUaH$#TBueL!FLZ> . 9< 0ePf :ͦZuʞ켰!TI婫Zӎ*_S3 )I0gk%ci$9oiTUZ.asCNc9-^,A` vvJK ; E0(E'vl Nն -qaH[:q\apD$ #Ղ!ayU "AŅ2$4ڏ67p~RIlԠob"h *c'Qt3֬^jbc*!cTťS$ئ$5 5?;K:!ʼn{ݨU 2 KsI)D hLɩSA8h*3Q6+2 m 982j^ldyy>FCS;Y(jQwJnF>n9: +KRk6Ǹ4$>Љd!x(-Adږzb58D={ S d#PwQn,QsD)2Gd\; >4ڎW3`A[i;Lx=PzI$BD!IAgWqJn 0D/R %.Ũw5L1,$ѦZ߃'1]kĎ)Dp /C)røn4jkѣo>eb^d>+9֒AS;Sg+wJUM ( 0;GnLϳRӽy>$뇿:E=ǢjRr~AnFyyn6][`Y @J6t]H%7˸^-ǐqT5us vx$6uJqHAZPm KN.&,3/j7F,)A%% ƋW>rf(hJ-CCeY+Wd692-ItM*&M:+I2AlM˯Nz2Nhs|bq>n* }3TO8MOۗKNePRegFXn1NrF*jW_P,2O}!΁dpHCF$R贘H@n$d^UM6]F7ה3D*&Ez=XnDq'EM _HI!#dNI޸L~5v\Q#[4U "Yr_2&M]-ߓZ"z̥N"p)1 oYܠ>z9fЯ]tOIɅ@P>t9w"|x?AN6s(MGb)'&;o#4|A!_З iXDԞH@W\7ՌyVKО:`ER{cj;\e%@۩ N?py||H:!xO&J (JDkvQM#I'o$ޞ"w`}KSL pQcGJkiZR>firmn)|tCu)tWG,T5$0ueptdՍev.eFf^7Ć~j.񼸸F2!_4 Syn4|w&(OЛaQ3HY% GBI+M0kL&:J3J2 &Ui'Rv2=8bXjb@+u~}dU ?=(^h\Q|/#$\J'j-?`E4D!(k?[&VD*"/% :M3{8n('Lft,*WwgbfUfZGJK08xTbŔWT+u _~s #ϑ BwPkDb1 xB-eR|,o,JBƇeM l!>6 =Vp=8w>f7ָ40 wZCG C{Kx)?Bep Z|Թ )Q*O%#iXu'03SDj|{c`gO$WADME$!@2B-B-OLi8ߨh>$H4CMX3cљalr13̟b:hG^B h3)zO~C4TWω6]Dx"UEDe {4A޲e.5/azz҂yxd55f8QN0كe&jz8Q<&8C015N7rO цeC&?9,2t3t y$ۈ7X[;)SEՁZcũD6\o*eq yu7{.@>zF~e\62bmidDL&4p/VT %=(mQ䆒֯^FDytG }x,\ #)'ftէΏ@,j㢽\`PC%%1+!e 4iSރL{S;r1oNY< "D8x~FkH/(lu&ULJJF4rF 9 U($JJo6RSӨJ8<;=Qݔ$͆<47zo`}umA+yfdPʯ4CqY*IV'<\}tbG8+αC1G%l<^D^nJu|b]|^A9 OuZj(lÿ͖/gO1Gl6>IJ+|bb 'yCA K9My/kz}vpffgv\k Fc6?D0Mb_%o?#0w댜,&m4 i Bbho?V6nA)rT!{Λ6Iypu2dSnOp̠@m;,A'^{o/<%W|n0WWK08:菉aAj9BΝFY]'&$}s8aA̙M]O/ ĸY+s^α{+H|ibC9r:AhXIg={RpR"rPĢ=~G*3?gnYdRP6sZBqY{@FpeR#X4 ga PQ?t3o-}VXtD6sa*%iC|pd(\֖z6\HK^0И?Ϻ .\htu?iB8H|$`-Tah0;J E,%2bafso IDATgl4}a+SN,\g,"yO 9da!,|X1J y]]}7'7;-zW_5hǼ|RH Nl,gl=/_CC507"]_\D3)q$l:_o`&d>U L0nGOlAi;Mh.@a4 =9Lg(z! ^.ռ>T|CzjA6Z^{g!Nʹ&Bz:b~c9~1':>7CLϠ%7Ynh),w\{ }8VX(F<?7LGhA967h:9nDj}7V,m oQ7_O@4uw9X)qxZ;)v=#}3i? @BF໰mmFv@ϋ7.NArS~IAcAAjMEMd3[32= |4|3hސAh9:|掆lZ_<ŨjZ-n`J]+Q{CK@>W7F%==A򑔺)lt۝iRƺ( / 2-C΀I;$''d,/:Yv>=z V56(Njo #T6C2@iXW-ը(Q#o|g d*!l>\P.qRɐObr]$l( "ZA$܈ndV>*7RǠd6>lơv:B:Xgo_Jj'hL~ȿzyKjQNa9Na/.>MF 0dYnHu<9*>,篿fv=5xjsuG CDI2ԫai#?a5pYzDjk:,:Ja:@(sIרڙQH?f 4Pfk'z!CP3F>KOEz3TKckgMu4t!_Eq8:83 @&pLf ӇKe4n<؂THAQ8A5,Si~p<#2ks3{a]4_F^Ps"y>+с{HΝ1C*gD!B䯽)EfA.6!U W3#S#h& -!j2R*>^駊z(H9Q"vy.qLT}`1 iB ɅTi8~Avac9O$Lɀ: *2v1>v]ۦ9f.VZ#cH3BfI4uL Fģ`7ˊ%rI'yf(i5l7D#hAzv#]סK2J#;Pk =@~Ji!5:Q!mQ/=KRU\l'UL > L21 d9}4% >oNu+v?ANdsaE44H?<={g^%3]~@;샒0b$-64ΫwEӎ}K9Az`{S e  vRDFVgRUAn-S֕ʧVA߱T<pD~N^)| yɓfc랧xH3d%n{d{c v&v{9d2LC zZ[ֺZҪZnuJ#3Lf}~o߫= Y8snkgv7 G'?xs mܸE2 Iے70g>J¾p"566Z"C84:\bzxq`޳WOS׾ ?yG&Ϟ"((U٘adQ1@"}e FɭA m hS0nli";U!'%DREd8QR92L1L/2q;-ꄓ9rAq l[JMA:%v䆑v"Ru"h=CdNINaN ߎ8R5&*WmNMeX;{!#'Q8[5%n)( ~#C*髇v-\ZYb !ƇԱ:EIOmaS}L?[qp1ɰ>5v !;F AiOI'r(CXp#vt0G'G {@:@2iݰmXn?B&)yięuC}n9.(5e| ޼tvNR۾[·8(jxYi71!b9* ?VQq}qi%ue^<1_32⡐;ue{Ϝ(Qj)Қ4;!Qg*jz%IT p8ȁƩ)uNe_xRJip¸z@,$x05C(Q0<?T ? {r@:Y%`9W .^W(L\)y9Nfh8ӓ4"x. biclvk68Bi:26KNўzfkN1G3Lԛy0lpKN BEZ w"Zn/}>̽t&劣"aE꼽=ՠV!9II?.줛"tk}L =ہbO?};x(-q 15ҝx[?~Odk.uM.ER`xXdC&HefGonfTbI-f(zGˣ@W"L4ؚڻØR.]"(hZy*-%J 3qd7۪JD҃෱ ITMcpR_PDGvb s#ԪqP/2YKuGn^m;n.( g&:.hlMTJ U\2+~k#,RH^AnL Q2i*3_6+'&7k`%L}f(n[BbܔzAIkܼmJiPRH}S?(ϾIjבiy"pѿ=Jh?e #ev7_bQ;ʓvþw3ox9KNDIi p! -,Cq% W"UW5ٜa^USNKx!ݛ+i [sc3()9 BVÏ_CnPCh;9"84̏hB1hZ==D׮V^0'U$s6^H2gSoĈpq]\ТP+p(#ϖ7[hr?sJ6♔8㭠4 7@L&6ԞeZ3.%eNnI \h# 7@[a\:BYs_C}SxxqlɽyPjO >QW*&5C!J8P袟bΟ; Q2H}\l^&'Z'5c9v}f x?c'4Sz(b %(7.]LEdS|FhuJJ| 7Aח[Phް\Yk _V'}olm/caTU^B7kƱtgwK R_9[Ul'ӐxQ62> jFX#Z63ϡ;] JU'1I:4!%ώ ~w;U0vGT8b):o8_:My@Q mVOZ$H5G)p R&fbVr<^P iQ܊ ^~J -*Q)t @$&Uk& \ i-h5!E*z,'Sq6|0Svٗq@\{X-pֺo_<< Rm4=VQqΞ:mzVIA[:̩+&*Wd9 6,k""쀴HEqk~x 'k Fl-)yT޹^pٲeVHxlox4 &0`V8?~P|]_.sK͌6Gcw3?/BWɗbz±*݄*Bzq]{pt<~/Ld 0i}sQB)EF1vJs)H`TDdY Dя,2G ZLDNTf#4Z[WlX 2tqz  qsUC֡ơf93a!TDlc% Cs}PIj}C?mZ¨::mmt\E+'@.8itvuoCBkF5vF%<>$ykI4/a~ǩ10AQ|hqϜiH$L@*s*;uUz5VQUF8cƐOxܕãsek&I-qkX< d%~xZu]wmaaj+>,^Z<ǃsvbFo,OvW=@fme~<Ktf(Id46#Xe/ۏ6 k_,_ ή9`HP[o|ӟǟ^Og|oWyO͢8Zӳa1̯A0{iWlӶ':x5?DDt:<뤦 R.,\ k 1K~ (u&d|Z|:0S*&Jy%tP.:ks "r{}fߩI X2X%v NbB2O*a,tBDҳH'yKNBEH#C~'9D"\W7 勣F~ 1QP벋 %} qmkbZ insDad 1c3+A{Qa/?YX %j &GhF>ȰT1z~6txϛk$p5?GB(1D`D, Et&8mk `ۇtG^h8+޿|`j |?XK{uFoٿRJe֝ޞA!}nM{_r=PEǏس_~+]dSrZS/|4{HЀ B@N9dxWNo,0O͡EB@=)>n8D>sxj;r !ef 4>Q0n6Dy)$`$h[ 4<_—`@xs#`T/镺.*!r,iAJόsCogK{G5|'R,/߁õH(-sJͬMjR4ObP8BX+&mhDEѓ2%@}Pt,.;hEf=-@BKKN' !Ab5h,igl 50z;-C/6N63/9L2=9|IR](DPTBfCuoʆ$#3dmѽR^~B E ˙O@As GϠA.49tzYA?8D;VFi (0aima5\9mg^:N_#n9{/9b(⬼y;}%sBxP~ԧa|GqjX8H3訚kY` t| Z#tK*c y% HLDh`H}|7Nٞ}]{#Q$4#/B98!ILsuS V D-'' G IDATC#a Nv-;bo!)8hW}U#gV R0!Sڴy}a49'1qH&S;rwݦUVWU×*bj0  fptϿr _dK`ԓ/>@>v}%{˜!vd=Vpï_qN'Nj@Z틇1qO ZPPM4A G̮m3=t[ho? !9!8.3K8|IqoaYPXB-*(ixD*hɯThGU^ρ%,98]n^?tMc{˞סZF>E*R-FCQ Y 4:b;ϐR'P T[ V}5_] Q؃Fs]([vnHG Ьd(^?{" 0KգLm&E's;a6#}~& ZѾ?Ui؆m]:wf(_{mK?P1DzAj8fm\u5Z_7R S4[i{8>!!pB;6LzC]UW8H?R~Tǿ8JPnHTcP9k?r6Ix.RC)Ft>.sb\Ò={!b:S/͵=坷YM>c;DLI(a^ ]fSZ5c}0K \dIb 6S| 6@bqb=4=zټ|!{b`8A>Ю9n'ϐ["Ic;l },|&:!v(&j,{x(52f.^blХzc:jkW zReFIq "Z=р@Odk {tL6UZw+}GxGO B00YISs)v!,8+W[߼> 4vPCF8HJK%ݢA &9%(_eQe!J;O $CQT\ /"{P17K* ZKӴt|"Szgލvݷ7<]S~E6 ιu7UwNUiAR.r\܏E<͛LQH(!5:A1tGcW0 %< B8iC%VsZB $7ӴYwq==rI=YLH\LT1, -hkQu{n\[tq)Cs]Ġvn){)` A'K!_g +fݸigTءWҵbפ3v  1Kx~SBr+U=Yɸm44%SrC87 D3rW O`XtO'5 =*lf E37,kcJqw݅7~Aq΁FɁ?/ᱯO}̉P{=|"4:Q@1{(,G)nƓ(XKCHO YxSZ"#;aUAxz."ưDlZ!\rr:^8*#VQdf)ǺHw8|.|*9av^!7*xh!C2s 91t@r]:tPE+!bP}BC}bAqӒp>!O]Vp3-:=sK-seF1a~{)6콓4ś8Ihᢥ)G`4█ذ\'V 3#h LکW_@Rr}lM,Lo)LA1rvͷ4s#ha9y}vf{y4nrq"a#ZJWӻebSmRH[+4n0 v!z;ru(XH.SjR< o/~ʠOɊq: _pxTgOsak9 qȓJR'N[[HK;W΁1gz*+ZPPyHn6 ¡`h M? ދ7ЂeM禍}0%%C}s?H@L "óҺ Khe7mFtoVbr@ʲ#\Ahr[ZS}M [s{0p }(n! A5~/0YH1d|!:~(z%D<@KW 8N\4D&)Bu"T#-kB/B 4D&Q8 1]#]A3 %7š{ںA*`ią؅UNeP X)Y(^eZa !p@A9/bfz[q@Dz+)η2!iR#WdgѤ!y_Aׁ*2[  KʂL 8O8$_˅Lz{9ƽmϾ]V{iP{w]P!cЯJP1[Ɯ ba܁96[B"E!niUGHKu4!:,RГ`D~U #*a. Yi#ߏ•Ö;n|1?/'gtCCO *$ 44 5uK+ #$2Kj(R{~lР&wA3N@i(|-4QVyg7" D,I?; {KP1榔Qg]+ N^r\MZ'1<&vY]?.`pQ4 0Ίx(CQtZkYPz8}Mdڷ (G}8Eݰ =}ݤeX 8YkTuޱ?^̳"d8?{6$1ڌp\b̈9 ,\lg϶mFC5=P`i 4bAz3%D۳<U9d'\o ZU5[!cG;l}NbBgW~XAd2(:J|6& B h2F7ox9,<~־EpM- >R8lVF tKߓkBHJJ\;l|Gӂi7D0_́g:'z,NpXJp<2XUx.%n9" n<+9:S8O ^?>: nfNDp3?ԄzDEh gL5>2AfCд-:xjNb$E1:i)~ODhe̛h%yN8#hnx>]nZyAcAfPB[wҧckDa- D8NG!Fj h,jG1;O:^D_BzKMa+3xt/Ŋndȇp>aGWZ!* EsXy_CO8mx^^V4\Tm _eA@MSF) Jtd} 2^)R J$4ج92PjZ 9)upHIx?O -n36 G`FMqAUH~dlƚv}O1TV2CD>3s#s8<_۾x)l1\sЪ"_ щc$tthS'`AFBedsj*;ѬfFRXKàUW6_G5;` ! )HL-3?1>c+1@\'8u8;qƑfbkmpRI۽o==q_pr[j;b{v$œc-7o՗S ^եur*.hz`2wzp?;r0T^hDv.HB2,.Jj|]@;e&7!gIEfo_c}kf7M[NIB}_u?@m|d1iǸ}jS\Edўd@qxeZŨko@ <"F@ȋ͜j`!OL< .a5( ##k[mP ;+4^X@(=ܰEO{ndjQqРtP+(3k2(^nZ*Ϳa`ҊDQYǦf䐤XROB?9mݲ kQBIytDQ6#3&@G`4oJqCbk=Y kG&0@BjjC%c̩Я=bjPGliIe,oqa ɳnc)'k-ވ rotZZ\sVӐvm3Ae%V"uՅvLmXTQ% ޢP "d&&Qm#x06Rs,s1CO}®~Nj?WqqigBF9Eqo{,-\Bj ZCmr3.@?]+VJ'2l؁Y9$t5rzUӁIjB{q>sEG9R{s^k/njBR%Ib@8$]A=tj9W-)6>NnbP^*h q4"M9R\`DJ?w;ܬTd/_ 7ZN ْm?rRg-9_:pW Kp|pvX9 z! ?_5Or w^qW8X=7rCGOt˅CE rAʩ틸q^=Ȧ7V!Qoj *5c(0aW oH_T jl 2YjGg37گ~CR6UkU_K{קw@>]:| .#<T܅aQDȐ@$!I)\WI'kHJ!J0jhjýȎ8xBgg Q4"$sѧP֠`|>ss<<=D.zƈ ày%%x1vb>7lI۞4ͳP 5LseYf:}dᓇm۶U}=-4D%#1m4@EFzɚ' j F_ ]Dq$4 @;H$b4ZJ}(鸌jkuW#"=׶?CteqȑEKAT:xH onW g KcO*ʚf{pn 8dhAC F$m 0*=Ƹ@ l{엿xtR+ `tCm;AP-"h,3'N_&9l@fr,m\c!+ HiDMtkQgJ1H|)Enz$=XiG UHP ^#O^x)x9?1@҈a?lbt<*?+ѯZh}Aϴz*Z̛M7PXPjY1 nL%^[hl O[_W;%/h/MFOjAKP'hκYz*ՓӉ0j=6pNtԃ>+y(\DH|i82VJr&H܌ā,G4}4/N1"E,PWSW‘ SjF;t&u1D=h\>?l\u3-+zYLIYwbj_jy2 4],Ij?.^}5S@bؑSMNƕ[/4/aƙۻẵxV)o[@gGqn ir]fF=XTC7 o(FB"w8EQgʏ#@^ _<ߡ)ʔ?qN ua'Ҷ6 " }ƱC0ūJP~DEQѰ: :54<(>I]43s9K|4׃hQؤ(RYnx.<ո+g<!yEƮ6uxW1,HUɏi`A3 VZwЋy3c0|/؁0pHtŐaИ| :szx.ƐS^X4g ^$lqA412L?i0HtCE)0 ,W.˅pJ =!I2-@z6N==.‚b I:( tΤUyHoBIDATv VFΈkr!s$Eo\jǥĎj2 5ի1֠maKg%=u*AY07y (X6ϸ{m{{ WZVw5OgqcG. }3C9e%b/VGRލqA8)YV2/nAV9JW111ሉjZà ::ĢR\^AnjQǐdL!(63̡#T9@Y9{^.c~.QXz0#TmUt05<7O%$qyW"axh_7j@˃BSR5eL2 V*g E^XwgXSݶU.W ra4HU?Ãst"kdgYIChaҀ* }tP9L 7|$^I ILR6* .rHQ.ٴ^@0W[ hCR=3zxM5fguB^~c̋ G%E2ׅD= gjK`,ug  [jM>EiQw+[WhEk0n\_Li׵GmD1q#oCLJ /TQ>eQ22u 0\IՉ$DY"x31QL"Tm=#x.j8T05F= JN]+G^ d)ڑj`,^_&8Oul#X%8~}PKS~ Yh,!dJŴ<5)B;砼b7*ʫdtꋡVeVF2 qZZa1#f(QJf1D"A,~OA> 5 DQ8G==tu}좇o޾}!ևP)E=Wћ?-G E~7BV3Ê|ORp9>@a}O& A`ym(Eh Ʉv9-H 5@ҶVZ n\7t\CQ@?N$c"?'9=҇Hm۷=L/JE^V#75=8wm۾wX0d7+҂@[R}#ENDA)['}#Tݻ/^ d&[2s"WtA'yvlJщ lکcK:L1KnVqW]:0LL!_u!y~StMawil@Ǔ*a PmnN$_L}DG SD56zy c `+6Ppyߍwbe})c+rݡ6(5ΫsB*Bջ̂(ѧ}DAjԋP|3@`_ {]_M:zp-K u.TƬ=B/T[nRU<.)UwMI'zoPHi@Hٲ;7G &EWL؊h2nj<4~~ j1 /MiRkh' |8yt0`8݆-1v[YXʂk1֖ӳcknf{xvA2FA%0BK{jWK|`mf$"c'$H dҤ2IeG(# DcGehYS?PLl:h>z iȦ M)_φH3S^rЯ*SLz! +=_!#ѯ`2 5k!p8~ԥOɩ Hsxåg5EʨDyg6 `Fd=7#3fK |CRYw}VXlPZ*CtӸIKDkLx]#ËD:z] RǵS4? O"eyf(gb.ԢH } p("K bPS_sqtz-߅j)fH&(dC!F Rt5[CqVxjH9%>RPS-s= ,EpA;bRsё23w9u6 *;q}ɑܣJja(iOIE#!r!tN U5jaùspbPkzE峆&gvWJ¦#A1C1 t ǀ JV>=-T =˜V[Ke /^/Q9;L{_} &32JD3R/Ӥm4P菈+@{n'q rR#jNSe]t/y] yMBt|)/ E Gy Lc8Re'BX6 &5> x0ɚWް>\l" ofP B^x#PX6E '1TaԴBsE)v Kt>!6>Fn 8LV)h$H<߽x3SVҭo&I RgrлiZn3 DP,+KṕgOܬn r>M\&7 #=s=ҽ+81 ` 'IԠ(D$I@_AI/;, EP[icqL4s`YV>VYxE:g*z:Z4V?MvەcpZİ(xUUśhNsC˒.rH7b1O)u.%Ŝ=yOFPPSWB  eG\u:G[C#ُ8+\_Tz8~K7#癜(Z$:B;c!ɤV\9{쫯@nMΌi(o\qn?/OxyR=|Ya0Ghpq5*C{cj" яDܽPBʭYm5 .'wh^^,]}J?Qi@^Ϳr 4R-M2۝H_'BrbxKv;iLVn K_ Yy"8IRH?)_ VP1 KrTk@o ;`4<L*[=  (Lspf\ӓߤeUǡ_hE<Deuq.lqH;G:I:,Y ^֌@k^:̎g~dmVq]~堍Alw\9!xYiVD3rl> xL6Vw=%jﱛʞ: 3aL%pbD$6xtΎVH`| tζS|F'R{Pk9ّ*wܼxlUn e=2D'\}ٮs FbOpaDBq('JDW~K)_ >joZ椽sy]fLtx ˊ L# d+3k(D 40!N`Ynm#.pOxv{˵&9,$ p?5%/_M !Yⳋ8ǵ u&qX]H}*繖QZf4$/^kMTSGEƏ :A.bnt #9 @?Az'$DTX#qP@Yaxc|FuYº~y$4@^Mȑy7؍ {[)@^h5 Ce*rD^zKq+?*{ͽ v߃7٫G-Tlo2XӣQ`Μs)M? =jFًh-c0|eq& # %U`V ǖHD]P 1 b4LSbUJF~fz+,, 8]N h'@d4FX!DHH z q->KQY6 tYauh7Z6v{ Y Ѵj#DP*ydM/~#ܧk<4lM̪L`|}DC=k-ZdL>A z-)+`D| s-G1|˻&-ly+>W7[|faDhs>q3>qҖ^v}TЫ1(@;C^i Ft;tA"Q徇~n@ׁCkdE7G` {4'kf-Oϧ.?(,AW>2HZ*3 ˊf>^;yʍj"5 "Mk)r kAN>?B$B \n<Y<@vPsDRNSuT}yZ%5J%y^;K;}وiGaH)}R|:9 %`hU"M(fd`88Κֲ-,2^0د(CDyVPR4OZf֜`~"oJXKUOA@H^@"Ǐ^]X: VfCrV-J*tM4o zxiX!LJsʲ|D &v'PE8Ni$5$CᒅxXkX/t3txE2Wwi<Ƒ<,<F@Iv=Rh=3,EG`H$rzA%ặ'|-$.?l QЕ :p lb$02$w(4K_^<1ETu57yruըv..6k:B4OctSKYޯZ!=JfD:h+M(&buسϝA$ly8פ)auoܺբhw\ >b(K܃/r` .dRu,)qLY9-]QE]qfmrJ~aW[}\M@Ed*t}iRIENDB`exiv2-0.25/msvc2005/exifcomment/0000775000175000017500000000000012541547730016120 5ustar andreasandreasexiv2-0.25/msvc2005/exifcomment/exifcomment.vcproj0000664000175000017500000003265712517642015021673 0ustar andreasandreas exiv2-0.25/msvc2005/exifdata-test/0000775000175000017500000000000012541547730016344 5ustar andreasandreasexiv2-0.25/msvc2005/exifdata-test/exifdata-test.vcproj0000664000175000017500000003266512517642015022342 0ustar andreasandreas exiv2-0.25/msvc2005/conntest/0000775000175000017500000000000012541547730015437 5ustar andreasandreasexiv2-0.25/msvc2005/conntest/conntest.vcproj0000664000175000017500000003376112517642015020526 0ustar andreasandreas exiv2-0.25/msvc2005/configure.py0000775000175000017500000004045512523221554016141 0ustar andreasandreas#!/usr/bin/python3 import os import sys import uuid import optparse import datetime import platform import xml.dom.minidom def empty(): return set([]) global uid # dict: UID of every projects global project # dict: dependency sets for every project global strings # dict: Visual Studio Strings global ignore # set: projects/directories to ignore global filters # dict: patterns of filenames to be removed from the build global filter # set: patterns of filenames to be removed from the build global externlib # set: project to never filter (zlib etc) global format # str: output format global build # set: projects to be built format = '%-20s\t%s' externlib= set(['libcurl' , 'libexpat' , 'zlib' , 'libcurl' ,'libeay32' , 'ssleay32' , 'libssh' , 'openssl' ]) ignore = set(['expat' , 'expat201' , 'expat210' , 'tests' , 'testv' ,'zlib123' , 'zlib125' , 'zlib127' , 'tools' , 'exiv2lib' ]) apps = set(['exifdata' , 'exifvalue' , 'geotag' , 'xmpsample' ]) tests = set(['exifdata-test', 'conntest' , 'convert-test', 'easyaccess-test', 'exifcomment' , 'httptest' , 'iotest' , 'iptceasy' , 'iptcprint' , 'iptctest' , 'key-test' , 'largeiptc-test' , 'mmap-test' , 'path-test' , 'prevtest' , 'remotetest' , 'stringto-test' , 'taglist' , 'tiff-test' , 'utiltest' , 'werror-test' , 'write-test' , 'write2-test' , 'xmpparse' , 'xmpparser-test' ]) # always = set(['exiv2' , 'exiv2json' , 'addmoddel' , 'exifprint' , 'metacopy' ]) build=empty() ## # build dict:uid - hunt the tree for .vcproj files uid = {} for d in os.listdir('.'): if os.path.isdir(d) & (not d in ignore): for root, dirs, files in os.walk(d): for file in files: ext = ".vcproj" if file.endswith(ext) & (file.find('configure') < 0): uid[d]=str(uuid.uuid1()) ## # define project dependances # This table is generated with the command 'tools/python/depends.py exiv2-webready.sln format' project = {} for p in uid: project[p]=empty() project['addmoddel' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['conntest' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['convert-test' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['easyaccess-test' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['exifcomment' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['exifdata' ] = set(['libexiv2']) project['exifdata-test' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['exifprint' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['exifvalue' ] = set(['libexiv2']) project['exiv2' ] = set(['libeay32', 'ssleay32', 'libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['exiv2json' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['geotag' ] = set(['zlib', 'libexpat', 'libexiv2', 'libcurl', 'xmpsdk']) project['httptest' ] = set(['zlib', 'libexpat', 'libexiv2', 'libcurl', 'xmpsdk']) project['iotest' ] = set(['zlib', 'libexpat', 'libexiv2', 'libcurl', 'xmpsdk']) project['iptceasy' ] = set(['zlib', 'libexpat', 'libexiv2', 'libcurl', 'xmpsdk']) project['iptcprint' ] = set(['zlib', 'libexpat', 'libexiv2', 'libcurl', 'xmpsdk']) project['iptctest' ] = set(['zlib', 'libexpat', 'libexiv2', 'libcurl', 'xmpsdk']) project['key-test' ] = set(['zlib', 'libexpat', 'libexiv2', 'libcurl', 'xmpsdk']) project['largeiptc-test' ] = set(['zlib', 'libexpat', 'libexiv2', 'libcurl', 'xmpsdk']) project['libcurl' ] = set(['libssh', 'libeay32', 'ssleay32']) project['libeay32' ] = set(['openssl']) project['libexiv2' ] = set(['libeay32', 'ssleay32', 'libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libssh']) project['libexpat' ] = set([ ]) project['libssh' ] = set(['zlib', 'libeay32', 'ssleay32']) project['metacopy' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['mmap-test' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['openssl' ] = set([ ]) project['path-test' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['prevtest' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['remotetest' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['ssleay32' ] = set(['openssl']) project['stringto-test' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['taglist' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['tiff-test' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['utiltest' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['werror-test' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['write-test' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['write2-test' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['xmpparse' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['xmpparser-test' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['xmpsample' ] = set(['libcurl', 'zlib', 'libexpat', 'xmpsdk', 'libexiv2', 'libssh']) project['xmpsdk' ] = set([ ]) project['zlib' ] = set([ ]) ## # filter filters={} filters['zlib' ] = set(['png' ]) filters['video' ] = set(['video']) filters['xmp' ] = set(['xmp' ]) filters['webready' ] = set([ ]) filter=empty() ## # MSVC strings strings = {} strings['UID' ] = str(uuid.uuid1()) strings['Begin' ]='''Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 ''' + '# Created by:%s at:%s using:%s on:%s in:%s\n' % (sys.argv[0], datetime.datetime.now().time(), platform.node(), platform.platform(), os.path.abspath('.')) strings['End' ] = '' strings['globalBegin' ] = 'Global' strings['globalEnd' ] = 'EndGlobal' strings['platforms' ] = ''' \tGlobalSection(SolutionConfigurationPlatforms) = preSolution \t\tDebug|Win32 = Debug|Win32 \t\tDebug|x64 = Debug|x64 \t\tDebugDLL|Win32 = DebugDLL|Win32 \t\tDebugDLL|x64 = DebugDLL|x64 \t\tRelease|Win32 = Release|Win32 \t\tRelease|x64 = Release|x64 \t\tReleaseDLL|Win32 = ReleaseDLL|Win32 \t\tReleaseDLL|x64 = ReleaseDLL|x64 \t\tEndGlobalSection ''' strings['postSolutionBegin' ] = '\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n' strings['postSolutionEnd' ] = '\tEndGlobalSection\n' strings['postProjectBegin' ] = '\tProjectSection(ProjectDependencies) = postProject\n' strings['postProjectEnd' ] = '\tProjectSectionEnd\n' strings['preSolution' ] = '''\tGlobalSection(SolutionProperties) = preSolution \t\tHideSolutionNode = FALSE \tEndGlobalSection ''' ## # {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug|Win32.ActiveCfg = Debug|Win32 def compilationForProject(uid): result = '' for t in [ 'Debug' , 'DebugDLL' , 'Release' , 'ReleaseDLL' ]: for p in [ 'Win32','x64']: for z in ['ActiveCfg','Build.0']: result = result + '\t\t{%s}.%s|%s.%s = %s|%s\n' % (uid,t,p,z,t,p) return result; def compilationTable(): result = strings['postSolutionBegin'] for p in project: if type(project[p]) == type(empty()): result = result + compilationForProject(uid[p]) return result + strings['postSolutionEnd'] ## # Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libexiv2", "libexiv2\libexiv2_configure.vcproj", "{831EF580-92C8-4CA8-B0CE-3D906280A54D}" # ProjectSection(ProjectDependencies) = postProject # {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} # ... # EndProjectSection # EndProject ## def projectRecord(project,projects): print( format % ((project), '{ }' if len(projects) == 0 else projects)) UID = strings['UID'] vcnew = "%s\%s_configure.vcproj" % (project,project) # write in DOS notation for Visual Studio result = 'Project("{%s}") = "%s", "%s", "{%s}"\n' % (UID,project,vcnew,uid[project]) count = 0 out = strings['postProjectBegin'] for p in projects: if not p in ignore: count=count+1 out = out + '\t\t{%s} = {%s}\n' % (uid[p],uid[p]) out = out + strings['postProjectEnd'] if count > 0: result = result + out result = result + 'EndProject\n' return result ## # filter ....exv_msvc.h... -> ....exv_msvc_configure.h.... def modifyHeaderName(line): headerold='exv_msvc.h' headernew='exv_msvc_configure.h' if line.find(headerold): line=line.replace(headerold,headernew) return line ## # Filter proj\proj.vcproj -> proj\proj_configure.vcproj def writeVCproj(project,projects): vcold = os.path.join(project,("%s.vcproj" % project) ) # path to old file vcnew = os.path.join(project,("%s_configure.vcproj" % project) ) # path to new file xmllines = xml.dom.minidom.parse(vcold).toprettyxml().split('\n') out = "" for line in xmllines: # 1) Update the project GUID projectGUID='ProjectGUID="{' if line.find( projectGUID) > 0: start = line.find(projectGUID) + len(projectGUID) olduid=line[start:line.find('}',start)-1] line=line.replace(olduid,uid[project]); # 2) Filter off unwanted files and modify the msvc header file if (not project in externlib) & (line.find( 'File RelativePath=' ) >= 0): for pattern in filter: if ( line.find(pattern) > 0 ): line ='' line=modifyHeaderName(line) # 3) Add a preprocessor symbol to ask config.h to read exv_msvc_configure.h ppold= 'PreprocessorDefinitions="' ppnew=ppold+'EXV_MSVC_CONFIGURE;' if line.find( ppold ) > 0: line=line.replace(ppold,ppnew) if len(line)>0: out = out + line + '\n' open(vcnew,'w').write(out) ## # not assert! def cantHappen(condition,message): if condition: print(message) exit(1) def headerFilter(path,options): result= '' lines = open(path).readlines(); truth = {} truth['USE_CURL' ] = options.curl truth['USE_SSH' ] = options.ssh truth['ENABLE_WEBREADY' ] = options.webready truth['ENABLE_VIDEO' ] = options.video truth['HAVE_XMP_TOOLKIT'] = options.xmp truth['HAVE_ZLIB' ] = options.zlib truth['HAVE_EXPAT' ] = options.expat for line in lines: start=line.find('EXV_') if (start > 0) & ((line.find('define')>0) | (line.find('undef')>0)): key = line[start+4:line.find(' ',start+4)] if key in truth: line = ('#define EXV_%s 1\n' % key) if truth[key] else ('#undef EXV_%s\n' % key) line=modifyHeaderName(line) result += line return result def enableWebready(option, opt_str, value, parser): b=True parser.values.webready = b parser.values.openssl = b parser.values.ssh = b parser.values.curl = b def disableWebready(option, opt_str, value, parser): b=False parser.values.webready = b parser.values.openssl = b parser.values.ssh = b parser.values.curl = b def main(): global uid global project global strings global ignore global filter global filters global externlib global format global build ## # set up argument parser usage = "usage: %prog [options]+" parser = optparse.OptionParser(usage) parser = optparse.OptionParser() parser.add_option('-A', '--with-app' , action='store_true' , dest='app' ,help='build sample apps (false)' ,default=False) parser.add_option('-a', '--without-app' , action='store_false', dest='app' ,help='do not build apps' ) parser.add_option('-C', '--with-curl' , action='store_true' , dest='curl' ,help='enable curl' ,default=False) parser.add_option('-c', '--without-curl' , action='store_false', dest='curl' ,help='disable curl' ) parser.add_option('-E', '--with-expat' , action='store_true' , dest='expat' ,help='enable expat (true)' ,default=True) parser.add_option('-e', '--without-expat' , action='store_false', dest='expat' ,help='disable expat' ) parser.add_option('-O', '--with-openssl' , action='store_true' , dest='openssl' ,help='enable openssl' ,default=False) parser.add_option('-o', '--without-openssl' , action='store_false', dest='openssl' ,help='disable openssl' ) parser.add_option('-S', '--with-ssh' , action='store_true' , dest='ssh' ,help='enable ssh' ,default=False) parser.add_option('-s', '--without-ssh' , action='store_false', dest='ssh' ,help='disable ssh' ) parser.add_option('-T', '--with-test' , action='store_true' , dest='test' ,help='build test programs (true)',default=True) parser.add_option('-t', '--without-test' , action='store_false', dest='test' ,help='do not build test progs' ) parser.add_option('-W', '--enable-webready' , action='callback' , dest='webready',help='enable webready (false)' ,callback=enableWebready,default=False) parser.add_option('-w', '--disable-webready', action='callback' , dest='webready',help='enable webready' ,callback=disableWebready) parser.add_option('-V', '--enable-video' , action='store_true' , dest='video' ,help='enable video (false)' ,default=False) parser.add_option('-v', '--disable-video' , action='store_false', dest='video' ,help='disable video' ) parser.add_option('-X', '--enable-xmp' , action='store_true' , dest='xmp' ,help='enable xmp (true)' ,default=True) parser.add_option('-x', '--disable-xmp' , action='store_false', dest='xmp' ,help='disable xmp' ) parser.add_option('-Z', '--with-zlib' , action='store_true' , dest='zlib' ,help='enable zlib/png (true)' ,default=True) parser.add_option('-z', '--without-zlib' , action='store_false', dest='zlib' ,help='disable zlib/png' ) parser.add_option('-d' , '--default' , action='store_true' , dest='default' ,help='default' ,default=False) ## # no arguments, report and quit if len(sys.argv) == 1: parser.print_help() return ## # parse and test for errors (options, args) = parser.parse_args() cantHappen(options.curl & (not options.webready),'cannot use curl without webready' ); cantHappen(options.openssl & (not options.webready),'cannot use openssl without webready'); cantHappen(options.ssh & (not options.webready),'cannot use libssh without webready'); cantHappen(options.xmp & (not options.expat ),'cannot use xmp without expat' ); if not options.app: ignore = ignore | apps; if not options.test: ignore = ignore | tests; ## # print options print(format % ('Option' , 'Value')) print(format % ('------' , '-----')) for o, v in sorted(options.__dict__.items()): if o != 'default': print(format % (o, v)) print() print(format % ('Project','Dependancy')) print(format % ('-------','----------')) ## # learn the filters if options.video: filters['video']=empty() if options.webready: filters['webready']=empty() if options.xmp: filters['xmp']=empty() if options.zlib: filters['zlib']=empty() filter = filters['video'] | filters['xmp'] | filters['webready'] | filters['zlib'] ## # learn build candidates for p in project: skip = p in ignore skip = skip | ((p == 'libssh' ) & ( not options.ssh )) skip = skip | ((p == 'libcurl' ) & ( not options.curl )) skip = skip | ((p == 'openssl' ) & ( not options.openssl)) skip = skip | ((p == 'libeay32' ) & ( not options.openssl)) skip = skip | ((p == 'ssleay32' ) & ( not options.openssl)) skip = skip | ((p == 'xmpsdk' ) & ( not options.xmp )) skip = skip | ((p == 'libexpat' ) & ( not options.expat )) skip = skip | ((p == 'zlib' ) & ( not options.zlib )) if not skip: build.add(p) # build projects that intersect with the build! for p in build: project[p] = project[p] & build ## # write solution file sln='exiv2_configure.sln' s = open(sln,'w') s.write(strings['Begin']) for p in sorted(build): s.write(projectRecord(p,project[p])) # write compilation table s.write(strings['globalBegin']) s.write(strings['platforms' ]) s.write(compilationTable()) s.write(strings['preSolution']) s.write(strings['globalEnd' ]) # finish s.write(strings['End']) s.close() ## # write project files for p in sorted(build): writeVCproj(p,project[p]) ## # write exv_msvc_configure.h by filtering exv_msvc.h include = os.path.join('..','include','exiv2') oldh = os.path.join(include,'exv_msvc.h'); newh = os.path.join(include,'exv_msvc_configure.h'); open(newh,'w').write(headerFilter(oldh,options)) print() print('MSVC 2005 Solution file created: ' + sln) print('header = %s\n' % os.path.abspath(newh)) if __name__ == "__main__": main() # That's all Folks ##exiv2-0.25/msvc2005/expat201/0000775000175000017500000000000012541547730015146 5ustar andreasandreasexiv2-0.25/msvc2005/expat201/expat.vcproj0000664000175000017500000003367012403423707017517 0ustar andreasandreas exiv2-0.25/msvc2005/iotest/0000775000175000017500000000000012541547730015111 5ustar andreasandreasexiv2-0.25/msvc2005/iotest/iotest.vcproj0000664000175000017500000003264012517642015017645 0ustar andreasandreas exiv2-0.25/msvc2005/key-test/0000775000175000017500000000000012541547730015347 5ustar andreasandreasexiv2-0.25/msvc2005/key-test/key-test.vcproj0000664000175000017500000003264612517642015020347 0ustar andreasandreas exiv2-0.25/msvc2005/src/0000775000175000017500000000000012541547730014371 5ustar andreasandreasexiv2-0.25/msvc2005/exiv2.sln0000664000175000017500000020560712504606067015365 0ustar andreasandreasMicrosoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libexiv2", "libexiv2\libexiv2.vcproj", "{831EF580-92C8-4CA8-B0CE-3D906280A54D}" ProjectSection(ProjectDependencies) = postProject {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exiv2", "exiv2\exiv2.vcproj", "{07293CAC-00DA-493E-90C9-5D010C2B1B53}" ProjectSection(ProjectDependencies) = postProject {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmpsdk", "xmpsdk\xmpsdk.vcproj", "{09877CF4-83B6-44FE-A2E2-629AA5C8093E}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libexpat", "libexpat\libexpat.vcproj", "{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib1", "zlib\zlib.vcproj", "{8308C68D-E12B-4C71-96F4-7137F6BEB654}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "addmoddel", "addmoddel\addmoddel.vcproj", "{83914D93-57B3-4718-8A50-662C17C4AE8F}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iptctest", "iptctest\iptctest.vcproj", "{AD41F87C-242B-4B61-B767-A9879F0D5C04}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "easyaccess-test", "easyaccess-test\easyaccess-test.vcproj", "{30E18D87-0147-4601-9ED2-4D5291645DB3}" ProjectSection(ProjectDependencies) = postProject {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "largeiptc-test", "largeiptc-test\largeiptc-test.vcproj", "{953404C9-B20A-4D17-8262-9D9AD1CDC5C1}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "convert-test", "convert-test\convert-test.vcproj", "{D802FE1E-7868-4034-92B8-00865E1CABAB}" ProjectSection(ProjectDependencies) = postProject {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iotest", "iotest\iotest.vcproj", "{21F0CEB1-D850-4C29-88BF-1CE4171824E6}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iptcprint", "iptcprint\iptcprint.vcproj", "{A7D22798-1262-4194-94A5-C636BCB68329}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "key-test", "key-test\key-test.vcproj", "{F11358FA-AA36-46E1-BA80-A17B8042BF9B}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mmap-test", "mmap-test\mmap-test.vcproj", "{556CB4FC-33BB-4E67-AB0E-1865E67176A5}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "prevtest", "prevtest\prevtest.vcproj", "{FC7120EC-BEB2-4CC3-9B90-B022F560E584}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stringto-test", "stringto-test\stringto-test.vcproj", "{9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tiff-test", "tiff-test\tiff-test.vcproj", "{C34B11A1-B707-46B2-8053-2FA236B369CF}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "werror-test", "werror-test\werror-test.vcproj", "{430C4512-CC73-4943-8CDF-71DEA573BD47}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "write-test", "write-test\write-test.vcproj", "{98A9F59D-FDFE-4B27-88FE-2625F1E7597F}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "write2-test", "write2-test\write2-test.vcproj", "{E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifdata-test", "exifdata-test\exifdata-test.vcproj", "{FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifprint", "exifprint\exifprint.vcproj", "{BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmpsample", "xmpsample\xmpsample.vcproj", "{45CA5427-4260-4F4A-86B0-FB7AE233D76B}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmpparser-test", "xmpparser-test\xmpparser-test.vcproj", "{85121FD0-01A1-49BA-B168-CC8D90F91A6F}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmpparse", "xmpparse\xmpparse.vcproj", "{1708EFC1-414E-4712-80A5-813A6F38814C}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifcomment", "exifcomment\exifcomment.vcproj", "{D291B6EF-986B-4222-ADA6-38A2EC2A56CE}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "metacopy", "metacopy\metacopy.vcproj", "{AD231915-942F-4083-9671-85E26A5798B0}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "path-test", "path-test\path-test.vcproj", "{E04D48BF-F529-4267-9311-908E94DF5A49}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iptceasy", "iptceasy\iptceasy.vcproj", "{6860BB9B-2053-46CD-9E2D-EEC199D68982}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "taglist", "taglist\taglist.vcproj", "{DBD630FC-0DA9-41EB-925D-70654D01F6FA}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "utiltest", "utiltest\utiltest.vcproj", "{495BC686-DF50-4250-B469-9C6B7B33A4B8}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "geotag", "geotag\geotag.vcproj", "{E3073076-4837-4DDB-89E5-5AC297C7481D}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "httptest", "httptest\httptest.vcproj", "{4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exiv2json", "exiv2json\exiv2json.vcproj", "{4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "remotetest", "remotetest\remotetest.vcproj", "{B25A3F96-68E8-4FD4-860E-2C33E539B892}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "conntest", "conntest\conntest.vcproj", "{E015DB8C-C463-4A6B-88EA-AFC671D84B5B}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifdata", "exifdata\exifdata.vcproj", "{1A091C40-C0F3-4405-B99E-CA60B9855D77}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifvalue", "exifvalue\exifvalue.vcproj", "{B85BDC90-013A-4D6B-B774-F2D7E0067DA6}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Debug|x64 = Debug|x64 DebugDLL|Win32 = DebugDLL|Win32 DebugDLL|x64 = DebugDLL|x64 Release|Win32 = Release|Win32 Release|x64 = Release|x64 ReleaseDLL|Win32 = ReleaseDLL|Win32 ReleaseDLL|x64 = ReleaseDLL|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug|Win32.ActiveCfg = Debug|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug|Win32.Build.0 = Debug|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug|x64.ActiveCfg = Debug|x64 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug|x64.Build.0 = Debug|x64 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL|x64.Build.0 = DebugDLL|x64 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release|Win32.ActiveCfg = Release|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release|Win32.Build.0 = Release|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release|x64.ActiveCfg = Release|x64 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release|x64.Build.0 = Release|x64 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug|Win32.ActiveCfg = Debug|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug|Win32.Build.0 = Debug|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug|x64.ActiveCfg = Debug|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug|x64.Build.0 = Debug|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL|x64.Build.0 = DebugDLL|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release|Win32.ActiveCfg = Release|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release|Win32.Build.0 = Release|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release|x64.ActiveCfg = Release|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release|x64.Build.0 = Release|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug|Win32.ActiveCfg = Debug|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug|Win32.Build.0 = Debug|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug|x64.ActiveCfg = Debug|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug|x64.Build.0 = Debug|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL|x64.Build.0 = DebugDLL|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release|Win32.ActiveCfg = Release|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release|Win32.Build.0 = Release|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release|x64.ActiveCfg = Release|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release|x64.Build.0 = Release|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Debug|Win32.ActiveCfg = Debug|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Debug|Win32.Build.0 = Debug|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Debug|x64.ActiveCfg = Debug|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Debug|x64.Build.0 = Debug|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.DebugDLL|x64.Build.0 = DebugDLL|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Release|Win32.ActiveCfg = Release|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Release|Win32.Build.0 = Release|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Release|x64.ActiveCfg = Release|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Release|x64.Build.0 = Release|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Debug|Win32.ActiveCfg = Debug|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Debug|Win32.Build.0 = Debug|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Debug|x64.ActiveCfg = Debug|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Debug|x64.Build.0 = Debug|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.DebugDLL|x64.Build.0 = DebugDLL|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Release|Win32.ActiveCfg = Release|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Release|Win32.Build.0 = Release|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Release|x64.ActiveCfg = Release|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Release|x64.Build.0 = Release|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Debug|Win32.ActiveCfg = Debug|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Debug|Win32.Build.0 = Debug|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Debug|x64.ActiveCfg = Debug|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Debug|x64.Build.0 = Debug|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.DebugDLL|x64.Build.0 = DebugDLL|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Release|Win32.ActiveCfg = Release|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Release|Win32.Build.0 = Release|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Release|x64.ActiveCfg = Release|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Release|x64.Build.0 = Release|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Debug|Win32.ActiveCfg = Debug|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Debug|Win32.Build.0 = Debug|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Debug|x64.ActiveCfg = Debug|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Debug|x64.Build.0 = Debug|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.DebugDLL|x64.Build.0 = DebugDLL|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Release|Win32.ActiveCfg = Release|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Release|Win32.Build.0 = Release|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Release|x64.ActiveCfg = Release|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Release|x64.Build.0 = Release|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Debug|Win32.ActiveCfg = Debug|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Debug|Win32.Build.0 = Debug|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Debug|x64.ActiveCfg = Debug|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Debug|x64.Build.0 = Debug|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.DebugDLL|x64.Build.0 = DebugDLL|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Release|Win32.ActiveCfg = Release|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Release|Win32.Build.0 = Release|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Release|x64.ActiveCfg = Release|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Release|x64.Build.0 = Release|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Debug|Win32.ActiveCfg = Debug|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Debug|Win32.Build.0 = Debug|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Debug|x64.ActiveCfg = Debug|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Debug|x64.Build.0 = Debug|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.DebugDLL|x64.Build.0 = DebugDLL|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Release|Win32.ActiveCfg = Release|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Release|Win32.Build.0 = Release|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Release|x64.ActiveCfg = Release|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Release|x64.Build.0 = Release|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Debug|Win32.ActiveCfg = Debug|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Debug|Win32.Build.0 = Debug|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Debug|x64.ActiveCfg = Debug|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Debug|x64.Build.0 = Debug|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.DebugDLL|x64.Build.0 = DebugDLL|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Release|Win32.ActiveCfg = Release|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Release|Win32.Build.0 = Release|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Release|x64.ActiveCfg = Release|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Release|x64.Build.0 = Release|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Debug|Win32.ActiveCfg = Debug|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Debug|Win32.Build.0 = Debug|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Debug|x64.ActiveCfg = Debug|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Debug|x64.Build.0 = Debug|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.DebugDLL|x64.Build.0 = DebugDLL|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Release|Win32.ActiveCfg = Release|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Release|Win32.Build.0 = Release|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Release|x64.ActiveCfg = Release|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Release|x64.Build.0 = Release|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.Debug|Win32.ActiveCfg = Debug|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.Debug|Win32.Build.0 = Debug|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.Debug|x64.ActiveCfg = Debug|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.Debug|x64.Build.0 = Debug|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.DebugDLL|x64.Build.0 = DebugDLL|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.Release|Win32.ActiveCfg = Release|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.Release|Win32.Build.0 = Release|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.Release|x64.ActiveCfg = Release|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.Release|x64.Build.0 = Release|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Debug|Win32.ActiveCfg = Debug|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Debug|Win32.Build.0 = Debug|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Debug|x64.ActiveCfg = Debug|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Debug|x64.Build.0 = Debug|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.DebugDLL|x64.Build.0 = DebugDLL|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Release|Win32.ActiveCfg = Release|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Release|Win32.Build.0 = Release|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Release|x64.ActiveCfg = Release|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Release|x64.Build.0 = Release|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Debug|Win32.ActiveCfg = Debug|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Debug|Win32.Build.0 = Debug|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Debug|x64.ActiveCfg = Debug|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Debug|x64.Build.0 = Debug|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.DebugDLL|x64.Build.0 = DebugDLL|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Release|Win32.ActiveCfg = Release|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Release|Win32.Build.0 = Release|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Release|x64.ActiveCfg = Release|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Release|x64.Build.0 = Release|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Debug|Win32.ActiveCfg = Debug|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Debug|Win32.Build.0 = Debug|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Debug|x64.ActiveCfg = Debug|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Debug|x64.Build.0 = Debug|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.DebugDLL|x64.Build.0 = DebugDLL|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Release|Win32.ActiveCfg = Release|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Release|Win32.Build.0 = Release|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Release|x64.ActiveCfg = Release|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Release|x64.Build.0 = Release|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Debug|Win32.ActiveCfg = Debug|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Debug|Win32.Build.0 = Debug|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Debug|x64.ActiveCfg = Debug|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Debug|x64.Build.0 = Debug|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.DebugDLL|x64.Build.0 = DebugDLL|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Release|Win32.ActiveCfg = Release|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Release|Win32.Build.0 = Release|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Release|x64.ActiveCfg = Release|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Release|x64.Build.0 = Release|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Debug|Win32.ActiveCfg = Debug|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Debug|Win32.Build.0 = Debug|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Debug|x64.ActiveCfg = Debug|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Debug|x64.Build.0 = Debug|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.DebugDLL|x64.Build.0 = DebugDLL|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Release|Win32.ActiveCfg = Release|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Release|Win32.Build.0 = Release|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Release|x64.ActiveCfg = Release|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Release|x64.Build.0 = Release|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Debug|Win32.ActiveCfg = Debug|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Debug|Win32.Build.0 = Debug|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Debug|x64.ActiveCfg = Debug|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Debug|x64.Build.0 = Debug|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.DebugDLL|x64.Build.0 = DebugDLL|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Release|Win32.ActiveCfg = Release|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Release|Win32.Build.0 = Release|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Release|x64.ActiveCfg = Release|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Release|x64.Build.0 = Release|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Debug|Win32.ActiveCfg = Debug|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Debug|Win32.Build.0 = Debug|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Debug|x64.ActiveCfg = Debug|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Debug|x64.Build.0 = Debug|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.DebugDLL|x64.Build.0 = DebugDLL|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Release|Win32.ActiveCfg = Release|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Release|Win32.Build.0 = Release|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Release|x64.ActiveCfg = Release|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Release|x64.Build.0 = Release|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Debug|Win32.ActiveCfg = Debug|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Debug|Win32.Build.0 = Debug|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Debug|x64.ActiveCfg = Debug|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Debug|x64.Build.0 = Debug|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.DebugDLL|x64.Build.0 = DebugDLL|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Release|Win32.ActiveCfg = Release|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Release|Win32.Build.0 = Release|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Release|x64.ActiveCfg = Release|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Release|x64.Build.0 = Release|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Debug|Win32.ActiveCfg = Debug|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Debug|Win32.Build.0 = Debug|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Debug|x64.ActiveCfg = Debug|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Debug|x64.Build.0 = Debug|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.DebugDLL|x64.Build.0 = DebugDLL|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Release|Win32.ActiveCfg = Release|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Release|Win32.Build.0 = Release|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Release|x64.ActiveCfg = Release|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Release|x64.Build.0 = Release|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Debug|Win32.ActiveCfg = Debug|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Debug|Win32.Build.0 = Debug|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Debug|x64.ActiveCfg = Debug|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Debug|x64.Build.0 = Debug|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.DebugDLL|x64.Build.0 = DebugDLL|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Release|Win32.ActiveCfg = Release|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Release|Win32.Build.0 = Release|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Release|x64.ActiveCfg = Release|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Release|x64.Build.0 = Release|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Debug|Win32.ActiveCfg = Debug|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Debug|Win32.Build.0 = Debug|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Debug|x64.ActiveCfg = Debug|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Debug|x64.Build.0 = Debug|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.DebugDLL|x64.Build.0 = DebugDLL|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Release|Win32.ActiveCfg = Release|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Release|Win32.Build.0 = Release|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Release|x64.ActiveCfg = Release|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Release|x64.Build.0 = Release|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Debug|Win32.ActiveCfg = Debug|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Debug|Win32.Build.0 = Debug|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Debug|x64.ActiveCfg = Debug|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Debug|x64.Build.0 = Debug|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.DebugDLL|x64.Build.0 = DebugDLL|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Release|Win32.ActiveCfg = Release|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Release|Win32.Build.0 = Release|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Release|x64.ActiveCfg = Release|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Release|x64.Build.0 = Release|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.Debug|Win32.ActiveCfg = Debug|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.Debug|Win32.Build.0 = Debug|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.Debug|x64.ActiveCfg = Debug|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.Debug|x64.Build.0 = Debug|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.DebugDLL|x64.Build.0 = DebugDLL|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.Release|Win32.ActiveCfg = Release|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.Release|Win32.Build.0 = Release|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.Release|x64.ActiveCfg = Release|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.Release|x64.Build.0 = Release|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Debug|Win32.ActiveCfg = Debug|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Debug|Win32.Build.0 = Debug|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Debug|x64.ActiveCfg = Debug|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Debug|x64.Build.0 = Debug|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.DebugDLL|x64.Build.0 = DebugDLL|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Release|Win32.ActiveCfg = Release|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Release|Win32.Build.0 = Release|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Release|x64.ActiveCfg = Release|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Release|x64.Build.0 = Release|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {AD231915-942F-4083-9671-85E26A5798B0}.Debug|Win32.ActiveCfg = Debug|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.Debug|Win32.Build.0 = Debug|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.Debug|x64.ActiveCfg = Debug|x64 {AD231915-942F-4083-9671-85E26A5798B0}.Debug|x64.Build.0 = Debug|x64 {AD231915-942F-4083-9671-85E26A5798B0}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {AD231915-942F-4083-9671-85E26A5798B0}.DebugDLL|x64.Build.0 = DebugDLL|x64 {AD231915-942F-4083-9671-85E26A5798B0}.Release|Win32.ActiveCfg = Release|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.Release|Win32.Build.0 = Release|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.Release|x64.ActiveCfg = Release|x64 {AD231915-942F-4083-9671-85E26A5798B0}.Release|x64.Build.0 = Release|x64 {AD231915-942F-4083-9671-85E26A5798B0}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {AD231915-942F-4083-9671-85E26A5798B0}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.Debug|Win32.ActiveCfg = Debug|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.Debug|Win32.Build.0 = Debug|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.Debug|x64.ActiveCfg = Debug|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.Debug|x64.Build.0 = Debug|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.DebugDLL|x64.Build.0 = DebugDLL|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.Release|Win32.ActiveCfg = Release|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.Release|Win32.Build.0 = Release|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.Release|x64.ActiveCfg = Release|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.Release|x64.Build.0 = Release|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Debug|Win32.ActiveCfg = Debug|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Debug|Win32.Build.0 = Debug|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Debug|x64.ActiveCfg = Debug|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Debug|x64.Build.0 = Debug|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.DebugDLL|x64.Build.0 = DebugDLL|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Release|Win32.ActiveCfg = Release|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Release|Win32.Build.0 = Release|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Release|x64.ActiveCfg = Release|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Release|x64.Build.0 = Release|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Debug|Win32.ActiveCfg = Debug|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Debug|Win32.Build.0 = Debug|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Debug|x64.ActiveCfg = Debug|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Debug|x64.Build.0 = Debug|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.DebugDLL|x64.Build.0 = DebugDLL|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Release|Win32.ActiveCfg = Release|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Release|Win32.Build.0 = Release|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Release|x64.ActiveCfg = Release|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Release|x64.Build.0 = Release|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Debug|Win32.ActiveCfg = Debug|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Debug|Win32.Build.0 = Debug|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Debug|x64.ActiveCfg = Debug|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Debug|x64.Build.0 = Debug|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.DebugDLL|x64.Build.0 = DebugDLL|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Release|Win32.ActiveCfg = Release|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Release|Win32.Build.0 = Release|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Release|x64.ActiveCfg = Release|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Release|x64.Build.0 = Release|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Debug|Win32.ActiveCfg = Debug|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Debug|Win32.Build.0 = Debug|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Debug|x64.ActiveCfg = Debug|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Debug|x64.Build.0 = Debug|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.DebugDLL|x64.Build.0 = DebugDLL|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Release|Win32.ActiveCfg = Release|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Release|Win32.Build.0 = Release|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Release|x64.ActiveCfg = Release|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Release|x64.Build.0 = Release|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Debug|Win32.ActiveCfg = Debug|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Debug|Win32.Build.0 = Debug|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Debug|x64.ActiveCfg = Debug|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Debug|x64.Build.0 = Debug|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.DebugDLL|x64.Build.0 = DebugDLL|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Release|Win32.ActiveCfg = Release|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Release|Win32.Build.0 = Release|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Release|x64.ActiveCfg = Release|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Release|x64.Build.0 = Release|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Debug|Win32.ActiveCfg = Debug|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Debug|Win32.Build.0 = Debug|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Debug|x64.ActiveCfg = Debug|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Debug|x64.Build.0 = Debug|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.DebugDLL|x64.Build.0 = DebugDLL|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Release|Win32.ActiveCfg = Release|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Release|Win32.Build.0 = Release|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Release|x64.ActiveCfg = Release|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Release|x64.Build.0 = Release|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Debug|Win32.ActiveCfg = Debug|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Debug|Win32.Build.0 = Debug|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Debug|x64.ActiveCfg = Debug|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Debug|x64.Build.0 = Debug|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.DebugDLL|x64.Build.0 = DebugDLL|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Release|Win32.ActiveCfg = Release|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Release|Win32.Build.0 = Release|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Release|x64.ActiveCfg = Release|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Release|x64.Build.0 = Release|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Debug|Win32.ActiveCfg = Debug|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Debug|Win32.Build.0 = Debug|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Debug|x64.ActiveCfg = Debug|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Debug|x64.Build.0 = Debug|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.DebugDLL|x64.Build.0 = DebugDLL|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Release|Win32.ActiveCfg = Release|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Release|Win32.Build.0 = Release|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Release|x64.ActiveCfg = Release|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Release|x64.Build.0 = Release|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Debug|Win32.ActiveCfg = Debug|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Debug|Win32.Build.0 = Debug|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Debug|x64.ActiveCfg = Debug|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Debug|x64.Build.0 = Debug|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.DebugDLL|x64.Build.0 = DebugDLL|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Release|Win32.ActiveCfg = Release|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Release|Win32.Build.0 = Release|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Release|x64.ActiveCfg = Release|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Release|x64.Build.0 = Release|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Debug|Win32.ActiveCfg = Debug|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Debug|Win32.Build.0 = Debug|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Debug|x64.ActiveCfg = Debug|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Debug|x64.Build.0 = Debug|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.DebugDLL|x64.Build.0 = DebugDLL|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Release|Win32.ActiveCfg = Release|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Release|Win32.Build.0 = Release|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Release|x64.ActiveCfg = Release|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Release|x64.Build.0 = Release|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal exiv2-0.25/msvc2005/libssh/0000775000175000017500000000000012541547730015066 5ustar andreasandreasexiv2-0.25/msvc2005/libssh/libssh.vcproj0000664000175000017500000004752512447511333017607 0ustar andreasandreas exiv2-0.25/msvc2005/libssh/include/0000775000175000017500000000000012541547730016511 5ustar andreasandreasexiv2-0.25/msvc2005/libssh/include/config.h0000664000175000017500000000764212450227117020131 0ustar andreasandreas#ifdef _MSC_VER #include #define strdup _strdup #define close _close #include // for snprintf (C99) #define snprintf _snprintf #endif /* Name of package */ #define PACKAGE "libssh" /* Version number of package */ #define VERSION "0.5.5" /* #undef LOCALEDIR */ #define DATADIR "/usr/local/share/libssh" #define LIBDIR "/usr/local/lib" #define PLUGINDIR "/usr/local/lib/libssh-4" #define SYSCONFDIR "/usr/local/etc" // TODO: fix and document this in msvc2005/ReadMe.txt #define BINARYDIR "/c/Users/rmills/gnu/libssh/build" #define SOURCEDIR "/c/Users/rmills/gnu/libssh/libssh-0.5.5" // Visual Studio 2012 supports ntohll #if _MSC_VER >= 1700 #define HAVE_NTOHLL 1 #endif /************************** HEADER FILES *************************/ /* Define to 1 if you have the header file. */ #define HAVE_ARGP_H 1 /* Define to 1 if you have the header file. */ #define HAVE_PTY_H 1 /* Define to 1 if you have the header file. */ #define HAVE_TERMIOS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_OPENSSL_AES_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_WSPIAPI_H */ /* Define to 1 if you have the header file. */ #define HAVE_OPENSSL_BLOWFISH_H 1 /* Define to 1 if you have the header file. */ #define HAVE_OPENSSL_DES_H 1 /* Define to 1 if you have the header file. */ //#define HAVE_PTHREAD_H 1 /*************************** FUNCTIONS ***************************/ /* Define to 1 if you have the `snprintf' function. */ #define HAVE_SNPRINTF 1 /* Define to 1 if you have the `_snprintf' function. */ /* #undef HAVE__SNPRINTF */ /* Define to 1 if you have the `_snprintf_s' function. */ /* #undef HAVE__SNPRINTF_S */ /* Define to 1 if you have the `vsnprintf' function. */ #define HAVE_VSNPRINTF 1 /* Define to 1 if you have the `_vsnprintf' function. */ /* #undef HAVE__VSNPRINTF */ /* Define to 1 if you have the `_vsnprintf_s' function. */ /* #undef HAVE__VSNPRINTF_S */ /* Define to 1 if you have the `strncpy' function. */ #define HAVE_STRNCPY 1 /* Define to 1 if you have the `cfmakeraw' function. */ #define HAVE_CFMAKERAW 1 /* Define to 1 if you have the `getaddrinfo' function. */ #define HAVE_GETADDRINFO 1 /* Define to 1 if you have the `poll' function. */ //#define HAVE_POLL 1 /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 /* Define to 1 if you have the `regcomp' function. */ #define HAVE_REGCOMP 1 /* Define to 1 if you have the `clock_gettime' function. */ //#define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `ntohll' function. */ /* #undef HAVE_NTOHLL */ /*************************** LIBRARIES ***************************/ /* Define to 1 if you have the `crypto' library (-lcrypto). */ #define HAVE_LIBCRYPTO 1 /* Define to 1 if you have the `gcrypt' library (-lgcrypt). */ /* #undef HAVE_LIBGCRYPT */ /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `pthread' library (-lpthread). */ //#define HAVE_PTHREAD 1 /**************************** OPTIONS ****************************/ /* Define to 1 if you want to enable ZLIB */ #define WITH_LIBZ 1 /* Define to 1 if you want to enable SFTP */ #define WITH_SFTP 1 /* Define to 1 if you want to enable SSH1 */ /* #undef WITH_SSH1 */ /* Define to 1 if you want to enable server support */ #define WITH_SERVER 1 /* Define to 1 if you want to enable debug output for crypto functions */ /* #undef DEBUG_CRYPTO */ /* Define to 1 if you want to enable pcap output support (experimental) */ #define WITH_PCAP 1 /* Define to 1 if you want to enable calltrace debug output */ #define DEBUG_CALLTRACE 1 /*************************** ENDIAN *****************************/ /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ /* #undef WORDS_BIGENDIAN */ exiv2-0.25/msvc2005/configure.bat0000664000175000017500000000016312523142244016242 0ustar andreasandreas@%COPY_CONFIG% >nul @REM set COPY_CONFIG=copy/y y:\gnu\exiv2\trunk\msvc2005\configure.py @python configure.py %*%exiv2-0.25/msvc2005/remotetest/0000775000175000017500000000000012541547730015775 5ustar andreasandreasexiv2-0.25/msvc2005/remotetest/remotetest.vcproj0000664000175000017500000003441712517642015021421 0ustar andreasandreas exiv2-0.25/msvc2005/ssleay32/0000775000175000017500000000000012541547730015247 5ustar andreasandreasexiv2-0.25/msvc2005/ssleay32/build_ssleay32.bat0000664000175000017500000000256712447511333020570 0ustar andreasandreas@echo off echo +++ echo +++ building %*+++ echo +++ setlocal ENABLEEXTENSIONS set PLATFORM=%1 set CONFIG=%2 set OutDir=%3 set VCInstallDir=%4 set ProjectDir=%5 set SolutionDir=%6 set Action=%7 echo +++ PLATFORM = %PLATFORM% echo +++ CONFIG = %CONFIG% echo +++ OutDir = %OutDir% echo +++ VCInstallDir = %VCInstallDir% echo +++ ProjectDir = %ProjectDir% echo +++ SolutionDir = %SolutionDir% echo +++ Action = %Action% echo +++ echo. @echo on cd %PROJECTDIR%..\..\..\openssl set BUILD=0 if %ACTION% == rebuild set BUILD=build if NOT EXIST %SolutionDir%bin\%PLATFORM%\%CONFIG%\ssleay32.lib set BUILD=build if NOT EXIST %SolutionDir%bin\%PLATFORM%\%CONFIG%\libeay32.lib set BUILD=build if %BUILD% == 0 GOTO POSTPROCESS set SHARED=shared if %CONFIG% == Debug set SHARED=no-shared if %CONFIG% == Release set SHARED=no-shared if NOT EXIST %SolutionDir%bin\%PLATFORM%\%CONFIG%\ mkdir %SolutionDir%bin\%PLATFORM%\%CONFIG%\ copy/y %ProjectDir%..\openssl\%PLATFORM%\%CONFIG%\lib\*.lib %SolutionDir%bin\%PLATFORM%\%CONFIG%\ if %SHARED% == shared copy/y %ProjectDir%..\openssl\%PLATFORM%\%CONFIG%\bin\*.dll %SolutionDir%bin\%PLATFORM%\%CONFIG%\ :POSTPROCESS set ERRORLEVEL=0 echo OK goto EOF :ERROR set ERRORLEVEL=911 :EOF rem That's all Folks rem ---------------- exiv2-0.25/msvc2005/ssleay32/ssleay32.vcproj0000664000175000017500000002216612447511333020143 0ustar andreasandreas exiv2-0.25/msvc2005/stringto-test/0000775000175000017500000000000012541547730016430 5ustar andreasandreasexiv2-0.25/msvc2005/stringto-test/build/0000775000175000017500000000000012541547730017527 5ustar andreasandreasexiv2-0.25/msvc2005/stringto-test/stringto-test.vcproj0000664000175000017500000003266512517642015022512 0ustar andreasandreas exiv2-0.25/msvc2005/expat210/0000775000175000017500000000000012541547730015146 5ustar andreasandreasexiv2-0.25/msvc2005/expat210/expat.vcproj0000664000175000017500000003367012403423707017517 0ustar andreasandreas exiv2-0.25/msvc2005/libexpat/0000775000175000017500000000000012541547731015413 5ustar andreasandreasexiv2-0.25/msvc2005/libexpat/libexpat.vcproj0000664000175000017500000003127712447511333020454 0ustar andreasandreas exiv2-0.25/msvc2005/metacopy/0000775000175000017500000000000012541547730015423 5ustar andreasandreasexiv2-0.25/msvc2005/metacopy/metacopy.vcproj0000664000175000017500000003536412517642015020477 0ustar andreasandreas exiv2-0.25/msvc2005/exiv2lib/0000775000175000017500000000000012541547727015334 5ustar andreasandreasexiv2-0.25/msvc2005/exiv2lib/exiv2lib.vcproj0000664000175000017500000005703512517642015020304 0ustar andreasandreas exiv2-0.25/msvc2005/libeay32/0000775000175000017500000000000012541547730015214 5ustar andreasandreasexiv2-0.25/msvc2005/libeay32/libeay32.vcproj0000664000175000017500000002216612447511333020055 0ustar andreasandreas exiv2-0.25/msvc2005/libeay32/build_libeay32.bat0000664000175000017500000000256712447511333020502 0ustar andreasandreas@echo off echo +++ echo +++ building %*+++ echo +++ setlocal ENABLEEXTENSIONS set PLATFORM=%1 set CONFIG=%2 set OutDir=%3 set VCInstallDir=%4 set ProjectDir=%5 set SolutionDir=%6 set Action=%7 echo +++ PLATFORM = %PLATFORM% echo +++ CONFIG = %CONFIG% echo +++ OutDir = %OutDir% echo +++ VCInstallDir = %VCInstallDir% echo +++ ProjectDir = %ProjectDir% echo +++ SolutionDir = %SolutionDir% echo +++ Action = %Action% echo +++ echo. @echo on cd %PROJECTDIR%..\..\..\openssl set BUILD=0 if %ACTION% == rebuild set BUILD=build if NOT EXIST %SolutionDir%bin\%PLATFORM%\%CONFIG%\ssleay32.lib set BUILD=build if NOT EXIST %SolutionDir%bin\%PLATFORM%\%CONFIG%\libeay32.lib set BUILD=build if %BUILD% == 0 GOTO POSTPROCESS set SHARED=shared if %CONFIG% == Debug set SHARED=no-shared if %CONFIG% == Release set SHARED=no-shared if NOT EXIST %SolutionDir%bin\%PLATFORM%\%CONFIG%\ mkdir %SolutionDir%bin\%PLATFORM%\%CONFIG%\ copy/y %ProjectDir%..\openssl\%PLATFORM%\%CONFIG%\lib\*.lib %SolutionDir%bin\%PLATFORM%\%CONFIG%\ if %SHARED% == shared copy/y %ProjectDir%..\openssl\%PLATFORM%\%CONFIG%\bin\*.dll %SolutionDir%bin\%PLATFORM%\%CONFIG%\ :POSTPROCESS set ERRORLEVEL=0 echo OK goto EOF :ERROR set ERRORLEVEL=911 :EOF rem That's all Folks rem ---------------- exiv2-0.25/msvc2005/exifprint/0000775000175000017500000000000012541547730015612 5ustar andreasandreasexiv2-0.25/msvc2005/exifprint/exifprint.vcproj0000664000175000017500000003367412517642015021057 0ustar andreasandreas exiv2-0.25/msvc2005/openssl/0000775000175000017500000000000012541547730015265 5ustar andreasandreasexiv2-0.25/msvc2005/openssl/openssl.vcproj0000664000175000017500000002133312447511333020172 0ustar andreasandreas exiv2-0.25/msvc2005/openssl/build_openssl.bat0000664000175000017500000000402512447511333020613 0ustar andreasandreas@echo off echo +++ echo +++ building %* +++ echo +++ setlocal ENABLEEXTENSIONS set PLATFORM=%1 set CONFIG=%2 set OutDir=%3 set VCInstallDir=%4 set ProjectDir=%5 set SolutionDir=%6 set Action=%7 echo +++ PLATFORM = %PLATFORM% echo +++ CONFIG = %CONFIG% echo +++ OutDir = %OutDir% echo +++ VCInstallDir = %VCInstallDir% echo +++ ProjectDir = %ProjectDir% echo +++ SolutionDir = %SolutionDir% echo +++ Action = %Action% echo +++ echo. perl --version > nul 2> nul if ERRORLEVEL 1 ( echo perl is not available goto ERROR ) if NOT EXIST %PROJECTDIR%\..\..\..\openssl ( echo %PROJECTDIR%\..\..\..\openssl does not exist goto ERROR ) @echo on cd %PROJECTDIR%..\..\..\openssl set BUILD=0 if %ACTION% == rebuild set BUILD=build if NOT EXIST %SolutionDir%bin\%PLATFORM%\%CONFIG%\ssleay32.lib set BUILD=build if NOT EXIST %SolutionDir%bin\%PLATFORM%\%CONFIG%\libeay32.lib set BUILD=build if %BUILD% == 0 GOTO POSTPROCESS set VCVARS=vcvars32.bat set VCCONFIG=VC-WIN32 set DO=ms\do_ms.bat if %PLATFORM% == x64 ( set VCCONFIG=VC-WIN64A set VCVARS=x86_amd64\vcvarsx86_amd64.bat SET DO=ms\do_win64a.bat ) call %VCInstallDir%\bin\%VCVARS% set SHARED=shared if %CONFIG% == Debug set SHARED=no-shared if %CONFIG% == Release set SHARED=no-shared set MAKEFILE=ms\ntdll.mak if %SHARED% == no-shared set MAKEFILE=ms\nt.mak perl Configure %VCCONFIG% no-asm %SHARED% --prefix=%ProjectDir%%PLATFORM%\%CONFIG% call %DO% nmake -f %MAKEFILE% nmake -f %MAKEFILE% install nmake -f %MAKEFILE% clean if NOT EXIST %SolutionDir%bin\%PLATFORM%\%CONFIG%\ mkdir %SolutionDir%bin\%PLATFORM%\%CONFIG%\ copy/y %ProjectDir%%PLATFORM%\%CONFIG%\lib\*.lib %SolutionDir%bin\%PLATFORM%\%CONFIG%\ if %SHARED% == shared copy/y %ProjectDir%%PLATFORM%\%CONFIG%\bin\*.dll %SolutionDir%bin\%PLATFORM%\%CONFIG%\ :POSTPROCESS set ERRORLEVEL=0 goto EOF :ERROR set ERRORLEVEL=911 :EOF rem That's all Folks rem ---------------- exiv2-0.25/msvc2005/copylibs.bat0000664000175000017500000000065612447013555016123 0ustar andreasandreas@echo off rem copylibs.bat rem get the support libraries rem setlocal set EXIV2LIBS=c:\exiv2libs xcopy/yesihq %EXIV2LIBS%\expat-2.1.0 ..\..\expat xcopy/yesihq %EXIV2LIBS%\zlib-1.2.7 ..\..\zlib xcopy/yesihq %EXIV2LIBS%\openssl-1.0.1j ..\..\openssl xcopy/yesihq %EXIV2LIBS%\libssh-0.5.5 ..\..\libssh xcopy/yesihq %EXIV2LIBS%\curl-7.39.0 ..\..\curl rem That's all Folks! rem -----------------exiv2-0.25/msvc2005/utiltest/0000775000175000017500000000000012541547730015457 5ustar andreasandreasexiv2-0.25/msvc2005/utiltest/utiltest.vcproj0000664000175000017500000003264212517642015020563 0ustar andreasandreas exiv2-0.25/msvc2005/zlib125/0000775000175000017500000000000012541547730014772 5ustar andreasandreasexiv2-0.25/msvc2005/zlib125/zlib.vcproj0000664000175000017500000003216612403423707017161 0ustar andreasandreas exiv2-0.25/msvc2005/ReadMe.txt0000664000175000017500000005537212537570005015510 0ustar andreasandreasexiv2\msvc2005\ReadMe.txt ------------------------- +-----------------------------------------------------------+ | msvc2005 builds 32bit and 64bit binaries | | with Visual Studio 2005/8/10/12/13/14 | | msvc2003 builds 32bit binaries | | with Visual Studio 2003/5/8 | +-----------------------------------------------------------+ Updated: 2015-05-08 Robin Mills http://clanmills.com email: robin@clanmills.com #### T A B L E o f C O N T E N T S 1 Build Instructions 1.1 Tools 1.2 Install zlib and expat sources. 1.3 Open exiv2\msvc2005\exiv2.sln 1.4 Configuring build options (such as video and webready) 1.5 Building with exiv2-webready.sln 1.6 What is build 1.7 Express editions of DevStudio (or 32 bit only builds, or 64 bit only builds) 2 Design 2.1 Architecture 2.2 Relationship with msvc build environment 3 Batch builds and tests 3.1 buildall.bat 3.2 Running the test suite 4 Building Applications to use Exiv2 4.1 Recommended work-flow to create applications 4.2 Compiler Include Paths and Options 4.3 Library Link Order 4.4 tools/bin/depends32.exe and depends64.exe 4.5 exiv2.exe --verbose --version 5 Acknowledgment of prior work 5.1 Differences between inherited project and the exiv2 projects ## End Table of Contents End ## #### 1 Build Instructions 1.1 Tools This has been tested with the "Pro" versions of VS 2005/08/10/12 Some Express editions don't support 64 bit builds however it is possible to build 32 bit libraries with "Express". See notes below about DevStudio Express and building only Win32 or x64 builds You need a DOS version of perl to build openssl. Not the cygwin version. I use ActiveState Perl. configure.bat is used to configure "non-standard" version of exiv2 configure.bat requires a python3 interpreter. I use ActivePython. ActivePython 3.4.1.0 (ActiveState Software Inc.) based on Python 3.4.1 (default, Aug 7 2014, 13:09:27) [MSC v.1600 64 bit (AMD64)] on win32 You need Cygwin to run the test suite because it is written in bash. 1.2 Install zlib and expat sources. I use the directory c:\gnu for this purpose, however the name isn't important. c:\gnu>dir Directory of c:\gnu 2010-12-05 10:05

exiv2 <--- this tree 2012-05-04 23:35 expat <--- "vanilla" expat 2.1.0 source tree 2012-05-04 23:35 zlib <--- "vanilla" zlib 1.2.7 source tree 2012-05-04 23:35 curl <--- "vanilla" curl 7.39.0 source tree 2012-05-04 23:35 openssl <--- "vanilla" openssl 1.0.1j source tree 2012-05-04 23:35 libssh <--- "vanilla" libssh 0.5.5 source tree c:\gnu> You can obtain the libraries from http://clanmills.com/files/exiv2libs.zip (20mb) I copy those to the directory c:\exiv2libs The script msvc2005/copylibs.bat will copy them from c:\exiv2libs to the correct location 11/05/2014 07:26 AM curl-7.39.0 12/07/2014 09:18 AM expat-2.1.0 12/17/2014 09:40 AM libssh-0.5.5 12/17/2014 09:38 AM openssl-1.0.1j 12/07/2014 09:18 AM zlib-1.2.7 The following directories are also in the archive for use by msvc2003 01/07/2015 11:11 AM expat-2.0.1 01/07/2015 11:10 AM zlib-1.2.3 The URLs from which to obtain zlib and expat are documented in exiv2\msvc2003\ReadMe.txt expat-2.1.0 is available from http://voxel.dl.sourceforge.net/sourceforge/expat/expat-2.1.0.tar.gz zlib-1.2.7 is available from http://zlib.net/zlib-1.2.7.tar.gz curl is available from http://curl.haxx.se/download.html openssh is available from https://www.openssl.org/source/ libssh is available from https://www.libssh.org/get-it/ 1.3 Open exiv2\msvc2005\exiv2.sln Projects are zlib, expat, xmpsdk, exiv2lib, exiv2, addmoddel etc... Build/Batch build... Select All, Build - 36 projects (zlib, expat, xmpsdk, exiv2lib, exiv2, addmoddel etc) x 2 Platforms (x64|Win32) x 4 Configurations (Debug|Release|DebugDLL|ReleaseDLL) = 38x2x4 = 304 builds. When building with webready, you add 5 libraries for a total of 344 builds. If you haven't installed the x64 compiler, don't select the 64 bit configurations! You may have to hand-edit the vcproj and sln files to hide the 64 bit information. See the notes about DevStudio Express for more information about this. Build time is 20 minutes on a 2.2GHz Duo Core and consumes 3.0 gBytes of disk space. Build time with webready is of the order of one hour as we add 5 libraries. (libcurl, libeay32, ssleay32, libssh, openssl) 1.4 Configuring build options (such as video and webready) The batch file configure.bat is used to reconfigure for various options. You will need a python3 interpreter. I personally use ActivePython 3.4.1 C:\cygwin64\home\rmills\gnu\exiv2\trunk\msvc2005>configure -h Usage: configure.py [options] Options: -h, --help show this help message and exit -A, --with-app build sample apps (false) -a, --without-app do not build apps -C, --with-curl enable curl -c, --without-curl disable curl -E, --with-expat enable expat (true) -e, --without-expat disable expat -O, --with-openssl enable openssl -o, --without-openssl disable openssl -S, --with-ssh enable ssh -s, --without-ssh disable ssh -T, --with-test build test programs (true) -t, --without-test do not build test progs -W, --enable-webready enable webready (false) -w, --disable-webready enable webready -V, --enable-video enable video (false) -v, --disable-video disable video -X, --enable-xmp enable xmp (true) -x, --disable-xmp disable xmp -Z, --with-zlib enable zlib/png (true) -z, --without-zlib disable zlib/png -d, --default default When you run configure.bat it creates a new solution exiv2_configure.sln configure.bat does not modify the solution or project files used by exiv2.sln Instead it creates a parallel set of projects files. For example exivprint\exifprint_configure.vcproj 1.5 Building with exiv2-webready.sln The solution exiv2-webready.sln was used during development before we created the configure.bat script to generate solution/project files We have decided to ship this build mechanism for v0.25 only. Building the complete library with webready support requires building 5 additional libraries. This is time consuming. The build time increases from 5 to 20 minutes. By default, you will not build with webready. To build with webready: 1 copy include\exiv2\exv_msvc-webready.h include\exiv2\exv_msvc.h 2 open msvc2005\exiv2-webready.vcproj 1.6 What is built The DLL builds use the DLL version of the C runtime libraries The Debug|Release builds use static C runtime libraries This is discussed in exiv2\msvc2003\ReadMe.txt 1.7 Express editions of DevStudio (or 32 bit only builds, or 64 bit only builds) Some Express Editions do not provide a 64 bit compiler. You can build 32 bit libraries with DevStudio Express (with a little effort) Before loading the project, use the python script setbuild.py to select Win32: c:\gnu\exiv2\msvc2005>setbuild.py Win32 setbuild.py is none destructive. If you have a 64 bit compiler, you can: 1) Restore the build environment with: setbuild.py all 2) Select x64 bit builds only with: setbuild.py x64 If you don't have python available (it's a free download from ActiveState.com), you can "doctor" to project files manually to remove mentiosn of X64 using an editor: Cleanup your tree and edit the files. cd exiv2\msvc2005 call cleaner.bat for /r %f in (*.vcproj) do notepad %f for /r %f in (*.sln) do notepad %f I personally don't recommend notepad for any purpose at all. I use TextPad http://www.textpad.com/ Notepad++ is also good. DevStudio Express 2010 does not have the "Batch Build" feature. Select "exiv2" right-click "Set as Startup Project" and Select Platform="Win32" Configuration="Debug|DebugDLL|Release|ReleaseDLL" Build. Build the Configurations you need. Build time is about 2 minutes/Configuration. To remove the "memory" of old configurations: setbuild.py reset 2 Design expat and zlib1.2.5 (and earlier) do not provide 64 bit builds for DevStudio. The projects provided for zlib1.2.7 support 64 bit builds, however it didn't work cleanly for me. They use different projects for VC9 and VC10. They don't provide support for VC8 or 11beta. I have created build environments for zlib and expat within exiv2/msvc2005. I don't include the source code for zlib or expat - only the build environment. You are expected to install the "vanilla" expat and zlib libraries in a directory at the same level as exiv2. I personally always build in the directory c:\gnu, however the name/location/spaces of the build directory are all irrelevant, it's only the relative position of expat-2.1.0 and zlib-1.2.7 that matter. The names expat-2.1.0 and zlib-1.2.7 are fixed (and used by the .vcproj files) zlib and expat exiv2\msvc2005\zlib\zlib.vcproj DevStudio files ..\..\..\zlib Source code exiv2\msvc2005\expat\expat.vcproj DevStudio files ..\..\..\expat Source code 2.1 Architecture There are directories for every component: The libraries: zlib, expat, xmpsdk, exiv2lib Applications: exiv2.exe Sample Apps: exifprint.exe, addmoddel.exe and many more (used by test suite) For each component, there are three build directories: exiv2lib\build intermediate results exiv2lib\Win32\{Debug|Release|DebugDLL|ReleaseDLL} 32 bit builds exiv2lib\x64\{Debug|Release|DebugDLL|ReleaseDLL} 64 bit builds Final builds and include directories (for export to "foreign" projects) bin\{win32|x64}\Win32\{Debug|Release|DebugDLL|ReleaseDLL} 2.2 Relationship with msvc2003 build environment msvc2005 is similar to msvc2003. However there are significant differences: 1) msvc2005 supports 64 bit and 32 bit builds 2) msvc2005 provides projects to build expat, zlib, curl, libssh and openssl 3) msvc2005 is designed to accomodate new versions of expat and zlib when they become available. 4) msvc2005 supports DevStudio 2005 and later (no support for 2003) 5) msvc2005 does not require you to build 'vanilla' expat and zlib projects in advance 6) msvc2005 does not support the organize application 7) msvc2005 supports building with zlib1.2.7 or 1.2.8 8) msvc2005 supports building with expat2.1.0 or expat2.0.1 msvc2003 will continue to be supported for 32 bit builds using DevStudio 2003/05/08, however there is no plan to enhance or develop msvc2003 going forward. 3 Batch builds and tests 3.1 buildall.bat This was intended to be a "throw away" kind of script and it's grown to be quite useful. You will have to run vcvars32.bat for the compiler you intend to use to ensure devenv is on your path. It doesn't know anything about building only x64 or only Win32. Change the script if you want something special. 3.2 Running the test suite You will need to install cygwin to run the test suite. This is a two stage process: Step1: Build exiv2 for cygwin and run the test suite Typical Unix type build: make config ./configure --disable-visibility export PKG_CONFIG_PATH=$PWD/config make clean ; make ; make samples ; make install ; cd test ; make test Step2: set the environment variable EXIV2_BINDIR appropriately and rerun make test export EXIV2_BINDIR= I find the following little bash loop very useful. You should test against all the directories in the msvc2005/bin directory: for d in $(find /c/gnu.2005/exiv2/msvc2005/bin \ -name exiv2.exe -exec dirname {} ";"); do export EXIV2_BINDIR=$d echo --------------------------------- echo ---- $d ---- echo --------------------------------- make test done Free gift: (you get what you pay for) The script testMSVC.sh to runs this loop for you. The script verifyMSVC.sh validates the output of testMSVC.sh I've added those for my convenience and I hope you'll find them useful. And to pass the time (the test suite takes about an hour to run) I recommend running listdlls exiv2.exe occasionally during testing to be confident that the test suite is running the MSVC built versions of exiv2 and libraries. From cygwin: while sleep 1 do; listdlls exiv2.exe ; done or while sleep 10 do ; listdlls exiv2.exe | grep exiv2.exe ; done Note: Cygwin currently ships diff-utils 2.9.2 which treats binary files differently from 2.8.7 (on Mac) and 3.2 (on Ubuntu 12.04). For this reason, the executable (and support dlls) for GNU diff.exe 2.8.7 is provided in msvc2003/diff.exe. The test suite has been "doctored" on cygwin to modify the path appropriately to use this preferred version of diff.exe. 4 Building Applications to use Exiv2 4.1 Recommended work-flow to create applications a) add your code code to a sample applications (such as exifprint.exe) get the code building and running from there. our program will be called exifprint.exe you will be very confident that your code works! b) copy /msvc2005/exifprint to /msvc2005/yourprojectname get yourprojectname.exe to build and run. By using /msvc2005/exifprint as a template,: i) you can build 32/64 dll/static debug/release "out of the box". ii) your include path, dependent libraries and link order are already set. Revert your changes to /msvc2005/exifprint c) move /msvc2005/yourprojectname in your buildtree. d) It's a good idea for your buildtree to reference /msvc2005 When you reference , you can update occasionally and rebuild with little effort. Of course, there are always other ways to achieve your goals in software. You may prefer to copy the generated libs and dlls in bin/$platform/$configuration to your build tree. When you do this, you will have to explicitly link the libraries you have copied. 4.2 Compiler Include Paths and Options The correct include paths and compiler options are revealed in Visual Studio, by examining exifprint/Properties/C++/Command Line: /Od /I "C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\../include" /I "C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\../include/exiv2" /I "C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\../xmpsdk/include" /I "C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\../../expat/lib" /I "C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\../../zlib" /I "C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\/../../curl/include" /I "C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\/../../libssh/include" /I "C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\xssl/Win32/Release/include" /D "WIN32" /D "_NDEBUG" /D "_CONSOLE" /D "BUILD_GETOPT" /D "EXV_HAVE_DLL" /D "_MBCS" /Gm /EHsc /MD /Fo"build/x64/ReleaseDLL\\" /Fd"build/x64/ReleaseDLL\vc80.pdb" /FR"build/x64/ReleaseDLL\\" /W3 /nologo /c /Zi /TP /errorReport:promptThe correct library link order 4.3 Library Link Order The correct order is revealed in Visual Studio, by examining exifprint/Properties/Linker/Command-Line: /OUT:"C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\bin/x64/ReleaseDLL\exifprint.exe" /INCREMENTAL:NO /NOLOGO /MANIFEST /MANIFESTFILE:"build/x64/ReleaseDLL\exifprint.exe.intermediate.manifest" /SUBSYSTEM:CONSOLE /MACHINE:X64 /ERRORREPORT:PROMPT kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib "..\bin\x64\releasedll\libexiv2.lib" "..\bin\x64\releasedll\xmpsdk.lib" "..\bin\x64\releasedll\libexpat.lib" "..\bin\x64\releasedll\zlib1.lib" I don't believe you have to explicitly link msvc{r|p}XXX as they are linked automatically by the version of Visual Studio. 800=Visual Studio 2005, 900=2008, 100=2010, 110=2012, 120=2013. 4.4 tools/bin/depends32.exe and depends64.exe C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\bin\x64\releasedll>depends64 exiv2.exe libexpat.dll PSAPI.DLL NSI.dll API-MS-Win-Core-DelayLoad-L1-1-0.dll API-MS-Win-Core-Interlocked-L1-1-0.dll RPCRT4.dll API-MS-Win-Core-LocalRegistry-L1-1-0.dll msvcrt.dll WS2_32.dll zlib1.dll API-MS-Win-Security-Base-L1-1-0.dll API-MS-Win-Core-Profile-L1-1-0.dll API-MS-Win-Core-Util-L1-1-0.dll API-MS-Win-Core-Fibers-L1-1-0.dll API-MS-Win-Core-ErrorHandling-L1-1-0.dll API-MS-Win-Core-Debug-L1-1-0.dll API-MS-Win-Core-String-L1-1-0.dll API-MS-Win-Core-ProcessEnvironment-L1-1-0.dll API-MS-Win-Core-Localization-L1-1-0.dll API-MS-Win-Core-SysInfo-L1-1-0.dll API-MS-Win-Core-Misc-L1-1-0.dll API-MS-Win-Core-NamedPipe-L1-1-0.dll API-MS-Win-Core-LibraryLoader-L1-1-0.dll API-MS-Win-Core-ThreadPool-L1-1-0.dll API-MS-Win-Core-IO-L1-1-0.dll API-MS-Win-Core-File-L1-1-0.dll API-MS-Win-Core-Synch-L1-1-0.dll API-MS-Win-Core-Handle-L1-1-0.dll API-MS-Win-Core-Memory-L1-1-0.dll API-MS-Win-Core-Heap-L1-1-0.dll API-MS-Win-Core-ProcessThreads-L1-1-0.dll KERNELBASE.dll ntdll.dll API-MS-Win-Core-RtlSupport-L1-1-0.dll KERNEL32.dll libexiv2.dll Not found: MSVCR80.dll Not found: MSVCP80.dll exiv2.exe Not found: MSVCR80.dll Not found: MSVCP80.dll C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\bin\x64\releasedll> 4.5 exiv2.exe --verbose --version You can inspect build information using exiv2 -v -V (verbose version): C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\bin\x64\releasedll>exiv2 -v -V exiv2 0.25 001900 (64 bit build) Copyright (C) 2004-2015 Andreas Huggel. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA exiv2=0.25.0 platform=windows compiler=MSVC bits=64 dll=1 debug=0 version=8.00 date=Feb 1 2015 time=21:45:35 svn=3592 ssh=0 curl==0 id=$Id: version.cpp 3564 2015-01-11 21:38:40Z robinwmills $ executable=C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\bin\x64\releasedll\exiv2.exe library=C:\Windows\SYSTEM32\ntdll.dll library=C:\Windows\system32\kernel32.dll library=C:\Windows\system32\KERNELBASE.dll library=C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\bin\x64\releasedll\libexiv2.dll library=C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\bin\x64\releasedll\zlib1.dll library=C:\Windows\WinSxS\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_88e41e092fab0294\MSVCR80.dl library=C:\Windows\system32\msvcrt.dll library=C:\Windows\system32\WS2_32.dll library=C:\Windows\system32\RPCRT4.dll library=C:\Windows\system32\NSI.dll library=C:\Windows\WinSxS\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_88e41e092fab0294\MSVCP80.dl library=C:\Windows\system32\PSAPI.DLL library=C:\cygwin64\home\rmills\gnu\exiv2\video-write\msvc2005\bin\x64\releasedll\libexpat.dll have_regex=0 have_strerror_r=0 have_gmtime_r=0 have_inttypes=0 have_libintl=0 have_lensdata=1 have_iconv=0 have_memory=0 have_memset=0 have_lstat=0 have_stdbool=0 have_stdint=0 have_stdlib=0 have_strlib=0 have_strchr=0 have_strerror=0 have_strerror_r=0 have_strings_h=0 have_strtol=0 have_mmap=0 have_munmap=0 have_sys_stat=0 have_timegm=0 have_unistd_h=0 have_sys_mman=0 have_libz=1 have_xmptoolkit=1 have_bool=0 have_strings=0 have_sys_types=0 have_unistd=0 The keys library=path are based on the actual libraries loaded in memory by exiv2.exe The output of exiv2.exe -v -V is used by the test suite to verify that we are using the correct libraries and not some other bandits which happen to reside on the host machine. 5 Acknowledgement of prior work This work is based on work by the following people: zlib 64 bit build Copyright (C) 2000-2004 Simon-Pierre Cadieux. Copyright (C) 2004 Cosmin Truta. For conditions of distribution and use, see copyright notice in zlib.h. And was obtained from: http://www.achacha.org/vc2008_zlib/ expat 64 bit build http://www.start64.com/index.php?option=com_content&task=view&id=3461&Itemid=114 I recognise and respect the work performed by those individuals. 5.1 Differences between inherited projects and the exiv2 projects There is no compatiblity. # That's all Folks! ## exiv2-0.25/msvc2005/expat/0000775000175000017500000000000012541547727014731 5ustar andreasandreasexiv2-0.25/msvc2005/expat/expat.vcproj0000664000175000017500000003373312403423707017274 0ustar andreasandreas exiv2-0.25/msvc2005/mmap-test/0000775000175000017500000000000012541547730015511 5ustar andreasandreasexiv2-0.25/msvc2005/mmap-test/mmap-test.vcproj0000664000175000017500000003265112517642015020647 0ustar andreasandreas exiv2-0.25/msvc2005/werror-test/0000775000175000017500000000000012541547730016077 5ustar andreasandreasexiv2-0.25/msvc2005/werror-test/werror-test.vcproj0000664000175000017500000003265712517642015021631 0ustar andreasandreas exiv2-0.25/msvc2005/xmpparse/0000775000175000017500000000000012541547730015441 5ustar andreasandreasexiv2-0.25/msvc2005/xmpparse/xmpparse.vcproj0000664000175000017500000003264612517641614020537 0ustar andreasandreas exiv2-0.25/msvc2005/easyaccess-test/0000775000175000017500000000000012541547730016702 5ustar andreasandreasexiv2-0.25/msvc2005/easyaccess-test/easyaccess-test.vcproj0000664000175000017500000003267312517642015023235 0ustar andreasandreas exiv2-0.25/msvc2005/taglist/0000775000175000017500000000000012541547731015252 5ustar andreasandreasexiv2-0.25/msvc2005/taglist/taglist.vcproj0000664000175000017500000003264312517642015020150 0ustar andreasandreas exiv2-0.25/msvc2005/tools/0000775000175000017500000000000012541547730014742 5ustar andreasandreasexiv2-0.25/msvc2005/tools/rm/0000775000175000017500000000000012541547730015360 5ustar andreasandreasexiv2-0.25/msvc2005/tools/rm/ReadMe.txt0000664000175000017500000000111612444565654017264 0ustar andreasandreasThis is a native version of the unix command rm It can delete files and trees rm.exe -rf [directory|file] + I've added this for use by the script jenkins_build.bat We have to remove the support libraries which are copied during the build I gave up on rmdir and del becase the file openssl/NUL isn't removed a causes havoc. http://hg.mozilla.org/users/jford_mozilla.com/jhford-native-rm/file/84a240176b93/rm.cpp Code is built call vcvars32.bat nmake rm.exec I provide the 32-bit version for use on Win32 and x64 platforms in tools/bin/rm.exe Robin Mills robin@clanmills.com 2014-12-18 exiv2-0.25/msvc2005/tools/rm/rm.cpp0000664000175000017500000002450412467000312016472 0ustar andreasandreas/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ /* Written in 2011, 2012 by John Ford * * This program is a replacement for the Posix 'rm' utility implemented as * a native Windows win32 application. Build using accompanying Makefile * make * or by running * cl rm.cpp */ #include #include #include #include /* TODO: * -should the wow64fsredirection stuff be applicable to the whole app * or only per empty_directory invocation? * -support simple unix-style paths (i.e. map /c/dir1/file1 to c:\\dir1\\file1) * -return non-zero if no files are deleted and -f isn't specified * -multi-thread deletions */ /* This function takes an errNum, filename of the file being operated on and * a stdio file handle to the file where output should be printed */ void print_error(DWORD errNum, wchar_t* filename, FILE* fhandle){ wchar_t* msg; FormatMessageW( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errNum, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPWSTR) &msg, 0, NULL); fwprintf(fhandle, L"\"%ws\" - %ws", filename, msg); } /* Remove an empty directory. This will fail if there are still files or * other directories in the directory specified by name */ BOOL del_directory(wchar_t* name, BOOL force, BOOL verbose, BOOL quiet){ BOOL rv = TRUE; if (verbose) { fwprintf(stdout, L"deleting directory \"%ws\"\n", name); } BOOL delStatus = RemoveDirectoryW(name); if (!delStatus) { rv = FALSE; if (!quiet) { print_error(GetLastError(), name, stderr); } } if (verbose) { fwprintf(stdout, L"deleted directory \"%ws\"\n", name); } return rv; } /* Remove a file. If force is true, read only and system file system * attributes are cleared before deleting the file */ BOOL del_file(wchar_t* name, BOOL force, BOOL verbose, BOOL quiet){ BOOL rv = TRUE; if (force) { DWORD fileAttr = GetFileAttributesW(name); if (fileAttr == INVALID_FILE_ATTRIBUTES) { if (!quiet) { fwprintf(stderr, L"invalid file attributes for \"%ws\"\n", name); } // Hmm, should I still try to delete the file? return FALSE; } if (fileAttr & FILE_ATTRIBUTE_DIRECTORY) { if (!quiet) { fwprintf(stderr, L"%ws is a directory, not a file\n", name); rv = FALSE; } } // Should really only have one SetFileAttributes if (fileAttr & FILE_ATTRIBUTE_SYSTEM || fileAttr & FILE_ATTRIBUTE_READONLY) { DWORD toSet = FILE_ATTRIBUTE_NORMAL; if (verbose) { wprintf(L"changing \"%ws\" file attributes to be removable\n", name); } DWORD setAttrStatus = SetFileAttributesW(name, toSet); if (!setAttrStatus){ rv = FALSE; if (!quiet) { print_error(setAttrStatus, name, stderr); } } } } if (verbose) { fwprintf(stdout, L"deleting \"%ws\"\n", name); } BOOL delStatus = DeleteFileW(name); if (!delStatus) { rv = FALSE; if (!quiet) print_error(GetLastError(), name, stderr); } else if (verbose) { fwprintf(stdout, L"deleted \"%ws\"\n", name); } return rv; } /* This function will recursively remove all files in a directory * then the directory itself. */ BOOL empty_directory(wchar_t* name, BOOL force, BOOL verbose, BOOL quiet){ BOOL rv = TRUE; DWORD ffStatus; WIN32_FIND_DATAW findFileData; // TODO: Don't waste so much memory! wchar_t dir[MAX_PATH]; HANDLE hFind = INVALID_HANDLE_VALUE; // Used while disabling Wow64 FS Redirection //Unused for now PVOID* wow64value = NULL; /* without a trailing \*, the listing for "c:\windows" would show info * for "c:\windows", not files *inside* of "c:\windows" */ StringCchCopyW(dir, MAX_PATH, name); // TODO: Check return StringCchCatW(dir, MAX_PATH, L"\\*"); /* We don't know what's going on, but Wow64 redirection * is not working quite right. Since nothing we have should * be in a location that needs Wow64, we should be fine to * ignore it */ //Wow64DisableWow64FsRedirection(wow64value); hFind = FindFirstFileW(dir, &findFileData); if (hFind == INVALID_HANDLE_VALUE) { rv = FALSE; if (!quiet) { print_error(GetLastError(), name, stderr); } return rv; } do { wchar_t fullName[MAX_PATH]; StringCchCopyW(fullName, MAX_PATH, name); StringCchCatW(fullName, MAX_PATH, L"\\"); StringCchCatW(fullName, MAX_PATH, findFileData.cFileName); if (findFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) { if (wcscmp(L".", findFileData.cFileName) != 0 && wcscmp(L"..", findFileData.cFileName) != 0){ if (!empty_directory(fullName, force, verbose, quiet)){ rv = FALSE; } } } else { if (!del_file(fullName, force, verbose, quiet)) { rv = FALSE; } } } while (FindNextFileW(hFind, &findFileData) != 0); /* if (!Wow64RevertWow64FsRedirection(wow64value)) { * if (!quiet) { * fwprintf(stderr, L"Error restoring Wow64 FS Redirection\n"); * } * return FALSE; * } */ ffStatus = GetLastError(); if (ffStatus != ERROR_NO_MORE_FILES) { print_error(ffStatus, findFileData.cFileName, stderr); rv = FALSE; } FindClose(hFind); del_directory(name, force, verbose, quiet); return rv; } /* This function is used to delete a file or directory specified by the * 'name' variable. The type of 'name' is figured out. If the recurse * option is TRUE, directories will be recursively emptied then deleted. * If force is TRUE, file attributes will be changed to allow the program * to delete the file. The verbose option will cause non-fatal error messages * to print to stderr. The quiet option will suppress all but fatal * error messages */ BOOL del(wchar_t* name, BOOL recurse, BOOL force, BOOL verbose, BOOL quiet) { BOOL rv = TRUE; DWORD fileAttr = GetFileAttributesW(name); if (fileAttr == INVALID_FILE_ATTRIBUTES){ rv = FALSE; if (!quiet) { fwprintf(stderr, L"Invalid file attributes for \"%ws\"\n", name); } } else if (fileAttr & FILE_ATTRIBUTE_DIRECTORY) { if (recurse){ if (!empty_directory(name, force, verbose, quiet)){ rv = FALSE; } } else { if (!del_directory(name, force, verbose, quiet)){ rv = FALSE; } } } else { if (!del_file(name, force, verbose, quiet)){ rv = FALSE; } } return rv; } /* This struct is used by the command line parser */ struct node{ node *next; wchar_t* data; }; int wmain(int argc, wchar_t** argv) { int exitCode = 0; int i, j; BOOL verbose = FALSE, force = FALSE, quiet = FALSE, recurse = FALSE; BOOL onlyFiles = FALSE; struct node *previous = NULL; struct node *start = NULL; for (i = 1 ; i < argc ; i++) { if (wcscmp(argv[i], L"--") == 0) { /* Once we've seen '--' as an arg in the argv, * we want to interpret everything after that point * as a file */ onlyFiles = TRUE; } else if (!onlyFiles && argv[i][0] == L'-') { /* Before the -- appears (if ever), we assume that all * args starting with - are options. If I wanted to do * full words, I would have a check for the second char * being another - in a case and use that case and wsccmp * to set the options. */ for (j = 1 ; j < wcslen(argv[i]) ; j++) { switch(argv[i][j]){ case L'v': verbose = TRUE; break; case L'q': quiet = TRUE; break; case L'r': recurse = TRUE; break; case L'f': force = TRUE; break; default: fwprintf(stderr, L"The option -%wc is not valid\n", argv[i][j]); exitCode = 1; } } } else { /* If there are no more options, or we are forcing the rest of the * args to be files, we add them to the linked list. This list stores * args in reverse order to what is on the command line. */ struct node *nextNode = (struct node *) malloc(sizeof(struct node)); nextNode->data = argv[i]; nextNode->next = previous; previous = nextNode; start = nextNode; } } if (verbose && quiet) { fwprintf(stderr, L"The -q (quiet) and -v (verbose) options are incompatible\n"); exitCode = 1; } /* If everything is good, its time to start deleting the files. * We do this by traversing the linked list, deleting the current * node then deleting the current node before moving to the next */ if (!exitCode) { struct node* current = start; while (current != NULL){ BOOL result = del(current->data, recurse, force, verbose, quiet); if (!result) { exitCode = 1; } struct node* cleanup = current; current = current->next; free(cleanup); } } return exitCode; } exiv2-0.25/msvc2005/tools/depends/0000775000175000017500000000000012541547730016364 5ustar andreasandreasexiv2-0.25/msvc2005/tools/depends/targetver.h0000664000175000017500000000137511510227772020542 0ustar andreasandreas#pragma once // The following macros define the minimum required platform. The minimum required platform // is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run // your application. The macros work by enabling all features available on platform versions up to and // including the version specified. // Modify the following defines if you have to target a platform prior to the ones specified below. // Refer to MSDN for the latest info on corresponding values for different platforms. #ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista. #define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows. #endif exiv2-0.25/msvc2005/tools/depends/stdafx.cpp0000664000175000017500000000044711510227772020362 0ustar andreasandreas// stdafx.cpp : source file that includes just the standard includes // Depends2.pch will be the pre-compiled header // stdafx.obj will contain the pre-compiled type information #include "stdafx.h" // TODO: reference any additional headers you need in STDAFX.H // and not in this file exiv2-0.25/msvc2005/tools/depends/src/0000775000175000017500000000000012541547730017153 5ustar andreasandreasexiv2-0.25/msvc2005/tools/depends/src/PEEXE.CPP0000664000175000017500000000572111510227772020366 0ustar andreasandreas//========================================== // Matt Pietrek // Microsoft Systems Journal, Feb 1997 // FILE: PEEXE.CPP //========================================== #include #include #pragma hdrstop #include "peexe.h" PE_EXE::PE_EXE( PSTR pszFileName ) : EXE_FILE( pszFileName ) { m_pNtHdr = 0; if ( FALSE == EXE_FILE::IsValid() ) return; // It's an EXE, but is it a *PE* file??? If not, set code and bail if ( GetExeType() != exeType_PE ) { m_errorType = errEXE_FILE_INVALID_FORMAT; return; } m_pNtHdr = MakePtr(PIMAGE_NT_HEADERS,GetBase(),GetSecondaryHeaderOffset()); } DWORD PE_EXE::GetDataDirectoryEntryRVA( DWORD id ) { // Given a IMAGE_DIRECTORY_ENTRY_XXX value (see WINNT.H), retrive the // RVA stored in the corresponding slot if ( id >= IMAGE_NUMBEROF_DIRECTORY_ENTRIES ) return (DWORD)-1; return m_pNtHdr->OptionalHeader.DataDirectory[id].VirtualAddress; } PVOID PE_EXE::GetDataDirectoryEntryPointer( DWORD id ) { // Given a IMAGE_DIRECTORY_ENTRY_XXX value (see WINNT.H), return a pointer // to memory that corresponds to the RVA in the specified slot. if ( id >= IMAGE_NUMBEROF_DIRECTORY_ENTRIES ) return (PVOID)-1; DWORD va = m_pNtHdr->OptionalHeader.DataDirectory[id].VirtualAddress; if ( !va ) // Return 0 if the RVA is 0 return 0; return GetReadablePointerFromRVA( va ); } DWORD PE_EXE::GetDataDirectoryEntrySize( DWORD id ) { // Given a IMAGE_DIRECTORY_ENTRY_XXX value (see WINNT.H), retrive the // size value stored in the corresponding slot if ( id >= IMAGE_NUMBEROF_DIRECTORY_ENTRIES ) return (DWORD)-1; return m_pNtHdr->OptionalHeader.DataDirectory[id].Size; } PVOID PE_EXE::GetReadablePointerFromRVA( DWORD rva ) { // Given an RVA, translate it into a pointer within our linear memory // mapping for the executable. DWORD fileOffset = RVAToFileOffset( rva ); if ( (DWORD)-1 == fileOffset ) return 0; return MakePtr( PVOID, GetBase(), fileOffset ); } DWORD PE_EXE::RVAToFileOffset( DWORD rva ) { // Given an RVA, figure out which section encompasses it. Next, using // the PointerToRawData field for the found section, return an actual // file offset that corresponds to the RVA PIMAGE_SECTION_HEADER pSectHdr = IMAGE_FIRST_SECTION( m_pNtHdr ); for ( unsigned i = 0; i < GetNumberOfSections(); i++, pSectHdr++ ) { DWORD cbMaxOnDisk = min( pSectHdr->Misc.VirtualSize, pSectHdr->SizeOfRawData ); DWORD startSectRVA = pSectHdr->VirtualAddress; DWORD endSectRVA = startSectRVA + cbMaxOnDisk; if ( (rva >= startSectRVA) && (rva < endSectRVA) ) return pSectHdr->PointerToRawData + (rva - startSectRVA); } return (DWORD)-1; // RVA not found in the section table... Ooops! } exiv2-0.25/msvc2005/tools/depends/src/MEMORYMAPPEDFILE.CPP0000664000175000017500000000431611510227772022056 0ustar andreasandreas//========================================== // Matt Pietrek // Microsoft Systems Journal, Feb 1997 // FILE: MEMORYMPAPPEDFILE.CPP //========================================== #include #pragma hdrstop #include "memorymappedfile.h" MEMORY_MAPPED_FILE::MEMORY_MAPPED_FILE( PSTR pszFileName ) { // // Given a filename, the constructor opens a file handle, creates a file // mapping, and maps the entire file into memory. // m_hFile = INVALID_HANDLE_VALUE; m_hFileMapping = 0; m_pMemoryMappedFileBase = 0; m_cbFile = 0; m_errCode = errMMF_FileOpen; // Initial error code: not found // First get a file handle m_hFile = CreateFile(pszFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE)0); if ( m_hFile == INVALID_HANDLE_VALUE ) { m_errCode = errMMF_FileOpen; return; } m_cbFile = ::GetFileSize( m_hFile, 0 ); // Now, create a file mapping m_hFileMapping = CreateFileMapping(m_hFile,NULL, PAGE_READONLY, 0, 0,NULL); if ( m_hFileMapping == 0 ) { // Oops. Something went wrong. Clean up. CloseHandle(m_hFile); m_hFile = INVALID_HANDLE_VALUE; m_errCode = errMMF_FileMapping; return; } m_pMemoryMappedFileBase = (PCHAR)MapViewOfFile( m_hFileMapping, FILE_MAP_READ, 0, 0, 0); if ( m_pMemoryMappedFileBase == 0 ) { // Oops. Something went wrong. Clean up. CloseHandle(m_hFileMapping); m_hFileMapping = 0; CloseHandle(m_hFile); m_hFile = INVALID_HANDLE_VALUE; m_errCode = errMMF_MapView; return; } m_errCode = errMMF_NoError; } MEMORY_MAPPED_FILE::~MEMORY_MAPPED_FILE(void) { // Clean up everything that was created by the constructor if ( m_pMemoryMappedFileBase ) UnmapViewOfFile( m_pMemoryMappedFileBase ); if ( m_hFileMapping ) CloseHandle( m_hFileMapping ); if ( m_hFile != INVALID_HANDLE_VALUE ) CloseHandle( m_hFile ); m_errCode = errMMF_FileOpen; } exiv2-0.25/msvc2005/tools/depends/src/modulefileinfo.cpp0000664000175000017500000000242111510227772022653 0ustar andreasandreas//========================================== // Matt Pietrek // Microsoft Systems Journal, Feb 1997 // FILE: MODULEFILEINFO.CPP //========================================== #include #include "modulefileinfo.h" MODULE_FILE_INFO::MODULE_FILE_INFO( PSTR pszFileName ) { m_pNext = 0; m_pNotFoundNext = 0; // Find the last '\\' to obtain a pointer to just the base filename part PSTR pszBaseName = strrchr( pszFileName, '\\' ); if ( pszBaseName ) // We found a path, so advance to the base filename pszBaseName++; else pszBaseName = pszFileName; // No path. Use the same name for both // Initialize the new MODULE_FILE_INFO, and stick it at the head // of the list. lstrcpyn( m_szFullName, pszFileName, sizeof(m_szFullName) ); lstrcpyn( m_szBaseName, pszBaseName, sizeof(m_szBaseName) ); } void MODULE_FILE_INFO::AddNotFoundModule( PSTR pszFileName ) { PMODULE_FILE_INFO pNew = new MODULE_FILE_INFO( pszFileName ); pNew->m_pNotFoundNext = m_pNotFoundNext; m_pNotFoundNext = pNew; } MODULE_FILE_INFO * MODULE_FILE_INFO::GetNextNotFoundModule( PMODULE_FILE_INFO p) { PMODULE_FILE_INFO pNext = p ? p->m_pNotFoundNext : m_pNotFoundNext; return pNext; } exiv2-0.25/msvc2005/tools/depends/src/DEPENDENCYLIST.CPP0000664000175000017500000001324611510227772021633 0ustar andreasandreas//========================================== // Matt Pietrek // Microsoft Systems Journal, Feb 1997 // FILE: DEPENDENCYLIST.CPP //========================================== #include #include #pragma hdrstop #include "peexe.h" #include "dependencylist.h" MODULE_DEPENDENCY_LIST::MODULE_DEPENDENCY_LIST( PSTR pszFileName ) { m_errorType = errMDL_GENERAL_FAILURE; m_cModules = 0; m_pList = 0; // Make a copy of the path that we can modify to get just the path portion PSTR pszJustPath = _strdup( pszFileName ); if ( !pszJustPath ) return; BOOL fHasPath = FALSE; PSTR pszEnd = strrchr( pszJustPath, '\\' ); if ( pszEnd ) { *pszEnd = 0; /// Strip off the filename fHasPath = TRUE; } // // If a path was part of the input filename, save the current directory, // then switch to the new directory. // char szOriginalPath[MAX_PATH]; if ( fHasPath ) { // This doesn't take into account "App_Paths"! GetCurrentDirectory(MAX_PATH, szOriginalPath); // Save original dir SetCurrentDirectory( pszJustPath ); // Switch to app's dir } // // recursively build the module list // m_errorType = AddModule( pszFileName ); if ( fHasPath ) // Set things back to the way they were SetCurrentDirectory( szOriginalPath ); free( pszJustPath ); // Free the copy of the path that we allocated } MODULE_DEPENDENCY_LIST::~MODULE_DEPENDENCY_LIST( ) { PMODULE_FILE_INFO pTemp; // Delete each MODULE_FILE_INFO structures in the regular linked list pTemp = m_pList; while ( pTemp ) { pTemp = m_pList->m_pNext; // Before we delete the module, delete each MODULE_FILE_INFO // structures in the not found list PMODULE_FILE_INFO pNotFound = m_pList->m_pNotFoundNext; while ( pNotFound ) { pNotFound = m_pList->m_pNotFoundNext->m_pNotFoundNext; delete m_pList->m_pNotFoundNext; m_pList->m_pNotFoundNext = pNotFound; } // Now it's OK to delete the module delete m_pList; m_pList = pTemp; m_cModules--; } m_pList = 0; } PMODULE_FILE_INFO MODULE_DEPENDENCY_LIST::GetNextModule( PMODULE_FILE_INFO p ) { // Returns the next module in the linked list of MODULE_FILE_INFO's return p ? p->m_pNext : m_pList; } // Given the name of a file, find the MODULE_FILE_INFO structure that // represents it. The fFullName parameter specifies whether the full path // names or just the base file names will be compared. PMODULE_FILE_INFO MODULE_DEPENDENCY_LIST::LookupModule( PSTR pszFileName, BOOL fFullName ) { PMODULE_FILE_INFO p = m_pList; // Start at the list head while ( p ) // While there's still entries in the list... { PSTR pszCompName = fFullName ? p->m_szFullName : p->m_szBaseName; if ( 0 == lstrcmpi( pszFileName, pszCompName ) ) return p; p = p->m_pNext; } return 0; } PSTR MODULE_DEPENDENCY_LIST::GetErrorString( void ) { switch ( m_errorType ) { case errMDL_NO_ERROR: return "No error"; case errMDL_FILE_NOT_FOUND: return "File not found"; case errMDL_NOT_PE_FILE: return "Not a PE file"; case errMDL_GENERAL_FAILURE:return "General failure"; default: return ""; } } // Adds a modules to the MODULE_FILE_INFO list. If the module imports other // modules, this routine recurses to add them, and check their imports. errModuleDependencyList MODULE_DEPENDENCY_LIST::AddModule( PSTR pszFileName ) { PE_EXE peFile( pszFileName ); // Get easy access to the executable if ( FALSE == peFile.IsValid() ) // A valid PE file??? return (errModuleDependencyList)peFile.GetErrorType(); PMODULE_FILE_INFO pNew = new MODULE_FILE_INFO( pszFileName ); if ( !pNew ) return errMDL_GENERAL_FAILURE; pNew->m_pNext = m_pList; m_pList = pNew; m_cModules++; // // Now see if this module imports any other modules. If so, we need // to recurse and add them as well. // if (0 == peFile.GetDataDirectoryEntrySize( IMAGE_DIRECTORY_ENTRY_IMPORT )) return errMDL_NO_ERROR; // Make a pointer to the imports table PIMAGE_IMPORT_DESCRIPTOR pImportDir; pImportDir = (PIMAGE_IMPORT_DESCRIPTOR) peFile.GetDataDirectoryEntryPointer(IMAGE_DIRECTORY_ENTRY_IMPORT); if ( !pImportDir ) return errMDL_NO_ERROR; // While there are still non-null IMAGE_IMPORT_DESCRIPTORs... while ( pImportDir->Name ) { // Get a pointer to the imported module's base name PSTR pszBaseName; pszBaseName = (PSTR)peFile.GetReadablePointerFromRVA(pImportDir->Name); if ( !pszBaseName ) break; // Check to see if it's already in our list. Don't add again if so. if ( 0 == LookupModule( pszBaseName, FALSE ) ) { // Search path supposedly has the same searching algorithm as // the the Win32 loader... char szPath[MAX_PATH]; PSTR pszDontCare; if ( SearchPath(0, pszBaseName, 0, MAX_PATH, szPath, &pszDontCare)) AddModule( szPath ); else pNew->AddNotFoundModule( pszBaseName ); } pImportDir++; // Advance to next imported module } return errMDL_NO_ERROR; } exiv2-0.25/msvc2005/tools/depends/src/depends.cpp0000664000175000017500000002206212467000312021266 0ustar andreasandreas//========================================== // Matt Pietrek // Microsoft Systems Journal, Feb 1997 // FILE: DEPENDS.CPP //========================================== #include #include #include "dependencylist.h" #include "peexe.h" //============================== Variables =============================== char g_szHelpSyntax[] = "DEPENDS - Matt Pietrek, 1997, for MSJ\n" "Syntax: DEPENDS [args] \n" " /v show version information\n" " /t show time & date information\n" " /p show full path\n" " /q quiet (don't report some MS dlls)\n" " /l show link time & date information\n\n"; char * g_pszPrimaryFile = 0; BOOL g_fShowDateTime = FALSE; BOOL g_fShowLinkDateTime = FALSE; BOOL g_fShowVersion = FALSE; BOOL g_fShowFullPath = FALSE; BOOL g_fQuiet = FALSE; //============================== Prototypes =============================== void DisplayFileInformation( PMODULE_FILE_INFO pModInfo,BOOL bQuiet ); void ShowVersionInfo( PSTR pszFileName ); BOOL TimeDateStampToFileTime( DWORD timeDateStamp, LPFILETIME pFileTime ); BOOL GetFileDateAsString( LPFILETIME pFt, char * pszDate, unsigned cbIn ); BOOL GetFileTimeAsString( LPFILETIME pFt, char * pszTime, unsigned cbIn, BOOL fSeconds ); //=================================== Code ================================ BOOL ProcessCommandLine( int argc, char * argv[] ) { BOOL fSawFileName = FALSE; if ( argc < 2 ) return FALSE; for ( int i = 1; i < argc; i++ ) { PSTR pArg = argv[i]; if ( (*pArg == '/') || (*pArg == '-') ) // Is it a switch char? { pArg++; // Point past switch char if ( 0 == lstrcmpi( pArg, "v" ) ) g_fShowVersion = TRUE; else if ( 0 == lstrcmpi( pArg, "t" ) ) g_fShowDateTime = TRUE; else if ( 0 == lstrcmpi( pArg, "l" ) ) g_fShowLinkDateTime = TRUE; else if ( 0 == lstrcmpi( pArg, "p" ) ) g_fShowFullPath = TRUE; else if ( 0 == lstrcmpi( pArg, "q" ) ) g_fQuiet = TRUE; else { printf( "Unrecognized option: \"%s\"\n", pArg ); return FALSE; } } else { if ( fSawFileName ) return FALSE; g_pszPrimaryFile = pArg; fSawFileName = TRUE; } } return fSawFileName; } LPCTSTR getModuleBase(PMODULE_FILE_INFO pModule,BOOL bQuiet) { LPCTSTR base = pModule->GetBaseName() ; LPCTSTR result = base ; if ( bQuiet ) { // keep quiet about these guys - they're build/compiler dependent if ( _strnicmp(base,"MSVCR",5) == 0 ) result = NULL ; if ( _strnicmp(base,"MSVCP",5) == 0 ) result = NULL ; if ( _strnicmp(base,"API-MS-Win",10) == 0 ) result = NULL ; } return result ; } int main( int argc, char * argv[] ) { if ( !ProcessCommandLine( argc, argv ) ) { printf( "%s %d bit build\n%s",argv[0],8*sizeof(void*),g_szHelpSyntax ); return 1; } MODULE_DEPENDENCY_LIST depends( g_pszPrimaryFile ); if ( !depends.IsValid() ) { printf( "Error: %s %s\n", g_pszPrimaryFile, depends.GetErrorString() ); return 1; } PMODULE_FILE_INFO pModInfo = 0; while ( pModInfo = depends.GetNextModule( pModInfo ) ) { DisplayFileInformation( pModInfo,g_fQuiet ); PMODULE_FILE_INFO pNotFound = 0; while ( pNotFound = pModInfo->GetNextNotFoundModule(pNotFound) ) { LPCTSTR base = getModuleBase(pNotFound,g_fQuiet) ; if ( base ) printf( " Not found: %s\n", base ); } } return 0; } void DisplayFileInformation( PMODULE_FILE_INFO pModInfo, BOOL bQuiet ) { LPCTSTR base = getModuleBase(pModInfo,bQuiet); if ( !base ) return ; printf( "%-14s", base) ; // ->GetBaseName() ); PSTR pszFullName = pModInfo->GetFullName(); if ( g_fShowDateTime ) { HFILE hFile = _lopen( pszFullName, OF_READ ); if ( HFILE_ERROR != hFile ) { FILETIME ft; if ( GetFileTime( (HANDLE)hFile, 0, 0, &ft ) ) { char szFileDate[32] = { 0 }; char szFileTime[32] = { 0 }; GetFileDateAsString(&ft, szFileDate, sizeof(szFileDate) ); GetFileTimeAsString(&ft, szFileTime, sizeof(szFileTime), TRUE); printf( "%s %s ", szFileDate, szFileTime ); } _lclose( hFile ); } } if ( g_fShowLinkDateTime ) { FILETIME ft; char szFileDate[32] = { 0 }; char szFileTime[32] = { 0 }; PE_EXE exe( pszFullName ); TimeDateStampToFileTime( exe.GetTimeDateStamp(), &ft ); GetFileDateAsString(&ft, szFileDate, sizeof(szFileDate) ); GetFileTimeAsString(&ft, szFileTime, sizeof(szFileTime), TRUE); printf( "%s %s ", szFileDate, szFileTime ); } if ( g_fShowFullPath ) printf( "(%s)", pszFullName ); printf( "\n" ); if ( g_fShowVersion ) ShowVersionInfo( pszFullName ); } void ShowVersionInfo( PSTR pszFileName ) { DWORD cbVerInfo, dummy; // How big is the version info? cbVerInfo = GetFileVersionInfoSize( pszFileName, &dummy ); if ( !cbVerInfo ) return; // Allocate space to hold the info PBYTE pVerInfo = new BYTE[cbVerInfo]; if ( !pVerInfo ) return; _try { if ( !GetFileVersionInfo(pszFileName, 0, cbVerInfo, pVerInfo) ) _leave; char * predefResStrings[] = { "CompanyName", "FileDescription", "FileVersion", "InternalName", "LegalCopyright", "OriginalFilename", "ProductName", "ProductVersion", 0 }; for ( unsigned i=0; predefResStrings[i]; i++ ) { char szQueryStr[ 0x100 ]; char szQueryStr2[0x100 ]; // Format the string with the 1200 codepage (Unicode) wsprintf( szQueryStr, "\\StringFileInfo\\%04X%04X\\%s", GetUserDefaultLangID(), 1200, predefResStrings[i] ); // Format the string with the 1252 codepage (Windows Multilingual) wsprintf( szQueryStr2, "\\StringFileInfo\\%04X%04X\\%s", GetUserDefaultLangID(), 1252, predefResStrings[i] ); // We may want to format a string with the "0000" codepage PSTR pszVerRetVal; UINT cbReturn; BOOL fFound; // Try first with the 1252 codepage fFound = VerQueryValue( pVerInfo, szQueryStr, (LPVOID *)&pszVerRetVal, &cbReturn ); if ( !fFound ) { // Hmm... 1252 wasn't found. Try the 1200 codepage fFound = VerQueryValue( pVerInfo, szQueryStr2, (LPVOID *)&pszVerRetVal, &cbReturn ); } if ( fFound ) printf( " %s %s\n", predefResStrings[i], pszVerRetVal ); } } _finally { delete []pVerInfo; } } // Convert a TimeDateStamp (i.e., # of seconds since 1/1/1970) into a FILETIME BOOL TimeDateStampToFileTime( DWORD timeDateStamp, LPFILETIME pFileTime ) { __int64 t1970 = 0x019DB1DED53E8000; // Magic... GMT... Don't ask.... __int64 timeStampIn100nsIncr = (__int64)timeDateStamp * 10000000; __int64 finalValue = t1970 + timeStampIn100nsIncr; memcpy( pFileTime, &finalValue, sizeof( finalValue ) ); return TRUE; } BOOL GetFileDateAsString( LPFILETIME pFt, char * pszDate, unsigned cbIn ) { FILETIME ftLocal; SYSTEMTIME st; if ( !FileTimeToLocalFileTime( pFt, &ftLocal ) ) return FALSE; if ( !FileTimeToSystemTime( &ftLocal, &st ) ) return FALSE; char szTemp[12]; wsprintf( szTemp, "%02u/%02u/%04u", st.wMonth, st.wDay, st.wYear ); lstrcpyn( pszDate, szTemp, cbIn ); return TRUE; } BOOL GetFileTimeAsString( LPFILETIME pFt, char * pszTime, unsigned cbIn, BOOL fSeconds ) { FILETIME ftLocal; SYSTEMTIME st; if ( !FileTimeToLocalFileTime( pFt, &ftLocal ) ) return FALSE; if ( !FileTimeToSystemTime( &ftLocal, &st ) ) return FALSE; char szTemp[12]; if ( fSeconds ) // Want seconds??? { wsprintf( szTemp, "%02u:%02u:%02u", st.wHour, st.wMinute, st.wSecond ); } else // No thanks.. Just hours and minutes { wsprintf( szTemp, "%02u:%02u", st.wHour, st.wMinute ); } lstrcpyn( pszTime, szTemp, cbIn ); return TRUE; } exiv2-0.25/msvc2005/tools/depends/src/EXEFILE.CPP0000664000175000017500000000464611510227772020606 0ustar andreasandreas//========================================== // Matt Pietrek // Microsoft Systems Journal, Feb 1997 // FILE: EXEFILE.CPP //========================================== #include #pragma hdrstop #include "exefile.h" EXE_FILE::EXE_FILE( PSTR pszFileName ) : MEMORY_MAPPED_FILE( pszFileName ) { m_errorType = errEXE_FILE_FILE_NOT_FOUND; m_secondaryHeaderOffset = -1; // A bogus value to catch bugs m_exeType = exeType_Invalid; if ( FALSE == MEMORY_MAPPED_FILE::IsValid() ) return; // m_errorType already set to errEXE_FILE_FILE_NOT_FOUND // If we get here, the file exists, and was mapped. We're still not // sure that it's a valid EXE though m_errorType = errEXE_FILE_INVALID_FORMAT; if ( GetFileSize() < sizeof(IMAGE_DOS_HEADER) ) return; PIMAGE_DOS_HEADER pDosHdr = (PIMAGE_DOS_HEADER)GetBase(); if ( IMAGE_DOS_SIGNATURE != pDosHdr->e_magic ) return; // If we get here, it's at least a DOS 'MZ' file m_errorType = errEXE_FILE_NO_ERROR; if ( pDosHdr->e_lfarlc < 0x40 ) // Theoretically, this field must be >= { // 0x40 for it to be a non-DOS executable m_exeType = exeType_DOS; return; } // Sanity check. Make sure the "new header" offset isn't past the end // of the file if ( pDosHdr->e_lfanew > (LONG)GetFileSize() ) return; // Make a pointer to the secondary header m_secondaryHeaderOffset = pDosHdr->e_lfanew; PWORD pSecondHdr = MakePtr( PWORD, GetBase(), m_secondaryHeaderOffset ); // Decide what type of EXE, based on the start of the secondary header switch ( *pSecondHdr ) { case IMAGE_OS2_SIGNATURE: m_exeType = exeType_NE; break; case IMAGE_VXD_SIGNATURE: m_exeType = exeType_VXD; break; case 0x4558: m_exeType = exeType_LX; break; // OS/2 2.X } if ( *(PDWORD)pSecondHdr == IMAGE_NT_SIGNATURE ) m_exeType = exeType_PE; } PSTR EXE_FILE::GetFileTypeDescription( void ) { // Returns a static string that describes what type this file is switch ( m_exeType ) { case exeType_DOS: return "DOS"; case exeType_NE: return "NE"; case exeType_VXD: return "VXD"; case exeType_LX: return "LX"; case exeType_PE: return "PE"; default: return "Invalid"; } } exiv2-0.25/msvc2005/tools/depends/depends.sln0000664000175000017500000000231411510227772020520 0ustar andreasandreasMicrosoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "depends", "depends.vcproj", "{E24D66E3-65A9-4BEB-8579-039AD77C2EFF}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Debug|x64 = Debug|x64 Release|Win32 = Release|Win32 Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.Debug|Win32.ActiveCfg = Debug|Win32 {E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.Debug|Win32.Build.0 = Debug|Win32 {E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.Debug|x64.ActiveCfg = Debug|x64 {E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.Debug|x64.Build.0 = Debug|x64 {E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.Release|Win32.ActiveCfg = Release|Win32 {E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.Release|Win32.Build.0 = Release|Win32 {E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.Release|x64.ActiveCfg = Release|x64 {E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal exiv2-0.25/msvc2005/tools/depends/include/0000775000175000017500000000000012541547730020007 5ustar andreasandreasexiv2-0.25/msvc2005/tools/depends/include/modulefileinfo.h0000664000175000017500000000221711510227772023157 0ustar andreasandreas//========================================== // Matt Pietrek // Microsoft Systems Journal, Feb 1997 // FILE: MODULEFILEINFO.H //========================================== #ifndef __MODULEFILEINFO_H__ #define __MODULEFILEINFO_H__ class MODULE_DEPENDENCY_LIST; // // This structure represents one executable file in a module dependency list. // Both the base filename and the complete path are stored. // class MODULE_FILE_INFO { public: MODULE_FILE_INFO( PSTR pszFileName ); ~MODULE_FILE_INFO( void ){} PSTR GetBaseName( void ){ return m_szBaseName; } PSTR GetFullName( void ){ return m_szFullName; } // For enumerating through the unlocatable imported modules MODULE_FILE_INFO * GetNextNotFoundModule( MODULE_FILE_INFO * ); private: MODULE_FILE_INFO * m_pNext; MODULE_FILE_INFO * m_pNotFoundNext; char m_szBaseName[MAX_PATH]; char m_szFullName[MAX_PATH]; // And an unlocatable module to the "not found" list void AddNotFoundModule( PSTR pszFileName ); friend class MODULE_DEPENDENCY_LIST; }; typedef MODULE_FILE_INFO * PMODULE_FILE_INFO; #endif exiv2-0.25/msvc2005/tools/depends/include/DEPENDENCYLIST.H0000664000175000017500000000336511510227772022235 0ustar andreasandreas//========================================== // Matt Pietrek // Microsoft Systems Journal, Feb 1997 // FILE: DEPENDENCYLIST.H //========================================== #ifndef __DEPLIST_H__ #define __DEPLIST_H__ #ifndef __MODULEFILEINFO_H__ #include "modulefileinfo.h" #endif enum errModuleDependencyList { errMDL_NO_ERROR, errMDL_FILE_NOT_FOUND, errMDL_NOT_PE_FILE, errMDL_GENERAL_FAILURE }; // // The MODULE_DEPENDENCY_LIST class creates a linked list of MODULE_FILE_INFO // structures. In theory, this list will represent every executable file // loaded by the Win32 loader when the executable is loaded. The class creates // the list by starting with the file passed to the constructor, and recursing // through all the import tables. // class MODULE_DEPENDENCY_LIST { public: MODULE_DEPENDENCY_LIST( PSTR pszFileName ); ~MODULE_DEPENDENCY_LIST( ); BOOL IsValid( void ){ return (BOOL)(m_errorType == errMDL_NO_ERROR); } errModuleDependencyList GetErrorType( void ){ return m_errorType; } PSTR GetErrorString( void ); PMODULE_FILE_INFO GetNextModule( PMODULE_FILE_INFO p ); PMODULE_FILE_INFO LookupModule( PSTR pszFileName, BOOL fFullName ); unsigned GetNumberOfModules( void ){ return m_cModules; } protected: unsigned m_cModules; // Number of modules in list PMODULE_FILE_INFO m_pList; // Pointer to head of linked list // Recursively adds modules to the list errModuleDependencyList AddModule( PSTR pszFullName ); errModuleDependencyList m_errorType; // Error type }; #endif exiv2-0.25/msvc2005/tools/depends/include/MEMORYMAPPEDFILE.H0000664000175000017500000000172011510227772022453 0ustar andreasandreas//========================================== // Matt Pietrek // Microsoft Systems Journal, Feb 1997 // FILE: MEMORYMAPPEDFILE.H //========================================== #ifndef __MEMMAPFL_H__ #define __MEMMAPFL_H__ enum errMMF { errMMF_NoError, errMMF_FileOpen, errMMF_FileMapping, errMMF_MapView }; class MEMORY_MAPPED_FILE { public: MEMORY_MAPPED_FILE( PSTR pszFileName ); ~MEMORY_MAPPED_FILE(void); PVOID GetBase( void ){ return m_pMemoryMappedFileBase; } DWORD GetFileSize( void ){ return m_cbFile; } BOOL IsValid( void ) { return errMMF_NoError == m_errCode; } errMMF GetErrorType(){ return m_errCode; } private: HANDLE m_hFile; HANDLE m_hFileMapping; // Handle of memory mapped file PVOID m_pMemoryMappedFileBase; DWORD m_cbFile; errMMF m_errCode; }; typedef MEMORY_MAPPED_FILE *PMEMORY_MAPPED_FILE; #endif exiv2-0.25/msvc2005/tools/depends/include/PEEXE.H0000664000175000017500000000744111510227772020770 0ustar andreasandreas//========================================== // Matt Pietrek // Microsoft Systems Journal, Feb 1997 // FILE: PEEXE.H //========================================== #ifndef __PEEXE_H__ #define __PEEXE_H__ #ifndef __EXEFILE_H__ #include "exefile.h" #endif class PE_EXE : public EXE_FILE { public: PE_EXE( PSTR pszFileName ); ~PE_EXE( ){ } BOOL IsValid() { return m_pNtHdr ? TRUE : FALSE; } // For those who want at the data directly PIMAGE_NT_HEADERS GetIMAGE_NT_HEADERS( void ) { return m_pNtHdr; } // IMAGE_FILE_HEADER fields WORD GetMachine( void ) { return m_pNtHdr->FileHeader.Machine; } WORD GetNumberOfSections( void ) { return m_pNtHdr->FileHeader.NumberOfSections; } DWORD GetTimeDateStamp(void) { return m_pNtHdr->FileHeader.TimeDateStamp; } DWORD GetCharacteristics( void ) { return m_pNtHdr->FileHeader.Characteristics; } // IMAGE_OPTIONAL_HEADER fields DWORD GetSizeOfCode( void ) { return m_pNtHdr->OptionalHeader.SizeOfCode; } DWORD GetSizeOfInitializedData( void ) { return m_pNtHdr->OptionalHeader.SizeOfInitializedData; } DWORD GetSizeOfUninitializedData( void ) { return m_pNtHdr->OptionalHeader.SizeOfUninitializedData; } DWORD GetAddressOfEntryPoint( void ) { return m_pNtHdr->OptionalHeader.AddressOfEntryPoint; } DWORD GetBaseOfCode( void ) { return m_pNtHdr->OptionalHeader.BaseOfCode; } /* DWORD GetBaseOfData( void ) { return m_pNtHdr->OptionalHeader.BaseOfData; } */ DWORD GetImageBase( void ) { return m_pNtHdr->OptionalHeader.ImageBase; } DWORD GetSectionAlignment( void ) { return m_pNtHdr->OptionalHeader.SectionAlignment; } DWORD GetFileAlignment( void ) { return m_pNtHdr->OptionalHeader.FileAlignment; } WORD GetMajorOperatingSystemVersion( void ) { return m_pNtHdr->OptionalHeader.MajorOperatingSystemVersion; } WORD GetMinorOperatingSystemVersion( void ) { return m_pNtHdr->OptionalHeader.MinorOperatingSystemVersion; } WORD GetMajorImageVersion( void ) { return m_pNtHdr->OptionalHeader.MajorImageVersion; } WORD GetMinorImageVersion( void ) { return m_pNtHdr->OptionalHeader.MinorImageVersion; } WORD GetMajorSubsystemVersion( void ) { return m_pNtHdr->OptionalHeader.MajorSubsystemVersion; } WORD GetMinorSubsystemVersion( void ) { return m_pNtHdr->OptionalHeader.MinorSubsystemVersion; } // DWORD GetWin32VersionValue( void ) // { return m_pNtHdr->OptionalHeader.Win32VersionValue; } DWORD GetSizeOfImage( void ) { return m_pNtHdr->OptionalHeader.SizeOfImage; } DWORD GetSizeOfHeaders( void ) { return m_pNtHdr->OptionalHeader.SizeOfHeaders; } WORD GetSubsystem( void ) { return m_pNtHdr->OptionalHeader.Subsystem; } DWORD GetSizeOfStackReserve( void ) { return m_pNtHdr->OptionalHeader.SizeOfStackReserve; } DWORD GetSizeOfStackCommit( void ) { return m_pNtHdr->OptionalHeader.SizeOfStackCommit; } DWORD GetSizeOfHeapReserve( void ) { return m_pNtHdr->OptionalHeader.SizeOfHeapReserve; } DWORD GetSizeOfHeapCommit( void ) { return m_pNtHdr->OptionalHeader.SizeOfHeapCommit; } DWORD GetDataDirectoryEntryRVA( DWORD id ); PVOID GetDataDirectoryEntryPointer( DWORD id ); DWORD GetDataDirectoryEntrySize( DWORD id ); PVOID GetReadablePointerFromRVA( DWORD rva ); protected: DWORD RVAToFileOffset( DWORD rva ); PIMAGE_NT_HEADERS m_pNtHdr; }; #endif exiv2-0.25/msvc2005/tools/depends/include/EXEFILE.H0000664000175000017500000000301011510227772021167 0ustar andreasandreas//========================================== // Matt Pietrek // Microsoft Systems Journal, Feb 1997 // FILE: EXEFILE.H //========================================== #ifndef __EXEFILE_H__ #define __EXEFILE_H__ #ifndef __MEMMAPFL_H__ #include "memorymappedfile.h" #endif // MakePtr is a macro that allows you to easily add to values (including // pointers) together without dealing with C's pointer arithmetic. It // essentially treats the last two parameters as DWORDs. The first // parameter is used to typecast the result to the appropriate pointer type. #define MakePtr( cast, ptr, addValue ) (cast)( (DWORD)(ptr) + (DWORD)(addValue)) enum EXE_TYPE { exeType_Invalid, exeType_DOS, exeType_NE, exeType_VXD, exeType_LX, exeType_PE }; enum errEXE_FILE { errEXE_FILE_NO_ERROR, errEXE_FILE_FILE_NOT_FOUND, errEXE_FILE_INVALID_FORMAT }; class EXE_FILE : public MEMORY_MAPPED_FILE { public: EXE_FILE( PSTR pszFileName ); ~EXE_FILE( ){ ; } BOOL IsValid( void ){ return errMMF_NoError == m_errorType; } errEXE_FILE GetErrorType( void ){ return m_errorType; } DWORD GetSecondaryHeaderOffset( void ){ return m_secondaryHeaderOffset; } EXE_TYPE GetExeType( void ){ return m_exeType; } PSTR GetFileTypeDescription( void ); protected: errEXE_FILE m_errorType; private: LONG m_secondaryHeaderOffset; EXE_TYPE m_exeType; }; #endif exiv2-0.25/msvc2005/tools/depends/Depends2.suo0000664000175000017500000010000011510227772020543 0ustar andreasandreasࡱ>   >Root Entry"ProjInfoExTaskListUserTasks$VsToolboxService"# L0!W#$%;)*,-./123456789:<=>?@ABCDEFGHIJYMNOPQRSTUVXZ[]^_`abcdefghkmpo{suwyz|~zpzCGXvC >LastOpenTemporarilyOfflineData EndOfStreamHC:\gnu.master\exiv2\tools\depends2\SourceCodeControl$tSccProviderRegKey$!DebuggerWatches DebuggerBreakpoints( TDebuggerExceptions&DebuggerFindSource& DebuggerFindSymbol&DebuggerMemoryWindows, T 8] \  DZ$ͫ40ͫ479-039MultiStartupProj=;4{E24D66E3-65A9-4BEB-8579-039AD77C2EFF}ExternalFilesProjectContents:+DocumentWindowPositions0 DocumentWindowUserData. 4SolutionConfiguration, p.dwStartupOpt=;StartupProject=&{E24D66E3-65A9-4BEB-8579-039AD77C2EFF};?{E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.Release|x64.BatchBldCtx= Release|x64;={E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.Release|x64.fBatchBld=;={E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.Debug|x64.BatchBldCtx= Debug|x64;;{E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.Debug|x64.fBatchBld=;A{E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.ReleS$ A+HڪWLl #O¤EL%ү##G}'bm4S8fLd9Ll #O¤EL%ү##G}'bm4ObjMgrContentsV8"ClassViewContents$ProjExplorerState$ UnloadedProjects"Q fC:\gnu.master\exiv2\tools\depends2\depends2.vcprojfC:\gnu.fc:\gnu.master\exiv2\tools\depends2\src\depends.cpp dc:\Robin\Projects\Depends2\src\modulefileinfo.cppc:\program files\m$Bookmarks V001.01X HiddenSlnFolders" OutliningStateDir$"BookmarkState&(TaskListShortcuts$'OutliningState1 (OutliningState6 tfOutliningState4 jxOutliningState3 rtbc:\Robin\Projects\Depends2\Depends2\Depends2.cppƙ) c:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\WinBase.h<open> c:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\WinVer.h<open> c:\Program Files\ase|Win32.BatchBldCtx= Release|Win32;?{E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.Release|Win32.fBatchBld=;?{E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.Debug|Win32.BatchBldCtx= Debug|Win32;={E24D66E3-65A9-4BEB-8579-039AD77C2EFF}.Debug|Win32.fBatchBld=;4{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}.dwStartupOpt=; ActiveCfg= Debug|x64;4;includicrosoft visual studio 9.0\vc\include\string.h ~c:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\WinVer.hfc:\gnu.master\exiv2\tools\depends2\include\PEEXE.H hc:\Robin\Projects\Depends2\src\MEMORYMAPPEDFILE.CPPlc:\Robin\Projects\depends2\include\MEMORYMAPPEDFILE.H Vc:\Robin\Projects\Depends2\src\depends.cppc:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\WinBase.hdc:\Robin\Projects\depends2\src\DEPENDENCYLIST.CPP Vc:\Robin\Projects\Depends2\include\PEEXE.Hbc:\Robin\Projects\les>|c:\Program Files\Micros${E24D66E3-65A9-4BEB-8579-039AD77C2EFF}|depends2.vcproj|c:\gnu.master\exiv2\tools\depends2\src\depends.cpp||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}12 8] \ ${E24D66E3-65A9-4BEB-8579-039AD77C2EFF}|depends2.vcproj|c:\gnu.master\exiv2\tools\depends2\include\PEEXE.H||{D0E1A5C6-B359-4E41-9B60-3365922C2A22}12StartupOpt=; Actimaster\exiv2\tools\depends2\depends2.vcprojSource FilesDepends2\Depends2\Depends2.cpp^c:\Robin\Projects\Depends2\Depends2\stdafx.cppnVer.hhc:fc:\gnu.master\exiv2\tools\depends2\include\PEEXE.H, 18'A">&!!#;$,%F&.'H(*)D*!+;,-0 1:2'3A4$5>627L829L:(;B<(=B>,?F@,AFBCBD"E<F$G>H I:J)KCL(MBN(OBP'QS ``2\Depends2\stdafxfc:\gnu.master\exiv2\tools\depenhc:\Robin\Projects\depends2\src\MEMORYMAPPEDFILE.CPP5c:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\WinBase.hlc:\Robin\Projects\depends2\include\MEMORYMAPPEDFILE.HZV_  ~c:\Program Files\Microsoft SDKsdc:\Robin\Projects\depends2\src\modulefileinfo.cppxVc:\Robin\Projects\depends2\include\PEEXE.H84,Vc:\Robin\Projects\depends2\src\depends.cpp_#2$dc:\Robin\Projects\depends2\src\DEPENDENCYLIST.CPPF !*,B 5\Windows\v6.0A\Include\WinVer.hY;q#s\v6.0A\Include\WinBase.hc:\program files\microsoft visual studio 9.0\vc\include\string.h@_v6.0A\Include\WinVer.hds2\src\depends.cppR@+A26TNU[\6^H`q3r}#2$M0NU#Vw9x(G &5fileinfo.cppxII +8^c:\Robin\Projects\Depends2\Depends2\stdafx.cppVc:\Robin\Projects\Depends2\src\depends.cppb#2$M0NU#Vw9x(IOutliningState2 nOutliningState7 vfOutliningState8 qOutliningState5 lOutliningState12"%\OutliningState13"i>33.)/0)1D%EF%GILM M Oc:\program files\microsoft visual studio 9.0\vc\include\string.h@_   !&56:%%))    -- )-!./!0EFGH_!`a!bwxyz))%%11--%%0%12%3N-OP-Qj5kl5mo9q--55))77/ !  ! "%#$%%@-AB-CT)UV)Wq5rs5t--e[ZGG=='#%$%%&P#QR#Sb'cd'ev'wx'y7777;;GGGG---#./#0G'HI'JR)ST)U[)\])^d)ef)g Mhi~----5511119 9!213415N'OP'Qb-cd-eu%vw%x''--!!%%+ + // 3-45-6G1HI1J_3`a3b{9|}9~==;;??EE99 = =# !#"3/45/6G!HI!J_)`a)bez11==99OOQ 11   # 1$ % 1& 7 )8 9 ): K )L M )N ) P g +h i +j  /  /  )  )    -  -  =  = c:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\WinBase.hV_I  !" ##$%&-/mp8  ## $!*236CEMOUXA 13@BLNegpr} K H  '@BEG$()&'#%( 1 3  0 )*<>VWhivw,/    , 2 > C O T ` f r x           0                 / e s ! $ % *  + " , j 2k l 2m ~ %  %  +  +  )  )  =  =   k 5l m 5n } 5~  5  7  7      GOhoQ/  @M\dgiZ|89Rlou*"-^h++ t%-k%lm%nqR'')+9!:;!<M!NO!PSUp3qr3svx33   !"5678 ;<KLMN QSTZ\^mo*  )  ) !=!!=! !!)!!)!6!=7!8!=9! !;!T!)U!V!)W!j!'k!l!'m!!!!!!3!!3!!!!!!-!!-!!-!!-!"A""A"! "$ ""%"A&"'"A(""*"="1>"?"1@"Q"5R"S"5T"i"Ij"k"Il"W"n"}"~""""3""3""""""7""7""" """"")"")"#9##9#"#"#/#%0#1#%2#C##D#E##F#`#a#b#c#v#w#x#y#|#######/##/#### ######$$$$$3$34$5$36$$7$Q$/R$S$/T$:$U$\$2^$z$!{$|$!}$c$~$$$$'$$'$$$$$$;$$;$$$$$ $$&$$$$$%!%)"%#%)$%?%9@%A%9B%]%%^%_%%`%q%%r%s%%t% w%{%%G%%G%%'%%'%&3&&3 & &&J&L&\&%]&^&%_&p&'q&r&'s&&#&&#&&1&&1&&/&&/&&#&&#&'!''!')!'$'2'5'x'' (;((;(?(G@(A(GB(o([p(q([r((k((k((((3((3((=((=((5))5))7))7)1)A2)3)A4)9)_)@*J*M*W*d*n*}****c+++++),,),,),,),<,A=,>,A?,P,],},,,',,',,+,,+,------%-3&-'-3(-=-1>-?-1@-W-?X-Y-?Z-r-#s-t-#u--9--9--+--+--3--3--3--3- -"--"--)--)--)--)-". ..- .!.-".3.-4.5.-6.L.=M.N.=O.-Q.b.!c.d.!e.h.j.q.)s.x.%y.{.%|......!..!....1..1..../Y/[/5090?0C0J0N0S0W0]0a0f0j0/0j0/0F1H1\17]1^17_1r13s1t13u1111;11;1]/111"11"111-11-111111111112#22# 22-2 2-!2$2023252A2C2#U2\2@2j2n2p2{222)22)22%22%223,3.3@3(A3B3(C3V3&W3X3&Y3u3<v3w3<x33:33:33133133733733K33K33-33-33I33I3m24444$4%4'4(4*4/4041424E4#F4G4#H40|44=44+44494494444:444@445T45$545?5A5b5k5n5p5s5u5y5{5~555555'5555"5555 55$56%66 6 6%66'66%66% 6062676*96;6O6S6 X6[6!U6\6m6o66/66/66C66C66;66;6k6666F666$666 *6OutliningState9 }OutliningState10""n|OutliningState11"xProperty Manager"$Kexiv2-0.25/msvc2005/tools/depends/ReadMe.txt0000664000175000017500000000102711510227772020256 0ustar andreasandreasDepends/ReadMe.txt ------------------ This project is "depends" and is code from MSJ (now MSDN) in 1997. I appreciate and respect the code provided by Matt Pietrik. I have made the following changes: 1) Added the -q option 2) Added the MSVC build environment (for 32bit and 64bit builds) 3) Modified the default response to report 1 and 2. The projects builds depends32.exe and depends64.exe which are used by runner32.bat and runner64.bat to test dependancies post build. Robin Mills http://clanmills.com 2011-01-02 exiv2-0.25/msvc2005/tools/depends/stdafx.h0000664000175000017500000000050011510227772020015 0ustar andreasandreas// stdafx.h : include file for standard system include files, // or project specific include files that are used frequently, but // are changed infrequently // #pragma once #include "targetver.h" #include #include // TODO: reference additional headers your program requires here exiv2-0.25/msvc2005/tools/depends/depends.vcproj0000664000175000017500000001647412447013555021245 0ustar andreasandreas exiv2-0.25/msvc2005/tools/issue984/0000775000175000017500000000000012541547730016337 5ustar andreasandreasexiv2-0.25/msvc2005/tools/issue984/issue984.exe0000775000175000017500000015000012401156022020417 0ustar andreasandreasMZ@ !L!This program cannot be run in DOS mode. $8|sŠ|sŠ|sŠ|sŠ|sÊ)sŠ[lsŠ['sŠ[\sŠ[}sŠRich|sŠPELT PJ@(x@.text `.rdata @@.dataH+@UQE HQh`@UjhjjjhU BP@E}uh@ j @MQ@3]j h@339u;uMVVVVV_j [PjYYuP0YE PVuPEoPWE E\I PjYYá@39@Ã=@tt$7h[YYf=@MZu3<@@PEu"f@ ut@v39@3jh@|Wj@P@ujkYu>V@Vju P@ۋFEFE܋FE؋~ P@utM܋U‰5@@ @@=@Ej`%YujYo#ujYe}jY @D@D@}jY}j YjYtPY@@P5@5@ E}uP .E MPQ:YYËeEԉE}uPEE$@@á@@Vj^u;}ƣ@@jPb%YY<@ujV5@@I%YY<@ujX^3ҹ@<@  @|j^3ҹ@Wk8 @t;tu1 Bx@|_3^(=@t%5<@M%YVt$@;r"h@w+QO)N Y^à V @^ËD$}P')D$ H YËD$ P @ËD$@;r=h@w` +P (Yà P$@ËL$D$}` Q'Yà P$@Vt$V/)P(YYt{C ;u33@;u_3@@fF uNSW<@?u SQ#YuFjFXFF ?~>^^N _3[@^3^Ã|$t'Vt$ fF tV$f f&fY^ËD$VF ucFHlHhN; @t @Hpu1F;@tF @HpuT*FF@puHpF  @F^A @tyt$Ix  QP1YYu UVMEM >t} ^]G @SVt4u.D$ -L$ C>u 8*uϰ?i|$ ^[U$x@3ʼnSV3W MEЉ}ԉuuuuuĉuu9uu- VVVVV% }tE`pE@ @P&Yt6u&Yt(u&u4 @&k8YY3P@@$uu_&Yt6uQ&Yt(uC&u4 @1&k8YY3P@@$";3Ʉ҉ủu؉uUC}], t-tHHt9M0M'MMM *u }ԋ;}M]Ek ʍDЉEu*u}ԋ;}MEk ʍDЉEItFht8ltwxMl;luCM]WMNM E<6u{4uCCM](<3u{2uCCe] 9E~E}~-u]VUYEt E܉uE3EGEEPuu}PuESP5@YЋ}t9uuEPS5@YYYY}gu;uEPS5@:YYY;-u MC]SrEM!spHHYE'EEEQE0EEf t@}tGG@Gt3҉}@t;|;s؃ځMfEڋu3ۃ}} Ee9E~E u!EčEM t$EؙRPSW-09]~MN̍+FfEE؉utLt΀90tAM܋M0@2If90t@@;u+E;u@E܋EI8t@;u+E܉E؃}E@t%ftE-tE+t E E]+]+]E uuЍESj ; uċ}ЍE̍MKEYtEuWSj0E }EtQ~Mu܉EMPjPEFPF+u9EtuE̍}YuM MPEY}|EtWSj E }t ueY]Et$M}Ԋ)3PPPPP$}tE`pE̋_^3[+@@@@*@2@i@a@D$@U$X(@3ʼnV]|ux}tfff]pfElfehfmdE@jPEjP+EEЍE؃ E uE8@j4@EP0@u ujG+Yh ,@P(@3^z*ŨU5@Yt]j+Y]D$3;͐@tA-rHw j XË͔@DjY;#Ku@Ã8u@à VL$QY0^h"@d5D$l$l$+SVW@1E3PeuEEEEdËMd Y__^[]Q̃S\$ UVs35@WD$D${t N3 81)N F3 8!)D$(@fk L$0T$D$L$ St^DmLɍ\D$t+D$|DLD$ù|$t$t N3 8(N F3 8(D$_^][D$ƋL$(9csmu*=8@t!h8@l+tT$(jR8@L$,*D$,9h th@WՋ*D$,L$H t N3 8(N V3 :'K0*{ Ph@W˺G*D$8csmu*xu$@= t=!t="t=@u]+3h$@4@3t$5@hЃ h4@@@th$@P<@tt$t$Yt$D@jYjYV tЃ;t$r^Vt$3utу;t$ r^ËL$V3;uVVVVVMjX^á@;tډ3^ËD$V3;uVVVVVjX^95@tۋ @3^Ã=0@th0@`)Yt t$0@Y#h@@h$@6YYuTVWhz1@S+@ƿ @;YstЃ;r=4@_^th4@(Yt jjj4@3jh @j~Y3}3C9@t~@E@9} u[5(@0 E5$@" YYu9}t&u;ur>t> ;tW YhP@D@2YhX@T@"YE}u(@jYu3C}tjYqjjt$  jjt$ jjj jjj VA V,V,V&V+V+V)VV{(h'@ $@^QS\$ VW33;@tGrwUj/Y1j/Yu =@?h@S@UG/ t VVVVV|h@Vj@P@u&hЧ@hV/ t3PPPPP8VT!@=u Fd.=u Fd=u Fd=uFdvdjY~d`QӋEYF`[_^S39,@VWu45@3;u<=tGVYt:ujGW ;YY=@tˋ5@U@VE>=Yt/jU ;YYtJVUP+ t SSSSS28u5@@ @3Y]_^[5@ @UQMS39EVU t ]EE>"u39E"FE<tBU PFI,Yt} t M E FۋU Mt2}u t utBe>< t< uFN>}t EE3C3FA>\t>"u&u}t F8"u 339EEtIt\BuU tU}u< tK< tGt=Pt#d+Yt M E FM E  A+YtFU FVtBU ME^[t U S39,@VWuh@VS@P@D@;É5@t8EuuUEPSS}E =?sJMsB;r6P ;Yt)UEPWV}E H@5@3_^[QQ@SUVW=h@33;j]u-׋;t @"d@xu ţ@@;u׋;u3f9tf9uf9u=`@SSS+S@PVSSD$4׋;t2U# ;YD$t#SSUPt$$VSSׅut$ Y\$\$V\@X;t;uX@;p8t @8u@8u+@U ;Yu VT@DUVWM) VT@_^][YYjTh@@3}EPt@Ej8j ^V YY; @5@)@@ x@$@% @& 8 @;rf9}E;8X;E;|3FRj8j  YYtM @@ &@@ ``$@% @& 8;rF9=@|=@e~mEtVtQtKu Qp@t%uN@ uNhF PS"YYt7F N@Cg5@l@33@ËeE VWг@г@;NjstЃ;r_^VWس@س@;NjstЃ;r_^UQQSV3EF3Pu]}Y~BWS@@p<f9^F|0v#Wh@)YYtFC(;reE_^[V5@5|@օt!@tP5@Ѕt&h@@@t#Jth @V<@t t$ЉD$D$^jYV5@5|@օt!@tP5@Ѕt&h@@@t#th,@V<@t t$ЉD$D$^@V5@|@u5@kYV5@@^á@tP5@AYЃ @@tP@ @ j h`@h@@@EuF\@3G~t/t&h @u<@Ӊh,@uӉ~pƆCƆKC@FhP@j YeE Flu@FlvlOYEEj YVWd@5@ЋuNhjYYt:V5@5@YЅtjVYY@N VY3W@_^VujY^jh@[uF$tPYF,tPYF4tPYF+~,WPV]YPm7 ;uF yF N _Ff^[Vt$u V3Y^VYt^fF @tVP7YY^3^jh@3}}j>Y}3u;5@@<@98t^@ tVPVYY3BU<@H t/9UuPPYtE9}utP5Yu E܉}F3u<@4VYYE}EtEJjYjYVW3(@<@u@8h0YYt F$|3@_^Ã$@3Sx@V@W>t~t WW&Y@|ܾ@_t ~uPӃ@|^[UE4Ř@$@]j h@33G}39@ujxhYYu4@9tnjyY;u 3Qj YY]9u,hW YYuWYj ] >WYE Ej *YUEV4Ř@>uP$YujY6 @^]ËD$u 3V3;|;@rVVVVV k3^Ëȃk8 @D@^ËD$V3;uVVVVV(^Ë@^-t"t t Ht3øøøøSUVWU3^WS ~~~ 3~@ +Ɗ  CMuANu_^][U$d@3ʼnSWEPv@3@;rEƅ t+];w+@P j RM CCujv EvPWPjj@:3SvWPWPWv S%8DSvWPWPhv S8$3LEtLtL Ƅ@;rME3)EUЍZ w Lр wL р A;rŋ_3[ Ŝj h0@"@Gptltwhuj Yj Yewhu;5@t6tV@u@tVY@Gh5@uV@E뎋uj YUS3SMx@ux@@8]tEMapE@D;FG;v}FF>uыuE}urlj{CjC C@Zf1Af0A@@JuL@;vFF~4C@IuC.C Ss3{95x@bM_^3[jhP@M'}_huE;CWh Y؅Fwh#SuYYEuvh@uFh=@tPY^hS=@Fp@j YeC@C@C @3E}fLCf E|@@3E=} L@@3E=}@@5@@u@=@tPY@SE0j Y%u @tSYeEgÃ=,@ujVY,@3SUVt$3;Wto=@th;t^9(uZ;t9(uP j6YY;t9(uP 6YYYY;tD9(u@-P+P+P=@t9uP37hYYj~P[@t;t 9(uPGY9otG;t 9(uP0YKuV#Y_^][SUVt$W=@V׋tP׋tP׋tP׋tPj^P]{@t tP׃{t CtP׃Mu؋P_^][Vt$tSUW=@V׋tP׋tP׋tP׋tPj^P]{@t tP׃{t CtP׃Mu؋P_][^Åt7t3V0;t(W8YtVR>Yu@tVxY^3j hp@g@Fpt"~ltpluj Yzj YeFl=@iEEj YuUQVu VE F Yu N -@t ~"S3ۨt^NF F f F ^]u, ;t @;u u YuV5YfF WF>HN+I;N~WPu W) EM F yM ttk8 @P@@ tjSSQ94#ƒt%FM3GWEPu ( E9}t N E%_[^VW3@6z(Yr_^̋L$t$tNu$$~Ѓ3ƒtAt2t$tt͍AL$+ÍAL$+ÍAL$+ÍAL$+USVu 3;W}u;v E;t3E;tvnj^SSSSS0RuM1E9XfEf=v6;t;v WSV *8]tMap_^[;t.;w(j"^SSSSS08]tE`puE;t8]0E`p$M QSWVjMQS] p`@;t9] bM;td@zH;k;cWSV Sjt$t$t$t$Uu MEMA%}tMapjt$YY; @u2VD$ u(L$D$ 3؋D$d$ȋd$Gȋ\$T$ D$ ud$ȋD$r;T$ wr;D$v N+D$T$3+D$T$ ؃ʋӋًȋ^%@̋T$ L$ti3D$ur=@th3Wr1كt +шuʃtt uD$_ËD$SVWT$D$L$URPQQhM@d5@3ĉD$d%D$0XL$,3p t;T$4t;v.4v\ H {uhC^4Cp4d_^[ËL$At3D$H3Uhp pp> ]D$T$UL$)qqq( ]UVWS33333[_^]Ëj333333USVWjjhSN@Q[G_^[]Ul$RQt$ ]̋L$f9MZt3ËA<8PEu3fx ̋D$H<ASVq3҅WDv|$H ;r X;r (;r3_^[Ujh@h"@dPSVW@1E3PEdeEh@<tUE-@Ph@Rt;@$ЃEMd Y_^[]ËE3=‹ËeE3Md Y_^[]jh@e@xte3@ËeE4~hO@Y@QSUVW5(@|5$@t$k;YY+ލkrxV"5;YsJ;s;rPt$YYuF;rCPt$YYt3P~@F_^UQQMASVqW3C}i0Dj?EZ@@Jujhy hWԠ@up;UwC+ GAH@PǀIuˋUEO HAJ HAdD3GFCENCu x!P_^[U MASVuW} +Q iDMOI;|9M]UE;;MI?Mvj?YM_;_uC sML!\D u&M!ML! uM!YO_YOyM+M}}M O?L1vj?_]][Y]YKYKY;YuWLM Ls}uϻM DD }uOM YO U MD2LU FBD2<38/] )uNK\3uN?] Kvj?^EuN?vj?^O;OuB st!\Du#M!NL! uM!Y] OwqwOquuuN?vj?^M yK{YKYK;KuWLM Ls}uοM 9DD }uNM yN ED3@_^[U@Mk@MSI VW} M 3U @S;#U# u ;؉]r;u@S;#U# u ;ى]r;u[ {u ];r;u1@ {u ;ى]r;u؅ۉ]u3 S@YKC8t@CUt|D#M# u)eHD9#U# uEUiDMLD3#u#Mj _G}MT +MN?M~j?^;J;Ju\ }&M|8Ӊ]#\D\Du3M]! ,OM|8!]u ]M!K]}JzyJzyM yJzQJQJ;Ju^LM L}#} u ;οM |D)} u N {MN 7Mt LMuэN L2uɍy>u;@uM; @u%@MB_^[j h0@ɺeu;5@w"j7YeVYEE Eպj4YUl$S@VW395@u_j踿hܼYY@u;t3@Pu US;Yu;u3GWV5@Ӌu&94@j _t U Yu裹8蜹8_^[]UY臹 3]j hP@跹M3;v.jX3;E @uT WWWWW3M u;u3F3ۉ]wi=@uKu E;@w7jY}u~YEE_];tuWS ;uaVj5@@;uL9=4@t3VYrE;P E3u jlY;u E;t jhp@虸]uu Yu u SY=@3}jY}SYE;;5@wIVSP t]5V_YE;t'CH;rPSu/SiESP9}uH;u3Fu u VW5@@E;t CH;rPSuSu=E.}u1uFu VSj5@ؠ@u ]jYË}9=4@t,VUY9}uld@P蝶Y_ƶ9}th quFVSj5@ؠ@uV94@t4VYtvVYz 3g|uYd@PYSVt$ W3;u/WWWWW BF t7VVd VWP}F;t PY~~ _^[j h@ M3u3;;u譵WWWWW> F @t ~ EVҧY}V/YEEՋuVYU$@3ʼn$V39(Euuu3t;u'$0 VVVVV蛴I Sރk8W< @ÊH$}Mtu3(u&蹴30蝴VVVVV.@ tjjjVVeYD@l39HEP4@t }ܠ@e(uEueuE3< PMYujEVP$ 0E+(jEVP FE3PPj QjMQPuFEu`@OjEPV P4H@%EE; }jEPj Pƅ  4H@}EEd<t<u3f FFEMuU<t<u9u<f;EYE}tj XPEf;EYtEE(9Eyc@%E3}u9(EeMe+ME;(s'UEA u E @E@E}rыE+jEPVEP4H@EE;E+E;(r}9(EM3+ME;(s1UEAAf u Ef @@FF}f@@FFrNjE+jEPVEP4H@'EE;"E+E;(w 9(E-Me+Mj^;(s,Uuf u f uufƁ}Rr3VVhQ++PPVh`@;tyjEP+P5PE4H@t u; d@E;GE+E;(E60jMQ(u0H@t EeE d@EEuV}39ut j^9uu +uY'D@t E8u3软ů0+E_[3^jh@ʯEu芯 o 3;|;@r!a8G WWWWWخɋ @k8 L1tPvY}D0tuu u E 8ME EJuYjhж@Eu蛮 3;|;@rz SSSSS Ћ< @k8LtPY]Dt1u#YP@u d@E]9]tM ME EiuYËD$t8uPZYU@3ʼnESV39@Wu8SS3GWh@hS@t=@d@xu @9]~"MEI8t@;uE+H;E}@E@;9] ]u@E 5@39]$SSuuPu ֋;~Cj3Xr7D?=w;tPl;Yt E]9]=Wuuuju օ5@SSWuu u֋;ˉMfE t)9];MuuWuu u;~Ej3Xr9D =w,;tjP;Yt 3;tAuVWuu u@t"9]SSuSSuuuVSu `@EVYuEYY9]]]u@E9] u@E uYEu3!;E SSMQuPu ;ÉEtԋ5@SSuPu u;ÉEu3~=w8=w;tP;Yt 3;tuSW} uWuuu u;ÉEu3%uEuPWu uu#uWYuuuuu u@9]t uYE;t 9EtPYƍe_^[M3+UuMu(Mu$u uuuuu - }tMapUQQ@3ʼnE@SV3;Wu:EP3FVh@V@t5@4d@xu jX@@;9]]u@E5@39] SSuu Pu֋;~<w4D?=w3;tP;Yt ؅ti?PjS WSuu juօtuPSu@ESEYu39]u@E9]u@EuYu3G;EtSSMQu Pu;t܉u uuu uu@;tVпYǍe_^[M30UuMu$Mu uuuuu }tMapVt$vfv^v VvNvFv>67v /v$'v(v,v0v4vv8v<@v@vDܾvHԾvL̾vPľvT輾vX贾v\謾v`褾vd蜾vh蔾vl茾vp脾vt|vxtv|l@^SH=2',^Vt$t5;@tPҽYF;@tPYv;5@tV讽Y^Vt$t~F ;@tP葽YF;@tPYF;@tPmYF;@tP[YF;@tPIYF ;@tP7Yv$;5@tV%Y^UV3PPPPPPPPU I t $uI t $s ^UV3PPPPPPPPU I t $u t $sF ^UQQE VuEEWVE;Yu轤 NjJuMQuP@;ljEud@t P诤Yϋƃk8 @D0 EU_^jh@蝤u܉uEuT 9 Ƌ3;|;@r!*8 WWWWW衣ȋ @k8 L1u&8ϣ WWWWW`[PY}D0tuuu uE܉U聣 艣8MME E܋UuVY@hYL$At I AI AAAAaj芥YU(@ @@ @5@=@f0@f $@f@f@f%@f-@(@E@E @E,@h@ @@@ @@@8@`@jYj4@h$@0@=`@ujYh ,@P(@U}}M f$ffGfG fG0fG@fGPfG`fGpIuЋ}]U}E3+3+ut }w u,9uv'E"tME$ƉEEt8Et]}tE`pEEt0}tE`p3[_^U39@Puu uuh@P]U$X(@3ʼn @Vtj YtjY @]|ux}tfff]pfElfehfmdE@jPEjP}E EЍEjE@uE4@EP0@j譡jh@躜3]3;;u_WWWWWS=@u8jY}SYE;t s uuE%9}uSW5@@z3]ujѶYU}uu }MfofoNfoV fo^0ffOfW f_0fof@fonPfov`fo~pfg@foPfw`fpIuu}]U}u]] ÙȋE3+ʃ3+ʙ3+3+ uJu΃M;t+VSP' EMtw]U +щU+ى]u}MES;u5كMu }MMMU UE+EPRQL Eu }MʃE]u}]UWVu M};v;r=@tWV;^_u^_]ur*$@Ǻr $@$@$x@@4@X@#ъFGFGr$@I#ъFGr$@#ъr$@Iۈ@Ȉ@@@@@@@DDDDDDDDDDDDDD$@@@@@E^_ÐE^_ÐFGE^_ÍIFGFGE^_Ðt1|9u$r $@$0@IǺr +$@$@@@@F#шGr$@IF#шGFGr$@F#шGFGFGV$@I4@<@D@L@T@\@d@w@DDDDDDDDD D DDDD$@@@@@E^_ÐFGE^_ÍIFGFGE^_ÐFGFGFGE^_Vt$WVYtM @u@tu u@<tjj;YYtVYP@u d@3Vƃk8 @YD0t W螖Y3_^jh0@觖Eug L 3;|;@r!>8$ WWWWW赕ɋ @k8 L1tPSY}D0tuYEɕ ME E6uYVt$F ttv(f 3YFF^U@3ʼnEV3950@tN=@u%@uf pVMQjMQP@ug=0@ud@xuЉ50@VVjEPjEPV @P`@ @tVURPEPQ@tfEM3^Ӿ0@USVu 3;t9]t8uE;tf3^[uMaE9XuE;tff8]tE`p3@ʍEPPYYt}E~%9M| 39]RuQVj p@EuM;r 8^t8]eMapY*8]tE`p:39]PuEjVj p@:jt$t$t$ËL$S3;VW|[; @sSk8< @@t58t0=@u+tItIuSjSjSj@ 3 #_^[ËD$u V3;|";@sȃk8 @@u$̒0貒VVVVV C^Ë^j hP@В}k84 @E39^u6j (Y]9^uhF PYYu]FE09]tk8 @D8 P @E萒3ۋ}j YËD$ȃk8 @D P$@U @3ʼnEjEPhuE@u EPYM3袻U4@3ʼnEEME؋ESEЋVE܋EW3;E M̉}}_5@MQPօ@t^}uXEPu օtK}uEu܃Eu uҸYF;~[wSD6=w/;t8-WWuujuӋ;u3Px;Yt E}9}t؍6PWuZ VuuujuӅt];tWWuSVuWu `@t`][9}ԋ`@uWWWWVuWu Ӌ;tRuntime Error! Program: .mixcrtEncodePointerKERNEL32.DLLDecodePointerFlsFreeFlsSetValueFlsGetValueFlsAlloc  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~EEE00P('8PW700PP (`h`hhhxppwppInitializeCriticalSectionAndSpinCountkernel32.dllGetProcessWindowStationGetUserObjectInformationAGetLastActivePopupGetActiveWindowMessageBoxAUSER32.DLL ((((( H h(((( H H  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~HH:mm:ssdddd, MMMM dd, yyyyMM/dd/yyPMAMDecemberNovemberOctoberSeptemberAugustJulyJuneAprilMarchFebruaryJanuaryDecNovOctSepAugJulJunMayAprMarFebJanSaturdayFridayThursdayWednesdayTuesdayMondaySundaySatFriThuWedTueMonSun@h@SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecCONOUT$H@@"M@ @ @&@?1@C1@4@5@5@9@:@<@;@=@A@D@H@yO@O@O@O@Q@R@S@T@g@Pi@j@ul@s@s@~@@,@ҏ@Z@v@и޸".@Xpҹ &6Lf~غ "0<JTl|ƻԻ.:DPbn~ȼڼ$6HZlx4CloseHandleVSleepSCreateFileAGetCommandLineAHeapFreeGetVersionExAHeapAllocGetProcessHeapEnterCriticalSectionQLeaveCriticalSection^TerminateProcessBGetCurrentProcessnUnhandledExceptionFilterJSetUnhandledExceptionFilter9IsDebuggerPresentGetProcAddressGetModuleHandleAExitProcessWriteFileGetStdHandle}GetModuleFileNameAFreeEnvironmentStringsAUGetEnvironmentStringsFreeEnvironmentStringsWWideCharToMultiByteqGetLastErrorWGetEnvironmentStringsW$SetHandleCountfGetFileTypeGetStartupInfoADeleteCriticalSectioneTlsGetValuecTlsAllocfTlsSetValuedTlsFree,InterlockedIncrement(SetLastErrorFGetCurrentThreadId(InterlockedDecrementHeapDestroyHeapCreateVirtualFreeQueryPerformanceCounterGetTickCountCGetCurrentProcessIdGetSystemTimeAsFileTimeGetCPInfoGetACPGetOEMCP?IsValidCodePageRtlUnwindRLoadLibraryA#InitializeCriticalSectionVirtualAllocHeapReAlloc"GetConsoleCP3GetConsoleModeFlushFileBuffersDLCMapStringAuMultiByteToWideCharELCMapStringWGetStringTypeAGetStringTypeWtGetLocaleInfoASetFilePointerHeapSizeWriteConsoleA5GetConsoleOutputCPWriteConsoleW7SetStdHandleKERNEL32.dll@@@@@@        ! 5A CPR S WY l m pr   )    N@D'@p@D@ @ @T@$@@ԥ@@t@<@@ܤ@@X@ @!(@"@xt@yd@zT@P@@@ x  abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@`y!@~ڣ @ڣ AϢ[@~QQ^ _j21~@C@@@@@@@x@@@@@@~@~@~@~@~@~@~@~@~@~@@@ @@@@@ @@@@@@ز@в@IJ@@@@@@@@@@@@@@@x@p@@h@`@X@L@D@8@,@(@$@@@@ @.@@@@@@@@@@@. pPSTPDTP@@;Zx0Nm:Yw/Mlexiv2-0.25/msvc2005/tools/issue984/issue984.cpp0000664000175000017500000000101412467000312020417 0ustar andreasandreas#include #include int main(int argc, char** argv) { printf("Opening file '%s' with FILE_SHARE_DELETE access...\n", argv[1]); HANDLE hFile = CreateFileA(argv[1], GENERIC_READ, FILE_SHARE_DELETE|FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (hFile == INVALID_HANDLE_VALUE) { printf("failed to open file\n"); return -1; } Sleep(10); CloseHandle(hFile); return 0; } exiv2-0.25/msvc2005/tools/python/0000775000175000017500000000000012541547730016263 5ustar andreasandreasexiv2-0.25/msvc2005/tools/python/tee.py0000775000175000017500000000664212523221152017410 0ustar andreasandreas#!/usr/bin/python3 ## # tee.py # This little script was an effort tsort the dependancies # I don't actually need it because I've used depend.py to extract # the dependency table from exiv2-webready.sln and pasted it into configure.py ## import os import sys import uuid import optparse import datetime import platform import xml.dom.minidom class GraphError(Exception): pass def tsort(partials): """ Copyright Nathan Hurst 2001 Licenced under the LGNU GPL. see COPYING for details. """ preds = {} succs = {} output = [] distinct_value = (0,) # Julian Satchell suggested I use a unique # identifier, rather than None as my sentinel for i in partials: prev = distinct_value; for j in i: if(not j in preds): preds[j] = 0; if(not j in succs): succs[j] = {}; if(not prev is distinct_value): if(not prev in succs): succs[prev] = {}; if(not j in succs[prev]): succs[prev][j] = 1; preds[j] = preds[j] + 1; prev = j starts = list(map(lambda a: a[0], filter(lambda a: (a[1] == 0), preds.items()))) while(len(starts) > 0): start = starts[0] starts = starts[1:] # prune off start output = output + [start]; for i in succs[start].keys(): preds[i] = preds[i] - 1; if(preds[i] == 0): starts.append(i) del succs[start]; result=[] for i in reversed(output): result.append(i) return result def empty(): return set([]) ignore = set(['expat' , 'expat201' , 'expat210' , 'tests' , 'testv' ,'zlib123' , 'zlib125' , 'zlib127' , 'tools' , 'exiv2lib' ]) ## # build dict:uid - hunt the tree for .vcproj files uid = {} for d in os.listdir('.'): if os.path.isdir(d) & (not d in ignore): for root, dirs, files in os.walk(d): for file in files: ext = ".vcproj" if file.endswith(ext) & (file.find('configure') < 0): uid[d]=str(uuid.uuid1()) externlib= set(['libcurl' , 'libexpat' , 'zlib' , 'libcurl' ,'libeay32' , 'ssleay32' , 'libssh' , 'openssl' ]) ## # define project dependances # TODO: read exiv-webready.sln to build project/dependency set project = {} # no dependancy for p in externlib: project[p]=empty() ## # dependancies project['xmpparser-test' ] = set(['libexiv2','xmpsdk' ]) project['xmpparse' ] = set(['libexiv2','xmpsdk' ]) project['xmpsample' ] = set(['libexiv2','xmpsdk' ]) project['xmpsdk' ] = set([ 'libexpat' ]) project['geotag' ] = set([ 'libexpat','libexiv2']) project['libexiv2' ] = set([ 'libexpat','xmpsdk' ,'zlib','libcurl','libeay32','ssleay32','libssh','openssl']) project['libcurl' ] = set(['libeay32','ssleay32','libssh' ]) project['libssh' ] = set(['libeay32','ssleay32','openssl' ]) project['libeay32' ] = set(['openssl' ]) project['ssleay32' ] = set(['openssl' ]) project['openssl' ] = set(['libcurl' , 'libssh' ]) project['libexiv2' ] = set(['openssl' ,'zlib','xmpsdk']) ## # all others depend on libexiv2 for p in uid: if not p in project: project[p]=set(['libexiv2']) ## # tsort the dependencies edges=[] for p in project: for d in project[p]: edges.append([p,d]) print(edges) print('-------------') print(tsort(edges)) # That's all folks ## exiv2-0.25/msvc2005/tools/python/depend.py0000775000175000017500000000342112523221152020062 0ustar andreasandreas#!/usr/bin/python3 ## # read an MSVC solution file and generate the project dependency table # syntax: tools/python/depend solution-file [format] # - the argument 'format' can be anything! ## import os import sys def main(): ## # no arguments, report and quit if len(sys.argv)==1: print('%s solutionfile' % sys.argv[0]) return bFormat = len(sys.argv)>2 sln=sys.argv[1] print(sln) lines=open(sln).readlines() project={} depends={} bDepends = False for line in lines: if line.find('Project(')>=0: start = line.find(' = "') end = line.find('"',start+4) name = line[start+4:end] start = line.find('{',end) end = line.find('}',start) uid = line[start+1:end] project[uid] = name if line.find('Global')>0: break # print(project) for line in lines: if line.find('Project(')>=0: start = line.find(' = "') end = line.find('"',start+4) name = line[start+4:end] depends[name]=set([]) if bDepends & (line.find('ProjectSectionEnd')>0): bDepends=False if (not bDepends) & (line.find('ProjectSection(ProjectDependencies)')>=0): bDepends=True if bDepends: start = line.find('{') end = line.find('}',start+1) if (start>0) & (end>0): uid = line[start+1:end] # print('found uid = ',uid) if not name in depends: depends[name]=set([]) if uid in project: depends[name].add(project[uid]) if line.find('Global')>0: break for p in sorted(depends.keys()): if bFormat: s=str(depends[p]) s=s.replace('{','[').replace('}',']') s=s.replace('set()','[ ]') P="project['" + p + "']" print('%-30s = set(%s)' % (P,s) ) else: print('%-20s %s' % (p,depends[p]) ) # project['xmpparser-test' ] = set(['libexiv2','xmpsdk' ]) if __name__ == "__main__": main() # That's all Folks ##exiv2-0.25/msvc2005/tools/bin/0000775000175000017500000000000012541547730015512 5ustar andreasandreasexiv2-0.25/msvc2005/tools/bin/depends32.exe0000664000175000017500000020600011510453102017762 0ustar andreasandreasMZ@ !L!This program cannot be run in DOS mode. $O(e.F6.F6.F6V6.F6V6.F6V6.F6=6.F6.G6.F6V6.F6V6.F6Rich.F6PEL/!M  X%@P"@,P 0 8@h.textr `.rdata<-.@@.data,@.rsrc @@.reloc0@BFtP@@FW=H@tP׋tPF_́@@3ĉ$SU-0 AW3UF^1;tPj\W~tD$ Ph@W@UFt L$ Q@WB$_][3̋̃~tUSWFxt%IF@xt PtNyuFt PZ^u_[Fjh@dP8@@3ĉ$4SUVW@@3P$Ld$\L$ÍL$ l$,3|$8u!|$4t l$,D$0L$ <|$8DŽ$Tu3D$ tP@@D$5H@tP֋D$tP֋hkt D$}j 7Yj_8YtP7YAAP5A5A E}uP99.E MPQ;<YYËeE܉E}uP99EEsDU(A AAA5A=AfAf AfAfAf%Af-AAEAEAEAAAAA A@@D@p@Aj7DYjl@h@h@=AujDYh d@P`@ËUE3;H@tA-rHwj X]ËL@]DjY;#]!u@Ã!u@à ËUVMQY0^]ËU39EjhPt@Au]3@A]ËVW3A<@u@8h0-CYYt F$|3@_^Ã$@3S|@V@W>t~t WW&Y@|ܾ@_t ~uPӃ@|^[ËUE4@@]j h@ 3G}39Au/9j}7h4YYu4@9tnjBY;uu 3Qj YY]9u,hW$BYYuWY? ] >WYE EI j (YËUEV4@>uP"Yuj3Y6@^]ËU AAkU+P r ;r3]ËUMAVu W+y iDMIMS1UVUU] utJ?vj?ZK;KuB sL!\D u#M!JL! uM!Y] S[MMZU ZRSMJ?vj?Z]]+u]j?u K^;vMJM;v;t^M q;qu; s!tDLu!M!1K!LuM!qM qINM qINu ]}u;M ыYN^qNqN;Nu`LML s%}uʻM DD )}uJM YJꍄ ED0EA A5x@h@H SQ֋ AA PA@ AA@HCAHyCu `AxueSjp ֡Apj5AX@ AAkA+ȍLQHQP?E A;AvmAAEA=A[_^áAV5AW3;u4kP5AW5A@;u3xA5AAk5AhAj5A@F;tjh hW@F ;uvW5AX@뛃N>~AF_^ËUQQMASVqW3C}i0Dj?EZ@@Jujhy hW@upU;wC+ GAH@PǀIuˋUEO HAJ HAdD3GFCENCu x!P_^[ËU MASVuW} +Q iDMOI;|9M]UE;;MIM?vj?YM_;_uC sML!\D u&M!ML! uM!YO_YOyM+M}}M OL1?vj?_]][Y]YKYKY;YuWLML s}uϻM DD }uOM YO U MD2LU FBD2<38/] )uNK\3uN] K?vj?^EuN?vj?^O;OuB st!\Du#M!NL! uM!Y] OwqwOquuuN?vj?^M yK{YKYK;KuWLML s}uοM 9DD }uNM yN ED3@_^[ËUAMkAMSI VW} M 3U AS;#U# u ];r;uAS;#U# u ];r;u[ {u ];r;u1A {u ];r;u؉]u3 S:YKC8tACUt|D#M# u)eHD9#U# uEUiDMLD3#u#Mj _G}MT +MN?M~j?^;J;Ju\ }&M|8Ӊ]#\D\Du3M]! ,OM|8!]u ]M!K]}JzyJzyM yJzQJQJ;Ju^LM L}#} u ;οM |D)} u N {MN 7Mt LMuэN L2uy>u;AuM; Au%AMB_^[h3@d5D$l$l$+SVW@@1E3PeuEEEEdËMd Y__^[]Q̋US] Vs35@@WEE{t N3 8N F3 8E@fMUS[ EMt_I[LDEEt;E|@GE؃u΀}t$t N3 8N V3 :~E_^[]EɋM9csmu)=@t h@#<tUjR@M ?;E 9X th@@WӋB;E MH t N3 8N V3 :EH:9S Rh@@W:UEA]ËU(@@3ʼnESjLjP<(0 ,ffffffEMDž0IDžDžp@jl@(Ph@u uj3Yhd@P`@M3[ËU5AYt]j3Y]UMS3VW;t} ;wj^0SSSSS0u;uڋъBF:tOu;utj"Y3_^[]j h@Geu;5Aw"j7YeV>YEE ESj2YËUVuSW=@=Auo)j'h$YYAut3@Pu VSYuuFVj5A׋؅u.j ^9 AtuxYtu{q0j0_[VQYV 3^]̋L$t$tNu$$~Ѓ3ƒtAt2t$tt͍AL$+ÍAL$+ÍAL$+ÍAL$+ËUS]VW@t&PVFV}YYGt3VP gG_^[]UM@ `H]US]V@CFCWt1t'PGWYYFtsWP8 fF_^[]y@t q}YËAu@ËUVEtVY^]Q@@8YËUVEtVY^]UE Q P~8YY@]UQSVW5h A0 5d A} YY;+ߍCrwW8CY;sH;s;rPu0YYuG;r@Pu0YYt1P4; Yh Au- V" Yd AEY3_^[ËVjj 0V h Ad AujX^Ã&3^j h @P!euYEE Elv!ËUuYH]ËUE A]ËU5 A YtuYt3@]3]ËU EVWjY@}EE _E^t tE@EPuuu@-t"t t Ht3øøøøËVWh3FWP|53ȋ~~~  ~@ F+ο@Ou@Nu_^ËU@@3ʼnESWPv@3@;rƅ t.;w+@P j R4 CCujv vPWPjjm<3SvWPWPWv SN:DSvWPWPhv S):$3EtLtL Ƅ@;rVDž3)ЍZ w Lр wL р A;r‹M_3[j h@@T $@Gptltwhuj Ylj %Yewhu;5(@t6tV@u@tVY(@Gh5(@uV@E뎋uj YËUS3SMP$Au$A@8]tEMapE,@D;FG;v}FF>uыuE}urlj{CgjC C4@Zf1Af0A@@JuL@;vFF~4C@IuCC Ss3ȋ {95$AXM_^3[jh`@OM}_huuE;CWh _)Y؅Fwh#SuYYEuvh@uFh=@tPY^hS=@Fp$@j YeC4AC8AC <A3E}fLCf E(A@3E=} L @@3E=}(@@5(@@u(@=@tPY(@SE0j Y%u @tSYeEÃ=l AujVYl A3ËUSVu3W;to=@th;t^9uZ;t9uP8YY;t9uP)8YYYY;tD9u@-P+P+P=@t9uP67`YY~PE(@t;t 9uP;Y9_tG;t 9uP$YMuVY_^[]ËUSV5@W}W֋tP֋tP֋tP֋tP֍_PE{(@t tPփ{t CtPփMu֋P_^[]ËUW}SV5@W֋tP֋tP֋tP֋tP֍_PE{(@t tPփ{t CtPփMu֋P^[_]Åt7t3V0;t(W8YtVE>Yu0@tVYY^3j h@,$@Fpt"~ltpluj Yj YeFl=@iEEj YuËUV5@5@օt!@tP5@Ѕt'@V@u VYth@P@tuЉEE^]jYËUV5@5@օt!@tP5@Ѕt'@V@u VdYth@P@tuЉEE^]@V5@@u5hAeYV5@@^á@tP5pA;YЃ @@tP@ @j h@ @V@uVYEuF\@3G~t$h@P@Ӊh@uӉ~pƆCƆKCFh@j Yevh@E>j Y}E Flu@FlvlYE3Guj gYj ^YËVWT@5@ЋuNhj"YYt:V5@5lAYЅtjVYY@N V{Y3W@_^ËVujY^jh@uF$tP.YF,tP YF4tPYF^^N 3_@[3^]ËU}t'Vu F tV3f f&fY^]A @tyt$Ix  QPo5YYu ËUVMEM >t} ^]ËUG @SVt2u,E+M}C>ua8*uϰ?d}^[]ËUx@@3ʼnES] Vu3W}uyu53PPPPPt `p F @u^V4Yx@ttȃ ` AA$uttȃ` A@$g3;] C , If90t@@;u+(;u @I8t@;u+\@t2t ƅ-t ƅ+ tƅ Dž++ uSj p vYtuWSj0. tf~bPjEPFPFA-u(9t MYuPY|tWSj tYtt `pM_^3[iÐS@Q@Q@.R@zR@R@R@S@UE8csmu*xu$@= t=!t="t=@u,3]h[@l@3ËUWW@u@`wt_]ËUu5@hЃ ]ËUh@@th@P@tu]ËUuYu@jYjYËUV tЃ;ur^]ËUVu3utу;u r^]ËU=p Athp AYt up AYP)h@hp@YYuBhei@h@$l@c=t AYtht AmYt jjjt A3]jh@jYe3C9AAEA} 5h AY}؅tx5d AzYu܉}uu;rWV9t;rJ6P@5h A:5d A- 9}u9Et}}؉Eu܋}h@@_Yh@@OYE}u(AjYu3C}tjYËUjju ]ËUjju ]jjj jjj ËVRVMV% V2V[,VF,V.*VV*h^@$@^ËUQQS]VW33};@t G}rwjq-Y4j`-Yu =<@Ahh@SAW t VVVVVhAVjA@u&hP@hV t3PPPPP?V @Y=u Fd.=u Fd=u Fd=uFdvdjY~d`QӋEYF`[_^Ã=l AuV5AW3u<=tGVpYtujGWYY=Atˋ5ASBV?C>=Yt1jSYYtNVSP t3PPPPP6>u5Aܻ%A'` A3Y[_^5A趻%AUQMS3VU 9Et ]EE>"u39E"FE<tBU PF)Yt} t M E FU Mt2}u t utBe>< t< uFN>}t EE3C3FA>\t>"u&u}t F8"u 339EEtIt\BuU tU}u< tK< tGt=Pt#(Yt M E FM E  (YtFU FVtBU ME^[t ËU S3VW9l AuhAVS A@A5A;tE8uuUEPSS} E =?sJMsB;r6PY;t)UEPWV}E HA5A3_^[ËU A SV5@W33;u.֋;t  A#T@xu jX A A;u֋;u3f9t@@f9u@@f9u5@SSS+S@PWSSE։E;t/PBYE;t!SSuPuWSSօu u葸Y]]W@\t;u@;r8t @8u@8u+@PEY;u V@EuVW V@_^[jTh@]3}EP@Ej@j ^VYY;` A5P A0@@ x@$@% @& x8@4@ ` A;rf9} E;8X;E;|E[j@j 7YYtVM ` AP A *@@ ``$@% @& `8@4@;rE9=P A|=P Ae~mEtVtQtKu Q@t%uN@ uNhF P?YYt7F N@Cg5P A@33@ËeE[ËV$@$@W;stЃ;r_^ËV,@,@W;stЃ;r_^ËU@@eeSWN@;t t УD@`VEP @u3u@3@3@3EP@E3E3;uO@ u 5@@։5D@^_[Ã%L AËUE A]jh0@eu u@E/EE3=Ëe}uj@eEEËUVW3uYu'9 AvV@; Avuʋ_^]ËUVW3ju u" u'9 AvV@; AvuË_^]ËUVW3u uz#YYu,9E t'9 AvV@; Avu_^]UWVu M};v;r=H AtWV;^_u^_]%ur*$l@Ǻr $l@$m@$l@l@Dl@hl@#ъFGFGr$l@I#ъFGr$l@#ъr$l@Il@l@l@l@l@l@l@l@DDDDDDDDDDDDDD$l@m@ m@m@,m@E^_ÐE^_ÐFGE^_ÍIFGFGE^_Ðt1|9u$r $n@$@n@IǺr +$m@$n@m@m@m@F#шGr$n@IF#шGFGr$n@F#шGFGFGV$n@IDn@Ln@Tn@\n@dn@ln@tn@n@DDDDDDDDD D DDDD$n@n@n@n@n@E^_ÐFGE^_ÍIFGFGE^_ÐFGFGFGE^_SVWT$D$L$URPQQhxo@d5@@3ĉD$d%D$0XL$,3p t;T$4t;v.4v\ H {uhC$C$d_^[ËL$At3D$H3bUhp pp> ]D$T$UL$)qqq( ]UVWS33333[_^]Ëj$33333USVWjjhp@Qo=_^[]Ul$RQt$ ]̋UMMZf9t3]ËA<8PEu3ҹ f9H‹]̋UEH<ASVq3WDv} H ;r X;r B(;r3_^[]̋UjhP@h3@dPSVW@@1E3PEdeEh@*tUE-@Ph@Pt;@$ЃEMd Y_^[]ËE3=‹ËeE3Md Y_^[]̋T$ L$ti3D$ur=H At"Wr1كt +шuʃtt uD$_ËD$j hp@>j=YeuNt/ A AEt9u,HJP輬Yv賬YfE -ËjY̋T$L$u<:u. t&:au% t:Au t:au uҋ3Ðt:u ttf:u t:au tjh@@3]3;;u<WWWWW:S=Au8j Y}S2YE;t s uuE%9}uSW5A@3]uj׳YËUEt8uPAY]ËU@@3ʼnESV3W9 Au8SS3GWh@hS$@t= AT@xu  A9]~"MEI8t@;uE+H;E}@E A;]9] u@E 5 @39]$SSuuPu ֋;~Cj3Xr7D?=w[";tPwY;t E]9]>Wuuuju օ5$@SSWuu u֋ȉM;E t)9];MuuWuu u;~Ej3Xr9D =w!;tjPY;t 3;tAuVWuu u$@t"SS9]uSSuuuVSu @EVYuEYY]]9]u@E9] u@E uYEu3!;E SSMQuPu E;tԋ5@SSuPu u։E;u3~=w8=w ;tPY;t 3;tuSW uWuuu u։E;u3%uEuPWu uYu#uWYuuuuu u@9]t uYE;t 9EtP讧Yƍe_^[M3茧ËUuMyu(Mu$u uuuuu ( }tMapËUQQ@@3ʼnE ASV3W;u:EP3FVh@V,@t5 A4T@xu jX A A;]9]u@E5 @39] SSuu Pu֋;~<w4D?=w;tP軾Y;t ؅ti?PjS WSuu juօtuPSu,@ESEYu39]u@E9]u@Eu Yu3G;EtSSMQu Pu5;t܉u uuu uu(@;tV该YǍe_^[M3荥ËUuMzu$Mu uuuuu }tMapËUVuv?v7v /v'vv6v v$v(v,v0v4vؤv8Фv<Ȥ@v@轤vD赤vH譤vL襤vP蝤vT蕤vX荤v\腤v`}vduvhmvlevp]vtUvxMv|E@7,! ߣԣɣ,^]ËUVut5;@tP覣YF;@tP蔣Yv;5@tV肣Y^]ËUVut~F ;@tP`YF;@tPNYF;@tP+~,WPVYPk ;uF yF N _Ff^[]ËUVuu V5Y/V|YtF @tVZPYY3^]jh@趯3}}j譤Y}3u;5Ax A98t^@ tVPV,YY3BUx AH t/9UuPJYtE9}utP/Yu E܉}F3ux A4V5YYE}EtE7jYjYËUEuޡ 3]V3;|;P ArVVVVV 辱3ȃ ` AD@^]ËUEV3;uxVVVVVv@^]ËUQVu VE F Yu: N /@t "S3ۨt^NF F F ^] u,h ;t \@;u u YuV4YF WF>HN+I;N~WPu  EM F yM tt` Ax@@ tjSSQ#ƒt%FM3GWEPu : E9}t N E%_[^ËVW3@6TY(r_^ËUSVu 3W};u;vE;t3E;tv蓟j^SSSSS0蒯VuM E9XfEf;v6;t;v WSVs @*58]tMap_^[;t2;w,j"^SSSSS08]yE`pmE;t8]%E`pM QSWVjMQS] p@;t9] ^M;tT@zD;g;_WSV OUjuuu u|]VD$ u(L$D$ 3؋D$d$ȋd$Gȋ\$T$ D$ ud$ȋD$r;T$ wr;D$v N+D$T$3+D$T$ ؃ʋӋًȋ^jh@蓪׿@xte3@ËeE謪調@|tjh@G5 A9Yte3@ËeE}h@蓼Y AËUE A A A A]ËUE t@V9Ptk u ;rk M^;s9Pt3]5 A觼Yj h8@蜩3}}؋] LtjY+t"+t+td+uD@}؅ua A A`w\]ZÃt<t+Ht=3PPPPP9뮾 A A A A A AEPEY3}9Euj09EtPŝY3Et tuO`MԉG`u@OdMGdu. h@M܋ l@h@9M}Mk W\DEKEuwdSUY]}؃}tjSYSUYt tuEԉG`uEЉGd3>ËUE A]ËUE A]ËUSVW辺e=$ Ah@4@*5@h@WօP$@W$ AP$@W( AP޹$@W, APɹY4 Ath@WP豹Y0 A0 A;tO94 AtGP54 AYYt,t(օtMQj MQjPׅtEu M 9( A;t0P迹Yt%ЉEt, A;tP袹YtuЉE5$ A芹Ytuu uu3_^[ËUMV3;|~ uA(A APVVVVVN^]ËUuM軓E MUTu}tMA#E3t3@}tMapËUjjuj]j hX@该M3;v.jX3;E @u裘 WWWWW表3M u;u3F3ۉ]wi=AuKu E;Aw7j@Y}uFYEE_];tuWSI ;uaVj5A@;uL9= At3VYrE;P E3u jY;u E;t jhx@葤]uu ~Yu u S$Y=A3}jMY}SvYE;;5AwIVSPX t]5V'YE;t'CH;rPSu/S&ESPL9}uH;u3Fu u VW5A@E;t CH;rPSuSuE.}u1uFu VSj5A@u ]j~YË}9= At,V=Y:9}ulT@PY_9}th quFVSj5A@uV9 At4VԪYtvVĪYɕ 3趕|u訕T@PXYU}uu }MfofoNfoV fo^0ffOfW f_0fof@fonPfov`fo~pfg@foPfw`fpIuu}]U}u]] ÙȋE3+ʃ3+ʙ3+3+ uJu΃M;t+VSP' EMtw]U +щU+ى]u}MES;u5كMu }MMMU UE+EPRQL Eu }MʃE]u}]j h@ ef(E#E=t =t33@ËeeEEËU3SEEESX5 PZ+tQ3E]UMUE[Et\t3@3[H A3USVWUjjh@uz]_^[]ËL$At2D$H3辋UhP(RP$R]D$T$SVWD$UPjh@d5@@3PD$dD$(Xp t:|$,t;t$,v-4v L$ H |uhDID_뷋L$d _^[3d y@uQ R 9QuSQ@ SQ@L$ KCk UQPXY]Y[U}}M f$ffGfG fG0fG@fGPfG`fGpIuЋ}]U}E3+3+uY~~ _^[]j h@oM3u3;;ugWWWWWe F @t ~ ErV蚵Y}V*YEEՋuVYËU@@3ʼnEE V34809uu3;u'ݍ0ÍVVVVVSW}4` ANJX$('tu0Mu&t30XVVVVVVC@ tjjju u1YD>@l39HP4 <@`39 tP8@43<9EBD'g (3  ǃx8tP4UM`8jEPKPgYt:4+M3@;j@SPV CDjS@P2 3PPjMQj@QPCD@\jcsmuB~uW苏t?}9t+>MOCt#u$u uuuu V;} uuEPEPVu WE;Es[S;7|G;wBG OHtyu*X@u"u$u u juuuuuEE;Er[_^ËU,M S]C=VWEIIM|;|ucsm9>~ F;t=!t ="~4"ujVE(YYu\9>u&~u F;t=!t="u ~u2ɍt|軍谍u3YuO39~GLh`A~u F;7|judYYh(@M7h@EP1ucsm9>~~F;t=!t ="e} EPEPuu W[E;EE9;G|GEG E~lF@ XE~#vPuE uM9EME}(u$]u EuuuuVu KuE]}}t jV:YY}%=!VY}$MVuu u$ujVuu v]{ v&})u$u uSuuu V 耋t_^[ËUVu{ @^]USVWC EMcsm"u ;t&t#;r @ Aft#x}u}jPuu jx u#ց!rXxtR99u2yr,9Yv'QRtu$Vu uPuuu Q҃ u uu$Puuu Q 3@_^[]USQE EEUuMmVW_^]MUuQ]Y[ Pd5D$ +d$ SVW(@@3PeuEEdËU3@}u3]̍QT$3_J3_@̍uQT$B܋J3_@T$B J3_h@A@Azd,2JVd| 2H| .<Tl$8JXr|6Lfx&2BXhzd:@B@L@@[@@M@/!MWbad allocation@S @9@AAX@9@9@Unknown exceptionl@9@csm   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~=EncodePointerKERNEL32.DLLDecodePointerFlsFreeFlsSetValueFlsGetValueFlsAlloc(null)(null)EEE50P( 8PX700WP `h````xpxxxxCorExitProcessmscoree.dllruntime error TLOSS error SING error DOMAIN error R6034 An application has made an attempt to load the C runtime library incorrectly. Please contact the application's support team for more information. R6033 - Attempt to use MSIL code from this assembly during native code initialization This indicates a bug in your application. It is most likely the result of calling an MSIL-compiled (/clr) function from a native constructor or from DllMain. R6032 - not enough space for locale information R6031 - Attempt to initialize the CRT more than once. This indicates a bug in your application. R6030 - CRT not initialized R6028 - unable to initialize heap R6027 - not enough space for lowio initialization R6026 - not enough space for stdio initialization R6025 - pure virtual function call R6024 - not enough space for _onexit/atexit table R6019 - unable to open console device R6018 - unexpected heap error R6017 - unexpected multithread lock error R6016 - not enough space for thread data This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. R6009 - not enough space for environment R6008 - not enough space for arguments R6002 - floating point support not loaded Microsoft Visual C++ Runtime Library ...Runtime Error! Program:   ((((( H h(((( H H  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~HH:mm:ssdddd, MMMM dd, yyyyMM/dd/yyPMAMDecemberNovemberOctoberSeptemberAugustJulyJuneAprilMarchFebruaryJanuaryDecNovOctSepAugJulJunMayAprMarFebJanSaturdayFridayThursdayWednesdayTuesdayMondaySundaySatFriThuWedTueMonSunEEE00P('8PW700PP (`h`hhhxppwppGetProcessWindowStationGetUserObjectInformationAGetLastActivePopupGetActiveWindowMessageBoxAUSER32.DLL Complete Object Locator' Class Hierarchy Descriptor' Base Class Array' Base Class Descriptor at ( Type Descriptor'`local static thread guard'`managed vector copy constructor iterator'`vector vbase copy constructor iterator'`vector copy constructor iterator'`dynamic atexit destructor for '`dynamic initializer for '`eh vector vbase copy constructor iterator'`eh vector copy constructor iterator'`managed vector destructor iterator'`managed vector constructor iterator'`placement delete[] closure'`placement delete closure'`omni callsig' delete[] new[]`local vftable constructor closure'`local vftable'`RTTI`EH`udt returning'`copy constructor closure'`eh vector vbase constructor iterator'`eh vector destructor iterator'`eh vector constructor iterator'`virtual displacement map'`vector vbase constructor iterator'`vector destructor iterator'`vector constructor iterator'`scalar deleting destructor'`default constructor closure'`vector deleting destructor'`vbase destructor'`string'`local static guard'`typeof'`vcall'`vbtable'`vftable'^=|=&=<<=>>=%=/=-=+=*=||&&|^~(),>=><=<%/->*&+---++*->operator[]!===!<<>> delete new__unaligned__restrict__ptr64__clrcall__fastcall__thiscall__stdcall__pascal__cdecl__based(@@@x@l@`@T@L@@@4@@x@\@H@(@ @,@$@@ @@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@x@l@d@X@@@4@ @@@@@@\@@@@@@@@@@@h@`@T@D@(@@@@@d@H@$@@@@@@SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecCONOUT$No errorFile not foundNot a PE fileGeneral failure C:\gnu.master\exiv2\msvc64\tools\depends\Release\depends32.pdb@@@@$@@@@ @@@@P@$@ @@@@@@@@@@`A@@@$@`A@@3xoWa(C_@H @\@h@@@ z @ @ 9@o#@$@$@Q(@G7@.;@>@ZB@E@ H@H@I@I@^@(i@,i@Yj@pj@[q@oq@qr@s@ق@c@/@Ո@و@%@)@@@@Y@u@J@Z@;@٢@z@:@K@@"@ @"@2@@@۳@@@´@4@"D@T@@j@s@@@z@~@@@@@`A 0@&X|VpPd,2JVd| 2H| .<Tl$8JXr|6Lfx&2BXhzd VerQueryValueAGetFileVersionInfoSizeAGetFileVersionInfoAVERSION.dllSetCurrentDirectoryAlstrcmpiASearchPathAGetCurrentDirectoryAlstrcpynA_lclosenGetUserDefaultLangIDFileTimeToSystemTimeGetFileTime_lopenFileTimeToLocalFileTimexCreateFileAGetFileSize MapViewOfFileAUnmapViewOfFileyCreateFileMappingACCloseHandleKERNEL32.dllwsprintfAUSER32.dllGetLastErrorHeapFreeoGetCommandLineA-TerminateProcessGetCurrentProcess>UnhandledExceptionFilterSetUnhandledExceptionFilterIsDebuggerPresentHeapCreateWVirtualFreeDeleteCriticalSectionLeaveCriticalSectionEnterCriticalSectionHeapAllocTVirtualAllocHeapReAllocZRaiseException[GetCPInfoInterlockedIncrementInterlockedDecrementRGetACPGetOEMCPIsValidCodePageGetModuleHandleW GetProcAddress4TlsGetValue2TlsAlloc5TlsSetValue3TlsFreeSetLastErrorGetCurrentThreadId!SleepExitProcessWriteFile;GetStdHandleGetModuleFileNameAJFreeEnvironmentStringsAGetEnvironmentStringsKFreeEnvironmentStringsWzWideCharToMultiByteGetEnvironmentStringsWSetHandleCountGetFileType9GetStartupInfoATQueryPerformanceCounterfGetTickCountGetCurrentProcessIdOGetSystemTimeAsFileTimeInitializeCriticalSectionAndSpinCountRtlUnwindHeapSizeLCMapStringAMultiByteToWideCharLCMapStringW=GetStringTypeA@GetStringTypeWGetLocaleInfoALoadLibraryAGetConsoleCPGetConsoleModeAFlushFileBuffersSetFilePointerWriteConsoleAGetConsoleOutputCPWriteConsoleWSetStdHandle@@.?AVbad_alloc@std@@@.?AVexception@std@@N@D        ! 5A CPR S WY l m pr   )    @@@.?AVtype_info@@ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@`y!@~ڣ @ڣ AϢ[@~QQ^ _j21~ @C(@(@(@(@(@@@@@@0@0@@ A A4@$@^@@@ @ @@@@T@@@@@\@<@@ @!@"@x@y@z@@@x @@ @8@4@0@,@(@$@ @@@@@@@@@@@@@@@@@@@@@@@@@@x@p@d@\@P@D@@@<@0@@@ @.@ A A A A A A A A A@.,@,@,@,@,@,@,@,@,@,@ pPSTPDT0@p@;Zx0Nm:Yw/MlDEPENDS - Matt Pietrek, 1997, for MSJ Syntax: DEPENDS [args] /v show version information /t show time & date information /p show full path /q quiet (don't report some MS dlls) /l show link time & date information @@.?AVbad_exception@std@@0 HX Z PAPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPAD 00G0X0000c1u1112O2Y222>3h334)484?4L4S4`4g4t4{444445 5P5U5\5c5j5q5w5~556636J66666666667 7/7?7Z78#8)8$979A9Z9c9p9~99999:@:G:N:U:\:c:j:x:~:::;d;y;;;;;;'<.>>>> ??m?s?? 30@0J0]0000000&1.1C1N1223333333334X4]4g44444)5/555;5A5G5N5U5\5c5j5q5x555555555555555566606L6o66666666 7.747W7^7w777777f8888::: ;;;';4;?;Q;d;o;u;{;;;;;;;;;;;;;; <<<<,<2B>O>Y>g>p>z>>>>>>>?T???@0 0)0q000q1}111111112"2(21262E2l2222334O444L5c5t55555566+626Y6_6j6v666666666667 77!7-737@7J7Q7i7x777777*808Z8`8|88849W9a99999 ::: :':-:4:::B:I:N:V:_:k:p:u:{:::::::::::::::; ;;8;>;Z;<<=!=.=:=J=Q=`=l=y======>5>D>M>q>>>>P(0001n11145a7779;;;;;;;;;;<>E>J>U>Z>x>)?6?S????????`*0/0W0|000001<111112222$3/393J3U355!5'5,5255555555536666667#7)7[77778,8E88889 9C9H9i9n99999999::#:2:;:P::::::;;L;U;a;;;;;< <<<=$>(>,>0>4>8><>@>>>>>>> ?p0000 1!1'11 2-222 3C3333333 444L4|4555d6577777778 8<88J9W;i;{;;;;;;; <==>>>> >$>M>s>>>>>>>>>>>?? ??v?????????-04080<0@0D0H0L0P000000F2g2s222223333544466w677899:9E9S9X9]9b9r99999@:E:L:Q:X:]::::e;t;;;;;;;;;;;<<<'<,<6S>Y>e>>>%?????X040h0n0z00?223m3y33 44"5?5k555667e88~99::;<~=G>x>>>>???g000001111 2:22w5~55556627o7y7777888888 9992999?9U9p9::::: ;_;p;;;"<-<[>>4#1C1111u2344y67;7;D;B=>?:?U?`?d?i?,t1x1|111111111111122$9999999999999999999999::: ::::: :$:(:,:0:4:8:<:@:D:H:L:P:T:X:\:`:d:h:l:p:t:x:|:::::::::::::::::::::::::::::::::;;; ;;;;; ;$;== =$=t=x=====>> >$><>L>P>d>h>x>|>>>>>>>>>>>>H?P?X?`?d?l????????080X0x0000001$1(1D1H1d1h111111 22,202P2p222222303P3p333333444,404@4d4p4x44444444455 55(500 0222(7 88888888899999 9(9;;;;;;;;;;;;;< <<<$<,<4<<>>> \0`0exiv2-0.25/msvc2005/tools/bin/depends64.exe0000664000175000017500000022400011510453102017767 0ustar andreasandreasMZ@ !L!This program cannot be run in DOS mode. $7[YYYYYY}"YXݻYYYRichYPEd/!M"  d*@~@$P`P( p`.text `.rdata;<@@.data07@.pdata( P @@.rsrc`"@@.relocp$@B@SH HHIHthHKHtiH HtZCH [@SH HyHtpHt$0H|$8fDHCHxH0t%fHCHHHyHt HCHxHuHKHt HsHuH|$8HsHt$0H [HAH [@UVWHHD$xH$HUH3H$HHL$hHL$0\$PADD$T3҉T$XHl$@9T$L\$PL$H@MZf;Euv3ۉ\$Pf}@sT$XDnE<;MDD$TDT$@ADLEtt uQ A9PEDЉT$XDT$@DT$@ DT$@DT$@3Ht$`ut \$P C4Ht$`Hu6Ht HXHL$8HtXHL$0HtGVHHHHD$pHxH\$hHKHHCu6Ht H۽HL$8Ht۽HL$0Htʽ3[DEFHT0E3EFfD;sWDfDBJ;BDR A E;rD;rAH(E;s!ՋBA+At |$@ E3E3E3Iʋ|$@HdHq >$Hl$`DELD(AEfD;DA@AH;BEP A E;rD;rI(A;A@A+AH[Ht+fffHSHt HHuHu]H$HD$(H$HD$ AE3H3tH$H\$hHHHL$p H\$hH\$hH>|$@AHl$@Ht HHL$8HtHL$0Htӻ3gHt HHL$8HtHL$0Ht34Ht H~HL$8Ht~HL$0HtmH$H3H$Hİ_^]Ht$ ATH 3L}3Ht$HH A\H\$0Hl$8H|$@HcH;IHHu xHHʹu3\HH;+Hl$8H\$0H|$@Ht$HH A\H H3@WH HytoHAHH\$0Ht$83HdDFHHHDiDF HPHHDPHDHt$8HH\$0H _HH _HVWATH`HD$8HXHhHH3H$PHu$L , D@@HH )fH=D$0E3Dd$ Ld$(H HHt_AAT$\HK Ht!@0At$HT$@>HHHL$ D$0t HL$@HE L$0t3t%tt L"LLLkLRH3H 7HD$(HtQH8Hxt.fHHHYHt HD$(HXHtHD$(HD$(H HHD$(L$ HuIHD$(HtH6HHHIfHtH[H^HtH{=tRAHHK IDAHHK IDA HHK tHtHH tHtTH8Hxt1DHHHYHt HD$(HXHtHD$(HD$(H HHD$(L$ Hu3H$PH39 L$`I[ Ik0IA\_^@SHH(H3H$wHWHzH ;HH$G =8H3HеHc؃LL$HHE33e3HT$@HL$HƄ$H$H$H$$f$$$H$H$H$$f$$4tZHT$0HL$@tFD$0DL$6DD$2HH$D$ JH$H$A HT$@HL$HƴtZHT$0HL$@tFD$+H^ CL;CL;{;tHL$0HIЅ~sA}csmu(H=۬tH Ҭ=tIKAHI<IF@SMcMHD$(IF(IMHHD$ =H;>sj>3fIy 3I+9.vTH^KL;r>CL;s6H;r H;sAE u/;t H;t#HT$xIDZIDCMAH;.rL\$@I[0Ik@IsHIA_A^A]A\_Ha@SH tu;LHcȺQ#H5Hu$PHˉ4#HHux3HHH0HHt HE3HEHILIHIHkXLIt ItMuIH0Iu3H [H(>=t9<H nH(@SH HH DH;r:HH;w.HH*H+HHHH?L,&k HK0H [@SH H}%k HJ0UH [H(HH;r7H=H;w+qH+H*HHHH?L$ H0H(H(}rv$ HJ0ڈH(H\$H|$ATH H=m=H0H;u3H`H;uwC ucL%HcI<u+!IHuHC HCHC$CI C$CHKH K3H\$0H|$8H A\̅t0SH b HsH:cc$H#HcH [@SH B@It HzuA&Bx HH<u H [̅~LH\$Hl$Ht$WH II@LH@?tH\$0Hl$8Ht$@H _H\$Hl$Ht$WH A@@IIHt IxuA7~3MLHHŃ?u 8*uLHֱ?H\$0Hl$8Ht$@H _H\$UVWATAUAVAWHHVH3H$3HHL$hHHL$xIMD$`DD$TDD$HD$XD$PE3I;uAs3E3E333H\$ [8$tH$AC@L dH;HA;t(t#LcL ;IAHMkXM4 LL A@8u)A;ttHcHƒHHkXI4B8tA3E3E333H\$ 8$tH$A1E3I;t@/ADT$@DT$DAL$A:H$AHA;H$E*D%H HHD$0HH HHD$ LHt$(LHD$8HH|$ H;r H9uH;r\HHHH ;HH $sL;uL;t LH\$(HH\$0LHD$8HHD$ HDzH %zHAzH 2zEt Eu&AL$A A[xH\$pHt$xH@A_A^A]A\_E33jE3AP\33DBO̺3D=@SH }HHH*4HH4H4HZ1HH.1H &HH [H\$H|$Ll$ AVH0L53I;t Hr5|5u =aH=ALHItHd$ E3E333HA3vu1L4H [tHd$ E3E333H dvHHLHL8AH+#tHd$ E3E3337LIHY"tHd$ E3E333 LcIHMOD*"tHd$ E3E333HA HP2EuHHt2Ht,HcHILITHd$ LL$HLHuH\$@H|$PLl$XH0A^H(3t3u=uH(H\$Hl$Ht$WH HE3HI;HLcH9:tIHHHH;rIHHH;s9:tII;CLBM;6Iu LZA@%IuHHJLc AMD;}*IHAIM\ D;|ځ:u ǃv:u ǃb:u ǃN:u ǃ::u ǃ&:u ǃ:u ǃAЉLZAH3H\$0Hl$8Ht$@H _H\$Hl$Ht$WH0=uH3Hu<=tHH\uGHc HHeHtHA;teH;=ptCHcH HHtrLHHNtHd$ E3E333HHcH؀;uHH'H%H'3H\$@Hl$HHt$PH0_H H%HHXHhHpHx ATAUAVH Ll$`MIAeLHAHtLI3;"u3@"HË9AEHtH3HË0tAEHtHH@tu@ t@ uHt GH3;; t; uH;MtI<$IA3H;\t;"u6utHC8"uH 33҅Ht\HAEutOu< tG< tCt70HttHÈHAEH tHAEAEHYHtHAEMtI$$AH\$@Hl$HHt$PH|$XH A^A]A\H\$Ht$ WH0=uH= A3HtkH>teAEt^AEuH\lA;tILcIHAMkXM$HI$AEAD$IL$(A;tAD$ IH;|EIHHkXHH;t H;tKCAD$ɃE;DzkHHtJI;tEHkA;t7H3uK@ uKHKn'A;tC .K@HAHHQ 8k3L$I[ Is(I{0Mc8IA_A^A]H\$WH HH=HHtHH;rH\$0H _H\$WH HӍH=̍HHtHH;rH\$0H _H\$WH HHd$0H2-+H;t HHԨvHL$0jH\$0jDI3iDI3djHL$8DI3KjL\$8L3HL#H3-+L;LDL^IL\H\$@H _̃%ffHIrSIII@rHكtL+HHMI?Iu9MIItfffHHIuMt HIu@fffffIs0HHQHQH@HQHQIHQHQHQufDHHQHQH@HQHQIHQHQHQu $T@SH0HٹHCHtDH XHL$ HDHtH9uHAHB HHL$ HKHcH0[ffH+LtB :uVHtWHuIJ ffwHJ H;uI~LHHI3ItHH3ffft't#HttHtt tu3HHH\$Hl$Ht$WH 3HHPHHu(9v gDD;AG;uHl$8Ht$@HH\$0H _HHXHhHpHx ATH 3HHAE3HH &HHu*9v"fDD;AAGA;uHl$8Ht$@H|$HHH\$0H A\HHXHhHpHx ATH 3HHAHH<&HHu/Ht*9v"fDD;AAGA;uHl$8Ht$@H|$HHH\$0H A\H8Hu&Hd$ E3E333HLH 3/fH8H\$Ht$H|$ATH L%33I܃{u%HcƺH HbH H !t-HHH;|øH\$0Ht$8H|$@H A\HcHI$3H\$Hl$Ht$WH HH-RHH7HttH8eH耶H'HH;|H Ht {ueHH;|H\$0Hl$8Ht$@H _HcHHH H%XdH\$Ht$H|$AUH HcپH=3uNHHL-MI|t{(HHu 3Z fI|u/H( uH脵 3I\ HfH ncH\$0Ht$8H|$@H A]H\$WH HcH=HH<uuHH H\$0H _H%$cffLH+Irat6t  IȈHtf IfHt  IHMIuQMItH HHIuIMuI@ HIuIffffffffffffI sBH LT H HALQHD LT IHALQuIqffffHr  D @HuH@L LT L LQLL LT LILQLL LT (H@LILQLL LT LILQuIIq $fffffffffffIIrat6t HɊ IȈtHf Ift H IMIuPMItHH IHuIMuIHɊ IȈuIffffffffffffI sBHD LT H HALQHD L IHALuIsfffffHw H D @uH@LL LT LILQLL LT LILQLL LT H@LILQLL L LILuIIq $@SH EHLAALtA@McPLHcL#IcJHCHHKAt AHLL3IH [)H(MA8HIH(@UATAUAVAWH`Hl$@H]PHuXH}`HH3HEDt3MLMDEDUHDnD;uOLYiEͺ3ɉ|$(H|$ _;t ED-"]DxDDDL]DMpD;~5AIA+@88t I;uA+A+A;} DHDMpDȉEpD;\D;SE;DD;uHD`MA҉|$(H|$ A^LcD;<HAA~[3HBIHrLKL?I;w.HAH;wHH>VH+H|$@HHHtD0HHDMpLEAD|$(H|$ 0^3;KUL$(HL$ MEL^E3HcA;!DUA s;A;;MD$(HExELAHD$ ]A;~`3HBHHrQHL6I;w*HAH;wHH;UH+H\$@I;tE3HI;tD0HDUII;tnMELA҉t$(H\$ 6]3;t?3HL$8DLHL$0;u L$(HL$ D$(HExHD$ A\HKD91uHOD91uHLD;u HDpDuuHxADu3L}xLE;<3LMpЋω\$(H\$ HH;tDMpULAΉ\$(H\$ 5\LcDMD;uD;A~bIIwYHHw4HYH;w HHHSH+H\$@Ht%LHHtD0HDMHu3Mc3HD]DMpUMD\$(LH\$ ~[Eu3.LMLÉD$(AL|$ }L3L;DHKD91u(W!DMpUD$(AL|$ [3H;tH%L;t M;tIHMH3H]PHuXH}`He A_A^A]A\]H\$Ht$WHpHHL$PIA谭$D$HL$PD\$@D$8$D$0H$LHD$($DNj։D$ O|$ht HL$`L\$pI[IsI_DL$ UATAUAVAWH@Hl$0H]@HuHH}PHH3HED 3MDLwD;u=LMHcDNjY;t=d6 XD UxDDD GD;&D;D;Cuh;uIEp]xDMXMҋΉ\$(H\$ `YLcD;A~hHL;wYKL$Hw5HAH;w HHPH+H|$0H;qHH;t D(HHH;M3HMDMXMƺDd$(H|$ X;tLM`DHAXHOD9)u蛩DepHD;uIED`uh;uIEpAu3U;t$LMXMƋЋΉ\$(H\$ HH;tLHE`DMXMAAHD$ XH;tHHMH3H]@HuHH}PHeA_A^A]A\]H\$Ht$WH`HHL$@AI謪$D$HL$@D\$8D$0$D$(H$DLNjHD$ .|$Xt HL$PH\$pHt$xH`_HSH HHI>HK5HK,HK #HK(HK0H HK@HKHHKPHKXHK`ܧHKhӧHK8ʧHKpHKx踧H謧H蠧H蔧H舧H|HpHdHXHLH@H4H(HHHHHHHԦHȦH 輦H(谦H0褦H8蘦H@茦HH耦HPtH [HtBSH HH H; tNHKH; tH H;t2臰Ht(HHtH H;tgHtHHH WNHtDMIH3H\$pHl$xH@A^A]A\_^H8x ~ u1ܕ ֕#{Hd$ E3E333dH8H\$Ht$WH@HHL$ AA輔HD$(DA|utHD$ H@BY#3t|$8t HL$0H\$PHt$XH@_̋AE33rH\$WH0IHHt23HBHH;s$蠚Hd$ E3E333 艜3]HHHD3HwH .PL?Hu-=tHuHt Ht H\$@H0_H\$Ht$WH HHHu HjHu膑\HwCH HHDL3L}@HHuo9{tPH]t+HvHK蒙 3H\$0Ht$8H _uHP>\H7>HH8H}H3HD$(LD$ AD$&?u HL$ HL$(H3rH8@USVWATAUAVAWHHl$@Hd}H3HE0LE!3IH}LMDDH];HU=;}HUA=;}uzEAt`AHcHH;HL HwlHAH;w HHK6H+H\$@Ht<NH辛xELúAω|$(H|$ T>o37躚HHtH3HtLc3HMLEE̺Aω|$(H\$ =E3A;M;t;L|$8L|$0D$(DL3ALt$ Z=A;ID9}u,L|$8L|$0DL3AD|$(L|$ =A;tWHc׹HI;tBL|$8L|$0DL3A͉|$(HD$ <A;u HII AtHMHK9u'HHM0H3HeHA_A^A]A\_^[]3DB aH\$WH0HHu#>H!\$ E3E333( FAt:HˋHyHK(Ht 聍Hc(cH\$@H0_H\$HL$WH0Hك3Hu$覕Hd$ E3E333菗&A@ta^HH۱H\$HH0_H\$ UVWATAUAVAW0v3H+HyH3H$ 33ELHcىl$@Eu3Hu.!8H!|$ E3E333LLHIAJ Lt$PMkXAt8@@@t@u AШtAD t 3ҋDBHJAD33HT$XHHZ9YJ I :t @:!|$LI܉D$XEwDt$X @HT$P E3 H-HTAA|Pt ADLL$]AD$\AdPHT$\It4IH+IHHL$DAHvHAHHL$DUHd$8Hd$0L$XHD$\LD$DA3D$(HHD$ 39HD$PHd$ H H LL$LHT$\I D8BA+|$@9l$L EHD$PHd$ @l$\H LL$LDEH HT$\I p8|$L|{D$@e@t@uE3f fD$DAH@t@u6L$Df;D$DEtfl$D f;D$DuxD$@A+A;\$LLt$Pl$@zeǑ ܑLt$PJLADLJDADP\$Ll6떋\$LHJ AD3I@ES Dt$@H$ 3ɋA+A;s&EH< u AHHHHHrH!\$ H$ DD+HDt$@Lt$PLL$HH$ J I 6t5|$HH$ H+HcD$HH;ź A+A;Nt5@E" Dt$@H$ 3ɋA+A;s1EHf ufAHHHfHHrH!\$ H$ DD+H)Dt$@Lt$PLL$HH$ J I 5J|$HH$ H+HcD$HH;ź A+A;?ENA HL$p3ҋA+A;s.EHf u fDHHHfHHrHd$8Hd$0HD$p+LD$pD$(U +3DH$ HD$ =5D3HD$PHd$ HcH EH H LL$HD+I 4t t$HD;3D;A A+A;I H!|$ LL$HEIw4t |$H3R3蠎~HpJAD@t A<$.8M H+H$ H3荅H$H0A_A^A]A\_^]H\$Ht$L$WATAUAVAWH0ELHcكu38轍 3;;HLIL=HkXKL0u+莍8g H|$ E3E333Qm KD0tEIՋ 48X )8 H|$ E3E333H\$hHt$pH0A_A^A]A\_H\$L$VWATH0Hcu袌 ;=HHHL%HkXILu%U Hd$ E3E333>z IDt+? H2u 03ۅt 2 #ً Hd$ E3E333H\$`H0A\_^H\$WH HcAHT$8 Hu腋 HWT$8LD$+H\$WH Hc4HtYHu @u ;u@`tHH;tH*u *3ۋ LHHAHH MkXBDt 躅3H\$0H _H\$Ht$ L$WATAUH0Hcكud38; 3;;HLIL-"HkXKDL0u+ 8 H|$ E3E333ΆafKDD0t 衄 )訄8聄 H|$ E3E333kH\$`Ht$hH0A]A\_@SH AHt"AtHI{c3HHCCH [HhHhH3HD$P=|fL$@tfH |Hu ]H |HHd$ LL$DHT$@A(=q|(xu}%Y|g(Hd$8Hd$0HD$HLD$@A3D$(HD$ |)H %|Ht0Hd$ LL$DHT$HD*tfD$@{HL$PH3zHhH\$Hl$Ht$WHP3IHHH;tL;t @8*uH;tf)3H\$`Hl$hHt$pHP_HL$0I2|L\$0A9ku%H;tf@8l$Ht HD$@HT$0;HL$0D A~0A;|+IH;LǺ D$(H\$ (HL$0;uHc H;r(@8ot" @8l$H4HL$@#*@8l$Ht HD$@AH;AQLljD$(HD$0H\$ H!(;E3H\$Hl$WH xs; kskHcH-HHHkXHDDtGH<t@=eu)tt u 3T%HDH 3  H\$0Hl$8H _H8u ƀ ]x1; s)HcH ĉHƒHHkXHDtH,褀 |Hd$ E3E333 eHH8HHXHpHxL` AUH HcLIL-JHkXKt|3 u3O j|3 uHL3+#D3 ?tKLHL%H\$0Ht$8H|$@Ld$HH A]HcH ˆHƒHHkXHHLH%T%HHHd$0d$(AH XCE3ɺ@DD$ #H&xHHH(H xHt Ht#H wHt Ht#H(%.$%0$%Z$%$HHXHhHpHx ATH MQ8HMAHIHHII\LDDUAA#AfDDEtLMHH賗H\$0Hl$8Ht$@H|$HH A\HHXHhHpHx ATH IY8HMHLCIHID[DUAAAA#AfDDEtLMHH"DH\$0Hl$8Ht$@H|$HAH A\H\$Hl$Ht$ WATAUAVAWH Icx LIIMLMLUDH H4Ic]I^HD;c~ID;cCIHT$PE3QLcCDK LD$PD3EtIP HcI;t HA;rA;r HtIH IcLH HMH\$XHt$hHHl$`H A_A^A]A\_H(迒H(H(H(角H0H(@SH H芒H(H [@SH HnH0H [HHXHhHp WATAUH LHILIHLkHc} t5H HHcMH(HH;r~;r~ Hu3HuADJLIImH\$@Hl$HHt$XH A]A\_H\$Ht$WH@IIHHT$P蒑HSH(肑HV8H0rHS8DHT$PLL(3HΉD$8HD$0D$(LD$ L9H\$XHt$`H@_H\$Hl$Ht$WH@IIHHH8HHS8HL$xLL$pD$8H03H\$0\$(HL$ HLH踐H$Hl$XHt$`H8CH\$PH@_HLH L@HPHHSH`Hك`HHL@\LHT$H AD$@D$@H`[H\$Hl$Ht$WATAUH HcZ Ld$pHHIE3@uQLT$hLD$`AEEt*HcNHH ID$LLA;y~A;9~ IAutBHHcFH,Il$3҅taE3HcNIL$IHtE9~!E9AD;)|D;iE9uABAI;rE9tAH HcFHID$ A A"3H\$@Hl$HHt$PH A]A\_@SH HHH; sH 3HKَH HH [@SH H躎H  H9tHRHuBH [3H\$WH H肎H; toH  H;tH[HuH\$0H _CHKH H\$Hl$Ht$WHHHIHL$0HD>AIֺH$H$HMHD$`Hc$LBLD$0HD$hH$E3HD$x$L\$PH$HB@HHD$(H$H\$XH|$pH$HDŽ$ HD$ L$I[IkIs I_H\$Hl$Ht$WH IHHHuHcC{HFuo3Ʌt3LNLcCKHcIH;| H;rtAIBD H\$0Hl$8Ht$@H _LlH(McHHMAu LIJH(IcPHD H\$WH ALL$@IHHcCHL$@;|~|H\$0H _@SH LL$@IHHcCHL$@DH [H<H{H\$WH H<HH{tHmHH\$0H _HHXHhHpHx ATH q3MHH;tHcLLL;;tHcwLLA8[;tHHcGHHLHcELI;t;9_tmHHcGHHqHNLHcEIT;t3<Ett'A$ttA$ttA$ttH\$0Hl$8Ht$@H|$HH A\H(H8MOCt8csmu+萊~~ p3H(HDH L@HPHHSVWATAUAVAWH0EIHLu^LHD$(A;~;~|NLc"HcNJ<|$ HcNJ|t!HcNJHc\HH\$x3Ht\DLHIHcNJ|tHcNJHc\H3AIHID$H$Lt$pL|$(|$ |$$H\$x~ t A;~IDLHILH0A_A^A]A\_^[Ht|H\$PHl$XHt$`AH A_A^A]A\_@SVWAUAVAWHHE3Dt$ D!$L!t$HL!t$@]HH$IHH$HwPH$HGHHD$8H_@HG0HD$XLo(Ll$` HHHHR(HL$xLHD$PL9wXt(DŽ$迆H8H\$@讆HAIHL$XPHHD$HH$D$ r$t.H$HL\$@MK ECASA H$LN DFVDt$ H\$HH$Ll$`L|$PI`Eu@>csmu8~u2~ t~ !t ~ "uHN(t H誅H$H薅HHD$8HcHIEHHHĘA_A^A]_^[H\$Ht$H|$ATAUAVH0IILL3EhD;tMcdM\LL;D;tGLHcGLLA8[9_u ''r HcGI$LtFIN( ;t(I ;tIN(I $HVI$1'@>taIN( ;tHI ;t:LcFIV(I0~I9$HVI $I$9^tfLHcFLLL;uEIN(+ ;t/I ;t!LcVHVIN(LHMI袰`YIN( ;tDI ;t69^tHHcFHH ;t$ϋىL$ 3H\$PHt$XH|$`H0A^A]A\H\$Ht$WH IHA sHIcxH:t;uaE3D9StGLHcCLHSHN(XHAHA+E3D9St LcSLHSHN(%HHAH\$0Ht$8H _HHXHhVWATAUAVHPL$ILMHLHMHIL$H$HMtLHH\HcN LH$MƈL$@H$Hl$8Ll$0ỈT$(HHD$ L\$PI[0Ik@IA^A]A\_^H\$LD$UVWATAUAVAWHp9MILH蒁D$H$HtNsHH9t8>MOCt0H$MLHD$0IHD|$(Hl$ } u{D$HD$`Ll$0HD$(H$EEHIHD$ H$5D;'D;gHcO HHcOH|t$HcO HHcOHHc\H3HtHHcO HHcOH|t$HcO HHcOHHc\~H3xulHcO HHcOHD@ucPO L$D$XD$PHcMHH HcGIHH$HD$HD|$@H|$8Hd$0HL$(HHl$ .$H$;D$`H$HpA_A^A]A\_^]H\$ LD$HT$UVWATAUAVAWHH$E3LHIHMID|$`ED$qLL$xLII̋hLIILI;~ HL$xDgDLIIb I|;s|'?csmK t !t  "L90~L9u~Hi~HO8HD$`H$HsA;u?csmu,u& t !t  "u L90u]}L9}H}HHLhA:D9}E~UIHcMHD9|tHcMHHc\HIHaHmA:uAHD;e|̲HLB.H$H$L$kL.HG=H$L$oH$?csm{ t !t  "\D9{ D$HD$hLl$0HD$(HD$dDHIHD$ cL$dHD$h;B9u;uLceDu LE;HO0HcQ HDHD$pHO0HcQ D<4zHL$pLG0Hc HIHH$8uAHD$pEAIE3눊$L$AD$XD$`M͈D$PH$HHD$H$D$D$@H$Hl$8HD$0Ld$(L$IH\$ E3D$L$D$hL$dHL$d;E:%=!s A;t HcXHII;tqA;tAHHcC HIHA:uKL$LII#$L$L$@Ll$8H\$0L$(LHIL|$ nzL9tH$HĠA_A^A]A\_^]D9{ vD8$u4H$MLHD$8$IԉD$0Hωt$(H\$ jc@SH H>iL*LHH [H\$Hl$Ht$WATAVH@IMHHyH$A)A&Au8;csmt0D9u{u H{` tD9 t#ʁ"r Dw$Cfk$] t?D9 u:M$HH|;G|DHHLt D9us8|;w|UHK(DLHH u.#=! tHcO H3H;csmum{rg{ "v^HC0xtHK0LcYLE3Mt:$LMĉD$8H$HHD$0$HˉD$(H|$ ALVp~  &:Nj 4@JVhx  2 : L Z f v        ( : R l |         $ 4 \ j z    r` 2@t<@F@V@x@G@/!MWbad allocation@P$@l1@ &@&@@1@l1@Unknown exception@1@csm   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~=(null)(null)EEE50P( 8PX700WP `h````xpxxxxCorExitProcessmscoree.dllruntime error TLOSS error SING error DOMAIN error R6034 An application has made an attempt to load the C runtime library incorrectly. Please contact the application's support team for more information. R6033 - Attempt to use MSIL code from this assembly during native code initialization This indicates a bug in your application. It is most likely the result of calling an MSIL-compiled (/clr) function from a native constructor or from DllMain. R6032 - not enough space for locale information R6031 - Attempt to initialize the CRT more than once. This indicates a bug in your application. R6030 - CRT not initialized R6028 - unable to initialize heap R6027 - not enough space for lowio initialization R6026 - not enough space for stdio initialization R6025 - pure virtual function call R6024 - not enough space for _onexit/atexit table R6019 - unable to open console device R6018 - unexpected heap error R6017 - unexpected multithread lock error R6016 - not enough space for thread data This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. R6009 - not enough space for environment R6008 - not enough space for arguments R6002 - floating point support not loaded Microsoft Visual C++ Runtime Library ...Runtime Error! Program:   ((((( H h(((( H H  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~HH:mm:ssdddd, MMMM dd, yyyyMM/dd/yyPMAMDecemberNovemberOctoberSeptemberAugustJulyJuneAprilMarchFebruaryJanuaryDecNovOctSepAugJulJunMayAprMarFebJanSaturdayFridayThursdayWednesdayTuesdayMondaySundaySatFriThuWedTueMonSunEEE00P('8PW700PP (`h`hhhxppwppGetProcessWindowStationGetUserObjectInformationAGetLastActivePopupGetActiveWindowMessageBoxAUSER32.DLL Complete Object Locator' Class Hierarchy Descriptor' Base Class Array' Base Class Descriptor at ( Type Descriptor'`local static thread guard'`managed vector copy constructor iterator'`vector vbase copy constructor iterator'`vector copy constructor iterator'`dynamic atexit destructor for '`dynamic initializer for '`eh vector vbase copy constructor iterator'`eh vector copy constructor iterator'`managed vector destructor iterator'`managed vector constructor iterator'`placement delete[] closure'`placement delete closure'`omni callsig' delete[] new[]`local vftable constructor closure'`local vftable'`RTTI`EH`udt returning'`copy constructor closure'`eh vector vbase constructor iterator'`eh vector destructor iterator'`eh vector constructor iterator'`virtual displacement map'`vector vbase constructor iterator'`vector destructor iterator'`vector constructor iterator'`scalar deleting destructor'`default constructor closure'`vector deleting destructor'`vbase destructor'`string'`local static guard'`typeof'`vcall'`vbtable'`vftable'^=|=&=<<=>>=%=/=-=+=*=||&&|^~(),>=><=<%/->*&+---++*->operator[]!===!<<>> delete new__unaligned__restrict__ptr64__clrcall__fastcall__thiscall__stdcall__pascal__cdecl__based(X@P@@@0@ @@@@@@@@@@p@P@@@@@@@@@@@@@@@@@@@|@x@t@p@l@h@d@`@\@X@T@P@L@H@D@@@<@8@4@0@,@(@$@@@@@@@@@p@P@0@@@@@@X@8@(@ @@@@@@@@x@P@(@@@@@`@0@@@@SunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecCONOUT$No errorFile not foundNot a PE fileGeneral failureLVp~  &:Nj 4@JVhx  2 : L Z f v        ( : R l |         $ 4 \ j z    r` VerQueryValueAGetFileVersionInfoSizeAGetFileVersionInfoAVERSION.dllSetCurrentDirectoryAlstrcmpiASearchPathAGetCurrentDirectoryAlstrcpynA_lclosenGetUserDefaultLangIDFileTimeToSystemTimeGetFileTime_lopenFileTimeToLocalFileTimeyCreateFileAGetFileSizeMapViewOfFileEUnmapViewOfFilezCreateFileMappingACCloseHandleKERNEL32.dllwsprintfAUSER32.dllGetLastErrorHeapFreepGetCommandLineA1TerminateProcessGetCurrentProcessBUnhandledExceptionFilterSetUnhandledExceptionFilterIsDebuggerPresentRtlVirtualUnwindRtlLookupFunctionEntryRtlCaptureContextHeapSetInformationHeapCreateHeapAllocTRaiseExceptionRtlPcToFileHeader\GetCPInfoSGetACPGetOEMCPIsValidCodePageEncodePointerDecodePointer?FlsGetValue@FlsSetValue>FlsFreeSetLastErrorGetCurrentThreadId=FlsAllocRtlUnwindExEnterCriticalSectionLeaveCriticalSectionGetModuleHandleW%Sleep GetProcAddressExitProcessWriteFile;GetStdHandleGetModuleFileNameAKFreeEnvironmentStringsAGetEnvironmentStringsLFreeEnvironmentStringsW~WideCharToMultiByteGetEnvironmentStringsWSetHandleCountGetFileType9GetStartupInfoADeleteCriticalSectionNQueryPerformanceCounterfGetTickCountGetCurrentProcessIdOGetSystemTimeAsFileTimeHeapSizeLCMapStringAMultiByteToWideCharLCMapStringW=GetStringTypeA@GetStringTypeWGetLocaleInfoALoadLibraryAInitializeCriticalSectionAndSpinCountHeapReAllocGetConsoleCPGetConsoleModeBFlushFileBuffersSetFilePointerWriteConsoleAGetConsoleOutputCPWriteConsoleWSetStdHandle@@.?AVbad_alloc@std@@@.?AVexception@std@@2-+] f        ! 5A CPR S WY l m pr   )    @@@.?AVtype_info@@ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ @`y!@~ڣ @ڣ AϢ[@~QQ^ _j21~@C`@`@`@`@`@"@@@@ !@p@p@ @ 7@ 7@@@|Y@@@ X@ @@X@0@@@@h@0@@@@ H@!P@"@x@y@z@x@h@ @@@`@\@X@T@P@L@H@@@8@0@ @@@@@@@@@@@@@@@@@@@@@@@@x@p@`@P@H@D@8@ @@  !@."@2@2@2@2@2@2@2@2@2@"@.<@<@<@<@<@<@<@<@<@<@pPSTPDTp#@#@;Zx0Nm:Yw/MlDEPENDS - Matt Pietrek, 1997, for MSJ Syntax: DEPENDS [args] /v show version information /t show time & date information /p show full path /q quiet (don't report some MS dlls) /l show link time & date information @@.?AVbad_exception@std@@CP``K<Ps8s|d&T0 \(\33|| !!e"Dp"""""#`###$P$$$$$I%dL%%@&Q'(T'''k(<(*`*.*H0*z+++H+,H,J,L,,,--M.P...z/D800D0H1DH1j1H11111 2H 2N2P2U3X3o3Hx333=4@44|466t7 t78d8{:D|:t<`t<<H<>DX???%@D@i@Hl@A AAAAABCCCD DF,FGGGHG H H9H<@fxhٿܿ  z|N0`8''@G`` *CC__ 88|`|h00 HX`Z PAPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPAD(08ȣpxȬЬج (08@HPX`hpxȭЭح (08@HPX`hpxȮЮخ (08@HPX`hxl0PPا8XȨШȬЬ(8HXhxȭح(8H  (08@HPX`hpxȡСء (08@HPX`hpȢТآ (08@HPXexiv2-0.25/msvc2005/tools/bin/sed.exe0000775000175000017500000014000012447013555016764 0ustar andreasandreasMZ@ !L!This program cannot be run in DOS mode. $PEL$= 8@ .textP `.data|@.bss0.idata@UEEP5\@EPh@h@裰ÐU`@t{@@t5`@P^P]@ t5`@P6P5@@t5`@PP ÍvUVSE11=w=sO=tv=t9=t7tjj 謯ujj 蘯MtLj >jjwujjctO t jл؍e[^USh@蜰_05@5@Gà ծSdUjx@1ÐUjx@yÍvUsage: %s [OPTION]... {script-only-if-no-other-script} [input-file]... -n, --quiet, --silent suppress automatic printing of pattern space -e script, --expression=script add the script to the commands to be executed -f script-file, --file=script-file add the contents of script-file to the commands to be executed --help display this help and exit --text switch to text mode -V, --version output version information and exit If no -e, --expression, -f, or --file option is given, then the first non-option argument is taken as the sed script to interpret. All remaining arguments are names of input files; if no input files are specified, then the standard input is read. sedbug-gnu-utils@gnu.orgE-mail bug reports to: %s . Be sure to include the word ``%s'' somewhere in the ``Subject:'' field. helpversiontextsilentquietfileexpressionrxtestPOSIXLY_CORRECThnrVe:f:Textmode! 3.02GNU %s version %s &Copyright (C) 1998 Free Software Foundation, Inc.&'%s This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, to the extent permitted by law. U WVS}u 1ۃh@赩ƒ@@$`@`@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8@@=5@Sv5@SÃv @@v@@Ph@芨@h@h@h@@ Psh @hL@@ PX jCv@ 5@h @S+h@h@h,@S j@@5@h @Sh@h@h,@S֧ jjh@h@VWNL =@uDh5@PVh@ PP4 ue@9}4@j=ÃB@@5@h @Sh@h@h,@S jS@PS71à q@ P5t j蟦v1e[^_ÉU1ÐUÍ&Command only uses one addressCommand doesn't take any addressesExtra characters after commandUnexpected End-of-filebad regexp: %s Unmatched `{'Unexpected `}'No previous regular expressionMissing commandUnterminated `s' commandUnterminated `y' commandrU$S] @@@@ @;-u{th@S5 @EPh@5 @>t@@E@@@@uÃ@t-uP@@@ @;@t P_3 @@؋]Ð&Can't find label for jump to '%s'UVS]Ct+P @@BABAh@s 8C @tUP$9¡@PR5@8P+8¡@ 5@9@5@tt@[ tvsguF8tuPh@0VR\^ v7V7 ޅu@@ts7C[ ue[^ÐUS]t2@t P87@C@} 6\uVuj 5@7P5@7%t uj 5@7u@5@d7CP5@C7Pr6 5@8@]Unexpected ','Multiple '!'s} doesn't want any addresses: doesn't want any addressesstrings for y command are different lengthsUWVS}uFjs4CCj h@5C C C]=@tj jvÃ;tSˠuEPwESR8 t?Ã,u3PE P uhT@ËMy u9u A9AsA!u#E@pÃ!uhc@UZC~$(!@'@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@$#@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@ %@(@(@x%@(@(@(@(@(@(@%@(@(@%@%@(@(@(@(@(@%@(@%@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@(@$@X%@$@%@(@(@%@%@$@(@(@%@(@%@(@%@x%@%@ &@X%@(@(@%@%@&@(@#@(@0$@M9th@ÃnuO=@tF=@w=@t B9@t @tuP蛝u @ vSà uE@uj0CCj h@1C s t FC vCEX]vExuh @U:thq@~Ãt t;th@XE@Ep U1E@ E@EMy thl@Ã\th@à tth@SEP>E8th@uUR5@@uMQ5@ @Ex thl@NÃu l;ch@NUz thl@jEPjl "vEPjjQ  EjjQMEuh{@jjEP#Ãuh{@yS 0UB$PS/P/MA S0EP jPEP UBMQ|0 >h-17GvUr EjjQYEuh@EP//ƃUR-/ǃ tb ;]uh@o uh@Z\uu Ãuh@9MAFOuEP/= ;Eu Ãt; t6;t1h@hk@ @h@ E@'vEe[^_ÐU WVS Ã^uj^EP1. Ã]j][j[EP-x Ã߃.t:t =SEP-L Ã]u9tkt u ރVEP- Ã]u9u1\u, ÃtJnt tj\EP[- SEPF- Ãt t ] t؍e[^_ÐU WVS},mvnu} t K tD9u}t:j\V,*[u$} tj[V,VUà ]u7SV, Ãt t9t\u Ãl9uw u j = } tT=@tKV*,ÃjV), V,t < uPh@蒖jXV,1e[^_Unterminated address regexU WVS}] S5t^S v Ã~u(d P twGSC w/t \jDž \uÃjjSƃuh*@O ÃIu Dž  S j (V* t8jV*5@* Vp*PJ)@ =@uhL@  % = @t P5@P跋tH=@t5@h@蠔jfhSjPS; GV*$t1v[^_wmultiple number options to 's' commandnumber option to 's' command may not be zeroUnknown option to 's'UWVSuEFFF FvÃgtp:9!0Hw nq;_It&]pt' itKvwt'>E돍vF놉F{vu'2PWB(t ujW%(W(Ƌ@ v[ t{uV3蠒uNvj%ÃV&CC h,@3#C@C @W\(}tBCU8~ th,@SF oh,-@EvhY-@Gve[^_ÍCalled savchar() with unexpected pushback (%x)%s: file %s line %lu: %s %s: -e expression #%lu, char %lu: %s U WVS]u  @5@5@װэT@@@@B@‰@Sr@@@@e[^_ÉUVS5@t4Ft PL6'%^ V% ޅu@e[^ÐUVSuC;CuP(SRP3#C@@ @@e[^ÍvUVS]j "ƃS% t:jS$5@]$ S$P#@ =@uhL@} %}t = @t P5@VtD=@t5@h@j轎hSjPTS[^ÍvU WVS#PW $t ujW#W#Ƌ@ v[ tE9CuV3fuOj!ÃVc"USC uh,@3C@C @W!$} tU }tCUe[^_ÉU WVS} "PV#t t t t ;t}uЃPjV" j ÃV"P{!CE+8iNCEC 0VS#؍e[^_ÐUS@t;@s4@) @t Pʌu5 @譌à u@؋]ÐUS@t;@s:@/v @t#Pbu5 @Eà u@ t t؋]UVS]1`tCл@t;@s7@, @t#Pu5 @ŋà u@S輋uS e[^ÍvUUtY u@tH@@t-;@vH @@9t#Phl/@5 @R!ÍvUU@tR5@P5@h/@'R@@)‰P5@5@h/@@@P赊 j蠊t&rrb%s: can't read %s: %s UVSu] L6@=@uN6@C@>-u!~u5@Պ@CPPV越Cu<蔊0蕊PV5@hQ6@@@PC L@CRvC \8@CPCPs.tCCCC C h7@s2P4C$e[^ÉU WVS}w j wƃt +_F*vG u 1wË8u =@t P@ L@H@)9s2 L@)9sډL@5L@5@@@@H@@@SwP9H@+G)G we[^_input read error: %sUWVSH@E=@yL@ H@)ȋ@9s2L@)9sщ L@5L@5@@@@H@@@5@5@Pt@H@@Ur Ex$tu@=@pEv9}sV趇t EC u߃Vt 0PhE8@J U@!Ep5@j5@{@=@u6U8u =@t P@E9H@%v@@5@j 5@P]+@ L@H@)9s2 L@)9sډL@5L@5@@s@@H@@@S5@PԆH@CP@@)@e[^_ÉUS]C L@{t4CtsP|C;@t P C8uMS0FCt{u"PŅtsP詅 v{ f1]ÍvUS]=@t 1Cu S$p{t1{ u`S %KPCt S/su SsP1]ÐINTERNAL ERROR: bad address typevUVS]u $P<@<@d<@<@<@<@}tC9F%vC9F%KS9sF19%h9Ns1^vȉ1SIV@ >@D>@$>@X>@>@0>@,aV,b",f*,n2,r@,`,tB,L,vG,8Rh"=@,Pǂ,װэL ,,+8<Ev$@ Pjjh'=@Dž<@ PWj8P<CNL@ Pjjh*=@Y[^_ÉUWVS=,@uj2h @D(@EDž|1EH@E@EEURUMxE}}9}s +EPE@@Ph @MUE;P sGE])u ;=H@sS@@Ph @߉}H@)=UӋM9<\ur9s)PRh @ C;]s6؋]ÍvUSEuPlÃu hP@؋]ÍvUSUE uR1Lu$PlÃu hP@#PRrlÃu hP@؋]ÐUWS]߰хuQ1lǃuhP@GSWke[_ÍvUVSu uPkÃuhP@VuSwke[^UEt PkUVSj kÃuhP@j2kkƃu hP@s2C؍e[^UE@ÐUE@ÐUWVS}} ;GpE9v~9sSwjE}uXGu P DuSjƃu*hP@SPjƃu hP@uEGWGM Ge[^_ÉUS]tCt P&jSj]ÐPOSIXLY_CORRECT--%s: option `%s' is ambiguous %s: option `--%s' doesn't allow an argument %s: option `%c%s' doesn't allow an argument %s: option `%s' requires an argument %s: unrecognized option `--%s' %s: unrecognized option `%c%s' %s: illegal option -- %c %s: invalid option -- %c t&'%s: option requires an argument -- %c %s: option `-W %s' is ambiguous %s: option `-W %s' doesn't allow an argument U\WVS@=@t=@ @]@@@@hW@f@M-u@C2+u@]Cvt @ @]@@t :@9@~@9@~@=@ @ @M99։E99~~U+UE)9~5U)‰U~M < ÉKuEE/v 2Mą~EM < ӋKuuċE9E~9@+@@@ 9t@@@H @;E}U 8-uxtڡ@@@;E M 4W@P@@ @M9@9։E99~}U+UE)9~5U)‰U~M < ÉKuEE/v 2M~EM < ӋKuuE9E~9@+@@@@@U@@@;Eu@;@t#@M :-uJu2=@u -v@@k1}t -%@‰@@}@M x-t6}xu&XM9tv9tA9u1mEEEEFt<=u]E"}u]E܉E vEE܋ tI@)PRQcu؉+@;эA9u]U܉UE}tR}uL=@t @M 41hW@@@Pgb@װэD @L}@P@>MytF5@&=@tWPM Dx-uE01hW@@@Pa+vM1M DP1h X@@@Pa@װэD @UB @?My@;E}U @@j=@tM t1hLX@@@P+a@װэD @UB @?M9:H:>@װэD @}tMU EP@UB 7}t9@M x-t(@U:t9tB:u1=@tU@U x-u5@2hX@@@P,`'5@PM 1hX@@@P`@X@@ @?5v'@@ˋU:t 9tB:u1 @9u@t:u_ۃ=@t@=@tSE 0hX@@@Pi_vSU 2hX@@@PK_ @?vP8W;EEEE9t @Y@;EuB=@tPM 1h Y@@@P^ã @?E8::U @@5@5@Ft<=u]E"}u]؋MȉM vEEȋ tI@)PRQ _u؉+@;эA9u]؋UȉUE}t^}uX=@t @M 41hLY@@@P]@װэD @@?}B>teU؃zt F5@=@tM1E 0hY@@@PV]@װэD @?vU؃zu@;E}M @@b=@tU t2hLX@@@P\@װэD @?U:::v@װэD @}tM̋U E؋Pt@ 1vU؋B @W:x:u@8ue@dv@8uL@;Eu<=@tPM 1h Y@@@P[ã @?E8:u:U @@@Íe[^_ÉUjjjuu uOÐUjuuuu uÍvUjuuuu uÍvUnmatched ) or \)Regular expression too bigPremature end of regular expressionInvalid preceding regular expressionMemory exhaustedInvalid range endInvalid content of \{\}Unmatched \{Unmatched ( or \(Unmatched [ or [^Invalid back referenceTrailing backslashInvalid character class nameInvalid collation characterInvalid regular expressionNo matchSuccessalnumalphablankcntrldigitgraphlowerprintpunctspaceupperxdigitvUWVSE UUЉEMIMEEEEhYEu ,E Eu]s cCC=@u\@E@aƀ@@z~Aƀ@@Z~0ƀ@@9~O@@]{uOtj PXj Xu}?uuX .+E@ UUUU;U#)v MBU܃}t ]EEr&$Ti@{@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ l@ @ @ @{@{@ m@m@ @ @Lq@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @m@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @r@{@ @ k@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @{@{@E@U9uVR}WQ$(uF=vF}w7V‰w9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰UEE)@MQ9\] #U;UuV}WRCQ#v'uF=vF}w7$U‰9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰UEE)@MQ9\] "UE"}uu 2&"EEvEJM܃}t Eu0E}*ttEu}+th}?tbX}\uR;MuuT&BEJM܃}t Eu0E}+t }?1EE M+vE}+t EÀ}?t ËU;U@}($UE)؃R9%MA=vAuv6@S‰9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰U}E)؃W9]}tUB]  vEHƒ}t uF.9tp.uk}te;Us`}t}8}tMA 9t 6 u/]@u'E+EPuVj ME#]E)؃P}WjL؉Ep$uF=vF}w7Q‰39tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰UEE)؃MQ9Z]S+EPuV}tPJLEE}!#UB=vBMq1P‹uH9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰U}E)؃W9ZEPjURjuKE MMu"}G=vGEp0 P‹Mp9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰UuE)@V9\}G} EE9EH!UE)؃"R!MA=vAuv60O‰9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰U}E)؃"Oʉ9YEE)@9!UB=vBMq1tN‹u9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰U}E)@W9\MEEܲ8^uE܀8^u@E܋E܉EUE)@R98 MA=vAuv6M‰9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰U}E)@W9_E @E1]{uutKU;UuuLdvEJM܃}t E]EEt`}\uZ;MuuLBEU܃}t EUEEЊMM \U܀}]u E@9}t}-us:]}-udB;Erz[tVB;Er z[uz^tB:]t=]SuV}WEPEP!Hà uKK:-uOz]tI;U E܃URMQ]SuVEPGà ueKE}[::;UEE}9}/UE;EEE܃}tEME}:uE܀8]t]9]t}tEM E뭐E]}:E܉€:] ޿tg@E޿zg@E޿g@E޿g@E޿g@E޿g@޿g@~޿g@}޿g@|޿g@{g@މǹz޿g@y޿zg@މǹ޿g@޿g@޿tg@޿g@tv޿g@tc޿g@tP޿g@t=޿g@t*޿g@t޿g@;UE܋]9]1}tVHu<}tVHu&}t t t}t)VHt؉уU}tVGu[t VGtVqGt2~tV8Hu}t)VgGt؃U|tVGuK{tVFu2ztVGuyt)VGt؃U}tKzu ~t9VQGuVQGt؃UF0Ev}tE܍vHM}uE܋MI IEvEEЊM]cvuVt'F|uvȋMAt A|t]CÉ]u k} WEFvf}3E%=E;EuuEvEEEكU$0|@@}@8@@@@@@@@؎@؎@؎@؎@؎@؎@؎@؎@؎@@@@@܊@@@@p@@@@@@@@@@@@@@@@@@@@@D@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@p@@@@@́@U dMAEU;Uu/PPuCEJ]ۉ]EU}u+>‰9t:E)ЉE}t E)ЉE}t E)ЉE}t E)‰U}E)؃W9gEEEEU< %=* U܍B;Eu ;U tE܍HM;Eu%uu{= EE܃}t E]EuEE܃}t EUE]S<t.t} Džtt\CЉtE;Eu},uuE;EtaEE܃}t*E]vEE܃}t EUE]S<t}1|CЋE;Eu}tt|9t~u>< u4}\nE;EEE܃}tEMEv}}t~u; r}u] "Muu(UB=vBMq1;‹u9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰U}E)؃W9ZEP+EPURj 6E~v ~M1E)؋Q98 UB=vBMq1:‹E9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰UU2E)؋R9[MQtS˃~ +E +EPuVj85] StPjVj5E L_SE+EPURj4EMQS)PVj4E0v]]܉;E EE܃}t E}8EE;Ex\EUUM)@| uF=vF}w78‰?9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰UEE)@MQ9\]u}}Ev uF=vF}w78‰k9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰UEE)@MQ9\]u UB=vBMq1@7‹u9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰U}E)@W9\E#U ME)@ uF=vF}w7p6‰9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰UEE)@MQ9\]7uPPUB=vBMq15‹u9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰U}E)@W9\EUME)@uF=vF}w74‰C9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰UEE)@MQ9\]uUB=vBMq14‹u|9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰U}E)@W9\E @E+UME)@uF=vF}w7D3‰9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰UEE)@MQ9\] u@$EЈEE;E Puuu/UUM)؃vuF=vF}w7<2‰9tDE)ЉEE)ЉE}t E)ЉE}t E)ЉE}t E)‰UEE)؃MQ9Z]CEC]GU}t EME}]D;Eus;tnE܊€*tb^t]ut\uB<+tFMt4UB] ؈€]C$ЈCEAEEt뺍vUBM Ȉ€]C$ЈC1e[^_Ut+F}8VE9Eu M+M vE+EEXu=@t }<@uE P@Yu V}t9E w 9w+E +EE} W}tu9E w 9w+E v}+EECE ;UvE9]]9sM QAC;rE+E]9]tu)u+]+] }G}Ѓ$@@@@@@@p@(@@l@@@0@@@H@D@@@@@@@0@(@@Ա@x@l@ @E@EЃ}tHU9UuM9Muu؉M9t}MЊAMG}؋u82KuAv}9}uE9EUU؉E9tM؊uЊFuAM8Kuƒ}EEU9vM @;Ev]9]uu9uT}}؉u9tE@ @u*}tUMĀ< %v]؀; u~ }'}t}UĀ<uM؀9E@}EM]9u A;Mv}ЀEE9EuU9UMM؉U9t}t]uĊ0v}؊ËM 9s %}T؃suEЍt0uЀ}E@}EMU9] A;MvuЉu}u&WEPEP$ȈU ]tuE؁@t }UMu؋]4} $EE}uEEUЉUh] ut}E؁@t U]uU؋}M$E]9]uEE}7HEЊ0t!‹]ut‹}tuEEEEt EH9E;MEM1E<w <s< t .<u(EUBÍru}t UvUU:z}Њ8BsM}+}tG$] C9s2vuU]9ruAUS9rыUruZBÃUu+UO< D99s\ǐX@P9 $+PuRE EEu+E9ruU9w=MU}EMU}EMU}EF;uvċUEM EUEM EUE]EUE]؉EcvMUxBUЋM=@7xu@E1Ƀ}t9E w X9v1}t9U w;X%]|9t||9uu8}9}t!xM9Ut]]|9u|9u}9}uE9Ex UU؉E9t]+]؋|+E9~Ã}t MQSuV}WN3 u؋} ]]}=EEU9(M @;Ev}t ] 9]tu9ut}u}G  E؀x  AM9Mu]C@ u9uu}? ts vE؀8 d UBR }tM 9M~ ]9]p}& au9uT v}GÃ}Ћu+UE+EH< D99s\ǐX@P9$PuRE[EEu+E9ru]ЋU9w>MU}EMU}EMU}EF;uvċUEM EUEM EUE[uFÃuЉu}9s?>uPU;Es+8tE;Es8uP@ЉE}uUu+EU+UJ< T99s]׉X@P9=$oPuRaE MɉMu+E9ru]ЋE9w>MU}EMU}EMU}EF;uvċUEM EUEM EUEEUE]؉EuFÃuЍvF;Es<wvF;Es >u׍vE؉E;uu}GTtUB ƅ` t N`À{u"`8CtUBTSBMЃT<|C8`s$`%T`s]ЃT,uF }ЃT EÀ{u3FS9K%TȃC<ub1~UЃT9}<~tC9}.VCA9}|tC9}TD Ѕt9unMAev}ЃT<uR1~9}5C9}-F"Cu%\ىB;\}A9} D"Dt9tC9uE@TUЀztB pEUHMLX]\9rJUruED}UBEEDUUruED}I9sEE@ËUЍ\]v]+EU+UJ4 T19s]։X@P99$kPuR]EMɉM]+E9ru]9w=MU}EMU]EMU}EF;uvċUEM EUE]EUEEUEE]+EU+UJ4 T19sd։X@P9w9$kPuR]Et }} c]+E9ruE9w>MU]EMU}EMU]EF;uvċUEu4EUEM EUEEUEEu^FÅ~K^u}GGHEX@tKUЈZZgEcvMAÃډUAÃMЈEX%}t] 9] u9u}}9}UJ;Uu EEH9u MQ v]S@<‰u9uu }vEH9Eu ]Cu<8w2}t} 9} E9E}U9UUJ;Uu MEH9u ]S vuV@<‰}9}u ]vEH9Eu uF}<8E9EuMEH9Eu ]Su@< A}t} 9}o E9E`}VUJ;Uu UEH9u ]C vuF<}t} 9}uE9E}UJ;Uu MEH9u ]S vuV@< p}9}uUEH9Eu ]Cu<|}9}p+vE9EuU9UMM؉U9t]9]u uvEH9Eu }GU@E@}EM]9u A;Mv}9}uE9EUU؉E9tM9Mu ]vEH9Eu uF}@t=E@}u EMU9w] A;MvEKv vEpuMTtU؍x}TUЍX]TUX]DE9rHUruED}UBEEDUUZ]EDuI;MsE}[}9}sTMЊ<w <s< t ?<u9E@Eu^@ÍD3Et 8 8} 9}3E9E'UU}8[^_UWVS} uUE9<<BEZ@U)BEZ@ÍBE|tU3vE|u&VUDPRtiUډU:tEXPӃVRPt7]'E#VWEPt U91e[^_ÉUWVS}uE@E$Զ@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@EVu EP.uʀ$Јuu1{EPExȉERUZ]JCBEuU Bˉ]Eu 땉E덉Ee[^_ÉUWVSuEtEܲE@@@thhG UBu 1ۉuvMqSa tS9 ؈3CvE@uteMUJ MaE$MQˆQQEP} эAPU R蚮ue[^_ULWVSu]EFu}Eύ}$U$€U}t8EESESE }tux1}tEURPRjRu jjEP)Ã0}t@|&1;UsvEMыEDB;UruauV؍e[^_ÐUE @ @ÍvUS]M EPʀPP5 @QS6t @1]ÐUEPuuuPu jjuRUEPuuPu jjuHÉUu$u uuuuu u!ÍvUSMU ]tA$ AEBEBaBB[ÐUWU uuuװэAPRu}ÉU WVSEuv;v@װӅt/9vFPREPUD2SRMQf؍e[^_US]t PsCCCt PLCcCt P.C]ÉUMU E BBÍvUS]M EUAAQQ[ÐUVSu ]M9tQvJIB9uE^^[^ÍvUWVS} ]uM9tQvJIB9uE__GG[^_ÐUSU ]B;Evx\1R(u uu|uf|t[U VS]u\EC1;E s1 t)t-}t t9)tf};|t}tt 9|u[^UWVSM;E u vP]@9v1ҋEt v׉}tɋU]ɉ]˃}tM E E0}tEсу)ʸˆG;}x1[^_ÐUUMIx"Ev9u Iy1ÉU VSE] uE9sC9tVSEPu 1(AEQ@D EM9re[^ÍvUWVSM}u] t:CF88tIu1[^_ÐUd@8td@Сd@Pd@xuÐUS@@u1=D@tD@v@:uÅt @@Kuh@]ÉU=h@uh@Q=r -) ̋@v%`@%d@%x@%|@%t@%@% @%@%@%p@%@%@%@%@%<@%@%@%@%@%@%@%(@%@%@%$@%@%@% @%@%@%0@%@%@%@%,@%@%@%@%@%@%@%@@%4@%8@%@%@%@%@%@%@%@%@%@%T@%P@@r@e@f@n@n@t@V@hUnknown command: ``_''-@?lg@cg@Hg@,g@g@f@f@f@f@f@f@f@yf@Tf@f@e@e@ NL@TPd`tpHXx(4<HP\hp|(4@LXdpxHXx(4<HP\hp|(4@LXdpxExitProcessSetUnhandledExceptionFilter_fileno)_isatty'__getmainargs;__p__environN__set_app_typev_cexit_errno_fileno_fmode_fpreset_iobu_setmodeabortatexit clearerrexitfclosefeofferrorfflush!fopen"fprintf$fputs'fread(free.ftell0fwrite2getc4getenv:isalnum;isalpha<iscntrl=isdigit@islowerAisprintBispunctCisspaceDisupperRisxdigit[malloc_memchramemcpybmemmovehprintfiputcqreallocysignal|sprintfstrcmpstrcpystrerrorstrncmptolowerungetcvfprintfKERNEL32.dllmsvcrt.dll(((((((((((((((((((((((((((((((((((((((((((((((((((((msvcrt.dllexiv2-0.25/msvc2005/tools/bin/rm.exe0000775000175000017500000017000012444565654016643 0ustar andreasandreasMZ@ !L!This program cannot be run in DOS mode. $p'4t4t4tt7t4tktmt$tmtRtmttmt5tRich4tPELؒT ` @L(@D.text `.rdataj!0@@.dataD,@UQjjEPhMQjh@URE Ph@MQ]UE}tEPh@R P MQ@E}u)E}u! @PUR@PZ }tEPhԱ@ PY E]UE} EP@E}u'}uMQh@@P 3Ut'}u!EPhP@v@P EMuUt[E}tEPh@ MQUR@E}u&E}u @PEPMQH }tURh@ PG EP @E}u+E}u@PMQ@P }tURh@ P E]Ux@3ʼnEEDžEPhQh0@hRPQ @u1E}u@PUR@P( EBEPhQhh8@hRPhQztXPh<@t>Qh@@t&UREPM QRuE&EPMQU RP/uEQR@@E}t#@PPMQ ER@EPMQU REP!EM3]UEEP@E}u)E}uMQhH@8@P {UtP} t%EPMQUREPuE#MQUREPMQouE#UREPMQURuEE]UV4@Vju P,@ۋFEFE܋FE؋~ P,@utM܋U‰5@@ @@=@EjYujYL3ujY.ej}j%Y.$@,h@+}jY)}j YjYtPY@@P5@5@S E}uP=Z.E MPQ'YYËeEԉE}uP9EE 3AVt$V4Pg4YYt{y ;u3i@;u_3@`@fF uNSW^^N _3[@^3^Ã|$t'Vt$ fF tVf f&fY^ËD$VF ucN0FHlHhN; @t @HpuO=F;@tF @Hpu5FF@puHpF  @F^@ @txtPt$i=f=YYuUVuEM >Yt} ^]G @SVt9u3D$ 2L$ PCC>Yu 8*uj?rY|$ ^[U$ t@3ʼnSVW3MEĉ]؉}}}ȉ}}Љ}}9}u- WWWWW }tE`pK;t3f;׉}ԉ}}Uj_}u Bf=Xw@30@jY;E$*@3MEEEȉEЉEEƒ t>t-t+tcMZMQMHM< }4f*u ]؋[ۉ]M]Ek ʍDЉEef*u]؋[ۉ]MEk ʍDЉEƒItHht:ltwMf>luMuzMqM hf=6uf~4uMuFf=3uf~2ueu'f=df=if=o f=uf=xf=XeERuEƒd St_At+tA+t+ EU܃M@}uuEE<fE0M fE0uM }uE ]؋[]u@EeuMQP=YYtFFE9}|XC+tg+8+3FE ủ]؉Et-EEPEEEPEP~;} ufEEEuM]t-Ht&fEMt+Ee@EP:YpuegkitYntoEEtIM@3]:E t fEfEԉEM@E fEDSpufguEE<9E~E}~+}]W UYEt E}EECEEPuu]PuEVP5@'YЋ]t}uEPV5@h'YYYf}guuEPV5@H'YYY>-u MFuVqEM!s<+VE'EEEQfE0fE}fEE tE@]tCCE@Ct3҉]E@t|s؃ځMfEڋu3ۃ}} Ee9E~E u!EЍEM t$EܙRPSW909]~MN̍+FfEEutDt΀90t9MM0@*u@EEE Of8t@@u+EE}E@t+ftfE-tfE+ t fE E]ȋu++]E uučESj uЋ}čEԍMEYtEuWSj0E }uN~J}uM܍EPEEWP^7E~uEču }}YM MVELY}|EtučESj }t ueYufEt$M]؋3PPPPP}tE`pEԋ_^3[Oí$@"@#@`#@#@#@#@$@D$x@U$X(@3ʼnV]|ux}tfff]pfElfehfmdE@jPEjP7EEЍE؃ E uEL@jH@EPD@u uj7Yh @@P<@3^)ŨU5x@#Yt]jd7Y]D$3;͐@tA-rHw j XË͔@DjY;#V$u@ÃC$u@à VL$QY0^h -@d5D$l$l$+SVW@1E3PeuEEEEdËMd Y__^[]Q̃S\$ UVs35@WD$D${t N3 8N F3 8D$(@fk L$0T$D$L$ St^DmLɍ\D$t`7D$|DLD$ù|$t$t N3 8VN F3 8FD$_^][D$ƋL$(9csmu*= @t!h @7tT$(jR @L$,6D$,9h th@WՋ6D$,L$H t N3 8N V3 :K6{ Ph@W˺6jTh @3}EP\@Ej@j ^VgYY; @5@0@@ x@$@% @& x8@4@ @;rf9} E;8X;E;|E[j@j YYtVM @@ *@@ ``$@% @& `8@4@;rE9=@|=@e~mEtVtQtKu QX@t%uN@ uNhF P6YYt7F N@Cg5@P@33@ËeEVW3t$ Yu'9|@vVd@;|@vuɋ_^VW3jt$t$-6 u'9|@vVd@;|@vu_^VW3t$t$7YYu-9D$t'9|@vVd@;|@vu_^jh@@3ۉ]jY]j_};=@ A}W(@9tD@ tP9YtE|((@ P`@(@4Y(@GE EjCYt$5@@hЃ h\@l@thL@Ph@tt$t$Yt$p@jYjYV tЃ;t$r^Vt$3utу;t$ r^ËL$V3;u>VVVVVjX^á@;tډ3^ËD$V3;uVVVVVjX^95@tۋ @3^Ã=@th@E2Yt t$@Y-hh@hL@6YYuTVWh"N@8D@ƿH@;YstЃ;r=@_^th@1Yt jjj@3jh`@jXY3}3C9@t~@E@9} u[5@E5@YYu9}t&u;ur>t>;tWYhx@l@2Yh@|@"YE}u(@jYu3C}tjYjjt$  jjt$ jjj jjj VVVK1VV9V9V7VPV7h5@$$@@^SVt$ F Ȁ3ۀu?ft9FW>+~,WPV-YP? ;uF yF N _Ff^[Vt$u V3Y^VYt^fF @tVP@YY^3^jh@p3}}j>Y}3u;5@ A(@98t^@ tVPV?YY3BU(@H t/9UuPPYtE9}utP5Yu E܉}F3u(@4V>YYE}EtEjYjYVW3@t~t WW&Yh@|ܾH@_t ~uPӃh@|^[UE4H@(@]j h@3G}39<@u+j hYYu4H@9tnjY;uH 3Qj YY]9u,hWv.YYuWY ] >WYE Erj *YUEV4H@>uP$YujY6$@^]U( @ @@@5@= @f8@f ,@f@f@f%@f-@0@E$@E(@E4@p@(@$@@ @@@L@h@j*YjH@hh@D@=h@uj)Yh @@P<@UQQVE3PuuDYt VVVVV(EP`Yt VVVVV }^u }r3@jX39D$jhPx@<@u3}@u$hYu5<@t@%<@3@h@j5<@0@@uËL$%@@%@@3 @@@Ë @@kT$+P r ;r3UMAVu W+y iDMIMS1UVUU] utJ?vj?ZK;KuB sL!\D u#M!JL! uM!Y] S[MMZU ZRSMJ?vj?Z]]+u]j?u K^;vMJ;։Mv;t^M q;qu; s!tDLu!M!1K!LuM!qM qINM qINu ]}u;M ыYN^qNqN;Nu`LM Ls%}uʻM DD )}uJM YJꍄ ED0E@@ @5|@h@H SQ֋ @@@ P@@@ @@@@HC@@HyCu `@@xueSjp ֡@@pj5<@,@ @@@k@+ȍLQHQP_9E @;@@vm@@E@@=@[_^á@V5@W3;u4kP5@W5<@@;u3x@5@@k5@hAj5<@0@;ljFtjh hW@;ljF uvW5<@,@뛃N>~@F_^UQQMASVqW3C}i0Dj?EZ@@Jujhy hW@up;UwC+ GAH@PǀIuˋUEO HAJ HAdD3GFCENCu x!P_^[U MASVuW} +Q iDMOI;|9M]UE;;MI?Mvj?YM_;_uC sML!\D u&M!ML! uM!YO_YOyM+M}}M O?L1vj?_]][Y]YKYKY;YuWLM Ls}uϻM DD }uOM YO U MD2LU FBD2<38/] )uNK\3uN?] Kvj?^EuN?vj?^O;OuB st!\Du#M!NL! uM!Y] OwqwOquuuN?vj?^M yK{YKYK;KuWLM Ls}uοM 9DD }uNM yN ED3@_^[U@Mk@MSI VW} M 3U @S;#U# u ;؉]r;u@S;#U# u ;ى]r;u[ {u ];r;u1@ {u ;ى]r;u؅ۉ]u3 S@YKC8t@CUt|D#M# u)eHD9#U# uEUiDMLD3#u#Mj _G}MT +MN?M~j?^;J;Ju\ }&M|8Ӊ]#\D\Du3M]! ,OM|8!]u ]M!K]}JzyJzyM yJzQJQJ;Ju^LM L}#} u ;οM |D)} u N {MN 7Mt LMuэN L2uɍy>u;@@uM; @u%@@MB_^[QS\$ VW33;p@tGrwUj18Y1j 8Yu =@?h@SH@U7 t VVVVVha@Vje@@u&h@hVE7 t3PPPPPV@=u Fd.=u Fd=u Fd=uFdvdjY~d`QӋEYF`[_^UV5h@W33;uf==tGVYtFf;uSjGW;YY@uo5h@BVYGf>=Yt/jW;YYtLVWPt4 t UUUUUZ4~f9.u5h@m-h@+@3Y[_^]5@H-@UQV39UW} t ME1f8"u} 3Ʌj"@@YtffFF@@ft;uf tf utffe3f9f tf u@@HHf99Ut ME13G3@@Bf8\tf8"u7u }t Hf9"u 339MMJtf\FFuft$9Uu f tf tt tfFF@@냅tf&FF} 4E;t_^UQQSVWhh@3VSfp@@$@;É5@tf9uEPS]3ɋh]?YYsJMs?Y;r4PBYt'EP V]&EHY@Y5@3_^[Qt@S@UVW33;u.Ӌ;t t@@xu jXt@t@uT;uӋ;u3f9>t@@f98u@@f98u+@@U؅Yu V@UVS1 t;u@3;t8]t#SSjVjS@;tV+t8YuGjW|$_؅YYu U@V}t:L$++QVjWjj@t.WV|?YYtFuf&U@_^][YSY딡x@S3;V5@u-օt x@ @xu x@3\uSuUW@5@SSjUjS֋;t*jWu؅YYtWSjUjjօt SNY3_]^[VWp@p@;NjstЃ;r_^VWx@x@;NjstЃ;r_^UQQSV3EF3Pu]}Y~BWSl@p<f9^F|0v#Wh4@n3YYtFC(;reE_^[V5@5@օt!@tP5@Ѕt&hL@l@t#Jth<@Vh@t t$ЉD$D$^jYV5@5@օt!@tP5@Ѕt&hL@l@t#th\@Vh@t t$ЉD$D$^@V5@@u5@kYV5@@^á@tP5@AYЃ @@tP@ @Yj h@hL@l@EuF\(@3G~t/t&h<@uh@Ӊh\@uӉ~pƆCƆKC@FhP@j YeE Flu@Flvll YE9j YVW@5@ЋuNhjSYYt:V5@5@YЅtjVYYȰ@N VY3Wİ@_^Vuj$Y^jh@OuF$tPYF,tPYF4tPYFE@D;FG;v}FF>uыuE}urlj{CjC C@Zf1Af0A@@JuL@;vFF~4C@IuC.C Ss3{95@bM_^3[jh0@M }_huE;CWh Y؅Fwh#SuYYEuvh̰@uFh=@tPY^hS=@Fp@j YeC@C@C @3E}fLCf E@@3E=} L@@3E=}@@5@̰@u@=@tPY@SE0j /Y%u @tSYeE>Ã= @ujVY @3SUVt$3;Wto=@th;t^9(uZ;t9(uP)*.YY;t9(uP-YYYY;tD9(u@-PĿ+P豿+P裿蘿=@t9uP+7qYYj~P[@t;t 9(uPPY9otG;t 9(uP9YKuV,Y_^][SUVt$W=@V׋tP׋tP׋tP׋tPj^P]{@t tP׃{t CtP׃Mu؋P_^][Vt$tSUW=̰@V׋tP׋tP׋tP׋tPj^P]{@t tP׃{t CtP׃Mu؋P_][^Åt7t3V0;t(W8YtVR>Yu@tVxY^3j hP@>@Fpt"~ltpluj YQj YeFl=@iEEj YuU@3ʼnESVu F @WVY@t.VYt"VV @YYNJ@$$<AVYt.VYt"VV @tYYNJ@$$<u\N]xA VP.YYu f Nx8A VPv.YYtfVYt.VYt"VV @YY@t^uEjPEP-l39]~4NxLADVP-YY7C;]|fE Fx Ef EVP*YYM_^3[uVW3@6(Yr_^á@39@̋L$t$tNu$$~Ѓ3ƒtAt2t$tt͍AL$+ÍAL$+ÍAL$+ÍAL$+USVu 3;t9]t8uE;tf3^[uM#E9XuE;tff8]tE`p3@ʍEPPYYt}E~%9M| 39]RuQVj p@EuM;r 8^t8]eMapY*8]tE`p:39]PuEjVj p@:jt$t$t$Uu MEMA%}tMapjt$YYVD$ u(L$D$ 3؋D$d$ȋd$Gȋ\$T$ D$ ud$ȋD$r;T$ wr;D$v N+D$T$3+D$T$ ؃ʋӋًȋ^%@̋T$ L$ti3D$ur=@tN,Wr1كt +шuʃtt uD$_ËD$SVWT$D$L$URPQQhd@d5@3ĉD$d%D$0XL$,3p t;T$4t;v.4v\ H {uhCF-CX-d_^[ËL$At3D$H3iUhp pp> ]D$T$UL$)qqq( ]UVWS33333[_^]Ëj,33333USVWjjhSe@Q=_^[]Ul$RQt$ ]̋L$f9MZt3ËA<8PEu3fx ̋D$H<ASVq3҅WDv|$H ;r X;r (;r3_^[Ujhp@h -@dPSVW@1E3PEdeEh@<tUE-@Ph@Rt;@$ЃEMd Y_^[]ËE3=‹ËeE3Md Y_^[]ËD$@t$@3@jh@3}5@HY;uSEP4Y;t WWWWW}t!h@l@;th@Ph@;uf@V}Y@}u u։E/EE3=Ëe}ujİ@eEEtj h@"M3;v.jX3;E @u WWWWWQ3M u;u3F3ۉ]wi=@uKu E;@w7jY}uYEE_];tuWSh ;uaVj5<@0@;uL9=`@t3VYrE;P E3u j0Y;u E;t Vjh@]uu ^Yu u SnY=@3}jY}SYE;;5@wIVSP t]5VeYE;t'CH;rPSu>SoESP9}uH;u3Fu u VW5<@0@E;t CH;rPSuSuCE.}u1uFu VSj5<@@u ]jYË}9=`@t,VSYW9}ul@P Y_29}th quFVSj5<@@uV9`@t4VYtvVY 3c|u@P|YSVt$ W3;uWWWWW, BF t7VV(VP"(}F;t PY~~ _^[j h@wM3u3;;uWWWWW F @t ~ EzVY}V/YEEՋuVEYQSUVW5@h5@t$W;YY+ލkrxV&;YsJ;s;rPt$YYuF;rCPt$iYYt3P}jEPjPEƅ 4@}EEa<t<u33f CCEuM<t<u9u"f;EYE}tj XPE"f;EYEE$9EHET4D8k3ɋ@+ۋEM9$EtuMe+ME;$s'UEA u E @E@E}rы؍E+jEPSEP4@EE;E+E;$rE9$uMe+ME;$s3UEAAf uEf @@EEf@@}rŋ؍E+jEPSEP4@$EE;E+E;$p9$2Me+Mj^;$s,Uuf u f uufƁ}Rr3VVhQ++PPVh@;tyjEP+P5PE4@t u; @E;GE+E;$E60jMQ$u0@t EeE @E}u]}t'j^9uuj r06uyY+uD@t E8u33; E+E_[3^̦jhp@;Eu 3;|;@r!Ӷ8蹶 WWWWWJɋ @ L1tPx"Y}D0tuu u? EV ^8ME E軶u"Yjh@_Eu 3;|;@r SSSSS}Ћ< @LtP!Y]Dt1u%!YP@u @E]9]t苵Mn ME Eڵu!YUWVu M};v;r=@tWV;^_u^_]?"ur*$x@Ǻr $w@$x@$8x@w@w@x@#ъFGFGr$x@I#ъFGr$x@#ъr$x@Ix@x@x@xx@px@hx@`x@Xx@DDDDDDDDDDDDDD$x@x@x@x@x@E^_ÐE^_ÐFGE^_ÍIFGFGE^_Ðt1|9u$r $@z@$y@IǺr +$Dy@$@z@Ty@xy@y@F#шGr$@z@IF#шGFGr$@z@F#шGFGFGV$@z@Iy@y@z@ z@z@z@$z@7z@DDDDDDDDD D DDDD$@z@Pz@Xz@hz@|z@E^_ÐFGE^_ÍIFGFGE^_ÐFGFGFGE^_U SVW}39@E]]]h(@@;y5h@h@W;cP$ @W@P$@W@P@EPYYt SSSSS}u,hܻ@WPe;Y @thĻ@WPMY@@M;ty9 @tqP5 @;YYtV;tR;tMQj MQjPׅtEu3EP薷Yt SSSSSC}r M DM;@;Et1P);Yt&;ÉEt@;EtP ;YtuЉE5@;Ytuu uu3_^[ËD$S3;VWt|$;wj^0SSSSS虯=t$;uً8tBOu;t BF:tOu;u迯j"Y3_^[USVu39]Wu;u9] u3_^[];t} ;w耯j^0SSSSS9]uʋU;uу}u @B:tOu @B:tOtMu9]u;u}uE jP\Xxj"Y낋L$S3;VWt|$;wj^0SSSSSu1t$;uًъBF:tOu;u觮j"Y3_^[ËL$V3;|~ ul@^ál@ l@^jVVVVV^ËL$SVW3;t\$;w8j^0WWWWWʭ8t$;uf9؋fBBFFf;tKu;uf9j"Y3_^[UWVu M};v;r=@tWV;^_u^_]ur*$@Ǻr $@$@$@(@T@x@#ъFGFGr$@I#ъFGr$@#ъr$@I@@@@@@@@DDDDDDDDDDDDDD$@@@(@<@E^_ÐE^_ÐFGE^_ÍIFGFGE^_Ðt1|9u$r $@$P@IǺr +$@$@@؀@@F#шGr$@IF#шGFGr$@F#шGFGFGV$@IT@\@d@l@t@|@@@DDDDDDDDD D DDDD$@@@ȁ@܁@E^_ÐFGE^_ÍIFGFGE^_ÐFGFGFGE^_̋T$L$u<:u. t&:au% t:Au t:au uҋ3Ðt:u ttf:u t:au t눋D$t8uP裙YU@3ʼnESV39@Wu8SS3GWh4@hS@t=@@xu @9]~"MEI8t@;uE+H;E}@E@;9] ]u@E 5@39]$SSuuPu ֋;~Cj3Xr7D?=w;tPr;Yt E]9]=Wuuuju օ5@SSWuu u֋;ˉMfE t)9];MuuWuu u;~Ej3Xr9D =wG;tjP豘;Yt 3;tAuVWuu u@t"9]SSuSSuuuVSu @EVYuEYY9]]]u@E9] u@E uYEu3!;E SSMQuPu ;ÉEtԋ5 @SSuPu u;ÉEu3~=w8=w1;tP蛗;Yt 3;tuSW uWuuu u;ÉEu3%uEuPWu uu#uWYuuuuu u @9]t u'YE;t 9EtPYƍe_^[M3UuM荚u(Mu$u uuuuu - }tMapUQQ@3ʼnE@SV3;Wu:EP3FVh4@V@t5@4@xu jX@@;9]]u@E5@39] SSuu Pu֋;~<w4D?=wN;tP軕;Yt ؅ti?PjS WSuu juօtuPSu@ESEYu39]u@E9]u@EuYu3G;EtSSMQu Pu;t܉u uuu uu@;tVYǍe_^[M3UuM蒘u$Mu uuuuu }tMapVt$v诓v觓v 蟓v藓v菓v臓6耓v xv$pv(hv,`v0Xv4PvHv8@v<8@v@-vD%vHvLvP vTvXv\v`vdvhݒvlՒvp͒vtŒvx轒v|赒@角蜒葒膒{peZOD9,^Vt$t5;@tPYF;@tP Yv;5@tVY^Vt$t~F ;@tPڑYF;@tPȑYF;@tP趑YF;@tP褑YF;@tP蒑YF ;@tP耑Yv$;5@tVnY^UV3PPPPPPPPU I t $uI t $s ^UV3PPPPPPPPU I t $u t $sF ^UQVu VvE F Yu N ;@t Ƞ"tfNF F feSj[ f F u,Í ;t 跍@;u u YuVYfF WF>HN++˅N~WPu + EN F ?M tt @@@ tSjjQ #ƒt-F]fjEPu ]f] E9}t N %_[^USVu 3;W}u;v E;t3E;tvVj^SSSSS0RuM襓E9XfEf=v6;t;v WSV< *8]tMap_^[;t.;w(ܞj"^SSSSS0n8]tE`puE;t8]0E`p$M QSWVjMQS] p@;t9] bM;t@zH;k;cWSVi Sjt$t$t$t$UQVu VE F Yu N -@t "S3ۨt^NF F f F ^]u,ފ ;t Ҋ@;u u YuV YfF WF>HN+I;N~WPu G EM F yM tt @@@ tjSSQ#ƒt%FM3GWEPu E9}t N E%_[^j転YU}}M f$ffGfG fG0fG@fGPfG`fGpIuЋ}]U}E3+3+ut }w u,9uv'͌E"tME$ƉEEt8Et]}tE`pEEt0}tE`p3[_^U39@Puu uuh@P]USuM蟀]C=wE苀Xu]}EPE%PN@[@jl@@ѝ@G@@j@"%ws" - %wsdeleting directory "%ws" deleted directory "%ws" invalid file attributes for "%ws" %ws is a directory, not a file changing "%ws" file attributes to be removable deleting "%ws" deleted "%ws" \*\...Invalid file attributes for "%ws" --The option -%wc is not valid The -q (quiet) and -v (verbose) options are incompatible CorExitProcessmscoree.dll@p@runtime error TLOSS error SING error DOMAIN error R6034 An application has made an attempt to load the C runtime library incorrectly. Please contact the application's support team for more information. R6033 - Attempt to use MSIL code from this assembly during native code initialization This indicates a bug in your application. It is most likely the result of calling an MSIL-compiled (/clr) function from a native constructor or from DllMain. R6032 - not enough space for locale information R6031 - Attempt to initialize the CRT more than once. This indicates a bug in your application. R6030 - CRT not initialized R6028 - unable to initialize heap R6027 - not enough space for lowio initialization R6026 - not enough space for stdio initialization R6025 - pure virtual function call R6024 - not enough space for _onexit/atexit table R6019 - unable to open console device R6018 - unexpected heap error R6017 - unexpected multithread lock error R6016 - not enough space for thread data This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. R6009 - not enough space for environment R6008 - not enough space for arguments R6002 - floating point support not loaded Microsoft Visual C++ Runtime Library ...Runtime Error! Program: .mixcrtEncodePointerKERNEL32.DLLDecodePointerFlsFreeFlsSetValueFlsGetValueFlsAlloc  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~(null)(null)EEE50P( 8PX700WP `h````xpxxxxInitializeCriticalSectionAndSpinCountkernel32.dllGetProcessWindowStationGetUserObjectInformationAGetLastActivePopupGetActiveWindowMessageBoxAUSER32.DLL ((((( H h(((( H H  !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~HH:mm:ssdddd, MMMM dd, yyyyMM/dd/yyPMAMDecemberNovemberOctoberSeptemberAugustJulyJuneAprilMarchFebruaryJanuaryDecNovOctSepAugJulJunMayAprMarFebJanSaturdayFridayThursdayWednesdayTuesdayMondaySundaySatFriThuWedTueMonSunEEE00P('8PW700PP (`h`hhhxppwppSunMonTueWedThuFriSatJanFebMarAprMayJunJulAugSepOctNovDecCONOUT$H@`@ -d@@@@@@0@0@s2@4@ 7@6@8@P@fR@rR@W@[@^@yf@f@Kg@bg@h@i@k@l@m@ m@n@Cv@$w@@@q@@>@Z@t\(4DVn"6HXfx 6Lf|6F\t*:P`r,>NFormatMessageWqGetLastErrorRemoveDirectoryWDeleteFileWSetFileAttributesWaGetFileAttributesWFindCloseFindNextFileWFindFirstFileWEnterCriticalSectionQLeaveCriticalSectionHeapFreeHeapAllocGetVersionExAGetProcessHeap^TerminateProcessBGetCurrentProcessnUnhandledExceptionFilterJSetUnhandledExceptionFilter9IsDebuggerPresent$SetHandleCountGetStdHandlefGetFileTypeGetStartupInfoADeleteCriticalSectionVSleepGetProcAddressGetModuleHandleAExitProcessHeapDestroyHeapCreateVirtualFreeVirtualAllocHeapReAllocWriteFile}GetModuleFileNameA~GetModuleFileNameWFreeEnvironmentStringsAuMultiByteToWideCharUGetEnvironmentStringsFreeEnvironmentStringsWWGetEnvironmentStringsWGetCommandLineAGetCommandLineWeTlsGetValuecTlsAllocfTlsSetValuedTlsFree,InterlockedIncrement(SetLastErrorFGetCurrentThreadId(InterlockedDecrementQueryPerformanceCounterGetTickCountCGetCurrentProcessIdGetSystemTimeAsFileTimeGetCPInfoGetACPGetOEMCP?IsValidCodePageRtlUnwind#InitializeCriticalSectionRLoadLibraryAWideCharToMultiByte"GetConsoleCP3GetConsoleModeFlushFileBuffersDLCMapStringAELCMapStringWGetStringTypeAGetStringTypeWtGetLocaleInfoAHeapSize4CloseHandleWriteConsoleA5GetConsoleOutputCPWriteConsoleWSetFilePointer7SetStdHandleSCreateFileAKERNEL32.dll@@@@N@D        ! 5A CPR S WY l m pr   )     5@@t@ H@ @@T@0@@̷@@l@4@ @@@ P@!X@"@x@y@z@@p@ x  abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@`y!@~ڣ @ڣ AϢ[@~QQ^ _j21~<@C@@@@@@8@@@@@@@@(@@@@@@@@@@@@8@:@h@d@`@\@X@T@P@H@@@8@,@ @@ @@@@@@@@@@@@@@@@@@@@@@@@t@p@l@`@L@@@ @.@@@@@@@@@@@. pPSTPDT@@@;Zx0Nm:Yw/Mlexiv2-0.25/msvc2005/tools/ppxml0000775000175000017500000000033211776431375016034 0ustar andreasandreas#!/usr/bin/perl # cpan XML::{Twig,Parser} to install the libraries use XML::Twig; use XML::Parser; my $xml = XML::Twig->new(pretty_print => 'indented'); $xml->parse(\*STDIN); $xml->print(); # That's all Folks! ## exiv2-0.25/msvc2005/exiv2-webready.sln0000664000175000017500000023710512517642015017160 0ustar andreasandreasMicrosoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libexiv2", "libexiv2\libexiv2.vcproj", "{831EF580-92C8-4CA8-B0CE-3D906280A54D}" ProjectSection(ProjectDependencies) = postProject {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7} = {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA} = {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exiv2", "exiv2\exiv2.vcproj", "{07293CAC-00DA-493E-90C9-5D010C2B1B53}" ProjectSection(ProjectDependencies) = postProject {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA} = {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA} {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7} = {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmpsdk", "xmpsdk\xmpsdk.vcproj", "{09877CF4-83B6-44FE-A2E2-629AA5C8093E}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libexpat", "libexpat\libexpat.vcproj", "{6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib1", "zlib\zlib.vcproj", "{8308C68D-E12B-4C71-96F4-7137F6BEB654}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "addmoddel", "addmoddel\addmoddel.vcproj", "{83914D93-57B3-4718-8A50-662C17C4AE8F}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iptctest", "iptctest\iptctest.vcproj", "{AD41F87C-242B-4B61-B767-A9879F0D5C04}" ProjectSection(ProjectDependencies) = postProject {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "easyaccess-test", "easyaccess-test\easyaccess-test.vcproj", "{30E18D87-0147-4601-9ED2-4D5291645DB3}" ProjectSection(ProjectDependencies) = postProject {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "largeiptc-test", "largeiptc-test\largeiptc-test.vcproj", "{953404C9-B20A-4D17-8262-9D9AD1CDC5C1}" ProjectSection(ProjectDependencies) = postProject {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "convert-test", "convert-test\convert-test.vcproj", "{D802FE1E-7868-4034-92B8-00865E1CABAB}" ProjectSection(ProjectDependencies) = postProject {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iotest", "iotest\iotest.vcproj", "{21F0CEB1-D850-4C29-88BF-1CE4171824E6}" ProjectSection(ProjectDependencies) = postProject {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iptcprint", "iptcprint\iptcprint.vcproj", "{A7D22798-1262-4194-94A5-C636BCB68329}" ProjectSection(ProjectDependencies) = postProject {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "key-test", "key-test\key-test.vcproj", "{F11358FA-AA36-46E1-BA80-A17B8042BF9B}" ProjectSection(ProjectDependencies) = postProject {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mmap-test", "mmap-test\mmap-test.vcproj", "{556CB4FC-33BB-4E67-AB0E-1865E67176A5}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "prevtest", "prevtest\prevtest.vcproj", "{FC7120EC-BEB2-4CC3-9B90-B022F560E584}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stringto-test", "stringto-test\stringto-test.vcproj", "{9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tiff-test", "tiff-test\tiff-test.vcproj", "{C34B11A1-B707-46B2-8053-2FA236B369CF}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "werror-test", "werror-test\werror-test.vcproj", "{430C4512-CC73-4943-8CDF-71DEA573BD47}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "write-test", "write-test\write-test.vcproj", "{98A9F59D-FDFE-4B27-88FE-2625F1E7597F}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "write2-test", "write2-test\write2-test.vcproj", "{E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifdata-test", "exifdata-test\exifdata-test.vcproj", "{FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifprint", "exifprint\exifprint.vcproj", "{BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmpsample", "xmpsample\xmpsample.vcproj", "{45CA5427-4260-4F4A-86B0-FB7AE233D76B}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmpparser-test", "xmpparser-test\xmpparser-test.vcproj", "{85121FD0-01A1-49BA-B168-CC8D90F91A6F}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xmpparse", "xmpparse\xmpparse.vcproj", "{1708EFC1-414E-4712-80A5-813A6F38814C}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifcomment", "exifcomment\exifcomment.vcproj", "{D291B6EF-986B-4222-ADA6-38A2EC2A56CE}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "metacopy", "metacopy\metacopy.vcproj", "{AD231915-942F-4083-9671-85E26A5798B0}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "path-test", "path-test\path-test.vcproj", "{E04D48BF-F529-4267-9311-908E94DF5A49}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iptceasy", "iptceasy\iptceasy.vcproj", "{6860BB9B-2053-46CD-9E2D-EEC199D68982}" ProjectSection(ProjectDependencies) = postProject {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "taglist", "taglist\taglist.vcproj", "{DBD630FC-0DA9-41EB-925D-70654D01F6FA}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "utiltest", "utiltest\utiltest.vcproj", "{495BC686-DF50-4250-B469-9C6B7B33A4B8}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "geotag", "geotag\geotag.vcproj", "{E3073076-4837-4DDB-89E5-5AC297C7481D}" ProjectSection(ProjectDependencies) = postProject {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "httptest", "httptest\httptest.vcproj", "{4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}" ProjectSection(ProjectDependencies) = postProject {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exiv2json", "exiv2json\exiv2json.vcproj", "{4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "libcurl\libcurl.vcproj", "{F36F075A-880D-47BA-805F-C47850062121}" ProjectSection(ProjectDependencies) = postProject {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7} = {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7} {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA} = {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "remotetest", "remotetest\remotetest.vcproj", "{B25A3F96-68E8-4FD4-860E-2C33E539B892}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "conntest", "conntest\conntest.vcproj", "{E015DB8C-C463-4A6B-88EA-AFC671D84B5B}" ProjectSection(ProjectDependencies) = postProject {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} = {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A} {09877CF4-83B6-44FE-A2E2-629AA5C8093E} = {09877CF4-83B6-44FE-A2E2-629AA5C8093E} {729E4E11-3BBA-4306-B53C-8AEC45E70E10} = {729E4E11-3BBA-4306-B53C-8AEC45E70E10} {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} {F36F075A-880D-47BA-805F-C47850062121} = {F36F075A-880D-47BA-805F-C47850062121} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libssh", "libssh\libssh.vcproj", "{729E4E11-3BBA-4306-B53C-8AEC45E70E10}" ProjectSection(ProjectDependencies) = postProject {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA} = {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA} {8308C68D-E12B-4C71-96F4-7137F6BEB654} = {8308C68D-E12B-4C71-96F4-7137F6BEB654} {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7} = {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openssl", "openssl\openssl.vcproj", "{3D77E4F8-02EE-491F-B01C-EE8012CABA18}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libeay32", "libeay32\libeay32.vcproj", "{2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}" ProjectSection(ProjectDependencies) = postProject {3D77E4F8-02EE-491F-B01C-EE8012CABA18} = {3D77E4F8-02EE-491F-B01C-EE8012CABA18} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssleay32", "ssleay32\ssleay32.vcproj", "{6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA}" ProjectSection(ProjectDependencies) = postProject {3D77E4F8-02EE-491F-B01C-EE8012CABA18} = {3D77E4F8-02EE-491F-B01C-EE8012CABA18} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifdata", "exifdata\exifdata.vcproj", "{1A091C40-C0F3-4405-B99E-CA60B9855D77}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "exifvalue", "exifvalue\exifvalue.vcproj", "{B85BDC90-013A-4D6B-B774-F2D7E0067DA6}" ProjectSection(ProjectDependencies) = postProject {831EF580-92C8-4CA8-B0CE-3D906280A54D} = {831EF580-92C8-4CA8-B0CE-3D906280A54D} EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Debug|x64 = Debug|x64 DebugDLL|Win32 = DebugDLL|Win32 DebugDLL|x64 = DebugDLL|x64 Release|Win32 = Release|Win32 Release|x64 = Release|x64 ReleaseDLL|Win32 = ReleaseDLL|Win32 ReleaseDLL|x64 = ReleaseDLL|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug|Win32.ActiveCfg = Debug|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug|Win32.Build.0 = Debug|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug|x64.ActiveCfg = Debug|x64 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Debug|x64.Build.0 = Debug|x64 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.DebugDLL|x64.Build.0 = DebugDLL|x64 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release|Win32.ActiveCfg = Release|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release|Win32.Build.0 = Release|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release|x64.ActiveCfg = Release|x64 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.Release|x64.Build.0 = Release|x64 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {831EF580-92C8-4CA8-B0CE-3D906280A54D}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug|Win32.ActiveCfg = Debug|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug|Win32.Build.0 = Debug|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug|x64.ActiveCfg = Debug|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Debug|x64.Build.0 = Debug|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.DebugDLL|x64.Build.0 = DebugDLL|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release|Win32.ActiveCfg = Release|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release|Win32.Build.0 = Release|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release|x64.ActiveCfg = Release|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.Release|x64.Build.0 = Release|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {07293CAC-00DA-493E-90C9-5D010C2B1B53}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug|Win32.ActiveCfg = Debug|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug|Win32.Build.0 = Debug|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug|x64.ActiveCfg = Debug|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Debug|x64.Build.0 = Debug|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.DebugDLL|x64.Build.0 = DebugDLL|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release|Win32.ActiveCfg = Release|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release|Win32.Build.0 = Release|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release|x64.ActiveCfg = Release|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.Release|x64.Build.0 = Release|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {09877CF4-83B6-44FE-A2E2-629AA5C8093E}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Debug|Win32.ActiveCfg = Debug|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Debug|Win32.Build.0 = Debug|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Debug|x64.ActiveCfg = Debug|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Debug|x64.Build.0 = Debug|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.DebugDLL|x64.Build.0 = DebugDLL|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Release|Win32.ActiveCfg = Release|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Release|Win32.Build.0 = Release|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Release|x64.ActiveCfg = Release|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.Release|x64.Build.0 = Release|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {6C4C06A3-6F8F-4067-AA4C-D5F41E1FFF9A}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Debug|Win32.ActiveCfg = Debug|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Debug|Win32.Build.0 = Debug|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Debug|x64.ActiveCfg = Debug|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Debug|x64.Build.0 = Debug|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.DebugDLL|x64.Build.0 = DebugDLL|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Release|Win32.ActiveCfg = Release|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Release|Win32.Build.0 = Release|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Release|x64.ActiveCfg = Release|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.Release|x64.Build.0 = Release|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {8308C68D-E12B-4C71-96F4-7137F6BEB654}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Debug|Win32.ActiveCfg = Debug|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Debug|Win32.Build.0 = Debug|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Debug|x64.ActiveCfg = Debug|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Debug|x64.Build.0 = Debug|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.DebugDLL|x64.Build.0 = DebugDLL|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Release|Win32.ActiveCfg = Release|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Release|Win32.Build.0 = Release|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Release|x64.ActiveCfg = Release|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.Release|x64.Build.0 = Release|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {83914D93-57B3-4718-8A50-662C17C4AE8F}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {83914D93-57B3-4718-8A50-662C17C4AE8F}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Debug|Win32.ActiveCfg = Debug|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Debug|Win32.Build.0 = Debug|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Debug|x64.ActiveCfg = Debug|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Debug|x64.Build.0 = Debug|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.DebugDLL|x64.Build.0 = DebugDLL|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Release|Win32.ActiveCfg = Release|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Release|Win32.Build.0 = Release|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Release|x64.ActiveCfg = Release|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.Release|x64.Build.0 = Release|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {AD41F87C-242B-4B61-B767-A9879F0D5C04}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Debug|Win32.ActiveCfg = Debug|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Debug|Win32.Build.0 = Debug|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Debug|x64.ActiveCfg = Debug|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Debug|x64.Build.0 = Debug|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.DebugDLL|x64.Build.0 = DebugDLL|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Release|Win32.ActiveCfg = Release|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Release|Win32.Build.0 = Release|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Release|x64.ActiveCfg = Release|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.Release|x64.Build.0 = Release|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {30E18D87-0147-4601-9ED2-4D5291645DB3}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {30E18D87-0147-4601-9ED2-4D5291645DB3}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Debug|Win32.ActiveCfg = Debug|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Debug|Win32.Build.0 = Debug|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Debug|x64.ActiveCfg = Debug|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Debug|x64.Build.0 = Debug|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.DebugDLL|x64.Build.0 = DebugDLL|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Release|Win32.ActiveCfg = Release|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Release|Win32.Build.0 = Release|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Release|x64.ActiveCfg = Release|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.Release|x64.Build.0 = Release|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {953404C9-B20A-4D17-8262-9D9AD1CDC5C1}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Debug|Win32.ActiveCfg = Debug|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Debug|Win32.Build.0 = Debug|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Debug|x64.ActiveCfg = Debug|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Debug|x64.Build.0 = Debug|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.DebugDLL|x64.Build.0 = DebugDLL|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Release|Win32.ActiveCfg = Release|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Release|Win32.Build.0 = Release|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Release|x64.ActiveCfg = Release|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.Release|x64.Build.0 = Release|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {D802FE1E-7868-4034-92B8-00865E1CABAB}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {D802FE1E-7868-4034-92B8-00865E1CABAB}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Debug|Win32.ActiveCfg = Debug|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Debug|Win32.Build.0 = Debug|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Debug|x64.ActiveCfg = Debug|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Debug|x64.Build.0 = Debug|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.DebugDLL|x64.Build.0 = DebugDLL|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Release|Win32.ActiveCfg = Release|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Release|Win32.Build.0 = Release|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Release|x64.ActiveCfg = Release|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.Release|x64.Build.0 = Release|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {21F0CEB1-D850-4C29-88BF-1CE4171824E6}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.Debug|Win32.ActiveCfg = Debug|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.Debug|Win32.Build.0 = Debug|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.Debug|x64.ActiveCfg = Debug|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.Debug|x64.Build.0 = Debug|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.DebugDLL|x64.Build.0 = DebugDLL|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.Release|Win32.ActiveCfg = Release|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.Release|Win32.Build.0 = Release|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.Release|x64.ActiveCfg = Release|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.Release|x64.Build.0 = Release|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {A7D22798-1262-4194-94A5-C636BCB68329}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {A7D22798-1262-4194-94A5-C636BCB68329}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Debug|Win32.ActiveCfg = Debug|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Debug|Win32.Build.0 = Debug|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Debug|x64.ActiveCfg = Debug|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Debug|x64.Build.0 = Debug|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.DebugDLL|x64.Build.0 = DebugDLL|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Release|Win32.ActiveCfg = Release|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Release|Win32.Build.0 = Release|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Release|x64.ActiveCfg = Release|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.Release|x64.Build.0 = Release|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {F11358FA-AA36-46E1-BA80-A17B8042BF9B}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Debug|Win32.ActiveCfg = Debug|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Debug|Win32.Build.0 = Debug|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Debug|x64.ActiveCfg = Debug|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Debug|x64.Build.0 = Debug|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.DebugDLL|x64.Build.0 = DebugDLL|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Release|Win32.ActiveCfg = Release|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Release|Win32.Build.0 = Release|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Release|x64.ActiveCfg = Release|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.Release|x64.Build.0 = Release|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {556CB4FC-33BB-4E67-AB0E-1865E67176A5}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Debug|Win32.ActiveCfg = Debug|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Debug|Win32.Build.0 = Debug|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Debug|x64.ActiveCfg = Debug|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Debug|x64.Build.0 = Debug|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.DebugDLL|x64.Build.0 = DebugDLL|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Release|Win32.ActiveCfg = Release|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Release|Win32.Build.0 = Release|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Release|x64.ActiveCfg = Release|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.Release|x64.Build.0 = Release|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {FC7120EC-BEB2-4CC3-9B90-B022F560E584}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Debug|Win32.ActiveCfg = Debug|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Debug|Win32.Build.0 = Debug|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Debug|x64.ActiveCfg = Debug|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Debug|x64.Build.0 = Debug|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.DebugDLL|x64.Build.0 = DebugDLL|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Release|Win32.ActiveCfg = Release|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Release|Win32.Build.0 = Release|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Release|x64.ActiveCfg = Release|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.Release|x64.Build.0 = Release|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {9DCEE051-A07B-4C6B-B2BC-0814F0C323AA}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Debug|Win32.ActiveCfg = Debug|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Debug|Win32.Build.0 = Debug|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Debug|x64.ActiveCfg = Debug|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Debug|x64.Build.0 = Debug|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.DebugDLL|x64.Build.0 = DebugDLL|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Release|Win32.ActiveCfg = Release|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Release|Win32.Build.0 = Release|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Release|x64.ActiveCfg = Release|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.Release|x64.Build.0 = Release|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {C34B11A1-B707-46B2-8053-2FA236B369CF}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {C34B11A1-B707-46B2-8053-2FA236B369CF}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Debug|Win32.ActiveCfg = Debug|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Debug|Win32.Build.0 = Debug|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Debug|x64.ActiveCfg = Debug|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Debug|x64.Build.0 = Debug|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.DebugDLL|x64.Build.0 = DebugDLL|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Release|Win32.ActiveCfg = Release|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Release|Win32.Build.0 = Release|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Release|x64.ActiveCfg = Release|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.Release|x64.Build.0 = Release|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {430C4512-CC73-4943-8CDF-71DEA573BD47}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {430C4512-CC73-4943-8CDF-71DEA573BD47}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Debug|Win32.ActiveCfg = Debug|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Debug|Win32.Build.0 = Debug|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Debug|x64.ActiveCfg = Debug|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Debug|x64.Build.0 = Debug|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.DebugDLL|x64.Build.0 = DebugDLL|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Release|Win32.ActiveCfg = Release|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Release|Win32.Build.0 = Release|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Release|x64.ActiveCfg = Release|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.Release|x64.Build.0 = Release|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {98A9F59D-FDFE-4B27-88FE-2625F1E7597F}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Debug|Win32.ActiveCfg = Debug|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Debug|Win32.Build.0 = Debug|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Debug|x64.ActiveCfg = Debug|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Debug|x64.Build.0 = Debug|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.DebugDLL|x64.Build.0 = DebugDLL|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Release|Win32.ActiveCfg = Release|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Release|Win32.Build.0 = Release|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Release|x64.ActiveCfg = Release|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.Release|x64.Build.0 = Release|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {E796088F-0EE6-4EC7-ABA0-8A18F54A4DD7}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Debug|Win32.ActiveCfg = Debug|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Debug|Win32.Build.0 = Debug|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Debug|x64.ActiveCfg = Debug|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Debug|x64.Build.0 = Debug|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.DebugDLL|x64.Build.0 = DebugDLL|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Release|Win32.ActiveCfg = Release|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Release|Win32.Build.0 = Release|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Release|x64.ActiveCfg = Release|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.Release|x64.Build.0 = Release|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {FEF9C19E-F774-4D8A-991C-A566C1B2E8B6}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Debug|Win32.ActiveCfg = Debug|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Debug|Win32.Build.0 = Debug|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Debug|x64.ActiveCfg = Debug|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Debug|x64.Build.0 = Debug|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.DebugDLL|x64.Build.0 = DebugDLL|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Release|Win32.ActiveCfg = Release|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Release|Win32.Build.0 = Release|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Release|x64.ActiveCfg = Release|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.Release|x64.Build.0 = Release|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {BFB98A96-7ABD-4F78-BA8B-2C2C257D74D8}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Debug|Win32.ActiveCfg = Debug|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Debug|Win32.Build.0 = Debug|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Debug|x64.ActiveCfg = Debug|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Debug|x64.Build.0 = Debug|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.DebugDLL|x64.Build.0 = DebugDLL|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Release|Win32.ActiveCfg = Release|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Release|Win32.Build.0 = Release|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Release|x64.ActiveCfg = Release|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.Release|x64.Build.0 = Release|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {45CA5427-4260-4F4A-86B0-FB7AE233D76B}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Debug|Win32.ActiveCfg = Debug|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Debug|Win32.Build.0 = Debug|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Debug|x64.ActiveCfg = Debug|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Debug|x64.Build.0 = Debug|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.DebugDLL|x64.Build.0 = DebugDLL|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Release|Win32.ActiveCfg = Release|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Release|Win32.Build.0 = Release|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Release|x64.ActiveCfg = Release|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.Release|x64.Build.0 = Release|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {85121FD0-01A1-49BA-B168-CC8D90F91A6F}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.Debug|Win32.ActiveCfg = Debug|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.Debug|Win32.Build.0 = Debug|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.Debug|x64.ActiveCfg = Debug|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.Debug|x64.Build.0 = Debug|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.DebugDLL|x64.Build.0 = DebugDLL|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.Release|Win32.ActiveCfg = Release|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.Release|Win32.Build.0 = Release|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.Release|x64.ActiveCfg = Release|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.Release|x64.Build.0 = Release|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {1708EFC1-414E-4712-80A5-813A6F38814C}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {1708EFC1-414E-4712-80A5-813A6F38814C}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Debug|Win32.ActiveCfg = Debug|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Debug|Win32.Build.0 = Debug|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Debug|x64.ActiveCfg = Debug|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Debug|x64.Build.0 = Debug|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.DebugDLL|x64.Build.0 = DebugDLL|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Release|Win32.ActiveCfg = Release|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Release|Win32.Build.0 = Release|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Release|x64.ActiveCfg = Release|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.Release|x64.Build.0 = Release|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {D291B6EF-986B-4222-ADA6-38A2EC2A56CE}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {AD231915-942F-4083-9671-85E26A5798B0}.Debug|Win32.ActiveCfg = Debug|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.Debug|Win32.Build.0 = Debug|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.Debug|x64.ActiveCfg = Debug|x64 {AD231915-942F-4083-9671-85E26A5798B0}.Debug|x64.Build.0 = Debug|x64 {AD231915-942F-4083-9671-85E26A5798B0}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {AD231915-942F-4083-9671-85E26A5798B0}.DebugDLL|x64.Build.0 = DebugDLL|x64 {AD231915-942F-4083-9671-85E26A5798B0}.Release|Win32.ActiveCfg = Release|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.Release|Win32.Build.0 = Release|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.Release|x64.ActiveCfg = Release|x64 {AD231915-942F-4083-9671-85E26A5798B0}.Release|x64.Build.0 = Release|x64 {AD231915-942F-4083-9671-85E26A5798B0}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {AD231915-942F-4083-9671-85E26A5798B0}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {AD231915-942F-4083-9671-85E26A5798B0}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.Debug|Win32.ActiveCfg = Debug|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.Debug|Win32.Build.0 = Debug|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.Debug|x64.ActiveCfg = Debug|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.Debug|x64.Build.0 = Debug|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.DebugDLL|x64.Build.0 = DebugDLL|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.Release|Win32.ActiveCfg = Release|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.Release|Win32.Build.0 = Release|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.Release|x64.ActiveCfg = Release|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.Release|x64.Build.0 = Release|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {E04D48BF-F529-4267-9311-908E94DF5A49}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {E04D48BF-F529-4267-9311-908E94DF5A49}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Debug|Win32.ActiveCfg = Debug|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Debug|Win32.Build.0 = Debug|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Debug|x64.ActiveCfg = Debug|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Debug|x64.Build.0 = Debug|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.DebugDLL|x64.Build.0 = DebugDLL|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Release|Win32.ActiveCfg = Release|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Release|Win32.Build.0 = Release|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Release|x64.ActiveCfg = Release|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.Release|x64.Build.0 = Release|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {6860BB9B-2053-46CD-9E2D-EEC199D68982}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Debug|Win32.ActiveCfg = Debug|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Debug|Win32.Build.0 = Debug|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Debug|x64.ActiveCfg = Debug|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Debug|x64.Build.0 = Debug|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.DebugDLL|x64.Build.0 = DebugDLL|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Release|Win32.ActiveCfg = Release|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Release|Win32.Build.0 = Release|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Release|x64.ActiveCfg = Release|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.Release|x64.Build.0 = Release|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {DBD630FC-0DA9-41EB-925D-70654D01F6FA}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Debug|Win32.ActiveCfg = Debug|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Debug|Win32.Build.0 = Debug|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Debug|x64.ActiveCfg = Debug|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Debug|x64.Build.0 = Debug|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.DebugDLL|x64.Build.0 = DebugDLL|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Release|Win32.ActiveCfg = Release|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Release|Win32.Build.0 = Release|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Release|x64.ActiveCfg = Release|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.Release|x64.Build.0 = Release|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {495BC686-DF50-4250-B469-9C6B7B33A4B8}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Debug|Win32.ActiveCfg = Debug|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Debug|Win32.Build.0 = Debug|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Debug|x64.ActiveCfg = Debug|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Debug|x64.Build.0 = Debug|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.DebugDLL|x64.Build.0 = DebugDLL|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Release|Win32.ActiveCfg = Release|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Release|Win32.Build.0 = Release|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Release|x64.ActiveCfg = Release|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.Release|x64.Build.0 = Release|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {E3073076-4837-4DDB-89E5-5AC297C7481D}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {E3073076-4837-4DDB-89E5-5AC297C7481D}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Debug|Win32.ActiveCfg = Debug|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Debug|Win32.Build.0 = Debug|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Debug|x64.ActiveCfg = Debug|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Debug|x64.Build.0 = Debug|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.DebugDLL|x64.Build.0 = DebugDLL|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Release|Win32.ActiveCfg = Release|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Release|Win32.Build.0 = Release|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Release|x64.ActiveCfg = Release|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.Release|x64.Build.0 = Release|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {4AC6B957-1506-4EDB-BF6A-CF7CCE86EC1F}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Debug|Win32.ActiveCfg = Debug|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Debug|Win32.Build.0 = Debug|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Debug|x64.ActiveCfg = Debug|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Debug|x64.Build.0 = Debug|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.DebugDLL|x64.Build.0 = DebugDLL|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Release|Win32.ActiveCfg = Release|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Release|Win32.Build.0 = Release|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Release|x64.ActiveCfg = Release|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.Release|x64.Build.0 = Release|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {4171BC51-2FDD-4BF5-BB80-1D9B2ACB03B9}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {F36F075A-880D-47BA-805F-C47850062121}.Debug|Win32.ActiveCfg = Debug|Win32 {F36F075A-880D-47BA-805F-C47850062121}.Debug|Win32.Build.0 = Debug|Win32 {F36F075A-880D-47BA-805F-C47850062121}.Debug|x64.ActiveCfg = Debug|x64 {F36F075A-880D-47BA-805F-C47850062121}.Debug|x64.Build.0 = Debug|x64 {F36F075A-880D-47BA-805F-C47850062121}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {F36F075A-880D-47BA-805F-C47850062121}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {F36F075A-880D-47BA-805F-C47850062121}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {F36F075A-880D-47BA-805F-C47850062121}.DebugDLL|x64.Build.0 = DebugDLL|x64 {F36F075A-880D-47BA-805F-C47850062121}.Release|Win32.ActiveCfg = Release|Win32 {F36F075A-880D-47BA-805F-C47850062121}.Release|Win32.Build.0 = Release|Win32 {F36F075A-880D-47BA-805F-C47850062121}.Release|x64.ActiveCfg = Release|x64 {F36F075A-880D-47BA-805F-C47850062121}.Release|x64.Build.0 = Release|x64 {F36F075A-880D-47BA-805F-C47850062121}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {F36F075A-880D-47BA-805F-C47850062121}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {F36F075A-880D-47BA-805F-C47850062121}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {F36F075A-880D-47BA-805F-C47850062121}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Debug|Win32.ActiveCfg = Debug|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Debug|Win32.Build.0 = Debug|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Debug|x64.ActiveCfg = Debug|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Debug|x64.Build.0 = Debug|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.DebugDLL|x64.Build.0 = DebugDLL|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Release|Win32.ActiveCfg = Release|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Release|Win32.Build.0 = Release|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Release|x64.ActiveCfg = Release|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.Release|x64.Build.0 = Release|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {B25A3F96-68E8-4FD4-860E-2C33E539B892}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Debug|Win32.ActiveCfg = Debug|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Debug|Win32.Build.0 = Debug|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Debug|x64.ActiveCfg = Debug|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Debug|x64.Build.0 = Debug|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.DebugDLL|x64.Build.0 = DebugDLL|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Release|Win32.ActiveCfg = Release|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Release|Win32.Build.0 = Release|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Release|x64.ActiveCfg = Release|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.Release|x64.Build.0 = Release|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {E015DB8C-C463-4A6B-88EA-AFC671D84B5B}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.Debug|Win32.ActiveCfg = Debug|Win32 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.Debug|Win32.Build.0 = Debug|Win32 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.Debug|x64.ActiveCfg = Debug|x64 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.Debug|x64.Build.0 = Debug|x64 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.DebugDLL|x64.Build.0 = DebugDLL|x64 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.Release|Win32.ActiveCfg = Release|Win32 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.Release|Win32.Build.0 = Release|Win32 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.Release|x64.ActiveCfg = Release|x64 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.Release|x64.Build.0 = Release|x64 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {729E4E11-3BBA-4306-B53C-8AEC45E70E10}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.Debug|Win32.ActiveCfg = Debug|Win32 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.Debug|Win32.Build.0 = Debug|Win32 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.Debug|x64.ActiveCfg = Debug|x64 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.Debug|x64.Build.0 = Debug|x64 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.DebugDLL|x64.Build.0 = DebugDLL|x64 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.Release|Win32.ActiveCfg = Release|Win32 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.Release|Win32.Build.0 = Release|Win32 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.Release|x64.ActiveCfg = Release|x64 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.Release|x64.Build.0 = Release|x64 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {3D77E4F8-02EE-491F-B01C-EE8012CABA18}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.Debug|Win32.ActiveCfg = Debug|Win32 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.Debug|Win32.Build.0 = Debug|Win32 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.Debug|x64.ActiveCfg = Debug|x64 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.Debug|x64.Build.0 = Debug|x64 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.DebugDLL|x64.Build.0 = DebugDLL|x64 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.Release|Win32.ActiveCfg = Release|Win32 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.Release|Win32.Build.0 = Release|Win32 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.Release|x64.ActiveCfg = Release|x64 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.Release|x64.Build.0 = Release|x64 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {2C117585-9BA4-4BFE-8335-E3E9D51D4DA7}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA}.Debug|Win32.ActiveCfg = Debug|Win32 {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA}.Debug|Win32.Build.0 = Debug|Win32 {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA}.Debug|x64.ActiveCfg = Debug|x64 {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA}.Release|Win32.ActiveCfg = Release|Win32 {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA}.Release|Win32.Build.0 = Release|Win32 {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA}.Release|x64.ActiveCfg = Release|x64 {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {6ABBF8BA-0A23-4C5C-8AEB-1B2577625DFA}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Debug|Win32.ActiveCfg = Debug|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Debug|Win32.Build.0 = Debug|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Debug|x64.ActiveCfg = Debug|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Debug|x64.Build.0 = Debug|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.DebugDLL|x64.Build.0 = DebugDLL|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Release|Win32.ActiveCfg = Release|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Release|Win32.Build.0 = Release|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Release|x64.ActiveCfg = Release|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.Release|x64.Build.0 = Release|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {1A091C40-C0F3-4405-B99E-CA60B9855D77}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Debug|Win32.ActiveCfg = Debug|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Debug|Win32.Build.0 = Debug|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Debug|x64.ActiveCfg = Debug|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Debug|x64.Build.0 = Debug|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.DebugDLL|Win32.ActiveCfg = DebugDLL|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.DebugDLL|Win32.Build.0 = DebugDLL|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.DebugDLL|x64.ActiveCfg = DebugDLL|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.DebugDLL|x64.Build.0 = DebugDLL|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Release|Win32.ActiveCfg = Release|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Release|Win32.Build.0 = Release|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Release|x64.ActiveCfg = Release|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.Release|x64.Build.0 = Release|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.ReleaseDLL|Win32.ActiveCfg = ReleaseDLL|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.ReleaseDLL|Win32.Build.0 = ReleaseDLL|Win32 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.ReleaseDLL|x64.ActiveCfg = ReleaseDLL|x64 {B85BDC90-013A-4D6B-B774-F2D7E0067DA6}.ReleaseDLL|x64.Build.0 = ReleaseDLL|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal exiv2-0.25/msvc2005/libcurl/0000775000175000017500000000000012541547730015236 5ustar andreasandreasexiv2-0.25/msvc2005/libcurl/libcurl.vcproj0000664000175000017500000007153212447511333020122 0ustar andreasandreas exiv2-0.25/msvc2005/xmpparser-test/0000775000175000017500000000000012541547730016600 5ustar andreasandreasexiv2-0.25/msvc2005/xmpparser-test/xmpparser-test.vcproj0000664000175000017500000003267012517641614023032 0ustar andreasandreas exiv2-0.25/msvc2005/xmpsdk/0000775000175000017500000000000012541547730015110 5ustar andreasandreasexiv2-0.25/msvc2005/xmpsdk/xmpsdk.vcproj0000664000175000017500000003570412447013555017652 0ustar andreasandreas exiv2-0.25/msvc2005/tiff-test/0000775000175000017500000000000012541547730015507 5ustar andreasandreasexiv2-0.25/msvc2005/tiff-test/tiff-test.vcproj0000664000175000017500000003265112517642015020643 0ustar andreasandreas exiv2-0.25/msvc2005/convert-test/0000775000175000017500000000000012541547730016237 5ustar andreasandreasexiv2-0.25/msvc2005/convert-test/convert-test.vcproj0000664000175000017500000003356312517642015022126 0ustar andreasandreas exiv2-0.25/msvc2005/exiv2.vsprops0000664000175000017500000000053212447013555016273 0ustar andreasandreas exiv2-0.25/msvc2005/prevtest/0000775000175000017500000000000012541547727015464 5ustar andreasandreasexiv2-0.25/msvc2005/prevtest/prevtest.vcproj0000664000175000017500000003264612517642015020565 0ustar andreasandreas exiv2-0.25/msvc2005/geotag/0000775000175000017500000000000012541547730015050 5ustar andreasandreasexiv2-0.25/msvc2005/geotag/geotag.vcproj0000664000175000017500000003264012517642015017543 0ustar andreasandreas exiv2-0.25/msvc2005/iptceasy/0000775000175000017500000000000012541547727015431 5ustar andreasandreasexiv2-0.25/msvc2005/iptceasy/iptceasy.vcproj0000664000175000017500000003264612517642015020477 0ustar andreasandreas exiv2-0.25/msvc2005/zlib/0000775000175000017500000000000012541547730014542 5ustar andreasandreasexiv2-0.25/msvc2005/zlib/zlib.vcproj0000664000175000017500000003573212447013555016737 0ustar andreasandreas exiv2-0.25/msvc2005/largeiptc-test/0000775000175000017500000000000012541547730016531 5ustar andreasandreasexiv2-0.25/msvc2005/largeiptc-test/largeiptc-test.vcproj0000664000175000017500000003267012517642015022710 0ustar andreasandreas exiv2-0.25/msvc2005/iptctest/0000775000175000017500000000000012541547730015441 5ustar andreasandreasexiv2-0.25/msvc2005/iptctest/iptctest.vcproj0000664000175000017500000003264612517642015020533 0ustar andreasandreas exiv2-0.25/msvc2005/exifdata/0000775000175000017500000000000012541547727015375 5ustar andreasandreasexiv2-0.25/msvc2005/exifdata/exifdata.vcproj0000775000175000017500000003337612517642015020413 0ustar andreasandreas exiv2-0.25/msvc2005/iptcprint/0000775000175000017500000000000012541547727015624 5ustar andreasandreasexiv2-0.25/msvc2005/iptcprint/iptcprint.vcproj0000664000175000017500000003265112517642015021061 0ustar andreasandreas exiv2-0.25/msvc2005/zlib123/0000775000175000017500000000000012541547730014770 5ustar andreasandreasexiv2-0.25/msvc2005/zlib123/zlib.vcproj0000664000175000017500000003225012403423707017151 0ustar andreasandreas exiv2-0.25/doc/0000775000175000017500000000000012541550120013053 5ustar andreasandreasexiv2-0.25/doc/templates/0000775000175000017500000000000012541550116015056 5ustar andreasandreasexiv2-0.25/doc/templates/iptc.awk0000664000175000017500000000305410246107654016530 0ustar andreasandreas################################################################################ # File : iptc.awk # Version : $Rev: 570 $ # Author(s): Andreas Huggel (ahu) # History : 07-Feb-04, ahu: created # # Description: # Awk script to convert a taglist to XML format used in the documentation. # $ taglist [SectionName] | awk -f iptc.awk > iptc.xml ################################################################################ BEGIN { FS = ", " print ""; print ""; print "" print "
" print "Iptc datasets defined in Exiv2" print "" print "

Datasets are defined according to the specification of the Iptc " print "Information Interchange Model (IIM).

" print "

Click on a column header to sort the table.

" print "
" print "
" print "" } { print " "; print " " $1 "" print " " $2 "" print " " $3 "" print " " $4 "" print " " $5 "" print " " $6 "" print " " $7 "" print " " $8 "" print " " $9 "" print " " $10 "" print " " $11 "" print " "; } END { print "" print "
" } exiv2-0.25/doc/templates/__doctype__0000664000175000017500000000012110246107654017243 0ustar andreasandreas exiv2-0.25/doc/templates/tags-xmp-iptcExt.html.in0000664000175000017500000000213512511325330021523 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

IPTC Extension schema

This schema specifies the IPTC Extension XMP properties. The IPTC Extension schema extends and complements the IPTC Core schema by a set of more granular properties and further specialized rights related properties from the PLUS metadata schema.

  • Exiv2 keys are Xmp.iptcExt.<Property>
  • The schema namespace URI is http://iptc.org/std/Iptc4xmpExt/2008-02-29/
  • The preferred schema namespace prefix is Iptc4xmpExt
Reference: IPTC Extension Specification Version 1.2 standard

Note: Exiv2 uses iptcExt (rather than Iptc4xmpExt) as the group name for keys of IPTC Extension schema properties.

Click on a column header to sort the table.

__xmp_iptcExt__
exiv2-0.25/doc/templates/tags-pentax.html.in0000664000175000017500000000050410702464456020613 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Pentax MakerNote Tags defined in Exiv2

Tags found in the MakerNote of images taken with Pentax cameras.

Click on a column header to sort the table.

__Pentax__
exiv2-0.25/doc/templates/tags-xmp-MPRI.html.in0000664000175000017500000000135511744713361020671 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Microsoft Photo RegionInfo schema

The Microsoft Photo RegionInfo 1.2 schema provides a set of properties for region info.

  • Exiv2 keys are Xmp.MPRI.<Property>
  • The schema namespace URI is http://ns.microsoft.com/photo/1.2/t/RegionInfo#
  • The preferred schema namespace prefix is MPRI
Reference: People Tagging Overview

Click on a column header to sort the table.

__xmp_MPRI__
exiv2-0.25/doc/templates/__index3__0000664000175000017500000000023010364077513016770 0ustar andreasandreas

Exiv2 supported Raw File Formats

exiv2-0.25/doc/templates/tags-xmp-acdsee.html.in0000664000175000017500000000131612516533463021344 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

ACDSee XMP schema

Custom XMP properties written by ACDSee applications.

  • Exiv2 keys are Xmp.acdsee.<Property>
  • The schema namespace URI is http://ns.acdsee.com/iptc/1.0/
  • The preferred schema namespace prefix is acdsee
Reference: ACDSee Properties pane

Click on a column header to sort the table.

__xmp_acdsee__
exiv2-0.25/doc/templates/tags-olympus.html.in0000664000175000017500000000223311115247202021010 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Olympus MakerNote Tags defined in Exiv2

Tags found in the MakerNote of images taken with Olympus cameras.

Click on a column header to sort the table.

__Olympus__

Olympus Camera Settings Tags

Click on a column header to sort the table.

__OlympusCs__

Olympus Equipment Tags

Click on a column header to sort the table.

__OlympusEq__

Olympus Raw Development Tags

Click on a column header to sort the table.

__OlympusRd__

Olympus Raw Development 2 Tags

Click on a column header to sort the table.

__OlympusRd2__

Olympus Image Processing Tags

Click on a column header to sort the table.

__OlympusIp__

Olympus Focus Info Tags

Click on a column header to sort the table.

__OlympusFi__

Olympus FE Tags

Click on a column header to sort the table.

__OlympusFe1__

Olympus Raw Info Tags

Click on a column header to sort the table.

__OlympusRi__
exiv2-0.25/doc/templates/tags-xmp-lr.html.in0000664000175000017500000000127212507534300020525 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Lightroom Schema

This schema specifies hierarchical keyword XMP properties used by Adobe Lightroom.

  • Exiv2 keys are Xmp.lr.<Property>
  • The schema namespace URI is http://ns.adobe.com/lightroom/1.0/
  • The preferred schema namespace prefix is lr
Reference: Adobe Lightroom Keywords

Click on a column header to sort the table.

__xmp_lr__
exiv2-0.25/doc/templates/tags-xmp-GPano.html.in0000664000175000017500000000146112516533463021125 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Google Photo Sphere XMP schema

Panorama tags written by Google Photosphere. Specifies XMP properties that provide information regarding the creation and rendering of a panorama image.

  • Exiv2 keys are Xmp.GPano.<Property>
  • The schema namespace URI is http://ns.google.com/photos/1.0/panorama/
  • The preferred schema namespace prefix is GPano
Reference: Photo Sphere XMP Metadata

Click on a column header to sort the table.

__xmp_GPano__
exiv2-0.25/doc/templates/tags-samsung.html.in0000664000175000017500000000070511676125427020777 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Samsung MakerNote Tags defined in Exiv2

Tags found in the MakerNote of images taken with Samsung cameras.

Click on a column header to sort the table.

__Samsung2__

Samsung Picture Wizard Tags

Click on a column header to sort the table.

__SamsungPictureWizard__
exiv2-0.25/doc/templates/tags-fujifilm.html.in0000664000175000017500000000064210246630401021110 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Fujifilm MakerNote Tags defined in Exiv2

Tags found in the MakerNote of images taken with Fujifilm cameras. These tags are defined by Exiv2 in accordance with [1].

Click on a column header to sort the table.

__Fujifilm__
exiv2-0.25/doc/templates/tags-xmp-kipi.html.in0000664000175000017500000000111411400215011021021 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

KDE Image Program Interface schema

KDE Image Program Interface schema tags, used by digiKam kipi-plugins.

  • Exiv2 keys are Xmp.kipi.<Property>
  • The schema namespace URI is http://www.digikam.org/ns/kipi/1.0/
  • The preferred schema namespace prefix is kipi
Reference: ?

Click on a column header to sort the table.

__xmp_kipi__
exiv2-0.25/doc/templates/tags-xmp-xmpTPg.html.in0000664000175000017500000000130312511325330021316 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

XMP Paged-Text Schema

The Paged-Text schema is used for XMP properties for text appearing on a page in a document.

  • Exiv2 keys are Xmp.xmpTPg.<Property>
  • The schema namespace URI is http://ns.adobe.com/xap/1.0/t/pg/
  • The preferred schema namespace prefix is xmpTPg
Reference: XMP Specification and Documentation

Click on a column header to sort the table.

__xmp_xmpTPg__
exiv2-0.25/doc/templates/__makernotes__0000664000175000017500000001237311475226656017771 0ustar andreasandreas
Make Format Header Endian 1) Offsets 2) Ref Remarks
Canon IFD None     [2] Some CR2 images have a non-zero next-IFD pointer
Casio IFD - - - [4] Not supported by Exiv2 yet
FUJI IFD, usually at offset 12 Starts with the string "FUJI" and a 4 byte pointer to the IFD Little-endian (II) Relative to the beginning of the makernote [1] Exif data uses big-endian (MM) byte order
Minolta, KONICA MINOLTA IFD None     [5] Camera settings tag is encoded in big-endian (MM) style, regardless of the encoding style of the Exif data
NIKON IFD None     [3] Models using this makernote include E990, D1
NIKON IFD, at offset 8 "Nikon\0" followed by two bytes of unknown meaning     [1] Models using this makernote include E700, E800, E900, E900S, E910, E950
NIKON IFD, usually at offset 18 "Nikon\0" followed by 4 bytes which look like a version code and a TIFF header From makernote TIFF header Relative to the start of the makernote TIFF header   Models using this makernote include E5400, SQ, D2H, D70, D100, D200. Makernote IFD of the D200 has no next-IFD pointer. (Is this a bug?)
OLYMPUS IFD, at offset 8 "OLYMP\0" followed by two bytes of unknown meaning     [1]  
OLYMPUS IFD, at offset 12 "OLYMPUS\0II" followed by two bytes of unknown meaning   Relative to the beginning of the makernote    
Panasonic IFD without a next-IFD pointer at offset 12 "Panasonic\0\0\0"     [8]  
PENTAX IFD at offset 6 "AOC\0" followed by two bytes of unknown meaning     [11]  
SAMSUNG IFD None   Relative to the beginning of the makernote    
Sanyo IFD - - - [6] Not supported by Exiv2 yet
SIGMA, FOVEON IFD, at offset 10 "SIGMA\0\0\0" or "FOVEON\0\0" followed by two bytes of unknown meaning     [7]  
SONY IFD without a next-IFD pointer at offset 12 "SONY DSC \0\0\0"       Seen in Jpeg images, e.g., from DSC-W7, DSC-R1
SONY IFD None       Seen in SR2 images, e.g., from DSC-R1

1) If not specified, the byte order of the Exif data is applicable.
2) If not specified, offsets are relative to the start of the TIFF header.

exiv2-0.25/doc/templates/__index2__0000664000175000017500000000602512517342175017000 0ustar andreasandreas

Exiv2 Tag Tables

exiv2-0.25/doc/templates/tags-xmp-MP.html.in0000664000175000017500000000231512517344273020434 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Microsoft Photo 1.2 Region schema

The Microsoft XMP schemas for people tagging define a set of properties to tag individuals in digital photos.

  • Exiv2 keys are nested Xmp.MP.RegionInfo/MPRI:Regions/MPReg:<Property>
  • The MP schema namespace URI is http://ns.microsoft.com/photo/1.2/
  • This schema namespace prefix is MP
  • The MPRI schema namespace URI is http://ns.microsoft.com/photo/1.2/t/RegionInfo#
  • This schema namespace prefix is MPRI
  • The MPReg schema namespace URI is http://ns.microsoft.com/photo/1.2/t/Region#
  • This schema namespace prefix is MPReg
Reference: People Tagging Overview

Click on a column header to sort the table.

__xmp_MP__

__xmp_MPRI__

__xmp_MPReg__
exiv2-0.25/doc/templates/exiv2.dot0000664000175000017500000000330310246630401016616 0ustar andreasandreas################################################################################ # File : exiv2.dot # Version : $Rev: 572 $ # Author(s): Andreas Huggel (ahu) # History : 18-Feb-04, ahu: created # 19-Mar-05, ahu: updated after inside-out change # # Description: # Dot file for a graph showing the component dependencies ("uses in the # interface") of the Exiv2 library. # Run the following command to get the image: # $ dot -Tgif -oexiv2.gif exiv2.dot ################################################################################ digraph "Exiv2 component dependencies" { L1 [shape=plaintext] ; L2 [shape=plaintext] ; L3 [shape=plaintext] ; L4 [shape=plaintext] ; L5 [shape=plaintext] ; L6 [shape=plaintext] ; "L6" -> "L5" -> "L4" -> "L3" -> "L2" -> "L1" [style=invis] ; "exif" [shape=box] ; "iptc" [shape=box] ; "metadatum" [shape=box] ; "ifd" [shape=box] ; "image" [shape=box] ; "tags" [shape=box] ; "datasets" [shape=box] ; "value" [shape=box] ; "types" [shape=box] ; "error" [shape=box] ; "makernote" [shape=box] ; "basicio" [shape=box] ; "*mn" [shape=box] ; "jpgimage" [shape=box] ; clusterrank="local"; "basicio" -> "error" "basicio" -> "types" "*mn" -> "makernote" "*mn" -> "tags" "datasets" -> "metadatum" "exif" -> "ifd" "exif" -> "tags" "exif" -> "error" "ifd" -> "types" "image" -> "basicio" "iptc" -> "datasets" "iptc" -> "error" "jpgimage" -> "exif" "jpgimage" -> "image" "jpgimage" -> "iptc" "makernote" -> "ifd" "metadatum" -> "value" "tags" -> "metadatum" "value" -> "types" { rank=same; L1 "types" } { rank=same; L2 "value" "ifd" } { rank=same; L5 "image" "iptc" } } exiv2-0.25/doc/templates/tags-xmp-xmp.html.in0000664000175000017500000000125412511325330020710 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

XMP Basic Schema

The XMP Basic Schema contains XMP properties that provide basic descriptive information.

  • Exiv2 keys are Xmp.xmp.<Property>
  • The schema namespace URI is http://ns.adobe.com/xap/1.0/
  • The preferred schema namespace prefix is xmp
Reference: XMP Specification and Documentation

Click on a column header to sort the table.

__xmp_xmp__
exiv2-0.25/doc/templates/xmp.awk0000664000175000017500000000233410722014073016364 0ustar andreasandreas################################################################################ # File : xmp.awk # Version : $Rev: 1327 $ # Author(s): Andreas Huggel (ahu) # History : 23-Nov-07, ahu: created # # Description: # Awk script to convert an XMP property list to XML format used in the # documentation. # $ taglist [xmpList] | awk -f xmp.awk > [xmpList].xml ################################################################################ BEGIN { FS = ", " # ,\t print ""; print ""; print "" print "
" print "XMP tags defined in Exiv2" print "" print "

Some description

" print "

Click on a column header to sort the table.

" print "
" print "
" print "" } { print " "; print " " $1 "" print " " $2 "" print " " $3 "" print " " $4 "" print " " $5 "" print " " $6 "" print " "; } END { print "" print "
" } exiv2-0.25/doc/templates/getting-started.html.in0000664000175000017500000000023310764544142021463 0ustar andreasandreas__doctype__ __header2__
__index1__

Getting started

__intro__
exiv2-0.25/doc/templates/__index1__0000664000175000017500000000061210363065655016775 0ustar andreasandreas exiv2-0.25/doc/templates/tags-panasonic.html.in0000664000175000017500000000101611141616455021262 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Panasonic MakerNote Tags defined in Exiv2

Tags found in the MakerNote of images taken with Panasonic cameras.

Click on a column header to sort the table.

__Panasonic__

Panasonic RAW Tags defined in Exiv2

Tags found in IFD0 of Panasonic RAW and RW2 images.

Click on a column header to sort the table.

__PanasonicRaw__ exiv2-0.25/doc/templates/tags-xmp-mediapro.html.in0000664000175000017500000000150612517344273021721 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Photo One Media Pro schema

Photo One Media Pro XMP properties. Program was previously known as Microsoft Expression Media and iView Media Pro.

  • Exiv2 keys are Xmp.mediapro.<Property>
  • The schema namespace URI is http://ns.iview-multimedia.com/mediapro/1.0/
  • The preferred schema namespace prefix is mediapro
Reference: ?

Click on a column header to sort the table.

__xmp_mediapro__

While owned by Microsoft the Microsoft Expression Media schema was used.

__xmp_expressionmedia__
exiv2-0.25/doc/templates/tags-xmp-digiKam.html.in0000664000175000017500000000105211157703247021461 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

digiKam Photo Management Schema

This schema specifies XMP properties used by digiKam.

  • Exiv2 keys are Xmp.digiKam.<Property>
  • The schema namespace URI is http://www.digikam.org/ns/1.0/
  • The preferred schema namespace prefix is digiKam

Click on a column header to sort the table.

__xmp_digiKam__
exiv2-0.25/doc/templates/tags-iptc.html.in0000664000175000017500000000060212517342175020251 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

IPTC datasets defined in Exiv2

Datasets are defined according to the specification of the IPTC Information Interchange Model (IIM).

Click on a column header to sort the table.

__Iptc__
exiv2-0.25/doc/templates/tags-xmp-dwc.html.in0000664000175000017500000000205512510017015020656 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Darwin Core Schema

The Darwin Core schema provides a set of XMP properties intended to facilitate the sharing of information about biological diversity.

  • Exiv2 keys are nested: Xmp.dwc.<Main Structure>/dwc:<Property>
  • The schema namespace URI is http://rs.tdwg.org/dwc/index.htm
  • Darwin Core uses some Qualified Dublin Core properties
  • The preferred schema namespace prefix is dwc except for Location properties which use dcterms
  • Some child properties under Record use the dcterms sub key prefix
Reference: Darwin Core Terms

Click on a column header to sort the table.

__xmp_dwc__
exiv2-0.25/doc/templates/tags-xmp-xmpBJ.html.in0000664000175000017500000000126312511325330021124 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

XMP Basic Job Ticket Schema

The following XMP schema describes very simple workflow or job information.

  • Exiv2 keys are Xmp.xmpBJ.<Property>
  • The schema namespace URI is http://ns.adobe.com/xap/1.0/bj/
  • The preferred schema namespace prefix is xmpBJ
Reference: XMP Specification and Documentation

Click on a column header to sort the table.

__xmp_xmpBJ__
exiv2-0.25/doc/templates/tags-xmp-xmpMM.html.in0000664000175000017500000000241012511325330021135 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

XMP Media Management Schema

The XMP Media Management Schema is primarily for use by digital asset management (DAM) systems.

The following XMP properties are "owned" by the DAM system and should be set by applications under their direction; they should not be used by unmanaged files: xmpMM:ManagedFrom, xmpMM:Manager, xmpMM:ManageTo, xmpMM:ManageUI, xmpMM:ManagerVariant.

The following properties are owned by the DAM system for managed files, but can also be used by applications for unmanaged files: xmpMM:DerivedFrom, xmpMM:DocumentID, xmpMM:RenditionClass, xmpMM:RenditionParams, xmpMM:VersionID, xmpMM:Versions.

The xmpMM:History property is always owned by the application.

  • Exiv2 keys are Xmp.xmpMM.<Property>
  • The schema namespace URI is http://ns.adobe.com/xap/1.0/mm/
  • The preferred schema namespace prefix is xmpMM
Reference: XMP Specification and Documentation

Click on a column header to sort the table.

__xmp_xmpMM__
exiv2-0.25/doc/templates/iptc.xsl0000664000175000017500000001066410250257026016553 0ustar andreasandreas

Tag (hex) Tag (dec) Key Type M. R. Min. bytes Max. bytes Tag description Yes No Yes No
exiv2-0.25/doc/templates/tags-xmp-mwg-rs.html.in0000664000175000017500000000145512517342175021337 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Metadata Working Group Regions schema

The Metadata Working Group's schema for image region metadata.

  • Exiv2 keys are nested in the form Xmp.mwg-rs.Regions/mwg-rs:RegionList/mwg-rs:<Property>
  • The schema namespace URI is http://www.metadataworkinggroup.com/schemas/regions/
  • The preferred schema namespace prefix is mwg-rs
Reference: Guidelines for Handling Image Metadata

Click on a column header to sort the table.

__xmp_mwg-rs__
exiv2-0.25/doc/templates/gpl-license.html.in0000664000175000017500000004576210363202405020564 0ustar andreasandreas GNU General Public License
__index1__

GNU General Public License

Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

GNU General Public License
Terms And Conditions For Copying, Distribution And Modification

0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

  1. You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

  2. You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

  3. If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

  1. Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

  2. Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

  3. Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

No Warranty

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) 19yy  <name of author>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this when it starts in an interactive mode:

    Gnomovision version 69, Copyright (C) 19yy name of author
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands "show w" and "show c" should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than "show w" and "show c"; they could even be mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  `Gnomovision' (which makes passes at compilers) written by James Hacker.

  <signature of Ty Coon>, 1 April 1989
  Ty Coon, President of Vice

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.

exiv2-0.25/doc/templates/tags-xmp-aux.html.in0000664000175000017500000000133512511325330020701 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Exif Schema for Additional Exif Properties

The following table lists additional XMP properties that describe the equipment used to produce Exif data.

  • Exiv2 keys are Xmp.aux.<Property>
  • The schema namespace URI is http://ns.adobe.com/exif/1.0/aux/
  • The preferred schema namespace prefix is aux
Reference: XMP Specification and Documentation

Click on a column header to sort the table.

__xmp_aux__
exiv2-0.25/doc/templates/tags-xmp-xmpRights.html.in0000664000175000017500000000152112511325330022066 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

XMP Rights Management Schema

This schema includes XMP properties related to rights management. These properties specify information regarding the legal restrictions associated with a resource.
Note: XMP is not a rights-enforcement mechanism.

  • Exiv2 keys are Xmp.xmpRights.<Property>
  • The schema namespace URI is http://ns.adobe.com/xap/1.0/rights/
  • The preferred schema namespace prefix is xmpRights
Reference: XMP Specification and Documentation

Click on a column header to sort the table.

__xmp_xmpRights__
exiv2-0.25/doc/templates/tags-minolta.html.in0000664000175000017500000000151010434075203020743 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Minolta MakerNote Tags defined in Exiv2

Tags found in the MakerNote of images taken with Minolta cameras. The Exiv2 tags are based on [5], [9] and [10].

Click on a column header to sort the table.

__Minolta__

Minolta Camera Settings (tags from older and newer cameras)

Click on a column header to sort the table.

__MinoltaCsNew__

Minolta 5D Camera Settings

Click on a column header to sort the table.

__MinoltaCs5D__

Minolta 7D Camera Settings

Click on a column header to sort the table.

__MinoltaCs7D__
exiv2-0.25/doc/templates/__intro__0000664000175000017500000001251311061740412016726 0ustar andreasandreas

Namespaces

The Exiv2 library is made up of all elements defined in the Exiv2 namespace.

Classes

The top-level class of the Exiv2 library is Exiv2::Image. Exiv2::Image defines the interface to access image metadata. Derived from Exiv2::Image are implementations for different image formats. Most importantly, they contain the logic to read metadata from the image into Exiv2 metadata containers and write it back to the image. Most applications will use Exiv2::ImageFactory to access images in files or memory, in which case the image format is transparent to them. The factory determines the image format from the data (not the file extension) and creates an object of the corresponding Image subclass.

Exif and IPTC metadata is manipulated through the classes Exiv2::ExifData and Exiv2::IptcData. They hold a container of Exif and IPTC metadata, respectively, and define related methods to access and manipulate the metadata.
Exif tag and IPTC dataset reference information for the standard tags and datasets is available in the two static classes Exiv2::ExifTags and Exiv2::IptcDataSets.
The metadata containers hold objects derived from Exiv2::Metadatum. Interface class Exiv2::Metadatum defines methods to access the information of one metadatum. It models the tag data as a key and value pair. The abstract base class Exiv2::Key defines the interface for a key. Concrete keys implement Exif and IPTC keys. The abstract base class Exiv2::Value defines the interface to access tag information, from which concrete values are derived. The actual value used in a metadatum depends on the type of the Exif tag or IPTC dataset. It is usually determined when the Exif or IPTC metadata is read from an image. It is also possible to manually create a Value and together with a key add it to an ExifData or IptcData container.

The classes to access XMP metadata are Exiv2::XmpData, Exiv2::Xmpdatum and Exiv2::XmpKey. They work similar to the corresponding Exif and IPTC classes. The property reference information is in Exiv2::XmpProperties. In addition to the expected new members, class Exiv2::Image now also has an interface to access the raw XMP packet.
All XMP value types are supported: Simple types, structures, arrays, property qualifiers and language alternatives.
XMP properties are accessed through keys of the form "Xmp.<Prefix>.<PropertyPath>", where <Prefix> is the preferred (or rather, registered) prefix for a schema namespace and <PropertyPath> is the path of the XMP node. In its most basic form, to address simple properties, <PropertyPath> is the name of the property. In general, <PropertyPath> can be used to address any XMP node, including array items, structure fields qualifiers and deeply nested properties.
Any properties in known namespaces are supported and additional namespaces can be registered.
The specialized Exiv2 values Exiv2::XmpTextValue, Exiv2::XmpArrayValue and Exiv2::LangAltValue are provided to simplify the use of XMP properties.
Note: Unlike Exif and IPTC tags, XMP properties do not have a tag number.

Examples

There are several simple examples that demonstrate the basic use of Exiv2 functionality: Exifprint shows how the Exif data of an image can be read and written to the screen. Iptcprint is a similar example to print IPTC data. Addmoddel shows how to add, modify and delete Exif metadata. Exifcomment shows how to set the exif comment of an image. Xmpsample.cpp contains examples of how to set various types of XMP properties.
For more real-world code have a look at the implementation of the different actions of the Exiv2 utility (actions.cpp).

Makernotes

Exif Makernote data can be accessed through ExifData in the same way as the standard Exif tags. In other words, for each entry of a known Makernote, there is a corresponding Metadatum in the ExifData container. Makernote taglists are available in classes Exiv2::<Make>MakerNote (e.g., Exiv2::CanonMakerNote.) exiv2-0.25/doc/templates/tags-xmp-dc.html.in0000664000175000017500000000123512511325330020471 0ustar andreasandreas__doctype__ __header2__

__index1__ __index2__

Dublin Core Schema

The Dublin Core schema provides a set of commonly used XMP properties.

  • Exiv2 keys are Xmp.dc.<Property>
  • The schema namespace URI is http://purl.org/dc/elements/1.1/
  • The preferred schema namespace prefix is dc
Reference: XMP Specification and Documentation

Click on a column header to sort the table.

__xmp_dc__
exiv2-0.25/doc/templates/__header2__0000664000175000017500000000247210530627170017115 0ustar andreasandreas Exiv2 - Exif and IPTC metadata library and tools exiv2-0.25/doc/templates/tags-xmp-dcterms.html.in0000664000175000017500000000150312510017015021537 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Qualified Dublin Core Schema

Qualified Dublin Core XMP properties are used under Darwin Core.

  • Exiv2 keys are nested: Xmp.dwc.Record/dcterms:<Property>
  • The schema namespace URI is http://purl.org/dc/terms/
  • The schema namespace prefix dcterms is only used for DwC Location properties: Xmp.dcterms.Location/dwc:<Property>
Reference: DCMI Metadata Terms

Click on a column header to sort the table.

__xmp_dcterms__
exiv2-0.25/doc/templates/tags-xmp-mwg-kw.html.in0000664000175000017500000000147012517342175021331 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Metadata Working Group Keywords schema

The Metadata Working Group's schema for hierarchical keywords metadata.

  • Exiv2 keys are nested in the form Xmp.mwg-kw.Keywords/mwg-kw:Hierarchy/mwg-kw:<Property>
  • The schema namespace URI is http://www.metadataworkinggroup.com/schemas/keywords/
  • The preferred schema namespace prefix is mwg-kw
Reference: Guidelines for Handling Image Metadata

Click on a column header to sort the table.

__xmp_mwg-kw__
exiv2-0.25/doc/templates/crw-mapping.html.in0000664000175000017500000000234310364077513020605 0ustar andreasandreas__doctype__ __header2__
__index1__ __index3__

Canon CRW files: Mapping of CIFF to Exif tags

CRW files are encoded in CIFF format. CIFF format consists of a header and a hierarchy of directories and entries, similar to TIFF (but easier to deal with). In Exiv2, there is no CRW or CIFF type of metadata. Instead, known and suitable CIFF tags are mapped to Exif metadata, but not all CIFF tags are mapped. Exiv2 reads Canon CRW files, parses the CIFF structure and maps known and suitable tags to Exif metadata. Writing to CRW files entails a reverse mapping from Exif metadata to the CIFF tags. This way it is possible, e.g., to adjust the date when the image was taken by reading the CRW file, modifying Exif.Photo.DateTimeOriginal and writing the Exif data back to a CRW file. Tags for which there is no mapping defined are ignored during both, reading and writing.

Reference: The Canon RAW (CRW) File Format by Phil Harvey.

Exiv2 supports the mappings listed in the table below.

Click on a column header to sort the table.

__CrwMapping__
exiv2-0.25/doc/templates/Makefile0000664000175000017500000001272712521135474016533 0ustar andreasandreas# ************************************************************* -*- Makefile -*- # # Copyright (C) 2004-2015 Andreas Huggel # # This Makefile is part of the Exiv2 distribution. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials provided # with the distribution. # 3. The name of the author may not be used to endorse or promote # products derived from this software without specific prior # written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # File: Makefile # Version: $Rev: 3777 $ # Author(s): Andreas Huggel (ahu) # History: 28-May-05, ahu: created # # Description: # Simple Makefile to create html documentation from templates. Requires # some special tools (awk, python, xsltproc) but really only needs to # be used to update the documentation after changing Exiv2 tags in the # source code. # # Restrictions: # Only tested with GNU make. # TABLES = Exif \ Canon \ CanonCs \ CanonSi \ CanonCf \ CanonPi \ CanonFi \ CanonPa \ CanonPr \ Fujifilm \ Minolta \ MinoltaCsNew \ MinoltaCs5D \ MinoltaCs7D \ Nikon1 \ Nikon2 \ Nikon3 \ NikonVr \ NikonPc \ NikonWt \ NikonIi \ NikonAf \ NikonAf2 \ NikonAFT \ NikonFi \ NikonMe \ NikonFl1 \ NikonFl2 \ NikonFl3 \ NikonSiD80 \ NikonSiD40 \ NikonSiD300a \ NikonSiD300b \ NikonSi01xx \ NikonCb1 \ NikonCb2 \ NikonCb2a \ NikonCb2b \ NikonCb3 \ NikonCb4 \ NikonLd1 \ NikonLd2 \ NikonLd3 \ Olympus \ OlympusCs \ OlympusEq \ OlympusRd \ OlympusRd2 \ OlympusIp \ OlympusFi \ OlympusFe1 \ OlympusRi \ Panasonic \ PanasonicRaw \ Pentax \ Samsung2 \ SamsungPictureWizard \ Sigma \ Sony1 \ SonyMinolta \ Sony1Cs \ Sony1Cs2 \ Sony1MltCs7D \ Sony1MltCsOld \ Sony1MltCsA100 SCHEMA = xmp_dc \ xmp_dwc \ xmp_dcterms \ xmp_xmp \ xmp_xmpRights \ xmp_xmpMM \ xmp_xmpBJ \ xmp_xmpTPg \ xmp_xmpDM \ xmp_pdf \ xmp_photoshop \ xmp_lr \ xmp_crs \ xmp_tiff \ xmp_exif \ xmp_aux \ xmp_iptc \ xmp_MicrosoftPhoto \ xmp_acdsee \ xmp_digiKam \ xmp_kipi \ xmp_iptcExt \ xmp_plus \ xmp_mediapro \ xmp_expressionmedia \ xmp_GPano \ xmp_MP \ xmp_MPRI \ xmp_MPReg \ xmp_mwg-rs \ xmp_mwg-kw TAGLIST = ../../bin/taglist # ********************************************************************** # ====================================================================== # ********************************************************************** # Initialisations SHELL = /bin/sh .SUFFIXES: # Default make target all: tags .PHONY: tags mostlyclean clean distclean maintainer-clean tags: $(TABLES) Iptc $(SCHEMA) @./gen.py *.html.in $(TABLES): $(TAGLIST) @echo Generating $@ table... @$(TAGLIST) $@ | sed -e"s//\>/g" | awk -f tags.awk > $@.xml @xsltproc tags.xsl $@.xml > $@.tmp @sed "s/report1/$@/" $@.tmp > __$@__ @touch $@ @rm -f $@.tmp Iptc: $(TAGLIST) @echo Generating $@ table... @$(TAGLIST) $@ | sed -e"s//\>/g" -e"s/�/\±/g" \ | awk -f iptc.awk > $@.xml @xsltproc iptc.xsl $@.xml > $@.tmp @sed "s/report1/$@/g" $@.tmp > __$@__ @touch $@ @rm -f $@.tmp $(SCHEMA): $(TAGLIST) @echo Generating $@ table... @echo $@ | sed "s/xmp_//" | xargs $(TAGLIST) | sed -e"s//\>/g" | awk -f xmp.awk > $@.xml @xsltproc xmp.xsl $@.xml > $@.tmp @sed "s/report1/$@/" $@.tmp > __$@__ @touch $@ @rm -f $@.tmp $(TAGLIST): $(error File $(TAGLIST) does not exist. Did you build the library and programs in the src/ directory?) mostlyclean: rm -f *.xml rm -f *.tmp clean: mostlyclean rm -f $(TABLES:%=__%__) __Iptc__ rm -f $(SCHEMA:%=__%__) rm -f $(TABLES) $(SCHEMA) Iptc rm -f *.html distclean: clean rm -f *~ maintainer-clean: distclean exiv2-0.25/doc/templates/__CrwMapping__0000664000175000017500000000547410473342234017660 0ustar andreasandreas
Exif Key CRW Tag CRW Directory
Mapped to the image comment 0x0805 0x300a
Exif.Image.Make
Exif.Image.Model
0x080a 0x2807
Exif.Canon.FirmwareVersion 0x080b 0x3004
Exif.Canon.OwnerName 0x0810 0x2807
Exif.Canon.ImageType 0x0815 0x2804
Exif.Canon.0x0002 0x1029 0x300b
Exif.CanonCs2.*
Exif.Photo.FNumber (not used on write)
Exif.Photo.ExposureTime (not used on write)
0x102a 0x300b
Exif.CanonCs.* 0x102d 0x300b
Exif.CanonCf.* 0x1033 0x300b
Exif.CanonPi.* 0x1038 0x300b
Exif.Canon.WhiteBalanceTable 0x10a9 0x300b
Exif.Photo.ColorSpace 0x10b4 0x300b
Exif.Canon.0x00b5 0x10b5 0x300b
Exif.Canon.0x00c0 0x10c0 0x300b
Exif.Canon.0x00c1 0x10c1 0x300b
Exif.Photo.SubjectDistance 0x1807 0x3002
Exif.Canon.SerialNumber 0x180b 0x3004
Exif.Photo.DateTimeOriginal 0x180e 0x300a
Exif.Image.Orientation
Exif.Photo.PixelXDimension
Exif.Photo.PixelYDimension
0x1810 0x300a
Exif.Canon.ImageNumber 0x1817 0x300a
Exif.Canon.0x0015 0x183b 0x300b
Exif.Thumbnail.Compression
Exif.Thumbnail.JPEGInterchangeFormat
Exif.Thumbnail.JPEGInterchangeFormatLength
0x2008 root
exiv2-0.25/doc/templates/tags-xmp-iptc.html.in0000664000175000017500000000177312517342175021065 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

IPTC Core schema

This schema specifies the IPTC Core XMP properties.

  • Exiv2 keys are Xmp.iptc.<Property>
  • Creator Contact Info sub-keys are nested: Xmp.Iptc4xmpCore.CreatorContactInfo/Iptc4xmpCore:<Property>
  • The schema namespace URI is http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/
  • The preferred schema namespace prefix is Iptc4xmpCore
Reference: "IPTC Core" Specification Version 1.2

Note: Exiv2 uses iptc (rather than Iptc4xmpCore) as the group name for keys of IPTC Core schema properties.

Click on a column header to sort the table.

__xmp_iptc__
exiv2-0.25/doc/templates/tags-sony.html.in0000664000175000017500000000271411400144257020277 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Sony MakerNote Tags defined in Exiv2

Tags found in the MakerNote of images taken with Sony cameras.

Click on a column header to sort the table.

__Sony1__

Sony Minolta Tags

These are the same tags as found in the Minolta MakerNote. In Sony images the group name is SonyMinolta.

Click on a column header to sort the table.

__SonyMinolta__

Sony Camera Settings Tags

Click on a column header to sort the table.

__Sony1Cs__

Sony Camera Settings 2 Tags

Click on a column header to sort the table.

__Sony1Cs2__

Sony Minolta Camera Settings Tags

These are the same tags as the Minolta Camera Settings in the Minolta MakerNote. In Sony images the group name is Sony1MltCsOld or Sony1MltCsNew.

Click on a column header to sort the table.

__Sony1MltCsOld__

Sony Minolta Camera Settings 7D Tags

These are the same tags as the Minolta 7D Camera Settings in the Minolta MakerNote. In Sony images the group name is Sony1MltCs7D.

Click on a column header to sort the table.

__Sony1MltCs7D__

Sony Minolta Camera Settings A100 Tags

Click on a column header to sort the table.

__Sony1MltCsA100__
exiv2-0.25/doc/templates/tags-xmp-expressionmedia.html.in0000664000175000017500000000127211400215011023271 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Microsoft Expression Media schema

This is the Microsoft badged version of the iView Media Pro schema.

  • Exiv2 keys are Xmp.expressionmedia.<Property>
  • The schema namespace URI is http://ns.microsoft.com/expressionmedia/1.0/
  • The preferred schema namespace prefix is expressionmedia
Reference: ?

Click on a column header to sort the table.

__xmp_expressionmedia__
exiv2-0.25/doc/templates/tags-xmp-plus.html.in0000664000175000017500000000144711224037324021076 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

PLUS License Data Format schema

The PLUS License Data Format ("LDF") is an ordered group of fields available for optional use in embedding and reading image license metadata in digital files and other documents.

  • Exiv2 keys are Xmp.plus.<Property>
  • The schema namespace URI is http://ns.useplus.org/ldf/xmp/1.0/
  • The preferred schema namespace prefix is plus
Reference: PLUS Technical Specification

Click on a column header to sort the table.

__xmp_plus__
exiv2-0.25/doc/templates/makernote.html.in0000664000175000017500000001073610702464456020355 0ustar andreasandreas__doctype__ __header2__
__index1__

MakerNote Formats and Specifications

The Makernote is tag 0x927c in the Exif IFD. According to the Exif 2.2 standard, the makernote is "a tag for manufacturers of Exif writers to record any desired information. The contents are up to the manufacturer, but this tag should not be used for any other than its intended purpose."

Most vendors do not publish their makernote specifications. Most of the specifications available on the Internet were reverse-engineered. Judging from the size of many makernote fields, manufacturers store a lot of information there and from the available specifications, some of this is certainly quite interesting. For example, makernotes may contain information about the lens used, contrast, saturation and sharpness settings, image quality settings, etc. For some more advanced camera settings, the Exif standard doesn't define a standard tag, so camera vendors have to resort to using the makernote. Unfortunately, in some cases, camera vendors store important information only in proprietary makernote fields, instead of using available Exif standard tags. The most infamous example for this is Nikon's ISO settings tag.

Most vendors write the makernote in TIFF format, i.e., in the same format as the rest of the Exif information is encoded. This appears to be a sensible thing at first glance. Unfortunately, in general it means that any change of an Exif tag, which moves the makernote field, will corrupt it. It is an inherent problem of the TIFF format that a writer must know the format and all extensions used, in order to be able to write changes correctly; unknown tags are potentially corrupted when they are moved (rearranged). But since makernotes are usually proprietary, Exif writers often don't know these details. The reason to write to the Exif data could be as simple as to add copyright information, an Exif comment, etc. Some camera manufacturers seem to have recognized this problem and now use a modified TIFF format with offsets relative to somewhere at the beginning of the makernote field for the makernote IFD to address the issue.

The following table summarizes the structures of the makernote field used by some vendors. Please let me know if you have additional information.

__makernotes__

Exif.org has another table with similar info and sample pictures: Digital Camera Sample Images. According to this source, (at least some) Ricoh and Kodak cameras do not write the makernote in IFD format.

References

[1] Exif file format by TsuruZoh Tachibanaya
[2] EXIF Makernote of Canon by David Burren
[3] Makernote EXIF Tag of the Nikon 990 by Max Lyons
[4] "Makernote" Exif tag of Casio by Eckhard Henkel
[5] Minolta MakerNote by Dalibor Jelinek
[6] Sanyo MakerNote by John Hawkins
[7] SIGMA and FOVEON EXIF MakerNote Documentation by Foveon
[8] Panasonic MakerNote Information by Tom Hughes
[9] Various Makernote specifications from the PHP JPEG Metadata Toolkit by Evan Hunter
[10] ExifTool, the most complete and up-to-date tool for reading and writing meta information in image files, by Phil Harvey
[11] EXIF: Pentax type3 Makernotes by Ger Vermeulen

exiv2-0.25/doc/templates/tags-sigma.html.in0000664000175000017500000000064710246630401020410 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Sigma/Foveon MakerNote Tags defined in Exiv2

Tags found in the MakerNote of images taken with Sigma/Foveon cameras. These tags are defined by Exiv2 in accordance with [7].

Click on a column header to sort the table.

__Sigma__
exiv2-0.25/doc/templates/tags-xmp-MicrosoftPhoto.html.in0000664000175000017500000000107411161124031023056 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Microsoft Photo Schema

This schema specifies XMP properties used by Microsoft.

  • Exiv2 keys are Xmp.MicrosoftPhoto.<Property>
  • The schema namespace URI is http://ns.microsoft.com/photo/1.0/
  • The preferred schema namespace prefix is MicrosoftPhoto

Click on a column header to sort the table.

__xmp_MicrosoftPhoto__
exiv2-0.25/doc/templates/tags.awk0000664000175000017500000000257310434015117016523 0ustar andreasandreas################################################################################ # File : tags.awk # Version : $Rev: 785 $ # Author(s): Andreas Huggel (ahu) # History : 07-Feb-04, ahu: created # # Description: # Awk script to convert a taglist to XML format used in the documentation. # $ taglist [itemName] | awk -f tags.awk > tags.xml ################################################################################ BEGIN { FS = ", " # ,\t print ""; print ""; print "" print "
" print "XYZ MakerNote Tags defined in Exiv2" print "" print "

Tags found in the MakerNote of images taken with XYZ cameras. These tags " print "are defined by Exiv2 in accordance with [X].

" print "

Click on a column header to sort the table.

" print "
" print "
" print "" } { print " "; print " " $1 "" print " " $2 "" print " " $3 "" print " " $4 "" print " " $5 "" print " " $6 "" print " " $7 "" print " "; } END { print "" print "
" } exiv2-0.25/doc/templates/tags-canon.html.in0000664000175000017500000000215411432243722020405 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Canon MakerNote Tags defined in Exiv2

Tags found in the MakerNote of images taken with Canon cameras. These tags are defined by Exiv2 in accordance with [2].

Click on a column header to sort the table.

__Canon__

Canon Camera Settings Tags

Click on a column header to sort the table.

__CanonCs__

Canon Shot Info Tags

Click on a column header to sort the table.

__CanonSi__

Canon Panorama Tags

Click on a column header to sort the table.

__CanonPa__

Canon Custom Function Tags

Click on a column header to sort the table.

__CanonCf__

Canon Picture Info Tags

Click on a column header to sort the table.

__CanonPi__

Canon File Info Tags

Click on a column header to sort the table.

__CanonFi__

Canon Processing Info Tags

Click on a column header to sort the table.

__CanonPr__
exiv2-0.25/doc/templates/tags-xmp-exif.html.in0000664000175000017500000000241212517342175021050 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Exif Schema for Exif-specific Properties

The following table lists the XMP properties defined solely by Exif.

Note: A number of Exif 2.3 properties are not included in XMP. These are generally properties that relate directly to the image stream, or that are of little use without access to the image stream. A general XMP principle is that XMP metadata should have value in and of itself, separate from the primary file content. The omitted properties include: StripOffsets, RowsPerStrip, StripByteCounts, JPEGInterchangeFormat, and JPEGInterchangeFormatLength.

Note: Properties beginning with "GPS" are GPS properties that are also used by DIG-35 and are part of the JPEG-2000 standard.

  • Exiv2 keys are Xmp.exif.<Property>
  • The schema namespace URI is http://ns.adobe.com/exif/1.0/
  • The preferred schema namespace prefix is exif
Reference: XMP Specification and Documentation

Click on a column header to sort the table.

__xmp_exif__
exiv2-0.25/doc/templates/tags-xmp-pdf.html.in0000664000175000017500000000122612511325330020654 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Adobe PDF schema

This schema specifies XMP properties used with Adobe PDF documents.

  • Exiv2 keys are Xmp.pdf.<Property>
  • The schema namespace URI is http://ns.adobe.com/pdf/1.3/
  • The preferred schema namespace prefix is pdf
Reference: XMP Specification and Documentation

Click on a column header to sort the table.

__xmp_pdf__
exiv2-0.25/doc/templates/__maintitle__0000664000175000017500000000006110530627170017561 0ustar andreasandreas

Exif and IPTC metadata library and tools

exiv2-0.25/doc/templates/tags-xmp-xmpDM.html.in0000664000175000017500000000127212511325330021131 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

XMP Dynamic Media Schema

This schema specifies XMP properties used by the Adobe dynamic media group.

  • Exiv2 keys are Xmp.xmpDM.<Property>
  • The schema namespace URI is http://ns.adobe.com/xmp/1.0/DynamicMedia/
  • The preferred schema namespace prefix is xmpDM
Reference: XMP Specification and Documentation

Click on a column header to sort the table.

__xmp_xmpDM__
exiv2-0.25/doc/templates/gen.py0000775000175000017500000000300212255210032016167 0ustar andreasandreas#! /usr/bin/env python # ---------------------------------------------------------------------- # Settings vardir = "." date_format = "%d-%b-%Y" # ---------------------------------------------------------------------- # functions def usage(): print("""Usage: gen.py file.in [...] Substitute placeholders in input files with content """) def gen_html(file): """Replace variables in the file with their content""" text = open(file).read() for var in vars: vartext = open(vardir + "/" + var).read() text = text.replace(var, vartext) text = last_modified(text) return text def last_modified(text): """Substitute variable __last_modified__ with the current date""" date = time.strftime(date_format, time.localtime()) text = text.replace("__last_modified__", date) return text # ---------------------------------------------------------------------- # main import sys import os import re import time # Check command line arguments if len(sys.argv) == 1: usage() sys.exit() # The input files from the command line input = sys.argv[1:] # Get a list of all variables (files in the form __*__) from vardir vars = os.listdir(vardir) for i in range(len(vars)-1, -1, -1): if re.match("^__.*__$", vars[i]): continue del vars[i] vars.sort() # Substitute variables in all input files print("Substituting variables {0}".format(vars)) for file in input: print("Processing {0}...".format(file)) text = gen_html(file) file = file.replace(".in", "") open(file, 'w').write(text) exiv2-0.25/doc/templates/tags-xmp-photoshop.html.in0000664000175000017500000000125112511325330022124 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Photoshop Schema

This schema specifies XMP properties used by Adobe Photoshop.

  • Exiv2 keys are Xmp.photoshop.<Property>
  • The schema namespace URI is http://ns.adobe.com/photoshop/1.0/
  • The preferred schema namespace prefix is photoshop
Reference: XMP Specification and Documentation

Click on a column header to sort the table.

__xmp_photoshop__
exiv2-0.25/doc/templates/tags-xmp-MPReg.html.in0000664000175000017500000000134611744713361021074 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Microsoft Photo Region schema

The Microsoft Photo Region 1.2 schema provides a set of properties for image regions.

  • Exiv2 keys are Xmp.MPReg.<Property>
  • The schema namespace URI is http://ns.microsoft.com/photo/1.2/t/Region#
  • The preferred schema namespace prefix is MPReg
Reference: People Tagging Overview

Click on a column header to sort the table.

__xmp_MPReg__
exiv2-0.25/doc/templates/tags-xmp-crs.html.in0000664000175000017500000000130212511325330020665 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Camera Raw Schema

This schema specifies XMP properties associated with image files produced in camera raw mode.

  • Exiv2 keys are Xmp.crs.<Property>
  • The schema namespace URI is http://ns.adobe.com/camera-raw-settings/1.0/
  • The preferred schema namespace prefix is crs
Reference: XMP Specification and Documentation

Click on a column header to sort the table.

__xmp_crs__
exiv2-0.25/doc/templates/xmp.xsl0000664000175000017500000000667010722014073016417 0ustar andreasandreas

Property Label Value type Exiv2 type Category Description
exiv2-0.25/doc/templates/tags-xmp-tiff.html.in0000664000175000017500000000141112511325330021027 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Exif Schema for TIFF Properties

The following table lists the XMP properties for TIFF-derived data. Only those TIFF properties that are mentioned in the EXIF 2.2 specification are included here.

  • Exiv2 keys are Xmp.tiff.<Property>
  • The schema namespace URI is http://ns.adobe.com/tiff/1.0/
  • The preferred schema namespace prefix is tiff
Reference: XMP Specification and Documentation

Click on a column header to sort the table.

__xmp_tiff__
exiv2-0.25/doc/templates/tags-nikon.html.in0000664000175000017500000000752311744713430020436 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

There are three different Nikon MakerNote formats. Exiv2 will automatically detect the correct format for the Exif data from a particular Nikon camera model.

Nikon (format 1) MakerNote Tags defined in Exiv2

Tags found in the MakerNote of images taken with Nikon cameras, such as the E990 and D1. These tags are defined by Exiv2 in accordance with [3].

Click on a column header to sort the table.

__Nikon1__

Nikon (format 2) MakerNote Tags defined in Exiv2

Tags found in the MakerNote of images taken with Nikon cameras, including the E700, E800, E900, E900S, E910, E950. These tags are defined by Exiv2 in accordance with [1].

Click on a column header to sort the table.

__Nikon2__

Nikon (format 3) MakerNote Tags defined in Exiv2

Tags found in the MakerNote of images taken with newer Nikon cameras, e.g., the E5400, SQ, D2H, D70.

Click on a column header to sort the table.

__Nikon3__

Nikon Vibration Reduction Tags

Click on a column header to sort the table.

__NikonVr__

Nikon Picture Control Tags

Click on a column header to sort the table.

__NikonPc__

Nikon World Time Tags

Click on a column header to sort the table.

__NikonWt__

Nikon ISO Info Tags

Click on a column header to sort the table.

__NikonIi__

Nikon Auto Focus Tags

Click on a column header to sort the table.

__NikonAf__

Nikon Auto Focus 2 Tags

Click on a column header to sort the table.

__NikonAf2__

Nikon AF Fine Tune Tags

Click on a column header to sort the table.

__NikonAFT__

Nikon File Info Tags

Click on a column header to sort the table.

__NikonFi__

Nikon Multi Exposure Tags

Click on a column header to sort the table.

__NikonMe__

Nikon Flash Info 1 Tags

Click on a column header to sort the table.

__NikonFl1__

Nikon Flash Info 2 Tags

Click on a column header to sort the table.

__NikonFl2__

Nikon Flash Info 3 Tags

Click on a column header to sort the table.

__NikonFl3__

Nikon Shot Info D80 Tags

Click on a column header to sort the table.

__NikonSiD80__

Nikon Shot Info D40 Tags

Click on a column header to sort the table.

__NikonSiD40__

Nikon Shot Info D300a Tags

Click on a column header to sort the table.

__NikonSiD300a__

Nikon Shot Info D300b Tags

Click on a column header to sort the table.

__NikonSiD300b__

Nikon Shot Info Tags

Click on a column header to sort the table.

__NikonSi01xx__

Nikon Color Balance 1 Tags

Click on a column header to sort the table.

__NikonCb1__

Nikon Color Balance 2 Tags

Click on a column header to sort the table.

__NikonCb2__

Nikon Color Balance 2a Tags

Click on a column header to sort the table.

__NikonCb2a__

Nikon Color Balance 2b Tags

Click on a column header to sort the table.

__NikonCb2b__

Nikon Color Balance 3 Tags

Click on a column header to sort the table.

__NikonCb3__

Nikon Color Balance 4 Tags

Click on a column header to sort the table.

__NikonCb4__

Nikon Lens Data 1 Tags

Click on a column header to sort the table.

__NikonLd1__

Nikon Lens Data 2 Tags

Click on a column header to sort the table.

__NikonLd2__

Nikon Lens Data 3 Tags

Click on a column header to sort the table.

__NikonLd3__
exiv2-0.25/doc/templates/tags-exif.html.in0000664000175000017500000000125312517342175020250 0ustar andreasandreas__doctype__ __header2__
__index1__ __index2__

Exif Tags supported by Exiv2

These are the Exif tags as defined in the Exif 2.2 standard.

IFD1 tags are not listed seperately. All IFD0 tags may also be present in IFD1, according to the standard. The second part of the Exiv2 key of an IFD1 tag is Thumbnail (instead of Image), the other two parts of the key are the same as for IFD0 tags.

Click on a column header to sort the table.

__Exif__
exiv2-0.25/doc/templates/tags.xsl0000664000175000017500000000670010246630401016543 0ustar andreasandreas

Tag (hex) Tag (dec) IFD Key Type Tag description
exiv2-0.25/doc/cmdxmp.txt0000664000175000017500000000611211744715772015130 0ustar andreasandreas# Sample Exiv2 command file for XMP tags # -------------------------------------- # Set basic properties. Exiv2 uses the value type of the XMP specification # for the property, if it is not specified. The default XMP value type # for unknown properties is a simple text value. # A simple text property. set Xmp.dc.source xmpsample.cpp # An array item (unordered array). set Xmp.dc.subject "Palmtree" # Add a 2nd array item set Xmp.dc.subject "Rubbertree" # A language alternative (without a default) set Xmp.dc.title lang=en-US Sunset on the beach set Xmp.dc.title lang=de-DE Sonnenuntergang am Strand # Any properties can be set provided the namespace is known. set Xmp.dc.one -1 set Xmp.dc.two 3.1415 set Xmp.dc.three 5/7 set Xmp.dc.four 255 set Xmp.dc.five 256 set Xmp.dc.six false set Xmp.dc.seven Seven # The value type can be specified. Exiv2 has support for a limited number # of specific XMP types with built-in types: The basic XmpText, array # types XmpAlt (alternative array), XmpBag (unordered array), XmpSeq # (ordered array) and language alternatives LangAlt. # Simple text property with explicitly specified value type set Xmp.dc.format XmpText "image/jpeg" # An ordered array set Xmp.dc.creator XmpSeq "1) The first creator" set Xmp.dc.creator "2) The second creator" set Xmp.dc.creator "3) And another one" # A language alternative. The default entry of a langauge alternative # doesn't need a language qualifier. set Xmp.dc.description LangAlt lang=de-DE Hallo, Welt set Xmp.dc.description LangAlt Hello, World # According to the XMP specification, Xmp.tiff.ImageDescription is an # alias for Xmp.dc.description. Exiv2 treats an alias just like any # other property. set Xmp.tiff.ImageDescription TIFF image description set Xmp.tiff.ImageDescription lang=de-DE TIFF Bildbeschreibung # Register a namespace which Exiv2 doesn't know yet with a prefix. reg ns myNamespace/ # Add a property in the new custom namespace. set Xmp.ns.myProperty myValue # There are no built-in Exiv2 value types for structures, qualifiers and # nested types. However, these can be added by using an XmpText value and a # path as the key. # Add a structure set Xmp.xmpDM.videoFrameSize/stDim:w 16 set Xmp.xmpDM.videoFrameSize/stDim:h 9 set Xmp.xmpDM.videoFrameSize/stDim:unit inch # Add an element with a qualifier (using the namespace registered earlier) set Xmp.dc.publisher James Bond set Xmp.dc.publisher[1]/?ns:role secret agent # Add a qualifer to an array element of Xmp.dc.creator (added above) set Xmp.dc.creator[2]/?ns:role programmer # Add an array of structures. First set a text property with just the # array type. (Note: this is not the same as creating an XmpBag property.) set Xmp.xmpBJ.JobRef XmpText type=Bag # Then set the array items. Each of them is a structure with two elements. set Xmp.xmpBJ.JobRef[1]/stJob:name XmpText Birthday party set Xmp.xmpBJ.JobRef[1]/stJob:role XmpText Photographer set Xmp.xmpBJ.JobRef[2]/stJob:name Wedding ceremony set Xmp.xmpBJ.JobRef[2]/stJob:role Best man exiv2-0.25/doc/ChangeLog0000664000175000017500000021614612533635064014653 0ustar andreasandreasChanges from version 0.24 to 0.25 --------------------------------- * Exiv2 library - 0000442: exivsimple has array index errors when stripping quotes form trivial input strings (Thomas Beutlich) - 0000707: Use SVN eol-style LF on all files (Andreas Huggel, Robin Mills) - 0000886: Access violation on IptcData::operator[] when key is invalid (Robin Mills) - 0000901: PNG images with tiff tags throw exceptions - 0000934: Plasma kde crashes when specific jpeg is on the Desktop (Robin Mills) - 0000945: TIFF parser,Binary array elements should be decoded using the Makernote's endianness, not that of the image (Andreas Huggel) - 0000970: Coverity scan : Issue CID 981992 , 981993 (Mahesh Hegde, Phil Harvey, Niels Kristian Bech Jensen) - 0000984: Fix 'failed to rename file' problem caused by virus scanner in windows (Axel Waggershauser, Thomas Beutlich,Robin Mills) - 0000989: Wrong key name in output of addmodel sample (Thomas Beutlich, Robin Mills) - 0001019: Cppcheck: Suspicious usage of 'sizeof' with a numeric constant as parameter. (Thomas Beutlich, Robin Mills) - 0001021: Printing tags does not honor multi-byte label widths correctly (Thomas Schmidt, Robin Mills) - 0001039: Wrong ApertureValue written (Torsten Flammiger, Robin Mills) - 0001043: pyexiv2 fails on cifs shares on an Ubuntu client (thoralf schulze, Robin Mills, Thomas Beutlich) - 0001044: TIFF parser,Parse TIFF PageNumber (Robin Mills) - 0001047: Add new sample applications exifdata and exivvalue (Robin Mills) - 0001053: Add option -K Key (--key Key) to specify one or more keys to output. (Robin Mills) - 0001065: Is fileProtocol thread-safe? (Max Pozdeev, Robin Mills) - 0001072: test/tiff-test.sh is failing on Motorola PPC (Robin Mills) - 0001073: test/bugfixes-test.sh is producing results that change with the time-zone (Robin Mills) - 0001084: Garbage in Exif.Image.Make and Exif.Image.Model in some Samsung SRW files * XMP related - 0000774: "exiv2 -eX" followed by "exiv2 -iX" produces invalid XMP metadata packet (Alan Pater) - 0000784: Writing Xmp.lr.hierarchicalSubject writes wrong datatype (Lucas Beeler, Alan Pater) - 0000863: Unicode issue writing to XMP sidecar - 0000864: Mapping of Exif DateTime fields to XMP changed in spec (Marcel Wiesweg, Alan Pater) - 0000937: Support Darwin Core (DwC) XMP metadata (Alan Pater) - 0000946: Xmp.MPReg.PersonLiveCID vs. PersonLiveIdCID (Phil Harvey, Alan Pater) - 0001040: MWG-KW schema (Alan Pater) - 0001054: Overhaul exiv2json.cpp to build a deeply recursive JSON tree of XMP data (Robin Mills) - 0001058: xml:lang should be treated case insensitive (Tobias E., Robin Mills) - 0001059: Support ACDSee XMP properties (Alan Pater) - 0001063: Google Photo Sphere XMP namespace and properties (Alan Pater) * Makernote related - 0000833: Sony NEX Lens Information (Pascal de Bruijn, Torsten Bronger, Robin Mills) - 0000919: Handle Pentax makernotes in samsung-rebranded cameras (Michael Karcher, Niels Kristian Bech Jensen) - 0000924: Olympus XZ-1 FocusDistance incorrect (Niels Kristian Bech Jensen) - 0000929: Support Panasonic Makernote (Nicolas Nicofo, T Modes, Niels Kristian Bech Jensen) - 0000933: Casio Makernotes (T Modes, Niels Kristian Bech Jensen) - 0000954: patch: support for Exif.CanonFi.FocusDistanceUpper and Exif.CanonFi.FocusDistanceLower (Roman Lebedev, Niels Kristian Bech Jensen) - 0000965: Pentax K-3 MakerNote not recognized due to different maker tag (Pascal de Bruijn, Niels Kristian Bech Jensen) - 0000972: Update Panasoic EXIF Information (Bernd Steinhauser, T Modes, Niels Kristian Bech Jensen) - 0000981: Local build crashes in olympusmn.cpp (Robin Mills) - 0001037: MeasuredEV in CanonSi (Axel Waggershauser, Robin Mills) - 0001062: Exif.NikonWt.Timezone translated value can have 'cruft' (Robin Mills) * Lens support related - 0000834: detection of Pentax DA 35/2.4 lens (Jaroslav and Pascal, Andreas Huggel) - 0000839: Canon EOS M EF-M lenses (Pascal de Bruijn, Robin Mills) - 0000926: Lens matching on Canon (Niels Kristian Bech Jensen) - 0000927: Sigma Lens Not detected (Niels Kristian Bech Jensen) - 0000938: Tamron 18-270 is not detected anymore (Torsten Bronger, Niels Kristian Bech Jensen) - 0000942: Wrong aperture for Tamron 70-300? (Torsten Bronger, Niels Kristian Bech Jensen) - 0000943: Tamron lens names: USD excludes AF (Torsten Bronger, Niels Kristian Bech Jensen) - 0000944: Doubled "AF" for some Tokina lens model names on Nikon cameras (Torsten Bronger, Niels Kristian Bech Jensen) - 0000947: LensID 137 in exiv2 0.23 and 0.24 instead of Tamron as Sigma ??? (Thomas Mörschel, Niels Kristian Bech Jensen) - 0000948: Recognize Samsung NX 10mm Fisheye (Pascal de Bruijn, Niels Kristian Bech Jensen) - 0000951: Pentax/Sigma 24-70mm F2.8 IF EX DG HSM data (Terence Duell, Niels Kristian Bech Jensen) - 0000953: patch: add Tamron AF 18-270mm f/3.5-6.3 Di II VC PZD for Canon (Pekka Sarnila, Niels Kristian Bech Jensen) - 0000959: Wrong value in Exiv data for Sigma lenses (24-105 & 50) (Niels Kristian Bech Jensen) - 0000969: Recognising Sigma 50mm F1.4 DG HSM (Robin Mills, Niels Kristian Bech Jensen) - 0000982: Improve detection of Canon lenses sharing the same IDs (Alexander Steffen, Niels Kristian Bech Jensen) - 0000988: New Lens: Samsung NX 16-50 PZ ED OIS (Pascal de Bruijn, Robin Mills) - 0000996: Sigma 28mm 1.8 EX DG MACRO wrongly detected as "lens 150" (Niels Kristian Bech Jensen) - 0001000: trivial: samsung lens id re-sorting (Pascal de Bruijn, Robin Mills) - 0001005: trivial: Canon EF-S 24mm f/2.8 STM detection (Pascal de Bruijn) - 0001026: Lens not recognized (Bastien O, Niels Kristian Bech Jensen) - 0001027: Lens not recognized (Niels Kristian Bech Jensen) - 0001036: New lens ID for Tamron 70-300mm f/4-5.6 Di VC USD (Canon mount) (C M, Niels Kristian Bech Jensen) - 0001051: Lens request Tamron SP AF 28-75mm F/2.8 XR Di LD Aspherical [IF] MACRO (Petrov Vlad, Niels Kristian Bech Jensen) - 0001070: New lens: Sigma 150-600mm f/5-6.3 DG OS HSM Contemporary for Canon (Alexander Steffen, Niels Kristian Bech Jensen) - 0001079: Rename Canon EF 50mm f/1.8 MkII (Niels Kristian Bech Jensen) * Build environment related - 0000697: config/ConfigureChecks.cmake: STRERROR_R_CHAR_P revisited (Nikolai Saoukh, Robin Mills) - 0000857: CMake compilation issue on MacOS-X 4.5.1/Mountain Lion (Robin Mills) - 0000859: Compilation warning using Clang (Davide Anastasia, Andreas Huggel, Robin Mills) - 0000905: Exiv2 does not run on Windows Vista (Daniel Kaneider, Robin Mills) - 0000916: Implement "Cloud Ready" (Robin Mills, Tuan Nhu) - 0000920: Cross compiling for Android on OSX is keep using '/usr/bin/gcc' (Tao Wang, Gilles Caulier, Robin Mills) - 0000939: make gen.py Python3 compatible (Alex Turbov, Robin Mills) - 0000940: Compilation warnings (Robin Mills) - 0000966: svn_version.sh not executable (Michael Pratt, Robin Mills) - 0000974: svn_version.h not installed, but included in installed version.hpp (Jehan Pagès, Robin Mills) - 0000976: Include Run-Time Search Path for Cmake Builds in exiv2 binary ( Gilles Caulier, Nehal J Wani) - 0000979: Temporary File Rename Issue on Windows/MSVC (Robin Mills) - 0000983: Fix Compiler Warnings when using GCC 4.8.1-4 (Nehal J Wani) - 0000991: Windows build broken (CMake+svn_version.sh) (Daniel Kaneider, Robin Mills) - 0000993: Generating svn_version.h with CMake (Daniel Kaneider, Robin Mills) - 0000994: CMake: wrong build rule for svn_version.h (Jehan Pagès, Daniel Kaneider, Robin Mills) - 0001007: exiv2 0.24 Build error on blackfin arch (Nicolas Serafini, Robin Mills) - 0001012: Avoid cyclic inclusion dependency between http.hpp and exiv2.hpp (Thomas Beutlich, Robin Mills) - 0001013: Fix includes of futils.hpp (Thomas Beutlich, Robin Mills) - 0001014: Duplicated header files (Thomas Beutlich, Robin Mills) - 0001015: Avoid MSVC x64 compiler warning in futils.cpp (Thomas Beutlich, Robin Mills) - 0001016: Duplicated header exv_msvc.h (Thomas Beutlich, Robin Mills) - 0001032: CMake doesn't build svn_version.h anymore (Daniel Kaneider, Robin Mills) - 0001046: Report the state of EXV_UNICODE_PATH in exiv2 -vV (Robin Mills) - 0001066: Unable to build for Mac OSX 10.6 (Max Pozdeev, Robin Mills) * Video support related - 0000858: SVN repository download size (Daniel Kaneider, Robin Mills) - 0000936: Video headers include internal include files and need to be added to exiv2.hpp (Andreas Huggel, Robin Mills) - 0000956: Support for .MTS movie format (Abhinav Badola, Robin Mills) - 0000960: Problem With Exiv2 ( Video files) (Henrique Fernandes, Abhinav Badola) - 0000961: Crash in digikam while reading metadata from a .MTS movie file ( Gilles Caulier, Robin Mills) - 0000999: Arithmetic exception in QuickTimeVideo::mediaHeaderDecoder (Luca Carlon, Abhinav Badola) - 0001017: Arithmetic exception in QuickTimeVideo::mediaHeaderDecoder (Mathieu Clabaut) - 0001033: webm with opus audio. Segmentation fault. (Boris Bogar, Abhinav Badola) - 0001069: Make Video Code a build option (Robin Mills) * Translations - 0000950: Typo in po/exiv2.pot, "Colort temperature" should be replaced by "Color temperature" (Javier Lopez, Niels Kristian Bech Jensen) - 0001003: Typos in German translation (Thomas Beutlich) - 0001004: Missing German translation (Thomas Beutlich) - 0001022: Tag description typo (Thomas Beutlich) - 0001025: Camera model names are defined as localized strings, causing automatic defaults to report incorrect names (Niels Kristian Bech Jensen, Thomas Schmidt) - 0001029: Fix common typos (Thomas Beutlich, Robin Mills) - 0001075: Swedish translation of exiv2 (J A, Niels Kristian Bech Jensen) - 0001085: Typos in strings (Anders Jonsson, Alan Pater) * Documentation and website - 0000869: Invalid links in XMP tag reference pages (Alan Pater) - 0000958: Which video formats are supported by exiv 0.24? (Mahesh Hegde, Abhinav Badola) - 0000986: Website: Invalid link to Exif spec (Thomas Beutlich, Andreas Huggel) - 0000987: Strange wording of Exif.Photo.SensitivityType (Thomas Beutlich, Robin Mills) - 0001006: Directory "test" missing from Exiv2 v0.24 tar/gunzip file (Niels Kristian Bech Jensen, Robin Mills) - 0001055: Provide coding guideline on the project Wiki (Robin Mills) Changes from version 0.23 to 0.24 --------------------------------- * Exiv2 library - 0000700: exiv2 (0.19-1) 00_hyphens_used_as_minus.diff (Reported with patch by Mark Purcell, fixed by Niels Kristian Bech Jensen) - 0000813: Video metadata support (Abhinav Badola for GSoC 2012) - 0000820: Samsung NX100 JPG exports have broken EXIF (Reported by Pascal de Bruijn) - 0000822: Warnings while compiling with g++4.5 (Reported by Sebastien Gilles, fixed by Robin Mills) - 0000831: For TIFF-like images, non-intrusive writing is not used when it should (Reported by Thomas Lotze) - 0000832: Patch to detect Carl Zeiss Planar T* 50mm f/1.4 ZE on Canon (Reported with patch by Stian Grindvoll) - 0000835: Exiv2 fails to compile under Linux (Volker Grabsch) - 0000840: example1.cpp clang Mac OS X warnings (Reported by Jerry Jacobs) - 0000841: Exiv2 crashes on input (Reported by Christian Grothoff) - 0000843: Complete Samsung NX lenses portfolio recognition (Reported with patch by Jaroslav Stepanek, updates by Pascal de Bruijn) - 0000846: Porting the Video Code to MSVC (umbrella) (Robin Mills, Abhinav Badola, Shawn Xiong) - 0000847: Photoshop doesn't recognize its own EPS files after modification by Exiv2 (Volker Grabsch) - 0000849: autotools build (make config ; ./configure ; make) is broken (Robin Mills) - 0000854: Sigma 50mm f/1.4 on Canon not detected correctly (Reported by Rick Gabriel, patch by Aakash Goenka) - 0000860: PENTAX-DA 18-135mm F3.5-5.6 not detected correctly (Reported by S. Verdoold, patch by Pascal de Bruijn) - 0000861: Sigma 18-250mm not properly recognised on Pentax (Reported by S. Verdoold, patch by Pascal de Bruijn) - 0000862: Video code is failing the test suite (on all plaforms) (Robin Mills, Abhinav Badola) - 0000865: Patches for locale and boost issue (Patches by Mario anyc) - 0000868: Support for two lens for sony mount (Patch by Michal Babej) - 0000870: Exif.OlympusEq.0x0403 tag (Christoph Anton Mitterer, Robin Mills) - 0000872: New Samsung NX 12-24mm f/4-5.6 ED (Jaroslav Stepanek) - 0000875: New lens "Tamron SP 24-70mm F/2.8 Di VC USD" (Reported by Jean-Pierre Verrue, patch by Niels Kristian Bech Jensen) - 0000876: New lens: Canon EF 35mm f/2 IS USM (markus kanet, Robin Mills) - 0000877: New camera: Canon EOS 6D (markus kanet) - 0000878: Update list of lenses for Olympus cameras. (Niels Kristian Bech Jensen) - 0000879: Add another lens for Olympus cameras. (Niels Kristian Bech Jensen) - 0000880: Another bunch of Olympus lens updates. (Niels Kristian Bech Jensen) - 0000881: One more Olympus lens - the list is complete. (Niels Kristian Bech Jensen) - 0000882: Nikon AF-S Nikkor 28mm f/1.8G not recognized (Reported by Philip Johnsson, patch by Niels Kristian Bech Jensen) - 0000884: Missing lenses reported by Paul Bissonnette (Robin Mills) - 0000887: Samsung D-Xenon 12-24mm not recognized (Reported by Romain Henriet, patch by S. Verdoold) - 0000888: (near-)infinite loop in video decoders (Reported by Alyssa Milburn, patch by Abhinav Badola) - 0000890: ASF: heap overflow (Reported by Alyssa Milburn, patch by Abhinav Badola) - 0000895: Sigma 30mm f/1.4 on Canon not detected correctly (Reported by Christian Roumano, patch by Aakash Goenka) - 0000896: User-readable output of Olympus' FocusDistance (Patch by Teemu Rytilahti) - 0000897: New Compilation Warnings - 0000899: New lens: Pentax smc DA 18-135mm f/3.5-5.6 ED AL [IF] DC WR (Reported by Matthieu Volat, patch by Pascal de Bruijn) - 0000903: New Lens: Canon EF-S 55-250mm f/4-5.6 IS II (Patch by Andrew Aylett) - 0000904: Exiv2: lensName misreporting for some CR2s (Reported by Pascal de Bruijn, patch by Niels Kristian Bech Jensen) - 0000906: Mountain Lion Plugin crashes when setxattr called (Robin Mills) - 0000907: New Lens: Samsung NX 45mm f1.8 (Pascal de Bruijn) - 0000908: strerror_r gives no error message back (Reported by Ákos Szőts, patch by Robin Mills) - 0000909: New Lens: Samsung NX 45mm f1.8 2D/3D (Pascal de Bruijn) - 0000921: New Lens: Sigma 150-500mm f/5-6.3 APO DG OS HSM on Canon (Steve Fosdick) - 0000928: Maintenance of Sony Makernote (Patch by Thomas Beutlich) * MSVC related - 0000817: zlib 1.2.6 (Reported by Daniel Kaneider, fixed by Robin Mills) - 0000824: undeclared identifier EXV_ICONV_CONST (Reported by Thomas Beutlich, fixed by Robin Mills) * cmake related - 0000685: incomplete handling of iconv dialects for cmake case (Nikolai Saoukh) - 0000694: config/config.h.cmake: const must be without quotes (Nikolai Saoukh, Gilles Caulier) - 0000696: cmake: out of src compilation (Nikolai Saoukh, Gilles Caulier) - 0000698: CMake Error at po/cmake_install.cmake: 36 (Frank Hommes, Gilles Caulier) - 0000722: Unit tests do not build with CMake and out of source build (Johannes Wienke, Robin Mills) - 0000728: typos in cmake files (Nikolai Saoukh, Gilles Caulier) - 0000823: CMake compilation: exv_conf.h at the wrong place (Sebastien Gilles, Robin Mills) - 0000850: test harness does not run on CMake builds (Robin Mills) - 0000852: CMake error on Win8/VS2012 with XMP (Patch by Daniel Kaneider) - 0000853: CMake: more flexible zlib detection (Daniel Kaneider, Robin Mills) - 0000856: CMake: building tests and refactoring on msvc (Daniel Kaneider, Robin Mills) Changes from version 0.22 to 0.23 --------------------------------- * Exiv2 utility - Allow to add/set tags without a value with the command line tool. * Exiv2 library - 0000819: Recognize Pentax MakerNote in DNGPrivateData (Jonathan Kollasch) - 0000815: Patch for Tokina 11-16mm f/2.8 on Canon (Chris Chiappa) - 0000812: Exiv2 destroys hard links (Reported by Anders Kamf) - 0000811: Typo in de.po (Thomas Beutlich) - 0000810: assert(tiffType() == ttUndefined) error in tiffcomposite.cpp (Reported by Auke Nauta) - 0000809: abs ambiguity in nikonmn.cpp (Pavel Heimlich) - 0000808: build failure in jpgimage.cpp - namespace (Pavel Heimlich) - 0000807: spelling-error-in-binary usr/lib/libexiv2.so.9.0.0 Continous Continuous (Mark Purcell) - 0000806: spelling-error-in-manpage src/exiv2.1 explicitely explicitly (Mark Purcell) - 0000803: Rational/URational issue in convert.cpp (Pavel Heimlich) - 0000800: Missing Photoshop IRB types (8BIM, PHUT, DCSR, AgHg) (Michael Ulbrich, Volker Grabsch) - 0000799: Exiv2 returns wrong XMP type for nested XMP keys - 0000798: Add MS Photo RegionInfo and MetaWorkingGroup Regions schemas (Benjamin H.) - 0000797: A crash can occur with certain JPEGs. (Clint Rogers) - 0000795: Set/Get of PNG comment (Reported by Thomas Beutlich) - 0000794: Typo in exifFlash description (Thomas Beutlich) - 0000793: PNG comment is not set (Thomas Beutlich) - 0000792: New Canon Lens EF-S 18-55mm f/3.5-5.6 IS II (Andreas Ferber) - 0000791: Tamron SP AF 17-50mm F/2,8 XR Di II LD Aspherical [IF] Nikon lens (Philip Johnsson) - 0000790: XMP embedding corrupts CorelDRAW EPS files - 0000778: Add support for Windows Live Photo Gallery face tags (Leif Huhn) - 0000635: [Wish] Write support for Canon RAW CR2 files - Updated Nikon Lens lookup table to v4.3.428.01 of Robert Rottmerhusen's fmountlens list. - Added support for Nikon3 AF Fine Tune array. (Frans van den Bergh) - Added Canon EF-S 18-55mm f/3.5-5.6 III lens. (Jon Charnas) - Fixes to buildForMac to work with 0.22 on Leopard and Lion (Robin Mills) - Added several KIPI XMP properties (Gilles Caulier) - Added cmake patch to fix compilation on MSVC with KDE Windows (Ananta Palani) - Fixed the supported metadata declared by the Image for several image formats (mostly XMP was missing). - Added support for CR2 IFD2 image preview. (An uncompressed TIFF image without white-balance correction.) * MSVC related - Added support for stdint.h being available in DevStudio 2010 (Thanks to Ketil Wright for bringing this to our attention) Changes from version 0.21.1 to 0.22 ----------------------------------- * Exiv2 utility - Fixed time setting of -T option when DST is in effect. - Added version hex number to the output of "exiv2 -V". * Exiv2 library - 0000798: Added people/photo region tagging schemas MS Photo 1.2 RegionInfo and MWG Regions (Benjamin Henne) - 0000785: Exif version 2.3 missing tag codes. (Patch by Jens Mueller) - 0000782: Tamron 18-270mm lens. (Patch by Jens Mueller) - 0000781: Exif 2.3 & DNG 1.2/1.3 tags. (Patch by Jens Mueller) - 0000776: Some tests depend on system settings (locale, path, etc). (Volker Grabsch) - 0000775: Sort iptc data by record number when encoding. (Patch by Matthias Baas) - 0000772: New Tamron 70-300 mm lens improperly recognized. (Reported by Marie-Noëlle Augendre, patch by Milan Knizek) - 0000769: "Assertion `sv == d' failed" in 0.21.1 (r2474). (Reported by Derek Chen-Becker, reproducer by Paolo Bacchilega) - 0000767: Build failure on MinGW with GCC >= 4.6 because of "-no-undefined". (Volker Grabsch) - 0000765: Debug messages of psdimages.cpp go to stdout instead of stderr. (Volker Grabsch) - 0000764: PSD resource block handling patch II. (Patch by Michael Ulbrich) - 0000761: Setting metadata on an image should always succeed. (Patch by Matthias Baas) - 0000760: Exiv2 fails to write to JPEG with an empty APP13 Photoshop PS3 segment. (Reported by Stefan Brandl) - 0000757: Wrong ELSE statement in src/CMakeLists.txt. (Reported by Michael Hansen) - 0000708: On Windows (MSVC and MinGW builds), charset conversions now use respective Windows functions if iconv is not available. - 0000689: Support for Encapsulated PostScript (*.eps) files. (Michael Ulbrich, Volker Grabsch) - 0000439: The exiv2 library should be re-entrant. (Patch by Jonathan Potter, GP Software) - Fixed typo: SupplementalCategory -> SupplementalCategories. (Jürgen Wolz) - Added Tokina AT-X 107 AF DX Fish-eye 10-17mm f/3.5-4.5 lens. (Milan Knizek) - Added Exif.Panasonic.LensType to the Exiv2::lensName() easy-access function. (Adrian Woodley) - Added Exif.OlympusEq.LensModel to the Exiv2::lensName() easy-access function. (Niels Kristian Bech Jensen) - Added new function Exiv2::versionNumberHexString(). (Volker Grabsch) - Updated Nikon Lens lookup table to v4.3.423.01 of Robert Rottmerhusen's fmountlens list. - Updated Samsung makernote. - Break-up ValueType constructor into two as a workaround for a MSVC 7.1 bug. - Simplified LogMsg to make it more portable and more efficient. (The original version doesn't build with MSVC 7.1.) * MSVC related - Added build environment for MSVC 64 bit builds. (Robin Mills) Changes from version 0.21 to 0.21.1 ----------------------------------- * Exiv2 library - 0000759: Cannot extract exif data from Pentax K-x DNG file. (Reported by Kenneth Bogert) - 0000752: Crash when writing Exif.Image.Software. (Reported by Jim Nelson) - 0000750: Assertion in XmpParser::encode should be an exception. - 0000749: Regression: Compilation error with EXV_HAVE_XMP_TOOLKIT undefined. (Reported by Fulvio Senore) - 0000745: Regression: Panasonic RW2 files are missing information. (Reported by Matthias Welwarsky) - Updated configuration files (config.guess, config.sub). - Added new Color Label value to digiKam 2.0.0 XMP namespace. (Gilles Caulier) Changes from version 0.20 to 0.21 --------------------------------- * Exiv2 utility - 0000727: Exiv2 command line tool: grep should find all occurrences of a tag, not only one. (Reported by Steve Wright) - Added option -q (quiet) to silence warnings and error messages from the Exiv2 library to the exiv2 command line tool. - Allow "migration" of XMP namespaces. * Exiv2 library - 0000476: Error handler: Applications should be able to register an error handler. (Based on work by Simson Garfinkel) - 0000614: Silence warnings from code. - 0000712: Support of Sigma 17-50 2.8 OS HSM. (Reported by Steffen bla) - 0000713: Tag 0x0203 in Olympus makernotes should be "Lens ID". - 0000719: Remove makernote classes and pretty-print functions from the published interface. - 0000721: Remove IfdId from the published interface. - 0000726: Add support for Samsung's .SRW raw format. (Reported by Oleg Yermakov) - 0000564: Need a way to get a list of all supported tags. (Reported by Jan Kundr) - 0000593: The default type of Array element tags is incorrect. - 0000625: New image formats and improved makernote support should not break ABI. - 0000678: Lensname missing with EF100mm f/2.8L Macro IS USM. (Reported by Christoph Spiel) - 0000711: exiv2 0.20 is corrupting ORF files from E-PL1. (Reported by Mark Haun) - 0000714: Problem compiling with Sun Studio - visibility. (Reported by Pavel Heimlich) - 0000717: Writing Exif.Image.ImageDescription in ORF file corrupts file. (Reported by Wouter Portegijs) - 0000734: Support for Tamron 17-50mm f/2.8 SP XR LD II Di VC. (Reported by Jari-Matti Mäkelä) - 0000735: Support for Sigma AF 50mm f/1.4 EX DG HSM. (Reported by Jari-Matti Mäkelä) - 0000736: Exiv2 crash on "print". (Reported by Bastian Holst) - 0000737: Metadata of Canon EF-S 18-55mm are not read correctly. (Reported by G. Lechner) - 0000739: exiv2 crashes when examining previews. (Reported by Jim Nelson) - 0000709: Typo in XMPCore_Impl.hpp. (Patch by Dimitri Schoolwerth) - 0000716: Missing header in canonmp.cpp. (Patch by Pavel Heimlich) - 0000723: Fix pkg-config file. (Patch by Johannes Wienke) - 0000738: PSD resource block handling patch. (Patch by Michael Ulbrich) - Updated Nikon Lens lookup table to v4.3.410.01 of Robert Rottmerhusen's fmountlens list. - Introduced exiv2.hpp as a wrapper to include all Exiv2 objects. - Added a count field to the Exif tag reference data. (Patch by Matthias Baas) - Added ExifKey::defaultCount() to access the new count reference information. - Fixed zlib uncompression of large PNG metadata buffers. - Improved determination of MIME type. - Updated Canon makernote. (Greg Mansfield, Axel Waggershauser) - Updated Olympus makernote. (Greg Mansfield) - Updated Sony and Minolta makernote tags. (Gilles Caulier) - Fixed writing to pseudo memory mapped areas on Linux. - Modified test for XMP files to not recognize any XML file with a regular header as XMP. - Added afPoint() easy-access function. (Based on a patch by july) - Updated Spanish translations. (Pablo Valdés) * MSVC related - Updated MSVC project files (and notes) to build with DevStudio 2010 (and with DevStudio 2003/5/8). (Robin Mills) - Changes to MSVC build environment: renamed generated libraries. (Robin Mills, Jon Roch-Berry) Changes from version 0.19 to 0.20 --------------------------------- * Exiv2 utility - 0000683: %a broken in rename (Reported by Göran Uddeborg) - 0000572: It should be possible to insert newlines in text strings. (Implemented using a new function by Leo Sutic) - 0000562: Exif.Photo.UserComment unicode comment doesn't work (Debian bug 486884) - Added -g option to 'grep' info for individual tags. * Exiv2 library - 0000705: Pentax 645D makernote update (Patch by Michal Čihař) - 0000704: Update of Pentax makernote (Patch by Michal Čihař) - 0000701: Nikon Capture NX won't save a NEF file manipulated with exiv2 from SVN (Reported by Frank Hommes) - 0000699: Padding of XMP data results in invalid XMP JPEG segment larger than 65535 bytes (Patch by Joachim Gelhaus) - 0000695: Add XMP support for src/metacopy (Patch by Nikolai Saoukh) - 0000693: src/psdimage.cpp: operands of ? are integers of different signs: 'unsigned int' and 'long' (Patch by Nikolai Saoukh) - 0000690: Wrong conversion of IPTC SpecialInstructions in copyIptcToXmp() (Patch by Volker Grabsch) - 0000686: LLVM clang: error: default initialization of an object of const type 'class Exiv2::IptcData const' requires a user-provided default constructor. (Reported by Nikolai Saoukh) - 0000684: Exif.Image.SubIFDs should support more than 4 sub-IFDs (Reported by frith [dot] foottit [at] gmail [dot] com in digiKam bug 210259) - 0000677: Nikon Makernote tags regression in exiv 0.19 (Reported by Mark Purcell. digiKam bug 224094, Debian bug 579835) - 0000674: ShutterSpeedValue should be a signed rational (Patch by Olivier Tilloy) - 0000673: Allow XMP sidecar files which start with a UTF-8 BOM (Reported by Michael Friess) - 0000672: Image file gets deleted when writing to it (Reported with reproducer by Thomas Beutlich) - 0000671: Writing to read-only TIFF-like file fails - 0000668: "TIFF-safe" setExifData variant - 0000666: Optimize binary array elements - 0000665: Write support for Olympus RAW ORF files - 0000662: Incorrect Unicode encoding of Exif UserComment tag (Leo Sutic) - 0000659: LensType not reported for Pentax K-x (Reported by Piotr Ryszkiewicz) - 0000611: Add support for makernote of Sony ARW files (Gilles Caulier) - 0000569: Unable to write GPS data in ORF files with digikam (Reported by Johannes Wienke. digiKam bug 170693) - Added Kipi XMP namespace used by digiKam kipi-plugins (Gilles Caulier) - Added iView Media Pro and MS Expression Media XMP schemas. (Silversleeves) - Generalized class Error, added class WError for use with Unicode-Paths. - Updated Nikon Lens lookup table to v4.3.401.01 of Robert Rottmerhusen's fmountlens list. - Various fixes and enhancements when building with MSVC. (Robin Mills, Thomas Beutlich, Jens Mueller) - Added several missing TIFF tags (from PageMaker 6.0, Adobe OPI TIFF, Adobe TIFF&PM6 and TIFF/EP specs). - Completed support for Nikon makernote (Jens Mueller) Changes from version 0.18.2 to 0.19 ----------------------------------- * Exiv2 utility - Inverted the meaning of -u to deal with large numbers of unknown Nikon Makernote tags. - -b option now also suppresses Byte and SByte values. * Exiv2 library - 0000664: Crash when reading PNG image. (Reported by Marcel Wiesweg. digiKam bug 220322) - 0000661: Tag Exif.Image.ImageResources (0x8649 in IFD0) should have type BYTE (1). - 0000658: Exception to print raw from Olympus SP-560UZ. (Reported by Francisco Javier Felix Belmonte) - 0000657: Nef Metadata edit with Digikam make impossible to open it with captureNX or ViewNX. (Reported by Nicolas Boulesteix) - 0000656: Broken image causes exiv2 to abort. (Reported by Nathaniel W. Turner. digiKam bug 214913) - 0000653: SVN 1912 fails to build. (Reported by mike m) - 0000652: Problems converting SubSec tags to XMP. - 0000651: Exif tag: TimeZoneOffset (0x882a) and other TIFF/EP tags missing. (Reported by Gary Cohen) - 0000649: Converter fixes. (Patches by Vladimir Nadvornik) - 0000647: Seg fault with Olympus E-P1 orf. (Reported by Udi Fuchs) - 0000646: Additional lens data. (Reported by mike m) - 0000645: Conversion from XMP sidecar leaks XMP-SDK exception. (digiKam bug 204042, patches by Vladimir Nadvornik) - 0000642: string formatting of error #31. (Patch by Matthias Barkhoff) - 0000641: exiv2 "Image size" output broken for Nikon D700 NEF files. (Reported by Martin Paris) - 0000634: Locking error on windows when updating a TIFF file with MemoryMapping enabled. (Reported and fixed by Robin Mills) - 0000629: Virtual functions should not be inlined. - 0000627: typeId methods not available, -fvisibility-inlines-hidden (Reported by Rex Dieter) - 0000620: Update Nikon makernotes. - 0000617: Optimize TIFF writing. - 0000600: Upgrade XMP Toolkit to version 4.4.2. - 0000581: Remove FindMetadatum* from API. - 0000579: Implement memory mapping for Windows platforms. (Based on an implementation by Robin Mills) - 0000571: Need to convert character set when writing XMP sidecar. (Reported by Franz Buchinger, patch by Vladimir Nadvornik) - 0000533: Support multiple APP13 Photoshop 3.0 segments in a JPEG. (Designed and implemented by Michael Ulbrich and Volker Grabsch) - Changed FileIo and MemIo classes to use a Pimpl structure. - Removed --disable-printucs2 configure option. - Updated config files - Added support for Canon FileInfo tags (Andi Clemens). - Updated Nikon Lens lookup table to v4.1.361.01 of Robert Rottmerhusen's fmountlens list. - Added Sigma 28-80mm f/3.5-5.6 lens. (Jo Hanika) - Added support for Unicode paths on Windows (experimental) (Based on work by Jonathan Potter, GP Software) - Added easy-access functions saturation, sharpness, contrast and sceneCaptureType. (Jonathan Potter, GP Software) - Fixed compilation warnings/error under MSVC when building for x64. (Jonathan Potter, GP Software) - On Windows, use Windows function for conversion of UCS-2 strings. (Jonathan Potter, GP Software) - Support for PGF files added. (Gilles Caulier) - Updated digiKam XMP properties. (Gilles Caulier) - Added iptc4xmpExt and plus XMP schemas. (Based on a patch from Mikolaj Machowski). - [translation] Updated Finnish translations. (Mikael Lammentausta) - [translations] Updated Polish translations. (Michal Smoczyk) Changes from version 0.18.1 to 0.18.2 ------------------------------------- * Exiv2 library - 0000638: Valgrind reports errors when writing to PNG image. - 0000636: Exiv2 corrupts certain NEF images when writing to them. (digiKam bug 193228) - 0000633: Editing via symlink does not work as expected. (Reported by Vladimir Nadvornik. Also reported as Debian bugs 466944 and 511273) - 0000632: [translation] a few more small bugs. (Reported by Michal Smoczyk) - 0000631: [translation] a few bugs. (Reported by Michal Smoczyk) - 0000630: PNG images: CRC error in chunk zTXt. (Reported by gegio 0, patch by Jochen Schug) - 0000628: JPG images: Exiv2 puts comments directly after SOI. (Reported by Johannes Hofmann) - 0000626: PNG images: Setting IPTC preview corrupts PNG image. (Reported by Gilles Caulier) - 0000556: timegm() function should work with Windows 64bit time_t. (Robin Mills) - PNG images: Embed IPTC data in a Photoshop IRB. - PNG images: Support creation of an image. (Gilles Caulier) - JP2 images: Support creation of an image. (Gilles Caulier) - Added a new Sigma lens to Minolta makernote. (Gilles Caulier) - Updated Nikon Lens lookup table to v4.0.352.00 of Robert Rottmerhusen's lens database. - Fixed illegal read in ValueType::read(). - [translation] Updated Polish translations. (Michal Smoczyk) Changes from version 0.18 to 0.18.1 ----------------------------------- * Utilities - 0000612: Failed to delete XMP data from NEF (or any other TIFF-based) images. (Reported by Martin Eriksson) - 0000602: Exiv2 generated TIFF incompatible with libtiff. (Reported by Udi Fuchs) - Added new "organize" tool (Brad Schick). * Exiv2 library - 0000623: Remove TiffPrinter visitor. - 0000622: Exiv2 doesn't parse MicrosoftPhoto schema prefix correctly. (Reported by Gilles Caulier / Sylvain Crouzillat) - 0000619: Segfault when opening PNG image. (Reported with patch by Lukasz Krzyzak) - 0000618: Easy access to information which may be in different Exif tags. (Based on a patch from Carsten Pfeiffer) - 0000615: Setting the Exif makernote tag aborts if type is not "undefined". (digiKam bug 182738) - 0000609: Building a DLL of Exiv2 0.18 in MinGW requires -no-undefined linker flag. (Reported with solution by Giuseppe Rota) - 0000606: Add write support for Photoshop PSD image format. (Patch from Michael Ulbrich) - 0000604: Nikkor lens on Nikon D90 not recognized. (Reported by Niels Kristian Bech Jensen) - 0000603: Exiv2 does not read lens maker. (Reported by Niels Kristian Bech Jensen) - 0000594: Modifying images on an NTFS file system fails. (digiKam bug 178103) - 0000494: Patch for displaying focal length (Exif.Canon.FocalLength). (Patch from Artis Rozentals) - Updated Panasonic makernote. - Added read-support for Panasonic RW2 raw images. (With valuable input from Matthias Welwarsky) - Some Nikon makernote updates. - Updated Nikon Lens lookup table to v4.0.347.00 of Robert Rottmerhusen's lens database. - Fixed crash in Pentax makernote pretty-printing code. (Reported by Marijn Kampf) - Refactored TiffCreator: simplified, fixed several todo's, added support for multiple TIFF tree structures. * MSVC related - 0000621: windows librarys are forcing a link to ..\..\..\zlib-1.2.3\projects\visual6\blah\blah. (Reported by Peter J. Ersts, fix by Robin Mills) Changes from version 0.18-pre2 to 0.18 -------------------------------------- * Exiv2 utility - 0000580: [tools] -M option fails and reports success. (Reported by Daniel Blueman) - [tools] Added options -pp and -ep to list and extract preview images. - [tools] Added option -pa to print all metadata, added control for the type of metadata in option -P. * Exiv2 library - 0000591: [build environment] Added missing #includes for g++ 4.4. (Debian bug 505023, patch from Martin Michlmayr) - 0000586: [metadata] ValueType constructor makes assumptions of the endianness of the machine. (Reported by Dimitri) - 0000584: [build environment] Linking fails for PreviewImage::pData(). (Reported by Joakim Rosqvist) - 0000583: [build environment] Linking fails when compiling. (Reported by Joakim Rosqvist) - 0000542: [exif] Exiv2 doesn't find exif data in attached file. (Reported by Paolo Benvenuto) - [exif] Updated Nikon lens info to v3.82 of Robert Rottmerhusen's lens database. - [exif] Fixed adjustment of invalid tag data. (digiKam bug 177457) - [exif] Catch unknown makernotes before reading the IFD. (digiKam bug 174620) - [exif] Introduced logic to fit Exif data in a 64kB block when writing to JPEG images. - [exif] Various TIFF parser improvements. - [exif] Added support for Olympus FE and Raw Info subdirs and tags. - [design] class PreviewImage: Added members to access all preview properties. - [design] class Metadatum and derived classes: Added familyName() and groupName(). - [design] class ExifData: Added erase(beg, end). - [translation] Updated Polish translations. (Piotr Eljasiak) - [translation] Updated German translation. (Oliver Dörr) - [translation] Updated Slovak translations. (Ivan Masar) * MSVC related - 0000578: [build environment] More fixes for the MSVC build environment. (Robin Mills) Changes from version 0.18-pre1 to 0.18-pre2 ------------------------------------------- * MSVC related - 0000567: [build environment] Re-wrote MSVC build files. Now builds an experimental DLL among other improvements. (Robin Mills) * Exiv2 library - 0000570: [exif] Fuji SP-3000 Makernote not recognized. (Reported by han AT whria DOT net) - 0000516: [exif] Print functions need access to other tags. - 0000473: [design] Support Preview images. (Vladimir Nadvornik) - [exif] Fixed non-intrusive encoding for Minolta array elements. - [exif] Fixed test whether data area is outside of the data buffer. - [exif] Added check for circular IFD references to new TIFF parser. - [exif] Added Exif.CanonCs.LensType and pretty-print function. - [exif] Added Nikon decryption algorithm and use it to decode lens data. - [misc] Initialized variable which lead to crash on Windows. (Reported by Robin Mills). - [exif] Added synthesized info tags Exif.MakerNote.Offset and Exif.MakerNote.ByteOrder. - [misc] Some performance improvements. (Analysis by Vladimir Nadvornik) - [exif] Always add Exif.Photo.Makernote tag, even if the makernote is decoded. - [xmp] Fixed issue with custom namespaces ending with a #. (Reported by chrysn) - [exif] Added Olympus2 makernote support. (Vladimir Nadvornik) - [translation] Updated German translation. (Oliver Dörr) - [translation] Updated Polish translation. (Piotr Eljasiak) - [design] Removed inline functions from class hierarchies. (Patrick Spendrin) Changes from version 0.17.1 to 0.18-pre1 ---------------------------------------- * Exiv2 library - 0000568: [metadata] exiv2 -ps crash for some jpeg files. (Reported by aurelien) - 0000566: [miscellaneous] RSA licensed MD5.cpp file in exiv2 0.16. (Reported with fix by Dirk Mueller) - 0000565: [exif] IFDs and IFD offsets need to be aligned to word boundaries. (Reported by iplabs.de) - 0000554: [exif] Setting "Exif.Image.DateTime Date" gives "Value too large" exception. (Debian Bug 426274) - 0000553: [design] [U]Rational::toLong() and toFloat() should not divide by 0. - 0000528: [miscellaneous] typeSize is meant for Exif metadata only. - 0000526: [metadata] Adding GPS info removes preview image from Nikon Coolpix JPGs. (Reported by paulb) - 0000524: [design] Publish only API objects in the installed header files. - 0000523: [miscellaneous] C++ symbol visibility support for gcc builds. - 0000464: [metadata] Write support for PNG images. (Gilles Caulier) - 0000462: [exif] Write support for TIFF format ("New TIFF parser"). - 0000405: [design] Separate metadata parsing from metadata storage. - [metadata] Write support for JPEG2000 format. (Gilles Caulier) - [exif] Updated Nikon lens info to v3.25 of Robert Rottmerhusen's lens database. - [xmp] Added Microsoft Photo and digiKam XMP schemas. (Gilles Caulier) - [exif] Added DNG tags. Changes from version 0.17 to 0.17.1 ----------------------------------- * Exiv2 library - 0000560: [xmp] Can't delete (last) XMP tag. (Reported by SerGioGioGio) - 0000559: [exif] Crash when extracting Exif orientation flag from Kodak DCR raw file. (Reported by Gilles Caulier) - 0000558: [jpeg i/o] "Warning: JPEG format error, rc = 5" for most of my JPEG files. (Reported with patch by Marcus Holland-Moritz) - 0000552: [build environment] Build failure under Mac OS X 10.3.9 (Reported by Marius Schamschula) - [exif] Fixed several potential division by 0 bugs. Changes from version 0.16 to 0.17 --------------------------------- * Exiv2 utility - [tools] exiv2 now writes a proper XMP sidecar file (it used to just dump the XMP packet to a file). - [tools] exiv2 can now also save Exif and IPTC data in the XMP sidecar file (conversion of Exif/IPTC to/from XMP). * Exiv2 library - 0000550: [design] Remove "MakerTagInfo registry" and registration logic. - 0000547: [build environment] exiv2 0.16 fails to compile with gcc 4.3.0. - 0000546: [exif] Exiv2 crashes while converting Nikon lens information for pretty printing. - 0000541: [translation] French translation mistake. - 0000540: [xmp] Pretty-print functionality for XMP. (Adrien Bustany for GHOP 98) - 0000539: [xmp] Cannot add XMP properties in a custom namespace. (Vladimir Nadvornik, S M Ryan) - 0000532: [xmp] Added conversions to and from XMP. (Vladimir Nadvornik) - 0000474: [design] Add a metadatum member to access translated tag values without the need to use streams. - [metadata] Added read support for jp2 and psd images, stubs for gif, bmp and tga images, and pixelWidth and pixelHeight methods on class Image. (Marco Piovanelli - Ovolab) - [exif] Updated Nikon lens info to v3.18 of Robert Rottmerhusen's lens database. - [exif] Updated Pentax makernote tags. (Michal Cihar) - [xmp] Added support for XMP sidecar files. - [xmp] Improved XMP value toLong, toFloat and toRational using new functions parseLong, parseFloat and parseRational. (Vladimir Nadvornik) - [xmp] Allow format options for XmpParser::encode. (Vladimir Nadvornik) - [xmp] Added LangAltValue::toString(const std::string&) to get the value for a specific language qualifier. (suggested by Marco Piovanelli) - [xmp] Fixed XmpKey::tagLabel() for custom keys. (Reported by Vladimir Nadvornik) - [miscellaneous] Define pid_t using a typedef instead of #define in Windows environments. (Robin Mills) - [translation] Updated German translation. (Oliver Dörr) - [translation] Updated French translation. (Fabien Salvi) - [translation] Updated Polish translation. (Piotr Eljasiak) - [translation] Updated Russian translation. (Alexandre Prokoudine) - [translation] Added Slovak translation. (helix84) Changes from version 0.16-pre1 to 0.16 -------------------------------------- * Exiv2 utility - 0000484: [tools] exiv2 -T adjusts file timestamp wrongly. (Reported by Dave Locke) - 0000477: [tools] Adjust year, month and day of the timestamp. (Based on a patch by David Grundberg) - [tools] Modified fixiso action to handle Canon tags as well. (Highlighted by Michael Mather) * Exiv2 library - 0000537: [miscellaneous] Broken PNG image causes exiv2 to crash. (digiKam bug 155105, reported by Michal Kosmulski) - 0000534: [exif] Integer overflow when reading thumbnail. (Reported by Meder Kydyraliev, Google Security Team) - 0000533: [iptc] Read IPTC data from multiple APP13 Photoshop 3.0 segments. - 0000531: [exif] Pentax lens info decoding. (Patch by Michal Cihar) - [exif] Updated Nikon lens info to v2.99 of Robert Rottmerhusen's lens database. - [doc] Added reference tables for XMP properties to documentation. - [miscellaneous] Updated German translation. (Oliver Dörr) - [miscellaneous] Updated Polish translation. (Piotr Eljasiak) * MSVC related - 0000535: [build environment] unlink() declaration conflicts with Visual Studio stdio.h. (Reported with patch by Nikolai Saoukh) - 0000514: [miscellaneous] Linking with libexiv2 masks system localtime, and on MinGW, that of libexiv2 doesn't handle DST correctly. - [build environment] Fixed compilation of the samples. - [build environment] Added support for XMP to MSVC project files. Changes from version 0.15 to 0.16-pre1 -------------------------------------- * Exiv2 utility - 0000463: [design] Add support for XMP metadata. * Exiv2 library - 0000529: [exif] Add support for Pentax maker note. (Michal Cihar) - 0000522: [exif] Lightzone-created JPEG causes exiv2 to segfault. (Reported by Markus Spring) - 0000463: [design] Add support for XMP metadata. - [exif] Support for Olympus ORF format. (Jeff Costlow) - [exif] Updated Nikon lens info to v2.40 of Robert Rottmerhusen's lens database. - [exif] Added Minolta lenses. (Hiroshi Kawashima) - [exif] Ported various Exif tags from Exiftool. (Gilles Caulier) - [miscellaneous] Added i18n for XMP properties, XMP support in PNG images. (Gilles Caulier) - [build environment] Isolated sample programs in their own directory. - [miscellaneous] Updated French translation. (Olivier Tilloy) - [miscellaneous] Updated German translation. (Oliver Dörr) - [miscellaneous] Updated Polish translation. (Piotr Eljasiak) - [miscellaneous] Updated Russian translation. (Alexandre Prokoudine) Changes from version 0.14 to 0.15 --------------------------------- * Exiv2 utility - 0000518: Return code 0 when unable to insert exif tags. (Reported by Daniel J Blueman) - Rename action: Use Exif.Image.DateTime if Exif.Photo.DateTimeOriginal is not present. (Highlighted by mflanagan_swim) * Exiv2 library - 0000521: [exif] Image with large invalid Exif tag crashes exiv2. (Reported by Marco Piovanelli) - 0000520: [exif] crash when loading certain image. (Reported by Christian Weiske) - 0000519: [exif] Another Minolta G500 file impossible to read after fix. (Reported by Alexander Rabtchevich) - 0000513: [exif] Sony Makernote crashes exiv2. (Reported by Aaron D. Campbell) - 0000512: [exif] Wrong AFPoints mapping for Canon cameras. (Reported with patch by Rob Walker) - 0000511: [exif] Minolta G500 RAW format support. (Reported by Udi Fuchs) - 0000509: [miscellaneous] Since v0.14 the version check macro doesn't work in a precompiler #if test anymore. (Reported by Udi Fuchs) - 0000449: [jpeg i/o] Uncouple IPTC and Exif reading. - [exif] Updated Nikon lens info to v2.30 of Robert Rottmerhusen's lens database. - [Exif] Added additional values to the Exif.CanonCs.ISOSpeed. lookup table. (Patrick Markert) - [Exif] Canon ModelId patch. (Gerry Patterson) - [miscellaneous] Updated German translation. (Oliver Dörr) - [miscellaneous] Updated Russian translation. (Alexandre Prokoudine) - [miscellaneous] Updated French translation. (Stephane Pontier) Changes from version 0.13 to 0.14 --------------------------------- * Exiv2 utility - [tools] exiv2 utility: Fixed handling of multiple rename options -r, -t, -T * Exiv2 library - 0000508: [exif] Fixed mapping of CRW rotation info to Exif orientation. (Reported and analysed by Marco Piovanelli) - 0000507: [exif] Fixed RAF read-support for systems without mmap. (Reported by Udi Fuchs) - [exif] Added tag names for a few tags used by Windows Vista and ACDSee. (Gilles Caulier) - [exif] Updated Nikon lens info to v2.20 of Robert Rottmerhusen's lens database. - [build environment] Switched to libtool's -version-info versioning system. - [build environment] By default, do not use the -g compiler option. - [build environment] Added --disable-printucs2 configuration option to disable Windows tag character convertion using libiconv. - [build environment] Changes to make Exiv2 cross-compile smoothly for win32 (Udi Fuchs) - [build environment] Removed deprecated exiv2-config script and some obsolescent autoconf macros pointed out by Udi Fuchs. - [miscellaneous] Changed AnyError to inherit from std::exception; changed the signature of AnyError::what(). (Suggested by Marco Piovanelli) - [miscellaneous] Fixed version check macro to actually check the runtime version and not the compile-time version. Added version() and versionNumber() functions. - [miscellaneous] Updated German translation. (Oliver Dörr) - [miscellaneous] Changed name of installed translation files to lower case exiv2.mo. (Highlighted by Angelo Naselli) Changes from version 0.12 to 0.13 --------------------------------- * Exiv2 utility - 0000504: [tools] exiv2 utility: allow use of -M and -m options with extract and insert actions. * Exiv2 library - 0000503: [metadata] Tiff generated by photoshop crashes exiv2 (digikam bug 139658). - 0000502: [iptc] New TIFF parser: Decode IPTC from Exif.Image.IPTCNAA. (Reported by Walter Hangartner) - 0000501: [iptc] IPTC field parsing is still too strict: shouldn't fail if the type is not as expected. (Reported by Elsa Nordh) - 0000497: [tools] exiv2 tool doesn't respect unix file rights. (Reported and analysed by fabien) - 0000491: [miscellaneous] Probe exiv2 for the extensions it supports. (Suggested by Will Stokes) - 0000461: [miscellaneous] Add i18n support. Requires gettext. (Gilles Caulier) The currently available translations are still work in progress: Finnish by Mikael Lammentausta French by Gilles Caulier (ported from libexif) and Olivier Tilloy German by Gilles Caulier (ported from libexif) and Oliver Dörr Russian by Alexandre Prokoudine Polish, Spanish by Gilles Caulier, ported from libexif - 0000460: [exif] Exiv2 should support to decode/encode Windows tags Exif.Image.0x9c9b-0x9c9f. Requires libiconv. (Suggested by Jose Oliver) - 0000452: [exif] Non-intrusive writing does not update IFD. - [exif] Updated Nikon lens info to v2.15 of Robert Rottmerhusen's lens database. - [exif] Added read-support for Fujifilm RAF images. - [exif] Image class hierarchy refactored: Image now has containers and provides default implementations for most methods. Calling an unsupported method of any Image subclass now results in an exception. Added a method to access the MIME type of an image. * MSVC related - [exivsimple] Added get and set thumbnail functions. (Christian Kuster) Changes from version 0.11 to 0.12 --------------------------------- * Exiv2 utility - 0000493: [tools] exiv2 -T DST problem. (Fix suggested by John ) - 0000459: [exif] Exiv2 tool: Added a variable for the original filename to the rename option. (Patch by Tobias Jahn) * Exiv2 library - 0000498: [exif] Exiv2 cannot read the Exif data written after deleting all tags. - 0000496: [metadata] Digikam bug 136855: Editing metadata on a few selected imagefiles and clicking forward or apply crashes digikam. (Reported by several digikam users) - 0000495: [exif] Image with corrupted metadata crashes Exiv2. (Reported as digikam bug 136932 by Rainer Krienke) - 0000490: [build environment] PNG support doesn't compile on MinGW/msys. (Reported by Udi Fuchs and Will Stokes) - 0000489: [build environment] exiv2.pc.in includes private/static libs by default. (Reported with patch by Rex Dieter) - 0000488: [metadata] GPSInfo Metadata should return decimal numbers. (Feature requested by Fabien) - 0000486: [build environment] Test bugfixes-test.sh error under Mac OS X x86. (Reported with fix by Max Lapshin) - [exif] Updated Nikon lens info to v2.07 of Robert Rottmerhusen's lens database. - [metadata] Added methods to access built-in read-only Exif taglists and IPTC record lists. (Initiated by Max Lapshin) - [iptc] Improved IPTC record descriptions using IIM4 specification version 4.1. (Gilles Caulier) - [exif] Improved Exif tag descriptions using Exif specification 2.2 and libexif. (Gilles Caulier) - [exif] Added and improved pretty print functions for some Exif tags. (Gilles Caulier) - [exif] Updated Minolta makernote. (Gilles Caulier, Paul Tribick) * MSVC related - 0000487: Crash in exiv2.exe (built with VC++ 2005 Express) when examing TIFF images (Reported with patch by Dimitri Schoolwerth) Changes from version 0.10 to 0.11 --------------------------------- * Exiv2 utility - 0000485: [tools] Weird behaviour when Exif comments contain quotes (Reported by Scott Baker) - Changed exiv2 del command to delete all occurences of a tag. (Christophe Paris) * Exiv2 library - 0000483: [jpeg i/o] Assertion `sizeIptc' fails when reading metadata from JPEG file. This happened when an image has an empty IPTC IRB. (digikam bug 132582) - 0000482: [exif] SONY DSLR-A100 RAW image crashes Exiv2. (Reported to ufraw by Vishnu Natchu) - 0000480: [iptc] JPEG APP13 (used to store IPTC IRB) can not be larger than 64kB but IRB buffers can. (digikam bug 130525) - 0000479: [exif] JPEGs edited with LightZone crash Exiv2. (Reported by Daniel Hobe) - 0000475: [design] Performance: Don't read TIFF-based files completely, use memory mapping (only on Linux) to read only what is needed. Improves performance by factor 6. - 0000471: [exif] New TIFF parser: Create a CommentValue rather than a DataValue for Exif.Photo.UserComment. (Reported with test program by Marcel Wiesweg) - [exif] New TIFF parser: Extract TIFF thumbnail from IFD1 if there is one. - [exif] Added read support for PNG images (Gilles Caulier) - [exif] Updated Canon makernote tags and decoded additional composite tags, based on Exiftool. Note that some tag names changed. (David Cannings) - [exif] Updated Nikon lens info to v2.02 of Robert Rottmerhusen's lens database. - [exif] Various smaller tag updates (Gilles Caulier, Jim Westveer, Nicolas Vilars, Robert Peter) * MSVC related - 0000455: [build environment] Exiv2 finally works with MSVC 2005. (Thanks to Stephen and Maciej Sakrejda aka Maciek) Changes from version 0.9.1 to 0.10 ---------------------------------- * Exiv2 utility - 0000468: [tools] Added -P option to control what information is displayed in print mode, added -b and -u options to control output of large values and unknown tags. (Better print control suggested by Udi Fuchs) - Display filename in print mode if processing multiple images, like grep does. (Roger Larsson) * Exiv2 library - 0000469: [miscellaneous] MemIo behaviour differs from FILE* and FileIo. (Reported by Dimitri) - 0000462: Support TIFF format, part 1: Read support for TIFF and TIFF-based RAW formats, including NEF, CR2, PEF, SR2, DNG and MRW. - 0000458: [build environment] Support pkg-config tool, removed /include/exiv2 path from exiv2-config output. (Suggested by Udi Fuchs) - 0000456: [miscellaneous] Check for 0 pointer before invoking std::string constructor on C-string. - Added Minolta makernote. (Gilles Caulier) - Added support for Exif.Image.Orientation for Canon CRW images. - Improved the print functions for Exif.Nikon[13].AFFocusPos. (Roger Larsson) - Updated some Canon labels and translations (Patrice Boissonneault) - Changed some Nikon tag names. (Based on feedback from Udi Fuchs) - Added EXIV2_CHECK_VERSION macro for applications to check at runtime which version of Exiv2 is installed. * MSVC related Added COM project. (Patrice Boissonneault) Changes from version 0.9 to 0.9.1 --------------------------------- * Exiv2 library - 0000451: [exif] Fixed bug where an invalid Exif tag was created for the user comment, when the tag was newly added to an image. (Thanks to Anatoliy Kovalenko for reporting this bug) - Added enum MetadataId and Image::supportsMetadata() to check what metadata an image class supports. Changed CrwImage to silently ignore calls to Iptc related functions instead of throwing an Error. (Thanks to Will Stokes for suggesting the check feature) - Cleaned up some #include statements (mentioned here because this may lead to unexpected compiler errors). Changes from version 0.8 to 0.9 ------------------------------- * Exiv2 utility - 0000450: [exif] Added action "fixiso" to copy the ISO setting from Nikon Makernotes to the regular Exif tag Exif.Photo.ISOSpeedRatings. - 0000448: [tools] Added options -p and -t, -T to preserve file timestamps and set the timestamp according to the Exif timestamp. (Thanks to Stephan Ahlswede for suggesting the -p feature) - 0000446: [misc] Added option -c to set the JPEG comment to the utility. (Thanks to Tristan Savatier for the suggestion) * Exiv2 library - 0000447: [iptc] Fixed a buffer overflow in sscanf. (Thanks to Maciej Sakrejda aka Maciek for reporting this bug and the hard work to recreate it) - 0000438: [exif] Write support for Canon raw images. - [exif] Updated Nikon lensdata to v2.00 of Robert Rottmerhusen's amazing lens database. (Thanks to Robert for keeping me updated.) - [build environment] Added an option to enable/disable dependency- tracking to the configure script, which is useful to create "Universal Binaries" under Mac OSX. (Thanks to Will Stokes for the suggestion) - [exivsimple] Changed DllTypeId::time and DllTypeId::date to DllTypeId::isoTime and DllTypeId::isoDate to avoid a name clash. Changes from version 0.7 to 0.8 ------------------------------- * Exiv2 utility - [tools] Added -S .suf option to the utility. This allows, e.g, to use Canon THM files as source file for the insert command. - [doc] Added man page. (Based on Peter KELEMEN's Debian man page.) * Exiv2 library - 0000445: [exif] Setting the comment on an image with an existing comment has no effect. - 0000444: [iptc] Exiv2 should not panic on slightly misformed IPTC format. - 0000443: [exif] Exiv2 gives up on corrupted IOP directory. - 0000440: [iptc] IPTC time without timezone raises exception. - 0000438: [exif] Support Canon raw images (CRW and THM), currently read-only. - 0000437: [exif] exiv2 -pt crashes if Exif.Canon.ImageNumber is < 1000. - 0000433: [exif] Core dump if the value is empty. - 0000424: [exif] Ifd::read, MakerNote::read and related methods should have access to the complete data buffer. - [exif] Updated Nikon lensdata to v1.19 of Robert Rottmerhusen's list. - Added a tag and dataset title (label). - Added #ifndef SUPPRESS_WARNINGS blocks around all output from the library: compile with -DSUPPRESS_WARNINGS for a quiet library. - Implemented "copy-on-write" strategy for MemIo to ensure that the original buffer is only copied if necessary and never modified. - Added exiv2-config script. Applications that include exiv2 headers and link with the installed library can use this in their build commands. Changes from version 0.6.2 to 0.7 --------------------------------- * Exiv2 utility - 0000422: [tools] Allow renaming pictures taken within one second. (Reported by jussi AT jjussi DOT com) - 0000423: [tools] Fixed problems with paths and -l option on Windows. - [tools] Improved output data and format of the utility to show the key. * Exiv2 library - 0000404: [design] Insideout design change; made class Exiv2::Image the top-level class of the library. (Brad Schick) - 0000403: [design] Added I/O abstraction and implementations. (Brad Schick) - 0000402: [design] Split image.cpp and hpp files into base class and subclass files. (Brad Schick) - 0000425: [exif] Added default type info to Exif tagtables. - 0000427: [misc] Standardized factories according to the implementation. of ImageFactory (MakerNoteFactory). Linking with mn.o is not necessary anymore. - 0000420: [build environment] Defines should have a library specific prefix, like e.g., EXV_HAVE_CONFIG_H. - 0000417: [exif] ExifData needs proper copy constructor and assignment. - 0000426: [iptc] Fixed problem which prevented Exiv2 from reading IPTC from jpeg files. (Jeffrey J. Early and others) - [feature] Added Olympus, Panasonic and a basic Sony Makernote. (Thanks to Will Stokes for the initial Olympus files) - [feature] Improved Canon and Nikon Makernote support. (Thanks to Robert Rottmerhusen for his Nikon lens info) - [exif] Relaxed checking of Makernote IFD next pointer. - [design] Overhauled exception handling. Changes from version 0.6.1 to 0.6.2 ----------------------------------- * Exiv2 utility - [feature] New -M option to run modification commands directly from the command line. - 0000421: [tools] Command parser fails if no type is specified with a modify command. - 0000416: [exif] Fix Exiv2 modify action to use non-intrusive writing whenever possible. - 0000418: [feature] Add Exiv2 option to specify path of extracted. and inserted files. (Suggested by Brian Pugh) * Exiv2 library - 0000408: [build environment] 0.6.1 does not build on OS X: Add libtool support for automatic library creation (see README). (Reported by Thomas Lunde and others) - 0000409: [build environment] compiling emits type warnings. (Thomas Lunde and others) - 0000410: [build environment] config.h must be installed, -DHAVE_CONFIG_H flag should not be necessary. (Daniel Foote and others) - 0000411: [exif] Support non-standard Ifd layout. (Jeffrey J. Early) Changes from version 0.6 to 0.6.1 --------------------------------- * Exiv2 utility * Added option to modify Iptc and Exif metadata based on a command file * Exiv2 library * Fixed bug #407: Writing metadata to image after modifications may lose thumbnail. Thanks to Jeffrey J. Early for pointing out this bug. * Added CommentValue Changes from version 0.5 to 0.6 ------------------------------- * Exiv2 utility * Added options to extract, insert and delete different types of metadata * Added option to print the Jpeg comment * Changed semantics of print option `i' to Iptc (`t' for translated Exif data) * Replaced std::cout << "\n" with std::endl to flush and get the sequence with error output right * Exiv2 library * Added support to build Makernotes from scratch * Added support to build IFD1 (Thumbnail) entries from scratch * Open image files on demand rather than keeping them open. Bug #393 (Brad) * Added data area concept to Value, ValueType, Entry, Ifd. Feature #395 * Revamped Thumbnail classes to use the new data area feature. Feature #398 * Added ExifData::setJpegThumbnail * Improved implementation of Exif and Iptc keys, added support for keys with unknown tag names * Added ExifData::op[] and Exifdatum op= and similar operators to IptcData and Iptcdatum. This operator stuff allows for things like: exifData["Exif.Thumbnail.Compression"] = uint16_t(6); * Converted class hierarchies to use std::auto_ptr where appropriate * Replaced custom integer types with C99 types * Added test data and drivers to the repository * Right align output stream for date and time writes. Bug #397 (Brad) * Updated documentation * MSVC related (Thanks to Brad Schick) * Added exivsimple: a Windows dll that allows languages such as C# and VB to access limited metadata capabilities (Brad) * Added and write2-test projects to MSVC build (Brad) * Added mn.cpp to all MSVC projects. Fixes bug #396 (Brad) * Fixed various MSVC 7.1 build errors. Bug #394 (Brad) * Added write-test to MSVC build project (Brad) Changes from version 0.4 to 0.5 ------------------------------- * Exiv2 utility * Added -pI print mode to print Iptc data. * Bugfix: Use timegm() and gmtime() instead of mktime() and localtime() to avoid problems when adjusting timestamps. Thanks to Samir Rostum for pointing out this bug. * Added timegm() from the tz distribution for platforms which do not have this function. * Exiv2 library * Added full Iptc read and write support. Thanks to Brad Schick for this and a lot more contributions to this release. * Converted Metadatum to an abstract base class, added Exifdatum and Iptcdatum classes. Migration of existing programs: Use class Exifdatum instead of Metadatum. (Brad Schick) * Added Key, ExifKey and IptcKey class hierarchy. Requires changes to existing pograms: Use class ExifKey where plain std::string keys were used before (e.g., ExifData::findKey()). * Changed Exif keys to 'Exif.ifdItem.tagName' to be consistent with the new Iptc keys. All keys of existing programs need to be updated. See the web pages or documentation for the new keys. * Revamped class Image and introduced byte* interface. (Brad Schick) * Added autoconf configure script. * Added MSVC project files. (Brad Schick) * Appended 'Id' to Ifd ids to work around a g++-3.4 problem. * Updated documentation. Changes from version 0.3 to 0.4 ------------------------------- * Exiv2 utility * Less rigid command line argument parsing: Guess the action from the option given and use print as the default action. * Print Nikon makernote values for ISO Speed, Quality and WhiteBalance in the summary. * Exiv2 library * Fixed ExifData::copyFromMetadata to automatically add missing offset tags. Thanks to Joseph Heled for identifying this bug. * Started to fix MSVC errors and warnings. Thanks to Steven R. King for his work to get Exiv2 to compile on MSVC. The task is not yet completed but the library should compile without too many warnings. * Added three different Nikon makernote formats. * IfdMakerNote: Replaced too simple prefix with a more general concept of a makernote header. * Added the makernote buffer to the arguments passed to the makernote create function. This allows the makernote create function to determine the exact makernote needed based on its content. The new concept is used to automatically determine which of the three Nikon makernotes to create. * Fixed MakerNoteFactory::match() to prefer an exact match over a wildcard match with the same number of matching characters (Key "Nikon" now prefers registry entry "Nikon" over "Nikon*"), simplified the return value of match() to an integer score value. * Sigma makernote: Added "FOVEON" and "*" to registry. * Added len argument and boundary checks to various read functions, in particular, the IFD read method. * Improved handling of corrupt IFDs: Truncate field if offset points outside of the available buffer. * Slightly improved error handling: strError() is now a static member of ExifData. * Added exifcomment example program. * Fixed an embarassing bug in ExifData::updateEntries, which caused write after erasing metadata to write back the original metadata. * Fixed TypeInfoTable to return invalid if typeId is too large. * Makefile: (un)install targets now only (un)install exiv2. * Code cleanup, documentation updates and miscellaneous bug fixes. exiv2-0.25/doc/README-XMP0000664000175000017500000000463011224660204014402 0ustar andreasandreasExiv2 XMP support ***************** On UNIX-like systems, XMP support is controlled with the --enable-xmp and --disable-xmp options to the configure script. Building Exiv2 with XMP support requires the Expat XML parser library (http://expat.sourceforge.net/). The --with-expat configure option can be used if it is installed in a non-standard directory. The MSVC project files for Windows are setup to always build Exiv2 with XMP support. See the main README file for general build information. For API documentation of XMP classes and samples, consult the online documentation at http://www.exiv2.org/doc or build the documentation and go to doc/html/getting-started.html For details on the XMP support of the exiv2 command line tool, see the exiv2(1) manual page and the sample command file doc/cmdxmp.txt XMP Toolkit =========== Exiv2 uses the XMPCore component of the Adobe XMP Toolkit (XMP SDK) to parse and serialize XMP packets. Currently, it is integrated and distributed with Exiv2. The xmpsdk/ directory of the Exiv2 distribution contains the XMP SDK source code. The final solution should eventually use an external XMP Toolkit. Building the XMP Toolkit is transparent. Following the installation steps described in the main README will ensure that the XMP Toolkit is compiled if necessary. It is only needed if XMP support is enabled. Building the XMP Toolkit results in a "convenience library" in xmpsdk/src/. This library is only used to link the Exiv2 library with; it is not installed. If you experience problems building this library, please email to the Exiv2 forum for help, http://dev.exiv2.org/projects/exiv2/boards and not to Adobe directly. Source ====== XMP-Toolkit-SDK-4.4.2.zip obtained via http://www.adobe.com/devnet/xmp/sdk/eula.html The following files were copied from the original XMP SDK distribution, essentially: public/include/* -> xmpsdk/include source/common/* -> xmpsdk/src source/XMPCore/* -> xmpsdk/src build/XMP_BuildInfo.h -> xmpsdk/src The MD5 functions included with XMP SDK were replaced with an equivalent implementation which is in the public domain. For more details refer to Exiv2 issue #600 and the SVN repository: http://dev.exiv2.org/issues/show/600 http://dev.exiv2.org/repositories/browse/exiv2/trunk/xmpsdk License ======= Copyright (c) 1999 - 2008, Adobe Systems Incorporated See the file doc/COPYING-XMPSDK for the XMP Toolkit license agreement. exiv2-0.25/doc/COPYING-XMPSDK0000664000175000017500000000275311224660204015123 0ustar andreasandreasCopyright (c) 1999 - 2008, Adobe Systems Incorporated The BSD License Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Adobe Systems Incorporated, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. exiv2-0.25/doc/cmake_doc.sh0000775000175000017500000000072312076435013015327 0ustar andreasandreas#!/bin/bash ## # this is called by the CMake build to build the docs ## if [ $# == 1 ]; then CMAKE_BINARY_DIR="$1" cd .. if [ -e src/exv_conf.h ]; then mv src/exv_conf.h src/exv_conf.h.keep fi make config ./configure if [ -e src/exv_conf.h.keep ]; then mv src/exv_conf.h.keep src/exv_conf.h fi mkdir -p src/bin/ cp -f "${CMAKE_BINARY_DIR}/bin/taglist" src/bin/ make doc fi # That's all Folks ## exiv2-0.25/doc/Makefile0000664000175000017500000000604712521135474014533 0ustar andreasandreas# ***************************************************** -*- Makefile -*- # # Copyright (C) 2004-2015 Andreas Huggel # # This Makefile is part of the Exiv2 distribution. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials provided # with the distribution. # 3. The name of the author may not be used to endorse or promote # products derived from this software without specific prior # written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # File: Makefile # Version: $Rev: 3777 $ # Author(s): Andreas Huggel (ahu) # History: 10-Dec-03, ahu: created # # Description: # Simple Makefile to build the doxygen documentation # # Restrictions: # Requires GNU make. # # Default make target all: doc # Include system configuration top_srcdir = .. include $(top_srcdir)/config/config.mk # ********************************************************************** # ====================================================================== # ********************************************************************** # Initialisations SHELL = /bin/sh .SUFFIXES: # ********************************************************************** # Targets .PHONY: all doc doxygen tags mostlyclean clean distclean maintainer-clean doc: doxygen tags doxygen: doxygen $(top_srcdir)/config/Doxyfile tags: mkdir -p $(top_srcdir)/doc/html cd $(top_srcdir)/doc/templates && $(MAKE) all cp -f $(top_srcdir)/doc/templates/*.html $(top_srcdir)/doc/html/ @echo "*****************************" @echo "*** if you got lots of errors, try modifying" $(realpath $(top_srcdir)/config/Doxyfile) "***" @echo "*****************************" mostlyclean clean: $(RM) *~ *.bak *# distclean: clean cd $(top_srcdir)/doc/templates && $(MAKE) $(MAKECMDGOALS) # This command is intended for maintainers to use; it deletes files # that may need special tools to rebuild. maintainer-clean: distclean rm -rf $(top_srcdir)/doc/html/* exiv2-0.25/doc/include/0000775000175000017500000000000012541547735014520 5ustar andreasandreasexiv2-0.25/doc/include/exiv2-components.png0000664000175000017500000001413010254537654020443 0ustar andreasandreasPNG  IHDR0~Q2DuCF⌲)^Rv*IT27(!/z3\i:?Cu8o~b\SjBՏj[RN9N;Zt7~xgzvMv2lǔ-=R(M(1ǷϪ wRx#xwç@{Gn%Q%Q%Q%Q%5$J$J$)~pt;D؝-%SfK0O4fNSRP AJqC'NrH)ns=?) 2iz'14>təLa؄8&,7^<),B,QS|yZ_(( L+\?ċRRD!CS-2%㬐҈=MBރmFwzQ lJVH17} pyХdB, GɴsрҠN:fx 6;ynUgף[i! eDIDIDIDIDIDIDIDIDYxh)= + i}=_L,nL){:zIQӽ=IC9-^JO){z SWO<'( ~;e{Ɣ26&D`Ow']R؃WzV_wNQUE)K-ppKQ[Ag7QIl^ |^jPk=NT{tK5(d2O묲YøI!; e\M|մx.q%UúYڊ攃YoUkBɸz q5&eﺨ1rV;O;1eER-)j:&%Qr?lrV;hRT8Qī;/)rpGw'>Qov)\U]xIyPy7 O!6毗6x\N=QN5\ 79+ R7'gm8G6-fR2(?JNhFeBF|M(4pa:S օc/zfppNF͇ 3Bdz/'E4^3 T(sDuPvֈ+JYrJkE.ӅU,)G4XHgJZah\-aC]lJ \CJ$| 3YJ>Ea8Ң82er~/PJ@\Pm\ }8D8x2䦔_X!(eK#s)9Ƌ-p;N|Ic43|D93~[ (/JO9MiƤ(@9;n7J7gZ7N/AWIZb\Qbb0nӿB`(yzJTB4J#ZJ# J#)yzJN^Pz f.5%Q&=[‡((N^P&>>SdžRP)2d).滱߷*}Q!%_YỊe7l,`9-]ց]ȱdOYBd(P|>e8Y剆 ψ2xenV g:Ny>y;PApYzlߜ28ફ~ kO?bO=T{<_r_A2(G<^P톇13]qPU0~4oc~Zr^kڲq?ĔAg9eTkW8k"6m@ luξ_.[+NU`\/?TUՍ"z+Ch+xY\e<^t(>eYմV]u AlRWݐ1"L(/8iEK)èŔ!.{SUW*0.{8A=rEeTek@m}mx.rc2$Jv ?&k}[RCj;{oh,9 6=]׹u 6Օ\*0.{TG>/Pc7 ;KfOyQp^qUdT÷d{>nN7LꋏUV1A>?y[y@}^)]ՇÞ*0dma7[ߙM]5_\ƍtzYr!hu(-(NR//èǝ)_z@QQ JSQ<(:R:xtD Mɉ2ݹ5DiJ)|}(s?ʑ2u)(9Q"Q2 J_)Ya)yn̻Ҽۢwg#惲,C<(ܟp)Wӭ"ZقdR [ߔ "%k¬ sL 'AҔ;/X+J"fݏP2DIQPH(_^.Y)&%3"uԯӰ2Q(+]JWBS_ӳ;dh_D}Ը`Gro n(%L,egum P2JïvZ?|5ۏ#hH;Mz@z(dš>InZK2X_JHMw*zS*P4 7`ŻKlJDiqܮ%{jL~Z4"a g SWCzmJT~4dS)o][h9)8K)d̆2ޢrk52(yYYWҔrAAiSJ)1wWLɾsEEJbYD%K ˽E)6坍\K &\,|f/-Ap0eE(ob+bI<J2qDڔZeSr(%Ko3xى¢ktK_./^Iz4RX,AygrGpNڔ4DK(u)E(l-(@ԣD,DID銒%Qeg!?5{S"+ʰoqIFrFy]iR ATίyѢ lzJ؄$/ʛePGrn)L(O&e]yO_N[E(2,=;m~]iqxdA Ƽ&G9QRV.v~!r O)O:hat&^x7u)Cr\U["UUU=ΞH9qR<r9mAm*v,2;׽qHoA^i$xS}ƴ#S30|p.@VɆOˣ&zHZߪf[S6BԧEw}&:e3.\^ӕ6DIc#QVW 4)@;u(kZrs%lJ.";=pV+ QZBwI7])e(i(+??U'Eď6Dgp 6A|JoӢspUh;`Qˏ'a1(vT/^tԃGoEg+4>N9qCrC@D)Z!_"4Jd3_:7.QeF?FAD %#JzDIP2$J(g J􈒭%#ʵ4n$ʬ(Q"S"F~y.\ % HdDkPfBfCdCsPeA;(3Ae6CȀ2$ (=L҇\J/29A+꜒{BVҗ\J_28&(3cJXRzDBҧv>^8D4NςK뒒FVһt:Qդ0(Wàt;(g>Q92(Ab[EKA%vDɽ Jw1*|#ʽd+F)hd(eXPݣDs℥ J! h|  *xݸJdKzNn:K:-wJ7a_KYww{A9,$J$J%ZX%-,mDD6BD KD"Q%Q(’(ygʏO++XQ,?mz0(@yPVZF|&N(*js]R}nOS.R &֎\쎫pz ?JRq 8rJ <;-V9f2>n8O"+,g[=,sǔE*ʰQU{Jy+{(+N)(踣K33VZj%e9z_NBi-M7\R}+,tA쎚`#>2-7>X#*,y*o}['x ot~j]wR"anM+-ʼnmDD6^D K\0`N8Q8Q8Q(R(MK S(цMh)t?X-JQdk۲x1%̈R7R))SzcE JqzIq:싓&KIZd wJqe*Xsg=.ŵ.pdP]2yÈ|ꙟ,!)Ó->%I.=Ez{ٶޑ#|oj ѵX(2(NDiIh((Q%Q%Q%QQ&e6)j- Q"Q#D VNNW}N8Q% ڂҐ2l>ZD(m)a'z~u٤}=Q\ռ͚2,oԯ~\[gʲߔfvqg|))*??A {{O)x-)_\DN[ oLq{.QPED8'<WʣtyC(ϡFDIDI((((QfԐSF5jԨlZJe3!IENDB`exiv2-0.25/doc/include/sortabletable.js0000664000175000017500000002624610246627575017714 0ustar andreasandreas/*----------------------------------------------------------------------------\ | Sortable Table 1.03 | |-----------------------------------------------------------------------------| | Created by Erik Arvidsson | | (http://webfx.eae.net/contact.html#erik) | | For WebFX (http://webfx.eae.net/) | |-----------------------------------------------------------------------------| | A DOM 1 based script that allows an ordinary HTML table to be sortable. | |-----------------------------------------------------------------------------| | Copyright (c) 1998 - 2002 Erik Arvidsson | |-----------------------------------------------------------------------------| | This software is provided "as is", without warranty of any kind, express or | | implied, including but not limited to the warranties of merchantability, | | fitness for a particular purpose and noninfringement. In no event shall the | | authors or copyright holders be liable for any claim, damages or other | | liability, whether in an action of contract, tort or otherwise, arising | | from, out of or in connection with the software or the use or other | | dealings in the software. | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | This software is available under the three different licenses mentioned | | below. To use this software you must chose, and qualify, for one of those. | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | The WebFX Non-Commercial License http://webfx.eae.net/license.html | | Permits anyone the right to use the software in a non-commercial context | | free of charge. | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | The WebFX Commercial license http://webfx.eae.net/commercial.html | | Permits the license holder the right to use the software in a commercial | | context. Such license must be specifically obtained, however it's valid for | | any number of implementations of the licensed software. | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | GPL - The GNU General Public License http://www.gnu.org/licenses/gpl.txt | | Permits anyone the right to use and modify the software without limitations | | as long as proper credits are given and the original and modified source | | code are included. Requires that the final product, software derivate from | | the original source or any software utilizing a GPL component, such as | | this, is also licensed under the GPL license. | |-----------------------------------------------------------------------------| | 2003-01-10 | First version | | 2003-01-19 | Minor changes to the date parsing | | 2003-01-28 | JScript 5.0 fixes (no support for 'in' operator) | | 2003-02-01 | Sloppy typo like error fixed in getInnerText | |-----------------------------------------------------------------------------| | Created 2003-01-10 | All changes are in the log above. | Updated 2003-02-01 | \----------------------------------------------------------------------------*/ /* Changes made (ahu): + Support header TH element (headerOnclick) + Added support for a TD attribute 'sortValue' (getRowValue): If it is there, use its value for sorting instead of the cell content. This allows sorting by a value that differs from what is seen on the screen. As a simple example, consider sorting a column containing formatted numbers: 1,000.00 + 15-May 2004, ahu: changed default sort order (on the first click) to ascending (SortableTable.prototype.sort) ToDo: - Allow for different Date formats */ function SortableTable(oTable, oSortTypes) { this.element = oTable; this.tHead = oTable.tHead; this.tBody = oTable.tBodies[0]; this.document = oTable.ownerDocument || oTable.document; this.sortColumn = null; this.descending = null; var oThis = this; this._headerOnclick = function (e) { oThis.headerOnclick(e); }; // only IE needs this var win = this.document.defaultView || this.document.parentWindow; this._onunload = function () { oThis.destroy(); }; if (win && typeof win.attachEvent != "undefined") { win.attachEvent("onunload", this._onunload); } this.initHeader(oSortTypes || []); } SortableTable.gecko = navigator.product == "Gecko"; SortableTable.msie = /msie/i.test(navigator.userAgent); // Mozilla is faster when doing the DOM manipulations on // an orphaned element. MSIE is not SortableTable.removeBeforeSort = SortableTable.gecko; SortableTable.prototype.onsort = function () {}; // adds arrow containers and events // also binds sort type to the header cells so that reordering columns does // not break the sort types SortableTable.prototype.initHeader = function (oSortTypes) { var cells = this.tHead.rows[0].cells; var l = cells.length; var img, c; for (var i = 0; i < l; i++) { c = cells[i]; img = this.document.createElement("IMG"); img.src = "../include/blank.png"; // relative to the file that uses this c.appendChild(img); if (oSortTypes[i] != null) { c._sortType = oSortTypes[i]; } if (typeof c.addEventListener != "undefined") c.addEventListener("click", this._headerOnclick, false); else if (typeof c.attachEvent != "undefined") c.attachEvent("onclick", this._headerOnclick); } this.updateHeaderArrows(); }; // remove arrows and events SortableTable.prototype.uninitHeader = function () { var cells = this.tHead.rows[0].cells; var l = cells.length; var c; for (var i = 0; i < l; i++) { c = cells[i]; c.removeChild(c.lastChild); if (typeof c.removeEventListener != "undefined") c.removeEventListener("click", this._headerOnclick, false); else if (typeof c.detachEvent != "undefined") c.detachEvent("onclick", this._headerOnclick); } }; SortableTable.prototype.updateHeaderArrows = function () { var cells = this.tHead.rows[0].cells; var l = cells.length; var img; for (var i = 0; i < l; i++) { img = cells[i].lastChild; if (i == this.sortColumn) img.className = "SortArrow " + (this.descending ? "descending" : "ascending"); else img.className = "SortArrow"; } }; SortableTable.prototype.headerOnclick = function (e) { // find TD or TH element var el = e.target || e.srcElement; while (el.tagName != "TD" && el.tagName != "TH") el = el.parentNode; this.sort(el.cellIndex); }; SortableTable.prototype.getSortType = function (nColumn) { var cell = this.tHead.rows[0].cells[nColumn]; var val = cell._sortType; if (val != "") return val; return "String"; }; // only nColumn is required // if bDescending is left out the old value is taken into account // if sSortType is left out the sort type is found from the sortTypes array SortableTable.prototype.sort = function (nColumn, bDescending, sSortType) { if (sSortType == null) sSortType = this.getSortType(nColumn); // exit if None if (sSortType == "None") return; if (bDescending == null) { if (this.sortColumn != nColumn) // 15-May 2004, ahu: change to false for ascending this.descending = false; else this.descending = !this.descending; } this.sortColumn = nColumn; if (typeof this.onbeforesort == "function") this.onbeforesort(); var f = this.getSortFunction(sSortType, nColumn); var a = this.getCache(sSortType, nColumn); var tBody = this.tBody; a.sort(f); if (this.descending) a.reverse(); if (SortableTable.removeBeforeSort) { // remove from doc var nextSibling = tBody.nextSibling; var p = tBody.parentNode; p.removeChild(tBody); } // insert in the new order var l = a.length; for (var i = 0; i < l; i++) tBody.appendChild(a[i].element); if (SortableTable.removeBeforeSort) { // insert into doc p.insertBefore(tBody, nextSibling); } this.updateHeaderArrows(); this.destroyCache(a); if (typeof this.onsort == "function") this.onsort(); }; SortableTable.prototype.asyncSort = function (nColumn, bDescending, sSortType) { var oThis = this; this._asyncsort = function () { oThis.sort(nColumn, bDescending, sSortType); }; window.setTimeout(this._asyncsort, 1); }; SortableTable.prototype.getCache = function (sType, nColumn) { var rows = this.tBody.rows; var l = rows.length; var a = new Array(l); var r; for (var i = 0; i < l; i++) { r = rows[i]; a[i] = { value: this.getRowValue(r, sType, nColumn), element: r }; }; return a; }; SortableTable.prototype.destroyCache = function (oArray) { var l = oArray.length; for (var i = 0; i < l; i++) { oArray[i].value = null; oArray[i].element = null; oArray[i] = null; } } SortableTable.prototype.getRowValue = function (oRow, sType, nColumn) { var c = oRow.cells[nColumn]; var s = c.getAttribute("sortValue"); if (!s) { if (typeof c.innerText != "undefined") s = c.innerText; else s = SortableTable.getInnerText(c); } return this.getValueFromString(s, sType); }; SortableTable.getInnerText = function (oNode) { var s = ""; var cs = oNode.childNodes; var l = cs.length; for (var i = 0; i < l; i++) { switch (cs[i].nodeType) { case 1: //ELEMENT_NODE s += SortableTable.getInnerText(cs[i]); break; case 3: //TEXT_NODE s += cs[i].nodeValue; break; } } return s; } SortableTable.prototype.getValueFromString = function (sText, sType) { switch (sType) { case "Number": return Number(sText); case "CaseInsensitiveString": return sText.toUpperCase(); case "Date": var parts = sText.split("-"); var d = new Date(0); d.setFullYear(parts[0]); d.setDate(parts[2]); d.setMonth(parts[1] - 1); return d.valueOf(); } return sText; }; SortableTable.prototype.getSortFunction = function (sType, nColumn) { return function compare(n1, n2) { if (n1.value < n2.value) return -1; if (n2.value < n1.value) return 1; return 0; }; }; SortableTable.prototype.destroy = function () { this.uninitHeader(); var win = this.document.parentWindow; if (win && typeof win.detachEvent != "undefined") { // only IE needs this win.detachEvent("onunload", this._onunload); } this._onunload = null; this.element = null; this.tHead = null; this.tBody = null; this.document = null; this._headerOnclick = null; this.sortTypes = null; this._asyncsort = null; this.onsort = null; }; /* -------------------------------------------------------------------------- */ function addClassName(el, sClassName) { var s = el.className; var p = s.split(" "); var l = p.length; for (var i = 0; i < l; i++) { if (p[i] == sClassName) return; } p[p.length] = sClassName; el.className = p.join(" "); } function removeClassName(el, sClassName) { var s = el.className; var p = s.split(" "); var np = []; var l = p.length; var j = 0; for (var i = 0; i < l; i++) { if (p[i] != sClassName) np[j++] = p[i]; } el.className = np.join(" "); } exiv2-0.25/doc/include/descending.png0000664000175000017500000000031110142520632017302 0ustar andreasandreasPNG  IHDRlgAMA7tEXtSoftwareAdobe ImageReadyqe< PLTE-ȭtRNS A7IDATxb`b`db` & H@@" "V_JIENDB`exiv2-0.25/doc/include/sortabletable.css0000664000175000017500000000366410246627575020067 0ustar andreasandreas/* -------------------------------------------------------------------------- */ .BoxTable { width: 90%; } .BoxTable>td { width: 100%; } /* -------------------------------------------------------------------------- */ .ParamTable { text-align: right; } .ParamTable td.Desc { font-weight: bold; text-align: right; } /* -------------------------------------------------------------------------- */ .ReportTable { font: Icon; width: 100%; border: 1px Solid ThreeDShadow; background: Window; color: WindowText; border-spacing: 0px; } .ReportTable thead { background: ButtonFace; font-weight: bold; } .ReportTable th { border: 1px solid; border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; cursor: default; text-align: center; padding: 1px 1px 1px 1px; } .ReportTable th:active { border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; padding: 1px 1px 1px 1px; } .ReportTable tbody tr.OddRow { background: #FFFFFF } .ReportTable tbody tr.EvenRow { background: #CCDBEA } .ReportTable tfoot { background: #FFFFFF; font-weight: bold; } .ReportTable tfoot tr { border: 1px Solid ThreeDShadow; } .ReportTable>td { padding: 2px 5px; } .ReportTable td.Total { text-align: right; } /* -------------------------------------------------------------------------- */ .SortArrow { width: 11px; height: 11px; background-position: center center; background-repeat: no-repeat; margin: 0 2px; } .SortArrow.descending { background-image: url("descending.png"); /* relative to this css file */ } .SortArrow.ascending { background-image: url("ascending.png"); /* relative to this css file */ } exiv2-0.25/doc/include/ascending.png0000664000175000017500000000031110142520632017132 0ustar andreasandreasPNG  IHDRlgAMA7tEXtSoftwareAdobe ImageReadyqe< PLTEWtRNS A7IDATxb`bbb`,3DXg  OW{IENDB`exiv2-0.25/doc/include/blank.png0000664000175000017500000000022010142520632016265 0ustar andreasandreasPNG  IHDR !tIME +T pHYs B4PLTEٟtRNS0JIDATxc{-=KIENDB`exiv2-0.25/doc/index.html0000664000175000017500000000066110254537654015073 0ustar andreasandreas Exiv2 - Exif and Iptc metadata manipulation library and tools

Click here to continue if you see this page for more than a moment...

exiv2-0.25/doc/cmd.txt0000664000175000017500000000362211744715772014406 0ustar andreasandreas# Sample Exiv2 command file # ------------------------- # # $ exiv2 -m cmd.txt file ... # # to apply the commands in cmd.txt to each file. Alternatively, commands can be # run from the command line directly, without a command file: # # $ exiv2 -M"add Iptc.Application2.Credit String mee too!" file ... # # Note the quotes. Multiple -m and -M options are allowed and can be combined. # # Command file format # ------------------- # Empty lines and lines starting with # are ignored # Each remaining line is a command. The format for command lines is # [[] ] # cmd = set|add|del # set will set the value of an existing tag of the given key or add a tag # add will add a tag (unless the key is a non-repeatable Iptc key) # del will delete a tag # key = Exiv2 Exif or Iptc key # type = # Byte|Ascii|Short|Long|Rational|Undefined|SShort|SLong|SRational|Comment # for Exif keys, and # String|Date|Time|Short|Undefined for Iptc keys # The format for Iptc Date values is YYYY-MM-DD (year, month, day) and # for Iptc Time values it is HH:MM:SSHH:MM where HH:MM:SS refers to local # hour, minute and seconds and HH:MM refers to hours and minutes ahead or # behind Universal Coordinated Time. # A default type is used if none is explicitly given. The default type is # determined based on the key. # value # The remaining text on the line is the value. It can optionally be enclosed # in double quotes ("value") # add Iptc.Application2.Credit String "mee too! (1)" add Iptc.Application2.Credit mee too! (2) del Iptc.Application2.Headline set Iptc.Application2.Headline Filename add Exif.Image.WhitePoint Short 32 12 4 5 6 set Exif.Image.DateTime Ascii "Zwanzig nach fuenf" set Exif.Image.Artist Ascii nobody set Exif.Image.Artist "Vincent van Gogh" set Exif.Photo.UserComment Comment charset=Ascii This is an ASCII Exif comment exiv2-0.25/COPYING0000664000175000017500000004310210363202405013341 0ustar andreasandreas GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. exiv2-0.25/include/0000775000175000017500000000000012541547731013747 5ustar andreasandreasexiv2-0.25/include/exiv2/0000775000175000017500000000000012541550116014773 5ustar andreasandreasexiv2-0.25/include/exiv2/orfimage.hpp0000664000175000017500000001311712521135474017304 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file orfimage.hpp @brief Olympus RAW image @version $Rev: 3091 $ @author Jeff Costlow costlow@gmail.com @date 31-Jul-07, costlow: created */ #ifndef ORFIMAGE_HPP_ #define ORFIMAGE_HPP_ // ***************************************************************************** // included header files #include "image.hpp" #include "basicio.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add ORF to the supported image formats namespace ImageType { const int orf = 9; //!< ORF image type (see class OrfImage) } /*! @brief Class to access raw Olympus ORF images. Exif metadata is supported directly, IPTC is read from the Exif data, if present. */ class EXIV2API OrfImage : public Image { public: //! @name Creators //@{ /*! @brief Constructor that can either open an existing ORF image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @param create Specifies if an existing image should be read (false) or if a new file should be created (true). */ OrfImage(BasicIo::AutoPtr io, bool create); //@} //! @name Manipulators //@{ void readMetadata(); void writeMetadata(); /*! @brief Not supported. ORF format does not contain a comment. Calling this function will throw an Error(32). */ void setComment(const std::string& comment); //@} //! @name Accessors //@{ std::string mimeType() const; int pixelWidth() const; int pixelHeight() const; //@} private: //! @name NOT Implemented //@{ //! Copy constructor OrfImage(const OrfImage& rhs); //! Assignment operator OrfImage& operator=(const OrfImage& rhs); //@} }; // class OrfImage /*! @brief Stateless parser class for data in ORF format. Images use this class to decode and encode ORF data. See class TiffParser for details. */ class EXIV2API OrfParser { public: /*! @brief Decode metadata from a buffer \em pData of length \em size with data in ORF format to the provided metadata containers. See TiffParser::decode(). */ static ByteOrder decode( ExifData& exifData, IptcData& iptcData, XmpData& xmpData, const byte* pData, uint32_t size ); /*! @brief Encode metadata from the provided metadata to ORF format. See TiffParser::encode(). */ static WriteMethod encode( BasicIo& io, const byte* pData, uint32_t size, ByteOrder byteOrder, const ExifData& exifData, const IptcData& iptcData, const XmpData& xmpData ); }; // class OrfParser // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new OrfImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newOrfInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is an ORF image. EXIV2API bool isOrfType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef ORFIMAGE_HPP_ exiv2-0.25/include/exiv2/rw2image.hpp0000664000175000017500000001300012521135474017217 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file rw2image.hpp @brief Class Rw2Image @version $Rev: 3090 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 06-Jan-09, ahu: created */ #ifndef RW2IMAGE_HPP_ #define RW2IMAGE_HPP_ // ***************************************************************************** // included header files #include "image.hpp" #include "basicio.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add RW2 to the supported image formats namespace ImageType { const int rw2 = 16; //!< RW2 image type (see class Rw2Image) } /*! @brief Class to access raw Panasonic RW2 images. Exif metadata is supported directly, IPTC and XMP are read from the Exif data, if present. */ class EXIV2API Rw2Image : public Image { public: //! @name Creators //@{ /*! @brief Constructor to open an existing RW2 image. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. */ Rw2Image(BasicIo::AutoPtr io); //@} //! @name Manipulators //@{ void readMetadata(); /*! @brief Todo: Write metadata back to the image. This method is not yet implemented. Calling it will throw an Error(31). */ void writeMetadata(); /*! @brief Todo: Not supported yet, requires writeMetadata(). Calling this function will throw an Error(32). */ void setExifData(const ExifData& exifData); /*! @brief Todo: Not supported yet, requires writeMetadata(). Calling this function will throw an Error(32). */ void setIptcData(const IptcData& iptcData); /*! @brief Not supported. RW2 format does not contain a comment. Calling this function will throw an Error(32). */ void setComment(const std::string& comment); //@} //! @name Accessors //@{ std::string mimeType() const; int pixelWidth() const; int pixelHeight() const; //@} private: //! @name NOT implemented //@{ //! Copy constructor Rw2Image(const Rw2Image& rhs); //! Assignment operator Rw2Image& operator=(const Rw2Image& rhs); //@} }; // class Rw2Image /*! @brief Stateless parser class for data in RW2 format. Images use this class to decode and encode RW2 data. Only decoding is currently implemented. See class TiffParser for details. */ class EXIV2API Rw2Parser { public: /*! @brief Decode metadata from a buffer \em pData of length \em size with data in RW2 format to the provided metadata containers. See TiffParser::decode(). */ static ByteOrder decode( ExifData& exifData, IptcData& iptcData, XmpData& xmpData, const byte* pData, uint32_t size ); }; // class Rw2Parser // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new Rw2Image instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newRw2Instance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a RW2 image. EXIV2API bool isRw2Type(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef RW2IMAGE_HPP_ exiv2-0.25/include/exiv2/mrwimage.hpp0000664000175000017500000001227312521135474017325 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file mrwimage.hpp @brief Minolta RAW image, implemented using the following references: Minolta Raw file format by Dalibor Jelinek @version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 13-May-06, ahu: created */ #ifndef MRWIMAGE_HPP_ #define MRWIMAGE_HPP_ // ***************************************************************************** // included header files #include "image.hpp" #include "basicio.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add MRW to the supported image formats namespace ImageType { const int mrw = 5; //!< MRW image type (see class MrwImage) } /*! @brief Class to access raw Minolta MRW images. Exif metadata is supported directly, IPTC is read from the Exif data, if present. */ class EXIV2API MrwImage : public Image { public: //! @name Creators //@{ /*! @brief Constructor that can either open an existing MRW image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @param create Specifies if an existing image should be read (false) or if a new file should be created (true). */ MrwImage(BasicIo::AutoPtr io, bool create); //@} //! @name Manipulators //@{ void readMetadata(); /*! @brief Todo: Write metadata back to the image. This method is not yet implemented. Calling it will throw an Error(31). */ void writeMetadata(); /*! @brief Todo: Not supported yet, requires writeMetadata(). Calling this function will throw an Error(32). */ void setExifData(const ExifData& exifData); /*! @brief Todo: Not supported yet, requires writeMetadata(). Calling this function will throw an Error(32). */ void setIptcData(const IptcData& iptcData); /*! @brief Not supported. MRW format does not contain a comment. Calling this function will throw an Error(32). */ void setComment(const std::string& comment); //@} //! @name Accessors //@{ std::string mimeType() const; int pixelWidth() const; int pixelHeight() const; //@} private: //! @name NOT Implemented //@{ //! Copy constructor MrwImage(const MrwImage& rhs); //! Assignment operator MrwImage& operator=(const MrwImage& rhs); //@} }; // class MrwImage // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new MrwImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newMrwInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a MRW image. EXIV2API bool isMrwType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef MRWIMAGE_HPP_ exiv2-0.25/include/exiv2/asfvideo.hpp0000664000175000017500000001533312521135474017315 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file asfvideo.hpp @brief An Image subclass to support ASF video files @version $Rev$ @author Abhinav Badola for GSoC 2012 mail.abu.to@gmail.com @date 08-Aug-12, AB: created */ #ifndef ASFVIDEO_HPP #define ASFVIDEO_HPP // ***************************************************************************** // included header files #include "exif.hpp" #include "image.hpp" #include "tags_int.hpp" // ***************************************************************************** // namespace extensions using namespace Exiv2::Internal; namespace Exiv2 { // ***************************************************************************** // class definitions // Add ASF to the supported image formats namespace ImageType { const int asf = 24; //!< Treating asf as an image type> } /*! @brief Class to access ASF video files. */ class EXIV2API AsfVideo:public Image { public: //! @name Creators //@{ /*! @brief Constructor for a ASF video. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. */ AsfVideo(BasicIo::AutoPtr io); //@} //! @name Manipulators //@{ void readMetadata(); void writeMetadata(); //@} //! @name Accessors //@{ std::string mimeType() const; //@} protected: /*! @brief Check for a valid tag and decode the block at the current IO position. Calls tagDecoder() or skips to next tag, if required. */ void decodeBlock(); /*! @brief Interpret tag information, and call the respective function to save it in the respective XMP container. Decodes a Tag Information and saves it in the respective XMP container, if the block size is small. @param tv Pointer to current tag, @param size Size of the data block used to store Tag Information. */ void tagDecoder(const TagVocabulary* tv, uint64_t size); /*! @brief Interpret File_Properties tag information, and save it in the respective XMP container. */ void fileProperties(); /*! @brief Interpret Stream_Properties tag information, and save it in the respective XMP container. */ void streamProperties(); /*! @brief Interpret Codec_List tag information, and save it in the respective XMP container. */ void codecList(); /*! @brief Interpret Content_Description tag information, and save it in the respective XMP container. @param size Size of the data block used to store Tag Data. */ void contentDescription(uint64_t size); /*! @brief Interpret Extended_Stream_Properties tag information, and save it in the respective XMP container. @param size Size of the data block used to store Tag Data. */ void extendedStreamProperties(uint64_t size); /*! @brief Interpret Header_Extension tag information, and save it in the respective XMP container. @param size Size of the data block used to store Tag Data. */ void headerExtension(uint64_t size); /*! @brief Interpret Metadata, Extended_Content_Description, Metadata_Library tag information, and save it in the respective XMP container. @param meta A default integer which helps to overload the function for various Tags that have a similar method of decoding. */ void metadataHandler(int meta = 1); /*! @brief Calculates Aspect Ratio of a video, and stores it in the respective XMP container. */ void aspectRatio(); private: //! @name NOT Implemented //@{ //! Copy constructor AsfVideo(const AsfVideo& rhs); //! Assignment operator AsfVideo& operator=(const AsfVideo& rhs); //@} private: //! Variable to check the end of metadata traversing. bool continueTraversing_; //! Variable which stores current position of the read pointer. uint64_t localPosition_; //! Variable which stores current stream being processsed. int streamNumber_; //! Variable to store height and width of a video frame. uint64_t height_, width_; }; //Class AsfVideo // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new AsfVideo instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newAsfInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a Windows Asf Video. EXIV2API bool isAsfType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef ASFVIDEO_HPP_ exiv2-0.25/include/exiv2/convert.hpp0000664000175000017500000001254212521135474017174 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file convert.hpp @brief Exif and IPTC conversions to and from XMP @version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net
Vladimir Nadvornik (vn) nadvornik@suse.cz @date 17-Mar-08, ahu: created basic converter framework
20-May-08, vn: added actual conversion logic */ #ifndef CONVERT_HPP_ #define CONVERT_HPP_ // included header files #include "config.h" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class declarations class ExifData; class IptcData; class XmpData; // ***************************************************************************** // free functions, template and inline definitions //! Convert (copy) Exif tags to XMP properties. EXIV2API void copyExifToXmp(const ExifData& exifData, XmpData& xmpData); //! Convert (move) Exif tags to XMP properties, remove converted Exif tags. EXIV2API void moveExifToXmp(ExifData& exifData, XmpData& xmpData); //! Convert (copy) XMP properties to Exif tags. EXIV2API void copyXmpToExif(const XmpData& xmpData, ExifData& exifData); //! Convert (move) XMP properties to Exif tags, remove converted XMP properties. EXIV2API void moveXmpToExif(XmpData& xmpData, ExifData& exifData); //! Detect which metadata are newer and perform a copy in appropriate direction. EXIV2API void syncExifWithXmp(ExifData& exifData, XmpData& xmpData); //! Convert (copy) IPTC datasets to XMP properties. EXIV2API void copyIptcToXmp(const IptcData& iptcData, XmpData& xmpData, const char *iptcCharset = 0); //! Convert (move) IPTC datasets to XMP properties, remove converted IPTC datasets. EXIV2API void moveIptcToXmp(IptcData& iptcData, XmpData& xmpData, const char *iptcCharset = 0); //! Convert (copy) XMP properties to IPTC datasets. EXIV2API void copyXmpToIptc(const XmpData& xmpData, IptcData& iptcData); //! Convert (move) XMP properties to IPTC tags, remove converted XMP properties. EXIV2API void moveXmpToIptc(XmpData& xmpData, IptcData& iptcData); /*! @brief Convert character encoding of \em str from \em from to \em to. If the function succeeds, \em str contains the result string. This function uses the iconv library, if the %Exiv2 library was compiled with iconv support. Otherwise, on Windows, it uses Windows functions to support a limited number of conversions and fails with a warning if an unsupported conversion is attempted. If the function is called but %Exiv2 was not compiled with iconv support and can't use Windows functions, it fails with a warning. The conversions supported on Windows without iconv are:
fromto
UTF-8 UCS-2BE
UTF-8 UCS-2LE
UCS-2BE UTF-8
UCS-2BE UCS-2LE
UCS-2LE UTF-8
UCS-2LE UCS-2BE
ISO-8859-1UTF-8
ASCII UTF-8
@param str The string to convert. It is updated to the converted string, which may have a different size. If the function call fails, the string is not modified. @param from Charset in which the input string is encoded as a name understood by \c iconv_open(3). @param to Charset to convert the string to as a name understood by \c iconv_open(3). @return Return \c true if the conversion was successful, else \c false. */ EXIV2API bool convertStringCharset(std::string& str, const char* from, const char* to); } // namespace Exiv2 #endif // #ifndef CONVERT_HPP_ exiv2-0.25/include/exiv2/crwimage.hpp0000664000175000017500000001501612521135474017311 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file crwimage.hpp @brief Class CrwImage to access Canon CRW images.
References:
The Canon RAW (CRW) File Format by Phil Harvey @version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 28-Aug-05, ahu: created */ #ifndef CRWIMAGE_HPP_ #define CRWIMAGE_HPP_ // ***************************************************************************** // included header files #include "types.hpp" #include "image.hpp" #include "basicio.hpp" // + standard includes #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class declarations class ExifData; class IptcData; // ***************************************************************************** // class definitions // Add CRW to the supported image formats namespace ImageType { const int crw = 3; //!< CRW image type (see class CrwImage) } /*! @brief Class to access raw Canon CRW images. Only Exif metadata and a comment are supported. CRW format does not contain IPTC metadata. */ class EXIV2API CrwImage : public Image { public: //! @name Creators //@{ /*! @brief Constructor that can either open an existing CRW image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @param create Specifies if an existing image should be read (false) or if a new file should be created (true). */ CrwImage(BasicIo::AutoPtr io, bool create); //@} //! @name Manipulators //@{ void readMetadata(); void writeMetadata(); /*! @brief Not supported. CRW format does not contain IPTC metadata. Calling this function will throw an Error(32). */ void setIptcData(const IptcData& iptcData); //@} //! @name Accessors //@{ std::string mimeType() const; int pixelWidth() const; int pixelHeight() const; //@} private: //! @name NOT Implemented //@{ //! Copy constructor CrwImage(const CrwImage& rhs); //! Assignment operator CrwImage& operator=(const CrwImage& rhs); //@} }; // class CrwImage /*! Stateless parser class for Canon CRW images (Ciff format). */ class EXIV2API CrwParser { public: /*! @brief Decode metadata from a Canon CRW image in data buffer \em pData of length \em size into \em crwImage. This is the entry point to access image data in Ciff format. The parser uses classes CiffHeader, CiffEntry, CiffDirectory. @param pCrwImage Pointer to the %Exiv2 CRW image to hold the metadata read from the buffer. @param pData Pointer to the data buffer. Must point to the data of a CRW image; no checks are performed. @param size Length of the data buffer. @throw Error If the data buffer cannot be parsed. */ static void decode(CrwImage* pCrwImage, const byte* pData, uint32_t size); /*! @brief Encode metadata from the CRW image into a data buffer (the binary CRW image). @param blob Data buffer for the binary image (target). @param pData Pointer to the binary image data buffer. Must point to data in CRW format; no checks are performed. @param size Length of the data buffer. @param pCrwImage Pointer to the %Exiv2 CRW image with the metadata to encode. @throw Error If the metadata from the CRW image cannot be encoded. */ static void encode( Blob& blob, const byte* pData, uint32_t size, const CrwImage* pCrwImage ); }; // class CrwParser // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new CrwImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newCrwInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a CRW image. EXIV2API bool isCrwType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef CRWIMAGE_HPP_ exiv2-0.25/include/exiv2/exiv2.hpp0000664000175000017500000000424312540430361016542 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file exiv2.hpp @brief Include all Exiv2 header files. @version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 21-Jun-10, ahu: created */ #ifndef EXIV2_HPP_ #define EXIV2_HPP_ // ***************************************************************************** // included header files #include "basicio.hpp" #include "bmpimage.hpp" #include "convert.hpp" #include "cr2image.hpp" #include "crwimage.hpp" #include "datasets.hpp" #include "easyaccess.hpp" #include "epsimage.hpp" #include "error.hpp" #include "exif.hpp" #include "futils.hpp" #include "gifimage.hpp" #include "http.hpp" #include "image.hpp" #include "iptc.hpp" #include "jp2image.hpp" #include "jpgimage.hpp" #include "metadatum.hpp" #include "mrwimage.hpp" #include "orfimage.hpp" #include "pgfimage.hpp" #include "pngimage.hpp" #include "preview.hpp" #include "properties.hpp" #include "psdimage.hpp" #include "rafimage.hpp" #include "rw2image.hpp" #if EXV_USE_SSH == 1 #include "ssh.hpp" #endif #include "tags.hpp" #include "tgaimage.hpp" #include "tiffimage.hpp" #include "types.hpp" #include "value.hpp" #include "version.hpp" #include "xmp.hpp" #include "xmpsidecar.hpp" #endif // #ifndef EXIV2_HPP_ exiv2-0.25/include/exiv2/iptc.hpp0000664000175000017500000002734112521135474016456 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file iptc.hpp @brief Encoding and decoding of IPTC data @version $Rev: 3091 $ @author Brad Schick (brad) brad@robotbattle.com @date 31-Jul-04, brad: created */ #ifndef IPTC_HPP_ #define IPTC_HPP_ // ***************************************************************************** // included header files #include "metadatum.hpp" #include "types.hpp" #include "error.hpp" #include "value.hpp" #include "datasets.hpp" // + standard includes #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class declarations class ExifData; // ***************************************************************************** // class definitions /*! @brief An IPTC metadatum ("dataset"), consisting of an IptcKey and a Value and methods to manipulate these. */ class EXIV2API Iptcdatum : public Metadatum { public: //! @name Creators //@{ /*! @brief Constructor for new tags created by an application. The %Iptcdatum is created from a key / value pair. %Iptcdatum copies (clones) the value if one is provided. Alternatively, a program can create an 'empty' %Iptcdatum with only a key and set the value using setValue(). @param key The key of the %Iptcdatum. @param pValue Pointer to a %Iptcdatum value. @throw Error if the key cannot be parsed and converted to a tag number and record id. */ explicit Iptcdatum(const IptcKey& key, const Value* pValue =0); //! Copy constructor Iptcdatum(const Iptcdatum& rhs); //! Destructor virtual ~Iptcdatum(); //@} //! @name Manipulators //@{ //! Assignment operator Iptcdatum& operator=(const Iptcdatum& rhs); /*! @brief Assign \em value to the %Iptcdatum. The type of the new Value is set to UShortValue. */ Iptcdatum& operator=(const uint16_t& value); /*! @brief Assign \em value to the %Iptcdatum. Calls setValue(const std::string&). */ Iptcdatum& operator=(const std::string& value); /*! @brief Assign \em value to the %Iptcdatum. Calls setValue(const Value*). */ Iptcdatum& operator=(const Value& value); void setValue(const Value* pValue); /*! @brief Set the value to the string \em value, using Value::read(const std::string&). If the %Iptcdatum does not have a Value yet, then a %Value of the correct type for this %Iptcdatum is created. If that fails (because of an unknown dataset), a StringValue is created. Return 0 if the value was read successfully. */ int setValue(const std::string& value); //@} //! @name Accessors //@{ long copy(byte* buf, ByteOrder byteOrder) const; std::ostream& write(std::ostream& os, const ExifData* pMetadata =0) const; /*! @brief Return the key of the Iptcdatum. The key is of the form 'Iptc.recordName.datasetName'. Note however that the key is not necessarily unique, i.e., an IptcData object may contain multiple metadata with the same key. */ std::string key() const; /*! @brief Return the name of the record (deprecated) @return record name */ std::string recordName() const; /*! @brief Return the record id @return record id */ uint16_t record() const; const char* familyName() const; std::string groupName() const; /*! @brief Return the name of the tag (aka dataset) @return tag name */ std::string tagName() const; std::string tagLabel() const; //! Return the tag (aka dataset) number uint16_t tag() const; TypeId typeId() const; const char* typeName() const; long typeSize() const; long count() const; long size() const; std::string toString() const; std::string toString(long n) const; long toLong(long n =0) const; float toFloat(long n =0) const; Rational toRational(long n =0) const; Value::AutoPtr getValue() const; const Value& value() const; //@} private: // DATA IptcKey::AutoPtr key_; //!< Key Value::AutoPtr value_; //!< Value }; // class Iptcdatum //! Container type to hold all metadata typedef std::vector IptcMetadata; /*! @brief A container for IPTC data. This is a top-level class of the %Exiv2 library. Provide high-level access to the IPTC data of an image: - read IPTC information from JPEG files - access metadata through keys and standard C++ iterators - add, modify and delete metadata - write IPTC data to JPEG files - extract IPTC metadata to files, insert from these files */ class EXIV2API IptcData { public: //! IptcMetadata iterator type typedef IptcMetadata::iterator iterator; //! IptcMetadata const iterator type typedef IptcMetadata::const_iterator const_iterator; // Use the compiler generated constructors and assignment operator //! @name Manipulators //@{ /*! @brief Returns a reference to the %Iptcdatum that is associated with a particular \em key. If %IptcData does not already contain such an %Iptcdatum, operator[] adds object \em Iptcdatum(key). @note Since operator[] might insert a new element, it can't be a const member function. */ Iptcdatum& operator[](const std::string& key); /*! @brief Add an %Iptcdatum from the supplied key and value pair. This method copies (clones) the value. A check for non-repeatable datasets is performed. @return 0 if successful;
6 if the dataset already exists and is not repeatable */ int add(const IptcKey& key, Value* value); /*! @brief Add a copy of the Iptcdatum to the IPTC metadata. A check for non-repeatable datasets is performed. @return 0 if successful;
6 if the dataset already exists and is not repeatable;
*/ int add(const Iptcdatum& iptcdatum); /*! @brief Delete the Iptcdatum at iterator position pos, return the position of the next Iptcdatum. Note that iterators into the metadata, including pos, are potentially invalidated by this call. */ iterator erase(iterator pos); /*! @brief Delete all Iptcdatum instances resulting in an empty container. */ void clear() { iptcMetadata_.clear(); } //! Sort metadata by key void sortByKey(); //! Sort metadata by tag (aka dataset) void sortByTag(); //! Begin of the metadata iterator begin() { return iptcMetadata_.begin(); } //! End of the metadata iterator end() { return iptcMetadata_.end(); } /*! @brief Find the first Iptcdatum with the given key, return an iterator to it. */ iterator findKey(const IptcKey& key); /*! @brief Find the first Iptcdatum with the given record and dataset it, return a const iterator to it. */ iterator findId(uint16_t dataset, uint16_t record = IptcDataSets::application2); //@} //! @name Accessors //@{ //! Begin of the metadata const_iterator begin() const { return iptcMetadata_.begin(); } //! End of the metadata const_iterator end() const { return iptcMetadata_.end(); } /*! @brief Find the first Iptcdatum with the given key, return a const iterator to it. */ const_iterator findKey(const IptcKey& key) const; /*! @brief Find the first Iptcdatum with the given record and dataset number, return a const iterator to it. */ const_iterator findId(uint16_t dataset, uint16_t record = IptcDataSets::application2) const; //! Return true if there is no IPTC metadata bool empty() const { return count() == 0; } //! Get the number of metadata entries long count() const { return static_cast(iptcMetadata_.size()); } /*! @brief Return the exact size of all contained IPTC metadata */ long size() const; /*! @brief Return the metadata charset name or 0 */ const char *detectCharset() const; //@} private: // DATA IptcMetadata iptcMetadata_; }; // class IptcData /*! @brief Stateless parser class for IPTC data. Images use this class to decode and encode binary IPTC data. */ class EXIV2API IptcParser { public: /*! @brief Decode binary IPTC data in IPTC IIM4 format from a buffer \em pData of length \em size to the provided metadata container. @param iptcData Metadata container to add the decoded IPTC datasets to. @param pData Pointer to the data buffer to read from. @param size Number of bytes in the data buffer. @return 0 if successful;
5 if the binary IPTC data is invalid or corrupt */ static int decode( IptcData& iptcData, const byte* pData, uint32_t size ); /*! @brief Encode the IPTC datasets from \em iptcData to a binary representation in IPTC IIM4 format. Convert the IPTC datasets to binary format and return it. Caller owns the returned buffer. The copied data follows the IPTC IIM4 standard. @return Data buffer containing the binary IPTC data in IPTC IIM4 format. */ static DataBuf encode( const IptcData& iptcData ); private: // Constant data static const byte marker_; // Dataset marker }; // class IptcParser } // namespace Exiv2 #endif // #ifndef IPTC_HPP_ exiv2-0.25/include/exiv2/pngimage.hpp0000664000175000017500000001243412523623336017304 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file pngimage.hpp @brief PNG image, implemented using the following references: PNG specification by W3C
PNG tags list by Phil Harvey
@version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @author Gilles Caulier (cgilles) caulier dot gilles at gmail dot com @date 12-Jun-06, gc: submitted */ #ifndef PNGIMAGE_HPP_ #define PNGIMAGE_HPP_ // ***************************************************************************** // included header files #include "image.hpp" #include "basicio.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add PNG to the supported image formats namespace ImageType { const int png = 6; //!< PNG image type (see class PngImage) } /*! @brief Class to access PNG images. Exif and IPTC metadata are supported directly. */ class EXIV2API PngImage : public Image { public: //! @name Creators //@{ /*! @brief Constructor that can either open an existing PNG image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @param create Specifies if an existing image should be read (false) or if a new file should be created (true). */ PngImage(BasicIo::AutoPtr io, bool create); //@} //! @name Manipulators //@{ void readMetadata(); void writeMetadata(); /*! @brief Print out the structure of image file. @throw Error if reading of the file fails or the image data is not valid (does not look like data of the specific image type). @caution This function is not thread safe and intended for exiv2 -pS for debugging. */ void printStructure(std::ostream& out, PrintStructureOption option); //@} //! @name Accessors //@{ std::string mimeType() const; //@} private: //! @name NOT implemented //@{ //! Copy constructor PngImage(const PngImage& rhs); //! Assignment operator PngImage& operator=(const PngImage& rhs); /*! @brief Provides the main implementation of writeMetadata() by writing all buffered metadata to the provided BasicIo. @param oIo BasicIo instance to write to (a temporary location). @return 4 if opening or writing to the associated BasicIo fails */ EXV_DLLLOCAL void doWriteMetadata(BasicIo& oIo); //@} }; // class PngImage // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new PngImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newPngInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a PNG image. EXIV2API bool isPngType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef PNGIMAGE_HPP_ exiv2-0.25/include/exiv2/http.hpp0000664000175000017500000000063312540302471016463 0ustar andreasandreas#ifndef HTTP_HPP_ #define HTTP_HPP_ #include #include #include namespace Exiv2 { typedef std::map dict_t; typedef dict_t::iterator dict_i; EXIV2API int http(dict_t& request,dict_t& response,std::string& errors); } #ifndef EXV_USE_CURL #define EXV_USE_CURL 0 #endif #if EXV_USE_CURL == 1 #include #endif #endif exiv2-0.25/include/exiv2/preview.hpp0000664000175000017500000001476212521135474017203 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file preview.hpp @brief Classes to access all preview images embedded in an image. @version $Rev: 3091 $ @author Vladimir Nadvornik (vn) nadvornik@suse.cz @date 18-Sep-08, vn: created */ #ifndef PREVIEW_HPP_ #define PREVIEW_HPP_ // ***************************************************************************** // included header files #include "types.hpp" #include "image.hpp" #include "basicio.hpp" #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions //! Type of preview image. typedef int PreviewId; /*! @brief Preview image properties. */ struct EXIV2API PreviewProperties { //! Preview image mime type. std::string mimeType_; //! Preview image extension. std::string extension_; #ifdef EXV_UNICODE_PATH //! Unicode preview image extension in an std::wstring std::wstring wextension_; #endif //! Preview image size in bytes. uint32_t size_; //! Preview image width in pixels or 0 for unknown width. uint32_t width_; //! Preview image height in pixels or 0 for unknown height. uint32_t height_; //! Identifies type of preview image. PreviewId id_; }; //! Container type to hold all preview images metadata. typedef std::vector PreviewPropertiesList; /*! @brief Class that holds preview image properties and data buffer. */ class EXIV2API PreviewImage { friend class PreviewManager; public: //! @name Constructors //@{ //! Copy constructor PreviewImage(const PreviewImage& rhs); //! Destructor. ~PreviewImage(); //@} //! @name Manipulators //@{ //! Assignment operator PreviewImage& operator=(const PreviewImage& rhs); //@} //! @name Accessors //@{ /*! @brief Return a copy of the preview image data. The caller owns this copy and %DataBuf ensures that it will be deleted. */ DataBuf copy() const; /*! @brief Return a pointer to the image data for read-only access. */ const byte* pData() const; /*! @brief Return the size of the preview image in bytes. */ uint32_t size() const; /*! @brief Write the thumbnail image to a file. A filename extension is appended to \em path according to the image type of the preview image, so \em path should not include an extension. The function will overwrite an existing file of the same name. @param path File name of the preview image without extension. @return The number of bytes written. */ long writeFile(const std::string& path) const; #ifdef EXV_UNICODE_PATH /*! @brief Like writeFile() but accepts a unicode path in an std::wstring. @note This function is only available on Windows. */ long writeFile(const std::wstring& wpath) const; #endif /*! @brief Return the MIME type of the preview image, usually either \c "image/tiff" or \c "image/jpeg". */ std::string mimeType() const; /*! @brief Return the file extension for the format of the preview image (".tif" or ".jpg"). */ std::string extension() const; #ifdef EXV_UNICODE_PATH /*! @brief Like extension() but returns the unicode encoded extension in an std::wstring. @note This function is only available on Windows. */ std::wstring wextension() const; #endif /*! @brief Return the width of the preview image in pixels. */ uint32_t width() const; /*! @brief Return the height of the preview image in pixels. */ uint32_t height() const; /*! @brief Return the preview image type identifier. */ PreviewId id() const; //@} private: //! Private constructor EXV_DLLLOCAL PreviewImage(const PreviewProperties& properties, DataBuf data); PreviewProperties properties_; //!< Preview image properties byte* pData_; //!< Pointer to the preview image data uint32_t size_; //!< Size of the preview image data }; // class PreviewImage /*! @brief Class for extracting preview images from image metadata. */ class EXIV2API PreviewManager { public: //! @name Constructors //@{ //! Constructor. PreviewManager(const Image& image); //@} //! @name Accessors //@{ /*! @brief Return the properties of all preview images in a list sorted by preview width * height, starting with the smallest preview image. */ PreviewPropertiesList getPreviewProperties() const; /*! @brief Return the preview image for the given preview properties. */ PreviewImage getPreviewImage(const PreviewProperties& properties) const; //@} private: const Image& image_; }; // class PreviewManager } // namespace Exiv2 #endif // #ifndef PREVIEW_HPP_ exiv2-0.25/include/exiv2/ssh.hpp0000664000175000017500000000755412521135474016320 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ #ifndef SSH_HPP_ #define SSH_HPP_ // included header files #include "config.h" #if EXV_USE_SSH == 1 #include #include #include #include #include "error.hpp" #include "types.hpp" #include "futils.hpp" namespace Exiv2 { /*! @brief The class provides the high-level functions related to libssh. It makes the libssh transparent. The functions in this class can be used without the requirement of understanding libssh. */ class EXIV2API SSH { public: //! @name Creators //@{ /*! @brief Constructor to set up the connection to ssh server. @param host The host name of ssh server. @param user The username used to connect to ssh server. @param pass The password used to connect to ssh server. @param port The port to connect to ssh server. Set empty string to use the default port. @throw Error if it fails to connect the server. */ SSH (const std::string& host, const std::string& user, const std::string& pass, const std::string port = ""); //! Destructor ~SSH(); //@} //! @name Manipulators //@{ /*! @brief Run the command on the remote machine. @param cmd The command @param output The container for the command's output @return 0 (SSH_OK) if there is no error. */ int runCommand(const std::string& cmd, std::string* output); /*! @brief SCP data to the remote machine. @param filePath The path of the new file on the remote machine where the data is saved. @param data The data copied to the remote machine. @param size The size of the data. @return 0 (SSH_OK) if there is no error. @throw Error if it is unable to copy the data. */ int scp(const std::string& filePath, const byte* data, size_t size); /*! @brief Return the sftp file handle of the file on the remote machine to read the data. @param filePath The path of the file on the remote machine. @param handle The container for the file handle. @throw Error if it is unable to get the sftp file handle. @note Be sure to close() the file handle after use. */ void getFileSftp(const std::string& filePath, sftp_file& handle); //@} private: /*! @brief Open the sftp session. */ void openSftp(); // DATA //! The number of seconds to wait while trying to connect. long timeout_; //! the ssh server host std::string host_; //! the username std::string user_; //! the password std::string pass_; //! the ssh session ssh_session session_; //! the sftp session sftp_session sftp_; }; // class SSH } // namespace Exiv2 #endif #endif // #ifdef EXIV2_HPP_ exiv2-0.25/include/exiv2/error.hpp0000664000175000017500000003001212521135474016635 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file error.hpp @brief Error class for exceptions, log message class @version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 15-Jan-04, ahu: created
11-Feb-04, ahu: isolated as a component */ #ifndef ERROR_HPP_ #define ERROR_HPP_ // ***************************************************************************** // included header files #include "types.hpp" // + standard includes #include #include #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions /*! @brief Class for a log message, used by the library. Applications can set the log level and provide a customer log message handler (callback function). This class is meant to be used as a temporary object with the related macro-magic like this: EXV_WARNING << "Warning! Something looks fishy.\n"; which translates to if (LogMsg::warn >= LogMsg::level() && LogMsg::handler()) LogMsg(LogMsg::warn).os() << "Warning! Something looks fishy.\n"; The macros EXV_DEBUG, EXV_INFO, EXV_WARNING and EXV_ERROR are shorthands and ensure efficient use of the logging facility: If a log message doesn't need to be generated because of the log level setting, the temp object is not even created. Caveat: The entire log message is not processed in this case. So don't make that call any logic that always needs to be executed. */ class EXIV2API LogMsg { //! Prevent copy-construction: not implemented. LogMsg(const LogMsg&); //! Prevent assignment: not implemented. LogMsg& operator=(const LogMsg&); public: /*! @brief Defined log levels. To suppress all log messages, either set the log level to \c mute or set the log message handler to 0. */ enum Level { debug = 0, info = 1, warn = 2, error = 3, mute = 4 }; /*! @brief Type for a log message handler function. The function receives the log level and message and can process it in an application specific way. The default handler sends the log message to standard error. */ typedef void (*Handler)(int, const char*); //! @name Creators //@{ //! Constructor, takes the log message type as an argument explicit LogMsg(Level msgType) : msgType_(msgType) {} //! Destructor, passes the log message to the message handler depending on the log level ~LogMsg() { if (msgType_ >= level_ && handler_) handler_(msgType_, os_.str().c_str()); } //@} //! @name Manipulators //@{ //! Return a reference to the ostringstream which holds the log message std::ostringstream& os() { return os_; } //@} /*! @brief Set the log level. Only log messages with a level greater or equal \em level are sent to the log message handler. Default log level is \c warn. To suppress all log messages, set the log level to \c mute (or set the log message handler to 0). */ static void setLevel(Level level) { level_ = level; } /*! @brief Set the log message handler. The default handler writes log messages to standard error. To suppress all log messages, set the log message handler to 0 (or set the log level to \c mute). */ static void setHandler(Handler handler) { handler_ = handler; } //! Return the current log level static Level level() { return level_; } //! Return the current log message handler static Handler handler() { return handler_; } //! The default log handler. Sends the log message to standard error. static void defaultHandler(int level, const char* s); private: // DATA // The output level. Only messages with type >= level_ will be written static Level level_; // The log handler in use static Handler handler_; // The type of this log message const Level msgType_; // Holds the log message until it is passed to the message handler std::ostringstream os_; }; // class LogMsg // Macros for simple access //! Shorthand to create a temp debug log message object and return its ostringstream #define EXV_DEBUG if (LogMsg::debug >= LogMsg::level() && LogMsg::handler()) LogMsg(LogMsg::debug).os() //! Shorthand for a temp info log message object and return its ostringstream #define EXV_INFO if (LogMsg::info >= LogMsg::level() && LogMsg::handler()) LogMsg(LogMsg::info).os() //! Shorthand for a temp warning log message object and return its ostringstream #define EXV_WARNING if (LogMsg::warn >= LogMsg::level() && LogMsg::handler()) LogMsg(LogMsg::warn).os() //! Shorthand for a temp error log message object and return its ostringstream #define EXV_ERROR if (LogMsg::error >= LogMsg::level() && LogMsg::handler()) LogMsg(LogMsg::error).os() #ifdef _MSC_VER // Disable MSVC warnings "non - DLL-interface classkey 'identifier' used as base // for DLL-interface classkey 'identifier'" # pragma warning( disable : 4275 ) #endif //! Generalised toString function template std::basic_string toBasicString(const T& arg) { std::basic_ostringstream os; os << arg; return os.str(); } /*! @brief Error class interface. Allows the definition and use of a hierarchy of error classes which can all be handled in one catch block. Inherits from the standard exception base-class, to make life easier for library users (they have the option of catching most things via std::exception). */ class EXIV2API AnyError : public std::exception { public: //! @name Creators //@{ //! Virtual destructor. virtual ~AnyError() throw(); //@} //! @name Accessors //@{ //! Return the error code. virtual int code() const throw() =0; //@} }; // AnyError //! %AnyError output operator inline std::ostream& operator<<(std::ostream& os, const AnyError& error) { return os << error.what(); } /*! @brief Simple error class used for exceptions. An output operator is provided to print errors to a stream. */ template class EXV_DLLPUBLIC BasicError : public AnyError { public: //! @name Creators //@{ //! Constructor taking only an error code EXV_DLLLOCAL explicit BasicError(int code); //! Constructor taking an error code and one argument template EXV_DLLLOCAL BasicError(int code, const A& arg1); //! Constructor taking an error code and two arguments template EXV_DLLLOCAL BasicError(int code, const A& arg1, const B& arg2); //! Constructor taking an error code and three arguments template EXV_DLLLOCAL BasicError(int code, const A& arg1, const B& arg2, const C& arg3); //! Virtual destructor. (Needed because of throw()) EXV_DLLLOCAL virtual ~BasicError() throw(); //@} //! @name Accessors //@{ EXV_DLLLOCAL virtual int code() const throw(); /*! @brief Return the error message as a C-string. The pointer returned by what() is valid only as long as the BasicError object exists. */ EXV_DLLLOCAL virtual const char* what() const throw(); #ifdef EXV_UNICODE_PATH /*! @brief Return the error message as a wchar_t-string. The pointer returned by wwhat() is valid only as long as the BasicError object exists. */ EXV_DLLLOCAL virtual const wchar_t* wwhat() const throw(); #endif //@} private: //! @name Manipulators //@{ //! Assemble the error message from the arguments EXIV2API void setMsg(); //@} // DATA int code_; //!< Error code int count_; //!< Number of arguments std::basic_string arg1_; //!< First argument std::basic_string arg2_; //!< Second argument std::basic_string arg3_; //!< Third argument std::string msg_; //!< Complete error message #ifdef EXV_UNICODE_PATH std::wstring wmsg_; //!< Complete error message as a wide string #endif }; // class BasicError //! Error class used for exceptions (std::string based) typedef BasicError Error; #ifdef EXV_UNICODE_PATH //! Error class used for exceptions (std::wstring based) typedef BasicError WError; #endif // ***************************************************************************** // free functions, template and inline definitions //! Return the error message for the error with code \em code. EXIV2API const char* errMsg(int code); template BasicError::BasicError(int code) : code_(code), count_(0) { setMsg(); } template template BasicError::BasicError(int code, const A& arg1) : code_(code), count_(1), arg1_(toBasicString(arg1)) { setMsg(); } template template BasicError::BasicError(int code, const A& arg1, const B& arg2) : code_(code), count_(2), arg1_(toBasicString(arg1)), arg2_(toBasicString(arg2)) { setMsg(); } template template BasicError::BasicError(int code, const A& arg1, const B& arg2, const C& arg3) : code_(code), count_(3), arg1_(toBasicString(arg1)), arg2_(toBasicString(arg2)), arg3_(toBasicString(arg3)) { setMsg(); } template BasicError::~BasicError() throw() { } template int BasicError::code() const throw() { return code_; } template const char* BasicError::what() const throw() { return msg_.c_str(); } #ifdef EXV_UNICODE_PATH template const wchar_t* BasicError::wwhat() const throw() { return wmsg_.c_str(); } #endif #ifdef _MSC_VER # pragma warning( default : 4275 ) #endif } // namespace Exiv2 #endif // #ifndef ERROR_HPP_ exiv2-0.25/include/exiv2/psdimage.hpp0000664000175000017500000001323412521135474017304 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file psdimage.hpp @brief Photoshop image, implemented using the following references: Adobe Photoshop 6.0 File Format Specification by Adobe
@version $Rev: 3091 $ @author Marco Piovanelli, Ovolab (marco) marco.piovanelli@pobox.com @author Michael Ulbrich mul@rentapacs.de @date 05-Mar-2007, marco: created */ #ifndef PSDIMAGE_HPP_ #define PSDIMAGE_HPP_ // ***************************************************************************** // included header files #include "exif.hpp" #include "iptc.hpp" #include "image.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add PSD to the supported image formats namespace ImageType { const int psd = 12; //!< Photoshop (PSD) image type (see class PsdImage) } /*! @brief Class to access raw Photoshop images. */ class EXIV2API PsdImage : public Image { //! @name NOT Implemented //@{ //! Copy constructor PsdImage(const PsdImage& rhs); //! Assignment operator PsdImage& operator=(const PsdImage& rhs); //@} public: //! @name Creators //@{ /*! @brief Constructor to open a Photoshop image. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. */ PsdImage(BasicIo::AutoPtr io); //@} //! @name Manipulators //@{ void readMetadata(); void writeMetadata(); /*! @brief Not supported. Calling this function will throw an Error(32). */ void setComment(const std::string& comment); //@} //! @name Accessors //@{ /*! @brief Return the MIME type of the image. The MIME type returned for Photoshop images is "image/x-photoshop". @note This should really be "image/vnd.adobe.photoshop" (officially registered with IANA in December 2005 -- see http://www.iana.org/assignments/media-types/image/vnd.adobe.photoshop) but Apple, as of Tiger (10.4.8), maps this official MIME type to a dynamic UTI, rather than "com.adobe.photoshop-image" as it should. */ std::string mimeType() const; //@} private: //! @name Manipulators //@{ EXV_DLLLOCAL void readResourceBlock(uint16_t resourceId, uint32_t resourceSize); /*! @brief Provides the main implementation of writeMetadata() by writing all buffered metadata to the provided BasicIo. @param oIo BasicIo instance to write to (a temporary location). @return 4 if opening or writing to the associated BasicIo fails */ EXV_DLLLOCAL void doWriteMetadata(BasicIo& oIo); EXV_DLLLOCAL uint32_t writeExifData(const ExifData& exifData, BasicIo& out); //@} //! @name Accessors //@{ EXV_DLLLOCAL uint32_t writeIptcData(const IptcData& iptcData, BasicIo& out) const; EXV_DLLLOCAL uint32_t writeXmpData(const XmpData& xmpData, BasicIo& out) const; //@} }; // class PsdImage // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new PsdImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newPsdInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a Photoshop image. EXIV2API bool isPsdType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef PSDIMAGE_HPP_ exiv2-0.25/include/exiv2/riffvideo.hpp0000664000175000017500000002011712521135474017466 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file riffvideo.hpp @brief An Image subclass to support RIFF video files @version $Rev$ @author Abhinav Badola for GSoC 2012 mail.abu.to@gmail.com @date 18-Jun-12, AB: created */ #ifndef RIFFVIDEO_HPP #define RIFFVIDEO_HPP // ***************************************************************************** // included header files #include "exif.hpp" #include "image.hpp" #include "tags_int.hpp" // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add RIFF to the supported image formats namespace ImageType { const int riff = 20; //!< Treating riff as an image type> } /*! @brief Class to access RIFF video files. */ class EXIV2API RiffVideo:public Image { public: //! @name Creators //@{ /*! @brief Constructor for a Riff video. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. */ RiffVideo(BasicIo::AutoPtr io); //@} //! @name Manipulators //@{ void readMetadata(); void writeMetadata(); //@} //! @name Accessors //@{ std::string mimeType() const; const char* printAudioEncoding(uint64_t i); //@} protected: /*! @brief Check for a valid tag and decode the block at the current IO position. Calls tagDecoder() or skips to next tag, if required. */ void decodeBlock(); /*! @brief Interpret tag information, and call the respective function to save it in the respective XMP container. Decodes a Tag Information and saves it in the respective XMP container, if the block size is small. @param buf Data buffer which cotains tag ID. @param size Size of the data block used to store Tag Information. */ void tagDecoder(Exiv2::DataBuf& buf, unsigned long size); /*! @brief Interpret Junk tag information, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void junkHandler(long size); /*! @brief Interpret Stream tag information, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void streamHandler(long size); /*! @brief Interpret Stream Format tag information, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void streamFormatHandler(long size); /*! @brief Interpret Riff Header tag information, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void aviHeaderTagsHandler(long size); /*! @brief Interpret Riff List tag information, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void listHandler(long size); /*! @brief Interpret Riff Stream Data tag information, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void streamDataTagHandler(long size); /*! @brief Interpret INFO tag information, and save it in the respective XMP container. */ void infoTagsHandler(); /*! @brief Interpret Nikon Tags related to Video information, and save it in the respective XMP container. */ void nikonTagsHandler(); /*! @brief Interpret OpenDML tag information, and save it in the respective XMP container. */ void odmlTagsHandler(); //! @brief Skips Particular Blocks of Metadata List. void skipListData(); /*! @brief Interprets DateTimeOriginal tag or stream name tag information, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. @param i parameter used to overload function */ void dateTimeOriginal(long size, int i = 0); /*! @brief Calculates Sample Rate of a particular stream. @param buf Data buffer with the dividend. @param divisor The Divisor required to calculate sample rate. @return Return the sample rate of the stream. */ double returnSampleRate(Exiv2::DataBuf& buf, long divisor = 1); /*! @brief Calculates Aspect Ratio of a video, and stores it in the respective XMP container. @param width Width of the video. @param height Height of the video. */ void fillAspectRatio(long width = 1,long height = 1); /*! @brief Calculates Duration of a video, and stores it in the respective XMP container. @param frame_rate Frame rate of the video. @param frame_count Total number of frames present in the video. */ void fillDuration(double frame_rate, long frame_count); private: //! @name NOT Implemented //@{ //! Copy constructor RiffVideo(const RiffVideo& rhs); //! Assignment operator RiffVideo& operator=(const RiffVideo& rhs); //@} private: //! Variable to check the end of metadata traversing. bool continueTraversing_; //! Variable which stores current stream being processsed. int streamType_; }; //Class RiffVideo // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new RiffVideo instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newRiffInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a Riff Video. EXIV2API bool isRiffType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // RIFFVIDEO_HPP exiv2-0.25/include/exiv2/pgfimage.hpp0000664000175000017500000001224312521135474017271 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file pgfimage.hpp @brief PGF image, implemented using the following references: PGF specification from libpgf web site
@version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @author Gilles Caulier (cgilles) caulier dot gilles at gmail dot com @date 16-Jun-09, gc: submitted */ #ifndef PGFIMAGE_HPP_ #define PGFIMAGE_HPP_ // ***************************************************************************** // included header files #include "image.hpp" #include "basicio.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add PGF to the supported image formats namespace ImageType { const int pgf = 17; //!< PGF image type (see class PgfImage) } /*! @brief Class to access PGF images. Exif and IPTC metadata are supported directly. */ class EXIV2API PgfImage : public Image { public: //! @name Creators //@{ /*! @brief Constructor that can either open an existing PGF image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @param create Specifies if an existing image should be read (false) or if a new file should be created (true). */ PgfImage(BasicIo::AutoPtr io, bool create); //@} //! @name Manipulators //@{ void readMetadata(); void writeMetadata(); //@} //! @name Accessors //@{ std::string mimeType() const { return "image/pgf"; } //@} private: //! @name NOT implemented //@{ //! Copy constructor PgfImage(const PgfImage& rhs); //! Assignment operator PgfImage& operator=(const PgfImage& rhs); /*! @brief Provides the main implementation of writeMetadata() by writing all buffered metadata to the provided BasicIo. @param oIo BasicIo instance to write to (a temporary location). @return 4 if opening or writing to the associated BasicIo fails */ EXV_DLLLOCAL void doWriteMetadata(BasicIo& oIo); //! Read Magick number. Only version >= 6 is supported. byte readPgfMagicNumber(BasicIo& iIo); //! Read PGF Header size encoded in 32 bits integer. uint32_t readPgfHeaderSize(BasicIo& iIo); //! Read header structure. DataBuf readPgfHeaderStructure(BasicIo& iIo, int* width, int* height); //@} }; // class PgfImage // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new PgfImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newPgfInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a PGF image. EXIV2API bool isPgfType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef PGFIMAGE_HPP_ exiv2-0.25/include/exiv2/datasets.hpp0000664000175000017500000003574612521135474017337 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file datasets.hpp @brief IPTC dataset and type information @version $Rev: 3091 $ @author Brad Schick (brad) @date 24-Jul-04, brad: created */ #ifndef DATASETS_HPP_ #define DATASETS_HPP_ // ***************************************************************************** // included header files #include "types.hpp" #include "metadatum.hpp" // + standard includes #include #include // for std::pair #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions //! Details of an IPTC record. struct EXIV2API RecordInfo { //! Constructor RecordInfo(uint16_t recordId, const char* name, const char* desc); uint16_t recordId_; //!< Record id const char* name_; //!< Record name (one word) const char* desc_; //!< Record description }; //! Details of an IPTC dataset. struct EXIV2API DataSet { //! Constructor DataSet( uint16_t number, const char* name, const char* title, const char* desc, bool mandatory, bool repeatable, uint32_t minbytes, uint32_t maxbytes, TypeId type, uint16_t recordId, const char* photoshop ); uint16_t number_; //!< Dataset number const char* name_; //!< Dataset name const char* title_; //!< Dataset title or label const char* desc_; //!< Dataset description bool mandatory_; //!< True if dataset is mandatory bool repeatable_; //!< True if dataset is repeatable uint32_t minbytes_; //!< Minimum number of bytes uint32_t maxbytes_; //!< Maximum number of bytes TypeId type_; //!< Exiv2 default type uint16_t recordId_; //!< Record id const char* photoshop_; //!< Photoshop string }; // struct DataSet //! IPTC dataset reference, implemented as a static class. class EXIV2API IptcDataSets { public: /*! @name Record identifiers @brief Record identifiers to logically group dataSets. There are other possible record types, but they are not standardized by the IPTC IIM4 standard (and not commonly used in images). */ //@{ static const uint16_t invalidRecord = 0; static const uint16_t envelope = 1; static const uint16_t application2 = 2; //@} //! @name Dataset identifiers //@{ static const uint16_t ModelVersion = 0; static const uint16_t Destination = 5; static const uint16_t FileFormat = 20; static const uint16_t FileVersion = 22; static const uint16_t ServiceId = 30; static const uint16_t EnvelopeNumber = 40; static const uint16_t ProductId = 50; static const uint16_t EnvelopePriority = 60; static const uint16_t DateSent = 70; static const uint16_t TimeSent = 80; static const uint16_t CharacterSet = 90; static const uint16_t UNO = 100; static const uint16_t ARMId = 120; static const uint16_t ARMVersion = 122; static const uint16_t RecordVersion = 0; static const uint16_t ObjectType = 3; static const uint16_t ObjectAttribute = 4; static const uint16_t ObjectName = 5; static const uint16_t EditStatus = 7; static const uint16_t EditorialUpdate = 8; static const uint16_t Urgency = 10; static const uint16_t Subject = 12; static const uint16_t Category = 15; static const uint16_t SuppCategory = 20; static const uint16_t FixtureId = 22; static const uint16_t Keywords = 25; static const uint16_t LocationCode = 26; static const uint16_t LocationName = 27; static const uint16_t ReleaseDate = 30; static const uint16_t ReleaseTime = 35; static const uint16_t ExpirationDate = 37; static const uint16_t ExpirationTime = 38; static const uint16_t SpecialInstructions = 40; static const uint16_t ActionAdvised = 42; static const uint16_t ReferenceService = 45; static const uint16_t ReferenceDate = 47; static const uint16_t ReferenceNumber = 50; static const uint16_t DateCreated = 55; static const uint16_t TimeCreated = 60; static const uint16_t DigitizationDate = 62; static const uint16_t DigitizationTime = 63; static const uint16_t Program = 65; static const uint16_t ProgramVersion = 70; static const uint16_t ObjectCycle = 75; static const uint16_t Byline = 80; static const uint16_t BylineTitle = 85; static const uint16_t City = 90; static const uint16_t SubLocation = 92; static const uint16_t ProvinceState = 95; static const uint16_t CountryCode = 100; static const uint16_t CountryName = 101; static const uint16_t TransmissionReference = 103; static const uint16_t Headline = 105; static const uint16_t Credit = 110; static const uint16_t Source = 115; static const uint16_t Copyright = 116; static const uint16_t Contact = 118; static const uint16_t Caption = 120; static const uint16_t Writer = 122; static const uint16_t RasterizedCaption = 125; static const uint16_t ImageType = 130; static const uint16_t ImageOrientation = 131; static const uint16_t Language = 135; static const uint16_t AudioType = 150; static const uint16_t AudioRate = 151; static const uint16_t AudioResolution = 152; static const uint16_t AudioDuration = 153; static const uint16_t AudioOutcue = 154; static const uint16_t PreviewFormat = 200; static const uint16_t PreviewVersion = 201; static const uint16_t Preview = 202; //@} private: //! Prevent construction: not implemented. IptcDataSets() {} //! Prevent copy-construction: not implemented. IptcDataSets(const IptcDataSets& rhs); //! Prevent assignment: not implemented. IptcDataSets& operator=(const IptcDataSets& rhs); public: /*! @brief Return the name of the dataset. @param number The dataset number @param recordId The IPTC record Id @return The name of the dataset or a string containing the hexadecimal value of the dataset in the form "0x01ff", if this is an unknown dataset. */ static std::string dataSetName(uint16_t number, uint16_t recordId); /*! @brief Return the title (label) of the dataset. @param number The dataset number @param recordId The IPTC record Id @return The title (label) of the dataset */ static const char* dataSetTitle(uint16_t number, uint16_t recordId); /*! @brief Return the description of the dataset. @param number The dataset number @param recordId The IPTC record Id @return The description of the dataset */ static const char* dataSetDesc(uint16_t number, uint16_t recordId); /*! @brief Return the photohsop name of a given dataset. @param number The dataset number @param recordId The IPTC record Id @return The name used by photoshop for a dataset or an empty string if photoshop does not use the dataset. */ static const char* dataSetPsName(uint16_t number, uint16_t recordId); /*! @brief Check if a given dataset is repeatable @param number The dataset number @param recordId The IPTC record Id @return true if the given dataset is repeatable otherwise false */ static bool dataSetRepeatable(uint16_t number, uint16_t recordId); /*! @brief Return the dataSet number for dataset name and record id @param dataSetName dataSet name @param recordId recordId @return dataSet number @throw Error if the \em dataSetName or \em recordId are invalid */ static uint16_t dataSet(const std::string& dataSetName, uint16_t recordId); //! Return the type for dataSet number and Record id static TypeId dataSetType(uint16_t number, uint16_t recordId); /*! @brief Return the name of the Record @param recordId The record id @return The name of the record or a string containing the hexadecimal value of the record in the form "0x01ff", if this is an unknown record. */ static std::string recordName(uint16_t recordId); /*! @brief Return the description of a record @param recordId Record Id number @return the description of the Record */ static const char* recordDesc(uint16_t recordId); /*! @brief Return the Id number of a record @param recordName Name of a record type @return the Id number of a Record @throw Error if the record is not known; */ static uint16_t recordId(const std::string& recordName); //! Return read-only list of built-in Envelope Record datasets static const DataSet* envelopeRecordList(); //! Return read-only list of built-in Application2 Record datasets static const DataSet* application2RecordList(); //! Print a list of all dataSets to output stream static void dataSetList(std::ostream& os); private: static int dataSetIdx(uint16_t number, uint16_t recordId); static int dataSetIdx(const std::string& dataSetName, uint16_t recordId); static const DataSet* records_[]; static const RecordInfo recordInfo_[]; }; // class IptcDataSets /*! @brief Concrete keys for IPTC metadata. */ class EXIV2API IptcKey : public Key { public: //! Shortcut for an %IptcKey auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ /*! @brief Constructor to create an IPTC key from a key string. @param key The key string. @throw Error if the first part of the key is not 'Iptc' or the remaining parts of the key cannot be parsed and converted to a record name and a dataset name. */ explicit IptcKey(const std::string& key); /*! @brief Constructor to create an IPTC key from dataset and record ids. @param tag Dataset id @param record Record id */ IptcKey(uint16_t tag, uint16_t record); //! Copy constructor IptcKey(const IptcKey& rhs); //! Destructor virtual ~IptcKey(); //@} //! @name Manipulators //@{ /*! @brief Assignment operator. */ IptcKey& operator=(const IptcKey& rhs); //@} //! @name Accessors //@{ virtual std::string key() const; virtual const char* familyName() const; /*! @brief Return the name of the group (the second part of the key). For IPTC keys, the group name is the record name. */ virtual std::string groupName() const; virtual std::string tagName() const; virtual std::string tagLabel() const; virtual uint16_t tag() const; AutoPtr clone() const; //! Return the name of the record std::string recordName() const; //! Return the record id uint16_t record() const; //@} protected: //! @name Manipulators //@{ /*! @brief Set the key corresponding to the dataset and record id. The key is of the form 'Iptc.recordName.dataSetName'. */ void makeKey(); /*! @brief Parse and convert the key string into dataset and record id. Updates data members if the string can be decomposed, or throws \em Error. @throw Error if the key cannot be decomposed. */ void decomposeKey(); //@} private: //! Internal virtual copy constructor. EXV_DLLLOCAL virtual IptcKey* clone_() const; // DATA static const char* familyName_; uint16_t tag_; //!< Tag value uint16_t record_; //!< Record value std::string key_; //!< Key }; // class IptcKey // ***************************************************************************** // free functions //! Output operator for dataSet EXIV2API std::ostream& operator<<(std::ostream& os, const DataSet& dataSet); } // namespace Exiv2 #endif // #ifndef DATASETS_HPP_ exiv2-0.25/include/exiv2/types.hpp0000664000175000017500000005174012535324477016673 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file types.hpp @brief Type definitions for %Exiv2 and related functionality @version $Rev: 3090 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 09-Jan-04, ahu: created
11-Feb-04, ahu: isolated as a component
31-Jul-04, brad: added Time, Data and String values */ #ifndef TYPES_HPP_ #define TYPES_HPP_ // included header files #include "config.h" #include "version.hpp" // + standard includes #include #include #include #include #include #include #ifdef EXV_HAVE_STDINT_H # include #elif defined(_MSC_VER) // MSVC (before 2010) doesn't provide C99 types, but it has MS specific variants typedef unsigned __int8 uint8_t; typedef unsigned __int16 uint16_t; typedef unsigned __int32 uint32_t; typedef unsigned __int64 uint64_t; typedef __int8 int8_t; typedef __int16 int16_t; typedef __int32 int32_t; typedef __int64 int64_t; #endif // MSVC macro to convert a string to a wide string #ifdef EXV_UNICODE_PATH # define EXV_WIDEN(t) L ## t #endif /*! @brief Macro to make calls to member functions through a pointer more readable. See the C++ FAQ LITE, item [33.5] How can I avoid syntax errors when calling a member function using a pointer-to-member-function?. */ #define EXV_CALL_MEMBER_FN(object,ptrToMember) ((object).*(ptrToMember)) // Simple min and max macros //! Simple common min macro #define EXV_MIN(a,b) ((a) < (b) ? (a) : (b)) //! Simple common max macro #define EXV_MAX(a,b) ((a) > (b) ? (a) : (b)) // ***************************************************************************** // forward declarations struct tm; // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // type definitions //! 1 byte unsigned integer type. typedef uint8_t byte; //! 8 byte unsigned rational type. typedef std::pair URational; //! 8 byte signed rational type. typedef std::pair Rational; //! Type to express the byte order (little or big endian) enum ByteOrder { invalidByteOrder, littleEndian, bigEndian }; //! Type to indicate write method used by TIFF parsers enum WriteMethod { wmIntrusive, wmNonIntrusive }; //! An identifier for each type of metadata enum MetadataId { mdNone=0, mdExif=1, mdIptc=2, mdComment=4, mdXmp=8 }; //! An identifier for each mode of metadata support enum AccessMode { amNone=0, amRead=1, amWrite=2, amReadWrite=3 }; /*! @brief %Exiv2 value type identifiers. Used primarily as identifiers when creating %Exiv2 Value instances. See Value::create. 0x0000 to 0xffff are reserved for TIFF (Exif) types. */ enum TypeId { unsignedByte = 1, //!< Exif BYTE type, 8-bit unsigned integer. asciiString = 2, //!< Exif ASCII type, 8-bit byte. unsignedShort = 3, //!< Exif SHORT type, 16-bit (2-byte) unsigned integer. unsignedLong = 4, //!< Exif LONG type, 32-bit (4-byte) unsigned integer. unsignedRational = 5, //!< Exif RATIONAL type, two LONGs: numerator and denumerator of a fraction. signedByte = 6, //!< Exif SBYTE type, an 8-bit signed (twos-complement) integer. undefined = 7, //!< Exif UNDEFINED type, an 8-bit byte that may contain anything. signedShort = 8, //!< Exif SSHORT type, a 16-bit (2-byte) signed (twos-complement) integer. signedLong = 9, //!< Exif SLONG type, a 32-bit (4-byte) signed (twos-complement) integer. signedRational =10, //!< Exif SRATIONAL type, two SLONGs: numerator and denumerator of a fraction. tiffFloat =11, //!< TIFF FLOAT type, single precision (4-byte) IEEE format. tiffDouble =12, //!< TIFF DOUBLE type, double precision (8-byte) IEEE format. tiffIfd =13, //!< TIFF IFD type, 32-bit (4-byte) unsigned integer. string =0x10000, //!< IPTC string type. date =0x10001, //!< IPTC date type. time =0x10002, //!< IPTC time type. comment =0x10003, //!< %Exiv2 type for the Exif user comment. directory =0x10004, //!< %Exiv2 type for a CIFF directory. xmpText =0x10005, //!< XMP text type. xmpAlt =0x10006, //!< XMP alternative type. xmpBag =0x10007, //!< XMP bag type. xmpSeq =0x10008, //!< XMP sequence type. langAlt =0x10009, //!< XMP language alternative type. invalidTypeId =0x1fffe, //!< Invalid type id. lastTypeId =0x1ffff //!< Last type id. }; //! Container for binary data typedef std::vector Blob; // ***************************************************************************** // class definitions //! Type information lookup functions. Implemented as a static class. class EXIV2API TypeInfo { //! Prevent construction: not implemented. TypeInfo(); //! Prevent copy-construction: not implemented. TypeInfo(const TypeInfo& rhs); //! Prevent assignment: not implemented. TypeInfo& operator=(const TypeInfo& rhs); public: //! Return the name of the type, 0 if unknown. static const char* typeName(TypeId typeId); //! Return the type id for a type name static TypeId typeId(const std::string& typeName); //! Return the size in bytes of one element of this type static long typeSize(TypeId typeId); }; /*! @brief Auxiliary type to enable copies and assignments, similar to std::auto_ptr_ref. See http://www.josuttis.com/libbook/auto_ptr.html for a discussion. */ struct EXIV2API DataBufRef { //! Constructor DataBufRef(std::pair rhs) : p(rhs) {} //! Pointer to a byte array and its size std::pair p; }; /*! @brief Utility class containing a character array. All it does is to take care of memory allocation and deletion. Its primary use is meant to be as a stack variable in functions that need a temporary data buffer. */ class EXIV2API DataBuf { public: //! @name Creators //@{ //! Default constructor DataBuf() : pData_(0), size_(0) {} //! Constructor with an initial buffer size explicit DataBuf(long size) : pData_(new byte[size]), size_(size) {} //! Constructor, copies an existing buffer DataBuf(const byte* pData, long size); /*! @brief Copy constructor. Transfers the buffer to the newly created object similar to std::auto_ptr, i.e., the original object is modified. */ DataBuf(DataBuf& rhs); //! Destructor, deletes the allocated buffer ~DataBuf() { delete[] pData_; } //@} //! @name Manipulators //@{ /*! @brief Assignment operator. Transfers the buffer and releases the buffer at the original object similar to std::auto_ptr, i.e., the original object is modified. */ DataBuf& operator=(DataBuf& rhs); /*! @brief Allocate a data buffer of at least the given size. Note that if the requested \em size is less than the current buffer size, no new memory is allocated and the buffer size doesn't change. */ void alloc(long size); /*! @brief Release ownership of the buffer to the caller. Returns the buffer as a data pointer and size pair, resets the internal buffer. */ std::pair release(); //! Reset value void reset(std::pair =std::make_pair((byte*)(0),long(0))); //@} /*! @name Conversions Special conversions with auxiliary type to enable copies and assignments, similar to those used for std::auto_ptr. See http://www.josuttis.com/libbook/auto_ptr.html for a discussion. */ //@{ DataBuf(DataBufRef rhs) : pData_(rhs.p.first), size_(rhs.p.second) {} DataBuf& operator=(DataBufRef rhs) { reset(rhs.p); return *this; } operator DataBufRef() { return DataBufRef(release()); } //@} // DATA //! Pointer to the buffer, 0 if none has been allocated byte* pData_; //! The current size of the buffer long size_; }; // class DataBuf // ***************************************************************************** // free functions //! Read a 2 byte unsigned short value from the data buffer EXIV2API uint16_t getUShort(const byte* buf, ByteOrder byteOrder); //! Read a 4 byte unsigned long value from the data buffer EXIV2API uint32_t getULong(const byte* buf, ByteOrder byteOrder); //! Read an 8 byte unsigned rational value from the data buffer EXIV2API URational getURational(const byte* buf, ByteOrder byteOrder); //! Read a 2 byte signed short value from the data buffer EXIV2API int16_t getShort(const byte* buf, ByteOrder byteOrder); //! Read a 4 byte signed long value from the data buffer EXIV2API int32_t getLong(const byte* buf, ByteOrder byteOrder); //! Read an 8 byte signed rational value from the data buffer EXIV2API Rational getRational(const byte* buf, ByteOrder byteOrder); //! Read a 4 byte single precision floating point value (IEEE 754 binary32) from the data buffer EXIV2API float getFloat(const byte* buf, ByteOrder byteOrder); //! Read an 8 byte double precision floating point value (IEEE 754 binary64) from the data buffer EXIV2API double getDouble(const byte* buf, ByteOrder byteOrder); //! Output operator for our fake rational EXIV2API std::ostream& operator<<(std::ostream& os, const Rational& r); //! Input operator for our fake rational EXIV2API std::istream& operator>>(std::istream& is, Rational& r); //! Output operator for our fake unsigned rational EXIV2API std::ostream& operator<<(std::ostream& os, const URational& r); //! Input operator for our fake unsigned rational EXIV2API std::istream& operator>>(std::istream& is, URational& r); /*! @brief Convert an unsigned short to data, write the data to the buffer, return number of bytes written. */ EXIV2API long us2Data(byte* buf, uint16_t s, ByteOrder byteOrder); /*! @brief Convert an unsigned long to data, write the data to the buffer, return number of bytes written. */ EXIV2API long ul2Data(byte* buf, uint32_t l, ByteOrder byteOrder); /*! @brief Convert an unsigned rational to data, write the data to the buffer, return number of bytes written. */ EXIV2API long ur2Data(byte* buf, URational l, ByteOrder byteOrder); /*! @brief Convert a signed short to data, write the data to the buffer, return number of bytes written. */ EXIV2API long s2Data(byte* buf, int16_t s, ByteOrder byteOrder); /*! @brief Convert a signed long to data, write the data to the buffer, return number of bytes written. */ EXIV2API long l2Data(byte* buf, int32_t l, ByteOrder byteOrder); /*! @brief Convert a signed rational to data, write the data to the buffer, return number of bytes written. */ EXIV2API long r2Data(byte* buf, Rational l, ByteOrder byteOrder); /*! @brief Convert a single precision floating point (IEEE 754 binary32) float to data, write the data to the buffer, return number of bytes written. */ EXIV2API long f2Data(byte* buf, float f, ByteOrder byteOrder); /*! @brief Convert a double precision floating point (IEEE 754 binary64) double to data, write the data to the buffer, return number of bytes written. */ EXIV2API long d2Data(byte* buf, double d, ByteOrder byteOrder); /*! @brief Print len bytes from buf in hex and ASCII format to the given stream, prefixed with the position in the buffer adjusted by offset. */ EXIV2API void hexdump(std::ostream& os, const byte* buf, long len, long offset =0); /*! @brief Return true if str is a hex number starting with prefix followed by size hex digits, false otherwise. If size is 0, any number of digits is allowed and all are checked. */ EXIV2API bool isHex(const std::string& str, size_t size =0, const std::string& prefix =""); /*! @brief Converts a string in the form "%Y:%m:%d %H:%M:%S", e.g., "2007:05:24 12:31:55" to broken down time format, returns 0 if successful, else 1. */ EXIV2API int exifTime(const char* buf, struct tm* tm); /*! @brief Translate a string using the gettext framework. This wrapper hides all the implementation details from the interface. */ EXIV2API const char* exvGettext(const char* str); #ifdef EXV_UNICODE_PATH //! Convert an std::string s to a unicode string returned as a std::wstring. EXIV2API std::wstring s2ws(const std::string& s); //! Convert a unicode std::wstring s to an std::string. EXIV2API std::string ws2s(const std::wstring& s); #endif /*! @brief Return a \em long set to the value represented by \em s. Besides strings that represent \em long values, the function also handles \em float, \em Rational and boolean (see also: stringTo(const std::string& s, bool& ok)). @param s String to parse @param ok Output variable indicating the success of the operation. @return Returns the \em long value represented by \em s and sets \em ok to \c true if the conversion was successful or \c false if not. */ EXIV2API long parseLong(const std::string& s, bool& ok); /*! @brief Return a \em float set to the value represented by \em s. Besides strings that represent \em float values, the function also handles \em long, \em Rational and boolean (see also: stringTo(const std::string& s, bool& ok)). @param s String to parse @param ok Output variable indicating the success of the operation. @return Returns the \em float value represented by \em s and sets \em ok to \c true if the conversion was successful or \c false if not. */ EXIV2API float parseFloat(const std::string& s, bool& ok); /*! @brief Return a \em Rational set to the value represented by \em s. Besides strings that represent \em Rational values, the function also handles \em long, \em float and boolean (see also: stringTo(const std::string& s, bool& ok)). Uses floatToRationalCast(float f) if the string can be parsed into a \em float. @param s String to parse @param ok Output variable indicating the success of the operation. @return Returns the \em Rational value represented by \em s and sets \em ok to \c true if the conversion was successful or \c false if not. */ EXIV2API Rational parseRational(const std::string& s, bool& ok); /*! @brief Very simple conversion of a \em float to a \em Rational. Test it with the values that you expect and check the implementation to see if this is really what you want! */ EXIV2API Rational floatToRationalCast(float f); // ***************************************************************************** // template and inline definitions /*! @brief Find an element that matches \em key in the array \em src. Designed to be used with lookup tables as shown in the example below. Requires a %Key structure (ideally in the array) and a comparison operator to compare a key with an array element. The size of the array is determined automagically. Thanks to Stephan Broennimann for this nifty implementation. @code struct Bar { int i; int k; const char* data; struct Key; bool operator==(const Bar::Key& rhs) const; }; struct Bar::Key { Key(int a, int b) : i(a), k(b) {} int i; int k; }; bool Bar::operator==(const Bar::Key& key) const // definition { return i == key.i && k == key.k; } const Bar bars[] = { { 1, 1, "bar data 1" }, { 1, 2, "bar data 2" }, { 1, 3, "bar data 3" } }; int main ( void ) { const Bar* bar = find(bars, Bar::Key(1, 3)); if (bar) std::cout << bar->data << "\n"; else std::cout << "Key not found.\n"; return 0; } @endcode */ template const T* find(T (&src)[N], const K& key) { const T* rc = std::find(src, src + N, key); return rc == src + N ? 0 : rc; } //! Template used in the COUNTOF macro to determine the size of an array template char (&sizer(T (&)[N]))[N]; //! Macro to determine the size of an array #define EXV_COUNTOF(a) (sizeof(Exiv2::sizer(a))) //! Utility function to convert the argument of any type to a string template std::string toString(const T& arg) { std::ostringstream os; os << arg; return os.str(); } /*! @brief Utility function to convert a string to a value of type \c T. The string representation of the value must match that recognized by the input operator for \c T for this function to succeed. @param s String to convert @param ok Output variable indicating the success of the operation. @return Returns the converted value and sets \em ok to \c true if the conversion was successful or \c false if not. */ template T stringTo(const std::string& s, bool& ok) { std::istringstream is(s); T tmp; ok = is >> tmp ? true : false; std::string rest; is >> std::skipws >> rest; if (!rest.empty()) ok = false; return tmp; } /*! @brief Specialization of stringTo(const std::string& s, bool& ok) for \em bool. Handles the same string values as the XMP SDK. Converts the string to lowercase and returns \c true if it is "true", "t" or "1", and \c false if it is "false", "f" or "0". */ template<> bool stringTo(const std::string& s, bool& ok); /*! @brief Return the greatest common denominator of n and m. (Implementation from Boost rational.hpp) @note We use n and m as temporaries in this function, so there is no value in using const IntType& as we would only need to make a copy anyway... */ template IntType gcd(IntType n, IntType m) { // Avoid repeated construction IntType zero(0); // This is abs() - given the existence of broken compilers with Koenig // lookup issues and other problems, I code this explicitly. (Remember, // IntType may be a user-defined type). #ifdef _MSC_VER #pragma warning( disable : 4146 ) #endif if (n < zero) n = -n; if (m < zero) m = -m; #ifdef _MSC_VER #pragma warning( default : 4146 ) #endif // As n and m are now positive, we can be sure that %= returns a // positive value (the standard guarantees this for built-in types, // and we require it of user-defined types). for(;;) { if(m == zero) return n; n %= m; if(n == zero) return m; m %= n; } } } // namespace Exiv2 #endif // #ifndef TYPES_HPP_ exiv2-0.25/include/exiv2/quicktimevideo.hpp0000664000175000017500000002276612521135474020547 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file quicktimevideo.hpp @brief An Image subclass to support Quick Time video files @version $Rev$ @author Abhinav Badola for GSoC 2012 mail.abu.to@gmail.com @date 28-Jun-12, AB: created */ #ifndef QUICKTIMEVIDEO_HPP #define QUICKTIMEVIDEO_HPP // ***************************************************************************** // included header files #include "exif.hpp" #include "image.hpp" #include "tags_int.hpp" // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add qtime to the supported image formats namespace ImageType { const int qtime = 22; //!< Treating qtime as an image type> } /*! @brief Class to access QuickTime video files. */ class EXIV2API QuickTimeVideo:public Image { public: //! @name Creators //@{ /*! @brief Constructor for a QuickTime video. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. */ QuickTimeVideo(BasicIo::AutoPtr io); //@} //! @name Manipulators //@{ void readMetadata(); void writeMetadata(); //@} //! @name Accessors //@{ std::string mimeType() const; //@} protected: /*! @brief Check for a valid tag and decode the block at the current IO position. Calls tagDecoder() or skips to next tag, if required. */ void decodeBlock(); /*! @brief Interpret tag information, and call the respective function to save it in the respective XMP container. Decodes a Tag Information and saves it in the respective XMP container, if the block size is small. @param buf Data buffer which cotains tag ID. @param size Size of the data block used to store Tag Information. */ void tagDecoder(Exiv2::DataBuf & buf, unsigned long size); private: /*! @brief Interpret file type of the video, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void fileTypeDecoder(unsigned long size); /*! @brief Interpret Media Header Tag, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void mediaHeaderDecoder(unsigned long size); /*! @brief Interpret Video Header Tag, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void videoHeaderDecoder(unsigned long size); /*! @brief Interpret Movie Header Tag, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void movieHeaderDecoder(unsigned long size); /*! @brief Interpret Track Header Tag, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void trackHeaderDecoder(unsigned long size); /*! @brief Interpret Handler Tag, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void handlerDecoder(unsigned long size); /*! @brief Interpret Tag which contain other sub-tags, and save it in the respective XMP container. */ void multipleEntriesDecoder(); /*! @brief Interpret Sample Description Tag, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void sampleDesc(unsigned long size); /*! @brief Interpret Image Description Tag, and save it in the respective XMP container. */ void imageDescDecoder(); /*! @brief Interpret User Data Tag, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void userDataDecoder(unsigned long size); /*! @brief Interpret Preview Tag, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void previewTagDecoder(unsigned long size); /*! @brief Interpret Meta Keys Tags, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void keysTagDecoder(unsigned long size); /*! @brief Interpret Track Aperture Tags, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void trackApertureTagDecoder(unsigned long size); /*! @brief Interpret Nikon Tag, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void NikonTagsDecoder(unsigned long size); /*! @brief Interpret Tags from Different Camera make, and save it in the respective XMP container. @param size Size of the data block used to store Tag Information. */ void CameraTagsDecoder(unsigned long size); /*! @brief Interpret Audio Description Tag, and save it in the respective XMP container. */ void audioDescDecoder(); /*! @brief Helps to calculate Frame Rate from timeToSample chunk, and save it in the respective XMP container. */ void timeToSampleDecoder(); /*! @brief Recognizes which stream is currently under processing, and save its information in currentStream_ . */ void setMediaStream(); /*! @brief Used to discard a tag along with its data. The Tag will be skipped and not decoded. @param size Size of the data block that is to skipped. */ void discard(unsigned long size); /*! @brief Calculates Aspect Ratio of a video, and stores it in the respective XMP container. */ void aspectRatio(); private: //! @name NOT Implemented //@{ //! Copy constructor QuickTimeVideo(const QuickTimeVideo& rhs); //! Assignment operator QuickTimeVideo& operator=(const QuickTimeVideo& rhs); //@} private: //! Variable which stores Time Scale unit, used to calculate time. uint64_t timeScale_; //! Variable which stores current stream being processsed. int currentStream_; //! Variable to check the end of metadata traversing. bool continueTraversing_; //! Variable to store height and width of a video frame. uint64_t height_, width_; }; //QuickTimeVideo End // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new QuicktimeVideo instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newQTimeInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a Quick Time Video. EXIV2API bool isQTimeType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // QUICKTIMEVIDEO_HPP exiv2-0.25/include/exiv2/gifimage.hpp0000664000175000017500000001142212521135474017260 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file gifimage.hpp @brief GIF image, implemented using the following references: GIF89 specification by W3C
@version $Rev: 3091 $ @author Marco Piovanelli, Ovolab (marco) marco.piovanelli@pobox.com @date 26-Feb-2007, marco: created */ #ifndef GIFIMAGE_HPP_ #define GIFIMAGE_HPP_ // ***************************************************************************** // included header files #include "exif.hpp" #include "iptc.hpp" #include "image.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add GIF to the supported image formats namespace ImageType { const int gif = 11; //!< GIF image type (see class GifImage) } /*! @brief Class to access raw GIF images. Exif/IPTC metadata are supported directly. */ class EXIV2API GifImage : public Image { //! @name NOT Implemented //@{ //! Copy constructor GifImage(const GifImage& rhs); //! Assignment operator GifImage& operator=(const GifImage& rhs); //@} public: //! @name Creators //@{ /*! @brief Constructor to open a GIF image. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. */ GifImage(BasicIo::AutoPtr io); //@} //! @name Manipulators //@{ void readMetadata(); /*! @brief Todo: Write metadata back to the image. This method is not yet(?) implemented. Calling it will throw an Error(31). */ void writeMetadata(); /*! @brief Todo: Not supported yet(?). Calling this function will throw an instance of Error(32). */ void setExifData(const ExifData& exifData); /*! @brief Todo: Not supported yet(?). Calling this function will throw an instance of Error(32). */ void setIptcData(const IptcData& iptcData); /*! @brief Not supported. Calling this function will throw an instance of Error(32). */ void setComment(const std::string& comment); //@} //! @name Accessors //@{ std::string mimeType() const; //@} }; // class GifImage // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new GifImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newGifInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a GIF image. EXIV2API bool isGifType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef GIFIMAGE_HPP_ exiv2-0.25/include/exiv2/utilsvideo.hpp0000664000175000017500000000300412521135474017674 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file utilsvideo.hpp @brief An Image subclass to support RIFF video files @version $Rev$ Mahesh Hegde 2014 maheshmhegade@gmail.com @date 16-Aug-14, AB: created */ #include "tags_int.hpp" namespace Exiv2 { class UtilsVideo { public: static bool compareTagValue(Exiv2::DataBuf &buf, const char *str); static bool compareTagValue(Exiv2::DataBuf& buf,const char arr[][5],int32_t arraysize); static bool simpleBytesComparison(Exiv2::DataBuf& buf ,const char* str,int32_t size); }; // class UtilsVideo } // namespace Exiv2 exiv2-0.25/include/exiv2/exv_msvc.h0000664000175000017500000001020112537570005016774 0ustar andreasandreas/* ***************************************************************** -*- C -*- */ /*! @file exv_msvc.h @brief Configuration settings for MSVC @version $Rev: 2320 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 07-Feb-04, ahu: created */ #ifdef _MSC_VER #ifndef _EXV_MSVC_H_ #define _EXV_MSVC_H_ #if _MSC_VER >= 1600 // stdint.h was introduced with DevStudio 2010 #define EXV_HAVE_STDINT_H 1 #endif #if _MSC_VER >= 1900 #define MSDEV_2014 1 #elif _MSC_VER >= 1800 #define MSDEV_2013 1 #elif _MSC_VER >= 1700 #define MSDEV_2012 1 #elif _MSC_VER >= 1600 #define MSDEV_2010 1 #elif _MSC_VER >= 1500 #define MSDEV_2008 1 #elif _MSC_VER >= 1400 #define MSDEV_2005 1 #else #define MSDEV_2003 1 #endif #if MSDEV_2012 #define HAVE_NTOHLL 1 #endif /* Define to 1 if you have the header file. */ // #define EXV_HAVE_REGEX 1 /* Define to 1 if you have the header file. */ #define EXV_HAVE_PROCESS_H 1 /* Define to the address where bug reports for this package should be sent. */ #define EXV_PACKAGE_BUGREPORT "ahuggel@gmx.net" /* Define to the full name of this package. */ #define EXV_PACKAGE_NAME "exiv2" /* Define to the full name and version of this package. */ #define EXV_PACKAGE_STRING "exiv2 0.25" /* Define to the one symbol short name of this package. */ #define EXV_PACKAGE_TARNAME "exiv2" /* Define to the version of this package. */ #define EXV_PACKAGE_VERSION "0.25" /* Define to `int' if does not define pid_t. */ typedef int pid_t; #ifndef EXV_COMMERCIAL_VERSION /* Define to 1 to enable translation of Nikon lens names. */ # define EXV_HAVE_LENSDATA 1 /* Define to 1 if translation of program messages to the user's native language is requested. */ # undef EXV_ENABLE_NLS #endif /* !EXV_COMMERCIAL_VERSION */ /* Define to 1 if you have the `iconv' function. */ # undef EXV_HAVE_ICONV #ifdef EXV_HAVE_ICONV #define EXV_ICONV_CONST const #endif /* Define as 1 if you have the `zlib' library. (0 to omit zlib) [png support] */ #define HAVE_LIBZ 1 #if HAVE_LIBZ #define EXV_HAVE_LIBZ // assist VC7.1 to compile vsnprintf #if (_MSC_VER < 1400) && !defined(vsnprintf) #define vsnprintf _vsnprintf #endif #endif /* Define to 1 if you have the Adobe XMP Toolkit. */ #define EXV_HAVE_XMP_TOOLKIT 1 /* Define to 1 to build video support into the library */ #undef EXV_ENABLE_VIDEO /* Define to 1 to build webready support into the library */ #undef EXV_ENABLE_WEBREADY /* Define as 1 if you want to use curl to perform http I/O */ #ifndef EXV_USE_CURL #define EXV_USE_CURL 0 #endif /* Define as 1 if you want to use libssh (for ssh:// and sftp:// support */ #ifndef EXV_USE_SSH #define EXV_USE_SSH 0 #endif /* Help out our buddy curl */ #ifndef EXV_HAVE_DLL #define CURL_STATICLIB #endif #pragma comment(lib, "ws2_32.lib") #pragma comment(lib, "wldap32.lib") /* File path separator */ #define EXV_SEPARATOR_STR "\\" #define EXV_SEPARATOR_CHR '\\' /* Windows unicode path support */ // #define EXV_UNICODE_PATH /* Define to 1 if you have the `mmap' function. */ /* #undef EXV_HAVE_MMAP */ /* Define to 1 if you have the `munmap' function. */ /* #undef EXV_HAVE_MUNMAP */ /* Shared library support */ #ifdef EXV_HAVE_DLL #define EXV_IMPORT __declspec(dllimport) #define EXV_EXPORT __declspec(dllexport) #define EXV_DLLLOCAL #define EXV_DLLPUBLIC #else #define EXV_IMPORT #define EXV_EXPORT #define EXV_DLLLOCAL #define EXV_DLLPUBLIC #define EXIV2API #endif /* Define EXIV2API for DLL builds */ #ifdef EXV_HAVE_DLL # ifdef EXV_BUILDING_LIB # define EXIV2API EXV_EXPORT # else # define EXIV2API EXV_IMPORT # endif /* ! EXV_BUILDING_LIB */ #else # define EXIV2API #endif /* ! EXV_HAVE_DLL */ /* Disable warning 4251. This is warning from std templates about exporting interfaces */ #ifdef EXV_HAVE_DLL #pragma warning( disable : 4251 ) #endif /* Visual Studio C++ 2005 (8.0) Disable warnings about 'deprecated' standard functions See, eg. http://www.informit.com/guides/content.asp?g=cplusplus&seqNum=259 */ #if _MSC_VER >= 1400 # pragma warning(disable : 4996) #endif #endif /* _EXV_MSVC_H_ */ #endif /* _MSC_VER */ exiv2-0.25/include/exiv2/tiffimage.hpp0000664000175000017500000002203212523623336017443 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file tiffimage.hpp @brief Class TiffImage @version $Rev: 3090 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 15-Mar-06, ahu: created */ #ifndef TIFFIMAGE_HPP_ #define TIFFIMAGE_HPP_ // ***************************************************************************** // included header files #include "image.hpp" #include "basicio.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add TIFF to the supported image formats namespace ImageType { const int tiff = 4; //!< TIFF image type (see class TiffImage) const int dng = 4; //!< DNG image type (see class TiffImage) const int nef = 4; //!< NEF image type (see class TiffImage) const int pef = 4; //!< PEF image type (see class TiffImage) const int arw = 4; //!< ARW image type (see class TiffImage) const int sr2 = 4; //!< SR2 image type (see class TiffImage) const int srw = 4; //!< SRW image type (see class TiffImage) } /*! @brief Class to access TIFF images. Exif metadata is supported directly, IPTC is read from the Exif data, if present. */ class EXIV2API TiffImage : public Image { public: //! @name Creators //@{ /*! @brief Constructor that can either open an existing TIFF image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @param create Specifies if an existing image should be read (false) or if a new file should be created (true). */ TiffImage(BasicIo::AutoPtr io, bool create); //@} //! @name Manipulators //@{ void readMetadata(); void writeMetadata(); /*! @brief Print out the structure of image file. @throw Error if reading of the file fails or the image data is not valid (does not look like data of the specific image type). @caution This function is not thread safe and intended for exiv2 -pS for debugging. */ void printStructure(std::ostream& out, PrintStructureOption option); /*! @brief Not supported. TIFF format does not contain a comment. Calling this function will throw an Error(32). */ void setComment(const std::string& comment); //@} //! @name Accessors //@{ std::string mimeType() const; int pixelWidth() const; int pixelHeight() const; //@} private: //! @name NOT Implemented //@{ //! Copy constructor TiffImage(const TiffImage& rhs); //! Assignment operator TiffImage& operator=(const TiffImage& rhs); //@} //! @name Accessors //@{ //! Return the group name of the group with the primary image. std::string primaryGroup() const; //@} private: // DATA mutable std::string primaryGroup_; //!< The primary group mutable std::string mimeType_; //!< The MIME type mutable int pixelWidth_; //!< Width of the primary image in pixels mutable int pixelHeight_; //!< Height of the primary image in pixels }; // class TiffImage /*! @brief Stateless parser class for data in TIFF format. Images use this class to decode and encode TIFF data. It is a wrapper of the internal class Internal::TiffParserWorker. */ class EXIV2API TiffParser { public: /*! @brief Decode metadata from a buffer \em pData of length \em size with data in TIFF format to the provided metadata containers. @param exifData Exif metadata container. @param iptcData IPTC metadata container. @param xmpData XMP metadata container. @param pData Pointer to the data buffer. Must point to data in TIFF format; no checks are performed. @param size Length of the data buffer. @return Byte order in which the data is encoded. */ static ByteOrder decode( ExifData& exifData, IptcData& iptcData, XmpData& xmpData, const byte* pData, uint32_t size ); /*! @brief Encode metadata from the provided metadata to TIFF format. The original binary image in the memory block \em pData, \em size is parsed and updated in-place if possible ("non-intrusive" writing). If that is not possible (e.g., if new tags were added), the entire TIFF structure is re-written to the \em io instance ("intrusive" writing).
The return value indicates which write method was used. If it is \c wmNonIntrusive, the original memory \em pData, \em size contains the result and nothing is written to \em io. If the return value is \c wmIntrusive, a new TIFF structure was created and written to \em io. The memory block \em pData, \em size may be partly updated in this case and should not be used anymore. @note If there is no metadata to encode, i.e., all metadata containers are empty, then the return value is \c wmIntrusive and nothing is written to \em io, i.e., no TIFF header is written. @param io IO instance to write the binary image to in case of "intrusive" writing. Nothing is written to \em io in the case of "non-intrusive" writing. @param pData Pointer to the binary image data buffer. Must point to data in TIFF format; no checks are performed. Will be modified if "non-intrusive" writing is possible. @param size Length of the data buffer. @param byteOrder Byte order to use. @param exifData Exif metadata container. @param iptcData IPTC metadata container. @param xmpData XMP metadata container. @return Write method used. */ static WriteMethod encode( BasicIo& io, const byte* pData, uint32_t size, ByteOrder byteOrder, const ExifData& exifData, const IptcData& iptcData, const XmpData& xmpData ); }; // class TiffParser // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new TiffImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newTiffInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a TIFF image. EXIV2API bool isTiffType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef TIFFIMAGE_HPP_ exiv2-0.25/include/exiv2/properties.hpp0000664000175000017500000002725412521135474017716 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file properties.hpp @brief XMP property and type information.
References:
XMP Specification from Adobe (Property descriptions copied from the XMP specification with the permission of Adobe) @version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @author Gilles Caulier (cgilles) caulier dot gilles at gmail dot com @date 13-Jul-07, ahu: created */ #ifndef PROPERTIES_HPP_ #define PROPERTIES_HPP_ // ***************************************************************************** // included header files #include "types.hpp" #include "metadatum.hpp" #include "tags.hpp" // + standard includes #include #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class declarations class XmpKey; // ***************************************************************************** // class definitions //! Category of an XMP property enum XmpCategory { xmpInternal, xmpExternal }; //! Information about one XMP property. struct EXIV2API XmpPropertyInfo { //! Comparison operator for name bool operator==(const std::string& name) const; const char* name_; //!< Property name const char* title_; //!< Property title or label const char* xmpValueType_; //!< XMP value type (for info only) TypeId typeId_; //!< Exiv2 default type for the property XmpCategory xmpCategory_; //!< Category (internal or external) const char* desc_; //!< Property description }; //! Structure mapping XMP namespaces and (preferred) prefixes. struct EXIV2API XmpNsInfo { //! For comparison with prefix struct Prefix { //! Constructor. Prefix(const std::string& prefix); //! The prefix string. std::string prefix_; }; //! For comparison with namespace struct Ns { //! Constructor. Ns(const std::string& ns); //! The namespace string std::string ns_; }; //! Comparison operator for namespace bool operator==(const Ns& ns) const; //! Comparison operator for prefix bool operator==(const Prefix& prefix) const; const char* ns_; //!< Namespace const char* prefix_; //!< (Preferred) prefix const XmpPropertyInfo* xmpPropertyInfo_; //!< List of known properties const char* desc_; //!< Brief description of the namespace }; //! XMP property reference, implemented as a static class. class EXIV2API XmpProperties { //! Prevent construction: not implemented. XmpProperties(); //! Prevent copy-construction: not implemented. XmpProperties(const XmpProperties& rhs); //! Prevent assignment: not implemented. XmpProperties& operator=(const XmpProperties& rhs); public: /*! @brief Return the title (label) of the property. @param key The property key @return The title (label) of the property, 0 if the key is of an unknown property. */ static const char* propertyTitle(const XmpKey& key); /*! @brief Return the description of the property. @param key The property key @return The description of the property, 0 if the key is of an unknown property. */ static const char* propertyDesc(const XmpKey& key); /*! @brief Return the type for property \em key. The default for unknown keys is xmpText. @param key The property key @return The type of the property */ static TypeId propertyType(const XmpKey& key); /*! @brief Return information for the property for key. If the key is a path to a nested property (one which contains a slash, like \c Xmp.MP.RegionInfo/MPRI:Regions), determines the innermost element (\c Xmp.MPRI.Regions) and returns its property information. @param key The property key @return A pointer to the property information, 0 if the key is of an unknown property. */ static const XmpPropertyInfo* propertyInfo(const XmpKey& key); /*! @brief Return the namespace name for the schema associated with \em prefix. @param prefix Prefix @return The namespace name @throw Error if no namespace is registered with \em prefix. */ static std::string ns(const std::string& prefix); /*! @brief Return the namespace description for the schema associated with \em prefix. @param prefix Prefix @return The namespace description @throw Error if no namespace is registered with \em prefix. */ static const char* nsDesc(const std::string& prefix); /*! @brief Return read-only list of built-in properties for \em prefix. @param prefix Prefix @return Pointer to the built-in properties for prefix, may be 0 if none is configured in the namespace info. @throw Error if no namespace is registered with \em prefix. */ static const XmpPropertyInfo* propertyList(const std::string& prefix); /*! @brief Return information about a schema namespace for \em prefix. Always returns a valid pointer. @param prefix The prefix @return A pointer to the related information @throw Error if no namespace is registered with \em prefix. */ static const XmpNsInfo* nsInfo(const std::string& prefix); /*! @brief Return the (preferred) prefix for schema namespace \em ns. @param ns Schema namespace @return The prefix or an empty string if namespace \em ns is not registered. */ static std::string prefix(const std::string& ns); //! Print a list of properties of a schema namespace to output stream \em os. static void printProperties(std::ostream& os, const std::string& prefix); //! Interpret and print the value of an XMP property static std::ostream& printProperty(std::ostream& os, const std::string& key, const Value& value); /*! @brief Register namespace \em ns with preferred prefix \em prefix. If the prefix is a known or previously registered prefix, the corresponding namespace URI is overwritten. @note This invalidates XMP keys generated with the previous prefix. */ static void registerNs(const std::string& ns, const std::string& prefix); /*! @brief Unregister a custom namespace \em ns. The function only has an effect if there is a namespace \em ns registered earlier, it does not unregister built-in namespaces. @note This invalidates XMP keys generated in this namespace. */ static void unregisterNs(const std::string& ns); /*! @brief Unregister all custom namespaces. The function only unregisters namespaces registered earlier, it does not unregister built-in namespaces. @note This invalidates XMP keys generated in any custom namespace. */ static void unregisterNs(); //! Type for the namespace registry typedef std::map NsRegistry; /*! @brief Get the registered namespace for a specific \em prefix from the registry. */ static const XmpNsInfo* lookupNsRegistry(const XmpNsInfo::Prefix& prefix); // DATA static NsRegistry nsRegistry_; //!< Namespace registry }; // class XmpProperties /*! @brief Concrete keys for XMP metadata. */ class EXIV2API XmpKey : public Key { public: //! Shortcut for an %XmpKey auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ /*! @brief Constructor to create an XMP key from a key string. @param key The key string. @throw Error if the first part of the key is not 'Xmp' or the second part of the key cannot be parsed and converted to a known (i.e., built-in or registered) schema prefix. */ explicit XmpKey(const std::string& key); /*! @brief Constructor to create an XMP key from a schema prefix and a property name. @param prefix Schema prefix name @param property Property name @throw Error if the schema prefix is not known. */ XmpKey(const std::string& prefix, const std::string& property); //! Copy constructor. XmpKey(const XmpKey& rhs); //! Virtual destructor. virtual ~XmpKey(); //@} //! @name Manipulators //@{ //! Assignment operator. XmpKey& operator=(const XmpKey& rhs); //@} //! @name Accessors //@{ virtual std::string key() const; virtual const char* familyName() const; /*! @brief Return the name of the group (the second part of the key). For XMP keys, the group name is the schema prefix name. */ virtual std::string groupName() const; virtual std::string tagName() const; virtual std::string tagLabel() const; //! Properties don't have a tag number. Return 0. virtual uint16_t tag() const; AutoPtr clone() const; // Todo: Should this be removed? What about tagLabel then? //! Return the schema namespace for the prefix of the key std::string ns() const; //@} private: //! Internal virtual copy constructor. EXV_DLLLOCAL virtual XmpKey* clone_() const; private: // Pimpl idiom struct Impl; Impl* p_; }; // class XmpKey // ***************************************************************************** // free functions //! Output operator for property info EXIV2API std::ostream& operator<<(std::ostream& os, const XmpPropertyInfo& propertyInfo); } // namespace Exiv2 #endif // #ifndef PROPERTIES_HPP_ exiv2-0.25/include/exiv2/exif.hpp0000664000175000017500000006076112521135474016455 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file exif.hpp @brief Encoding and decoding of Exif data @version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 09-Jan-04, ahu: created */ #ifndef EXIF_HPP_ #define EXIF_HPP_ // ***************************************************************************** // included header files #include "metadatum.hpp" #include "tags.hpp" #include "value.hpp" #include "types.hpp" // + standard includes #include #include #include // ***************************************************************************** // namespace extensions /*! @brief Provides classes and functions to encode and decode Exif and Iptc data. The libexiv2 API consists of the objects of this namespace. */ namespace Exiv2 { // ***************************************************************************** // class declarations class ExifData; // ***************************************************************************** // class definitions /*! @brief An Exif metadatum, consisting of an ExifKey and a Value and methods to manipulate these. */ class EXIV2API Exifdatum : public Metadatum { template friend Exifdatum& setValue(Exifdatum&, const T&); public: //! @name Creators //@{ /*! @brief Constructor for new tags created by an application. The %Exifdatum is created from a \em key / value pair. %Exifdatum copies (clones) the \em key and value if one is provided. Alternatively, a program can create an 'empty' %Exifdatum with only a key and set the value using setValue(). @param key %ExifKey. @param pValue Pointer to an %Exifdatum value. @throw Error if the key cannot be parsed and converted. */ explicit Exifdatum(const ExifKey& key, const Value* pValue =0); //! Copy constructor Exifdatum(const Exifdatum& rhs); //! Destructor virtual ~Exifdatum(); //@} //! @name Manipulators //@{ //! Assignment operator Exifdatum& operator=(const Exifdatum& rhs); /*! @brief Assign \em value to the %Exifdatum. The type of the new Value is set to UShortValue. */ Exifdatum& operator=(const uint16_t& value); /*! @brief Assign \em value to the %Exifdatum. The type of the new Value is set to ULongValue. */ Exifdatum& operator=(const uint32_t& value); /*! @brief Assign \em value to the %Exifdatum. The type of the new Value is set to URationalValue. */ Exifdatum& operator=(const URational& value); /*! @brief Assign \em value to the %Exifdatum. The type of the new Value is set to ShortValue. */ Exifdatum& operator=(const int16_t& value); /*! @brief Assign \em value to the %Exifdatum. The type of the new Value is set to LongValue. */ Exifdatum& operator=(const int32_t& value); /*! @brief Assign \em value to the %Exifdatum. The type of the new Value is set to RationalValue. */ Exifdatum& operator=(const Rational& value); /*! @brief Assign \em value to the %Exifdatum. Calls setValue(const std::string&). */ Exifdatum& operator=(const std::string& value); /*! @brief Assign \em value to the %Exifdatum. Calls setValue(const Value*). */ Exifdatum& operator=(const Value& value); void setValue(const Value* pValue); /*! @brief Set the value to the string \em value. Uses Value::read(const std::string&). If the %Exifdatum does not have a Value yet, then a %Value of the correct type for this %Exifdatum is created. An AsciiValue is created for unknown tags. Return 0 if the value was read successfully. */ int setValue(const std::string& value); /*! @brief Set the data area by copying (cloning) the buffer pointed to by \em buf. Values may have a data area, which can contain additional information besides the actual value. This method is used to set such a data area. @param buf Pointer to the source data area @param len Size of the data area @return Return -1 if the %Exifdatum does not have a value yet or the value has no data area, else 0. */ int setDataArea(const byte* buf, long len); //@} //! @name Accessors //@{ //! Return the key of the %Exifdatum. std::string key() const; const char* familyName() const; std::string groupName() const; std::string tagName() const; std::string tagLabel() const; uint16_t tag() const; //! Return the IFD id as an integer. (Do not use, this is meant for library internal use.) int ifdId() const; //! Return the name of the IFD const char* ifdName() const; //! Return the index (unique id of this key within the original IFD) int idx() const; /*! @brief Write value to a data buffer and return the number of bytes written. The user must ensure that the buffer has enough memory. Otherwise the call results in undefined behaviour. @param buf Data buffer to write to. @param byteOrder Applicable byte order (little or big endian). @return Number of characters written. */ long copy(byte* buf, ByteOrder byteOrder) const; std::ostream& write(std::ostream& os, const ExifData* pMetadata =0) const; //! Return the type id of the value TypeId typeId() const; //! Return the name of the type const char* typeName() const; //! Return the size in bytes of one component of this type long typeSize() const; //! Return the number of components in the value long count() const; //! Return the size of the value in bytes long size() const; //! Return the value as a string. std::string toString() const; std::string toString(long n) const; long toLong(long n =0) const; float toFloat(long n =0) const; Rational toRational(long n =0) const; Value::AutoPtr getValue() const; const Value& value() const; //! Return the size of the data area. long sizeDataArea() const; /*! @brief Return a copy of the data area of the value. The caller owns this copy and %DataBuf ensures that it will be deleted. Values may have a data area, which can contain additional information besides the actual value. This method is used to access such a data area. @return A %DataBuf containing a copy of the data area or an empty %DataBuf if the value does not have a data area assigned or the value is not set. */ DataBuf dataArea() const; //@} private: // DATA ExifKey::AutoPtr key_; //!< Key Value::AutoPtr value_; //!< Value }; // class Exifdatum /*! @brief Access to a Exif %thumbnail image. This class provides higher level accessors to the thumbnail image that is optionally embedded in IFD1 of the Exif data. These methods do not write to the Exif metadata. Manipulators are provided in subclass ExifThumb. @note Various other preview and thumbnail images may be contained in an image, depending on its format and the camera make and model. This class only provides access to the Exif thumbnail as specified in the Exif standard. */ class EXIV2API ExifThumbC { public: //! @name Creators //@{ //! Constructor. ExifThumbC(const ExifData& exifData); //@} //! @name Accessors //@{ /*! @brief Return the thumbnail image in a %DataBuf. The caller owns the data buffer and %DataBuf ensures that it will be deleted. */ DataBuf copy() const; /*! @brief Write the thumbnail image to a file. A filename extension is appended to \em path according to the image type of the thumbnail, so \em path should not include an extension. The function will overwrite an existing file of the same name. @param path File name of the thumbnail without extension. @return The number of bytes written. */ long writeFile(const std::string& path) const; #ifdef EXV_UNICODE_PATH /*! @brief Like writeFile() but accepts a unicode path in an std::wstring. @note This function is only available on Windows. */ long writeFile(const std::wstring& wpath) const; #endif /*! @brief Return the MIME type of the thumbnail, either \c "image/tiff" or \c "image/jpeg". */ const char* mimeType() const; /*! @brief Return the file extension for the format of the thumbnail (".tif" or ".jpg"). */ const char* extension() const; #ifdef EXV_UNICODE_PATH /*! @brief Like extension() but returns the extension in a wchar_t. @note This function is only available on Windows. */ const wchar_t* wextension() const; #endif //@} private: // DATA const ExifData& exifData_; //!< Const reference to the Exif metadata. }; // class ExifThumb /*! @brief Access and modify an Exif %thumbnail image. This class implements manipulators to set and erase the thumbnail image that is optionally embedded in IFD1 of the Exif data. Accessors are provided by the base class, ExifThumbC. @note Various other preview and thumbnail images may be contained in an image, depending on its format and the camera make and model. This class only provides access to the Exif thumbnail as specified in the Exif standard. */ class EXIV2API ExifThumb : public ExifThumbC { public: //! @name Creators //@{ //! Constructor. ExifThumb(ExifData& exifData); //@} //! @name Manipulators //@{ /*! @brief Set the Exif thumbnail to the JPEG image \em path. Set XResolution, YResolution and ResolutionUnit to \em xres, \em yres and \em unit, respectively. This results in the minimal thumbnail tags being set for a JPEG thumbnail, as mandated by the Exif standard. @throw Error if reading the file fails. @note No checks on the file format or size are performed. @note Additional existing Exif thumbnail tags are not modified. @note The JPEG image inserted as thumbnail image should not itself contain Exif data (or other metadata), as existing applications may have problems with that. (The preview application that comes with OS X for one.) - David Harvey. */ void setJpegThumbnail( const std::string& path, URational xres, URational yres, uint16_t unit ); #ifdef EXV_UNICODE_PATH /*! @brief Like setJpegThumbnail() but accepts a unicode path in an std::wstring. @note This function is only available on Windows. */ void setJpegThumbnail( const std::wstring& wpath, URational xres, URational yres, uint16_t unit ); #endif /*! @brief Set the Exif thumbnail to the JPEG image pointed to by \em buf, and size \em size. Set XResolution, YResolution and ResolutionUnit to \em xres, \em yres and \em unit, respectively. This results in the minimal thumbnail tags being set for a JPEG thumbnail, as mandated by the Exif standard. @throw Error if reading the file fails. @note No checks on the image format or size are performed. @note Additional existing Exif thumbnail tags are not modified. @note The JPEG image inserted as thumbnail image should not itself contain Exif data (or other metadata), as existing applications may have problems with that. (The preview application that comes with OS X for one.) - David Harvey. */ void setJpegThumbnail( const byte* buf, long size, URational xres, URational yres, uint16_t unit ); /*! @brief Set the Exif thumbnail to the JPEG image \em path. This sets only the Compression, JPEGInterchangeFormat and JPEGInterchangeFormatLength tags, which is not all the thumbnail Exif information mandatory according to the Exif standard. (But it's enough to work with the thumbnail.) @throw Error if reading the file fails. @note No checks on the file format or size are performed. @note Additional existing Exif thumbnail tags are not modified. */ void setJpegThumbnail(const std::string& path); #ifdef EXV_UNICODE_PATH /*! @brief Like setJpegThumbnail(const std::string& path) but accepts a unicode path in an std::wstring. @note This function is only available on Windows. */ void setJpegThumbnail(const std::wstring& wpath); #endif /*! @brief Set the Exif thumbnail to the JPEG image pointed to by \em buf, and size \em size. This sets only the Compression, JPEGInterchangeFormat and JPEGInterchangeFormatLength tags, which is not all the thumbnail Exif information mandatory according to the Exif standard. (But it's enough to work with the thumbnail.) @note No checks on the image format or size are performed. @note Additional existing Exif thumbnail tags are not modified. */ void setJpegThumbnail(const byte* buf, long size); /*! @brief Delete the thumbnail from the Exif data. Removes all Exif.%Thumbnail.*, i.e., Exif IFD1 tags. */ void erase(); //@} private: // DATA ExifData& exifData_; //!< Reference to the related Exif metadata. }; // class ExifThumb //! Container type to hold all metadata typedef std::list ExifMetadata; /*! @brief A container for Exif data. This is a top-level class of the %Exiv2 library. The container holds Exifdatum objects. Provide high-level access to the Exif data of an image: - read Exif information from JPEG files - access metadata through keys and standard C++ iterators - add, modify and delete metadata - write Exif data to JPEG files - extract Exif metadata to files, insert from these files - extract and delete Exif thumbnail (JPEG and TIFF thumbnails) */ class EXIV2API ExifData { public: //! ExifMetadata iterator type typedef ExifMetadata::iterator iterator; //! ExifMetadata const iterator type typedef ExifMetadata::const_iterator const_iterator; //! @name Manipulators //@{ /*! @brief Returns a reference to the %Exifdatum that is associated with a particular \em key. If %ExifData does not already contain such an %Exifdatum, operator[] adds object \em Exifdatum(key). @note Since operator[] might insert a new element, it can't be a const member function. */ Exifdatum& operator[](const std::string& key); /*! @brief Add an Exifdatum from the supplied key and value pair. This method copies (clones) key and value. No duplicate checks are performed, i.e., it is possible to add multiple metadata with the same key. */ void add(const ExifKey& key, const Value* pValue); /*! @brief Add a copy of the \em exifdatum to the Exif metadata. No duplicate checks are performed, i.e., it is possible to add multiple metadata with the same key. @throw Error if the makernote cannot be created */ void add(const Exifdatum& exifdatum); /*! @brief Delete the Exifdatum at iterator position \em pos, return the position of the next exifdatum. Note that iterators into the metadata, including \em pos, are potentially invalidated by this call. */ iterator erase(iterator pos); /*! @brief Remove all elements of the range \em beg, \em end, return the position of the next element. Note that iterators into the metadata are potentially invalidated by this call. */ iterator erase(iterator beg, iterator end); /*! @brief Delete all Exifdatum instances resulting in an empty container. Note that this also removes thumbnails. */ void clear(); //! Sort metadata by key void sortByKey(); //! Sort metadata by tag void sortByTag(); //! Begin of the metadata iterator begin() { return exifMetadata_.begin(); } //! End of the metadata iterator end() { return exifMetadata_.end(); } /*! @brief Find the first Exifdatum with the given \em key, return an iterator to it. */ iterator findKey(const ExifKey& key); //@} //! @name Accessors //@{ //! Begin of the metadata const_iterator begin() const { return exifMetadata_.begin(); } //! End of the metadata const_iterator end() const { return exifMetadata_.end(); } /*! @brief Find the first Exifdatum with the given \em key, return a const iterator to it. */ const_iterator findKey(const ExifKey& key) const; //! Return true if there is no Exif metadata bool empty() const { return count() == 0; } //! Get the number of metadata entries long count() const { return static_cast(exifMetadata_.size()); } //@} private: // DATA ExifMetadata exifMetadata_; }; // class ExifData /*! @brief Stateless parser class for Exif data. Images use this class to decode and encode binary Exif data. @note Encode is lossy and is not the inverse of decode. */ class EXIV2API ExifParser { public: /*! @brief Decode metadata from a buffer \em pData of length \em size with binary Exif data to the provided metadata container. The buffer must start with a TIFF header. Return byte order in which the data is encoded. @param exifData Exif metadata container. @param pData Pointer to the data buffer. Must point to data in binary Exif format; no checks are performed. @param size Length of the data buffer @return Byte order in which the data is encoded. */ static ByteOrder decode( ExifData& exifData, const byte* pData, uint32_t size ); /*! @brief Encode Exif metadata from the provided metadata to binary Exif format. The original binary Exif data in the memory block \em pData, \em size is parsed and updated in-place if possible ("non-intrusive" writing). If that is not possible (e.g., if new tags were added), the entire Exif structure is re-written to the \em blob ("intrusive" writing). The return value indicates which write method was used. If it is \c wmNonIntrusive, the original memory \em pData, \em size contains the result and \em blob is empty. If the return value is \c wmIntrusive, a new Exif structure was created and returned in \em blob. The memory block \em pData, \em size may be partly updated in this case and should not be used anymore. Encode is a lossy operation. It attempts to fit the Exif data into a binary block suitable as the payload of a JPEG APP1 Exif segment, which can be at most 65527 bytes large. Encode omits IFD0 tags that are "not recorded" in compressed images according to the Exif 2.2 specification. It also doesn't write tags in groups which do not occur in JPEG images. If the resulting binary block is larger than allowed, it further deletes specific large preview tags, unknown tags larger than 4kB and known tags larger than 40kB. The operation succeeds even if the end result is still larger than the allowed size. Application should therefore always check the size of the \em blob. @param blob Container for the binary Exif data if "intrusive" writing is necessary. Empty otherwise. @param pData Pointer to the binary Exif data buffer. Must point to data in Exif format; no checks are performed. Will be modified if "non-intrusive" writing is possible. @param size Length of the data buffer. @param byteOrder Byte order to use. @param exifData Exif metadata container. @return Write method used. */ static WriteMethod encode( Blob& blob, const byte* pData, uint32_t size, ByteOrder byteOrder, const ExifData& exifData ); /*! @brief Encode metadata from the provided metadata to Exif format. Encode Exif metadata from the \em ExifData container to binary Exif format in the \em blob, encoded in \em byteOrder. This simpler encode method uses "intrusive" writing, i.e., it builds the binary representation of the metadata from scratch. It does not attempt "non-intrusive", i.e., in-place updating. It's better to use the other encode() method, if the metadata is already available in binary format, in order to allow for "non-intrusive" updating of the existing binary representation. This is just an inline wrapper for ExifParser::encode(blob, 0, 0, byteOrder, exifData). @param blob Container for the binary Exif data. @param byteOrder Byte order to use. @param exifData Exif metadata container. */ static void encode( Blob& blob, ByteOrder byteOrder, const ExifData& exifData ) { encode(blob, 0, 0, byteOrder, exifData); } }; // class ExifParser } // namespace Exiv2 #endif // #ifndef EXIF_HPP_ exiv2-0.25/include/exiv2/value.hpp0000664000175000017500000017117112521135474016634 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file value.hpp @brief Value interface and concrete subclasses @version $Rev: 3090 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 09-Jan-04, ahu: created 11-Feb-04, ahu: isolated as a component 31-Jul-04, brad: added Time, Data and String values */ #ifndef VALUE_HPP_ #define VALUE_HPP_ // ***************************************************************************** // included header files #include "types.hpp" // + standard includes #include #include #include #include #include #include #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions /*! @brief Common interface for all types of values used with metadata. The interface provides a uniform way to access values independent of their actual C++ type for simple tasks like reading the values from a string or data buffer. For other tasks, like modifying values you may need to downcast it to a specific subclass to access its interface. */ class EXIV2API Value { public: //! Shortcut for a %Value auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ //! Constructor, taking a type id to initialize the base class with explicit Value(TypeId typeId); //! Virtual destructor. virtual ~Value(); //@} //! @name Manipulators //@{ /*! @brief Read the value from a character buffer. @param buf Pointer to the data buffer to read from @param len Number of bytes in the data buffer @param byteOrder Applicable byte order (little or big endian). @return 0 if successful. */ virtual int read(const byte* buf, long len, ByteOrder byteOrder) =0; /*! @brief Set the value from a string buffer. The format of the string corresponds to that of the write() method, i.e., a string obtained through the write() method can be read by this function. @param buf The string to read from. @return 0 if successful. */ virtual int read(const std::string& buf) =0; /*! @brief Set the data area, if the value has one by copying (cloning) the buffer pointed to by buf. Values may have a data area, which can contain additional information besides the actual value. This method is used to set such a data area. @param buf Pointer to the source data area @param len Size of the data area @return Return -1 if the value has no data area, else 0. */ virtual int setDataArea(const byte* buf, long len); //@} //! @name Accessors //@{ //! Return the type identifier (Exif data format type). TypeId typeId() const { return type_; } /*! @brief Return an auto-pointer to a copy of itself (deep copy). The caller owns this copy and the auto-pointer ensures that it will be deleted. */ AutoPtr clone() const { return AutoPtr(clone_()); } /*! @brief Write value to a data buffer. The user must ensure that the buffer has enough memory. Otherwise the call results in undefined behaviour. @param buf Data buffer to write to. @param byteOrder Applicable byte order (little or big endian). @return Number of bytes written. */ virtual long copy(byte* buf, ByteOrder byteOrder) const =0; //! Return the number of components of the value virtual long count() const =0; //! Return the size of the value in bytes virtual long size() const =0; /*! @brief Write the value to an output stream. You do not usually have to use this function; it is used for the implementation of the output operator for %Value, operator<<(std::ostream &os, const Value &value). */ virtual std::ostream& write(std::ostream& os) const =0; /*! @brief Return the value as a string. Implemented in terms of write(std::ostream& os) const of the concrete class. */ std::string toString() const; /*! @brief Return the n-th component of the value as a string. The default implementation returns toString(). The behaviour of this method may be undefined if there is no n-th component. */ virtual std::string toString(long n) const; /*! @brief Convert the n-th component of the value to a long. The behaviour of this method may be undefined if there is no n-th component. @return The converted value. */ virtual long toLong(long n =0) const =0; /*! @brief Convert the n-th component of the value to a float. The behaviour of this method may be undefined if there is no n-th component. @return The converted value. */ virtual float toFloat(long n =0) const =0; /*! @brief Convert the n-th component of the value to a Rational. The behaviour of this method may be undefined if there is no n-th component. @return The converted value. */ virtual Rational toRational(long n =0) const =0; //! Return the size of the data area, 0 if there is none. virtual long sizeDataArea() const; /*! @brief Return a copy of the data area if the value has one. The caller owns this copy and DataBuf ensures that it will be deleted. Values may have a data area, which can contain additional information besides the actual value. This method is used to access such a data area. @return A DataBuf containing a copy of the data area or an empty DataBuf if the value does not have a data area assigned. */ virtual DataBuf dataArea() const; /*! @brief Check the \em ok status indicator. After a to conversion, this indicator shows whether the conversion was successful. */ bool ok() const { return ok_; } //@} /*! @brief A (simple) factory to create a Value type. The following Value subclasses are created depending on typeId:

typeId%Value subclass
invalidTypeId%DataValue(invalidTypeId)
unsignedByte%DataValue(unsignedByte)
asciiString%AsciiValue
string%StringValue
unsignedShort%ValueType < uint16_t >
unsignedLong%ValueType < uint32_t >
unsignedRational%ValueType < URational >
invalid6%DataValue(invalid6)
undefined%DataValue
signedShort%ValueType < int16_t >
signedLong%ValueType < int32_t >
signedRational%ValueType < Rational >
tiffFloat%ValueType < float >
tiffDouble%ValueType < double >
tiffIfd%ValueType < uint32_t >
date%DateValue
time%TimeValue
comment%CommentValue
xmpText%XmpTextValue
xmpBag%XmpArrayValue
xmpSeq%XmpArrayValue
xmpAlt%XmpArrayValue
langAlt%LangAltValue
default:%DataValue(typeId)
@param typeId Type of the value. @return Auto-pointer to the newly created Value. The caller owns this copy and the auto-pointer ensures that it will be deleted. */ static AutoPtr create(TypeId typeId); protected: /*! @brief Assignment operator. Protected so that it can only be used by subclasses but not directly. */ Value& operator=(const Value& rhs); // DATA mutable bool ok_; //!< Indicates the status of the previous to conversion private: //! Internal virtual copy constructor. virtual Value* clone_() const =0; // DATA TypeId type_; //!< Type of the data }; // class Value //! Output operator for Value types inline std::ostream& operator<<(std::ostream& os, const Value& value) { return value.write(os); } //! %Value for an undefined data type. class EXIV2API DataValue : public Value { public: //! Shortcut for a %DataValue auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ //! Default constructor. explicit DataValue(TypeId typeId =undefined); //! Constructor DataValue(const byte* buf, long len, ByteOrder byteOrder =invalidByteOrder, TypeId typeId =undefined); //! Virtual destructor. virtual ~DataValue(); //@} //! @name Manipulators //@{ /*! @brief Read the value from a character buffer. @note The byte order is required by the interface but not used by this method, so just use the default. @param buf Pointer to the data buffer to read from @param len Number of bytes in the data buffer @param byteOrder Byte order. Not needed. @return 0 if successful. */ virtual int read(const byte* buf, long len, ByteOrder byteOrder =invalidByteOrder); //! Set the data from a string of integer values (e.g., "0 1 2 3") virtual int read(const std::string& buf); //@} //! @name Accessors //@{ AutoPtr clone() const { return AutoPtr(clone_()); } /*! @brief Write value to a character data buffer. @note The byte order is required by the interface but not used by this method, so just use the default. The user must ensure that the buffer has enough memory. Otherwise the call results in undefined behaviour. @param buf Data buffer to write to. @param byteOrder Byte order. Not needed. @return Number of characters written. */ virtual long copy(byte* buf, ByteOrder byteOrder =invalidByteOrder) const; virtual long count() const; virtual long size() const; virtual std::ostream& write(std::ostream& os) const; /*! @brief Return the n-th component of the value as a string. The behaviour of this method may be undefined if there is no n-th component. */ virtual std::string toString(long n) const; virtual long toLong(long n =0) const; virtual float toFloat(long n =0) const; virtual Rational toRational(long n =0) const; //@} private: //! Internal virtual copy constructor. EXV_DLLLOCAL virtual DataValue* clone_() const; public: //! Type used to store the data. typedef std::vector ValueType; // DATA ValueType value_; //!< Stores the data value }; // class DataValue /*! @brief Abstract base class for a string based %Value type. Uses a std::string to store the value and implements defaults for most operations. */ class EXIV2API StringValueBase : public Value { public: //! Shortcut for a %StringValueBase auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ //! Constructor for subclasses explicit StringValueBase(TypeId typeId); //! Constructor for subclasses StringValueBase(TypeId typeId, const std::string& buf); //! Copy constructor StringValueBase(const StringValueBase& rhs); //! Virtual destructor. virtual ~StringValueBase(); //@} //! @name Manipulators //@{ //! Read the value from buf. This default implementation uses buf as it is. virtual int read(const std::string& buf); /*! @brief Read the value from a character buffer. @note The byte order is required by the interface but not used by this method, so just use the default. @param buf Pointer to the data buffer to read from @param len Number of bytes in the data buffer @param byteOrder Byte order. Not needed. @return 0 if successful. */ virtual int read(const byte* buf, long len, ByteOrder byteOrder =invalidByteOrder); //@} //! @name Accessors //@{ AutoPtr clone() const { return AutoPtr(clone_()); } /*! @brief Write value to a character data buffer. The user must ensure that the buffer has enough memory. Otherwise the call results in undefined behaviour. @note The byte order is required by the interface but not used by this method, so just use the default. @param buf Data buffer to write to. @param byteOrder Byte order. Not used. @return Number of characters written. */ virtual long copy(byte* buf, ByteOrder byteOrder =invalidByteOrder) const; virtual long count() const; virtual long size() const; virtual long toLong(long n =0) const; virtual float toFloat(long n =0) const; virtual Rational toRational(long n =0) const; virtual std::ostream& write(std::ostream& os) const; //@} protected: //! Assignment operator. StringValueBase& operator=(const StringValueBase& rhs); //! Internal virtual copy constructor. virtual StringValueBase* clone_() const =0; public: // DATA std::string value_; //!< Stores the string value. }; // class StringValueBase /*! @brief %Value for string type. This can be a plain Ascii string or a multipe byte encoded string. It is left to caller to decode and encode the string to and from readable text if that is required. */ class EXIV2API StringValue : public StringValueBase { public: //! Shortcut for a %StringValue auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ //! Default constructor. StringValue(); //! Constructor explicit StringValue(const std::string& buf); //! Virtual destructor. virtual ~StringValue(); //@} //! @name Accessors //@{ AutoPtr clone() const { return AutoPtr(clone_()); } //@} private: //! Internal virtual copy constructor. EXV_DLLLOCAL virtual StringValue* clone_() const; }; // class StringValue /*! @brief %Value for an Ascii string type. This class is for null terminated single byte Ascii strings. This class also ensures that the string is null terminated. */ class EXIV2API AsciiValue : public StringValueBase { public: //! Shortcut for a %AsciiValue auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ //! Default constructor. AsciiValue(); //! Constructor explicit AsciiValue(const std::string& buf); //! Virtual destructor. virtual ~AsciiValue(); //@} //! @name Manipulators //@{ using StringValueBase::read; /*! @brief Set the value to that of the string buf. Overrides base class to append a terminating '\\0' character if buf doesn't end with '\\0'. */ virtual int read(const std::string& buf); //@} //! @name Accessors //@{ AutoPtr clone() const { return AutoPtr(clone_()); } /*! @brief Write the ASCII value up to the the first '\\0' character to an output stream. Any further characters are ignored and not written to the output stream. */ virtual std::ostream& write(std::ostream& os) const; //@} private: //! Internal virtual copy constructor. EXV_DLLLOCAL virtual AsciiValue* clone_() const; }; // class AsciiValue /*! @brief %Value for an Exif comment. This can be a plain Ascii string or a multipe byte encoded string. The comment is expected to be encoded in the character set indicated (default undefined), but this is not checked. It is left to caller to decode and encode the string to and from readable text if that is required. */ class EXIV2API CommentValue : public StringValueBase { public: //! Character set identifiers for the character sets defined by %Exif enum CharsetId { ascii, jis, unicode, undefined, invalidCharsetId, lastCharsetId }; //! Information pertaining to the defined character sets struct CharsetTable { //! Constructor CharsetTable(CharsetId charsetId, const char* name, const char* code); CharsetId charsetId_; //!< Charset id const char* name_; //!< Name of the charset const char* code_; //!< Code of the charset }; // struct CharsetTable //! Charset information lookup functions. Implemented as a static class. class EXIV2API CharsetInfo { //! Prevent construction: not implemented. CharsetInfo() {} //! Prevent copy-construction: not implemented. CharsetInfo(const CharsetInfo&); //! Prevent assignment: not implemented. CharsetInfo& operator=(const CharsetInfo&); public: //! Return the name for a charset id static const char* name(CharsetId charsetId); //! Return the code for a charset id static const char* code(CharsetId charsetId); //! Return the charset id for a name static CharsetId charsetIdByName(const std::string& name); //! Return the charset id for a code static CharsetId charsetIdByCode(const std::string& code); private: static const CharsetTable charsetTable_[]; }; // class CharsetInfo //! Shortcut for a %CommentValue auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ //! Default constructor. CommentValue(); //! Constructor, uses read(const std::string& comment) explicit CommentValue(const std::string& comment); //! Virtual destructor. virtual ~CommentValue(); //@} //! @name Manipulators //@{ /*! @brief Read the value from a comment The format of \em comment is:
[charset=["]Ascii|Jis|Unicode|Undefined["] ]comment
The default charset is Undefined. @return 0 if successful
1 if an invalid character set is encountered */ int read(const std::string& comment); /*! @brief Read the comment from a byte buffer. */ int read(const byte* buf, long len, ByteOrder byteOrder); //@} //! @name Accessors //@{ AutoPtr clone() const { return AutoPtr(clone_()); } long copy(byte* buf, ByteOrder byteOrder) const; /*! @brief Write the comment in a format which can be read by read(const std::string& comment). */ std::ostream& write(std::ostream& os) const; /*! @brief Return the comment (without a charset="..." prefix) The comment is decoded to UTF-8. For Exif UNICODE comments, the function makes an attempt to correctly determine the character encoding of the value. Alternatively, the optional \em encoding parameter can be used to specify it. @param encoding Optional argument to specify the character encoding that the comment is encoded in, as an iconv(3) name. Only used for Exif UNICODE comments. @return A string containing the comment converted to UTF-8. */ std::string comment(const char* encoding =0) const; /*! @brief Determine the character encoding that was used to encode the UNICODE comment value as an iconv(3) name. If the comment \em c starts with a BOM, the BOM is interpreted and removed from the string. Todo: Implement rules to guess if the comment is UTF-8 encoded. */ const char* detectCharset(std::string& c) const; //! Return the Exif charset id of the comment CharsetId charsetId() const; //@} private: //! Internal virtual copy constructor. EXV_DLLLOCAL virtual CommentValue* clone_() const; public: // DATA ByteOrder byteOrder_; //!< Byte order of the comment string that was read }; // class CommentValue /*! @brief Base class for all Exiv2 values used to store XMP property values. */ class EXIV2API XmpValue : public Value { public: //! Shortcut for a %XmpValue auto pointer. typedef std::auto_ptr AutoPtr; //! XMP array types. enum XmpArrayType { xaNone, xaAlt, xaBag, xaSeq }; //! XMP structure indicator. enum XmpStruct { xsNone, xsStruct }; //! @name Creators //@{ explicit XmpValue(TypeId typeId); //@} //! @name Accessors //@{ //! Return XMP array type, indicates if an XMP value is an array. XmpArrayType xmpArrayType() const; //! Return XMP struct, indicates if an XMP value is a structure. XmpStruct xmpStruct() const; virtual long size() const; /*! @brief Write value to a character data buffer. The user must ensure that the buffer has enough memory. Otherwise the call results in undefined behaviour. @note The byte order is required by the interface but not used by this method, so just use the default. @param buf Data buffer to write to. @param byteOrder Byte order. Not used. @return Number of characters written. */ virtual long copy(byte* buf, ByteOrder byteOrder =invalidByteOrder) const; //@} //! @name Manipulators //@{ //! Set the XMP array type to indicate that an XMP value is an array. void setXmpArrayType(XmpArrayType xmpArrayType); //! Set the XMP struct type to indicate that an XMP value is a structure. void setXmpStruct(XmpStruct xmpStruct =xsStruct); /*! @brief Read the value from a character buffer. Uses read(const std::string& buf) @note The byte order is required by the interface but not used by this method, so just use the default. @param buf Pointer to the data buffer to read from @param len Number of bytes in the data buffer @param byteOrder Byte order. Not needed. @return 0 if successful. */ virtual int read(const byte* buf, long len, ByteOrder byteOrder =invalidByteOrder); virtual int read(const std::string& buf) =0; //@} /*! @brief Return XMP array type for an array Value TypeId, xaNone if \em typeId is not an XMP array value type. */ static XmpArrayType xmpArrayType(TypeId typeId); protected: /*! @brief Assignment operator. Protected so that it can only be used by subclasses but not directly. */ XmpValue& operator=(const XmpValue& rhs); private: // DATA XmpArrayType xmpArrayType_; //!< Type of XMP array XmpStruct xmpStruct_; //!< XMP structure indicator }; // class XmpValue /*! @brief %Value type suitable for simple XMP properties and XMP nodes of complex types which are not parsed into specific values. Uses a std::string to store the value. */ class EXIV2API XmpTextValue : public XmpValue { public: //! Shortcut for a %XmpTextValue auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ //! Constructor. XmpTextValue(); //! Constructor, reads the value from a string. explicit XmpTextValue(const std::string& buf); //@} //! @name Manipulators //@{ using XmpValue::read; /*! @brief Read a simple property value from \em buf to set the value. Sets the value to the contents of \em buf. A optional keyword, \em type is supported to set the XMP value type. This is useful for complex value types for which Exiv2 does not have direct support. The format of \em buf is:
[type=["]Alt|Bag|Seq|Struct["] ]text
@return 0 if successful. */ virtual int read(const std::string& buf); //@} //! @name Accessors //@{ AutoPtr clone() const; long size() const; virtual long count() const; /*! @brief Convert the value to a long. The optional parameter \em n is not used and is ignored. @return The converted value. */ virtual long toLong(long n =0) const; /*! @brief Convert the value to a float. The optional parameter \em n is not used and is ignored. @return The converted value. */ virtual float toFloat(long n =0) const; /*! @brief Convert the value to a Rational. The optional parameter \em n is not used and is ignored. @return The converted value. */ virtual Rational toRational(long n =0) const; virtual std::ostream& write(std::ostream& os) const; //@} private: //! Internal virtual copy constructor. EXV_DLLLOCAL virtual XmpTextValue* clone_() const; public: // DATA std::string value_; //!< Stores the string values. }; // class XmpTextValue /*! @brief %Value type for simple arrays. Each item in the array is a simple value, without qualifiers. The array may be an ordered (\em seq), unordered (\em bag) or alternative array (\em alt). The array items must not contain qualifiers. For language alternatives use LangAltValue. Uses a vector of std::string to store the value(s). */ class EXIV2API XmpArrayValue : public XmpValue { public: //! Shortcut for a %XmpArrayValue auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ //! Constructor. \em typeId can be one of xmpBag, xmpSeq or xmpAlt. explicit XmpArrayValue(TypeId typeId =xmpBag); //@} //! @name Manipulators //@{ using XmpValue::read; /*! @brief Read a simple property value from \em buf and append it to the value. Appends \em buf to the value after the last existing array element. Subsequent calls will therefore populate multiple array elements in the order they are read. @return 0 if successful. */ virtual int read(const std::string& buf); //@} //! @name Accessors //@{ AutoPtr clone() const; virtual long count() const; /*! @brief Return the n-th component of the value as a string. The behaviour of this method may be undefined if there is no n-th component. */ virtual std::string toString(long n) const; virtual long toLong(long n =0) const; virtual float toFloat(long n =0) const; virtual Rational toRational(long n =0) const; /*! @brief Write all elements of the value to \em os, separated by commas. @note The output of this method cannot directly be used as the parameter for read(). */ virtual std::ostream& write(std::ostream& os) const; //@} private: //! Internal virtual copy constructor. EXV_DLLLOCAL virtual XmpArrayValue* clone_() const; public: //! Type used to store XMP array elements. typedef std::vector ValueType; // DATA std::vector value_; //!< Stores the string values. }; // class XmpArrayValue /*! @brief %LangAltValueComparator #1058 https://www.adobe.com/content/dam/Adobe/en/devnet/xmp/pdfs/XMPSpecificationPart1.pdf XMP spec chapter B.4 (page 42) the xml:lang qualifier is to be compared case insensitive. */ struct LangAltValueComparator { bool operator() (const std::string& str1, const std::string& str2) const { int result = str1.size() < str2.size() ? 1 : str1.size() > str2.size() ? -1 : 0 ; std::string::const_iterator c1 = str1.begin(); std::string::const_iterator c2 = str2.begin(); if ( result==0 ) for ( ; result==0 && c1 != str1.end() ; ++c1, ++c2 ) { result = tolower(*c1) < tolower(*c2) ? 1 : tolower(*c1) > tolower(*c2) ? -1 : 0 ; } return result < 0 ; } }; /*! @brief %Value type for XMP language alternative properties. A language alternative is an array consisting of simple text values, each of which has a language qualifier. */ class EXIV2API LangAltValue : public XmpValue { public: //! Shortcut for a %LangAltValue auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ //! Constructor. LangAltValue(); //! Constructor, reads the value from a string. explicit LangAltValue(const std::string& buf); //@} //! @name Manipulators //@{ using XmpValue::read; /*! @brief Read a simple property value from \em buf and append it to the value. Appends \em buf to the value after the last existing array element. Subsequent calls will therefore populate multiple array elements in the order they are read. The format of \em buf is:
[lang=["]language code["] ]text
The XMP default language code x-default is used if \em buf doesn't start with the keyword lang. @return 0 if successful. */ virtual int read(const std::string& buf); //@} //! @name Accessors //@{ AutoPtr clone() const; virtual long count() const; /*! @brief Return the text value associated with the default language qualifier \c x-default. The parameter \em n is not used, but it is suggested that only 0 is passed in. Returns an empty string and sets the ok-flag to \c false if there is no default value. */ virtual std::string toString(long n) const; /*! @brief Return the text value associated with the language qualifier \em qualifier. Returns an empty string and sets the ok-flag to \c false if there is no entry for the language qualifier. */ std::string toString(const std::string& qualifier) const; virtual long toLong(long n =0) const; virtual float toFloat(long n =0) const; virtual Rational toRational(long n =0) const; /*! @brief Write all elements of the value to \em os, separated by commas. @note The output of this method cannot directly be used as the parameter for read(). */ virtual std::ostream& write(std::ostream& os) const; //@} private: //! Internal virtual copy constructor. EXV_DLLLOCAL virtual LangAltValue* clone_() const; public: //! Type used to store language alternative arrays. typedef std::map ValueType; // DATA /*! @brief Map to store the language alternative values. The language qualifier is used as the key for the map entries. */ ValueType value_; }; // class LangAltValue /*! @brief %Value for simple ISO 8601 dates This class is limited to parsing simple date strings in the ISO 8601 format CCYYMMDD (century, year, month, day). */ class EXIV2API DateValue : public Value { public: //! Shortcut for a %DateValue auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ //! Default constructor. DateValue(); //! Constructor DateValue(int year, int month, int day); //! Virtual destructor. virtual ~DateValue(); //@} //! Simple Date helper structure struct EXIV2API Date { Date() : year(0), month(0), day(0) {} int year; //!< Year int month; //!< Month int day; //!< Day }; //! @name Manipulators //@{ /*! @brief Read the value from a character buffer. @note The byte order is required by the interface but not used by this method, so just use the default. @param buf Pointer to the data buffer to read from @param len Number of bytes in the data buffer @param byteOrder Byte order. Not needed. @return 0 if successful
1 in case of an unsupported date format */ virtual int read(const byte* buf, long len, ByteOrder byteOrder =invalidByteOrder); /*! @brief Set the value to that of the string buf. @param buf String containing the date @return 0 if successful
1 in case of an unsupported date format */ virtual int read(const std::string& buf); //! Set the date void setDate(const Date& src); //@} //! @name Accessors //@{ AutoPtr clone() const { return AutoPtr(clone_()); } /*! @brief Write value to a character data buffer. The user must ensure that the buffer has enough memory. Otherwise the call results in undefined behaviour. @note The byte order is required by the interface but not used by this method, so just use the default. @param buf Data buffer to write to. @param byteOrder Byte order. Not used. @return Number of characters written. */ virtual long copy(byte* buf, ByteOrder byteOrder =invalidByteOrder) const; //! Return date struct containing date information virtual const Date& getDate() const; virtual long count() const; virtual long size() const; virtual std::ostream& write(std::ostream& os) const; //! Return the value as a UNIX calender time converted to long. virtual long toLong(long n =0) const; //! Return the value as a UNIX calender time converted to float. virtual float toFloat(long n =0) const; //! Return the value as a UNIX calender time converted to Rational. virtual Rational toRational(long n =0) const; //@} private: //! Internal virtual copy constructor. EXV_DLLLOCAL virtual DateValue* clone_() const; // DATA Date date_; }; // class DateValue /*! @brief %Value for simple ISO 8601 times. This class is limited to handling simple time strings in the ISO 8601 format HHMMSS�HHMM where HHMMSS refers to local hour, minute and seconds and �HHMM refers to hours and minutes ahead or behind Universal Coordinated Time. */ class EXIV2API TimeValue : public Value { public: //! Shortcut for a %TimeValue auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ //! Default constructor. TimeValue(); //! Constructor TimeValue(int hour, int minute, int second =0, int tzHour =0, int tzMinute =0); //! Virtual destructor. virtual ~TimeValue(); //@} //! Simple Time helper structure struct Time { Time() : hour(0), minute(0), second(0), tzHour(0), tzMinute(0) {} int hour; //!< Hour int minute; //!< Minute int second; //!< Second int tzHour; //!< Hours ahead or behind UTC int tzMinute; //!< Minutes ahead or behind UTC }; //! @name Manipulators //@{ /*! @brief Read the value from a character buffer. @note The byte order is required by the interface but not used by this method, so just use the default. @param buf Pointer to the data buffer to read from @param len Number of bytes in the data buffer @param byteOrder Byte order. Not needed. @return 0 if successful
1 in case of an unsupported time format */ virtual int read(const byte* buf, long len, ByteOrder byteOrder =invalidByteOrder); /*! @brief Set the value to that of the string buf. @param buf String containing the time. @return 0 if successful
1 in case of an unsupported time format */ virtual int read(const std::string& buf); //! Set the time void setTime(const Time& src); //@} //! @name Accessors //@{ AutoPtr clone() const { return AutoPtr(clone_()); } /*! @brief Write value to a character data buffer. The user must ensure that the buffer has enough memory. Otherwise the call results in undefined behaviour. @note The byte order is required by the interface but not used by this method, so just use the default. @param buf Data buffer to write to. @param byteOrder Byte order. Not used. @return Number of characters written. */ virtual long copy(byte* buf, ByteOrder byteOrder =invalidByteOrder) const; //! Return time struct containing time information virtual const Time& getTime() const; virtual long count() const; virtual long size() const; virtual std::ostream& write(std::ostream& os) const; //! Returns number of seconds in the day in UTC. virtual long toLong(long n =0) const; //! Returns number of seconds in the day in UTC converted to float. virtual float toFloat(long n =0) const; //! Returns number of seconds in the day in UTC converted to Rational. virtual Rational toRational(long n =0) const; //@} private: //! @name Manipulators //@{ /*! @brief Set time from \em buf if it conforms to \em format (3 input items). This function only sets the hour, minute and second parts of time_. @param buf A 0 terminated C-string containing the time to parse. @param format Format string for sscanf(). @return 0 if successful, else 1. */ EXV_DLLLOCAL int scanTime3(const char* buf, const char* format); /*! @brief Set time from \em buf if it conforms to \em format (6 input items). This function sets all parts of time_. @param buf A 0 terminated C-string containing the time to parse. @param format Format string for sscanf(). @return 0 if successful, else 1. */ EXV_DLLLOCAL int scanTime6(const char* buf, const char* format); //@} //! @name Accessors //@{ //! Internal virtual copy constructor. EXV_DLLLOCAL virtual TimeValue* clone_() const; //@} // DATA Time time_; }; // class TimeValue //! Template to determine the TypeId for a type T template TypeId getType(); //! Specialization for an unsigned short template<> inline TypeId getType() { return unsignedShort; } //! Specialization for an unsigned long template<> inline TypeId getType() { return unsignedLong; } //! Specialization for an unsigned rational template<> inline TypeId getType() { return unsignedRational; } //! Specialization for a signed short template<> inline TypeId getType() { return signedShort; } //! Specialization for a signed long template<> inline TypeId getType() { return signedLong; } //! Specialization for a signed rational template<> inline TypeId getType() { return signedRational; } //! Specialization for a float template<> inline TypeId getType() { return tiffFloat; } //! Specialization for a double template<> inline TypeId getType() { return tiffDouble; } // No default implementation: let the compiler/linker complain // template inline TypeId getType() { return invalid; } /*! @brief Template for a %Value of a basic type. This is used for unsigned and signed short, long and rationals. */ template class ValueType : public Value { public: //! Shortcut for a %ValueType\ auto pointer. typedef std::auto_ptr > AutoPtr; //! @name Creators //@{ //! Default Constructor. ValueType(); //! Constructor. // The default c'tor and this one can be combined, but that causes MSVC 7.1 to fall on its nose explicit ValueType(TypeId typeId); //! Constructor. ValueType(const byte* buf, long len, ByteOrder byteOrder, TypeId typeId =getType()); //! Constructor. explicit ValueType(const T& val, TypeId typeId =getType()); //! Copy constructor ValueType(const ValueType& rhs); //! Virtual destructor. virtual ~ValueType(); //@} //! @name Manipulators //@{ //! Assignment operator. ValueType& operator=(const ValueType& rhs); virtual int read(const byte* buf, long len, ByteOrder byteOrder); /*! @brief Set the data from a string of values of type T (e.g., "0 1 2 3" or "1/2 1/3 1/4" depending on what T is). Generally, the accepted input format is the same as that produced by the write() method. */ virtual int read(const std::string& buf); /*! @brief Set the data area. This method copies (clones) the buffer pointed to by buf. */ virtual int setDataArea(const byte* buf, long len); //@} //! @name Accessors //@{ AutoPtr clone() const { return AutoPtr(clone_()); } virtual long copy(byte* buf, ByteOrder byteOrder) const; virtual long count() const; virtual long size() const; virtual std::ostream& write(std::ostream& os) const; /*! @brief Return the n-th component of the value as a string. The behaviour of this method may be undefined if there is no n-th component. */ virtual std::string toString(long n) const; virtual long toLong(long n =0) const; virtual float toFloat(long n =0) const; virtual Rational toRational(long n =0) const; //! Return the size of the data area. virtual long sizeDataArea() const; /*! @brief Return a copy of the data area in a DataBuf. The caller owns this copy and DataBuf ensures that it will be deleted. */ virtual DataBuf dataArea() const; //@} //! Container for values typedef std::vector ValueList; //! Iterator type defined for convenience. typedef typename std::vector::iterator iterator; //! Const iterator type defined for convenience. typedef typename std::vector::const_iterator const_iterator; // DATA /*! @brief The container for all values. In your application, if you know what subclass of Value you're dealing with (and possibly the T) then you can access this STL container through the usual standard library functions. */ ValueList value_; private: //! Internal virtual copy constructor. virtual ValueType* clone_() const; // DATA //! Pointer to the buffer, 0 if none has been allocated byte* pDataArea_; //! The current size of the buffer long sizeDataArea_; }; // class ValueType //! Unsigned short value type typedef ValueType UShortValue; //! Unsigned long value type typedef ValueType ULongValue; //! Unsigned rational value type typedef ValueType URationalValue; //! Signed short value type typedef ValueType ShortValue; //! Signed long value type typedef ValueType LongValue; //! Signed rational value type typedef ValueType RationalValue; //! Float value type typedef ValueType FloatValue; //! Double value type typedef ValueType DoubleValue; // ***************************************************************************** // free functions, template and inline definitions /*! @brief Read a value of type T from the data buffer. We need this template function for the ValueType template classes. There are only specializations of this function available; no default implementation is provided. @param buf Pointer to the data buffer to read from. @param byteOrder Applicable byte order (little or big endian). @return A value of type T. */ template T getValue(const byte* buf, ByteOrder byteOrder); // Specialization for a 2 byte unsigned short value. template<> inline uint16_t getValue(const byte* buf, ByteOrder byteOrder) { return getUShort(buf, byteOrder); } // Specialization for a 4 byte unsigned long value. template<> inline uint32_t getValue(const byte* buf, ByteOrder byteOrder) { return getULong(buf, byteOrder); } // Specialization for an 8 byte unsigned rational value. template<> inline URational getValue(const byte* buf, ByteOrder byteOrder) { return getURational(buf, byteOrder); } // Specialization for a 2 byte signed short value. template<> inline int16_t getValue(const byte* buf, ByteOrder byteOrder) { return getShort(buf, byteOrder); } // Specialization for a 4 byte signed long value. template<> inline int32_t getValue(const byte* buf, ByteOrder byteOrder) { return getLong(buf, byteOrder); } // Specialization for an 8 byte signed rational value. template<> inline Rational getValue(const byte* buf, ByteOrder byteOrder) { return getRational(buf, byteOrder); } // Specialization for a 4 byte float value. template<> inline float getValue(const byte* buf, ByteOrder byteOrder) { return getFloat(buf, byteOrder); } // Specialization for a 8 byte double value. template<> inline double getValue(const byte* buf, ByteOrder byteOrder) { return getDouble(buf, byteOrder); } /*! @brief Convert a value of type T to data, write the data to the data buffer. We need this template function for the ValueType template classes. There are only specializations of this function available; no default implementation is provided. @param buf Pointer to the data buffer to write to. @param t Value to be converted. @param byteOrder Applicable byte order (little or big endian). @return The number of bytes written to the buffer. */ template long toData(byte* buf, T t, ByteOrder byteOrder); /*! @brief Specialization to write an unsigned short to the data buffer. Return the number of bytes written. */ template<> inline long toData(byte* buf, uint16_t t, ByteOrder byteOrder) { return us2Data(buf, t, byteOrder); } /*! @brief Specialization to write an unsigned long to the data buffer. Return the number of bytes written. */ template<> inline long toData(byte* buf, uint32_t t, ByteOrder byteOrder) { return ul2Data(buf, t, byteOrder); } /*! @brief Specialization to write an unsigned rational to the data buffer. Return the number of bytes written. */ template<> inline long toData(byte* buf, URational t, ByteOrder byteOrder) { return ur2Data(buf, t, byteOrder); } /*! @brief Specialization to write a signed short to the data buffer. Return the number of bytes written. */ template<> inline long toData(byte* buf, int16_t t, ByteOrder byteOrder) { return s2Data(buf, t, byteOrder); } /*! @brief Specialization to write a signed long to the data buffer. Return the number of bytes written. */ template<> inline long toData(byte* buf, int32_t t, ByteOrder byteOrder) { return l2Data(buf, t, byteOrder); } /*! @brief Specialization to write a signed rational to the data buffer. Return the number of bytes written. */ template<> inline long toData(byte* buf, Rational t, ByteOrder byteOrder) { return r2Data(buf, t, byteOrder); } /*! @brief Specialization to write a float to the data buffer. Return the number of bytes written. */ template<> inline long toData(byte* buf, float t, ByteOrder byteOrder) { return f2Data(buf, t, byteOrder); } /*! @brief Specialization to write a double to the data buffer. Return the number of bytes written. */ template<> inline long toData(byte* buf, double t, ByteOrder byteOrder) { return d2Data(buf, t, byteOrder); } template ValueType::ValueType() : Value(getType()), pDataArea_(0), sizeDataArea_(0) { } template ValueType::ValueType(TypeId typeId) : Value(typeId), pDataArea_(0), sizeDataArea_(0) { } template ValueType::ValueType(const byte* buf, long len, ByteOrder byteOrder, TypeId typeId) : Value(typeId), pDataArea_(0), sizeDataArea_(0) { read(buf, len, byteOrder); } template ValueType::ValueType(const T& val, TypeId typeId) : Value(typeId), pDataArea_(0), sizeDataArea_(0) { value_.push_back(val); } template ValueType::ValueType(const ValueType& rhs) : Value(rhs), value_(rhs.value_), pDataArea_(0), sizeDataArea_(0) { if (rhs.sizeDataArea_ > 0) { pDataArea_ = new byte[rhs.sizeDataArea_]; std::memcpy(pDataArea_, rhs.pDataArea_, rhs.sizeDataArea_); sizeDataArea_ = rhs.sizeDataArea_; } } template ValueType::~ValueType() { delete[] pDataArea_; } template ValueType& ValueType::operator=(const ValueType& rhs) { if (this == &rhs) return *this; Value::operator=(rhs); value_ = rhs.value_; byte* tmp = 0; if (rhs.sizeDataArea_ > 0) { tmp = new byte[rhs.sizeDataArea_]; std::memcpy(tmp, rhs.pDataArea_, rhs.sizeDataArea_); } delete[] pDataArea_; pDataArea_ = tmp; sizeDataArea_ = rhs.sizeDataArea_; return *this; } template int ValueType::read(const byte* buf, long len, ByteOrder byteOrder) { value_.clear(); long ts = TypeInfo::typeSize(typeId()); if (ts != 0) if (len % ts != 0) len = (len / ts) * ts; for (long i = 0; i < len; i += ts) { value_.push_back(getValue(buf + i, byteOrder)); } return 0; } template int ValueType::read(const std::string& buf) { std::istringstream is(buf); T tmp; ValueList val; while (!(is.eof())) { is >> tmp; if (is.fail()) return 1; val.push_back(tmp); } value_.swap(val); return 0; } template long ValueType::copy(byte* buf, ByteOrder byteOrder) const { long offset = 0; typename ValueList::const_iterator end = value_.end(); for (typename ValueList::const_iterator i = value_.begin(); i != end; ++i) { offset += toData(buf + offset, *i, byteOrder); } return offset; } template long ValueType::count() const { return static_cast(value_.size()); } template long ValueType::size() const { return static_cast(TypeInfo::typeSize(typeId()) * value_.size()); } template ValueType* ValueType::clone_() const { return new ValueType(*this); } template std::ostream& ValueType::write(std::ostream& os) const { typename ValueList::const_iterator end = value_.end(); typename ValueList::const_iterator i = value_.begin(); while (i != end) { os << std::setprecision(15) << *i; if (++i != end) os << " "; } return os; } template std::string ValueType::toString(long n) const { ok_ = true; return Exiv2::toString(value_[n]); } // Default implementation template long ValueType::toLong(long n) const { ok_ = true; return static_cast(value_[n]); } // Specialization for rational template<> inline long ValueType::toLong(long n) const { ok_ = (value_[n].second != 0); if (!ok_) return 0; return value_[n].first / value_[n].second; } // Specialization for unsigned rational template<> inline long ValueType::toLong(long n) const { ok_ = (value_[n].second != 0); if (!ok_) return 0; return value_[n].first / value_[n].second; } // Default implementation template float ValueType::toFloat(long n) const { ok_ = true; return static_cast(value_[n]); } // Specialization for rational template<> inline float ValueType::toFloat(long n) const { ok_ = (value_[n].second != 0); if (!ok_) return 0.0f; return static_cast(value_[n].first) / value_[n].second; } // Specialization for unsigned rational template<> inline float ValueType::toFloat(long n) const { ok_ = (value_[n].second != 0); if (!ok_) return 0.0f; return static_cast(value_[n].first) / value_[n].second; } // Default implementation template Rational ValueType::toRational(long n) const { ok_ = true; return Rational(value_[n], 1); } // Specialization for rational template<> inline Rational ValueType::toRational(long n) const { ok_ = true; return Rational(value_[n].first, value_[n].second); } // Specialization for unsigned rational template<> inline Rational ValueType::toRational(long n) const { ok_ = true; return Rational(value_[n].first, value_[n].second); } // Specialization for float. template<> inline Rational ValueType::toRational(long n) const { ok_ = true; // Warning: This is a very simple conversion, see floatToRationalCast() return floatToRationalCast(value_[n]); } // Specialization for double. template<> inline Rational ValueType::toRational(long n) const { ok_ = true; // Warning: This is a very simple conversion, see floatToRationalCast() return floatToRationalCast(static_cast(value_[n])); } template long ValueType::sizeDataArea() const { return sizeDataArea_; } template DataBuf ValueType::dataArea() const { return DataBuf(pDataArea_, sizeDataArea_); } template int ValueType::setDataArea(const byte* buf, long len) { byte* tmp = 0; if (len > 0) { tmp = new byte[len]; std::memcpy(tmp, buf, len); } delete[] pDataArea_; pDataArea_ = tmp; sizeDataArea_ = len; return 0; } } // namespace Exiv2 #endif // #ifndef VALUE_HPP_ exiv2-0.25/include/exiv2/version.hpp0000664000175000017500000001557412537570005017211 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file version.hpp @brief Precompiler define and a function to test the %Exiv2 version. References: Similar versioning defines are used in KDE, GTK and other libraries. See http://apr.apache.org/versioning.html for accompanying guidelines. @version $Rev: 3371 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 31-May-06, ahu: created */ #ifndef VERSION_HPP_ #define VERSION_HPP_ // ***************************************************************************** // included header files // + standard includes #include #include #if EXV_HAVE_REGEX #include typedef std::vector exv_grep_keys_t ; #else typedef std::vector exv_grep_keys_t ; #endif /*! @brief %Exiv2 MAJOR version number of the library used at compile-time. */ #define EXIV2_MAJOR_VERSION (0) /*! @brief %Exiv2 MINOR version number of the library used at compile-time. */ #define EXIV2_MINOR_VERSION (25) /*! @brief %Exiv2 PATCH version number of the library used at compile-time. */ #define EXIV2_PATCH_VERSION (0) /*! @brief Make an integer version number for comparison from a major, minor and a patch version number. */ #define EXIV2_MAKE_VERSION(major,minor,patch) \ (((major) << 16) | ((minor) << 8) | (patch)) /*! @brief The %Exiv2 version number of the library used at compile-time as an integer number for easy comparison. */ #define EXIV2_VERSION \ EXIV2_MAKE_VERSION(EXIV2_MAJOR_VERSION,EXIV2_MINOR_VERSION,EXIV2_PATCH_VERSION) /*! @brief Deprecated version check macro. Do not use. This macro has flaws and only remains for backward compatibility. Use EXIV2_TEST_VERSION and testVersion() instead. */ #define EXIV2_CHECK_VERSION(major,minor,patch) \ ( Exiv2::versionNumber() >= EXIV2_MAKE_VERSION(major,minor,patch) ) /*! @brief Macro to test the version of the available %Exiv2 library at compile-time. Return true if it is the same as or newer than the passed-in version. Versions are denoted using a triplet of integers: \em MAJOR.MINOR.PATCH . @code // Don't include the file directly, it is included by // . Early Exiv2 versions didn't have version.hpp and the macros. #include // Make sure an EXIV2_TEST_VERSION macro exists: #ifdef EXIV2_VERSION # ifndef EXIV2_TEST_VERSION # define EXIV2_TEST_VERSION(major,minor,patch) \ ( EXIV2_VERSION >= EXIV2_MAKE_VERSION(major,minor,patch) ) # endif #else # define EXIV2_TEST_VERSION(major,minor,patch) (false) #endif std::cout << "Compiled with Exiv2 version " << EXV_PACKAGE_VERSION << "\n" << "Runtime Exiv2 version is " << Exiv2::version() << "\n"; // Test the Exiv2 version available at runtime but compile the if-clause only if // the compile-time version is at least 0.15. Earlier versions didn't have a // testVersion() function: #if EXIV2_TEST_VERSION(0,15,0) if (Exiv2::testVersion(0,13,0)) { std::cout << "Available Exiv2 version is equal to or greater than 0.13\n"; } else { std::cout << "Installed Exiv2 version is less than 0.13\n"; } #else std::cout << "Compile-time Exiv2 version doesn't have Exiv2::testVersion()\n"; #endif @endcode */ #define EXIV2_TEST_VERSION(major,minor,patch) \ ( EXIV2_VERSION >= EXIV2_MAKE_VERSION(major,minor,patch) ) // ***************************************************************************** // namespace extensions namespace Exiv2 { /*! @brief Return the version of %Exiv2 available at runtime as an integer. */ EXIV2API int versionNumber(); /*! @brief Return the version string Example: "0.25.0" (major.minor.patch) */ EXIV2API std::string versionString(); /*! @brief Return the version of %Exiv2 as hex string of fixed length 6. */ EXIV2API std::string versionNumberHexString(); /*! @brief Return the version of %Exiv2 available at runtime as a string. */ EXIV2API const char* version(); /*! @brief Test the version of the available %Exiv2 library at runtime. Return true if it is the same as or newer than the passed-in version. Versions are denoted using a triplet of integers: \em major.minor.patch . @code // Don't include the file directly, it is included by // . Early Exiv2 versions didn't have version.hpp and the macros. #include // Make sure an EXIV2_TEST_VERSION macro exists: #ifdef EXIV2_VERSION # ifndef EXIV2_TEST_VERSION # define EXIV2_TEST_VERSION(major,minor,patch) \ ( EXIV2_VERSION >= EXIV2_MAKE_VERSION(major,minor,patch) ) # endif #else # define EXIV2_TEST_VERSION(major,minor,patch) (false) #endif std::cout << "Compiled with Exiv2 version " << EXV_PACKAGE_VERSION << "\n" << "Runtime Exiv2 version is " << Exiv2::version() << "\n"; // Test the Exiv2 version available at runtime but compile the if-clause only if // the compile-time version is at least 0.15. Earlier versions didn't have a // testVersion() function: #if EXIV2_TEST_VERSION(0,15,0) if (Exiv2::testVersion(0,13,0)) { std::cout << "Available Exiv2 version is equal to or greater than 0.13\n"; } else { std::cout << "Installed Exiv2 version is less than 0.13\n"; } #else std::cout << "Compile-time Exiv2 version doesn't have Exiv2::testVersion()\n"; #endif @endcode */ EXIV2API bool testVersion(int major, int minor, int patch); /*! @brief dumpLibraryInfo implements the exiv2 option --version --verbose used by exiv2 test suite to inspect libraries loaded at run-time */ EXIV2API void dumpLibraryInfo(std::ostream& os,const exv_grep_keys_t& keys); } // namespace Exiv2 #endif // VERSION_HPP_ exiv2-0.25/include/exiv2/xmpsidecar.hpp0000664000175000017500000001041312521135474017646 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file xmpsidecar.hpp @brief An Image subclass to support XMP sidecar files @version $Rev: 3090 $ @author Andreas Huggel ahuggel@gmx.net @date 07-Mar-08, ahu: created */ #ifndef XMPSIDECAR_HPP_ #define XMPSIDECAR_HPP_ // ***************************************************************************** // included header files #include "image.hpp" #include "basicio.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add XMP to the supported image formats namespace ImageType { const int xmp = 10; //!< XMP sidecar files (see class XmpSidecar) } /*! @brief Class to access XMP sidecar files. They contain only XMP metadata. */ class EXIV2API XmpSidecar : public Image { public: //! @name Creators //@{ /*! @brief Constructor for an XMP sidecar file. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @param create Specifies if an existing image should be read (false) or if a new image should be created (true). */ XmpSidecar(BasicIo::AutoPtr io, bool create); //@} //! @name Manipulators //@{ void readMetadata(); void writeMetadata(); /*! @brief Not supported. XMP sidecar files do not contain a comment. Calling this function will throw an instance of Error(32). */ void setComment(const std::string& comment); //@} //! @name Accessors //@{ std::string mimeType() const; //@} private: //! @name NOT Implemented //@{ //! Copy constructor XmpSidecar(const XmpSidecar& rhs); //! Assignment operator XmpSidecar& operator=(const XmpSidecar& rhs); //@} }; // class XmpSidecar // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new XmpSidecar instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newXmpInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is an XMP sidecar file. EXIV2API bool isXmpType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef XMPSIDECAR_HPP_ exiv2-0.25/include/exiv2/tags.hpp0000664000175000017500000002156512521135474016457 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file tags.hpp @brief Exif tag and type information @version $Rev: 3090 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 15-Jan-04, ahu: created
11-Feb-04, ahu: isolated as a component */ #ifndef TAGS_HPP_ #define TAGS_HPP_ // ***************************************************************************** // included header files #include "metadatum.hpp" #include "types.hpp" // + standard includes #include #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class declarations class ExifData; class ExifKey; class Value; struct TagInfo; // ***************************************************************************** // type definitions //! Type for a function pointer for functions interpreting the tag value typedef std::ostream& (*PrintFct)(std::ostream&, const Value&, const ExifData* pExifData); //! A function returning a tag list. typedef const TagInfo* (*TagListFct)(); // ***************************************************************************** // class definitions //! The details of an Exif group. Groups include IFDs and binary arrays. struct EXIV2API GroupInfo { struct GroupName; bool operator==(int ifdId) const; //!< Comparison operator for IFD id bool operator==(const GroupName& groupName) const; //!< Comparison operator for group name int ifdId_; //!< IFD id const char* ifdName_; //!< IFD name const char* groupName_; //!< Group name, unique for each group. TagListFct tagList_; //!< Tag list }; //! Search key to find a GroupInfo by its group name. struct EXIV2API GroupInfo::GroupName { GroupName(const std::string& groupName); //!< Constructor std::string g_; //!< Group name }; //! Tag information struct EXIV2API TagInfo { //! Constructor TagInfo( uint16_t tag, const char* name, const char* title, const char* desc, int ifdId, int sectionId, TypeId typeId, int16_t count, PrintFct printFct ); uint16_t tag_; //!< Tag const char* name_; //!< One word tag label const char* title_; //!< Tag title const char* desc_; //!< Short tag description int ifdId_; //!< Link to the (preferred) IFD int sectionId_; //!< Section id TypeId typeId_; //!< Type id int16_t count_; //!< The number of values (not bytes!), 0=any, -1=count not known. PrintFct printFct_; //!< Pointer to tag print function }; // struct TagInfo //! Access to Exif group and tag lists and misc. tag reference methods, implemented as a static class. class EXIV2API ExifTags { //! Prevent construction: not implemented. ExifTags(); //! Prevent copy-construction: not implemented. ExifTags(const ExifTags& rhs); //! Prevent assignment: not implemented. ExifTags& operator=(const ExifTags& rhs); public: //! Return read-only list of built-in groups static const GroupInfo* groupList(); //! Return read-only list of built-in \em groupName tags. static const TagInfo* tagList(const std::string& groupName); //! Print a list of all standard Exif tags to output stream static void taglist(std::ostream& os); //! Print the list of tags for \em groupName static void taglist(std::ostream& os, const std::string& groupName); //! Return the name of the section for an Exif \em key. static const char* sectionName(const ExifKey& key); //! Return the default number of components (not bytes!) \em key has. (0=any, -1=count not known) static uint16_t defaultCount(const ExifKey& key); //! Return the name of the IFD for the group. static const char* ifdName(const std::string& groupName); /*! @brief Return true if \em groupName is a makernote group. */ static bool isMakerGroup(const std::string& groupName); /*! @brief Return true if \em groupName is a TIFF or Exif IFD, else false. This is used to differentiate between standard Exif IFDs and IFDs associated with the makernote. */ static bool isExifGroup(const std::string& groupName); }; // class ExifTags /*! @brief Concrete keys for Exif metadata and access to Exif tag reference data. */ class EXIV2API ExifKey : public Key { public: //! Shortcut for an %ExifKey auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ /*! @brief Constructor to create an Exif key from a key string. @param key The key string. @throw Error if the first part of the key is not 'Exif' or the remainin parts of the key cannot be parsed and converted to a group name and tag name. */ explicit ExifKey(const std::string& key); /*! @brief Constructor to create an Exif key from the tag number and group name. @param tag The tag value @param groupName The name of the group, i.e., the second part of the Exif key. @throw Error if the key cannot be constructed from the tag number and group name. */ ExifKey(uint16_t tag, const std::string& groupName); /*! @brief Constructor to create an Exif key from a TagInfo instance. @param ti The TagInfo instance @throw Error if the key cannot be constructed from the tag number and group name. */ ExifKey(const TagInfo& ti); //! Copy constructor ExifKey(const ExifKey& rhs); //! Destructor virtual ~ExifKey(); //@} //! @name Manipulators //@{ /*! @brief Assignment operator. */ ExifKey& operator=(const ExifKey& rhs); //! Set the index. void setIdx(int idx); //@} //! @name Accessors //@{ virtual std::string key() const; virtual const char* familyName() const; virtual std::string groupName() const; //! Return the IFD id as an integer. (Do not use, this is meant for library internal use.) int ifdId() const; virtual std::string tagName() const; virtual uint16_t tag() const; virtual std::string tagLabel() const; //! Return the tag description. std::string tagDesc() const; // Todo: should be in the base class //! Return the default type id for this tag. TypeId defaultTypeId() const; // Todo: should be in the base class AutoPtr clone() const; //! Return the index (unique id of this key within the original Exif data, 0 if not set) int idx() const; //@} private: //! Internal virtual copy constructor. EXV_DLLLOCAL virtual ExifKey* clone_() const; private: // Pimpl idiom struct Impl; Impl* p_; }; // class ExifKey // ***************************************************************************** // free functions //! Output operator for TagInfo EXIV2API std::ostream& operator<<(std::ostream& os, const TagInfo& ti); } // namespace Exiv2 #endif // #ifndef TAGS_HPP_ exiv2-0.25/include/exiv2/jp2image.hpp0000664000175000017500000001161512521135474017212 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file jp2image.hpp @brief JPEG-2000 image, implemented using the following references: ISO/IEC JTC 1/SC 29/WG1 N2401: JPEG 2000 Part 6 FCD 15444-6
@version $Rev: 3091 $ @author Gilles Caulier (cgilles) caulier dot gilles at gmail dot com @author Marco Piovanelli, Ovolab (marco) marco.piovanelli@pobox.com @date 12-Mar-2007, marco: created */ #ifndef JP2IMAGE_HPP_ #define JP2IMAGE_HPP_ // ***************************************************************************** // included header files #include "exif.hpp" #include "iptc.hpp" #include "image.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add JPEG-2000 to the supported image formats namespace ImageType { const int jp2 = 15; //!< JPEG-2000 image type } /*! @brief Class to access JPEG-2000 images. */ class EXIV2API Jp2Image : public Image { public: //! @name Creators //@{ /*! @brief Constructor to open a JPEG-2000 image. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @param create Specifies if an existing image should be read (false) or if a new file should be created (true). */ Jp2Image(BasicIo::AutoPtr io, bool create); //@} //! @name Manipulators //@{ void readMetadata(); void writeMetadata(); /*! @brief Todo: Not supported yet(?). Calling this function will throw an instance of Error(32). */ void setComment(const std::string& comment); //@} //! @name Accessors //@{ std::string mimeType() const; //@} private: //! @name NOT Implemented //@{ //! Copy constructor Jp2Image(const Jp2Image& rhs); //! Assignment operator Jp2Image& operator=(const Jp2Image& rhs); /*! @brief Provides the main implementation of writeMetadata() by writing all buffered metadata to the provided BasicIo. @param oIo BasicIo instance to write to (a temporary location). @return 4 if opening or writing to the associated BasicIo fails */ EXV_DLLLOCAL void doWriteMetadata(BasicIo& oIo); //@} }; // class Jp2Image // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new Jp2Image instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newJp2Instance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a JPEG-2000 image. EXIV2API bool isJp2Type(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef JP2IMAGE_HPP_ exiv2-0.25/include/exiv2/bmpimage.hpp0000664000175000017500000001130612521135474017272 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file bmpimage.hpp @brief Windows Bitmap (BMP) image @version $Rev: 3091 $ @author Marco Piovanelli, Ovolab (marco) marco.piovanelli@pobox.com @date 05-Mar-2007, marco: created */ #ifndef BMPIMAGE_HPP_ #define BMPIMAGE_HPP_ // ***************************************************************************** // included header files #include "exif.hpp" #include "iptc.hpp" #include "image.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add Windows Bitmap (BMP) to the supported image formats namespace ImageType { const int bmp = 14; //!< Windows bitmap (bmp) image type (see class BmpImage) } /*! @brief Class to access Windows bitmaps. This is just a stub - we only read width and height. */ class EXIV2API BmpImage : public Image { //! @name NOT Implemented //@{ //! Copy constructor BmpImage(const BmpImage& rhs); //! Assignment operator BmpImage& operator=(const BmpImage& rhs); //@} public: //! @name Creators //@{ /*! @brief Constructor to open a Windows bitmap image. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. */ BmpImage(BasicIo::AutoPtr io); //@} //! @name Manipulators //@{ void readMetadata(); /*! @brief Todo: Write metadata back to the image. This method is not yet(?) implemented. Calling it will throw an Error(31). */ void writeMetadata(); /*! @brief Todo: Not supported yet(?). Calling this function will throw an instance of Error(32). */ void setExifData(const ExifData& exifData); /*! @brief Todo: Not supported yet(?). Calling this function will throw an instance of Error(32). */ void setIptcData(const IptcData& iptcData); /*! @brief Not supported. Calling this function will throw an instance of Error(32). */ void setComment(const std::string& comment); //@} //! @name Accessors //@{ std::string mimeType() const; //@} }; // class BmpImage // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new BmpImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newBmpInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a Windows Bitmap image. EXIV2API bool isBmpType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef BMPIMAGE_HPP_ exiv2-0.25/include/exiv2/metadatum.hpp0000664000175000017500000003037512521135474017501 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file metadatum.hpp @brief Provides abstract base classes Metadatum and Key @version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @author Brad Schick (brad) brad@robotbattle.com @date 09-Jan-04, ahu: created
31-Jul-04, brad: isolated as a component
23-Aug-04, ahu: added Key */ #ifndef METADATUM_HPP_ #define METADATUM_HPP_ // ***************************************************************************** // included header files #include "types.hpp" #include "value.hpp" // + standard includes #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class declarations class ExifData; // ***************************************************************************** // class definitions /*! @brief Abstract base class defining the %Key of a metadatum. Keys are used to identify and group metadata. */ class EXIV2API Key { public: //! Shortcut for a %Key auto pointer. typedef std::auto_ptr AutoPtr; //! @name Creators //@{ //! Destructor virtual ~Key(); //@} //! @name Accessors //@{ /*! @brief Return the key of the metadatum as a string. The key is of the form 'familyName.groupName.tagName'. Note however that the key is not necessarily unique, e.g., an ExifData may contain multiple metadata with the same key. */ virtual std::string key() const =0; //! Return an identifier for the type of metadata (the first part of the key) virtual const char* familyName() const =0; //! Return the name of the group (the second part of the key) virtual std::string groupName() const =0; //! Return the name of the tag (which is also the third part of the key) virtual std::string tagName() const =0; //! Return a label for the tag virtual std::string tagLabel() const =0; //! Return the tag number virtual uint16_t tag() const =0; /*! @brief Return an auto-pointer to a copy of itself (deep copy). The caller owns this copy and the auto-pointer ensures that it will be deleted. */ AutoPtr clone() const; /*! @brief Write the key to an output stream. You do not usually have to use this function; it is used for the implementation of the output operator for %Key, operator<<(std::ostream &os, const Key &key). */ std::ostream& write(std::ostream& os) const { return os << key(); } //@} protected: //! @name Manipulators //@{ /*! @brief Assignment operator. Protected so that it can only be used by subclasses but not directly. */ Key& operator=(const Key& rhs); //@} private: //! Internal virtual copy constructor. EXV_DLLLOCAL virtual Key* clone_() const =0; }; // class Key //! Output operator for Key types inline std::ostream& operator<<(std::ostream& os, const Key& key) { return key.write(os); } /*! @brief Abstract base class defining the interface to access information related to one metadata tag. */ class EXIV2API Metadatum { public: //! @name Creators //@{ //! Default Constructor Metadatum(); //! Copy constructor Metadatum(const Metadatum& rhs); //! Destructor virtual ~Metadatum(); //@} //! @name Manipulators //@{ /*! @brief Set the value. This method copies (clones) the value pointed to by pValue. */ virtual void setValue(const Value* pValue) =0; /*! @brief Set the value to the string buf. Uses Value::read(const std::string& buf). If the metadatum does not have a value yet, then one is created. See subclasses for more details. Return 0 if the value was read successfully. */ virtual int setValue(const std::string& buf) =0; //@} //! @name Accessors //@{ /*! @brief Write the interpreted value to a string. Implemented in terms of write(), see there. */ std::string print(const ExifData* pMetadata =0) const; /*! @brief Write value to a data buffer and return the number of bytes written. The user must ensure that the buffer has enough memory. Otherwise the call results in undefined behaviour. @param buf Data buffer to write to. @param byteOrder Applicable byte order (little or big endian). @return Number of characters written. */ virtual long copy(byte* buf, ByteOrder byteOrder) const =0; /*! @brief Write the interpreted value to an output stream, return the stream. The method takes an optional pointer to a metadata container. Pretty-print functions may use that to refer to other metadata as it is sometimes not sufficient to know only the value of the metadatum that should be interpreted. Thus, it is advisable to always call this method with a pointer to the metadata container if possible. This functionality is currently only implemented for Exif tags. The pointer is ignored when used to write IPTC datasets or XMP properties. Without the optional metadata pointer, you do not usually have to use this function; it is used for the implementation of the output operator for %Metadatum, operator<<(std::ostream &os, const Metadatum &md). See also print(), which prints the interpreted value to a string. */ virtual std::ostream& write( std::ostream& os, const ExifData* pMetadata =0 ) const =0; /*! @brief Return the key of the metadatum. The key is of the form 'familyName.groupName.tagName'. Note however that the key is not necessarily unique, e.g., an ExifData object may contain multiple metadata with the same key. */ virtual std::string key() const =0; //! Return the name of the metadata family (which is also the first part of the key) virtual const char* familyName() const =0; //! Return the name of the metadata group (which is also the second part of the key) virtual std::string groupName() const =0; //! Return the name of the tag (which is also the third part of the key) virtual std::string tagName() const =0; //! Return a label for the tag virtual std::string tagLabel() const =0; //! Return the tag virtual uint16_t tag() const =0; //! Return the type id of the value virtual TypeId typeId() const =0; //! Return the name of the type virtual const char* typeName() const =0; //! Return the size in bytes of one component of this type virtual long typeSize() const =0; //! Return the number of components in the value virtual long count() const =0; //! Return the size of the value in bytes virtual long size() const =0; //! Return the value as a string. virtual std::string toString() const =0; /*! @brief Return the n-th component of the value converted to a string. The behaviour of the method is undefined if there is no n-th component. */ virtual std::string toString(long n) const =0; /*! @brief Return the n-th component of the value converted to long. The return value is -1 if the value is not set and the behaviour of the method is undefined if there is no n-th component. */ virtual long toLong(long n =0) const =0; /*! @brief Return the n-th component of the value converted to float. The return value is -1 if the value is not set and the behaviour of the method is undefined if there is no n-th component. */ virtual float toFloat(long n =0) const =0; /*! @brief Return the n-th component of the value converted to Rational. The return value is -1/1 if the value is not set and the behaviour of the method is undefined if there is no n-th component. */ virtual Rational toRational(long n =0) const =0; /*! @brief Return an auto-pointer to a copy (clone) of the value. The caller owns this copy and the auto-poiner ensures that it will be deleted. This method is provided for users who need full control over the value. A caller may, e.g., downcast the pointer to the appropriate subclass of Value to make use of the interface of the subclass to set or modify its contents. @return An auto-pointer containing a pointer to a copy (clone) of the value, 0 if the value is not set. */ virtual Value::AutoPtr getValue() const =0; /*! @brief Return a constant reference to the value. This method is provided mostly for convenient and versatile output of the value which can (to some extent) be formatted through standard stream manipulators. Do not attempt to write to the value through this reference. An Error is thrown if the value is not set; as an alternative to catching it, one can use count() to check if there is any data before calling this method. @return A constant reference to the value. @throw Error if the value is not set. */ virtual const Value& value() const =0; //@} protected: //! @name Manipulators //@{ /*! @brief Assignment operator. Protected so that it can only be used by subclasses but not directly. */ Metadatum& operator=(const Metadatum& rhs); //@} }; // class Metadatum /*! @brief Output operator for Metadatum types, writing the interpreted tag value. */ inline std::ostream& operator<<(std::ostream& os, const Metadatum& md) { return md.write(os); } /*! @brief Compare two metadata by tag. Return true if the tag of metadatum lhs is less than that of rhs. */ EXIV2API bool cmpMetadataByTag(const Metadatum& lhs, const Metadatum& rhs); /*! @brief Compare two metadata by key. Return true if the key of metadatum lhs is less than that of rhs. */ EXIV2API bool cmpMetadataByKey(const Metadatum& lhs, const Metadatum& rhs); } // namespace Exiv2 #endif // #ifndef METADATUM_HPP_ exiv2-0.25/include/exiv2/futils.hpp0000664000175000017500000001671212535324477017035 0ustar andreasandreas// ********************************************************* -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file futils.hpp @brief Basic file utility functions required by Exiv2 @version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 12-Dec-03, ahu: created
02-Apr-05, ahu: moved to Exiv2 namespace */ #ifndef FUTILS_HPP_ #define FUTILS_HPP_ // ********************************************************************* // included header files #include "config.h" #include "types.hpp" #ifdef EXV_HAVE_STDINT_H # include // for uint8_t #endif // + standard includes #include #include #include // for UINT_MAX // ********************************************************************* // namespace extensions namespace Exiv2 { //! the name of environmental variables. enum EnVar { envHTTPPOST = 0, envTIMEOUT = 1}; //! the collection of protocols. enum Protocol { pFile = 0, pHttp, pFtp, pHttps, pSftp, pSsh, pFileUri, pDataUri, pStdin}; // ********************************************************************* // free functions /*! @brief Return the value of environmental variable. @param var The name of environmental variable. @return the value of environmental variable. If it's empty, the default value is returned. */ EXIV2API std::string getEnv(EnVar var); /*! @brief Convert an integer value to its hex character. @param code The integer value. @return the input's hex character. */ EXIV2API char to_hex(char code); /*! @brief Convert a hex character to its integer value. @param ch The hex character. @return the input's integer value. */ EXIV2API char from_hex(char ch); /*! @brief Encode the input url. @param str The url needs encoding. @return the url-encoded version of str. @note Be sure to free() the returned string after use Source: http://www.geekhideout.com/urlcode.shtml */ EXIV2API char* urlencode(char* str); /*! @brief Decode the input url. @param str The url needs decoding. @return the url-decoded version of str. @note Be sure to free() the returned string after use Source: http://www.geekhideout.com/urlcode.shtml */ EXIV2API char* urldecode(const char* str); /*! @brief Like urlencode(char* str) but accept the input url in the std::string and modify it. */ EXIV2API void urldecode(std::string& str); /*! @brief Encode in base64 the data in data_buf and put the resulting string in result. @param data_buf The data need to encode @param dataLength Size in bytes of the in buffer @param result The container for the result, NULL if it fails @param resultSize Size in bytes of the out string, it should be at least ((dataLength + 2) / 3) * 4 + 1 @return 1 indicate success @note Source: http://en.wikibooks.org/wiki/Algorithm_Implementation/Miscellaneous/Base64 */ EXIV2API int base64encode(const void* data_buf, size_t dataLength, char* result, size_t resultSize); /*! @brief Decode base64 data and put the resulting string in out. @param in The data need to decode. @param out The container for the result, it should be large enough to contain the result. @param out_size The size of out in bytes. @return the size of the resulting string. If it fails, return -1. @note Source: https://github.com/davidgaleano/libwebsockets/blob/master/lib/base64-decode.c */ EXIV2API long base64decode(const char *in, char *out, size_t out_size); /*! @brief Return the protocol of the path. @param path The path of file to extract the protocol. @return the protocol of the path. */ EXIV2API Protocol fileProtocol(const std::string& path); #ifdef EXV_UNICODE_PATH /*! @brief Like fileProtocol() but accept a unicode path in an std::wstring. @note This function is only available on Windows. */ EXIV2API Protocol fileProtocol(const std::wstring& wpath); #endif /*! @brief Test if a file exists. @param path Name of file to verify. @param ct Flag to check if path is a regular file. @return true if path exists and, if ct is set, is a regular file, else false. @note The function calls stat() test for path and its type, see stat(2). errno is left unchanged in case of an error. */ EXIV2API bool fileExists(const std::string& path, bool ct =false); #ifdef EXV_UNICODE_PATH /*! @brief Like fileExists(const std::string& path, bool ct =false) but accepts a unicode path in an std::wstring. @note This function is only available on Windows. */ EXIV2API bool fileExists(const std::wstring& wpath, bool ct =false); #endif /*! @brief Get the path of file URL. @param url The file URL in the format file:/// or file:///. @return the path of file URL. */ EXIV2API std::string pathOfFileUrl(const std::string& url); #ifdef EXV_UNICODE_PATH /*! @brief Like pathOfFileUrl(const std::string& url) but accepts a unicode path in an std::wstring. @note This function is only available on Windows. */ EXIV2API std::wstring pathOfFileUrl(const std::wstring& wurl); #endif /*! @brief Return a system error message and the error code (errno). See %strerror(3). */ EXIV2API std::string strError(); /*! @brief A container for URL components. It also provides the method to parse a URL to get the protocol, host, path, port, querystring, username, password. Source: http://stackoverflow.com/questions/2616011/easy-way-to-parse-a-url-in-c-cross-platform */ class Uri { public: // DATA std::string QueryString; //!< URL query string std::string Path; //!< URL file path std::string Protocol; //!< URL protocol std::string Host; //!< URL host std::string Port; //!< URL port std::string Username; //!< URL username std::string Password; //!< URL password /*! @brief Parse the input URL to the protocol, host, path, username, password */ static Uri EXIV2API Parse(const std::string &uri); /*! @brief Decode the url components. */ static void EXIV2API Decode(Uri& uri); }; // class Uri } // namespace Exiv2 #endif // #ifndef FUTILS_HPP_ exiv2-0.25/include/exiv2/exv_msvc-webready.h0000664000175000017500000001016412537570005020604 0ustar andreasandreas/* ***************************************************************** -*- C -*- */ /*! @file exv_msvc.h @brief Configuration settings for MSVC @version $Rev: 2320 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 07-Feb-04, ahu: created */ #ifdef _MSC_VER #ifndef _EXV_MSVC_H_ #define _EXV_MSVC_H_ #if _MSC_VER >= 1600 // stdint.h was introduced with DevStudio 2010 #define EXV_HAVE_STDINT_H 1 #endif #if _MSC_VER >= 1900 #define MSDEV_2014 1 #elif _MSC_VER >= 1800 #define MSDEV_2013 1 #elif _MSC_VER >= 1700 #define MSDEV_2012 1 #elif _MSC_VER >= 1600 #define MSDEV_2010 1 #elif _MSC_VER >= 1500 #define MSDEV_2008 1 #elif _MSC_VER >= 1400 #define MSDEV_2005 1 #else #define MSDEV_2003 1 #endif #if MSDEV_2012 #define HAVE_NTOHLL 1 #endif /* Define to 1 if you have the header file. */ // #define EXV_HAVE_REGEX 1 /* Define to 1 if you have the header file. */ #define EXV_HAVE_PROCESS_H 1 /* Define to the address where bug reports for this package should be sent. */ #define EXV_PACKAGE_BUGREPORT "ahuggel@gmx.net" /* Define to the full name of this package. */ #define EXV_PACKAGE_NAME "exiv2" /* Define to the full name and version of this package. */ #define EXV_PACKAGE_STRING "exiv2 0.25" /* Define to the one symbol short name of this package. */ #define EXV_PACKAGE_TARNAME "exiv2" /* Define to the version of this package. */ #define EXV_PACKAGE_VERSION "0.25" /* Define to `int' if does not define pid_t. */ typedef int pid_t; #ifndef EXV_COMMERCIAL_VERSION /* Define to 1 to enable translation of Nikon lens names. */ # define EXV_HAVE_LENSDATA 1 /* Define to 1 if translation of program messages to the user's native language is requested. */ # undef EXV_ENABLE_NLS #endif /* !EXV_COMMERCIAL_VERSION */ /* Define to 1 if you have the `iconv' function. */ # undef EXV_HAVE_ICONV #ifdef EXV_HAVE_ICONV #define EXV_ICONV_CONST const #endif /* Define as 1 if you have the `zlib' library. (0 to omit zlib) [png support] */ #define HAVE_LIBZ 1 #if HAVE_LIBZ #define EXV_HAVE_LIBZ // assist VC7.1 to compile vsnprintf #if (_MSC_VER < 1400) && !defined(vsnprintf) #define vsnprintf _vsnprintf #endif #endif /* Define to 1 if you have the Adobe XMP Toolkit. */ #define EXV_HAVE_XMP_TOOLKIT 1 /* Define to 1 to enable video/audio metadata support. */ # undef EXV_ENABLE_VIDEO /* Define to 1 to enable webready support. */ #define EXV_ENABLE_WEBREADY 1 /* Define as 1 if you want to use curl to perform http I/O */ #ifndef EXV_USE_CURL #define EXV_USE_CURL 1 #endif /* Define as 1 if you want to use libssh (for ssh:// and sftp:// support */ #ifndef EXV_USE_SSH #define EXV_USE_SSH 1 #endif /* Help out our buddy curl */ #ifndef EXV_HAVE_DLL #define CURL_STATICLIB #endif #pragma comment(lib, "ws2_32.lib") #pragma comment(lib, "wldap32.lib") /* File path separator */ #define EXV_SEPARATOR_STR "\\" #define EXV_SEPARATOR_CHR '\\' /* Windows unicode path support */ // #define EXV_UNICODE_PATH /* Define to 1 if you have the `mmap' function. */ /* #undef EXV_HAVE_MMAP */ /* Define to 1 if you have the `munmap' function. */ /* #undef EXV_HAVE_MUNMAP */ /* Shared library support */ #ifdef EXV_HAVE_DLL #define EXV_IMPORT __declspec(dllimport) #define EXV_EXPORT __declspec(dllexport) #define EXV_DLLLOCAL #define EXV_DLLPUBLIC #else #define EXV_IMPORT #define EXV_EXPORT #define EXV_DLLLOCAL #define EXV_DLLPUBLIC #define EXIV2API #endif /* Define EXIV2API for DLL builds */ #ifdef EXV_HAVE_DLL # ifdef EXV_BUILDING_LIB # define EXIV2API EXV_EXPORT # else # define EXIV2API EXV_IMPORT # endif /* ! EXV_BUILDING_LIB */ #else # define EXIV2API #endif /* ! EXV_HAVE_DLL */ /* Disable warning 4251. This is warning from std templates about exporting interfaces */ #ifdef EXV_HAVE_DLL #pragma warning( disable : 4251 ) #endif /* Visual Studio C++ 2005 (8.0) Disable warnings about 'deprecated' standard functions See, eg. http://www.informit.com/guides/content.asp?g=cplusplus&seqNum=259 */ #if _MSC_VER >= 1400 # pragma warning(disable : 4996) #endif #endif /* _EXV_MSVC_H_ */ #endif /* _MSC_VER */ exiv2-0.25/include/exiv2/rafimage.hpp0000664000175000017500000001202712521135474017265 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file rafimage.hpp @brief Fujifilm RAW image @version $Rev: 3090 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 05-Feb-07, ahu: created */ #ifndef RAFIMAGE_HPP_ #define RAFIMAGE_HPP_ // ***************************************************************************** // included header files #include "image.hpp" #include "basicio.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add RAF to the supported image formats namespace ImageType { const int raf = 8; //!< RAF image type (see class RafImage) } /*! @brief Class to access raw Fujifilm RAF images. Exif metadata is supported directly, IPTC is read from the Exif data, if present. */ class EXIV2API RafImage : public Image { public: //! @name Creators //@{ /*! @brief Constructor that can either open an existing RAF image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @param create Specifies if an existing image should be read (false) or if a new file should be created (true). */ RafImage(BasicIo::AutoPtr io, bool create); //@} //! @name Manipulators //@{ void readMetadata(); /*! @brief Todo: Write metadata back to the image. This method is not yet implemented. Calling it will throw an Error(31). */ void writeMetadata(); /*! @brief Todo: Not supported yet, requires writeMetadata(). Calling this function will throw an Error(32). */ void setExifData(const ExifData& exifData); /*! @brief Todo: Not supported yet, requires writeMetadata(). Calling this function will throw an Error(32). */ void setIptcData(const IptcData& iptcData); /*! @brief Not supported. RAF format does not contain a comment. Calling this function will throw an Error(32). */ void setComment(const std::string& comment); //@} //! @name Accessors //@{ std::string mimeType() const; int pixelWidth() const; int pixelHeight() const; //@} private: //! @name NOT implemented //@{ //! Copy constructor RafImage(const RafImage& rhs); //! Assignment operator RafImage& operator=(const RafImage& rhs); //@} }; // class RafImage // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new RafImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newRafInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a RAF image. EXIV2API bool isRafType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef RAFIMAGE_HPP_ exiv2-0.25/include/exiv2/config.h0000664000175000017500000000174512541544141016421 0ustar andreasandreas// config.h // #ifdef _MSC_VER # ifdef EXV_MSVC_CONFIGURE # include "exv_msvc_configure.h" # else # include "exv_msvc.h" # endif #else # include "exv_conf.h" #endif // Linux GCC 4.8 appears to be confused about strerror_r #ifndef EXV_STRERROR_R_CHAR_P #ifdef __gnu_linux__ #define EXV_STRERROR_R_CHAR_P #endif #endif #if defined(__MINGW32__) || defined(__MINGW64__) #ifndef __MING__ #define __MING__ 1 #endif // Don't know why MinGW refuses to link libregex #ifdef EXV_HAVE_REGEX #undef EXV_HAVE_REGEX #endif #endif #ifndef __CYGWIN__ #if defined(__CYGWIN32__) || defined(__CYGWIN64__) #define __CYGWIN__ 1 #endif #endif #ifndef __LITTLE_ENDIAN__ #if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ #define __LITTLE_ENDIAN__ 1 #endif #endif #endif #ifndef __LITTLE_ENDIAN__ #if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW__) #define __LITTLE_ENDIAN__ 1 #endif #endif // That's all Folks! // exiv2-0.25/include/exiv2/svn_version.h0000664000175000017500000000006112447013555017522 0ustar andreasandreas#ifndef SVN_VERSION #define SVN_VERSION 0 #endif exiv2-0.25/include/exiv2/tgaimage.hpp0000664000175000017500000001165312521135474017274 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file tgaimage.hpp @brief Truevision TARGA v2 image, implemented using the following references: Truevision TGA page on Wikipedia
TGA(tm) File Format Specification @version $Rev: 3090 $ @author Marco Piovanelli, Ovolab (marco) marco.piovanelli@pobox.com @date 05-Mar-2007, marco: created */ #ifndef TGAIMAGE_HPP_ #define TGAIMAGE_HPP_ // ***************************************************************************** // included header files #include "exif.hpp" #include "iptc.hpp" #include "image.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add TARGA to the supported image formats namespace ImageType { const int tga = 13; //!< Truevision TARGA (tga) image type (see class TgaImage) } /*! @brief Class to access raw TARGA images. This is just a stub - we only read width and height. */ class EXIV2API TgaImage : public Image { //! @name NOT Implemented //@{ //! Copy constructor TgaImage(const TgaImage& rhs); //! Assignment operator TgaImage& operator=(const TgaImage& rhs); //@} public: //! @name Creators //@{ /*! @brief Constructor to open a Targa image. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. */ TgaImage(BasicIo::AutoPtr io); //@} //! @name Manipulators //@{ void readMetadata(); /*! @brief Todo: Write metadata back to the image. This method is not yet(?) implemented. Calling it will throw an Error(31). */ void writeMetadata(); /*! @brief Todo: Not supported yet(?). Calling this function will throw an instance of Error(32). */ void setExifData(const ExifData& exifData); /*! @brief Todo: Not supported yet(?). Calling this function will throw an instance of Error(32). */ void setIptcData(const IptcData& iptcData); /*! @brief Not supported. Calling this function will throw an instance of Error(32). */ void setComment(const std::string& comment); //@} //! @name Accessors //@{ std::string mimeType() const; //@} }; // class TgaImage // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new TgaImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newTgaInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a Targa v2 image. EXIV2API bool isTgaType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef TGAIMAGE_HPP_ exiv2-0.25/include/exiv2/cr2image.hpp0000664000175000017500000001311012521135474017175 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file cr2image.hpp @brief Class Cr2Image @version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 22-Apr-06, ahu: created */ #ifndef CR2IMAGE_HPP_ #define CR2IMAGE_HPP_ // ***************************************************************************** // included header files #include "image.hpp" #include "basicio.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add CR2 to the supported image formats namespace ImageType { const int cr2 = 7; //!< CR2 image type (see class Cr2Image) } /*! @brief Class to access raw Canon CR2 images. Exif metadata is supported directly, IPTC is read from the Exif data, if present. */ class EXIV2API Cr2Image : public Image { public: //! @name Creators //@{ /*! @brief Constructor that can either open an existing CR2 image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @param create Specifies if an existing image should be read (false) or if a new file should be created (true). */ Cr2Image(BasicIo::AutoPtr io, bool create); //@} //! @name Manipulators //@{ void readMetadata(); void writeMetadata(); /*! @brief Not supported. CR2 format does not contain a comment. Calling this function will throw an Error(32). */ void setComment(const std::string& comment); //@} //! @name Accessors //@{ std::string mimeType() const; int pixelWidth() const; int pixelHeight() const; //@} private: //! @name NOT implemented //@{ //! Copy constructor Cr2Image(const Cr2Image& rhs); //! Assignment operator Cr2Image& operator=(const Cr2Image& rhs); //@} }; // class Cr2Image /*! @brief Stateless parser class for data in CR2 format. Images use this class to decode and encode CR2 data. See class TiffParser for details. */ class EXIV2API Cr2Parser { public: /*! @brief Decode metadata from a buffer \em pData of length \em size with data in CR2 format to the provided metadata containers. See TiffParser::decode(). */ static ByteOrder decode( ExifData& exifData, IptcData& iptcData, XmpData& xmpData, const byte* pData, uint32_t size ); /*! @brief Encode metadata from the provided metadata to CR2 format. See TiffParser::encode(). */ static WriteMethod encode( BasicIo& io, const byte* pData, uint32_t size, ByteOrder byteOrder, const ExifData& exifData, const IptcData& iptcData, const XmpData& xmpData ); }; // class Cr2Parser // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new Cr2Image instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newCr2Instance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a CR2 image. EXIV2API bool isCr2Type(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef CR2IMAGE_HPP_ exiv2-0.25/include/exiv2/jpgimage.hpp0000664000175000017500000004466312523623336017311 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file jpgimage.hpp @brief Class JpegImage to access JPEG images @version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @author Brad Schick (brad) brad@robotbattle.com @author Volker Grabsch (vog) vog@notjusthosting.com @author Michael Ulbrich (mul) mul@rentapacs.de @date 15-Jan-05, brad: split out from image.cpp */ #ifndef JPGIMAGE_HPP_ #define JPGIMAGE_HPP_ // ***************************************************************************** // included header files #include "image.hpp" #include "basicio.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Supported JPEG image formats namespace ImageType { const int jpeg = 1; //!< JPEG image type (see class JpegImage) const int exv = 2; //!< EXV image type (see class ExvImage) } /*! @brief Helper class, has methods to deal with %Photoshop "Information Resource Blocks" (IRBs). */ struct EXIV2API Photoshop { // Todo: Public for now static const char ps3Id_[]; //!< %Photoshop marker static const char* irbId_[]; //!< %Photoshop IRB markers static const char bimId_[]; //!< %Photoshop IRB marker (deprecated) static const uint16_t iptc_; //!< %Photoshop IPTC marker static const uint16_t preview_; //!< %Photoshop preview marker /*! @brief Checks an IRB @param pPsData Existing IRB buffer @param sizePsData Size of the IRB buffer @return true if the IRB marker is known and the buffer is big enough to check this;
false otherwise */ static bool isIrb(const byte* pPsData, long sizePsData); /*! @brief Validates all IRBs @param pPsData Existing IRB buffer @param sizePsData Size of the IRB buffer, may be 0 @return true if all IRBs are valid;
false otherwise */ static bool valid(const byte* pPsData, long sizePsData); /*! @brief Locates the data for a %Photoshop tag in a %Photoshop formated memory buffer. Operates on raw data to simplify reuse. @param pPsData Pointer to buffer containing entire payload of %Photoshop formated data, e.g., from APP13 Jpeg segment. @param sizePsData Size in bytes of pPsData. @param psTag %Tag number of the block to look for. @param record Output value that is set to the start of the data block within pPsData (may not be null). @param sizeHdr Output value that is set to the size of the header within the data block pointed to by record (may not be null). @param sizeData Output value that is set to the size of the actual data within the data block pointed to by record (may not be null). @return 0 if successful;
3 if no data for psTag was found in pPsData;
-2 if the pPsData buffer does not contain valid data. */ static int locateIrb(const byte *pPsData, long sizePsData, uint16_t psTag, const byte **record, uint32_t *const sizeHdr, uint32_t *const sizeData); /*! @brief Forwards to locateIrb() with \em psTag = \em iptc_ */ static int locateIptcIrb(const byte *pPsData, long sizePsData, const byte **record, uint32_t *const sizeHdr, uint32_t *const sizeData); /*! @brief Forwards to locatePreviewIrb() with \em psTag = \em preview_ */ static int locatePreviewIrb(const byte *pPsData, long sizePsData, const byte **record, uint32_t *const sizeHdr, uint32_t *const sizeData); /*! @brief Set the new IPTC IRB, keeps existing IRBs but removes the IPTC block if there is no new IPTC data to write. @param pPsData Existing IRB buffer @param sizePsData Size of the IRB buffer, may be 0 @param iptcData Iptc data to embed, may be empty @return A data buffer containing the new IRB buffer, may have 0 size */ static DataBuf setIptcIrb(const byte* pPsData, long sizePsData, const IptcData& iptcData); }; // class Photoshop /*! @brief Abstract helper base class to access JPEG images. */ class EXIV2API JpegBase : public Image { public: //! @name Manipulators //@{ void readMetadata(); void writeMetadata(); /*! @brief Print out the structure of image file. @throw Error if reading of the file fails or the image data is not valid (does not look like data of the specific image type). @caution This function is not thread safe and intended for exiv2 -pS for debugging. */ void printStructure(std::ostream& out, PrintStructureOption option); //@} protected: //! @name Creators //@{ /*! @brief Constructor that can either open an existing image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. @param type Image type. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @param create Specifies if an existing image should be read (false) or if a new image should be created (true). @param initData Data to initialize newly created images. Only used when \em create is true. Should contain data for the smallest valid image of the calling subclass. @param dataSize Size of initData in bytes. */ JpegBase(int type, BasicIo::AutoPtr io, bool create, const byte initData[], long dataSize); //@} //! @name Accessors //@{ /*! @brief Determine if the content of the BasicIo instance is of the type supported by this class. The advance flag determines if the read position in the stream is moved (see below). This applies only if the type matches and the function returns true. If the type does not match, the stream position is not changed. However, if reading from the stream fails, the stream position is undefined. Consult the stream state to obtain more information in this case. @param iIo BasicIo instance to read from. @param advance Flag indicating whether the position of the io should be advanced by the number of characters read to analyse the data (true) or left at its original position (false). This applies only if the type matches. @return true if the data matches the type of this class;
false if the data does not match */ virtual bool isThisType(BasicIo& iIo, bool advance) const =0; //@} //! @name Manipulators //@{ /*! @brief Writes the image header (aka signature) to the BasicIo instance. @param oIo BasicIo instance that the header is written to. @return 0 if successful;
4 if the output file can not be written to */ virtual int writeHeader(BasicIo& oIo) const =0; //@} // Constant Data static const byte dht_; //!< JPEG DHT marker static const byte dqt_; //!< JPEG DQT marker static const byte dri_; //!< JPEG DRI marker static const byte sos_; //!< JPEG SOS marker static const byte eoi_; //!< JPEG EOI marker static const byte app0_; //!< JPEG APP0 marker static const byte app1_; //!< JPEG APP1 marker static const byte app13_; //!< JPEG APP13 marker static const byte com_; //!< JPEG Comment marker static const byte sof0_; //!< JPEG Start-Of-Frame marker static const byte sof1_; //!< JPEG Start-Of-Frame marker static const byte sof2_; //!< JPEG Start-Of-Frame marker static const byte sof3_; //!< JPEG Start-Of-Frame marker static const byte sof5_; //!< JPEG Start-Of-Frame marker static const byte sof6_; //!< JPEG Start-Of-Frame marker static const byte sof7_; //!< JPEG Start-Of-Frame marker static const byte sof9_; //!< JPEG Start-Of-Frame marker static const byte sof10_; //!< JPEG Start-Of-Frame marker static const byte sof11_; //!< JPEG Start-Of-Frame marker static const byte sof13_; //!< JPEG Start-Of-Frame marker static const byte sof14_; //!< JPEG Start-Of-Frame marker static const byte sof15_; //!< JPEG Start-Of-Frame marker static const char exifId_[]; //!< Exif identifier static const char jfifId_[]; //!< JFIF identifier static const char xmpId_[]; //!< XMP packet identifier private: //! @name NOT implemented //@{ //! Default constructor. JpegBase(); //! Copy constructor JpegBase(const JpegBase& rhs); //! Assignment operator JpegBase& operator=(const JpegBase& rhs); //@} //! @name Manipulators //@{ /*! @brief Initialize the image with the provided data. @param initData Data to be written to the associated BasicIo @param dataSize Size in bytes of data to be written @return 0 if successful;
4 if the image can not be written to. */ EXV_DLLLOCAL int initImage(const byte initData[], long dataSize); /*! @brief Provides the main implementation of writeMetadata() by writing all buffered metadata to the provided BasicIo. @param oIo BasicIo instance to write to (a temporary location). @return 4 if opening or writing to the associated BasicIo fails */ EXV_DLLLOCAL void doWriteMetadata(BasicIo& oIo); //@} //! @name Accessors //@{ /*! @brief Advances associated io instance to one byte past the next Jpeg marker and returns the marker. This method should be called when the BasicIo instance is positioned one byte past the end of a Jpeg segment. @return the next Jpeg segment marker if successful;
-1 if a maker was not found before EOF */ EXV_DLLLOCAL int advanceToMarker() const; //@} }; // class JpegBase /*! @brief Class to access JPEG images */ class EXIV2API JpegImage : public JpegBase { friend EXIV2API bool isJpegType(BasicIo& iIo, bool advance); public: //! @name Creators //@{ /*! @brief Constructor that can either open an existing Jpeg image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @param create Specifies if an existing image should be read (false) or if a new file should be created (true). */ JpegImage(BasicIo::AutoPtr io, bool create); //@} //! @name Accessors //@{ std::string mimeType() const; //@} protected: //! @name Accessors //@{ bool isThisType(BasicIo& iIo, bool advance) const; //@} //! @name Manipulators //@{ /*! @brief Writes a Jpeg header (aka signature) to the BasicIo instance. @param oIo BasicIo instance that the header is written to. @return 0 if successful;
2 if the input image is invalid or can not be read;
4 if the temporary image can not be written to;
-3 other temporary errors */ int writeHeader(BasicIo& oIo) const; //@} private: // Constant data static const byte soi_; // SOI marker static const byte blank_[]; // Minimal Jpeg image // NOT Implemented //! Default constructor JpegImage(); //! Copy constructor JpegImage(const JpegImage& rhs); //! Assignment operator JpegImage& operator=(const JpegImage& rhs); }; // class JpegImage //! Helper class to access %Exiv2 files class EXIV2API ExvImage : public JpegBase { friend EXIV2API bool isExvType(BasicIo& iIo, bool advance); public: //! @name Creators //@{ /*! @brief Constructor that can either open an existing EXV image or create a new image from scratch. If a new image is to be created, any existing data is overwritten. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @param create Specifies if an existing image should be read (false) or if a new file should be created (true). */ ExvImage(BasicIo::AutoPtr io, bool create); //@} //! @name Accessors //@{ std::string mimeType() const; //@} protected: //! @name Accessors //@{ bool isThisType(BasicIo& iIo, bool advance) const; //@} //! @name Manipulators //@{ int writeHeader(BasicIo& oIo) const; //@} private: // Constant data static const char exiv2Id_[]; // EXV identifier static const byte blank_[]; // Minimal exiv2 file // NOT Implemented //! Default constructor ExvImage(); //! Copy constructor ExvImage(const ExvImage& rhs); //! Assignment operator ExvImage& operator=(const ExvImage& rhs); }; // class ExvImage // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new JpegImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newJpegInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a JPEG image. EXIV2API bool isJpegType(BasicIo& iIo, bool advance); /*! @brief Create a new ExvImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newExvInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is an EXV file EXIV2API bool isExvType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef JPGIMAGE_HPP_ exiv2-0.25/include/exiv2/epsimage.hpp0000664000175000017500000001166112521135474017307 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file epsimage.hpp @brief EPS image.
References:
[1] Adobe PostScript Language Document Structuring Conventions Specification, Version 3.0, September 1992
[2] Adobe Encapsulated PostScript File Format Specification, Version 3.0, May 1992
[3] Adobe XMP Specification Part 3: Storage in Files, July 2010
[4] Re: Thumbnail data format in ai file, Dec 2003 @version $Rev: $ @author Michael Ulbrich (mul) mul@rentapacs.de @author Volker Grabsch (vog) vog@notjusthosting.com @date 7-Mar-2011, vog: created */ #ifndef EPSIMAGE_HPP_ #define EPSIMAGE_HPP_ // ***************************************************************************** // included header files #include "image.hpp" #include "types.hpp" // + standard includes #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add EPS to the supported image formats namespace ImageType { const int eps = 18; //!< EPS image type } /*! @brief Class to access EPS images. */ class EXIV2API EpsImage : public Image { public: //! @name Creators //@{ /*! @brief Constructor to open a EPS image. Since the constructor can't return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @param create Specifies if an existing image should be read (false) or if a new file should be created (true). */ EpsImage(BasicIo::AutoPtr io, bool create); //@} //! @name Manipulators //@{ void readMetadata(); void writeMetadata(); /*! @brief Not supported. Calling this function will throw an instance of Error(32). */ void setComment(const std::string& comment); //@} //! @name Accessors //@{ std::string mimeType() const; //@} private: //! @name NOT Implemented //@{ //! Copy constructor EpsImage(const EpsImage& rhs); //! Assignment operator EpsImage& operator=(const EpsImage& rhs); //@} }; // class EpsImage // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new EpsImage instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newEpsInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a EPS image. EXIV2API bool isEpsType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef EPSIMAGE_HPP_ exiv2-0.25/include/exiv2/easyaccess.hpp0000664000175000017500000000742412521135474017642 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file easyaccess.hpp @brief Provides easy (high-level) access to some Exif meta data. @version $Rev: 3091 $ @author Carsten Pfeiffer @date 28-Feb-09, gis: created */ #ifndef EASYACCESS_HPP_ #define EASYACCESS_HPP_ // ***************************************************************************** // included header files #include "exif.hpp" namespace Exiv2 { // ***************************************************************************** // class declarations class ExifData; //! Return the orientation of the image EXIV2API ExifData::const_iterator orientation(const ExifData& ed); //! Return the ISO speed used to shoot the image EXIV2API ExifData::const_iterator isoSpeed(const ExifData& ed); //! Return the flash bias value EXIV2API ExifData::const_iterator flashBias(const ExifData& ed); //! Return the exposure mode setting EXIV2API ExifData::const_iterator exposureMode(const ExifData& ed); //! Return the scene mode setting EXIV2API ExifData::const_iterator sceneMode(const ExifData& ed); //! Return the macro mode setting EXIV2API ExifData::const_iterator macroMode(const ExifData& ed); //! Return the image quality setting EXIV2API ExifData::const_iterator imageQuality(const ExifData& ed); //! Return the white balance setting EXIV2API ExifData::const_iterator whiteBalance(const ExifData& ed); //! Return the name of the lens used EXIV2API ExifData::const_iterator lensName(const ExifData& ed); //! Return the saturation level EXIV2API ExifData::const_iterator saturation(const ExifData& ed); //! Return the sharpness level EXIV2API ExifData::const_iterator sharpness(const ExifData& ed); //! Return the contrast level EXIV2API ExifData::const_iterator contrast(const ExifData& ed); //! Return the scene capture type EXIV2API ExifData::const_iterator sceneCaptureType(const ExifData& ed); //! Return the metering mode setting EXIV2API ExifData::const_iterator meteringMode(const ExifData& ed); //! Return the camera make EXIV2API ExifData::const_iterator make(const ExifData& ed); //! Return the camera model EXIV2API ExifData::const_iterator model(const ExifData& ed); //! Return the exposure time EXIV2API ExifData::const_iterator exposureTime(const ExifData& ed); //! Return the F number EXIV2API ExifData::const_iterator fNumber(const ExifData& ed); //! Return the subject distance EXIV2API ExifData::const_iterator subjectDistance(const ExifData& ed); //! Return the camera serial number EXIV2API ExifData::const_iterator serialNumber(const ExifData& ed); //! Return the focal length setting EXIV2API ExifData::const_iterator focalLength(const ExifData& ed); //! Return the AF point EXIV2API ExifData::const_iterator afPoint(const ExifData& ed); } // namespace Exiv2 #endif // EASYACCESS_HPP_ exiv2-0.25/include/exiv2/image.hpp0000664000175000017500000007074112523623336016604 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file image.hpp @brief Class Image, defining the interface for all Image subclasses. @version $Rev: 3091 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @author Brad Schick (brad) brad@robotbattle.com @date 09-Jan-04, ahu: created
11-Feb-04, ahu: isolated as a component
19-Jul-04, brad: revamped to be more flexible and support IPTC
15-Jan-05, brad: inside-out design changes */ #ifndef IMAGE_HPP_ #define IMAGE_HPP_ // ***************************************************************************** // included header files #include "types.hpp" #include "basicio.hpp" #include "exif.hpp" #include "iptc.hpp" #include "xmp.hpp" // + standard includes #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions //! Supported image formats namespace ImageType { const int none = 0; //!< Not an image } //! Native preview information. This is meant to be used only by the PreviewManager. struct NativePreview { long position_; //!< Position uint32_t size_; //!< Size uint32_t width_; //!< Width uint32_t height_; //!< Height std::string filter_; //!< Filter std::string mimeType_; //!< MIME type }; //! List of native previews. This is meant to be used only by the PreviewManager. typedef std::vector NativePreviewList; /*! @brief Options for printStructure */ typedef enum { kpsNone, kpsBasic, kpsXMP } PrintStructureOption; /*! @brief Abstract base class defining the interface for an image. This is the top-level interface to the Exiv2 library. Image has containers to store image metadata and subclasses implement read and save metadata from and to specific image formats.
Most client apps will obtain an Image instance by calling a static ImageFactory method. The Image class can then be used to to read, write, and save metadata. */ class EXIV2API Image { public: //! Image auto_ptr type typedef std::auto_ptr AutoPtr; //! @name Creators //@{ /*! @brief Constructor taking the image type, a bitmap of the supported metadata types and an auto-pointer that owns an IO instance. See subclass constructor doc. */ Image(int imageType, uint16_t supportedMetadata, BasicIo::AutoPtr io); //! Virtual Destructor virtual ~Image(); //@} //! @name Manipulators //@{ /*! @brief Print out the structure of image file. @throw Error if reading of the file fails or the image data is not valid (does not look like data of the specific image type). @caution This function is not thread safe and intended for exiv2 -pS for debugging. */ virtual void printStructure(std::ostream& out, PrintStructureOption option =kpsNone); /*! @brief Read all metadata supported by a specific image format from the image. Before this method is called, the image metadata will be cleared. This method returns success even if no metadata is found in the image. Callers must therefore check the size of individual metadata types before accessing the data. @throw Error if opening or reading of the file fails or the image data is not valid (does not look like data of the specific image type). */ virtual void readMetadata() =0; /*! @brief Write metadata back to the image. All existing metadata sections in the image are either created, replaced, or erased. If values for a given metadata type have been assigned, a section for that metadata type will either be created or replaced. If no values have been assigned to a given metadata type, any exists section for that metadata type will be removed from the image. @throw Error if the operation fails */ virtual void writeMetadata() =0; /*! @brief Assign new Exif data. The new Exif data is not written to the image until the writeMetadata() method is called. @param exifData An ExifData instance holding Exif data to be copied */ virtual void setExifData(const ExifData& exifData); /*! @brief Erase any buffered Exif data. Exif data is not removed from the actual image until the writeMetadata() method is called. */ virtual void clearExifData(); /*! @brief Assign new IPTC data. The new IPTC data is not written to the image until the writeMetadata() method is called. @param iptcData An IptcData instance holding IPTC data to be copied */ virtual void setIptcData(const IptcData& iptcData); /*! @brief Erase any buffered IPTC data. IPTC data is not removed from the actual image until the writeMetadata() method is called. */ virtual void clearIptcData(); /*! @brief Assign a raw XMP packet. The new XMP packet is not written to the image until the writeMetadata() method is called. Subsequent calls to writeMetadata() write the XMP packet from the buffered raw XMP packet rather than from buffered parsed XMP data. In order to write from parsed XMP data again, use either writeXmpFromPacket(false) or setXmpData(). @param xmpPacket A string containing the raw XMP packet. */ virtual void setXmpPacket(const std::string& xmpPacket); /*! @brief Erase the buffered XMP packet. XMP data is not removed from the actual image until the writeMetadata() method is called. This has the same effect as clearXmpData() but operates on the buffered raw XMP packet only, not the parsed XMP data. Subsequent calls to writeMetadata() write the XMP packet from the buffered raw XMP packet rather than from buffered parsed XMP data. In order to write from parsed XMP data again, use either writeXmpFromPacket(false) or setXmpData(). */ virtual void clearXmpPacket(); /*! @brief Assign new XMP data. The new XMP data is not written to the image until the writeMetadata() method is called. Subsequent calls to writeMetadata() encode the XMP data to a raw XMP packet and write the newly encoded packet to the image. In the process, the buffered raw XMP packet is updated. In order to write directly from the raw XMP packet, use writeXmpFromPacket(true) or setXmpPacket(). @param xmpData An XmpData instance holding XMP data to be copied */ virtual void setXmpData(const XmpData& xmpData); /*! @brief Erase any buffered XMP data. XMP data is not removed from the actual image until the writeMetadata() method is called. This has the same effect as clearXmpPacket() but operates on the buffered parsed XMP data. Subsequent calls to writeMetadata() encode the XMP data to a raw XMP packet and write the newly encoded packet to the image. In the process, the buffered raw XMP packet is updated. In order to write directly from the raw XMP packet, use writeXmpFromPacket(true) or setXmpPacket(). */ virtual void clearXmpData(); /*! @brief Set the image comment. The new comment is not written to the image until the writeMetadata() method is called. @param comment String containing comment. */ virtual void setComment(const std::string& comment); /*! @brief Erase any buffered comment. Comment is not removed from the actual image until the writeMetadata() method is called. */ virtual void clearComment(); /*! @brief Copy all existing metadata from source Image. The data is copied into internal buffers and is not written to the image until the writeMetadata() method is called. @param image Metadata source. All metadata types are copied. */ virtual void setMetadata(const Image& image); /*! @brief Erase all buffered metadata. Metadata is not removed from the actual image until the writeMetadata() method is called. */ virtual void clearMetadata(); /*! @brief Returns an ExifData instance containing currently buffered Exif data. The contained Exif data may have been read from the image by a previous call to readMetadata() or added directly. The Exif data in the returned instance will be written to the image when writeMetadata() is called. @return modifiable ExifData instance containing Exif values */ virtual ExifData& exifData(); /*! @brief Returns an IptcData instance containing currently buffered IPTC data. The contained IPTC data may have been read from the image by a previous call to readMetadata() or added directly. The IPTC data in the returned instance will be written to the image when writeMetadata() is called. @return modifiable IptcData instance containing IPTC values */ virtual IptcData& iptcData(); /*! @brief Returns an XmpData instance containing currently buffered XMP data. The contained XMP data may have been read from the image by a previous call to readMetadata() or added directly. The XMP data in the returned instance will be written to the image when writeMetadata() is called. @return modifiable XmpData instance containing XMP values */ virtual XmpData& xmpData(); /*! @brief Return a modifiable reference to the raw XMP packet. */ virtual std::string& xmpPacket(); /*! @brief Determine the source when writing XMP. Depending on the setting of this flag, writeMetadata() writes XMP from the buffered raw XMP packet or from parsed XMP data. The default is to write from parsed XMP data. The switch is also set by all functions to set and clear the buffered raw XMP packet and parsed XMP data, so using this function should usually not be necessary. If %Exiv2 was compiled without XMP support, the default for this flag is true and it will never be changed in order to preserve access to the raw XMP packet. */ void writeXmpFromPacket(bool flag); /*! @brief Set the byte order to encode the Exif metadata in. The setting is only used when new Exif metadata is created and may not be applicable at all for some image formats. If the target image already contains Exif metadata, the byte order of the existing data is used. If byte order is not set when writeMetadata() is called, little-endian byte order (II) is used by default. */ void setByteOrder(ByteOrder byteOrder); //@} //! @name Accessors //@{ /*! @brief Return the byte order in which the Exif metadata of the image is encoded. Initially, it is not set (\em invalidByteOrder). */ ByteOrder byteOrder() const; /*! @brief Check if the Image instance is valid. Use after object construction. @return true if the Image is in a valid state. */ bool good() const; /*! @brief Return the MIME type of the image. @note For each supported image format, the library knows only one MIME type. This may not be the most specific MIME type for that format. In particular, several RAW formats are variants of the TIFF format with the same magic as TIFF itself. Class TiffImage handles most of them and thus they all have MIME type "image/tiff", although a more specific MIME type may exist (e.g., "image/x-nikon-nef"). */ virtual std::string mimeType() const =0; /*! @brief Return the pixel width of the image. */ virtual int pixelWidth() const; /*! @brief Return the pixel height of the image. */ virtual int pixelHeight() const; /*! @brief Returns an ExifData instance containing currently buffered Exif data. The Exif data may have been read from the image by a previous call to readMetadata() or added directly. The Exif data in the returned instance will be written to the image when writeMetadata() is called. @return read only ExifData instance containing Exif values */ virtual const ExifData& exifData() const; /*! @brief Returns an IptcData instance containing currently buffered IPTC data. The contained IPTC data may have been read from the image by a previous call to readMetadata() or added directly. The IPTC data in the returned instance will be written to the image when writeMetadata() is called. @return modifiable IptcData instance containing IPTC values */ virtual const IptcData& iptcData() const; /*! @brief Returns an XmpData instance containing currently buffered XMP data. The contained XMP data may have been read from the image by a previous call to readMetadata() or added directly. The XMP data in the returned instance will be written to the image when writeMetadata() is called. @return modifiable XmpData instance containing XMP values */ virtual const XmpData& xmpData() const; /*! @brief Return a copy of the image comment. May be an empty string. */ virtual std::string comment() const; /*! @brief Return the raw XMP packet as a string. */ virtual const std::string& xmpPacket() const; /*! @brief Return a reference to the BasicIo instance being used for Io. This refence is particularly useful to reading the results of operations on a MemIo instance. For example after metadata has been modified and the writeMetadata() method has been called, this method can be used to get access to the modified image. @return BasicIo instance that can be used to read or write image data directly. @note If the returned BasicIo is used to write to the image, the Image class will not see those changes until the readMetadata() method is called. */ virtual BasicIo& io() const; /*! @brief Returns the access mode, i.e., the metadata functions, which this image supports for the metadata type \em metadataId. @param metadataId The metadata identifier. @return Access mode for the requested image type and metadata identifier. */ AccessMode checkMode(MetadataId metadataId) const; /*! @brief Check if image supports a particular type of metadata. This method is deprecated. Use checkMode() instead. */ bool supportsMetadata(MetadataId metadataId) const; //! Return the flag indicating the source when writing XMP metadata. bool writeXmpFromPacket() const; //! Return list of native previews. This is meant to be used only by the PreviewManager. const NativePreviewList& nativePreviews() const; //@} protected: // DATA BasicIo::AutoPtr io_; //!< Image data IO pointer ExifData exifData_; //!< Exif data container IptcData iptcData_; //!< IPTC data container XmpData xmpData_; //!< XMP data container std::string comment_; //!< User comment std::string xmpPacket_; //!< XMP packet int pixelWidth_; //!< image pixel width int pixelHeight_; //!< image pixel height NativePreviewList nativePreviews_; //!< list of native previews private: //! @name NOT implemented //@{ //! Copy constructor Image(const Image& rhs); //! Assignment operator Image& operator=(const Image& rhs); //@} // DATA const int imageType_; //!< Image type const uint16_t supportedMetadata_; //!< Bitmap with all supported metadata types bool writeXmpFromPacket_;//!< Determines the source when writing XMP ByteOrder byteOrder_; //!< Byte order }; // class Image //! Type for function pointer that creates new Image instances typedef Image::AutoPtr (*NewInstanceFct)(BasicIo::AutoPtr io, bool create); //! Type for function pointer that checks image types typedef bool (*IsThisTypeFct)(BasicIo& iIo, bool advance); /*! @brief Returns an Image instance of the specified type. The factory is implemented as a static class. */ class EXIV2API ImageFactory { friend bool Image::good() const; public: /*! @brief Create the appropriate class type implemented BasicIo based on the protocol of the input. "-" path implies the data from stdin and it is handled by StdinIo. Http path can be handled by either HttpIo or CurlIo. Https, ftp paths are handled by CurlIo. Ssh, sftp paths are handled by SshIo. Others are handled by FileIo. @param path %Image file. @param useCurl Indicate whether the libcurl is used or not. If it's true, http is handled by CurlIo. Otherwise it is handled by HttpIo. @return An auto-pointer that owns an BasicIo instance. @throw Error If the file is not found or it is unable to connect to the server to read the remote file. */ static BasicIo::AutoPtr createIo(const std::string& path, bool useCurl = true); #ifdef EXV_UNICODE_PATH /*! @brief Like createIo() but accepts a unicode path in an std::wstring. @note This function is only available on Windows. */ static BasicIo::AutoPtr createIo(const std::wstring& wpath, bool useCurl = true); #endif /*! @brief Create an Image subclass of the appropriate type by reading the specified file. %Image type is derived from the file contents. @param path %Image file. The contents of the file are tested to determine the image type. File extension is ignored. @param useCurl Indicate whether the libcurl is used or not. If it's true, http is handled by CurlIo. Otherwise it is handled by HttpIo. @return An auto-pointer that owns an Image instance whose type matches that of the file. @throw Error If opening the file fails or it contains data of an unknown image type. */ static Image::AutoPtr open(const std::string& path, bool useCurl = true); #ifdef EXV_UNICODE_PATH /*! @brief Like open() but accepts a unicode path in an std::wstring. @note This function is only available on Windows. */ static Image::AutoPtr open(const std::wstring& wpath, bool useCurl = true); #endif /*! @brief Create an Image subclass of the appropriate type by reading the provided memory. %Image type is derived from the memory contents. @param data Pointer to a data buffer containing an image. The contents of the memory are tested to determine the image type. @param size Number of bytes pointed to by \em data. @return An auto-pointer that owns an Image instance whose type matches that of the data buffer. @throw Error If the memory contains data of an unknown image type. */ static Image::AutoPtr open(const byte* data, long size); /*! @brief Create an Image subclass of the appropriate type by reading the provided BasicIo instance. %Image type is derived from the data provided by \em io. The passed in \em io instance is (re)opened by this method. @param io An auto-pointer that owns a BasicIo instance that provides image data. The contents of the image data are tested to determine the type. @note This method takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @return An auto-pointer that owns an Image instance whose type matches that of the \em io data. If no image type could be determined, the pointer is 0. @throw Error If opening the BasicIo fails */ static Image::AutoPtr open(BasicIo::AutoPtr io); /*! @brief Create an Image subclass of the requested type by creating a new image file. If the file already exists, it will be overwritten. @param type Type of the image to be created. @param path %Image file to create. File extension is ignored. @return An auto-pointer that owns an Image instance of the requested type. @throw Error If the image type is not supported. */ static Image::AutoPtr create(int type, const std::string& path); #ifdef EXV_UNICODE_PATH /*! @brief Like create() but accepts a unicode path in an std::wstring. @note This function is only available on Windows. */ static Image::AutoPtr create(int type, const std::wstring& wpath); #endif /*! @brief Create an Image subclass of the requested type by creating a new image in memory. @param type Type of the image to be created. @return An auto-pointer that owns an Image instance of the requested type. @throw Error If the image type is not supported */ static Image::AutoPtr create(int type); /*! @brief Create an Image subclass of the requested type by writing a new image to a BasicIo instance. If the BasicIo instance already contains data, it will be overwritten. @param type Type of the image to be created. @param io An auto-pointer that owns a BasicIo instance that will be written to when creating a new image. @note This method takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. @return An auto-pointer that owns an Image instance of the requested type. If the image type is not supported, the pointer is 0. */ static Image::AutoPtr create(int type, BasicIo::AutoPtr io); /*! @brief Returns the image type of the provided file. @param path %Image file. The contents of the file are tested to determine the image type. File extension is ignored. @return %Image type or Image::none if the type is not recognized. */ static int getType(const std::string& path); #ifdef EXV_UNICODE_PATH /*! @brief Like getType() but accepts a unicode path in an std::wstring. @note This function is only available on Windows. */ static int getType(const std::wstring& wpath); #endif /*! @brief Returns the image type of the provided data buffer. @param data Pointer to a data buffer containing an image. The contents of the memory are tested to determine the image type. @param size Number of bytes pointed to by \em data. @return %Image type or Image::none if the type is not recognized. */ static int getType(const byte* data, long size); /*! @brief Returns the image type of data provided by a BasicIo instance. The passed in \em io instance is (re)opened by this method. @param io A BasicIo instance that provides image data. The contents of the image data are tested to determine the type. @return %Image type or Image::none if the type is not recognized. */ static int getType(BasicIo& io); /*! @brief Returns the access mode or supported metadata functions for an image type and a metadata type. @param type The image type. @param metadataId The metadata identifier. @return Access mode for the requested image type and metadata identifier. @throw Error(13) if the image type is not supported. */ static AccessMode checkMode(int type, MetadataId metadataId); /*! @brief Determine if the content of \em io is an image of \em type. The \em advance flag determines if the read position in the stream is moved (see below). This applies only if the type matches and the function returns true. If the type does not match, the stream position is not changed. However, if reading from the stream fails, the stream position is undefined. Consult the stream state to obtain more information in this case. @param type Type of the image. @param io BasicIo instance to read from. @param advance Flag indicating whether the position of the io should be advanced by the number of characters read to analyse the data (true) or left at its original position (false). This applies only if the type matches. @return true if the data matches the type of this class;
false if the data does not match */ static bool checkType(int type, BasicIo& io, bool advance); private: //! @name Creators //@{ //! Prevent construction: not implemented. ImageFactory(); //! Prevent copy construction: not implemented. ImageFactory(const ImageFactory& rhs); //@} }; // class ImageFactory // ***************************************************************************** // template, inline and free functions //! Append \em len bytes pointed to by \em buf to \em blob. void append(Exiv2::Blob& blob, const byte* buf, uint32_t len); } // namespace Exiv2 #endif // #ifndef IMAGE_HPP_ exiv2-0.25/include/exiv2/matroskavideo.hpp0000664000175000017500000001333312521135474020363 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file matroskavideo.hpp @brief An Image subclass to support Matroska video files @version $Rev$ @author Abhinav Badola for GSoC 2012 mail.abu.to@gmail.com @date 18-Jun-12, AB: created */ #ifndef MATROSKAVIDEO_HPP_ #define MATROSKAVIDEO_HPP_ // ***************************************************************************** // included header files #include "exif.hpp" #include "image.hpp" #include "tags_int.hpp" // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions // Add MKV to the supported image formats namespace ImageType { const int mkv = 21; //!< Treating mkv as an image type> } // Todo: Should be hidden /*! @brief Helper structure for the Matroska tags lookup table. */ struct MatroskaTags { uint64_t val_; //!< Tag value const char* label_; //!< Translation of the tag value //! Comparison operator for use with the find template bool operator==(uint64_t key) const { return val_ == key; } }; // struct TagDetails /*! @brief Class to access Matroska video files. */ class EXIV2API MatroskaVideo : public Image { public: //! @name Creators //@{ /*! @brief Constructor for a Matroska video. Since the constructor can not return a result, callers should check the good() method after object construction to determine success or failure. @param io An auto-pointer that owns a BasicIo instance used for reading and writing image metadata. \b Important: The constructor takes ownership of the passed in BasicIo instance through the auto-pointer. Callers should not continue to use the BasicIo instance after it is passed to this method. Use the Image::io() method to get a temporary reference. */ MatroskaVideo(BasicIo::AutoPtr io); //@} //! @name Manipulators //@{ void readMetadata(); void writeMetadata(); //@} //! @name Accessors //@{ std::string mimeType() const; //@} protected: /*! @brief Function used to calulate the size of a block. This information is only stored in one byte. The size of the block is calculated by counting the number of leading zeros in the binary code of the byte. Size = (No. of leading zeros + 1) bytes @param b The byte, which stores the information to calculate the size @return Return the size of the block. */ uint32_t findBlockSize(byte b); /*! @brief Check for a valid tag and decode the block at the current IO position. Calls contentManagement() or skips to next tag, if required. */ void decodeBlock(); /*! @brief Interpret tag information, and save it in the respective XMP container. @param mt Pointer to current tag, @param buf Pointer to the memory area with the tag information. @param size Size of \em buf. */ void contentManagement(const MatroskaTags* mt, const byte* buf, long size); /*! @brief Calculates Aspect Ratio of a video, and stores it in the respective XMP container. */ void aspectRatio(); private: //! @name NOT Implemented //@{ //! Copy constructor MatroskaVideo(const MatroskaVideo& rhs); //! Assignment operator MatroskaVideo& operator=(const MatroskaVideo& rhs); //@} private: //! Variable to check the end of metadata traversing. bool continueTraversing_; //! Variable to store height and width of a video frame. uint64_t height_, width_; }; // class MatroskaVideo // ***************************************************************************** // template, inline and free functions // These could be static private functions on Image subclasses but then // ImageFactory needs to be made a friend. /*! @brief Create a new MatroskaVideo instance and return an auto-pointer to it. Caller owns the returned object and the auto-pointer ensures that it will be deleted. */ EXIV2API Image::AutoPtr newMkvInstance(BasicIo::AutoPtr io, bool create); //! Check if the file iIo is a Matroska Video. EXIV2API bool isMkvType(BasicIo& iIo, bool advance); } // namespace Exiv2 #endif // #ifndef MATROSKAVIDEO_HPP_ exiv2-0.25/include/exiv2/basicio.hpp0000664000175000017500000014161212540430361017120 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file basicio.hpp @brief Simple binary IO abstraction @version $Rev: 3091 $ @author Brad Schick (brad) brad@robotbattle.com @date 04-Dec-04, brad: created */ #ifndef BASICIO_HPP_ #define BASICIO_HPP_ // ***************************************************************************** // included header files #include "types.hpp" #include "futils.hpp" // + standard includes #include #include // for std::auto_ptr #include // write the temporary file #include // _O_BINARY in FileIo::FileIo #include // timestamp for the name of temporary file #include // std::memcpy // The way to handle data from stdin or data uri path. If EXV_XPATH_MEMIO = 1, // it uses MemIo. Otherwises, it uses FileIo. #ifndef EXV_XPATH_MEMIO #define EXV_XPATH_MEMIO 0 #endif #ifndef EXV_USE_CURL #define EXV_USE_CURL 0 #endif #ifndef EXV_USE_SSH #define EXV_USE_SSH 0 #endif // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class definitions /*! @brief An interface for simple binary IO. Designed to have semantics and names similar to those of C style FILE* operations. Subclasses should all behave the same so that they can be interchanged. */ class EXIV2API BasicIo { public: //! BasicIo auto_ptr type typedef std::auto_ptr AutoPtr; //! Seek starting positions enum Position { beg, cur, end }; //! @name Creators //@{ //! Destructor virtual ~BasicIo(); //@} //! @name Manipulators //@{ /*! @brief Open the IO source using the default access mode. The default mode should allow for reading and writing. This method can also be used to "reopen" an IO source which will flush any unwritten data and reset the IO position to the start. Subclasses may provide custom methods to allow for opening IO sources differently. @return 0 if successful;
Nonzero if failure. */ virtual int open() = 0; /*! @brief Close the IO source. After closing a BasicIo instance can not be read or written. Closing flushes any unwritten data. It is safe to call close on a closed instance. @return 0 if successful;
Nonzero if failure. */ virtual int close() = 0; /*! @brief Write data to the IO source. Current IO position is advanced by the number of bytes written. @param data Pointer to data. Data must be at least \em wcount bytes long @param wcount Number of bytes to be written. @return Number of bytes written to IO source successfully;
0 if failure; */ virtual long write(const byte* data, long wcount) = 0; /*! @brief Write data that is read from another BasicIo instance to the IO source. Current IO position is advanced by the number of bytes written. @param src Reference to another BasicIo instance. Reading start at the source's current IO position @return Number of bytes written to IO source successfully;
0 if failure; */ virtual long write(BasicIo& src) = 0; /*! @brief Write one byte to the IO source. Current IO position is advanced by one byte. @param data The single byte to be written. @return The value of the byte written if successful;
EOF if failure; */ virtual int putb(byte data) = 0; /*! @brief Read data from the IO source. Reading starts at the current IO position and the position is advanced by the number of bytes read. @param rcount Maximum number of bytes to read. Fewer bytes may be read if \em rcount bytes are not available. @return DataBuf instance containing the bytes read. Use the DataBuf::size_ member to find the number of bytes read. DataBuf::size_ will be 0 on failure. */ virtual DataBuf read(long rcount) = 0; /*! @brief Read data from the IO source. Reading starts at the current IO position and the position is advanced by the number of bytes read. @param buf Pointer to a block of memory into which the read data is stored. The memory block must be at least \em rcount bytes long. @param rcount Maximum number of bytes to read. Fewer bytes may be read if \em rcount bytes are not available. @return Number of bytes read from IO source successfully;
0 if failure; */ virtual long read(byte* buf, long rcount) = 0; /*! @brief Read one byte from the IO source. Current IO position is advanced by one byte. @return The byte read from the IO source if successful;
EOF if failure; */ virtual int getb() = 0; /*! @brief Remove all data from this object's IO source and then transfer data from the \em src BasicIo object into this object. The source object is invalidated by this operation and should not be used after this method returns. This method exists primarily to be used with the BasicIo::temporary() method. @param src Reference to another BasicIo instance. The entire contents of src are transferred to this object. The \em src object is invalidated by the method. @throw Error In case of failure */ virtual void transfer(BasicIo& src) = 0; /*! @brief Move the current IO position. @param offset Number of bytes to move the position relative to the starting position specified by \em pos @param pos Position from which the seek should start @return 0 if successful;
Nonzero if failure; */ #if defined(_MSC_VER) virtual int seek(int64_t offset, Position pos) = 0; #else virtual int seek(long offset, Position pos) = 0; #endif /*! @brief Direct access to the IO data. For files, this is done by mapping the file into the process's address space; for memory blocks, this allows direct access to the memory block. @param isWriteable Set to true if the mapped area should be writeable (default is false). @return A pointer to the mapped area. @throw Error In case of failure. */ virtual byte* mmap(bool isWriteable =false) =0; /*! @brief Remove a mapping established with mmap(). If the mapped area is writeable, this ensures that changes are written back. @return 0 if successful;
Nonzero if failure; */ virtual int munmap() =0; //@} //! @name Accessors //@{ /*! @brief Get the current IO position. @return Offset from the start of IO if successful;
-1 if failure; */ virtual long tell() const = 0; /*! @brief Get the current size of the IO source in bytes. @return Size of the IO source in bytes;
-1 if failure; */ virtual long size() const = 0; //!Returns true if the IO source is open, otherwise false. virtual bool isopen() const = 0; //!Returns 0 if the IO source is in a valid state, otherwise nonzero. virtual int error() const = 0; //!Returns true if the IO position has reach the end, otherwise false. virtual bool eof() const = 0; /*! @brief Return the path to the IO resource. Often used to form comprehensive error messages where only a BasicIo instance is available. */ virtual std::string path() const =0; #ifdef EXV_UNICODE_PATH /*! @brief Like path() but returns a unicode path in an std::wstring. @note This function is only available on Windows. */ virtual std::wstring wpath() const =0; #endif /*! @brief Returns a temporary data storage location. This is often needed to rewrite an IO source. For example, data may be read from the original IO source, modified in some way, and then saved to the temporary instance. After the operation is complete, the BasicIo::transfer method can be used to replace the original IO source with the modified version. Subclasses are free to return any class that derives from BasicIo. @return An instance of BasicIo on success @throw Error In case of failure */ virtual BasicIo::AutoPtr temporary() const = 0; /*! @brief Mark all the bNone blocks to bKnow. This avoids allocating memory for parts of the file that contain image-date (non-metadata/pixel data) @note This method should be only called after the concerned data (metadata) are all downloaded from the remote file to memory. */ virtual void populateFakeData() {} //@} protected: //! @name Creators //@{ //! Default Constructor BasicIo() {} //@} }; // class BasicIo /*! @brief Utility class that closes a BasicIo instance upon destruction. Meant to be used as a stack variable in functions that need to ensure BasicIo instances get closed. Useful when functions return errors from many locations. */ class EXIV2API IoCloser { public: //! @name Creators //@{ //! Constructor, takes a BasicIo reference IoCloser(BasicIo& bio) : bio_(bio) {} //! Destructor, closes the BasicIo reference virtual ~IoCloser() { close(); } //@} //! @name Manipulators //@{ //! Close the BasicIo if it is open void close() { if (bio_.isopen()) bio_.close(); } //@} // DATA //! The BasicIo reference BasicIo& bio_; private: // Not implemented //! Copy constructor IoCloser(const IoCloser&); //! Assignment operator IoCloser& operator=(const IoCloser&); }; // class IoCloser /*! @brief Provides binary file IO by implementing the BasicIo interface. */ class EXIV2API FileIo : public BasicIo { public: //! @name Creators //@{ /*! @brief Constructor that accepts the file path on which IO will be performed. The constructor does not open the file, and therefore never failes. @param path The full path of a file */ FileIo(const std::string& path); #ifdef EXV_UNICODE_PATH /*! @brief Like FileIo(const std::string& path) but accepts a unicode path in an std::wstring. @note This constructor is only available on Windows. */ FileIo(const std::wstring& wpath); #endif //! Destructor. Flushes and closes an open file. virtual ~FileIo(); //@} //! @name Manipulators //@{ /*! @brief Open the file using using the specified mode. This method can also be used to "reopen" a file which will flush any unwritten data and reset the IO position to the start. Although files can be opened in binary or text mode, this class has only been tested carefully in binary mode. @param mode Specified that type of access allowed on the file. Valid values match those of the C fopen command exactly. @return 0 if successful;
Nonzero if failure. */ int open(const std::string& mode); /*! @brief Open the file using using the default access mode of "rb". This method can also be used to "reopen" a file which will flush any unwritten data and reset the IO position to the start. @return 0 if successful;
Nonzero if failure. */ virtual int open(); /*! @brief Flush and unwritten data and close the file . It is safe to call close on an already closed instance. @return 0 if successful;
Nonzero if failure; */ virtual int close(); /*! @brief Write data to the file. The file position is advanced by the number of bytes written. @param data Pointer to data. Data must be at least \em wcount bytes long @param wcount Number of bytes to be written. @return Number of bytes written to the file successfully;
0 if failure; */ virtual long write(const byte* data, long wcount); /*! @brief Write data that is read from another BasicIo instance to the file. The file position is advanced by the number of bytes written. @param src Reference to another BasicIo instance. Reading start at the source's current IO position @return Number of bytes written to the file successfully;
0 if failure; */ virtual long write(BasicIo& src); /*! @brief Write one byte to the file. The file position is advanced by one byte. @param data The single byte to be written. @return The value of the byte written if successful;
EOF if failure; */ virtual int putb(byte data); /*! @brief Read data from the file. Reading starts at the current file position and the position is advanced by the number of bytes read. @param rcount Maximum number of bytes to read. Fewer bytes may be read if \em rcount bytes are not available. @return DataBuf instance containing the bytes read. Use the DataBuf::size_ member to find the number of bytes read. DataBuf::size_ will be 0 on failure. */ virtual DataBuf read(long rcount); /*! @brief Read data from the file. Reading starts at the current file position and the position is advanced by the number of bytes read. @param buf Pointer to a block of memory into which the read data is stored. The memory block must be at least \em rcount bytes long. @param rcount Maximum number of bytes to read. Fewer bytes may be read if \em rcount bytes are not available. @return Number of bytes read from the file successfully;
0 if failure; */ virtual long read(byte* buf, long rcount); /*! @brief Read one byte from the file. The file position is advanced by one byte. @return The byte read from the file if successful;
EOF if failure; */ virtual int getb(); /*! @brief Remove the contents of the file and then transfer data from the \em src BasicIo object into the empty file. This method is optimized to simply rename the source file if the source object is another FileIo instance. The source BasicIo object is invalidated by this operation and should not be used after this method returns. This method exists primarily to be used with the BasicIo::temporary() method. @note If the caller doesn't have permissions to write to the file, an exception is raised and \em src is deleted. @param src Reference to another BasicIo instance. The entire contents of src are transferred to this object. The \em src object is invalidated by the method. @throw Error In case of failure */ virtual void transfer(BasicIo& src); /*! @brief Move the current file position. @param offset Number of bytes to move the file position relative to the starting position specified by \em pos @param pos Position from which the seek should start @return 0 if successful;
Nonzero if failure; */ #if defined(_MSC_VER) virtual int seek(int64_t offset, Position pos); #else virtual int seek(long offset, Position pos); #endif /*! @brief Map the file into the process's address space. The file must be open before mmap() is called. If the mapped area is writeable, changes may not be written back to the underlying file until munmap() is called. The pointer is valid only as long as the FileIo object exists. @param isWriteable Set to true if the mapped area should be writeable (default is false). @return A pointer to the mapped area. @throw Error In case of failure. */ virtual byte* mmap(bool isWriteable =false); /*! @brief Remove a mapping established with mmap(). If the mapped area is writeable, this ensures that changes are written back to the underlying file. @return 0 if successful;
Nonzero if failure; */ virtual int munmap(); /*! @brief close the file source and set a new path. */ virtual void setPath(const std::string& path); #ifdef EXV_UNICODE_PATH /*! @brief Like setPath(const std::string& path) but accepts a unicode path in an std::wstring. @note This method is only available on Windows. */ virtual void setPath(const std::wstring& wpath); #endif //@} //! @name Accessors //@{ /*! @brief Get the current file position. @return Offset from the start of the file if successful;
-1 if failure; */ virtual long tell() const; /*! @brief Flush any buffered writes and get the current file size in bytes. @return Size of the file in bytes;
-1 if failure; */ virtual long size() const; //! Returns true if the file is open, otherwise false. virtual bool isopen() const; //! Returns 0 if the file is in a valid state, otherwise nonzero. virtual int error() const; //! Returns true if the file position has reach the end, otherwise false. virtual bool eof() const; //! Returns the path of the file virtual std::string path() const; #ifdef EXV_UNICODE_PATH /* @brief Like path() but returns the unicode path of the file in an std::wstring. @note This function is only available on Windows. */ virtual std::wstring wpath() const; #endif /*! @brief Returns a temporary data storage location. The actual type returned depends upon the size of the file represented a FileIo object. For small files, a MemIo is returned while for large files a FileIo is returned. Callers should not rely on this behavior, however, since it may change. @return An instance of BasicIo on success @throw Error If opening the temporary file fails */ virtual BasicIo::AutoPtr temporary() const; /*! @brief Mark all the bNone blocks to bKnow. This avoids allocating memory for parts of the file that contain image-date (non-metadata/pixel data) @note This method should be only called after the concerned data (metadata) are all downloaded from the remote file to memory. */ virtual void populateFakeData(); //@} private: // NOT IMPLEMENTED //! Copy constructor FileIo(FileIo& rhs); //! Assignment operator FileIo& operator=(const FileIo& rhs); // Pimpl idiom class Impl; Impl* p_; }; // class FileIo /*! @brief Provides binary IO on blocks of memory by implementing the BasicIo interface. A copy-on-write implementation ensures that the data passed in is only copied when necessary, i.e., as soon as data is written to the MemIo. The original data is only used for reading. If writes are performed, the changed data can be retrieved using the read methods (since the data used in construction is never modified). @note If read only usage of this class is common, it might be worth creating a specialized readonly class or changing this one to have a readonly mode. */ class EXIV2API MemIo : public BasicIo { public: //! @name Creators //@{ //! Default constructor that results in an empty object MemIo(); /*! @brief Constructor that accepts a block of memory. A copy-on-write algorithm allows read operations directly from the original data and will create a copy of the buffer on the first write operation. @param data Pointer to data. Data must be at least \em size bytes long @param size Number of bytes to copy. */ MemIo(const byte* data, long size); //! Destructor. Releases all managed memory virtual ~MemIo(); //@} //! @name Manipulators //@{ /*! @brief Memory IO is always open for reading and writing. This method therefore only resets the IO position to the start. @return 0 */ virtual int open(); /*! @brief Does nothing on MemIo objects. @return 0 */ virtual int close(); /*! @brief Write data to the memory block. If needed, the size of the internal memory block is expanded. The IO position is advanced by the number of bytes written. @param data Pointer to data. Data must be at least \em wcount bytes long @param wcount Number of bytes to be written. @return Number of bytes written to the memory block successfully;
0 if failure; */ virtual long write(const byte* data, long wcount); /*! @brief Write data that is read from another BasicIo instance to the memory block. If needed, the size of the internal memory block is expanded. The IO position is advanced by the number of bytes written. @param src Reference to another BasicIo instance. Reading start at the source's current IO position @return Number of bytes written to the memory block successfully;
0 if failure; */ virtual long write(BasicIo& src); /*! @brief Write one byte to the memory block. The IO position is advanced by one byte. @param data The single byte to be written. @return The value of the byte written if successful;
EOF if failure; */ virtual int putb(byte data); /*! @brief Read data from the memory block. Reading starts at the current IO position and the position is advanced by the number of bytes read. @param rcount Maximum number of bytes to read. Fewer bytes may be read if \em rcount bytes are not available. @return DataBuf instance containing the bytes read. Use the DataBuf::size_ member to find the number of bytes read. DataBuf::size_ will be 0 on failure. */ virtual DataBuf read(long rcount); /*! @brief Read data from the memory block. Reading starts at the current IO position and the position is advanced by the number of bytes read. @param buf Pointer to a block of memory into which the read data is stored. The memory block must be at least \em rcount bytes long. @param rcount Maximum number of bytes to read. Fewer bytes may be read if \em rcount bytes are not available. @return Number of bytes read from the memory block successfully;
0 if failure; */ virtual long read(byte* buf, long rcount); /*! @brief Read one byte from the memory block. The IO position is advanced by one byte. @return The byte read from the memory block if successful;
EOF if failure; */ virtual int getb(); /*! @brief Clear the memory block and then transfer data from the \em src BasicIo object into a new block of memory. This method is optimized to simply swap memory block if the source object is another MemIo instance. The source BasicIo instance is invalidated by this operation and should not be used after this method returns. This method exists primarily to be used with the BasicIo::temporary() method. @param src Reference to another BasicIo instance. The entire contents of src are transferred to this object. The \em src object is invalidated by the method. @throw Error In case of failure */ virtual void transfer(BasicIo& src); /*! @brief Move the current IO position. @param offset Number of bytes to move the IO position relative to the starting position specified by \em pos @param pos Position from which the seek should start @return 0 if successful;
Nonzero if failure; */ #if defined(_MSC_VER) virtual int seek(int64_t offset, Position pos); #else virtual int seek(long offset, Position pos); #endif /*! @brief Allow direct access to the underlying data buffer. The buffer is not protected against write access in any way, the argument is ignored. @note The application must ensure that the memory pointed to by the returned pointer remains valid and allocated as long as the MemIo object exists. */ virtual byte* mmap(bool /*isWriteable*/ =false); virtual int munmap(); int msync(); //@} //! @name Accessors //@{ /*! @brief Get the current IO position. @return Offset from the start of the memory block */ virtual long tell() const; /*! @brief Get the current memory buffer size in bytes. @return Size of the in memory data in bytes;
-1 if failure; */ virtual long size() const; //!Always returns true virtual bool isopen() const; //!Always returns 0 virtual int error() const; //!Returns true if the IO position has reach the end, otherwise false. virtual bool eof() const; //! Returns a dummy path, indicating that memory access is used virtual std::string path() const; #ifdef EXV_UNICODE_PATH /* @brief Like path() but returns a unicode dummy path in an std::wstring. @note This function is only available on Windows. */ virtual std::wstring wpath() const; #endif /*! @brief Returns a temporary data storage location. Currently returns an empty MemIo object, but callers should not rely on this behavior since it may change. @return An instance of BasicIo */ virtual BasicIo::AutoPtr temporary() const; /*! @brief Mark all the bNone blocks to bKnow. This avoids allocating memory for parts of the file that contain image-date (non-metadata/pixel data) @note This method should be only called after the concerned data (metadata) are all downloaded from the remote file to memory. */ virtual void populateFakeData(); //@} private: // NOT IMPLEMENTED //! Copy constructor MemIo(MemIo& rhs); //! Assignment operator MemIo& operator=(const MemIo& rhs); // Pimpl idiom class Impl; Impl* p_; }; // class MemIo /*! @brief Provides binary IO for the data from stdin and data uri path. */ #if EXV_XPATH_MEMIO class EXIV2API XPathIo : public MemIo { public: //! @name Creators //@{ //! Default constructor XPathIo(const std::string& path); #ifdef EXV_UNICODE_PATH /*! @brief Like XPathIo(const std::string& path) but accepts a unicode url in an std::wstring. @note This constructor is only available on Windows. */ XPathIo(const std::wstring& wpath); #endif //@} private: /*! @brief Read data from stdin and write the data to memory. @throw Error if it can't convert stdin to binary. */ void ReadStdin(); /*! @brief Read the data from data uri path and write the data to memory. @param path The data uri. @throw Error if no base64 data in path. */ void ReadDataUri(const std::string& path); }; // class XPathIo #else class EXIV2API XPathIo : public FileIo { public: /*! @brief The extension of the temporary file which is created when getting input data to read metadata. This file will be deleted in destructor. */ static const std::string TEMP_FILE_EXT; /*! @brief The extension of the generated file which is created when getting input data to add or modify the metadata. */ static const std::string GEN_FILE_EXT; //! @name Creators //@{ //! Default constructor that reads data from stdin/data uri path and writes them to the temp file. XPathIo(const std::string& orgPath); #ifdef EXV_UNICODE_PATH /*! @brief Like XPathIo(const std::string& orgPath) but accepts a unicode url in an std::wstring. @note This constructor is only available on Windows. */ XPathIo(const std::wstring& wOrgPathpath); #endif //! Destructor. Releases all managed memory and removes the temp file. virtual ~XPathIo(); //@} //! @name Manipulators //@{ /*! @brief Change the name of the temp file and make it untemporary before calling the method of superclass FileIo::transfer. */ virtual void transfer(BasicIo& src); //@} //! @name Static methods //@{ /*! @brief Read the data from stdin/data uri path and write them to the file. @param orgPath It equals "-" if the input data's from stdin. Otherwise, it's data uri path. @return the name of the new file. @throw Error if it fails. */ static std::string writeDataToFile(const std::string& orgPath); #ifdef EXV_UNICODE_PATH /*! @brief Like writeDataToFile(const std::string& orgPath) but accepts a unicode url in an std::wstring. @note This constructor is only available on Windows. */ static std::string writeDataToFile(const std::wstring& wOrgPath); #endif //@} private: // True if the file is a temporary file and it should be deleted in destructor. bool isTemp_; std::string tempFilePath_; }; // class XPathIo #endif /*! @brief Utility class provides the block mapping to the part of data. This avoids allocating a single contiguous block of memory to the big data. */ class EXIV2API BlockMap { public: //! the status of the block. enum blockType_e {bNone, bKnown, bMemory}; //! @name Creators //@{ //! Default constructor. the init status of the block is bNone. BlockMap():type_(bNone), data_(NULL),size_(0) {} //! Destructor. Releases all managed memory. virtual ~BlockMap() { if (data_) {std::free(data_); data_ = NULL;} } //@} //! @name Manipulators //@{ /*! @brief Populate the block. @param source The data populate to the block @param num The size of data */ void populate (byte* source, size_t num) { size_ = num; data_ = (byte*) std::malloc(size_); type_ = bMemory; std::memcpy(data_, source, size_); } /*! @brief Change the status to bKnow. bKnow blocks do not contain the data, but they keep the size of data. This avoids allocating memory for parts of the file that contain image-date (non-metadata/pixel data) which never change in exiv2. @param num The size of the data */ void markKnown(size_t num) { type_ = bKnown; size_ = num; } //@} //! @name Accessors //@{ bool isNone() {return type_ == bNone;} bool isInMem () {return type_ == bMemory;} bool isKnown () {return type_ == bKnown;} byte* getData () {return data_;} size_t getSize () {return size_;} //@} private: blockType_e type_; byte* data_; size_t size_; }; // class BlockMap /*! @brief Provides remote binary file IO by implementing the BasicIo interface. This is an abstract class. The logics for remote access are implemented in HttpIo, CurlIo, SshIo which are the derived classes of RemoteIo. */ class EXIV2API RemoteIo : public BasicIo { public: //! Destructor. Releases all managed memory. virtual ~RemoteIo(); //@} //! @name Manipulators //@{ /*! @brief Connect to the remote server, get the size of the remote file and allocate the array of blocksMap. If the blocksMap is already allocated (this method has been called before), it just reset IO position to the start and does not flush the old data. @return 0 if successful;
Nonzero if failure. */ virtual int open(); /*! @brief Reset the IO position to the start. It does not release the data. @return 0 if successful;
Nonzero if failure. */ virtual int close(); /*! @brief Not support this method. @return 0 means failure */ virtual long write(const byte* data, long wcount); /*! @brief Write data that is read from another BasicIo instance to the remote file. The write access is done in an efficient way. It only sends the range of different bytes between the current data and BasicIo instance to the remote machine. @param src Reference to another BasicIo instance. Reading start at the source's current IO position @return The size of BasicIo instance;
0 if failure; @throw Error In case of failure @note The write access is only supported by http, https, ssh. */ virtual long write(BasicIo& src); /*! @brief Not support @return 0 means failure */ virtual int putb(byte data); /*! @brief Read data from the memory blocks. Reading starts at the current IO position and the position is advanced by the number of bytes read. If the memory blocks are not populated (False), it will connect to server and populate the data to memory blocks. @param rcount Maximum number of bytes to read. Fewer bytes may be read if \em rcount bytes are not available. @return DataBuf instance containing the bytes read. Use the DataBuf::size_ member to find the number of bytes read. DataBuf::size_ will be 0 on failure. */ virtual DataBuf read(long rcount); /*! @brief Read data from the the memory blocks. Reading starts at the current IO position and the position is advanced by the number of bytes read. If the memory blocks are not populated (!= bMemory), it will connect to server and populate the data to memory blocks. @param buf Pointer to a block of memory into which the read data is stored. The memory block must be at least \em rcount bytes long. @param rcount Maximum number of bytes to read. Fewer bytes may be read if \em rcount bytes are not available. @return Number of bytes read from the memory block successfully;
0 if failure; */ virtual long read(byte* buf, long rcount); /*! @brief Read one byte from the memory blocks. The IO position is advanced by one byte. If the memory block is not populated (!= bMemory), it will connect to server and populate the data to the memory block. @return The byte read from the memory block if successful;
EOF if failure; */ virtual int getb(); /*! @brief Remove the contents of the file and then transfer data from the \em src BasicIo object into the empty file. The write access is done in an efficient way. It only sends the range of different bytes between the current data and BasicIo instance to the remote machine. @param src Reference to another BasicIo instance. The entire contents of src are transferred to this object. The \em src object is invalidated by the method. @throw Error In case of failure @note The write access is only supported by http, https, ssh. */ virtual void transfer(BasicIo& src); /*! @brief Move the current IO position. @param offset Number of bytes to move the IO position relative to the starting position specified by \em pos @param pos Position from which the seek should start @return 0 if successful;
Nonzero if failure; */ #if defined(_MSC_VER) virtual int seek(int64_t offset, Position pos); #else virtual int seek(long offset, Position pos); #endif /*! @brief Not support @return NULL */ virtual byte* mmap(bool /*isWriteable*/ =false); /*! @brief Not support @return 0 */ virtual int munmap(); //@} //! @name Accessors //@{ /*! @brief Get the current IO position. @return Offset from the start of the memory block */ virtual long tell() const; /*! @brief Get the current memory buffer size in bytes. @return Size of the in memory data in bytes;
-1 if failure; */ virtual long size() const; //!Returns true if the memory area is allocated. virtual bool isopen() const; //!Always returns 0 virtual int error() const; //!Returns true if the IO position has reach the end, otherwise false. virtual bool eof() const; //!Returns the URL of the file. virtual std::string path() const; #ifdef EXV_UNICODE_PATH /* @brief Like path() but returns a unicode URL path in an std::wstring. @note This function is only available on Windows. */ virtual std::wstring wpath() const; #endif /*! @brief Returns a temporary data storage location. Currently returns an empty MemIo object, but callers should not rely on this behavior since it may change. @return An instance of BasicIo */ virtual BasicIo::AutoPtr temporary() const; /*! @brief Mark all the bNone blocks to bKnow. This avoids allocating memory for parts of the file that contain image-date (non-metadata/pixel data) @note This method should be only called after the concerned data (metadata) are all downloaded from the remote file to memory. */ virtual void populateFakeData(); //@} protected: //! @name Creators //@{ //! Default Constructor RemoteIo() {p_=NULL;} //@} // Pimpl idiom class Impl; Impl* p_; }; // class RemoteIo /*! @brief Provides the http read/write access for the RemoteIo. */ class EXIV2API HttpIo : public RemoteIo { public: //! @name Creators //@{ /*! @brief Constructor that accepts the http URL on which IO will be performed. The constructor does not open the file, and therefore never failes. @param url The full path of url @param blockSize the size of the memory block. The file content is divided into the memory blocks. These blocks are populated on demand from the server, so it avoids copying the complete file. */ HttpIo(const std::string& url, size_t blockSize = 1024); #ifdef EXV_UNICODE_PATH /*! @brief Like HttpIo(const std::string& url, size_t blockSize = 1024) but accepts a unicode url in an std::wstring. @note This constructor is only available on Windows. */ HttpIo(const std::wstring& wurl, size_t blockSize = 1024); #endif //@} protected: // NOT IMPLEMENTED //! Copy constructor HttpIo(HttpIo& rhs); //! Assignment operator HttpIo& operator=(const HttpIo& rhs); // Pimpl idiom class HttpImpl; //! @name Creators //@{ //! Default Destructor virtual ~HttpIo(){} //@} }; #if EXV_USE_CURL == 1 /*! @brief Provides the http, https read/write access and ftp read access for the RemoteIo. This class is based on libcurl. */ class EXIV2API CurlIo : public RemoteIo { public: //! @name Creators //@{ /*! @brief Constructor that accepts the URL on which IO will be performed. @param url The full path of url @param blockSize the size of the memory block. The file content is divided into the memory blocks. These blocks are populated on demand from the server, so it avoids copying the complete file. @throw Error if it is unable to init curl pointer. */ CurlIo(const std::string& url, size_t blockSize = 0); #ifdef EXV_UNICODE_PATH /*! @brief Like CurlIo(const std::string& url, size_t blockSize = 0) but accepts a unicode url in an std::wstring. @note This constructor is only available on Windows. */ CurlIo(const std::wstring& wurl, size_t blockSize = 0); #endif /*! @brief Write access is only available for some protocols. This method will call RemoteIo::write(const byte* data, long wcount) if the write access is available for the protocol. Otherwise, it throws the Error. */ long write(const byte* data, long wcount); /*! @brief Write access is only available for some protocols. This method will call RemoteIo::write(BasicIo& src) if the write access is available for the protocol. Otherwise, it throws the Error. */ long write(BasicIo& src); protected: // NOT IMPLEMENTED //! Copy constructor CurlIo(CurlIo& rhs); //! Assignment operator CurlIo& operator=(const CurlIo& rhs); // Pimpl idiom class CurlImpl; //! @name Creators //@{ //! Default Destructor virtual ~CurlIo(){} //@} }; #endif #if EXV_USE_SSH == 1 /*! @brief Provides the ssh read/write access and sftp read access for the RemoteIo. This class is based on libssh. */ class EXIV2API SshIo : public RemoteIo { public: //! @name Creators //@{ /*! @brief Constructor that accepts the URL on which IO will be performed. @param url The full path of url @param blockSize the size of the memory block. The file content is divided into the memory blocks. These blocks are populated on demand from the server, so it avoids copying the complete file. @throw Error if it is unable to init ssh session. */ SshIo(const std::string& url, size_t blockSize = 1024); #ifdef EXV_UNICODE_PATH /*! @brief Like SshIo(const std::string& url, size_t blockSize = 1024) but accepts a unicode url in an std::wstring. @note This constructor is only available on Windows. */ SshIo(const std::wstring& wurl, size_t blockSize = 1024); #endif //@} protected: // NOT IMPLEMENTED //! Copy constructor SshIo(SshIo& rhs); //! Assignment operator SshIo& operator=(const SshIo& rhs); // Pimpl idiom class SshImpl; //! @name Creators //@{ //! Default Destructor virtual ~SshIo(){} //@} }; #endif // ***************************************************************************** // template, inline and free functions /*! @brief Read file \em path into a DataBuf, which is returned. @return Buffer containing the file. @throw Error In case of failure. */ EXIV2API DataBuf readFile(const std::string& path); #ifdef EXV_UNICODE_PATH /*! @brief Like readFile() but accepts a unicode path in an std::wstring. @note This function is only available on Windows. */ EXIV2API DataBuf readFile(const std::wstring& wpath); #endif /*! @brief Write DataBuf \em buf to file \em path. @return Return the number of bytes written. @throw Error In case of failure. */ EXIV2API long writeFile(const DataBuf& buf, const std::string& path); #ifdef EXV_UNICODE_PATH /*! @brief Like writeFile() but accepts a unicode path in an std::wstring. @note This function is only available on Windows. */ EXIV2API long writeFile(const DataBuf& buf, const std::wstring& wpath); #endif /*! @brief replace each substring of the subject that matches the given search string with the given replacement. @return the subject after replacing. */ EXIV2API std::string ReplaceStringInPlace(std::string subject, const std::string& search, const std::string& replace); #ifdef EXV_UNICODE_PATH /*! @brief Like ReplaceStringInPlace() but accepts a unicode path in an std::wstring. @return the subject after replacing. @note This function is only available on Windows. */ EXIV2API std::wstring ReplaceStringInPlace(std::wstring subject, const std::wstring& search, const std::wstring& replace); #endif #if EXV_USE_CURL == 1 /*! @brief The callback function is called by libcurl to write the data */ EXIV2API size_t curlWriter(char* data, size_t size, size_t nmemb, std::string* writerData); #endif } // namespace Exiv2 #endif // #ifndef BASICIO_HPP_ exiv2-0.25/include/exiv2/xmp.hpp0000664000175000017500000003727012521135474016325 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2004-2015 Andreas Huggel * * This program is part of the Exiv2 distribution. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /*! @file xmp.hpp @brief Encoding and decoding of XMP data @version $Rev: 3090 $ @author Andreas Huggel (ahu) ahuggel@gmx.net @date 13-Jul-07, ahu: created */ #ifndef XMP_HPP_ #define XMP_HPP_ // ***************************************************************************** // included header files #include "metadatum.hpp" #include "properties.hpp" #include "value.hpp" #include "types.hpp" // + standard includes #include #include // ***************************************************************************** // namespace extensions namespace Exiv2 { // ***************************************************************************** // class declarations class ExifData; // ***************************************************************************** // class definitions /*! @brief Information related to an XMP property. An XMP metadatum consists of an XmpKey and a Value and provides methods to manipulate these. */ class EXIV2API Xmpdatum : public Metadatum { public: //! @name Creators //@{ /*! @brief Constructor for new tags created by an application. The %Xmpdatum is created from a key / value pair. %Xmpdatum copies (clones) the value if one is provided. Alternatively, a program can create an 'empty' %Xmpdatum with only a key and set the value using setValue(). @param key The key of the %Xmpdatum. @param pValue Pointer to a %Xmpdatum value. @throw Error if the key cannot be parsed and converted to a known schema namespace prefix and property name. */ explicit Xmpdatum(const XmpKey& key, const Value* pValue =0); //! Copy constructor Xmpdatum(const Xmpdatum& rhs); //! Destructor virtual ~Xmpdatum(); //@} //! @name Manipulators //@{ //! Assignment operator Xmpdatum& operator=(const Xmpdatum& rhs); /*! @brief Assign std::string \em value to the %Xmpdatum. Calls setValue(const std::string&). */ Xmpdatum& operator=(const std::string& value); /*! @brief Assign const char* \em value to the %Xmpdatum. Calls operator=(const std::string&). */ Xmpdatum& operator=(const char* value); /*! @brief Assign a boolean \em value to the %Xmpdatum. Translates the value to a string "true" or "false". */ Xmpdatum& operator=(const bool& value); /*! @brief Assign a \em value of any type with an output operator to the %Xmpdatum. Calls operator=(const std::string&). */ template Xmpdatum& operator=(const T& value); /*! @brief Assign Value \em value to the %Xmpdatum. Calls setValue(const Value*). */ Xmpdatum& operator=(const Value& value); void setValue(const Value* pValue); /*! @brief Set the value to the string \em value. Uses Value::read(const std::string&). If the %Xmpdatum does not have a Value yet, then a %Value of the correct type for this %Xmpdatum is created. If the key is unknown, a XmpTextValue is used as default. Return 0 if the value was read successfully. */ int setValue(const std::string& value); //@} //! @name Accessors //@{ //! Not implemented. Calling this method will raise an exception. long copy(byte* buf, ByteOrder byteOrder) const; std::ostream& write(std::ostream& os, const ExifData* pMetadata =0) const; /*! @brief Return the key of the Xmpdatum. The key is of the form 'Xmp.prefix.property'. Note however that the key is not necessarily unique, i.e., an XmpData object may contain multiple metadata with the same key. */ std::string key() const; const char* familyName() const; //! Return the (preferred) schema namespace prefix. std::string groupName() const; //! Return the property name. std::string tagName() const; std::string tagLabel() const; //! Properties don't have a tag number. Return 0. uint16_t tag() const; TypeId typeId() const; const char* typeName() const; // Todo: Remove this method from the baseclass //! The Exif typeSize doesn't make sense here. Return 0. long typeSize() const; long count() const; long size() const; std::string toString() const; std::string toString(long n) const; long toLong(long n =0) const; float toFloat(long n =0) const; Rational toRational(long n =0) const; Value::AutoPtr getValue() const; const Value& value() const; //@} private: // Pimpl idiom struct Impl; Impl* p_; }; // class Xmpdatum //! Container type to hold all metadata typedef std::vector XmpMetadata; /*! @brief A container for XMP data. This is a top-level class of the %Exiv2 library. Provide high-level access to the XMP data of an image: - read XMP information from an XML block - access metadata through keys and standard C++ iterators - add, modify and delete metadata - serialize XMP data to an XML block */ class EXIV2API XmpData { public: //! XmpMetadata iterator type typedef XmpMetadata::iterator iterator; //! XmpMetadata const iterator type typedef XmpMetadata::const_iterator const_iterator; //! @name Manipulators //@{ /*! @brief Returns a reference to the %Xmpdatum that is associated with a particular \em key. If %XmpData does not already contain such an %Xmpdatum, operator[] adds object \em Xmpdatum(key). @note Since operator[] might insert a new element, it can't be a const member function. */ Xmpdatum& operator[](const std::string& key); /*! @brief Add an %Xmpdatum from the supplied key and value pair. This method copies (clones) the value. @return 0 if successful. */ int add(const XmpKey& key, const Value* value); /*! @brief Add a copy of the Xmpdatum to the XMP metadata. @return 0 if successful. */ int add(const Xmpdatum& xmpdatum); /*! @brief Delete the Xmpdatum at iterator position pos, return the position of the next Xmpdatum. @note Iterators into the metadata, including pos, are potentially invalidated by this call. */ iterator erase(iterator pos); //! Delete all Xmpdatum instances resulting in an empty container. void clear(); //! Sort metadata by key void sortByKey(); //! Begin of the metadata iterator begin(); //! End of the metadata iterator end(); /*! @brief Find the first Xmpdatum with the given key, return an iterator to it. */ iterator findKey(const XmpKey& key); //@} //! @name Accessors //@{ //! Begin of the metadata const_iterator begin() const; //! End of the metadata const_iterator end() const; /*! @brief Find the first Xmpdatum with the given key, return a const iterator to it. */ const_iterator findKey(const XmpKey& key) const; //! Return true if there is no XMP metadata bool empty() const; //! Get the number of metadata entries long count() const; //@} private: // DATA XmpMetadata xmpMetadata_; }; // class XmpData /*! @brief Stateless parser class for XMP packets. Images use this class to parse and serialize XMP packets. The parser uses the XMP toolkit to do the job. */ class EXIV2API XmpParser { public: //! Options to control the format of the serialized XMP packet. enum XmpFormatFlags { omitPacketWrapper = 0x0010UL, //!< Omit the XML packet wrapper. readOnlyPacket = 0x0020UL, //!< Default is a writeable packet. useCompactFormat = 0x0040UL, //!< Use a compact form of RDF. includeThumbnailPad = 0x0100UL, //!< Include a padding allowance for a thumbnail image. exactPacketLength = 0x0200UL, //!< The padding parameter is the overall packet length. writeAliasComments = 0x0400UL, //!< Show aliases as XML comments. omitAllFormatting = 0x0800UL //!< Omit all formatting whitespace. }; /*! @brief Decode XMP metadata from an XMP packet \em xmpPacket into \em xmpData. The format of the XMP packet must follow the XMP specification. This method clears any previous contents of \em xmpData. @param xmpData Container for the decoded XMP properties @param xmpPacket The raw XMP packet to decode @return 0 if successful;
1 if XMP support has not been compiled-in;
2 if the XMP toolkit failed to initialize;
3 if the XMP toolkit failed and raised an XMP_Error */ static int decode( XmpData& xmpData, const std::string& xmpPacket); /*! @brief Encode (serialize) XMP metadata from \em xmpData into a string xmpPacket. The XMP packet returned in the string follows the XMP specification. This method only modifies \em xmpPacket if the operations succeeds (return code 0). @param xmpPacket Reference to a string to hold the encoded XMP packet. @param xmpData XMP properties to encode. @param formatFlags Flags that control the format of the XMP packet, see enum XmpFormatFlags. @param padding Padding length. @return 0 if successful;
1 if XMP support has not been compiled-in;
2 if the XMP toolkit failed to initialize;
3 if the XMP toolkit failed and raised an XMP_Error */ static int encode( std::string& xmpPacket, const XmpData& xmpData, uint16_t formatFlags =useCompactFormat, uint32_t padding =0); /*! @brief Lock/unlock function type A function of this type can be passed to initialize() to make subsequent registration of XMP namespaces thread-safe. See the initialize() function for more information. @param pLockData Pointer to the pLockData passed to initialize() @param lockUnlock Indicates whether to lock (true) or unlock (false) */ typedef void (*XmpLockFct)(void* pLockData, bool lockUnlock); /*! @brief Initialize the XMP Toolkit. Calling this method is usually not needed, as encode() and decode() will initialize the XMP Toolkit if necessary. The function takes optional pointers to a callback function \em xmpLockFct and related data \em pLockData that the parser uses when XMP namespaces are subsequently registered. The initialize() function itself still is not thread-safe and needs to be called in a thread-safe manner (e.g., on program startup), but if used with suitable additional locking parameters, any subsequent registration of namespaces will be thread-safe. Example usage on Windows using a critical section: @code void main() { struct XmpLock { CRITICAL_SECTION cs; XmpLock() { InitializeCriticalSection(&cs); } ~XmpLock() { DeleteCriticalSection(&cs); } static void LockUnlock(void* pData, bool fLock) { XmpLock* pThis = reinterpret_cast(pData); if (pThis) { (fLock) ? EnterCriticalSection(&pThis->cs) : LeaveCriticalSection(&pThis->cs); } } } xmpLock; // Pass the locking mechanism to the XMP parser on initialization. // Note however that this call itself is still not thread-safe. Exiv2::XmpParser::initialize(XmpLock::LockUnlock, &xmpLock); // Program continues here, subsequent registrations of XMP // namespaces are serialized using xmpLock. } @endcode @return True if the initialization was successful, else false. */ static bool initialize(XmpParser::XmpLockFct xmpLockFct =0, void* pLockData =0); /*! @brief Terminate the XMP Toolkit and unregister custom namespaces. Call this method when the XmpParser is no longer needed to allow the XMP Toolkit to cleanly shutdown. */ static void terminate(); private: /*! @brief Register a namespace with the XMP Toolkit. */ static void registerNs(const std::string& ns, const std::string& prefix); /*! @brief Delete a namespace from the XMP Toolkit. XmpProperties::unregisterNs calls this to synchronize namespaces. */ static void unregisterNs(const std::string& ns); // DATA static bool initialized_; //! Indicates if the XMP Toolkit has been initialized static XmpLockFct xmpLockFct_; static void* pLockData_; }; // class XmpParser // ***************************************************************************** // free functions, template and inline definitions inline Xmpdatum& Xmpdatum::operator=(const char* value) { return Xmpdatum::operator=(std::string(value)); } inline Xmpdatum& Xmpdatum::operator=(const bool& value) { return operator=(value ? "True" : "False"); } template Xmpdatum& Xmpdatum::operator=(const T& value) { setValue(Exiv2::toString(value)); return *this; } } // namespace Exiv2 #endif // #ifndef XMP_HPP_ exiv2-0.25/config/0000775000175000017500000000000012541550116013560 5ustar andreasandreasexiv2-0.25/config/config.mk.in0000664000175000017500000001475512541543755016012 0ustar andreasandreas# ***************************************************** -*- Makefile -*- # # Copyright (C) 2004-2015 Andreas Huggel # # This Makefile is part of the Exiv2 distribution. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials provided # with the distribution. # 3. The name of the author may not be used to endorse or promote # products derived from this software without specific prior # written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # File: config.mk.in # Version: $Rev: 3866 $ # Author(s): Andreas Huggel (ahu) # History: 10-Dec-03, ahu: created # # Description: # Exiv2 system configuration file. # # ********************************************************************** # Exiv2 version for use with libtool (-version-info argument) EXIV2_LTVERSION = @EXIV2_LTVERSION@ # Compile for use with a commercial license COMMERCIAL_VERSION = @COMMERCIAL_VERSION@ # ********************************************************************** # Libtool LIBTOOL = $(top_srcdir)/libtool LIBTOOL_DEPS = $(top_srcdir)/@LIBTOOL_DEPS@ # ********************************************************************** # C++ Compiler and precompiler CXX = @CXX@ GXX = @GXX@ # Common compiler flags (warnings, symbols [-ggdb], optimization [-O2], etc) CXXFLAGS = @CXXFLAGS@ ifeq ($(GXX),yes) CXXFLAGS += -Wall -Wcast-align -Wpointer-arith -Wformat-security -Wmissing-format-attribute -Woverloaded-virtual -W endif # Command to run only the preprocessor CXXCPP = @CXXCPP@ # Preprocessor flags CPPFLAGS = -I../src -I../include/ -I../include/exiv2 @CPPFLAGS@ -DEXV_LOCALEDIR=\"$(localedir)\" ifeq ($(COMMERCIAL_VERSION),yes) CPPFLAGS += -DEXV_COMMERCIAL_VERSION=1 endif # Linker flags and libraries LDFLAGS = @LDFLAGS@ LIBS = @LTLIBINTL@ @LTLIBICONV@ @LIBS@ # Suffix of executables EXEEXT := @EXEEXT@ # ********************************************************************** # C Compiler CC = @CC@ GCC = @GCC@ CFLAGS = @CFLAGS@ ifeq ($(GCC),yes) CFLAGS += -Wall endif # ********************************************************************** # XMP support ENABLE_XMP = @ENABLE_XMP@ ifdef ENABLE_XMP XMPSDK_LIBRARY = xmpsdk XMPSDK_DIR = $(top_srcdir)/xmpsdk XMPSDK_CPPFLAGS = -I$(XMPSDK_DIR)/include XMPSDK_LDFLAGS = -L$(XMPSDK_DIR)/src XMPSDK_LIBS = -l$(XMPSDK_LIBRARY) else # Enable additional warnings. XMP Toolkit doesn't compile # with these. ifeq ($(GXX),yes) CXXFLAGS += -Wundef -pedantic endif endif # Libcurl need for httpIO if it's selected CURL_CPPFLAGS = @CURL_CPPFLAGS@ CURL_LDFLAGS = @CURL_LDFLAGS@ CURL_LIBS = @CURL_LIBS@ # Libssh need for SshIO if it's selected USE_SSH = @USE_SSH@ SSH_CPPFLAGS = @SSH_CPPFLAGS@ SSH_LDFLAGS = @SSH_LDFLAGS@ SSH_LIBS = @SSH_LIBS@ # Expat library needed to compile the XMP Toolkit EXPAT_LDFLAGS = @EXPAT_LDFLAGS@ EXPAT_CPPFLAGS = @EXPAT_CPPFLAGS@ EXPAT_LIBS = @EXPAT_LIBS@ # ********************************************************************** # Video support ENABLE_VIDEO = @ENABLE_VIDEO@ # ********************************************************************** # Libraries, include files, functions HAVE_LIBZ = @HAVE_LIBZ@ HAVE_STDINT = @HAVE_STDINT@ HAVE_TIMEGM = @HAVE_TIMEGM@ # ********************************************************************** # Advanced auto-dependency generation # http://make.paulandlesley.org/autodep.html DEP_TRACKING = @DEP_TRACKING@ ifdef DEP_TRACKING # Directory for dependency files DEPDIR = .deps # Command to run the compiler or preprocessor to produce # dependencies. If you're not using gcc, you may need to change # this to something suitable for your compiler or simply unset # the variable. See the link above for suggestions. MAKEDEPEND = $(CXX) -MM $(CPPFLAGS) -o $*.d $< # Dependency files post-process commands POSTDEPEND = if test ! -d $(DEPDIR); then mkdir $(DEPDIR); fi; \ if test -e $*.d; then cp $*.d $(DEPDIR)/$*.d; \ sed -e 's/^\#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $(DEPDIR)/$*.d; \ $(RM) $*.d; fi # Compiler flags to generate dependency files at the same time # as object files (for gcc) ifeq ($(GXX),yes) CXXFLAGS += -MMD CFLAGS += -MMD MAKEDEPEND = endif endif # ********************************************************************** # Compilation shortcuts COMPILE.cc = $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c COMPILE.c = $(CC) $(CFLAGS) $(CPPFLAGS) -c # LINK.cc does not need $(LIBS), libtool's dark magic takes care of that # when linking a binary with a libtool library. LINK.cc = $(CXX) $(LDFLAGS) # ********************************************************************** # Installation programs INSTALL_EXE = @INSTALL@ INSTALL_PROGRAM = $(INSTALL_EXE) INSTALL_DATA = $(INSTALL_EXE) -m 644 INSTALL_DIRS = $(top_srcdir)/config/mkinstalldirs # ********************************************************************** # Other programs RM = rm -f # ********************************************************************** # Directories prefix = @prefix@ exec_prefix = @exec_prefix@ # Source directory srcdir = @srcdir@ # Installation directories bindir = @bindir@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = $(datadir)/locale incdir = @includedir@/exiv2 libdir = @libdir@ mandir = @mandir@ man1dir = $(mandir)/man1 # That's all Folks! ## exiv2-0.25/config/Makefile.in0000664000175000017500000001141412521163747015636 0ustar andreasandreas# ***************************************************** -*- Makefile -*- # # Copyright (C) 2004-2015 Andreas Huggel # # This Makefile is part of the Exiv2 distribution. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials provided # with the distribution. # 3. The name of the author may not be used to endorse or promote # products derived from this software without specific prior # written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # File: Makefile.in # Version: $Rev: 3782 $ # Author(s): Andreas Huggel (ahu) # History: 15-Jan-04, ahu: created # # Description: # Simple top-level makefile that mainly forwards to makefiles in # subdirectories. # # Restrictions: # Requires GNU make. # ######################################################################## # Makefile is a generated file. Do NOT change any settings in this file. # Run ./configure with the appropriate options to regenerate the file # and possibly others. ######################################################################## SHELL = /bin/sh ENABLE_XMP = @ENABLE_XMP@ .PHONY: all doc config samples xmpsdk \ mostlyclean clean distclean maintainer-clean \ install uninstall tests teste testv all install: config/config.mk xmpsdk cd src && $(MAKE) $(MAKECMDGOALS) cd po && $(MAKE) $(MAKECMDGOALS) uninstall: config/config.mk cd src && $(MAKE) $(MAKECMDGOALS) cd po && $(MAKE) $(MAKECMDGOALS) doc: config/config.mk cd doc && $(MAKE) $(MAKECMDGOALS) samples: config/config.mk cd samples && $(MAKE) $(MAKECMDGOALS) tests: cd test && $(MAKE) test teste testx testv: cd test && $(MAKE) $@ exiv2 conntest exifprint remotetest: cd src && $(MAKE) $0 MAJOR=$(shell grep "define.*EXIV2_.*_VERSION .*\\d*" src/version.hpp | grep MAJOR | sed -e 's/EXIV2//g' | tr -dC [:digit:]) MINOR=$(shell grep "define.*EXIV2_.*_VERSION .*\\d*" src/version.hpp | grep MINOR | sed -e 's/EXIV2//g' | tr -dC [:digit:]) VERSION=exiv2-$(MAJOR).$(MINOR) tarball: @rm -rf /tmp/$(VERSION) @rm -rf /tmp/$(VERSION).tar @rm -rf /tmp/$(VERSION).tar.gz @rm -rf $(VERSION).tar.gz svn export -q . /tmp/$(VERSION) @cd /tmp/$(VERSION) ;\ make config ;\ cd - ; cd /tmp ;\ tar cf $(VERSION).tar $(VERSION)/ ;\ gzip $(VERSION).tar ;\ cd - ;\ mv /tmp/$(VERSION).tar.gz . ;\ ls -alt $(VERSION).tar.gz configure: make config config: cd config && $(MAKE) -f config.make $(MAKECMDGOALS) xmpsdk: src/svn_version.h config/config.mk if test "x$(ENABLE_XMP)" = "x1"; then cd xmpsdk/src && $(MAKE) $@; fi; src/svn_version.h: cd src && $(MAKE) svn_version.h mostlyclean clean: config/config.mk cd src && $(MAKE) $(MAKECMDGOALS) cd doc && $(MAKE) $(MAKECMDGOALS) cd samples && $(MAKE) $(MAKECMDGOALS) cd test && $(MAKE) $(MAKECMDGOALS) cd xmpsdk/src && $(MAKE) $(MAKECMDGOALS) cd config && $(MAKE) -f config.make $(MAKECMDGOALS) cd po && $(MAKE) $(MAKECMDGOALS) rm -f include/exiv2/exv_conf.h src/svn_version.h # `make distclean' also removes files created by configuring # the program. Running `make all distclean' prepares the project # for packaging. distclean: clean rm -f config.log config.status libtool rm -f *~ *.bak if [ -e bin ]; then rm -rf bin ; fi # This removes almost everything, including the configure script! maintainer-clean: distclean rm -f configure -cd test && $(MAKE) $(MAKECMDGOALS) config/config.mk: $(error File config/config.mk does not exist. Did you run ./configure?) rebuild: make distclean make config ./configure make -j sudo make install make -j samples # That's all Folks! ## exiv2-0.25/config/exiv2.pc.in0000664000175000017500000000055212447013555015556 0ustar andreasandreasprefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ Name: exiv2 Description: Image metadata library and tools Version: @PACKAGE_VERSION@ Libs: -L${libdir} -lexiv2 @EXV_LIB_STATIC@ Libs.private: @EXPAT_LDFLAGS@ @SSH_LDFLAGS@ @CURL_LDFLAGS@ @LTLIBINTL@ @LTLIBICONV@ @LIBS@ @EXPAT_LIBS@ @SSH_LIBS@ @CURL_LIBS@ Cflags: -I${includedir} exiv2-0.25/config/FindEXPAT.cmake0000664000175000017500000000200511734316734016252 0ustar andreasandreas# - Find expat # Find the native EXPAT headers and libraries. # # EXPAT_INCLUDE_DIRS - where to find expat.h, etc. # EXPAT_LIBRARIES - List of libraries when using expat. # EXPAT_FOUND - True if expat found. # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # Look for the header file. FIND_PATH(EXPAT_INCLUDE_DIR NAMES expat.h) # Look for the library. FIND_LIBRARY(EXPAT_LIBRARY NAMES expat libexpat) # handle the QUIETLY and REQUIRED arguments and set EXPAT_FOUND to TRUE if # all listed variables are TRUE INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(EXPAT DEFAULT_MSG EXPAT_LIBRARY EXPAT_INCLUDE_DIR) # Copy the results to the output variables. IF(EXPAT_FOUND) SET(EXPAT_LIBRARIES ${EXPAT_LIBRARY}) SET(EXPAT_INCLUDE_DIRS ${EXPAT_INCLUDE_DIR}) ELSE(EXPAT_FOUND) SET(EXPAT_LIBRARIES) SET(EXPAT_INCLUDE_DIRS) ENDIF(EXPAT_FOUND) MARK_AS_ADVANCED(EXPAT_INCLUDE_DIR EXPAT_LIBRARY) exiv2-0.25/config/config.h.in0000664000175000017500000001667212541544141015620 0ustar andreasandreas#ifndef __CONFIG__H__ #define __CONFIG__H__ #ifdef _MSC_VER # include "exv_msvc.h" #else /* Define to 1 if you want to use libssh */ #undef USE_SSH /* Define to 1 if you want to use libcurl in httpIo */ #undef USE_CURL /* Define to 1 if you have the `alarm' function. */ #undef HAVE_ALARM /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #undef HAVE_DECL_STRERROR_R /* Define to 1 if you have the `gmtime_r' function. */ #undef HAVE_GMTIME_R /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_LIBINTL_H #ifndef EXV_COMMERCIAL_VERSION /* Define to 1 to enable translation of Nikon lens names. */ #undef HAVE_LENSDATA /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS #endif /* !EXV_COMMERCIAL_VERSION */ /* Define to 1 to include video code in the library */ #undef ENABLE_VIDEO /* Define to 1 to include webready code in the library */ #undef ENABLE_WEBREADY /* Define to 1 if you have the `iconv' function. */ #undef HAVE_ICONV /* Define to `const' or to empty, depending on the second argument of `iconv'. */ #undef ICONV_CONST /* Define to 1 if you have the header file. */ #undef HAVE_LIBINTL_H /* Define to 1 if you have the header file. */ #define HAVE_REGEX 1 /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #undef HAVE_MALLOC /* Define to 1 if you have the header file. */ #undef HAVE_MALLOC_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET /* Define to 1 if you have the `lstat' function. */ #undef HAVE_LSTAT /* Define to 1 if your system has a GNU libc compatible `realloc' function, and to 0 otherwise. */ #undef HAVE_REALLOC /* Define to 1 if stdbool.h conforms to C99. */ #undef HAVE_STDBOOL_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `strchr' function. */ #undef HAVE_STRCHR /* Define to 1 if you have the `strerror' function. */ #undef HAVE_STRERROR /* Define to 1 if you have the `strerror_r' function. */ #undef HAVE_STRERROR_R /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strtol' function. */ #undef HAVE_STRTOL /* Define to 1 if you have the `mmap' function. */ #undef HAVE_MMAP /* Define to 1 if you have the `munmap' function. */ #undef HAVE_MUNMAP /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the `timegm' function. */ #undef HAVE_TIMEGM /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `vprintf' function. */ #undef HAVE_VPRINTF /* Define to 1 if you have the header file. */ #undef HAVE_WCHAR_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_MMAN_H /* Define to 1 if you have the `zlib' library. */ #undef HAVE_LIBZ /* Define to 1 if you have the Adobe XMP Toolkit. */ #undef HAVE_XMP_TOOLKIT /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ #undef LSTAT_FOLLOWS_SLASHED_SYMLINK /* Define if C++ visibility support is enabled */ #undef WANT_VISIBILITY_SUPPORT /* Define if we have / are building a shared library (DLL) */ #undef HAVE_DLL /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the name of this package. */ #undef PACKAGE /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define to 1 if strerror_r returns char *. */ #undef STRERROR_R_CHAR_P /* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME /* Define to 1 if your declares `struct tm'. */ #undef TM_IN_SYS_TIME /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline #endif /* Define to rpl_malloc if the replacement function should be used. */ #undef malloc /* Define to `int' if does not define. */ #undef pid_t /* Define to rpl_realloc if the replacement function should be used. */ #undef realloc /* Define to `unsigned' if does not define. */ #undef size_t #if defined __CYGWIN32__ && !defined __CYGWIN__ /* For backwards compatibility with Cygwin b19 and earlier, we define __CYGWIN__ here, so that we can rely on checking just for that macro. */ #define __CYGWIN__ __CYGWIN32__ #endif #if defined __MINGW32__ || defined __MINGW64__ #ifndef __MINGW__ #define __MINGW__ 1 #endif #endif /* File path separator */ #if defined WIN32 && !defined __CYGWIN__ #define SEPARATOR_STR "\\" #define SEPARATOR_CHR '\\' #else #define SEPARATOR_STR "/" #define SEPARATOR_CHR '/' #endif /* Windows unicode path support */ #if defined WIN32 && !defined __CYGWIN__ && !defined __MINGW__ # define EXV_UNICODE_PATH #endif /* Symbol visibility support */ #ifdef WIN32 # define EXV_IMPORT __declspec(dllimport) # define EXV_EXPORT __declspec(dllexport) # define EXV_DLLLOCAL # define EXV_DLLPUBLIC #else # ifdef EXV_WANT_VISIBILITY_SUPPORT # if defined(__GNUC__) && (__GNUC__ >= 4) # define EXV_IMPORT __attribute__ ((visibility("default"))) # define EXV_EXPORT __attribute__ ((visibility("default"))) # define EXV_DLLLOCAL __attribute__ ((visibility("hidden"))) # define EXV_DLLPUBLIC __attribute__ ((visibility("default"))) # elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) # define EXV_IMPORT __global # define EXV_EXPORT __global # define EXV_DLLLOCAL __hidden # define EXV_DLLPUBLIC __global # else # define EXV_IMPORT # define EXV_EXPORT # define EXV_DLLLOCAL # define EXV_DLLPUBLIC # endif # else /* ! EXV_WANT_VISIBILITY_SUPPORT */ # define EXV_IMPORT # define EXV_EXPORT # define EXV_DLLLOCAL # define EXV_DLLPUBLIC # endif /* ! EXV_WANT_VISIBILITY_SUPPORT */ #endif /* ! WIN32 */ /* Define EXIV2API for DLL builds */ #ifdef EXV_HAVE_DLL # ifdef EXV_BUILDING_LIB # define EXIV2API EXV_EXPORT # else # define EXIV2API EXV_IMPORT # endif /* ! EXV_BUILDING_LIB */ #else # define EXIV2API #endif /* ! EXV_HAVE_DLL */ /* If you're using Solaris and the Solaris Studio compiler, then you really do need to use -library=stdcxx4 along with these inclusions below */ #if defined(OS_SOLARIS) #include #include #include #include #include #if defined(__cplusplus) #include #include #endif #endif #endif #endif exiv2-0.25/config/Doxyfile0000664000175000017500000023471512540525515015306 0ustar andreasandreas# Doxyfile 1.8.3.1 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. # # All text after a hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" "). #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the config file # that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or sequence of words) that should # identify the project. Note that if you do not use Doxywizard you need # to put quotes around the project name if it contains spaces. PROJECT_NAME = Exiv2 # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer # a quick idea about the purpose of the project. Keep the description short. PROJECT_BRIEF = # With the PROJECT_LOGO tag one can specify an logo or icon that is # included in the documentation. The maximum height of the logo should not # exceed 55 pixels and the maximum width should not exceed 200 pixels. # Doxygen will copy the logo to the output directory. PROJECT_LOGO = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, # Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English # messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, # Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, # Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. Note that you specify absolute paths here, but also # relative paths, which will be relative from the directory where doxygen is # started. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful if your file system # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) JAVADOC_AUTOBRIEF = NO # If the QT_AUTOBRIEF tag is set to YES then Doxygen will # interpret the first line (until the first dot) of a Qt-style # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # This tag can be used to specify a number of word-keyword mappings (TCL only). # A mapping has the form "name=value". For example adding # "class=itcl::class" will allow you to use the command class in the # itcl::class meaning. TCL_SUBST = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. OPTIMIZE_OUTPUT_VHDL = NO # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, # and language is one of the parsers supported by doxygen: IDL, Java, # Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, # C++. For instance to make doxygen treat .inc files as Fortran files (default # is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note # that for custom extensions you also need to set FILE_PATTERNS otherwise the # files are not read by doxygen. EXTENSION_MAPPING = # If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all # comments according to the Markdown format, which allows for more readable # documentation. See http://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you # can mix doxygen, HTML, and XML commands with Markdown formatting. # Disable only in case of backward compatibilities issues. MARKDOWN_SUPPORT = YES # When enabled doxygen tries to link words that correspond to documented classes, # or namespaces to their corresponding documentation. Such a link can be # prevented in individual cases by by putting a % sign in front of the word or # globally by setting AUTOLINK_SUPPORT to NO. AUTOLINK_SUPPORT = YES # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also makes the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = YES # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate # getter and setter methods for a property. Setting this option to YES (the # default) will make doxygen replace the get and set methods by a property in # the documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and # unions are shown inside the group in which they are included (e.g. using # @ingroup) instead of on a separate page (for HTML and Man pages) or # section (for LaTeX and RTF). INLINE_GROUPED_CLASSES = NO # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and # unions with only public data fields will be shown inline in the documentation # of the scope in which they are defined (i.e. file, namespace, or group # documentation), provided this scope is documented. If set to NO (the default), # structs, classes, and unions are shown on a separate page (for HTML and Man # pages) or section (for LaTeX and RTF). INLINE_SIMPLE_STRUCTS = NO # When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum # is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. TYPEDEF_HIDES_STRUCT = NO # The SYMBOL_CACHE_SIZE determines the size of the internal cache use to # determine which symbols to keep in memory and which to flush to disk. # When the cache is full, less often used symbols will be written to disk. # For small to medium size projects (<1000 input files) the default value is # probably good enough. For larger projects a too small cache size can cause # doxygen to be busy swapping symbols to and from disk most of the time # causing a significant performance penalty. # If the system has enough physical memory increasing the cache will improve the # performance by keeping more symbols in memory. Note that the value works on # a logarithmic scale so increasing the size by one will roughly double the # memory usage. The cache size is given by this formula: # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols. SYMBOL_CACHE_SIZE = 0 # Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be # set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given # their name and scope. Since this can be an expensive process and often the # same symbol appear multiple times in the code, doxygen keeps a cache of # pre-resolved symbols. If the cache is too small doxygen will become slower. # If the cache is too large, memory is wasted. The cache size is given by this # formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols. LOOKUP_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal # scope will be included in the documentation. EXTRACT_PACKAGE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = NO # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespaces are hidden. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen # will list include files with double quotes in the documentation # rather than with sharp brackets. FORCE_LOCAL_INCLUDES = NO # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen # will sort the (brief and detailed) documentation of class members so that # constructors and destructors are listed first. If set to NO (the default) # the constructors will appear in the respective orders defined by # SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. # This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO # and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. SORT_MEMBERS_CTORS_1ST = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to # do proper type resolution of all parameters of a function it will reject a # match between the prototype and the implementation of a member function even # if there is only one candidate or it is obvious which candidate to choose # by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen # will still accept a match between prototype and implementation in such cases. STRICT_PROTO_MATCHING = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if section-label ... \endif # and \cond section-label ... \endcond blocks. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or macro consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and macros in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the # Namespaces page. # This will remove the Namespaces entry from the Quick Index # and from the Folder Tree View (if specified). The default is YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. # You can optionally specify a file name after the option, if omitted # DoxygenLayout.xml will be used as the name of the layout file. LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files # containing the references data. This must be a list of .bib files. The # .bib extension is automatically appended if omitted. Using this command # requires the bibtex tool to be installed. See also # http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style # of the bibliography can be controlled using LATEX_BIB_STYLE. To use this # feature you need bibtex and perl available in the search path. Do not use # file names with spaces, bibtex cannot handle them. CITE_BIB_FILES = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = YES # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # The WARN_NO_PARAMDOC option can be enabled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text " # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = ../src/ ../include/exiv2/ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh # *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py # *.f90 *.f *.for *.vhd *.vhdl FILE_PATTERNS = # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. # Note that relative paths are relative to the directory from which doxygen is # run. EXCLUDE = ../samples/Jzon.h \ ../samples/Jzon.cpp \ ../src/actions.hpp \ ../src/actions.cpp \ ../src/getopt_win32.c \ ../src/localtime.c \ ../src/getopt_win32.h \ ../src/private.h \ ../src/timegm.h \ ../src/tzfile.h # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. Note that the wildcards are matched # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = ../samples/ # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. # If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. # Doxygen will compare the file name with each pattern and apply the # filter if there is a match. # The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty or if # non of the patterns match the file name, INPUT_FILTER is applied. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file # pattern. A pattern will override the setting for FILTER_PATTERN (if any) # and it is also possible to disable source filtering for a specific pattern # using *.ext= (so without naming a filter). This option only has effect when # FILTER_SOURCE_FILES is enabled. FILTER_SOURCE_PATTERNS = # If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that # is part of the input, its contents will be placed on the main page (index.html). # This can be useful if you have a project on for instance GitHub and want reuse # the introduction page also for the doxygen output. USE_MDFILE_AS_MAINPAGE = #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C, C++ and Fortran comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. # Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = YES # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 4 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. Note that when using a custom header you are responsible # for the proper inclusion of any scripts and style sheets that doxygen # needs, which is dependent on the configuration options used. # It is advised to generate a default header using "doxygen -w html # header.html footer.html stylesheet.css YourConfigFile" and then modify # that header. Note that the header is subject to change so you typically # have to redo this when upgrading to a newer version of doxygen or when # changing the value of configuration settings such as GENERATE_TREEVIEW! HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If left blank doxygen will # generate a default style sheet. Note that it is recommended to use # HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this # tag will in the future become obsolete. HTML_STYLESHEET = # The HTML_EXTRA_STYLESHEET tag can be used to specify an additional # user-defined cascading style sheet that is included after the standard # style sheets created by doxygen. Using this option one can overrule # certain style aspects. This is preferred over using HTML_STYLESHEET # since it does not replace the standard style sheet and is therefor more # robust against future updates. Doxygen will copy the style sheet file to # the output directory. HTML_EXTRA_STYLESHEET = # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note # that these files will be copied to the base HTML output directory. Use the # $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these # files. In the HTML_STYLESHEET file, use the file name only. Also note that # the files will be copied as-is; there are no commands or markers available. HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. # Doxygen will adjust the colors in the style sheet and background images # according to this color. Hue is specified as an angle on a colorwheel, # see http://en.wikipedia.org/wiki/Hue for more information. # For instance the value 0 represents red, 60 is yellow, 120 is green, # 180 is cyan, 240 is blue, 300 purple, and 360 is red again. # The allowed range is 0 to 359. HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of # the colors in the HTML output. For a value of 0 the output will use # grayscales only. A value of 255 will produce the most vivid colors. HTML_COLORSTYLE_SAT = 100 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to # the luminance component of the colors in the HTML output. Values below # 100 gradually make the output lighter, whereas values above 100 make # the output darker. The value divided by 100 is the actual gamma applied, # so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, # and 100 does not change the gamma. HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting # this to NO can help when comparing the output of multiple runs. HTML_TIMESTAMP = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. HTML_DYNAMIC_SECTIONS = YES # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of # entries shown in the various tree structured indices initially; the user # can expand and collapse entries dynamically later on. Doxygen will expand # the tree to such a level that at most the specified number of entries are # visible (unless a fully collapsed tree already exceeds this amount). # So setting the number of entries 1 will produce a full collapsed tree by # default. 0 is a special value representing an infinite number of entries # and will result in a full expanded tree by default. HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). # To create a documentation set, doxygen will generate a Makefile in the # HTML output directory. Running make will produce the docset in that # directory and running "make install" will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find # it at startup. # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html # for more information. GENERATE_DOCSET = NO # When GENERATE_DOCSET tag is set to YES, this tag determines the name of the # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. DOCSET_FEEDNAME = "Doxygen generated docs" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. DOCSET_BUNDLE_ID = org.doxygen.Project # When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely # identify the documentation publisher. This should be a reverse domain-name # style string, e.g. com.mycompany.MyDocSet.documentation. DOCSET_PUBLISHER_ID = org.doxygen.Publisher # The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated # that can be used as input for Qt's qhelpgenerator to generate a # Qt Compressed Help (.qch) of the generated HTML documentation. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can # be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#namespace QHP_NAMESPACE = # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#virtual-folders QHP_VIRTUAL_FOLDER = doc # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to # add. For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters QHP_CUST_FILTER_NAME = # The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see # # Qt Help Project / Custom Filters. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's # filter section matches. # # Qt Help Project / Filter Attributes. QHP_SECT_FILTER_ATTRS = # If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files # will be generated, which together with the HTML files, form an Eclipse help # plugin. To install this plugin and make it available under the help contents # menu in Eclipse, the contents of the directory containing the HTML and XML # files needs to be copied into the plugins directory of eclipse. The name of # the directory within the plugins directory should be the same as # the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before # the help appears. GENERATE_ECLIPSEHELP = NO # A unique identifier for the eclipse help plugin. When installing the plugin # the directory name containing the HTML and XML files should also have # this name. ECLIPSE_DOC_ID = org.doxygen.Project # The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) # at top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. Since the tabs have the same information as the # navigation tree you can set this option to NO if you already set # GENERATE_TREEVIEW to YES. DISABLE_INDEX = NO # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. # If the tag value is set to YES, a side panel will be generated # containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). # Windows users are probably better off using the HTML help feature. # Since the tree basically has the same information as the tab index you # could consider to set DISABLE_INDEX to NO when enabling this option. GENERATE_TREEVIEW = NO # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values # (range [0,1..20]) that doxygen will group on one line in the generated HTML # documentation. Note that a value of 0 will completely suppress the enum # values from appearing in the overview section. ENUM_VALUES_PER_LINE = 4 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 # When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open # links to external symbols imported via tag files in a separate window. EXT_LINKS_IN_WINDOW = NO # Use this tag to change the font size of Latex formulas included # as images in the HTML documentation. The default is 10. Note that # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. FORMULA_FONTSIZE = 10 # Use the FORMULA_TRANPARENT tag to determine whether or not the images # generated for formulas are transparent PNGs. Transparent PNGs are # not supported properly for IE 6.0, but are supported on all modern browsers. # Note that when changing this option you need to delete any form_*.png files # in the HTML output before the changes have effect. FORMULA_TRANSPARENT = YES # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax # (see http://www.mathjax.org) which uses client side Javascript for the # rendering instead of using prerendered bitmaps. Use this if you do not # have LaTeX installed or if you want to formulas look prettier in the HTML # output. When enabled you may also need to install MathJax separately and # configure the path to it using the MATHJAX_RELPATH option. USE_MATHJAX = NO # When MathJax is enabled you can set the default output format to be used for # thA MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and # SVG. The default value is HTML-CSS, which is slower, but has the best # compatibility. MATHJAX_FORMAT = HTML-CSS # When MathJax is enabled you need to specify the location relative to the # HTML output directory using the MATHJAX_RELPATH option. The destination # directory should contain the MathJax.js script. For instance, if the mathjax # directory is located at the same level as the HTML output directory, then # MATHJAX_RELPATH should be ../mathjax. The default value points to # the MathJax Content Delivery Network so you can quickly see the result without # installing MathJax. # However, it is strongly recommended to install a local # copy of MathJax from http://www.mathjax.org before deployment. MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension # names that should be enabled during MathJax rendering. MATHJAX_EXTENSIONS = # When the SEARCHENGINE tag is enabled doxygen will generate a search box # for the HTML output. The underlying search engine uses javascript # and DHTML and should work on any modern browser. Note that when using # HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets # (GENERATE_DOCSET) there is already a search function so this one should # typically be disabled. For large projects the javascript based search engine # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. SEARCHENGINE = YES # When the SERVER_BASED_SEARCH tag is enabled the search engine will be # implemented using a web server instead of a web client using Javascript. # There are two flavours of web server based search depending on the # EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for # searching and an index file used by the script. When EXTERNAL_SEARCH is # enabled the indexing and searching needs to be provided by external tools. # See the manual for details. SERVER_BASED_SEARCH = NO # When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP # script for searching. Instead the search results are written to an XML file # which needs to be processed by an external indexer. Doxygen will invoke an # external search engine pointed to by the SEARCHENGINE_URL option to obtain # the search results. Doxygen ships with an example indexer (doxyindexer) and # search engine (doxysearch.cgi) which are based on the open source search engine # library Xapian. See the manual for configuration details. EXTERNAL_SEARCH = NO # The SEARCHENGINE_URL should point to a search engine hosted by a web server # which will returned the search results when EXTERNAL_SEARCH is enabled. # Doxygen ships with an example search engine (doxysearch) which is based on # the open source search engine library Xapian. See the manual for configuration # details. SEARCHENGINE_URL = # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed # search data is written to a file for indexing by an external tool. With the # SEARCHDATA_FILE tag the name of this file can be specified. SEARCHDATA_FILE = searchdata.xml # When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the # EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is # useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple # projects and redirect the results back to the right project. EXTERNAL_SEARCH_ID = # The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen # projects other than the one defined by this configuration file, but that are # all added to the same external search index. Each project needs to have a # unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id # of to a relative location where the documentation can be found. # The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ... EXTRA_SEARCH_MAPPINGS = #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. # Note that when enabling USE_PDFLATEX this option is only used for # generating bitmaps for formulas in the HTML output, but not in the # Makefile that is written to the output directory. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for # the generated latex document. The footer should contain everything after # the last chapter. If it is left blank doxygen will generate a # standard footer. Notice: only use this tag if you know what you are doing! LATEX_FOOTER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = NO # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = NO # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO # If LATEX_SOURCE_CODE is set to YES then doxygen will include # source code with syntax highlighting in the LaTeX output. # Note that which sources are shown also depends on other settings # such as SOURCE_BROWSER. LATEX_SOURCE_CODE = NO # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See # http://en.wikipedia.org/wiki/BibTeX for more info. LATEX_BIB_STYLE = plain #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load style sheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. # This is useful # if you want to understand what is going on. # On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = NO # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # pointed to by INCLUDE_PATH will be searched when a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition that # overrules the definition found in the source code. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all references to function-like macros # that are alone on a line, have an all uppercase name, and do not end with a # semicolon, because these will confuse the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. For each # tag file the location of the external documentation should be added. The # format of a tag file without this location is as follows: # # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths # or URLs. Note that each tag file must have a unique name (where the name does # NOT include the path). If a tag file is not located in the directory in which # doxygen is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = html/exiv2.xml # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option also works with HAVE_DOT disabled, but it is recommended to # install and use dot, since it yields more powerful graphs. CLASS_DIAGRAMS = YES # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see # http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the # documentation. The MSCGEN_PATH tag allows you to specify the directory where # the mscgen tool resides. If left empty the tool is assumed to be found in the # default search path. MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = YES # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is # allowed to run in parallel. When set to 0 (the default) doxygen will # base this on the number of processors available in the system. You can set it # explicitly to a value larger than 0 to get control over the balance # between CPU load and processing speed. DOT_NUM_THREADS = 0 # By default doxygen will use the Helvetica font for all dot files that # doxygen generates. When you want a differently looking font you can specify # the font name using DOT_FONTNAME. You need to make sure dot is able to find # the font, which can be done by putting it in a standard location or by setting # the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the # directory containing the font. DOT_FONTNAME = FreeSans # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. # The default size is 10pt. DOT_FONTSIZE = 10 # By default doxygen will tell dot to use the Helvetica font. # If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to # set the path where dot can find it. DOT_FONTPATH = # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If the UML_LOOK tag is enabled, the fields and methods are shown inside # the class node. If there are many fields or methods and many nodes the # graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS # threshold limits the number of items for each type to make the size more # managable. Set this to 0 for no limit. Note that the threshold may be # exceeded by 50% before the limit is enforced. UML_LIMIT_NUM_FIELDS = 10 # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT options are set to YES then # doxygen will generate a call dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. CALL_GRAPH = NO # If the CALLER_GRAPH and HAVE_DOT tags are set to YES then # doxygen will generate a caller dependency graph for every global function # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will generate a graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are svg, png, jpg, or gif. # If left blank png will be used. If you choose svg you need to set # HTML_FILE_EXTENSION to xhtml in order to make the SVG files # visible in IE 9+ (other browsers do not have this requirement). DOT_IMAGE_FORMAT = png # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to # enable generation of interactive SVG images that allow zooming and panning. # Note that this requires a modern browser other than Internet Explorer. # Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you # need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files # visible. Older versions of IE do not have SVG support. INTERACTIVE_SVG = NO # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MSCFILE_DIRS tag can be used to specify one or more directories that # contain msc files that are included in the documentation (see the # \mscfile command). MSCFILE_DIRS = # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is # visualized by representing a node as a red box. Note that doxygen if the # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, because dot on Windows does not # seem to support this out of the box. Warning: Depending on the platform used, # enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES exiv2-0.25/config/config.guess0000775000175000017500000012776411513730376016127 0ustar andreasandreas#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. timestamp='2010-08-21' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner. Please send patches (context # diff format) to and include a ChangeLog # entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' HUP INT TERM # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-tilera-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: exiv2-0.25/config/FindIconv.cmake0000664000175000017500000000547611512651243016455 0ustar andreasandreas# vim:ts=4:sw=4:expandtab:autoindent: # # The MIT License # # Copyright (c) 2008, 2009 Aristid Breitkreuz, Ash Berlin, Ruediger Sonderfeld # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. # Include(CheckFunctionExists) include(CheckCXXSourceCompiles) if(ICONV_INCLUDE_DIR) set(ICONV_FIND_QUIETLY TRUE) endif() find_path(ICONV_INCLUDE_DIR iconv.h) if(NOT ICONV_INCLUDE_DIR STREQUAL "ICONV_INCLUDE_DIR-NOTFOUND") set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR}) check_function_exists(iconv_open ICONV_IN_GLIBC) endif() if(NOT ICONV_IN_GLIBC) find_library(ICONV_LIBRARY NAMES iconv) set(ICONV_TEST ${ICONV_LIBRARY}) else() set(ICONV_TEST "In glibc") endif() set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR}) set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY}) check_cxx_source_compiles( "#include int main() { iconv(iconv_t(-1), 0, 0, 0, 0); }" ICONV_COMPILES) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(ICONV DEFAULT_MSG ICONV_TEST ICONV_INCLUDE_DIR ICONV_COMPILES) if(ICONV_FOUND) set(ICONV_LIBRARIES ${ICONV_LIBRARY}) else(ICONV_FOUND) set(ICONV_LIBRARIES) endif(ICONV_FOUND) if(ICONV_FOUND) set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR}) set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES}) check_cxx_source_compiles( "#include int main() { char *p = 0; iconv(iconv_t(-1), &p, 0, 0, 0); }" ICONV_ACCEPTS_NONCONST_INPUT) set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR}) set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES}) check_cxx_source_compiles( "#include int main() { char const *p = 0; iconv(iconv_t(-1), &p, 0, 0, 0); }" ICONV_ACCEPTS_CONST_INPUT) endif() mark_as_advanced(ICONV_LIBRARY ICONV_INCLUDE_DIR) exiv2-0.25/config/config.make0000664000175000017500000000431412521135474015672 0ustar andreasandreas# ***************************************************** -*- Makefile -*- # # Copyright (C) 2004-2015 Andreas Huggel # # This Makefile is part of the Exiv2 distribution. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials provided # with the distribution. # 3. The name of the author may not be used to endorse or promote # products derived from this software without specific prior # written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # File: config.make # Version: $Rev: 3777 $ # Author(s): Andreas Huggel (ahu) # History: 26-Feb-05, ahu: created # # Description: # Simple makefile to automate config tasks # # Restrictions: # Requires GNU make. # # Default make target all: config .PHONY: all config mostlyclean clean distclean maintainer-clean config: autoconf -o ../configure mostlyclean clean: rm -f configure.scan autoscan.log rm -rf autom4te.cache/ rm -f *~ *.bak *# distclean: clean rm -f config.h ../src/exv_conf.h config.mk exiv2.pc # This removes almost everything, including the configure script! maintainer-clean: distclean exiv2-0.25/config/exiv2.lsm.cmake0000664000175000017500000000120711512651243016411 0ustar andreasandreasBegin4 Title: ${PACKAGE_NAME} Version: ${PACKAGE_VERSION} Entered-date: 2004-05-01 Description: Exiv2 is a C++ library and a command line utility to manage image metadata. It provides fast and easy read and write access to the Exif, IPTC and XMP metadata of images in various formats. Keywords: image photo metadata exif iptc xmp makernotes Author: ${PACKAGE_COPYRIGHT} <${PACKAGE_BUGREPORT}> Maintained-by: ${PACKAGE_COPYRIGHT} <${PACKAGE_BUGREPORT}> Primary-site: ${PACKAGE_URL} Original-site: ${PACKAGE_URL} Platforms: Linux and other Unices, MacOs-X, Win32. Copying-policy: GPL End exiv2-0.25/config/configure.ac0000664000175000017500000003406712540430361016056 0ustar andreasandreas# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.61) AC_INIT(exiv2, 0.25, ahuggel@gmx.net) # See http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html EXIV2_LTVERSION=14:0:0 PACKAGE=$PACKAGE_NAME VERSION=$PACKAGE_VERSION AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE") AC_DEFINE_UNQUOTED(VERSION, "$VERSION") AC_SUBST(EXIV2_LTVERSION) AC_SUBST(PACKAGE) AC_SUBST(VERSION) AC_CONFIG_SRCDIR([src/exif.cpp]) AC_CONFIG_HEADER([./config/config.h]) AC_CONFIG_AUX_DIR([./config]) # --------------------------------------------------------------------------- # Checks for programs. # --------------------------------------------------------------------------- # Don't use -g to compile C++ code ac_cv_prog_cxx_g=no AC_PROG_CXX AC_PROG_CXXCPP # Don't use -g to compile C code ac_cv_prog_cc_g=no AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET AC_CANONICAL_HOST # --------------------------------------------------------------------------- # i18n support # --------------------------------------------------------------------------- AM_GNU_GETTEXT([external]) # --------------------------------------------------------------------------- # Libtool support # --------------------------------------------------------------------------- LT_INIT AC_SUBST([LIBTOOL_DEPS]) # --------------------------------------------------------------------------- # Checks for libraries. # --------------------------------------------------------------------------- AC_CHECK_LIBM() LIBS="$LIBS $LIBM" CHECK_ZLIB() AC_SUBST(HAVE_LIBZ,$HAVE_LIBZ) AM_ICONV # --------------------------------------------------------------------------- # Checks for header files. # --------------------------------------------------------------------------- AC_HEADER_STDC AC_CHECK_HEADERS([libintl.h locale.h malloc.h stdint.h stdlib.h string.h unistd.h sys/mman.h utime.h regex.h]) # --------------------------------------------------------------------------- # Checks for typedefs, structures, and compiler characteristics. # --------------------------------------------------------------------------- AC_HEADER_STDBOOL AC_C_CONST AC_C_INLINE AC_TYPE_PID_T AC_TYPE_SIZE_T AC_STRUCT_TM #AC_TYPE_UINT8_T #AC_TYPE_UINT16_T #AC_TYPE_UINT32_T #AC_TYPE_INT16_T #AC_TYPE_INT32_T AC_SUBST(GXX,$GXX) AC_SUBST(GCC,$GCC) # --------------------------------------------------------------------------- # Checks for library functions. # --------------------------------------------------------------------------- #AC_FUNC_MKTIME - fails when using old autoconf with gcc-4.3, see eg. Debian Bug#425544, and we don't use the result anyway AC_FUNC_MMAP AC_FUNC_STRERROR_R AC_CHECK_FUNCS([gmtime_r lstat memset mmap munmap strchr strerror strtol]) AC_CHECK_FUNCS([timegm], HAVE_TIMEGM=1) AC_SUBST(HAVE_TIMEGM,$HAVE_TIMEGM) # --------------------------------------------------------------------------- # Miscellaneous # --------------------------------------------------------------------------- AC_MSG_CHECKING([whether to enable dependency tracking]) AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build], USE_TRACKING=$enableval, USE_TRACKING=yes) AC_MSG_RESULT($USE_TRACKING) DEP_TRACKING= if test "$USE_TRACKING" = "yes"; then DEP_TRACKING=1 fi AC_SUBST(DEP_TRACKING,$DEP_TRACKING) AC_MSG_CHECKING([whether to enable symbol visibility support]) visibility=yes # visibility support in cygwin/ming generates 1000's of warning, set off by default case "$host_os" in *mingw* | *cygwin*) visibility=no ;; esac AC_ARG_ENABLE(visibility, [ --disable-visibility do not use symbol visibility support ], VISIBILITY_SUPPORT=$enableval, VISIBILITY_SUPPORT=$visibility) AC_MSG_RESULT($VISIBILITY_SUPPORT) if test "$VISIBILITY_SUPPORT" = "yes"; then # Sun Studio C++ compiler (which apparently ignores -fvisibility-inlines-hidden) AX_CXX_CHECK_FLAG(-xldscope=hidden,[],[],[VISIBILITY_SUPPORT=yes],[VISIBILITY_SUPPORT=no]) if test "$VISIBILITY_SUPPORT" = "yes"; then CXXFLAGS="${CXXFLAGS} -xldscope=hidden" else # GNU g++ AX_CXX_CHECK_FLAG(-fvisibility-inlines-hidden,[],[],[VISIBILITY_SUPPORT=yes],[VISIBILITY_SUPPORT=no]) if test "$VISIBILITY_SUPPORT" = "yes"; then CXXFLAGS="${CXXFLAGS} -fvisibility=hidden -fvisibility-inlines-hidden" fi fi if test "$VISIBILITY_SUPPORT" = "yes"; then AC_DEFINE(WANT_VISIBILITY_SUPPORT) fi if test "$enable_shared" = "yes"; then AC_DEFINE(HAVE_DLL) fi fi AC_MSG_CHECKING([whether to use the lens database for Nikon lens names]) AC_ARG_ENABLE(lensdata, [ --disable-lensdata do not use the lens database for Nikon lens names ], USE_LENSDATA=$enableval, USE_LENSDATA=yes) AC_MSG_RESULT($USE_LENSDATA) if test "$USE_LENSDATA" = "yes"; then AC_DEFINE(HAVE_LENSDATA,1) fi AC_MSG_CHECKING([whether to compile a commercial version of the Exiv2 library]) AC_ARG_ENABLE(commercial, [ --enable-commercial compile with the EXV_COMMERCIAL_VERSION symbol set ], COMMERCIAL_VERSION=$enableval, COMMERCIAL_VERSION=no) AC_MSG_RESULT($COMMERCIAL_VERSION) AC_SUBST(COMMERCIAL_VERSION,$COMMERCIAL_VERSION) AC_MSG_CHECKING([whether to enable XMP support (requires expat)]) AC_ARG_ENABLE(xmp, [ --disable-xmp do not compile XMP support and the XMP Toolkit ], USE_XMP_TOOLKIT=$enableval, USE_XMP_TOOLKIT=yes) AC_MSG_RESULT($USE_XMP_TOOLKIT) AC_MSG_CHECKING([whether to compile with video support]) AC_ARG_ENABLE(video, [ --enable-video compile with video support ], USE_VIDEO=$enableval, USE_VIDEO=no) AC_MSG_RESULT($USE_VIDEO) ENABLE_VIDEO= if test "$USE_VIDEO" = "yes"; then ENABLE_VIDEO=1 AC_DEFINE(ENABLE_VIDEO) fi AC_SUBST(ENABLE_VIDEO,$ENABLE_VIDEO) AC_MSG_CHECKING([whether to compile with webready support]) AC_ARG_ENABLE(webready, [ --enable-webready compile Exiv2 library with webready support ], ENABLE_WEBREADY=$enableval, ENABLE_WEBREADY=no) AC_MSG_RESULT($ENABLE_WEBREADY) if test "$enable_webready" = "yes"; then AC_DEFINE(ENABLE_WEBREADY) fi if test "$enable_webready" = "yes"; then # libcurl option might change flags, so we save them initially _cppflags="${CPPFLAGS}" _ldflags="${LDFLAGS}" AC_ARG_WITH(curl, [ --with-curl[[=DIR]] use libcurl in DIR],[ if test "$withval" != "no" -a "$withval" != "yes"; then CURL_DIR=$withval CPPFLAGS="${CPPFLAGS} -I$withval/include" LDFLAGS="${LDFLAGS} -L$withval/lib" fi ]) USE_CURL= if test "$with_curl" != "no"; then # Check for libcurl library found_curl=yes CURL_CPPFLAGS= CURL_LDFLAGS= CURL_LIBS= AC_CHECK_HEADERS(curl/curl.h, AC_CHECK_LIB(curl, curl_easy_init,[ USE_CURL=yes AC_DEFINE([USE_CURL], [1], [Use libcurl library]) CURL_LIBS="-lcurl" if test "x${CURL_DIR}" != "x"; then CURL_CPPFLAGS="-I${CURL_DIR}/include" CURL_LDFLAGS="-L${CURL_DIR}/lib" fi],[found_curl=no]),[found_curl=no]) if test "$found_curl" = "no"; then AC_MSG_ERROR(either specify a valid curl installation with --with-curl=DIR or use --without-curl) fi AC_SUBST(CURL_CPPFLAGS) AC_SUBST(CURL_LDFLAGS) AC_SUBST(CURL_LIBS) fi CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags} # libssh option might change flags, so we save them initially _cppflags="${CPPFLAGS}" _ldflags="${LDFLAGS}" AC_ARG_WITH(ssh, [ --with-ssh[[=DIR]] use libssh in DIR],[ if test "$withval" != "no" -a "$withval" != "yes"; then SSH_DIR=$withval CPPFLAGS="${CPPFLAGS} -I$withval/include" LDFLAGS="${LDFLAGS} -L$withval/lib" fi ]) USE_SSH= if test "$with_ssh" != "no"; then # Check for libssh library found_ssh=yes SSH_CPPFLAGS= SSH_LDFLAGS= SSH_LIBS= AC_CHECK_HEADERS(libssh/libssh.h, AC_CHECK_LIB(ssh, ssh_new,[ USE_SSH=1 AC_DEFINE([USE_SSH], [1], [Use libssh library]) SSH_LIBS="-lssh" if test "x${SSH_DIR}" != "x"; then SSH_CPPFLAGS="-I${SSH_DIR}/include" SSH_LDFLAGS="-L${SSH_DIR}/lib" fi],[found_ssh=no]),[found_ssh=no]) if test "$found_ssh" = "no"; then AC_MSG_ERROR(either specify a valid libssh installation with --with-ssh=DIR or use --without-ssh) fi AC_SUBST(SSH_CPPFLAGS) AC_SUBST(SSH_LDFLAGS) AC_SUBST(SSH_LIBS) fi AC_SUBST(USE_SSH,$USE_SSH) CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags} fi # expat option might change flags, so we save them initially _cppflags="${CPPFLAGS}" _ldflags="${LDFLAGS}" AC_ARG_WITH(expat, [ --with-expat[[=DIR]] use libexpat in DIR],[ if test "$withval" != "no" -a "$withval" != "yes"; then EXPAT_DIR=$withval CPPFLAGS="${CPPFLAGS} -I$withval/include" LDFLAGS="${LDFLAGS} -L$withval/lib" fi ]) ENABLE_XMP= if test "$USE_XMP_TOOLKIT" = "yes"; then # Check for expat library found_expat=yes EXPAT_CPPFLAGS= EXPAT_LDFLAGS= EXPAT_LIBS= if test "$with_expat" != "no"; then AC_CHECK_HEADERS(expat.h, AC_CHECK_LIB(expat, XML_ParserCreate,[ AC_DEFINE([HAVE_EXPAT], [], [Have Expat XML parser library]) EXPAT_LIBS="-lexpat" if test "x${EXPAT_DIR}" != "x"; then EXPAT_CPPFLAGS="-I${EXPAT_DIR}/include" EXPAT_LDFLAGS="-L${EXPAT_DIR}/lib" fi],[found_expat=no]),[found_expat=no]) fi if test "$with_expat" = "no" -o "$found_expat" = "no"; then AC_MSG_ERROR(either specify a valid expat installation with --with-expat=DIR or disable XMP support with --disable-xmp) fi AC_DEFINE(HAVE_XMP_TOOLKIT,1) ENABLE_XMP=1 AC_SUBST(EXPAT_CPPFLAGS) AC_SUBST(EXPAT_LDFLAGS) AC_SUBST(EXPAT_LIBS) fi AC_SUBST(ENABLE_XMP) CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags} # Udi's hack to add libiconv to the Libs section in exiv2.pc if test "$enable_shared" = "no"; then EXV_LIB_STATIC=$LTLIBICONV else EXV_LIB_STATIC= fi AC_SUBST(EXV_LIB_STATIC) # Add flag for DLL on Windows # # This must happen after all other configure checks, because # the "-no-undefined" flag is only for libtool and must not be # passed to GCC by accident. # version.cpp requires link to psapi/Windows and dl/Unix builds case "$host_os" in *mingw* | *cygwin*) LDFLAGS="$LDFLAGS -no-undefined -lpsapi -lwldap32 -lws2_32" ;; *) LDFLAGS="$LDFLAGS -ldl" ;; esac # --------------------------------------------------------------------------- # Create output files. # --------------------------------------------------------------------------- AC_CONFIG_FILES([./Makefile:./config/Makefile.in]) AC_CONFIG_FILES([./config/config.mk]) AC_CONFIG_FILES([./config/exiv2.pc]) AC_CONFIG_FILES([./po/Makefile.in]) AC_CONFIG_FILES([./src/doxygen.hpp]) AC_OUTPUT # --------------------------------------------------------------------------- # Configuration summary. # --------------------------------------------------------------------------- echo "" echo "------------------------------------------------------------------" echo "-- Exiv2 $VERSION feature configuration summary" echo "--" case "$enable_shared" in yes) echo "-- Build a shared library......... YES" ;; *) echo "-- Build a shared library......... NO" ;; esac case "$VISIBILITY_SUPPORT" in yes) echo "-- Use symbol visibility support.. YES" ;; *) echo "-- Use symbol visibility support.. NO" ;; esac case "x$HAVE_LIBZ" in x1) echo "-- PNG image support.............. YES" ;; *) echo "-- PNG image support.............. NO" echo "" echo "zlib is required for PNG support. Make sure the zlib header files" echo "are installed and use --with-zlib=DIR if it is in a non-standard" echo "location. You can get zlib from http://www.zlib.net/" echo "" ;; esac case "$USE_NLS" in yes) echo "-- Native language support........ YES" ;; *) echo "-- Native language support........ NO" echo "" echo "gettext is required for native language support. Make sure the" echo "gettext header files are installed. You can get gettext from" echo "http://www.gnu.org/software/gettext/" echo "" ;; esac case "$USE_LENSDATA" in yes) echo "-- Nikon lens database............ YES" ;; *) echo "-- Nikon lens database............ NO" ;; esac case "$USE_XMP_TOOLKIT" in yes) echo "-- XMP metadata support........... YES" ;; *) echo "-- XMP metadata support........... NO" echo "" echo "Expat is required for XMP support. Make sure the Expat header" echo "files are installed and use --with-expat=DIR if it is in a" echo "non-standard location. You can get Expat from" echo "http://expat.sourceforge.net/" echo "" ;; esac case "x$ENABLE_VIDEO" in x1) echo "-- Video support.................. YES" ;; *) echo "-- Video support.................. NO" esac if test "$enable_webready" = "yes"; then echo "-- Webready support............... YES" else echo "-- Webready support............... NO" fi if test "$enable_webready" = "yes"; then case "$USE_CURL" in yes) echo "-- Using Lib Curl................. YES" ;; *) echo "-- Using Lib Curl................. NO" echo "" echo "Libcurl is required for HttpIo in basicIo.cpp. Make sure the Curl header" echo "files are installed and use --with-curl=DIR if it is in a" echo "non-standard location. You can get Curl from" echo "http://curl.haxx.se/libcurl/" echo "" ;; esac case "x$USE_SSH" in x1) echo "-- Using Lib SSH.................. YES" ;; *) echo "-- Using Lib SSH.................. NO" echo "" echo "Libssh is required for SshIo in basicIo.cpp. Make sure the libssh header" echo "files are installed and use --with-ssh=DIR if it is in a" echo "non-standard location. You can get libssh from" echo "http://www.libssh.org/get-it/" echo "" ;; esac fi echo "------------------------------------------------------------------" echo "" # That's all Folks! ## exiv2-0.25/config/FindMSGFMT.cmake0000664000175000017500000000654711734316734016405 0ustar andreasandreas# - FindMSGFMT.cmake for Hugin 0.7 # file taken from rosegarden # # Find the gnu gettext msgfmt and msgmerge programs and define # a macro that calls it to add message translations # # Defined variables: # MSGFMT_FOUND # MSGFMT_EXECUTABLE # MSGMERGE_FOUND # MSGMERGE_EXECUTABLE # # Macro: # ADD_TRANSLATIONS # # mod for Windows build 07Nov2007 TKSharpless -- # look in C:\MinGW after std. Unix places, that's where # gettext automatically installed itself on my system. # TODO find where else on Windows, Mac, etc gettext might be # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. IF(MSGFMT_EXECUTABLE) SET(MSGFMT_FOUND TRUE) ELSE(MSGFMT_EXECUTABLE) FIND_PROGRAM(MSGFMT_EXECUTABLE NAMES msgfmt gmsgfmt msgfmt.exe PATHS /bin /usr/bin /usr/local/bin c:/MinGW/bin ${SOURCE_BASE_DIR}/gettext/bin) IF(MSGFMT_EXECUTABLE) SET(MSGFMT_FOUND TRUE) ELSE(MSGFMT_EXECUTABLE) IF(NOT MSGFMT_FIND_QUIETLY) IF(MSGFMT_FIND_REQUIRED) MESSAGE(FATAL_ERROR "msgfmt program couldn't be found") ENDIF(MSGFMT_FIND_REQUIRED) ENDIF(NOT MSGFMT_FIND_QUIETLY) ENDIF(MSGFMT_EXECUTABLE) MARK_AS_ADVANCED(MSGFMT_EXECUTABLE) ENDIF (MSGFMT_EXECUTABLE) IF(MSGMERGE_EXECUTABLE) SET(MSGMERGE_FOUND TRUE) ELSE(MSGMERGE_EXECUTABLE) FIND_PROGRAM(MSGMERGE_EXECUTABLE NAMES msgmerge gmsgmerge msgmerge.exe PATHS /bin /usr/bin /usr/local/bin c:/MinGW/bin ${SOURCE_BASE_DIR}/gettext/bin) IF(MSGMERGE_EXECUTABLE) SET(MSGMERGE_FOUND TRUE) ELSE(MSGMERGE_EXECUTABLE) IF(NOT MSGMERGE_FIND_QUIETLY) IF(MSGMERGE_FIND_REQUIRED) MESSAGE(FATAL_ERROR "msgmerge program couldn't be found") ENDIF(MSGMERGE_FIND_REQUIRED) ENDIF(NOT MSGMERGE_FIND_QUIETLY) ENDIF(MSGMERGE_EXECUTABLE) MARK_AS_ADVANCED(MSGMERGE_EXECUTABLE) ENDIF (MSGMERGE_EXECUTABLE) MACRO(UPDATE_TRANSLATIONS _baseName) SET(_outputs) FOREACH(_file ${ARGN}) GET_FILENAME_COMPONENT(_file_we ${_file} NAME_WE) SET(_out "${CMAKE_CURRENT_SOURCE_DIR}/${_file_we}.po") SET(_ref "${CMAKE_CURRENT_SOURCE_DIR}/${_baseName}.pot") ADD_CUSTOM_COMMAND(OUTPUT ${_out} COMMAND ${MSGMERGE_EXECUTABLE} ${_out} ${_ref} DEPENDS ${_ref}) SET(_outputs ${_outputs} ${_out}) ENDFOREACH(_file) SET(MSGMERGE_TARGET update_translations_${_baseName}) ADD_CUSTOM_TARGET(${MSGMERGE_TARGET} ALL DEPENDS ${_outputs}) ENDMACRO(UPDATE_TRANSLATIONS) MACRO(ADD_TRANSLATIONS _baseName) SET(_outputs) FOREACH(_file ${ARGN}) GET_FILENAME_COMPONENT(_file_we ${_file} NAME_WE) SET(_out "${CMAKE_CURRENT_BINARY_DIR}/${_file_we}.gmo") SET(_in "${CMAKE_CURRENT_SOURCE_DIR}/${_file_we}.po") ADD_CUSTOM_COMMAND( OUTPUT ${_out} COMMAND ${MSGFMT_EXECUTABLE} -o ${_out} ${_in} DEPENDS ${_in} ) INSTALL(FILES ${_out} DESTINATION ${LOCALEDIR}/${_file_we}/LC_MESSAGES/ RENAME ${_baseName}.mo ) SET(_outputs ${_outputs} ${_out}) ENDFOREACH(_file) SET(MSGFMT_TARGET translations${_baseName}) ADD_CUSTOM_TARGET(${MSGFMT_TARGET} ALL DEPENDS ${_outputs}) ENDMACRO(ADD_TRANSLATIONS) exiv2-0.25/config/config.sub0000775000175000017500000010437611513730376015564 0ustar andreasandreas#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. timestamp='2010-09-11' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile-* | tilegx-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze) basic_machine=microblaze-xilinx ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; # This must be matched before tile*. tilegx*) basic_machine=tilegx-unknown os=-linux-gnu ;; tile*) basic_machine=tile-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: exiv2-0.25/config/ReadMe-Autotools.txt0000664000175000017500000001473412145561022017454 0ustar andreasandreasConfiguration and Build Strategy 01-Sep-2000, ahu -------------------------------- This is *not* an installation manual. See README and INSTALL for that. This document describes the main guidelines used for the configuration and build system of this software package and summarizes the steps for the involved processes. 1. Overview and Rationale ---------------------- The `autoconf' package is used to gather system configuration data (see `info autoconf'). System configuration data is kept in `config.mk' and `config.h'. These files are included from Makefiles and source files, respectively. System configuration is done from the top level of the directory tree. Usually, `./configure' is enough to create all system configuration files and Makefiles. In turn, `make distclean' issued from the top level directory will remove all files created by the configuration and build processes (while `make distclean' issued in a subdirectory will only remove files created by the build process but no configuration files). Makefiles should follow GNU Makefile conventions (see `info make'). Most targets in the top level Makefile simply call `make' in each subdirectory and recursively perform a given task. This ensures that Makefiles in the subdirectories are sufficently independent. It must be possible to use all standard targets in all subdirectories to independently work in a subdirectory with consistent targets. Using an existing, proven and well documented configuration system saves us the effort of re-inventing the wheel. It allows us to draw from a wealth of experience in this area. Building on carefully chosen existing standards and conventions should not only save us from some common pitfalls but also help people familiarize with our development environment quickly. 2. Configuration ------------- Preparing a software package for distribution (see section 2.1) is very much a one time job. Maintenance of an already prepared package is less challenging (see section 2.2) and only needs to be performed from time to time. The strength of using the `autoconf' process is that configuring and building a package, once it is prepared, is very simple (see section 2.3). In most cases, a `./configure; make' in the top level directory should be enough to configure and build the entire package. 2.1 The steps to prepare a software package for distribution -------------------------------------------------------- 1. Run `autoscan' in top level directory Input: source files Output: `configure.scan' 2. Manually examine and fix `configure.scan' 3. Rename `configure.scan' to `configure.in' 4. Manually create `acconfig.h' for additional AC_DEFINE'd symbols 5. Run `autoheader' Input: `configure.in' `acconfig.h' Output: `config.h.in' 6. Run `autoconf' Input: `configure.in' `acconfig.h' Output: `configure' 7. Manually create `Makefile.in' template Here is a complete diagram showing this process (from `info autoconf'): source files --> [autoscan*] --> [configure.scan] --> configure.in configure.in --. .------> autoconf* -----> configure +---+ [aclocal.m4] --+ `---. [acsite.m4] ---' | +--> [autoheader*] -> [config.h.in] [acconfig.h] ----. | +-----' [config.h.top] --+ [config.h.bot] --' Makefile.in -------------------------------> Makefile.in 2.2 Maintenance of a prepared package --------------------------------- Only the most frequently used maintenance processes are described here. 2.2.1 `Makefile' changes ------------------ `Makefile's are generated from the respective `Makefile.in' template by the `configure' script. Therefore, if a change to a `Makefile' is needed, it must be done in the `Makefile.in' template and the `configure' script must be run to re-generate the `Makefile'. 2.2.2 `configure.in' and `acconfig.h' updates --------------------------------------- Such updates may be required to add a new feature or test to the package. Also, from time to time, e.g., after substantial source code changes or an upgrade of the `autoconf' package, it may be useful to re-run `autoscan' and compare the resulting `configure.scan' with the existing `configure.in' and check for new macros and tests suggested in `configure.scan'. Usually, you can then easily update `configure.in' manually. After applying the changes, `configure' and `config.h.in' need to be re-built using `autoconf' and `autoheader', respectively (see section 2.1, steps 5. and 6.). 2.3 The steps to configuring and building a software package -------------------------------------------------------- 1. Run `./configure' in top level directory Input: `Makefile.in' `config.h.in' Output: `Makefile' `config.mk' `config.h' 2. Run `make' in the top level directory Input: `Makefile' `config.mk' `config.h' source code Output: Executables, Libraries, etc. The diagram showing this process (from `info autoconf') looks like this: .-------------> config.cache configure* ------------+-------------> config.log | [config.h.in] -. v .-> [config.h] -. +--> config.status* -+ +--> make* Makefile.in ---' `-> Makefile ---' 3. Makefile Conventions -------------------- Makefiles should follow GNU Makefile conventions (see `info make'). 3.1 Standard Makefile Targets ------------------------- `all' Compile the entire program. Should be the default target. `check' Perform self-tests (if any). `install' Compile the program and copy executables, libraries, etc., to the file names where they should reside for actual use. `uninstall' Delete all the installed files created by `install'. `clean' Delete all files that are normally created by building the program. `mostlyclean' Delete all files that are normally created by building the program, except executables, libraries, etc. `distclean' In the top level directory, delete all files that are created by configuring or building the program. In a subdirectory, same as `clean'. `maintainer-clean' Delete almost everything from the current directory that can be reconstructed with this Makefile. If in doubt about the standard targets and for more details, see GNU Makefile conventions in `info make'. exiv2-0.25/config/exiv2.pc.cmake0000664000175000017500000000043211512651243016217 0ustar andreasandreasprefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} libdir=${prefix}/lib includedir=${prefix}/include Name: exiv2 Description: Exif and IPTC metadata library and tools Version: @PACKAGE_VERSION@ URL: @PACKAGE_URL@ Libs: -L${libdir} -lexiv2 @EXV_LIB_STATIC@ Cflags: -I${includedir} exiv2-0.25/config/ltmain.sh0000775000175000017500000073337411512651243015424 0ustar andreasandreas# Generated from ltmain.m4sh. # ltmain.sh (GNU libtool) 2.2.6 # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, # or obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Usage: $progname [OPTION]... [MODE-ARG]... # # Provide generalized library-building support services. # # --config show all configuration variables # --debug enable verbose shell tracing # -n, --dry-run display commands without modifying any files # --features display basic configuration information and exit # --mode=MODE use operation mode MODE # --preserve-dup-deps don't remove duplicate dependency libraries # --quiet, --silent don't print informational messages # --tag=TAG use configuration variables from tag TAG # -v, --verbose print informational messages (default) # --version print version information # -h, --help print short or long help message # # MODE must be one of the following: # # clean remove files from the build directory # compile compile a source file into a libtool object # execute automatically set library path, then run a program # finish complete the installation of libtool libraries # install install libraries or executables # link create a library or an executable # uninstall remove libraries from an installed directory # # MODE-ARGS vary depending on the MODE. # Try `$progname --help --mode=MODE' for a more detailed description of MODE. # # When reporting a bug, please describe a test case to reproduce it and # include the following information: # # host-triplet: $host # shell: $SHELL # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) # $progname: (GNU libtool) 2.2.6 Debian-2.2.6a-4 # automake: $automake_version # autoconf: $autoconf_version # # Report bugs to . PROGRAM=ltmain.sh PACKAGE=libtool VERSION="2.2.6 Debian-2.2.6a-4" TIMESTAMP="" package_revision=1.3012 # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # NLS nuisances: We save the old values to restore during execute mode. # Only set LANG and LC_ALL to C if already set. # These must not be set unconditionally because not all systems understand # e.g. LANG=C (notably SCO). lt_user_locale= lt_safe_locale= for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${$lt_var+set}\" = set; then save_$lt_var=\$$lt_var $lt_var=C export $lt_var lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" fi" done $lt_unset CDPATH : ${CP="cp -f"} : ${ECHO="echo"} : ${EGREP="/bin/grep -E"} : ${FGREP="/bin/grep -F"} : ${GREP="/bin/grep"} : ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SED="/bin/sed"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. exit_status=$EXIT_SUCCESS # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" dirname="s,/[^/]*$,," basename="s,^.*/,," # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } # Generated shell functions inserted here. # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" # The name of this program: # In the unlikely event $progname began with a '-', it would play havoc with # func_echo (imagine progname=-n), so we prepend ./ in that case: func_dirname_and_basename "$progpath" progname=$func_basename_result case $progname in -*) progname=./$progname ;; esac # Make sure we have an absolute path for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=$func_dirname_result progdir=`cd "$progdir" && pwd` progpath="$progdir/$progname" ;; *) save_IFS="$IFS" IFS=: for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break done IFS="$save_IFS" test -n "$progdir" || progdir=`pwd` progpath="$progdir/$progname" ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([`"$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Re-`\' parameter expansions in output of double_quote_subst that were # `\'-ed in input to the same. If an odd number of `\' preceded a '$' # in input to double_quote_subst, that '$' was protected from expansion. # Since each input `\' is now two `\'s, look for any number of runs of # four `\'s followed by two `\'s and then a '$'. `\' that '$'. bs='\\' bs2='\\\\' bs4='\\\\\\\\' dollar='\$' sed_double_backslash="\ s/$bs4/&\\ /g s/^$bs2$dollar/$bs&/ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g s/\n//g" # Standard options: opt_dry_run=false opt_help=false opt_quiet=false opt_verbose=false opt_warning=: # func_echo arg... # Echo program name prefixed message, along with the current mode # name if it has been set yet. func_echo () { $ECHO "$progname${mode+: }$mode: $*" } # func_verbose arg... # Echo program name prefixed message in verbose mode only. func_verbose () { $opt_verbose && func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_error arg... # Echo program name prefixed message to standard error. func_error () { $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 } # func_warning arg... # Echo program name prefixed warning message to standard error. func_warning () { $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 # bash bug again: : } # func_fatal_error arg... # Echo program name prefixed message to standard error, and exit. func_fatal_error () { func_error ${1+"$@"} exit $EXIT_FAILURE } # func_fatal_help arg... # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { func_error ${1+"$@"} func_fatal_error "$help" } help="Try \`$progname --help' for more information." ## default # func_grep expression filename # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $GREP "$1" "$2" >/dev/null 2>&1 } # func_mkdir_p directory-path # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { my_directory_path="$1" my_dir_list= if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then # Protect directory names starting with `-' case $my_directory_path in -*) my_directory_path="./$my_directory_path" ;; esac # While some portion of DIR does not yet exist... while test ! -d "$my_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. my_dir_list="$my_directory_path:$my_dir_list" # If the last portion added has no slash in it, the list is done case $my_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"` done my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'` save_mkdir_p_IFS="$IFS"; IFS=':' for my_dir in $my_dir_list; do IFS="$save_mkdir_p_IFS" # mkdir can fail with a `File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$my_dir" 2>/dev/null || : done IFS="$save_mkdir_p_IFS" # Bail out if we (or some other process) failed to create a directory. test -d "$my_directory_path" || \ func_fatal_error "Failed to create \`$1'" fi } # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $MKDIR "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || \ func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi $ECHO "X$my_tmpdir" | $Xsed } # func_quote_for_eval arg # Aesthetically quote ARG to be evaled later. # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT # is double-quoted, suitable for a subsequent eval, whereas # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters # which are still active within double quotes backslashified. func_quote_for_eval () { case $1 in *[\\\`\"\$]*) func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;; *) func_quote_for_eval_unquoted_result="$1" ;; esac case $func_quote_for_eval_unquoted_result in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and and variable # expansion for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" ;; *) func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" esac } # func_quote_for_expand arg # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { case $1 in *[\\\`\"]*) my_arg=`$ECHO "X$1" | $Xsed \ -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) my_arg="$1" ;; esac case $my_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") my_arg="\"$my_arg\"" ;; esac func_quote_for_expand_result="$my_arg" } # func_show_eval cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$my_cmd" my_status=$? if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_show_eval_locale cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$lt_user_locale $my_cmd" my_status=$? eval "$lt_safe_locale" if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_version # Echo version message to standard output and exit. func_version () { $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / { s/^# // s/^# *$// s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ p }' < "$progpath" exit $? } # func_usage # Echo short help message to standard output and exit. func_usage () { $SED -n '/^# Usage:/,/# -h/ { s/^# // s/^# *$// s/\$progname/'$progname'/ p }' < "$progpath" $ECHO $ECHO "run \`$progname --help | more' for full usage" exit $? } # func_help # Echo long help message to standard output and exit. func_help () { $SED -n '/^# Usage:/,/# Report bugs to/ { s/^# // s/^# *$// s*\$progname*'$progname'* s*\$host*'"$host"'* s*\$SHELL*'"$SHELL"'* s*\$LTCC*'"$LTCC"'* s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ p }' < "$progpath" exit $? } # func_missing_arg argname # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { func_error "missing argument for $1" exit_cmd=exit } exit_cmd=: # Check that we have a working $ECHO. if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then # Yippee, $ECHO works! : else # Restart under the correct shell, and then maybe $ECHO will work. exec $SHELL "$progpath" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat </dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # Parse options once, thoroughly. This comes as soon as possible in # the script to make things like `libtool --version' happen quickly. { # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; esac # Parse non-mode specific arguments: while test "$#" -gt 0; do opt="$1" shift case $opt in --config) func_config ;; --debug) preserve_args="$preserve_args $opt" func_echo "enabling shell trace mode" opt_debug='set -x' $opt_debug ;; -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break execute_dlfiles="$execute_dlfiles $1" shift ;; --dry-run | -n) opt_dry_run=: ;; --features) func_features ;; --finish) mode="finish" ;; --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break case $1 in # Valid mode arguments: clean) ;; compile) ;; execute) ;; finish) ;; install) ;; link) ;; relink) ;; uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $opt" exit_cmd=exit break ;; esac mode="$1" shift ;; --preserve-dup-deps) opt_duplicate_deps=: ;; --quiet|--silent) preserve_args="$preserve_args $opt" opt_silent=: ;; --verbose| -v) preserve_args="$preserve_args $opt" opt_silent=false ;; --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break preserve_args="$preserve_args $opt $1" func_enable_tag "$1" # tagname is set here shift ;; # Separate optargs to long options: -dlopen=*|--mode=*|--tag=*) func_opt_split "$opt" set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} shift ;; -\?|-h) func_usage ;; --help) opt_help=: ;; --version) func_version ;; -*) func_fatal_help "unrecognized option \`$opt'" ;; *) nonopt="$opt" break ;; esac done case $host in *cygwin* | *mingw* | *pw32* | *cegcc*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; *) opt_duplicate_compiler_generated_deps=$opt_duplicate_deps ;; esac # Having warned about all mis-specified options, bail out if # anything was wrong. $exit_cmd $EXIT_FAILURE } # func_check_version_match # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } ## ----------- ## ## Main. ## ## ----------- ## $opt_help || { # Sanity checks first: func_check_version_match if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then func_fatal_configuration "not configured to build any kind of library" fi test -z "$mode" && func_fatal_error "error: you must specify a MODE." # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$execute_dlfiles" && test "$mode" != execute; then func_error "unrecognized option \`-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$progname --help --mode=$mode' for more information." } # func_lalib_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null \ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_unsafe_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if `file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case "$lalib_p_line" in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test "$lalib_p" = yes } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { func_lalib_p "$1" } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_ltwrapper_scriptname_result="" if func_ltwrapper_executable_p "$1"; then func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" fi } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $opt_debug save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$save_ifs eval cmd=\"$cmd\" func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. func_source () { $opt_debug case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $opt_debug if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_quote_for_eval "$arg" CC_quoted="$CC_quoted $func_quote_for_eval_result" done case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. func_quote_for_eval "$arg" CC_quoted="$CC_quoted $func_quote_for_eval_result" done case "$@ " in " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with \`--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=${1} if test "$build_libtool_libs" = yes; then write_lobj=\'${2}\' else write_lobj=none fi if test "$build_old_libs" = yes; then write_oldobj=\'${3}\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T <?"'"'"' &()|`$[]' \ && func_warning "libobj name \`$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname="$func_basename_result" xdir="$func_dirname_result" lobj=${xdir}$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi removelist="$removelist $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist removelist="$removelist $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir command="$command -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test "$compiler_c_o" = yes; then command="$command -o $obj" fi # Suppress compiler output if we already did a PIC compilation. command="$command$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test "$need_locks" != no; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test "$mode" = compile && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to building PIC objects only -prefer-non-pic try to building non-PIC objects only -shared do not build a \`.o' file suitable for static linking -static only build a \`.o' file suitable for static linking COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode \`$mode'" ;; esac $ECHO $ECHO "Try \`$progname --help' for more information about other modes." exit $? } # Now that we've collected a possible --mode arg, show help if necessary $opt_help && func_mode_help # func_mode_execute arg... func_mode_execute () { $opt_debug # The first argument is the command name. cmd="$nonopt" test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $execute_dlfiles; do test -f "$file" \ || func_fatal_help "\`$file' is not a file" dir= case $file in *.la) # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "\`$file' was not linked with \`-export-dynamic'" continue fi func_dirname "$file" "" "." dir="$func_dirname_result" if test -f "$dir/$objdir/$dlname"; then dir="$dir/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir="$func_dirname_result" ;; *) func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -*) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file="$progdir/$program" elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). func_quote_for_eval "$file" args="$args $func_quote_for_eval_result" done if test "X$opt_dry_run" = Xfalse; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" $ECHO "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS fi } test "$mode" = execute && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $opt_debug libdirs="$nonopt" admincmds= if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for dir do libdirs="$libdirs $dir" done for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || admincmds="$admincmds $cmds" fi done fi # Exit here if they wanted silent mode. $opt_silent && exit $EXIT_SUCCESS $ECHO "X----------------------------------------------------------------------" | $Xsed $ECHO "Libraries have been installed in:" for libdir in $libdirs; do $ECHO " $libdir" done $ECHO $ECHO "If you ever happen to want to link against installed libraries" $ECHO "in a given directory, LIBDIR, you must either use libtool, and" $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'" $ECHO "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then $ECHO " - add LIBDIR to the \`$shlibpath_var' environment variable" $ECHO " during execution" fi if test -n "$runpath_var"; then $ECHO " - add LIBDIR to the \`$runpath_var' environment variable" $ECHO " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $ECHO " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then $ECHO " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi $ECHO $ECHO "See any operating system documentation about shared libraries for" case $host in solaris2.[6789]|solaris2.1[0-9]) $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual" $ECHO "pages." ;; *) $ECHO "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac $ECHO "X----------------------------------------------------------------------" | $Xsed exit $EXIT_SUCCESS } test "$mode" = finish && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $opt_debug # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. $ECHO "X$nonopt" | $GREP shtool >/dev/null; then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_for_eval "$arg" install_prog="$install_prog$func_quote_for_eval_result" # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=no stripme= for arg do if test -n "$dest"; then files="$files $dest" dest=$arg continue fi case $arg in -d) isdir=yes ;; -f) case " $install_prog " in *[\\\ /]cp\ *) ;; *) prev=$arg ;; esac ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. func_quote_for_eval "$arg" install_prog="$install_prog $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the \`$prev' option requires an argument" if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else func_dirname_and_basename "$dest" "" "." destdir="$func_dirname_result" destname="$func_basename_result" # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "\`$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "\`$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. staticlibs="$staticlibs $file" ;; *.la) # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) current_libdirs="$current_libdirs $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) future_libdirs="$future_libdirs $libdir" ;; esac fi func_dirname "$file" "/" "" dir="$func_dirname_result" dir="$dir$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"` fi func_warning "relinking \`$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname="$1" shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme="$stripme" case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme="" ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib="$destdir/$realname" func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name="$func_basename_result" instname="$dir/$name"i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest="$destfile" destfile= ;; *) func_fatal_help "cannot copy a libtool object to \`$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script \`$wrapper'" finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then func_warning "\`$lib' has not been installed in \`$libdir'" finalize=no fi done relink_command= func_source "$wrapper" outputname= if test "$fast_install" = no && test -n "$relink_command"; then $opt_dry_run || { if test "$finalize" = yes; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file="$func_basename_result" outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` $opt_silent || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else func_error "error: relink \`$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file="$outputname" else func_warning "cannot relink \`$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name="$func_basename_result" # Set up the ranlib parameters. oldlib="$destdir/$name" func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run \`$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test "$mode" = install && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $opt_debug my_outputname="$1" my_originator="$2" my_pic_p="${3-no}" my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms="${my_outputname}S.c" else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${my_outputname}.nm" func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then func_verbose "generating symbol list for \`$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` for progfile in $progfiles; do func_verbose "extracting global C symbols from \`$progfile'" $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $opt_dry_run || { $RM $export_symbols eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from \`$dlprefile'" func_basename "$dlprefile" name="$func_basename_result" $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" } done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms" fi $ECHO >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; " case $host in *cygwin* | *mingw* | *cegcc* ) $ECHO >> "$output_objdir/$my_dlsyms" "\ /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */" lt_dlsym_const= ;; *osf5*) echo >> "$output_objdir/$my_dlsyms" "\ /* This system does not cope well with relocations in const data */" lt_dlsym_const= ;; *) lt_dlsym_const=const ;; esac $ECHO >> "$output_objdir/$my_dlsyms" "\ extern $lt_dlsym_const lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[]; $lt_dlsym_const lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = {\ { \"$my_originator\", (void *) 0 }," case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac $ECHO >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) if test "X$my_pic_p" != Xno; then pic_flag_for_symtable=" $pic_flag" fi ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) symtab_cflags="$symtab_cflags $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' # Transform the symbol file into the correct name. symfileobj="$output_objdir/${my_outputname}S.$objext" case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for \`$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. func_win32_libid () { $opt_debug win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | $SED -n -e ' 1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $ECHO "$win32_libid_type" } # func_extract_an_archive dir oldlib func_extract_an_archive () { $opt_debug f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?' if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $opt_debug my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib="$func_basename_result" my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`basename "$darwin_archive"` darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # func_emit_wrapper_part1 [arg=no] # # Emit the first part of a libtool wrapper script on stdout. # For more information, see the description associated with # func_emit_wrapper(), below. func_emit_wrapper_part1 () { func_emit_wrapper_part1_arg1=no if test -n "$1" ; then func_emit_wrapper_part1_arg1=$1 fi $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed='${SED} -e 1s/^X//' sed_quote_subst='$sed_quote_subst' # Be Bourne compatible if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then ECHO=\"$qecho\" file=\"\$0\" # Make sure echo works. if test \"X\$1\" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then # Yippee, \$ECHO works! : else # Restart under the correct shell, and then maybe \$ECHO will work. exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} fi fi\ " $ECHO "\ # Find the directory that this script lives in. thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` done " } # end: func_emit_wrapper_part1 # func_emit_wrapper_part2 [arg=no] # # Emit the second part of a libtool wrapper script on stdout. # For more information, see the description associated with # func_emit_wrapper(), below. func_emit_wrapper_part2 () { func_emit_wrapper_part2_arg1=no if test -n "$1" ; then func_emit_wrapper_part2_arg1=$1 fi $ECHO "\ # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` export $shlibpath_var " fi # fixup the dll searchpath if we need to. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi $ECHO "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 fi else # The program doesn't exist. \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # end: func_emit_wrapper_part2 # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory in which it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=no if test -n "$1" ; then func_emit_wrapper_arg1=$1 fi # split this up so that func_emit_cwrapperexe_src # can call each part independently. func_emit_wrapper_part1 "${func_emit_wrapper_arg1}" func_emit_wrapper_part2 "${func_emit_wrapper_arg1}" } # func_to_host_path arg # # Convert paths to host format when used with build tools. # Intended for use with "native" mingw (where libtool itself # is running under the msys shell), or in the following cross- # build environments: # $build $host # mingw (msys) mingw [e.g. native] # cygwin mingw # *nix + wine mingw # where wine is equipped with the `winepath' executable. # In the native mingw case, the (msys) shell automatically # converts paths for any non-msys applications it launches, # but that facility isn't available from inside the cwrapper. # Similar accommodations are necessary for $host mingw and # $build cygwin. Calling this function does no harm for other # $host/$build combinations not listed above. # # ARG is the path (on $build) that should be converted to # the proper representation for $host. The result is stored # in $func_to_host_path_result. func_to_host_path () { func_to_host_path_result="$1" if test -n "$1" ; then case $host in *mingw* ) lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' case $build in *mingw* ) # actually, msys # awkward: cmd appends spaces to result lt_sed_strip_trailing_spaces="s/[ ]*\$//" func_to_host_path_tmp1=`( cmd //c echo "$1" |\ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ $SED -e "$lt_sed_naive_backslashify"` ;; *cygwin* ) func_to_host_path_tmp1=`cygpath -w "$1"` func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ $SED -e "$lt_sed_naive_backslashify"` ;; * ) # Unfortunately, winepath does not exit with a non-zero # error code, so we are forced to check the contents of # stdout. On the other hand, if the command is not # found, the shell will set an exit code of 127 and print # *an error message* to stdout. So we must check for both # error code of zero AND non-empty stdout, which explains # the odd construction: func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null` if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ $SED -e "$lt_sed_naive_backslashify"` else # Allow warning below. func_to_host_path_result="" fi ;; esac if test -z "$func_to_host_path_result" ; then func_error "Could not determine host path corresponding to" func_error " '$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_path_result="$1" fi ;; esac fi } # end: func_to_host_path # func_to_host_pathlist arg # # Convert pathlists to host format when used with build tools. # See func_to_host_path(), above. This function supports the # following $build/$host combinations (but does no harm for # combinations not listed here): # $build $host # mingw (msys) mingw [e.g. native] # cygwin mingw # *nix + wine mingw # # Path separators are also converted from $build format to # $host format. If ARG begins or ends with a path separator # character, it is preserved (but converted to $host format) # on output. # # ARG is a pathlist (on $build) that should be converted to # the proper representation on $host. The result is stored # in $func_to_host_pathlist_result. func_to_host_pathlist () { func_to_host_pathlist_result="$1" if test -n "$1" ; then case $host in *mingw* ) lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_to_host_pathlist_tmp2="$1" # Once set for this call, this variable should not be # reassigned. It is used in tha fallback case. func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\ $SED -e 's|^:*||' -e 's|:*$||'` case $build in *mingw* ) # Actually, msys. # Awkward: cmd appends spaces to result. lt_sed_strip_trailing_spaces="s/[ ]*\$//" func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ $SED -e "$lt_sed_naive_backslashify"` ;; *cygwin* ) func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"` func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ $SED -e "$lt_sed_naive_backslashify"` ;; * ) # unfortunately, winepath doesn't convert pathlists func_to_host_pathlist_result="" func_to_host_pathlist_oldIFS=$IFS IFS=: for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do IFS=$func_to_host_pathlist_oldIFS if test -n "$func_to_host_pathlist_f" ; then func_to_host_path "$func_to_host_pathlist_f" if test -n "$func_to_host_path_result" ; then if test -z "$func_to_host_pathlist_result" ; then func_to_host_pathlist_result="$func_to_host_path_result" else func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result" fi fi fi IFS=: done IFS=$func_to_host_pathlist_oldIFS ;; esac if test -z "$func_to_host_pathlist_result" ; then func_error "Could not determine the host path(s) corresponding to" func_error " '$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This may break if $1 contains DOS-style drive # specifications. The fix is not to complicate the expression # below, but for the user to provide a working wine installation # with winepath so that path translation in the cross-to-mingw # case works properly. lt_replace_pathsep_nix_to_dos="s|:|;|g" func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\ $SED -e "$lt_replace_pathsep_nix_to_dos"` fi # Now, add the leading and trailing path separators back case "$1" in :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result" ;; esac case "$1" in *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;" ;; esac ;; esac fi } # end: func_to_host_pathlist # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include # define setmode _setmode #else # include # include # ifdef __CYGWIN__ # include # define HAVE_SETENV # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif # endif #endif #include #include #include #include #include #include #include #include #if defined(PATH_MAX) # define LT_PATHMAX PATH_MAX #elif defined(MAXPATHLEN) # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif #ifdef _MSC_VER # define S_IXUSR _S_IEXEC # define stat _stat # ifndef _INTPTR_T_DEFINED # define intptr_t int # endif #endif #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ defined (__OS2__) # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifdef __CYGWIN__ # define FOPEN_WB "wb" #endif #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) #undef LTWRAPPER_DEBUGPRINTF #if defined DEBUGWRAPPER # define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args static void ltwrapper_debugprintf (const char *fmt, ...) { va_list args; va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } #else # define LTWRAPPER_DEBUGPRINTF(args) #endif const char *program_name = NULL; void *xmalloc (size_t num); char *xstrdup (const char *string); const char *base_name (const char *name); char *find_executable (const char *wrapper); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_fatal (const char *message, ...); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_opt_process_env_set (const char *arg); void lt_opt_process_env_prepend (const char *arg); void lt_opt_process_env_append (const char *arg); int lt_split_name_value (const char *arg, char** name, char** value); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); static const char *script_text_part1 = EOF func_emit_wrapper_part1 yes | $SED -e 's/\([\\"]\)/\\\1/g' \ -e 's/^/ "/' -e 's/$/\\n"/' echo ";" cat <"))); for (i = 0; i < newargc; i++) { LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : ""))); } EOF case $host_os in mingw*) cat <<"EOF" /* execv doesn't actually work on mingw as expected on unix */ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); if (rval == -1) { /* failed to start process */ LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno)); return 127; } return rval; EOF ;; *) cat <<"EOF" execv (lt_argv_zero, newargz); return rval; /* =127, but avoids unused variable warning */ EOF ;; esac cat <<"EOF" } void * xmalloc (size_t num) { void *p = (void *) malloc (num); if (!p) lt_fatal ("Memory exhausted"); return p; } char * xstrdup (const char *string) { return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL; } const char * base_name (const char *name) { const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM) /* Skip over the disk name in MSDOS pathnames. */ if (isalpha ((unsigned char) name[0]) && name[1] == ':') name += 2; #endif for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return base; } int check_executable (const char *path) { struct stat st; LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!")); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!")); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char *concat_name; LTWRAPPER_DEBUGPRINTF (("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!")); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char *path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char *q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR (*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } char * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n", tmp_pathspec)); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { char *errstr = strerror (errno); lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal ("Could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (strcmp (str, pat) == 0) *str = '\0'; } return str; } static void lt_error_core (int exit_status, const char *mode, const char *message, va_list ap) { fprintf (stderr, "%s: %s: ", program_name, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, "FATAL", message, ap); va_end (ap); } void lt_setenv (const char *name, const char *value) { LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n", (name ? name : ""), (value ? value : ""))); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else int len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { int orig_value_len = strlen (orig_value); int add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } int lt_split_name_value (const char *arg, char** name, char** value) { const char *p; int len; if (!arg || !*arg) return 1; p = strchr (arg, (int)'='); if (!p) return 1; *value = xstrdup (++p); len = strlen (arg) - strlen (*value); *name = XMALLOC (char, len); strncpy (*name, arg, len-1); (*name)[len - 1] = '\0'; return 0; } void lt_opt_process_env_set (const char *arg) { char *name = NULL; char *value = NULL; if (lt_split_name_value (arg, &name, &value) != 0) { XFREE (name); XFREE (value); lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg); } lt_setenv (name, value); XFREE (name); XFREE (value); } void lt_opt_process_env_prepend (const char *arg) { char *name = NULL; char *value = NULL; char *new_value = NULL; if (lt_split_name_value (arg, &name, &value) != 0) { XFREE (name); XFREE (value); lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg); } new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); XFREE (name); XFREE (value); } void lt_opt_process_env_append (const char *arg) { char *name = NULL; char *value = NULL; char *new_value = NULL; if (lt_split_name_value (arg, &name, &value) != 0) { XFREE (name); XFREE (value); lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg); } new_value = lt_extend_str (getenv (name), value, 1); lt_setenv (name, new_value); XFREE (new_value); XFREE (name); XFREE (value); } void lt_update_exe_path (const char *name, const char *value) { LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n", (name ? name : ""), (value ? value : ""))); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ int len = strlen (new_value); while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[len-1] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n", (name ? name : ""), (value ? value : ""))); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF } # end: func_emit_cwrapperexe_src # func_mode_link arg... func_mode_link () { $opt_debug case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # which system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll which has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=no prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module="${wl}-single_module" func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then dlfiles="$dlfiles $arg" else dlprefiles="$dlprefiles $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" test -f "$arg" \ || func_fatal_error "symbol file \`$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) deplibs="$deplibs $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # moreargs="$moreargs $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file \`$arg' does not exist" fi arg=$save_arg prev= continue ;; precious_regex) precious_files_regex="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) rpath="$rpath $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) xrpath="$xrpath $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds="$arg" prev= continue ;; weak) weak_libs="$weak_libs $arg" prev= continue ;; xcclinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) compiler_flags="$compiler_flags $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "\`-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname '-L' '' "$arg" dir=$func_stripname_result if test -z "$dir"; then if test "$#" -gt 0; then func_fatal_error "require no space between \`-L' and \`$1'" else func_fatal_error "need path for \`-L' option" fi fi # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of \`$dir'" dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "*) ;; *) deplibs="$deplibs -L$dir" lib_search_path="$lib_search_path $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) dllsearchpath="$dllsearchpath:$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework deplibs="$deplibs System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot) compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; esac continue ;; -multi_module) single_module="${wl}-multi_module" continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "\`-no-install' is ignored for $host" func_warning "assuming \`-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" arg="$arg $wl$func_quote_for_eval_result" compiler_flags="$compiler_flags $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" arg="$arg $wl$func_quote_for_eval_result" compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" linker_flags="$linker_flags $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; # -64, -mips[0-9] enable 64-bit mode on the SGI compiler # -r[0-9][0-9]* specifies the processor on the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler # +DA*, +DD* enable 64-bit mode on the HP compiler # -q* pass through compiler args for the IBM compiler # -m*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC # -F/path gives path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC # @file GCC response files -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" func_append compile_command " $arg" func_append finalize_command " $arg" compiler_flags="$compiler_flags $arg" continue ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; *.$objext) # A standard object. objs="$objs $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then dlfiles="$dlfiles $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. dlprefiles="$dlprefiles $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. deplibs="$deplibs $arg" old_deplibs="$old_deplibs $arg" continue ;; *.la) # A libtool-controlled library. if test "$prev" = dlfiles; then # This library was specified with -dlopen. dlfiles="$dlfiles $arg" prev= elif test "$prev" = dlprefiles; then # The library was specified with -dlpreopen. dlprefiles="$dlprefiles $arg" prev= else deplibs="$deplibs $arg" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the \`$prevarg' option requires an argument" if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname="$func_basename_result" libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" func_dirname "$output" "/" "" output_objdir="$func_dirname_result$objdir" # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_duplicate_deps ; then case "$libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi libs="$libs $deplib" done if test "$linkmode" = lib; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if $opt_duplicate_compiler_generated_deps; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; esac pre_post_deps="$pre_post_deps $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test "$linkmode,$pass" = "lib,link"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs="$tmp_deplibs" fi if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS%" test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" ;; esac fi if test "$linkmode,$pass" = "lib,dlpreopen"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= case $lib in *.la) func_source "$lib" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"` case " $weak_libs " in *" $deplib_base "*) ;; *) deplibs="$deplibs $deplib" ;; esac done done libs="$dlprefiles" fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; esac fi fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then func_warning "\`-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test "$linkmode" = lib; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then if test "$search_ext" = ".la"; then found=yes else found=no fi break 2 fi done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no func_dirname "$lib" "" "." ladir="$func_dirname_result" lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l *.ltframework) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" newlib_search_path="$newlib_search_path $func_stripname_result" ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" newlib_search_path="$newlib_search_path $func_stripname_result" ;; *) func_warning "\`-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then func_stripname '-R' '' "$deplib" dir=$func_stripname_result # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) lib="$deplib" ;; *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; then $ECHO $ECHO "*** Warning: Trying to link with static lib archive $deplib." $ECHO "*** I have the capability to make that library automatically link in when" $ECHO "*** you link to this library. But I can only do this if you have a" $ECHO "*** shared version of the library, which you do not appear to have" $ECHO "*** because the file extensions .$libext of this argument makes me believe" $ECHO "*** that it is just a static archive that I should not use here." else $ECHO $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi ;; esac continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. newdlprefiles="$newdlprefiles $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else newdlfiles="$newdlfiles $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=yes continue ;; esac # case $deplib if test "$found" = yes || test -f "$lib"; then : else func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" fi # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "\`$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir="$func_dirname_result" dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && dlfiles="$dlfiles $dlopen" test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" fi if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # It is a libtool convenience library, so add in its objects. convenience="$convenience $ladir/$objdir/$old_library" old_convenience="$old_convenience $ladir/$objdir/$old_library" tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_duplicate_deps ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done elif test "$linkmode" != prog && test "$linkmode" != lib; then func_fatal_error "\`$lib' is not a convenience library" fi continue fi # $pass = conv # Get the name of the library we link against. linklib= for l in $old_library $library_names; do linklib="$l" done if test -z "$linklib"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then func_fatal_error "cannot -dlopen a convenience library: \`$lib'" fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. dlprefiles="$dlprefiles $lib $dependency_libs" else newdlfiles="$newdlfiles $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then func_warning "cannot determine absolute directory name of \`$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir="$ladir" fi ;; esac func_basename "$lib" laname="$func_basename_result" # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library \`$lib' was moved." dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" else dir="$libdir" absdir="$libdir" fi test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" fi fi # $installed = yes func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir" && test "$linkmode" = prog; then func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" fi # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then newdlprefiles="$newdlprefiles $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then newdlprefiles="$newdlprefiles $dir/$dlname" else newdlprefiles="$newdlprefiles $dir/$linklib" fi fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test "$linkmode" = prog && test "$pass" != link; then newlib_search_path="$newlib_search_path $ladir" deplibs="$lib $deplibs" linkalldeplibs=no if test "$link_all_deplibs" != no || test -z "$library_names" || test "$build_libtool_libs" = no; then linkalldeplibs=yes fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) func_stripname '-L' '' "$deplib" newlib_search_path="$newlib_search_path $func_stripname_result" ;; esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_duplicate_deps ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done # for deplib continue fi # $linkmode = prog... if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && { { test "$prefer_static_libs" = no || test "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath:" in *"$absdir:"*) ;; *) temp_rpath="$temp_rpath$absdir:" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || { test "$build_libtool_libs" = yes && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes; then use_static_libs=no fi if test -n "$library_names" && { test "$use_static_libs" = no || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc*) # No point in relinking DLLs because paths are not encoded notinst_deplibs="$notinst_deplibs $lib" need_relink=no ;; *) if test "$installed" = no; then notinst_deplibs="$notinst_deplibs $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule="" for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule="$dlpremoduletest" break fi done if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then $ECHO if test "$linkmode" = prog; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) compile_rpath="$compile_rpath $absdir" esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names shift realname="$1" shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc*) func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" func_basename "$soroot" soname="$func_basename_result" func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from \`$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for \`$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we can not # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null ; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library" ; then $ECHO $ECHO "*** And there doesn't seem to be a static archive available" $ECHO "*** The link will probably fail, sorry" else add="$dir/$old_library" fi elif test -n "$old_library"; then add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$dir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; *) lib_linked=no ;; esac if test "$lib_linked" != yes; then func_fatal_configuration "unsupported hardcode properties" fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; esac fi if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test "$hardcode_direct" != yes && test "$hardcode_minus_L" != yes && test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac fi fi fi if test "$linkmode" = prog || test "$mode" = relink; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; esac add="-l$name" elif test "$hardcode_automatic" = yes; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) add_dir="$add_dir -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" fi if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test "$hardcode_direct" != unsupported; then test -n "$old_library" && linklib="$old_library" compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test "$build_libtool_libs" = yes; then # Not a shared library if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. $ECHO $ECHO "*** Warning: This system can not link to static lib archive $lib." $ECHO "*** I have the capability to make that library automatically link in when" $ECHO "*** you link to this library. But I can only do this if you have a" $ECHO "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then $ECHO "*** But as you try to build a module library, libtool will still create " $ECHO "*** a static module, that should work as long as the dlopening application" $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then $ECHO $ECHO "*** However, this would only work if libtool was able to extract symbol" $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" $ECHO "*** not find such a program. So, this module is probably useless." $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test "$linkmode" = lib; then if test -n "$dependency_libs" && { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result case " $xrpath " in *" $temp_xrpath "*) ;; *) xrpath="$xrpath $temp_xrpath";; esac;; *) temp_deplibs="$temp_deplibs $libdir";; esac done dependency_libs="$temp_deplibs" fi newlib_search_path="$newlib_search_path $absdir" # Link against this library test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" if $opt_duplicate_deps ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in -L*) path="$deplib" ;; *.la) func_dirname "$deplib" "" "." dir="$func_dirname_result" # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of \`$dir'" absdir="$dir" fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl" ; then depdepl="$absdir/$objdir/$depdepl" darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}" path= fi fi ;; *) path="-L$absdir/$objdir" ;; esac else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "\`$deplib' seems to be moved" path="-L$absdir" fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test "$pass" = link; then if test "$linkmode" = "prog"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) lib_search_path="$lib_search_path $dir" ;; esac done newlib_search_path= fi if test "$linkmode,$pass" != "prog,link"; then vars="deplibs" else vars="compile_deplibs finalize_deplibs" fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) tmp_libs="$tmp_libs $deplib" ;; esac ;; *) tmp_libs="$tmp_libs $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i="" ;; esac if test -n "$i" ; then tmp_libs="$tmp_libs $i" fi done dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" fi if test "$linkmode" = prog || test "$linkmode" = lib; then dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "\`-R' is ignored for archives" test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "\`-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "\`-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" objs="$objs$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test "$module" = no && \ func_fatal_help "libtool library \`$output' must begin with \`lib'" if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" else $ECHO $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" libobjs="$libobjs $objs" fi fi test "$dlself" != no && \ func_warning "\`-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test "$#" -gt 1 && \ func_warning "ignoring multiple \`-rpath's for a libtool library" install_libdir="$1" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "\`-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 shift IFS="$save_ifs" test -n "$7" && \ func_fatal_help "too many parameters to \`-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$1" number_minor="$2" number_revision="$3" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) func_fatal_configuration "$modename: unknown library version type \`$version_type'" ;; esac ;; no) current="$1" revision="$2" age="$3" ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT \`$current' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION \`$revision' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE \`$age' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE \`$age' is greater than the current interface number \`$current'" func_fatal_error "\`$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current" ;; irix | nonstopux) if test "X$lt_irix_increment" = "Xno"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring:${iface}.0" done # Make executables depend on our current version. verstring="$verstring:${current}.0" ;; qnx) major=".$current" versuffix=".$current" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; *) func_fatal_configuration "unknown library version type \`$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then func_warning "undefined symbols not allowed in $host shared libraries" build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi func_generate_dlsyms "$libname" "$libname" "yes" libobjs="$libobjs $symfileobj" test "X$libobjs" = "X " && libobjs= if test "$mode" != relink; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$ECHO "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi removelist="$removelist $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then oldlibs="$oldlibs $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"` # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"` # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do temp_xrpath="$temp_xrpath -R$libdir" case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles="$dlfiles" dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) dlfiles="$dlfiles $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles="$dlprefiles" dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) dlprefiles="$dlprefiles $lib" ;; esac done if test "$build_libtool_libs" = yes; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework deplibs="$deplibs System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then deplibs="$deplibs -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release="" versuffix="" major="" newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $opt_dry_run || $RM conftest.c cat > conftest.c </dev/null` for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null | $GREP " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes $ECHO $ECHO "*** Warning: linker path does not have real file for library $a_deplib." $ECHO "*** I have the capability to make that library automatically link in when" $ECHO "*** you link to this library. But I can only do this if you have a" $ECHO "*** shared version of the library, which you do not appear to have" $ECHO "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a file magic. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) newdeplibs="$newdeplibs $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib="$potent_lib" # see symlink-check above in file_magic test if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then newdeplibs="$newdeplibs $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes $ECHO $ECHO "*** Warning: linker path does not have real file for library $a_deplib." $ECHO "*** I have the capability to make that library automatically link in when" $ECHO "*** you link to this library. But I can only do this if you have a" $ECHO "*** shared version of the library, which you do not appear to have" $ECHO "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a regex pattern. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" ;; esac done # Gone through all deplibs. ;; none | unknown | *) newdeplibs="" tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \ -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then for i in $predeps $postdeps ; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"` done fi if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' | $GREP . >/dev/null; then $ECHO if test "X$deplibs_check_method" = "Xnone"; then $ECHO "*** Warning: inter-library dependencies are not supported in this platform." else $ECHO "*** Warning: inter-library dependencies are not known to be supported." fi $ECHO "*** All declared inter-library dependencies are being dropped." droppeddeps=yes fi ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library with the System framework newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then $ECHO $ECHO "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" $ECHO "*** a static module, that should work as long as the dlopening" $ECHO "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then $ECHO $ECHO "*** However, this would only work if libtool was able to extract symbol" $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" $ECHO "*** not find such a program. So, this module is probably useless." $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else $ECHO "*** The inter-library dependencies that have been dropped here will be" $ECHO "*** automatically added whenever a program is linked with this library" $ECHO "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then $ECHO $ECHO "*** Since this library must not contain undefined symbols," $ECHO "*** because either the platform does not support them or" $ECHO "*** it was explicitly requested with -no-undefined," $ECHO "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done deplibs="$new_libs" # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" dep_rpath="$dep_rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" if test -n "$hardcode_libdir_flag_spec_ld"; then eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" else eval dep_rpath=\"$hardcode_libdir_flag_spec\" fi fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname="$1" shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do linknames="$linknames $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols="$output_objdir/$libname.uexp" delfiles="$delfiles $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile if test "x`$SED 1q $export_symbols`" != xEXPORTS; then # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols="$export_symbols" export_symbols= always_export_symbols=yes fi fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" func_len " $cmd" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then func_show_eval "$cmd" 'exit $?' skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS="$save_ifs" if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' fi if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) tmp_deplibs="$tmp_deplibs $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test "$compiler_needs_object" = yes && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" linker_flags="$linker_flags $flag" fi # Make a backup of the uninstalled library when relinking if test "$mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output output_la=`$ECHO "X$output" | $Xsed -e "$basename"` # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then output=${output_objdir}/${output_la}.lnkscript func_verbose "creating GNU ld script: $output" $ECHO 'INPUT (' > $output for obj in $save_libobjs do $ECHO "$obj" >> $output done $ECHO ')' >> $output delfiles="$delfiles $output" elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then output=${output_objdir}/${output_la}.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test "$compiler_needs_object" = yes; then firstobj="$1 " shift fi for obj do $ECHO "$obj" >> $output done delfiles="$delfiles $output" output=$firstobj\"$file_list_spec$output\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-${k}.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test "X$objlist" = X || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. eval concat_cmds=\"$reload_cmds $objlist $last_robj\" else # All subsequent reloadable object files will link in # the last one created. eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-${k}.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-${k}.$objext objlist=$obj func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" if test -n "$last_robj"; then eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" fi delfiles="$delfiles $output" else output= fi if ${skipped_export-false}; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi fi test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi if ${skipped_export-false}; then if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi fi libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $dlprefiles libobjs="$libobjs $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "\`-R' is ignored for objects" test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for objects" test -n "$release" && \ func_warning "\`-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object \`$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` else gentop="$output_objdir/${obj}x" generated="$generated $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # Create the old-style object. reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test output="$obj" func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for programs" test -n "$release" && \ func_warning "\`-release' is ignored for programs" test "$preload" = yes \ && test "$dlopen_support" = unknown \ && test "$dlopen_self" = unknown \ && test "$dlopen_self_static" = unknown && \ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test "$tagname" = CXX ; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) compile_command="$compile_command ${wl}-bind_at_load" finalize_command="$finalize_command ${wl}-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done compile_deplibs="$new_libs" compile_command="$compile_command $compile_deplibs" finalize_command="$finalize_command $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) finalize_rpath="$finalize_rpath $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath="$rpath" rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" rpath="$rpath $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath="$rpath" if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` fi func_generate_dlsyms "$outputname" "@PROGRAM@" "no" # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=yes case $host in *cygwin* | *mingw* ) if test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; *cegcc) # Disable wrappers for cegcc, we are cross compiling anyway. wrappers_required=no ;; *) if test "$need_relink" = no || test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; esac if test "$wrappers_required" = no; then # Replace the output file specification. compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' # Delete the generated files. if test -f "$output_objdir/${outputname}S.${objext}"; then func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' fi exit $exit_status fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do rpath="$rpath$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test "$no_install" = yes; then # We don't need to create a wrapper script. link_command="$compile_var$compile_command$compile_rpath" # Replace the output file specification. link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $opt_dry_run || $RM $output # Link the executable and exit func_show_eval "$link_command" 'exit $?' exit $EXIT_SUCCESS fi if test "$hardcode_action" = relink; then # Fast installation is not supported link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" func_warning "this platform does not like uninstalled shared libraries" func_warning "\`$output' will be relinked during installation" else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` fi # Quote $ECHO for shipping. if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then case $progpath in [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; esac qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"` else qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host" ; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save $symfileobj" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" if test "$preload" = yes && test -f "$symfileobj"; then oldobjs="$oldobjs $symfileobj" fi fi addlibs="$old_convenience" fi if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $addlibs oldobjs="$oldobjs $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $dlprefiles oldobjs="$oldobjs $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else $ECHO "copying selected object files to avoid basename conflicts..." gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase="$func_basename_result" case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" oldobjs="$oldobjs $gentop/$newobj" ;; *) oldobjs="$oldobjs $obj" ;; esac done fi eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` if test "$hardcode_automatic" = yes ; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" newdependency_libs="$newdependency_libs $libdir/$name" ;; *) newdependency_libs="$newdependency_libs $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" newdlfiles="$newdlfiles $libdir/$name" ;; *) newdlfiles="$newdlfiles $lib" ;; esac done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" newdlprefiles="$newdlprefiles $libdir/$name" ;; esac done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlfiles="$newdlfiles $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlprefiles="$newdlprefiles $abs" done dlprefiles="$newdlprefiles" fi $RM $output # place dlname in correct position for cygwin tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that can not go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } { test "$mode" = link || test "$mode" = relink; } && func_mode_link ${1+"$@"} # func_mode_uninstall arg... func_mode_uninstall () { $opt_debug RM="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) RM="$RM $arg"; rmforce=yes ;; -*) RM="$RM $arg" ;; *) files="$files $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= origobjdir="$objdir" for file in $files; do func_dirname "$file" "" "." dir="$func_dirname_result" if test "X$dir" = X.; then objdir="$origobjdir" else objdir="$dir/$origobjdir" fi func_basename "$file" name="$func_basename_result" test "$mode" = uninstall && objdir="$dir" # Remember objdir for removal later, being careful to avoid duplicates if test "$mode" = clean; then case " $rmdirs " in *" $objdir "*) ;; *) rmdirs="$rmdirs $objdir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if { test -L "$file"; } >/dev/null 2>&1 || { test -h "$file"; } >/dev/null 2>&1 || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do rmfiles="$rmfiles $objdir/$n" done test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" case "$mode" in clean) case " $library_names " in # " " in the beginning catches empty $dlname *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test "$pic_object" != none; then rmfiles="$rmfiles $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" && test "$non_pic_object" != none; then rmfiles="$rmfiles $dir/$non_pic_object" fi fi ;; *) if test "$mode" = clean ; then noexename=$name case $file in *.exe) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe rmfiles="$rmfiles $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result rmfiles="$rmfiles $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then rmfiles="$rmfiles $objdir/lt-$name" fi if test "X$noexename" != "X$name" ; then rmfiles="$rmfiles $objdir/lt-${noexename}.c" fi fi fi ;; esac func_show_eval "$RM $rmfiles" 'exit_status=1' done objdir="$origobjdir" # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } { test "$mode" = uninstall || test "$mode" = clean; } && func_mode_uninstall ${1+"$@"} test -z "$mode" && { help="$generic_help" func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode \`$mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: # vi:sw=2 exiv2-0.25/config/install-sh0000775000175000017500000003246411512651243015575 0ustar andreasandreas#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-12-25.00 # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # Protect names starting with `-'. case $dst in -*) dst=./$dst;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; -*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: exiv2-0.25/config/CMakeChecks.txt0000664000175000017500000003050512520445306016426 0ustar andreasandreas# CMake build system for exiv2 library and executables # Copyright 2008 by Patrick Spendrin # Copyright 2010 by Gilles Caulier # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials provided # with the distribution. # 3. The name of the author may not be used to endorse or promote # products derived from this software without specific prior # written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # ConfigureChecks for exiv2 SET( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/config ) INCLUDE( CheckIncludeFile ) INCLUDE( CheckFunctionExists ) INCLUDE( CheckSymbolExists ) INCLUDE( CheckCSourceCompiles ) INCLUDE( CheckCXXSourceCompiles ) INCLUDE( FindIconv ) SET( STDC_HEADERS ON ) SET( HAVE_DECL_STRERROR_R 0 ) SET( HAVE_PRINTUCS2 ${EXIV2_ENABLE_PRINTUCS2} ) SET( HAVE_LENSDATA ${EXIV2_ENABLE_LENSDATA} ) INCLUDE_DIRECTORIES( ${CMAKE_INCLUDE_PATH} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/include ) LINK_DIRECTORIES( ${CMAKE_LIBRARY_PATH} ) SET( CMAKE_REQUIRED_INCLUDES ${CMAKE_INCLUDE_PATH} ) IF( EXIV2_ENABLE_PNG ) FIND_PACKAGE( ZLIB ) INCLUDE_DIRECTORIES( ${ZLIB_INCLUDE_DIR} ) SET (HAVE_LIBZ ${ZLIB_FOUND}) ENDIF( EXIV2_ENABLE_PNG ) IF( EXIV2_ENABLE_VIDEO ) SET( ENABLE_VIDEO 1 ) ENDIF( EXIV2_ENABLE_VIDEO ) IF( EXIV2_ENABLE_WEBREADY ) SET( ENABLE_WEBREADY 1 ) IF( EXIV2_ENABLE_CURL ) FIND_PACKAGE( CURL ) INCLUDE_DIRECTORIES( ${CURL_INCLUDE_DIR} ) # FindCURL.cmake doesn't check for REQUIRED flags - so we need to check ourselves IF( MINGW OR UNIX ) IF (NOT CURL_FOUND) MESSAGE(FATAL_ERROR "missing library curl required for HttpIo") ELSE (NOT CURL_FOUND) SET ( USE_CURL 1 ) ENDIF( NOT CURL_FOUND ) ENDIF( MINGW OR UNIX ) ENDIF( EXIV2_ENABLE_CURL ) IF( EXIV2_ENABLE_SSH ) FIND_PACKAGE( SSH ) INCLUDE_DIRECTORIES( ${SSH_INCLUDE_DIR} ) # FindSSH.cmake doesn't check for REQUIRED flags - so we need to check ourselves IF( MINGW OR UNIX ) IF (NOT SSH_FOUND) MESSAGE(FATAL_ERROR "missing library libssh required for SshIo") ELSE (NOT SSH_FOUND) SET ( USE_SSH 1 ) ENDIF( NOT SSH_FOUND ) ENDIF( MINGW OR UNIX ) ENDIF( EXIV2_ENABLE_SSH ) ENDIF( EXIV2_ENABLE_WEBREADY ) IF (EXIV2_ENABLE_XMP) FIND_PACKAGE(EXPAT) INCLUDE_DIRECTORIES(${EXPAT_INCLUDE_DIR}) # FindEXPAT.cmake doesn't check for REQUIRED flags - so we need to check ourselves IF( MINGW OR UNIX ) IF (NOT EXPAT_FOUND) MESSAGE(FATAL_ERROR "missing library expat required for XMP") ENDIF( NOT EXPAT_FOUND ) ENDIF( MINGW OR UNIX ) ENDIF (EXIV2_ENABLE_XMP) IF( EXIV2_ENABLE_SHARED ) ADD_DEFINITIONS( -DEXV_HAVE_DLL ) SET( STATIC_FLAG SHARED ) ELSE( EXIV2_ENABLE_SHARED ) SET( STATIC_FLAG STATIC ) ENDIF( EXIV2_ENABLE_SHARED ) IF( EXIV2_ENABLE_NLS ) IF( NOT LOCALEDIR ) SET( LOCALEDIR "${CMAKE_INSTALL_PREFIX}/share/locale" ) IF( WIN32 ) STRING( REPLACE "/" "\\\\" LOCALEDIR ${LOCALEDIR} ) ENDIF( WIN32 ) ENDIF( NOT LOCALEDIR ) ADD_DEFINITIONS( -DEXV_LOCALEDIR="${LOCALEDIR}" ) ENDIF( EXIV2_ENABLE_NLS ) IF( EXIV2_ENABLE_COMMERCIAL ) ADD_DEFINITIONS( -DEXV_COMMERCIAL_VERSION ) ENDIF( EXIV2_ENABLE_COMMERCIAL ) FIND_PACKAGE(Iconv) IF( ICONV_FOUND ) SET( HAVE_ICONV 1 ) INCLUDE_DIRECTORIES(${ICONV_INCLUDE_DIR}) MESSAGE ( "-- ICONV_LIBRARIES : " ${ICONV_LIBRARIES} ) ENDIF( ICONV_FOUND ) IF( ICONV_ACCEPTS_CONST_INPUT ) MESSAGE ( "ICONV_ACCEPTS_CONST_INPUT : yes" ) ENDIF( ICONV_ACCEPTS_CONST_INPUT ) FIND_PACKAGE(MSGFMT) IF(MSGFMT_FOUND) MESSAGE(STATUS "Program msgfmt found (${MSGFMT_EXECUTABLE})") SET( EXIV2_BUILD_PO 1 ) ENDIF(MSGFMT_FOUND) # checking for Header files check_include_file( "inttypes.h" have_inttypes_h ) check_include_file( "libintl.h" HAVE_LIBINTL_H ) check_include_file( "malloc.h" HAVE_MALLOC_H ) check_include_file( "memory.h" HAVE_MEMORY_H ) check_include_file( "iconv.h" HAVE_ICONV_H ) check_include_file( "stdbool.h" HAVE_STDBOOL_H ) check_include_file( "stdint.h" HAVE_STDINT_H ) check_include_file( "stdlib.h" HAVE_STDLIB_H ) check_include_file( "string.h" HAVE_STRING_H ) check_include_file( "strings.h" HAVE_STRINGS_H ) check_include_file( "unistd.h" HAVE_UNISTD_H ) check_include_file( "wchar.h" HAVE_WCHAR_H ) check_include_file( "sys/stat.h" HAVE_SYS_STAT_H ) check_include_file( "sys/time.h" HAVE_SYS_TIME_H ) check_include_file( "sys/types.h" HAVE_SYS_TYPES_H ) check_include_file( "sys/mman.h" HAVE_SYS_MMAN_H ) check_include_file( "process.h" HAVE_PROCESS_H ) check_include_file( "regex.h" HAVE_REGEX ) check_function_exists( alarm HAVE_ALARM ) check_function_exists( gmtime_r HAVE_GMTIME_R ) check_function_exists( malloc HAVE_MALLOC ) check_function_exists( memset HAVE_MEMSET ) check_function_exists( mmap HAVE_MMAP ) check_function_exists( munmap HAVE_MUNMAP ) check_function_exists( realloc HAVE_REALLOC ) check_function_exists( strchr HAVE_STRCHR ) check_function_exists( strchr_r HAVE_STRCHR_R ) check_function_exists( strerror HAVE_STRERROR ) check_function_exists( strerror_r HAVE_STRERROR_R ) check_function_exists( strtol HAVE_STRTOL ) check_function_exists( timegm HAVE_TIMEGM ) check_function_exists( vprintf HAVE_VPRINTF ) MESSAGE( STATUS "None: ${CMAKE_CXX_FLAGS}" ) MESSAGE( STATUS "Debug: ${CMAKE_CXX_FLAGS_DEBUG}" ) MESSAGE( STATUS "Release: ${CMAKE_CXX_FLAGS_RELEASE}" ) MESSAGE( STATUS "RelWithDebInfo: ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}" ) MESSAGE( STATUS "MinSizeRel: ${CMAKE_CXX_FLAGS_MINSIZEREL}" ) IF( HAVE_STDBOOL_H ) CHECK_SYMBOL_EXISTS( "_Bool" stdbool.h HAVE__BOOL ) ENDIF( HAVE_STDBOOL_H ) # struct tm in sys/time.h IF( HAVE_SYS_TIME_H ) CHECK_C_SOURCE_COMPILES( "#include int main() { struct tm t; return 0; }" TM_IN_SYS_TIME ) ENDIF( HAVE_SYS_TIME_H ) ##################################################################################### # strerror_r returns char* # NOTE : reverting commit #2041, which break compilation under linux and windows CHECK_C_SOURCE_COMPILES( "#include int main() { char * c; c = strerror_r(0,c,0); return 0; }" STRERROR_R_CHAR_P ) # function is declared with the above IF( STRERROR_R_CHAR_P ) SET( HAVE_DECL_STRERROR_R 1 ) ENDIF( STRERROR_R_CHAR_P ) ##################################################################################### # time.h and sys/time.h can be included in the same file CHECK_C_SOURCE_COMPILES( "#include #include int main() { return 0; }" TIME_WITH_SYS_TIME ) # for msvc define to int in exv_conf.h IF( NOT MSVC ) SET( HAVE_PID_T TRUE ) ENDIF( NOT MSVC ) SET( EXV_SYMBOLS ENABLE_NLS ENABLE_VIDEO ENABLE_WEBREADY HAVE_ALARM HAVE_DECL_STRERROR_R HAVE_GMTIME_R HAVE_ICONV HAVE_ICONV_H HAVE_INTTYPES_H HAVE_LENSDATA HAVE_LIBINTL_H HAVE_LIBZ HAVE_MALLOC_H HAVE_MEMORY_H HAVE_MEMSET HAVE_MMAP HAVE_MUNMAP HAVE_PRINTUCS2 HAVE_PROCESS_H HAVE_REALLOC HAVE_STDBOOL_H HAVE_STDINT_H HAVE_STDLIB_H HAVE_STRCHR HAVE_STRCHR_R HAVE_STRERROR HAVE_STRERROR_R HAVE_STRINGS_H HAVE_STRING_H HAVE_STRTOL HAVE_SYS_MMAN_H HAVE_SYS_STAT_H HAVE_SYS_TIME_H HAVE_SYS_TYPES_H HAVE_TIMEGM HAVE_UNISTD_H HAVE_VPRINTF HAVE_WCHAR_H HAVE_XMP_TOOLKIT HAVE__BOOL HAVE_REGEX USE_CURL USE_SSH PACKAGE PACKAGE_BUGREPORT PACKAGE_NAME PACKAGE_STRING PACKAGE_TARNAME PACKAGE_VERSION STRERROR_R_CHAR_P ) FOREACH( entry ${EXV_SYMBOLS} ) SET( EXV_${entry} ${${entry}} ) # NOTE: to hack... # MESSAGE( EXV_${entry} " : " ${${entry}} ) ENDFOREACH( entry ${EXV_SYMBOLS} ) CONFIGURE_FILE( config/config.h.cmake ${CMAKE_SOURCE_DIR}/include/exiv2/exv_conf.h ) CONFIGURE_FILE( config/exv_msvc.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/exv_msvc.h COPYONLY ) INSTALL( FILES ${CMAKE_SOURCE_DIR}/include/exiv2/exv_conf.h DESTINATION include/exiv2 ) INSTALL( FILES ${CMAKE_SOURCE_DIR}/include/exiv2/exv_msvc.h DESTINATION include/exiv2 ) INSTALL( FILES ${CMAKE_SOURCE_DIR}/src/svn_version.h DESTINATION include/exiv2 ) CONFIGURE_FILE(config/exiv2_uninstall.cmake ${CMAKE_BINARY_DIR}/cmake_uninstall.cmake COPYONLY) ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake") IF( NOT MSVC ) CONFIGURE_FILE( config/exiv2.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/exiv2.pc @ONLY ) INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2.pc DESTINATION lib/pkgconfig ) CONFIGURE_FILE( config/exiv2.lsm.cmake ${CMAKE_CURRENT_BINARY_DIR}/exiv2.lsm) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/exiv2.lsm DESTINATION lib/pkgconfig ) ENDIF( NOT MSVC ) # ****************************************************************************** # output chosen build options MACRO( OptionOutput _outputstring ) IF( ${ARGN} ) SET( _var "YES" ) ELSE( ${ARGN} ) SET( _var "NO" ) ENDIF( ${ARGN} ) MESSAGE( STATUS "${_outputstring}${_var}" ) ENDMACRO( OptionOutput _outputstring ) MESSAGE( STATUS "------------------------------------------------------------------" ) MESSAGE( STATUS "${PACKAGE_STRING} configure results <${PACKAGE_URL}>" ) OptionOutput( "Building PNG support: " EXIV2_ENABLE_PNG AND ZLIB_FOUND ) OptionOutput( "Building shared library: " EXIV2_ENABLE_SHARED ) OptionOutput( "XMP metadata support: " EXIV2_ENABLE_XMP ) OptionOutput( "Building static libxmp: " EXIV2_ENABLE_LIBXMP ) OptionOutput( "Native language support: " EXIV2_ENABLE_NLS ) OptionOutput( "Conversion of Windows XP tags: " EXIV2_ENABLE_PRINTUCS2 ) OptionOutput( "Nikon lens database: " EXIV2_ENABLE_LENSDATA ) OptionOutput( "Commercial build: " EXIV2_ENABLE_COMMERCIAL ) OptionOutput( "Build the unit tests: " EXIV2_ENABLE_BUILD_SAMPLES ) OptionOutput( "Building translations files: " EXIV2_ENABLE_BUILD_PO ) OptionOutput( "Building video support: " EXIV2_ENABLE_VIDEO ) OptionOutput( "Building webready support: " EXIV2_ENABLE_WEBREADY ) if ( EXIV2_ENABLE_WEBREADY ) OptionOutput( "USE Libcurl for HttpIo: " EXIV2_ENABLE_CURL ) OptionOutput( "USE Libssh for SshIo: " EXIV2_ENABLE_SSH ) endif ( EXIV2_ENABLE_WEBREADY ) MESSAGE( STATUS "------------------------------------------------------------------" ) exiv2-0.25/config/FindSSH.cmake0000664000175000017500000000174312447013555016033 0ustar andreasandreas# - Find libssh # Find the native SSH headers and libraries. # # SSH_INCLUDE_DIRS - where to find libssh.h, etc. # SSH_LIBRARIES - List of libraries when using libssh. # SSH_FOUND - True if libssh found. # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # Look for the header file. FIND_PATH(SSH_INCLUDE_DIR NAMES libssh/libssh.h) # Look for the library. FIND_LIBRARY(SSH_LIBRARY NAMES ssh libssh) # handle the QUIETLY and REQUIRED arguments and set SSH_FOUND to TRUE if # all listed variables are TRUE INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(SSH DEFAULT_MSG SSH_LIBRARY SSH_INCLUDE_DIR) # Copy the results to the output variables. IF(SSH_FOUND) SET(SSH_LIBRARIES ${SSH_LIBRARY}) SET(SSH_INCLUDE_DIRS ${SSH_INCLUDE_DIR}) ELSE(SSH_FOUND) SET(SSH_LIBRARIES) SET(SSH_INCLUDE_DIRS) ENDIF(SSH_FOUND) MARK_AS_ADVANCED(SSH_INCLUDE_DIR SSH_LIBRARY) exiv2-0.25/config/config.h.cmake0000664000175000017500000002010312520445306016252 0ustar andreasandreas/**/ /* config.h. Generated by cmake from config.h.cmake. */ /* Define to 1 if you want to use `libssh' for SshIO. */ #cmakedefine EXV_USE_SSH 1 /* Define to 1 if you want to use `libcurl' in httpIO. */ #cmakedefine EXV_USE_CURL 1 /* Define to 1 if you have the `alarm' function. */ #cmakedefine EXV_HAVE_ALARM /* Define to 1 if you have the declaration of `strerror_r', and to 0 if you don't. */ #cmakedefine EXV_HAVE_DECL_STRERROR_R 1 /* Define to 1 if you have the `gmtime_r' function. */ #cmakedefine EXV_HAVE_GMTIME_R 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_INTTYPES_H 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_LIBINTL_H 1 /* Define to 1 if you require video support. */ #cmakedefine EXV_ENABLE_VIDEO 1 /* Define to 1 if you require webready support. */ #cmakedefine EXV_ENABLE_WEBREADY 1 #ifndef EXV_COMMERCIAL_VERSION /* Define to 1 to enable translation of Nikon lens names. */ #cmakedefine EXV_HAVE_LENSDATA 1 /* Define to 1 if translation of program messages to the user's native language is requested. */ #cmakedefine EXV_ENABLE_NLS 1 /* Define to 1 if you have the `iconv' function. */ #cmakedefine EXV_HAVE_ICONV 1 /* Define to 1 to enable conversion of UCS2 encoded Windows tags to UTF-8. */ #cmakedefine EXV_HAVE_PRINTUCS2 1 #endif /* !EXV_COMMERCIAL_VERSION */ /* Define to `const' or to empty, depending on the second argument of `iconv'. */ #cmakedefine ICONV_ACCEPTS_CONST_INPUT 1 #if defined ICONV_ACCEPTS_CONST_INPUT #define EXV_ICONV_CONST const #else #define EXV_ICONV_CONST #endif /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_LIBINTL_H 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_REGEX 1 /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #cmakedefine EXV_HAVE_MALLOC 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_MALLOC_H 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_MEMORY_H 1 /* Define to 1 if you have the `memset' function. */ #cmakedefine EXV_HAVE_MEMSET 1 /* Define to 1 if your system has a GNU libc compatible `realloc' function, and to 0 otherwise. */ #cmakedefine EXV_HAVE_REALLOC 1 /* Define to 1 if stdbool.h conforms to C99. */ #cmakedefine EXV_HAVE_STDBOOL_H 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_STDINT_H 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_STDLIB_H 1 /* Define to 1 if you have the `strchr' function. */ #cmakedefine EXV_HAVE_STRCHR 1 /* Define to 1 if you have the `strerror' function. */ #cmakedefine EXV_HAVE_STRERROR 1 /* Define to 1 if you have the `strerror_r' function. */ #cmakedefine EXV_HAVE_STRERROR_R 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_STRING_H 1 /* Define to 1 if you have the `strtol' function. */ #cmakedefine EXV_HAVE_STRTOL 1 /* Define to 1 if you have the `mmap' function. */ #cmakedefine EXV_HAVE_MMAP 1 /* Define to 1 if you have the `munmap' function. */ #cmakedefine EXV_HAVE_MUNMAP 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_SYS_TIME_H 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the `timegm' function. */ #cmakedefine EXV_HAVE_TIMEGM 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_UNISTD_H 1 /* Define to 1 if you have the `vprintf' function. */ #cmakedefine EXV_HAVE_VPRINTF 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_WCHAR_H 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_SYS_MMAN_H 1 /* Define to 1 if you have the `zlib' library. */ #cmakedefine EXV_HAVE_LIBZ 1 /* Define to 1 if you have the header file. */ #cmakedefine EXV_HAVE_PROCESS_H 1 /* Define to 1 if you have the Adobe XMP Toolkit. */ #cmakedefine EXV_HAVE_XMP_TOOLKIT 1 /* Define to 1 if the system has the type `_Bool'. */ #cmakedefine EXV_HAVE__BOOL 1 /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ #cmakedefine EXV_LSTAT_FOLLOWS_SLASHED_SYMLINK 1 /* Define to the address where bug reports for this package should be sent. */ #cmakedefine EXV_PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@" /* Define to the name of this package. */ #cmakedefine EXV_PACKAGE "@PACKAGE@" /* Define to the full name of this package. */ #cmakedefine EXV_PACKAGE_NAME "@PACKAGE_NAME@" /* Define to the full name and version of this package. */ #cmakedefine EXV_PACKAGE_STRING "@PACKAGE_STRING@" /* Define to the one symbol short name of this package. */ #cmakedefine EXV_PACKAGE_TARNAME "@PACKAGE_TARNAME@" /* Define to the version of this package. */ #cmakedefine EXV_PACKAGE_VERSION "@PACKAGE_VERSION@" /* Define to 1 if you have the ANSI C header files. */ #cmakedefine STDC_HEADERS 1 /* Define to 1 if strerror_r returns char *. */ #cmakedefine STRERROR_R_CHAR_P 1 /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* Define to 1 if your declares `struct tm'. */ #cmakedefine TM_IN_SYS_TIME 1 /* Define to empty if `const' does not conform to ANSI C. */ #cmakedefine const /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #cmakedefine inline #endif /* Define to rpl_malloc if the replacement function should be used. */ #cmakedefine malloc /* Define to `int' if does not define. */ #cmakedefine HAVE_PID_T 1 /* On Microsoft compilers pid_t has to be set to int. */ #ifndef HAVE_PID_T typedef int pid_t; #endif /* Define to rpl_realloc if the replacement function should be used. */ #cmakedefine realloc /* Define to `unsigned' if does not define. */ #cmakedefine size_t #if defined(__CYGWIN32__) && !defined(__CYGWIN__) /* For backwards compatibility with Cygwin b19 and earlier, we define __CYGWIN__ here, so that we can rely on checking just for that macro. */ #define __CYGWIN__ __CYGWIN32__ #define EXV_HAVE_GXXCLASSVISIBILITY #endif /* File path separator */ #if defined(WIN32) && !defined(__CYGWIN__) #define EXV_SEPARATOR_STR "\\" #define EXV_SEPARATOR_CHR '\\' #else #define EXV_SEPARATOR_STR "/" #define EXV_SEPARATOR_CHR '/' #endif /* Shared library support, see http://gcc.gnu.org/wiki/Visibility */ #if defined(WIN32) && !defined(__CYGWIN__) # define EXV_IMPORT __declspec(dllimport) # define EXV_EXPORT __declspec(dllexport) # define EXV_DLLLOCAL # define EXV_DLLPUBLIC #else # ifdef EXV_HAVE_GXXCLASSVISIBILITY # define EXV_IMPORT __attribute__ ((visibility("default"))) # define EXV_EXPORT __attribute__ ((visibility("default"))) # define EXV_DLLLOCAL __attribute__ ((visibility("hidden"))) # define EXV_DLLPUBLIC __attribute__ ((visibility("default"))) # else # define EXV_IMPORT # define EXV_EXPORT # define EXV_DLLLOCAL # define EXV_DLLPUBLIC # endif /* ! EXV_HAVE_GXXCLASSVISIBILITY */ #endif /* ! WIN32 */ /* Define EXIV2API for DLL builds */ #ifdef EXV_HAVE_DLL # ifdef EXV_BUILDING_LIB # define EXIV2API EXV_EXPORT # else # define EXIV2API EXV_IMPORT # endif /* ! EXV_BUILDING_LIB */ #else # define EXIV2API #endif /* ! EXV_HAVE_DLL */ /* Visual Studio C++ 2005 (8.0) Disable warnings about 'deprecated' standard functions See, eg. http://www.informit.com/guides/content.asp?g=cplusplus&seqNum=259 */ #if defined(_MSC_VER) && (_MSC_VER >= 1400) # pragma warning(disable : 4996 4251) #endif /* If you're using Solaris and the Solaris Studio compiler you must -library=stdcxx4 along with these inclusions below */ #if defined(OS_SOLARIS) #include #include #include #include #include #if defined(__cplusplus) #include #include #endif #endifexiv2-0.25/config/config.rpath0000775000175000017500000004364711512651243016106 0ustar andreasandreas#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2007 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; darwin*) case $cc_basename in xlc*) wl='-Wl,' ;; esac ;; mingw* | cygwin* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; rdos*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3*) wl='-Wl,' ;; sysv4*MP*) ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) wl='-Wl,' ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if test "$GCC" = yes ; then : else case $cc_basename in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. # Unlike libtool.m4, here we don't care about _all_ names of the library, but # only about the one the linker finds when passed -lNAME. This is the last # element of library_names_spec in libtool.m4, or possibly two of them if the # linker has special search rules. library_names_spec= # the last element of library_names_spec in libtool.m4 libname_spec='lib$name' case "$host_os" in aix3*) library_names_spec='$libname.a' ;; aix4* | aix5*) library_names_spec='$libname$shrext' ;; amigaos*) library_names_spec='$libname.a' ;; beos*) library_names_spec='$libname$shrext' ;; bsdi[45]*) library_names_spec='$libname$shrext' ;; cygwin* | mingw* | pw32*) shrext=.dll library_names_spec='$libname.dll.a $libname.lib' ;; darwin* | rhapsody*) shrext=.dylib library_names_spec='$libname$shrext' ;; dgux*) library_names_spec='$libname$shrext' ;; freebsd1*) ;; freebsd* | dragonfly*) case "$host_os" in freebsd[123]*) library_names_spec='$libname$shrext$versuffix' ;; *) library_names_spec='$libname$shrext' ;; esac ;; gnu*) library_names_spec='$libname$shrext' ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac library_names_spec='$libname$shrext' ;; interix[3-9]*) library_names_spec='$libname$shrext' ;; irix5* | irix6* | nonstopux*) library_names_spec='$libname$shrext' case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux* | k*bsd*-gnu) library_names_spec='$libname$shrext' ;; knetbsd*-gnu) library_names_spec='$libname$shrext' ;; netbsd*) library_names_spec='$libname$shrext' ;; newsos6) library_names_spec='$libname$shrext' ;; nto-qnx*) library_names_spec='$libname$shrext' ;; openbsd*) library_names_spec='$libname$shrext$versuffix' ;; os2*) libname_spec='$name' shrext=.dll library_names_spec='$libname.a' ;; osf3* | osf4* | osf5*) library_names_spec='$libname$shrext' ;; rdos*) ;; solaris*) library_names_spec='$libname$shrext' ;; sunos4*) library_names_spec='$libname$shrext$versuffix' ;; sysv4 | sysv4.3*) library_names_spec='$libname$shrext' ;; sysv4*MP*) library_names_spec='$libname$shrext' ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) library_names_spec='$libname$shrext' ;; uts4*) library_names_spec='$libname$shrext' ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' < # Created: 1993-05-16 # Public domain. # # This file is maintained in Automake, please report # bugs to or send patches to # . errstatus=0 dirmode="" usage="\ Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... Create each directory DIR (with mode MODE, if specified), including all leading file name components. Report bugs to ." # process command line arguments while test $# -gt 0 ; do case $1 in -h | --help | --h*) # -h for help echo "$usage" exit 0 ;; -m) # -m PERM arg shift test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } dirmode=$1 shift ;; --version) echo "$0 $scriptversion" exit 0 ;; --) # stop option processing shift break ;; -*) # unknown option echo "$usage" 1>&2 exit 1 ;; *) # first non-opt arg break ;; esac done for file do if test -d "$file"; then shift else break fi done case $# in 0) exit 0 ;; esac # Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and # mkdir -p a/c at the same time, both will detect that a is missing, # one will create a, then the other will try to create a and die with # a "File exists" error. This is a problem when calling mkinstalldirs # from a parallel make. We use --version in the probe to restrict # ourselves to GNU mkdir, which is thread-safe. case $dirmode in '') if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" else # On NextStep and OpenStep, the `mkdir' command does not # recognize any option. It will interpret all options as # directories to create, and then abort because `.' already # exists. test -d ./-p && rmdir ./-p test -d ./--version && rmdir ./--version fi ;; *) if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && test ! -d ./--version; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" else # Clean up after NextStep and OpenStep mkdir. for d in ./-m ./-p ./--version "./$dirmode"; do test -d $d && rmdir $d done fi ;; esac for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case $pathcomp in -*) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr else if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" lasterr="" chmod "$dirmode" "$pathcomp" || lasterr=$? if test ! -z "$lasterr"; then errstatus=$lasterr fi fi fi fi pathcomp="$pathcomp/" done done exit $errstatus # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: exiv2-0.25/config/aclocal.m40000664000175000017500000132015611512651243015430 0ustar andreasandreas# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ]) # serial 56 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. m4_defun([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl _LT_PROG_ECHO_BACKSLASH case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from `configure', and `config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # `config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain="$ac_aux_dir/ltmain.sh" ])# _LT_PROG_LTMAIN ## ------------------------------------- ## ## Accumulate code for creating libtool. ## ## ------------------------------------- ## # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the `libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) ## ------------------------ ## ## FIXME: Eliminate VARNAME ## ## ------------------------ ## # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to `config.status' so that its # declaration there will have the same value as in `configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "X$" | $Xsed -e "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags="_LT_TAGS"dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the `libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into `config.status', and then the shell code to quote escape them in # for loops in `config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Fix-up fallback echo if it was mangled by the above quoting rules. case \$lt_ECHO in *'\\\[$]0 --fallback-echo"')dnl " lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` ;; esac _LT_OUTPUT_LIBTOOL_INIT ]) # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) cat >"$CONFIG_LT" <<_LTEOF #! $SHELL # Generated by $as_me. # Run this file to recreate a libtool stub with the current configuration. lt_cl_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ \`$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2008 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test $[#] != 0 do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try \`$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try \`$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. if test "$no_create" != yes; then lt_cl_success=: test "$silent" = yes && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) fi ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # _LT_COPYING _LT_LIBTOOL_TAGS # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) _LT_PROG_XSI_SHELLFNS sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[[012]]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES # -------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(whole_archive_flag_spec, $1)='' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" m4_if([$1], [CXX], [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX # ----------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl AC_LINK_IFELSE(AC_LANG_PROGRAM,[ lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], [AC_DIVERT_PUSH(NOTICE)]) $1 AC_DIVERT_POP ])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Add some code to the start of the generated configure script which # will find an echo command which doesn't interpret backslashes. m4_defun([_LT_PROG_ECHO_BACKSLASH], [_LT_SHELL_INIT([ # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} case X$lt_ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` ;; esac ECHO=${lt_ECHO-echo} if test "X[$]1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X[$]1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then # Yippee, $ECHO works! : else # Restart under the correct shell. exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} fi if test "X[$]1" = X--fallback-echo; then # used as fallback echo shift cat <<_LT_EOF [$]* _LT_EOF exit 0 fi # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test -z "$lt_ECHO"; then if test "X${echo_test_string+set}" != Xset; then # find a string as large as possible, as long as the shell can cope with it for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... if { echo_test_string=`eval $cmd`; } 2>/dev/null && { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null then break fi done fi if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then : else # The Solaris, AIX, and Digital Unix default echo programs unquote # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' # # So, first we look for a working echo in the user's PATH. lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for dir in $PATH /usr/ucb; do IFS="$lt_save_ifs" if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then ECHO="$dir/echo" break fi done IFS="$lt_save_ifs" if test "X$ECHO" = Xecho; then # We didn't find a better echo, so look for alternatives. if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # This shell has a builtin print -r that does the trick. ECHO='print -r' elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && test "X$CONFIG_SHELL" != X/bin/ksh; then # If we have ksh, try running configure again with it. ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} export ORIGINAL_CONFIG_SHELL CONFIG_SHELL=/bin/ksh export CONFIG_SHELL exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} else # Try using printf. ECHO='printf %s\n' if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # Cool, printf works : elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL export CONFIG_SHELL SHELL="$CONFIG_SHELL" export SHELL ECHO="$CONFIG_SHELL [$]0 --fallback-echo" elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then ECHO="$CONFIG_SHELL [$]0 --fallback-echo" else # maybe with a smaller string... prev=: for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null then break fi prev="$cmd" done if test "$prev" != 'sed 50q "[$]0"'; then echo_test_string=`eval $prev` export echo_test_string exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} else # Oops. We lost completely, so just stick with echo. ECHO=echo fi fi fi fi fi fi # Copy echo and quote the copy suitably for passing to libtool from # the Makefile, instead of quoting the original, which is used later. lt_ECHO=$ECHO if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" fi AC_SUBST(lt_ECHO) ]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that does not interpret backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '[#]line __oline__ "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" ])# _LT_ENABLE_LOCK # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [AC_CHECK_TOOL(AR, ar, false) test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1]) AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test x"[$]$2" = xyes; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ = "XX$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line __oline__ "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links="nottested" if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", [Define to the sub-directory in which libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then # We can hardcode non-existent directories. if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[[4-9]]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[123]]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix[[3-9]]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([], [sys_lib_dlsearch_path_spec], [2], [Run-time system search path for libraries]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program which can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program which can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method == "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi]) if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) AC_SUBST([DUMPBIN]) if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ const struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" CFLAGS="$lt_save_CFLAGS" else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= AC_MSG_CHECKING([for $compiler option to produce PIC]) m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC*) # IBM XL 8.0 on PPC _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl*) # IBM XL C 8.0/Fortran 10.1 on PPC _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) _LT_TAGVAR(link_all_deplibs, $1)=no ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu) _LT_TAGVAR(link_all_deplibs, $1)=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag= tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi _LT_TAGVAR(link_all_deplibs, $1)=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; freebsd1*) _LT_TAGVAR(ld_shlibs, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" AC_LINK_IFELSE(int foo(void) {}, _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' ) LDFLAGS="$save_LDFLAGS" else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else case $host_os in openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_MSG_CHECKING([whether -lc should be explicitly linked in]) $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then _LT_TAGVAR(archive_cmds_need_lc, $1)=no else _LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], [[If ld is used when linking, flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting ${shlibpath_var} if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [fix_srcfile_path], [1], [Fix the shell variable $srcfile for the compiler]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC="$CC" AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC="$lt_save_CC" ])# _LT_LANG_C_CONFIG # _LT_PROG_CXX # ------------ # Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ # compiler, we have our own version here. m4_defun([_LT_PROG_CXX], [ pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) AC_PROG_CXX if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi popdef([AC_MSG_ERROR]) ])# _LT_PROG_CXX dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([_LT_PROG_CXX], []) # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [AC_REQUIRE([_LT_PROG_CXX])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared # libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd[[12]]*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; gnu*) ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 will use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; xl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd2*) # C++ shared libraries are fairly broken _LT_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=echo else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(GCC, $1)="$GXX" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ]) dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue else prev= fi if test "$pre_test_object_deps_done" = no; then case $p in -L* | -R*) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)="${prev}${p}" else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" fi fi ;; *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)="$p" else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)="$p" else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_PROG_F77 # ------------ # Since AC_PROG_F77 is broken, in that it returns the empty string # if there is no fortran compiler, we have our own version here. m4_defun([_LT_PROG_F77], [ pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) AC_PROG_F77 if test -z "$F77" || test "X$F77" = "Xno"; then _lt_disable_F77=yes fi popdef([AC_MSG_ERROR]) ])# _LT_PROG_F77 dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([_LT_PROG_F77], []) # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_REQUIRE([_LT_PROG_F77])dnl AC_LANG_PUSH(Fortran 77) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_F77" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC CC=${F77-"f77"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$G77" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" fi # test "$_lt_disable_F77" != yes AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_PROG_FC # ----------- # Since AC_PROG_FC is broken, in that it returns the empty string # if there is no fortran compiler, we have our own version here. m4_defun([_LT_PROG_FC], [ pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) AC_PROG_FC if test -z "$FC" || test "X$FC" = "Xno"; then _lt_disable_FC=yes fi popdef([AC_MSG_ERROR]) ])# _LT_PROG_FC dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([_LT_PROG_FC], []) # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_REQUIRE([_LT_PROG_FC])dnl AC_LANG_PUSH(Fortran) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_FC" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC CC=${FC-"f95"} compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" fi # test "$_lt_disable_FC" != yes AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC="$lt_save_CC" ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC GCC= CC=${RC-"windres"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC="$lt_save_CC" ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [AC_MSG_CHECKING([whether the shell understands some XSI constructs]) # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes AC_MSG_RESULT([$xsi_shell]) _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) AC_MSG_CHECKING([whether the shell understands "+="]) lt_shell_append=no ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes AC_MSG_RESULT([$lt_shell_append]) _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PROG_XSI_SHELLFNS # --------------------- # Bourne and XSI compatible variants of some useful shell functions. m4_defun([_LT_PROG_XSI_SHELLFNS], [case $xsi_shell in yes) cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac } # func_basename file func_basename () { func_basename_result="${1##*/}" } # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}" } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). func_stripname () { # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"} } # func_opt_split func_opt_split () { func_opt_split_opt=${1%%=*} func_opt_split_arg=${1#*=} } # func_lo2o object func_lo2o () { case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac } # func_xform libobj-or-source func_xform () { func_xform_result=${1%.*}.lo } # func_arith arithmetic-term... func_arith () { func_arith_result=$(( $[*] )) } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=${#1} } _LT_EOF ;; *) # Bourne compatible functions. cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_basename file func_basename () { func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } dnl func_dirname_and_basename dnl A portable version of this function is already defined in general.m4sh dnl so there is no need for it here. # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; esac } # sed scripts: my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' my_sed_long_arg='1s/^-[[^=]]*=//' # func_opt_split func_opt_split () { func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` } # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` } # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` } # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "$[@]"` } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` } _LT_EOF esac case $lt_shell_append in yes) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$[1]+=\$[2]" } _LT_EOF ;; *) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$[1]=\$$[1]\$[2]" } _LT_EOF ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option `$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl `shared' nor `disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) ]) ])# _LT_SET_OPTIONS ## --------------------------------- ## ## Macros to handle LT_INIT options. ## ## --------------------------------- ## # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [0], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the `shared' and # `disable-shared' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the `static' and # `disable-static' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the `fast-install' # and `disable-fast-install' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the `pic-only' and `no-pic' # LT_INIT options. # MODE is either `yes' or `no'. If omitted, it defaults to `both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [pic_mode="$withval"], [pic_mode=default]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) ## ----------------- ## ## LTDL_INIT Options ## ## ----------------- ## m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) # ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # Generated from ltversion.in. # serial 3012 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.2.6]) m4_define([LT_PACKAGE_REVISION], [1.3012]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.2.6' macro_revision='1.3012' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59 which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 4 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) dnl @synopsis CHECK_ZLIB() dnl dnl This macro searches for an installed zlib library. If nothing dnl was specified when calling configure, it searches first in /usr/local dnl and then in /usr. If the --with-zlib=DIR is specified, it will try dnl to find it in DIR/include/zlib.h and DIR/lib/libz.a. If --without-zlib dnl is specified, the library is not searched at all. dnl dnl If either the header file (zlib.h) or the library (libz) is not dnl found, the configuration exits on error, asking for a valid dnl zlib installation directory or --without-zlib. dnl dnl The macro defines the symbol HAVE_LIBZ if the library is found. You should dnl use autoheader to include a definition for this symbol in a config.h dnl file. Sample usage in a C/C++ source is as follows: dnl dnl #ifdef HAVE_LIBZ dnl #include dnl #endif /* HAVE_LIBZ */ dnl dnl @version $Id: aclocal.m4,v 1.7 2000/06/26 10:04:08 loic dead $ dnl @author Loic Dachary dnl with modifications by Andreas Huggel dnl AC_DEFUN([CHECK_ZLIB], # # Handle user hints # [AC_MSG_CHECKING(if zlib is wanted) AC_ARG_WITH(zlib, [ --with-zlib=DIR root directory path of zlib installation [defaults to /usr/local or /usr if not found in /usr/local] --without-zlib to disable zlib usage completely], [if test "$withval" != no ; then AC_MSG_RESULT(yes) ZLIB_HOME="$withval" else AC_MSG_RESULT(no) fi], [ AC_MSG_RESULT(yes) ZLIB_HOME=/usr/local if test ! -f "${ZLIB_HOME}/include/zlib.h" then ZLIB_HOME=/usr fi ]) # # Locate zlib, if wanted # if test -n "${ZLIB_HOME}" then ZLIB_OLD_LDFLAGS=$LDFLAGS ZLIB_OLD_CPPFLAGS=$CPPFLAGS # # Adding /usr/lib or /usr/include to the flags/libs may # hurt if using a compiler not installed in the standard # place. # if test "${ZLIB_HOME}" != "/usr" then LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" fi AC_LANG_SAVE AC_LANG_C AC_CHECK_LIB(z, inflateEnd, [zlib_cv_libz=yes], [zlib_cv_libz=no]) AC_CHECK_HEADER(zlib.h, [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no]) AC_LANG_RESTORE if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" then # # If both library and header were found, use them # AC_CHECK_LIB(z, inflateEnd) AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) AC_MSG_RESULT(ok) HAVE_LIBZ=1 else # # If either header or library was not found, revert and bomb # AC_MSG_CHECKING(zlib in ${ZLIB_HOME}) LDFLAGS="$ZLIB_OLD_LDFLAGS" CPPFLAGS="$ZLIB_OLD_CPPFLAGS" AC_MSG_RESULT(failed) AC_MSG_ERROR(either specify a valid zlib installation with --with-zlib=DIR or disable zlib usage with --without-zlib) fi fi ]) # gettext.m4 serial 37 (gettext-0.14.4) dnl Copyright (C) 1995-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], [no], [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AM_NLS ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH(included-gettext, [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. dnl Add a version number to the cache macros. define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1))) define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc]) define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl]) AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, [AC_TRY_LINK([#include ]ifelse([$2], [need-formatstring-macros], [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ], [])[extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=no)]) if test "$gt_cv_func_gnugettext_libc" != "yes"; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], gt_cv_func_gnugettext_libintl, [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include ]ifelse([$2], [need-formatstring-macros], [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ], [])[extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")], gt_cv_func_gnugettext_libintl=yes, gt_cv_func_gnugettext_libintl=no) dnl Now see whether libintl exists and depends on libiconv. if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include ]ifelse([$2], [need-formatstring-macros], [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ], [])[extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")]ifelse([$2], [need-ngettext], [ + * ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" gt_cv_func_gnugettext_libintl=yes ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if test "$gt_cv_func_gnugettext_libc" = "yes" \ || { test "$gt_cv_func_gnugettext_libintl" = "yes" \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if test "$gt_cv_func_gnugettext_libintl" = "yes"; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if test "$gt_cv_func_gnugettext_libintl" = "yes"; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE(HAVE_GETTEXT, 1, [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE(HAVE_DCGETTEXT, 1, [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST(BUILD_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL) AC_SUBST(CATOBJEXT) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST(DATADIRNAME) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST(INSTOBJEXT) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST(GENCAT) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST(INTLOBJS) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST(INTLLIBS) dnl Make all documented variables known to autoconf. AC_SUBST(LIBINTL) AC_SUBST(LTLIBINTL) AC_SUBST(POSUB) ]) dnl Checks for all prerequisites of the intl subdirectory, dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. AC_DEFUN([AM_INTL_SUBDIR], [ AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_MKINSTALLDIRS])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([gt_GLIBC2])dnl AC_REQUIRE([AC_PROG_RANLIB])dnl AC_REQUIRE([AC_ISC_POSIX])dnl AC_REQUIRE([AC_HEADER_STDC])dnl AC_REQUIRE([AC_C_CONST])dnl AC_REQUIRE([bh_C_SIGNED])dnl AC_REQUIRE([AC_C_INLINE])dnl AC_REQUIRE([AC_TYPE_OFF_T])dnl AC_REQUIRE([AC_TYPE_SIZE_T])dnl AC_REQUIRE([gl_AC_TYPE_LONG_LONG])dnl AC_REQUIRE([gt_TYPE_LONGDOUBLE])dnl AC_REQUIRE([gt_TYPE_WCHAR_T])dnl AC_REQUIRE([gt_TYPE_WINT_T])dnl AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) AC_REQUIRE([gl_AC_HEADER_STDINT_H]) AC_REQUIRE([gt_TYPE_INTMAX_T]) AC_REQUIRE([gt_PRINTF_POSIX]) AC_REQUIRE([AC_FUNC_ALLOCA])dnl AC_REQUIRE([AC_FUNC_MMAP])dnl AC_REQUIRE([gl_GLIBC21])dnl AC_REQUIRE([gt_INTDIV0])dnl AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl AC_REQUIRE([gt_INTTYPES_PRI])dnl AC_REQUIRE([gl_XSIZE])dnl AC_REQUIRE([gt_INTL_MACOSX])dnl AC_CHECK_TYPE([ptrdiff_t], , [AC_DEFINE([ptrdiff_t], [long], [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) ]) AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ stdlib.h string.h unistd.h sys/param.h]) AC_CHECK_FUNCS([asprintf fwprintf getcwd getegid geteuid getgid getuid \ mempcpy munmap putenv setenv setlocale snprintf stpcpy strcasecmp strdup \ strtoul tsearch wcslen __argz_count __argz_stringify __argz_next \ __fsetlocking]) dnl Use the _snprintf function only if it is declared (because on NetBSD it dnl is defined as a weak alias of snprintf; we prefer to use the latter). gt_CHECK_DECL(_snprintf, [#include ]) gt_CHECK_DECL(_snwprintf, [#include ]) dnl Use the *_unlocked functions only if they are declared. dnl (because some of them were defined without being declared in Solaris dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built dnl on Solaris 2.5.1 to run on Solaris 2.6). dnl Don't use AC_CHECK_DECLS because it isn't supported in autoconf-2.13. gt_CHECK_DECL(feof_unlocked, [#include ]) gt_CHECK_DECL(fgets_unlocked, [#include ]) gt_CHECK_DECL(getc_unlocked, [#include ]) case $gt_cv_func_printf_posix in *yes) HAVE_POSIX_PRINTF=1 ;; *) HAVE_POSIX_PRINTF=0 ;; esac AC_SUBST([HAVE_POSIX_PRINTF]) if test "$ac_cv_func_asprintf" = yes; then HAVE_ASPRINTF=1 else HAVE_ASPRINTF=0 fi AC_SUBST([HAVE_ASPRINTF]) if test "$ac_cv_func_snprintf" = yes; then HAVE_SNPRINTF=1 else HAVE_SNPRINTF=0 fi AC_SUBST([HAVE_SNPRINTF]) if test "$ac_cv_func_wprintf" = yes; then HAVE_WPRINTF=1 else HAVE_WPRINTF=0 fi AC_SUBST([HAVE_WPRINTF]) AM_ICONV AM_LANGINFO_CODESET if test $ac_cv_header_locale_h = yes; then gt_LC_MESSAGES fi if test -n "$INTL_MACOSX_LIBS"; then CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" fi dnl intl/plural.c is generated from intl/plural.y. It requires bison, dnl because plural.y uses bison specific features. It requires at least dnl bison-1.26 because earlier versions generate a plural.c that doesn't dnl compile. dnl bison is only needed for the maintainer (who touches plural.y). But in dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put dnl the rule in general Makefile. Now, some people carelessly touch the dnl files or have a broken "make" program, hence the plural.c rule will dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not dnl present or too old. AC_CHECK_PROGS([INTLBISON], [bison]) if test -z "$INTLBISON"; then ac_verc_fail=yes else dnl Found it, now check the version. AC_MSG_CHECKING([version of bison]) changequote(<<,>>)dnl ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) changequote([,])dnl ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; esac AC_MSG_RESULT([$ac_prog_version]) fi if test $ac_verc_fail = yes; then INTLBISON=: fi ]) dnl Checks for special options needed on MacOS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], gt_cv_func_CFPreferencesCopyAppValue, [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" gt_save_LIBS="$LIBS" LIBS="$LIBS -framework CoreFoundation" AC_TRY_LINK([#include ], [CFPreferencesCopyAppValue(NULL, NULL)], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" gt_save_LIBS="$LIBS" LIBS="$LIBS -framework CoreFoundation" AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) dnl gt_CHECK_DECL(FUNC, INCLUDES) dnl Check whether a function is declared. AC_DEFUN([gt_CHECK_DECL], [ AC_CACHE_CHECK([whether $1 is declared], ac_cv_have_decl_$1, [AC_TRY_COMPILE([$2], [ #ifndef $1 char *p = (char *) $1; #endif ], ac_cv_have_decl_$1=yes, ac_cv_have_decl_$1=no)]) if test $ac_cv_have_decl_$1 = yes; then gt_value=1 else gt_value=0 fi AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value], [Define to 1 if you have the declaration of `$1', and to 0 if you don't.]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) # iconv.m4 serial AM4 (gettext-0.11.3) dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_func_iconv=yes) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_lib_iconv=yes am_cv_func_iconv=yes) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST(LIBICONV) AC_SUBST(LTLIBICONV) ]) AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL(am_cv_proto_iconv, [ AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([$]{ac_t:- }[$]am_cv_proto_iconv) AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, [Define as const if the declaration of iconv() needs const.]) fi ]) # lib-ld.m4 serial 3 (gettext-0.13) dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(acl_cv_path_LD, [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT($LD) else AC_MSG_RESULT(no) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) # lib-link.m4 serial 6 (gettext-0.14.3) dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ(2.50) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes undefine([Name]) undefine([NAME]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. If found, it dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" LIBS="$LIBS $LIB[]NAME" AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) undefine([Name]) undefine([NAME]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, dnl hardcode_direct, hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ dnl Tell automake >= 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE(rpath, [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib$1-prefix], [ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib --without-lib$1-prefix don't search for lib$1 in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/lib" fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */lib | */lib/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/lib"; then haveit= if test "X$additional_libdir" = "X/usr/local/lib"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) # lib-prefix.m4 serial 4 (gettext-0.14.2) dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't dnl require excessive bracketing. ifdef([AC_HELP_STRING], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/lib" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/lib"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/lib"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) # nls.m4 serial 2 (gettext-0.14.3) dnl Copyright (C) 1995-2003, 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE(nls, [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT($USE_NLS) AC_SUBST(USE_NLS) ]) AC_DEFUN([AM_MKINSTALLDIRS], [ dnl Tell automake >= 1.10 to complain if mkinstalldirs is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([mkinstalldirs])]) dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly dnl find the mkinstalldirs script in another subdir but $(top_srcdir). dnl Try to locate it. MKINSTALLDIRS= if test -n "$ac_aux_dir"; then case "$ac_aux_dir" in /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;; *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;; esac fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi AC_SUBST(MKINSTALLDIRS) ]) # po.m4 serial 7 (gettext-0.14.3) dnl Copyright (C) 1995-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_MKINSTALLDIRS])dnl AC_REQUIRE([AM_NLS])dnl dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. dnl Test whether we really found GNU msgfmt. if test "$GMSGFMT" != ":"; then dnl If it is no GNU msgfmt we define it as : so that the dnl Makefiles still can work. if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` AC_MSG_RESULT( [found $GMSGFMT program is not GNU msgfmt; ignore it]) GMSGFMT=":" fi fi dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. dnl Test whether we really found GNU xgettext. if test "$XGETTEXT" != ":"; then dnl If it is no GNU xgettext we define it as : so that the dnl Makefiles still can work. if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else AC_MSG_RESULT( [found xgettext program is not GNU xgettext; ignore it]) XGETTEXT=":" fi dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po fi AC_OUTPUT_COMMANDS([ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" <, 1996. AC_PREREQ(2.50) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) # =========================================================================== # http://autoconf-archive.cryp.to/ax_cxx_check_flag.html # =========================================================================== # # SYNOPSIS # # AX_CXX_CHECK_FLAG(FLAG-TO-CHECK,[PROLOGUE],[BODY],[ACTION-IF-SUCCESS],[ACTION-IF-FAILURE]) # # DESCRIPTION # # This macro tests if the C++ compiler supports the flag FLAG-TO-CHECK. If # successfull execute ACTION-IF-SUCCESS otherwise ACTION-IF-FAILURE. # PROLOGUE and BODY are optional and should be used as in AC_LANG_PROGRAM # macro. # # This code is inspired from KDE_CHECK_COMPILER_FLAG macro. Thanks to # Bogdan Drozdowski for testing and bug fixes. # # LAST MODIFICATION # # 2008-04-12 # # COPYLEFT # # Copyright (c) 2008 Francesco Salvestrini # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2 of the License, or (at your # option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General # Public License for more details. # # You should have received a copy of the GNU General Public License along # with this program. If not, see . # # As a special exception, the respective Autoconf Macro's copyright owner # gives unlimited permission to copy, distribute and modify the configure # scripts that are the output of Autoconf when processing the Macro. You # need not follow the terms of the GNU General Public License when using # or distributing such scripts, even though portions of the text of the # Macro appear in them. The GNU General Public License (GPL) does govern # all other use of the material that constitutes the Autoconf Macro. # # This special exception to the GPL applies to versions of the Autoconf # Macro released by the Autoconf Macro Archive. When you make and # distribute a modified version of the Autoconf Macro, you may extend this # special exception to the GPL to apply to your modified version as well. AC_DEFUN([AX_CXX_CHECK_FLAG],[ AC_PREREQ([2.61]) AC_REQUIRE([AC_PROG_CXX]) AC_REQUIRE([AC_PROG_SED]) flag=`echo "$1" | $SED 'y% .=/+-(){}<>:*,%_______________%'` AC_CACHE_CHECK([whether the C++ compiler accepts the $1 flag], [ax_cv_cxx_check_flag_$flag],[ AC_LANG_PUSH([C++]) save_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS $1" AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([$2],[$3]) ],[ eval "ax_cv_cxx_check_flag_$flag=yes" ],[ eval "ax_cv_cxx_check_flag_$flag=no" ]) CXXFLAGS="$save_CXXFLAGS" AC_LANG_POP ]) AS_IF([eval "test \"`echo '$ax_cv_cxx_check_flag_'$flag`\" = yes"],[ : $4 ],[ : $5 ]) ]) exiv2-0.25/config/exv_msvc.h.cmake0000664000175000017500000000014611512651243016643 0ustar andreasandreas/* This file redirects to the configuration header file generated by cmake. */ #include "exv_conf.h" exiv2-0.25/configure0000775000175000017500000224365612541547737014263 0ustar andreasandreas#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for exiv2 0.25. # # Report bugs to . # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and ahuggel@gmx.net $0: about your system, including any error possibly output $0: before this message. Then install a modern shell, or $0: manually run the script under such a shell if you do $0: have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} case X$lt_ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` ;; esac ECHO=${lt_ECHO-echo} if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. shift elif test "X$1" = X--fallback-echo; then # Avoid inline document here, it may be left over : elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then # Yippee, $ECHO works! : else # Restart under the correct shell. exec $SHELL "$0" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <<_LT_EOF $* _LT_EOF exit 0 fi # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test -z "$lt_ECHO"; then if test "X${echo_test_string+set}" != Xset; then # find a string as large as possible, as long as the shell can cope with it for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... if { echo_test_string=`eval $cmd`; } 2>/dev/null && { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null then break fi done fi if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then : else # The Solaris, AIX, and Digital Unix default echo programs unquote # backslashes. This makes it impossible to quote backslashes using # echo "$something" | sed 's/\\/\\\\/g' # # So, first we look for a working echo in the user's PATH. lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for dir in $PATH /usr/ucb; do IFS="$lt_save_ifs" if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then ECHO="$dir/echo" break fi done IFS="$lt_save_ifs" if test "X$ECHO" = Xecho; then # We didn't find a better echo, so look for alternatives. if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # This shell has a builtin print -r that does the trick. ECHO='print -r' elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && test "X$CONFIG_SHELL" != X/bin/ksh; then # If we have ksh, try running configure again with it. ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} export ORIGINAL_CONFIG_SHELL CONFIG_SHELL=/bin/ksh export CONFIG_SHELL exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} else # Try using printf. ECHO='printf %s\n' if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then # Cool, printf works : elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL export CONFIG_SHELL SHELL="$CONFIG_SHELL" export SHELL ECHO="$CONFIG_SHELL $0 --fallback-echo" elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && test "X$echo_testing_string" = 'X\t' && echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && test "X$echo_testing_string" = "X$echo_test_string"; then ECHO="$CONFIG_SHELL $0 --fallback-echo" else # maybe with a smaller string... prev=: for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null then break fi prev="$cmd" done if test "$prev" != 'sed 50q "$0"'; then echo_test_string=`eval $prev` export echo_test_string exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} else # Oops. We lost completely, so just stick with echo. ECHO=echo fi fi fi fi fi fi # Copy echo and quote the copy suitably for passing to libtool from # the Makefile, instead of quoting the original, which is used later. lt_ECHO=$ECHO if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" fi test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='exiv2' PACKAGE_TARNAME='exiv2' PACKAGE_VERSION='0.25' PACKAGE_STRING='exiv2 0.25' PACKAGE_BUGREPORT='ahuggel@gmx.net' PACKAGE_URL='' ac_unique_file="src/exif.cpp" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_header_list= ac_subst_vars='LTLIBOBJS LIBOBJS EXV_LIB_STATIC ENABLE_XMP EXPAT_LIBS EXPAT_LDFLAGS EXPAT_CPPFLAGS USE_SSH SSH_LIBS SSH_LDFLAGS SSH_CPPFLAGS CURL_LIBS CURL_LDFLAGS CURL_CPPFLAGS ENABLE_VIDEO COMMERCIAL_VERSION DEP_TRACKING HAVE_TIMEGM GCC GXX HAVE_LIBZ LIBM LIBTOOL_DEPS OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL lt_ECHO RANLIB STRIP AR OBJDUMP NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED LIBTOOL POSUB LTLIBINTL LIBINTL INTLLIBS LTLIBICONV LIBICONV INTL_MACOSX_LIBS MSGMERGE XGETTEXT GMSGFMT MSGFMT USE_NLS MKINSTALLDIRS host_os host_vendor host_cpu host build_os build_vendor build_cpu build SET_MAKE LN_S INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM CPP ac_ct_CC CFLAGS CC CXXCPP OBJEXT EXEEXT ac_ct_CXX CPPFLAGS LDFLAGS CXXFLAGS CXX VERSION PACKAGE EXIV2_LTVERSION target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_nls with_gnu_ld enable_rpath with_libiconv_prefix with_libintl_prefix enable_shared enable_static with_pic enable_fast_install enable_libtool_lock with_zlib enable_dependency_tracking enable_visibility enable_lensdata enable_commercial enable_xmp enable_video enable_webready with_curl with_ssh with_expat ' ac_precious_vars='build_alias host_alias target_alias CXX CXXFLAGS LDFLAGS LIBS CPPFLAGS CCC CXXCPP CC CFLAGS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures exiv2 0.25 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/exiv2] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of exiv2 0.25:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-nls do not use Native Language Support --disable-rpath do not hardcode runtime library paths --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --disable-dependency-tracking speeds up one-time build --disable-visibility do not use symbol visibility support --disable-lensdata do not use the lens database for Nikon lens names --enable-commercial compile with the EXV_COMMERCIAL_VERSION symbol set --disable-xmp do not compile XMP support and the XMP Toolkit --enable-video compile with video support --enable-webready compile Exiv2 library with webready support Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-zlib=DIR root directory path of zlib installation defaults to /usr/local or /usr if not found in /usr/local --without-zlib to disable zlib usage completely --with-curl[=DIR] use libcurl in DIR --with-ssh[=DIR] use libssh in DIR --with-expat[=DIR] use libexpat in DIR Some influential environment variables: CXX C++ compiler command CXXFLAGS C++ compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXXCPP C++ preprocessor CC C compiler command CFLAGS C compiler flags CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF exiv2 configure 0.25 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile # ac_fn_cxx_try_cpp LINENO # ------------------------ # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_cpp # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_cxx_try_link LINENO # ------------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_link # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## ------------------------------ ## ## Report this to ahuggel@gmx.net ## ## ------------------------------ ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_check_type LINENO TYPE VAR INCLUDES # ------------------------------------------- # Tests whether TYPE exists after having included INCLUDES, setting cache # variable VAR accordingly. ac_fn_c_check_type () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof ($2)) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof (($2))) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type # ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES # --------------------------------------------- # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR # accordingly. ac_fn_c_check_decl () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack as_decl_name=`echo $2|sed 's/ *(.*//'` as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 $as_echo_n "checking whether $as_decl_name is declared... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { #ifndef $as_decl_name #ifdef __cplusplus (void) $as_decl_use; #else (void) $as_decl_name; #endif #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_decl cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by exiv2 $as_me 0.25, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi as_fn_append ac_header_list " stdlib.h" as_fn_append ac_header_list " unistd.h" as_fn_append ac_header_list " sys/param.h" # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # See http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html EXIV2_LTVERSION=14:0:0 PACKAGE=$PACKAGE_NAME VERSION=$PACKAGE_VERSION cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF ac_config_headers="$ac_config_headers ./config/config.h" ac_aux_dir= for ac_dir in ./config "$srcdir"/./config; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in ./config \"$srcdir\"/./config" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # --------------------------------------------------------------------------- # Checks for programs. # --------------------------------------------------------------------------- # Don't use -g to compile C++ code ac_cv_prog_cxx_g=no ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 $as_echo_n "checking whether the C++ compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C++ compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 $as_echo_n "checking for C++ compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if ${ac_cv_prog_CXXCPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Don't use -g to compile C code ac_cv_prog_cc_g=no ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # --------------------------------------------------------------------------- # i18n support # --------------------------------------------------------------------------- MKINSTALLDIRS= if test -n "$ac_aux_dir"; then case "$ac_aux_dir" in /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;; *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;; esac fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi rm -f messages.po # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGMERGE+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "$GMSGFMT" != ":"; then if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` { $as_echo "$as_me:${as_lineno-$LINENO}: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5 $as_echo "found $GMSGFMT program is not GNU msgfmt; ignore it" >&6; } GMSGFMT=":" fi fi if test "$XGETTEXT" != ":"; then if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5 $as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; } XGETTEXT=":" fi rm -f messages.po fi ac_config_commands="$ac_config_commands default-1" if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 $as_echo_n "checking for ld used by GCC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${acl_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" if test -n "$LD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${acl_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 &5 $as_echo "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 $as_echo_n "checking for shared library run path origin... " >&6; } if ${acl_cv_rpath+:} false; then : $as_echo_n "(cached) " >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 $as_echo "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then : enableval=$enable_rpath; : else enable_rpath=yes fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test "${with_libiconv_prefix+set}" = set; then : withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/lib" fi fi fi LIBICONV= LTLIBICONV= INCICONV= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */lib | */lib/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/lib"; then haveit= if test "X$additional_libdir" = "X/usr/local/lib"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 $as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" gt_save_LIBS="$LIBS" LIBS="$LIBS -framework CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFPreferencesCopyAppValue=yes else gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 $as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then $as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 $as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -I/System/Library/Frameworks/CoreFoundation.framework/Headers" gt_save_LIBS="$LIBS" LIBS="$LIBS -framework CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_CFLocaleCopyCurrent=yes else gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 $as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then $as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } LIBINTL= LTLIBINTL= POSUB= if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 $as_echo_n "checking for GNU gettext in libc... " >&6; } if ${gt_cv_func_gnugettext1_libc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return * gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_gnugettext1_libc=yes else gt_cv_func_gnugettext1_libc=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libc" >&5 $as_echo "$gt_cv_func_gnugettext1_libc" >&6; } if test "$gt_cv_func_gnugettext1_libc" != "yes"; then am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } if ${am_cv_func_iconv+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then $as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test "${with_libintl_prefix+set}" = set; then : withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/lib" fi fi fi LIBINTL= LTLIBINTL= INCINTL= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then found_dir="$additional_libdir" found_so="$additional_libdir/lib$name.$shlibext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then found_dir="$dir" found_so="$dir/lib$name.$shlibext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */lib | */lib/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/lib"; then haveit= if test "X$additional_libdir" = "X/usr/local/lib"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 $as_echo_n "checking for GNU gettext in libintl... " >&6; } if ${gt_cv_func_gnugettext1_libintl+:} false; then : $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_gnugettext1_libintl=yes else gt_cv_func_gnugettext1_libintl=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" gt_cv_func_gnugettext1_libintl=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libintl" >&5 $as_echo "$gt_cv_func_gnugettext1_libintl" >&6; } fi if test "$gt_cv_func_gnugettext1_libc" = "yes" \ || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 $as_echo_n "checking whether to use NLS... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 $as_echo_n "checking where the gettext function comes from... " >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 $as_echo "$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 $as_echo_n "checking how to link with libintl... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 $as_echo "$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h $as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h fi POSUB=po fi INTLLIBS="$LIBINTL" # --------------------------------------------------------------------------- # Libtool support # --------------------------------------------------------------------------- case `pwd` in *\ * | *\ *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.2.6' macro_revision='1.3012' ltmain="$ac_aux_dir/ltmain.sh" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if ${ac_cv_path_FGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$ac_tool_prefix"; then for ac_prog in "dumpbin -symbols" "link -dump -symbols" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in "dumpbin -symbols" "link -dump -symbols" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if ${lt_cv_nm_interface+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:6464: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:6467: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:6470: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if ${lt_cv_sys_max_cmd_len+:} false; then : $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ = "XX$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if ${lt_cv_ld_reload_flag+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if ${lt_cv_deplibs_check_method+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="${ac_tool_prefix}ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ const struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_save_LIBS" CFLAGS="$lt_save_CFLAGS" else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '#line 7664 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_cc_needs_belf=yes else lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_ld_exported_symbols_list=yes else lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF fi done ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if ${ac_cv_prog_CXXCPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} _lt_caught_CXX_error=yes; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu else _lt_caught_CXX_error=yes fi # Set options enable_dlopen=no enable_win32_dll=no # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=yes fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : withval=$with_pic; pic_mode="$withval" else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:9456: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:9460: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl*) # IBM XL C 8.0/Fortran 10.1 on PPC lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5 $as_echo "$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if ${lt_cv_prog_compiler_pic_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:9795: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:9799: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:9900: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:9904: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:9955: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:9959: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; linux* | k*bsd*-gnu) link_all_deplibs=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.9.1, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to modify your PATH *** so that a non-GNU linker is found, and then restart. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag= tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld='-rpath $libdir' archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi link_all_deplibs=no else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; freebsd1*) ld_shlibs=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo(void) {} _ACEOF if ac_fn_c_try_link "$LINENO"; then : archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then archive_cmds_need_lc=no else archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5 $as_echo "$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes; then : lt_cv_dlopen="shl_load" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes; then : lt_cv_dlopen="dlopen" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if ${ac_cv_lib_svld_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_svld_dlopen=yes else ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if ${ac_cv_lib_dld_dld_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_dld_link=yes else ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes; then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line 12338 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line 12434 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif void fnord() { int i=42;} int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= compiler_needs_object_CXX=no export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_direct_absolute_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no inherit_rpath_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_CXX= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes file_list_spec_CXX='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_CXX=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec_CXX='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. always_export_symbols_CXX=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty # executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag_CXX=' ${wl}-bernotok' allow_undefined_flag_CXX=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' archive_cmds_need_lc_CXX=yes # This is similar to how AIX traditionally builds its shared # libraries. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; darwin* | rhapsody*) archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported whole_archive_flag_spec_CXX='' link_all_deplibs_CXX=yes allow_undefined_flag_CXX="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" if test "$lt_cv_apple_cc_single_mod" != "yes"; then archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi else ld_shlibs_CXX=no fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd[12]*) # C++ shared libraries reported to be fairly broken before # switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; gnu*) ;; hpux9*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes; then archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: inherit_rpath_CXX=yes ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [1-5]* | *pgcpp\ [1-5]*) prelink_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' old_archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ $RANLIB $oldlib' archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 will use weak symbols archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; xl*) # IBM XL 8.0 on PPC, with GNU ld hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object_CXX=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) ld_shlibs_CXX=yes ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no hardcode_direct_absolute_CXX=yes archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=echo else ld_shlibs_CXX=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) case $host in osf3*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' ;; *) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' ;; esac hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='echo' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' fi hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='${wl}-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $p in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue else prev= fi if test "$pre_test_object_deps_done" = no; then case $p in -L* | -R*) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX="${prev}${p}" else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$postdeps_CXX"; then postdeps_CXX="${prev}${p}" else postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi ;; *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$predep_objects_CXX"; then predep_objects_CXX="$p" else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX="$p" else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $RM -f confest.$objext # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac compiler_lib_search_dirs_CXX= if test -n "${compiler_lib_search_path_CXX}"; then compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic_CXX='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac else case $host_os in aix[4-9]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; xlc* | xlC*) # IBM XL 8.0 on PPC lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-qpic' lt_prog_compiler_static_CXX='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5 $as_echo "$lt_prog_compiler_pic_CXX" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14390: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:14394: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works_CXX=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works_CXX=yes fi else lt_cv_prog_compiler_static_works_CXX=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14489: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:14493: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14541: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:14545: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix[4-9]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) link_all_deplibs_CXX=no ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no with_gnu_ld_CXX=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then archive_cmds_need_lc_CXX=no else archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_CXX" >&5 $as_echo "$archive_cmds_need_lc_CXX" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH printed by # mingw gcc, but we are running on Cygwin. Gcc prints its search # path with ; separators, and with drive letters. We can handle the # drive letters (cygwin fileutils understands them), so leave them, # especially as we might pass files found there to a mingw objdump, # which wouldn't understand a cygwinified path. Ahh. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac ;; *) library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' ;; esac dynamic_linker='Win32 ld.exe' # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd1*) dynamic_linker=no ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555. postinstall_cmds='chmod 555 $lib' ;; interix[3-9]*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be Linux ELF. linux* | k*bsd*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || test -n "$runpath_var_CXX" || test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct_CXX" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 $as_echo "$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = relink || test "$inherit_rpath_CXX" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi fi # test -n "$compiler" CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_commands="$ac_config_commands libtool" # Only expand once: # --------------------------------------------------------------------------- # Checks for libraries. # --------------------------------------------------------------------------- LIBM= case $host in *-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _mwvalidcheckl in -lmw" >&5 $as_echo_n "checking for _mwvalidcheckl in -lmw... " >&6; } if ${ac_cv_lib_mw__mwvalidcheckl+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmw $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char _mwvalidcheckl (); int main () { return _mwvalidcheckl (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_mw__mwvalidcheckl=yes else ac_cv_lib_mw__mwvalidcheckl=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mw__mwvalidcheckl" >&5 $as_echo "$ac_cv_lib_mw__mwvalidcheckl" >&6; } if test "x$ac_cv_lib_mw__mwvalidcheckl" = xyes; then : LIBM="-lmw" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5 $as_echo_n "checking for cos in -lm... " >&6; } if ${ac_cv_lib_m_cos+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char cos (); int main () { return cos (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_cos=yes else ac_cv_lib_m_cos=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5 $as_echo "$ac_cv_lib_m_cos" >&6; } if test "x$ac_cv_lib_m_cos" = xyes; then : LIBM="$LIBM -lm" fi ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5 $as_echo_n "checking for cos in -lm... " >&6; } if ${ac_cv_lib_m_cos+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char cos (); int main () { return cos (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_cos=yes else ac_cv_lib_m_cos=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5 $as_echo "$ac_cv_lib_m_cos" >&6; } if test "x$ac_cv_lib_m_cos" = xyes; then : LIBM="-lm" fi ;; esac LIBS="$LIBS $LIBM" # # Handle user hints # { $as_echo "$as_me:${as_lineno-$LINENO}: checking if zlib is wanted" >&5 $as_echo_n "checking if zlib is wanted... " >&6; } # Check whether --with-zlib was given. if test "${with_zlib+set}" = set; then : withval=$with_zlib; if test "$withval" != no ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } ZLIB_HOME="$withval" else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } ZLIB_HOME=/usr/local if test ! -f "${ZLIB_HOME}/include/zlib.h" then ZLIB_HOME=/usr fi fi # # Locate zlib, if wanted # if test -n "${ZLIB_HOME}" then ZLIB_OLD_LDFLAGS=$LDFLAGS ZLIB_OLD_CPPFLAGS=$CPPFLAGS # # Adding /usr/lib or /usr/include to the flags/libs may # hurt if using a compiler not installed in the standard # place. # if test "${ZLIB_HOME}" != "/usr" then LDFLAGS="$LDFLAGS -L${ZLIB_HOME}/lib" CPPFLAGS="$CPPFLAGS -I${ZLIB_HOME}/include" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateEnd in -lz" >&5 $as_echo_n "checking for inflateEnd in -lz... " >&6; } if ${ac_cv_lib_z_inflateEnd+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char inflateEnd (); int main () { return inflateEnd (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_z_inflateEnd=yes else ac_cv_lib_z_inflateEnd=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflateEnd" >&5 $as_echo "$ac_cv_lib_z_inflateEnd" >&6; } if test "x$ac_cv_lib_z_inflateEnd" = xyes; then : zlib_cv_libz=yes else zlib_cv_libz=no fi ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" if test "x$ac_cv_header_zlib_h" = xyes; then : zlib_cv_zlib_h=yes else zlib_cv_zlib_h=no fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "$zlib_cv_libz" = "yes" -a "$zlib_cv_zlib_h" = "yes" then # # If both library and header were found, use them # { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflateEnd in -lz" >&5 $as_echo_n "checking for inflateEnd in -lz... " >&6; } if ${ac_cv_lib_z_inflateEnd+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char inflateEnd (); int main () { return inflateEnd (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_z_inflateEnd=yes else ac_cv_lib_z_inflateEnd=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflateEnd" >&5 $as_echo "$ac_cv_lib_z_inflateEnd" >&6; } if test "x$ac_cv_lib_z_inflateEnd" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBZ 1 _ACEOF LIBS="-lz $LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking zlib in ${ZLIB_HOME}" >&5 $as_echo_n "checking zlib in ${ZLIB_HOME}... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } HAVE_LIBZ=1 else # # If either header or library was not found, revert and bomb # { $as_echo "$as_me:${as_lineno-$LINENO}: checking zlib in ${ZLIB_HOME}" >&5 $as_echo_n "checking zlib in ${ZLIB_HOME}... " >&6; } LDFLAGS="$ZLIB_OLD_LDFLAGS" CPPFLAGS="$ZLIB_OLD_CPPFLAGS" { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } as_fn_error $? "either specify a valid zlib installation with --with-zlib=DIR or disable zlib usage with --without-zlib" "$LINENO" 5 fi fi HAVE_LIBZ=$HAVE_LIBZ am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 $as_echo_n "checking for iconv... " >&6; } if ${am_cv_func_iconv+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then $as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 $as_echo_n "checking how to link with libiconv... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 $as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi if test "$am_cv_func_iconv" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv declaration" >&5 $as_echo_n "checking for iconv declaration... " >&6; } if ${am_cv_proto_iconv+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : am_cv_proto_iconv_arg1="" else am_cv_proto_iconv_arg1="const" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" fi am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_t:- }$am_cv_proto_iconv" >&5 $as_echo "${ac_t:- }$am_cv_proto_iconv" >&6; } cat >>confdefs.h <<_ACEOF #define ICONV_CONST $am_cv_proto_iconv_arg1 _ACEOF fi # --------------------------------------------------------------------------- # Checks for header files. # --------------------------------------------------------------------------- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi for ac_header in libintl.h locale.h malloc.h stdint.h stdlib.h string.h unistd.h sys/mman.h utime.h regex.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done # --------------------------------------------------------------------------- # Checks for typedefs, structures, and compiler characteristics. # --------------------------------------------------------------------------- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } if ${ac_cv_header_stdbool_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifndef bool "error: bool is not defined" #endif #ifndef false "error: false is not defined" #endif #if false "error: false is not 0" #endif #ifndef true "error: true is not defined" #endif #if true != 1 "error: true is not 1" #endif #ifndef __bool_true_false_are_defined "error: __bool_true_false_are_defined is not defined" #endif struct s { _Bool s: 1; _Bool t; } s; char a[true == 1 ? 1 : -1]; char b[false == 0 ? 1 : -1]; char c[__bool_true_false_are_defined == 1 ? 1 : -1]; char d[(bool) 0.5 == true ? 1 : -1]; /* See body of main program for 'e'. */ char f[(_Bool) 0.0 == false ? 1 : -1]; char g[true]; char h[sizeof (_Bool)]; char i[sizeof s.t]; enum { j = false, k = true, l = false * true, m = true * 256 }; /* The following fails for HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ _Bool n[m]; char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; /* Catch a bug in an HP-UX C compiler. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html */ _Bool q = true; _Bool *pq = &q; int main () { bool e = &s; *pq |= q; *pq |= ! q; /* Refer to every declared value, to avoid compiler optimizations. */ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + !m + !n + !o + !p + !q + !pq); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdbool_h=yes else ac_cv_header_stdbool_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 $as_echo "$ac_cv_header_stdbool_h" >&6; } ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" if test "x$ac_cv_type__Bool" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE__BOOL 1 _ACEOF fi if test $ac_cv_header_stdbool_h = yes; then $as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __cplusplus /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this sort of thing. */ char tx; char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; } bx; struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then $as_echo "#define const /**/" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 $as_echo_n "checking for inline... " >&6; } if ${ac_cv_c_inline+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_inline=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 $as_echo "$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" if test "x$ac_cv_type_pid_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define pid_t int _ACEOF fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { struct tm tm; int *p = &tm.tm_sec; return !p; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_struct_tm=time.h else ac_cv_struct_tm=sys/time.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 $as_echo "$ac_cv_struct_tm" >&6; } if test $ac_cv_struct_tm = sys/time.h; then $as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h fi #AC_TYPE_UINT8_T #AC_TYPE_UINT16_T #AC_TYPE_UINT32_T #AC_TYPE_INT16_T #AC_TYPE_INT32_T GXX=$GXX GCC=$GCC # --------------------------------------------------------------------------- # Checks for library functions. # --------------------------------------------------------------------------- #AC_FUNC_MKTIME - fails when using old autoconf with gcc-4.3, see eg. Debian Bug#425544, and we don't use the result anyway for ac_header in $ac_header_list do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in getpagesize do : ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" if test "x$ac_cv_func_getpagesize" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETPAGESIZE 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 $as_echo_n "checking for working mmap... " >&6; } if ${ac_cv_func_mmap_fixed_mapped+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : ac_cv_func_mmap_fixed_mapped=no else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default /* malloc might have been renamed as rpl_malloc. */ #undef malloc /* Thanks to Mike Haertel and Jim Avera for this test. Here is a matrix of mmap possibilities: mmap private not fixed mmap private fixed at somewhere currently unmapped mmap private fixed at somewhere already mapped mmap shared not fixed mmap shared fixed at somewhere currently unmapped mmap shared fixed at somewhere already mapped For private mappings, we should verify that changes cannot be read() back from the file, nor mmap's back from the file at a different address. (There have been systems where private was not correctly implemented like the infamous i386 svr4.0, and systems where the VM page cache was not coherent with the file system buffer cache like early versions of FreeBSD and possibly contemporary NetBSD.) For shared mappings, we should conversely verify that changes get propagated back to all the places they're supposed to be. Grep wants private fixed already mapped. The main things grep needs to know about mmap are: * does it exist and is it safe to write into the mmap'd area * how to use it (BSD variants) */ #include #include #if !defined STDC_HEADERS && !defined HAVE_STDLIB_H char *malloc (); #endif /* This mess was copied from the GNU getpagesize.h. */ #ifndef HAVE_GETPAGESIZE # ifdef _SC_PAGESIZE # define getpagesize() sysconf(_SC_PAGESIZE) # else /* no _SC_PAGESIZE */ # ifdef HAVE_SYS_PARAM_H # include # ifdef EXEC_PAGESIZE # define getpagesize() EXEC_PAGESIZE # else /* no EXEC_PAGESIZE */ # ifdef NBPG # define getpagesize() NBPG * CLSIZE # ifndef CLSIZE # define CLSIZE 1 # endif /* no CLSIZE */ # else /* no NBPG */ # ifdef NBPC # define getpagesize() NBPC # else /* no NBPC */ # ifdef PAGESIZE # define getpagesize() PAGESIZE # endif /* PAGESIZE */ # endif /* no NBPC */ # endif /* no NBPG */ # endif /* no EXEC_PAGESIZE */ # else /* no HAVE_SYS_PARAM_H */ # define getpagesize() 8192 /* punt totally */ # endif /* no HAVE_SYS_PARAM_H */ # endif /* no _SC_PAGESIZE */ #endif /* no HAVE_GETPAGESIZE */ int main () { char *data, *data2, *data3; const char *cdata2; int i, pagesize; int fd, fd2; pagesize = getpagesize (); /* First, make a file with some known garbage in it. */ data = (char *) malloc (pagesize); if (!data) return 1; for (i = 0; i < pagesize; ++i) *(data + i) = rand (); umask (0); fd = creat ("conftest.mmap", 0600); if (fd < 0) return 2; if (write (fd, data, pagesize) != pagesize) return 3; close (fd); /* Next, check that the tail of a page is zero-filled. File must have non-zero length, otherwise we risk SIGBUS for entire page. */ fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); if (fd2 < 0) return 4; cdata2 = ""; if (write (fd2, cdata2, 1) != 1) return 5; data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); if (data2 == MAP_FAILED) return 6; for (i = 0; i < pagesize; ++i) if (*(data2 + i)) return 7; close (fd2); if (munmap (data2, pagesize)) return 8; /* Next, try to mmap the file at a fixed address which already has something else allocated at it. If we can, also make sure that we see the same garbage. */ fd = open ("conftest.mmap", O_RDWR); if (fd < 0) return 9; if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FIXED, fd, 0L)) return 10; for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data2 + i)) return 11; /* Finally, make sure that changes to the mapped area do not percolate back to the file as seen by read(). (This is a bug on some variants of i386 svr4.0.) */ for (i = 0; i < pagesize; ++i) *(data2 + i) = *(data2 + i) + 1; data3 = (char *) malloc (pagesize); if (!data3) return 12; if (read (fd, data3, pagesize) != pagesize) return 13; for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data3 + i)) return 14; close (fd); return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_mmap_fixed_mapped=yes else ac_cv_func_mmap_fixed_mapped=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5 $as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; } if test $ac_cv_func_mmap_fixed_mapped = yes; then $as_echo "#define HAVE_MMAP 1" >>confdefs.h fi rm -f conftest.mmap conftest.txt ac_fn_c_check_decl "$LINENO" "strerror_r" "ac_cv_have_decl_strerror_r" "$ac_includes_default" if test "x$ac_cv_have_decl_strerror_r" = xyes; then : ac_have_decl=1 else ac_have_decl=0 fi cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRERROR_R $ac_have_decl _ACEOF for ac_func in strerror_r do : ac_fn_c_check_func "$LINENO" "strerror_r" "ac_cv_func_strerror_r" if test "x$ac_cv_func_strerror_r" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRERROR_R 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether strerror_r returns char *" >&5 $as_echo_n "checking whether strerror_r returns char *... " >&6; } if ${ac_cv_func_strerror_r_char_p+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_func_strerror_r_char_p=no if test $ac_cv_have_decl_strerror_r = yes; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { char buf[100]; char x = *strerror_r (0, buf, sizeof buf); char *p = strerror_r (0, buf, sizeof buf); return !p || x; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_func_strerror_r_char_p=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else # strerror_r is not declared. Choose between # systems that have relatively inaccessible declarations for the # function. BeOS and DEC UNIX 4.0 fall in this category, but the # former has a strerror_r that returns char*, while the latter # has a strerror_r that returns `int'. # This test should segfault on the DEC system. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default extern char *strerror_r (); int main () { char buf[100]; char x = *strerror_r (0, buf, sizeof buf); return ! isalpha (x); ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_strerror_r_char_p=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strerror_r_char_p" >&5 $as_echo "$ac_cv_func_strerror_r_char_p" >&6; } if test $ac_cv_func_strerror_r_char_p = yes; then $as_echo "#define STRERROR_R_CHAR_P 1" >>confdefs.h fi for ac_func in gmtime_r lstat memset mmap munmap strchr strerror strtol do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in timegm do : ac_fn_c_check_func "$LINENO" "timegm" "ac_cv_func_timegm" if test "x$ac_cv_func_timegm" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_TIMEGM 1 _ACEOF HAVE_TIMEGM=1 fi done HAVE_TIMEGM=$HAVE_TIMEGM # --------------------------------------------------------------------------- # Miscellaneous # --------------------------------------------------------------------------- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable dependency tracking" >&5 $as_echo_n "checking whether to enable dependency tracking... " >&6; } # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; USE_TRACKING=$enableval else USE_TRACKING=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_TRACKING" >&5 $as_echo "$USE_TRACKING" >&6; } DEP_TRACKING= if test "$USE_TRACKING" = "yes"; then DEP_TRACKING=1 fi DEP_TRACKING=$DEP_TRACKING { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable symbol visibility support" >&5 $as_echo_n "checking whether to enable symbol visibility support... " >&6; } visibility=yes # visibility support in cygwin/ming generates 1000's of warning, set off by default case "$host_os" in *mingw* | *cygwin*) visibility=no ;; esac # Check whether --enable-visibility was given. if test "${enable_visibility+set}" = set; then : enableval=$enable_visibility; VISIBILITY_SUPPORT=$enableval else VISIBILITY_SUPPORT=$visibility fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VISIBILITY_SUPPORT" >&5 $as_echo "$VISIBILITY_SUPPORT" >&6; } if test "$VISIBILITY_SUPPORT" = "yes"; then # Sun Studio C++ compiler (which apparently ignores -fvisibility-inlines-hidden) flag=`echo "-xldscope=hidden" | $SED 'y% .=/+-(){}<>:*,%_______________%'` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler accepts the -xldscope=hidden flag" >&5 $as_echo_n "checking whether the C++ compiler accepts the -xldscope=hidden flag... " >&6; } if eval \${ax_cv_cxx_check_flag_$flag+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu save_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -xldscope=hidden" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : eval "ax_cv_cxx_check_flag_$flag=yes" else eval "ax_cv_cxx_check_flag_$flag=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CXXFLAGS="$save_CXXFLAGS" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi eval ac_res=\$ax_cv_cxx_check_flag_$flag { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval "test \"`echo '$ax_cv_cxx_check_flag_'$flag`\" = yes"; then : : VISIBILITY_SUPPORT=yes else : VISIBILITY_SUPPORT=no fi if test "$VISIBILITY_SUPPORT" = "yes"; then CXXFLAGS="${CXXFLAGS} -xldscope=hidden" else # GNU g++ flag=`echo "-fvisibility-inlines-hidden" | $SED 'y% .=/+-(){}<>:*,%_______________%'` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler accepts the -fvisibility-inlines-hidden flag" >&5 $as_echo_n "checking whether the C++ compiler accepts the -fvisibility-inlines-hidden flag... " >&6; } if eval \${ax_cv_cxx_check_flag_$flag+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu save_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -fvisibility-inlines-hidden" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : eval "ax_cv_cxx_check_flag_$flag=yes" else eval "ax_cv_cxx_check_flag_$flag=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CXXFLAGS="$save_CXXFLAGS" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi eval ac_res=\$ax_cv_cxx_check_flag_$flag { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval "test \"`echo '$ax_cv_cxx_check_flag_'$flag`\" = yes"; then : : VISIBILITY_SUPPORT=yes else : VISIBILITY_SUPPORT=no fi if test "$VISIBILITY_SUPPORT" = "yes"; then CXXFLAGS="${CXXFLAGS} -fvisibility=hidden -fvisibility-inlines-hidden" fi fi if test "$VISIBILITY_SUPPORT" = "yes"; then $as_echo "#define WANT_VISIBILITY_SUPPORT 1" >>confdefs.h fi if test "$enable_shared" = "yes"; then $as_echo "#define HAVE_DLL 1" >>confdefs.h fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use the lens database for Nikon lens names" >&5 $as_echo_n "checking whether to use the lens database for Nikon lens names... " >&6; } # Check whether --enable-lensdata was given. if test "${enable_lensdata+set}" = set; then : enableval=$enable_lensdata; USE_LENSDATA=$enableval else USE_LENSDATA=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_LENSDATA" >&5 $as_echo "$USE_LENSDATA" >&6; } if test "$USE_LENSDATA" = "yes"; then $as_echo "#define HAVE_LENSDATA 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile a commercial version of the Exiv2 library" >&5 $as_echo_n "checking whether to compile a commercial version of the Exiv2 library... " >&6; } # Check whether --enable-commercial was given. if test "${enable_commercial+set}" = set; then : enableval=$enable_commercial; COMMERCIAL_VERSION=$enableval else COMMERCIAL_VERSION=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $COMMERCIAL_VERSION" >&5 $as_echo "$COMMERCIAL_VERSION" >&6; } COMMERCIAL_VERSION=$COMMERCIAL_VERSION { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable XMP support (requires expat)" >&5 $as_echo_n "checking whether to enable XMP support (requires expat)... " >&6; } # Check whether --enable-xmp was given. if test "${enable_xmp+set}" = set; then : enableval=$enable_xmp; USE_XMP_TOOLKIT=$enableval else USE_XMP_TOOLKIT=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_XMP_TOOLKIT" >&5 $as_echo "$USE_XMP_TOOLKIT" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile with video support" >&5 $as_echo_n "checking whether to compile with video support... " >&6; } # Check whether --enable-video was given. if test "${enable_video+set}" = set; then : enableval=$enable_video; USE_VIDEO=$enableval else USE_VIDEO=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_VIDEO" >&5 $as_echo "$USE_VIDEO" >&6; } ENABLE_VIDEO= if test "$USE_VIDEO" = "yes"; then ENABLE_VIDEO=1 $as_echo "#define ENABLE_VIDEO 1" >>confdefs.h fi ENABLE_VIDEO=$ENABLE_VIDEO { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile with webready support" >&5 $as_echo_n "checking whether to compile with webready support... " >&6; } # Check whether --enable-webready was given. if test "${enable_webready+set}" = set; then : enableval=$enable_webready; ENABLE_WEBREADY=$enableval else ENABLE_WEBREADY=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ENABLE_WEBREADY" >&5 $as_echo "$ENABLE_WEBREADY" >&6; } if test "$enable_webready" = "yes"; then $as_echo "#define ENABLE_WEBREADY 1" >>confdefs.h fi if test "$enable_webready" = "yes"; then # libcurl option might change flags, so we save them initially _cppflags="${CPPFLAGS}" _ldflags="${LDFLAGS}" # Check whether --with-curl was given. if test "${with_curl+set}" = set; then : withval=$with_curl; if test "$withval" != "no" -a "$withval" != "yes"; then CURL_DIR=$withval CPPFLAGS="${CPPFLAGS} -I$withval/include" LDFLAGS="${LDFLAGS} -L$withval/lib" fi fi USE_CURL= if test "$with_curl" != "no"; then # Check for libcurl library found_curl=yes CURL_CPPFLAGS= CURL_LDFLAGS= CURL_LIBS= for ac_header in curl/curl.h do : ac_fn_c_check_header_mongrel "$LINENO" "curl/curl.h" "ac_cv_header_curl_curl_h" "$ac_includes_default" if test "x$ac_cv_header_curl_curl_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_CURL_CURL_H 1 _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for curl_easy_init in -lcurl" >&5 $as_echo_n "checking for curl_easy_init in -lcurl... " >&6; } if ${ac_cv_lib_curl_curl_easy_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcurl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char curl_easy_init (); int main () { return curl_easy_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_curl_curl_easy_init=yes else ac_cv_lib_curl_curl_easy_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curl_curl_easy_init" >&5 $as_echo "$ac_cv_lib_curl_curl_easy_init" >&6; } if test "x$ac_cv_lib_curl_curl_easy_init" = xyes; then : USE_CURL=yes $as_echo "#define USE_CURL 1" >>confdefs.h CURL_LIBS="-lcurl" if test "x${CURL_DIR}" != "x"; then CURL_CPPFLAGS="-I${CURL_DIR}/include" CURL_LDFLAGS="-L${CURL_DIR}/lib" fi else found_curl=no fi else found_curl=no fi done if test "$found_curl" = "no"; then as_fn_error $? "either specify a valid curl installation with --with-curl=DIR or use --without-curl" "$LINENO" 5 fi fi CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags} # libssh option might change flags, so we save them initially _cppflags="${CPPFLAGS}" _ldflags="${LDFLAGS}" # Check whether --with-ssh was given. if test "${with_ssh+set}" = set; then : withval=$with_ssh; if test "$withval" != "no" -a "$withval" != "yes"; then SSH_DIR=$withval CPPFLAGS="${CPPFLAGS} -I$withval/include" LDFLAGS="${LDFLAGS} -L$withval/lib" fi fi USE_SSH= if test "$with_ssh" != "no"; then # Check for libssh library found_ssh=yes SSH_CPPFLAGS= SSH_LDFLAGS= SSH_LIBS= for ac_header in libssh/libssh.h do : ac_fn_c_check_header_mongrel "$LINENO" "libssh/libssh.h" "ac_cv_header_libssh_libssh_h" "$ac_includes_default" if test "x$ac_cv_header_libssh_libssh_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBSSH_LIBSSH_H 1 _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssh_new in -lssh" >&5 $as_echo_n "checking for ssh_new in -lssh... " >&6; } if ${ac_cv_lib_ssh_ssh_new+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lssh $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char ssh_new (); int main () { return ssh_new (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_ssh_ssh_new=yes else ac_cv_lib_ssh_ssh_new=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ssh_ssh_new" >&5 $as_echo "$ac_cv_lib_ssh_ssh_new" >&6; } if test "x$ac_cv_lib_ssh_ssh_new" = xyes; then : USE_SSH=1 $as_echo "#define USE_SSH 1" >>confdefs.h SSH_LIBS="-lssh" if test "x${SSH_DIR}" != "x"; then SSH_CPPFLAGS="-I${SSH_DIR}/include" SSH_LDFLAGS="-L${SSH_DIR}/lib" fi else found_ssh=no fi else found_ssh=no fi done if test "$found_ssh" = "no"; then as_fn_error $? "either specify a valid libssh installation with --with-ssh=DIR or use --without-ssh" "$LINENO" 5 fi fi USE_SSH=$USE_SSH CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags} fi # expat option might change flags, so we save them initially _cppflags="${CPPFLAGS}" _ldflags="${LDFLAGS}" # Check whether --with-expat was given. if test "${with_expat+set}" = set; then : withval=$with_expat; if test "$withval" != "no" -a "$withval" != "yes"; then EXPAT_DIR=$withval CPPFLAGS="${CPPFLAGS} -I$withval/include" LDFLAGS="${LDFLAGS} -L$withval/lib" fi fi ENABLE_XMP= if test "$USE_XMP_TOOLKIT" = "yes"; then # Check for expat library found_expat=yes EXPAT_CPPFLAGS= EXPAT_LDFLAGS= EXPAT_LIBS= if test "$with_expat" != "no"; then for ac_header in expat.h do : ac_fn_c_check_header_mongrel "$LINENO" "expat.h" "ac_cv_header_expat_h" "$ac_includes_default" if test "x$ac_cv_header_expat_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_EXPAT_H 1 _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML_ParserCreate in -lexpat" >&5 $as_echo_n "checking for XML_ParserCreate in -lexpat... " >&6; } if ${ac_cv_lib_expat_XML_ParserCreate+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lexpat $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char XML_ParserCreate (); int main () { return XML_ParserCreate (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_expat_XML_ParserCreate=yes else ac_cv_lib_expat_XML_ParserCreate=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_expat_XML_ParserCreate" >&5 $as_echo "$ac_cv_lib_expat_XML_ParserCreate" >&6; } if test "x$ac_cv_lib_expat_XML_ParserCreate" = xyes; then : $as_echo "#define HAVE_EXPAT /**/" >>confdefs.h EXPAT_LIBS="-lexpat" if test "x${EXPAT_DIR}" != "x"; then EXPAT_CPPFLAGS="-I${EXPAT_DIR}/include" EXPAT_LDFLAGS="-L${EXPAT_DIR}/lib" fi else found_expat=no fi else found_expat=no fi done fi if test "$with_expat" = "no" -o "$found_expat" = "no"; then as_fn_error $? "either specify a valid expat installation with --with-expat=DIR or disable XMP support with --disable-xmp" "$LINENO" 5 fi $as_echo "#define HAVE_XMP_TOOLKIT 1" >>confdefs.h ENABLE_XMP=1 fi CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags} # Udi's hack to add libiconv to the Libs section in exiv2.pc if test "$enable_shared" = "no"; then EXV_LIB_STATIC=$LTLIBICONV else EXV_LIB_STATIC= fi # Add flag for DLL on Windows # # This must happen after all other configure checks, because # the "-no-undefined" flag is only for libtool and must not be # passed to GCC by accident. # version.cpp requires link to psapi/Windows and dl/Unix builds case "$host_os" in *mingw* | *cygwin*) LDFLAGS="$LDFLAGS -no-undefined -lpsapi -lwldap32 -lws2_32" ;; *) LDFLAGS="$LDFLAGS -ldl" ;; esac # --------------------------------------------------------------------------- # Create output files. # --------------------------------------------------------------------------- ac_config_files="$ac_config_files ./Makefile:./config/Makefile.in" ac_config_files="$ac_config_files ./config/config.mk" ac_config_files="$ac_config_files ./config/exiv2.pc" ac_config_files="$ac_config_files ./po/Makefile.in" ac_config_files="$ac_config_files ./src/doxygen.hpp" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by exiv2 $as_me 0.25, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ exiv2 config.status 0.25 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`' predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`' postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`' predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`' postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`' LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`' old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`' GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`' enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`' export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`' inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`' link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`' fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`' export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`' predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # Quote evaled strings. for var in SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ AR \ AR_FLAGS \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ SHELL \ ECHO \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ fix_srcfile_path \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ finish_eval \ old_striplib \ striplib \ compiler_lib_search_dirs \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ LD_CXX \ compiler_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_static_CXX \ lt_cv_prog_compiler_c_o_CXX \ export_dynamic_flag_spec_CXX \ whole_archive_flag_spec_CXX \ compiler_needs_object_CXX \ with_gnu_ld_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ fix_srcfile_path_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX \ file_list_spec_CXX \ compiler_lib_search_dirs_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX; do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ sys_lib_dlsearch_path_spec \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ export_symbols_cmds_CXX \ prelink_cmds_CXX; do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Fix-up fallback echo if it was mangled by the above quoting rules. case \$lt_ECHO in *'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` ;; esac ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "./config/config.h") CONFIG_HEADERS="$CONFIG_HEADERS ./config/config.h" ;; "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "./Makefile") CONFIG_FILES="$CONFIG_FILES ./Makefile:./config/Makefile.in" ;; "./config/config.mk") CONFIG_FILES="$CONFIG_FILES ./config/config.mk" ;; "./config/exiv2.pc") CONFIG_FILES="$CONFIG_FILES ./config/exiv2.pc" ;; "./po/Makefile.in") CONFIG_FILES="$CONFIG_FILES ./po/Makefile.in" ;; "./src/doxygen.hpp") CONFIG_FILES="$CONFIG_FILES ./src/doxygen.hpp" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "default-1":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; "libtool":C) # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # The names of the tagged configurations supported by this script. available_tags="CXX " # ### BEGIN LIBTOOL CONFIG # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Whether or not to build static libraries. build_old_libs=$enable_static # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method == "file_magic". file_magic_cmd=$lt_file_magic_cmd # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # The name of the directory that contains temporary libtool files. objdir=$objdir # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that does not interpret backslashes. ECHO=$lt_ECHO # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # If ld is used when linking, flag to hardcode \$libdir into a binary # during linking. This must work even if \$libdir does not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects postdep_objects=$lt_postdep_objects predeps=$lt_predeps postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) case $xsi_shell in yes) cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac } # func_basename file func_basename () { func_basename_result="${1##*/}" } # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}" } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). func_stripname () { # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"} } # func_opt_split func_opt_split () { func_opt_split_opt=${1%%=*} func_opt_split_arg=${1#*=} } # func_lo2o object func_lo2o () { case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac } # func_xform libobj-or-source func_xform () { func_xform_result=${1%.*}.lo } # func_arith arithmetic-term... func_arith () { func_arith_result=$(( $* )) } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=${#1} } _LT_EOF ;; *) # Bourne compatible functions. cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_basename file func_basename () { func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; esac } # sed scripts: my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^-[^=]*=//' # func_opt_split func_opt_split () { func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` } # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` } # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` } # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "$@"` } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` } _LT_EOF esac case $lt_shell_append in yes) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1+=\$2" } _LT_EOF ;; *) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1=\$$1\$2" } _LT_EOF ;; esac sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" cat <<_LT_EOF >> "$ofile" # ### BEGIN LIBTOOL TAG CONFIG: CXX # The linker used to build libraries. LD=$lt_LD_CXX # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds_CXX # A language specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU compiler? with_gcc=$GCC_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_CXX # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object_CXX # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld_CXX # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX # If ld is used when linking, flag to hardcode \$libdir into a binary # during linking. This must work even if \$libdir does not exist. hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_CXX # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic_CXX # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath_CXX # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path_CXX # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_CXX # Specify filename containing input files. file_list_spec=$lt_file_list_spec_CXX # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_CXX # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects_CXX postdep_objects=$lt_postdep_objects_CXX predeps=$lt_predeps_CXX postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # ### END LIBTOOL TAG CONFIG: CXX _LT_EOF ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi # --------------------------------------------------------------------------- # Configuration summary. # --------------------------------------------------------------------------- echo "" echo "------------------------------------------------------------------" echo "-- Exiv2 $VERSION feature configuration summary" echo "--" case "$enable_shared" in yes) echo "-- Build a shared library......... YES" ;; *) echo "-- Build a shared library......... NO" ;; esac case "$VISIBILITY_SUPPORT" in yes) echo "-- Use symbol visibility support.. YES" ;; *) echo "-- Use symbol visibility support.. NO" ;; esac case "x$HAVE_LIBZ" in x1) echo "-- PNG image support.............. YES" ;; *) echo "-- PNG image support.............. NO" echo "" echo "zlib is required for PNG support. Make sure the zlib header files" echo "are installed and use --with-zlib=DIR if it is in a non-standard" echo "location. You can get zlib from http://www.zlib.net/" echo "" ;; esac case "$USE_NLS" in yes) echo "-- Native language support........ YES" ;; *) echo "-- Native language support........ NO" echo "" echo "gettext is required for native language support. Make sure the" echo "gettext header files are installed. You can get gettext from" echo "http://www.gnu.org/software/gettext/" echo "" ;; esac case "$USE_LENSDATA" in yes) echo "-- Nikon lens database............ YES" ;; *) echo "-- Nikon lens database............ NO" ;; esac case "$USE_XMP_TOOLKIT" in yes) echo "-- XMP metadata support........... YES" ;; *) echo "-- XMP metadata support........... NO" echo "" echo "Expat is required for XMP support. Make sure the Expat header" echo "files are installed and use --with-expat=DIR if it is in a" echo "non-standard location. You can get Expat from" echo "http://expat.sourceforge.net/" echo "" ;; esac case "x$ENABLE_VIDEO" in x1) echo "-- Video support.................. YES" ;; *) echo "-- Video support.................. NO" esac if test "$enable_webready" = "yes"; then echo "-- Webready support............... YES" else echo "-- Webready support............... NO" fi if test "$enable_webready" = "yes"; then case "$USE_CURL" in yes) echo "-- Using Lib Curl................. YES" ;; *) echo "-- Using Lib Curl................. NO" echo "" echo "Libcurl is required for HttpIo in basicIo.cpp. Make sure the Curl header" echo "files are installed and use --with-curl=DIR if it is in a" echo "non-standard location. You can get Curl from" echo "http://curl.haxx.se/libcurl/" echo "" ;; esac case "x$USE_SSH" in x1) echo "-- Using Lib SSH.................. YES" ;; *) echo "-- Using Lib SSH.................. NO" echo "" echo "Libssh is required for SshIo in basicIo.cpp. Make sure the libssh header" echo "files are installed and use --with-ssh=DIR if it is in a" echo "non-standard location. You can get libssh from" echo "http://www.libssh.org/get-it/" echo "" ;; esac fi echo "------------------------------------------------------------------" echo "" # That's all Folks! ## exiv2-0.25/TODO-CMAKE0000664000175000017500000001122712030773503013624 0ustar andreasandreasCurrent Status ToDo: * Fix out of source builds for NMake * Find and link iconv library on Windows * Test Cygwin, MinGW, Xcode, NMake and more versions of MSVC * Revisit searching for zlib, expat and iconv * Work on the "inherited from Gilles" list below Bugs: * 2005/32/debug won't run. "SideBySide" error (manifest trouble) * 2003/32 does not compile (1000's of template errors) Done: * Support for out of source builds (this is still suspect) * Add header files to MSVC UI for exiv2lib (and changed exiv2bin->exiv2 and exiv2->exiv2lib) * Searching better for expat, zlib and iconv * write FindLibexiv2.cmake (Thank you, Gilles) * Builds and passes the test suite on 2005/32, 2008/64, Mac-Lion/64/Makefiles and Ubuntu/12.04/32bit * Updated documentation (README-CMAKE) Robin Mills robin@clanmills.com 2012-06-09 Inherited from Gilles Caulier : * Review how samples are built: They should use the *installed* version of libexiv2, not some temporary version in the src or build tree. * Compare the cmake-built shared library with the configure-built version. Do they differ? Ideally they are the same. If not, we should understand the differences exactly. * Added cmake target to build/install doc. * Added Cmake target to release build and packaging. * Added support for cross-compiling : add information on how to cross-compile on Linux for Windows (MinGW) (some applications and my own release-build process need this) to the README.CMAKE * Emacs M-c command to (re-)compile. * Migrate the whole README-CMAKE to README. ------------------------------------------------------------------------------------- DONE * Can the logic needed to build the doc be re-written using cmake? => Yes. We manage it with digiKam Doxygen documentation as well. DONE * Is it possible to not have CMakeLists.txt file in the top dir? => No. It a deprecated solution from KitWare. I read more than one questions about this subject in devel forum. DONE * Need soname versioning for shared library. DONE * Add further messages to display option settings. ------------------------------------------------------------------ -- Exiv2 0.18-pre1 feature configuration summary -- -- Build a shared library......... NO -- PNG image support.............. YES -- Native language support........ NO gettext is required for native language support. Make sure the gettext header files are installed. You can get gettext from http://www.gnu.org/software/gettext/ -- Conversion of Windows XP tags.. YES -- Nikon lens database............ YES -- XMP metadata support........... YES ------------------------------------------------------------------ DONE * Add possibility to build xmp as a convenience library. DONE * Compilation fails if Expat (possibly also other dependencies?) is in a non-standard place. WONTFIX * This is probably not necessary in src/CMakeLists.txt / can be removed: set( LIBEXIV2_SRC ${LIBEXIV2_SRC} getopt_win32.c ) it is necessary as both windows compilers do not autoexport DONE * Do we need to worry about MSVC warnings like this: d:\home\ahuggel\msys\src\exiv2\src\exif.hpp(245) : warning C4251: 'Exiv2::Exifdatum::value_' : class 'std::auto_ptr<_Ty>' needs to have dll-interface to be used by clients of class 'Exiv2::Exifdatum' with [ _Ty=Exiv2::Value ] DONE * Is the pkgconfig file not installed in MinGW? - it is now. DONE * Added targets to build/install man page. DONE * Need g++ specific : compiler options (warnings) and settings (visibility). DONE * Manage eviv2.pc file with CMake, like it's do with kdegraphics/libs .pc file. DONE * Manage eviv2.lsm file with CMake, like it's do with kdegraphics/libs .lsm file. DONE * Added cmake target to uninstall Exiv2, based on KDE4 cmake script. DONE * The following options of the configure script should be supported --disable-shared => -ENABLE_SHARED_EXIV2 --disable-xmp => -ENABLE_XMP --without-zlib => -ENABLE_PNG --enable-commercial => -ENABLE_COMMERCIAL --disable-lensdata => -ENABLE_LENSDATA --disable-printucs2 => -ENABLE_PRINTUCS2 --enable-nls => -ENABLE_NLS DONE * Cmake project: in root folder, common config in config sub-dir. DONE * Manage samples sub-dir with CMake. DONE * Rename configuration settings to EXIV2_*, e.g., EXIV2_ENABLE_SHARED. DONE * Manage i18n extraction to generate .po files. (See http://www.cmake.org/pipermail/cmake/2009-July/031003.html) Port extract-messages.sh to CMake DONE * Add tests to check availability of msgmerge, xgettext, msgfmt programs. INFO * Check How does cmake handle RPATH? (I'll read up on this). exiv2-0.25/xmpsdk/0000775000175000017500000000000012541547735013636 5ustar andreasandreasexiv2-0.25/xmpsdk/src/0000775000175000017500000000000012541550116014410 5ustar andreasandreasexiv2-0.25/xmpsdk/src/XMP_BuildInfo.h0000664000175000017500000000200611224653364017164 0ustar andreasandreas#ifndef __XMP_BuildInfo_h__ #define __XMP_BuildInfo_h__ 1 /* --------------------------------------------------------------------------------------------- */ /* ** IMPORTANT ** This file must be usable by strict ANSI C compilers. No "//" comments, etc. */ /* --------------------------------------------------------------------------------------------- */ /* // ================================================================================================= // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= */ #define kXMP_Copyright Copyright (c) 2002-2008, Adobe Systems Incorporated #define kXMP_CopyrightStr "Copyright (c) 2002-2008, Adobe Systems Incorporated" #define kXMP_AdobeIPStr "" #endif /* __XMP_BuildInfo_h__ */ exiv2-0.25/xmpsdk/src/XMPCore_Impl.hpp0000664000175000017500000004231411405164521017362 0ustar andreasandreas#ifndef __XMPCore_Impl_hpp__ #define __XMPCore_Impl_hpp__ // ================================================================================================= // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" // ! Must be the first #include! #include "XMP_Const.h" #include "XMP_BuildInfo.h" #include "client-glue/WXMPMeta.hpp" #include #include #include #include #include #if XMP_WinBuild #include #else // Use pthread for both Mac and generic UNIX. #include #endif #if XMP_WinBuild # ifdef _MSC_VER #pragma warning ( disable : 4244 ) // possible loss of data (temporary for 64 bit builds) #pragma warning ( disable : 4267 ) // possible loss of data (temporary for 64 bit builds) # endif #endif // ================================================================================================= // Primary internal types class XMP_Node; class XML_Node; class XPathStepInfo; typedef XMP_Node * XMP_NodePtr; typedef std::vector XMP_NodeOffspring; typedef XMP_NodeOffspring::iterator XMP_NodePtrPos; typedef std::string XMP_VarString; typedef XMP_VarString::iterator XMP_VarStringPos; typedef XMP_VarString::const_iterator XMP_cVarStringPos; typedef std::pair < XMP_VarString, XMP_VarString > XMP_StringPair; typedef std::map < XMP_VarString, XMP_VarString > XMP_StringMap; typedef XMP_StringMap::iterator XMP_StringMapPos; typedef XMP_StringMap::const_iterator XMP_cStringMapPos; typedef std::vector < XPathStepInfo > XMP_ExpandedXPath; typedef XMP_ExpandedXPath::iterator XMP_ExpandedXPathPos; typedef XMP_ExpandedXPath::const_iterator XMP_cExpandedXPathPos; typedef std::map < XMP_VarString, XMP_ExpandedXPath > XMP_AliasMap; // Alias name to actual path. typedef XMP_AliasMap::iterator XMP_AliasMapPos; typedef XMP_AliasMap::const_iterator XMP_cAliasMapPos; // ================================================================================================= // General global variables and macros extern XMP_Int32 sXMP_InitCount; extern XMP_AliasMap * sRegisteredAliasMap; extern XMP_StringMap * sNamespaceURIToPrefixMap; extern XMP_StringMap * sNamespacePrefixToURIMap; extern XMP_VarString * sOutputNS; extern XMP_VarString * sOutputStr; extern void * voidVoidPtr; // Used to backfill null output parameters. extern XMP_StringPtr voidStringPtr; extern XMP_StringLen voidStringLen; extern XMP_OptionBits voidOptionBits; extern XMP_Bool voidByte; extern bool voidBool; extern XMP_Int32 voidInt32; extern XMP_Int64 voidInt64; extern double voidDouble; extern XMP_DateTime voidDateTime; extern WXMP_Result void_wResult; #define kHexDigits "0123456789ABCDEF" #define XMP_LitMatch(s,l) (std::strcmp((s),(l)) == 0) #define XMP_LitNMatch(s,l,n) (std::strncmp((s),(l),(n)) == 0) // *** Use the above macros! #define kTab ((char)0x09) #define kLF ((char)0x0A) #define kCR ((char)0x0D) #if XMP_WinBuild #define snprintf _snprintf #endif #define WtoXMPMeta_Ref(xmpRef) *((const XMPMeta *)(xmpRef)) #define WtoXMPMeta_Ptr(xmpRef) (((xmpRef) == 0) ? 0 : (XMPMeta *)(xmpRef)) #define WtoXMPIterator_Ref(iterRef) *((const XMPIterator *)(iterRef)) #define WtoXMPIterator_Ptr(iterRef) (((iterRef) == 0) ? 0 : (XMPIterator *)(iterRef)) #define WtoXMPDocOps_Ref(docRef) *((const XMPDocOps *)(docRef)) #define WtoXMPDocOps_Ptr(docRef) (((docRef) == 0) ? 0 : (XMPDocOps *)(docRef)) #define IgnoreParam(p) voidVoidPtr = (void*)&p // ================================================================================================= // Version info #if XMP_DebugBuild #define kXMPCore_DebugFlag 1 #else #define kXMPCore_DebugFlag 0 #endif #define kXMPCore_VersionNumber ( (kXMPCore_DebugFlag << 31) | \ (XMP_API_VERSION_MAJOR << 24) | \ (XMP_API_VERSION_MINOR << 16) | \ (XMP_API_VERSION_MICRO << 8) ) #define kXMPCoreName "XMP Core" #define kXMPCore_VersionMessage kXMPCoreName " " XMP_API_VERSION_STRING // ================================================================================================= // Support for asserts #define _MakeStr(p) #p #define _NotifyMsg(n,c,f,l) #n " failed: " #c " in " f " at line " _MakeStr(l) #if ! XMP_DebugBuild #define XMP_Assert(c) ((void) 0) #else #define XMP_Assert(c) assert ( c ) #endif #define XMP_Enforce(c) \ if ( ! (c) ) { \ const char * assert_msg = _NotifyMsg ( XMP_Enforce, (c), __FILE__, __LINE__ ); \ XMP_Throw ( assert_msg , kXMPErr_EnforceFailure ); \ } // ================================================================================================= // Support for exceptions and thread locking #ifndef TraceXMPCalls #define TraceXMPCalls 0 #endif #if ! TraceXMPCalls #define AnnounceThrow(msg) /* Do nothing. */ #define AnnounceCatch(msg) /* Do nothing. */ #define AnnounceEntry(proc) /* Do nothing. */ #define AnnounceNoLock(proc) /* Do nothing. */ #define AnnounceExit() /* Do nothing. */ #define ReportLock() ++sLockCount #define ReportUnlock() --sLockCount #define ReportKeepLock() /* Do nothing. */ #else extern FILE * xmpCoreOut; #define AnnounceThrow(msg) \ fprintf ( xmpCoreOut, "XMP_Throw: %s\n", msg ); fflush ( xmpOut ) #define AnnounceCatch(msg) \ fprintf ( xmpCoreOut, "Catch in %s: %s\n", procName, msg ); fflush ( xmpOut ) #define AnnounceEntry(proc) \ const char * procName = proc; \ fprintf ( xmpCoreOut, "Entering %s\n", procName ); fflush ( xmpOut ) #define AnnounceNoLock(proc) \ const char * procName = proc; \ fprintf ( xmpCoreOut, "Entering %s (no lock)\n", procName ); fflush ( xmpOut ) #define AnnounceExit() \ fprintf ( xmpCoreOut, "Exiting %s\n", procName ); fflush ( xmpOut ) #define ReportLock() \ ++sLockCount; fprintf ( xmpCoreOut, " Auto lock, count = %d\n", sLockCount ); fflush ( xmpOut ) #define ReportUnlock() \ --sLockCount; fprintf ( xmpCoreOut, " Auto unlock, count = %d\n", sLockCount ); fflush ( xmpOut ) #define ReportKeepLock() \ fprintf ( xmpCoreOut, " Keeping lock, count = %d\n", sLockCount ); fflush ( xmpOut ) #endif #define XMP_Throw(msg,id) { AnnounceThrow ( msg ); throw XMP_Error ( id, msg ); } // ------------------------------------------------------------------------------------------------- #if XMP_WinBuild typedef CRITICAL_SECTION XMP_Mutex; #else // Use pthread for both Mac and generic UNIX. typedef pthread_mutex_t XMP_Mutex; #endif extern XMP_Mutex sXMPCoreLock; extern int sLockCount; // Keep signed to catch unlock errors. extern XMP_VarString * sExceptionMessage; extern bool XMP_InitMutex ( XMP_Mutex * mutex ); extern void XMP_TermMutex ( XMP_Mutex & mutex ); extern void XMP_EnterCriticalRegion ( XMP_Mutex & mutex ); extern void XMP_ExitCriticalRegion ( XMP_Mutex & mutex ); class XMP_AutoMutex { public: XMP_AutoMutex() : mutex(&sXMPCoreLock) { XMP_EnterCriticalRegion ( *mutex ); ReportLock(); }; ~XMP_AutoMutex() { if ( mutex != 0 ) { ReportUnlock(); XMP_ExitCriticalRegion ( *mutex ); mutex = 0; } }; void KeepLock() { ReportKeepLock(); mutex = 0; }; private: XMP_Mutex * mutex; }; // *** Switch to XMPEnterObjectWrapper & XMPEnterStaticWrapper, to allow for per-object locks. // ! Don't do the initialization check (sXMP_InitCount > 0) for the no-lock case. That macro is used // ! by WXMPMeta_Initialize_1. #define XMP_ENTER_WRAPPER_NO_LOCK(proc) \ AnnounceNoLock ( proc ); \ XMP_Assert ( (0 <= sLockCount) && (sLockCount <= 1) ); \ try { \ wResult->errMessage = 0; #define XMP_ENTER_WRAPPER(proc) \ AnnounceEntry ( proc ); \ XMP_Assert ( sXMP_InitCount > 0 ); \ XMP_Assert ( (0 <= sLockCount) && (sLockCount <= 1) ); \ try { \ XMP_AutoMutex mutex; \ wResult->errMessage = 0; #define XMP_EXIT_WRAPPER \ XMP_CATCH_EXCEPTIONS \ AnnounceExit(); #define XMP_EXIT_WRAPPER_KEEP_LOCK(keep) \ if ( keep ) mutex.KeepLock(); \ XMP_CATCH_EXCEPTIONS \ AnnounceExit(); #define XMP_EXIT_WRAPPER_NO_THROW \ } catch ( ... ) { \ AnnounceCatch ( "no-throw catch-all" ); \ /* Do nothing. */ \ } \ AnnounceExit(); #define XMP_CATCH_EXCEPTIONS \ } catch ( XMP_Error & xmpErr ) { \ wResult->int32Result = xmpErr.GetID(); \ wResult->ptrResult = (void*)"XMP"; \ wResult->errMessage = xmpErr.GetErrMsg(); \ if ( wResult->errMessage == 0 ) wResult->errMessage = ""; \ AnnounceCatch ( wResult->errMessage ); \ } catch ( std::exception & stdErr ) { \ wResult->int32Result = kXMPErr_StdException; \ wResult->errMessage = stdErr.what(); \ if ( wResult->errMessage == 0 ) wResult->errMessage = ""; \ AnnounceCatch ( wResult->errMessage ); \ } catch ( ... ) { \ wResult->int32Result = kXMPErr_UnknownException; \ wResult->errMessage = "Caught unknown exception"; \ AnnounceCatch ( wResult->errMessage ); \ } #if XMP_DebugBuild #define RELEASE_NO_THROW /* empty */ #else #define RELEASE_NO_THROW throw() #endif // ================================================================================================= // ExpandXPath, FindNode, and related support // *** Normalize the use of "const xx &" for input params #define kXMP_ArrayItemName "[]" #define kXMP_CreateNodes true #define kXMP_ExistingOnly false #define FindConstSchema(t,u) FindSchemaNode ( const_cast(t), u, kXMP_ExistingOnly, 0 ) #define FindConstChild(p,c) FindChildNode ( const_cast(p), c, kXMP_ExistingOnly, 0 ) #define FindConstQualifier(p,c) FindQualifierNode ( const_cast(p), c, kXMP_ExistingOnly, 0 ) #define FindConstNode(t,p) FindNode ( const_cast(t), p, kXMP_ExistingOnly, 0 ) extern XMP_OptionBits VerifySetOptions ( XMP_OptionBits options, XMP_StringPtr propValue ); extern void ComposeXPath ( const XMP_ExpandedXPath & expandedXPath, XMP_VarString * stringXPath ); extern void ExpandXPath ( XMP_StringPtr schemaNS, XMP_StringPtr propPath, XMP_ExpandedXPath * expandedXPath ); extern XMP_Node * FindSchemaNode ( XMP_Node * xmpTree, XMP_StringPtr nsURI, bool createNodes, XMP_NodePtrPos * ptrPos = 0 ); extern XMP_Node * FindChildNode ( XMP_Node * parent, XMP_StringPtr childName, bool createNodes, XMP_NodePtrPos * ptrPos = 0 ); extern XMP_Node * FindQualifierNode ( XMP_Node * parent, XMP_StringPtr qualName, bool createNodes, XMP_NodePtrPos * ptrPos = 0 ); extern XMP_Node * FindNode ( XMP_Node * xmpTree, const XMP_ExpandedXPath & expandedXPath, bool createNodes, XMP_OptionBits leafOptions = 0, XMP_NodePtrPos * ptrPos = 0 ); extern XMP_Index LookupLangItem ( const XMP_Node * arrayNode, XMP_VarString & lang ); // ! Lang must be normalized! extern XMP_Index LookupFieldSelector ( const XMP_Node * arrayNode, XMP_StringPtr fieldName, XMP_StringPtr fieldValue ); extern void CloneOffspring ( const XMP_Node * origParent, XMP_Node * cloneParent ); extern XMP_Node * CloneSubtree ( const XMP_Node * origRoot, XMP_Node * cloneParent ); extern bool CompareSubtrees ( const XMP_Node & leftNode, const XMP_Node & rightNode ); extern void DeleteEmptySchema ( XMP_Node * schemaNode ); extern void NormalizeLangValue ( XMP_VarString * value ); extern void NormalizeLangArray ( XMP_Node * array ); extern void DetectAltText ( XMP_Node * xmpParent ); extern void SortNamedNodes ( XMP_NodeOffspring & nodeVector ); static inline bool IsPathPrefix ( XMP_StringPtr fullPath, XMP_StringPtr prefix ) { bool isPrefix = false; XMP_StringLen prefixLen = std::strlen(prefix); if ( XMP_LitNMatch ( prefix, fullPath, prefixLen ) ) { char separator = fullPath[prefixLen]; if ( (separator == 0) || (separator == '/') || (separator == '[') || (separator == '*') ) isPrefix = true; } return isPrefix; } // ------------------------------------------------------------------------------------------------- class XPathStepInfo { public: XMP_VarString step; XMP_OptionBits options; XPathStepInfo ( XMP_StringPtr _step, XMP_OptionBits _options ) : step(_step), options(_options) {}; XPathStepInfo ( XMP_VarString _step, XMP_OptionBits _options ) : step(_step), options(_options) {}; private: XPathStepInfo() : options(0) {}; // ! Hide the default constructor. }; enum { kSchemaStep = 0, kRootPropStep = 1, kAliasIndexStep = 2 }; enum { // Bits for XPathStepInfo options. // *** Add mask check to init code. kXMP_StepKindMask = 0x0F, // ! The step kinds are mutually exclusive numbers. kXMP_StructFieldStep = 0x01, // Also for top level nodes (schema "fields"). kXMP_QualifierStep = 0x02, // ! Order is significant to separate struct/qual from array kinds! kXMP_ArrayIndexStep = 0x03, // ! The kinds must not overlay array form bits! kXMP_ArrayLastStep = 0x04, kXMP_QualSelectorStep = 0x05, kXMP_FieldSelectorStep = 0x06, kXMP_StepIsAlias = 0x10 }; #define GetStepKind(f) ((f) & kXMP_StepKindMask) #define kXMP_NewImplicitNode kXMP_InsertAfterItem // ================================================================================================= // XMP_Node details #if 0 // Pattern for iterating over the children or qualifiers: for ( size_t xxNum = 0, xxLim = _node_->_offspring_.size(); xxNum < xxLim; ++xxNum ) { const XMP_Node * _curr_ = _node_->_offspring_[xxNum]; } #endif class XMP_Node { public: XMP_OptionBits options; XMP_VarString name, value; XMP_Node * parent; XMP_NodeOffspring children; XMP_NodeOffspring qualifiers; #if XMP_DebugBuild // *** XMP_StringPtr _namePtr, _valuePtr; // *** Not working, need operator=? #endif XMP_Node ( XMP_Node * _parent, XMP_StringPtr _name, XMP_OptionBits _options ) : options(_options), name(_name), parent(_parent) { #if XMP_DebugBuild XMP_Assert ( (name.find ( ':' ) != XMP_VarString::npos) || (name == kXMP_ArrayItemName) || (options & kXMP_SchemaNode) || (parent == 0) ); // *** _namePtr = name.c_str(); // *** _valuePtr = value.c_str(); #endif }; XMP_Node ( XMP_Node * _parent, const XMP_VarString & _name, XMP_OptionBits _options ) : options(_options), name(_name), parent(_parent) { #if XMP_DebugBuild XMP_Assert ( (name.find ( ':' ) != XMP_VarString::npos) || (name == kXMP_ArrayItemName) || (options & kXMP_SchemaNode) || (parent == 0) ); // *** _namePtr = name.c_str(); // *** _valuePtr = value.c_str(); #endif }; XMP_Node ( XMP_Node * _parent, XMP_StringPtr _name, XMP_StringPtr _value, XMP_OptionBits _options ) : options(_options), name(_name), value(_value), parent(_parent) { #if XMP_DebugBuild XMP_Assert ( (name.find ( ':' ) != XMP_VarString::npos) || (name == kXMP_ArrayItemName) || (options & kXMP_SchemaNode) || (parent == 0) ); // *** _namePtr = name.c_str(); // *** _valuePtr = value.c_str(); #endif }; XMP_Node ( XMP_Node * _parent, const XMP_VarString & _name, const XMP_VarString & _value, XMP_OptionBits _options ) : options(_options), name(_name), value(_value), parent(_parent) { #if XMP_DebugBuild XMP_Assert ( (name.find ( ':' ) != XMP_VarString::npos) || (name == kXMP_ArrayItemName) || (options & kXMP_SchemaNode) || (parent == 0) ); // *** _namePtr = name.c_str(); // *** _valuePtr = value.c_str(); #endif }; void RemoveChildren() { for ( size_t i = 0, vLim = children.size(); i < vLim; ++i ) { if ( children[i] != 0 ) delete children[i]; } children.clear(); } void RemoveQualifiers() { for ( size_t i = 0, vLim = qualifiers.size(); i < vLim; ++i ) { if ( qualifiers[i] != 0 ) delete qualifiers[i]; } qualifiers.clear(); } void ClearNode() { options = 0; name.erase(); value.erase(); this->RemoveChildren(); this->RemoveQualifiers(); } virtual ~XMP_Node() { RemoveChildren(); RemoveQualifiers(); }; private: XMP_Node() : options(0), parent(0) // ! Make sure parent pointer is always set. { #if XMP_DebugBuild // *** _namePtr = name.c_str(); // *** _valuePtr = value.c_str(); #endif }; }; class XMP_AutoNode { // Used to hold a child during subtree construction. public: XMP_Node * nodePtr; XMP_AutoNode() : nodePtr(0) {}; ~XMP_AutoNode() { if ( nodePtr != 0 ) delete ( nodePtr ); nodePtr = 0; }; XMP_AutoNode ( XMP_Node * _parent, XMP_StringPtr _name, XMP_OptionBits _options ) : nodePtr ( new XMP_Node ( _parent, _name, _options ) ) {}; XMP_AutoNode ( XMP_Node * _parent, const XMP_VarString & _name, XMP_OptionBits _options ) : nodePtr ( new XMP_Node ( _parent, _name, _options ) ) {}; XMP_AutoNode ( XMP_Node * _parent, XMP_StringPtr _name, XMP_StringPtr _value, XMP_OptionBits _options ) : nodePtr ( new XMP_Node ( _parent, _name, _value, _options ) ) {}; XMP_AutoNode ( XMP_Node * _parent, const XMP_VarString & _name, const XMP_VarString & _value, XMP_OptionBits _options ) : nodePtr ( new XMP_Node ( _parent, _name, _value, _options ) ) {}; }; extern void ProcessRDF ( XMP_Node * xmpTree, const XML_Node & xmlTree, XMP_OptionBits options ); // ================================================================================================= #endif // __XMPCore_Impl_hpp__ exiv2-0.25/xmpsdk/src/XMPUtils.cpp0000664000175000017500000020773212257733176016631 0ustar andreasandreas// ================================================================================================= // Copyright 2002-2007 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" // ! This must be the first include! #include "XMPCore_Impl.hpp" #include "XMPUtils.hpp" #include "MD5.h" #include #include #include #include #include #include #include // For snprintf. #if XMP_WinBuild #ifdef _MSC_VER #pragma warning ( disable : 4800 ) // forcing value to bool 'true' or 'false' (performance warning) #pragma warning ( disable : 4996 ) // '...' was declared deprecated #endif #endif // ================================================================================================= // Local Types and Constants // ========================= static const char * sBase64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; // ================================================================================================= // Static Variables // ================ XMP_VarString * sComposedPath = 0; // *** Only really need 1 string. Shrink periodically? XMP_VarString * sConvertedValue = 0; XMP_VarString * sBase64Str = 0; XMP_VarString * sCatenatedItems = 0; XMP_VarString * sStandardXMP = 0; XMP_VarString * sExtendedXMP = 0; XMP_VarString * sExtendedDigest = 0; // ================================================================================================= // Local Utilities // =============== // ------------------------------------------------------------------------------------------------- // ANSI Time Functions // ------------------- // // A bit of hackery to use the best available time functions. Mac and UNIX have thread safe versions // of gmtime and localtime. On Mac the CodeWarrior functions are buggy, use Apple's. #if XMP_UNIXBuild typedef time_t ansi_tt; typedef struct tm ansi_tm; #define ansi_time time #define ansi_mktime mktime #define ansi_difftime difftime #define ansi_gmtime gmtime_r #define ansi_localtime localtime_r #elif XMP_WinBuild // ! VS.Net 2003 (VC7) does not provide thread safe versions of gmtime and localtime. // ! VS.Net 2005 (VC8) inverts the parameters for the safe versions of gmtime and localtime. typedef time_t ansi_tt; typedef struct tm ansi_tm; #define ansi_time time #define ansi_mktime mktime #define ansi_difftime difftime #if defined(_MSC_VER) && (_MSC_VER >= 1400) #define ansi_gmtime(tt,tm) gmtime_s ( tm, tt ) #define ansi_localtime(tt,tm) localtime_s ( tm, tt ) #else static inline void ansi_gmtime ( const ansi_tt * ttTime, ansi_tm * tmTime ) { ansi_tm * tmx = gmtime ( ttTime ); // ! Hope that there is no race! if ( tmx == 0 ) XMP_Throw ( "Failure from ANSI C gmtime function", kXMPErr_ExternalFailure ); *tmTime = *tmx; } static inline void ansi_localtime ( const ansi_tt * ttTime, ansi_tm * tmTime ) { ansi_tm * tmx = localtime ( ttTime ); // ! Hope that there is no race! if ( tmx == 0 ) XMP_Throw ( "Failure from ANSI C localtime function", kXMPErr_ExternalFailure ); *tmTime = *tmx; } #endif #elif XMP_MacBuild #if ! __MWERKS__ typedef time_t ansi_tt; typedef struct tm ansi_tm; #define ansi_time time #define ansi_mktime mktime #define ansi_difftime difftime #define ansi_gmtime gmtime_r #define ansi_localtime localtime_r #else // ! The CW versions are buggy. Use Apple's code, time_t, and "struct tm". #include typedef _BSD_TIME_T_ ansi_tt; typedef struct apple_tm { int tm_sec; /* seconds after the minute [0-60] */ int tm_min; /* minutes after the hour [0-59] */ int tm_hour; /* hours since midnight [0-23] */ int tm_mday; /* day of the month [1-31] */ int tm_mon; /* months since January [0-11] */ int tm_year; /* years since 1900 */ int tm_wday; /* days since Sunday [0-6] */ int tm_yday; /* days since January 1 [0-365] */ int tm_isdst; /* Daylight Savings Time flag */ long tm_gmtoff; /* offset from CUT in seconds */ char *tm_zone; /* timezone abbreviation */ } ansi_tm; typedef ansi_tt (* GetTimeProc) ( ansi_tt * ttTime ); typedef ansi_tt (* MakeTimeProc) ( ansi_tm * tmTime ); typedef double (* DiffTimeProc) ( ansi_tt t1, ansi_tt t0 ); typedef void (* ConvertTimeProc) ( const ansi_tt * ttTime, ansi_tm * tmTime ); static GetTimeProc ansi_time = 0; static MakeTimeProc ansi_mktime = 0; static DiffTimeProc ansi_difftime = 0; static ConvertTimeProc ansi_gmtime = 0; static ConvertTimeProc ansi_localtime = 0; static void LookupTimeProcs() { _dyld_lookup_and_bind_with_hint ( "_time", "libSystem", (XMP_Uns32*)&ansi_time, 0 ); _dyld_lookup_and_bind_with_hint ( "_mktime", "libSystem", (XMP_Uns32*)&ansi_mktime, 0 ); _dyld_lookup_and_bind_with_hint ( "_difftime", "libSystem", (XMP_Uns32*)&ansi_difftime, 0 ); _dyld_lookup_and_bind_with_hint ( "_gmtime_r", "libSystem", (XMP_Uns32*)&ansi_gmtime, 0 ); _dyld_lookup_and_bind_with_hint ( "_localtime_r", "libSystem", (XMP_Uns32*)&ansi_localtime, 0 ); } #endif #endif // ------------------------------------------------------------------------------------------------- // IsLeapYear // ---------- static bool IsLeapYear ( long year ) { if ( year < 0 ) year = -year + 1; // Fold the negative years, assuming there is a year 0. if ( (year % 4) != 0 ) return false; // Not a multiple of 4. if ( (year % 100) != 0 ) return true; // A multiple of 4 but not a multiple of 100. if ( (year % 400) == 0 ) return true; // A multiple of 400. return false; // A multiple of 100 but not a multiple of 400. } // IsLeapYear // ------------------------------------------------------------------------------------------------- // DaysInMonth // ----------- static int DaysInMonth ( XMP_Int32 year, XMP_Int32 month ) { static short daysInMonth[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; // Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec int days = daysInMonth [ month ]; if ( (month == 2) && IsLeapYear ( year ) ) days += 1; return days; } // DaysInMonth // ------------------------------------------------------------------------------------------------- // AdjustTimeOverflow // ------------------ static void AdjustTimeOverflow ( XMP_DateTime * time ) { enum { kBillion = 1000*1000*1000L }; // ---------------------------------------------------------------------------------------------- // To be safe against pathalogical overflow we first adjust from month to second, then from // nanosecond back up to month. This leaves each value closer to zero before propagating into it. // For example if the hour and minute are both near max, adjusting minutes first can cause the // hour to overflow. // ! Photoshop 8 creates "time only" values with zeros for year, month, and day. if ( (time->year != 0) || (time->month != 0) || (time->day != 0) ) { while ( time->month < 1 ) { time->year -= 1; time->month += 12; } while ( time->month > 12 ) { time->year += 1; time->month -= 12; } while ( time->day < 1 ) { time->month -= 1; if ( time->month < 1 ) { // ! Keep the months in range for indexing daysInMonth! time->year -= 1; time->month += 12; } time->day += DaysInMonth ( time->year, time->month ); // ! Decrement month before so index here is right! } while ( time->day > DaysInMonth ( time->year, time->month ) ) { time->day -= DaysInMonth ( time->year, time->month ); // ! Increment month after so index here is right! time->month += 1; if ( time->month > 12 ) { time->year += 1; time->month -= 12; } } } while ( time->hour < 0 ) { time->day -= 1; time->hour += 24; } while ( time->hour >= 24 ) { time->day += 1; time->hour -= 24; } while ( time->minute < 0 ) { time->hour -= 1; time->minute += 60; } while ( time->minute >= 60 ) { time->hour += 1; time->minute -= 60; } while ( time->second < 0 ) { time->minute -= 1; time->second += 60; } while ( time->second >= 60 ) { time->minute += 1; time->second -= 60; } while ( time->nanoSecond < 0 ) { time->second -= 1; time->nanoSecond += kBillion; } while ( time->nanoSecond >= kBillion ) { time->second += 1; time->nanoSecond -= kBillion; } while ( time->second < 0 ) { time->minute -= 1; time->second += 60; } while ( time->second >= 60 ) { time->minute += 1; time->second -= 60; } while ( time->minute < 0 ) { time->hour -= 1; time->minute += 60; } while ( time->minute >= 60 ) { time->hour += 1; time->minute -= 60; } while ( time->hour < 0 ) { time->day -= 1; time->hour += 24; } while ( time->hour >= 24 ) { time->day += 1; time->hour -= 24; } if ( (time->year != 0) || (time->month != 0) || (time->day != 0) ) { while ( time->month < 1 ) { // Make sure the months are OK first, for DaysInMonth. time->year -= 1; time->month += 12; } while ( time->month > 12 ) { time->year += 1; time->month -= 12; } while ( time->day < 1 ) { time->month -= 1; if ( time->month < 1 ) { time->year -= 1; time->month += 12; } time->day += DaysInMonth ( time->year, time->month ); } while ( time->day > DaysInMonth ( time->year, time->month ) ) { time->day -= DaysInMonth ( time->year, time->month ); time->month += 1; if ( time->month > 12 ) { time->year += 1; time->month -= 12; } } } } // AdjustTimeOverflow // ------------------------------------------------------------------------------------------------- // GatherInt // --------- static XMP_Int32 GatherInt ( XMP_StringPtr strValue, size_t * _pos, const char * errMsg ) { size_t pos = *_pos; XMP_Int32 value = 0; for ( char ch = strValue[pos]; ('0' <= ch) && (ch <= '9'); ++pos, ch = strValue[pos] ) { value = (value * 10) + (ch - '0'); } if ( pos == *_pos ) XMP_Throw ( errMsg, kXMPErr_BadParam ); *_pos = pos; return value; } // GatherInt // ------------------------------------------------------------------------------------------------- static void FormatFullDateTime ( XMP_DateTime & tempDate, char * buffer, size_t bufferLen ) { AdjustTimeOverflow ( &tempDate ); // Make sure all time parts are in range. if ( (tempDate.second == 0) && (tempDate.nanoSecond == 0) ) { // Output YYYY-MM-DDThh:mmTZD. snprintf ( buffer, bufferLen, "%.4d-%02d-%02dT%02d:%02d", // AUDIT: Callers pass sizeof(buffer). static_cast(tempDate.year), static_cast(tempDate.month), static_cast(tempDate.day), static_cast(tempDate.hour), static_cast(tempDate.minute) ); } else if ( tempDate.nanoSecond == 0 ) { // Output YYYY-MM-DDThh:mm:ssTZD. snprintf ( buffer, bufferLen, "%.4d-%02d-%02dT%02d:%02d:%02d", // AUDIT: Callers pass sizeof(buffer). static_cast(tempDate.year), static_cast(tempDate.month), static_cast(tempDate.day), static_cast(tempDate.hour), static_cast(tempDate.minute), static_cast(tempDate.second) ); } else { // Output YYYY-MM-DDThh:mm:ss.sTZD. snprintf ( buffer, bufferLen, "%.4d-%02d-%02dT%02d:%02d:%02d.%09d", // AUDIT: Callers pass sizeof(buffer). static_cast(tempDate.year), static_cast(tempDate.month), static_cast(tempDate.day), static_cast(tempDate.hour), static_cast(tempDate.minute), static_cast(tempDate.second), static_cast(tempDate.nanoSecond) ); for ( size_t i = strlen(buffer)-1; buffer[i] == '0'; --i ) buffer[i] = 0; // Trim excess digits. } } // FormatFullDateTime // ------------------------------------------------------------------------------------------------- // DecodeBase64Char // ---------------- // The decode mapping: // // encoded encoded raw // char value value // ------- ------- ----- // A .. Z 0x41 .. 0x5A 0 .. 25 // a .. z 0x61 .. 0x7A 26 .. 51 // 0 .. 9 0x30 .. 0x39 52 .. 61 // + 0x2B 62 // / 0x2F 63 static unsigned char DecodeBase64Char ( XMP_Uns8 ch ) { if ( ('A' <= ch) && (ch <= 'Z') ) { ch = ch - 'A'; } else if ( ('a' <= ch) && (ch <= 'z') ) { ch = ch - 'a' + 26; } else if ( ('0' <= ch) && (ch <= '9') ) { ch = ch - '0' + 52; } else if ( ch == '+' ) { ch = 62; } else if ( ch == '/' ) { ch = 63; } else if ( (ch == ' ') || (ch == kTab) || (ch == kLF) || (ch == kCR) ) { ch = 0xFF; // Will be ignored by the caller. } else { XMP_Throw ( "Invalid base-64 encoded character", kXMPErr_BadParam ); } return ch; } // DecodeBase64Char (); // ------------------------------------------------------------------------------------------------- // EstimateSizeForJPEG // ------------------- // // Estimate the serialized size for the subtree of an XMP_Node. Support for PackageForJPEG. static size_t EstimateSizeForJPEG ( const XMP_Node * xmpNode ) { size_t estSize = 0; size_t nameSize = xmpNode->name.size(); bool includeName = (! XMP_PropIsArray ( xmpNode->parent->options )); if ( XMP_PropIsSimple ( xmpNode->options ) ) { if ( includeName ) estSize += (nameSize + 3); // Assume attribute form. estSize += xmpNode->value.size(); } else if ( XMP_PropIsArray ( xmpNode->options ) ) { // The form of the value portion is: ...... if ( includeName ) estSize += (2*nameSize + 5); size_t arraySize = xmpNode->children.size(); estSize += 9 + 10; // The rdf:Xyz tags. estSize += arraySize * (8 + 9); // The rdf:li tags. for ( size_t i = 0; i < arraySize; ++i ) { estSize += EstimateSizeForJPEG ( xmpNode->children[i] ); } } else { // The form is: ...fields... if ( includeName ) estSize += (2*nameSize + 5); estSize += 25; // The rdf:parseType="Resource" attribute. size_t fieldCount = xmpNode->children.size(); for ( size_t i = 0; i < fieldCount; ++i ) { estSize += EstimateSizeForJPEG ( xmpNode->children[i] ); } } return estSize; } // EstimateSizeForJPEG // ------------------------------------------------------------------------------------------------- // MoveOneProperty // --------------- static bool MoveOneProperty ( XMPMeta & stdXMP, XMPMeta * extXMP, XMP_StringPtr schemaURI, XMP_StringPtr propName ) { XMP_Node * propNode = 0; XMP_NodePtrPos stdPropPos; XMP_Node * stdSchema = FindSchemaNode ( &stdXMP.tree, schemaURI, kXMP_ExistingOnly, 0 ); if ( stdSchema != 0 ) { propNode = FindChildNode ( stdSchema, propName, kXMP_ExistingOnly, &stdPropPos ); } if ( propNode == 0 ) return false; XMP_Node * extSchema = FindSchemaNode ( &extXMP->tree, schemaURI, kXMP_CreateNodes ); propNode->parent = extSchema; extSchema->options &= ~kXMP_NewImplicitNode; extSchema->children.push_back ( propNode ); stdSchema->children.erase ( stdPropPos ); DeleteEmptySchema ( stdSchema ); return true; } // MoveOneProperty // ------------------------------------------------------------------------------------------------- // CreateEstimatedSizeMap // ---------------------- #ifndef Trace_PackageForJPEG #define Trace_PackageForJPEG 0 #endif typedef std::pair < XMP_VarString*, XMP_VarString* > StringPtrPair; typedef std::multimap < size_t, StringPtrPair > PropSizeMap; static void CreateEstimatedSizeMap ( XMPMeta & stdXMP, PropSizeMap * propSizes ) { #if Trace_PackageForJPEG printf ( " Creating top level property map:\n" ); #endif for ( size_t s = stdXMP.tree.children.size(); s > 0; --s ) { XMP_Node * stdSchema = stdXMP.tree.children[s-1]; for ( size_t p = stdSchema->children.size(); p > 0; --p ) { XMP_Node * stdProp = stdSchema->children[p-1]; if ( (stdSchema->name == kXMP_NS_XMP_Note) && (stdProp->name == "xmpNote:HasExtendedXMP") ) continue; // ! Don't move xmpNote:HasExtendedXMP. size_t propSize = EstimateSizeForJPEG ( stdProp ); StringPtrPair namePair ( &stdSchema->name, &stdProp->name ); PropSizeMap::value_type mapValue ( propSize, namePair ); (void) propSizes->insert ( propSizes->upper_bound ( propSize ), mapValue ); #if Trace_PackageForJPEG printf ( " %d bytes, %s in %s\n", propSize, stdProp->name.c_str(), stdSchema->name.c_str() ); #endif } } } // CreateEstimatedSizeMap // ------------------------------------------------------------------------------------------------- // MoveLargestProperty // ------------------- static size_t MoveLargestProperty ( XMPMeta & stdXMP, XMPMeta * extXMP, PropSizeMap & propSizes ) { XMP_Assert ( ! propSizes.empty() ); #if 0 // *** Xcode 2.3 on Mac OS X 10.4.7 seems to have a bug where this does not pick the last // *** item in the map. We'll just avoid it on all platforms until thoroughly tested. PropSizeMap::iterator lastPos = propSizes.end(); --lastPos; // Move to the actual last item. #else PropSizeMap::iterator lastPos = propSizes.begin(); PropSizeMap::iterator nextPos = lastPos; for ( ++nextPos; nextPos != propSizes.end(); ++nextPos ) lastPos = nextPos; #endif size_t propSize = lastPos->first; const char * schemaURI = lastPos->second.first->c_str(); const char * propName = lastPos->second.second->c_str(); #if Trace_PackageForJPEG printf ( " Move %s, %d bytes\n", propName, propSize ); #endif bool moved = MoveOneProperty ( stdXMP, extXMP, schemaURI, propName ); XMP_Assert ( moved ); UNUSED(moved); propSizes.erase ( lastPos ); return propSize; } // MoveLargestProperty // ================================================================================================= // Class Static Functions // ====================== // ------------------------------------------------------------------------------------------------- // Initialize // ---------- /* class static */ bool XMPUtils::Initialize() { sComposedPath = new XMP_VarString(); sConvertedValue = new XMP_VarString(); sBase64Str = new XMP_VarString(); sCatenatedItems = new XMP_VarString(); sStandardXMP = new XMP_VarString(); sExtendedXMP = new XMP_VarString(); sExtendedDigest = new XMP_VarString(); #if XMP_MacBuild && __MWERKS__ LookupTimeProcs(); #endif return true; } // Initialize // ------------------------------------------------------------------------------------------------- // Terminate // --------- #define EliminateGlobal(g) delete ( g ); g = 0 /* class static */ void XMPUtils::Terminate() RELEASE_NO_THROW { EliminateGlobal ( sComposedPath ); EliminateGlobal ( sConvertedValue ); EliminateGlobal ( sBase64Str ); EliminateGlobal ( sCatenatedItems ); EliminateGlobal ( sStandardXMP ); EliminateGlobal ( sExtendedXMP ); EliminateGlobal ( sExtendedDigest ); return; } // Terminate // ------------------------------------------------------------------------------------------------- // Unlock // ------ /* class static */ void XMPUtils::Unlock ( XMP_OptionBits options ) { UNUSED(options); XMPMeta::Unlock ( 0 ); } // Unlock // ------------------------------------------------------------------------------------------------- // ComposeArrayItemPath // -------------------- // // Return "arrayName[index]". /* class static */ void XMPUtils::ComposeArrayItemPath ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr * fullPath, XMP_StringLen * pathSize ) { XMP_Assert ( schemaNS != 0 ); // Enforced by wrapper. XMP_Assert ( *arrayName != 0 ); // Enforced by wrapper. XMP_Assert ( (fullPath != 0) && (pathSize != 0) ); // Enforced by wrapper. XMP_ExpandedXPath expPath; // Just for side effects to check namespace and basic path. ExpandXPath ( schemaNS, arrayName, &expPath ); if ( (itemIndex < 0) && (itemIndex != kXMP_ArrayLastItem) ) XMP_Throw ( "Array index out of bounds", kXMPErr_BadParam ); XMP_StringLen reserveLen = strlen(arrayName) + 2 + 32; // Room plus padding. sComposedPath->erase(); sComposedPath->reserve ( reserveLen ); sComposedPath->append ( reserveLen, ' ' ); if ( itemIndex != kXMP_ArrayLastItem ) { // AUDIT: Using string->size() for the snprintf length is safe. snprintf ( const_cast(sComposedPath->c_str()), sComposedPath->size(), "%s[%d]", arrayName, static_cast(itemIndex) ); } else { *sComposedPath = arrayName; *sComposedPath += "[last()] "; (*sComposedPath)[sComposedPath->size()-1] = 0; // ! Final null is for the strlen at exit. } *fullPath = sComposedPath->c_str(); *pathSize = strlen ( *fullPath ); // ! Don't use sComposedPath->size()! XMP_Enforce ( *pathSize < sComposedPath->size() ); // Rather late, but complain about buffer overflow. } // ComposeArrayItemPath // ------------------------------------------------------------------------------------------------- // ComposeStructFieldPath // ---------------------- // // Return "structName/ns:fieldName". /* class static */ void XMPUtils::ComposeStructFieldPath ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr * fullPath, XMP_StringLen * pathSize ) { XMP_Assert ( (schemaNS != 0) && (fieldNS != 0) ); // Enforced by wrapper. XMP_Assert ( (*structName != 0) && (*fieldName != 0) ); // Enforced by wrapper. XMP_Assert ( (fullPath != 0) && (pathSize != 0) ); // Enforced by wrapper. XMP_ExpandedXPath expPath; // Just for side effects to check namespace and basic path. ExpandXPath ( schemaNS, structName, &expPath ); XMP_ExpandedXPath fieldPath; ExpandXPath ( fieldNS, fieldName, &fieldPath ); if ( fieldPath.size() != 2 ) XMP_Throw ( "The fieldName must be simple", kXMPErr_BadXPath ); XMP_StringLen reserveLen = strlen(structName) + fieldPath[kRootPropStep].step.size() + 1; sComposedPath->erase(); sComposedPath->reserve ( reserveLen ); *sComposedPath = structName; *sComposedPath += '/'; *sComposedPath += fieldPath[kRootPropStep].step; *fullPath = sComposedPath->c_str(); *pathSize = sComposedPath->size(); } // ComposeStructFieldPath // ------------------------------------------------------------------------------------------------- // ComposeQualifierPath // -------------------- // // Return "propName/?ns:qualName". /* class static */ void XMPUtils::ComposeQualifierPath ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr * fullPath, XMP_StringLen * pathSize ) { XMP_Assert ( (schemaNS != 0) && (qualNS != 0) ); // Enforced by wrapper. XMP_Assert ( (*propName != 0) && (*qualName != 0) ); // Enforced by wrapper. XMP_Assert ( (fullPath != 0) && (pathSize != 0) ); // Enforced by wrapper. XMP_ExpandedXPath expPath; // Just for side effects to check namespace and basic path. ExpandXPath ( schemaNS, propName, &expPath ); XMP_ExpandedXPath qualPath; ExpandXPath ( qualNS, qualName, &qualPath ); if ( qualPath.size() != 2 ) XMP_Throw ( "The qualifier name must be simple", kXMPErr_BadXPath ); XMP_StringLen reserveLen = strlen(propName) + qualPath[kRootPropStep].step.size() + 2; sComposedPath->erase(); sComposedPath->reserve ( reserveLen ); *sComposedPath = propName; *sComposedPath += "/?"; *sComposedPath += qualPath[kRootPropStep].step; *fullPath = sComposedPath->c_str(); *pathSize = sComposedPath->size(); } // ComposeQualifierPath // ------------------------------------------------------------------------------------------------- // ComposeLangSelector // ------------------- // // Return "arrayName[?xml:lang="lang"]". // *** #error "handle quotes in the lang - or verify format" /* class static */ void XMPUtils::ComposeLangSelector ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr _langName, XMP_StringPtr * fullPath, XMP_StringLen * pathSize ) { XMP_Assert ( schemaNS != 0 ); // Enforced by wrapper. XMP_Assert ( (*arrayName != 0) && (*_langName != 0) ); // Enforced by wrapper. XMP_Assert ( (fullPath != 0) && (pathSize != 0) ); // Enforced by wrapper. XMP_ExpandedXPath expPath; // Just for side effects to check namespace and basic path. ExpandXPath ( schemaNS, arrayName, &expPath ); XMP_VarString langName ( _langName ); NormalizeLangValue ( &langName ); XMP_StringLen reserveLen = strlen(arrayName) + langName.size() + 14; sComposedPath->erase(); sComposedPath->reserve ( reserveLen ); *sComposedPath = arrayName; *sComposedPath += "[?xml:lang=\""; *sComposedPath += langName; *sComposedPath += "\"]"; *fullPath = sComposedPath->c_str(); *pathSize = sComposedPath->size(); } // ComposeLangSelector // ------------------------------------------------------------------------------------------------- // ComposeFieldSelector // -------------------- // // Return "arrayName[ns:fieldName="fieldValue"]". // *** #error "handle quotes in the value" /* class static */ void XMPUtils::ComposeFieldSelector ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, XMP_StringPtr * fullPath, XMP_StringLen * pathSize ) { XMP_Assert ( (schemaNS != 0) && (fieldNS != 0) && (fieldValue != 0) ); // Enforced by wrapper. XMP_Assert ( (*arrayName != 0) && (*fieldName != 0) ); // Enforced by wrapper. XMP_Assert ( (fullPath != 0) && (pathSize != 0) ); // Enforced by wrapper. XMP_ExpandedXPath expPath; // Just for side effects to check namespace and basic path. ExpandXPath ( schemaNS, arrayName, &expPath ); XMP_ExpandedXPath fieldPath; ExpandXPath ( fieldNS, fieldName, &fieldPath ); if ( fieldPath.size() != 2 ) XMP_Throw ( "The fieldName must be simple", kXMPErr_BadXPath ); XMP_StringLen reserveLen = strlen(arrayName) + fieldPath[kRootPropStep].step.size() + strlen(fieldValue) + 5; sComposedPath->erase(); sComposedPath->reserve ( reserveLen ); *sComposedPath = arrayName; *sComposedPath += '['; *sComposedPath += fieldPath[kRootPropStep].step; *sComposedPath += "=\""; *sComposedPath += fieldValue; *sComposedPath += "\"]"; *fullPath = sComposedPath->c_str(); *pathSize = sComposedPath->size(); } // ComposeFieldSelector // ------------------------------------------------------------------------------------------------- // ConvertFromBool // --------------- /* class static */ void XMPUtils::ConvertFromBool ( bool binValue, XMP_StringPtr * strValue, XMP_StringLen * strSize ) { XMP_Assert ( (strValue != 0) && (strSize != 0) ); // Enforced by wrapper. if ( binValue ) { *strValue = kXMP_TrueStr; *strSize = strlen ( kXMP_TrueStr ); } else { *strValue = kXMP_FalseStr; *strSize = strlen ( kXMP_FalseStr ); } } // ConvertFromBool // ------------------------------------------------------------------------------------------------- // ConvertFromInt // -------------- /* class static */ void XMPUtils::ConvertFromInt ( XMP_Int32 binValue, XMP_StringPtr format, XMP_StringPtr * strValue, XMP_StringLen * strSize ) { XMP_Assert ( (format != 0) && (strValue != 0) && (strSize != 0) ); // Enforced by wrapper. if ( *format == 0 ) format = "%d"; sConvertedValue->erase(); sConvertedValue->reserve ( 100 ); // More than enough for any reasonable format and value. sConvertedValue->append ( 100, ' ' ); // AUDIT: Using string->size() for the snprintf length is safe. snprintf ( const_cast(sConvertedValue->c_str()), sConvertedValue->size(), format, binValue ); *strValue = sConvertedValue->c_str(); *strSize = strlen ( *strValue ); // ! Don't use sConvertedValue->size()! XMP_Enforce ( *strSize < sConvertedValue->size() ); // Rather late, but complain about buffer overflow. } // ConvertFromInt // ------------------------------------------------------------------------------------------------- // ConvertFromInt64 // ---------------- /* class static */ void XMPUtils::ConvertFromInt64 ( XMP_Int64 binValue, XMP_StringPtr format, XMP_StringPtr * strValue, XMP_StringLen * strSize ) { XMP_Assert ( (format != 0) && (strValue != 0) && (strSize != 0) ); // Enforced by wrapper. if ( *format == 0 ) format = "%lld"; sConvertedValue->erase(); sConvertedValue->reserve ( 100 ); // More than enough for any reasonable format and value. sConvertedValue->append ( 100, ' ' ); // AUDIT: Using string->size() for the snprintf length is safe. snprintf ( const_cast(sConvertedValue->c_str()), sConvertedValue->size(), format, binValue ); *strValue = sConvertedValue->c_str(); *strSize = strlen ( *strValue ); // ! Don't use sConvertedValue->size()! XMP_Enforce ( *strSize < sConvertedValue->size() ); // Rather late, but complain about buffer overflow. } // ConvertFromInt64 // ------------------------------------------------------------------------------------------------- // ConvertFromFloat // ---------------- /* class static */ void XMPUtils::ConvertFromFloat ( double binValue, XMP_StringPtr format, XMP_StringPtr * strValue, XMP_StringLen * strSize ) { XMP_Assert ( (format != 0) && (strValue != 0) && (strSize != 0) ); // Enforced by wrapper. if ( *format == 0 ) format = "%f"; sConvertedValue->erase(); sConvertedValue->reserve ( 1000 ); // More than enough for any reasonable format and value. sConvertedValue->append ( 1000, ' ' ); // AUDIT: Using string->size() for the snprintf length is safe. snprintf ( const_cast(sConvertedValue->c_str()), sConvertedValue->size(), format, binValue ); *strValue = sConvertedValue->c_str(); *strSize = strlen ( *strValue ); // ! Don't use sConvertedValue->size()! XMP_Enforce ( *strSize < sConvertedValue->size() ); // Rather late, but complain about buffer overflow. } // ConvertFromFloat // ------------------------------------------------------------------------------------------------- // ConvertFromDate // --------------- // // Format a date according to ISO 8601 and http://www.w3.org/TR/NOTE-datetime: // YYYY // YYYY-MM // YYYY-MM-DD // YYYY-MM-DDThh:mmTZD // YYYY-MM-DDThh:mm:ssTZD // YYYY-MM-DDThh:mm:ss.sTZD // // YYYY = four-digit year // MM = two-digit month (01=January, etc.) // DD = two-digit day of month (01 through 31) // hh = two digits of hour (00 through 23) // mm = two digits of minute (00 through 59) // ss = two digits of second (00 through 59) // s = one or more digits representing a decimal fraction of a second // TZD = time zone designator (Z or +hh:mm or -hh:mm) // // Note that ISO 8601 does not seem to allow years less than 1000 or greater than 9999. We allow // any year, even negative ones. The year is formatted as "%.4d". // *** Need to check backward compatibility for partial forms! /* class static */ void XMPUtils::ConvertFromDate ( const XMP_DateTime & binValue, XMP_StringPtr * strValue, XMP_StringLen * strSize ) { XMP_Assert ( (strValue != 0) && (strSize != 0) ); // Enforced by wrapper. bool addTimeZone = false; char buffer [100]; // Plenty long enough. // Pick the format, use snprintf to format into a local buffer, assign to static output string. // Don't use AdjustTimeOverflow at the start, that will wipe out zero month or day values. // ! Photoshop 8 creates "time only" values with zeros for year, month, and day. XMP_DateTime tempDate = binValue; // Temporary fix for bug 1269463, silently fix out of range month or day. bool haveDay = (tempDate.day != 0); bool haveTime = ( (tempDate.hour != 0) || (tempDate.minute != 0) || (tempDate.second != 0) || (tempDate.nanoSecond != 0) || (tempDate.tzSign != 0) || (tempDate.tzHour != 0) || (tempDate.tzMinute != 0) ); if ( tempDate.month == 0 ) { if ( haveDay || haveTime ) tempDate.month = 1; } else { if ( tempDate.month < 1 ) tempDate.month = 1; if ( tempDate.month > 12 ) tempDate.month = 12; } if ( tempDate.day == 0 ) { if ( haveTime ) tempDate.day = 1; } else { if ( tempDate.day < 1 ) tempDate.day = 1; if ( tempDate.day > 31 ) tempDate.day = 31; } // Now carry on with the original logic. if ( tempDate.month == 0 ) { // Output YYYY if all else is zero, otherwise output a full string for the quasi-bogus // "time only" values from Photoshop CS. if ( (tempDate.day == 0) && (tempDate.hour == 0) && (tempDate.minute == 0) && (tempDate.second == 0) && (tempDate.nanoSecond == 0) && (tempDate.tzSign == 0) && (tempDate.tzHour == 0) && (tempDate.tzMinute == 0) ) { snprintf ( buffer, sizeof(buffer), "%.4d", static_cast(tempDate.year) ); // AUDIT: Using sizeof for snprintf length is safe. } else if ( (tempDate.year == 0) && (tempDate.day == 0) ) { FormatFullDateTime ( tempDate, buffer, sizeof(buffer) ); addTimeZone = true; } else { XMP_Throw ( "Invalid partial date", kXMPErr_BadParam); } } else if ( tempDate.day == 0 ) { // Output YYYY-MM. if ( (tempDate.month < 1) || (tempDate.month > 12) ) XMP_Throw ( "Month is out of range", kXMPErr_BadParam); if ( (tempDate.hour != 0) || (tempDate.minute != 0) || (tempDate.second != 0) || (tempDate.nanoSecond != 0) || (tempDate.tzSign != 0) || (tempDate.tzHour != 0) || (tempDate.tzMinute != 0) ) { XMP_Throw ( "Invalid partial date, non-zeros after zero month and day", kXMPErr_BadParam); } snprintf ( buffer, sizeof(buffer), "%.4d-%02d", static_cast(tempDate.year), static_cast(tempDate.month) ); // AUDIT: Using sizeof for snprintf length is safe. } else if ( (tempDate.hour == 0) && (tempDate.minute == 0) && (tempDate.second == 0) && (tempDate.nanoSecond == 0) && (tempDate.tzSign == 0) && (tempDate.tzHour == 0) && (tempDate.tzMinute == 0) ) { // Output YYYY-MM-DD. if ( (tempDate.month < 1) || (tempDate.month > 12) ) XMP_Throw ( "Month is out of range", kXMPErr_BadParam); if ( (tempDate.day < 1) || (tempDate.day > 31) ) XMP_Throw ( "Day is out of range", kXMPErr_BadParam); snprintf ( buffer, sizeof(buffer), "%.4d-%02d-%02d", static_cast(tempDate.year), static_cast(tempDate.month), static_cast(tempDate.day) ); // AUDIT: Using sizeof for snprintf length is safe. } else { FormatFullDateTime ( tempDate, buffer, sizeof(buffer) ); addTimeZone = true; } sConvertedValue->assign ( buffer ); if ( addTimeZone ) { if ( (tempDate.tzHour < 0) || (tempDate.tzHour > 23) || (tempDate.tzMinute < 0 ) || (tempDate.tzMinute > 59) || (tempDate.tzSign < -1) || (tempDate.tzSign > +1) || ((tempDate.tzSign != 0) && (tempDate.tzHour == 0) && (tempDate.tzMinute == 0)) || ((tempDate.tzSign == 0) && ((tempDate.tzHour != 0) || (tempDate.tzMinute != 0))) ) { XMP_Throw ( "Invalid time zone values", kXMPErr_BadParam ); } if ( tempDate.tzSign == 0 ) { *sConvertedValue += 'Z'; } else { snprintf ( buffer, sizeof(buffer), "+%02d:%02d", static_cast(tempDate.tzHour), static_cast(tempDate.tzMinute) ); // AUDIT: Using sizeof for snprintf length is safe. if ( tempDate.tzSign < 0 ) buffer[0] = '-'; *sConvertedValue += buffer; } } *strValue = sConvertedValue->c_str(); *strSize = sConvertedValue->size(); } // ConvertFromDate // ------------------------------------------------------------------------------------------------- // ConvertToBool // ------------- // // Formally the string value should be "True" or "False", but we should be more flexible here. Map // the string to lower case. Allow any of "true", "false", "t", "f", "1", or "0". /* class static */ bool XMPUtils::ConvertToBool ( XMP_StringPtr strValue ) { if ( (strValue == 0) || (*strValue == 0) ) XMP_Throw ( "Empty convert-from string", kXMPErr_BadValue ); bool result = false; XMP_VarString strObj ( strValue ); for ( XMP_VarStringPos ch = strObj.begin(); ch != strObj.end(); ++ch ) { if ( ('A' <= *ch) && (*ch <= 'Z') ) *ch += 0x20; } if ( (strObj == "true") || (strObj == "t") || (strObj == "1") ) { result = true; } else if ( (strObj == "false") || (strObj == "f") || (strObj == "0") ) { result = false; } else { XMP_Throw ( "Invalid Boolean string", kXMPErr_BadParam ); } return result; } // ConvertToBool // ------------------------------------------------------------------------------------------------- // ConvertToInt // ------------ /* class static */ XMP_Int32 XMPUtils::ConvertToInt ( XMP_StringPtr strValue ) { if ( (strValue == 0) || (*strValue == 0) ) XMP_Throw ( "Empty convert-from string", kXMPErr_BadValue ); int count; char nextCh; XMP_Int32 result; if ( ! XMP_LitNMatch ( strValue, "0x", 2 ) ) { count = sscanf ( strValue, "%d%c", (int*)&result, &nextCh ); } else { count = sscanf ( strValue, "%x%c", (unsigned int*)&result, &nextCh ); } if ( count != 1 ) XMP_Throw ( "Invalid integer string", kXMPErr_BadParam ); return result; } // ConvertToInt // ------------------------------------------------------------------------------------------------- // ConvertToInt64 // -------------- /* class static */ XMP_Int64 XMPUtils::ConvertToInt64 ( XMP_StringPtr strValue ) { #if defined(__MINGW32__)// || defined(__MINGW64__) return ConvertToInt(strValue); #else if ( (strValue == 0) || (*strValue == 0) ) XMP_Throw ( "Empty convert-from string", kXMPErr_BadValue ); int count; char nextCh; XMP_Int64 result; if ( ! XMP_LitNMatch ( strValue, "0x", 2 ) ) { count = sscanf ( strValue, "%lld%c", &result, &nextCh ); } else { count = sscanf ( strValue, "%llx%c", &result, &nextCh ); } if ( count != 1 ) XMP_Throw ( "Invalid integer string", kXMPErr_BadParam ); return result; #endif } // ConvertToInt64 // ------------------------------------------------------------------------------------------------- // ConvertToFloat // -------------- /* class static */ double XMPUtils::ConvertToFloat ( XMP_StringPtr strValue ) { if ( (strValue == 0) || (*strValue == 0) ) XMP_Throw ( "Empty convert-from string", kXMPErr_BadValue ); XMP_VarString oldLocale; // Try to make sure number conversion uses '.' as the decimal point. XMP_StringPtr oldLocalePtr = setlocale ( LC_ALL, 0 ); if ( oldLocalePtr != 0 ) { oldLocale.assign ( oldLocalePtr ); setlocale ( LC_ALL, "C" ); } errno = 0; char * numEnd; double result = strtod ( strValue, &numEnd ); if ( oldLocalePtr != 0 ) setlocale ( LC_ALL, oldLocalePtr ); // ! Reset locale before possible throw! if ( (errno != 0) || (*numEnd != 0) ) XMP_Throw ( "Invalid float string", kXMPErr_BadParam ); return result; } // ConvertToFloat // ------------------------------------------------------------------------------------------------- // ConvertToDate // ------------- // // Parse a date according to ISO 8601 and http://www.w3.org/TR/NOTE-datetime: // YYYY // YYYY-MM // YYYY-MM-DD // YYYY-MM-DDThh:mmTZD // YYYY-MM-DDThh:mm:ssTZD // YYYY-MM-DDThh:mm:ss.sTZD // // YYYY = four-digit year // MM = two-digit month (01=January, etc.) // DD = two-digit day of month (01 through 31) // hh = two digits of hour (00 through 23) // mm = two digits of minute (00 through 59) // ss = two digits of second (00 through 59) // s = one or more digits representing a decimal fraction of a second // TZD = time zone designator (Z or +hh:mm or -hh:mm) // // Note that ISO 8601 does not seem to allow years less than 1000 or greater than 9999. We allow // any year, even negative ones. The year is formatted as "%.4d". // ! Tolerate missing TZD, assume the time is in local time // ! Tolerate missing date portion, in case someone foolishly writes a time-only value that way. // *** Put the ISO format comments in the header documentation. /* class static */ void XMPUtils::ConvertToDate ( XMP_StringPtr strValue, XMP_DateTime * binValue ) { if ( (strValue == 0) || (*strValue == 0) ) XMP_Throw ( "Empty convert-from string", kXMPErr_BadValue); size_t pos = 0; XMP_Int32 temp; XMP_Assert ( sizeof(*binValue) == sizeof(XMP_DateTime) ); (void) memset ( binValue, 0, sizeof(*binValue) ); // AUDIT: Safe, using sizeof destination. bool timeOnly = ( (strValue[0] == 'T') || ((strlen(strValue) >= 2) && (strValue[1] == ':')) || ((strlen(strValue) >= 3) && (strValue[2] == ':')) ); if ( ! timeOnly ) { if ( strValue[0] == '-' ) pos = 1; temp = GatherInt ( strValue, &pos, "Invalid year in date string" ); // Extract the year. if ( (strValue[pos] != 0) && (strValue[pos] != '-') ) XMP_Throw ( "Invalid date string, after year", kXMPErr_BadParam ); if ( strValue[0] == '-' ) temp = -temp; binValue->year = temp; if ( strValue[pos] == 0 ) return; ++pos; temp = GatherInt ( strValue, &pos, "Invalid month in date string" ); // Extract the month. if ( (strValue[pos] != 0) && (strValue[pos] != '-') ) XMP_Throw ( "Invalid date string, after month", kXMPErr_BadParam ); binValue->month = temp; if ( strValue[pos] == 0 ) return; ++pos; temp = GatherInt ( strValue, &pos, "Invalid day in date string" ); // Extract the day. if ( (strValue[pos] != 0) && (strValue[pos] != 'T') ) XMP_Throw ( "Invalid date string, after day", kXMPErr_BadParam ); binValue->day = temp; if ( strValue[pos] == 0 ) return; // Allow year, month, and day to all be zero; implies the date portion is missing. if ( (binValue->year != 0) || (binValue->month != 0) || (binValue->day != 0) ) { // Temporary fix for bug 1269463, silently fix out of range month or day. // if ( (binValue->month < 1) || (binValue->month > 12) ) XMP_Throw ( "Month is out of range", kXMPErr_BadParam ); // if ( (binValue->day < 1) || (binValue->day > 31) ) XMP_Throw ( "Day is out of range", kXMPErr_BadParam ); if ( binValue->month < 1 ) binValue->month = 1; if ( binValue->month > 12 ) binValue->month = 12; if ( binValue->day < 1 ) binValue->day = 1; if ( binValue->day > 31 ) binValue->day = 31; } } if ( strValue[pos] == 'T' ) { ++pos; } else if ( ! timeOnly ) { XMP_Throw ( "Invalid date string, missing 'T' after date", kXMPErr_BadParam ); } temp = GatherInt ( strValue, &pos, "Invalid hour in date string" ); // Extract the hour. if ( strValue[pos] != ':' ) XMP_Throw ( "Invalid date string, after hour", kXMPErr_BadParam ); if ( temp > 23 ) temp = 23; // *** 1269463: XMP_Throw ( "Hour is out of range", kXMPErr_BadParam ); binValue->hour = temp; // Don't check for done, we have to work up to the time zone. ++pos; temp = GatherInt ( strValue, &pos, "Invalid minute in date string" ); // And the minute. if ( (strValue[pos] != ':') && (strValue[pos] != 'Z') && (strValue[pos] != '+') && (strValue[pos] != '-') && (strValue[pos] != 0) ) XMP_Throw ( "Invalid date string, after minute", kXMPErr_BadParam ); if ( temp > 59 ) temp = 59; // *** 1269463: XMP_Throw ( "Minute is out of range", kXMPErr_BadParam ); binValue->minute = temp; // Don't check for done, we have to work up to the time zone. if ( strValue[pos] == ':' ) { ++pos; temp = GatherInt ( strValue, &pos, "Invalid whole seconds in date string" ); // Extract the whole seconds. if ( (strValue[pos] != '.') && (strValue[pos] != 'Z') && (strValue[pos] != '+') && (strValue[pos] != '-') && (strValue[pos] != 0) ) { XMP_Throw ( "Invalid date string, after whole seconds", kXMPErr_BadParam ); } if ( temp > 59 ) temp = 59; // *** 1269463: XMP_Throw ( "Whole second is out of range", kXMPErr_BadParam ); binValue->second = temp; // Don't check for done, we have to work up to the time zone. if ( strValue[pos] == '.' ) { ++pos; size_t digits = pos; // Will be the number of digits later. temp = GatherInt ( strValue, &pos, "Invalid fractional seconds in date string" ); // Extract the fractional seconds. if ( (strValue[pos] != 'Z') && (strValue[pos] != '+') && (strValue[pos] != '-') && (strValue[pos] != 0) ) { XMP_Throw ( "Invalid date string, after fractional second", kXMPErr_BadParam ); } digits = pos - digits; for ( ; digits > 9; --digits ) temp = temp / 10; for ( ; digits < 9; ++digits ) temp = temp * 10; if ( temp >= 1000*1000*1000 ) XMP_Throw ( "Fractional second is out of range", kXMPErr_BadParam ); binValue->nanoSecond = temp; // Don't check for done, we have to work up to the time zone. } } if ( strValue[pos] == 'Z' ) { ++pos; } else if ( strValue[pos] != 0 ) { if ( strValue[pos] == '+' ) { binValue->tzSign = kXMP_TimeEastOfUTC; } else if ( strValue[pos] == '-' ) { binValue->tzSign = kXMP_TimeWestOfUTC; } else { XMP_Throw ( "Time zone must begin with 'Z', '+', or '-'", kXMPErr_BadParam ); } ++pos; temp = GatherInt ( strValue, &pos, "Invalid time zone hour in date string" ); // Extract the time zone hour. if ( strValue[pos] != ':' ) XMP_Throw ( "Invalid date string, after time zone hour", kXMPErr_BadParam ); if ( temp > 23 ) XMP_Throw ( "Time zone hour is out of range", kXMPErr_BadParam ); binValue->tzHour = temp; ++pos; temp = GatherInt ( strValue, &pos, "Invalid time zone minute in date string" ); // Extract the time zone minute. if ( temp > 59 ) XMP_Throw ( "Time zone minute is out of range", kXMPErr_BadParam ); binValue->tzMinute = temp; } else { XMPUtils::SetTimeZone( binValue ); } if ( strValue[pos] != 0 ) XMP_Throw ( "Invalid date string, extra chars at end", kXMPErr_BadParam ); } // ConvertToDate // ------------------------------------------------------------------------------------------------- // EncodeToBase64 // -------------- // // Encode a string of raw data bytes in base 64 according to RFC 2045. For the encoding definition // see section 6.8 in . Although it isn't needed for RDF, we // do insert a linefeed character as a newline for every 76 characters of encoded output. /* class static */ void XMPUtils::EncodeToBase64 ( XMP_StringPtr rawStr, XMP_StringLen rawLen, XMP_StringPtr * encodedStr, XMP_StringLen * encodedLen ) { if ( (rawStr == 0) && (rawLen != 0) ) XMP_Throw ( "Null raw data buffer", kXMPErr_BadParam ); if ( rawLen == 0 ) { *encodedStr = 0; *encodedLen = 0; return; } char encChunk[4]; unsigned long in, out; unsigned char c1, c2, c3; unsigned long merge; const size_t outputSize = (rawLen / 3) * 4; // Approximate, might be small. sBase64Str->erase(); sBase64Str->reserve ( outputSize ); // ---------------------------------------------------------------------------------------- // Each 6 bits of input produces 8 bits of output, so 3 input bytes become 4 output bytes. // Process the whole chunks of 3 bytes first, then deal with any remainder. Be careful with // the loop comparison, size-2 could be negative! for ( in = 0, out = 0; (in+2) < rawLen; in += 3, out += 4 ) { c1 = rawStr[in]; c2 = rawStr[in+1]; c3 = rawStr[in+2]; merge = (c1 << 16) + (c2 << 8) + c3; encChunk[0] = sBase64Chars [ merge >> 18 ]; encChunk[1] = sBase64Chars [ (merge >> 12) & 0x3F ]; encChunk[2] = sBase64Chars [ (merge >> 6) & 0x3F ]; encChunk[3] = sBase64Chars [ merge & 0x3F ]; if ( out >= 76 ) { sBase64Str->append ( 1, kLF ); out = 0; } sBase64Str->append ( encChunk, 4 ); } // ------------------------------------------------------------------------------------------ // The output must always be a multiple of 4 bytes. If there is a 1 or 2 byte input remainder // we need to create another chunk. Zero pad with bits to a 6 bit multiple, then add one or // two '=' characters to pad out to 4 bytes. switch ( rawLen - in ) { case 0: // Done, no remainder. break; case 1: // One input byte remains. c1 = rawStr[in]; merge = c1 << 16; encChunk[0] = sBase64Chars [ merge >> 18 ]; encChunk[1] = sBase64Chars [ (merge >> 12) & 0x3F ]; encChunk[2] = encChunk[3] = '='; if ( out >= 76 ) sBase64Str->append ( 1, kLF ); sBase64Str->append ( encChunk, 4 ); break; case 2: // Two input bytes remain. c1 = rawStr[in]; c2 = rawStr[in+1]; merge = (c1 << 16) + (c2 << 8); encChunk[0] = sBase64Chars [ merge >> 18 ]; encChunk[1] = sBase64Chars [ (merge >> 12) & 0x3F ]; encChunk[2] = sBase64Chars [ (merge >> 6) & 0x3F ]; encChunk[3] = '='; if ( out >= 76 ) sBase64Str->append ( 1, kLF ); sBase64Str->append ( encChunk, 4 ); break; } // ------------------------- // Assign the output values. *encodedStr = sBase64Str->c_str(); *encodedLen = sBase64Str->size(); } // EncodeToBase64 // ------------------------------------------------------------------------------------------------- // DecodeFromBase64 // ---------------- // // Decode a string of raw data bytes from base 64 according to RFC 2045. For the encoding definition // see section 6.8 in . RFC 2045 talks about ignoring all "bad" // input but warning about non-whitespace. For XMP use we ignore space, tab, LF, and CR. Any other // bad input is rejected. /* class static */ void XMPUtils::DecodeFromBase64 ( XMP_StringPtr encodedStr, XMP_StringLen encodedLen, XMP_StringPtr * rawStr, XMP_StringLen * rawLen ) { if ( (encodedStr == 0) && (encodedLen != 0) ) XMP_Throw ( "Null encoded data buffer", kXMPErr_BadParam ); if ( encodedLen == 0 ) { *rawStr = 0; *rawLen = 0; return; } unsigned char ch, rawChunk[3]; unsigned long inStr, inChunk, inLimit, merge, padding; XMP_StringLen outputSize = (encodedLen / 4) * 3; // Only a close approximation. sBase64Str->erase(); sBase64Str->reserve ( outputSize ); // ---------------------------------------------------------------------------------------- // Each 8 bits of input produces 6 bits of output, so 4 input bytes become 3 output bytes. // Process all but the last 4 data bytes first, then deal with the final chunk. Whitespace // in the input must be ignored. The first loop finds where the last 4 data bytes start and // counts the number of padding equal signs. padding = 0; for ( inStr = 0, inLimit = encodedLen; (inStr < 4) && (inLimit > 0); ) { inLimit -= 1; // ! Don't do in the loop control, the decr/test order is wrong. ch = encodedStr[inLimit]; if ( ch == '=' ) { padding += 1; // The equal sign padding is a data byte. } else if ( DecodeBase64Char(ch) == 0xFF ) { continue; // Ignore whitespace, don't increment inStr. } else { inStr += 1; } } // ! Be careful to count whitespace that is immediately before the final data. Otherwise // ! middle portion will absorb the final data and mess up the final chunk processing. while ( (inLimit > 0) && (DecodeBase64Char(encodedStr[inLimit-1]) == 0xFF) ) --inLimit; if ( inStr == 0 ) return; // Nothing but whitespace. if ( padding > 2 ) XMP_Throw ( "Invalid encoded string", kXMPErr_BadParam ); // ------------------------------------------------------------------------------------------- // Now process all but the last chunk. The limit ensures that we have at least 4 data bytes // left when entering the output loop, so the inner loop will succeed without overrunning the // end of the data. At the end of the outer loop we might be past inLimit though. inStr = 0; while ( inStr < inLimit ) { merge = 0; for ( inChunk = 0; inChunk < 4; ++inStr ) { // ! Yes, increment inStr on each pass. ch = DecodeBase64Char ( encodedStr [inStr] ); if ( ch == 0xFF ) continue; // Ignore whitespace. merge = (merge << 6) + ch; inChunk += 1; } rawChunk[0] = (unsigned char) (merge >> 16); rawChunk[1] = (unsigned char) ((merge >> 8) & 0xFF); rawChunk[2] = (unsigned char) (merge & 0xFF); sBase64Str->append ( (char*)rawChunk, 3 ); } // ------------------------------------------------------------------------------------------- // Process the final, possibly partial, chunk of data. The input is always a multiple 4 bytes, // but the raw data can be any length. The number of padding '=' characters determines if the // final chunk has 1, 2, or 3 raw data bytes. XMP_Assert ( inStr < encodedLen ); merge = 0; for ( inChunk = 0; inChunk < 4-padding; ++inStr ) { // ! Yes, increment inStr on each pass. ch = DecodeBase64Char ( encodedStr[inStr] ); if ( ch == 0xFF ) continue; // Ignore whitespace. merge = (merge << 6) + ch; inChunk += 1; } if ( padding == 2 ) { rawChunk[0] = (unsigned char) (merge >> 4); sBase64Str->append ( (char*)rawChunk, 1 ); } else if ( padding == 1 ) { rawChunk[0] = (unsigned char) (merge >> 10); rawChunk[1] = (unsigned char) ((merge >> 2) & 0xFF); sBase64Str->append ( (char*)rawChunk, 2 ); } else { rawChunk[0] = (unsigned char) (merge >> 16); rawChunk[1] = (unsigned char) ((merge >> 8) & 0xFF); rawChunk[2] = (unsigned char) (merge & 0xFF); sBase64Str->append ( (char*)rawChunk, 3 ); } // ------------------------- // Assign the output values. *rawStr = sBase64Str->c_str(); *rawLen = sBase64Str->size(); } // DecodeFromBase64 // ------------------------------------------------------------------------------------------------- // PackageForJPEG // -------------- /* class static */ void XMPUtils::PackageForJPEG ( const XMPMeta & origXMP, XMP_StringPtr * stdStr, XMP_StringLen * stdLen, XMP_StringPtr * extStr, XMP_StringLen * extLen, XMP_StringPtr * digestStr, XMP_StringLen * digestLen ) { enum { kStdXMPLimit = 65000 }; static const char * kPacketTrailer = ""; static size_t kTrailerLen = strlen ( kPacketTrailer ); XMP_StringPtr tempStr; XMP_StringLen tempLen; XMPMeta stdXMP, extXMP; sStandardXMP->clear(); // Clear the static strings that get returned to the client. sExtendedXMP->clear(); sExtendedDigest->clear(); XMP_OptionBits keepItSmall = kXMP_UseCompactFormat | kXMP_OmitAllFormatting; // Try to serialize everything. Note that we're making internal calls to SerializeToBuffer, so // we'll be getting back the pointer and length for its internal string. origXMP.SerializeToBuffer ( &tempStr, &tempLen, keepItSmall, 1, "", "", 0 ); #if Trace_PackageForJPEG printf ( "\nXMPUtils::PackageForJPEG - Full serialize %d bytes\n", tempLen ); #endif if ( tempLen > kStdXMPLimit ) { // Couldn't fit everything, make a copy of the input XMP and make sure there is no xmp:Thumbnails property. stdXMP.tree.options = origXMP.tree.options; stdXMP.tree.name = origXMP.tree.name; stdXMP.tree.value = origXMP.tree.value; CloneOffspring ( &origXMP.tree, &stdXMP.tree ); if ( stdXMP.DoesPropertyExist ( kXMP_NS_XMP, "Thumbnails" ) ) { stdXMP.DeleteProperty ( kXMP_NS_XMP, "Thumbnails" ); stdXMP.SerializeToBuffer ( &tempStr, &tempLen, keepItSmall, 1, "", "", 0 ); #if Trace_PackageForJPEG printf ( " Delete xmp:Thumbnails, %d bytes left\n", tempLen ); #endif } } if ( tempLen > kStdXMPLimit ) { // Still doesn't fit, move all of the Camera Raw namespace. Add a dummy value for xmpNote:HasExtendedXMP. stdXMP.SetProperty ( kXMP_NS_XMP_Note, "HasExtendedXMP", "123456789-123456789-123456789-12", 0 ); XMP_NodePtrPos crSchemaPos; XMP_Node * crSchema = FindSchemaNode ( &stdXMP.tree, kXMP_NS_CameraRaw, kXMP_ExistingOnly, &crSchemaPos ); if ( crSchema != 0 ) { crSchema->parent = &extXMP.tree; extXMP.tree.children.push_back ( crSchema ); stdXMP.tree.children.erase ( crSchemaPos ); stdXMP.SerializeToBuffer ( &tempStr, &tempLen, keepItSmall, 1, "", "", 0 ); #if Trace_PackageForJPEG printf ( " Move Camera Raw schema, %d bytes left\n", tempLen ); #endif } } if ( tempLen > kStdXMPLimit ) { // Still doesn't fit, move photoshop:History. bool moved = MoveOneProperty ( stdXMP, &extXMP, kXMP_NS_Photoshop, "photoshop:History" ); if ( moved ) { stdXMP.SerializeToBuffer ( &tempStr, &tempLen, keepItSmall, 1, "", "", 0 ); #if Trace_PackageForJPEG printf ( " Move photoshop:History, %d bytes left\n", tempLen ); #endif } } if ( tempLen > kStdXMPLimit ) { // Still doesn't fit, move top level properties in order of estimated size. This is done by // creating a multi-map that maps the serialized size to the string pair for the schema URI // and top level property name. Since maps are inherently ordered, a reverse iteration of // the map can be done to move the largest things first. We use a double loop to keep going // until the serialization actually fits, in case the estimates are off. PropSizeMap propSizes; CreateEstimatedSizeMap ( stdXMP, &propSizes ); #if Trace_PackageForJPEG if ( ! propSizes.empty() ) { printf ( " Top level property map, smallest to largest:\n" ); PropSizeMap::iterator mapPos = propSizes.begin(); PropSizeMap::iterator mapEnd = propSizes.end(); for ( ; mapPos != mapEnd; ++mapPos ) { size_t propSize = mapPos->first; const char * schemaName = mapPos->second.first->c_str(); const char * propName = mapPos->second.second->c_str(); printf ( " %d bytes, %s in %s\n", propSize, propName, schemaName ); } } #endif #if 0 // Trace_PackageForJPEG *** Xcode 2.3 on 10.4.7 has bugs in backwards iteration if ( ! propSizes.empty() ) { printf ( " Top level property map, largest to smallest:\n" ); PropSizeMap::iterator mapPos = propSizes.end(); PropSizeMap::iterator mapBegin = propSizes.begin(); for ( --mapPos; true; --mapPos ) { size_t propSize = mapPos->first; const char * schemaName = mapPos->second.first->c_str(); const char * propName = mapPos->second.second->c_str(); printf ( " %d bytes, %s in %s\n", propSize, propName, schemaName ); if ( mapPos == mapBegin ) break; } } #endif // Outer loop to make sure enough is actually moved. while ( (tempLen > kStdXMPLimit) && (! propSizes.empty()) ) { // Inner loop, move what seems to be enough according to the estimates. while ( (tempLen > kStdXMPLimit) && (! propSizes.empty()) ) { size_t propSize = MoveLargestProperty ( stdXMP, &extXMP, propSizes ); XMP_Assert ( propSize > 0 ); if ( propSize > tempLen ) propSize = tempLen; // ! Don't go negative. tempLen -= propSize; } // Reserialize the remaining standard XMP. stdXMP.SerializeToBuffer ( &tempStr, &tempLen, keepItSmall, 1, "", "", 0 ); } } if ( tempLen > kStdXMPLimit ) { // Still doesn't fit, throw an exception and let the client decide what to do. // ! This should never happen with the policy of moving any and all top level properties. XMP_Throw ( "Can't reduce XMP enough for JPEG file", kXMPErr_TooLargeForJPEG ); } // Set the static output strings. if ( extXMP.tree.children.empty() ) { // Just have the standard XMP. sStandardXMP->assign ( tempStr, tempLen ); } else { // Have extended XMP. Serialize it, compute the digest, reset xmpNote:HasExtendedXMP, and // reserialize the standard XMP. extXMP.SerializeToBuffer ( &tempStr, &tempLen, (keepItSmall | kXMP_OmitPacketWrapper), 0, "", "", 0 ); sExtendedXMP->assign ( tempStr, tempLen ); MD5_CTX context; XMP_Uns8 digest [16]; MD5Init ( &context ); MD5Update ( &context, (XMP_Uns8*)tempStr, tempLen ); MD5Final ( digest, &context ); sExtendedDigest->reserve ( 32 ); for ( size_t i = 0; i < 16; ++i ) { XMP_Uns8 byte = digest[i]; sExtendedDigest->push_back ( kHexDigits [ byte>>4 ] ); sExtendedDigest->push_back ( kHexDigits [ byte&0xF ] ); } stdXMP.SetProperty ( kXMP_NS_XMP_Note, "HasExtendedXMP", sExtendedDigest->c_str(), 0 ); stdXMP.SerializeToBuffer ( &tempStr, &tempLen, keepItSmall, 1, "", "", 0 ); sStandardXMP->assign ( tempStr, tempLen ); } // Adjust the standard XMP padding to be up to 2KB. XMP_Assert ( (sStandardXMP->size() > kTrailerLen) && (sStandardXMP->size() <= kStdXMPLimit) ); const char * packetEnd = 0; packetEnd = sStandardXMP->c_str() + sStandardXMP->size() - kTrailerLen; XMP_Assert ( XMP_LitMatch ( packetEnd, kPacketTrailer ) ); UNUSED(packetEnd); size_t extraPadding = kStdXMPLimit - sStandardXMP->size(); // ! Do this before erasing the trailer. if ( extraPadding > 2047 ) extraPadding = 2047; sStandardXMP->erase ( sStandardXMP->size() - kTrailerLen ); sStandardXMP->append ( extraPadding, ' ' ); sStandardXMP->append ( kPacketTrailer ); // Assign the output pointer and sizes. *stdStr = sStandardXMP->c_str(); *stdLen = sStandardXMP->size(); *extStr = sExtendedXMP->c_str(); *extLen = sExtendedXMP->size(); *digestStr = sExtendedDigest->c_str(); *digestLen = sExtendedDigest->size(); } // PackageForJPEG // ------------------------------------------------------------------------------------------------- // MergeFromJPEG // ------------- // // Copy all of the top level properties from extendedXMP to fullXMP, replacing any duplicates. // Delete the xmpNote:HasExtendedXMP property from fullXMP. /* class static */ void XMPUtils::MergeFromJPEG ( XMPMeta * fullXMP, const XMPMeta & extendedXMP ) { XMPUtils::AppendProperties ( extendedXMP, fullXMP, kXMPUtil_DoAllProperties ); fullXMP->DeleteProperty ( kXMP_NS_XMP_Note, "HasExtendedXMP" ); } // MergeFromJPEG // ------------------------------------------------------------------------------------------------- // CurrentDateTime // --------------- /* class static */ void XMPUtils::CurrentDateTime ( XMP_DateTime * xmpTime ) { XMP_Assert ( xmpTime != 0 ); // ! Enforced by wrapper. ansi_tt binTime = ansi_time(0); if ( binTime == -1 ) XMP_Throw ( "Failure from ANSI C time function", kXMPErr_ExternalFailure ); ansi_tm currTime; ansi_localtime ( &binTime, &currTime ); xmpTime->year = currTime.tm_year + 1900; xmpTime->month = currTime.tm_mon + 1; xmpTime->day = currTime.tm_mday; xmpTime->hour = currTime.tm_hour; xmpTime->minute = currTime.tm_min; xmpTime->second = currTime.tm_sec; xmpTime->nanoSecond = 0; xmpTime->tzSign = 0; xmpTime->tzHour = 0; xmpTime->tzMinute = 0; XMPUtils::SetTimeZone ( xmpTime ); } // CurrentDateTime // ------------------------------------------------------------------------------------------------- // SetTimeZone // ----------- // // Sets just the time zone part of the time. Useful for determining the local time zone or for // converting a "zone-less" time to a proper local time. The ANSI C time functions are smart enough // to do all the right stuff, as long as we call them properly! /* class static */ void XMPUtils::SetTimeZone ( XMP_DateTime * xmpTime ) { XMP_Assert ( xmpTime != 0 ); // ! Enforced by wrapper. if ( (xmpTime->tzSign != 0) || (xmpTime->tzHour != 0) || (xmpTime->tzMinute != 0) ) { XMP_Throw ( "SetTimeZone can only be used on \"zoneless\" times", kXMPErr_BadParam ); } // Create ansi_tt form of the input time. Need the ansi_tm form to make the ansi_tt form. ansi_tt ttTime; ansi_tm tmLocal, tmUTC; if ( (xmpTime->year == 0) && (xmpTime->month == 0) && (xmpTime->day == 0) ) { ansi_tt now = ansi_time(0); if ( now == -1 ) XMP_Throw ( "Failure from ANSI C time function", kXMPErr_ExternalFailure ); ansi_localtime ( &now, &tmLocal ); } else { tmLocal.tm_year = xmpTime->year - 1900; while ( tmLocal.tm_year < 70 ) tmLocal.tm_year += 4; // ! Some versions of mktime barf on years before 1970. tmLocal.tm_mon = xmpTime->month - 1; tmLocal.tm_mday = xmpTime->day; } tmLocal.tm_hour = xmpTime->hour; tmLocal.tm_min = xmpTime->minute; tmLocal.tm_sec = xmpTime->second; tmLocal.tm_isdst = -1; // Don't know if daylight time is in effect. ttTime = ansi_mktime ( &tmLocal ); if ( ttTime == -1 ) XMP_Throw ( "Failure from ANSI C mktime function", kXMPErr_ExternalFailure ); // Convert back to a localized ansi_tm time and get the corresponding UTC ansi_tm time. ansi_localtime ( &ttTime, &tmLocal ); ansi_gmtime ( &ttTime, &tmUTC ); // Get the offset direction and amount. ansi_tm tmx = tmLocal; // ! Note that mktime updates the ansi_tm parameter, messing up difftime! ansi_tm tmy = tmUTC; tmx.tm_isdst = tmy.tm_isdst = 0; ansi_tt ttx = ansi_mktime ( &tmx ); ansi_tt tty = ansi_mktime ( &tmy ); double diffSecs; if ( (ttx != -1) && (tty != -1) ) { diffSecs = ansi_difftime ( ttx, tty ); } else { #if XMP_MacBuild // Looks like Apple's mktime is buggy - see W1140533. But the offset is visible. diffSecs = tmLocal.tm_gmtoff; #else // Win and UNIX don't have a visible offset. Make sure we know about the failure, // then try using the current date/time as a close fallback. ttTime = ansi_time(0); if ( ttTime == -1 ) XMP_Throw ( "Failure from ANSI C time function", kXMPErr_ExternalFailure ); ansi_localtime ( &ttTime, &tmx ); ansi_gmtime ( &ttTime, &tmy ); tmx.tm_isdst = tmy.tm_isdst = 0; ttx = ansi_mktime ( &tmx ); tty = ansi_mktime ( &tmy ); if ( (ttx == -1) || (tty == -1) ) XMP_Throw ( "Failure from ANSI C mktime function", kXMPErr_ExternalFailure ); diffSecs = ansi_difftime ( ttx, tty ); #endif } if ( diffSecs > 0.0 ) { xmpTime->tzSign = kXMP_TimeEastOfUTC; } else if ( diffSecs == 0.0 ) { xmpTime->tzSign = kXMP_TimeIsUTC; } else { xmpTime->tzSign = kXMP_TimeWestOfUTC; diffSecs = -diffSecs; } xmpTime->tzHour = XMP_Int32 ( diffSecs / 3600.0 ); xmpTime->tzMinute = XMP_Int32 ( (diffSecs / 60.0) - (xmpTime->tzHour * 60.0) ); // *** Save the tm_isdst flag in a qualifier? XMP_Assert ( (0 <= xmpTime->tzHour) && (xmpTime->tzHour <= 23) ); XMP_Assert ( (0 <= xmpTime->tzMinute) && (xmpTime->tzMinute <= 59) ); XMP_Assert ( (-1 <= xmpTime->tzSign) && (xmpTime->tzSign <= +1) ); XMP_Assert ( (xmpTime->tzSign == 0) ? ((xmpTime->tzHour == 0) && (xmpTime->tzMinute == 0)) : ((xmpTime->tzHour != 0) || (xmpTime->tzMinute != 0)) ); } // SetTimeZone // ------------------------------------------------------------------------------------------------- // ConvertToUTCTime // ---------------- /* class static */ void XMPUtils::ConvertToUTCTime ( XMP_DateTime * time ) { XMP_Assert ( time != 0 ); // ! Enforced by wrapper. XMP_Assert ( (0 <= time->tzHour) && (time->tzHour <= 23) ); XMP_Assert ( (0 <= time->tzMinute) && (time->tzMinute <= 59) ); XMP_Assert ( (-1 <= time->tzSign) && (time->tzSign <= +1) ); XMP_Assert ( (time->tzSign == 0) ? ((time->tzHour == 0) && (time->tzMinute == 0)) : ((time->tzHour != 0) || (time->tzMinute != 0)) ); if ( time->tzSign == kXMP_TimeEastOfUTC ) { // We are before (east of) GMT, subtract the offset from the time. time->hour -= time->tzHour; time->minute -= time->tzMinute; } else if ( time->tzSign == kXMP_TimeWestOfUTC ) { // We are behind (west of) GMT, add the offset to the time. time->hour += time->tzHour; time->minute += time->tzMinute; } AdjustTimeOverflow ( time ); time->tzSign = time->tzHour = time->tzMinute = 0; } // ConvertToUTCTime // ------------------------------------------------------------------------------------------------- // ConvertToLocalTime // ------------------ /* class static */ void XMPUtils::ConvertToLocalTime ( XMP_DateTime * time ) { XMP_Assert ( time != 0 ); // ! Enforced by wrapper. XMP_Assert ( (0 <= time->tzHour) && (time->tzHour <= 23) ); XMP_Assert ( (0 <= time->tzMinute) && (time->tzMinute <= 59) ); XMP_Assert ( (-1 <= time->tzSign) && (time->tzSign <= +1) ); XMP_Assert ( (time->tzSign == 0) ? ((time->tzHour == 0) && (time->tzMinute == 0)) : ((time->tzHour != 0) || (time->tzMinute != 0)) ); ConvertToUTCTime ( time ); // The existing time zone might not be the local one. SetTimeZone ( time ); // Fill in the local timezone offset, then adjust the time. if ( time->tzSign > 0 ) { // We are before (east of) GMT, add the offset to the time. time->hour += time->tzHour; time->minute += time->tzMinute; } else if ( time->tzSign < 0 ) { // We are behind (west of) GMT, subtract the offset from the time. time->hour -= time->tzHour; time->minute -= time->tzMinute; } AdjustTimeOverflow ( time ); } // ConvertToLocalTime // ------------------------------------------------------------------------------------------------- // CompareDateTime // --------------- /* class static */ int XMPUtils::CompareDateTime ( const XMP_DateTime & _in_left, const XMP_DateTime & _in_right ) { int result; XMP_DateTime left = _in_left; XMP_DateTime right = _in_right; ConvertToUTCTime ( &left ); ConvertToUTCTime ( &right ); // *** We could use memcmp if the XMP_DateTime stuct has no holes. if ( left.year < right.year ) { result = -1; } else if ( left.year > right.year ) { result = +1; } else if ( left.month < right.month ) { result = -1; } else if ( left.month > right.month ) { result = +1; } else if ( left.day < right.day ) { result = -1; } else if ( left.day > right.day ) { result = +1; } else if ( left.hour < right.hour ) { result = -1; } else if ( left.hour > right.hour ) { result = +1; } else if ( left.minute < right.minute ) { result = -1; } else if ( left.minute > right.minute ) { result = +1; } else if ( left.second < right.second ) { result = -1; } else if ( left.second > right.second ) { result = +1; } else if ( left.nanoSecond < right.nanoSecond ) { result = -1; } else if ( left.nanoSecond > right.nanoSecond ) { result = +1; } else { result = 0; } return result; } // CompareDateTime // ================================================================================================= exiv2-0.25/xmpsdk/src/XMPIterator.hpp0000664000175000017500000001022410700232552017272 0ustar andreasandreas#ifndef __XMPIterator_hpp__ #define __XMPIterator_hpp__ // ================================================================================================= // Copyright 2002-2007 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" #include "XMP_Const.h" #include "XMPMeta.hpp" // ================================================================================================= struct IterNode; typedef std::vector < IterNode > IterOffspring; typedef IterOffspring::iterator IterPos; typedef std::pair < IterPos, IterPos > IterPosPair; typedef std::vector < IterPosPair > IterPosStack; enum { // Values for the visitStage field, used to decide how to proceed past a node. kIter_BeforeVisit = 0, // Have not visited this node at all. kIter_VisitSelf = 1, // Have visited this node and returned its value/options portion. kIter_VisitQualifiers = 2, // In the midst of visiting this node's qualifiers. kIter_VisitChildren = 3 // In the midst of visiting this node's children. }; struct IterNode { XMP_OptionBits options; XMP_VarString fullPath; size_t leafOffset; IterOffspring children, qualifiers; XMP_Uns8 visitStage; #if 0 // *** XMP_DebugBuild XMP_StringPtr _pathPtr, _leafPtr; // *** Not working, need operator=? #endif IterNode() : options(0), leafOffset(0), visitStage(kIter_BeforeVisit) { #if 0 // *** XMP_DebugBuild _pathPtr = _leafPtr = 0; #endif }; IterNode ( XMP_OptionBits _options, const XMP_VarString& _fullPath, size_t _leafOffset ) : options(_options), fullPath(_fullPath), leafOffset(_leafOffset), visitStage(kIter_BeforeVisit) { #if 0 // *** XMP_DebugBuild _pathPtr = fullPath.c_str(); _leafPtr = _pathPtr + leafOffset; #endif }; }; struct IterInfo { XMP_OptionBits options; const XMPMeta * xmpObj; XMP_VarString currSchema; IterPos currPos, endPos; IterPosStack ancestors; IterNode tree; #if 0 // *** XMP_DebugBuild XMP_StringPtr _schemaPtr; // *** Not working, need operator=? #endif IterInfo() : options(0), xmpObj(0) { #if 0 // *** XMP_DebugBuild _schemaPtr = 0; #endif }; IterInfo ( XMP_OptionBits _options, const XMPMeta * _xmpObj ) : options(_options), xmpObj(_xmpObj) { #if 0 // *** XMP_DebugBuild _schemaPtr = 0; #endif }; }; // ================================================================================================= class XMPIterator { public: static bool Initialize(); // ! For internal use only! static void Terminate() RELEASE_NO_THROW; // ! For internal use only! static void Unlock ( XMP_OptionBits options ); XMPIterator ( const XMPMeta & xmpObj, // Construct a property iterator. XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options ); XMPIterator ( XMP_StringPtr schemaNS, // Construct a table iterator. XMP_StringPtr propName, XMP_OptionBits options ); virtual ~XMPIterator() RELEASE_NO_THROW; bool Next ( XMP_StringPtr * schemaNS, XMP_StringLen * nsSize, XMP_StringPtr * propPath, XMP_StringLen * pathSize, XMP_StringPtr * propValue, XMP_StringLen * valueSize, XMP_OptionBits * propOptions ); void Skip ( XMP_OptionBits options ); void UnlockIter ( XMP_OptionBits options ); // ! Expose so that wrappers and file static functions can see the data. XMP_Int32 clientRefs; // ! Must be signed to allow decrement from 0. IterInfo info; private: // ! These are hidden on purpose: XMPIterator() : clientRefs(0) { XMP_Throw ( "Call to hidden constructor", kXMPErr_InternalFailure ); }; XMPIterator ( const XMPIterator & /* original */ ) : clientRefs(0) { XMP_Throw ( "Call to hidden constructor", kXMPErr_InternalFailure ); }; void operator= ( const XMPIterator & /* rhs */ ) { XMP_Throw ( "Call to hidden operator=", kXMPErr_InternalFailure ); }; }; // ================================================================================================= #endif // __XMPIterator_hpp__ exiv2-0.25/xmpsdk/src/XMPCore_Impl.cpp0000664000175000017500000014467312257464627017410 0ustar andreasandreas// ================================================================================================= // Copyright 2002-2007 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" // ! This must be the first include! #include "XMP_Version.h" #include "XMPCore_Impl.hpp" #include "XMPMeta.hpp" // *** For use of GetNamespacePrefix in FindSchemaNode. #include "UnicodeInlines.incl_cpp" #include using namespace std; #if XMP_WinBuild #ifdef _MSC_VER #pragma warning ( disable : 4290 ) // C++ exception specification ignored except ... not __declspec(nothrow) #pragma warning ( disable : 4800 ) // forcing value to bool 'true' or 'false' (performance warning) #endif #endif // *** Add debug codegen checks, e.g. that typical masking operations really work // *** Make option constants 0x...UL. // Internal code should be using #if with XMP_MacBuild, XMP_WinBuild, or XMP_UNIXBuild. // This is a sanity check in case of accidental use of *_ENV. Some clients use the poor // practice of defining the *_ENV macro with an empty value. #if defined ( MAC_ENV ) #if ! MAC_ENV #error "MAC_ENV must be defined so that \"#if MAC_ENV\" is true" #endif #elif defined ( WIN_ENV ) #if ! WIN_ENV #error "WIN_ENV must be defined so that \"#if WIN_ENV\" is true" #endif #elif defined ( UNIX_ENV ) #if ! UNIX_ENV #error "UNIX_ENV must be defined so that \"#if UNIX_ENV\" is true" #endif #endif // ================================================================================================= // Static Variables // ================ XMP_Int32 sXMP_InitCount = 0; XMP_StringMap * sNamespaceURIToPrefixMap = 0; XMP_StringMap * sNamespacePrefixToURIMap = 0; XMP_AliasMap * sRegisteredAliasMap = 0; // Needed by XMPIterator. XMP_VarString * sOutputNS = 0; XMP_VarString * sOutputStr = 0; XMP_VarString * sExceptionMessage = 0; XMP_Mutex sXMPCoreLock; int sLockCount = 0; #if TraceXMPCalls FILE * xmpOut = stderr; #endif void * voidVoidPtr = 0; // Used to backfill null output parameters. XMP_StringPtr voidStringPtr = 0; XMP_StringLen voidStringLen = 0; XMP_OptionBits voidOptionBits = 0; XMP_Uns8 voidByte = 0; bool voidBool = 0; XMP_Int32 voidInt32 = 0; XMP_Int64 voidInt64 = 0; double voidDouble = 0.0; XMP_DateTime voidDateTime; WXMP_Result void_wResult; // ================================================================================================= // Mutex Utilities // =============== // ! Note that the mutex need not be "recursive", allowing the same thread to acquire it multiple // ! times. There is a single XMP lock which is acquired in the wrapper classes. Internal calls // ! never go back out to the wrappers. #if XMP_WinBuild bool XMP_InitMutex ( XMP_Mutex * mutex ) { InitializeCriticalSection ( mutex ); return true; } void XMP_TermMutex ( XMP_Mutex & mutex ) { DeleteCriticalSection ( &mutex ); } void XMP_EnterCriticalRegion ( XMP_Mutex & mutex ) { EnterCriticalSection ( &mutex ); } void XMP_ExitCriticalRegion ( XMP_Mutex & mutex ) { LeaveCriticalSection ( &mutex ); } #else // Use pthread for both Mac and generic UNIX. // ! Would be nice to specify PTHREAD_MUTEX_ERRORCHECK, but the POSIX documentation is useless. // ! Would be OK but overkill to specify PTHREAD_MUTEX_RECURSIVE. bool XMP_InitMutex ( XMP_Mutex * mutex ) { int err = pthread_mutex_init ( mutex, 0 ); return (err == 0 ); } void XMP_TermMutex ( XMP_Mutex & mutex ) { (void) pthread_mutex_destroy ( &mutex ); } void XMP_EnterCriticalRegion ( XMP_Mutex & mutex ) { int err = pthread_mutex_lock ( &mutex ); if ( err != 0 ) XMP_Throw ( "XMP_EnterCriticalRegion - pthread_mutex_lock failure", kXMPErr_ExternalFailure ); } void XMP_ExitCriticalRegion ( XMP_Mutex & mutex ) { int err = pthread_mutex_unlock ( &mutex ); if ( err != 0 ) XMP_Throw ( "XMP_ExitCriticalRegion - pthread_mutex_unlock failure", kXMPErr_ExternalFailure ); } #endif // ================================================================================================= // Local Utilities // =============== // ------------------------------------------------------------------------------------------------- // VerifyXPathRoot // --------------- // // Set up the first 2 components of the expanded XPath. Normalizes the various cases of using the // full schema URI and/or a qualified root property name. Returns true for normal processing. If // allowUnknownSchemaNS is true and the schema namespace is not registered, false is returned. If // allowUnknownSchemaNS is false and the schema namespace is not registered, an exception is thrown. // *** Should someday check the full syntax. static void VerifyXPathRoot ( XMP_StringPtr schemaURI, XMP_StringPtr propName, XMP_ExpandedXPath * expandedXPath ) { // Do some basic checks on the URI and name. Try to lookup the URI. See if the name is qualified. XMP_Assert ( (schemaURI != 0) && (propName != 0) && (*propName != 0) ); XMP_Assert ( (expandedXPath != 0) && (expandedXPath->empty()) ); if ( *schemaURI == 0 ) XMP_Throw ( "Schema namespace URI is required", kXMPErr_BadSchema ); if ( (*propName == '?') || (*propName == '@') ) { XMP_Throw ( "Top level name must not be a qualifier", kXMPErr_BadXPath ); } for ( XMP_StringPtr ch = propName; *ch != 0; ++ch ) { if ( (*ch == '/') || (*ch == '[') ) { XMP_Throw ( "Top level name must be simple", kXMPErr_BadXPath ); } } XMP_StringMapPos uriPos = sNamespaceURIToPrefixMap->find ( XMP_VarString ( schemaURI ) ); if ( uriPos == sNamespaceURIToPrefixMap->end() ) { XMP_Throw ( "Unregistered schema namespace URI", kXMPErr_BadSchema ); } XMP_StringPtr colonPos = propName; while ( (*colonPos != 0) && (*colonPos != ':') ) ++colonPos; VerifySimpleXMLName ( propName, colonPos ); // Verify the part before any colon. // Verify the various URI and prefix combinations. Initialize the expanded XPath. if ( *colonPos == 0 ) { // The propName is unqualified, use the schemaURI and associated prefix. expandedXPath->push_back ( XPathStepInfo ( schemaURI, kXMP_SchemaNode ) ); expandedXPath->push_back ( XPathStepInfo ( uriPos->second, 0 ) ); (*expandedXPath)[kRootPropStep].step += propName; } else { // The propName is qualified. Make sure the prefix is legit. Use the associated URI and qualified name. size_t prefixLen = colonPos - propName + 1; // ! Include the colon. VerifySimpleXMLName ( colonPos+1, colonPos+strlen(colonPos) ); XMP_VarString prefix ( propName, prefixLen ); XMP_StringMapPos prefixPos = sNamespacePrefixToURIMap->find ( prefix ); if ( prefixPos == sNamespacePrefixToURIMap->end() ) { XMP_Throw ( "Unknown schema namespace prefix", kXMPErr_BadSchema ); } if ( prefix != uriPos->second ) { XMP_Throw ( "Schema namespace URI and prefix mismatch", kXMPErr_BadSchema ); } expandedXPath->push_back ( XPathStepInfo ( schemaURI, kXMP_SchemaNode ) ); expandedXPath->push_back ( XPathStepInfo ( propName, 0 ) ); } } // VerifyXPathRoot // ------------------------------------------------------------------------------------------------- // VerifyQualName // -------------- static void VerifyQualName ( XMP_StringPtr qualName, XMP_StringPtr nameEnd ) { if ( qualName >= nameEnd ) XMP_Throw ( "Empty qualified name", kXMPErr_BadXPath ); XMP_StringPtr colonPos = qualName; while ( (colonPos < nameEnd) && (*colonPos != ':') ) ++colonPos; if ( (colonPos == qualName) || (colonPos >= nameEnd) ) XMP_Throw ( "Ill-formed qualified name", kXMPErr_BadXPath ); VerifySimpleXMLName ( qualName, colonPos ); VerifySimpleXMLName ( colonPos+1, nameEnd ); size_t prefixLen = colonPos - qualName + 1; // ! Include the colon. XMP_VarString prefix ( qualName, prefixLen ); XMP_StringMapPos prefixPos = sNamespacePrefixToURIMap->find ( prefix ); if ( prefixPos == sNamespacePrefixToURIMap->end() ) { XMP_Throw ( "Unknown namespace prefix for qualified name", kXMPErr_BadXPath ); } } // VerifyQualName // ------------------------------------------------------------------------------------------------- // FindIndexedItem // --------------- // // [index] An element of an array. // // Support the implicit creation of a new last item. static XMP_Index FindIndexedItem ( XMP_Node * arrayNode, const XMP_VarString & indexStep, bool createNodes ) { XMP_Index index = 0; size_t chLim = indexStep.size() - 1; XMP_Assert ( (chLim >= 2) && (indexStep[0] == '[') && (indexStep[chLim] == ']') ); for ( size_t chNum = 1; chNum != chLim; ++chNum ) { XMP_Assert ( ('0' <= indexStep[chNum]) && (indexStep[chNum] <= '9') ); index = (index * 10) + (indexStep[chNum] - '0'); if ( index < 0 ) { XMP_Throw ( "Array index overflow", kXMPErr_BadXPath ); // ! Overflow, not truly negative. } } --index; // Change to a C-style, zero based index. if ( index < 0 ) XMP_Throw ( "Array index must be larger than zero", kXMPErr_BadXPath ); if ( (index == (XMP_Index)arrayNode->children.size()) && createNodes ) { // Append a new last+1 node. XMP_Node * newItem = new XMP_Node ( arrayNode, kXMP_ArrayItemName, kXMP_NewImplicitNode ); arrayNode->children.push_back ( newItem ); } // ! Don't throw here for a too large index. SetProperty will throw, GetProperty will not. if ( index >= (XMP_Index)arrayNode->children.size() ) index = -1; return index; } // FindIndexedItem // ------------------------------------------------------------------------------------------------- // SplitNameAndValue // ----------------- // // Split the name and value parts for field and qualifier selectors: // // [qualName="value"] An element in an array of structs, chosen by a field value. // [?qualName="value"] An element in an array, chosen by a qualifier value. // // The value portion is a string quoted by ''' or '"'. The value may contain any character including // a doubled quoting character. The value may be empty. static void SplitNameAndValue ( const XMP_VarString & selStep, XMP_VarString * nameStr, XMP_VarString * valueStr ) { XMP_StringPtr partBegin = selStep.c_str(); XMP_StringPtr partEnd; const XMP_StringPtr valueEnd = partBegin + (selStep.size() - 2); const char quote = *valueEnd; XMP_Assert ( (*partBegin == '[') && (*(valueEnd+1) == ']') ); XMP_Assert ( (selStep.size() >= 6) && ((quote == '"') || (quote == '\'')) ); // Extract the name part. ++partBegin; // Skip the opening '['. if ( *partBegin == '?' ) ++partBegin; for ( partEnd = partBegin+1; *partEnd != '='; ++partEnd ) {}; nameStr->assign ( partBegin, (partEnd - partBegin) ); // Extract the value part, reducing doubled quotes. XMP_Assert ( *(partEnd+1) == quote ); partBegin = partEnd + 2; valueStr->erase(); valueStr->reserve ( valueEnd - partBegin ); // Maximum length, don't optimize doubled quotes. for ( partEnd = partBegin; partEnd < valueEnd; ++partEnd ) { if ( (*partEnd == quote) && (*(partEnd+1) == quote) ) { ++partEnd; valueStr->append ( partBegin, (partEnd - partBegin) ); partBegin = partEnd+1; // ! Loop will increment partEnd again. } } valueStr->append ( partBegin, (partEnd - partBegin) ); // ! The loop does not add the last part. } // SplitNameAndValue // ------------------------------------------------------------------------------------------------- // LookupQualSelector // ------------------ // // [?qualName="value"] An element in an array, chosen by a qualifier value. // // Note that we don't create implicit nodes for qualifier selectors, so no CreateNodes parameter. static XMP_Index LookupQualSelector ( XMP_Node * arrayNode, const XMP_VarString & qualName, XMP_VarString & qualValue ) { XMP_Index index; if ( qualName == "xml:lang" ) { // *** Should check that the value is legit RFC 1766/3066. NormalizeLangValue ( &qualValue ); index = LookupLangItem ( arrayNode, qualValue ) ; } else { XMP_Index itemLim; for ( index = 0, itemLim = arrayNode->children.size(); index != itemLim; ++index ) { const XMP_Node * currItem = arrayNode->children[index]; XMP_Assert ( currItem->parent == arrayNode ); size_t q, qualLim; for ( q = 0, qualLim = currItem->qualifiers.size(); q != qualLim; ++q ) { const XMP_Node * currQual = currItem->qualifiers[q]; XMP_Assert ( currQual->parent == currItem ); if ( currQual->name != qualName ) continue; if ( currQual->value == qualValue ) break; // Exit qual loop. } if ( q != qualLim ) break; // Exit child loop, found an item with a matching qualifier. } if ( index == itemLim ) index = -1; } return index; } // LookupQualSelector // ------------------------------------------------------------------------------------------------- // FollowXPathStep // --------------- // // After processing by ExpandXPath, a step can be of these forms: // qualName A top level property or struct field. // [index] An element of an array. // [last()] The last element of an array. // [qualName="value"] An element in an array of structs, chosen by a field value. // [?qualName="value"] An element in an array, chosen by a qualifier value. // ?qualName A general qualifier. // // Find the appropriate child node, resolving aliases, and optionally creating nodes. static XMP_Node * FollowXPathStep ( XMP_Node * parentNode, const XMP_ExpandedXPath & fullPath, size_t stepNum, bool createNodes, XMP_NodePtrPos * ptrPos, bool aliasedArrayItem = false ) { XMP_Node * nextNode = 0; const XPathStepInfo & nextStep = fullPath[stepNum]; XMP_Index index = 0; XMP_OptionBits stepKind = nextStep.options & kXMP_StepKindMask; XMP_Assert ( (kXMP_StructFieldStep <= stepKind) && (stepKind <= kXMP_FieldSelectorStep) ); if ( stepKind == kXMP_StructFieldStep ) { nextNode = FindChildNode ( parentNode, nextStep.step.c_str(), createNodes, ptrPos ); } else if ( stepKind == kXMP_QualifierStep ) { XMP_StringPtr qualStep = nextStep.step.c_str(); XMP_Assert ( *qualStep == '?' ); ++qualStep; nextNode = FindQualifierNode ( parentNode, qualStep, createNodes, ptrPos ); } else { // This is an array indexing step. First get the index, then get the node. if ( ! (parentNode->options & kXMP_PropValueIsArray) ) { XMP_Throw ( "Indexing applied to non-array", kXMPErr_BadXPath ); } if ( stepKind == kXMP_ArrayIndexStep ) { index = FindIndexedItem ( parentNode, nextStep.step, createNodes ); } else if ( stepKind == kXMP_ArrayLastStep ) { index = parentNode->children.size() - 1; } else if ( stepKind == kXMP_FieldSelectorStep ) { XMP_VarString fieldName, fieldValue; SplitNameAndValue ( nextStep.step, &fieldName, &fieldValue ); index = LookupFieldSelector ( parentNode, fieldName.c_str(), fieldValue.c_str() ); } else if ( stepKind == kXMP_QualSelectorStep ) { XMP_VarString qualName, qualValue; SplitNameAndValue ( nextStep.step, &qualName, &qualValue ); index = LookupQualSelector ( parentNode, qualName, qualValue ); } else { XMP_Throw ( "Unknown array indexing step in FollowXPathStep", kXMPErr_InternalFailure ); } if ( (0 <= index) && (index <= (XMP_Index)parentNode->children.size()) ) nextNode = parentNode->children[index]; if ( (index == -1) && createNodes && aliasedArrayItem && (stepKind == kXMP_QualSelectorStep) ) { // An ugly special case without an obvious better place to be. We have an alias to the // x-default item of an alt-text array. A simple reference via SetProperty must create // the x-default item if it does not yet exist. XMP_Assert ( parentNode->options & kXMP_PropArrayIsAltText ); XMP_Assert ( (stepNum == 2) && (nextStep.step == "[?xml:lang=\"x-default\"]") ); nextNode = new XMP_Node ( parentNode, kXMP_ArrayItemName, (kXMP_PropHasQualifiers | kXMP_PropHasLang | kXMP_NewImplicitNode) ); XMP_Node * langQual = new XMP_Node ( nextNode, "xml:lang", "x-default", kXMP_PropIsQualifier ); nextNode->qualifiers.push_back ( langQual ); if ( parentNode->children.empty() ) { parentNode->children.push_back ( nextNode ); } else { parentNode->children.insert ( parentNode->children.begin(), nextNode ); } index = 0; // ! C-style index! The x-default item is always first. } if ( (nextNode != 0) && (ptrPos != 0) ) *ptrPos = parentNode->children.begin() + index; } if ( (nextNode != 0) && (nextNode->options & kXMP_NewImplicitNode) ) { nextNode->options |= (nextStep.options & kXMP_PropArrayFormMask); } XMP_Assert ( (ptrPos == 0) || (nextNode == 0) || (nextNode == **ptrPos) ); XMP_Assert ( (nextNode != 0) || (! createNodes) ); return nextNode; } // FollowXPathStep // ------------------------------------------------------------------------------------------------- // CheckImplicitStruct // ------------------- static inline void CheckImplicitStruct ( XMP_Node * node, const XMP_ExpandedXPath & expandedXPath, size_t stepNum, size_t stepLim ) { if ( (stepNum < stepLim) && ((node->options & kXMP_PropCompositeMask) == 0) && (GetStepKind ( expandedXPath[stepNum].options ) == kXMP_StructFieldStep) ) { node->options |= kXMP_PropValueIsStruct; } } // CheckImplicitStruct // ------------------------------------------------------------------------------------------------- // DeleteSubtree // ------------- // *** Might be useful elsewhere? static void DeleteSubtree ( XMP_NodePtrPos rootNodePos ) { XMP_Node * rootNode = *rootNodePos; XMP_Node * rootParent = rootNode->parent; if ( ! (rootNode->options & kXMP_PropIsQualifier) ) { rootParent->children.erase ( rootNodePos ); } else { rootParent->qualifiers.erase ( rootNodePos ); XMP_Assert ( rootParent->options & kXMP_PropHasQualifiers); if ( rootParent->qualifiers.empty() ) rootParent->options ^= kXMP_PropHasQualifiers; if ( rootNode->name == "xml:lang" ) { XMP_Assert ( rootParent->options & kXMP_PropHasLang); rootParent->options ^= kXMP_PropHasLang; } else if ( rootNode->name == "rdf:type" ) { XMP_Assert ( rootParent->options & kXMP_PropHasType); rootParent->options ^= kXMP_PropHasType; } } delete rootNode; } // DeleteSubtree // ================================================================================================= // ================================================================================================= // ================================================================================================= // VerifySetOptions // ================ // // Normalize and verify the option flags for SetProperty and similar functions. The allowed options // here are just those that apply to the property, that would be kept in the XMP_Node. Others that // affect the selection of the node or other processing must be removed by now. These are: // kXMP_InsertBeforeItem // kXMP_InsertAfterItem // kXMP_KeepQualifiers // kXMPUtil_AllowCommas enum { kXMP_AllSetOptionsMask = (kXMP_PropValueIsURI | kXMP_PropValueIsStruct | kXMP_PropValueIsArray | kXMP_PropArrayIsOrdered | kXMP_PropArrayIsAlternate | kXMP_PropArrayIsAltText | kXMP_DeleteExisting) }; XMP_OptionBits VerifySetOptions ( XMP_OptionBits options, XMP_StringPtr propValue ) { if ( options & kXMP_PropArrayIsAltText ) options |= kXMP_PropArrayIsAlternate; if ( options & kXMP_PropArrayIsAlternate ) options |= kXMP_PropArrayIsOrdered; if ( options & kXMP_PropArrayIsOrdered ) options |= kXMP_PropValueIsArray; if ( options & ~kXMP_AllSetOptionsMask ) { XMP_Throw ( "Unrecognized option flags", kXMPErr_BadOptions ); } if ( (options & kXMP_PropValueIsStruct) && (options & kXMP_PropValueIsArray) ) { XMP_Throw ( "IsStruct and IsArray options are mutually exclusive", kXMPErr_BadOptions ); } if ( (options & kXMP_PropValueOptionsMask) && (options & kXMP_PropCompositeMask) ) { XMP_Throw ( "Structs and arrays can't have \"value\" options", kXMPErr_BadOptions ); } if ( (propValue != 0) && (options & kXMP_PropCompositeMask) ) { XMP_Throw ( "Structs and arrays can't have string values", kXMPErr_BadOptions ); } return options; } // VerifySetOptions // ================================================================================================= // ComposeXPath // ============ // // Compose the canonical string form of an expanded XPath expression. extern void ComposeXPath ( const XMP_ExpandedXPath & expandedXPath, XMP_VarString * stringXPath ) { *stringXPath = expandedXPath[kRootPropStep].step; for ( size_t index = kRootPropStep+1; index < expandedXPath.size(); ++index ) { const XPathStepInfo & currStep = expandedXPath[index]; switch ( currStep.options & kXMP_StepKindMask ) { case kXMP_StructFieldStep : case kXMP_QualifierStep : *stringXPath += '/'; *stringXPath += currStep.step; break; case kXMP_ArrayIndexStep : case kXMP_ArrayLastStep : case kXMP_QualSelectorStep : case kXMP_FieldSelectorStep : *stringXPath += currStep.step; break; default: XMP_Throw ( "Unexpected", kXMPErr_InternalFailure ); } } } // ComposeXPath // ================================================================================================= // ExpandXPath // =========== // // Split an XPath expression apart at the conceptual steps, adding the root namespace prefix to the // first property component. The schema URI is put in the first (0th) slot in the expanded XPath. // Check if the top level component is an alias, but don't resolve it. // // In the most verbose case steps are separated by '/', and each step can be of these forms: // // qualName A top level property or struct field. // *[index] An element of an array. // *[last()] The last element of an array. // *[fieldName="value"] An element in an array of structs, chosen by a field value. // *[@xml:lang="value"] An element in an alt-text array, chosen by the xml:lang qualifier. // *[?qualName="value"] An element in an array, chosen by a qualifier value. // @xml:lang An xml:lang qualifier. // ?qualName A general qualifier. // // The logic is complicated though by shorthand for arrays, the separating '/' and leading '*' // are optional. These are all equivalent: array/*[2] array/[2] array*[2] array[2] // All of these are broken into the 2 steps "array" and "[2]". // // The value portion in the array selector forms is a string quoted by ''' or '"'. The value // may contain any character including a doubled quoting character. The value may be empty. // // The syntax isn't checked, but an XML name begins with a letter or '_', and contains letters, // digits, '.', '-', '_', and a bunch of special non-ASCII Unicode characters. An XML qualified // name is a pair of names separated by a colon. void ExpandXPath ( XMP_StringPtr schemaNS, XMP_StringPtr propPath, XMP_ExpandedXPath * expandedXPath ) { XMP_Assert ( (schemaNS != 0) && (propPath != 0) && (*propPath != 0) && (expandedXPath != 0) ); XMP_StringPtr stepBegin, stepEnd; XMP_StringPtr qualName, nameEnd; XMP_VarString currStep; qualName = nameEnd = NULL; size_t resCount = 2; // Guess at the number of steps. At least 2, plus 1 for each '/' or '['. for ( stepEnd = propPath; *stepEnd != 0; ++stepEnd ) { if ( (*stepEnd == '/') || (*stepEnd == '[') ) ++resCount; } expandedXPath->clear(); expandedXPath->reserve ( resCount ); // ------------------------------------------------------------------------------------------- // Pull out the first component and do some special processing on it: add the schema namespace // prefix and see if it is an alias. The start must be a qualName. stepBegin = propPath; stepEnd = stepBegin; while ( (*stepEnd != 0) && (*stepEnd != '/') && (*stepEnd != '[') && (*stepEnd != '*') ) ++stepEnd; if ( stepEnd == stepBegin ) XMP_Throw ( "Empty initial XPath step", kXMPErr_BadXPath ); currStep.assign ( stepBegin, (stepEnd - stepBegin) ); VerifyXPathRoot ( schemaNS, currStep.c_str(), expandedXPath ); XMP_OptionBits stepFlags = kXMP_StructFieldStep; if ( sRegisteredAliasMap->find ( (*expandedXPath)[kRootPropStep].step ) != sRegisteredAliasMap->end() ) { stepFlags |= kXMP_StepIsAlias; } (*expandedXPath)[kRootPropStep].options |= stepFlags; // ----------------------------------------------------- // Now continue to process the rest of the XPath string. while ( *stepEnd != 0 ) { stepBegin = stepEnd; if ( *stepBegin == '/' ) ++stepBegin; if ( *stepBegin == '*' ) { ++stepBegin; if ( *stepBegin != '[' ) XMP_Throw ( "Missing '[' after '*'", kXMPErr_BadXPath ); } stepEnd = stepBegin; if ( *stepBegin != '[' ) { // A struct field or qualifier. qualName = stepBegin; while ( (*stepEnd != 0) && (*stepEnd != '/') && (*stepEnd != '[') && (*stepEnd != '*') ) ++stepEnd; nameEnd = stepEnd; stepFlags = kXMP_StructFieldStep; // ! Touch up later, also changing '@' to '?'. } else { // One of the array forms. ++stepEnd; // Look at the character after the leading '['. if ( ('0' <= *stepEnd) && (*stepEnd <= '9') ) { // A numeric (decimal integer) array index. while ( (*stepEnd != 0) && ('0' <= *stepEnd) && (*stepEnd <= '9') ) ++stepEnd; if ( *stepEnd != ']' ) XMP_Throw ( "Missing ']' for integer array index", kXMPErr_BadXPath ); stepFlags = kXMP_ArrayIndexStep; } else { // Could be "[last()]" or one of the selector forms. Find the ']' or '='. while ( (*stepEnd != 0) && (*stepEnd != ']') && (*stepEnd != '=') ) ++stepEnd; if ( *stepEnd == 0 ) XMP_Throw ( "Missing ']' or '=' for array index", kXMPErr_BadXPath ); if ( *stepEnd == ']' ) { if ( strncmp ( "[last()", stepBegin, (stepEnd - stepBegin) ) != 0 ) { XMP_Throw ( "Invalid non-numeric array index", kXMPErr_BadXPath ); } stepFlags = kXMP_ArrayLastStep; } else { qualName = stepBegin+1; nameEnd = stepEnd; ++stepEnd; // Absorb the '=', remember the quote. const char quote = *stepEnd; if ( (quote != '\'') && (quote != '"') ) { XMP_Throw ( "Invalid quote in array selector", kXMPErr_BadXPath ); } ++stepEnd; // Absorb the leading quote. while ( *stepEnd != 0 ) { if ( *stepEnd == quote ) { if ( *(stepEnd+1) != quote ) break; ++stepEnd; } ++stepEnd; } if ( *stepEnd == 0 ) { XMP_Throw ( "No terminating quote for array selector", kXMPErr_BadXPath ); } ++stepEnd; // Absorb the trailing quote. stepFlags = kXMP_FieldSelectorStep; // ! Touch up later, also changing '@' to '?'. } } if ( *stepEnd != ']' ) XMP_Throw ( "Missing ']' for array index", kXMPErr_BadXPath ); ++stepEnd; } if ( stepEnd == stepBegin ) XMP_Throw ( "Empty XPath step", kXMPErr_BadXPath ); currStep.assign ( stepBegin, (stepEnd - stepBegin) ); if ( GetStepKind ( stepFlags ) == kXMP_StructFieldStep ) { if ( currStep[0] == '@' ) { currStep[0] = '?'; if ( currStep != "?xml:lang" ) XMP_Throw ( "Only xml:lang allowed with '@'", kXMPErr_BadXPath ); } if ( currStep[0] == '?' ) { ++qualName; stepFlags = kXMP_QualifierStep; } VerifyQualName ( qualName, nameEnd ); } else if ( GetStepKind ( stepFlags ) == kXMP_FieldSelectorStep ) { if ( currStep[1] == '@' ) { currStep[1] = '?'; if ( strncmp ( currStep.c_str(), "[?xml:lang=", 11 ) != 0 ) { XMP_Throw ( "Only xml:lang allowed with '@'", kXMPErr_BadXPath ); } } if ( currStep[1] == '?' ) { ++qualName; stepFlags = kXMP_QualSelectorStep; } VerifyQualName ( qualName, nameEnd ); } expandedXPath->push_back ( XPathStepInfo ( currStep, stepFlags ) ); } } // ExpandXPath // ================================================================================================= // FindSchemaNode // ============== // // Find or create a schema node. Returns a pointer to the node, and optionally an iterator for the // node's position in the top level vector of schema nodes. The iterator is unchanged if no schema // node (null) is returned. XMP_Node * FindSchemaNode ( XMP_Node * xmpTree, XMP_StringPtr nsURI, bool createNodes, XMP_NodePtrPos * ptrPos /* = 0 */ ) { XMP_Node * schemaNode = 0; XMP_Assert ( xmpTree->parent == 0 ); for ( size_t schemaNum = 0, schemaLim = xmpTree->children.size(); schemaNum != schemaLim; ++schemaNum ) { XMP_Node * currSchema = xmpTree->children[schemaNum]; XMP_Assert ( currSchema->parent == xmpTree ); if ( currSchema->name == nsURI ) { schemaNode = currSchema; if ( ptrPos != 0 ) *ptrPos = xmpTree->children.begin() + schemaNum; break; } } if ( (schemaNode == 0) && createNodes ) { schemaNode = new XMP_Node ( xmpTree, nsURI, (kXMP_SchemaNode | kXMP_NewImplicitNode) ); XMP_StringPtr prefixPtr; XMP_StringLen prefixLen; bool found = XMPMeta::GetNamespacePrefix ( nsURI, &prefixPtr, &prefixLen ); // *** Use map directly? XMP_Assert ( found ); UNUSED(found); schemaNode->value.assign ( prefixPtr, prefixLen ); xmpTree->children.push_back ( schemaNode ); if ( ptrPos != 0 ) *ptrPos = xmpTree->children.end() - 1; #if 0 // *** XMP_DebugBuild schemaNode->_valuePtr = schemaNode->value.c_str(); #endif } XMP_Assert ( (ptrPos == 0) || (schemaNode == 0) || (schemaNode == **ptrPos) ); XMP_Assert ( (schemaNode != 0) || (! createNodes) ); return schemaNode; } // FindSchemaNode // ================================================================================================= // FindChildNode // ============= // // Find or create a child node under a given parent node. Returns a pointer to the child node, and // optionally an iterator for the node's position in the parent's vector of children. The iterator // is unchanged if no child node (null) is returned. XMP_Node * FindChildNode ( XMP_Node * parent, XMP_StringPtr childName, bool createNodes, XMP_NodePtrPos * ptrPos /* = 0 */ ) { XMP_Node * childNode = 0; if ( ! (parent->options & (kXMP_SchemaNode | kXMP_PropValueIsStruct)) ) { if ( ! (parent->options & kXMP_NewImplicitNode) ) { XMP_Throw ( "Named children only allowed for schemas and structs", kXMPErr_BadXPath ); } if ( parent->options & kXMP_PropValueIsArray ) { XMP_Throw ( "Named children not allowed for arrays", kXMPErr_BadXPath ); } if ( ! createNodes ) { // *** Should be assert? If !createNodes, why is the parent a new implicit node? XMP_Throw ( "Parent is new implicit node, but createNodes is false", kXMPErr_InternalFailure ); } parent->options |= kXMP_PropValueIsStruct; } for ( size_t childNum = 0, childLim = parent->children.size(); childNum != childLim; ++childNum ) { XMP_Node * currChild = parent->children[childNum]; XMP_Assert ( currChild->parent == parent ); if ( currChild->name == childName ) { childNode = currChild; if ( ptrPos != 0 ) *ptrPos = parent->children.begin() + childNum; break; } } if ( (childNode == 0) && createNodes ) { childNode = new XMP_Node ( parent, childName, kXMP_NewImplicitNode ); parent->children.push_back ( childNode ); if ( ptrPos != 0 ) *ptrPos = parent->children.end() - 1; } XMP_Assert ( (ptrPos == 0) || (childNode == 0) || (childNode == **ptrPos) ); XMP_Assert ( (childNode != 0) || (! createNodes) ); return childNode; } // FindChildNode // ================================================================================================= // FindQualifierNode // ================= // // Find or create a qualifier node under a given parent node. Returns a pointer to the qualifier node, // and optionally an iterator for the node's position in the parent's vector of qualifiers. The iterator // is unchanged if no qualifier node (null) is returned. // // ! On entry, the qualName parameter must not have the leading '?' from the XPath step. XMP_Node * FindQualifierNode ( XMP_Node * parent, XMP_StringPtr qualName, bool createNodes, XMP_NodePtrPos * ptrPos /* = 0 */ ) // *** Require ptrPos internally & remove checks? { XMP_Node * qualNode = 0; XMP_Assert ( *qualName != '?' ); for ( size_t qualNum = 0, qualLim = parent->qualifiers.size(); qualNum != qualLim; ++qualNum ) { XMP_Node * currQual = parent->qualifiers[qualNum]; XMP_Assert ( currQual->parent == parent ); if ( currQual->name == qualName ) { qualNode = currQual; if ( ptrPos != 0 ) *ptrPos = parent->qualifiers.begin() + qualNum; break; } } if ( (qualNode == 0) && createNodes ) { qualNode = new XMP_Node ( parent, qualName, (kXMP_PropIsQualifier | kXMP_NewImplicitNode) ); parent->options |= kXMP_PropHasQualifiers; const bool isLang = XMP_LitMatch ( qualName, "xml:lang" ); const bool isType = XMP_LitMatch ( qualName, "rdf:type" ); const bool isSpecial = isLang | isType; if ( isLang ) { parent->options |= kXMP_PropHasLang; } else if ( isType ) { parent->options |= kXMP_PropHasType; } if ( parent->qualifiers.empty() || (! isSpecial) ) { parent->qualifiers.push_back ( qualNode ); if ( ptrPos != 0 ) *ptrPos = parent->qualifiers.end() - 1; } else { XMP_NodePtrPos insertPos = parent->qualifiers.begin(); // ! Lang goes first, type after. if ( isType && (parent->options & kXMP_PropHasLang) ) ++insertPos; // *** Does insert at end() work? insertPos = parent->qualifiers.insert ( insertPos, qualNode ); if ( ptrPos != 0 ) *ptrPos = insertPos; } } XMP_Assert ( (ptrPos == 0) || (qualNode == 0) || (qualNode == **ptrPos) ); XMP_Assert ( (qualNode != 0) || (! createNodes) ); return qualNode; } // FindQualifierNode // ================================================================================================= // LookupFieldSelector // =================== // // [fieldName="value"] An element in an array of structs, chosen by a field value. // // Note that we don't create implicit nodes for field selectors, so no CreateNodes parameter. XMP_Index LookupFieldSelector ( const XMP_Node * arrayNode, XMP_StringPtr fieldName, XMP_StringPtr fieldValue ) { XMP_Index index, itemLim; for ( index = 0, itemLim = arrayNode->children.size(); index != itemLim; ++index ) { const XMP_Node * currItem = arrayNode->children[index]; XMP_Assert ( currItem->parent == arrayNode ); if ( ! (currItem->options & kXMP_PropValueIsStruct) ) { XMP_Throw ( "Field selector must be used on array of struct", kXMPErr_BadXPath ); } size_t f, fieldLim; for ( f = 0, fieldLim = currItem->children.size(); f != fieldLim; ++f ) { const XMP_Node * currField = currItem->children[f]; XMP_Assert ( currField->parent == currItem ); if ( currField->name != fieldName ) continue; if ( currField->value == fieldValue ) break; // Exit qual loop. } if ( f != fieldLim ) break; // Exit child loop, found an item with a matching qualifier. } if ( index == itemLim ) index = -1; return index; } // LookupFieldSelector // ================================================================================================= // LookupLangItem // ============== // // ! Assumes that the language value is already normalized. XMP_Index LookupLangItem ( const XMP_Node * arrayNode, XMP_VarString & lang ) { if ( ! (arrayNode->options & kXMP_PropValueIsArray) ) { // *** Check for alt-text? XMP_Throw ( "Language item must be used on array", kXMPErr_BadXPath ); } XMP_Index index = 0; XMP_Index itemLim = arrayNode->children.size(); for ( ; index != itemLim; ++index ) { const XMP_Node * currItem = arrayNode->children[index]; XMP_Assert ( currItem->parent == arrayNode ); if ( currItem->qualifiers.empty() || (currItem->qualifiers[0]->name != "xml:lang") ) continue; if ( currItem->qualifiers[0]->value == lang ) break; } if ( index == itemLim ) index = -1; return index; } // LookupLangItem // ================================================================================================= // FindNode // ======== // // Follow an expanded path expression to find or create a node. Returns a pointer to the node, and // optionally an iterator for the node's position in the parent's vector of children or qualifiers. // The iterator is unchanged if no child node (null) is returned. XMP_Node * FindNode ( XMP_Node * xmpTree, const XMP_ExpandedXPath & expandedXPath, bool createNodes, XMP_OptionBits leafOptions /* = 0 */, XMP_NodePtrPos * ptrPos /* = 0 */ ) { XMP_Node * currNode = 0; XMP_NodePtrPos currPos; XMP_NodePtrPos newSubPos; // Root of implicitly created subtree. Valid only if leaf is new. bool leafIsNew = false; XMP_Assert ( (leafOptions == 0) || createNodes ); if ( expandedXPath.empty() ) XMP_Throw ( "Empty XPath", kXMPErr_BadXPath ); size_t stepNum = 1; // By default start calling FollowXPathStep for the top level property step. size_t stepLim = expandedXPath.size(); // The start of processing deals with the schema node and top level alias. If the top level step // is not an alias, lookup the expanded path's schema URI. Otherwise, lookup the expanded path // for the actual. While tempting, don't substitute the actual's path into the local one, don't // risk messing with the caller's use of that. Also don't call FindNode recursively, we need to // keep track of the root of the implicitly created subtree as we move down the path. if ( ! (expandedXPath[kRootPropStep].options & kXMP_StepIsAlias) ) { currNode = FindSchemaNode ( xmpTree, expandedXPath[kSchemaStep].step.c_str(), createNodes, &currPos ); if ( currNode == 0 ) return 0; if ( currNode->options & kXMP_NewImplicitNode ) { currNode->options ^= kXMP_NewImplicitNode; // Clear the implicit node bit. if ( ! leafIsNew ) newSubPos = currPos; // Save the top most implicit node. leafIsNew = true; // If any parent is new, the leaf will be new also. } } else { stepNum = 2; // ! Continue processing the original path at the second level step. XMP_AliasMapPos aliasPos = sRegisteredAliasMap->find ( expandedXPath[kRootPropStep].step ); XMP_Assert ( aliasPos != sRegisteredAliasMap->end() ); currNode = FindSchemaNode ( xmpTree, aliasPos->second[kSchemaStep].step.c_str(), createNodes, &currPos ); if ( currNode == 0 ) goto EXIT; if ( currNode->options & kXMP_NewImplicitNode ) { currNode->options ^= kXMP_NewImplicitNode; // Clear the implicit node bit. if ( ! leafIsNew ) newSubPos = currPos; // Save the top most implicit node. leafIsNew = true; // If any parent is new, the leaf will be new also. } currNode = FollowXPathStep ( currNode, aliasPos->second, 1, createNodes, &currPos ); if ( currNode == 0 ) goto EXIT; if ( currNode->options & kXMP_NewImplicitNode ) { currNode->options ^= kXMP_NewImplicitNode; // Clear the implicit node bit. CheckImplicitStruct ( currNode, expandedXPath, 2, stepLim ); if ( ! leafIsNew ) newSubPos = currPos; // Save the top most implicit node. leafIsNew = true; // If any parent is new, the leaf will be new also. } XMP_OptionBits arrayForm = aliasPos->second[kRootPropStep].options & kXMP_PropArrayFormMask; XMP_Assert ( (arrayForm == 0) || (arrayForm & kXMP_PropValueIsArray) ); XMP_Assert ( (arrayForm == 0) ? (aliasPos->second.size() == 2) : (aliasPos->second.size() == 3) ); if ( arrayForm != 0 ) { currNode = FollowXPathStep ( currNode, aliasPos->second, 2, createNodes, &currPos, true ); if ( currNode == 0 ) goto EXIT; if ( currNode->options & kXMP_NewImplicitNode ) { currNode->options ^= kXMP_NewImplicitNode; // Clear the implicit node bit. CheckImplicitStruct ( currNode, expandedXPath, 2, stepLim ); if ( ! leafIsNew ) newSubPos = currPos; // Save the top most implicit node. leafIsNew = true; // If any parent is new, the leaf will be new also. } } } // Now follow the remaining steps of the original XPath. // *** ??? Change all the num/lim loops back to numoptions & kXMP_NewImplicitNode ) { currNode->options ^= kXMP_NewImplicitNode; // Clear the implicit node bit. CheckImplicitStruct ( currNode, expandedXPath, stepNum+1, stepLim ); if ( ! leafIsNew ) newSubPos = currPos; // Save the top most implicit node. leafIsNew = true; // If any parent is new, the leaf will be new also. } } } catch ( ... ) { if ( leafIsNew ) DeleteSubtree ( newSubPos ); throw; } // Done. Delete the implicitly created subtree if the eventual node was not found. EXIT: XMP_Assert ( (currNode == 0) || (currNode == *currPos) ); XMP_Assert ( (currNode != 0) || (! createNodes) ); if ( leafIsNew ) { if ( currNode != 0 ) { currNode->options |= leafOptions; } else { DeleteSubtree ( newSubPos ); } } if ( (currNode != 0) && (ptrPos != 0) ) *ptrPos = currPos; return currNode; } // FindNode // ================================================================================================= // CloneOffspring // ============== void CloneOffspring ( const XMP_Node * origParent, XMP_Node * cloneParent ) { size_t qualCount = origParent->qualifiers.size(); size_t childCount = origParent->children.size(); if ( qualCount > 0 ) { cloneParent->qualifiers.reserve ( qualCount ); for ( size_t qualNum = 0, qualLim = qualCount; qualNum != qualLim; ++qualNum ) { const XMP_Node * origQual = origParent->qualifiers[qualNum]; XMP_Node * cloneQual = new XMP_Node ( cloneParent, origQual->name, origQual->value, origQual->options ); CloneOffspring ( origQual, cloneQual ); cloneParent->qualifiers.push_back ( cloneQual ); } } if ( childCount > 0 ) { cloneParent->children.reserve ( childCount ); for ( size_t childNum = 0, childLim = childCount; childNum != childLim; ++childNum ) { const XMP_Node * origChild = origParent->children[childNum]; XMP_Node * cloneChild = new XMP_Node ( cloneParent, origChild->name, origChild->value, origChild->options ); CloneOffspring ( origChild, cloneChild ); cloneParent->children.push_back ( cloneChild ); } } } // CloneOffspring // ================================================================================================= // CloneSubtree // ============ XMP_Node * CloneSubtree ( const XMP_Node * origRoot, XMP_Node * cloneParent ) { #if XMP_DebugBuild if ( cloneParent->parent == 0 ) { XMP_Assert ( origRoot->options & kXMP_SchemaNode ); XMP_Assert ( FindConstSchema ( cloneParent, origRoot->name.c_str() ) == 0 ); } else { XMP_Assert ( ! (origRoot->options & kXMP_SchemaNode) ); if ( cloneParent->options & kXMP_PropValueIsStruct ) { // Might be an array. XMP_Assert ( FindConstChild ( cloneParent, origRoot->name.c_str() ) == 0 ); } } #endif XMP_Node * cloneRoot = new XMP_Node ( cloneParent, origRoot->name, origRoot->value, origRoot->options ); CloneOffspring ( origRoot, cloneRoot ) ; cloneParent->children.push_back ( cloneRoot ); return cloneRoot; } // CloneSubtree // ================================================================================================= // CompareSubtrees // =============== // // Compare 2 subtrees for semantic equality. The comparison includes value, qualifiers, and form. // Schemas, top level properties, struct fields, and qualifiers are allowed to have differing order, // the appropriate right node is found from the left node's name. Alt-text arrays are allowed to be // in differing language order, other arrays are compared in order. // *** Might someday consider sorting unordered arrays. // *** Should expose this through XMPUtils. bool CompareSubtrees ( const XMP_Node & leftNode, const XMP_Node & rightNode ) { // Don't compare the names here, we want to allow the outermost roots to have different names. if ( (leftNode.value != rightNode.value) || (leftNode.options != rightNode.options) || (leftNode.children.size() != rightNode.children.size()) || (leftNode.qualifiers.size() != rightNode.qualifiers.size()) ) return false; // Compare the qualifiers, allowing them to be out of order. for ( size_t qualNum = 0, qualLim = leftNode.qualifiers.size(); qualNum != qualLim; ++qualNum ) { const XMP_Node * leftQual = leftNode.qualifiers[qualNum]; const XMP_Node * rightQual = FindConstQualifier ( &rightNode, leftQual->name.c_str() ); if ( (rightQual == 0) || (! CompareSubtrees ( *leftQual, *rightQual )) ) return false; } if ( (leftNode.parent == 0) || (leftNode.options & (kXMP_SchemaNode | kXMP_PropValueIsStruct)) ) { // The parent node is a tree root, a schema, or a struct. for ( size_t childNum = 0, childLim = leftNode.children.size(); childNum != childLim; ++childNum ) { const XMP_Node * leftChild = leftNode.children[childNum]; const XMP_Node * rightChild = FindConstChild ( &rightNode, leftChild->name.c_str() ); if ( (rightChild == 0) || (! CompareSubtrees ( *leftChild, *rightChild )) ) return false; } } else if ( leftNode.options & kXMP_PropArrayIsAltText ) { // The parent node is an alt-text array. for ( size_t childNum = 0, childLim = leftNode.children.size(); childNum != childLim; ++childNum ) { const XMP_Node * leftChild = leftNode.children[childNum]; XMP_Assert ( (! leftChild->qualifiers.empty()) && (leftChild->qualifiers[0]->name == "xml:lang") ); XMP_Index rightIndex = LookupLangItem ( &rightNode, leftChild->qualifiers[0]->value ); if ( rightIndex == -1 ) return false; const XMP_Node * rightChild = rightNode.children[rightIndex]; if ( ! CompareSubtrees ( *leftChild, *rightChild ) ) return false; } } else { // The parent must be simple or some other (not alt-text) kind of array. XMP_Assert ( (! (leftNode.options & kXMP_PropCompositeMask)) || (leftNode.options & kXMP_PropValueIsArray) ); for ( size_t childNum = 0, childLim = leftNode.children.size(); childNum != childLim; ++childNum ) { const XMP_Node * leftChild = leftNode.children[childNum]; const XMP_Node * rightChild = rightNode.children[childNum]; if ( ! CompareSubtrees ( *leftChild, *rightChild ) ) return false; } } return true; } // CompareSubtrees // ================================================================================================= // DeleteEmptySchema // ================= void DeleteEmptySchema ( XMP_Node * schemaNode ) { if ( XMP_NodeIsSchema ( schemaNode->options ) && schemaNode->children.empty() ) { XMP_Node * xmpTree = schemaNode->parent; size_t schemaNum = 0; size_t schemaLim = xmpTree->children.size(); while ( (schemaNum < schemaLim) && (xmpTree->children[schemaNum] != schemaNode) ) ++schemaNum; XMP_Assert ( schemaNum < schemaLim ); XMP_NodePtrPos schemaPos = xmpTree->children.begin() + schemaNum; XMP_Assert ( *schemaPos == schemaNode ); xmpTree->children.erase ( schemaPos ); delete schemaNode; } } // DeleteEmptySchema // ================================================================================================= // NormalizeLangValue // ================== // // Normalize an xml:lang value so that comparisons are effectively case insensitive as required by // RFC 3066 (which superceeds RFC 1766). The normalization rules: // // - The primary subtag is lower case, the suggested practice of ISO 639. // - All 2 letter secondary subtags are upper case, the suggested practice of ISO 3166. // - All other subtags are lower case. void NormalizeLangValue ( XMP_VarString * value ) { char * tagStart; char * tagEnd; // Find and process the primary subtag. tagStart = (char*) value->c_str(); for ( tagEnd = tagStart; (*tagEnd != 0) && (*tagEnd != '-'); ++tagEnd ) { if ( ('A' <= *tagEnd) && (*tagEnd <= 'Z') ) *tagEnd += 0x20; } // Find and process the secondary subtag. tagStart = tagEnd; if ( *tagStart == '-' ) ++tagStart; for ( tagEnd = tagStart; (*tagEnd != 0) && (*tagEnd != '-'); ++tagEnd ) { if ( ('A' <= *tagEnd) && (*tagEnd <= 'Z') ) *tagEnd += 0x20; } if ( tagEnd == tagStart+2 ) { if ( ('a' <= *tagStart) && (*tagStart <= 'z') ) *tagStart -= 0x20; ++tagStart; if ( ('a' <= *tagStart) && (*tagStart <= 'z') ) *tagStart -= 0x20; } // Find and process the remaining subtags. while ( true ) { tagStart = tagEnd; if ( *tagStart == '-' ) ++tagStart; if ( *tagStart == 0 ) break; for ( tagEnd = tagStart; (*tagEnd != 0) && (*tagEnd != '-'); ++tagEnd ) { if ( ('A' <= *tagEnd) && (*tagEnd <= 'Z') ) *tagEnd += 0x20; } } } // NormalizeLangValue // ================================================================================================= // NormalizeLangArray // ================== // // Make sure the x-default item is first. Touch up "single value" arrays that have a default plus // one real language. This case should have the same value for both items. Older Adobe apps were // hardwired to only use the 'x-default' item, so we copy that value to the other item. void NormalizeLangArray ( XMP_Node * array ) { XMP_Assert ( XMP_ArrayIsAltText(array->options) ); size_t itemNum; size_t itemLim = array->children.size(); bool hasDefault = false; for ( itemNum = 0; itemNum < itemLim; ++itemNum ) { if ( array->children[itemNum]->qualifiers.empty() || (array->children[itemNum]->qualifiers[0]->name != "xml:lang") ) { XMP_Throw ( "AltText array items must have an xml:lang qualifier", kXMPErr_BadXMP ); } if ( array->children[itemNum]->qualifiers[0]->value == "x-default" ) { hasDefault = true; break; } } if ( hasDefault ) { if ( itemNum != 0 ) { XMP_Node * temp = array->children[0]; array->children[0] = array->children[itemNum]; array->children[itemNum] = temp; } // 09-Oct-07, ahu: disabled to avoid unexpected behaviour // if ( itemLim == 2 ) array->children[1]->value = array->children[0]->value; } } // NormalizeLangArray // ================================================================================================= // DetectAltText // ============= // // See if an array is an alt-text array. If so, make sure the x-default item is first. void DetectAltText ( XMP_Node * xmpParent ) { XMP_Assert ( XMP_ArrayIsAlternate(xmpParent->options) ); size_t itemNum, itemLim; for ( itemNum = 0, itemLim = xmpParent->children.size(); itemNum < itemLim; ++itemNum ) { XMP_OptionBits currOptions = xmpParent->children[itemNum]->options; if ( (currOptions & kXMP_PropCompositeMask) || (! (currOptions & kXMP_PropHasLang)) ) break; } if ( (itemLim != 0) && (itemNum == itemLim) ) { xmpParent->options |= kXMP_PropArrayIsAltText; NormalizeLangArray ( xmpParent ); } } // DetectAltText // ================================================================================================= // SortNamedNodes // ============== // // Sort the pointers in an XMP_NodeOffspring vector by name. static inline bool Compare ( const XMP_Node * left, const XMP_Node * right ) { return (left->name < right->name); } void SortNamedNodes ( XMP_NodeOffspring & nodeVector ) { sort ( nodeVector.begin(), nodeVector.end(), Compare ); } // SortNamedNodes // ================================================================================================= exiv2-0.25/xmpsdk/src/WXMPIterator.cpp0000664000175000017500000001402711361140677017433 0ustar andreasandreas// ================================================================================================= // Copyright 2002-2007 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" // ! This must be the first include! #include "XMPCore_Impl.hpp" #include "XMPIterator.hpp" #include "client-glue/WXMPIterator.hpp" #if XMP_WinBuild # ifdef _MSC_VER #pragma warning ( disable : 4101 ) // unreferenced local variable #pragma warning ( disable : 4189 ) // local variable is initialized but not referenced #pragma warning ( disable : 4800 ) // forcing value to bool 'true' or 'false' (performance warning) #if XMP_DebugBuild #pragma warning ( disable : 4297 ) // function assumed not to throw an exception but does # endif # endif #endif #if __cplusplus extern "C" { #endif // ================================================================================================= // CTor/DTor Wrappers // ================== void WXMPIterator_PropCTor_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPIterator_PropCTor_1" ) if ( schemaNS == 0 ) schemaNS = ""; if ( propName == 0 ) propName = ""; const XMPMeta & xmpObj = WtoXMPMeta_Ref ( xmpRef ); XMPIterator * iter = new XMPIterator ( xmpObj, schemaNS, propName, options ); ++iter->clientRefs; XMP_Assert ( iter->clientRefs == 1 ); wResult->ptrResult = XMPIteratorRef ( iter ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPIterator_TableCTor_1 ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPIterator_TableCTor_1" ) if ( schemaNS == 0 ) schemaNS = ""; if ( propName == 0 ) propName = ""; XMPIterator * iter = new XMPIterator ( schemaNS, propName, options ); ++iter->clientRefs; XMP_Assert ( iter->clientRefs == 1 ); wResult->ptrResult = XMPIteratorRef ( iter ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPIterator_IncrementRefCount_1 ( XMPIteratorRef iterRef ) { WXMP_Result * wResult = &void_wResult; // ! Needed to "fool" the EnterWrapper macro. XMP_ENTER_WRAPPER ( "WXMPIterator_IncrementRefCount_1" ) XMPIterator * thiz = (XMPIterator*)iterRef; ++thiz->clientRefs; XMP_Assert ( thiz->clientRefs > 1 ); XMP_EXIT_WRAPPER_NO_THROW } // ------------------------------------------------------------------------------------------------- void WXMPIterator_DecrementRefCount_1 ( XMPIteratorRef iterRef ) { WXMP_Result * wResult = &void_wResult; // ! Needed to "fool" the EnterWrapper macro. XMP_ENTER_WRAPPER ( "WXMPIterator_DecrementRefCount_1" ) XMPIterator * thiz = (XMPIterator*)iterRef; XMP_Assert ( thiz->clientRefs > 0 ); --thiz->clientRefs; if ( thiz->clientRefs <= 0 ) delete ( thiz ); XMP_EXIT_WRAPPER_NO_THROW } // ------------------------------------------------------------------------------------------------- void WXMPIterator_Unlock_1 ( XMP_OptionBits options ) { WXMP_Result * wResult = &void_wResult; // ! Needed to "fool" the EnterWrapper macro. XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPIterator_Unlock_1" ) XMPIterator::Unlock ( options ); XMP_EXIT_WRAPPER_NO_THROW } // ================================================================================================= // Class Method Wrappers // ===================== void WXMPIterator_Next_1 ( XMPIteratorRef iterRef, XMP_StringPtr * schemaNS, XMP_StringLen * nsSize, XMP_StringPtr * propPath, XMP_StringLen * pathSize, XMP_StringPtr * propValue, XMP_StringLen * valueSize, XMP_OptionBits * propOptions, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPIterator_Next_1" ) if ( schemaNS == 0 ) schemaNS = &voidStringPtr; if ( nsSize == 0 ) nsSize = &voidStringLen; if ( propPath == 0 ) propPath = &voidStringPtr; if ( pathSize == 0 ) pathSize = &voidStringLen; if ( propValue == 0 ) propValue = &voidStringPtr; if ( valueSize == 0 ) valueSize = &voidStringLen; if ( propOptions == 0 ) propOptions = &voidOptionBits; XMPIterator * iter = WtoXMPIterator_Ptr ( iterRef ); XMP_Bool found = iter->Next ( schemaNS, nsSize, propPath, pathSize, propValue, valueSize, propOptions ); wResult->int32Result = found; XMP_EXIT_WRAPPER_KEEP_LOCK ( found ) } // ------------------------------------------------------------------------------------------------- void WXMPIterator_Skip_1 ( XMPIteratorRef iterRef, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPIterator_Skip_1" ) XMPIterator * iter = WtoXMPIterator_Ptr ( iterRef ); iter->Skip ( options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPUtils_UnlockIter_1 ( XMPIteratorRef iterRef, XMP_OptionBits options ) { WXMP_Result * wResult = &void_wResult; // ! Needed to "fool" the EnterWrapper macro. XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPUtils_UnlockIter_1" ) XMPIterator * iter = WtoXMPIterator_Ptr ( iterRef ); iter->UnlockIter ( options ); XMP_EXIT_WRAPPER_NO_THROW } // ================================================================================================= #if __cplusplus } /* extern "C" */ #endif exiv2-0.25/xmpsdk/src/WXMPUtils.cpp0000664000175000017500000005123311361140677016742 0ustar andreasandreas// ================================================================================================= // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= // *** Should change "type * inParam" to "type & inParam" #include "XMP_Environment.h" // ! This must be the first include! #include "XMPCore_Impl.hpp" #include "XMPUtils.hpp" #include "client-glue/WXMPUtils.hpp" #if XMP_WinBuild #ifdef _MSC_VER #pragma warning ( disable : 4101 ) // unreferenced local variable #pragma warning ( disable : 4189 ) // local variable is initialized but not referenced #pragma warning ( disable : 4800 ) // forcing value to bool 'true' or 'false' (performance warning) #if XMP_DebugBuild #pragma warning ( disable : 4297 ) // function assumed not to throw an exception but does #endif #endif #endif #if __cplusplus extern "C" { #endif // ================================================================================================= // Class Static Wrappers // ===================== void WXMPUtils_Unlock_1 ( XMP_OptionBits options ) { WXMP_Result * wResult = &void_wResult; // ! Needed to "fool" the EnterWrapper macro. XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPUtils_Unlock_1" ) XMPUtils::Unlock ( options ); XMP_EXIT_WRAPPER_NO_THROW } // ================================================================================================= void WXMPUtils_ComposeArrayItemPath_1 ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr * fullPath, XMP_StringLen * pathSize, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_ComposeArrayItemPath_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (arrayName == 0) || (*arrayName == 0) ) XMP_Throw ( "Empty array name", kXMPErr_BadXPath ); if ( fullPath == 0 ) fullPath = &voidStringPtr; if ( pathSize == 0 ) pathSize = &voidStringLen; XMPUtils::ComposeArrayItemPath ( schemaNS, arrayName, itemIndex, fullPath, pathSize ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) } // ------------------------------------------------------------------------------------------------- void WXMPUtils_ComposeStructFieldPath_1 ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr * fullPath, XMP_StringLen * pathSize, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_ComposeStructFieldPath_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (structName == 0) || (*structName == 0) ) XMP_Throw ( "Empty struct name", kXMPErr_BadXPath ); if ( (fieldNS == 0) || (*fieldNS == 0) ) XMP_Throw ( "Empty field namespace URI", kXMPErr_BadSchema ); if ( (fieldName == 0) || (*fieldName == 0) ) XMP_Throw ( "Empty field name", kXMPErr_BadXPath ); if ( fullPath == 0 ) fullPath = &voidStringPtr; if ( pathSize == 0 ) pathSize = &voidStringLen; XMPUtils::ComposeStructFieldPath ( schemaNS, structName, fieldNS, fieldName, fullPath, pathSize ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) } // ------------------------------------------------------------------------------------------------- void WXMPUtils_ComposeQualifierPath_1 ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr * fullPath, XMP_StringLen * pathSize, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_ComposeQualifierPath_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); if ( (qualNS == 0) || (*qualNS == 0) ) XMP_Throw ( "Empty qualifier namespace URI", kXMPErr_BadSchema ); if ( (qualName == 0) || (*qualName == 0) ) XMP_Throw ( "Empty qualifier name", kXMPErr_BadXPath ); if ( fullPath == 0 ) fullPath = &voidStringPtr; if ( pathSize == 0 ) pathSize = &voidStringLen; XMPUtils::ComposeQualifierPath ( schemaNS, propName, qualNS, qualName, fullPath, pathSize ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) } // ------------------------------------------------------------------------------------------------- void WXMPUtils_ComposeLangSelector_1 ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr langName, XMP_StringPtr * fullPath, XMP_StringLen * pathSize, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_ComposeLangSelector_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (arrayName == 0) || (*arrayName == 0) ) XMP_Throw ( "Empty array name", kXMPErr_BadXPath ); if ( (langName == 0) || (*langName == 0) ) XMP_Throw ( "Empty language name", kXMPErr_BadParam ); if ( fullPath == 0 ) fullPath = &voidStringPtr; if ( pathSize == 0 ) pathSize = &voidStringLen; XMPUtils::ComposeLangSelector ( schemaNS, arrayName, langName, fullPath, pathSize ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) } // ------------------------------------------------------------------------------------------------- void WXMPUtils_ComposeFieldSelector_1 ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, XMP_StringPtr * fullPath, XMP_StringLen * pathSize, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_ComposeFieldSelector_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (arrayName == 0) || (*arrayName == 0) ) XMP_Throw ( "Empty array name", kXMPErr_BadXPath ); if ( (fieldNS == 0) || (*fieldNS == 0) ) XMP_Throw ( "Empty field namespace URI", kXMPErr_BadSchema ); if ( (fieldName == 0) || (*fieldName == 0) ) XMP_Throw ( "Empty field name", kXMPErr_BadXPath ); if ( fieldValue == 0 ) fieldValue = ""; if ( fullPath == 0 ) fullPath = &voidStringPtr; if ( pathSize == 0 ) pathSize = &voidStringLen; XMPUtils::ComposeFieldSelector ( schemaNS, arrayName, fieldNS, fieldName, fieldValue, fullPath, pathSize ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) } // ================================================================================================= void WXMPUtils_ConvertFromBool_1 ( XMP_Bool binValue, XMP_StringPtr * strValue, XMP_StringLen * strSize, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_ConvertFromBool_1" ) if ( strValue == 0 ) strValue = &voidStringPtr; if ( strSize == 0 ) strSize = &voidStringLen; XMPUtils::ConvertFromBool ( binValue, strValue, strSize ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) } // ------------------------------------------------------------------------------------------------- void WXMPUtils_ConvertFromInt_1 ( XMP_Int32 binValue, XMP_StringPtr format, XMP_StringPtr * strValue, XMP_StringLen * strSize, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_ConvertFromInt_1" ) if ( format == 0 ) format = ""; if ( strValue == 0 ) strValue = &voidStringPtr; if ( strSize == 0 ) strSize = &voidStringLen; XMPUtils::ConvertFromInt ( binValue, format, strValue, strSize ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) } // ------------------------------------------------------------------------------------------------- void WXMPUtils_ConvertFromInt64_1 ( XMP_Int64 binValue, XMP_StringPtr format, XMP_StringPtr * strValue, XMP_StringLen * strSize, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_ConvertFromInt64_1" ) if ( format == 0 ) format = ""; if ( strValue == 0 ) strValue = &voidStringPtr; if ( strSize == 0 ) strSize = &voidStringLen; XMPUtils::ConvertFromInt64 ( binValue, format, strValue, strSize ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) } // ------------------------------------------------------------------------------------------------- void WXMPUtils_ConvertFromFloat_1 ( double binValue, XMP_StringPtr format, XMP_StringPtr * strValue, XMP_StringLen * strSize, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_ConvertFromFloat_1" ) if ( format == 0 ) format = ""; if ( strValue == 0 ) strValue = &voidStringPtr; if ( strSize == 0 ) strSize = &voidStringLen; XMPUtils::ConvertFromFloat ( binValue, format, strValue, strSize ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) } // ------------------------------------------------------------------------------------------------- void WXMPUtils_ConvertFromDate_1 ( const XMP_DateTime & binValue, XMP_StringPtr * strValue, XMP_StringLen * strSize, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_ConvertFromDate_1" ) if ( strValue == 0 ) strValue = &voidStringPtr; if ( strSize == 0 ) strSize = &voidStringLen; XMPUtils::ConvertFromDate( binValue, strValue, strSize ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) } // ================================================================================================= void WXMPUtils_ConvertToBool_1 ( XMP_StringPtr strValue, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPUtils_ConvertToBool_1" ) if ( (strValue == 0) || (*strValue == 0) ) XMP_Throw ( "Empty string value", kXMPErr_BadParam); XMP_Bool result = XMPUtils::ConvertToBool ( strValue ); wResult->int32Result = result; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPUtils_ConvertToInt_1 ( XMP_StringPtr strValue, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPUtils_ConvertToInt_1" ) if ( (strValue == 0) || (*strValue == 0) ) XMP_Throw ( "Empty string value", kXMPErr_BadParam); XMP_Int32 result = XMPUtils::ConvertToInt ( strValue ); wResult->int32Result = result; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPUtils_ConvertToInt64_1 ( XMP_StringPtr strValue, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPUtils_ConvertToInt64_1" ) if ( (strValue == 0) || (*strValue == 0) ) XMP_Throw ( "Empty string value", kXMPErr_BadParam); XMP_Int64 result = XMPUtils::ConvertToInt64 ( strValue ); wResult->int64Result = result; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPUtils_ConvertToFloat_1 ( XMP_StringPtr strValue, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPUtils_ConvertToFloat_1") if ( (strValue == 0) || (*strValue == 0) ) XMP_Throw ( "Empty string value", kXMPErr_BadParam); double result = XMPUtils::ConvertToFloat ( strValue ); wResult->floatResult = result; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPUtils_ConvertToDate_1 ( XMP_StringPtr strValue, XMP_DateTime * binValue, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPUtils_ConvertToDate_1" ) if ( binValue == 0 ) XMP_Throw ( "Null output date", kXMPErr_BadParam); // ! Pointer is from the client. XMPUtils::ConvertToDate ( strValue, binValue ); XMP_EXIT_WRAPPER } // ================================================================================================= void WXMPUtils_CurrentDateTime_1 ( XMP_DateTime * time, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPUtils_CurrentDateTime_1" ) if ( time == 0 ) XMP_Throw ( "Null output date", kXMPErr_BadParam); XMPUtils::CurrentDateTime ( time ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPUtils_SetTimeZone_1 ( XMP_DateTime * time, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPUtils_SetTimeZone_1" ) if ( time == 0 ) XMP_Throw ( "Null output date", kXMPErr_BadParam); XMPUtils::SetTimeZone ( time ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPUtils_ConvertToUTCTime_1 ( XMP_DateTime * time, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPUtils_ConvertToUTCTime_1" ) if ( time == 0 ) XMP_Throw ( "Null output date", kXMPErr_BadParam); XMPUtils::ConvertToUTCTime ( time ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPUtils_ConvertToLocalTime_1 ( XMP_DateTime * time, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPUtils_ConvertToLocalTime_1" ) if ( time == 0 ) XMP_Throw ( "Null output date", kXMPErr_BadParam); XMPUtils::ConvertToLocalTime ( time ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPUtils_CompareDateTime_1 ( const XMP_DateTime & left, const XMP_DateTime & right, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPUtils_CompareDateTime_1" ) int result = XMPUtils::CompareDateTime ( left, right ); wResult->int32Result = result; XMP_EXIT_WRAPPER } // ================================================================================================= void WXMPUtils_EncodeToBase64_1 ( XMP_StringPtr rawStr, XMP_StringLen rawLen, XMP_StringPtr * encodedStr, XMP_StringLen * encodedLen, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_EncodeToBase64_1" ) if ( encodedStr == 0 ) encodedStr = &voidStringPtr; if ( encodedLen == 0 ) encodedLen = &voidStringLen; XMPUtils::EncodeToBase64 ( rawStr, rawLen, encodedStr, encodedLen ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) } // ------------------------------------------------------------------------------------------------- void WXMPUtils_DecodeFromBase64_1 ( XMP_StringPtr encodedStr, XMP_StringLen encodedLen, XMP_StringPtr * rawStr, XMP_StringLen * rawLen, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_DecodeFromBase64_1" ) if ( rawStr == 0 ) rawStr = &voidStringPtr; if ( rawLen == 0 ) rawLen = &voidStringLen; XMPUtils::DecodeFromBase64 ( encodedStr, encodedLen, rawStr, rawLen ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) } // ================================================================================================= void WXMPUtils_PackageForJPEG_1 ( XMPMetaRef wxmpObj, XMP_StringPtr * stdStr, XMP_StringLen * stdLen, XMP_StringPtr * extStr, XMP_StringLen * extLen, XMP_StringPtr * digestStr, XMP_StringLen * digestLen, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_PackageForJPEG_1" ) if ( stdStr == 0 ) stdStr = &voidStringPtr; if ( stdLen == 0 ) stdLen = &voidStringLen; if ( extStr == 0 ) extStr = &voidStringPtr; if ( extLen == 0 ) extLen = &voidStringLen; if ( digestStr == 0 ) digestStr = &voidStringPtr; if ( digestLen == 0 ) digestLen = &voidStringLen; const XMPMeta & xmpObj = WtoXMPMeta_Ref ( wxmpObj ); XMPUtils::PackageForJPEG ( xmpObj, stdStr, stdLen, extStr, extLen, digestStr, digestLen ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) } // ------------------------------------------------------------------------------------------------- void WXMPUtils_MergeFromJPEG_1 ( XMPMetaRef wfullXMP, XMPMetaRef wextendedXMP, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_MergeFromJPEG_1" ) if ( wfullXMP == 0 ) XMP_Throw ( "Output XMP pointer is null", kXMPErr_BadParam ); XMPMeta * fullXMP = WtoXMPMeta_Ptr ( wfullXMP ); const XMPMeta & extendedXMP = WtoXMPMeta_Ref ( wextendedXMP ); XMPUtils::MergeFromJPEG ( fullXMP, extendedXMP ); XMP_EXIT_WRAPPER } // ================================================================================================= void WXMPUtils_CatenateArrayItems_1 ( XMPMetaRef wxmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr separator, XMP_StringPtr quotes, XMP_OptionBits options, XMP_StringPtr * catedStr, XMP_StringLen * catedLen, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_CatenateArrayItems_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (arrayName == 0) || (*arrayName == 0) ) XMP_Throw ( "Empty array name", kXMPErr_BadXPath ); if ( separator == 0 ) separator = "; "; if ( quotes == 0 ) quotes = "\""; if ( catedStr == 0 ) catedStr = &voidStringPtr; if ( catedLen == 0 ) catedLen = &voidStringLen; const XMPMeta & xmpObj = WtoXMPMeta_Ref ( wxmpObj ); XMPUtils::CatenateArrayItems ( xmpObj, schemaNS, arrayName, separator, quotes, options, catedStr, catedLen ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) } // ------------------------------------------------------------------------------------------------- void WXMPUtils_SeparateArrayItems_1 ( XMPMetaRef wxmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, XMP_StringPtr catedStr, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_SeparateArrayItems_1" ) if ( wxmpObj == 0 ) XMP_Throw ( "Output XMP pointer is null", kXMPErr_BadParam ); if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (arrayName == 0) || (*arrayName == 0) ) XMP_Throw ( "Empty array name", kXMPErr_BadXPath ); if ( catedStr == 0 ) catedStr = ""; XMPMeta * xmpObj = WtoXMPMeta_Ptr ( wxmpObj ); XMPUtils::SeparateArrayItems ( xmpObj, schemaNS, arrayName, options, catedStr ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPUtils_RemoveProperties_1 ( XMPMetaRef wxmpObj, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_RemoveProperties_1" ) if ( wxmpObj == 0 ) XMP_Throw ( "Output XMP pointer is null", kXMPErr_BadParam ); if ( schemaNS == 0 ) schemaNS = ""; if ( propName == 0 ) propName = ""; XMPMeta * xmpObj = WtoXMPMeta_Ptr ( wxmpObj ); XMPUtils::RemoveProperties ( xmpObj, schemaNS, propName, options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPUtils_AppendProperties_1 ( XMPMetaRef wSource, XMPMetaRef wDest, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_AppendProperties_1" ) if ( wDest == 0 ) XMP_Throw ( "Output XMP pointer is null", kXMPErr_BadParam ); const XMPMeta & source = WtoXMPMeta_Ref ( wSource ); XMPMeta * dest = WtoXMPMeta_Ptr ( wDest ); XMPUtils::AppendProperties ( source, dest, options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPUtils_DuplicateSubtree_1 ( XMPMetaRef wSource, XMPMetaRef wDest, XMP_StringPtr sourceNS, XMP_StringPtr sourceRoot, XMP_StringPtr destNS, XMP_StringPtr destRoot, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPUtils_DuplicateSubtree_1" ) if ( wDest == 0 ) XMP_Throw ( "Output XMP pointer is null", kXMPErr_BadParam ); if ( (sourceNS == 0) || (*sourceNS == 0) ) XMP_Throw ( "Empty source schema URI", kXMPErr_BadSchema ); if ( (sourceRoot == 0) || (*sourceRoot == 0) ) XMP_Throw ( "Empty source root name", kXMPErr_BadXPath ); if ( destNS == 0 ) destNS = sourceNS; if ( destRoot == 0 ) destRoot = sourceRoot; const XMPMeta & source = WtoXMPMeta_Ref ( wSource ); XMPMeta * dest = WtoXMPMeta_Ptr ( wDest ); XMPUtils::DuplicateSubtree ( source, dest, sourceNS, sourceRoot, destNS, destRoot, options ); XMP_EXIT_WRAPPER } // ================================================================================================= #if __cplusplus } /* extern "C" */ #endif exiv2-0.25/xmpsdk/src/XMPMeta-Parse.cpp0000664000175000017500000013767012467000312017450 0ustar andreasandreas// ================================================================================================= // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // // Adobe patent application tracking #P435, entitled 'Unique markers to simplify embedding data of // one format in a file with a different format', inventors: Sean Parent, Greg Gilley. // ================================================================================================= #include "XMP_Environment.h" // ! This must be the first include! #include "XMPCore_Impl.hpp" #include "XMPMeta.hpp" #include "XMPUtils.hpp" #include "UnicodeInlines.incl_cpp" #include "UnicodeConversions.hpp" #include "ExpatAdapter.hpp" #if XMP_DebugBuild #include #endif using namespace std; #if XMP_WinBuild #ifdef _MSC_VER #pragma warning ( disable : 4533 ) // initialization of '...' is skipped by 'goto ...' #pragma warning ( disable : 4702 ) // unreachable code #pragma warning ( disable : 4800 ) // forcing value to bool 'true' or 'false' (performance warning) #pragma warning ( disable : 4996 ) // '...' was declared deprecated #endif #endif // *** Use the XMP_PropIsXyz (Schema, Simple, Struct, Array, ...) macros // *** Add debug codegen checks, e.g. that typical masking operations really work // *** Change all uses of strcmp and strncmp to XMP_LitMatch and XMP_LitNMatch // ================================================================================================= // Local Types and Constants // ========================= // ================================================================================================= // Static Variables // ================ #ifndef Trace_ParsingHackery #define Trace_ParsingHackery 0 #endif static const char * kReplaceLatin1[128] = { // The 0x80..0x9F range is undefined in Latin-1, but is defined in Windows code page 1252. // The bytes 0x81, 0x8D, 0x8F, 0x90, and 0x9D are formally undefined by Windows 1252, but // their conversion API maps them to U+0081, etc. These are in XML's RestrictedChar set, so // we map them to a space. "\xE2\x82\xAC", " ", "\xE2\x80\x9A", "\xC6\x92", // 0x80 .. 0x83 "\xE2\x80\x9E", "\xE2\x80\xA6", "\xE2\x80\xA0", "\xE2\x80\xA1", // 0x84 .. 0x87 "\xCB\x86", "\xE2\x80\xB0", "\xC5\xA0", "\xE2\x80\xB9", // 0x88 .. 0x8B "\xC5\x92", " ", "\xC5\xBD", " ", // 0x8C .. 0x8F " ", "\xE2\x80\x98", "\xE2\x80\x99", "\xE2\x80\x9C", // 0x90 .. 0x93 "\xE2\x80\x9D", "\xE2\x80\xA2", "\xE2\x80\x93", "\xE2\x80\x94", // 0x94 .. 0x97 "\xCB\x9C", "\xE2\x84\xA2", "\xC5\xA1", "\xE2\x80\xBA", // 0x98 .. 0x9B "\xC5\x93", " ", "\xC5\xBE", "\xC5\xB8", // 0x9C .. 0x9F // These are the UTF-8 forms of the official Latin-1 characters in the range 0xA0..0xFF. Not // too surprisingly these map to U+00A0, etc. Which is the Unicode Latin Supplement range. "\xC2\xA0", "\xC2\xA1", "\xC2\xA2", "\xC2\xA3", "\xC2\xA4", "\xC2\xA5", "\xC2\xA6", "\xC2\xA7", // 0xA0 .. 0xA7 "\xC2\xA8", "\xC2\xA9", "\xC2\xAA", "\xC2\xAB", "\xC2\xAC", "\xC2\xAD", "\xC2\xAE", "\xC2\xAF", // 0xA8 .. 0xAF "\xC2\xB0", "\xC2\xB1", "\xC2\xB2", "\xC2\xB3", "\xC2\xB4", "\xC2\xB5", "\xC2\xB6", "\xC2\xB7", // 0xB0 .. 0xB7 "\xC2\xB8", "\xC2\xB9", "\xC2\xBA", "\xC2\xBB", "\xC2\xBC", "\xC2\xBD", "\xC2\xBE", "\xC2\xBF", // 0xB8 .. 0xBF "\xC3\x80", "\xC3\x81", "\xC3\x82", "\xC3\x83", "\xC3\x84", "\xC3\x85", "\xC3\x86", "\xC3\x87", // 0xC0 .. 0xC7 "\xC3\x88", "\xC3\x89", "\xC3\x8A", "\xC3\x8B", "\xC3\x8C", "\xC3\x8D", "\xC3\x8E", "\xC3\x8F", // 0xC8 .. 0xCF "\xC3\x90", "\xC3\x91", "\xC3\x92", "\xC3\x93", "\xC3\x94", "\xC3\x95", "\xC3\x96", "\xC3\x97", // 0xD0 .. 0xD7 "\xC3\x98", "\xC3\x99", "\xC3\x9A", "\xC3\x9B", "\xC3\x9C", "\xC3\x9D", "\xC3\x9E", "\xC3\x9F", // 0xD8 .. 0xDF "\xC3\xA0", "\xC3\xA1", "\xC3\xA2", "\xC3\xA3", "\xC3\xA4", "\xC3\xA5", "\xC3\xA6", "\xC3\xA7", // 0xE0 .. 0xE7 "\xC3\xA8", "\xC3\xA9", "\xC3\xAA", "\xC3\xAB", "\xC3\xAC", "\xC3\xAD", "\xC3\xAE", "\xC3\xAF", // 0xE8 .. 0xEF "\xC3\xB0", "\xC3\xB1", "\xC3\xB2", "\xC3\xB3", "\xC3\xB4", "\xC3\xB5", "\xC3\xB6", "\xC3\xB7", // 0xF0 .. 0xF7 "\xC3\xB8", "\xC3\xB9", "\xC3\xBA", "\xC3\xBB", "\xC3\xBC", "\xC3\xBD", "\xC3\xBE", "\xC3\xBF", // 0xF8 .. 0xFF }; // ================================================================================================= // Local Utilities // =============== #define IsHexDigit(ch) ( (('0' <= (ch)) && ((ch) <= '9')) || (('A' <= (ch)) && ((ch) <= 'F')) ) #define HexDigitValue(ch) ( (((ch) - '0') < 10) ? ((ch) - '0') : ((ch) - 'A' + 10) ) // ------------------------------------------------------------------------------------------------- // PickBestRoot // ------------ static const XML_Node * PickBestRoot ( const XML_Node & xmlParent, XMP_OptionBits options ) { // Look among this parent's content for x:xmpmeta. The recursion for x:xmpmeta is broader than // the strictly defined choice, but gives us smaller code. for ( size_t childNum = 0, childLim = xmlParent.content.size(); childNum < childLim; ++childNum ) { const XML_Node * childNode = xmlParent.content[childNum]; if ( childNode->kind != kElemNode ) continue; if ( (childNode->name == "x:xmpmeta") || (childNode->name == "x:xapmeta") ) return PickBestRoot ( *childNode, 0 ); } // Look among this parent's content for a bare rdf:RDF if that is allowed. if ( ! (options & kXMP_RequireXMPMeta) ) { for ( size_t childNum = 0, childLim = xmlParent.content.size(); childNum < childLim; ++childNum ) { const XML_Node * childNode = xmlParent.content[childNum]; if ( childNode->kind != kElemNode ) continue; if ( childNode->name == "rdf:RDF" ) return childNode; } } // Recurse into the content. for ( size_t childNum = 0, childLim = xmlParent.content.size(); childNum < childLim; ++childNum ) { const XML_Node * foundRoot = PickBestRoot ( *xmlParent.content[childNum], options ); if ( foundRoot != 0 ) return foundRoot; } return 0; } // PickBestRoot // ------------------------------------------------------------------------------------------------- // FindRootNode // ------------ // // Find the XML node that is the root of the XMP data tree. Generally this will be an outer node, // but it could be anywhere if a general XML document is parsed (e.g. SVG). The XML parser counted // all possible root nodes, and kept a pointer to the last one. If there is more than one possible // root use PickBestRoot to choose among them. // // If there is a root node, try to extract the version of the previous XMP toolkit. static const XML_Node * FindRootNode ( XMPMeta * thiz, const XMLParserAdapter & xmlParser, XMP_OptionBits options ) { const XML_Node * rootNode = xmlParser.rootNode; if ( xmlParser.rootCount > 1 ) rootNode = PickBestRoot ( xmlParser.tree, options ); if ( rootNode == 0 ) return 0; // We have a root node. Try to extract previous toolkit version number. XMP_StringPtr verStr = ""; XMP_Assert ( rootNode->name == "rdf:RDF" ); if ( (options & kXMP_RequireXMPMeta) && ((rootNode->parent == 0) || ((rootNode->parent->name != "x:xmpmeta") && (rootNode->parent->name != "x:xapmeta"))) ) return 0; for ( size_t attrNum = 0, attrLim = rootNode->parent->attrs.size(); attrNum < attrLim; ++attrNum ) { const XML_Node * currAttr =rootNode->parent->attrs[attrNum]; if ( (currAttr->name == "x:xmptk") || (currAttr->name == "x:xaptk") ) { verStr = currAttr->value.c_str(); break; } } // Decode the version number into MMmmuubbb digits. If any part is too big, peg it at 99 or 999. unsigned long part; while ( (*verStr != 0) && ((*verStr < '0') || (*verStr > '9')) ) ++verStr; part = 0; while ( (*verStr != 0) && ('0' <= *verStr) && (*verStr <= '9') ) { part = (part * 10) + (*verStr - '0'); ++verStr; } if ( part > 99 ) part = 99; thiz->prevTkVer = part * 100*100*1000; part = 0; if ( *verStr == '.' ) ++verStr; while ( (*verStr != 0) && ('0' <= *verStr) && (*verStr <= '9') ) { part = (part * 10) + (*verStr - '0'); ++verStr; } if ( part > 99 ) part = 99; thiz->prevTkVer += part * 100*1000; part = 0; if ( *verStr == '.' ) ++verStr; while ( (*verStr != 0) && ('0' <= *verStr) && (*verStr <= '9') ) { part = (part * 10) + (*verStr - '0'); ++verStr; } if ( part > 99 ) part = 99; thiz->prevTkVer += part * 1000; part = 0; if ( *verStr == '-' ) ++verStr; while ( (*verStr != 0) && ('0' <= *verStr) && (*verStr <= '9') ) { part = (part * 10) + (*verStr - '0'); ++verStr; } if ( part > 999 ) part = 999; thiz->prevTkVer += part; return rootNode; } // FindRootNode // ------------------------------------------------------------------------------------------------- // NormalizeDCArrays // ----------------- // // Undo the denormalization performed by the XMP used in Acrobat 5. If a Dublin Core array had only // one item, it was serialized as a simple property. The xml:lang attribute was dropped from an // alt-text item if the language was x-default. // *** This depends on the dc: namespace prefix. static void NormalizeDCArrays ( XMP_Node * xmpTree ) { XMP_Node * dcSchema = FindSchemaNode ( xmpTree, kXMP_NS_DC, kXMP_ExistingOnly ); if ( dcSchema == 0 ) return; for ( size_t propNum = 0, propLimit = dcSchema->children.size(); propNum < propLimit; ++propNum ) { XMP_Node * currProp = dcSchema->children[propNum]; XMP_OptionBits arrayForm = 0; if ( ! XMP_PropIsSimple ( currProp->options ) ) continue; // Nothing to do if not simple. if ( (currProp->name == "dc:creator" ) || // See if it is supposed to be an array. (currProp->name == "dc:date" ) ) { // *** Think about an array of char* and a loop. arrayForm = kXMP_PropArrayIsOrdered; } else if ( (currProp->name == "dc:description" ) || (currProp->name == "dc:rights" ) || (currProp->name == "dc:title" ) ) { arrayForm = kXMP_PropArrayIsAltText; } else if ( (currProp->name == "dc:contributor" ) || (currProp->name == "dc:language" ) || (currProp->name == "dc:publisher" ) || (currProp->name == "dc:relation" ) || (currProp->name == "dc:subject" ) || (currProp->name == "dc:type" ) ) { arrayForm = kXMP_PropValueIsArray; } if ( arrayForm == 0 ) continue; // Nothing to do if it isn't supposed to be an array. arrayForm = VerifySetOptions ( arrayForm, 0 ); // Set the implicit array bits. XMP_Node * newArray = new XMP_Node ( dcSchema, currProp->name.c_str(), arrayForm ); dcSchema->children[propNum] = newArray; newArray->children.push_back ( currProp ); currProp->parent = newArray; currProp->name = kXMP_ArrayItemName; if ( XMP_ArrayIsAltText ( arrayForm ) && (! (currProp->options & kXMP_PropHasLang)) ) { XMP_Node * newLang = new XMP_Node ( currProp, "xml:lang", "x-default", kXMP_PropIsQualifier ); currProp->options |= (kXMP_PropHasQualifiers | kXMP_PropHasLang); if ( currProp->qualifiers.empty() ) { // *** Need a util? currProp->qualifiers.push_back ( newLang ); } else { currProp->qualifiers.insert ( currProp->qualifiers.begin(), newLang ); } } } } // NormalizeDCArrays // ------------------------------------------------------------------------------------------------- // CompareAliasedSubtrees // ---------------------- // *** Change to do some alias-specific setup, then use CompareSubtrees. One special case for // *** aliases is a simple to x-default alias, the options and qualifiers obviously differ. static void CompareAliasedSubtrees ( XMP_Node * aliasNode, XMP_Node * baseNode, bool outerCall = true ) { // ! The outermost call is special. The names almost certainly differ. The qualifiers (and // ! hence options) will differ for an alias to the x-default item of a langAlt array. if ( (aliasNode->value != baseNode->value) || (aliasNode->children.size() != baseNode->children.size()) ) { XMP_Throw ( "Mismatch between alias and base nodes", kXMPErr_BadXMP ); } if ( ! outerCall ) { if ( (aliasNode->name != baseNode->name) || (aliasNode->options != baseNode->options) || (aliasNode->qualifiers.size() != baseNode->qualifiers.size()) ) { XMP_Throw ( "Mismatch between alias and base nodes", kXMPErr_BadXMP ); } } for ( size_t childNum = 0, childLim = aliasNode->children.size(); childNum < childLim; ++childNum ) { XMP_Node * aliasChild = aliasNode->children[childNum]; XMP_Node * baseChild = baseNode->children[childNum]; CompareAliasedSubtrees ( aliasChild, baseChild, false ); } for ( size_t qualNum = 0, qualLim = aliasNode->qualifiers.size(); qualNum < qualLim; ++qualNum ) { XMP_Node * aliasQual = aliasNode->qualifiers[qualNum]; XMP_Node * baseQual = baseNode->qualifiers[qualNum]; CompareAliasedSubtrees ( aliasQual, baseQual, false ); } } // CompareAliasedSubtrees // ------------------------------------------------------------------------------------------------- // TransplantArrayItemAlias // ------------------------ static void TransplantArrayItemAlias ( XMP_Node * oldParent, size_t oldNum, XMP_Node * newParent ) { XMP_Node * childNode = oldParent->children[oldNum]; if ( newParent->options & kXMP_PropArrayIsAltText ) { if ( childNode->options & kXMP_PropHasLang ) { XMP_Throw ( "Alias to x-default already has a language qualifier", kXMPErr_BadXMP ); // *** Allow x-default. } childNode->options |= (kXMP_PropHasQualifiers | kXMP_PropHasLang); XMP_Node * langQual = new XMP_Node ( childNode, "xml:lang", "x-default", kXMP_PropIsQualifier ); // *** AddLangQual util? if ( childNode->qualifiers.empty() ) { childNode->qualifiers.push_back ( langQual ); } else { childNode->qualifiers.insert ( childNode->qualifiers.begin(), langQual ); } } oldParent->children.erase ( oldParent->children.begin() + oldNum ); childNode->name = kXMP_ArrayItemName; childNode->parent = newParent; if ( newParent->children.empty() ) { newParent->children.push_back ( childNode ); } else { newParent->children.insert ( newParent->children.begin(), childNode ); } } // TransplantArrayItemAlias // ------------------------------------------------------------------------------------------------- // TransplantNamedAlias // -------------------- static void TransplantNamedAlias ( XMP_Node * oldParent, size_t oldNum, XMP_Node * newParent, XMP_VarString & newName ) { XMP_Node * childNode = oldParent->children[oldNum]; oldParent->children.erase ( oldParent->children.begin() + oldNum ); childNode->name = newName; childNode->parent = newParent; newParent->children.push_back ( childNode ); } // TransplantNamedAlias // ------------------------------------------------------------------------------------------------- // MoveExplicitAliases // ------------------- static void MoveExplicitAliases ( XMP_Node * tree, XMP_OptionBits parseOptions ) { tree->options ^= kXMP_PropHasAliases; const bool strictAliasing = ((parseOptions & kXMP_StrictAliasing) != 0); // Visit all of the top level nodes looking for aliases. If there is no base, transplant the // alias subtree. If there is a base and strict aliasing is on, make sure the alias and base // subtrees match. // ! Use "while" loops not "for" loops since both the schema and property loops can remove the // ! current item from the vector being traversed. And don't increment the counter for a delete. size_t schemaNum = 0; while ( schemaNum < tree->children.size() ) { XMP_Node * currSchema = tree->children[schemaNum]; size_t propNum = 0; while ( propNum < currSchema->children.size() ) { XMP_Node * currProp = currSchema->children[propNum]; if ( ! (currProp->options & kXMP_PropIsAlias) ) { ++propNum; continue; } currProp->options ^= kXMP_PropIsAlias; // Find the base path, look for the base schema and root node. XMP_AliasMapPos aliasPos = sRegisteredAliasMap->find ( currProp->name ); XMP_Assert ( aliasPos != sRegisteredAliasMap->end() ); XMP_ExpandedXPath & basePath = aliasPos->second; XMP_OptionBits arrayOptions = (basePath[kRootPropStep].options & kXMP_PropArrayFormMask); XMP_Node * baseSchema = FindSchemaNode ( tree, basePath[kSchemaStep].step.c_str(), kXMP_CreateNodes ); if ( baseSchema->options & kXMP_NewImplicitNode ) baseSchema->options ^= kXMP_NewImplicitNode; XMP_Node * baseNode = FindChildNode ( baseSchema, basePath[kRootPropStep].step.c_str(), kXMP_ExistingOnly ); if ( baseNode == 0 ) { if ( basePath.size() == 2 ) { // A top-to-top alias, transplant the property. TransplantNamedAlias ( currSchema, propNum, baseSchema, basePath[kRootPropStep].step ); } else { // An alias to an array item, create the array and transplant the property. baseNode = new XMP_Node ( baseSchema, basePath[kRootPropStep].step.c_str(), arrayOptions ); baseSchema->children.push_back ( baseNode ); TransplantArrayItemAlias ( currSchema, propNum, baseNode ); } } else if ( basePath.size() == 2 ) { // The base node does exist and this is a top-to-top alias. Check for conflicts if // strict aliasing is on. Remove and delete the alias subtree. if ( strictAliasing ) CompareAliasedSubtrees ( currProp, baseNode ); currSchema->children.erase ( currSchema->children.begin() + propNum ); delete currProp; } else { // This is an alias to an array item and the array exists. Look for the aliased item. // Then transplant or check & delete as appropriate. XMP_Node * itemNode = 0; if ( arrayOptions & kXMP_PropArrayIsAltText ) { XMP_Index xdIndex = LookupLangItem ( baseNode, *xdefaultName ); if ( xdIndex != -1 ) itemNode = baseNode->children[xdIndex]; } else if ( ! baseNode->children.empty() ) { itemNode = baseNode->children[0]; } if ( itemNode == 0 ) { TransplantArrayItemAlias ( currSchema, propNum, baseNode ); } else { if ( strictAliasing ) CompareAliasedSubtrees ( currProp, itemNode ); currSchema->children.erase ( currSchema->children.begin() + propNum ); delete currProp; } } } // Property loop // Increment the counter or remove an empty schema node. if ( currSchema->children.size() > 0 ) { ++schemaNum; } else { delete tree->children[schemaNum]; // ! Delete the schema node itself. tree->children.erase ( tree->children.begin() + schemaNum ); } } // Schema loop } // MoveExplicitAliases // ------------------------------------------------------------------------------------------------- // FixGPSTimeStamp // --------------- static void FixGPSTimeStamp ( XMP_Node * exifSchema, XMP_Node * gpsDateTime ) { XMP_DateTime binGPSStamp; try { XMPUtils::ConvertToDate ( gpsDateTime->value.c_str(), &binGPSStamp ); } catch ( ... ) { return; // Don't let a bad date stop other things. } if ( (binGPSStamp.year != 0) || (binGPSStamp.month != 0) || (binGPSStamp.day != 0) ) return; XMP_Node * otherDate = FindChildNode ( exifSchema, "exif:DateTimeOriginal", kXMP_ExistingOnly ); if ( otherDate == 0 ) otherDate = FindChildNode ( exifSchema, "exif:DateTimeDigitized", kXMP_ExistingOnly ); if ( otherDate == 0 ) return; XMP_DateTime binOtherDate; try { XMPUtils::ConvertToDate ( otherDate->value.c_str(), &binOtherDate ); } catch ( ... ) { return; // Don't let a bad date stop other things. } binGPSStamp.year = binOtherDate.year; binGPSStamp.month = binOtherDate.month; binGPSStamp.day = binOtherDate.day; XMP_StringPtr goodStr; XMP_StringLen goodLen; XMPUtils::ConvertFromDate ( binGPSStamp, &goodStr, &goodLen ); gpsDateTime->value.assign ( goodStr, goodLen ); } // FixGPSTimeStamp // ------------------------------------------------------------------------------------------------- // MigrateAudioCopyright // --------------------- // // The initial support for WAV files mapped a legacy ID3 audio copyright into a new xmpDM:copyright // property. This is special case code to migrate that into dc:rights['x-default']. The rules: // // 1. If there is no dc:rights array, or an empty array - // Create one with dc:rights['x-default'] set from double linefeed and xmpDM:copyright. // // 2. If there is a dc:rights array but it has no x-default item - // Create an x-default item as a copy of the first item then apply rule #3. // // 3. If there is a dc:rights array with an x-default item, look for a double linefeed in the value. // A. If no double linefeed, compare the x-default value to the xmpDM:copyright value. // A1. If they match then leave the x-default value alone. // A2. Otherwise, append a double linefeed and the xmpDM:copyright value to the x-default value. // B. If there is a double linefeed, compare the trailing text to the xmpDM:copyright value. // B1. If they match then leave the x-default value alone. // B2. Otherwise, replace the trailing x-default text with the xmpDM:copyright value. // // 4. In all cases, delete the xmpDM:copyright property. static void MigrateAudioCopyright ( XMPMeta * xmp, XMP_Node * dmCopyright ) { try { std::string & dmValue = dmCopyright->value; static const char * kDoubleLF = "\xA\xA"; XMP_Node * dcSchema = FindSchemaNode ( &xmp->tree, kXMP_NS_DC, kXMP_CreateNodes ); XMP_Node * dcRightsArray = FindChildNode ( dcSchema, "dc:rights", kXMP_ExistingOnly ); if ( (dcRightsArray == 0) || dcRightsArray->children.empty() ) { // 1. No dc:rights array, create from double linefeed and xmpDM:copyright. dmValue.insert ( 0, kDoubleLF ); xmp->SetLocalizedText ( kXMP_NS_DC, "rights", "", "x-default", dmValue.c_str(), 0 ); } else { std::string xdefaultStr ( "x-default" ); XMP_Index xdIndex = LookupLangItem ( dcRightsArray, xdefaultStr ); if ( xdIndex < 0 ) { // 2. No x-default item, create from the first item. XMP_StringPtr firstValue = dcRightsArray->children[0]->value.c_str(); xmp->SetLocalizedText ( kXMP_NS_DC, "rights", "", "x-default", firstValue, 0 ); xdIndex = LookupLangItem ( dcRightsArray, xdefaultStr ); } // 3. Look for a double linefeed in the x-default value. XMP_Assert ( xdIndex == 0 ); std::string & defaultValue = dcRightsArray->children[xdIndex]->value; XMP_Index lfPos = defaultValue.find ( kDoubleLF ); if ( lfPos < 0 ) { // 3A. No double LF, compare whole values. if ( dmValue != defaultValue ) { // 3A2. Append the xmpDM:copyright to the x-default item. defaultValue += kDoubleLF; defaultValue += dmValue; } } else { // 3B. Has double LF, compare the tail. if ( defaultValue.compare ( lfPos+2, std::string::npos, dmValue ) != 0 ) { // 3B2. Replace the x-default tail. defaultValue.replace ( lfPos+2, std::string::npos, dmValue ); } } } // 4. Get rid of the xmpDM:copyright. xmp->DeleteProperty ( kXMP_NS_DM, "copyright" ); } catch ( ... ) { // Don't let failures (like a bad dc:rights form) stop other cleanup. } } // MigrateAudioCopyright // ------------------------------------------------------------------------------------------------- // RepairAltText // ------------- // // Make sure that the array is well-formed AltText. Each item must be simple and have an xml:lang // qualifier. If repairs are needed, keep simple non-empty items by adding the xml:lang. static void RepairAltText ( XMP_Node & tree, XMP_StringPtr schemaNS, XMP_StringPtr arrayName ) { XMP_Node * schemaNode = FindSchemaNode ( &tree, schemaNS, kXMP_ExistingOnly ); if ( schemaNode == 0 ) return; XMP_Node * arrayNode = FindChildNode ( schemaNode, arrayName, kXMP_ExistingOnly ); if ( (arrayNode == 0) || XMP_ArrayIsAltText ( arrayNode->options ) ) return; // Already OK. if ( ! XMP_PropIsArray ( arrayNode->options ) ) return; // ! Not even an array, leave it alone. // *** Should probably change simple values to LangAlt with 'x-default' item. arrayNode->options |= (kXMP_PropArrayIsOrdered | kXMP_PropArrayIsAlternate | kXMP_PropArrayIsAltText); for ( int i = arrayNode->children.size()-1; i >= 0; --i ) { // ! Need a signed index type. XMP_Node * currChild = arrayNode->children[i]; if ( ! XMP_PropIsSimple ( currChild->options ) ) { // Delete non-simple children. delete ( currChild ); arrayNode->children.erase ( arrayNode->children.begin() + i ); } else if ( ! XMP_PropHasLang ( currChild->options ) ) { if ( currChild->value.empty() ) { // Delete empty valued children that have no xml:lang. delete ( currChild ); arrayNode->children.erase ( arrayNode->children.begin() + i ); } else { // Add an xml:lang qualifier with the value "x-repair". XMP_Node * repairLang = new XMP_Node ( currChild, "xml:lang", "x-repair", kXMP_PropIsQualifier ); if ( currChild->qualifiers.empty() ) { currChild->qualifiers.push_back ( repairLang ); } else { currChild->qualifiers.insert ( currChild->qualifiers.begin(), repairLang ); } currChild->options |= (kXMP_PropHasQualifiers | kXMP_PropHasLang); } } } } // RepairAltText // ------------------------------------------------------------------------------------------------- // TouchUpDataModel // ---------------- static void TouchUpDataModel ( XMPMeta * xmp ) { XMP_Node & tree = xmp->tree; // Do special case touch ups for certain schema. XMP_Node * currSchema = 0; currSchema = FindSchemaNode ( &tree, kXMP_NS_EXIF, kXMP_ExistingOnly ); if ( currSchema != 0 ) { // Do a special case fix for exif:GPSTimeStamp. XMP_Node * gpsDateTime = FindChildNode ( currSchema, "exif:GPSTimeStamp", kXMP_ExistingOnly ); if ( gpsDateTime != 0 ) FixGPSTimeStamp ( currSchema, gpsDateTime ); // *** Should probably have RepairAltText change simple values to LangAlt with 'x-default' item. // *** For now just do this for exif:UserComment, the one case we know about, late in cycle fix. XMP_Node * userComment = FindChildNode ( currSchema, "exif:UserComment", kXMP_ExistingOnly ); if ( (userComment != 0) && XMP_PropIsSimple ( userComment->options ) ) { XMP_Node * newChild = new XMP_Node ( userComment, kXMP_ArrayItemName, userComment->value.c_str(), userComment->options ); newChild->qualifiers.swap ( userComment->qualifiers ); if ( ! XMP_PropHasLang ( newChild->options ) ) { XMP_Node * langQual = new XMP_Node ( newChild, "xml:lang", "x-default", kXMP_PropIsQualifier ); newChild->qualifiers.insert ( newChild->qualifiers.begin(), langQual ); newChild->options |= (kXMP_PropHasQualifiers | kXMP_PropHasLang); } userComment->value.erase(); userComment->options = kXMP_PropArrayFormMask; // ! Happens to have all the right bits. userComment->children.push_back ( newChild ); } } currSchema = FindSchemaNode ( &tree, kXMP_NS_DM, kXMP_ExistingOnly ); if ( currSchema != 0 ) { // Do a special case migration of xmpDM:copyright to dc:rights['x-default']. Do this before // the dc: touch up since it can affect the dc: schema. XMP_Node * dmCopyright = FindChildNode ( currSchema, "xmpDM:copyright", kXMP_ExistingOnly ); if ( dmCopyright != 0 ) MigrateAudioCopyright ( xmp, dmCopyright ); } currSchema = FindSchemaNode ( &tree, kXMP_NS_DC, kXMP_ExistingOnly ); if ( currSchema != 0 ) { // Do a special case fix for dc:subject, make sure it is an unordered array. XMP_Node * dcSubject = FindChildNode ( currSchema, "dc:subject", kXMP_ExistingOnly ); if ( dcSubject != 0 ) { XMP_OptionBits keepMask = static_cast(~(kXMP_PropArrayIsOrdered | kXMP_PropArrayIsAlternate | kXMP_PropArrayIsAltText)); dcSubject->options &= keepMask; // Make sure any ordered array bits are clear. } } // Fix any broken AltText arrays that we know about. RepairAltText ( tree, kXMP_NS_DC, "dc:description" ); // ! Note inclusion of prefixes for direct node lookup! RepairAltText ( tree, kXMP_NS_DC, "dc:rights" ); RepairAltText ( tree, kXMP_NS_DC, "dc:title" ); RepairAltText ( tree, kXMP_NS_XMP_Rights, "xmpRights:UsageTerms" ); RepairAltText ( tree, kXMP_NS_EXIF, "exif:UserComment" ); // Tweak old XMP: Move an instance ID from rdf:about to the xmpMM:InstanceID property. An old // instance ID usually looks like "uuid:bac965c4-9d87-11d9-9a30-000d936b79c4", plus InDesign // 3.0 wrote them like "bac965c4-9d87-11d9-9a30-000d936b79c4". If the name looks like a UUID // simply move it to xmpMM:InstanceID, don't worry about any existing xmpMM:InstanceID. Both // will only be present when a newer file with the xmpMM:InstanceID property is updated by an // old app that uses rdf:about. if ( ! tree.name.empty() ) { bool nameIsUUID = false; XMP_StringPtr nameStr = tree.name.c_str(); if ( XMP_LitNMatch ( nameStr, "uuid:", 5 ) ) { nameIsUUID = true; } else if ( tree.name.size() == 36 ) { nameIsUUID = true; // ! Assume true, we'll set it to false below if not. for ( int i = 0; i < 36; ++i ) { char ch = nameStr[i]; if ( ch == '-' ) { if ( (i == 8) || (i == 13) || (i == 18) || (i == 23) ) continue; nameIsUUID = false; break; } else { if ( (('0' <= ch) && (ch <= '9')) || (('a' <= ch) && (ch <= 'z')) ) continue; nameIsUUID = false; break; } } } if ( nameIsUUID ) { XMP_ExpandedXPath expPath; ExpandXPath ( kXMP_NS_XMP_MM, "InstanceID", &expPath ); XMP_Node * idNode = FindNode ( &tree, expPath, kXMP_CreateNodes, 0 ); if ( idNode == 0 ) XMP_Throw ( "Failure creating xmpMM:InstanceID", kXMPErr_InternalFailure ); idNode->options = 0; // Clobber any existing xmpMM:InstanceID. idNode->value = tree.name; idNode->RemoveChildren(); idNode->RemoveQualifiers(); tree.name.erase(); } } } // TouchUpDataModel // ------------------------------------------------------------------------------------------------- // DetermineInputEncoding // ---------------------- // // Try to determine the character encoding, making a guess if the input is too short. We make some // simplifying assumtions: the first character must be U+FEFF or ASCII, U+0000 is not allowed. The // XML 1.1 spec is even more strict, UTF-16 XML documents must begin with U+FEFF, and the first // "real" character must be '<'. Ignoring the XML declaration, the first XML character could be '<', // space, tab, CR, or LF. // // The possible input sequences are: // // Cases with U+FEFF // EF BB BF -- - UTF-8 // FE FF -- -- - Big endian UTF-16 // 00 00 FE FF - Big endian UTF 32 // FF FE 00 00 - Little endian UTF-32 // FF FE -- -- - Little endian UTF-16 // // Cases with ASCII // nn mm -- -- - UTF-8 - // 00 00 00 nn - Big endian UTF-32 // 00 nn -- -- - Big endian UTF-16 // nn 00 00 00 - Little endian UTF-32 // nn 00 -- -- - Little endian UTF-16 // // ! We don't check for full patterns, or for errors. We just check enough to determine what the // ! only possible (or reasonable) case would be. static XMP_OptionBits DetermineInputEncoding ( const XMP_Uns8 * buffer, size_t length ) { if ( length < 2 ) return kXMP_EncodeUTF8; XMP_Uns8 * uniChar = (XMP_Uns8*)buffer; // ! Make sure comparisons are unsigned. if ( uniChar[0] == 0 ) { // These cases are: // 00 nn -- -- - Big endian UTF-16 // 00 00 00 nn - Big endian UTF-32 // 00 00 FE FF - Big endian UTF 32 if ( (length < 4) || (uniChar[1] != 0) ) return kXMP_EncodeUTF16Big; return kXMP_EncodeUTF32Big; } else if ( uniChar[0] < 0x80 ) { // These cases are: // nn mm -- -- - UTF-8, includes EF BB BF case // nn 00 00 00 - Little endian UTF-32 // nn 00 -- -- - Little endian UTF-16 if ( uniChar[1] != 0 ) return kXMP_EncodeUTF8; if ( (length < 4) || (uniChar[2] != 0) ) return kXMP_EncodeUTF16Little; return kXMP_EncodeUTF32Little; } else { // These cases are: // EF BB BF -- - UTF-8 // FE FF -- -- - Big endian UTF-16 // FF FE 00 00 - Little endian UTF-32 // FF FE -- -- - Little endian UTF-16 if ( uniChar[0] == 0xEF ) return kXMP_EncodeUTF8; if ( uniChar[0] == 0xFE ) return kXMP_EncodeUTF16Big; if ( (length < 4) || (uniChar[2] != 0) ) return kXMP_EncodeUTF16Little; return kXMP_EncodeUTF32Little; } } // DetermineInputEncoding // ------------------------------------------------------------------------------------------------- // CountUTF8 // --------- // // Look for a valid multi-byte UTF-8 sequence and return its length. Returns 0 for an invalid UTF-8 // sequence. Returns a negative value for a partial valid sequence at the end of the buffer. // // The checking is not strict. We simply count the number of high order 1 bits in the first byte, // then look for n-1 following bytes whose high order 2 bits are 1 and 0. We do not check for a // minimal length representation of the codepoint, or that the codepoint is defined by Unicode. static int CountUTF8 ( const XMP_Uns8 * charStart, const XMP_Uns8 * bufEnd ) { XMP_Assert ( charStart < bufEnd ); // Catch this in debug builds. if ( charStart >= bufEnd ) return 0; // Don't run-on in release builds. if ( (*charStart & 0xC0) != 0xC0 ) return 0; // Must have at least 2 high bits set. int byteCount = 2; XMP_Uns8 firstByte = *charStart; for ( firstByte = firstByte << 2; (firstByte & 0x80) != 0; firstByte = firstByte << 1 ) ++byteCount; if ( (charStart + byteCount) > bufEnd ) return -byteCount; for ( int i = 1; i < byteCount; ++i ) { if ( (charStart[i] & 0xC0) != 0x80 ) return 0; } return byteCount; } // CountUTF8 // ------------------------------------------------------------------------------------------------- // CountControlEscape // ------------------ // // Look for a numeric escape sequence for a "prohibited" ASCII control character. These are 0x7F, // and the range 0x00..0x1F except for tab/LF/CR. Return 0 if this is definitely not a numeric // escape, the length of the escape if found, or a negative value for a partial escape. static int CountControlEscape ( const XMP_Uns8 * escStart, const XMP_Uns8 * bufEnd ) { XMP_Assert ( escStart < bufEnd ); // Catch this in debug builds. if ( escStart >= bufEnd ) return 0; // Don't run-on in release builds. XMP_Assert ( *escStart == '&' ); size_t tailLen = bufEnd - escStart; if ( tailLen < 5 ) return -1; // Don't need a more thorough check, we'll catch it on the next pass. if ( strncmp ( (char*)escStart, "&#x", 3 ) != 0 ) return 0; XMP_Uns8 escValue = 0; const XMP_Uns8 * escPos = escStart + 3; if ( ('0' <= *escPos) && (*escPos <= '9') ) { escValue = *escPos - '0'; ++escPos; } else if ( ('A' <= *escPos) && (*escPos <= 'F') ) { escValue = *escPos - 'A' + 10; ++escPos; } else if ( ('a' <= *escPos) && (*escPos <= 'f') ) { escValue = *escPos - 'a' + 10; ++escPos; } if ( ('0' <= *escPos) && (*escPos <= '9') ) { escValue = (escValue << 4) + (*escPos - '0'); ++escPos; } else if ( ('A' <= *escPos) && (*escPos <= 'F') ) { escValue = (escValue << 4) + (*escPos - 'A' + 10); ++escPos; } else if ( ('a' <= *escPos) && (*escPos <= 'f') ) { escValue = (escValue << 4) + (*escPos - 'a' + 10); ++escPos; } if ( escPos == bufEnd ) return -1; // Partial escape. if ( *escPos != ';' ) return 0; size_t escLen = escPos - escStart + 1; if ( escLen < 5 ) return 0; // ! Catch "&#x;". if ( (escValue == kTab) || (escValue == kLF) || (escValue == kCR) ) return 0; // An allowed escape. return escLen; // Found a full "prohibited" numeric escape. } // CountControlEscape // ------------------------------------------------------------------------------------------------- // ProcessUTF8Portion // ------------------ // // Early versions of the XMP spec mentioned allowing ISO Latin-1 input. There are also problems with // some clients placing ASCII control characters within XMP values. This is an XML problem, the XML // spec only allows tab (0x09), LF (0x0A), and CR (0x0D) from the 0x00..0x1F range. As a concession // to this we scan 8-bit input for byte sequences that are not valid UTF-8 or in the 0x00..0x1F // range and replace each byte as follows: // 0x00..0x1F - Replace with a space, except for tab, CR, and LF. // 0x7F - Replace with a space. This is ASCII Delete, not allowed by ISO Latin-1. // 0x80..0x9F - Replace with the UTF-8 for a corresponding Unicode character. // 0xA0..0XFF - Replace with the UTF-8 for a corresponding Unicode character. // // The 0x80..0x9F range is not defined by Latin-1. But the Windows 1252 code page defines these and // is otherwise the same as Latin-1. // // For at least historical compatibility reasons we also find and replace singly escaped ASCII // control characters. The Expat parser we're using does not allow numeric escapes like "". // The XML spec is clear that raw controls are not allowed (in the RestrictedChar set), but it isn't // as clear about numeric escapes for them. At any rate, Expat complains, so we treat the numeric // escapes like raw characters and replace them with a space. // // We check for 1 or 2 hex digits (" " or " ") and upper or lower case (" " or " "). // The full escape sequence is 5 or 6 bytes. static size_t ProcessUTF8Portion ( XMLParserAdapter * xmlParser, const XMP_Uns8 * buffer, size_t length, bool last ) { const XMP_Uns8 * bufEnd = buffer + length; const XMP_Uns8 * spanStart = buffer; const XMP_Uns8 * spanEnd; for ( spanEnd = spanStart; spanEnd < bufEnd; ++spanEnd ) { if ( (0x20 <= *spanEnd) && (*spanEnd <= 0x7E) && (*spanEnd != '&') ) continue; // A regular ASCII character. if ( *spanEnd >= 0x80 ) { // See if this is a multi-byte UTF-8 sequence, or a Latin-1 character to replace. int uniLen = CountUTF8 ( spanEnd, bufEnd ); if ( uniLen > 0 ) { // A valid UTF-8 character, keep it as-is. spanEnd += uniLen - 1; // ! The loop increment will put back the +1. } else if ( (uniLen < 0) && (! last) ) { // Have a partial UTF-8 character at the end of the buffer and more input coming. xmlParser->ParseBuffer ( spanStart, (spanEnd - spanStart), false ); return (spanEnd - buffer); } else { // Not a valid UTF-8 sequence. Replace the first byte with the Latin-1 equivalent. xmlParser->ParseBuffer ( spanStart, (spanEnd - spanStart), false ); const char * replacement = kReplaceLatin1 [ *spanEnd - 0x80 ]; xmlParser->ParseBuffer ( replacement, strlen ( replacement ), false ); spanStart = spanEnd + 1; // ! The loop increment will do "spanEnd = spanStart". } } else if ( (*spanEnd < 0x20) || (*spanEnd == 0x7F) ) { // Replace ASCII controls other than tab, LF, and CR with a space. if ( (*spanEnd == kTab) || (*spanEnd == kLF) || (*spanEnd == kCR) ) continue; xmlParser->ParseBuffer ( spanStart, (spanEnd - spanStart), false ); xmlParser->ParseBuffer ( " ", 1, false ); spanStart = spanEnd + 1; // ! The loop increment will do "spanEnd = spanStart". } else { // See if this is a numeric escape sequence for a prohibited ASCII control. XMP_Assert ( *spanEnd == '&' ); int escLen = CountControlEscape ( spanEnd, bufEnd ); if ( escLen < 0 ) { // Have a partial numeric escape in this buffer, wait for more input. if ( last ) continue; // No more buffers, not an escape, absorb as normal input. xmlParser->ParseBuffer ( spanStart, (spanEnd - spanStart), false ); return (spanEnd - buffer); } else if ( escLen > 0 ) { // Have a complete numeric escape to replace. xmlParser->ParseBuffer ( spanStart, (spanEnd - spanStart), false ); xmlParser->ParseBuffer ( " ", 1, false ); spanStart = spanEnd + escLen; spanEnd = spanStart - 1; // ! The loop continuation will increment spanEnd! } } } XMP_Assert ( spanEnd == bufEnd ); if ( spanStart < bufEnd ) xmlParser->ParseBuffer ( spanStart, (spanEnd - spanStart), false ); if ( last ) xmlParser->ParseBuffer ( " ", 1, true ); return length; } // ProcessUTF8Portion // ------------------------------------------------------------------------------------------------- // ParseFromBuffer // --------------- // // Although most clients will probably parse everything in one call, we have a buffered API model // and need to support even the extreme case of 1 byte at a time parsing. This is considerably // complicated by some special cases for 8-bit input. Because of this, the first thing we do is // determine whether the input is 8-bit, UTF-16, or UTF-32. // // Both the 8-bit special cases and the encoding determination are easier to do with 8 bytes or more // of input. The XMLParserAdapter class has a pending-input buffer for this. At the start of parsing // we (moght) try to fill this buffer before determining the input character encoding. After that, // we (might) use this buffer with the current input to simplify the logic in Process8BitInput. The // "(might)" part means that we don't actually use the pending-input buffer unless we have to. In // particular, the common case of single-buffer parsing won't use it. void XMPMeta::ParseFromBuffer ( XMP_StringPtr buffer, XMP_StringLen xmpSize, XMP_OptionBits options ) { if ( (buffer == 0) && (xmpSize != 0) ) XMP_Throw ( "Null parse buffer", kXMPErr_BadParam ); if ( xmpSize == kXMP_UseNullTermination ) xmpSize = strlen ( buffer ); const bool lastClientCall = ((options & kXMP_ParseMoreBuffers) == 0); // *** Could use FlagIsSet & FlagIsClear macros. this->tree.ClearNode(); // Make sure the target XMP object is totally empty. if ( this->xmlParser == 0 ) { if ( (xmpSize == 0) && lastClientCall ) return; // Tolerate empty parse. Expat complains if there are no XML elements. this->xmlParser = XMP_NewExpatAdapter(); } XMLParserAdapter& parser = *this->xmlParser; #if 0 // XMP_DebugBuild if ( parser.parseLog != 0 ) { char message [200]; // AUDIT: Using sizeof(message) below for snprintf length is safe. snprintf ( message, sizeof(message), "", // AUDIT: See above. xmpSize, options, (lastClientCall ? " (last)" : "") ); fwrite ( message, 1, strlen(message), parser.parseLog ); fflush ( parser.parseLog ); } #endif try { // Cleanup the tree and xmlParser if anything fails. // Determine the character encoding before doing any real parsing. This is needed to do the // 8-bit special processing. if ( parser.charEncoding == XMP_OptionBits(-1) ) { if ( (parser.pendingCount == 0) && (xmpSize >= kXMLPendingInputMax) ) { // This ought to be the common case, the first buffer is big enough. parser.charEncoding = DetermineInputEncoding ( (XMP_Uns8*)buffer, xmpSize ); } else { // Try to fill the pendingInput buffer before calling DetermineInputEncoding. size_t pendingOverlap = kXMLPendingInputMax - parser.pendingCount; if ( pendingOverlap > xmpSize ) pendingOverlap = xmpSize; memcpy ( &parser.pendingInput[parser.pendingCount], buffer, pendingOverlap ); // AUDIT: Count is safe. buffer += pendingOverlap; xmpSize -= pendingOverlap; parser.pendingCount += pendingOverlap; if ( (! lastClientCall) && (parser.pendingCount < kXMLPendingInputMax) ) return; parser.charEncoding = DetermineInputEncoding ( parser.pendingInput, parser.pendingCount ); #if Trace_ParsingHackery fprintf ( stderr, "XMP Character encoding is %d\n", parser.charEncoding ); #endif } } // We have the character encoding. Process UTF-16 and UTF-32 as is. UTF-8 needs special // handling to take care of things like ISO Latin-1 or unescaped ASCII controls. XMP_Assert ( parser.charEncoding != XMP_OptionBits(-1) ); if ( parser.charEncoding != kXMP_EncodeUTF8 ) { if ( parser.pendingCount > 0 ) { // Might have pendingInput from the above portion to determine the character encoding. parser.ParseBuffer ( parser.pendingInput, parser.pendingCount, false ); } parser.ParseBuffer ( buffer, xmpSize, lastClientCall ); } else { #if Trace_ParsingHackery fprintf ( stderr, "Parsing %d bytes @ %.8X, %s, %d pending, context: %.8s\n", xmpSize, buffer, (lastClientCall ? "last" : "not last"), parser.pendingCount, buffer ); #endif // The UTF-8 processing is a bit complex due to the need to tolerate ISO Latin-1 input. // This is done by scanning the input for byte sequences that are not valid UTF-8, // assuming they are Latin-1 characters in the range 0x80..0xFF. This requires saving a // pending input buffer to handle partial UTF-8 sequences at the end of a buffer. while ( parser.pendingCount > 0 ) { // We've got some leftover input, process it first then continue with the current // buffer. Try to fill the pendingInput buffer before parsing further. We use a loop // for weird edge cases like a 2 byte input buffer, using 1 byte for pendingInput, // then having a partial UTF-8 end and need to absorb more. size_t pendingOverlap = kXMLPendingInputMax - parser.pendingCount; if ( pendingOverlap > xmpSize ) pendingOverlap = xmpSize; memcpy ( &parser.pendingInput[parser.pendingCount], buffer, pendingOverlap ); // AUDIT: Count is safe. parser.pendingCount += pendingOverlap; buffer += pendingOverlap; xmpSize -= pendingOverlap; if ( (! lastClientCall) && (parser.pendingCount < kXMLPendingInputMax) ) return; size_t bytesDone = ProcessUTF8Portion ( &parser, parser.pendingInput, parser.pendingCount, lastClientCall ); size_t bytesLeft = parser.pendingCount - bytesDone; #if Trace_ParsingHackery fprintf ( stderr, " ProcessUTF8Portion handled %d pending bytes\n", bytesDone ); #endif if ( bytesDone == parser.pendingCount ) { // Done with all of the pending input, move on to the current buffer. parser.pendingCount = 0; } else if ( bytesLeft <= pendingOverlap ) { // The leftover pending input all came from the current buffer. Exit this loop. buffer -= bytesLeft; xmpSize += bytesLeft; parser.pendingCount = 0; } else if ( xmpSize > 0 ) { // Pull more of the current buffer into the pending input and try again. // Backup by this pass's overlap so the loop entry code runs OK. parser.pendingCount -= pendingOverlap; buffer -= pendingOverlap; xmpSize += pendingOverlap; } else { // There is no more of the current buffer. Wait for more. Partial sequences at // the end of the last buffer should be treated as Latin-1 by ProcessUTF8Portion. XMP_Assert ( ! lastClientCall ); parser.pendingCount = bytesLeft; memcpy ( &parser.pendingInput[0], &parser.pendingInput[bytesDone], bytesLeft ); // AUDIT: Count is safe. return; } } // Done with the pending input, process the current buffer. size_t bytesDone = ProcessUTF8Portion ( &parser, (XMP_Uns8*)buffer, xmpSize, lastClientCall ); #if Trace_ParsingHackery fprintf ( stderr, " ProcessUTF8Portion handled %d additional bytes\n", bytesDone ); #endif if ( bytesDone < xmpSize ) { XMP_Assert ( ! lastClientCall ); size_t bytesLeft = xmpSize - bytesDone; if ( bytesLeft > kXMLPendingInputMax ) XMP_Throw ( "Parser bytesLeft too large", kXMPErr_InternalFailure ); memcpy ( parser.pendingInput, &buffer[bytesDone], bytesLeft ); // AUDIT: Count is safe. parser.pendingCount = bytesLeft; return; // Wait for the next buffer. } } if ( lastClientCall ) { #if XMP_DebugBuild && DumpXMLParseTree if ( parser.parseLog == 0 ) parser.parseLog = stdout; DumpXMLTree ( parser.parseLog, parser.tree, 0 ); #endif const XML_Node * xmlRoot = FindRootNode ( this, *this->xmlParser, options ); if ( xmlRoot != 0 ) { ProcessRDF ( &this->tree, *xmlRoot, options ); NormalizeDCArrays ( &this->tree ); if ( this->tree.options & kXMP_PropHasAliases ) MoveExplicitAliases ( &this->tree, options ); TouchUpDataModel ( this ); // Delete empty schema nodes. Do this last, other cleanup can make empty schema. size_t schemaNum = 0; while ( schemaNum < this->tree.children.size() ) { XMP_Node * currSchema = this->tree.children[schemaNum]; if ( currSchema->children.size() > 0 ) { ++schemaNum; } else { delete this->tree.children[schemaNum]; // ! Delete the schema node itself. this->tree.children.erase ( this->tree.children.begin() + schemaNum ); } } } delete this->xmlParser; this->xmlParser = 0; } } catch ( ... ) { delete this->xmlParser; this->xmlParser = 0; prevTkVer = 0; this->tree.ClearNode(); throw; } } // ParseFromBuffer // ================================================================================================= exiv2-0.25/xmpsdk/src/XMPMeta.cpp0000664000175000017500000015726312257464627016424 0ustar andreasandreas// ================================================================================================= // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // // Adobe patent application tracking #P435, entitled 'Unique markers to simplify embedding data of // one format in a file with a different format', inventors: Sean Parent, Greg Gilley. // ================================================================================================= #include "XMP_Environment.h" // ! This must be the first include! #include "XMPCore_Impl.hpp" #include #include "XMPMeta.hpp" #include "XMPIterator.hpp" #include "XMPUtils.hpp" #include "XMP_Version.h" #include "UnicodeInlines.incl_cpp" #include "UnicodeConversions.hpp" #include // For sort and stable_sort. #if XMP_DebugBuild #include #endif using namespace std; #if XMP_WinBuild #ifdef _MSC_VER #pragma warning ( disable : 4533 ) // initialization of '...' is skipped by 'goto ...' #pragma warning ( disable : 4702 ) // unreachable code #pragma warning ( disable : 4800 ) // forcing value to bool 'true' or 'false' (performance warning) #pragma warning ( disable : 4996 ) // '...' was declared deprecated #endif #endif // *** Use the XMP_PropIsXyz (Schema, Simple, Struct, Array, ...) macros // *** Add debug codegen checks, e.g. that typical masking operations really work // *** Change all uses of strcmp and strncmp to XMP_LitMatch and XMP_LitNMatch // ================================================================================================= // Local Types and Constants // ========================= // ================================================================================================= // Static Variables // ================ XMP_VarString * xdefaultName = 0; // These are embedded version strings. const char * kXMPCore_EmbeddedVersion = kXMPCore_VersionMessage; const char * kXMPCore_EmbeddedCopyright = kXMPCoreName " " kXMP_CopyrightStr; // ================================================================================================= // Local Utilities // =============== #define IsHexDigit(ch) ( (('0' <= (ch)) && ((ch) <= '9')) || (('A' <= (ch)) && ((ch) <= 'F')) ) #define HexDigitValue(ch) ( (((ch) - '0') < 10) ? ((ch) - '0') : ((ch) - 'A' + 10) ) static const char * kTenSpaces = " "; #define OutProcPadding(pad) { size_t padLen = (pad); \ for ( ; padLen >= 10; padLen -= 10 ) OutProcNChars ( kTenSpaces, 10 ); \ for ( ; padLen > 0; padLen -= 1 ) OutProcNChars ( " ", 1 ); } #define OutProcNewline() { status = (*outProc) ( refCon, "\n", 1 ); if ( status != 0 ) goto EXIT; } #define OutProcNChars(p,n) { status = (*outProc) ( refCon, (p), (n) ); if ( status != 0 ) goto EXIT; } #define OutProcLiteral(lit) { status = (*outProc) ( refCon, (lit), strlen(lit) ); if ( status != 0 ) goto EXIT; } #define OutProcString(str) { status = (*outProc) ( refCon, (str).c_str(), (str).size() ); if ( status != 0 ) goto EXIT; } #define OutProcULong(num) { snprintf ( buffer, sizeof(buffer), "%lu", (num) ); /* AUDIT: Using sizeof for snprintf length is safe */ \ status = (*outProc) ( refCon, buffer, strlen(buffer) ); if ( status != 0 ) goto EXIT; } #define OutProcHexInt(num) { snprintf ( buffer, sizeof(buffer), "%lX", (num) ); /* AUDIT: Using sizeof for snprintf length is safe */ \ status = (*outProc) ( refCon, buffer, strlen(buffer) ); if ( status != 0 ) goto EXIT; } #define OutProcHexByte(num) { snprintf ( buffer, sizeof(buffer), "%.2X", (num) ); /* AUDIT: Using sizeof for snprintf length is safe */ \ status = (*outProc) ( refCon, buffer, strlen(buffer) ); if ( status != 0 ) goto EXIT; } static const char * kIndent = " "; #define OutProcIndent(lev) { for ( size_t i = 0; i < (lev); ++i ) OutProcNChars ( kIndent, 3 ); } // ------------------------------------------------------------------------------------------------- // DumpClearString // --------------- static XMP_Status DumpClearString ( const XMP_VarString & value, XMP_TextOutputProc outProc, void * refCon ) { char buffer [20]; bool prevNormal; XMP_Status status = 0; XMP_StringPtr spanStart, spanEnd; XMP_StringPtr valueEnd = &value[0] + value.size(); spanStart = &value[0]; while ( spanStart < valueEnd ) { // Output the next span of regular characters. for ( spanEnd = spanStart; spanEnd < valueEnd; ++spanEnd ) { if ( (unsigned char)(*spanEnd) > 0x7F ) break; if ( (*spanEnd < 0x20) && (*spanEnd != kTab) && (*spanEnd != kLF) ) break; } if ( spanStart != spanEnd ) status = (*outProc) ( refCon, spanStart, (spanEnd-spanStart) ); if ( status != 0 ) break; spanStart = spanEnd; // Output the next span of irregular characters. prevNormal = true; for ( spanEnd = spanStart; spanEnd < valueEnd; ++spanEnd ) { if ( ((0x20 <= *spanEnd) && ((unsigned char)(*spanEnd) <= 0x7F)) || (*spanEnd == kTab) || (*spanEnd == kLF) ) break; char space = ' '; if ( prevNormal ) space = '<'; status = (*outProc) ( refCon, &space, 1 ); if ( status != 0 ) break; OutProcHexByte ( *spanEnd ); prevNormal = false; } if ( ! prevNormal ) { status = (*outProc) ( refCon, ">", 1 ); if ( status != 0 ) return status; } spanStart = spanEnd; } EXIT: return status; } // DumpClearString // ------------------------------------------------------------------------------------------------- // DumpStringMap // ------------- static XMP_Status DumpStringMap ( const XMP_StringMap & map, XMP_StringPtr label, XMP_TextOutputProc outProc, void * refCon ) { XMP_Status status; XMP_cStringMapPos currPos; XMP_cStringMapPos endPos = map.end(); size_t maxLen = 0; for ( currPos = map.begin(); currPos != endPos; ++currPos ) { size_t currLen = currPos->first.size(); if ( currLen > maxLen ) maxLen = currLen; } OutProcNewline(); OutProcLiteral ( label ); OutProcNewline(); for ( currPos = map.begin(); currPos != endPos; ++currPos ) { OutProcNChars ( " ", 2 ); DumpClearString ( currPos->first, outProc, refCon ); OutProcPadding ( maxLen - currPos->first.size() ); OutProcNChars ( " => ", 4 ); DumpClearString ( currPos->second, outProc, refCon ); OutProcNewline(); } EXIT: return status; } // DumpStringMap // ------------------------------------------------------------------------------------------------- // DumpNodeOptions // --------------- static XMP_Status DumpNodeOptions ( XMP_OptionBits options, XMP_TextOutputProc outProc, void * refCon ) { XMP_Status status; char buffer [32]; // Decimal of a 64 bit int is at most about 20 digits. static const char * optNames[] = { " schema", // 0x8000_0000 " ?30", " ?29", " -COMMAS-", " ?27", // 0x0800_0000 " ?26", " ?25", " ?24", " ?23", // 0x0080_0000 " isStale", " isDerived", " isStable", " ?19", // 0x0008_0000 " isInternal", " hasAliases", " isAlias", " -AFTER-", // 0x0000_8000 " -BEFORE-", " isCompact", " isLangAlt", " isAlt", // 0x0000_0800 " isOrdered", " isArray", " isStruct", " hasType", // 0x0000_0080 " hasLang", " isQual", " hasQual", " ?3", // 0x0000_0008 " ?2", " URI", " ?0" }; if ( options == 0 ) { OutProcNChars ( "(0x0)", 5 ); } else { OutProcNChars ( "(0x", 3 ); OutProcHexInt ( options ); OutProcNChars ( " :", 2 ); XMP_OptionBits mask = 0x80000000; for ( int b = 0; b < 32; ++b ) { if ( options & mask ) OutProcLiteral ( optNames[b] ); mask = mask >> 1; } OutProcNChars ( ")", 1 ); } EXIT: return status; } // DumpNodeOptions // ------------------------------------------------------------------------------------------------- // DumpPropertyTree // ---------------- // *** Extract the validation code into a separate routine to call on exit in debug builds. static XMP_Status DumpPropertyTree ( const XMP_Node * currNode, int indent, size_t itemIndex, XMP_TextOutputProc outProc, void * refCon ) { XMP_Status status; char buffer [32]; // Decimal of a 64 bit int is at most about 20 digits. OutProcIndent ( (size_t)indent ); if ( itemIndex == 0 ) { if ( currNode->options & kXMP_PropIsQualifier ) OutProcNChars ( "? ", 2 ); DumpClearString ( currNode->name, outProc, refCon ); } else { OutProcNChars ( "[", 1 ); OutProcULong ( static_cast(itemIndex) ); OutProcNChars ( "]", 1 ); } if ( ! (currNode->options & kXMP_PropCompositeMask) ) { OutProcNChars ( " = \"", 4 ); DumpClearString ( currNode->value, outProc, refCon ); OutProcNChars ( "\"", 1 ); } if ( currNode->options != 0 ) { OutProcNChars ( " ", 2 ); status = DumpNodeOptions ( currNode->options, outProc, refCon ); if ( status != 0 ) goto EXIT; } if ( currNode->options & kXMP_PropHasLang ) { if ( currNode->qualifiers.empty() || (currNode->qualifiers[0]->name != "xml:lang") ) { OutProcLiteral ( " ** bad lang flag **" ); } } // *** Check rdf:type also. if ( ! (currNode->options & kXMP_PropCompositeMask) ) { if ( ! currNode->children.empty() ) OutProcLiteral ( " ** bad children **" ); } else if ( currNode->options & kXMP_PropValueIsArray ) { if ( currNode->options & kXMP_PropValueIsStruct ) OutProcLiteral ( " ** bad comp flags **" ); } else if ( (currNode->options & kXMP_PropCompositeMask) != kXMP_PropValueIsStruct ) { OutProcLiteral ( " ** bad comp flags **" ); } #if 0 // *** XMP_DebugBuild if ( (currNode->_namePtr != currNode->name.c_str()) || (currNode->_valuePtr != currNode->value.c_str()) ) OutProcLiteral ( " ** bad debug string **" ); #endif OutProcNewline(); for ( size_t qualNum = 0, qualLim = currNode->qualifiers.size(); qualNum < qualLim; ++qualNum ) { const XMP_Node * currQual = currNode->qualifiers[qualNum]; if ( currQual->parent != currNode ) OutProcLiteral ( "** bad parent link => " ); if ( currQual->name == kXMP_ArrayItemName ) OutProcLiteral ( "** bad qual name => " ); if ( ! (currQual->options & kXMP_PropIsQualifier) ) OutProcLiteral ( "** bad qual flag => " ); if ( currQual->name == "xml:lang" ) { if ( (qualNum != 0) || (! (currNode->options & kXMP_PropHasLang)) ) OutProcLiteral ( "** bad lang qual => " ); } status = DumpPropertyTree ( currQual, indent+2, 0, outProc, refCon ); if ( status != 0 ) goto EXIT; } for ( size_t childNum = 0, childLim = currNode->children.size(); childNum < childLim; ++childNum ) { const XMP_Node * currChild = currNode->children[childNum]; if ( currChild->parent != currNode ) OutProcLiteral ( "** bad parent link => " ); if ( currChild->options & kXMP_PropIsQualifier ) OutProcLiteral ( "** bad qual flag => " ); if ( currNode->options & kXMP_PropValueIsArray ) { itemIndex = childNum+1; if ( currChild->name != kXMP_ArrayItemName ) OutProcLiteral ( "** bad item name => " ); } else { itemIndex = 0; if ( currChild->name == kXMP_ArrayItemName ) OutProcLiteral ( "** bad field name => " ); } status = DumpPropertyTree ( currChild, indent+1, itemIndex, outProc, refCon ); if ( status != 0 ) goto EXIT; } EXIT: return status; } // DumpPropertyTree // ------------------------------------------------------------------------------------------------- // DumpXMLTree // ----------- #if DumpXMLParseTree static inline void PutHexByte ( FILE * log, unsigned char ch ) { fprintf ( log, "\\x" ); if ( ch < 0x10 ) { fprintf ( log, "%c", kHexDigits[ch] ); } else { fprintf ( log, "%c%c", kHexDigits[ch>>4], kHexDigits[ch&0xF] ); } } // PutHexByte // ------------------------------------------------------------------------------------------------- static void PutClearString ( FILE * log, const std::string & str ) { for ( size_t i = 0; i != str.size(); ++i ) { unsigned char ch = str[i]; if ( (0x20 <= ch) && (ch <= 0x7F) ) { fprintf ( log, "%c", ch ); } else { PutHexByte ( log, ch ); } } } // PutClearString // ------------------------------------------------------------------------------------------------- static void DumpXMLTree ( FILE * log, const XML_Node & node, int indent ) { size_t i; #if 0 // *** XMP_DebugBuild if ( (node._namePtr != node.name.c_str()) || (node._valuePtr != node.value.c_str()) ) fprintf ( log, "*** bad debug string ***\n" ); #endif for ( i = 0; i != (size_t)indent; ++i ) fprintf ( log, " " ); switch ( node.kind ) { case kRootNode : fprintf ( log, "\nStart of XML tree dump\n\n" ); if ( (indent != 0) || (! node.attrs.empty()) || (! node.ns.empty()) || (! node.name.empty()) || (!node.value.empty()) ) fprintf ( log, " ** invalid root ** \n" ); for ( i = 0; i < node.children.size(); ++i ) { XMP_Uns8 kind = node.children[i]->kind; if ( (kind == kRootNode) || (kind == kAttrNode) ) fprintf ( log, " ** invalid child ** \n" ); DumpXMLTree ( log, *node.children[i], indent+1 ); } fprintf ( log, "\nEnd of XML tree dump\n" ); break; case kElemNode : fprintf ( log, "Elem %s", node.name.c_str() ); if ( indent == 0 ) fprintf ( log, " ** invalid elem ** " ); if ( ! node.ns.empty() ) fprintf ( log, " @ %s", node.ns.c_str() ); fprintf ( log, "\n" ); for ( i = 0; i < node.attrs.size(); ++i ) { XMP_Uns8 kind = node.attrs[i]->kind; if ( kind != kAttrNode ) fprintf ( log, " ** invalid attr ** \n" ); DumpXMLTree ( log, *node.attrs[i], indent+2 ); } for ( i = 0; i < node.children.size(); ++i ) { XMP_Uns8 kind = node.children[i]->kind; if ( (kind == kRootNode) || (kind == kAttrNode) ) fprintf ( log, " ** invalid child ** \n" ); DumpXMLTree ( log, *node.children[i], indent+1 ); } break; case kAttrNode : fprintf ( log, "Attr %s", node.name.c_str() ); if ( (indent == 0) || node.name.empty() || (! node.attrs.empty()) || (! node.children.empty()) ) fprintf ( log, " ** invalid attr ** " ); fprintf ( log, " = \"" ); PutClearString ( log, node.value ); fprintf ( log, "\"" ); if ( ! node.ns.empty() ) fprintf ( log, " @ %s", node.ns.c_str() ); fprintf ( log, "\n" ); break; case kCDataNode : if ( (indent == 0) || (! node.ns.empty()) || (! node.name.empty()) || (! node.attrs.empty()) || (! node.children.empty()) ) fprintf ( log, " ** invalid cdata ** \n" ); fprintf ( log, "\"" ); PutClearString ( log, node.value ); fprintf ( log, "\"\n" ); break; case kPINode : fprintf ( log, "PI %s", node.name.c_str() ); if ( (indent == 0) || node.name.empty() || (! node.children.empty()) ) fprintf ( log, " ** invalid pi ** \n" ); if ( ! node.value.empty() ) { fprintf ( log, " " ); } fprintf ( log, "\n" ); break; } } // DumpXMLTree #endif // DumpXMLParseTree // ------------------------------------------------------------------------------------------------- // CompareNodeNames // ---------------- // // Comparison routine for sorting XMP nodes by name. The name "xml:lang" is less than anything else, // and "rdf:type" is less than anything except "xml:lang". This preserves special rules for qualifiers. static bool CompareNodeNames ( XMP_Node * left, XMP_Node * right ) { if ( left->name == "xml:lang" ) return true; if ( right->name == "xml:lang" ) return false; if ( left->name == "rdf:type" ) return true; if ( right->name == "rdf:type" ) return false; return ( left->name < right->name ); } // CompareNodeNames // ------------------------------------------------------------------------------------------------- // CompareNodeValues // ----------------- // // Comparison routine for sorting XMP nodes by value. static bool CompareNodeValues ( XMP_Node * left, XMP_Node * right ) { if ( XMP_PropIsSimple ( left->options ) && XMP_PropIsSimple ( right->options ) ) { return ( left->value < right->value ); } XMP_OptionBits leftForm = left->options & kXMP_PropCompositeMask; XMP_OptionBits rightForm = right->options & kXMP_PropCompositeMask; return ( leftForm < rightForm ); } // CompareNodeValues // ------------------------------------------------------------------------------------------------- // CompareNodeLangs // ---------------- // // Comparison routine for sorting XMP nodes by xml:lang qualifier. An "x-default" value is less than // any other language. static bool CompareNodeLangs ( XMP_Node * left, XMP_Node * right ) { if ( left->qualifiers.empty() || (left->qualifiers[0]->name != "xml:lang") ) return false; if ( right->qualifiers.empty() || (right->qualifiers[0]->name != "xml:lang") ) return false; if ( left->qualifiers[0]->value == "x-default" ) return true; if ( right->qualifiers[0]->value == "x-default" ) return false; return ( left->qualifiers[0]->value < right->qualifiers[0]->value ); } // CompareNodeLangs // ------------------------------------------------------------------------------------------------- // SortWithinOffspring // ------------------- // // Sort one level down, within the elements of a node vector. This sorts the qualifiers of each // node. If the node is a struct it sorts the fields by names. If the node is an unordered array it // sorts the elements by value. If the node is an AltText array it sorts the elements by language. static void SortWithinOffspring ( XMP_NodeOffspring & nodeVec ) { for ( size_t i = 0, limit = nodeVec.size(); i < limit; ++i ) { XMP_Node * currPos = nodeVec[i]; if ( ! currPos->qualifiers.empty() ) { sort ( currPos->qualifiers.begin(), currPos->qualifiers.end(), CompareNodeNames ); SortWithinOffspring ( currPos->qualifiers ); } if ( ! currPos->children.empty() ) { if ( XMP_PropIsStruct ( currPos->options ) || XMP_NodeIsSchema ( currPos->options ) ) { sort ( currPos->children.begin(), currPos->children.end(), CompareNodeNames ); } else if ( XMP_PropIsArray ( currPos->options ) ) { if ( XMP_ArrayIsUnordered ( currPos->options ) ) { stable_sort ( currPos->children.begin(), currPos->children.end(), CompareNodeValues ); } else if ( XMP_ArrayIsAltText ( currPos->options ) ) { sort ( currPos->children.begin(), currPos->children.end(), CompareNodeLangs ); } } SortWithinOffspring ( currPos->children ); } } } // SortWithinOffspring // ================================================================================================= // Constructors // ============ XMPMeta::XMPMeta() : clientRefs(0), prevTkVer(0), tree(XMP_Node(0,"",0)), xmlParser(0) { // Nothing more to do, clientRefs is incremented in wrapper. #if XMP_TraceCTorDTor printf ( "Default construct XMPMeta @ %.8X\n", this ); #endif } // XMPMeta // ------------------------------------------------------------------------------------------------- XMPMeta::~XMPMeta() RELEASE_NO_THROW { #if XMP_TraceCTorDTor printf ( "Destruct XMPMeta @ %.8X\n", this ); #endif XMP_Assert ( this->clientRefs <= 0 ); if ( xmlParser != 0 ) delete ( xmlParser ); xmlParser = 0; } // ~XMPMeta // ================================================================================================= // Class Static Functions // ====================== // // // ================================================================================================= // ------------------------------------------------------------------------------------------------- // GetVersionInfo // -------------- /* class-static */ void XMPMeta::GetVersionInfo ( XMP_VersionInfo * info ) { memset ( info, 0, sizeof(*info) ); // AUDIT: Safe, using sizeof the destination. XMP_Assert ( sizeof(*info) == sizeof(XMP_VersionInfo) ); info->major = XMP_API_VERSION_MAJOR; info->minor = XMP_API_VERSION_MINOR; info->micro = XMP_API_VERSION_MICRO; info->isDebug = kXMPCore_DebugFlag; info->flags = 0; // ! None defined yet. info->message = kXMPCore_VersionMessage; } // GetVersionInfo // ------------------------------------------------------------------------------------------------- // Initialize // ---------- /* class-static */ bool XMPMeta::Initialize() { // Allocate and initialize static objects. ++sXMP_InitCount; if ( sXMP_InitCount > 1 ) return true; #if TraceXMPCalls // xmpOut = fopen ( "xmp.out", "w" ); // Coordinate with client glue in WXMP_Common.hpp fprintf ( xmpOut, "XMP initializing\n" ); fflush ( xmpOut ); #endif sExceptionMessage = new XMP_VarString(); XMP_InitMutex ( &sXMPCoreLock ); sOutputNS = new XMP_VarString; sOutputStr = new XMP_VarString; xdefaultName = new XMP_VarString ( "x-default" ); sNamespaceURIToPrefixMap = new XMP_StringMap; sNamespacePrefixToURIMap = new XMP_StringMap; sRegisteredAliasMap = new XMP_AliasMap; InitializeUnicodeConversions(); // Register standard namespaces and aliases. RegisterNamespace ( kXMP_NS_XML, "xml" ); RegisterNamespace ( kXMP_NS_RDF, "rdf" ); RegisterNamespace ( kXMP_NS_DC, "dc" ); RegisterNamespace ( kXMP_NS_XMP, "xmp" ); RegisterNamespace ( kXMP_NS_PDF, "pdf" ); RegisterNamespace ( kXMP_NS_Photoshop, "photoshop" ); RegisterNamespace ( kXMP_NS_PSAlbum, "album" ); RegisterNamespace ( kXMP_NS_EXIF, "exif" ); RegisterNamespace ( kXMP_NS_EXIF_Aux, "aux" ); RegisterNamespace ( kXMP_NS_TIFF, "tiff" ); RegisterNamespace ( kXMP_NS_PNG, "png" ); RegisterNamespace ( kXMP_NS_JPEG, "jpeg" ); RegisterNamespace ( kXMP_NS_JP2K, "jp2k" ); RegisterNamespace ( kXMP_NS_CameraRaw, "crs" ); RegisterNamespace ( kXMP_NS_ASF, "asf" ); RegisterNamespace ( kXMP_NS_WAV, "wav" ); RegisterNamespace ( kXMP_NS_AdobeStockPhoto, "bmsp" ); RegisterNamespace ( kXMP_NS_CreatorAtom, "creatorAtom" ); RegisterNamespace ( kXMP_NS_XMP_Rights, "xmpRights" ); RegisterNamespace ( kXMP_NS_XMP_MM, "xmpMM" ); RegisterNamespace ( kXMP_NS_XMP_BJ, "xmpBJ" ); RegisterNamespace ( kXMP_NS_XMP_Note, "xmpNote" ); RegisterNamespace ( kXMP_NS_DM, "xmpDM" ); RegisterNamespace ( kXMP_NS_XMP_Text, "xmpT" ); RegisterNamespace ( kXMP_NS_XMP_PagedFile, "xmpTPg" ); RegisterNamespace ( kXMP_NS_XMP_Graphics, "xmpG" ); RegisterNamespace ( kXMP_NS_XMP_Image, "xmpGImg" ); RegisterNamespace ( kXMP_NS_XMP_Font, "stFnt" ); RegisterNamespace ( kXMP_NS_XMP_Dimensions, "stDim" ); RegisterNamespace ( kXMP_NS_XMP_ResourceEvent, "stEvt" ); RegisterNamespace ( kXMP_NS_XMP_ResourceRef, "stRef" ); RegisterNamespace ( kXMP_NS_XMP_ST_Version, "stVer" ); RegisterNamespace ( kXMP_NS_XMP_ST_Job, "stJob" ); RegisterNamespace ( kXMP_NS_XMP_ManifestItem, "stMfs" ); RegisterNamespace ( kXMP_NS_XMP_IdentifierQual, "xmpidq" ); RegisterNamespace ( kXMP_NS_IPTCCore, "Iptc4xmpCore" ); RegisterNamespace ( kXMP_NS_DICOM, "DICOM" ); RegisterNamespace ( kXMP_NS_PDFA_Schema, "pdfaSchema" ); RegisterNamespace ( kXMP_NS_PDFA_Property, "pdfaProperty" ); RegisterNamespace ( kXMP_NS_PDFA_Type, "pdfaType" ); RegisterNamespace ( kXMP_NS_PDFA_Field, "pdfaField" ); RegisterNamespace ( kXMP_NS_PDFA_ID, "pdfaid" ); RegisterNamespace ( kXMP_NS_PDFA_Extension, "pdfaExtension" ); RegisterNamespace ( kXMP_NS_PDFX, "pdfx" ); RegisterNamespace ( kXMP_NS_PDFX_ID, "pdfxid" ); RegisterNamespace ( "adobe:ns:meta/", "x" ); RegisterNamespace ( "http://ns.adobe.com/iX/1.0/", "iX" ); // 06-Oct-07, ahu: Do not use aliases. They result in unexpected behaviour. // XMPMeta::RegisterStandardAliases ( "" ); // Initialize the other core classes. if ( ! XMPIterator::Initialize() ) XMP_Throw ( "Failure from XMPIterator::Initialize", kXMPErr_InternalFailure ); if ( ! XMPUtils::Initialize() ) XMP_Throw ( "Failure from XMPUtils::Initialize", kXMPErr_InternalFailure ); // Do miscelaneous semantic checks of types and arithmetic. XMP_Assert ( sizeof(XMP_Int8) == 1 ); XMP_Assert ( sizeof(XMP_Int16) == 2 ); XMP_Assert ( sizeof(XMP_Int32) == 4 ); XMP_Assert ( sizeof(XMP_Int64) == 8 ); XMP_Assert ( sizeof(XMP_Uns8) == 1 ); XMP_Assert ( sizeof(XMP_Uns16) == 2 ); XMP_Assert ( sizeof(XMP_Uns32) == 4 ); XMP_Assert ( sizeof(XMP_Uns64) == 8 ); XMP_Assert ( sizeof(XMP_OptionBits) == 4 ); // Check that option masking work on all 32 bits. XMP_OptionBits flag = ~0UL; XMP_Assert ( flag == (XMP_OptionBits)(-1L) ); XMP_Assert ( (flag ^ kXMP_PropHasLang) == 0xFFFFFFBFUL ); XMP_Assert ( (flag & ~kXMP_PropHasLang) == 0xFFFFFFBFUL ); XMP_OptionBits opt1 = 0; // Check the general option bit macros. XMP_OptionBits opt2 = flag; XMP_SetOption ( opt1, kXMP_PropValueIsArray ); XMP_ClearOption ( opt2, kXMP_PropValueIsArray ); XMP_Assert ( opt1 == ~opt2 ); XMP_Assert ( XMP_TestOption ( opt1, kXMP_PropValueIsArray ) ); XMP_Assert ( ! XMP_TestOption ( opt2, kXMP_PropValueIsArray ) ); XMP_Assert ( XMP_PropIsSimple ( ~kXMP_PropCompositeMask ) ); // Check the special option bit macros. XMP_Assert ( ! XMP_PropIsSimple ( kXMP_PropValueIsStruct ) ); XMP_Assert ( ! XMP_PropIsSimple ( kXMP_PropValueIsArray ) ); XMP_Assert ( XMP_PropIsStruct ( kXMP_PropValueIsStruct ) ); XMP_Assert ( XMP_PropIsArray ( kXMP_PropValueIsArray ) ); XMP_Assert ( ! XMP_PropIsStruct ( ~kXMP_PropValueIsStruct ) ); XMP_Assert ( ! XMP_PropIsArray ( ~kXMP_PropValueIsArray ) ); XMP_Assert ( XMP_ArrayIsUnordered ( ~kXMP_PropArrayIsOrdered ) ); XMP_Assert ( XMP_ArrayIsOrdered ( kXMP_PropArrayIsOrdered ) ); XMP_Assert ( XMP_ArrayIsAlternate ( kXMP_PropArrayIsAlternate ) ); XMP_Assert ( XMP_ArrayIsAltText ( kXMP_PropArrayIsAltText ) ); XMP_Assert ( ! XMP_ArrayIsUnordered ( kXMP_PropArrayIsOrdered ) ); XMP_Assert ( ! XMP_ArrayIsOrdered ( ~kXMP_PropArrayIsOrdered ) ); XMP_Assert ( ! XMP_ArrayIsAlternate ( ~kXMP_PropArrayIsAlternate ) ); XMP_Assert ( ! XMP_ArrayIsAltText ( ~kXMP_PropArrayIsAltText ) ); XMP_Assert ( XMP_PropHasQualifiers ( kXMP_PropHasQualifiers ) ); XMP_Assert ( XMP_PropIsQualifier ( kXMP_PropIsQualifier ) ); XMP_Assert ( XMP_PropHasLang ( kXMP_PropHasLang ) ); XMP_Assert ( ! XMP_PropHasQualifiers ( ~kXMP_PropHasQualifiers ) ); XMP_Assert ( ! XMP_PropIsQualifier ( ~kXMP_PropIsQualifier ) ); XMP_Assert ( ! XMP_PropHasLang ( ~kXMP_PropHasLang ) ); XMP_Assert ( XMP_NodeIsSchema ( kXMP_SchemaNode ) ); XMP_Assert ( XMP_PropIsAlias ( kXMP_PropIsAlias ) ); XMP_Assert ( ! XMP_NodeIsSchema ( ~kXMP_SchemaNode ) ); XMP_Assert ( ! XMP_PropIsAlias ( ~kXMP_PropIsAlias ) ); #if 0 // Generally off, enable to hand check generated code. extern XMP_OptionBits opt3, opt4; if ( XMP_TestOption ( opt3, kXMP_PropValueIsArray ) ) opt4 = opt3; if ( ! XMP_TestOption ( opt3, kXMP_PropValueIsStruct ) ) opt4 = opt3; static bool ok1 = XMP_TestOption ( opt4, kXMP_PropValueIsArray ); static bool ok2 = ! XMP_TestOption ( opt4, kXMP_PropValueIsStruct ); #endif // Make sure the embedded info strings are referenced and kept. if ( (kXMPCore_EmbeddedVersion[0] == 0) || (kXMPCore_EmbeddedCopyright[0] == 0) ) return false; return true; } // Initialize // ------------------------------------------------------------------------------------------------- // Terminate // --------- #define EliminateGlobal(g) delete ( g ); g = 0 /* class-static */ void XMPMeta::Terminate() RELEASE_NO_THROW { --sXMP_InitCount; if ( sXMP_InitCount > 0 ) return; #if TraceXMPCalls fprintf ( xmpOut, "XMP terminating\n" ); fflush ( xmpOut ); // fclose ( xmpOut ); // Coordinate with fopen in XMPMeta::Initialize. #endif XMPIterator::Terminate(); XMPUtils::Terminate(); EliminateGlobal ( sNamespaceURIToPrefixMap ); EliminateGlobal ( sNamespacePrefixToURIMap ); EliminateGlobal ( sRegisteredAliasMap ); EliminateGlobal ( xdefaultName ); EliminateGlobal ( sOutputNS ); EliminateGlobal ( sOutputStr ); EliminateGlobal ( sExceptionMessage ); XMP_TermMutex ( sXMPCoreLock ); } // Terminate // ------------------------------------------------------------------------------------------------- // Unlock // ------ /* class-static */ void XMPMeta::Unlock ( XMP_OptionBits options ) { UNUSED(options); #if TraceXMPLocking fprintf ( xmpOut, " Unlocking XMP toolkit, count = %d\n", sLockCount ); fflush ( xmpOut ); #endif --sLockCount; XMP_Assert ( sLockCount == 0 ); XMP_ExitCriticalRegion ( sXMPCoreLock ); } // Unlock // ------------------------------------------------------------------------------------------------- // UnlockObject // ------------ void XMPMeta::UnlockObject ( XMP_OptionBits options ) const { UNUSED(options); XMPMeta::Unlock ( 0 ); } // UnlockObject // ------------------------------------------------------------------------------------------------- // DumpNamespaces // -------------- // // Dump the prefix to URI map (easier to read) and verify that both are consistent and legit. // *** Should put checks in a separate routine for regular calling in debug builds. /* class-static */ XMP_Status XMPMeta::DumpNamespaces ( XMP_TextOutputProc outProc, void * refCon ) { XMP_Assert ( outProc != 0 ); // ! Enforced by wrapper. XMP_Status status = 0; XMP_StringMapPos p2uEnd = sNamespacePrefixToURIMap->end(); // ! Move up to avoid gcc complaints. XMP_StringMapPos u2pEnd = sNamespaceURIToPrefixMap->end(); status = DumpStringMap ( *sNamespacePrefixToURIMap, "Dumping namespace prefix to URI map", outProc, refCon ); if ( status != 0 ) goto EXIT; if ( sNamespacePrefixToURIMap->size() != sNamespaceURIToPrefixMap->size() ) { OutProcLiteral ( "** bad namespace map sizes **" ); XMP_Throw ( "Fatal namespace map problem", kXMPErr_InternalFailure ); } for ( XMP_StringMapPos nsLeft = sNamespacePrefixToURIMap->begin(); nsLeft != p2uEnd; ++nsLeft ) { XMP_StringMapPos nsOther = sNamespaceURIToPrefixMap->find ( nsLeft->second ); if ( (nsOther == u2pEnd) || (nsLeft != sNamespacePrefixToURIMap->find ( nsOther->second )) ) { OutProcLiteral ( " ** bad namespace URI ** " ); DumpClearString ( nsLeft->second, outProc, refCon ); goto FAILURE; } for ( XMP_StringMapPos nsRight = nsLeft; nsRight != p2uEnd; ++nsRight ) { if ( nsRight == nsLeft ) continue; // ! Can't start at nsLeft+1, no operator+! if ( nsLeft->second == nsRight->second ) { OutProcLiteral ( " ** duplicate namespace URI ** " ); DumpClearString ( nsLeft->second, outProc, refCon ); goto FAILURE; } } } for ( XMP_StringMapPos nsLeft = sNamespaceURIToPrefixMap->begin(); nsLeft != u2pEnd; ++nsLeft ) { XMP_StringMapPos nsOther = sNamespacePrefixToURIMap->find ( nsLeft->second ); if ( (nsOther == p2uEnd) || (nsLeft != sNamespaceURIToPrefixMap->find ( nsOther->second )) ) { OutProcLiteral ( " ** bad namespace prefix ** " ); DumpClearString ( nsLeft->second, outProc, refCon ); goto FAILURE; } for ( XMP_StringMapPos nsRight = nsLeft; nsRight != u2pEnd; ++nsRight ) { if ( nsRight == nsLeft ) continue; // ! Can't start at nsLeft+1, no operator+! if ( nsLeft->second == nsRight->second ) { OutProcLiteral ( " ** duplicate namespace prefix ** " ); DumpClearString ( nsLeft->second, outProc, refCon ); goto FAILURE; } } } EXIT: return status; FAILURE: OutProcNewline(); (void) DumpStringMap ( *sNamespaceURIToPrefixMap, "Dumping namespace URI to prefix map", outProc, refCon ); XMP_Throw ( "Fatal namespace map problem", kXMPErr_InternalFailure ); return 0; } // DumpNamespaces // ------------------------------------------------------------------------------------------------- // DumpAliases // ----------- /* class-static */ XMP_Status XMPMeta::DumpAliases ( XMP_TextOutputProc outProc, void * refCon ) { XMP_Assert ( outProc != 0 ); // ! Enforced by wrapper. XMP_Status status = 0; XMP_Assert ( sRegisteredAliasMap != 0 ); XMP_cAliasMapPos aliasPos; XMP_cAliasMapPos aliasEnd = sRegisteredAliasMap->end(); size_t maxLen = 0; for ( aliasPos = sRegisteredAliasMap->begin(); aliasPos != aliasEnd; ++aliasPos ) { size_t currLen = aliasPos->first.size(); if ( currLen > maxLen ) maxLen = currLen; } OutProcLiteral ( "Dumping alias name to actual path map" ); OutProcNewline(); for ( aliasPos = sRegisteredAliasMap->begin(); aliasPos != aliasEnd; ++aliasPos ) { OutProcNChars ( " ", 3 ); DumpClearString ( aliasPos->first, outProc, refCon ); OutProcPadding ( maxLen - aliasPos->first.size() ); OutProcNChars ( " => ", 4 ); size_t actualPathSize = aliasPos->second.size(); for ( size_t stepNum = 1; stepNum < actualPathSize; ++stepNum ) OutProcString ( aliasPos->second[stepNum].step ); XMP_OptionBits arrayForm = aliasPos->second[1].options & kXMP_PropArrayFormMask; if ( arrayForm == 0 ) { if ( actualPathSize != 2 ) OutProcLiteral ( " ** bad actual path **" ); } else { OutProcNChars ( " ", 2 ); DumpNodeOptions ( arrayForm, outProc, refCon ); if ( ! (arrayForm & kXMP_PropValueIsArray) ) OutProcLiteral ( " ** bad array form **" ); if ( actualPathSize != 3 ) OutProcLiteral ( " ** bad actual path **" ); } if ( aliasPos->second[0].options != kXMP_SchemaNode ) OutProcLiteral ( " ** bad schema form **" ); OutProcNewline(); } EXIT: return status; } // DumpAliases // ------------------------------------------------------------------------------------------------- // GetGlobalOptions // ---------------- /* class-static */ XMP_OptionBits XMPMeta::GetGlobalOptions() { XMP_OptionBits options = 0; return options; } // GetGlobalOptions // ------------------------------------------------------------------------------------------------- // SetGlobalOptions // ---------------- /* class-static */ void XMPMeta::SetGlobalOptions ( XMP_OptionBits /*options*/ ) { XMP_Throw ( "Unimplemented method XMPMeta::SetGlobalOptions", kXMPErr_Unimplemented ); } // SetGlobalOptions // ------------------------------------------------------------------------------------------------- // RegisterNamespace // ----------------- /* class-static */ void XMPMeta::RegisterNamespace ( XMP_StringPtr namespaceURI, XMP_StringPtr prefix ) { if ( (*namespaceURI == 0) || (*prefix == 0) ) { XMP_Throw ( "Empty namespace URI or prefix", kXMPErr_BadParam ); } XMP_VarString nsURI ( namespaceURI ); XMP_VarString prfix ( prefix ); if ( prfix[prfix.size()-1] != ':' ) prfix += ':'; VerifySimpleXMLName ( prefix, prefix+prfix.size()-1 ); // Exclude the colon. // Set the new namespace in both maps. (*sNamespaceURIToPrefixMap)[nsURI] = prfix; (*sNamespacePrefixToURIMap)[prfix] = nsURI; } // RegisterNamespace // ------------------------------------------------------------------------------------------------- // GetNamespacePrefix // ------------------ /* class-static */ bool XMPMeta::GetNamespacePrefix ( XMP_StringPtr namespaceURI, XMP_StringPtr * namespacePrefix, XMP_StringLen * prefixSize ) { bool found = false; XMP_Assert ( *namespaceURI != 0 ); // ! Enforced by wrapper. XMP_Assert ( (namespacePrefix != 0) && (prefixSize != 0) ); // ! Enforced by wrapper. XMP_VarString nsURI ( namespaceURI ); XMP_StringMapPos uriPos = sNamespaceURIToPrefixMap->find ( nsURI ); if ( uriPos != sNamespaceURIToPrefixMap->end() ) { *namespacePrefix = uriPos->second.c_str(); *prefixSize = uriPos->second.size(); found = true; } return found; } // GetNamespacePrefix // ------------------------------------------------------------------------------------------------- // GetNamespaceURI // --------------- /* class-static */ bool XMPMeta::GetNamespaceURI ( XMP_StringPtr namespacePrefix, XMP_StringPtr * namespaceURI, XMP_StringLen * uriSize ) { bool found = false; XMP_Assert ( *namespacePrefix != 0 ); // ! Enforced by wrapper. XMP_Assert ( (namespacePrefix != 0) && (namespaceURI != 0) ); // ! Enforced by wrapper. XMP_VarString nsPrefix ( namespacePrefix ); if ( nsPrefix[nsPrefix.size()-1] != ':' ) nsPrefix += ':'; XMP_StringMapPos prefixPos = sNamespacePrefixToURIMap->find ( nsPrefix ); if ( prefixPos != sNamespacePrefixToURIMap->end() ) { *namespaceURI = prefixPos->second.c_str(); *uriSize = prefixPos->second.size(); found = true; } return found; } // GetNamespaceURI // ------------------------------------------------------------------------------------------------- // DeleteNamespace // --------------- // *** Don't allow standard namespaces to be deleted. // *** We would be better off not having this. Instead, have local namespaces from parsing be // *** restricted to the object that introduced them. /* class-static */ void XMPMeta::DeleteNamespace ( XMP_StringPtr namespaceURI ) { XMP_StringMapPos uriPos = sNamespaceURIToPrefixMap->find ( namespaceURI ); if ( uriPos == sNamespaceURIToPrefixMap->end() ) return; XMP_StringMapPos prefixPos = sNamespacePrefixToURIMap->find ( uriPos->second ); XMP_Assert ( prefixPos != sNamespacePrefixToURIMap->end() ); sNamespaceURIToPrefixMap->erase ( uriPos ); sNamespacePrefixToURIMap->erase ( prefixPos ); } // DeleteNamespace // ------------------------------------------------------------------------------------------------- // RegisterAlias // ------------- // // Allow 3 kinds of alias: // TopProp => TopProp // TopProp => TopArray[1] // TopProp => TopArray[@xml:lang='x-default'] // // A new alias can be made to something that is already aliased, as long as the net result is one of // the legitimate forms. The new alias can already have aliases to it, also as long as result of // adjusting all of the exiting aliases leaves them legal. // // ! The caller assumes all risk that new aliases do not invalidate existing XMPMeta objects. Any // ! conflicts will result in later references throwing bad XPath exceptions. /* class-static */ void XMPMeta::RegisterAlias ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, XMP_StringPtr actualNS, XMP_StringPtr actualProp, XMP_OptionBits arrayForm ) { XMP_ExpandedXPath expAlias, expActual; XMP_AliasMapPos mapPos; XMP_ExpandedXPath * regActual = 0; XMP_Assert ( (aliasNS != 0) && (aliasProp != 0) && (actualNS != 0) && (actualProp != 0) ); // Enforced by wrapper. // Expand the alias and actual names, make sure they are one of the basic 3 forms. When counting // the expanded XPath size remember that the schema URI is the first component. We don't have to // compare the schema URIs though, the (unique) prefix is part of the top property name. ExpandXPath ( aliasNS, aliasProp, &expAlias ); ExpandXPath ( actualNS, actualProp, &expActual ); if ( (expAlias.size() != 2) || (expActual.size() != 2) ) { XMP_Throw ( "Alias and actual property names must be simple", kXMPErr_BadXPath ); } arrayForm = VerifySetOptions ( arrayForm, 0 ); if ( arrayForm != 0 ) { if ( (arrayForm & ~kXMP_PropArrayFormMask) != 0 ) XMP_Throw ( "Only array form flags are allowed", kXMPErr_BadOptions ); expActual[1].options |= arrayForm; // Set the array form for the top level step. if ( ! (arrayForm & kXMP_PropArrayIsAltText) ) { expActual.push_back ( XPathStepInfo ( "[1]", kXMP_ArrayIndexStep ) ); } else { expActual.push_back ( XPathStepInfo ( "[?xml:lang=\"x-default\"]", kXMP_QualSelectorStep ) ); } } // See if there are any conflicts with existing aliases. A couple of the checks are easy. If the // alias is already aliased it is only OK to reregister an identical alias. If the actual is // already aliased to something else and the new chain is legal, just swap in the old base. mapPos = sRegisteredAliasMap->find ( expAlias[kRootPropStep].step ); if ( mapPos != sRegisteredAliasMap->end() ) { // This alias is already registered to something, make sure it is the same something. regActual = &mapPos->second; if ( arrayForm != (mapPos->second[1].options & kXMP_PropArrayFormMask) ) { XMP_Throw ( "Mismatch with existing alias array form", kXMPErr_BadParam ); } if ( expActual.size() != regActual->size() ) { XMP_Throw ( "Mismatch with existing actual path", kXMPErr_BadParam ); } if ( expActual[kRootPropStep].step != (*regActual)[kRootPropStep].step ) { XMP_Throw ( "Mismatch with existing actual name", kXMPErr_BadParam ); } if ( (expActual.size() == 3) && (expActual[kAliasIndexStep].step != (*regActual)[kAliasIndexStep].step) ) { XMP_Throw ( "Mismatch with existing actual array item", kXMPErr_BadParam ); } return; } mapPos = sRegisteredAliasMap->find ( expActual[kRootPropStep].step ); if ( mapPos != sRegisteredAliasMap->end() ) { // The actual is already aliased to something else. regActual = &mapPos->second; if ( expActual.size() == 2 ) { expActual = *regActual; // TopProp => TopProp => anything : substitute the entire old base. } else if ( regActual->size() != 2 ) { XMP_Throw ( "Can't alias an array item to an array item", kXMPErr_BadParam ); // TopProp => TopArray[] => TopArray[] : nope. } else { expActual[kSchemaStep].step = (*regActual)[kSchemaStep].step; // TopProp => TopArray[] => TopProp : expActual[kRootPropStep].step = (*regActual)[kRootPropStep].step; // substitute the old base name. } } // Checking for existing aliases to this one is touchier. This involves updating the alias map, // which must not be done unless all of the changes are legal. So we need 2 loops, one to verify // that everything is OK, and one to make the changes. The bad case is: // TopProp => TopArray[] => TopArray[] // In the valid cases we back substitute the new base. for ( mapPos = sRegisteredAliasMap->begin(); mapPos != sRegisteredAliasMap->end(); ++mapPos ) { regActual = &mapPos->second; if ( expAlias[kRootPropStep].step == (*regActual)[kRootPropStep].step ) { if ( (regActual->size() == 2) && (expAlias.size() == 2) ) { XMP_Throw ( "Can't alias an array item to an array item", kXMPErr_BadParam ); } } } for ( mapPos = sRegisteredAliasMap->begin(); mapPos != sRegisteredAliasMap->end(); ++mapPos ) { regActual = &mapPos->second; if ( expAlias[kRootPropStep].step == (*regActual)[kRootPropStep].step ) { if ( regActual->size() == 1 ) { *regActual = expActual; // TopProp => TopProp => anything : substitute the entire new base. } else { (*regActual)[kSchemaStep].step = expActual[kSchemaStep].step; // TopProp => TopArray[] => TopProp : (*regActual)[kRootPropStep].step = expActual[kRootPropStep].step; // substitute the new base name. } } } // Finally, all is OK to register the new alias. (void) sRegisteredAliasMap->insert ( XMP_AliasMap::value_type ( expAlias[kRootPropStep].step, expActual ) ); } // RegisterAlias // ------------------------------------------------------------------------------------------------- // ResolveAlias // ------------ /* class-static */ bool XMPMeta::ResolveAlias ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, XMP_StringPtr * actualNS, XMP_StringLen * nsSize, XMP_StringPtr * actualProp, XMP_StringLen * propSize, XMP_OptionBits * arrayForm ) { XMP_Assert ( (aliasNS != 0) && (aliasProp != 0) ); // Enforced by wrapper. XMP_Assert ( (actualNS != 0) && (nsSize != 0) && (actualProp != 0) && (propSize != 0) && (arrayForm != 0) ); // Enforced by wrapper. // Expand the input path and look up the first component in the alias table. Return if not an alias. XMP_ExpandedXPath fullPath, minPath; ExpandXPath ( aliasNS, aliasProp, &fullPath ); XMP_Assert ( fullPath.size() >= 2 ); minPath.push_back ( fullPath[kSchemaStep] ); minPath.push_back ( fullPath[kRootPropStep] ); XMP_AliasMapPos mapPos = sRegisteredAliasMap->find ( minPath[kRootPropStep].step ); if ( mapPos == sRegisteredAliasMap->end() ) return false; // Replace the alias portion of the full expanded path. Compose the output path string. const XMP_ExpandedXPath & actualPath = mapPos->second; fullPath[kSchemaStep] = actualPath[kSchemaStep]; fullPath[kRootPropStep] = actualPath[kRootPropStep]; if ( actualPath.size() > 2 ) { // This is an alias to an array item. XMP_ExpandedXPathPos insertPos = fullPath.begin() + kAliasIndexStep; fullPath.insert ( insertPos, actualPath[kAliasIndexStep] ); } *sOutputNS = fullPath[kSchemaStep].step; *actualNS = sOutputNS->c_str(); *nsSize = sOutputNS->size(); ComposeXPath ( fullPath, sOutputStr ); *actualProp = sOutputStr->c_str(); *propSize = sOutputStr->size(); *arrayForm = actualPath[kRootPropStep].options & kXMP_PropArrayFormMask; #if XMP_DebugBuild // Test that the output string is valid and unchanged by round trip expand/compose. XMP_ExpandedXPath rtPath; ExpandXPath ( *actualNS, *actualProp, &rtPath ); std::string rtString; ComposeXPath ( rtPath, &rtString ); XMP_Assert ( rtString == *sOutputStr ); #endif return true; } // ResolveAlias // ------------------------------------------------------------------------------------------------- // DeleteAlias // ----------- /* class-static */ void XMPMeta::DeleteAlias ( XMP_StringPtr /*aliasNS*/, XMP_StringPtr /*aliasProp*/ ) { // Todo: XMP_Assert ( (aliasNS != 0) && (aliasProp != 0) ); / / Enforced by wrapper. XMP_Throw ( "Unimplemented method XMPMeta::DeleteAlias", kXMPErr_Unimplemented ); // *** #error "write me" } // DeleteAlias // ------------------------------------------------------------------------------------------------- // RegisterStandardAliases // ----------------------- /* class-static */ void XMPMeta::RegisterStandardAliases ( XMP_StringPtr schemaNS ) { XMP_Assert ( schemaNS != 0 ); // Enforced by wrapper. const bool doAll = (*schemaNS == 0); if ( doAll || XMP_LitMatch ( schemaNS, kXMP_NS_XMP ) ) { // Aliases from XMP to DC. XMPMeta::RegisterAlias ( kXMP_NS_XMP, "Author", kXMP_NS_DC, "creator", kXMP_PropArrayIsOrdered ); XMPMeta::RegisterAlias ( kXMP_NS_XMP, "Authors", kXMP_NS_DC, "creator", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_XMP, "Description", kXMP_NS_DC, "description", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_XMP, "Format", kXMP_NS_DC, "format", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_XMP, "Keywords", kXMP_NS_DC, "subject", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_XMP, "Locale", kXMP_NS_DC, "language", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_XMP, "Title", kXMP_NS_DC, "title", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_XMP_Rights, "Copyright", kXMP_NS_DC, "rights", 0 ); } if ( doAll || XMP_LitMatch ( schemaNS, kXMP_NS_PDF ) ) { // Aliases from PDF to DC and XMP. XMPMeta::RegisterAlias ( kXMP_NS_PDF, "Author", kXMP_NS_DC, "creator", kXMP_PropArrayIsOrdered ); XMPMeta::RegisterAlias ( kXMP_NS_PDF, "BaseURL", kXMP_NS_XMP, "BaseURL", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_PDF, "CreationDate", kXMP_NS_XMP, "CreateDate", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_PDF, "Creator", kXMP_NS_XMP, "CreatorTool", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_PDF, "ModDate", kXMP_NS_XMP, "ModifyDate", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_PDF, "Subject", kXMP_NS_DC, "description", kXMP_PropArrayIsAltText ); XMPMeta::RegisterAlias ( kXMP_NS_PDF, "Title", kXMP_NS_DC, "title", kXMP_PropArrayIsAltText ); } if ( doAll || XMP_LitMatch ( schemaNS, kXMP_NS_Photoshop ) ) { // Aliases from PHOTOSHOP to DC and XMP. XMPMeta::RegisterAlias ( kXMP_NS_Photoshop, "Author", kXMP_NS_DC, "creator", kXMP_PropArrayIsOrdered ); XMPMeta::RegisterAlias ( kXMP_NS_Photoshop, "Caption", kXMP_NS_DC, "description", kXMP_PropArrayIsAltText ); XMPMeta::RegisterAlias ( kXMP_NS_Photoshop, "Copyright", kXMP_NS_DC, "rights", kXMP_PropArrayIsAltText ); XMPMeta::RegisterAlias ( kXMP_NS_Photoshop, "Keywords", kXMP_NS_DC, "subject", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_Photoshop, "Marked", kXMP_NS_XMP_Rights, "Marked", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_Photoshop, "Title", kXMP_NS_DC, "title", kXMP_PropArrayIsAltText ); XMPMeta::RegisterAlias ( kXMP_NS_Photoshop, "WebStatement", kXMP_NS_XMP_Rights, "WebStatement", 0 ); } if ( doAll || XMP_LitMatch ( schemaNS, kXMP_NS_TIFF ) || XMP_LitMatch ( schemaNS, kXMP_NS_EXIF ) ) { // Aliases from TIFF and EXIF to DC and XMP. XMPMeta::RegisterAlias ( kXMP_NS_TIFF, "Artist", kXMP_NS_DC, "creator", kXMP_PropArrayIsOrdered); XMPMeta::RegisterAlias ( kXMP_NS_TIFF, "Copyright", kXMP_NS_DC, "rights", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_TIFF, "DateTime", kXMP_NS_XMP, "ModifyDate", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_TIFF, "ImageDescription", kXMP_NS_DC, "description", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_TIFF, "Software", kXMP_NS_XMP, "CreatorTool", 0 ); } if ( doAll || XMP_LitMatch ( schemaNS, kXMP_NS_PNG ) ) { // ! From Acrobat ImageCapture: XMPMeta::RegisterAlias ( kXMP_NS_PNG, "Author", kXMP_NS_DC, "creator", kXMP_PropArrayIsOrdered); XMPMeta::RegisterAlias ( kXMP_NS_PNG, "Copyright", kXMP_NS_DC, "rights", kXMP_PropArrayIsAltText); XMPMeta::RegisterAlias ( kXMP_NS_PNG, "CreationTime", kXMP_NS_XMP, "CreateDate", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_PNG, "Description", kXMP_NS_DC, "description", kXMP_PropArrayIsAltText); XMPMeta::RegisterAlias ( kXMP_NS_PNG, "ModificationTime", kXMP_NS_XMP, "ModifyDate", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_PNG, "Software", kXMP_NS_XMP, "CreatorTool", 0 ); XMPMeta::RegisterAlias ( kXMP_NS_PNG, "Title", kXMP_NS_DC, "title", kXMP_PropArrayIsAltText); } } // RegisterStandardAliases // ================================================================================================= // Class Methods // ============= // // // ================================================================================================= // ------------------------------------------------------------------------------------------------- // DumpObject // ---------- XMP_Status XMPMeta::DumpObject ( XMP_TextOutputProc outProc, void * refCon ) const { XMP_Assert ( outProc != 0 ); // ! Enforced by wrapper. XMP_Status status = 0; OutProcLiteral ( "Dumping XMPMeta object \"" ); DumpClearString ( tree.name, outProc, refCon ); OutProcNChars ( "\" ", 3 ); status = DumpNodeOptions ( tree.options, outProc, refCon ); if ( status != 0 ) goto EXIT; #if 0 // *** XMP_DebugBuild if ( (tree._namePtr != tree.name.c_str()) || (tree._valuePtr != tree.value.c_str()) ) OutProcLiteral ( " ** bad debug string **" ); #endif OutProcNewline(); if ( ! tree.value.empty() ) { OutProcLiteral ( "** bad root value ** \"" ); DumpClearString ( tree.value, outProc, refCon ); OutProcNChars ( "\"", 1 ); OutProcNewline(); } if ( ! tree.qualifiers.empty() ) { OutProcLiteral ( "** bad root qualifiers **" ); OutProcNewline(); for ( size_t qualNum = 0, qualLim = tree.qualifiers.size(); qualNum < qualLim; ++qualNum ) { status = DumpPropertyTree ( tree.qualifiers[qualNum], 3, 0, outProc, refCon ); } } if ( ! tree.children.empty() ) { for ( size_t childNum = 0, childLim = tree.children.size(); childNum < childLim; ++childNum ) { const XMP_Node * currSchema = tree.children[childNum]; OutProcNewline(); OutProcIndent ( 1 ); DumpClearString ( currSchema->value, outProc, refCon ); OutProcNChars ( " ", 2 ); DumpClearString ( currSchema->name, outProc, refCon ); OutProcNChars ( " ", 2 ); status = DumpNodeOptions ( currSchema->options, outProc, refCon ); if ( status != 0 ) goto EXIT; #if 0 // *** XMP_DebugBuild if ( (currSchema->_namePtr != currSchema->name.c_str()) || (currSchema->_valuePtr != currSchema->value.c_str()) ) OutProcLiteral ( " ** bad debug string **" ); #endif OutProcNewline(); if ( ! (currSchema->options & kXMP_SchemaNode) ) { OutProcLiteral ( "** bad schema options **" ); OutProcNewline(); } if ( ! currSchema->qualifiers.empty() ) { OutProcLiteral ( "** bad schema qualifiers **" ); OutProcNewline(); for ( size_t qualNum = 0, qualLim = currSchema->qualifiers.size(); qualNum < qualLim; ++qualNum ) { DumpPropertyTree ( currSchema->qualifiers[qualNum], 3, 0, outProc, refCon ); } } for ( size_t childNum = 0, childLim = currSchema->children.size(); childNum < childLim; ++childNum ) { DumpPropertyTree ( currSchema->children[childNum], 2, 0, outProc, refCon ); } } } EXIT: return status; } // DumpObject // ------------------------------------------------------------------------------------------------- // CountArrayItems // --------------- XMP_Index XMPMeta::CountArrayItems ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName ) const { XMP_Assert ( (schemaNS != 0) && (arrayName != 0) ); // Enforced by wrapper. XMP_ExpandedXPath expPath; ExpandXPath ( schemaNS, arrayName, &expPath ); const XMP_Node * arrayNode = FindConstNode ( &tree, expPath ); if ( arrayNode == 0 ) return 0; if ( ! (arrayNode->options & kXMP_PropValueIsArray) ) XMP_Throw ( "The named property is not an array", kXMPErr_BadXPath ); return arrayNode->children.size(); } // CountArrayItems // ------------------------------------------------------------------------------------------------- // GetObjectName // ------------- void XMPMeta::GetObjectName ( XMP_StringPtr * namePtr, XMP_StringLen * nameLen ) const { *namePtr = tree.name.c_str(); *nameLen = tree.name.size(); } // GetObjectName // ------------------------------------------------------------------------------------------------- // SetObjectName // ------------- void XMPMeta::SetObjectName ( XMP_StringPtr name ) { VerifyUTF8 ( name ); // Throws if the string is not legit UTF-8. tree.name = name; } // SetObjectName // ------------------------------------------------------------------------------------------------- // GetObjectOptions // ---------------- XMP_OptionBits XMPMeta::GetObjectOptions() const { XMP_OptionBits options = 0; return options; } // GetObjectOptions // ------------------------------------------------------------------------------------------------- // SetObjectOptions // ---------------- void XMPMeta::SetObjectOptions ( XMP_OptionBits /*options*/ ) { XMP_Throw ( "Unimplemented method XMPMeta::SetObjectOptions", kXMPErr_Unimplemented ); } // SetObjectOptions // ------------------------------------------------------------------------------------------------- // Sort // ---- // // At the top level the namespaces are sorted by their prefixes. Within a namespace, the top level // properties are sorted by name. Within a struct, the fields are sorted by their qualified name, // i.e. their XML prefix:local form. Unordered arrays of simple items are sorted by value. Language // Alternative arrays are sorted by the xml:lang qualifiers, with the "x-default" item placed first. void XMPMeta::Sort() { if ( ! this->tree.qualifiers.empty() ) { sort ( this->tree.qualifiers.begin(), this->tree.qualifiers.end(), CompareNodeNames ); SortWithinOffspring ( this->tree.qualifiers ); } if ( ! this->tree.children.empty() ) { // The schema prefixes are the node's value, the name is the URI, so we sort schemas by value. sort ( this->tree.children.begin(), this->tree.children.end(), CompareNodeValues ); SortWithinOffspring ( this->tree.children ); } } // Sort // ------------------------------------------------------------------------------------------------- // Erase // ----- // // Clear everything except for clientRefs. void XMPMeta::Erase() { this->prevTkVer = 0; if ( this->xmlParser != 0 ) { delete ( this->xmlParser ); this->xmlParser = 0; } this->tree.ClearNode(); } // Erase // ------------------------------------------------------------------------------------------------- // Clone // ----- void XMPMeta::Clone ( XMPMeta * clone, XMP_OptionBits options ) const { if ( clone == 0 ) XMP_Throw ( "Null clone pointer", kXMPErr_BadParam ); if ( options != 0 ) XMP_Throw ( "No options are defined yet", kXMPErr_BadOptions ); XMP_Assert ( this->tree.parent == 0 ); clone->tree.ClearNode(); clone->tree.options = this->tree.options; clone->tree.name = this->tree.name; clone->tree.value = this->tree.value; #if 0 // *** XMP_DebugBuild clone->tree._namePtr = clone->tree.name.c_str(); clone->tree._valuePtr = clone->tree.value.c_str(); #endif CloneOffspring ( &this->tree, &clone->tree ); } // Clone // ================================================================================================= exiv2-0.25/xmpsdk/src/XMPIterator.cpp0000664000175000017500000006422012467000312017271 0ustar andreasandreas// ================================================================================================= // Copyright 2002-2007 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" // ! This must be the first include! #include "XMPCore_Impl.hpp" #include "XMPIterator.hpp" #include #include // For snprintf. #if XMP_WinBuild #ifdef _MSC_VER #pragma warning ( disable : 4702 ) // unreachable code #pragma warning ( disable : 4800 ) // forcing value to bool 'true' or 'false' (performance warning) #pragma warning ( disable : 4996 ) // '...' was declared deprecated #endif #endif // ================================================================================================= // Support Routines // ================================================================================================= #ifndef TraceIterators #define TraceIterators 0 #endif #if TraceIterators static const char * sStageNames[] = { "before", "self", "qualifiers", "children" }; #endif static XMP_Node * sDummySchema = 0; // ! Used for some ugliness with aliases. // ------------------------------------------------------------------------------------------------- // AddSchemaProps // -------------- // // Add the top level properties to the IterNode for a schema. static void AddSchemaProps ( IterInfo & info, IterNode & iterSchema, const XMP_Node * xmpSchema ) { UNUSED(info); #if TraceIterators printf ( " Adding properties of %s\n", xmpSchema->name.c_str() ); #endif for ( size_t propNum = 0, propLim = xmpSchema->children.size(); propNum != propLim; ++propNum ) { const XMP_Node * xmpProp = xmpSchema->children[propNum]; // *** set the has-aliases bit when appropriate iterSchema.children.push_back ( IterNode ( xmpProp->options, xmpProp->name, 0 ) ); #if TraceIterators printf ( " %s\n", xmpProp->name.c_str() ); #endif } } // AddSchemaProps // ------------------------------------------------------------------------------------------------- // AddSchemaAliases // ---------------- // // Add the aliases to the IterNode for a schema, if the corresponding actual exists. static void AddSchemaAliases ( IterInfo & info, IterNode & iterSchema, XMP_StringPtr schemaURI ) { // We're showing the aliases also. Look them up by their namespace prefix. Yes, the alias map is // sorted so we could process just that portion. But that takes more code and the extra speed // isn't worth it. (Plus this way we avoid a dependence on the map implementation.) Lookup the // XMP node from the alias, to make sure the actual exists. #if TraceIterators printf ( " Adding aliases\n", schemaURI ); #endif XMP_StringPtr nsPrefix; XMP_StringLen nsLen; bool found = XMPMeta::GetNamespacePrefix ( schemaURI, &nsPrefix, &nsLen ); if ( ! found ) XMP_Throw ( "Unknown iteration namespace", kXMPErr_BadSchema ); XMP_AliasMapPos currAlias = sRegisteredAliasMap->begin(); XMP_AliasMapPos endAlias = sRegisteredAliasMap->end(); for ( ; currAlias != endAlias; ++currAlias ) { if ( XMP_LitNMatch ( currAlias->first.c_str(), nsPrefix, nsLen ) ) { const XMP_Node * actualProp = FindConstNode ( &info.xmpObj->tree, currAlias->second ); if ( actualProp != 0 ) { iterSchema.children.push_back ( IterNode ( (actualProp->options | kXMP_PropIsAlias), currAlias->first, 0 ) ); #if TraceIterators printf ( " %s => %s\n", currAlias->first.c_str(), actualProp->name.c_str() ); #endif } } } } // AddSchemaAliases // ------------------------------------------------------------------------------------------------- // AddNodeOffspring // ---------------- // // Add the immediate children and qualifiers to an IterNode. static void AddNodeOffspring ( IterInfo & info, IterNode & iterParent, const XMP_Node * xmpParent ) { XMP_VarString currPath ( iterParent.fullPath ); size_t leafOffset = iterParent.fullPath.size(); if ( (! xmpParent->qualifiers.empty()) && (! (info.options & kXMP_IterOmitQualifiers)) ) { #if TraceIterators printf ( " Adding qualifiers of %s\n", currPath.c_str() ); #endif currPath += "/?"; // All qualifiers are named and use paths like "Prop/?Qual". leafOffset += 2; for ( size_t qualNum = 0, qualLim = xmpParent->qualifiers.size(); qualNum != qualLim; ++qualNum ) { const XMP_Node * xmpQual = xmpParent->qualifiers[qualNum]; currPath += xmpQual->name; iterParent.qualifiers.push_back ( IterNode ( xmpQual->options, currPath, leafOffset ) ); currPath.erase ( leafOffset ); #if TraceIterators printf ( " %s\n", xmpQual->name.c_str() ); #endif } leafOffset -= 2; currPath.erase ( leafOffset ); } if ( ! xmpParent->children.empty() ) { #if TraceIterators printf ( " Adding children of %s\n", currPath.c_str() ); #endif XMP_Assert ( xmpParent->options & kXMP_PropCompositeMask ); if ( xmpParent->options & kXMP_PropValueIsStruct ) { currPath += '/'; leafOffset += 1; } for ( size_t childNum = 0, childLim = xmpParent->children.size(); childNum != childLim; ++childNum ) { const XMP_Node * xmpChild = xmpParent->children[childNum]; if ( ! (xmpParent->options & kXMP_PropValueIsArray) ) { currPath += xmpChild->name; } else { char buffer [32]; // AUDIT: Using sizeof(buffer) below for snprintf length is safe. snprintf ( buffer, sizeof(buffer), "[%lu]", static_cast(childNum+1) ); // ! XPath indices are one-based. currPath += buffer; } iterParent.children.push_back ( IterNode ( xmpChild->options, currPath, leafOffset ) ); currPath.erase ( leafOffset ); #if TraceIterators printf ( " %s\n", (iterParent.children.back().fullPath.c_str() + leafOffset) ); #endif } } } // AddNodeOffspring // ------------------------------------------------------------------------------------------------- // SetCurrSchema // ------------- static inline void SetCurrSchema ( IterInfo & info, XMP_StringPtr schemaName ) { info.currSchema = schemaName; #if 0 // *** XMP_DebugBuild info._schemaPtr = info.currSchema.c_str(); #endif } // SetCurrSchema static inline void SetCurrSchema ( IterInfo & info, XMP_VarString & schemaName ) { info.currSchema = schemaName; #if 0 // *** XMP_DebugBuild info._schemaPtr = info.currSchema.c_str(); #endif } // SetCurrSchema // ------------------------------------------------------------------------------------------------- // AdvanceIterPos // -------------- // // Adjust currPos and possibly endPos for the next step in a pre-order depth-first traversal. The // current node has just been visited, move on to its qualifiers, children, then siblings, or back // up to an ancestor. AdvanceIterPos either moves to a property or qualifier node that can be // visited, or to the end of the entire iteration. static void AdvanceIterPos ( IterInfo & info ) { // ------------------------------------------------------------------------------------------- // Keep looking until we find a node to visit or the end of everything. The first time through // the current node will exist, we just visited it. But we have to keep looking if the current // node was the last of its siblings or is an empty schema. // ! It is possible that info.currPos == info.endPos on entry. Don't dereference info.currPos yet! while ( true ) { if ( info.currPos == info.endPos ) { // ------------------------------------------------------------------------------------ // At the end of a set of siblings, move up to an ancestor. We've either just finished // the qualifiers and will move to the children, or have just finished the children and // will move on to the next sibling. if ( info.ancestors.empty() ) break; // We're at the end of the schema list. IterPosPair & parent = info.ancestors.back(); info.currPos = parent.first; info.endPos = parent.second; info.ancestors.pop_back(); #if TraceIterators printf ( " Moved up to %s, stage = %s\n", info.currPos->fullPath.c_str(), sStageNames[info.currPos->visitStage] ); #endif } else { // ------------------------------------------------------------------------------------------- // Decide what to do with this iteration node based on its state. Don't use a switch statement, // some of the cases want to break from the loop. A break in a switch just exits the case. #if TraceIterators printf ( " Moving from %s, stage = %s\n", info.currPos->fullPath.c_str(), sStageNames[info.currPos->visitStage] ); #endif if ( info.currPos->visitStage == kIter_BeforeVisit ) { // Visit this node now. if ( info.currPos->options & kXMP_SchemaNode ) SetCurrSchema ( info, info.currPos->fullPath ); break; } if ( info.currPos->visitStage == kIter_VisitSelf ) { // Just finished visiting the value portion. info.currPos->visitStage = kIter_VisitQualifiers; // Start visiting the qualifiers. if ( ! info.currPos->qualifiers.empty() ) { info.ancestors.push_back ( IterPosPair ( info.currPos, info.endPos ) ); info.endPos = info.currPos->qualifiers.end(); // ! Set the parent's endPos before changing currPos! info.currPos = info.currPos->qualifiers.begin(); break; } } if ( info.currPos->visitStage == kIter_VisitQualifiers ) { // Just finished visiting the qualifiers. info.currPos->qualifiers.clear(); info.currPos->visitStage = kIter_VisitChildren; // Start visiting the children. if ( ! info.currPos->children.empty() ) { info.ancestors.push_back ( IterPosPair ( info.currPos, info.endPos ) ); info.endPos = info.currPos->children.end(); // ! Set the parent's endPos before changing currPos! info.currPos = info.currPos->children.begin(); break; } } if ( info.currPos->visitStage == kIter_VisitChildren ) { // Just finished visiting the children. info.currPos->children.clear(); ++info.currPos; // Move to the next sibling. continue; } #if TraceIterators if ( info.currPos != info.endPos ) { printf ( " Moved to %s, stage = %s\n", info.currPos->fullPath.c_str(), sStageNames[info.currPos->visitStage] ); } #endif } } // Loop to find the next node. XMP_Assert ( (info.currPos == info.endPos) || (info.currPos->visitStage == kIter_BeforeVisit) ); } // AdvanceIterPos // ------------------------------------------------------------------------------------------------- // GetNextXMPNode // -------------- // // Used by XMPIterator::Next to obtain the next XMP node, ignoring the kXMP_IterJustLeafNodes flag. // This isolates some messy code, allowing a clean loop in Next if kXMP_IterJustLeafNodes is set. static const XMP_Node * GetNextXMPNode ( IterInfo & info ) { const XMP_Node * xmpNode = 0; // ---------------------------------------------------------------------------------------------- // On entry currPos points to an iteration node whose state is either before-visit or visit-self. // If it is before-visit then we will return that node's value part now. If it is visit-self it // means the previous iteration returned the value portion of that node, so we can advance to the // next node in the iteration tree. Then we find the corresponding XMP node, allowing for the XMP // tree to have been modified since that part of the iteration tree was constructed. // ! NOTE: Supporting aliases throws in some nastiness with schemas. There might not be any XMP // ! node for the schema, but we still have to visit it because of possible aliases. The static // ! sDummySchema is returned if there is no real schema node. if ( info.currPos->visitStage != kIter_BeforeVisit ) AdvanceIterPos ( info ); bool isSchemaNode = false; XMP_ExpandedXPath expPath; // Keep outside the loop to avoid constant construct/destruct. while ( info.currPos != info.endPos ) { isSchemaNode = XMP_NodeIsSchema ( info.currPos->options ); if ( isSchemaNode ) { SetCurrSchema ( info, info.currPos->fullPath ); xmpNode = FindConstSchema ( &info.xmpObj->tree, info.currPos->fullPath.c_str() ); if ( xmpNode == 0 ) xmpNode = sDummySchema; } else { ExpandXPath ( info.currSchema.c_str(), info.currPos->fullPath.c_str(), &expPath ); xmpNode = FindConstNode ( &info.xmpObj->tree, expPath ); } if ( xmpNode != 0 ) break; // Exit the loop, we found a live XMP node. info.currPos->visitStage = kIter_VisitChildren; // Make AdvanceIterPos move to the next sibling. info.currPos->children.clear(); info.currPos->qualifiers.clear(); AdvanceIterPos ( info ); } if ( info.currPos == info.endPos ) return 0; // ------------------------------------------------------------------------------------------- // Now we've got the iteration node and corresponding XMP node. Add the iteration children for // structs and arrays. The children of schema were added when the iterator was constructed. XMP_Assert ( info.currPos->visitStage == kIter_BeforeVisit ); if ( info.currPos->visitStage == kIter_BeforeVisit ) { if ( (! isSchemaNode) && (! (info.options & kXMP_IterJustChildren)) ) { AddNodeOffspring ( info, *info.currPos, xmpNode ); } info.currPos->visitStage = kIter_VisitSelf; } return xmpNode; } // GetNextXMPNode // ================================================================================================= // Init/Term // ================================================================================================= // ------------------------------------------------------------------------------------------------- // Initialize // ---------- /* class static */ bool XMPIterator::Initialize() { sDummySchema = new XMP_Node ( 0, "dummy:schema/", kXMP_SchemaNode); return true; } // Initialize // ------------------------------------------------------------------------------------------------- // Terminate // ---------- /* class static */ void XMPIterator::Terminate() RELEASE_NO_THROW { delete ( sDummySchema ); sDummySchema = 0; return; } // Terminate // ------------------------------------------------------------------------------------------------- // Unlock // ------ void XMPIterator::Unlock ( XMP_OptionBits options ) { UNUSED(options); XMPMeta::Unlock ( 0 ); } // Unlock // ================================================================================================= // Constructors // ================================================================================================= // ------------------------------------------------------------------------------------------------- // XMPIterator // ----------- // // Constructor for iterations over the nodes in an XMPMeta object. This builds a tree of iteration // nodes that caches the existing node names of the XMPMeta object. The iteration tree is a partial // replica of the XMPMeta tree. The initial iteration tree normally has just the root node, all of // the schema nodes for a full object iteration. Lower level nodes (children and qualifiers) are // added when the parent is visited. If the kXMP_IterJustChildren option is passed then the initial // iterator includes the children and the parent is marked as done. The iteration tree nodes are // pruned when they are no longer needed. XMPIterator::XMPIterator ( const XMPMeta & xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options ) : clientRefs(0), info(IterInfo(options,&xmpObj)) { if ( (options & kXMP_IterClassMask) != kXMP_IterProperties ) { XMP_Throw ( "Unsupported iteration kind", kXMPErr_BadOptions ); } // *** Lock the XMPMeta object if we ever stop using a full DLL lock. if ( *propName != 0 ) { // An iterator rooted at a specific node. #if TraceIterators printf ( "\nNew XMP property iterator for \"%s\", options = %X\n Schema = %s, root = %s\n", xmpObj.tree.name.c_str(), options, schemaNS, propName ); #endif XMP_ExpandedXPath propPath; ExpandXPath ( schemaNS, propName, &propPath ); XMP_Node * propNode = FindConstNode ( &xmpObj.tree, propPath ); // If not found get empty iteration. if ( propNode != 0 ) { XMP_VarString rootName ( propPath[1].step ); // The schema is [0]. for ( size_t i = 2; i < propPath.size(); ++i ) { XMP_OptionBits stepKind = GetStepKind ( propPath[i].options ); if ( stepKind <= kXMP_QualifierStep ) rootName += '/'; rootName += propPath[i].step; } propName = rootName.c_str(); size_t leafOffset = rootName.size(); while ( (leafOffset > 0) && (propName[leafOffset] != '/') && (propName[leafOffset] != '[') ) --leafOffset; if ( propName[leafOffset] == '/' ) ++leafOffset; info.tree.children.push_back ( IterNode ( propNode->options, propName, leafOffset ) ); SetCurrSchema ( info, propPath[kSchemaStep].step.c_str() ); if ( info.options & kXMP_IterJustChildren ) { AddNodeOffspring ( info, info.tree.children.back(), propNode ); } } } else if ( *schemaNS != 0 ) { // An iterator for all properties in one schema. #if TraceIterators printf ( "\nNew XMP schema iterator for \"%s\", options = %X\n Schema = %s\n", xmpObj.tree.name.c_str(), options, schemaNS ); #endif info.tree.children.push_back ( IterNode ( kXMP_SchemaNode, schemaNS, 0 ) ); IterNode & iterSchema = info.tree.children.back(); XMP_Node * xmpSchema = FindConstSchema ( &xmpObj.tree, schemaNS ); if ( xmpSchema != 0 ) AddSchemaProps ( info, iterSchema, xmpSchema ); if ( info.options & kXMP_IterIncludeAliases ) AddSchemaAliases ( info, iterSchema, schemaNS ); if ( iterSchema.children.empty() ) { info.tree.children.pop_back(); // No properties, remove the schema node. } else { SetCurrSchema ( info, schemaNS ); } } else { // An iterator for all properties in all schema. First add schema that exist (have children), // adding aliases from them if appropriate. Then add schema that have no actual properties // but do have aliases to existing properties, if we're including aliases in the iteration. #if TraceIterators printf ( "\nNew XMP tree iterator for \"%s\", options = %X\n", xmpObj.tree.name.c_str(), options ); #endif // First pick up the schema that exist. for ( size_t schemaNum = 0, schemaLim = xmpObj.tree.children.size(); schemaNum != schemaLim; ++schemaNum ) { const XMP_Node * xmpSchema = xmpObj.tree.children[schemaNum]; info.tree.children.push_back ( IterNode ( kXMP_SchemaNode, xmpSchema->name, 0 ) ); IterNode & iterSchema = info.tree.children.back(); if ( ! (info.options & kXMP_IterJustChildren) ) { AddSchemaProps ( info, iterSchema, xmpSchema ); if ( info.options & kXMP_IterIncludeAliases ) AddSchemaAliases ( info, iterSchema, xmpSchema->name.c_str() ); if ( iterSchema.children.empty() ) info.tree.children.pop_back(); // No properties, remove the schema node. } } if ( info.options & kXMP_IterIncludeAliases ) { // Add the schema that only have aliases. The most convenient, and safest way, is to go // through the registered namespaces, see if it exists, and let AddSchemaAliases do its // thing if not. Don't combine with the above loop, it is nicer to have the "real" stuff // be in storage order (not subject to the namespace map order). // ! We don't do the kXMP_IterJustChildren handing in the same way here as above. The // ! existing schema (presumably) have actual children. We need to call AddSchemaAliases // ! here to determine if the namespace has any aliases to existing properties. We then // ! strip the children if necessary. XMP_cStringMapPos currNS = sNamespaceURIToPrefixMap->begin(); XMP_cStringMapPos endNS = sNamespaceURIToPrefixMap->end(); for ( ; currNS != endNS; ++currNS ) { XMP_StringPtr schemaName = currNS->first.c_str(); if ( FindConstSchema ( &xmpObj.tree, schemaName ) != 0 ) continue; info.tree.children.push_back ( IterNode ( kXMP_SchemaNode, schemaName, 0 ) ); IterNode & iterSchema = info.tree.children.back(); AddSchemaAliases ( info, iterSchema, schemaName ); if ( iterSchema.children.empty() ) { info.tree.children.pop_back(); // No aliases, remove the schema node. } else if ( info.options & kXMP_IterJustChildren ) { iterSchema.children.clear(); // Get rid of the children. } } } } // Set the current iteration position to the first node to be visited. info.currPos = info.tree.children.begin(); info.endPos = info.tree.children.end(); if ( (info.options & kXMP_IterJustChildren) && (info.currPos != info.endPos) && (*schemaNS != 0) ) { info.currPos->visitStage = kIter_VisitSelf; } #if TraceIterators if ( info.currPos == info.endPos ) { printf ( " ** Empty iteration **\n" ); } else { printf ( " Initial node %s, stage = %s, iterator @ %.8X\n", info.currPos->fullPath.c_str(), sStageNames[info.currPos->visitStage], this ); } #endif } // XMPIterator for XMPMeta objects // ------------------------------------------------------------------------------------------------- // XMPIterator // ----------- // // Constructor for iterations over global tables such as registered namespaces or aliases. XMPIterator::XMPIterator ( XMP_StringPtr /*schemaNS*/, XMP_StringPtr /*propName*/, XMP_OptionBits options ) : clientRefs(0), info(IterInfo(options,0)) { XMP_Throw ( "Unimplemented XMPIterator constructor for global tables", kXMPErr_Unimplemented ); } // XMPIterator for global tables // ------------------------------------------------------------------------------------------------- // ~XMPIterator // ----------- XMPIterator::~XMPIterator() RELEASE_NO_THROW { XMP_Assert ( this->clientRefs <= 0 ); // Let everything else default. } // ~XMPIterator // ================================================================================================= // Iteration Methods // ================================================================================================= // ------------------------------------------------------------------------------------------------- // Next // ---- // // Do a preorder traversal of the cached nodes. // *** Need to document the relationships between currPos, endPos, and visitStage. bool XMPIterator::Next ( XMP_StringPtr * schemaNS, XMP_StringLen * nsSize, XMP_StringPtr * propPath, XMP_StringLen * pathSize, XMP_StringPtr * propValue, XMP_StringLen * valueSize, XMP_OptionBits * propOptions ) { // *** Lock the XMPMeta object if we ever stop using a full DLL lock. // ! NOTE: Supporting aliases throws in some nastiness with schemas. There might not be any XMP // ! node for the schema, but we still have to visit it because of possible aliases. if ( info.currPos == info.endPos ) return false; // Happens at the start of an empty iteration. #if TraceIterators printf ( "Next iteration from %s, stage = %s, iterator @ %.8X\n", info.currPos->fullPath.c_str(), sStageNames[info.currPos->visitStage], this ); #endif const XMP_Node * xmpNode = GetNextXMPNode ( info ); if ( xmpNode == 0 ) return false; bool isSchemaNode = XMP_NodeIsSchema ( info.currPos->options ); if ( info.options & kXMP_IterJustLeafNodes ) { while ( isSchemaNode || (! xmpNode->children.empty()) ) { info.currPos->visitStage = kIter_VisitQualifiers; // Skip to this node's children. xmpNode = GetNextXMPNode ( info ); if ( xmpNode == 0 ) return false; isSchemaNode = XMP_NodeIsSchema ( info.currPos->options ); } } *schemaNS = info.currSchema.c_str(); *nsSize = info.currSchema.size(); *propOptions = info.currPos->options; *propPath = ""; *pathSize = 0; *propValue = ""; *valueSize = 0; if ( ! (*propOptions & kXMP_SchemaNode) ) { *propPath = info.currPos->fullPath.c_str(); *pathSize = info.currPos->fullPath.size(); if ( info.options & kXMP_IterJustLeafName ) { *propPath += info.currPos->leafOffset; *pathSize -= info.currPos->leafOffset; } if ( ! (*propOptions & kXMP_PropCompositeMask) ) { *propValue = xmpNode->value.c_str(); *valueSize = xmpNode->value.size(); } } #if TraceIterators printf ( " Next node %s, stage = %s\n", info.currPos->fullPath.c_str(), sStageNames[info.currPos->visitStage] ); #endif return true; } // Next // ------------------------------------------------------------------------------------------------- // Skip // ---- // // Skip some portion of the traversal related to the last visited node. We skip either that node's // children, or those children and the previous node's siblings. The implementation might look a bit // awkward because info.currNode always points to the next node to be visited. We might already have // moved past the things to skip, e.g. if the previous node was simple and the last of its siblings. enum { kXMP_ValidIterSkipOptions = kXMP_IterSkipSubtree | kXMP_IterSkipSiblings }; void XMPIterator::Skip ( XMP_OptionBits iterOptions ) { // if ( (info.currPos == kIter_NullPos) ) XMP_Throw ( "No prior postion to skip from", kXMPErr_BadIterPosition ); if ( iterOptions == 0 ) XMP_Throw ( "Must specify what to skip", kXMPErr_BadOptions ); if ( (iterOptions & ~kXMP_ValidIterSkipOptions) != 0 ) XMP_Throw ( "Undefined options", kXMPErr_BadOptions ); #if TraceIterators printf ( "Skipping from %s, stage = %s, iterator @ %.8X", info.currPos->fullPath.c_str(), sStageNames[info.currPos->visitStage], this ); #endif if ( iterOptions & kXMP_IterSkipSubtree ) { #if TraceIterators printf ( ", mode = subtree\n" ); #endif info.currPos->visitStage = kIter_VisitChildren; } else if ( iterOptions & kXMP_IterSkipSiblings ) { #if TraceIterators printf ( ", mode = siblings\n" ); #endif info.currPos = info.endPos; AdvanceIterPos ( info ); } #if TraceIterators printf ( " Skipped to %s, stage = %s\n", info.currPos->fullPath.c_str(), sStageNames[info.currPos->visitStage] ); #endif } // Skip // ------------------------------------------------------------------------------------------------- // UnlockIter // ---------- void XMPIterator::UnlockIter ( XMP_OptionBits options ) { UNUSED(options); XMPMeta::Unlock ( 0 ); } // UnlockIter // ================================================================================================= exiv2-0.25/xmpsdk/src/XML_Node.cpp0000664000175000017500000003065111361140677016534 0ustar andreasandreas// ================================================================================================= // Copyright 2005-2007 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" // ! Must be the first #include! #include "XMLParserAdapter.hpp" #include #include #include // ! Can't include XMP..._Impl.hpp - used by both Core and Files. #define XMP_LitNMatch(s,l,n) (std::strncmp((s),(l),(n)) == 0) #if XMP_WinBuild #ifdef _MSC_VER #define snprintf _snprintf #pragma warning ( disable : 4996 ) // snprintf is safe #endif #endif // ================================================================================================= #if 0 // Pattern for iterating over the children or attributes: for ( size_t xxNum = 0, xxLim = _node_->_offspring_->size(); xxNum < xxLim; ++xxNum ) { const XML_NodePtr _curr_ = _node_->_offspring_[xxNum]; } #endif // ================================================================================================= // XML_Node::IsWhitespaceNode //=========================== bool XML_Node::IsWhitespaceNode() const { if ( this->kind != kCDataNode ) return false; for ( size_t i = 0; i < this->value.size(); ++i ) { unsigned char ch = this->value[i]; if ( IsWhitespaceChar ( ch ) ) continue; // *** Add checks for other whitespace characters. return false; // All the checks failed, this isn't whitespace. } return true; } // XML_Node::IsWhitespaceNode // ================================================================================================= // XML_Node::IsLeafContentNode //============================ bool XML_Node::IsLeafContentNode() const { if ( this->kind != kElemNode ) return false; if ( this->content.size() == 0 ) return true; if ( this->content.size() > 1 ) return false; if ( this->content[0]->kind != kCDataNode ) return false; return true; } // XML_Node::IsLeafContentNode // ================================================================================================= // XML_Node::IsEmptyLeafNode //========================== bool XML_Node::IsEmptyLeafNode() const { if ( (this->kind != kElemNode) || (this->content.size() != 0) ) return false; return true; } // XML_Node::IsEmptyLeafNode // ================================================================================================= // XML_Node::GetAttrValue //======================= XMP_StringPtr XML_Node::GetAttrValue ( XMP_StringPtr attrName ) const { for ( size_t i = 0, aLim = this->attrs.size(); i < aLim; ++i ) { XML_Node * attrPtr = this->attrs[i]; if ( ! attrPtr->ns.empty() ) continue; // This form of GetAttrValue is for attrs in no namespace. if ( attrPtr->name == attrName ) return attrPtr->value.c_str(); } return 0; // Not found. } // XML_Node::GetAttrValue // ================================================================================================= // XML_Node::SetAttrValue //======================= void XML_Node::SetAttrValue ( XMP_StringPtr attrName, XMP_StringPtr attrValue ) { for ( size_t i = 0, aLim = this->attrs.size(); i < aLim; ++i ) { XML_Node * attrPtr = this->attrs[i]; if ( ! attrPtr->ns.empty() ) continue; // This form of SetAttrValue is for attrs in no namespace. if ( attrPtr->name == attrName ) { attrPtr->value = attrValue; return; } } } // XML_Node::SetAttrValue // ================================================================================================= // XML_Node::GetLeafContentValue //============================== XMP_StringPtr XML_Node::GetLeafContentValue() const { if ( (! this->IsLeafContentNode()) || this->content.empty() ) return ""; return this->content[0]->value.c_str(); } // XML_Node::GetLeafContentValue // ================================================================================================= // XML_Node::SetLeafContentValue //============================== void XML_Node::SetLeafContentValue ( XMP_StringPtr newValue ) { XML_Node * valueNode; if ( ! this->content.empty() ) { valueNode = this->content[0]; } else { valueNode = new XML_Node ( this, "", kCDataNode ); this->content.push_back ( valueNode ); } valueNode->value = newValue; } // XML_Node::SetLeafContentValue // ================================================================================================= // XML_Node::CountNamedElements //============================= size_t XML_Node::CountNamedElements ( XMP_StringPtr nsURI, XMP_StringPtr localName ) const { size_t count = 0; for ( size_t i = 0, vLim = this->content.size(); i < vLim; ++i ) { const XML_Node & child = *this->content[i]; if ( child.ns != nsURI ) continue; if ( strcmp ( localName, child.name.c_str()+child.nsPrefixLen ) != 0 ) continue; ++count; } return count; } // XML_Node::CountNamedElements // ================================================================================================= // XML_Node::GetNamedElement //========================== XML_NodePtr XML_Node::GetNamedElement ( XMP_StringPtr nsURI, XMP_StringPtr localName, size_t which /* = 0 */ ) { for ( size_t i = 0, vLim = this->content.size(); i < vLim; ++i ) { XML_Node * childPtr = this->content[i]; if ( childPtr->ns != nsURI ) continue; if ( strcmp ( localName, childPtr->name.c_str()+childPtr->nsPrefixLen ) != 0 ) continue; if ( which == 0 ) return childPtr; --which; } return 0; /// Not found. } // XML_Node::GetNamedElement // ================================================================================================= // DumpNodeList // ============ static const char * kNodeKinds[] = { "root", "elem", "attr", "cdata", "pi" }; static void DumpNodeList ( std::string * buffer, const XML_NodeVector & list, int indent ) { for ( size_t i = 0, limit = list.size(); i < limit; ++i ) { const XML_Node * node = list[i]; for ( int t = indent; t > 0; --t ) *buffer += " "; if ( node->IsWhitespaceNode() ) { *buffer += "-- whitespace --\n"; continue; } *buffer += node->name; *buffer += " - "; *buffer += kNodeKinds[node->kind]; if ( ! node->value.empty() ) { *buffer += ", value=\""; *buffer += node->value; *buffer += "\""; } if ( ! node->ns.empty() ) { *buffer += ", ns=\""; *buffer += node->ns; *buffer += "\""; } if ( node->nsPrefixLen != 0 ) { *buffer += ", prefixLen="; char numBuf [20]; snprintf ( numBuf, sizeof(numBuf), "%lu", (unsigned long)node->nsPrefixLen ); *buffer += numBuf; } *buffer += "\n"; if ( ! node->attrs.empty() ) { for ( int t = indent+1; t > 0; --t ) *buffer += " "; *buffer += "attrs:\n"; DumpNodeList ( buffer, node->attrs, indent+2 ); } if ( ! node->content.empty() ) { DumpNodeList ( buffer, node->content, indent+1 ); } } } // DumpNodeList // ================================================================================================= // XML_Node::Dump //=============== void XML_Node::Dump ( std::string * buffer ) { *buffer = "Dump of XML_Node tree\n"; *buffer += "Root info: name=\""; *buffer += this->name; *buffer += "\", value=\""; *buffer += this->value; *buffer += "\", ns=\""; *buffer += this->ns; *buffer += "\", kind="; *buffer += kNodeKinds[this->kind]; *buffer += "\n"; if ( ! this->attrs.empty() ) { *buffer += " attrs:\n"; DumpNodeList ( buffer, this->attrs, 2 ); } *buffer += "\n"; DumpNodeList ( buffer, this->content, 0 ); } // XML_Node::Dump // ================================================================================================= // SerializeOneNode // ================ static void SerializeOneNode ( std::string * buffer, const XML_Node & node ) { size_t i, limit; XMP_StringPtr namePtr = node.name.c_str(); if ( XMP_LitNMatch ( namePtr, "_dflt_:", 7 ) ) namePtr += 7; // Hack for default namespaces. switch ( node.kind ) { case kElemNode: *buffer += '<'; *buffer += namePtr; for ( i = 0, limit = node.attrs.size(); i < limit; ++i ) { SerializeOneNode ( buffer, *node.attrs[i] ); } if ( node.content.empty() ) { *buffer += "/>"; } else { *buffer += '>'; for ( i = 0, limit = node.content.size(); i < limit; ++i ) { SerializeOneNode ( buffer, *node.content[i] ); } *buffer += "'; } break; case kAttrNode: *buffer += ' '; *buffer += namePtr; *buffer += "=\""; *buffer += node.value; *buffer += '"'; break; case kCDataNode: *buffer += node.value; break; case kPINode: *buffer += node.value; // *** Note that we're dropping PIs during the Expat parse. break; } } // SerializeOneNode // ================================================================================================= // CollectNamespaceDecls // ===================== typedef std::map < std::string, std::string > NamespaceMap; static void CollectNamespaceDecls ( NamespaceMap * nsMap, const XML_Node & node ) { size_t i, limit; if ( ! node.ns.empty() ) { size_t nameMid = 0; while ( node.name[nameMid] != ':' ) ++nameMid; std::string prefix = node.name.substr ( 0, nameMid ); (*nsMap)[prefix] = node.ns; } if ( node.kind == kElemNode ) { for ( i = 0, limit = node.attrs.size(); i < limit; ++i ) { CollectNamespaceDecls ( nsMap, *node.attrs[i] ); } for ( i = 0, limit = node.content.size(); i < limit; ++i ) { const XML_Node & content = *node.content[i]; if ( content.kind == kElemNode ) CollectNamespaceDecls ( nsMap, content ); } } } // CollectNamespaceDecls // ================================================================================================= // XML_Node::Serialize //==================== void XML_Node::Serialize ( std::string * buffer ) { buffer->erase(); if ( this->kind != kRootNode ) { SerializeOneNode ( buffer, *this ); } else { // Do the outermost level here, in order to add the XML version and namespace declarations. *buffer += "\n"; for ( size_t outer = 0, oLimit = this->content.size(); outer < oLimit; ++outer ) { const XML_Node & node = *this->content[outer]; if ( node.kind != kElemNode ) { SerializeOneNode ( buffer, node ); } else { XMP_StringPtr namePtr = node.name.c_str(); if ( XMP_LitNMatch ( namePtr, "_dflt_:", 7 ) ) namePtr += 7; // Hack for default namespaces. *buffer += '<'; *buffer += namePtr; NamespaceMap nsMap; CollectNamespaceDecls ( &nsMap, node ); NamespaceMap::iterator nsDecl = nsMap.begin(); NamespaceMap::iterator nsEnd = nsMap.end(); for ( ; nsDecl != nsEnd; ++nsDecl ) { const std::string & prefix = nsDecl->first; *buffer += " xmlns"; if ( prefix != "_dflt_" ) { *buffer += ':'; *buffer += prefix; } *buffer += "=\""; *buffer += nsDecl->second; *buffer += '"'; } for ( size_t attr = 0, aLimit = node.attrs.size(); attr < aLimit; ++attr ) { SerializeOneNode ( buffer, *node.attrs[attr] ); } if ( node.content.empty() ) { *buffer += "/>"; } else { *buffer += '>'; for ( size_t child = 0, cLimit = node.content.size(); child < cLimit; ++child ) { SerializeOneNode ( buffer, *node.content[child] ); } *buffer += "'; } } } } } // XML_Node::Serialize // ================================================================================================= // XML_Node::RemoveAttrs //====================== void XML_Node::RemoveAttrs() { for ( size_t i = 0, vLim = this->attrs.size(); i < vLim; ++i ) delete this->attrs[i]; this->attrs.clear(); } // XML_Node::RemoveAttrs // ================================================================================================= // XML_Node::RemoveContent //======================== void XML_Node::RemoveContent() { for ( size_t i = 0, vLim = this->content.size(); i < vLim; ++i ) delete this->content[i]; this->content.clear(); } // XML_Node::RemoveContent // ================================================================================================= // XML_Node::ClearNode //==================== void XML_Node::ClearNode() { this->kind = 0; this->ns.erase(); this->name.erase(); this->value.erase(); this->RemoveAttrs(); this->RemoveContent(); } // XML_Node::ClearNode // ================================================================================================= exiv2-0.25/xmpsdk/src/Makefile0000664000175000017500000001111012521135474016046 0ustar andreasandreas# ************************************************************* -*- Makefile -*- # # Copyright (C) 2004-2015 Andreas Huggel # # This Makefile is part of the Exiv2 distribution. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials provided # with the distribution. # 3. The name of the author may not be used to endorse or promote # products derived from this software without specific prior # written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # File: Makefile # Version: $Rev: 3777 $ # Author(s): Andreas Huggel (ahu) # History: 30-Sep-07, ahu: created # # Description: # Makefile to build the Adobe XMP Toolkit integrated and distributed with # Exiv2. Adapted from the main Exiv2 src/Makefile. This builds what the # libtool manual calls a "convenience library". # # Restrictions: # Requires GNU make. # # Default make target all: xmpsdk # Include system configuration top_srcdir = ../.. include $(top_srcdir)/config/config.mk # ****************************************************************************** # Source files # Add library C++ source files to this list CCSRC = XML_Node.cpp \ XMPMeta.cpp \ XMPMeta-GetSet.cpp \ XMPMeta-Parse.cpp \ XMPMeta-Serialize.cpp \ XMPIterator.cpp \ XMPUtils.cpp \ XMPUtils-FileInfo.cpp \ XMPCore_Impl.cpp \ ExpatAdapter.cpp \ ParseRDF.cpp \ UnicodeConversions.cpp \ MD5.cpp \ WXMPMeta.cpp \ WXMPIterator.cpp \ WXMPUtils.cpp # ****************************************************************************** # Library LIBRARY := lib$(XMPSDK_LIBRARY).la # ****************************************************************************** # Initialisations SHELL = /bin/sh .SUFFIXES: .SUFFIXES: .c .cpp .o .so .PRECIOUS: %.cpp # For a debug build, replace -DNDEBUG=1 with -DDEBUG=1 -D_DEBUG=1 CPPFLAGS += -I../include -funsigned-char -DNDEBUG=1 $(EXPAT_CPPFLAGS) ifdef HAVE_STDINT CPPFLAGS += -DEXV_HAVE_STDINT_H=1 endif LDFLAGS += $(EXPAT_LDFLAGS) LIBS += $(EXPAT_LIBS) # Generic variables CCOBJ = $(CCSRC:.cpp=.o) LOBJ = $(CCSRC:.cpp=.lo) ifdef DEP_TRACKING DEP = $(CCSRC:%.cpp=$(DEPDIR)/%.d) endif # ****************************************************************************** # Rules $(CCOBJ): %.o: %.cpp @$(LIBTOOL) --mode=compile $(COMPILE.cc) -o $@ $< @$(MAKEDEPEND) @$(POSTDEPEND) %.ii: %.cpp set -e; \ $(CXXCPP) $(CPPFLAGS) $< | sed '/^[ ]*$$/d' > $@ # ****************************************************************************** # Targets .PHONY: all mostlyclean clean distclean maintainer-clean ifdef DEP_TRACKING # Include targets from dependency files -include $(DEP) endif $(LIBTOOL): $(LIBTOOL_DEPS) $(SHELL) $(top_srcdir)/config.status --recheck xmpsdk: $(LIBRARY) $(LIBRARY): $(CCOBJ) $(LIBTOOL) --mode=link $(LINK.cc) -o $(LIBRARY) $(LOBJ) mostlyclean: $(RM) core $(RM) $(CCSRC:.cpp=.ii) $(RM) $(CCSRC:%.cpp=.libs/%.d) @$(LIBTOOL) --mode=clean $(RM) $(LOBJ) clean: mostlyclean @$(LIBTOOL) --mode=clean $(RM) $(LIBRARY) # Run `make distclean' from the top source directory to also remove # files created by configuring the program. distclean: clean ifdef DEP_TRACKING $(RM) $(DEP) -rmdir $(DEPDIR) endif $(RM) *~ *.bak *# # This command is intended for maintainers to use; it deletes files # that may need special tools to rebuild. maintainer-clean: distclean exiv2-0.25/xmpsdk/src/XMPMeta.hpp0000664000175000017500000003001611465256713016406 0ustar andreasandreas#ifndef __XMPMeta_hpp__ #define __XMPMeta_hpp__ // ================================================================================================= // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" #include "XMP_Const.h" #include "XMPCore_Impl.hpp" #include "XMLParserAdapter.hpp" // ------------------------------------------------------------------------------------------------- #ifndef DumpXMLParseTree #define DumpXMLParseTree 0 #endif extern XMP_VarString * xdefaultName; class XMPIterator; class XMPUtils; // ------------------------------------------------------------------------------------------------- class XMPMeta { public: static void GetVersionInfo ( XMP_VersionInfo * info ); static bool Initialize(); static void Terminate() RELEASE_NO_THROW; static void Unlock ( XMP_OptionBits options ); // --------------------------------------------------------------------------------------------- XMPMeta(); virtual ~XMPMeta() RELEASE_NO_THROW; // --------------------------------------------------------------------------------------------- static XMP_OptionBits GetGlobalOptions(); static void SetGlobalOptions ( XMP_OptionBits options ); // --------------------------------------------------------------------------------------------- static XMP_Status DumpNamespaces ( XMP_TextOutputProc outProc, void * refCon ); static XMP_Status DumpAliases ( XMP_TextOutputProc outProc, void * refCon ); // --------------------------------------------------------------------------------------------- static void RegisterNamespace ( XMP_StringPtr namespaceURI, XMP_StringPtr prefix ); static bool GetNamespacePrefix ( XMP_StringPtr namespaceURI, XMP_StringPtr * namespacePrefix, XMP_StringLen * prefixSize ); static bool GetNamespaceURI ( XMP_StringPtr namespacePrefix, XMP_StringPtr * namespaceURI, XMP_StringLen * uriSize ); static void DeleteNamespace ( XMP_StringPtr namespaceURI ); // --------------------------------------------------------------------------------------------- static void RegisterAlias ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, XMP_StringPtr actualNS, XMP_StringPtr actualProp, XMP_OptionBits arrayForm ); static bool ResolveAlias ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, XMP_StringPtr * actualNS, XMP_StringLen * nsSize, XMP_StringPtr * actualProp, XMP_StringLen * propSize, XMP_OptionBits * arrayForm ); static void DeleteAlias ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp ); static void RegisterStandardAliases ( XMP_StringPtr schemaNS ); // --------------------------------------------------------------------------------------------- void UnlockObject ( XMP_OptionBits options ) const; // --------------------------------------------------------------------------------------------- bool GetProperty ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr * propValue, XMP_StringLen * valueSize, XMP_OptionBits * options ) const; bool GetArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr * itemValue, XMP_StringLen * valueSize, XMP_OptionBits * options ) const; bool GetStructField ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr * fieldValue, XMP_StringLen * valueSize, XMP_OptionBits * options ) const; bool GetQualifier ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr * qualValue, XMP_StringLen * valueSize, XMP_OptionBits * options ) const; // --------------------------------------------------------------------------------------------- void SetProperty ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr propValue, XMP_OptionBits options ); void SetArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr itemValue, XMP_OptionBits options ); void AppendArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, XMP_StringPtr itemValue, XMP_OptionBits options ); void SetStructField ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, XMP_OptionBits options ); void SetQualifier ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr qualValue, XMP_OptionBits options ); // --------------------------------------------------------------------------------------------- void DeleteProperty ( XMP_StringPtr schemaNS, XMP_StringPtr propName ); void DeleteArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex ); void DeleteStructField ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName ); void DeleteQualifier ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName ); // --------------------------------------------------------------------------------------------- bool DoesPropertyExist ( XMP_StringPtr schemaNS, XMP_StringPtr propName ) const; bool DoesArrayItemExist ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex ) const; bool DoesStructFieldExist ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName ) const; bool DoesQualifierExist ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName ) const; // --------------------------------------------------------------------------------------------- bool GetLocalizedText ( XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, XMP_StringPtr * actualLang, XMP_StringLen * langSize, XMP_StringPtr * itemValue, XMP_StringLen * valueSize, XMP_OptionBits * options ) const; void SetLocalizedText ( XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, XMP_StringPtr itemValue, XMP_OptionBits options ); // --------------------------------------------------------------------------------------------- bool GetProperty_Bool ( XMP_StringPtr schemaNS, XMP_StringPtr propName, bool * propValue, XMP_OptionBits * options ) const; bool GetProperty_Int ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int32 * propValue, XMP_OptionBits * options ) const; bool GetProperty_Int64 ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int64 * propValue, XMP_OptionBits * options ) const; bool GetProperty_Float ( XMP_StringPtr schemaNS, XMP_StringPtr propName, double * propValue, XMP_OptionBits * options ) const; bool GetProperty_Date ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_DateTime * propValue, XMP_OptionBits * options ) const; // --------------------------------------------------------------------------------------------- void SetProperty_Bool ( XMP_StringPtr schemaNS, XMP_StringPtr propName, bool propValue, XMP_OptionBits options ); void SetProperty_Int ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int32 propValue, XMP_OptionBits options ); void SetProperty_Int64 ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int64 propValue, XMP_OptionBits options ); void SetProperty_Float ( XMP_StringPtr schemaNS, XMP_StringPtr propName, double propValue, XMP_OptionBits options ); void SetProperty_Date ( XMP_StringPtr schemaNS, XMP_StringPtr propName, const XMP_DateTime & propValue, XMP_OptionBits options ); // --------------------------------------------------------------------------------------------- void GetObjectName ( XMP_StringPtr * namePtr, XMP_StringLen * nameLen ) const; void SetObjectName ( XMP_StringPtr name ); XMP_OptionBits GetObjectOptions() const; void SetObjectOptions ( XMP_OptionBits options ); void Sort(); void Erase(); void Clone ( XMPMeta * clone, XMP_OptionBits options ) const; XMP_Index CountArrayItems ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName ) const; XMP_Status DumpObject ( XMP_TextOutputProc outProc, void * refCon ) const; // --------------------------------------------------------------------------------------------- void ParseFromBuffer ( XMP_StringPtr buffer, XMP_StringLen bufferSize, XMP_OptionBits options ); void SerializeToBuffer ( XMP_StringPtr * rdfString, XMP_StringLen * rdfSize, XMP_OptionBits options, XMP_StringLen padding, XMP_StringPtr newline, XMP_StringPtr indent, XMP_Index baseIndent ) const; // ============================================================================================= // --------------------------------------------------------------------------------------------- // - Everything is built out of standard nodes. Each node has a name, value, option flags, a // vector of child nodes, and a vector of qualifier nodes. // // - The option flags are those passed to SetProperty and returned from GetProperty. They tell // if the node is simple, a struct or an array; whether it has qualifiers, etc. // // - The name of the node is an XML qualified name, of the form "prefix:simple-name". Since we // force all namespaces to be known and to have unique prefixes, this is semantically equivalent // to using a URI and simple name pair. // // - Although the value part is only for leaf properties and the children part is only for // structs and arrays, it is easier to simply have them in every node. This keeps things visible // so that debugging is easier // // - The top level node children are the namespaces that contain properties, the next level are // the top level properties, lower levels are the fields of structs or items of arrays. The name // of the top level nodes is just the namespace prefix, with the colon terminator. The name of // top level properties includes the namespace prefix. // // - Any property node, at any level, can have qualifiers. These are themselves general property // nodes. And could in fact themselves have qualifiers! // ! Expose the implementation so that file static functions can see the data. XMP_Int32 clientRefs; // ! Must be signed to allow decrement from 0. XMP_Int32 prevTkVer; // Previous toolkit version as MMmmuubbb (major, minor, micro, build). XMP_Node tree; XMLParserAdapter * xmlParser; friend class XMPIterator; friend class XMPUtils; private: // ! These are hidden on purpose: XMPMeta ( const XMPMeta & /* original */ ) : clientRefs(0), prevTkVer(0), tree(XMP_Node(0,"",0)), xmlParser(0) { XMP_Throw ( "Call to hidden constructor", kXMPErr_InternalFailure ); }; void operator= ( const XMPMeta & /* rhs */ ) { XMP_Throw ( "Call to hidden operator=", kXMPErr_InternalFailure ); }; }; // class XMPMeta // ================================================================================================= #endif // __XMPMeta_hpp__ exiv2-0.25/xmpsdk/src/XMPUtils-FileInfo.cpp0000664000175000017500000013355412467000312020300 0ustar andreasandreas// ================================================================================================= // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" // ! This must be the first include! #include "XMPCore_Impl.hpp" #include "XMPUtils.hpp" #include #include #include #include #include #include // For snprintf. #if XMP_WinBuild #ifdef _MSC_VER #pragma warning ( disable : 4800 ) // forcing value to bool 'true' or 'false' (performance warning) #endif #endif // ================================================================================================= // Local Types and Constants // ========================= typedef unsigned long UniCodePoint; enum UniCharKind { UCK_normal, UCK_space, UCK_comma, UCK_semicolon, UCK_quote, UCK_control }; typedef enum UniCharKind UniCharKind; #define UnsByte(c) ((unsigned char)(c)) #define UCP(u) ((UniCodePoint)(u)) // ! Needed on Windows (& PC Linux?) for inequalities with literals ito avoid sign extension. #ifndef TraceMultiFile #define TraceMultiFile 0 #endif // ================================================================================================= // Static Variables // ================ // ================================================================================================= // Local Utilities // =============== // ------------------------------------------------------------------------------------------------- // ClassifyCharacter // ----------------- static void ClassifyCharacter ( XMP_StringPtr fullString, size_t offset, UniCharKind * charKind, size_t * charSize, UniCodePoint * uniChar ) { *charKind = UCK_normal; // Assume typical case. unsigned char currByte = UnsByte ( fullString[offset] ); if ( currByte < UnsByte(0x80) ) { // ---------------------------------------- // We've got a single byte ASCII character. *charSize = 1; *uniChar = currByte; if ( currByte > UnsByte(0x22) ) { if ( currByte == UnsByte(0x2C) ) { *charKind = UCK_comma; } else if ( currByte == UnsByte(0x3B) ) { *charKind = UCK_semicolon; } else if ( (currByte == UnsByte(0x5B)) || (currByte == UnsByte(0x5D)) ) { *charKind = UCK_quote; // ! ASCII '[' and ']' are used as quotes in Chinese and Korean. } } else { // currByte <= 0x22 if ( currByte == UnsByte(0x22) ) { *charKind = UCK_quote; } else if ( currByte == UnsByte(0x21) ) { *charKind = UCK_normal; } else if ( currByte == UnsByte(0x20) ) { *charKind = UCK_space; } else { *charKind = UCK_control; } } } else { // currByte >= 0x80 // --------------------------------------------------------------------------------------- // We've got a multibyte Unicode character. The first byte has the number of bytes and the // highest order bits. The other bytes each add 6 more bits. Compose the UTF-32 form so we // can classify directly with the Unicode code points. Order the upperBits tests to be // fastest for Japan, probably the most common non-ASCII usage. *charSize = 0; *uniChar = currByte; while ( (*uniChar & 0x80) != 0 ) { // Count the leading 1 bits in the byte. ++(*charSize); *uniChar = *uniChar << 1; } XMP_Assert ( (offset + *charSize) <= strlen(fullString) ); *uniChar = *uniChar & 0x7F; // Put the character bits in the bottom of uniChar. *uniChar = *uniChar >> *charSize; for ( size_t i = (offset + 1); i < (offset + *charSize); ++i ) { *uniChar = (*uniChar << 6) | (UnsByte(fullString[i]) & 0x3F); } XMP_Uns32 upperBits = *uniChar >> 8; // First filter on just the high order 24 bits. if ( upperBits == 0xFF ) { // U+FFxx if ( *uniChar == UCP(0xFF0C) ) { *charKind = UCK_comma; // U+FF0C, full width comma. } else if ( *uniChar == UCP(0xFF1B) ) { *charKind = UCK_semicolon; // U+FF1B, full width semicolon. } else if ( *uniChar == UCP(0xFF64) ) { *charKind = UCK_comma; // U+FF64, half width ideographic comma. } } else if ( upperBits == 0xFE ) { // U+FE-- if ( *uniChar == UCP(0xFE50) ) { *charKind = UCK_comma; // U+FE50, small comma. } else if ( *uniChar == UCP(0xFE51) ) { *charKind = UCK_comma; // U+FE51, small ideographic comma. } else if ( *uniChar == UCP(0xFE54) ) { *charKind = UCK_semicolon; // U+FE54, small semicolon. } } else if ( upperBits == 0x30 ) { // U+30-- if ( *uniChar == UCP(0x3000) ) { *charKind = UCK_space; // U+3000, ideographic space. } else if ( *uniChar == UCP(0x3001) ) { *charKind = UCK_comma; // U+3001, ideographic comma. } else if ( (UCP(0x3008) <= *uniChar) && (*uniChar <= UCP(0x300F)) ) { *charKind = UCK_quote; // U+3008..U+300F, various quotes. } else if ( *uniChar == UCP(0x303F) ) { *charKind = UCK_space; // U+303F, ideographic half fill space. } else if ( (UCP(0x301D) <= *uniChar) && (*uniChar <= UCP(0x301F)) ) { *charKind = UCK_quote; // U+301D..U+301F, double prime quotes. } } else if ( upperBits == 0x20 ) { // U+20-- if ( (UCP(0x2000) <= *uniChar) && (*uniChar <= UCP(0x200B)) ) { *charKind = UCK_space; // U+2000..U+200B, en quad through zero width space. } else if ( *uniChar == UCP(0x2015) ) { *charKind = UCK_quote; // U+2015, dash quote. } else if ( (UCP(0x2018) <= *uniChar) && (*uniChar <= UCP(0x201F)) ) { *charKind = UCK_quote; // U+2018..U+201F, various quotes. } else if ( *uniChar == UCP(0x2028) ) { *charKind = UCK_control; // U+2028, line separator. } else if ( *uniChar == UCP(0x2029) ) { *charKind = UCK_control; // U+2029, paragraph separator. } else if ( (*uniChar == UCP(0x2039)) || (*uniChar == UCP(0x203A)) ) { *charKind = UCK_quote; // U+2039 and U+203A, guillemet quotes. } } else if ( upperBits == 0x06 ) { // U+06-- if ( *uniChar == UCP(0x060C) ) { *charKind = UCK_comma; // U+060C, Arabic comma. } else if ( *uniChar == UCP(0x061B) ) { *charKind = UCK_semicolon; // U+061B, Arabic semicolon. } } else if ( upperBits == 0x05 ) { // U+05-- if ( *uniChar == UCP(0x055D) ) { *charKind = UCK_comma; // U+055D, Armenian comma. } } else if ( upperBits == 0x03 ) { // U+03-- if ( *uniChar == UCP(0x037E) ) { *charKind = UCK_semicolon; // U+037E, Greek "semicolon" (really a question mark). } } else if ( upperBits == 0x00 ) { // U+00-- if ( (*uniChar == UCP(0x00AB)) || (*uniChar == UCP(0x00BB)) ) { *charKind = UCK_quote; // U+00AB and U+00BB, guillemet quotes. } } } } // ClassifyCharacter // ------------------------------------------------------------------------------------------------- // IsClosingingQuote // ----------------- static inline bool IsClosingingQuote ( UniCodePoint uniChar, UniCodePoint openQuote, UniCodePoint closeQuote ) { if ( (uniChar == closeQuote) || ( (openQuote == UCP(0x301D)) && ((uniChar == UCP(0x301E)) || (uniChar == UCP(0x301F))) ) ) { return true; } else { return false; } } // IsClosingingQuote // ------------------------------------------------------------------------------------------------- // IsSurroundingQuote // ------------------ static inline bool IsSurroundingQuote ( UniCodePoint uniChar, UniCodePoint openQuote, UniCodePoint closeQuote ) { if ( (uniChar == openQuote) || IsClosingingQuote ( uniChar, openQuote, closeQuote ) ) { return true; } else { return false; } } // IsSurroundingQuote // ------------------------------------------------------------------------------------------------- // GetClosingQuote // --------------- static UniCodePoint GetClosingQuote ( UniCodePoint openQuote ) { UniCodePoint closeQuote; switch ( openQuote ) { case UCP(0x0022) : closeQuote = UCP(0x0022); // ! U+0022 is both opening and closing. break; case UCP(0x005B) : closeQuote = UCP(0x005D); break; case UCP(0x00AB) : closeQuote = UCP(0x00BB); // ! U+00AB and U+00BB are reversible. break; case UCP(0x00BB) : closeQuote = UCP(0x00AB); break; case UCP(0x2015) : closeQuote = UCP(0x2015); // ! U+2015 is both opening and closing. break; case UCP(0x2018) : closeQuote = UCP(0x2019); break; case UCP(0x201A) : closeQuote = UCP(0x201B); break; case UCP(0x201C) : closeQuote = UCP(0x201D); break; case UCP(0x201E) : closeQuote = UCP(0x201F); break; case UCP(0x2039) : closeQuote = UCP(0x203A); // ! U+2039 and U+203A are reversible. break; case UCP(0x203A) : closeQuote = UCP(0x2039); break; case UCP(0x3008) : closeQuote = UCP(0x3009); break; case UCP(0x300A) : closeQuote = UCP(0x300B); break; case UCP(0x300C) : closeQuote = UCP(0x300D); break; case UCP(0x300E) : closeQuote = UCP(0x300F); break; case UCP(0x301D) : closeQuote = UCP(0x301F); // ! U+301E also closes U+301D. break; default : closeQuote = 0; break; } return closeQuote; } // GetClosingQuote // ------------------------------------------------------------------------------------------------- // CodePointToUTF8 // --------------- static void CodePointToUTF8 ( UniCodePoint uniChar, XMP_VarString & utf8Str ) { size_t i, byteCount; XMP_Uns8 buffer [8]; UniCodePoint cpTemp; if ( uniChar <= 0x7F ) { i = 7; byteCount = 1; buffer[7] = char(uniChar); } else { // --------------------------------------------------------------------------------------- // Copy the data bits from the low order end to the high order end, include the 0x80 mask. i = 8; cpTemp = uniChar; while ( cpTemp != 0 ) { -- i; // Exit with i pointing to the last byte stored. buffer[i] = UnsByte(0x80) | (UnsByte(cpTemp) & 0x3F); cpTemp = cpTemp >> 6; } byteCount = 8 - i; // The total number of bytes needed. XMP_Assert ( (2 <= byteCount) && (byteCount <= 6) ); // ------------------------------------------------------------------------------------- // Make sure the high order byte can hold the byte count mask, compute and set the mask. size_t bitCount = 0; // The number of data bits in the first byte. for ( cpTemp = (buffer[i] & UnsByte(0x3F)); cpTemp != 0; cpTemp = cpTemp >> 1 ) bitCount += 1; if ( bitCount > (8 - (byteCount + 1)) ) byteCount += 1; i = 8 - byteCount; // First byte index and mask shift count. XMP_Assert ( (0 <= i) && (i <= 6) ); buffer[i] |= (UnsByte(0xFF) << i) & UnsByte(0xFF); // AUDIT: Safe, i is between 0 and 6. } utf8Str.assign ( (char*)(&buffer[i]), byteCount ); } // CodePointToUTF8 // ------------------------------------------------------------------------------------------------- // ApplyQuotes // ----------- static void ApplyQuotes ( XMP_VarString * item, UniCodePoint openQuote, UniCodePoint closeQuote, bool allowCommas ) { bool prevSpace = false; size_t charOffset, charLen; UniCharKind charKind; UniCodePoint uniChar; // ----------------------------------------------------------------------------------------- // See if there are any separators in the value. Stop at the first occurrance. This is a bit // tricky in order to make typical typing work conveniently. The purpose of applying quotes // is to preserve the values when splitting them back apart. That is CatenateContainerItems // and SeparateContainerItems must round trip properly. For the most part we only look for // separators here. Internal quotes, as in -- Irving "Bud" Jones -- won't cause problems in // the separation. An initial quote will though, it will make the value look quoted. charOffset = 0; ClassifyCharacter ( item->c_str(), charOffset, &charKind, &charLen, &uniChar ); if ( charKind != UCK_quote ) { for ( charOffset = 0; size_t(charOffset) < item->size(); charOffset += charLen ) { ClassifyCharacter ( item->c_str(), charOffset, &charKind, &charLen, &uniChar ); if ( charKind == UCK_space ) { if ( prevSpace ) break; // Multiple spaces are a separator. prevSpace = true; } else { prevSpace = false; if ( (charKind == UCK_semicolon) || (charKind == UCK_control) ) break; if ( (charKind == UCK_comma) && (! allowCommas) ) break; } } } if ( size_t(charOffset) < item->size() ) { // -------------------------------------------------------------------------------------- // Create a quoted copy, doubling any internal quotes that match the outer ones. Internal // quotes did not stop the "needs quoting" search, but they do need doubling. So we have // to rescan the front of the string for quotes. Handle the special case of U+301D being // closed by either U+301E or U+301F. XMP_VarString newItem; size_t splitPoint; for ( splitPoint = 0; splitPoint <= charOffset; ++splitPoint ) { ClassifyCharacter ( item->c_str(), splitPoint, &charKind, &charLen, &uniChar ); if ( charKind == UCK_quote ) break; } CodePointToUTF8 ( openQuote, newItem ); newItem.append ( *item, 0, splitPoint ); // Copy the leading "normal" portion. for ( charOffset = splitPoint; size_t(charOffset) < item->size(); charOffset += charLen ) { ClassifyCharacter ( item->c_str(), charOffset, &charKind, &charLen, &uniChar ); newItem.append ( *item, charOffset, charLen ); if ( (charKind == UCK_quote) && IsSurroundingQuote ( uniChar, openQuote, closeQuote ) ) { newItem.append ( *item, charOffset, charLen ); } } XMP_VarString closeStr; CodePointToUTF8 ( closeQuote, closeStr ); newItem.append ( closeStr ); *item = newItem; } } // ApplyQuotes // ------------------------------------------------------------------------------------------------- // IsInternalProperty // ------------------ // *** Need static checks of the schema prefixes! #define IsExternalProperty(s,p) (! IsInternalProperty ( s, p )) static bool IsInternalProperty ( const XMP_VarString & schema, const XMP_VarString & prop ) { bool isInternal = false; if ( schema == kXMP_NS_DC ) { if ( (prop == "dc:format") || (prop == "dc:language") ) { isInternal = true; } } else if ( schema == kXMP_NS_XMP ) { if ( (prop == "xmp:BaseURL") || (prop == "xmp:CreatorTool") || (prop == "xmp:Format") || (prop == "xmp:Locale") || (prop == "xmp:MetadataDate") || (prop == "xmp:ModifyDate") ) { isInternal = true; } } else if ( schema == kXMP_NS_PDF ) { if ( (prop == "pdf:BaseURL") || (prop == "pdf:Creator") || (prop == "pdf:ModDate") || (prop == "pdf:PDFVersion") || (prop == "pdf:Producer") ) { isInternal = true; } } else if ( schema == kXMP_NS_TIFF ) { isInternal = true; // ! The TIFF properties are internal by default. if ( (prop == "tiff:ImageDescription") || // ! ImageDescription, Artist, and Copyright are aliased. (prop == "tiff:Artist") || (prop == "tiff:Copyright") ) { isInternal = false; } } else if ( schema == kXMP_NS_EXIF ) { isInternal = true; // ! The EXIF properties are internal by default. if ( prop == "exif:UserComment" ) isInternal = false; } else if ( schema == kXMP_NS_EXIF_Aux ) { isInternal = true; // ! The EXIF Aux properties are internal by default. } else if ( schema == kXMP_NS_Photoshop ) { if ( prop == "photoshop:ICCProfile" ) isInternal = true; } else if ( schema == kXMP_NS_CameraRaw ) { if ( (prop == "crs:Version") || (prop == "crs:RawFileName") || (prop == "crs:ToneCurveName") ) { isInternal = true; } } else if ( schema == kXMP_NS_AdobeStockPhoto ) { isInternal = true; // ! The bmsp schema has only internal properties. } else if ( schema == kXMP_NS_XMP_MM ) { isInternal = true; // ! The xmpMM schema has only internal properties. } else if ( schema == kXMP_NS_XMP_Text ) { isInternal = true; // ! The xmpT schema has only internal properties. } else if ( schema == kXMP_NS_XMP_PagedFile ) { isInternal = true; // ! The xmpTPg schema has only internal properties. } else if ( schema == kXMP_NS_XMP_Graphics ) { isInternal = true; // ! The xmpG schema has only internal properties. } else if ( schema == kXMP_NS_XMP_Image ) { isInternal = true; // ! The xmpGImg schema has only internal properties. } else if ( schema == kXMP_NS_XMP_Font ) { isInternal = true; // ! The stFNT schema has only internal properties. } return isInternal; } // IsInternalProperty // ------------------------------------------------------------------------------------------------- // RemoveSchemaChildren // -------------------- static void RemoveSchemaChildren ( XMP_NodePtrPos schemaPos, bool doAll ) { XMP_Node * schemaNode = *schemaPos; XMP_Assert ( XMP_NodeIsSchema ( schemaNode->options ) ); // ! Iterate backwards to reduce shuffling as children are erased and to simplify the logic for // ! denoting the current child. (Erasing child n makes the old n+1 now be n.) size_t propCount = schemaNode->children.size(); XMP_NodePtrPos beginPos = schemaNode->children.begin(); for ( size_t propNum = propCount-1, propLim = (size_t)(-1); propNum != propLim; --propNum ) { XMP_NodePtrPos currProp = beginPos + propNum; if ( doAll || IsExternalProperty ( schemaNode->name, (*currProp)->name ) ) { delete *currProp; // ! Both delete the node and erase the pointer from the parent. schemaNode->children.erase ( currProp ); } } if ( schemaNode->children.empty() ) { XMP_Node * tree = schemaNode->parent; tree->children.erase ( schemaPos ); delete schemaNode; } } // RemoveSchemaChildren // ------------------------------------------------------------------------------------------------- // ItemValuesMatch // --------------- // // Does the value comparisons for array merging as part of XMPUtils::AppendProperties. static bool ItemValuesMatch ( const XMP_Node * leftNode, const XMP_Node * rightNode ) { const XMP_OptionBits leftForm = leftNode->options & kXMP_PropCompositeMask; const XMP_OptionBits rightForm = leftNode->options & kXMP_PropCompositeMask; if ( leftForm != rightForm ) return false; if ( leftForm == 0 ) { // Simple nodes, check the values and xml:lang qualifiers. if ( leftNode->value != rightNode->value ) return false; if ( (leftNode->options & kXMP_PropHasLang) != (rightNode->options & kXMP_PropHasLang) ) return false; if ( leftNode->options & kXMP_PropHasLang ) { if ( leftNode->qualifiers[0]->value != rightNode->qualifiers[0]->value ) return false; } } else if ( leftForm == kXMP_PropValueIsStruct ) { // Struct nodes, see if all fields match, ignoring order. if ( leftNode->children.size() != rightNode->children.size() ) return false; for ( size_t leftNum = 0, leftLim = leftNode->children.size(); leftNum != leftLim; ++leftNum ) { const XMP_Node * leftField = leftNode->children[leftNum]; const XMP_Node * rightField = FindConstChild ( rightNode, leftField->name.c_str() ); if ( (rightField == 0) || (! ItemValuesMatch ( leftField, rightField )) ) return false; } } else { // Array nodes, see if the "leftNode" values are present in the "rightNode", ignoring order, duplicates, // and extra values in the rightNode-> The rightNode is the destination for AppendProperties. XMP_Assert ( leftForm & kXMP_PropValueIsArray ); for ( size_t leftNum = 0, leftLim = leftNode->children.size(); leftNum != leftLim; ++leftNum ) { const XMP_Node * leftItem = leftNode->children[leftNum]; size_t rightNum, rightLim; for ( rightNum = 0, rightLim = rightNode->children.size(); rightNum != rightLim; ++rightNum ) { const XMP_Node * rightItem = rightNode->children[rightNum]; if ( ItemValuesMatch ( leftItem, rightItem ) ) break; } if ( rightNum == rightLim ) return false; } } return true; // All of the checks passed. } // ItemValuesMatch // ------------------------------------------------------------------------------------------------- // AppendSubtree // ------------- // // The main implementation of XMPUtils::AppendProperties. See the description in TXMPMeta.hpp. static void AppendSubtree ( const XMP_Node * sourceNode, XMP_Node * destParent, const bool replaceOld, const bool deleteEmpty ) { XMP_NodePtrPos destPos; XMP_Node * destNode = FindChildNode ( destParent, sourceNode->name.c_str(), kXMP_ExistingOnly, &destPos ); bool valueIsEmpty = false; if ( deleteEmpty ) { if ( XMP_PropIsSimple ( sourceNode->options ) ) { valueIsEmpty = sourceNode->value.empty(); } else { valueIsEmpty = sourceNode->children.empty(); } } if ( deleteEmpty & valueIsEmpty ) { if ( destNode != 0 ) { delete ( destNode ); destParent->children.erase ( destPos ); } } else if ( destNode == 0 ) { // The one easy case, the destination does not exist. CloneSubtree ( sourceNode, destParent ); } else if ( replaceOld ) { // The destination exists and should be replaced. destNode->value = sourceNode->value; // *** Should use SetNode. destNode->options = sourceNode->options; destNode->RemoveChildren(); destNode->RemoveQualifiers(); CloneOffspring ( sourceNode, destNode ); #if 0 // *** XMP_DebugBuild destNode->_valuePtr = destNode->value.c_str(); #endif } else { // The destination exists and is not totally replaced. Structs and arrays are merged. XMP_OptionBits sourceForm = sourceNode->options & kXMP_PropCompositeMask; XMP_OptionBits destForm = destNode->options & kXMP_PropCompositeMask; if ( sourceForm != destForm ) return; if ( sourceForm == kXMP_PropValueIsStruct ) { // To merge a struct process the fields recursively. E.g. add simple missing fields. The // recursive call to AppendSubtree will handle deletion for fields with empty values. for ( size_t sourceNum = 0, sourceLim = sourceNode->children.size(); sourceNum != sourceLim; ++sourceNum ) { const XMP_Node * sourceField = sourceNode->children[sourceNum]; AppendSubtree ( sourceField, destNode, replaceOld, deleteEmpty ); if ( deleteEmpty && destNode->children.empty() ) { delete ( destNode ); destParent->children.erase ( destPos ); } } } else if ( sourceForm & kXMP_PropArrayIsAltText ) { // Merge AltText arrays by the xml:lang qualifiers. Make sure x-default is first. Make a // special check for deletion of empty values. Meaningful in AltText arrays because the // xml:lang qualifier provides unambiguous source/dest correspondence. for ( size_t sourceNum = 0, sourceLim = sourceNode->children.size(); sourceNum != sourceLim; ++sourceNum ) { const XMP_Node * sourceItem = sourceNode->children[sourceNum]; if ( sourceItem->qualifiers.empty() || (sourceItem->qualifiers[0]->name != "xml:lang") ) continue; XMP_Index destIndex = LookupLangItem ( destNode, sourceItem->qualifiers[0]->value ); if ( deleteEmpty && sourceItem->value.empty() ) { if ( destIndex != -1 ) { delete ( destNode->children[destIndex] ); destNode->children.erase ( destNode->children.begin() + destIndex ); if ( destNode->children.empty() ) { delete ( destNode ); destParent->children.erase ( destPos ); } } } else { if ( destIndex != -1 ) continue; // Not replacing, keep the existing item. if ( (sourceItem->qualifiers[0]->value != "x-default") || destNode->children.empty() ) { CloneSubtree ( sourceItem, destNode ); } else { XMP_Node * destItem = new XMP_Node ( destNode, sourceItem->name, sourceItem->value, sourceItem->options ); CloneOffspring ( sourceItem, destItem ); destNode->children.insert ( destNode->children.begin(), destItem ); } } } } else if ( sourceForm & kXMP_PropValueIsArray ) { // Merge other arrays by item values. Don't worry about order or duplicates. Source // items with empty values do not cause deletion, that conflicts horribly with merging. for ( size_t sourceNum = 0, sourceLim = sourceNode->children.size(); sourceNum != sourceLim; ++sourceNum ) { const XMP_Node * sourceItem = sourceNode->children[sourceNum]; size_t destNum, destLim; for ( destNum = 0, destLim = destNode->children.size(); destNum != destLim; ++destNum ) { const XMP_Node * destItem = destNode->children[destNum]; if ( ItemValuesMatch ( sourceItem, destItem ) ) break; } if ( destNum == destLim ) CloneSubtree ( sourceItem, destNode ); } } } } // AppendSubtree // ================================================================================================= // Class Static Functions // ====================== // ------------------------------------------------------------------------------------------------- // CatenateArrayItems // ------------------ /* class static */ void XMPUtils::CatenateArrayItems ( const XMPMeta & xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr separator, XMP_StringPtr quotes, XMP_OptionBits options, XMP_StringPtr * catedStr, XMP_StringLen * catedLen ) { XMP_Assert ( (schemaNS != 0) && (arrayName != 0) ); // ! Enforced by wrapper. XMP_Assert ( (separator != 0) && (quotes != 0) && (catedStr != 0) && (catedLen != 0) ); // ! Enforced by wrapper. size_t strLen, strPos, charLen; UniCharKind charKind; UniCodePoint currUCP, openQuote, closeQuote; const bool allowCommas = ((options & kXMPUtil_AllowCommas) != 0); const XMP_Node * arrayNode = 0; // ! Move up to avoid gcc complaints. XMP_OptionBits arrayForm = 0; const XMP_Node * currItem = 0; // Make sure the separator is OK. It must be one semicolon surrounded by zero or more spaces. // Any of the recognized semicolons or spaces are allowed. strPos = 0; strLen = strlen ( separator ); bool haveSemicolon = false; while ( strPos < strLen ) { ClassifyCharacter ( separator, strPos, &charKind, &charLen, &currUCP ); strPos += charLen; if ( charKind == UCK_semicolon ) { if ( haveSemicolon ) XMP_Throw ( "Separator can have only one semicolon", kXMPErr_BadParam ); haveSemicolon = true; } else if ( charKind != UCK_space ) { XMP_Throw ( "Separator can have only spaces and one semicolon", kXMPErr_BadParam ); } }; if ( ! haveSemicolon ) XMP_Throw ( "Separator must have one semicolon", kXMPErr_BadParam ); // Make sure the open and close quotes are a legitimate pair. strLen = strlen ( quotes ); ClassifyCharacter ( quotes, 0, &charKind, &charLen, &openQuote ); if ( charKind != UCK_quote ) XMP_Throw ( "Invalid quoting character", kXMPErr_BadParam ); if ( charLen == strLen ) { closeQuote = openQuote; } else { strPos = charLen; ClassifyCharacter ( quotes, strPos, &charKind, &charLen, &closeQuote ); if ( charKind != UCK_quote ) XMP_Throw ( "Invalid quoting character", kXMPErr_BadParam ); if ( (strPos + charLen) != strLen ) XMP_Throw ( "Quoting string too long", kXMPErr_BadParam ); } if ( closeQuote != GetClosingQuote ( openQuote ) ) XMP_Throw ( "Mismatched quote pair", kXMPErr_BadParam ); // Return an empty result if the array does not exist, hurl if it isn't the right form. sCatenatedItems->erase(); XMP_ExpandedXPath arrayPath; ExpandXPath ( schemaNS, arrayName, &arrayPath ); arrayNode = FindConstNode ( &xmpObj.tree, arrayPath ); if ( arrayNode == 0 ) goto EXIT; // ! Need to set the output pointer and length. arrayForm = arrayNode->options & kXMP_PropCompositeMask; if ( (! (arrayForm & kXMP_PropValueIsArray)) || (arrayForm & kXMP_PropArrayIsAlternate) ) { XMP_Throw ( "Named property must be non-alternate array", kXMPErr_BadParam ); } if ( arrayNode->children.empty() ) goto EXIT; // ! Need to set the output pointer and length. // Build the result, quoting the array items, adding separators. Hurl if any item isn't simple. // Start the result with the first value, then add the rest with a preceding separator. currItem = arrayNode->children[0]; if ( (currItem->options & kXMP_PropCompositeMask) != 0 ) XMP_Throw ( "Array items must be simple", kXMPErr_BadParam ); *sCatenatedItems = currItem->value; ApplyQuotes ( sCatenatedItems, openQuote, closeQuote, allowCommas ); for ( size_t itemNum = 1, itemLim = arrayNode->children.size(); itemNum != itemLim; ++itemNum ) { const XMP_Node * currItem = arrayNode->children[itemNum]; if ( (currItem->options & kXMP_PropCompositeMask) != 0 ) XMP_Throw ( "Array items must be simple", kXMPErr_BadParam ); XMP_VarString tempStr ( currItem->value ); ApplyQuotes ( &tempStr, openQuote, closeQuote, allowCommas ); *sCatenatedItems += separator; *sCatenatedItems += tempStr; } EXIT: *catedStr = sCatenatedItems->c_str(); *catedLen = sCatenatedItems->size(); } // CatenateArrayItems // ------------------------------------------------------------------------------------------------- // SeparateArrayItems // ------------------ /* class static */ void XMPUtils::SeparateArrayItems ( XMPMeta * xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, XMP_StringPtr catedStr ) { XMP_Assert ( (schemaNS != 0) && (arrayName != 0) && (catedStr != 0) ); // ! Enforced by wrapper. XMP_VarString itemValue; size_t itemStart, itemEnd; size_t nextSize, charSize = 0; // Avoid VS uninit var warnings. UniCharKind nextKind, charKind = UCK_normal; UniCodePoint nextChar, uniChar = 0; // Extract "special" option bits, verify and normalize the others. bool preserveCommas = false; if ( options & kXMPUtil_AllowCommas ) { preserveCommas = true; options ^= kXMPUtil_AllowCommas; } options = VerifySetOptions ( options, 0 ); // Keep a zero value, has special meaning below. if ( options & ~kXMP_PropArrayFormMask ) XMP_Throw ( "Options can only provide array form", kXMPErr_BadOptions ); // Find the array node, make sure it is OK. Move the current children aside, to be readded later if kept. XMP_ExpandedXPath arrayPath; ExpandXPath ( schemaNS, arrayName, &arrayPath ); XMP_Node * arrayNode = FindNode ( &xmpObj->tree, arrayPath, kXMP_ExistingOnly ); if ( arrayNode != 0 ) { // The array exists, make sure the form is compatible. Zero arrayForm means take what exists. XMP_OptionBits arrayForm = arrayNode->options & kXMP_PropArrayFormMask; if ( (arrayForm == 0) || (arrayForm & kXMP_PropArrayIsAlternate) ) { XMP_Throw ( "Named property must be non-alternate array", kXMPErr_BadXPath ); } if ( (options != 0) && (options != arrayForm) ) XMP_Throw ( "Mismatch of specified and existing array form", kXMPErr_BadXPath ); // *** Right error? } else { // The array does not exist, try to create it. arrayNode = FindNode ( &xmpObj->tree, arrayPath, kXMP_CreateNodes, (options | kXMP_PropValueIsArray) ); if ( arrayNode == 0 ) XMP_Throw ( "Failed to create named array", kXMPErr_BadXPath ); } XMP_NodeOffspring oldChildren ( arrayNode->children ); size_t oldChildCount = oldChildren.size(); arrayNode->children.clear(); // Extract the item values one at a time, until the whole input string is done. Be very careful // in the extraction about the string positions. They are essentially byte pointers, while the // contents are UTF-8. Adding or subtracting 1 does not necessarily move 1 Unicode character! size_t endPos = strlen ( catedStr ); itemEnd = 0; while ( itemEnd < endPos ) { // Skip any leading spaces and separation characters. Always skip commas here. They can be // kept when within a value, but not when alone between values. for ( itemStart = itemEnd; itemStart < endPos; itemStart += charSize ) { ClassifyCharacter ( catedStr, itemStart, &charKind, &charSize, &uniChar ); if ( (charKind == UCK_normal) || (charKind == UCK_quote) ) break; } if ( itemStart >= endPos ) break; if ( charKind != UCK_quote ) { // This is not a quoted value. Scan for the end, create an array item from the substring. for ( itemEnd = itemStart; itemEnd < endPos; itemEnd += charSize ) { ClassifyCharacter ( catedStr, itemEnd, &charKind, &charSize, &uniChar ); if ( (charKind == UCK_normal) || (charKind == UCK_quote) ) continue; if ( (charKind == UCK_comma) && preserveCommas ) continue; if ( charKind != UCK_space ) break; if ( (itemEnd + charSize) >= endPos ) break; // Anything left? ClassifyCharacter ( catedStr, (itemEnd+charSize), &nextKind, &nextSize, &nextChar ); if ( (nextKind == UCK_normal) || (nextKind == UCK_quote) ) continue; if ( (nextKind == UCK_comma) && preserveCommas ) continue; break; // Have multiple spaces, or a space followed by a separator. } itemValue.assign ( catedStr, itemStart, (itemEnd - itemStart) ); } else { // Accumulate quoted values into a local string, undoubling internal quotes that // match the surrounding quotes. Do not undouble "unmatching" quotes. UniCodePoint openQuote = uniChar; UniCodePoint closeQuote = GetClosingQuote ( openQuote ); itemStart += charSize; // Skip the opening quote; itemValue.erase(); for ( itemEnd = itemStart; itemEnd < endPos; itemEnd += charSize ) { ClassifyCharacter ( catedStr, itemEnd, &charKind, &charSize, &uniChar ); if ( (charKind != UCK_quote) || (! IsSurroundingQuote ( uniChar, openQuote, closeQuote)) ) { // This is not a matching quote, just append it to the item value. itemValue.append ( catedStr, itemEnd, charSize ); } else { // This is a "matching" quote. Is it doubled, or the final closing quote? Tolerate // various edge cases like undoubled opening (non-closing) quotes, or end of input. if ( (itemEnd + charSize) < endPos ) { ClassifyCharacter ( catedStr, itemEnd+charSize, &nextKind, &nextSize, &nextChar ); } else { nextKind = UCK_semicolon; nextSize = 0; nextChar = 0x3B; } if ( uniChar == nextChar ) { // This is doubled, copy it and skip the double. itemValue.append ( catedStr, itemEnd, charSize ); itemEnd += nextSize; // Loop will add in charSize. } else if ( ! IsClosingingQuote ( uniChar, openQuote, closeQuote ) ) { // This is an undoubled, non-closing quote, copy it. itemValue.append ( catedStr, itemEnd, charSize ); } else { // This is an undoubled closing quote, skip it and exit the loop. itemEnd += charSize; break; } } } // Loop to accumulate the quoted value. } // Add the separated item to the array. Keep a matching old value in case it had separators. size_t oldChild; for ( oldChild = 0; oldChild < oldChildCount; ++oldChild ) { if ( (oldChildren[oldChild] != 0) && (itemValue == oldChildren[oldChild]->value) ) break; } XMP_Node * newItem = 0; if ( oldChild == oldChildCount ) { newItem = new XMP_Node ( arrayNode, kXMP_ArrayItemName, itemValue.c_str(), 0 ); } else { newItem = oldChildren[oldChild]; oldChildren[oldChild] = 0; // ! Don't match again, let duplicates be seen. } arrayNode->children.push_back ( newItem ); } // Loop through all of the returned items. // Delete any of the old children that were not kept. for ( size_t i = 0; i < oldChildCount; ++i ) { if ( oldChildren[i] != 0 ) delete oldChildren[i]; } } // SeparateArrayItems // ------------------------------------------------------------------------------------------------- // RemoveProperties // ---------------- /* class static */ void XMPUtils::RemoveProperties ( XMPMeta * xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options ) { XMP_Assert ( (schemaNS != 0) && (propName != 0) ); // ! Enforced by wrapper. const bool doAll = XMP_TestOption (options, kXMPUtil_DoAllProperties ); const bool includeAliases = XMP_TestOption ( options, kXMPUtil_IncludeAliases ); if ( *propName != 0 ) { // Remove just the one indicated property. This might be an alias, the named schema might // not actually exist. So don't lookup the schema node. if ( *schemaNS == 0 ) XMP_Throw ( "Property name requires schema namespace", kXMPErr_BadParam ); XMP_ExpandedXPath expPath; ExpandXPath ( schemaNS, propName, &expPath ); XMP_NodePtrPos propPos; XMP_Node * propNode = FindNode ( &(xmpObj->tree), expPath, kXMP_ExistingOnly, kXMP_NoOptions, &propPos ); if ( propNode != 0 ) { if ( doAll || IsExternalProperty ( expPath[kSchemaStep].step, expPath[kRootPropStep].step ) ) { XMP_Node * parent = propNode->parent; // *** Should have XMP_Node::RemoveChild(pos). delete propNode; // ! Both delete the node and erase the pointer from the parent. parent->children.erase ( propPos ); DeleteEmptySchema ( parent ); } } } else if ( *schemaNS != 0 ) { // Remove all properties from the named schema. Optionally include aliases, in which case // there might not be an actual schema node. XMP_NodePtrPos schemaPos; XMP_Node * schemaNode = FindSchemaNode ( &xmpObj->tree, schemaNS, kXMP_ExistingOnly, &schemaPos ); if ( schemaNode != 0 ) RemoveSchemaChildren ( schemaPos, doAll ); if ( includeAliases ) { // We're removing the aliases also. Look them up by their namespace prefix. Yes, the // alias map is sorted so we could process just that portion. But that takes more code // and the extra speed isn't worth it. (Plus this way we avoid a dependence on the map // implementation.) Lookup the XMP node from the alias, to make sure the actual exists. XMP_StringPtr nsPrefix; XMP_StringLen nsLen; (void) XMPMeta::GetNamespacePrefix ( schemaNS, &nsPrefix, &nsLen ); XMP_AliasMapPos currAlias = sRegisteredAliasMap->begin(); XMP_AliasMapPos endAlias = sRegisteredAliasMap->end(); for ( ; currAlias != endAlias; ++currAlias ) { if ( strncmp ( currAlias->first.c_str(), nsPrefix, nsLen ) == 0 ) { XMP_NodePtrPos actualPos; XMP_Node * actualProp = FindNode ( &xmpObj->tree, currAlias->second, kXMP_ExistingOnly, kXMP_NoOptions, &actualPos ); if ( actualProp != 0 ) { XMP_Node * rootProp = actualProp; while ( ! XMP_NodeIsSchema ( rootProp->parent->options ) ) rootProp = rootProp->parent; if ( doAll || IsExternalProperty ( rootProp->parent->name, rootProp->name ) ) { XMP_Node * parent = actualProp->parent; delete actualProp; // ! Both delete the node and erase the pointer from the parent. parent->children.erase ( actualPos ); DeleteEmptySchema ( parent ); } } } } } } else { // Remove all appropriate properties from all schema. In this case we don't have to be // concerned with aliases, they are handled implicitly from the actual properties. // ! Iterate backwards to reduce shuffling if schema are erased and to simplify the logic // ! for denoting the current schema. (Erasing schema n makes the old n+1 now be n.) size_t schemaCount = xmpObj->tree.children.size(); XMP_NodePtrPos beginPos = xmpObj->tree.children.begin(); for ( size_t schemaNum = schemaCount-1, schemaLim = (size_t)(-1); schemaNum != schemaLim; --schemaNum ) { XMP_NodePtrPos currSchema = beginPos + schemaNum; RemoveSchemaChildren ( currSchema, doAll ); } } } // RemoveProperties // ------------------------------------------------------------------------------------------------- // AppendProperties // ---------------- /* class static */ void XMPUtils::AppendProperties ( const XMPMeta & source, XMPMeta * dest, XMP_OptionBits options ) { XMP_Assert ( dest != 0 ); // ! Enforced by wrapper. const bool doAll = ((options & kXMPUtil_DoAllProperties) != 0); const bool replaceOld = ((options & kXMPUtil_ReplaceOldValues) != 0); const bool deleteEmpty = ((options & kXMPUtil_DeleteEmptyValues) != 0); for ( size_t schemaNum = 0, schemaLim = source.tree.children.size(); schemaNum != schemaLim; ++schemaNum ) { const XMP_Node * sourceSchema = source.tree.children[schemaNum]; // Make sure we have a destination schema node. Remember if it is newly created. XMP_Node * destSchema = FindSchemaNode ( &dest->tree, sourceSchema->name.c_str(), kXMP_ExistingOnly ); const bool newDestSchema = (destSchema == 0); if ( newDestSchema ) { destSchema = new XMP_Node ( &dest->tree, sourceSchema->name, sourceSchema->value, kXMP_SchemaNode ); dest->tree.children.push_back ( destSchema ); } // Process the source schema's children. Do this backwards in case deleteEmpty is set. for ( long propNum = ((long)sourceSchema->children.size() - 1); propNum >= 0; --propNum ) { const XMP_Node * sourceProp = sourceSchema->children[propNum]; if ( doAll || IsExternalProperty ( sourceSchema->name, sourceProp->name ) ) { AppendSubtree ( sourceProp, destSchema, replaceOld, deleteEmpty ); // *** RemoveMultiValueInfo ( dest, sourceSchema->name.c_str(), sourceProp->name.c_str() ); } } if ( destSchema->children.empty() ) { if ( newDestSchema ) { delete ( destSchema ); dest->tree.children.pop_back(); } else if ( deleteEmpty ) { DeleteEmptySchema ( destSchema ); } } } } // AppendProperties // ------------------------------------------------------------------------------------------------- // DuplicateSubtree // ---------------- /* class static */ void XMPUtils::DuplicateSubtree ( const XMPMeta & source, XMPMeta * dest, XMP_StringPtr sourceNS, XMP_StringPtr sourceRoot, XMP_StringPtr destNS, XMP_StringPtr destRoot, XMP_OptionBits options ) { UNUSED(options); bool fullSourceTree = false; bool fullDestTree = false; XMP_ExpandedXPath sourcePath, destPath; const XMP_Node * sourceNode = 0; XMP_Node * destNode = 0; XMP_Assert ( (sourceNS != 0) && (*sourceNS != 0) ); XMP_Assert ( (sourceRoot != 0) && (*sourceRoot != 0) ); XMP_Assert ( (dest != 0) && (destNS != 0) && (destRoot != 0) ); if ( *destNS == 0 ) destNS = sourceNS; if ( *destRoot == 0 ) destRoot = sourceRoot; if ( XMP_LitMatch ( sourceNS, "*" ) ) fullSourceTree = true; if ( XMP_LitMatch ( destNS, "*" ) ) fullDestTree = true; if ( (&source == dest) && (fullSourceTree | fullDestTree) ) { XMP_Throw ( "Can't duplicate tree onto itself", kXMPErr_BadParam ); } if ( fullSourceTree & fullDestTree ) XMP_Throw ( "Use Clone for full tree to full tree", kXMPErr_BadParam ); if ( fullSourceTree ) { // The destination must be an existing empty struct, copy all of the source top level as fields. ExpandXPath ( destNS, destRoot, &destPath ); destNode = FindNode ( &dest->tree, destPath, kXMP_ExistingOnly ); if ( (destNode == 0) || (! XMP_PropIsStruct ( destNode->options )) ) { XMP_Throw ( "Destination must be an existing struct", kXMPErr_BadXPath ); } if ( ! destNode->children.empty() ) { if ( options & kXMP_DeleteExisting ) { destNode->RemoveChildren(); } else { XMP_Throw ( "Destination must be an empty struct", kXMPErr_BadXPath ); } } for ( size_t schemaNum = 0, schemaLim = source.tree.children.size(); schemaNum < schemaLim; ++schemaNum ) { const XMP_Node * currSchema = source.tree.children[schemaNum]; for ( size_t propNum = 0, propLim = currSchema->children.size(); propNum < propLim; ++propNum ) { sourceNode = currSchema->children[propNum]; XMP_Node * copyNode = new XMP_Node ( destNode, sourceNode->name, sourceNode->value, sourceNode->options ); destNode->children.push_back ( copyNode ); CloneOffspring ( sourceNode, copyNode ); } } } else if ( fullDestTree ) { // The source node must be an existing struct, copy all of the fields to the dest top level. XMP_ExpandedXPath sourcePath; ExpandXPath ( sourceNS, sourceRoot, &sourcePath ); sourceNode = FindConstNode ( &source.tree, sourcePath ); if ( (sourceNode == 0) || (! XMP_PropIsStruct ( sourceNode->options )) ) { XMP_Throw ( "Source must be an existing struct", kXMPErr_BadXPath ); } destNode = &dest->tree; if ( ! destNode->children.empty() ) { if ( options & kXMP_DeleteExisting ) { destNode->RemoveChildren(); } else { XMP_Throw ( "Destination tree must be empty", kXMPErr_BadXPath ); } } std::string nsPrefix; XMP_StringPtr nsURI; XMP_StringLen nsLen; for ( size_t fieldNum = 0, fieldLim = sourceNode->children.size(); fieldNum < fieldLim; ++fieldNum ) { const XMP_Node * currField = sourceNode->children[fieldNum]; size_t colonPos = currField->name.find ( ':' ); nsPrefix.assign ( currField->name.c_str(), colonPos ); bool nsOK = XMPMeta::GetNamespaceURI ( nsPrefix.c_str(), &nsURI, &nsLen ); if ( ! nsOK ) XMP_Throw ( "Source field namespace is not global", kXMPErr_BadSchema ); XMP_Node * destSchema = FindSchemaNode ( &dest->tree, nsURI, kXMP_CreateNodes ); if ( destSchema == 0 ) XMP_Throw ( "Failed to find destination schema", kXMPErr_BadSchema ); XMP_Node * copyNode = new XMP_Node ( destSchema, currField->name, currField->value, currField->options ); destSchema->children.push_back ( copyNode ); CloneOffspring ( currField, copyNode ); } } else { // Find the root nodes for the source and destination subtrees. ExpandXPath ( sourceNS, sourceRoot, &sourcePath ); ExpandXPath ( destNS, destRoot, &destPath ); sourceNode = FindConstNode ( &source.tree, sourcePath ); if ( sourceNode == 0 ) XMP_Throw ( "Can't find source subtree", kXMPErr_BadXPath ); destNode = FindNode ( &dest->tree, destPath, kXMP_ExistingOnly ); // Dest must not yet exist. if ( destNode != 0 ) XMP_Throw ( "Destination subtree must not exist", kXMPErr_BadXPath ); destNode = FindNode ( &dest->tree, destPath, kXMP_CreateNodes ); // Now create the dest. if ( destNode == 0 ) XMP_Throw ( "Can't create destination root node", kXMPErr_BadXPath ); // Make sure the destination is not within the source! The source can't be inside the destination // because the source already existed and the destination was just created. if ( &source == dest ) { for ( XMP_Node * testNode = destNode; testNode != 0; testNode = testNode->parent ) { if ( testNode == sourceNode ) { // *** delete the just-created dest root node XMP_Throw ( "Destination subtree is within the source subtree", kXMPErr_BadXPath ); } } } // *** Could use a CloneTree util here and maybe elsewhere. destNode->value = sourceNode->value; // *** Should use SetNode. destNode->options = sourceNode->options; CloneOffspring ( sourceNode, destNode ); } } // DuplicateSubtree // ================================================================================================= exiv2-0.25/xmpsdk/src/UnicodeInlines.incl_cpp0000664000175000017500000001056310700232552021032 0ustar andreasandreas#ifndef __UnicodeInlines_incl_cpp__ #define __UnicodeInlines_incl_cpp__ // ================================================================================================= // Copyright 2002-2007 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "UnicodeConversions.hpp" // ================================================================================================= // Inner loop utilities that need to be inlined. // ================================================================================================= static inline XMP_Uns32 GetCodePoint ( const XMP_Uns8 ** utf8Str_io ) { const XMP_Uns8 * u8Ptr = *utf8Str_io; XMP_Uns32 cp; size_t u8Len; CodePoint_from_UTF8 ( u8Ptr, 4, &cp, &u8Len ); // Throws an exception for errors. *utf8Str_io = u8Ptr + u8Len; return cp; } // ================================================================================================= static inline bool IsStartChar_ASCII ( XMP_Uns32 cp ) { // ASCII starting characters for an XML name. if ( (('a' <= cp) && (cp <= 'z')) || (('A' <= cp) && (cp <= 'Z')) || (cp == '_') ) return true; return false; } // ------------------------------------------------------------------------------------------------- static inline bool IsStartChar_NonASCII ( XMP_Uns32 cp ) { // Non-ASCII starting characters for an XML name. if ( ((0xC0 <= cp) && (cp <= 0xD6)) || ((0xD8 <= cp) && (cp <= 0xF6)) ) return true; if ( ((0xF8 <= cp) && (cp <= 0x2FF)) || ((0x370 <= cp) && (cp <= 0x37D)) ) return true; if ( ((0x37F <= cp) && (cp <= 0x1FFF)) || ((0x200C <= cp) && (cp <= 0x200D)) ) return true; if ( ((0x2070 <= cp) && (cp <= 0x218F)) || ((0x2C00 <= cp) && (cp <= 0x2FEF)) ) return true; if ( ((0x3001 <= cp) && (cp <= 0xD7FF)) || ((0xF900 <= cp) && (cp <= 0xFDCF)) ) return true; if ( ((0xFDF0 <= cp) && (cp <= 0xFFFD)) || ((0x10000 <= cp) && (cp <= 0xEFFFF)) ) return true; return false; } // ------------------------------------------------------------------------------------------------- static inline bool IsOtherChar_ASCII ( XMP_Uns32 cp ) { // ASCII following characters for an XML name. if ( (('0' <= cp) && (cp <= '9')) || (cp == '-') || (cp == '.') ) return true; return false; } // ------------------------------------------------------------------------------------------------- static inline bool IsOtherChar_NonASCII ( XMP_Uns32 cp ) { // Non-ASCII following characters for an XML name. if ( (cp == 0xB7) || ((0x300 <= cp) && (cp <= 0x36F)) || ((0x203F <= cp) && (cp <= 0x2040)) ) return true; return false; } // ------------------------------------------------------------------------------------------------- static inline void VerifyUTF8 ( XMP_StringPtr str ) { const XMP_Uns8 * utf8Str = (XMP_Uns8*)str; while ( *utf8Str != 0 ) { while ( (*utf8Str != 0) && (*utf8Str < 0x80) ) ++utf8Str; if ( *utf8Str >= 0x80 ) (void) GetCodePoint ( &utf8Str ); // Throws for bad UTF-8. } } // ------------------------------------------------------------------------------------------------- static inline void VerifySimpleXMLName ( XMP_StringPtr _nameStart, XMP_StringPtr _nameEnd ) { const XMP_Uns8 * nameStart = (const XMP_Uns8 *) _nameStart; const XMP_Uns8 * nameEnd = (const XMP_Uns8 *) _nameEnd; const XMP_Uns8 * namePos = nameStart; XMP_Uns32 cp; // The first character is more restricted. if ( nameStart >= nameEnd ) XMP_Throw ( "Empty XML name", kXMPErr_BadXPath ); cp = *namePos; if ( cp < 0x80 ) { ++namePos; if ( ! IsStartChar_ASCII(cp) ) goto NameError; } else { cp = GetCodePoint ( &namePos ); if ( ! IsStartChar_NonASCII(cp) ) goto NameError; } // Check the rest of the name. while ( namePos < nameEnd ) { cp = *namePos; if ( cp < 0x80 ) { ++namePos; if ( (! IsStartChar_ASCII(cp)) && (! IsOtherChar_ASCII(cp)) ) goto NameError; } else { cp = GetCodePoint ( &namePos ); if ( (! IsStartChar_NonASCII(cp)) && (! IsOtherChar_NonASCII(cp)) ) goto NameError; } } return; NameError: XMP_Throw ( "Bad XML name", kXMPErr_BadXPath ); } // VerifySimpleXMLName // ================================================================================================= #endif // __UnicodeInlines_incl_cpp__ exiv2-0.25/xmpsdk/src/UnicodeConversions.hpp0000664000175000017500000001275710700232552020750 0ustar andreasandreas#ifndef __UnicodeConversions_h__ #define __UnicodeConversions_h__ // ================================================================================================= // Copyright 2004-2007 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include // ================================================================================================= #if UnicodeTestBuild typedef unsigned char UTF8Unit; typedef unsigned short UTF16Unit; typedef unsigned long UTF32Unit; #else typedef XMP_Uns8 UTF8Unit; typedef XMP_Uns16 UTF16Unit; typedef XMP_Uns32 UTF32Unit; #endif // ------------------------------------------------------------------------------------------------- // ! The UTF16 and UTF32 counts are in storage units, not bytes! CodePoint values are always native. // *** MIght be better to return a status than throw an exception for errors? typedef void (*CodePoint_to_UTF16_Proc) ( const UTF32Unit cpIn, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf16Written ); typedef void (*CodePoint_from_UTF16_Proc) ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * cpOut, size_t * utf16Read ); typedef void (*UTF8_to_UTF16_Proc) ( const UTF8Unit * utf8In, const size_t utf8Len, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf8Read, size_t * utf16Written ); typedef void (*UTF8_to_UTF32_Proc) ( const UTF8Unit * utf8In, const size_t utf8Len, UTF32Unit * utf32Out, const size_t utf32Len, size_t * utf8Read, size_t * utf32Written ); typedef void (*UTF16_to_UTF8_Proc) ( const UTF16Unit * utf16In, const size_t utf16Len, UTF8Unit * utf8Out, const size_t utf8Len, size_t * utf16Read, size_t * utf8Written ); typedef void (*UTF32_to_UTF8_Proc) ( const UTF32Unit * utf32In, const size_t utf32Len, UTF8Unit * utf8Out, const size_t utf8Len, size_t * utf32Read, size_t * utf8Written ); typedef void (*UTF16_to_UTF32_Proc) ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * utf32Out, const size_t utf32Len, size_t * utf16Read, size_t * utf32Written ); typedef void (*UTF32_to_UTF16_Proc) ( const UTF32Unit * utf32In, const size_t utf32Len, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf32Read, size_t * utf16Written ); // ------------------------------------------------------------------------------------------------- extern void CodePoint_to_UTF8 ( const UTF32Unit cpIn, UTF8Unit * utf8Out, const size_t utf8Len, size_t * utf8Written ); extern void CodePoint_from_UTF8 ( const UTF8Unit * utf8In, const size_t utf8Len, UTF32Unit * cpOut, size_t * utf8Read ); extern CodePoint_to_UTF16_Proc CodePoint_to_UTF16BE; extern CodePoint_to_UTF16_Proc CodePoint_to_UTF16LE; extern CodePoint_from_UTF16_Proc CodePoint_from_UTF16BE; extern CodePoint_from_UTF16_Proc CodePoint_from_UTF16LE; extern UTF8_to_UTF16_Proc UTF8_to_UTF16BE; extern UTF8_to_UTF16_Proc UTF8_to_UTF16LE; extern UTF8_to_UTF32_Proc UTF8_to_UTF32BE; extern UTF8_to_UTF32_Proc UTF8_to_UTF32LE; extern UTF16_to_UTF8_Proc UTF16BE_to_UTF8; extern UTF16_to_UTF8_Proc UTF16LE_to_UTF8; extern UTF32_to_UTF8_Proc UTF32BE_to_UTF8; extern UTF32_to_UTF8_Proc UTF32LE_to_UTF8; extern UTF8_to_UTF16_Proc UTF8_to_UTF16Native; extern UTF8_to_UTF32_Proc UTF8_to_UTF32Native; extern UTF16_to_UTF8_Proc UTF16Native_to_UTF8; extern UTF32_to_UTF8_Proc UTF32Native_to_UTF8; extern UTF16_to_UTF32_Proc UTF16BE_to_UTF32BE; extern UTF16_to_UTF32_Proc UTF16BE_to_UTF32LE; extern UTF16_to_UTF32_Proc UTF16LE_to_UTF32BE; extern UTF16_to_UTF32_Proc UTF16LE_to_UTF32LE; extern UTF32_to_UTF16_Proc UTF32BE_to_UTF16BE; extern UTF32_to_UTF16_Proc UTF32BE_to_UTF16LE; extern UTF32_to_UTF16_Proc UTF32LE_to_UTF16BE; extern UTF32_to_UTF16_Proc UTF32LE_to_UTF16LE; extern void SwapUTF16 ( const UTF16Unit * utf16In, UTF16Unit * utf16Out, const size_t utf16Len ); extern void SwapUTF32 ( const UTF32Unit * utf32In, UTF32Unit * utf32Out, const size_t utf32Len ); extern void ToUTF16 ( const UTF8Unit * utf8In, size_t utf8Len, std::string * utf16Str, bool bigEndian ); extern void ToUTF32 ( const UTF8Unit * utf8In, size_t utf8Len, std::string * utf32Str, bool bigEndian ); extern void FromUTF16 ( const UTF16Unit * utf16In, size_t utf16Len, std::string * utf8Str, bool bigEndian ); extern void FromUTF32 ( const UTF32Unit * utf32In, size_t utf32Len, std::string * utf8Str, bool bigEndian ); extern void ToUTF16Native ( const UTF8Unit * utf8In, size_t utf8Len, std::string * utf16Str ); extern void ToUTF32Native ( const UTF8Unit * utf8In, size_t utf8Len, std::string * utf32Str ); extern void FromUTF16Native ( const UTF16Unit * utf16In, size_t utf16Len, std::string * utf8Str ); extern void FromUTF32Native ( const UTF32Unit * utf32In, size_t utf32Len, std::string * utf8Str ); extern void InitializeUnicodeConversions(); // ================================================================================================= #endif // __UnicodeConversions_h__ exiv2-0.25/xmpsdk/src/XMPUtils.hpp0000664000175000017500000001436711224653364016627 0ustar andreasandreas#ifndef __XMPUtils_hpp__ #define __XMPUtils_hpp__ // ================================================================================================= // Copyright 2002-2007 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" #include "XMP_Const.h" #include "XMPMeta.hpp" #include "XMPCore_Impl.hpp" #include "client-glue/WXMPUtils.hpp" // ------------------------------------------------------------------------------------------------- extern XMP_VarString * sComposedPath; // *** Only really need 1 string. Shrink periodically? extern XMP_VarString * sConvertedValue; extern XMP_VarString * sBase64Str; extern XMP_VarString * sCatenatedItems; extern XMP_VarString * sStandardXMP; extern XMP_VarString * sExtendedXMP; extern XMP_VarString * sExtendedDigest; // ------------------------------------------------------------------------------------------------- class XMPUtils { public: static bool Initialize(); // ! For internal use only! static void Terminate() RELEASE_NO_THROW; // ! For internal use only! static void Unlock ( XMP_OptionBits options ); // --------------------------------------------------------------------------------------------- static void ComposeArrayItemPath ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr * fullPath, XMP_StringLen * pathSize ); static void ComposeStructFieldPath ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr * fullPath, XMP_StringLen * pathSize ); static void ComposeQualifierPath ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr * fullPath, XMP_StringLen * pathSize ); static void ComposeLangSelector ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr langName, XMP_StringPtr * fullPath, XMP_StringLen * pathSize ); static void ComposeFieldSelector ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, XMP_StringPtr * fullPath, XMP_StringLen * pathSize ); // --------------------------------------------------------------------------------------------- static void ConvertFromBool ( bool binValue, XMP_StringPtr * strValue, XMP_StringLen * strSize ); static void ConvertFromInt ( XMP_Int32 binValue, XMP_StringPtr format, XMP_StringPtr * strValue, XMP_StringLen * strSize ); static void ConvertFromInt64 ( XMP_Int64 binValue, XMP_StringPtr format, XMP_StringPtr * strValue, XMP_StringLen * strSize ); static void ConvertFromFloat ( double binValue, XMP_StringPtr format, XMP_StringPtr * strValue, XMP_StringLen * strSize ); static void ConvertFromDate ( const XMP_DateTime & binValue, XMP_StringPtr * strValue, XMP_StringLen * strSize ); // --------------------------------------------------------------------------------------------- static bool ConvertToBool ( XMP_StringPtr strValue ); static XMP_Int32 ConvertToInt ( XMP_StringPtr strValue ); static XMP_Int64 ConvertToInt64 ( XMP_StringPtr strValue ); static double ConvertToFloat ( XMP_StringPtr strValue ); static void ConvertToDate ( XMP_StringPtr strValue, XMP_DateTime * binValue ); // --------------------------------------------------------------------------------------------- static void CurrentDateTime ( XMP_DateTime * time ); static void SetTimeZone ( XMP_DateTime * time ); static void ConvertToUTCTime ( XMP_DateTime * time ); static void ConvertToLocalTime ( XMP_DateTime * time ); static int CompareDateTime ( const XMP_DateTime & left, const XMP_DateTime & right ); // --------------------------------------------------------------------------------------------- static void EncodeToBase64 ( XMP_StringPtr rawStr, XMP_StringLen rawLen, XMP_StringPtr * encodedStr, XMP_StringLen * encodedLen ); static void DecodeFromBase64 ( XMP_StringPtr encodedStr, XMP_StringLen encodedLen, XMP_StringPtr * rawStr, XMP_StringLen * rawLen ); // --------------------------------------------------------------------------------------------- static void PackageForJPEG ( const XMPMeta & xmpObj, XMP_StringPtr * stdStr, XMP_StringLen * stdLen, XMP_StringPtr * extStr, XMP_StringLen * extLen, XMP_StringPtr * digestStr, XMP_StringLen * digestLen ); static void MergeFromJPEG ( XMPMeta * fullXMP, const XMPMeta & extendedXMP ); // --------------------------------------------------------------------------------------------- static void CatenateArrayItems ( const XMPMeta & xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr separator, XMP_StringPtr quotes, XMP_OptionBits options, XMP_StringPtr * catedStr, XMP_StringLen * catedLen ); static void SeparateArrayItems ( XMPMeta * xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, XMP_StringPtr catedStr ); static void RemoveProperties ( XMPMeta * xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options ); static void AppendProperties ( const XMPMeta & source, XMPMeta * dest, XMP_OptionBits options ); static void DuplicateSubtree ( const XMPMeta & source, XMPMeta * dest, XMP_StringPtr sourceNS, XMP_StringPtr sourceRoot, XMP_StringPtr destNS, XMP_StringPtr destRoot, XMP_OptionBits options ); }; // XMPUtils // ================================================================================================= #endif // __XMPUtils_hpp__ exiv2-0.25/xmpsdk/src/WXMPMeta.cpp0000664000175000017500000013203711465256713016536 0ustar andreasandreas// ================================================================================================= // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" // ! This must be the first include! #include "XMPCore_Impl.hpp" #include "XMPMeta.hpp" #include "client-glue/WXMPMeta.hpp" #if XMP_WinBuild #ifdef _MSC_VER #pragma warning ( disable : 4101 ) // unreferenced local variable #pragma warning ( disable : 4189 ) // local variable is initialized but not referenced #pragma warning ( disable : 4702 ) // unreachable code #pragma warning ( disable : 4800 ) // forcing value to bool 'true' or 'false' (performance warning) #if XMP_DebugBuild #pragma warning ( disable : 4297 ) // function assumed not to throw an exception but does #endif #endif #endif #if __cplusplus extern "C" { #endif // ================================================================================================= // Init/Term Wrappers // ================== /* class static */ void WXMPMeta_GetVersionInfo_1 ( XMP_VersionInfo * info ) { WXMP_Result * wResult = &void_wResult; // ! Needed to "fool" the EnterWrapper macro. XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPMeta_GetVersionInfo_1" ) XMPMeta::GetVersionInfo ( info ); XMP_EXIT_WRAPPER_NO_THROW } // ------------------------------------------------------------------------------------------------- /* class static */ void WXMPMeta_Initialize_1 ( WXMP_Result * wResult ) { XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPMeta_Initialize_1" ) bool ok = XMPMeta::Initialize(); wResult->int32Result = ok; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- /* class static */ void WXMPMeta_Terminate_1() { WXMP_Result * wResult = &void_wResult; // ! Needed to "fool" the EnterWrapper macro. XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPMeta_Terminate_1" ) XMPMeta::Terminate(); XMP_EXIT_WRAPPER_NO_THROW } // ================================================================================================= // CTor/DTor Wrappers // ================== void WXMPMeta_CTor_1 ( WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_CTor_1" ) XMPMeta * xmpObj = new XMPMeta(); ++xmpObj->clientRefs; XMP_Assert ( xmpObj->clientRefs == 1 ); wResult->ptrResult = XMPMetaRef ( xmpObj ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_IncrementRefCount_1 ( XMPMetaRef xmpRef ) { WXMP_Result * wResult = &void_wResult; // ! Needed to "fool" the EnterWrapper macro. XMP_ENTER_WRAPPER ( "WXMPMeta_IncrementRefCount_1" ) XMPMeta * thiz = (XMPMeta*)xmpRef; ++thiz->clientRefs; XMP_Assert ( thiz->clientRefs > 0 ); XMP_EXIT_WRAPPER_NO_THROW } // ------------------------------------------------------------------------------------------------- void WXMPMeta_DecrementRefCount_1 ( XMPMetaRef xmpRef ) { WXMP_Result * wResult = &void_wResult; // ! Needed to "fool" the EnterWrapper macro. XMP_ENTER_WRAPPER ( "WXMPMeta_DecrementRefCount_1" ) XMPMeta * thiz = (XMPMeta*)xmpRef; XMP_Assert ( thiz->clientRefs > 0 ); --thiz->clientRefs; if ( thiz->clientRefs <= 0 ) delete ( thiz ); XMP_EXIT_WRAPPER_NO_THROW } // ================================================================================================= // Class Static Wrappers // ===================== // // These are DLL-entry wrappers for class-static functions. They all follow a simple pattern: // // try // acquire toolbox lock // validate parameters // call through to the implementation // retain toolbox lock if necessary // catch anything and return an appropriate XMP_Error object // return null (no error if we get to here) // // The toolbox lock is acquired through a local wrapper object that automatically unlocks when the // try-block is exited. The lock must be retained if the function is returning a string result. The // output string is owned by the toolkit, the client must copy the string then release the lock. // The lock used here is the overall toolkit lock. For simplicity at this time the lock is a simple // mutual exclusion lock, we do not allow multiple concurrent readers. // // The one exception to this model is UnlockToolkit. It does not acquire the toolkit lock since this // is the function the client calls to release the lock after copying an output string! // // ================================================================================================= /* class static */ void WXMPMeta_GetGlobalOptions_1 ( WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_GetGlobalOptions_1" ) XMP_OptionBits options = XMPMeta::GetGlobalOptions(); wResult->int32Result = options; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- /* class static */ void WXMPMeta_SetGlobalOptions_1 ( XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_SetGlobalOptions_1" ) XMPMeta::SetGlobalOptions ( options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- /* class static */ void WXMPMeta_DumpNamespaces_1 ( XMP_TextOutputProc outProc, void * refCon, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_DumpNamespaces_1" ) if ( outProc == 0 ) XMP_Throw ( "Null client output routine", kXMPErr_BadParam ); XMP_Status status = XMPMeta::DumpNamespaces ( outProc, refCon ); wResult->int32Result = status; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- /* class static */ void WXMPMeta_DumpAliases_1 ( XMP_TextOutputProc outProc, void * refCon, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_DumpAliases_1" ) if ( outProc == 0 ) XMP_Throw ( "Null client output routine", kXMPErr_BadParam ); XMP_Status status = XMPMeta::DumpAliases ( outProc, refCon ); wResult->int32Result = status; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- /* class static */ void WXMPMeta_Unlock_1 ( XMP_OptionBits options ) { WXMP_Result * wResult = &void_wResult; // ! Needed to "fool" the EnterWrapper macro. XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPMeta_Unlock_1" ) XMPMeta::Unlock ( options ); XMP_EXIT_WRAPPER_NO_THROW } // ------------------------------------------------------------------------------------------------- /* class static */ void WXMPMeta_RegisterNamespace_1 ( XMP_StringPtr namespaceURI, XMP_StringPtr prefix, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_RegisterNamespace_1" ) if ( (namespaceURI == 0) || (*namespaceURI == 0) ) XMP_Throw ( "Empty namespace URI", kXMPErr_BadSchema ); if ( (prefix == 0) || (*prefix == 0) ) XMP_Throw ( "Empty prefix", kXMPErr_BadSchema ); XMPMeta::RegisterNamespace ( namespaceURI, prefix ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- /* class static */ void WXMPMeta_GetNamespacePrefix_1 ( XMP_StringPtr namespaceURI, XMP_StringPtr * namespacePrefix, XMP_StringLen * prefixSize, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_GetNamespacePrefix_1" ) if ( (namespaceURI == 0) || (*namespaceURI == 0) ) XMP_Throw ( "Empty namespace URI", kXMPErr_BadSchema ); if ( namespacePrefix == 0 ) namespacePrefix = &voidStringPtr; if ( prefixSize == 0 ) prefixSize = &voidStringLen; bool found = XMPMeta::GetNamespacePrefix ( namespaceURI, namespacePrefix, prefixSize ); wResult->int32Result = found; XMP_EXIT_WRAPPER_KEEP_LOCK ( found ) } // ------------------------------------------------------------------------------------------------- /* class static */ void WXMPMeta_GetNamespaceURI_1 ( XMP_StringPtr namespacePrefix, XMP_StringPtr * namespaceURI, XMP_StringLen * uriSize, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_GetNamespaceURI_1" ) if ( (namespacePrefix == 0) || (*namespacePrefix == 0) ) XMP_Throw ( "Empty namespace prefix", kXMPErr_BadSchema ); if ( namespaceURI == 0 ) namespaceURI = &voidStringPtr; if ( uriSize == 0 ) uriSize = &voidStringLen; bool found = XMPMeta::GetNamespaceURI ( namespacePrefix, namespaceURI, uriSize ); wResult->int32Result = found; XMP_EXIT_WRAPPER_KEEP_LOCK ( found ) } // ------------------------------------------------------------------------------------------------- /* class static */ void WXMPMeta_DeleteNamespace_1 ( XMP_StringPtr namespaceURI, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_DeleteNamespace_1" ) if ( (namespaceURI == 0) || (*namespaceURI == 0) ) XMP_Throw ( "Empty namespace URI", kXMPErr_BadSchema ); XMPMeta::DeleteNamespace ( namespaceURI ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- /* class static */ void WXMPMeta_RegisterAlias_1 ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, XMP_StringPtr actualNS, XMP_StringPtr actualProp, XMP_OptionBits arrayForm, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_RegisterAlias_1" ) if ( (aliasNS == 0) || (*aliasNS == 0) ) XMP_Throw ( "Empty alias namespace URI", kXMPErr_BadSchema ); if ( (aliasProp == 0) || (*aliasProp == 0) ) XMP_Throw ( "Empty alias property name", kXMPErr_BadXPath ); if ( (actualNS == 0) || (*actualNS == 0) ) XMP_Throw ( "Empty actual namespace URI", kXMPErr_BadSchema ); if ( (actualProp == 0) || (*actualProp == 0) ) XMP_Throw ( "Empty actual property name", kXMPErr_BadXPath ); XMPMeta::RegisterAlias ( aliasNS, aliasProp, actualNS, actualProp, arrayForm ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- /* class static */ void WXMPMeta_ResolveAlias_1 ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, XMP_StringPtr * actualNS, XMP_StringLen * nsSize, XMP_StringPtr * actualProp, XMP_StringLen * propSize, XMP_OptionBits * arrayForm, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_ResolveAlias_1" ) if ( (aliasNS == 0) || (*aliasNS == 0) ) XMP_Throw ( "Empty alias namespace URI", kXMPErr_BadSchema ); if ( (aliasProp == 0) || (*aliasProp == 0) ) XMP_Throw ( "Empty alias property name", kXMPErr_BadXPath ); if ( actualNS == 0 ) actualNS = &voidStringPtr; if ( nsSize == 0 ) nsSize = &voidStringLen; if ( actualProp == 0 ) actualProp = &voidStringPtr; if ( propSize == 0 ) propSize = &voidStringLen; if ( arrayForm == 0 ) arrayForm = &voidOptionBits; bool found = XMPMeta::ResolveAlias ( aliasNS, aliasProp, actualNS, nsSize, actualProp, propSize, arrayForm ); wResult->int32Result = found; XMP_EXIT_WRAPPER_KEEP_LOCK ( found ) } // ------------------------------------------------------------------------------------------------- /* class static */ void WXMPMeta_DeleteAlias_1 ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_DeleteAlias_1" ) if ( (aliasNS == 0) || (*aliasNS == 0) ) XMP_Throw ( "Empty alias namespace URI", kXMPErr_BadSchema ); if ( (aliasProp == 0) || (*aliasProp == 0) ) XMP_Throw ( "Empty alias property name", kXMPErr_BadXPath ); XMPMeta::DeleteAlias ( aliasNS, aliasProp ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- /* class static */ void WXMPMeta_RegisterStandardAliases_1 ( XMP_StringPtr schemaNS, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_RegisterStandardAliases_1" ) if ( schemaNS == 0 ) schemaNS = ""; XMPMeta::RegisterStandardAliases ( schemaNS ); XMP_EXIT_WRAPPER } // ================================================================================================= // Class Method Wrappers // ===================== // // These are DLL-entry wrappers for the methods. They all follow a simple pattern: // // validate parameters // try // acquire object lock // call through to the implementation // retain object lock if necessary // catch anything and return an appropriate XMP_Error object // return null (no error if we get to here) // // The object lock is acquired through a local wrapper object that automatically unlocks when the // try-block is exited. The lock must be retained if the function is returning a string result. The // output string is owned by the object, the client must copy the string then release the lock. The // lock used here is the per-object lock. For simplicity at this time the lock is a simple mutual // exclusion lock, we do not allow multiple concurrent readers. // // The one exception to this model is UnlockObject. It does not acquire the object lock since this // is the function the client calls to release the lock after copying an output string! // // ================================================================================================= void WXMPMeta_GetProperty_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr * propValue, XMP_StringLen * valueSize, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_GetProperty_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); if ( propValue == 0 ) propValue = &voidStringPtr; if ( valueSize == 0 ) valueSize = &voidStringLen; if ( options == 0 ) options = &voidOptionBits; const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); bool found = meta.GetProperty ( schemaNS, propName, propValue, valueSize, options ); wResult->int32Result = found; XMP_EXIT_WRAPPER_KEEP_LOCK ( found ) } // ------------------------------------------------------------------------------------------------- void WXMPMeta_GetArrayItem_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr * itemValue, XMP_StringLen * valueSize, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_GetArrayItem_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (arrayName == 0) || (*arrayName == 0) ) XMP_Throw ( "Empty array name", kXMPErr_BadXPath ); if ( itemValue == 0 ) itemValue = &voidStringPtr; if ( valueSize == 0 ) valueSize = &voidStringLen; if ( options == 0 ) options = &voidOptionBits; const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); bool found = meta.GetArrayItem ( schemaNS, arrayName, itemIndex, itemValue, valueSize, options ); wResult->int32Result = found; XMP_EXIT_WRAPPER_KEEP_LOCK ( found ) } // ------------------------------------------------------------------------------------------------- void WXMPMeta_GetStructField_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr * fieldValue, XMP_StringLen * valueSize, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_GetStructField_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (structName == 0) || (*structName == 0) ) XMP_Throw ( "Empty struct name", kXMPErr_BadXPath ); if ( (fieldNS == 0) || (*fieldNS == 0) ) XMP_Throw ( "Empty field namespace URI", kXMPErr_BadSchema ); if ( (fieldName == 0) || (*fieldName == 0) ) XMP_Throw ( "Empty field name", kXMPErr_BadXPath ); if ( fieldValue == 0 ) fieldValue = &voidStringPtr; if ( valueSize == 0 ) valueSize = &voidStringLen; if ( options == 0 ) options = &voidOptionBits; const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); bool found = meta.GetStructField ( schemaNS, structName, fieldNS, fieldName, fieldValue, valueSize, options ); wResult->int32Result = found; XMP_EXIT_WRAPPER_KEEP_LOCK ( found ) } // ------------------------------------------------------------------------------------------------- void WXMPMeta_GetQualifier_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr * qualValue, XMP_StringLen * valueSize, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_GetQualifier_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); if ( (qualNS == 0) || (*qualNS == 0) ) XMP_Throw ( "Empty qualifier namespace URI", kXMPErr_BadSchema ); if ( (qualName == 0) || (*qualName == 0) ) XMP_Throw ( "Empty qualifier name", kXMPErr_BadXPath ); if ( qualValue == 0 ) qualValue = &voidStringPtr; if ( valueSize == 0 ) valueSize = &voidStringLen; if ( options == 0 ) options = &voidOptionBits; const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); bool found = meta.GetQualifier ( schemaNS, propName, qualNS, qualName, qualValue, valueSize, options ); wResult->int32Result = found; XMP_EXIT_WRAPPER_KEEP_LOCK ( found ) } // ------------------------------------------------------------------------------------------------- void WXMPMeta_SetProperty_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr propValue, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_SetProperty_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->SetProperty ( schemaNS, propName, propValue, options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_SetArrayItem_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr itemValue, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_SetArrayItem_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (arrayName == 0) || (*arrayName == 0) ) XMP_Throw ( "Empty array name", kXMPErr_BadXPath ); XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->SetArrayItem ( schemaNS, arrayName, itemIndex, itemValue, options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_AppendArrayItem_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, XMP_StringPtr itemValue, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_AppendArrayItem_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (arrayName == 0) || (*arrayName == 0) ) XMP_Throw ( "Empty array name", kXMPErr_BadXPath ); XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->AppendArrayItem ( schemaNS, arrayName, arrayOptions, itemValue, options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_SetStructField_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_SetStructField_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (structName == 0) || (*structName == 0) ) XMP_Throw ( "Empty struct name", kXMPErr_BadXPath ); if ( (fieldNS == 0) || (*fieldNS == 0) ) XMP_Throw ( "Empty field namespace URI", kXMPErr_BadSchema ); if ( (fieldName == 0) || (*fieldName == 0) ) XMP_Throw ( "Empty field name", kXMPErr_BadXPath ); XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->SetStructField ( schemaNS, structName, fieldNS, fieldName, fieldValue, options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_SetQualifier_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr qualValue, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_SetQualifier_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); if ( (qualNS == 0) || (*qualNS == 0) ) XMP_Throw ( "Empty qualifier namespace URI", kXMPErr_BadSchema ); if ( (qualName == 0) || (*qualName == 0) ) XMP_Throw ( "Empty qualifier name", kXMPErr_BadXPath ); XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->SetQualifier ( schemaNS, propName, qualNS, qualName, qualValue, options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_DeleteProperty_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_DeleteProperty_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->DeleteProperty ( schemaNS, propName ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_DeleteArrayItem_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_DeleteArrayItem_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (arrayName == 0) || (*arrayName == 0) ) XMP_Throw ( "Empty array name", kXMPErr_BadXPath ); XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->DeleteArrayItem ( schemaNS, arrayName, itemIndex ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_DeleteStructField_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_DeleteStructField_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (structName == 0) || (*structName == 0) ) XMP_Throw ( "Empty struct name", kXMPErr_BadXPath ); if ( (fieldNS == 0) || (*fieldNS == 0) ) XMP_Throw ( "Empty field namespace URI", kXMPErr_BadSchema ); if ( (fieldName == 0) || (*fieldName == 0) ) XMP_Throw ( "Empty field name", kXMPErr_BadXPath ); XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->DeleteStructField ( schemaNS, structName, fieldNS, fieldName ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_DeleteQualifier_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_DeleteQualifier_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); if ( (qualNS == 0) || (*qualNS == 0) ) XMP_Throw ( "Empty qualifier namespace URI", kXMPErr_BadSchema ); if ( (qualName == 0) || (*qualName == 0) ) XMP_Throw ( "Empty qualifier name", kXMPErr_BadXPath ); XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->DeleteQualifier ( schemaNS, propName, qualNS, qualName ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_DoesPropertyExist_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_DoesPropertyExist_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); bool found = meta.DoesPropertyExist ( schemaNS, propName ); wResult->int32Result = found; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_DoesArrayItemExist_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_DoesArrayItemExist_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (arrayName == 0) || (*arrayName == 0) ) XMP_Throw ( "Empty array name", kXMPErr_BadXPath ); const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); bool found = meta.DoesArrayItemExist ( schemaNS, arrayName, itemIndex ); wResult->int32Result = found; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_DoesStructFieldExist_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_DoesStructFieldExist_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (structName == 0) || (*structName == 0) ) XMP_Throw ( "Empty struct name", kXMPErr_BadXPath ); if ( (fieldNS == 0) || (*fieldNS == 0) ) XMP_Throw ( "Empty field namespace URI", kXMPErr_BadSchema ); if ( (fieldName == 0) || (*fieldName == 0) ) XMP_Throw ( "Empty field name", kXMPErr_BadXPath ); const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); bool found = meta.DoesStructFieldExist ( schemaNS, structName, fieldNS, fieldName ); wResult->int32Result = found; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_DoesQualifierExist_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_DoesQualifierExist_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); if ( (qualNS == 0) || (*qualNS == 0) ) XMP_Throw ( "Empty qualifier namespace URI", kXMPErr_BadSchema ); if ( (qualName == 0) || (*qualName == 0) ) XMP_Throw ( "Empty qualifier name", kXMPErr_BadXPath ); const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); bool found = meta.DoesQualifierExist ( schemaNS, propName, qualNS, qualName ); wResult->int32Result = found; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_GetLocalizedText_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, XMP_StringPtr * actualLang, XMP_StringLen * langSize, XMP_StringPtr * itemValue, XMP_StringLen * valueSize, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_GetLocalizedText_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (arrayName == 0) || (*arrayName == 0) ) XMP_Throw ( "Empty array name", kXMPErr_BadXPath ); if ( genericLang == 0 ) genericLang = ""; if ( (specificLang == 0) ||(*specificLang == 0) ) XMP_Throw ( "Empty specific language", kXMPErr_BadParam ); if ( actualLang == 0 ) actualLang = &voidStringPtr; if ( langSize == 0 ) langSize = &voidStringLen; if ( itemValue == 0 ) itemValue = &voidStringPtr; if ( valueSize == 0 ) valueSize = &voidStringLen; if ( options == 0 ) options = &voidOptionBits; const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); bool found = meta.GetLocalizedText ( schemaNS, arrayName, genericLang, specificLang, actualLang, langSize, itemValue, valueSize, options ); wResult->int32Result = found; XMP_EXIT_WRAPPER_KEEP_LOCK ( found ) } // ------------------------------------------------------------------------------------------------- void WXMPMeta_SetLocalizedText_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, XMP_StringPtr itemValue, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_SetLocalizedText_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (arrayName == 0) || (*arrayName == 0) ) XMP_Throw ( "Empty array name", kXMPErr_BadXPath ); if ( genericLang == 0 ) genericLang = ""; if ( (specificLang == 0) ||(*specificLang == 0) ) XMP_Throw ( "Empty specific language", kXMPErr_BadParam ); if ( itemValue == 0 ) itemValue = ""; XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->SetLocalizedText ( schemaNS, arrayName, genericLang, specificLang, itemValue, options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_GetProperty_Bool_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Bool * propValue, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_GetProperty_Bool_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); if ( propValue == 0 ) propValue = &voidByte; if ( options == 0 ) options = &voidOptionBits; const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); bool value; bool found = meta.GetProperty_Bool ( schemaNS, propName, &value, options ); if ( propValue != 0 ) *propValue = value; wResult->int32Result = found; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_GetProperty_Int_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int32 * propValue, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_GetProperty_Int_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); if ( propValue == 0 ) propValue = &voidInt32; if ( options == 0 ) options = &voidOptionBits; const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); bool found = meta.GetProperty_Int ( schemaNS, propName, propValue, options ); wResult->int32Result = found; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_GetProperty_Int64_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int64 * propValue, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_GetProperty_Int64_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); if ( propValue == 0 ) propValue = &voidInt64; if ( options == 0 ) options = &voidOptionBits; const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); bool found = meta.GetProperty_Int64 ( schemaNS, propName, propValue, options ); wResult->int32Result = found; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_GetProperty_Float_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, double * propValue, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_GetProperty_Float_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); if ( propValue == 0 ) propValue = &voidDouble; if ( options == 0 ) options = &voidOptionBits; const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); bool found = meta.GetProperty_Float ( schemaNS, propName, propValue, options ); wResult->int32Result = found; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_GetProperty_Date_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_DateTime * propValue, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_GetProperty_Date_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); if ( propValue == 0 ) propValue = &voidDateTime; if ( options == 0 ) options = &voidOptionBits; const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); bool found = meta.GetProperty_Date ( schemaNS, propName, propValue, options ); wResult->int32Result = found; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_SetProperty_Bool_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Bool propValue, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_SetProperty_Bool_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->SetProperty_Bool ( schemaNS, propName, propValue, options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_SetProperty_Int_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int32 propValue, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_SetProperty_Int_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->SetProperty_Int ( schemaNS, propName, propValue, options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_SetProperty_Int64_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int64 propValue, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_SetProperty_Int64_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->SetProperty_Int64 ( schemaNS, propName, propValue, options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_SetProperty_Float_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, double propValue, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_SetProperty_Float_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->SetProperty_Float ( schemaNS, propName, propValue, options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_SetProperty_Date_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, const XMP_DateTime & propValue, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_SetProperty_Date_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (propName == 0) || (*propName == 0) ) XMP_Throw ( "Empty property name", kXMPErr_BadXPath ); XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->SetProperty_Date ( schemaNS, propName, propValue, options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_DumpObject_1 ( XMPMetaRef xmpRef, XMP_TextOutputProc outProc, void * refCon, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_DumpObject_1" ) if ( outProc == 0 ) XMP_Throw ( "Null client output routine", kXMPErr_BadParam ); const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); XMP_Status status = meta.DumpObject ( outProc, refCon ); wResult->int32Result = status; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_Sort_1 ( XMPMetaRef xmpRef, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_Sort_1" ) XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->Sort(); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_Erase_1 ( XMPMetaRef xmpRef, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_Erase_1" ) XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->Erase(); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_Clone_1 ( XMPMetaRef xmpRef, XMP_OptionBits options, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_Clone_1" ) const XMPMeta & xOriginal = WtoXMPMeta_Ref ( xmpRef ); XMPMeta * xClone = new XMPMeta; xOriginal.Clone ( xClone, options ); XMP_Assert ( xClone->clientRefs == 0 ); // ! Gets incremented in TXMPMeta::Clone. wResult->ptrResult = xClone; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_CountArrayItems_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_CountArrayItems_1" ) if ( (schemaNS == 0) || (*schemaNS == 0) ) XMP_Throw ( "Empty schema namespace URI", kXMPErr_BadSchema ); if ( (arrayName == 0) || (*arrayName == 0) ) XMP_Throw ( "Empty array name", kXMPErr_BadXPath ); const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); XMP_Index count = meta.CountArrayItems ( schemaNS, arrayName ); wResult->int32Result = count; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_UnlockObject_1 ( XMPMetaRef xmpRef, XMP_OptionBits options ) /* const */ { WXMP_Result * wResult = &void_wResult; // ! Needed to "fool" the EnterWrapper macro. XMP_ENTER_WRAPPER_NO_LOCK ( "WXMPMeta_UnlockObject_1" ) const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); meta.UnlockObject ( options ); XMP_EXIT_WRAPPER_NO_THROW } // ------------------------------------------------------------------------------------------------- void WXMPMeta_GetObjectName_1 ( XMPMetaRef xmpRef, XMP_StringPtr * namePtr, XMP_StringLen * nameLen, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_GetObjectName_1" ) if ( namePtr == 0 ) namePtr = &voidStringPtr; if ( nameLen == 0 ) nameLen = &voidStringLen; const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); meta.GetObjectName ( namePtr, nameLen ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) // ! Always keep the lock, a string is always returned! } // ------------------------------------------------------------------------------------------------- void WXMPMeta_SetObjectName_1 ( XMPMetaRef xmpRef, XMP_StringPtr name, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_SetObjectName_1" ) if ( name == 0 ) name = ""; XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->SetObjectName ( name ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_GetObjectOptions_1 ( XMPMetaRef xmpRef, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_GetObjectOptions_1" ) const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); XMP_OptionBits options = meta.GetObjectOptions(); wResult->int32Result = options; XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_SetObjectOptions_1 ( XMPMetaRef xmpRef, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_SetObjectOptions_1" ) XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->SetObjectOptions ( options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_ParseFromBuffer_1 ( XMPMetaRef xmpRef, XMP_StringPtr buffer, XMP_StringLen bufferSize, XMP_OptionBits options, WXMP_Result * wResult ) { XMP_ENTER_WRAPPER ( "WXMPMeta_ParseFromBuffer_1" ) XMPMeta * meta = WtoXMPMeta_Ptr ( xmpRef ); meta->ParseFromBuffer ( buffer, bufferSize, options ); XMP_EXIT_WRAPPER } // ------------------------------------------------------------------------------------------------- void WXMPMeta_SerializeToBuffer_1 ( XMPMetaRef xmpRef, XMP_StringPtr * rdfString, XMP_StringLen * rdfSize, XMP_OptionBits options, XMP_StringLen padding, XMP_StringPtr newline, XMP_StringPtr indent, XMP_Index baseIndent, WXMP_Result * wResult ) /* const */ { XMP_ENTER_WRAPPER ( "WXMPMeta_SerializeToBuffer_1" ) if ( rdfString == 0 ) rdfString = &voidStringPtr; if ( rdfSize == 0 ) rdfSize = &voidStringLen; if ( newline == 0 ) newline = ""; if ( indent == 0 ) indent = ""; const XMPMeta & meta = WtoXMPMeta_Ref ( xmpRef ); meta.SerializeToBuffer ( rdfString, rdfSize, options, padding, newline, indent, baseIndent ); XMP_EXIT_WRAPPER_KEEP_LOCK ( true ) // ! Always keep the lock, a string is always returned! } // ================================================================================================= #if __cplusplus } /* extern "C" */ #endif exiv2-0.25/xmpsdk/src/XMLParserAdapter.hpp0000664000175000017500000001235011224654652020247 0ustar andreasandreas#ifndef __XMLParserAdapter_hpp__ #define __XMLParserAdapter_hpp__ // ================================================================================================= // Copyright 2005-2007 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" // ! Must be the first #include! #include "XMP_Const.h" #include #include // ================================================================================================= // XML_Node details // // The XML_Nodes are used only during the XML/RDF parsing process. This presently uses an XML parser // to create an XML tree, then a recursive descent RDF recognizer to build the corresponding XMP. // This makes it easier to swap XML parsers and provides a clean separation of XML and RDF issues. // The overall parsing would be faster and use less memory if the RDF recognition were done on the // fly using a state machine. But it was much easier to write the recursive descent version. The // current implementation is pretty fast in absolute terms, so being faster might not be crucial. // // Like the XMP tree, the XML tree contains vectors of pointers for down links, and offspring have // a pointer to their parent. Unlike the XMP tree, this is an exact XML document tree. There are no // introduced top level namespace nodes or rearrangement of the nodes.. // // The exact state of namespaces can vary during the XML parsing, depending on the parser in use. // By the time the RDF recognition is done though, the namespaces must be normalized. All of the // used namespaces must be registered, this is done automatically if necessary. All of the "live" // namespace prefixes will be unique. The ns field of an XML_Node is the namespace URI, the name // field contains a qualified name (prefix:local). This includes default namespace mapping, the // URI and prefix will be missing only for elements and attributes in no namespace. class XML_Node; typedef XML_Node * XML_NodePtr; // Handy for things like: XML_Node * a, b; - b is XML_Node, not XML_Node*! enum { kRootNode = 0, kElemNode = 1, kAttrNode = 2, kCDataNode = 3, kPINode = 4 }; #define IsWhitespaceChar(ch) ( ((ch) == ' ') || ((ch) == 0x09) || ((ch) == 0x0A) || ((ch) == 0x0D) ) typedef std::vector XML_NodeVector; typedef XML_NodeVector::iterator XML_NodePos; typedef XML_NodeVector::const_iterator XML_cNodePos; #if 0 // Pattern for iterating over the children or attributes: for ( size_t xxNum = 0, xxLim = _node_->_offspring_.size(); xxNum < xxLim; ++xxNum ) { const XML_NodePtr _curr_ = _node_->_offspring_[xxNum]; } #endif class XML_Node { public: // Intended for lightweight internal use. Clients are expected to use the data directly. XMP_Uns8 kind; std::string ns, name, value; size_t nsPrefixLen; XML_NodePtr parent; XML_NodeVector attrs; XML_NodeVector content; bool IsWhitespaceNode() const; bool IsLeafContentNode() const; // An empty element or one with a single character data child node. bool IsEmptyLeafNode() const; XMP_StringPtr GetAttrValue ( XMP_StringPtr attrName ) const; void SetAttrValue ( XMP_StringPtr attrName, XMP_StringPtr attrValue ); XMP_StringPtr GetLeafContentValue() const; void SetLeafContentValue ( XMP_StringPtr value ); size_t CountNamedElements ( XMP_StringPtr nsURI, XMP_StringPtr localName ) const; // Number of child elements with this name. XML_NodePtr GetNamedElement ( XMP_StringPtr nsURI, XMP_StringPtr localName, size_t which = 0 ); void Dump ( std::string * buffer ); void Serialize ( std::string * buffer ); void RemoveAttrs(); void RemoveContent(); void ClearNode(); XML_Node ( XML_NodePtr _parent, XMP_StringPtr _name, XMP_Uns8 _kind ) : kind(_kind), name(_name), nsPrefixLen(0), parent(_parent) {}; XML_Node ( XML_NodePtr _parent, const std::string & _name, XMP_Uns8 _kind ) : kind(_kind), name(_name), nsPrefixLen(0), parent(_parent) {}; virtual ~XML_Node() { RemoveAttrs(); RemoveContent(); }; private: XML_Node() : kind(0), parent(0) {}; // ! Hidden to make sure parent pointer is always set. }; // ================================================================================================= // Abstract base class for XML parser adapters used by the XMP toolkit. enum { kXMLPendingInputMax = 16 }; class XMLParserAdapter { public: XMLParserAdapter() : tree(0,"",kRootNode), rootNode(0), rootCount(0), charEncoding(XMP_OptionBits(-1)), pendingCount(0) { #if XMP_DebugBuild parseLog = 0; #endif }; virtual ~XMLParserAdapter() {}; virtual void ParseBuffer ( const void * buffer, size_t length, bool last ) = 0; XML_Node tree; XML_NodeVector parseStack; XML_NodePtr rootNode; size_t rootCount; XMP_OptionBits charEncoding; size_t pendingCount; unsigned char pendingInput[kXMLPendingInputMax]; // Buffered input for character encoding checks. #if XMP_DebugBuild FILE * parseLog; #endif }; // ================================================================================================= #endif // __XMLParserAdapter_hpp__ exiv2-0.25/xmpsdk/src/XMPMeta-GetSet.cpp0000664000175000017500000011526112257444115017573 0ustar andreasandreas// ================================================================================================= // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // // Adobe patent application tracking #P435, entitled 'Unique markers to simplify embedding data of // one format in a file with a different format', inventors: Sean Parent, Greg Gilley. // ================================================================================================= #include "XMP_Environment.h" // ! This must be the first include! #include "XMPCore_Impl.hpp" #include "XMPMeta.hpp" #include "XMPIterator.hpp" #include "XMPUtils.hpp" #include "XMP_Version.h" #include "UnicodeInlines.incl_cpp" #include "UnicodeConversions.hpp" #include "ExpatAdapter.hpp" #if XMP_DebugBuild #include #endif using namespace std; #if XMP_WinBuild #ifdef _MSC_VER #pragma warning ( disable : 4533 ) // initialization of '...' is skipped by 'goto ...' #pragma warning ( disable : 4702 ) // unreachable code #pragma warning ( disable : 4800 ) // forcing value to bool 'true' or 'false' (performance warning) #endif #endif // *** Use the XMP_PropIsXyz (Schema, Simple, Struct, Array, ...) macros // *** Add debug codegen checks, e.g. that typical masking operations really work // *** Change all uses of strcmp and strncmp to XMP_LitMatch and XMP_LitNMatch // ================================================================================================= // Local Types and Constants // ========================= typedef unsigned char XMP_CLTMatch; enum { // Values for XMP_CLTMatch. kXMP_CLT_NoValues, kXMP_CLT_SpecificMatch, kXMP_CLT_SingleGeneric, kXMP_CLT_MultipleGeneric, kXMP_CLT_XDefault, kXMP_CLT_FirstItem }; // ================================================================================================= // Static Variables // ================ // ================================================================================================= // Local Utilities // =============== // ------------------------------------------------------------------------------------------------- // SetNodeValue // ------------ static inline void SetNodeValue ( XMP_Node * node, XMP_StringPtr value ) { #if XMP_DebugBuild // ! Hack to force an assert. if ( (node->name == "xmp:TestAssertNotify") && XMP_LitMatch ( value, "DoIt!" ) ) { XMP_Assert ( node->name != "xmp:TestAssertNotify" ); } #endif node->value = value; XMP_Uns8* chPtr = (XMP_Uns8*) node->value.c_str(); // Check for valid UTF-8, replace ASCII controls with a space. while ( *chPtr != 0 ) { while ( (*chPtr != 0) && (*chPtr < 0x80) ) { if ( *chPtr < 0x20 ) { if ( (*chPtr != kTab) && (*chPtr != kLF) && (*chPtr != kCR) ) *chPtr = 0x20; } else if (*chPtr == 0x7F ) { *chPtr = 0x20; } ++chPtr; } XMP_Assert ( (*chPtr == 0) || (*chPtr >= 0x80) ); if ( *chPtr != 0 ) (void) GetCodePoint ( (const XMP_Uns8 **) &chPtr ); // Throws for bad UTF-8. } if ( XMP_PropIsQualifier(node->options) && (node->name == "xml:lang") ) NormalizeLangValue ( &node->value ); #if 0 // *** XMP_DebugBuild node->_valuePtr = node->value.c_str(); #endif } // SetNodeValue // ------------------------------------------------------------------------------------------------- // SetNode // ------- // // The internals for SetProperty and related calls, used after the node is found or created. static void SetNode ( XMP_Node * node, XMP_StringPtr value, XMP_OptionBits options ) { if ( options & kXMP_DeleteExisting ) { XMP_ClearOption ( options, kXMP_DeleteExisting ); node->options = options; node->value.erase(); node->RemoveChildren(); node->RemoveQualifiers(); } node->options |= options; // Keep options set by FindNode when creating a new node. if ( value != 0 ) { // This is setting the value of a leaf node. if ( node->options & kXMP_PropCompositeMask ) XMP_Throw ( "Composite nodes can't have values", kXMPErr_BadXPath ); XMP_Assert ( node->children.empty() ); SetNodeValue ( node, value ); } else { // This is setting up an array or struct. if ( ! node->value.empty() ) XMP_Throw ( "Composite nodes can't have values", kXMPErr_BadXPath ); if ( node->options & kXMP_PropCompositeMask ) { // Can't change an array to a struct, or vice versa. if ( (options & kXMP_PropCompositeMask) != (node->options & kXMP_PropCompositeMask) ) { XMP_Throw ( "Requested and existing composite form mismatch", kXMPErr_BadXPath ); } } node->RemoveChildren(); } } // SetNode // ------------------------------------------------------------------------------------------------- // DoSetArrayItem // -------------- static void DoSetArrayItem ( XMP_Node * arrayNode, XMP_Index itemIndex, XMP_StringPtr itemValue, XMP_OptionBits options ) { XMP_OptionBits itemLoc = options & kXMP_PropArrayLocationMask; XMP_Index arraySize = arrayNode->children.size(); options &= ~kXMP_PropArrayLocationMask; options = VerifySetOptions ( options, itemValue ); // Now locate or create the item node and set the value. Note the index parameter is one-based! // The index can be in the range [0..size+1] or "last", normalize it and check the insert flags. // The order of the normalization checks is important. If the array is empty we end up with an // index and location to set item size+1. XMP_Node * itemNode = 0; if ( itemIndex == kXMP_ArrayLastItem ) itemIndex = arraySize; if ( (itemIndex == 0) && (itemLoc == kXMP_InsertAfterItem) ) { itemIndex = 1; itemLoc = kXMP_InsertBeforeItem; } if ( (itemIndex == arraySize) && (itemLoc == kXMP_InsertAfterItem) ) { itemIndex += 1; itemLoc = 0; } if ( (itemIndex == arraySize+1) && (itemLoc == kXMP_InsertBeforeItem) ) itemLoc = 0; if ( itemIndex == arraySize+1 ) { if ( itemLoc != 0 ) XMP_Throw ( "Can't insert before or after implicit new item", kXMPErr_BadIndex ); itemNode = new XMP_Node ( arrayNode, kXMP_ArrayItemName, 0 ); arrayNode->children.push_back ( itemNode ); } else { if ( (itemIndex < 1) || (itemIndex > arraySize) ) XMP_Throw ( "Array index out of bounds", kXMPErr_BadIndex ); --itemIndex; // ! Convert the index to a C zero-based value! if ( itemLoc == 0 ) { itemNode = arrayNode->children[itemIndex]; } else { XMP_NodePtrPos itemPos = arrayNode->children.begin() + itemIndex; if ( itemLoc == kXMP_InsertAfterItem ) ++itemPos; itemNode = new XMP_Node ( arrayNode, kXMP_ArrayItemName, 0 ); itemPos = arrayNode->children.insert ( itemPos, itemNode ); } } SetNode ( itemNode, itemValue, options ); } // DoSetArrayItem // ------------------------------------------------------------------------------------------------- // ChooseLocalizedText // ------------------- // // 1. Look for an exact match with the specific language. // 2. If a generic language is given, look for partial matches. // 3. Look for an "x-default" item. // 4. Choose the first item. static XMP_CLTMatch ChooseLocalizedText ( const XMP_Node * arrayNode, XMP_StringPtr genericLang, XMP_StringPtr specificLang, const XMP_Node * * itemNode ) { const XMP_Node * currItem = 0; const size_t itemLim = arrayNode->children.size(); size_t itemNum; // See if the array has the right form. Allow empty alt arrays, that is what parsing returns. // *** Should check alt-text bit when that is reliably maintained. if ( ! ( XMP_ArrayIsAltText(arrayNode->options) || (arrayNode->children.empty() && XMP_ArrayIsAlternate(arrayNode->options)) ) ) { XMP_Throw ( "Localized text array is not alt-text", kXMPErr_BadXPath ); } if ( arrayNode->children.empty() ) { *itemNode = 0; return kXMP_CLT_NoValues; } for ( itemNum = 0; itemNum < itemLim; ++itemNum ) { currItem = arrayNode->children[itemNum]; if ( currItem->options & kXMP_PropCompositeMask ) { XMP_Throw ( "Alt-text array item is not simple", kXMPErr_BadXPath ); } if ( currItem->qualifiers.empty() || (currItem->qualifiers[0]->name != "xml:lang") ) { XMP_Throw ( "Alt-text array item has no language qualifier", kXMPErr_BadXPath ); } } // Look for an exact match with the specific language. for ( itemNum = 0; itemNum < itemLim; ++itemNum ) { currItem = arrayNode->children[itemNum]; if ( currItem->qualifiers[0]->value == specificLang ) { *itemNode = currItem; return kXMP_CLT_SpecificMatch; } } if ( *genericLang != 0 ) { // Look for the first partial match with the generic language. const size_t genericLen = strlen ( genericLang ); for ( itemNum = 0; itemNum < itemLim; ++itemNum ) { currItem = arrayNode->children[itemNum]; XMP_StringPtr currLang = currItem->qualifiers[0]->value.c_str(); const size_t currLangSize = currItem->qualifiers[0]->value.size(); if ( (currLangSize >= genericLen) && XMP_LitNMatch ( currLang, genericLang, genericLen ) && ((currLangSize == genericLen) || (currLang[genericLen] == '-')) ) { *itemNode = currItem; break; // ! Don't return, need to look for other matches. } } if ( itemNum < itemLim ) { // Look for a second partial match with the generic language. for ( ++itemNum; itemNum < itemLim; ++itemNum ) { currItem = arrayNode->children[itemNum]; XMP_StringPtr currLang = currItem->qualifiers[0]->value.c_str(); const size_t currLangSize = currItem->qualifiers[0]->value.size(); if ( (currLangSize >= genericLen) && XMP_LitNMatch ( currLang, genericLang, genericLen ) && ((currLangSize == genericLen) || (currLang[genericLen] == '-')) ) { return kXMP_CLT_MultipleGeneric; // ! Leave itemNode with the first partial match. } } return kXMP_CLT_SingleGeneric; // No second partial match was found. } } // Look for an 'x-default' item. for ( itemNum = 0; itemNum < itemLim; ++itemNum ) { currItem = arrayNode->children[itemNum]; if ( currItem->qualifiers[0]->value == "x-default" ) { *itemNode = currItem; return kXMP_CLT_XDefault; } } // Everything failed, choose the first item. *itemNode = arrayNode->children[0]; return kXMP_CLT_FirstItem; } // ChooseLocalizedText // ------------------------------------------------------------------------------------------------- // AppendLangItem // -------------- static void AppendLangItem ( XMP_Node * arrayNode, XMP_StringPtr itemLang, XMP_StringPtr itemValue ) { XMP_Node * newItem = new XMP_Node ( arrayNode, kXMP_ArrayItemName, itemValue, (kXMP_PropHasQualifiers | kXMP_PropHasLang) ); XMP_Node * langQual = new XMP_Node ( newItem, "xml:lang", itemLang, kXMP_PropIsQualifier ); newItem->qualifiers.push_back ( langQual ); if ( (arrayNode->children.empty()) || (langQual->value != "x-default") ) { arrayNode->children.push_back ( newItem ); } else { arrayNode->children.insert ( arrayNode->children.begin(), newItem ); } } // AppendLangItem // ================================================================================================= // Class Methods // ============= // // // ================================================================================================= // ------------------------------------------------------------------------------------------------- // GetProperty // ----------- bool XMPMeta::GetProperty ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr * propValue, XMP_StringLen * valueSize, XMP_OptionBits * options ) const { XMP_Assert ( (schemaNS != 0) && (propName != 0) ); // Enforced by wrapper. XMP_Assert ( (propValue != 0) && (valueSize != 0) && (options != 0) ); // Enforced by wrapper. XMP_ExpandedXPath expPath; ExpandXPath ( schemaNS, propName, &expPath ); XMP_Node * propNode = FindConstNode ( &tree, expPath ); if ( propNode == 0 ) return false; *propValue = propNode->value.c_str(); *valueSize = propNode->value.size(); *options = propNode->options; return true; } // GetProperty // ------------------------------------------------------------------------------------------------- // GetArrayItem // ------------ bool XMPMeta::GetArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr * itemValue, XMP_StringLen * valueSize, XMP_OptionBits * options ) const { XMP_Assert ( (schemaNS != 0) && (arrayName != 0) ); // Enforced by wrapper. XMP_Assert ( (itemValue != 0) && (valueSize != 0) && (options != 0) ); // Enforced by wrapper. XMP_StringPtr itemPath; XMP_StringLen pathLen; XMPUtils::ComposeArrayItemPath ( schemaNS, arrayName, itemIndex, &itemPath, &pathLen ); return GetProperty ( schemaNS, itemPath, itemValue, valueSize, options ); } // GetArrayItem // ------------------------------------------------------------------------------------------------- // GetStructField // -------------- bool XMPMeta::GetStructField ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr * fieldValue, XMP_StringLen * valueSize, XMP_OptionBits * options ) const { XMP_Assert ( (schemaNS != 0) && (structName != 0) && (fieldNS != 0) && (fieldName != 0) ); // Enforced by wrapper. XMP_Assert ( (fieldValue != 0) && (valueSize != 0) && (options != 0) ); // Enforced by wrapper. XMP_StringPtr fieldPath; XMP_StringLen pathLen; XMPUtils::ComposeStructFieldPath ( schemaNS, structName, fieldNS, fieldName, &fieldPath, &pathLen ); return GetProperty ( schemaNS, fieldPath, fieldValue, valueSize, options ); } // GetStructField // ------------------------------------------------------------------------------------------------- // GetQualifier // ------------ bool XMPMeta::GetQualifier ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr * qualValue, XMP_StringLen * valueSize, XMP_OptionBits * options ) const { XMP_Assert ( (schemaNS != 0) && (propName != 0) && (qualNS != 0) && (qualName != 0) ); // Enforced by wrapper. XMP_Assert ( (qualValue != 0) && (valueSize != 0) && (options != 0) ); // Enforced by wrapper. XMP_StringPtr qualPath; XMP_StringLen pathLen; XMPUtils::ComposeQualifierPath ( schemaNS, propName, qualNS, qualName, &qualPath, &pathLen ); return GetProperty ( schemaNS, qualPath, qualValue, valueSize, options ); } // GetQualifier // ------------------------------------------------------------------------------------------------- // SetProperty // ----------- // *** Should handle array items specially, calling SetArrayItem. void XMPMeta::SetProperty ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr propValue, XMP_OptionBits options ) { XMP_Assert ( (schemaNS != 0) && (propName != 0) ); // Enforced by wrapper. options = VerifySetOptions ( options, propValue ); XMP_ExpandedXPath expPath; ExpandXPath ( schemaNS, propName, &expPath ); XMP_Node * propNode = FindNode ( &tree, expPath, kXMP_CreateNodes, options ); if ( propNode == 0 ) XMP_Throw ( "Specified property does not exist", kXMPErr_BadXPath ); SetNode ( propNode, propValue, options ); } // SetProperty // ------------------------------------------------------------------------------------------------- // SetArrayItem // ------------ void XMPMeta::SetArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr itemValue, XMP_OptionBits options ) { XMP_Assert ( (schemaNS != 0) && (arrayName != 0) ); // Enforced by wrapper. XMP_ExpandedXPath arrayPath; ExpandXPath ( schemaNS, arrayName, &arrayPath ); XMP_Node * arrayNode = FindNode ( &tree, arrayPath, kXMP_ExistingOnly ); // Just lookup, don't try to create. if ( arrayNode == 0 ) XMP_Throw ( "Specified array does not exist", kXMPErr_BadXPath ); DoSetArrayItem ( arrayNode, itemIndex, itemValue, options ); } // SetArrayItem // ------------------------------------------------------------------------------------------------- // AppendArrayItem // --------------- void XMPMeta::AppendArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, XMP_StringPtr itemValue, XMP_OptionBits options ) { XMP_Assert ( (schemaNS != 0) && (arrayName != 0) ); // Enforced by wrapper. arrayOptions = VerifySetOptions ( arrayOptions, 0 ); if ( (arrayOptions & ~kXMP_PropArrayFormMask) != 0 ) { XMP_Throw ( "Only array form flags allowed for arrayOptions", kXMPErr_BadOptions ); } // Locate or create the array. If it already exists, make sure the array form from the options // parameter is compatible with the current state. XMP_ExpandedXPath arrayPath; ExpandXPath ( schemaNS, arrayName, &arrayPath ); XMP_Node * arrayNode = FindNode ( &tree, arrayPath, kXMP_ExistingOnly ); // Just lookup, don't try to create. if ( arrayNode != 0 ) { // The array exists, make sure the form is compatible. Zero arrayForm means take what exists. if ( ! (arrayNode->options & kXMP_PropValueIsArray) ) { XMP_Throw ( "The named property is not an array", kXMPErr_BadXPath ); } #if 0 // *** Disable for now. Need to do some general rethinking of semantic checks. if ( (arrayOptions != 0) && (arrayOptions != (arrayNode->options & kXMP_PropArrayFormMask)) ) { XMP_Throw ( "Mismatch of existing and specified array form", kXMPErr_BadOptions ); } #endif } else { // The array does not exist, try to create it. if ( arrayOptions == 0 ) XMP_Throw ( "Explicit arrayOptions required to create new array", kXMPErr_BadOptions ); arrayNode = FindNode ( &tree, arrayPath, kXMP_CreateNodes, arrayOptions ); if ( arrayNode == 0 ) XMP_Throw ( "Failure creating array node", kXMPErr_BadXPath ); } DoSetArrayItem ( arrayNode, kXMP_ArrayLastItem, itemValue, (options | kXMP_InsertAfterItem) ); } // AppendArrayItem // ------------------------------------------------------------------------------------------------- // SetStructField // -------------- void XMPMeta::SetStructField ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, XMP_OptionBits options ) { XMP_Assert ( (schemaNS != 0) && (structName != 0) && (fieldNS != 0) && (fieldName != 0) ); // Enforced by wrapper. XMP_StringPtr fieldPath; XMP_StringLen pathLen; XMPUtils::ComposeStructFieldPath ( schemaNS, structName, fieldNS, fieldName, &fieldPath, &pathLen ); SetProperty ( schemaNS, fieldPath, fieldValue, options ); } // SetStructField // ------------------------------------------------------------------------------------------------- // SetQualifier // ------------ void XMPMeta::SetQualifier ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr qualValue, XMP_OptionBits options ) { XMP_Assert ( (schemaNS != 0) && (propName != 0) && (qualNS != 0) && (qualName != 0) ); // Enforced by wrapper. XMP_StringPtr qualPath; XMP_StringLen pathLen; XMP_ExpandedXPath expPath; ExpandXPath ( schemaNS, propName, &expPath ); XMP_Node * propNode = FindNode ( &tree, expPath, kXMP_ExistingOnly ); if ( propNode == 0 ) XMP_Throw ( "Specified property does not exist", kXMPErr_BadXPath ); XMPUtils::ComposeQualifierPath ( schemaNS, propName, qualNS, qualName, &qualPath, &pathLen ); SetProperty ( schemaNS, qualPath, qualValue, options ); } // SetQualifier // ------------------------------------------------------------------------------------------------- // DeleteProperty // -------------- void XMPMeta::DeleteProperty ( XMP_StringPtr schemaNS, XMP_StringPtr propName ) { XMP_Assert ( (schemaNS != 0) && (propName != 0) ); // Enforced by wrapper. XMP_ExpandedXPath expPath; ExpandXPath ( schemaNS, propName, &expPath ); XMP_NodePtrPos ptrPos; XMP_Node * propNode = FindNode ( &tree, expPath, kXMP_ExistingOnly, kXMP_NoOptions, &ptrPos ); if ( propNode == 0 ) return; XMP_Node * parentNode = propNode->parent; // Erase the pointer from the parent's vector, then delete the node and all below it. if ( ! (propNode->options & kXMP_PropIsQualifier) ) { parentNode->children.erase ( ptrPos ); DeleteEmptySchema ( parentNode ); } else { if ( propNode->name == "xml:lang" ) { XMP_Assert ( parentNode->options & kXMP_PropHasLang ); // *** &= ~flag would be safer parentNode->options ^= kXMP_PropHasLang; } else if ( propNode->name == "rdf:type" ) { XMP_Assert ( parentNode->options & kXMP_PropHasType ); parentNode->options ^= kXMP_PropHasType; } parentNode->qualifiers.erase ( ptrPos ); XMP_Assert ( parentNode->options & kXMP_PropHasQualifiers ); if ( parentNode->qualifiers.empty() ) parentNode->options ^= kXMP_PropHasQualifiers; } delete propNode; // ! The destructor takes care of the whole subtree. } // DeleteProperty // ------------------------------------------------------------------------------------------------- // DeleteArrayItem // --------------- void XMPMeta::DeleteArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex ) { XMP_Assert ( (schemaNS != 0) && (arrayName != 0) ); // Enforced by wrapper. XMP_StringPtr itemPath; XMP_StringLen pathLen; XMPUtils::ComposeArrayItemPath ( schemaNS, arrayName, itemIndex, &itemPath, &pathLen ); DeleteProperty ( schemaNS, itemPath ); } // DeleteArrayItem // ------------------------------------------------------------------------------------------------- // DeleteStructField // ----------------- void XMPMeta::DeleteStructField ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName ) { XMP_Assert ( (schemaNS != 0) && (structName != 0) && (fieldNS != 0) && (fieldName != 0) ); // Enforced by wrapper. XMP_StringPtr fieldPath; XMP_StringLen pathLen; XMPUtils::ComposeStructFieldPath ( schemaNS, structName, fieldNS, fieldName, &fieldPath, &pathLen ); DeleteProperty ( schemaNS, fieldPath ); } // DeleteStructField // ------------------------------------------------------------------------------------------------- // DeleteQualifier // --------------- void XMPMeta::DeleteQualifier ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName ) { XMP_Assert ( (schemaNS != 0) && (propName != 0) && (qualNS != 0) && (qualName != 0) ); // Enforced by wrapper. XMP_StringPtr qualPath; XMP_StringLen pathLen; XMPUtils::ComposeQualifierPath ( schemaNS, propName, qualNS, qualName, &qualPath, &pathLen ); DeleteProperty ( schemaNS, qualPath ); } // DeleteQualifier // ------------------------------------------------------------------------------------------------- // DoesPropertyExist // ----------------- bool XMPMeta::DoesPropertyExist ( XMP_StringPtr schemaNS, XMP_StringPtr propName ) const { XMP_Assert ( (schemaNS != 0) && (propName != 0) ); // Enforced by wrapper. XMP_ExpandedXPath expPath; ExpandXPath ( schemaNS, propName, &expPath ); XMP_Node * propNode = FindConstNode ( &tree, expPath ); return (propNode != 0); } // DoesPropertyExist // ------------------------------------------------------------------------------------------------- // DoesArrayItemExist // ------------------ bool XMPMeta::DoesArrayItemExist ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex ) const { XMP_Assert ( (schemaNS != 0) && (arrayName != 0) ); // Enforced by wrapper. XMP_StringPtr itemPath; XMP_StringLen pathLen; XMPUtils::ComposeArrayItemPath ( schemaNS, arrayName, itemIndex, &itemPath, &pathLen ); return DoesPropertyExist ( schemaNS, itemPath ); } // DoesArrayItemExist // ------------------------------------------------------------------------------------------------- // DoesStructFieldExist // -------------------- bool XMPMeta::DoesStructFieldExist ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName ) const { XMP_Assert ( (schemaNS != 0) && (structName != 0) && (fieldNS != 0) && (fieldName != 0) ); // Enforced by wrapper. XMP_StringPtr fieldPath; XMP_StringLen pathLen; XMPUtils::ComposeStructFieldPath ( schemaNS, structName, fieldNS, fieldName, &fieldPath, &pathLen ); return DoesPropertyExist ( schemaNS, fieldPath ); } // DoesStructFieldExist // ------------------------------------------------------------------------------------------------- // DoesQualifierExist // ------------------ bool XMPMeta::DoesQualifierExist ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName ) const { XMP_Assert ( (schemaNS != 0) && (propName != 0) && (qualNS != 0) && (qualName != 0) ); // Enforced by wrapper. XMP_StringPtr qualPath; XMP_StringLen pathLen; XMPUtils::ComposeQualifierPath ( schemaNS, propName, qualNS, qualName, &qualPath, &pathLen ); return DoesPropertyExist ( schemaNS, qualPath ); } // DoesQualifierExist // ------------------------------------------------------------------------------------------------- // GetLocalizedText // ---------------- bool XMPMeta::GetLocalizedText ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr _genericLang, XMP_StringPtr _specificLang, XMP_StringPtr * actualLang, XMP_StringLen * langSize, XMP_StringPtr * itemValue, XMP_StringLen * valueSize, XMP_OptionBits * options ) const { XMP_Assert ( (schemaNS != 0) && (arrayName != 0) && (_genericLang != 0) && (_specificLang != 0) ); // Enforced by wrapper. XMP_Assert ( (actualLang != 0) && (langSize != 0) ); // Enforced by wrapper. XMP_Assert ( (itemValue != 0) && (valueSize != 0) && (options != 0) ); // Enforced by wrapper. XMP_VarString zGenericLang ( _genericLang ); XMP_VarString zSpecificLang ( _specificLang ); NormalizeLangValue ( &zGenericLang ); NormalizeLangValue ( &zSpecificLang ); XMP_StringPtr genericLang = zGenericLang.c_str(); XMP_StringPtr specificLang = zSpecificLang.c_str(); XMP_ExpandedXPath arrayPath; ExpandXPath ( schemaNS, arrayName, &arrayPath ); const XMP_Node * arrayNode = FindConstNode ( &tree, arrayPath ); // *** This expand/find idiom is used in 3 Getters. if ( arrayNode == 0 ) return false; // *** Should extract it into a local utility. XMP_CLTMatch match; const XMP_Node * itemNode; match = ChooseLocalizedText ( arrayNode, genericLang, specificLang, &itemNode ); if ( match == kXMP_CLT_NoValues ) return false; *actualLang = itemNode->qualifiers[0]->value.c_str(); *langSize = itemNode->qualifiers[0]->value.size(); *itemValue = itemNode->value.c_str(); *valueSize = itemNode->value.size(); *options = itemNode->options; return true; } // GetLocalizedText // ------------------------------------------------------------------------------------------------- // SetLocalizedText // ---------------- void XMPMeta::SetLocalizedText ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr _genericLang, XMP_StringPtr _specificLang, XMP_StringPtr itemValue, XMP_OptionBits options ) { UNUSED(options); // Avoid unused parameter warning. XMP_Assert ( (schemaNS != 0) && (arrayName != 0) && (_genericLang != 0) && (_specificLang != 0) ); // Enforced by wrapper. XMP_VarString zGenericLang ( _genericLang ); XMP_VarString zSpecificLang ( _specificLang ); NormalizeLangValue ( &zGenericLang ); NormalizeLangValue ( &zSpecificLang ); XMP_StringPtr genericLang = zGenericLang.c_str(); XMP_StringPtr specificLang = zSpecificLang.c_str(); XMP_ExpandedXPath arrayPath; ExpandXPath ( schemaNS, arrayName, &arrayPath ); // Find the array node and set the options if it was just created. XMP_Node * arrayNode = FindNode ( &tree, arrayPath, kXMP_CreateNodes, (kXMP_PropValueIsArray | kXMP_PropArrayIsOrdered | kXMP_PropArrayIsAlternate) ); if ( arrayNode == 0 ) XMP_Throw ( "Failed to find or create array node", kXMPErr_BadXPath ); if ( ! XMP_ArrayIsAltText(arrayNode->options) ) { if ( arrayNode->children.empty() && XMP_ArrayIsAlternate(arrayNode->options) ) { arrayNode->options |= kXMP_PropArrayIsAltText; } else { XMP_Throw ( "Localized text array is not alt-text", kXMPErr_BadXPath ); } } // Make sure the x-default item, if any, is first. size_t itemNum, itemLim; XMP_Node * xdItem = 0; bool haveXDefault = false; for ( itemNum = 0, itemLim = arrayNode->children.size(); itemNum < itemLim; ++itemNum ) { XMP_Node * currItem = arrayNode->children[itemNum]; XMP_Assert ( XMP_PropHasLang(currItem->options) ); if ( currItem->qualifiers.empty() || (currItem->qualifiers[0]->name != "xml:lang") ) { XMP_Throw ( "Language qualifier must be first", kXMPErr_BadXPath ); } if ( currItem->qualifiers[0]->value == "x-default" ) { xdItem = currItem; haveXDefault = true; break; } } if ( haveXDefault && (itemNum != 0) ) { XMP_Assert ( arrayNode->children[itemNum]->qualifiers[0]->value == "x-default" ); XMP_Node * temp = arrayNode->children[0]; arrayNode->children[0] = arrayNode->children[itemNum]; arrayNode->children[itemNum] = temp; } // Find the appropriate item. ChooseLocalizedText will make sure the array is a language alternative. const XMP_Node * cItemNode; // ! ChooseLocalizedText returns a pointer to a const node. XMP_CLTMatch match = ChooseLocalizedText ( arrayNode, genericLang, specificLang, &cItemNode ); XMP_Node * itemNode = const_cast ( cItemNode ); const bool specificXDefault = XMP_LitMatch ( specificLang, "x-default" ); switch ( match ) { case kXMP_CLT_NoValues : // Create the array items for the specificLang and x-default, with x-default first. AppendLangItem ( arrayNode, "x-default", itemValue ); haveXDefault = true; if ( ! specificXDefault ) AppendLangItem ( arrayNode, specificLang, itemValue ); break; case kXMP_CLT_SpecificMatch : if ( ! specificXDefault ) { // Update the specific item, update x-default if it matches the old value. if ( haveXDefault && (xdItem != itemNode) && (xdItem->value == itemNode->value) ) { SetNodeValue ( xdItem, itemValue ); } SetNodeValue ( itemNode, itemValue ); // ! Do this after the x-default check! } else { // Update all items whose values match the old x-default value. XMP_Assert ( haveXDefault && (xdItem == itemNode) ); for ( itemNum = 0, itemLim = arrayNode->children.size(); itemNum < itemLim; ++itemNum ) { XMP_Node * currItem = arrayNode->children[itemNum]; if ( (currItem == xdItem) || (currItem->value != xdItem->value) ) continue; SetNodeValue ( currItem, itemValue ); } SetNodeValue ( xdItem, itemValue ); // And finally do the x-default item. } break; case kXMP_CLT_SingleGeneric : // Update the generic item, update x-default if it matches the old value. if ( haveXDefault && (xdItem != itemNode) && (xdItem->value == itemNode->value) ) { SetNodeValue ( xdItem, itemValue ); } SetNodeValue ( itemNode, itemValue ); // ! Do this after the x-default check! break; case kXMP_CLT_MultipleGeneric : // Create the specific language, ignore x-default. AppendLangItem ( arrayNode, specificLang, itemValue ); if ( specificXDefault ) haveXDefault = true; break; case kXMP_CLT_XDefault : // Create the specific language, update x-default if it was the only item. if ( arrayNode->children.size() == 1 ) SetNodeValue ( xdItem, itemValue ); AppendLangItem ( arrayNode, specificLang, itemValue ); break; case kXMP_CLT_FirstItem : // Create the specific language, don't add an x-default item. AppendLangItem ( arrayNode, specificLang, itemValue ); if ( specificXDefault ) haveXDefault = true; break; default : XMP_Throw ( "Unexpected result from ChooseLocalizedText", kXMPErr_InternalFailure ); } // Add an x-default at the front if needed. if ( (! haveXDefault) && (arrayNode->children.size() == 1) ) { AppendLangItem ( arrayNode, "x-default", itemValue ); } } // SetLocalizedText // ------------------------------------------------------------------------------------------------- // GetProperty_Bool // ---------------- bool XMPMeta::GetProperty_Bool ( XMP_StringPtr schemaNS, XMP_StringPtr propName, bool * propValue, XMP_OptionBits * options ) const { XMP_Assert ( (schemaNS != 0) && (propName != 0) ); // Enforced by wrapper. XMP_Assert ( (propValue != 0) && (options != 0) ); // Enforced by wrapper. XMP_StringPtr valueStr; XMP_StringLen valueLen; bool found = GetProperty ( schemaNS, propName, &valueStr, &valueLen, options ); if ( found ) { if ( ! XMP_PropIsSimple ( *options ) ) XMP_Throw ( "Property must be simple", kXMPErr_BadXPath ); *propValue = XMPUtils::ConvertToBool ( valueStr ); } return found; } // GetProperty_Bool // ------------------------------------------------------------------------------------------------- // GetProperty_Int // --------------- bool XMPMeta::GetProperty_Int ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int32 * propValue, XMP_OptionBits * options ) const { XMP_Assert ( (schemaNS != 0) && (propName != 0) ); // Enforced by wrapper. XMP_Assert ( (propValue != 0) && (options != 0) ); // Enforced by wrapper. XMP_StringPtr valueStr; XMP_StringLen valueLen; bool found = GetProperty ( schemaNS, propName, &valueStr, &valueLen, options ); if ( found ) { if ( ! XMP_PropIsSimple ( *options ) ) XMP_Throw ( "Property must be simple", kXMPErr_BadXPath ); *propValue = XMPUtils::ConvertToInt ( valueStr ); } return found; } // GetProperty_Int // ------------------------------------------------------------------------------------------------- // GetProperty_Int64 // ----------------- bool XMPMeta::GetProperty_Int64 ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int64 * propValue, XMP_OptionBits * options ) const { XMP_Assert ( (schemaNS != 0) && (propName != 0) ); // Enforced by wrapper. XMP_Assert ( (propValue != 0) && (options != 0) ); // Enforced by wrapper. XMP_StringPtr valueStr; XMP_StringLen valueLen; bool found = GetProperty ( schemaNS, propName, &valueStr, &valueLen, options ); if ( found ) { if ( ! XMP_PropIsSimple ( *options ) ) XMP_Throw ( "Property must be simple", kXMPErr_BadXPath ); *propValue = XMPUtils::ConvertToInt64 ( valueStr ); } return found; } // GetProperty_Int64 // ------------------------------------------------------------------------------------------------- // GetProperty_Float // ----------------- bool XMPMeta::GetProperty_Float ( XMP_StringPtr schemaNS, XMP_StringPtr propName, double * propValue, XMP_OptionBits * options ) const { XMP_Assert ( (schemaNS != 0) && (propName != 0) ); // Enforced by wrapper. XMP_Assert ( (propValue != 0) && (options != 0) ); // Enforced by wrapper. XMP_StringPtr valueStr; XMP_StringLen valueLen; bool found = GetProperty ( schemaNS, propName, &valueStr, &valueLen, options ); if ( found ) { if ( ! XMP_PropIsSimple ( *options ) ) XMP_Throw ( "Property must be simple", kXMPErr_BadXPath ); *propValue = XMPUtils::ConvertToFloat ( valueStr ); } return found; } // GetProperty_Float // ------------------------------------------------------------------------------------------------- // GetProperty_Date // ---------------- bool XMPMeta::GetProperty_Date ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_DateTime * propValue, XMP_OptionBits * options ) const { XMP_Assert ( (schemaNS != 0) && (propName != 0) ); // Enforced by wrapper. XMP_Assert ( (propValue != 0) && (options != 0) ); // Enforced by wrapper. XMP_StringPtr valueStr; XMP_StringLen valueLen; bool found = GetProperty ( schemaNS, propName, &valueStr, &valueLen, options ); if ( found ) { if ( ! XMP_PropIsSimple ( *options ) ) XMP_Throw ( "Property must be simple", kXMPErr_BadXPath ); XMPUtils::ConvertToDate ( valueStr, propValue ); } return found; } // GetProperty_Date // ------------------------------------------------------------------------------------------------- // SetProperty_Bool // ---------------- void XMPMeta::SetProperty_Bool ( XMP_StringPtr schemaNS, XMP_StringPtr propName, bool propValue, XMP_OptionBits options ) { XMP_Assert ( (schemaNS != 0) && (propName != 0) ); // Enforced by wrapper. XMP_StringPtr valueStr; XMP_StringLen valueLen; XMPUtils::ConvertFromBool ( propValue, &valueStr, &valueLen ); SetProperty ( schemaNS, propName, valueStr, options ); } // SetProperty_Bool // ------------------------------------------------------------------------------------------------- // SetProperty_Int // --------------- void XMPMeta::SetProperty_Int ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int32 propValue, XMP_OptionBits options ) { XMP_Assert ( (schemaNS != 0) && (propName != 0) ); // Enforced by wrapper. XMP_StringPtr valueStr; XMP_StringLen valueLen; XMPUtils::ConvertFromInt ( propValue, "", &valueStr, &valueLen ); SetProperty ( schemaNS, propName, valueStr, options ); } // SetProperty_Int // ------------------------------------------------------------------------------------------------- // SetProperty_Int64 // ----------------- void XMPMeta::SetProperty_Int64 ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int64 propValue, XMP_OptionBits options ) { XMP_Assert ( (schemaNS != 0) && (propName != 0) ); // Enforced by wrapper. XMP_StringPtr valueStr; XMP_StringLen valueLen; XMPUtils::ConvertFromInt64 ( propValue, "", &valueStr, &valueLen ); SetProperty ( schemaNS, propName, valueStr, options ); } // SetProperty_Int64 // ------------------------------------------------------------------------------------------------- // SetProperty_Float // ----------------- void XMPMeta::SetProperty_Float ( XMP_StringPtr schemaNS, XMP_StringPtr propName, double propValue, XMP_OptionBits options ) { XMP_Assert ( (schemaNS != 0) && (propName != 0) ); // Enforced by wrapper. XMP_StringPtr valueStr; XMP_StringLen valueLen; XMPUtils::ConvertFromFloat ( propValue, "", &valueStr, &valueLen ); SetProperty ( schemaNS, propName, valueStr, options ); } // SetProperty_Float // ------------------------------------------------------------------------------------------------- // SetProperty_Date // ---------------- void XMPMeta::SetProperty_Date ( XMP_StringPtr schemaNS, XMP_StringPtr propName, const XMP_DateTime & propValue, XMP_OptionBits options ) { XMP_Assert ( (schemaNS != 0) && (propName != 0) ); // Enforced by wrapper. XMP_StringPtr valueStr; XMP_StringLen valueLen; XMPUtils::ConvertFromDate ( propValue, &valueStr, &valueLen ); SetProperty ( schemaNS, propName, valueStr, options ); } // SetProperty_Date // ================================================================================================= exiv2-0.25/xmpsdk/src/ParseRDF.cpp0000664000175000017500000012713112467000312016522 0ustar andreasandreas// ================================================================================================= // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" // ! This must be the first include! #include "XMPCore_Impl.hpp" #include "ExpatAdapter.hpp" #include #if DEBUG #include #endif using namespace std; #if XMP_WinBuild # ifdef _MSC_VER #pragma warning ( disable : 4189 ) // local variable is initialized but not referenced #pragma warning ( disable : 4505 ) // unreferenced local function has been removed # endif #endif // ================================================================================================= // *** This might be faster and use less memory as a state machine. A big advantage of building an // *** XML tree though is easy lookahead during the recursive descent processing. // *** It would be nice to give a line number or byte offset in the exception messages. // 7 RDF/XML Grammar (from http://www.w3.org/TR/rdf-syntax-grammar/#section-Infoset-Grammar) // // 7.1 Grammar summary // // 7.2.2 coreSyntaxTerms // rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype // // 7.2.3 syntaxTerms // coreSyntaxTerms | rdf:Description | rdf:li // // 7.2.4 oldTerms // rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID // // 7.2.5 nodeElementURIs // anyURI - ( coreSyntaxTerms | rdf:li | oldTerms ) // // 7.2.6 propertyElementURIs // anyURI - ( coreSyntaxTerms | rdf:Description | oldTerms ) // // 7.2.7 propertyAttributeURIs // anyURI - ( coreSyntaxTerms | rdf:Description | rdf:li | oldTerms ) // // 7.2.8 doc // root ( document-element == RDF, children == list ( RDF ) ) // // 7.2.9 RDF // start-element ( URI == rdf:RDF, attributes == set() ) // nodeElementList // end-element() // // 7.2.10 nodeElementList // ws* ( nodeElement ws* )* // // 7.2.11 nodeElement // start-element ( URI == nodeElementURIs, // attributes == set ( ( idAttr | nodeIdAttr | aboutAttr )?, propertyAttr* ) ) // propertyEltList // end-element() // // 7.2.12 ws // A text event matching white space defined by [XML] definition White Space Rule [3] S in section Common Syntactic Constructs. // // 7.2.13 propertyEltList // ws* ( propertyElt ws* )* // // 7.2.14 propertyElt // resourcePropertyElt | literalPropertyElt | parseTypeLiteralPropertyElt | // parseTypeResourcePropertyElt | parseTypeCollectionPropertyElt | parseTypeOtherPropertyElt | emptyPropertyElt // // 7.2.15 resourcePropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr? ) ) // ws* nodeElement ws* // end-element() // // 7.2.16 literalPropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr?, datatypeAttr?) ) // text() // end-element() // // 7.2.17 parseTypeLiteralPropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr?, parseLiteral ) ) // literal // end-element() // // 7.2.18 parseTypeResourcePropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr?, parseResource ) ) // propertyEltList // end-element() // // 7.2.19 parseTypeCollectionPropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr?, parseCollection ) ) // nodeElementList // end-element() // // 7.2.20 parseTypeOtherPropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr?, parseOther ) ) // propertyEltList // end-element() // // 7.2.21 emptyPropertyElt // start-element ( URI == propertyElementURIs, // attributes == set ( idAttr?, ( resourceAttr | nodeIdAttr )?, propertyAttr* ) ) // end-element() // // 7.2.22 idAttr // attribute ( URI == rdf:ID, string-value == rdf-id ) // // 7.2.23 nodeIdAttr // attribute ( URI == rdf:nodeID, string-value == rdf-id ) // // 7.2.24 aboutAttr // attribute ( URI == rdf:about, string-value == URI-reference ) // // 7.2.25 propertyAttr // attribute ( URI == propertyAttributeURIs, string-value == anyString ) // // 7.2.26 resourceAttr // attribute ( URI == rdf:resource, string-value == URI-reference ) // // 7.2.27 datatypeAttr // attribute ( URI == rdf:datatype, string-value == URI-reference ) // // 7.2.28 parseLiteral // attribute ( URI == rdf:parseType, string-value == "Literal") // // 7.2.29 parseResource // attribute ( URI == rdf:parseType, string-value == "Resource") // // 7.2.30 parseCollection // attribute ( URI == rdf:parseType, string-value == "Collection") // // 7.2.31 parseOther // attribute ( URI == rdf:parseType, string-value == anyString - ("Resource" | "Literal" | "Collection") ) // // 7.2.32 URI-reference // An RDF URI Reference. // // 7.2.33 literal // Any XML element content that is allowed according to [XML] definition Content of Elements Rule [43] content // in section 3.1 Start-Tags, End-Tags, and Empty-Element Tags. // // 7.2.34 rdf-id // An attribute string-value matching any legal [XML-NS] token NCName. // ================================================================================================= // Primary Parsing Functions // ========================= // // Each of these is responsible for recognizing an RDF syntax production and adding the appropriate // structure to the XMP tree. They simply return for success, failures will throw an exception. static void RDF_RDF ( XMP_Node * xmpTree, const XML_Node & xmlNode ); static void RDF_NodeElementList ( XMP_Node * xmpParent, const XML_Node & xmlParent, bool isTopLevel ); static void RDF_NodeElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ); static void RDF_NodeElementAttrs ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ); static void RDF_PropertyElementList ( XMP_Node * xmpParent, const XML_Node & xmlParent, bool isTopLevel ); enum { kIsTopLevel = true, kNotTopLevel = false }; static void RDF_PropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ); static void RDF_ResourcePropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ); static void RDF_LiteralPropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ); static void RDF_ParseTypeLiteralPropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ); static void RDF_ParseTypeResourcePropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ); static void RDF_ParseTypeCollectionPropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ); static void RDF_ParseTypeOtherPropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ); static void RDF_EmptyPropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ); // ================================================================================================= typedef XMP_Uns8 RDFTermKind; // *** Logic might be safer with just masks. enum { kRDFTerm_Other = 0, kRDFTerm_RDF = 1, // Start of coreSyntaxTerms. kRDFTerm_ID = 2, kRDFTerm_about = 3, kRDFTerm_parseType = 4, kRDFTerm_resource = 5, kRDFTerm_nodeID = 6, kRDFTerm_datatype = 7, // End of coreSyntaxTerms. kRDFTerm_Description = 8, // Start of additions for syntaxTerms. kRDFTerm_li = 9, // End of of additions for syntaxTerms. kRDFTerm_aboutEach = 10, // Start of oldTerms. kRDFTerm_aboutEachPrefix = 11, kRDFTerm_bagID = 12, // End of oldTerms. kRDFTerm_FirstCore = kRDFTerm_RDF, kRDFTerm_LastCore = kRDFTerm_datatype, kRDFTerm_FirstSyntax = kRDFTerm_FirstCore, // ! Yes, the syntax terms include the core terms. kRDFTerm_LastSyntax = kRDFTerm_li, kRDFTerm_FirstOld = kRDFTerm_aboutEach, kRDFTerm_LastOld = kRDFTerm_bagID }; enum { kRDFMask_Other = 1 << kRDFTerm_Other, kRDFMask_RDF = 1 << kRDFTerm_RDF, kRDFMask_ID = 1 << kRDFTerm_ID, kRDFMask_about = 1 << kRDFTerm_about, kRDFMask_parseType = 1 << kRDFTerm_parseType, kRDFMask_resource = 1 << kRDFTerm_resource, kRDFMask_nodeID = 1 << kRDFTerm_nodeID, kRDFMask_datatype = 1 << kRDFTerm_datatype, kRDFMask_Description = 1 << kRDFTerm_Description, kRDFMask_li = 1 << kRDFTerm_li, kRDFMask_aboutEach = 1 << kRDFTerm_aboutEach, kRDFMask_aboutEachPrefix = 1 << kRDFTerm_aboutEachPrefix, kRDFMask_bagID = 1 << kRDFTerm_bagID }; enum { kRDF_HasValueElem = 0x10000000UL // ! Contains rdf:value child. Must fit within kXMP_ImplReservedMask! }; // ------------------------------------------------------------------------------------------------- // GetRDFTermKind // -------------- static RDFTermKind GetRDFTermKind ( const XMP_VarString & name ) { RDFTermKind term = kRDFTerm_Other; // Arranged to hopefully minimize the parse time for large XMP. if ( (name.size() > 4) && (strncmp ( name.c_str(), "rdf:", 4 ) == 0) ) { if ( name == "rdf:li" ) { term = kRDFTerm_li; } else if ( name == "rdf:parseType" ) { term = kRDFTerm_parseType; } else if ( name == "rdf:Description" ) { term = kRDFTerm_Description; } else if ( name == "rdf:about" ) { term = kRDFTerm_about; } else if ( name == "rdf:resource" ) { term = kRDFTerm_resource; } else if ( name == "rdf:RDF" ) { term = kRDFTerm_RDF; } else if ( name == "rdf:ID" ) { term = kRDFTerm_ID; } else if ( name == "rdf:nodeID" ) { term = kRDFTerm_nodeID; } else if ( name == "rdf:datatype" ) { term = kRDFTerm_datatype; } else if ( name == "rdf:aboutEach" ) { term = kRDFTerm_aboutEach; } else if ( name == "rdf:aboutEachPrefix" ) { term = kRDFTerm_aboutEachPrefix; } else if ( name == "rdf:bagID" ) { term = kRDFTerm_bagID; } } return term; } // GetRDFTermKind // ================================================================================================= // ------------------------------------------------------------------------------------------------- // IsCoreSyntaxTerm // ---------------- // // 7.2.2 coreSyntaxTerms // rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype static bool IsCoreSyntaxTerm ( RDFTermKind term ) { if ( (kRDFTerm_FirstCore <= term) && (term <= kRDFTerm_LastCore) ) return true; return false; } // IsCoreSyntaxTerm // ------------------------------------------------------------------------------------------------- // IsOldTerm // --------- // // 7.2.4 oldTerms // rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID static bool IsOldTerm ( RDFTermKind term ) { if ( (kRDFTerm_FirstOld <= term) && (term <= kRDFTerm_LastOld) ) return true; return false; } // IsOldTerm // ------------------------------------------------------------------------------------------------- // IsPropertyElementName // --------------------- // // 7.2.6 propertyElementURIs // anyURI - ( coreSyntaxTerms | rdf:Description | oldTerms ) static bool IsPropertyElementName ( RDFTermKind term ) { if ( (term == kRDFTerm_Description) || IsOldTerm ( term ) ) return false; return (! IsCoreSyntaxTerm ( term )); } // IsPropertyElementName // ================================================================================================= // AddChildNode // ============ static XMP_Node * AddChildNode ( XMP_Node * xmpParent, const XML_Node & xmlNode, const XMP_StringPtr value, bool isTopLevel ) { #if 0 cout << "AddChildNode, parent = " << xmpParent->name << ", child = " << xmlNode.name; cout << ", value = \"" << value << '"'; if ( isTopLevel ) cout << ", top level"; cout << endl; #endif if ( xmlNode.ns.empty() ) { XMP_Throw ( "XML namespace required for all elements and attributes", kXMPErr_BadRDF ); } XMP_StringPtr childName = xmlNode.name.c_str(); const bool isArrayItem = (xmlNode.name == "rdf:li"); const bool isValueNode = (xmlNode.name == "rdf:value"); XMP_OptionBits childOptions = 0; if ( isTopLevel ) { // Lookup the schema node, adjust the XMP parent pointer. XMP_Assert ( xmpParent->parent == 0 ); // Incoming parent must be the tree root. XMP_Node * schemaNode = FindSchemaNode ( xmpParent, xmlNode.ns.c_str(), kXMP_CreateNodes ); if ( schemaNode->options & kXMP_NewImplicitNode ) schemaNode->options ^= kXMP_NewImplicitNode; // Clear the implicit node bit. // *** Should use "opt &= ~flag" (no conditional), need runtime check for proper 32 bit code. xmpParent = schemaNode; // If this is an alias set the isAlias flag in the node and the hasAliases flag in the tree. if ( sRegisteredAliasMap->find ( xmlNode.name ) != sRegisteredAliasMap->end() ) { childOptions |= kXMP_PropIsAlias; schemaNode->parent->options |= kXMP_PropHasAliases; } } // Make sure that this is not a duplicate of a named node. if ( ! (isArrayItem | isValueNode) ) { if ( FindChildNode ( xmpParent, childName, kXMP_ExistingOnly ) != 0 ) { XMP_Throw ( "Duplicate property or field node", kXMPErr_BadXMP ); } } // Add the new child to the XMP parent node. XMP_Node * newChild = new XMP_Node ( xmpParent, childName, value, childOptions ); if ( (! isValueNode) || xmpParent->children.empty() ) { xmpParent->children.push_back ( newChild ); } else { xmpParent->children.insert ( xmpParent->children.begin(), newChild ); } if ( isValueNode ) { if ( isTopLevel || (! (xmpParent->options & kXMP_PropValueIsStruct)) ) XMP_Throw ( "Misplaced rdf:value element", kXMPErr_BadRDF ); xmpParent->options |= kRDF_HasValueElem; } if ( isArrayItem ) { if ( ! (xmpParent->options & kXMP_PropValueIsArray) ) XMP_Throw ( "Misplaced rdf:li element", kXMPErr_BadRDF ); newChild->name = kXMP_ArrayItemName; #if 0 // *** XMP_DebugBuild newChild->_namePtr = newChild->name.c_str(); #endif } return newChild; } // AddChildNode // ================================================================================================= // AddQualifierNode // ================ static XMP_Node * AddQualifierNode ( XMP_Node * xmpParent, const XMP_VarString & name, const XMP_VarString & value ) { #if 0 cout << "AddQualifierNode, parent = " << xmpParent->name << ", name = " << name; cout << ", value = \"" << value << '"' << endl; #endif const bool isLang = (name == "xml:lang"); const bool isType = (name == "rdf:type"); XMP_Node * newQual = 0; newQual = new XMP_Node ( xmpParent, name, value, kXMP_PropIsQualifier ); if ( ! (isLang | isType) ) { xmpParent->qualifiers.push_back ( newQual ); } else if ( isLang ) { if ( xmpParent->qualifiers.empty() ) { xmpParent->qualifiers.push_back ( newQual ); } else { xmpParent->qualifiers.insert ( xmpParent->qualifiers.begin(), newQual ); } xmpParent->options |= kXMP_PropHasLang; } else { XMP_Assert ( isType ); if ( xmpParent->qualifiers.empty() ) { xmpParent->qualifiers.push_back ( newQual ); } else { size_t offset = 0; if ( XMP_PropHasLang ( xmpParent->options ) ) offset = 1; xmpParent->qualifiers.insert ( xmpParent->qualifiers.begin()+offset, newQual ); } xmpParent->options |= kXMP_PropHasType; } xmpParent->options |= kXMP_PropHasQualifiers; return newQual; } // AddQualifierNode // ================================================================================================= // AddQualifierNode // ================ static XMP_Node * AddQualifierNode ( XMP_Node * xmpParent, const XML_Node & attr ) { if ( attr.ns.empty() ) { XMP_Throw ( "XML namespace required for all elements and attributes", kXMPErr_BadRDF ); } return AddQualifierNode ( xmpParent, attr.name, attr.value ); } // AddQualifierNode // ================================================================================================= // FixupQualifiedNode // ================== // // The parent is an RDF pseudo-struct containing an rdf:value field. Fix the XMP data model. The // rdf:value node must be the first child, the other children are qualifiers. The form, value, and // children of the rdf:value node are the real ones. The rdf:value node's qualifiers must be added // to the others. static void FixupQualifiedNode ( XMP_Node * xmpParent ) { size_t qualNum, qualLim; size_t childNum, childLim; XMP_Enforce ( (xmpParent->options & kXMP_PropValueIsStruct) && (! xmpParent->children.empty()) ); XMP_Node * valueNode = xmpParent->children[0]; XMP_Enforce ( valueNode->name == "rdf:value" ); xmpParent->qualifiers.reserve ( xmpParent->qualifiers.size() + xmpParent->children.size() + valueNode->qualifiers.size() ); // Move the qualifiers on the value node to the parent. Make sure an xml:lang qualifier stays at // the front. Check for duplicate names between the value node's qualifiers and the parent's // children. The parent's children are about to become qualifiers. Check here, between the // groups. Intra-group duplicates are caught by AddChildNode. qualNum = 0; qualLim = valueNode->qualifiers.size(); if ( valueNode->options & kXMP_PropHasLang ) { if ( xmpParent->options & kXMP_PropHasLang ) XMP_Throw ( "Redundant xml:lang for rdf:value element", kXMPErr_BadXMP ); XMP_Node * langQual = valueNode->qualifiers[0]; XMP_Assert ( langQual->name == "xml:lang" ); langQual->parent = xmpParent; xmpParent->options |= kXMP_PropHasLang; if ( xmpParent->qualifiers.empty() ) { xmpParent->qualifiers.push_back ( langQual ); // *** Should use utilities to add qual & set parent. } else { xmpParent->qualifiers.insert ( xmpParent->qualifiers.begin(), langQual ); } valueNode->qualifiers[0] = 0; // We just moved it to the parent. qualNum = 1; // Start the remaining copy after the xml:lang qualifier. } for ( ; qualNum != qualLim; ++qualNum ) { XMP_Node * currQual = valueNode->qualifiers[qualNum]; if ( FindChildNode ( xmpParent, currQual->name.c_str(), kXMP_ExistingOnly ) != 0 ) { XMP_Throw ( "Duplicate qualifier node", kXMPErr_BadXMP ); } currQual->parent = xmpParent; xmpParent->qualifiers.push_back ( currQual ); valueNode->qualifiers[qualNum] = 0; // We just moved it to the parent. } valueNode->qualifiers.clear(); // ! There should be nothing but null pointers. // Change the parent's other children into qualifiers. This loop starts at 1, child 0 is the // rdf:value node. Put xml:lang at the front, append all others. for ( childNum = 1, childLim = xmpParent->children.size(); childNum != childLim; ++childNum ) { XMP_Node * currQual = xmpParent->children[childNum]; bool isLang = (currQual->name == "xml:lang"); currQual->options |= kXMP_PropIsQualifier; currQual->parent = xmpParent; if ( isLang ) { if ( xmpParent->options & kXMP_PropHasLang ) XMP_Throw ( "Duplicate xml:lang qualifier", kXMPErr_BadXMP ); xmpParent->options |= kXMP_PropHasLang; } else if ( currQual->name == "rdf:type" ) { xmpParent->options |= kXMP_PropHasType; } if ( (! isLang) || xmpParent->qualifiers.empty() ) { xmpParent->qualifiers.push_back ( currQual ); } else { xmpParent->qualifiers.insert ( xmpParent->qualifiers.begin(), currQual ); } xmpParent->children[childNum] = 0; // We just moved it to the qualifers. } if ( ! xmpParent->qualifiers.empty() ) xmpParent->options |= kXMP_PropHasQualifiers; // Move the options and value last, other checks need the parent's original options. Move the // value node's children to be the parent's children. Delete the now useless value node. XMP_Assert ( xmpParent->options & (kXMP_PropValueIsStruct | kRDF_HasValueElem) ); xmpParent->options &= ~ (kXMP_PropValueIsStruct | kRDF_HasValueElem); xmpParent->options |= valueNode->options; xmpParent->value.swap ( valueNode->value ); #if 0 // *** XMP_DebugBuild xmpParent->_valuePtr = xmpParent->value.c_str(); #endif xmpParent->children[0] = 0; // ! Remove the value node itself before the swap. xmpParent->children.swap ( valueNode->children ); for ( size_t childNum = 0, childLim = xmpParent->children.size(); childNum != childLim; ++childNum ) { XMP_Node * currChild = xmpParent->children[childNum]; currChild->parent = xmpParent; } delete valueNode; } // FixupQualifiedNode // ================================================================================================= // ProcessRDF // ========== // // Parse the XML tree of the RDF and build the corresponding XMP tree. // *** Throw an exception if no XMP is found? By option? // *** Do parsing exceptions cause the partial tree to be deleted? void ProcessRDF ( XMP_Node * xmpTree, const XML_Node & rdfNode, XMP_OptionBits options ) { IgnoreParam(options); RDF_RDF ( xmpTree, rdfNode ); } // ProcessRDF // ================================================================================================= // RDF_RDF // ======= // // 7.2.9 RDF // start-element ( URI == rdf:RDF, attributes == set() ) // nodeElementList // end-element() // // The top level rdf:RDF node. It can only have xmlns attributes, which have already been removed // during construction of the XML tree. static void RDF_RDF ( XMP_Node * xmpTree, const XML_Node & xmlNode ) { if ( ! xmlNode.attrs.empty() ) XMP_Throw ( "Invalid attributes of rdf:RDF element", kXMPErr_BadRDF ); RDF_NodeElementList ( xmpTree, xmlNode, kIsTopLevel ); } // RDF_RDF // ================================================================================================= // RDF_NodeElementList // =================== // // 7.2.10 nodeElementList // ws* ( nodeElement ws* )* static void RDF_NodeElementList ( XMP_Node * xmpParent, const XML_Node & xmlParent, bool isTopLevel ) { XMP_Assert ( isTopLevel ); XML_cNodePos currChild = xmlParent.content.begin(); // *** Change these loops to the indexed pattern. XML_cNodePos endChild = xmlParent.content.end(); for ( ; currChild != endChild; ++currChild ) { if ( (*currChild)->IsWhitespaceNode() ) continue; RDF_NodeElement ( xmpParent, **currChild, isTopLevel ); } } // RDF_NodeElementList // ================================================================================================= // RDF_NodeElement // =============== // // 7.2.5 nodeElementURIs // anyURI - ( coreSyntaxTerms | rdf:li | oldTerms ) // // 7.2.11 nodeElement // start-element ( URI == nodeElementURIs, // attributes == set ( ( idAttr | nodeIdAttr | aboutAttr )?, propertyAttr* ) ) // propertyEltList // end-element() // // A node element URI is rdf:Description or anything else that is not an RDF term. static void RDF_NodeElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ) { RDFTermKind nodeTerm = GetRDFTermKind ( xmlNode.name ); if ( (nodeTerm != kRDFTerm_Description) && (nodeTerm != kRDFTerm_Other) ) { XMP_Throw ( "Node element must be rdf:Description or typedNode", kXMPErr_BadRDF ); } if ( isTopLevel && (nodeTerm == kRDFTerm_Other) ) { XMP_Throw ( "Top level typedNode not allowed", kXMPErr_BadXMP ); } else { RDF_NodeElementAttrs ( xmpParent, xmlNode, isTopLevel ); RDF_PropertyElementList ( xmpParent, xmlNode, isTopLevel ); } } // RDF_NodeElement // ================================================================================================= // RDF_NodeElementAttrs // ==================== // // 7.2.7 propertyAttributeURIs // anyURI - ( coreSyntaxTerms | rdf:Description | rdf:li | oldTerms ) // // 7.2.11 nodeElement // start-element ( URI == nodeElementURIs, // attributes == set ( ( idAttr | nodeIdAttr | aboutAttr )?, propertyAttr* ) ) // propertyEltList // end-element() // // Process the attribute list for an RDF node element. A property attribute URI is anything other // than an RDF term. The rdf:ID and rdf:nodeID attributes are simply ignored, as are rdf:about // attributes on inner nodes. static const XMP_OptionBits kExclusiveAttrMask = (kRDFMask_ID | kRDFMask_nodeID | kRDFMask_about); static void RDF_NodeElementAttrs ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ) { XMP_OptionBits exclusiveAttrs = 0; // Used to detect attributes that are mutually exclusive. XML_cNodePos currAttr = xmlNode.attrs.begin(); XML_cNodePos endAttr = xmlNode.attrs.end(); for ( ; currAttr != endAttr; ++currAttr ) { RDFTermKind attrTerm = GetRDFTermKind ( (*currAttr)->name ); switch ( attrTerm ) { case kRDFTerm_ID : case kRDFTerm_nodeID : case kRDFTerm_about : if ( exclusiveAttrs & kExclusiveAttrMask ) XMP_Throw ( "Mutally exclusive about, ID, nodeID attributes", kXMPErr_BadRDF ); exclusiveAttrs |= (1 << attrTerm); if ( isTopLevel && (attrTerm == kRDFTerm_about) ) { // This is the rdf:about attribute on a top level node. Set the XMP tree name if // it doesn't have a name yet. Make sure this name matches the XMP tree name. XMP_Assert ( xmpParent->parent == 0 ); // Must be the tree root node. if ( xmpParent->name.empty() ) { xmpParent->name = (*currAttr)->value; } else if ( ! (*currAttr)->value.empty() ) { if ( xmpParent->name != (*currAttr)->value ) XMP_Throw ( "Mismatched top level rdf:about values", kXMPErr_BadXMP ); } } break; case kRDFTerm_Other : AddChildNode ( xmpParent, **currAttr, (*currAttr)->value.c_str(), isTopLevel ); break; default : XMP_Throw ( "Invalid nodeElement attribute", kXMPErr_BadRDF ); } } } // RDF_NodeElementAttrs // ================================================================================================= // RDF_PropertyElementList // ======================= // // 7.2.13 propertyEltList // ws* ( propertyElt ws* )* static void RDF_PropertyElementList ( XMP_Node * xmpParent, const XML_Node & xmlParent, bool isTopLevel ) { XML_cNodePos currChild = xmlParent.content.begin(); XML_cNodePos endChild = xmlParent.content.end(); for ( ; currChild != endChild; ++currChild ) { if ( (*currChild)->IsWhitespaceNode() ) continue; if ( (*currChild)->kind != kElemNode ) { XMP_Throw ( "Expected property element node not found", kXMPErr_BadRDF ); } RDF_PropertyElement ( xmpParent, **currChild, isTopLevel ); } } // RDF_PropertyElementList // ================================================================================================= // RDF_PropertyElement // =================== // // 7.2.14 propertyElt // resourcePropertyElt | literalPropertyElt | parseTypeLiteralPropertyElt | // parseTypeResourcePropertyElt | parseTypeCollectionPropertyElt | parseTypeOtherPropertyElt | emptyPropertyElt // // 7.2.15 resourcePropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr? ) ) // ws* nodeElement ws* // end-element() // // 7.2.16 literalPropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr?, datatypeAttr?) ) // text() // end-element() // // 7.2.17 parseTypeLiteralPropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr?, parseLiteral ) ) // literal // end-element() // // 7.2.18 parseTypeResourcePropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr?, parseResource ) ) // propertyEltList // end-element() // // 7.2.19 parseTypeCollectionPropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr?, parseCollection ) ) // nodeElementList // end-element() // // 7.2.20 parseTypeOtherPropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr?, parseOther ) ) // propertyEltList // end-element() // // 7.2.21 emptyPropertyElt // start-element ( URI == propertyElementURIs, // attributes == set ( idAttr?, ( resourceAttr | nodeIdAttr )?, propertyAttr* ) ) // end-element() // // The various property element forms are not distinguished by the XML element name, but by their // attributes for the most part. The exceptions are resourcePropertyElt and literalPropertyElt. They // are distinguished by their XML element content. // // NOTE: The RDF syntax does not explicitly include the xml:lang attribute although it can appear in // many of these. We have to allow for it in the attribute counts below. static void RDF_PropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ) { RDFTermKind nodeTerm = GetRDFTermKind ( xmlNode.name ); if ( ! IsPropertyElementName ( nodeTerm ) ) XMP_Throw ( "Invalid property element name", kXMPErr_BadRDF ); if ( xmlNode.attrs.size() > 3 ) { // Only an emptyPropertyElt can have more than 3 attributes. RDF_EmptyPropertyElement ( xmpParent, xmlNode, isTopLevel ); } else { // Look through the attributes for one that isn't rdf:ID or xml:lang, it will usually tell // what we should be dealing with. The called routines must verify their specific syntax! XML_cNodePos currAttr = xmlNode.attrs.begin(); XML_cNodePos endAttr = xmlNode.attrs.end(); XMP_VarString * attrName = 0; for ( ; currAttr != endAttr; ++currAttr ) { attrName = &((*currAttr)->name); if ( (*attrName != "xml:lang") && (*attrName != "rdf:ID") ) break; } if ( currAttr != endAttr ) { XMP_Assert ( attrName != 0 ); XMP_VarString& attrValue = (*currAttr)->value; if ( *attrName == "rdf:datatype" ) { RDF_LiteralPropertyElement ( xmpParent, xmlNode, isTopLevel ); } else if ( *attrName != "rdf:parseType" ) { RDF_EmptyPropertyElement ( xmpParent, xmlNode, isTopLevel ); } else if ( attrValue == "Literal" ) { RDF_ParseTypeLiteralPropertyElement ( xmpParent, xmlNode, isTopLevel ); } else if ( attrValue == "Resource" ) { RDF_ParseTypeResourcePropertyElement ( xmpParent, xmlNode, isTopLevel ); } else if ( attrValue == "Collection" ) { RDF_ParseTypeCollectionPropertyElement ( xmpParent, xmlNode, isTopLevel ); } else { RDF_ParseTypeOtherPropertyElement ( xmpParent, xmlNode, isTopLevel ); } } else { // Only rdf:ID and xml:lang, could be a resourcePropertyElt, a literalPropertyElt, or an. // emptyPropertyElt. Look at the child XML nodes to decide which. if ( xmlNode.content.empty() ) { RDF_EmptyPropertyElement ( xmpParent, xmlNode, isTopLevel ); } else { XML_cNodePos currChild = xmlNode.content.begin(); XML_cNodePos endChild = xmlNode.content.end(); for ( ; currChild != endChild; ++currChild ) { if ( (*currChild)->kind != kCDataNode ) break; } if ( currChild == endChild ) { RDF_LiteralPropertyElement ( xmpParent, xmlNode, isTopLevel ); } else { RDF_ResourcePropertyElement ( xmpParent, xmlNode, isTopLevel ); } } } } } // RDF_PropertyElement // ================================================================================================= // RDF_ResourcePropertyElement // =========================== // // 7.2.15 resourcePropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr? ) ) // ws* nodeElement ws* // end-element() // // This handles structs using an rdf:Description node, arrays using rdf:Bag/Seq/Alt, and typedNodes. // It also catches and cleans up qualified properties written with rdf:Description and rdf:value. static void RDF_ResourcePropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ) { if ( isTopLevel && (xmlNode.name == "iX:changes") ) return; // Strip old "punchcard" chaff. XMP_Node * newCompound = AddChildNode ( xmpParent, xmlNode, "", isTopLevel ); XML_cNodePos currAttr = xmlNode.attrs.begin(); XML_cNodePos endAttr = xmlNode.attrs.end(); for ( ; currAttr != endAttr; ++currAttr ) { XMP_VarString & attrName = (*currAttr)->name; if ( attrName == "xml:lang" ) { AddQualifierNode ( newCompound, **currAttr ); } else if ( attrName == "rdf:ID" ) { continue; // Ignore all rdf:ID attributes. } else { XMP_Throw ( "Invalid attribute for resource property element", kXMPErr_BadRDF ); } } XML_cNodePos currChild = xmlNode.content.begin(); XML_cNodePos endChild = xmlNode.content.end(); for ( ; currChild != endChild; ++currChild ) { if ( ! (*currChild)->IsWhitespaceNode() ) break; } if ( currChild == endChild ) XMP_Throw ( "Missing child of resource property element", kXMPErr_BadRDF ); if ( (*currChild)->kind != kElemNode ) XMP_Throw ( "Children of resource property element must be XML elements", kXMPErr_BadRDF ); if ( (*currChild)->name == "rdf:Bag" ) { newCompound->options |= kXMP_PropValueIsArray; } else if ( (*currChild)->name == "rdf:Seq" ) { newCompound->options |= kXMP_PropValueIsArray | kXMP_PropArrayIsOrdered; } else if ( (*currChild)->name == "rdf:Alt" ) { newCompound->options |= kXMP_PropValueIsArray | kXMP_PropArrayIsOrdered | kXMP_PropArrayIsAlternate; } else { newCompound->options |= kXMP_PropValueIsStruct; if ( (*currChild)->name != "rdf:Description" ) { XMP_VarString typeName ( (*currChild)->ns ); size_t colonPos = (*currChild)->name.find_first_of(':'); if ( colonPos == XMP_VarString::npos ) XMP_Throw ( "All XML elements must be in a namespace", kXMPErr_BadXMP ); typeName.append ( (*currChild)->name, colonPos, XMP_VarString::npos ); AddQualifierNode ( newCompound, XMP_VarString("rdf:type"), typeName ); } } RDF_NodeElement ( newCompound, **currChild, kNotTopLevel ); if ( newCompound->options & kRDF_HasValueElem ) { FixupQualifiedNode ( newCompound ); } else if ( newCompound->options & kXMP_PropArrayIsAlternate ) { DetectAltText ( newCompound ); } for ( ++currChild; currChild != endChild; ++currChild ) { if ( ! (*currChild)->IsWhitespaceNode() ) XMP_Throw ( "Invalid child of resource property element", kXMPErr_BadRDF ); } } // RDF_ResourcePropertyElement // ================================================================================================= // RDF_LiteralPropertyElement // ========================== // // 7.2.16 literalPropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr?, datatypeAttr?) ) // text() // end-element() // // Add a leaf node with the text value and qualifiers for the attributes. static void RDF_LiteralPropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ) { XMP_Node * newChild = AddChildNode ( xmpParent, xmlNode, "", isTopLevel ); XML_cNodePos currAttr = xmlNode.attrs.begin(); XML_cNodePos endAttr = xmlNode.attrs.end(); for ( ; currAttr != endAttr; ++currAttr ) { XMP_VarString & attrName = (*currAttr)->name; if ( attrName == "xml:lang" ) { AddQualifierNode ( newChild, **currAttr ); } else if ( (attrName == "rdf:ID") || (attrName == "rdf:datatype") ) { continue; // Ignore all rdf:ID and rdf:datatype attributes. } else { XMP_Throw ( "Invalid attribute for literal property element", kXMPErr_BadRDF ); } } XML_cNodePos currChild = xmlNode.content.begin(); XML_cNodePos endChild = xmlNode.content.end(); size_t textSize = 0; for ( ; currChild != endChild; ++currChild ) { if ( (*currChild)->kind != kCDataNode ) XMP_Throw ( "Invalid child of literal property element", kXMPErr_BadRDF ); textSize += (*currChild)->value.size(); } newChild->value.reserve ( textSize ); for ( currChild = xmlNode.content.begin(); currChild != endChild; ++currChild ) { newChild->value += (*currChild)->value; } #if 0 // *** XMP_DebugBuild newChild->_valuePtr = newChild->value.c_str(); #endif } // RDF_LiteralPropertyElement // ================================================================================================= // RDF_ParseTypeLiteralPropertyElement // =================================== // // 7.2.17 parseTypeLiteralPropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr?, parseLiteral ) ) // literal // end-element() static void RDF_ParseTypeLiteralPropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ) { IgnoreParam(xmpParent); IgnoreParam(xmlNode); IgnoreParam(isTopLevel); XMP_Throw ( "ParseTypeLiteral property element not allowed", kXMPErr_BadXMP ); } // RDF_ParseTypeLiteralPropertyElement // ================================================================================================= // RDF_ParseTypeResourcePropertyElement // ==================================== // // 7.2.18 parseTypeResourcePropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr?, parseResource ) ) // propertyEltList // end-element() // // Add a new struct node with a qualifier for the possible rdf:ID attribute. Then process the XML // child nodes to get the struct fields. static void RDF_ParseTypeResourcePropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ) { XMP_Node * newStruct = AddChildNode ( xmpParent, xmlNode, "", isTopLevel ); newStruct->options |= kXMP_PropValueIsStruct; XML_cNodePos currAttr = xmlNode.attrs.begin(); XML_cNodePos endAttr = xmlNode.attrs.end(); for ( ; currAttr != endAttr; ++currAttr ) { XMP_VarString & attrName = (*currAttr)->name; if ( attrName == "rdf:parseType" ) { continue; // ! The caller ensured the value is "Resource". } else if ( attrName == "xml:lang" ) { AddQualifierNode ( newStruct, **currAttr ); } else if ( attrName == "rdf:ID" ) { continue; // Ignore all rdf:ID attributes. } else { XMP_Throw ( "Invalid attribute for ParseTypeResource property element", kXMPErr_BadRDF ); } } RDF_PropertyElementList ( newStruct, xmlNode, kNotTopLevel ); if ( newStruct->options & kRDF_HasValueElem ) FixupQualifiedNode ( newStruct ); // *** Need to look for arrays using rdf:Description and rdf:type. } // RDF_ParseTypeResourcePropertyElement // ================================================================================================= // RDF_ParseTypeCollectionPropertyElement // ====================================== // // 7.2.19 parseTypeCollectionPropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr?, parseCollection ) ) // nodeElementList // end-element() static void RDF_ParseTypeCollectionPropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ) { IgnoreParam(xmpParent); IgnoreParam(xmlNode); IgnoreParam(isTopLevel); XMP_Throw ( "ParseTypeCollection property element not allowed", kXMPErr_BadXMP ); } // RDF_ParseTypeCollectionPropertyElement // ================================================================================================= // RDF_ParseTypeOtherPropertyElement // ================================= // // 7.2.20 parseTypeOtherPropertyElt // start-element ( URI == propertyElementURIs, attributes == set ( idAttr?, parseOther ) ) // propertyEltList // end-element() static void RDF_ParseTypeOtherPropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ) { IgnoreParam(xmpParent); IgnoreParam(xmlNode); IgnoreParam(isTopLevel); XMP_Throw ( "ParseTypeOther property element not allowed", kXMPErr_BadXMP ); } // RDF_ParseTypeOtherPropertyElement // ================================================================================================= // RDF_EmptyPropertyElement // ======================== // // 7.2.21 emptyPropertyElt // start-element ( URI == propertyElementURIs, // attributes == set ( idAttr?, ( resourceAttr | nodeIdAttr )?, propertyAttr* ) ) // end-element() // // // // // // // An emptyPropertyElt is an element with no contained content, just a possibly empty set of // attributes. An emptyPropertyElt can represent three special cases of simple XMP properties: a // simple property with an empty value (ns:Prop1), a simple property whose value is a URI // (ns:Prop2), or a simple property with simple qualifiers (ns:Prop3). An emptyPropertyElt can also // represent an XMP struct whose fields are all simple and unqualified (ns:Prop4). // // It is an error to use both rdf:value and rdf:resource - that can lead to invalid RDF in the // verbose form written using a literalPropertyElt. // // The XMP mapping for an emptyPropertyElt is a bit different from generic RDF, partly for // design reasons and partly for historical reasons. The XMP mapping rules are: // 1. If there is an rdf:value attribute then this is a simple property with a text value. // All other attributes are qualifiers. // 2. If there is an rdf:resource attribute then this is a simple property with a URI value. // All other attributes are qualifiers. // 3. If there are no attributes other than xml:lang, rdf:ID, or rdf:nodeID then this is a simple // property with an empty value. // 4. Otherwise this is a struct, the attributes other than xml:lang, rdf:ID, or rdf:nodeID are fields. static void RDF_EmptyPropertyElement ( XMP_Node * xmpParent, const XML_Node & xmlNode, bool isTopLevel ) { bool hasPropertyAttrs = false; bool hasResourceAttr = false; bool hasNodeIDAttr = false; bool hasValueAttr = false; const XML_Node * valueNode = 0; // ! Can come from rdf:value or rdf:resource. if ( ! xmlNode.content.empty() ) XMP_Throw ( "Nested content not allowed with rdf:resource or property attributes", kXMPErr_BadRDF ); // First figure out what XMP this maps to and remember the XML node for a simple value. XML_cNodePos currAttr = xmlNode.attrs.begin(); XML_cNodePos endAttr = xmlNode.attrs.end(); for ( ; currAttr != endAttr; ++currAttr ) { RDFTermKind attrTerm = GetRDFTermKind ( (*currAttr)->name ); switch ( attrTerm ) { case kRDFTerm_ID : // Nothing to do. break; case kRDFTerm_resource : if ( hasNodeIDAttr ) XMP_Throw ( "Empty property element can't have both rdf:resource and rdf:nodeID", kXMPErr_BadRDF ); if ( hasValueAttr ) XMP_Throw ( "Empty property element can't have both rdf:value and rdf:resource", kXMPErr_BadXMP ); hasResourceAttr = true; if ( ! hasValueAttr ) valueNode = *currAttr; break; case kRDFTerm_nodeID : if ( hasResourceAttr ) XMP_Throw ( "Empty property element can't have both rdf:resource and rdf:nodeID", kXMPErr_BadRDF ); hasNodeIDAttr = true; break; case kRDFTerm_Other : if ( (*currAttr)->name == "rdf:value" ) { if ( hasResourceAttr ) XMP_Throw ( "Empty property element can't have both rdf:value and rdf:resource", kXMPErr_BadXMP ); hasValueAttr = true; valueNode = *currAttr; } else if ( (*currAttr)->name != "xml:lang" ) { hasPropertyAttrs = true; } break; default : XMP_Throw ( "Unrecognized attribute of empty property element", kXMPErr_BadRDF ); break; } } // Create the right kind of child node and visit the attributes again to add the fields or qualifiers. // ! Because of implementation vagaries, the xmpParent is the tree root for top level properties. // ! The schema is found, created if necessary, by AddChildNode. XMP_Node * childNode = AddChildNode ( xmpParent, xmlNode, "", isTopLevel ); bool childIsStruct = false; if ( hasValueAttr | hasResourceAttr ) { childNode->value = valueNode->value; if ( ! hasValueAttr ) childNode->options |= kXMP_PropValueIsURI; // ! Might have both rdf:value and rdf:resource. } else if ( hasPropertyAttrs ) { childNode->options |= kXMP_PropValueIsStruct; childIsStruct = true; } currAttr = xmlNode.attrs.begin(); endAttr = xmlNode.attrs.end(); for ( ; currAttr != endAttr; ++currAttr ) { if ( *currAttr == valueNode ) continue; // Skip the rdf:value or rdf:resource attribute holding the value. RDFTermKind attrTerm = GetRDFTermKind ( (*currAttr)->name ); switch ( attrTerm ) { case kRDFTerm_ID : case kRDFTerm_nodeID : break; // Ignore all rdf:ID and rdf:nodeID attributes.w case kRDFTerm_resource : AddQualifierNode ( childNode, **currAttr ); break; case kRDFTerm_Other : if ( (! childIsStruct) || (*currAttr)->name == "xml:lang" ) { AddQualifierNode ( childNode, **currAttr ); } else { AddChildNode ( childNode, **currAttr, (*currAttr)->value.c_str(), false ); } break; default : XMP_Throw ( "Unrecognized attribute of empty property element", kXMPErr_BadRDF ); break; } } } // RDF_EmptyPropertyElement // ================================================================================================= exiv2-0.25/xmpsdk/src/UnicodeConversions.cpp0000664000175000017500000015737510700232552020751 0ustar andreasandreas// ================================================================================================= // Copyright 2004-2007 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Const.h" #if UnicodeTestBuild #include #include #define UC_Assert assert #define UC_Throw(m,k) throw std::logic_error ( m ) #else #define UC_Assert(cond) /* Nothing for now, should be XMP_Assert. */ #define UC_Throw(msg,id) throw XMP_Error ( id, msg ) #endif #include "UnicodeConversions.hpp" using namespace std; // ================================================================================================= // *** Look into using asm inlines, e.g. count-leading bits for multi-byte UTF-8. CodePoint_to_UTF16_Proc CodePoint_to_UTF16BE = 0; CodePoint_to_UTF16_Proc CodePoint_to_UTF16LE = 0; CodePoint_from_UTF16_Proc CodePoint_from_UTF16BE = 0; CodePoint_from_UTF16_Proc CodePoint_from_UTF16LE = 0; UTF8_to_UTF16_Proc UTF8_to_UTF16BE = 0; UTF8_to_UTF16_Proc UTF8_to_UTF16LE = 0; UTF8_to_UTF32_Proc UTF8_to_UTF32BE = 0; UTF8_to_UTF32_Proc UTF8_to_UTF32LE = 0; UTF16_to_UTF8_Proc UTF16BE_to_UTF8 = 0; UTF16_to_UTF8_Proc UTF16LE_to_UTF8 = 0; UTF32_to_UTF8_Proc UTF32BE_to_UTF8 = 0; UTF32_to_UTF8_Proc UTF32LE_to_UTF8 = 0; UTF8_to_UTF16_Proc UTF8_to_UTF16Native = 0; UTF8_to_UTF32_Proc UTF8_to_UTF32Native = 0; UTF16_to_UTF8_Proc UTF16Native_to_UTF8 = 0; UTF32_to_UTF8_Proc UTF32Native_to_UTF8 = 0; UTF16_to_UTF32_Proc UTF16BE_to_UTF32BE = 0; UTF16_to_UTF32_Proc UTF16BE_to_UTF32LE = 0; UTF16_to_UTF32_Proc UTF16LE_to_UTF32BE = 0; UTF16_to_UTF32_Proc UTF16LE_to_UTF32LE = 0; UTF32_to_UTF16_Proc UTF32BE_to_UTF16BE = 0; UTF32_to_UTF16_Proc UTF32BE_to_UTF16LE = 0; UTF32_to_UTF16_Proc UTF32LE_to_UTF16BE = 0; UTF32_to_UTF16_Proc UTF32LE_to_UTF16LE = 0; // ------------------------------------------------------------------------------------------------- static size_t swap32to16Offset = 0; // Offset to "convert" a swapped UTF32 pointer into a swapped UTF16 pointer. // ------------------------------------------------------------------------------------------------- static void CodePoint_to_UTF16Nat ( const UTF32Unit cpIn, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf16Written ); static void CodePoint_to_UTF16Swp ( const UTF32Unit cpIn, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf16Written ); static void CodePoint_from_UTF16Nat ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * cpOut, size_t * utf16Read ); static void CodePoint_from_UTF16Swp ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * cpOut, size_t * utf16Read ); // ------------------------------------------------------------------------------------------------- static void UTF8_to_UTF16Nat ( const UTF8Unit * utf8In, const size_t utf8Len, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf8Read, size_t * utf16Written ); static void UTF8_to_UTF16Swp ( const UTF8Unit * utf8In, const size_t utf8Len, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf8Read, size_t * utf16Written ); static void UTF8_to_UTF32Nat ( const UTF8Unit * utf8In, const size_t utf8Len, UTF32Unit * utf32Out, const size_t utf32Len, size_t * utf8Read, size_t * utf32Written ); static void UTF8_to_UTF32Swp ( const UTF8Unit * utf8In, const size_t utf8Len, UTF32Unit * utf32Out, const size_t utf32Len, size_t * utf8Read, size_t * utf32Written ); // ------------------------------------------------------------------------------------------------- static void UTF16Nat_to_UTF8 ( const UTF16Unit * utf16In, const size_t utf16Len, UTF8Unit * utf8Out, const size_t utf8Len, size_t * utf16Read, size_t * utf8Written ); static void UTF16Swp_to_UTF8 ( const UTF16Unit * utf16In, const size_t utf16Len, UTF8Unit * utf8Out, const size_t utf8Len, size_t * utf16Read, size_t * utf8Written ); static void UTF32Nat_to_UTF8 ( const UTF32Unit * utf32In, const size_t utf32Len, UTF8Unit * utf8Out, const size_t utf8Len, size_t * utf32Read, size_t * utf8Written ); static void UTF32Swp_to_UTF8 ( const UTF32Unit * utf32In, const size_t utf32Len, UTF8Unit * utf8Out, const size_t utf8Len, size_t * utf32Read, size_t * utf8Written ); // ------------------------------------------------------------------------------------------------- static void UTF16Nat_to_UTF32Nat ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * utf32Out, const size_t utf32Len, size_t * utf16Read, size_t * utf32Written ); static void UTF16Nat_to_UTF32Swp ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * utf32Out, const size_t utf32Len, size_t * utf16Read, size_t * utf32Written ); static void UTF16Swp_to_UTF32Nat ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * utf32Out, const size_t utf32Len, size_t * utf16Read, size_t * utf32Written ); static void UTF16Swp_to_UTF32Swp ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * utf32Out, const size_t utf32Len, size_t * utf16Read, size_t * utf32Written ); // ------------------------------------------------------------------------------------------------- static void UTF32Nat_to_UTF16Nat ( const UTF32Unit * utf32In, const size_t utf32Len, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf32Read, size_t * utf16Written ); static void UTF32Nat_to_UTF16Swp ( const UTF32Unit * utf32In, const size_t utf32Len, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf32Read, size_t * utf16Written ); static void UTF32Swp_to_UTF16Nat ( const UTF32Unit * utf32In, const size_t utf32Len, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf32Read, size_t * utf16Written ); static void UTF32Swp_to_UTF16Swp ( const UTF32Unit * utf32In, const size_t utf32Len, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf32Read, size_t * utf16Written ); // ================================================================================================= void InitializeUnicodeConversions() { UC_Assert ( (sizeof(UTF8Unit) == 1) && (sizeof(UTF16Unit) == 2) && (sizeof(UTF32Unit) == 4) ); UTF16Unit u16 = 0x00FF; bool bigEndian = (*((UTF8Unit*)&u16) == 0); UTF8_to_UTF16Native = UTF8_to_UTF16Nat; UTF8_to_UTF32Native = UTF8_to_UTF32Nat; UTF16Native_to_UTF8 = UTF16Nat_to_UTF8; UTF32Native_to_UTF8 = UTF32Nat_to_UTF8; if ( bigEndian ) { swap32to16Offset = 0; CodePoint_to_UTF16BE = CodePoint_to_UTF16Nat; CodePoint_to_UTF16LE = CodePoint_to_UTF16Swp; CodePoint_from_UTF16BE = CodePoint_from_UTF16Nat; CodePoint_from_UTF16LE = CodePoint_from_UTF16Swp; UTF8_to_UTF16BE = UTF8_to_UTF16Nat; UTF8_to_UTF16LE = UTF8_to_UTF16Swp; UTF8_to_UTF32BE = UTF8_to_UTF32Nat; UTF8_to_UTF32LE = UTF8_to_UTF32Swp; UTF16BE_to_UTF8 = UTF16Nat_to_UTF8; UTF16LE_to_UTF8 = UTF16Swp_to_UTF8; UTF32BE_to_UTF8 = UTF32Nat_to_UTF8; UTF32LE_to_UTF8 = UTF32Swp_to_UTF8; UTF16BE_to_UTF32BE = UTF16Nat_to_UTF32Nat; UTF16BE_to_UTF32LE = UTF16Nat_to_UTF32Swp; UTF16LE_to_UTF32BE = UTF16Swp_to_UTF32Nat; UTF16LE_to_UTF32LE = UTF16Swp_to_UTF32Swp; UTF32BE_to_UTF16BE = UTF32Nat_to_UTF16Nat; UTF32BE_to_UTF16LE = UTF32Nat_to_UTF16Swp; UTF32LE_to_UTF16BE = UTF32Swp_to_UTF16Nat; UTF32LE_to_UTF16LE = UTF32Swp_to_UTF16Swp; } else { swap32to16Offset = 1; // ! Offset in UTF16 units! CodePoint_to_UTF16BE = CodePoint_to_UTF16Swp; CodePoint_to_UTF16LE = CodePoint_to_UTF16Nat; CodePoint_from_UTF16BE = CodePoint_from_UTF16Swp; CodePoint_from_UTF16LE = CodePoint_from_UTF16Nat; UTF8_to_UTF16BE = UTF8_to_UTF16Swp; UTF8_to_UTF16LE = UTF8_to_UTF16Nat; UTF8_to_UTF32BE = UTF8_to_UTF32Swp; UTF8_to_UTF32LE = UTF8_to_UTF32Nat; UTF16BE_to_UTF8 = UTF16Swp_to_UTF8; UTF16LE_to_UTF8 = UTF16Nat_to_UTF8; UTF32BE_to_UTF8 = UTF32Swp_to_UTF8; UTF32LE_to_UTF8 = UTF32Nat_to_UTF8; UTF16BE_to_UTF32BE = UTF16Swp_to_UTF32Swp; UTF16BE_to_UTF32LE = UTF16Swp_to_UTF32Nat; UTF16LE_to_UTF32BE = UTF16Nat_to_UTF32Swp; UTF16LE_to_UTF32LE = UTF16Nat_to_UTF32Nat; UTF32BE_to_UTF16BE = UTF32Swp_to_UTF16Swp; UTF32BE_to_UTF16LE = UTF32Swp_to_UTF16Nat; UTF32LE_to_UTF16BE = UTF32Nat_to_UTF16Swp; UTF32LE_to_UTF16LE = UTF32Nat_to_UTF16Nat; } } // InitializeUnicodeConversions // ================================================================================================= #if XMP_MacBuild && __MWERKS__ #define UTF16InSwap(inPtr) UTF16Unit ( __lhbrx ( (void*)(inPtr), 0 ) ) #define UTF32InSwap(inPtr) UTF32Unit ( __lwbrx ( (void*)(inPtr), 0 ) ) #define UTF16OutSwap(outPtr,value) __sthbrx ( value, (void*)(outPtr), 0 ) #define UTF32OutSwap(outPtr,value) __stwbrx ( value, (void*)(outPtr), 0 ) #else static inline UTF16Unit UTF16InSwap ( const UTF16Unit * inPtr ) { UTF16Unit inUnit = *inPtr; return (inUnit << 8) | (inUnit >> 8); } static inline UTF32Unit UTF32InSwap ( const UTF32Unit * inPtr ) { UTF32Unit inUnit = *inPtr; return (inUnit << 24) | ((inUnit << 8) & 0x00FF0000) | ((inUnit >> 8) & 0x0000FF00) | (inUnit >> 24); } static inline void UTF16OutSwap ( UTF16Unit * outPtr, const UTF16Unit value ) { UTF16Unit outUnit = (value << 8) | (value >> 8); *outPtr = outUnit; } static inline void UTF32OutSwap ( UTF32Unit * outPtr, const UTF32Unit value ) { UTF32Unit outUnit = (value << 24) | ((value << 8) & 0x00FF0000) | ((value >> 8) & 0x0000FF00) | (value >> 24); *outPtr = outUnit; } #endif // ================================================================================================= void SwapUTF16 ( const UTF16Unit * utf16In, UTF16Unit * utf16Out, const size_t utf16Len ) { for ( size_t i = 0; i < utf16Len; ++i ) utf16Out[i] = UTF16InSwap(utf16In+i); } void SwapUTF32 ( const UTF32Unit * utf32In, UTF32Unit * utf32Out, const size_t utf32Len ) { for ( size_t i = 0; i < utf32Len; ++i ) utf32Out[i] = UTF32InSwap(utf32In+i); } // ================================================================================================= extern void ToUTF16 ( const UTF8Unit * utf8In, size_t utf8Len, std::string * utf16Str, bool bigEndian ) { UTF8_to_UTF16_Proc Converter = UTF8_to_UTF16LE; if ( bigEndian ) Converter = UTF8_to_UTF16BE; enum { kBufferSize = 8*1024 }; UTF16Unit u16Buffer[kBufferSize]; // 16K bytes size_t readCount, writeCount; utf16Str->erase(); utf16Str->reserve ( 2*utf8Len ); // As good a guess as any. while ( utf8Len > 0 ) { Converter ( utf8In, utf8Len, u16Buffer, kBufferSize, &readCount, &writeCount ); if ( writeCount == 0 ) UC_Throw ( "Incomplete Unicode at end of string", kXMPErr_BadXML ); utf16Str->append ( (const char *)u16Buffer, writeCount*2 ); utf8In += readCount; utf8Len -= readCount; } } // ToUTF16 // ================================================================================================= extern void ToUTF16Native ( const UTF8Unit * utf8In, size_t utf8Len, std::string * utf16Str ) { enum { kBufferSize = 8*1024 }; UTF16Unit u16Buffer[kBufferSize]; // 16K bytes size_t readCount, writeCount; utf16Str->erase(); utf16Str->reserve ( 2*utf8Len ); // As good a guess as any. while ( utf8Len > 0 ) { UTF8_to_UTF16Nat ( utf8In, utf8Len, u16Buffer, kBufferSize, &readCount, &writeCount ); if ( writeCount == 0 ) UC_Throw ( "Incomplete Unicode at end of string", kXMPErr_BadXML ); utf16Str->append ( (const char *)u16Buffer, writeCount*2 ); utf8In += readCount; utf8Len -= readCount; } } // ToUTF16Native // ================================================================================================= extern void ToUTF32 ( const UTF8Unit * utf8In, size_t utf8Len, std::string * utf32Str, bool bigEndian ) { UTF8_to_UTF32_Proc Converter = UTF8_to_UTF32LE; if ( bigEndian ) Converter = UTF8_to_UTF32BE; enum { kBufferSize = 4*1024 }; UTF32Unit u32Buffer[kBufferSize]; // 16K bytes size_t readCount, writeCount; utf32Str->erase(); utf32Str->reserve ( 4*utf8Len ); // As good a guess as any. while ( utf8Len > 0 ) { Converter ( utf8In, utf8Len, u32Buffer, kBufferSize, &readCount, &writeCount ); if ( writeCount == 0 ) UC_Throw ( "Incomplete Unicode at end of string", kXMPErr_BadXML ); utf32Str->append ( (const char *)u32Buffer, writeCount*4 ); utf8In += readCount; utf8Len -= readCount; } } // ToUTF32 // ================================================================================================= extern void ToUTF32Native ( const UTF8Unit * utf8In, size_t utf8Len, std::string * utf32Str ) { enum { kBufferSize = 4*1024 }; UTF32Unit u32Buffer[kBufferSize]; // 16K bytes size_t readCount, writeCount; utf32Str->erase(); utf32Str->reserve ( 4*utf8Len ); // As good a guess as any. while ( utf8Len > 0 ) { UTF8_to_UTF32Nat ( utf8In, utf8Len, u32Buffer, kBufferSize, &readCount, &writeCount ); if ( writeCount == 0 ) UC_Throw ( "Incomplete Unicode at end of string", kXMPErr_BadXML ); utf32Str->append ( (const char *)u32Buffer, writeCount*4 ); utf8In += readCount; utf8Len -= readCount; } } // ToUTF32Native // ================================================================================================= extern void FromUTF16 ( const UTF16Unit * utf16In, size_t utf16Len, std::string * utf8Str, bool bigEndian ) { UTF16_to_UTF8_Proc Converter = UTF16LE_to_UTF8; if ( bigEndian ) Converter = UTF16BE_to_UTF8; enum { kBufferSize = 16*1024 }; UTF8Unit u8Buffer[kBufferSize]; size_t readCount, writeCount; utf8Str->erase(); utf8Str->reserve ( 2*utf16Len ); // As good a guess as any. while ( utf16Len > 0 ) { Converter ( utf16In, utf16Len, u8Buffer, kBufferSize, &readCount, &writeCount ); if ( writeCount == 0 ) UC_Throw ( "Incomplete Unicode at end of string", kXMPErr_BadXML ); utf8Str->append ( (const char *)u8Buffer, writeCount ); utf16In += readCount; utf16Len -= readCount; } } // FromUTF16 // ================================================================================================= extern void FromUTF16Native ( const UTF16Unit * utf16In, size_t utf16Len, std::string * utf8Str ) { enum { kBufferSize = 16*1024 }; UTF8Unit u8Buffer[kBufferSize]; size_t readCount, writeCount; utf8Str->erase(); utf8Str->reserve ( 2*utf16Len ); // As good a guess as any. while ( utf16Len > 0 ) { UTF16Nat_to_UTF8 ( utf16In, utf16Len, u8Buffer, kBufferSize, &readCount, &writeCount ); if ( writeCount == 0 ) UC_Throw ( "Incomplete Unicode at end of string", kXMPErr_BadXML ); utf8Str->append ( (const char *)u8Buffer, writeCount ); utf16In += readCount; utf16Len -= readCount; } } // FromUTF16Native // ================================================================================================= extern void FromUTF32 ( const UTF32Unit * utf32In, size_t utf32Len, std::string * utf8Str, bool bigEndian ) { UTF32_to_UTF8_Proc Converter = UTF32LE_to_UTF8; if ( bigEndian ) Converter = UTF32BE_to_UTF8; enum { kBufferSize = 16*1024 }; UTF8Unit u8Buffer[kBufferSize]; size_t readCount, writeCount; utf8Str->erase(); utf8Str->reserve ( 2*utf32Len ); // As good a guess as any. while ( utf32Len > 0 ) { Converter ( utf32In, utf32Len, u8Buffer, kBufferSize, &readCount, &writeCount ); if ( writeCount == 0 ) UC_Throw ( "Incomplete Unicode at end of string", kXMPErr_BadXML ); utf8Str->append ( (const char *)u8Buffer, writeCount ); utf32In += readCount; utf32Len -= readCount; } } // FromUTF32 // ================================================================================================= extern void FromUTF32Native ( const UTF32Unit * utf32In, size_t utf32Len, std::string * utf8Str ) { enum { kBufferSize = 16*1024 }; UTF8Unit u8Buffer[kBufferSize]; size_t readCount, writeCount; utf8Str->erase(); utf8Str->reserve ( 2*utf32Len ); // As good a guess as any. while ( utf32Len > 0 ) { UTF32Nat_to_UTF8 ( utf32In, utf32Len, u8Buffer, kBufferSize, &readCount, &writeCount ); if ( writeCount == 0 ) UC_Throw ( "Incomplete Unicode at end of string", kXMPErr_BadXML ); utf8Str->append ( (const char *)u8Buffer, writeCount ); utf32In += readCount; utf32Len -= readCount; } } // FromUTF32Native // ================================================================================================= static void CodePoint_to_UTF8_Multi ( const UTF32Unit cpIn, UTF8Unit * utf8Out, const size_t utf8Len, size_t * utf8Written ) { size_t unitCount = 0; if ( cpIn > 0x10FFFF ) UC_Throw ( "Bad UTF-32 - out of range", kXMPErr_BadParam ); if ( (0xD800 <= cpIn) && (cpIn <= 0xDFFF) ) UC_Throw ( "Bad UTF-32 - surrogate code point", kXMPErr_BadParam ); // Compute the number of bytes using 6 data bits each. Then see if the highest order bits will // fit into the leading byte. Write the UTF-8 sequence if there is enough room. UTF32Unit temp, mask; size_t bytesNeeded = 0; for ( temp = cpIn; temp != 0; temp = temp >> 6 ) ++bytesNeeded; temp = cpIn >> ((bytesNeeded-1)*6); // The highest order data bits. mask = (0x80 >> bytesNeeded) - 1; // Available data bits in the leading byte. if ( temp > mask ) ++bytesNeeded; if ( bytesNeeded > utf8Len ) goto Done; // Not enough room for the output. unitCount = bytesNeeded; temp = cpIn; for ( --bytesNeeded; bytesNeeded > 0; --bytesNeeded ) { utf8Out[bytesNeeded] = 0x80 | UTF8Unit ( temp & 0x3F ); temp = temp >> 6; } mask = ~((1 << (8-unitCount)) - 1); utf8Out[0] = UTF8Unit ( mask | temp ); Done: *utf8Written = unitCount; return; } // CodePoint_to_UTF8_Multi // ================================================================================================= void CodePoint_to_UTF8 ( const UTF32Unit cpIn, UTF8Unit * utf8Out, const size_t utf8Len, size_t * utf8Written ) { size_t unitCount = 0; UC_Assert ( (utf8Out != 0) && (utf8Written != 0) ); if ( utf8Len == 0 ) goto Done; if ( cpIn > 0x7F ) goto MultiByte; // ! Force linear execution path for ASCII. if ( utf8Len == 0 ) goto Done; unitCount = 1; *utf8Out = UTF8Unit(cpIn); Done: *utf8Written = unitCount; return; MultiByte: CodePoint_to_UTF8_Multi( cpIn, utf8Out, utf8Len, utf8Written ); return; } // CodePoint_to_UTF8 // ================================================================================================= static void CodePoint_from_UTF8_Multi ( const UTF8Unit * utf8In, const size_t utf8Len, UTF32Unit * cpOut, size_t * utf8Read ) { UTF8Unit inUnit = *utf8In; size_t unitCount = 0; UTF32Unit cp; // ! Avoid gcc complaints about declarations after goto's. const UTF8Unit * utf8Pos; // ------------------------------------------------------------------------------------- // We've got a multibyte UTF-8 character. The first byte has the number of bytes and the // highest order data bits. The other bytes each add 6 more data bits. #if 0 // This might be a more effcient way to count the bytes. static XMP_Uns8 kByteCounts[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 2, 2, 3, 4 }; size_t bytesNeeded = kByteCounts [ inUnit >> 4 ]; if ( (bytesNeeded < 2) || ((bytesNeeded == 4) && ((inUnit & 0x08) != 0)) ) { UC_Throw ( "Invalid UTF-8 sequence length", kXMPErr_BadParam ); } #endif size_t bytesNeeded = 0; // Count the leading 1 bits in the first byte. for ( UTF8Unit temp = inUnit; temp > 0x7F; temp = temp << 1 ) ++bytesNeeded; // *** Consider CPU-specific assembly inline, e.g. cntlzw on PowerPC. if ( (bytesNeeded < 2) || (bytesNeeded > 4) ) UC_Throw ( "Invalid UTF-8 sequence length", kXMPErr_BadParam ); if ( bytesNeeded > utf8Len ) goto Done; // Not enough input in this buffer. unitCount = bytesNeeded; cp = inUnit & ((1 << (7-unitCount)) - 1); // Isolate the initial data bits in the bottom of cp. utf8Pos = utf8In + 1; // We've absorbed the first byte. for ( --bytesNeeded; bytesNeeded > 0; --bytesNeeded, ++utf8Pos ) { inUnit = *utf8Pos; if ( (inUnit & UTF8Unit(0xC0)) != UTF8Unit(0x80) ) UC_Throw ( "Invalid UTF-8 data byte", kXMPErr_BadParam ); cp = (cp << 6) | (inUnit & 0x3F); } if ( cp >= 0xD800 ) { // Skip the next comparisons most of the time. if ( (0xD800 <= cp) && (cp <= 0xDFFF) ) UC_Throw ( "Bad UTF-8 - surrogate code point", kXMPErr_BadParam ); if ( cp > 0x10FFFF ) UC_Throw ( "Bad UTF-8 - out of range", kXMPErr_BadParam ); } *cpOut = cp; // ! Don't put after Done, don't write if no input. Done: *utf8Read = unitCount; return; } // CodePoint_from_UTF8_Multi // ================================================================================================= void CodePoint_from_UTF8 ( const UTF8Unit * utf8In, const size_t utf8Len, UTF32Unit * cpOut, size_t * utf8Read ) { UTF8Unit inUnit; // ! Don't read until we know there is input. size_t unitCount = 0; UC_Assert ( (utf8In != 0) && (cpOut != 0) && (utf8Read != 0) ); if ( utf8Len == 0 ) goto Done; inUnit = *utf8In; if ( inUnit >= 0x80 ) goto MultiByte; // ! Force linear execution path for ASCII. unitCount = 1; *cpOut = inUnit; // ! Don't put after Done, don't write if no input. Done: *utf8Read = unitCount; return; MultiByte: CodePoint_from_UTF8_Multi ( utf8In, utf8Len, cpOut, utf8Read ); return; } // CodePoint_from_UTF8 // ================================================================================================= static void CodePoint_to_UTF16Nat_Surrogate ( const UTF32Unit cpIn, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf16Written ) { size_t unitCount = 0; UTF32Unit temp; // ! Avoid gcc complaints about declarations after goto's. if ( cpIn > 0x10FFFF ) UC_Throw ( "Bad UTF-32 - out of range", kXMPErr_BadParam ); if ( utf16Len < 2 ) goto Done; // Not enough room for the output. unitCount = 2; temp = cpIn - 0x10000; utf16Out[0] = 0xD800 | UTF16Unit ( temp >> 10 ); utf16Out[1] = 0xDC00 | UTF16Unit ( temp & 0x3FF ); Done: *utf16Written = unitCount; return; } // CodePoint_to_UTF16Nat_Surrogate // ================================================================================================= static void CodePoint_to_UTF16Nat ( const UTF32Unit cpIn, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf16Written ) { size_t unitCount = 0; UC_Assert ( (utf16Out != 0) && (utf16Written != 0) ); if ( utf16Len == 0 ) goto Done; if ( cpIn >= 0xD800 ) goto CheckSurrogate; // ! Force linear execution path for the BMP. InBMP: unitCount = 1; *utf16Out = UTF16Unit(cpIn); Done: *utf16Written = unitCount; return; CheckSurrogate: if ( cpIn > 0xFFFF ) goto SurrogatePair; if ( cpIn > 0xDFFF ) goto InBMP; UC_Throw ( "Bad UTF-32 - surrogate code point", kXMPErr_BadParam ); SurrogatePair: CodePoint_to_UTF16Nat_Surrogate ( cpIn, utf16Out, utf16Len, utf16Written ); return; } // CodePoint_to_UTF16Nat // ================================================================================================= static void CodePoint_from_UTF16Nat_Surrogate ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * cpOut, size_t * utf16Read ) { UTF16Unit hiUnit = *utf16In; size_t unitCount = 0; UTF16Unit loUnit; // ! Avoid gcc complaints about declarations after goto's. UTF32Unit cp; // ---------------------------------- // We've got a UTF-16 surrogate pair. if ( hiUnit > 0xDBFF ) UC_Throw ( "Bad UTF-16 - leading low surrogate", kXMPErr_BadParam ); if ( utf16Len < 2 ) goto Done; // Not enough input in this buffer. loUnit = *(utf16In+1); if ( (loUnit < 0xDC00) || (0xDFFF < loUnit) ) UC_Throw ( "Bad UTF-16 - missing low surrogate", kXMPErr_BadParam ); unitCount = 2; cp = (((hiUnit & 0x3FF) << 10) | (loUnit & 0x3FF)) + 0x10000; *cpOut = cp; // ! Don't put after Done, don't write if no input. Done: *utf16Read = unitCount; return; } // CodePoint_from_UTF16Nat_Surrogate // ================================================================================================= static void CodePoint_from_UTF16Nat ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * cpOut, size_t * utf16Read ) { UTF16Unit inUnit; // ! Don't read until we know there is input. size_t unitCount = 0; UC_Assert ( (utf16In != 0) && (cpOut != 0) && (utf16Read != 0) ); if ( utf16Len == 0 ) goto Done; inUnit = *utf16In; if ( (0xD800 <= inUnit) && (inUnit <= 0xDFFF) ) goto SurrogatePair; // ! Force linear execution path for the BMP. unitCount = 1; *cpOut = inUnit; // ! Don't put after Done, don't write if no input. Done: *utf16Read = unitCount; return; SurrogatePair: CodePoint_from_UTF16Nat_Surrogate ( utf16In, utf16Len, cpOut, utf16Read ); return; } // CodePoint_from_UTF16Nat // ================================================================================================= static void UTF8_to_UTF16Nat ( const UTF8Unit * utf8In, const size_t utf8Len, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf8Read, size_t * utf16Written ) { const UTF8Unit * utf8Pos = utf8In; UTF16Unit * utf16Pos = utf16Out; size_t utf8Left = utf8Len; size_t utf16Left = utf16Len; UC_Assert ( (utf8In != 0) && (utf16Out != 0) && (utf8Read != 0) && (utf16Written != 0) ); while ( (utf8Left > 0) && (utf16Left > 0) ) { // Do a run of ASCII, it copies 1 input unit into 1 output unit. size_t i, limit = utf8Left; if ( limit > utf16Left ) limit = utf16Left; for ( i = 0; i < limit; ++i ) { UTF8Unit inUnit = *utf8Pos; if ( inUnit > 0x7F ) break; *utf16Pos = inUnit; ++utf8Pos; ++utf16Pos; } utf8Left -= i; utf16Left -= i; // Do a run of non-ASCII, it copies multiple input units into 1 or 2 output units. while ( (utf8Left > 0) && (utf16Left > 0) ) { UTF32Unit cp; size_t len8, len16; UTF8Unit inUnit = *utf8Pos; if ( inUnit <= 0x7F ) break; CodePoint_from_UTF8_Multi ( utf8Pos, utf8Left, &cp, &len8 ); if ( len8 == 0 ) goto Done; // The input buffer ends in the middle of a character. if ( cp <= 0xFFFF ) { *utf16Pos = UTF16Unit(cp); len16 = 1; } else { CodePoint_to_UTF16Nat_Surrogate ( cp, utf16Pos, utf16Left, &len16 ); if ( len16 == 0 ) goto Done; // Not enough room in the output buffer. } utf8Left -= len8; utf8Pos += len8; utf16Left -= len16; utf16Pos += len16; } } Done: // Set the output lengths. *utf8Read = utf8Len - utf8Left; *utf16Written = utf16Len - utf16Left; } // UTF8_to_UTF16Nat // ================================================================================================= static void UTF8_to_UTF32Nat ( const UTF8Unit * utf8In, const size_t utf8Len, UTF32Unit * utf32Out, const size_t utf32Len, size_t * utf8Read, size_t * utf32Written ) { const UTF8Unit * utf8Pos = utf8In; UTF32Unit * utf32Pos = utf32Out; size_t utf8Left = utf8Len; size_t utf32Left = utf32Len; UC_Assert ( (utf8In != 0) && (utf32Out != 0) && (utf8Read != 0) && (utf32Written != 0) ); while ( (utf8Left > 0) && (utf32Left > 0) ) { // Do a run of ASCII, it copies 1 input unit into 1 output unit. size_t i, limit = utf8Left; if ( limit > utf32Left ) limit = utf32Left; for ( i = 0; i < limit; ++i ) { UTF8Unit inUnit = *utf8Pos; if ( inUnit > 0x7F ) break; *utf32Pos = inUnit; ++utf8Pos; ++utf32Pos; } utf8Left -= i; utf32Left -= i; // Do a run of non-ASCII, it copies variable input into 1 output unit. while ( (utf8Left > 0) && (utf32Left > 0) ) { size_t len; UTF8Unit inUnit = *utf8Pos; if ( inUnit <= 0x7F ) break; CodePoint_from_UTF8_Multi ( utf8Pos, utf8Left, utf32Pos, &len ); if ( len == 0 ) goto Done; // The input buffer ends in the middle of a character. utf8Left -= len; utf8Pos += len; utf32Left -= 1; utf32Pos += 1; } } Done: // Set the output lengths. *utf8Read = utf8Len - utf8Left; *utf32Written = utf32Len - utf32Left; } // UTF8_to_UTF32Nat // ================================================================================================= static void UTF16Nat_to_UTF8 ( const UTF16Unit * utf16In, const size_t utf16Len, UTF8Unit * utf8Out, const size_t utf8Len, size_t * utf16Read, size_t * utf8Written ) { const UTF16Unit * utf16Pos = utf16In; UTF8Unit * utf8Pos = utf8Out; size_t utf16Left = utf16Len; size_t utf8Left = utf8Len; UC_Assert ( (utf16In != 0) && (utf8Out != 0) && (utf16Read != 0) && (utf8Written != 0) ); while ( (utf16Left > 0) && (utf8Left > 0) ) { // Do a run of ASCII, it copies 1 input unit into 1 output unit. size_t i, limit = utf16Left; if ( limit > utf8Left ) limit = utf8Left; for ( i = 0; i < limit; ++i ) { UTF16Unit inUnit = *utf16Pos; if ( inUnit > 0x7F ) break; *utf8Pos = UTF8Unit(inUnit); ++utf16Pos; ++utf8Pos; } utf16Left -= i; utf8Left -= i; // Do a run of non-ASCII inside the BMP, it copies 1 input unit into multiple output units. while ( (utf16Left > 0) && (utf8Left > 0) ) { size_t len8; UTF16Unit inUnit = *utf16Pos; if ( inUnit <= 0x7F ) break; if ( (0xD800 <= inUnit) && (inUnit <= 0xDFFF) ) break; CodePoint_to_UTF8_Multi ( inUnit, utf8Pos, utf8Left, &len8 ); if ( len8 == 0 ) goto Done; // Not enough room in the output buffer. utf16Left -= 1; utf16Pos += 1; utf8Left -= len8; utf8Pos += len8; } // Do a run of surrogate pairs, it copies 2 input units into multiple output units. while ( (utf16Left > 0) && (utf8Left > 0) ) { UTF32Unit cp; size_t len16, len8; UTF16Unit inUnit = *utf16Pos; if ( (inUnit < 0xD800) || (0xDFFF < inUnit) ) break; CodePoint_from_UTF16Nat_Surrogate ( utf16Pos, utf16Left, &cp, &len16 ); if ( len16 == 0 ) goto Done; // The input buffer ends in the middle of a surrogate pair. UC_Assert ( len16 == 2 ); CodePoint_to_UTF8_Multi ( cp, utf8Pos, utf8Left, &len8 ); if ( len8 == 0 ) goto Done; // Not enough room in the output buffer. utf16Left -= len16; utf16Pos += len16; utf8Left -= len8; utf8Pos += len8; } } Done: // Set the output lengths. *utf16Read = utf16Len - utf16Left; *utf8Written = utf8Len - utf8Left; } // UTF16Nat_to_UTF8 // ================================================================================================= static void UTF32Nat_to_UTF8 ( const UTF32Unit * utf32In, const size_t utf32Len, UTF8Unit * utf8Out, const size_t utf8Len, size_t * utf32Read, size_t * utf8Written ) { const UTF32Unit * utf32Pos = utf32In; UTF8Unit * utf8Pos = utf8Out; size_t utf32Left = utf32Len; size_t utf8Left = utf8Len; UC_Assert ( (utf32In != 0) && (utf8Out != 0) && (utf32Read != 0) && (utf8Written != 0) ); while ( (utf32Left > 0) && (utf8Left > 0) ) { // Do a run of ASCII, it copies 1 input unit into 1 output unit. size_t i, limit = utf32Left; if ( limit > utf8Left ) limit = utf8Left; for ( i = 0; i < limit; ++i ) { UTF32Unit inUnit = *utf32Pos; if ( inUnit > 0x7F ) break; *utf8Pos = UTF8Unit(inUnit); ++utf32Pos; ++utf8Pos; } utf32Left -= i; utf8Left -= i; // Do a run of non-ASCII, it copies 1 input unit into multiple output units. while ( (utf32Left > 0) && (utf8Left > 0) ) { size_t len; UTF32Unit inUnit = *utf32Pos; if ( inUnit <= 0x7F ) break; CodePoint_to_UTF8_Multi ( inUnit, utf8Pos, utf8Left, &len ); if ( len == 0 ) goto Done; // Not enough room in the output buffer. utf32Left -= 1; utf32Pos += 1; utf8Left -= len; utf8Pos += len; } } Done: // Set the output lengths. *utf32Read = utf32Len - utf32Left; *utf8Written = utf8Len - utf8Left; } // UTF32Nat_to_UTF8 // ================================================================================================= static void UTF16Nat_to_UTF32Nat ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * utf32Out, const size_t utf32Len, size_t * utf16Read, size_t * utf32Written ) { const UTF16Unit * utf16Pos = utf16In; UTF32Unit * utf32Pos = utf32Out; size_t utf16Left = utf16Len; size_t utf32Left = utf32Len; UC_Assert ( (utf16In != 0) && (utf32Out != 0) && (utf16Read != 0) && (utf32Written != 0) ); while ( (utf16Left > 0) && (utf32Left > 0) ) { // Do a run of BMP, it copies 1 input unit into 1 output unit. size_t i, limit = utf16Left; if ( limit > utf32Left ) limit = utf32Left; for ( i = 0; i < limit; ++i ) { UTF16Unit inUnit = *utf16Pos; if ( (0xD800 <= inUnit) && (inUnit <= 0xDFFF) ) break; *utf32Pos = inUnit; ++utf16Pos; ++utf32Pos; } utf16Left -= i; utf32Left -= i; // Do a run of surrogate pairs, it copies 2 input units into 1 output unit. while ( (utf16Left > 0) && (utf32Left > 0) ) { size_t len; UTF16Unit inUnit = *utf16Pos; if ( (inUnit < 0xD800) || (0xDFFF < inUnit) ) break; CodePoint_from_UTF16Nat_Surrogate ( utf16Pos, utf16Left, utf32Pos, &len ); if ( len == 0 ) goto Done; // The input buffer ends in the middle of a surrogate pair. UC_Assert ( len == 2 ); utf16Left -= len; utf16Pos += len; utf32Left -= 1; utf32Pos += 1; } } Done: // Set the output lengths. *utf16Read = utf16Len - utf16Left; *utf32Written = utf32Len - utf32Left; } // UTF16Nat_to_UTF32Nat // ================================================================================================= static void UTF32Nat_to_UTF16Nat ( const UTF32Unit * utf32In, const size_t utf32Len, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf32Read, size_t * utf16Written ) { const UTF32Unit * utf32Pos = utf32In; UTF16Unit * utf16Pos = utf16Out; size_t utf32Left = utf32Len; size_t utf16Left = utf16Len; UC_Assert ( (utf32In != 0) && (utf16Out != 0) && (utf32Read != 0) && (utf16Written != 0) ); while ( (utf32Left > 0) && (utf16Left > 0) ) { // Do a run of BMP, it copies 1 input unit into 1 output unit. size_t i, limit = utf32Left; if ( limit > utf16Left ) limit = utf16Left; for ( i = 0; i < limit; ++i ) { UTF32Unit inUnit = *utf32Pos; if ( inUnit > 0xFFFF ) break; *utf16Pos = UTF16Unit(inUnit); ++utf32Pos; ++utf16Pos; } utf32Left -= i; utf16Left -= i; // Do a run of non-BMP, it copies 1 input unit into 2 output units. while ( (utf32Left > 0) && (utf16Left > 0) ) { size_t len; UTF32Unit inUnit = *utf32Pos; if ( inUnit <= 0xFFFF ) break; CodePoint_to_UTF16Nat_Surrogate ( inUnit, utf16Pos, utf16Left, &len ); if ( len == 0 ) goto Done; // Not enough room in the output buffer. UC_Assert ( len == 2 ); utf32Left -= 1; utf32Pos += 1; utf16Left -= 2; utf16Pos += 2; } } Done: // Set the output lengths. *utf32Read = utf32Len - utf32Left; *utf16Written = utf16Len - utf16Left; } // UTF32Nat_to_UTF16Nat // ================================================================================================= static void CodePoint_to_UTF16Swp_Surrogate ( const UTF32Unit cpIn, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf16Written ) { size_t unitCount = 0; UTF32Unit temp; // ! Avoid gcc complaints about declarations after goto's. if ( cpIn > 0x10FFFF ) UC_Throw ( "Bad UTF-32 - out of range", kXMPErr_BadParam ); if ( utf16Len < 2 ) goto Done; // Not enough room for the output. unitCount = 2; temp = cpIn - 0x10000; UTF16OutSwap ( &utf16Out[0], (0xD800 | UTF16Unit ( temp >> 10 )) ); UTF16OutSwap ( &utf16Out[1], (0xDC00 | UTF16Unit ( temp & 0x3FF)) ); Done: *utf16Written = unitCount; return; } // CodePoint_to_UTF16Swp_Surrogate // ================================================================================================= static void CodePoint_to_UTF16Swp ( const UTF32Unit cpIn, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf16Written ) { size_t unitCount = 0; UC_Assert ( (utf16Out != 0) && (utf16Written != 0) ); if ( utf16Len == 0 ) goto Done; if ( cpIn >= 0xD800 ) goto CheckSurrogate; // ! Force linear execution path for the BMP. InBMP: unitCount = 1; UTF16OutSwap ( utf16Out, UTF16Unit(cpIn) ); Done: *utf16Written = unitCount; return; CheckSurrogate: if ( cpIn > 0xFFFF ) goto SurrogatePair; if ( cpIn > 0xDFFF ) goto InBMP; UC_Throw ( "Bad UTF-32 - surrogate code point", kXMPErr_BadParam ); SurrogatePair: CodePoint_to_UTF16Swp_Surrogate ( cpIn, utf16Out, utf16Len, utf16Written ); return; } // CodePoint_to_UTF16Swp // ================================================================================================= static void CodePoint_from_UTF16Swp_Surrogate ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * cpOut, size_t * utf16Read ) { UTF16Unit hiUnit = UTF16InSwap(utf16In); size_t unitCount = 0; UTF16Unit loUnit; // ! Avoid gcc complaints about declarations after goto's. UTF32Unit cp; // ---------------------------------- // We've got a UTF-16 surrogate pair. if ( hiUnit > 0xDBFF ) UC_Throw ( "Bad UTF-16 - leading low surrogate", kXMPErr_BadParam ); if ( utf16Len < 2 ) goto Done; // Not enough input in this buffer. loUnit = UTF16InSwap(utf16In+1); if ( (loUnit < 0xDC00) || (0xDFFF < loUnit) ) UC_Throw ( "Bad UTF-16 - missing low surrogate", kXMPErr_BadParam ); unitCount = 2; cp = (((hiUnit & 0x3FF) << 10) | (loUnit & 0x3FF)) + 0x10000; *cpOut = cp; // ! Don't put after Done, don't write if no input. Done: *utf16Read = unitCount; return; } // CodePoint_from_UTF16Swp_Surrogate // ================================================================================================= static void CodePoint_from_UTF16Swp ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * cpOut, size_t * utf16Read ) { UTF16Unit inUnit; // ! Don't read until we know there is input. size_t unitCount = 0; UC_Assert ( (utf16In != 0) && (cpOut != 0) && (utf16Read != 0) ); if ( utf16Len == 0 ) goto Done; inUnit = UTF16InSwap(utf16In); if ( (0xD800 <= inUnit) && (inUnit <= 0xDFFF) ) goto SurrogatePair; // ! Force linear execution path for the BMP. unitCount = 1; *cpOut = inUnit; // ! Don't put after Done, don't write if no input. Done: *utf16Read = unitCount; return; SurrogatePair: CodePoint_from_UTF16Swp_Surrogate ( utf16In, utf16Len, cpOut, utf16Read ); return; } // CodePoint_from_UTF16Swp // ================================================================================================= static void UTF8_to_UTF16Swp ( const UTF8Unit * utf8In, const size_t utf8Len, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf8Read, size_t * utf16Written ) { const UTF8Unit * utf8Pos = utf8In; UTF16Unit * utf16Pos = utf16Out; size_t utf8Left = utf8Len; size_t utf16Left = utf16Len; UC_Assert ( (utf8In != 0) && (utf16Out != 0) && (utf8Read != 0) && (utf16Written != 0) ); while ( (utf8Left > 0) && (utf16Left > 0) ) { // Do a run of ASCII, it copies 1 input unit into 1 output unit. size_t i, limit = utf8Left; if ( limit > utf16Left ) limit = utf16Left; for ( i = 0; i < limit; ++i ) { UTF8Unit inUnit = *utf8Pos; if ( inUnit > 0x7F ) break; *utf16Pos = UTF16Unit(inUnit) << 8; // Better than: UTF16OutSwap ( utf16Pos, inUnit ); ++utf8Pos; ++utf16Pos; } utf8Left -= i; utf16Left -= i; // Do a run of non-ASCII, it copies multiple input units into 1 or 2 output units. while ( (utf8Left > 0) && (utf16Left > 0) ) { UTF32Unit cp; size_t len8, len16; UTF8Unit inUnit = *utf8Pos; if ( inUnit <= 0x7F ) break; CodePoint_from_UTF8_Multi ( utf8Pos, utf8Left, &cp, &len8 ); if ( len8 == 0 ) goto Done; // The input buffer ends in the middle of a character. if ( cp <= 0xFFFF ) { UTF16OutSwap ( utf16Pos, UTF16Unit(cp) ); len16 = 1; } else { CodePoint_to_UTF16Swp_Surrogate ( cp, utf16Pos, utf16Left, &len16 ); if ( len16 == 0 ) goto Done; // Not enough room in the output buffer. } utf8Left -= len8; utf8Pos += len8; utf16Left -= len16; utf16Pos += len16; } } Done: // Set the output lengths. *utf8Read = utf8Len - utf8Left; *utf16Written = utf16Len - utf16Left; } // UTF8_to_UTF16Swp // ================================================================================================= static void UTF8_to_UTF32Swp ( const UTF8Unit * utf8In, const size_t utf8Len, UTF32Unit * utf32Out, const size_t utf32Len, size_t * utf8Read, size_t * utf32Written ) { const UTF8Unit * utf8Pos = utf8In; UTF32Unit * utf32Pos = utf32Out; size_t utf8Left = utf8Len; size_t utf32Left = utf32Len; UC_Assert ( (utf8In != 0) && (utf32Out != 0) && (utf8Read != 0) && (utf32Written != 0) ); while ( (utf8Left > 0) && (utf32Left > 0) ) { // Do a run of ASCII, it copies 1 input unit into 1 output unit. size_t i, limit = utf8Left; if ( limit > utf32Left ) limit = utf32Left; for ( i = 0; i < limit; ++i ) { UTF8Unit inUnit = *utf8Pos; if ( inUnit > 0x7F ) break; *utf32Pos = UTF32Unit(inUnit) << 24; // Better than: UTF32OutSwap ( utf32Pos, inUnit ); ++utf8Pos; ++utf32Pos; } utf8Left -= i; utf32Left -= i; // Do a run of non-ASCII, it copies variable input into 1 output unit. while ( (utf8Left > 0) && (utf32Left > 0) ) { size_t len; UTF32Unit cp; UTF8Unit inUnit = *utf8Pos; if ( inUnit <= 0x7F ) break; CodePoint_from_UTF8_Multi ( utf8Pos, utf8Left, &cp, &len ); if ( len == 0 ) goto Done; // The input buffer ends in the middle of a character. UTF32OutSwap ( utf32Pos, cp ); utf8Left -= len; utf8Pos += len; utf32Left -= 1; utf32Pos += 1; } } Done: // Set the output lengths. *utf8Read = utf8Len - utf8Left; *utf32Written = utf32Len - utf32Left; } // UTF8_to_UTF32Swp // ================================================================================================= static void UTF16Swp_to_UTF8 ( const UTF16Unit * utf16In, const size_t utf16Len, UTF8Unit * utf8Out, const size_t utf8Len, size_t * utf16Read, size_t * utf8Written ) { const UTF16Unit * utf16Pos = utf16In; UTF8Unit * utf8Pos = utf8Out; size_t utf16Left = utf16Len; size_t utf8Left = utf8Len; UC_Assert ( (utf16In != 0) && (utf8Out != 0) && (utf16Read != 0) && (utf8Written != 0) ); while ( (utf16Left > 0) && (utf8Left > 0) ) { // Do a run of ASCII, it copies 1 input unit into 1 output unit. size_t i, limit = utf16Left; if ( limit > utf8Left ) limit = utf8Left; for ( i = 0; i < limit; ++i ) { UTF16Unit inUnit = UTF16InSwap(utf16Pos); if ( inUnit > 0x7F ) break; *utf8Pos = UTF8Unit(inUnit); ++utf16Pos; ++utf8Pos; } utf16Left -= i; utf8Left -= i; // Do a run of non-ASCII inside the BMP, it copies 1 input unit into multiple output units. while ( (utf16Left > 0) && (utf8Left > 0) ) { size_t len8; UTF16Unit inUnit = UTF16InSwap(utf16Pos); if ( inUnit <= 0x7F ) break; if ( (0xD800 <= inUnit) && (inUnit <= 0xDFFF) ) break; CodePoint_to_UTF8_Multi ( inUnit, utf8Pos, utf8Left, &len8 ); if ( len8 == 0 ) goto Done; // Not enough room in the output buffer. utf16Left -= 1; utf16Pos += 1; utf8Left -= len8; utf8Pos += len8; } // Do a run of surrogate pairs, it copies 2 input units into multiple output units. while ( (utf16Left > 0) && (utf8Left > 0) ) { UTF32Unit cp; size_t len16, len8; UTF16Unit inUnit = UTF16InSwap(utf16Pos); if ( (inUnit < 0xD800) || (0xDFFF < inUnit) ) break; CodePoint_from_UTF16Swp_Surrogate ( utf16Pos, utf16Left, &cp, &len16 ); if ( len16 == 0 ) goto Done; // The input buffer ends in the middle of a surrogate pair. UC_Assert ( len16 == 2 ); CodePoint_to_UTF8_Multi ( cp, utf8Pos, utf8Left, &len8 ); if ( len8 == 0 ) goto Done; // Not enough room in the output buffer. utf16Left -= len16; utf16Pos += len16; utf8Left -= len8; utf8Pos += len8; } } Done: // Set the output lengths. *utf16Read = utf16Len - utf16Left; *utf8Written = utf8Len - utf8Left; } // UTF16Swp_to_UTF8 // ================================================================================================= static void UTF32Swp_to_UTF8 ( const UTF32Unit * utf32In, const size_t utf32Len, UTF8Unit * utf8Out, const size_t utf8Len, size_t * utf32Read, size_t * utf8Written ) { const UTF32Unit * utf32Pos = utf32In; UTF8Unit * utf8Pos = utf8Out; size_t utf32Left = utf32Len; size_t utf8Left = utf8Len; UC_Assert ( (utf32In != 0) && (utf8Out != 0) && (utf32Read != 0) && (utf8Written != 0) ); while ( (utf32Left > 0) && (utf8Left > 0) ) { // Do a run of ASCII, it copies 1 input unit into 1 output unit. size_t i, limit = utf32Left; if ( limit > utf8Left ) limit = utf8Left; for ( i = 0; i < limit; ++i ) { UTF32Unit cp = UTF32InSwap(utf32Pos); if ( cp > 0x7F ) break; *utf8Pos = UTF8Unit(cp); ++utf32Pos; ++utf8Pos; } utf32Left -= i; utf8Left -= i; // Do a run of non-ASCII, it copies 1 input unit into multiple output units. while ( (utf32Left > 0) && (utf8Left > 0) ) { size_t len; UTF32Unit cp = UTF32InSwap(utf32Pos); if ( cp <= 0x7F ) break; CodePoint_to_UTF8_Multi ( cp, utf8Pos, utf8Left, &len ); if ( len == 0 ) goto Done; // Not enough room in the output buffer. utf32Left -= 1; utf32Pos += 1; utf8Left -= len; utf8Pos += len; } } Done: // Set the output lengths. *utf32Read = utf32Len - utf32Left; *utf8Written = utf8Len - utf8Left; } // UTF32Swp_to_UTF8 // ================================================================================================= static void UTF16Swp_to_UTF32Swp ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * utf32Out, const size_t utf32Len, size_t * utf16Read, size_t * utf32Written ) { const UTF16Unit * utf16Pos = utf16In; UTF32Unit * utf32Pos = utf32Out; size_t utf16Left = utf16Len; size_t utf32Left = utf32Len; UC_Assert ( (utf16In != 0) && (utf32Out != 0) && (utf16Read != 0) && (utf32Written != 0) ); while ( (utf16Left > 0) && (utf32Left > 0) ) { // Do a run of BMP, it copies 1 input unit into 1 output unit. size_t i, limit = utf16Left; if ( limit > utf32Left ) limit = utf32Left; for ( i = 0; i < limit; ++i ) { UTF16Unit inUnit = UTF16InSwap(utf16Pos); if ( (0xD800 <= inUnit) && (inUnit <= 0xDFFF) ) break; *utf32Pos = UTF32Unit(*utf16Pos) << 16; // Better than: UTF32OutSwap ( utf32Pos, inUnit ); ++utf16Pos; ++utf32Pos; } utf16Left -= i; utf32Left -= i; // Do a run of surrogate pairs, it copies 2 input units into 1 output unit. while ( (utf16Left > 0) && (utf32Left > 0) ) { size_t len; UTF32Unit cp; UTF16Unit inUnit = UTF16InSwap(utf16Pos); if ( (inUnit < 0xD800) || (0xDFFF < inUnit) ) break; CodePoint_from_UTF16Swp_Surrogate ( utf16Pos, utf16Left, &cp, &len ); if ( len == 0 ) goto Done; // The input buffer ends in the middle of a surrogate pair. UTF32OutSwap ( utf32Pos, cp ); UC_Assert ( len == 2 ); utf16Left -= len; utf16Pos += len; utf32Left -= 1; utf32Pos += 1; } } Done: // Set the output lengths. *utf16Read = utf16Len - utf16Left; *utf32Written = utf32Len - utf32Left; } // UTF16Swp_to_UTF32Swp // ================================================================================================= static void UTF32Swp_to_UTF16Swp ( const UTF32Unit * utf32In, const size_t utf32Len, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf32Read, size_t * utf16Written ) { const UTF32Unit * utf32Pos = utf32In; UTF16Unit * utf16Pos = utf16Out; size_t utf32Left = utf32Len; size_t utf16Left = utf16Len; const size_t k32to16Offset = swap32to16Offset; // ! Make sure compiler treats as an invariant. UC_Assert ( (utf32In != 0) && (utf16Out != 0) && (utf32Read != 0) && (utf16Written != 0) ); while ( (utf32Left > 0) && (utf16Left > 0) ) { // Do a run of BMP, it copies 1 input unit into 1 output unit. size_t i, limit = utf32Left; if ( limit > utf16Left ) limit = utf16Left; for ( i = 0; i < limit; ++i ) { UTF32Unit inUnit = UTF32InSwap(utf32Pos); if ( inUnit > 0xFFFF ) break; *utf16Pos = *(((UTF16Unit*)utf32Pos) + k32to16Offset); // Better than: UTF16OutSwap ( utf16Pos, UTF16Unit(inUnit) ); ++utf32Pos; ++utf16Pos; } utf32Left -= i; utf16Left -= i; // Do a run of non-BMP, it copies 1 input unit into 2 output units. while ( (utf32Left > 0) && (utf16Left > 0) ) { size_t len; UTF32Unit inUnit = UTF32InSwap(utf32Pos); if ( inUnit <= 0xFFFF ) break; CodePoint_to_UTF16Swp_Surrogate ( inUnit, utf16Pos, utf16Left, &len ); if ( len == 0 ) goto Done; // Not enough room in the output buffer. UC_Assert ( len == 2 ); utf32Left -= 1; utf32Pos += 1; utf16Left -= 2; utf16Pos += 2; } } Done: // Set the output lengths. *utf32Read = utf32Len - utf32Left; *utf16Written = utf16Len - utf16Left; } // UTF32Swp_to_UTF16Swp // ================================================================================================= static void UTF16Nat_to_UTF32Swp ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * utf32Out, const size_t utf32Len, size_t * utf16Read, size_t * utf32Written ) { const UTF16Unit * utf16Pos = utf16In; UTF32Unit * utf32Pos = utf32Out; size_t utf16Left = utf16Len; size_t utf32Left = utf32Len; UC_Assert ( (utf16In != 0) && (utf32Out != 0) && (utf16Read != 0) && (utf32Written != 0) ); while ( (utf16Left > 0) && (utf32Left > 0) ) { // Do a run of BMP, it copies 1 input unit into 1 output unit. size_t i, limit = utf16Left; if ( limit > utf32Left ) limit = utf32Left; for ( i = 0; i < limit; ++i ) { UTF16Unit inUnit = *utf16Pos; if ( (0xD800 <= inUnit) && (inUnit <= 0xDFFF) ) break; UTF32OutSwap ( utf32Pos, inUnit ); ++utf16Pos; ++utf32Pos; } utf16Left -= i; utf32Left -= i; // Do a run of surrogate pairs, it copies 2 input units into 1 output unit. while ( (utf16Left > 0) && (utf32Left > 0) ) { size_t len; UTF32Unit cp; UTF16Unit inUnit = *utf16Pos; if ( (inUnit < 0xD800) || (0xDFFF < inUnit) ) break; CodePoint_from_UTF16Nat_Surrogate ( utf16Pos, utf16Left, &cp, &len ); if ( len == 0 ) goto Done; // The input buffer ends in the middle of a surrogate pair. UC_Assert ( len == 2 ); UTF32OutSwap ( utf32Pos, cp ); utf16Left -= len; utf16Pos += len; utf32Left -= 1; utf32Pos += 1; } } Done: // Set the output lengths. *utf16Read = utf16Len - utf16Left; *utf32Written = utf32Len - utf32Left; } // UTF16Nat_to_UTF32Swp // ================================================================================================= static void UTF16Swp_to_UTF32Nat ( const UTF16Unit * utf16In, const size_t utf16Len, UTF32Unit * utf32Out, const size_t utf32Len, size_t * utf16Read, size_t * utf32Written ) { const UTF16Unit * utf16Pos = utf16In; UTF32Unit * utf32Pos = utf32Out; size_t utf16Left = utf16Len; size_t utf32Left = utf32Len; UC_Assert ( (utf16In != 0) && (utf32Out != 0) && (utf16Read != 0) && (utf32Written != 0) ); while ( (utf16Left > 0) && (utf32Left > 0) ) { // Do a run of BMP, it copies 1 input unit into 1 output unit. size_t i, limit = utf16Left; if ( limit > utf32Left ) limit = utf32Left; for ( i = 0; i < limit; ++i ) { UTF16Unit inUnit = UTF16InSwap(utf16Pos); if ( (0xD800 <= inUnit) && (inUnit <= 0xDFFF) ) break; *utf32Pos = inUnit; ++utf16Pos; ++utf32Pos; } utf16Left -= i; utf32Left -= i; // Do a run of surrogate pairs, it copies 2 input units into 1 output unit. while ( (utf16Left > 0) && (utf32Left > 0) ) { size_t len; UTF16Unit inUnit = UTF16InSwap(utf16Pos); if ( (inUnit < 0xD800) || (0xDFFF < inUnit) ) break; CodePoint_from_UTF16Swp_Surrogate ( utf16Pos, utf16Left, utf32Pos, &len ); if ( len == 0 ) goto Done; // The input buffer ends in the middle of a surrogate pair. UC_Assert ( len == 2 ); utf16Left -= len; utf16Pos += len; utf32Left -= 1; utf32Pos += 1; } } Done: // Set the output lengths. *utf16Read = utf16Len - utf16Left; *utf32Written = utf32Len - utf32Left; } // UTF16Swp_to_UTF32Nat // ================================================================================================= static void UTF32Nat_to_UTF16Swp ( const UTF32Unit * utf32In, const size_t utf32Len, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf32Read, size_t * utf16Written ) { const UTF32Unit * utf32Pos = utf32In; UTF16Unit * utf16Pos = utf16Out; size_t utf32Left = utf32Len; size_t utf16Left = utf16Len; UC_Assert ( (utf32In != 0) && (utf16Out != 0) && (utf32Read != 0) && (utf16Written != 0) ); while ( (utf32Left > 0) && (utf16Left > 0) ) { // Do a run of BMP, it copies 1 input unit into 1 output unit. size_t i, limit = utf32Left; if ( limit > utf16Left ) limit = utf16Left; for ( i = 0; i < limit; ++i ) { UTF32Unit inUnit = *utf32Pos; if ( inUnit > 0xFFFF ) break; UTF16OutSwap ( utf16Pos, UTF16Unit(inUnit) ); ++utf32Pos; ++utf16Pos; } utf32Left -= i; utf16Left -= i; // Do a run of non-BMP, it copies 1 input unit into 2 output units. while ( (utf32Left > 0) && (utf16Left > 0) ) { size_t len; UTF32Unit inUnit = *utf32Pos; if ( inUnit <= 0xFFFF ) break; CodePoint_to_UTF16Swp_Surrogate ( inUnit, utf16Pos, utf16Left, &len ); if ( len == 0 ) goto Done; // Not enough room in the output buffer. UC_Assert ( len == 2 ); utf32Left -= 1; utf32Pos += 1; utf16Left -= 2; utf16Pos += 2; } } Done: // Set the output lengths. *utf32Read = utf32Len - utf32Left; *utf16Written = utf16Len - utf16Left; } // UTF32Nat_to_UTF16Swp // ================================================================================================= static void UTF32Swp_to_UTF16Nat ( const UTF32Unit * utf32In, const size_t utf32Len, UTF16Unit * utf16Out, const size_t utf16Len, size_t * utf32Read, size_t * utf16Written ) { const UTF32Unit * utf32Pos = utf32In; UTF16Unit * utf16Pos = utf16Out; size_t utf32Left = utf32Len; size_t utf16Left = utf16Len; UC_Assert ( (utf32In != 0) && (utf16Out != 0) && (utf32Read != 0) && (utf16Written != 0) ); while ( (utf32Left > 0) && (utf16Left > 0) ) { // Do a run of BMP, it copies 1 input unit into 1 output unit. size_t i, limit = utf32Left; if ( limit > utf16Left ) limit = utf16Left; for ( i = 0; i < limit; ++i ) { UTF32Unit inUnit = UTF32InSwap(utf32Pos); if ( inUnit > 0xFFFF ) break; *utf16Pos = UTF16Unit(inUnit); ++utf32Pos; ++utf16Pos; } utf32Left -= i; utf16Left -= i; // Do a run of non-BMP, it copies 1 input unit into 2 output units. while ( (utf32Left > 0) && (utf16Left > 0) ) { size_t len; UTF32Unit inUnit = UTF32InSwap(utf32Pos); if ( inUnit <= 0xFFFF ) break; CodePoint_to_UTF16Nat_Surrogate ( inUnit, utf16Pos, utf16Left, &len ); if ( len == 0 ) goto Done; // Not enough room in the output buffer. UC_Assert ( len == 2 ); utf32Left -= 1; utf32Pos += 1; utf16Left -= 2; utf16Pos += 2; } } Done: // Set the output lengths. *utf32Read = utf32Len - utf32Left; *utf16Written = utf16Len - utf16Left; } // UTF32Swp_to_UTF16Nat // ================================================================================================= exiv2-0.25/xmpsdk/src/MD5.cpp0000664000175000017500000001651212257444115015513 0ustar andreasandreas/* * This code implements the MD5 message-digest algorithm. * The algorithm is due to Ron Rivest. This code was * written by Colin Plumb in 1993, no copyright is claimed. * This code is in the public domain; do with it what you wish. * * Equivalent code is available from RSA Data Security, Inc. * This code has been tested against that, and is equivalent, * except that you don't need to include two pages of legalese * with every copy. * * To compute the message digest of a chunk of bytes, declare an * MD5_CTX structure, pass it to MD5Init, call MD5Update as * needed on buffers full of bytes, and then call MD5Final, which * will fill a supplied 16-byte array with the digest. * * Changed so as no longer to depend on Colin Plumb's `usual.h' header * definitions; now uses stuff from dpkg's config.h. * - Ian Jackson . * Still in the public domain. */ #include #include "MD5.h" using namespace std; static void byteSwap(UWORD32 *buf, unsigned words) { const uint32_t byteOrderTest = 0x1; if (((char *)&byteOrderTest)[0] == 0) { md5byte *p = (md5byte *)buf; do { *buf++ = (UWORD32)((unsigned)p[3] << 8 | p[2]) << 16 | ((unsigned)p[1] << 8 | p[0]); p += 4; } while (--words); } } /* * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious * initialization constants. */ void MD5Init(struct MD5_CTX *ctx) { ctx->buf[0] = 0x67452301; ctx->buf[1] = 0xefcdab89; ctx->buf[2] = 0x98badcfe; ctx->buf[3] = 0x10325476; ctx->bytes[0] = 0; ctx->bytes[1] = 0; } /* * Update context to reflect the concatenation of another buffer full * of bytes. */ void MD5Update(struct MD5_CTX *ctx, md5byte const *buf, unsigned len) { UWORD32 t; /* Update byte count */ t = ctx->bytes[0]; if ((ctx->bytes[0] = t + len) < t) ctx->bytes[1]++; /* Carry from low to high */ t = 64 - (t & 0x3f); /* Space available in ctx->in (at least 1) */ if (t > len) { memcpy((md5byte *)ctx->in + 64 - t, buf, len); return; } /* First chunk is an odd size */ memcpy((md5byte *)ctx->in + 64 - t, buf, t); byteSwap(ctx->in, 16); MD5Transform(ctx->buf, ctx->in); buf += t; len -= t; /* Process data in 64-byte chunks */ while (len >= 64) { memcpy(ctx->in, buf, 64); byteSwap(ctx->in, 16); MD5Transform(ctx->buf, ctx->in); buf += 64; len -= 64; } /* Handle any remaining bytes of data. */ memcpy(ctx->in, buf, len); } /* * Final wrapup - pad to 64-byte boundary with the bit pattern * 1 0* (64-bit count of bits processed, MSB-first) */ void MD5Final(md5byte digest[16], struct MD5_CTX *ctx) { int count = ctx->bytes[0] & 0x3f; /* Number of bytes in ctx->in */ md5byte *p = (md5byte *)ctx->in + count; /* Set the first char of padding to 0x80. There is always room. */ *p++ = 0x80; /* Bytes of padding needed to make 56 bytes (-8..55) */ count = 56 - 1 - count; if (count < 0) { /* Padding forces an extra block */ memset(p, 0, count + 8); byteSwap(ctx->in, 16); MD5Transform(ctx->buf, ctx->in); p = (md5byte *)ctx->in; count = 56; } memset(p, 0, count); byteSwap(ctx->in, 14); /* Append length in bits and transform */ ctx->in[14] = ctx->bytes[0] << 3; ctx->in[15] = ctx->bytes[1] << 3 | ctx->bytes[0] >> 29; MD5Transform(ctx->buf, ctx->in); byteSwap(ctx->buf, 4); memcpy(digest, ctx->buf, 16); memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */ } /* The four core functions - F1 is optimized somewhat */ /* #define F1(x, y, z) (x & y | ~x & z) */ #define F1(x, y, z) (z ^ (x & (y ^ z))) #define F2(x, y, z) F1(z, x, y) #define F3(x, y, z) (x ^ y ^ z) #define F4(x, y, z) (y ^ (x | ~z)) /* This is the central step in the MD5 algorithm. */ #define MD5STEP(f,w,x,y,z,in,s) \ (w += f(x,y,z) + in, w = (w<>(32-s)) + x) /* * The core of the MD5 algorithm, this alters an existing MD5 hash to * reflect the addition of 16 longwords of new data. MD5Update blocks * the data and converts bytes into longwords for this routine. */ void MD5Transform(UWORD32 buf[4], UWORD32 const in[16]) { register UWORD32 a, b, c, d; a = buf[0]; b = buf[1]; c = buf[2]; d = buf[3]; MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7); MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12); MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17); MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22); MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7); MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12); MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17); MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22); MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7); MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12); MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17); MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22); MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7); MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12); MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17); MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22); MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5); MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9); MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14); MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20); MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5); MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9); MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14); MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20); MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5); MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9); MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14); MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20); MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5); MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9); MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14); MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20); MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4); MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11); MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16); MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23); MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4); MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11); MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16); MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23); MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4); MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11); MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16); MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23); MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4); MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11); MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16); MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23); MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6); MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10); MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15); MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21); MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6); MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10); MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15); MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21); MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6); MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10); MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15); MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21); MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6); MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10); MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15); MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21); buf[0] += a; buf[1] += b; buf[2] += c; buf[3] += d; } exiv2-0.25/xmpsdk/src/ExpatAdapter.hpp0000664000175000017500000000274111224653364017515 0ustar andreasandreas#ifndef __ExpatAdapter_hpp__ #define __ExpatAdapter_hpp__ // ================================================================================================= // Copyright 2005-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" // ! Must be the first #include! #include "XMLParserAdapter.hpp" // ================================================================================================= // Derived XML parser adapter for Expat. // ================================================================================================= #ifndef BanAllEntityUsage #define BanAllEntityUsage 0 #endif struct XML_ParserStruct; // ! Hack to avoid exposing expat.h to all clients. typedef struct XML_ParserStruct *XML_Parser; class ExpatAdapter : public XMLParserAdapter { public: XML_Parser parser; #if BanAllEntityUsage bool isAborted; #endif #if XMP_DebugBuild size_t elemNesting; #endif ExpatAdapter(); virtual ~ExpatAdapter(); void ParseBuffer ( const void * buffer, size_t length, bool last = true ); }; extern "C" ExpatAdapter * XMP_NewExpatAdapter(); // ================================================================================================= #endif // __ExpatAdapter_hpp__ exiv2-0.25/xmpsdk/src/XMPMeta-Serialize.cpp0000664000175000017500000013272612413770225020332 0ustar andreasandreas// ================================================================================================= // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // // Adobe patent application tracking #P435, entitled 'Unique markers to simplify embedding data of // one format in a file with a different format', inventors: Sean Parent, Greg Gilley. // ================================================================================================= #include "XMP_Environment.h" // ! This must be the first include! #include "XMPCore_Impl.hpp" #include "XMPMeta.hpp" #include "XMP_Version.h" #include "UnicodeInlines.incl_cpp" #include "UnicodeConversions.hpp" #if XMP_DebugBuild #include #endif using namespace std; #if XMP_WinBuild #ifdef _MSC_VER #pragma warning ( disable : 4533 ) // initialization of '...' is skipped by 'goto ...' #pragma warning ( disable : 4702 ) // unreachable code #pragma warning ( disable : 4800 ) // forcing value to bool 'true' or 'false' (performance warning) #endif #endif // *** Use the XMP_PropIsXyz (Schema, Simple, Struct, Array, ...) macros // *** Add debug codegen checks, e.g. that typical masking operations really work // *** Change all uses of strcmp and strncmp to XMP_LitMatch and XMP_LitNMatch // ================================================================================================= // Local Types and Constants // ========================= static const char * kPacketHeader = ""; static const char * kPacketTrailer = ""; // ! The w/r is at [size-4]. static const char * kRDF_XMPMetaStart = ""; static const char * kRDF_RDFEnd = ""; static const char * kRDF_SchemaStart = ""; static const char * kRDF_StructStart = ""; static const char * kRDF_StructEnd = ""; static const char * kRDF_BagStart = ""; static const char * kRDF_ItemStart = ""; static const char * kRDF_ValueStart = ""; // ================================================================================================= // Static Variables // ================ // ================================================================================================= // Local Utilities // =============== // ------------------------------------------------------------------------------------------------- // EstimateRDFSize // --------------- // *** Pull the strlen(kXyz) calls into constants. static size_t EstimateRDFSize ( const XMP_Node * currNode, XMP_Index indent, size_t indentLen ) { size_t outputLen = 2 * (indent*indentLen + currNode->name.size() + 4); // The property element tags. if ( ! currNode->qualifiers.empty() ) { // This node has qualifiers, assume it is written using rdf:value and estimate the qualifiers. indent += 2; // Everything else is indented inside the rdf:Description element. outputLen += 2 * ((indent-1)*indentLen + strlen(kRDF_StructStart) + 2); // The rdf:Description tags. outputLen += 2 * (indent*indentLen + strlen(kRDF_ValueStart) + 2); // The rdf:value tags. for ( size_t qualNum = 0, qualLim = currNode->qualifiers.size(); qualNum < qualLim; ++qualNum ) { const XMP_Node * currQual = currNode->qualifiers[qualNum]; outputLen += EstimateRDFSize ( currQual, indent, indentLen ); } } if ( currNode->options & kXMP_PropValueIsStruct ) { indent += 1; outputLen += 2 * (indent*indentLen + strlen(kRDF_StructStart) + 2); // The rdf:Description tags. } else if ( currNode->options & kXMP_PropValueIsArray ) { indent += 2; outputLen += 2 * ((indent-1)*indentLen + strlen(kRDF_BagStart) + 2); // The rdf:Bag/Seq/Alt tags. outputLen += 2 * currNode->children.size() * (strlen(kRDF_ItemStart) + 2); // The rdf:li tags, indent counted in children. } else if ( ! (currNode->options & kXMP_SchemaNode) ) { outputLen += currNode->value.size(); // This is a leaf value node. } for ( size_t childNum = 0, childLim = currNode->children.size(); childNum < childLim; ++childNum ) { const XMP_Node * currChild = currNode->children[childNum]; outputLen += EstimateRDFSize ( currChild, indent+1, indentLen ); } return outputLen; } // EstimateRDFSize // ------------------------------------------------------------------------------------------------- // DeclareOneNamespace // ------------------- static void DeclareOneNamespace ( const XMP_VarString & nsPrefix, const XMP_VarString & nsURI, XMP_VarString & usedNS, // ! A catenation of the prefixes with colons. XMP_VarString & outputStr, XMP_StringPtr newline, XMP_StringPtr indentStr, XMP_Index indent ) { size_t nsPos = usedNS.find ( nsPrefix ); if ( nsPos == XMP_VarString::npos ) { outputStr += newline; for ( ; indent > 0; --indent ) outputStr += indentStr; outputStr += "xmlns:"; outputStr += nsPrefix; outputStr[outputStr.size()-1] = '='; // Change the colon to =. outputStr += '"'; outputStr += nsURI; outputStr += '"'; usedNS += nsPrefix; } } // DeclareOneNamespace // ------------------------------------------------------------------------------------------------- // DeclareElemNamespace // -------------------- static void DeclareElemNamespace ( const XMP_VarString & elemName, XMP_VarString & usedNS, XMP_VarString & outputStr, XMP_StringPtr newline, XMP_StringPtr indentStr, XMP_Index indent ) { size_t colonPos = elemName.find ( ':' ); if ( colonPos != XMP_VarString::npos ) { XMP_VarString nsPrefix ( elemName.substr ( 0, colonPos+1 ) ); XMP_StringMapPos prefixPos = sNamespacePrefixToURIMap->find ( nsPrefix ); XMP_Enforce ( prefixPos != sNamespacePrefixToURIMap->end() ); DeclareOneNamespace ( nsPrefix, prefixPos->second, usedNS, outputStr, newline, indentStr, indent ); } } // DeclareElemNamespace // ------------------------------------------------------------------------------------------------- // DeclareUsedNamespaces // --------------------- // ??? Should iterators be passed by reference to avoid temp copies? static void DeclareUsedNamespaces ( const XMP_Node * currNode, XMP_VarString & usedNS, XMP_VarString & outputStr, XMP_StringPtr newline, XMP_StringPtr indentStr, XMP_Index indent ) { if ( currNode->options & kXMP_SchemaNode ) { // The schema node name is the URI, the value is the prefix. DeclareOneNamespace ( currNode->value, currNode->name, usedNS, outputStr, newline, indentStr, indent ); } else if ( currNode->options & kXMP_PropValueIsStruct ) { for ( size_t fieldNum = 0, fieldLim = currNode->children.size(); fieldNum < fieldLim; ++fieldNum ) { const XMP_Node * currField = currNode->children[fieldNum]; DeclareElemNamespace ( currField->name, usedNS, outputStr, newline, indentStr, indent ); } } for ( size_t childNum = 0, childLim = currNode->children.size(); childNum < childLim; ++childNum ) { const XMP_Node * currChild = currNode->children[childNum]; DeclareUsedNamespaces ( currChild, usedNS, outputStr, newline, indentStr, indent ); } for ( size_t qualNum = 0, qualLim = currNode->qualifiers.size(); qualNum < qualLim; ++qualNum ) { const XMP_Node * currQual = currNode->qualifiers[qualNum]; DeclareElemNamespace ( currQual->name, usedNS, outputStr, newline, indentStr, indent ); DeclareUsedNamespaces ( currQual, usedNS, outputStr, newline, indentStr, indent ); } } // DeclareUsedNamespaces // ------------------------------------------------------------------------------------------------- // EmitRDFArrayTag // --------------- // ??? Should iterators be passed by reference to avoid temp copies? enum { kIsStartTag = true, kIsEndTag = false }; static void EmitRDFArrayTag ( XMP_OptionBits arrayForm, XMP_VarString & outputStr, XMP_StringPtr newline, XMP_StringPtr indentStr, XMP_Index indent, XMP_Index arraySize, bool isStartTag ) { if ( (! isStartTag) && (arraySize == 0) ) return; for ( XMP_Index level = indent; level > 0; --level ) outputStr += indentStr; if ( isStartTag ) { outputStr += "', and ASCII controls (tab, LF, CR). In // addition, '"' is escaped for attributes. For efficiency, this is done in a double loop. The outer // loop makes sure the whole value is processed. The inner loop does a contiguous unescaped run // followed by one escaped character (if we're not at the end). // // We depend on parsing and SetProperty logic to make sure there are no invalid ASCII controls in // the XMP values. The XML spec only allows tab, LF, and CR. Others are not even allowed as // numeric escape sequences. enum { kForAttribute = true, kForElement = false }; static void AppendNodeValue ( XMP_VarString & outputStr, const XMP_VarString & value, bool forAttribute ) { unsigned char * runStart = (unsigned char *) value.c_str(); unsigned char * runLimit = runStart + value.size(); unsigned char * runEnd; unsigned char ch; while ( runStart < runLimit ) { for ( runEnd = runStart; runEnd < runLimit; ++runEnd ) { ch = *runEnd; if ( forAttribute && (ch == '"') ) break; if ( (ch < 0x20) || (ch == '&') || (ch == '<') || (ch == '>') ) break; } outputStr.append ( (char *) runStart, (runEnd - runStart) ); if ( runEnd < runLimit ) { if ( ch < 0x20 ) { XMP_Assert ( (ch == kTab) || (ch == kLF) || (ch == kCR) ); char hexBuf[16]; memcpy ( hexBuf, "&#xn;", 5 ); hexBuf[3] = kHexDigits[ch&0xF]; outputStr.append ( hexBuf, 5 ); } else { if ( ch == '"' ) { outputStr += """; } else if ( ch == '<' ) { outputStr += "<"; } else if ( ch == '>' ) { outputStr += ">"; } else { XMP_Assert ( ch == '&' ); outputStr += "&"; } } ++runEnd; } runStart = runEnd; } } // AppendNodeValue // ------------------------------------------------------------------------------------------------- // CanBeRDFAttrProp // ---------------- static bool CanBeRDFAttrProp ( const XMP_Node * propNode ) { if ( propNode->name[0] == '[' ) return false; if ( ! propNode->qualifiers.empty() ) return false; if ( propNode->options & kXMP_PropValueIsURI ) return false; if ( propNode->options & kXMP_PropCompositeMask ) return false; return true; } // CanBeRDFAttrProp // ------------------------------------------------------------------------------------------------- // IsRDFAttrQualifier // ------------------ static XMP_StringPtr sAttrQualifiers[] = { "xml:lang", "rdf:resource", "rdf:ID", "rdf:bagID", "rdf:nodeID", "" }; static bool IsRDFAttrQualifier ( XMP_VarString qualName ) { for ( size_t i = 0; *sAttrQualifiers[i] != 0; ++i ) { if ( qualName == sAttrQualifiers[i] ) return true; } return false; } // IsRDFAttrQualifier // ------------------------------------------------------------------------------------------------- // SerializePrettyRDFProperty // -------------------------- // // Recursively handles the "value" for a node. It does not matter if it is a top level property, a // field of a struct, or an item of an array. The indent is that for the property element. An // xml:lang qualifier is written as an attribute of the property start tag, not by itself forcing // the qualified property form. The patterns below mostly ignore attribute qualifiers like xml:lang. // Except for the one struct case, attribute qualifiers don't affect the output form. // // value // // (If no rdf:resource qualifier) // ... Fields, same forms as top level properties // // // // // // or Seq or Alt // ... Array items as rdf:li elements, same forms as top level properties // // // // // ... Property "value" following the unqualified forms ... // ... Qualifiers looking like named struct fields // static void SerializePrettyRDFProperty ( const XMP_Node * propNode, XMP_VarString & outputStr, XMP_StringPtr newline, XMP_StringPtr indentStr, XMP_Index indent, bool emitAsRDFValue = false ) { XMP_Index level; bool emitEndTag = true; bool indentEndTag = true; XMP_OptionBits propForm = propNode->options & kXMP_PropCompositeMask; // ------------------------------------------------------------------------------------------ // Determine the XML element name. Open the start tag with the name and attribute qualifiers. XMP_StringPtr elemName = propNode->name.c_str(); if ( emitAsRDFValue ) { elemName= "rdf:value"; } else if ( *elemName == '[' ) { elemName = "rdf:li"; } for ( level = indent; level > 0; --level ) outputStr += indentStr; outputStr += '<'; outputStr += elemName; #define isCompact false bool hasGeneralQualifiers = isCompact; // Might also become true later. bool hasRDFResourceQual = false; for ( size_t qualNum = 0, qualLim = propNode->qualifiers.size(); qualNum < qualLim; ++qualNum ) { const XMP_Node * currQual = propNode->qualifiers[qualNum]; if ( ! IsRDFAttrQualifier ( currQual->name ) ) { hasGeneralQualifiers = true; } else { if ( currQual->name == "rdf:resource" ) hasRDFResourceQual = true; if ( ! emitAsRDFValue ) { outputStr += ' '; outputStr += currQual->name; outputStr += "=\""; AppendNodeValue ( outputStr, currQual->value, kForAttribute ); outputStr += '"'; } } } // -------------------------------------------------------- // Process the property according to the standard patterns. if ( hasGeneralQualifiers && (! emitAsRDFValue) ) { // ----------------------------------------------------------------------------------------- // This node has general, non-attribute, qualifiers. Emit using the qualified property form. // ! The value is output by a recursive call ON THE SAME NODE with emitAsRDFValue set. if ( hasRDFResourceQual ) { XMP_Throw ( "Can't mix rdf:resource and general qualifiers", kXMPErr_BadRDF ); } outputStr += " rdf:parseType=\"Resource\">"; outputStr += newline; SerializePrettyRDFProperty ( propNode, outputStr, newline, indentStr, indent+1, true ); for ( size_t qualNum = 0, qualLim = propNode->qualifiers.size(); qualNum < qualLim; ++qualNum ) { const XMP_Node * currQual = propNode->qualifiers[qualNum]; if ( IsRDFAttrQualifier ( currQual->name ) ) continue; SerializePrettyRDFProperty ( currQual, outputStr, newline, indentStr, indent+1 ); } } else { // -------------------------------------------------------------------- // This node has no general qualifiers. Emit using an unqualified form. if ( propForm == 0 ) { // -------------------------- // This is a simple property. if ( propNode->options & kXMP_PropValueIsURI ) { outputStr += " rdf:resource=\""; AppendNodeValue ( outputStr, propNode->value, kForAttribute ); outputStr += "\"/>"; outputStr += newline; emitEndTag = false; } else if ( propNode->value.empty() ) { outputStr += "/>"; outputStr += newline; emitEndTag = false; } else { outputStr += '>'; AppendNodeValue ( outputStr, propNode->value, kForElement ); indentEndTag = false; } } else if ( propForm & kXMP_PropValueIsArray ) { // This is an array. outputStr += '>'; outputStr += newline; EmitRDFArrayTag ( propForm, outputStr, newline, indentStr, indent+1, propNode->children.size(), kIsStartTag ); if ( XMP_ArrayIsAltText(propNode->options) ) NormalizeLangArray ( (XMP_Node*)propNode ); for ( size_t childNum = 0, childLim = propNode->children.size(); childNum < childLim; ++childNum ) { const XMP_Node * currChild = propNode->children[childNum]; SerializePrettyRDFProperty ( currChild, outputStr, newline, indentStr, indent+2 ); } EmitRDFArrayTag ( propForm, outputStr, newline, indentStr, indent+1, propNode->children.size(), kIsEndTag ); } else if ( ! hasRDFResourceQual ) { // This is a "normal" struct, use the rdf:parseType="Resource" form. XMP_Assert ( propForm & kXMP_PropValueIsStruct ); if ( propNode->children.size() == 0 ) { outputStr += " rdf:parseType=\"Resource\"/>"; outputStr += newline; emitEndTag = false; } else { outputStr += " rdf:parseType=\"Resource\">"; outputStr += newline; for ( size_t childNum = 0, childLim = propNode->children.size(); childNum < childLim; ++childNum ) { const XMP_Node * currChild = propNode->children[childNum]; SerializePrettyRDFProperty ( currChild, outputStr, newline, indentStr, indent+1 ); } } } else { // This is a struct with an rdf:resource attribute, use the "empty property element" form. XMP_Assert ( propForm & kXMP_PropValueIsStruct ); for ( size_t childNum = 0, childLim = propNode->children.size(); childNum < childLim; ++childNum ) { const XMP_Node * currChild = propNode->children[childNum]; if ( ! CanBeRDFAttrProp ( currChild ) ) { XMP_Throw ( "Can't mix rdf:resource and complex fields", kXMPErr_BadRDF ); } outputStr += newline; for ( level = indent+1; level > 0; --level ) outputStr += indentStr; outputStr += ' '; outputStr += currChild->name; outputStr += "=\""; outputStr += currChild->value; outputStr += '"'; } outputStr += "/>"; outputStr += newline; emitEndTag = false; } } // ---------------------------------- // Emit the property element end tag. if ( emitEndTag ) { if ( indentEndTag ) for ( level = indent; level > 0; --level ) outputStr += indentStr; outputStr += "'; outputStr += newline; } } // SerializePrettyRDFProperty // ------------------------------------------------------------------------------------------------- // SerializePrettyRDFSchema // ------------------------ // // Each schema's properties are written in a separate rdf:Description element. All of the necessary // namespaces are declared in the rdf:Description element. The baseIndent is the base level for the // entire serialization, that of the x:xmpmeta element. An xml:lang qualifier is written as an // attribute of the property start tag, not by itself forcing the qualified property form. // // // // ... The actual properties of the schema, see SerializePrettyRDFProperty // // ... If alias comments are wanted // // static void SerializePrettyRDFSchema ( const XMP_VarString & treeName, const XMP_Node * schemaNode, XMP_VarString & outputStr, XMP_OptionBits options, XMP_StringPtr newline, XMP_StringPtr indentStr, XMP_Index baseIndent ) { XMP_Assert ( schemaNode->options & kXMP_SchemaNode ); XMP_Assert ( schemaNode->qualifiers.empty() ); // Write the rdf:Description start tag with the namespace declarations. XMP_Index level; for ( level = baseIndent+2; level > 0; --level ) outputStr += indentStr; outputStr += kRDF_SchemaStart; outputStr += '"'; outputStr += treeName; outputStr += '"'; size_t totalLen = 8; // Start at 8 for "xml:rdf:". XMP_cStringMapPos currPos = sNamespacePrefixToURIMap->begin(); XMP_cStringMapPos endPos = sNamespacePrefixToURIMap->end(); for ( ; currPos != endPos; ++currPos ) totalLen += currPos->first.size(); XMP_VarString usedNS; usedNS.reserve ( totalLen ); usedNS = "xml:rdf:"; DeclareUsedNamespaces ( schemaNode, usedNS, outputStr, newline, indentStr, baseIndent+4 ); outputStr += ">"; outputStr += newline; // Write alias comments, if wanted. if ( options & kXMP_WriteAliasComments ) { // *** Hoist into a routine, used for Plain XMP also. #if 0 // *** Buggy, disable for now. XMP_cAliasMapPos aliasPos = sRegisteredAliasMap->begin(); XMP_cAliasMapPos aliasEnd = sRegisteredAliasMap->end(); for ( ; aliasPos != aliasEnd; ++aliasPos ) { size_t nsPos = aliasPos->first.find ( schemaNode->value ); if ( nsPos == XMP_VarString::npos ) continue; XMP_Assert ( nsPos == 0 ); for ( level = baseIndent+3; level > 0; --level ) outputStr += indentStr; outputStr += ""; outputStr += newline; } #endif } // Write each of the schema's actual properties. for ( size_t propNum = 0, propLim = schemaNode->children.size(); propNum < propLim; ++propNum ) { const XMP_Node * currProp = schemaNode->children[propNum]; SerializePrettyRDFProperty ( currProp, outputStr, newline, indentStr, baseIndent+3 ); } // Write the rdf:Description end tag. for ( level = baseIndent+2; level > 0; --level ) outputStr += indentStr; outputStr += kRDF_SchemaEnd; outputStr += newline; } // SerializePrettyRDFSchema // ------------------------------------------------------------------------------------------------- // SerializeCompactRDFAttrProps // ---------------------------- // // Write each of the parent's simple unqualified properties as an attribute. Returns true if all // of the properties are written as attributes. static bool SerializeCompactRDFAttrProps ( const XMP_Node * parentNode, XMP_VarString & outputStr, XMP_StringPtr newline, XMP_StringPtr indentStr, XMP_Index indent ) { size_t prop, propLim; bool allAreAttrs = true; for ( prop = 0, propLim = parentNode->children.size(); prop != propLim; ++prop ) { const XMP_Node * currProp = parentNode->children[prop]; if ( ! CanBeRDFAttrProp ( currProp ) ) { allAreAttrs = false; continue; } outputStr += newline; for ( XMP_Index level = indent; level > 0; --level ) outputStr += indentStr; outputStr += currProp->name; outputStr += "=\""; AppendNodeValue ( outputStr, currProp->value, kForAttribute ); outputStr += '"'; } return allAreAttrs; } // SerializeCompactRDFAttrProps // ------------------------------------------------------------------------------------------------- // SerializeCompactRDFElemProps // ---------------------------- // // Recursively handles the "value" for a node that must be written as an RDF property element. It // does not matter if it is a top level property, a field of a struct, or an item of an array. The // indent is that for the property element. The patterns bwlow ignore attribute qualifiers such as // xml:lang, they don't affect the output form. // // // // // ... The fields as elements, if none are simple and unqualified // // // // // ... The compound or qualified fields as elements // // // // // or Seq or Alt // ... Array items as rdf:li elements, same forms as top level properties // // // // // ... Property "value" following the unqualified forms ... // ... Qualifiers looking like named struct fields // // *** Consider numbered array items, but has compatibility problems. // *** Consider qualified form with rdf:Description and attributes. static void SerializeCompactRDFElemProps ( const XMP_Node * parentNode, XMP_VarString & outputStr, XMP_StringPtr newline, XMP_StringPtr indentStr, XMP_Index indent ) { XMP_Index level; for ( size_t prop = 0, propLim = parentNode->children.size(); prop != propLim; ++prop ) { const XMP_Node * propNode = parentNode->children[prop]; if ( CanBeRDFAttrProp ( propNode ) ) continue; bool emitEndTag = true; bool indentEndTag = true; XMP_OptionBits propForm = propNode->options & kXMP_PropCompositeMask; // ----------------------------------------------------------------------------------- // Determine the XML element name, write the name part of the start tag. Look over the // qualifiers to decide on "normal" versus "rdf:value" form. Emit the attribute // qualifiers at the same time. XMP_StringPtr elemName = propNode->name.c_str(); if ( *elemName == '[' ) elemName = "rdf:li"; for ( level = indent; level > 0; --level ) outputStr += indentStr; outputStr += '<'; outputStr += elemName; #define isCompact false bool hasGeneralQualifiers = isCompact; // Might also become true later. bool hasRDFResourceQual = false; for ( size_t qualNum = 0, qualLim = propNode->qualifiers.size(); qualNum < qualLim; ++qualNum ) { const XMP_Node * currQual = propNode->qualifiers[qualNum]; if ( ! IsRDFAttrQualifier ( currQual->name ) ) { hasGeneralQualifiers = true; } else { if ( currQual->name == "rdf:resource" ) hasRDFResourceQual = true; outputStr += ' '; outputStr += currQual->name; outputStr += "=\""; AppendNodeValue ( outputStr, currQual->value, kForAttribute ); outputStr += '"'; } } // -------------------------------------------------------- // Process the property according to the standard patterns. if ( hasGeneralQualifiers ) { // ------------------------------------------------------------------------------------- // The node has general qualifiers, ones that can't be attributes on a property element. // Emit using the qualified property pseudo-struct form. The value is output by a call // to SerializePrettyRDFProperty with emitAsRDFValue set. // *** We're losing compactness in the calls to SerializePrettyRDFProperty. // *** Should refactor to have SerializeCompactRDFProperty that does one node. outputStr += " rdf:parseType=\"Resource\">"; outputStr += newline; SerializePrettyRDFProperty ( propNode, outputStr, newline, indentStr, indent+1, true ); size_t qualNum = 0; size_t qualLim = propNode->qualifiers.size(); if ( propNode->options & kXMP_PropHasLang ) ++qualNum; for ( ; qualNum < qualLim; ++qualNum ) { const XMP_Node * currQual = propNode->qualifiers[qualNum]; SerializePrettyRDFProperty ( currQual, outputStr, newline, indentStr, indent+1 ); } } else { // -------------------------------------------------------------------- // This node has only attribute qualifiers. Emit as a property element. if ( propForm == 0 ) { // -------------------------- // This is a simple property. if ( propNode->options & kXMP_PropValueIsURI ) { outputStr += " rdf:resource=\""; AppendNodeValue ( outputStr, propNode->value, kForAttribute ); outputStr += "\"/>"; outputStr += newline; emitEndTag = false; } else if ( propNode->value.empty() ) { outputStr += "/>"; outputStr += newline; emitEndTag = false; } else { outputStr += '>'; AppendNodeValue ( outputStr, propNode->value, kForElement ); indentEndTag = false; } } else if ( propForm & kXMP_PropValueIsArray ) { // ----------------- // This is an array. outputStr += '>'; outputStr += newline; EmitRDFArrayTag ( propForm, outputStr, newline, indentStr, indent+1, propNode->children.size(), kIsStartTag ); if ( XMP_ArrayIsAltText(propNode->options) ) NormalizeLangArray ( (XMP_Node*)propNode ); SerializeCompactRDFElemProps ( propNode, outputStr, newline, indentStr, indent+2 ); EmitRDFArrayTag ( propForm, outputStr, newline, indentStr, indent+1, propNode->children.size(), kIsEndTag ); } else { // ---------------------- // This must be a struct. XMP_Assert ( propForm & kXMP_PropValueIsStruct ); bool hasAttrFields = false; bool hasElemFields = false; size_t field, fieldLim; for ( field = 0, fieldLim = propNode->children.size(); field != fieldLim; ++field ) { XMP_Node * currField = propNode->children[field]; if ( CanBeRDFAttrProp ( currField ) ) { hasAttrFields = true; if ( hasElemFields ) break; // No sense looking further. } else { hasElemFields = true; if ( hasAttrFields ) break; // No sense looking further. } } if ( hasRDFResourceQual && hasElemFields ) { XMP_Throw ( "Can't mix rdf:resource qualifier and element fields", kXMPErr_BadRDF ); } if ( propNode->children.size() == 0 ) { // Catch an empty struct as a special case. The case below would emit an empty // XML element, which gets reparsed as a simple property with an empty value. outputStr += " rdf:parseType=\"Resource\"/>"; outputStr += newline; emitEndTag = false; } else if ( ! hasElemFields ) { // All fields can be attributes, use the emptyPropertyElt form. SerializeCompactRDFAttrProps ( propNode, outputStr, newline, indentStr, indent+1 ); outputStr += "/>"; outputStr += newline; emitEndTag = false; } else if ( ! hasAttrFields ) { // All fields must be elements, use the parseTypeResourcePropertyElt form. outputStr += " rdf:parseType=\"Resource\">"; outputStr += newline; SerializeCompactRDFElemProps ( propNode, outputStr, newline, indentStr, indent+1 ); } else { // Have a mix of attributes and elements, use an inner rdf:Description. outputStr += '>'; outputStr += newline; for ( level = indent+1; level > 0; --level ) outputStr += indentStr; outputStr += " 0; --level ) outputStr += indentStr; outputStr += kRDF_StructEnd; outputStr += newline; } } } // ---------------------------------- // Emit the property element end tag. if ( emitEndTag ) { if ( indentEndTag ) for ( level = indent; level > 0; --level ) outputStr += indentStr; outputStr += "'; outputStr += newline; } } } // SerializeCompactRDFElemProps // ------------------------------------------------------------------------------------------------- // SerializeCompactRDFSchemas // -------------------------- // // All properties from all schema are written in a single rdf:Description element, as are all of the // necessary namespace declarations. The baseIndent is the base level for the entire serialization, // that of the x:xmpmeta element. The x:xmpmeta and rdf:RDF elements have already been written. // // Top level simple unqualified properties are written as attributes of the (only) rdf:Description // element. Structs, arrays, and qualified properties are written by SerializeCompactRDFElemProp. An // xml:lang qualifier on a simple property prevents the attribute form. // // // ... The remaining properties of the schema, see SerializeCompactRDFElemProps // static void SerializeCompactRDFSchemas ( const XMP_Node & xmpTree, XMP_VarString & outputStr, XMP_StringPtr newline, XMP_StringPtr indentStr, XMP_Index baseIndent ) { XMP_Index level; size_t schema, schemaLim; // Begin the rdf:Description start tag. for ( level = baseIndent+2; level > 0; --level ) outputStr += indentStr; outputStr += kRDF_SchemaStart; outputStr += '"'; outputStr += xmpTree.name; outputStr += '"'; // Write all necessary xmlns attributes. size_t totalLen = 8; // Start at 8 for "xml:rdf:". XMP_cStringMapPos currPos = sNamespacePrefixToURIMap->begin(); XMP_cStringMapPos endPos = sNamespacePrefixToURIMap->end(); for ( ; currPos != endPos; ++currPos ) totalLen += currPos->first.size(); XMP_VarString usedNS; usedNS.reserve ( totalLen ); usedNS = "xml:rdf:"; for ( schema = 0, schemaLim = xmpTree.children.size(); schema != schemaLim; ++schema ) { const XMP_Node * currSchema = xmpTree.children[schema]; DeclareUsedNamespaces ( currSchema, usedNS, outputStr, newline, indentStr, baseIndent+4 ); } // Write the top level "attrProps" and close the rdf:Description start tag. bool allAreAttrs = true; for ( schema = 0, schemaLim = xmpTree.children.size(); schema != schemaLim; ++schema ) { const XMP_Node * currSchema = xmpTree.children[schema]; allAreAttrs &= SerializeCompactRDFAttrProps ( currSchema, outputStr, newline, indentStr, baseIndent+3 ); } if ( ! allAreAttrs ) { outputStr += ">"; outputStr += newline; } else { outputStr += "/>"; outputStr += newline; return; // ! Done if all properties in all schema are written as attributes. } // Write the remaining properties for each schema. for ( schema = 0, schemaLim = xmpTree.children.size(); schema != schemaLim; ++schema ) { const XMP_Node * currSchema = xmpTree.children[schema]; SerializeCompactRDFElemProps ( currSchema, outputStr, newline, indentStr, baseIndent+3 ); } // Write the rdf:Description end tag. // *** Elide the end tag if everything (all props in all schema) is an attr. for ( level = baseIndent+2; level > 0; --level ) outputStr += indentStr; outputStr += kRDF_SchemaEnd; outputStr += newline; } // SerializeCompactRDFSchemas // ------------------------------------------------------------------------------------------------- // SerializeAsRDF // -------------- // // // // // // ... The properties, see SerializePrettyRDFSchema or SerializeCompactRDFSchemas // // // // // *** Need to strip empty arrays? // *** Option to strip/keep empty structs? // *** Need to verify handling of rdf:type qualifiers in pretty and compact. // *** Need to verify round tripping of rdf:ID and similar qualifiers, see RDF 7.2.21. // *** Check cases of rdf:resource plus explicit attr qualifiers (like xml:lang). static void SerializeAsRDF ( const XMPMeta & xmpObj, XMP_VarString & headStr, // Everything up to the padding. XMP_VarString & tailStr, // Everything after the padding. XMP_OptionBits options, XMP_StringPtr newline, XMP_StringPtr indentStr, XMP_Index baseIndent ) { const size_t treeNameLen = xmpObj.tree.name.size(); const size_t indentLen = strlen ( indentStr ); // First estimate the worst case space and reserve room in the output string. This optimization // avoids reallocating and copying the output as it grows. The initial count does not look at // the values of properties, so it does not account for character entities, e.g. for newline. // Since there can be a lot of these in things like the base 64 encoding of a large thumbnail, // inflate the count by 1/4 (easy to do) to accommodate. // *** Need to include estimate for alias comments. size_t outputLen = 2 * (strlen(kPacketHeader) + strlen(kRDF_XMPMetaStart) + strlen(kRDF_RDFStart) + 3*baseIndent*indentLen); for ( size_t schemaNum = 0, schemaLim = xmpObj.tree.children.size(); schemaNum < schemaLim; ++schemaNum ) { const XMP_Node * currSchema = xmpObj.tree.children[schemaNum]; outputLen += 2*(baseIndent+2)*indentLen + strlen(kRDF_SchemaStart) + treeNameLen + strlen(kRDF_SchemaEnd) + 2; outputLen += EstimateRDFSize ( currSchema, baseIndent+2, indentLen ); } outputLen += (outputLen >> 2); // Inflate by 1/4, an empirical fudge factor. // Now generate the RDF into the head string as UTF-8. XMP_Index level; headStr.erase(); headStr.reserve ( outputLen ); // Write the packet header PI. if ( ! (options & kXMP_OmitPacketWrapper) ) { for ( level = baseIndent; level > 0; --level ) headStr += indentStr; headStr += kPacketHeader; headStr += newline; } // Write the xmpmeta element's start tag. if ( ! (options & kXMP_OmitXMPMetaElement) ) { for ( level = baseIndent; level > 0; --level ) headStr += indentStr; headStr += kRDF_XMPMetaStart; headStr += kXMPCore_VersionMessage "\">"; headStr += newline; } // Write the rdf:RDF start tag. for ( level = baseIndent+1; level > 0; --level ) headStr += indentStr; headStr += kRDF_RDFStart; headStr += newline; // Write all of the properties. if ( options & kXMP_UseCompactFormat ) { SerializeCompactRDFSchemas ( xmpObj.tree, headStr, newline, indentStr, baseIndent ); } else { if ( xmpObj.tree.children.size() > 0 ) { for ( size_t schemaNum = 0, schemaLim = xmpObj.tree.children.size(); schemaNum < schemaLim; ++schemaNum ) { const XMP_Node * currSchema = xmpObj.tree.children[schemaNum]; SerializePrettyRDFSchema ( xmpObj.tree.name, currSchema, headStr, options, newline, indentStr, baseIndent ); } } else { for ( XMP_Index level = baseIndent+2; level > 0; --level ) headStr += indentStr; headStr += kRDF_SchemaStart; // Special case an empty XMP object. headStr += '"'; headStr += xmpObj.tree.name; headStr += "\"/>"; headStr += newline; } } // Write the rdf:RDF end tag. for ( level = baseIndent+1; level > 0; --level ) headStr += indentStr; headStr += kRDF_RDFEnd; headStr += newline; // Write the xmpmeta end tag. if ( ! (options & kXMP_OmitXMPMetaElement) ) { for ( level = baseIndent; level > 0; --level ) headStr += indentStr; headStr += kRDF_XMPMetaEnd; headStr += newline; } // Write the packet trailer PI into the tail string as UTF-8. tailStr.erase(); if ( ! (options & kXMP_OmitPacketWrapper) ) { tailStr.reserve ( strlen(kPacketTrailer) + (strlen(indentStr) * baseIndent) ); for ( level = baseIndent; level > 0; --level ) tailStr += indentStr; tailStr += kPacketTrailer; if ( options & kXMP_ReadOnlyPacket ) tailStr[tailStr.size()-4] = 'r'; } // ! This assert is just a performance check, to see if the reserve was enough. // *** XMP_Assert ( headStr.size() <= outputLen ); // *** Don't use an assert. Think of some way to track this without risk of aborting the client. } // SerializeAsRDF // ------------------------------------------------------------------------------------------------- // SerializeToBuffer // ----------------- void XMPMeta::SerializeToBuffer ( XMP_StringPtr * rdfString, XMP_StringLen * rdfSize, XMP_OptionBits options, XMP_StringLen padding, XMP_StringPtr newline, XMP_StringPtr indentStr, XMP_Index baseIndent ) const { XMP_Assert ( (rdfString != 0) && (rdfSize != 0) && (newline != 0) && (indentStr != 0) ); // Fix up some default parameters. enum { kDefaultPad = 2048 }; size_t unicodeUnitSize = 1; XMP_OptionBits charEncoding = options & kXMP_EncodingMask; if ( charEncoding != kXMP_EncodeUTF8 ) { if ( options & _XMP_UTF16_Bit ) { if ( options & _XMP_UTF32_Bit ) XMP_Throw ( "Can't use both _XMP_UTF16_Bit and _XMP_UTF32_Bit", kXMPErr_BadOptions ); unicodeUnitSize = 2; } else if ( options & _XMP_UTF32_Bit ) { unicodeUnitSize = 4; } else { XMP_Throw ( "Can't use _XMP_LittleEndian_Bit by itself", kXMPErr_BadOptions ); } } if ( options & kXMP_OmitAllFormatting ) { newline = " "; // ! Yes, a space for "newline". This ensures token separation. indentStr = ""; } else { if ( *newline == 0 ) newline = "\xA"; // Linefeed if ( *indentStr == 0 ) { indentStr = " "; if ( ! (options & kXMP_UseCompactFormat) ) indentStr = " "; } } if ( options & kXMP_ExactPacketLength ) { if ( options & (kXMP_OmitPacketWrapper | kXMP_IncludeThumbnailPad) ) { XMP_Throw ( "Inconsistent options for exact size serialize", kXMPErr_BadOptions ); } if ( (padding & (unicodeUnitSize-1)) != 0 ) { XMP_Throw ( "Exact size must be a multiple of the Unicode element", kXMPErr_BadOptions ); } } else if ( options & kXMP_ReadOnlyPacket ) { if ( options & (kXMP_OmitPacketWrapper | kXMP_IncludeThumbnailPad) ) { XMP_Throw ( "Inconsistent options for read-only packet", kXMPErr_BadOptions ); } padding = 0; } else if ( options & kXMP_OmitPacketWrapper ) { if ( options & kXMP_IncludeThumbnailPad ) { XMP_Throw ( "Inconsistent options for non-packet serialize", kXMPErr_BadOptions ); } padding = 0; } else { if ( padding == 0 ) padding = kDefaultPad * unicodeUnitSize; if ( options & kXMP_IncludeThumbnailPad ) { if ( ! this->DoesPropertyExist ( kXMP_NS_XMP, "Thumbnails" ) ) padding += (10000 * unicodeUnitSize); // *** Need a better estimate. } } // Serialize as UTF-8, then convert to UTF-16 or UTF-32 if necessary, and assemble with the padding and tail. std::string tailStr; SerializeAsRDF ( *this, *sOutputStr, tailStr, options, newline, indentStr, baseIndent ); if ( charEncoding == kXMP_EncodeUTF8 ) { if ( options & kXMP_ExactPacketLength ) { size_t minSize = sOutputStr->size() + tailStr.size(); if ( minSize > padding ) XMP_Throw ( "Can't fit into specified packet size", kXMPErr_BadSerialize ); padding -= minSize; // Now the actual amount of padding to add. } size_t newlineLen = strlen ( newline ); if ( padding < newlineLen ) { sOutputStr->append ( padding, ' ' ); } else { padding -= newlineLen; // Write this newline last. while ( padding >= (100 + newlineLen) ) { sOutputStr->append ( 100, ' ' ); *sOutputStr += newline; padding -= (100 + newlineLen); } sOutputStr->append ( padding, ' ' ); *sOutputStr += newline; } *sOutputStr += tailStr; } else { // Need to convert the encoding. Swap the UTF-8 into a local string and convert back. Assemble everything. XMP_VarString utf8Str, newlineStr; bool bigEndian = ((charEncoding & _XMP_LittleEndian_Bit) == 0); if ( charEncoding & _XMP_UTF16_Bit ) { std::string padStr ( " " ); padStr[0] = 0; // Assume big endian. utf8Str.swap ( *sOutputStr ); ToUTF16 ( (UTF8Unit*)utf8Str.c_str(), utf8Str.size(), sOutputStr, bigEndian ); utf8Str.swap ( tailStr ); ToUTF16 ( (UTF8Unit*)utf8Str.c_str(), utf8Str.size(), &tailStr, bigEndian ); if ( options & kXMP_ExactPacketLength ) { size_t minSize = sOutputStr->size() + tailStr.size(); if ( minSize > padding ) XMP_Throw ( "Can't fit into specified packet size", kXMPErr_BadSerialize ); padding -= minSize; // Now the actual amount of padding to add (in bytes). } utf8Str.assign ( newline ); ToUTF16 ( (UTF8Unit*)utf8Str.c_str(), utf8Str.size(), &newlineStr, bigEndian ); size_t newlineLen = newlineStr.size(); if ( padding < newlineLen ) { for ( int i = padding/2; i > 0; --i ) *sOutputStr += padStr; } else { padding -= newlineLen; // Write this newline last. while ( padding >= (200 + newlineLen) ) { for ( int i = 100; i > 0; --i ) *sOutputStr += padStr; *sOutputStr += newlineStr; padding -= (200 + newlineLen); } for ( int i = padding/2; i > 0; --i ) *sOutputStr += padStr; *sOutputStr += newlineStr; } *sOutputStr += tailStr; } else { std::string padStr ( " " ); padStr[0] = padStr[1] = padStr[2] = 0; // Assume big endian. // UTF8_to_UTF32_Proc Converter = UTF8_to_UTF32BE; if ( charEncoding & _XMP_LittleEndian_Bit ) { padStr[0] = ' '; padStr[1] = padStr[2] = padStr[3] = 0; // Converter = UTF8_to_UTF32LE; } utf8Str.swap ( *sOutputStr ); ToUTF32 ( (UTF8Unit*)utf8Str.c_str(), utf8Str.size(), sOutputStr, bigEndian ); utf8Str.swap ( tailStr ); ToUTF32 ( (UTF8Unit*)utf8Str.c_str(), utf8Str.size(), &tailStr, bigEndian ); if ( options & kXMP_ExactPacketLength ) { size_t minSize = sOutputStr->size() + tailStr.size(); if ( minSize > padding ) XMP_Throw ( "Can't fit into specified packet size", kXMPErr_BadSerialize ); padding -= minSize; // Now the actual amount of padding to add (in bytes). } utf8Str.assign ( newline ); ToUTF32 ( (UTF8Unit*)utf8Str.c_str(), utf8Str.size(), &newlineStr, bigEndian ); size_t newlineLen = newlineStr.size(); if ( padding < newlineLen ) { for ( int i = padding/4; i > 0; --i ) *sOutputStr += padStr; } else { padding -= newlineLen; // Write this newline last. while ( padding >= (400 + newlineLen) ) { for ( int i = 100; i > 0; --i ) *sOutputStr += padStr; *sOutputStr += newlineStr; padding -= (400 + newlineLen); } for ( int i = padding/4; i > 0; --i ) *sOutputStr += padStr; *sOutputStr += newlineStr; } *sOutputStr += tailStr; } } // Return the finished string. *rdfString = sOutputStr->c_str(); *rdfSize = sOutputStr->size(); } // SerializeToBuffer // ================================================================================================= exiv2-0.25/xmpsdk/src/ExpatAdapter.cpp0000664000175000017500000004040111465256713017507 0ustar andreasandreas// ================================================================================================= // Copyright 2005-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" // ! Must be the first #include! #include "XMPCore_Impl.hpp" #include "ExpatAdapter.hpp" #include "XMPMeta.hpp" #include "expat.h" #include using namespace std; #if XMP_WinBuild # ifdef _MSC_VER #pragma warning ( disable : 4996 ) // '...' was declared deprecated # endif #endif // *** Set memory handlers. #ifndef DumpXMLParseEvents #define DumpXMLParseEvents 0 #endif #define FullNameSeparator '@' // ================================================================================================= static void StartNamespaceDeclHandler ( void * userData, XMP_StringPtr prefix, XMP_StringPtr uri ); static void EndNamespaceDeclHandler ( void * userData, XMP_StringPtr prefix ); static void StartElementHandler ( void * userData, XMP_StringPtr name, XMP_StringPtr* attrs ); static void EndElementHandler ( void * userData, XMP_StringPtr name ); static void CharacterDataHandler ( void * userData, XMP_StringPtr cData, int len ); static void StartCdataSectionHandler ( void * userData ); static void EndCdataSectionHandler ( void * userData ); static void ProcessingInstructionHandler ( void * userData, XMP_StringPtr target, XMP_StringPtr data ); static void CommentHandler ( void * userData, XMP_StringPtr comment ); #if BanAllEntityUsage // For now we do this by banning DOCTYPE entirely. This is easy and consistent with what is // available in recent Java XML parsers. Another, somewhat less drastic, approach would be to // ban all entity declarations. We can't allow declarations and ban references, Expat does not // call the SkippedEntityHandler for references in attribute values. // ! Standard entities (&, <, >, ", ', and numeric character references) are // ! not banned. Expat handles them transparently no matter what. static void StartDoctypeDeclHandler ( void * userData, XMP_StringPtr doctypeName, XMP_StringPtr sysid, XMP_StringPtr pubid, int has_internal_subset ); #endif // ================================================================================================= extern "C" ExpatAdapter * XMP_NewExpatAdapter() { return new ExpatAdapter; } // XMP_NewExpatAdapter // ================================================================================================= ExpatAdapter::ExpatAdapter() : parser(0) { #if XMP_DebugBuild this->elemNesting = 0; #if DumpXMLParseEvents if ( this->parseLog == 0 ) this->parseLog = stdout; #endif #endif this->parser = XML_ParserCreateNS ( 0, FullNameSeparator ); if ( this->parser == 0 ) XMP_Throw ( "Failure creating Expat parser", kXMPErr_ExternalFailure ); XML_SetUserData ( this->parser, this ); XML_SetNamespaceDeclHandler ( this->parser, StartNamespaceDeclHandler, EndNamespaceDeclHandler ); XML_SetElementHandler ( this->parser, StartElementHandler, EndElementHandler ); XML_SetCharacterDataHandler ( this->parser, CharacterDataHandler ); XML_SetCdataSectionHandler ( this->parser, StartCdataSectionHandler, EndCdataSectionHandler ); XML_SetProcessingInstructionHandler ( this->parser, ProcessingInstructionHandler ); XML_SetCommentHandler ( this->parser, CommentHandler ); #if BanAllEntityUsage XML_SetStartDoctypeDeclHandler ( this->parser, StartDoctypeDeclHandler ); isAborted = false; #endif this->parseStack.push_back ( &this->tree ); // Push the XML root node. } // ExpatAdapter::ExpatAdapter // ================================================================================================= ExpatAdapter::~ExpatAdapter() { if ( this->parser != 0 ) XML_ParserFree ( this->parser ); this->parser = 0; } // ExpatAdapter::~ExpatAdapter // ================================================================================================= #if XMP_DebugBuild static XMP_VarString sExpatMessage; #endif static const char * kOneSpace = " "; void ExpatAdapter::ParseBuffer ( const void * buffer, size_t length, bool last /* = true */ ) { enum XML_Status status; if ( length == 0 ) { // Expat does not like empty buffers. if ( ! last ) return; buffer = kOneSpace; length = 1; } status = XML_Parse ( this->parser, (const char *)buffer, length, last ); #if BanAllEntityUsage if ( this->isAborted ) XMP_Throw ( "DOCTYPE is not allowed", kXMPErr_BadXML ); #endif if ( status != XML_STATUS_OK ) { XMP_StringPtr errMsg = "XML parsing failure"; #if 0 // XMP_DebugBuild // Disable for now to make test output uniform. Restore later with thread safety. // *** This is a good candidate for a callback error notification mechanism. // *** This code is not thread safe, the sExpatMessage isn't locked. But that's OK for debug usage. enum XML_Error expatErr = XML_GetErrorCode ( this->parser ); const char * expatMsg = XML_ErrorString ( expatErr ); int errLine = XML_GetCurrentLineNumber ( this->parser ); char msgBuffer[1000]; // AUDIT: Use of sizeof(msgBuffer) for snprintf length is safe. snprintf ( msgBuffer, sizeof(msgBuffer), "# Expat error %d at line %d, \"%s\"", expatErr, errLine, expatMsg ); sExpatMessage = msgBuffer; errMsg = sExpatMessage.c_str(); #if DumpXMLParseEvents if ( this->parseLog != 0 ) fprintf ( this->parseLog, "%s\n", errMsg, expatErr, errLine, expatMsg ); #endif #endif XMP_Throw ( errMsg, kXMPErr_BadXML ); } } // ExpatAdapter::ParseBuffer // ================================================================================================= // ================================================================================================= #if XMP_DebugBuild & DumpXMLParseEvents static inline void PrintIndent ( FILE * file, size_t count ) { for ( ; count > 0; --count ) fprintf ( file, " " ); } #endif // ================================================================================================= static void SetQualName ( XMP_StringPtr fullName, XML_Node * node ) { // Expat delivers the full name as a catenation of namespace URI, separator, and local name. // As a compatibility hack, an "about" or "ID" attribute of an rdf:Description element is // changed to "rdf:about" or rdf:ID. Easier done here than in the RDF recognizer. // As a bug fix hack, change a URI of "http://purl.org/dc/1.1/" to ""http://purl.org/dc/elements/1.1/. // Early versions of Flash that put XMP in SWF used a bad URI for the dc: namespace. // ! This code presumes the RDF namespace prefix is "rdf". size_t sepPos = strlen(fullName); for ( --sepPos; sepPos > 0; --sepPos ) { if ( fullName[sepPos] == FullNameSeparator ) break; } if ( fullName[sepPos] == FullNameSeparator ) { XMP_StringPtr prefix; XMP_StringLen prefixLen; XMP_StringPtr localPart = fullName + sepPos + 1; node->ns.assign ( fullName, sepPos ); if ( node->ns == "http://purl.org/dc/1.1/" ) node->ns = "http://purl.org/dc/elements/1.1/"; bool found = XMPMeta::GetNamespacePrefix ( node->ns.c_str(), &prefix, &prefixLen ); if ( ! found ) XMP_Throw ( "Unknown URI in Expat full name", kXMPErr_ExternalFailure ); node->nsPrefixLen = prefixLen; // ! Includes the ':'. node->name = prefix; node->name += localPart; } else { node->name = fullName; // The name is not in a namespace. if ( node->parent->name == "rdf:Description" ) { if ( node->name == "about" ) { node->ns = kXMP_NS_RDF; node->name = "rdf:about"; node->nsPrefixLen = 4; // ! Include the ':'. } else if ( node->name == "ID" ) { node->ns = kXMP_NS_RDF; node->name = "rdf:ID"; node->nsPrefixLen = 4; // ! Include the ':'. } } } } // SetQualName // ================================================================================================= static void StartNamespaceDeclHandler ( void * userData, XMP_StringPtr prefix, XMP_StringPtr uri ) { IgnoreParam(userData); // As a bug fix hack, change a URI of "http://purl.org/dc/1.1/" to ""http://purl.org/dc/elements/1.1/. // Early versions of Flash that put XMP in SWF used a bad URI for the dc: namespace. #if XMP_DebugBuild & DumpXMLParseEvents // Avoid unused variable warning. ExpatAdapter * thiz = (ExpatAdapter*)userData; #endif if ( prefix == 0 ) prefix = "_dflt_"; // Have default namespace. if ( uri == 0 ) return; // Ignore, have xmlns:pre="", no URI to register. #if XMP_DebugBuild & DumpXMLParseEvents if ( thiz->parseLog != 0 ) { PrintIndent ( thiz->parseLog, thiz->elemNesting ); fprintf ( thiz->parseLog, "StartNamespace: %s - \"%s\"\n", prefix, uri ); } #endif if ( XMP_LitMatch ( uri, "http://purl.org/dc/1.1/" ) ) uri = "http://purl.org/dc/elements/1.1/"; XMPMeta::RegisterNamespace ( uri, prefix ); } // StartNamespaceDeclHandler // ================================================================================================= static void EndNamespaceDeclHandler ( void * userData, XMP_StringPtr prefix ) { IgnoreParam(userData); #if XMP_DebugBuild & DumpXMLParseEvents // Avoid unused variable warning. ExpatAdapter * thiz = (ExpatAdapter*)userData; #endif if ( prefix == 0 ) prefix = "_dflt_"; // Have default namespace. #if XMP_DebugBuild & DumpXMLParseEvents if ( thiz->parseLog != 0 ) { PrintIndent ( thiz->parseLog, thiz->elemNesting ); fprintf ( thiz->parseLog, "EndNamespace: %s\n", prefix ); } #endif // ! Nothing to do, Expat has done all of the XML processing. } // EndNamespaceDeclHandler // ================================================================================================= static void StartElementHandler ( void * userData, XMP_StringPtr name, XMP_StringPtr* attrs ) { XMP_Assert ( attrs != 0 ); ExpatAdapter * thiz = (ExpatAdapter*)userData; size_t attrCount = 0; for ( XMP_StringPtr* a = attrs; *a != 0; ++a ) ++attrCount; if ( (attrCount & 1) != 0 ) XMP_Throw ( "Expat attribute info has odd length", kXMPErr_ExternalFailure ); attrCount = attrCount/2; // They are name/value pairs. #if XMP_DebugBuild & DumpXMLParseEvents if ( thiz->parseLog != 0 ) { PrintIndent ( thiz->parseLog, thiz->elemNesting ); fprintf ( thiz->parseLog, "StartElement: %s, %d attrs", name, attrCount ); for ( XMP_StringPtr* attr = attrs; *attr != 0; attr += 2 ) { XMP_StringPtr attrName = *attr; XMP_StringPtr attrValue = *(attr+1); fprintf ( thiz->parseLog, ", %s = \"%s\"", attrName, attrValue ); } fprintf ( thiz->parseLog, "\n" ); } #endif XML_Node * parentNode = thiz->parseStack.back(); XML_Node * elemNode = new XML_Node ( parentNode, "", kElemNode ); SetQualName ( name, elemNode ); for ( XMP_StringPtr* attr = attrs; *attr != 0; attr += 2 ) { XMP_StringPtr attrName = *attr; XMP_StringPtr attrValue = *(attr+1); XML_Node * attrNode = new XML_Node ( elemNode, "", kAttrNode ); SetQualName ( attrName, attrNode ); attrNode->value = attrValue; if ( attrNode->name == "xml:lang" ) NormalizeLangValue ( &attrNode->value ); elemNode->attrs.push_back ( attrNode ); } parentNode->content.push_back ( elemNode ); thiz->parseStack.push_back ( elemNode ); if ( elemNode->name == "rdf:RDF" ) { thiz->rootNode = elemNode; ++thiz->rootCount; } #if XMP_DebugBuild ++thiz->elemNesting; #endif } // StartElementHandler // ================================================================================================= static void EndElementHandler ( void * userData, XMP_StringPtr name ) { IgnoreParam(name); ExpatAdapter * thiz = (ExpatAdapter*)userData; #if XMP_DebugBuild --thiz->elemNesting; #endif (void) thiz->parseStack.pop_back(); #if XMP_DebugBuild & DumpXMLParseEvents if ( thiz->parseLog != 0 ) { PrintIndent ( thiz->parseLog, thiz->elemNesting ); fprintf ( thiz->parseLog, "EndElement: %s\n", name ); } #endif } // EndElementHandler // ================================================================================================= static void CharacterDataHandler ( void * userData, XMP_StringPtr cData, int len ) { ExpatAdapter * thiz = (ExpatAdapter*)userData; if ( (cData == 0) || (len == 0) ) { cData = ""; len = 0; } #if XMP_DebugBuild & DumpXMLParseEvents if ( thiz->parseLog != 0 ) { PrintIndent ( thiz->parseLog, thiz->elemNesting ); fprintf ( thiz->parseLog, "CharContent: \"" ); for ( int i = 0; i < len; ++i ) fprintf ( thiz->parseLog, "%c", cData[i] ); fprintf ( thiz->parseLog, "\"\n" ); } #endif XML_Node * parentNode = thiz->parseStack.back(); XML_Node * cDataNode = new XML_Node ( parentNode, "", kCDataNode ); cDataNode->value.assign ( cData, len ); parentNode->content.push_back ( cDataNode ); } // CharacterDataHandler // ================================================================================================= static void StartCdataSectionHandler ( void * userData ) { IgnoreParam(userData); #if XMP_DebugBuild & DumpXMLParseEvents // Avoid unused variable warning. ExpatAdapter * thiz = (ExpatAdapter*)userData; #endif #if XMP_DebugBuild & DumpXMLParseEvents if ( thiz->parseLog != 0 ) { PrintIndent ( thiz->parseLog, thiz->elemNesting ); fprintf ( thiz->parseLog, "StartCDATA\n" ); } #endif // *** Since markup isn't recognized inside CDATA, this affects XMP's double escaping. } // StartCdataSectionHandler // ================================================================================================= static void EndCdataSectionHandler ( void * userData ) { IgnoreParam(userData); #if XMP_DebugBuild & DumpXMLParseEvents // Avoid unused variable warning. ExpatAdapter * thiz = (ExpatAdapter*)userData; #endif #if XMP_DebugBuild & DumpXMLParseEvents if ( thiz->parseLog != 0 ) { PrintIndent ( thiz->parseLog, thiz->elemNesting ); fprintf ( thiz->parseLog, "EndCDATA\n" ); } #endif } // EndCdataSectionHandler // ================================================================================================= static void ProcessingInstructionHandler ( void * userData, XMP_StringPtr target, XMP_StringPtr data ) { XMP_Assert ( target != 0 ); ExpatAdapter * thiz = (ExpatAdapter*)userData; if ( ! XMP_LitMatch ( target, "xpacket" ) ) return; // Ignore all PIs except the XMP packet wrapper. if ( data == 0 ) data = ""; #if XMP_DebugBuild & DumpXMLParseEvents if ( thiz->parseLog != 0 ) { PrintIndent ( thiz->parseLog, thiz->elemNesting ); fprintf ( thiz->parseLog, "PI: %s - \"%s\"\n", target, data ); } #endif XML_Node * parentNode = thiz->parseStack.back(); XML_Node * piNode = new XML_Node ( parentNode, target, kPINode ); piNode->value.assign ( data ); parentNode->content.push_back ( piNode ); } // ProcessingInstructionHandler // ================================================================================================= static void CommentHandler ( void * userData, XMP_StringPtr comment ) { IgnoreParam(userData); #if XMP_DebugBuild & DumpXMLParseEvents // Avoid unused variable warning. ExpatAdapter * thiz = (ExpatAdapter*)userData; #endif if ( comment == 0 ) comment = ""; #if XMP_DebugBuild & DumpXMLParseEvents if ( thiz->parseLog != 0 ) { PrintIndent ( thiz->parseLog, thiz->elemNesting ); fprintf ( thiz->parseLog, "Comment: \"%s\"\n", comment ); } #endif // ! Comments are ignored. } // CommentHandler // ================================================================================================= #if BanAllEntityUsage static void StartDoctypeDeclHandler ( void * userData, XMP_StringPtr doctypeName, XMP_StringPtr sysid, XMP_StringPtr pubid, int has_internal_subset ) { IgnoreParam(userData); ExpatAdapter * thiz = (ExpatAdapter*)userData; #if XMP_DebugBuild & DumpXMLParseEvents // Avoid unused variable warning. if ( thiz->parseLog != 0 ) { PrintIndent ( thiz->parseLog, thiz->elemNesting ); fprintf ( thiz->parseLog, "DocType: \"%s\"\n", doctypeName ); } #endif thiz->isAborted = true; // ! Can't throw an exception across the plain C Expat frames. (void) XML_StopParser ( thiz->parser, XML_FALSE /* not resumable */ ); } // StartDoctypeDeclHandler #endif // ================================================================================================= exiv2-0.25/xmpsdk/include/0000775000175000017500000000000012541547735015261 5ustar andreasandreasexiv2-0.25/xmpsdk/include/TXMPIterator.hpp0000664000175000017500000003033612467000312020257 0ustar andreasandreas#ifndef __TXMPIterator_hpp__ #define __TXMPIterator_hpp__ 1 #if ( ! __XMP_hpp__ ) #error "Do not directly include, use XMPSDK.hpp" #endif // ================================================================================================= // ADOBE SYSTEMS INCORPORATED // Copyright 2002-2007 Adobe Systems Incorporated // All Rights Reserved // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= // ================================================================================================= /// \file TXMPIterator.hpp /// \brief API for access to the XMP Toolkit iteration services. /// /// \c TXMPIterator is the template class providing iteration services for the XMP Toolkit. It must /// be instantiated with a string class such as \c std::string. See the instructions in XMPSDK.hpp, and /// the Overview for a discussion of the overall architecture of the XMP API. // ================================================================================================= // ================================================================================================= /// \class TXMPIterator TXMPIterator.hpp /// @brief API for access to the XMP Toolkit iteration services. /// /// \c TXMPIterator provides a uniform means to iterate over the schema and properties within an XMP /// object. \c TXMPIterator is a template class which must be instantiated with a string class such /// as \c std::string. See the instructions in XMPSDK.hpp, and the Overview for a discussion of the /// overall architecture of the XMP API. Access these functions through the concrete class, /// \c SXMPIterator. /// /// @note Only XMP object iteration is currently available. Future development may include iteration /// over global tables, such as registered namespaces. /// /// To understand how iteration works, you should have a thorough understanding of the XMP data /// tree, as described in the XMP Specification Part 1. You might also find it helpful to create /// some complex XMP and examine the output of \c TXMPMeta::DumpObject(). /// /// \li The top of the XMP data tree is a single root node. This does not explicitly appear in the /// dump and is never visited by an iterator; that is, it is never returned from /// \c TXMPIterator::Next(). /// /// \li Beneath the root are schema nodes; these collect the top-level properties in the same /// namespace. They are created and destroyed implicitly. /// /// \li Beneath the schema nodes are the property nodes. The nodes below a property node depend on /// its type (simple, struct, or array) and whether it has qualifiers. /// /// A \c TXMPIterator constructor defines a starting point for the iteration, and options that /// control how it proceeds. By default, iteration starts at the root and visits all nodes beneath /// it in a depth-first manner. The root node iteself is not visited; the first visited node is a /// schema node. You can provide a schema name or property path to select a different starting node. /// By default, this visits the named root node first then all nodes beneath it in a depth-first /// manner. /// /// The function \c TXMPIterator::Next() delivers the schema URI, path, and option flags for the /// node being visited. If the node is simple, it also delivers the value. Qualifiers for this node /// are visited next. The fields of a struct or items of an array are visited after the qualifiers /// of the parent. /// /// You can specify options when constructing the iteration object to control how the iteration is /// performed. /// /// \li \c #kXMP_IterJustChildren - Visit just the immediate children of the root. Skip the root /// itself and all nodes below the immediate children. This omits the qualifiers of the immediate /// children, the qualifier nodes being below what they qualify. /// \li \c #kXMP_IterJustLeafNodes - Visit just the leaf property nodes and their qualifiers. /// \li \c #kXMP_IterJustLeafName - Return just the leaf component of the node names. The default /// is to return the full path name. /// \li \c #kXMP_IterIncludeAliases - Include aliases as part of the iteration. Since aliases are /// not actual nodes the default iteration does not visit them. /// \li \c #kXMP_IterOmitQualifiers - Do not visit the qualifiers of a node. // ================================================================================================= #include "client-glue/WXMPIterator.hpp" template class TXMPIterator { public: // --------------------------------------------------------------------------------------------- /// @brief Assignment operator, assigns the internal ref and increments the ref count. /// /// Assigns the internal reference from an existing object and increments the reference count on /// the underlying internal XMP iterator. /// /// @param rhs An existing iteration object. void operator= ( const TXMPIterator & rhs ); // --------------------------------------------------------------------------------------------- /// @brief Copy constructor, creates a client object refering to the same internal object. /// /// Creates a new client iterator that refers to the same underlying iterator as an existing object. /// /// @param original An existing iteration object to copy. TXMPIterator ( const TXMPIterator & original ); // --------------------------------------------------------------------------------------------- /// @brief Constructs an iterator for properties within a schema in an XMP object. /// /// See the class description for the general operation of an XMP object iterator. /// Overloaded forms are provided to iterate the entire data tree, /// a subtree rooted at a specific node, or properties within a specific schema. /// /// @param xmpObj The XMP object over which to iterate. /// /// @param schemaNS Optional schema namespace URI to restrict the iteration. To visit all of the /// schema, pass 0 or the empty string "". /// /// @param propName Optional property name to restrict the iteration. May be an arbitrary path /// expression. If provided, a schema URI must also be provided. To visit all properties, pass 0 /// or the empty string "". /// /// @param options Option flags to control the iteration. A logical OR of these bit flag constants: /// \li \c #kXMP_IterJustChildren - Visit only the immediate children of the root; default visits subtrees. /// \li \c #kXMP_IterJustLeafNodes - Visit only the leaf nodes; default visits all nodes. /// \li \c #kXMP_IterJustLeafName - Return just the leaf part of the path; default returns the full path. /// \li \c #kXMP_IterOmitQualifiers - Omit all qualifiers. /// /// @return The new TXMPIterator object. TXMPIterator ( const TXMPMeta & xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief Constructs an iterator for a subtree of properties within an XMP object. /// /// See the class description for the general operation of an XMP object iterator. Overloaded /// forms are provided to iterate the entire data tree, a subtree rooted at a specific node, or /// properties within a specific schema. /// /// @param xmpObj The XMP object over which to iterate. /// /// @param schemaNS Optional schema namespace URI to restrict the iteration. To visit all of the /// schema, pass 0 or the empty string "". /// /// @param options Option flags to control the iteration. A logical OR of these bit flag constants: /// \li \c #kXMP_IterJustChildren - Visit only the immediate children of the root; default visits subtrees. /// \li \c #kXMP_IterJustLeafNodes - Visit only the leaf nodes; default visits all nodes. /// \li \c #kXMP_IterJustLeafName - Return just the leaf part of the path; default returns the full path. /// \li \c #kXMP_IterOmitQualifiers - Omit all qualifiers. /// /// @return The new TXMPIterator object. TXMPIterator ( const TXMPMeta & xmpObj, XMP_StringPtr schemaNS, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief Constructs an iterator for the entire data tree within an XMP object. /// /// See the class description for the general operation of an XMP object iterator. Overloaded /// forms are provided to iterate the entire data tree, a subtree rooted at a specific node, or /// properties within a specific schema. /// /// @param xmpObj The XMP object over which to iterate. /// /// @param options Option flags to control the iteration. A logical OR of these bit flag constants: /// \li \c #kXMP_IterJustChildren - Visit only the immediate children of the root; default visits subtrees. /// \li \c #kXMP_IterJustLeafNodes - Visit only the leaf nodes; default visits all nodes. /// \li \c #kXMP_IterJustLeafName - Return just the leaf part of the path; default returns the full path. /// \li \c #kXMP_IterOmitQualifiers - Omit all qualifiers. /// /// @return The new \c TXMPIterator object. TXMPIterator ( const TXMPMeta & xmpObj, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief Constructs an iterator for the global tables of the XMP toolkit. Not implemented. TXMPIterator ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options ); // --------------------------------------------------------------------------------------------- /// @brief Destructor, typical virtual destructor. virtual ~TXMPIterator() throw(); // --------------------------------------------------------------------------------------------- /// @brief \c Next() visits the next node in the iteration. /// /// Proceeds to the next node according to the options specified on creation of this object, and /// delivers the schema URI, path, and option flags for the node being visited. If the node is /// simple, it also delivers the value. /// /// @param schemaNS [out] A string object in which to return the assigned the schema namespace /// URI of the current property. Can be null if the value is not wanted. /// /// @param propPath [out] A string object in which to return the XPath name of the current /// property. Can be null if the value is not wanted. /// /// @param propValue [out] A string object in which to return the value of the current /// property. Can be null if the value is not wanted. /// /// @param options [out] A buffer in which to return the flags describing the current property, /// which are a logical OR of \c #XMP_OptionBits bit-flag constants. /// /// @return True if there was another node to visit, false if the iteration is complete. bool Next ( tStringObj * schemaNS = 0, tStringObj * propPath = 0, tStringObj * propValue = 0, XMP_OptionBits * options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c Skip() skips some portion of the remaining iterations. /// /// @param options Option flags to control the iteration, a logical OR of these bit-flag /// constants: /// \li \c #kXMP_IterSkipSubtree - Skip the subtree below the current node. /// \li \c #kXMP_IterSkipSiblings - Skip the subtree below and remaining siblings of the current node. void Skip ( XMP_OptionBits options ); private: XMPIteratorRef iterRef; TXMPIterator(); // ! Hidden, must choose property or table iteration. }; // class TXMPIterator // ================================================================================================= #endif // __TXMPIterator_hpp__ exiv2-0.25/xmpsdk/include/TXMPUtils.hpp0000664000175000017500000013772212467000312017575 0ustar andreasandreas#ifndef __TXMPUtils_hpp__ #define __TXMPUtils_hpp__ 1 #if ( ! __XMP_hpp__ ) #error "Do not directly include, use XMPSDK.hpp" #endif // ================================================================================================= // ADOBE SYSTEMS INCORPORATED // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= // ================================================================================================= /// \file TXMPUtils.hpp /// \brief API for access to the XMP Toolkit utility services. /// /// \c TXMPUtils is the template class providing utility services for the XMP Toolkit. It must be /// instantiated with a string class such as \c std::string. See the instructions in XMPSDK.hpp, and /// the Overview for a discussion of the overall architecture of the XMP API. // ================================================================================================= // ================================================================================================= /// \class TXMPUtils TXMPUtils.hpp /// @brief API for access to the XMP Toolkit utility services. /// /// \c TXMPUtils is a template class which must be instantiated with a string class such as /// \c std::string. See the instructions in XMPSDK.hpp, and the Overview for a discussion of the overall /// architecture of the XMP API. /// /// This class defines helper functions that support the basic metadata manipulation provided by /// \c TXMPMeta. All of the functions are static; that is, you call them directly from the concrete /// class (\c SXMPUtils), which is never itself instantiated. /// /// General categories of utilities include: /// /// \li Composing complex path expressions, which you can then pass to the property access /// functions in \c TXMPMeta /// \li Converting between binary and string forms of property values /// \li Manipulating date/time values /// \li Encoding and decoding base-64 strings /// \li JPEG file handling /// \li Editing aids for creating a user interface for the XMP Toolkit // ================================================================================================= template class TXMPUtils { public: // ============================================================================================= // No constructors or destructor declared or needed // ================================================ // ============================================================================================ /// \name Path composition /// @{ /// /// These functions provide support for composing path expressions to deeply nested properties. /// The functions in \c TXMPMeta such as \c TXMPMeta::GetProperty(), /// \c TXMPMeta::GetArrayItem(), and \c TXMPMeta::GetStructField() provide easy access to top level /// simple properties, items in top level arrays, and fields of top level structs. They are /// not as convenient for more complex things, such as fields several levels deep in a complex /// struct, or fields within an array of structs, or items of an array that is a field of a /// struct. You can use these utility functions to compose these paths, which you can then pass /// to the property access functions. You can also compose paths to top-level array items or /// struct fields so that you can use the binary accessors such as /// \c TXMPMeta::GetProperty_Int(). /// /// You can use these functions is to compose a complete path expression, or all but the last /// component. For example, suppose you have a property that is an array of integers within a /// struct. You can access one of the array items like this: /// ///
    ///   SXMPUtils::ComposeStructFieldPath ( schemaNS, "Struct", fieldNS, "Array", &path );
    ///   SXMPUtils::ComposeArrayItemPath ( schemaNS, path, index, &path );
    ///   exists = xmpObj.GetProperty_Int ( schemaNS, path, &value, &options );
    /// 
/// /// You could also use this code if you want the string form of the integer: /// ///
    ///   SXMPUtils::ComposeStructFieldPath ( schemaNS, "Struct", fieldNS, "Array", &path );
    ///   xmpObj.GetArrayItem ( schemaNS, path, index, &value, &options );
    /// 
/// /// \note It might look confusing that the \c schemaNS is passed in all of the calls above. This /// is because the XMP Toolkit keeps the top-level "schema" namespace separate from the rest of /// the path expression. // --------------------------------------------------------------------------------------------- /// @brief \c ComposeArrayItemPath() composes the path expression for an item in an array. /// /// The returned string is in the form ns:arrayName[i], where "ns" is the prefix for /// the specified namespace, and "i" is the decimal representation of specified item index. /// If the last item was specified, the path is ns:arrayName[last()]. /// /// @param schemaNS The namespace URI for the array; see \c GetProperty(). /// /// @param arrayName The name of the array. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param itemIndex The 1-based index of the desired item. Use the macro /// \c #kXMP_ArrayLastItem to specify the last existing array item. /// /// @param fullPath [out] A string in which to return the composed path. static void ComposeArrayItemPath ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, tStringObj * fullPath ); // --------------------------------------------------------------------------------------------- /// @brief \c ComposeStructFieldPath() composes the path expression for a field in a struct. /// /// The returned string is in the form ns:structName/fNS:fieldName, where "ns" is the /// prefix for the schema namespace, and "fNS" is the prefix for field namespace. /// /// @param schemaNS The namespace URI for the struct; see \c GetProperty(). /// /// @param structName The name of the struct. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param fieldNS The namespace URI for the field. Same URI and prefix usage as the /// \c schemaNS and \c structName parameters. /// /// @param fieldName The name of the field. Must be a single XML name, must not be null or the /// empty string. Same URI and prefix usage as the \c schemaNS and \c structName parameters. /// /// @param fullPath [out] A string in which to return the composed path. static void ComposeStructFieldPath ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, tStringObj * fullPath ); // --------------------------------------------------------------------------------------------- /// @brief \c ComposeQualifierPath() composes the path expression for a qualifier. /// /// The returned string is in the form ns:propName/?qNS:qualName, where "ns" is the /// prefix for the schema namespace, and "qNS" is the prefix for the qualifier namespace. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property to which the qualifier is attached. Can be a /// general path expression, must not be null or the empty string; see \c GetProperty() for /// namespace prefix usage. /// /// @param qualNS The namespace URI for the qualifier. Same URI and prefix usage as the /// \c schemaNS and \c propName parameters. /// /// @param qualName The name of the qualifier. Must be a single XML name, must not be null or the /// empty string. Same URI and prefix usage as the \c schemaNS and \c propName parameters. /// /// @param fullPath [out] A string in which to return the composed path. static void ComposeQualifierPath ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, tStringObj * fullPath ); // --------------------------------------------------------------------------------------------- /// @brief \c ComposeLangSelector() composes the path expression to select an alternate item by language. /// /// Path syntax allows two forms of "content addressing" to select an item in an array of /// alternatives. The form used in this function lets you select an item in an alt-text array /// based on the value of its \c xml:lang qualifier. The other form of content addressing is /// shown in \c ComposeFieldSelector(). /// /// The returned string is in the form ns:arrayName[\@xml:lang='langName'], where /// "ns" is the prefix for the schema namespace /// /// This function provides a path expression that is explicitly and only for a specific /// language. In most cases, \c TXMPMeta::SetLocalizedText() and \c TXMPMeta::GetLocalizedText() /// are preferred, because they provide extra logic to choose the appropriate language and /// maintain consistency with the 'x-default' value. /// /// @param schemaNS The namespace URI for the array; see \c GetProperty(). /// /// @param arrayName The name of the array. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param langName The RFC 3066 code for the desired language, as a null-terminated UTF-8 string. /// /// @param fullPath [out] A string in which to return the composed path. static void ComposeLangSelector ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr langName, tStringObj * fullPath ); // --------------------------------------------------------------------------------------------- /// @brief \c ComposeLangSelector() composes a path expression to select an alternate item by language. /// /// Path syntax allows two forms of "content addressing" to select an item in an array of /// alternatives. The form used in this function lets you select an item in an alt-text array /// based on the value of its \c xml:lang qualifier. The other form of content addressing is /// shown in \c ComposeFieldSelector(). /// /// The returned string is in the form ns:arrayName[\@xml:lang='langName'], where /// "ns" is the prefix for the schema namespace /// /// This function provides a path expression that is explicitly and only for a specific /// language. In most cases, \c TXMPMeta::SetLocalizedText() and \c TXMPMeta::GetLocalizedText() /// are preferred, because they provide extra logic to choose the appropriate language and /// maintain consistency with the 'x-default' value. /// /// @param schemaNS The namespace URI for the array; see \c GetProperty(). /// /// @param arrayName The name of the array. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param langName The RFC 3066 code for the desired language, as a string object. /// /// @param fullPath [out] A string in which to return the composed path. static void ComposeLangSelector ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, const tStringObj & langName, tStringObj * fullPath ); // --------------------------------------------------------------------------------------------- /// @brief \c ComposeFieldSelector() composes a path expression to select an alternate item by a field's value. /// /// Path syntax allows two forms of "content addressing" to select an item in an array of /// alternatives. The form used in this function lets you select an item in an array of structs /// based on the value of one of the fields in the structs. The other form of content addressing /// is shown in \c ComposeLangSelector(). /// /// For example, consider a simple struct that has two fields, the name of a city and the URI of /// an FTP site in that city. Use this to create an array of download alternatives. You can show /// the user a popup built from the values of the city fields, then get the corresponding URI as /// follows: ///
    ///   ComposeFieldSelector ( schemaNS, "Downloads", fieldNS, "City", chosenCity, &path );
    ///   exists = GetStructField ( schemaNS, path, fieldNS, "URI", &uri );
    /// 
/// /// The returned string is in the form ns:arrayName[fNS:fieldName='fieldValue'], where /// "ns" is the prefix for the schema namespace and "fNS" is the prefix for the field namespace. /// /// @param schemaNS The namespace URI for the array; see \c GetProperty(). /// /// @param arrayName The name of the array. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param fieldNS The namespace URI for the field used as the selector. Same URI and prefix /// usage as the \c schemaNS and \c arrayName parameters. /// /// @param fieldName The name of the field used as the selector. Must be a single XML name, must /// not be null or the empty string. It must be the name of a field that is itself simple. /// /// @param fieldValue The desired value of the field, specified as a null-terminated UTF-8 string. /// /// @param fullPath [out] A string in which to return the composed path. static void ComposeFieldSelector ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, tStringObj * fullPath ); // --------------------------------------------------------------------------------------------- /// @brief \c ComposeFieldSelector() composes a path expression to select an alternate item by a field's value. /// /// Path syntax allows two forms of "content addressing" to select an item in an array of /// alternatives. The form used in this function lets you select an item in an array of structs /// based on the value of one of the fields in the structs. The other form of content addressing /// is shown in \c ComposeLangSelector(). /// /// For example, consider a simple struct that has two fields, the name of a city and the URI of /// an FTP site in that city. Use this to create an array of download alternatives. You can show /// the user a popup built from the values of the city fields, then get the corresponding URI as /// follows: ///
    ///   ComposeFieldSelector ( schemaNS, "Downloads", fieldNS, "City", chosenCity, &path );
    ///   exists = GetStructField ( schemaNS, path, fieldNS, "URI", &uri );
    /// 
/// /// The returned string is in the form ns:arrayName[fNS:fieldName='fieldValue'], where /// "ns" is the prefix for the schema namespace and "fNS" is the prefix for the field namespace. /// /// @param schemaNS The namespace URI for the array; see \c GetProperty(). /// /// @param arrayName The name of the array. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param fieldNS The namespace URI for the field used as the selector. Same URI and prefix /// usage as the \c schemaNS and \c arrayName parameters. /// /// @param fieldName The name of the field used as the selector. Must be a single XML name, must /// not be null or the empty string. It must be the name of a field that is itself simple. /// /// @param fieldValue The desired value of the field, specified as a string object. /// /// @param fullPath [out] A string in which to return the composed path. static void ComposeFieldSelector ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, const tStringObj & fieldValue, tStringObj * fullPath ); /// @} // ============================================================================================= /// \name Conversion between binary types and strings /// @{ /// /// The main accessors in \c TXMPMeta set and retrieve property values as strings. additional /// functions, such as \c TXMPMeta::SetPropertyInt(), set and retrieve property values as /// explicit binary data types. Use these functions to convert between binary and string /// values. /// /// Strings can be specified as null-terminated UTF-8 (\c #XMP_StringPtr), or as string /// objects (\c tStringObj) of the type declared when instantiating the XMP classes; see /// \c XMPSDK.hpp. Alternate forms of each conversion function allow either type of string. // --------------------------------------------------------------------------------------------- /// @brief \c ConvertFromBool() converts a Boolean value to a string. /// /// The string values of Booleans are returned by the macros \c #kXMP_TrueStr and /// \c #kXMP_FalseStr in \c XMP_Const.h. /// /// @param binValue The Boolean value to be converted. /// /// @param strValue [out] A buffer in which to return the string representation of the value. static void ConvertFromBool ( bool binValue, tStringObj * strValue ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertFromInt() converts a 32-bit integer value to a string. /// /// @param binValue The integer value to be converted. /// /// @param format Optional. A C \c sprintf format for the conversion. Default is "%d". /// /// @param strValue [out] A buffer in which to return the string representation of the value. static void ConvertFromInt ( long binValue, XMP_StringPtr format, tStringObj * strValue ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertFromInt64() converts a 64-bit integer value to a string. /// /// @param binValue The integer value to be converted. /// /// @param format Optional. A C \c sprintf format for the conversion. Default is "%d". /// /// @param strValue [out] A buffer in which to return the string representation of the value. static void ConvertFromInt64 ( long long binValue, XMP_StringPtr format, tStringObj * strValue ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertFromFloat() converts a floating-point value to a string. /// /// @param binValue The floating-point value to be converted. /// /// @param format Optional. A C \c sprintf format for the conversion. Default is "%d". /// /// @param strValue [out] A buffer in which to return the string representation of the value. static void ConvertFromFloat ( double binValue, XMP_StringPtr format, tStringObj * strValue ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertFromDate() converts a date/time value to a string. /// /// Formats a date according to the ISO 8601 profile in http://www.w3.org/TR/NOTE-datetime: ///
    ///   YYYY
    ///   YYYY-MM
    ///   YYYY-MM-DD
    ///   YYYY-MM-DDThh:mmTZD
    ///   YYYY-MM-DDThh:mm:ssTZD
    ///   YYYY-MM-DDThh:mm:ss.sTZD
    /// 
/// /// \c YYYY = four-digit year, formatted as "%.4d"
/// \c MM = two-digit month (01=January)
/// \c DD = two-digit day of month (01 through 31)
/// \c hh = two digits of hour (00 through 23)
/// \c mm = two digits of minute (00 through 59)
/// \c ss = two digits of second (00 through 59)
/// \c s = one or more digits representing a decimal fraction of a second
/// \c TZD = time zone designator (Z or +hh:mm or -hh:mm) /// /// Time-only input is allowed where the year, month, and day are all zero. This is output as /// "0000-00-00...". /// /// @note ISO 8601 does not allow years less than 1000 or greater than 9999. This API allows /// any year, even negative ones. /// /// @param binValue The date/time value to be converted. /// /// @param strValue [out] A buffer in which to return the ISO 8601 string representation of the date/time. static void ConvertFromDate ( const XMP_DateTime & binValue, tStringObj * strValue ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertToBool() converts a string to a Boolean value. /// /// The preferred strings are those returned by the macros \c #kXMP_TrueStr and \c #kXMP_FalseStr. /// If these do not match, the function does a case insensitive comparison, then simply 't' or 'f', /// and finally non-zero and zero integer representations. /// /// @param strValue The string representation of the value, specified as a null-terminated UTF-8 string. /// /// @return The appropriate C++ bool value for the string. static bool ConvertToBool ( XMP_StringPtr strValue ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertToBool() converts a string to a Boolean value. /// /// Overloads the basic form of the function, allowing you to pass a string object, /// rather than a const * char. It is otherwise identical; see details in the canonical form. /// /// @param strValue The string representation of the value, specified as a string object. /// /// @return The appropriate C++ bool value for the string. static bool ConvertToBool ( const tStringObj & strValue ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertToInt() converts a string to a 32-bit integer value. /// /// @param strValue The string representation of the value, specified as a null-terminated UTF-8 string. /// /// @return The 32-bit integer value. static long ConvertToInt ( XMP_StringPtr strValue ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertToInt() converts a string to a 32-bit integer value. /// /// Overloads the basic form of the function, allowing you to pass a string object, /// rather than a const * char. It is otherwise identical. /// /// @param strValue The string representation of the value, specified as a string object. /// /// @return The 32-bit integer value. static long ConvertToInt ( const tStringObj & strValue ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertToInt64() converts a string to a 64-bit integer value. /// /// @param strValue The string representation of the value, specified as a null-terminated UTF-8 string. /// /// @return The 64-bit integer value. static long long ConvertToInt64 ( XMP_StringPtr strValue ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertToInt64() converts a string to a 64-bit integer value. /// /// Overloads the basic form of the function, allowing you to pass a string object, /// rather than a const * char. It is otherwise identical. /// /// @param strValue The string representation of the value, specified as a string object. /// /// @return The 64-bit integer value. static long long ConvertToInt64 ( const tStringObj & strValue ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertToFloat() converts a string to a floating-point value. /// /// @param strValue The string representation of the value, specified as a null-terminated UTF-8 string. /// /// @return The floating-point value. static double ConvertToFloat ( XMP_StringPtr strValue ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertToFloat() converts a string to a floating-point value. /// /// Overloads the basic form of the function, allowing you to pass a string object, /// rather than a const * char. It is otherwise identical. /// /// @param strValue The string representation of the value, specified as a string object. /// /// @return The floating-point value. static double ConvertToFloat ( const tStringObj & strValue ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertToDate() converts a string to a date/time value. /// /// Parses a date according to the ISO 8601 profile in http://www.w3.org/TR/NOTE-datetime: ///
    ///   YYYY
    ///   YYYY-MM
    ///   YYYY-MM-DD
    ///   YYYY-MM-DDThh:mmTZD
    ///   YYYY-MM-DDThh:mm:ssTZD
    ///   YYYY-MM-DDThh:mm:ss.sTZD
    /// 
/// /// \c YYYY = four-digit year, formatted as "%.4d"
/// \c MM = two-digit month (01=January)
/// \c DD = two-digit day of month (01 through 31)
/// \c hh = two digits of hour (00 through 23)
/// \c mm = two digits of minute (00 through 59)
/// \c ss = two digits of second (00 through 59)
/// \c s = one or more digits representing a decimal fraction of a second
/// \c TZD = time zone designator (Z or +hh:mm or -hh:mm) /// /// A missing date portion or missing TZD are tolerated. A missing date value can begin with /// "Thh:" or "hh:"; the year, month, and day are all set to zero in the \c #XMP_DateTime value. /// A missing TZD is assumed to be UTC. /// /// @note ISO 8601 does not allow years less than 1000 or greater than 9999. This API allows /// any year, even negative ones. /// /// @param strValue The ISO 8601 string representation of the date/time, specified as a /// null-terminated UTF-8 string. /// /// @param binValue [out] A buffer in which to return the binary date/time value. static void ConvertToDate ( XMP_StringPtr strValue, XMP_DateTime * binValue ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertToDate() converts a string to a date/time value. /// /// Overloads the basic form of the function, allowing you to pass a string object, /// rather than a const * char. It is otherwise identical. /// See details for the canonical form. /// /// /// @param strValue The ISO 8601 string representation of the date/time, specified as a string /// object. /// /// @param binValue [out] A buffer in which to return the binary date/time value. static void ConvertToDate ( const tStringObj & strValue, XMP_DateTime * binValue ); /// @} // ============================================================================================= /// \name Date-time manipulation /// @{ /// /// In addition to the type-conversion functions that convert between strings and binary /// date-time values, these functions create, manipulate, and compare date-time values. // --------------------------------------------------------------------------------------------- /// @brief \c CurrentDateTime() obtains the current date and time. /// /// Creates and returns a binary \c #XMP_DateTime value. The returned time is UTC, properly /// adjusted for the local time zone. The resolution of the time is not guaranteed to be finer /// than seconds. /// /// @param time [out] A buffer in which to return the date/time value. static void CurrentDateTime ( XMP_DateTime * time ); // --------------------------------------------------------------------------------------------- /// @brief \c SetTimeZone() sets the time zone in a date/time value to the local time zone. /// /// Any existing time zone value is replaced. The other date/time fields are not adjusted in any way. /// /// @param time A pointer to the date-time value, which is modified in place. static void SetTimeZone ( XMP_DateTime * time ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertToUTCTime() ensures that a time is UTC. /// /// If the time zone is not UTC, the time is adjusted and the time zone set to be UTC. If the /// time zone is already UTC, the value is not modified. /// /// @param time A pointer to the date-time value, which is modified in place. static void ConvertToUTCTime ( XMP_DateTime * time ); // --------------------------------------------------------------------------------------------- /// @brief \c ConvertToLocalTime() ensures that a time is local. /// /// If the time zone is not the local zone, the time is adjusted and the time zone set to be local. /// If the time zone is already the local zone, the value is not modified. /// /// @param time A pointer to the date-time value, which is modified in place. static void ConvertToLocalTime ( XMP_DateTime * time ); // --------------------------------------------------------------------------------------------- /// @brief \c CompareDateTime() compares the order of two date/time values. /// /// @param left The left-side date/time value. /// /// @param right The right-side date/time value. /// /// @return An integer indicating the order: /// \li -1 if left is earlier than right /// \li 0 if left matches right /// \li +1 if left is later than right static int CompareDateTime ( const XMP_DateTime & left, const XMP_DateTime & right ); /// @} // ============================================================================================= /// \name Base64 encoding and decoding /// @{ /// /// These functions convert between raw data values and Base64-encoded strings. // --------------------------------------------------------------------------------------------- /// @brief \c EncodeToBase64() converts a raw data value to a Base64-encoded string. /// /// @param rawStr An \c #XMP_StringPtr (char *) string containing the raw data to be converted. /// /// @param rawLen The number of characters of raw data to be converted. /// /// @param encodedStr [out] A string object in which to return the encoded string. static void EncodeToBase64 ( XMP_StringPtr rawStr, XMP_StringLen rawLen, tStringObj * encodedStr ); // --------------------------------------------------------------------------------------------- /// @brief \c EncodeToBase64() converts a raw data value passed in a string object to a Base64-encoded string. /// /// Overloads the basic form of the function, allowing you to pass a string object as input. /// It is otherwise identical. /// /// @param rawStr A string object containing the raw data to be converted. /// /// @param encodedStr [out] A string object in which to return the encoded string. static void EncodeToBase64 ( const tStringObj & rawStr, tStringObj * encodedStr ); // --------------------------------------------------------------------------------------------- /// @brief \c DecodeFromBase64() Decodes a Base64-encoded string to raw data. /// /// @param encodedStr An \c #XMP_StringPtr (char *) string containing the encoded data to be converted. /// /// @param encodedLen The number of characters of raw data to be converted. /// /// @param rawStr [out] A string object in which to return the decoded data. static void DecodeFromBase64 ( XMP_StringPtr encodedStr, XMP_StringLen encodedLen, tStringObj * rawStr ); // --------------------------------------------------------------------------------------------- /// @brief \c DecodeFromBase64() Decodes a Base64-encoded string, passed as a string object, to raw data. /// /// Overloads the basic form of the function, allowing you to pass a string object as input. /// It is otherwise identical. /// /// @param encodedStr An string object containing the encoded data to be converted. /// /// @param rawStr [out] A string object in which to return the decoded data. static void DecodeFromBase64 ( const tStringObj & encodedStr, tStringObj * rawStr ); /// @} // ============================================================================================= // ============================================================================================= /// \name JPEG file handling /// @{ /// /// These functions support the partitioning of XMP in JPEG files into standard and extended /// portions in order to work around the 64KB size limit of JPEG marker segments. /// /// @note (Doc note) Add detail about how to write out and read back extended data // --------------------------------------------------------------------------------------------- /// @brief \c PackageForJPEG() creates XMP serializations appropriate for a JPEG file. /// /// The standard XMP in a JPEG file is limited to 64K bytes. This function serializes the XMP /// metadata in an XMP object into a string of RDF (see \c TXMPMeta::SerializeToBuffer()). If /// the data does not fit into the 64K byte limit, it creates a second packet string with the /// extended data. /// /// @param xmpObj The XMP object containing the metadata. /// /// @param standardXMP [out] A string object in which to return the full standard XMP packet. /// /// @param extendedXMP [out] A string object in which to return the serialized extended XMP, /// empty if not needed. /// /// @param extendedDigest [out] A string object in which to return an MD5 digest of the serialized /// extended XMP, empty if not needed. /// /// @see \c MergeFromJPEG() static void PackageForJPEG ( const TXMPMeta & xmpObj, tStringObj * standardXMP, tStringObj * extendedXMP, tStringObj * extendedDigest ); // --------------------------------------------------------------------------------------------- /// @brief \c MergeFromJPEG() merges standard and extended XMP retrieved from a JPEG file. /// /// When an extended partition stores properties that do not fit into the JPEG file limitation /// of 64K bytes, this function integrates those properties back into the same XMP object with /// those from the standard XMP packet. /// /// @param fullXMP [in, out] An XMP object which the caller has initialized from the standard /// XMP packet in a JPEG file. The extended XMP is added to this object. /// /// @param extendedXMP An XMP object which the caller has initialized from the extended XMP /// packet in a JPEG file. /// /// @see \c PackageForJPEG() static void MergeFromJPEG ( TXMPMeta * fullXMP, const TXMPMeta & extendedXMP ); /// @} // ============================================================================================= /// \name Editing utilities /// @{ /// /// These functions are useful in implementing a user interface for editing XMP. They /// convert sets of property values to and from displayable and manipulable strings, and perform /// operations on sets of metadata, such as those available from the File Info dialog box. // --------------------------------------------------------------------------------------------- /// @brief \c CatenateArrayItems() creates a single edit string from a set of array item values. /// /// Collects the values of all items in an array into a single string, using a specified /// separation string. Each item in the specified array must be a simple string value. /// /// @param xmpObj The XMP object containing the array to be catenated. /// /// @param schemaNS The schema namespace URI for the array. Must not be null or the empty string. /// /// @param arrayName The name of the array. May be a general path expression, must not be null /// or the empty string. /// /// @param separator The string with which to separate the items in the catenated string. /// Defaults to "; ", ASCII semicolon and space (U+003B, U+0020). /// /// @param quotes The character or characters to use as quotes around array items that contain a /// separator. Defaults to the double-quote character ("), ASCII quote (U+0022). /// /// @param options Option flags to control the catenation. <> /// /// @param catedStr [out] A string object in which to return the catenated array items. /// /// @see \c SeparateArrayItems() static void CatenateArrayItems ( const TXMPMeta & xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr separator, XMP_StringPtr quotes, XMP_OptionBits options, tStringObj * catedStr ); // --------------------------------------------------------------------------------------------- /// @brief \c SeparateArrayItems() updates an array from a concatenated edit string of values. /// /// This reverses the action of \c CatenateArrayItems(), separating out individual array items /// from the edit string and updating the array with the new values. Each item in the array must /// be a simple string value. /// /// @param xmpObj The XMP object containing the array to be updated. /// /// @param schemaNS The schema namespace URI for the array. Must not be null or the empty string. /// /// @param arrayName The name of the array. May be a general path expression, must not be null /// or the empty string. /// /// @param options Option flags to control the separation. <> /// /// @param catedStr The concatenated array items, as created by \c CatenateArrayItems(), /// specified as a null-terminated UTF-8 string. static void SeparateArrayItems ( TXMPMeta * xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, XMP_StringPtr catedStr ); // --------------------------------------------------------------------------------------------- /// @brief \c SeparateArrayItems() updates an array from a concatenated edit string of values. /// /// Overloads the basic form of the function, allowing you to pass a string object in which /// to return the concatenated string. It is otherwise identical; see details for the canonical form. /// static void SeparateArrayItems ( TXMPMeta * xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, const tStringObj & catedStr ); // --------------------------------------------------------------------------------------------- /// @brief \c RemoveProperties() removes multiple properties from an XMP object. /// /// The operation depends on how the namespace and property are specified: /// /// \li Non-empty \c schemaNS and \c propName - The named property is removed if it is an /// external property, or if the \c #kXMPUtil_DoAllProperties option flag is set. It does not /// matter whether the named property is an actual property or an alias. /// /// \li Non-empty \c schemaNS and empty \c propName - All external properties in the named /// schema are removed. Internal properties are also removed if the /// \c #kXMPUtil_DoAllProperties option flag is set. In addition, aliases from the named schema /// are removed if the \c #kXMPUtil_IncludeAliases option flag is set. /// /// \li Empty \c schemaNS and empty \c propName - All external properties in all schemas are /// removed. Internal properties are also removed if the \c #kXMPUtil_DoAllProperties option /// flag is set. Aliases are handled implicitly, because the associated actuals are removed or /// not. /// /// \li It is an error to pass an empty \c schemaNS and non-empty \c propName. /// /// @param xmpObj The XMP object containing the properties to be removed. /// /// @param schemaNS Optional schema namespace URI for the properties to be removed. /// /// @param propName Optional path expression for the property to be removed. /// /// @param options Option flags to control the deletion operation. A logical OR of these /// bit-flag constants: /// \li \c #kXMPUtil_DoAllProperties - Delete internal properties in addition to external properties. /// \li \c #kXMPUtil_IncludeAliases - Include aliases if the schema is explicitly specified. static void RemoveProperties ( TXMPMeta * xmpObj, XMP_StringPtr schemaNS = 0, XMP_StringPtr propName = 0, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c AppendProperties() adds or moves properties from one XMP object to another. /// /// The default operation is to append only external properties that do not already exist in the /// destination. Option flags allow you to add internal properties, and to merge values of /// properties that exist in both the source and destination. /// /// \li \c #kXMPUtil_DoAllProperties: Operate on all top-level properties, external and /// internal. You can use this flag together with \c #kXMPUtil_ReplaceOldValues to replace the /// values of existing top-level properties. /// /// \li \c #kXMPUtil_ReplaceOldValues: Propagate all top-level properties from the source to /// the destination, replacing any existing values. The values of properties in the /// destination that are not in the source are not modified.
/// The keep-or-replace-old notion also applies within structs and arrays. Top-level /// properties are added to the destination if they do not already exist. If they do exist but /// differ in form (simple/struct/array) then the destination is not modified. If the forms /// match, simple properties are left unchanged, while structs and arrays are merged.
/// Do not use this option when the processing is more complicated. <> /// /// \li \c #kXMPUtil_DeleteEmptyValues: An empty value in the source XMP causes the /// corresponding destination property to be deleted. By default, empty values are treated in /// the same way as non-empty values. An empty value is a simple empty string, an array with /// no items,or a struct with no fields. Qualifiers are ignored. /// /// The detailed behavior is defined by the following pseudo-code: /// ///
    /// AppendProperties ( sourceXMP, destXMP, options ):
    ///    doAll = options & kXMPUtil_DoAllProperties
    ///    replaceOld = options & kXMPUtil_ReplaceOldValues
    ///    deleteEmpty = options & kXMPUtil_DeleteEmptyValues
    ///    for all source schema (top level namespaces):
    ///    for all top level properties in sourceSchema:
    ///    if doAll or prop is external:
    ///       AppendSubtree ( sourceNode, destSchema, replaceOld, deleteEmpty )
    ///
    /// AppendSubtree ( sourceNode, destParent, replaceOld, deleteEmpty ):
    ///    if deleteEmpty and source value is empty:
    ///       delete the corresponding child from destParent
    ///    else if sourceNode not in destParent (by name):
    ///       copy sourceNode's subtree to destParent
    ///    else if replaceOld:
    ///       delete subtree from destParent
    ///       copy sourceNode's subtree to destParent
    ///    else: // (Already exists in dest and not replacing, merge structs and arrays)
    ///       if sourceNode and destNode forms differ:
    ///          return, leave the destNode alone
    ///       else if form is a struct:
    ///          for each field in sourceNode:
    ///             AppendSubtree ( sourceNode.field, destNode, replaceOld )
    ///       else if form is an alt-text array:
    ///          copy new items by xml:lang value into the destination
    ///       else if form is an array:
    ///          copy new items by value into the destination, ignoring order and duplicates
    /// 
/// /// Array item checking is n-squared; this can be time-intensive if the replace-old options is /// not specified. Each source item is checked to see if it already exists in the destination, /// without regard to order or duplicates. Simple items are compared by value and \c xml:lang /// qualifier; other qualifiers are ignored. Structs are recursively compared by field names, /// without regard to field order. Arrays are compared by recursively comparing all items. /// /// @param source The source XMP object. /// /// @param dest The destination XMP object. /// /// @param options Option flags to control the copying. A logical OR of these bit-flag constants: /// \li \c kXMPUtil_DoAllProperties - Operate on internal properties in addition to external properties. /// \li \c kXMPUtil_ReplaceOldValues - Replace the values of existing properties. /// \li \c kXMPUtil_DeleteEmptyValues - Delete properties if the new value is empty. static void AppendProperties ( const TXMPMeta & source, TXMPMeta * dest, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c DuplicateSubtree() replicates a subtree from one XMP object into another. /// /// The destination can be a different namespace and root location in the same object, or the /// same or a different location in another XMP object. /// /// @param source The source XMP object. /// /// @param dest The destination XMP object. /// /// @param sourceNS The schema namespace URI for the source subtree. /// /// @param sourceRoot The root location for the source subtree. Can be a general path expression, /// must not be null or the empty string. /// /// @param destNS The schema namespace URI for the destination. Defaults to the source namespace. /// /// @param destRoot The root location for the destination. Can be a general path expression. /// Defaults to the source location. /// /// @param options Option flags to control the operation. <> static void DuplicateSubtree ( const TXMPMeta & source, TXMPMeta * dest, XMP_StringPtr sourceNS, XMP_StringPtr sourceRoot, XMP_StringPtr destNS = 0, XMP_StringPtr destRoot = 0, XMP_OptionBits options = 0 ); /// @} // ============================================================================================= // ============================================================================================= }; // class TXMPUtils // ================================================================================================= #endif // __TXMPUtils_hpp__ exiv2-0.25/xmpsdk/include/XMP_Const.h0000664000175000017500000013712311224653364017244 0ustar andreasandreas#ifndef __XMP_Const_h__ #define __XMP_Const_h__ 1 // ================================================================================================= // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "XMP_Environment.h" #include #if XMP_MacBuild // ! No stdint.h on Windows and some UNIXes. #include #endif #if __cplusplus extern "C" { #endif // ================================================================================================= /// \file XMP_Const.h /// \brief Common C/C++ types and constants for the XMP toolkit. // ================================================================================================= // ================================================================================================= // Basic types and constants // ========================= // The XMP_... types are used on the off chance that the ..._t types present a problem. In that // case only the declarations of the XMP_... types needs to change, not all of the uses. These // types are used where fixed sizes are required in order to have a known ABI for a DLL build. #if XMP_MacBuild typedef int8_t XMP_Int8; typedef int16_t XMP_Int16; typedef int32_t XMP_Int32; typedef int64_t XMP_Int64; typedef uint8_t XMP_Uns8; typedef uint16_t XMP_Uns16; typedef uint32_t XMP_Uns32; typedef uint64_t XMP_Uns64; #else typedef signed char XMP_Int8; typedef signed short XMP_Int16; typedef signed long XMP_Int32; typedef signed long long XMP_Int64; typedef unsigned char XMP_Uns8; typedef unsigned short XMP_Uns16; typedef unsigned long XMP_Uns32; typedef unsigned long long XMP_Uns64; #endif typedef XMP_Uns8 XMP_Bool; /// An "ABI safe" pointer to the internal part of an XMP object. Use to pass an XMP object across /// client DLL boundaries. See \c TXMPMeta::GetInternalRef(). typedef struct __XMPMeta__ * XMPMetaRef; /// An "ABI safe" pointer to the internal part of an XMP iteration object. Use to pass an XMP /// iteration object across client DLL boundaries. See \c TXMPIterator. typedef struct __XMPIterator__ * XMPIteratorRef; /// An "ABI safe" pointer to the internal part of an XMP document operations object. Use to pass an /// XMP document operations object across client DLL boundaries. See \c TXMPDocOps. typedef struct __XMPDocOps__ * XMPDocOpsRef; /// An "ABI safe" pointer to the internal part of an XMP file-handling object. Use to pass an XMP /// file-handling object across client DLL boundaries. See \c TXMPFiles. typedef struct __XMPFiles__ * XMPFilesRef; // ================================================================================================= /// \name General scalar types and constants /// @{ /// \typedef XMP_StringPtr /// \brief The type for input string parameters. A const char *, a null-terminated UTF-8 /// string. /// \typedef XMP_StringLen /// \brief The type for string length parameters. A 32-bit unsigned integer, as big as will be /// practically needed. /// \typedef XMP_Index /// \brief The type for offsets and indices. A 32-bit signed integer. It is signed to allow -1 for /// loop termination. /// \typedef XMP_OptionBits /// \brief The type for a collection of 32 flag bits. Individual flags are defined as enum value bit /// masks; see \c #kXMP_PropValueIsURI and following. A number of macros provide common set or set /// operations, such as \c XMP_PropIsSimple. For other tests use an expression like options & /// kXMP_. When passing multiple option flags use the bitwise-OR operator. '|', /// not the arithmatic plus, '+'. typedef const char * XMP_StringPtr; // Points to a null terminated UTF-8 string. typedef XMP_Uns32 XMP_StringLen; typedef XMP_Int32 XMP_Index; // Signed, sometimes -1 is handy. typedef XMP_Uns32 XMP_OptionBits; // Used as 32 individual bits. /// \def kXMP_TrueStr /// \brief The canonical true string value for Booleans in serialized XMP. /// /// Code that converts from string to bool should be case insensitive, and also allow "1". /// \def kXMP_FalseStr /// \brief The canonical false string value for Booleans in serialized XMP. /// /// Code that converts from string to bool should be case insensitive, and also allow "0". #define kXMP_TrueStr "True" // Serialized XMP spellings, not for the type bool. #define kXMP_FalseStr "False" /// Type for yes/no/maybe answers. The values are picked to allow Boolean-like usage. The yes and /// values are true (non-zero), the no value is false (zero). enum { /// The part or parts have definitely changed. kXMPTS_Yes = 1, /// The part or parts have definitely not changed. kXMPTS_No = 0, /// The part or parts might, or might not, have changed. kXMPTS_Maybe = -1 }; typedef XMP_Int8 XMP_TriState; /// @} // ================================================================================================= /// \struct XMP_DateTime /// \brief The expanded type for a date and time. /// /// Dates and time in the serialized XMP are ISO 8601 strings. The \c XMP_DateTime struct allows /// easy conversion with other formats. /// /// All of the fields are 32 bit, even though most could be 8 bit. This avoids overflow when doing /// carries for arithmetic or normalization. All fields have signed values for the same reasons. /// /// Date-time values are occasionally used with only a date or only a time component. A date without /// a time has zeros in the \c XMP_DateTime struct for all time fields. A time without a date has /// zeros for all date fields (year, month, and day). /// /// \c TXMPUtils provides utility functions for manipulating date-time values. /// /// @see \c TXMPUtils::ConvertToDate(), \c TXMPUtils::ConvertFromDate(), /// \c TXMPUtils::CompareDateTime(), \c TXMPUtils::ConvertToLocalTime(), /// \c TXMPUtils::ConvertToUTCTime(), \c TXMPUtils::CurrentDateTime(), /// \c TXMPUtils::SetTimeZone() struct XMP_DateTime { /// The year, can be negative. XMP_Int32 year; /// The month in the range 1..12. XMP_Int32 month; /// The day of the month in the range 1..31. XMP_Int32 day; /// The hour in the range 0..23. XMP_Int32 hour; /// The minute in the range 0..59. XMP_Int32 minute; /// The second in the range 0..59. XMP_Int32 second; /// The "sign" of the time zone, \c #kXMP_TimeIsUTC (0) means UTC, \c #kXMP_TimeWestOfUTC (-1) /// is west, \c #kXMP_TimeEastOfUTC (+1) is east. XMP_Int32 tzSign; /// The time zone hour in the range 0..23. XMP_Int32 tzHour; /// The time zone minute in the range 0..59. XMP_Int32 tzMinute; /// Nanoseconds within a second, often left as zero. XMP_Int32 nanoSecond; }; /// Constant values for \c XMP_DateTime::tzSign field. enum { /// Time zone is west of UTC. kXMP_TimeWestOfUTC = -1, /// UTC time. kXMP_TimeIsUTC = 0, /// Time zone is east of UTC. kXMP_TimeEastOfUTC = +1 }; // ================================================================================================= // Standard namespace URI constants // ================================ /// \name XML namespace constants for standard XMP schema. /// @{ /// /// \def kXMP_NS_XMP /// \brief The XML namespace for the XMP "basic" schema. /// /// \def kXMP_NS_XMP_Rights /// \brief The XML namespace for the XMP copyright schema. /// /// \def kXMP_NS_XMP_MM /// \brief The XML namespace for the XMP digital asset management schema. /// /// \def kXMP_NS_XMP_BJ /// \brief The XML namespace for the job management schema. /// /// \def kXMP_NS_XMP_T /// \brief The XML namespace for the XMP text document schema. /// /// \def kXMP_NS_XMP_T_PG /// \brief The XML namespace for the XMP paged document schema. /// /// \def kXMP_NS_PDF /// \brief The XML namespace for the PDF schema. /// /// \def kXMP_NS_Photoshop /// \brief The XML namespace for the Photoshop custom schema. /// /// \def kXMP_NS_EXIF /// \brief The XML namespace for Adobe's EXIF schema. /// /// \def kXMP_NS_TIFF /// \brief The XML namespace for Adobe's TIFF schema. /// /// @} #define kXMP_NS_XMP "http://ns.adobe.com/xap/1.0/" #define kXMP_NS_XMP_Rights "http://ns.adobe.com/xap/1.0/rights/" #define kXMP_NS_XMP_MM "http://ns.adobe.com/xap/1.0/mm/" #define kXMP_NS_XMP_BJ "http://ns.adobe.com/xap/1.0/bj/" #define kXMP_NS_PDF "http://ns.adobe.com/pdf/1.3/" #define kXMP_NS_Photoshop "http://ns.adobe.com/photoshop/1.0/" #define kXMP_NS_PSAlbum "http://ns.adobe.com/album/1.0/" #define kXMP_NS_EXIF "http://ns.adobe.com/exif/1.0/" #define kXMP_NS_EXIF_Aux "http://ns.adobe.com/exif/1.0/aux/" #define kXMP_NS_TIFF "http://ns.adobe.com/tiff/1.0/" #define kXMP_NS_PNG "http://ns.adobe.com/png/1.0/" #define kXMP_NS_SWF "http://ns.adobe.com/swf/1.0/" #define kXMP_NS_JPEG "http://ns.adobe.com/jpeg/1.0/" #define kXMP_NS_JP2K "http://ns.adobe.com/jp2k/1.0/" #define kXMP_NS_CameraRaw "http://ns.adobe.com/camera-raw-settings/1.0/" #define kXMP_NS_DM "http://ns.adobe.com/xmp/1.0/DynamicMedia/" #define kXMP_NS_ASF "http://ns.adobe.com/asf/1.0/" #define kXMP_NS_WAV "http://ns.adobe.com/xmp/wav/1.0/" #define kXMP_NS_XMP_Note "http://ns.adobe.com/xmp/note/" #define kXMP_NS_AdobeStockPhoto "http://ns.adobe.com/StockPhoto/1.0/" #define kXMP_NS_CreatorAtom "http://ns.adobe.com/creatorAtom/1.0/" /// \name XML namespace constants for qualifiers and structured property fields. /// @{ /// /// \def kXMP_NS_XMP_IdentifierQual /// \brief The XML namespace for qualifiers of the xmp:Identifier property. /// /// \def kXMP_NS_XMP_Dimensions /// \brief The XML namespace for fields of the Dimensions type. /// /// \def kXMP_NS_XMP_Image /// \brief The XML namespace for fields of a graphical image. Used for the Thumbnail type. /// /// \def kXMP_NS_XMP_ResourceEvent /// \brief The XML namespace for fields of the ResourceEvent type. /// /// \def kXMP_NS_XMP_ResourceRef /// \brief The XML namespace for fields of the ResourceRef type. /// /// \def kXMP_NS_XMP_ST_Version /// \brief The XML namespace for fields of the Version type. /// /// \def kXMP_NS_XMP_ST_Job /// \brief The XML namespace for fields of the JobRef type. /// /// @} #define kXMP_NS_XMP_IdentifierQual "http://ns.adobe.com/xmp/Identifier/qual/1.0/" #define kXMP_NS_XMP_Dimensions "http://ns.adobe.com/xap/1.0/sType/Dimensions#" #define kXMP_NS_XMP_Text "http://ns.adobe.com/xap/1.0/t/" #define kXMP_NS_XMP_PagedFile "http://ns.adobe.com/xap/1.0/t/pg/" #define kXMP_NS_XMP_Graphics "http://ns.adobe.com/xap/1.0/g/" #define kXMP_NS_XMP_Image "http://ns.adobe.com/xap/1.0/g/img/" #define kXMP_NS_XMP_Font "http://ns.adobe.com/xap/1.0/sType/Font#" #define kXMP_NS_XMP_ResourceEvent "http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" #define kXMP_NS_XMP_ResourceRef "http://ns.adobe.com/xap/1.0/sType/ResourceRef#" #define kXMP_NS_XMP_ST_Version "http://ns.adobe.com/xap/1.0/sType/Version#" #define kXMP_NS_XMP_ST_Job "http://ns.adobe.com/xap/1.0/sType/Job#" #define kXMP_NS_XMP_ManifestItem "http://ns.adobe.com/xap/1.0/sType/ManifestItem#" // Deprecated XML namespace constants #define kXMP_NS_XMP_T "http://ns.adobe.com/xap/1.0/t/" #define kXMP_NS_XMP_T_PG "http://ns.adobe.com/xap/1.0/t/pg/" #define kXMP_NS_XMP_G_IMG "http://ns.adobe.com/xap/1.0/g/img/" /// \name XML namespace constants from outside Adobe. /// @{ /// /// \def kXMP_NS_DC /// \brief The XML namespace for the Dublin Core schema. /// /// \def kXMP_NS_IPTCCore /// \brief The XML namespace for the IPTC Core schema. /// /// \def kXMP_NS_RDF /// \brief The XML namespace for RDF. /// /// \def kXMP_NS_XML /// \brief The XML namespace for XML. /// /// @} #define kXMP_NS_DC "http://purl.org/dc/elements/1.1/" #define kXMP_NS_IPTCCore "http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/" #define kXMP_NS_DICOM "http://ns.adobe.com/DICOM/" #define kXMP_NS_PDFA_Schema "http://www.aiim.org/pdfa/ns/schema#" #define kXMP_NS_PDFA_Property "http://www.aiim.org/pdfa/ns/property#" #define kXMP_NS_PDFA_Type "http://www.aiim.org/pdfa/ns/type#" #define kXMP_NS_PDFA_Field "http://www.aiim.org/pdfa/ns/field#" #define kXMP_NS_PDFA_ID "http://www.aiim.org/pdfa/ns/id/" #define kXMP_NS_PDFA_Extension "http://www.aiim.org/pdfa/ns/extension/" #define kXMP_NS_PDFX "http://ns.adobe.com/pdfx/1.3/" #define kXMP_NS_PDFX_ID "http://www.npes.org/pdfx/ns/id/" #define kXMP_NS_RDF "http://www.w3.org/1999/02/22-rdf-syntax-ns#" #define kXMP_NS_XML "http://www.w3.org/XML/1998/namespace" // ================================================================================================= // Enums and macros used for option bits // ===================================== /// \name Macros for standard option selections. /// @{ /// /// \def kXMP_ArrayLastItem /// \brief Options macro accesses last array item. /// /// \def kXMP_UseNullTermination /// \brief Options macro sets string style. /// /// \def kXMP_NoOptions /// \brief Options macro clears all property-type bits. /// /// @} #define kXMP_ArrayLastItem ((XMP_Index)(-1L)) #define kXMP_UseNullTermination ((XMP_StringLen)(~0UL)) #define kXMP_NoOptions ((XMP_OptionBits)0UL) /// \name Macros for setting and testing general option bits. /// @{ /// /// \def XMP_SetOption /// \brief Macro sets an option flag bit. /// \param var A variable storing an options flag. /// \param opt The bit-flag constant to set. /// /// \def XMP_ClearOption /// \brief Macro clears an option flag bit. /// \param var A variable storing an options flag. /// \param opt The bit-flag constant to clear. /// /// \def XMP_TestOption /// \brief Macro reports whether an option flag bit is set. /// \param var A variable storing an options flag. /// \param opt The bit-flag constant to test. /// \return True if the bit is set. /// /// \def XMP_OptionIsSet /// \brief Macro reports whether an option flag bit is set. /// \param var A variable storing an options flag. /// \param opt The bit-flag constant to test. /// \return True if the bit is set. /// /// \def XMP_OptionIsClear /// \brief Macro reports whether an option flag bit is clear. /// \param var A variable storing an options flag. /// \param opt The bit-flag constant to test. /// \return True if the bit is clear. /// /// @} #define XMP_SetOption(var,opt) var |= (opt) #define XMP_ClearOption(var,opt) var &= ~(opt) #define XMP_TestOption(var,opt) (((var) & (opt)) != 0) #define XMP_OptionIsSet(var,opt) (((var) & (opt)) != 0) #define XMP_OptionIsClear(var,opt) (((var) & (opt)) == 0) /// \name Macros for setting and testing specific option bits. /// @{ /// /// \def XMP_PropIsSimple /// \brief Macro reports the property type specified by an options flag. /// \param opt The options flag to check. /// /// \def XMP_PropIsStruct /// \brief Macro reports the property type specified by an options flag. /// \param opt The options flag to check. /// /// \def XMP_PropIsArray /// \brief Macro reports the property type specified by an options flag. /// \param opt The options flag to check. /// /// \def XMP_ArrayIsUnordered /// \brief Macro reports the property type specified by an options flag. /// \param opt The options flag to check. /// /// \def XMP_ArrayIsOrdered /// \brief Macro reports the property type specified by an options flag. /// \param opt The options flag to check. /// /// \def XMP_ArrayIsAlternate /// \brief Macro reports the property type specified by an options flag. /// \param opt The options flag to check. /// /// \def XMP_ArrayIsAltText /// \brief Macro reports the property type specified by an options flag. /// \param opt The options flag to check. /// /// \def XMP_PropHasQualifiers /// \brief Macro reports the property type specified by an options flag. /// \param opt The options flag to check. /// /// \def XMP_PropIsQualifier /// \brief Macro reports the property type specified by an options flag. /// \param opt The options flag to check. /// /// \def XMP_PropHasLang /// \brief Macro reports the property type specified by an options flag. /// \param opt The options flag to check. /// /// \def XMP_NodeIsSchema /// \brief Macro reports the property type specified by an options flag. /// \param opt The options flag to check. /// /// \def XMP_PropIsAlias /// \brief Macro reports the property type specified by an options flag. /// \param opt The options flag to check. /// /// @} #define XMP_PropIsSimple(opt) (((opt) & kXMP_PropCompositeMask) == 0) #define XMP_PropIsStruct(opt) (((opt) & kXMP_PropValueIsStruct) != 0) #define XMP_PropIsArray(opt) (((opt) & kXMP_PropValueIsArray) != 0) #define XMP_ArrayIsUnordered(opt) (((opt) & kXMP_PropArrayIsOrdered) == 0) #define XMP_ArrayIsOrdered(opt) (((opt) & kXMP_PropArrayIsOrdered) != 0) #define XMP_ArrayIsAlternate(opt) (((opt) & kXMP_PropArrayIsAlternate) != 0) #define XMP_ArrayIsAltText(opt) (((opt) & kXMP_PropArrayIsAltText) != 0) #define XMP_PropHasQualifiers(opt) (((opt) & kXMP_PropHasQualifiers) != 0) #define XMP_PropIsQualifier(opt) (((opt) & kXMP_PropIsQualifier) != 0) #define XMP_PropHasLang(opt) (((opt) & kXMP_PropHasLang) != 0) #define XMP_NodeIsSchema(opt) (((opt) & kXMP_SchemaNode) != 0) #define XMP_PropIsAlias(opt) (((opt) & kXMP_PropIsAlias) != 0) // ------------------------------------------------------------------------------------------------- /// Option bit flags for the \c TXMPMeta property accessor functions. enum { /// The XML string form of the property value is a URI, use rdf:resource attribute. DISCOURAGED kXMP_PropValueIsURI = 0x00000002UL, // ------------------------------------------------------ // Options relating to qualifiers attached to a property. /// The property has qualifiers, includes \c rdf:type and \c xml:lang. kXMP_PropHasQualifiers = 0x00000010UL, /// This is a qualifier for some other property, includes \c rdf:type and \c xml:lang. /// Qualifiers can have arbitrary structure, and can themselves have qualifiers. If the /// qualifier itself has a structured value, this flag is only set for the top node of the /// qualifier's subtree. kXMP_PropIsQualifier = 0x00000020UL, /// Implies \c #kXMP_PropHasQualifiers, property has \c xml:lang. kXMP_PropHasLang = 0x00000040UL, /// Implies \c #kXMP_PropHasQualifiers, property has \c rdf:type. kXMP_PropHasType = 0x00000080UL, // -------------------------------------------- // Options relating to the data structure form. /// The value is a structure with nested fields. kXMP_PropValueIsStruct = 0x00000100UL, /// The value is an array (RDF alt/bag/seq). The "ArrayIs..." flags identify specific types /// of array; default is a general unordered array, serialized using an \c rdf:Bag container. kXMP_PropValueIsArray = 0x00000200UL, /// The item order does not matter. kXMP_PropArrayIsUnordered = kXMP_PropValueIsArray, /// Implies \c #kXMP_PropValueIsArray, item order matters. It is serialized using an \c rdf:Seq container. kXMP_PropArrayIsOrdered = 0x00000400UL, /// Implies \c #kXMP_PropArrayIsOrdered, items are alternates. It is serialized using an \c rdf:Alt container. kXMP_PropArrayIsAlternate = 0x00000800UL, // ------------------------------------ // Additional struct and array options. /// Implies \c #kXMP_PropArrayIsAlternate, items are localized text. Each array element is a /// simple property with an \c xml:lang attribute. kXMP_PropArrayIsAltText = 0x00001000UL, // kXMP_InsertBeforeItem = 0x00004000UL, ! Used by SetXyz functions. // kXMP_InsertAfterItem = 0x00008000UL, ! Used by SetXyz functions. // ---------------------------- // Other miscellaneous options. /// This property is an alias name for another property. This is only returned by /// \c TXMPMeta::GetProperty() and then only if the property name is simple, not an path expression. kXMP_PropIsAlias = 0x00010000UL, /// This property is the base value (actual) for a set of aliases.This is only returned by /// \c TXMPMeta::GetProperty() and then only if the property name is simple, not an path expression. kXMP_PropHasAliases = 0x00020000UL, /// The value of this property is "owned" by the application, and should not generally be editable in a UI. kXMP_PropIsInternal = 0x00040000UL, /// The value of this property is not derived from the document content. kXMP_PropIsStable = 0x00100000UL, /// The value of this property is derived from the document content. kXMP_PropIsDerived = 0x00200000UL, // kXMPUtil_AllowCommas = 0x10000000UL, ! Used by TXMPUtils::CatenateArrayItems and ::SeparateArrayItems. // kXMP_DeleteExisting = 0x20000000UL, ! Used by TXMPMeta::SetXyz functions to delete any pre-existing property. // kXMP_SchemaNode = 0x80000000UL, ! Returned by iterators - #define to avoid warnings // ------------------------------ // Masks that are multiple flags. /// Property type bit-flag mask for all array types kXMP_PropArrayFormMask = kXMP_PropValueIsArray | kXMP_PropArrayIsOrdered | kXMP_PropArrayIsAlternate | kXMP_PropArrayIsAltText, /// Property type bit-flag mask for composite types (array and struct) kXMP_PropCompositeMask = kXMP_PropValueIsStruct | kXMP_PropArrayFormMask, /// Mask for bits that are reserved for transient use by the implementation. kXMP_ImplReservedMask = 0x70000000L }; #define kXMP_SchemaNode ((XMP_OptionBits)0x80000000UL) /// Option bit flags for the \c TXMPMeta property setting functions. These option bits are shared /// with the accessor functions: /// \li \c #kXMP_PropValueIsURI /// \li \c #kXMP_PropValueIsStruct /// \li \c #kXMP_PropValueIsArray /// \li \c #kXMP_PropArrayIsOrdered /// \li \c #kXMP_PropArrayIsAlternate /// \li \c #kXMP_PropArrayIsAltText enum { /// Option for array item location: Insert a new item before the given index. kXMP_InsertBeforeItem = 0x00004000UL, /// Option for array item location: Insert a new item after the given index. kXMP_InsertAfterItem = 0x00008000UL, /// Delete any pre-existing property. kXMP_DeleteExisting = 0x20000000UL, /// Bit-flag mask for property-value option bits kXMP_PropValueOptionsMask = kXMP_PropValueIsURI, /// Bit-flag mask for array-item location bits kXMP_PropArrayLocationMask = kXMP_InsertBeforeItem | kXMP_InsertAfterItem }; // ------------------------------------------------------------------------------------------------- /// Option bit flags for \c TXMPMeta::ParseFromBuffer(). enum { /// Require a surrounding \c x:xmpmeta element. kXMP_RequireXMPMeta = 0x0001UL, /// This is the not last input buffer for this parse stream. kXMP_ParseMoreBuffers = 0x0002UL, /// Do not reconcile alias differences, throw an exception. kXMP_StrictAliasing = 0x0004UL }; /// Option bit flags for \c TXMPMeta::SerializeToBuffer(). enum { // *** Option to remove empty struct/array, or leaf with empty value? /// Omit the XML packet wrapper. kXMP_OmitPacketWrapper = 0x0010UL, /// Default is a writeable packet. kXMP_ReadOnlyPacket = 0x0020UL, /// Use a compact form of RDF. kXMP_UseCompactFormat = 0x0040UL, /// Include a padding allowance for a thumbnail image. kXMP_IncludeThumbnailPad = 0x0100UL, /// The padding parameter is the overall packet length. kXMP_ExactPacketLength = 0x0200UL, /// Show aliases as XML comments. kXMP_WriteAliasComments = 0x0400UL, /// Omit all formatting whitespace. kXMP_OmitAllFormatting = 0x0800UL, /// Omit the x:xmpmeta element surrounding the rdf:RDF element. kXMP_OmitXMPMetaElement = 0x1000UL, _XMP_LittleEndian_Bit = 0x0001UL, // ! Don't use directly, see the combined values below! _XMP_UTF16_Bit = 0x0002UL, _XMP_UTF32_Bit = 0x0004UL, /// Bit-flag mask for encoding-type bits kXMP_EncodingMask = 0x0007UL, /// Use UTF8 encoding kXMP_EncodeUTF8 = 0UL, /// Use UTF16 big-endian encoding kXMP_EncodeUTF16Big = _XMP_UTF16_Bit, /// Use UTF16 little-endian encoding kXMP_EncodeUTF16Little = _XMP_UTF16_Bit | _XMP_LittleEndian_Bit, /// Use UTF32 big-endian encoding kXMP_EncodeUTF32Big = _XMP_UTF32_Bit, /// Use UTF13 little-endian encoding kXMP_EncodeUTF32Little = _XMP_UTF32_Bit | _XMP_LittleEndian_Bit }; // ------------------------------------------------------------------------------------------------- /// Option bit flags for \c TXMPIterator construction. enum { /// The low 8 bits are an enum of what data structure to iterate. kXMP_IterClassMask = 0x00FFUL, /// Iterate the property tree of a TXMPMeta object. kXMP_IterProperties = 0x0000UL, /// Iterate the global alias table. kXMP_IterAliases = 0x0001UL, /// Iterate the global namespace table. kXMP_IterNamespaces = 0x0002UL, /// Just do the immediate children of the root, default is subtree. kXMP_IterJustChildren = 0x0100UL, /// Just do the leaf nodes, default is all nodes in the subtree. kXMP_IterJustLeafNodes = 0x0200UL, /// Return just the leaf part of the path, default is the full path. kXMP_IterJustLeafName = 0x0400UL, /// Include aliases, default is just actual properties. kXMP_IterIncludeAliases = 0x0800UL, /// Omit all qualifiers. kXMP_IterOmitQualifiers = 0x1000UL }; /// Option bit flags for \c TXMPIterator::Skip(). enum { /// Skip the subtree below the current node. kXMP_IterSkipSubtree = 0x0001UL, /// Skip the subtree below and remaining siblings of the current node. kXMP_IterSkipSiblings = 0x0002UL }; // ------------------------------------------------------------------------------------------------- /// Option bit flags for \c TXMPUtils::CatenateArrayItems() and \c TXMPUtils::SeparateArrayItems(). /// These option bits are shared with the accessor functions: /// \li \c #kXMP_PropValueIsArray, /// \li \c #kXMP_PropArrayIsOrdered, /// \li \c #kXMP_PropArrayIsAlternate, /// \li \c #kXMP_PropArrayIsAltText enum { /// Allow commas in item values, default is separator. kXMPUtil_AllowCommas = 0x10000000UL }; /// Option bit flags for \c TXMPUtils::RemoveProperties() and \c TXMPUtils::AppendProperties(). enum { /// Do all properties, default is just external properties. kXMPUtil_DoAllProperties = 0x0001UL, /// Replace existing values, default is to leave them. kXMPUtil_ReplaceOldValues = 0x0002UL, /// Delete properties if the new value is empty. kXMPUtil_DeleteEmptyValues = 0x0004UL, /// Include aliases, default is just actual properties. kXMPUtil_IncludeAliases = 0x0800UL }; // ================================================================================================= // Types and Constants for XMPFiles // ================================ /// File format constants for use with XMPFiles. enum { // ! Hex used to avoid gcc warnings. Leave the constants so the text reads big endian. There // ! seems to be no decent way on UNIX to determine the target endianness at compile time. // ! Forcing it on the client isn't acceptable. // -------------------- // Public file formats. /// Public file format constant: 'PDF ' kXMP_PDFFile = 0x50444620UL, /// Public file format constant: 'PS ', general PostScript following DSC conventions kXMP_PostScriptFile = 0x50532020UL, /// Public file format constant: 'EPS ', encapsulated PostScript kXMP_EPSFile = 0x45505320UL, /// Public file format constant: 'JPEG' kXMP_JPEGFile = 0x4A504547UL, /// Public file format constant: 'JPX ', JPEG 2000, ISO 15444-1 kXMP_JPEG2KFile = 0x4A505820UL, /// Public file format constant: 'TIFF' kXMP_TIFFFile = 0x54494646UL, /// Public file format constant: 'GIF ' kXMP_GIFFile = 0x47494620UL, /// Public file format constant: 'PNG ' kXMP_PNGFile = 0x504E4720UL, /// Public file format constant: 'SWF ' kXMP_SWFFile = 0x53574620UL, /// Public file format constant: 'FLA ' kXMP_FLAFile = 0x464C4120UL, /// Public file format constant: 'FLV ' kXMP_FLVFile = 0x464C5620UL, /// Public file format constant: 'MOV ', Quicktime kXMP_MOVFile = 0x4D4F5620UL, /// Public file format constant: 'AVI ' kXMP_AVIFile = 0x41564920UL, /// Public file format constant: 'CIN ', Cineon kXMP_CINFile = 0x43494E20UL, /// Public file format constant: 'WAV ' kXMP_WAVFile = 0x57415620UL, /// Public file format constant: 'MP3 ' kXMP_MP3File = 0x4D503320UL, /// Public file format constant: 'SES ', Audition session kXMP_SESFile = 0x53455320UL, /// Public file format constant: 'CEL ', Audition loop kXMP_CELFile = 0x43454C20UL, /// Public file format constant: 'MPEG' kXMP_MPEGFile = 0x4D504547UL, /// Public file format constant: 'MP2 ' kXMP_MPEG2File = 0x4D503220UL, /// Public file format constant: 'MP4 ', ISO 14494-12 and -14 kXMP_MPEG4File = 0x4D503420UL, /// Public file format constant: 'WMAV', Windows Media Audio and Video kXMP_WMAVFile = 0x574D4156UL, /// Public file format constant: 'AIFF' kXMP_AIFFFile = 0x41494646UL, /// Public file format constant: 'P2 ', a collection not really a single file kXMP_P2File = 0x50322020UL, /// Public file format constant: 'XDCF', a collection not really a single file kXMP_XDCAM_FAMFile = 0x58444346UL, /// Public file format constant: 'XDCS', a collection not really a single file kXMP_XDCAM_SAMFile = 0x58444353UL, /// Public file format constant: 'XDCX', a collection not really a single file kXMP_XDCAM_EXFile = 0x58444358UL, /// Public file format constant: 'AVHD', a collection not really a single file kXMP_AVCHDFile = 0x41564844UL, /// Public file format constant: 'SHDV', a collection not really a single file kXMP_SonyHDVFile = 0x53484456UL, /// Public file format constant: 'HTML' kXMP_HTMLFile = 0x48544D4CUL, /// Public file format constant: 'XML ' kXMP_XMLFile = 0x584D4C20UL, /// Public file format constant: 'text' kXMP_TextFile = 0x74657874UL, // ------------------------------- // Adobe application file formats. /// Adobe application file format constant: 'PSD ' kXMP_PhotoshopFile = 0x50534420UL, /// Adobe application file format constant: 'AI ' kXMP_IllustratorFile = 0x41492020UL, /// Adobe application file format constant: 'INDD' kXMP_InDesignFile = 0x494E4444UL, /// Adobe application file format constant: 'AEP ' kXMP_AEProjectFile = 0x41455020UL, /// Adobe application file format constant: 'AET ', After Effects Project Template kXMP_AEProjTemplateFile = 0x41455420UL, /// Adobe application file format constant: 'FFX ' kXMP_AEFilterPresetFile = 0x46465820UL, /// Adobe application file format constant: 'NCOR' kXMP_EncoreProjectFile = 0x4E434F52UL, /// Adobe application file format constant: 'PRPJ' kXMP_PremiereProjectFile = 0x5052504AUL, /// Adobe application file format constant: 'PRTL' kXMP_PremiereTitleFile = 0x5052544CUL, /// Adobe application file format constant: 'UCF ', Universal Container Format kXMP_UCFFile = 0x55434620UL, // ------- // Others. /// Unknown file format constant: ' ' kXMP_UnknownFile = 0x20202020UL }; /// Type for file format identification constants. See \c #kXMP_PDFFile and following. typedef XMP_Uns32 XMP_FileFormat; // ------------------------------------------------------------------------------------------------- /// Byte-order masks, do not use directly enum { kXMP_CharLittleEndianMask = 1, kXMP_Char16BitMask = 2, kXMP_Char32BitMask = 4 }; /// Constants to allow easy testing for 16/32 bit and big/little endian. enum { /// 8-bit kXMP_Char8Bit = 0, /// 16-bit big-endian kXMP_Char16BitBig = kXMP_Char16BitMask, /// 16-bit little-endian kXMP_Char16BitLittle = kXMP_Char16BitMask | kXMP_CharLittleEndianMask, /// 32-bit big-endian kXMP_Char32BitBig = kXMP_Char32BitMask, /// 32-bit little-endian kXMP_Char32BitLittle = kXMP_Char32BitMask | kXMP_CharLittleEndianMask, /// Variable or not-yet-known cases kXMP_CharUnknown = 1 }; /// \name Macros to test components of the character form mask /// @{ /// /// \def XMP_CharFormIs16Bit /// \brief Macro reports the encoding of a character. /// \param f The character to check. /// /// \def XMP_CharFormIs32Bit /// \brief Macro reports the encoding of a character. /// \param f The character to check. /// /// \def XMP_CharFormIsBigEndian /// \brief Macro reports the byte-order of a character. /// \param f The character to check. /// /// \def XMP_CharFormIsLittleEndian /// \brief Macro reports the byte-order of a character. /// \param f The character to check. /// /// \def XMP_GetCharSize /// \brief Macro reports the byte-size of a character. /// \param f The character to check. /// /// \def XMP_CharToSerializeForm /// \brief Macro converts \c XMP_Uns8 to \c XMP_OptionBits. /// \param cf The character to convert. /// /// \def XMP_CharFromSerializeForm /// \brief Macro converts \c XMP_OptionBits to \c XMP_Uns8. /// \param sf The character to convert. /// /// @} #define XMP_CharFormIs16Bit(f) ( ((int)(f) & kXMP_Char16BitMask) != 0 ) #define XMP_CharFormIs32Bit(f) ( ((int)(f) & kXMP_Char32BitMask) != 0 ) #define XMP_CharFormIsBigEndian(f) ( ((int)(f) & kXMP_CharLittleEndianMask) == 0 ) #define XMP_CharFormIsLittleEndian(f) ( ((int)(f) & kXMP_CharLittleEndianMask) != 0 ) #define XMP_GetCharSize(f) ( ((int)(f)&6) == 0 ? 1 : (int)(f)&6 ) #define XMP_CharToSerializeForm(cf) ( (XMP_OptionBits)(cf) ) #define XMP_CharFromSerializeForm(sf) ( (XMP_Uns8)(sf) ) /// \def kXMPFiles_UnknownOffset /// \brief Constant for an unknown packet offset within a file. #define kXMPFiles_UnknownOffset ((XMP_Int64)-1) /// \def kXMPFiles_UnknownLength /// \brief Constant for an unknown packet length within a file. #define kXMPFiles_UnknownLength ((XMP_Int32)-1) /// XMP packet description struct XMP_PacketInfo { /// Packet offset in the file in bytes, -1 if unknown. XMP_Int64 offset; /// Packet length in the file in bytes, -1 if unknown. XMP_Int32 length; /// Packet padding size in bytes, zero if unknown. XMP_Int32 padSize; // Zero if unknown. /// Character format using the values \c kXMP_Char8Bit, \c kXMP_Char16BitBig, etc. XMP_Uns8 charForm; /// True if there is a packet wrapper and the trailer says writeable by dumb packet scanners. XMP_Bool writeable; /// True if there is a packet wrapper, the "" XML processing instructions. XMP_Bool hasWrapper; /// Padding to make the struct's size be a multiple 4. XMP_Uns8 pad; /// Default constructor. XMP_PacketInfo() : offset(kXMPFiles_UnknownOffset), length(kXMPFiles_UnknownLength), padSize(0), charForm(0), writeable(0), hasWrapper(0), pad(0) {}; }; /// Version of the XMP_PacketInfo type enum { /// Version of the XMP_PacketInfo type kXMP_PacketInfoVersion = 3 }; // ------------------------------------------------------------------------------------------------- /// Values for \c XMP_ThumbnailInfo::tnailFormat. enum { /// The thumbnail data has an unknown format. kXMP_UnknownTNail = 0, /// The thumbnail data is a JPEG stream, presumably compressed. kXMP_JPEGTNail = 1, /// The thumbnail data is a TIFF stream, presumably uncompressed. kXMP_TIFFTNail = 2, /// The thumbnail data is in the format of Photoshop Image Resource 1036. kXMP_PShopTNail = 3 }; /// Thumbnail descriptor struct XMP_ThumbnailInfo { /// The format of the containing file. XMP_FileFormat fileFormat; /// Full image size in pixels. XMP_Uns32 fullWidth, fullHeight; /// Thumbnail image size in pixels. XMP_Uns32 tnailWidth, tnailHeight; /// Orientation of full image and thumbnail, as defined by Exif for tag 274. XMP_Uns16 fullOrientation, tnailOrientation; /// Raw image data from the host file, valid for life of the owning \c XMPFiles object. Do not modify! const XMP_Uns8 * tnailImage; /// The size in bytes of the thumbnail image data. XMP_Uns32 tnailSize; /// The format of the thumbnail image data. XMP_Uns8 tnailFormat; /// Padding to make the struct's size be a multiple 4. XMP_Uns8 pad1, pad2, pad3; /// Default constructor. XMP_ThumbnailInfo() : fileFormat(kXMP_UnknownFile), fullWidth(0), fullHeight(0), tnailWidth(0), tnailHeight(0), fullOrientation(0), tnailOrientation(0), tnailImage(0), tnailSize(0), tnailFormat(kXMP_UnknownTNail) {}; }; /// Version of the XMP_ThumbnailInfo type enum { /// Version of the XMP_ThumbnailInfo type kXMP_ThumbnailInfoVersion = 1 }; // ------------------------------------------------------------------------------------------------- /// Option bit flags for \c TXMPFiles::Initialize(). enum { /// Do not initialize QuickTime, the client will. kXMPFiles_NoQuickTimeInit = 0x0001 }; /// Option bit flags for \c TXMPFiles::GetFormatInfo(). enum { /// Can inject first-time XMP into an existing file. kXMPFiles_CanInjectXMP = 0x00000001, /// Can expand XMP or other metadata in an existing file. kXMPFiles_CanExpand = 0x00000002, /// Can copy one file to another, writing new metadata. kXMPFiles_CanRewrite = 0x00000004, /// Can expand, but prefers in-place update. kXMPFiles_PrefersInPlace = 0x00000008, /// Supports reconciliation between XMP and other forms. kXMPFiles_CanReconcile = 0x00000010, /// Allows access to just the XMP, ignoring other forms. kXMPFiles_AllowsOnlyXMP = 0x00000020, /// File handler returns raw XMP packet information. kXMPFiles_ReturnsRawPacket = 0x00000040, /// File handler returns native thumbnail. kXMPFiles_ReturnsTNail = 0x00000080, /// The file handler does the file open and close. kXMPFiles_HandlerOwnsFile = 0x00000100, /// The file handler allows crash-safe file updates. kXMPFiles_AllowsSafeUpdate = 0x00000200, /// The file format needs the XMP packet to be read-only. kXMPFiles_NeedsReadOnlyPacket = 0x00000400, /// The file handler uses a "sidecar" file for the XMP. kXMPFiles_UsesSidecarXMP = 0x00000800, /// The format is folder oriented, for example the P2 video format. kXMPFiles_FolderBasedFormat = 0x00001000 }; /// Option bit flags for \c TXMPFiles::OpenFile(). enum { /// Open for read-only access. kXMPFiles_OpenForRead = 0x00000001, /// Open for reading and writing. kXMPFiles_OpenForUpdate = 0x00000002, /// Only the XMP is wanted, allows space/time optimizations. kXMPFiles_OpenOnlyXMP = 0x00000004, /// Cache thumbnail if possible, \c TXMPFiles::GetThumbnail() will be called. kXMPFiles_OpenCacheTNail = 0x00000008, /// Be strict about locating XMP and reconciling with other forms. kXMPFiles_OpenStrictly = 0x00000010, /// Require the use of a smart handler. kXMPFiles_OpenUseSmartHandler = 0x00000020, /// Force packet scanning, do not use a smart handler. kXMPFiles_OpenUsePacketScanning = 0x00000040, /// Only packet scan files "known" to need scanning. kXMPFiles_OpenLimitedScanning = 0x00000080, /// Attempt to repair a file opened for update, default is to not open (throw an exception). kXMPFiles_OpenRepairFile = 0x00000100, /// Set if calling from background thread. kXMPFiles_OpenInBackground = 0x10000000 }; // A note about kXMPFiles_OpenInBackground. The XMPFiles handler for .mov files currently uses // QuickTime. On Macintosh, calls to Enter/ExitMovies versus Enter/ExitMoviesOnThread must be made. // This option is used to signal background use so that the .mov handler can behave appropriately. /// Option bit flags for \c TXMPFiles::CloseFile(). enum { /// Write into a temporary file and swap for crash safety. kXMPFiles_UpdateSafely = 0x0001 }; // ================================================================================================= // Exception codes // =============== /// \name Errors Exception handling /// @{ /// /// XMP Tookit errors result in throwing an \c XMP_Error exception. Any exception thrown within the /// XMP Toolkit is caught in the toolkit and rethrown as an \c XMP_Error. /// /// The \c XMP_Error class contains a numeric code and an English explanation. New numeric codes may /// be added at any time. There are typically many possible explanations for each numeric code. The /// explanations try to be precise about the specific circumstances causing the error. /// /// \note The explanation string is for debugging use only. It must not be shown to users in a /// final product. It is written for developers not users, and never localized. /// /// XMP Toolkit error, associates an error code with a descriptive error string. class XMP_Error { public: /// @brief Constructor for an XMP_Error. /// /// @param _id The numeric code. /// /// @param _errMsg The descriptive string, for debugging use only. It must not be shown to users /// in a final product. It is written for developers, not users, and never localized. XMP_Error ( XMP_Int32 _id, XMP_StringPtr _errMsg ) : id(_id), errMsg(_errMsg) {}; /// Retrieves the numeric code from an XMP_Error. inline XMP_Int32 GetID() const { return id; }; /// Retrieves the descriptive string from an XMP_Error. inline XMP_StringPtr GetErrMsg() const { return errMsg; }; private: /// Exception code. See constants \c #kXMPErr_Unknown and following. XMP_Int32 id; /// Descriptive string, for debugging use only. It must not be shown to users in a final /// product. It is written for developers, not users, and never localized. XMP_StringPtr errMsg; }; /// Exception code constants enum { // -------------------- // Generic error codes. /// Generic unknown error kXMPErr_Unknown = 0, /// Generic undefined error kXMPErr_TBD = 1, /// Generic unavailable error kXMPErr_Unavailable = 2, /// Generic bad object error kXMPErr_BadObject = 3, /// Generic bad parameter error kXMPErr_BadParam = 4, /// Generic bad value error kXMPErr_BadValue = 5, /// Generic assertion failure kXMPErr_AssertFailure = 6, /// Generic enforcement failure kXMPErr_EnforceFailure = 7, /// Generic unimplemented error kXMPErr_Unimplemented = 8, /// Generic internal failure kXMPErr_InternalFailure = 9, /// Generic deprecated error kXMPErr_Deprecated = 10, /// Generic external failure kXMPErr_ExternalFailure = 11, /// Generic user abort error kXMPErr_UserAbort = 12, /// Generic standard exception kXMPErr_StdException = 13, /// Generic unknown exception kXMPErr_UnknownException = 14, /// Generic out-of-memory error kXMPErr_NoMemory = 15, // ------------------------------------ // More specific parameter error codes. /// Bad schema parameter kXMPErr_BadSchema = 101, /// Bad XPath parameter kXMPErr_BadXPath = 102, /// Bad options parameter kXMPErr_BadOptions = 103, /// Bad index parameter kXMPErr_BadIndex = 104, /// Bad iteration position kXMPErr_BadIterPosition = 105, /// XML parsing error kXMPErr_BadParse = 106, /// Serialization error kXMPErr_BadSerialize = 107, /// File format error kXMPErr_BadFileFormat = 108, /// No file handler found for format kXMPErr_NoFileHandler = 109, /// Data too large for JPEG file format kXMPErr_TooLargeForJPEG = 110, // ----------------------------------------------- // File format and internal structure error codes. /// XML format error kXMPErr_BadXML = 201, /// RDF format error kXMPErr_BadRDF = 202, /// XMP format error kXMPErr_BadXMP = 203, /// Empty iterator kXMPErr_EmptyIterator = 204, /// Unicode error kXMPErr_BadUnicode = 205, /// TIFF format error kXMPErr_BadTIFF = 206, /// JPEG format error kXMPErr_BadJPEG = 207, /// PSD format error kXMPErr_BadPSD = 208, /// PSIR format error kXMPErr_BadPSIR = 209, /// IPTC format error kXMPErr_BadIPTC = 210, /// MPEG format error kXMPErr_BadMPEG = 211 }; /// @} // ================================================================================================= // Client callbacks // ================ // ------------------------------------------------------------------------------------------------- /// \name Special purpose callback functions /// @{ /// A signed 32-bit integer used as a status result for the output callback routine, /// \c XMP_TextOutputProc. Zero means no error, all other values except -1 are private to the callback. /// The callback is wrapped to prevent exceptions being thrown across DLL boundaries. Any exceptions /// thrown out of the callback cause a return status of -1. typedef XMP_Int32 XMP_Status; // ------------------------------------------------------------------------------------------------- /// The signature of a client-defined callback for text output from XMP Toolkit debugging /// operations. The callback is invoked one or more times for each line of output. The end of a line /// is signaled by a '\\n' character at the end of the buffer. Formatting newlines are never present /// in the middle of a buffer, but values of properties might contain any UTF-8 characters. /// /// @param refCon A pointer to client-defined data passed to the TextOutputProc. /// /// @param buffer A string containing one line of output. /// /// @param bufferSize The number of characters in the output buffer. /// /// @return A success/fail status value. Any failure result aborts the output. /// /// @see \c TXMPMeta::DumpObject() typedef XMP_Status (* XMP_TextOutputProc) ( void * refCon, XMP_StringPtr buffer, XMP_StringLen bufferSize ); // ------------------------------------------------------------------------------------------------- /// The signature of a client-defined callback to check for a user request to abort a time-consuming /// operation within XMPFiles. /// /// @param arg A pointer to caller-defined data passed from the registration call. /// /// @return True to abort the current operation, which results in an exception being thrown. /// /// @see \c TXMPFiles::SetAbortProc() typedef bool (* XMP_AbortProc) ( void * arg ); // Used by . /// @} // ================================================================================================= // Stuff with no better place to be // ================================ /// XMP Toolkit version information typedef struct XMP_VersionInfo { /// The primary release number, the "1" in version "1.2.3". XMP_Uns8 major; /// The secondary release number, the "2" in version "1.2.3". XMP_Uns8 minor; /// The tertiary release number, the "3" in version "1.2.3". XMP_Uns8 micro; /// A 0/1 boolean value, true if this is a debug build. XMP_Bool isDebug; /// A rolling build number, monotonically increasing in a release. XMP_Uns32 build; /// Individual feature implementation flags. XMP_Uns32 flags; /// A comprehensive version information string. XMP_StringPtr message; } XMP_VersionInfo; // ================================================================================================= #if __cplusplus } // extern "C" #endif #endif // __XMP_Const_h__ exiv2-0.25/xmpsdk/include/XMP_Version.h0000664000175000017500000000401511224653757017602 0ustar andreasandreas#ifndef __XMP_Version_h__ #define __XMP_Version_h__ 1 /* --------------------------------------------------------------------------------------------- */ /* ** IMPORTANT ** This file must be usable by strict ANSI C compilers. No "//" comments, etc. */ /* --------------------------------------------------------------------------------------------- */ /* // ================================================================================================= // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= */ /* ============================================================================================= */ /** XMP Toolkit Version Information Version information for the XMP toolkit is stored in the executable and available through a runtime call, SXMPMeta::GetVersionInfo. In addition a static version number is defined in this header. The information in the executable or returned by SXMPMeta::GetVersionInfo is about the implementation internals, it is runtime version information. The values defined in this header describe the version of the API used at client compile time. They do not necessarily relate to the runtime version. Important: Do not display the static values defined here to users as the version of XMP in use. Do not base runtime decisions on just this static version. It is OK to compare the static and runtime versions. */ /* ============================================================================================= */ #define XMP_API_VERSION_MAJOR 4 #define XMP_API_VERSION_MINOR 4 #define XMP_API_VERSION_MICRO 0 #define XMP_API_VERSION 4.4 #define XMP_API_VERSION_STRING "4.4.0-Exiv2" /* ============================================================================================= */ #endif /* __XMP_Version_h__ */ exiv2-0.25/xmpsdk/include/client-glue/0000775000175000017500000000000012541547735017471 5ustar andreasandreasexiv2-0.25/xmpsdk/include/client-glue/WXMP_Common.hpp0000664000175000017500000001047711224653364022307 0ustar andreasandreas#if ! __WXMP_Common_hpp__ #define __WXMP_Common_hpp__ 1 // ================================================================================================= // Copyright 2002-2007 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #ifndef XMP_Inline #if TXMP_EXPAND_INLINE #define XMP_Inline inline #else #define XMP_Inline /* not inline */ #endif #endif #define XMP_CTorDTorIntro(Class) template XMP_Inline Class #define XMP_MethodIntro(Class,ResultType) template XMP_Inline ResultType Class struct WXMP_Result { XMP_StringPtr errMessage; void * ptrResult; double floatResult; XMP_Uns64 int64Result; XMP_Uns32 int32Result; WXMP_Result() : errMessage(0) {}; }; #if __cplusplus extern "C" { #endif #define PropagateException(res) \ if ( res.errMessage != 0 ) throw XMP_Error ( res.int32Result, res.errMessage ); #ifndef TraceXMPCalls #define TraceXMPCalls 0 #endif #if ! TraceXMPCalls #define InvokeCheck(WCallProto) \ WXMP_Result wResult; \ WCallProto; \ PropagateException ( wResult ) #else #define InvokeCheck(WCallProto) \ WXMP_Result wResult; \ fprintf ( stderr, "WXMP calling: %s\n", #WCallProto ); fflush ( stderr ); \ WCallProto; \ if ( wResult.errMessage == 0 ) { \ fprintf ( stderr, "WXMP back, no error\n" ); fflush ( stderr ); \ } else { \ fprintf ( stderr, "WXMP back, error: %s\n", wResult.errMessage ); fflush ( stderr ); \ } \ PropagateException ( wResult ) #endif // ------------------------------------------------------------------------------------------------- #define WrapNoCheckVoid(WCallProto) \ WCallProto; #define WrapCheckVoid(WCallProto) \ InvokeCheck(WCallProto) #define WrapCheckMetaRef(result,WCallProto) \ InvokeCheck(WCallProto); \ XMPMetaRef result = XMPMetaRef(wResult.ptrResult) #define WrapCheckIterRef(result,WCallProto) \ InvokeCheck(WCallProto); \ XMPIteratorRef result = XMPIteratorRef(wResult.ptrResult) #define WrapCheckDocOpsRef(result,WCallProto) \ InvokeCheck(WCallProto); \ XMPDocOpsRef result = XMPDocOpsRef(wResult.ptrResult) #define WrapCheckBool(result,WCallProto) \ InvokeCheck(WCallProto); \ bool result = bool(wResult.int32Result) #define WrapCheckTriState(result,WCallProto) \ InvokeCheck(WCallProto); \ XMP_TriState result = XMP_TriState(wResult.int32Result) #define WrapCheckOptions(result,WCallProto) \ InvokeCheck(WCallProto); \ XMP_OptionBits result = XMP_OptionBits(wResult.int32Result) #define WrapCheckStatus(result,WCallProto) \ InvokeCheck(WCallProto); \ XMP_Status result = XMP_Status(wResult.int32Result) #define WrapCheckIndex(result,WCallProto) \ InvokeCheck(WCallProto); \ XMP_Index result = XMP_Index(wResult.int32Result) #define WrapCheckInt32(result,WCallProto) \ InvokeCheck(WCallProto); \ XMP_Int32 result = wResult.int32Result #define WrapCheckInt64(result,WCallProto) \ InvokeCheck(WCallProto); \ XMP_Int64 result = wResult.int64Result #define WrapCheckFloat(result,WCallProto) \ InvokeCheck(WCallProto); \ double result = wResult.floatResult #define WrapCheckFormat(result,WCallProto) \ InvokeCheck(WCallProto); \ XMP_FileFormat result = wResult.int32Result // ================================================================================================= #if __cplusplus } /* extern "C" */ #endif #endif // __WXMP_Common_hpp__ exiv2-0.25/xmpsdk/include/client-glue/WXMPIterator.hpp0000664000175000017500000000563310700232552022475 0ustar andreasandreas#if ! __WXMPIterator_hpp__ #define __WXMPIterator_hpp__ 1 // ================================================================================================= // Copyright 2002-2007 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "client-glue/WXMP_Common.hpp" #if __cplusplus extern "C" { #endif // ================================================================================================= #define zXMPIterator_PropCTor_1(xmpRef,schemaNS,propName,options) \ WXMPIterator_PropCTor_1 ( xmpRef, schemaNS, propName, options, &wResult ); #define zXMPIterator_TableCTor_1(schemaNS,propName,options) \ WXMPIterator_TableCTor_1 ( schemaNS, propName, options, &wResult ); #define zXMPIterator_Next_1(schemaNS,nsSize,propPath,pathSize,propValue,valueSize,options) \ WXMPIterator_Next_1 ( this->iterRef, schemaNS, nsSize, propPath, pathSize, propValue, valueSize, options, &wResult ); #define zXMPIterator_Skip_1(options) \ WXMPIterator_Skip_1 ( this->iterRef, options, &wResult ); // ------------------------------------------------------------------------------------------------- extern void WXMPIterator_PropCTor_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options, WXMP_Result * wResult ); extern void WXMPIterator_TableCTor_1 ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options, WXMP_Result * wResult ); extern void WXMPIterator_IncrementRefCount_1 ( XMPIteratorRef iterRef ); extern void WXMPIterator_DecrementRefCount_1 ( XMPIteratorRef iterRef ); extern void WXMPIterator_Unlock_1 ( XMP_OptionBits options ); extern void WXMPIterator_Next_1 ( XMPIteratorRef iterRef, XMP_StringPtr * schemaNS, XMP_StringLen * nsSize, XMP_StringPtr * propPath, XMP_StringLen * pathSize, XMP_StringPtr * propValue, XMP_StringLen * valueSize, XMP_OptionBits * options, WXMP_Result * wResult ); extern void WXMPIterator_Skip_1 ( XMPIteratorRef iterRef, XMP_OptionBits options, WXMP_Result * wResult ); extern void WXMPUtils_UnlockIter_1 ( XMPIteratorRef iterRef, XMP_OptionBits options ); // ================================================================================================= #if __cplusplus } /* extern "C" */ #endif #endif // __WXMPIterator_hpp__ exiv2-0.25/xmpsdk/include/client-glue/TXMPMeta.incl_cpp0000664000175000017500000007662211465256713022613 0ustar andreasandreas// ================================================================================================= // ADOBE SYSTEMS INCORPORATED // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= // ================================================================================================ /// \file TXMPMeta.incl_cpp /// \brief The implementation of the TXMPMeta template class. #include "XMPSDK.hpp" #include "client-glue/WXMP_Common.hpp" #include "client-glue/WXMPMeta.hpp" // ================================================================================================= // Implementation Guidelines // ========================= // // The implementations of the template functions are very stylized. ... // // ================================================================================================= #ifndef XMP_TraceCTorDTor #define XMP_TraceCTorDTor 0 #endif #if XMP_TraceCTorDTor class XMPeek { // Hack to peek at the client ref count in the internal object. public: XMPeek(); virtual ~XMPeek(); XMP_Int32 clientRefs; }; #endif // ================================================================================================= // Local utilities // =============== // ------------------------------------------------------------------------------------------------- class TOPW_Info { public: XMP_TextOutputProc clientProc; void * clientRefCon; TOPW_Info ( XMP_TextOutputProc proc, void * refCon ) : clientProc(proc), clientRefCon(refCon) {}; private: TOPW_Info() {}; // ! Hide default constructor. }; static XMP_Status TextOutputProcWrapper ( void * refCon, XMP_StringPtr buffer, XMP_StringLen bufferSize ) { try { // Don't let client callback exceptions propagate across DLL boundaries. TOPW_Info * info = (TOPW_Info*)refCon; return info->clientProc ( info->clientRefCon, buffer, bufferSize ); } catch ( ... ) { return -1; } } // ================================================================================================= // Initialization and termination // ============================== XMP_MethodIntro(TXMPMeta,void):: GetVersionInfo ( XMP_VersionInfo * info ) { WrapNoCheckVoid ( zXMPMeta_GetVersionInfo_1 ( info ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: Initialize() { WrapCheckBool ( ok, zXMPMeta_Initialize_1() ); return ok; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: Terminate() { WrapNoCheckVoid ( zXMPMeta_Terminate_1() ); } // ================================================================================================= // Constuctors, destructor, operators // ================================== static XMPMetaRef DefaultCTor() { WrapCheckMetaRef ( newRef, zXMPMeta_CTor_1() ); return newRef; } // ------------------------------------------------------------------------------------------------- XMP_CTorDTorIntro(TXMPMeta):: TXMPMeta() : xmpRef(DefaultCTor()) { #if XMP_TraceCTorDTor XMPeek* xmPtr = (XMPeek*)this->xmpRef; printf ( "Default construct TXMPMeta @ %.8X, ref = %.8X, count = %d\n", this, xmPtr, xmPtr->clientRefs ); #endif } // ------------------------------------------------------------------------------------------------- XMP_CTorDTorIntro(TXMPMeta):: TXMPMeta ( const TXMPMeta & original ) : xmpRef(original.xmpRef) { WXMPMeta_IncrementRefCount_1 ( this->xmpRef ); #if XMP_TraceCTorDTor XMPeek* xmPtr = (XMPeek*)this->xmpRef; printf ( "Copy construct TXMPMeta @ %.8X, ref = %.8X, count = %d\n", this, xmPtr, xmPtr->clientRefs ); #endif } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: operator= ( const TXMPMeta & rhs ) { #if XMP_TraceCTorDTor XMPeek* xmLHS = (XMPeek*)this->xmpRef; XMPeek* xmRHS = (XMPeek*)rhs.xmpRef; printf ( "Assign TXMPMeta, lhs @ %.8X, rhs @ %.8X\n", this, &rhs ); printf ( " original lhs ref = %.8X, count = %d\n", xmLHS, xmLHS->clientRefs ); printf ( " original rhs ref = %.8X, count = %d\n", xmRHS, xmRHS->clientRefs ); #endif XMPMetaRef oldRef = this->xmpRef; // ! Decrement last so errors leave client object OK. this->xmpRef = rhs.xmpRef; WXMPMeta_IncrementRefCount_1 ( this->xmpRef ); // Increment the count on the new ref. WXMPMeta_DecrementRefCount_1 ( oldRef ); // Decrement the count on the old ref. #if XMP_TraceCTorDTor printf ( " result lhs ref = %.8X, count = %d\n", xmLHS, xmLHS->clientRefs ); #endif } // ------------------------------------------------------------------------------------------------- XMP_CTorDTorIntro(TXMPMeta):: TXMPMeta ( XMPMetaRef _xmpRef ) : xmpRef(_xmpRef) { WXMPMeta_IncrementRefCount_1 ( this->xmpRef ); #if XMP_TraceCTorDTor XMPeek* xmPtr = (XMPeek*)this->xmpRef; printf ( "Ref construct TXMPMeta @ %.8X, ref = %.8X, count = %d\n", this, xmPtr, xmPtr->clientRefs ); #endif } // ------------------------------------------------------------------------------------------------- XMP_CTorDTorIntro(TXMPMeta):: TXMPMeta ( XMP_StringPtr buffer, XMP_StringLen xmpSize ) : xmpRef(DefaultCTor()) { #if XMP_TraceCTorDTor XMPeek* xmPtr = (XMPeek*)this->xmpRef; printf ( "Parse construct TXMPMeta @ %.8X, ref = %.8X, count = %d\n", this, xmPtr, xmPtr->clientRefs ); #endif try { this->ParseFromBuffer ( buffer, xmpSize ); } catch ( ... ) { WXMPMeta_DecrementRefCount_1 ( this->xmpRef ); this->xmpRef = 0; throw; } } // ------------------------------------------------------------------------------------------------- XMP_CTorDTorIntro(TXMPMeta):: ~TXMPMeta() throw() { #if XMP_TraceCTorDTor XMPeek* xmPtr = (XMPeek*)this->xmpRef; printf ( "Destruct TXMPMeta @ %.8X, ref = %.8X, count = %d\n", this, xmPtr, xmPtr->clientRefs ); #endif WXMPMeta_DecrementRefCount_1 ( this->xmpRef ); this->xmpRef = 0; } // ~TXMPMeta () // ================================================================================================= // Global state functions // ====================== XMP_MethodIntro(TXMPMeta,XMP_OptionBits):: GetGlobalOptions() { WrapCheckOptions ( options, zXMPMeta_GetGlobalOptions_1() ); return options; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetGlobalOptions ( XMP_OptionBits options ) { WrapCheckVoid ( zXMPMeta_SetGlobalOptions_1 ( options ) ); } // ------------------------------------------------------------------------------------------------- // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,XMP_Status):: DumpNamespaces ( XMP_TextOutputProc outProc, void * refCon ) { TOPW_Info info ( outProc, refCon ); WrapCheckStatus ( status, zXMPMeta_DumpNamespaces_1 ( TextOutputProcWrapper, &info ) ); return status; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,XMP_Status):: DumpAliases ( XMP_TextOutputProc outProc, void * refCon ) { TOPW_Info info ( outProc, refCon ); WrapCheckStatus ( status, zXMPMeta_DumpAliases_1 ( TextOutputProcWrapper, &info ) ); return status; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: RegisterNamespace ( XMP_StringPtr namespaceURI, XMP_StringPtr prefix ) { WrapCheckVoid ( zXMPMeta_RegisterNamespace_1 ( namespaceURI, prefix ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: GetNamespacePrefix ( XMP_StringPtr namespaceURI, tStringObj * namespacePrefix ) { XMP_StringPtr resultPtr = 0; XMP_StringLen resultLen = 0; WrapCheckBool ( found, zXMPMeta_GetNamespacePrefix_1 ( namespaceURI, &resultPtr, &resultLen ) ); if ( found ) { if ( namespacePrefix != 0 ) namespacePrefix->assign ( resultPtr, resultLen ); WXMPMeta_Unlock_1 ( 0 ); } return found; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: GetNamespaceURI ( XMP_StringPtr namespacePrefix, tStringObj * namespaceURI ) { XMP_StringPtr resultPtr = 0; XMP_StringLen resultLen = 0; WrapCheckBool ( found, zXMPMeta_GetNamespaceURI_1 ( namespacePrefix, &resultPtr, &resultLen ) ); if ( found ) { if ( namespaceURI != 0 ) namespaceURI->assign ( resultPtr, resultLen ); WXMPMeta_Unlock_1 ( 0 ); } return found; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: DeleteNamespace ( XMP_StringPtr namespaceURI ) { WrapCheckVoid ( zXMPMeta_DeleteNamespace_1 ( namespaceURI ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: RegisterAlias ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, XMP_StringPtr actualNS, XMP_StringPtr actualProp, XMP_OptionBits arrayForm ) { WrapCheckVoid ( zXMPMeta_RegisterAlias_1 ( aliasNS, aliasProp, actualNS, actualProp, arrayForm ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: ResolveAlias ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, tStringObj * actualNS, tStringObj * actualProp, XMP_OptionBits * arrayForm ) { XMP_StringPtr nsPtr = 0; XMP_StringLen nsLen = 0; XMP_StringPtr propPtr = 0; XMP_StringLen propLen = 0; WrapCheckBool ( found, zXMPMeta_ResolveAlias_1 ( aliasNS, aliasProp, &nsPtr, &nsLen, &propPtr, &propLen, arrayForm ) ); if ( found ) { if ( actualNS != 0 ) actualNS->assign ( nsPtr, nsLen ); if ( actualProp != 0 ) actualProp->assign ( propPtr, propLen ); WXMPMeta_Unlock_1 ( 0 ); } return found; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: DeleteAlias ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp ) { WrapCheckVoid ( zXMPMeta_DeleteAlias_1 ( aliasNS, aliasProp ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: RegisterStandardAliases ( XMP_StringPtr schemaNS ) { WrapCheckVoid ( zXMPMeta_RegisterStandardAliases_1 ( schemaNS ) ); } // ================================================================================================= // Basic property manipulation functions // ===================================== XMP_MethodIntro(TXMPMeta,bool):: GetProperty ( XMP_StringPtr schemaNS, XMP_StringPtr propName, tStringObj * propValue, XMP_OptionBits * options ) const { XMP_StringPtr resultPtr = 0; XMP_StringLen resultLen = 0; WrapCheckBool ( found, zXMPMeta_GetProperty_1 ( schemaNS, propName, &resultPtr, &resultLen, options ) ); if ( found ) { if ( propValue != 0 ) propValue->assign ( resultPtr, resultLen ); WXMPMeta_UnlockObject_1 ( this->xmpRef, 0 ); } return found; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: GetArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, tStringObj * itemValue, XMP_OptionBits * options ) const { XMP_StringPtr resultPtr = 0; XMP_StringLen resultLen = 0; WrapCheckBool ( found, zXMPMeta_GetArrayItem_1 ( schemaNS, arrayName, itemIndex, &resultPtr, &resultLen, options ) ); if ( found ) { if ( itemValue != 0 ) itemValue->assign ( resultPtr, resultLen ); WXMPMeta_UnlockObject_1 ( this->xmpRef, 0 ); } return found; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: GetStructField ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, tStringObj * fieldValue, XMP_OptionBits * options ) const { XMP_StringPtr resultPtr = 0; XMP_StringLen resultLen = 0; WrapCheckBool ( found, zXMPMeta_GetStructField_1 ( schemaNS, structName, fieldNS, fieldName, &resultPtr, &resultLen, options ) ); if ( found ) { if ( fieldValue != 0 ) fieldValue->assign ( resultPtr, resultLen ); WXMPMeta_UnlockObject_1 ( this->xmpRef, 0 ); } return found; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: GetQualifier ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, tStringObj * qualValue, XMP_OptionBits * options ) const { XMP_StringPtr resultPtr = 0; XMP_StringLen resultLen = 0; WrapCheckBool ( found, zXMPMeta_GetQualifier_1 ( schemaNS, propName, qualNS, qualName, &resultPtr, &resultLen, options ) ); if ( found ) { if ( qualValue != 0 ) qualValue->assign ( resultPtr, resultLen ); WXMPMeta_UnlockObject_1 ( this->xmpRef, 0 ); } return found; } //GetQualifier () // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetProperty ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr propValue, XMP_OptionBits options /* = 0 */ ) { WrapCheckVoid ( zXMPMeta_SetProperty_1 ( schemaNS, propName, propValue, options ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetProperty ( XMP_StringPtr schemaNS, XMP_StringPtr propName, const tStringObj & propValue, XMP_OptionBits options /* = 0 */ ) { this->SetProperty ( schemaNS, propName, propValue.c_str(), options ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr itemValue, XMP_OptionBits options /* = 0 */ ) { WrapCheckVoid ( zXMPMeta_SetArrayItem_1 ( schemaNS, arrayName, itemIndex, itemValue, options ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, const tStringObj & itemValue, XMP_OptionBits options /* = 0 */ ) { this->SetArrayItem ( schemaNS, arrayName, itemIndex, itemValue.c_str(), options ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: AppendArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, XMP_StringPtr itemValue, XMP_OptionBits options /* = 0 */ ) { WrapCheckVoid ( zXMPMeta_AppendArrayItem_1 ( schemaNS, arrayName, arrayOptions, itemValue, options ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: AppendArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, const tStringObj & itemValue, XMP_OptionBits options /* = 0 */ ) { this->AppendArrayItem ( schemaNS, arrayName, arrayOptions, itemValue.c_str(), options ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetStructField ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, XMP_OptionBits options /* = 0 */ ) { WrapCheckVoid ( zXMPMeta_SetStructField_1 ( schemaNS, structName, fieldNS, fieldName, fieldValue, options ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetStructField ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, const tStringObj & fieldValue, XMP_OptionBits options /* = 0 */ ) { this->SetStructField ( schemaNS, structName, fieldNS, fieldName, fieldValue.c_str(), options ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetQualifier ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr qualValue, XMP_OptionBits options /* = 0 */ ) { WrapCheckVoid ( zXMPMeta_SetQualifier_1 ( schemaNS, propName, qualNS, qualName, qualValue, options ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetQualifier ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, const tStringObj & qualValue, XMP_OptionBits options /* = 0 */ ) { this->SetQualifier ( schemaNS, propName, qualNS, qualName, qualValue.c_str(), options ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: DeleteProperty ( XMP_StringPtr schemaNS, XMP_StringPtr propName ) { WrapCheckVoid ( zXMPMeta_DeleteProperty_1 ( schemaNS, propName ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: DeleteArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex ) { WrapCheckVoid ( zXMPMeta_DeleteArrayItem_1 ( schemaNS, arrayName, itemIndex ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: DeleteStructField ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName ) { WrapCheckVoid ( zXMPMeta_DeleteStructField_1 ( schemaNS, structName, fieldNS, fieldName ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: DeleteQualifier ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName ) { WrapCheckVoid ( zXMPMeta_DeleteQualifier_1 ( schemaNS, propName, qualNS, qualName ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: DoesPropertyExist ( XMP_StringPtr schemaNS, XMP_StringPtr propName ) const { WrapCheckBool ( exists, zXMPMeta_DoesPropertyExist_1 ( schemaNS, propName ) ); return exists; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: DoesArrayItemExist ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex ) const { WrapCheckBool ( exists, zXMPMeta_DoesArrayItemExist_1 ( schemaNS, arrayName, itemIndex ) ); return exists; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: DoesStructFieldExist ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName ) const { WrapCheckBool ( exists, zXMPMeta_DoesStructFieldExist_1 ( schemaNS, structName, fieldNS, fieldName ) ); return exists; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: DoesQualifierExist ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName ) const { WrapCheckBool ( exists, zXMPMeta_DoesQualifierExist_1 ( schemaNS, propName, qualNS, qualName ) ); return exists; } // ================================================================================================= // Specialized Get and Set functions // ================================= XMP_MethodIntro(TXMPMeta,bool):: GetLocalizedText ( XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, tStringObj * actualLang, tStringObj * itemValue, XMP_OptionBits * options ) const { XMP_StringPtr langPtr = 0; XMP_StringLen langLen = 0; XMP_StringPtr itemPtr = 0; XMP_StringLen itemLen = 0; WrapCheckBool ( found, zXMPMeta_GetLocalizedText_1 ( schemaNS, altTextName, genericLang, specificLang, &langPtr, &langLen, &itemPtr, &itemLen, options ) ); if ( found ) { if ( actualLang != 0 ) actualLang->assign ( langPtr, langLen ); if ( itemValue != 0 ) itemValue->assign ( itemPtr, itemLen ); WXMPMeta_UnlockObject_1 ( this->xmpRef, kXMP_NoOptions ); } return found; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetLocalizedText ( XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, XMP_StringPtr itemValue, XMP_OptionBits options /* = 0 */ ) { WrapCheckVoid ( zXMPMeta_SetLocalizedText_1 ( schemaNS, altTextName, genericLang, specificLang, itemValue, options ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetLocalizedText ( XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, const tStringObj & itemValue, XMP_OptionBits options /* = 0 */ ) { this->SetLocalizedText ( schemaNS, altTextName, genericLang, specificLang, itemValue.c_str(), options ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: GetProperty_Bool ( XMP_StringPtr schemaNS, XMP_StringPtr propName, bool * propValue, XMP_OptionBits * options ) const { XMP_Bool binValue; WrapCheckBool ( found, zXMPMeta_GetProperty_Bool_1 ( schemaNS, propName, &binValue, options ) ); if ( found && (propValue != 0) ) *propValue = binValue; return found; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: GetProperty_Int ( XMP_StringPtr schemaNS, XMP_StringPtr propName, long * propValue, XMP_OptionBits * options ) const { XMP_Int32 abiValue; WrapCheckBool ( found, zXMPMeta_GetProperty_Int_1 ( schemaNS, propName, &abiValue, options ) ); if ( found && (propValue != 0) ) *propValue = abiValue; return found; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: GetProperty_Int64 ( XMP_StringPtr schemaNS, XMP_StringPtr propName, long long * propValue, XMP_OptionBits * options ) const { XMP_Int64 abiValue; WrapCheckBool ( found, zXMPMeta_GetProperty_Int64_1 ( schemaNS, propName, &abiValue, options ) ); if ( found && (propValue != 0) ) *propValue = abiValue; return found; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: GetProperty_Float ( XMP_StringPtr schemaNS, XMP_StringPtr propName, double * propValue, XMP_OptionBits * options ) const { WrapCheckBool ( found, zXMPMeta_GetProperty_Float_1 ( schemaNS, propName, propValue, options ) ); return found; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,bool):: GetProperty_Date ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_DateTime * propValue, XMP_OptionBits * options ) const { WrapCheckBool ( found, zXMPMeta_GetProperty_Date_1 ( schemaNS, propName, propValue, options ) ); return found; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetProperty_Bool ( XMP_StringPtr schemaNS, XMP_StringPtr propName, bool propValue, XMP_OptionBits options /* = 0 */ ) { WrapCheckVoid ( zXMPMeta_SetProperty_Bool_1 ( schemaNS, propName, propValue, options ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetProperty_Int ( XMP_StringPtr schemaNS, XMP_StringPtr propName, long propValue, XMP_OptionBits options /* = 0 */ ) { WrapCheckVoid ( zXMPMeta_SetProperty_Int_1 ( schemaNS, propName, propValue, options ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetProperty_Int64 ( XMP_StringPtr schemaNS, XMP_StringPtr propName, long long propValue, XMP_OptionBits options /* = 0 */ ) { WrapCheckVoid ( zXMPMeta_SetProperty_Int64_1 ( schemaNS, propName, propValue, options ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetProperty_Float ( XMP_StringPtr schemaNS, XMP_StringPtr propName, double propValue, XMP_OptionBits options /* = 0 */ ) { WrapCheckVoid ( zXMPMeta_SetProperty_Float_1 ( schemaNS, propName, propValue, options ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetProperty_Date ( XMP_StringPtr schemaNS, XMP_StringPtr propName, const XMP_DateTime & propValue, XMP_OptionBits options /* = 0 */ ) { WrapCheckVoid ( zXMPMeta_SetProperty_Date_1 ( schemaNS, propName, propValue, options ) ); } // ================================================================================================= // Miscellaneous Member Functions // ============================== XMP_MethodIntro(TXMPMeta,XMPMetaRef):: GetInternalRef() const { return this->xmpRef; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: GetObjectName ( tStringObj * name ) const { XMP_StringPtr namePtr = 0; XMP_StringLen nameLen = 0; WrapCheckVoid ( zXMPMeta_GetObjectName_1 ( &namePtr, &nameLen ) ); if ( name != 0 ) name->assign ( namePtr, nameLen ); WXMPMeta_UnlockObject_1 ( this->xmpRef, 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetObjectName ( XMP_StringPtr name ) { WrapCheckVoid ( zXMPMeta_SetObjectName_1 ( name ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetObjectName ( tStringObj name ) { this->SetObjectName ( name.c_str() ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,XMP_OptionBits):: GetObjectOptions() const { WrapCheckOptions ( options, zXMPMeta_GetObjectOptions_1() ); return options; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SetObjectOptions ( XMP_OptionBits options ) { WrapCheckVoid ( zXMPMeta_SetObjectOptions_1 ( options ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: Sort() { WrapCheckVoid ( zXMPMeta_Sort_1() ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: Erase() { WrapCheckVoid ( zXMPMeta_Erase_1() ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,TXMPMeta):: Clone ( XMP_OptionBits options ) const { WrapCheckMetaRef ( cloneRef, zXMPMeta_Clone_1 ( options ) ); return TXMPMeta ( cloneRef ); // Ref construct will increment the clientRefs. } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,XMP_Index):: CountArrayItems ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName ) const { WrapCheckIndex ( count, zXMPMeta_CountArrayItems_1 ( schemaNS, arrayName ) ); return count; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,XMP_Status):: DumpObject ( XMP_TextOutputProc outProc, void * refCon ) const { TOPW_Info info ( outProc, refCon ); WrapCheckStatus ( status, zXMPMeta_DumpObject_1 ( TextOutputProcWrapper, &info ) ); return status; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: ParseFromBuffer ( XMP_StringPtr buffer, XMP_StringLen bufferSize, XMP_OptionBits options /* = 0 */ ) { WrapCheckVoid ( zXMPMeta_ParseFromBuffer_1 ( buffer, bufferSize, options ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SerializeToBuffer ( tStringObj * pktString, XMP_OptionBits options, XMP_StringLen padding, XMP_StringPtr newline, XMP_StringPtr indent, XMP_Index baseIndent /* = 0 */ ) const { XMP_StringPtr resultPtr = 0; XMP_StringLen resultLen = 0; WrapCheckVoid ( zXMPMeta_SerializeToBuffer_1 ( &resultPtr, &resultLen, options, padding, newline, indent, baseIndent ) ); if ( pktString != 0 ) pktString->assign ( resultPtr, resultLen ); WXMPMeta_UnlockObject_1 ( this->xmpRef, 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPMeta,void):: SerializeToBuffer ( tStringObj * pktString, XMP_OptionBits options /* = 0 */, XMP_StringLen padding /* = 0 */ ) const { this->SerializeToBuffer ( pktString, options, padding, "", "", 0 ); } // ------------------------------------------------------------------------------------------------- // ================================================================================================= exiv2-0.25/xmpsdk/include/client-glue/WXMPFiles.hpp0000664000175000017500000001571411224653364021761 0ustar andreasandreas#ifndef __WXMPFiles_hpp__ #define __WXMPFiles_hpp__ 1 // ================================================================================================= // ADOBE SYSTEMS INCORPORATED // Copyright 2002-2007 Adobe Systems Incorporated // All Rights Reserved // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "client-glue/WXMP_Common.hpp" #if __cplusplus extern "C" { #endif // ================================================================================================= /// \file WXMPFiles.h /// \brief High level support to access metadata in files of interest to Adobe applications. /// /// This header ... /// // ================================================================================================= // ================================================================================================= #define WrapCheckXMPFilesRef(result,WCallProto) \ WXMP_Result wResult; \ WCallProto; \ PropagateException ( wResult ); \ XMPFilesRef result = XMPFilesRef(wResult.ptrResult) // ================================================================================================= #define zXMPFiles_GetVersionInfo_1(versionInfo) \ WXMPFiles_GetVersionInfo_1 ( versionInfo /* no wResult */ ) #define zXMPFiles_Initialize_1() \ WXMPFiles_Initialize_1 ( &wResult ) #define zXMPFiles_Initialize_2(options) \ WXMPFiles_Initialize_2 ( options, &wResult ) #define zXMPFiles_Terminate_1() \ WXMPFiles_Terminate_1 ( /* no wResult */ ) #define zXMPFiles_CTor_1() \ WXMPFiles_CTor_1 ( &wResult ) #define zXMPFiles_GetFormatInfo_1(format,flags) \ WXMPFiles_GetFormatInfo_1 ( format, flags, &wResult ) #define zXMPFiles_CheckFileFormat_1(filePath) \ WXMPFiles_CheckFileFormat_1 ( filePath, &wResult ) #define zXMPFiles_CheckPackageFormat_1(folderPath) \ WXMPFiles_CheckPackageFormat_1 ( folderPath, &wResult ) #define zXMPFiles_OpenFile_1(filePath,format,openFlags) \ WXMPFiles_OpenFile_1 ( this->xmpFilesRef, filePath, format, openFlags, &wResult ) #define zXMPFiles_CloseFile_1(closeFlags) \ WXMPFiles_CloseFile_1 ( this->xmpFilesRef, closeFlags, &wResult ) #define zXMPFiles_GetFileInfo_1(filePath,filePathLen,openFlags,format,handlerFlags) \ WXMPFiles_GetFileInfo_1 ( this->xmpFilesRef, filePath, filePathLen, openFlags, format, handlerFlags, &wResult ) #define zXMPFiles_SetAbortProc_1(abortProc,abortArg) \ WXMPFiles_SetAbortProc_1 ( this->xmpFilesRef, abortProc, abortArg, &wResult ) #define zXMPFiles_GetXMP_1(xmpRef,xmpPacket,xmpPacketLen,packetInfo) \ WXMPFiles_GetXMP_1 ( this->xmpFilesRef, xmpRef, xmpPacket, xmpPacketLen, packetInfo, &wResult ) #define zXMPFiles_GetThumbnail_1(tnailInfo) \ WXMPFiles_GetThumbnail_1 ( this->xmpFilesRef, tnailInfo, &wResult ) #define zXMPFiles_PutXMP_1(xmpRef,xmpPacket,xmpPacketLen) \ WXMPFiles_PutXMP_1 ( this->xmpFilesRef, xmpRef, xmpPacket, xmpPacketLen, &wResult ) #define zXMPFiles_CanPutXMP_1(xmpRef,xmpPacket,xmpPacketLen) \ WXMPFiles_CanPutXMP_1 ( this->xmpFilesRef, xmpRef, xmpPacket, xmpPacketLen, &wResult ) // ================================================================================================= extern void WXMPFiles_GetVersionInfo_1 ( XMP_VersionInfo * versionInfo ); extern void WXMPFiles_Initialize_1 ( WXMP_Result * result ); extern void WXMPFiles_Initialize_2 ( XMP_OptionBits options, WXMP_Result * result ); extern void WXMPFiles_Terminate_1(); extern void WXMPFiles_CTor_1 ( WXMP_Result * result ); extern void WXMPFiles_UnlockLib_1(); extern void WXMPFiles_UnlockObj_1 ( XMPFilesRef xmpFilesRef ); extern void WXMPFiles_IncrementRefCount_1 ( XMPFilesRef xmpFilesRef ); extern void WXMPFiles_DecrementRefCount_1 ( XMPFilesRef xmpFilesRef ); extern void WXMPFiles_GetFormatInfo_1 ( XMP_FileFormat format, XMP_OptionBits * flags, // ! Can be null. WXMP_Result * result ); extern void WXMPFiles_CheckFileFormat_1 ( XMP_StringPtr filePath, WXMP_Result * result ); extern void WXMPFiles_CheckPackageFormat_1 ( XMP_StringPtr folderPath, WXMP_Result * result ); extern void WXMPFiles_OpenFile_1 ( XMPFilesRef xmpFilesRef, XMP_StringPtr filePath, XMP_FileFormat format, XMP_OptionBits openFlags, WXMP_Result * result ); extern void WXMPFiles_CloseFile_1 ( XMPFilesRef xmpFilesRef, XMP_OptionBits closeFlags, WXMP_Result * result ); extern void WXMPFiles_GetFileInfo_1 ( XMPFilesRef xmpFilesRef, XMP_StringPtr * filePath, XMP_StringLen * filePathLen, XMP_OptionBits * openFlags, // ! Can be null. XMP_FileFormat * format, // ! Can be null. XMP_OptionBits * handlerFlags, // ! Can be null. WXMP_Result * result ); extern void WXMPFiles_SetAbortProc_1 ( XMPFilesRef xmpFilesRef, XMP_AbortProc abortProc, void * abortArg, WXMP_Result * result ); extern void WXMPFiles_GetXMP_1 ( XMPFilesRef xmpFilesRef, XMPMetaRef xmpRef, // ! Can be null. XMP_StringPtr * xmpPacket, XMP_StringLen * xmpPacketLen, XMP_PacketInfo * packetInfo, // ! Can be null. WXMP_Result * result ); extern void WXMPFiles_GetThumbnail_1 ( XMPFilesRef xmpFilesRef, XMP_ThumbnailInfo * tnailInfo, // ! Can be null. WXMP_Result * result ); extern void WXMPFiles_PutXMP_1 ( XMPFilesRef xmpFilesRef, XMPMetaRef xmpRef, // ! Only one of the XMP object or packet are passed. XMP_StringPtr xmpPacket, XMP_StringLen xmpPacketLen, WXMP_Result * result ); extern void WXMPFiles_CanPutXMP_1 ( XMPFilesRef xmpFilesRef, XMPMetaRef xmpRef, // ! Only one of the XMP object or packet are passed. XMP_StringPtr xmpPacket, XMP_StringLen xmpPacketLen, WXMP_Result * result ); // ================================================================================================= #if __cplusplus } #endif #endif // __WXMPFiles_hpp__ exiv2-0.25/xmpsdk/include/client-glue/WXMPMeta.hpp0000664000175000017500000006524211465256713021612 0ustar andreasandreas#if ! __WXMPMeta_hpp__ #define __WXMPMeta_hpp__ 1 // ================================================================================================= // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "client-glue/WXMP_Common.hpp" #if __cplusplus extern "C" { #endif // ================================================================================================= #define zXMPMeta_GetVersionInfo_1(info) \ WXMPMeta_GetVersionInfo_1 ( info /* no wResult */ ) #define zXMPMeta_Initialize_1() \ WXMPMeta_Initialize_1 ( &wResult ) #define zXMPMeta_Terminate_1() \ WXMPMeta_Terminate_1 ( /* no wResult */ ) #define zXMPMeta_CTor_1() \ WXMPMeta_CTor_1 ( &wResult ) #define zXMPMeta_GetGlobalOptions_1() \ WXMPMeta_GetGlobalOptions_1 ( &wResult ) #define zXMPMeta_SetGlobalOptions_1(options) \ WXMPMeta_SetGlobalOptions_1 ( options, &wResult ) #define zXMPMeta_DumpNamespaces_1(outProc,refCon) \ WXMPMeta_DumpNamespaces_1 ( outProc, refCon, &wResult ) #define zXMPMeta_DumpAliases_1(outProc,refCon) \ WXMPMeta_DumpAliases_1 ( outProc, refCon, &wResult ) #define zXMPMeta_RegisterNamespace_1(namespaceURI,prefix) \ WXMPMeta_RegisterNamespace_1 ( namespaceURI, prefix, &wResult ) #define zXMPMeta_GetNamespacePrefix_1(namespaceURI,namespacePrefix,prefixSize) \ WXMPMeta_GetNamespacePrefix_1 ( namespaceURI, namespacePrefix, prefixSize, &wResult ) #define zXMPMeta_GetNamespaceURI_1(namespacePrefix,namespaceURI,uriSize) \ WXMPMeta_GetNamespaceURI_1 ( namespacePrefix, namespaceURI, uriSize, &wResult ) #define zXMPMeta_DeleteNamespace_1(namespaceURI) \ WXMPMeta_DeleteNamespace_1 ( namespaceURI, &wResult ) #define zXMPMeta_RegisterAlias_1(aliasNS,aliasProp,actualNS,actualProp,arrayForm) \ WXMPMeta_RegisterAlias_1 ( aliasNS, aliasProp, actualNS, actualProp, arrayForm, &wResult ) #define zXMPMeta_ResolveAlias_1(aliasNS,aliasProp,actualNS,nsSize,actualProp,propSize,arrayForm) \ WXMPMeta_ResolveAlias_1 ( aliasNS, aliasProp, actualNS, nsSize, actualProp, propSize, arrayForm, &wResult ) #define zXMPMeta_DeleteAlias_1(aliasNS,aliasProp) \ WXMPMeta_DeleteAlias_1 ( aliasNS, aliasProp, &wResult ) #define zXMPMeta_RegisterStandardAliases_1(schemaNS) \ WXMPMeta_RegisterStandardAliases_1 ( schemaNS, &wResult ) #define zXMPMeta_GetProperty_1(schemaNS,propName,propValue,valueSize,options) \ WXMPMeta_GetProperty_1 ( this->xmpRef, schemaNS, propName, propValue, valueSize, options, &wResult ) #define zXMPMeta_GetArrayItem_1(schemaNS,arrayName,itemIndex,itemValue,valueSize,options) \ WXMPMeta_GetArrayItem_1 ( this->xmpRef, schemaNS, arrayName, itemIndex, itemValue, valueSize, options, &wResult ) #define zXMPMeta_GetStructField_1(schemaNS,structName,fieldNS,fieldName,fieldValue,valueSize,options) \ WXMPMeta_GetStructField_1 ( this->xmpRef, schemaNS, structName, fieldNS, fieldName, fieldValue, valueSize, options, &wResult ) #define zXMPMeta_GetQualifier_1(schemaNS,propName,qualNS,qualName,qualValue,valueSize,options) \ WXMPMeta_GetQualifier_1 ( this->xmpRef, schemaNS, propName, qualNS, qualName, qualValue, valueSize, options, &wResult ) #define zXMPMeta_SetProperty_1(schemaNS,propName,propValue,options) \ WXMPMeta_SetProperty_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult ) #define zXMPMeta_SetArrayItem_1(schemaNS,arrayName,itemIndex,itemValue,options) \ WXMPMeta_SetArrayItem_1 ( this->xmpRef, schemaNS, arrayName, itemIndex, itemValue, options, &wResult ) #define zXMPMeta_AppendArrayItem_1(schemaNS,arrayName,arrayOptions,itemValue,options) \ WXMPMeta_AppendArrayItem_1 ( this->xmpRef, schemaNS, arrayName, arrayOptions, itemValue, options, &wResult ) #define zXMPMeta_SetStructField_1(schemaNS,structName,fieldNS,fieldName,fieldValue,options) \ WXMPMeta_SetStructField_1 ( this->xmpRef, schemaNS, structName, fieldNS, fieldName, fieldValue, options, &wResult ) #define zXMPMeta_SetQualifier_1(schemaNS,propName,qualNS,qualName,qualValue,options) \ WXMPMeta_SetQualifier_1 ( this->xmpRef, schemaNS, propName, qualNS, qualName, qualValue, options, &wResult ) #define zXMPMeta_DeleteProperty_1(schemaNS,propName) \ WXMPMeta_DeleteProperty_1 ( this->xmpRef, schemaNS, propName, &wResult ) #define zXMPMeta_DeleteArrayItem_1(schemaNS,arrayName,itemIndex) \ WXMPMeta_DeleteArrayItem_1 ( this->xmpRef, schemaNS, arrayName, itemIndex, &wResult ) #define zXMPMeta_DeleteStructField_1(schemaNS,structName,fieldNS,fieldName) \ WXMPMeta_DeleteStructField_1 ( this->xmpRef, schemaNS, structName, fieldNS, fieldName, &wResult ) #define zXMPMeta_DeleteQualifier_1(schemaNS,propName,qualNS,qualName) \ WXMPMeta_DeleteQualifier_1 ( this->xmpRef, schemaNS, propName, qualNS, qualName, &wResult ) #define zXMPMeta_DoesPropertyExist_1(schemaNS,propName) \ WXMPMeta_DoesPropertyExist_1 ( this->xmpRef, schemaNS, propName, &wResult ) #define zXMPMeta_DoesArrayItemExist_1(schemaNS,arrayName,itemIndex) \ WXMPMeta_DoesArrayItemExist_1 ( this->xmpRef, schemaNS, arrayName, itemIndex, &wResult ) #define zXMPMeta_DoesStructFieldExist_1(schemaNS,structName,fieldNS,fieldName) \ WXMPMeta_DoesStructFieldExist_1 ( this->xmpRef, schemaNS, structName, fieldNS, fieldName, &wResult ) #define zXMPMeta_DoesQualifierExist_1(schemaNS,propName,qualNS,qualName) \ WXMPMeta_DoesQualifierExist_1 ( this->xmpRef, schemaNS, propName, qualNS, qualName, &wResult ) #define zXMPMeta_GetLocalizedText_1(schemaNS,altTextName,genericLang,specificLang,actualLang,langSize,itemValue,valueSize,options) \ WXMPMeta_GetLocalizedText_1 ( this->xmpRef, schemaNS, altTextName, genericLang, specificLang, actualLang, langSize, itemValue, valueSize, options, &wResult ) #define zXMPMeta_SetLocalizedText_1(schemaNS,altTextName,genericLang,specificLang,itemValue,options) \ WXMPMeta_SetLocalizedText_1 ( this->xmpRef, schemaNS, altTextName, genericLang, specificLang, itemValue, options, &wResult ) #define zXMPMeta_GetProperty_Bool_1(schemaNS,propName,propValue,options) \ WXMPMeta_GetProperty_Bool_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult ) #define zXMPMeta_GetProperty_Int_1(schemaNS,propName,propValue,options) \ WXMPMeta_GetProperty_Int_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult ) #define zXMPMeta_GetProperty_Int64_1(schemaNS,propName,propValue,options) \ WXMPMeta_GetProperty_Int64_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult ) #define zXMPMeta_GetProperty_Float_1(schemaNS,propName,propValue,options) \ WXMPMeta_GetProperty_Float_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult ) #define zXMPMeta_GetProperty_Date_1(schemaNS,propName,propValue,options) \ WXMPMeta_GetProperty_Date_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult ) #define zXMPMeta_SetProperty_Bool_1(schemaNS,propName,propValue,options) \ WXMPMeta_SetProperty_Bool_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult ) #define zXMPMeta_SetProperty_Int_1(schemaNS,propName,propValue,options) \ WXMPMeta_SetProperty_Int_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult ) #define zXMPMeta_SetProperty_Int64_1(schemaNS,propName,propValue,options) \ WXMPMeta_SetProperty_Int64_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult ) #define zXMPMeta_SetProperty_Float_1(schemaNS,propName,propValue,options) \ WXMPMeta_SetProperty_Float_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult ) #define zXMPMeta_SetProperty_Date_1(schemaNS,propName,propValue,options) \ WXMPMeta_SetProperty_Date_1 ( this->xmpRef, schemaNS, propName, propValue, options, &wResult ) #define zXMPMeta_GetObjectName_1(namePtr,nameLen) \ WXMPMeta_GetObjectName_1 ( this->xmpRef, namePtr, nameLen, &wResult ) #define zXMPMeta_SetObjectName_1(name) \ WXMPMeta_SetObjectName_1 ( this->xmpRef, name, &wResult ) #define zXMPMeta_GetObjectOptions_1() \ WXMPMeta_GetObjectOptions_1 ( this->xmpRef, &wResult ) #define zXMPMeta_SetObjectOptions_1(options) \ WXMPMeta_SetObjectOptions_1 ( this->xmpRef, options, &wResult ) #define zXMPMeta_Sort_1() \ WXMPMeta_Sort_1 ( this->xmpRef, &wResult ) #define zXMPMeta_Erase_1() \ WXMPMeta_Erase_1 ( this->xmpRef, &wResult ) #define zXMPMeta_Clone_1(options) \ WXMPMeta_Clone_1 ( this->xmpRef, options, &wResult ) #define zXMPMeta_CountArrayItems_1(schemaNS,arrayName) \ WXMPMeta_CountArrayItems_1 ( this->xmpRef, schemaNS, arrayName, &wResult ) #define zXMPMeta_DumpObject_1(outProc,refCon) \ WXMPMeta_DumpObject_1 ( this->xmpRef, outProc, refCon, &wResult ) #define zXMPMeta_ParseFromBuffer_1(buffer,bufferSize,options) \ WXMPMeta_ParseFromBuffer_1 ( this->xmpRef, buffer, bufferSize, options, &wResult ) #define zXMPMeta_SerializeToBuffer_1(pktString,pktSize,options,padding,newline,indent,baseIndent) \ WXMPMeta_SerializeToBuffer_1 ( this->xmpRef, pktString, pktSize, options, padding, newline, indent, baseIndent, &wResult ) // ================================================================================================= extern void WXMPMeta_GetVersionInfo_1 ( XMP_VersionInfo * info ); extern void WXMPMeta_Initialize_1 ( WXMP_Result * wResult ); extern void WXMPMeta_Terminate_1(); extern void WXMPMeta_Unlock_1 ( XMP_OptionBits options ); // ------------------------------------------------------------------------------------------------- extern void WXMPMeta_CTor_1 ( WXMP_Result * wResult ); extern void WXMPMeta_IncrementRefCount_1 ( XMPMetaRef xmpRef ); extern void WXMPMeta_DecrementRefCount_1 ( XMPMetaRef xmpRef ); // ------------------------------------------------------------------------------------------------- extern void WXMPMeta_GetGlobalOptions_1 ( WXMP_Result * wResult ); extern void WXMPMeta_SetGlobalOptions_1 ( XMP_OptionBits options, WXMP_Result * wResult ); // ------------------------------------------------------------------------------------------------- extern void WXMPMeta_DumpNamespaces_1 ( XMP_TextOutputProc outProc, void * refCon, WXMP_Result * wResult ); extern void WXMPMeta_DumpAliases_1 ( XMP_TextOutputProc outProc, void * refCon, WXMP_Result * wResult ); // ------------------------------------------------------------------------------------------------- extern void WXMPMeta_RegisterNamespace_1 ( XMP_StringPtr namespaceURI, XMP_StringPtr prefix, WXMP_Result * wResult ); extern void WXMPMeta_GetNamespacePrefix_1 ( XMP_StringPtr namespaceURI, XMP_StringPtr * namespacePrefix, XMP_StringLen * prefixSize, WXMP_Result * wResult ); extern void WXMPMeta_GetNamespaceURI_1 ( XMP_StringPtr namespacePrefix, XMP_StringPtr * namespaceURI, XMP_StringLen * uriSize, WXMP_Result * wResult ); extern void WXMPMeta_DeleteNamespace_1 ( XMP_StringPtr namespaceURI, WXMP_Result * wResult ); // ------------------------------------------------------------------------------------------------- extern void WXMPMeta_RegisterAlias_1 ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, XMP_StringPtr actualNS, XMP_StringPtr actualProp, XMP_OptionBits arrayForm, WXMP_Result * wResult ); extern void WXMPMeta_ResolveAlias_1 ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, XMP_StringPtr * actualNS, XMP_StringLen * nsSize, XMP_StringPtr * actualProp, XMP_StringLen * propSize, XMP_OptionBits * arrayForm, WXMP_Result * wResult ); extern void WXMPMeta_DeleteAlias_1 ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, WXMP_Result * wResult ); extern void WXMPMeta_RegisterStandardAliases_1 ( XMP_StringPtr schemaNS, WXMP_Result * wResult ); // ------------------------------------------------------------------------------------------------- extern void WXMPMeta_UnlockObject_1 ( XMPMetaRef xmpRef, XMP_OptionBits options ); // ------------------------------------------------------------------------------------------------- extern void WXMPMeta_GetProperty_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr * propValue, XMP_StringLen * valueSize, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_GetArrayItem_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr * itemValue, XMP_StringLen * valueSize, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_GetStructField_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr * fieldValue, XMP_StringLen * valueSize, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_GetQualifier_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr * qualValue, XMP_StringLen * valueSize, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ ; // ------------------------------------------------------------------------------------------------- extern void WXMPMeta_SetProperty_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr propValue, XMP_OptionBits options, WXMP_Result * wResult ); extern void WXMPMeta_SetArrayItem_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr itemValue, XMP_OptionBits options, WXMP_Result * wResult ); extern void WXMPMeta_AppendArrayItem_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, XMP_StringPtr itemValue, XMP_OptionBits options, WXMP_Result * wResult ); extern void WXMPMeta_SetStructField_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, XMP_OptionBits options, WXMP_Result * wResult ); extern void WXMPMeta_SetQualifier_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr qualValue, XMP_OptionBits options, WXMP_Result * wResult ); // ------------------------------------------------------------------------------------------------- extern void WXMPMeta_DeleteProperty_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, WXMP_Result * wResult ); extern void WXMPMeta_DeleteArrayItem_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, WXMP_Result * wResult ); extern void WXMPMeta_DeleteStructField_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, WXMP_Result * wResult ); extern void WXMPMeta_DeleteQualifier_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, WXMP_Result * wResult ); // ------------------------------------------------------------------------------------------------- extern void WXMPMeta_DoesPropertyExist_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_DoesArrayItemExist_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_DoesStructFieldExist_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_DoesQualifierExist_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, WXMP_Result * wResult ) /* const */ ; // ------------------------------------------------------------------------------------------------- extern void WXMPMeta_GetLocalizedText_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, XMP_StringPtr * actualLang, XMP_StringLen * langSize, XMP_StringPtr * itemValue, XMP_StringLen * valueSize, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_SetLocalizedText_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, XMP_StringPtr itemValue, XMP_OptionBits options, WXMP_Result * wResult ); // ------------------------------------------------------------------------------------------------- extern void WXMPMeta_GetProperty_Bool_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Bool * propValue, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_GetProperty_Int_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int32 * propValue, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_GetProperty_Int64_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int64 * propValue, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_GetProperty_Float_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, double * propValue, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_GetProperty_Date_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_DateTime * propValue, XMP_OptionBits * options, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_SetProperty_Bool_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Bool propValue, XMP_OptionBits options, WXMP_Result * wResult ); extern void WXMPMeta_SetProperty_Int_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int32 propValue, XMP_OptionBits options, WXMP_Result * wResult ); extern void WXMPMeta_SetProperty_Int64_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_Int64 propValue, XMP_OptionBits options, WXMP_Result * wResult ); extern void WXMPMeta_SetProperty_Float_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, double propValue, XMP_OptionBits options, WXMP_Result * wResult ); extern void WXMPMeta_SetProperty_Date_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr propName, const XMP_DateTime & propValue, XMP_OptionBits options, WXMP_Result * wResult ); // ------------------------------------------------------------------------------------------------- extern void WXMPMeta_GetObjectName_1 ( XMPMetaRef xmpRef, XMP_StringPtr * namePtr, XMP_StringLen * nameLen, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_SetObjectName_1 ( XMPMetaRef xmpRef, XMP_StringPtr name, WXMP_Result * wResult ); extern void WXMPMeta_GetObjectOptions_1 ( XMPMetaRef xmpRef, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_SetObjectOptions_1 ( XMPMetaRef xmpRef, XMP_OptionBits options, WXMP_Result * wResult ); extern void WXMPMeta_Sort_1 ( XMPMetaRef xmpRef, WXMP_Result * wResult ); extern void WXMPMeta_Erase_1 ( XMPMetaRef xmpRef, WXMP_Result * wResult ); extern void WXMPMeta_Clone_1 ( XMPMetaRef xmpRef, XMP_OptionBits options, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_CountArrayItems_1 ( XMPMetaRef xmpRef, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, WXMP_Result * wResult ) /* const */ ; extern void WXMPMeta_DumpObject_1 ( XMPMetaRef xmpRef, XMP_TextOutputProc outProc, void * refCon, WXMP_Result * wResult ) /* const */ ; // ------------------------------------------------------------------------------------------------- extern void WXMPMeta_ParseFromBuffer_1 ( XMPMetaRef xmpRef, XMP_StringPtr buffer, XMP_StringLen bufferSize, XMP_OptionBits options, WXMP_Result * wResult ); extern void WXMPMeta_SerializeToBuffer_1 ( XMPMetaRef xmpRef, XMP_StringPtr * pktString, XMP_StringLen * pktSize, XMP_OptionBits options, XMP_StringLen padding, XMP_StringPtr newline, XMP_StringPtr indent, XMP_Index baseIndent, WXMP_Result * wResult ) /* const */ ; // ================================================================================================= #if __cplusplus } /* extern "C" */ #endif #endif // __WXMPMeta_hpp__ exiv2-0.25/xmpsdk/include/client-glue/WXMPUtils.hpp0000664000175000017500000003332011224653364022010 0ustar andreasandreas#if ! __WXMPUtils_hpp__ #define __WXMPUtils_hpp__ 1 // ================================================================================================= // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= #include "client-glue/WXMP_Common.hpp" #if __cplusplus extern "C" { #endif // ================================================================================================= #define zXMPUtils_ComposeArrayItemPath_1(schemaNS,arrayName,itemIndex,fullPath,pathSize) \ WXMPUtils_ComposeArrayItemPath_1 ( schemaNS, arrayName, itemIndex, fullPath, pathSize, &wResult ); #define zXMPUtils_ComposeStructFieldPath_1(schemaNS,structName,fieldNS,fieldName,fullPath,pathSize) \ WXMPUtils_ComposeStructFieldPath_1 ( schemaNS, structName, fieldNS, fieldName, fullPath, pathSize, &wResult ); #define zXMPUtils_ComposeQualifierPath_1(schemaNS,propName,qualNS,qualName,fullPath,pathSize) \ WXMPUtils_ComposeQualifierPath_1 ( schemaNS, propName, qualNS, qualName, fullPath, pathSize, &wResult ); #define zXMPUtils_ComposeLangSelector_1(schemaNS,arrayName,langName,fullPath,pathSize) \ WXMPUtils_ComposeLangSelector_1 ( schemaNS, arrayName, langName, fullPath, pathSize, &wResult ); #define zXMPUtils_ComposeFieldSelector_1(schemaNS,arrayName,fieldNS,fieldName,fieldValue,fullPath,pathSize) \ WXMPUtils_ComposeFieldSelector_1 ( schemaNS, arrayName, fieldNS, fieldName, fieldValue, fullPath, pathSize, &wResult ); #define zXMPUtils_ConvertFromBool_1(binValue,strValue,strSize) \ WXMPUtils_ConvertFromBool_1 ( binValue, strValue, strSize, &wResult ); #define zXMPUtils_ConvertFromInt_1(binValue,format,strValue,strSize) \ WXMPUtils_ConvertFromInt_1 ( binValue, format, strValue, strSize, &wResult ); #define zXMPUtils_ConvertFromInt64_1(binValue,format,strValue,strSize) \ WXMPUtils_ConvertFromInt64_1 ( binValue, format, strValue, strSize, &wResult ); #define zXMPUtils_ConvertFromFloat_1(binValue,format,strValue,strSize) \ WXMPUtils_ConvertFromFloat_1 ( binValue, format, strValue, strSize, &wResult ); #define zXMPUtils_ConvertFromDate_1(binValue,strValue,strSize) \ WXMPUtils_ConvertFromDate_1 ( binValue, strValue, strSize, &wResult ); #define zXMPUtils_ConvertToBool_1(strValue) \ WXMPUtils_ConvertToBool_1 ( strValue, &wResult ); #define zXMPUtils_ConvertToInt_1(strValue) \ WXMPUtils_ConvertToInt_1 ( strValue, &wResult ); #define zXMPUtils_ConvertToInt64_1(strValue) \ WXMPUtils_ConvertToInt64_1 ( strValue, &wResult ); #define zXMPUtils_ConvertToFloat_1(strValue) \ WXMPUtils_ConvertToFloat_1 ( strValue, &wResult ); #define zXMPUtils_ConvertToDate_1(strValue,binValue) \ WXMPUtils_ConvertToDate_1 ( strValue, binValue, &wResult ); #define zXMPUtils_CurrentDateTime_1(time) \ WXMPUtils_CurrentDateTime_1 ( time, &wResult ); #define zXMPUtils_SetTimeZone_1(time) \ WXMPUtils_SetTimeZone_1 ( time, &wResult ); #define zXMPUtils_ConvertToUTCTime_1(time) \ WXMPUtils_ConvertToUTCTime_1 ( time, &wResult ); #define zXMPUtils_ConvertToLocalTime_1(time) \ WXMPUtils_ConvertToLocalTime_1 ( time, &wResult ); #define zXMPUtils_CompareDateTime_1(left,right) \ WXMPUtils_CompareDateTime_1 ( left, right, &wResult ); #define zXMPUtils_EncodeToBase64_1(rawStr,rawLen,encodedStr,encodedLen) \ WXMPUtils_EncodeToBase64_1 ( rawStr, rawLen, encodedStr, encodedLen, &wResult ); #define zXMPUtils_DecodeFromBase64_1(encodedStr,encodedLen,rawStr,rawLen) \ WXMPUtils_DecodeFromBase64_1 ( encodedStr, encodedLen, rawStr, rawLen, &wResult ); #define zXMPUtils_PackageForJPEG_1(xmpObj,stdStr,stdLen,extStr,extLen,digestStr,digestLen) \ WXMPUtils_PackageForJPEG_1 ( xmpObj, stdStr, stdLen, extStr, extLen, digestStr, digestLen, &wResult ); #define zXMPUtils_MergeFromJPEG_1(fullXMP,extendedXMP) \ WXMPUtils_MergeFromJPEG_1 ( fullXMP, extendedXMP, &wResult ); #define zXMPUtils_CatenateArrayItems_1(xmpObj,schemaNS,arrayName,separator,quotes,options,catedPtr,catedLen) \ WXMPUtils_CatenateArrayItems_1 ( xmpObj, schemaNS, arrayName, separator, quotes, options, catedPtr, catedLen, &wResult ); #define zXMPUtils_SeparateArrayItems_1(xmpObj,schemaNS,arrayName,options,catedStr) \ WXMPUtils_SeparateArrayItems_1 ( xmpObj, schemaNS, arrayName, options, catedStr, &wResult ); #define zXMPUtils_RemoveProperties_1(xmpObj,schemaNS,propName,options) \ WXMPUtils_RemoveProperties_1 ( xmpObj, schemaNS, propName, options, &wResult ); #define zXMPUtils_AppendProperties_1(source,dest,options) \ WXMPUtils_AppendProperties_1 ( source, dest, options, &wResult ); #define zXMPUtils_DuplicateSubtree_1(source,dest,sourceNS,sourceRoot,destNS,destRoot,options) \ WXMPUtils_DuplicateSubtree_1 ( source, dest, sourceNS, sourceRoot, destNS, destRoot, options, &wResult ); // ================================================================================================= extern void WXMPUtils_Unlock_1 ( XMP_OptionBits options ); // ------------------------------------------------------------------------------------------------- extern void WXMPUtils_ComposeArrayItemPath_1 ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr * fullPath, XMP_StringLen * pathSize, WXMP_Result * wResult ); extern void WXMPUtils_ComposeStructFieldPath_1 ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr * fullPath, XMP_StringLen * pathSize, WXMP_Result * wResult ); extern void WXMPUtils_ComposeQualifierPath_1 ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr * fullPath, XMP_StringLen * pathSize, WXMP_Result * wResult ); extern void WXMPUtils_ComposeLangSelector_1 ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr langName, XMP_StringPtr * fullPath, XMP_StringLen * pathSize, WXMP_Result * wResult ); extern void WXMPUtils_ComposeFieldSelector_1 ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, XMP_StringPtr * fullPath, XMP_StringLen * pathSize, WXMP_Result * wResult ); // ------------------------------------------------------------------------------------------------- extern void WXMPUtils_ConvertFromBool_1 ( XMP_Bool binValue, XMP_StringPtr * strValue, XMP_StringLen * strSize, WXMP_Result * wResult ); extern void WXMPUtils_ConvertFromInt_1 ( XMP_Int32 binValue, XMP_StringPtr format, XMP_StringPtr * strValue, XMP_StringLen * strSize, WXMP_Result * wResult ); extern void WXMPUtils_ConvertFromInt64_1 ( XMP_Int64 binValue, XMP_StringPtr format, XMP_StringPtr * strValue, XMP_StringLen * strSize, WXMP_Result * wResult ); extern void WXMPUtils_ConvertFromFloat_1 ( double binValue, XMP_StringPtr format, XMP_StringPtr * strValue, XMP_StringLen * strSize, WXMP_Result * wResult ); extern void WXMPUtils_ConvertFromDate_1 ( const XMP_DateTime & binValue, XMP_StringPtr * strValue, XMP_StringLen * strSize, WXMP_Result * wResult ); // ------------------------------------------------------------------------------------------------- extern void WXMPUtils_ConvertToBool_1 ( XMP_StringPtr strValue, WXMP_Result * wResult ); extern void WXMPUtils_ConvertToInt_1 ( XMP_StringPtr strValue, WXMP_Result * wResult ); extern void WXMPUtils_ConvertToInt64_1 ( XMP_StringPtr strValue, WXMP_Result * wResult ); extern void WXMPUtils_ConvertToFloat_1 ( XMP_StringPtr strValue, WXMP_Result * wResult ); extern void WXMPUtils_ConvertToDate_1 ( XMP_StringPtr strValue, XMP_DateTime * binValue, WXMP_Result * wResult ); // ------------------------------------------------------------------------------------------------- extern void WXMPUtils_CurrentDateTime_1 ( XMP_DateTime * time, WXMP_Result * wResult ); extern void WXMPUtils_SetTimeZone_1 ( XMP_DateTime * time, WXMP_Result * wResult ); extern void WXMPUtils_ConvertToUTCTime_1 ( XMP_DateTime * time, WXMP_Result * wResult ); extern void WXMPUtils_ConvertToLocalTime_1 ( XMP_DateTime * time, WXMP_Result * wResult ); extern void WXMPUtils_CompareDateTime_1 ( const XMP_DateTime & left, const XMP_DateTime & right, WXMP_Result * wResult ); // ------------------------------------------------------------------------------------------------- extern void WXMPUtils_EncodeToBase64_1 ( XMP_StringPtr rawStr, XMP_StringLen rawLen, XMP_StringPtr * encodedStr, XMP_StringLen * encodedLen, WXMP_Result * wResult ); extern void WXMPUtils_DecodeFromBase64_1 ( XMP_StringPtr encodedStr, XMP_StringLen encodedLen, XMP_StringPtr * rawStr, XMP_StringLen * rawLen, WXMP_Result * wResult ); // ------------------------------------------------------------------------------------------------- extern void WXMPUtils_PackageForJPEG_1 ( XMPMetaRef xmpObj, XMP_StringPtr * stdStr, XMP_StringLen * stdLen, XMP_StringPtr * extStr, XMP_StringLen * extLen, XMP_StringPtr * digestStr, XMP_StringLen * digestLen, WXMP_Result * wResult ); extern void WXMPUtils_MergeFromJPEG_1 ( XMPMetaRef fullXMP, XMPMetaRef extendedXMP, WXMP_Result * wResult ); // ------------------------------------------------------------------------------------------------- extern void WXMPUtils_CatenateArrayItems_1 ( XMPMetaRef xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr separator, XMP_StringPtr quotes, XMP_OptionBits options, XMP_StringPtr * catedStr, XMP_StringLen * catedLen, WXMP_Result * wResult ); extern void WXMPUtils_SeparateArrayItems_1 ( XMPMetaRef xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, XMP_StringPtr catedStr, WXMP_Result * wResult ); extern void WXMPUtils_RemoveProperties_1 ( XMPMetaRef xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options, WXMP_Result * wResult ); extern void WXMPUtils_AppendProperties_1 ( XMPMetaRef source, XMPMetaRef dest, XMP_OptionBits options, WXMP_Result * wResult ); extern void WXMPUtils_DuplicateSubtree_1 ( XMPMetaRef source, XMPMetaRef dest, XMP_StringPtr sourceNS, XMP_StringPtr sourceRoot, XMP_StringPtr destNS, XMP_StringPtr destRoot, XMP_OptionBits options, WXMP_Result * wResult ); // ================================================================================================= #if __cplusplus } /* extern "C" */ #endif #endif // __WXMPUtils_hpp__ exiv2-0.25/xmpsdk/include/client-glue/TXMPIterator.incl_cpp0000664000175000017500000002146211224653757023510 0ustar andreasandreas// ================================================================================================= // ADOBE SYSTEMS INCORPORATED // Copyright 2002-2007 Adobe Systems Incorporated // All Rights Reserved // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= // ================================================================================================ /// \file TXMPIterator.incl_cpp /// \brief The implementation of the TXMPIterator template class. #include "XMPSDK.hpp" #include "client-glue/WXMP_Common.hpp" #include "client-glue/WXMPIterator.hpp" // ================================================================================================= // Implementation Guidelines // ========================= // // The implementations of the template functions are very stylized. The jobs done in this code are: // // 1. Set up the xmpIter template data member in the constructors. // 2. Call through to the appropriate WXMPIterator function. // 3. Copy returned strings and release the threading lock. // // The various kinds of functions follow similar patterns, first assuming no returned string: // // Constructors - Use an initializer for the xmpIter data member to call the WXMPIterator constructor. // Destructor - Let the WXMPIterator destructor be implicitly called for the xmpIter data member. // Static function - Simply call the corresponding WXMPIterator static function. // Non-static function - Simply call the corresponding WXMPIterator function using xmpIter. // // If a member function has returned strings the code looks roughly like this: // // <<>> // <<>> // if ( <<>> ) { // if ( outStr != 0 ) outStr->assign ( outPtr, outLen ); // <<>> // } // return result; // // The <<>> is the call to the wrapper, and <<>> is the check and throw // if the wrapper reports failure. The <<>> check is used to determine if the string // should actually be assigned. For example, GetProperty can't assign the value if the property // does not exist. There is no <<>> check if it isn't, well, appropriate. Outputs are // always passed as explicit pointers, and null can be passed if the string is not wanted. The // inner implementation holds the threading lock if an output string is returned, regardless of // whether the client wants it or not (which the implementation does not know). // // ================================================================================================= #ifndef XMP_TraceCTorDTor #define XMP_TraceCTorDTor 0 #endif #if XMP_TraceCTorDTor class XIPeek { // Hack to peek at the client ref count in the internal object. public: XIPeek(); virtual ~XIPeek(); XMP_Int32 clientRefs; }; #endif // ------------------------------------------------------------------------------------------------- #define PropIterCTor(xmpRef,schemaNS,propName,options) \ WrapCheckIterRef ( newRef, zXMPIterator_PropCTor_1 ( xmpRef, schemaNS, propName, options ) ); \ this->iterRef = newRef // ------------------------------------------------------------------------------------------------- #define TableIterCTor(schemaNS,propName,options) \ WrapCheckIterRef ( newRef, zXMPIterator_TableCTor_1 ( schemaNS, propName, options ) ); \ this->iterRef = newRef // ------------------------------------------------------------------------------------------------- XMP_CTorDTorIntro(TXMPIterator):: TXMPIterator ( const TXMPIterator & original ) : iterRef(original.iterRef) { WXMPIterator_IncrementRefCount_1 ( this->iterRef ); #if XMP_TraceCTorDTor XIPeek* xiPtr = (XIPeek*)this->iterRef; printf ( "Copy construct TXMPIterator @ %.8X, ref = %.8X, count = %d\n", this, xiPtr, xiPtr->clientRefs ); #endif } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPIterator,void):: operator= ( const TXMPIterator & rhs ) { #if XMP_TraceCTorDTor XIPeek* xiLHS = (XIPeek*)this->iterRef; XIPeek* xiRHS = (XIPeek*)rhs.iterRef; printf ( "Assign TXMPIterator, lhs @ %.8X, rhs @ %.8X\n", this, &rhs ); printf ( " original lhs ref = %.8X, count = %d\n", xiLHS, xiLHS->clientRefs ); printf ( " original rhs ref = %.8X, count = %d\n", xiRHS, xiRHS->clientRefs ); #endif XMPIteratorRef oldRef = this->iterRef; // ! Decrement last so errors leave client object OK. this->iterRef = rhs.iterRef; WXMPIterator_IncrementRefCount_1 ( this->iterRef ); WXMPIterator_DecrementRefCount_1 ( oldRef ); #if XMP_TraceCTorDTor printf ( " result lhs ref = %.8X, count = %d\n", xiLHS, xiLHS->clientRefs ); #endif } // ------------------------------------------------------------------------------------------------- XMP_CTorDTorIntro(TXMPIterator):: TXMPIterator() : iterRef(0) { throw XMP_Error ( kXMPErr_Unavailable, "No default construction for XMP iterators" ); #if XMP_TraceCTorDTor XIPeek* xiPtr = (XIPeek*)this->iterRef; printf ( "Default construct TXMPIterator @ %.8X, ref = %.8X, count = %d\n", this, xiPtr, xiPtr->clientRefs ); #endif } // ------------------------------------------------------------------------------------------------- XMP_CTorDTorIntro(TXMPIterator):: TXMPIterator ( const TXMPMeta & xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options /* = 0 */ ) : iterRef(0) { PropIterCTor ( xmpObj.GetInternalRef(), schemaNS, propName, options ); #if XMP_TraceCTorDTor XIPeek* xiPtr = (XIPeek*)this->iterRef; printf ( "Construct property TXMPIterator @ %.8X, ref = %.8X, count = %d\n", this, xiPtr, xiPtr->clientRefs ); #endif } // ------------------------------------------------------------------------------------------------- XMP_CTorDTorIntro(TXMPIterator):: TXMPIterator ( const TXMPMeta & xmpObj, XMP_StringPtr schemaNS, XMP_OptionBits options /* = 0 */ ) : iterRef(0) { PropIterCTor ( xmpObj.GetInternalRef(), schemaNS, "", options ); #if XMP_TraceCTorDTor XIPeek* xiPtr = (XIPeek*)this->iterRef; printf ( "Construct schema TXMPIterator @ %.8X, ref = %.8X, count = %d\n", this, xiPtr, xiPtr->clientRefs ); #endif } // ------------------------------------------------------------------------------------------------- XMP_CTorDTorIntro(TXMPIterator):: TXMPIterator ( const TXMPMeta & xmpObj, XMP_OptionBits options /* = 0 */ ) : iterRef(0) { PropIterCTor ( xmpObj.GetInternalRef(), "", "", options ); #if XMP_TraceCTorDTor XIPeek* xiPtr = (XIPeek*)this->iterRef; printf ( "Construct tree TXMPIterator @ %.8X, ref = %.8X, count = %d\n", this, xiPtr, xiPtr->clientRefs ); #endif } // ------------------------------------------------------------------------------------------------- XMP_CTorDTorIntro(TXMPIterator):: TXMPIterator ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_OptionBits options ) : iterRef(0) { TableIterCTor ( schemaNS, propName, options ); #if XMP_TraceCTorDTor XIPeek* xiPtr = (XIPeek*)this->iterRef; printf ( "Construct table TXMPIterator @ %.8X, ref = %.8X, count = %d\n", this, xiPtr, xiPtr->clientRefs ); #endif } // ------------------------------------------------------------------------------------------------- XMP_CTorDTorIntro(TXMPIterator):: ~TXMPIterator () throw() { #if XMP_TraceCTorDTor XIPeek* xiPtr = (XIPeek*)this->iterRef; printf ( "Destruct TXMPIterator @ %.8X, ref = %.8X, count = %d\n", this, xiPtr, xiPtr->clientRefs ); #endif WXMPIterator_DecrementRefCount_1 ( this->iterRef ); this->iterRef = 0; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPIterator,bool):: Next ( tStringObj * schemaNS /* = 0 */, tStringObj * propPath /* = 0 */, tStringObj * propValue /* = 0 */, XMP_OptionBits * options /* = 0 */ ) { XMP_StringPtr schemaPtr = 0; XMP_StringLen schemaLen = 0; XMP_StringPtr pathPtr = 0; XMP_StringLen pathLen = 0; XMP_StringPtr valuePtr = 0; XMP_StringLen valueLen = 0; WrapCheckBool ( found, zXMPIterator_Next_1 ( &schemaPtr, &schemaLen, &pathPtr, &pathLen, &valuePtr, &valueLen, options ) ); if ( found ) { if ( schemaNS != 0 ) schemaNS->assign ( schemaPtr, schemaLen ); if ( propPath != 0 ) propPath->assign ( pathPtr, pathLen ); if ( propValue != 0 ) propValue->assign ( valuePtr, valueLen ); WXMPUtils_UnlockIter_1 ( this->iterRef, 0 ); } return found; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPIterator,void):: Skip ( XMP_OptionBits options ) { WrapCheckVoid ( zXMPIterator_Skip_1 ( options ) ); } // ================================================================================================= exiv2-0.25/xmpsdk/include/client-glue/TXMPUtils.incl_cpp0000664000175000017500000004255311224653757023023 0ustar andreasandreas// ================================================================================================= // ADOBE SYSTEMS INCORPORATED // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= // ================================================================================================ /// \file TXMPUtils.incl_cpp /// \brief The implementation of the TXMPUtils template class. #include "XMPSDK.hpp" #include "client-glue/WXMP_Common.hpp" #include "client-glue/WXMPUtils.hpp" // ================================================================================================= // Implementation Guidelines // ========================= // // The implementations of the template functions are very stylized. ... // // ================================================================================================= XMP_MethodIntro(TXMPUtils,void):: ComposeArrayItemPath ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, tStringObj * fullPath ) { XMP_StringPtr pathPtr = 0; XMP_StringLen pathLen = 0; WrapCheckVoid ( zXMPUtils_ComposeArrayItemPath_1 ( schemaNS, arrayName, itemIndex, &pathPtr, &pathLen ) ); if ( fullPath != 0 ) fullPath->assign ( pathPtr, pathLen ); WXMPUtils_Unlock_1 ( 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: ComposeStructFieldPath ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, tStringObj * fullPath ) { XMP_StringPtr pathPtr = 0; XMP_StringLen pathLen = 0; WrapCheckVoid ( zXMPUtils_ComposeStructFieldPath_1 ( schemaNS, structName, fieldNS, fieldName, &pathPtr, &pathLen ) ); if ( fullPath != 0 ) fullPath->assign ( pathPtr, pathLen ); WXMPUtils_Unlock_1 ( 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: ComposeQualifierPath ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, tStringObj * fullPath ) { XMP_StringPtr pathPtr = 0; XMP_StringLen pathLen = 0; WrapCheckVoid ( zXMPUtils_ComposeQualifierPath_1 ( schemaNS, propName, qualNS, qualName, &pathPtr, &pathLen ) ); if ( fullPath != 0 ) fullPath->assign ( pathPtr, pathLen ); WXMPUtils_Unlock_1 ( 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: ComposeLangSelector ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr langName, tStringObj * fullPath ) { XMP_StringPtr pathPtr = 0; XMP_StringLen pathLen = 0; WrapCheckVoid ( zXMPUtils_ComposeLangSelector_1 ( schemaNS, arrayName, langName, &pathPtr, &pathLen ) ); if ( fullPath != 0 ) fullPath->assign ( pathPtr, pathLen ); WXMPUtils_Unlock_1 ( 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: ComposeLangSelector ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, const tStringObj & langName, tStringObj * fullPath ) { TXMPUtils::ComposeLangSelector ( schemaNS, arrayName, langName.c_str(), fullPath ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: ComposeFieldSelector ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, tStringObj * fullPath ) { XMP_StringPtr pathPtr = 0; XMP_StringLen pathLen = 0; WrapCheckVoid ( zXMPUtils_ComposeFieldSelector_1 ( schemaNS, arrayName, fieldNS, fieldName, fieldValue, &pathPtr, &pathLen ) ); if ( fullPath != 0 ) fullPath->assign ( pathPtr, pathLen ); WXMPUtils_Unlock_1 ( 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: ComposeFieldSelector ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, const tStringObj & fieldValue, tStringObj * fullPath ) { TXMPUtils::ComposeFieldSelector ( schemaNS, arrayName, fieldNS, fieldName, fieldValue.c_str(), fullPath ); } // ------------------------------------------------------------------------------------------------- // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: ConvertFromBool ( bool binValue, tStringObj * strValue ) { XMP_StringPtr strPtr = 0; XMP_StringLen strLen = 0; WrapCheckVoid ( zXMPUtils_ConvertFromBool_1 ( binValue, &strPtr, &strLen ) ); if ( strValue != 0 ) strValue->assign ( strPtr, strLen ); WXMPUtils_Unlock_1 ( 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: ConvertFromInt ( long binValue, XMP_StringPtr format, tStringObj * strValue ) { XMP_StringPtr strPtr = 0; XMP_StringLen strLen = 0; WrapCheckVoid ( zXMPUtils_ConvertFromInt_1 ( binValue, format, &strPtr, &strLen ) ); if ( strValue != 0 ) strValue->assign ( strPtr, strLen ); WXMPUtils_Unlock_1 ( 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: ConvertFromInt64 ( long long binValue, XMP_StringPtr format, tStringObj * strValue ) { XMP_StringPtr strPtr = 0; XMP_StringLen strLen = 0; WrapCheckVoid ( zXMPUtils_ConvertFromInt64_1 ( binValue, format, &strPtr, &strLen ) ); if ( strValue != 0 ) strValue->assign ( strPtr, strLen ); WXMPUtils_Unlock_1 ( 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: ConvertFromFloat ( double binValue, XMP_StringPtr format, tStringObj * strValue ) { XMP_StringPtr strPtr = 0; XMP_StringLen strLen = 0; WrapCheckVoid ( zXMPUtils_ConvertFromFloat_1 ( binValue, format, &strPtr, &strLen ) ); if ( strValue != 0 ) strValue->assign ( strPtr, strLen ); WXMPUtils_Unlock_1 ( 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: ConvertFromDate ( const XMP_DateTime & binValue, tStringObj * strValue ) { XMP_StringPtr strPtr = 0; XMP_StringLen strLen = 0; WrapCheckVoid ( zXMPUtils_ConvertFromDate_1 ( binValue, &strPtr, &strLen ) ); if ( strValue != 0 ) strValue->assign ( strPtr, strLen ); WXMPUtils_Unlock_1 ( 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,bool):: ConvertToBool ( XMP_StringPtr strValue ) { WrapCheckBool ( value, zXMPUtils_ConvertToBool_1 ( strValue ) ); return value; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,bool):: ConvertToBool ( const tStringObj & strValue ) { return TXMPUtils::ConvertToBool ( strValue.c_str() ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,long):: ConvertToInt ( XMP_StringPtr strValue ) { WrapCheckInt32 ( value, zXMPUtils_ConvertToInt_1 ( strValue ) ); return value; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,long):: ConvertToInt ( const tStringObj & strValue ) { return TXMPUtils::ConvertToInt ( strValue.c_str() ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,long long):: ConvertToInt64 ( XMP_StringPtr strValue ) { WrapCheckInt64 ( value, zXMPUtils_ConvertToInt64_1 ( strValue ) ); return value; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,long long):: ConvertToInt64 ( const tStringObj & strValue ) { return TXMPUtils::ConvertToInt64 ( strValue.c_str() ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,double):: ConvertToFloat ( XMP_StringPtr strValue ) { WrapCheckFloat ( value, zXMPUtils_ConvertToFloat_1 ( strValue ) ); return value; } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,double):: ConvertToFloat ( const tStringObj & strValue ) { return TXMPUtils::ConvertToFloat ( strValue.c_str() ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: ConvertToDate ( XMP_StringPtr strValue, XMP_DateTime * binValue ) { WrapCheckVoid ( zXMPUtils_ConvertToDate_1 ( strValue, binValue ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: ConvertToDate ( const tStringObj & strValue, XMP_DateTime * binValue ) { TXMPUtils::ConvertToDate ( strValue.c_str(), binValue ); } // ------------------------------------------------------------------------------------------------- // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: CurrentDateTime ( XMP_DateTime * time ) { WrapCheckVoid ( zXMPUtils_CurrentDateTime_1 ( time ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: SetTimeZone ( XMP_DateTime * time ) { WrapCheckVoid ( zXMPUtils_SetTimeZone_1 ( time ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: ConvertToUTCTime ( XMP_DateTime * time ) { WrapCheckVoid ( zXMPUtils_ConvertToUTCTime_1 ( time ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: ConvertToLocalTime ( XMP_DateTime * time ) { WrapCheckVoid ( zXMPUtils_ConvertToLocalTime_1 ( time ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,int):: CompareDateTime ( const XMP_DateTime & left, const XMP_DateTime & right ) { WrapCheckInt32 ( result, zXMPUtils_CompareDateTime_1 ( left, right ) ); return result; } // ------------------------------------------------------------------------------------------------- // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: EncodeToBase64 ( XMP_StringPtr rawStr, XMP_StringLen rawLen, tStringObj * encodedStr ) { XMP_StringPtr encPtr = 0; XMP_StringLen encLen = 0; WrapCheckVoid ( zXMPUtils_EncodeToBase64_1 ( rawStr, rawLen, &encPtr, &encLen ) ); if ( encodedStr != 0 ) encodedStr->assign ( encPtr, encLen ); WXMPUtils_Unlock_1 ( 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: EncodeToBase64 ( const tStringObj & rawStr, tStringObj * encodedStr ) { TXMPUtils::EncodeToBase64 ( rawStr.c_str(), (XMP_StringLen)rawStr.size(), encodedStr ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: DecodeFromBase64 ( XMP_StringPtr encodedStr, XMP_StringLen encodedLen, tStringObj * rawStr ) { XMP_StringPtr rawPtr = 0; XMP_StringLen rawLen = 0; WrapCheckVoid ( zXMPUtils_DecodeFromBase64_1 ( encodedStr, encodedLen, &rawPtr, &rawLen ) ); if ( rawStr != 0 ) rawStr->assign ( rawPtr, rawLen ); WXMPUtils_Unlock_1 ( 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: DecodeFromBase64 ( const tStringObj & encodedStr, tStringObj * rawStr ) { TXMPUtils::DecodeFromBase64 ( encodedStr.c_str(), (XMP_StringLen)encodedStr.size(), rawStr ); } // ------------------------------------------------------------------------------------------------- // ------------------------------------------------------------------------------------------------- // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: PackageForJPEG ( const TXMPMeta & xmpObj, tStringObj * standardXMP, tStringObj * extendedXMP, tStringObj * extendedDigest ) { XMP_StringPtr stdStr = 0; XMP_StringLen stdLen = 0; XMP_StringPtr extStr = 0; XMP_StringLen extLen = 0; XMP_StringPtr digestStr = 0; XMP_StringLen digestLen = 0; WrapCheckVoid ( zXMPUtils_PackageForJPEG_1 ( xmpObj.GetInternalRef(), &stdStr, &stdLen, &extStr, &extLen, &digestStr, &digestLen ) ); if ( standardXMP != 0 ) standardXMP->assign ( stdStr, stdLen ); if ( extendedXMP != 0 ) extendedXMP->assign ( extStr, extLen ); if ( extendedDigest != 0 ) extendedDigest->assign ( digestStr, digestLen ); WXMPUtils_Unlock_1 ( 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: MergeFromJPEG ( TXMPMeta * fullXMP, const TXMPMeta & extendedXMP ) { WrapCheckVoid ( zXMPUtils_MergeFromJPEG_1 ( fullXMP->GetInternalRef(), extendedXMP.GetInternalRef() ) ); } // ------------------------------------------------------------------------------------------------- // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: CatenateArrayItems ( const TXMPMeta & xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_StringPtr separator, XMP_StringPtr quotes, XMP_OptionBits options, tStringObj * catedStr ) { XMP_StringPtr catedPtr = 0; XMP_StringLen catedLen = 0; WrapCheckVoid ( zXMPUtils_CatenateArrayItems_1 ( xmpObj.GetInternalRef(), schemaNS, arrayName, separator, quotes, options, &catedPtr, &catedLen ) ); if ( catedStr != 0 ) catedStr->assign ( catedPtr, catedLen ); WXMPUtils_Unlock_1 ( 0 ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: SeparateArrayItems ( TXMPMeta * xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, XMP_StringPtr catedStr ) { if ( xmpObj == 0 ) throw XMP_Error ( kXMPErr_BadParam, "Null output SXMPMeta pointer" ); WrapCheckVoid ( zXMPUtils_SeparateArrayItems_1 ( xmpObj->GetInternalRef(), schemaNS, arrayName, options, catedStr ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: SeparateArrayItems ( TXMPMeta * xmpObj, XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits options, const tStringObj & catedStr ) { TXMPUtils::SeparateArrayItems ( xmpObj, schemaNS, arrayName, options, catedStr.c_str() ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: RemoveProperties ( TXMPMeta * xmpObj, XMP_StringPtr schemaNS /* = 0 */, XMP_StringPtr propName /* = 0 */, XMP_OptionBits options /* = 0 */ ) { if ( xmpObj == 0 ) throw XMP_Error ( kXMPErr_BadParam, "Null output SXMPMeta pointer" ); WrapCheckVoid ( zXMPUtils_RemoveProperties_1 ( xmpObj->GetInternalRef(), schemaNS, propName, options ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: AppendProperties ( const TXMPMeta & source, TXMPMeta * dest, XMP_OptionBits options /* = 0 */ ) { if ( dest == 0 ) throw XMP_Error ( kXMPErr_BadParam, "Null output SXMPMeta pointer" ); WrapCheckVoid ( zXMPUtils_AppendProperties_1 ( source.GetInternalRef(), dest->GetInternalRef(), options ) ); } // ------------------------------------------------------------------------------------------------- XMP_MethodIntro(TXMPUtils,void):: DuplicateSubtree ( const TXMPMeta & source, TXMPMeta * dest, XMP_StringPtr sourceNS, XMP_StringPtr sourceRoot, XMP_StringPtr destNS /*= 0 */, XMP_StringPtr destRoot /* = 0 */, XMP_OptionBits options /* = 0 */ ) { if ( dest == 0 ) throw XMP_Error ( kXMPErr_BadParam, "Null output SXMPMeta pointer" ); WrapCheckVoid ( zXMPUtils_DuplicateSubtree_1 ( source.GetInternalRef(), dest->GetInternalRef(), sourceNS, sourceRoot, destNS, destRoot, options ) ); } // ================================================================================================= // ================================================================================================= exiv2-0.25/xmpsdk/include/XMP.incl_cpp0000664000175000017500000000431111303665273017426 0ustar andreasandreas#ifndef __XMP_incl_cpp__ #define __XMP_incl_cpp__ 1 // ================================================================================================= // ADOBE SYSTEMS INCORPORATED // Copyright 2002-2007 Adobe Systems Incorporated // All Rights Reserved // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= // ================================================================================================ /// \file XMP.incl_cpp /// \brief Overall client glue file for the XMP toolkit. /// /// This is an overall client source file of XMP toolkit glue, the only XMP-specific one that /// clients should build in projects. This ensures that all of the client-side glue code for the /// XMP toolkit gets compiled. /// /// You cannot compile this file directly, because the template's string type must be declared and /// only the client can do that. Instead, include this in some other source file. For example, /// to use std::string you only need these two lines: /// /// \code /// #include /// #include "XMP.incl_cpp" /// \endcode #include "XMPSDK.hpp" // ! This must be the first include! #define XMP_ClientBuild 1 #ifdef _MSC_VER #if XMP_DebugBuild #pragma warning ( push, 4 ) #else #pragma warning ( push, 3 ) #endif #pragma warning ( disable : 4189 ) // local variable is initialized but not referenced #pragma warning ( disable : 4702 ) // unreachable code #pragma warning ( disable : 4800 ) // forcing value to bool 'true' or 'false' (performance warning) #endif #if defined ( TXMP_STRING_TYPE ) && (! TXMP_EXPAND_INLINE) // We're using a single out of line instantiation. Do it here. #include "client-glue/TXMPMeta.incl_cpp" #include "client-glue/TXMPIterator.incl_cpp" #include "client-glue/TXMPUtils.incl_cpp" template class TXMPMeta ; template class TXMPIterator ; template class TXMPUtils ; #endif #ifdef _MSC_VER #pragma warning ( pop ) #endif #endif // __XMP_incl_cpp__ exiv2-0.25/xmpsdk/include/XMPSDK.hpp0000664000175000017500000000750211303665273016775 0ustar andreasandreas#ifndef __XMP_hpp__ #define __XMP_hpp__ 1 // ================================================================================================= // Copyright 2002-2007 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= // ================================================================================================ /// \file XMPSDK.hpp /// \brief Overall header file for the XMP Toolkit /// /// This is an overall header file, the only one that C++ clients should include. /// /// The full client API is in the \c TXMPMeta.hpp, \c TXMPIterator.hpp, \c TXMPUtils.hpp headers. /// Read these for information, but do not include them directly. The \c TXMP... classes are C++ /// template classes that must be instantiated with a string class such as \c std::string. The /// string class is used to return text strings for property values, serialized XMP, and so on. /// Clients must also compile \c XMP.incl_cpp to ensure that all client-side glue code is generated. /// This should be done by including it in exactly one client source file. /// /// There are two C preprocessor macros that simplify use of the templates: /// /// \li \c TXMP_STRING_TYPE - Define this as the string class to use with the template. You will get /// the template headers included and typedefs (\c SXMPMeta, and so on) to use in your code. /// /// \li \c TXMP_EXPAND_INLINE - Define this as 1 if you want to have the template functions expanded /// inline in your code. Leave it undefined, or defined as 0, to use out-of-line instantiations of /// the template functions. Compiling \c XMP.incl_cpp generates explicit out-of-line /// instantiations if \c TXMP_EXPAND_INLINE is off. /// /// The template parameter, class \c tStringObj, must have the following member functions (which /// match those for \c std::string): /// ///
///  tStringObj& assign ( const char * str, size_t len )
///  size_t size() const
///  const char * c_str() const
/// 
/// /// The string class must be suitable for at least UTF-8. This is the encoding used for all general /// values, and is the default encoding for serialized XMP. The string type must also be suitable /// for UTF-16 or UTF-32 if those serialization encodings are used. This mainly means tolerating /// embedded 0 bytes, which \c std::string does. // ================================================================================================ /// /c XMP_Environment.h must be the first included header. #include "XMP_Environment.h" #include "XMP_Version.h" #include "XMP_Const.h" #ifdef _MSC_VER #if XMP_DebugBuild #pragma warning ( push, 4 ) #else #pragma warning ( push, 3 ) #endif #pragma warning ( disable : 4702 ) // unreachable code #pragma warning ( disable : 4800 ) // forcing value to bool 'true' or 'false' (performance warning) #endif #if defined ( TXMP_STRING_TYPE ) #include "TXMPMeta.hpp" #include "TXMPIterator.hpp" #include "TXMPUtils.hpp" typedef class TXMPMeta SXMPMeta; // For client convenience. typedef class TXMPIterator SXMPIterator; typedef class TXMPUtils SXMPUtils; #if TXMP_EXPAND_INLINE #error "TXMP_EXPAND_INLINE is not working at present. Please don't use it." #include "client-glue/TXMPMeta.incl_cpp" #include "client-glue/TXMPIterator.incl_cpp" #include "client-glue/TXMPUtils.incl_cpp" #endif #endif // TXMP_STRING_TYPE #ifdef _MSC_VER #pragma warning ( pop ) #endif // ================================================================================================= #endif // __XMP_hpp__ exiv2-0.25/xmpsdk/include/TXMPMeta.hpp0000664000175000017500000026542611465256713017405 0ustar andreasandreas#ifndef __TXMPMeta_hpp__ #define __TXMPMeta_hpp__ 1 #if ( ! __XMP_hpp__ ) #error "Do not directly include, use XMPSDK.hpp" #endif // ================================================================================================= // ADOBE SYSTEMS INCORPORATED // Copyright 2002-2008 Adobe Systems Incorporated // All Rights Reserved // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= // ================================================================================================= /// \file TXMPMeta.hpp /// \brief API for access to the XMP Toolkit core services. /// /// \c TXMPMeta is the template class providing the core services of the XMP Toolkit. It must be /// instantiated with a string class such as \c std::string. Read the Toolkit Overview for /// information about the overall architecture of the XMP API, and the documentation for \c XMPSDK.hpp /// for specific instantiation instructions. /// /// Access these functions through the concrete class, \c SXMPMeta. // ================================================================================================= // ================================================================================================= /// \class TXMPMeta TXMPMeta.hpp /// \brief API for access to the XMP Toolkit core services. /// /// \c TXMPMeta is the template class providing the core services of the XMP Toolkit. It should be /// instantiated with a string class such as \c std::string. Read the Toolkit Overview for /// information about the overall architecture of the XMP API, and the documentation for \c XMPSDK.hpp /// for specific instantiation instructions. /// /// Access these functions through the concrete class, \c SXMPMeta. /// /// You can create \c TXMPMeta objects (also called XMP objects) from metadata that you construct, /// or that you obtain from files using the XMP Toolkit's XMPFiles component; see \c TXMPFiles.hpp. // ================================================================================================= template class TXMPIterator; template class TXMPUtils; // ------------------------------------------------------------------------------------------------- template class TXMPMeta { public: // ============================================================================================= // Initialization and termination // ============================== // --------------------------------------------------------------------------------------------- /// \name Initialization and termination /// /// @{ // --------------------------------------------------------------------------------------------- /// @brief \c GetVersionInfo() retrieves runtime version information. /// /// The header \c XMPVersion.hpp defines a static version number for the XMP Toolkit, which /// describes the version of the API used at client compile time. It is not necessarily the same /// as the runtime version. Do not base runtime decisions on the static version alone; you can, /// however, compare the runtime and static versions. /// /// This function is static; make the call directly from the concrete class (\c SXMPMeta). The /// function can be called before calling \c TXMPMeta::Initialize(). /// /// @param info [out] A buffer in which to return the version information. static void GetVersionInfo ( XMP_VersionInfo * info ); // --------------------------------------------------------------------------------------------- /// @brief \c Initialize() explicitly initializes the XMP Toolkit before use. */ /// Initializes the XMP Toolkit. /// /// Call this function before making any other calls to the \c TXMPMeta functions, except /// \c TXMPMeta::GetVersionInfo(). /// /// This function is static; make the call directly from the concrete class (\c SXMPMeta). /// /// @return True on success. */ static bool Initialize(); // --------------------------------------------------------------------------------------------- /// @brief \c Terminate() explicitly terminates usage of the XMP Toolkit. /// /// Frees structures created on initialization. /// /// This function is static; make the call directly from the concrete class (\c SXMPMeta). static void Terminate(); /// @} // ============================================================================================= // Constuctors and destructor // ========================= // --------------------------------------------------------------------------------------------- /// \name Constructors and destructor /// @{ // --------------------------------------------------------------------------------------------- /// @brief Default constructor, creates an empty object. /// /// The default constructor creates a new empty \c TXMPMeta object. /// /// @return The new object. */ TXMPMeta(); // --------------------------------------------------------------------------------------------- /// @brief Copy constructor, creates a client object refering to the same internal object. /// /// The copy constructor creates a new \c TXMPMeta object that refers to the same internal XMP /// object. as an existing \c TXMPMeta object. /// /// @param original The object to copy. /// /// @return The new object. */ TXMPMeta ( const TXMPMeta & original ); // --------------------------------------------------------------------------------------------- /// @brief Assignment operator, assigns the internal reference and increments the reference count. /// /// The assignment operator assigns the internal ref from the rhs object and increments the /// reference count on the underlying internal XMP object. void operator= ( const TXMPMeta & rhs ); // --------------------------------------------------------------------------------------------- /// @brief Reconstructs an XMP object from an internal reference. /// /// This constructor creates a new \c TXMPMeta object that refers to the underlying reference object /// of an existing \c TXMPMeta object. Use to safely pass XMP objects across DLL boundaries. /// /// @param xmpRef The underlying reference object, obtained from some other XMP object with /// \c TXMPMeta::GetInternalRef(). /// /// @return The new object. TXMPMeta ( XMPMetaRef xmpRef ); // --------------------------------------------------------------------------------------------- /// @brief Constructs an object and parse one buffer of RDF into it. /// /// This constructor creates a new \c TXMPMeta object and populates it with metadata from a /// buffer containing serialized RDF. This buffer must be a complete RDF parse stream. /// /// The result of passing serialized data to this function is identical to creating an empty /// object then calling \c TXMPMeta::ParseFromBuffer(). To use the constructor, however, the RDF /// must be complete. If you need to parse data from multiple buffers, create an empty object /// and use \c TXMPMeta::ParseFromBuffer(). /// /// @param buffer A pointer to the buffer of RDF to be parsed. Can be null if the length is 0; /// in this case, the function creates an empty object. /// /// @param xmpSize The length in bytes of the buffer. /// /// @return The new object. TXMPMeta ( XMP_StringPtr buffer, XMP_StringLen xmpSize ); // --------------------------------------------------------------------------------------------- /// @brief Destructor, typical virtual destructor. */ virtual ~TXMPMeta() throw(); /// @} // ============================================================================================= // Global state functions // ====================== // --------------------------------------------------------------------------------------------- /// \name Global option flags /// @{ /// Global option flags affect the overall behavior of the XMP Toolkit. The available options /// will be declared in \c XMP_Const.h. There are none in this version of the Toolkit. // --------------------------------------------------------------------------------------------- /// @brief \c GetGlobalOptions() retrieves the set of global option flags. There are none in /// this version of the Toolkit. /// /// This function is static; you can make the call from the class without instantiating it. /// /// @return A logical OR of global option bit-flag constants. static XMP_OptionBits GetGlobalOptions(); // --------------------------------------------------------------------------------------------- /// @brief \c SetGlobalOptions() updates the set of global option flags. There are none in this /// version of the Toolkit. /// /// The entire set is replaced with the new values. If only one flag is to be modified, use /// \c TXMPMeta::GetGlobalOptions() to obtain the current set, modify the desired flag, then use /// this function to reset the value. /// /// This function is static; you can make the call from the class without instantiating it. /// /// @param options A logical OR of global option bit-flag constants. static void SetGlobalOptions ( XMP_OptionBits options ); /// @} // --------------------------------------------------------------------------------------------- /// \name Internal data structure dump utilities /// @{ /// /// These are debugging utilities that dump internal data structures, to be handled by /// client-defined callback described in \c XMP_Const.h. /// /// @see Member function \c TXMPMeta::DumpObject() // --------------------------------------------------------------------------------------------- /// @brief \c DumpNamespaces() sends the list of registered namespace URIs and prefixes to a handler. /// /// For debugging. Invokes a client-defined callback for each line of output. /// /// This function is static; make the call directly from the concrete class (\c SXMPMeta). /// /// @param outProc The client-defined procedure to handle each line of output. /// /// @param clientData A pointer to client-defined data to pass to the handler. /// /// @return A success-fail status value, returned from the handler. Zero is success, failure /// values are client-defined. static XMP_Status DumpNamespaces ( XMP_TextOutputProc outProc, void * clientData ); // --------------------------------------------------------------------------------------------- /// @brief \c DumpAliases() sends the list of registered aliases and corresponding actuals to a handler. /// /// For debugging. Invokes a client-defined callback for each line of output. /// /// This function is static; make the call directly from the concrete class (\c SXMPMeta). /// /// @param outProc The client-defined procedure to handle each line of output. /// /// @param clientData A pointer to client-defined data to pass to the handler. /// /// @return A success-fail status value, returned from the handler. Zero is success, failure /// values are client-defined. static XMP_Status DumpAliases ( XMP_TextOutputProc outProc, void * clientData ); /// @} // --------------------------------------------------------------------------------------------- /// \name Namespace Functions /// @{ /// /// Namespaces must be registered before use in namespace URI parameters or path expressions. /// Within the XMP Toolkit the registered namespace URIs and prefixes must be unique. Additional /// namespaces encountered when parsing RDF are automatically registered. /// /// The namespace URI should always end in an XML name separator such as '/' or '#'. This is /// because some forms of RDF shorthand catenate a namespace URI with an element name to form a /// new URI. // --------------------------------------------------------------------------------------------- /// @brief \c RegisterNamespace() registers a namespace URI with a prefix. /// /// If the the prefix is in use, the URI of the existing prefix is overwritten. /// /// This function is static; make the call directly from the concrete class (\c SXMPMeta). /// /// @param namespaceURI The URI for the namespace. Must be a valid XML URI. /// /// @param prefix The prefix to be used. Must be a valid XML name. /// /// @note No checking is done on either the URI or the prefix. */ static void RegisterNamespace ( XMP_StringPtr namespaceURI, XMP_StringPtr prefix ); // --------------------------------------------------------------------------------------------- /// @brief \c GetNamespacePrefix() obtains the prefix for a registered namespace URI, and /// reports whether the URI is registered. /// /// This function is static; make the call directly from the concrete class (\c SXMPMeta). /// /// @param namespaceURI The URI for the namespace. Must not be null or the empty string. It is /// not an error if the namespace URI is not registered. /// /// @param namespacePrefix [out] A string object in which to return the prefix registered for /// this URI, with a terminating colon character, ':'. If the namespace is not registered, this /// string is not modified. /// /// @return True if the namespace URI is registered. static bool GetNamespacePrefix ( XMP_StringPtr namespaceURI, tStringObj * namespacePrefix ); // --------------------------------------------------------------------------------------------- /// @brief \c GetNamespaceURI() obtains the URI for a registered namespace prefix, and reports /// whether the prefix is registered. /// /// This function is static; make the call directly from the concrete class (\c SXMPMeta). /// /// @param namespacePrefix The prefix for the namespace. Must not be null or the empty string. /// It is not an error if the namespace prefix is not registered. /// /// @param namespaceURI [out] A string object in which to return the URI registered for this /// prefix. If the prefix is not registered, this string is not modified. /// /// @return True if the namespace prefix is registered. static bool GetNamespaceURI ( XMP_StringPtr namespacePrefix, tStringObj * namespaceURI ); // --------------------------------------------------------------------------------------------- /// @brief Not implemented. /// /// Deletes a namespace from the registry. Does nothing if the URI is not registered, or if the /// parameter is null or the empty string. /// /// This function is static; make the call directly from the concrete class (\c SXMPMeta). /// /// @param namespaceURI The URI for the namespace. static void DeleteNamespace ( XMP_StringPtr namespaceURI ); /// @} // --------------------------------------------------------------------------------------------- /// \name Alias functions /// @{ /// /// Aliases in XMP serve the same purpose as Windows file shortcuts, Mac OS file aliases, or /// UNIX file symbolic links. The aliases are multiple names for the same property. One /// distinction of XMP aliases is that they are ordered. An alias name points to an actual name; /// the primary significance of the actual name is that it is the preferred name for output, /// generally the most widely recognized name. /// /// XMP restricts the names that can be aliased. The alias must be a top-level property name, /// not a field within a structure or an element within an array. The actual can be a top-level /// property name, the first element within a top-level array, or the default element in an /// alt-text array. This does not mean the alias can only be a simple property; you can alias a /// top-level structure or array to an identical top-level structure or array, or to the first /// item of an array of structures. // --------------------------------------------------------------------------------------------- /// @brief \c RegisterAlias() associates an alias name with an actual name. /// /// Defines an alias mapping from one namespace/property to another. Both property names must be /// simple names. An alias can be a direct mapping, where the alias and actual have the same /// data type. It is also possible to map a simple alias to an item in an array. This can either /// be to the first item in the array, or to the 'x-default' item in an alt-text array. Multiple /// alias names can map to the same actual, as long as the forms match. It is a no-op to /// reregister an alias in an identical fashion. /// /// This function is static; make the call directly from the concrete class (\c SXMPMeta). /// /// @param aliasNS The namespace URI for the alias. Must not be null or the empty string. /// /// @param aliasProp The name of the alias. Must be a simple name, not null or the empty string /// and not a general path expression. /// /// @param actualNS The namespace URI for the actual. Must not be null or the empty string. /// /// @param actualProp The name of the actual. Must be a simple name, not null or the empty string /// and not a general path expression. /// /// @param arrayForm Provides the array form for simple aliases to an array item. This is needed /// to know what kind of array to create if set for the first time via the simple alias. Pass /// \c #kXMP_NoOptions, the default value, for all direct aliases regardless of whether the actual /// data type is an array or not. One of these constants: /// /// \li \c #kXMP_NoOptions - This is a direct mapping. The actual data type does not matter. /// \li \c #kXMP_PropValueIsArray - The actual is an unordered array, the alias is to the /// first element of the array. /// \li \c #kXMP_PropArrayIsOrdered - The actual is an ordered array, the alias is to the /// first element of the array. /// \li \c #kXMP_PropArrayIsAlternate - The actual is an alternate array, the alias is to the /// first element of the array. /// \li \c #kXMP_PropArrayIsAltText - The actual is an alternate text array, the alias is to /// the 'x-default' element of the array. */ static void RegisterAlias ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, XMP_StringPtr actualNS, XMP_StringPtr actualProp, XMP_OptionBits arrayForm = kXMP_NoOptions ); // --------------------------------------------------------------------------------------------- /// @brief \c ResolveAlias() reports whether a name is an alias, and what it is aliased to. /// /// Output strings are not written until return, so you can use this to /// "reduce" a path to the base form as follows: ///
    ///   isAlias = SXMPMeta::ResolveAlias ( ns.c_str(), path.c_str(), &ns, &path, 0 );
    /// 
/// This function is static; make the call directly from the concrete class (\c SXMPMeta). /// /// @param aliasNS The namespace URI for the alias. Must not be null or the empty string. /// /// @param aliasProp The name of the alias. Can be an arbitrary path expression path, must not /// null or the empty string. /// /// @param actualNS [out] A string object in which to return the namespace URI for the actual. /// Not modified if the given name is not an alias. Can be null if the namespace URI is not wanted. /// /// @param actualProp [out] A string object in which to return the path of the actual. /// Not modified if the given name is not an alias. Can be null if the actual's path is not wanted. /// /// @param arrayForm [out] A string object in which to return the array form of the actual. This /// is 0 (\c #kXMP_NoOptions) if the alias and actual forms match, otherwise it is the options /// passed to \c TXMPMeta::RegisterAlias(). Not modified if the given name is not an alias. Can /// be null if the actual's array form is not wanted. /// /// @return True if the provided name is an alias. static bool ResolveAlias ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp, tStringObj * actualNS, tStringObj * actualProp, XMP_OptionBits * arrayForm ); // --------------------------------------------------------------------------------------------- /// @brief \c DeleteAlias() deletes an alias. /// /// This deletes only the registration of the alias, it does not delete the actual property. /// It deletes any view of the property through the alias name. /// /// This function is static; make the call directly from the concrete class (\c SXMPMeta). /// /// @param aliasNS The namespace URI for the alias. Must not be null or the empty string. /// /// @param aliasProp The name of the alias. Must be a simple name, not null or the empty string /// and not a general path expression. It is not an error to provide /// a name that has not been registered as an alias. static void DeleteAlias ( XMP_StringPtr aliasNS, XMP_StringPtr aliasProp ); // --------------------------------------------------------------------------------------------- /// @brief \c RegisterStandardAliases() registers all of the built-in aliases for a standard namespace. /// /// The built-in aliases are documented in the XMP Specification. This function registers the /// aliases in the given namespace; that is, it creates the aliases from this namespace to /// actuals in other namespaces. /// /// This function is static; make the call directly from the concrete class (\c SXMPMeta). /// /// @param schemaNS The namespace URI for the aliases. Must not be null or the empty string. static void RegisterStandardAliases ( XMP_StringPtr schemaNS ); /// @} // ============================================================================================= // Basic property manipulation functions // ===================================== // *** Should add discussion of schemaNS and propName prefix usage. // --------------------------------------------------------------------------------------------- /// \name Accessing property values /// @{ /// /// The property value accessors all take a property specification; the top level namespace URI /// (the "schema" namespace) and the basic name of the property being referenced. See the /// introductory discussion of path expression usage for more information. /// /// The accessor functions return true if the specified property exists. If it does, output /// parameters return the value (if any) and option flags describing the property. The option /// bit-flag constants that describe properties are \c kXMP_PropXx and /// \c kXMP_ArrayIsXx. See \c #kXMP_PropValueIsURI and following, and macros \c #XMP_PropIsSimple /// and following in \c XMP_Const.h. If the property exists and has a value, it is returned as a /// Unicode string in UTF-8 encoding. Arrays and the non-leaf levels of structs do not have /// values. // --------------------------------------------------------------------------------------------- /// @brief \c GetProperty() reports whether a property exists, and retrieves its value. /// /// This is the simplest property accessor. Use this to retrieve the values of top-level simple /// properties, or after using the path composition functions in \c TXMPUtils. /// /// When specifying a namespace and path (in this and all other accessors): /// \li If a namespace URI is specified, it must be for a registered namespace. /// \li If the namespace is specified only by a prefix in the property name path, /// it must be a registered prefix. /// \li If both a URI and path prefix are present, they must be corresponding /// parts of a registered namespace. /// /// @param schemaNS The namespace URI for the property. The URI must be for a registered /// namespace. Can be null or the empty string if the first component of the \c propName path /// contains a namespace prefix. /// /// @param propName The name of the property. Can be a general path expression, must not be null /// or the empty string. The first component can be a namespace prefix; if present without a /// \c schemaNS value, the prefix specifies the namespace. The prefix must be for a registered /// namespace, and if a namespace URI is specified, must match the registered prefix for that /// namespace. /// /// @param propValue [out] A string object in which to return the value of the property, if the /// property exists and has a value. Arrays and non-leaf levels of structs do not have values. /// Can be null if the value is not wanted. /// /// @param options A buffer in which to return option flags describing the property. Can be null /// if the flags are not wanted. /// /// @return True if the property exists. bool GetProperty ( XMP_StringPtr schemaNS, XMP_StringPtr propName, tStringObj * propValue, XMP_OptionBits * options ) const; // --------------------------------------------------------------------------------------------- /// @brief \c GetArrayItem() provides access to items within an array. /// /// Reports whether the item exists; if it does, and if it has a value, the function retrieves /// the value. Items are accessed by an integer index, where the first item has index 1. /// /// @param schemaNS The namespace URI for the array; see \c GetProperty(). /// /// @param arrayName The name of the array. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param itemIndex The 1-based index of the desired item. Use the macro \c #kXMP_ArrayLastItem /// to specify the last existing array item. /// /// @param itemValue [out] A string object in which to return the value of the array item, if it /// has a value. Arrays and non-leaf levels of structs do not have values. Can be null if the /// value is not wanted. /// /// @param options [out] A buffer in which to return the option flags describing the array item. /// Can be null if the flags are not wanted. /// /// @return True if the array item exists. bool GetArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, tStringObj * itemValue, XMP_OptionBits * options ) const; // --------------------------------------------------------------------------------------------- /// @brief \c GetStructField() provides access to fields within a nested structure. /// /// Reports whether the field exists; if it does, and if it has a value, the function retrieves /// the value. /// /// @param schemaNS The namespace URI for the struct; see \c GetProperty(). /// /// @param structName The name of the struct. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param fieldNS The namespace URI for the field. Same URI and prefix usage as the \c schemaNS /// and \c structName parameters. /// /// @param fieldName The name of the field. Must be a single XML name, must not be null or the /// empty string. Same URI and prefix usage as the \c schemaNS and \c structName parameters. /// /// @param fieldValue [out] A string object in which to return the value of the field, if the /// field has a value. Arrays and non-leaf levels of structs do not have values. Can be null if /// the value is not wanted. /// /// @param options [out] A buffer in which to return the option flags describing the field. Can /// be null if the flags are not wanted. /// /// @return True if the field exists. bool GetStructField ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, tStringObj * fieldValue, XMP_OptionBits * options ) const; // --------------------------------------------------------------------------------------------- /// @brief \c GetQualifier() provides access to a qualifier attached to a property. /// /// @note In this version of the Toolkit, qualifiers are supported only for simple leaf properties. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property to which the qualifier is attached. Can be a /// general path expression, must not be null or the empty string; see \c GetProperty() for /// namespace prefix usage. /// /// @param qualNS The namespace URI for the qualifier. Same URI and prefix usage as the /// \c schemaNS and \c propName parameters. /// /// @param qualName The name of the qualifier. Must be a single XML name, must not be null or /// the empty string. Same URI and prefix usage as the \c schemaNS and \c propName parameters. /// /// @param qualValue [out] A string object in which to return the value of the qualifier, if the /// qualifier has a value. Arrays and non-leaf levels of structs do not have values. Can be null /// if the value is not wanted. /// /// @param options [out] A buffer in which to return the option flags describing the qualifier. /// Can be null if the flags are not wanted. /// /// @return True if the qualifier exists. bool GetQualifier ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, tStringObj * qualValue, XMP_OptionBits * options ) const; /// @} // ============================================================================================= // --------------------------------------------------------------------------------------------- /// \name Creating properties and setting their values /// @{ /// /// These functions all take a property specification; the top level namespace URI (the "schema" /// namespace) and the basic name of the property being referenced. See the introductory /// discussion of path expression usage for more information. /// /// All of the functions take a UTF-8 encoded Unicode string for the property value. Arrays and /// non-leaf levels of structs do not have values. The value can be passed as an /// \c #XMP_StringPtr (a pointer to a null-terminated string), or as a string object /// (\c tStringObj). /// Each function takes an options flag that describes the property. You can use these functions /// to create empty arrays and structs by setting appropriate option flags. When you assign a /// value, all levels of a struct that are implicit in the assignment are created if necessary. /// \c TXMPMeta::AppendArrayItem() implicitly creates the named array if necessary. /// /// The allowed option bit-flags include: /// \li \c #kXMP_PropValueIsStruct - Can be used to create an empty struct. /// A struct is implicitly created when the first field is set. /// \li \c #kXMP_PropValueIsArray - By default, a general unordered array (bag). /// \li \c #kXMP_PropArrayIsOrdered - An ordered array. /// \li \c #kXMP_PropArrayIsAlternate - An alternative array. /// \li \c #kXMP_PropArrayIsAltText - An alt-text array. Each array element must /// be a simple property with an \c xml:lang attribute. // --------------------------------------------------------------------------------------------- /// @brief \c SetProperty() creates or sets a property value. /// /// This is the simplest property setter. Use it for top-level simple properties, or after using /// the path composition functions in \c TXMPUtils. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param propValue The new value, a pointer to a null terminated UTF-8 string. Must be null /// for arrays and non-leaf levels of structs that do not have values. /// /// @param options Option flags describing the property; a logical OR of allowed bit-flag /// constants; see \c #kXMP_PropValueIsStruct and following. Must match the type of a property /// that already exists. void SetProperty ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr propValue, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c SetProperty() creates or sets a property value using a string object. /// /// Overloads the basic form of the function, allowing you to pass a string object /// for the item value. It is otherwise identical; see details in the canonical form. void SetProperty ( XMP_StringPtr schemaNS, XMP_StringPtr propName, const tStringObj & propValue, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c SetArrayItem() creates or sets the value of an item within an array. /// /// Items are accessed by an integer index, where the first item has index 1. This function /// creates the item if necessary, but the array itself must already exist Use /// \c AppendArrayItem() to create arrays. A new item is automatically appended if the index is the /// array size plus 1. To insert a new item before or after an existing item, use option flags. /// /// Use \c TXMPUtils::ComposeArrayItemPath() to create a complex path. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param arrayName The name of the array. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param itemIndex The 1-based index of the desired item. Use the macro \c #kXMP_ArrayLastItem /// to specify the last existing array item. /// /// @param itemValue The new item value, a null-terminated UTF-8 string, if the array item has a /// value. /// /// @param options Option flags describing the array type and insertion location for a new item; /// a logical OR of allowed bit-flag constants. The type, if specified, must match the existing /// array type, \c #kXMP_PropArrayIsOrdered, \c #kXMP_PropArrayIsAlternate, or /// \c #kXMP_PropArrayIsAltText. Default (0 or \c #kXMP_NoOptions) matches the existing array type. /// /// To insert a new item before or after the specified index, set flag \c #kXMP_InsertBeforeItem /// or \c #kXMP_InsertAfterItem. void SetArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, XMP_StringPtr itemValue, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c SetArrayItem() creates or sets the value of an item within an array using a string object. /// /// Overloads the basic form of the function, allowing you to pass a string object in which to /// return the item value. It is otherwise identical; see details in the canonical form. void SetArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex, const tStringObj & itemValue, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c AppendArrayItem() adds an item to an array, creating the array if necessary. /// /// This function simplifies construction of an array by not requiring that you pre-create an /// empty array. The array that is assigned is created automatically if it does not yet exist. /// If the array exists, it must have the form specified by the options. Each call appends a new /// item to the array. /// /// Use \c TXMPUtils::ComposeArrayItemPath() to create a complex path. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param arrayName The name of the array. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param arrayOptions Option flags describing the array type to create; a logical OR of /// allowed bit-flag constants, \c #kXMP_PropArrayIsOrdered, \c #kXMP_PropArrayIsAlternate, or /// \c #kXMP_PropArrayIsAltText. If the array exists, must match the existing array type or be /// null (0 or \c #kXMP_NoOptions). /// /// @param itemValue The new item value, a null-terminated UTF-8 string, if the array item has a /// value. /// /// @param itemOptions Option flags describing the item type to create; one of the bit-flag /// constants \c #kXMP_PropValueIsArray or \c #kXMP_PropValueIsStruct to create a complex array /// item. void AppendArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, XMP_StringPtr itemValue, XMP_OptionBits itemOptions = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c AppendArrayItem() adds an item to an array using a string object value, creating /// the array if necessary. /// /// Overloads the basic form of the function, allowing you to pass a string object in which to /// return the item value. It is otherwise identical; see details in the canonical form. void AppendArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_OptionBits arrayOptions, const tStringObj & itemValue, XMP_OptionBits itemOptions = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c SetStructField() creates or sets the value of a field within a nested structure. /// /// Use this to set a value within an existing structure, create a new field within an existing /// structure, or create an empty structure of any depth. If you set a field in a structure that /// does not exist, the structure is automatically created. /// /// Use \c TXMPUtils::ComposeStructFieldPath() to create a complex path. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param structName The name of the struct. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param fieldNS The namespace URI for the field. Same namespace and prefix usage as /// \c GetProperty(). /// /// @param fieldName The name of the field. Must be a single XML name, must not be null or the /// empty string. Same namespace and prefix usage as \c GetProperty(). /// /// @param fieldValue The new value, a null-terminated UTF-8 string, if the field has a value. /// Null to create a new, empty struct or empty field in an existing struct. /// /// @param options Option flags describing the property, in which the bit-flag /// \c #kXMP_PropValueIsStruct must be set to create a struct. void SetStructField ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, XMP_StringPtr fieldValue, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c SetStructField() creates or sets the value of a field within a nested structure, /// using a string object. /// /// Overloads the basic form of the function, allowing you to pass a string object in which to /// return the field value. It is otherwise identical; see details in the canonical form. void SetStructField ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName, const tStringObj & fieldValue, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c SetQualifier() creates or sets a qualifier attached to a property. /// /// Use this to set a value for an existing qualifier, or create a new qualifier. <> Use /// \c TXMPUtils::ComposeQualifierPath() to create a complex path. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property to which the qualifier is attached. Can be a /// general path expression, must not be null or the empty string; see \c GetProperty() for /// namespace prefix usage. /// /// @param qualNS The namespace URI for the qualifier. Same namespace and prefix usage as /// \c GetProperty(). /// /// @param qualName The name of the qualifier. Must be a single XML name, must not be null or /// the empty string. Same namespace and prefix usage as \c GetProperty(). /// /// @param qualValue The new value, a null-terminated UTF-8 string, if the qualifier has a /// value. Null to create a new, empty qualifier. /// /// @param options Option flags describing the <>, a logical OR /// of property-type bit-flag constants. Use the macro \c #XMP_PropIsQualifier to create a /// qualifier. <> void SetQualifier ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, XMP_StringPtr qualValue, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c SetQualifier() creates or sets a qualifier attached to a property using a string object. /// /// Overloads the basic form of the function, allowing you to pass a string object /// for the qualifier value. It is otherwise identical; see details in the canonical form. void SetQualifier ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName, const tStringObj & qualValue, XMP_OptionBits options = 0 ); /// @} // ============================================================================================= // --------------------------------------------------------------------------------------------- /// \name Detecting and deleting properties. /// @{ /// /// The namespace URI and prefix usage for property specifiers in these functions is the same as /// for \c TXMPMeta::GetProperty(). // --------------------------------------------------------------------------------------------- /// @brief \c DeleteProperty() deletes an XMP subtree rooted at a given property. /// /// It is not an error if the property does not exist. /// /// @param schemaNS The namespace URI for the property; see \c GetProperty(). /// /// @param propName The name of the property; see \c GetProperty(). void DeleteProperty ( XMP_StringPtr schemaNS, XMP_StringPtr propName ); // --------------------------------------------------------------------------------------------- /// @brief \c DeleteArrayItem() deletes an XMP subtree rooted at a given array item. /// /// It is not an error if the array item does not exist. Use /// \c TXMPUtils::ComposeArrayItemPath() to create a complex path. /// /// @param schemaNS The namespace URI for the array; see \c GetProperty(). /// /// @param arrayName The name of the array. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param itemIndex The 1-based index of the desired item. Use the macro \c #kXMP_ArrayLastItem /// to specify the last existing array item. void DeleteArrayItem ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex ); // --------------------------------------------------------------------------------------------- /// @brief \c DeleteStructField() deletes an XMP subtree rooted at a given struct field. /// /// It is not an error if the field does not exist. /// /// @param schemaNS The namespace URI for the struct; see \c GetProperty(). /// /// @param structName The name of the struct. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param fieldNS The namespace URI for the field. Same namespace and prefix usage as /// \c GetProperty(). /// /// @param fieldName The name of the field. Must be a single XML name, must not be null or the /// empty string. Same namespace and prefix usage as \c GetProperty(). void DeleteStructField ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName ); // --------------------------------------------------------------------------------------------- /// @brief \c DeleteQualifier() deletes an XMP subtree rooted at a given qualifier. /// /// It is not an error if the qualifier does not exist. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property to which the qualifier is attached. Can be a /// general path expression, must not be null or the empty string; see \c GetProperty() for /// namespace prefix usage. /// /// @param qualNS The namespace URI for the qualifier. Same namespace and prefix usage as /// \c GetProperty(). /// /// @param qualName The name of the qualifier. Must be a single XML name, must not be null or /// the empty string. Same namespace and prefix usage as \c GetProperty(). void DeleteQualifier ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName ); // --------------------------------------------------------------------------------------------- /// @brief \c DoesPropertyExist() reports whether a property currently exists. /// /// @param schemaNS The namespace URI for the property; see \c GetProperty(). /// /// @param propName The name of the property; see \c GetProperty(). /// /// @return True if the property exists. bool DoesPropertyExist ( XMP_StringPtr schemaNS, XMP_StringPtr propName ) const; // --------------------------------------------------------------------------------------------- /// @brief \c DoesArrayItemExist() reports whether an array item currently exists. /// /// Use \c TXMPUtils::ComposeArrayItemPath() to create a complex path. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param arrayName The name of the array. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param itemIndex The 1-based index of the desired item. Use the macro \c #kXMP_ArrayLastItem /// to specify the last existing array item. /// /// @return True if the array item exists. bool DoesArrayItemExist ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName, XMP_Index itemIndex ) const; // --------------------------------------------------------------------------------------------- /// @brief \c DoesStructFieldExist() reports whether a struct field currently exists. /// /// Use \c TXMPUtils::ComposeStructFieldPath() to create a complex path. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param structName The name of the struct. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param fieldNS The namespace URI for the field. Same namespace and prefix usage as /// \c GetProperty(). /// /// @param fieldName The name of the field. Must be a single XML name, must not be null or the /// empty string. Same namespace and prefix usage as \c GetProperty(). /// /// @return True if the field exists. bool DoesStructFieldExist ( XMP_StringPtr schemaNS, XMP_StringPtr structName, XMP_StringPtr fieldNS, XMP_StringPtr fieldName ) const; // --------------------------------------------------------------------------------------------- /// @brief \c DoesQualifierExist() reports whether a qualifier currently exists. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property to which the qualifier is attached. Can be a /// general path expression, must not be null or the empty string; see \c GetProperty() for /// namespace prefix usage. /// /// @param qualNS The namespace URI for the qualifier. Same namespace and prefix usage as /// \c GetProperty(). /// /// @param qualName The name of the qualifier. Must be a single XML name, must not be null or /// the empty string. Same namespace and prefix usage as \c GetProperty(). /// /// @return True if the qualifier exists. bool DoesQualifierExist ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_StringPtr qualNS, XMP_StringPtr qualName ) const; /// @} // ============================================================================================= // Specialized Get and Set functions // ============================================================================================= // --------------------------------------------------------------------------------------------- /// \name Accessing properties as binary values. /// @{ /// /// These are very similar to \c TXMPMeta::GetProperty() and \c TXMPMeta::SetProperty(), except /// that the value is returned or provided in binary form instead of as a UTF-8 string. /// \c TXMPUtils provides functions for converting between binary and string values. /// Use the path composition functions in \c TXMPUtils to compose complex path expressions /// for fields or items in nested structures or arrays, or for qualifiers. // --------------------------------------------------------------------------------------------- /// @brief \c GetProperty_Bool() retrieves the value of a Boolean property as a C++ bool. /// /// Reports whether a property exists, and retrieves its binary value and property type information. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param propValue [out] A buffer in which to return the binary value. Can be null if the /// value is not wanted. Must be null for arrays and non-leaf levels of structs that do not have /// values. /// /// @param options [out] A buffer in which to return the option flags describing the property, a /// logical OR of allowed bit-flag constants; see \c #kXMP_PropValueIsStruct and following. Can /// be null if flags are not wanted. /// /// @return True if the property exists. bool GetProperty_Bool ( XMP_StringPtr schemaNS, XMP_StringPtr propName, bool * propValue, XMP_OptionBits * options ) const; // --------------------------------------------------------------------------------------------- /// @brief \c GetProperty_Int() retrieves the value of an integer property as a C long integer. /// /// Reports whether a property exists, and retrieves its binary value and property type information. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param propValue [out] A buffer in which to return the binary value. Can be null if the /// value is not wanted. Must be null for arrays and non-leaf levels of structs that do not have /// values. /// /// @param options [out] A buffer in which to return the option flags describing the property, a /// logical OR of allowed bit-flag constants; see \c #kXMP_PropValueIsStruct and following. Can /// be null if flags are not wanted. /// /// @return True if the property exists. bool GetProperty_Int ( XMP_StringPtr schemaNS, XMP_StringPtr propName, long * propValue, XMP_OptionBits * options ) const; // --------------------------------------------------------------------------------------------- /// @brief \c GetProperty_Int64() retrieves the value of an integer property as a C long long integer. /// /// Reports whether a property exists, and retrieves its binary value and property type information. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param propValue [out] A buffer in which to return the binary value. Can be null if the /// value is not wanted. Must be null for arrays and non-leaf levels of structs that do not have /// values. /// /// @param options [out] A buffer in which to return the option flags describing the property, a /// logical OR of allowed bit-flag constants; see \c #kXMP_PropValueIsStruct and following. Can /// be null if flags are not wanted. /// /// @return True if the property exists. bool GetProperty_Int64 ( XMP_StringPtr schemaNS, XMP_StringPtr propName, long long * propValue, XMP_OptionBits * options ) const; // --------------------------------------------------------------------------------------------- /// @brief \c GetProperty_Float() retrieves the value of a floating-point property as a C double float. /// /// Reports whether a property exists, and retrieves its binary value and property type information. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param propValue [out] A buffer in which to return the binary value. Can be null if the /// value is not wanted. Must be null for arrays and non-leaf levels of structs that do not have /// values. /// /// @param options [out] A buffer in which to return the option flags describing the property, a /// logical OR of allowed bit-flag constants; see \c #kXMP_PropValueIsStruct and following. Can /// be null if flags are not wanted. /// /// @return True if the property exists. bool GetProperty_Float ( XMP_StringPtr schemaNS, XMP_StringPtr propName, double * propValue, XMP_OptionBits * options ) const; // --------------------------------------------------------------------------------------------- /// @brief \c GetProperty_Date() retrieves the value of a date-time property as an \c #XMP_DateTime structure. /// /// Reports whether a property exists, and retrieves its binary value and property type information. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param propValue [out] A buffer in which to return the binary value. Can be null if the /// value is not wanted. Must be null for arrays and non-leaf levels of structs that do not have /// values. /// /// @param options [out] A buffer in which to return the option flags describing the property, a /// logical OR of allowed bit-flag constants; see \c #kXMP_PropValueIsStruct and following. Can /// be null if flags are not wanted. /// /// @return True if the property exists. bool GetProperty_Date ( XMP_StringPtr schemaNS, XMP_StringPtr propName, XMP_DateTime * propValue, XMP_OptionBits * options ) const; // --------------------------------------------------------------------------------------------- /// @brief \c SetProperty_Bool() sets the value of a Boolean property using a C++ bool. /// /// Sets a property with a binary value, creating it if necessary. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param propValue The new binary value. Can be null if creating the property. Must be null /// for arrays and non-leaf levels of structs that do not have values. /// /// @param options Option flags describing the property; a logical OR of allowed bit-flag /// constants; see \c #kXMP_PropValueIsStruct and following. Must match the type of a property /// that already exists. void SetProperty_Bool ( XMP_StringPtr schemaNS, XMP_StringPtr propName, bool propValue, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c SetProperty_Int() sets the value of an integer property using a C long integer. /// /// Sets a property with a binary value, creating it if necessary. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param propValue The new binary value. Can be null if creating the property. Must be null /// for arrays and non-leaf levels of structs that do not have values. /// /// @param options Option flags describing the property; a logical OR of allowed bit-flag /// constants; see \c #kXMP_PropValueIsStruct and following. Must match the type of a property /// that already exists. void SetProperty_Int ( XMP_StringPtr schemaNS, XMP_StringPtr propName, long propValue, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c SetProperty_Int64() sets the value of an integer property using a C long long integer. /// /// Sets a property with a binary value, creating it if necessary. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param propValue The new binary value. Can be null if creating the property. Must be null /// for arrays and non-leaf levels of structs that do not have values. /// /// @param options Option flags describing the property; a logical OR of allowed bit-flag /// constants; see \c #kXMP_PropValueIsStruct and following. Must match the type of a property /// that already exists. void SetProperty_Int64 ( XMP_StringPtr schemaNS, XMP_StringPtr propName, long long propValue, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c SetProperty_Float() sets the value of a floating-point property using a C double float. /// /// Sets a property with a binary value, creating it if necessary. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param propValue The new binary value. Can be null if creating the property. Must be null /// for arrays and non-leaf levels of structs that do not have values. /// /// @param options Option flags describing the property; a logical OR of allowed bit-flag /// constants; see \c #kXMP_PropValueIsStruct and following. Must match the type of a property /// that already exists. void SetProperty_Float ( XMP_StringPtr schemaNS, XMP_StringPtr propName, double propValue, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c SetProperty_Date() sets the value of a date/time property using an \c #XMP_DateTime structure. /// /// Sets a property with a binary value, creating it if necessary. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param propName The name of the property. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param propValue The new binary value. Can be null if creating the property. Must be null /// for arrays and non-leaf levels of structs that do not have values. /// /// @param options Option flags describing the property; a logical OR of allowed bit-flag /// constants; see \c #kXMP_PropValueIsStruct and following. Must match the type of a property /// that already exists. void SetProperty_Date ( XMP_StringPtr schemaNS, XMP_StringPtr propName, const XMP_DateTime & propValue, XMP_OptionBits options = 0 ); /// @} // ============================================================================================= /// \name Accessing localized text (alt-text) properties. /// @{ /// /// Localized text properties are stored in alt-text arrays. They allow multiple concurrent /// localizations of a property value, for example a document title or copyright in several /// languages. /// /// These functions provide convenient support for localized text properties, including a /// number of special and obscure aspects. The most important aspect of these functions is that /// they select an appropriate array item based on one or two RFC 3066 language tags. One of /// these languages, the "specific" language, is preferred and selected if there is an exact /// match. For many languages it is also possible to define a "generic" language that can be /// used if there is no specific language match. The generic language must be a valid RFC 3066 /// primary subtag, or the empty string. /// /// For example, a specific language of "en-US" should be used in the US, and a specific /// language of "en-UK" should be used in England. It is also appropriate to use "en" as the /// generic language in each case. If a US document goes to England, the "en-US" title is /// selected by using the "en" generic language and the "en-UK" specific language. /// /// It is considered poor practice, but allowed, to pass a specific language that is just an /// RFC 3066 primary tag. For example "en" is not a good specific language, it should only be /// used as a generic language. Passing "i" or "x" as the generic language is also considered /// poor practice but allowed. /// /// Advice from the W3C about the use of RFC 3066 language tags can be found at: /// \li http://www.w3.org/International/articles/language-tags/ /// /// \note RFC 3066 language tags must be treated in a case insensitive manner. The XMP toolkit /// does this by normalizing their capitalization: /// \li The primary subtag is lower case, the suggested practice of ISO 639. /// \li All 2 letter secondary subtags are upper case, the suggested practice of ISO 3166. /// \li All other subtags are lower case. /// /// The XMP specification defines an artificial language, "x-default", that is used to /// explicitly denote a default item in an alt-text array. The XMP toolkit normalizes alt-text /// arrays such that the x-default item is the first item. The \c SetLocalizedText() function /// has several special features related to the x-default item, see its description for details. // --------------------------------------------------------------------------------------------- /// @brief \c GetLocalizedText() retrieves information about a selected item in an alt-text array. /// /// The array item is selected according to these rules: /// \li Look for an exact match with the specific language. /// \li If a generic language is given, look for a partial match. /// \li Look for an x-default item. /// \li Choose the first item. /// /// A partial match with the generic language is where the start of the item's language matches /// the generic string and the next character is '-'. An exact match is also recognized as a /// degenerate case. /// /// You can pass "x-default" as the specific language. In this case, selection of an /// \c x-default item is an exact match by the first rule, not a selection by the 3rd rule. The /// last 2 rules are fallbacks used when the specific and generic languages fail to produce a /// match. /// /// The return value reports whether a match was successfully made. /// /// @param schemaNS The namespace URI for the alt-text array; see \c GetProperty(). /// /// @param altTextName The name of the alt-text array. Can be a general path expression, must /// not be null or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param genericLang The name of the generic language as an RFC 3066 primary subtag. Can be /// null or the empty string if no generic language is wanted. /// /// @param specificLang The name of the specific language as an RFC 3066 tag, or "x-default". /// Must not be null or the empty string. /// /// @param actualLang [out] A string object in which to return the language of the selected /// array item, if an appropriate array item is found. Can be null if the language is not wanted. /// /// @param itemValue [out] A string object in which to return the value of the array item, if an /// appropriate array item is found. Can be null if the value is not wanted. /// /// @param options A buffer in which to return the option flags that describe the array item, if /// an appropriate array item is found. Can be null if the flags are not wanted. /// /// @return True if an appropriate array item exists. bool GetLocalizedText ( XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, tStringObj * actualLang, tStringObj * itemValue, XMP_OptionBits * options ) const; // --------------------------------------------------------------------------------------------- /// @brief \c SetLocalizedText() modifies the value of a selected item in an alt-text array. /// /// Creates an appropriate array item if necessary, and handles special cases for the x-default /// item. /// /// The array item is selected according to these rules: /// \li Look for an exact match with the specific language. /// \li If a generic language is given, look for a partial match. /// \li Look for an x-default item. /// \li Choose the first item. /// /// A partial match with the generic language is where the start of the item's language matches /// the generic string and the next character is '-'. An exact match is also recognized as a /// degenerate case. /// /// You can pass "x-default" as the specific language. In this case, selection of an /// \c x-default item is an exact match by the first rule, not a selection by the 3rd rule. The /// last 2 rules are fallbacks used when the specific and generic languages fail to produce a /// match. /// /// Item values are modified according to these rules: /// /// \li If the selected item is from a match with the specific language, the value of that /// item is modified. If the existing value of that item matches the existing value of the /// x-default item, the x-default item is also modified. If the array only has 1 existing item /// (which is not x-default), an x-default item is added with the given value. /// /// \li If the selected item is from a match with the generic language and there are no other /// generic matches, the value of that item is modified. If the existing value of that item /// matches the existing value of the x-default item, the x-default item is also modified. If /// the array only has 1 existing item (which is not x-default), an x-default item is added /// with the given value. /// /// \li If the selected item is from a partial match with the generic language and there are /// other partial matches, a new item is created for the specific language. The x-default item /// is not modified. /// /// \li If the selected item is from the last 2 rules then a new item is created for the /// specific language. If the array only had an x-default item, the x-default item is also /// modified. If the array was empty, items are created for the specific language and /// x-default. /// /// @param schemaNS The namespace URI for the alt-text array; see \c GetProperty(). /// /// @param altTextName The name of the alt-text array. Can be a general path expression, must /// not be null or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param genericLang The name of the generic language as an RFC 3066 primary subtag. Can be /// null or the empty string if no generic language is wanted. /// /// @param specificLang The name of the specific language as an RFC 3066 tag, or "x-default". /// Must not be null or the empty string. /// /// @param itemValue The new value for the matching array item, specified as a null-terminated /// UTF-8 string. /// /// @param options Option flags, none currently defined. void SetLocalizedText ( XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, XMP_StringPtr itemValue, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c SetLocalizedText() modifies the value of a selected item in an alt-text array using /// a string object. /// /// Creates an appropriate array item if necessary, and handles special cases for the x-default /// item. /// /// The array item is selected according to these rules: /// \li Look for an exact match with the specific language. /// \li If a generic language is given, look for a partial match. /// \li Look for an x-default item. /// \li Choose the first item. /// /// A partial match with the generic language is where the start of the item's language matches /// the generic string and the next character is '-'. An exact match is also recognized as a /// degenerate case. /// /// You can pass "x-default" as the specific language. In this case, selection of an \c x-default /// item is an exact match by the first rule, not a selection by the 3rd rule. The last 2 rules /// are fallbacks used when the specific and generic languages fail to produce a match. /// /// Item values are modified according to these rules: /// /// \li If the selected item is from a match with the specific language, the value of that /// item is modified. If the existing value of that item matches the existing value of the /// x-default item, the x-default item is also modified. If the array only has 1 existing item /// (which is not x-default), an x-default item is added with the given value. /// /// \li If the selected item is from a match with the generic language and there are no other /// generic matches, the value of that item is modified. If the existing value of that item /// matches the existing value of the x-default item, the x-default item is also modified. If /// the array only has 1 existing item (which is not x-default), an x-default item is added /// with the given value. /// /// \li If the selected item is from a partial match with the generic language and there are /// other partial matches, a new item is created for the specific language. The x-default item /// is not modified. /// /// \li If the selected item is from the last 2 rules then a new item is created for the /// specific language. If the array only had an x-default item, the x-default item is also /// modified. If the array was empty, items are created for the specific language and /// x-default. /// /// @param schemaNS The namespace URI for the alt-text array; see \c GetProperty(). /// /// @param altTextName The name of the alt-text array. Can be a general path expression, must /// not be null or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @param genericLang The name of the generic language as an RFC 3066 primary subtag. Can be /// null or the empty string if no generic language is wanted. /// /// @param specificLang The name of the specific language as an RFC 3066 tag, or "x-default". /// Must not be null or the empty string. /// /// @param itemValue The new value for the matching array item, specified as a string object. /// /// @param options Option flags, none currently defined. void SetLocalizedText ( XMP_StringPtr schemaNS, XMP_StringPtr altTextName, XMP_StringPtr genericLang, XMP_StringPtr specificLang, const tStringObj & itemValue, XMP_OptionBits options = 0 ); /// @} // ============================================================================================= /// \name Creating and reading serialized RDF. /// @{ /// /// The metadata contained in an XMP object must be serialized as RDF for storage in an XMP /// packet and output to a file. Similarly, metadata in the form of serialized RDF (such as /// metadata read from a file using \c TXMPFiles) must be parsed into an XMP object for /// manipulation with the XMP Toolkit. /// /// These functions support parsing serialized RDF into an XMP object, and serializing an XMP /// object into RDF. The input for parsing can be any valid Unicode encoding. ISO Latin-1 is /// also recognized, but its use is strongly discouraged. Serialization is always as UTF-8. // --------------------------------------------------------------------------------------------- /// @brief \c ParseFromBuffer() parses RDF from a series of input buffers into this XMP object. /// /// Use this to convert metadata from serialized RDF form (as, for example, read from an XMP /// packet embedded in a file) into an XMP object that you can manipulate with the XMP Toolkit. /// If this XMP object is empty and the input buffer contains a complete XMP packet, this is the /// same as creating a new XMP object from that buffer with the constructor. /// /// You can use this function to combine multiple buffers into a single metadata tree. To /// terminate an input loop conveniently, pass the option \c #kXMP_ParseMoreBuffers for all /// real input, then make a final call with a zero length and \c #kXMP_NoOptions. The buffers /// can be any length. The buffer boundaries need not respect XML tokens or even Unicode /// characters. /// /// @param buffer A pointer to a buffer of input. Can be null if \c bufferSize is 0. /// /// @param bufferSize The length of the input buffer in bytes. Zero is a valid value. /// /// @param options An options flag that controls how the parse operation is performed. A logical /// OR of these bit-flag constants: /// \li \c #kXMP_ParseMoreBuffers - This is not the last buffer of input, more calls follow. /// \li \c #kXMP_RequireXMPMeta - The \c x:xmpmeta XML element is required around \c rdf:RDF. /// /// @see \c TXMPFiles::GetXMP() void ParseFromBuffer ( XMP_StringPtr buffer, XMP_StringLen bufferSize, XMP_OptionBits options = 0 ); // --------------------------------------------------------------------------------------------- /// @brief \c SerializeToBuffer() serializes metadata in this XMP object into a string as RDF. /// /// Use this to prepare metadata for storage as an XMP packet embedded in a file. See \c TXMPFiles::PutXMP(). /// /// @param rdfString [out] A string object in which to return the serialized RDF. Must not be null. /// /// @param options An options flag that controls how the serialization operation is performed. /// The specified options must be logically consistent; an exception is thrown if they are not. /// A logical OR of these bit-flag constants: /// \li \c kXMP_OmitPacketWrapper - Do not include an XML packet wrapper. This cannot be /// specified together with \c #kXMP_ReadOnlyPacket, \c #kXMP_IncludeThumbnailPad, or /// \c #kXMP_ExactPacketLength. /// \li \c kXMP_ReadOnlyPacket - Create a read-only XML packet wapper. Cannot be specified /// together with \c kXMP_OmitPacketWrapper. /// \li \c kXMP_UseCompactFormat - Use a highly compact RDF syntax and layout. /// \li \c kXMP_WriteAliasComments - Include XML comments for aliases. /// \li \c kXMP_IncludeThumbnailPad - Include typical space for a JPEG thumbnail in the /// padding if no \c xmp:Thumbnails property is present. Cannot be specified together with /// \c kXMP_OmitPacketWrapper. /// \li \c kXMP_ExactPacketLength - The padding parameter provides the overall packet length. /// The actual amount of padding is computed. An exception is thrown if the packet exceeds /// this length with no padding. Cannot be specified together with /// \c kXMP_OmitPacketWrapper. /// /// In addition to the above options, you can include one of the following encoding options: /// \li \c #kXMP_EncodeUTF8 - Encode as UTF-8, the default. /// \li \c #kXMP_EncodeUTF16Big - Encode as big-endian UTF-16. /// \li \c #kXMP_EncodeUTF16Little - Encode as little-endian UTF-16. /// \li \c #kXMP_EncodeUTF32Big - Encode as big-endian UTF-32. /// \li \c #kXMP_EncodeUTF32Little - Encode as little-endian UTF-32. /// /// @param padding The amount of padding to be added if a writeable XML packet is created. If /// zero (the default) an appropriate amount of padding is computed. /// /// @param newline The string to be used as a line terminator. If empty, defaults to linefeed, /// U+000A, the standard XML newline. /// /// @param indent The string to be used for each level of indentation in the serialized RDF. If /// empty, defaults to two ASCII spaces, U+0020. /// /// @param baseIndent The number of levels of indentation to be used for the outermost XML /// element in the serialized RDF. This is convenient when embedding the RDF in other text. void SerializeToBuffer ( tStringObj * rdfString, XMP_OptionBits options, XMP_StringLen padding, XMP_StringPtr newline, XMP_StringPtr indent = "", XMP_Index baseIndent = 0 ) const; // --------------------------------------------------------------------------------------------- /// @brief \c SerializeToBuffer() serializes metadata in this XMP object into a string as RDF. /// /// This simpler form of the function uses default values for the \c newline, \c indent, and /// \c baseIndent parameters. /// /// @param rdfString [out] A string object in which to return the serialized RDF. Must not be null. /// /// @param options An options flag that controls how the serialization operation is performed. /// The specified options must be logically consistent; an exception is thrown if they are not. /// A logical OR of these bit-flag constants: /// \li \c kXMP_OmitPacketWrapper - Do not include an XML packet wrapper. This cannot be /// specified together with \c #kXMP_ReadOnlyPacket, \c #kXMP_IncludeThumbnailPad, or /// \c #kXMP_ExactPacketLength. /// \li \c kXMP_ReadOnlyPacket - Create a read-only XML packet wapper. Cannot be specified /// together with \c kXMP_OmitPacketWrapper. /// \li \c kXMP_UseCompactFormat - Use a highly compact RDF syntax and layout. /// \li \c kXMP_WriteAliasComments - Include XML comments for aliases. /// \li \c kXMP_IncludeThumbnailPad - Include typical space for a JPEG thumbnail in the /// padding if no \c xmp:Thumbnails property is present. Cannot be specified together with /// \c kXMP_OmitPacketWrapper. /// \li \c kXMP_ExactPacketLength - The padding parameter provides the overall packet length. /// The actual amount of padding is computed. An exception is thrown if the packet exceeds /// this length with no padding. Cannot be specified together with /// \c kXMP_OmitPacketWrapper. /// /// In addition to the above options, you can include one of the following encoding options: /// \li \c #kXMP_EncodeUTF8 - Encode as UTF-8, the default. /// \li \c #kXMP_EncodeUTF16Big - Encode as big-endian UTF-16. /// \li \c #kXMP_EncodeUTF16Little - Encode as little-endian UTF-16. /// \li \c #kXMP_EncodeUTF32Big - Encode as big-endian UTF-32. /// \li \c #kXMP_EncodeUTF32Little - Encode as little-endian UTF-32. /// /// @param padding The amount of padding to be added if a writeable XML packet is created. /// If zero (the default) an appropriate amount of padding is computed. void SerializeToBuffer ( tStringObj * rdfString, XMP_OptionBits options = 0, XMP_StringLen padding = 0 ) const; /// @} // ============================================================================================= // Miscellaneous Member Functions // ============================== // --------------------------------------------------------------------------------------------- /// \name Helper functions. /// @{ // --------------------------------------------------------------------------------------------- /// @brief Retrieves an internal reference that can be safely passed across DLL boundaries and /// reconstructed. /// /// The \c TXMPMeta class is a normal C++ template, it is instantiated and local to each client /// executable, as are the other \c TXMP* classes. Different clients might not use the same /// string type to instantiate \c TXMPMeta. /// /// Because of this you should not pass \c SXMPMeta objects, or pointers to \c SXMPMeta objects, /// across DLL boundaries. Use this function to obtain a safe internal reference that you can /// pass, then construct a local object on the callee side. This construction does not create a /// cloned XMP tree, it is the same underlying XMP object safely wrapped in each client's /// \c SXMPMeta object. /// /// Use this function and the associated constructor like this: /// \li The callee's header contains: ///
    /// CalleeMethod ( XMPMetaRef xmpRef );
    /// 
/// /// \li The caller's code contains: ///
    /// SXMPMeta callerXMP;
    /// CalleeMethod ( callerXMP.GetInternalRef() );
    /// 
/// /// \li The callee's code contains: ///
    /// SXMPMeta calleeXMP ( xmpRef );
    /// 
/// /// @return The reference object. XMPMetaRef GetInternalRef() const; // --------------------------------------------------------------------------------------------- /// @brief \c GetObjectName() retrieves the client-assigned name of this XMP object. /// /// Assign this name with \c SetObjectName(). /// /// @param name [out] A string object in which to return the name. void GetObjectName ( tStringObj * name ) const; // --------------------------------------------------------------------------------------------- /// @brief \c SetObjectName() assigns a name to this XMP object. /// /// Retrieve this client-assigned name with \c GetObjectName(). /// /// @param name The name as a null-terminated UTF-8 string. void SetObjectName ( XMP_StringPtr name ); // --------------------------------------------------------------------------------------------- /// @brief \c SetObjectName() assigns a name to this XMP object. /// /// Retrieve this client-assigned name with \c GetObjectName(). /// /// @param name The name as a string object. void SetObjectName ( tStringObj name ); // --------------------------------------------------------------------------------------------- /// @brief \c Sort() sorts the data model tree of an XMP object. /// /// Use this function to sort the data model of an XMP object into a canonical order. This can /// be convenient when comparing data models, (e.g. by text comparison of DumpObject output). /// /// At the top level the namespaces are sorted by their prefixes. Within a namespace, the top /// level properties are sorted by name. Within a struct, the fields are sorted by their /// qualified name, i.e. their XML prefix:local form. Unordered arrays of simple items are /// sorted by value. Language Alternative arrays are sorted by the xml:lang qualifiers, with /// the "x-default" item placed first. void Sort(); // --------------------------------------------------------------------------------------------- /// @brief \c Erase() restores the object to a "just constructed" state. void Erase(); // --------------------------------------------------------------------------------------------- /// @brief \c Clone() creates a deep copy of an XMP object. /// /// Use this function to copy an entire XMP metadata tree. Assignment and copy constructors only /// increment a reference count, they do not do a deep copy. This function returns an object, /// not a pointer. The following shows correct usage: /// ///
    /// SXMPMeta * clone1 = new SXMPMeta ( sourceXMP.Clone() );  // This works.
    /// SXMPMeta   clone2 ( sourceXMP.Clone );  	// This works also. (Not a pointer.)
    /// 
/// The \c clone2 example does not use an explicit pointer. /// This is good for local usage, protecting against memory leaks. /// /// This is an example of incorrect usage: ///
    /// SXMPMeta * clone3 = &sourceXMP.Clone();		// ! This does not work!
    /// 
/// The assignment to \c clone3 creates a temporary object, initializes it with the clone, /// assigns the address of the temporary to \c clone3, then deletes the temporary. /// /// @param options Option flags, not currently defined.. /// /// @return An XMP object cloned from the original. TXMPMeta Clone ( XMP_OptionBits options = 0 ) const; // --------------------------------------------------------------------------------------------- /// @brief \c CountArrayItems() reports the number of items currently defined in an array. /// /// @param schemaNS The namespace URI; see \c GetProperty(). /// /// @param arrayName The name of the array. Can be a general path expression, must not be null /// or the empty string; see \c GetProperty() for namespace prefix usage. /// /// @return The number of items. XMP_Index CountArrayItems ( XMP_StringPtr schemaNS, XMP_StringPtr arrayName ) const; // --------------------------------------------------------------------------------------------- /// @brief \c DumpObject() outputs the content of an XMP object to a callback handler for debugging. /// /// Invokes a client-defined callback for each line of output. /// /// @param outProc The client-defined procedure to handle each line of output. /// /// @param clientData A pointer to client-defined data to pass to the handler. /// /// @return A success-fail status value, returned from the handler. Zero is success, failure /// values are client-defined. /// /// @see Static functions \c DumpNamespaces() and \c DumpAliases() XMP_Status DumpObject ( XMP_TextOutputProc outProc, void * clientData ) const; // --------------------------------------------------------------------------------------------- /// @brief Not implemented XMP_OptionBits GetObjectOptions() const; // --------------------------------------------------------------------------------------------- /// \brief Not implemented void SetObjectOptions ( XMP_OptionBits options ); /// @} // ============================================================================================= XMPMetaRef xmpRef; // *** Should be private, see below. private: #if 0 // *** VS.Net and gcc seem to not handle the friend declarations properly. friend class TXMPIterator ; friend class TXMPUtils ; #endif }; // class TXMPMeta #endif // __TXMPMeta_hpp__ exiv2-0.25/xmpsdk/include/MD5.h0000664000175000017500000000303211060416347016002 0ustar andreasandreas#ifndef __MD5_h__ #define __MD5_h__ /* * This is the header file for the MD5 message-digest algorithm. * The algorithm is due to Ron Rivest. This code was * written by Colin Plumb in 1993, no copyright is claimed. * This code is in the public domain; do with it what you wish. * * Equivalent code is available from RSA Data Security, Inc. * This code has been tested against that, and is equivalent, * except that you don't need to include two pages of legalese * with every copy. * * To compute the message digest of a chunk of bytes, declare an * MD5_CTX structure, pass it to MD5Init, call MD5Update as * needed on buffers full of bytes, and then call MD5Final, which * will fill a supplied 16-byte array with the digest. * * Changed so as no longer to depend on Colin Plumb's `usual.h' * header definitions; now uses stuff from dpkg's config.h * - Ian Jackson . * Still in the public domain. */ #include #ifdef EXV_HAVE_STDINT_H # include #endif /* MSVC doesn't provide C99 types, but it has MS specific variants */ #ifdef _MSC_VER typedef unsigned __int32 uint32_t; #endif typedef unsigned char md5byte; typedef uint32_t UWORD32; struct MD5_CTX { UWORD32 buf[4]; UWORD32 bytes[2]; UWORD32 in[16]; }; extern void MD5Init(struct MD5_CTX *context); extern void MD5Update(struct MD5_CTX *context, md5byte const *buf, unsigned len); extern void MD5Final(unsigned char digest[16], struct MD5_CTX *context); extern void MD5Transform(UWORD32 buf[4], UWORD32 const in[16]); #endif exiv2-0.25/xmpsdk/include/XMP_Environment.h0000664000175000017500000001163012257444115020453 0ustar andreasandreas#ifndef __XMP_Environment_h__ #define __XMP_Environment_h__ 1 // ================================================================================================= // XMP_Environment.h - Build environment flags for the XMP toolkit. // ================================================================ // // This header is just C preprocessor macro definitions to set up the XMP toolkit build environment. // It must be the first #include in any chain since it might affect things in other #includes. // // ================================================================================================= // ================================================================================================= // Copyright 2002-2007 Adobe Systems Incorporated // All Rights Reserved. // // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms // of the Adobe license agreement accompanying it. // ================================================================================================= // ================================================================================================= // Determine the Platform // ====================== // One of MAC_ENV, WIN_ENV, or UNIX_ENV must be defined by the client. Since some other code // requires these to be defined without values, they are only used here to define XMP-specific // macros with 0 or 1 values. /* 20-Oct-07, ahu: Determine the platform, set the above defines accordingly. */ #if !defined(_FILE_OFFSET_BITS) #define _FILE_OFFSET_BITS 64 #endif #if defined __CYGWIN32__ && !defined __CYGWIN__ /* For backwards compatibility with Cygwin b19 and earlier, we define __CYGWIN__ here, so that we can rely on checking just for that macro. */ # define __CYGWIN__ __CYGWIN32__ #endif #if defined WIN32 && !defined __CYGWIN__ # define WIN_ENV 1 /* Todo: How to correctly recognize a Mac platform? */ #elif defined macintosh || defined MACOS_CLASSIC || defined MACOS_X_UNIX || defined MACOS_X || defined MACOS # define MAC_ENV 1 #else # define UNIX_ENV 1 #endif // ! Tempting though it might be to have a standard macro for big or little endian, there seems to // ! be no decent way to do that on our own in UNIX. Forcing it on the client isn't acceptable. #if defined ( MAC_ENV ) #if 0 // ! maybe someday - ! MAC_ENV #error "MAC_ENV must be defined so that \"#if MAC_ENV\" is true" #endif #if defined ( WIN_ENV ) || defined ( UNIX_ENV ) #error "XMP environment error - must define only one of MAC_ENV, WIN_ENV, or UNIX_ENV" #endif #define XMP_MacBuild 1 #define XMP_WinBuild 0 #define XMP_UNIXBuild 0 #elif defined ( WIN_ENV ) #if 0 // ! maybe someday - ! WIN_ENV #error "WIN_ENV must be defined so that \"#if WIN_ENV\" is true" #endif #if defined ( UNIX_ENV ) #error "XMP environment error - must define only one of MAC_ENV, WIN_ENV, or UNIX_ENV" #endif #define XMP_MacBuild 0 #define XMP_WinBuild 1 #define XMP_UNIXBuild 0 #elif defined ( UNIX_ENV ) #if 0 // ! maybe someday - ! UNIX_ENV #error "UNIX_ENV must be defined so that \"#if UNIX_ENV\" is true" #endif #define XMP_MacBuild 0 #define XMP_WinBuild 0 #define XMP_UNIXBuild 1 #else #error "XMP environment error - must define one of MAC_ENV, WIN_ENV, or UNIX_ENV" #endif // ================================================================================================= // Common Macros // ============= #if defined ( DEBUG ) #if defined ( NDEBUG ) #undef NDEBUG #warning #warning "XMP environment - DEBUG and NDEBUG defined. NDEBUG has been undefined" #warning #endif #define XMP_DebugBuild 1 #endif #if defined ( NDEBUG ) #define XMP_DebugBuild 0 #endif #ifndef XMP_DebugBuild #define XMP_DebugBuild 0 #endif #if XMP_DebugBuild #include // The assert macro needs printf. #endif #ifndef XMP_64 #if _WIN64 #define XMP_64 1 #else #define XMP_64 0 #endif #endif #define UNUSED(x) (void)(x) // ================================================================================================= // Macintosh Specific Settings // =========================== // ================================================================================================= // Windows Specific Settings // ========================= // ================================================================================================= // UNIX Specific Settings // ====================== // ================================================================================================= #endif // __XMP_Environment_h__ /* If you're using Solaris and the Solaris Studio compiler, then you really do need to use -library=stdcxx4 along with these inclusions below */ #if defined(OS_SOLARIS) #include #include #include #include #include #if defined(__cplusplus) #include #include #endif #endif exiv2-0.25/xmpsdk/CMakeLists.txt0000664000175000017500000000224612461076163016373 0ustar andreasandreas# CMake build system for exiv2 library and executables # Copyright 2012- Robin Mills # Copyright 2010-2012 Gilles Caulier # Copyright 2008 Patrick Spendrin # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. include(../CMake_msvc.txt) msvc_runtime_configure(${EXIV2_ENABLE_SHARED}) if( POLICY CMP0026 ) cmake_policy(SET CMP0026 OLD) # Something to do with location endif() FOREACH(_currentfile ${XMPSRC}) # http://www.openguru.com/2009/04/cmake-detecting-platformoperating.html IF(NOT MSVC AND NOT CYGWIN AND NOT MSYS) SET_SOURCE_FILES_PROPERTIES(${_currentfile} PROPERTIES COMPILE_FLAGS "-fPIC") ENDIF(NOT MSVC AND NOT CYGWIN AND NOT MSYS) ENDFOREACH() IF( EXIV2_ENABLE_XMP AND EXIV2_ENABLE_LIBXMP ) ADD_LIBRARY( xmp STATIC ${XMPSRC} ) GET_TARGET_PROPERTY( XMPLIB xmp LOCATION ) TARGET_LINK_LIBRARIES(xmp ${EXPAT_LIBRARIES}) # SET( XMPLIB ${XMPLIB} PARENT_SCOPE ) # INSTALL(TARGETS xmp ${INSTALL_TARGET_STANDARD_ARGS} ) ENDIF() # That's all Folks! ## exiv2-0.25/cm.bat0000775000175000017500000000351611745675227013432 0ustar andreasandreas@echo off setlocal rem ---------------------------- rem Work in progress - not ready for production use rem ---------------------------- rem ---------------------------- rem cm - wrapper script for CMake rem http://www.dostips.com/ goto:afterSyntax rem ------------------------------- rem Functions :Syntax echo useage: cm [ clean ^| unix ^| 2003 ^| 2005 ^| 2008 ^| 2010 [64]] "option"+ goto:eof :afterSyntax rem ---------------------------- rem test command args set "G=%1" shift rem [option: 32|Win32|x64|64] set Q= set "P=%1" if DEFINED P shift IF NOT DEFINED P set P=x if (%P%)==(x64) set P=64 if (%P%)==(64) set Q=64 if (%P%)==(Win32) set P=32 if (%P%)==(32) set Q=32 if (%P%)==(x) set P= if DEFINED Q set P= rem ---------------------------- rem figure out the generator (G) if NOT DEFINED G ( call:Syntax goto:jail ) if "%G%"=="7" set G=2003 if "%G%"=="8" set G=2005 if "%G%"=="9" set G=2008 if "%G%"=="10" set G=2010 if "%G%"=="2003" set "G=Visual Studio 7 .NET 2003" if "%G%"=="2005" set "G=Visual Studio 8 2005" if "%G%"=="2008" set "G=Visual Studio 9 2008" if "%G%"=="2010" set "G=Visual Studio 10" if (%Q%)==(64) set "G=%G% Win64" rem ---------------------------- rem Cleanup from last time set C=CMakeCache.txt set D=CMakeFiles set X=xmdpsk set Y=cmake_install.cmake if EXIST %C% del %C% if EXIST %D% rmdir/s/q %D% if EXIST %X%\%C% del %X%\%C% if EXIST %X%\%D% rmdir/s/q %X%\%D% if EXIST %Y% del/s cmake_*.cmake >NUL rem ---------------------------- rem really execute cmake if NOT "%G%"=="clean" ( rem echo.--------------------------------- echo cmake CMakeLists.txt -G "%G%" %P% %1 %2 %3 %4 %5 cmake CMakeLists.txt -G "%G%" %P% %1 %2 %3 %4 %5 ) rem ---------------------------- rem cleanup and finish :jail endlocal goto:eof rem That's All Folks! rem exiv2-0.25/contrib/0000775000175000017500000000000012541547732013765 5ustar andreasandreasexiv2-0.25/contrib/makeUniversal0000775000175000017500000000152511744161045016515 0ustar andreasandreas#!/bin/bash ## # makeUniversal - combine .i386 and .x86_64 build results into .libs # this script is called by buildForMac ## ## # search for directories called .x86_64 # run every file and lipo .x86_64/file .x86_64/file -> .libs/file for D in $(find . -name ".x86_64"); do for F in $(find $(dirname $D)/.x86_64 -type f); do f=$(echo $F | sed -E -e "s/.x86_64/.i386/") U=$(echo $F | sed -E -e "s/.x86_64/.libs/") if [[ -e $f && -e $F ]]; then # echo $F $f -> $U lipo -arch i386 $f -arch x86_64 $F -create -output $U if [ $? != '0' ]; then echo FAILED lipo -arch i386 $f -arch x86_64 $F -create -output $U else eval $(stat -s $U) s=$(printf "%10s" ${st_size}) echo $(lipo -info $U|sed -E -e "s/Architectures in the fat file://" -e "s/ are://" -e "s#$U##" ) "$s" $U fi fi done done # That's all Folks! ## exiv2-0.25/contrib/organize/0000775000175000017500000000000012541547732015603 5ustar andreasandreasexiv2-0.25/contrib/organize/helpers.cpp0000664000175000017500000004023611154700466017750 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2009 Brad Schick * * This file is part of the organize tool. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: helpers.cpp Version: $Rev: 1762 $ Author(s): Brad Schick (brad) History: 19-Jan-09, brad: created */ // ***************************************************************************** #include #include #include #include #include #include #include #include #include //#include #include #include #include #include "helpers.hpp" #define BOOST_FILESYSTEM_NO_DEPRECATED namespace fs = boost::filesystem; typedef Exiv2::ExifData::const_iterator (*EasyAccessFct)(const Exiv2::ExifData& ed); std::string scrub(const std::string &dirty, bool strip_space = false) { std::string scrub = boost::trim_copy(dirty); if(strip_space) { boost::regex space("\\s"); scrub = boost::regex_replace(scrub, space, ""); } boost::regex dash("[:/\\\\|<>]"); boost::regex under("[\"'\\[\\]\\{\\}#=%\\$\\?,\\+\\*]"); scrub = boost::regex_replace(scrub, dash, "-"); return boost::regex_replace(scrub, under, "_"); } bool exif_data(const Exiv2::Image *image, const char *key, Exiv2::ExifData::const_iterator &md) { assert(image && key); bool ok = false; try { const Exiv2::ExifData &exifData = image->exifData(); Exiv2::ExifKey exifKey(key); md = exifData.findKey(exifKey); if(md != exifData.end() && md->typeId() != Exiv2::undefined) ok = true; } catch(const Exiv2::AnyError&) { } return ok; } bool exif_data_easy(const Exiv2::Image *image, EasyAccessFct easy, Exiv2::ExifData::const_iterator &md) { assert(image && easy); bool ok = false; try { const Exiv2::ExifData &exifData = image->exifData(); md = easy(exifData); if(md != exifData.end() && md->typeId() != Exiv2::undefined) ok = true; } catch(const Exiv2::AnyError&) { } return ok; } bool iptc_data(const Exiv2::Image *image, const char *key, Exiv2::IptcData::const_iterator &md) { bool ok = false; assert(image && key); try { const Exiv2::IptcData &iptcData = image->iptcData(); Exiv2::IptcKey iptcKey(key); md = iptcData.findKey(iptcKey); if(md != iptcData.end() && md->typeId() != Exiv2::undefined) ok = true; } catch(const Exiv2::AnyError&) { } return ok; } std::string exif_date(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data(image, "Exif.Photo.DateTimeDigitized", md); if(!done) done = exif_data(image, "Exif.Photo.DateTimeOriginal", md); if(!done) return ""; std::string date = scrub(md->print().substr(0,10)); // Some files have zeros for dates, just fail in that case if(boost::lexical_cast(date.substr(0,4))==0) return ""; return date; } std::string exif_year(const Exiv2::Image *image, const fs::path &path) { std::string date = exif_date(image, path); if(date.length()) return date.substr(0,4); else return date; } std::string exif_month(const Exiv2::Image *image, const fs::path &path) { std::string date = exif_date(image, path); if(date.length()) return date.substr(5,2); else return date; } std::string exif_day(const Exiv2::Image *image, const fs::path &path) { std::string date = exif_date(image, path); if(date.length()) return date.substr(8,2); else return date; } bool iptc_get_date(const Exiv2::Image *image, Exiv2::DateValue::Date &date) { Exiv2::IptcData::const_iterator md; bool done = iptc_data(image, "Iptc.Application2.DigitizationDate", md); if(!done) done = iptc_data(image, "Iptc.Application2.DateCreated", md); if(!done) return false; date = ((Exiv2::DateValue*)md->getValue().get())->getDate(); return date.year > 0; } std::string iptc_date(const Exiv2::Image *image, const fs::path &) { Exiv2::DateValue::Date date; if(iptc_get_date(image, date)) return str(boost::format("%4d-%02d-%02d") % date.year % date.month % date.day); else return ""; } std::string iptc_year(const Exiv2::Image *image, const fs::path &) { Exiv2::DateValue::Date date; if(iptc_get_date(image, date)) return str(boost::format("%4d") % date.year); else return ""; } std::string iptc_month(const Exiv2::Image *image, const fs::path &) { Exiv2::DateValue::Date date; if(iptc_get_date(image, date)) return str(boost::format("%02d") % date.month); else return ""; } std::string iptc_day(const Exiv2::Image *image, const fs::path &) { Exiv2::DateValue::Date date; if(iptc_get_date(image, date)) return str(boost::format("%02d") % date.day); else return ""; } bool file_get_tm(const fs::path &path, std::tm &tm) { std::time_t timer = fs::last_write_time(path); if(time > 0) { tm = *localtime(&timer); return true; } else { return false; } } std::string file_date(const Exiv2::Image *, const fs::path &path) { std::tm tm; if(file_get_tm(path, tm)) return str(boost::format("%4d-%02d-%02d") % (tm.tm_year + 1900) % (tm.tm_mon + 1) % tm.tm_mday); else return ""; } std::string file_year(const Exiv2::Image *, const fs::path &path) { std::tm tm; if(file_get_tm(path, tm)) return str(boost::format("%4d") % (tm.tm_year + 1900)); else return ""; } std::string file_month(const Exiv2::Image *, const fs::path &path) { std::tm tm; if(file_get_tm(path, tm)) return str(boost::format("%02d") % (tm.tm_mon + 1)); else return ""; } std::string file_day(const Exiv2::Image *, const fs::path &path) { std::tm tm; if(file_get_tm(path, tm)) return str(boost::format("%02d") % tm.tm_mday); else return ""; } /* std::string xmp_date(const Exiv2::Image *image, const fs::path &) { return ""; } std::string xmp_year(const Exiv2::Image *image, const fs::path &) { return ""; } std::string xmp_month(const Exiv2::Image *image, const fs::path &) { return ""; } std::string xmp_day(const Exiv2::Image *image, const fs::path &) { return ""; }*/ std::string exif_time(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data(image, "Exif.Photo.DateTimeDigitized", md); if(!done) done = exif_data(image, "Exif.Photo.DateTimeOriginal", md); if(!done) return ""; std::string datetime = md->print(); // Some files have zeros for dates, just fail in that case if(boost::lexical_cast(datetime.substr(0,4)) == 0) return ""; return scrub(datetime.substr(11)); } std::string exif_hour(const Exiv2::Image *image, const fs::path &path) { std::string time = exif_time(image, path); if(time.length()) return time.substr(0,2); else return time; } std::string exif_minute(const Exiv2::Image *image, const fs::path &path) { std::string time = exif_time(image, path); if(time.length()) return time.substr(3,2); else return time; } std::string exif_second(const Exiv2::Image *image, const fs::path &path) { std::string time = exif_time(image, path); if(time.length()) return time.substr(6,2); else return time; } bool iptc_get_time(const Exiv2::Image *image, Exiv2::TimeValue::Time &time) { Exiv2::IptcData::const_iterator md; bool done = iptc_data(image, "Iptc.Application2.DigitizationTime", md); if(!done) done = iptc_data(image, "Iptc.Application2.TimeCreated", md); if(!done) return false; time = ((Exiv2::TimeValue*)md->getValue().get())->getTime(); // Zero is a valid time, so this one is hard to check. return true; } std::string iptc_time(const Exiv2::Image *image, const fs::path &) { Exiv2::TimeValue::Time time; if(iptc_get_time(image, time)) return str(boost::format("%02d-%02d-%02d") % time.hour % time.minute % time.second); else return ""; } std::string iptc_hour(const Exiv2::Image *image, const fs::path &) { Exiv2::TimeValue::Time time; if(iptc_get_time(image, time)) return str(boost::format("%02d") % time.hour); else return ""; } std::string iptc_minute(const Exiv2::Image *image, const fs::path &) { Exiv2::TimeValue::Time time; if(iptc_get_time(image, time)) return str(boost::format("%02d") % time.minute); else return ""; } std::string iptc_second(const Exiv2::Image *image, const fs::path &) { Exiv2::TimeValue::Time time; if(iptc_get_time(image, time)) return str(boost::format("%02d") % time.second); else return ""; } std::string file_time(const Exiv2::Image *, const fs::path &path) { std::tm tm; if(file_get_tm(path, tm)) return str(boost::format("%02d-%02d-%02d") % tm.tm_hour % tm.tm_min % tm.tm_sec); else return ""; } std::string file_hour(const Exiv2::Image *, const fs::path &path) { std::tm tm; if(file_get_tm(path, tm)) return str(boost::format("%02d") % tm.tm_hour); else return ""; } std::string file_minute(const Exiv2::Image *, const fs::path &path) { std::tm tm; if(file_get_tm(path, tm)) return str(boost::format("%02d") % tm.tm_min); else return ""; } std::string file_second(const Exiv2::Image *, const fs::path &path) { std::tm tm; if(file_get_tm(path, tm)) return str(boost::format("%02d") % tm.tm_sec); else return ""; } /*std::string xmp_time(const Exiv2::Image *image, const fs::path &) { return ""; } std::string xmp_hour(const Exiv2::Image *image, const fs::path &) { return ""; } std::string xmp_minute(const Exiv2::Image *image, const fs::path &) { return ""; } std::string xmp_second(const Exiv2::Image *image, const fs::path &) { return ""; }*/ std::string exif_dimension(const Exiv2::Image *image, const fs::path &path) { return exif_width(image, path) + "-" + exif_height(image, path); } std::string exif_width(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data(image, "Exif.Photo.PixelXDimension", md); if(!done) return ""; return scrub(md->print()); } std::string exif_height(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data(image, "Exif.Photo.PixelYDimension", md); if(!done) return ""; return scrub(md->print()); } std::string file_dimension(const Exiv2::Image *image, const fs::path &path) { if(image) return file_width(image, path) + "-" + file_height(image, path); else return ""; } std::string file_width(const Exiv2::Image *image, const fs::path &) { if(image) return str(boost::format("%02d") % image->pixelWidth()); else return ""; } std::string file_height(const Exiv2::Image *image, const fs::path &) { if(image) return str(boost::format("%02d") % image->pixelHeight()); else return ""; } /* std::string xmp_dimension(const Exiv2::Image *image, const fs::path &) { return "" } std::string xmp_width(const Exiv2::Image *image, const fs::path &) { return ""; } std::string xmp_height(const Exiv2::Image *image, const fs::path &) { return ""; }*/ std::string exif_model(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data(image, "Exif.Image.Model", md); if(!done) return ""; return scrub(md->print()); } std::string exif_make(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data(image, "Exif.Image.Make", md); if(!done) return ""; return scrub(md->print()); } /*std::string xmp_model(const Exiv2::Image *image, const fs::path &) { return ""; }*/ std::string exif_speed(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data(image, "Exif.Photo.ShutterSpeedValue", md); if(!done) done = exif_data(image, "Exif.Photo.ExposureTime", md); if(!done) return ""; return scrub(md->print()); } /*std::string xmp_speed(const Exiv2::Image *image, const fs::path &) { return ""; }*/ std::string exif_aperture(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data(image, "Exif.Photo.ApertureValue", md); if(!done) done = exif_data(image, "Exif.Photo.FNumber", md); if(!done) return ""; return scrub(md->print()); } /*std::string xmp_aperture(const Exiv2::Image *image, const fs::path &) { return ""; }*/ std::string exif_focal(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data(image, "Exif.Photo.FocalLength", md); if(!done) return ""; return scrub(md->print()); } /*std::string xmp_focal(const Exiv2::Image *image, const fs::path &) { return ""; }*/ std::string exif_distance(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data(image, "Exif.Photo.SubjectDistance", md); if(!done) return ""; return scrub(md->print()); } /*std::string xmp_distance(const Exiv2::Image *image, const fs::path &) { return ""; }*/ std::string exif_meter(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data(image, "Exif.Photo.MeteringMode", md); if(!done) return ""; return scrub(md->print()); } std::string exif_macro(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data_easy(image, Exiv2::macroMode, md); if(!done) return ""; return scrub(md->print()); } std::string exif_orientation(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data_easy(image, Exiv2::orientation, md); if(!done) return ""; return scrub(md->print(), true); } std::string exif_lens(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data_easy(image, Exiv2::lensName, md); if(!done) return ""; return scrub(md->print()); } std::string exif_iso(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data_easy(image, Exiv2::isoSpeed, md); if(!done) return ""; return scrub(md->print()); } /*std::string xmp_meter(const Exiv2::Image *image, const fs::path &) { return ""; }*/ std::string exif_keyword(const Exiv2::Image *image, const fs::path &) { Exiv2::ExifData::const_iterator md; bool done = exif_data(image, "Exif.Photo.UserComment", md); if(!done) return ""; return scrub(md->print()); } std::string iptc_keyword(const Exiv2::Image *image, const fs::path &) { Exiv2::IptcData::const_iterator md; bool done = iptc_data(image, "Iptc.Application2.Keywords", md); if(!done) return ""; return scrub(md->print()); } /*std::string xmp_keyword(const Exiv2::Image *image, const fs::path &) { return ""; }*/ exiv2-0.25/contrib/organize/README0000664000175000017500000000024711141017140016442 0ustar andreasandreasorganize uses the Boost library (http://www.boost.org). Configuration settings for Boost are in the file boost.mk in this directory and should be changed as required. exiv2-0.25/contrib/organize/work/0000775000175000017500000000000012541547732016565 5ustar andreasandreasexiv2-0.25/contrib/organize/work/exiv2/0000775000175000017500000000000012541547732017622 5ustar andreasandreasexiv2-0.25/contrib/organize/work/exiv2/contrib/0000775000175000017500000000000012541547732021262 5ustar andreasandreasexiv2-0.25/contrib/organize/work/exiv2/contrib/organize/0000775000175000017500000000000012541547732023100 5ustar andreasandreasexiv2-0.25/contrib/organize/work/exiv2/contrib/organize/organize.cpp0000664000175000017500000000000012173342407025401 0ustar andreasandreasexiv2-0.25/contrib/organize/organize.cpp0000664000175000017500000007212012467000312020110 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2009 Brad Schick * * This file is part of the organize tool. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: organize.cpp Version: $Rev: 3603 $ Author(s): Brad Schick (brad) History: 19-Jan-09, brad: created */ // ***************************************************************************** #include #include #include #include #include #include #include #include #include #include #include #include #include "MD5.h" #include "helpers.hpp" typedef Exiv2::byte md5digest[16]; namespace po = boost::program_options; bool g_verbose = false; bool g_neednewline = false; // Array size should match number of SLOTs boost::array g_run_order = {{-1, -1, -1, -1}}; const int EXIF_SLOT = 0; const int IPTC_SLOT = 1; const int XMP_SLOT = 2; const int FILE_SLOT = 3; const unsigned DOT_EVERY = 55; struct Pattern { std::string pat; std::string desc; pfunc funcs[4]; // order should always be exif, iptc, xmp, file }; struct PathPart { std::string pre; const Pattern *pat; std::string post; PathPart(std::string pre_, const Pattern *pat_, std::string post_) : pre(pre_), pat(pat_), post(post_) {} }; std::vector g_path_parts; // Instead of making these all global struct ProcessParams { const fs::path &dest_dir; const bool dry_run; const bool ignore_dups; const bool ignore_unsorted; const bool force; const bool rename; const bool symlink; const bool verify; const bool move; const long limit_depth; const fs::path &dups_dir; const fs::path &unsorted_dir; const std::vector &excludes; unsigned dups_count; unsigned unsorted_count; unsigned dir_err_count; unsigned file_err_count; unsigned ok_count; unsigned dups_ignored_count; unsigned unsorted_ignored_count; unsigned dir_ex_count; unsigned file_ex_count; }; void process_directory(const fs::path &directory, const long depth, ProcessParams ¶ms); const Pattern g_patterns[] = { {"@date", "date captured (2009-01-19)", {exif_date, iptc_date, NULL, file_date} }, {"@year", "year captured (2009)", {exif_year, iptc_year, NULL, file_year} }, {"@month", "month captured (01)", {exif_month, iptc_month, NULL, file_month} }, {"@day", "day captured (19)", {exif_day, iptc_day, NULL, file_day} }, {"@time", "time captured (14-35-27)", {exif_time, iptc_time, NULL, file_time} }, {"@hour", "hour captured (14)", {exif_hour, iptc_hour, NULL, file_hour} }, {"@min", "minute captured (35)", {exif_minute, iptc_minute, NULL, file_minute} }, {"@sec", "second captured (27)", {exif_second, iptc_second, NULL, file_second} }, {"@dim", "pixel dimension (2272-1704)", {exif_dimension, NULL, NULL, file_dimension} }, {"@x", "pixel width (2272)", {exif_width, NULL, NULL, file_width} }, {"@y", "pixel height (1704)", {exif_height, NULL, NULL, file_height} }, {"@make", "device make (Canon)", {exif_make, NULL, NULL, NULL} }, {"@model", "device model (Canon PowerShot S40)", {exif_model, NULL, NULL, NULL} }, {"@speed", "shutter speed (1-60)", {exif_speed, NULL, NULL, NULL} }, {"@aper", "aperture (F3.2)", {exif_aperture, NULL, NULL, NULL} }, {"@iso", "iso speed (400)", {exif_iso, NULL, NULL, NULL} }, {"@focal", "focal length (8.6 mm)", {exif_focal, NULL, NULL, NULL} }, {"@dist", "subject distance (1.03 m)", {exif_distance, NULL, NULL, NULL} }, {"@meter", "meter mode (multi-segment)", {exif_meter, NULL, NULL, NULL} }, {"@macro", "macro mode (Off)", {exif_macro, NULL, NULL, NULL} }, {"@orient", "orientation (top_left)", {exif_orientation, NULL, NULL, NULL} }, {"@lens", "lens name (Tamron 90mm f-2.8)", {exif_lens, NULL, NULL, NULL} }, {"@key", "first keyword (Family)", {exif_keyword, iptc_keyword, NULL, NULL} }, {"", "", {NULL, NULL, NULL, NULL} } }; // Check that 'opt1' and 'opt2' are not specified at the same time. void conflicting(const po::variables_map& vm, const char* opt1, const char* opt2) { if (vm.count(opt1) && !vm[opt1].defaulted() && vm.count(opt2) && !vm[opt2].defaulted()) { throw std::logic_error(std::string("conflicting options '") + opt1 + "' and '" + opt2 + "'"); } } // Check that 'required' is present void required(const po::variables_map& vm, const char* required) { if (!vm.count(required) || vm[required].defaulted()) { throw std::logic_error(std::string("required parameter '") + required + "' is missing"); } } void info(const std::string &msg) { if(g_verbose) { std::cout << msg << "\n"; g_neednewline = false; } } void error(const std::exception &e, const std::string &msg) { if(g_neednewline) { std::cout << "\n"; g_neednewline = false; } std::cerr << e.what() << "\n"; std::cerr << msg << std::endl; } void usage_header(const char* exname) { std::cout << "Usage: " << exname << " [options] source-dir dest-dir pattern\n"; } void usage_full(const po::options_description &options, const char* exname) { usage_header(exname); std::cout << "\n Creates groups of files in new directories defined by a metadata 'pattern'.\n" << " Files are copied, moved, or linked from 'source-dir' to 'dest-dir'.\n" << " The destination directory should not be within the source directory.\n\n"; std::cout << options; std::cout << "\nPattern values:\n"; for( const Pattern *pattern = g_patterns; pattern->pat.length(); ++pattern) { std::cout << " " << std::setw(8) << std::left << pattern->pat; std::cout << pattern->desc << "\n"; } std::cout << "\nExamples:\n"; std::cout << " `" << exname << " -m mess clean @year-@month'\n"; std::cout << " Moves files from 'mess' into directories of 'clean' according to\n" << " year-month the file was captured (clean/2006-11/...)\n\n"; std::cout << " `" << exname << " -o ie source find width-@x/height-@y'\n"; std::cout << " Copies files into directories according first to pixel width then pixel\n" << " height. Check iptc then exif metadata (find/width-2272/height-1704/...)\n\n"; std::cout << " `" << exname << " -lf source find @aper/@hour'\n"; std::cout << " Force create symlinks in directories according first to aperture then\n" << " hour captured (find/F3.2/15/...)\n"; std::cout << std::endl; } void version() { std::cout << "organized 0.1\n" << "Copyright (C) 2009 Brad Schick. \n\n" << "This program is free software; you can redistribute it and/or\n" "modify it under the terms of the GNU General Public License\n" "as published by the Free Software Foundation; either version 2\n" "of the License, or (at your option) any later version.\n" "\n" "This program is distributed in the hope that it will be useful,\n" "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" "GNU General Public License for more details.\n" "\n" "You should have received a copy of the GNU General Public\n" "License along with this program; if not, write to the Free\n" "Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301 USA" << std::endl; } // Returns empty string if the destination subdirectory could not be determined // for the supplied source file. std::string build_dest(const fs::path &source_file) { std::string dest; Exiv2::Image::AutoPtr image; try { image = Exiv2::ImageFactory::open(source_file.string()); image->readMetadata(); } catch(const Exiv2::AnyError&) { // No metadata, let things continue to try file info } std::vector::iterator iter = g_path_parts.begin(); std::vector::iterator end = g_path_parts.end(); for( ; iter != end; ++iter) { dest += iter->pre; std::string result; const Pattern *pat = iter->pat; for(unsigned fx = 0; fx < g_run_order.size(); ++fx) { if(g_run_order[fx] != -1 && pat->funcs[g_run_order[fx]]) { if(g_run_order[fx] == FILE_SLOT) { // Always run file operations result = pat->funcs[g_run_order[fx]](image.get(), source_file); } else if(image.get()) { // No point in running metadata operations without an image result = pat->funcs[g_run_order[fx]](image.get(), source_file); } if(result.length()) break; } } // If we found no data, even for part of pattern, give up and // return no destination if(!result.length()) return result; dest += (result + iter->post); } return dest; } bool md5sum(const fs::path &path, md5digest &digest) { try { Exiv2::FileIo io(path.string()); if (io.open() != 0) return false; Exiv2::IoCloser closer(io); Exiv2::byte buff[4096]; MD5_CTX context; MD5Init(&context); long read_count = io.read(buff, 4096); while(read_count) { MD5Update(&context, buff, read_count); read_count = io.read(buff, 4096); } MD5Final(digest, &context); return true; } catch (std::exception& ) { return false; } } int main(int argc, char* argv[]) { po::options_description options("Options"); // Don't use default values because the help print it ugly and too wide options.add_options() ("move,m", "move files rather than copy") ("symlink,s", "symlink files rather than copy (posix only)") ("order,o", po::value(), "order and types of metadata to read\ne=exif, i=iptc, f=file (default: eif)") ("unsorted,u", po::value(), "special directory to store unsorted files (default: unsorted)") ("dups,d", po::value(), "special directory to store files with duplicate names (default: duplicates)") ("force,f", "overwrite duplicate files instead of using special directory") ("rename,r", "rename duplicate files instead of using special directory") ("ignore,i", "ignore both unsorted and duplicate files instead of using special directories") ("ignore-unsorted", "ignore unsorted files instead of using special directory") ("ignore-dups", "ignore duplicate files instead of using special directory") ("verify", "verify copied or moved files and exit if incorrect") ("exclude,x", po::value< std::vector >(), "exclude directories and files that contain arg (case sensitive on all platforms)") ("limit-depth,l", po::value(), "limit recursion to specified depth (0 disables recursion)") ("verbose,v", "prints operations as they happen") ("dry-run,n", "do not make actual changes (implies verbose)") ("help,h", "show this help message then exit") ("version,V", "show program version then exit") ; po::options_description hidden("Hidden Options"); hidden.add_options() ("source-dir", po::value< std::string >(), "directory of files to organize, may end in file wildcard") ("dest-dir", po::value< std::string >(), "designation directory for files, may not be within source-dir") ("pattern", po::value< std::string >(), "subdirectory pattern for grouping files within dest-dir") ; po::options_description cmdline; cmdline.add(options).add(hidden); po::positional_options_description positional; positional.add("source-dir", 1); positional.add("dest-dir", 1); positional.add("pattern", 1); try { po::variables_map vm; po::store(po::command_line_parser(argc, argv). options(cmdline).positional(positional).run(), vm); po::notify(vm); if (vm.count("help")) { usage_full(options, argv[0]); return 0; } if (vm.count("version")) { version(); return 0; } conflicting(vm, "verify", "symlink"); conflicting(vm, "move", "symlink"); conflicting(vm, "unsorted", "ignore"); conflicting(vm, "unsorted", "ignore-unsorted"); conflicting(vm, "dups", "ignore"); conflicting(vm, "dups", "ignore-dups"); conflicting(vm, "force", "ignore"); conflicting(vm, "force", "ignore-dups"); conflicting(vm, "force", "rename"); conflicting(vm, "rename", "ignore"); conflicting(vm, "rename", "ignore-dups"); required(vm, "source-dir"); required(vm, "dest-dir"); required(vm, "pattern"); const bool dry_run = vm.count("dry-run") != 0; g_verbose = (vm.count("verbose") != 0 || dry_run); std::string order = "eif"; if(vm.count("order")) { order = vm["order"].as(); boost::to_lower(order); if(order.length() > 3) { throw std::logic_error(std::string("order is longer than 4 characters")); } } unsigned i = 0; std::string::iterator end = order.end(); for(std::string::iterator iter = order.begin(); iter != end && i < 4; ++iter, ++i) { switch(*iter) { case 'e': g_run_order[i] = EXIF_SLOT; break; case 'i': g_run_order[i] = IPTC_SLOT; break; case 'x': throw std::logic_error(std::string("xmp not implemented yet '") + *iter + "'"); break; case 'f': g_run_order[i] = FILE_SLOT; break; default: throw std::logic_error(std::string("unknown order character '") + *iter + "'"); } } const fs::path source_dir( vm["source-dir"].as() ); if( !exists(source_dir) || !is_directory(source_dir) ) { throw std::logic_error(std::string("source '") + source_dir.string() + "' must exist and be a directory"); } const fs::path dest_dir( vm["dest-dir"].as() ); if( exists(dest_dir) && !is_directory(dest_dir) ) { throw std::logic_error(std::string("destination '") + dest_dir.string() + "' must be a directory"); } // Boost doesn't seem to have a way to get a canonical path, so this // simple test is easy to confuse with some ../../'s in the paths. Oh // well, this is good enough for now. fs::path test_dest(dest_dir); for(; !test_dest.empty(); test_dest = test_dest.parent_path()) { if(fs::equivalent(source_dir, test_dest)) { throw std::logic_error(std::string("dest-dir must not be within source-dir")); } } // Disect the pattern std::string pattern = vm["pattern"].as(); boost::regex regex( "([^@]*)(@[[:alpha:]]+)([^@]*)"); boost::sregex_iterator m_iter = make_regex_iterator(pattern, regex); boost::sregex_iterator m_end; for( ; m_iter != m_end; ++m_iter) { const boost::smatch &match = *m_iter; const std::string &pre = match[1]; const std::string &pat = match[2]; const std::string &post = match[3]; // Should put this in a map, but there aren't that many options now bool found = false; for( const Pattern *pattern = g_patterns; pattern->pat.length(); ++pattern) { if(pattern->pat == pat) { PathPart part(pre, pattern, post); g_path_parts.push_back(part); found = true; break; } } if(!found) { throw std::logic_error(std::string("unknown pattern '") + pat + "'"); } } // Assign defaults to params that need them const bool ignore = vm.count("ignore") != 0; std::vector excludes; if(vm.count("exclude")) excludes = vm["exclude"].as< std::vector >(); long limit_depth = LONG_MAX; if(vm.count("limit-depth")) { limit_depth = vm["limit-depth"].as(); // Boost program_options doesn't work with unsigned, so do it manually if( limit_depth < 0 ) throw std::logic_error(std::string("recursion depth limit must be positive")); } std::string dups = "duplicates"; if(vm.count("dups")) dups = vm["dups"].as(); const fs::path dups_dir = dest_dir / dups; std::string unsorted = "unsorted"; if(vm.count("unsorted")) unsorted = vm["unsorted"].as(); const fs::path unsorted_dir = dest_dir / unsorted; ProcessParams params = { dest_dir, dry_run, (vm.count("ignore-dups") != 0 || ignore), (vm.count("ignore-unsorted") != 0 || ignore), vm.count("force") != 0, vm.count("rename") != 0, vm.count("symlink") != 0, vm.count("verify") != 0, vm.count("move") != 0, limit_depth, dups_dir, unsorted_dir, excludes, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; process_directory(source_dir, 0, params); std::string op = "copied"; if(params.symlink) op = "linked"; else if(params.move) op = "moved"; if(dry_run) op = std::string("would be ") + op; if(g_neednewline) std::cout << "\n"; std::cout << "\n" << params.ok_count << " files " << op << "\n"; std::cout << " " << params.dups_count << " duplicates\n"; std::cout << " " << params.unsorted_count << " unsorted\n"; if(params.dups_ignored_count) std::cout << params.dups_ignored_count << " duplicates ignored\n"; if(params.unsorted_ignored_count) std::cout << params.unsorted_ignored_count << " unsorted ignored\n"; if(params.dir_ex_count) std::cout << params.dir_ex_count << " directories excluded\n"; if(params.file_ex_count) std::cout << params.file_ex_count << " files excluded\n"; if(params.dir_err_count) std::cout << params.dir_err_count << " directory errors\n"; if(params.file_err_count) std::cout << params.file_err_count << " file errors\n"; return 0; } catch (Exiv2::AnyError& e) { error(e, std::string("Aborting")); return -1; } catch(std::logic_error& e) { error(e, ""); usage_header(argv[0]); std::cout << argv[0] << " -h for more help" << std::endl; return -2; } catch(std::exception& e) { error(e, "Aborting"); return -3; } } boost::regex uregex("(.*?)\\(([[:digit:]]{1,2})\\)$"); fs::path uniquify(const fs::path &dest) { std::string ext = dest.extension().string(); std::string fname = dest.stem().string(); fs::path parent = dest.parent_path(); unsigned number = 1; std::string newfname; fs::path newdest; boost::smatch match; if(boost::regex_search(fname, match, uregex)) { // Matches are indexes into fname, so don't change it while reading values newfname = match[1]; number = boost::lexical_cast(match[2]); fname = newfname; } do { newfname = fname + "(" + boost::lexical_cast(++number) + ")" + ext; newdest = parent / newfname; } while(fs::exists(newdest)); return newdest; } void process_directory(const fs::path &directory, const long depth, ProcessParams ¶ms) { // Exclude entire directories bool exclude = false; std::vector::const_iterator x_iter = params.excludes.begin(); std::vector::const_iterator x_end = params.excludes.end(); for( ; x_iter != x_end; ++x_iter ) { if(boost::contains(directory.string(), *x_iter)) { exclude = true; break; } } if(exclude) { info(std::string("excluding directory: ") + directory.string() + " matched: " + *x_iter); ++params.dir_ex_count; return; } try { fs::directory_iterator p_iter(directory), p_end; for( ; p_iter != p_end; ++p_iter) { if( is_directory(*p_iter) ) { // recurse if we haven't hit the limit if(depth < params.limit_depth) process_directory(p_iter->path(), depth + 1, params); else { info(std::string("depth reached, skipping: ") + p_iter->path().string()); } } else if( is_regular_file(*p_iter) ) { // Check again for excluding file names exclude = false; x_iter = params.excludes.begin(); for( ; x_iter != x_end; ++x_iter ) { if(boost::contains(p_iter->path().string(), *x_iter)) { exclude = true; break; } } if(exclude) { info(std::string("excluding file: ") + p_iter->path().string() + " matched: " + *x_iter); ++params.file_ex_count; continue; } try { const fs::path dest_subdir = build_dest(*p_iter); fs::path dest_file; if(!dest_subdir.empty()) dest_file = params.dest_dir / dest_subdir; else if(params.ignore_unsorted) { info(std::string("ignoring unsorted: ") + p_iter->path().string()); ++params.unsorted_ignored_count; continue; } else { info(std::string("unsorted file (missing metadata): ") + p_iter->path().string()); dest_file = params.unsorted_dir; ++params.unsorted_count; } dest_file /= p_iter->path().filename(); if(fs::exists(dest_file)) { if(params.ignore_dups) { info(std::string("ignoring: ") + p_iter->path().string() + " duplicates: " + dest_file.string()); ++params.dups_ignored_count; continue; } else { if(params.force) { info(std::string("force removing: ") + dest_file.string() + " for: " + p_iter->path().string()); if(!params.dry_run) fs::remove(dest_file); } else if(params.rename) { info(std::string("renaming: ") + p_iter->path().string() + " duplicates: " + dest_file.string()); dest_file = uniquify(dest_file); } else { info(std::string("duplicate file: ") + p_iter->path().string() + " of: " + dest_file.string()); dest_file = params.dups_dir / dest_subdir / p_iter->path().filename(); // Ugh, more dup possibilities if(fs::exists(dest_file)) { info(std::string("renaming: ") + p_iter->path().string() + " duplicates: " + dest_file.string()); dest_file = uniquify(dest_file); } } ++params.dups_count; } } if(!params.dry_run) fs::create_directories(dest_file.parent_path()); if(params.symlink) { info(std::string("linking from: ") + p_iter->path().string() + " to: " + dest_file.string()); if(!params.dry_run) { // The target of a symlink must be either absolute (aka complete) or // relative to the location of the link. Easiest solution is to make // a complete path. fs::path target; if(p_iter->path().is_complete()) target = p_iter->path(); else target = fs::initial_path() / p_iter->path(); fs::create_symlink(target, dest_file); } } else { info(std::string("copying from: ") + p_iter->path().string() + " to: " + dest_file.string()); if(!params.dry_run) { // Copy the file and restore its write time (needed for posix) std::time_t time = fs::last_write_time(*p_iter); fs::copy_file(*p_iter, dest_file); fs::last_write_time(dest_file, time); if(params.verify) { md5digest src_digest, dst_digest; bool ok = md5sum(p_iter->path(), src_digest); if(ok) ok = md5sum(dest_file, dst_digest); if(ok) ok = (memcmp(src_digest,dst_digest, sizeof(md5digest))==0); if(!ok) { // Should probably find a more appropriate exception for this throw std::runtime_error(std::string("File verification failed: '") + p_iter->path().string() + "' differs from '" + dest_file.string() + "'"); } else { info(std::string("verification passed")); } } } } if(params.move) { info(std::string("removing: ") + p_iter->path().string()); if(!params.dry_run) fs::remove(*p_iter); } if(!g_verbose && (params.ok_count % DOT_EVERY)==0) { std::cout << "." << std::flush; g_neednewline = true; } ++params.ok_count; } catch(fs::filesystem_error& e) { error(e, std::string("skipping file: " + p_iter->path().string())); ++params.file_err_count; } } } } catch(fs::filesystem_error& e) { error(e, std::string("skipping directory: " + directory.string())); ++params.dir_err_count; } } exiv2-0.25/contrib/organize/Makefile0000664000175000017500000001042612521135474017240 0ustar andreasandreas# ************************************************************* -*- Makefile -*- # # Copyright (C) 2004-2015 Andreas Huggel # # This Makefile is part of the Exiv2 distribution. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials provided # with the distribution. # 3. The name of the author may not be used to endorse or promote # products derived from this software without specific prior # written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # File: Makefile # Version: $Rev: 3777 $ # Author(s): Andreas Huggel (ahu) # History: 31-Jan-09, ahu: created # # Description: # Simple Makefile to build the organize application. Requires installed # exiv2 library and headers. Adapted from samples/Makefile. # # Restrictions: # Requires GNU make. # # ****************************************************************************** # Default make target all: ozbin # Include system configuration top_srcdir = ../.. include $(top_srcdir)/config/config.mk include boost.mk # ****************************************************************************** # Source files # Source files for the organize application OZMAIN = organize.cpp OZSRC = helpers.cpp MD5.cpp # ****************************************************************************** # Initialisations SHELL = /bin/sh .SUFFIXES: .SUFFIXES: .c .cpp .o .so .PRECIOUS: %.cpp CPPFLAGS := -I$(BOOST_INC_DIR) `pkg-config exiv2 --cflags` ifdef HAVE_STDINT CPPFLAGS += -DEXV_HAVE_STDINT_H=1 endif LDFLAGS := $(BOOST_LIBS) `pkg-config exiv2 --libs` OZOBJ = $(OZSRC:.cpp=.o) $(OZMAIN:.cpp=.o) OZBIN = $(OZMAIN:.cpp=) OZEXE = $(OZMAIN:.cpp=$(EXEEXT)) ifdef DEP_TRACKING DEP = $(OZMAIN:%.cpp=$(DEPDIR)/%.d) $(OZSRC:%.cpp=$(DEPDIR)/%.d) endif # ****************************************************************************** # Rules ozbin: $(OZBIN) $(OZOBJ): %.o: %.cpp $(COMPILE.cc) -o $@ $< @$(MAKEDEPEND) @$(POSTDEPEND) %.ii: %.cpp set -e; \ $(CXXCPP) -E $(CPPFLAGS) $< | sed '/^[ ]*$$/d' > $@ # ****************************************************************************** # Targets .PHONY: all ozbin relink binclean install uninstall mostlyclean clean distclean maintainer-clean ifdef DEP_TRACKING # Include targets from dependency files -include $(DEP) endif $(OZBIN): $(OZOBJ) $(LIBTOOL) --mode=link $(LINK.cc) -o $@ $(OZOBJ) relink: binclean organize install: $(INSTALL_DIRS) $(DESTDIR)$(bindir) @$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $(OZEXE) $(DESTDIR)$(bindir)/$(OZEXE) uninstall: @$(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(bindir)/$(OZEXE) -rmdir $(DESTDIR)$(bindir) # Remove binaries, e.g., to relink them binclean: $(RM) $(OZEXE) mostlyclean: $(RM) core $(RM) $(OZMAIN:.cpp=.ii) $(OZSRC:.cpp=.ii) $(RM) $(OZMAIN:%.cpp=.libs/%.d) $(OZSRC:%.cpp=.libs/%.d) -rmdir .libs $(RM) $(OZOBJ) clean: binclean mostlyclean # Run `make distclean' from the top source directory to also remove # files created by configuring the program. distclean: clean ifdef DEP_TRACKING $(RM) $(DEP) -rmdir $(DEPDIR) endif $(RM) *~ *.bak *# # This command is intended for maintainers to use; it deletes files # that may need special tools to rebuild. maintainer-clean: uninstall distclean exiv2-0.25/contrib/organize/boost.mk0000664000175000017500000000052111141017140017234 0ustar andreasandreas# Boost configuration for organize - change paths and library names as needed BOOST_INC_DIR = /usr/local/include/boost-1_37 BOOST_LIBS = /usr/local/lib/libboost_system-gcc43-mt-1_37.a /usr/local/lib/libboost_filesystem-gcc43-mt-1_37.a /usr/local/lib/libboost_regex-gcc43-mt-1_37.a /usr/local/lib/libboost_program_options-gcc43-mt-1_37.a exiv2-0.25/contrib/organize/helpers.hpp0000664000175000017500000001360211154700466017752 0ustar andreasandreas// ***************************************************************** -*- C++ -*- /* * Copyright (C) 2009 Brad Schick * * This file is part of the organize tool. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA. */ /* File: helpers.hpp Version: $Rev: 1762 $ Author(s): Brad Schick (brad) History: 19-Jan-09, brad: created */ // ***************************************************************************** #ifndef HELPERS_HPP_ #define HELPERS_HPP_ #include #define BOOST_FILESYSTEM_NO_DEPRECATED namespace fs = boost::filesystem; typedef std::string (*pfunc)(const Exiv2::Image *image, const fs::path &path); // This would be a lot smaller if Exiv2 had support // for unified metadata std::string exif_date(const Exiv2::Image *image, const fs::path &path); std::string exif_year(const Exiv2::Image *image, const fs::path &path); std::string exif_month(const Exiv2::Image *image, const fs::path &path); std::string exif_day(const Exiv2::Image *image, const fs::path &path); std::string iptc_date(const Exiv2::Image *image, const fs::path &path); std::string iptc_year(const Exiv2::Image *image, const fs::path &path); std::string iptc_month(const Exiv2::Image *image, const fs::path &path); std::string iptc_day(const Exiv2::Image *image, const fs::path &path); std::string file_date(const Exiv2::Image *image, const fs::path &path); std::string file_year(const Exiv2::Image *image, const fs::path &path); std::string file_month(const Exiv2::Image *image, const fs::path &path); std::string file_day(const Exiv2::Image *image, const fs::path &path); /*std::string xmp_date(const Exiv2::Image *image, const fs::path &path); std::string xmp_year(const Exiv2::Image *image, const fs::path &path); std::string xmp_month(const Exiv2::Image *image, const fs::path &path); std::string xmp_day(const Exiv2::Image *image, const fs::path &path);*/ std::string exif_time(const Exiv2::Image *image, const fs::path &path); std::string exif_hour(const Exiv2::Image *image, const fs::path &path); std::string exif_minute(const Exiv2::Image *image, const fs::path &path); std::string exif_second(const Exiv2::Image *image, const fs::path &path); std::string iptc_time(const Exiv2::Image *image, const fs::path &path); std::string iptc_hour(const Exiv2::Image *image, const fs::path &path); std::string iptc_minute(const Exiv2::Image *image, const fs::path &path); std::string iptc_second(const Exiv2::Image *image, const fs::path &path); std::string file_time(const Exiv2::Image *image, const fs::path &path); std::string file_hour(const Exiv2::Image *image, const fs::path &path); std::string file_minute(const Exiv2::Image *image, const fs::path &path); std::string file_second(const Exiv2::Image *image, const fs::path &path); /*std::string xmp_time(const Exiv2::Image *image, const fs::path &path); std::string xmp_hour(const Exiv2::Image *image, const fs::path &path); std::string xmp_minute(const Exiv2::Image *image, const fs::path &path); std::string xmp_second(const Exiv2::Image *image, const fs::path &path);*/ std::string exif_dimension(const Exiv2::Image *image, const fs::path &path); std::string exif_width(const Exiv2::Image *image, const fs::path &path); std::string exif_height(const Exiv2::Image *image, const fs::path &path); std::string file_dimension(const Exiv2::Image *image, const fs::path &path); std::string file_width(const Exiv2::Image *image, const fs::path &path); std::string file_height(const Exiv2::Image *image, const fs::path &path); /*std::string xmp_dimension(const Exiv2::Image *image, const fs::path &path); std::string xmp_width(const Exiv2::Image *image, const fs::path &path); std::string xmp_height(const Exiv2::Image *image, const fs::path &path);*/ std::string exif_model(const Exiv2::Image *image, const fs::path &path); std::string exif_make(const Exiv2::Image *image, const fs::path &path); /*std::string xmp_model(const Exiv2::Image *image, const fs::path &path); std::string xmp_make(const Exiv2::Image *image, const fs::path &path);*/ std::string exif_speed(const Exiv2::Image *image, const fs::path &path); //std::string xmp_speed(const Exiv2::Image *image, const fs::path &path); std::string exif_aperture(const Exiv2::Image *image, const fs::path &path); //std::string xmp_aperture(const Exiv2::Image *image, const fs::path &path); std::string exif_focal(const Exiv2::Image *image, const fs::path &path); //std::string xmp_focal(const Exiv2::Image *image, const fs::path &path); std::string exif_distance(const Exiv2::Image *image, const fs::path &path); //std::string xmp_distance(const Exiv2::Image *image, const fs::path &path); std::string exif_meter(const Exiv2::Image *image, const fs::path &path); //std::string xmp_meter(const Exiv2::Image *image, const fs::path &path); std::string exif_macro(const Exiv2::Image *image, const fs::path &path); std::string exif_orientation(const Exiv2::Image *image, const fs::path &path); std::string exif_lens(const Exiv2::Image *image, const fs::path &path); std::string exif_keyword(const Exiv2::Image *image, const fs::path &path); std::string iptc_keyword(const Exiv2::Image *image, const fs::path &path); //std::string xmp_keyword(const Exiv2::Image *image, const fs::path &path); std::string exif_iso(const Exiv2::Image *image, const fs::path &path); #endif //HELPERS_HPP_ exiv2-0.25/contrib/organize/MD5.h0000664000175000017500000000303211141017140016313 0ustar andreasandreas#ifndef __MD5_h__ #define __MD5_h__ /* * This is the header file for the MD5 message-digest algorithm. * The algorithm is due to Ron Rivest. This code was * written by Colin Plumb in 1993, no copyright is claimed. * This code is in the public domain; do with it what you wish. * * Equivalent code is available from RSA Data Security, Inc. * This code has been tested against that, and is equivalent, * except that you don't need to include two pages of legalese * with every copy. * * To compute the message digest of a chunk of bytes, declare an * MD5_CTX structure, pass it to MD5Init, call MD5Update as * needed on buffers full of bytes, and then call MD5Final, which * will fill a supplied 16-byte array with the digest. * * Changed so as no longer to depend on Colin Plumb's `usual.h' * header definitions; now uses stuff from dpkg's config.h * - Ian Jackson . * Still in the public domain. */ #include #ifdef EXV_HAVE_STDINT_H # include #endif /* MSVC doesn't provide C99 types, but it has MS specific variants */ #ifdef _MSC_VER typedef unsigned __int32 uint32_t; #endif typedef unsigned char md5byte; typedef uint32_t UWORD32; struct MD5_CTX { UWORD32 buf[4]; UWORD32 bytes[2]; UWORD32 in[16]; }; extern void MD5Init(struct MD5_CTX *context); extern void MD5Update(struct MD5_CTX *context, md5byte const *buf, unsigned len); extern void MD5Final(unsigned char digest[16], struct MD5_CTX *context); extern void MD5Transform(UWORD32 buf[4], UWORD32 const in[16]); #endif exiv2-0.25/contrib/organize/MD5.cpp0000664000175000017500000001651111141017140016654 0ustar andreasandreas/* * This code implements the MD5 message-digest algorithm. * The algorithm is due to Ron Rivest. This code was * written by Colin Plumb in 1993, no copyright is claimed. * This code is in the public domain; do with it what you wish. * * Equivalent code is available from RSA Data Security, Inc. * This code has been tested against that, and is equivalent, * except that you don't need to include two pages of legalese * with every copy. * * To compute the message digest of a chunk of bytes, declare an * MD5_CTX structure, pass it to MD5Init, call MD5Update as * needed on buffers full of bytes, and then call MD5Final, which * will fill a supplied 16-byte array with the digest. * * Changed so as no longer to depend on Colin Plumb's `usual.h' header * definitions; now uses stuff from dpkg's config.h. * - Ian Jackson . * Still in the public domain. */ #include #include "MD5.h" using namespace std; static void byteSwap(UWORD32 *buf, unsigned words) { const uint32_t byteOrderTest = 0x1; if (((char *)&byteOrderTest)[0] == 0) { md5byte *p = (md5byte *)buf; do { *buf++ = (UWORD32)((unsigned)p[3] << 8 | p[2]) << 16 | ((unsigned)p[1] << 8 | p[0]); p += 4; } while (--words); } } /* * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious * initialization constants. */ void MD5Init(struct MD5_CTX *ctx) { ctx->buf[0] = 0x67452301; ctx->buf[1] = 0xefcdab89; ctx->buf[2] = 0x98badcfe; ctx->buf[3] = 0x10325476; ctx->bytes[0] = 0; ctx->bytes[1] = 0; } /* * Update context to reflect the concatenation of another buffer full * of bytes. */ void MD5Update(struct MD5_CTX *ctx, md5byte const *buf, unsigned len) { UWORD32 t; /* Update byte count */ t = ctx->bytes[0]; if ((ctx->bytes[0] = t + len) < t) ctx->bytes[1]++; /* Carry from low to high */ t = 64 - (t & 0x3f); /* Space available in ctx->in (at least 1) */ if (t > len) { memcpy((md5byte *)ctx->in + 64 - t, buf, len); return; } /* First chunk is an odd size */ memcpy((md5byte *)ctx->in + 64 - t, buf, t); byteSwap(ctx->in, 16); MD5Transform(ctx->buf, ctx->in); buf += t; len -= t; /* Process data in 64-byte chunks */ while (len >= 64) { memcpy(ctx->in, buf, 64); byteSwap(ctx->in, 16); MD5Transform(ctx->buf, ctx->in); buf += 64; len -= 64; } /* Handle any remaining bytes of data. */ memcpy(ctx->in, buf, len); } /* * Final wrapup - pad to 64-byte boundary with the bit pattern * 1 0* (64-bit count of bits processed, MSB-first) */ void MD5Final(md5byte digest[16], struct MD5_CTX *ctx) { int count = ctx->bytes[0] & 0x3f; /* Number of bytes in ctx->in */ md5byte *p = (md5byte *)ctx->in + count; /* Set the first char of padding to 0x80. There is always room. */ *p++ = 0x80; /* Bytes of padding needed to make 56 bytes (-8..55) */ count = 56 - 1 - count; if (count < 0) { /* Padding forces an extra block */ memset(p, 0, count + 8); byteSwap(ctx->in, 16); MD5Transform(ctx->buf, ctx->in); p = (md5byte *)ctx->in; count = 56; } memset(p, 0, count); byteSwap(ctx->in, 14); /* Append length in bits and transform */ ctx->in[14] = ctx->bytes[0] << 3; ctx->in[15] = ctx->bytes[1] << 3 | ctx->bytes[0] >> 29; MD5Transform(ctx->buf, ctx->in); byteSwap(ctx->buf, 4); memcpy(digest, ctx->buf, 16); memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */ } /* The four core functions - F1 is optimized somewhat */ /* #define F1(x, y, z) (x & y | ~x & z) */ #define F1(x, y, z) (z ^ (x & (y ^ z))) #define F2(x, y, z) F1(z, x, y) #define F3(x, y, z) (x ^ y ^ z) #define F4(x, y, z) (y ^ (x | ~z)) /* This is the central step in the MD5 algorithm. */ #define MD5STEP(f,w,x,y,z,in,s) \ (w += f(x,y,z) + in, w = (w<>(32-s)) + x) /* * The core of the MD5 algorithm, this alters an existing MD5 hash to * reflect the addition of 16 longwords of new data. MD5Update blocks * the data and converts bytes into longwords for this routine. */ void MD5Transform(UWORD32 buf[4], UWORD32 const in[16]) { register UWORD32 a, b, c, d; a = buf[0]; b = buf[1]; c = buf[2]; d = buf[3]; MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7); MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12); MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17); MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22); MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7); MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12); MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17); MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22); MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7); MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12); MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17); MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22); MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7); MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12); MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17); MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22); MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5); MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9); MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14); MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20); MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5); MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9); MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14); MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20); MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5); MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9); MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14); MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20); MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5); MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9); MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14); MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20); MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4); MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11); MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16); MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23); MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4); MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11); MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16); MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23); MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4); MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11); MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16); MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23); MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4); MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11); MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16); MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23); MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6); MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10); MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15); MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21); MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6); MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10); MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15); MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21); MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6); MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10); MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15); MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21); MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6); MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10); MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15); MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21); buf[0] += a; buf[1] += b; buf[2] += c; buf[3] += d; } exiv2-0.25/contrib/diffeps0000775000175000017500000000056611613276470015337 0ustar andreasandreas#!/bin/sh if [ "$#" -ne 2 ] ; then echo "Usage: $0 file1.eps file2.eps" exit 1 fi suffix='0a8baf61-6321-4899-86e8-8bf9ebd002b3' sed 's/\r$//; s/$//; s/\r/\n/g' < "$1" > "$1.$suffix" sed 's/\r$//; s/$//; s/\r/\n/g' < "$2" > "$2.$suffix" diff -a -u "$1.$suffix" "$2.$suffix" exitcode="$?" rm -f "$1.$suffix" "$2.$suffix" exit "$exitcode" exiv2-0.25/contrib/buildForMac0000775000175000017500000000276111744124202016073 0ustar andreasandreas#!/bin/bash ## # buildForMac # example: contrib/buildForMac --[dis|en]able-shared # ## ## # test OS level (L=9 SL==10 Lion = 11, ML=12) LION="" let os=$(uname -a | cut -d' ' -f 3 | cut -d'.' -f 1) if [ $(( os >= 11 )) ]; then LION="--with-zlib=/usr/lib" fi if [ ! -d contrib ]; then echo "you are in the wrong directory - please run $0 in the main directory (which includes contrib and src)" exit 1 fi if [ ! -e configure ]; then make config ; fi if [ -z $TARGET ]; then export TARGET="MACOSX_DEPLOYMENT_TARGET=10.5" ; fi # version=$(grep EXIV2_LTVERSION config/config.mk | cut "-d " -f 3 | cut -d: -f 1) # lib=libexiv2.$version.dylib build() { make clean ./configure CFLAGS="$arch" CXXFLAGS="$arch" LDFLAGS="$arch -L${PWD}/xmpsdk/src" OBJCFLAGS="$arch" OBJCXXFLAGS="$arch" $TARGET $LION "$@" make CFLAGS="$arch" CXXFLAGS="$arch" LDFLAGS="$arch -L${PWD}/xmpsdk/src" OBJCFLAGS="$arch" OBJCXXFLAGS="$arch" $TARGET all # make CFLAGS="$arch" CXXFLAGS="$arch" LDFLAGS="$arch -L${PWD}/xmpsdk/src" OBJCFLAGS="$arch" OBJCXXFLAGS="$arch" $TARGET samples if [ "$?" != "0" ]; then echo build failed exit fi } ## # build one architecture at a time for arch in '-arch i386' '-arch x86_64' ; do echo arch = $arch a=${arch:6:100} build "$@" ## # copy .libs to .arch for d in $(find . -name ".libs" -type d); do D=$(dirname $d)/.$a ditto $d $D done done ## # combine the builds into a universal $(dirname $0)/makeUniversal # That's all Folks! ## exiv2-0.25/contrib/coverity.sh0000775000175000017500000000340112540475074016164 0ustar andreasandreas#!/bin/sh # Copyright (c) 2013-2015, Gilles Caulier, # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # # Before to run this script you must set these shell variable : # $EXIVCoverityToken with token of Exiv2 project given by Coverity SCAN # $EXIVCoverityEmail with email adress to send SCAN result. # # Coverity Scan bin dir must be appended to PATH variable. # # See this url to see how to prepare your computer with Coverity SCAN tool: # http://scan.coverity.com/projects/297/upload_form cd .. # Manage build sub-dir if [ -d "build.cmake" ]; then rm -rfv ./build.cmake fi if [[ "$OSTYPE" == "linux-gnu" ]]; then ./bootstrap.linux elif [[ "$OSTYPE" == "darwin"* ]]; then ./bootstrap.macports else echo "Unsupported platform..." exit -1 fi # Get active svn branch path to create SCAN import description string svn info | grep "URL" | sed '/svn/{s/.*\(svn.*\)/\1/};' > ./build.cmake/svn_branch.txt desc=$( /dev/null echo "Done. Coverity Scan tarball 'myproject.tgz' is uploaded and ready for analyse." echo "That took approximately $SECONDS seconds to upload." exiv2-0.25/contrib/createEpsTestfiles0000775000175000017500000000122611625345747017516 0ustar andreasandreas#!/bin/sh set -eu if [ "$#" -ne 1 ]; then echo "Usage: $0 BASENAME" exit 1 fi set -x bin=../../../src $bin/exiv2 -V exiv2version="`$bin/exiv2 -V | sed -n '1 s,^exiv2 [^ ]* \([^ ]*\).*,\1,p'`" rm -f $1.xmp $bin/exiv2 -f -eX $1.eps cp $1.eps $1.eps.delxmp if $bin/exiv2 -dx $1.eps.delxmp; then sed -i "s,%Exiv2Version: $exiv2version,%Exiv2Version: _Exiv2Version_," $1.eps.delxmp else rm -f $1.eps.delxmp fi cp $1.eps $1.eps.newxmp cp eps-test-newxmp.exv $1.eps.exv if $bin/exiv2 -ix $1.eps.newxmp; then sed -i "s,%Exiv2Version: $exiv2version,%Exiv2Version: _Exiv2Version_," $1.eps.newxmp else rm -f $1.eps.newxmp fi rm -f $1.eps.exv exiv2-0.25/CMakeLists.txt0000664000175000017500000002361712537570005015070 0ustar andreasandreas# CMake build system for exiv2 library and executables # Copyright 2012- Robin Mills # Copyright 2010-2012 Gilles Caulier # Copyright 2008 Patrick Spendrin # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. ## # Running cmake in a tree in which we have run ./configure ; make # creates include/exiv2/exv_conf.h which conflicts with cmake's own exv_conf.h # This causes incorrect compilation and linking errors. # # It's OK to delete this as it will be recreated on demand by /Makefile if( EXISTS "${CMAKE_SOURCE_DIR}/include/exiv2/exv_conf.h" ) file(REMOVE "${CMAKE_SOURCE_DIR}/include/exiv2/exv_conf.h") endif() ## CMAKE_MINIMUM_REQUIRED( VERSION 2.8.12 ) PROJECT( exiv2 ) if( POLICY CMP0042 ) cmake_policy(SET CMP0042 NEW) # enable MACOSX_RPATH support else() SET(CMAKE_MACOSX_RPATH 1) endif() SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") SET( PACKAGE_COPYRIGHT "Andreas Huggel" ) SET( PACKAGE_BUGREPORT "ahuggel@gmx.net" ) SET( PACKAGE "exiv2" ) SET( PACKAGE_NAME "exiv2" ) SET( PACKAGE_STRING "exiv2 0.25" ) SET( PACKAGE_TARNAME "exiv2" ) SET( PACKAGE_VERSION "0.25" ) SET( PACKAGE_URL "http://www.exiv2.org" ) SET( GENERIC_LIB_VERSION "14.0.0" ) SET( GENERIC_LIB_SOVERSION "14" ) # options and their default values OPTION( EXIV2_ENABLE_SHARED "Build exiv2 as a shared library (dll)" ON ) OPTION( EXIV2_ENABLE_XMP "Build with XMP metadata support" ON ) OPTION( EXIV2_ENABLE_LIBXMP "Build a static convenience Library for XMP" ON ) OPTION( EXIV2_ENABLE_VIDEO "Build with video support" OFF ) OPTION( EXIV2_ENABLE_PNG "Build with png support (requires libz)" ON ) OPTION( EXIV2_ENABLE_NLS "Build native language support (requires gettext)" ON ) OPTION( EXIV2_ENABLE_PRINTUCS2 "Build with Printucs2" ON ) OPTION( EXIV2_ENABLE_LENSDATA "Build including lens data" ON ) OPTION( EXIV2_ENABLE_COMMERCIAL "Build with the EXV_COMMERCIAL_VERSION symbol set" OFF ) OPTION( EXIV2_ENABLE_BUILD_SAMPLES "Build the unit tests" ON ) OPTION( EXIV2_ENABLE_BUILD_PO "Build translations files" OFF ) OPTION( EXIV2_ENABLE_VIDEO "Build video support into library" OFF ) OPTION( EXIV2_ENABLE_WEBREADY "Build webready support into library" OFF ) OPTION( EXIV2_ENABLE_CURL "USE Libcurl for HttpIo" ON ) OPTION( EXIV2_ENABLE_SSH "USE Libssh for SshIo" ON ) IF( MINGW OR UNIX ) IF ( CMAKE_CXX_COMPILER STREQUAL "g++" OR CMAKE_C_COMPILER STREQUAL "gcc" ) ADD_DEFINITIONS(-Wall -Wcast-align -Wpointer-arith -Wformat-security -Wmissing-format-attribute -Woverloaded-virtual -W ) ENDIF() ENDIF( MINGW OR UNIX ) INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/ ${CMAKE_SOURCE_DIR}/include/ ${CMAKE_SOURCE_DIR}/include/exiv2/) if( MSVC ) # cmake_policy(SET CMP0008) include(CMake_msvc.txt) msvc_runtime_report() msvc_runtime_configure(${EXIV2_ENABLE_SHARED}) msvc_runtime_report() ADD_DEFINITIONS(-DPSAPI_VERSION=1) # to be compatible with <= WinVista (#905) set(E expat-2.1.0) set(Z zlib-1.2.7) set(C curl-7.39.0) set(C libssh-0.5.5) if( NOT IS_DIRECTORY ./../${E} ) set(OUT_OF_SOURCE 1) endif() # link dependent libraries FIND_PACKAGE(EXPAT QUIET) if ( NOT EXPAT_LIBRARY ) set(EXPAT_LIBRARY ${CMAKE_SOURCE_DIR}/../${E}/$(ConfigurationName)/expat) set(EXPAT_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/../${E}/lib) include_directories( ${EXPAT_INCLUDE_DIR} msvc64\\include src\\include) endif() FIND_PACKAGE(CURL) if ( NOT CURL_FOUND ) set(CURL_LIBRARY ${CMAKE_SOURCE_DIR}/../${C}/$(ConfigurationName)/curl) set(CURL_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/../${C}) include_directories( ${CURL_INCLUDE_DIR}) endif() # FIND_PACKAGE(SSH) if ( NOT SSH_FOUND ) set(SSH_LIBRARY ${CMAKE_SOURCE_DIR}/../${C}/$(ConfigurationName)/ssh) set(SSH_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/../${C}) include_directories( ${SSH_INCLUDE_DIR}) endif() FIND_PACKAGE(ZLIB QUIET) if ( NOT ZLIB_FOUND ) set(ZLIB_LIBRARY ${CMAKE_SOURCE_DIR}/../${Z}/$(ConfigurationName)/zlib) set(ZLIB_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/../${Z}) endif() include_directories(${ZLIB_INCLUDE_DIR}) if ( EXIV2_ENABLE_SHARED ) add_library(${E} SHARED IMPORTED) add_library(${Z} SHARED IMPORTED) endif() ## # Set the output directory # x64/Win32 if( CMAKE_SIZEOF_VOID_P MATCHES 8 ) SET( P_DIR x64) else() set( P_DIR Win32 ) endif() # DLL/static build if( EXIV2_ENABLE_SHARED ) set( T_DIR Dynamic ) else() set( T_DIR Static) endif() set(B_DIR ${PROJECT_BINARY_DIR}/bin/${P_DIR}/${T_DIR}) set(CMAKE_CURRENT_BINARY_DIR ${B_DIR}) set(EXECUTABLE_OUTPUT_PATH ${B_DIR}) set(LIBRARY_OUTPUT_PATH ${B_DIR}) endif( MSVC ) IF( EXIV2_ENABLE_XMP ) SET( HAVE_XMP_TOOLKIT ON ) SET( XMPLIB "do" ) ENDIF( EXIV2_ENABLE_XMP ) INCLUDE( config/CMakeChecks.txt ) SET( INSTALL_TARGET_STANDARD_ARGS RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") ## # add sources from XMPSDK directory # this needs to be done here to be visible to xmpsdk, src and sample sub directories SET( XMPSRC ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/ExpatAdapter.cpp ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/MD5.cpp ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/ParseRDF.cpp ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/UnicodeConversions.cpp ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/WXMPIterator.cpp ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/WXMPMeta.cpp ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/WXMPUtils.cpp ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/XML_Node.cpp ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/XMPCore_Impl.cpp ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/XMPIterator.cpp ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/XMPMeta-GetSet.cpp ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/XMPMeta-Parse.cpp ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/XMPMeta-Serialize.cpp ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/XMPMeta.cpp ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/XMPUtils-FileInfo.cpp ${CMAKE_CURRENT_SOURCE_DIR}/xmpsdk/src/XMPUtils.cpp ) # the following lines need to be added to circumvent the error in xmpsdk\src\MD5.h IF( ${EXV_HAVE_STDINT_H} ) ADD_DEFINITIONS( -DEXV_HAVE_STDINT_H ) ENDIF( ${EXV_HAVE_STDINT_H} ) FIND_PACKAGE(Subversion QUIET) SET(SVN_REVISION "0") IF(SUBVERSION_FOUND) IF(EXISTS "${CMAKE_SOURCE_DIR}/.svn") Subversion_WC_INFO(${PROJECT_SOURCE_DIR} svnExiv2) SET(SVN_REVISION "${svnExiv2_WC_REVISION}") ENDIF() ENDIF() CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/src/svn_version.h.in ${CMAKE_CURRENT_SOURCE_DIR}/src/svn_version.h @ONLY) MESSAGE(STATUS "SVN version: ${SVN_REVISION}") IF( NOT MSVC ) # Issue #722: out of source builds compiled against standard include files such as /usr/local/lib/include/exiv2 # do not use CREATE_SYMLINK or CMAKE_CAN_SYMLINK as they don't work on CYGWIN EXECUTE_PROCESS( WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/src exiv2) IF( EXIV2_ENABLE_BUILD_SAMPLES ) EXECUTE_PROCESS( WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/samples COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/src exiv2) ENDIF( EXIV2_ENABLE_BUILD_SAMPLES ) IF( EXIV2_ENABLE_BUILD_PO ) EXECUTE_PROCESS( WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/po COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/src exiv2) ENDIF( EXIV2_ENABLE_BUILD_PO ) ENDIF() ADD_SUBDIRECTORY( xmpsdk ) ADD_SUBDIRECTORY( src ) IF( EXIV2_ENABLE_BUILD_SAMPLES ) ADD_SUBDIRECTORY( samples ) ENDIF( EXIV2_ENABLE_BUILD_SAMPLES ) IF( EXIV2_ENABLE_BUILD_PO ) ADD_SUBDIRECTORY( po ) ENDIF( EXIV2_ENABLE_BUILD_PO ) ## # tests ADD_CUSTOM_TARGET(tests COMMAND make test "EXIV2_BINDIR=${CMAKE_BINARY_DIR}/bin" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/test/" ) ADD_CUSTOM_TARGET(teste COMMAND make teste "EXIV2_BINDIR=${CMAKE_BINARY_DIR}/bin" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/test/" ) ADD_CUSTOM_TARGET(testv COMMAND make testv "EXIV2_BINDIR=${CMAKE_BINARY_DIR}/bin" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/test/" ) ADD_CUSTOM_TARGET(testvw COMMAND make testvw "EXIV2_BINDIR=${CMAKE_BINARY_DIR}/bin" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/test/" ) ADD_CUSTOM_TARGET(testx COMMAND make testx "EXIV2_BINDIR=${CMAKE_BINARY_DIR}/bin" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/test/" ) ## # http://dev.exiv2.org/boards/3/topics/1364 # effectively does a make doc on the root directory # has to run 'make config' and './configure' # and copy bin/taglist to /bin/taglist for use by 'make doc' IF( MINGW OR UNIX OR APPLE) ADD_CUSTOM_TARGET(doc WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/doc" COMMAND chmod +x ./cmake_doc.sh COMMAND ./cmake_doc.sh "${CMAKE_BINARY_DIR}" ) ENDIF() ## # support for test suite TODO: fixup for MSVC and think a bit more before deploying this # ENABLE_TESTING() # INCLUDE(Dart) # ADD_TEST(tests bash -c "cd ${CMAKE_SOURCE_DIR}/test/ ; make EXIV2_BINDIR=${CMAKE_BINARY_DIR}/bin" ) # That's all Folks! ## exiv2-0.25/CMake_msvc.txt0000664000175000017500000000470511762756175015113 0ustar andreasandreas## # msvc tuning macros macro(msvc_runtime_set_static_ignores bDynamic) if(MSVC) # don't link msvcrt for .exe which use shared libraries (use default libcmt) if ( ${bDynamic} STREQUAL "OFF" ) set(CMAKE_EXE_LINKER_FLAGS_DEBUG "/NODEFAULTLIB:MSVCRTD") set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/NODEFAULTLIB:MSVCRT") set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "/NODEFAULTLIB:MSVCRT") set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "/NODEFAULTLIB:MSVCRT") endif() endif() endmacro() # http://stackoverflow.com/questions/10113017/setting-the-msvc-runtime-in-cmake macro(msvc_runtime_configure bDynamic) if(MSVC) set(variables CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELWITHDEBINFO ) if( ${bDynamic} STREQUAL "ON" ) message(STATUS "MSVC -> forcing use of dynamically-linked runtime." ) foreach(variable ${variables}) if(${variable} MATCHES "/MT") string(REGEX REPLACE "/MT" "/MD" ${variable} "${${variable}}") endif() endforeach() else() message(STATUS "MSVC -> forcing use of statically-linked runtime." ) foreach(variable ${variables}) if(${variable} MATCHES "/MD") string(REGEX REPLACE "/MD" "/MT" ${variable} "${${variable}}") endif() set(${variable} "${${variable}} /DXML_STATIC /D_LIB") endforeach() endif() # remove /Ob2 and /Ob1 - they cause linker issues set(obs /Ob2 /Ob1) foreach(ob ${obs}) foreach(variable ${variables}) if(${variable} MATCHES ${ob} ) string(REGEX REPLACE ${ob} "" ${variable} "${${variable}}") endif() endforeach() endforeach() msvc_runtime_set_static_ignores(${bDynamic}) endif() endmacro() macro(msvc_runtime_report) if(MSVC) set(variables CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELWITHDEBINFO # CMAKE_C_LINK_EXECUTABLE ) message(STATUS "Build flags:") foreach(variable ${variables}) message(STATUS " '${variable}': ${${variable}}") endforeach() message(STATUS "") endif() endmacro() # That's all Folks! ##